@chatpanel/events 0.226.0 → 0.278.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 (57) hide show
  1. package/agent-kinds.js +1 -0
  2. package/agent-run-hint.js +1 -0
  3. package/browser-relay.js +1 -0
  4. package/bug-report.js +11 -0
  5. package/citations.js +5 -5
  6. package/client-prefs.js +1 -1
  7. package/decide-by-model.js +2 -0
  8. package/drive-backup.js +1 -0
  9. package/feature-map.js +1 -1
  10. package/history-search.js +8 -0
  11. package/index.js +1 -1
  12. package/kokoro-text.js +1 -0
  13. package/library.js +10 -10
  14. package/link-connect.js +1 -0
  15. package/link-noise.js +1 -0
  16. package/link-protocol.js +1 -0
  17. package/memory-capture.js +1 -0
  18. package/memory.js +2 -2
  19. package/model-entries.js +1 -1
  20. package/model-list.js +1 -0
  21. package/note-merge.js +13 -0
  22. package/offers.js +3 -0
  23. package/package.json +73 -1
  24. package/page-guard.js +4 -0
  25. package/prefetch.js +2 -2
  26. package/prompted-tools.js +17 -0
  27. package/provider-presets.js +1 -0
  28. package/qr.js +1 -0
  29. package/recall.js +7 -0
  30. package/record-entities.js +2 -0
  31. package/reply-focus.js +1 -0
  32. package/request-options.js +1 -0
  33. package/research.js +16 -0
  34. package/sandbox-policy.js +1 -1
  35. package/search-modes.js +9 -0
  36. package/settings-registry.js +1 -1
  37. package/skill-creator.js +8 -0
  38. package/skill-scan.js +3 -3
  39. package/slash-commands.js +1 -1
  40. package/sources-retrieval.js +3 -3
  41. package/speak-stream.js +1 -1
  42. package/speaker-cluster.js +1 -0
  43. package/stitch.js +24 -0
  44. package/stream-reveal.cases.json +348 -0
  45. package/stream-reveal.js +1 -0
  46. package/text-index.js +1 -0
  47. package/titles.js +4 -4
  48. package/voice-barge-in.cases.json +1 -0
  49. package/voice-brain.js +1 -0
  50. package/voice-channel-gate.cases.json +1 -0
  51. package/voice-channel-gate.js +1 -0
  52. package/voice-intents.js +2 -2
  53. package/voice-loop.js +1 -1
  54. package/voice-speaker.js +1 -1
  55. package/voice-vad.js +1 -1
  56. package/web-research.js +7 -0
  57. package/web-search-tool.js +3 -3
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 E,EGRESS as S,EventError as l,validateEvent as m,isValidEvent as T,createAppender as c}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 I,compareEvents as u,causesAreWellFormed as N}from"./order.js";import{pendingQueue as M,isQueued as C,dequeue as P,moveQueued as L,promoteQueued as x}from"./queue.js";import{groupModels as D,filterSections as F,defaultModelId as k,modelSummary as y,withRecent as U,rememberRecent as b}from"./model-picker.js";import{composerChips as G,chipText as B}from"./composer-chips.js";import{NOTE_ACTIONS as H,NOTE_ACTION_ORDER as w,NOTE_ACTION_TEMPERATURE as V,NOTE_ACTION_ERRORS as X,NOTE_COMMANDS as W,NOTE_COMMAND_TEMPERATURE as Y,NOTE_COMMAND_MAX_TOKENS as z,frameNoteAction as J,noteActionLabel as j,noteActionItems as Q,filterNoteActions as q,commandLineAt as Z,triggerQueryAt as $}from"./note-actions.js";import{parseAgentMention as re,agentMentionAt as oe,parseSkillMention as te,mergeSkillPrompt as ae,findSkillByName as ie,findTargetByName as se,mentionAnswerPrefix as ne}from"./note-mentions.js";import{wikiQueryAt as Se,rankLinkTargets as le}from"./note-links.js";import{SWARM_ROLES as Te,roleById as ce,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 Oe,buildSearchUrl as Ie,unwrapRedirect as ue,isResultHost as Ne,pickResults as ge,mergeEngineResults as Me,engineOrder as Ce}from"./web-search.js";import{MAX_GRAPH_NODES as Le,buildNoteGraph as xe,egoGraph as he,trimGraph as De,graphStats as Fe}from"./note-graph.js";import{lintText as ye,wordDiff as Ue,filterTypoEdits as be,editKey as ve,applyEdits as Ge,COWRITER_SYSTEM as Be,COWRITER_TEMPERATURE as Ke}from"./cowriter.js";import{salientTerms as we,topicTerms as Ve,researchRelevance as Xe,webQuery as We,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 Er}from"./note-plan.js";import{REACH as lr,reachRank as mr,reachSatisfies as Tr}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 Or,toModelSchema as Ir,toModelSchemas as ur}from"./capability.js";import{checkInvariants as gr,INVARIANTS as Mr}from"./invariants.js";import{createMemoryAdapter as Pr,createLogStore as Lr,createBlobStore as xr}from"./store.js";import{createRegistry as Dr,REGISTRY_STATES as Fr}from"./registry.js";import{defineSearchEngine as yr,reconcileEngines as Ur,attemptOrder as br,ENGINE_KINDS as vr,SearchEngineError as Gr}from"./search-engines.js";import{getWeather as Kr,weatherUrl as Hr,parseWeather as wr,formatWeather as Vr,areaLabel as Xr,isAmbiguousLocation as Wr,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 So,layoutFlowchart as lo,renderFlowchartSvg as mo}from"./flowchart.js";import{validateView as co,validateViewInvocation as po,viewResult as _o}from"./view.js";import{validateWidget as Ao,validateWidgetMessage as fo,effectiveGrants as Oo,widgetIcon as Io,WIDGET_SURFACES as uo}from"./widget.js";import{fuseRRF as go,planQueries as Mo,multiSearch as Co}from"./rrf.js";import{SUBJECT_KINDS as Lo,DEFAULT_THRESHOLD as xo,MAX_SUBJECTS as ho,MAX_SUBJECT_CHARS as Do,normalizeSubject as Fo,subjectKey as ko,subjectTokens as yo,isSubjectCandidate as Uo,aliasMap as bo,resolveSubjects as vo,earnsBrief as Go,rankSubjects as Bo,REDACTION_TOKEN_TYPES as Ko,isRedactionToken as Ho,SELF_LABELS as wo,isSelfLabel as Vo,stripQualifiers as Xo,suggestMerges as Wo}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 Et,driftedRefs as St}from"./knowledge-derive.js";import{SYNTHESIS_SCHEMA as mt,synthesisPrompt as Tt,claimsFromSynthesis as ct,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 Ot,accept as It,reject as ut,diffProposal as Nt,converge as gt,linkClaims as Mt}from"./promotion.js";import{normalizeRecord as Pt,normalizeRecords as Lt,wikilinksIn as xt,redactedTokensIn as ht,redactionCost as Dt,wantedPages as Ft,orphanRecords as kt,duplicateTitles as yt,vocabularyDrift as Ut,mentionsFrom as bt,spanningQuestions as vt,surveyCorpus as Gt,thresholdSweep as Bt,formatSurvey as Kt,NEAR_TITLE_DISTANCE as Ht,SPAN_MIN_TERMS as wt}from"./curate.js";import{PDF_MAX_CHARS as Xt,linesFromItems as Wt,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 Ea,formatTranscript as Sa,buildTranscriptDocument as la,transcriptFromTracks as ma}from"./media-transcript.js";import{ACCESS_LOG_VERSION as ca,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 Ia,projectChain as ua}from"./route-graph.js";import{defineAdapter as ga,createAdapterRegistry as Ma,AdapterError as Ca}from"./adapters.js";import{linkifyCitations as La,sourcesFromToolText as xa,createCitationCollector as ha,RETRIEVAL_TOOLS as Da}from"./citations.js";import{buildTrajectory as ka,phasesOf as ya,lanesOf as Ua,filterEntries as ba,displayName as va,ENTRY_KINDS as Ga,threadsOf as Ba,threadTitle as Ka,promptEntries as Ha,turnsOf as wa,threadTree as Va}from"./trajectory.js";import{createTurnRunner as Wa,createStepRecorder as Ya,argsShape as za,defineLoop as Ja,LOOP_KINDS as ja,LoopError as Qa,abortCause as qa,errorFacts as Za}from"./loop.js";import{defineModel as ei,defineMiddleware as ri,defineRouteStrategy as oi,createModelRouter as ti,signalsFrom as ai,requirementsFor as ii,requirementsForStep as si,preferenceFor as ni,failoverOrder as Ei,pinnedOrderOf as Si,FAILOVER_CLASS_GAP as li,FAILOVER_CAPABILITY_GAP as mi,sameModelKey as Ti,RouterError as ci}from"./router.js";import{makeSourceStore as _i,manifestText as di,shortUrl as Ri,readSource as Ai,sourceId as fi}from"./sources-retrieval.js";import{classifySource as Ii,extractUrls as ui,hostMatches as Ni,meetReach as gi,sourcePolicyFor as Mi,sourceUrlsOf as Ci,DEFAULT_INTERNAL_PATTERNS as Pi,INTERNAL_PATTERN_CATALOG as Li}from"./sources.js";import{defineRule as hi,createRuleEngine as Di,SUPPRESSED as Fi,RuleError as ki}from"./rules.js";import{VAULT_VERSION as Ui,KDF_ITERATIONS as bi,KDF_HASH as vi,DEFAULT_LOCK_MS as Gi,VaultError as Bi,MAX_TITLE_CHARS as Ki,MAX_NOTE_CHARS as Hi,MAX_SECRET_CHARS as wi,MAX_ENTRIES as Vi,createVault as Xi,unlockVault as Wi,deriveKey as Yi,sealEntry as zi,openEntry as Ji,validateEntry as ji,entryMeta as Qi,searchEntries as qi,isLocked as Zi,lockedSummary as $i,canAddEntry as es,toB64 as rs,fromB64 as os}from"./vault.js";import{SCHEDULE_KINDS as as,TRIGGER_KINDS as is,JOB_ACTIONS as ss,MISSED_POLICIES as ns,ScheduleError as Es,validateSchedule as Ss,nextFireAt as ls,occurrencesBetween as ms,nextWakeAt as Ts,parseCron as cs,defineTrigger as ps,createTriggerRegistry as _s,BUILTIN_TRIGGERS as ds,timerTrigger as Rs,meetingStartedTrigger as As,meetingEndedTrigger as fs,personJoinedTrigger as Os,phraseTrigger as Is,topicTrigger as us,questionTrigger as Ns,voiceCommandTrigger as gs,defineJob as Ms,dueJobs as Cs,jobsForEvent as Ps,occurrenceKey as Ls,clipText as xs,matchSummary as hs}from"./schedule.js";import{defineMeetingAnalyzer as Fs,createAnalyzerRegistry as ks,CADENCES as ys,AnalyzerError as Us}from"./meeting-analyzers.js";import{DEFAULT_WAKE as vs,MAX_COMMANDS_PER_DELTA as Gs,DAYPART_HOUR as Bs,VoiceIntentError as Ks,compileWake as Hs,findWakeCommand as ws,parseCommand as Vs,commandsFromSegments as Xs,parseDuration as Ws,parseClock as Ys,parseWhen as zs,parseNumberWords as Js,normalizeSpeech as js,tokenize as Qs,editDistance as qs,defineVoiceIntent as Zs,createVoiceIntentRegistry as $s,defaultVoiceIntents as en,BUILTIN_VOICE_INTENTS as rn,timerIntent as on,reminderIntent as tn,scheduleIntent as an,noteIntent as sn,monitorIntent as nn,REFINEMENT_SCHEMA as En,refinementPrompt as Sn,refinementFormat as ln,parseRefinement as mn,refinementStream as Tn,settleRefinement as cn,refineSpokenCommand as pn,isFillerSentence as _n,gistText as dn,gistOpening as Rn,commandLooksFinished as An,sameUtterance as fn,createUtteranceGate as On,UTTERANCE_SETTLE_MS as In,UTTERANCE_DANGLING_MS as un}from"./voice-intents.js";import{MAX_TOPICS as gn,MAX_TOPIC_CHARS as Mn,TOPICS_SCHEMA as Cn,topicsSchema as Pn,topicsPrompt as Ln,topicsFormat as xn,parseTopics as hn,normalizeTopic as Dn,normalizeTopics as Fn,topicsStream as kn,ENTITY_TYPES as yn,ENTITIES_SCHEMA as Un,entitiesPrompt as bn,entitiesFormat as vn,parseEntities as Gn,coerceEntities as Bn,entitiesStream as Kn,MAX_SUGGESTIONS as Hn,MAX_SUGGESTION_CHARS as wn,SUGGESTIONS_SCHEMA as Vn,suggestionsPrompt as Xn,suggestionsFormat as Wn,parseSuggestions as Yn,suggestionsStream as zn}from"./extraction.js";import{FIELD_TYPES as jn,RESPONSE_MODES as Qn,StructuredError as qn,defineSchema as Zn,describeSchema as $n,toJsonSchema as eE,responseFormat as rE,unfence as oE,findJson as tE,rewriteJson as aE,repairJson as iE,isNothing as sE,coerce as nE,parseStructured as EE,createStructuredStream as SE}from"./structured.js";import{explainMcpError as mE,packageFromArgs as TE,isStaleMcpSession as cE,installHintFor as pE,missingCommandMessage as _E,missingCommandIn as dE,normalizePlatform as RE}from"./mcp-errors.js";import{parseSignInPrompt as fE,signInError as OE,signInFromError as IE,signInToolResult as uE,MCP_SIGN_IN_CODE as NE}from"./mcp-signin.js";import{parseAuthChallenge as ME,wellKnownUrls as CE,canonicalResource as PE,readResourceMetadata as LE,readAuthServerMetadata as xE,registrationRequest as hE,readRegistration as DE,authorizeUrl as FE,tokenRequest as kE,readTokenResponse as yE,tokenExpired as UE,authHeader as bE,discoverMcpAuth as vE,registerMcpClient as GE,fetchMcpToken as BE,TOKEN_SKEW_MS as KE}from"./mcp-oauth.js";import{toolTraits as wE,bareToolName as VE,canRunConcurrently as XE,isCacheable as WE,needsConfirmation as YE,traitsIndex as zE,effectiveToolName as JE,parallelEligible as jE,PARALLEL_LOCAL_RE as QE}from"./tool-traits.js";import{planToolRound as ZE,runToolRound as $E}from"./tool-round.js";import{createToolLoopGuard as rS,roundSignature as oS,stableToolCallKey as tS,toolMadeProgress as aS,isLoopableTool as iS,blockedToolResult as sS,OBSERVATION_TOOLS as nS,INPUT_PROGRESS_TOOLS as ES}from"./tool-loop-guard.js";import{classifyFailure as lS,createModelHealth as mS,COOLDOWN_MS as TS,UNAVAILABLE_REASONS as cS,normModelName as pS}from"./model-health.js";import{runWithFailover as dS,failoverExhausted as RS,FAILOVER_MAX_ATTEMPTS as AS}from"./failover.js";import{sourcePolicySettings as OS,sourceGuardFor as IS,sourceGate as uS,isSourceGateError as NS,withinReach as gS}from"./source-gate.js";import{runTurnLoop as CS,createCallRunner as PS,roundCap as LS,withToolSystem as xS,describeCall as hS,stepResultText as DS,addUsage as FS,normalizeUsage as kS,openAiTranscript as yS,anthropicTranscript as US,DEFAULT_MAX_ROUNDS as bS,DEFAULT_MAX_FINISH_TRIES as vS,FINISH_NUDGES as GS,LOOPING_NUDGE as BS,EXHAUSTED_NOTE as KS,ROUND_SEPARATOR as HS}from"./turn-loop.js";import{createResultStore as VS,shieldToolResult as XS,runResultQuery as WS,withResultShield as YS,describeShape as zS,compactValue as JS,resultToolSpec as jS,RESULT_TOOL_NAME as QS,DEFAULT_SHIELD as qS,DEFAULT_STORE as ZS}from"./tool-result.js";import{PERMISSION_EVENT as el,PERMISSION_ANSWERS as rl,PERMISSION_TIMEOUT_MS as ol,PERMISSION_TOOL_NAME as tl,permissionToolSpec as al,isPermissionTool as il,permissionRequestFromClaude as sl,permissionKeys as nl,describePermission as El,permissionAnswer as Sl,permissionAllowed as ll,rememberPermission as ml,recallPermission as Tl,claudePermissionResponse as cl,permissionLine as pl,permissionIcon as _l,createPermissionDesk as dl}from"./agent-permission.js";import{findTools as Al,findToolsResult as fl,findActionArgs as Ol,oneLiner as Il,overlapRank as ul,FIND_ACTION as Nl}from"./tool-discovery.js";import{rankFused as Ml,fusedRanker as Cl,rerankThrough as Pl,toolDoc as Ll,FUSED_CANDIDATES as xl,FUSED_BUDGET_MS as hl}from"./tool-rank-fused.js";import{makeToolHub as Fl,hubSpec as kl,HUB_TOOL_NAME as yl,withHint as Ul,lastUserText as bl}from"./tool-hub.js";import{buildToolset as Gl}from"./toolset.js";import{DESCRIBE_ACTION as Kl,actionMenu as Hl,buildGroupDispatchSpec as wl,validateAction as Vl,makeGroupDispatchExecutor as Xl,withGuidance as Wl,makeDispatchProvider as Yl,estimateTokens as zl}from"./tool-dispatch.js";import{FIND_TOOL_NAME as jl,FIND_DESCRIPTION as Ql,FIND_RESIDENT as ql,findDispatchProvider as Zl}from"./find-tool.js";import{WEB_SEARCH_TOOL_NAME as em,WEB_SEARCH_TOOL_SYSTEM as rm,WEB_SEARCH_SPEC as om,searchResultsToText as tm,webSearchToolProvider as am}from"./web-search-tool.js";import{compressToolSpec as sm,compressToolSpecs as nm,compressionStats as Em,trimDescription as Sm,COMPRESSION_MODES as lm,DEFAULT_COMPRESSION as mm}from"./tool-schema.js";import{validateRecipe as cm,expandRecipe as pm,recipeParams as _m,mapInput as dm,dryRunRecipe as Rm,runPlan as Am,runRecipe as fm,RecipeError as Om,RECIPE_MODES as Im}from"./recipe.js";import{recipeToolProvider as Nm,recipeToolSpec as gm,describeRecipeForApproval as Mm,RECIPE_TOOL_NAME as Cm}from"./recipe-tool.js";import{createBudget as Lm,validateBudget as xm,normalizeBudget as hm,usageOf as Dm,BudgetError as Fm,BUDGET_DIMENSIONS as km}from"./budget.js";import{defineTeam as Um,validateTeam as bm,normalizeTeam as vm,normalizeGrants as Gm,grantAllows as Bm,scmAllows as Km,describeRole as Hm,TeamError as wm,ROLE_MODES as Vm,MERGE_POLICIES as Xm,PLAN_MODES as Wm,GRANTABLE as Ym,WORK_GRANTS as zm,GRANT_RE as Jm,AGENT_REF_RE as jm,STARTER_TEAMS as Qm,starterTeams as qm,blankTeam as Zm,teamFromForm as $m,slugTeamName as eT}from"./team.js";import{fixedPlan as oT,parsePlan as tT,plannerPrompt as aT,waves as iT,breakCycles as sT,TEAM_PLAN_SCHEMA as nT}from"./team-plan.js";import{createBoard as ST,parseFindings as lT,boardText as mT,findingsInstruction as TT,toBriefClaims as cT,FINDINGS_SCHEMA as pT,FINDING_KINDS as _T,THREAD_KINDS as dT,THREAD_STATUSES as RT,POST_KINDS as AT,POST_STATUSES as fT,ASK_TYPES as OT,emptyBoardState as IT,foldBoard as uT,findingsOf as NT}from"./team-board.js";import{boardToolProvider as MT,boardToolSpec as CT,createAnswerBox as PT,withBoardTool as LT,BOARD_TOOL_NAME as xT,DEFAULT_ASK_TIMEOUT_MS as hT}from"./board-tool.js";import{createRunCache as FT,withRunCache as kT}from"./team-cache.js";import{emptyRun as UT,foldRun as bT,runFromEvents as vT,checkpointFrom as GT,isResumable as BT,LIVE_RUN_STATUSES as KT,RESUMABLE_RUN_STATUSES as HT,spendOf as wT,describeSpend as VT,runState as XT,priorWorkFor as WT,STALLED_AFTER_MS as YT}from"./team-record.js";import{validateProject as JT,normalizeProject as jT,defineProject as QT,canTransition as qT,blankProject as ZT,projectFromForm as $T,emptyProjectRecord as ec,foldProject as rc,projectProgress as oc,ProjectError as tc,PROJECT_STATUSES as ac,PROJECT_ID_RE as ic}from"./project.js";import{validateJob as nc,normalizeJob as Ec,defineJob as Sc,canTransition as lc,applyAll as mc,jobToRole as Tc,readyJobs as cc,blankJob as pc,jobFromForm as _c,JobError as dc,JOB_STATUSES as Rc,JOB_ID_RE as Ac}from"./job.js";import{validateGate as Oc,normalizeGate as Ic,effectiveGate as uc,gateAllows as Nc,DEFAULT_GATE as gc,AUTONOMY as Mc,HUMAN_FLAGS as Cc,CHECKS as Pc}from"./gate.js";import{runProject as xc,roundJobs as hc,teamForRound as Dc,jobResults as Fc,roundBudget as kc,parseJobs as yc,parseReview as Uc,jobsPrompt as bc,reviewPrompt as vc,PROJECT_JOBS_SCHEMA as Gc,PROJECT_REVIEW_SCHEMA as Bc,ProjectRunError as Kc,EXECUTIVE as Hc,MAX_JOBS_PER_ROUND as wc,MAX_ROUNDS as Vc,PROJECT_RUN_STATUSES as Xc}from"./project-run.js";import{canonical as Yc,sha256 as zc,makeEntry as Jc,verifyChain as jc,attest as Qc,verifyAttested as qc,summarize as Zc,fit as $c,adjustSummary as ep,normalizeEngine as rp,engineKey as op,normalizeScm as tp,SCORECARD_ENTRY_KINDS as ap,ROLE_KINDS as ip,SCORECARD_VERSION as sp,ENGINE_KINDS as np}from"./scorecard.js";import{ENGINE_KINDS as Sp,ROUTE_PREFERS as lp,normalizePolicy as mp,normalizeEngineSpec as Tp,validateEngineSpec as cp,engineRef as pp,engineKeyOf as _p,describeEngine as dp,tierOf as Rp}from"./engine.js";import{AGENT_ID_RE as fp,APPLIES_TO as Op,EGRESS_CLASSES as Ip,ASSISTANT_ID as up,AgentError as Np,validateAgent as gp,normalizeAgent as Mp,defineAgent as Cp,assistantAgent as Pp,engineOf as Lp,describeAgent as xp,slugAgentId as hp,resolveTeam as Dp,STARTER_AGENTS as Fp,starterAgents as kp,blankAgent as yp,agentFromForm as Up,poolFor as bp}from"./agent.js";import{LEDGER_VERSION as Gp,LEDGER_ENTRY_KINDS as Bp,DECLINE_REASONS as Kp,WITHDRAW_AFTER as Hp,ledgerKey as wp,normalizeCall as Vp,makeLedgerEntry as Xp,summarizeEngine as Wp}from"./model-ledger.js";import{RECRUIT_SCHEMA as zp,MIN_FIT as Jp,engineRow as jp,engineRows as Qp,needForJob as qp,routeFor as Zp,engineWorth as $p,applications as e_,evaluatorPrompt as r_,parseEvaluation as o_,decide as t_,recruitForRun as a_,proposalFromNeeds as i_,proposalToAgent as s_,carveBudget as n_,recruitEvents as E_,recruitJob as S_}from"./recruit.js";import{DEFAULT_MIN_CALLS as m_,cardOverride as T_,applyCard as c_}from"./model-candidates.js";import{SCM_KINDS as __,validateConnection as d_,normalizeConnection as R_,parseRemote as A_,connectionFor as f_,branchFor as O_,worktreeDirFor as I_,credentialEnv as u_,describeConnection as N_,blankConnection as g_,connectionFromForm as M_}from"./scm-connection.js";import{messagesFor as P_,mergeTranscript as L_,clipTranscript as x_,clipMessage as h_,newSteps as D_,continuationNote as F_,createControl as k_,STEP_MAX_CHARS as y_,TASK_TRANSCRIPT_MAX_CHARS as U_}from"./team-task.js";import{runTeam as v_,resumeTeam as G_,dryRunTeam as B_,isModelUnavailable as K_,TeamRunError as H_,RUN_STATUSES as w_}from"./team-run.js";import{teamToolProvider as X_,teamToolSpec as W_,teamToolTimeoutMs as Y_,describeTeamForApproval as z_,TEAM_TOOL_NAME as J_,TEAM_MANUAL as j_}from"./team-tool.js";import{workLogFor as q_,workLogText as Z_,workLogEvidence as $_,describeCall as ed,WORKLOG_KINDS as rd}from"./team-worklog.js";import{normalizeRequest as td,subtaskFromRequest as ad,takeUp as id,takeUpLine as sd,holdsGrants as nd,jobFromSubtask as Ed,extendDependents as Sd,taskTree as ld,threadRows as md,MAX_SUBTASKS as Td,MAX_DEPTH as cd,MIN_TAKEUP_FIT as pd}from"./team-subtask.js";import{teamLine as dd,teamLanes as Rd}from"./team-trail.js";import{promoteRoles as fd,starterTeam as Od,missingStarters as Id,teamHealth as ud,teamShape as Nd,describeTeamShape as gd,whereItWorks as Md,rosterRows as Cd,agentKind as Pd,agentHue as Ld,agentColor as xd,agentInitials as hd,roleCardId as Dd,cardNumbers as Fd,upsertAgents as kd,soloTeam as yd,teamsWithSolos as Ud,builtinOrg as bd,isBuiltin as vd,grantChoices as Gd,grantsFromChoices as Bd,skillChoices as Kd,GRANT_INFO as Hd,SOLO_BUDGET as wd,TEAM_SHAPES as Vd,ROSTER_KINDS as Xd}from"./team-org.js";import{observeInbox as Yd,observeStrip as zd,runLanes as Jd,spendRows as jd,engineStrip as Qd}from"./team-observe.js";import{mcpDispatchProvider as Zd,MCP_TOOL_NAME as $d}from"./mcp-dispatch.js";import{createManifest as rR,ManifestError as oR,SOURCES as tR}from"./manifest.js";import{createKernel as iR,meetDecisions as sR,KernelError as nR,REQUIRED_PLUGINS as ER,ALLOW_ALL as SR}from"./kernel.js";import{replay as mR,formatReport as TR,parseJsonl as cR,toJsonl as pR}from"./harness.js";import{compileQuery as dR,findMatches as RR,matchIndexFor as AR,expandReplacement as fR,replaceMatch as OR,replaceAll as IR,replaceAllInRange as uR,MAX_MATCHES as NR}from"./text-search.js";import{DATA_SCOPES as MR}from"./scopes.js";import{MEMORY_VERSION as PR,MEMORY_KINDS as LR,MEMORY_KIND_NAMES as xR,AMBIENT_KINDS as hR,MAX_MEMORY_CHARS as DR,MIN_MEMORY_CHARS as FR,DEFAULT_MAX_MEMORIES as kR,DEFAULT_BLOCK_CHARS as yR,SAME_FACT as UR,MEMORY_TOOL_SPEC as bR,MEMORY_UPCASTERS as vR,MemoryError as GR,normalizeMemory as BR,isValidMemory as KR,memoryKey as HR,slotOf as wR,similarity as VR,containment as XR,candidatesFrom as WR,reconcile as YR,matchForForget as zR,recall as JR,memoryBlock as jR,markUsed as QR,pruneMemories as qR,memoryToolSystem as ZR,upcastMemory as $R,sameMemory as eA,AMBIENT_MAX_WORDS as rA}from"./memory.js";import{SOURCE_TRUST as tA,SkillSourceError as aA,defineSkillSource as iA,createSkillSourceRegistry as sA}from"./skill-sources.js";import{SKILL_MANIFEST_VERSION as EA,SKILL_CONTEXTS as SA,SKILL_HISTORY_SCOPES as lA,SKILL_MCP_MODES as mA,SKILL_TRUST as TA,SKILL_FILE_KINDS as cA,SKILL_UPCASTERS as pA,SkillManifestError as _A,isSafeSkillPath as dA,originOf as RA,trustOf as AA,skillFiles as fA,needsBridge as OA,declaredAccess as IA,originLabel as uA,sameSkillOrigin as NA,skillIsStale as gA,validateSkill as MA,upcastSkill as CA,upcastSkills as PA,normalizeSkill as LA}from"./skill-manifest.js";import{SKILL_VARS as hA,SKILL_VAR_NAMES as DA,skillVar as FA,skillVarPattern as kA,parseSkillVars as yA,lintSkillPrompt as UA,suggestSkillVar as bA,substituteSkillVars as vA,expandSkillPrompt as GA,skillVarGuidance as BA,SkillVarError as KA}from"./skill-vars.js";import{lineAt as wA,writerAffordance as VA,INSTRUCTION_RE as XA,instructionOnLine as WA,GOAL_MIN_NEW as YA,goalDraftAllowed as zA,createSpendMeter as JA,writerTail as jA,draftSeparator as QA,groundingBlock as qA,writerRequest as ZA,AUTOCOMPLETE_SYSTEM as $A,AUTOCOMPLETE_MAX_TOKENS as ef,AUTOCOMPLETE_TEMPERATURE as rf,clipCompletion as of,GEARS as tf,WRITER_PREFS as af,WRITER_PREF_DEFAULTS as sf,normalizeWriterPrefs as nf,normalizeIntent as Ef}from"./cowriter-writer.js";import{SLASH_TYPING_RE as lf,NEW_THREAD_SLASH_ITEMS as mf,parseNewThread as Tf,isSkillEnabled as cf,enabledSkills as pf,slashCommandItems as _f,matchSlashSkill as df,matchSlashRecipe as Rf,recipeInvocationText as Af,matchSlashTeam as ff,teamInvocationText as Of,slashCommandInsert as If,skillInvocationOf as uf,skillInvocationLabel as Nf}from"./slash-commands.js";import{outlineOf as Mf,parseListItem as Cf,continueList as Pf,indentSelection as Lf,toggleWrap as xf,toggleLinePrefix as hf,toggleTask as Df,toggleLink as Ff,docStats as kf,selectionStats as yf}from"./markdown-authoring.js";import{MAX_TAG_LENGTH as bf,MAX_TAGS as vf,normalizeTag as Gf,normalizeTags as Bf,hasTag as Kf,addTag as Hf,removeTag as wf,toggleTag as Vf,sameTags as Xf,formatTag as Wf,parseTagQuery as Yf,hasTagTerms as zf,formatTagQuery as Jf,matchesTagFilter as jf,filterByTags as Qf,tagFacets as qf,suggestExistingTags as Zf,tagsSearchText as $f}from"./tags.js";import{UNTITLED_MEETING as rO,MAX_TITLE_LENGTH as oO,TITLE_RULES_VERSION as tO,cleanTitle as aO,isGenericTitle as iO,titleFromSummary as sO,titleFromTopics as nO,titleFromParticipants as EO,titleFromDate as SO,deriveMeetingTitle as lO,shouldAutoTitle as mO,isBetterTitleSource as TO,meetingTitlePrompt as cO,parseTitleResponse as pO}from"./titles.js";import{RECORD_KINDS as dO,MAX_TITLE_LEN as RO,LibraryError as AO,parseRecordId as fO,makeRecordId as OO,isRecordId as IO,normalizeStoredRecord as uO,isValidStoredRecord as NO,toSearchRecord as gO,searchTextFor as MO,toIndexEntry as CO,deriveTitle as PO,snippetOf as LO,wordCount as xO}from"./library.js";import{CLOCK_TOLERANCE_MS as DO,SyncError as FO,stampOf as kO,decide as yO,planSync as UO,isSettled as bO,forkConflict as vO,advanceBases as GO}from"./sync-plan.js";import{ENCRYPTED_TYPE as KO,COMPRESSIONS as HO,BackupError as wO,KDF_ITERATIONS as VO,encryptBackup as XO,decryptBackup as WO,isEncryptedBackup as YO,RECORD_TYPE as zO,deriveBackupKey as JO,sealRecord as jO,openRecord as QO,isSealedRecord as qO,keyCache as ZO,identityCodec as $O,streamCodec as eI,nodeCodec as rI,bestCodec as oI}from"./backup-envelope.js";import{recordsFromBackup as aI,backupFromRecords as iI}from"./backup-records.js";import{DEFAULT_POLICY as nI,SLOW_POLICY as EI,scalePolicy as SI,pickProfile as lI,adaptProfile as mI,policyFor as TI,SLOW_FLUSH_MS as cI,FAST_FLUSH_MS as pI,FAST_STREAK as _I,createJournal as dI,JournalError as RI,ENTRY_VERSION as AI,makeEntry as fI,tombstone as OI,isTombstone as II,isEntry as uI,entryStamp as NI,supersedes as gI,BOUNDS as MI,createSegment as CI,applyEntry as PI,segmentBytes as LI,segmentEntries as xI,shouldRotate as hI,mergeSegments as DI,segmentName as FI,parseSegmentName as kI,SEGMENT_RE as yI,boundSegments as UI,segmentsFor as bI,overlay as vI,catchUpPlan as GI}from"./journal.js";import{OMNI_MODES as KI,OMNI_GRAMMAR as HI,parseOmni as wI,extractFilters as VI,resolveSince as XI,wantsModel as WI,isActionable as YI}from"./omni.js";import{THEMES as JI,LIGHT as jI,DARK as QI,PALETTES as qI,SHAPE as ZI,TOKEN_NAMES as $I,TOKEN_ROLES as eu,paletteFor as ru,cssVarName as ou,toCssVars as tu,themeStylesheet as au,resolveTheme as iu}from"./theme.js";import{PLANS as nu,API_BASE as Eu,ENDPOINTS as Su,ENTITLEMENT_PUBLIC_JWK as lu,UPGRADE_URL as mu,FEATURE_TIER as Tu,PRO_FEATURES as cu,TEAM_FEATURES as pu,FREE_LIMITS as _u,COUNTED as du,freeCap as Ru,observeSince as Au,RECHECK_INTERVAL_MS as fu,EntitlementError as Ou,checkoutUrl as Iu,planOf as uu,planLabel as Nu,isPro as gu,isTeam as Mu,can as Cu,tierFor as Pu,withinFreeLimit as Lu,verifyEntitlement as xu,verifySignedToken as hu,licenseFromPayload as Du,needsRecheck as Fu}from"./entitlement.js";import{generateDeviceKey as yu,exportDevicePublicKey as Uu,signChallenge as bu}from"./device-proof.js";import{renderMarkdown as Gu,defaultLinkPolicy as Bu,defaultImagePolicy as Ku}from"./markdown-render.js";import{NOTE_IMAGE_SCHEME as wu,MAX_NOTE_IMAGE_BYTES as Vu,NOTE_IMAGE_TYPES as Xu,noteImageId as Wu,noteImageRef as Yu,noteImageIds as zu,noteImageRefs as Ju,stripNoteImageRefs as ju,orphanNoteImages as Qu,newNoteImageId as qu}from"./note-images.js";import{parseMeetingText as $u,speakerStats as eN,densityRibbon as rN}from"./meeting-text.js";import{speakerBreakdown as tN,speakerTimeline as aN,formatTalkTime as iN,SPEAKER_SLOTS as sN}from"./meeting-shape.js";import{isSpeakerImageValue as EN,speakerLabeller as SN}from"./meeting-shape.js";import{SORT_MODES as mN,SORT_LABELS as TN,sortStamp as cN,sortRecords as pN,filterRecords as _N,dayBucket as dN,rowTime as RN,groupRecords as AN}from"./record-list.js";import{INSIGHT_KINDS as ON,summarySections as IN,insightKindOf as uN,meetingInsights as NN,hasInsights as gN}from"./meeting-insights.js";import{demd as CN,NOTE_SECTIONS as PN,noteSectionKind as LN,MOMENT_BADGES as xN,momentBadge as hN,parseMeetingNotes as DN,groupActionsByOwner as FN}from"./meeting-insights.js";import{PREF_SECTIONS as yN,PREF_SECTION_IDS as UN,DESKTOP_SECTION_IDS as bN,sectionSpec as vN,sectionValue as GN,pickSections as BN,applySections as KN,sectionHash as HN,mergeStamped as wN,changedSections as VN}from"./client-prefs.js";import{SETTINGS_GROUPS as WN,SETTINGS_PAGES as YN,REQUIREMENTS as zN,BOOKKEEPING_KEYS as JN,listRows as jN,findRow as QN,pageById as qN,groupById as ZN,pagesOf as $N,quickRows as eg,breadcrumb as rg,linkTo as og,linkToRow as tg,parseLink as ag,valueOf as ig,setValue as sg,effectiveValue as ng,describeValue as Eg,SETTINGS_OPEN_DEFAULT as Sg,settingsOpenMode as lg,searchSettings as mg,statusOf as Tg,statusAll as cg,homeChecklist as pg,gateOf as _g,sectionOfRow as dg}from"./settings-registry.js";import{pointsAtGateway as Ag,destinationFromEndpoint as fg,destinationFromAgent as Og,availableDestinations as Ig,seedDestinations as ug,shouldSeedDestinations as Ng,mergeEndpointDestinations as gg}from"./gateway-dests.js";import{McpClient as Cg,mcpProvider as Pg}from"./mcp-client.js";import{mcpSharedSystem as xg,mcpInventorySystem as hg,sourceCitationSystem as Dg,combineSystemPrompt as Fg,toolStatus as kg,widgetAuthoringSystem as yg,vaultWidgetSystem as Ug,wantsVaultGuidance as bg}from"./tool-hints.js";import{adaptiveToolRetryHint as Gg,createAdaptiveToolPolicy as Bg,isInvalidToolParametersResult as Kg}from"./adaptive-tool-policy.js";import{getMcpProviders as wg,testMcpServer as Vg,resetMcp as Xg,mcpBackoff as Wg}from"./mcp-manager.js";import{SIDELINE_COMMANDS as zg,BRINGBACK_COMMAND as Jg,THREAD_TOOL_NAME as jg,SIDELINE_SLASH_ITEMS as Qg,THREAD_TOOL_SPEC as qg,parseSideline as Zg,parseBringBack as $g,resolveSidelineTarget as eM,threadManifest as rM,threadToolProvider as oM,readThread as tM,briefPrompt as aM,foldBackNote as iM,foldNotes as sM,nextSidelineIndex as nM,sourceOf as EM,noteUnits as SM,sidelinePath as lM,foldBackFor as mM,SIDELINE_TOOL_NAME as TM,SIDELINE_TOOL_SPEC as cM,sidelineToolProvider as pM}from"./sideline.js";import{WEATHER_TOOL_NAME as dM,WEATHER_TOOL_SYSTEM as RM,weatherToolProvider as AM}from"./weather-tool.js";import{DECIDE_TOOL_NAME as OM,RERANK_TOOL_NAME as IM,CAPABILITY_TOOLS_SYSTEM as uM,capabilityToolsProvider as NM}from"./capability-tools.js";import{openDecision as MM,distributionConfidence as CM}from"./open-decision.js";import{IN_PROCESS_IDS as LM,inProcessView as xM,capabilityView as hM,choicePatch as DM,choiceNote as FM,inProcessPatch as kM}from"./runtime-in-process.js";import{renderContent as UM,toChatMessages as bM,toMultimodalMessages as vM,imageAttachmentsOf as GM,deferAttachedSources as BM,withSourceTool as KM,SOURCE_TOOL_SPEC as HM}from"./context-attachments.js";import{prefetchPlan as VM,prefetchAttachment as XM,weatherPlace as WM,weatherFollowupPlace as YM}from"./prefetch.js";import{createFetchedStore as JM,withFetchedMemo as jM,fetchKey as QM,fetchTitle as qM,fetchedAsSources as ZM,fetchedFacts as $M,defaultTtl as eC,FETCHED_TTL_MS as rC}from"./fetched.js";import{windowOf as tC,fitFor as aC,keepRecentFor as iC,minWindowFor as sC,isContextLimitError as nC,FIT_HEADROOM as EC}from"./context-window.js";import{planCompaction as lC,compactionPrompt as mC,compactionRecord as TC,messagesAfter as cC,systemWithSummary as pC,compactable as _C,COMPACTION_SYSTEM as dC}from"./compaction.js";import{presenceFor as AC,presenceDelta as fC,reachOf as OC,withPresence as IC,presenceBlock as uC,roundCount as NC,roundMinutes as gC,PRESENCE_BUDGET_TOKENS as MC,PRESENCE_KINDS as CC}from"./presence.js";import{PolicyError as LC,POLICY_VERSION as xC,POLICY_TOKEN_TYPE as hC,REDACTION_TIERS as DC,LOCKABLE as FC,FEATURES as kC,PERMISSION_MODES as yC,PRODUCT_HOSTS as UC,normalizeOrgPolicy as bC,endpointAllowed as vC,modelAllowed as GC,agentAllowed as BC,permissionMode as KC,routeAllowed as HC,redactionTier as wC,egressAllowed as VC,settingLocked as XC,featureEnabled as WC,applyPolicyToSettings as YC,policyLabel as zC,policyHash as JC,verifyPolicyToken as jC,globToRegExp as QC}from"./policy.js";import{languageInstruction as ZC,RESPONSE_LANGUAGES as $C}from"./response-language.js";import{NOTE_TOOL_SPECS as rP,makeNoteToolExecutor as oP}from"./note-tool.js";import{memoryToolProvider as aP}from"./memory-tool.js";import{skillRunFromSkill as sP,skillPackageFiles as nP,filterMcpServersForSkill as EP,skillToolSystem as SP,skillHandle as lP,rankSkills as mP,skillCatalogSystem as TP}from"./skill-runtime.js";import{skillFileProvider as pP,SKILL_FILE_TOOL as _P,skillEntry as dP,skillDiscoveryProvider as RP}from"./skill-files.js";import{PATH_KIND as fP,FILES_TOOL as OP,checkAttachablePath as IP,secretReason as uP,isSecretPath as NP,pathAttachment as gP,describeAttachedPath as MP,describePathSize as CP,displayPath as PP,pathAttachmentsOf as LP,withAbsolutePaths as xP,attachedFilesProvider as hP,sniffType as DP,normalizePath as FP,collapseDots as kP,basenameOf as yP,SKIP_DIR_NAMES as UP}from"./attached-paths.js";import{EXTRACT_ROUTE as vP,EXTRACT_PROVIDER_ID as GP,MAX_DOCUMENT_BYTES as BP,PAGE_CHARS as KP,EXTRACT_TYPES as HP,validateExtractRequest as wP,validateExtractResponse as VP,paginateText as XP,gatewayExtractor as WP,extractorChain as YP}from"./extract-capability.js";import{MCP_REGISTRY_API as JP,MCP_CATALOG as jP,registryListUrl as QP,fetchMcpRegistryPage as qP,normalizeRegistryPage as ZP,normalizeRegistryEntry as $P,mcpServerFromCatalogItem as eL}from"./mcp-registry.js";import{CE_SPECVERSION as oL,CE_TYPE_PREFIX as tL,CE_SOURCE_PREFIX as aL,rfc3339 as iL,ceSourceOf as sL,ceHostOf as nL,toCloudEvent as EL,fromCloudEvent as SL,toCloudEventLines as lL,fromCloudEventLines as mL,toCloudEventBatch as TL}from"./cloudevents.js";import{PUSH_LIMITS as pL,planEventPush as _L,ingestCloudEvents as dL,cursorOf as RL}from"./event-sync.js";import{eventStats as fL,projectYear as OL}from"./event-stats.js";import{SEALED_TYPE as uL,SEALED_VERSION as NL,SealError as gL,webCryptoSealer as ML,nodeSealer as CL,newDeviceKey as PL,sealBlob as LL,openBlob as xL,shredBlob as hL,isSealedBlob as DL,isShredded as FL}from"./blob-envelope.js";import{USAGE_RING_MAX as yL,COST_BASES as UL,usageRecord as bL,usageFromEvent as vL,usageFromOpenAi as GL,rollupKey as BL,applyUsage as KL,summarizeUsage as HL,formatTurnUsage as wL,describeTurnUsage as VL,promptTokensOf as XL}from"./usage.js";import{rateFor as YL,costFor as zL,formatUsd as JL,PRICING_BASES as jL,PRICING_LABELS as QL,normalizePricing as qL,priceUsage as ZL}from"./usage-pricing.js";import{FACTCHECK_SCHEMA as ex,FACTCHECK_VERDICTS as rx,lastClaimOf as ox,factcheckPrompt as tx,factcheckVerdict as ax,factcheckKey as ix}from"./cowriter-factcheck.js";import{createVoiceLoop as nx,VOICE_STATES as Ex,MUTE_GRACE_MS as Sx,MAX_PENDING_CHARS as lx,CONTINUATION_WINDOW_MS as mx,ECHO_OVERLAP as Tx,ECHO_TAIL_MS as cx}from"./voice-loop.js";import{speakStream as _x}from"./speak-stream.js";import{createVad as Rx,lowBandEnergy as Ax,VAD_DEFAULTS as fx}from"./voice-vad.js";import{HF_API as Ix,TTS_ARCH_LABEL as ux,ttsArchOf as Nx,partitionTtsModels as gx,modelSearchUrl as Mx,searchModels as Cx,normalizeModel as Px,formatDownloads as Lx,describeSearchResult as xx}from"./model-registry.js";import{SAMPLE_RATE as Dx,MIN_SECONDS as Fx,TARGET_SECONDS as kx,MAX_SECONDS as yx,PROMPT_TEXT as Ux,sampleSeconds as bx,sampleTooShort as vx,defaultVoiceName as Gx,microphoneError as Bx,webMedia as Kx,startRecording as Hx}from"./voice-sample.js";import{TIER_LABEL as Vx,modelRows as Xx,catalogStatus as Wx,dtypePicker as Yx,voicePicker as zx,voiceListRows as Jx,diarizeRows as jx,switchOutcome as Qx,saveVoiceFailure as qx,saveTimedOut as Zx,catalogUnavailable as $x}from"./voice-models.js";import{dictToText as rh,textToDict as oh}from"./redaction-dictionary.js";import{groupRuns as ah,summarizeRun as ih,findRepeats as sh,withCost as nh,verdict as Eh,toSanitizedReport as Sh}from"./run-details.js";import{parseMcpConfig as mh,parseArgsInput as Th,argsToText as ch,parseEnvInput as ph,envToText as _h,envLikeArgs as dh}from"./mcp-config-import.js";import{mutableRef as Ah,refreshArgs as fh,canRefresh as Oh,describeRuntime as Ih}from"./mcp-launcher.js";import{defaultMcpServers as Nh,isDefaultMcpServer as gh}from"./default-mcp-servers.js";import{MONITOR_SOURCES as Ch,DEFAULT_MONITOR_PROFILE as Ph,monitorProfile as Lh,monitorWindowMs as xh,monitorNeedsTools as hh,filterMonitorTools as Dh,recentFindings as Fh,describeMonitorProfile as kh}from"./monitor-profile.js";import{defaultSkills as Uh,meetingNotesSkill as bh}from"./default-skills.js";import{SURFACES as Gh,FEATURES as Bh,listFeatures as Kh,featureIds as Hh}from"./feature-map.js";export{pa as ACCESS_LOG_MAX,ca as ACCESS_LOG_VERSION,i as ACTOR_KINDS,fp as AGENT_ID_RE,jm as AGENT_REF_RE,SR as ALLOW_ALL,a as ALL_TYPES,hR as AMBIENT_KINDS,rA as AMBIENT_MAX_WORDS,Eu as API_BASE,Op as APPLIES_TO,OT as ASK_TYPES,up as ASSISTANT_ID,ef as AUTOCOMPLETE_MAX_TOKENS,$A as AUTOCOMPLETE_SYSTEM,rf as AUTOCOMPLETE_TEMPERATURE,Mc as AUTONOMY,Ca as AdapterError,Np as AgentError,Us as AnalyzerError,VO as BACKUP_KDF_ITERATIONS,xT as BOARD_TOOL_NAME,JN as BOOKKEEPING_KEYS,zo as BRIEF_STATES,Jg as BRINGBACK_COMMAND,km as BUDGET_DIMENSIONS,ds as BUILTIN_TRIGGERS,rn as BUILTIN_VOICE_INTENTS,wO as BackupError,Fm as BudgetError,ys as CADENCES,uM as CAPABILITY_TOOLS_SYSTEM,aL as CE_SOURCE_PREFIX,oL as CE_SPECVERSION,tL as CE_TYPE_PREFIX,Pc as CHECKS,Jo as CLAIM_KINDS,n as CLASSES,DO as CLOCK_TOLERANCE_MS,dC as COMPACTION_SYSTEM,HO as COMPRESSIONS,lm as COMPRESSION_MODES,mx as CONTINUATION_WINDOW_MS,TS as COOLDOWN_MS,UL as COST_BASES,du as COUNTED,Be as COWRITER_SYSTEM,Ke as COWRITER_TEMPERATURE,o as CURRENT_VERSION,QI as DARK,MR as DATA_SCOPES,Bs as DAYPART_HOUR,OM as DECIDE_TOOL_NAME,Kp as DECLINE_REASONS,hT as DEFAULT_ASK_TIMEOUT_MS,yR as DEFAULT_BLOCK_CHARS,mm as DEFAULT_COMPRESSION,gc as DEFAULT_GATE,Pi as DEFAULT_INTERNAL_PATTERNS,Gi as DEFAULT_LOCK_MS,vS as DEFAULT_MAX_FINISH_TRIES,kR as DEFAULT_MAX_MEMORIES,bS as DEFAULT_MAX_ROUNDS,m_ as DEFAULT_MIN_CALLS,Ph as DEFAULT_MONITOR_PROFILE,nI as DEFAULT_POLICY,qS as DEFAULT_SHIELD,ZS as DEFAULT_STORE,xo as DEFAULT_THRESHOLD,vs as DEFAULT_WAKE,Kl as DESCRIBE_ACTION,bN as DESKTOP_SECTION_IDS,Tx as ECHO_OVERLAP,cx as ECHO_TAIL_MS,E as EFFECTS,S as EGRESS,Ip as EGRESS_CLASSES,KO as ENCRYPTED_TYPE,Su as ENDPOINTS,vr as ENGINE_KINDS,Sp as ENGINE_SPEC_KINDS,Un as ENTITIES_SCHEMA,lu as ENTITLEMENT_PUBLIC_JWK,yn as ENTITY_TYPES,Ga as ENTRY_KINDS,AI as ENTRY_VERSION,t as EVENT_TYPES,Hc as EXECUTIVE,KS as EXHAUSTED_NOTE,GP as EXTRACT_PROVIDER_ID,vP as EXTRACT_ROUTE,HP as EXTRACT_TYPES,Ou as EntitlementError,l as EventError,ex as FACTCHECK_SCHEMA,rx as FACTCHECK_VERDICTS,mi as FAILOVER_CAPABILITY_GAP,li as FAILOVER_CLASS_GAP,AS as FAILOVER_MAX_ATTEMPTS,pI as FAST_FLUSH_MS,_I as FAST_STREAK,kC as FEATURES,Bh as FEATURE_MAP,Gh as FEATURE_SURFACES,Tu as FEATURE_TIER,rC as FETCHED_TTL_MS,jn as FIELD_TYPES,OP as FILES_TOOL,pT as FINDINGS_SCHEMA,_T as FINDING_KINDS,Nl as FIND_ACTION,Ql as FIND_DESCRIPTION,ql as FIND_RESIDENT,jl as FIND_TOOL_NAME,GS as FINISH_NUDGES,EC as FIT_HEADROOM,_u as FREE_LIMITS,hl as FUSED_BUDGET_MS,xl as FUSED_CANDIDATES,tf as GEARS,YA as GOAL_MIN_NEW,Ym as GRANTABLE,Hd as GRANT_INFO,Jm as GRANT_RE,Ix as HF_API,yl as HUB_TOOL_NAME,Cc as HUMAN_FLAGS,ES as INPUT_PROGRESS_TOOLS,ON as INSIGHT_KINDS,XA as INSTRUCTION_RE,Li as INTERNAL_PATTERN_CATALOG,Mr as INVARIANTS,LM as IN_PROCESS_IDS,ss as JOB_ACTIONS,Ac as JOB_POST_ID_RE,Rc as JOB_POST_STATUSES,MI as JOURNAL_BOUNDS,dc as JobPostError,RI as JournalError,vi as KDF_HASH,bi as KDF_ITERATIONS,nR as KernelError,Bp as LEDGER_ENTRY_KINDS,Gp as LEDGER_VERSION,jI as LIGHT,KT as LIVE_RUN_STATUSES,FC as LOCKABLE,BS as LOOPING_NUDGE,ja as LOOP_KINDS,AO as LibraryError,Qa as LoopError,Zo as MAX_BRIEF_CHARS,qo as MAX_BRIEF_RECORDS,jo as MAX_CLAIMS,Qo as MAX_CLAIM_REFS,Gs as MAX_COMMANDS_PER_DELTA,cd as MAX_DEPTH,BP as MAX_DOCUMENT_BYTES,Vi as MAX_ENTRIES,_t as MAX_EXCERPTS,dt as MAX_EXCERPT_CHARS,Le as MAX_GRAPH_NODES,wc as MAX_JOBS_PER_ROUND,NR as MAX_MATCHES,DR as MAX_MEMORY_CHARS,Hi as MAX_NOTE_CHARS,Vu as MAX_NOTE_IMAGE_BYTES,lx as MAX_PENDING_CHARS,Vc as MAX_ROUNDS,yx as MAX_SECONDS,wi as MAX_SECRET_CHARS,ho as MAX_SUBJECTS,Do as MAX_SUBJECT_CHARS,Td as MAX_SUBTASKS,Hn as MAX_SUGGESTIONS,wn as MAX_SUGGESTION_CHARS,pt as MAX_SYNTHESIS_CLAIMS,vf as MAX_TAGS,bf as MAX_TAG_LENGTH,Ki as MAX_TITLE_CHARS,RO as MAX_TITLE_LEN,oO as MAX_TITLE_LENGTH,gn as MAX_TOPICS,Mn as MAX_TOPIC_CHARS,jP as MCP_CATALOG,JP as MCP_REGISTRY_API,NE as MCP_SIGN_IN_CODE,$d as MCP_TOOL_NAME,LR as MEMORY_KINDS,xR as MEMORY_KIND_NAMES,bR as MEMORY_TOOL_SPEC,vR as MEMORY_UPCASTERS,PR as MEMORY_VERSION,Xm as MERGE_POLICIES,Jp as MIN_FIT,FR as MIN_MEMORY_CHARS,Fx as MIN_SECONDS,pd as MIN_TAKEUP_FIT,ns as MISSED_POLICIES,xN as MOMENT_BADGES,Ch as MONITOR_SOURCES,Sx as MUTE_GRACE_MS,oR as ManifestError,Cg as McpClient,GR as MemoryError,Ht as NEAR_TITLE_DISTANCE,mf as NEW_THREAD_SLASH_ITEMS,H as NOTE_ACTIONS,X as NOTE_ACTION_ERRORS,w as NOTE_ACTION_ORDER,V as NOTE_ACTION_TEMPERATURE,W as NOTE_COMMANDS,z as NOTE_COMMAND_MAX_TOKENS,Y as NOTE_COMMAND_TEMPERATURE,wu as NOTE_IMAGE_SCHEME,Xu as NOTE_IMAGE_TYPES,PN as NOTE_SECTIONS,rP as NOTE_TOOL_SPECS,nS as OBSERVATION_TOOLS,HI as OMNI_GRAMMAR,KI as OMNI_MODES,KP as PAGE_CHARS,qI as PALETTES,QE as PARALLEL_LOCAL_RE,fP as PATH_KIND,Xt as PDF_MAX_CHARS,rl as PERMISSION_ANSWERS,el as PERMISSION_EVENT,yC as PERMISSION_MODES,ol as PERMISSION_TIMEOUT_MS,tl as PERMISSION_TOOL_NAME,nu as PLANS,qe as PLAN_AUTHORS,$e as PLAN_DECOMPOSE_MAX_TOKENS,Ze as PLAN_DECOMPOSE_SYSTEM,er as PLAN_DECOMPOSE_TEMPERATURE,Wm as PLAN_MODES,Qe as PLAN_ROLES,rr as PLAN_SECTION_MAX_TOKENS,or as PLAN_SECTION_TEMPERATURE,hC as POLICY_TOKEN_TYPE,xC as POLICY_VERSION,AT as POST_KINDS,fT as POST_STATUSES,yN as PREF_SECTIONS,UN as PREF_SECTION_IDS,MC as PRESENCE_BUDGET_TOKENS,CC as PRESENCE_KINDS,jL as PRICING_BASES,QL as PRICING_LABELS,UC as PRODUCT_HOSTS,ic as PROJECT_ID_RE,Gc as PROJECT_JOBS_SCHEMA,Bc as PROJECT_REVIEW_SCHEMA,Xc as PROJECT_RUN_STATUSES,ac as PROJECT_STATUSES,Ux as PROMPT_TEXT,At as PROPOSAL_STATES,cu as PRO_FEATURES,pL as PUSH_LIMITS,LC as PolicyError,tc as ProjectError,Kc as ProjectRunError,lr as REACH,fu as RECHECK_INTERVAL_MS,Im as RECIPE_MODES,Cm as RECIPE_TOOL_NAME,np as RECORD_ENGINE_KINDS,dO as RECORD_KINDS,zO as RECORD_TYPE,zp as RECRUIT_SCHEMA,DC as REDACTION_TIERS,Ko as REDACTION_TOKEN_TYPES,En as REFINEMENT_SCHEMA,_ as REF_KINDS,Fr as REGISTRY_STATES,ER as REQUIRED_PLUGINS,zN as REQUIREMENTS,IM as RERANK_TOOL_NAME,d as RESOLUTION,$C as RESPONSE_LANGUAGES,Qn as RESPONSE_MODES,Oe as RESULTS_PER_ENGINE,QS as RESULT_TOOL_NAME,HT as RESUMABLE_RUN_STATUSES,Da as RETRIEVAL_TOOLS,ip as ROLE_KINDS,Vm as ROLE_MODES,Xd as ROSTER_KINDS,HS as ROUND_SEPARATOR,lp as ROUTE_PREFERS,w_ as RUN_STATUSES,Om as RecipeError,ci as RouterError,ki as RuleError,UR as SAME_FACT,Dx as SAMPLE_RATE,as as SCHEDULE_KINDS,__ as SCM_KINDS,s as SCOPE_KINDS,ap as SCORECARD_ENTRY_KINDS,sp as SCORECARD_VERSION,uL as SEALED_TYPE,NL as SEALED_VERSION,fe as SEARCH_ENGINES,yI as SEGMENT_RE,wo as SELF_LABELS,WN as SETTINGS_GROUPS,Sg as SETTINGS_OPEN_DEFAULT,YN as SETTINGS_PAGES,ZI as SHAPE,zg as SIDELINE_COMMANDS,Qg as SIDELINE_SLASH_ITEMS,TM as SIDELINE_TOOL_NAME,cM as SIDELINE_TOOL_SPEC,SA as SKILL_CONTEXTS,cA as SKILL_FILE_KINDS,_P as SKILL_FILE_TOOL,lA as SKILL_HISTORY_SCOPES,EA as SKILL_MANIFEST_VERSION,mA as SKILL_MCP_MODES,TA as SKILL_TRUST,pA as SKILL_UPCASTERS,hA as SKILL_VARS,DA as SKILL_VAR_NAMES,UP as SKIP_DIR_NAMES,lf as SLASH_TYPING_RE,cI as SLOW_FLUSH_MS,EI as SLOW_POLICY,wd as SOLO_BUDGET,TN as SORT_LABELS,mN as SORT_MODES,tR as SOURCES,HM as SOURCE_TOOL_SPEC,tA as SOURCE_TRUST,wt as SPAN_MIN_TERMS,sN as SPEAKER_SLOTS,YT as STALLED_AFTER_MS,Fp as STARTER_AGENTS,Qm as STARTER_TEAMS,y_ as STEP_MAX_CHARS,Lo as SUBJECT_KINDS,Vn as SUGGESTIONS_SCHEMA,ft as SUPERSEDE_OVERLAP,Fi as SUPPRESSED,Te as SWARM_ROLES,mt as SYNTHESIS_SCHEMA,Es as ScheduleError,gL as SealError,Gr as SearchEngineError,_A as SkillManifestError,aA as SkillSourceError,KA as SkillVarError,qn as StructuredError,FO as SyncError,kx as TARGET_SECONDS,U_ as TASK_TRANSCRIPT_MAX_CHARS,pu as TEAM_FEATURES,j_ as TEAM_MANUAL,nT as TEAM_PLAN_SCHEMA,Vd as TEAM_SHAPES,J_ as TEAM_TOOL_NAME,JI as THEMES,dT as THREAD_KINDS,RT as THREAD_STATUSES,jg as THREAD_TOOL_NAME,qg as THREAD_TOOL_SPEC,Vx as TIER_LABEL,tO as TITLE_RULES_VERSION,$I as TOKEN_NAMES,eu as TOKEN_ROLES,KE as TOKEN_SKEW_MS,Cn as TOPICS_SCHEMA,$t as TRANSCRIPT_MAX_CHARS,is as TRIGGER_KINDS,ux as TTS_ARCH_LABEL,wm as TeamError,H_ as TeamRunError,Zr as ToolGroupError,cS as UNAVAILABLE_REASONS,rO as UNTITLED_MEETING,pr as UPCASTERS,mu as UPGRADE_URL,yL as USAGE_RING_MAX,un as UTTERANCE_DANGLING_MS,In as UTTERANCE_SETTLE_MS,fx as VAD_DEFAULTS,Ui as VAULT_VERSION,Ex as VOICE_STATES,Bi as VaultError,Ks as VoiceIntentError,Yr as WEATHER_HOST,zr as WEATHER_TIMEOUT_MS,dM as WEATHER_TOOL_NAME,RM as WEATHER_TOOL_SYSTEM,om as WEB_SEARCH_SPEC,em as WEB_SEARCH_TOOL_NAME,rm as WEB_SEARCH_TOOL_SYSTEM,uo as WIDGET_SURFACES,Hp as WITHDRAW_AFTER,rd as WORKLOG_KINDS,zm as WORK_GRANTS,af as WRITER_PREFS,sf as WRITER_PREF_DEFAULTS,Jr as WeatherError,Zt as YOUTUBE_HOSTS,qa as abortCause,It as accept,Hl as actionMenu,mI as adaptProfile,Gg as adaptiveToolRetryHint,Hf as addTag,FS as addUsage,ep as adjustSummary,GO as advanceBases,BC as agentAllowed,xd as agentColor,Up as agentFromForm,Ld as agentHue,hd as agentInitials,Pd as agentKind,oe as agentMentionAt,bo as aliasMap,US as anthropicTranscript,mc as applyAll,c_ as applyCard,Ge as applyEdits,PI as applyEntry,YC as applyPolicyToSettings,KN as applySections,KL as applyUsage,de as appoint,Xr as areaLabel,za as argsShape,ch as argsToText,Pp as assistantAgent,hP as attachedFilesProvider,br as attemptOrder,Qc as attest,bE as authHeader,FE as authorizeUrl,Ig as availableDestinations,iI as backupFromRecords,VE as bareToolName,yP as basenameOf,oI as bestCodec,yp as blankAgent,g_ as blankConnection,pc as blankJobPost,ZT as blankProject,Zm as blankTeam,sS as blockedToolResult,mT as boardText,MT as boardToolProvider,CT as boardToolSpec,UI as boundSegments,O_ as branchFor,rg as breadcrumb,sT as breakCycles,et as briefId,tt as briefLinks,aM as briefPrompt,ot as briefTerms,rt as briefToText,wl as buildGroupDispatchSpec,xe as buildNoteGraph,Qt as buildPdfDocument,Ie as buildSearchUrl,Gl as buildToolset,ka as buildTrajectory,la as buildTranscriptDocument,bd as builtinOrg,Cu as can,es as canAddEntry,lc as canJobPostTransition,qT as canProjectTransition,Oh as canRefresh,XE as canRunConcurrently,Or as canSatisfy,WR as candidatesFrom,Yc as canonical,PE as canonicalResource,NM as capabilityToolsProvider,hM as capabilityView,oa as captionTracksFromPlayerResponse,Fd as cardNumbers,T_ as cardOverride,n_ as carveBudget,Wx as catalogStatus,$x as catalogUnavailable,GI as catchUpPlan,N as causesAreWellFormed,nL as ceHostOf,sL as ceSourceOf,VN as changedSections,IP as checkAttachablePath,gr as checkInvariants,at as checkKnowledgeInvariants,Iu as checkoutUrl,GT as checkpointFrom,B as chipText,FM as choiceNote,DM as choicePatch,ct as claimsFromSynthesis,lS as classifyFailure,pe as classifyModel,Ii as classifySource,cl as claudePermissionResponse,aO as cleanTitle,of as clipCompletion,h_ as clipMessage,xs as clipText,x_ as clipTranscript,nE as coerce,Bn as coerceEntities,kP as collapseDots,Fg as combineSystemPrompt,Z as commandLineAt,An as commandLooksFinished,Xs as commandsFromSegments,JS as compactValue,_C as compactable,mC as compactionPrompt,TC as compactionRecord,u as compareEvents,dR as compileQuery,Hs as compileWake,G as composerChips,sm as compressToolSpec,nm as compressToolSpecs,Em as compressionStats,f_ as connectionFor,M_ as connectionFromForm,XR as containment,$o as contentHash,F_ as continuationNote,Pf as continueList,gt as converge,zL as costFor,Ra as createAccessLog,Ma as createAdapterRegistry,Bg as createAdaptiveToolPolicy,ks as createAnalyzerRegistry,PT as createAnswerBox,c as createAppender,xr as createBlobStore,ST as createBoard,Lm as createBudget,PS as createCallRunner,ha as createCitationCollector,k_ as createControl,JM as createFetchedStore,dI as createJournal,iR as createKernel,Lr as createLogStore,rR as createManifest,Pr as createMemoryAdapter,mS as createModelHealth,ti as createModelRouter,dl as createPermissionDesk,Dr as createRegistry,VS as createResultStore,Di as createRuleEngine,FT as createRunCache,CI as createSegment,sA as createSkillSourceRegistry,JA as createSpendMeter,Ya as createStepRecorder,SE as createStructuredStream,qr as createToolGroupRegistry,rS as createToolLoopGuard,_s as createTriggerRegistry,Wa as createTurnRunner,On as createUtteranceGate,Rx as createVad,Xi as createVault,$s as createVoiceIntentRegistry,nx as createVoiceLoop,u_ as credentialEnv,ou as cssVarName,RL as cursorOf,dN as dayBucket,yO as decide,t_ as decideRecruit,IA as declaredAccess,WO as decryptBackup,Ku as defaultImagePolicy,Bu as defaultLinkPolicy,Nh as defaultMcpServers,k as defaultModelId,Uh as defaultSkills,eC as defaultTtl,en as defaultVoiceIntents,Gx as defaultVoiceName,BM as deferAttachedSources,ga as defineAdapter,Cp as defineAgent,Ms as defineJob,Sc as defineJobPost,Ja as defineLoop,Fs as defineMeetingAnalyzer,ri as defineMiddleware,ei as defineModel,QT as defineProject,oi as defineRouteStrategy,hi as defineRule,Zn as defineSchema,yr as defineSearchEngine,iA as defineSkillSource,Um as defineTeam,Qr as defineToolGroup,ps as defineTrigger,Zs as defineVoiceIntent,CN as demd,rN as densityRibbon,P as dequeue,JO as deriveBackupKey,nt as deriveBrief,Et as deriveBriefs,Yi as deriveKey,lO as deriveMeetingTitle,PO as deriveTitle,xp as describeAgent,MP as describeAttachedPath,ed as describeCall,N_ as describeConnection,dp as describeEngine,kh as describeMonitorProfile,CP as describePathSize,El as describePermission,Mm as describeRecipeForApproval,Hm as describeRole,Ih as describeRuntime,$n as describeSchema,xx as describeSearchResult,Eg as describeSettingValue,zS as describeShape,VT as describeSpend,z_ as describeTeamForApproval,gd as describeTeamShape,hS as describeToolCall,VL as describeTurnUsage,Og as destinationFromAgent,fg as destinationFromEndpoint,jx as diarizeRows,rh as dictToText,Nt as diffProposal,vE as discoverMcpAuth,va as displayName,PP as displayPath,CM as distributionConfidence,kf as docStats,QA as draftSeparator,St as driftedRefs,Rm as dryRunRecipe,B_ as dryRunTeam,Yx as dtypePicker,Cs as dueJobs,yt as duplicateTitles,Go as earnsBrief,qs as editDistance,ve as editKey,uc as effectiveGate,Oo as effectiveGrants,ng as effectiveSettingValue,JE as effectiveToolName,he as egoGraph,VC as egressAllowed,IT as emptyBoardState,ec as emptyProjectRecord,UT as emptyRun,pf as enabledSkills,XO as encryptBackup,vC as endpointAllowed,op as engineKey,_p as engineKeyOf,Lp as engineOf,Ce as engineOrder,pp as engineRef,jp as engineRow,Qp as engineRows,Qd as engineStrip,$p as engineWorth,vn as entitiesFormat,bn as entitiesPrompt,Kn as entitiesStream,Qi as entryMeta,NI as entryStamp,dh as envLikeArgs,_h as envToText,oo as equipmentFor,Za as errorFacts,zl as estimateTokens,r_ as evaluatorPrompt,fL as eventStats,pm as expandRecipe,fR as expandReplacement,GA as expandSkillPrompt,mE as explainMcpError,Uu as exportDevicePublicKey,Sd as extendDependents,VI as extractFilters,ui as extractUrls,YP as extractorChain,ix as factcheckKey,tx as factcheckPrompt,ax as factcheckVerdict,RS as failoverExhausted,Ei as failoverOrder,WC as featureEnabled,Hh as featureIds,QM as fetchKey,qP as fetchMcpRegistryPage,BE as fetchMcpToken,qM as fetchTitle,ZM as fetchedAsSources,$M as fetchedFacts,Qf as filterByTags,ba as filterEntries,EP as filterMcpServersForSkill,Dh as filterMonitorTools,q as filterNoteActions,_N as filterRecords,F as filterSections,be as filterTypoEdits,Ol as findActionArgs,Zl as findDispatchProvider,tE as findJson,RR as findMatches,sh as findRepeats,QN as findRow,ie as findSkillByName,se as findTargetByName,Al as findTools,fl as findToolsResult,ws as findWakeCommand,TT as findingsInstruction,NT as findingsOf,$c as fit,aC as fitFor,oT as fixedPlan,mM as foldBackFor,iM as foldBackNote,uT as foldBoard,sM as foldNotes,rc as foldProject,bT as foldRun,vO as forkConflict,fa as formatBytes,Lx as formatDownloads,TR as formatReport,Kt as formatSurvey,Wf as formatTag,Jf as formatTagQuery,iN as formatTalkTime,Ea as formatTimestamp,Sa as formatTranscript,wL as formatTurnUsage,JL as formatUsd,Vr as formatWeather,J as frameNoteAction,Ru as freeCap,os as fromB64,SL as fromCloudEvent,mL as fromCloudEventLines,go as fuseRRF,Cl as fusedRanker,Nc as gateAllows,WP as gatewayExtractor,yu as generateDeviceKey,wg as getMcpProviders,Kr as getWeather,Rn as gistOpening,dn as gistText,QC as globToRegExp,zA as goalDraftAllowed,Bm as grantAllows,Gd as grantChoices,Bd as grantsFromChoices,ro as grantsNeededFor,Fe as graphStats,qA as groundingBlock,FN as groupActionsByOwner,ZN as groupById,D as groupModels,AN as groupRecords,ah as groupRuns,na as groupSegments,gN as hasInsights,so as hasSubstance,Kf as hasTag,zf as hasTagTerms,nd as holdsGrants,pg as homeChecklist,Ni as hostMatches,io as housekeepingTarget,kl as hubSpec,$O as identityCodec,GM as imageAttachmentsOf,kM as inProcessPatch,xM as inProcessView,Lf as indentSelection,dL as ingestCloudEvents,uN as insightKindOf,pE as installHintFor,WA as instructionOnLine,YI as isActionable,Wr as isAmbiguousLocation,TO as isBetterTitleSource,vd as isBuiltin,WE as isCacheable,nC as isContextLimitError,gh as isDefaultMcpServer,YO as isEncryptedBackup,uI as isEntry,_n as isFillerSentence,iO as isGenericTitle,Kg as isInvalidToolParametersResult,no as isLocalHelper,Zi as isLocked,iS as isLoopableTool,K_ as isModelUnavailable,sE as isNothing,il as isPermissionTool,to as isPleasantry,gu as isPro,C as isQueued,IO as isRecordId,Ho as isRedactionToken,A as isRef,Ne as isResultHost,BT as isResumable,dA as isSafeSkillPath,DL as isSealedBlob,qO as isSealedRecord,NP as isSecretPath,Vo as isSelfLabel,bO as isSettled,FL as isShredded,cf as isSkillEnabled,NS as isSourceGateError,EN as isSpeakerImageValue,cE as isStaleMcpSession,Uo as isSubjectCandidate,Mu as isTeam,II as isTombstone,T as isValidEvent,KR as isValidMemory,NO as isValidStoredRecord,ra as isYouTubeUrl,e_ as jobApplications,Ed as jobFromSubtask,_c as jobPostFromForm,Fc as jobResults,Tc as jobToRole,Ps as jobsForEvent,bc as jobsPrompt,iC as keepRecentFor,ZO as keyCache,Ua as lanesOf,ZC as languageInstruction,ox as lastClaimOf,bl as lastUserText,lo as layoutFlowchart,wp as ledgerKey,Du as licenseFromPayload,wA as lineAt,I as linearize,Wt as linesFromItems,Mt as linkClaims,og as linkTo,tg as linkToRow,La as linkifyCitations,UA as lintSkillPrompt,ye as lintText,Kh as listFeatures,jN as listRows,$i as lockedSummary,jt as looksScanned,Ax as lowBandEnergy,da as makeAccessEvent,Yl as makeDispatchProvider,Jc as makeEntry,Xl as makeGroupDispatchExecutor,fI as makeJournalEntry,Xp as makeLedgerEntry,oP as makeNoteToolExecutor,OO as makeRecordId,R as makeRef,_i as makeSourceStore,Aa as makeStorageTier,Fl as makeToolHub,di as manifestText,dm as mapInput,QR as markUsed,zR as matchForForget,AR as matchIndexFor,Rf as matchSlashRecipe,df as matchSlashSkill,ff as matchSlashTeam,hs as matchSummary,jf as matchesTagFilter,Wg as mcpBackoff,Zd as mcpDispatchProvider,hg as mcpInventorySystem,Pg as mcpProvider,eL as mcpServerFromCatalogItem,xg as mcpSharedSystem,sR as meetDecisions,gi as meetReach,fs as meetingEndedTrigger,NN as meetingInsights,bh as meetingNotesSkill,As as meetingStartedTrigger,cO as meetingTitlePrompt,jR as memoryBlock,HR as memoryKey,aP as memoryToolProvider,ZR as memoryToolSystem,ne as mentionAnswerPrefix,bt as mentionsFrom,gg as mergeEndpointDestinations,Me as mergeEngineResults,Je as mergeResearchLanes,DI as mergeSegments,ae as mergeSkillPrompt,wN as mergeStamped,L_ as mergeTranscript,cC as messagesAfter,P_ as messagesFor,Bx as microphoneError,sC as minWindowFor,dE as missingCommandIn,_E as missingCommandMessage,Id as missingStarters,GC as modelAllowed,Xx as modelRows,Mx as modelSearchUrl,y as modelSummary,hN as momentBadge,nn as monitorIntent,hh as monitorNeedsTools,Lh as monitorProfile,xh as monitorWindowMs,L as moveQueued,Co as multiSearch,Ah as mutableRef,qp as needForJob,OA as needsBridge,YE as needsConfirmation,Fu as needsRecheck,PL as newDeviceKey,qu as newNoteImageId,D_ as newSteps,ls as nextFireAt,nM as nextSidelineIndex,Ts as nextWakeAt,rI as nodeCodec,CL as nodeSealer,pS as normModelName,Mp as normalizeAgent,hm as normalizeBudget,Vp as normalizeCall,R_ as normalizeConnection,rp as normalizeEngine,Tp as normalizeEngineSpec,Ic as normalizeGate,Gm as normalizeGrants,Ef as normalizeIntent,Ec as normalizeJobPost,BR as normalizeMemory,Px as normalizeModel,bC as normalizeOrgPolicy,FP as normalizePath,RE as normalizePlatform,mp as normalizePolicy,qL as normalizePricing,jT as normalizeProject,Pt as normalizeRecord,Lt as normalizeRecords,$P as normalizeRegistryEntry,ZP as normalizeRegistryPage,td as normalizeRequest,tp as normalizeScm,LA as normalizeSkill,js as normalizeSpeech,uO as normalizeStoredRecord,Fo as normalizeSubject,Gf as normalizeTag,Bf as normalizeTags,vm as normalizeTeam,Dn as normalizeTopic,Fn as normalizeTopics,kS as normalizeUsage,nf as normalizeWriterPrefs,Q as noteActionItems,j as noteActionLabel,Wu as noteImageId,zu as noteImageIds,Yu as noteImageRef,Ju as noteImageRefs,sn as noteIntent,LN as noteSectionKind,SM as noteUnits,Yd as observeInbox,Au as observeSince,zd as observeStrip,Ls as occurrenceKey,ms as occurrencesBetween,Il as oneLiner,yS as openAiTranscript,xL as openBlob,MM as openDecision,Ji as openEntry,QO as openRecord,Yt as orderLines,uA as originLabel,RA as originOf,Qu as orphanNoteImages,kt as orphanRecords,Mf as outlineOf,ul as overlapRank,vI as overlayEntries,TE as packageFromArgs,qN as pageById,Jt as pageTextFromItems,$N as pagesOf,XP as paginateText,ru as paletteFor,zt as paragraphsFromLines,jE as parallelEligible,re as parseAgentMention,Th as parseArgsInput,ME as parseAuthChallenge,it as parseBriefText,$g as parseBringBack,Ys as parseClock,Vs as parseCommand,cs as parseCron,Ws as parseDuration,Gn as parseEntities,ph as parseEnvInput,o_ as parseEvaluation,lT as parseFindings,So as parseFlowchart,yc as parseJobs,cR as parseJsonl,ag as parseLink,Cf as parseListItem,mh as parseMcpConfig,DN as parseMeetingNotes,$u as parseMeetingText,Tf as parseNewThread,Js as parseNumberWords,wI as parseOmni,tT as parsePlan,ar as parsePlanTasks,fO as parseRecordId,mn as parseRefinement,A_ as parseRemote,Uc as parseReview,kI as parseSegmentName,Zg as parseSideline,fE as parseSignInPrompt,te as parseSkillMention,yA as parseSkillVars,EE as parseStructured,Yn as parseSuggestions,Yf as parseTagQuery,sa as parseTimedText,pO as parseTitleResponse,hn as parseTopics,wr as parseWeather,zs as parseWhen,ea as parseYouTubeUrl,gx as partitionTtsModels,gP as pathAttachment,LP as pathAttachmentsOf,M as pendingQueue,ll as permissionAllowed,Sl as permissionAnswer,_l as permissionIcon,nl as permissionKeys,pl as permissionLine,KC as permissionMode,sl as permissionRequestFromClaude,al as permissionToolSpec,Os as personJoinedTrigger,ya as phasesOf,Is as phraseTrigger,aa as pickCaptionTrack,lI as pickProfile,ge as pickResults,BN as pickSections,Si as pinnedOrderOf,Er as planAttribution,nr as planBody,lC as planCompaction,_L as planEventPush,Nu as planLabel,uu as planOf,sr as planParts,Mo as planQueries,tr as planSectionSystem,UO as planSync,ir as planTitleFor,ZE as planToolRound,aT as plannerPrompt,Ag as pointsAtGateway,TI as policyFor,JC as policyHash,zC as policyLabel,bp as poolFor,ni as preferenceFor,XM as prefetchAttachment,VM as prefetchPlan,uC as presenceBlock,fC as presenceDelta,AC as presenceFor,ZL as priceUsage,WT as priorWorkFor,ua as projectChain,$T as projectFromForm,oc as projectProgress,OL as projectYear,x as promoteQueued,fd as promoteRoles,Ha as promptEntries,XL as promptTokensOf,i_ as proposalFromNeeds,s_ as proposalToAgent,Ot as propose,qR as pruneMemories,Ns as questionTrigger,eg as quickRows,Ml as rankFused,le as rankLinkTargets,ze as rankResearchCards,mP as rankSkills,Bo as rankSubjects,YL as rateFor,OC as reachOf,mr as reachRank,Tr as reachSatisfies,xE as readAuthServerMetadata,DE as readRegistration,LE as readResourceMetadata,Ai as readSource,tM as readThread,yE as readTokenResponse,cc as readyJobs,JR as recall,Tl as recallPermission,Fh as recentFindings,Af as recipeInvocationText,_m as recipeParams,Nm as recipeToolProvider,gm as recipeToolSpec,YR as reconcile,Ur as reconcileEngines,aI as recordsFromBackup,E_ as recruitEvents,a_ as recruitForRun,S_ as recruitJob,_a as redactAccessArgs,ht as redactedTokensIn,Dt as redactionCost,wC as redactionTier,pn as refineSpokenCommand,ln as refinementFormat,Sn as refinementPrompt,Tn as refinementStream,fh as refreshArgs,GE as registerMcpClient,hE as registrationRequest,QP as registryListUrl,ut as reject,ml as rememberPermission,b as rememberRecent,tn as reminderIntent,wf as removeTag,UM as renderContent,mo as renderFlowchartSvg,Gu as renderMarkdown,iE as repairJson,IR as replaceAll,uR as replaceAllInRange,OR as replaceMatch,mR as replay,ii as requirementsFor,si as requirementsForStep,Pl as rerankThrough,Xe as researchRelevance,Ye as researchSnippet,Xg as resetMcp,f as resolveRef,eM as resolveSidelineTarget,XI as resolveSince,vo as resolveSubjects,Dp as resolveTeam,iu as resolveTheme,rE as responseFormat,jS as resultToolSpec,G_ as resumeTeam,vc as reviewPrompt,aE as rewriteJson,iL as rfc3339,ce as roleById,Dd as roleCardId,BL as rollupKey,Cd as rosterRows,kc as roundBudget,LS as roundCap,NC as roundCount,hc as roundJobs,gC as roundMinutes,oS as roundSignature,HC as routeAllowed,Zp as routeFor,Ia as routeGraph,Re as routeTeam,RN as rowTime,vT as runFromEvents,Jd as runLanes,Am as runPlan,xc as runProject,fm as runRecipe,WS as runResultQuery,XT as runState,v_ as runTeam,$E as runToolRound,CS as runTurnLoop,dS as runWithFailover,we as salientTerms,eA as sameMemory,Ti as sameModelKey,NA as sameSkillOrigin,Xf as sameTags,fn as sameUtterance,bx as sampleSeconds,vx as sampleTooShort,Zx as saveTimedOut,qx as saveVoiceFailure,SI as scalePolicy,an as scheduleIntent,Km as scmAllows,LL as sealBlob,zi as sealEntry,jO as sealRecord,qi as searchEntries,Cx as searchModels,tm as searchResultsToText,mg as searchSettings,MO as searchTextFor,uP as secretReason,HN as sectionHash,dg as sectionOfRow,vN as sectionSpec,GN as sectionValue,ug as seedDestinations,LI as segmentBytes,xI as segmentEntries,FI as segmentName,bI as segmentsFor,yf as selectionStats,sg as setSettingValue,XC as settingLocked,ig as settingValue,_g as settingsGateOf,lg as settingsOpenMode,cg as settingsStatusAll,Tg as settingsStatusOf,cn as settleRefinement,zc as sha256,XS as shieldToolResult,Ri as shortUrl,mO as shouldAutoTitle,hI as shouldRotate,Ng as shouldSeedDestinations,hL as shredBlob,lM as sidelinePath,pM as sidelineToolProvider,bu as signChallenge,OE as signInError,IE as signInFromError,uE as signInToolResult,ai as signalsFrom,VR as similarity,TP as skillCatalogSystem,Kd as skillChoices,RP as skillDiscoveryProvider,dP as skillEntry,pP as skillFileProvider,fA as skillFiles,lP as skillHandle,Nf as skillInvocationLabel,uf as skillInvocationOf,gA as skillIsStale,nP as skillPackageFiles,sP as skillRunFromSkill,SP as skillToolSystem,FA as skillVar,BA as skillVarGuidance,kA as skillVarPattern,If as slashCommandInsert,_f as slashCommandItems,wR as slotOf,hp as slugAgentId,eT as slugTeamName,DP as sniffType,LO as snippetOf,yd as soloTeam,pN as sortRecords,cN as sortStamp,Dg as sourceCitationSystem,uS as sourceGate,IS as sourceGuardFor,fi as sourceId,EM as sourceOf,Mi as sourcePolicyFor,OS as sourcePolicySettings,Ci as sourceUrlsOf,xa as sourcesFromToolText,vt as spanningQuestions,_x as speakStream,tN as speakerBreakdown,SN as speakerLabeller,eN as speakerStats,aN as speakerTimeline,wT as spendOf,jd as spendRows,tS as stableToolCallKey,kO as stampOf,Hx as startRecording,kp as starterAgents,Od as starterTeam,qm as starterTeams,DS as stepResultText,eI as streamCodec,ju as stripNoteImageRefs,Xo as stripQualifiers,ko as subjectKey,yo as subjectTokens,vA as substituteSkillVars,ad as subtaskFromRequest,Zf as suggestExistingTags,Wo as suggestMerges,bA as suggestSkillVar,Wn as suggestionsFormat,Xn as suggestionsPrompt,zn as suggestionsStream,Zc as summarize,Wp as summarizeEngine,ih as summarizeRun,HL as summarizeUsage,IN as summarySections,gI as supersedes,_e as supportsSubagents,Gt as surveyCorpus,Qx as switchOutcome,Tt as synthesisPrompt,pC as systemWithSummary,qf as tagFacets,$f as tagsSearchText,id as takeUp,sd as takeUpLine,ld as taskTree,Dc as teamForRound,$m as teamFromForm,ud as teamHealth,Of as teamInvocationText,Rd as teamLanes,dd as teamLine,Nd as teamShape,X_ as teamToolProvider,W_ as teamToolSpec,Y_ as teamToolTimeoutMs,Ud as teamsWithSolos,Vg as testMcpServer,oh as textToDict,au as themeStylesheet,rM as threadManifest,md as threadRows,Ka as threadTitle,oM as threadToolProvider,Va as threadTree,Ba as threadsOf,Bt as thresholdSweep,Pu as tierFor,Rp as tierOf,ia as timedTextUrl,on as timerIntent,Rs as timerTrigger,SO as titleFromDate,EO as titleFromParticipants,sO as titleFromSummary,nO as titleFromTopics,rs as toB64,cT as toBriefClaims,bM as toChatMessages,EL as toCloudEvent,TL as toCloudEventBatch,lL as toCloudEventLines,tu as toCssVars,CO as toIndexEntry,eE as toJsonSchema,pR as toJsonl,Ir as toModelSchema,ur as toModelSchemas,vM as toMultimodalMessages,Sh as toSanitizedReport,gO as toSearchRecord,hf as toggleLinePrefix,Ff as toggleLink,Vf as toggleTag,Df as toggleTask,xf as toggleWrap,UE as tokenExpired,kE as tokenRequest,Qs as tokenize,OI as tombstone,Ll as toolDoc,aS as toolMadeProgress,eo as toolNeedFor,kg as toolStatus,wE as toolTraits,Ve as topicTerms,us as topicTrigger,xn as topicsFormat,Ln as topicsPrompt,Pn as topicsSchema,kn as topicsStream,zE as traitsIndex,ma as transcriptFromTracks,$ as triggerQueryAt,Sm as trimDescription,De as trimGraph,AA as trustOf,Nx as ttsArchOf,wa as turnsOf,oE as unfence,Wi as unlockVault,ue as unwrapRedirect,_r as upcast,dr as upcastAll,$R as upcastMemory,CA as upcastSkill,PA as upcastSkills,kd as upsertAgents,vL as usageFromEvent,GL as usageFromOpenAi,Dm as usageOf,bL as usageRecord,Vl as validateAction,gp as validateAgent,xm as validateBudget,Ar as validateCapability,d_ as validateConnection,cp as validateEngineSpec,ji as validateEntry,m as validateEvent,wP as validateExtractRequest,VP as validateExtractResponse,Oc as validateGate,fr as validateInvocation,nc as validateJobPost,JT as validateProject,cm as validateRecipe,Ss as validateSchedule,MA as validateSkill,bm as validateTeam,co as validateView,po as validateViewInvocation,Ao as validateWidget,fo as validateWidgetMessage,Ug as vaultWidgetSystem,Eh as verdict,qc as verifyAttested,jc as verifyChain,xu as verifyEntitlement,jC as verifyPolicyToken,hu as verifySignedToken,ta as videoMetaFromPlayerResponse,_o as viewResult,Ut as vocabularyDrift,gs as voiceCommandTrigger,Jx as voiceListRows,zx as voicePicker,Ft as wantedPages,WI as wantsModel,bg as wantsVaultGuidance,iT as waves,YM as weatherFollowupPlace,WM as weatherPlace,AM as weatherToolProvider,Hr as weatherUrl,ML as webCryptoSealer,Kx as webMedia,We as webQuery,am as webSearchToolProvider,CE as wellKnownUrls,Md as whereItWorks,yg as widgetAuthoringSystem,Io as widgetIcon,Se as wikiQueryAt,xt as wikilinksIn,tC as windowOf,xP as withAbsolutePaths,LT as withBoardTool,nh as withCost,jM as withFetchedMemo,Wl as withGuidance,Ul as withHint,IC as withPresence,U as withRecent,YS as withResultShield,kT as withRunCache,KM as withSourceTool,xS as withToolSystem,Lu as withinFreeLimit,gS as withinReach,xO as wordCount,Ue as wordDiff,$_ as workLogEvidence,q_ as workLogFor,Z_ as workLogText,I_ as worktreeDirFor,VA as writerAffordance,ZA as writerRequest,jA 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 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 w,NOTE_ACTION_ORDER as H,NOTE_ACTION_TEMPERATURE as V,NOTE_ACTION_ERRORS as X,NOTE_COMMANDS as W,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 Ke}from"./cowriter.js";import{salientTerms as He,topicTerms as Ve,researchRelevance as Xe,webQuery as We,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 Kr,weatherUrl as wr,parseWeather as Hr,formatWeather as Vr,areaLabel as Xr,isAmbiguousLocation as Wr,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 Ko,isRedactionToken as wo,SELF_LABELS as Ho,isSelfLabel as Vo,stripQualifiers as Xo,suggestMerges as Wo}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 Kt,NEAR_TITLE_DISTANCE as wt,SPAN_MIN_TERMS as Ht}from"./curate.js";import{PDF_MAX_CHARS as Xt,linesFromItems as Wt,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 Ka,threadsOf as wa,threadTitle as Ha,promptEntries as Va,turnsOf as Xa,threadTree as Wa}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 Ki,VaultError as wi,MAX_TITLE_CHARS as Hi,MAX_NOTE_CHARS as Vi,MAX_SECRET_CHARS as Xi,MAX_ENTRIES as Wi,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 Ks,DAYPART_HOUR as ws,VoiceIntentError as Hs,compileWake as Vs,wakeFor as Xs,findWakeCommand as Ws,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 Kn,parseEntities as wn,coerceEntities as Hn,entitiesStream as Vn,MAX_SUGGESTIONS as Xn,MAX_SUGGESTION_CHARS as Wn,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 KS,registerMcpClient as wS,fetchMcpToken as HS,TOKEN_SKEW_MS as VS}from"./mcp-oauth.js";import{toolTraits as WS,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 KE,FINISH_NUDGES as wE,LOOPING_NUDGE as HE,EXHAUSTED_NOTE as VE,ROUND_SEPARATOR as XE}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 wl,promptedTranscript as Hl,makePromptedTranscript as Vl,promptedToolsSystem as Xl,parseToolCalls as Wl,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 Km,describeRecipeForApproval as wm,RECIPE_TOOL_NAME as Hm}from"./recipe-tool.js";import{createBudget as Xm,validateBudget as Wm,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 wc,boardToolSpec as Hc,createAnswerBox as Vc,withBoardTool as Xc,BOARD_TOOL_NAME as Wc,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 KT,AUTONOMY as wT,HUMAN_FLAGS as HT,CHECKS as VT}from"./gate.js";import{runProject as WT,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 Kp,normalizeAgent as wp,defineAgent as Hp,assistantAgent as Vp,engineOf as Xp,describeAgent as Wp,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 K_,connectionFromForm as w_}from"./scm-connection.js";import{messagesFor as V_,mergeTranscript as X_,clipTranscript as W_,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 Kd,whereItWorks as wd,rosterRows as Hd,agentKind as Vd,agentHue as Xd,agentColor as Wd,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 wR}from"./scopes.js";import{MEMORY_VERSION as VR,MEMORY_KINDS as XR,MEMORY_KIND_NAMES as WR,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,memoryBlock as mA,markUsed as cA,pruneMemories as TA,memoryToolSystem as pA,upcastMemory as _A,sameMemory as dA,AMBIENT_MAX_WORDS as RA}from"./memory.js";import{SOURCE_TRUST as fA,SkillSourceError as IA,defineSkillSource as OA,createSkillSourceRegistry as uA}from"./skill-sources.js";import{SKILL_MANIFEST_VERSION as gA,SKILL_CONTEXTS as CA,SKILL_HISTORY_SCOPES as MA,SKILL_MCP_MODES as PA,SKILL_TRUST as LA,SKILL_FILE_KINDS as xA,SKILL_UPCASTERS as hA,SkillManifestError as FA,isSafeSkillPath as DA,originOf as kA,trustOf as yA,skillFiles as UA,needsBridge as bA,declaredAccess as vA,originLabel as BA,sameSkillOrigin as GA,skillIsStale as KA,validateSkill as wA,upcastSkill as HA,upcastSkills as VA,normalizeSkill as XA}from"./skill-manifest.js";import{SKILL_VARS as YA,SKILL_VAR_NAMES as zA,skillVar as JA,skillVarPattern as jA,parseSkillVars as QA,lintSkillPrompt as qA,suggestSkillVar as ZA,substituteSkillVars as $A,expandSkillPrompt as ef,skillVarGuidance as rf,SkillVarError as of}from"./skill-vars.js";import{lineAt as af,writerAffordance as sf,INSTRUCTION_RE as nf,instructionOnLine as Sf,GOAL_MIN_NEW as Ef,goalDraftAllowed as lf,createSpendMeter as mf,writerTail as cf,draftSeparator as Tf,groundingBlock as pf,writerRequest as _f,AUTOCOMPLETE_SYSTEM as df,AUTOCOMPLETE_MAX_TOKENS as Rf,AUTOCOMPLETE_TEMPERATURE as Af,clipCompletion as ff,GEARS as If,WRITER_PREFS as Of,WRITER_PREF_DEFAULTS as uf,normalizeWriterPrefs as Nf,normalizeIntent as gf}from"./cowriter-writer.js";import{SLASH_TYPING_RE as Mf,NEW_THREAD_SLASH_ITEMS as Pf,parseNewThread as Lf,BUG_REPORT_SLASH_ITEMS as xf,parseBugCommand as hf,isSkillEnabled as Ff,enabledSkills as Df,slashCommandItems as kf,matchSlashSkill as yf,matchSlashRecipe as Uf,recipeInvocationText as bf,matchSlashTeam as vf,teamInvocationText as Bf,slashCommandInsert as Gf,skillInvocationOf as Kf,skillInvocationLabel as wf}from"./slash-commands.js";import{outlineOf as Vf,parseListItem as Xf,continueList as Wf,indentSelection as Yf,toggleWrap as zf,toggleLinePrefix as Jf,toggleTask as jf,toggleLink as Qf,docStats as qf,selectionStats as Zf}from"./markdown-authoring.js";import{MAX_TAG_LENGTH as eI,MAX_TAGS as rI,normalizeTag as oI,normalizeTags as tI,hasTag as aI,addTag as iI,removeTag as sI,toggleTag as nI,sameTags as SI,formatTag as EI,parseTagQuery as lI,hasTagTerms as mI,formatTagQuery as cI,matchesTagFilter as TI,filterByTags as pI,tagFacets as _I,suggestExistingTags as dI,tagsSearchText as RI}from"./tags.js";import{UNTITLED_MEETING as fI,MAX_TITLE_LENGTH as II,TITLE_RULES_VERSION as OI,cleanTitle as uI,isGenericTitle as NI,titleFromSummary as gI,titleFromTopics as CI,titleFromParticipants as MI,titleFromDate as PI,readableWhen as LI,deriveMeetingTitle as xI,shouldAutoTitle as hI,isBetterTitleSource as FI,meetingTitlePrompt as DI,parseTitleResponse as kI}from"./titles.js";import{RECORD_KINDS as UI,MAX_TITLE_LEN as bI,LibraryError as vI,parseRecordId as BI,makeRecordId as GI,isRecordId as KI,normalizeStoredRecord as wI,isValidStoredRecord as HI,toSearchRecord as VI,searchTextFor as XI,toIndexEntry as WI,deriveTitle as YI,snippetOf as zI,wordCount as JI,findRecordRefs as jI,linkRecordRefs as QI,repairAnswerMarkup as qI}from"./library.js";import{CLOCK_TOLERANCE_MS as $I,SyncError as eO,stampOf as rO,decide as oO,planSync as tO,isSettled as aO,forkConflict as iO,advanceBases as sO}from"./sync-plan.js";import{ENCRYPTED_TYPE as SO,COMPRESSIONS as EO,BackupError as lO,KDF_ITERATIONS as mO,encryptBackup as cO,decryptBackup as TO,isEncryptedBackup as pO,RECORD_TYPE as _O,deriveBackupKey as dO,sealRecord as RO,openRecord as AO,isSealedRecord as fO,keyCache as IO,identityCodec as OO,streamCodec as uO,nodeCodec as NO,bestCodec as gO}from"./backup-envelope.js";import{recordsFromBackup as MO,backupFromRecords as PO}from"./backup-records.js";import{DEFAULT_POLICY as xO,SLOW_POLICY as hO,scalePolicy as FO,pickProfile as DO,adaptProfile as kO,policyFor as yO,SLOW_FLUSH_MS as UO,FAST_FLUSH_MS as bO,FAST_STREAK as vO,createJournal as BO,JournalError as GO,ENTRY_VERSION as KO,makeEntry as wO,tombstone as HO,isTombstone as VO,isEntry as XO,entryStamp as WO,supersedes as YO,BOUNDS as zO,createSegment as JO,applyEntry as jO,segmentBytes as QO,segmentEntries as qO,shouldRotate as ZO,mergeSegments as $O,segmentName as eu,parseSegmentName as ru,SEGMENT_RE as ou,boundSegments as tu,segmentsFor as au,overlay as iu,catchUpPlan as su}from"./journal.js";import{OMNI_MODES as Su,OMNI_GRAMMAR as Eu,parseOmni as lu,extractFilters as mu,resolveSince as cu,wantsModel as Tu,isActionable as pu}from"./omni.js";import{THEMES as du,LIGHT as Ru,DARK as Au,PALETTES as fu,SHAPE as Iu,TOKEN_NAMES as Ou,TOKEN_ROLES as uu,paletteFor as Nu,cssVarName as gu,toCssVars as Cu,themeStylesheet as Mu,resolveTheme as Pu}from"./theme.js";import{PLANS as xu,API_BASE as hu,ENDPOINTS as Fu,ENTITLEMENT_PUBLIC_JWK as Du,UPGRADE_URL as ku,FEATURE_TIER as yu,PRO_FEATURES as Uu,TEAM_FEATURES as bu,FREE_LIMITS as vu,COUNTED as Bu,freeCap as Gu,observeSince as Ku,RECHECK_INTERVAL_MS as wu,EntitlementError as Hu,checkoutUrl as Vu,planOf as Xu,planLabel as Wu,isPro as Yu,isTeam as zu,can as Ju,tierFor as ju,withinFreeLimit as Qu,verifyEntitlement as qu,verifySignedToken as Zu,licenseFromPayload as $u,needsRecheck as eN}from"./entitlement.js";import{generateDeviceKey as oN,exportDevicePublicKey as tN,signChallenge as aN}from"./device-proof.js";import{renderMarkdown as sN,defaultLinkPolicy as nN,defaultImagePolicy as SN}from"./markdown-render.js";import{NOTE_IMAGE_SCHEME as lN,MAX_NOTE_IMAGE_BYTES as mN,NOTE_IMAGE_TYPES as cN,noteImageId as TN,noteImageRef as pN,noteImageIds as _N,noteImageRefs as dN,stripNoteImageRefs as RN,orphanNoteImages as AN,newNoteImageId as fN}from"./note-images.js";import{parseMeetingText as ON,speakerStats as uN,densityRibbon as NN}from"./meeting-text.js";import{speakerBreakdown as CN,speakerTimeline as MN,formatTalkTime as PN,SPEAKER_SLOTS as LN}from"./meeting-shape.js";import{isSpeakerImageValue as hN,speakerLabeller as FN}from"./meeting-shape.js";import{SORT_MODES as kN,SORT_LABELS as yN,sortStamp as UN,sortRecords as bN,filterRecords as vN,dayBucket as BN,rowTime as GN,groupRecords as KN}from"./record-list.js";import{INSIGHT_KINDS as HN,summarySections as VN,insightKindOf as XN,meetingInsights as WN,hasInsights as YN}from"./meeting-insights.js";import{demd as JN,NOTE_SECTIONS as jN,noteSectionKind as QN,MOMENT_BADGES as qN,momentBadge as ZN,parseMeetingNotes as $N,groupActionsByOwner as eg}from"./meeting-insights.js";import{PREF_SECTIONS as og,PREF_SECTION_IDS as tg,DESKTOP_SECTION_IDS as ag,sectionSpec as ig,sectionValue as sg,pickSections as ng,applySections as Sg,sectionHash as Eg,mergeStamped as lg,changedSections as mg}from"./client-prefs.js";import{SETTINGS_GROUPS as Tg,SETTINGS_PAGES as pg,REQUIREMENTS as _g,BOOKKEEPING_KEYS as dg,listRows as Rg,findRow as Ag,pageById as fg,groupById as Ig,pagesOf as Og,quickRows as ug,breadcrumb as Ng,linkTo as gg,linkToRow as Cg,parseLink as Mg,valueOf as Pg,setValue as Lg,effectiveValue as xg,describeValue as hg,SETTINGS_OPEN_DEFAULT as Fg,settingsOpenMode as Dg,searchSettings as kg,statusOf as yg,statusAll as Ug,homeChecklist as bg,gateOf as vg,sectionOfRow as Bg}from"./settings-registry.js";import{pointsAtGateway as Kg,destinationFromEndpoint as wg,destinationFromAgent as Hg,availableDestinations as Vg,seedDestinations as Xg,shouldSeedDestinations as Wg,mergeEndpointDestinations as Yg}from"./gateway-dests.js";import{McpClient as Jg,mcpProvider as jg}from"./mcp-client.js";import{mcpSharedSystem as qg,mcpInventorySystem as Zg,sourceCitationSystem as $g,combineSystemPrompt as eC,toolStatus as rC,widgetAuthoringSystem as oC,vaultWidgetSystem as tC,wantsVaultGuidance as aC}from"./tool-hints.js";import{adaptiveToolRetryHint as sC,createAdaptiveToolPolicy as nC,isInvalidToolParametersResult as SC}from"./adaptive-tool-policy.js";import{getMcpProviders as lC,testMcpServer as mC,resetMcp as cC,mcpBackoff as TC}from"./mcp-manager.js";import{SIDELINE_COMMANDS as _C,BRINGBACK_COMMAND as dC,THREAD_TOOL_NAME as RC,SIDELINE_SLASH_ITEMS as AC,THREAD_TOOL_SPEC as fC,parseSideline as IC,parseBringBack as OC,resolveSidelineTarget as uC,threadManifest as NC,threadToolProvider as gC,readThread as CC,briefPrompt as MC,foldBackNote as PC,foldNotes as LC,nextSidelineIndex as xC,sourceOf as hC,noteUnits as FC,sidelinePath as DC,foldBackFor as kC,SIDELINE_TOOL_NAME as yC,SIDELINE_TOOL_SPEC as UC,sidelineToolProvider as bC}from"./sideline.js";import{WEATHER_TOOL_NAME as BC,WEATHER_TOOL_SYSTEM as GC,weatherToolProvider as KC}from"./weather-tool.js";import{DECIDE_TOOL_NAME as HC,RERANK_TOOL_NAME as VC,CAPABILITY_TOOLS_SYSTEM as XC,capabilityToolsProvider as WC}from"./capability-tools.js";import{openDecision as zC,distributionConfidence as JC}from"./open-decision.js";import{IN_PROCESS_IDS as QC,inProcessView as qC,capabilityView as ZC,choicePatch as $C,choiceNote as eM,inProcessPatch as rM}from"./runtime-in-process.js";import{renderContent as tM,toChatMessages as aM,toMultimodalMessages as iM,imageAttachmentsOf as sM,deferAttachedSources as nM,withSourceTool as SM,SOURCE_TOOL_SPEC as EM}from"./context-attachments.js";import{prefetchPlan as mM,prefetchAttachment as cM,runResearchItem as TM,weatherPlace as pM,weatherFollowupPlace as _M}from"./prefetch.js";import{createFetchedStore as RM,withFetchedMemo as AM,fetchKey as fM,fetchTitle as IM,fetchedAsSources as OM,fetchedFacts as uM,defaultTtl as NM,FETCHED_TTL_MS as gM}from"./fetched.js";import{windowOf as MM,fitFor as PM,keepRecentFor as LM,minWindowFor as xM,isContextLimitError as hM,FIT_HEADROOM as FM}from"./context-window.js";import{planCompaction as kM,compactionPrompt as yM,compactionRecord as UM,messagesAfter as bM,systemWithSummary as vM,compactable as BM,COMPACTION_SYSTEM as GM}from"./compaction.js";import{splitBlocks as wM,mergeNote as HM,syncNote as VM,conflictsIn as XM,resolveConflict as WM}from"./note-merge.js";import{STITCH_LIMITS as zM,CUT_FINISH as JM,partChars as jM,splitForWindow as QM,partPrompt as qM,mapParts as ZM,reduceNotes as $M,fitAttachments as eP,isNone as rP,continuationMessages as oP,trimOverlap as tP,withStitching as aP,CONTINUE_TEXT as iP}from"./stitch.js";import{presenceFor as nP,presenceDelta as SP,reachOf as EP,withPresence as lP,presenceBlock as mP,roundCount as cP,roundMinutes as TP,PRESENCE_BUDGET_TOKENS as pP,PRESENCE_KINDS as _P}from"./presence.js";import{PolicyError as RP,POLICY_VERSION as AP,POLICY_TOKEN_TYPE as fP,REDACTION_TIERS as IP,LOCKABLE as OP,FEATURES as uP,PERMISSION_MODES as NP,PRODUCT_HOSTS as gP,normalizeOrgPolicy as CP,endpointAllowed as MP,modelAllowed as PP,agentAllowed as LP,permissionMode as xP,routeAllowed as hP,redactionTier as FP,egressAllowed as DP,settingLocked as kP,featureEnabled as yP,applyPolicyToSettings as UP,policyLabel as bP,policyHash as vP,verifyPolicyToken as BP,globToRegExp as GP}from"./policy.js";import{languageInstruction as wP,RESPONSE_LANGUAGES as HP}from"./response-language.js";import{NOTE_TOOL_SPECS as XP,makeNoteToolExecutor as WP}from"./note-tool.js";import{memoryToolProvider as zP}from"./memory-tool.js";import{captureFromMessage as jP}from"./memory-capture.js";import{skillRunFromSkill as qP,skillPackageFiles as ZP,filterMcpServersForSkill as $P,skillToolSystem as eL,skillHandle as rL,rankSkills as oL,skillCatalogSystem as tL}from"./skill-runtime.js";import{skillFileProvider as iL,SKILL_FILE_TOOL as sL,skillEntry as nL,skillDiscoveryProvider as SL}from"./skill-files.js";import{SKILL_DRAFT_SCHEMA as lL,MAX_SKILL_FILE_BYTES as mL,MAX_SKILL_PACKAGE_BYTES as cL,skillCreatorPrompt as TL,skillIdFrom as pL,admitPackage as _L,skillFromDraft as dL,packagesFromFiles as RL}from"./skill-creator.js";import{PATH_KIND as fL,FILES_TOOL as IL,checkAttachablePath as OL,secretReason as uL,isSecretPath as NL,pathAttachment as gL,describeAttachedPath as CL,describePathSize as ML,displayPath as PL,pathAttachmentsOf as LL,withAbsolutePaths as xL,attachedFilesProvider as hL,sniffType as FL,normalizePath as DL,collapseDots as kL,basenameOf as yL,SKIP_DIR_NAMES as UL}from"./attached-paths.js";import{EXTRACT_ROUTE as vL,EXTRACT_PROVIDER_ID as BL,MAX_DOCUMENT_BYTES as GL,PAGE_CHARS as KL,EXTRACT_TYPES as wL,validateExtractRequest as HL,validateExtractResponse as VL,paginateText as XL,gatewayExtractor as WL,extractorChain as YL}from"./extract-capability.js";import{MCP_REGISTRY_API as JL,MCP_CATALOG as jL,registryListUrl as QL,fetchMcpRegistryPage as qL,normalizeRegistryPage as ZL,normalizeRegistryEntry as $L,mcpServerFromCatalogItem as ex}from"./mcp-registry.js";import{CE_SPECVERSION as ox,CE_TYPE_PREFIX as tx,CE_SOURCE_PREFIX as ax,rfc3339 as ix,ceSourceOf as sx,ceHostOf as nx,toCloudEvent as Sx,fromCloudEvent as Ex,toCloudEventLines as lx,fromCloudEventLines as mx,toCloudEventBatch as cx}from"./cloudevents.js";import{PUSH_LIMITS as px,planEventPush as _x,ingestCloudEvents as dx,cursorOf as Rx}from"./event-sync.js";import{eventStats as fx,projectYear as Ix}from"./event-stats.js";import{SEALED_TYPE as ux,SEALED_VERSION as Nx,SealError as gx,webCryptoSealer as Cx,nodeSealer as Mx,newDeviceKey as Px,sealBlob as Lx,openBlob as xx,shredBlob as hx,isSealedBlob as Fx,isShredded as Dx}from"./blob-envelope.js";import{USAGE_RING_MAX as yx,COST_BASES as Ux,usageRecord as bx,usageFromEvent as vx,usageFromOpenAi as Bx,rollupKey as Gx,applyUsage as Kx,summarizeUsage as wx,formatTurnUsage as Hx,describeTurnUsage as Vx,promptTokensOf as Xx}from"./usage.js";import{rateFor as Yx,costFor as zx,formatUsd as Jx,PRICING_BASES as jx,PRICING_LABELS as Qx,normalizePricing as qx,priceUsage as Zx}from"./usage-pricing.js";import{FACTCHECK_SCHEMA as eh,FACTCHECK_VERDICTS as rh,lastClaimOf as oh,factcheckPrompt as th,factcheckVerdict as ah,factcheckKey as ih}from"./cowriter-factcheck.js";import{createVoiceLoop as nh,VOICE_STATES as Sh,MUTE_GRACE_MS as Eh,MAX_PENDING_CHARS as lh,CONTINUATION_WINDOW_MS as mh,ECHO_OVERLAP as ch,ECHO_TAIL_MS as Th,MIN_BARGE_IN_WORDS as ph,looksLikeEcho as _h}from"./voice-loop.js";import{voiceStep as Rh,initialVoiceState as Ah,voiceSpeaker as fh,isFarewell as Ih,ANOTHER_VOICE as Oh}from"./voice-brain.js";import{speakStream as Nh,speakable as gh,SPOKEN_REPLY_HINT as Ch}from"./speak-stream.js";import{createVad as Ph,lowBandEnergy as Lh,pcmEnergy as xh,VAD_DEFAULTS as hh}from"./voice-vad.js";import{HF_API as Dh,TTS_ARCH_LABEL as kh,ttsArchOf as yh,partitionTtsModels as Uh,modelSearchUrl as bh,searchModels as vh,normalizeModel as Bh,formatDownloads as Gh,describeSearchResult as Kh}from"./model-registry.js";import{SAMPLE_RATE as Hh,MIN_SECONDS as Vh,TARGET_SECONDS as Xh,MAX_SECONDS as Wh,PROMPT_TEXT as Yh,sampleSeconds as zh,sampleTooShort as Jh,defaultVoiceName as jh,microphoneError as Qh,webMedia as qh,startRecording as Zh}from"./voice-sample.js";import{TIER_LABEL as eF,modelRows as rF,catalogStatus as oF,dtypePicker as tF,voicePicker as aF,voiceListRows as iF,diarizeRows as sF,switchOutcome as nF,saveVoiceFailure as SF,saveTimedOut as EF,catalogUnavailable as lF}from"./voice-models.js";import{dictToText as cF,textToDict as TF}from"./redaction-dictionary.js";import{groupRuns as _F,summarizeRun as dF,findRepeats as RF,withCost as AF,verdict as fF,toSanitizedReport as IF}from"./run-details.js";import{parseMcpConfig as uF,parseArgsInput as NF,argsToText as gF,parseEnvInput as CF,envToText as MF,envLikeArgs as PF}from"./mcp-config-import.js";import{mutableRef as xF,refreshArgs as hF,canRefresh as FF,describeRuntime as DF}from"./mcp-launcher.js";import{defaultMcpServers as yF,isDefaultMcpServer as UF}from"./default-mcp-servers.js";import{MONITOR_SOURCES as vF,DEFAULT_MONITOR_PROFILE as BF,monitorProfile as GF,monitorWindowMs as KF,monitorNeedsTools as wF,filterMonitorTools as HF,recentFindings as VF,describeMonitorProfile as XF}from"./monitor-profile.js";import{defaultSkills as YF,meetingNotesSkill as zF}from"./default-skills.js";import{SURFACES as jF,FEATURES as QF,listFeatures as qF,featureIds as ZF}from"./feature-map.js";import{ISSUE_REPO as eD,NEW_ISSUE_BASE as rD,ISSUE_SEARCH_API as oD,MAX_ISSUE_URL as tD,scrubReportText as aD,diagnosticsText as iD,buildBugReport as sD,newIssueUrl as nD,titleTerms as SD,issueSearchUrl as ED,matchIssues as lD,findExistingIssues as mD,issueCommentText as cD}from"./bug-report.js";import{WEB_RESEARCH_LIMITS as pD,WEB_TASK_DOMAINS as _D,researchAsk as dD,refineQueries as RD,parseSearchText as AD,cleanUrl as fD,pageKey as ID,passagesOf as OD,webResearch as uD,researchBrief as ND,researchCall as gD,runResearch as CD}from"./web-research.js";import{parseAmount as PD,moneyIn as LD,basisAt as xD,qualifierAt as hD,quoteAround as FD,offersIn as DD,rankOffers as kD,comparable as yD,basisLabel as UD,formatValue as bD,unverifiedAmounts as vD,quoteFormIn as BD}from"./offers.js";import{isSecretField as KD,maskSecretFields as wD,isPersonalField as HD,commitKind as VD,commitQuestion as XD,captchaIn as WD,captchaHandoff as YD,fenceUntrusted as zD,isFenced as JD}from"./page-guard.js";import{BROWSER_RELAY as QD,BROWSER_KINDS as qD,validateBrowserCall as ZD,validateBrowserAnnounce as $D,validateBrowserResult as ek,createBrowserRelay as rk,browserRelaySystem as ok}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,RA as AMBIENT_MAX_WORDS,Oh as ANOTHER_VOICE,hu as API_BASE,bp as APPLIES_TO,bc as ASK_TYPES,Bp as ASSISTANT_ID,Rf as AUTOCOMPLETE_MAX_TOKENS,df as AUTOCOMPLETE_SYSTEM,Af as AUTOCOMPLETE_TEMPERATURE,wT as AUTONOMY,Ma as AdapterError,Gp as AgentError,vs as AnalyzerError,mO as BACKUP_KDF_ITERATIONS,Wc as BOARD_TOOL_NAME,dg as BOOKKEEPING_KEYS,zo as BRIEF_STATES,dC as BRINGBACK_COMMAND,qD as BROWSER_KINDS,QD as BROWSER_RELAY,jm as BUDGET_DIMENSIONS,xf as BUG_REPORT_SLASH_ITEMS,As as BUILTIN_TRIGGERS,an as BUILTIN_VOICE_INTENTS,lO as BackupError,Jm as BudgetError,bs as CADENCES,XC as CAPABILITY_TOOLS_SYSTEM,ax as CE_SOURCE_PREFIX,ox as CE_SPECVERSION,tx as CE_TYPE_PREFIX,VT as CHECKS,Jo as CLAIM_KINDS,n as CLASSES,$I as CLOCK_TOLERANCE_MS,GM as COMPACTION_SYSTEM,EO as COMPRESSIONS,Mm as COMPRESSION_MODES,mh as CONTINUATION_WINDOW_MS,iP as CONTINUE_TEXT,_E as COOLDOWN_MS,Ux as COST_BASES,Bu as COUNTED,Ge as COWRITER_SYSTEM,Ke as COWRITER_TEMPERATURE,o as CURRENT_VERSION,JM as CUT_FINISH,Au as DARK,wR as DATA_SCOPES,ws as DAYPART_HOUR,HC as DECIDE_TOOL_NAME,o_ as DECLINE_REASONS,Yc as DEFAULT_ASK_TIMEOUT_MS,QR as DEFAULT_BLOCK_CHARS,Pm as DEFAULT_COMPRESSION,KT as DEFAULT_GATE,xi as DEFAULT_INTERNAL_PATTERNS,Ki as DEFAULT_LOCK_MS,KE as DEFAULT_MAX_FINISH_TRIES,jR as DEFAULT_MAX_MEMORIES,GE as DEFAULT_MAX_ROUNDS,P_ as DEFAULT_MIN_CALLS,BF as DEFAULT_MONITOR_PROFILE,xO as DEFAULT_POLICY,el as DEFAULT_SHIELD,rl as DEFAULT_STORE,xo as DEFAULT_THRESHOLD,Gs as DEFAULT_WAKE,om as DESCRIBE_ACTION,ag as DESKTOP_SECTION_IDS,ch as ECHO_OVERLAP,Th as ECHO_TAIL_MS,S as EFFECTS,E as EGRESS,vp as EGRESS_CLASSES,SO as ENCRYPTED_TYPE,Fu as ENDPOINTS,vr as ENGINE_KINDS,Cp as ENGINE_SPEC_KINDS,Bn as ENTITIES_SCHEMA,Du as ENTITLEMENT_PUBLIC_JWK,vn as ENTITY_TYPES,Ka as ENTRY_KINDS,KO as ENTRY_VERSION,t as EVENT_TYPES,tp as EXECUTIVE,VE as EXHAUSTED_NOTE,BL as EXTRACT_PROVIDER_ID,vL as EXTRACT_ROUTE,wL as EXTRACT_TYPES,Hu as EntitlementError,l as EventError,eh as FACTCHECK_SCHEMA,rh as FACTCHECK_VERDICTS,Ti as FAILOVER_CAPABILITY_GAP,ci as FAILOVER_CLASS_GAP,OE as FAILOVER_MAX_ATTEMPTS,bO as FAST_FLUSH_MS,vO as FAST_STREAK,uP as FEATURES,QF as FEATURE_MAP,jF as FEATURE_SURFACES,yu as FEATURE_TIER,gM as FETCHED_TTL_MS,Zn as FIELD_TYPES,IL 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,wE as FINISH_NUDGES,FM as FIT_HEADROOM,vu as FREE_LIMITS,kl as FUSED_BUDGET_MS,Dl as FUSED_CANDIDATES,If as GEARS,Ef as GOAL_MIN_NEW,Sc as GRANTABLE,tR as GRANT_INFO,lc as GRANT_RE,Dh as HF_API,vl as HUB_TOOL_NAME,HT as HUMAN_FLAGS,mE as INPUT_PROGRESS_TOOLS,HN as INSIGHT_KINDS,nf as INSTRUCTION_RE,hi as INTERNAL_PATTERN_CATALOG,Cr as INVARIANTS,QC as IN_PROCESS_IDS,eD as ISSUE_REPO,oD as ISSUE_SEARCH_API,Ss as JOB_ACTIONS,yT as JOB_POST_ID_RE,kT as JOB_POST_STATUSES,zO as JOURNAL_BOUNDS,DT as JobPostError,GO as JournalError,Gi as KDF_HASH,Bi as KDF_ITERATIONS,NR as KernelError,r_ as LEDGER_ENTRY_KINDS,e_ as LEDGER_VERSION,Ru as LIGHT,oT as LIVE_RUN_STATUSES,OP as LOCKABLE,HE as LOOPING_NUDGE,qa as LOOP_KINDS,vI 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,xd as MAX_DEPTH,GL as MAX_DOCUMENT_BYTES,Wi as MAX_ENTRIES,_t as MAX_EXCERPTS,dt as MAX_EXCERPT_CHARS,Le as MAX_GRAPH_NODES,tD as MAX_ISSUE_URL,ap as MAX_JOBS_PER_ROUND,GR as MAX_MATCHES,zR as MAX_MEMORY_CHARS,Vi as MAX_NOTE_CHARS,mN as MAX_NOTE_IMAGE_BYTES,lh as MAX_PENDING_CHARS,ip as MAX_ROUNDS,Wh as MAX_SECONDS,Xi as MAX_SECRET_CHARS,mL as MAX_SKILL_FILE_BYTES,cL as MAX_SKILL_PACKAGE_BYTES,ho as MAX_SUBJECTS,Fo as MAX_SUBJECT_CHARS,Ld as MAX_SUBTASKS,Xn as MAX_SUGGESTIONS,Wn as MAX_SUGGESTION_CHARS,pt as MAX_SYNTHESIS_CLAIMS,rI as MAX_TAGS,eI as MAX_TAG_LENGTH,Hi as MAX_TITLE_CHARS,bI as MAX_TITLE_LEN,II as MAX_TITLE_LENGTH,Pn as MAX_TOPICS,Ln as MAX_TOPIC_CHARS,jL as MCP_CATALOG,JL as MCP_REGISTRY_API,MS as MCP_SIGN_IN_CODE,_R as MCP_TOOL_NAME,XR as MEMORY_KINDS,WR as MEMORY_KIND_NAMES,ZR as MEMORY_TOOL_SPEC,$R as MEMORY_UPCASTERS,VR as MEMORY_VERSION,sc as MERGE_POLICIES,ph as MIN_BARGE_IN_WORDS,l_ as MIN_FIT,JR as MIN_MEMORY_CHARS,Vh as MIN_SECONDS,hd as MIN_TAKEUP_FIT,Es as MISSED_POLICIES,qN as MOMENT_BADGES,vF as MONITOR_SOURCES,Eh as MUTE_GRACE_MS,AR as ManifestError,Jg as McpClient,eA as MemoryError,wt as NEAR_TITLE_DISTANCE,rD as NEW_ISSUE_BASE,Pf as NEW_THREAD_SLASH_ITEMS,w as NOTE_ACTIONS,X as NOTE_ACTION_ERRORS,H as NOTE_ACTION_ORDER,V as NOTE_ACTION_TEMPERATURE,W as NOTE_COMMANDS,z as NOTE_COMMAND_MAX_TOKENS,Y as NOTE_COMMAND_TEMPERATURE,lN as NOTE_IMAGE_SCHEME,cN as NOTE_IMAGE_TYPES,jN as NOTE_SECTIONS,XP as NOTE_TOOL_SPECS,lE as OBSERVATION_TOOLS,Eu as OMNI_GRAMMAR,Su as OMNI_MODES,KL as PAGE_CHARS,fu as PALETTES,$S as PARALLEL_LOCAL_RE,fL as PATH_KIND,Xt as PDF_MAX_CHARS,al as PERMISSION_ANSWERS,tl as PERMISSION_EVENT,NP as PERMISSION_MODES,il as PERMISSION_TIMEOUT_MS,sl as PERMISSION_TOOL_NAME,xu 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,fP as POLICY_TOKEN_TYPE,AP as POLICY_VERSION,yc as POST_KINDS,Uc as POST_STATUSES,og as PREF_SECTIONS,tg as PREF_SECTION_IDS,pP as PRESENCE_BUDGET_TOKENS,_P as PRESENCE_KINDS,jx as PRICING_BASES,Qx as PRICING_LABELS,gP 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,Yh as PROMPT_TEXT,At as PROPOSAL_STATES,Uu as PRO_FEATURES,px as PUSH_LIMITS,RP as PolicyError,fT as ProjectError,op as ProjectRunError,lr as REACH,wu as RECHECK_INTERVAL_MS,vm as RECIPE_MODES,Hm as RECIPE_TOOL_NAME,Np as RECORD_ENGINE_KINDS,UI as RECORD_KINDS,_O as RECORD_TYPE,E_ as RECRUIT_SCHEMA,IP as REDACTION_TIERS,Ko as REDACTION_TOKEN_TYPES,mn as REFINEMENT_SCHEMA,_ as REF_KINDS,Dr as REGISTRY_STATES,gR as REQUIRED_PLUGINS,_g as REQUIREMENTS,VC as RERANK_TOOL_NAME,d as RESOLUTION,HP 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,XE as ROUND_SEPARATOR,Mp as ROUTE_PREFERS,ad as RUN_STATUSES,bm as RecipeError,_i as RouterError,Ui as RuleError,qR as SAME_FACT,Hh as SAMPLE_RATE,ss as SCHEDULE_KINDS,F_ as SCM_KINDS,s as SCOPE_KINDS,Ip as SCORECARD_ENTRY_KINDS,up as SCORECARD_VERSION,ux as SEALED_TYPE,Nx as SEALED_VERSION,fe as SEARCH_ENGINES,ou as SEGMENT_RE,Ho as SELF_LABELS,Tg as SETTINGS_GROUPS,Fg as SETTINGS_OPEN_DEFAULT,pg as SETTINGS_PAGES,Iu as SHAPE,_C as SIDELINE_COMMANDS,AC as SIDELINE_SLASH_ITEMS,yC as SIDELINE_TOOL_NAME,UC as SIDELINE_TOOL_SPEC,CA as SKILL_CONTEXTS,lL as SKILL_DRAFT_SCHEMA,xA as SKILL_FILE_KINDS,sL as SKILL_FILE_TOOL,MA as SKILL_HISTORY_SCOPES,gA as SKILL_MANIFEST_VERSION,PA as SKILL_MCP_MODES,LA as SKILL_TRUST,hA as SKILL_UPCASTERS,YA as SKILL_VARS,zA as SKILL_VAR_NAMES,UL as SKIP_DIR_NAMES,Mf as SLASH_TYPING_RE,UO as SLOW_FLUSH_MS,hO as SLOW_POLICY,aR as SOLO_BUDGET,yN as SORT_LABELS,kN as SORT_MODES,fR as SOURCES,EM as SOURCE_TOOL_SPEC,fA as SOURCE_TRUST,Ht as SPAN_MIN_TERMS,LN as SPEAKER_SLOTS,Ch as SPOKEN_REPLY_HINT,ST as STALLED_AFTER_MS,Jp as STARTER_AGENTS,cc as STARTER_TEAMS,Q_ as STEP_MAX_CHARS,zM 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,gx as SealError,Br as SearchEngineError,FA as SkillManifestError,IA as SkillSourceError,of as SkillVarError,eS as StructuredError,eO as SyncError,Xh as TARGET_SECONDS,q_ as TASK_TRANSCRIPT_MAX_CHARS,bu as TEAM_FEATURES,md as TEAM_MANUAL,Nc as TEAM_PLAN_SCHEMA,iR as TEAM_SHAPES,ld as TEAM_TOOL_NAME,du as THEMES,Dc as THREAD_KINDS,kc as THREAD_STATUSES,RC as THREAD_TOOL_NAME,fC as THREAD_TOOL_SPEC,eF as TIER_LABEL,OI as TITLE_RULES_VERSION,Ou as TOKEN_NAMES,uu as TOKEN_ROLES,VS as TOKEN_SKEW_MS,xn as TOPICS_SCHEMA,$t as TRANSCRIPT_MAX_CHARS,ns as TRIGGER_KINDS,kh as TTS_ARCH_LABEL,ac as TeamError,td as TeamRunError,Zr as ToolGroupError,dE as UNAVAILABLE_REASONS,fI as UNTITLED_MEETING,pr as UPCASTERS,ku as UPGRADE_URL,yx as USAGE_RING_MAX,Cn as UTTERANCE_DANGLING_MS,gn as UTTERANCE_SETTLE_MS,hh as VAD_DEFAULTS,vi as VAULT_VERSION,Sh as VOICE_STATES,wi as VaultError,Hs as VoiceIntentError,Yr as WEATHER_HOST,zr as WEATHER_TIMEOUT_MS,BC as WEATHER_TOOL_NAME,GC as WEATHER_TOOL_SYSTEM,pD as WEB_RESEARCH_LIMITS,Am as WEB_SEARCH_SPEC,dm as WEB_SEARCH_TOOL_NAME,Rm as WEB_SEARCH_TOOL_SYSTEM,_D as WEB_TASK_DOMAINS,uo as WIDGET_SURFACES,t_ as WITHDRAW_AFTER,Rd as WORKLOG_KINDS,Ec as WORK_GRANTS,Of as WRITER_PREFS,uf as WRITER_PREF_DEFAULTS,Jr as WeatherError,Zt as YOUTUBE_HOSTS,$a as abortCause,Ot as accept,tm as actionMenu,kO as adaptProfile,sC as adaptiveToolRetryHint,iI as addTag,UE as addUsage,dp as adjustSummary,_L as admitPackage,sO as advanceBases,LP as agentAllowed,Wd as agentColor,qp as agentFromForm,Xd 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,jO as applyEntry,UP as applyPolicyToSettings,Sg as applySections,Kx as applyUsage,de as appoint,Xr as areaLabel,ja as argsShape,gF as argsToText,Vp as assistantAgent,hL as attachedFilesProvider,br as attemptOrder,cp as attest,GS as authHeader,US as authorizeUrl,Vg as availableDestinations,PO as backupFromRecords,YS as bareToolName,yL as basenameOf,xD as basisAt,UD as basisLabel,gO as bestCodec,Qp as blankAgent,K_ as blankConnection,hT as blankJobPost,pT as blankProject,pc as blankTeam,EE as blockedToolResult,Pc as boardText,wc as boardToolProvider,Hc as boardToolSpec,tu as boundSegments,b_ as branchFor,Ng as breadcrumb,uc as breakCycles,et as briefId,tt as briefLinks,MC as briefPrompt,ot as briefTerms,rt as briefToText,ok as browserRelaySystem,sD 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,Ju as can,os as canAddEntry,MT as canJobPostTransition,TT as canProjectTransition,FF as canRefresh,zS as canRunConcurrently,Ir as canSatisfy,nA as candidatesFrom,Sp as canonical,hS as canonicalResource,WC as capabilityToolsProvider,ZC as capabilityView,YD as captchaHandoff,WD as captchaIn,oa as captionTracksFromPlayerResponse,jP as captureFromMessage,Jd as cardNumbers,L_ as cardOverride,N_ as carveBudget,oF as catalogStatus,lF as catalogUnavailable,su as catchUpPlan,N as causesAreWellFormed,nx as ceHostOf,sx as ceSourceOf,mg as changedSections,OL as checkAttachablePath,gr as checkInvariants,at as checkKnowledgeInvariants,Vu as checkoutUrl,eT as checkpointFrom,G as chipText,eM as choiceNote,$C as choicePatch,Tt as claimsFromSynthesis,TE as classifyFailure,pe as classifyModel,Ni as classifySource,dl as claudePermissionResponse,uI as cleanTitle,fD as cleanUrl,ff as clipCompletion,Y_ as clipMessage,Fs as clipText,W_ as clipTranscript,lS as coerce,Hn as coerceEntities,kL as collapseDots,eC as combineSystemPrompt,Z as commandLineAt,On as commandLooksFinished,zs as commandsFromSegments,VD as commitKind,XD as commitQuestion,qE as compactValue,BM as compactable,yM as compactionPrompt,UM as compactionRecord,yD 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,w_ as connectionFromForm,sA as containment,$o as contentHash,oP as continuationMessages,J_ as continuationNote,Wf as continueList,gt as converge,zx as costFor,Ra as createAccessLog,Ca as createAdapterRegistry,nC as createAdaptiveToolPolicy,Us as createAnalyzerRegistry,Vc as createAnswerBox,T as createAppender,xr as createBlobStore,Cc as createBoard,rk as createBrowserRelay,Xm as createBudget,hE as createCallRunner,Da as createCitationCollector,j_ as createControl,RM as createFetchedStore,BO 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,JO as createSegment,uA as createSkillSourceRegistry,mf as createSpendMeter,Ja as createStepRecorder,cS as createStructuredStream,qr as createToolGroupRegistry,aE as createToolLoopGuard,Rs as createTriggerRegistry,za as createTurnRunner,Nn as createUtteranceGate,Ph as createVad,Yi as createVault,on as createVoiceIntentRegistry,nh as createVoiceLoop,B_ as credentialEnv,gu as cssVarName,Rx as cursorOf,BN as dayBucket,oO as decide,f_ as decideRecruit,vA as declaredAccess,TO as decryptBackup,SN as defaultImagePolicy,nN as defaultLinkPolicy,yF as defaultMcpServers,k as defaultModelId,YF as defaultSkills,NM as defaultTtl,tn as defaultVoiceIntents,jh as defaultVoiceName,nM 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,OA as defineSkillSource,qm as defineTeam,Qr as defineToolGroup,ds as defineTrigger,rn as defineVoiceIntent,JN as demd,NN as densityRibbon,P as dequeue,dO as deriveBackupKey,nt as deriveBrief,St as deriveBriefs,Ji as deriveKey,xI as deriveMeetingTitle,YI as deriveTitle,Wp as describeAgent,CL as describeAttachedPath,dd as describeCall,G_ as describeConnection,Dp as describeEngine,XF as describeMonitorProfile,ML as describePathSize,ml as describePermission,wm as describeRecipeForApproval,tc as describeRole,DF as describeRuntime,oS as describeSchema,Kh as describeSearchResult,hg as describeSettingValue,QE as describeShape,iT as describeSpend,Ed as describeTeamForApproval,Kd as describeTeamShape,kE as describeToolCall,Vx as describeTurnUsage,Hg as destinationFromAgent,wg as destinationFromEndpoint,iD as diagnosticsText,sF as diarizeRows,cF as dictToText,Nt as diffProposal,KS as discoverMcpAuth,Ga as displayName,PL as displayPath,JC as distributionConfidence,qf as docStats,Tf as draftSeparator,Et as driftedRefs,km as dryRunRecipe,rd as dryRunTeam,tF as dtypePicker,Ls as dueJobs,yt as duplicateTitles,Bo as earnsBrief,en as editDistance,ve as editKey,BT as effectiveGate,Io as effectiveGrants,xg as effectiveSettingValue,qS as effectiveToolName,he as egoGraph,DP as egressAllowed,vc as emptyBoardState,dT as emptyProjectRecord,qc as emptyRun,Df as enabledSkills,cO as encryptBackup,MP as endpointAllowed,Ap as engineKey,Fp as engineKeyOf,Xp as engineOf,Me as engineOrder,hp as engineRef,m_ as engineRow,c_ as engineRows,cR as engineStrip,__ as engineWorth,Kn as entitiesFormat,Gn as entitiesPrompt,Vn as entitiesStream,Zi as entryMeta,WO as entryStamp,PF as envLikeArgs,MF as envToText,oo as equipmentFor,ei as errorFacts,Em as estimateTokens,R_ as evaluatorPrompt,fx as eventStats,hm as expandRecipe,UR as expandReplacement,ef as expandSkillPrompt,pS as explainMcpError,tN as exportDevicePublicKey,Cd as extendDependents,mu as extractFilters,gi as extractUrls,YL as extractorChain,ih as factcheckKey,th as factcheckPrompt,ah as factcheckVerdict,IE as failoverExhausted,li as failoverOrder,yP as featureEnabled,ZF as featureIds,zD as fenceUntrusted,fM as fetchKey,qL as fetchMcpRegistryPage,HS as fetchMcpToken,IM as fetchTitle,OM as fetchedAsSources,uM as fetchedFacts,pI as filterByTags,Ba as filterEntries,$P as filterMcpServersForSkill,HF as filterMonitorTools,q as filterNoteActions,vN as filterRecords,D as filterSections,be as filterTypoEdits,Nl as findActionArgs,pm as findDispatchProvider,mD as findExistingIssues,sS as findJson,kR as findMatches,jI as findRecordRefs,RF as findRepeats,Ag as findRow,ie as findSkillByName,se as findTargetByName,Ol as findTools,ul as findToolsResult,Ws as findWakeCommand,Lc as findingsInstruction,Gc as findingsOf,_p as fit,eP as fitAttachments,PM as fitFor,Ac as fixedPlan,kC as foldBackFor,PC as foldBackNote,Bc as foldBoard,LC as foldNotes,RT as foldProject,Zc as foldRun,iO as forkConflict,fa as formatBytes,Gh as formatDownloads,LR as formatReport,Kt as formatSurvey,EI as formatTag,cI as formatTagQuery,PN as formatTalkTime,Sa as formatTimestamp,Ea as formatTranscript,Hx as formatTurnUsage,Jx as formatUsd,bD as formatValue,Vr as formatWeather,J as frameNoteAction,Gu as freeCap,as as fromB64,Ex as fromCloudEvent,mx as fromCloudEventLines,go as fuseRRF,xl as fusedRanker,GT as gateAllows,WL as gatewayExtractor,oN as generateDeviceKey,lC as getMcpProviders,Kr as getWeather,In as gistOpening,fn as gistText,GP as globToRegExp,lf as goalDraftAllowed,rc as grantAllows,eR as grantChoices,rR as grantsFromChoices,ro as grantsNeededFor,De as graphStats,pf as groundingBlock,eg as groupActionsByOwner,Ig as groupById,F as groupModels,KN as groupRecords,_F as groupRuns,na as groupSegments,YN as hasInsights,so as hasSubstance,aI as hasTag,mI as hasTagTerms,Nd as holdsGrants,bg as homeChecklist,Ci as hostMatches,io as housekeepingTarget,bl as hubSpec,OO as identityCodec,sM as imageAttachmentsOf,rM as inProcessPatch,qC as inProcessView,Yf as indentSelection,dx as ingestCloudEvents,Ah as initialVoiceState,XN as insightKindOf,RS as installHintFor,Sf as instructionOnLine,pu as isActionable,Wr as isAmbiguousLocation,FI as isBetterTitleSource,$d as isBuiltin,JS as isCacheable,hM as isContextLimitError,UF as isDefaultMcpServer,pO as isEncryptedBackup,XO as isEntry,Ih as isFarewell,JD as isFenced,An as isFillerSentence,NI as isGenericTitle,SC as isInvalidToolParametersResult,no as isLocalHelper,es as isLocked,SE as isLoopableTool,od as isModelUnavailable,rP as isNoneNote,ES as isNothing,Sl as isPermissionTool,HD as isPersonalField,to as isPleasantry,Yu as isPro,M as isQueued,KI as isRecordId,wo as isRedactionToken,A as isRef,Ne as isResultHost,rT as isResumable,DA as isSafeSkillPath,Fx as isSealedBlob,fO as isSealedRecord,KD as isSecretField,NL as isSecretPath,Vo as isSelfLabel,aO as isSettled,Dx as isShredded,Ff as isSkillEnabled,ME as isSourceGateError,hN as isSpeakerImageValue,dS as isStaleMcpSession,Uo as isSubjectCandidate,zu as isTeam,VO as isTombstone,c as isValidEvent,oA as isValidMemory,HI as isValidStoredRecord,ra as isYouTubeUrl,cD as issueCommentText,ED as issueSearchUrl,d_ as jobApplications,gd as jobFromSubtask,FT as jobPostFromForm,JT as jobResults,LT as jobToRole,xs as jobsForEvent,ZT as jobsPrompt,LM as keepRecentFor,IO as keyCache,va as lanesOf,wP as languageInstruction,oh as lastClaimOf,Gl as lastUserText,lo as layoutFlowchart,a_ as ledgerKey,$u as licenseFromPayload,af as lineAt,O as linearize,Wt as linesFromItems,Ct as linkClaims,QI as linkRecordRefs,gg as linkTo,Cg as linkToRow,La as linkifyCitations,qA as lintSkillPrompt,ye as lintText,qF as listFeatures,Rg as listRows,rs as lockedSummary,_h as looksLikeEcho,jt as looksScanned,Lh as lowBandEnergy,da as makeAccessEvent,Sm as makeDispatchProvider,lp as makeEntry,sm as makeGroupDispatchExecutor,wO as makeJournalEntry,s_ as makeLedgerEntry,WP as makeNoteToolExecutor,Vl as makePromptedTranscript,GI as makeRecordId,R as makeRef,Ri as makeSourceStore,Aa as makeStorageTier,Ul as makeToolHub,Ai as manifestText,Dm as mapInput,ZM as mapParts,cA as markUsed,ha as markdownUrl,wD as maskSecretFields,EA as matchForForget,yR as matchIndexFor,lD as matchIssues,Uf as matchSlashRecipe,yf as matchSlashSkill,vf as matchSlashTeam,Ds as matchSummary,TI as matchesTagFilter,TC as mcpBackoff,pR as mcpDispatchProvider,Zg as mcpInventorySystem,jg as mcpProvider,ex as mcpServerFromCatalogItem,qg as mcpSharedSystem,uR as meetDecisions,Mi as meetReach,Os as meetingEndedTrigger,WN as meetingInsights,zF as meetingNotesSkill,Is as meetingStartedTrigger,DI as meetingTitlePrompt,mA as memoryBlock,tA as memoryKey,zP as memoryToolProvider,pA as memoryToolSystem,ne as mentionAnswerPrefix,bt as mentionsFrom,Yg as mergeEndpointDestinations,Ce as mergeEngineResults,HM as mergeNote,Je as mergeResearchLanes,$O as mergeSegments,ae as mergeSkillPrompt,lg as mergeStamped,X_ as mergeTranscript,bM as messagesAfter,V_ as messagesFor,Qh as microphoneError,xM as minWindowFor,fS as missingCommandIn,AS as missingCommandMessage,vd as missingStarters,PP as modelAllowed,rF as modelRows,bh as modelSearchUrl,y as modelSummary,ZN as momentBadge,LD as moneyIn,ln as monitorIntent,wF as monitorNeedsTools,GF as monitorProfile,KF as monitorWindowMs,L as moveQueued,Mo as multiSearch,xF as mutableRef,T_ as needForJob,bA as needsBridge,jS as needsConfirmation,eN as needsRecheck,Px as newDeviceKey,nD as newIssueUrl,fN as newNoteImageId,z_ as newSteps,cs as nextFireAt,xC as nextSidelineIndex,ps as nextWakeAt,NO as nodeCodec,Mx as nodeSealer,RE as normModelName,wp as normalizeAgent,Ym as normalizeBudget,i_ as normalizeCall,k_ as normalizeConnection,Rp as normalizeEngine,Lp as normalizeEngineSpec,vT as normalizeGate,ec as normalizeGrants,gf as normalizeIntent,gT as normalizeJobPost,rA as normalizeMemory,Bh as normalizeModel,CP as normalizeOrgPolicy,DL as normalizePath,IS as normalizePlatform,Pp as normalizePolicy,qx as normalizePricing,mT as normalizeProject,Pt as normalizeRecord,Lt as normalizeRecords,$L as normalizeRegistryEntry,ZL as normalizeRegistryPage,fd as normalizeRequest,fp as normalizeScm,XA as normalizeSkill,Zs as normalizeSpeech,wI as normalizeStoredRecord,Do as normalizeSubject,oI as normalizeTag,tI as normalizeTags,$m as normalizeTeam,yn as normalizeTopic,Un as normalizeTopics,bE as normalizeUsage,Nf as normalizeWriterPrefs,Q as noteActionItems,j as noteActionLabel,XM as noteConflictsIn,TN as noteImageId,_N as noteImageIds,pN as noteImageRef,dN as noteImageRefs,En as noteIntent,QN as noteSectionKind,FC as noteUnits,SR as observeInbox,Ku as observeSince,ER as observeStrip,hs as occurrenceKey,Ts as occurrencesBetween,DD as offersIn,gl as oneLiner,vE as openAiTranscript,xx as openBlob,zC as openDecision,Qi as openEntry,AO as openRecord,Yt as orderLines,BA as originLabel,kA as originOf,AN as orphanNoteImages,kt as orphanRecords,Vf as outlineOf,Cl as overlapRank,iu as overlayEntries,_S as packageFromArgs,RL as packagesFromFiles,fg as pageById,ID as pageKey,Jt as pageTextFromItems,Og as pagesOf,XL as paginateText,Nu as paletteFor,zt as paragraphsFromLines,ZS as parallelEligible,re as parseAgentMention,PD as parseAmount,NF as parseArgsInput,LS as parseAuthChallenge,it as parseBriefText,OC as parseBringBack,hf as parseBugCommand,js as parseClock,Ys as parseCommand,_s as parseCron,Js as parseDuration,wn as parseEntities,CF as parseEnvInput,A_ as parseEvaluation,Mc as parseFindings,Eo as parseFlowchart,QT as parseJobs,xR as parseJsonl,Mg as parseLink,Xf as parseListItem,uF as parseMcpConfig,$N as parseMeetingNotes,ON as parseMeetingText,Lf as parseNewThread,qs as parseNumberWords,lu as parseOmni,fc as parsePlan,ar as parsePlanTasks,BI as parseRecordId,pn as parseRefinement,y_ as parseRemote,qT as parseReview,AD as parseSearchText,ru as parseSegmentName,IC as parseSideline,uS as parseSignInPrompt,te as parseSkillMention,QA as parseSkillVars,mS as parseStructured,jn as parseSuggestions,lI as parseTagQuery,sa as parseTimedText,kI as parseTitleResponse,Wl as parseToolCalls,kn as parseTopics,Hr as parseWeather,Qs as parseWhen,ea as parseYouTubeUrl,jM as partChars,qM as partPrompt,Uh as partitionTtsModels,OD as passagesOf,gL as pathAttachment,LL as pathAttachmentsOf,xh as pcmEnergy,C as pendingQueue,Tl as permissionAllowed,cl as permissionAnswer,Al as permissionIcon,ll as permissionKeys,Rl as permissionLine,xP as permissionMode,El as permissionRequestFromClaude,nl as permissionToolSpec,us as personJoinedTrigger,ba as phasesOf,Ns as phraseTrigger,aa as pickCaptionTrack,DO as pickProfile,ge as pickResults,ng as pickSections,mi as pinnedOrderOf,Sr as planAttribution,nr as planBody,kM as planCompaction,_x as planEventPush,Wu as planLabel,Xu as planOf,sr as planParts,Co as planQueries,tr as planSectionSystem,tO as planSync,ir as planTitleFor,rE as planToolRound,Ic as plannerPrompt,Kg as pointsAtGateway,yO as policyFor,vP as policyHash,bP as policyLabel,Zp as poolFor,Ei as preferenceFor,cM as prefetchAttachment,mM as prefetchPlan,mP as presenceBlock,SP as presenceDelta,nP as presenceFor,Zx as priceUsage,nT as priorWorkFor,ua as projectChain,_T as projectFromForm,AT as projectProgress,Ix as projectYear,x as promoteQueued,Ud as promoteRoles,Va as promptEntries,Xx as promptTokensOf,Xl as promptedToolsSystem,Hl as promptedTranscript,O_ as proposalFromNeeds,u_ as proposalToAgent,It as propose,TA as pruneMemories,hD as qualifierAt,Cs as questionTrigger,ug as quickRows,FD as quoteAround,BD as quoteFormIn,Ll as rankFused,le as rankLinkTargets,kD as rankOffers,ze as rankResearchCards,oL as rankSkills,Go as rankSubjects,Yx as rateFor,EP as reachOf,mr as reachRank,cr as reachSatisfies,DS as readAuthServerMetadata,yS as readRegistration,FS as readResourceMetadata,Ii as readSource,CC as readThread,vS as readTokenResponse,LI as readableWhen,xT as readyJobs,lA as recall,_l as recallPermission,VF as recentFindings,bf as recipeInvocationText,Fm as recipeParams,Gm as recipeToolProvider,Km as recipeToolSpec,SA as reconcile,Ur as reconcileEngines,MO as recordsFromBackup,g_ as recruitEvents,I_ as recruitForRun,C_ as recruitJob,_a as redactAccessArgs,ht as redactedTokensIn,Ft as redactionCost,FP as redactionTier,$M as reduceNotes,RD as refineQueries,Rn as refineSpokenCommand,Tn as refinementFormat,cn as refinementPrompt,_n as refinementStream,hF as refreshArgs,wS as registerMcpClient,kS as registrationRequest,QL as registryListUrl,ut as reject,pl as rememberPermission,b as rememberRecent,nn as reminderIntent,sI as removeTag,tM as renderContent,mo as renderFlowchartSvg,sN as renderMarkdown,qI 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,dD as researchAsk,ND as researchBrief,gD as researchCall,Xe as researchRelevance,Ye as researchSnippet,cC as resetMcp,WM as resolveNoteConflict,f as resolveRef,uC as resolveSidelineTarget,cu as resolveSince,vo as resolveSubjects,zp as resolveTeam,Pu as resolveTheme,aS as responseFormat,ZE as resultToolSpec,ed as resumeTeam,Zl as revealCut,ql as revealStep,$T as reviewPrompt,nS as rewriteJson,ix as rfc3339,Te as roleById,zd as roleCardId,Gx as rollupKey,Hd as rosterRows,jT as roundBudget,FE as roundCap,cP as roundCount,YT as roundJobs,TP as roundMinutes,iE as roundSignature,hP as routeAllowed,p_ as routeFor,Oa as routeGraph,Re as routeTeam,GN as rowTime,$c as runFromEvents,lR as runLanes,ym as runPlan,WT as runProject,Um as runRecipe,CD as runResearch,TM as runResearchItem,JE as runResultQuery,sT as runState,$_ as runTeam,oE as runToolRound,xE as runTurnLoop,fE as runWithFailover,He as salientTerms,dA as sameMemory,pi as sameModelKey,GA as sameSkillOrigin,SI as sameTags,un as sameUtterance,zh as sampleSeconds,Jh as sampleTooShort,EF as saveTimedOut,SF as saveVoiceFailure,FO as scalePolicy,Sn as scheduleIntent,oc as scmAllows,aD as scrubReportText,Lx as sealBlob,ji as sealEntry,RO as sealRecord,$i as searchEntries,vh as searchModels,fm as searchResultsToText,kg as searchSettings,XI as searchTextFor,uL as secretReason,Eg as sectionHash,Bg as sectionOfRow,ig as sectionSpec,sg as sectionValue,Xg as seedDestinations,QO as segmentBytes,qO as segmentEntries,eu as segmentName,au as segmentsFor,Zf as selectionStats,Lg as setSettingValue,kP as settingLocked,Pg as settingValue,vg as settingsGateOf,Dg as settingsOpenMode,Ug as settingsStatusAll,yg as settingsStatusOf,dn as settleRefinement,Ep as sha256,zE as shieldToolResult,fi as shortUrl,hI as shouldAutoTitle,ZO as shouldRotate,Wg as shouldSeedDestinations,hx as shredBlob,DC as sidelinePath,bC as sidelineToolProvider,aN as signChallenge,NS as signInError,gS as signInFromError,CS as signInToolResult,si as signalsFrom,iA as similarity,tL as skillCatalogSystem,oR as skillChoices,TL as skillCreatorPrompt,SL as skillDiscoveryProvider,nL as skillEntry,iL as skillFileProvider,UA as skillFiles,dL as skillFromDraft,rL as skillHandle,pL as skillIdFrom,wf as skillInvocationLabel,Kf as skillInvocationOf,KA as skillIsStale,ZP as skillPackageFiles,qP as skillRunFromSkill,eL as skillToolSystem,JA as skillVar,rf as skillVarGuidance,jA as skillVarPattern,Gf as slashCommandInsert,kf as slashCommandItems,aA as slotOf,Yp as slugAgentId,dc as slugTeamName,FL as sniffType,zI as snippetOf,Qd as soloTeam,bN as sortRecords,UN as sortStamp,$g 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,Nh as speakStream,gh as speakable,CN as speakerBreakdown,FN as speakerLabeller,uN as speakerStats,MN as speakerTimeline,aT as spendOf,mR as spendRows,QM as splitForWindow,wM as splitNoteBlocks,sE as stableToolCallKey,rO as stampOf,Zh as startRecording,jp as starterAgents,bd as starterTeam,Tc as starterTeams,yE as stepResultText,uO as streamCodec,RN as stripNoteImageRefs,Xo as stripQualifiers,ko as subjectKey,yo as subjectTokens,$A as substituteSkillVars,Id as subtaskFromRequest,dI as suggestExistingTags,Wo as suggestMerges,ZA as suggestSkillVar,Jn as suggestionsFormat,zn as suggestionsPrompt,Qn as suggestionsStream,pp as summarize,n_ as summarizeEngine,dF as summarizeRun,wx as summarizeUsage,VN as summarySections,YO as supersedes,_e as supportsSubagents,Bt as surveyCorpus,nF as switchOutcome,VM as syncNote,ct as synthesisPrompt,vM as systemWithSummary,_I as tagFacets,RI as tagsSearchText,Od as takeUp,ud as takeUpLine,Md as taskTree,zT as teamForRound,_c as teamFromForm,Bd as teamHealth,Bf as teamInvocationText,kd as teamLanes,Dd as teamLine,Gd as teamShape,sd as teamToolProvider,nd as teamToolSpec,Sd as teamToolTimeoutMs,qd as teamsWithSolos,mC as testMcpServer,TF as textToDict,Mu as themeStylesheet,NC as threadManifest,Pd as threadRows,Ha as threadTitle,gC as threadToolProvider,Wa as threadTree,wa as threadsOf,Gt as thresholdSweep,ju as tierFor,kp as tierOf,ia as timedTextUrl,sn as timerIntent,fs as timerTrigger,PI as titleFromDate,MI as titleFromParticipants,gI as titleFromSummary,CI as titleFromTopics,SD as titleTerms,ts as toB64,xc as toBriefClaims,aM as toChatMessages,Sx as toCloudEvent,cx as toCloudEventBatch,lx as toCloudEventLines,Cu as toCssVars,WI as toIndexEntry,tS as toJsonSchema,hR as toJsonl,Or as toModelSchema,ur as toModelSchemas,iM as toMultimodalMessages,IF as toSanitizedReport,VI as toSearchRecord,Jf as toggleLinePrefix,Qf as toggleLink,nI as toggleTag,jf as toggleTask,zf as toggleWrap,BS as tokenExpired,bS as tokenRequest,$s as tokenize,HO as tombstone,zl as toolChannel,Fl as toolDoc,nE as toolMadeProgress,eo as toolNeedFor,rC as toolStatus,WS 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,tP as trimOverlap,yA as trustOf,yh as ttsArchOf,Xa as turnsOf,iS as unfence,zi as unlockVault,vD as unverifiedAmounts,ue as unwrapRedirect,_r as upcast,dr as upcastAll,_A as upcastMemory,HA as upcastSkill,VA as upcastSkills,jd as upsertAgents,vx as usageFromEvent,Bx as usageFromOpenAi,zm as usageOf,bx as usageRecord,im as validateAction,Kp as validateAgent,$D as validateBrowserAnnounce,ZD as validateBrowserCall,ek as validateBrowserResult,Wm as validateBudget,Ar as validateCapability,D_ as validateConnection,xp as validateEngineSpec,qi as validateEntry,m as validateEvent,HL as validateExtractRequest,VL as validateExtractResponse,bT as validateGate,fr as validateInvocation,NT as validateJobPost,lT as validateProject,xm as validateRecipe,ms as validateSchedule,wA as validateSkill,Zm as validateTeam,To as validateView,po as validateViewInvocation,Ao as validateWidget,fo as validateWidgetMessage,tC as vaultWidgetSystem,fF as verdict,Tp as verifyAttested,mp as verifyChain,qu as verifyEntitlement,BP as verifyPolicyToken,Zu as verifySignedToken,ta as videoMetaFromPlayerResponse,_o as viewResult,Yl as visiblePrefix,Ut as vocabularyDrift,Ms as voiceCommandTrigger,iF as voiceListRows,aF as voicePicker,fh as voiceSpeaker,Rh as voiceStep,Xs as wakeFor,Dt as wantedPages,Tu as wantsModel,aC as wantsVaultGuidance,Oc as waves,_M as weatherFollowupPlace,pM as weatherPlace,KC as weatherToolProvider,wr as weatherUrl,Cx as webCryptoSealer,qh as webMedia,We as webQuery,uD as webResearch,Im as webSearchToolProvider,xS as wellKnownUrls,wd as whereItWorks,oC as widgetAuthoringSystem,Oo as widgetIcon,Ee as wikiQueryAt,xt as wikilinksIn,MM as windowOf,xL as withAbsolutePaths,Xc as withBoardTool,AF as withCost,AM as withFetchedMemo,nm as withGuidance,Bl as withHint,lP as withPresence,wl as withPromptedTools,U as withRecent,jE as withResultShield,jc as withRunCache,SM as withSourceTool,aP as withStitching,DE as withToolSystem,Qu as withinFreeLimit,PE as withinReach,JI as wordCount,Ue as wordDiff,_d as workLogEvidence,Td as workLogFor,pd as workLogText,v_ as worktreeDirFor,sf as writerAffordance,_f as writerRequest,cf as writerTail};
package/kokoro-text.js ADDED
@@ -0,0 +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};
package/library.js CHANGED
@@ -1,15 +1,15 @@
1
- class s extends Error{constructor(e){super(e),this.name="LibraryError"}}const m=Object.freeze(["chat","note","meeting","brief"]),l=new Set(m);function u(t){const e=String(t||""),n=e.indexOf(":");if(n<=0)return null;const r=e.slice(0,n),o=e.slice(n+1);return!l.has(r)||!o?null:{kind:r,localId:o}}function S(t,e){if(!l.has(t))throw new s(`unknown record kind: ${t}`);const n=String(e||"");if(!n)throw new s("a record id needs a local id");if(n.includes(":"))throw new s(`local id may not contain ":" — got ${n}`);return`${t}:${n}`}function T(t){return u(t)!==null}const f=48;function p(t,e="Untitled"){const n=String(t||"").split(`
2
- `).map(r=>r.replace(/^\s*#{1,6}\s*/,"").replace(/[*_`>~]+/g,"").trim()).find(r=>r.length>0);return n?n.length>f?`${n.slice(0,f-1).trimEnd()}…`:n:e}const d=(t,e=0)=>Number.isFinite(Number(t))?Number(t):e,i=t=>typeof t=="string"?t:t==null?"":String(t);function c(t={},{now:e=0}={}){const n=u(t.id);if(!n)throw new s(`not a record id: ${JSON.stringify(t.id)}`);const r=d(t.createdAt,d(t.date,e));return{id:t.id,kind:n.kind,localId:n.localId,title:i(t.title).trim()||x(n.kind,t),tags:y(t.tags),createdAt:r,updatedAt:d(t.updatedAt,r),deletedAt:d(t.deletedAt,0)||0,body:t.body??null,meta:t.meta&&typeof t.meta=="object"?t.meta:{}}}function x(t,e){return t==="note"?p(e?.body?.markdown??e?.body,"Untitled note"):t==="meeting"?"Untitled meeting":t==="brief"?"Untitled brief":"New chat"}function y(t){if(!Array.isArray(t))return[];const e=[];for(const n of t){const r=i(n).trim();r&&!e.includes(r)&&e.push(r)}return e}function I(t){try{return c(t),!0}catch{return!1}}const A={assistant:"Assistant",system:"System",user:"You"};function L(t){const e=c(t);return e.deletedAt?null:{id:e.id,type:e.kind,title:e.title,date:e.updatedAt||e.createdAt,text:h(e)}}function h(t){const e=t.kind?t:c(t),n=`${b(e.kind)}: ${e.title}`,r=e.tags.length?`
3
- Tags: ${e.tags.join(", ")}`:"";return`${n}${r}
1
+ class l extends Error{constructor(t){super(t),this.name="LibraryError"}}const b=Object.freeze(["chat","note","meeting","brief"]),g=new Set(b);function p(e){const t=String(e||""),n=t.indexOf(":");if(n<=0)return null;const r=t.slice(0,n),o=t.slice(n+1);return!g.has(r)||!o?null:{kind:r,localId:o}}function D(e,t){if(!g.has(e))throw new l(`unknown record kind: ${e}`);const n=String(t||"");if(!n)throw new l("a record id needs a local id");if(n.includes(":"))throw new l(`local id may not contain ":" — got ${n}`);return`${e}:${n}`}function F(e){return p(e)!==null}const m=/`((?:chat|note|meeting|brief):[A-Za-z0-9_-]+)`/g,h=/\[((?:chat|note|meeting|brief):[A-Za-z0-9_-]+)\](?!\()/g,A=/(?<![\w/:.\[`-])((?:chat|note|meeting|brief):[A-Za-z0-9_-]+)(?![\w-])/g,u=/(```[\s\S]*?```)/g;function U(e){const t=new Set;for(const n of String(e||"").split(u))if(!n.startsWith("```"))for(const r of[m,h,A])for(const o of n.matchAll(r))t.add(o[1]);return[...t]}const y=/`\s*(\[[^\]\n`]+\]\((?:chatpanel-record:|https?:\/\/)[^)\s`]+\))\s*`/g,$=/`\s*(chatpanel-record:(?:chat|note|meeting|brief):[A-Za-z0-9_-]+)\s*`/g,w=Object.freeze({rightarrow:"→",to:"→",leftarrow:"←",gets:"←",leftrightarrow:"↔",Rightarrow:"⇒",Leftarrow:"⇐",Leftrightarrow:"⇔",implies:"⇒",iff:"⇔",uparrow:"↑",downarrow:"↓",mapsto:"↦",longrightarrow:"⟶",times:"×",cdot:"·",div:"÷",pm:"±",mp:"∓",le:"≤",leq:"≤",ge:"≥",geq:"≥",ne:"≠",neq:"≠",approx:"≈",sim:"∼",equiv:"≡",infty:"∞",checkmark:"✓",ldots:"…",dots:"…",cdots:"⋯",degree:"°",circ:"°",bullet:"•",star:"★",alpha:"α",beta:"β",gamma:"γ",delta:"δ",Delta:"Δ",lambda:"λ",mu:"μ",pi:"π",sigma:"σ",Sigma:"Σ",theta:"θ",omega:"ω",in:"∈",notin:"∉",subset:"⊂",cup:"∪",cap:"∩",forall:"∀",exists:"∃",neg:"¬",land:"∧",lor:"∨"}),R=/\$\s*\\([A-Za-z]+)\s*\$/g,_=/\\([A-Za-z]+)(?![A-Za-z])/g;function k(e){const t=String(e??"");return!t.includes("`")&&!t.includes("\\")?t:t.split(u).map(n=>n.startsWith("```")?n:n.replace(y,"$1").replace($,(o,i)=>`[${i.slice(17)}](${i})`).split(/(`[^`\n]*`)/g).map((o,i)=>i%2===1?o:o.replace(R,(a,c)=>w[c]??a).replace(_,(a,c)=>w[c]??a)).join("")).join("")}function Z(e,{href:t=r=>`chatpanel-record:${r}`,label:n=r=>r}={}){const r=i=>String(i).replace(/[\[\]]/g,a=>`\\${a}`),o=(i,a)=>{const c=n(a);return c==null?i:`[${r(c)}](${t(a)})`};return k(e).split(u).map(i=>i.startsWith("```")?i:i.replace(m,o).replace(h,o).replace(A,o)).join("")}const x=48;function S(e,t="Untitled"){const n=String(e||"").split(`
2
+ `).map(r=>r.replace(/^\s*#{1,6}\s*/,"").replace(/[*_`>~]+/g,"").trim()).find(r=>r.length>0);return n?n.length>x?`${n.slice(0,x-1).trimEnd()}…`:n:t}const d=(e,t=0)=>Number.isFinite(Number(e))?Number(e):t,s=e=>typeof e=="string"?e:e==null?"":String(e);function f(e={},{now:t=0}={}){const n=p(e.id);if(!n)throw new l(`not a record id: ${JSON.stringify(e.id)}`);const r=d(e.createdAt,d(e.date,t));return{id:e.id,kind:n.kind,localId:n.localId,title:s(e.title).trim()||T(n.kind,e),tags:L(e.tags),createdAt:r,updatedAt:d(e.updatedAt,r),deletedAt:d(e.deletedAt,0)||0,body:e.body??null,meta:e.meta&&typeof e.meta=="object"?e.meta:{}}}function T(e,t){return e==="note"?S(t?.body?.markdown??t?.body,"Untitled note"):e==="meeting"?"Untitled meeting":e==="brief"?"Untitled brief":"New chat"}function L(e){if(!Array.isArray(e))return[];const t=[];for(const n of e){const r=s(n).trim();r&&!t.includes(r)&&t.push(r)}return t}function M(e){try{return f(e),!0}catch{return!1}}const j={assistant:"Assistant",system:"System",user:"You"};function K(e){const t=f(e);return t.deletedAt?null:{id:t.id,type:t.kind,title:t.title,date:t.updatedAt||t.createdAt,text:I(t)}}function I(e){const t=e.kind?e:f(e),n=`${N(t.kind)}: ${t.title}`,r=t.tags.length?`
3
+ Tags: ${t.tags.join(", ")}`:"";return`${n}${r}
4
4
 
5
- ${g(e)}`.trim()}function b(t){return t==="chat"?"CHAT":t==="note"?"NOTE":t==="meeting"?"MEETING":"BRIEF"}function g(t){const e=t.body;if(e==null)return"";if(typeof e=="string")return e;const n=typeof e.text=="string"?e.text:"";if(t.kind==="chat")return(e.messages||[]).filter(o=>o&&o.content).map(o=>`${A[o.role]||"You"}: ${E(o.content)}`).join(`
5
+ ${E(t)}`.trim()}function N(e){return e==="chat"?"CHAT":e==="note"?"NOTE":e==="meeting"?"MEETING":"BRIEF"}function E(e){const t=e.body;if(t==null)return"";if(typeof t=="string")return t;const n=typeof t.text=="string"?t.text:"";if(e.kind==="chat")return(t.messages||[]).filter(o=>o&&o.content).map(o=>`${j[o.role]||"You"}: ${O(o.content)}`).join(`
6
6
 
7
- `)||n;if(t.kind==="note")return i(e.markdown??e.text);if(t.kind==="meeting"){const r=i(e.notes),o=(e.segments||[]).map(a=>`${i(a.speaker)||"?"}: ${i(a.text)}`).join(`
7
+ `)||n;if(e.kind==="note")return s(t.markdown??t.text);if(e.kind==="meeting"){const r=s(t.notes),o=(t.segments||[]).map(i=>`${s(i.speaker)||"?"}: ${s(i.text)}`).join(`
8
8
  `);return[r,o].filter(Boolean).join(`
9
9
 
10
- `)||n}if(t.kind==="brief"){const r=(e.claims||[]).map(o=>i(o.text)).filter(Boolean).join(`
11
- `);return[i(e.summary),r].filter(Boolean).join(`
10
+ `)||n}if(e.kind==="brief"){const r=(t.claims||[]).map(o=>s(o.text)).filter(Boolean).join(`
11
+ `);return[s(t.summary),r].filter(Boolean).join(`
12
12
 
13
- `)||n}return n}function E(t){return typeof t=="string"?t:Array.isArray(t)?t.map(e=>typeof e=="string"?e:e&&e.type==="text"?i(e.text):"").filter(Boolean).join(" "):""}function w(t){const e=i(t).trim();return e?e.split(/\s+/).length:0}const $=/^(Date|Platform|Model|Agent|Tags|Source|Kind|Created|Updated|Started|Ended|Duration|Participants|Attendees|URL|Link):\s/i;function k(t,e=110){const n=i(t).split(`
14
- `);if(n.length===1)return n[0].replace(/[#*_`>~]+/g,"").replace(/\s+/g," ").trim().slice(0,e);let r=1;for(;r<n.length&&(!n[r].trim()||$.test(n[r].trim()));)r+=1;return n.slice(r).join(`
15
- `).replace(/[#*_`>~]+/g,"").replace(/\s+/g," ").trim().slice(0,e)}function R(t){const e=c(t),n=g(e);return{id:e.id,kind:e.kind,title:e.title,tags:e.tags,snippet:k(n),words:w(n),chars:n.length,createdAt:e.createdAt,updatedAt:e.updatedAt,deletedAt:e.deletedAt}}export{s as LibraryError,f as MAX_TITLE_LEN,m as RECORD_KINDS,p as deriveTitle,T as isRecordId,I as isValidStoredRecord,S as makeRecordId,c as normalizeStoredRecord,u as parseRecordId,h as searchTextFor,k as snippetOf,R as toIndexEntry,L as toSearchRecord,w as wordCount};
13
+ `)||n}return n}function O(e){return typeof e=="string"?e:Array.isArray(e)?e.map(t=>typeof t=="string"?t:t&&t.type==="text"?s(t.text):"").filter(Boolean).join(" "):""}function z(e){const t=s(e).trim();return t?t.split(/\s+/).length:0}const C=/^(Date|Platform|Model|Agent|Tags|Source|Kind|Created|Updated|Started|Ended|Duration|Participants|Attendees|URL|Link):\s/i;function B(e,t=110){const n=s(e).split(`
14
+ `);if(n.length===1)return n[0].replace(/[#*_`>~]+/g,"").replace(/\s+/g," ").trim().slice(0,t);let r=1;for(;r<n.length&&(!n[r].trim()||C.test(n[r].trim()));)r+=1;return n.slice(r).join(`
15
+ `).replace(/[#*_`>~]+/g,"").replace(/\s+/g," ").trim().slice(0,t)}function q(e){const t=f(e),n=E(t);return{id:t.id,kind:t.kind,title:t.title,tags:t.tags,snippet:B(n),words:z(n),chars:n.length,createdAt:t.createdAt,updatedAt:t.updatedAt,deletedAt:t.deletedAt}}export{l as LibraryError,x as MAX_TITLE_LEN,b as RECORD_KINDS,S as deriveTitle,U as findRecordRefs,F as isRecordId,M as isValidStoredRecord,Z as linkRecordRefs,D as makeRecordId,f as normalizeStoredRecord,p as parseRecordId,k as repairAnswerMarkup,I as searchTextFor,B as snippetOf,q as toIndexEntry,K as toSearchRecord,z as wordCount};
@@ -0,0 +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};
package/link-noise.js ADDED
@@ -0,0 +1 @@
1
+ const q=32,z=32,$=16,V=65535,B=new TextEncoder,N=new Uint8Array(0),X=Object.freeze({pair:"Noise_XXpsk3_25519_AESGCM_SHA256",resume:"Noise_IK_25519_AESGCM_SHA256"}),W={[X.pair]:{pre:{initiator:[],responder:[]},psk:!0,messages:[["e"],["e","ee","s","es"],["s","se","psk"]]},[X.resume]:{pre:{initiator:[],responder:["s"]},psk:!1,messages:[["e","es","s","ss"],["e","ee","se"]]}};function x(...e){const y=new Uint8Array(e.reduce((a,p)=>a+p.length,0));let i=0;for(const a of e)y.set(a,i),i+=a.length;return y}const l=e=>e instanceof Uint8Array?e:new Uint8Array(e),F=Uint8Array.from([48,46,2,1,0,48,5,6,3,43,101,110,4,34,4,32]),R=(()=>{const e=new Uint8Array(32);return e[0]=9,e})();function j(e=globalThis.crypto?.subtle,y=i=>globalThis.crypto.getRandomValues(i)){if(!e)throw new Error("link-noise: WebCrypto subtle is required");const i={name:"X25519"},a=t=>e.importKey("raw",l(t),i,!0,[]),p=async t=>l(await e.deriveBits({...i,public:await a(R)},t,256)),c=new Map,h=new Map,m=async(t,n)=>{const f=`${n}:${Array.from(t).join(",")}`;let o=h.get(f);return o||(o=await e.importKey("raw",t,"AES-GCM",!1,[n]),h.size>64&&h.clear(),h.set(f,o)),o};return{async keyPairFromPrivate(t){const n=await e.importKey("pkcs8",x(F,l(t)),i,!0,["deriveBits"]);return{privateKey:n,publicKey:await p(n)}},async generateKeyPair(){const t=y(new Uint8Array(32));return{...await this.keyPairFromPrivate(t),raw:t}},async dh(t,n){return l(await e.deriveBits({...i,public:await a(n)},t.privateKey,256))},async hash(t){return l(await e.digest("SHA-256",t))},async hmac(t,n){const f=Array.from(t).join(",");let o=c.get(f);return o||(o=await e.importKey("raw",t,{name:"HMAC",hash:"SHA-256"},!1,["sign"]),c.size>64&&c.clear(),c.set(f,o)),l(await e.sign("HMAC",o,n))},async encrypt(t,n,f,o){const A=await m(t,"encrypt");return l(await e.encrypt({name:"AES-GCM",iv:I(n),additionalData:f,tagLength:128},A,o))},async decrypt(t,n,f,o){const A=await m(t,"decrypt");return l(await e.decrypt({name:"AES-GCM",iv:I(n),additionalData:f,tagLength:128},A,o))}}}function I(e){const y=new Uint8Array(12);return new DataView(y.buffer).setBigUint64(4,BigInt(e),!1),y}async function L(e,y,i,a){const p=await e.hmac(y,i),c=await e.hmac(p,Uint8Array.of(1)),h=await e.hmac(p,x(c,Uint8Array.of(2)));return a===2?[c,h]:[c,h,await e.hmac(p,x(h,Uint8Array.of(3)))]}function v(e,y=null){let i=y,a=0,p=!1;return{hasKey:()=>!!i,setKey(c){i=c,a=0,p=!1},async encryptWithAd(c,h){if(!i)return h;if(a>=Number.MAX_SAFE_INTEGER)throw new Error("link-noise: nonce exhausted");const m=a++;return e.encrypt(i,m,c,h)},async decryptWithAd(c,h){if(!i)return h;if(p)throw new Error("link-noise: this session failed authentication and is closed");const m=a++;try{return await e.decrypt(i,m,c,h)}catch(t){throw p=!0,t}}}}async function Y({protocol:e,initiator:y,prologue:i=N,s:a=null,rs:p=null,psk:c=null,e:h=null,crypto:m=j()}={}){const t=W[e];if(!t)throw new Error(`link-noise: unknown protocol ${e}`);if(t.psk&&(!c||c.length!==32))throw new Error("link-noise: a 32-byte pre-shared key is required");if(!a)throw new Error("link-noise: a static key pair is required");const n=m,f=B.encode(e);let o=f.length<=32?x(f,new Uint8Array(32-f.length)):await n.hash(f),A=o;const H=v(n);let g=p?l(p):null,S=null,E=h,K=0;const k=async r=>{o=await n.hash(x(o,r))},_=async r=>{const[s,w]=await L(n,A,r,2);A=s,H.setKey(w)},G=async r=>{const[s,w,u]=await L(n,A,r,3);A=s,await k(w),H.setKey(u)},P=async r=>{const s=await H.encryptWithAd(o,r);return await k(s),s},C=async r=>{const s=await H.decryptWithAd(o,r);return await k(r),s};await k(l(i));for(const r of["initiator","responder"])for(const s of t.pre[r]){if(s!=="s")continue;const u=r==="initiator"===y?a.publicKey:g;if(!u)throw new Error("link-noise: this pattern needs the remote static key in advance");await k(u)}const T=()=>K%2===0===y,D=async r=>r==="ee"?n.dh(E,S):r==="ss"?n.dh(a,g):r==="es"?y?n.dh(E,g):n.dh(a,S):y?n.dh(a,S):n.dh(E,g),U={isDone:()=>K>=t.messages.length,isMyTurn:T,async writeMessage(r=N){if(U.isDone()||!T())throw new Error("link-noise: not this side’s turn to write");const s=[];for(const u of t.messages[K])u==="e"?(E||(E=await n.generateKeyPair()),s.push(E.publicKey),await k(E.publicKey),t.psk&&await _(E.publicKey)):u==="s"?s.push(await P(a.publicKey)):u==="psk"?await G(l(c)):await _(await D(u));s.push(await P(l(r))),K+=1;const w=x(...s);if(w.length>65535)throw new Error("link-noise: handshake message too long");return w},async readMessage(r){if(U.isDone()||T())throw new Error("link-noise: not this side’s turn to read");const s=l(r);let w=0;const u=d=>{if(w+d>s.length)throw new Error("link-noise: handshake message too short");const M=s.subarray(w,w+d);return w+=d,M};for(const d of t.messages[K])d==="e"?(S=Uint8Array.from(u(32)),await k(S),t.psk&&await _(S)):d==="s"?g=Uint8Array.from(await C(u(H.hasKey()?48:32))):d==="psk"?await G(l(c)):await _(await D(d));const b=await C(s.subarray(w));return K+=1,b},async split(){if(!U.isDone())throw new Error("link-noise: the handshake is not finished");const[r,s]=await L(n,A,N,2),w=v(n,r),u=v(n,s),b=y?w:u,d=y?u:w;return{handshakeHash:o,remoteStatic:g,encrypt:async M=>{const O=l(M);if(O.length+16>65535)throw new Error("link-noise: transport message too long");return b.encryptWithAd(N,O)},decrypt:M=>d.decryptWithAd(N,l(M))}}};return U}export{V as MAX_NOISE_MESSAGE,X as NOISE_PROTOCOLS,x as concatBytes,Y as createHandshake,j as noiseCrypto};
@@ -0,0 +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};
@@ -0,0 +1 @@
1
+ import{candidatesFrom as s}from"./memory.js";async function d(c,{store:o,enabled:i=!0,offers:n=!0,source:a={via:"user",surface:"chat"},previous:f=""}={}){const r={saved:[],forgot:[],offers:[]};if(!i||!o||!String(c||"").trim())return r;for(const e of s(String(c),{includeReveals:n,previous:f})){if(!e.explicit){r.offers.push(e);continue}try{if(e.op==="forget"){const{removed:t=[]}=await o.forget(e.text)||{};r.forgot.push(...t)}else{const t=await o.remember({text:e.text,kind:e.kind,confidence:e.confidence,source:a});t&&t.action!=="duplicate"&&r.saved.push({...t.record,action:t.action})}}catch{}}return r}export{d as captureFromMessage};
package/memory.js CHANGED
@@ -1,2 +1,2 @@
1
- const Q=1,b=Object.freeze({identity:{label:"Identity",ambient:!0,hint:"Who the user is — name, role, pronouns, language, timezone."},preference:{label:"Preference",ambient:!0,hint:"How they want things done — tone, format, defaults, things never to do."},project:{label:"Project",ambient:!1,hint:"Ongoing work, goals and constraints not derivable from the material itself."},fact:{label:"Fact",ambient:!1,hint:"A durable fact about their world — systems, teams, environments, conventions."},reference:{label:"Reference",ambient:!1,hint:"A pointer to something external — a URL, a dashboard, a ticket, a doc."}}),v=Object.freeze(Object.keys(b)),T=Object.freeze(v.filter(e=>b[e].ambient)),k=280,M=3,I=200,C=1200;class E extends Error{constructor(o){super(o),this.name="MemoryError"}}function R(e={},{now:o=0,newId:s=null}={}){const r=u(e.text);if(r.length<M)throw new E("a memory needs text");if(r.length>k)throw new E(`a memory must be at most ${k} characters — save longer material as a note`);const n=b[e.kind]?e.kind:"fact",a=Number(e.createdAt)||Number(o)||0;return{id:String(e.id||(s?s():"")||""),v:1,text:r,kind:n,scope:String(e.scope||"global"),key:m(r),slot:u(e.slot).toLowerCase()||D(r),tags:[...new Set((e.tags||[]).map(t=>u(t).toLowerCase()).filter(Boolean))].slice(0,8),pinned:!!e.pinned,source:{via:String(e.source?.via||"user"),surface:String(e.source?.surface||""),ref:String(e.source?.ref||""),agent:String(e.source?.agent||"")},confidence:Z(e.confidence==null?1:Number(e.confidence)),createdAt:a,updatedAt:Number(e.updatedAt)||a,usedAt:Number(e.usedAt)||0,useCount:Math.max(0,Math.floor(Number(e.useCount)||0)),expiresAt:e.expiresAt?Number(e.expiresAt):null,history:(e.history||[]).slice(-5).map(t=>({text:u(t.text),at:Number(t.at)||0}))}}function ee(e){try{return R(e,{now:e?.createdAt||1}),!!e?.id}catch{return!1}}function m(e){const o=u(e).toLowerCase().replace(/[^\p{L}\p{N}\s]/gu," ").split(/\s+/).filter(s=>s&&!z.has(s));return[...new Set(o)].sort().join(" ")}const z=new Set(["a","an","the","i","im","me","my","mine","we","our","us","you","your","is","am","are","was","were","be","been","being","do","does","did","to","of","in","on","at","for","with","and","or","that","this","it","please","always","usually","generally","really","just","very","so","remember","note","noting","user","prefer","prefers","preferred","like","likes"]);function D(e){const o=u(e).toLowerCase().replace(/^the\s+/,"");if(/^(?:goes by|name is|is called|called)\b/.test(o))return"name";if(/^pronouns\b/.test(o))return"pronouns";const s=/^(?:my\s+|their\s+)?([\p{L}\p{N}][\p{L}\p{N} '-]{0,28}?)\s+(?:is|are|was|were)\b/u.exec(o);if(!s)return"";const r=s[1].split(/\s+/).filter(n=>!z.has(n)).join(" ");return r.length>=3?r:""}function _(e,o){const s=new Set(m(e).split(" ").filter(Boolean)),r=new Set(m(o).split(" ").filter(Boolean));if(!s.size||!r.size)return 0;let n=0;for(const a of s)r.has(a)&&(n+=1);return n/(s.size+r.size-n)}function Y(e,o){const s=new Set(m(e).split(" ").filter(Boolean)),r=new Set(m(o).split(" ").filter(Boolean));if(!s.size||!r.size)return 0;let n=0;for(const a of s)r.has(a)&&(n+=1);return n/Math.min(s.size,r.size)}const F=.8,U=[{re:/^(?:please\s+)?(?:remember|memorize|memorise)(?:\s+that|\s+this)?[:,]?\s+(.+)$/i,kind:"fact"},{re:/^(?:please\s+)?(?:keep in mind|bear in mind|don'?t forget|do not forget)(?:\s+that)?[:,]?\s+(.+)$/i,kind:"fact"},{re:/^(?:please\s+)?(?:make a note|note)(?:\s+that|\s+of)[:,]?\s+(.+)$/i,kind:"fact"},{re:/^(?:from now on|going forward|in future|in the future|henceforth)[:,]?\s+(.+)$/i,kind:"preference"},{re:/^(?:call me|i go by|refer to me as)\s+(.+)$/i,kind:"identity",rebuild:e=>`Goes by ${x(e[1])}`},{re:/^my name(?:'s| is)\s+(.+)$/i,kind:"identity",rebuild:e=>`Name is ${x(e[1])}`},{re:/^(?:always|never)\s+(.+)$/i,kind:"preference",rebuild:(e,o)=>N(o)}],P=[{re:/^i (?:prefer|like|want|need)\s+(.+)$/i,kind:"preference",confidence:.7},{re:/^i (?:hate|dislike|don'?t like|do not like|can'?t stand)\s+(.+)$/i,kind:"preference",confidence:.7},{re:/^i(?:'m| am)(?: a| an| the)?\s+(.+)$/i,kind:"identity",confidence:.6},{re:/^i (?:work|working) (?:on|at|with)\s+(.+)$/i,kind:"project",confidence:.6},{re:/^i(?:'m| am) (?:working|building|writing) (?:on\s+)?(.+)$/i,kind:"project",confidence:.6},{re:/^(?:we|our team|my team) (?:use|uses|are using|run|runs|deploy|deploys)\s+(.+)$/i,kind:"fact",confidence:.6},{re:/^my (?:\w+\s){0,2}?(?:is|are)\s+(.+)$/i,kind:"fact",confidence:.55}],K=[/^(?:please\s+)?forget(?:\s+that|\s+about)?[:,]?\s+(.+)$/i,/^(?:please\s+)?(?:stop remembering|no longer remember|un-?remember)[:,]?\s+(.+)$/i],V=/(?:^|\s)(?:do|does|did|can|could|would|will|what|when|where|who|why|how|are|is)\s+(?:you|i|we|it)\b/i,W=/\b(?:can'?t|cannot|don'?t|do not|couldn'?t|never|didn'?t)\s+(?:seem to\s+)?(?:remember|recall|forget)\b/i;function te(e,{maxCandidates:o=3,includeReveals:s=!0}={}){const r=[],a=String(e||"").replace(/```[\s\S]*?```/g," ").replace(/`[^`]*`/g," ");for(const t of J(a)){if(r.length>=o)break;if(t.length<M||W.test(t))continue;let i=!1;for(const f of K){const l=f.exec(t);if(!l)continue;const d=O(x(l[1]));d.length>=M&&(r.push({op:"forget",text:d,kind:"fact",confidence:1,explicit:!0,trigger:"forget"}),i=!0);break}if(!i&&!V.test(t)){for(const{re:f,kind:l,rebuild:d}of U){const h=f.exec(t);if(!h)continue;const A=O(d?d(h,t):N(x(h[1])));A.length>=M&&(r.push({op:"remember",text:A,kind:l,confidence:1,explicit:!0,trigger:"command"}),i=!0);break}if(!(i||!s))for(const{re:f,kind:l,confidence:d}of P){if(!f.test(t))continue;const h=O(N(t));h.split(/\s+/).length>=3&&r.push({op:"remember",text:h,kind:l,confidence:d,explicit:!1,trigger:"reveal"});break}}}return r.slice(0,o)}function ne(e,o,{now:s=0,newId:r=null}={}){const n=R(o,{now:s,newId:r}),a=(e||[]).filter(i=>i&&i.scope===n.scope),t=n.slot&&a.find(i=>i.slot===n.slot)||a.find(i=>i.key===n.key)||a.find(i=>i.kind===n.kind&&_(i.text,n.text)>=F);return t?u(t.text).toLowerCase()===n.text.toLowerCase()?{action:"duplicate",record:{...t,updatedAt:Number(s)||t.updatedAt,useCount:t.useCount+1},replaces:t}:{action:"update",record:{...t,text:n.text,key:n.key,slot:n.slot,kind:n.kind,tags:n.tags.length?n.tags:t.tags,confidence:n.confidence,source:n.source,updatedAt:Number(s)||t.updatedAt,history:[...t.history,{text:t.text,at:t.updatedAt}].slice(-5)},replaces:t}:{action:"create",record:n,replaces:null}}function re(e,o,{limit:s=5}={}){const r=u(o);if(!r)return[];const n=(e||[]).filter(t=>t.id===r);if(n.length)return n;const a=m(r);return(e||[]).map(t=>({m:t,s:t.key===a?1:Math.max(_(t.text,r),Y(r,t.text))})).filter(t=>t.s>=.5).sort((t,i)=>i.s-t.s).slice(0,s).map(t=>t.m)}function oe(e,{text:o="",scopes:s=["global"],kinds:r=null,now:n=0,limit:a=24,maxChars:t=C,includeAmbient:i=!0,ambientKinds:f=T}={}){const l=new Set(s.length?s:["global"]),d=new Set(m(o).split(" ").filter(Boolean)),A=(e||[]).filter(c=>c&&c.text).filter(c=>l.has(c.scope)).filter(c=>!r||r.includes(c.kind)).filter(c=>!c.expiresAt||!n||c.expiresAt>n).map(c=>{const w=new Set(c.key.split(" ").filter(Boolean));let S=0;for(const L of w)d.has(L)&&(S+=1);const p=w.size?S/w.size:0,g=i&&f.includes(c.kind)&&b[c.kind]?.ambient&&w.size<=H,j=n&&c.updatedAt?Math.max(0,1-(n-c.updatedAt)/G):0,B=Math.min(1,c.useCount/10);return{m:c,keep:c.pinned||g||p>0,score:(c.pinned?100:0)+(g?10:0)+p*8+j+B}}),y=[];let $=0;for(const{m:c,keep:w,score:S}of A.filter(p=>p.keep).sort((p,g)=>g.score-p.score)){if(y.length>=a)break;if(y.some(g=>q(g,c)))continue;const p=c.text.length+c.kind.length+6;if($+p>t&&y.length)break;$+=p,y.push(c)}return y}const H=14;function q(e,o){const s=new Set(String(e?.key||"").split(" ").filter(Boolean)),r=new Set(String(o?.key||"").split(" ").filter(Boolean));if(!s.size||!r.size)return!1;const[n,a]=s.size<=r.size?[s,r]:[r,s];let t=0;for(const i of n)a.has(i)&&(t+=1);return t/n.size>=.7}const G=365*24*60*60*1e3;function se(e,{heading:o="What you already know about this user",maxChars:s=C}={}){const r=(e||[]).filter(t=>t&&t.text);if(!r.length)return"";const n=[];let a=0;for(const t of r){const i=`- (${t.kind}) ${t.text}`;if(a+i.length>s&&n.length)break;a+=i.length+1,n.push(i)}return[`## ${o}`,"Saved by the user in ChatPanel and true across conversations, agents and devices.","Apply them without being asked and without announcing them.",...n,"If the user states something durable about themselves, their preferences or their work, save it with the `memory` tool. If they correct one of these, update it — do not just agree."].join(`
2
- `)}function ie(e,o,{now:s=0}={}){const r=new Set(o||[]);return(e||[]).map(n=>r.has(n.id)?{...n,usedAt:Number(s)||n.usedAt,useCount:n.useCount+1}:n)}function ae(e,{now:o=0,max:s=I}={}){const r=(e||[]).filter(Boolean),n=o?r.filter(i=>i.expiresAt&&i.expiresAt<=o):[];let a=n.length?r.filter(i=>!n.includes(i)):r;const t=[...n];if(a.length>s){const i=l=>(l.pinned?3:0)+(b[l.kind]?.ambient?1:0),f=[...a].sort((l,d)=>i(d)-i(l)||d.useCount-l.useCount||(d.usedAt||d.updatedAt)-(l.usedAt||l.updatedAt));t.push(...f.slice(s)),a=f.slice(0,s)}return{kept:a,dropped:t}}const ce=Object.freeze({name:"memory",description:'Save, update or remove a durable fact about the USER in ChatPanel — carried into every future conversation, on every model and agent. Use it the moment they state a standing preference ("always be terse"), an identity fact ("call me Alex"), or a constraint about their work that will still be true next week. Do NOT use it for one-off task details, anything already obvious from the conversation, or content that belongs in a note. Keep each memory one short self-contained sentence. Use `forget` when the user says something is no longer true, and `list` to see what is already stored before adding.',parameters:{type:"object",properties:{action:{type:"string",enum:["remember","forget","list"],description:"What to do."},text:{type:"string",description:`The fact, as one short sentence written in the third person ("Prefers terse answers"). Max ${k} characters. Required for remember; for forget, the memory to drop (its text or id).`},kind:{type:"string",enum:v,description:v.map(e=>`${e}: ${b[e].hint}`).join(" ")},tags:{type:"array",items:{type:"string"},description:"Optional short tags for grouping."}},required:["action"]}});function le(){return"`memory` saves something durable the user says about themselves, how they want to be helped, or their ongoing work — never task details or transient state — and you say in a short clause what you saved."}const X=Object.freeze({});function de(e){let o=e;for(let s=Number(o?.v)||1;s<1;s+=1){const r=X[s];if(!r)throw new E(`no upcaster from memory v${s}`);o=r(o)}return o}const u=e=>String(e??"").replace(/\s+/g," ").trim(),Z=e=>Number.isFinite(e)?Math.min(1,Math.max(0,e)):1,x=e=>u(e).replace(/[.,;:!]+$/,""),O=e=>e.length>k?`${e.slice(0,k-1).trimEnd()}…`:e,N=e=>{const o=x(e);return o&&o[0].toUpperCase()+o.slice(1)};function J(e){return String(e||"").split(/\n+/).flatMap(o=>u(o).replace(/^[-*+•]\s*|^\d+[.)]\s*/,"").split(/(?<=[.!?])\s+(?=[A-Z"'])/)).map(u).filter(Boolean)}export{T as AMBIENT_KINDS,H as AMBIENT_MAX_WORDS,C as DEFAULT_BLOCK_CHARS,I as DEFAULT_MAX_MEMORIES,k as MAX_MEMORY_CHARS,b as MEMORY_KINDS,v as MEMORY_KIND_NAMES,ce as MEMORY_TOOL_SPEC,X as MEMORY_UPCASTERS,Q as MEMORY_VERSION,M as MIN_MEMORY_CHARS,E as MemoryError,F as SAME_FACT,te as candidatesFrom,Y as containment,ee as isValidMemory,ie as markUsed,re as matchForForget,se as memoryBlock,m as memoryKey,le as memoryToolSystem,R as normalizeMemory,ae as pruneMemories,oe as recall,ne as reconcile,q as sameMemory,_ as similarity,D as slotOf,de as upcastMemory};
1
+ const te=1,k=Object.freeze({identity:{label:"Identity",ambient:!0,hint:"Who the user is — name, role, pronouns, language, timezone."},preference:{label:"Preference",ambient:!0,hint:"How they want things done — tone, format, defaults, things never to do."},project:{label:"Project",ambient:!1,hint:"Ongoing work, goals and constraints not derivable from the material itself."},fact:{label:"Fact",ambient:!1,hint:"A durable fact about their world — systems, teams, environments, conventions."},reference:{label:"Reference",ambient:!1,hint:"A pointer to something external — a URL, a dashboard, a ticket, a doc."}}),N=Object.freeze(Object.keys(k)),Y=Object.freeze(N.filter(e=>k[e].ambient)),S=280,M=3,F=200,C=1200;class $ extends Error{constructor(o){super(o),this.name="MemoryError"}}function R(e={},{now:o=0,newId:s=null}={}){const r=p(e.text);if(r.length<M)throw new $("a memory needs text");if(r.length>S)throw new $(`a memory must be at most ${S} characters — save longer material as a note`);const t=k[e.kind]?e.kind:"fact",a=Number(e.createdAt)||Number(o)||0;return{id:String(e.id||(s?s():"")||""),v:1,text:r,kind:t,scope:String(e.scope||"global"),key:b(r),slot:p(e.slot).toLowerCase()||U(r),tags:[...new Set((e.tags||[]).map(n=>p(n).toLowerCase()).filter(Boolean))].slice(0,8),pinned:!!e.pinned,source:{via:String(e.source?.via||"user"),surface:String(e.source?.surface||""),ref:String(e.source?.ref||""),agent:String(e.source?.agent||"")},confidence:ee(e.confidence==null?1:Number(e.confidence)),createdAt:a,updatedAt:Number(e.updatedAt)||a,usedAt:Number(e.usedAt)||0,useCount:Math.max(0,Math.floor(Number(e.useCount)||0)),expiresAt:e.expiresAt?Number(e.expiresAt):null,history:(e.history||[]).slice(-5).map(n=>({text:p(n.text),at:Number(n.at)||0}))}}function ne(e){try{return R(e,{now:e?.createdAt||1}),!!e?.id}catch{return!1}}function b(e){const o=p(e).toLowerCase().replace(/[^\p{L}\p{N}\s]/gu," ").split(/\s+/).filter(s=>s&&!z.has(s));return[...new Set(o)].sort().join(" ")}const z=new Set(["a","an","the","i","im","me","my","mine","we","our","us","you","your","is","am","are","was","were","be","been","being","do","does","did","to","of","in","on","at","for","with","and","or","that","this","it","please","always","usually","generally","really","just","very","so","remember","note","noting","user","prefer","prefers","preferred","like","likes"]);function U(e){const o=p(e).toLowerCase().replace(/^the\s+/,"");if(/^(?:goes by|name is|is called|called)\b/.test(o))return"name";if(/^pronouns\b/.test(o))return"pronouns";const s=/^(?:my\s+|their\s+)?([\p{L}\p{N}][\p{L}\p{N} '-]{0,28}?)\s+(?:is|are|was|were)\b/u.exec(o);if(!s)return"";const r=s[1].split(/\s+/).filter(t=>!z.has(t)).join(" ");return r.length>=3?r:""}function _(e,o){const s=new Set(b(e).split(" ").filter(Boolean)),r=new Set(b(o).split(" ").filter(Boolean));if(!s.size||!r.size)return 0;let t=0;for(const a of s)r.has(a)&&(t+=1);return t/(s.size+r.size-t)}function P(e,o){const s=new Set(b(e).split(" ").filter(Boolean)),r=new Set(b(o).split(" ").filter(Boolean));if(!s.size||!r.size)return 0;let t=0;for(const a of s)r.has(a)&&(t+=1);return t/Math.min(s.size,r.size)}const K=.8,V=[{re:/^(?:please\s+)?(?:remember|memorize|memorise)(?:\s+that|\s+this)?[:,]?\s+(.+)$/i,kind:"fact"},{re:/^(?:please\s+)?(?:keep in mind|bear in mind|don'?t forget|do not forget)(?:\s+that)?[:,]?\s+(.+)$/i,kind:"fact"},{re:/^(?:please\s+)?(?:make a note|note)(?:\s+that|\s+of)[:,]?\s+(.+)$/i,kind:"fact"},{re:/^(?:from now on|going forward|in future|in the future|henceforth)[:,]?\s+(.+)$/i,kind:"preference"},{re:/^(?:call me|i go by|refer to me as)\s+(.+)$/i,kind:"identity",rebuild:e=>`Goes by ${w(e[1])}`},{re:/^my name(?:'s| is)\s+(.+)$/i,kind:"identity",rebuild:e=>`Name is ${w(e[1])}`},{re:/^(?:always|never)\s+(.+)$/i,kind:"preference",rebuild:(e,o)=>O(o)}],j=/^(?:(?:no|nope|yes|yeah|yep|ok|okay|sure|well|and|also|just|so|oh|hey|actually|then|but)[,.!]?\s+){1,3}/i,B=/^(?:please\s+)?(?:remember|memorize|memorise|save|note|keep)\s+(?:it|this|that)(?:\s+(?:for me|please))?\s*[.!]*$/i,W=[{re:/^i (?:prefer|like|want|need)\s+(.+)$/i,kind:"preference",confidence:.7},{re:/^i (?:hate|dislike|don'?t like|do not like|can'?t stand)\s+(.+)$/i,kind:"preference",confidence:.7},{re:/^i(?:'m| am)(?: a| an| the)?\s+(.+)$/i,kind:"identity",confidence:.6},{re:/^i (?:work|working) (?:on|at|with)\s+(.+)$/i,kind:"project",confidence:.6},{re:/^i(?:'m| am) (?:working|building|writing) (?:on\s+)?(.+)$/i,kind:"project",confidence:.6},{re:/^(?:we|our team|my team) (?:use|uses|are using|run|runs|deploy|deploys)\s+(.+)$/i,kind:"fact",confidence:.6},{re:/^my (?:\w+\s){0,2}?(?:is|are)\s+(.+)$/i,kind:"fact",confidence:.55}],H=[/^(?:please\s+)?forget(?:\s+that|\s+about)?[:,]?\s+(.+)$/i,/^(?:please\s+)?(?:stop remembering|no longer remember|un-?remember)[:,]?\s+(.+)$/i],q=/(?:^|\s)(?:do|does|did|can|could|would|will|what|when|where|who|why|how|are|is)\s+(?:you|i|we|it)\b/i,G=/\b(?:can'?t|cannot|don'?t|do not|couldn'?t|never|didn'?t)\s+(?:seem to\s+)?(?:remember|recall|forget)\b/i;function re(e,{maxCandidates:o=3,includeReveals:s=!0,previous:r=""}={}){const t=[],n=String(e||"").replace(/```[\s\S]*?```/g," ").replace(/`[^`]*`/g," ");for(const i of L(n)){if(t.length>=o)break;if(i.length<M||G.test(i))continue;let m=!1;for(const l of H){const u=l.exec(i);if(!u)continue;const h=E(w(u[1]));h.length>=M&&(t.push({op:"forget",text:h,kind:"fact",confidence:1,explicit:!0,trigger:"forget"}),m=!0);break}if(m||q.test(i))continue;const d=i.replace(j,"");if(B.test(d)){const l=L(String(r||"").replace(/```[\s\S]*?```/g," ")).map(u=>u.trim()).find(u=>u.length>=M&&!B.test(u.replace(j,"")));l&&t.push({op:"remember",text:E(O(w(l))),kind:"fact",confidence:1,explicit:!0,trigger:"command"});continue}for(const{re:l,kind:u,rebuild:h}of V){const f=l.exec(d);if(!f)continue;const x=E(h?h(f,d):O(w(f[1])));x.length>=M&&(t.push({op:"remember",text:x,kind:u,confidence:1,explicit:!0,trigger:"command"}),m=!0);break}if(!(m||!s))for(const{re:l,kind:u,confidence:h}of W){if(!l.test(i))continue;const f=E(O(i));f.split(/\s+/).length>=3&&t.push({op:"remember",text:f,kind:u,confidence:h,explicit:!1,trigger:"reveal"});break}}return t.slice(0,o)}function oe(e,o,{now:s=0,newId:r=null}={}){const t=R(o,{now:s,newId:r}),a=(e||[]).filter(i=>i&&i.scope===t.scope),n=t.slot&&a.find(i=>i.slot===t.slot)||a.find(i=>i.key===t.key)||a.find(i=>i.kind===t.kind&&_(i.text,t.text)>=K);return n?p(n.text).toLowerCase()===t.text.toLowerCase()?{action:"duplicate",record:{...n,updatedAt:Number(s)||n.updatedAt,useCount:n.useCount+1},replaces:n}:{action:"update",record:{...n,text:t.text,key:t.key,slot:t.slot,kind:t.kind,tags:t.tags.length?t.tags:n.tags,confidence:t.confidence,source:t.source,updatedAt:Number(s)||n.updatedAt,history:[...n.history,{text:n.text,at:n.updatedAt}].slice(-5)},replaces:n}:{action:"create",record:t,replaces:null}}function se(e,o,{limit:s=5}={}){const r=p(o);if(!r)return[];const t=(e||[]).filter(n=>n.id===r);if(t.length)return t;const a=b(r);return(e||[]).map(n=>({m:n,s:n.key===a?1:Math.max(_(n.text,r),P(r,n.text))})).filter(n=>n.s>=.5).sort((n,i)=>i.s-n.s).slice(0,s).map(n=>n.m)}function ie(e,{text:o="",scopes:s=["global"],kinds:r=null,now:t=0,limit:a=24,maxChars:n=C,includeAmbient:i=!0,ambientKinds:m=Y}={}){const d=new Set(s.length?s:["global"]),l=new Set(b(o).split(" ").filter(Boolean)),h=(e||[]).filter(c=>c&&c.text).filter(c=>d.has(c.scope)).filter(c=>!r||r.includes(c.kind)).filter(c=>!c.expiresAt||!t||c.expiresAt>t).map(c=>{const A=new Set(c.key.split(" ").filter(Boolean));let v=0;for(const D of A)l.has(D)&&(v+=1);const g=A.size?v/A.size:0,y=i&&m.includes(c.kind)&&k[c.kind]?.ambient&&A.size<=X,I=t&&c.updatedAt?Math.max(0,1-(t-c.updatedAt)/J):0,T=Math.min(1,c.useCount/10);return{m:c,keep:c.pinned||y||g>0,score:(c.pinned?100:0)+(y?10:0)+g*8+I+T}}),f=[];let x=0;for(const{m:c,keep:A,score:v}of h.filter(g=>g.keep).sort((g,y)=>y.score-g.score)){if(f.length>=a)break;if(f.some(y=>Z(y,c)))continue;const g=c.text.length+c.kind.length+6;if(x+g>n&&f.length)break;x+=g,f.push(c)}return f}const X=14;function Z(e,o){const s=new Set(String(e?.key||"").split(" ").filter(Boolean)),r=new Set(String(o?.key||"").split(" ").filter(Boolean));if(!s.size||!r.size)return!1;const[t,a]=s.size<=r.size?[s,r]:[r,s];let n=0;for(const i of t)a.has(i)&&(n+=1);return n/t.size>=.7}const J=365*24*60*60*1e3;function ae(e,{heading:o="What you already know about this user",maxChars:s=C}={}){const r=(e||[]).filter(n=>n&&n.text);if(!r.length)return"";const t=[];let a=0;for(const n of r){const i=`- (${n.kind}) ${n.text}`;if(a+i.length>s&&t.length)break;a+=i.length+1,t.push(i)}return[`## ${o}`,"Saved by the user in ChatPanel and true across conversations, agents and devices.","Apply them without being asked and without announcing them.",...t,"If the user states something durable about themselves, their preferences or their work, save it with the `memory` tool. If they correct one of these, update it — do not just agree."].join(`
2
+ `)}function ce(e,o,{now:s=0}={}){const r=new Set(o||[]);return(e||[]).map(t=>r.has(t.id)?{...t,usedAt:Number(s)||t.usedAt,useCount:t.useCount+1}:t)}function le(e,{now:o=0,max:s=F}={}){const r=(e||[]).filter(Boolean),t=o?r.filter(i=>i.expiresAt&&i.expiresAt<=o):[];let a=t.length?r.filter(i=>!t.includes(i)):r;const n=[...t];if(a.length>s){const i=d=>(d.pinned?3:0)+(k[d.kind]?.ambient?1:0),m=[...a].sort((d,l)=>i(l)-i(d)||l.useCount-d.useCount||(l.usedAt||l.updatedAt)-(d.usedAt||d.updatedAt));n.push(...m.slice(s)),a=m.slice(0,s)}return{kept:a,dropped:n}}const de=Object.freeze({name:"memory",description:'Save, update or remove a durable fact about the USER in ChatPanel — carried into every future conversation, on every model and agent. Use it the moment they state a standing preference ("always be terse"), an identity fact ("call me Alex"), or a constraint about their work that will still be true next week. Do NOT use it for one-off task details, anything already obvious from the conversation, or content that belongs in a note. Keep each memory one short self-contained sentence. Use `forget` when the user says something is no longer true, and `list` to see what is already stored before adding.',parameters:{type:"object",properties:{action:{type:"string",enum:["remember","forget","list"],description:"What to do."},text:{type:"string",description:`The fact, as one short sentence written in the third person ("Prefers terse answers"). Max ${S} characters. Required for remember; for forget, the memory to drop (its text or id).`},kind:{type:"string",enum:N,description:N.map(e=>`${e}: ${k[e].hint}`).join(" ")},tags:{type:"array",items:{type:"string"},description:"Optional short tags for grouping."}},required:["action"]}});function ue(){return"`memory` saves something durable the user says about themselves, how they want to be helped, or their ongoing work — never task details or transient state — and you say in a short clause what you saved."}const Q=Object.freeze({});function fe(e){let o=e;for(let s=Number(o?.v)||1;s<1;s+=1){const r=Q[s];if(!r)throw new $(`no upcaster from memory v${s}`);o=r(o)}return o}const p=e=>String(e??"").replace(/\s+/g," ").trim(),ee=e=>Number.isFinite(e)?Math.min(1,Math.max(0,e)):1,w=e=>p(e).replace(/[.,;:!]+$/,""),E=e=>e.length>S?`${e.slice(0,S-1).trimEnd()}…`:e,O=e=>{const o=w(e);return o&&o[0].toUpperCase()+o.slice(1)};function L(e){return String(e||"").split(/\n+/).flatMap(o=>p(o).replace(/^[-*+•]\s*|^\d+[.)]\s*/,"").split(/(?<=[.!?])\s+(?=[A-Z"'])/)).map(p).filter(Boolean)}export{Y as AMBIENT_KINDS,X as AMBIENT_MAX_WORDS,C as DEFAULT_BLOCK_CHARS,F as DEFAULT_MAX_MEMORIES,S as MAX_MEMORY_CHARS,k as MEMORY_KINDS,N as MEMORY_KIND_NAMES,de as MEMORY_TOOL_SPEC,Q as MEMORY_UPCASTERS,te as MEMORY_VERSION,M as MIN_MEMORY_CHARS,$ as MemoryError,K as SAME_FACT,re as candidatesFrom,P as containment,ne as isValidMemory,ce as markUsed,se as matchForForget,ae as memoryBlock,b as memoryKey,ue as memoryToolSystem,R as normalizeMemory,le as pruneMemories,ie as recall,oe as reconcile,Z as sameMemory,_ as similarity,U as slotOf,fe as upcastMemory};