@standards/schema 1.0.0-alpha.408 → 1.0.0-alpha.410
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/all-B606hHr3.mjs +2 -0
- package/dist/{all-CYfzNNTD.d.ts → all-B802p9b-.d.mts} +12 -10
- package/dist/all-C-dQf23e.js +2 -0
- package/dist/{all-1spF7ByM.d.mts → all-CbM6xRtw.d.ts} +12 -10
- package/dist/api/index.d.mts +430 -31
- package/dist/api/index.d.ts +430 -31
- package/dist/api/index.js +1 -1
- package/dist/api/index.mjs +1 -1
- package/dist/{attributes-CB6EJyu2.d.mts → attributes-BgPCTw3y.d.mts} +1 -1
- package/dist/{attributes-DPwwMMgq.d.ts → attributes-D4nvUmw6.d.ts} +1 -1
- package/dist/{checkbox-B6TumdR6.d.mts → checkbox-D11vN4kY.d.mts} +2 -2
- package/dist/{checkbox-M5L3PYDZ.d.ts → checkbox-DSAorFpa.d.ts} +2 -2
- package/dist/{config-BWgga8mu.js → config-YSw2jzWj.js} +1 -1
- package/dist/{config-BwshhFai.mjs → config-iUwnquKr.mjs} +1 -1
- package/dist/{date-D5D3aP1p.d.ts → date-C29k_cah.d.ts} +2 -2
- package/dist/{date-DM0ExRcF.d.mts → date-CtZVrU3Z.d.mts} +2 -2
- package/dist/{exceptions-BlKiQcvh.d.ts → exceptions-CmMd5DGH.d.mts} +12 -0
- package/dist/{exceptions-BlKiQcvh.d.mts → exceptions-CmMd5DGH.d.ts} +12 -0
- package/dist/exceptions.d.mts +1 -1
- package/dist/exceptions.d.ts +1 -1
- package/dist/exceptions.js +1 -1
- package/dist/exceptions.mjs +1 -1
- package/dist/{index-CXyPgHS_.d.mts → index-B6XCKKgD.d.mts} +1 -1
- package/dist/{index-CkNJkuYX.d.ts → index-BDMlzqIt.d.ts} +3 -3
- package/dist/{index-Ba5hViTX.d.ts → index-CCt_hCgK.d.ts} +1 -1
- package/dist/{index-ChyZg9Dl.d.ts → index-CFSSj05K.d.ts} +3 -2
- package/dist/{index-DfaotFfW.d.mts → index-Ckbiu3d9.d.mts} +3 -3
- package/dist/{index-CIS58KNs.d.mts → index-CpWy2-oS.d.mts} +3 -2
- package/dist/{index-DfIVNu-r.d.mts → index-DeUkwS45.d.mts} +274 -13
- package/dist/{index-kIe8V1Oz.d.ts → index-ayjc-chp.d.ts} +274 -13
- package/dist/index.d.mts +10 -10
- package/dist/index.d.ts +10 -10
- package/dist/index.js +1 -1
- package/dist/index.mjs +1 -1
- package/dist/{number-CIP0eOB9.d.ts → number-BGpvOweC.d.ts} +2 -2
- package/dist/{number-BulsVlZX.d.mts → number-g88uoxhJ.d.mts} +2 -2
- package/dist/{objects-B07Ix6br.d.ts → objects-Bt5C4BNO.d.ts} +33 -3
- package/dist/{objects-Cvc21DHf.d.mts → objects-Ddi_zEYp.d.mts} +33 -3
- package/dist/{primitives-D9A6pmXV.mjs → primitives-BCJLtpaI.mjs} +1 -1
- package/dist/{primitives-BBtVhLdq.js → primitives-CVbrjJ24.js} +1 -1
- package/dist/record-aggregates-Cl_62tuW.mjs +2 -0
- package/dist/record-aggregates-eFfvQOzG.js +2 -0
- package/dist/record-operation-CyVr9RBO.js +2 -0
- package/dist/record-operation-prlqtHAm.mjs +2 -0
- package/dist/{text-BsEjIQsm.d.ts → text-CMMMIBIT.d.ts} +2 -2
- package/dist/{text-9dEmwy7y.d.mts → text-Dyxn_QlR.d.mts} +2 -2
- package/dist/{utils-5JI2a7Qr.d.ts → utils-Du85J1nY.d.ts} +1 -1
- package/dist/{utils-Vep_JDSS.d.mts → utils-mBdW0zGZ.d.mts} +1 -1
- package/dist/utils.d.mts +1 -1
- package/dist/utils.d.ts +1 -1
- package/dist/validation/all.d.mts +4 -4
- package/dist/validation/all.d.ts +4 -4
- package/dist/validation/all.js +1 -1
- package/dist/validation/all.mjs +1 -1
- package/dist/validation/complex/currency.d.mts +2 -2
- package/dist/validation/complex/currency.d.ts +2 -2
- package/dist/validation/complex/location.d.mts +2 -2
- package/dist/validation/complex/location.d.ts +2 -2
- package/dist/validation/complex/phone.d.mts +2 -2
- package/dist/validation/complex/phone.d.ts +2 -2
- package/dist/validation/complex/relation.d.mts +2 -2
- package/dist/validation/complex/relation.d.ts +2 -2
- package/dist/validation/complex/richtext.d.mts +2 -2
- package/dist/validation/complex/richtext.d.ts +2 -2
- package/dist/validation/complex/select.d.mts +2 -2
- package/dist/validation/complex/select.d.ts +2 -2
- package/dist/validation/complex/user.d.mts +2 -2
- package/dist/validation/complex/user.d.ts +2 -2
- package/dist/validation/computed/formula.d.mts +2 -2
- package/dist/validation/computed/formula.d.ts +2 -2
- package/dist/validation/computed/rollup.d.mts +2 -2
- package/dist/validation/computed/rollup.d.ts +2 -2
- package/dist/validation/config/index.d.mts +1 -1
- package/dist/validation/config/index.d.ts +1 -1
- package/dist/validation/config/index.js +1 -1
- package/dist/validation/config/index.mjs +1 -1
- package/dist/validation/core/index.d.mts +1 -1
- package/dist/validation/core/index.d.ts +1 -1
- package/dist/validation/object/index.d.mts +1 -1
- package/dist/validation/object/index.d.ts +1 -1
- package/dist/validation/primitives/checkbox.d.mts +1 -1
- package/dist/validation/primitives/checkbox.d.ts +1 -1
- package/dist/validation/primitives/date.d.mts +1 -1
- package/dist/validation/primitives/date.d.ts +1 -1
- package/dist/validation/primitives/number.d.mts +1 -1
- package/dist/validation/primitives/number.d.ts +1 -1
- package/dist/validation/primitives/text.d.mts +1 -1
- package/dist/validation/primitives/text.d.ts +1 -1
- package/package.json +2 -2
- package/dist/all-BNOv4MuC.js +0 -2
- package/dist/all-Bzzltedd.mjs +0 -2
- package/dist/record-aggregates-Bhi1lCSm.js +0 -2
- package/dist/record-aggregates-DEBOOgA0.mjs +0 -2
- package/dist/record-operation-BLq2emrx.js +0 -2
- package/dist/record-operation-DK20jPvI.mjs +0 -2
package/dist/index.mjs
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
/*! © 2025-2026 AND YOU CREATE SAS (RCS Paris 940 190 614). Proprietary — see LICENSE (Standards SDK License 1.0). */
|
|
2
|
-
import{ACTIONABLE_DECISION_KINDS as e,AGGREGATE_BUCKETS as t,AGGREGATE_MEASURES as n,DECISION_INBOX_STATES as r,DECISION_KINDS as i,DECISION_LINE_MAX_LENGTH as a,DECISION_LINK_TARGET_TYPES as o,DECISION_LIST_STATES as s,DECISION_READ_STATES as c,DECISION_SETTINGS_AREAS as l,DECISION_TITLE_MAX_LENGTH as u,DECISION_TYPES_V1 as d,DECISION_TYPE_ACCESS_GRANTED as f,DECISION_TYPE_AGENT_APPROVAL as p,DECISION_TYPE_AGENT_MESSAGE as m,DECISION_TYPE_AGENT_QUESTION as ee,DECISION_TYPE_AGENT_REVIEW as te,DECISION_TYPE_AGENT_ROUTINE_RUN_FAILED as ne,DECISION_TYPE_AGENT_SETUP as re,DECISION_TYPE_CONNECTOR_CONNECTION_ERROR as ie,DECISION_TYPE_CONNECTOR_CONNECTION_REAUTH_REQUIRED as ae,DECISION_TYPE_ENVIRONMENT_BUILD_FAILED as oe,DECISION_TYPE_KINDS as h,DECISION_TYPE_PERSON as se,DECISION_TYPE_RECORD_ASSIGNED as ce,DECISION_TYPE_RECORD_MENTIONED as le,DECISION_WORK_STATES as ue,MAX_AGGREGATE_GROUPS as de,decisionThreadKey as fe,formatDecisionLink as pe,isActionableDecisionKind as me,parseDecisionLink as he}from"./record-aggregates-DEBOOgA0.mjs";import{AGENDA_BLOCK as g,ARTIFACT_PREVIEW_EXTENSION as ge,ATTRIBUTE_FILTER_OPERATORS as _e,ATTRIBUTE_TYPES as ve,BLOCK_CONTEXTS as ye,BLOCK_PERIODS as be,BLOCK_WIDTHS as _,CARD_BLOCK as v,CHART_BLOCK as y,CHART_KINDS as xe,CONTENT_PLACEMENT_CONTEXTS as Se,DECISIONS_BLOCK as Ce,DEFAULT_LAYOUT_TRAITS as we,GROUPABLE_ATTRIBUTE_TYPES as Te,HEADING_BLOCK as Ee,INVENTORY_LIMIT as De,LOCATION_FILTER_PROPERTIES as Oe,MAILBOX_BLOCK as ke,MEASURABLE_ATTRIBUTE_TYPES as Ae,MEETINGS_UPCOMING_BLOCK as je,METRIC_BLOCK as b,NATIVE_BLOCKS as Me,NO_VALUE_OPERATORS as Ne,OPERATORS_BY_TYPE as Pe,PAGE_GRID_COLUMNS as Fe,QUALIFIED_SEPARATOR as Ie,QUERY_OBJECT as Le,RECORD_LINKS_BLOCK as Re,RECORD_LINKS_CONTENT as x,RECORD_OBJECT as ze,RELATION_TARGET_ANY as Be,REMOVED_OPERATOR_REPLACEMENTS as Ve,RecordQuery as He,SYNONYM_ALIASES as Ue,SYSTEM_ATTRIBUTES as We,SYSTEM_ATTRIBUTE_I18N_KEYS as Ge,SYSTEM_FILTER_ATTRIBUTE_TYPES as Ke,TEXT_BLOCK as S,attributeFilterTarget as qe,attributeInventory as Je,blockObjectInputs as Ye,buildQualifiedAttribute as Xe,canonicalizeFilterValue as Ze,capped as Qe,collectContentViewCatalogue as $e,collectQualifiedRuleIssues as et,collectionContentSourceSchema as tt,collectionSourceAddress as nt,collectionSourceAddressOf as rt,columnsSchema as it,contentExtensionRegistry as C,contentReadObjects as at,contentViewDefinitionSchema as w,contentViewDefinitionSchemaFor as ot,currentActor as st,defineBlock as ct,describeViewIssue as lt,displayAttributesSchema as ut,draftContentViewDefinitionSchema as dt,draftContentViewDefinitionSchemaFor as ft,edgePropertyFilterTarget as pt,extractCurrencyFilterValue as mt,extractFilterValue as ht,filterOperatorsOfType as gt,filterStateSchema as _t,filterTargetsOf as vt,findGridViolation as yt,findGroupViolation as bt,findLayoutRuleViolation as xt,findRelationAttribute as St,findRowLimitViolation as Ct,getAttributeCapabilities as wt,getAttributeFilterOperators as Tt,getOperatorPolarity as Et,getRollupFilterOperators as Dt,getSystemAttributeI18nKey as Ot,getSystemAttributeList as kt,gridPositionSchema as At,groupSizeMessage as jt,groupedMembers as Mt,inferInverseCardinality as Nt,input as Pt,invalidViewMessage as Ft,isAttributeFilterable as It,isAttributeGroupable as Lt,isAttributeKanbanGroupable as Rt,isAttributeSearchable as zt,isAttributeSortable as Bt,isBilateralRelation as Vt,isCalendarDay as Ht,isCollectionContent as Ut,isDynamicValue as Wt,isLocationFilterProperty as Gt,isLocationPartOperator as Kt,isManagedSystemAttribute as qt,isNoValueOperator as Jt,isRelativeDateValue as Yt,isSetMembershipOperator as Xt,isUniversalRelation as Zt,layoutTraitsOf as Qt,locationPartFilterTarget as $t,memberlessGroups as en,metricComparePeriod as tn,normalizeFilterRule as nn,normalizeForEdgeRpc as rn,normalizeOperator as an,now as on,overlaps as sn,pageTraitsOf as cn,parseBlockParameters as T,parseQualifiedAttribute as ln,publishedViewContentDefinitionSchema as E,query as un,recordQueryDefinitionSchema as dn,relationAcceptsObject as fn,relationTargetsOf as pn,requireContentPlacement as mn,requireRecordContentContext as hn,requireSingleRelationTarget as gn,resolveCollectionActions as _n,resolveContentNavigation as vn,resolveEffectiveFilterType as yn,resolveIsWithinBounds as bn,resolveUtcDayBounds as xn,singleRelationTarget as Sn,sortsSchema as Cn,sourcedAttributeOf as wn,systemColumnFilterTarget as Tn,toMultiValueOperator as En,toUtcDayString as Dn,today as On,validateContentViewCatalogue as kn,validateQualifiedRule as An,validateStoredViews as jn}from"./all-Bzzltedd.mjs";import{AccessDeniedError as Mn,AggregateValidationError as Nn,AmbiguousSchemaChangeError as Pn,AttributeInUseError as Fn,AttributeNotFoundError as In,ConcurrentModificationError as Ln,DuplicateError as D,ExportTooLargeError as Rn,ForbiddenError as zn,InvalidPermissionGrantError as Bn,LogoProviderUnavailableError as Vn,LogoSearchRateLimitedError as Hn,MemoryNotFoundError as Un,NotFoundError as Wn,NotImplementedError as Gn,ObjectNotFoundError as Kn,ObjectReferencedError as qn,OrphanSystemAttributeError as Jn,PageReferencedError as Yn,ProtectedResourceError as Xn,ProtectedRoleError as Zn,QueryTimeoutError as Qn,RealtimeDeliveryError as $n,RealtimeRateLimitedError as er,RealtimeSubscriptionError as tr,RecordNotFoundError as nr,RecordReferencedError as rr,RepositoryError as ir,ReservedObjectNameError as O,RoleNotFoundError as ar,SchemaError as k,SchemaErrorCode as A,SearchBackendError as or,SearchPathNotIndexedError as sr,StorageError as cr,SyncCascadeError as lr,SyncConflictError as ur,SyncError as dr,SystemEntityImmutableError as fr,ToolGroupGrantError as pr,ValidationError as j,WorkspaceInvariantReason as mr,isAttributeInUseError as hr,isNotFoundError as gr,isObjectReferencedError as _r,isProtectedResourceError as vr,isRecordReferencedError as yr,isSchemaError as br,isValidationError as xr}from"./exceptions.mjs";import{ACCESS_LEVELS as Sr,ACCESS_ROLES as Cr,AGENT_ASIDE_ANSWER_MAX_LENGTH as wr,AGENT_ASIDE_HISTORY_LIMIT as Tr,AGENT_ASIDE_QUESTION_MAX_LENGTH as Er,AGENT_AVATAR_EXPRESSIONS as Dr,AGENT_AVATAR_TYPES as Or,AGENT_MESSAGE_KIND as kr,AGENT_NOTIFICATION_KIND as Ar,AGENT_SESSION_ACCESS_ROLES as jr,AGENT_SESSION_LIST_ORDERS as Mr,AGENT_SESSION_ORIGINS as Nr,AGENT_SESSION_PROVENANCES as Pr,AGENT_STARTERS_MAX as Fr,AGENT_STARTER_MAX_LENGTH as Ir,AGENT_SYSTEM_PROMPT_MAX_LENGTH as Lr,AGENT_TASK_KINDS as Rr,ALL_CATALOG_TOOL_NAMES as zr,ALWAYS_KINDS as Br,APPROVAL_FAMILY_TOOL_NAMES as Vr,ARCHITECT_PUBLICATION_KIND as Hr,ASK_QUESTIONS_ANSWER_MAX_LENGTH as Ur,ASK_QUESTIONS_ANSWER_MAX_VALUES as Wr,ASK_QUESTIONS_MAX_BATCH as Gr,ASK_QUESTIONS_TOOL_NAME as Kr,AUDIT_ACTIONS as qr,AUDIT_AGENT_SESSION_METADATA_KEY as Jr,AUDIT_RESOURCE_TYPES as Yr,AgentBuilder as M,BROWSER_LAUNCH_TOOL_NAME as Xr,BROWSER_TOOL_NAMES as Zr,BUNDLE_LOCALES as Qr,CONNECTION_GRANT_PROVIDERS as $r,CONTINUATION_KEY_PATTERN as ei,CONVERSATION_SURFACES as ti,COPY_VERB_NAME as ni,CORE_RECORD_TOOL_NAMES as ri,CORE_TOOL_NAMES as ii,COUNT_MODES as ai,DEFAULT_AGENT_EXECUTION_CONFIG as oi,DEFAULT_AGENT_TOOL_GROUPS as si,DEFAULT_APPROVAL_POLICY as ci,DEFAULT_BLUEPRINT_TOOL_GROUPS as li,DEFAULT_DAILY_ACTIVITY_DAYS as ui,DEFAULT_MEETING_BOT_DISPLAY_NAME as di,DEFAULT_TENANT_SETTINGS as fi,DISCARD_ARCHITECT_DRAFT_TOOL_NAME as pi,DOCUMENT_SORT_MODES as mi,DRAFT_WRITE_TOOL_NAMES as hi,EMAIL_CATEGORY_DEFAULT_COLOR as gi,EMAIL_CATEGORY_DEFAULT_ICON as _i,EMAIL_CATEGORY_DESCRIPTION_MAX as vi,EMAIL_CATEGORY_DESCRIPTION_MIN as yi,EMAIL_CATEGORY_LIMIT as bi,EMAIL_CATEGORY_NAME_MAX as xi,ENVIRONMENT_BUILD_LOG_STEP_PREFIX as Si,ENVIRONMENT_HARNESSES as Ci,ENVIRONMENT_HARNESS_SANDBOX_WORKDIR as wi,ENVIRONMENT_HARNESS_WORKDIR as Ti,ENVIRONMENT_IMAGES as Ei,ENVIRONMENT_MEMORY_GB_PER_VCPU as Di,ENVIRONMENT_NAME_MAX_CHARS as Oi,ENVIRONMENT_NETWORK_ALLOW_MAX as ki,ENVIRONMENT_SCRIPT_MAX_BYTES as Ai,ENVIRONMENT_SIZES as ji,ENVIRONMENT_SIZE_VCPUS as Mi,ENVIRONMENT_STANDARDS_WORKDIR as Ni,ENV_VAR_KEY_PATTERN as Pi,ESTIMATED_COUNT_CAP as Fi,FILE_URLS_MAX_IDS as Ii,GET_ARCHITECT_DRAFT_TOOL_NAME as Li,GITHUB_TRIGGER_CATALOG as Ri,GRANT_ENABLES as zi,HITL_TOOL_NAMES as Bi,INFERENCE_REASONING_OPTIONS as Vi,INFERENCE_ROUTING_MODES as Hi,INFERENCE_SPEEDS as Ui,LAST_RUN_ERROR_MAX_LENGTH as Wi,MAILBOX_LIST_MODES as Gi,MAIL_DRAFT_BODY_MAX_CHARS as Ki,MAIL_SIGNATURE_MAX_CHARS as qi,MAIL_SUBJECT_MAX_CHARS as Ji,MAX_DAILY_ACTIVITY_DAYS as Yi,MAX_TODOS as Xi,MAX_TODO_DESCRIPTION_CHARS as Zi,MAX_TODO_ID_CHARS as Qi,MCP_SERVER_NAME_MAX_LENGTH as $i,MEETING_BOT_IMAGE as ea,MEETING_BOT_IMAGE_BASE64_MAX_LENGTH as ta,MEETING_RESPONSES as na,MEMORY_SPEND_LIMIT_PATTERN as ra,McpOAuthCompletionMode as ia,NATIVE_TOOL_GROUPS as aa,NATIVE_TOOL_GROUP_CATALOG as oa,NO_RECORDING as sa,OPEN_TOOL_PART_STATES as ca,OPERATION_MAX_STEPS as la,PROVIDER_DRAFT_LABEL as ua,PROVIDER_NAMES as da,PUBLIC_MAIL_DOMAINS as fa,QUESTION_FAMILY_TOOL_NAMES as pa,RECENT_ACTIVITY_LEDGER_LIMIT as ma,RECIPIENT_IDENTITIES_MAX as ha,RECORDING_OVERRIDES as ga,RECORDING_POLICIES as _a,RECORD_ACCESS_ROLES as va,RECORD_ACCESS_SOURCES as ya,RECORD_DRIVE_CURSOR_MAX_LENGTH as ba,RECORD_DRIVE_PAGE_DEFAULT_LIMIT as xa,RECORD_DRIVE_PAGE_MAX_LIMIT as Sa,RECORD_GRAPH_DEFAULT_LIMIT_PER_NODE as Ca,RECORD_GRAPH_MAX_LIMIT_PER_NODE as wa,RECORD_GRAPH_MAX_NODES as Ta,RECORD_IMAGE_MAX_BYTES as Ea,REPLY_MODES as Da,REQUEST_DESIGN_REVIEW_TOOL_NAME as Oa,REQUEST_SETUP_TOOL_NAME as ka,RESOURCE_GRANT_KINDS as Aa,RESOURCE_KIND_CATALOG as ja,ROUTING_PRICE_CEILINGS as Ma,SEND_VERB_NAME as Na,SESSION_INFERENCE_PATCH_KEYS as Pa,SLACK_TRIGGER_CATALOG as Fa,SPEAKS_THROUGH_SEND_METADATA_KEY as Ia,SURFACE_TOOL_NAMES as La,SYSTEM_EMAIL_CATEGORIES as Ra,SYSTEM_EMAIL_CATEGORY_NAMES as za,SYSTEM_PART_CODES as Ba,TASK_DEMAND_LEVELS as Va,TODO_PHASES as Ha,TODO_PLAN_STATUSES as Ua,TODO_STATUSES as Wa,TOOL_APPROVAL_STATES as Ga,TRIAGE_ACTIONS as Ka,TRIGGER_EVENT_TYPES as qa,TURN_OUTCOMES as Ja,UNSHAREABLE_OBJECT_NAMES as Ya,USERS_RESOLVE_MAX_IDS as Xa,USER_STATUSES as Za,USER_WORK_POSTURES as Qa,VERB_NAMES as $a,agent as eo,agentAvatarFromMetadata as to,agentAvatarSchema as no,agentDataChunk as ro,agentDisplayName as io,agentInferencePreferencesSchema as ao,agentMessageAttachmentSchema as oo,agentMessagePartSchema as so,agentScheduleSchema as co,agentSessionInferenceOverridesInputSchema as lo,agentSessionInferenceOverridesSchema as uo,agentSessionMessageSchema as fo,agentStartersSchema as po,agentTriggerBaseSchema as mo,agentTriggerPatchSchema as ho,agentTriggerSchema as go,agentUIValidationError as _o,artifactQuoteSchema as vo,askQuestionsOutputSchema as yo,assertCustomAgentUIMessageChunk as bo,assertSessionState as xo,canonicalToolGroups as So,classificationRestoreSchema as Co,classifyEmailSchema as wo,cliDefaultModelOf as To,compareAgentSessionMessages as Eo,compiledHarnessModels as Do,connectionGrantKindsOf as Oo,connectorTriggerMatchSchema as ko,customDataChunkSchemas as Ao,decodeAgentSessionListCursor as jo,deriveViewerAccess as Mo,durableDateSchema as No,emailCategoryCreateSchema as Po,emailCategoryDeleteSchema as Fo,emailCategoryScopeQuerySchema as Io,emailCategoryUpdateSchema as Lo,emailRuleScopeSchema as Ro,encodeAgentSessionListCursor as zo,environmentHarness as Bo,environmentWorkdir as Vo,findEnvironmentHarness as Ho,githubConditionSchema as Uo,githubTriggerMatchSchema as Wo,grantKindOf as Go,harnessModelChoices as Ko,humanRequestId as qo,humanRequestKind as Jo,imageModelIdSchema as Yo,inferenceReasoningSchema as Xo,inferenceRoutingSchema as Zo,inferenceSpeedSchema as Qo,isAgentMessageMetadata as $o,isAgentNotificationMetadata as es,isAgentUIDataName as ts,isAgentWrittenAuditEntry as ns,isArchitectPublicationMetadata as rs,isAwaitingHuman as is,isBlocking as as,isEnvironmentHarnessId as os,isMailProvider as ss,isMailboxListMode as cs,isNativeToolGroup as ls,isOpenToolPartState as us,isParkedOnHuman as ds,isProviderDraft as fs,isPublicMailDomain as ps,isQuestionPart as ms,isReplyMode as hs,isResourceGrant as gs,isRoutineActorMetadata as _s,isSessionInferencePatch as vs,isSystemEmailCategory as ys,isSystemEmailCategoryName as bs,isSystemPartCode as xs,isToolApprovalState as Ss,lockingSendCall as Cs,meetingBotDispatchRequestSchema as ws,meetingBotDispatchResponseSchema as Ts,meetingBotNotificationSchema as Es,meetingTranscriptSegmentSchema as Ds,mentionReferenceSchema as Os,mergeSessionInferencePatch as ks,modelDefinitionSchema as As,modelReferenceSchema as js,needsManageWhenUnattended as Ms,normalizedMeetingTranscriptSchema as Ns,openRequests as Ps,orderAgentSessionMessages as Fs,parseAgentDefinitionAccessRole as Is,parseAgentSessionAccessRole as Ls,parseCountMode as Rs,parseMergedAgentTrigger as zs,parseOptionalCountMode as Bs,parsePageAccessRole as Vs,parseRecordAccessRole as Hs,parseToolGroupGrant as Us,providerNameSchema as Ws,readAskQuestionsResult as Gs,recentActivityEntryKey as Ks,recordGraphNodeKey as qs,recordGraphRequestSchema as Js,recordMeetingsCount as Ys,recordOperationSchema as Xs,refineTrigger as Zs,resourceGrant as Qs,routedMessageInferenceSchema as $s,sessionInferencePatchSchema as ec,slackConditionSchema as tc,slackTriggerMatchSchema as nc,todoItemSchema as rc,todoPlanSchema as ic,toolImpactSchema as ac,utf8ByteLength as oc}from"./record-operation-DK20jPvI.mjs";import"./zod-locale.mjs";import{ATTRIBUTE_NAME_SCHEMA as sc,LIST_VIEW_TAB_VISIBILITIES as cc,NATIVE_OBJECT_NAMES as lc,OBJECT_NAME_SCHEMA as uc,RECORD_LIST_SCOPES as dc,RESERVED_ATTRIBUTE_NAMES as fc,RESERVED_OBJECT_NAMES as pc,RESOURCE_VISIBILITIES as mc,SCHEMA_LIMITS as N,SYSTEM_FIELD_NAMES as hc,assertUniqueBy as gc,colorIdSchema as _c,iconNameSchema as P,isNativeObjectName as vc,isPlainRecord as yc,parseRecordListScope as bc,parseResourceVisibility as xc,validateAttributeName as Sc,validateIconName as Cc,validateLabel as wc,validateObjectName as Tc,validateOptions as F,validateViewName as Ec}from"./primitives-D9A6pmXV.mjs";import{COMPUTED_RETURN_TYPES as Dc,SIMPLE_PROPERTY_TYPES as Oc,WIRE_OFFERED_BASE_CONFIG as kc,WIRE_OMITTED_CONFIG_KEYS as Ac,attributeConfigSchemas as jc,datePrecisionIssues as Mc,getAttributeConfigSchema as Nc,getAttributeConfigWriteSchema as Pc,parseAttributeConfig as Fc,parseAttributeConfigForCreate as Ic,parseAttributeConfigForUpdate as Lc,propertyAttributeSchema as Rc,propertyAttributeWireSchema as zc,propertySchemaSchema as Bc,propertySchemaWireSchema as Vc,refuseForeignKeys as Hc,selectOptionWriteSchema as Uc,statusGroupSchema as Wc,statusOptionWriteSchema as Gc,wireHiddenTypeConfigMask as Kc,wireOmittedConfigKeysFor as qc,withoutUnknownOptionKeys as Jc}from"./config-BwshhFai.mjs";import{NonJsonValueError as Yc,asTenantId as Xc,asUserId as Zc,canonicalStringify as I,deepEqual as Qc,generateId as $c,indexBy as el,sameStableValue as tl,serializeCanonicalJson as nl,serializeStableJson as rl}from"./utils-DaejNWxh.mjs";import{createAttributeValidator as il,createFormAttributeValidator as al,createObjectValidator as ol,isEmptyValue as sl,isNullishOrEmptyString as cl,isValuePresent as ll,rejectUnknownAttributesOrThrow as ul,validateAttribute as dl,validateDraft as fl,validateDraftOrThrow as pl,validateObject as ml,validateObjectOrThrow as hl}from"./object-BF5y6bgs.mjs";import{TEXT_FORMAT_PATTERNS as gl,resolveTextPattern as _l}from"./text-BaxaZ5Vv.mjs";import{DEFAULT_VALIDATION_MESSAGES as vl,formatZodErrors as yl}from"./core-rKI7Q9_U.mjs";import{formatPhoneForDisplay as bl,getIso2 as xl,normalizeCountrylessPhoneNumber as Sl,normalizePhoneNumber as Cl}from"./phone-BGJea5sr.mjs";import*as L from"zod";import{colorIdFromString as wl,getCountryByIso2 as Tl,isValidCurrencyCode as El,isValidIso3 as Dl}from"@standards/constants";import{parsePhoneNumberFromString as Ol}from"libphonenumber-js";const kl=`__stndrdsNativeUiPartIds`,Al=1;function invalidNativePartIds(){throw new j(`Native agent UI part IDs metadata is invalid`,[])}function isPlainRecord$1(e){if(typeof e!=`object`||!e||Array.isArray(e))return!1;let t=Object.getPrototypeOf(e);return t===Object.prototype||t===null}function nativeAgentUIPartIdMetadataKey(e,t){if(e.type===`text`||e.type===`reasoning`)return`${e.type}:${t}`;if(e.type===`tool`)return`tool:${e.toolCallId}`}function parseNativeAgentUIPartIdsMetadata(e){let t=e.metadata?.[kl];isPlainRecord$1(t)||invalidNativePartIds(),(Object.keys(t).length!==2||t.schemaVersion!==1||!isPlainRecord$1(t.partIds))&&invalidNativePartIds();let n=new Map;for(let[t,r]of e.parts.entries()){let e=nativeAgentUIPartIdMetadataKey(r,t);if(!e||n.has(e)){e&&invalidNativePartIds();continue}n.set(e,r)}let r=Object.entries(t.partIds);r.length!==n.size&&invalidNativePartIds();let i=new Map,a={};for(let[e,t]of r){let r=n.get(e);r&&typeof t==`string`&&t.length>0||invalidNativePartIds();let o=i.get(t);o&&(r.type===`tool`||o!==r.type)&&invalidNativePartIds(),r.type===`tool`&&t!==r.toolCallId&&invalidNativePartIds(),i.set(t,r.type),a[e]=t}return a}const jl=`/v1/device-worker/channel`,Ml=262144,Nl=1e4,Pl=2e3,Fl=2e3,Il=2e4,Ll=4008,Rl={initialMs:1e3,maxMs:3e4};function deviceChannelUrl(e){let t=new URL(e);return`${t.protocol===`https:`?`wss:`:`ws:`}//${t.host}${jl}`}function computeRetryDelay(e,t,n){return Math.min(n.initialMs*2**e,n.maxMs)+Math.floor(t()*250)}function computeReconnectDelay(e,t=Math.random){return computeRetryDelay(e,t,Rl)}const zl=[`worker_disconnected`,`cancelled`,`timed_out`,`execution_failed`];var DeviceChannelProtocolError=class extends k{constructor(e){super(e,A.DEVICE_CHANNEL_PROTOCOL),this._tag=`DeviceChannelProtocolError`,this.name=`DeviceChannelProtocolError`}};const R={id:L.uuid(),leaseToken:L.string().min(1)},Bl=L.discriminatedUnion(`type`,[L.strictObject({type:L.literal(`authenticate`),credential:L.string().regex(/^Device \S+$/),protocol:L.number().int().positive().optional()}),L.strictObject({type:L.literal(`running`),...R}),L.strictObject({type:L.literal(`heartbeat`),...R}),L.strictObject({type:L.literal(`output`),...R,stdout:L.string().optional(),stderr:L.string().optional()}),L.strictObject({type:L.literal(`complete`),...R,result:L.strictObject({stdout:L.string().optional(),stderr:L.string().optional(),exitCode:L.number().int(),success:L.boolean(),errorCode:L.enum(zl).optional()})}),L.strictObject({type:L.literal(`pong`)})]),Vl=L.discriminatedUnion(`type`,[L.strictObject({type:L.literal(`ready`),device:L.strictObject({id:L.string(),name:L.string(),capability:L.enum([`shell`,`browser`])}),protocol:L.number().int().positive().optional()}),L.strictObject({type:L.literal(`command`),...R,kind:L.enum([`shell`,`browser`]),intent:L.string(),timeoutMs:L.number().int(),command:L.string().optional(),cwd:L.string().nullable().optional()}),L.strictObject({type:L.literal(`cancel`),id:L.uuid(),reason:L.enum([`cancelled`,`timed_out`,`revoked`])}),L.strictObject({type:L.literal(`reauthenticate`)}),L.strictObject({type:L.literal(`revoked`)}),L.strictObject({type:L.literal(`ping`)})]);function parseDeviceChannelFrame(e,t){let n;try{n=JSON.parse(t)}catch{throw new DeviceChannelProtocolError(`Frame is not JSON`)}let r=e.safeParse(n);if(!r.success)throw new DeviceChannelProtocolError(`Frame does not match the channel protocol`);return r.data}function parseWorkerFrame(e){return parseDeviceChannelFrame(Bl,e)}function parseServerFrame(e){return parseDeviceChannelFrame(Vl,e)}const Hl=5;function isFormDefinition(e){return typeof e==`object`&&!!e&&`slots`in e&&`steps`in e&&`name`in e&&typeof e.name==`string`&&Array.isArray(e.slots)&&Array.isArray(e.steps)}const z=[`relation`,`multiRelation`,`formula`,`rollup`,`document`,`richtext`,`user`];function isFormSlotFieldRef(e){return e.type===`slot`}function isFormFreeFieldRef(e){return e.type===`free`}function resolveFieldRequired(e){return e.readOnly===!0?!1:e.fieldRequired===void 0?e.slotMode===`create`&&e.attributeRequired===!0:e.fieldRequired}function getSlotFieldTargets(e){return e.additionalSlotIds?.length?[e.slotId,...e.additionalSlotIds]:[e.slotId]}function formFieldKey(e){return isFormSlotFieldRef(e)?`${e.slotId}.${e.attribute}`:`free.${e.attribute.name}`}function formFieldFlatKey(e){return isFormSlotFieldRef(e)?e.attribute:e.attribute.name}function readFormFieldValue(e,t){return e[formFieldKey(t)]??e[formFieldFlatKey(t)]}function isFormFieldsRow(e){return e.type===`fields`}function isFormHeadingRow(e){return e.type===`heading`}function isFormSeparatorRow(e){return e.type===`separator`}function isFormTextRow(e){return e.type===`text`}function resolvePropertyDefinitions(e){let t=e.properties;if(!t)return[];if(Array.isArray(t))return t;let n=t;return Array.isArray(n.definitions)?n.definitions:[]}function hasOptions(e){return e.type===`select`||e.type===`status`||e.type===`multiselect`}function schemaGroupKey(e){return`${e.kind}:${e.name}`}function refuse$2(e){throw new j(e,[{path:[`label`],message:e}])}function parseSchemaGroupPresentation(e){let t=e??{},n={};if(t.label!==void 0){let e=t.label;if(e===null)n.label=null;else if(typeof e!=`string`)refuse$2(`Label must be a string`);else{let t=e.trim();t.length===0&&refuse$2(`Label must not be empty`),t.length>N.labelLength&&refuse$2(`Label is too long (max ${N.labelLength} characters)`),n.label=t}}return n}const B=/^(?:core|bundle:.+)$/u;function parseSchemaOwner(e){if(e===null)return null;if(!B.test(e))throw new j(`Invalid schema owner "${e}"`,[]);return e}const Ul=16e3,Wl=3200,Gl=6400,Kl=16e3,ql=65536,Jl=15e3,Yl=1e4,Xl=5e3,Zl=`google/gemini-3.5-transcribe-live`,Ql={maxDurationMs:3e5,dailyDurationMs:36e5,monthlyDurationMs:72e6,tenantMonthlyBudgetMicrousd:5e7,globalMonthlyBudgetMicrousd:5e7,estimatedMicrousdPerSecond:150,reservationMultiplier:2},$l=[`web`,`presentation`,`document`,`spreadsheet`,`image`,`code`,`other`],eu=[`ephemeral`,`conversation`,`persistent`],tu=[`source`,`preview`,`entrypoint`,`asset`];var NoopGeocodingAdapter=class{async autocomplete(){return await Promise.resolve([])}async geocode(){return await Promise.resolve(null)}};const nu=6048e5,ru=36e5,iu=2592e6,au=6e4,ou=[`square`,`landscape`,`portrait`];function imageModelFormatDefect(e){if(e.formats.length===0)return`declares no output format`;for(let t of e.formats)if(e.requests[t]===void 0)return`declares the format "${t}" without a request`;for(let t of Object.keys(e.requests))if(!e.formats.includes(t))return`carries a request for the undeclared format "${t}"`}function declaredImageRequests(e){let t={};for(let n of e.formats){let r=e.requests[n];r!==void 0&&(t[n]=r)}return t}const su=[`storage.bytes`,`members.seats`,`data.live_records`];function computeByteMagnitude(e){if(e<=0)return{value:0,unitIndex:0};let t=1e3,n=Math.min(4,Math.floor(Math.log(e)/Math.log(t)));return{value:Number.parseFloat((e/t**n).toFixed(1)),unitIndex:n}}const cu=[`B`,`KB`,`MB`,`GB`,`TB`];function formatByteSize(e){let{value:t,unitIndex:n}=computeByteMagnitude(e);return`${t} ${cu[n]}`}const lu=Object.freeze([`text`,`number`,`checkbox`,`date`,`phone`,`currency`,`status`,`select`,`multiselect`,`location`]);function buildPropertySchema(e){let t=[];for(let n of e){let e=n.build();if(!lu.includes(e.type))throw Error(`Property type "${e.type}" is not supported in .qualifyWith()`);t.push(e)}return{definitions:t}}const uu=[`UPPER`,`LOWER`,`capitalize`,`trim`],du=[`prefix`,`suffix`,`wrap`,`default`],V=[...uu,...du],fu=/^\s*where\s*(?::(.*))?$/s,pu=`[A-Za-z_][A-Za-z0-9_]*`,mu=/^[^\s,()|{}="']+$/,hu=RegExp(`^(${pu})\\s*=\\s*(.*)$`),gu=RegExp(`^(${pu})\\s+in\\s*\\(([^()]*)\\)$`);function isWherePipe(e){return fu.test(e)}function parseWherePipe(e){let t=e.match(fu)?.[1]?.trim();if(!t)return null;let n=t.match(gu);if(n){let e=n[2].split(`,`).map(e=>e.trim());return e.every(e=>mu.test(e))?{property:n[1],values:e}:null}let r=t.match(hu);return r&&mu.test(r[2])?{property:r[1],values:[r[2]]}:null}const H=L.string().min(1,`labelExpression cannot be empty`).refine(e=>isLabelExpression(e),{message:`labelExpression must contain at least one {{ attribute }} interpolation`}).refine(e=>!/\{\{\s*\}\}/.test(e),{message:`labelExpression contains empty {{ }} interpolation`}).refine(e=>{let t=/(?<!\|)\|(?!\|)\s*(\w+)(?::[^|}]*)?/g,n;for(;(n=t.exec(e))!==null;){let e=n[1];if(!V.includes(e))return!1}return!0},{message:`Invalid pipe name. Valid pipes: ${V.join(`, `)}`});function validateLabelExpression(e){let t=H.safeParse(e);return t.success?{success:!0,attributes:extractAttributeNames(e)}:{success:!1,error:t.error.issues[0]?.message??`Invalid labelExpression`}}function applyPipe(e,t){let{name:n,args:r}=parsePipeExpression(t);switch(n){case`UPPER`:return e.toUpperCase();case`LOWER`:return e.toLowerCase();case`capitalize`:return e.replace(/(^|\s)\S/g,e=>e.toUpperCase());case`trim`:return e.trim();case`prefix`:return e?`${r[0]??``}${e}`:``;case`suffix`:return e?`${e}${r[0]??``}`:``;case`wrap`:return e?`${r[0]??``}${e}${r[1]??``}`:``;case`default`:return e||r[0]||``;default:return e}}function applyPipes(e,t){let n=e;for(let e of t)n=applyPipe(n,e);return n}function getValue(e,t){return t.split(`.`).reduce((e,t)=>{if(typeof e==`object`&&e)return e[t]},e)}const _u=`(Untitled)`;function parsePipeExpression(e){let t=e.match(/^(\w+)(?::(.*))?$/);if(!t)return{name:e,args:[]};let n=t[1],r=t[2];if(!r)return{name:n,args:[]};let i=[],a=/["']([^"']*?)["']/g,o;for(;(o=a.exec(r))!==null;)i.push(o[1]);return{name:n,args:i}}function*templateBlocks(e){let t=0;for(;t<e.length;){let n=e.indexOf(`{{`,t);if(n<0)return;let r=e.indexOf(`}`,n+2);if(r<0)return;if(e[r+1]!==`}`){t=r+1;continue}t=r+2;let i=e.slice(n+2,r);i.length>0&&(yield{start:n,end:t,expr:i})}}function resolveLabelBlock(e,t){let n=e.split(`||`).map(e=>e.trim()),r=n[n.length-1].split(`|`).map(e=>e.trim());n[n.length-1]=r[0];let i=r.slice(1).filter(Boolean),a=n.filter(Boolean),o=``;for(let e of a){let n=toText(getValue(t,e));if(n!==``){o=n;break}}return applyPipes(o,i)}function renderLabelExpression(e,t,n=_u){let r=[],i=0;for(let n of templateBlocks(e))r.push(e.slice(i,n.start),resolveLabelBlock(n.expr,t)),i=n.end;return r.push(e.slice(i)),r.join(``).trim()||n}function toText(e){if(e==null||typeof e==`function`)return``;if(typeof e!=`object`)return String(e);if(Array.isArray(e))return e.map(toText).filter(Boolean).join(`,`);let t=e.toString;return typeof t==`function`&&t!==Object.prototype.toString?String(e):``}function isLabelExpression(e){let t=0;for(;t<e.length;){let n=e.indexOf(`{{`,t);if(n<0)return!1;let r=e.indexOf(`}}`,n+2);if(r<0)return!1;if(e.slice(n+2,r).trim().length>0)return!0;t=r+2}return!1}function extractAttributePaths(e){let t=[];for(let n of templateBlocks(e)){let e=n.expr.trim();if(!e)continue;let r=e.split(`||`).map(e=>e.trim()),i=r[r.length-1];r[r.length-1]=i.split(`|`)[0].trim();for(let e of r)e&&!t.includes(e)&&t.push(e)}return t}function extractAttributeNames(e){let t=extractAttributePaths(e).map(e=>e.split(`.`)[0]).filter(e=>e.length>0);return[...new Set(t)]}const vu=/^\{\{\s*([a-zA-Z_][a-zA-Z0-9_]*)\s*\}\}$/;function getSingleAttributeFromExpression(e){let t=e.trim().match(vu);return t?t[1]:null}function getEditableLabelAttribute(e,t){let n=getSingleAttributeFromExpression(e);if(n===null)return null;let r=t.find(e=>e.name===n);return!r||r.type!==`text`||wt(r).authoring.readOnly?null:r}const yu=[{id:`data`,capabilities:[{id:`forms`,resources:[`forms`],levels:[{id:`fill`,add:[`read`]},{id:`edit`,add:[`create`,`update`,`delete`]},{id:`manage`,add:[`manage`]}]}]},{id:`structure`,capabilities:[{id:`schema`,resources:[`architect`],levels:[{id:`use`,add:[`read`]},{id:`edit`,add:[`create`,`update`,`delete`]}]},{id:`pages`,resources:[`pages`],levels:[{id:`read`,add:[`read`]},{id:`create`,add:[`create`,`update`,`delete`]}]}]},{id:`ai`,capabilities:[{id:`agents`,resources:[`agents`],levels:[{id:`chat`,add:[`read`]},{id:`build`,add:[`create`,`update`,`delete`]},{id:`manage`,add:[`manage`]}]},{id:`environments`,resources:[`environments`],levels:[{id:`use`,add:[`read`]},{id:`create`,add:[`create`]}]},{id:`browser-profiles`,resources:[`browser-profiles`],levels:[{id:`use`,add:[`create`]}]},{id:`private-secrets`,resources:[`private-secrets`],levels:[{id:`use`,add:[`create`]}]},{id:`routine-audiences`,resources:[`routine-audiences`],levels:[{id:`use`,add:[`create`]}]},{id:`supervision`,resources:[`supervision`],levels:[{id:`use`,add:[`create`]}]}]},{id:`files`,capabilities:[{id:`files`,resources:[`files`,`documents`],levels:[{id:`read`,add:[`read`]},{id:`edit`,add:[`create`,`update`]},{id:`full`,add:[`delete`]}]}]},{id:`team`,capabilities:[{id:`people`,resources:[`people`],levels:[{id:`view`,add:[`read`]},{id:`invite`,add:[`create`]},{id:`manage`,add:[`update`,`delete`]}]}]},{id:`integrations`,capabilities:[{id:`connectors`,resources:[`connectors`],levels:[{id:`use`,add:[`read`,`create`,`update`,`delete`]}]},{id:`api-keys`,resources:[`api-keys`],levels:[{id:`view`,add:[`read`]},{id:`manage`,add:[`create`,`delete`]}]},{id:`env-vars`,resources:[`env-vars`],levels:[{id:`view`,add:[`read`]},{id:`manage`,add:[`create`,`delete`]}]}]},{id:`administration`,capabilities:[{id:`settings`,resources:[`settings`],levels:[{id:`view`,add:[`read`]},{id:`manage`,add:[`update`,`delete`,`manage`]}]},{id:`audit`,resources:[`audit`],levels:[{id:`view`,add:[`read`]}]},{id:`billing`,resources:[`billing`],levels:[{id:`view`,add:[`read`]}]}]}],U=`none`,bu=`custom`,W={actions:[`read`,`create`,`update`,`delete`],purge:`manage`,levels:[{id:`read`,add:[`read`]},{id:`edit`,add:[`create`,`update`]},{id:`full`,add:[`delete`]}]},G=yu.flatMap(e=>e.capabilities),xu=G.flatMap(e=>e.resources),Su=new Map(G.flatMap(e=>e.resources.map(t=>[t,e])));function isCatalogResource(e){return Su.has(e)}function capabilityForResource(e){let t=Su.get(e);if(!t)throw new k(`Unknown catalog resource "${e}"`,A.INVARIANT_VIOLATION);return t}function sameActions(e,t){let n=new Set(e),r=new Set(t);return n.size===r.size&&[...n].every(e=>r.has(e))}function levelActions(e,t){let n=new Set;for(let r of e.levels){for(let e of r.add)n.add(e);if(r.id===t)return[...n]}return[]}function levelFloor(e,t){let n=e.levels[e.levels.length-1];if(t.includes(`*`)&&n)return n.id;let r=new Set(t),i=U;for(let t of e.levels){if(!t.add.every(e=>r.has(e)))break;i=t.id}return i}function levelOf(e,t){if(t.length===0)return U;let n=e.levels[e.levels.length-1];if(t.includes(`*`)&&n)return n.id;let r=new Set(t),i=new Set;for(let t of e.levels){for(let e of t.add)i.add(e);if(i.size===r.size&&[...r].every(e=>i.has(e)))return t.id}return bu}const Cu=[`read`,`create`,`update`,`delete`,`manage`],wu=L.object({scope:L.enum([`object`,`system`]),target:L.string().min(1),actions:L.array(L.enum(Cu))}).strict();function findGrantIssues(e,t){let n=[],r=new Map;for(let i of e){let e=wu.safeParse(i);if(!e.success){let e=typeof i==`object`&&i&&`target`in i?String(i.target):`?`;n.push({target:e,reason:`shape`});continue}let a=e.data;if(a.scope===`system`){if(!isCatalogResource(a.target)){n.push({target:a.target,reason:`unknown-resource`});continue}if(levelOf(capabilityForResource(a.target),a.actions)===`custom`){n.push({target:a.target,reason:`off-level`});continue}r.set(a.target,a.actions);continue}if(a.target!==`*`&&!t.objectNames.has(a.target)){n.push({target:a.target,reason:`unknown-object`});continue}let o=a.target===`*`?[...W.actions,W.purge]:W.actions;a.actions.every(e=>o.includes(e))||n.push({target:a.target,reason:`object-action`})}let i=new Set;for(let[e,t]of r){let a=capabilityForResource(e);if(!i.has(a)){for(let o of a.resources)if(!sameActions(t,r.get(o)??[])){n.push({target:e,reason:`split-capability`}),i.add(a);break}}}return n}const Tu=`memory`,Eu=4e3,Du=`workspace`,K={name:`name`,description:`description`,content:`content`,profileOf:`profileOf`,profileActor:`profileActor`,subjects:`subjects`,subjectId:`subjectId`};function textValue(e){return typeof e==`string`?e:``}function memoryPageViewOf(e){let{values:t}=e;return{id:e.id,name:textValue(t[K.name]),description:textValue(t[K.description]),content:textValue(t[K.content]),visibility:e.visibility,ownedBy:e.ownedBy,updatedAt:new Date(e.updatedAt).toISOString()}}const Ou=`@standards/schema`;function createStandardSchemaProps(e){return{version:1,vendor:Ou,validate:t=>{let n=e.safeParse(t);return n.success?{value:n.data}:{issues:n.error.issues.map(e=>({message:e.message,path:e.path}))}}}}function isStandardSchema(e){return typeof e==`object`&&!!e&&`~standard`in e&&typeof e[`~standard`]==`object`&&e[`~standard`].version===1}function asMutableArray(e){return e}var BaseAttributeBuilder=class{get"~standard"(){return createStandardSchemaProps(il(this.build()))}constructor(e,t,n){Sc(t),wc(n),this.attr={name:t,label:n,type:e,required:!1,system:!0}}setRequired(e){this.attr.required=e}asRequiredState(){return this}asPhantomState(){return this}runtime(){return this.attr.system=!1,this}hidden(){return this.attr.hidden=!0,this}placeholder(e){return this.attr.placeholder=e,this}description(e){return this.attr.description=e,this}icon(e){return Cc(e,`attribute "${this.attr.name}"`),this.attr.icon=e,this}order(e){return this.attr.order=e,this}defaultValue(e){return(`defaultValue`in this.attr||![`formula`,`rollup`].includes(this.attr.type))&&(this.attr.defaultValue=e),this}metadata(e){return this.attr.metadata=e,this}build(){return this.attr}},TextAttributeBuilder=class extends BaseAttributeBuilder{constructor(e,t){super(`text`,e,t)}minLength(e){return this.attr.minLength=e,this}maxLength(e){return this.attr.maxLength=e,this}pattern(e){return this.attr.pattern=e,this.attr.format=void 0,this}multiline(e=!0){return this.attr.multiline=e,this}required(){return this.setRequired(!0),this.asRequiredState()}optional(){return this.setRequired(!1),this.asRequiredState()}email(){return this.attr.format=`email`,this.attr.pattern=void 0,this}url(){return this.attr.format=`url`,this.attr.pattern=void 0,this}slug(){return this.attr.format=`slug`,this.attr.pattern=void 0,this}};function text(e,t){return new TextAttributeBuilder(e,t)}var RichtextAttributeBuilder=class extends BaseAttributeBuilder{constructor(e,t){super(`richtext`,e,t)}required(){return this.setRequired(!0),this.asRequiredState()}optional(){return this.setRequired(!1),this.asRequiredState()}};function richtext(e,t){return new RichtextAttributeBuilder(e,t)}var NumberAttributeBuilder=class extends BaseAttributeBuilder{constructor(e,t){super(`number`,e,t)}min(e){return this.attr.min=e,this}max(e){return this.attr.max=e,this}integer(){return this.attr.unit=`integer`,this.attr.decimals=0,this}decimal(e=2){return this.attr.unit=`decimal`,this.attr.decimals=e,this}percentage(){return this.attr.unit=`percentage`,this}renderAs(e){return this.attr.renderAs=e,this}required(){return this.setRequired(!0),this.asRequiredState()}optional(){return this.setRequired(!1),this.asRequiredState()}};function number(e,t){return new NumberAttributeBuilder(e,t)}var CheckboxAttributeBuilder=class extends BaseAttributeBuilder{constructor(e,t){super(`checkbox`,e,t)}required(){return this.setRequired(!0),this.asRequiredState()}optional(){return this.setRequired(!1),this.asRequiredState()}};function checkbox(e,t){return new CheckboxAttributeBuilder(e,t)}var DateAttributeBuilder=class extends BaseAttributeBuilder{constructor(e,t){super(`date`,e,t)}format(e){return this.attr.dateFormat=e,this}precision(e){return this.attr.precision=e,this}build(){let[e]=Mc(`date`,this.attr);if(e!==void 0)throw new j(e.message,[{path:[`precision`],message:e.message}]);return super.build()}minDate(e){return this.attr.minDate=e,this}maxDate(e){return this.attr.maxDate=e,this}endDate(){return this.attr.endDate=!0,this.asPhantomState()}includeTime(){return this.attr.includeTime=!0,this}timeFormat(e){return this.attr.timeFormat=e,this}required(){return this.setRequired(!0),this.asRequiredState()}optional(){return this.setRequired(!1),this.asRequiredState()}};function date(e,t){return new DateAttributeBuilder(e,t)}var PhoneAttributeBuilder=class extends BaseAttributeBuilder{constructor(e,t){super(`phone`,e,t)}defaultCountry(e){return this.attr.defaultCountryCode=e,this}required(){return this.setRequired(!0),this.asRequiredState()}optional(){return this.setRequired(!1),this.asRequiredState()}};function phone(e,t){return new PhoneAttributeBuilder(e,t)}var CurrencyAttributeBuilder=class extends BaseAttributeBuilder{constructor(e,t){super(`currency`,e,t)}defaultCurrency(e){return this.attr.defaultCurrency=e,this}allowedCurrencies(e){return this.attr.allowedCurrencies=e,this}allowNegative(e=!0){return this.attr.allowNegative=e,this}required(){return this.setRequired(!0),this.asRequiredState()}optional(){return this.setRequired(!1),this.asRequiredState()}};function currency(e,t){return new CurrencyAttributeBuilder(e,t)}var StatusAttributeBuilder=class extends BaseAttributeBuilder{constructor(e,t){super(`status`,e,t)}options(e){let t=asMutableArray(e);return F(this.attr.name??`unknown`,t),this.attr.options=t,this.asPhantomState()}option(e){this.attr.options||(this.attr.options=[]);let t=[...this.attr.options,e];return F(this.attr.name??`unknown`,t),this.attr.options.push(e),this}required(){return this.setRequired(!0),this.asRequiredState()}optional(){return this.setRequired(!1),this.asRequiredState()}};function status(e,t){return new StatusAttributeBuilder(e,t)}var SelectAttributeBuilder=class extends BaseAttributeBuilder{constructor(e,t){super(`select`,e,t)}options(e){let t=asMutableArray(e);return F(this.attr.name??`unknown`,t),this.attr.options=t,this.asPhantomState()}option(e){this.attr.options||(this.attr.options=[]);let t=[...this.attr.options,e];return F(this.attr.name??`unknown`,t),this.attr.options.push(e),this}renderAs(e){return this.attr.renderAs=e,this}required(){return this.setRequired(!0),this.asRequiredState()}optional(){return this.setRequired(!1),this.asRequiredState()}};function select(e,t){return new SelectAttributeBuilder(e,t)}var MultiselectAttributeBuilder=class extends BaseAttributeBuilder{constructor(e,t){super(`multiselect`,e,t)}options(e){let t=asMutableArray(e);return F(this.attr.name??`unknown`,t),this.attr.options=t,this.asPhantomState()}option(e){this.attr.options||(this.attr.options=[]);let t=[...this.attr.options,e];return F(this.attr.name??`unknown`,t),this.attr.options.push(e),this}renderAs(e){return this.attr.renderAs=e,this}required(){return this.setRequired(!0),this.asRequiredState()}optional(){return this.setRequired(!1),this.asRequiredState()}};function multiselect(e,t){return new MultiselectAttributeBuilder(e,t)}var LocationAttributeBuilder=class extends BaseAttributeBuilder{constructor(e,t){super(`location`,e,t)}granularity(e){return this.attr.granularity=e,this}defaultCountry(e){return this.attr.defaultCountry=e,this}allowedCountries(e){return this.attr.allowedCountries=e,this}required(){return this.setRequired(!0),this.asRequiredState()}optional(){return this.setRequired(!1),this.asRequiredState()}};function location(e,t){return new LocationAttributeBuilder(e,t)}var UserAttributeBuilder=class extends BaseAttributeBuilder{constructor(e,t){super(`user`,e,t),this.attr.types=[`user`,`agent`]}types(e){let t=[...new Set(e)];if(t.length===0)throw Error(`[AttributeBuilder] user.types must contain at least one type.`);return this.attr.types=t,this}multiple(){return this.attr.multiple=!0,this}notifiesOnAssign(){return this.attr.notifiesOnAssign=!0,this}actors(){return this.attr.actors=!0,this}required(){return this.setRequired(!0),this.asRequiredState()}optional(){return this.setRequired(!1),this.asRequiredState()}};function user(e,t){return new UserAttributeBuilder(e,t)}var BaseRelationAttributeBuilder=class extends BaseAttributeBuilder{to(e,t){let n={object:e,...t};return this.attr.targets?.push(n),this}toAny(){return this.attr.targets=[{object:`*`}],this}qualifyWith(...e){let t=this.attr.targets;if(!t||t.length===0)throw Error(`.qualifyWith() must be called AFTER .to(). Example: relation("companies", "Companies").to("companies").qualifyWith(...)`);return this.attr.properties=buildPropertySchema(e),this}bilateral(e){let t=this.attr.targets;if(!t||t.length===0)throw Error(`.bilateral() must be called AFTER .to(). Example: relation("company", "Company").to("companies").bilateral({ ... })`);if(t.length>1)throw Error(`Bilateral relations are not supported for polymorphic relations (multiple .to() targets).`);if(Zt(this.attr))throw Error(`Bilateral relations are not supported for universal relations (.toAny()).`);let n=t[0]?.object;if(!n)throw new j(`Bilateral relation requires one target object`,[{path:[`bilateral`,`object`],message:`Bilateral relation requires one target object`}]);if(e.object&&e.object!==n){let t=`Bilateral inverse object ${e.object} must match relation target ${n}`;throw new j(t,[{path:[`bilateral`,`object`],message:t}])}return this.attr.bilateral={...e,object:n},this}},SingleRelationAttributeBuilder=class extends BaseRelationAttributeBuilder{constructor(e,t){super(`relation`,e,t),this.attr.cardinality=`one`,this.attr.targets=[]}many(){let e=new MultiRelationAttributeBuilder(this.attr.name,this.attr.label??``,{targets:this.attr.targets,isRequired:this.attr.required});return this.attr.system===!1&&e.runtime(),this.attr.hidden&&e.hidden(),this.attr.placeholder&&e.placeholder(this.attr.placeholder),this.attr.description&&e.description(this.attr.description),this.attr.icon&&e.icon(this.attr.icon),this.attr.order!==void 0&&e.order(this.attr.order),this.attr.metadata&&e.metadata(this.attr.metadata),e}required(){return this.setRequired(!0),this.asRequiredState()}optional(){return this.setRequired(!1),this.asRequiredState()}},MultiRelationAttributeBuilder=class extends BaseRelationAttributeBuilder{constructor(e,t,n){super(`relation`,e,t),this.attr.cardinality=`many`,this.attr.targets=n?.targets??[],this.attr.defaultValue=[],n?.isRequired&&this.setRequired(!0)}maxItems(e){return this.attr.maxItems=e,this}required(){return this.setRequired(!0),this.asRequiredState()}optional(){return this.setRequired(!1),this.asRequiredState()}};function relation(e,t){return new SingleRelationAttributeBuilder(e,t)}var FormulaAttributeBuilder=class extends BaseAttributeBuilder{constructor(e,t){super(`formula`,e,t),this.attr.required=!1}expression(e){return this.attr.expression=e,this}returns(e){return this.attr.returnType=e,this}decimals(e){return this.attr.decimals=e,this}currency(e){return this.attr.currencyCode=e,this}required(){throw Error(`Formula attributes cannot be required: they are computed read-only values. Remove .required() from this attribute definition.`)}optional(){return this}};function formula(e,t){return new FormulaAttributeBuilder(e,t)}var RollupAttributeBuilder=class extends BaseAttributeBuilder{constructor(e,t){super(`rollup`,e,t),this.attr.required=!1}from(e){return this.attr.relationAttribute=e,this}aggregate(e){return this.attr.targetAttribute=e,this}using(e){return this.attr.function=e,this}decimals(e){return this.attr.decimals=e,this}path(e){return this.attr.relationPath=e,this}targetType(e){return this.attr.targetAttributeType=e,this}targetOptions(e){return this.attr.targetAttributeOptions=asMutableArray(e),this}targetCurrency(e){return this.attr.targetCurrencyCode=e,this}build(){let e=this.attr.function,t=this.attr.targetAttributeType;if(e===`original`&&t!==void 0&&t!==`select`&&t!==`status`&&t!==`multiselect`){let e=this.attr.relationAttribute??`relation`,n=this.attr.targetAttribute??`field`;throw new k(`Rollup "${this.attr.name}": .using("original") only supports a "select", "status", or "multiselect" target, but .targetType("${t}") was given. To surface a plain ${t} value from a related record, use a formula instead — e.g. formula("${this.attr.name}", "…").expression("${e}.${n}").`,A.VALIDATION_FAILED)}return super.build()}required(){throw Error(`Rollup attributes cannot be required: they are computed read-only values. Remove .required() from this attribute definition.`)}optional(){return this}};function rollup(e,t){return new RollupAttributeBuilder(e,t)}var DocumentAttributeBuilder=class extends BaseAttributeBuilder{constructor(e,t){super(`document`,e,t)}accepts(e){return this.attr.accepts=e,this}maxFileSize(e){return this.attr.maxFileSize=e,this}qualifyWith(...e){return this.attr.properties=buildPropertySchema(e),this}required(){return this.setRequired(!0),this.asRequiredState()}optional(){return this.setRequired(!1),this.asRequiredState()}};function document(e,t){return new DocumentAttributeBuilder(e,t)}const q=/^[a-z0-9][a-z0-9-]{0,62}$/,J=`core`;function assertBundleName(e){if(!q.test(e))throw new j(`Invalid bundle name "${e}": expected a lowercase slug matching ${q}`,[]);if(e===`core`)throw new j(`Bundle name "${J}" is reserved`,[])}async function sha256Hex(e){let t=await crypto.subtle.digest(`SHA-256`,new TextEncoder().encode(e));return Array.from(new Uint8Array(t),e=>e.toString(16).padStart(2,`0`)).join(``)}function nameSlug(e,t){return e.normalize(`NFKD`).replace(/\p{M}/gu,``).toLowerCase().replace(/[^a-z0-9]+/g,`_`).slice(0,t).replace(/^_+|_+$/g,``)}function cloneBuilderValue(e,t){try{return structuredClone(e)}catch{let e=`Builder configuration must contain cloneable data`;throw new j(e,[{path:t,message:e}])}}function requireBuilderName(e,t){if(typeof e!=`string`||e.trim().length===0)throw new j(`Name must not be blank`,[{path:t,message:`Name must not be blank`}])}function validateContentConfiguration(e,t){if(typeof e!=`object`||!e||Array.isArray(e))throw new j(`Invalid content configuration`,[{path:t,message:`Expected content configuration`}]);for(let n of[`name`,`label`,`placement`])if(Object.hasOwn(e,n)){let e=`Independent content configuration cannot define ${n}`;throw new j(e,[{path:[...t,n],message:e}])}let n=E.safeParse({...e,name:`content`,placement:e.type===`group`?`grid`:`main`});if(!n.success)throw j.fromZodErrors(n.error.issues.map(e=>({path:[...t,...e.path.map(String)],message:e.message})));n.data.type===`form`&&n.data.groups.forEach((e,n)=>requireBuilderName(e.name,[...t,`groups`,String(n),`name`]));let{name:r,label:i,placement:a,...o}=n.data;return cloneBuilderValue(o,t)}function validateLiteralContent(e,t){return validateContentConfiguration(e,t),cloneBuilderValue(e,t)}function positionOf(e){return{x:e.x,y:e.y,w:e.w,h:e.h}}function bottomOf(e){return e.y+e.h}function collides(e,t){return e.x<t.x+t.w&&t.x<e.x+e.w&&e.y<t.y+t.h&&t.y<e.y+e.h}function firstCollision(e,t){return t.find(t=>collides(e,t))}function inReadingOrder$1(e){return[...e].sort((e,t)=>e.y-t.y||e.x-t.x)}function snapWidth(e,t,n){let r=12-t,i=_.filter(e=>e>=n&&e<=r);return i.length===0?_.find(e=>e>=n)??n:i.reduce((t,n)=>{let r=Math.abs(n-e),i=Math.abs(t-e);return r<i||r===i&&n>t?n:t})}function sharesColumns(e,t){return e.x<t.x+t.w&&t.x<e.x+e.w}function risenRow(e,t){return t.reduce((t,n)=>n.y<e.y&&sharesColumns(e,n)?Math.max(t,bottomOf(n)):t,0)}function packLayout(e,t){let n=e.map(e=>{let n=t?.get(e.i);return n===void 0?e:{...e,h:n}}),r=n.filter(e=>e.static===!0),i=new Map(r.map(e=>[e.i,e]));for(let e of inReadingOrder$1(n.filter(e=>e.static!==!0))){let t=risenRow(e,r),n=firstCollision({...e,y:t},r);for(;n!==void 0;)t=bottomOf(n),n=firstCollision({...e,y:t},r);let a={...e,y:t};r.push(a),i.set(e.i,a)}return n.map(e=>i.get(e.i)??e)}function settleLayout(e,t){let n=e.filter(e=>e.static===!0),r=e.filter(e=>e.static!==!0),i=new Map;for(let e of[...inReadingOrder$1(r.filter(e=>t.has(e.i))),...inReadingOrder$1(r.filter(e=>!t.has(e.i)))]){let t=e,r=firstCollision(t,n);for(;r!==void 0;)t={...t,y:bottomOf(r)},r=firstCollision(t,n);n.push(t),i.set(e.i,t)}return packLayout(e.map(e=>i.get(e.i)??e))}function pageCompactor(){return{type:`vertical`,allowOverlap:!1,preventCollision:!1,compact:e=>packLayout(e).map(e=>({...e,moved:!1}))}}function clampHeight(e,t){let n=t.minHeight??1,r=t.maxHeight??1/0;return Math.max(1,n,Math.min(r,e))}function widthStepConstraint(e){return{name:`width-steps`,constrainSize:(t,n,r)=>{let i=e(t.i),a=snapWidth(n,t.x,i.minWidth);return i.height===`fit`?{w:a,h:t.h}:i.height===`flexible`?{w:a,h:clampHeight(r,i)}:{w:a,h:Math.max(1,r)}}}}function snapCell(e,t){let n=Math.max(0,Math.min(e.x,11)),r=snapWidth(e.w,n,t(e.i).minWidth);return{...e,x:Math.min(n,12-r),y:Math.max(0,e.y),w:r,h:Math.max(1,e.h)}}function samePosition(e,t){return e.x===t.x&&e.y===t.y&&e.w===t.w&&e.h===t.h}function pushApart(e){let t=e.filter(e=>e.static===!0),n=new Map;for(let r of inReadingOrder$1(e.filter(e=>e.static!==!0))){let e=r,i=firstCollision(e,t);for(;i!==void 0;){let n={...e,x:i.x+i.w};e=n.x+n.w<=12&&firstCollision(n,t)===void 0?n:{...e,y:bottomOf(i)},i=firstCollision(e,t)}t.push(e),n.set(r.i,e)}return e.map(e=>n.get(e.i)??e)}function isValidStatic(e){return[e.x,e.y,e.w,e.h].every(Number.isInteger)&&e.x>=0&&e.y>=0&&e.h>=1&&_.includes(e.w)&&e.x+e.w<=12}function keptStatics(e){let t=[],n=new Set;for(let r of inReadingOrder$1(e.filter(e=>e.static===!0)))isValidStatic(r)&&firstCollision(r,t)===void 0?t.push(r):n.add(r.i);return e.map(e=>n.has(e.i)?{...e,static:!1}:e)}function boundedHeight(e,t){let n=t(e.i);if(e.static===!0||n.height!==`flexible`)return e;let r=clampHeight(e.h,n);return r===e.h?e:{...e,h:r}}function repairPageGrid(e,t){let n=[],r=keptStatics(e).map(e=>{let r=boundedHeight(e,t);return r!==e&&n.push({name:e.i,kind:`height`,from:positionOf(e),to:positionOf(r)}),r}).map(e=>{if(e.static===!0)return e;let r=snapCell(e,t);return samePosition(e,r)||n.push({name:e.i,kind:`width`,from:positionOf(e),to:positionOf(r)}),r}),i=pushApart(r);i.forEach((e,t)=>{let i=r[t];i!==void 0&&!samePosition(i,e)&&n.push({name:e.i,kind:`pushed`,from:positionOf(i),to:positionOf(e)})});let a=packLayout(i),o=keptFill(a,t);for(let e of inReadingOrder$1(a))e.i!==o&&t(e.i).height===`fill`&&n.push({name:e.i,kind:`fill`});return{cells:a,repairs:n}}function keptFill(e,t){return inReadingOrder$1(e).find(e=>e.static!==!0&&t(e.i).height===`fill`)?.i}function firstFreeSlot(e,t,n){let r=t.reduce((e,t)=>Math.max(e,bottomOf(t)),0);for(let i=n;i<=r;i+=1)for(let n=0;n+e.w<=6;n+=1)if(firstCollision({x:n,y:i,...e},t)===void 0)return{x:n,y:i};return{x:0,y:r}}function deriveLayout6(e,t){let n=[];for(let r of inReadingOrder$1(e)){let e=Math.min(6,Math.max(t(r.i).minWidth,Math.ceil(r.w/2))),i=n.at(-1)?.y??0;n.push({i:r.i,...firstFreeSlot({w:e,h:r.h},n,i),w:e,h:r.h})}return n}function figureSlot(e,t,n){for(let r of inReadingOrder$1(e.filter(e=>n.has(e.i)))){let n={x:r.x+r.w,y:r.y,...t};if(n.x+n.w<=12&&firstCollision(n,e)===void 0)return n}}function placeNew(e,t,n,r){let i={w:snapWidth(n.size.w,0,n.minWidth),h:Math.max(1,n.size.h)};return n.figure?{i:t,...figureSlot(e,i,r)??{x:0,y:0,...i}}:{i:t,x:0,y:e.reduce((e,t)=>Math.max(e,bottomOf(t)),0),...i}}function spanContent(e,t){if(!_.includes(t)){let e=`A block spans ${_.join(`, `)} columns, not ${String(t)}`;throw new j(e,[{path:[`content`,`span`],message:e}])}return{content:e,span:t}}function configureContent(e,t){try{return typeof e==`object`&&e&&`build`in e&&typeof e.build==`function`?{configuration:validateContentConfiguration(e.build(),t),extension:e.extension}:{configuration:validateContentConfiguration(e,t)}}catch(e){throw e instanceof j?new j(e.message,e.errors.map(e=>({...e,path:e.path[0]===`content`?[...t,...e.path.slice(1)]:e.path}))):e}}function storedQuery(e,t){let n=[`search`,`offset`].filter(t=>e.state[t]!==void 0);if(n.length>0)throw new j(`A ${t} cannot keep a query's ${n.join(` or `)}`,n.map(e=>({path:[t,e],message:`A ${t} stores no ${e}; use filters and limit instead`})));return e.toDefinition()}function checkInputs(e,t){for(let[n,r]of Object.entries(t)){let t=e.inputs[n];r!==void 0&&t!==void 0&&T({parameters:t.schema},r,[`content`,`parameters`,n])}return t}var BlockContentBuilder=class{constructor(e,t,n){this.extension=e,this.parameters=t,this.heightMode=n}copy(e,t){let n=this.constructor;return new n(this.extension,e,t)}with(e){let t={...this.parameters};for(let[n,r]of Object.entries(e)){if(r===void 0){delete t[n];continue}t[n]=r}return checkInputs(this.extension,e),this.copy(t,this.heightMode)}height(e){return this.copy(this.parameters,e)}build(){let e={type:`custom`,extension:this.extension.name,parameters:cloneBuilderValue(this.parameters,[`content`,`parameters`]),...this.heightMode===void 0?{}:{height:this.heightMode}};return validateContentConfiguration(e,[`content`]),T(this.extension,e.parameters,[`content`,`parameters`]),e}span(e){return spanContent(this,e)}},Measures=class{count(){return this.measured(`count`)}sum(e){return this.measured(`sum`,e)}avg(e){return this.measured(`avg`,e)}min(e){return this.measured(`min`,e)}max(e){return this.measured(`max`,e)}};function measure(e,t,n){return{query:e,measure:t,...n===void 0?{}:{attribute:n}}}var MetricBuilder=class extends BlockContentBuilder{label(e){return this.with({label:e})}trend(e,t){return this.with({trend:e,trendBucket:t})}compare(e,t){return this.with({compare:e,period:t})}target(e){return this.with({target:e})}},MetricQuery=class extends Measures{constructor(e){super(),this.query=e}measured(e,t){return new MetricBuilder(b,checkInputs(b,measure(this.query,e,t)))}};function groupBy(e){return typeof e==`string`?[e,void 0]:[e.attribute,e.bucket]}var ChartBuilder=class extends BlockContentBuilder{label(e){return this.with({label:e})}by(e){let[t,n]=groupBy(e);return this.with({by:t,byBucket:n})}by2(e){let[t,n]=groupBy(e);return this.with({by2:t,by2Bucket:n})}kind(e){return this.with({kind:e})}bar(){return this.kind(`bar`)}horizontalBar(){return this.kind(`horizontal_bar`)}line(){return this.kind(`line`)}area(){return this.kind(`area`)}donut(){return this.kind(`donut`)}funnel(){return this.kind(`funnel`)}treemap(){return this.kind(`treemap`)}calendar(){return this.kind(`calendar`)}},ChartQuery=class extends Measures{constructor(e){super(),this.query=e}measured(e,t){return new ChartBuilder(y,checkInputs(y,{...measure(this.query,e,t),kind:`bar`}))}};const ku={"7d":7,"30d":30};var AgendaBuilder=class extends BlockContentBuilder{label(e){return this.with({label:e})}next(e){let t=typeof e==`number`?e:ku[e];if(!Number.isInteger(t)||t<1){let e=`An agenda looks ahead a whole number of days, at least 1`;throw new j(e,[{path:[`content`,`parameters`,`next`],message:e}])}return this.with({next:t})}yearly(){return this.with({yearly:!0})}},CardBuilder=class extends BlockContentBuilder{fields(...e){return this.with({fields:e})}record(e){return this.with({record:e})}},DecisionsBuilder=class extends BlockContentBuilder{kinds(...e){return this.with({kinds:e})}limit(e){return this.with({limit:e})}},MeetingsUpcomingBuilder=class extends BlockContentBuilder{limit(e){return this.with({limit:e})}},MailboxBuilder=class extends BlockContentBuilder{category(e){return this.with({category:e})}important(){return this.with({important:!0})}unread(){return this.with({unread:!0})}limit(e){return this.with({limit:e})}label(e){return this.with({label:e})}};function metric(e){return new MetricQuery(storedQuery(e,`metric`))}function chart(e){return new ChartQuery(storedQuery(e,`chart`))}function agenda(e,t){return new AgendaBuilder(g,checkInputs(g,{query:storedQuery(e,`agenda`),attribute:t}))}function card(e){let t=e===void 0||typeof e==`string`?e:e.build().name;return new CardBuilder(v,t===void 0?{}:checkInputs(v,{object:t}))}function text$1(e){return new BlockContentBuilder(S,checkInputs(S,{markdown:e}))}function decisions(){return new DecisionsBuilder(Ce,{})}function meetingsUpcoming(){return new MeetingsUpcomingBuilder(je,{})}function mailbox(){return new MailboxBuilder(ke,{})}function isSpanned(e){return typeof e==`object`&&!!e&&`span`in e&&`content`in e}function total(e){return e.reduce((e,t)=>e+t,0)}function spread(e){return e.length===0?0:Math.max(...e)-Math.min(...e)}function betterSplit(e,t){let n=total(e)-total(t);if(n!==0)return n>0;let r=spread(t)-spread(e);if(r!==0)return r>0;let i=e.findIndex((e,n)=>e!==t[n]);return i!==-1&&(e[i]??0)>(t[i]??0)}function splitColumns(e,t){let n=[...t];function visit(r,i){let a=t[r.length];if(a===void 0){betterSplit(r,n)&&(n=r);return}for(let t of _)t>=a&&i+t<=e&&visit([...r,t],i+t)}return visit([],0),n}function rowWidths(e,t){let n=e.filter(e=>e.span===void 0);n.length>4&&reject(t,`A row holds at most 4 unsized blocks`);let r=total(e.map(e=>e.span??e.minWidth));r>12&&reject(t,`Blocks ${e.map(e=>`"${e.key}"`).join(`, `)} do not fit one row: they need at least ${r} of 12 columns`);let i=splitColumns(12-total(e.map(e=>e.span??0)),n.map(e=>e.minWidth)),a=0;return e.map(e=>{if(e.span!==void 0)return e.span;let t=i[a]??e.minWidth;return a+=1,t})}function reject(e,t){throw new j(t,[{path:e,message:t}])}function traitsOf(e,t=[]){return Qt(e,C,new Map(t.map(e=>[e.name,e])))}function headingNames(e){let t=new Set(e.flatMap(e=>e.kind===`heading`?e.meta.name===void 0?[]:[e.meta.name]:[...Object.keys(e.blocks),...e.group?.name===void 0?[]:[e.group.name]]));return e.flatMap(e=>{if(e.kind!==`heading`)return[];if(e.meta.name!==void 0)return[e.meta.name];let n=nameSlug(e.title,40),r=n===``?`heading`:`heading_${n}`,i=r;for(let e=2;t.has(i);e+=1)i=`${r}_${e}`;return t.add(i),[i]})}function headingEntry(e,t,n){let r={title:t,...n.description===void 0?{}:{description:n.description},...n.icon===void 0?{}:{icon:n.icon}};return{key:e,content:new BlockContentBuilder(Ee,r),span:12}}function groupOf(e,t,n){let[r]=e.map(e=>e.name).sort(),i=jt(e.length);return(i!==void 0||r===void 0)&&reject(n,String(i)),{type:`group`,name:t.name??`group_${r}`,placement:`grid`,...t.label===void 0?{}:{label:t.label},members:e.map(e=>e.name)}}function requirePlacement(e,t,n,r,i){if(e.type===`page`&&reject(i,`Content "${n}" cannot reference a page from a page`),mn(e,t,n,r,i),e.type!==`custom`)return;let a=t?.refine?.(e.parameters??{},r);a&&reject([...i,`parameters`,a.input],a.message)}var Y=class PageBuilder{constructor(e){this.kind=`view`,this.data=e}icon(e){return new PageBuilder({...this.data,icon:e})}description(e){return new PageBuilder({...this.data,description:e})}home(){return new PageBuilder({...this.data,home:!0})}for(e){let t=typeof e==`string`?e:e.build().name;return new PageBuilder({...this.data,object:t})}row(e,t={}){let n=t.group===void 0?{kind:`row`,blocks:e}:{kind:`row`,blocks:e,group:t.group};return new PageBuilder({...this.data,sections:[...this.data.sections,n]})}heading(e,t={}){let n={kind:`heading`,title:e,meta:t};return new PageBuilder({...this.data,sections:[...this.data.sections,n]})}build(){let e=[`views`,`0`],{name:t,label:n,object:r,icon:i,description:a,home:o,sections:s}=this.data;requireBuilderName(t,[...e,`name`]),r!==void 0&&requireBuilderName(r,[...e,`object`]),o&&r!==void 0&&reject([...e,`home`],`Only a standalone page can be the home`),s.every(e=>e.kind===`row`&&Object.keys(e.blocks).length===0)&&reject([...e,`contents`],`A page declares at least one block`);let c=r===void 0?`page`:`record`,l=[],u=[],d=headingNames(s),f=0;for(let t of s){let n=[...e,`contents`,String(l.length)],r=(t.kind===`heading`?[headingEntry(d[f++]??``,t.title,t.meta)]:Object.entries(t.blocks).map(([e,t])=>isSpanned(t)?{key:e,content:t.content,span:t.span}:{key:e,content:t,span:void 0})).map(t=>{let n=[...e,`contents`,String(l.length)];requireBuilderName(t.key,[...n,`name`]);let{configuration:r,extension:i}=configureContent(t.content,n);requirePlacement(r,i,t.key,c,n);let a={...r,name:t.key,placement:`grid`};return l.push(a),{content:a,span:t.span}}),i=rowWidths(r.map(({content:e,span:t})=>({key:e.name,...t===void 0?{}:{span:t},minWidth:traitsOf(e).minWidth})),n),a=u.reduce((e,t)=>Math.max(e,t.y+t.h),0);if(t.kind===`row`&&t.group!==void 0){let e=groupOf(r.map(({content:e})=>e),t.group,n);l.push(e),u.push({i:e.name,x:0,y:a,w:12,h:traitsOf(e,l).size.h});continue}let o=0;r.forEach(({content:e},t)=>{let n=i[t]??0;u.push({i:e.name,x:o,y:a,w:n,h:traitsOf(e).size.h}),o+=n})}let p=Object.fromEntries(packLayout(u).map(({i:e,x:t,y:n,w:r,h:i})=>[e,{x:t,y:n,w:r,h:i}])),m={name:t,label:n,...r===void 0?{}:{object:r},context:`page`,...i===void 0?{}:{icon:i},...a===void 0?{}:{description:a},...o?{home:!0}:{},contents:l,grid:p},ee=w.safeParse(m);if(!ee.success)throw j.fromZodErrors(ee.error.issues.map(t=>({path:[...e,...t.path.map(String)],message:t.message})));return{kind:`view`,definition:cloneBuilderValue(m,e)}}};function page(e,t){return new Y({name:e,label:t,object:void 0,sections:[]})}var X=class ViewBuilder{constructor(e,t=[]){this.kind=`view`,this.data=cloneBuilderValue(e,[`views`,`0`]),this.extensions=t.map(e=>e&&{...e})}for(e){let t=typeof e==`string`?e:e.build().name;return new ViewBuilder({...this.data,object:t},this.extensions)}default(){return new ViewBuilder({...this.data,default:!0},this.extensions)}description(e){return new ViewBuilder({...this.data,description:e},this.extensions)}icon(e){return new ViewBuilder({...this.data,icon:e},this.extensions)}place(e,t,n,r,i){let{configuration:a,extension:o}=configureContent(n,[`views`,`0`,`contents`,String(this.data.contents.length)]),s={...a,name:e,label:t,placement:r},c=[...this.data.contents,s],l=i===void 0?{}:{anchors:{...this.data.anchors,[e]:{after:i}}};return new ViewBuilder({...this.data,...l,contents:c},[...this.extensions,o])}tab(e,t,n,r){return this.place(e,t,n,`main`,r?.after)}aside(e,t,n){return this.place(e,t,n,`aside`)}build(){let e=[`views`,`0`];requireBuilderName(this.data.name,[...e,`name`]),requireBuilderName(this.data.object,[...e,`object`]);let t=w.safeParse(this.data);if(!t.success)throw j.fromZodErrors(t.error.issues.map(t=>({path:[...e,...t.path.map(String)],message:t.message})));return this.data.contents.forEach((t,n)=>{let r=[...e,`contents`,String(n)];requireBuilderName(t.name,[...r,`name`]),t.type===`form`&&t.groups.forEach((e,t)=>requireBuilderName(e.name,[...r,`groups`,String(t),`name`])),mn(t,this.extensions[n],t.name,this.data.context,r)}),{kind:`view`,definition:cloneBuilderValue(this.data,e)}}};function detailView(e,t){return new X({name:e,label:t,object:void 0,context:`record`,contents:[]})}function listView(e,t){return new X({name:e,label:t,object:void 0,context:`collection`,contents:[]})}function isViewPiece(e){return`kind`in e&&e.kind===`view`}function isObjectPiece(e){return!(isViewPiece(e)||e instanceof M)}function assertPiece(e,t){if(typeof e!=`object`||!e)throw new j(`Unsupported bundle piece: ${t}`,[]);if(isViewPiece(e)||e instanceof M||typeof e.build==`function`)return;let n=e.name;throw new j(`Unsupported bundle piece: ${typeof n==`string`?n:String(t)}`,[])}function declarationOf$1(e){return e instanceof Y||e instanceof X?e.build():e}function isPage(e){return e.definition.context===`page`}function validateView(e){let t=w.safeParse(e);if(t.success)return t.data;let n=typeof e==`object`&&e&&`name`in e?String(e.name):`(unnamed)`,r=j.fromZodErrors(t.error.issues.map(e=>({path:e.path.map(String),message:e.message})));throw new j(`View "${n}" is invalid. ${r.message}`,r.errors)}function identityOf(e){return`${e.object??``}:${e.name}`}function assertUniqueIdentities(e,t){let n=new Set;for(let r of t){let t=identityOf(r);if(n.has(t))throw new D(e,r.name);n.add(t)}}function byIdentity(e){return(t,n)=>{let r=identityOf(e(t)),i=identityOf(e(n));return r<i?-1:+(r>i)}}async function hashBundlePieces(e){return sha256Hex(I({objects:[...e.objects].sort(byIdentity(e=>({name:e.name}))),views:[...e.views].sort(byIdentity(e=>e)),pages:[...e.pages].sort(byIdentity(e=>e.definition)),agents:[...e.agents].sort(byIdentity(e=>({name:e.name})))}))}async function builtBundleFromPieces(e){let t=e.name===J;t||assertBundleName(e.name);let{objects:n,pages:r,agents:i}=e,a=e.views.map(validateView),o=n.map(e=>e.name);if(assertUniqueIdentities(`object`,o.map(e=>({name:e}))),assertUniqueIdentities(`view`,a),assertUniqueIdentities(`page`,r.map(e=>e.definition)),assertUniqueIdentities(`agent`,i.map(e=>({name:e.name}))),!t){let e=o.find(vc);if(e!==void 0)throw new O(e,`bundle`)}return{name:e.name,label:e.label.trim(),description:e.description??null,hash:await hashBundlePieces({objects:n,views:a,pages:r,agents:i}),objects:n,views:a,pages:r,agents:i,uses:e.uses??[],samples:e.samples??[],translations:e.translations??{}}}const Au=Symbol.for(`standards.bundle`);function isBundle(e){return typeof e==`object`&&!!e&&e[Au]===!0}var BundleBuilder=class{constructor(e,t){this[Au]=!0,this.pieces=[],this.used=[],this.descriptionText=null,this.sampleRecords=[],this.translationTables={},this.built=null,assertBundleName(e),this.name=e,this.label=t,this.objectBuilders=[]}description(e){return this.descriptionText=e,this.changed()}add(...e){return this.pieces.push(...e),this.objectBuilders.push(...e.filter(isObjectPiece)),this.changed(),this}uses(...e){return this.used.push(...e),this.changed()}samples(e){return this.sampleRecords=e,this.changed()}translations(e,t){return this.translationTables[e]=t,this.changed()}build(){return this.built??=this.assemble(),this.built}changed(){return this.built=null,this}async assemble(){let e=[],t=[],n=[],r=[];for(let[i,a]of this.pieces.entries())if(assertPiece(a,i),a instanceof M)r.push(a.build());else if(isViewPiece(a)){let e=declarationOf$1(a);isPage(e)?n.push(e):t.push(e.definition)}else e.push(a.build());return this.assertNotInUsed(e),builtBundleFromPieces({name:this.name,label:this.label,description:this.descriptionText,objects:e,views:t,pages:n,agents:r,uses:this.used.map(e=>e.name),samples:this.sampleRecords,translations:{...this.translationTables}})}assertNotInUsed(e){let t=new Map,n=new Set([this]),visit=e=>{if(!n.has(e)){n.add(e);for(let n of e.objectBuilders){let r=n.build().name;t.has(r)||t.set(r,e.name)}for(let t of e.used)visit(t)}};for(let e of this.used)visit(e);for(let{name:n}of e){let e=t.get(n);if(e!==void 0)throw new D(`object`,n,`Object "${n}" is declared by bundle "${this.name}" and by its used bundle "${e}"`)}}};function bundle(e,t){return new BundleBuilder(e,t)}function readOnlyOption(e){return e?.readOnly===void 0?{}:{readOnly:e.readOnly}}function buildFreeFieldRef(e,t){return{type:`free`,attribute:e.build(),label:t?.label,required:t?.required,prefillExpression:t?.prefillExpression,...readOnlyOption(t)}}function buildSlotFieldRef(e,t,n){let[r,...i]=Array.isArray(e)?e:[e];return{type:`slot`,slotId:r,additionalSlotIds:i.length>0?i:void 0,attribute:t,label:n?.label,required:n?.required,tooltip:n?.tooltip,...readOnlyOption(n)}}const ju=L.boolean().optional();var FormRowBuilder=class{constructor(e,t,n){this._finalized=!1,this.stepBuilder=e,this.rowData={id:t,order:n,type:`fields`,fields:[]}}field(e,t,n){return this.rowData.fields.push(buildSlotFieldRef(e,t,n)),this}freeField(e,t){return this.rowData.fields.push(buildFreeFieldRef(e,t)),this}row(e){return this._finalized=!0,this.stepBuilder._finalizeRow(this.rowData).row(e)}heading(e,t){return this._finalized=!0,this.stepBuilder._finalizeRow(this.rowData).heading(e,t)}separator(){return this._finalized=!0,this.stepBuilder._finalizeRow(this.rowData).separator()}text(e){return this._finalized=!0,this.stepBuilder._finalizeRow(this.rowData).text(e)}endRow(){return this._finalized?this.stepBuilder:(this._finalized=!0,this.stepBuilder._finalizeRow(this.rowData))}},FormStepBuilder=class{constructor(e,t,n){this.rowOrder=0,this.formBuilder=e,this.stepData={id:t,label:n,rows:[]}}description(e){return this.stepData.description=e,this}field(e,t,n){this.rowOrder++;let r=`row-${this.stepData.id}-${this.rowOrder}`,i=buildSlotFieldRef(e,t,n),a={id:r,order:this.rowOrder,type:`fields`,fields:[i]};return this.stepData.rows.push(a),this}freeField(e,t){this.rowOrder++;let n=`row-${this.stepData.id}-${this.rowOrder}`,r=buildFreeFieldRef(e,t),i={id:n,order:this.rowOrder,type:`fields`,fields:[r]};return this.stepData.rows.push(i),this}row(e){return this.rowOrder++,new FormRowBuilder(this,e,this.rowOrder)}heading(e,t){this.rowOrder++;let n={id:`heading-${this.stepData.id}-${this.rowOrder}`,order:this.rowOrder,type:`heading`,content:e,level:t};return this.stepData.rows.push(n),this}separator(){this.rowOrder++;let e={id:`sep-${this.stepData.id}-${this.rowOrder}`,order:this.rowOrder,type:`separator`};return this.stepData.rows.push(e),this}text(e){this.rowOrder++;let t={id:`text-${this.stepData.id}-${this.rowOrder}`,order:this.rowOrder,type:`text`,content:e};return this.stepData.rows.push(t),this}step(e,t){return this.formBuilder._finalizeStep(this.stepData).step(e,t)}build(){return this.formBuilder._finalizeStep(this.stepData).build()}_finalizeRow(e){return e.fields.length>0&&this.stepData.rows.push(e),this}_getData(){return this.stepData}},FormBuilder=class{constructor(e,t){this.data={slots:[],steps:[],status:`draft`,version:1},this.validateName(e),this.data.name=e,this.data.label=t}description(e){return this.data.description=e,this}icon(e){return this.data.icon=e,this}status(e){return this.data.status=e,this}metadata(e){return this.data.metadata=e,this}slot(e,t,n){if(this.data.slots.some(t=>t.id===e))throw Error(`[FormBuilder] Duplicate slot id: "${e}"`);let r={id:e,objectName:t,label:n.label,mode:n.mode??`create`,color:n.color,icon:n.icon};return this.data.slots.push(r),this}step(e,t){if(this.data.steps.some(t=>t.id===e))throw Error(`[FormBuilder] Duplicate step id: "${e}"`);return new FormStepBuilder(this,e,t)}build(){return this.validateRequiredData(),this.validateSlotReferences(),this.validateFreeFields(),this.validatePrefillExpressions(),this.validateReadOnly(),this.data}_finalizeStep(e){return this.data.steps.push(e),this}validateName(e){let t=L.string().min(1,`Form name cannot be empty`).max(63,`Form name is too long (max 63 characters)`).regex(/^[a-z0-9]+(-[a-z0-9]+)*$/,{message:`Invalid form name format. Name must be in kebab-case: 'client-onboarding', 'contact-creation'`});try{t.parse(e)}catch(e){throw e instanceof L.ZodError?Error(`[FormBuilder] ${e.issues[0].message}`):e}}validateRequiredData(){if(this.data.slots.length===0)throw Error(`[FormBuilder] At least one slot is required. Use .slot() to add slots.`);if(this.data.steps.length===0)throw Error(`[FormBuilder] At least one step is required. Use .step() to add steps.`)}validateSlotReferences(){let e=new Map(this.data.slots.map(e=>[e.id,e.objectName]));for(let t of this.data.steps)for(let n of t.rows)if(isFormFieldsRow(n))for(let r of n.fields){if(r.type!==`slot`)continue;let n=getSlotFieldTargets(r);for(let r of n)if(!e.has(r))throw Error(`[FormBuilder] Step "${t.id}" references unknown slot "${r}". Declare it with .slot("${r}", ...) first.`);let i=new Set(n.map(t=>e.get(t)));if(i.size>1)throw Error(`[FormBuilder] Step "${t.id}" field on attribute "${r.attribute}" targets slots of different objects (${[...i].join(`, `)}). A multi-slot field must target slots of the same object.`)}}validatePrefillExpressions(){let e=[...V,`join`,`where`];for(let t of this.data.steps)for(let n of t.rows)if(isFormFieldsRow(n))for(let r of n.fields){if(!isFormFreeFieldRef(r)||!r.prefillExpression)continue;let n=r.prefillExpression,i=`prefillExpression on free field "${r.attribute.name}" in step "${t.id}"`;if(!isLabelExpression(n))throw Error(`[FormBuilder] ${i} must contain at least one {{ attribute }} interpolation.`);if(/\{\{\s*\}\}/.test(n))throw Error(`[FormBuilder] ${i} contains empty {{ }} interpolation.`);for(let a of n.matchAll(/(?<!\|)\|(?!\|)\s*(\w+)(?:\s*:[^|}]*)?/g)){let n=a[1];if(!e.includes(n))throw Error(`[FormBuilder] ${i} uses invalid pipe "${n}". Valid pipes: ${e.join(`, `)}`);let o=a[0].replace(/^\|/,``);if(isWherePipe(o)&&!parseWherePipe(o))throw new j(`[FormBuilder] ${i} has a malformed where: pipe "${o.trim()}". Write where:property=value or where:property in (a,b).`,[{path:[t.id,r.attribute.name,`prefillExpression`],message:`Malformed where: pipe`}])}}}validateReadOnly(){for(let e of this.data.steps)for(let t of e.rows)if(isFormFieldsRow(t))for(let n of t.fields){if(ju.safeParse(n.readOnly).success)continue;let t=isFormFreeFieldRef(n)?n.attribute.name:n.attribute,r=isFormFreeFieldRef(n)?`free field`:`field`;throw new j(`[FormBuilder] readOnly on ${r} "${t}" in step "${e.id}" must be a boolean.`,[{path:[e.id,t,`readOnly`],message:`Expected a boolean`}])}}validateFreeFields(){let e=new Set(z);for(let t of this.data.steps)for(let n of t.rows)if(isFormFieldsRow(n)){for(let r of n.fields)if(isFormFreeFieldRef(r)){let n=r.attribute.type;if(e.has(n))throw Error(`[FormBuilder] Free field in step "${t.id}" uses forbidden attribute type "${n}". Forbidden types: ${z.join(`, `)}`)}}}};function form(e,t){return new FormBuilder(e,t)}const Mu=`box`,Nu=[`circle`,`square`],Pu=[`upload`,`website`,`name`,`email`];function isImageSource(e){return Pu.some(t=>t===e)}const Fu={object:[`icon`,`color`],record:[`icon`,`image`],emailCategory:[`icon`,`color`],option:[`color`],view:[`icon`],agent:[`color`],user:[`image`]};function imageFileIdOf(e){return`image`in e?e.image?.fileId:`imageFileId`in e?e.imageFileId:void 0}function resolveAppearance(e,t){let n=imageFileIdOf(e);if(n)return{kind:`image`,imageFileId:n,shape:t?.image?.shape??`square`};let r=t?.name??e.name,i=e.color??t?.color??(r?wl(r):void 0),a=e.icon??t?.icon??`box`;return i?{kind:`tile`,icon:a,color:i}:{kind:`glyph`,icon:a}}const Iu=L.object({shape:L.enum(Nu),from:L.array(L.string().refine(e=>e.trim().length>0,`Must not be blank`)).optional()}).strict();function imageLookupKindOf(e){return e.type===`text`?e.format===`url`?`website`:e.format===`email`?`email`:`name`:null}function validateObjectImage(e){let t=e.image?.from;if(t===void 0)return;let refuse=(t,n)=>{throw new j(`Object "${e.name}": ${t}`,[{path:n===void 0?[`image`,`from`]:[`image`,`from`,String(n)],message:t}])};t.length===0&&refuse(`image.from must name at least one attribute`);let n=new Map((e.attributes??[]).map(e=>[e.name,e])),r=new Set;for(let[e,i]of t.entries()){r.has(i)&&refuse(`image.from names "${i}" twice`,e),r.add(i);let t=n.get(i);t?imageLookupKindOf(t)===null&&refuse(`image.from names "${i}", a ${t.type} attribute: only text attributes can locate an image`,e):refuse(`image.from names "${i}", which is not one of its attributes`,e)}}function validateObjectExpressions(e){let{name:t,labelExpression:n,embeddingExpression:r}=e;if(!n)throw new k(`Object "${t}" must have a labelExpression. The labelExpression defines how records are displayed in lists and relations (e.g. "{{ name }}").`,A.VALIDATION_FAILED);let i=H.safeParse(n);if(!i.success){let e=i.error.issues[0]?.message??`Invalid labelExpression`;throw new k(`Invalid labelExpression for "${t}": ${e}`,A.VALIDATION_FAILED)}if(r!==void 0){let e=H.safeParse(r);if(!e.success){let n=e.error.issues[0]?.message??`Invalid embeddingExpression`;throw new k(`Invalid embeddingExpression for "${t}": ${n}`,A.VALIDATION_FAILED)}}}var ObjectBuilder=class{get"~standard"(){return createStandardSchemaProps(ol(this.build()))}constructor(e,t){this._sealed=!1,this._toleratedAttributes=[],this.validateName(e),this.obj={name:e,label:t,attributes:[],system:!0}}id(e){return this.obj.id=e,this}description(e){return this.obj.description=e,this}pluralLabel(e){return this._pluralLabel=e,this}icon(e){return this.obj.icon=e,this}color(e){return this.obj.color=e,this}image(e={}){return this.obj.image={shape:e.shape??`square`,...e.from===void 0?{}:{from:[...e.from]}},this}runtime(){return this.obj.system=!1,this}sealed(){return this._sealed=!0,this}tolerate(e){return this._toleratedAttributes=[...this._toleratedAttributes,...e],this}attribute(e){return this.pushAttributes([e]),this}attributes(e){return this.pushAttributes(e),this}pushAttributes(e){let t=e.map(e=>`build`in e&&typeof e.build==`function`?e.build():e);gc([...this.obj.attributes,...t],e=>e.name,e=>new D(`attribute`,e,`Object "${this.obj.name}": duplicate attribute name "${e}"`)),this.obj.attributes.push(...t)}metadata(e){return this.obj.metadata={...this.obj.metadata,...e},this}order(e){return this.obj.metadata={...this.obj.metadata,order:e},this}hidden(){return this.obj.metadata={...this.obj.metadata,hidden:!0},this}labelExpression(e){return this._labelExpression=e,this}embeddingExpression(e){return this._embeddingExpression=e,this}documentLayout(e){if(e.presets)for(let t of e.presets)validatePresetStructure(t.id,t.structure,1);return this.obj.documentLayout=e,this}build(){if(!this.obj.name)throw new j(`[ObjectBuilder] Missing required field: name`,[{path:[`name`],message:`name is required`}]);if(!this.obj.label)throw new j(`[ObjectBuilder] Missing required field: label`,[{path:[`label`],message:`label is required`}]);return validateObjectExpressions({name:this.obj.name,labelExpression:this._labelExpression,embeddingExpression:this._embeddingExpression}),validateObjectImage({name:this.obj.name,image:this.obj.image,attributes:this.obj.attributes}),{...this.obj,pluralLabel:this._pluralLabel,labelExpression:this._labelExpression,embeddingExpression:this._embeddingExpression,sealed:this._sealed,toleratedAttributes:this._toleratedAttributes}}validateName(e){e!==void 0&&Tc(e)}};function object(e,t){if(vc(e))throw new O(e,`builder`);return new ObjectBuilder(e,t)}function validatePresetStructure(e,t,n){let fail=(t,n)=>{throw new j(t,[{path:[`documentLayout`,`presets`,e],message:n}])};n>5&&fail(`Preset structure exceeds max depth of 5`,`Preset structure too deep`);let r=new Set;for(let i of t){let t=i.title.trim();t.length===0&&fail(`Folder preset node title is required`,`Empty folder title`),t.includes(`/`)&&fail(`Folder preset node title cannot contain /`,`Folder title contains /: "${t}"`),r.has(t)&&fail(`Folder preset sibling titles must be unique`,`Duplicate folder title: "${t}"`),r.add(t),i.children&&i.children.length>0&&validatePresetStructure(e,i.children,n+1)}}function relationProperty(e){return requireBuilderName(e,[`relationProperty`]),{relationProperty:e}}var Z=class ContentBuilder{constructor(e,t){this.data=cloneBuilderValue(e,[`content`]),this.extension=t===void 0?void 0:Object.freeze({name:t.name,contexts:t.contexts,parameters:t.parameters,refine:t.refine})}set(e){return new ContentBuilder({...this.data,...e},this.extension)}icon(e){return this.set({icon:e})}object(e){return this.set({objectName:e})}layout(e){let{layout:t,groupByAttribute:n,columnSizing:r,kanbanColumnOrder:i,kanbanColumnVisibility:a,kanbanPinnedColumns:o,...s}={...this.data,layout:void 0,groupByAttribute:void 0,columnSizing:void 0,kanbanColumnOrder:void 0,kanbanColumnVisibility:void 0,kanbanPinnedColumns:void 0};return new ContentBuilder({...s,...e},this.extension)}table(){return this.layout({layout:`table`})}list(){return this.layout({layout:`list`})}kanban(e){return this.layout({layout:`kanban`,groupByAttribute:e})}columns(...e){return this.set({columns:e})}actions(...e){return this.set({actions:e})}openMode(e){return this.set({openMode:e})}createMode(e){return this.set({createMode:e})}visibility(e){return this.set({visibility:e})}descriptionAttribute(e){return this.set({descriptionAttribute:e})}displayAttributes(...e){return this.set({displayAttributes:e})}columnSizing(e){return this.set({columnSizing:e})}kanbanColumnOrder(...e){return this.set({kanbanColumnOrder:e})}kanbanColumnVisibility(e){return this.set({kanbanColumnVisibility:e})}kanbanPinnedColumns(...e){return this.set({kanbanPinnedColumns:e})}formColumns(e){return this.set({formColumns:e})}density(e){return this.set({density:e})}titleAttribute(e){return this.set({titleAttribute:e})}allowUpload(e){return this.set({allowUpload:e})}allowRemove(e){return this.set({allowRemove:e})}hideAttachments(e){return this.set({hideAttachments:e})}relations(...e){return this.set({relations:e})}span(e){return spanContent(this,e)}height(e){return this.set({height:e})}build(){let e=validateLiteralContent(this.data,[`content`]);return this.extension&&e.type===`custom`&&T(this.extension,e.parameters,[`content`,`parameters`]),e}},Lu=class GroupBuilder{constructor(e,t,n,r={}){this.data=cloneBuilderValue({name:e,label:t,fields:n,...r},[`group`])}field(e,t){let{name:n,label:r,fields:i,...a}=this.data;return new GroupBuilder(n,r,[...i,{attribute:e,...t}],a)}fields(...e){let{name:t,label:n,fields:r,...i}=this.data;return new GroupBuilder(t,n,[...r,...e.map(e=>({attribute:e}))],i)}description(e){return new GroupBuilder(this.data.name,this.data.label,this.data.fields,{...this.presentation(),description:e})}collapsible(e=!1){return new GroupBuilder(this.data.name,this.data.label,this.data.fields,{...this.presentation(),collapsible:!0,collapsed:e})}presentation(){let{name:e,label:t,fields:n,...r}=this.data;return r}build(){requireBuilderName(this.data.name,[`group`,`name`]);try{validateLiteralContent({type:`form`,groups:[this.data]},[`group`])}catch(e){throw e instanceof j?new j(e.message,e.errors.map(e=>({...e,path:e.path[1]===`groups`?[`group`,...e.path.slice(3)]:e.path}))):e}return cloneBuilderValue(this.data,[`group`])}};function group(e,t){return new Lu(e,t,[])}function collection(e){return new Z({type:`collection`,...storedQuery(e,`collection`)})}function form$1(...e){return new Z({type:`form`,groups:e.map(e=>`build`in e?e.build():e)})}function activity(){return new Z({type:`activity`})}function richtext$1(e){return new Z({type:`richtext`,attribute:e})}function documents(){return new Z({type:`documents`})}function forms(){return new Z({type:`forms`})}function emails(...e){return new Z({type:`emails`,emailAttributes:e})}function meetings(...e){return new Z({type:`meetings`,emailAttributes:e})}function custom(e,t){if(typeof e!=`object`||!e||typeof e.name!=`string`)throw new j(`Expected registered extension declaration`,[{path:[`content`,`extension`],message:`Expected registered extension declaration`}]);let n=validateContentConfiguration({type:`custom`,extension:e.name,parameters:t},[`content`]);if(n.type!==`custom`)throw new j(`Expected custom content`,[]);let r=new Z({...n,extension:e.name},e);return r.build(),r}function recordLinksTab(){return[x.name,x.label,custom(Re,{}).icon(x.icon)]}function page$1(e){let{object:t,name:n}=e.definition;if(typeof t!=`string`){let e=`Page "${n}" is standalone; a record tab renders a record page (\`page(...).for(object)\`)`;throw new j(e,[{path:[`content`,`page`,`object`],message:e}])}return new Z({type:`page`,page:{object:t,name:n}})}const Ru={collection,metric,chart,agenda,card,text:text$1,decisions,meetingsUpcoming,mailbox,page:page$1,form:form$1,activity,richtext:richtext$1,documents,forms,emails,meetings,custom};function contentDefinition(e,t){if(t.suppressed)return null;let n=t.workspaceDefinition??t.sourceDefinition;return n===null?null:{...structuredClone(n),name:e}}function storedContentDefinition(e){let{name:t,...n}=e;return structuredClone(n)}function workspaceViewAuthoring(e,t={}){let n={main:0,aside:0};return{origin:`runtime`,mainOrderCustomized:!1,asideOrderCustomized:!1,gridCustomized:Object.keys(t).length>0,homeCustomized:!1,contents:Object.fromEntries(e.map(e=>[e.name,{sourceDefinition:null,workspaceDefinition:storedContentDefinition(e),suppressed:!1,sourcePosition:null,workspacePosition:e.placement===`grid`?null:n[e.placement]++,sourceGrid:null,workspaceGrid:t[e.name]??null}]))}}function byKind(e,t){let rank=e=>Number(e.definition.type===`group`);return rank(e)-rank(t)||e.name.localeCompare(t.name)}function inReadingOrder(e){return(t,n)=>{let r=e(t.name),i=e(n.name);return r===null||i===null?r===i?byKind(t,n):r?-1:1:r.y-i.y||r.x-i.x||byKind(t,n)}}function overLimit(e,t){let n=new Set;if(e.length<=N.tabsPerView)return n;let r=new Map(e.map(e=>[e.name,e])),i=new Map;for(let{name:t,definition:n}of e)if(n.type===`group`)for(let e of n.members)i.has(e)||i.set(e,t);let cellOf=e=>{let n=r.get(e),a=n?t(n.state):null;if(a!==null)return a;let o=r.get(i.get(e)??``);return o?t(o.state):null},a=e.filter(e=>e.state.sourceDefinition===null).sort(inReadingOrder(cellOf)).reverse();for(let t of a){if(e.length-n.size<=N.tabsPerView)break;if(n.has(t.name))continue;let i=t.definition.type===`group`?t.definition.members.flatMap(e=>{let t=r.get(e);return t&&t.definition.type!==`group`?[t]:[]}):[];if(!i.some(e=>e.state.sourceDefinition!==null))for(let e of[t,...i])n.add(e.name)}return n}function resolvePageGrid(e,t={}){let rawCell=t=>e.gridCustomized||t.sourceDefinition===null?t.workspaceGrid:t.sourceGrid,n=Object.entries(e.contents).flatMap(([e,t])=>{let n=contentDefinition(e,t);return n?[{name:e,state:t,definition:n}]:[]}),r=en(n.map(e=>e.definition)),i=n.filter(e=>!r.has(e.name)).sort((e,t)=>e.name.localeCompare(t.name)),a=overLimit(i,rawCell),o=i.filter(e=>!a.has(e.name)),s=new Map(o.map(e=>[e.name,e.definition])),c=t.traitsOf??cn(s,C),l=Mt([...s.values()]),u=o.filter(e=>!l.has(e.name)),d={},f=[],place=(e,t)=>{t&&!Object.values(d).some(e=>sn(t,e))?d[e]={...t}:f.push(e)};if(e.gridCustomized)for(let{name:e,state:t}of u)place(e,t.workspaceGrid);else{for(let{name:e,state:t}of u)t.sourceDefinition!==null&&place(e,t.sourceGrid);for(let{name:e,state:t}of u)t.sourceDefinition===null&&place(e,t.workspaceGrid)}let p=Math.max(0,...Object.values(d).map(e=>e.y+e.h));for(let t of f.sort()){let n=e.contents[t],{w:r,h:i}=n.workspaceGrid??n.sourceGrid??c(t).size;d[t]={x:0,y:p,w:r,h:i},p+=i}let m=repairPageGrid(Object.entries(d).map(([e,n])=>({i:e,...n,...t.statics?.has(e)?{static:!0}:{}})),c);return{grid:Object.fromEntries(m.cells.map(({i:e,x:t,y:n,w:r,h:i})=>[e,{x:t,y:n,w:r,h:i}])),repairs:[...[...a].map(e=>({name:e,kind:`dropped`})),...m.repairs]}}function droppedContents(e){return new Set(e.flatMap(e=>e.kind===`dropped`?[e.name]:[]))}function resolveViewContents(e){let t=Object.entries(e.contents).flatMap(([e,t])=>{let n=contentDefinition(e,t);return n?[{definition:n,...t}]:[]}),n=[`main`,`aside`].flatMap(n=>{let r=n===`main`?e.mainOrderCustomized:e.asideOrderCustomized;return t.filter(e=>e.definition.placement===n).sort((e,t)=>{let n=r?e.workspacePosition:e.sourcePosition,i=r?t.workspacePosition:t.sourcePosition;if(n!==null&&i!==null&&n!==i)return n-i;if(n!==null&&i===null)return-1;if(i!==null&&n===null)return 1;let a=e.sourcePosition??e.workspacePosition,o=t.sourcePosition??t.workspacePosition;return a!==null&&o!==null&&a!==o?a-o:a!==null&&o===null?-1:o!==null&&a===null?1:e.definition.name.localeCompare(t.definition.name)}).map(e=>e.definition)}),r=en(t.map(e=>e.definition)),i=t.filter(e=>e.definition.placement===`grid`&&!r.has(e.definition.name)).map(e=>e.definition).sort((e,t)=>e.name.localeCompare(t.name));return[...n,...i]}const zu=[`record`,`document`,`file`,`email`,`thread`,`event`,`memory`,`skill`,`schema`,`user`,`guide`,`bundle`,`draft`,`decision`,`session`],Bu=new Set([`memory`,`schema`]),Vu=/^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$/i;function isReferenceKind(e){return zu.includes(e)}function refuse$1(e,t){return{ok:!1,reason:e,expected:t}}function parseReference(e){let t=e.trim();if(Vu.test(t))return refuse$1(`bare_uuid`,`record:<id>`);let n=t.indexOf(`:`);if(n===-1)return refuse$1(`malformed`,`<kind>:<id>`);let r=t.slice(0,n).toLowerCase();if(!isReferenceKind(r))return refuse$1(`unknown_kind`,`<kind>:<id> with kind one of ${zu.join(`, `)}`);let i=t.slice(n+1).trim();return i===``?refuse$1(`malformed`,`${r}:<id>`):r===`record`&&i.includes(`:`)?refuse$1(`legacy_mention`,`record:${i.slice(i.lastIndexOf(`:`)+1)}`):i===`*`&&!Bu.has(r)?refuse$1(`malformed`,`${r}:<id>`):{ok:!0,ref:{kind:r,id:i}}}function formatReference(e){return`${e.kind}:${e.id}`}function isWildcard(e){return e.id===`*`&&Bu.has(e.kind)}function requestedCapabilities(e){let t=[];return e.canModify&&t.push(`modify`),e.canSend&&t.push(`send`),t}const Hu={status:`connector_status`,error:`connector_error`,provider:`connector_provider`},Uu={phone:`text`,currency:`number`},Wu={rename:[`kind`,`object`,`from`,`to`],phone:[`kind`,`object`,`attribute`,`to`,`defaultCountryCode`],currency:[`kind`,`object`,`attribute`,`to`,`currencyCode`]};function refuse(e,t,n){throw new j(n,[{path:t===void 0?[`resolutions`,String(e)]:[`resolutions`,String(e),t],message:n}])}function assertKeys(e,t,n){for(let r of n)(typeof t[r]!=`string`||t[r]===``)&&refuse(e,r,`Resolution ${e} needs a non-empty string \`${r}\``);let r=Object.keys(t).find(e=>!n.includes(e));r!==void 0&&refuse(e,r,`Resolution ${e} has an unknown field \`${r}\``)}function assertResolution(e,t){if(yc(t)||refuse(e,void 0,`Resolution ${e} must be an object`),t.kind===`rename`){assertKeys(e,t,Wu.rename),t.from===t.to&&refuse(e,`to`,`Resolution ${e} renames "${t.from}" to itself`);return}if(t.kind!==`retype`&&refuse(e,`kind`,`Unknown resolution kind ${JSON.stringify(t.kind)}: expected "rename" or "retype"`),t.to!==`phone`&&t.to!==`currency`&&refuse(e,`to`,`Unsupported retype to ${JSON.stringify(t.to)}: a push converts text → phone and number → currency only`),assertKeys(e,t,Wu[t.to]),t.to===`phone`){let n=t.defaultCountryCode;/^[A-Z]{3}$/.test(n)&&Dl(n)||refuse(e,`defaultCountryCode`,`Resolution ${e}: "${n}" is not an ISO 3166-1 alpha-3 country code`);return}let n=t.currencyCode;/^[A-Z]{3}$/.test(n)&&El(n)||refuse(e,`currencyCode`,`Resolution ${e}: "${n}" is not a supported ISO 4217 currency code`)}function addressesOf(e){return e.kind===`rename`?{reads:e.from,lands:e.to}:{reads:e.attribute,lands:e.attribute}}function assertSchemaSourceResolutions(e){if(!Array.isArray(e))throw new j("`resolutions` must be an array",[{path:[`resolutions`],message:"`resolutions` must be an array"}]);if(e.length>100)throw new j(`A push carries ${e.length} resolutions; the limit is 100`,[]);let t=new Set;for(let[n,r]of e.entries()){assertResolution(n,r);let{reads:e,lands:i}=addressesOf(r);for(let[a,o]of[[`${r.kind}:${r.object}.${e}`,`of "${r.object}.${e}"`],[`${r.kind}>${r.object}.${i}`,`onto "${r.object}.${i}"`]])t.has(a)&&refuse(n,void 0,`Resolution ${n} repeats a ${r.kind} ${o}`),t.add(a)}}function phoneFromText(e,t){let n=e.trim();if(n===``)return{value:null};let r=Ol(n,xl(t));if(!r?.isPossible()||r.country===void 0||r.ext!==void 0)return;let i=Tl(r.country)?.iso3;if(i!==void 0)return{value:{countryCode:i,phoneNumber:Cl(n,i)}}}function convertRetypedValue(e,t,n={}){if(t===null)return{value:null};if(e.to===`phone`)return typeof t==`string`?phoneFromText(t,e.defaultCountryCode):void 0;if(typeof t==`number`&&Math.abs(t)<=2**53-1&&!(t<0&&n.allowNegative!==!0))return{value:{code:e.currencyCode,value:t}}}const Q=L.string().refine(e=>e.trim().length>0,`Must not be blank`),Gu=L.union([L.tuple([L.literal(`object`),Q]),L.tuple([L.literal(`attribute`),Q,Q]),L.tuple([L.literal(`view`),Q,Q]),L.tuple([L.literal(`content`),Q,Q,Q])]),Ku=L.object({label:Q,pluralLabel:L.string().optional(),description:L.string().optional(),icon:P.optional(),color:_c.optional(),image:Iu.optional(),labelExpression:L.string(),embeddingExpression:L.string().optional(),sealed:L.boolean().optional(),toleratedAttributes:L.array(Q).optional(),metadata:L.record(L.string(),L.unknown()).optional(),documentLayout:L.record(L.string(),L.unknown()).optional()}).strict();function failure(e){throw new j(e,[])}function definitionSchema(e){return L.custom(t=>{let n=L.record(L.string(),L.unknown()).parse(t);for(let t of e[0]===`view`?[`object`,`name`]:[`name`])Object.hasOwn(n,t)&&failure(`Invalid schema state: unrecognized definition key ${t}`);switch(e[0]){case`object`:Ku.parse(n);break;case`attribute`:{let e=L.enum(ve).parse(n.type);Nc(e).extend({type:L.literal(e),label:Q,required:L.boolean().optional(),unique:L.boolean().optional(),icon:P.optional()}).strict().parse(n);break}case`view`:{let{contents:t,...r}=n,i=L.array(Q).parse(t);new Set(i).size!==i.length&&failure(`Invalid schema state: duplicate content membership`),dt.parse({...r,object:e[1],name:e[2],contents:[]});break}case`content`:E.parse({...n,name:e[3]})}return!0})}function compareSchemaStateEntries(e,t){let n=JSON.stringify(e.address),r=JSON.stringify(t.address);return n<r?-1:+(n>r)}function schemaStateSourcePayload(e){return{modelVersion:1,hashVersion:1,entries:[...e].sort(compareSchemaStateEntries).filter(e=>e.source!==null).map(({address:e,source:t})=>({address:e,source:t}))}}function parseState(e){let t=L.record(L.string(),L.unknown()).parse(e);for(let[e,n]of[[`modelVersion`,`model`],[`hashVersion`,`hash`]])t[e]!==1&&failure(`Unsupported schema ${n} version: expected 1, received ${t[e]===void 0?`missing`:String(t[e])}`);let n=L.object({modelVersion:L.literal(1),hashVersion:L.literal(1),tenant:Q,sourceFingerprint:L.string().regex(/^[a-f0-9]{64}$/),entries:L.array(L.unknown())}).strict().safeParse(e);if(!n.success){let e=n.error.issues.find(e=>e.code===`unrecognized_keys`);throw e?.code===`unrecognized_keys`&&failure(`Invalid schema state: unrecognized key ${e.keys[0]}`),j.fromZodErrors(n.error.issues.map(e=>({path:e.path.map(String),message:e.message})))}let r=new Set,i=n.data.entries.map(e=>{let t=Gu.parse(L.object({address:L.unknown()}).parse(e).address),n=JSON.stringify(t);r.has(n)&&failure(`Invalid schema state: duplicate address ${n}`),r.add(n);let i=definitionSchema(t).nullable(),a=t[0]===`object`||t[0]===`attribute`?L.object({id:L.string().uuid(),updatedAt:L.string().datetime()}).strict():L.object({id:L.string().uuid(),revision:L.number().int().nonnegative()}).strict(),o=L.object({address:Gu,source:i,effective:i,status:L.enum([`source`,`runtime`,`copy`,`suppressed`]),sourceOwner:L.string().regex(B).nullable(),guard:a.nullable()}).strict().parse(e);return(o.status===`runtime`&&(o.source!==null||o.effective===null||o.sourceOwner!==null)||o.status===`suppressed`&&(t[0]!==`content`||o.source===null||o.effective!==null||o.guard===null)||o.status===`copy`&&(o.source===null||o.effective===null)||o.effective!==null&&o.guard===null||o.source===null&&o.effective===null)&&failure(`Invalid schema state: inconsistent status at ${n}`),{...o,sourceOwner:parseSchemaOwner(o.sourceOwner)}});return{...n.data,entries:i.sort(compareSchemaStateEntries)}}function parseSchemaState(e){try{return parseState(e)}catch(e){throw e instanceof L.ZodError?j.fromZodErrors(e.issues.map(e=>({path:e.path.map(String),message:e.message}))):e}}function diffSchemaState(e){let t=[];for(let n of[...e.entries].sort(compareSchemaStateEntries)){let e=n.source===null?`added`:n.status===`suppressed`?`suppressed`:n.effective===null?`removed`:I(n.source)===I(n.effective)?n.status===`copy`?`copied`:null:`changed`;e&&t.push({...n,change:e})}return{modelVersion:1,tenant:e.tenant,sourceFingerprint:e.sourceFingerprint,changes:t}}const $=L.string().min(1),qu=L.union([L.object({objectName:$,viewName:$,contentName:$.optional()}).strict().describe(`Full configuration of a view, or of one content when contentName is given`),L.object({objectId:$}).strict().describe(`An object with its attributes, by id`),L.object({objectName:$}).strict().describe(`An object with its attributes`),L.object({objectId:$,attributeName:$}).strict().describe(`One attribute's config, by name`),L.object({objectId:$,attributeId:$}).strict().describe(`One attribute's config, by id`),L.object({objectId:$,recordId:$}).strict().describe(`One sample record`)]);function parseNamedTarget(e){let t=qu.safeParse(e);if(!t.success)throw new j(`Invalid scoped target`,[{path:[`target`],message:`Expected exactly one named target branch`}]);return t.data}const Ju=[`object`,`attribute`,`view`,`content`,`sample`],Yu=L.object({mode:L.enum([`inline`,`window`]),interaction:L.enum([`static`,`interactive`]),size:L.enum([`compact`,`regular`]),aspectRatio:L.number().positive().finite().optional()}).strict(),Xu=L.object({artifactId:L.string().min(1),revision:L.number().int().positive(),name:L.string().min(1),kind:L.string().min(1),retention:L.enum(eu),display:Yu}).strict();function readArtifactResult(e){let t=Xu.safeParse(e);return t.success?t.data:null}const Zu=L.string().regex(/^[^/\s]+\/[^/\s]+$/),Qu=L.object({kind:L.literal(`generated-image`),artifact:L.unknown(),generation:L.object({attemptId:L.uuid(),requestedModelId:Zu,executedModelId:Zu.nullable(),format:L.enum(ou),mimeType:L.enum([`image/png`,`image/jpeg`,`image/webp`])}).strict()}).strict();function readGeneratedImageResult(e){let t=Qu.safeParse(e);if(!t.success)return null;let n=readArtifactResult(t.data.artifact);return!n||n.kind!==`image`?null:{...t.data,artifact:{...n,kind:`image`}}}function isCompletedToolPart(e){return e.type===`tool`&&e.state===`completed`}function readString(e,t){let n=e[t];return typeof n==`string`?n:void 0}function upsertWithPrecedence(e,t,n,r){let i=e.get(t),a=i&&r[i.kind]>r[n.kind]?i:n;e.delete(t),e.set(t,a)}function asRecord(e){return typeof e==`object`&&e&&!Array.isArray(e)?e:void 0}function readRefId(e,t,n){let r=readString(e,t),i=`${n}:`;return r?.startsWith(i)&&r.length>i.length?r.slice(i.length):void 0}function verbResultEntries(e){let t=asRecord(e);if(!t)return[];let n=[t];for(let e of[`members`,`created`,`updated`]){let r=t[e];if(Array.isArray(r))for(let e of r){let t=asRecord(e);t&&n.push(t)}}return n.filter(e=>!(`error`in e))}function extractReadRecordIds(e){let t=new Set;for(let n of e)if(n.role===`assistant`)for(let e of n.parts){if(!isCompletedToolPart(e)||e.name!==`read`)continue;let n=e.args.refs;if(Array.isArray(n))for(let e of n){if(typeof e!=`string`)continue;let n=parseReference(e);n.ok&&n.ref.kind===`record`&&t.add(n.ref.id)}}return[...t]}const $u={created:1,modified:0};function readSingleRecordEntry(e){if(typeof e!=`object`||!e)return null;let t=e,n=typeof t.record==`object`&&t.record!==null?t.record:void 0,r=(n&&readString(n,`id`))??readString(t,`recordId`);return r?{id:r,label:(n&&readString(n,`label`))??r,objectName:(n&&readString(n,`objectName`))??``}:null}function readBulkRecordEntries(e,t,n){if(typeof e!=`object`||!e)return[];let r=e[t];if(!Array.isArray(r))return[];let i=[];for(let e of r){if(typeof e!=`object`||!e)continue;let t=e,r=readString(t,`id`);r&&i.push({id:r,label:readString(t,`label`)??r,objectName:readString(t,`objectName`)??n})}return i}function readVerbRecordEntries(e){let t=asRecord(asRecord(e.result)?.record),n=readString(e.args,`object`)??(t&&readString(t,`objectName`))??``,r=[];for(let t of verbResultEntries(e.result)){let e=readRefId(t,`ref`,`record`);e&&r.push({id:e,label:readString(t,`title`)||readString(t,`label`)||e,objectName:readString(t,`objectName`)??n})}return r}function extractTouchedRecords(e){let t=new Map;for(let n of e)if(n.role===`assistant`)for(let e of n.parts){if(!isCompletedToolPart(e))continue;let n=[],r;if(e.name===`create_record`||e.name===`update_record`||e.name===`edit_content`){let t=readSingleRecordEntry(e.result);n=t?[t]:[],r=e.name===`create_record`?`created`:`modified`}else if(e.name===`bulk_create_records`||e.name===`bulk_update_records`){let t=readString(e.args,`objectId`)??``,i=e.name===`bulk_create_records`?`created`:`updated`;n=readBulkRecordEntries(e.result,i,t),r=e.name===`bulk_create_records`?`created`:`modified`}else if(e.name===`write`)n=readVerbRecordEntries(e),r=readString(e.args,`action`)===`create`?`created`:`modified`;else continue;for(let e of n){let n={recordId:e.id,objectName:e.objectName,label:e.label,kind:r};upsertWithPrecedence(t,e.id,n,$u)}}return[...t.values()]}const ed={modified:1,consulted:0};function isFilePart(e){return e.type===`file`}function entryFromDocumentMutation(e,t){if(typeof e.result!=`object`||e.result===null)return null;let n=e.result,r=readString(n,`documentId`)??(t===`folderId`?readString(n,t):void 0);return r?{id:r,title:readString(e.args,`name`)??readString(e.args,`title`)??r,kind:`modified`}:null}function entryFromReadDocument(e){let t=readString(e.args,`documentId`);return t?{id:t,title:t,kind:`consulted`}:null}function entryFromRef(e,t,n){let r=readRefId(e,`ref`,`file`),i=r??readRefId(e,`ref`,`document`);return i?{id:i,...r?{fileId:r}:{},title:n||readString(e,`title`)||i,kind:t,mimeType:readString(e,`mimeType`)}:null}function entriesFromOrganize(e){let t=asRecord(e.result);if(!t||`error`in t)return[];let n=readString(e.args,`action`),r=readString(e.args,`name`)??readString(e.args,`title`),i=readString(t,`documentId`);if(i)return[{id:i,title:r??i,kind:`modified`}];let a=readString(t,`folderId`);if(a)return n===`create_folder`?[{id:a,title:r??a,kind:`modified`}]:[];let o=entryFromRef(t,`modified`,r);return o?[o]:[]}function entriesFromCopy(e){let t=asRecord(e.result);if(!t||`error`in t)return[];let n=(Array.isArray(t.copied)?t.copied:[]).flatMap(e=>{let t=asRecord(e),n=t?entryFromRef(t,`modified`,void 0):null;return n?[n]:[]});if(n.length>0)return n;let r=entryFromRef(t,t.ref!==void 0&&t.ref===readString(e.args,`from`)?`consulted`:`modified`,void 0);return r?[r]:[]}function entriesFromRead(e){let t=asRecord(e.result);return(Array.isArray(t?.members)?t.members:[]).flatMap(e=>{let t=asRecord(e);if(!t||`error`in t||!readRefId(t,`ref`,`document`))return[];let n=entryFromRef(t,`consulted`,void 0);return n?[n]:[]})}function entriesFromToolPart(e){switch(e.name){case`organize`:return entriesFromOrganize(e);case`copy`:return entriesFromCopy(e);case`read`:return entriesFromRead(e);default:{let t=entryFromToolPart(e);return t?[t]:[]}}}function entryFromSandboxUpload(e){if(typeof e.result!=`object`||e.result===null)return null;let t=e.result,n=readString(t,`fileId`);return n?{id:n,fileId:n,title:readString(t,`title`)??n,kind:`modified`,mimeType:readString(t,`mimeType`)}:null}function entryFromToolPart(e){switch(e.name){case`update_document`:case`attach_file`:return entryFromDocumentMutation(e,`documentId`);case`create_folder`:return entryFromDocumentMutation(e,`folderId`);case`read_document`:return entryFromReadDocument(e);case`sandbox_upload_file`:return entryFromSandboxUpload(e);default:return null}}function extractTouchedDocuments(e){let t=new Map;for(let n of e)if(n.role===`assistant`){for(let e of n.parts)if(isCompletedToolPart(e))for(let n of entriesFromToolPart(e))upsertWithPrecedence(t,n.id,n,ed);else if(isFilePart(e)&&e.fileId){let n={id:e.fileId,fileId:e.fileId,title:e.name||e.fileId,kind:`modified`,mimeType:e.mimeType};upsertWithPrecedence(t,n.id,n,ed)}}return[...t.values()]}function extractTouchedArtifacts(e){let t=new Map;for(let n of e)if(n.role===`assistant`)for(let e of n.parts){if(!isCompletedToolPart(e)||e.error)continue;let n=e.name===`generate_image`?readGeneratedImageResult(e.result)?.artifact:e.name===`publish_artifact`?readArtifactResult(e.result):null;if(!n)continue;let r=`${n.artifactId}:${n.revision}`;t.delete(r),t.set(r,n)}return[...t.values()]}function isNonBlankString(e){return typeof e==`string`&&/\S/u.test(e)}const td=L.object({provider:L.custom(e=>isNonBlankString(e)&&e.length<=200,{message:`must be a non-blank string of at most 200 characters`}),model:L.string().max(200).regex(/\S/u)});function normalizeNewsLocale(e){return e.toLowerCase().split(`-`)[0]===`fr`?`fr`:`en`}function resolveLocalized(e,t){return e[normalizeNewsLocale(t)]||(e.en?e.en:e.fr||void 0)}function hasLocale(e){return!!(e.fr||e.en)}const nd=Object.keys({home:!0,agents:!0,routines:!0,object:!0,settings:!0}),rd=[`dot`,`label`,`bubble`];function parseNewsIntensity(e){return rd.find(t=>t===e)??`dot`}function parseNewsTarget(e){let[t,...n]=e.split(`:`),r=n.join(`:`);switch(t){case`home`:case`agents`:case`routines`:return r===``?{kind:t}:null;case`object`:return r?{kind:t,name:r}:null;case`settings`:return r?{kind:t,section:r}:null;default:return null}}function formatNewsTarget(e){return e.kind===`object`?`object:${e.name}`:e.kind===`settings`?`settings:${e.section}`:e.kind}function withoutTrailingSlashes(e){let t=e.length;for(;t>0&&e[t-1]===`/`;)--t;return e.slice(0,t)}const id=/^(\d+)\.(\d+)\.(\d+)(?:-([0-9A-Za-z.-]+))?$/;function compareIdentifiers(e,t){let n=/^\d+$/.test(e),r=/^\d+$/.test(t);return n&&r?Math.sign(Number(e)-Number(t)):n?-1:r?1:e<t?-1:+(e>t)}function compareVersions(e,t){let n=id.exec(e),r=id.exec(t);if(!(n&&r))return null;for(let e=1;e<=3;e+=1){let t=Number(n[e])-Number(r[e]);if(t!==0)return t<0?-1:1}let i=n[4],a=r[4];if(i===void 0&&a===void 0)return 0;if(i===void 0)return 1;if(a===void 0)return-1;let o=i.split(`.`),s=a.split(`.`);for(let e=0;e<Math.max(o.length,s.length);e+=1){let t=o[e],n=s[e];if(t===void 0)return-1;if(n===void 0)return 1;let r=compareIdentifiers(t,n);if(r!==0)return r<0?-1:1}return 0}function isSemver(e){return id.test(e)}const ad=30,od=90,sd=50,cd=L.looseObject({fr:L.string().optional(),en:L.string().optional()}),ld=L.iso.datetime({offset:!0}),ud=L.looseObject({id:L.string().min(1),slug:L.string().min(1),updatedAt:ld,publishedAt:ld,since:L.string(),displayDays:L.number().int().positive().optional(),requires:L.looseObject({capability:L.string(),level:L.string()}).optional(),target:L.string().optional(),intensity:L.unknown().optional(),title:cd,summary:cd});function knownRequirement(e){let t=G.find(t=>t.id===e.capability);return t!==void 0&&levelActions(t,e.level).length>0}function parseEntry(e){let t=ud.safeParse(e);if(!t.success)return`malformed entry: ${t.error.issues[0]?.message??`invalid`}`;let n=t.data;if(!isSemver(n.since))return`entry ${n.id}: since "${n.since}" is not semver`;if(!hasLocale(n.title))return`entry ${n.id}: title has no locale`;if(!hasLocale(n.summary))return`entry ${n.id}: summary has no locale`;if(n.requires&&!knownRequirement(n.requires))return`entry ${n.id}: unknown requirement ${n.requires.capability}/${n.requires.level}`;let r=n.target?parseNewsTarget(n.target):null;return{...n,displayDays:n.displayDays??30,intensity:parseNewsIntensity(n.intensity),target:r??void 0}}function httpsUrl(e){return typeof e==`string`&&e.startsWith(`https://`)?e:void 0}function parseNewsIndex(e,t){if(typeof e!=`object`||!e||Array.isArray(e))throw new j(`News feed: document must be an object`,[]);let n=e;if(!Array.isArray(n.entries))throw new j(`News feed: entries must be an array`,[]);let r=[];for(let e of n.entries){let n=parseEntry(e);typeof n==`string`?t?.(n):r.push(n)}let i=httpsUrl(n.blogUrl),a=httpsUrl(n.mediaBaseUrl),o=a?withoutTrailingSlashes(a):void 0;return{...i?{blogUrl:i}:{},...o?{mediaBaseUrl:o}:{},entries:r.slice(0,50)}}const dd=L.looseObject({id:L.string().min(1),slug:L.string().min(1),updatedAt:ld,body:cd});function parseNewsBody(e){let t=dd.safeParse(e);if(!t.success)throw new j(`News body: malformed document`,[]);if(!hasLocale(t.data.body))throw new j(`News body: body needs at least one locale`,[]);return t.data}function preference(e,t){return{key:e,value:t.value,default:t.default,audited:t.audited??!1,...t.parameter===void 0?{}:{parameter:t.parameter},...t.parameters===void 0?{}:{parameters:t.parameters},...t.refine===void 0?{}:{refine:t.refine}}}const fd=``;function refusal(e,t){return{ok:!1,field:e,message:t,issues:[{path:[e],message:t}]}}function declarationOf(e,t){return`get`in e?e.get(t):e.find(e=>e.key===t)}function locatePreference(e,t,n){let r=declarationOf(e,t);return r?r.parameter===void 0?n===void 0?{ok:!0,declaration:r,parameter:``}:refusal(`parameter`,`Preference "${t}" takes no parameter`):n===void 0||n===``||n.trim()!==n?refusal(`parameter`,`Preference "${t}" is keyed by ${r.parameter}`):r.parameters&&!r.parameters.includes(n)?refusal(`parameter`,`"${n}" is not a ${r.parameter} of "${t}"`):{ok:!0,declaration:r,parameter:n}:refusal(`key`,`Unknown preference "${t}"`)}function judgePreferenceWrite(e,t,n,r){let i=locatePreference(e,t,n);if(!i.ok)return i;let a=i.declaration.value.safeParse(r);if(a.success){let e=i.declaration.refine?.(a.data,i.parameter);return e===void 0?{...i,value:a.data}:refusal(`value`,e)}return{ok:!1,field:`value`,message:`Invalid value for preference "${t}"`,issues:a.error.issues.map(e=>({path:[`value`,...e.path.map(String)],message:e.message}))}}const pd=L.strictObject({model:td.optional(),routing:L.literal(`auto`).optional()}),md=L.strictObject({inApp:L.boolean()});function isActionableType(e){let t=h[e];return t!==void 0&&me(t.kind)}const hd=[preference(`workPosture`,{value:L.enum(Qa),default:`auto`,audited:!0}),preference(`chat.default`,{value:pd,default:{},audited:!0}),preference(`conversationSurface`,{value:L.enum(ti),default:`panel`}),preference(`mailboxListMode`,{value:L.enum(Gi),default:`threads`}),preference(`home`,{value:L.string().uuid().nullable(),default:null}),preference(`memory.learnFromEmail`,{value:L.boolean(),default:!0,audited:!0}),preference(`memory.shareWithTeam`,{value:L.boolean(),default:!0,audited:!0}),preference(`decisions.seenAt`,{value:L.iso.datetime().nullable(),default:null}),preference(`decisions.delivery`,{value:md,default:{inApp:!0},parameter:`decision type`,parameters:Object.keys(h),refine:(e,t)=>!e.inApp&&isActionableType(t)?`A "${t}" decision asks you to act: it is always shown in-app`:void 0})];function preferenceEntry(e,t,n){return n===void 0?{key:e,value:t}:{key:e,parameter:n,value:t}}function withPreferenceEntry(e,t){if(t.parameter===void 0)return{...e,values:{...e.values,[t.key]:t.value}};let n=e.entries.findIndex(e=>e.key===t.key&&e.parameter===t.parameter),r=n===-1?[...e.entries,t]:e.entries.map((e,r)=>r===n?t:e);return{...e,entries:r}}export{Sr as ACCESS_LEVELS,Cr as ACCESS_ROLES,e as ACTIONABLE_DECISION_KINDS,g as AGENDA_BLOCK,wr as AGENT_ASIDE_ANSWER_MAX_LENGTH,Tr as AGENT_ASIDE_HISTORY_LIMIT,Er as AGENT_ASIDE_QUESTION_MAX_LENGTH,Dr as AGENT_AVATAR_EXPRESSIONS,Or as AGENT_AVATAR_TYPES,kr as AGENT_MESSAGE_KIND,Ar as AGENT_NOTIFICATION_KIND,jr as AGENT_SESSION_ACCESS_ROLES,Mr as AGENT_SESSION_LIST_ORDERS,Nr as AGENT_SESSION_ORIGINS,Pr as AGENT_SESSION_PROVENANCES,Fr as AGENT_STARTERS_MAX,Ir as AGENT_STARTER_MAX_LENGTH,Lr as AGENT_SYSTEM_PROMPT_MAX_LENGTH,Rr as AGENT_TASK_KINDS,t as AGGREGATE_BUCKETS,n as AGGREGATE_MEASURES,lu as ALLOWED_PROPERTY_TYPES,zr as ALL_CATALOG_TOOL_NAMES,V as ALL_PIPES,Br as ALWAYS_KINDS,Fu as APPEARANCE_FACETS,Vr as APPROVAL_FAMILY_TOOL_NAMES,Hr as ARCHITECT_PUBLICATION_KIND,tu as ARTIFACT_FILE_ROLES,$l as ARTIFACT_KINDS,ge as ARTIFACT_PREVIEW_EXTENSION,eu as ARTIFACT_RETENTIONS,Ur as ASK_QUESTIONS_ANSWER_MAX_LENGTH,Wr as ASK_QUESTIONS_ANSWER_MAX_VALUES,Gr as ASK_QUESTIONS_MAX_BATCH,Kr as ASK_QUESTIONS_TOOL_NAME,_e as ATTRIBUTE_FILTER_OPERATORS,sc as ATTRIBUTE_NAME_SCHEMA,ve as ATTRIBUTE_TYPES,qr as AUDIT_ACTIONS,Jr as AUDIT_AGENT_SESSION_METADATA_KEY,Yr as AUDIT_RESOURCE_TYPES,Mn as AccessDeniedError,AgendaBuilder,M as AgentBuilder,Nn as AggregateValidationError,Pn as AmbiguousSchemaChangeError,Fn as AttributeInUseError,In as AttributeNotFoundError,ye as BLOCK_CONTEXTS,be as BLOCK_PERIODS,_ as BLOCK_WIDTHS,Xr as BROWSER_LAUNCH_TOOL_NAME,Zr as BROWSER_TOOL_NAMES,Qr as BUNDLE_LOCALES,q as BUNDLE_NAME_PATTERN,cu as BYTE_UNIT_LABELS,BlockContentBuilder,BundleBuilder,v as CARD_BLOCK,xu as CATALOG_RESOURCES,y as CHART_BLOCK,xe as CHART_KINDS,Dc as COMPUTED_RETURN_TYPES,$r as CONNECTION_GRANT_PROVIDERS,Hu as CONNECTOR_CALLBACK_PARAM,Se as CONTENT_PLACEMENT_CONTEXTS,ei as CONTINUATION_KEY_PATTERN,ti as CONVERSATION_SURFACES,ni as COPY_VERB_NAME,J as CORE_BUNDLE_NAME,hd as CORE_PREFERENCES,ri as CORE_RECORD_TOOL_NAMES,ii as CORE_TOOL_NAMES,ai as COUNT_MODES,bu as CUSTOM_LEVEL,CardBuilder,ChartBuilder,ChartQuery,Ln as ConcurrentModificationError,Z as ContentBuilder,Ce as DECISIONS_BLOCK,r as DECISION_INBOX_STATES,i as DECISION_KINDS,a as DECISION_LINE_MAX_LENGTH,o as DECISION_LINK_TARGET_TYPES,s as DECISION_LIST_STATES,c as DECISION_READ_STATES,l as DECISION_SETTINGS_AREAS,u as DECISION_TITLE_MAX_LENGTH,d as DECISION_TYPES_V1,f as DECISION_TYPE_ACCESS_GRANTED,p as DECISION_TYPE_AGENT_APPROVAL,m as DECISION_TYPE_AGENT_MESSAGE,ee as DECISION_TYPE_AGENT_QUESTION,te as DECISION_TYPE_AGENT_REVIEW,ne as DECISION_TYPE_AGENT_ROUTINE_RUN_FAILED,re as DECISION_TYPE_AGENT_SETUP,ie as DECISION_TYPE_CONNECTOR_CONNECTION_ERROR,ae as DECISION_TYPE_CONNECTOR_CONNECTION_REAUTH_REQUIRED,oe as DECISION_TYPE_ENVIRONMENT_BUILD_FAILED,h as DECISION_TYPE_KINDS,se as DECISION_TYPE_PERSON,ce as DECISION_TYPE_RECORD_ASSIGNED,le as DECISION_TYPE_RECORD_MENTIONED,ue as DECISION_WORK_STATES,oi as DEFAULT_AGENT_EXECUTION_CONFIG,si as DEFAULT_AGENT_TOOL_GROUPS,Mu as DEFAULT_APPEARANCE_ICON,ci as DEFAULT_APPROVAL_POLICY,li as DEFAULT_BLUEPRINT_TOOL_GROUPS,ui as DEFAULT_DAILY_ACTIVITY_DAYS,Ql as DEFAULT_DICTATION_LIMITS,_u as DEFAULT_LABEL_FALLBACK,we as DEFAULT_LAYOUT_TRAITS,di as DEFAULT_MEETING_BOT_DISPLAY_NAME,fi as DEFAULT_TENANT_SETTINGS,vl as DEFAULT_VALIDATION_MESSAGES,Nl as DEVICE_CHANNEL_AUTHENTICATE_TIMEOUT_MS,Pl as DEVICE_CHANNEL_IDLE_POLL_MS,Il as DEVICE_CHANNEL_KEEPALIVE_MS,Ml as DEVICE_CHANNEL_MAX_FRAME_BYTES,jl as DEVICE_CHANNEL_PATH,Fl as DEVICE_CHANNEL_PRESENCE_MS,Ll as DEVICE_CHANNEL_WORKER_CLOSE_PROTOCOL_VIOLATION,zl as DEVICE_COMMAND_ERROR_CODES,Xl as DICTATION_FINALIZATION_TIMEOUT_MS,Wl as DICTATION_FRAME_BYTES,Kl as DICTATION_MAX_BUFFER_BYTES,Gl as DICTATION_MAX_FRAME_BYTES,ql as DICTATION_MAX_TRANSCRIPT_BYTES,Zl as DICTATION_MODEL_ID,Yl as DICTATION_PREPARATION_TIMEOUT_MS,Ul as DICTATION_SAMPLE_RATE,Jl as DICTATION_TICKET_TTL_MS,pi as DISCARD_ARCHITECT_DRAFT_TOOL_NAME,mi as DOCUMENT_SORT_MODES,Ju as DRAFT_CONFLICT_KINDS,hi as DRAFT_WRITE_TOOL_NAMES,DecisionsBuilder,DeviceChannelProtocolError,Vl as DeviceChannelServerFrameSchema,Bl as DeviceChannelWorkerFrameSchema,D as DuplicateError,gi as EMAIL_CATEGORY_DEFAULT_COLOR,_i as EMAIL_CATEGORY_DEFAULT_ICON,vi as EMAIL_CATEGORY_DESCRIPTION_MAX,yi as EMAIL_CATEGORY_DESCRIPTION_MIN,bi as EMAIL_CATEGORY_LIMIT,xi as EMAIL_CATEGORY_NAME_MAX,Si as ENVIRONMENT_BUILD_LOG_STEP_PREFIX,Ci as ENVIRONMENT_HARNESSES,wi as ENVIRONMENT_HARNESS_SANDBOX_WORKDIR,Ti as ENVIRONMENT_HARNESS_WORKDIR,Ei as ENVIRONMENT_IMAGES,Di as ENVIRONMENT_MEMORY_GB_PER_VCPU,Oi as ENVIRONMENT_NAME_MAX_CHARS,ki as ENVIRONMENT_NETWORK_ALLOW_MAX,Ai as ENVIRONMENT_SCRIPT_MAX_BYTES,ji as ENVIRONMENT_SIZES,Mi as ENVIRONMENT_SIZE_VCPUS,Ni as ENVIRONMENT_STANDARDS_WORKDIR,Pi as ENV_VAR_KEY_PATTERN,Fi as ESTIMATED_COUNT_CAP,Rn as ExportTooLargeError,Ii as FILE_URLS_MAX_IDS,z as FORM_FORBIDDEN_ATTRIBUTE_TYPES,zn as ForbiddenError,FormBuilder,FormRowBuilder,FormStepBuilder,Li as GET_ARCHITECT_DRAFT_TOOL_NAME,Ri as GITHUB_TRIGGER_CATALOG,zi as GRANT_ENABLES,Te as GROUPABLE_ATTRIBUTE_TYPES,Lu as GroupBuilder,Ee as HEADING_BLOCK,Bi as HITL_TOOL_NAMES,ou as IMAGE_FORMATS,Nu as IMAGE_SHAPES,Pu as IMAGE_SOURCES,Vi as INFERENCE_REASONING_OPTIONS,Hi as INFERENCE_ROUTING_MODES,Ui as INFERENCE_SPEEDS,De as INVENTORY_LIMIT,Bn as InvalidPermissionGrantError,Wi as LAST_RUN_ERROR_MAX_LENGTH,cc as LIST_VIEW_TAB_VISIBILITIES,Oe as LOCATION_FILTER_PROPERTIES,Vn as LogoProviderUnavailableError,Hn as LogoSearchRateLimitedError,ke as MAILBOX_BLOCK,Gi as MAILBOX_LIST_MODES,Ki as MAIL_DRAFT_BODY_MAX_CHARS,qi as MAIL_SIGNATURE_MAX_CHARS,Ji as MAIL_SUBJECT_MAX_CHARS,de as MAX_AGGREGATE_GROUPS,Yi as MAX_DAILY_ACTIVITY_DAYS,Hl as MAX_PRESET_DEPTH,Xi as MAX_TODOS,Zi as MAX_TODO_DESCRIPTION_CHARS,Qi as MAX_TODO_ID_CHARS,$i as MCP_SERVER_NAME_MAX_LENGTH,Ae as MEASURABLE_ATTRIBUTE_TYPES,je as MEETINGS_UPCOMING_BLOCK,ea as MEETING_BOT_IMAGE,ta as MEETING_BOT_IMAGE_BASE64_MAX_LENGTH,na as MEETING_RESPONSES,K as MEMORY_ATTRIBUTES,Eu as MEMORY_PAGE_MAX_CHARS,ra as MEMORY_SPEND_LIMIT_PATTERN,Du as MEMORY_WORKSPACE_PROFILE,Tu as MEMORY_WRITE_SOURCE,b as METRIC_BLOCK,MailboxBuilder,ia as McpOAuthCompletionMode,Un as MemoryNotFoundError,MetricBuilder,MetricQuery,MultiRelationAttributeBuilder,kl as NATIVE_AGENT_UI_PART_IDS_METADATA_KEY,Al as NATIVE_AGENT_UI_PART_IDS_METADATA_SCHEMA_VERSION,Me as NATIVE_BLOCKS,lc as NATIVE_OBJECT_NAMES,aa as NATIVE_TOOL_GROUPS,oa as NATIVE_TOOL_GROUP_CATALOG,ad as NEWS_DEFAULT_DISPLAY_DAYS,od as NEWS_DISPLAY_CAP_DAYS,sd as NEWS_INDEX_MAX_ENTRIES,rd as NEWS_INTENSITIES,nd as NEWS_TARGET_KINDS,U as NO_ACCESS,fd as NO_PREFERENCE_PARAMETER,sa as NO_RECORDING,Ne as NO_VALUE_OPERATORS,Yc as NonJsonValueError,NoopGeocodingAdapter,Wn as NotFoundError,Gn as NotImplementedError,W as OBJECT_GRANT,uc as OBJECT_NAME_SCHEMA,ca as OPEN_TOOL_PART_STATES,la as OPERATION_MAX_STEPS,Pe as OPERATORS_BY_TYPE,ObjectBuilder,Kn as ObjectNotFoundError,qn as ObjectReferencedError,Jn as OrphanSystemAttributeError,Fe as PAGE_GRID_COLUMNS,Cu as PERMISSION_ACTIONS,G as PERMISSION_CAPABILITIES,yu as PERMISSION_CATALOG,du as PIPES_WITH_ARGS,ua as PROVIDER_DRAFT_LABEL,da as PROVIDER_NAMES,fa as PUBLIC_MAIL_DOMAINS,Y as PageBuilder,Yn as PageReferencedError,Xn as ProtectedResourceError,Zn as ProtectedRoleError,Ie as QUALIFIED_SEPARATOR,Le as QUERY_OBJECT,pa as QUESTION_FAMILY_TOOL_NAMES,su as QUOTA_KEYS,Qn as QueryTimeoutError,ma as RECENT_ACTIVITY_LEDGER_LIMIT,ha as RECIPIENT_IDENTITIES_MAX,ga as RECORDING_OVERRIDES,_a as RECORDING_POLICIES,va as RECORD_ACCESS_ROLES,ya as RECORD_ACCESS_SOURCES,ba as RECORD_DRIVE_CURSOR_MAX_LENGTH,xa as RECORD_DRIVE_PAGE_DEFAULT_LIMIT,Sa as RECORD_DRIVE_PAGE_MAX_LIMIT,Ca as RECORD_GRAPH_DEFAULT_LIMIT_PER_NODE,wa as RECORD_GRAPH_MAX_LIMIT_PER_NODE,Ta as RECORD_GRAPH_MAX_NODES,Ea as RECORD_IMAGE_MAX_BYTES,Re as RECORD_LINKS_BLOCK,x as RECORD_LINKS_CONTENT,dc as RECORD_LIST_SCOPES,ze as RECORD_OBJECT,zu as REFERENCE_KINDS,Be as RELATION_TARGET_ANY,Ve as REMOVED_OPERATOR_REPLACEMENTS,Da as REPLY_MODES,Oa as REQUEST_DESIGN_REVIEW_TOOL_NAME,ka as REQUEST_SETUP_TOOL_NAME,fc as RESERVED_ATTRIBUTE_NAMES,pc as RESERVED_OBJECT_NAMES,Aa as RESOURCE_GRANT_KINDS,ja as RESOURCE_KIND_CATALOG,mc as RESOURCE_VISIBILITIES,Ma as ROUTING_PRICE_CEILINGS,$n as RealtimeDeliveryError,er as RealtimeRateLimitedError,tr as RealtimeSubscriptionError,nr as RecordNotFoundError,He as RecordQuery,rr as RecordReferencedError,ir as RepositoryError,O as ReservedObjectNameError,ar as RoleNotFoundError,N as SCHEMA_LIMITS,B as SCHEMA_OWNER_PATTERN,Uu as SCHEMA_SOURCE_RETYPE_FROM,Na as SEND_VERB_NAME,Pa as SESSION_INFERENCE_PATCH_KEYS,uu as SIMPLE_PIPES,Oc as SIMPLE_PROPERTY_TYPES,Fa as SLACK_TRIGGER_CATALOG,Ia as SPEAKS_THROUGH_SEND_METADATA_KEY,Ou as STANDARD_SCHEMA_VENDOR,La as SURFACE_TOOL_NAMES,Ue as SYNONYM_ALIASES,We as SYSTEM_ATTRIBUTES,Ge as SYSTEM_ATTRIBUTE_I18N_KEYS,Ra as SYSTEM_EMAIL_CATEGORIES,za as SYSTEM_EMAIL_CATEGORY_NAMES,hc as SYSTEM_FIELD_NAMES,Ke as SYSTEM_FILTER_ATTRIBUTE_TYPES,Ba as SYSTEM_PART_CODES,k as SchemaError,A as SchemaErrorCode,or as SearchBackendError,sr as SearchPathNotIndexedError,SingleRelationAttributeBuilder,cr as StorageError,lr as SyncCascadeError,ur as SyncConflictError,dr as SyncError,fr as SystemEntityImmutableError,Va as TASK_DEMAND_LEVELS,nu as TENANT_INVITATION_DEFAULT_TTL_MS,iu as TENANT_INVITATION_MAX_TTL_MS,ru as TENANT_INVITATION_MIN_TTL_MS,au as TENANT_INVITATION_RESEND_INTERVAL_MS,S as TEXT_BLOCK,gl as TEXT_FORMAT_PATTERNS,Ha as TODO_PHASES,Ua as TODO_PLAN_STATUSES,Wa as TODO_STATUSES,Ga as TOOL_APPROVAL_STATES,Ka as TRIAGE_ACTIONS,qa as TRIGGER_EVENT_TYPES,Ja as TURN_OUTCOMES,pr as ToolGroupGrantError,Ya as UNSHAREABLE_OBJECT_NAMES,Xa as USERS_RESOLVE_MAX_IDS,Za as USER_STATUSES,Qa as USER_WORK_POSTURES,$a as VERB_NAMES,j as ValidationError,X as ViewBuilder,kc as WIRE_OFFERED_BASE_CONFIG,Ac as WIRE_OMITTED_CONFIG_KEYS,mr as WorkspaceInvariantReason,eo as agent,to as agentAvatarFromMetadata,no as agentAvatarSchema,ro as agentDataChunk,io as agentDisplayName,ao as agentInferencePreferencesSchema,oo as agentMessageAttachmentSchema,so as agentMessagePartSchema,co as agentScheduleSchema,lo as agentSessionInferenceOverridesInputSchema,uo as agentSessionInferenceOverridesSchema,fo as agentSessionMessageSchema,po as agentStartersSchema,mo as agentTriggerBaseSchema,ho as agentTriggerPatchSchema,go as agentTriggerSchema,_o as agentUIValidationError,applyPipes,vo as artifactQuoteSchema,Xc as asTenantId,Zc as asUserId,yo as askQuestionsOutputSchema,assertBundleName,bo as assertCustomAgentUIMessageChunk,assertSchemaSourceResolutions,xo as assertSessionState,jc as attributeConfigSchemas,qe as attributeFilterTarget,Je as attributeInventory,Ye as blockObjectInputs,buildPropertySchema,Xe as buildQualifiedAttribute,builtBundleFromPieces,bundle,I as canonicalStringify,So as canonicalToolGroups,Ze as canonicalizeFilterValue,capabilityForResource,Qe as capped,checkbox,Co as classificationRestoreSchema,wo as classifyEmailSchema,To as cliDefaultModelOf,$e as collectContentViewCatalogue,et as collectQualifiedRuleIssues,tt as collectionContentSourceSchema,nt as collectionSourceAddress,rt as collectionSourceAddressOf,_c as colorIdSchema,it as columnsSchema,Eo as compareAgentSessionMessages,compareSchemaStateEntries,compareVersions,Do as compiledHarnessModels,computeByteMagnitude,computeReconnectDelay,computeRetryDelay,Oo as connectionGrantKindsOf,ko as connectorTriggerMatchSchema,Ru as content,contentDefinition,C as contentExtensionRegistry,at as contentReadObjects,w as contentViewDefinitionSchema,ot as contentViewDefinitionSchemaFor,convertRetypedValue,il as createAttributeValidator,al as createFormAttributeValidator,createStandardSchemaProps,currency,st as currentActor,Ao as customDataChunkSchemas,date,fe as decisionThreadKey,declaredImageRequests,jo as decodeAgentSessionListCursor,Qc as deepEqual,ct as defineBlock,deriveLayout6,Mo as deriveViewerAccess,lt as describeViewIssue,detailView,deviceChannelUrl,diffSchemaState,ut as displayAttributesSchema,document,dt as draftContentViewDefinitionSchema,ft as draftContentViewDefinitionSchemaFor,droppedContents,No as durableDateSchema,pt as edgePropertyFilterTarget,Po as emailCategoryCreateSchema,Fo as emailCategoryDeleteSchema,Io as emailCategoryScopeQuerySchema,Lo as emailCategoryUpdateSchema,Ro as emailRuleScopeSchema,zo as encodeAgentSessionListCursor,Bo as environmentHarness,Vo as environmentWorkdir,extractAttributeNames,extractAttributePaths,mt as extractCurrencyFilterValue,ht as extractFilterValue,extractReadRecordIds,extractTouchedArtifacts,extractTouchedDocuments,extractTouchedRecords,gt as filterOperatorsOfType,_t as filterStateSchema,vt as filterTargetsOf,Ho as findEnvironmentHarness,findGrantIssues,yt as findGridViolation,bt as findGroupViolation,xt as findLayoutRuleViolation,St as findRelationAttribute,Ct as findRowLimitViolation,form,formFieldFlatKey,formFieldKey,formatByteSize,pe as formatDecisionLink,formatNewsTarget,bl as formatPhoneForDisplay,formatReference,yl as formatZodErrors,formula,$c as generateId,wt as getAttributeCapabilities,Nc as getAttributeConfigSchema,Pc as getAttributeConfigWriteSchema,Tt as getAttributeFilterOperators,getEditableLabelAttribute,Et as getOperatorPolarity,Dt as getRollupFilterOperators,getSingleAttributeFromExpression,getSlotFieldTargets,Ot as getSystemAttributeI18nKey,kt as getSystemAttributeList,Uo as githubConditionSchema,Wo as githubTriggerMatchSchema,Go as grantKindOf,At as gridPositionSchema,group,jt as groupSizeMessage,Mt as groupedMembers,Ko as harnessModelChoices,hasLocale,hasOptions,hashBundlePieces,qo as humanRequestId,Jo as humanRequestKind,P as iconNameSchema,imageLookupKindOf,imageModelFormatDefect,Yo as imageModelIdSchema,el as indexBy,Nt as inferInverseCardinality,Xo as inferenceReasoningSchema,Zo as inferenceRoutingSchema,Qo as inferenceSpeedSchema,Pt as input,Ft as invalidViewMessage,me as isActionableDecisionKind,$o as isAgentMessageMetadata,es as isAgentNotificationMetadata,ts as isAgentUIDataName,ns as isAgentWrittenAuditEntry,rs as isArchitectPublicationMetadata,It as isAttributeFilterable,Lt as isAttributeGroupable,hr as isAttributeInUseError,Rt as isAttributeKanbanGroupable,zt as isAttributeSearchable,Bt as isAttributeSortable,is as isAwaitingHuman,Vt as isBilateralRelation,as as isBlocking,isBundle,Ht as isCalendarDay,isCatalogResource,Ut as isCollectionContent,Wt as isDynamicValue,sl as isEmptyValue,os as isEnvironmentHarnessId,isFormDefinition,isFormFieldsRow,isFormFreeFieldRef,isFormHeadingRow,isFormSeparatorRow,isFormSlotFieldRef,isFormTextRow,isImageSource,isLabelExpression,Gt as isLocationFilterProperty,Kt as isLocationPartOperator,ss as isMailProvider,cs as isMailboxListMode,qt as isManagedSystemAttribute,vc as isNativeObjectName,ls as isNativeToolGroup,Jt as isNoValueOperator,gr as isNotFoundError,cl as isNullishOrEmptyString,_r as isObjectReferencedError,us as isOpenToolPartState,ds as isParkedOnHuman,yc as isPlainRecord,vr as isProtectedResourceError,fs as isProviderDraft,ps as isPublicMailDomain,ms as isQuestionPart,yr as isRecordReferencedError,Yt as isRelativeDateValue,hs as isReplyMode,gs as isResourceGrant,_s as isRoutineActorMetadata,br as isSchemaError,isSemver,vs as isSessionInferencePatch,Xt as isSetMembershipOperator,isStandardSchema,ys as isSystemEmailCategory,bs as isSystemEmailCategoryName,xs as isSystemPartCode,Ss as isToolApprovalState,Zt as isUniversalRelation,xr as isValidationError,ll as isValuePresent,isWherePipe,isWildcard,judgePreferenceWrite,keptFill,H as labelExpressionSchema,Qt as layoutTraitsOf,levelActions,levelFloor,levelOf,listView,locatePreference,location,$t as locationPartFilterTarget,Cs as lockingSendCall,ws as meetingBotDispatchRequestSchema,Ts as meetingBotDispatchResponseSchema,Es as meetingBotNotificationSchema,Ds as meetingTranscriptSegmentSchema,en as memberlessGroups,memoryPageViewOf,Os as mentionReferenceSchema,ks as mergeSessionInferencePatch,tn as metricComparePeriod,As as modelDefinitionSchema,td as modelIdentitySchema,js as modelReferenceSchema,multiselect,nameSlug,qu as namedTargetSchema,nativeAgentUIPartIdMetadataKey,Ms as needsManageWhenUnattended,Sl as normalizeCountrylessPhoneNumber,nn as normalizeFilterRule,rn as normalizeForEdgeRpc,normalizeNewsLocale,an as normalizeOperator,Cl as normalizePhoneNumber,Ns as normalizedMeetingTranscriptSchema,on as now,number,object,Iu as objectImageSchema,Ps as openRequests,Fs as orderAgentSessionMessages,packLayout,page,pageCompactor,cn as pageTraitsOf,Is as parseAgentDefinitionAccessRole,Ls as parseAgentSessionAccessRole,Fc as parseAttributeConfig,Ic as parseAttributeConfigForCreate,Lc as parseAttributeConfigForUpdate,T as parseBlockParameters,Rs as parseCountMode,he as parseDecisionLink,parseDeviceChannelFrame,zs as parseMergedAgentTrigger,parseNamedTarget,parseNativeAgentUIPartIdsMetadata,parseNewsBody,parseNewsIndex,parseNewsIntensity,parseNewsTarget,Bs as parseOptionalCountMode,Vs as parsePageAccessRole,ln as parseQualifiedAttribute,Hs as parseRecordAccessRole,bc as parseRecordListScope,parseReference,xc as parseResourceVisibility,parseSchemaGroupPresentation,parseSchemaOwner,parseSchemaState,parseServerFrame,Us as parseToolGroupGrant,parseWherePipe,parseWorkerFrame,wu as permissionGrantSchema,phone,placeNew,preference,preferenceEntry,Rc as propertyAttributeSchema,zc as propertyAttributeWireSchema,Bc as propertySchemaSchema,Vc as propertySchemaWireSchema,Ws as providerNameSchema,E as publishedViewContentDefinitionSchema,un as query,readArtifactResult,Gs as readAskQuestionsResult,readFormFieldValue,readGeneratedImageResult,Ks as recentActivityEntryKey,qs as recordGraphNodeKey,Js as recordGraphRequestSchema,recordLinksTab,Ys as recordMeetingsCount,Xs as recordOperationSchema,dn as recordQueryDefinitionSchema,Zs as refineTrigger,Hc as refuseForeignKeys,ul as rejectUnknownAttributesOrThrow,relation,fn as relationAcceptsObject,relationProperty,pn as relationTargetsOf,renderLabelExpression,repairPageGrid,requestedCapabilities,hn as requireRecordContentContext,gn as requireSingleRelationTarget,resolveAppearance,_n as resolveCollectionActions,vn as resolveContentNavigation,yn as resolveEffectiveFilterType,resolveFieldRequired,bn as resolveIsWithinBounds,resolveLocalized,resolvePageGrid,resolvePropertyDefinitions,_l as resolveTextPattern,xn as resolveUtcDayBounds,resolveViewContents,Qs as resourceGrant,richtext,rollup,$s as routedMessageInferenceSchema,sameActions,tl as sameStableValue,schemaGroupKey,schemaStateSourcePayload,select,Uc as selectOptionWriteSchema,nl as serializeCanonicalJson,rl as serializeStableJson,ec as sessionInferencePatchSchema,settleLayout,sha256Hex,Sn as singleRelationTarget,tc as slackConditionSchema,nc as slackTriggerMatchSchema,snapWidth,Cn as sortsSchema,wn as sourcedAttributeOf,status,Wc as statusGroupSchema,Gc as statusOptionWriteSchema,storedContentDefinition,Tn as systemColumnFilterTarget,text,En as toMultiValueOperator,Dn as toUtcDayString,On as today,rc as todoItemSchema,ic as todoPlanSchema,ac as toolImpactSchema,user,oc as utf8ByteLength,dl as validateAttribute,Sc as validateAttributeName,kn as validateContentViewCatalogue,fl as validateDraft,pl as validateDraftOrThrow,validateLabelExpression,ml as validateObject,validateObjectExpressions,validateObjectImage,Tc as validateObjectName,hl as validateObjectOrThrow,An as validateQualifiedRule,jn as validateStoredViews,Ec as validateViewName,widthStepConstraint,Kc as wireHiddenTypeConfigMask,qc as wireOmittedConfigKeysFor,withPreferenceEntry,withoutTrailingSlashes,Jc as withoutUnknownOptionKeys,workspaceViewAuthoring};
|
|
2
|
+
import{ACTIONABLE_DECISION_KINDS as e,AGGREGATE_BUCKETS as t,AGGREGATE_MEASURES as n,DECISION_INBOX_STATES as r,DECISION_KINDS as i,DECISION_LINE_MAX_LENGTH as a,DECISION_LINK_TARGET_TYPES as o,DECISION_LIST_STATES as s,DECISION_READ_STATES as c,DECISION_SETTINGS_AREAS as l,DECISION_TITLE_MAX_LENGTH as u,DECISION_TRANSFERS_KEY as d,DECISION_TYPES_V1 as f,DECISION_TYPE_ACCESS_GRANTED as p,DECISION_TYPE_AGENT_APPROVAL as m,DECISION_TYPE_AGENT_MESSAGE as h,DECISION_TYPE_AGENT_QUESTION as ee,DECISION_TYPE_AGENT_REVIEW as te,DECISION_TYPE_AGENT_ROUTINE_RUN_FAILED as ne,DECISION_TYPE_AGENT_SETUP as re,DECISION_TYPE_CONNECTOR_CONNECTION_ERROR as ie,DECISION_TYPE_CONNECTOR_CONNECTION_REAUTH_REQUIRED as ae,DECISION_TYPE_ENVIRONMENT_BUILD_FAILED as oe,DECISION_TYPE_KINDS as g,DECISION_TYPE_PERSON as se,DECISION_TYPE_RECORD_ASSIGNED as ce,DECISION_TYPE_RECORD_MENTIONED as le,DECISION_WORK_STATES as ue,HIERARCHY_ATTRIBUTE_IDS as de,HIERARCHY_ATTRIBUTE_NAMES as fe,HIERARCHY_CHILD_IDS_LIMIT as pe,MAX_AGGREGATE_GROUPS as me,SYSTEM_ATTRIBUTES as he,SYSTEM_ATTRIBUTE_I18N_KEYS as ge,decisionThreadKey as _e,decisionTransferBy as ve,decisionTransfersOf as ye,formatDecisionLink as be,getHierarchyAttributes as xe,getObjectSystemAttributes as Se,getSystemAttributeI18nKey as Ce,getSystemAttributeList as we,isActionableDecisionKind as Te,isHierarchyAttribute as Ee,isManagedSystemAttribute as De,parseDecisionLink as Oe}from"./record-aggregates-Cl_62tuW.mjs";import{AGENDA_BLOCK as _,ARTIFACT_PREVIEW_EXTENSION as ke,ATTRIBUTE_FILTER_OPERATORS as Ae,ATTRIBUTE_TYPES as je,BLOCK_CONTEXTS as Me,BLOCK_PERIODS as Ne,BLOCK_WIDTHS as v,CARD_BLOCK as y,CHART_BLOCK as b,CHART_KINDS as Pe,CONTENT_PLACEMENT_CONTEXTS as Fe,DECISIONS_BLOCK as Ie,DEFAULT_LAYOUT_TRAITS as Le,GROUPABLE_ATTRIBUTE_TYPES as Re,HEADING_BLOCK as ze,INVENTORY_LIMIT as Be,LOCATION_FILTER_PROPERTIES as Ve,MAILBOX_BLOCK as He,MEASURABLE_ATTRIBUTE_TYPES as Ue,MEETINGS_UPCOMING_BLOCK as We,METRIC_BLOCK as x,NATIVE_BLOCKS as Ge,NO_VALUE_OPERATORS as Ke,OPERATORS_BY_TYPE as qe,PAGE_GRID_COLUMNS as Je,QUALIFIED_SEPARATOR as Ye,QUERY_OBJECT as Xe,RECORD_LINKS_BLOCK as Ze,RECORD_LINKS_CONTENT as S,RECORD_OBJECT as Qe,RELATION_TARGET_ANY as $e,REMOVED_OPERATOR_REPLACEMENTS as et,RecordQuery as tt,SYNONYM_ALIASES as nt,SYSTEM_FILTER_ATTRIBUTE_TYPES as rt,TEXT_BLOCK as C,attributeFilterTarget as it,attributeInventory as at,blockObjectInputs as ot,buildQualifiedAttribute as st,canonicalizeFilterValue as ct,capped as lt,collectContentViewCatalogue as ut,collectQualifiedRuleIssues as dt,collectionContentSourceSchema as ft,collectionSourceAddress as pt,collectionSourceAddressOf as mt,columnsSchema as ht,contentExtensionRegistry as w,contentReadObjects as gt,contentViewDefinitionSchema as T,contentViewDefinitionSchemaFor as _t,currentActor as vt,defineBlock as yt,describeViewIssue as bt,displayAttributesSchema as xt,draftContentViewDefinitionSchema as St,draftContentViewDefinitionSchemaFor as Ct,edgePropertyFilterTarget as wt,extractCurrencyFilterValue as Tt,extractFilterValue as Et,filterOperatorsOfType as Dt,filterStateSchema as Ot,filterTargetsOf as kt,findGridViolation as At,findGroupViolation as jt,findLayoutRuleViolation as Mt,findRelationAttribute as Nt,findRowLimitViolation as Pt,getAttributeCapabilities as Ft,getAttributeFilterOperators as It,getOperatorPolarity as Lt,getRollupFilterOperators as Rt,gridPositionSchema as zt,groupSizeMessage as Bt,groupedMembers as Vt,inferInverseCardinality as Ht,input as Ut,invalidViewMessage as Wt,isAttributeFilterable as Gt,isAttributeGroupable as Kt,isAttributeKanbanGroupable as qt,isAttributeSearchable as Jt,isAttributeSortable as Yt,isBilateralRelation as Xt,isCalendarDay as Zt,isCollectionContent as Qt,isDynamicValue as $t,isLocationFilterProperty as en,isLocationPartOperator as tn,isNoValueOperator as nn,isRelativeDateValue as rn,isSetMembershipOperator as an,isUniversalRelation as on,layoutTraitsOf as sn,locationPartFilterTarget as cn,memberlessGroups as ln,metricComparePeriod as un,normalizeFilterRule as dn,normalizeForEdgeRpc as fn,normalizeOperator as pn,now as mn,overlaps as hn,pageTraitsOf as gn,parseBlockParameters as E,parseQualifiedAttribute as _n,publishedViewContentDefinitionSchema as D,query as vn,recordQueryDefinitionSchema as yn,relationAcceptsObject as bn,relationTargetsOf as xn,requireContentPlacement as Sn,requireRecordContentContext as Cn,requireSingleRelationTarget as wn,resolveCollectionActions as Tn,resolveContentNavigation as En,resolveEffectiveFilterType as Dn,resolveIsWithinBounds as On,resolveUtcDayBounds as kn,singleRelationTarget as An,sortsSchema as jn,sourcedAttributeOf as Mn,systemColumnFilterTarget as Nn,toMultiValueOperator as Pn,toUtcDayString as Fn,today as In,validateContentViewCatalogue as Ln,validateQualifiedRule as Rn,validateStoredViews as zn}from"./all-B606hHr3.mjs";import{AccessDeniedError as Bn,AggregateValidationError as Vn,AmbiguousSchemaChangeError as Hn,AttributeInUseError as Un,AttributeNotFoundError as Wn,ConcurrentModificationError as Gn,DuplicateError as O,ExportTooLargeError as Kn,ForbiddenError as qn,InvalidPermissionGrantError as Jn,LogoProviderUnavailableError as Yn,LogoSearchRateLimitedError as Xn,MemoryNotFoundError as Zn,NotFoundError as Qn,NotImplementedError as $n,ObjectNotFoundError as er,ObjectReferencedError as tr,OrphanSystemAttributeError as nr,PageReferencedError as rr,ProtectedResourceError as ir,ProtectedRoleError as ar,QueryTimeoutError as or,RealtimeDeliveryError as sr,RealtimeRateLimitedError as cr,RealtimeSubscriptionError as lr,RecordNotFoundError as ur,RecordReferencedError as dr,RepositoryError as fr,ReservedObjectNameError as k,RoleNotFoundError as pr,SchemaError as A,SchemaErrorCode as j,SearchBackendError as mr,SearchPathNotIndexedError as hr,StorageError as gr,SyncCascadeError as _r,SyncConflictError as vr,SyncError as yr,SystemEntityImmutableError as br,ToolGroupGrantError as xr,ValidationError as M,WorkspaceInvariantReason as Sr,isAttributeInUseError as Cr,isNotFoundError as wr,isObjectReferencedError as Tr,isProtectedResourceError as Er,isRecordReferencedError as Dr,isSchemaError as Or,isValidationError as kr}from"./exceptions.mjs";import{ACCESS_LEVELS as Ar,ACCESS_ROLES as jr,AGENT_ASIDE_ANSWER_MAX_LENGTH as Mr,AGENT_ASIDE_HISTORY_LIMIT as Nr,AGENT_ASIDE_QUESTION_MAX_LENGTH as Pr,AGENT_AVATAR_EXPRESSIONS as Fr,AGENT_AVATAR_TYPES as Ir,AGENT_MESSAGE_KIND as Lr,AGENT_NOTIFICATION_KIND as Rr,AGENT_SESSION_ACCESS_ROLES as zr,AGENT_SESSION_LIST_ORDERS as Br,AGENT_SESSION_ORIGINS as Vr,AGENT_SESSION_PROVENANCES as Hr,AGENT_STARTERS_MAX as Ur,AGENT_STARTER_MAX_LENGTH as Wr,AGENT_SYSTEM_PROMPT_MAX_LENGTH as Gr,AGENT_TASK_KINDS as Kr,ALL_CATALOG_TOOL_NAMES as qr,ALWAYS_KINDS as Jr,APPROVAL_FAMILY_TOOL_NAMES as Yr,ARCHITECT_PUBLICATION_KIND as Xr,ASK_QUESTIONS_ANSWER_MAX_LENGTH as Zr,ASK_QUESTIONS_ANSWER_MAX_VALUES as Qr,ASK_QUESTIONS_MAX_BATCH as $r,ASK_QUESTIONS_TOOL_NAME as ei,AUDIT_ACTIONS as ti,AUDIT_AGENT_SESSION_METADATA_KEY as ni,AUDIT_RESOURCE_TYPES as ri,AgentBuilder as N,BROWSER_LAUNCH_TOOL_NAME as ii,BROWSER_TOOL_NAMES as ai,BUNDLE_LOCALES as oi,CONNECTION_GRANT_PROVIDERS as si,CONTINUATION_KEY_PATTERN as ci,CONVERSATION_SURFACES as li,COPY_VERB_NAME as ui,CORE_RECORD_TOOL_NAMES as di,CORE_TOOL_NAMES as fi,COUNT_MODES as pi,DEFAULT_AGENT_EXECUTION_CONFIG as mi,DEFAULT_AGENT_TOOL_GROUPS as hi,DEFAULT_APPROVAL_POLICY as gi,DEFAULT_BLUEPRINT_TOOL_GROUPS as _i,DEFAULT_DAILY_ACTIVITY_DAYS as vi,DEFAULT_MEETING_BOT_DISPLAY_NAME as yi,DEFAULT_TENANT_SETTINGS as bi,DEVICE_ACCESS_ROLES as xi,DISCARD_ARCHITECT_DRAFT_TOOL_NAME as Si,DOCUMENT_SORT_MODES as Ci,DRAFT_WRITE_TOOL_NAMES as wi,EMAIL_CATEGORY_DEFAULT_COLOR as Ti,EMAIL_CATEGORY_DEFAULT_ICON as Ei,EMAIL_CATEGORY_DESCRIPTION_MAX as Di,EMAIL_CATEGORY_DESCRIPTION_MIN as Oi,EMAIL_CATEGORY_LIMIT as ki,EMAIL_CATEGORY_NAME_MAX as Ai,ENVIRONMENT_BUILD_LOG_STEP_PREFIX as ji,ENVIRONMENT_HARNESSES as Mi,ENVIRONMENT_HARNESS_SANDBOX_WORKDIR as Ni,ENVIRONMENT_HARNESS_WORKDIR as Pi,ENVIRONMENT_IMAGES as Fi,ENVIRONMENT_MEMORY_GB_PER_VCPU as Ii,ENVIRONMENT_NAME_MAX_CHARS as Li,ENVIRONMENT_NETWORK_ALLOW_MAX as Ri,ENVIRONMENT_SCRIPT_MAX_BYTES as zi,ENVIRONMENT_SIZES as Bi,ENVIRONMENT_SIZE_VCPUS as Vi,ENVIRONMENT_STANDARDS_WORKDIR as Hi,ENV_VAR_KEY_PATTERN as Ui,ESTIMATED_COUNT_CAP as Wi,FILE_URLS_MAX_IDS as Gi,GET_ARCHITECT_DRAFT_TOOL_NAME as Ki,GITHUB_TRIGGER_CATALOG as qi,GRANT_ENABLES as Ji,HITL_TOOL_NAMES as Yi,INFERENCE_REASONING_OPTIONS as Xi,INFERENCE_ROUTING_MODES as Zi,INFERENCE_SPEEDS as Qi,LAST_RUN_ERROR_MAX_LENGTH as $i,MAILBOX_LIST_MODES as ea,MAIL_DRAFT_BODY_MAX_CHARS as ta,MAIL_SIGNATURE_MAX_CHARS as na,MAIL_SUBJECT_MAX_CHARS as ra,MAX_DAILY_ACTIVITY_DAYS as ia,MAX_TODOS as aa,MAX_TODO_DESCRIPTION_CHARS as oa,MAX_TODO_ID_CHARS as sa,MCP_SERVER_NAME_MAX_LENGTH as ca,MEETING_BOT_IMAGE as la,MEETING_BOT_IMAGE_BASE64_MAX_LENGTH as ua,MEETING_BOT_SILENT_REASON as da,MEETING_RESPONSES as fa,MEMORY_SPEND_LIMIT_PATTERN as pa,McpOAuthCompletionMode as ma,NATIVE_TOOL_GROUPS as ha,NATIVE_TOOL_GROUP_CATALOG as ga,NO_RECORDING as _a,OPEN_TOOL_PART_STATES as va,OPERATION_MAX_STEPS as ya,PROVIDER_DRAFT_LABEL as ba,PROVIDER_NAMES as xa,PUBLIC_MAIL_DOMAINS as Sa,QUESTION_FAMILY_TOOL_NAMES as Ca,RECENT_ACTIVITY_LEDGER_LIMIT as wa,RECIPIENT_IDENTITIES_MAX as Ta,RECORDING_OVERRIDES as Ea,RECORDING_POLICIES as Da,RECORD_ACCESS_ROLES as Oa,RECORD_ACCESS_SOURCES as ka,RECORD_DRIVE_CURSOR_MAX_LENGTH as Aa,RECORD_DRIVE_PAGE_DEFAULT_LIMIT as ja,RECORD_DRIVE_PAGE_MAX_LIMIT as Ma,RECORD_GRAPH_DEFAULT_LIMIT_PER_NODE as Na,RECORD_GRAPH_MAX_LIMIT_PER_NODE as Pa,RECORD_GRAPH_MAX_NODES as Fa,RECORD_IMAGE_MAX_BYTES as Ia,REPLY_MODES as La,REQUEST_DESIGN_REVIEW_TOOL_NAME as Ra,REQUEST_SETUP_TOOL_NAME as za,RESOURCE_GRANT_KINDS as Ba,RESOURCE_KIND_CATALOG as Va,ROUTING_PRICE_CEILINGS as Ha,SEND_VERB_NAME as Ua,SESSION_INFERENCE_PATCH_KEYS as Wa,SLACK_TRIGGER_CATALOG as Ga,SPEAKS_THROUGH_SEND_METADATA_KEY as Ka,SURFACE_TOOL_NAMES as qa,SYSTEM_EMAIL_CATEGORIES as Ja,SYSTEM_EMAIL_CATEGORY_NAMES as Ya,SYSTEM_PART_CODES as Xa,TASK_DEMAND_LEVELS as Za,TODO_PHASES as Qa,TODO_PLAN_STATUSES as $a,TODO_STATUSES as eo,TOOL_APPROVAL_STATES as to,TRIAGE_ACTIONS as no,TRIGGER_EVENT_TYPES as ro,TURN_OUTCOMES as io,UNSHAREABLE_OBJECT_NAMES as ao,USERS_RESOLVE_MAX_IDS as oo,USER_STATUSES as so,USER_WORK_POSTURES as co,VERB_NAMES as lo,agent as uo,agentAvatarFromMetadata as fo,agentAvatarSchema as po,agentDataChunk as mo,agentDisplayName as ho,agentInferencePreferencesSchema as go,agentMessageAttachmentSchema as _o,agentMessagePartSchema as vo,agentScheduleSchema as yo,agentSessionInferenceOverridesInputSchema as bo,agentSessionInferenceOverridesSchema as xo,agentSessionMessageSchema as So,agentStartersSchema as Co,agentTriggerBaseSchema as wo,agentTriggerPatchSchema as To,agentTriggerSchema as Eo,agentUIValidationError as Do,artifactQuoteSchema as Oo,askQuestionsOutputSchema as ko,assertCustomAgentUIMessageChunk as Ao,assertSessionState as jo,canonicalToolGroups as Mo,classificationRestoreSchema as No,classifyEmailSchema as Po,cliDefaultModelOf as Fo,compareAgentSessionMessages as Io,compiledHarnessModels as Lo,connectionGrantKindsOf as Ro,connectorTriggerMatchSchema as zo,customDataChunkSchemas as Bo,decodeAgentSessionListCursor as Vo,deriveViewerAccess as Ho,durableDateSchema as Uo,emailCategoryCreateSchema as Wo,emailCategoryDeleteSchema as Go,emailCategoryScopeQuerySchema as Ko,emailCategoryUpdateSchema as qo,emailRuleScopeSchema as Jo,encodeAgentSessionListCursor as Yo,environmentHarness as Xo,environmentWorkdir as Zo,findEnvironmentHarness as Qo,githubConditionSchema as $o,githubTriggerMatchSchema as es,grantKindOf as ts,harnessModelChoices as ns,humanRequestId as rs,humanRequestKind as is,imageModelIdSchema as as,inferenceReasoningSchema as os,inferenceRoutingSchema as ss,inferenceSpeedSchema as cs,isAgentMessageMetadata as ls,isAgentNotificationMetadata as us,isAgentUIDataName as ds,isAgentWrittenAuditEntry as fs,isArchitectPublicationMetadata as ps,isAwaitingHuman as ms,isBlocking as hs,isEnvironmentHarnessId as gs,isMailProvider as _s,isMailboxListMode as vs,isNativeToolGroup as ys,isOpenToolPartState as bs,isParkedOnHuman as xs,isProviderDraft as Ss,isPublicMailDomain as Cs,isQuestionPart as ws,isReplyMode as Ts,isResourceGrant as Es,isRoutineActorMetadata as Ds,isSessionInferencePatch as Os,isSystemEmailCategory as ks,isSystemEmailCategoryName as As,isSystemPartCode as js,isToolApprovalState as Ms,lockingSendCall as Ns,meetingBotDispatchRequestSchema as Ps,meetingBotDispatchResponseSchema as Fs,meetingBotNotificationSchema as Is,meetingTranscriptSegmentSchema as Ls,mentionReferenceSchema as Rs,mergeSessionInferencePatch as zs,modelDefinitionSchema as Bs,modelReferenceSchema as Vs,needsManageWhenUnattended as Hs,normalizedMeetingTranscriptSchema as Us,openRequests as Ws,orderAgentSessionMessages as Gs,parseAgentDefinitionAccessRole as Ks,parseAgentSessionAccessRole as qs,parseCountMode as Js,parseDeviceAccessRole as Ys,parseMergedAgentTrigger as Xs,parseOptionalCountMode as Zs,parsePageAccessRole as Qs,parseRecordAccessRole as $s,parseToolGroupGrant as ec,providerNameSchema as tc,readAskQuestionsResult as nc,recentActivityEntryKey as rc,recordGraphNodeKey as ic,recordGraphRequestSchema as ac,recordMeetingsCount as oc,recordOperationSchema as sc,refineTrigger as cc,resourceGrant as lc,routedMessageInferenceSchema as uc,sessionInferencePatchSchema as dc,slackConditionSchema as fc,slackTriggerMatchSchema as pc,todoItemSchema as mc,todoPlanSchema as hc,toolImpactSchema as gc,utf8ByteLength as _c}from"./record-operation-prlqtHAm.mjs";import"./zod-locale.mjs";import{ATTRIBUTE_NAME_SCHEMA as vc,LIST_VIEW_TAB_VISIBILITIES as yc,NATIVE_OBJECT_NAMES as bc,OBJECT_NAME_SCHEMA as xc,RECORD_LIST_SCOPES as Sc,RESERVED_ATTRIBUTE_NAMES as Cc,RESERVED_OBJECT_NAMES as wc,RESOURCE_VISIBILITIES as Tc,SCHEMA_LIMITS as P,SYSTEM_FIELD_NAMES as Ec,assertUniqueBy as Dc,colorIdSchema as Oc,iconNameSchema as F,isNativeObjectName as I,isPlainRecord as kc,parseRecordListScope as Ac,parseResourceVisibility as jc,validateAttributeName as Mc,validateIconName as Nc,validateLabel as Pc,validateObjectName as Fc,validateOptions as L,validateViewName as Ic}from"./primitives-BCJLtpaI.mjs";import{COMPUTED_RETURN_TYPES as Lc,SIMPLE_PROPERTY_TYPES as Rc,WIRE_OFFERED_BASE_CONFIG as zc,WIRE_OMITTED_CONFIG_KEYS as Bc,attributeConfigSchemas as Vc,datePrecisionIssues as Hc,getAttributeConfigSchema as Uc,getAttributeConfigWriteSchema as Wc,parseAttributeConfig as Gc,parseAttributeConfigForCreate as Kc,parseAttributeConfigForUpdate as qc,propertyAttributeSchema as Jc,propertyAttributeWireSchema as Yc,propertySchemaSchema as Xc,propertySchemaWireSchema as Zc,refuseForeignKeys as Qc,selectOptionWriteSchema as $c,statusGroupSchema as el,statusOptionWriteSchema as tl,wireHiddenTypeConfigMask as nl,wireOmittedConfigKeysFor as rl,withoutUnknownOptionKeys as il}from"./config-iUwnquKr.mjs";import{NonJsonValueError as al,asTenantId as ol,asUserId as sl,canonicalStringify as R,deepEqual as cl,generateId as ll,indexBy as ul,sameStableValue as dl,serializeCanonicalJson as fl,serializeStableJson as pl}from"./utils-DaejNWxh.mjs";import{createAttributeValidator as ml,createFormAttributeValidator as hl,createObjectValidator as gl,isEmptyValue as _l,isNullishOrEmptyString as vl,isValuePresent as yl,rejectUnknownAttributesOrThrow as bl,validateAttribute as xl,validateDraft as Sl,validateDraftOrThrow as Cl,validateObject as wl,validateObjectOrThrow as Tl}from"./object-BF5y6bgs.mjs";import{TEXT_FORMAT_PATTERNS as El,resolveTextPattern as Dl}from"./text-BaxaZ5Vv.mjs";import{DEFAULT_VALIDATION_MESSAGES as Ol,formatZodErrors as kl}from"./core-rKI7Q9_U.mjs";import{formatPhoneForDisplay as Al,getIso2 as jl,normalizeCountrylessPhoneNumber as Ml,normalizePhoneNumber as Nl}from"./phone-BGJea5sr.mjs";import*as z from"zod";import{colorIdFromString as Pl,getCountryByIso2 as Fl,isValidCurrencyCode as Il,isValidIso3 as Ll}from"@standards/constants";import{parsePhoneNumberFromString as Rl}from"libphonenumber-js";const zl=`__stndrdsNativeUiPartIds`,Bl=1;function invalidNativePartIds(){throw new M(`Native agent UI part IDs metadata is invalid`,[])}function isPlainRecord$1(e){if(typeof e!=`object`||!e||Array.isArray(e))return!1;let t=Object.getPrototypeOf(e);return t===Object.prototype||t===null}function nativeAgentUIPartIdMetadataKey(e,t){if(e.type===`text`||e.type===`reasoning`)return`${e.type}:${t}`;if(e.type===`tool`)return`tool:${e.toolCallId}`}function parseNativeAgentUIPartIdsMetadata(e){let t=e.metadata?.[zl];isPlainRecord$1(t)||invalidNativePartIds(),(Object.keys(t).length!==2||t.schemaVersion!==1||!isPlainRecord$1(t.partIds))&&invalidNativePartIds();let n=new Map;for(let[t,r]of e.parts.entries()){let e=nativeAgentUIPartIdMetadataKey(r,t);if(!e||n.has(e)){e&&invalidNativePartIds();continue}n.set(e,r)}let r=Object.entries(t.partIds);r.length!==n.size&&invalidNativePartIds();let i=new Map,a={};for(let[e,t]of r){let r=n.get(e);r&&typeof t==`string`&&t.length>0||invalidNativePartIds();let o=i.get(t);o&&(r.type===`tool`||o!==r.type)&&invalidNativePartIds(),r.type===`tool`&&t!==r.toolCallId&&invalidNativePartIds(),i.set(t,r.type),a[e]=t}return a}const Vl=`/v1/device-worker/channel`,Hl=262144,Ul=1e4,Wl=2e3,Gl=2e3,Kl=2e4,ql=4008,Jl={initialMs:1e3,maxMs:3e4};function deviceChannelUrl(e){let t=new URL(e);return`${t.protocol===`https:`?`wss:`:`ws:`}//${t.host}${Vl}`}function computeRetryDelay(e,t,n){return Math.min(n.initialMs*2**e,n.maxMs)+Math.floor(t()*250)}function computeReconnectDelay(e,t=Math.random){return computeRetryDelay(e,t,Jl)}const Yl=[`worker_disconnected`,`cancelled`,`timed_out`,`execution_failed`];var DeviceChannelProtocolError=class extends A{constructor(e){super(e,j.DEVICE_CHANNEL_PROTOCOL),this._tag=`DeviceChannelProtocolError`,this.name=`DeviceChannelProtocolError`}};const Xl=[`zsh`,`bash`,`sh`,`fish`,`pwsh`,`powershell`],Zl=[`ready`,`permission_missing`,`no_session`,`unavailable`],Ql=z.strictObject({state:z.enum(Zl),version:z.string().min(1)}),B={id:z.uuid(),leaseToken:z.string().min(1)},$l=z.discriminatedUnion(`type`,[z.strictObject({type:z.literal(`authenticate`),credential:z.string().regex(/^Device \S+$/),protocol:z.number().int().positive().optional(),desktop:Ql.optional(),shell:z.enum(Xl).optional()}),z.strictObject({type:z.literal(`running`),...B}),z.strictObject({type:z.literal(`heartbeat`),...B}),z.strictObject({type:z.literal(`output`),...B,stdout:z.string().optional(),stderr:z.string().optional()}),z.strictObject({type:z.literal(`complete`),...B,result:z.strictObject({stdout:z.string().optional(),stderr:z.string().optional(),exitCode:z.number().int(),success:z.boolean(),errorCode:z.enum(Yl).optional()}),background:z.strictObject({pid:z.number().int(),logPath:z.string().min(1)}).optional()}),z.strictObject({type:z.literal(`pong`)})]),eu=z.discriminatedUnion(`type`,[z.strictObject({type:z.literal(`ready`),device:z.strictObject({id:z.string(),name:z.string(),capability:z.enum([`shell`,`browser`])}),protocol:z.number().int().positive().optional()}),z.strictObject({type:z.literal(`command`),...B,kind:z.enum([`shell`,`browser`]),intent:z.string(),timeoutMs:z.number().int(),command:z.string().optional(),cwd:z.string().nullable().optional(),rootSessionId:z.string().min(1).optional(),background:z.boolean().optional()}),z.strictObject({type:z.literal(`release_session`),rootSessionId:z.string().min(1)}),z.strictObject({type:z.literal(`cancel`),id:z.uuid(),reason:z.enum([`cancelled`,`timed_out`,`revoked`])}),z.strictObject({type:z.literal(`reauthenticate`)}),z.strictObject({type:z.literal(`revoked`)}),z.strictObject({type:z.literal(`ping`)})]);function parseDeviceChannelFrame(e,t){let n;try{n=JSON.parse(t)}catch{throw new DeviceChannelProtocolError(`Frame is not JSON`)}let r=e.safeParse(n);if(!r.success)throw new DeviceChannelProtocolError(`Frame does not match the channel protocol`);return r.data}function parseWorkerFrame(e){return parseDeviceChannelFrame($l,e)}function parseServerFrame(e){return parseDeviceChannelFrame(eu,e)}const tu=5;function isFormDefinition(e){return typeof e==`object`&&!!e&&`slots`in e&&`steps`in e&&`name`in e&&typeof e.name==`string`&&Array.isArray(e.slots)&&Array.isArray(e.steps)}const V=[`relation`,`multiRelation`,`formula`,`rollup`,`document`,`richtext`,`user`];function isFormSlotFieldRef(e){return e.type===`slot`}function isFormFreeFieldRef(e){return e.type===`free`}function resolveFieldRequired(e){return e.readOnly===!0?!1:e.fieldRequired===void 0?e.slotMode===`create`&&e.attributeRequired===!0:e.fieldRequired}function getSlotFieldTargets(e){return e.additionalSlotIds?.length?[e.slotId,...e.additionalSlotIds]:[e.slotId]}function formFieldKey(e){return isFormSlotFieldRef(e)?`${e.slotId}.${e.attribute}`:`free.${e.attribute.name}`}function formFieldFlatKey(e){return isFormSlotFieldRef(e)?e.attribute:e.attribute.name}function readFormFieldValue(e,t){return e[formFieldKey(t)]??e[formFieldFlatKey(t)]}function isFormFieldsRow(e){return e.type===`fields`}function isFormHeadingRow(e){return e.type===`heading`}function isFormSeparatorRow(e){return e.type===`separator`}function isFormTextRow(e){return e.type===`text`}function moveWidensAudience(e){return e.added.length>0||!e.workspaceBefore&&e.workspaceAfter}function resolvePropertyDefinitions(e){let t=e.properties;if(!t)return[];if(Array.isArray(t))return t;let n=t;return Array.isArray(n.definitions)?n.definitions:[]}function hasOptions(e){return e.type===`select`||e.type===`status`||e.type===`multiselect`}function schemaGroupKey(e){return`${e.kind}:${e.name}`}function refuse$2(e){throw new M(e,[{path:[`label`],message:e}])}function parseSchemaGroupPresentation(e){let t=e??{},n={};if(t.label!==void 0){let e=t.label;if(e===null)n.label=null;else if(typeof e!=`string`)refuse$2(`Label must be a string`);else{let t=e.trim();t.length===0&&refuse$2(`Label must not be empty`),t.length>P.labelLength&&refuse$2(`Label is too long (max ${P.labelLength} characters)`),n.label=t}}return n}const H=/^(?:core|bundle:.+)$/u;function parseSchemaOwner(e){if(e===null)return null;if(!H.test(e))throw new M(`Invalid schema owner "${e}"`,[]);return e}const nu=16e3,ru=3200,iu=6400,au=16e3,ou=65536,su=15e3,cu=1e4,lu=5e3,uu=`google/gemini-3.5-transcribe-live`,du={maxDurationMs:3e5,dailyDurationMs:36e5,monthlyDurationMs:72e6,tenantMonthlyBudgetMicrousd:5e7,globalMonthlyBudgetMicrousd:5e7,estimatedMicrousdPerSecond:150,reservationMultiplier:2},fu=[`web`,`presentation`,`document`,`spreadsheet`,`image`,`code`,`other`],pu=[`ephemeral`,`conversation`,`persistent`],mu=[`source`,`preview`,`entrypoint`,`asset`];var NoopGeocodingAdapter=class{async autocomplete(){return await Promise.resolve([])}async geocode(){return await Promise.resolve(null)}};const hu=6048e5,gu=36e5,_u=2592e6,vu=6e4,yu=[`square`,`landscape`,`portrait`];function imageModelFormatDefect(e){if(e.formats.length===0)return`declares no output format`;for(let t of e.formats)if(e.requests[t]===void 0)return`declares the format "${t}" without a request`;for(let t of Object.keys(e.requests))if(!e.formats.includes(t))return`carries a request for the undeclared format "${t}"`}function declaredImageRequests(e){let t={};for(let n of e.formats){let r=e.requests[n];r!==void 0&&(t[n]=r)}return t}const bu=[`storage.bytes`,`members.seats`,`data.live_records`];function computeByteMagnitude(e){if(e<=0)return{value:0,unitIndex:0};let t=1e3,n=Math.min(4,Math.floor(Math.log(e)/Math.log(t)));return{value:Number.parseFloat((e/t**n).toFixed(1)),unitIndex:n}}const xu=[`B`,`KB`,`MB`,`GB`,`TB`];function formatByteSize(e){let{value:t,unitIndex:n}=computeByteMagnitude(e);return`${t} ${xu[n]}`}const Su=Object.freeze([`text`,`number`,`checkbox`,`date`,`phone`,`currency`,`status`,`select`,`multiselect`,`location`]);function buildPropertySchema(e){let t=[];for(let n of e){let e=n.build();if(!Su.includes(e.type))throw Error(`Property type "${e.type}" is not supported in .qualifyWith()`);t.push(e)}return{definitions:t}}const Cu=[`UPPER`,`LOWER`,`capitalize`,`trim`],wu=[`prefix`,`suffix`,`wrap`,`default`],U=[...Cu,...wu],Tu=/^\s*where\s*(?::(.*))?$/s,Eu=`[A-Za-z_][A-Za-z0-9_]*`,Du=/^[^\s,()|{}="']+$/,Ou=RegExp(`^(${Eu})\\s*=\\s*(.*)$`),ku=RegExp(`^(${Eu})\\s+in\\s*\\(([^()]*)\\)$`);function isWherePipe(e){return Tu.test(e)}function parseWherePipe(e){let t=e.match(Tu)?.[1]?.trim();if(!t)return null;let n=t.match(ku);if(n){let e=n[2].split(`,`).map(e=>e.trim());return e.every(e=>Du.test(e))?{property:n[1],values:e}:null}let r=t.match(Ou);return r&&Du.test(r[2])?{property:r[1],values:[r[2]]}:null}const W=z.string().min(1,`labelExpression cannot be empty`).refine(e=>isLabelExpression(e),{message:`labelExpression must contain at least one {{ attribute }} interpolation`}).refine(e=>!/\{\{\s*\}\}/.test(e),{message:`labelExpression contains empty {{ }} interpolation`}).refine(e=>{let t=/(?<!\|)\|(?!\|)\s*(\w+)(?::[^|}]*)?/g,n;for(;(n=t.exec(e))!==null;){let e=n[1];if(!U.includes(e))return!1}return!0},{message:`Invalid pipe name. Valid pipes: ${U.join(`, `)}`});function validateLabelExpression(e){let t=W.safeParse(e);return t.success?{success:!0,attributes:extractAttributeNames(e)}:{success:!1,error:t.error.issues[0]?.message??`Invalid labelExpression`}}function applyPipe(e,t){let{name:n,args:r}=parsePipeExpression(t);switch(n){case`UPPER`:return e.toUpperCase();case`LOWER`:return e.toLowerCase();case`capitalize`:return e.replace(/(^|\s)\S/g,e=>e.toUpperCase());case`trim`:return e.trim();case`prefix`:return e?`${r[0]??``}${e}`:``;case`suffix`:return e?`${e}${r[0]??``}`:``;case`wrap`:return e?`${r[0]??``}${e}${r[1]??``}`:``;case`default`:return e||r[0]||``;default:return e}}function applyPipes(e,t){let n=e;for(let e of t)n=applyPipe(n,e);return n}function getValue(e,t){return t.split(`.`).reduce((e,t)=>{if(typeof e==`object`&&e)return e[t]},e)}const Au=`(Untitled)`;function parsePipeExpression(e){let t=e.match(/^(\w+)(?::(.*))?$/);if(!t)return{name:e,args:[]};let n=t[1],r=t[2];if(!r)return{name:n,args:[]};let i=[],a=/["']([^"']*?)["']/g,o;for(;(o=a.exec(r))!==null;)i.push(o[1]);return{name:n,args:i}}function*templateBlocks(e){let t=0;for(;t<e.length;){let n=e.indexOf(`{{`,t);if(n<0)return;let r=e.indexOf(`}`,n+2);if(r<0)return;if(e[r+1]!==`}`){t=r+1;continue}t=r+2;let i=e.slice(n+2,r);i.length>0&&(yield{start:n,end:t,expr:i})}}function resolveLabelBlock(e,t){let n=e.split(`||`).map(e=>e.trim()),r=n[n.length-1].split(`|`).map(e=>e.trim());n[n.length-1]=r[0];let i=r.slice(1).filter(Boolean),a=n.filter(Boolean),o=``;for(let e of a){let n=toText(getValue(t,e));if(n!==``){o=n;break}}return applyPipes(o,i)}function renderLabelExpression(e,t,n=Au){let r=[],i=0;for(let n of templateBlocks(e))r.push(e.slice(i,n.start),resolveLabelBlock(n.expr,t)),i=n.end;return r.push(e.slice(i)),r.join(``).trim()||n}function toText(e){if(e==null||typeof e==`function`)return``;if(typeof e!=`object`)return String(e);if(Array.isArray(e))return e.map(toText).filter(Boolean).join(`,`);let t=e.toString;return typeof t==`function`&&t!==Object.prototype.toString?String(e):``}function isLabelExpression(e){let t=0;for(;t<e.length;){let n=e.indexOf(`{{`,t);if(n<0)return!1;let r=e.indexOf(`}}`,n+2);if(r<0)return!1;if(e.slice(n+2,r).trim().length>0)return!0;t=r+2}return!1}function extractAttributePaths(e){let t=[];for(let n of templateBlocks(e)){let e=n.expr.trim();if(!e)continue;let r=e.split(`||`).map(e=>e.trim()),i=r[r.length-1];r[r.length-1]=i.split(`|`)[0].trim();for(let e of r)e&&!t.includes(e)&&t.push(e)}return t}function extractAttributeNames(e){let t=extractAttributePaths(e).map(e=>e.split(`.`)[0]).filter(e=>e.length>0);return[...new Set(t)]}const ju=/^\{\{\s*([a-zA-Z_][a-zA-Z0-9_]*)\s*\}\}$/;function getSingleAttributeFromExpression(e){let t=e.trim().match(ju);return t?t[1]:null}function getEditableLabelAttribute(e,t){let n=getSingleAttributeFromExpression(e);if(n===null)return null;let r=t.find(e=>e.name===n);return!r||r.type!==`text`||Ft(r).authoring.readOnly?null:r}const Mu=[{id:`data`,capabilities:[{id:`forms`,resources:[`forms`],levels:[{id:`fill`,add:[`read`]},{id:`edit`,add:[`create`,`update`,`delete`]},{id:`manage`,add:[`manage`]}]}]},{id:`structure`,capabilities:[{id:`schema`,resources:[`architect`],levels:[{id:`use`,add:[`read`]},{id:`edit`,add:[`create`,`update`,`delete`]}]},{id:`pages`,resources:[`pages`],levels:[{id:`read`,add:[`read`]},{id:`create`,add:[`create`,`update`,`delete`]}]}]},{id:`ai`,capabilities:[{id:`agents`,resources:[`agents`],levels:[{id:`chat`,add:[`read`]},{id:`build`,add:[`create`,`update`,`delete`]},{id:`manage`,add:[`manage`]}]},{id:`environments`,resources:[`environments`],levels:[{id:`use`,add:[`read`]},{id:`create`,add:[`create`]}]},{id:`browser-profiles`,resources:[`browser-profiles`],levels:[{id:`use`,add:[`create`]}]},{id:`private-secrets`,resources:[`private-secrets`],levels:[{id:`use`,add:[`create`]}]},{id:`routine-audiences`,resources:[`routine-audiences`],levels:[{id:`use`,add:[`create`]}]},{id:`supervision`,resources:[`supervision`],levels:[{id:`use`,add:[`create`]}]}]},{id:`files`,capabilities:[{id:`files`,resources:[`files`,`documents`],levels:[{id:`read`,add:[`read`]},{id:`edit`,add:[`create`,`update`]},{id:`full`,add:[`delete`]}]}]},{id:`team`,capabilities:[{id:`people`,resources:[`people`],levels:[{id:`view`,add:[`read`]},{id:`invite`,add:[`create`]},{id:`manage`,add:[`update`,`delete`]}]}]},{id:`integrations`,capabilities:[{id:`connectors`,resources:[`connectors`],levels:[{id:`use`,add:[`read`,`create`,`update`,`delete`]}]},{id:`api-keys`,resources:[`api-keys`],levels:[{id:`view`,add:[`read`]},{id:`manage`,add:[`create`,`delete`]}]},{id:`env-vars`,resources:[`env-vars`],levels:[{id:`view`,add:[`read`]},{id:`manage`,add:[`create`,`delete`]}]},{id:`devices`,resources:[`devices`],levels:[{id:`manage`,add:[`manage`]}]}]},{id:`administration`,capabilities:[{id:`settings`,resources:[`settings`],levels:[{id:`view`,add:[`read`]},{id:`manage`,add:[`update`,`delete`,`manage`]}]},{id:`audit`,resources:[`audit`],levels:[{id:`view`,add:[`read`]}]},{id:`billing`,resources:[`billing`],levels:[{id:`view`,add:[`read`]}]}]}],G=`none`,Nu=`custom`,K={actions:[`read`,`create`,`update`,`delete`],purge:`manage`,levels:[{id:`read`,add:[`read`]},{id:`edit`,add:[`create`,`update`]},{id:`full`,add:[`delete`]}]},q=Mu.flatMap(e=>e.capabilities),Pu=q.flatMap(e=>e.resources),Fu=new Map(q.flatMap(e=>e.resources.map(t=>[t,e])));function isCatalogResource(e){return Fu.has(e)}function capabilityForResource(e){let t=Fu.get(e);if(!t)throw new A(`Unknown catalog resource "${e}"`,j.INVARIANT_VIOLATION);return t}function sameActions(e,t){let n=new Set(e),r=new Set(t);return n.size===r.size&&[...n].every(e=>r.has(e))}function levelActions(e,t){let n=new Set;for(let r of e.levels){for(let e of r.add)n.add(e);if(r.id===t)return[...n]}return[]}function levelFloor(e,t){let n=e.levels[e.levels.length-1];if(t.includes(`*`)&&n)return n.id;let r=new Set(t),i=G;for(let t of e.levels){if(!t.add.every(e=>r.has(e)))break;i=t.id}return i}function levelOf(e,t){if(t.length===0)return G;let n=e.levels[e.levels.length-1];if(t.includes(`*`)&&n)return n.id;let r=new Set(t),i=new Set;for(let t of e.levels){for(let e of t.add)i.add(e);if(i.size===r.size&&[...r].every(e=>i.has(e)))return t.id}return Nu}const Iu=[`read`,`create`,`update`,`delete`,`manage`],Lu=z.object({scope:z.enum([`object`,`system`]),target:z.string().min(1),actions:z.array(z.enum(Iu))}).strict();function findGrantIssues(e,t){let n=[],r=new Map;for(let i of e){let e=Lu.safeParse(i);if(!e.success){let e=typeof i==`object`&&i&&`target`in i?String(i.target):`?`;n.push({target:e,reason:`shape`});continue}let a=e.data;if(a.scope===`system`){if(!isCatalogResource(a.target)){n.push({target:a.target,reason:`unknown-resource`});continue}if(levelOf(capabilityForResource(a.target),a.actions)===`custom`){n.push({target:a.target,reason:`off-level`});continue}r.set(a.target,a.actions);continue}if(a.target!==`*`&&!t.objectNames.has(a.target)){n.push({target:a.target,reason:`unknown-object`});continue}let o=a.target===`*`?[...K.actions,K.purge]:K.actions;a.actions.every(e=>o.includes(e))||n.push({target:a.target,reason:`object-action`})}let i=new Set;for(let[e,t]of r){let a=capabilityForResource(e);if(!i.has(a)){for(let o of a.resources)if(!sameActions(t,r.get(o)??[])){n.push({target:e,reason:`split-capability`}),i.add(a);break}}}return n}const Ru=`memory`,zu=4e3,Bu=`workspace`,J={name:`name`,description:`description`,content:`content`,profileOf:`profileOf`,profileActor:`profileActor`,subjects:`subjects`,subjectId:`subjectId`};function textValue(e){return typeof e==`string`?e:``}function memoryPageViewOf(e){let{values:t}=e;return{id:e.id,name:textValue(t[J.name]),description:textValue(t[J.description]),content:textValue(t[J.content]),visibility:e.visibility,ownedBy:e.ownedBy,updatedAt:new Date(e.updatedAt).toISOString()}}const Vu=`@standards/schema`;function createStandardSchemaProps(e){return{version:1,vendor:Vu,validate:t=>{let n=e.safeParse(t);return n.success?{value:n.data}:{issues:n.error.issues.map(e=>({message:e.message,path:e.path}))}}}}function isStandardSchema(e){return typeof e==`object`&&!!e&&`~standard`in e&&typeof e[`~standard`]==`object`&&e[`~standard`].version===1}function asMutableArray(e){return e}var BaseAttributeBuilder=class{get"~standard"(){return createStandardSchemaProps(ml(this.build()))}constructor(e,t,n){Mc(t),Pc(n),this.attr={name:t,label:n,type:e,required:!1,system:!0}}setRequired(e){this.attr.required=e}asRequiredState(){return this}asPhantomState(){return this}runtime(){return this.attr.system=!1,this}hidden(){return this.attr.hidden=!0,this}placeholder(e){return this.attr.placeholder=e,this}description(e){return this.attr.description=e,this}icon(e){return Nc(e,`attribute "${this.attr.name}"`),this.attr.icon=e,this}order(e){return this.attr.order=e,this}defaultValue(e){return(`defaultValue`in this.attr||![`formula`,`rollup`].includes(this.attr.type))&&(this.attr.defaultValue=e),this}metadata(e){return this.attr.metadata=e,this}build(){return this.attr}},TextAttributeBuilder=class extends BaseAttributeBuilder{constructor(e,t){super(`text`,e,t)}minLength(e){return this.attr.minLength=e,this}maxLength(e){return this.attr.maxLength=e,this}pattern(e){return this.attr.pattern=e,this.attr.format=void 0,this}multiline(e=!0){return this.attr.multiline=e,this}required(){return this.setRequired(!0),this.asRequiredState()}optional(){return this.setRequired(!1),this.asRequiredState()}email(){return this.attr.format=`email`,this.attr.pattern=void 0,this}url(){return this.attr.format=`url`,this.attr.pattern=void 0,this}slug(){return this.attr.format=`slug`,this.attr.pattern=void 0,this}};function text(e,t){return new TextAttributeBuilder(e,t)}var RichtextAttributeBuilder=class extends BaseAttributeBuilder{constructor(e,t){super(`richtext`,e,t)}required(){return this.setRequired(!0),this.asRequiredState()}optional(){return this.setRequired(!1),this.asRequiredState()}};function richtext(e,t){return new RichtextAttributeBuilder(e,t)}var NumberAttributeBuilder=class extends BaseAttributeBuilder{constructor(e,t){super(`number`,e,t)}min(e){return this.attr.min=e,this}max(e){return this.attr.max=e,this}integer(){return this.attr.unit=`integer`,this.attr.decimals=0,this}decimal(e=2){return this.attr.unit=`decimal`,this.attr.decimals=e,this}percentage(){return this.attr.unit=`percentage`,this}renderAs(e){return this.attr.renderAs=e,this}required(){return this.setRequired(!0),this.asRequiredState()}optional(){return this.setRequired(!1),this.asRequiredState()}};function number(e,t){return new NumberAttributeBuilder(e,t)}var CheckboxAttributeBuilder=class extends BaseAttributeBuilder{constructor(e,t){super(`checkbox`,e,t)}required(){return this.setRequired(!0),this.asRequiredState()}optional(){return this.setRequired(!1),this.asRequiredState()}};function checkbox(e,t){return new CheckboxAttributeBuilder(e,t)}var DateAttributeBuilder=class extends BaseAttributeBuilder{constructor(e,t){super(`date`,e,t)}format(e){return this.attr.dateFormat=e,this}precision(e){return this.attr.precision=e,this}build(){let[e]=Hc(`date`,this.attr);if(e!==void 0)throw new M(e.message,[{path:[`precision`],message:e.message}]);return super.build()}minDate(e){return this.attr.minDate=e,this}maxDate(e){return this.attr.maxDate=e,this}endDate(){return this.attr.endDate=!0,this.asPhantomState()}includeTime(){return this.attr.includeTime=!0,this}timeFormat(e){return this.attr.timeFormat=e,this}required(){return this.setRequired(!0),this.asRequiredState()}optional(){return this.setRequired(!1),this.asRequiredState()}};function date(e,t){return new DateAttributeBuilder(e,t)}var PhoneAttributeBuilder=class extends BaseAttributeBuilder{constructor(e,t){super(`phone`,e,t)}defaultCountry(e){return this.attr.defaultCountryCode=e,this}required(){return this.setRequired(!0),this.asRequiredState()}optional(){return this.setRequired(!1),this.asRequiredState()}};function phone(e,t){return new PhoneAttributeBuilder(e,t)}var CurrencyAttributeBuilder=class extends BaseAttributeBuilder{constructor(e,t){super(`currency`,e,t)}defaultCurrency(e){return this.attr.defaultCurrency=e,this}allowedCurrencies(e){return this.attr.allowedCurrencies=e,this}allowNegative(e=!0){return this.attr.allowNegative=e,this}required(){return this.setRequired(!0),this.asRequiredState()}optional(){return this.setRequired(!1),this.asRequiredState()}};function currency(e,t){return new CurrencyAttributeBuilder(e,t)}var StatusAttributeBuilder=class extends BaseAttributeBuilder{constructor(e,t){super(`status`,e,t)}options(e){let t=asMutableArray(e);return L(this.attr.name??`unknown`,t),this.attr.options=t,this.asPhantomState()}option(e){this.attr.options||(this.attr.options=[]);let t=[...this.attr.options,e];return L(this.attr.name??`unknown`,t),this.attr.options.push(e),this}required(){return this.setRequired(!0),this.asRequiredState()}optional(){return this.setRequired(!1),this.asRequiredState()}};function status(e,t){return new StatusAttributeBuilder(e,t)}var SelectAttributeBuilder=class extends BaseAttributeBuilder{constructor(e,t){super(`select`,e,t)}options(e){let t=asMutableArray(e);return L(this.attr.name??`unknown`,t),this.attr.options=t,this.asPhantomState()}option(e){this.attr.options||(this.attr.options=[]);let t=[...this.attr.options,e];return L(this.attr.name??`unknown`,t),this.attr.options.push(e),this}renderAs(e){return this.attr.renderAs=e,this}required(){return this.setRequired(!0),this.asRequiredState()}optional(){return this.setRequired(!1),this.asRequiredState()}};function select(e,t){return new SelectAttributeBuilder(e,t)}var MultiselectAttributeBuilder=class extends BaseAttributeBuilder{constructor(e,t){super(`multiselect`,e,t)}options(e){let t=asMutableArray(e);return L(this.attr.name??`unknown`,t),this.attr.options=t,this.asPhantomState()}option(e){this.attr.options||(this.attr.options=[]);let t=[...this.attr.options,e];return L(this.attr.name??`unknown`,t),this.attr.options.push(e),this}renderAs(e){return this.attr.renderAs=e,this}required(){return this.setRequired(!0),this.asRequiredState()}optional(){return this.setRequired(!1),this.asRequiredState()}};function multiselect(e,t){return new MultiselectAttributeBuilder(e,t)}var LocationAttributeBuilder=class extends BaseAttributeBuilder{constructor(e,t){super(`location`,e,t)}granularity(e){return this.attr.granularity=e,this}defaultCountry(e){return this.attr.defaultCountry=e,this}allowedCountries(e){return this.attr.allowedCountries=e,this}required(){return this.setRequired(!0),this.asRequiredState()}optional(){return this.setRequired(!1),this.asRequiredState()}};function location(e,t){return new LocationAttributeBuilder(e,t)}var UserAttributeBuilder=class extends BaseAttributeBuilder{constructor(e,t){super(`user`,e,t),this.attr.types=[`user`,`agent`]}types(e){let t=[...new Set(e)];if(t.length===0)throw Error(`[AttributeBuilder] user.types must contain at least one type.`);return this.attr.types=t,this}multiple(){return this.attr.multiple=!0,this}notifiesOnAssign(){return this.attr.notifiesOnAssign=!0,this}actors(){return this.attr.actors=!0,this}required(){return this.setRequired(!0),this.asRequiredState()}optional(){return this.setRequired(!1),this.asRequiredState()}};function user(e,t){return new UserAttributeBuilder(e,t)}var BaseRelationAttributeBuilder=class extends BaseAttributeBuilder{to(e,t){let n={object:e,...t};return this.attr.targets?.push(n),this}toAny(){return this.attr.targets=[{object:`*`}],this}qualifyWith(...e){let t=this.attr.targets;if(!t||t.length===0)throw Error(`.qualifyWith() must be called AFTER .to(). Example: relation("companies", "Companies").to("companies").qualifyWith(...)`);return this.attr.properties=buildPropertySchema(e),this}bilateral(e){let t=this.attr.targets;if(!t||t.length===0)throw Error(`.bilateral() must be called AFTER .to(). Example: relation("company", "Company").to("companies").bilateral({ ... })`);if(t.length>1)throw Error(`Bilateral relations are not supported for polymorphic relations (multiple .to() targets).`);if(on(this.attr))throw Error(`Bilateral relations are not supported for universal relations (.toAny()).`);let n=t[0]?.object;if(!n)throw new M(`Bilateral relation requires one target object`,[{path:[`bilateral`,`object`],message:`Bilateral relation requires one target object`}]);if(e.object&&e.object!==n){let t=`Bilateral inverse object ${e.object} must match relation target ${n}`;throw new M(t,[{path:[`bilateral`,`object`],message:t}])}return this.attr.bilateral={...e,object:n},this}},SingleRelationAttributeBuilder=class extends BaseRelationAttributeBuilder{constructor(e,t){super(`relation`,e,t),this.attr.cardinality=`one`,this.attr.targets=[]}many(){let e=new MultiRelationAttributeBuilder(this.attr.name,this.attr.label??``,{targets:this.attr.targets,isRequired:this.attr.required});return this.attr.system===!1&&e.runtime(),this.attr.hidden&&e.hidden(),this.attr.placeholder&&e.placeholder(this.attr.placeholder),this.attr.description&&e.description(this.attr.description),this.attr.icon&&e.icon(this.attr.icon),this.attr.order!==void 0&&e.order(this.attr.order),this.attr.metadata&&e.metadata(this.attr.metadata),e}required(){return this.setRequired(!0),this.asRequiredState()}optional(){return this.setRequired(!1),this.asRequiredState()}},MultiRelationAttributeBuilder=class extends BaseRelationAttributeBuilder{constructor(e,t,n){super(`relation`,e,t),this.attr.cardinality=`many`,this.attr.targets=n?.targets??[],this.attr.defaultValue=[],n?.isRequired&&this.setRequired(!0)}maxItems(e){return this.attr.maxItems=e,this}required(){return this.setRequired(!0),this.asRequiredState()}optional(){return this.setRequired(!1),this.asRequiredState()}};function relation(e,t){return new SingleRelationAttributeBuilder(e,t)}var FormulaAttributeBuilder=class extends BaseAttributeBuilder{constructor(e,t){super(`formula`,e,t),this.attr.required=!1}expression(e){return this.attr.expression=e,this}returns(e){return this.attr.returnType=e,this}decimals(e){return this.attr.decimals=e,this}currency(e){return this.attr.currencyCode=e,this}required(){throw Error(`Formula attributes cannot be required: they are computed read-only values. Remove .required() from this attribute definition.`)}optional(){return this}};function formula(e,t){return new FormulaAttributeBuilder(e,t)}var RollupAttributeBuilder=class extends BaseAttributeBuilder{constructor(e,t){super(`rollup`,e,t),this.attr.required=!1}from(e){return this.attr.relationAttribute=e,this}aggregate(e){return this.attr.targetAttribute=e,this}using(e){return this.attr.function=e,this}decimals(e){return this.attr.decimals=e,this}path(e){return this.attr.relationPath=e,this}targetType(e){return this.attr.targetAttributeType=e,this}targetOptions(e){return this.attr.targetAttributeOptions=asMutableArray(e),this}targetCurrency(e){return this.attr.targetCurrencyCode=e,this}build(){let e=this.attr.function,t=this.attr.targetAttributeType;if(e===`original`&&t!==void 0&&t!==`select`&&t!==`status`&&t!==`multiselect`){let e=this.attr.relationAttribute??`relation`,n=this.attr.targetAttribute??`field`;throw new A(`Rollup "${this.attr.name}": .using("original") only supports a "select", "status", or "multiselect" target, but .targetType("${t}") was given. To surface a plain ${t} value from a related record, use a formula instead — e.g. formula("${this.attr.name}", "…").expression("${e}.${n}").`,j.VALIDATION_FAILED)}return super.build()}required(){throw Error(`Rollup attributes cannot be required: they are computed read-only values. Remove .required() from this attribute definition.`)}optional(){return this}};function rollup(e,t){return new RollupAttributeBuilder(e,t)}var DocumentAttributeBuilder=class extends BaseAttributeBuilder{constructor(e,t){super(`document`,e,t)}accepts(e){return this.attr.accepts=e,this}maxFileSize(e){return this.attr.maxFileSize=e,this}qualifyWith(...e){return this.attr.properties=buildPropertySchema(e),this}required(){return this.setRequired(!0),this.asRequiredState()}optional(){return this.setRequired(!1),this.asRequiredState()}};function document(e,t){return new DocumentAttributeBuilder(e,t)}const Hu=/^[a-z0-9][a-z0-9-]{0,62}$/,Uu=`core`;function assertBundleName(e){if(!Hu.test(e))throw new M(`Invalid bundle name "${e}": expected a lowercase slug matching ${Hu}`,[]);if(e===`core`)throw new M(`Bundle name "${Uu}" is reserved`,[])}async function sha256Hex(e){let t=await crypto.subtle.digest(`SHA-256`,new TextEncoder().encode(e));return Array.from(new Uint8Array(t),e=>e.toString(16).padStart(2,`0`)).join(``)}function nameSlug(e,t){return e.normalize(`NFKD`).replace(/\p{M}/gu,``).toLowerCase().replace(/[^a-z0-9]+/g,`_`).slice(0,t).replace(/^_+|_+$/g,``)}function cloneBuilderValue(e,t){try{return structuredClone(e)}catch{let e=`Builder configuration must contain cloneable data`;throw new M(e,[{path:t,message:e}])}}function requireBuilderName(e,t){if(typeof e!=`string`||e.trim().length===0)throw new M(`Name must not be blank`,[{path:t,message:`Name must not be blank`}])}function validateContentConfiguration(e,t){if(typeof e!=`object`||!e||Array.isArray(e))throw new M(`Invalid content configuration`,[{path:t,message:`Expected content configuration`}]);for(let n of[`name`,`label`,`placement`])if(Object.hasOwn(e,n)){let e=`Independent content configuration cannot define ${n}`;throw new M(e,[{path:[...t,n],message:e}])}let n=D.safeParse({...e,name:`content`,placement:e.type===`group`?`grid`:`main`});if(!n.success)throw M.fromZodErrors(n.error.issues.map(e=>({path:[...t,...e.path.map(String)],message:e.message})));n.data.type===`form`&&n.data.groups.forEach((e,n)=>requireBuilderName(e.name,[...t,`groups`,String(n),`name`]));let{name:r,label:i,placement:a,...o}=n.data;return cloneBuilderValue(o,t)}function validateLiteralContent(e,t){return validateContentConfiguration(e,t),cloneBuilderValue(e,t)}function positionOf(e){return{x:e.x,y:e.y,w:e.w,h:e.h}}function bottomOf(e){return e.y+e.h}function collides(e,t){return e.x<t.x+t.w&&t.x<e.x+e.w&&e.y<t.y+t.h&&t.y<e.y+e.h}function firstCollision(e,t){return t.find(t=>collides(e,t))}function inReadingOrder$1(e){return[...e].sort((e,t)=>e.y-t.y||e.x-t.x)}function snapWidth(e,t,n){let r=12-t,i=v.filter(e=>e>=n&&e<=r);return i.length===0?v.find(e=>e>=n)??n:i.reduce((t,n)=>{let r=Math.abs(n-e),i=Math.abs(t-e);return r<i||r===i&&n>t?n:t})}function sharesColumns(e,t){return e.x<t.x+t.w&&t.x<e.x+e.w}function risenRow(e,t){return t.reduce((t,n)=>n.y<e.y&&sharesColumns(e,n)?Math.max(t,bottomOf(n)):t,0)}function packLayout(e,t){let n=e.map(e=>{let n=t?.get(e.i);return n===void 0?e:{...e,h:n}}),r=n.filter(e=>e.static===!0),i=new Map(r.map(e=>[e.i,e]));for(let e of inReadingOrder$1(n.filter(e=>e.static!==!0))){let t=risenRow(e,r),n=firstCollision({...e,y:t},r);for(;n!==void 0;)t=bottomOf(n),n=firstCollision({...e,y:t},r);let a={...e,y:t};r.push(a),i.set(e.i,a)}return n.map(e=>i.get(e.i)??e)}function settleLayout(e,t){let n=e.filter(e=>e.static===!0),r=e.filter(e=>e.static!==!0),i=new Map;for(let e of[...inReadingOrder$1(r.filter(e=>t.has(e.i))),...inReadingOrder$1(r.filter(e=>!t.has(e.i)))]){let t=e,r=firstCollision(t,n);for(;r!==void 0;)t={...t,y:bottomOf(r)},r=firstCollision(t,n);n.push(t),i.set(e.i,t)}return packLayout(e.map(e=>i.get(e.i)??e))}function pageCompactor(){return{type:`vertical`,allowOverlap:!1,preventCollision:!1,compact:e=>packLayout(e).map(e=>({...e,moved:!1}))}}function clampHeight(e,t){let n=t.minHeight??1,r=t.maxHeight??1/0;return Math.max(1,n,Math.min(r,e))}function widthStepConstraint(e){return{name:`width-steps`,constrainSize:(t,n,r)=>{let i=e(t.i),a=snapWidth(n,t.x,i.minWidth);return i.height===`fit`?{w:a,h:t.h}:i.height===`flexible`?{w:a,h:clampHeight(r,i)}:{w:a,h:Math.max(1,r)}}}}function snapCell(e,t){let n=Math.max(0,Math.min(e.x,11)),r=snapWidth(e.w,n,t(e.i).minWidth);return{...e,x:Math.min(n,12-r),y:Math.max(0,e.y),w:r,h:Math.max(1,e.h)}}function samePosition(e,t){return e.x===t.x&&e.y===t.y&&e.w===t.w&&e.h===t.h}function pushApart(e){let t=e.filter(e=>e.static===!0),n=new Map;for(let r of inReadingOrder$1(e.filter(e=>e.static!==!0))){let e=r,i=firstCollision(e,t);for(;i!==void 0;){let n={...e,x:i.x+i.w};e=n.x+n.w<=12&&firstCollision(n,t)===void 0?n:{...e,y:bottomOf(i)},i=firstCollision(e,t)}t.push(e),n.set(r.i,e)}return e.map(e=>n.get(e.i)??e)}function isValidStatic(e){return[e.x,e.y,e.w,e.h].every(Number.isInteger)&&e.x>=0&&e.y>=0&&e.h>=1&&v.includes(e.w)&&e.x+e.w<=12}function keptStatics(e){let t=[],n=new Set;for(let r of inReadingOrder$1(e.filter(e=>e.static===!0)))isValidStatic(r)&&firstCollision(r,t)===void 0?t.push(r):n.add(r.i);return e.map(e=>n.has(e.i)?{...e,static:!1}:e)}function boundedHeight(e,t){let n=t(e.i);if(e.static===!0||n.height!==`flexible`)return e;let r=clampHeight(e.h,n);return r===e.h?e:{...e,h:r}}function repairPageGrid(e,t){let n=[],r=keptStatics(e).map(e=>{let r=boundedHeight(e,t);return r!==e&&n.push({name:e.i,kind:`height`,from:positionOf(e),to:positionOf(r)}),r}).map(e=>{if(e.static===!0)return e;let r=snapCell(e,t);return samePosition(e,r)||n.push({name:e.i,kind:`width`,from:positionOf(e),to:positionOf(r)}),r}),i=pushApart(r);i.forEach((e,t)=>{let i=r[t];i!==void 0&&!samePosition(i,e)&&n.push({name:e.i,kind:`pushed`,from:positionOf(i),to:positionOf(e)})});let a=packLayout(i),o=keptFill(a,t);for(let e of inReadingOrder$1(a))e.i!==o&&t(e.i).height===`fill`&&n.push({name:e.i,kind:`fill`});return{cells:a,repairs:n}}function keptFill(e,t){return inReadingOrder$1(e).find(e=>e.static!==!0&&t(e.i).height===`fill`)?.i}function firstFreeSlot(e,t,n){let r=t.reduce((e,t)=>Math.max(e,bottomOf(t)),0);for(let i=n;i<=r;i+=1)for(let n=0;n+e.w<=6;n+=1)if(firstCollision({x:n,y:i,...e},t)===void 0)return{x:n,y:i};return{x:0,y:r}}function deriveLayout6(e,t){let n=[];for(let r of inReadingOrder$1(e)){let e=Math.min(6,Math.max(t(r.i).minWidth,Math.ceil(r.w/2))),i=n.at(-1)?.y??0;n.push({i:r.i,...firstFreeSlot({w:e,h:r.h},n,i),w:e,h:r.h})}return n}function figureSlot(e,t,n){for(let r of inReadingOrder$1(e.filter(e=>n.has(e.i)))){let n={x:r.x+r.w,y:r.y,...t};if(n.x+n.w<=12&&firstCollision(n,e)===void 0)return n}}function placeNew(e,t,n,r){let i={w:snapWidth(n.size.w,0,n.minWidth),h:Math.max(1,n.size.h)};return n.figure?{i:t,...figureSlot(e,i,r)??{x:0,y:0,...i}}:{i:t,x:0,y:e.reduce((e,t)=>Math.max(e,bottomOf(t)),0),...i}}function spanContent(e,t){if(!v.includes(t)){let e=`A block spans ${v.join(`, `)} columns, not ${String(t)}`;throw new M(e,[{path:[`content`,`span`],message:e}])}return{content:e,span:t}}function configureContent(e,t){try{return typeof e==`object`&&e&&`build`in e&&typeof e.build==`function`?{configuration:validateContentConfiguration(e.build(),t),extension:e.extension}:{configuration:validateContentConfiguration(e,t)}}catch(e){throw e instanceof M?new M(e.message,e.errors.map(e=>({...e,path:e.path[0]===`content`?[...t,...e.path.slice(1)]:e.path}))):e}}function storedQuery(e,t){let n=[`search`,`offset`].filter(t=>e.state[t]!==void 0);if(n.length>0)throw new M(`A ${t} cannot keep a query's ${n.join(` or `)}`,n.map(e=>({path:[t,e],message:`A ${t} stores no ${e}; use filters and limit instead`})));return e.toDefinition()}function checkInputs(e,t){for(let[n,r]of Object.entries(t)){let t=e.inputs[n];r!==void 0&&t!==void 0&&E({parameters:t.schema},r,[`content`,`parameters`,n])}return t}var BlockContentBuilder=class{constructor(e,t,n){this.extension=e,this.parameters=t,this.heightMode=n}copy(e,t){let n=this.constructor;return new n(this.extension,e,t)}with(e){let t={...this.parameters};for(let[n,r]of Object.entries(e)){if(r===void 0){delete t[n];continue}t[n]=r}return checkInputs(this.extension,e),this.copy(t,this.heightMode)}height(e){return this.copy(this.parameters,e)}build(){let e={type:`custom`,extension:this.extension.name,parameters:cloneBuilderValue(this.parameters,[`content`,`parameters`]),...this.heightMode===void 0?{}:{height:this.heightMode}};return validateContentConfiguration(e,[`content`]),E(this.extension,e.parameters,[`content`,`parameters`]),e}span(e){return spanContent(this,e)}},Measures=class{count(){return this.measured(`count`)}sum(e){return this.measured(`sum`,e)}avg(e){return this.measured(`avg`,e)}min(e){return this.measured(`min`,e)}max(e){return this.measured(`max`,e)}};function measure(e,t,n){return{query:e,measure:t,...n===void 0?{}:{attribute:n}}}var MetricBuilder=class extends BlockContentBuilder{label(e){return this.with({label:e})}trend(e,t){return this.with({trend:e,trendBucket:t})}compare(e,t){return this.with({compare:e,period:t})}target(e){return this.with({target:e})}},MetricQuery=class extends Measures{constructor(e){super(),this.query=e}measured(e,t){return new MetricBuilder(x,checkInputs(x,measure(this.query,e,t)))}};function groupBy(e){return typeof e==`string`?[e,void 0]:[e.attribute,e.bucket]}var ChartBuilder=class extends BlockContentBuilder{label(e){return this.with({label:e})}by(e){let[t,n]=groupBy(e);return this.with({by:t,byBucket:n})}by2(e){let[t,n]=groupBy(e);return this.with({by2:t,by2Bucket:n})}kind(e){return this.with({kind:e})}bar(){return this.kind(`bar`)}horizontalBar(){return this.kind(`horizontal_bar`)}line(){return this.kind(`line`)}area(){return this.kind(`area`)}donut(){return this.kind(`donut`)}funnel(){return this.kind(`funnel`)}treemap(){return this.kind(`treemap`)}calendar(){return this.kind(`calendar`)}},ChartQuery=class extends Measures{constructor(e){super(),this.query=e}measured(e,t){return new ChartBuilder(b,checkInputs(b,{...measure(this.query,e,t),kind:`bar`}))}};const Wu={"7d":7,"30d":30};var AgendaBuilder=class extends BlockContentBuilder{label(e){return this.with({label:e})}next(e){let t=typeof e==`number`?e:Wu[e];if(!Number.isInteger(t)||t<1){let e=`An agenda looks ahead a whole number of days, at least 1`;throw new M(e,[{path:[`content`,`parameters`,`next`],message:e}])}return this.with({next:t})}yearly(){return this.with({yearly:!0})}},CardBuilder=class extends BlockContentBuilder{fields(...e){return this.with({fields:e})}record(e){return this.with({record:e})}},DecisionsBuilder=class extends BlockContentBuilder{kinds(...e){return this.with({kinds:e})}limit(e){return this.with({limit:e})}},MeetingsUpcomingBuilder=class extends BlockContentBuilder{limit(e){return this.with({limit:e})}},MailboxBuilder=class extends BlockContentBuilder{category(e){return this.with({category:e})}important(){return this.with({important:!0})}unread(){return this.with({unread:!0})}limit(e){return this.with({limit:e})}label(e){return this.with({label:e})}};function metric(e){return new MetricQuery(storedQuery(e,`metric`))}function chart(e){return new ChartQuery(storedQuery(e,`chart`))}function agenda(e,t){return new AgendaBuilder(_,checkInputs(_,{query:storedQuery(e,`agenda`),attribute:t}))}function card(e){let t=e===void 0||typeof e==`string`?e:e.build().name;return new CardBuilder(y,t===void 0?{}:checkInputs(y,{object:t}))}function text$1(e){return new BlockContentBuilder(C,checkInputs(C,{markdown:e}))}function decisions(){return new DecisionsBuilder(Ie,{})}function meetingsUpcoming(){return new MeetingsUpcomingBuilder(We,{})}function mailbox(){return new MailboxBuilder(He,{})}function isSpanned(e){return typeof e==`object`&&!!e&&`span`in e&&`content`in e}function total(e){return e.reduce((e,t)=>e+t,0)}function spread(e){return e.length===0?0:Math.max(...e)-Math.min(...e)}function betterSplit(e,t){let n=total(e)-total(t);if(n!==0)return n>0;let r=spread(t)-spread(e);if(r!==0)return r>0;let i=e.findIndex((e,n)=>e!==t[n]);return i!==-1&&(e[i]??0)>(t[i]??0)}function splitColumns(e,t){let n=[...t];function visit(r,i){let a=t[r.length];if(a===void 0){betterSplit(r,n)&&(n=r);return}for(let t of v)t>=a&&i+t<=e&&visit([...r,t],i+t)}return visit([],0),n}function rowWidths(e,t){let n=e.filter(e=>e.span===void 0);n.length>4&&reject(t,`A row holds at most 4 unsized blocks`);let r=total(e.map(e=>e.span??e.minWidth));r>12&&reject(t,`Blocks ${e.map(e=>`"${e.key}"`).join(`, `)} do not fit one row: they need at least ${r} of 12 columns`);let i=splitColumns(12-total(e.map(e=>e.span??0)),n.map(e=>e.minWidth)),a=0;return e.map(e=>{if(e.span!==void 0)return e.span;let t=i[a]??e.minWidth;return a+=1,t})}function reject(e,t){throw new M(t,[{path:e,message:t}])}function traitsOf(e,t=[]){return sn(e,w,new Map(t.map(e=>[e.name,e])))}function headingNames(e){let t=new Set(e.flatMap(e=>e.kind===`heading`?e.meta.name===void 0?[]:[e.meta.name]:[...Object.keys(e.blocks),...e.group?.name===void 0?[]:[e.group.name]]));return e.flatMap(e=>{if(e.kind!==`heading`)return[];if(e.meta.name!==void 0)return[e.meta.name];let n=nameSlug(e.title,40),r=n===``?`heading`:`heading_${n}`,i=r;for(let e=2;t.has(i);e+=1)i=`${r}_${e}`;return t.add(i),[i]})}function headingEntry(e,t,n){let r={title:t,...n.description===void 0?{}:{description:n.description},...n.icon===void 0?{}:{icon:n.icon}};return{key:e,content:new BlockContentBuilder(ze,r),span:12}}function groupOf(e,t,n){let[r]=e.map(e=>e.name).sort(),i=Bt(e.length);return(i!==void 0||r===void 0)&&reject(n,String(i)),{type:`group`,name:t.name??`group_${r}`,placement:`grid`,...t.label===void 0?{}:{label:t.label},members:e.map(e=>e.name)}}function requirePlacement(e,t,n,r,i){if(e.type===`page`&&reject(i,`Content "${n}" cannot reference a page from a page`),Sn(e,t,n,r,i),e.type!==`custom`)return;let a=t?.refine?.(e.parameters??{},r);a&&reject([...i,`parameters`,a.input],a.message)}var Gu=class PageBuilder{constructor(e){this.kind=`view`,this.data=e}icon(e){return new PageBuilder({...this.data,icon:e})}description(e){return new PageBuilder({...this.data,description:e})}home(){return new PageBuilder({...this.data,home:!0})}for(e){let t=typeof e==`string`?e:e.build().name;return new PageBuilder({...this.data,object:t})}row(e,t={}){let n=t.group===void 0?{kind:`row`,blocks:e}:{kind:`row`,blocks:e,group:t.group};return new PageBuilder({...this.data,sections:[...this.data.sections,n]})}heading(e,t={}){let n={kind:`heading`,title:e,meta:t};return new PageBuilder({...this.data,sections:[...this.data.sections,n]})}build(){let e=[`views`,`0`],{name:t,label:n,object:r,icon:i,description:a,home:o,sections:s}=this.data;requireBuilderName(t,[...e,`name`]),r!==void 0&&requireBuilderName(r,[...e,`object`]),o&&r!==void 0&&reject([...e,`home`],`Only a standalone page can be the home`),s.every(e=>e.kind===`row`&&Object.keys(e.blocks).length===0)&&reject([...e,`contents`],`A page declares at least one block`);let c=r===void 0?`page`:`record`,l=[],u=[],d=headingNames(s),f=0;for(let t of s){let n=[...e,`contents`,String(l.length)],r=(t.kind===`heading`?[headingEntry(d[f++]??``,t.title,t.meta)]:Object.entries(t.blocks).map(([e,t])=>isSpanned(t)?{key:e,content:t.content,span:t.span}:{key:e,content:t,span:void 0})).map(t=>{let n=[...e,`contents`,String(l.length)];requireBuilderName(t.key,[...n,`name`]);let{configuration:r,extension:i}=configureContent(t.content,n);requirePlacement(r,i,t.key,c,n);let a={...r,name:t.key,placement:`grid`};return l.push(a),{content:a,span:t.span}}),i=rowWidths(r.map(({content:e,span:t})=>({key:e.name,...t===void 0?{}:{span:t},minWidth:traitsOf(e).minWidth})),n),a=u.reduce((e,t)=>Math.max(e,t.y+t.h),0);if(t.kind===`row`&&t.group!==void 0){let e=groupOf(r.map(({content:e})=>e),t.group,n);l.push(e),u.push({i:e.name,x:0,y:a,w:12,h:traitsOf(e,l).size.h});continue}let o=0;r.forEach(({content:e},t)=>{let n=i[t]??0;u.push({i:e.name,x:o,y:a,w:n,h:traitsOf(e).size.h}),o+=n})}let p=Object.fromEntries(packLayout(u).map(({i:e,x:t,y:n,w:r,h:i})=>[e,{x:t,y:n,w:r,h:i}])),m={name:t,label:n,...r===void 0?{}:{object:r},context:`page`,...i===void 0?{}:{icon:i},...a===void 0?{}:{description:a},...o?{home:!0}:{},contents:l,grid:p},h=T.safeParse(m);if(!h.success)throw M.fromZodErrors(h.error.issues.map(t=>({path:[...e,...t.path.map(String)],message:t.message})));return{kind:`view`,definition:cloneBuilderValue(m,e)}}};function page(e,t){return new Gu({name:e,label:t,object:void 0,sections:[]})}var Y=class ViewBuilder{constructor(e,t=[]){this.kind=`view`,this.data=cloneBuilderValue(e,[`views`,`0`]),this.extensions=t.map(e=>e&&{...e})}for(e){let t=typeof e==`string`?e:e.build().name;return new ViewBuilder({...this.data,object:t},this.extensions)}default(){return new ViewBuilder({...this.data,default:!0},this.extensions)}description(e){return new ViewBuilder({...this.data,description:e},this.extensions)}icon(e){return new ViewBuilder({...this.data,icon:e},this.extensions)}place(e,t,n,r,i){let{configuration:a,extension:o}=configureContent(n,[`views`,`0`,`contents`,String(this.data.contents.length)]),s={...a,name:e,label:t,placement:r},c=[...this.data.contents,s],l=i===void 0?{}:{anchors:{...this.data.anchors,[e]:{after:i}}};return new ViewBuilder({...this.data,...l,contents:c},[...this.extensions,o])}tab(e,t,n,r){return this.place(e,t,n,`main`,r?.after)}aside(e,t,n){return this.place(e,t,n,`aside`)}build(){let e=[`views`,`0`];requireBuilderName(this.data.name,[...e,`name`]),requireBuilderName(this.data.object,[...e,`object`]);let t=T.safeParse(this.data);if(!t.success)throw M.fromZodErrors(t.error.issues.map(t=>({path:[...e,...t.path.map(String)],message:t.message})));return this.data.contents.forEach((t,n)=>{let r=[...e,`contents`,String(n)];requireBuilderName(t.name,[...r,`name`]),t.type===`form`&&t.groups.forEach((e,t)=>requireBuilderName(e.name,[...r,`groups`,String(t),`name`])),Sn(t,this.extensions[n],t.name,this.data.context,r)}),{kind:`view`,definition:cloneBuilderValue(this.data,e)}}};function detailView(e,t){return new Y({name:e,label:t,object:void 0,context:`record`,contents:[]})}function listView(e,t){return new Y({name:e,label:t,object:void 0,context:`collection`,contents:[]})}function isViewPiece(e){return`kind`in e&&e.kind===`view`}function isObjectPiece(e){return!(isViewPiece(e)||e instanceof N)}function assertPiece(e,t){if(typeof e!=`object`||!e)throw new M(`Unsupported bundle piece: ${t}`,[]);if(isViewPiece(e)||e instanceof N||typeof e.build==`function`)return;let n=e.name;throw new M(`Unsupported bundle piece: ${typeof n==`string`?n:String(t)}`,[])}function declarationOf$1(e){return e instanceof Gu||e instanceof Y?e.build():e}function isPage(e){return e.definition.context===`page`}function validateView(e){let t=T.safeParse(e);if(t.success)return t.data;let n=typeof e==`object`&&e&&`name`in e?String(e.name):`(unnamed)`,r=M.fromZodErrors(t.error.issues.map(e=>({path:e.path.map(String),message:e.message})));throw new M(`View "${n}" is invalid. ${r.message}`,r.errors)}function identityOf(e){return`${e.object??``}:${e.name}`}function assertUniqueIdentities(e,t){let n=new Set;for(let r of t){let t=identityOf(r);if(n.has(t))throw new O(e,r.name);n.add(t)}}function byIdentity(e){return(t,n)=>{let r=identityOf(e(t)),i=identityOf(e(n));return r<i?-1:+(r>i)}}async function hashBundlePieces(e){return sha256Hex(R({objects:[...e.objects].sort(byIdentity(e=>({name:e.name}))),views:[...e.views].sort(byIdentity(e=>e)),pages:[...e.pages].sort(byIdentity(e=>e.definition)),agents:[...e.agents].sort(byIdentity(e=>({name:e.name})))}))}async function builtBundleFromPieces(e){let t=e.name===Uu;t||assertBundleName(e.name);let{objects:n,pages:r,agents:i}=e,a=e.views.map(validateView),o=n.map(e=>e.name);if(assertUniqueIdentities(`object`,o.map(e=>({name:e}))),assertUniqueIdentities(`view`,a),assertUniqueIdentities(`page`,r.map(e=>e.definition)),assertUniqueIdentities(`agent`,i.map(e=>({name:e.name}))),!t){let e=o.find(I);if(e!==void 0)throw new k(e,`bundle`)}return{name:e.name,label:e.label.trim(),description:e.description??null,hash:await hashBundlePieces({objects:n,views:a,pages:r,agents:i}),objects:n,views:a,pages:r,agents:i,uses:e.uses??[],samples:e.samples??[],translations:e.translations??{}}}const Ku=Symbol.for(`standards.bundle`);function isBundle(e){return typeof e==`object`&&!!e&&e[Ku]===!0}var BundleBuilder=class{constructor(e,t){this[Ku]=!0,this.pieces=[],this.used=[],this.descriptionText=null,this.sampleRecords=[],this.translationTables={},this.built=null,assertBundleName(e),this.name=e,this.label=t,this.objectBuilders=[]}description(e){return this.descriptionText=e,this.changed()}add(...e){return this.pieces.push(...e),this.objectBuilders.push(...e.filter(isObjectPiece)),this.changed(),this}uses(...e){return this.used.push(...e),this.changed()}samples(e){return this.sampleRecords=e,this.changed()}translations(e,t){return this.translationTables[e]=t,this.changed()}build(){return this.built??=this.assemble(),this.built}changed(){return this.built=null,this}async assemble(){let e=[],t=[],n=[],r=[];for(let[i,a]of this.pieces.entries())if(assertPiece(a,i),a instanceof N)r.push(a.build());else if(isViewPiece(a)){let e=declarationOf$1(a);isPage(e)?n.push(e):t.push(e.definition)}else e.push(a.build());return this.assertNotInUsed(e),builtBundleFromPieces({name:this.name,label:this.label,description:this.descriptionText,objects:e,views:t,pages:n,agents:r,uses:this.used.map(e=>e.name),samples:this.sampleRecords,translations:{...this.translationTables}})}assertNotInUsed(e){let t=new Map,n=new Set([this]),visit=e=>{if(!n.has(e)){n.add(e);for(let n of e.objectBuilders){let r=n.build().name;t.has(r)||t.set(r,e.name)}for(let t of e.used)visit(t)}};for(let e of this.used)visit(e);for(let{name:n}of e){let e=t.get(n);if(e!==void 0)throw new O(`object`,n,`Object "${n}" is declared by bundle "${this.name}" and by its used bundle "${e}"`)}}};function bundle(e,t){return new BundleBuilder(e,t)}function readOnlyOption(e){return e?.readOnly===void 0?{}:{readOnly:e.readOnly}}function buildFreeFieldRef(e,t){return{type:`free`,attribute:e.build(),label:t?.label,required:t?.required,prefillExpression:t?.prefillExpression,...readOnlyOption(t)}}function buildSlotFieldRef(e,t,n){let[r,...i]=Array.isArray(e)?e:[e];return{type:`slot`,slotId:r,additionalSlotIds:i.length>0?i:void 0,attribute:t,label:n?.label,required:n?.required,tooltip:n?.tooltip,...readOnlyOption(n)}}const qu=z.boolean().optional();var FormRowBuilder=class{constructor(e,t,n){this._finalized=!1,this.stepBuilder=e,this.rowData={id:t,order:n,type:`fields`,fields:[]}}field(e,t,n){return this.rowData.fields.push(buildSlotFieldRef(e,t,n)),this}freeField(e,t){return this.rowData.fields.push(buildFreeFieldRef(e,t)),this}row(e){return this._finalized=!0,this.stepBuilder._finalizeRow(this.rowData).row(e)}heading(e,t){return this._finalized=!0,this.stepBuilder._finalizeRow(this.rowData).heading(e,t)}separator(){return this._finalized=!0,this.stepBuilder._finalizeRow(this.rowData).separator()}text(e){return this._finalized=!0,this.stepBuilder._finalizeRow(this.rowData).text(e)}endRow(){return this._finalized?this.stepBuilder:(this._finalized=!0,this.stepBuilder._finalizeRow(this.rowData))}},FormStepBuilder=class{constructor(e,t,n){this.rowOrder=0,this.formBuilder=e,this.stepData={id:t,label:n,rows:[]}}description(e){return this.stepData.description=e,this}field(e,t,n){this.rowOrder++;let r=`row-${this.stepData.id}-${this.rowOrder}`,i=buildSlotFieldRef(e,t,n),a={id:r,order:this.rowOrder,type:`fields`,fields:[i]};return this.stepData.rows.push(a),this}freeField(e,t){this.rowOrder++;let n=`row-${this.stepData.id}-${this.rowOrder}`,r=buildFreeFieldRef(e,t),i={id:n,order:this.rowOrder,type:`fields`,fields:[r]};return this.stepData.rows.push(i),this}row(e){return this.rowOrder++,new FormRowBuilder(this,e,this.rowOrder)}heading(e,t){this.rowOrder++;let n={id:`heading-${this.stepData.id}-${this.rowOrder}`,order:this.rowOrder,type:`heading`,content:e,level:t};return this.stepData.rows.push(n),this}separator(){this.rowOrder++;let e={id:`sep-${this.stepData.id}-${this.rowOrder}`,order:this.rowOrder,type:`separator`};return this.stepData.rows.push(e),this}text(e){this.rowOrder++;let t={id:`text-${this.stepData.id}-${this.rowOrder}`,order:this.rowOrder,type:`text`,content:e};return this.stepData.rows.push(t),this}step(e,t){return this.formBuilder._finalizeStep(this.stepData).step(e,t)}build(){return this.formBuilder._finalizeStep(this.stepData).build()}_finalizeRow(e){return e.fields.length>0&&this.stepData.rows.push(e),this}_getData(){return this.stepData}},FormBuilder=class{constructor(e,t){this.data={slots:[],steps:[],status:`draft`,version:1},this.validateName(e),this.data.name=e,this.data.label=t}description(e){return this.data.description=e,this}icon(e){return this.data.icon=e,this}status(e){return this.data.status=e,this}metadata(e){return this.data.metadata=e,this}slot(e,t,n){if(this.data.slots.some(t=>t.id===e))throw Error(`[FormBuilder] Duplicate slot id: "${e}"`);let r={id:e,objectName:t,label:n.label,mode:n.mode??`create`,color:n.color,icon:n.icon};return this.data.slots.push(r),this}step(e,t){if(this.data.steps.some(t=>t.id===e))throw Error(`[FormBuilder] Duplicate step id: "${e}"`);return new FormStepBuilder(this,e,t)}build(){return this.validateRequiredData(),this.validateSlotReferences(),this.validateFreeFields(),this.validatePrefillExpressions(),this.validateReadOnly(),this.data}_finalizeStep(e){return this.data.steps.push(e),this}validateName(e){let t=z.string().min(1,`Form name cannot be empty`).max(63,`Form name is too long (max 63 characters)`).regex(/^[a-z0-9]+(-[a-z0-9]+)*$/,{message:`Invalid form name format. Name must be in kebab-case: 'client-onboarding', 'contact-creation'`});try{t.parse(e)}catch(e){throw e instanceof z.ZodError?Error(`[FormBuilder] ${e.issues[0].message}`):e}}validateRequiredData(){if(this.data.slots.length===0)throw Error(`[FormBuilder] At least one slot is required. Use .slot() to add slots.`);if(this.data.steps.length===0)throw Error(`[FormBuilder] At least one step is required. Use .step() to add steps.`)}validateSlotReferences(){let e=new Map(this.data.slots.map(e=>[e.id,e.objectName]));for(let t of this.data.steps)for(let n of t.rows)if(isFormFieldsRow(n))for(let r of n.fields){if(r.type!==`slot`)continue;let n=getSlotFieldTargets(r);for(let r of n)if(!e.has(r))throw Error(`[FormBuilder] Step "${t.id}" references unknown slot "${r}". Declare it with .slot("${r}", ...) first.`);let i=new Set(n.map(t=>e.get(t)));if(i.size>1)throw Error(`[FormBuilder] Step "${t.id}" field on attribute "${r.attribute}" targets slots of different objects (${[...i].join(`, `)}). A multi-slot field must target slots of the same object.`)}}validatePrefillExpressions(){let e=[...U,`join`,`where`];for(let t of this.data.steps)for(let n of t.rows)if(isFormFieldsRow(n))for(let r of n.fields){if(!isFormFreeFieldRef(r)||!r.prefillExpression)continue;let n=r.prefillExpression,i=`prefillExpression on free field "${r.attribute.name}" in step "${t.id}"`;if(!isLabelExpression(n))throw Error(`[FormBuilder] ${i} must contain at least one {{ attribute }} interpolation.`);if(/\{\{\s*\}\}/.test(n))throw Error(`[FormBuilder] ${i} contains empty {{ }} interpolation.`);for(let a of n.matchAll(/(?<!\|)\|(?!\|)\s*(\w+)(?:\s*:[^|}]*)?/g)){let n=a[1];if(!e.includes(n))throw Error(`[FormBuilder] ${i} uses invalid pipe "${n}". Valid pipes: ${e.join(`, `)}`);let o=a[0].replace(/^\|/,``);if(isWherePipe(o)&&!parseWherePipe(o))throw new M(`[FormBuilder] ${i} has a malformed where: pipe "${o.trim()}". Write where:property=value or where:property in (a,b).`,[{path:[t.id,r.attribute.name,`prefillExpression`],message:`Malformed where: pipe`}])}}}validateReadOnly(){for(let e of this.data.steps)for(let t of e.rows)if(isFormFieldsRow(t))for(let n of t.fields){if(qu.safeParse(n.readOnly).success)continue;let t=isFormFreeFieldRef(n)?n.attribute.name:n.attribute,r=isFormFreeFieldRef(n)?`free field`:`field`;throw new M(`[FormBuilder] readOnly on ${r} "${t}" in step "${e.id}" must be a boolean.`,[{path:[e.id,t,`readOnly`],message:`Expected a boolean`}])}}validateFreeFields(){let e=new Set(V);for(let t of this.data.steps)for(let n of t.rows)if(isFormFieldsRow(n)){for(let r of n.fields)if(isFormFreeFieldRef(r)){let n=r.attribute.type;if(e.has(n))throw Error(`[FormBuilder] Free field in step "${t.id}" uses forbidden attribute type "${n}". Forbidden types: ${V.join(`, `)}`)}}}};function form(e,t){return new FormBuilder(e,t)}const Ju=`box`,Yu=[`circle`,`square`],Xu=[`upload`,`website`,`name`,`email`];function isImageSource(e){return Xu.some(t=>t===e)}const Zu={object:[`icon`,`color`],record:[`icon`,`image`],emailCategory:[`icon`,`color`],option:[`color`],view:[`icon`],agent:[`color`],user:[`image`]};function imageFileIdOf(e){return`image`in e?e.image?.fileId:`imageFileId`in e?e.imageFileId:void 0}function resolveAppearance(e,t){let n=imageFileIdOf(e);if(n)return{kind:`image`,imageFileId:n,shape:t?.image?.shape??`square`};let r=t?.name??e.name,i=e.color??t?.color??(r?Pl(r):void 0),a=e.icon??t?.icon??`box`;return i?{kind:`tile`,icon:a,color:i}:{kind:`glyph`,icon:a}}const Qu=z.object({shape:z.enum(Yu),from:z.array(z.string().refine(e=>e.trim().length>0,`Must not be blank`)).optional()}).strict();function imageLookupKindOf(e){return e.type===`text`?e.format===`url`?`website`:e.format===`email`?`email`:`name`:null}function validateObjectImage(e){let t=e.image?.from;if(t===void 0)return;let refuse=(t,n)=>{throw new M(`Object "${e.name}": ${t}`,[{path:n===void 0?[`image`,`from`]:[`image`,`from`,String(n)],message:t}])};t.length===0&&refuse(`image.from must name at least one attribute`);let n=new Map((e.attributes??[]).map(e=>[e.name,e])),r=new Set;for(let[e,i]of t.entries()){r.has(i)&&refuse(`image.from names "${i}" twice`,e),r.add(i);let t=n.get(i);t?imageLookupKindOf(t)===null&&refuse(`image.from names "${i}", a ${t.type} attribute: only text attributes can locate an image`,e):refuse(`image.from names "${i}", which is not one of its attributes`,e)}}function validateObjectExpressions(e){let{name:t,labelExpression:n,embeddingExpression:r}=e;if(!n)throw new A(`Object "${t}" must have a labelExpression. The labelExpression defines how records are displayed in lists and relations (e.g. "{{ name }}").`,j.VALIDATION_FAILED);let i=W.safeParse(n);if(!i.success){let e=i.error.issues[0]?.message??`Invalid labelExpression`;throw new A(`Invalid labelExpression for "${t}": ${e}`,j.VALIDATION_FAILED)}if(r!==void 0){let e=W.safeParse(r);if(!e.success){let n=e.error.issues[0]?.message??`Invalid embeddingExpression`;throw new A(`Invalid embeddingExpression for "${t}": ${n}`,j.VALIDATION_FAILED)}}}var ObjectBuilder=class{get"~standard"(){return createStandardSchemaProps(gl(this.build()))}constructor(e,t){this._sealed=!1,this._toleratedAttributes=[],this.validateName(e),this.obj={name:e,label:t,attributes:[],system:!0}}id(e){return this.obj.id=e,this}description(e){return this.obj.description=e,this}pluralLabel(e){return this._pluralLabel=e,this}icon(e){return this.obj.icon=e,this}color(e){return this.obj.color=e,this}image(e={}){return this.obj.image={shape:e.shape??`square`,...e.from===void 0?{}:{from:[...e.from]}},this}runtime(){return this.obj.system=!1,this}sealed(){return this._sealed=!0,this}tolerate(e){return this._toleratedAttributes=[...this._toleratedAttributes,...e],this}attribute(e){return this.pushAttributes([e]),this}attributes(e){return this.pushAttributes(e),this}pushAttributes(e){let t=e.map(e=>`build`in e&&typeof e.build==`function`?e.build():e);Dc([...this.obj.attributes,...t],e=>e.name,e=>new O(`attribute`,e,`Object "${this.obj.name}": duplicate attribute name "${e}"`)),this.obj.attributes.push(...t)}metadata(e){return this.obj.metadata={...this.obj.metadata,...e},this}order(e){return this.obj.metadata={...this.obj.metadata,order:e},this}hidden(){return this.obj.metadata={...this.obj.metadata,hidden:!0},this}labelExpression(e){return this._labelExpression=e,this}embeddingExpression(e){return this._embeddingExpression=e,this}documentLayout(e){if(e.presets)for(let t of e.presets)validatePresetStructure(t.id,t.structure,1);return this.obj.documentLayout=e,this}hierarchical(){return this.obj.hierarchical=!0,this}build(){if(!this.obj.name)throw new M(`[ObjectBuilder] Missing required field: name`,[{path:[`name`],message:`name is required`}]);if(!this.obj.label)throw new M(`[ObjectBuilder] Missing required field: label`,[{path:[`label`],message:`label is required`}]);return validateObjectExpressions({name:this.obj.name,labelExpression:this._labelExpression,embeddingExpression:this._embeddingExpression}),validateObjectImage({name:this.obj.name,image:this.obj.image,attributes:this.obj.attributes}),{...this.obj,pluralLabel:this._pluralLabel,labelExpression:this._labelExpression,embeddingExpression:this._embeddingExpression,sealed:this._sealed,toleratedAttributes:this._toleratedAttributes}}validateName(e){e!==void 0&&Fc(e)}};function object(e,t){if(I(e))throw new k(e,`builder`);return new ObjectBuilder(e,t)}function validatePresetStructure(e,t,n){let fail=(t,n)=>{throw new M(t,[{path:[`documentLayout`,`presets`,e],message:n}])};n>5&&fail(`Preset structure exceeds max depth of 5`,`Preset structure too deep`);let r=new Set;for(let i of t){let t=i.title.trim();t.length===0&&fail(`Folder preset node title is required`,`Empty folder title`),t.includes(`/`)&&fail(`Folder preset node title cannot contain /`,`Folder title contains /: "${t}"`),r.has(t)&&fail(`Folder preset sibling titles must be unique`,`Duplicate folder title: "${t}"`),r.add(t),i.children&&i.children.length>0&&validatePresetStructure(e,i.children,n+1)}}function relationProperty(e){return requireBuilderName(e,[`relationProperty`]),{relationProperty:e}}var X=class ContentBuilder{constructor(e,t){this.data=cloneBuilderValue(e,[`content`]),this.extension=t===void 0?void 0:Object.freeze({name:t.name,contexts:t.contexts,parameters:t.parameters,refine:t.refine})}set(e){return new ContentBuilder({...this.data,...e},this.extension)}icon(e){return this.set({icon:e})}object(e){return this.set({objectName:e})}layout(e){let{layout:t,groupByAttribute:n,columnSizing:r,kanbanColumnOrder:i,kanbanColumnVisibility:a,kanbanPinnedColumns:o,...s}={...this.data,layout:void 0,groupByAttribute:void 0,columnSizing:void 0,kanbanColumnOrder:void 0,kanbanColumnVisibility:void 0,kanbanPinnedColumns:void 0};return new ContentBuilder({...s,...e},this.extension)}table(){return this.layout({layout:`table`})}list(){return this.layout({layout:`list`})}kanban(e){return this.layout({layout:`kanban`,groupByAttribute:e})}columns(...e){return this.set({columns:e})}actions(...e){return this.set({actions:e})}openMode(e){return this.set({openMode:e})}createMode(e){return this.set({createMode:e})}visibility(e){return this.set({visibility:e})}descriptionAttribute(e){return this.set({descriptionAttribute:e})}displayAttributes(...e){return this.set({displayAttributes:e})}columnSizing(e){return this.set({columnSizing:e})}kanbanColumnOrder(...e){return this.set({kanbanColumnOrder:e})}kanbanColumnVisibility(e){return this.set({kanbanColumnVisibility:e})}kanbanPinnedColumns(...e){return this.set({kanbanPinnedColumns:e})}formColumns(e){return this.set({formColumns:e})}density(e){return this.set({density:e})}titleAttribute(e){return this.set({titleAttribute:e})}allowUpload(e){return this.set({allowUpload:e})}allowRemove(e){return this.set({allowRemove:e})}hideAttachments(e){return this.set({hideAttachments:e})}relations(...e){return this.set({relations:e})}span(e){return spanContent(this,e)}height(e){return this.set({height:e})}build(){let e=validateLiteralContent(this.data,[`content`]);return this.extension&&e.type===`custom`&&E(this.extension,e.parameters,[`content`,`parameters`]),e}},$u=class GroupBuilder{constructor(e,t,n,r={}){this.data=cloneBuilderValue({name:e,label:t,fields:n,...r},[`group`])}field(e,t){let{name:n,label:r,fields:i,...a}=this.data;return new GroupBuilder(n,r,[...i,{attribute:e,...t}],a)}fields(...e){let{name:t,label:n,fields:r,...i}=this.data;return new GroupBuilder(t,n,[...r,...e.map(e=>({attribute:e}))],i)}description(e){return new GroupBuilder(this.data.name,this.data.label,this.data.fields,{...this.presentation(),description:e})}collapsible(e=!1){return new GroupBuilder(this.data.name,this.data.label,this.data.fields,{...this.presentation(),collapsible:!0,collapsed:e})}alwaysOpen(){let{collapsed:e,...t}=this.presentation();return new GroupBuilder(this.data.name,this.data.label,this.data.fields,{...t,collapsible:!1})}presentation(){let{name:e,label:t,fields:n,...r}=this.data;return r}build(){requireBuilderName(this.data.name,[`group`,`name`]);try{validateLiteralContent({type:`form`,groups:[this.data]},[`group`])}catch(e){throw e instanceof M?new M(e.message,e.errors.map(e=>({...e,path:e.path[1]===`groups`?[`group`,...e.path.slice(3)]:e.path}))):e}return cloneBuilderValue(this.data,[`group`])}};function group(e,t){return new $u(e,t,[])}function collection(e){return new X({type:`collection`,...storedQuery(e,`collection`)})}function form$1(...e){return new X({type:`form`,groups:e.map(e=>`build`in e?e.build():e)})}function activity(){return new X({type:`activity`})}function richtext$1(e){return new X({type:`richtext`,attribute:e})}function documents(){return new X({type:`documents`})}function forms(){return new X({type:`forms`})}function emails(...e){return new X({type:`emails`,emailAttributes:e})}function meetings(...e){return new X({type:`meetings`,emailAttributes:e})}function custom(e,t){if(typeof e!=`object`||!e||typeof e.name!=`string`)throw new M(`Expected registered extension declaration`,[{path:[`content`,`extension`],message:`Expected registered extension declaration`}]);let n=validateContentConfiguration({type:`custom`,extension:e.name,parameters:t},[`content`]);if(n.type!==`custom`)throw new M(`Expected custom content`,[]);let r=new X({...n,extension:e.name},e);return r.build(),r}function recordLinksTab(){return[S.name,S.label,custom(Ze,{}).icon(S.icon)]}function page$1(e){let{object:t,name:n}=e.definition;if(typeof t!=`string`){let e=`Page "${n}" is standalone; a record tab renders a record page (\`page(...).for(object)\`)`;throw new M(e,[{path:[`content`,`page`,`object`],message:e}])}return new X({type:`page`,page:{object:t,name:n}})}const ed={collection,metric,chart,agenda,card,text:text$1,decisions,meetingsUpcoming,mailbox,page:page$1,form:form$1,activity,richtext:richtext$1,documents,forms,emails,meetings,custom};function contentDefinition(e,t){if(t.suppressed)return null;let n=t.workspaceDefinition??t.sourceDefinition;return n===null?null:{...structuredClone(n),name:e}}function storedContentDefinition(e){let{name:t,...n}=e;return structuredClone(n)}function workspaceViewAuthoring(e,t={}){let n={main:0,aside:0};return{origin:`runtime`,mainOrderCustomized:!1,asideOrderCustomized:!1,gridCustomized:Object.keys(t).length>0,homeCustomized:!1,contents:Object.fromEntries(e.map(e=>[e.name,{sourceDefinition:null,workspaceDefinition:storedContentDefinition(e),suppressed:!1,sourcePosition:null,workspacePosition:e.placement===`grid`?null:n[e.placement]++,sourceGrid:null,workspaceGrid:t[e.name]??null}]))}}function byKind(e,t){let rank=e=>Number(e.definition.type===`group`);return rank(e)-rank(t)||e.name.localeCompare(t.name)}function inReadingOrder(e){return(t,n)=>{let r=e(t.name),i=e(n.name);return r===null||i===null?r===i?byKind(t,n):r?-1:1:r.y-i.y||r.x-i.x||byKind(t,n)}}function overLimit(e,t){let n=new Set;if(e.length<=P.tabsPerView)return n;let r=new Map(e.map(e=>[e.name,e])),i=new Map;for(let{name:t,definition:n}of e)if(n.type===`group`)for(let e of n.members)i.has(e)||i.set(e,t);let cellOf=e=>{let n=r.get(e),a=n?t(n.state):null;if(a!==null)return a;let o=r.get(i.get(e)??``);return o?t(o.state):null},a=e.filter(e=>e.state.sourceDefinition===null).sort(inReadingOrder(cellOf)).reverse();for(let t of a){if(e.length-n.size<=P.tabsPerView)break;if(n.has(t.name))continue;let i=t.definition.type===`group`?t.definition.members.flatMap(e=>{let t=r.get(e);return t&&t.definition.type!==`group`?[t]:[]}):[];if(!i.some(e=>e.state.sourceDefinition!==null))for(let e of[t,...i])n.add(e.name)}return n}function resolvePageGrid(e,t={}){let rawCell=t=>e.gridCustomized||t.sourceDefinition===null?t.workspaceGrid:t.sourceGrid,n=Object.entries(e.contents).flatMap(([e,t])=>{let n=contentDefinition(e,t);return n?[{name:e,state:t,definition:n}]:[]}),r=ln(n.map(e=>e.definition)),i=n.filter(e=>!r.has(e.name)).sort((e,t)=>e.name.localeCompare(t.name)),a=overLimit(i,rawCell),o=i.filter(e=>!a.has(e.name)),s=new Map(o.map(e=>[e.name,e.definition])),c=t.traitsOf??gn(s,w),l=Vt([...s.values()]),u=o.filter(e=>!l.has(e.name)),d={},f=[],place=(e,t)=>{t&&!Object.values(d).some(e=>hn(t,e))?d[e]={...t}:f.push(e)};if(e.gridCustomized)for(let{name:e,state:t}of u)place(e,t.workspaceGrid);else{for(let{name:e,state:t}of u)t.sourceDefinition!==null&&place(e,t.sourceGrid);for(let{name:e,state:t}of u)t.sourceDefinition===null&&place(e,t.workspaceGrid)}let p=Math.max(0,...Object.values(d).map(e=>e.y+e.h));for(let t of f.sort()){let n=e.contents[t],{w:r,h:i}=n.workspaceGrid??n.sourceGrid??c(t).size;d[t]={x:0,y:p,w:r,h:i},p+=i}let m=repairPageGrid(Object.entries(d).map(([e,n])=>({i:e,...n,...t.statics?.has(e)?{static:!0}:{}})),c);return{grid:Object.fromEntries(m.cells.map(({i:e,x:t,y:n,w:r,h:i})=>[e,{x:t,y:n,w:r,h:i}])),repairs:[...[...a].map(e=>({name:e,kind:`dropped`})),...m.repairs]}}function droppedContents(e){return new Set(e.flatMap(e=>e.kind===`dropped`?[e.name]:[]))}function resolveViewContents(e){let t=Object.entries(e.contents).flatMap(([e,t])=>{let n=contentDefinition(e,t);return n?[{definition:n,...t}]:[]}),n=[`main`,`aside`].flatMap(n=>{let r=n===`main`?e.mainOrderCustomized:e.asideOrderCustomized;return t.filter(e=>e.definition.placement===n).sort((e,t)=>{let n=r?e.workspacePosition:e.sourcePosition,i=r?t.workspacePosition:t.sourcePosition;if(n!==null&&i!==null&&n!==i)return n-i;if(n!==null&&i===null)return-1;if(i!==null&&n===null)return 1;let a=e.sourcePosition??e.workspacePosition,o=t.sourcePosition??t.workspacePosition;return a!==null&&o!==null&&a!==o?a-o:a!==null&&o===null?-1:o!==null&&a===null?1:e.definition.name.localeCompare(t.definition.name)}).map(e=>e.definition)}),r=ln(t.map(e=>e.definition)),i=t.filter(e=>e.definition.placement===`grid`&&!r.has(e.definition.name)).map(e=>e.definition).sort((e,t)=>e.name.localeCompare(t.name));return[...n,...i]}const Z=[`record`,`document`,`file`,`email`,`thread`,`event`,`memory`,`skill`,`schema`,`user`,`guide`,`bundle`,`draft`,`decision`,`session`],td=new Set([`memory`,`schema`]),nd=/^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$/i;function isReferenceKind(e){return Z.includes(e)}function refuse$1(e,t){return{ok:!1,reason:e,expected:t}}function parseReference(e){let t=e.trim();if(nd.test(t))return refuse$1(`bare_uuid`,`record:<id>`);let n=t.indexOf(`:`);if(n===-1)return refuse$1(`malformed`,`<kind>:<id>`);let r=t.slice(0,n).toLowerCase();if(!isReferenceKind(r))return refuse$1(`unknown_kind`,`<kind>:<id> with kind one of ${Z.join(`, `)}`);let i=t.slice(n+1).trim();return i===``?refuse$1(`malformed`,`${r}:<id>`):r===`record`&&i.includes(`:`)?refuse$1(`legacy_mention`,`record:${i.slice(i.lastIndexOf(`:`)+1)}`):i===`*`&&!td.has(r)?refuse$1(`malformed`,`${r}:<id>`):{ok:!0,ref:{kind:r,id:i}}}function formatReference(e){return`${e.kind}:${e.id}`}function isWildcard(e){return e.id===`*`&&td.has(e.kind)}function requestedCapabilities(e){let t=[];return e.canModify&&t.push(`modify`),e.canSend&&t.push(`send`),t}const rd={status:`connector_status`,error:`connector_error`,provider:`connector_provider`},id={phone:`text`,currency:`number`},ad={rename:[`kind`,`object`,`from`,`to`],phone:[`kind`,`object`,`attribute`,`to`,`defaultCountryCode`],currency:[`kind`,`object`,`attribute`,`to`,`currencyCode`]};function refuse(e,t,n){throw new M(n,[{path:t===void 0?[`resolutions`,String(e)]:[`resolutions`,String(e),t],message:n}])}function assertKeys(e,t,n){for(let r of n)(typeof t[r]!=`string`||t[r]===``)&&refuse(e,r,`Resolution ${e} needs a non-empty string \`${r}\``);let r=Object.keys(t).find(e=>!n.includes(e));r!==void 0&&refuse(e,r,`Resolution ${e} has an unknown field \`${r}\``)}function assertResolution(e,t){if(kc(t)||refuse(e,void 0,`Resolution ${e} must be an object`),t.kind===`rename`){assertKeys(e,t,ad.rename),t.from===t.to&&refuse(e,`to`,`Resolution ${e} renames "${t.from}" to itself`);return}if(t.kind!==`retype`&&refuse(e,`kind`,`Unknown resolution kind ${JSON.stringify(t.kind)}: expected "rename" or "retype"`),t.to!==`phone`&&t.to!==`currency`&&refuse(e,`to`,`Unsupported retype to ${JSON.stringify(t.to)}: a push converts text → phone and number → currency only`),assertKeys(e,t,ad[t.to]),t.to===`phone`){let n=t.defaultCountryCode;/^[A-Z]{3}$/.test(n)&&Ll(n)||refuse(e,`defaultCountryCode`,`Resolution ${e}: "${n}" is not an ISO 3166-1 alpha-3 country code`);return}let n=t.currencyCode;/^[A-Z]{3}$/.test(n)&&Il(n)||refuse(e,`currencyCode`,`Resolution ${e}: "${n}" is not a supported ISO 4217 currency code`)}function addressesOf(e){return e.kind===`rename`?{reads:e.from,lands:e.to}:{reads:e.attribute,lands:e.attribute}}function assertSchemaSourceResolutions(e){if(!Array.isArray(e))throw new M("`resolutions` must be an array",[{path:[`resolutions`],message:"`resolutions` must be an array"}]);if(e.length>100)throw new M(`A push carries ${e.length} resolutions; the limit is 100`,[]);let t=new Set;for(let[n,r]of e.entries()){assertResolution(n,r);let{reads:e,lands:i}=addressesOf(r);for(let[a,o]of[[`${r.kind}:${r.object}.${e}`,`of "${r.object}.${e}"`],[`${r.kind}>${r.object}.${i}`,`onto "${r.object}.${i}"`]])t.has(a)&&refuse(n,void 0,`Resolution ${n} repeats a ${r.kind} ${o}`),t.add(a)}}function phoneFromText(e,t){let n=e.trim();if(n===``)return{value:null};let r=Rl(n,jl(t));if(!r?.isPossible()||r.country===void 0||r.ext!==void 0)return;let i=Fl(r.country)?.iso3;if(i!==void 0)return{value:{countryCode:i,phoneNumber:Nl(n,i)}}}function convertRetypedValue(e,t,n={}){if(t===null)return{value:null};if(e.to===`phone`)return typeof t==`string`?phoneFromText(t,e.defaultCountryCode):void 0;if(typeof t==`number`&&Math.abs(t)<=2**53-1&&!(t<0&&n.allowNegative!==!0))return{value:{code:e.currencyCode,value:t}}}const Q=z.string().refine(e=>e.trim().length>0,`Must not be blank`),od=z.union([z.tuple([z.literal(`object`),Q]),z.tuple([z.literal(`attribute`),Q,Q]),z.tuple([z.literal(`view`),Q,Q]),z.tuple([z.literal(`content`),Q,Q,Q])]),sd=z.object({label:Q,pluralLabel:z.string().optional(),description:z.string().optional(),icon:F.optional(),color:Oc.optional(),image:Qu.optional(),labelExpression:z.string(),embeddingExpression:z.string().optional(),sealed:z.boolean().optional(),toleratedAttributes:z.array(Q).optional(),metadata:z.record(z.string(),z.unknown()).optional(),documentLayout:z.record(z.string(),z.unknown()).optional(),hierarchical:z.boolean().optional()}).strict();function failure(e){throw new M(e,[])}function definitionSchema(e){return z.custom(t=>{let n=z.record(z.string(),z.unknown()).parse(t);for(let t of e[0]===`view`?[`object`,`name`]:[`name`])Object.hasOwn(n,t)&&failure(`Invalid schema state: unrecognized definition key ${t}`);switch(e[0]){case`object`:sd.parse(n);break;case`attribute`:{let e=z.enum(je).parse(n.type);Uc(e).extend({type:z.literal(e),label:Q,required:z.boolean().optional(),unique:z.boolean().optional(),icon:F.optional()}).strict().parse(n);break}case`view`:{let{contents:t,...r}=n,i=z.array(Q).parse(t);new Set(i).size!==i.length&&failure(`Invalid schema state: duplicate content membership`),St.parse({...r,object:e[1],name:e[2],contents:[]});break}case`content`:D.parse({...n,name:e[3]})}return!0})}function compareSchemaStateEntries(e,t){let n=JSON.stringify(e.address),r=JSON.stringify(t.address);return n<r?-1:+(n>r)}function schemaStateSourcePayload(e){return{modelVersion:1,hashVersion:1,entries:[...e].sort(compareSchemaStateEntries).filter(e=>e.source!==null).map(({address:e,source:t})=>({address:e,source:t}))}}function parseState(e){let t=z.record(z.string(),z.unknown()).parse(e);for(let[e,n]of[[`modelVersion`,`model`],[`hashVersion`,`hash`]])t[e]!==1&&failure(`Unsupported schema ${n} version: expected 1, received ${t[e]===void 0?`missing`:String(t[e])}`);let n=z.object({modelVersion:z.literal(1),hashVersion:z.literal(1),tenant:Q,sourceFingerprint:z.string().regex(/^[a-f0-9]{64}$/),entries:z.array(z.unknown())}).strict().safeParse(e);if(!n.success){let e=n.error.issues.find(e=>e.code===`unrecognized_keys`);throw e?.code===`unrecognized_keys`&&failure(`Invalid schema state: unrecognized key ${e.keys[0]}`),M.fromZodErrors(n.error.issues.map(e=>({path:e.path.map(String),message:e.message})))}let r=new Set,i=n.data.entries.map(e=>{let t=od.parse(z.object({address:z.unknown()}).parse(e).address),n=JSON.stringify(t);r.has(n)&&failure(`Invalid schema state: duplicate address ${n}`),r.add(n);let i=definitionSchema(t).nullable(),a=t[0]===`object`||t[0]===`attribute`?z.object({id:z.string().uuid(),updatedAt:z.string().datetime()}).strict():z.object({id:z.string().uuid(),revision:z.number().int().nonnegative()}).strict(),o=z.object({address:od,source:i,effective:i,status:z.enum([`source`,`runtime`,`copy`,`suppressed`]),sourceOwner:z.string().regex(H).nullable(),guard:a.nullable()}).strict().parse(e);return(o.status===`runtime`&&(o.source!==null||o.effective===null||o.sourceOwner!==null)||o.status===`suppressed`&&(t[0]!==`content`||o.source===null||o.effective!==null||o.guard===null)||o.status===`copy`&&(o.source===null||o.effective===null)||o.effective!==null&&o.guard===null||o.source===null&&o.effective===null)&&failure(`Invalid schema state: inconsistent status at ${n}`),{...o,sourceOwner:parseSchemaOwner(o.sourceOwner)}});return{...n.data,entries:i.sort(compareSchemaStateEntries)}}function parseSchemaState(e){try{return parseState(e)}catch(e){throw e instanceof z.ZodError?M.fromZodErrors(e.issues.map(e=>({path:e.path.map(String),message:e.message}))):e}}function diffSchemaState(e){let t=[];for(let n of[...e.entries].sort(compareSchemaStateEntries)){let e=n.source===null?`added`:n.status===`suppressed`?`suppressed`:n.effective===null?`removed`:R(n.source)===R(n.effective)?n.status===`copy`?`copied`:null:`changed`;e&&t.push({...n,change:e})}return{modelVersion:1,tenant:e.tenant,sourceFingerprint:e.sourceFingerprint,changes:t}}const $=z.string().min(1),cd=z.union([z.object({objectName:$,viewName:$,contentName:$.optional()}).strict().describe(`Full configuration of a view, or of one content when contentName is given`),z.object({objectId:$}).strict().describe(`An object with its attributes, by id`),z.object({objectName:$}).strict().describe(`An object with its attributes`),z.object({objectId:$,attributeName:$}).strict().describe(`One attribute's config, by name`),z.object({objectId:$,attributeId:$}).strict().describe(`One attribute's config, by id`),z.object({objectId:$,recordId:$}).strict().describe(`One sample record`)]);function parseNamedTarget(e){let t=cd.safeParse(e);if(!t.success)throw new M(`Invalid scoped target`,[{path:[`target`],message:`Expected exactly one named target branch`}]);return t.data}const ld=[`object`,`attribute`,`view`,`content`,`sample`],ud=z.object({mode:z.enum([`inline`,`window`]),interaction:z.enum([`static`,`interactive`]),size:z.enum([`compact`,`regular`]),aspectRatio:z.number().positive().finite().optional()}).strict(),dd=z.object({artifactId:z.string().min(1),revision:z.number().int().positive(),name:z.string().min(1),kind:z.string().min(1),retention:z.enum(pu),display:ud}).strict();function readArtifactResult(e){let t=dd.safeParse(e);return t.success?t.data:null}const fd=z.string().regex(/^[^/\s]+\/[^/\s]+$/),pd=z.object({kind:z.literal(`generated-image`),artifact:z.unknown(),generation:z.object({attemptId:z.uuid(),requestedModelId:fd,executedModelId:fd.nullable(),format:z.enum(yu),mimeType:z.enum([`image/png`,`image/jpeg`,`image/webp`])}).strict()}).strict();function readGeneratedImageResult(e){let t=pd.safeParse(e);if(!t.success)return null;let n=readArtifactResult(t.data.artifact);return!n||n.kind!==`image`?null:{...t.data,artifact:{...n,kind:`image`}}}function isCompletedToolPart(e){return e.type===`tool`&&e.state===`completed`}function readString(e,t){let n=e[t];return typeof n==`string`?n:void 0}function upsertWithPrecedence(e,t,n,r){let i=e.get(t),a=i&&r[i.kind]>r[n.kind]?i:n;e.delete(t),e.set(t,a)}function asRecord(e){return typeof e==`object`&&e&&!Array.isArray(e)?e:void 0}function readRefId(e,t,n){let r=readString(e,t),i=`${n}:`;return r?.startsWith(i)&&r.length>i.length?r.slice(i.length):void 0}function verbResultEntries(e){let t=asRecord(e);if(!t)return[];let n=[t];for(let e of[`members`,`created`,`updated`]){let r=t[e];if(Array.isArray(r))for(let e of r){let t=asRecord(e);t&&n.push(t)}}return n.filter(e=>!(`error`in e))}function extractReadRecordIds(e){let t=new Set;for(let n of e)if(n.role===`assistant`)for(let e of n.parts){if(!isCompletedToolPart(e)||e.name!==`read`)continue;let n=e.args.refs;if(Array.isArray(n))for(let e of n){if(typeof e!=`string`)continue;let n=parseReference(e);n.ok&&n.ref.kind===`record`&&t.add(n.ref.id)}}return[...t]}const md={created:1,modified:0};function readSingleRecordEntry(e){if(typeof e!=`object`||!e)return null;let t=e,n=typeof t.record==`object`&&t.record!==null?t.record:void 0,r=(n&&readString(n,`id`))??readString(t,`recordId`);return r?{id:r,label:(n&&readString(n,`label`))??r,objectName:(n&&readString(n,`objectName`))??``}:null}function readBulkRecordEntries(e,t,n){if(typeof e!=`object`||!e)return[];let r=e[t];if(!Array.isArray(r))return[];let i=[];for(let e of r){if(typeof e!=`object`||!e)continue;let t=e,r=readString(t,`id`);r&&i.push({id:r,label:readString(t,`label`)??r,objectName:readString(t,`objectName`)??n})}return i}function readVerbRecordEntries(e){let t=asRecord(asRecord(e.result)?.record),n=readString(e.args,`object`)??(t&&readString(t,`objectName`))??``,r=[];for(let t of verbResultEntries(e.result)){let e=readRefId(t,`ref`,`record`);e&&r.push({id:e,label:readString(t,`title`)||readString(t,`label`)||e,objectName:readString(t,`objectName`)??n})}return r}function extractTouchedRecords(e){let t=new Map;for(let n of e)if(n.role===`assistant`)for(let e of n.parts){if(!isCompletedToolPart(e))continue;let n=[],r;if(e.name===`create_record`||e.name===`update_record`||e.name===`edit_content`){let t=readSingleRecordEntry(e.result);n=t?[t]:[],r=e.name===`create_record`?`created`:`modified`}else if(e.name===`bulk_create_records`||e.name===`bulk_update_records`){let t=readString(e.args,`objectId`)??``,i=e.name===`bulk_create_records`?`created`:`updated`;n=readBulkRecordEntries(e.result,i,t),r=e.name===`bulk_create_records`?`created`:`modified`}else if(e.name===`write`)n=readVerbRecordEntries(e),r=readString(e.args,`action`)===`create`?`created`:`modified`;else continue;for(let e of n){let n={recordId:e.id,objectName:e.objectName,label:e.label,kind:r};upsertWithPrecedence(t,e.id,n,md)}}return[...t.values()]}const hd={modified:1,consulted:0};function isFilePart(e){return e.type===`file`}function entryFromDocumentMutation(e,t){if(typeof e.result!=`object`||e.result===null)return null;let n=e.result,r=readString(n,`documentId`)??(t===`folderId`?readString(n,t):void 0);return r?{id:r,title:readString(e.args,`name`)??readString(e.args,`title`)??r,kind:`modified`}:null}function entryFromReadDocument(e){let t=readString(e.args,`documentId`);return t?{id:t,title:t,kind:`consulted`}:null}function entryFromRef(e,t,n){let r=readRefId(e,`ref`,`file`),i=r??readRefId(e,`ref`,`document`);return i?{id:i,...r?{fileId:r}:{},title:n||readString(e,`title`)||i,kind:t,mimeType:readString(e,`mimeType`)}:null}function entriesFromOrganize(e){let t=asRecord(e.result);if(!t||`error`in t)return[];let n=readString(e.args,`action`),r=readString(e.args,`name`)??readString(e.args,`title`),i=readString(t,`documentId`);if(i)return[{id:i,title:r??i,kind:`modified`}];let a=readString(t,`folderId`);if(a)return n===`create_folder`?[{id:a,title:r??a,kind:`modified`}]:[];let o=entryFromRef(t,`modified`,r);return o?[o]:[]}function entriesFromCopy(e){let t=asRecord(e.result);if(!t||`error`in t)return[];let n=(Array.isArray(t.copied)?t.copied:[]).flatMap(e=>{let t=asRecord(e),n=t?entryFromRef(t,`modified`,void 0):null;return n?[n]:[]});if(n.length>0)return n;let r=entryFromRef(t,t.ref!==void 0&&t.ref===readString(e.args,`from`)?`consulted`:`modified`,void 0);return r?[r]:[]}function entriesFromRead(e){let t=asRecord(e.result);return(Array.isArray(t?.members)?t.members:[]).flatMap(e=>{let t=asRecord(e);if(!t||`error`in t||!readRefId(t,`ref`,`document`))return[];let n=entryFromRef(t,`consulted`,void 0);return n?[n]:[]})}function entriesFromToolPart(e){switch(e.name){case`organize`:return entriesFromOrganize(e);case`copy`:return entriesFromCopy(e);case`read`:return entriesFromRead(e);default:{let t=entryFromToolPart(e);return t?[t]:[]}}}function entryFromSandboxUpload(e){if(typeof e.result!=`object`||e.result===null)return null;let t=e.result,n=readString(t,`fileId`);return n?{id:n,fileId:n,title:readString(t,`title`)??n,kind:`modified`,mimeType:readString(t,`mimeType`)}:null}function entryFromToolPart(e){switch(e.name){case`update_document`:case`attach_file`:return entryFromDocumentMutation(e,`documentId`);case`create_folder`:return entryFromDocumentMutation(e,`folderId`);case`read_document`:return entryFromReadDocument(e);case`sandbox_upload_file`:return entryFromSandboxUpload(e);default:return null}}function extractTouchedDocuments(e){let t=new Map;for(let n of e)if(n.role===`assistant`){for(let e of n.parts)if(isCompletedToolPart(e))for(let n of entriesFromToolPart(e))upsertWithPrecedence(t,n.id,n,hd);else if(isFilePart(e)&&e.fileId){let n={id:e.fileId,fileId:e.fileId,title:e.name||e.fileId,kind:`modified`,mimeType:e.mimeType};upsertWithPrecedence(t,n.id,n,hd)}}return[...t.values()]}function extractTouchedArtifacts(e){let t=new Map;for(let n of e)if(n.role===`assistant`)for(let e of n.parts){if(!isCompletedToolPart(e)||e.error)continue;let n=e.name===`generate_image`?readGeneratedImageResult(e.result)?.artifact:e.name===`publish_artifact`?readArtifactResult(e.result):null;if(!n)continue;let r=`${n.artifactId}:${n.revision}`;t.delete(r),t.set(r,n)}return[...t.values()]}function isNonBlankString(e){return typeof e==`string`&&/\S/u.test(e)}const gd=z.object({provider:z.custom(e=>isNonBlankString(e)&&e.length<=200,{message:`must be a non-blank string of at most 200 characters`}),model:z.string().max(200).regex(/\S/u)});function normalizeNewsLocale(e){return e.toLowerCase().split(`-`)[0]===`fr`?`fr`:`en`}function resolveLocalized(e,t){return e[normalizeNewsLocale(t)]||(e.en?e.en:e.fr||void 0)}function hasLocale(e){return!!(e.fr||e.en)}const _d=Object.keys({home:!0,agents:!0,routines:!0,object:!0,settings:!0}),vd=[`dot`,`label`,`bubble`];function parseNewsIntensity(e){return vd.find(t=>t===e)??`dot`}function parseNewsTarget(e){let[t,...n]=e.split(`:`),r=n.join(`:`);switch(t){case`home`:case`agents`:case`routines`:return r===``?{kind:t}:null;case`object`:return r?{kind:t,name:r}:null;case`settings`:return r?{kind:t,section:r}:null;default:return null}}function formatNewsTarget(e){return e.kind===`object`?`object:${e.name}`:e.kind===`settings`?`settings:${e.section}`:e.kind}function withoutTrailingSlashes(e){let t=e.length;for(;t>0&&e[t-1]===`/`;)--t;return e.slice(0,t)}const yd=/^(\d+)\.(\d+)\.(\d+)(?:-([0-9A-Za-z.-]+))?$/;function compareIdentifiers(e,t){let n=/^\d+$/.test(e),r=/^\d+$/.test(t);return n&&r?Math.sign(Number(e)-Number(t)):n?-1:r?1:e<t?-1:+(e>t)}function compareVersions(e,t){let n=yd.exec(e),r=yd.exec(t);if(!(n&&r))return null;for(let e=1;e<=3;e+=1){let t=Number(n[e])-Number(r[e]);if(t!==0)return t<0?-1:1}let i=n[4],a=r[4];if(i===void 0&&a===void 0)return 0;if(i===void 0)return 1;if(a===void 0)return-1;let o=i.split(`.`),s=a.split(`.`);for(let e=0;e<Math.max(o.length,s.length);e+=1){let t=o[e],n=s[e];if(t===void 0)return-1;if(n===void 0)return 1;let r=compareIdentifiers(t,n);if(r!==0)return r<0?-1:1}return 0}function isSemver(e){return yd.test(e)}const bd=30,xd=90,Sd=50,Cd=z.looseObject({fr:z.string().optional(),en:z.string().optional()}),wd=z.iso.datetime({offset:!0}),Td=z.looseObject({id:z.string().min(1),slug:z.string().min(1),updatedAt:wd,publishedAt:wd,since:z.string(),displayDays:z.number().int().positive().optional(),requires:z.looseObject({capability:z.string(),level:z.string()}).optional(),target:z.string().optional(),intensity:z.unknown().optional(),title:Cd,summary:Cd});function knownRequirement(e){let t=q.find(t=>t.id===e.capability);return t!==void 0&&levelActions(t,e.level).length>0}function parseEntry(e){let t=Td.safeParse(e);if(!t.success)return`malformed entry: ${t.error.issues[0]?.message??`invalid`}`;let n=t.data;if(!isSemver(n.since))return`entry ${n.id}: since "${n.since}" is not semver`;if(!hasLocale(n.title))return`entry ${n.id}: title has no locale`;if(!hasLocale(n.summary))return`entry ${n.id}: summary has no locale`;if(n.requires&&!knownRequirement(n.requires))return`entry ${n.id}: unknown requirement ${n.requires.capability}/${n.requires.level}`;let r=n.target?parseNewsTarget(n.target):null;return{...n,displayDays:n.displayDays??30,intensity:parseNewsIntensity(n.intensity),target:r??void 0}}function httpsUrl(e){return typeof e==`string`&&e.startsWith(`https://`)?e:void 0}function parseNewsIndex(e,t){if(typeof e!=`object`||!e||Array.isArray(e))throw new M(`News feed: document must be an object`,[]);let n=e;if(!Array.isArray(n.entries))throw new M(`News feed: entries must be an array`,[]);let r=[];for(let e of n.entries){let n=parseEntry(e);typeof n==`string`?t?.(n):r.push(n)}let i=httpsUrl(n.blogUrl),a=httpsUrl(n.mediaBaseUrl),o=a?withoutTrailingSlashes(a):void 0;return{...i?{blogUrl:i}:{},...o?{mediaBaseUrl:o}:{},entries:r.slice(0,50)}}const Ed=z.looseObject({id:z.string().min(1),slug:z.string().min(1),updatedAt:wd,body:Cd});function parseNewsBody(e){let t=Ed.safeParse(e);if(!t.success)throw new M(`News body: malformed document`,[]);if(!hasLocale(t.data.body))throw new M(`News body: body needs at least one locale`,[]);return t.data}function preference(e,t){return{key:e,value:t.value,default:t.default,audited:t.audited??!1,...t.parameter===void 0?{}:{parameter:t.parameter},...t.parameters===void 0?{}:{parameters:t.parameters},...t.refine===void 0?{}:{refine:t.refine}}}const Dd=``;function refusal(e,t){return{ok:!1,field:e,message:t,issues:[{path:[e],message:t}]}}function declarationOf(e,t){return`get`in e?e.get(t):e.find(e=>e.key===t)}function locatePreference(e,t,n){let r=declarationOf(e,t);return r?r.parameter===void 0?n===void 0?{ok:!0,declaration:r,parameter:``}:refusal(`parameter`,`Preference "${t}" takes no parameter`):n===void 0||n===``||n.trim()!==n?refusal(`parameter`,`Preference "${t}" is keyed by ${r.parameter}`):r.parameters&&!r.parameters.includes(n)?refusal(`parameter`,`"${n}" is not a ${r.parameter} of "${t}"`):{ok:!0,declaration:r,parameter:n}:refusal(`key`,`Unknown preference "${t}"`)}function judgePreferenceWrite(e,t,n,r){let i=locatePreference(e,t,n);if(!i.ok)return i;let a=i.declaration.value.safeParse(r);if(a.success){let e=i.declaration.refine?.(a.data,i.parameter);return e===void 0?{...i,value:a.data}:refusal(`value`,e)}return{ok:!1,field:`value`,message:`Invalid value for preference "${t}"`,issues:a.error.issues.map(e=>({path:[`value`,...e.path.map(String)],message:e.message}))}}const Od=z.strictObject({model:gd.optional(),routing:z.literal(`auto`).optional()}),kd=z.strictObject({inApp:z.boolean()});function isActionableType(e){let t=g[e];return t!==void 0&&Te(t.kind)}const Ad=[preference(`workPosture`,{value:z.enum(co),default:`auto`,audited:!0}),preference(`chat.default`,{value:Od,default:{},audited:!0}),preference(`conversationSurface`,{value:z.enum(li),default:`panel`}),preference(`mailboxListMode`,{value:z.enum(ea),default:`threads`}),preference(`home`,{value:z.string().uuid().nullable(),default:null}),preference(`memory.learnFromEmail`,{value:z.boolean(),default:!0,audited:!0}),preference(`memory.shareWithTeam`,{value:z.boolean(),default:!0,audited:!0}),preference(`decisions.seenAt`,{value:z.iso.datetime().nullable(),default:null}),preference(`decisions.delivery`,{value:kd,default:{inApp:!0},parameter:`decision type`,parameters:Object.keys(g),refine:(e,t)=>!e.inApp&&isActionableType(t)?`A "${t}" decision asks you to act: it is always shown in-app`:void 0})];function preferenceEntry(e,t,n){return n===void 0?{key:e,value:t}:{key:e,parameter:n,value:t}}function withPreferenceEntry(e,t){if(t.parameter===void 0)return{...e,values:{...e.values,[t.key]:t.value}};let n=e.entries.findIndex(e=>e.key===t.key&&e.parameter===t.parameter),r=n===-1?[...e.entries,t]:e.entries.map((e,r)=>r===n?t:e);return{...e,entries:r}}export{Ar as ACCESS_LEVELS,jr as ACCESS_ROLES,e as ACTIONABLE_DECISION_KINDS,_ as AGENDA_BLOCK,Mr as AGENT_ASIDE_ANSWER_MAX_LENGTH,Nr as AGENT_ASIDE_HISTORY_LIMIT,Pr as AGENT_ASIDE_QUESTION_MAX_LENGTH,Fr as AGENT_AVATAR_EXPRESSIONS,Ir as AGENT_AVATAR_TYPES,Lr as AGENT_MESSAGE_KIND,Rr as AGENT_NOTIFICATION_KIND,zr as AGENT_SESSION_ACCESS_ROLES,Br as AGENT_SESSION_LIST_ORDERS,Vr as AGENT_SESSION_ORIGINS,Hr as AGENT_SESSION_PROVENANCES,Ur as AGENT_STARTERS_MAX,Wr as AGENT_STARTER_MAX_LENGTH,Gr as AGENT_SYSTEM_PROMPT_MAX_LENGTH,Kr as AGENT_TASK_KINDS,t as AGGREGATE_BUCKETS,n as AGGREGATE_MEASURES,Su as ALLOWED_PROPERTY_TYPES,qr as ALL_CATALOG_TOOL_NAMES,U as ALL_PIPES,Jr as ALWAYS_KINDS,Zu as APPEARANCE_FACETS,Yr as APPROVAL_FAMILY_TOOL_NAMES,Xr as ARCHITECT_PUBLICATION_KIND,mu as ARTIFACT_FILE_ROLES,fu as ARTIFACT_KINDS,ke as ARTIFACT_PREVIEW_EXTENSION,pu as ARTIFACT_RETENTIONS,Zr as ASK_QUESTIONS_ANSWER_MAX_LENGTH,Qr as ASK_QUESTIONS_ANSWER_MAX_VALUES,$r as ASK_QUESTIONS_MAX_BATCH,ei as ASK_QUESTIONS_TOOL_NAME,Ae as ATTRIBUTE_FILTER_OPERATORS,vc as ATTRIBUTE_NAME_SCHEMA,je as ATTRIBUTE_TYPES,ti as AUDIT_ACTIONS,ni as AUDIT_AGENT_SESSION_METADATA_KEY,ri as AUDIT_RESOURCE_TYPES,Bn as AccessDeniedError,AgendaBuilder,N as AgentBuilder,Vn as AggregateValidationError,Hn as AmbiguousSchemaChangeError,Un as AttributeInUseError,Wn as AttributeNotFoundError,Me as BLOCK_CONTEXTS,Ne as BLOCK_PERIODS,v as BLOCK_WIDTHS,ii as BROWSER_LAUNCH_TOOL_NAME,ai as BROWSER_TOOL_NAMES,oi as BUNDLE_LOCALES,Hu as BUNDLE_NAME_PATTERN,xu as BYTE_UNIT_LABELS,BlockContentBuilder,BundleBuilder,y as CARD_BLOCK,Pu as CATALOG_RESOURCES,b as CHART_BLOCK,Pe as CHART_KINDS,Lc as COMPUTED_RETURN_TYPES,si as CONNECTION_GRANT_PROVIDERS,rd as CONNECTOR_CALLBACK_PARAM,Fe as CONTENT_PLACEMENT_CONTEXTS,ci as CONTINUATION_KEY_PATTERN,li as CONVERSATION_SURFACES,ui as COPY_VERB_NAME,Uu as CORE_BUNDLE_NAME,Ad as CORE_PREFERENCES,di as CORE_RECORD_TOOL_NAMES,fi as CORE_TOOL_NAMES,pi as COUNT_MODES,Nu as CUSTOM_LEVEL,CardBuilder,ChartBuilder,ChartQuery,Gn as ConcurrentModificationError,X as ContentBuilder,Ie as DECISIONS_BLOCK,r as DECISION_INBOX_STATES,i as DECISION_KINDS,a as DECISION_LINE_MAX_LENGTH,o as DECISION_LINK_TARGET_TYPES,s as DECISION_LIST_STATES,c as DECISION_READ_STATES,l as DECISION_SETTINGS_AREAS,u as DECISION_TITLE_MAX_LENGTH,d as DECISION_TRANSFERS_KEY,f as DECISION_TYPES_V1,p as DECISION_TYPE_ACCESS_GRANTED,m as DECISION_TYPE_AGENT_APPROVAL,h as DECISION_TYPE_AGENT_MESSAGE,ee as DECISION_TYPE_AGENT_QUESTION,te as DECISION_TYPE_AGENT_REVIEW,ne as DECISION_TYPE_AGENT_ROUTINE_RUN_FAILED,re as DECISION_TYPE_AGENT_SETUP,ie as DECISION_TYPE_CONNECTOR_CONNECTION_ERROR,ae as DECISION_TYPE_CONNECTOR_CONNECTION_REAUTH_REQUIRED,oe as DECISION_TYPE_ENVIRONMENT_BUILD_FAILED,g as DECISION_TYPE_KINDS,se as DECISION_TYPE_PERSON,ce as DECISION_TYPE_RECORD_ASSIGNED,le as DECISION_TYPE_RECORD_MENTIONED,ue as DECISION_WORK_STATES,mi as DEFAULT_AGENT_EXECUTION_CONFIG,hi as DEFAULT_AGENT_TOOL_GROUPS,Ju as DEFAULT_APPEARANCE_ICON,gi as DEFAULT_APPROVAL_POLICY,_i as DEFAULT_BLUEPRINT_TOOL_GROUPS,vi as DEFAULT_DAILY_ACTIVITY_DAYS,du as DEFAULT_DICTATION_LIMITS,Au as DEFAULT_LABEL_FALLBACK,Le as DEFAULT_LAYOUT_TRAITS,yi as DEFAULT_MEETING_BOT_DISPLAY_NAME,bi as DEFAULT_TENANT_SETTINGS,Ol as DEFAULT_VALIDATION_MESSAGES,xi as DEVICE_ACCESS_ROLES,Ul as DEVICE_CHANNEL_AUTHENTICATE_TIMEOUT_MS,Wl as DEVICE_CHANNEL_IDLE_POLL_MS,Kl as DEVICE_CHANNEL_KEEPALIVE_MS,Hl as DEVICE_CHANNEL_MAX_FRAME_BYTES,Vl as DEVICE_CHANNEL_PATH,Gl as DEVICE_CHANNEL_PRESENCE_MS,ql as DEVICE_CHANNEL_WORKER_CLOSE_PROTOCOL_VIOLATION,Yl as DEVICE_COMMAND_ERROR_CODES,Zl as DEVICE_DESKTOP_STATES,Xl as DEVICE_SHELLS,lu as DICTATION_FINALIZATION_TIMEOUT_MS,ru as DICTATION_FRAME_BYTES,au as DICTATION_MAX_BUFFER_BYTES,iu as DICTATION_MAX_FRAME_BYTES,ou as DICTATION_MAX_TRANSCRIPT_BYTES,uu as DICTATION_MODEL_ID,cu as DICTATION_PREPARATION_TIMEOUT_MS,nu as DICTATION_SAMPLE_RATE,su as DICTATION_TICKET_TTL_MS,Si as DISCARD_ARCHITECT_DRAFT_TOOL_NAME,Ci as DOCUMENT_SORT_MODES,ld as DRAFT_CONFLICT_KINDS,wi as DRAFT_WRITE_TOOL_NAMES,DecisionsBuilder,DeviceChannelProtocolError,eu as DeviceChannelServerFrameSchema,$l as DeviceChannelWorkerFrameSchema,Ql as DeviceDesktopStatusSchema,O as DuplicateError,Ti as EMAIL_CATEGORY_DEFAULT_COLOR,Ei as EMAIL_CATEGORY_DEFAULT_ICON,Di as EMAIL_CATEGORY_DESCRIPTION_MAX,Oi as EMAIL_CATEGORY_DESCRIPTION_MIN,ki as EMAIL_CATEGORY_LIMIT,Ai as EMAIL_CATEGORY_NAME_MAX,ji as ENVIRONMENT_BUILD_LOG_STEP_PREFIX,Mi as ENVIRONMENT_HARNESSES,Ni as ENVIRONMENT_HARNESS_SANDBOX_WORKDIR,Pi as ENVIRONMENT_HARNESS_WORKDIR,Fi as ENVIRONMENT_IMAGES,Ii as ENVIRONMENT_MEMORY_GB_PER_VCPU,Li as ENVIRONMENT_NAME_MAX_CHARS,Ri as ENVIRONMENT_NETWORK_ALLOW_MAX,zi as ENVIRONMENT_SCRIPT_MAX_BYTES,Bi as ENVIRONMENT_SIZES,Vi as ENVIRONMENT_SIZE_VCPUS,Hi as ENVIRONMENT_STANDARDS_WORKDIR,Ui as ENV_VAR_KEY_PATTERN,Wi as ESTIMATED_COUNT_CAP,Kn as ExportTooLargeError,Gi as FILE_URLS_MAX_IDS,V as FORM_FORBIDDEN_ATTRIBUTE_TYPES,qn as ForbiddenError,FormBuilder,FormRowBuilder,FormStepBuilder,Ki as GET_ARCHITECT_DRAFT_TOOL_NAME,qi as GITHUB_TRIGGER_CATALOG,Ji as GRANT_ENABLES,Re as GROUPABLE_ATTRIBUTE_TYPES,$u as GroupBuilder,ze as HEADING_BLOCK,de as HIERARCHY_ATTRIBUTE_IDS,fe as HIERARCHY_ATTRIBUTE_NAMES,pe as HIERARCHY_CHILD_IDS_LIMIT,Yi as HITL_TOOL_NAMES,yu as IMAGE_FORMATS,Yu as IMAGE_SHAPES,Xu as IMAGE_SOURCES,Xi as INFERENCE_REASONING_OPTIONS,Zi as INFERENCE_ROUTING_MODES,Qi as INFERENCE_SPEEDS,Be as INVENTORY_LIMIT,Jn as InvalidPermissionGrantError,$i as LAST_RUN_ERROR_MAX_LENGTH,yc as LIST_VIEW_TAB_VISIBILITIES,Ve as LOCATION_FILTER_PROPERTIES,Yn as LogoProviderUnavailableError,Xn as LogoSearchRateLimitedError,He as MAILBOX_BLOCK,ea as MAILBOX_LIST_MODES,ta as MAIL_DRAFT_BODY_MAX_CHARS,na as MAIL_SIGNATURE_MAX_CHARS,ra as MAIL_SUBJECT_MAX_CHARS,me as MAX_AGGREGATE_GROUPS,ia as MAX_DAILY_ACTIVITY_DAYS,tu as MAX_PRESET_DEPTH,aa as MAX_TODOS,oa as MAX_TODO_DESCRIPTION_CHARS,sa as MAX_TODO_ID_CHARS,ca as MCP_SERVER_NAME_MAX_LENGTH,Ue as MEASURABLE_ATTRIBUTE_TYPES,We as MEETINGS_UPCOMING_BLOCK,la as MEETING_BOT_IMAGE,ua as MEETING_BOT_IMAGE_BASE64_MAX_LENGTH,da as MEETING_BOT_SILENT_REASON,fa as MEETING_RESPONSES,J as MEMORY_ATTRIBUTES,zu as MEMORY_PAGE_MAX_CHARS,pa as MEMORY_SPEND_LIMIT_PATTERN,Bu as MEMORY_WORKSPACE_PROFILE,Ru as MEMORY_WRITE_SOURCE,x as METRIC_BLOCK,MailboxBuilder,ma as McpOAuthCompletionMode,Zn as MemoryNotFoundError,MetricBuilder,MetricQuery,MultiRelationAttributeBuilder,zl as NATIVE_AGENT_UI_PART_IDS_METADATA_KEY,Bl as NATIVE_AGENT_UI_PART_IDS_METADATA_SCHEMA_VERSION,Ge as NATIVE_BLOCKS,bc as NATIVE_OBJECT_NAMES,ha as NATIVE_TOOL_GROUPS,ga as NATIVE_TOOL_GROUP_CATALOG,bd as NEWS_DEFAULT_DISPLAY_DAYS,xd as NEWS_DISPLAY_CAP_DAYS,Sd as NEWS_INDEX_MAX_ENTRIES,vd as NEWS_INTENSITIES,_d as NEWS_TARGET_KINDS,G as NO_ACCESS,Dd as NO_PREFERENCE_PARAMETER,_a as NO_RECORDING,Ke as NO_VALUE_OPERATORS,al as NonJsonValueError,NoopGeocodingAdapter,Qn as NotFoundError,$n as NotImplementedError,K as OBJECT_GRANT,xc as OBJECT_NAME_SCHEMA,va as OPEN_TOOL_PART_STATES,ya as OPERATION_MAX_STEPS,qe as OPERATORS_BY_TYPE,ObjectBuilder,er as ObjectNotFoundError,tr as ObjectReferencedError,nr as OrphanSystemAttributeError,Je as PAGE_GRID_COLUMNS,Iu as PERMISSION_ACTIONS,q as PERMISSION_CAPABILITIES,Mu as PERMISSION_CATALOG,wu as PIPES_WITH_ARGS,ba as PROVIDER_DRAFT_LABEL,xa as PROVIDER_NAMES,Sa as PUBLIC_MAIL_DOMAINS,Gu as PageBuilder,rr as PageReferencedError,ir as ProtectedResourceError,ar as ProtectedRoleError,Ye as QUALIFIED_SEPARATOR,Xe as QUERY_OBJECT,Ca as QUESTION_FAMILY_TOOL_NAMES,bu as QUOTA_KEYS,or as QueryTimeoutError,wa as RECENT_ACTIVITY_LEDGER_LIMIT,Ta as RECIPIENT_IDENTITIES_MAX,Ea as RECORDING_OVERRIDES,Da as RECORDING_POLICIES,Oa as RECORD_ACCESS_ROLES,ka as RECORD_ACCESS_SOURCES,Aa as RECORD_DRIVE_CURSOR_MAX_LENGTH,ja as RECORD_DRIVE_PAGE_DEFAULT_LIMIT,Ma as RECORD_DRIVE_PAGE_MAX_LIMIT,Na as RECORD_GRAPH_DEFAULT_LIMIT_PER_NODE,Pa as RECORD_GRAPH_MAX_LIMIT_PER_NODE,Fa as RECORD_GRAPH_MAX_NODES,Ia as RECORD_IMAGE_MAX_BYTES,Ze as RECORD_LINKS_BLOCK,S as RECORD_LINKS_CONTENT,Sc as RECORD_LIST_SCOPES,Qe as RECORD_OBJECT,Z as REFERENCE_KINDS,$e as RELATION_TARGET_ANY,et as REMOVED_OPERATOR_REPLACEMENTS,La as REPLY_MODES,Ra as REQUEST_DESIGN_REVIEW_TOOL_NAME,za as REQUEST_SETUP_TOOL_NAME,Cc as RESERVED_ATTRIBUTE_NAMES,wc as RESERVED_OBJECT_NAMES,Ba as RESOURCE_GRANT_KINDS,Va as RESOURCE_KIND_CATALOG,Tc as RESOURCE_VISIBILITIES,Ha as ROUTING_PRICE_CEILINGS,sr as RealtimeDeliveryError,cr as RealtimeRateLimitedError,lr as RealtimeSubscriptionError,ur as RecordNotFoundError,tt as RecordQuery,dr as RecordReferencedError,fr as RepositoryError,k as ReservedObjectNameError,pr as RoleNotFoundError,P as SCHEMA_LIMITS,H as SCHEMA_OWNER_PATTERN,id as SCHEMA_SOURCE_RETYPE_FROM,Ua as SEND_VERB_NAME,Wa as SESSION_INFERENCE_PATCH_KEYS,Cu as SIMPLE_PIPES,Rc as SIMPLE_PROPERTY_TYPES,Ga as SLACK_TRIGGER_CATALOG,Ka as SPEAKS_THROUGH_SEND_METADATA_KEY,Vu as STANDARD_SCHEMA_VENDOR,qa as SURFACE_TOOL_NAMES,nt as SYNONYM_ALIASES,he as SYSTEM_ATTRIBUTES,ge as SYSTEM_ATTRIBUTE_I18N_KEYS,Ja as SYSTEM_EMAIL_CATEGORIES,Ya as SYSTEM_EMAIL_CATEGORY_NAMES,Ec as SYSTEM_FIELD_NAMES,rt as SYSTEM_FILTER_ATTRIBUTE_TYPES,Xa as SYSTEM_PART_CODES,A as SchemaError,j as SchemaErrorCode,mr as SearchBackendError,hr as SearchPathNotIndexedError,SingleRelationAttributeBuilder,gr as StorageError,_r as SyncCascadeError,vr as SyncConflictError,yr as SyncError,br as SystemEntityImmutableError,Za as TASK_DEMAND_LEVELS,hu as TENANT_INVITATION_DEFAULT_TTL_MS,_u as TENANT_INVITATION_MAX_TTL_MS,gu as TENANT_INVITATION_MIN_TTL_MS,vu as TENANT_INVITATION_RESEND_INTERVAL_MS,C as TEXT_BLOCK,El as TEXT_FORMAT_PATTERNS,Qa as TODO_PHASES,$a as TODO_PLAN_STATUSES,eo as TODO_STATUSES,to as TOOL_APPROVAL_STATES,no as TRIAGE_ACTIONS,ro as TRIGGER_EVENT_TYPES,io as TURN_OUTCOMES,xr as ToolGroupGrantError,ao as UNSHAREABLE_OBJECT_NAMES,oo as USERS_RESOLVE_MAX_IDS,so as USER_STATUSES,co as USER_WORK_POSTURES,lo as VERB_NAMES,M as ValidationError,Y as ViewBuilder,zc as WIRE_OFFERED_BASE_CONFIG,Bc as WIRE_OMITTED_CONFIG_KEYS,Sr as WorkspaceInvariantReason,uo as agent,fo as agentAvatarFromMetadata,po as agentAvatarSchema,mo as agentDataChunk,ho as agentDisplayName,go as agentInferencePreferencesSchema,_o as agentMessageAttachmentSchema,vo as agentMessagePartSchema,yo as agentScheduleSchema,bo as agentSessionInferenceOverridesInputSchema,xo as agentSessionInferenceOverridesSchema,So as agentSessionMessageSchema,Co as agentStartersSchema,wo as agentTriggerBaseSchema,To as agentTriggerPatchSchema,Eo as agentTriggerSchema,Do as agentUIValidationError,applyPipes,Oo as artifactQuoteSchema,ol as asTenantId,sl as asUserId,ko as askQuestionsOutputSchema,assertBundleName,Ao as assertCustomAgentUIMessageChunk,assertSchemaSourceResolutions,jo as assertSessionState,Vc as attributeConfigSchemas,it as attributeFilterTarget,at as attributeInventory,ot as blockObjectInputs,buildPropertySchema,st as buildQualifiedAttribute,builtBundleFromPieces,bundle,R as canonicalStringify,Mo as canonicalToolGroups,ct as canonicalizeFilterValue,capabilityForResource,lt as capped,checkbox,No as classificationRestoreSchema,Po as classifyEmailSchema,Fo as cliDefaultModelOf,ut as collectContentViewCatalogue,dt as collectQualifiedRuleIssues,ft as collectionContentSourceSchema,pt as collectionSourceAddress,mt as collectionSourceAddressOf,Oc as colorIdSchema,ht as columnsSchema,Io as compareAgentSessionMessages,compareSchemaStateEntries,compareVersions,Lo as compiledHarnessModels,computeByteMagnitude,computeReconnectDelay,computeRetryDelay,Ro as connectionGrantKindsOf,zo as connectorTriggerMatchSchema,ed as content,contentDefinition,w as contentExtensionRegistry,gt as contentReadObjects,T as contentViewDefinitionSchema,_t as contentViewDefinitionSchemaFor,convertRetypedValue,ml as createAttributeValidator,hl as createFormAttributeValidator,createStandardSchemaProps,currency,vt as currentActor,Bo as customDataChunkSchemas,date,_e as decisionThreadKey,ve as decisionTransferBy,ye as decisionTransfersOf,declaredImageRequests,Vo as decodeAgentSessionListCursor,cl as deepEqual,yt as defineBlock,deriveLayout6,Ho as deriveViewerAccess,bt as describeViewIssue,detailView,deviceChannelUrl,diffSchemaState,xt as displayAttributesSchema,document,St as draftContentViewDefinitionSchema,Ct as draftContentViewDefinitionSchemaFor,droppedContents,Uo as durableDateSchema,wt as edgePropertyFilterTarget,Wo as emailCategoryCreateSchema,Go as emailCategoryDeleteSchema,Ko as emailCategoryScopeQuerySchema,qo as emailCategoryUpdateSchema,Jo as emailRuleScopeSchema,Yo as encodeAgentSessionListCursor,Xo as environmentHarness,Zo as environmentWorkdir,extractAttributeNames,extractAttributePaths,Tt as extractCurrencyFilterValue,Et as extractFilterValue,extractReadRecordIds,extractTouchedArtifacts,extractTouchedDocuments,extractTouchedRecords,Dt as filterOperatorsOfType,Ot as filterStateSchema,kt as filterTargetsOf,Qo as findEnvironmentHarness,findGrantIssues,At as findGridViolation,jt as findGroupViolation,Mt as findLayoutRuleViolation,Nt as findRelationAttribute,Pt as findRowLimitViolation,form,formFieldFlatKey,formFieldKey,formatByteSize,be as formatDecisionLink,formatNewsTarget,Al as formatPhoneForDisplay,formatReference,kl as formatZodErrors,formula,ll as generateId,Ft as getAttributeCapabilities,Uc as getAttributeConfigSchema,Wc as getAttributeConfigWriteSchema,It as getAttributeFilterOperators,getEditableLabelAttribute,xe as getHierarchyAttributes,Se as getObjectSystemAttributes,Lt as getOperatorPolarity,Rt as getRollupFilterOperators,getSingleAttributeFromExpression,getSlotFieldTargets,Ce as getSystemAttributeI18nKey,we as getSystemAttributeList,$o as githubConditionSchema,es as githubTriggerMatchSchema,ts as grantKindOf,zt as gridPositionSchema,group,Bt as groupSizeMessage,Vt as groupedMembers,ns as harnessModelChoices,hasLocale,hasOptions,hashBundlePieces,rs as humanRequestId,is as humanRequestKind,F as iconNameSchema,imageLookupKindOf,imageModelFormatDefect,as as imageModelIdSchema,ul as indexBy,Ht as inferInverseCardinality,os as inferenceReasoningSchema,ss as inferenceRoutingSchema,cs as inferenceSpeedSchema,Ut as input,Wt as invalidViewMessage,Te as isActionableDecisionKind,ls as isAgentMessageMetadata,us as isAgentNotificationMetadata,ds as isAgentUIDataName,fs as isAgentWrittenAuditEntry,ps as isArchitectPublicationMetadata,Gt as isAttributeFilterable,Kt as isAttributeGroupable,Cr as isAttributeInUseError,qt as isAttributeKanbanGroupable,Jt as isAttributeSearchable,Yt as isAttributeSortable,ms as isAwaitingHuman,Xt as isBilateralRelation,hs as isBlocking,isBundle,Zt as isCalendarDay,isCatalogResource,Qt as isCollectionContent,$t as isDynamicValue,_l as isEmptyValue,gs as isEnvironmentHarnessId,isFormDefinition,isFormFieldsRow,isFormFreeFieldRef,isFormHeadingRow,isFormSeparatorRow,isFormSlotFieldRef,isFormTextRow,Ee as isHierarchyAttribute,isImageSource,isLabelExpression,en as isLocationFilterProperty,tn as isLocationPartOperator,_s as isMailProvider,vs as isMailboxListMode,De as isManagedSystemAttribute,I as isNativeObjectName,ys as isNativeToolGroup,nn as isNoValueOperator,wr as isNotFoundError,vl as isNullishOrEmptyString,Tr as isObjectReferencedError,bs as isOpenToolPartState,xs as isParkedOnHuman,kc as isPlainRecord,Er as isProtectedResourceError,Ss as isProviderDraft,Cs as isPublicMailDomain,ws as isQuestionPart,Dr as isRecordReferencedError,rn as isRelativeDateValue,Ts as isReplyMode,Es as isResourceGrant,Ds as isRoutineActorMetadata,Or as isSchemaError,isSemver,Os as isSessionInferencePatch,an as isSetMembershipOperator,isStandardSchema,ks as isSystemEmailCategory,As as isSystemEmailCategoryName,js as isSystemPartCode,Ms as isToolApprovalState,on as isUniversalRelation,kr as isValidationError,yl as isValuePresent,isWherePipe,isWildcard,judgePreferenceWrite,keptFill,W as labelExpressionSchema,sn as layoutTraitsOf,levelActions,levelFloor,levelOf,listView,locatePreference,location,cn as locationPartFilterTarget,Ns as lockingSendCall,Ps as meetingBotDispatchRequestSchema,Fs as meetingBotDispatchResponseSchema,Is as meetingBotNotificationSchema,Ls as meetingTranscriptSegmentSchema,ln as memberlessGroups,memoryPageViewOf,Rs as mentionReferenceSchema,zs as mergeSessionInferencePatch,un as metricComparePeriod,Bs as modelDefinitionSchema,gd as modelIdentitySchema,Vs as modelReferenceSchema,moveWidensAudience,multiselect,nameSlug,cd as namedTargetSchema,nativeAgentUIPartIdMetadataKey,Hs as needsManageWhenUnattended,Ml as normalizeCountrylessPhoneNumber,dn as normalizeFilterRule,fn as normalizeForEdgeRpc,normalizeNewsLocale,pn as normalizeOperator,Nl as normalizePhoneNumber,Us as normalizedMeetingTranscriptSchema,mn as now,number,object,Qu as objectImageSchema,Ws as openRequests,Gs as orderAgentSessionMessages,packLayout,page,pageCompactor,gn as pageTraitsOf,Ks as parseAgentDefinitionAccessRole,qs as parseAgentSessionAccessRole,Gc as parseAttributeConfig,Kc as parseAttributeConfigForCreate,qc as parseAttributeConfigForUpdate,E as parseBlockParameters,Js as parseCountMode,Oe as parseDecisionLink,Ys as parseDeviceAccessRole,parseDeviceChannelFrame,Xs as parseMergedAgentTrigger,parseNamedTarget,parseNativeAgentUIPartIdsMetadata,parseNewsBody,parseNewsIndex,parseNewsIntensity,parseNewsTarget,Zs as parseOptionalCountMode,Qs as parsePageAccessRole,_n as parseQualifiedAttribute,$s as parseRecordAccessRole,Ac as parseRecordListScope,parseReference,jc as parseResourceVisibility,parseSchemaGroupPresentation,parseSchemaOwner,parseSchemaState,parseServerFrame,ec as parseToolGroupGrant,parseWherePipe,parseWorkerFrame,Lu as permissionGrantSchema,phone,placeNew,preference,preferenceEntry,Jc as propertyAttributeSchema,Yc as propertyAttributeWireSchema,Xc as propertySchemaSchema,Zc as propertySchemaWireSchema,tc as providerNameSchema,D as publishedViewContentDefinitionSchema,vn as query,readArtifactResult,nc as readAskQuestionsResult,readFormFieldValue,readGeneratedImageResult,rc as recentActivityEntryKey,ic as recordGraphNodeKey,ac as recordGraphRequestSchema,recordLinksTab,oc as recordMeetingsCount,sc as recordOperationSchema,yn as recordQueryDefinitionSchema,cc as refineTrigger,Qc as refuseForeignKeys,bl as rejectUnknownAttributesOrThrow,relation,bn as relationAcceptsObject,relationProperty,xn as relationTargetsOf,renderLabelExpression,repairPageGrid,requestedCapabilities,Cn as requireRecordContentContext,wn as requireSingleRelationTarget,resolveAppearance,Tn as resolveCollectionActions,En as resolveContentNavigation,Dn as resolveEffectiveFilterType,resolveFieldRequired,On as resolveIsWithinBounds,resolveLocalized,resolvePageGrid,resolvePropertyDefinitions,Dl as resolveTextPattern,kn as resolveUtcDayBounds,resolveViewContents,lc as resourceGrant,richtext,rollup,uc as routedMessageInferenceSchema,sameActions,dl as sameStableValue,schemaGroupKey,schemaStateSourcePayload,select,$c as selectOptionWriteSchema,fl as serializeCanonicalJson,pl as serializeStableJson,dc as sessionInferencePatchSchema,settleLayout,sha256Hex,An as singleRelationTarget,fc as slackConditionSchema,pc as slackTriggerMatchSchema,snapWidth,jn as sortsSchema,Mn as sourcedAttributeOf,status,el as statusGroupSchema,tl as statusOptionWriteSchema,storedContentDefinition,Nn as systemColumnFilterTarget,text,Pn as toMultiValueOperator,Fn as toUtcDayString,In as today,mc as todoItemSchema,hc as todoPlanSchema,gc as toolImpactSchema,user,_c as utf8ByteLength,xl as validateAttribute,Mc as validateAttributeName,Ln as validateContentViewCatalogue,Sl as validateDraft,Cl as validateDraftOrThrow,validateLabelExpression,wl as validateObject,validateObjectExpressions,validateObjectImage,Fc as validateObjectName,Tl as validateObjectOrThrow,Rn as validateQualifiedRule,zn as validateStoredViews,Ic as validateViewName,widthStepConstraint,nl as wireHiddenTypeConfigMask,rl as wireOmittedConfigKeysFor,withPreferenceEntry,withoutTrailingSlashes,il as withoutUnknownOptionKeys,workspaceViewAuthoring};
|