@chatpanel/events 0.290.0 → 0.329.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 (53) hide show
  1. package/agent-card-view.js +1 -1
  2. package/agent-permission.js +2 -2
  3. package/agent-session-open.js +1 -0
  4. package/agent-thread.js +5 -0
  5. package/attached-paths.js +1 -1
  6. package/browser-relay.js +1 -1
  7. package/client-prefs.js +1 -1
  8. package/clock.js +1 -0
  9. package/compaction.js +4 -4
  10. package/context-select.js +2 -0
  11. package/context-window.js +1 -1
  12. package/dialect-a2a.js +1 -1
  13. package/dialect-claude.js +1 -1
  14. package/digest.js +7 -0
  15. package/entitlement.js +1 -1
  16. package/fetched.js +2 -2
  17. package/find-tool.js +1 -1
  18. package/harness-cards.js +1 -1
  19. package/history-search.js +6 -6
  20. package/identity.js +1 -0
  21. package/index.js +1 -1
  22. package/kokoro-text.js +1 -1
  23. package/link-connect.js +1 -1
  24. package/link-protocol.js +1 -1
  25. package/link-routes.js +2 -0
  26. package/link-sync.js +5 -0
  27. package/memory.js +2 -2
  28. package/model-candidates.js +1 -1
  29. package/note-merge.js +9 -9
  30. package/note-tool.js +2 -2
  31. package/own-instructions.js +5 -0
  32. package/package.json +25 -1
  33. package/prefetch.js +4 -2
  34. package/provider-presets.js +1 -1
  35. package/research.js +7 -7
  36. package/retrieval-plan.js +1 -0
  37. package/sandbox-policy.js +1 -1
  38. package/search-modes.js +6 -6
  39. package/service-standby.js +1 -0
  40. package/settings-registry.js +1 -1
  41. package/stitch.js +16 -14
  42. package/thread-send.js +1 -0
  43. package/tool-group-data.js +1 -1
  44. package/tool-hints.js +4 -4
  45. package/tool-hub.js +4 -4
  46. package/tool-need.js +3 -3
  47. package/tool-result.js +2 -2
  48. package/turn-loop.js +4 -4
  49. package/vault.js +1 -1
  50. package/voice-intents.js +2 -2
  51. package/voice-sample.js +1 -1
  52. package/weather-tool.js +10 -1
  53. package/weather.js +2 -2
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 s,CLASSES as n,EFFECTS as S,EGRESS as E,EventError as l,validateEvent as m,isValidEvent as c,createAppender as T}from"./event.js";import{REF_KINDS as _,RESOLUTION as d,makeRef as R,isRef as A,resolveRef as f}from"./ref.js";import{linearize as O,compareEvents as u,causesAreWellFormed as N}from"./order.js";import{pendingQueue as C,isQueued as M,dequeue as P,moveQueued as L,promoteQueued as x}from"./queue.js";import{groupModels as F,filterSections as D,defaultModelId as k,modelSummary as y,withRecent as U,rememberRecent as b}from"./model-picker.js";import{composerChips as B,chipText as G}from"./composer-chips.js";import{NOTE_ACTIONS as K,NOTE_ACTION_ORDER as H,NOTE_ACTION_TEMPERATURE as V,NOTE_ACTION_ERRORS as W,NOTE_COMMANDS as X,NOTE_COMMAND_TEMPERATURE as Y,NOTE_COMMAND_MAX_TOKENS as z,frameNoteAction as J,noteActionLabel as j,noteActionItems as Q,filterNoteActions as q,commandLineAt as Z,triggerQueryAt as $}from"./note-actions.js";import{parseAgentMention as re,agentMentionAt as oe,parseSkillMention as te,mergeSkillPrompt as ae,findSkillByName as ie,findTargetByName as se,mentionAnswerPrefix as ne}from"./note-mentions.js";import{wikiQueryAt as Ee,rankLinkTargets as le}from"./note-links.js";import{SWARM_ROLES as ce,roleById as Te,classifyModel as pe,supportsSubagents as _e,appoint as de,routeTeam as Re}from"./cowriter-router.js";import{SEARCH_ENGINES as fe,RESULTS_PER_ENGINE as Ie,buildSearchUrl as Oe,unwrapRedirect as ue,isResultHost as Ne,pickResults as ge,mergeEngineResults as Ce,engineOrder as Me}from"./web-search.js";import{MAX_GRAPH_NODES as Le,buildNoteGraph as xe,egoGraph as he,trimGraph as Fe,graphStats as De}from"./note-graph.js";import{lintText as ye,wordDiff as Ue,filterTypoEdits as be,editKey as ve,applyEdits as Be,COWRITER_SYSTEM as Ge,COWRITER_TEMPERATURE as we}from"./cowriter.js";import{salientTerms as He,topicTerms as Ve,researchRelevance as We,webQuery as Xe,researchSnippet as Ye,rankResearchCards as ze,mergeResearchLanes as Je}from"./note-research.js";import{PLAN_ROLES as Qe,PLAN_AUTHORS as qe,PLAN_DECOMPOSE_SYSTEM as Ze,PLAN_DECOMPOSE_MAX_TOKENS as $e,PLAN_DECOMPOSE_TEMPERATURE as er,PLAN_SECTION_MAX_TOKENS as rr,PLAN_SECTION_TEMPERATURE as or,planSectionSystem as tr,parsePlanTasks as ar,planTitleFor as ir,planParts as sr,planBody as nr,planAttribution as Sr}from"./note-plan.js";import{REACH as lr,reachRank as mr,reachSatisfies as cr}from"./reach.js";import{UPCASTERS as pr,upcast as _r,upcastAll as dr}from"./upcast.js";import{validateCapability as Ar,validateInvocation as fr,canSatisfy as Ir,toModelSchema as Or,toModelSchemas as ur}from"./capability.js";import{checkInvariants as gr,INVARIANTS as Cr}from"./invariants.js";import{createMemoryAdapter as Pr,createLogStore as Lr,createBlobStore as xr}from"./store.js";import{createRegistry as Fr,REGISTRY_STATES as Dr}from"./registry.js";import{defineSearchEngine as yr,reconcileEngines as Ur,attemptOrder as br,ENGINE_KINDS as vr,SearchEngineError as Br}from"./search-engines.js";import{getWeather as wr,weatherUrl as Kr,parseWeather as Hr,formatWeather as Vr,areaLabel as Wr,isAmbiguousLocation as Xr,WEATHER_HOST as Yr,WEATHER_TIMEOUT_MS as zr,WeatherError as Jr}from"./weather.js";import{defineToolGroup as Qr,createToolGroupRegistry as qr,ToolGroupError as Zr}from"./tool-groups.js";import{toolNeedFor as eo,grantsNeededFor as ro,equipmentFor as oo,isPleasantry as to}from"./tool-need.js";import{housekeepingTarget as io,hasSubstance as so,isLocalHelper as no}from"./housekeeping.js";import{parseFlowchart as Eo,layoutFlowchart as lo,renderFlowchartSvg as mo}from"./flowchart.js";import{validateView as To,validateViewInvocation as po,viewResult as _o}from"./view.js";import{validateWidget as Ao,validateWidgetMessage as fo,effectiveGrants as Io,widgetIcon as Oo,WIDGET_SURFACES as uo}from"./widget.js";import{fuseRRF as go,planQueries as Co,multiSearch as Mo}from"./rrf.js";import{SUBJECT_KINDS as Lo,DEFAULT_THRESHOLD as xo,MAX_SUBJECTS as ho,MAX_SUBJECT_CHARS as Fo,normalizeSubject as Do,subjectKey as ko,subjectTokens as yo,isSubjectCandidate as Uo,aliasMap as bo,resolveSubjects as vo,earnsBrief as Bo,rankSubjects as Go,REDACTION_TOKEN_TYPES as wo,isRedactionToken as Ko,SELF_LABELS as Ho,isSelfLabel as Vo,stripQualifiers as Wo,suggestMerges as Xo}from"./entity.js";import{BRIEF_STATES as zo,CLAIM_KINDS as Jo,MAX_CLAIMS as jo,MAX_CLAIM_REFS as Qo,MAX_BRIEF_RECORDS as qo,MAX_BRIEF_CHARS as Zo,contentHash as $o,briefId as et,briefToText as rt,briefTerms as ot,briefLinks as tt,checkKnowledgeInvariants as at,parseBriefText as it}from"./knowledge.js";import{deriveBrief as nt,deriveBriefs as St,driftedRefs as Et}from"./knowledge-derive.js";import{SYNTHESIS_SCHEMA as mt,synthesisPrompt as ct,claimsFromSynthesis as Tt,MAX_SYNTHESIS_CLAIMS as pt,MAX_EXCERPTS as _t,MAX_EXCERPT_CHARS as dt}from"./synthesis.js";import{PROPOSAL_STATES as At,SUPERSEDE_OVERLAP as ft,propose as It,accept as Ot,reject as ut,diffProposal as Nt,converge as gt,linkClaims as Ct}from"./promotion.js";import{normalizeRecord as Pt,normalizeRecords as Lt,wikilinksIn as xt,redactedTokensIn as ht,redactionCost as Ft,wantedPages as Dt,orphanRecords as kt,duplicateTitles as yt,vocabularyDrift as Ut,mentionsFrom as bt,spanningQuestions as vt,surveyCorpus as Bt,thresholdSweep as Gt,formatSurvey as wt,NEAR_TITLE_DISTANCE as Kt,SPAN_MIN_TERMS as Ht}from"./curate.js";import{PDF_MAX_CHARS as Wt,linesFromItems as Xt,orderLines as Yt,paragraphsFromLines as zt,pageTextFromItems as Jt,looksScanned as jt,buildPdfDocument as Qt}from"./pdf-layout.js";import{YOUTUBE_HOSTS as Zt,TRANSCRIPT_MAX_CHARS as $t,parseYouTubeUrl as ea,isYouTubeUrl as ra,captionTracksFromPlayerResponse as oa,videoMetaFromPlayerResponse as ta,pickCaptionTrack as aa,timedTextUrl as ia,parseTimedText as sa,groupSegments as na,formatTimestamp as Sa,formatTranscript as Ea,buildTranscriptDocument as la,transcriptFromTracks as ma}from"./media-transcript.js";import{ACCESS_LOG_VERSION as Ta,ACCESS_LOG_MAX as pa,redactAccessArgs as _a,makeAccessEvent as da,createAccessLog as Ra,makeStorageTier as Aa,formatBytes as fa}from"./observability.js";import{routeGraph as Oa,projectChain as ua}from"./route-graph.js";import{defineAdapter as ga,createAdapterRegistry as Ca,AdapterError as Ma}from"./adapters.js";import{linkifyCitations as La,repairCitedLinks as xa,markdownUrl as ha,sourcesFromToolText as Fa,createCitationCollector as Da,RETRIEVAL_TOOLS as ka}from"./citations.js";import{buildTrajectory as Ua,phasesOf as ba,lanesOf as va,filterEntries as Ba,displayName as Ga,ENTRY_KINDS as wa,threadsOf as Ka,threadTitle as Ha,promptEntries as Va,turnsOf as Wa,threadTree as Xa}from"./trajectory.js";import{createTurnRunner as za,createStepRecorder as Ja,argsShape as ja,defineLoop as Qa,LOOP_KINDS as qa,LoopError as Za,abortCause as $a,errorFacts as ei}from"./loop.js";import{defineModel as oi,defineMiddleware as ti,defineRouteStrategy as ai,createModelRouter as ii,signalsFrom as si,requirementsFor as ni,requirementsForStep as Si,preferenceFor as Ei,failoverOrder as li,pinnedOrderOf as mi,FAILOVER_CLASS_GAP as ci,FAILOVER_CAPABILITY_GAP as Ti,sameModelKey as pi,RouterError as _i}from"./router.js";import{makeSourceStore as Ri,manifestText as Ai,shortUrl as fi,readSource as Ii,sourceId as Oi}from"./sources-retrieval.js";import{classifySource as Ni,extractUrls as gi,hostMatches as Ci,meetReach as Mi,sourcePolicyFor as Pi,sourceUrlsOf as Li,DEFAULT_INTERNAL_PATTERNS as xi,INTERNAL_PATTERN_CATALOG as hi}from"./sources.js";import{defineRule as Di,createRuleEngine as ki,SUPPRESSED as yi,RuleError as Ui}from"./rules.js";import{VAULT_VERSION as vi,KDF_ITERATIONS as Bi,KDF_HASH as Gi,DEFAULT_LOCK_MS as wi,VaultError as Ki,MAX_TITLE_CHARS as Hi,MAX_NOTE_CHARS as Vi,MAX_SECRET_CHARS as Wi,MAX_ENTRIES as Xi,createVault as Yi,unlockVault as zi,deriveKey as Ji,sealEntry as ji,openEntry as Qi,validateEntry as qi,entryMeta as Zi,searchEntries as $i,isLocked as es,lockedSummary as rs,canAddEntry as os,toB64 as ts,fromB64 as as}from"./vault.js";import{SCHEDULE_KINDS as ss,TRIGGER_KINDS as ns,JOB_ACTIONS as Ss,MISSED_POLICIES as Es,ScheduleError as ls,validateSchedule as ms,nextFireAt as cs,occurrencesBetween as Ts,nextWakeAt as ps,parseCron as _s,defineTrigger as ds,createTriggerRegistry as Rs,BUILTIN_TRIGGERS as As,timerTrigger as fs,meetingStartedTrigger as Is,meetingEndedTrigger as Os,personJoinedTrigger as us,phraseTrigger as Ns,topicTrigger as gs,questionTrigger as Cs,voiceCommandTrigger as Ms,defineJob as Ps,dueJobs as Ls,jobsForEvent as xs,occurrenceKey as hs,clipText as Fs,matchSummary as Ds}from"./schedule.js";import{defineMeetingAnalyzer as ys,createAnalyzerRegistry as Us,CADENCES as bs,AnalyzerError as vs}from"./meeting-analyzers.js";import{DEFAULT_WAKE as Gs,MAX_COMMANDS_PER_DELTA as ws,DAYPART_HOUR as Ks,VoiceIntentError as Hs,compileWake as Vs,wakeFor as Ws,findWakeCommand as Xs,parseCommand as Ys,commandsFromSegments as zs,parseDuration as Js,parseClock as js,parseWhen as Qs,parseNumberWords as qs,normalizeSpeech as Zs,tokenize as $s,editDistance as en,defineVoiceIntent as rn,createVoiceIntentRegistry as on,defaultVoiceIntents as tn,BUILTIN_VOICE_INTENTS as an,timerIntent as sn,reminderIntent as nn,scheduleIntent as Sn,noteIntent as En,monitorIntent as ln,REFINEMENT_SCHEMA as mn,refinementPrompt as cn,refinementFormat as Tn,parseRefinement as pn,refinementStream as _n,settleRefinement as dn,refineSpokenCommand as Rn,isFillerSentence as An,gistText as fn,gistOpening as In,commandLooksFinished as On,sameUtterance as un,createUtteranceGate as Nn,UTTERANCE_SETTLE_MS as gn,UTTERANCE_DANGLING_MS as Cn}from"./voice-intents.js";import{MAX_TOPICS as Pn,MAX_TOPIC_CHARS as Ln,TOPICS_SCHEMA as xn,topicsSchema as hn,topicsPrompt as Fn,topicsFormat as Dn,parseTopics as kn,normalizeTopic as yn,normalizeTopics as Un,topicsStream as bn,ENTITY_TYPES as vn,ENTITIES_SCHEMA as Bn,entitiesPrompt as Gn,entitiesFormat as wn,parseEntities as Kn,coerceEntities as Hn,entitiesStream as Vn,MAX_SUGGESTIONS as Wn,MAX_SUGGESTION_CHARS as Xn,SUGGESTIONS_SCHEMA as Yn,suggestionsPrompt as zn,suggestionsFormat as Jn,parseSuggestions as jn,suggestionsStream as Qn}from"./extraction.js";import{FIELD_TYPES as Zn,RESPONSE_MODES as $n,StructuredError as eS,defineSchema as rS,describeSchema as oS,toJsonSchema as tS,responseFormat as aS,unfence as iS,findJson as sS,rewriteJson as nS,repairJson as SS,isNothing as ES,coerce as lS,parseStructured as mS,createStructuredStream as cS}from"./structured.js";import{explainMcpError as pS,packageFromArgs as _S,isStaleMcpSession as dS,installHintFor as RS,missingCommandMessage as AS,missingCommandIn as fS,normalizePlatform as IS}from"./mcp-errors.js";import{parseSignInPrompt as uS,signInError as NS,signInFromError as gS,signInToolResult as CS,MCP_SIGN_IN_CODE as MS}from"./mcp-signin.js";import{parseAuthChallenge as LS,wellKnownUrls as xS,canonicalResource as hS,readResourceMetadata as FS,readAuthServerMetadata as DS,registrationRequest as kS,readRegistration as yS,authorizeUrl as US,tokenRequest as bS,readTokenResponse as vS,tokenExpired as BS,authHeader as GS,discoverMcpAuth as wS,registerMcpClient as KS,fetchMcpToken as HS,TOKEN_SKEW_MS as VS}from"./mcp-oauth.js";import{toolTraits as XS,bareToolName as YS,canRunConcurrently as zS,isCacheable as JS,needsConfirmation as jS,traitsIndex as QS,effectiveToolName as qS,parallelEligible as ZS,PARALLEL_LOCAL_RE as $S}from"./tool-traits.js";import{planToolRound as rE,runToolRound as oE}from"./tool-round.js";import{createToolLoopGuard as aE,roundSignature as iE,stableToolCallKey as sE,toolMadeProgress as nE,isLoopableTool as SE,blockedToolResult as EE,OBSERVATION_TOOLS as lE,INPUT_PROGRESS_TOOLS as mE}from"./tool-loop-guard.js";import{classifyFailure as TE,createModelHealth as pE,COOLDOWN_MS as _E,UNAVAILABLE_REASONS as dE,normModelName as RE}from"./model-health.js";import{runWithFailover as fE,failoverExhausted as IE,FAILOVER_MAX_ATTEMPTS as OE}from"./failover.js";import{sourcePolicySettings as NE,sourceGuardFor as gE,sourceGate as CE,isSourceGateError as ME,withinReach as PE}from"./source-gate.js";import{runTurnLoop as xE,createCallRunner as hE,roundCap as FE,withToolSystem as DE,describeCall as kE,stepResultText as yE,addUsage as UE,normalizeUsage as bE,openAiTranscript as vE,anthropicTranscript as BE,DEFAULT_MAX_ROUNDS as GE,DEFAULT_MAX_FINISH_TRIES as wE,FINISH_NUDGES as KE,LOOPING_NUDGE as HE,EXHAUSTED_NOTE as VE,ROUND_SEPARATOR as WE}from"./turn-loop.js";import{createResultStore as YE,shieldToolResult as zE,runResultQuery as JE,withResultShield as jE,describeShape as QE,compactValue as qE,resultToolSpec as ZE,RESULT_TOOL_NAME as $E,DEFAULT_SHIELD as el,DEFAULT_STORE as rl}from"./tool-result.js";import{PERMISSION_EVENT as tl,PERMISSION_ANSWERS as al,PERMISSION_TIMEOUT_MS as il,PERMISSION_TOOL_NAME as sl,permissionToolSpec as nl,isPermissionTool as Sl,permissionRequestFromClaude as El,permissionKeys as ll,describePermission as ml,permissionAnswer as cl,permissionAllowed as Tl,rememberPermission as pl,recallPermission as _l,claudePermissionResponse as dl,permissionLine as Rl,permissionIcon as Al,createPermissionDesk as fl}from"./agent-permission.js";import{findTools as Ol,findToolsResult as ul,findActionArgs as Nl,oneLiner as gl,overlapRank as Cl,FIND_ACTION as Ml}from"./tool-discovery.js";import{rankFused as Ll,fusedRanker as xl,rerankThrough as hl,toolDoc as Fl,FUSED_CANDIDATES as Dl,FUSED_BUDGET_MS as kl}from"./tool-rank-fused.js";import{makeToolHub as Ul,hubSpec as bl,HUB_TOOL_NAME as vl,withHint as Bl,lastUserText as Gl}from"./tool-hub.js";import{withPromptedTools as Kl,promptedTranscript as Hl,makePromptedTranscript as Vl,promptedToolsSystem as Wl,parseToolCalls as Xl,visiblePrefix as Yl,toolChannel as zl,transcriptFor as Jl}from"./prompted-tools.js";import{REVEAL as Ql,revealStep as ql,revealCut as Zl}from"./stream-reveal.js";import{buildToolset as em}from"./toolset.js";import{DESCRIBE_ACTION as om,actionMenu as tm,buildGroupDispatchSpec as am,validateAction as im,makeGroupDispatchExecutor as sm,withGuidance as nm,makeDispatchProvider as Sm,estimateTokens as Em}from"./tool-dispatch.js";import{FIND_TOOL_NAME as mm,FIND_DESCRIPTION as cm,FIND_RESIDENT as Tm,findDispatchProvider as pm}from"./find-tool.js";import{WEB_SEARCH_TOOL_NAME as dm,WEB_SEARCH_TOOL_SYSTEM as Rm,WEB_SEARCH_SPEC as Am,searchResultsToText as fm,webSearchToolProvider as Im}from"./web-search-tool.js";import{compressToolSpec as um,compressToolSpecs as Nm,compressionStats as gm,trimDescription as Cm,COMPRESSION_MODES as Mm,DEFAULT_COMPRESSION as Pm}from"./tool-schema.js";import{validateRecipe as xm,expandRecipe as hm,recipeParams as Fm,mapInput as Dm,dryRunRecipe as km,runPlan as ym,runRecipe as Um,RecipeError as bm,RECIPE_MODES as vm}from"./recipe.js";import{recipeToolProvider as Gm,recipeToolSpec as wm,describeRecipeForApproval as Km,RECIPE_TOOL_NAME as Hm}from"./recipe-tool.js";import{createBudget as Wm,validateBudget as Xm,normalizeBudget as Ym,usageOf as zm,BudgetError as Jm,BUDGET_DIMENSIONS as jm}from"./budget.js";import{defineTeam as qm,validateTeam as Zm,normalizeTeam as $m,normalizeGrants as ec,grantAllows as rc,scmAllows as oc,describeRole as tc,TeamError as ac,ROLE_MODES as ic,MERGE_POLICIES as sc,PLAN_MODES as nc,GRANTABLE as Sc,WORK_GRANTS as Ec,GRANT_RE as lc,AGENT_REF_RE as mc,STARTER_TEAMS as cc,starterTeams as Tc,blankTeam as pc,teamFromForm as _c,slugTeamName as dc}from"./team.js";import{fixedPlan as Ac,parsePlan as fc,plannerPrompt as Ic,waves as Oc,breakCycles as uc,TEAM_PLAN_SCHEMA as Nc}from"./team-plan.js";import{createBoard as Cc,parseFindings as Mc,boardText as Pc,findingsInstruction as Lc,toBriefClaims as xc,FINDINGS_SCHEMA as hc,FINDING_KINDS as Fc,THREAD_KINDS as Dc,THREAD_STATUSES as kc,POST_KINDS as yc,POST_STATUSES as Uc,ASK_TYPES as bc,emptyBoardState as vc,foldBoard as Bc,findingsOf as Gc}from"./team-board.js";import{boardToolProvider as Kc,boardToolSpec as Hc,createAnswerBox as Vc,withBoardTool as Wc,BOARD_TOOL_NAME as Xc,DEFAULT_ASK_TIMEOUT_MS as Yc}from"./board-tool.js";import{createRunCache as Jc,withRunCache as jc}from"./team-cache.js";import{emptyRun as qc,foldRun as Zc,runFromEvents as $c,checkpointFrom as eT,isResumable as rT,LIVE_RUN_STATUSES as oT,RESUMABLE_RUN_STATUSES as tT,spendOf as aT,describeSpend as iT,runState as sT,priorWorkFor as nT,STALLED_AFTER_MS as ST}from"./team-record.js";import{validateProject as lT,normalizeProject as mT,defineProject as cT,canTransition as TT,blankProject as pT,projectFromForm as _T,emptyProjectRecord as dT,foldProject as RT,projectProgress as AT,ProjectError as fT,PROJECT_STATUSES as IT,PROJECT_ID_RE as OT}from"./project.js";import{validateJob as NT,normalizeJob as gT,defineJob as CT,canTransition as MT,applyAll as PT,jobToRole as LT,readyJobs as xT,blankJob as hT,jobFromForm as FT,JobError as DT,JOB_STATUSES as kT,JOB_ID_RE as yT}from"./job.js";import{validateGate as bT,normalizeGate as vT,effectiveGate as BT,gateAllows as GT,DEFAULT_GATE as wT,AUTONOMY as KT,HUMAN_FLAGS as HT,CHECKS as VT}from"./gate.js";import{runProject as XT,roundJobs as YT,teamForRound as zT,jobResults as JT,roundBudget as jT,parseJobs as QT,parseReview as qT,jobsPrompt as ZT,reviewPrompt as $T,PROJECT_JOBS_SCHEMA as ep,PROJECT_REVIEW_SCHEMA as rp,ProjectRunError as op,EXECUTIVE as tp,MAX_JOBS_PER_ROUND as ap,MAX_ROUNDS as ip,PROJECT_RUN_STATUSES as sp}from"./project-run.js";import{canonical as Sp,sha256 as Ep,makeEntry as lp,verifyChain as mp,attest as cp,verifyAttested as Tp,summarize as pp,fit as _p,adjustSummary as dp,normalizeEngine as Rp,engineKey as Ap,normalizeScm as fp,SCORECARD_ENTRY_KINDS as Ip,ROLE_KINDS as Op,SCORECARD_VERSION as up,ENGINE_KINDS as Np}from"./scorecard.js";import{ENGINE_KINDS as Cp,ROUTE_PREFERS as Mp,normalizePolicy as Pp,normalizeEngineSpec as Lp,validateEngineSpec as xp,engineRef as hp,engineKeyOf as Fp,describeEngine as Dp,tierOf as kp}from"./engine.js";import{AGENT_ID_RE as Up,APPLIES_TO as bp,EGRESS_CLASSES as vp,ASSISTANT_ID as Bp,AgentError as Gp,validateAgent as wp,normalizeAgent as Kp,defineAgent as Hp,assistantAgent as Vp,engineOf as Wp,describeAgent as Xp,slugAgentId as Yp,resolveTeam as zp,STARTER_AGENTS as Jp,starterAgents as jp,blankAgent as Qp,agentFromForm as qp,poolFor as Zp}from"./agent.js";import{LEDGER_VERSION as e_,LEDGER_ENTRY_KINDS as r_,DECLINE_REASONS as o_,WITHDRAW_AFTER as t_,ledgerKey as a_,normalizeCall as i_,makeLedgerEntry as s_,summarizeEngine as n_}from"./model-ledger.js";import{RECRUIT_SCHEMA as E_,MIN_FIT as l_,engineRow as m_,engineRows as c_,needForJob as T_,routeFor as p_,engineWorth as __,applications as d_,evaluatorPrompt as R_,parseEvaluation as A_,decide as f_,recruitForRun as I_,proposalFromNeeds as O_,proposalToAgent as u_,carveBudget as N_,recruitEvents as g_,recruitJob as C_}from"./recruit.js";import{DEFAULT_MIN_CALLS as P_,cardOverride as L_,applyCard as x_}from"./model-candidates.js";import{SCM_KINDS as F_,validateConnection as D_,normalizeConnection as k_,parseRemote as y_,connectionFor as U_,branchFor as b_,worktreeDirFor as v_,credentialEnv as B_,describeConnection as G_,blankConnection as w_,connectionFromForm as K_}from"./scm-connection.js";import{messagesFor as V_,mergeTranscript as W_,clipTranscript as X_,clipMessage as Y_,newSteps as z_,continuationNote as J_,createControl as j_,STEP_MAX_CHARS as Q_,TASK_TRANSCRIPT_MAX_CHARS as q_}from"./team-task.js";import{runTeam as $_,resumeTeam as ed,dryRunTeam as rd,isModelUnavailable as od,TeamRunError as td,RUN_STATUSES as ad}from"./team-run.js";import{teamToolProvider as sd,teamToolSpec as nd,teamToolTimeoutMs as Sd,describeTeamForApproval as Ed,TEAM_TOOL_NAME as ld,TEAM_MANUAL as md}from"./team-tool.js";import{workLogFor as Td,workLogText as pd,workLogEvidence as _d,describeCall as dd,WORKLOG_KINDS as Rd}from"./team-worklog.js";import{normalizeRequest as fd,subtaskFromRequest as Id,takeUp as Od,takeUpLine as ud,holdsGrants as Nd,jobFromSubtask as gd,extendDependents as Cd,taskTree as Md,threadRows as Pd,MAX_SUBTASKS as Ld,MAX_DEPTH as xd,MIN_TAKEUP_FIT as hd}from"./team-subtask.js";import{teamLine as Dd,teamLanes as kd}from"./team-trail.js";import{promoteRoles as Ud,starterTeam as bd,missingStarters as vd,teamHealth as Bd,teamShape as Gd,describeTeamShape as wd,whereItWorks as Kd,rosterRows as Hd,agentKind as Vd,agentHue as Wd,agentColor as Xd,agentInitials as Yd,roleCardId as zd,cardNumbers as Jd,upsertAgents as jd,soloTeam as Qd,teamsWithSolos as qd,builtinOrg as Zd,isBuiltin as $d,grantChoices as eR,grantsFromChoices as rR,skillChoices as oR,GRANT_INFO as tR,SOLO_BUDGET as aR,TEAM_SHAPES as iR,ROSTER_KINDS as sR}from"./team-org.js";import{observeInbox as SR,observeStrip as ER,runLanes as lR,spendRows as mR,engineStrip as cR}from"./team-observe.js";import{mcpDispatchProvider as pR,MCP_TOOL_NAME as _R}from"./mcp-dispatch.js";import{createManifest as RR,ManifestError as AR,SOURCES as fR}from"./manifest.js";import{createKernel as OR,meetDecisions as uR,KernelError as NR,REQUIRED_PLUGINS as gR,ALLOW_ALL as CR}from"./kernel.js";import{replay as PR,formatReport as LR,parseJsonl as xR,toJsonl as hR}from"./harness.js";import{compileQuery as DR,findMatches as kR,matchIndexFor as yR,expandReplacement as UR,replaceMatch as bR,replaceAll as vR,replaceAllInRange as BR,MAX_MATCHES as GR}from"./text-search.js";import{DATA_SCOPES as KR}from"./scopes.js";import{MEMORY_VERSION as VR,MEMORY_KINDS as WR,MEMORY_KIND_NAMES as XR,AMBIENT_KINDS as YR,MAX_MEMORY_CHARS as zR,MIN_MEMORY_CHARS as JR,DEFAULT_MAX_MEMORIES as jR,DEFAULT_BLOCK_CHARS as QR,SAME_FACT as qR,MEMORY_TOOL_SPEC as ZR,MEMORY_UPCASTERS as $R,MemoryError as eA,normalizeMemory as rA,isValidMemory as oA,memoryKey as tA,slotOf as aA,similarity as iA,containment as sA,candidatesFrom as nA,reconcile as SA,matchForForget as EA,recall as lA,saysWhere as mA,needsWhere as cA,memoryBlock as TA,markUsed as pA,pruneMemories as _A,memoryToolSystem as dA,upcastMemory as RA,sameMemory as AA,AMBIENT_MAX_WORDS as fA}from"./memory.js";import{linksToRead as OA,storyLinkOf as uA,linkAttachments as NA,asksOnlyAboutPage as gA,pageInstruction as CA}from"./message-links.js";import{frontPagesAskedAbout as PA,frontPageInstruction as LA,FRONT_PAGES as xA}from"./site-pages.js";import{SOURCE_TRUST as FA,SkillSourceError as DA,defineSkillSource as kA,createSkillSourceRegistry as yA}from"./skill-sources.js";import{SKILL_MANIFEST_VERSION as bA,SKILL_CONTEXTS as vA,SKILL_HISTORY_SCOPES as BA,SKILL_MCP_MODES as GA,SKILL_TRUST as wA,SKILL_FILE_KINDS as KA,SKILL_UPCASTERS as HA,SkillManifestError as VA,isSafeSkillPath as WA,originOf as XA,trustOf as YA,skillFiles as zA,needsBridge as JA,declaredAccess as jA,originLabel as QA,sameSkillOrigin as qA,skillIsStale as ZA,validateSkill as $A,upcastSkill as ef,upcastSkills as rf,normalizeSkill as of}from"./skill-manifest.js";import{SKILL_VARS as af,SKILL_VAR_NAMES as sf,skillVar as nf,skillVarPattern as Sf,parseSkillVars as Ef,lintSkillPrompt as lf,suggestSkillVar as mf,substituteSkillVars as cf,expandSkillPrompt as Tf,skillVarGuidance as pf,SkillVarError as _f}from"./skill-vars.js";import{lineAt as Rf,writerAffordance as Af,INSTRUCTION_RE as ff,instructionOnLine as If,GOAL_MIN_NEW as Of,goalDraftAllowed as uf,createSpendMeter as Nf,writerTail as gf,draftSeparator as Cf,groundingBlock as Mf,writerRequest as Pf,AUTOCOMPLETE_SYSTEM as Lf,AUTOCOMPLETE_MAX_TOKENS as xf,AUTOCOMPLETE_TEMPERATURE as hf,clipCompletion as Ff,GEARS as Df,WRITER_PREFS as kf,WRITER_PREF_DEFAULTS as yf,normalizeWriterPrefs as Uf,normalizeIntent as bf}from"./cowriter-writer.js";import{SLASH_TYPING_RE as Bf,NEW_THREAD_SLASH_ITEMS as Gf,parseNewThread as wf,BUG_REPORT_SLASH_ITEMS as Kf,parseBugCommand as Hf,isSkillEnabled as Vf,enabledSkills as Wf,slashCommandItems as Xf,matchSlashSkill as Yf,matchSlashRecipe as zf,recipeInvocationText as Jf,matchSlashTeam as jf,teamInvocationText as Qf,slashCommandInsert as qf,skillInvocationOf as Zf,skillInvocationLabel as $f}from"./slash-commands.js";import{outlineOf as rI,parseListItem as oI,continueList as tI,indentSelection as aI,toggleWrap as iI,toggleLinePrefix as sI,toggleTask as nI,toggleLink as SI,docStats as EI,selectionStats as lI}from"./markdown-authoring.js";import{MAX_TAG_LENGTH as cI,MAX_TAGS as TI,normalizeTag as pI,normalizeTags as _I,hasTag as dI,addTag as RI,removeTag as AI,toggleTag as fI,sameTags as II,formatTag as OI,parseTagQuery as uI,hasTagTerms as NI,formatTagQuery as gI,matchesTagFilter as CI,filterByTags as MI,tagFacets as PI,suggestExistingTags as LI,tagsSearchText as xI}from"./tags.js";import{UNTITLED_MEETING as FI,MAX_TITLE_LENGTH as DI,TITLE_RULES_VERSION as kI,cleanTitle as yI,isGenericTitle as UI,titleFromSummary as bI,titleFromTopics as vI,titleFromParticipants as BI,titleFromDate as GI,readableWhen as wI,deriveMeetingTitle as KI,shouldAutoTitle as HI,isBetterTitleSource as VI,meetingTitlePrompt as WI,parseTitleResponse as XI}from"./titles.js";import{RECORD_KINDS as zI,MAX_TITLE_LEN as JI,LibraryError as jI,parseRecordId as QI,makeRecordId as qI,isRecordId as ZI,normalizeStoredRecord as $I,isValidStoredRecord as eO,toSearchRecord as rO,searchTextFor as oO,toIndexEntry as tO,deriveTitle as aO,snippetOf as iO,wordCount as sO,findRecordRefs as nO,linkRecordRefs as SO,repairAnswerMarkup as EO}from"./library.js";import{CLOCK_TOLERANCE_MS as mO,SyncError as cO,stampOf as TO,decide as pO,planSync as _O,isSettled as dO,forkConflict as RO,advanceBases as AO}from"./sync-plan.js";import{ENCRYPTED_TYPE as IO,COMPRESSIONS as OO,BackupError as uO,KDF_ITERATIONS as NO,encryptBackup as gO,decryptBackup as CO,isEncryptedBackup as MO,RECORD_TYPE as PO,deriveBackupKey as LO,sealRecord as xO,openRecord as hO,isSealedRecord as FO,keyCache as DO,identityCodec as kO,streamCodec as yO,nodeCodec as UO,bestCodec as bO}from"./backup-envelope.js";import{recordsFromBackup as BO,backupFromRecords as GO}from"./backup-records.js";import{DEFAULT_POLICY as KO,SLOW_POLICY as HO,scalePolicy as VO,pickProfile as WO,adaptProfile as XO,policyFor as YO,SLOW_FLUSH_MS as zO,FAST_FLUSH_MS as JO,FAST_STREAK as jO,createJournal as QO,JournalError as qO,ENTRY_VERSION as ZO,makeEntry as $O,tombstone as eu,isTombstone as ru,isEntry as ou,entryStamp as tu,supersedes as au,BOUNDS as iu,createSegment as su,applyEntry as nu,segmentBytes as Su,segmentEntries as Eu,shouldRotate as lu,mergeSegments as mu,segmentName as cu,parseSegmentName as Tu,SEGMENT_RE as pu,boundSegments as _u,segmentsFor as du,overlay as Ru,catchUpPlan as Au}from"./journal.js";import{OMNI_MODES as Iu,OMNI_GRAMMAR as Ou,parseOmni as uu,extractFilters as Nu,resolveSince as gu,wantsModel as Cu,isActionable as Mu}from"./omni.js";import{THEMES as Lu,LIGHT as xu,DARK as hu,PALETTES as Fu,SHAPE as Du,TOKEN_NAMES as ku,TOKEN_ROLES as yu,paletteFor as Uu,cssVarName as bu,toCssVars as vu,themeStylesheet as Bu,resolveTheme as Gu}from"./theme.js";import{PLANS as Ku,API_BASE as Hu,ENDPOINTS as Vu,ENTITLEMENT_PUBLIC_JWK as Wu,UPGRADE_URL as Xu,FEATURE_TIER as Yu,PRO_FEATURES as zu,TEAM_FEATURES as Ju,FREE_LIMITS as ju,COUNTED as Qu,freeCap as qu,observeSince as Zu,RECHECK_INTERVAL_MS as $u,EntitlementError as eN,checkoutUrl as rN,planOf as oN,planLabel as tN,isPro as aN,isTeam as iN,can as sN,tierFor as nN,withinFreeLimit as SN,verifyEntitlement as EN,verifySignedToken as lN,licenseFromPayload as mN,needsRecheck as cN}from"./entitlement.js";import{generateDeviceKey as pN,exportDevicePublicKey as _N,signChallenge as dN}from"./device-proof.js";import{renderMarkdown as AN,defaultLinkPolicy as fN,defaultImagePolicy as IN}from"./markdown-render.js";import{NOTE_IMAGE_SCHEME as uN,MAX_NOTE_IMAGE_BYTES as NN,NOTE_IMAGE_TYPES as gN,noteImageId as CN,noteImageRef as MN,noteImageIds as PN,noteImageRefs as LN,stripNoteImageRefs as xN,orphanNoteImages as hN,newNoteImageId as FN}from"./note-images.js";import{parseMeetingText as kN,speakerStats as yN,densityRibbon as UN}from"./meeting-text.js";import{speakerBreakdown as vN,speakerTimeline as BN,formatTalkTime as GN,SPEAKER_SLOTS as wN}from"./meeting-shape.js";import{isSpeakerImageValue as HN,speakerLabeller as VN}from"./meeting-shape.js";import{SORT_MODES as XN,SORT_LABELS as YN,sortStamp as zN,sortRecords as JN,filterRecords as jN,dayBucket as QN,rowTime as qN,groupRecords as ZN}from"./record-list.js";import{INSIGHT_KINDS as eg,summarySections as rg,insightKindOf as og,meetingInsights as tg,hasInsights as ag}from"./meeting-insights.js";import{demd as sg,NOTE_SECTIONS as ng,noteSectionKind as Sg,MOMENT_BADGES as Eg,momentBadge as lg,parseMeetingNotes as mg,groupActionsByOwner as cg}from"./meeting-insights.js";import{PREF_SECTIONS as pg,PREF_SECTION_IDS as _g,DESKTOP_SECTION_IDS as dg,sectionSpec as Rg,sectionValue as Ag,pickSections as fg,applySections as Ig,sectionHash as Og,mergeStamped as ug,changedSections as Ng}from"./client-prefs.js";import{SETTINGS_GROUPS as Cg,SETTINGS_PAGES as Mg,REQUIREMENTS as Pg,BOOKKEEPING_KEYS as Lg,listRows as xg,findRow as hg,pageById as Fg,groupById as Dg,pagesOf as kg,quickRows as yg,breadcrumb as Ug,linkTo as bg,linkToRow as vg,parseLink as Bg,valueOf as Gg,setValue as wg,effectiveValue as Kg,describeValue as Hg,SETTINGS_OPEN_DEFAULT as Vg,settingsOpenMode as Wg,searchSettings as Xg,statusOf as Yg,statusAll as zg,homeChecklist as Jg,gateOf as jg,sectionOfRow as Qg}from"./settings-registry.js";import{pointsAtGateway as Zg,destinationFromEndpoint as $g,destinationFromAgent as eC,availableDestinations as rC,seedDestinations as oC,shouldSeedDestinations as tC,mergeEndpointDestinations as aC}from"./gateway-dests.js";import{McpClient as sC,mcpProvider as nC}from"./mcp-client.js";import{mcpSharedSystem as EC,mcpInventorySystem as lC,sourceCitationSystem as mC,combineSystemPrompt as cC,toolStatus as TC,widgetAuthoringSystem as pC,vaultWidgetSystem as _C,wantsVaultGuidance as dC}from"./tool-hints.js";import{adaptiveToolRetryHint as AC,createAdaptiveToolPolicy as fC,isInvalidToolParametersResult as IC}from"./adaptive-tool-policy.js";import{getMcpProviders as uC,testMcpServer as NC,resetMcp as gC,mcpBackoff as CC}from"./mcp-manager.js";import{SIDELINE_COMMANDS as PC,BRINGBACK_COMMAND as LC,THREAD_TOOL_NAME as xC,SIDELINE_SLASH_ITEMS as hC,THREAD_TOOL_SPEC as FC,parseSideline as DC,parseBringBack as kC,resolveSidelineTarget as yC,threadManifest as UC,threadToolProvider as bC,readThread as vC,briefPrompt as BC,foldBackNote as GC,foldNotes as wC,nextSidelineIndex as KC,sourceOf as HC,noteUnits as VC,sidelinePath as WC,foldBackFor as XC,SIDELINE_TOOL_NAME as YC,SIDELINE_TOOL_SPEC as zC,sidelineToolProvider as JC}from"./sideline.js";import{WEATHER_TOOL_NAME as QC,WEATHER_TOOL_SYSTEM as qC,weatherToolProvider as ZC}from"./weather-tool.js";import{DECIDE_TOOL_NAME as eM,RERANK_TOOL_NAME as rM,CAPABILITY_TOOLS_SYSTEM as oM,capabilityToolsProvider as tM}from"./capability-tools.js";import{openDecision as iM,distributionConfidence as sM}from"./open-decision.js";import{IN_PROCESS_IDS as SM,inProcessView as EM,capabilityView as lM,choicePatch as mM,choiceNote as cM,inProcessPatch as TM}from"./runtime-in-process.js";import{renderContent as _M,toChatMessages as dM,toMultimodalMessages as RM,imageAttachmentsOf as AM,deferAttachedSources as fM,withSourceTool as IM,SOURCE_TOOL_SPEC as OM}from"./context-attachments.js";import{prefetchPlan as NM,prefetchAttachment as gM,runResearchItem as CM,weatherPlace as MM,weatherFollowupPlace as PM,newsAsk as LM}from"./prefetch.js";import{createFetchedStore as hM,withFetchedMemo as FM,fetchKey as DM,fetchTitle as kM,fetchedAsSources as yM,fetchedFacts as UM,defaultTtl as bM,exchangeOf as vM,FETCHED_TTL_MS as BM}from"./fetched.js";import{windowOf as wM,fitFor as KM,keepRecentFor as HM,minWindowFor as VM,isContextLimitError as WM,FIT_HEADROOM as XM}from"./context-window.js";import{planCompaction as zM,compactionPrompt as JM,compactionRecord as jM,messagesAfter as QM,systemWithSummary as qM,compactable as ZM,COMPACTION_SYSTEM as $M}from"./compaction.js";import{splitBlocks as rP,mergeNote as oP,syncNote as tP,conflictsIn as aP,resolveConflict as iP}from"./note-merge.js";import{STITCH_LIMITS as nP,CUT_FINISH as SP,partChars as EP,splitForWindow as lP,partPrompt as mP,mapParts as cP,reduceNotes as TP,fitAttachments as pP,isNone as _P,continuationMessages as dP,trimOverlap as RP,withStitching as AP,CONTINUE_TEXT as fP}from"./stitch.js";import{presenceFor as OP,presenceDelta as uP,reachOf as NP,withPresence as gP,presenceBlock as CP,roundCount as MP,roundMinutes as PP,PRESENCE_BUDGET_TOKENS as LP,PRESENCE_KINDS as xP}from"./presence.js";import{PolicyError as FP,POLICY_VERSION as DP,POLICY_TOKEN_TYPE as kP,REDACTION_TIERS as yP,LOCKABLE as UP,FEATURES as bP,PERMISSION_MODES as vP,PRODUCT_HOSTS as BP,normalizeOrgPolicy as GP,endpointAllowed as wP,modelAllowed as KP,agentAllowed as HP,permissionMode as VP,routeAllowed as WP,redactionTier as XP,egressAllowed as YP,settingLocked as zP,featureEnabled as JP,applyPolicyToSettings as jP,policyLabel as QP,policyHash as qP,verifyPolicyToken as ZP,globToRegExp as $P}from"./policy.js";import{languageInstruction as rL,RESPONSE_LANGUAGES as oL}from"./response-language.js";import{NOTE_TOOL_SPECS as aL,makeNoteToolExecutor as iL}from"./note-tool.js";import{memoryToolProvider as nL}from"./memory-tool.js";import{captureFromMessage as EL}from"./memory-capture.js";import{skillRunFromSkill as mL,skillPackageFiles as cL,filterMcpServersForSkill as TL,skillToolSystem as pL,skillHandle as _L,rankSkills as dL,skillCatalogSystem as RL}from"./skill-runtime.js";import{skillFileProvider as fL,SKILL_FILE_TOOL as IL,skillEntry as OL,skillDiscoveryProvider as uL}from"./skill-files.js";import{SKILL_DRAFT_SCHEMA as gL,MAX_SKILL_FILE_BYTES as CL,MAX_SKILL_PACKAGE_BYTES as ML,skillCreatorPrompt as PL,skillIdFrom as LL,admitPackage as xL,skillFromDraft as hL,packagesFromFiles as FL}from"./skill-creator.js";import{PATH_KIND as kL,FILES_TOOL as yL,checkAttachablePath as UL,secretReason as bL,isSecretPath as vL,pathAttachment as BL,describeAttachedPath as GL,describePathSize as wL,displayPath as KL,pathAttachmentsOf as HL,withAbsolutePaths as VL,attachedFilesProvider as WL,sniffType as XL,normalizePath as YL,collapseDots as zL,basenameOf as JL,SKIP_DIR_NAMES as jL}from"./attached-paths.js";import{EXTRACT_ROUTE as qL,EXTRACT_PROVIDER_ID as ZL,MAX_DOCUMENT_BYTES as $L,PAGE_CHARS as ex,EXTRACT_TYPES as rx,validateExtractRequest as ox,validateExtractResponse as tx,paginateText as ax,gatewayExtractor as ix,extractorChain as sx}from"./extract-capability.js";import{MCP_REGISTRY_API as Sx,MCP_CATALOG as Ex,registryListUrl as lx,fetchMcpRegistryPage as mx,normalizeRegistryPage as cx,normalizeRegistryEntry as Tx,mcpServerFromCatalogItem as px}from"./mcp-registry.js";import{CE_SPECVERSION as dx,CE_TYPE_PREFIX as Rx,CE_SOURCE_PREFIX as Ax,rfc3339 as fx,ceSourceOf as Ix,ceHostOf as Ox,toCloudEvent as ux,fromCloudEvent as Nx,toCloudEventLines as gx,fromCloudEventLines as Cx,toCloudEventBatch as Mx}from"./cloudevents.js";import{PUSH_LIMITS as Lx,planEventPush as xx,ingestCloudEvents as hx,cursorOf as Fx}from"./event-sync.js";import{eventStats as kx,projectYear as yx}from"./event-stats.js";import{SEALED_TYPE as bx,SEALED_VERSION as vx,SealError as Bx,webCryptoSealer as Gx,nodeSealer as wx,newDeviceKey as Kx,sealBlob as Hx,openBlob as Vx,shredBlob as Wx,isSealedBlob as Xx,isShredded as Yx}from"./blob-envelope.js";import{USAGE_RING_MAX as Jx,COST_BASES as jx,usageRecord as Qx,usageFromEvent as qx,usageFromOpenAi as Zx,rollupKey as $x,applyUsage as eh,summarizeUsage as rh,formatTurnUsage as oh,describeTurnUsage as th,promptTokensOf as ah}from"./usage.js";import{rateFor as sh,costFor as nh,formatUsd as Sh,PRICING_BASES as Eh,PRICING_LABELS as lh,normalizePricing as mh,priceUsage as ch}from"./usage-pricing.js";import{FACTCHECK_SCHEMA as ph,FACTCHECK_VERDICTS as _h,lastClaimOf as dh,factcheckPrompt as Rh,factcheckVerdict as Ah,factcheckKey as fh}from"./cowriter-factcheck.js";import{createVoiceLoop as Oh,VOICE_STATES as uh,MUTE_GRACE_MS as Nh,MAX_PENDING_CHARS as gh,CONTINUATION_WINDOW_MS as Ch,ECHO_OVERLAP as Mh,ECHO_TAIL_MS as Ph,MIN_BARGE_IN_WORDS as Lh,looksLikeEcho as xh}from"./voice-loop.js";import{voiceStep as Fh,initialVoiceState as Dh,voiceSpeaker as kh,isFarewell as yh,ANOTHER_VOICE as Uh}from"./voice-brain.js";import{speakStream as vh,speakable as Bh,SPOKEN_REPLY_HINT as Gh}from"./speak-stream.js";import{createVad as Kh,lowBandEnergy as Hh,pcmEnergy as Vh,VAD_DEFAULTS as Wh}from"./voice-vad.js";import{HF_API as Yh,TTS_ARCH_LABEL as zh,ttsArchOf as Jh,partitionTtsModels as jh,modelSearchUrl as Qh,searchModels as qh,normalizeModel as Zh,formatDownloads as $h,describeSearchResult as eF}from"./model-registry.js";import{SAMPLE_RATE as oF,MIN_SECONDS as tF,TARGET_SECONDS as aF,MAX_SECONDS as iF,PROMPT_TEXT as sF,sampleSeconds as nF,sampleTooShort as SF,defaultVoiceName as EF,microphoneError as lF,webMedia as mF,startRecording as cF}from"./voice-sample.js";import{TIER_LABEL as pF,modelRows as _F,catalogStatus as dF,dtypePicker as RF,voicePicker as AF,voiceListRows as fF,diarizeRows as IF,switchOutcome as OF,saveVoiceFailure as uF,saveTimedOut as NF,catalogUnavailable as gF}from"./voice-models.js";import{dictToText as MF,textToDict as PF}from"./redaction-dictionary.js";import{groupRuns as xF,summarizeRun as hF,findRepeats as FF,withCost as DF,verdict as kF,toSanitizedReport as yF}from"./run-details.js";import{parseMcpConfig as bF,parseArgsInput as vF,argsToText as BF,parseEnvInput as GF,envToText as wF,envLikeArgs as KF}from"./mcp-config-import.js";import{mutableRef as VF,refreshArgs as WF,canRefresh as XF,describeRuntime as YF}from"./mcp-launcher.js";import{defaultMcpServers as JF,isDefaultMcpServer as jF}from"./default-mcp-servers.js";import{MONITOR_SOURCES as qF,DEFAULT_MONITOR_PROFILE as ZF,monitorProfile as $F,monitorWindowMs as eD,monitorNeedsTools as rD,filterMonitorTools as oD,recentFindings as tD,describeMonitorProfile as aD}from"./monitor-profile.js";import{NOTHING_NEW as sD,isNothingNew as nD,accumulates as SD,priorFindingsText as ED,deltaInstruction as lD,monitorPrompt as mD,applyMonitorReply as cD}from"./monitor-turn.js";import{defaultSkills as pD,meetingNotesSkill as _D}from"./default-skills.js";import{SURFACES as RD,FEATURES as AD,listFeatures as fD,featureIds as ID}from"./feature-map.js";import{ISSUE_REPO as uD,NEW_ISSUE_BASE as ND,ISSUE_SEARCH_API as gD,MAX_ISSUE_URL as CD,scrubReportText as MD,diagnosticsText as PD,buildBugReport as LD,newIssueUrl as xD,titleTerms as hD,issueSearchUrl as FD,matchIssues as DD,findExistingIssues as kD,issueCommentText as yD}from"./bug-report.js";import{WEB_RESEARCH_LIMITS as bD,WEB_TASK_DOMAINS as vD,researchAsk as BD,refineQueries as GD,parseSearchText as wD,cleanUrl as KD,pageKey as HD,passagesOf as VD,webResearch as WD,researchBrief as XD,researchCall as YD,runResearch as zD}from"./web-research.js";import{parseAmount as jD,moneyIn as QD,basisAt as qD,qualifierAt as ZD,quoteAround as $D,offersIn as ek,rankOffers as rk,comparable as ok,basisLabel as tk,formatValue as ak,unverifiedAmounts as ik,quoteFormIn as sk}from"./offers.js";import{isSecretField as Sk,maskSecretFields as Ek,isPersonalField as lk,commitKind as mk,commitQuestion as ck,captchaIn as Tk,captchaHandoff as pk,fenceUntrusted as _k,isFenced as dk}from"./page-guard.js";import{BROWSER_RELAY as Ak,BROWSER_KINDS as fk,validateBrowserCall as Ik,validateBrowserAnnounce as Ok,validateBrowserResult as uk,createBrowserRelay as Nk,browserRelaySystem as gk}from"./browser-relay.js";export{pa as ACCESS_LOG_MAX,Ta as ACCESS_LOG_VERSION,i as ACTOR_KINDS,Up as AGENT_ID_RE,mc as AGENT_REF_RE,CR as ALLOW_ALL,a as ALL_TYPES,YR as AMBIENT_KINDS,fA as AMBIENT_MAX_WORDS,Uh as ANOTHER_VOICE,Hu as API_BASE,bp as APPLIES_TO,bc as ASK_TYPES,Bp as ASSISTANT_ID,xf as AUTOCOMPLETE_MAX_TOKENS,Lf as AUTOCOMPLETE_SYSTEM,hf as AUTOCOMPLETE_TEMPERATURE,KT as AUTONOMY,Ma as AdapterError,Gp as AgentError,vs as AnalyzerError,NO as BACKUP_KDF_ITERATIONS,Xc as BOARD_TOOL_NAME,Lg as BOOKKEEPING_KEYS,zo as BRIEF_STATES,LC as BRINGBACK_COMMAND,fk as BROWSER_KINDS,Ak as BROWSER_RELAY,jm as BUDGET_DIMENSIONS,Kf as BUG_REPORT_SLASH_ITEMS,As as BUILTIN_TRIGGERS,an as BUILTIN_VOICE_INTENTS,uO as BackupError,Jm as BudgetError,bs as CADENCES,oM as CAPABILITY_TOOLS_SYSTEM,Ax as CE_SOURCE_PREFIX,dx as CE_SPECVERSION,Rx as CE_TYPE_PREFIX,VT as CHECKS,Jo as CLAIM_KINDS,n as CLASSES,mO as CLOCK_TOLERANCE_MS,$M as COMPACTION_SYSTEM,OO as COMPRESSIONS,Mm as COMPRESSION_MODES,Ch as CONTINUATION_WINDOW_MS,fP as CONTINUE_TEXT,_E as COOLDOWN_MS,jx as COST_BASES,Qu as COUNTED,Ge as COWRITER_SYSTEM,we as COWRITER_TEMPERATURE,o as CURRENT_VERSION,SP as CUT_FINISH,hu as DARK,KR as DATA_SCOPES,Ks as DAYPART_HOUR,eM as DECIDE_TOOL_NAME,o_ as DECLINE_REASONS,Yc as DEFAULT_ASK_TIMEOUT_MS,QR as DEFAULT_BLOCK_CHARS,Pm as DEFAULT_COMPRESSION,wT as DEFAULT_GATE,xi as DEFAULT_INTERNAL_PATTERNS,wi as DEFAULT_LOCK_MS,wE as DEFAULT_MAX_FINISH_TRIES,jR as DEFAULT_MAX_MEMORIES,GE as DEFAULT_MAX_ROUNDS,P_ as DEFAULT_MIN_CALLS,ZF as DEFAULT_MONITOR_PROFILE,KO as DEFAULT_POLICY,el as DEFAULT_SHIELD,rl as DEFAULT_STORE,xo as DEFAULT_THRESHOLD,Gs as DEFAULT_WAKE,om as DESCRIBE_ACTION,dg as DESKTOP_SECTION_IDS,Mh as ECHO_OVERLAP,Ph as ECHO_TAIL_MS,S as EFFECTS,E as EGRESS,vp as EGRESS_CLASSES,IO as ENCRYPTED_TYPE,Vu as ENDPOINTS,vr as ENGINE_KINDS,Cp as ENGINE_SPEC_KINDS,Bn as ENTITIES_SCHEMA,Wu as ENTITLEMENT_PUBLIC_JWK,vn as ENTITY_TYPES,wa as ENTRY_KINDS,ZO as ENTRY_VERSION,t as EVENT_TYPES,tp as EXECUTIVE,VE as EXHAUSTED_NOTE,ZL as EXTRACT_PROVIDER_ID,qL as EXTRACT_ROUTE,rx as EXTRACT_TYPES,eN as EntitlementError,l as EventError,ph as FACTCHECK_SCHEMA,_h as FACTCHECK_VERDICTS,Ti as FAILOVER_CAPABILITY_GAP,ci as FAILOVER_CLASS_GAP,OE as FAILOVER_MAX_ATTEMPTS,JO as FAST_FLUSH_MS,jO as FAST_STREAK,bP as FEATURES,AD as FEATURE_MAP,RD as FEATURE_SURFACES,Yu as FEATURE_TIER,BM as FETCHED_TTL_MS,Zn as FIELD_TYPES,yL as FILES_TOOL,hc as FINDINGS_SCHEMA,Fc as FINDING_KINDS,Ml as FIND_ACTION,cm as FIND_DESCRIPTION,Tm as FIND_RESIDENT,mm as FIND_TOOL_NAME,KE as FINISH_NUDGES,XM as FIT_HEADROOM,ju as FREE_LIMITS,xA as FRONT_PAGES,kl as FUSED_BUDGET_MS,Dl as FUSED_CANDIDATES,Df as GEARS,Of as GOAL_MIN_NEW,Sc as GRANTABLE,tR as GRANT_INFO,lc as GRANT_RE,Yh as HF_API,vl as HUB_TOOL_NAME,HT as HUMAN_FLAGS,mE as INPUT_PROGRESS_TOOLS,eg as INSIGHT_KINDS,ff as INSTRUCTION_RE,hi as INTERNAL_PATTERN_CATALOG,Cr as INVARIANTS,SM as IN_PROCESS_IDS,uD as ISSUE_REPO,gD as ISSUE_SEARCH_API,Ss as JOB_ACTIONS,yT as JOB_POST_ID_RE,kT as JOB_POST_STATUSES,iu as JOURNAL_BOUNDS,DT as JobPostError,qO as JournalError,Gi as KDF_HASH,Bi as KDF_ITERATIONS,NR as KernelError,r_ as LEDGER_ENTRY_KINDS,e_ as LEDGER_VERSION,xu as LIGHT,oT as LIVE_RUN_STATUSES,UP as LOCKABLE,HE as LOOPING_NUDGE,qa as LOOP_KINDS,jI as LibraryError,Za as LoopError,Zo as MAX_BRIEF_CHARS,qo as MAX_BRIEF_RECORDS,jo as MAX_CLAIMS,Qo as MAX_CLAIM_REFS,ws as MAX_COMMANDS_PER_DELTA,xd as MAX_DEPTH,$L as MAX_DOCUMENT_BYTES,Xi as MAX_ENTRIES,_t as MAX_EXCERPTS,dt as MAX_EXCERPT_CHARS,Le as MAX_GRAPH_NODES,CD as MAX_ISSUE_URL,ap as MAX_JOBS_PER_ROUND,GR as MAX_MATCHES,zR as MAX_MEMORY_CHARS,Vi as MAX_NOTE_CHARS,NN as MAX_NOTE_IMAGE_BYTES,gh as MAX_PENDING_CHARS,ip as MAX_ROUNDS,iF as MAX_SECONDS,Wi as MAX_SECRET_CHARS,CL as MAX_SKILL_FILE_BYTES,ML as MAX_SKILL_PACKAGE_BYTES,ho as MAX_SUBJECTS,Fo as MAX_SUBJECT_CHARS,Ld as MAX_SUBTASKS,Wn as MAX_SUGGESTIONS,Xn as MAX_SUGGESTION_CHARS,pt as MAX_SYNTHESIS_CLAIMS,TI as MAX_TAGS,cI as MAX_TAG_LENGTH,Hi as MAX_TITLE_CHARS,JI as MAX_TITLE_LEN,DI as MAX_TITLE_LENGTH,Pn as MAX_TOPICS,Ln as MAX_TOPIC_CHARS,Ex as MCP_CATALOG,Sx as MCP_REGISTRY_API,MS as MCP_SIGN_IN_CODE,_R as MCP_TOOL_NAME,WR as MEMORY_KINDS,XR as MEMORY_KIND_NAMES,ZR as MEMORY_TOOL_SPEC,$R as MEMORY_UPCASTERS,VR as MEMORY_VERSION,sc as MERGE_POLICIES,Lh as MIN_BARGE_IN_WORDS,l_ as MIN_FIT,JR as MIN_MEMORY_CHARS,tF as MIN_SECONDS,hd as MIN_TAKEUP_FIT,Es as MISSED_POLICIES,Eg as MOMENT_BADGES,qF as MONITOR_SOURCES,Nh as MUTE_GRACE_MS,AR as ManifestError,sC as McpClient,eA as MemoryError,Kt as NEAR_TITLE_DISTANCE,ND as NEW_ISSUE_BASE,Gf as NEW_THREAD_SLASH_ITEMS,K as NOTE_ACTIONS,W as NOTE_ACTION_ERRORS,H as NOTE_ACTION_ORDER,V as NOTE_ACTION_TEMPERATURE,X as NOTE_COMMANDS,z as NOTE_COMMAND_MAX_TOKENS,Y as NOTE_COMMAND_TEMPERATURE,uN as NOTE_IMAGE_SCHEME,gN as NOTE_IMAGE_TYPES,ng as NOTE_SECTIONS,aL as NOTE_TOOL_SPECS,sD as NOTHING_NEW,lE as OBSERVATION_TOOLS,Ou as OMNI_GRAMMAR,Iu as OMNI_MODES,ex as PAGE_CHARS,Fu as PALETTES,$S as PARALLEL_LOCAL_RE,kL as PATH_KIND,Wt as PDF_MAX_CHARS,al as PERMISSION_ANSWERS,tl as PERMISSION_EVENT,vP as PERMISSION_MODES,il as PERMISSION_TIMEOUT_MS,sl as PERMISSION_TOOL_NAME,Ku as PLANS,qe as PLAN_AUTHORS,$e as PLAN_DECOMPOSE_MAX_TOKENS,Ze as PLAN_DECOMPOSE_SYSTEM,er as PLAN_DECOMPOSE_TEMPERATURE,nc as PLAN_MODES,Qe as PLAN_ROLES,rr as PLAN_SECTION_MAX_TOKENS,or as PLAN_SECTION_TEMPERATURE,kP as POLICY_TOKEN_TYPE,DP as POLICY_VERSION,yc as POST_KINDS,Uc as POST_STATUSES,pg as PREF_SECTIONS,_g as PREF_SECTION_IDS,LP as PRESENCE_BUDGET_TOKENS,xP as PRESENCE_KINDS,Eh as PRICING_BASES,lh as PRICING_LABELS,BP as PRODUCT_HOSTS,OT as PROJECT_ID_RE,ep as PROJECT_JOBS_SCHEMA,rp as PROJECT_REVIEW_SCHEMA,sp as PROJECT_RUN_STATUSES,IT as PROJECT_STATUSES,sF as PROMPT_TEXT,At as PROPOSAL_STATES,zu as PRO_FEATURES,Lx as PUSH_LIMITS,FP as PolicyError,fT as ProjectError,op as ProjectRunError,lr as REACH,$u as RECHECK_INTERVAL_MS,vm as RECIPE_MODES,Hm as RECIPE_TOOL_NAME,Np as RECORD_ENGINE_KINDS,zI as RECORD_KINDS,PO as RECORD_TYPE,E_ as RECRUIT_SCHEMA,yP as REDACTION_TIERS,wo as REDACTION_TOKEN_TYPES,mn as REFINEMENT_SCHEMA,_ as REF_KINDS,Dr as REGISTRY_STATES,gR as REQUIRED_PLUGINS,Pg as REQUIREMENTS,rM as RERANK_TOOL_NAME,d as RESOLUTION,oL as RESPONSE_LANGUAGES,$n as RESPONSE_MODES,Ie as RESULTS_PER_ENGINE,$E as RESULT_TOOL_NAME,tT as RESUMABLE_RUN_STATUSES,ka as RETRIEVAL_TOOLS,Ql as REVEAL,Op as ROLE_KINDS,ic as ROLE_MODES,sR as ROSTER_KINDS,WE as ROUND_SEPARATOR,Mp as ROUTE_PREFERS,ad as RUN_STATUSES,bm as RecipeError,_i as RouterError,Ui as RuleError,qR as SAME_FACT,oF as SAMPLE_RATE,ss as SCHEDULE_KINDS,F_ as SCM_KINDS,s as SCOPE_KINDS,Ip as SCORECARD_ENTRY_KINDS,up as SCORECARD_VERSION,bx as SEALED_TYPE,vx as SEALED_VERSION,fe as SEARCH_ENGINES,pu as SEGMENT_RE,Ho as SELF_LABELS,Cg as SETTINGS_GROUPS,Vg as SETTINGS_OPEN_DEFAULT,Mg as SETTINGS_PAGES,Du as SHAPE,PC as SIDELINE_COMMANDS,hC as SIDELINE_SLASH_ITEMS,YC as SIDELINE_TOOL_NAME,zC as SIDELINE_TOOL_SPEC,vA as SKILL_CONTEXTS,gL as SKILL_DRAFT_SCHEMA,KA as SKILL_FILE_KINDS,IL as SKILL_FILE_TOOL,BA as SKILL_HISTORY_SCOPES,bA as SKILL_MANIFEST_VERSION,GA as SKILL_MCP_MODES,wA as SKILL_TRUST,HA as SKILL_UPCASTERS,af as SKILL_VARS,sf as SKILL_VAR_NAMES,jL as SKIP_DIR_NAMES,Bf as SLASH_TYPING_RE,zO as SLOW_FLUSH_MS,HO as SLOW_POLICY,aR as SOLO_BUDGET,YN as SORT_LABELS,XN as SORT_MODES,fR as SOURCES,OM as SOURCE_TOOL_SPEC,FA as SOURCE_TRUST,Ht as SPAN_MIN_TERMS,wN as SPEAKER_SLOTS,Gh as SPOKEN_REPLY_HINT,ST as STALLED_AFTER_MS,Jp as STARTER_AGENTS,cc as STARTER_TEAMS,Q_ as STEP_MAX_CHARS,nP as STITCH_LIMITS,Lo as SUBJECT_KINDS,Yn as SUGGESTIONS_SCHEMA,ft as SUPERSEDE_OVERLAP,yi as SUPPRESSED,ce as SWARM_ROLES,mt as SYNTHESIS_SCHEMA,ls as ScheduleError,Bx as SealError,Br as SearchEngineError,VA as SkillManifestError,DA as SkillSourceError,_f as SkillVarError,eS as StructuredError,cO as SyncError,aF as TARGET_SECONDS,q_ as TASK_TRANSCRIPT_MAX_CHARS,Ju as TEAM_FEATURES,md as TEAM_MANUAL,Nc as TEAM_PLAN_SCHEMA,iR as TEAM_SHAPES,ld as TEAM_TOOL_NAME,Lu as THEMES,Dc as THREAD_KINDS,kc as THREAD_STATUSES,xC as THREAD_TOOL_NAME,FC as THREAD_TOOL_SPEC,pF as TIER_LABEL,kI as TITLE_RULES_VERSION,ku as TOKEN_NAMES,yu as TOKEN_ROLES,VS as TOKEN_SKEW_MS,xn as TOPICS_SCHEMA,$t as TRANSCRIPT_MAX_CHARS,ns as TRIGGER_KINDS,zh as TTS_ARCH_LABEL,ac as TeamError,td as TeamRunError,Zr as ToolGroupError,dE as UNAVAILABLE_REASONS,FI as UNTITLED_MEETING,pr as UPCASTERS,Xu as UPGRADE_URL,Jx as USAGE_RING_MAX,Cn as UTTERANCE_DANGLING_MS,gn as UTTERANCE_SETTLE_MS,Wh as VAD_DEFAULTS,vi as VAULT_VERSION,uh as VOICE_STATES,Ki as VaultError,Hs as VoiceIntentError,Yr as WEATHER_HOST,zr as WEATHER_TIMEOUT_MS,QC as WEATHER_TOOL_NAME,qC as WEATHER_TOOL_SYSTEM,bD as WEB_RESEARCH_LIMITS,Am as WEB_SEARCH_SPEC,dm as WEB_SEARCH_TOOL_NAME,Rm as WEB_SEARCH_TOOL_SYSTEM,vD as WEB_TASK_DOMAINS,uo as WIDGET_SURFACES,t_ as WITHDRAW_AFTER,Rd as WORKLOG_KINDS,Ec as WORK_GRANTS,kf as WRITER_PREFS,yf as WRITER_PREF_DEFAULTS,Jr as WeatherError,Zt as YOUTUBE_HOSTS,$a as abortCause,Ot as accept,SD as accumulates,tm as actionMenu,XO as adaptProfile,AC as adaptiveToolRetryHint,RI as addTag,UE as addUsage,dp as adjustSummary,xL as admitPackage,AO as advanceBases,HP as agentAllowed,Xd as agentColor,qp as agentFromForm,Wd as agentHue,Yd as agentInitials,Vd as agentKind,oe as agentMentionAt,bo as aliasMap,BE as anthropicTranscript,PT as applyAll,x_ as applyCard,Be as applyEdits,nu as applyEntry,cD as applyMonitorReply,jP as applyPolicyToSettings,Ig as applySections,eh as applyUsage,de as appoint,Wr as areaLabel,ja as argsShape,BF as argsToText,gA as asksOnlyAboutPage,Vp as assistantAgent,WL as attachedFilesProvider,br as attemptOrder,cp as attest,GS as authHeader,US as authorizeUrl,rC as availableDestinations,GO as backupFromRecords,YS as bareToolName,JL as basenameOf,qD as basisAt,tk as basisLabel,bO as bestCodec,Qp as blankAgent,w_ as blankConnection,hT as blankJobPost,pT as blankProject,pc as blankTeam,EE as blockedToolResult,Pc as boardText,Kc as boardToolProvider,Hc as boardToolSpec,_u as boundSegments,b_ as branchFor,Ug as breadcrumb,uc as breakCycles,et as briefId,tt as briefLinks,BC as briefPrompt,ot as briefTerms,rt as briefToText,gk as browserRelaySystem,LD as buildBugReport,am as buildGroupDispatchSpec,xe as buildNoteGraph,Qt as buildPdfDocument,Oe as buildSearchUrl,em as buildToolset,Ua as buildTrajectory,la as buildTranscriptDocument,Zd as builtinOrg,sN as can,os as canAddEntry,MT as canJobPostTransition,TT as canProjectTransition,XF as canRefresh,zS as canRunConcurrently,Ir as canSatisfy,nA as candidatesFrom,Sp as canonical,hS as canonicalResource,tM as capabilityToolsProvider,lM as capabilityView,pk as captchaHandoff,Tk as captchaIn,oa as captionTracksFromPlayerResponse,EL as captureFromMessage,Jd as cardNumbers,L_ as cardOverride,N_ as carveBudget,dF as catalogStatus,gF as catalogUnavailable,Au as catchUpPlan,N as causesAreWellFormed,Ox as ceHostOf,Ix as ceSourceOf,Ng as changedSections,UL as checkAttachablePath,gr as checkInvariants,at as checkKnowledgeInvariants,rN as checkoutUrl,eT as checkpointFrom,G as chipText,cM as choiceNote,mM as choicePatch,Tt as claimsFromSynthesis,TE as classifyFailure,pe as classifyModel,Ni as classifySource,dl as claudePermissionResponse,yI as cleanTitle,KD as cleanUrl,Ff as clipCompletion,Y_ as clipMessage,Fs as clipText,X_ as clipTranscript,lS as coerce,Hn as coerceEntities,zL as collapseDots,cC as combineSystemPrompt,Z as commandLineAt,On as commandLooksFinished,zs as commandsFromSegments,mk as commitKind,ck as commitQuestion,qE as compactValue,ZM as compactable,JM as compactionPrompt,jM as compactionRecord,ok as comparable,u as compareEvents,DR as compileQuery,Vs as compileWake,B as composerChips,um as compressToolSpec,Nm as compressToolSpecs,gm as compressionStats,U_ as connectionFor,K_ as connectionFromForm,sA as containment,$o as contentHash,dP as continuationMessages,J_ as continuationNote,tI as continueList,gt as converge,nh as costFor,Ra as createAccessLog,Ca as createAdapterRegistry,fC as createAdaptiveToolPolicy,Us as createAnalyzerRegistry,Vc as createAnswerBox,T as createAppender,xr as createBlobStore,Cc as createBoard,Nk as createBrowserRelay,Wm as createBudget,hE as createCallRunner,Da as createCitationCollector,j_ as createControl,hM as createFetchedStore,QO as createJournal,OR as createKernel,Lr as createLogStore,RR as createManifest,Pr as createMemoryAdapter,pE as createModelHealth,ii as createModelRouter,fl as createPermissionDesk,Fr as createRegistry,YE as createResultStore,ki as createRuleEngine,Jc as createRunCache,su as createSegment,yA as createSkillSourceRegistry,Nf as createSpendMeter,Ja as createStepRecorder,cS as createStructuredStream,qr as createToolGroupRegistry,aE as createToolLoopGuard,Rs as createTriggerRegistry,za as createTurnRunner,Nn as createUtteranceGate,Kh as createVad,Yi as createVault,on as createVoiceIntentRegistry,Oh as createVoiceLoop,B_ as credentialEnv,bu as cssVarName,Fx as cursorOf,QN as dayBucket,pO as decide,f_ as decideRecruit,jA as declaredAccess,CO as decryptBackup,IN as defaultImagePolicy,fN as defaultLinkPolicy,JF as defaultMcpServers,k as defaultModelId,pD as defaultSkills,bM as defaultTtl,tn as defaultVoiceIntents,EF as defaultVoiceName,fM as deferAttachedSources,ga as defineAdapter,Hp as defineAgent,Ps as defineJob,CT as defineJobPost,Qa as defineLoop,ys as defineMeetingAnalyzer,ti as defineMiddleware,oi as defineModel,cT as defineProject,ai as defineRouteStrategy,Di as defineRule,rS as defineSchema,yr as defineSearchEngine,kA as defineSkillSource,qm as defineTeam,Qr as defineToolGroup,ds as defineTrigger,rn as defineVoiceIntent,lD as deltaInstruction,sg as demd,UN as densityRibbon,P as dequeue,LO as deriveBackupKey,nt as deriveBrief,St as deriveBriefs,Ji as deriveKey,KI as deriveMeetingTitle,aO as deriveTitle,Xp as describeAgent,GL as describeAttachedPath,dd as describeCall,G_ as describeConnection,Dp as describeEngine,aD as describeMonitorProfile,wL as describePathSize,ml as describePermission,Km as describeRecipeForApproval,tc as describeRole,YF as describeRuntime,oS as describeSchema,eF as describeSearchResult,Hg as describeSettingValue,QE as describeShape,iT as describeSpend,Ed as describeTeamForApproval,wd as describeTeamShape,kE as describeToolCall,th as describeTurnUsage,eC as destinationFromAgent,$g as destinationFromEndpoint,PD as diagnosticsText,IF as diarizeRows,MF as dictToText,Nt as diffProposal,wS as discoverMcpAuth,Ga as displayName,KL as displayPath,sM as distributionConfidence,EI as docStats,Cf as draftSeparator,Et as driftedRefs,km as dryRunRecipe,rd as dryRunTeam,RF as dtypePicker,Ls as dueJobs,yt as duplicateTitles,Bo as earnsBrief,en as editDistance,ve as editKey,BT as effectiveGate,Io as effectiveGrants,Kg as effectiveSettingValue,qS as effectiveToolName,he as egoGraph,YP as egressAllowed,vc as emptyBoardState,dT as emptyProjectRecord,qc as emptyRun,Wf as enabledSkills,gO as encryptBackup,wP as endpointAllowed,Ap as engineKey,Fp as engineKeyOf,Wp as engineOf,Me as engineOrder,hp as engineRef,m_ as engineRow,c_ as engineRows,cR as engineStrip,__ as engineWorth,wn as entitiesFormat,Gn as entitiesPrompt,Vn as entitiesStream,Zi as entryMeta,tu as entryStamp,KF as envLikeArgs,wF as envToText,oo as equipmentFor,ei as errorFacts,Em as estimateTokens,R_ as evaluatorPrompt,kx as eventStats,vM as exchangeOf,hm as expandRecipe,UR as expandReplacement,Tf as expandSkillPrompt,pS as explainMcpError,_N as exportDevicePublicKey,Cd as extendDependents,Nu as extractFilters,gi as extractUrls,sx as extractorChain,fh as factcheckKey,Rh as factcheckPrompt,Ah as factcheckVerdict,IE as failoverExhausted,li as failoverOrder,JP as featureEnabled,ID as featureIds,_k as fenceUntrusted,DM as fetchKey,mx as fetchMcpRegistryPage,HS as fetchMcpToken,kM as fetchTitle,yM as fetchedAsSources,UM as fetchedFacts,MI as filterByTags,Ba as filterEntries,TL as filterMcpServersForSkill,oD as filterMonitorTools,q as filterNoteActions,jN as filterRecords,D as filterSections,be as filterTypoEdits,Nl as findActionArgs,pm as findDispatchProvider,kD as findExistingIssues,sS as findJson,kR as findMatches,nO as findRecordRefs,FF as findRepeats,hg as findRow,ie as findSkillByName,se as findTargetByName,Ol as findTools,ul as findToolsResult,Xs as findWakeCommand,Lc as findingsInstruction,Gc as findingsOf,_p as fit,pP as fitAttachments,KM as fitFor,Ac as fixedPlan,XC as foldBackFor,GC as foldBackNote,Bc as foldBoard,wC as foldNotes,RT as foldProject,Zc as foldRun,RO as forkConflict,fa as formatBytes,$h as formatDownloads,LR as formatReport,wt as formatSurvey,OI as formatTag,gI as formatTagQuery,GN as formatTalkTime,Sa as formatTimestamp,Ea as formatTranscript,oh as formatTurnUsage,Sh as formatUsd,ak as formatValue,Vr as formatWeather,J as frameNoteAction,qu as freeCap,as as fromB64,Nx as fromCloudEvent,Cx as fromCloudEventLines,LA as frontPageInstruction,PA as frontPagesAskedAbout,go as fuseRRF,xl as fusedRanker,GT as gateAllows,ix as gatewayExtractor,pN as generateDeviceKey,uC as getMcpProviders,wr as getWeather,In as gistOpening,fn as gistText,$P as globToRegExp,uf as goalDraftAllowed,rc as grantAllows,eR as grantChoices,rR as grantsFromChoices,ro as grantsNeededFor,De as graphStats,Mf as groundingBlock,cg as groupActionsByOwner,Dg as groupById,F as groupModels,ZN as groupRecords,xF as groupRuns,na as groupSegments,ag as hasInsights,so as hasSubstance,dI as hasTag,NI as hasTagTerms,Nd as holdsGrants,Jg as homeChecklist,Ci as hostMatches,io as housekeepingTarget,bl as hubSpec,kO as identityCodec,AM as imageAttachmentsOf,TM as inProcessPatch,EM as inProcessView,aI as indentSelection,hx as ingestCloudEvents,Dh as initialVoiceState,og as insightKindOf,RS as installHintFor,If as instructionOnLine,Mu as isActionable,Xr as isAmbiguousLocation,VI as isBetterTitleSource,$d as isBuiltin,JS as isCacheable,WM as isContextLimitError,jF as isDefaultMcpServer,MO as isEncryptedBackup,ou as isEntry,yh as isFarewell,dk as isFenced,An as isFillerSentence,UI as isGenericTitle,IC as isInvalidToolParametersResult,no as isLocalHelper,es as isLocked,SE as isLoopableTool,od as isModelUnavailable,_P as isNoneNote,ES as isNothing,nD as isNothingNew,Sl as isPermissionTool,lk as isPersonalField,to as isPleasantry,aN as isPro,M as isQueued,ZI as isRecordId,Ko as isRedactionToken,A as isRef,Ne as isResultHost,rT as isResumable,WA as isSafeSkillPath,Xx as isSealedBlob,FO as isSealedRecord,Sk as isSecretField,vL as isSecretPath,Vo as isSelfLabel,dO as isSettled,Yx as isShredded,Vf as isSkillEnabled,ME as isSourceGateError,HN as isSpeakerImageValue,dS as isStaleMcpSession,Uo as isSubjectCandidate,iN as isTeam,ru as isTombstone,c as isValidEvent,oA as isValidMemory,eO as isValidStoredRecord,ra as isYouTubeUrl,yD as issueCommentText,FD as issueSearchUrl,d_ as jobApplications,gd as jobFromSubtask,FT as jobPostFromForm,JT as jobResults,LT as jobToRole,xs as jobsForEvent,ZT as jobsPrompt,HM as keepRecentFor,DO as keyCache,va as lanesOf,rL as languageInstruction,dh as lastClaimOf,Gl as lastUserText,lo as layoutFlowchart,a_ as ledgerKey,mN as licenseFromPayload,Rf as lineAt,O as linearize,Xt as linesFromItems,NA as linkAttachments,Ct as linkClaims,SO as linkRecordRefs,bg as linkTo,vg as linkToRow,La as linkifyCitations,OA as linksToRead,lf as lintSkillPrompt,ye as lintText,fD as listFeatures,xg as listRows,rs as lockedSummary,xh as looksLikeEcho,jt as looksScanned,Hh as lowBandEnergy,da as makeAccessEvent,Sm as makeDispatchProvider,lp as makeEntry,sm as makeGroupDispatchExecutor,$O as makeJournalEntry,s_ as makeLedgerEntry,iL as makeNoteToolExecutor,Vl as makePromptedTranscript,qI as makeRecordId,R as makeRef,Ri as makeSourceStore,Aa as makeStorageTier,Ul as makeToolHub,Ai as manifestText,Dm as mapInput,cP as mapParts,pA as markUsed,ha as markdownUrl,Ek as maskSecretFields,EA as matchForForget,yR as matchIndexFor,DD as matchIssues,zf as matchSlashRecipe,Yf as matchSlashSkill,jf as matchSlashTeam,Ds as matchSummary,CI as matchesTagFilter,CC as mcpBackoff,pR as mcpDispatchProvider,lC as mcpInventorySystem,nC as mcpProvider,px as mcpServerFromCatalogItem,EC as mcpSharedSystem,uR as meetDecisions,Mi as meetReach,Os as meetingEndedTrigger,tg as meetingInsights,_D as meetingNotesSkill,Is as meetingStartedTrigger,WI as meetingTitlePrompt,TA as memoryBlock,tA as memoryKey,nL as memoryToolProvider,dA as memoryToolSystem,ne as mentionAnswerPrefix,bt as mentionsFrom,aC as mergeEndpointDestinations,Ce as mergeEngineResults,oP as mergeNote,Je as mergeResearchLanes,mu as mergeSegments,ae as mergeSkillPrompt,ug as mergeStamped,W_ as mergeTranscript,QM as messagesAfter,V_ as messagesFor,lF as microphoneError,VM as minWindowFor,fS as missingCommandIn,AS as missingCommandMessage,vd as missingStarters,KP as modelAllowed,_F as modelRows,Qh as modelSearchUrl,y as modelSummary,lg as momentBadge,QD as moneyIn,ln as monitorIntent,rD as monitorNeedsTools,$F as monitorProfile,mD as monitorPrompt,eD as monitorWindowMs,L as moveQueued,Mo as multiSearch,VF as mutableRef,T_ as needForJob,JA as needsBridge,jS as needsConfirmation,cN as needsRecheck,cA as needsWhere,Kx as newDeviceKey,xD as newIssueUrl,FN as newNoteImageId,z_ as newSteps,LM as newsAsk,cs as nextFireAt,KC as nextSidelineIndex,ps as nextWakeAt,UO as nodeCodec,wx as nodeSealer,RE as normModelName,Kp as normalizeAgent,Ym as normalizeBudget,i_ as normalizeCall,k_ as normalizeConnection,Rp as normalizeEngine,Lp as normalizeEngineSpec,vT as normalizeGate,ec as normalizeGrants,bf as normalizeIntent,gT as normalizeJobPost,rA as normalizeMemory,Zh as normalizeModel,GP as normalizeOrgPolicy,YL as normalizePath,IS as normalizePlatform,Pp as normalizePolicy,mh as normalizePricing,mT as normalizeProject,Pt as normalizeRecord,Lt as normalizeRecords,Tx as normalizeRegistryEntry,cx as normalizeRegistryPage,fd as normalizeRequest,fp as normalizeScm,of as normalizeSkill,Zs as normalizeSpeech,$I as normalizeStoredRecord,Do as normalizeSubject,pI as normalizeTag,_I as normalizeTags,$m as normalizeTeam,yn as normalizeTopic,Un as normalizeTopics,bE as normalizeUsage,Uf as normalizeWriterPrefs,Q as noteActionItems,j as noteActionLabel,aP as noteConflictsIn,CN as noteImageId,PN as noteImageIds,MN as noteImageRef,LN as noteImageRefs,En as noteIntent,Sg as noteSectionKind,VC as noteUnits,SR as observeInbox,Zu as observeSince,ER as observeStrip,hs as occurrenceKey,Ts as occurrencesBetween,ek as offersIn,gl as oneLiner,vE as openAiTranscript,Vx as openBlob,iM as openDecision,Qi as openEntry,hO as openRecord,Yt as orderLines,QA as originLabel,XA as originOf,hN as orphanNoteImages,kt as orphanRecords,rI as outlineOf,Cl as overlapRank,Ru as overlayEntries,_S as packageFromArgs,FL as packagesFromFiles,Fg as pageById,CA as pageInstruction,HD as pageKey,Jt as pageTextFromItems,kg as pagesOf,ax as paginateText,Uu as paletteFor,zt as paragraphsFromLines,ZS as parallelEligible,re as parseAgentMention,jD as parseAmount,vF as parseArgsInput,LS as parseAuthChallenge,it as parseBriefText,kC as parseBringBack,Hf as parseBugCommand,js as parseClock,Ys as parseCommand,_s as parseCron,Js as parseDuration,Kn as parseEntities,GF as parseEnvInput,A_ as parseEvaluation,Mc as parseFindings,Eo as parseFlowchart,QT as parseJobs,xR as parseJsonl,Bg as parseLink,oI as parseListItem,bF as parseMcpConfig,mg as parseMeetingNotes,kN as parseMeetingText,wf as parseNewThread,qs as parseNumberWords,uu as parseOmni,fc as parsePlan,ar as parsePlanTasks,QI as parseRecordId,pn as parseRefinement,y_ as parseRemote,qT as parseReview,wD as parseSearchText,Tu as parseSegmentName,DC as parseSideline,uS as parseSignInPrompt,te as parseSkillMention,Ef as parseSkillVars,mS as parseStructured,jn as parseSuggestions,uI as parseTagQuery,sa as parseTimedText,XI as parseTitleResponse,Xl as parseToolCalls,kn as parseTopics,Hr as parseWeather,Qs as parseWhen,ea as parseYouTubeUrl,EP as partChars,mP as partPrompt,jh as partitionTtsModels,VD as passagesOf,BL as pathAttachment,HL as pathAttachmentsOf,Vh as pcmEnergy,C as pendingQueue,Tl as permissionAllowed,cl as permissionAnswer,Al as permissionIcon,ll as permissionKeys,Rl as permissionLine,VP as permissionMode,El as permissionRequestFromClaude,nl as permissionToolSpec,us as personJoinedTrigger,ba as phasesOf,Ns as phraseTrigger,aa as pickCaptionTrack,WO as pickProfile,ge as pickResults,fg as pickSections,mi as pinnedOrderOf,Sr as planAttribution,nr as planBody,zM as planCompaction,xx as planEventPush,tN as planLabel,oN as planOf,sr as planParts,Co as planQueries,tr as planSectionSystem,_O as planSync,ir as planTitleFor,rE as planToolRound,Ic as plannerPrompt,Zg as pointsAtGateway,YO as policyFor,qP as policyHash,QP as policyLabel,Zp as poolFor,Ei as preferenceFor,gM as prefetchAttachment,NM as prefetchPlan,CP as presenceBlock,uP as presenceDelta,OP as presenceFor,ch as priceUsage,ED as priorFindingsText,nT as priorWorkFor,ua as projectChain,_T as projectFromForm,AT as projectProgress,yx as projectYear,x as promoteQueued,Ud as promoteRoles,Va as promptEntries,ah as promptTokensOf,Wl as promptedToolsSystem,Hl as promptedTranscript,O_ as proposalFromNeeds,u_ as proposalToAgent,It as propose,_A as pruneMemories,ZD as qualifierAt,Cs as questionTrigger,yg as quickRows,$D as quoteAround,sk as quoteFormIn,Ll as rankFused,le as rankLinkTargets,rk as rankOffers,ze as rankResearchCards,dL as rankSkills,Go as rankSubjects,sh as rateFor,NP as reachOf,mr as reachRank,cr as reachSatisfies,DS as readAuthServerMetadata,yS as readRegistration,FS as readResourceMetadata,Ii as readSource,vC as readThread,vS as readTokenResponse,wI as readableWhen,xT as readyJobs,lA as recall,_l as recallPermission,tD as recentFindings,Jf as recipeInvocationText,Fm as recipeParams,Gm as recipeToolProvider,wm as recipeToolSpec,SA as reconcile,Ur as reconcileEngines,BO as recordsFromBackup,g_ as recruitEvents,I_ as recruitForRun,C_ as recruitJob,_a as redactAccessArgs,ht as redactedTokensIn,Ft as redactionCost,XP as redactionTier,TP as reduceNotes,GD as refineQueries,Rn as refineSpokenCommand,Tn as refinementFormat,cn as refinementPrompt,_n as refinementStream,WF as refreshArgs,KS as registerMcpClient,kS as registrationRequest,lx as registryListUrl,ut as reject,pl as rememberPermission,b as rememberRecent,nn as reminderIntent,AI as removeTag,_M as renderContent,mo as renderFlowchartSvg,AN as renderMarkdown,EO as repairAnswerMarkup,xa as repairCitedLinks,SS as repairJson,vR as replaceAll,BR as replaceAllInRange,bR as replaceMatch,PR as replay,ni as requirementsFor,Si as requirementsForStep,hl as rerankThrough,BD as researchAsk,XD as researchBrief,YD as researchCall,We as researchRelevance,Ye as researchSnippet,gC as resetMcp,iP as resolveNoteConflict,f as resolveRef,yC as resolveSidelineTarget,gu as resolveSince,vo as resolveSubjects,zp as resolveTeam,Gu as resolveTheme,aS as responseFormat,ZE as resultToolSpec,ed as resumeTeam,Zl as revealCut,ql as revealStep,$T as reviewPrompt,nS as rewriteJson,fx as rfc3339,Te as roleById,zd as roleCardId,$x as rollupKey,Hd as rosterRows,jT as roundBudget,FE as roundCap,MP as roundCount,YT as roundJobs,PP as roundMinutes,iE as roundSignature,WP as routeAllowed,p_ as routeFor,Oa as routeGraph,Re as routeTeam,qN as rowTime,$c as runFromEvents,lR as runLanes,ym as runPlan,XT as runProject,Um as runRecipe,zD as runResearch,CM as runResearchItem,JE as runResultQuery,sT as runState,$_ as runTeam,oE as runToolRound,xE as runTurnLoop,fE as runWithFailover,He as salientTerms,AA as sameMemory,pi as sameModelKey,qA as sameSkillOrigin,II as sameTags,un as sameUtterance,nF as sampleSeconds,SF as sampleTooShort,NF as saveTimedOut,uF as saveVoiceFailure,mA as saysWhere,VO as scalePolicy,Sn as scheduleIntent,oc as scmAllows,MD as scrubReportText,Hx as sealBlob,ji as sealEntry,xO as sealRecord,$i as searchEntries,qh as searchModels,fm as searchResultsToText,Xg as searchSettings,oO as searchTextFor,bL as secretReason,Og as sectionHash,Qg as sectionOfRow,Rg as sectionSpec,Ag as sectionValue,oC as seedDestinations,Su as segmentBytes,Eu as segmentEntries,cu as segmentName,du as segmentsFor,lI as selectionStats,wg as setSettingValue,zP as settingLocked,Gg as settingValue,jg as settingsGateOf,Wg as settingsOpenMode,zg as settingsStatusAll,Yg as settingsStatusOf,dn as settleRefinement,Ep as sha256,zE as shieldToolResult,fi as shortUrl,HI as shouldAutoTitle,lu as shouldRotate,tC as shouldSeedDestinations,Wx as shredBlob,WC as sidelinePath,JC as sidelineToolProvider,dN as signChallenge,NS as signInError,gS as signInFromError,CS as signInToolResult,si as signalsFrom,iA as similarity,RL as skillCatalogSystem,oR as skillChoices,PL as skillCreatorPrompt,uL as skillDiscoveryProvider,OL as skillEntry,fL as skillFileProvider,zA as skillFiles,hL as skillFromDraft,_L as skillHandle,LL as skillIdFrom,$f as skillInvocationLabel,Zf as skillInvocationOf,ZA as skillIsStale,cL as skillPackageFiles,mL as skillRunFromSkill,pL as skillToolSystem,nf as skillVar,pf as skillVarGuidance,Sf as skillVarPattern,qf as slashCommandInsert,Xf as slashCommandItems,aA as slotOf,Yp as slugAgentId,dc as slugTeamName,XL as sniffType,iO as snippetOf,Qd as soloTeam,JN as sortRecords,zN as sortStamp,mC as sourceCitationSystem,CE as sourceGate,gE as sourceGuardFor,Oi as sourceId,HC as sourceOf,Pi as sourcePolicyFor,NE as sourcePolicySettings,Li as sourceUrlsOf,Fa as sourcesFromToolText,vt as spanningQuestions,vh as speakStream,Bh as speakable,vN as speakerBreakdown,VN as speakerLabeller,yN as speakerStats,BN as speakerTimeline,aT as spendOf,mR as spendRows,lP as splitForWindow,rP as splitNoteBlocks,sE as stableToolCallKey,TO as stampOf,cF as startRecording,jp as starterAgents,bd as starterTeam,Tc as starterTeams,yE as stepResultText,uA as storyLinkOf,yO as streamCodec,xN as stripNoteImageRefs,Wo as stripQualifiers,ko as subjectKey,yo as subjectTokens,cf as substituteSkillVars,Id as subtaskFromRequest,LI as suggestExistingTags,Xo as suggestMerges,mf as suggestSkillVar,Jn as suggestionsFormat,zn as suggestionsPrompt,Qn as suggestionsStream,pp as summarize,n_ as summarizeEngine,hF as summarizeRun,rh as summarizeUsage,rg as summarySections,au as supersedes,_e as supportsSubagents,Bt as surveyCorpus,OF as switchOutcome,tP as syncNote,ct as synthesisPrompt,qM as systemWithSummary,PI as tagFacets,xI as tagsSearchText,Od as takeUp,ud as takeUpLine,Md as taskTree,zT as teamForRound,_c as teamFromForm,Bd as teamHealth,Qf as teamInvocationText,kd as teamLanes,Dd as teamLine,Gd as teamShape,sd as teamToolProvider,nd as teamToolSpec,Sd as teamToolTimeoutMs,qd as teamsWithSolos,NC as testMcpServer,PF as textToDict,Bu as themeStylesheet,UC as threadManifest,Pd as threadRows,Ha as threadTitle,bC as threadToolProvider,Xa as threadTree,Ka as threadsOf,Gt as thresholdSweep,nN as tierFor,kp as tierOf,ia as timedTextUrl,sn as timerIntent,fs as timerTrigger,GI as titleFromDate,BI as titleFromParticipants,bI as titleFromSummary,vI as titleFromTopics,hD as titleTerms,ts as toB64,xc as toBriefClaims,dM as toChatMessages,ux as toCloudEvent,Mx as toCloudEventBatch,gx as toCloudEventLines,vu as toCssVars,tO as toIndexEntry,tS as toJsonSchema,hR as toJsonl,Or as toModelSchema,ur as toModelSchemas,RM as toMultimodalMessages,yF as toSanitizedReport,rO as toSearchRecord,sI as toggleLinePrefix,SI as toggleLink,fI as toggleTag,nI as toggleTask,iI as toggleWrap,BS as tokenExpired,bS as tokenRequest,$s as tokenize,eu as tombstone,zl as toolChannel,Fl as toolDoc,nE as toolMadeProgress,eo as toolNeedFor,TC as toolStatus,XS as toolTraits,Ve as topicTerms,gs as topicTrigger,Dn as topicsFormat,Fn as topicsPrompt,hn as topicsSchema,bn as topicsStream,QS as traitsIndex,Jl as transcriptFor,ma as transcriptFromTracks,$ as triggerQueryAt,Cm as trimDescription,Fe as trimGraph,RP as trimOverlap,YA as trustOf,Jh as ttsArchOf,Wa as turnsOf,iS as unfence,zi as unlockVault,ik as unverifiedAmounts,ue as unwrapRedirect,_r as upcast,dr as upcastAll,RA as upcastMemory,ef as upcastSkill,rf as upcastSkills,jd as upsertAgents,qx as usageFromEvent,Zx as usageFromOpenAi,zm as usageOf,Qx as usageRecord,im as validateAction,wp as validateAgent,Ok as validateBrowserAnnounce,Ik as validateBrowserCall,uk as validateBrowserResult,Xm as validateBudget,Ar as validateCapability,D_ as validateConnection,xp as validateEngineSpec,qi as validateEntry,m as validateEvent,ox as validateExtractRequest,tx as validateExtractResponse,bT as validateGate,fr as validateInvocation,NT as validateJobPost,lT as validateProject,xm as validateRecipe,ms as validateSchedule,$A as validateSkill,Zm as validateTeam,To as validateView,po as validateViewInvocation,Ao as validateWidget,fo as validateWidgetMessage,_C as vaultWidgetSystem,kF as verdict,Tp as verifyAttested,mp as verifyChain,EN as verifyEntitlement,ZP as verifyPolicyToken,lN as verifySignedToken,ta as videoMetaFromPlayerResponse,_o as viewResult,Yl as visiblePrefix,Ut as vocabularyDrift,Ms as voiceCommandTrigger,fF as voiceListRows,AF as voicePicker,kh as voiceSpeaker,Fh as voiceStep,Ws as wakeFor,Dt as wantedPages,Cu as wantsModel,dC as wantsVaultGuidance,Oc as waves,PM as weatherFollowupPlace,MM as weatherPlace,ZC as weatherToolProvider,Kr as weatherUrl,Gx as webCryptoSealer,mF as webMedia,Xe as webQuery,WD as webResearch,Im as webSearchToolProvider,xS as wellKnownUrls,Kd as whereItWorks,pC as widgetAuthoringSystem,Oo as widgetIcon,Ee as wikiQueryAt,xt as wikilinksIn,wM as windowOf,VL as withAbsolutePaths,Wc as withBoardTool,DF as withCost,FM as withFetchedMemo,nm as withGuidance,Bl as withHint,gP as withPresence,Kl as withPromptedTools,U as withRecent,jE as withResultShield,jc as withRunCache,IM as withSourceTool,AP as withStitching,DE as withToolSystem,SN as withinFreeLimit,PE as withinReach,sO as wordCount,Ue as wordDiff,_d as workLogEvidence,Td as workLogFor,pd as workLogText,v_ as worktreeDirFor,Af as writerAffordance,Pf as writerRequest,gf as writerTail};
1
+ import{CURRENT_VERSION as o,EVENT_TYPES as t,ALL_TYPES as a,ACTOR_KINDS as i,SCOPE_KINDS as s,CLASSES as n,EFFECTS as S,EGRESS as l,EventError as E,validateEvent as m,isValidEvent as c,createAppender as T}from"./event.js";import{REF_KINDS as _,RESOLUTION as d,makeRef as R,isRef as A,resolveRef as f}from"./ref.js";import{linearize as O,compareEvents as u,causesAreWellFormed as N}from"./order.js";import{pendingQueue as C,isQueued as M,dequeue as P,moveQueued as L,promoteQueued as x}from"./queue.js";import{groupModels as F,filterSections as D,defaultModelId as k,modelSummary as y,withRecent as U,rememberRecent as b}from"./model-picker.js";import{composerChips as B,chipText as w}from"./composer-chips.js";import{NOTE_ACTIONS as K,NOTE_ACTION_ORDER as H,NOTE_ACTION_TEMPERATURE as V,NOTE_ACTION_ERRORS as W,NOTE_COMMANDS as X,NOTE_COMMAND_TEMPERATURE as Y,NOTE_COMMAND_MAX_TOKENS as z,frameNoteAction as J,noteActionLabel as j,noteActionItems as Q,filterNoteActions as q,commandLineAt as Z,triggerQueryAt as $}from"./note-actions.js";import{parseAgentMention as re,agentMentionAt as oe,parseSkillMention as te,mergeSkillPrompt as ae,findSkillByName as ie,findTargetByName as se,mentionAnswerPrefix as ne}from"./note-mentions.js";import{wikiQueryAt as le,rankLinkTargets as Ee}from"./note-links.js";import{SWARM_ROLES as ce,roleById as Te,classifyModel as pe,supportsSubagents as _e,appoint as de,routeTeam as Re}from"./cowriter-router.js";import{SEARCH_ENGINES as fe,RESULTS_PER_ENGINE as Ie,buildSearchUrl as Oe,unwrapRedirect as ue,isResultHost as Ne,pickResults as ge,mergeEngineResults as Ce,engineOrder as Me}from"./web-search.js";import{MAX_GRAPH_NODES as Le,buildNoteGraph as xe,egoGraph as he,trimGraph as Fe,graphStats as De}from"./note-graph.js";import{lintText as ye,wordDiff as Ue,filterTypoEdits as be,editKey as ve,applyEdits as Be,COWRITER_SYSTEM as we,COWRITER_TEMPERATURE as Ge}from"./cowriter.js";import{salientTerms as He,topicTerms as Ve,researchRelevance as We,webQuery as Xe,researchSnippet as Ye,rankResearchCards as ze,mergeResearchLanes as Je}from"./note-research.js";import{PLAN_ROLES as Qe,PLAN_AUTHORS as qe,PLAN_DECOMPOSE_SYSTEM as Ze,PLAN_DECOMPOSE_MAX_TOKENS as $e,PLAN_DECOMPOSE_TEMPERATURE as er,PLAN_SECTION_MAX_TOKENS as rr,PLAN_SECTION_TEMPERATURE as or,planSectionSystem as tr,parsePlanTasks as ar,planTitleFor as ir,planParts as sr,planBody as nr,planAttribution as Sr}from"./note-plan.js";import{REACH as Er,reachRank as mr,reachSatisfies as cr}from"./reach.js";import{UPCASTERS as pr,upcast as _r,upcastAll as dr}from"./upcast.js";import{validateCapability as Ar,validateInvocation as fr,canSatisfy as Ir,toModelSchema as Or,toModelSchemas as ur}from"./capability.js";import{checkInvariants as gr,INVARIANTS as Cr}from"./invariants.js";import{createMemoryAdapter as Pr,createLogStore as Lr,createBlobStore as xr}from"./store.js";import{createRegistry as Fr,REGISTRY_STATES as Dr}from"./registry.js";import{defineSearchEngine as yr,reconcileEngines as Ur,attemptOrder as br,ENGINE_KINDS as vr,SearchEngineError as Br}from"./search-engines.js";import{getWeather as Gr,weatherUrl as Kr,parseWeather as Hr,formatWeather as Vr,areaLabel as Wr,isAmbiguousLocation as Xr,WEATHER_HOST as Yr,WEATHER_TIMEOUT_MS as zr,WeatherError as Jr}from"./weather.js";import{defineToolGroup as Qr,createToolGroupRegistry as qr,ToolGroupError as Zr}from"./tool-groups.js";import{toolNeedFor as eo,grantsNeededFor as ro,equipmentFor as oo,isPleasantry as to}from"./tool-need.js";import{housekeepingTarget as io,hasSubstance as so,isLocalHelper as no}from"./housekeeping.js";import{parseFlowchart as lo,layoutFlowchart as Eo,renderFlowchartSvg as mo}from"./flowchart.js";import{validateView as To,validateViewInvocation as po,viewResult as _o}from"./view.js";import{validateWidget as Ao,validateWidgetMessage as fo,effectiveGrants as Io,widgetIcon as Oo,WIDGET_SURFACES as uo}from"./widget.js";import{fuseRRF as go,planQueries as Co,multiSearch as Mo}from"./rrf.js";import{SUBJECT_KINDS as Lo,DEFAULT_THRESHOLD as xo,MAX_SUBJECTS as ho,MAX_SUBJECT_CHARS as Fo,normalizeSubject as Do,subjectKey as ko,subjectTokens as yo,isSubjectCandidate as Uo,aliasMap as bo,resolveSubjects as vo,earnsBrief as Bo,rankSubjects as wo,REDACTION_TOKEN_TYPES as Go,isRedactionToken as Ko,SELF_LABELS as Ho,isSelfLabel as Vo,stripQualifiers as Wo,suggestMerges as Xo}from"./entity.js";import{BRIEF_STATES as zo,CLAIM_KINDS as Jo,MAX_CLAIMS as jo,MAX_CLAIM_REFS as Qo,MAX_BRIEF_RECORDS as qo,MAX_BRIEF_CHARS as Zo,contentHash as $o,briefId as et,briefToText as rt,briefTerms as ot,briefLinks as tt,checkKnowledgeInvariants as at,parseBriefText as it}from"./knowledge.js";import{deriveBrief as nt,deriveBriefs as St,driftedRefs as lt}from"./knowledge-derive.js";import{SYNTHESIS_SCHEMA as mt,synthesisPrompt as ct,claimsFromSynthesis as Tt,MAX_SYNTHESIS_CLAIMS as pt,MAX_EXCERPTS as _t,MAX_EXCERPT_CHARS as dt}from"./synthesis.js";import{PROPOSAL_STATES as At,SUPERSEDE_OVERLAP as ft,propose as It,accept as Ot,reject as ut,diffProposal as Nt,converge as gt,linkClaims as Ct}from"./promotion.js";import{normalizeRecord as Pt,normalizeRecords as Lt,wikilinksIn as xt,redactedTokensIn as ht,redactionCost as Ft,wantedPages as Dt,orphanRecords as kt,duplicateTitles as yt,vocabularyDrift as Ut,mentionsFrom as bt,spanningQuestions as vt,surveyCorpus as Bt,thresholdSweep as wt,formatSurvey as Gt,NEAR_TITLE_DISTANCE as Kt,SPAN_MIN_TERMS as Ht}from"./curate.js";import{PDF_MAX_CHARS as Wt,linesFromItems as Xt,orderLines as Yt,paragraphsFromLines as zt,pageTextFromItems as Jt,looksScanned as jt,buildPdfDocument as Qt}from"./pdf-layout.js";import{YOUTUBE_HOSTS as Zt,TRANSCRIPT_MAX_CHARS as $t,parseYouTubeUrl as ea,isYouTubeUrl as ra,captionTracksFromPlayerResponse as oa,videoMetaFromPlayerResponse as ta,pickCaptionTrack as aa,timedTextUrl as ia,parseTimedText as sa,groupSegments as na,formatTimestamp as Sa,formatTranscript as la,buildTranscriptDocument as Ea,transcriptFromTracks as ma}from"./media-transcript.js";import{ACCESS_LOG_VERSION as Ta,ACCESS_LOG_MAX as pa,redactAccessArgs as _a,makeAccessEvent as da,createAccessLog as Ra,makeStorageTier as Aa,formatBytes as fa}from"./observability.js";import{routeGraph as Oa,projectChain as ua}from"./route-graph.js";import{defineAdapter as ga,createAdapterRegistry as Ca,AdapterError as Ma}from"./adapters.js";import{linkifyCitations as La,repairCitedLinks as xa,markdownUrl as ha,sourcesFromToolText as Fa,createCitationCollector as Da,RETRIEVAL_TOOLS as ka}from"./citations.js";import{buildTrajectory as Ua,phasesOf as ba,lanesOf as va,filterEntries as Ba,displayName as wa,ENTRY_KINDS as Ga,threadsOf as Ka,threadTitle as Ha,promptEntries as Va,turnsOf as Wa,threadTree as Xa}from"./trajectory.js";import{createTurnRunner as za,createStepRecorder as Ja,argsShape as ja,defineLoop as Qa,LOOP_KINDS as qa,LoopError as Za,abortCause as $a,errorFacts as ei}from"./loop.js";import{defineModel as oi,defineMiddleware as ti,defineRouteStrategy as ai,createModelRouter as ii,signalsFrom as si,requirementsFor as ni,requirementsForStep as Si,preferenceFor as li,failoverOrder as Ei,pinnedOrderOf as mi,FAILOVER_CLASS_GAP as ci,FAILOVER_CAPABILITY_GAP as Ti,sameModelKey as pi,RouterError as _i}from"./router.js";import{makeSourceStore as Ri,manifestText as Ai,shortUrl as fi,readSource as Ii,sourceId as Oi}from"./sources-retrieval.js";import{classifySource as Ni,extractUrls as gi,hostMatches as Ci,meetReach as Mi,sourcePolicyFor as Pi,sourceUrlsOf as Li,DEFAULT_INTERNAL_PATTERNS as xi,INTERNAL_PATTERN_CATALOG as hi}from"./sources.js";import{defineRule as Di,createRuleEngine as ki,SUPPRESSED as yi,RuleError as Ui}from"./rules.js";import{VAULT_VERSION as vi,KDF_ITERATIONS as Bi,KDF_HASH as wi,DEFAULT_LOCK_MS as Gi,VaultError as Ki,MAX_TITLE_CHARS as Hi,MAX_NOTE_CHARS as Vi,MAX_SECRET_CHARS as Wi,MAX_ENTRIES as Xi,createVault as Yi,unlockVault as zi,deriveKey as Ji,sealEntry as ji,openEntry as Qi,validateEntry as qi,entryMeta as Zi,searchEntries as $i,isLocked as es,lockedSummary as rs,canAddEntry as os,toB64 as ts,fromB64 as as}from"./vault.js";import{SCHEDULE_KINDS as ss,TRIGGER_KINDS as ns,JOB_ACTIONS as Ss,MISSED_POLICIES as ls,ScheduleError as Es,validateSchedule as ms,nextFireAt as cs,occurrencesBetween as Ts,nextWakeAt as ps,parseCron as _s,defineTrigger as ds,createTriggerRegistry as Rs,BUILTIN_TRIGGERS as As,timerTrigger as fs,meetingStartedTrigger as Is,meetingEndedTrigger as Os,personJoinedTrigger as us,phraseTrigger as Ns,topicTrigger as gs,questionTrigger as Cs,voiceCommandTrigger as Ms,defineJob as Ps,dueJobs as Ls,jobsForEvent as xs,occurrenceKey as hs,clipText as Fs,matchSummary as Ds}from"./schedule.js";import{defineMeetingAnalyzer as ys,createAnalyzerRegistry as Us,CADENCES as bs,AnalyzerError as vs}from"./meeting-analyzers.js";import{DEFAULT_WAKE as ws,ASSISTANT_NAME as Gs,MAX_COMMANDS_PER_DELTA as Ks,DAYPART_HOUR as Hs,VoiceIntentError as Vs,compileWake as Ws,wakeFor as Xs,findWakeCommand as Ys,parseCommand as zs,commandsFromSegments as Js,parseDuration as js,parseClock as Qs,parseWhen as qs,parseNumberWords as Zs,normalizeSpeech as $s,tokenize as en,editDistance as rn,defineVoiceIntent as on,createVoiceIntentRegistry as tn,defaultVoiceIntents as an,BUILTIN_VOICE_INTENTS as sn,timerIntent as nn,reminderIntent as Sn,scheduleIntent as ln,noteIntent as En,monitorIntent as mn,REFINEMENT_SCHEMA as cn,refinementPrompt as Tn,refinementFormat as pn,parseRefinement as _n,refinementStream as dn,settleRefinement as Rn,refineSpokenCommand as An,isFillerSentence as fn,gistText as In,gistOpening as On,commandLooksFinished as un,sameUtterance as Nn,createUtteranceGate as gn,UTTERANCE_SETTLE_MS as Cn,UTTERANCE_DANGLING_MS as Mn}from"./voice-intents.js";import{MAX_TOPICS as Ln,MAX_TOPIC_CHARS as xn,TOPICS_SCHEMA as hn,topicsSchema as Fn,topicsPrompt as Dn,topicsFormat as kn,parseTopics as yn,normalizeTopic as Un,normalizeTopics as bn,topicsStream as vn,ENTITY_TYPES as Bn,ENTITIES_SCHEMA as wn,entitiesPrompt as Gn,entitiesFormat as Kn,parseEntities as Hn,coerceEntities as Vn,entitiesStream as Wn,MAX_SUGGESTIONS as Xn,MAX_SUGGESTION_CHARS as Yn,SUGGESTIONS_SCHEMA as zn,suggestionsPrompt as Jn,suggestionsFormat as jn,parseSuggestions as Qn,suggestionsStream as qn}from"./extraction.js";import{FIELD_TYPES as $n,RESPONSE_MODES as eS,StructuredError as rS,defineSchema as oS,describeSchema as tS,toJsonSchema as aS,responseFormat as iS,unfence as sS,findJson as nS,rewriteJson as SS,repairJson as lS,isNothing as ES,coerce as mS,parseStructured as cS,createStructuredStream as TS}from"./structured.js";import{explainMcpError as _S,packageFromArgs as dS,isStaleMcpSession as RS,installHintFor as AS,missingCommandMessage as fS,missingCommandIn as IS,normalizePlatform as OS}from"./mcp-errors.js";import{parseSignInPrompt as NS,signInError as gS,signInFromError as CS,signInToolResult as MS,MCP_SIGN_IN_CODE as PS}from"./mcp-signin.js";import{parseAuthChallenge as xS,wellKnownUrls as hS,canonicalResource as FS,readResourceMetadata as DS,readAuthServerMetadata as kS,registrationRequest as yS,readRegistration as US,authorizeUrl as bS,tokenRequest as vS,readTokenResponse as BS,tokenExpired as wS,authHeader as GS,discoverMcpAuth as KS,registerMcpClient as HS,fetchMcpToken as VS,TOKEN_SKEW_MS as WS}from"./mcp-oauth.js";import{toolTraits as YS,bareToolName as zS,canRunConcurrently as JS,isCacheable as jS,needsConfirmation as QS,traitsIndex as qS,effectiveToolName as ZS,parallelEligible as $S,PARALLEL_LOCAL_RE as el}from"./tool-traits.js";import{planToolRound as ol,runToolRound as tl}from"./tool-round.js";import{createToolLoopGuard as il,roundSignature as sl,stableToolCallKey as nl,toolMadeProgress as Sl,isLoopableTool as ll,blockedToolResult as El,OBSERVATION_TOOLS as ml,INPUT_PROGRESS_TOOLS as cl}from"./tool-loop-guard.js";import{classifyFailure as pl,createModelHealth as _l,COOLDOWN_MS as dl,UNAVAILABLE_REASONS as Rl,normModelName as Al}from"./model-health.js";import{runWithFailover as Il,failoverExhausted as Ol,FAILOVER_MAX_ATTEMPTS as ul}from"./failover.js";import{sourcePolicySettings as gl,sourceGuardFor as Cl,sourceGate as Ml,isSourceGateError as Pl,withinReach as Ll}from"./source-gate.js";import{runTurnLoop as hl,createCallRunner as Fl,roundCap as Dl,withToolSystem as kl,describeCall as yl,stepResultText as Ul,addUsage as bl,normalizeUsage as vl,openAiTranscript as Bl,anthropicTranscript as wl,DEFAULT_MAX_ROUNDS as Gl,DEFAULT_MAX_FINISH_TRIES as Kl,FINISH_NUDGES as Hl,LOOPING_NUDGE as Vl,EXHAUSTED_NOTE as Wl,ROUND_SEPARATOR as Xl}from"./turn-loop.js";import{createResultStore as zl,shieldToolResult as Jl,runResultQuery as jl,withResultShield as Ql,describeShape as ql,compactValue as Zl,resultToolSpec as $l,RESULT_TOOL_NAME as eE,DEFAULT_SHIELD as rE,DEFAULT_STORE as oE}from"./tool-result.js";import{PERMISSION_EVENT as aE,PERMISSION_ANSWERS as iE,PERMISSION_TIMEOUT_MS as sE,PERMISSION_TOOL_NAME as nE,permissionToolSpec as SE,isPermissionTool as lE,permissionRequestFromClaude as EE,permissionKeys as mE,describePermission as cE,permissionAnswer as TE,permissionAllowed as pE,rememberPermission as _E,recallPermission as dE,claudePermissionResponse as RE,permissionLine as AE,permissionIcon as fE,createPermissionDesk as IE}from"./agent-permission.js";import{findTools as uE,findToolsResult as NE,findActionArgs as gE,oneLiner as CE,overlapRank as ME,FIND_ACTION as PE}from"./tool-discovery.js";import{rankFused as xE,fusedRanker as hE,rerankThrough as FE,toolDoc as DE,FUSED_CANDIDATES as kE,FUSED_BUDGET_MS as yE}from"./tool-rank-fused.js";import{makeToolHub as bE,hubSpec as vE,HUB_TOOL_NAME as BE,withHint as wE,lastUserText as GE}from"./tool-hub.js";import{withPromptedTools as HE,promptedTranscript as VE,makePromptedTranscript as WE,promptedToolsSystem as XE,parseToolCalls as YE,visiblePrefix as zE,toolChannel as JE,transcriptFor as jE}from"./prompted-tools.js";import{REVEAL as qE,revealStep as ZE,revealCut as $E}from"./stream-reveal.js";import{buildToolset as rm}from"./toolset.js";import{DESCRIBE_ACTION as tm,actionMenu as am,buildGroupDispatchSpec as im,validateAction as sm,makeGroupDispatchExecutor as nm,withGuidance as Sm,makeDispatchProvider as lm,estimateTokens as Em}from"./tool-dispatch.js";import{FIND_TOOL_NAME as cm,FIND_DESCRIPTION as Tm,FIND_RESIDENT as pm,findDispatchProvider as _m}from"./find-tool.js";import{WEB_SEARCH_TOOL_NAME as Rm,WEB_SEARCH_TOOL_SYSTEM as Am,WEB_SEARCH_SPEC as fm,searchResultsToText as Im,webSearchToolProvider as Om}from"./web-search-tool.js";import{compressToolSpec as Nm,compressToolSpecs as gm,compressionStats as Cm,trimDescription as Mm,COMPRESSION_MODES as Pm,DEFAULT_COMPRESSION as Lm}from"./tool-schema.js";import{validateRecipe as hm,expandRecipe as Fm,recipeParams as Dm,mapInput as km,dryRunRecipe as ym,runPlan as Um,runRecipe as bm,RecipeError as vm,RECIPE_MODES as Bm}from"./recipe.js";import{recipeToolProvider as Gm,recipeToolSpec as Km,describeRecipeForApproval as Hm,RECIPE_TOOL_NAME as Vm}from"./recipe-tool.js";import{createBudget as Xm,validateBudget as Ym,normalizeBudget as zm,usageOf as Jm,BudgetError as jm,BUDGET_DIMENSIONS as Qm}from"./budget.js";import{defineTeam as Zm,validateTeam as $m,normalizeTeam as ec,normalizeGrants as rc,grantAllows as oc,scmAllows as tc,describeRole as ac,TeamError as ic,ROLE_MODES as sc,MERGE_POLICIES as nc,PLAN_MODES as Sc,GRANTABLE as lc,WORK_GRANTS as Ec,GRANT_RE as mc,AGENT_REF_RE as cc,STARTER_TEAMS as Tc,starterTeams as pc,blankTeam as _c,teamFromForm as dc,slugTeamName as Rc}from"./team.js";import{fixedPlan as fc,parsePlan as Ic,plannerPrompt as Oc,waves as uc,breakCycles as Nc,TEAM_PLAN_SCHEMA as gc}from"./team-plan.js";import{createBoard as Mc,parseFindings as Pc,boardText as Lc,findingsInstruction as xc,toBriefClaims as hc,FINDINGS_SCHEMA as Fc,FINDING_KINDS as Dc,THREAD_KINDS as kc,THREAD_STATUSES as yc,POST_KINDS as Uc,POST_STATUSES as bc,ASK_TYPES as vc,emptyBoardState as Bc,foldBoard as wc,findingsOf as Gc}from"./team-board.js";import{boardToolProvider as Hc,boardToolSpec as Vc,createAnswerBox as Wc,withBoardTool as Xc,BOARD_TOOL_NAME as Yc,DEFAULT_ASK_TIMEOUT_MS as zc}from"./board-tool.js";import{createRunCache as jc,withRunCache as Qc}from"./team-cache.js";import{emptyRun as Zc,foldRun as $c,runFromEvents as eT,checkpointFrom as rT,isResumable as oT,LIVE_RUN_STATUSES as tT,RESUMABLE_RUN_STATUSES as aT,spendOf as iT,describeSpend as sT,runState as nT,priorWorkFor as ST,STALLED_AFTER_MS as lT}from"./team-record.js";import{validateProject as mT,normalizeProject as cT,defineProject as TT,canTransition as pT,blankProject as _T,projectFromForm as dT,emptyProjectRecord as RT,foldProject as AT,projectProgress as fT,ProjectError as IT,PROJECT_STATUSES as OT,PROJECT_ID_RE as uT}from"./project.js";import{validateJob as gT,normalizeJob as CT,defineJob as MT,canTransition as PT,applyAll as LT,jobToRole as xT,readyJobs as hT,blankJob as FT,jobFromForm as DT,JobError as kT,JOB_STATUSES as yT,JOB_ID_RE as UT}from"./job.js";import{validateGate as vT,normalizeGate as BT,effectiveGate as wT,gateAllows as GT,DEFAULT_GATE as KT,AUTONOMY as HT,HUMAN_FLAGS as VT,CHECKS as WT}from"./gate.js";import{runProject as YT,roundJobs as zT,teamForRound as JT,jobResults as jT,roundBudget as QT,parseJobs as qT,parseReview as ZT,jobsPrompt as $T,reviewPrompt as ep,PROJECT_JOBS_SCHEMA as rp,PROJECT_REVIEW_SCHEMA as op,ProjectRunError as tp,EXECUTIVE as ap,MAX_JOBS_PER_ROUND as ip,MAX_ROUNDS as sp,PROJECT_RUN_STATUSES as np}from"./project-run.js";import{canonical as lp,sha256 as Ep,makeEntry as mp,verifyChain as cp,attest as Tp,verifyAttested as pp,summarize as _p,fit as dp,adjustSummary as Rp,normalizeEngine as Ap,engineKey as fp,normalizeScm as Ip,SCORECARD_ENTRY_KINDS as Op,ROLE_KINDS as up,SCORECARD_VERSION as Np,ENGINE_KINDS as gp}from"./scorecard.js";import{ENGINE_KINDS as Mp,ROUTE_PREFERS as Pp,normalizePolicy as Lp,normalizeEngineSpec as xp,validateEngineSpec as hp,engineRef as Fp,engineKeyOf as Dp,describeEngine as kp,tierOf as yp}from"./engine.js";import{AGENT_ID_RE as bp,APPLIES_TO as vp,EGRESS_CLASSES as Bp,ASSISTANT_ID as wp,AgentError as Gp,validateAgent as Kp,normalizeAgent as Hp,defineAgent as Vp,assistantAgent as Wp,engineOf as Xp,describeAgent as Yp,slugAgentId as zp,resolveTeam as Jp,STARTER_AGENTS as jp,starterAgents as Qp,blankAgent as qp,agentFromForm as Zp,poolFor as $p}from"./agent.js";import{LEDGER_VERSION as r_,LEDGER_ENTRY_KINDS as o_,DECLINE_REASONS as t_,WITHDRAW_AFTER as a_,ledgerKey as i_,normalizeCall as s_,makeLedgerEntry as n_,summarizeEngine as S_}from"./model-ledger.js";import{RECRUIT_SCHEMA as E_,MIN_FIT as m_,engineRow as c_,engineRows as T_,needForJob as p_,routeFor as __,engineWorth as d_,applications as R_,evaluatorPrompt as A_,parseEvaluation as f_,decide as I_,recruitForRun as O_,proposalFromNeeds as u_,proposalToAgent as N_,carveBudget as g_,recruitEvents as C_,recruitJob as M_}from"./recruit.js";import{DEFAULT_MIN_CALLS as L_,cardOverride as x_,applyCard as h_}from"./model-candidates.js";import{SCM_KINDS as D_,validateConnection as k_,normalizeConnection as y_,parseRemote as U_,connectionFor as b_,branchFor as v_,worktreeDirFor as B_,credentialEnv as w_,describeConnection as G_,blankConnection as K_,connectionFromForm as H_}from"./scm-connection.js";import{messagesFor as W_,mergeTranscript as X_,clipTranscript as Y_,clipMessage as z_,newSteps as J_,continuationNote as j_,createControl as Q_,STEP_MAX_CHARS as q_,TASK_TRANSCRIPT_MAX_CHARS as Z_}from"./team-task.js";import{runTeam as ed,resumeTeam as rd,dryRunTeam as od,isModelUnavailable as td,TeamRunError as ad,RUN_STATUSES as id}from"./team-run.js";import{teamToolProvider as nd,teamToolSpec as Sd,teamToolTimeoutMs as ld,describeTeamForApproval as Ed,TEAM_TOOL_NAME as md,TEAM_MANUAL as cd}from"./team-tool.js";import{workLogFor as pd,workLogText as _d,workLogEvidence as dd,describeCall as Rd,WORKLOG_KINDS as Ad}from"./team-worklog.js";import{normalizeRequest as Id,subtaskFromRequest as Od,takeUp as ud,takeUpLine as Nd,holdsGrants as gd,jobFromSubtask as Cd,extendDependents as Md,taskTree as Pd,threadRows as Ld,MAX_SUBTASKS as xd,MAX_DEPTH as hd,MIN_TAKEUP_FIT as Fd}from"./team-subtask.js";import{teamLine as kd,teamLanes as yd}from"./team-trail.js";import{promoteRoles as bd,starterTeam as vd,missingStarters as Bd,teamHealth as wd,teamShape as Gd,describeTeamShape as Kd,whereItWorks as Hd,rosterRows as Vd,agentKind as Wd,agentHue as Xd,agentColor as Yd,agentInitials as zd,roleCardId as Jd,cardNumbers as jd,upsertAgents as Qd,soloTeam as qd,teamsWithSolos as Zd,builtinOrg as $d,isBuiltin as eR,grantChoices as rR,grantsFromChoices as oR,skillChoices as tR,GRANT_INFO as aR,SOLO_BUDGET as iR,TEAM_SHAPES as sR,ROSTER_KINDS as nR}from"./team-org.js";import{observeInbox as lR,observeStrip as ER,runLanes as mR,spendRows as cR,engineStrip as TR}from"./team-observe.js";import{mcpDispatchProvider as _R,MCP_TOOL_NAME as dR}from"./mcp-dispatch.js";import{createManifest as AR,ManifestError as fR,SOURCES as IR}from"./manifest.js";import{createKernel as uR,meetDecisions as NR,KernelError as gR,REQUIRED_PLUGINS as CR,ALLOW_ALL as MR}from"./kernel.js";import{replay as LR,formatReport as xR,parseJsonl as hR,toJsonl as FR}from"./harness.js";import{compileQuery as kR,findMatches as yR,matchIndexFor as UR,expandReplacement as bR,replaceMatch as vR,replaceAll as BR,replaceAllInRange as wR,MAX_MATCHES as GR}from"./text-search.js";import{DATA_SCOPES as HR}from"./scopes.js";import{MEMORY_VERSION as WR,MEMORY_KINDS as XR,MEMORY_KIND_NAMES as YR,AMBIENT_KINDS as zR,MAX_MEMORY_CHARS as JR,MIN_MEMORY_CHARS as jR,DEFAULT_MAX_MEMORIES as QR,DEFAULT_BLOCK_CHARS as qR,SAME_FACT as ZR,MEMORY_TOOL_SPEC as $R,MEMORY_UPCASTERS as eA,MemoryError as rA,normalizeMemory as oA,isValidMemory as tA,memoryKey as aA,slotOf as iA,similarity as sA,containment as nA,candidatesFrom as SA,reconcile as lA,matchForForget as EA,recall as mA,saysWhere as cA,needsWhere as TA,memoryBlock as pA,markUsed as _A,pruneMemories as dA,memoryToolSystem as RA,upcastMemory as AA,sameMemory as fA,AMBIENT_MAX_WORDS as IA}from"./memory.js";import{linksToRead as uA,storyLinkOf as NA,linkAttachments as gA,asksOnlyAboutPage as CA,pageInstruction as MA}from"./message-links.js";import{frontPagesAskedAbout as LA,frontPageInstruction as xA,FRONT_PAGES as hA}from"./site-pages.js";import{SOURCE_TRUST as DA,SkillSourceError as kA,defineSkillSource as yA,createSkillSourceRegistry as UA}from"./skill-sources.js";import{SKILL_MANIFEST_VERSION as vA,SKILL_CONTEXTS as BA,SKILL_HISTORY_SCOPES as wA,SKILL_MCP_MODES as GA,SKILL_TRUST as KA,SKILL_FILE_KINDS as HA,SKILL_UPCASTERS as VA,SkillManifestError as WA,isSafeSkillPath as XA,originOf as YA,trustOf as zA,skillFiles as JA,needsBridge as jA,declaredAccess as QA,originLabel as qA,sameSkillOrigin as ZA,skillIsStale as $A,validateSkill as ef,upcastSkill as rf,upcastSkills as of,normalizeSkill as tf}from"./skill-manifest.js";import{SKILL_VARS as sf,SKILL_VAR_NAMES as nf,skillVar as Sf,skillVarPattern as lf,parseSkillVars as Ef,lintSkillPrompt as mf,suggestSkillVar as cf,substituteSkillVars as Tf,expandSkillPrompt as pf,skillVarGuidance as _f,SkillVarError as df}from"./skill-vars.js";import{lineAt as Af,writerAffordance as ff,INSTRUCTION_RE as If,instructionOnLine as Of,GOAL_MIN_NEW as uf,goalDraftAllowed as Nf,createSpendMeter as gf,writerTail as Cf,draftSeparator as Mf,groundingBlock as Pf,writerRequest as Lf,AUTOCOMPLETE_SYSTEM as xf,AUTOCOMPLETE_MAX_TOKENS as hf,AUTOCOMPLETE_TEMPERATURE as Ff,clipCompletion as Df,GEARS as kf,WRITER_PREFS as yf,WRITER_PREF_DEFAULTS as Uf,normalizeWriterPrefs as bf,normalizeIntent as vf}from"./cowriter-writer.js";import{SLASH_TYPING_RE as wf,NEW_THREAD_SLASH_ITEMS as Gf,parseNewThread as Kf,BUG_REPORT_SLASH_ITEMS as Hf,parseBugCommand as Vf,isSkillEnabled as Wf,enabledSkills as Xf,slashCommandItems as Yf,matchSlashSkill as zf,matchSlashRecipe as Jf,recipeInvocationText as jf,matchSlashTeam as Qf,teamInvocationText as qf,slashCommandInsert as Zf,skillInvocationOf as $f,skillInvocationLabel as eI}from"./slash-commands.js";import{outlineOf as oI,parseListItem as tI,continueList as aI,indentSelection as iI,toggleWrap as sI,toggleLinePrefix as nI,toggleTask as SI,toggleLink as lI,docStats as EI,selectionStats as mI}from"./markdown-authoring.js";import{MAX_TAG_LENGTH as TI,MAX_TAGS as pI,normalizeTag as _I,normalizeTags as dI,hasTag as RI,addTag as AI,removeTag as fI,toggleTag as II,sameTags as OI,formatTag as uI,parseTagQuery as NI,hasTagTerms as gI,formatTagQuery as CI,matchesTagFilter as MI,filterByTags as PI,tagFacets as LI,suggestExistingTags as xI,tagsSearchText as hI}from"./tags.js";import{UNTITLED_MEETING as DI,MAX_TITLE_LENGTH as kI,TITLE_RULES_VERSION as yI,cleanTitle as UI,isGenericTitle as bI,titleFromSummary as vI,titleFromTopics as BI,titleFromParticipants as wI,titleFromDate as GI,readableWhen as KI,deriveMeetingTitle as HI,shouldAutoTitle as VI,isBetterTitleSource as WI,meetingTitlePrompt as XI,parseTitleResponse as YI}from"./titles.js";import{RECORD_KINDS as JI,MAX_TITLE_LEN as jI,LibraryError as QI,parseRecordId as qI,makeRecordId as ZI,isRecordId as $I,normalizeStoredRecord as eO,isValidStoredRecord as rO,toSearchRecord as oO,searchTextFor as tO,toIndexEntry as aO,deriveTitle as iO,snippetOf as sO,wordCount as nO,findRecordRefs as SO,linkRecordRefs as lO,repairAnswerMarkup as EO}from"./library.js";import{CLOCK_TOLERANCE_MS as cO,SyncError as TO,stampOf as pO,decide as _O,planSync as dO,isSettled as RO,forkConflict as AO,advanceBases as fO}from"./sync-plan.js";import{ENCRYPTED_TYPE as OO,COMPRESSIONS as uO,BackupError as NO,KDF_ITERATIONS as gO,encryptBackup as CO,decryptBackup as MO,isEncryptedBackup as PO,RECORD_TYPE as LO,deriveBackupKey as xO,sealRecord as hO,openRecord as FO,isSealedRecord as DO,keyCache as kO,identityCodec as yO,streamCodec as UO,nodeCodec as bO,bestCodec as vO}from"./backup-envelope.js";import{recordsFromBackup as wO,backupFromRecords as GO}from"./backup-records.js";import{DEFAULT_POLICY as HO,SLOW_POLICY as VO,scalePolicy as WO,pickProfile as XO,adaptProfile as YO,policyFor as zO,SLOW_FLUSH_MS as JO,FAST_FLUSH_MS as jO,FAST_STREAK as QO,createJournal as qO,JournalError as ZO,ENTRY_VERSION as $O,makeEntry as eu,tombstone as ru,isTombstone as ou,isEntry as tu,entryStamp as au,supersedes as iu,BOUNDS as su,createSegment as nu,applyEntry as Su,segmentBytes as lu,segmentEntries as Eu,shouldRotate as mu,mergeSegments as cu,segmentName as Tu,parseSegmentName as pu,SEGMENT_RE as _u,boundSegments as du,segmentsFor as Ru,overlay as Au,catchUpPlan as fu}from"./journal.js";import{OMNI_MODES as Ou,OMNI_GRAMMAR as uu,parseOmni as Nu,extractFilters as gu,resolveSince as Cu,wantsModel as Mu,isActionable as Pu}from"./omni.js";import{THEMES as xu,LIGHT as hu,DARK as Fu,PALETTES as Du,SHAPE as ku,TOKEN_NAMES as yu,TOKEN_ROLES as Uu,paletteFor as bu,cssVarName as vu,toCssVars as Bu,themeStylesheet as wu,resolveTheme as Gu}from"./theme.js";import{PLANS as Hu,API_BASE as Vu,ENDPOINTS as Wu,ENTITLEMENT_PUBLIC_JWK as Xu,UPGRADE_URL as Yu,FEATURE_TIER as zu,PRO_FEATURES as Ju,TEAM_FEATURES as ju,FREE_LIMITS as Qu,COUNTED as qu,freeCap as Zu,observeSince as $u,RECHECK_INTERVAL_MS as eN,EntitlementError as rN,checkoutUrl as oN,planOf as tN,planLabel as aN,isPro as iN,isTeam as sN,can as nN,tierFor as SN,withinFreeLimit as lN,verifyEntitlement as EN,verifySignedToken as mN,licenseFromPayload as cN,needsRecheck as TN}from"./entitlement.js";import{generateDeviceKey as _N,exportDevicePublicKey as dN,signChallenge as RN}from"./device-proof.js";import{renderMarkdown as fN,defaultLinkPolicy as IN,defaultImagePolicy as ON}from"./markdown-render.js";import{NOTE_IMAGE_SCHEME as NN,MAX_NOTE_IMAGE_BYTES as gN,NOTE_IMAGE_TYPES as CN,noteImageId as MN,noteImageRef as PN,noteImageIds as LN,noteImageRefs as xN,stripNoteImageRefs as hN,orphanNoteImages as FN,newNoteImageId as DN}from"./note-images.js";import{parseMeetingText as yN,speakerStats as UN,densityRibbon as bN}from"./meeting-text.js";import{speakerBreakdown as BN,speakerTimeline as wN,formatTalkTime as GN,SPEAKER_SLOTS as KN}from"./meeting-shape.js";import{isSpeakerImageValue as VN,speakerLabeller as WN}from"./meeting-shape.js";import{SORT_MODES as YN,SORT_LABELS as zN,sortStamp as JN,sortRecords as jN,filterRecords as QN,dayBucket as qN,rowTime as ZN,groupRecords as $N}from"./record-list.js";import{INSIGHT_KINDS as rg,summarySections as og,insightKindOf as tg,meetingInsights as ag,hasInsights as ig}from"./meeting-insights.js";import{demd as ng,NOTE_SECTIONS as Sg,noteSectionKind as lg,MOMENT_BADGES as Eg,momentBadge as mg,parseMeetingNotes as cg,groupActionsByOwner as Tg}from"./meeting-insights.js";import{PREF_SECTIONS as _g,PREF_SECTION_IDS as dg,DESKTOP_SECTION_IDS as Rg,sectionSpec as Ag,sectionValue as fg,pickSections as Ig,applySections as Og,sectionHash as ug,mergeStamped as Ng,changedSections as gg}from"./client-prefs.js";import{SETTINGS_GROUPS as Mg,SETTINGS_PAGES as Pg,REQUIREMENTS as Lg,BOOKKEEPING_KEYS as xg,listRows as hg,findRow as Fg,pageById as Dg,groupById as kg,pagesOf as yg,quickRows as Ug,breadcrumb as bg,linkTo as vg,linkToRow as Bg,parseLink as wg,valueOf as Gg,setValue as Kg,effectiveValue as Hg,describeValue as Vg,SETTINGS_OPEN_DEFAULT as Wg,settingsOpenMode as Xg,searchSettings as Yg,statusOf as zg,statusAll as Jg,homeChecklist as jg,gateOf as Qg,sectionOfRow as qg}from"./settings-registry.js";import{pointsAtGateway as $g,destinationFromEndpoint as eC,destinationFromAgent as rC,availableDestinations as oC,seedDestinations as tC,shouldSeedDestinations as aC,mergeEndpointDestinations as iC}from"./gateway-dests.js";import{McpClient as nC,mcpProvider as SC}from"./mcp-client.js";import{mcpSharedSystem as EC,mcpInventorySystem as mC,sourceCitationSystem as cC,combineSystemPrompt as TC,toolStatus as pC,widgetAuthoringSystem as _C,vaultWidgetSystem as dC,wantsVaultGuidance as RC}from"./tool-hints.js";import{adaptiveToolRetryHint as fC,createAdaptiveToolPolicy as IC,isInvalidToolParametersResult as OC}from"./adaptive-tool-policy.js";import{getMcpProviders as NC,testMcpServer as gC,resetMcp as CC,mcpBackoff as MC}from"./mcp-manager.js";import{SIDELINE_COMMANDS as LC,BRINGBACK_COMMAND as xC,THREAD_TOOL_NAME as hC,SIDELINE_SLASH_ITEMS as FC,THREAD_TOOL_SPEC as DC,parseSideline as kC,parseBringBack as yC,resolveSidelineTarget as UC,threadManifest as bC,threadToolProvider as vC,readThread as BC,briefPrompt as wC,foldBackNote as GC,foldNotes as KC,nextSidelineIndex as HC,sourceOf as VC,noteUnits as WC,sidelinePath as XC,foldBackFor as YC,SIDELINE_TOOL_NAME as zC,SIDELINE_TOOL_SPEC as JC,sidelineToolProvider as jC}from"./sideline.js";import{WEATHER_TOOL_NAME as qC,WEATHER_TOOL_SYSTEM as ZC,weatherToolProvider as $C,weatherFromSearch as eM}from"./weather-tool.js";import{DECIDE_TOOL_NAME as oM,RERANK_TOOL_NAME as tM,CAPABILITY_TOOLS_SYSTEM as aM,capabilityToolsProvider as iM}from"./capability-tools.js";import{openDecision as nM,distributionConfidence as SM}from"./open-decision.js";import{IN_PROCESS_IDS as EM,inProcessView as mM,capabilityView as cM,choicePatch as TM,choiceNote as pM,inProcessPatch as _M}from"./runtime-in-process.js";import{renderContent as RM,toChatMessages as AM,toMultimodalMessages as fM,imageAttachmentsOf as IM,deferAttachedSources as OM,withSourceTool as uM,SOURCE_TOOL_SPEC as NM}from"./context-attachments.js";import{prefetchPlan as CM,prefetchAttachment as MM,runResearchItem as PM,weatherPlace as LM,weatherFollowupPlace as xM,newsAsk as hM,pageAsk as FM,answeredByPrefetch as DM,webRedoAsk as kM,aboutOwnPast as yM,offeredSearch as UM}from"./prefetch.js";import{createFetchedStore as vM,withFetchedMemo as BM,fetchKey as wM,fetchTitle as GM,fetchedAsSources as KM,fetchedFacts as HM,defaultTtl as VM,exchangeOf as WM,FETCHED_TTL_MS as XM}from"./fetched.js";import{windowOf as zM,fitFor as JM,keepRecentFor as jM,minWindowFor as QM,isContextLimitError as qM,FIT_HEADROOM as ZM,SMALL_WINDOW as $M,isSmallWindow as eP,SMALL_WINDOW_ROUNDS as rP}from"./context-window.js";import{planCompaction as tP,compactionPrompt as aP,compactionRecord as iP,messagesAfter as sP,systemWithSummary as nP,compactable as SP,COMPACTION_SYSTEM as lP}from"./compaction.js";import{selectContext as mP}from"./context-select.js";import{withoutOwnInstructions as TP}from"./own-instructions.js";import{digest as _P,needsWhole as dP}from"./digest.js";import{planRetrieval as AP,toolsWanted as fP,worldAnswered as IP,toolPlan as OP,planTurn as uP}from"./retrieval-plan.js";import{asksIdentity as gP,identitySystem as CP,identityHint as MP}from"./identity.js";import{splitBlocks as LP,mergeNote as xP,syncNote as hP,conflictsIn as FP,resolveConflict as DP}from"./note-merge.js";import{STITCH_LIMITS as yP,CUT_FINISH as UP,partChars as bP,splitForWindow as vP,partPrompt as BP,mapParts as wP,reduceNotes as GP,fitAttachments as KP,isNone as HP,continuationMessages as VP,trimOverlap as WP,withStitching as XP,CONTINUE_TEXT as YP}from"./stitch.js";import{presenceFor as JP,presenceDelta as jP,reachOf as QP,withPresence as qP,presenceBlock as ZP,roundCount as $P,roundMinutes as eL,PRESENCE_BUDGET_TOKENS as rL,PRESENCE_KINDS as oL}from"./presence.js";import{PolicyError as aL,POLICY_VERSION as iL,POLICY_TOKEN_TYPE as sL,REDACTION_TIERS as nL,LOCKABLE as SL,FEATURES as lL,PERMISSION_MODES as EL,PRODUCT_HOSTS as mL,normalizeOrgPolicy as cL,endpointAllowed as TL,modelAllowed as pL,agentAllowed as _L,permissionMode as dL,routeAllowed as RL,redactionTier as AL,egressAllowed as fL,settingLocked as IL,featureEnabled as OL,applyPolicyToSettings as uL,policyLabel as NL,policyHash as gL,verifyPolicyToken as CL,globToRegExp as ML}from"./policy.js";import{languageInstruction as LL,RESPONSE_LANGUAGES as xL}from"./response-language.js";import{NOTE_TOOL_SPECS as FL,makeNoteToolExecutor as DL}from"./note-tool.js";import{memoryToolProvider as yL}from"./memory-tool.js";import{captureFromMessage as bL}from"./memory-capture.js";import{skillRunFromSkill as BL,skillPackageFiles as wL,filterMcpServersForSkill as GL,skillToolSystem as KL,skillHandle as HL,rankSkills as VL,skillCatalogSystem as WL}from"./skill-runtime.js";import{skillFileProvider as YL,SKILL_FILE_TOOL as zL,skillEntry as JL,skillDiscoveryProvider as jL}from"./skill-files.js";import{SKILL_DRAFT_SCHEMA as qL,MAX_SKILL_FILE_BYTES as ZL,MAX_SKILL_PACKAGE_BYTES as $L,skillCreatorPrompt as ex,skillIdFrom as rx,admitPackage as ox,skillFromDraft as tx,packagesFromFiles as ax}from"./skill-creator.js";import{PATH_KIND as sx,FILES_TOOL as nx,checkAttachablePath as Sx,secretReason as lx,isSecretPath as Ex,pathAttachment as mx,describeAttachedPath as cx,describePathSize as Tx,displayPath as px,pathAttachmentsOf as _x,withAbsolutePaths as dx,attachedFilesProvider as Rx,sniffType as Ax,normalizePath as fx,collapseDots as Ix,basenameOf as Ox,SKIP_DIR_NAMES as ux}from"./attached-paths.js";import{EXTRACT_ROUTE as gx,EXTRACT_PROVIDER_ID as Cx,MAX_DOCUMENT_BYTES as Mx,PAGE_CHARS as Px,EXTRACT_TYPES as Lx,validateExtractRequest as xx,validateExtractResponse as hx,paginateText as Fx,gatewayExtractor as Dx,extractorChain as kx}from"./extract-capability.js";import{MCP_REGISTRY_API as Ux,MCP_CATALOG as bx,registryListUrl as vx,fetchMcpRegistryPage as Bx,normalizeRegistryPage as wx,normalizeRegistryEntry as Gx,mcpServerFromCatalogItem as Kx}from"./mcp-registry.js";import{CE_SPECVERSION as Vx,CE_TYPE_PREFIX as Wx,CE_SOURCE_PREFIX as Xx,rfc3339 as Yx,ceSourceOf as zx,ceHostOf as Jx,toCloudEvent as jx,fromCloudEvent as Qx,toCloudEventLines as qx,fromCloudEventLines as Zx,toCloudEventBatch as $x}from"./cloudevents.js";import{PUSH_LIMITS as rh,planEventPush as oh,ingestCloudEvents as th,cursorOf as ah}from"./event-sync.js";import{eventStats as sh,projectYear as nh}from"./event-stats.js";import{SEALED_TYPE as lh,SEALED_VERSION as Eh,SealError as mh,webCryptoSealer as ch,nodeSealer as Th,newDeviceKey as ph,sealBlob as _h,openBlob as dh,shredBlob as Rh,isSealedBlob as Ah,isShredded as fh}from"./blob-envelope.js";import{USAGE_RING_MAX as Oh,COST_BASES as uh,usageRecord as Nh,usageFromEvent as gh,usageFromOpenAi as Ch,rollupKey as Mh,applyUsage as Ph,summarizeUsage as Lh,formatTurnUsage as xh,describeTurnUsage as hh,promptTokensOf as Fh}from"./usage.js";import{rateFor as kh,costFor as yh,formatUsd as Uh,PRICING_BASES as bh,PRICING_LABELS as vh,normalizePricing as Bh,priceUsage as wh}from"./usage-pricing.js";import{FACTCHECK_SCHEMA as Kh,FACTCHECK_VERDICTS as Hh,lastClaimOf as Vh,factcheckPrompt as Wh,factcheckVerdict as Xh,factcheckKey as Yh}from"./cowriter-factcheck.js";import{createVoiceLoop as Jh,VOICE_STATES as jh,MUTE_GRACE_MS as Qh,MAX_PENDING_CHARS as qh,CONTINUATION_WINDOW_MS as Zh,ECHO_OVERLAP as $h,ECHO_TAIL_MS as eF,MIN_BARGE_IN_WORDS as rF,looksLikeEcho as oF}from"./voice-loop.js";import{voiceStep as aF,initialVoiceState as iF,voiceSpeaker as sF,isFarewell as nF,ANOTHER_VOICE as SF}from"./voice-brain.js";import{speakStream as EF,speakable as mF,SPOKEN_REPLY_HINT as cF}from"./speak-stream.js";import{createVad as pF,lowBandEnergy as _F,pcmEnergy as dF,VAD_DEFAULTS as RF}from"./voice-vad.js";import{HF_API as fF,TTS_ARCH_LABEL as IF,ttsArchOf as OF,partitionTtsModels as uF,modelSearchUrl as NF,searchModels as gF,normalizeModel as CF,formatDownloads as MF,describeSearchResult as PF}from"./model-registry.js";import{SAMPLE_RATE as xF,MIN_SECONDS as hF,TARGET_SECONDS as FF,MAX_SECONDS as DF,PROMPT_TEXT as kF,sampleSeconds as yF,sampleTooShort as UF,defaultVoiceName as bF,microphoneError as vF,webMedia as BF,startRecording as wF}from"./voice-sample.js";import{TIER_LABEL as KF,modelRows as HF,catalogStatus as VF,dtypePicker as WF,voicePicker as XF,voiceListRows as YF,diarizeRows as zF,switchOutcome as JF,saveVoiceFailure as jF,saveTimedOut as QF,catalogUnavailable as qF}from"./voice-models.js";import{dictToText as $F,textToDict as eD}from"./redaction-dictionary.js";import{groupRuns as oD,summarizeRun as tD,findRepeats as aD,withCost as iD,verdict as sD,toSanitizedReport as nD}from"./run-details.js";import{parseMcpConfig as lD,parseArgsInput as ED,argsToText as mD,parseEnvInput as cD,envToText as TD,envLikeArgs as pD}from"./mcp-config-import.js";import{mutableRef as dD,refreshArgs as RD,canRefresh as AD,describeRuntime as fD}from"./mcp-launcher.js";import{defaultMcpServers as OD,isDefaultMcpServer as uD}from"./default-mcp-servers.js";import{MONITOR_SOURCES as gD,DEFAULT_MONITOR_PROFILE as CD,monitorProfile as MD,monitorWindowMs as PD,monitorNeedsTools as LD,filterMonitorTools as xD,recentFindings as hD,describeMonitorProfile as FD}from"./monitor-profile.js";import{NOTHING_NEW as kD,isNothingNew as yD,accumulates as UD,priorFindingsText as bD,deltaInstruction as vD,monitorPrompt as BD,applyMonitorReply as wD}from"./monitor-turn.js";import{defaultSkills as KD,meetingNotesSkill as HD}from"./default-skills.js";import{SURFACES as WD,FEATURES as XD,listFeatures as YD,featureIds as zD}from"./feature-map.js";import{ISSUE_REPO as jD,NEW_ISSUE_BASE as QD,ISSUE_SEARCH_API as qD,MAX_ISSUE_URL as ZD,scrubReportText as $D,diagnosticsText as ek,buildBugReport as rk,newIssueUrl as ok,titleTerms as tk,issueSearchUrl as ak,matchIssues as ik,findExistingIssues as sk,issueCommentText as nk}from"./bug-report.js";import{WEB_RESEARCH_LIMITS as lk,WEB_TASK_DOMAINS as Ek,researchAsk as mk,refineQueries as ck,parseSearchText as Tk,cleanUrl as pk,pageKey as _k,passagesOf as dk,webResearch as Rk,researchBrief as Ak,researchCall as fk,runResearch as Ik}from"./web-research.js";import{parseAmount as uk,moneyIn as Nk,basisAt as gk,qualifierAt as Ck,quoteAround as Mk,offersIn as Pk,rankOffers as Lk,comparable as xk,basisLabel as hk,formatValue as Fk,unverifiedAmounts as Dk,quoteFormIn as kk}from"./offers.js";import{isSecretField as Uk,maskSecretFields as bk,isPersonalField as vk,commitKind as Bk,commitQuestion as wk,captchaIn as Gk,captchaHandoff as Kk,fenceUntrusted as Hk,isFenced as Vk}from"./page-guard.js";import{BROWSER_RELAY as Xk,BROWSER_KINDS as Yk,validateBrowserCall as zk,validateBrowserAnnounce as Jk,validateBrowserResult as jk,createBrowserRelay as Qk,browserRelaySystem as qk}from"./browser-relay.js";export{pa as ACCESS_LOG_MAX,Ta as ACCESS_LOG_VERSION,i as ACTOR_KINDS,bp as AGENT_ID_RE,cc as AGENT_REF_RE,MR as ALLOW_ALL,a as ALL_TYPES,zR as AMBIENT_KINDS,IA as AMBIENT_MAX_WORDS,SF as ANOTHER_VOICE,Vu as API_BASE,vp as APPLIES_TO,vc as ASK_TYPES,wp as ASSISTANT_ID,Gs as ASSISTANT_NAME,hf as AUTOCOMPLETE_MAX_TOKENS,xf as AUTOCOMPLETE_SYSTEM,Ff as AUTOCOMPLETE_TEMPERATURE,HT as AUTONOMY,Ma as AdapterError,Gp as AgentError,vs as AnalyzerError,gO as BACKUP_KDF_ITERATIONS,Yc as BOARD_TOOL_NAME,xg as BOOKKEEPING_KEYS,zo as BRIEF_STATES,xC as BRINGBACK_COMMAND,Yk as BROWSER_KINDS,Xk as BROWSER_RELAY,Qm as BUDGET_DIMENSIONS,Hf as BUG_REPORT_SLASH_ITEMS,As as BUILTIN_TRIGGERS,sn as BUILTIN_VOICE_INTENTS,NO as BackupError,jm as BudgetError,bs as CADENCES,aM as CAPABILITY_TOOLS_SYSTEM,Xx as CE_SOURCE_PREFIX,Vx as CE_SPECVERSION,Wx as CE_TYPE_PREFIX,WT as CHECKS,Jo as CLAIM_KINDS,n as CLASSES,cO as CLOCK_TOLERANCE_MS,lP as COMPACTION_SYSTEM,uO as COMPRESSIONS,Pm as COMPRESSION_MODES,Zh as CONTINUATION_WINDOW_MS,YP as CONTINUE_TEXT,dl as COOLDOWN_MS,uh as COST_BASES,qu as COUNTED,we as COWRITER_SYSTEM,Ge as COWRITER_TEMPERATURE,o as CURRENT_VERSION,UP as CUT_FINISH,Fu as DARK,HR as DATA_SCOPES,Hs as DAYPART_HOUR,oM as DECIDE_TOOL_NAME,t_ as DECLINE_REASONS,zc as DEFAULT_ASK_TIMEOUT_MS,qR as DEFAULT_BLOCK_CHARS,Lm as DEFAULT_COMPRESSION,KT as DEFAULT_GATE,xi as DEFAULT_INTERNAL_PATTERNS,Gi as DEFAULT_LOCK_MS,Kl as DEFAULT_MAX_FINISH_TRIES,QR as DEFAULT_MAX_MEMORIES,Gl as DEFAULT_MAX_ROUNDS,L_ as DEFAULT_MIN_CALLS,CD as DEFAULT_MONITOR_PROFILE,HO as DEFAULT_POLICY,rE as DEFAULT_SHIELD,oE as DEFAULT_STORE,xo as DEFAULT_THRESHOLD,ws as DEFAULT_WAKE,tm as DESCRIBE_ACTION,Rg as DESKTOP_SECTION_IDS,$h as ECHO_OVERLAP,eF as ECHO_TAIL_MS,S as EFFECTS,l as EGRESS,Bp as EGRESS_CLASSES,OO as ENCRYPTED_TYPE,Wu as ENDPOINTS,vr as ENGINE_KINDS,Mp as ENGINE_SPEC_KINDS,wn as ENTITIES_SCHEMA,Xu as ENTITLEMENT_PUBLIC_JWK,Bn as ENTITY_TYPES,Ga as ENTRY_KINDS,$O as ENTRY_VERSION,t as EVENT_TYPES,ap as EXECUTIVE,Wl as EXHAUSTED_NOTE,Cx as EXTRACT_PROVIDER_ID,gx as EXTRACT_ROUTE,Lx as EXTRACT_TYPES,rN as EntitlementError,E as EventError,Kh as FACTCHECK_SCHEMA,Hh as FACTCHECK_VERDICTS,Ti as FAILOVER_CAPABILITY_GAP,ci as FAILOVER_CLASS_GAP,ul as FAILOVER_MAX_ATTEMPTS,jO as FAST_FLUSH_MS,QO as FAST_STREAK,lL as FEATURES,XD as FEATURE_MAP,WD as FEATURE_SURFACES,zu as FEATURE_TIER,XM as FETCHED_TTL_MS,$n as FIELD_TYPES,nx as FILES_TOOL,Fc as FINDINGS_SCHEMA,Dc as FINDING_KINDS,PE as FIND_ACTION,Tm as FIND_DESCRIPTION,pm as FIND_RESIDENT,cm as FIND_TOOL_NAME,Hl as FINISH_NUDGES,ZM as FIT_HEADROOM,Qu as FREE_LIMITS,hA as FRONT_PAGES,yE as FUSED_BUDGET_MS,kE as FUSED_CANDIDATES,kf as GEARS,uf as GOAL_MIN_NEW,lc as GRANTABLE,aR as GRANT_INFO,mc as GRANT_RE,fF as HF_API,BE as HUB_TOOL_NAME,VT as HUMAN_FLAGS,cl as INPUT_PROGRESS_TOOLS,rg as INSIGHT_KINDS,If as INSTRUCTION_RE,hi as INTERNAL_PATTERN_CATALOG,Cr as INVARIANTS,EM as IN_PROCESS_IDS,jD as ISSUE_REPO,qD as ISSUE_SEARCH_API,Ss as JOB_ACTIONS,UT as JOB_POST_ID_RE,yT as JOB_POST_STATUSES,su as JOURNAL_BOUNDS,kT as JobPostError,ZO as JournalError,wi as KDF_HASH,Bi as KDF_ITERATIONS,gR as KernelError,o_ as LEDGER_ENTRY_KINDS,r_ as LEDGER_VERSION,hu as LIGHT,tT as LIVE_RUN_STATUSES,SL as LOCKABLE,Vl as LOOPING_NUDGE,qa as LOOP_KINDS,QI as LibraryError,Za as LoopError,Zo as MAX_BRIEF_CHARS,qo as MAX_BRIEF_RECORDS,jo as MAX_CLAIMS,Qo as MAX_CLAIM_REFS,Ks as MAX_COMMANDS_PER_DELTA,hd as MAX_DEPTH,Mx as MAX_DOCUMENT_BYTES,Xi as MAX_ENTRIES,_t as MAX_EXCERPTS,dt as MAX_EXCERPT_CHARS,Le as MAX_GRAPH_NODES,ZD as MAX_ISSUE_URL,ip as MAX_JOBS_PER_ROUND,GR as MAX_MATCHES,JR as MAX_MEMORY_CHARS,Vi as MAX_NOTE_CHARS,gN as MAX_NOTE_IMAGE_BYTES,qh as MAX_PENDING_CHARS,sp as MAX_ROUNDS,DF as MAX_SECONDS,Wi as MAX_SECRET_CHARS,ZL as MAX_SKILL_FILE_BYTES,$L as MAX_SKILL_PACKAGE_BYTES,ho as MAX_SUBJECTS,Fo as MAX_SUBJECT_CHARS,xd as MAX_SUBTASKS,Xn as MAX_SUGGESTIONS,Yn as MAX_SUGGESTION_CHARS,pt as MAX_SYNTHESIS_CLAIMS,pI as MAX_TAGS,TI as MAX_TAG_LENGTH,Hi as MAX_TITLE_CHARS,jI as MAX_TITLE_LEN,kI as MAX_TITLE_LENGTH,Ln as MAX_TOPICS,xn as MAX_TOPIC_CHARS,bx as MCP_CATALOG,Ux as MCP_REGISTRY_API,PS as MCP_SIGN_IN_CODE,dR as MCP_TOOL_NAME,XR as MEMORY_KINDS,YR as MEMORY_KIND_NAMES,$R as MEMORY_TOOL_SPEC,eA as MEMORY_UPCASTERS,WR as MEMORY_VERSION,nc as MERGE_POLICIES,rF as MIN_BARGE_IN_WORDS,m_ as MIN_FIT,jR as MIN_MEMORY_CHARS,hF as MIN_SECONDS,Fd as MIN_TAKEUP_FIT,ls as MISSED_POLICIES,Eg as MOMENT_BADGES,gD as MONITOR_SOURCES,Qh as MUTE_GRACE_MS,fR as ManifestError,nC as McpClient,rA as MemoryError,Kt as NEAR_TITLE_DISTANCE,QD as NEW_ISSUE_BASE,Gf as NEW_THREAD_SLASH_ITEMS,K as NOTE_ACTIONS,W as NOTE_ACTION_ERRORS,H as NOTE_ACTION_ORDER,V as NOTE_ACTION_TEMPERATURE,X as NOTE_COMMANDS,z as NOTE_COMMAND_MAX_TOKENS,Y as NOTE_COMMAND_TEMPERATURE,NN as NOTE_IMAGE_SCHEME,CN as NOTE_IMAGE_TYPES,Sg as NOTE_SECTIONS,FL as NOTE_TOOL_SPECS,kD as NOTHING_NEW,ml as OBSERVATION_TOOLS,uu as OMNI_GRAMMAR,Ou as OMNI_MODES,Px as PAGE_CHARS,Du as PALETTES,el as PARALLEL_LOCAL_RE,sx as PATH_KIND,Wt as PDF_MAX_CHARS,iE as PERMISSION_ANSWERS,aE as PERMISSION_EVENT,EL as PERMISSION_MODES,sE as PERMISSION_TIMEOUT_MS,nE as PERMISSION_TOOL_NAME,Hu as PLANS,qe as PLAN_AUTHORS,$e as PLAN_DECOMPOSE_MAX_TOKENS,Ze as PLAN_DECOMPOSE_SYSTEM,er as PLAN_DECOMPOSE_TEMPERATURE,Sc as PLAN_MODES,Qe as PLAN_ROLES,rr as PLAN_SECTION_MAX_TOKENS,or as PLAN_SECTION_TEMPERATURE,sL as POLICY_TOKEN_TYPE,iL as POLICY_VERSION,Uc as POST_KINDS,bc as POST_STATUSES,_g as PREF_SECTIONS,dg as PREF_SECTION_IDS,rL as PRESENCE_BUDGET_TOKENS,oL as PRESENCE_KINDS,bh as PRICING_BASES,vh as PRICING_LABELS,mL as PRODUCT_HOSTS,uT as PROJECT_ID_RE,rp as PROJECT_JOBS_SCHEMA,op as PROJECT_REVIEW_SCHEMA,np as PROJECT_RUN_STATUSES,OT as PROJECT_STATUSES,kF as PROMPT_TEXT,At as PROPOSAL_STATES,Ju as PRO_FEATURES,rh as PUSH_LIMITS,aL as PolicyError,IT as ProjectError,tp as ProjectRunError,Er as REACH,eN as RECHECK_INTERVAL_MS,Bm as RECIPE_MODES,Vm as RECIPE_TOOL_NAME,gp as RECORD_ENGINE_KINDS,JI as RECORD_KINDS,LO as RECORD_TYPE,E_ as RECRUIT_SCHEMA,nL as REDACTION_TIERS,Go as REDACTION_TOKEN_TYPES,cn as REFINEMENT_SCHEMA,_ as REF_KINDS,Dr as REGISTRY_STATES,CR as REQUIRED_PLUGINS,Lg as REQUIREMENTS,tM as RERANK_TOOL_NAME,d as RESOLUTION,xL as RESPONSE_LANGUAGES,eS as RESPONSE_MODES,Ie as RESULTS_PER_ENGINE,eE as RESULT_TOOL_NAME,aT as RESUMABLE_RUN_STATUSES,ka as RETRIEVAL_TOOLS,qE as REVEAL,up as ROLE_KINDS,sc as ROLE_MODES,nR as ROSTER_KINDS,Xl as ROUND_SEPARATOR,Pp as ROUTE_PREFERS,id as RUN_STATUSES,vm as RecipeError,_i as RouterError,Ui as RuleError,ZR as SAME_FACT,xF as SAMPLE_RATE,ss as SCHEDULE_KINDS,D_ as SCM_KINDS,s as SCOPE_KINDS,Op as SCORECARD_ENTRY_KINDS,Np as SCORECARD_VERSION,lh as SEALED_TYPE,Eh as SEALED_VERSION,fe as SEARCH_ENGINES,_u as SEGMENT_RE,Ho as SELF_LABELS,Mg as SETTINGS_GROUPS,Wg as SETTINGS_OPEN_DEFAULT,Pg as SETTINGS_PAGES,ku as SHAPE,LC as SIDELINE_COMMANDS,FC as SIDELINE_SLASH_ITEMS,zC as SIDELINE_TOOL_NAME,JC as SIDELINE_TOOL_SPEC,BA as SKILL_CONTEXTS,qL as SKILL_DRAFT_SCHEMA,HA as SKILL_FILE_KINDS,zL as SKILL_FILE_TOOL,wA as SKILL_HISTORY_SCOPES,vA as SKILL_MANIFEST_VERSION,GA as SKILL_MCP_MODES,KA as SKILL_TRUST,VA as SKILL_UPCASTERS,sf as SKILL_VARS,nf as SKILL_VAR_NAMES,ux as SKIP_DIR_NAMES,wf as SLASH_TYPING_RE,JO as SLOW_FLUSH_MS,VO as SLOW_POLICY,$M as SMALL_WINDOW,rP as SMALL_WINDOW_ROUNDS,iR as SOLO_BUDGET,zN as SORT_LABELS,YN as SORT_MODES,IR as SOURCES,NM as SOURCE_TOOL_SPEC,DA as SOURCE_TRUST,Ht as SPAN_MIN_TERMS,KN as SPEAKER_SLOTS,cF as SPOKEN_REPLY_HINT,lT as STALLED_AFTER_MS,jp as STARTER_AGENTS,Tc as STARTER_TEAMS,q_ as STEP_MAX_CHARS,yP as STITCH_LIMITS,Lo as SUBJECT_KINDS,zn as SUGGESTIONS_SCHEMA,ft as SUPERSEDE_OVERLAP,yi as SUPPRESSED,ce as SWARM_ROLES,mt as SYNTHESIS_SCHEMA,Es as ScheduleError,mh as SealError,Br as SearchEngineError,WA as SkillManifestError,kA as SkillSourceError,df as SkillVarError,rS as StructuredError,TO as SyncError,FF as TARGET_SECONDS,Z_ as TASK_TRANSCRIPT_MAX_CHARS,ju as TEAM_FEATURES,cd as TEAM_MANUAL,gc as TEAM_PLAN_SCHEMA,sR as TEAM_SHAPES,md as TEAM_TOOL_NAME,xu as THEMES,kc as THREAD_KINDS,yc as THREAD_STATUSES,hC as THREAD_TOOL_NAME,DC as THREAD_TOOL_SPEC,KF as TIER_LABEL,yI as TITLE_RULES_VERSION,yu as TOKEN_NAMES,Uu as TOKEN_ROLES,WS as TOKEN_SKEW_MS,hn as TOPICS_SCHEMA,$t as TRANSCRIPT_MAX_CHARS,ns as TRIGGER_KINDS,IF as TTS_ARCH_LABEL,ic as TeamError,ad as TeamRunError,Zr as ToolGroupError,Rl as UNAVAILABLE_REASONS,DI as UNTITLED_MEETING,pr as UPCASTERS,Yu as UPGRADE_URL,Oh as USAGE_RING_MAX,Mn as UTTERANCE_DANGLING_MS,Cn as UTTERANCE_SETTLE_MS,RF as VAD_DEFAULTS,vi as VAULT_VERSION,jh as VOICE_STATES,Ki as VaultError,Vs as VoiceIntentError,Yr as WEATHER_HOST,zr as WEATHER_TIMEOUT_MS,qC as WEATHER_TOOL_NAME,ZC as WEATHER_TOOL_SYSTEM,lk as WEB_RESEARCH_LIMITS,fm as WEB_SEARCH_SPEC,Rm as WEB_SEARCH_TOOL_NAME,Am as WEB_SEARCH_TOOL_SYSTEM,Ek as WEB_TASK_DOMAINS,uo as WIDGET_SURFACES,a_ as WITHDRAW_AFTER,Ad as WORKLOG_KINDS,Ec as WORK_GRANTS,yf as WRITER_PREFS,Uf as WRITER_PREF_DEFAULTS,Jr as WeatherError,Zt as YOUTUBE_HOSTS,$a as abortCause,yM as aboutOwnPast,Ot as accept,UD as accumulates,am as actionMenu,YO as adaptProfile,fC as adaptiveToolRetryHint,AI as addTag,bl as addUsage,Rp as adjustSummary,ox as admitPackage,fO as advanceBases,_L as agentAllowed,Yd as agentColor,Zp as agentFromForm,Xd as agentHue,zd as agentInitials,Wd as agentKind,oe as agentMentionAt,bo as aliasMap,DM as answeredByPrefetch,wl as anthropicTranscript,LT as applyAll,h_ as applyCard,Be as applyEdits,Su as applyEntry,wD as applyMonitorReply,uL as applyPolicyToSettings,Og as applySections,Ph as applyUsage,de as appoint,Wr as areaLabel,ja as argsShape,mD as argsToText,gP as asksIdentity,CA as asksOnlyAboutPage,Wp as assistantAgent,Rx as attachedFilesProvider,br as attemptOrder,Tp as attest,GS as authHeader,bS as authorizeUrl,oC as availableDestinations,GO as backupFromRecords,zS as bareToolName,Ox as basenameOf,gk as basisAt,hk as basisLabel,vO as bestCodec,qp as blankAgent,K_ as blankConnection,FT as blankJobPost,_T as blankProject,_c as blankTeam,El as blockedToolResult,Lc as boardText,Hc as boardToolProvider,Vc as boardToolSpec,du as boundSegments,v_ as branchFor,bg as breadcrumb,Nc as breakCycles,et as briefId,tt as briefLinks,wC as briefPrompt,ot as briefTerms,rt as briefToText,qk as browserRelaySystem,rk as buildBugReport,im as buildGroupDispatchSpec,xe as buildNoteGraph,Qt as buildPdfDocument,Oe as buildSearchUrl,rm as buildToolset,Ua as buildTrajectory,Ea as buildTranscriptDocument,$d as builtinOrg,nN as can,os as canAddEntry,PT as canJobPostTransition,pT as canProjectTransition,AD as canRefresh,JS as canRunConcurrently,Ir as canSatisfy,SA as candidatesFrom,lp as canonical,FS as canonicalResource,iM as capabilityToolsProvider,cM as capabilityView,Kk as captchaHandoff,Gk as captchaIn,oa as captionTracksFromPlayerResponse,bL as captureFromMessage,jd as cardNumbers,x_ as cardOverride,g_ as carveBudget,VF as catalogStatus,qF as catalogUnavailable,fu as catchUpPlan,N as causesAreWellFormed,Jx as ceHostOf,zx as ceSourceOf,gg as changedSections,Sx as checkAttachablePath,gr as checkInvariants,at as checkKnowledgeInvariants,oN as checkoutUrl,rT as checkpointFrom,w as chipText,pM as choiceNote,TM as choicePatch,Tt as claimsFromSynthesis,pl as classifyFailure,pe as classifyModel,Ni as classifySource,RE as claudePermissionResponse,UI as cleanTitle,pk as cleanUrl,Df as clipCompletion,z_ as clipMessage,Fs as clipText,Y_ as clipTranscript,mS as coerce,Vn as coerceEntities,Ix as collapseDots,TC as combineSystemPrompt,Z as commandLineAt,un as commandLooksFinished,Js as commandsFromSegments,Bk as commitKind,wk as commitQuestion,Zl as compactValue,SP as compactable,aP as compactionPrompt,iP as compactionRecord,xk as comparable,u as compareEvents,kR as compileQuery,Ws as compileWake,B as composerChips,Nm as compressToolSpec,gm as compressToolSpecs,Cm as compressionStats,b_ as connectionFor,H_ as connectionFromForm,nA as containment,$o as contentHash,VP as continuationMessages,j_ as continuationNote,aI as continueList,gt as converge,yh as costFor,Ra as createAccessLog,Ca as createAdapterRegistry,IC as createAdaptiveToolPolicy,Us as createAnalyzerRegistry,Wc as createAnswerBox,T as createAppender,xr as createBlobStore,Mc as createBoard,Qk as createBrowserRelay,Xm as createBudget,Fl as createCallRunner,Da as createCitationCollector,Q_ as createControl,vM as createFetchedStore,qO as createJournal,uR as createKernel,Lr as createLogStore,AR as createManifest,Pr as createMemoryAdapter,_l as createModelHealth,ii as createModelRouter,IE as createPermissionDesk,Fr as createRegistry,zl as createResultStore,ki as createRuleEngine,jc as createRunCache,nu as createSegment,UA as createSkillSourceRegistry,gf as createSpendMeter,Ja as createStepRecorder,TS as createStructuredStream,qr as createToolGroupRegistry,il as createToolLoopGuard,Rs as createTriggerRegistry,za as createTurnRunner,gn as createUtteranceGate,pF as createVad,Yi as createVault,tn as createVoiceIntentRegistry,Jh as createVoiceLoop,w_ as credentialEnv,vu as cssVarName,ah as cursorOf,qN as dayBucket,_O as decide,I_ as decideRecruit,QA as declaredAccess,MO as decryptBackup,ON as defaultImagePolicy,IN as defaultLinkPolicy,OD as defaultMcpServers,k as defaultModelId,KD as defaultSkills,VM as defaultTtl,an as defaultVoiceIntents,bF as defaultVoiceName,OM as deferAttachedSources,ga as defineAdapter,Vp as defineAgent,Ps as defineJob,MT as defineJobPost,Qa as defineLoop,ys as defineMeetingAnalyzer,ti as defineMiddleware,oi as defineModel,TT as defineProject,ai as defineRouteStrategy,Di as defineRule,oS as defineSchema,yr as defineSearchEngine,yA as defineSkillSource,Zm as defineTeam,Qr as defineToolGroup,ds as defineTrigger,on as defineVoiceIntent,vD as deltaInstruction,ng as demd,bN as densityRibbon,P as dequeue,xO as deriveBackupKey,nt as deriveBrief,St as deriveBriefs,Ji as deriveKey,HI as deriveMeetingTitle,iO as deriveTitle,Yp as describeAgent,cx as describeAttachedPath,Rd as describeCall,G_ as describeConnection,kp as describeEngine,FD as describeMonitorProfile,Tx as describePathSize,cE as describePermission,Hm as describeRecipeForApproval,ac as describeRole,fD as describeRuntime,tS as describeSchema,PF as describeSearchResult,Vg as describeSettingValue,ql as describeShape,sT as describeSpend,Ed as describeTeamForApproval,Kd as describeTeamShape,yl as describeToolCall,hh as describeTurnUsage,rC as destinationFromAgent,eC as destinationFromEndpoint,ek as diagnosticsText,zF as diarizeRows,$F as dictToText,Nt as diffProposal,_P as digest,KS as discoverMcpAuth,wa as displayName,px as displayPath,SM as distributionConfidence,EI as docStats,Mf as draftSeparator,lt as driftedRefs,ym as dryRunRecipe,od as dryRunTeam,WF as dtypePicker,Ls as dueJobs,yt as duplicateTitles,Bo as earnsBrief,rn as editDistance,ve as editKey,wT as effectiveGate,Io as effectiveGrants,Hg as effectiveSettingValue,ZS as effectiveToolName,he as egoGraph,fL as egressAllowed,Bc as emptyBoardState,RT as emptyProjectRecord,Zc as emptyRun,Xf as enabledSkills,CO as encryptBackup,TL as endpointAllowed,fp as engineKey,Dp as engineKeyOf,Xp as engineOf,Me as engineOrder,Fp as engineRef,c_ as engineRow,T_ as engineRows,TR as engineStrip,d_ as engineWorth,Kn as entitiesFormat,Gn as entitiesPrompt,Wn as entitiesStream,Zi as entryMeta,au as entryStamp,pD as envLikeArgs,TD as envToText,oo as equipmentFor,ei as errorFacts,Em as estimateTokens,A_ as evaluatorPrompt,sh as eventStats,WM as exchangeOf,Fm as expandRecipe,bR as expandReplacement,pf as expandSkillPrompt,_S as explainMcpError,dN as exportDevicePublicKey,Md as extendDependents,gu as extractFilters,gi as extractUrls,kx as extractorChain,Yh as factcheckKey,Wh as factcheckPrompt,Xh as factcheckVerdict,Ol as failoverExhausted,Ei as failoverOrder,OL as featureEnabled,zD as featureIds,Hk as fenceUntrusted,wM as fetchKey,Bx as fetchMcpRegistryPage,VS as fetchMcpToken,GM as fetchTitle,KM as fetchedAsSources,HM as fetchedFacts,PI as filterByTags,Ba as filterEntries,GL as filterMcpServersForSkill,xD as filterMonitorTools,q as filterNoteActions,QN as filterRecords,D as filterSections,be as filterTypoEdits,gE as findActionArgs,_m as findDispatchProvider,sk as findExistingIssues,nS as findJson,yR as findMatches,SO as findRecordRefs,aD as findRepeats,Fg as findRow,ie as findSkillByName,se as findTargetByName,uE as findTools,NE as findToolsResult,Ys as findWakeCommand,xc as findingsInstruction,Gc as findingsOf,dp as fit,KP as fitAttachments,JM as fitFor,fc as fixedPlan,YC as foldBackFor,GC as foldBackNote,wc as foldBoard,KC as foldNotes,AT as foldProject,$c as foldRun,AO as forkConflict,fa as formatBytes,MF as formatDownloads,xR as formatReport,Gt as formatSurvey,uI as formatTag,CI as formatTagQuery,GN as formatTalkTime,Sa as formatTimestamp,la as formatTranscript,xh as formatTurnUsage,Uh as formatUsd,Fk as formatValue,Vr as formatWeather,J as frameNoteAction,Zu as freeCap,as as fromB64,Qx as fromCloudEvent,Zx as fromCloudEventLines,xA as frontPageInstruction,LA as frontPagesAskedAbout,go as fuseRRF,hE as fusedRanker,GT as gateAllows,Dx as gatewayExtractor,_N as generateDeviceKey,NC as getMcpProviders,Gr as getWeather,On as gistOpening,In as gistText,ML as globToRegExp,Nf as goalDraftAllowed,oc as grantAllows,rR as grantChoices,oR as grantsFromChoices,ro as grantsNeededFor,De as graphStats,Pf as groundingBlock,Tg as groupActionsByOwner,kg as groupById,F as groupModels,$N as groupRecords,oD as groupRuns,na as groupSegments,ig as hasInsights,so as hasSubstance,RI as hasTag,gI as hasTagTerms,gd as holdsGrants,jg as homeChecklist,Ci as hostMatches,io as housekeepingTarget,vE as hubSpec,yO as identityCodec,MP as identityHint,CP as identitySystem,IM as imageAttachmentsOf,_M as inProcessPatch,mM as inProcessView,iI as indentSelection,th as ingestCloudEvents,iF as initialVoiceState,tg as insightKindOf,AS as installHintFor,Of as instructionOnLine,Pu as isActionable,Xr as isAmbiguousLocation,WI as isBetterTitleSource,eR as isBuiltin,jS as isCacheable,qM as isContextLimitError,uD as isDefaultMcpServer,PO as isEncryptedBackup,tu as isEntry,nF as isFarewell,Vk as isFenced,fn as isFillerSentence,bI as isGenericTitle,OC as isInvalidToolParametersResult,no as isLocalHelper,es as isLocked,ll as isLoopableTool,td as isModelUnavailable,HP as isNoneNote,ES as isNothing,yD as isNothingNew,lE as isPermissionTool,vk as isPersonalField,to as isPleasantry,iN as isPro,M as isQueued,$I as isRecordId,Ko as isRedactionToken,A as isRef,Ne as isResultHost,oT as isResumable,XA as isSafeSkillPath,Ah as isSealedBlob,DO as isSealedRecord,Uk as isSecretField,Ex as isSecretPath,Vo as isSelfLabel,RO as isSettled,fh as isShredded,Wf as isSkillEnabled,eP as isSmallWindow,Pl as isSourceGateError,VN as isSpeakerImageValue,RS as isStaleMcpSession,Uo as isSubjectCandidate,sN as isTeam,ou as isTombstone,c as isValidEvent,tA as isValidMemory,rO as isValidStoredRecord,ra as isYouTubeUrl,nk as issueCommentText,ak as issueSearchUrl,R_ as jobApplications,Cd as jobFromSubtask,DT as jobPostFromForm,jT as jobResults,xT as jobToRole,xs as jobsForEvent,$T as jobsPrompt,jM as keepRecentFor,kO as keyCache,va as lanesOf,LL as languageInstruction,Vh as lastClaimOf,GE as lastUserText,Eo as layoutFlowchart,i_ as ledgerKey,cN as licenseFromPayload,Af as lineAt,O as linearize,Xt as linesFromItems,gA as linkAttachments,Ct as linkClaims,lO as linkRecordRefs,vg as linkTo,Bg as linkToRow,La as linkifyCitations,uA as linksToRead,mf as lintSkillPrompt,ye as lintText,YD as listFeatures,hg as listRows,rs as lockedSummary,oF as looksLikeEcho,jt as looksScanned,_F as lowBandEnergy,da as makeAccessEvent,lm as makeDispatchProvider,mp as makeEntry,nm as makeGroupDispatchExecutor,eu as makeJournalEntry,n_ as makeLedgerEntry,DL as makeNoteToolExecutor,WE as makePromptedTranscript,ZI as makeRecordId,R as makeRef,Ri as makeSourceStore,Aa as makeStorageTier,bE as makeToolHub,Ai as manifestText,km as mapInput,wP as mapParts,_A as markUsed,ha as markdownUrl,bk as maskSecretFields,EA as matchForForget,UR as matchIndexFor,ik as matchIssues,Jf as matchSlashRecipe,zf as matchSlashSkill,Qf as matchSlashTeam,Ds as matchSummary,MI as matchesTagFilter,MC as mcpBackoff,_R as mcpDispatchProvider,mC as mcpInventorySystem,SC as mcpProvider,Kx as mcpServerFromCatalogItem,EC as mcpSharedSystem,NR as meetDecisions,Mi as meetReach,Os as meetingEndedTrigger,ag as meetingInsights,HD as meetingNotesSkill,Is as meetingStartedTrigger,XI as meetingTitlePrompt,pA as memoryBlock,aA as memoryKey,yL as memoryToolProvider,RA as memoryToolSystem,ne as mentionAnswerPrefix,bt as mentionsFrom,iC as mergeEndpointDestinations,Ce as mergeEngineResults,xP as mergeNote,Je as mergeResearchLanes,cu as mergeSegments,ae as mergeSkillPrompt,Ng as mergeStamped,X_ as mergeTranscript,sP as messagesAfter,W_ as messagesFor,vF as microphoneError,QM as minWindowFor,IS as missingCommandIn,fS as missingCommandMessage,Bd as missingStarters,pL as modelAllowed,HF as modelRows,NF as modelSearchUrl,y as modelSummary,mg as momentBadge,Nk as moneyIn,mn as monitorIntent,LD as monitorNeedsTools,MD as monitorProfile,BD as monitorPrompt,PD as monitorWindowMs,L as moveQueued,Mo as multiSearch,dD as mutableRef,p_ as needForJob,jA as needsBridge,QS as needsConfirmation,TN as needsRecheck,TA as needsWhere,dP as needsWhole,ph as newDeviceKey,ok as newIssueUrl,DN as newNoteImageId,J_ as newSteps,hM as newsAsk,cs as nextFireAt,HC as nextSidelineIndex,ps as nextWakeAt,bO as nodeCodec,Th as nodeSealer,Al as normModelName,Hp as normalizeAgent,zm as normalizeBudget,s_ as normalizeCall,y_ as normalizeConnection,Ap as normalizeEngine,xp as normalizeEngineSpec,BT as normalizeGate,rc as normalizeGrants,vf as normalizeIntent,CT as normalizeJobPost,oA as normalizeMemory,CF as normalizeModel,cL as normalizeOrgPolicy,fx as normalizePath,OS as normalizePlatform,Lp as normalizePolicy,Bh as normalizePricing,cT as normalizeProject,Pt as normalizeRecord,Lt as normalizeRecords,Gx as normalizeRegistryEntry,wx as normalizeRegistryPage,Id as normalizeRequest,Ip as normalizeScm,tf as normalizeSkill,$s as normalizeSpeech,eO as normalizeStoredRecord,Do as normalizeSubject,_I as normalizeTag,dI as normalizeTags,ec as normalizeTeam,Un as normalizeTopic,bn as normalizeTopics,vl as normalizeUsage,bf as normalizeWriterPrefs,Q as noteActionItems,j as noteActionLabel,FP as noteConflictsIn,MN as noteImageId,LN as noteImageIds,PN as noteImageRef,xN as noteImageRefs,En as noteIntent,lg as noteSectionKind,WC as noteUnits,lR as observeInbox,$u as observeSince,ER as observeStrip,hs as occurrenceKey,Ts as occurrencesBetween,UM as offeredSearch,Pk as offersIn,CE as oneLiner,Bl as openAiTranscript,dh as openBlob,nM as openDecision,Qi as openEntry,FO as openRecord,Yt as orderLines,qA as originLabel,YA as originOf,FN as orphanNoteImages,kt as orphanRecords,oI as outlineOf,ME as overlapRank,Au as overlayEntries,dS as packageFromArgs,ax as packagesFromFiles,FM as pageAsk,Dg as pageById,MA as pageInstruction,_k as pageKey,Jt as pageTextFromItems,yg as pagesOf,Fx as paginateText,bu as paletteFor,zt as paragraphsFromLines,$S as parallelEligible,re as parseAgentMention,uk as parseAmount,ED as parseArgsInput,xS as parseAuthChallenge,it as parseBriefText,yC as parseBringBack,Vf as parseBugCommand,Qs as parseClock,zs as parseCommand,_s as parseCron,js as parseDuration,Hn as parseEntities,cD as parseEnvInput,f_ as parseEvaluation,Pc as parseFindings,lo as parseFlowchart,qT as parseJobs,hR as parseJsonl,wg as parseLink,tI as parseListItem,lD as parseMcpConfig,cg as parseMeetingNotes,yN as parseMeetingText,Kf as parseNewThread,Zs as parseNumberWords,Nu as parseOmni,Ic as parsePlan,ar as parsePlanTasks,qI as parseRecordId,_n as parseRefinement,U_ as parseRemote,ZT as parseReview,Tk as parseSearchText,pu as parseSegmentName,kC as parseSideline,NS as parseSignInPrompt,te as parseSkillMention,Ef as parseSkillVars,cS as parseStructured,Qn as parseSuggestions,NI as parseTagQuery,sa as parseTimedText,YI as parseTitleResponse,YE as parseToolCalls,yn as parseTopics,Hr as parseWeather,qs as parseWhen,ea as parseYouTubeUrl,bP as partChars,BP as partPrompt,uF as partitionTtsModels,dk as passagesOf,mx as pathAttachment,_x as pathAttachmentsOf,dF as pcmEnergy,C as pendingQueue,pE as permissionAllowed,TE as permissionAnswer,fE as permissionIcon,mE as permissionKeys,AE as permissionLine,dL as permissionMode,EE as permissionRequestFromClaude,SE as permissionToolSpec,us as personJoinedTrigger,ba as phasesOf,Ns as phraseTrigger,aa as pickCaptionTrack,XO as pickProfile,ge as pickResults,Ig as pickSections,mi as pinnedOrderOf,Sr as planAttribution,nr as planBody,tP as planCompaction,oh as planEventPush,aN as planLabel,tN as planOf,sr as planParts,Co as planQueries,AP as planRetrieval,tr as planSectionSystem,dO as planSync,ir as planTitleFor,ol as planToolRound,uP as planTurn,Oc as plannerPrompt,$g as pointsAtGateway,zO as policyFor,gL as policyHash,NL as policyLabel,$p as poolFor,li as preferenceFor,MM as prefetchAttachment,CM as prefetchPlan,ZP as presenceBlock,jP as presenceDelta,JP as presenceFor,wh as priceUsage,bD as priorFindingsText,ST as priorWorkFor,ua as projectChain,dT as projectFromForm,fT as projectProgress,nh as projectYear,x as promoteQueued,bd as promoteRoles,Va as promptEntries,Fh as promptTokensOf,XE as promptedToolsSystem,VE as promptedTranscript,u_ as proposalFromNeeds,N_ as proposalToAgent,It as propose,dA as pruneMemories,Ck as qualifierAt,Cs as questionTrigger,Ug as quickRows,Mk as quoteAround,kk as quoteFormIn,xE as rankFused,Ee as rankLinkTargets,Lk as rankOffers,ze as rankResearchCards,VL as rankSkills,wo as rankSubjects,kh as rateFor,QP as reachOf,mr as reachRank,cr as reachSatisfies,kS as readAuthServerMetadata,US as readRegistration,DS as readResourceMetadata,Ii as readSource,BC as readThread,BS as readTokenResponse,KI as readableWhen,hT as readyJobs,mA as recall,dE as recallPermission,hD as recentFindings,jf as recipeInvocationText,Dm as recipeParams,Gm as recipeToolProvider,Km as recipeToolSpec,lA as reconcile,Ur as reconcileEngines,wO as recordsFromBackup,C_ as recruitEvents,O_ as recruitForRun,M_ as recruitJob,_a as redactAccessArgs,ht as redactedTokensIn,Ft as redactionCost,AL as redactionTier,GP as reduceNotes,ck as refineQueries,An as refineSpokenCommand,pn as refinementFormat,Tn as refinementPrompt,dn as refinementStream,RD as refreshArgs,HS as registerMcpClient,yS as registrationRequest,vx as registryListUrl,ut as reject,_E as rememberPermission,b as rememberRecent,Sn as reminderIntent,fI as removeTag,RM as renderContent,mo as renderFlowchartSvg,fN as renderMarkdown,EO as repairAnswerMarkup,xa as repairCitedLinks,lS as repairJson,BR as replaceAll,wR as replaceAllInRange,vR as replaceMatch,LR as replay,ni as requirementsFor,Si as requirementsForStep,FE as rerankThrough,mk as researchAsk,Ak as researchBrief,fk as researchCall,We as researchRelevance,Ye as researchSnippet,CC as resetMcp,DP as resolveNoteConflict,f as resolveRef,UC as resolveSidelineTarget,Cu as resolveSince,vo as resolveSubjects,Jp as resolveTeam,Gu as resolveTheme,iS as responseFormat,$l as resultToolSpec,rd as resumeTeam,$E as revealCut,ZE as revealStep,ep as reviewPrompt,SS as rewriteJson,Yx as rfc3339,Te as roleById,Jd as roleCardId,Mh as rollupKey,Vd as rosterRows,QT as roundBudget,Dl as roundCap,$P as roundCount,zT as roundJobs,eL as roundMinutes,sl as roundSignature,RL as routeAllowed,__ as routeFor,Oa as routeGraph,Re as routeTeam,ZN as rowTime,eT as runFromEvents,mR as runLanes,Um as runPlan,YT as runProject,bm as runRecipe,Ik as runResearch,PM as runResearchItem,jl as runResultQuery,nT as runState,ed as runTeam,tl as runToolRound,hl as runTurnLoop,Il as runWithFailover,He as salientTerms,fA as sameMemory,pi as sameModelKey,ZA as sameSkillOrigin,OI as sameTags,Nn as sameUtterance,yF as sampleSeconds,UF as sampleTooShort,QF as saveTimedOut,jF as saveVoiceFailure,cA as saysWhere,WO as scalePolicy,ln as scheduleIntent,tc as scmAllows,$D as scrubReportText,_h as sealBlob,ji as sealEntry,hO as sealRecord,$i as searchEntries,gF as searchModels,Im as searchResultsToText,Yg as searchSettings,tO as searchTextFor,lx as secretReason,ug as sectionHash,qg as sectionOfRow,Ag as sectionSpec,fg as sectionValue,tC as seedDestinations,lu as segmentBytes,Eu as segmentEntries,Tu as segmentName,Ru as segmentsFor,mP as selectContext,mI as selectionStats,Kg as setSettingValue,IL as settingLocked,Gg as settingValue,Qg as settingsGateOf,Xg as settingsOpenMode,Jg as settingsStatusAll,zg as settingsStatusOf,Rn as settleRefinement,Ep as sha256,Jl as shieldToolResult,fi as shortUrl,VI as shouldAutoTitle,mu as shouldRotate,aC as shouldSeedDestinations,Rh as shredBlob,XC as sidelinePath,jC as sidelineToolProvider,RN as signChallenge,gS as signInError,CS as signInFromError,MS as signInToolResult,si as signalsFrom,sA as similarity,WL as skillCatalogSystem,tR as skillChoices,ex as skillCreatorPrompt,jL as skillDiscoveryProvider,JL as skillEntry,YL as skillFileProvider,JA as skillFiles,tx as skillFromDraft,HL as skillHandle,rx as skillIdFrom,eI as skillInvocationLabel,$f as skillInvocationOf,$A as skillIsStale,wL as skillPackageFiles,BL as skillRunFromSkill,KL as skillToolSystem,Sf as skillVar,_f as skillVarGuidance,lf as skillVarPattern,Zf as slashCommandInsert,Yf as slashCommandItems,iA as slotOf,zp as slugAgentId,Rc as slugTeamName,Ax as sniffType,sO as snippetOf,qd as soloTeam,jN as sortRecords,JN as sortStamp,cC as sourceCitationSystem,Ml as sourceGate,Cl as sourceGuardFor,Oi as sourceId,VC as sourceOf,Pi as sourcePolicyFor,gl as sourcePolicySettings,Li as sourceUrlsOf,Fa as sourcesFromToolText,vt as spanningQuestions,EF as speakStream,mF as speakable,BN as speakerBreakdown,WN as speakerLabeller,UN as speakerStats,wN as speakerTimeline,iT as spendOf,cR as spendRows,vP as splitForWindow,LP as splitNoteBlocks,nl as stableToolCallKey,pO as stampOf,wF as startRecording,Qp as starterAgents,vd as starterTeam,pc as starterTeams,Ul as stepResultText,NA as storyLinkOf,UO as streamCodec,hN as stripNoteImageRefs,Wo as stripQualifiers,ko as subjectKey,yo as subjectTokens,Tf as substituteSkillVars,Od as subtaskFromRequest,xI as suggestExistingTags,Xo as suggestMerges,cf as suggestSkillVar,jn as suggestionsFormat,Jn as suggestionsPrompt,qn as suggestionsStream,_p as summarize,S_ as summarizeEngine,tD as summarizeRun,Lh as summarizeUsage,og as summarySections,iu as supersedes,_e as supportsSubagents,Bt as surveyCorpus,JF as switchOutcome,hP as syncNote,ct as synthesisPrompt,nP as systemWithSummary,LI as tagFacets,hI as tagsSearchText,ud as takeUp,Nd as takeUpLine,Pd as taskTree,JT as teamForRound,dc as teamFromForm,wd as teamHealth,qf as teamInvocationText,yd as teamLanes,kd as teamLine,Gd as teamShape,nd as teamToolProvider,Sd as teamToolSpec,ld as teamToolTimeoutMs,Zd as teamsWithSolos,gC as testMcpServer,eD as textToDict,wu as themeStylesheet,bC as threadManifest,Ld as threadRows,Ha as threadTitle,vC as threadToolProvider,Xa as threadTree,Ka as threadsOf,wt as thresholdSweep,SN as tierFor,yp as tierOf,ia as timedTextUrl,nn as timerIntent,fs as timerTrigger,GI as titleFromDate,wI as titleFromParticipants,vI as titleFromSummary,BI as titleFromTopics,tk as titleTerms,ts as toB64,hc as toBriefClaims,AM as toChatMessages,jx as toCloudEvent,$x as toCloudEventBatch,qx as toCloudEventLines,Bu as toCssVars,aO as toIndexEntry,aS as toJsonSchema,FR as toJsonl,Or as toModelSchema,ur as toModelSchemas,fM as toMultimodalMessages,nD as toSanitizedReport,oO as toSearchRecord,nI as toggleLinePrefix,lI as toggleLink,II as toggleTag,SI as toggleTask,sI as toggleWrap,wS as tokenExpired,vS as tokenRequest,en as tokenize,ru as tombstone,JE as toolChannel,DE as toolDoc,Sl as toolMadeProgress,eo as toolNeedFor,OP as toolPlan,pC as toolStatus,YS as toolTraits,fP as toolsWanted,Ve as topicTerms,gs as topicTrigger,kn as topicsFormat,Dn as topicsPrompt,Fn as topicsSchema,vn as topicsStream,qS as traitsIndex,jE as transcriptFor,ma as transcriptFromTracks,$ as triggerQueryAt,Mm as trimDescription,Fe as trimGraph,WP as trimOverlap,zA as trustOf,OF as ttsArchOf,Wa as turnsOf,sS as unfence,zi as unlockVault,Dk as unverifiedAmounts,ue as unwrapRedirect,_r as upcast,dr as upcastAll,AA as upcastMemory,rf as upcastSkill,of as upcastSkills,Qd as upsertAgents,gh as usageFromEvent,Ch as usageFromOpenAi,Jm as usageOf,Nh as usageRecord,sm as validateAction,Kp as validateAgent,Jk as validateBrowserAnnounce,zk as validateBrowserCall,jk as validateBrowserResult,Ym as validateBudget,Ar as validateCapability,k_ as validateConnection,hp as validateEngineSpec,qi as validateEntry,m as validateEvent,xx as validateExtractRequest,hx as validateExtractResponse,vT as validateGate,fr as validateInvocation,gT as validateJobPost,mT as validateProject,hm as validateRecipe,ms as validateSchedule,ef as validateSkill,$m as validateTeam,To as validateView,po as validateViewInvocation,Ao as validateWidget,fo as validateWidgetMessage,dC as vaultWidgetSystem,sD as verdict,pp as verifyAttested,cp as verifyChain,EN as verifyEntitlement,CL as verifyPolicyToken,mN as verifySignedToken,ta as videoMetaFromPlayerResponse,_o as viewResult,zE as visiblePrefix,Ut as vocabularyDrift,Ms as voiceCommandTrigger,YF as voiceListRows,XF as voicePicker,sF as voiceSpeaker,aF as voiceStep,Xs as wakeFor,Dt as wantedPages,Mu as wantsModel,RC as wantsVaultGuidance,uc as waves,xM as weatherFollowupPlace,eM as weatherFromSearch,LM as weatherPlace,$C as weatherToolProvider,Kr as weatherUrl,ch as webCryptoSealer,BF as webMedia,Xe as webQuery,kM as webRedoAsk,Rk as webResearch,Om as webSearchToolProvider,hS as wellKnownUrls,Hd as whereItWorks,_C as widgetAuthoringSystem,Oo as widgetIcon,le as wikiQueryAt,xt as wikilinksIn,zM as windowOf,dx as withAbsolutePaths,Xc as withBoardTool,iD as withCost,BM as withFetchedMemo,Sm as withGuidance,wE as withHint,qP as withPresence,HE as withPromptedTools,U as withRecent,Ql as withResultShield,Qc as withRunCache,uM as withSourceTool,XP as withStitching,kl as withToolSystem,lN as withinFreeLimit,Ll as withinReach,TP as withoutOwnInstructions,nO as wordCount,Ue as wordDiff,dd as workLogEvidence,pd as workLogFor,_d as workLogText,B_ as worktreeDirFor,IP as worldAnswered,ff as writerAffordance,Lf as writerRequest,Cf as writerTail};
package/kokoro-text.js CHANGED
@@ -1 +1 @@
1
- const h=Object.freeze({id:"onnx-community/Kokoro-82M-v1.0-ONNX",revision:"1939ad2a8e416c0acfeecc08a694d14ef25f2231",license:"Apache-2.0",file:"onnx/model_quantized.onnx",bytes:92361116,sha256:"fbae9257e1e05ffc727e951ef9b9c98418e6d79f1c9b6b13bd59f5c9028a1478",sampleRate:24e3,styleDim:256,maxTokens:510});function y(e){return`https://huggingface.co/${h.id}/resolve/${h.revision}/${e}`}const $=Object.freeze([{id:"af_heart",label:"Heart",accent:"US",gender:"female",grade:"A",sha256:"d583ccff3cdca2f7fae535cb998ac07e9fcb90f09737b9a41fa2734ec44a8f0b"},{id:"af_bella",label:"Bella",accent:"US",gender:"female",grade:"A-",sha256:"f69d836209b78eb8c66e75e3cda491e26ea838a3674257e9d4e5703cbaf55c8b"},{id:"bf_emma",label:"Emma",accent:"UK",gender:"female",grade:"B-",sha256:"669fe0647f9dd04fcab92f1439a40eeb4c8b4ab1f82e4996fe3d918ce4a63b73"},{id:"af_nicole",label:"Nicole",accent:"US",gender:"female",grade:"B-",sha256:"cd2191ab31b914ed7b318416b0e4440fdf392ddad9106a060819aa600a64f59a",note:"Recorded close to the mic — best on headphones."},{id:"af_aoede",label:"Aoede",accent:"US",gender:"female",grade:"C+",sha256:"4a004c33430762e2461eedb2013fad808ef4ab3121f5300f554476caf58d8361"},{id:"af_kore",label:"Kore",accent:"US",gender:"female",grade:"C+",sha256:"9be5221b6a941c04b561959b8ff0b06e809444dcc4ab7e75a7b23606f691819e"},{id:"af_sarah",label:"Sarah",accent:"US",gender:"female",grade:"C+",sha256:"4409fbc125afabacc615d94db5398d847006a737b0247d6892b7a9a0007a2f0a"},{id:"am_michael",label:"Michael",accent:"US",gender:"male",grade:"C+",sha256:"1d1f21dd8da39c30705cd4c75d039d265e9bc4a2a93ed09bc9e1b1225eb95ba1"},{id:"am_fenrir",label:"Fenrir",accent:"US",gender:"male",grade:"C+",sha256:"c27989f741f7ee34d273a39d8a595cc0837d35f5ced9a29b7cc162614616df43"},{id:"am_puck",label:"Puck",accent:"US",gender:"male",grade:"C+",sha256:"fcf73c989033e9233e0b98713eca600c8c74dcc1614b37009d5450ff4a2274a0"},{id:"af_nova",label:"Nova",accent:"US",gender:"female",grade:"C",sha256:"18778272caa0d0eebaea251c35fd635f038434f9eee5e691d02a174bd328414f"},{id:"af_alloy",label:"Alloy",accent:"US",gender:"female",grade:"C",sha256:"c4a6b876047fd7fb472edf4ebd63cfac7c3b958a7cae7c106e8f038ca6308c45"},{id:"bf_isabella",label:"Isabella",accent:"UK",gender:"female",grade:"C",sha256:"3754352c4aaa46d17f27654ab7518d65b62ad6163a0f55a5f4330c2da2c4e94f"},{id:"bm_george",label:"George",accent:"UK",gender:"male",grade:"C",sha256:"c4b235a4c1f2cd3b939fed08b899ce9385638b763f7b73a59616c4fc9bd6c9bc"},{id:"bm_fable",label:"Fable",accent:"UK",gender:"male",grade:"C",sha256:"f889083196807b4adb15e9204252165f503b8d33d3982e681c52443c49d798f1"}].map(Object.freeze)),K="af_heart";function N(e){return $.find(n=>n.id===e)||null}function z(e){return String(e||"").startsWith("b")?"en":"en-us"}function k(e){if(e.includes("."))return e;if(e.includes(":")){const[a,l]=e.split(":").map(Number);return l===0?`${a} o'clock`:l<10?`${a} oh ${l}`:`${a} ${l}`}const n=parseInt(e.slice(0,4),10);if(n<1100||n%1e3<10)return e;const t=e.slice(0,2),r=parseInt(e.slice(2,4),10),c=e.endsWith("s")?"s":"";if(n%1e3>=100&&n%1e3<=999){if(r===0)return`${t} hundred${c}`;if(r<10)return`${t} oh ${r}${c}`}return`${t} ${r}${c}`}function S(e){const n=e[0]==="$"?"dollar":"pound";if(Number.isNaN(Number(e.slice(1))))return`${e.slice(1)} ${n}s`;if(!e.includes("."))return`${e.slice(1)} ${n}${e.slice(1)==="1"?"":"s"}`;const[t,r]=e.slice(1).split("."),c=parseInt(r.padEnd(2,"0"),10),a=e[0]==="$"?c===1?"cent":"cents":c===1?"penny":"pence";return`${t} ${n}${t==="1"?"":"s"} and ${c} ${a}`}const x=e=>{const[n,t]=e.split(".");return`${n} point ${t.split("").join(" ")}`};function O(e){return String(e||"").replace(/[‘’]/g,"'").replace(/«/g,"“").replace(/»/g,"”").replace(/[“”]/g,'"').replace(/\(/g,"«").replace(/\)/g,"»").replace(/、/g,", ").replace(/。/g,". ").replace(/!/g,"! ").replace(/,/g,", ").replace(/:/g,": ").replace(/;/g,"; ").replace(/?/g,"? ").replace(/[^\S \n]/g," ").replace(/ +/g," ").replace(/(?<=\n) +(?=\n)/g,"").replace(/\bD[Rr]\.(?= [A-Z])/g,"Doctor").replace(/\b(?:Mr\.|MR\.(?= [A-Z]))/g,"Mister").replace(/\b(?:Ms\.|MS\.(?= [A-Z]))/g,"Miss").replace(/\b(?:Mrs\.|MRS\.(?= [A-Z]))/g,"Mrs").replace(/\betc\.(?! [A-Z])/gi,"etc").replace(/\b(y)eah?\b/gi,"$1e'a").replace(/\d*\.\d+|\b\d{4}s?\b|(?<!:)\b(?:[1-9]|1[0-2]):[0-5]\d\b(?!:)/g,k).replace(/(?<=\d),(?=\d)/g,"").replace(/[$£]\d+(?:\.\d+)?(?: hundred| thousand| (?:[bm]|tr)illion)*\b|[$£]\d+\.\d\d?\b/gi,S).replace(/\d*\.\d+/g,x).replace(/(?<=\d)-(?=\d)/g," to ").replace(/(?<=\d)S/g," S").replace(/(?<=[BCDFGHJ-NP-TV-Z])'?s\b/g,"'S").replace(/(?<=X')S\b/g,"s").replace(/(?:[A-Za-z]\.){2,} [a-z]/g,n=>n.replace(/\./g,"-")).replace(/(?<=[A-Z])\.(?=[A-Z])/gi,"-").trim()}const _=/(\s*[;:,.!?¡¿—…"«»“”(){}[\]]+\s*)+/g;async function w(e,{lang:n="en-us",phonemize:t}){if(typeof t!="function")throw new Error("kokoroPhonemes needs a phonemize function");const r=O(e),c=[];let a=0;for(const s of r.matchAll(_))a<s.index&&c.push({mark:!1,text:r.slice(a,s.index)}),s[0].length&&c.push({mark:!0,text:s[0]}),a=s.index+s[0].length;a<r.length&&c.push({mark:!1,text:r.slice(a)});let l="";for(const s of c)l+=s.mark?s.text:[].concat(await t(s.text,n)).join(" ");let o=l.replace(/kəkˈoːɹoʊ/g,"kˈoʊkəɹoʊ").replace(/kəkˈɔːɹəʊ/g,"kˈəʊkəɹəʊ").replace(/ʲ/g,"j").replace(/r/g,"ɹ").replace(/x/g,"k").replace(/ɬ/g,"l").replace(/(?<=[a-zɹː])(?=hˈʌndɹɪd)/g," ").replace(/ z(?=[;:,.!?¡¿—…"«»“” ]|$)/g,"z");return n==="en-us"&&(o=o.replace(/(?<=nˈaɪn)ti(?!ː)/g,"di")),o.trim()}const A=';:,.!?—…"()“” ̃ʣʥʦʨᵝꭧAIOQSTWYᵊabcdefhijklmnopqrstuvwxyzɑɐɒæβɔɕçɖðʤəɚɛɜɟɡɥɨɪʝɯɰŋɳɲɴøɸθœɹɾɻʁɽʂʃʈʧʊʋʌɣɤχʎʒʔˈˌːʰʲ↓→↗↘ᵻ',C=[1,2,3,4,5,6,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,31,33,35,36,39,41,42,43,44,45,46,47,48,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,75,76,77,78,80,81,82,83,85,86,87,90,92,99,101,102,103,110,111,112,113,114,115,116,118,119,120,123,125,126,128,129,130,131,132,133,135,136,138,139,140,142,143,147,148,156,157,158,162,164,169,171,172,173,177],m=Object.freeze(Object.fromEntries([...A].map((e,n)=>[e,C[n]])));function I(e,{maxTokens:n=h.maxTokens}={}){const t=[],r=[];for(const l of String(e||"")){const o=m[l];o!==void 0&&(t.push(o),r.push(l))}const c=[];let a=0;for(;a<t.length;){let l=Math.min(a+n,t.length);if(l<t.length){const s=d=>{for(let f=l-1;f>a;f--)if(d.includes(r[f]))return f+1;return-1},g=[s(".!?…"),s(",;:—"),s(" ")].find(d=>d>a);g&&(l=g)}const o=t.slice(a,l);for(;o.length&&o[o.length-1]===m[" "];)o.pop();for(o.length&&c.push({ids:[0,...o,0],style:Math.min(o.length,n-1)}),a=l;a<t.length&&r[a]===" ";)a++}return c}const M=/([,;:—–…]|[.!?]+["”’')\]]*)(?=\s|$)/g;function U(e,n){const t=e.split(" "),r=[];let c="";for(const a of t)c&&(c+" "+a).length>n?(r.push(c),c=a):c=c?`${c} ${a}`:a;return c&&r.push(c),r}function j(e,{start:n=0,firstChars:t=32,growth:r=1.5,maxChars:c=220}={}){const a=String(e||"").replace(/\s+/g," ").trim();if(!a)return[];const l=[];let o=0;for(const i of a.matchAll(M)){const b=i.index+i[1].length,u=a.slice(o,b).trim();u&&l.push(u),o=b}a.slice(o).trim()&&l.push(a.slice(o).trim());const s=[];let g=n,d="";const f=()=>Math.min(c,Math.round(t*r**g)),p=()=>{d&&(s.push(d),g++,d="")};for(const i of l)for(const b of i.length>Math.max(2*f(),48)?U(i,Math.max(f(),24)):[i])d&&(d+" "+b).length>f()&&p(),d=d?`${d} ${b}`:b,d.length>=f()&&p();return p(),s}export{K as DEFAULT_KOKORO_VOICE,h as KOKORO_MODEL,m as KOKORO_VOCAB,$ as KOKORO_VOICES,j as kokoroChunks,I as kokoroInputs,z as kokoroLang,w as kokoroPhonemes,y as kokoroUrl,N as kokoroVoice,O as normalizeForKokoro};
1
+ const u=Object.freeze({id:"onnx-community/Kokoro-82M-v1.0-ONNX",revision:"1939ad2a8e416c0acfeecc08a694d14ef25f2231",license:"Apache-2.0",file:"onnx/model_quantized.onnx",bytes:92361116,sha256:"fbae9257e1e05ffc727e951ef9b9c98418e6d79f1c9b6b13bd59f5c9028a1478",sampleRate:24e3,styleDim:256,maxTokens:510});function K(e){return`https://huggingface.co/${u.id}/resolve/${u.revision}/${e}`}const O=Object.freeze([{id:"af_heart",label:"Heart",accent:"US",gender:"female",grade:"A",sha256:"d583ccff3cdca2f7fae535cb998ac07e9fcb90f09737b9a41fa2734ec44a8f0b"},{id:"af_bella",label:"Bella",accent:"US",gender:"female",grade:"A-",sha256:"f69d836209b78eb8c66e75e3cda491e26ea838a3674257e9d4e5703cbaf55c8b"},{id:"bf_emma",label:"Emma",accent:"UK",gender:"female",grade:"B-",sha256:"669fe0647f9dd04fcab92f1439a40eeb4c8b4ab1f82e4996fe3d918ce4a63b73"},{id:"af_nicole",label:"Nicole",accent:"US",gender:"female",grade:"B-",sha256:"cd2191ab31b914ed7b318416b0e4440fdf392ddad9106a060819aa600a64f59a",note:"Recorded close to the mic — best on headphones."},{id:"af_aoede",label:"Aoede",accent:"US",gender:"female",grade:"C+",sha256:"4a004c33430762e2461eedb2013fad808ef4ab3121f5300f554476caf58d8361"},{id:"af_kore",label:"Kore",accent:"US",gender:"female",grade:"C+",sha256:"9be5221b6a941c04b561959b8ff0b06e809444dcc4ab7e75a7b23606f691819e"},{id:"af_sarah",label:"Sarah",accent:"US",gender:"female",grade:"C+",sha256:"4409fbc125afabacc615d94db5398d847006a737b0247d6892b7a9a0007a2f0a"},{id:"am_michael",label:"Michael",accent:"US",gender:"male",grade:"C+",sha256:"1d1f21dd8da39c30705cd4c75d039d265e9bc4a2a93ed09bc9e1b1225eb95ba1"},{id:"am_fenrir",label:"Fenrir",accent:"US",gender:"male",grade:"C+",sha256:"c27989f741f7ee34d273a39d8a595cc0837d35f5ced9a29b7cc162614616df43"},{id:"am_puck",label:"Puck",accent:"US",gender:"male",grade:"C+",sha256:"fcf73c989033e9233e0b98713eca600c8c74dcc1614b37009d5450ff4a2274a0"},{id:"af_nova",label:"Nova",accent:"US",gender:"female",grade:"C",sha256:"18778272caa0d0eebaea251c35fd635f038434f9eee5e691d02a174bd328414f"},{id:"af_alloy",label:"Alloy",accent:"US",gender:"female",grade:"C",sha256:"c4a6b876047fd7fb472edf4ebd63cfac7c3b958a7cae7c106e8f038ca6308c45"},{id:"bf_isabella",label:"Isabella",accent:"UK",gender:"female",grade:"C",sha256:"3754352c4aaa46d17f27654ab7518d65b62ad6163a0f55a5f4330c2da2c4e94f"},{id:"bm_george",label:"George",accent:"UK",gender:"male",grade:"C",sha256:"c4b235a4c1f2cd3b939fed08b899ce9385638b763f7b73a59616c4fc9bd6c9bc"},{id:"bm_fable",label:"Fable",accent:"UK",gender:"male",grade:"C",sha256:"f889083196807b4adb15e9204252165f503b8d33d3982e681c52443c49d798f1"}].map(Object.freeze)),z="af_heart";function N(e){return O.find(a=>a.id===e)||null}function E(e){return String(e||"").startsWith("b")?"en":"en-us"}function S(e){if(e.includes("."))return e;if(e.includes(":")){const[c,o]=e.split(":").map(Number);return o===0?`${c} o'clock`:o<10?`${c} oh ${o}`:`${c} ${o}`}const a=parseInt(e.slice(0,4),10);if(a<1100||a%1e3<10)return e;const r=e.slice(0,2),l=parseInt(e.slice(2,4),10),t=e.endsWith("s")?"s":"";if(a%1e3>=100&&a%1e3<=999){if(l===0)return`${r} hundred${t}`;if(l<10)return`${r} oh ${l}${t}`}return`${r} ${l}${t}`}function x(e){const a=e[0]==="$"?"dollar":"pound";if(Number.isNaN(Number(e.slice(1))))return`${e.slice(1)} ${a}s`;if(!e.includes("."))return`${e.slice(1)} ${a}${e.slice(1)==="1"?"":"s"}`;const[r,l]=e.slice(1).split("."),t=parseInt(l.padEnd(2,"0"),10),c=e[0]==="$"?t===1?"cent":"cents":t===1?"penny":"pence";return`${r} ${a}${r==="1"?"":"s"} and ${t} ${c}`}const _=e=>{const[a,r]=e.split(".");return`${a} point ${r.split("").join(" ")}`};function A(e){return String(e||"").replace(/[‘’]/g,"'").replace(/«/g,"“").replace(/»/g,"”").replace(/[“”]/g,'"').replace(/\(/g,"«").replace(/\)/g,"»").replace(/、/g,", ").replace(/。/g,". ").replace(/!/g,"! ").replace(/,/g,", ").replace(/:/g,": ").replace(/;/g,"; ").replace(/?/g,"? ").replace(/[^\S \n]/g," ").replace(/ +/g," ").replace(/(?<=\n) +(?=\n)/g,"").replace(/\bD[Rr]\.(?= [A-Z])/g,"Doctor").replace(/\b(?:Mr\.|MR\.(?= [A-Z]))/g,"Mister").replace(/\b(?:Ms\.|MS\.(?= [A-Z]))/g,"Miss").replace(/\b(?:Mrs\.|MRS\.(?= [A-Z]))/g,"Mrs").replace(/\betc\.(?! [A-Z])/gi,"etc").replace(/\b(y)eah?\b/gi,"$1e'a").replace(/\d*\.\d+|\b\d{4}s?\b|(?<!:)\b(?:[1-9]|1[0-2]):[0-5]\d\b(?!:)/g,S).replace(/(?<=\d),(?=\d)/g,"").replace(/[$£]\d+(?:\.\d+)?(?: hundred| thousand| (?:[bm]|tr)illion)*\b|[$£]\d+\.\d\d?\b/gi,x).replace(/\d*\.\d+/g,_).replace(/(?<=\d)-(?=\d)/g," to ").replace(/(?<=\d)S/g," S").replace(/(?<=[BCDFGHJ-NP-TV-Z])'?s\b/g,"'S").replace(/(?<=X')S\b/g,"s").replace(/(?:[A-Za-z]\.){2,} [a-z]/g,a=>a.replace(/\./g,"-")).replace(/(?<=[A-Z])\.(?=[A-Z])/gi,"-").trim()}const M=/(\s*[;:,.!?¡¿—…"«»“”(){}[\]]+\s*)+/g;async function j(e,{lang:a="en-us",phonemize:r}){if(typeof r!="function")throw new Error("kokoroPhonemes needs a phonemize function");const l=A(e),t=[];let c=0;for(const s of l.matchAll(M))c<s.index&&t.push({mark:!1,text:l.slice(c,s.index)}),s[0].length&&t.push({mark:!0,text:s[0]}),c=s.index+s[0].length;c<l.length&&t.push({mark:!1,text:l.slice(c)});let o="";for(const s of t)o+=s.mark?s.text:[].concat(await r(s.text,a)).join(" ");let n=o.replace(/kəkˈoːɹoʊ/g,"kˈoʊkəɹoʊ").replace(/kəkˈɔːɹəʊ/g,"kˈəʊkəɹəʊ").replace(/ʲ/g,"j").replace(/r/g,"ɹ").replace(/x/g,"k").replace(/ɬ/g,"l").replace(/(?<=[a-zɹː])(?=hˈʌndɹɪd)/g," ").replace(/ z(?=[;:,.!?¡¿—…"«»“” ]|$)/g,"z");return a==="en-us"&&(n=n.replace(/(?<=nˈaɪn)ti(?!ː)/g,"di")),n.trim()}const C=';:,.!?—…"()“” ̃ʣʥʦʨᵝꭧAIOQSTWYᵊabcdefhijklmnopqrstuvwxyzɑɐɒæβɔɕçɖðʤəɚɛɜɟɡɥɨɪʝɯɰŋɳɲɴøɸθœɹɾɻʁɽʂʃʈʧʊʋʌɣɤχʎʒʔˈˌːʰʲ↓→↗↘ᵻ',U=[1,2,3,4,5,6,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,31,33,35,36,39,41,42,43,44,45,46,47,48,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,75,76,77,78,80,81,82,83,85,86,87,90,92,99,101,102,103,110,111,112,113,114,115,116,118,119,120,123,125,126,128,129,130,131,132,133,135,136,138,139,140,142,143,147,148,156,157,158,162,164,169,171,172,173,177],$=Object.freeze(Object.fromEntries([...C].map((e,a)=>[e,U[a]])));function w(e,{maxTokens:a=u.maxTokens}={}){const r=[],l=[];for(const o of String(e||"")){const n=$[o];n!==void 0&&(r.push(n),l.push(o))}const t=[];let c=0;for(;c<r.length;){let o=Math.min(c+a,r.length);if(o<r.length){const s=i=>{for(let d=o-1;d>c;d--)if(i.includes(l[d]))return d+1;return-1},g=[s(".!?…"),s(",;:—"),s(" ")].find(i=>i>c);g&&(o=g)}const n=r.slice(c,o);for(;n.length&&n[n.length-1]===$[" "];)n.pop();for(n.length&&t.push({ids:[0,...n,0],style:Math.min(n.length,a-1)}),c=o;c<r.length&&l[c]===" ";)c++}return t}const y=/([,;:—–…]|[.!?]+["”’')\]]*)(?=\s|$)/g;function k(e,a){const r=e.split(" "),l=[];let t="";for(const c of r)t&&(t+" "+c).length>a?(l.push(t),t=c):t=t?`${t} ${c}`:c;return t&&l.push(t),l}const I=Object.freeze({threshold:.01,leadMs:30,trailMs:60});function R(e){const a=String(e||"").trim();return/[.!?…]+["”’')\]]*$/.test(a)?300:/[;:—–]$/.test(a)?220:/,$/.test(a)?150:0}function D(e,{start:a=0,firstChars:r=32,firstMax:l=28,growth:t=1.5,maxChars:c=220}={}){const o=String(e||"").replace(/\s+/g," ").trim();if(!o)return[];const n=[];let s=0;for(const f of o.matchAll(y)){const b=f.index+f[1].length,m=o.slice(s,b).trim();m&&n.push(m),s=b}if(o.slice(s).trim()&&n.push(o.slice(s).trim()),a===0&&n.length&&n[0].length>l){const[f]=k(n[0],l);n[0].length-f.length-1>=12&&n.splice(0,1,f,n[0].slice(f.length+1))}const g=[];let i=a,d="";const p=()=>Math.min(c,Math.round(r*t**i)),h=()=>{d&&(g.push(d),i++,d="")};for(const f of n)for(const b of f.length>Math.max(2*p(),48)?k(f,Math.max(p(),24)):[f])d&&(d+" "+b).length>p()&&h(),d=d?`${d} ${b}`:b,d.length>=p()&&h();return h(),g}export{z as DEFAULT_KOKORO_VOICE,I as KOKORO_EDGES,u as KOKORO_MODEL,$ as KOKORO_VOCAB,O as KOKORO_VOICES,D as kokoroChunks,w as kokoroInputs,E as kokoroLang,R as kokoroPauseMs,j as kokoroPhonemes,K as kokoroUrl,N as kokoroVoice,A as normalizeForKokoro};
package/link-connect.js CHANGED
@@ -1 +1 @@
1
- import{createHandshake as I,NOISE_PROTOCOLS as x,noiseCrypto as P}from"./link-noise.js";import{createLinkSession as U}from"./link-protocol.js";const D=new TextEncoder,$=new TextDecoder,M=D.encode("chatpanel-link:paired"),d=(i,s)=>!!i&&!!s&&i.length===s.length&&i.every((f,u)=>f===s[u]);function K({side:i,keyPair:s,psk:f=null,peerKey:u=null,laptopKey:y=null,name:N="",sendBytes:l,onRequest:C=null,onSession:T=()=>{},onEnd:h=()=>{},crypto:q=P()}={}){if(i!=="laptop"&&i!=="phone")throw new Error("link: side is laptop or phone");if(!s||typeof l!="function")throw new Error("link: keyPair and sendBytes are required");let c=u,w=f,a=null,o=null,p=0;const g=n=>{if(a=null,o){const e=o;o=null,e.close(n)}},k=n=>{a=null,h(n)};async function v(){const n=++p;g("the other side reconnected");const e=!c;if(e&&!w){h("not paired");return}const t=await I({protocol:e?x.pair:x.resume,initiator:i==="phone",s,rs:!e&&i==="phone"?c:null,psk:e?w:null,crypto:q});n===p&&(a={h:t,pairing:e,gen:n,name:""},i==="phone"&&l(await t.writeMessage()))}async function S(n,e=null){const t=e||await n.h.split(),r=t.remoteStatic;if(n.pairing){if(i==="phone"&&y&&!d(r,y))throw new Error("not the laptop in the pairing code")}else if(!d(r,c))throw new Error("a key this side did not pair");n.gen===p&&(a=null,n.pairing&&(c=r,w=null),n.pairing&&i==="laptop"&&l(await t.encrypt(M)),o=U({transport:t,send:l,side:i,onRequest:i==="laptop"?C:null,onClose:m=>{o=null,h(m)}}),T(o,{peerKey:r,name:n.name,paired:n.pairing}))}async function J(n){const e=a,{h:t,pairing:r}=e,m=await t.readMessage(n);if(i==="laptop")if(t.isDone()){if(r)try{e.name=String(JSON.parse($.decode(m))?.name||"").slice(0,60)}catch{e.name=""}}else l(await t.writeMessage());else if(!t.isDone()&&(l(await t.writeMessage(r?D.encode(JSON.stringify({name:String(N||"").slice(0,60)})):void 0)),r&&t.isDone())){e.confirm=await t.split();return}t.isDone()&&await S(e)}async function L(n){const e=a,t=e.confirm,r=await t.decrypt(n);if(!d(r,M))throw new Error("the laptop did not confirm the pairing");await S(e,t)}let O=Promise.resolve();const E=n=>{const e=O.then(n).catch(()=>{});return O=e,e};async function R(n){let e=null;try{e=JSON.parse(n)}catch{return}if(e?.t==="peer")if(e.up)try{await v()}catch(t){k(`handshake: ${t?.message||t}`)}else p++,g("the other side left")}async function A(n){if(o){await o.receive(n);return}if(a)try{await(a.confirm?L(n):J(n))}catch(e){k(`handshake: ${e?.message||e}`)}}return{onText:n=>E(()=>R(String(n))),onBinary:n=>E(()=>A(n instanceof Uint8Array?n:new Uint8Array(n))),close(n="closed"){p++,g(n)},get session(){return o},get paired(){return!!c}}}export{K as createLinkEndpoint};
1
+ import{createHandshake as _,NOISE_PROTOCOLS as x,noiseCrypto as $}from"./link-noise.js";import{createLinkSession as F,LINK_CAPS as H}from"./link-protocol.js";const y=new TextEncoder,A=new TextDecoder,C=y.encode("chatpanel-link:paired"),S=(i,o)=>!!i&&!!o&&i.length===o.length&&i.every((l,p)=>l===o[p]),D=i=>y.encode(JSON.stringify({caps:[...i]}));function J(i,o){if(!i?.length||i.length>1024)return[];try{const l=JSON.parse(A.decode(i))?.caps;return Array.isArray(l)?o.filter(p=>l.includes(p)):[]}catch{return[]}}function G({side:i,keyPair:o,psk:l=null,peerKey:p=null,laptopKey:k=null,name:L="",sendBytes:c,onRequest:P=null,onSession:T=()=>{},onEnd:g=()=>{},crypto:q=$(),caps:w=H}={}){if(i!=="laptop"&&i!=="phone")throw new Error("link: side is laptop or phone");if(!o||typeof c!="function")throw new Error("link: keyPair and sendBytes are required");let f=p,d=l,s=null,a=null,h=0;const m=e=>{if(s=null,a){const n=a;a=null,n.close(e)}},O=e=>{s=null,g(e)};async function v(){const e=++h;m("the other side reconnected");const n=!f;if(n&&!d){g("not paired");return}const t=await _({protocol:n?x.pair:x.resume,initiator:i==="phone",s:o,rs:!n&&i==="phone"?f:null,psk:n?d:null,crypto:q});e===h&&(s={h:t,pairing:n,gen:e,name:"",caps:[]},i==="phone"&&c(await t.writeMessage(n?void 0:D(w))))}async function N(e,n=null){const t=n||await e.h.split(),r=t.remoteStatic;if(e.pairing){if(i==="phone"&&k&&!S(r,k))throw new Error("not the laptop in the pairing code")}else if(!S(r,f))throw new Error("a key this side did not pair");e.gen===h&&(s=null,e.pairing&&(f=r,d=null),e.pairing&&i==="laptop"&&c(await t.encrypt(C)),a=F({transport:t,send:c,side:i,onRequest:i==="laptop"?P:null,onClose:u=>{a=null,g(u)},batch:e.caps.includes("batch")}),T(a,{peerKey:r,name:e.name,paired:e.pairing,caps:e.caps}))}async function I(e){const n=s,{h:t,pairing:r}=n,u=await t.readMessage(e);if(i==="laptop")if(t.isDone()){if(r)try{n.name=String(JSON.parse(A.decode(u))?.name||"").slice(0,60)}catch{n.name=""}}else r?c(await t.writeMessage()):(n.caps=J(u,w),c(await t.writeMessage(D(w))));else if(!r)n.caps=J(u,w);else if(!t.isDone()&&(c(await t.writeMessage(y.encode(JSON.stringify({name:String(L||"").slice(0,60)})))),r&&t.isDone())){n.confirm=await t.split();return}t.isDone()&&await N(n)}async function R(e){const n=s,t=n.confirm,r=await t.decrypt(e);if(!S(r,C))throw new Error("the laptop did not confirm the pairing");await N(n,t)}let E=Promise.resolve();const M=e=>{const n=E.then(e).catch(()=>{});return E=n,n};async function K(e){let n=null;try{n=JSON.parse(e)}catch{return}if(n?.t==="peer")if(n.up)try{await v()}catch(t){O(`handshake: ${t?.message||t}`)}else h++,m("the other side left")}async function U(e){if(a){await a.receive(e);return}if(s)try{await(s.confirm?R(e):I(e))}catch(n){O(`handshake: ${n?.message||n}`)}}return{onText:e=>M(()=>K(String(e))),onBinary:e=>M(()=>U(e instanceof Uint8Array?e:new Uint8Array(e))),close(e="closed"){h++,m(e)},get session(){return a},get paired(){return!!f}}}export{G as createLinkEndpoint};
package/link-protocol.js CHANGED
@@ -1 +1 @@
1
- import{concatBytes as z}from"./link-noise.js";const S=1,P="chatpanel-link",U=6e4,j=44e3,C=Object.freeze(["GET","POST","PUT","PATCH","DELETE"]),q=64,E=new TextEncoder,N=new TextDecoder;function g(r){let e="";for(const o of r)e+=String.fromCharCode(o);return btoa(e).replace(/\+/g,"-").replace(/\//g,"_").replace(/=+$/,"")}function B(r){const e=String(r||"").replace(/-/g,"+").replace(/_/g,"/");if(!/^[A-Za-z0-9+/]*$/.test(e))throw new Error("link: not base64url");const o=atob(e+"=".repeat((4-e.length%4)%4));return Uint8Array.from(o,s=>s.charCodeAt(0))}const D=r=>{let e="";for(const o of r)e+=String.fromCharCode(o);return btoa(e)},K=r=>Uint8Array.from(atob(String(r||"")),e=>e.charCodeAt(0));function V({relay:r,room:e,key:o,secret:s,name:l=""}){const a=O({v:String(S),relay:r,room:g(e),key:g(o),psk:g(s),name:l}),u=new URLSearchParams({v:String(S),relay:a.relay,room:g(a.room),key:g(a.key),psk:g(a.secret)});return a.name&&u.set("name",a.name),`${P}:?${u.toString()}`}function W(r){const e=String(r||"").trim();if(!e.startsWith(`${P}:?`))throw new Error("link: not a ChatPanel pairing code");const o=new URLSearchParams(e.slice(P.length+2));return O(Object.fromEntries(o.entries()))}function O(r){if(String(r.v)!==String(S))throw new Error(`link: pairing code version ${r.v} is not supported — update the app`);let e;try{e=new URL(String(r.relay||""))}catch{throw new Error("link: the pairing code has no relay address")}if(e.protocol!=="https:"||e.username||e.password)throw new Error("link: the relay must be an https address");const o=(l,a)=>{let u;try{u=B(r[l])}catch{throw new Error(`link: ${l} is not readable`)}if(u.length!==a)throw new Error(`link: ${l} must be ${a} bytes`);return u},s=String(r.name||"").replace(/[\u0000-\u001f\u007f<>]/g,"").trim().slice(0,64);return{relay:e.origin,room:o("room",16),key:o("key",32),secret:o("psk",32),name:s}}async function X(r,e,o,s=globalThis.crypto.subtle){if(o!=="laptop"&&o!=="phone")throw new Error("link: side is laptop or phone");const l=await s.importKey("raw",r,{name:"HMAC",hash:"SHA-256"},!1,["sign"]),a=await s.sign("HMAC",l,E.encode(`chatpanel-link admit v${S}|${g(e)}|${o}`));return g(new Uint8Array(a))}async function Q(r,e=globalThis.crypto.subtle){const o=new Uint8Array(await e.digest("SHA-256",E.encode(String(r))));return Array.from(o,s=>s.toString(16).padStart(2,"0")).join("")}const R=/^(authorization|cookie|set-cookie|www-authenticate|host|proxy-.*|x-forwarded-.*|forwarded|x-real-ip|cf-.*|tailscale-.*|x-chatpanel-device|x-chatpanel-token|content-length|connection|transfer-encoding|upgrade)$/i;function A(r={}){const e={};for(const[o,s]of Object.entries(r||{})){const l=String(o).toLowerCase();!/^[a-z0-9-]{1,64}$/.test(l)||R.test(l)||(e[l]=String(s).replace(/[\r\n]+/g," ").slice(0,2048))}return e}function L(r){const e=String(r||"");if(!e.startsWith("/v1/")||e.length>2048)return!1;const o=e.split("?")[0];return!/(^|\/)\.\.?(\/|$)|%2e|%2f|%5c|\\|\/\//i.test(o)}const F=new Set(["req","body","end","res","cancel","error","ping","pong"]);function J(r){const e=E.encode(JSON.stringify(r));if(e.length>U)throw new Error("link: frame too large");return e}function Y(r){if(r.length>U)throw new Error("link: frame too large");let e;try{e=JSON.parse(N.decode(r))}catch{throw new Error("link: frame is not JSON")}if(!e||typeof e!="object"||!F.has(e.t))throw new Error("link: unknown frame");if(e.t!=="ping"&&e.t!=="pong"&&!(Number.isInteger(e.id)&&e.id>0))throw new Error("link: frame without an id");if(e.t==="req"){if(!C.includes(e.method))throw new Error("link: method not allowed");if(!L(e.path))throw new Error("link: path not allowed");e.headers=A(e.headers)}if(e.t==="res"&&!(Number.isInteger(e.status)&&e.status>=100&&e.status<600))throw new Error("link: bad status");if(e.t==="body"&&typeof e.data!="string")throw new Error("link: body without data");return e}function H(){const r=[];let e=null,o=!1,s=null;const l=()=>{const a=e;e=null,a?.()};return{push(a){r.push(a),l()},end(){o=!0,l()},fail(a){s=a,o=!0,l()},async*[Symbol.asyncIterator](){for(;;){if(r.length){yield r.shift();continue}if(s)throw s;if(o)return;await new Promise(a=>{e=a})}},async bytes(){const a=[];for await(const u of this)a.push(u);return z(...a)},async text(){return N.decode(await this.bytes())}}}function Z({transport:r,send:e,side:o,onRequest:s=null,onClose:l=()=>{}}={}){if(!r||typeof e!="function")throw new Error("link: transport and send are required");if(o!=="phone"&&o!=="laptop")throw new Error("link: side is phone or laptop");let a=o==="phone"?1:2;const u=i=>i%2===(o==="phone"?1:0);let m=null;const f=new Map,w=new Map;let $=Promise.resolve();const p=i=>{if(m)return Promise.reject(new Error(`link: session closed (${m})`));const t=J(i),n=$.then(async()=>{m||e(await r.encrypt(t))});return $=n.catch(()=>{}),n},x=i=>{i?.catch?.(()=>{})};let _=Promise.resolve();const T=async(i,t)=>{for(let n=0;n<t.length;n+=j)await p({t:"body",id:i,data:D(t.subarray(n,n+j))})};function k(i="closed"){if(m)return;m=i;const t=new Error(`link: session closed (${i})`);for(const n of f.values())n.reject?.(t),n.body?.fail(t);for(const n of w.values())n.body.fail(t);f.clear(),w.clear(),l(i)}async function M(i){if(!s||w.size>=q){x(p({t:"error",id:i.id,message:s?"too many open requests":"this side serves nothing"}));return}const t=H(),n={body:t,cancelled:!1};w.set(i.id,n);let d=!1;const h={head:(c,v={})=>(d=!0,p({t:"res",id:i.id,status:c,headers:A(v)})),write:c=>n.cancelled?Promise.resolve():T(i.id,c instanceof Uint8Array?c:E.encode(String(c))),end:()=>(w.delete(i.id),n.cancelled?Promise.resolve():p({t:"end",id:i.id})),fail:c=>(w.delete(i.id),p({t:"error",id:i.id,message:String(c).slice(0,500)})),get cancelled(){return n.cancelled}};Promise.resolve().then(()=>s({method:i.method,path:i.path,headers:i.headers,body:t},h)).catch(c=>x(d?h.end():h.fail(c?.message||"the request failed")))}return{get closed(){return m},close:k,receive(i){const t=_.then(()=>this._receive(i)).catch(n=>k(`bad frame: ${n?.message||n}`));return _=t,t},async _receive(i){if(m)return;let t;try{t=Y(await r.decrypt(i))}catch(h){k(/decrypt|operation|tag/i.test(String(h?.message||h?.name))?"tampered":`bad frame: ${h?.message}`);return}if(t.t==="ping"){x(p({t:"pong"}));return}if(t.t==="pong")return;if(t.t==="req"){if(u(t.id)){k("bad frame: a request in our id space");return}await M(t);return}const n=u(t.id)?f.get(t.id):null,d=u(t.id)?null:w.get(t.id);if(t.t==="res"&&n)n.resolve({status:t.status,headers:t.headers||{},body:n.body});else if(t.t==="body"&&(n||d))(n||d).body.push(K(t.data));else if(t.t==="end"&&n)n.body.end(),f.delete(t.id);else if(t.t==="end"&&d)d.body.end();else if(t.t==="error"&&n){const h=new Error(t.message||"the request failed");n.reject(h),n.body.fail(h),f.delete(t.id)}else t.t==="cancel"&&d&&(d.cancelled=!0,d.body.fail(new Error("cancelled")),w.delete(t.id))},request({method:i="GET",path:t,headers:n={},body:d=null,signal:h=null}={}){if(!C.includes(i))return Promise.reject(new Error("link: method not allowed"));if(!L(t))return Promise.reject(new Error("link: path not allowed"));if(f.size>=q)return Promise.reject(new Error("link: too many open requests"));const c=a;a+=2;const v=H(),I=new Promise((y,b)=>f.set(c,{resolve:y,reject:b,body:v}));return h?.addEventListener?.("abort",()=>{const y=f.get(c);if(!y)return;f.delete(c);const b=new Error("aborted");y.reject(b),y.body.fail(b),p({t:"cancel",id:c}).catch(()=>{})},{once:!0}),(async()=>{await p({t:"req",id:c,method:i,path:t,headers:A(n)}),d!=null&&await T(c,d instanceof Uint8Array?d:E.encode(String(d))),await p({t:"end",id:c})})().catch(y=>{const b=f.get(c);b&&(b.reject(y),f.delete(c))}),I},ping:()=>p({t:"ping"})}}export{j as BODY_CHUNK_BYTES,C as LINK_METHODS,P as LINK_SCHEME,S as LINK_VERSION,U as MAX_FRAME_BYTES,X as admissionToken,Q as admissionVerifier,Z as createLinkSession,Y as decodeFrame,J as encodeFrame,B as fromB64url,L as linkPathAllowed,V as pairingUri,W as parsePairingUri,A as sanitizeLinkHeaders,g as toB64url};
1
+ import{concatBytes as J}from"./link-noise.js";const C=1,U="chatpanel-link",P=6e4,G=44e3,W=Object.freeze(["GET","POST","PUT","PATCH","DELETE"]),Y=64,we=Object.freeze(["batch"]),re=2*P,V=Object.freeze({bytesPerSecond:9e5,byteBurst:6e6,framesPerSecond:90,frameBurst:800});function ne({bytesPerSecond:e,byteBurst:r,framesPerSecond:n,frameBurst:l}=V,{now:c=()=>Date.now(),sleep:u=a=>new Promise(s=>setTimeout(s,a))}={}){let a=r,s=l,d=c();return async E=>{for(;;){const p=c(),m=Math.max(0,p-d)/1e3;if(d=p,a=Math.min(r,a+m*e),s=Math.min(l,s+m*n),a>=E&&s>=1){a-=E,s-=1;return}const f=Math.max((E-a)/e,(1-s)/n)*1e3;await u(Math.max(1,Math.ceil(f)))}}}const _=new TextEncoder,I=new TextDecoder,q=Object.freeze({firstMs:0,windowMs:100,maxBytes:16e3});async function*fe(e,{firstMs:r=q.firstMs,windowMs:n=q.windowMs,maxBytes:l=q.maxBytes,setTimer:c=setTimeout,clearTimer:u=clearTimeout}={}){const a=e[Symbol.asyncIterator]();let s=[],d=0,E=!0,p=null;const m=()=>{const f=s.length===1?s[0]:J(...s);return s=[],d=0,E=!1,f};try{for(;;){if(p||=a.next(),!d){const h=await p;if(p=null,h.done)return;if(s.push(h.value),d+=h.value.length,E&&r<=0){yield m();continue}}let f=null;const g=new Promise(h=>{f=c(()=>h(null),E?r:n)});try{for(;d<l;){p||=a.next();const h=await Promise.race([p,g]);if(h===null)break;if(p=null,h.done){yield m();return}s.push(h.value),d+=h.value.length}}finally{u(f)}yield m()}}finally{p&&p.catch(()=>{});try{a.return?.()?.catch?.(()=>{})}catch{}}}function S(e){let r="";for(const n of e)r+=String.fromCharCode(n);return btoa(r).replace(/\+/g,"-").replace(/\//g,"_").replace(/=+$/,"")}function oe(e){const r=String(e||"").replace(/-/g,"+").replace(/_/g,"/");if(!/^[A-Za-z0-9+/]*$/.test(r))throw new Error("link: not base64url");const n=atob(r+"=".repeat((4-r.length%4)%4));return Uint8Array.from(n,l=>l.charCodeAt(0))}const ie=e=>{let r="";for(const n of e)r+=String.fromCharCode(n);return btoa(r)},ae=e=>Uint8Array.from(atob(String(e||"")),r=>r.charCodeAt(0));function pe({relay:e=null,gw:r=null,room:n,key:l,secret:c,name:u=""}){const a=X({v:String(C),relay:e,gw:r,room:S(n),key:S(l),psk:S(c),name:u}),s=new URLSearchParams({v:String(C)});return a.relay&&s.set("relay",a.relay),s.set("room",S(a.room)),s.set("key",S(a.key)),s.set("psk",S(a.secret)),a.gw&&s.set("gw",a.gw),a.name&&s.set("name",a.name),`${U}:?${s.toString()}`}function ge(e){const r=String(e||"").trim();if(!r.startsWith(`${U}:?`))throw new Error("link: not a ChatPanel pairing code");const n=new URLSearchParams(r.slice(U.length+2));return X(Object.fromEntries(n.entries()))}function X(e){if(String(e.v)!==String(C))throw new Error(`link: pairing code version ${e.v} is not supported — update the app`);const r=(a,s)=>{let d;try{d=new URL(String(a))}catch{throw new Error(`link: the pairing code's ${s} address is not readable`)}if(d.protocol!=="https:"||d.username||d.password)throw new Error(`link: the ${s} must be an https address`);return d.origin},n=e.relay?r(e.relay,"relay"):null,l=e.gw?r(e.gw,"tunnel"):null;if(!n&&!l)throw new Error("link: the pairing code has no relay address");const c=(a,s)=>{let d;try{d=oe(e[a])}catch{throw new Error(`link: ${a} is not readable`)}if(d.length!==s)throw new Error(`link: ${a} must be ${s} bytes`);return d},u=String(e.name||"").replace(/[\u0000-\u001f\u007f<>]/g,"").trim().slice(0,64);return{relay:n,gw:l,room:c("room",16),key:c("key",32),secret:c("psk",32),name:u}}async function me(e,r,n,l=globalThis.crypto.subtle){if(n!=="laptop"&&n!=="phone")throw new Error("link: side is laptop or phone");const c=await l.importKey("raw",e,{name:"HMAC",hash:"SHA-256"},!1,["sign"]),u=await l.sign("HMAC",c,_.encode(`chatpanel-link admit v${C}|${S(r)}|${n}`));return S(new Uint8Array(u))}async function ye(e,r=globalThis.crypto.subtle){const n=new Uint8Array(await r.digest("SHA-256",_.encode(String(e))));return Array.from(n,l=>l.toString(16).padStart(2,"0")).join("")}const se=/^(authorization|cookie|set-cookie|www-authenticate|host|proxy-.*|x-forwarded-.*|forwarded|x-real-ip|cf-.*|tailscale-.*|x-chatpanel-device|x-chatpanel-token|content-length|connection|transfer-encoding|upgrade)$/i;function H(e={}){const r={};for(const[n,l]of Object.entries(e||{})){const c=String(n).toLowerCase();!/^[a-z0-9-]{1,64}$/.test(c)||se.test(c)||(r[c]=String(l).replace(/[\r\n]+/g," ").slice(0,2048))}return r}function Q(e){const r=String(e||"");if(!r.startsWith("/v1/")||r.length>2048)return!1;const n=r.split("?")[0];return!/(^|\/)\.\.?(\/|$)|%2e|%2f|%5c|\\|\/\//i.test(n)}const le=new Set(["req","body","end","res","cancel","error","ping","pong"]);function ce(e){const r=_.encode(JSON.stringify(e));if(r.length>P)throw new Error("link: frame too large");return r}function ue(e){if(!e.length)throw new Error("link: an empty batch");const r=e.reduce((c,u)=>c+u.length+1,1);if(r>P)throw new Error("link: batch too large");const n=new Uint8Array(r);n[0]=91;let l=1;return e.forEach((c,u)=>{n.set(c,l),l+=c.length,n[l++]=u===e.length-1?93:44}),n}function be(e){if(e.length>P)throw new Error("link: frame too large");let r;try{r=JSON.parse(I.decode(e))}catch{throw new Error("link: frame is not JSON")}return z(r)}function de(e,{batch:r=!1}={}){if(e.length>P)throw new Error("link: frame too large");let n;try{n=JSON.parse(I.decode(e))}catch{throw new Error("link: frame is not JSON")}if(!Array.isArray(n))return[z(n)];if(!r)throw new Error("link: a batch this session did not agree to");if(!n.length)throw new Error("link: an empty batch");return n.map(z)}function z(e){if(!e||typeof e!="object"||Array.isArray(e)||!le.has(e.t))throw new Error("link: unknown frame");if(e.t!=="ping"&&e.t!=="pong"&&!(Number.isInteger(e.id)&&e.id>0))throw new Error("link: frame without an id");if(e.t==="req"){if(!W.includes(e.method))throw new Error("link: method not allowed");if(!Q(e.path))throw new Error("link: path not allowed");e.headers=H(e.headers)}if(e.t==="res"&&!(Number.isInteger(e.status)&&e.status>=100&&e.status<600))throw new Error("link: bad status");if(e.t==="body"&&typeof e.data!="string")throw new Error("link: body without data");return e}function Z(){const e=[];let r=null,n=!1,l=null;const c=()=>{const u=r;r=null,u?.()};return{push(u){e.push(u),c()},end(){n=!0,c()},fail(u){l=u,n=!0,c()},async*[Symbol.asyncIterator](){for(;;){if(e.length){yield e.shift();continue}if(l)throw l;if(n)return;await new Promise(u=>{r=u})}},async bytes(){const u=[];for await(const a of this)u.push(a);return J(...u)},async text(){return I.decode(await this.bytes())}}}function Ee({transport:e,send:r,side:n,onRequest:l=null,onClose:c=()=>{},pace:u=V,now:a,sleep:s,batch:d=!1,defer:E=p=>setTimeout(p,0)}={}){if(!e||typeof r!="function")throw new Error("link: transport and send are required");if(n!=="phone"&&n!=="laptop")throw new Error("link: side is phone or laptop");let p=n==="phone"?1:2;const m=t=>t%2===(n==="phone"?1:0);let f=null;const g=new Map,h=new Map;let M=Promise.resolve();const B=u?ne(u,{...a?{now:a}:{},...s?{sleep:s}:{}}):null,K=t=>{const o=M.then(async()=>{if(f)return;const i=await e.encrypt(t);B&&await B(i.length),f||r(i)});return M=o.catch(()=>{}),o};let k=[],T=1,O=null,N=0;const D=()=>{if(O=null,!k.length||f){k=[],T=1;return}const t=k.length===1?k[0]:ue(k);k=[],T=1,N+=t.length,K(t).finally(()=>{N-=t.length}).catch(()=>{})},y=t=>{if(f)return Promise.reject(new Error(`link: session closed (${f})`));const o=ce(t);return d?(T+o.length+1>P&&D(),k.push(o),T+=o.length+1,O||(O=E(D)||!0),N>re?M:Promise.resolve()):K(o)},j=t=>{t?.catch?.(()=>{})};let R=Promise.resolve();const F=async(t,o)=>{for(let i=0;i<o.length;i+=G)await y({t:"body",id:t,data:ie(o.subarray(i,i+G))})};function $(t="closed"){if(f)return;f=t;const o=new Error(`link: session closed (${t})`);for(const i of g.values())i.reject?.(o),i.body?.fail(o);for(const i of h.values())i.body.fail(o);g.clear(),h.clear(),k=[],c(t)}async function ee(t){if(!l||h.size>=Y){j(y({t:"error",id:t.id,message:l?"too many open requests":"this side serves nothing"}));return}const o=Z(),i={body:o,cancelled:!1};h.set(t.id,i);let b=!1;const v={head:(w,L={})=>(b=!0,y({t:"res",id:t.id,status:w,headers:H(L)})),write:w=>i.cancelled?Promise.resolve():F(t.id,w instanceof Uint8Array?w:_.encode(String(w))),end:()=>(h.delete(t.id),i.cancelled?Promise.resolve():y({t:"end",id:t.id})),fail:w=>(h.delete(t.id),y({t:"error",id:t.id,message:String(w).slice(0,500)})),get cancelled(){return i.cancelled}};Promise.resolve().then(()=>l({method:t.method,path:t.path,headers:t.headers,body:o},v)).catch(w=>j(b?v.end():v.fail(w?.message||"the request failed")))}return{get closed(){return f},close:$,receive(t){const o=R.then(()=>this._receive(t)).catch(i=>$(`bad frame: ${i?.message||i}`));return R=o,o},async _receive(t){if(f)return;let o;try{o=de(await e.decrypt(t),{batch:d})}catch(i){$(/decrypt|operation|tag/i.test(String(i?.message||i?.name))?"tampered":`bad frame: ${i?.message}`);return}for(const i of o){if(f)return;await this._frame(i)}},async _frame(t){if(t.t==="ping"){j(y({t:"pong"}));return}if(t.t==="pong")return;if(t.t==="req"){if(m(t.id)){$("bad frame: a request in our id space");return}await ee(t);return}const o=m(t.id)?g.get(t.id):null,i=m(t.id)?null:h.get(t.id);if(t.t==="res"&&o)o.resolve({status:t.status,headers:t.headers||{},body:o.body});else if(t.t==="body"&&(o||i))(o||i).body.push(ae(t.data));else if(t.t==="end"&&o)o.body.end(),g.delete(t.id);else if(t.t==="end"&&i)i.body.end();else if(t.t==="error"&&o){const b=new Error(t.message||"the request failed");o.reject(b),o.body.fail(b),g.delete(t.id)}else t.t==="cancel"&&i&&(i.cancelled=!0,i.body.fail(new Error("cancelled")),h.delete(t.id))},request({method:t="GET",path:o,headers:i={},body:b=null,signal:v=null}={}){if(!W.includes(t))return Promise.reject(new Error("link: method not allowed"));if(!Q(o))return Promise.reject(new Error("link: path not allowed"));if(g.size>=Y)return Promise.reject(new Error("link: too many open requests"));const w=p;p+=2;const L=Z(),te=new Promise((x,A)=>g.set(w,{resolve:x,reject:A,body:L}));return v?.addEventListener?.("abort",()=>{const x=g.get(w);if(!x)return;g.delete(w);const A=new Error("aborted");x.reject(A),x.body.fail(A),y({t:"cancel",id:w}).catch(()=>{})},{once:!0}),(async()=>{await y({t:"req",id:w,method:t,path:o,headers:H(i)}),b!=null&&await F(w,b instanceof Uint8Array?b:_.encode(String(b))),await y({t:"end",id:w})})().catch(x=>{const A=g.get(w);A&&(A.reject(x),g.delete(w))}),te},ping:()=>y({t:"ping"})}}export{G as BODY_CHUNK_BYTES,we as LINK_CAPS,q as LINK_COALESCE,W as LINK_METHODS,V as LINK_PACE,U as LINK_SCHEME,C as LINK_VERSION,P as MAX_FRAME_BYTES,me as admissionToken,ye as admissionVerifier,fe as coalesceChunks,Ee as createLinkSession,be as decodeFrame,de as decodeFrames,ue as encodeBatch,ce as encodeFrame,oe as fromB64url,ne as linkPacer,Q as linkPathAllowed,pe as pairingUri,ge as parsePairingUri,H as sanitizeLinkHeaders,S as toB64url};
package/link-routes.js ADDED
@@ -0,0 +1,2 @@
1
+ const o="https://link.chatpanel.net",s="/v1/link",h=`${s}/room/`,f=Object.freeze([Object.freeze({id:"link",kind:"relay",label:"ChatPanel Link",hosted:!0,summary:"Our relay at link.chatpanel.net carries the encrypted bytes. Nothing to set up."}),Object.freeze({id:"tailscale",kind:"tunnel",label:"Tailscale",summary:"Your own tailnet. Only your devices can reach it; the phone needs the Tailscale app."}),Object.freeze({id:"cloudflare",kind:"tunnel",label:"Cloudflare Tunnel",summary:"Your own Cloudflare Tunnel and a hostname you own."}),Object.freeze({id:"relay",kind:"relay",label:"Your own relay",summary:"A Link relay you run. Your server, your operations; ChatPanel only dials it."})]),c=e=>f.find(t=>t.id===e)||null,a=e=>{throw Object.assign(new Error(e),{code:"bad_route"})};function y(e,t){let n;try{n=new URL(String(e||"").trim())}catch{a(`${t}: not an address — it starts with https://`)}n.protocol!=="https:"&&a(`${t}: must be an https:// address`),(n.username||n.password)&&a(`${t}: no user name or password in the address`);const r=n.hostname.toLowerCase();return(r==="localhost"||/^[\d.]+$/.test(r)||r.includes(":"))&&a(`${t}: a name the phone can look up, not ${r}`),n.origin}function m({id:e="link",url:t=""}={}){const n=c(e);if(n||a(`unknown Link route "${e}"`),e==="link")return{id:e,url:o};const r=y(t,n.label),l=new URL(r).hostname;return e==="tailscale"&&!l.endsWith(".ts.net")&&a("Tailscale: the address `tailscale serve` prints ends in .ts.net"),e==="cloudflare"&&l.endsWith(".trycloudflare.com")&&a("Cloudflare Tunnel: a quick tunnel (trycloudflare.com) gets a new name on every start — use a named tunnel on your own hostname"),e==="relay"&&r===o?{id:"link",url:o}:{id:e,url:r}}function w(e={}){const t=e||{},n=t.relayUrl&&String(t.relayUrl).replace(/\/+$/,"")!==o?String(t.relayUrl):"",r=t.route||(n?"relay":"link");let l;try{l=m({id:r,url:r==="relay"?t.relayUrl||"":t.tunnelUrl||""})}catch(p){return{route:"link",relay:o,tunnel:null,problem:p.message}}const i=c(l.id).kind==="tunnel"?l.url:null,d=i?t.fallback===!1?null:o:l.url;return{route:l.id,relay:d,tunnel:i}}const u=e=>String(e).replace(/^https:/,"wss:").replace(/^http:/,"ws:"),g=(e,t)=>`${u(e)}/v1/room/${t}`,b=(e,t)=>`${u(e)}${h}${t}`;function $(e,{port:t=4320,url:n=""}={}){const r=`http://127.0.0.1:${Number(t)||4320}`,l=(()=>{try{return new URL(n).hostname}catch{return"link.example.com"}})();return e==="tailscale"?{commands:[`tailscale serve --bg --set-path=${s} ${r}${s}`],notes:["Run it on this computer, then paste the https://…ts.net address it prints (`tailscale serve status` shows it again).","On the phone: install Tailscale and sign in to the same tailnet. Use serve, not funnel: serve is reachable from your devices only."]}:e==="cloudflare"?{commands:["cloudflared tunnel create chatpanel-link",`cloudflared tunnel route dns chatpanel-link ${l}`,"cloudflared tunnel run chatpanel-link"],config:["tunnel: chatpanel-link","ingress:",` - hostname: ${l}`,` path: ^${s}/`,` service: ${r}`," - service: http_status:404"].join(`
2
+ `),notes:["The config goes in ~/.cloudflared/config.yml (add the credentials-file line `tunnel create` prints). Only the Link path is mapped; everything else answers 404.","Cloudflare Access in front is an optional extra wall — the phone must then pass it, so leave it off unless you know you want it."]}:e==="relay"?{commands:[],notes:["Give the https address of your relay. It must speak the Link relay wire (rooms at /v1/room/<room>, the admission token as a WebSocket subprotocol)."]}:{commands:[],notes:[]}}const k=/^(cf-connecting-ip|cf-ray|cf-ipcountry|cf-visitor|cf-warp-tag-id|cdn-loop|x-forwarded-for|x-forwarded-host|x-forwarded-proto|x-real-ip|forwarded|tailscale-user-login|tailscale-user-name|tailscale-user-profile-pic|tailscale-headers-info|tailscale-app-capabilities|tailscale-funnel-request)$/i;function L(e={}){return(typeof e?.keys=="function"&&!Array.isArray(e)?[...e.keys()]:Object.keys(e||{})).find(n=>k.test(n))||null}export{o as DEFAULT_LINK_RELAY,f as LINK_ROUTES,s as LINK_TUNNEL_PATH,h as LINK_TUNNEL_ROOM_PATH,m as checkLinkRoute,w as linkPaths,c as linkRoute,g as relaySocketUrl,L as tunnelHeader,$ as tunnelSetup,b as tunnelSocketUrl};
package/link-sync.js ADDED
@@ -0,0 +1,5 @@
1
+ import{decide as O,stampOf as y}from"./sync-plan.js";import{mergeNoteRecords as w}from"./note-merge.js";const E=Object.freeze(["chat","note","meeting","brief"]),Y=Object.freeze({limit:50,bytes:1e6}),C=1e6,M=1e6,k=-1,L=0,T=["syncBase","syncBaseTitle","syncBaseTags"],n=t=>Number.isFinite(Number(t))?Number(t):0,p=t=>String(t?.kind||String(t?.id||"").split(":")[0]||""),B=t=>String(t?.body?.markdown??""),S=(t,i)=>(t instanceof Map?t.get(i):t?.[i])||null;function b(t){if(!t||typeof t.id!="string"||!t.id.includes(":")||!E.includes(p(t))||t.sealed)return!1;if(t.deletedAt)return!0;const i=t.meta||null;return!(t.lossy===!0||i?.lossy===!0||i?.origin==="warm")}function v(t){const{host:i,at:o,rev:s,...e}=t;return n(e.deletedAt)?{id:e.id,kind:p(e),updatedAt:n(e.updatedAt),deletedAt:n(e.deletedAt)}:e}function G(t,i={},o={}){const s=[],e=[],c=[],r=[],l={};let u=0,x=0;const m=(a,g)=>{l[a.id]={rev:n(a.rev),stamp:g}};for(const a of t||[]){if(!a?.id)continue;if(u=Math.max(u,n(a.rev)),!b(a)){x++;continue}const g=S(o,a.id);if(g&&n(g.rev)===n(a.rev))continue;const f=S(i,a.id),d=v(a),h=n(d.deletedAt)>0,A=!!f&&n(f.deletedAt)>0,N=()=>{if(!h){s.push(I(d)||d),m(a,y(d));return}f&&!A&&r.push({id:d.id,at:n(d.deletedAt)}),m(a,f?Math.max(n(f.updatedAt),n(A?f.deletedAt:d.deletedAt)):L)};if(!f){N();continue}if(!g){const _=O(f,d);_==="pull"?!h&&!A&&p(d)==="note"?e.push(d):N():m(a,_==="push"?k:y(f));continue}if(y(f)===n(g.stamp)){N();continue}h&&A?m(a,y(f)):h?m(a,k):A?N():p(d)==="note"?e.push(d):(c.push(d),m(a,y(d)))}return{put:s,merge:e,fork:c,remove:r,known:l,rev:u,skipped:x}}function P(t,i,{now:o=0}={}){const s=v(i),e=t?.meta||{},c=typeof e.syncBase=="string"?{markdown:e.syncBase,..."syncBaseTitle"in e?{title:e.syncBaseTitle}:{},..."syncBaseTags"in e?{tags:e.syncBaseTags}:{}}:null,{record:r,conflicts:l}=w({base:c,ours:{...t,meta:{}},theirs:s,now:0}),u=B(r)!==B(s)||String(r.title??"")!==String(s.title??"")||JSON.stringify(r.tags??[])!==JSON.stringify(s.tags??[]);return{record:{...r,id:s.id,kind:"note",meta:{...s.meta||{},syncBase:B(s),syncBaseTitle:s.title??"",syncBaseTags:s.tags??[],syncConflicts:l},updatedAt:u?Math.max(n(o),n(r.updatedAt)):n(s.updatedAt)},push:u}}function R(t,{newId:i,now:o=0,label:s="conflicted copy"}={}){if(typeof i!="function")throw new Error("conflictedCopy needs newId()");const e=p(t),c={...t.meta||{},conflictOf:t.id};for(const r of T)delete c[r];return{...t,id:`${e}:${i()}`,kind:e,title:`${t.title||"Untitled"} (${s})`,updatedAt:n(o)||n(t.updatedAt),meta:c}}function $(t,{known:i={}}={}){const o=[];let s=0;for(const e of t||[]){if(!b(e)){s++;continue}const c=S(i,e.id);if(c&&n(c.stamp)!==k&&n(c.stamp)===y(e)){s++;continue}const r=c?n(c.rev):0;if(n(e.deletedAt)){o.push({id:e.id,kind:p(e),updatedAt:n(e.updatedAt),deletedAt:n(e.deletedAt),baseRev:r});continue}const l={...e.meta||{}};for(const h of T)delete l[h];const{deletedAt:u,pinned:x,snippet:m,rev:a,host:g,at:f,...d}=e;o.push({...d,kind:p(e),meta:l,baseRev:r})}return{records:o,skipped:s}}function I(t){if(!t||p(t)!=="note"||n(t.deletedAt))return null;const i=B(t),o=t.meta||{};return o.syncBase===i&&o.syncBaseTitle===(t.title??"")&&JSON.stringify(o.syncBaseTags??[])===JSON.stringify(t.tags??[])?null:{...t,meta:{...o,syncBase:i,syncBaseTitle:t.title??"",syncBaseTags:t.tags??[]}}}function j(t,i=C){const o=new TextEncoder,s=[];let e=[],c=0;for(const r of t||[]){const l=o.encode(JSON.stringify(r)).byteLength+1;e.length&&c+l>i&&(s.push(e),e=[],c=0),e.push(r),c+=l}return e.length&&s.push(e),s}function z(t,i,o=M){const s=n(t)/Math.max(1,n(o))*1e3;return Math.max(0,Math.ceil(s-n(i)))}function H(t,i=0){return!t||t.event!=="records"&&t.event!=="hello"?!1:n(t.data?.rev)>n(i)}function W(t){const i=[];let o=String(t||"");for(;;){const s=o.indexOf(`
2
+
3
+ `);if(s<0)break;const e=o.slice(0,s);o=o.slice(s+2);let c="message";const r=[];for(const u of e.split(`
4
+ `))u.startsWith(":")||(u.startsWith("event:")?c=u.slice(6).trim():u.startsWith("data:")&&r.push(u.slice(5).replace(/^ /,"")));if(!r.length)continue;let l=null;try{l=JSON.parse(r.join(`
5
+ `))}catch{l=null}i.push({event:c,data:l})}return{events:i,rest:o}}export{C as LINK_SYNC_BATCH_BYTES,E as LINK_SYNC_KINDS,Y as LINK_SYNC_PAGE,M as LINK_SYNC_RATE,k as SEND,R as conflictedCopy,P as mergePulledNote,z as paceMs,G as planPull,$ as planPush,j as pushBatches,H as rings,W as sseEvents,b as syncable,I as withSyncBase};