@happyvertical/smrt-planner 0.0.1 → 0.0.2
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/app/404.html +12 -12
- package/app/_app/immutable/chunks/2jFBkS1C.js +1 -0
- package/app/_app/immutable/chunks/6P9zxrzU.js +1 -0
- package/app/_app/immutable/chunks/{DyGfbRG-.js → BnRri03M.js} +1 -1
- package/app/_app/immutable/chunks/Ci0DUht6.js +34 -0
- package/app/_app/immutable/chunks/{CV-2zt0K.js → CsprTb3f.js} +2 -2
- package/app/_app/immutable/chunks/{D333l2GL.js → DkR8_Ws6.js} +1 -1
- package/app/_app/immutable/chunks/{DJtH-lRi.js → Xp1g1t4n.js} +1 -1
- package/app/_app/immutable/entry/{app.D5JJain6.js → app.IZIJXhgq.js} +2 -2
- package/app/_app/immutable/entry/start.BuaYHD1N.js +1 -0
- package/app/_app/immutable/nodes/{0.CL1MxOva.js → 0.m_U8WC7E.js} +3 -3
- package/app/_app/immutable/nodes/{1.BO731RRg.js → 1.Crw8ULhB.js} +1 -1
- package/app/_app/immutable/nodes/{12.BmZyLHbM.js → 12.BIocA1aI.js} +1 -1
- package/app/_app/immutable/nodes/{2.BEw046av.js → 2.CR5BwGnt.js} +2 -2
- package/app/_app/immutable/nodes/{3.DvwpTAQA.js → 3.1B56hgAG.js} +1 -1
- package/app/_app/immutable/nodes/{4.qrT4bnmS.js → 4.SSIC7sUh.js} +1 -1
- package/app/_app/immutable/nodes/{5.DDLa2uhV.js → 5.DgdwleDQ.js} +1 -1
- package/app/_app/immutable/nodes/{6.DN0QTY6z.js → 6.DmD9rqLU.js} +1 -1
- package/app/_app/immutable/nodes/{7.C_8N82Wq.js → 7.DdngsBmo.js} +1 -1
- package/app/_app/version.json +1 -1
- package/app/ai/index.html +14 -14
- package/app/blueprint/index.html +13 -13
- package/app/cookbook/index.html +13 -13
- package/app/index.html +13 -13
- package/app/m/ads/AdDeliveryTier/index.html +14 -14
- package/app/m/ads/AdEvent/index.html +14 -14
- package/app/m/ads/AdFormat/index.html +14 -14
- package/app/m/ads/AdGroup/index.html +14 -14
- package/app/m/ads/AdVariation/index.html +14 -14
- package/app/m/analytics/AnalyticsDataStream/index.html +14 -14
- package/app/m/analytics/AnalyticsEvent/index.html +14 -14
- package/app/m/analytics/AnalyticsProperty/index.html +14 -14
- package/app/m/analytics/AnalyticsReport/index.html +14 -14
- package/app/m/approvals/ApprovalEvent/index.html +14 -14
- package/app/m/approvals/ApprovalPolicy/index.html +14 -14
- package/app/m/approvals/ApprovalRequest/index.html +14 -14
- package/app/m/assets/Asset/index.html +14 -14
- package/app/m/assets/AssetAssociation/index.html +14 -14
- package/app/m/assets/AssetMetafield/index.html +14 -14
- package/app/m/assets/AssetStatus/index.html +14 -14
- package/app/m/assets/AssetType/index.html +14 -14
- package/app/m/assets/Folder/index.html +14 -14
- package/app/m/chat/AgentSession/index.html +14 -14
- package/app/m/chat/ChatMessage/index.html +14 -14
- package/app/m/chat/ChatParticipant/index.html +14 -14
- package/app/m/chat/ChatReaction/index.html +14 -14
- package/app/m/chat/ChatRoom/index.html +14 -14
- package/app/m/chat/ChatThread/index.html +14 -14
- package/app/m/chat/VoiceGatewayTurn/index.html +14 -14
- package/app/m/chat/VoiceSession/index.html +14 -14
- package/app/m/commerce/Agreement/index.html +14 -14
- package/app/m/commerce/Cart/index.html +14 -14
- package/app/m/commerce/Contract/index.html +14 -14
- package/app/m/commerce/ContractLineItem/index.html +14 -14
- package/app/m/commerce/Customer/index.html +14 -14
- package/app/m/commerce/Estimate/index.html +14 -14
- package/app/m/commerce/Fulfillment/index.html +14 -14
- package/app/m/commerce/FulfillmentLineItem/index.html +14 -14
- package/app/m/commerce/Invoice/index.html +14 -14
- package/app/m/commerce/InvoiceLineItem/index.html +14 -14
- package/app/m/commerce/Lease/index.html +14 -14
- package/app/m/commerce/LicenseSale/index.html +14 -14
- package/app/m/commerce/Order/index.html +14 -14
- package/app/m/commerce/Payment/index.html +14 -14
- package/app/m/commerce/PaymentAllocation/index.html +14 -14
- package/app/m/commerce/PaymentInstrument/index.html +14 -14
- package/app/m/commerce/PaymentIntent/index.html +14 -14
- package/app/m/commerce/Payout/index.html +14 -14
- package/app/m/commerce/ProductionOrder/index.html +14 -14
- package/app/m/commerce/PurchaseOrder/index.html +14 -14
- package/app/m/commerce/Vendor/index.html +14 -14
- package/app/m/commerce/WholesaleOrder/index.html +14 -14
- package/app/m/content/Content/index.html +14 -14
- package/app/m/content/ContentContribution/index.html +14 -14
- package/app/m/content/ContentContributionAttachment/index.html +14 -14
- package/app/m/content/ContentContributionRevision/index.html +14 -14
- package/app/m/content/ContentContributionType/index.html +14 -14
- package/app/m/content/ContentContributor/index.html +14 -14
- package/app/m/content/ContentCorrection/index.html +14 -14
- package/app/m/content/ContentFeedSource/index.html +14 -14
- package/app/m/content/ContentGovernanceAssignment/index.html +14 -14
- package/app/m/content/ContentGovernancePolicy/index.html +14 -14
- package/app/m/content/ContentGovernanceProfile/index.html +14 -14
- package/app/m/content/ContentReference/index.html +14 -14
- package/app/m/content/ContentReview/index.html +14 -14
- package/app/m/content/ContentVersion/index.html +14 -14
- package/app/m/content/Contents/index.html +14 -14
- package/app/m/events/Event/index.html +14 -14
- package/app/m/events/EventParticipant/index.html +14 -14
- package/app/m/events/EventSeries/index.html +14 -14
- package/app/m/events/EventType/index.html +14 -14
- package/app/m/facts/Fact/index.html +14 -14
- package/app/m/facts/FactContent/index.html +14 -14
- package/app/m/facts/FactEvidence/index.html +14 -14
- package/app/m/facts/FactSource/index.html +14 -14
- package/app/m/facts/FactSubject/index.html +14 -14
- package/app/m/facts/FactTag/index.html +14 -14
- package/app/m/fields/FieldPolicy/index.html +14 -14
- package/app/m/fields/FieldPolicySuggestion/index.html +14 -14
- package/app/m/fields/FieldUsageCounter/index.html +14 -14
- package/app/m/images/Image/index.html +14 -14
- package/app/m/inventory/InventoryLocation/index.html +14 -14
- package/app/m/inventory/StockLevel/index.html +14 -14
- package/app/m/inventory/StockMovement/index.html +14 -14
- package/app/m/ledgers/Account/index.html +14 -14
- package/app/m/ledgers/Journal/index.html +14 -14
- package/app/m/ledgers/JournalEntry/index.html +14 -14
- package/app/m/manufacturing/Assembly/index.html +14 -14
- package/app/m/manufacturing/BillOfMaterials/index.html +14 -14
- package/app/m/manufacturing/BomLine/index.html +14 -14
- package/app/m/manufacturing/Operation/index.html +14 -14
- package/app/m/manufacturing/ProductionRun/index.html +14 -14
- package/app/m/manufacturing/ProductionRunCompletion/index.html +14 -14
- package/app/m/manufacturing/RoutingStep/index.html +14 -14
- package/app/m/marketing/Campaign/index.html +14 -14
- package/app/m/marketing/CampaignChannel/index.html +14 -14
- package/app/m/marketing/CampaignMetricSnapshot/index.html +14 -14
- package/app/m/messages/Account/index.html +14 -14
- package/app/m/messages/Attachment/index.html +14 -14
- package/app/m/messages/Blacklist/index.html +14 -14
- package/app/m/messages/Email/failed-sends/index.html +14 -14
- package/app/m/messages/Email/index.html +14 -14
- package/app/m/messages/Email/mailbox/index.html +14 -14
- package/app/m/messages/EmailAccount/index.html +14 -14
- package/app/m/messages/EmailFolder/index.html +14 -14
- package/app/m/messages/Message/index.html +14 -14
- package/app/m/messages/MessagingEndpoint/index.html +14 -14
- package/app/m/messages/PersonaMessageRoute/index.html +14 -14
- package/app/m/messages/SlackAccount/index.html +14 -14
- package/app/m/messages/SlackMessage/index.html +14 -14
- package/app/m/messages/TelegramAccount/index.html +14 -14
- package/app/m/messages/Tweet/index.html +14 -14
- package/app/m/messages/TwitterAccount/index.html +14 -14
- package/app/m/messages/Whitelist/index.html +14 -14
- package/app/m/messages/ZulipAccount/index.html +14 -14
- package/app/m/places/Place/index.html +14 -14
- package/app/m/places/PlaceType/index.html +14 -14
- package/app/m/preferences/UiPreferenceRecord/index.html +14 -14
- package/app/m/products/Category/index.html +14 -14
- package/app/m/products/Material/index.html +14 -14
- package/app/m/products/Product/index.html +14 -14
- package/app/m/products/Product/ingredients/index.html +14 -14
- package/app/m/products/ProductVariant/index.html +14 -14
- package/app/m/products/Sku/index.html +14 -14
- package/app/m/profiles/ApiKey/index.html +14 -14
- package/app/m/profiles/Bot/index.html +14 -14
- package/app/m/profiles/MagicLinkToken/index.html +14 -14
- package/app/m/profiles/NostrIdentity/index.html +14 -14
- package/app/m/profiles/OidcIdentity/index.html +14 -14
- package/app/m/profiles/Organization/index.html +14 -14
- package/app/m/profiles/Person/index.html +14 -14
- package/app/m/profiles/Profile/index.html +14 -14
- package/app/m/profiles/ProfileMetadata/index.html +14 -14
- package/app/m/profiles/ProfileMetafield/index.html +14 -14
- package/app/m/profiles/ProfileRelationship/index.html +14 -14
- package/app/m/profiles/ProfileRelationshipTerm/index.html +14 -14
- package/app/m/profiles/ProfileRelationshipType/index.html +14 -14
- package/app/m/profiles/ProfileType/index.html +14 -14
- package/app/m/projects/Comment/index.html +14 -14
- package/app/m/projects/Issue/index.html +14 -14
- package/app/m/projects/Label/index.html +14 -14
- package/app/m/projects/Project/index.html +14 -14
- package/app/m/projects/ProjectIntegration/index.html +14 -14
- package/app/m/projects/PullRequest/index.html +14 -14
- package/app/m/projects/Repository/index.html +14 -14
- package/app/m/properties/Property/index.html +14 -14
- package/app/m/properties/Zone/index.html +14 -14
- package/app/m/reports/RuntimeReport/index.html +14 -14
- package/app/m/reports/SmrtPrincipalReportRefreshTask/index.html +14 -14
- package/app/m/reports/SmrtReportLock/index.html +14 -14
- package/app/m/reports/SmrtReportRefreshTask/index.html +14 -14
- package/app/m/reports/SmrtReportRun/index.html +14 -14
- package/app/m/reports/SmrtReportSchedule/index.html +14 -14
- package/app/m/reports/SmrtReportWatermark/index.html +14 -14
- package/app/m/sales/AttributionException/index.html +14 -14
- package/app/m/sales/AttributionPolicy/index.html +14 -14
- package/app/m/sales/Commission/index.html +14 -14
- package/app/m/sales/CommissionAdjustment/index.html +14 -14
- package/app/m/sales/CommissionPayout/index.html +14 -14
- package/app/m/sales/CommissionPlan/index.html +14 -14
- package/app/m/sales/Earner/index.html +14 -14
- package/app/m/sales/EarnerSourceAttribution/index.html +14 -14
- package/app/m/sales/EarningEvent/index.html +14 -14
- package/app/m/sales/ExecutedAgreement/index.html +14 -14
- package/app/m/sales/Lead/index.html +14 -14
- package/app/m/sales/Opportunity/index.html +14 -14
- package/app/m/sales/OpportunityConversion/index.html +14 -14
- package/app/m/sales/PipelineDefinition/index.html +14 -14
- package/app/m/sales/PipelineStage/index.html +14 -14
- package/app/m/sales/Referral/index.html +14 -14
- package/app/m/sales/ReferralAgreement/index.html +14 -14
- package/app/m/sales/ReferralLink/index.html +14 -14
- package/app/m/sales/ReferralProgram/index.html +14 -14
- package/app/m/sales/ReferralTermSnapshot/index.html +14 -14
- package/app/m/sales/ReferralTouch/index.html +14 -14
- package/app/m/sales/Referrer/index.html +14 -14
- package/app/m/sales/SalesActivity/index.html +14 -14
- package/app/m/sales/SalesRepresentative/index.html +14 -14
- package/app/m/sites/Site/index.html +14 -14
- package/app/m/sites/SiteAgentBinding/index.html +14 -14
- package/app/m/social/OAuthState/index.html +14 -14
- package/app/m/social/SocialAccount/index.html +14 -14
- package/app/m/social/SocialPost/index.html +14 -14
- package/app/m/social/SocialPostAnalyticsSnapshot/index.html +14 -14
- package/app/m/subscriptions/BillingAdjustment/index.html +14 -14
- package/app/m/subscriptions/ClientCharge/index.html +14 -14
- package/app/m/subscriptions/CreditGrant/index.html +14 -14
- package/app/m/subscriptions/PricingRule/index.html +14 -14
- package/app/m/subscriptions/RetailCharge/index.html +14 -14
- package/app/m/subscriptions/SpendingPolicy/index.html +14 -14
- package/app/m/subscriptions/SubscriptionPlan/index.html +14 -14
- package/app/m/subscriptions/TenantSubscription/index.html +14 -14
- package/app/m/subscriptions/TenantUsageMetric/index.html +14 -14
- package/app/m/support/ServiceTimeEntry/index.html +14 -14
- package/app/m/support/SupportAiRun/index.html +14 -14
- package/app/m/support/SupportAvailability/index.html +14 -14
- package/app/m/support/SupportCase/index.html +14 -14
- package/app/m/support/SupportCaseEvent/index.html +14 -14
- package/app/m/support/SupportChannelBinding/index.html +14 -14
- package/app/m/support/SupportCharge/index.html +14 -14
- package/app/m/support/SupportCompensation/index.html +14 -14
- package/app/m/support/SupportCompensationPlan/index.html +14 -14
- package/app/m/support/SupportEscalation/index.html +14 -14
- package/app/m/support/SupportInteraction/index.html +14 -14
- package/app/m/support/SupportPlan/index.html +14 -14
- package/app/m/support/SupportPolicy/index.html +14 -14
- package/app/m/support/SupportQualification/index.html +14 -14
- package/app/m/support/SupportServiceTarget/index.html +14 -14
- package/app/m/support/SupportSpecialist/index.html +14 -14
- package/app/m/support/SupportWorkLink/index.html +14 -14
- package/app/m/tags/Tag/index.html +14 -14
- package/app/m/tags/TagAlias/index.html +14 -14
- package/app/m/timesheets/AttendanceBreak/index.html +14 -14
- package/app/m/timesheets/AttendancePunch/index.html +14 -14
- package/app/m/timesheets/ServiceChargeSnapshot/index.html +14 -14
- package/app/m/timesheets/ServiceCompensationSnapshot/index.html +14 -14
- package/app/m/timesheets/ServiceTimeEntry/index.html +14 -14
- package/app/m/users/AccessRequest/index.html +14 -14
- package/app/m/users/Group/index.html +14 -14
- package/app/m/users/GroupMember/index.html +14 -14
- package/app/m/users/GroupRole/index.html +14 -14
- package/app/m/users/Membership/index.html +14 -14
- package/app/m/users/MembershipOverride/index.html +14 -14
- package/app/m/users/Permission/index.html +14 -14
- package/app/m/users/ResourceGrant/index.html +14 -14
- package/app/m/users/Role/index.html +14 -14
- package/app/m/users/RolePermission/index.html +14 -14
- package/app/m/users/Session/index.html +14 -14
- package/app/m/users/Tenant/index.html +14 -14
- package/app/m/users/TenantIntegration/index.html +14 -14
- package/app/m/users/TenantPermissionOverride/index.html +14 -14
- package/app/m/users/User/index.html +14 -14
- package/app/m/users/UsersCliAuthRequest/index.html +14 -14
- package/app/m/users/UsersMagicLinkToken/index.html +14 -14
- package/app/m/video/Character/index.html +14 -14
- package/app/m/video/CharacterAsset/index.html +14 -14
- package/app/m/video/CompositeJob/index.html +14 -14
- package/app/m/video/Performer/index.html +14 -14
- package/app/m/video/PerformerAsset/index.html +14 -14
- package/app/m/video/Scene/index.html +14 -14
- package/app/m/video/SceneAsset/index.html +14 -14
- package/app/m/video/VideoComposition/index.html +14 -14
- package/app/m/video/VideoCompositionAsset/index.html +14 -14
- package/app/m/video/VideoSequence/index.html +14 -14
- package/app/m/video/VideoSequenceAsset/index.html +14 -14
- package/app/m/video/VideoShot/index.html +14 -14
- package/app/m/video/VideoShotAsset/index.html +14 -14
- package/app/m/video/VideoShotCharacter/index.html +14 -14
- package/app/m/video/VideoWorkflow/index.html +14 -14
- package/app/m/voice/VoiceOutput/index.html +14 -14
- package/app/m/voice/VoiceProfile/index.html +14 -14
- package/app/m/voice/VoiceSample/index.html +14 -14
- package/app/packages/ads/index.html +12 -12
- package/app/packages/analytics/index.html +12 -12
- package/app/packages/approvals/index.html +12 -12
- package/app/packages/assets/index.html +12 -12
- package/app/packages/chat/index.html +12 -12
- package/app/packages/comments/index.html +12 -12
- package/app/packages/commerce/index.html +12 -12
- package/app/packages/content/index.html +12 -12
- package/app/packages/events/index.html +12 -12
- package/app/packages/expenses/index.html +12 -12
- package/app/packages/facts/index.html +12 -12
- package/app/packages/fields/index.html +12 -12
- package/app/packages/human-resources/index.html +12 -12
- package/app/packages/images/index.html +12 -12
- package/app/packages/index.html +12 -12
- package/app/packages/inventory/index.html +12 -12
- package/app/packages/ledgers/index.html +12 -12
- package/app/packages/manufacturing/index.html +12 -12
- package/app/packages/marketing/index.html +12 -12
- package/app/packages/messages/index.html +12 -12
- package/app/packages/places/index.html +12 -12
- package/app/packages/preferences/index.html +12 -12
- package/app/packages/products/index.html +12 -12
- package/app/packages/profiles/index.html +12 -12
- package/app/packages/projects/index.html +12 -12
- package/app/packages/properties/index.html +12 -12
- package/app/packages/reports/index.html +12 -12
- package/app/packages/sales/index.html +12 -12
- package/app/packages/sites/index.html +12 -12
- package/app/packages/social/index.html +12 -12
- package/app/packages/subscriptions/index.html +12 -12
- package/app/packages/support/index.html +12 -12
- package/app/packages/tags/index.html +12 -12
- package/app/packages/timesheets/index.html +12 -12
- package/app/packages/users/index.html +12 -12
- package/app/packages/video/index.html +12 -12
- package/app/packages/voice/index.html +12 -12
- package/app/recipes/account-access/help/index.html +12 -12
- package/app/recipes/account-access/index.html +12 -12
- package/app/recipes/activity/help/index.html +12 -12
- package/app/recipes/activity/index.html +12 -12
- package/app/recipes/agreements/help/index.html +12 -12
- package/app/recipes/agreements/index.html +12 -12
- package/app/recipes/analytics.reports/help/index.html +12 -12
- package/app/recipes/analytics.reports/index.html +12 -12
- package/app/recipes/assets/help/index.html +12 -12
- package/app/recipes/assets/index.html +12 -12
- package/app/recipes/billing/help/index.html +12 -12
- package/app/recipes/billing/index.html +12 -12
- package/app/recipes/chat.assistant/help/index.html +12 -12
- package/app/recipes/chat.assistant/index.html +12 -12
- package/app/recipes/comments/help/index.html +12 -12
- package/app/recipes/comments/index.html +12 -12
- package/app/recipes/commerce.customers/help/index.html +12 -12
- package/app/recipes/commerce.customers/index.html +12 -12
- package/app/recipes/commerce.estimates/help/index.html +12 -12
- package/app/recipes/commerce.estimates/index.html +12 -12
- package/app/recipes/commerce.purchases/help/index.html +12 -12
- package/app/recipes/commerce.purchases/index.html +12 -12
- package/app/recipes/commerce.sales/help/index.html +12 -12
- package/app/recipes/commerce.sales/index.html +12 -12
- package/app/recipes/commerce.vendors/help/index.html +12 -12
- package/app/recipes/commerce.vendors/index.html +12 -12
- package/app/recipes/commerce.wholesale/help/index.html +12 -12
- package/app/recipes/commerce.wholesale/index.html +12 -12
- package/app/recipes/events.calendar/help/index.html +12 -12
- package/app/recipes/events.calendar/index.html +12 -12
- package/app/recipes/fields.form-customization/help/index.html +12 -12
- package/app/recipes/fields.form-customization/index.html +12 -12
- package/app/recipes/inventory.stock/help/index.html +12 -12
- package/app/recipes/inventory.stock/index.html +12 -12
- package/app/recipes/ledgers.bookkeeping/help/index.html +12 -12
- package/app/recipes/ledgers.bookkeeping/index.html +12 -12
- package/app/recipes/messages/help/index.html +12 -12
- package/app/recipes/messages/index.html +12 -12
- package/app/recipes/products/help/index.html +12 -12
- package/app/recipes/products/index.html +12 -12
- package/app/recipes/projects.tracker/help/index.html +12 -12
- package/app/recipes/projects.tracker/index.html +12 -12
- package/app/recipes/reports.materialized/help/index.html +12 -12
- package/app/recipes/reports.materialized/index.html +12 -12
- package/app/recipes/sales.pipeline/help/index.html +12 -12
- package/app/recipes/sales.pipeline/index.html +12 -12
- package/app/recipes/tags.taxonomy/help/index.html +12 -12
- package/app/recipes/tags.taxonomy/index.html +12 -12
- package/app/recipes/team-collaboration/help/index.html +12 -12
- package/app/recipes/team-collaboration/index.html +12 -12
- package/app/s/custom-billing/index.html +13 -13
- package/app/s/custom-buying/index.html +13 -13
- package/app/s/custom-classes/index.html +13 -13
- package/app/s/custom-jobs/index.html +13 -13
- package/app/s/custom-kitchen/index.html +13 -13
- package/app/s/custom-material/index.html +13 -13
- package/app/s/custom-members/index.html +13 -13
- package/app/s/custom-parts/index.html +13 -13
- package/app/s/custom-schedule/index.html +13 -13
- package/app/s/custom-shop/index.html +13 -13
- package/app/s/custom-wholesale/index.html +13 -13
- package/app/s/section-access-control/index.html +13 -13
- package/app/s/section-account-security/index.html +13 -13
- package/app/s/section-accounting/index.html +13 -13
- package/app/s/section-activity/index.html +13 -13
- package/app/s/section-agreements/index.html +13 -13
- package/app/s/section-analytics/index.html +13 -13
- package/app/s/section-assets/index.html +13 -13
- package/app/s/section-billing/index.html +13 -13
- package/app/s/section-calendar/index.html +13 -13
- package/app/s/section-catalog/index.html +13 -13
- package/app/s/section-chat.assistant/index.html +13 -13
- package/app/s/section-comments/index.html +13 -13
- package/app/s/section-fields.form-customization/index.html +13 -13
- package/app/s/section-messages/index.html +13 -13
- package/app/s/section-more/index.html +13 -13
- package/app/s/section-operations/index.html +13 -13
- package/app/s/section-projects/index.html +13 -13
- package/app/s/section-purchasing/index.html +13 -13
- package/app/s/section-reports.materialized/index.html +13 -13
- package/app/s/section-sales/index.html +13 -13
- package/app/s/section-taxonomy/index.html +13 -13
- package/app/s/section-team/index.html +13 -13
- package/dist/ai/state.svelte.d.ts +9 -4
- package/dist/ai/state.svelte.js +46 -16
- package/dist/ai/status.js +8 -0
- package/dist/assistant/session.svelte.d.ts +1 -0
- package/dist/assistant/session.svelte.js +22 -4
- package/dist/components/AiSetup.svelte +31 -2
- package/dist/components/BrowserAssistant.svelte +12 -8
- package/dist/core/app.d.ts +33 -8
- package/dist/core/app.js +112 -8
- package/dist/index.d.ts +1 -1
- package/dist/inference/byo.svelte.d.ts +8 -4
- package/dist/inference/byo.svelte.js +36 -8
- package/dist/inference/config.d.ts +12 -5
- package/dist/inference/config.js +96 -40
- package/dist/inference/openai.js +5 -0
- package/dist/kitchen/client.js +10 -4
- package/dist/planner/assistant.js +1 -1
- package/package.json +2 -1
- package/app/_app/immutable/chunks/BYde9M_U.js +0 -1
- package/app/_app/immutable/chunks/OJ_lLTHH.js +0 -1
- package/app/_app/immutable/chunks/ufuM4XBq.js +0 -33
- package/app/_app/immutable/entry/start.CH9DJLgI.js +0 -1
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["./
|
|
2
|
-
import{Et as e,H as t,M as n,N as r,R as i,Tt as a,U as o,V as s,Z as c,a as l,dt as u,et as d,gt as f,mt as p,n as m,ot as h,pt as ee,vt as g,xt as _,z as te}from"./Chyo8rdT.js";import{t as v}from"./uBIymjUX.js";import"./xihTtKlq.js";import{n as ne,r as re}from"./BWPhGFHl.js";import"./DVRKjN-E.js";import{A as ie,P as ae,i as y,r as oe}from"./WxSPP8QW.js";import{h as se}from"./CygC84VT.js";import{B as ce,C as b,F as x,G as le,H as ue,N as S,S as de,b as fe,d as pe,i as me}from"./p6bgzXiY.js";import{g as C,m as he,r as ge,t as _e}from"./CRQ1Pmzr.js";import{n as ve}from"./B4Kevpe0.js";import{d as ye}from"./BKwRT_1p.js";import{a as be,i as xe,t as Se}from"./BYcBM-fh.js";import{l as Ce}from"./ufuM4XBq.js";import{A as we,K as Te}from"./D_J_XtJy.js";import{a as Ee,c as De,n as Oe}from"./CMhpRMKg.js";var ke=1e5,w=1e3,Ae=2048,je=16,T=1e3,Me=new Set([`__proto__`,`constructor`,`prototype`]),Ne=new Set([`table`,`list`,`report`,`custom`]),Pe=new Set([`public`,`personal`,`sensitive`,`secret`]),Fe=new Set([`read`,`search`,`filter`,`sort`,`project`]),Ie=new Set([`rows`,`count`,`facets`]),Le=new Set([`current-page`,`explicit-ids`,`all-matching`]),Re=new Set([`basic`,`advanced`,`hidden`]),ze=new Set([`data`,`status`,`computed`,`row-key`,`selection`,`action`]),Be=new Set([`tenant`,`tenantid`,`principalid`,`principal`,`actorid`,`auth`,`authtoken`,`authorization`,`authorizationtoken`,`authorizationheader`,`authentication`,`authenticationtoken`,`accesstoken`,`token`,`bearer`,`bearertoken`,`apikey`,`sessiontoken`,`credential`,`credentials`,`sql`,`rawsql`,`rawquery`,`where`]);function E(e,t){if(!e||typeof e!=`object`||Array.isArray(e)||Object.getPrototypeOf(e)!==Object.prototype)throw TypeError(`${t} must be a plain object`);return e}function D(e,t,n){let r=new Set(t);for(let t of Object.keys(e))if(!r.has(t))throw TypeError(`${n} contains unsupported field: ${t}`)}function O(e,t){if(typeof e!=`string`||e.length===0)throw TypeError(`${t} must be a non-empty string`);return e}function k(e,t){let n=O(e,t);if(n.length>256)throw TypeError(`${t} cannot exceed 256 characters`);return n}function A(e,t){if(e!==void 0)return O(e,t)}function Ve(e,t){if(e!==void 0){if(typeof e!=`number`||!Number.isFinite(e))throw TypeError(`${t} must be a finite number`);return e}}function j(e,t){if(typeof e!=`number`||!Number.isSafeInteger(e)||e<=0)throw TypeError(`${t} must be a positive safe integer`);return e}function He(e){if(typeof e!=`number`||!Number.isSafeInteger(e)||e<0)throw TypeError(`DataSurface revision must be a non-negative safe integer`);return e}function M(e,t){e&&(Ue(e,t),e.used+=t)}function Ue(e,t,n=e?.used??0){if(e&&t>e.limit-n)throw TypeError(`${e.label} cannot exceed ${e.limit} UTF-8 bytes`)}function We(e,t,n=t?.used??0){let r=2;for(let i=0;i<e.length;i+=1){let a=e.charCodeAt(i);if(a===34||a===92)r+=2;else if(a===8||a===9||a===10||a===12||a===13)r+=2;else if(a<=31)r+=6;else if(a>=55296&&a<=56319){let t=e.charCodeAt(i+1);t>=56320&&t<=57343?(r+=4,i+=1):r+=6}else r+=a>=56320&&a<=57343?6:a<=127?1:a<=2047?2:3;Ue(t,r,n)}return r}function Ge(e,t){if(!t)return;let n=t.used,r=e.length===0?2:e.length*2+1;Ue(t,r,n),n+=r;for(let r of e)n+=We(r,t,n)}function N(e,t=new Set,n=0,r){if(n>je)throw TypeError(`DataSurface values cannot exceed ${je} nested levels`);if(e===null||typeof e==`string`||typeof e==`boolean`)return M(r,e===null?4:typeof e==`boolean`?e?4:5:We(e,r)),e;if(typeof e==`number`){if(!Number.isFinite(e))throw TypeError(`DataSurface values cannot contain non-finite numbers`);let t=e===0?0:e;return M(r,String(t).length),t}if(Array.isArray(e)){if(e.length>T)throw TypeError(`DataSurface arrays cannot contain more than ${T} items`);if(t.has(e))throw TypeError(`DataSurface values cannot be circular`);t.add(e),M(r,1);let i=[];for(let[a,o]of e.entries())a>0&&M(r,1),i.push(N(o,t,n+1,r));return M(r,1),t.delete(e),i}if(e&&typeof e==`object`){let i=E(e,`DataSurface value`);if(t.has(i))throw TypeError(`DataSurface values cannot be circular`);t.add(i);let a={},o=Object.keys(i);if(o.length>T)throw TypeError(`DataSurface objects cannot contain more than ${T} keys`);Ge(o,r),M(r,1);for(let[e,s]of o.sort().entries()){if(e>0&&M(r,1),Me.has(s))throw TypeError(`DataSurface values cannot contain prototype key: ${s}`);M(r,We(s,r)+1),a[s]=N(i[s],t,n+1,r)}return M(r,1),t.delete(i),a}throw TypeError(`DataSurface values must be JSON-safe plain data`)}function P(e){return JSON.stringify(N(e))}function Ke(e){let t={used:0,limit:2**53-1,label:`DataSurface query request`};return N(e,new Set,0,t),t.used}function F(e,t){N(e,new Set,0,{used:0,limit:ke,label:t})}function qe(e,t){let n=N(e),r=e=>{if(Array.isArray(e)){for(let t of e)r(t);return}if(e&&typeof e==`object`)for(let[n,i]of Object.entries(e)){let e=n.replaceAll(/[-_]/g,``).toLowerCase();if(Be.has(e))throw TypeError(`${t} cannot contain authority or SQL field: ${n}`);r(i)}};return r(n),n}function Je(e,t){let n=qe(e,t);if(Array.isArray(n)||typeof n!=`object`||!n)throw TypeError(`${t} must be a JSON object`);return n}function I(e){let t=E(e,`DataSurface identity`);D(t,[`surfaceId`,`kind`,`subject`],`DataSurface identity`);let n=O(t.kind,`DataSurface kind`);if(!Ne.has(n))throw TypeError(`Unsupported DataSurface kind: ${n}`);let r;if(t.subject!==void 0){let e=E(t.subject,`DataSurface subject`);D(e,[`type`,`id`,`label`],`DataSurface subject`);let n=A(e.label,`DataSurface subject label`);r={type:k(e.type,`DataSurface subject type`),id:k(e.id,`DataSurface subject id`),...n?{label:n}:{}}}return{surfaceId:k(t.surfaceId,`DataSurface surface id`),kind:n,...r?{subject:r}:{}}}function L(e){return JSON.stringify([e.kind,e.surfaceId,e.subject?[e.subject.type,e.subject.id]:null])}function R(e){return I(e)}function z(e,t,n={}){if(!Array.isArray(e))throw TypeError(`${t} must be an array`);if(e.length>T)throw TypeError(`${t} cannot contain more than ${T} items`);let r=e.map(e=>O(e,t));if(new Set(r).size!==r.length)throw TypeError(`${t} cannot contain duplicates`);return n.sort?r.sort():r}function Ye(e,t,n={}){return z(e,t,n).map(e=>k(e,t))}function Xe(e,t){let n=z(e,t,{sort:!0});for(let e of n)if(!Fe.has(e))throw TypeError(`Unsupported DataSurface column capability: ${e}`);return n}function Ze(e,t){if(e===void 0)return;let n=O(e,t);if(!Pe.has(n))throw TypeError(`Unsupported DataSurface sensitivity: ${n}`);return n}function Qe(e,t){if(e===void 0)return;let n=E(e,t);D(n,[`search`,`filter`,`sort`],t);let r=n.search===void 0?void 0:z(n.search,`${t} search operators`,{sort:!0}),i=n.filter===void 0?void 0:z(n.filter,`${t} filter operators`,{sort:!0}),a=n.sort===void 0?void 0:z(n.sort,`${t} sort operators`,{sort:!0});return!r&&!i&&!a?{}:{...r?{search:r}:{},...i?{filter:i}:{},...a?{sort:a}:{}}}function $e(e){let t=A(e.fieldName,`DataSurface column field name`),n=A(e.visibility,`DataSurface column visibility`);if(n&&!Re.has(n))throw TypeError(`Unsupported DataSurface column visibility: ${n}`);let r=A(e.role,`DataSurface column role`);if(r&&!ze.has(r))throw TypeError(`Unsupported DataSurface column role: ${r}`);if(e.readable!==void 0&&typeof e.readable!=`boolean`)throw TypeError(`DataSurface column readable must be boolean`);let i=t=>e[t]===void 0?void 0:z(e[t],`DataSurface column ${t}`,{sort:!0}),a=i(`searchOperators`),o=i(`filterOperators`),s=i(`sortOperators`);return{...t?{fieldName:t}:{},...n?{visibility:n}:{},...e.order===void 0?{}:{order:Ve(e.order,`DataSurface column order`)},...r?{role:r}:{},...e.responsivePriority===void 0?{}:{responsivePriority:Ve(e.responsivePriority,`DataSurface column responsive priority`)},...e.operators===void 0?{}:{operators:Qe(e.operators,`DataSurface column operators`)},...a?{searchOperators:a}:{},...o?{filterOperators:o}:{},...s?{sortOperators:s}:{},...e.readable===void 0?{}:{readable:e.readable}}}function et(e){let t=E(e,`DataSurface selection`),n=O(t.scope,`DataSurface selection scope`);if(!Le.has(n))throw TypeError(`Unsupported DataSurface selection scope: ${n}`);if(n===`current-page`)return D(t,[`scope`],`DataSurface current-page selection`),{scope:n};if(n===`explicit-ids`){if(D(t,[`scope`,`rowIds`],`DataSurface explicit selection`),!Array.isArray(t.rowIds))throw TypeError(`DataSurface explicit selection rowIds must be an array`);if(t.rowIds.length>T)throw TypeError(`DataSurface explicit selection cannot contain more than ${T} row ids`);let e=new Map;for(let n of t.rowIds){if(typeof n!=`string`&&(typeof n!=`number`||!Number.isFinite(n)))throw TypeError(`DataSurface row ids must be finite strings or numbers`);let t=typeof n==`string`?k(n,`DataSurface row id`):n===0?0:n;e.set(`${typeof t}:${String(t)}`,t)}return{scope:n,rowIds:[...e.values()].sort((e,t)=>typeof e==typeof t?typeof e==`number`&&typeof t==`number`?e-t:e<t?-1:+(e>t):typeof e==`number`?-1:1)}}return D(t,[`scope`,`queryFingerprint`],`DataSurface all-matching selection`),{scope:n,queryFingerprint:k(t.queryFingerprint,`DataSurface query fingerprint`)}}function tt(e){let t=E(e,`DataSurface descriptor`);if(D(t,[`version`,`identity`,`schemaVersion`,`label`,`description`,`rowKey`,`columns`,`query`,`controls`,`actions`,`limits`],`DataSurface descriptor`),t.version!==1)throw TypeError(`Unsupported DataSurface descriptor version`);if(!Array.isArray(t.columns))throw TypeError(`DataSurface descriptor columns must be an array`);let n=t.columns.map(e=>{let t=E(e,`DataSurface column`);D(t,[`id`,`label`,`description`,`sensitivity`,`capabilities`,`fieldName`,`visibility`,`order`,`role`,`responsivePriority`,`operators`,`searchOperators`,`filterOperators`,`sortOperators`,`readable`],`DataSurface column`);let n=Ze(t.sensitivity,`DataSurface column sensitivity`),r=A(t.description,`DataSurface column description`),i=$e(t);return{id:k(t.id,`DataSurface column id`),label:O(t.label,`DataSurface column label`),...r?{description:r}:{},...n?{sensitivity:n}:{},capabilities:Xe(t.capabilities,`DataSurface column capabilities`),...i}});if(new Set(n.map(e=>e.id)).size!==n.length)throw TypeError(`DataSurface descriptor column ids must be unique`);let r=E(t.query,`DataSurface query capabilities`);D(r,[`modes`,`projectableColumnIds`,`searchableColumnIds`,`filterableColumnIds`,`sortableColumnIds`],`DataSurface query capabilities`);let i=z(r.modes,`DataSurface query modes`,{sort:!0});for(let e of i)if(!Ie.has(e))throw TypeError(`Unsupported DataSurface query mode: ${e}`);let a=Ye(r.projectableColumnIds,`DataSurface projectable column ids`,{sort:!0}),o=new Set(n.map(e=>e.id));for(let e of a)if(!o.has(e))throw TypeError(`Unknown projectable DataSurface column: ${e}`);let s=(e,t)=>{if(e===void 0)return;let n=z(e,t,{sort:!0});for(let e of n)if(!o.has(e))throw TypeError(`Unknown ${t}: ${e}`);return n},c=s(r.searchableColumnIds,`searchable DataSurface column`),l=s(r.filterableColumnIds,`filterable DataSurface column`),u=s(r.sortableColumnIds,`sortable DataSurface column`);if(!Array.isArray(t.controls))throw TypeError(`DataSurface controls must be an array`);let d=t.controls.map(e=>{let t=E(e,`DataSurface control`);D(t,[`id`,`label`,`description`],`DataSurface control`);let n=A(t.description,`DataSurface control description`);return{id:k(t.id,`DataSurface control id`),label:O(t.label,`DataSurface control label`),...n?{description:n}:{}}});if(new Set(d.map(e=>e.id)).size!==d.length)throw TypeError(`DataSurface control ids must be unique`);if(!Array.isArray(t.actions))throw TypeError(`DataSurface actions must be an array`);let f=t.actions.map(e=>{let t=E(e,`DataSurface action`);if(D(t,[`id`,`label`,`description`,`sensitivity`,`selectionScopes`,`requiresConfirmation`,`columnIds`],`DataSurface action`),t.requiresConfirmation!==void 0&&typeof t.requiresConfirmation!=`boolean`)throw TypeError(`DataSurface action requiresConfirmation must be boolean`);let n=z(t.selectionScopes,`DataSurface action selection scopes`,{sort:!0});for(let e of n)if(!Le.has(e))throw TypeError(`Unsupported DataSurface action selection scope: ${e}`);let r=Ze(t.sensitivity,`DataSurface action sensitivity`),i=A(t.description,`DataSurface action description`),a=t.columnIds===void 0?void 0:z(t.columnIds,`DataSurface action column ids`,{sort:!0});if(a?.some(e=>!o.has(e))){let e=a.find(e=>!o.has(e));throw TypeError(`Unknown DataSurface action column id: ${e}`)}return{id:k(t.id,`DataSurface action id`),label:O(t.label,`DataSurface action label`),...i?{description:i}:{},...r?{sensitivity:r}:{},selectionScopes:n,...t.requiresConfirmation===void 0?{}:{requiresConfirmation:t.requiresConfirmation},...a?{columnIds:a}:{}}});if(new Set(f.map(e=>e.id)).size!==f.length)throw TypeError(`DataSurface action ids must be unique`);let p=E(t.limits,`DataSurface limits`);D(p,[`maxQueryRows`,`maxQueryBytes`,`maxSelectionSize`],`DataSurface limits`);let m=j(p.maxQueryRows,`DataSurface maxQueryRows`);if(m>w)throw TypeError(`DataSurface maxQueryRows cannot exceed ${w}`);let h=k(t.rowKey,`DataSurface row key`);if(!o.has(h))throw TypeError(`DataSurface rowKey must name a declared column`);let ee=A(t.description,`DataSurface description`);return{version:1,identity:I(t.identity),schemaVersion:j(t.schemaVersion,`DataSurface schema version`),label:O(t.label,`DataSurface label`),...ee?{description:ee}:{},rowKey:h,columns:n,query:{modes:i,projectableColumnIds:a,...c?{searchableColumnIds:c}:{},...l?{filterableColumnIds:l}:{},...u?{sortableColumnIds:u}:{}},controls:d,actions:f,limits:{maxQueryRows:m,maxQueryBytes:j(p.maxQueryBytes,`DataSurface maxQueryBytes`),maxSelectionSize:j(p.maxSelectionSize,`DataSurface maxSelectionSize`)}}}function nt(e){let t=E(e,`DataSurface snapshot`);if(D(t,[`version`,`descriptor`,`revision`,`state`,`selection`],`DataSurface snapshot`),t.version!==1)throw TypeError(`Unsupported DataSurface snapshot version`);return{version:1,descriptor:tt(t.descriptor),revision:He(t.revision),state:Je(t.state,`DataSurface snapshot state`),selection:t.selection===null||t.selection===void 0?null:et(t.selection)}}function B(e){let t=E(e,`DataSurface visible command`);if(D(t,[`version`,`commandId`,`identity`,`expectedRevision`,`controlId`,`payload`],`DataSurface visible command`),t.version!==1)throw TypeError(`Unsupported DataSurface visible command version`);let n=k(t.commandId,`DataSurface command id`),r=I(t.identity),i=He(t.expectedRevision),a=k(t.controlId,`DataSurface control id`);F(e,`DataSurface visible command`);let o={version:1,commandId:n,identity:r,expectedRevision:i,controlId:a,...t.payload===void 0?{}:{payload:qe(t.payload,`DataSurface command payload`)}};return F(o,`DataSurface visible command`),o}function rt(e){let t=E(e,`DataSurface query request`),n=O(t.kind,`DataSurface query kind`);if(t.version!==1)throw TypeError(`Unsupported DataSurface query request version`);let r=k(t.requestId,`DataSurface query request id`),i=I(t.identity);if(n===`rows`){D(t,[`version`,`requestId`,`identity`,`kind`,`limit`,`cursor`,`projection`],`DataSurface rows query request`),F(e,`DataSurface query request`);let a=j(t.limit,`DataSurface rows query limit`);if(a>w)throw TypeError(`DataSurface rows query limit cannot exceed ${w}`);let o=A(t.cursor,`DataSurface rows query cursor`);if(o&&o.length>Ae)throw TypeError(`DataSurface rows query cursor is too long`);return{version:1,requestId:r,identity:i,kind:n,limit:a,...o?{cursor:o}:{},...t.projection===void 0?{}:{projection:Ye(t.projection,`DataSurface query projection`,{sort:!0})}}}if(n===`count`)return D(t,[`version`,`requestId`,`identity`,`kind`],`DataSurface count query request`),F(e,`DataSurface query request`),{version:1,requestId:r,identity:i,kind:n};if(n===`facets`){D(t,[`version`,`requestId`,`identity`,`kind`,`columnId`,`limit`],`DataSurface facets query request`),F(e,`DataSurface query request`);let a=j(t.limit,`DataSurface facets query limit`);if(a>w)throw TypeError(`DataSurface facets query limit cannot exceed ${w}`);return{version:1,requestId:r,identity:i,kind:n,columnId:k(t.columnId,`DataSurface facets query column id`),limit:a}}throw TypeError(`Unsupported DataSurface query kind: ${n}`)}function it(e){let t=E(e,`DataSurface action request`);if(D(t,[`version`,`requestId`,`identity`,`actionId`,`phase`,`selection`,`payload`,`confirmationToken`],`DataSurface action request`),t.version!==1)throw TypeError(`Unsupported DataSurface action request version`);let n=k(t.requestId,`DataSurface action request id`),r=O(t.phase,`DataSurface action phase`);if(r!==`preview`&&r!==`apply`)throw TypeError(`Unsupported DataSurface action phase: ${r}`);let i=A(t.confirmationToken,`DataSurface confirmation token`),a=I(t.identity),o=k(t.actionId,`DataSurface action id`),s=et(t.selection);F(e,`DataSurface action request`);let c={version:1,requestId:n,identity:a,actionId:o,phase:r,selection:s,...t.payload===void 0?{}:{payload:qe(t.payload,`DataSurface action payload`)},...i?{confirmationToken:i}:{}};return F(c,`DataSurface action request`),c}function at(e,t){return nt({version:1,descriptor:e,revision:t.revision,state:t.state,selection:t.selection??null})}function V(e){return nt(e)}function H(e){return{ok:e.ok,commandId:e.commandId,identity:R(e.identity),...e.revision===void 0?{}:{revision:e.revision},...e.snapshot?{snapshot:V(e.snapshot)}:{},...e.reason?{reason:e.reason}:{}}}function ot(e,t){return L(e)===L(t)}function st(e,t){return U(e)===U(t)}function U(e){return P([e.state,e.selection])}function ct(){let e=new Map,t=new Set,n=0,r=e=>{let t=at(e.descriptor,e.registration.getSnapshot());if(t.revision<e.lastRevision)throw RangeError(`DataSurface revision must be monotonic`);let n=e.registration.redact?nt(e.registration.redact(V(t))):t;if(!ot(n.descriptor.identity,e.descriptor.identity)||n.revision!==t.revision)throw TypeError(`DataSurface redaction cannot change identity or revision`);let r=U(t),i=U(n);return e.lastSnapshotContentSignature!==void 0&&t.revision===e.lastRevision&&(e.lastSnapshotContentSignature!==r||e.lastExposedSnapshotContentSignature!==i)&&(e.commandBlockedAtRevision=t.revision),e.lastRevision=t.revision,e.lastSnapshotContentSignature=r,e.lastExposedSnapshotContentSignature=i,{raw:t,exposed:n}},i=(e,r,i,a,o)=>{let s={type:e,sequence:++n,identity:R(r.descriptor.identity),revision:i,...a?{command:B(a)}:{},...o?{result:H(o)}:{}};for(let e of t)try{e({...s,identity:R(s.identity),...s.command?{command:B(s.command)}:{},...s.result?{result:H(s.result)}:{}})}catch{}},a=(e,t,n)=>{for(e.replay.set(t.commandId,{signature:P(t),result:H(n)});e.replay.size>100;){let t=e.replay.keys().next().value;if(t===void 0)break;e.replay.delete(t)}return i(`command`,e,n.revision??e.lastRevision,t,n),H(n)},o=t=>e.get(L(t)),s=async(e,t)=>{let n=e.commandQueue,r;e.commandQueue=new Promise(e=>{r=e}),await n;try{return await t()}finally{r()}};return{register(t){let n=tt(t.descriptor),a=L(n.identity);if(e.has(a))throw Error(`DataSurface identity is already registered: ${a}`);let o={key:a,descriptor:n,registration:t,lastRevision:-1,replay:new Map,commandQueue:Promise.resolve()};e.set(a,o);try{let e=r(o);i(`registered`,o,e.exposed.revision)}catch(t){throw e.delete(a),t}return()=>{e.get(a)===o&&(e.delete(a),i(`unregistered`,o,Math.max(0,o.lastRevision)))}},unregister(t){let n=I(t),r=e.get(L(n));r&&(e.delete(r.key),i(`unregistered`,r,Math.max(0,r.lastRevision)))},list(){return[...e.values()].sort((e,t)=>e.key.localeCompare(t.key)).map(e=>tt(e.descriptor))},inspect(t){let n=I(t),i=e.get(L(n));return i?V(r(i).exposed):void 0},async execute(t){let n=B(t),o=e.get(L(n.identity)),c=()=>({ok:!1,commandId:n.commandId,identity:R(n.identity),reason:`not_found`});return o?s(o,async()=>{if(e.get(o.key)!==o)return c();let t=P(n),s=o.replay.get(n.commandId);if(s){if(s.signature===t)return o.replay.delete(n.commandId),o.replay.set(n.commandId,s),H(s.result);let e=r(o).exposed,a={ok:!1,commandId:n.commandId,identity:R(o.descriptor.identity),revision:e.revision,snapshot:e,reason:`idempotency_conflict`};return i(`command`,o,e.revision,n,a),H(a)}let l=r(o);if(o.commandBlockedAtRevision!==void 0&&l.raw.revision<=o.commandBlockedAtRevision)return a(o,n,{ok:!1,commandId:n.commandId,identity:R(o.descriptor.identity),revision:l.exposed.revision,snapshot:l.exposed,reason:`non_monotonic_revision`});if(o.commandBlockedAtRevision=void 0,l.raw.revision!==n.expectedRevision)return a(o,n,{ok:!1,commandId:n.commandId,identity:R(o.descriptor.identity),revision:l.exposed.revision,snapshot:l.exposed,reason:`stale_revision`});if(!o.descriptor.controls.some(e=>e.id===n.controlId)||!o.registration.execute)return a(o,n,{ok:!1,commandId:n.commandId,identity:R(o.descriptor.identity),revision:l.exposed.revision,snapshot:l.exposed,reason:`unsupported`});try{let t=await o.registration.execute(B(n));if(e.get(o.key)!==o)return c();let i=r(o);return st(l.raw,i.raw)===!1&&i.raw.revision<=l.raw.revision?(o.commandBlockedAtRevision=i.raw.revision,a(o,n,{ok:!1,commandId:n.commandId,identity:R(o.descriptor.identity),revision:i.exposed.revision,snapshot:i.exposed,reason:`non_monotonic_revision`})):t&&t.ok===!1?a(o,n,{ok:!1,commandId:n.commandId,identity:R(o.descriptor.identity),revision:i.exposed.revision,snapshot:i.exposed,reason:`denied`}):a(o,n,{ok:!0,commandId:n.commandId,identity:R(o.descriptor.identity),revision:i.exposed.revision,snapshot:i.exposed})}catch{if(e.get(o.key)!==o)return c();let t;try{t=r(o)}catch{}return t&&st(l.raw,t.raw)===!1&&t.raw.revision<=l.raw.revision?(o.commandBlockedAtRevision=t.raw.revision,a(o,n,{ok:!1,commandId:n.commandId,identity:R(o.descriptor.identity),revision:t.exposed.revision,snapshot:t.exposed,reason:`non_monotonic_revision`})):a(o,n,{ok:!1,commandId:n.commandId,identity:R(o.descriptor.identity),...t?{revision:t.exposed.revision,snapshot:t.exposed}:{},reason:`execution_failed`})}}):c()},validateQuery(e){try{let t=rt(e),n=o(t.identity);return n?n.descriptor.query.modes.includes(t.kind)?Ke(t)>n.descriptor.limits.maxQueryBytes||`limit`in t&&t.limit>n.descriptor.limits.maxQueryRows?{ok:!1,reason:`limit_exceeded`}:t.kind===`rows`&&t.projection&&t.projection.some(e=>!n.descriptor.query.projectableColumnIds.includes(e))||t.kind===`facets`&&!n.descriptor.query.projectableColumnIds.includes(t.columnId)?{ok:!1,reason:`projection_not_allowed`}:{ok:!0}:{ok:!1,reason:`unsupported`}:{ok:!1,reason:`not_found`}}catch{return{ok:!1,reason:`invalid_request`}}},validateAction(e){try{let t=it(e),n=o(t.identity);if(!n)return{ok:!1,reason:`not_found`};let r=n.descriptor.actions.find(e=>e.id===t.actionId);return r?r.selectionScopes.includes(t.selection.scope)?t.selection.scope===`explicit-ids`&&t.selection.rowIds.length>n.descriptor.limits.maxSelectionSize?{ok:!1,reason:`limit_exceeded`}:t.phase===`apply`&&r.requiresConfirmation!==!1&&!t.confirmationToken?{ok:!1,reason:`confirmation_required`}:{ok:!0}:{ok:!1,reason:`selection_not_supported`}:{ok:!1,reason:`unsupported`}}catch{return{ok:!1,reason:`invalid_request`}}},subscribe(e){return t.add(e),()=>t.delete(e)}}}function lt(){let e=ut();return{stt:ft(e),tts:pt(e),llm:mt(e),browser:e}}function ut(){return typeof window>`u`?{sharedArrayBuffer:!1,webWorkers:!1,indexedDB:!1,wasmSupport:!1,wasmSimd:!1}:{sharedArrayBuffer:typeof SharedArrayBuffer<`u`,webWorkers:typeof Worker<`u`,indexedDB:typeof indexedDB<`u`,wasmSupport:typeof WebAssembly<`u`,wasmSimd:dt()}}function dt(){if(typeof WebAssembly>`u`)return!1;try{let e=new Uint8Array([0,97,115,109,1,0,0,0,1,5,1,96,0,1,123,3,2,1,0,10,10,1,8,0,253,12,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,11]);return WebAssembly.validate(e)}catch{return!1}}function ft(e){return{browserSpeechAPI:typeof window<`u`&&(`SpeechRecognition`in window||`webkitSpeechRecognition`in window),whisperWasm:e.wasmSupport}}function pt(e){return{browserSynthesisAPI:typeof window<`u`&&`speechSynthesis`in window,transformersTTS:e.wasmSupport}}function mt(e){let t=typeof window<`u`&&`gpu`in navigator;return{webllm:t||e.wasmSupport,transformersLLM:e.wasmSupport,webgpu:t}}function ht(e){return e.stt.browserSpeechAPI||e.stt.whisperWasm}function gt(e){return e.tts.browserSynthesisAPI||e.tts.transformersTTS}function _t(e){return e.llm.webllm||e.llm.transformersLLM}function vt(e){return ht(e)||gt(e)||_t(e)}function yt(){return{mode:`default`,modeSource:`auto`,session:{user:null,isAuthenticated:!1,permissions:[],preferences:{}},capabilities:null,ai:{stt:{adapter:null,initState:`uninitialized`,downloadProgress:null,isListening:!1,lastResult:``,interimResult:``,error:null},tts:{adapter:null,initState:`uninitialized`,downloadProgress:null,isSpeaking:!1,isPaused:!1,error:null},llm:{adapter:null,initState:`uninitialized`,downloadProgress:null,currentModel:null,isGenerating:!1,error:null}},aiLoading:{phase:`idle`,currentAdapter:null,overallProgress:0,message:``,loaded:[],failed:[],error:null},socket:{status:`disconnected`,reconnectAttempts:0,lastError:null},error:null,initialized:!1}}var W=new Map,bt=new Map,xt=new Map;function St(e){return W.get(e)}function Ct(e,t,n=`ready`,r=null){W.set(e,{adapter:t,cachedAt:Date.now(),initState:n,downloadProgress:null,error:r,type:e})}function wt(e,t){let n=W.get(e);n&&Object.assign(n,t)}function Tt(e){return bt.get(e)}function Et(e,t,n=`ready`,r=null){bt.set(e,{adapter:t,cachedAt:Date.now(),initState:n,downloadProgress:null,error:r,type:e})}function Dt(e,t){let n=bt.get(e);n&&Object.assign(n,t)}function Ot(e,t){let n=t?`${e}:${t}`:e;return xt.get(n)}function kt(e,t,n,r=`ready`,i=null){let a=n?`${e}:${n}`:e;xt.set(a,{adapter:t,cachedAt:Date.now(),initState:r,downloadProgress:null,error:i,type:e})}function G(e,t,n){let r=t?`${e}:${t}`:e,i=xt.get(r);i&&Object.assign(i,n)}var K=new WeakMap,q=new WeakMap;function At(e,t){if(e===t)return!0;try{return JSON.stringify(e)===JSON.stringify(t)}catch{return!1}}var jt=class{#e=g(p(yt()));get _state(){return c(this.#e)}set _state(e){f(this.#e,e,!0)}options;_aiConfig=null;_preloadScheduled=!1;_idleCallbackId=null;_preloadInFlight=!1;_socket=null;_socketConfig=null;_reconnectTimeout=null;_sttSubscriptions=new Map;_ttsSubscriptions=new Map;constructor(e={}){this.options=e,this._aiConfig=e.ai??null}get socketConfig(){return this._socketConfig}get state(){return this._state}get aiConfig(){return this._aiConfig}get aiLoading(){return this._state.aiLoading}async initialize(){if(this._state.initialized)return;if(typeof window>`u`){this._state.initialized=!0;return}let e=lt();this._state.capabilities=e,this.options.onCapabilitiesDetected?.(e),this.options.session&&(this._state.session={...this._state.session,...this.options.session}),this.options.initialMode?(this._state.mode=this.options.initialMode,this._state.modeSource=`explicit`):(this._state.session.preferences.autoEnableSmrt??!1)&&vt(e)&&(this._state.mode=`smrt`,this._state.modeSource=`auto`),this._state.initialized=!0,this.schedulePreload()}setAIConfig(e){if(this._aiConfig&&At(this._aiConfig,e)){this._aiConfig=e;return}this._aiConfig=e,this._idleCallbackId!==null&&typeof cancelIdleCallback<`u`&&(cancelIdleCallback(this._idleCallbackId),this._idleCallbackId=null),this._preloadScheduled=!1,this.schedulePreload()}schedulePreload(){if(!this._aiConfig||this._preloadScheduled)return;let e=this._aiConfig.preload??`idle`;if(e!==`none`){if(e===`eager`){this._preloadScheduled=!0,this.executePreload();return}if(e===`idle`){this._preloadScheduled=!0,typeof requestIdleCallback<`u`?this._idleCallbackId=requestIdleCallback(()=>this.executePreload(),{timeout:5e3}):setTimeout(()=>this.executePreload(),100);return}}}triggerPreload(){this._aiConfig&&!this._preloadScheduled&&this._aiConfig.preload===`on-visible`&&(this._preloadScheduled=!0,this.executePreload())}async executePreload(){if(this._aiConfig&&!this._preloadInFlight){this._preloadInFlight=!0;try{await this.runPreload()}finally{this._preloadInFlight=!1}}}async runPreload(){if(!this._aiConfig)return;let e=[];if(this._aiConfig.stt?.enabled!==!1&&this._aiConfig.stt?.type&&e.push(`stt:${this._aiConfig.stt.type}`),this._aiConfig.tts?.enabled!==!1&&this._aiConfig.tts?.type&&e.push(`tts:${this._aiConfig.tts.type}`),this._aiConfig.llm?.enabled!==!1&&this._aiConfig.llm?.type){let t=this._aiConfig.llm.model?`${this._aiConfig.llm.type}:${this._aiConfig.llm.model}`:this._aiConfig.llm.type;e.push(`llm:${t}`)}if(e.length===0){this.updateLoadingState({phase:`idle`,loaded:[],failed:[]});return}this.updateLoadingState({phase:`checking`,message:`Checking AI capabilities...`,loaded:[],failed:[]});for(let t of e){let[e,n]=t.split(`:`);this.updateLoadingState({phase:`downloading`,currentAdapter:n,message:`Loading ${n}...`});try{if(e===`stt`){let e=this._aiConfig.stt;await this.initializeSTT({type:n,allowLocalModels:e?.allowLocalModels})}else if(e===`tts`)await this.initializeTTS({type:n});else if(e===`llm`){let e=this._aiConfig.llm;e&&await this.initializeLLM(e.model,{type:e.type})}this.updateLoadingState({loaded:[...this._state.aiLoading.loaded,n]})}catch(e){console.error(`Failed to preload ${n}:`,e),this.updateLoadingState({failed:[...this._state.aiLoading.failed,n]})}}let t=this._state.aiLoading.failed.length>0;this._state.aiLoading.loaded.length===e.length?this.updateLoadingState({phase:`ready`,currentAdapter:null,overallProgress:100,message:`AI ready`}):t&&this._state.aiLoading.loaded.length===0?this.updateLoadingState({phase:`error`,currentAdapter:null,message:`Failed to load AI models`,error:Error(`All AI adapters failed to load`)}):this.updateLoadingState({phase:`ready`,currentAdapter:null,message:`Loaded with ${this._state.aiLoading.failed.length} failure(s)`}),this.options.onAILoadingChange?.(this._state.aiLoading)}updateLoadingState(e){this._state.aiLoading={...this._state.aiLoading,...e}}setMode(e,t=`toggled`){this._state.mode!==e&&(this._state.mode=e,this._state.modeSource=t,this.options.onModeChange?.(e,t),e===`smrt`&&this.initializeSTT({type:`whisper-cpp`,allowLocalModels:this._aiConfig?.stt?.allowLocalModels}).catch(()=>{}))}toggleMode(){let e=this._state.mode==="default"?`smrt`:`default`;this.setMode(e,`toggled`)}updateSession(e){this._state.session={...this._state.session,...e}}setPermissions(e){this._state.session.permissions=e}hasPermission(e){return this._state.session.permissions.includes(e)}hasAllPermissions(e){return e.every(e=>this._state.session.permissions.includes(e))}hasAnyPermission(e){return e.some(e=>this._state.session.permissions.includes(e))}setUser(e,t=[]){this._state.session.user=e,this._state.session.isAuthenticated=e!==null,this._state.session.permissions=t}connectSocket(e){this.disconnectSocket(),this._socketConfig=e,this._state.socket.status=`connecting`,this._state.socket.lastError=null;try{this._socket=new WebSocket(e.url),this._socket.onopen=()=>{this._state.socket.status=`connected`,this._state.socket.reconnectAttempts=0,e.onOpen?.()},this._socket.onmessage=t=>{try{let n=JSON.parse(t.data);e.onMessage?.(n)}catch{e.onMessage?.(t.data)}},this._socket.onclose=t=>{this._state.socket.status=`disconnected`,e.onClose?.(t),!t.wasClean&&e.reconnect?.enabled!==!1&&this.scheduleReconnect()},this._socket.onerror=t=>{this._state.socket.lastError=t,e.onError?.(t)}}catch(e){this._state.socket.status=`disconnected`,this._state.socket.lastError=e}}disconnectSocket(){this._reconnectTimeout&&=(clearTimeout(this._reconnectTimeout),null),this._socket&&=(this._socket.close(),null),this._state.socket.status=`disconnected`}sendMessage(e){this._socket?.readyState===WebSocket.OPEN?this._socket.send(JSON.stringify(e)):console.warn(`[Socket] Cannot send message - socket not connected`)}scheduleReconnect(){if(!this._socketConfig)return;let{reconnect:e}=this._socketConfig,t=e?.maxAttempts??5,n=e?.baseDelay??1e3;if(this._state.socket.reconnectAttempts>=t){console.warn(`[Socket] Max reconnection attempts reached`);return}this._state.socket.status=`reconnecting`,this._state.socket.reconnectAttempts++;let r=Math.min(n*2**(this._state.socket.reconnectAttempts-1),3e4);console.log(`[Socket] Reconnecting in ${r}ms (attempt ${this._state.socket.reconnectAttempts}/${t})`),this._reconnectTimeout=setTimeout(()=>{this._socketConfig&&this.connectSocket(this._socketConfig)},r)}async initializeSTT(e){let t=e?.type??`browser-speech`,n=St(t);if(n&&n.initState===`ready`)return this._state.ai.stt.adapter=n.adapter,this._state.ai.stt.initState=`ready`,this._state.ai.stt.error=null,this.subscribeToSTTEvents(n.adapter),n.adapter;let r=this._state.ai.stt.adapter;if(r&&this._state.ai.stt.initState===`ready`){if(r.type===t)return r;console.log(`[STT] Switching adapter from ${r.type} to ${t}`),await r.dispose?.()}this._state.ai.stt.initState=`initializing`,this._state.ai.stt.error=null,wt(t,{initState:`initializing`});let i=e=>{this._state.ai.stt.downloadProgress=e,wt(t,{downloadProgress:e}),e.percent>0&&this.updateLoadingState({overallProgress:e.percent})};try{let{getSTT:n}=await v(async()=>{let{getSTT:e}=await import(`./D333l2GL.js`).then(e=>e.t);return{getSTT:e}},__vite__mapDeps([0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29]),import.meta.url),r=await n(e);return await r.ensureInitialized(i),Ct(t,r,`ready`),this._state.ai.stt.adapter=r,this._state.ai.stt.initState=`ready`,this._state.ai.stt.downloadProgress=null,this.subscribeToSTTEvents(r),r}catch(e){let n=e instanceof Error?e:Error(String(e));throw this._state.ai.stt.initState=`error`,this._state.ai.stt.error=n,wt(t,{initState:`error`,error:n}),e}}subscribeToSTTEvents(e){if(this._sttSubscriptions.has(e))return;K.get(e)?.();let t=[e.onResult(e=>{if(e.isFinal){let t=this._state.ai.stt.lastResult;t?this._state.ai.stt.lastResult=`${t} ${e.text}`:this._state.ai.stt.lastResult=e.text,this._state.ai.stt.interimResult=``}else this._state.ai.stt.interimResult=e.text}),e.onStart(()=>{this._state.ai.stt.isListening=!0}),e.onEnd(()=>{this._state.ai.stt.isListening=!1}),e.onError(e=>{this._state.ai.stt.error=e})],n=()=>{for(let e of t)e();this._sttSubscriptions.delete(e),K.get(e)===n&&K.delete(e)};this._sttSubscriptions.set(e,n),K.set(e,n)}async startListening(e){let t=await this.initializeSTT();this._state.ai.stt.lastResult=``,this._state.ai.stt.interimResult=``,await t.start(e)}async stopListening(){await this._state.ai.stt.adapter?.stop(),this._state.ai.stt.interimResult=``}async initializeTTS(e){let t=e?.type??`browser-synthesis`,n=Tt(t);if(n&&n.initState===`ready`)return this._state.ai.tts.adapter=n.adapter,this._state.ai.tts.initState=`ready`,this._state.ai.tts.error=null,this.subscribeToTTSEvents(n.adapter),n.adapter;if(this._state.ai.tts.adapter&&this._state.ai.tts.initState===`ready`)return this._state.ai.tts.adapter;this._state.ai.tts.initState=`initializing`,this._state.ai.tts.error=null,Dt(t,{initState:`initializing`});let r=e=>{this._state.ai.tts.downloadProgress=e,Dt(t,{downloadProgress:e})};try{let{getTTS:n}=await v(async()=>{let{getTTS:e}=await import(`./D333l2GL.js`).then(e=>e.t);return{getTTS:e}},__vite__mapDeps([0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29]),import.meta.url),i=await n(e);return await i.ensureInitialized(r),Et(t,i,`ready`),this._state.ai.tts.adapter=i,this._state.ai.tts.initState=`ready`,this._state.ai.tts.downloadProgress=null,this.subscribeToTTSEvents(i),i}catch(e){let n=e instanceof Error?e:Error(String(e));throw this._state.ai.tts.initState=`error`,this._state.ai.tts.error=n,Dt(t,{initState:`error`,error:n}),e}}subscribeToTTSEvents(e){if(this._ttsSubscriptions.has(e))return;q.get(e)?.();let t=[e.onStart(()=>{this._state.ai.tts.isSpeaking=!0,this._state.ai.tts.isPaused=!1}),e.onEnd(()=>{this._state.ai.tts.isSpeaking=!1,this._state.ai.tts.isPaused=!1}),e.onError(e=>{this._state.ai.tts.error=e,this._state.ai.tts.isSpeaking=!1})],n=()=>{for(let e of t)e();this._ttsSubscriptions.delete(e),q.get(e)===n&&q.delete(e)};this._ttsSubscriptions.set(e,n),q.set(e,n)}async speak(e,t){await(await this.initializeTTS()).speak(e,t)}stopSpeaking(){this._state.ai.tts.adapter?.stop()}pauseSpeaking(){this._state.ai.tts.adapter?.pause(),this._state.ai.tts.isSpeaking&&(this._state.ai.tts.isPaused=!0)}resumeSpeaking(){this._state.ai.tts.adapter?.resume(),this._state.ai.tts.isPaused&&(this._state.ai.tts.isPaused=!1)}getTTSVoices(){return this._state.ai.tts.adapter?.getVoices()??[]}async initializeLLM(e,t){let n=t?.type??`webllm`,r=Ot(n,e);if(r&&r.initState===`ready`)return this._state.ai.llm.adapter=r.adapter,this._state.ai.llm.initState=`ready`,this._state.ai.llm.currentModel=r.adapter.currentModel,this._state.ai.llm.error=null,r.adapter;if(this._state.ai.llm.adapter&&this._state.ai.llm.initState===`ready`&&(!e||this._state.ai.llm.currentModel===e))return this._state.ai.llm.adapter;this._state.ai.llm.initState=`initializing`,this._state.ai.llm.error=null,G(n,e,{initState:`initializing`});let i=t=>{this._state.ai.llm.downloadProgress=t,G(n,e,{downloadProgress:t}),t.percent>0&&this.updateLoadingState({overallProgress:t.percent})};try{let{getLLM:r}=await v(async()=>{let{getLLM:e}=await import(`./D333l2GL.js`).then(e=>e.t);return{getLLM:e}},__vite__mapDeps([0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29]),import.meta.url),a=await r(t);return await a.ensureInitialized(e,i),kt(n,a,e,`ready`),this._state.ai.llm.adapter=a,this._state.ai.llm.initState=`ready`,this._state.ai.llm.currentModel=a.currentModel,this._state.ai.llm.downloadProgress=null,a}catch(t){let r=t instanceof Error?t:Error(String(t));throw this._state.ai.llm.initState=`error`,this._state.ai.llm.error=r,G(n,e,{initState:`error`,error:r}),t}}async chat(e,t){let n=await this.initializeLLM();this._state.ai.llm.isGenerating=!0;try{return await n.message(e,{systemPrompt:t?.systemPrompt,onToken:t?.onToken})}finally{this._state.ai.llm.isGenerating=!1}}async unloadLLM(){let e=this._state.ai.llm.adapter,t=e?.currentModel??void 0;await e?.unloadModel(),e&&G(e.type,t,{initState:`uninitialized`,downloadProgress:null,error:null}),this._state.ai.llm.adapter=null,this._state.ai.llm.initState=`uninitialized`,this._state.ai.llm.currentModel=null}unsubscribeAllAdapterEvents(){for(let e of[...this._sttSubscriptions.values()])e();for(let e of[...this._ttsSubscriptions.values()])e();this._sttSubscriptions.clear(),this._ttsSubscriptions.clear()}async dispose(){this._idleCallbackId!==null&&typeof cancelIdleCallback<`u`&&(cancelIdleCallback(this._idleCallbackId),this._idleCallbackId=null),this._preloadInFlight=!1,this.disconnectSocket(),this.unsubscribeAllAdapterEvents();let e=this._state.ai.stt.adapter;e&&!St(e.type)&&await e.dispose?.();let t=this._state.ai.tts.adapter;t&&!Tt(t.type)&&await t.dispose?.();let n=this._state.ai.llm.adapter;n&&!Ot(n.type,n.currentModel??void 0)&&await n.dispose?.(),this._state=yt()}get isAIReady(){return this._state.aiLoading.phase===`ready`||this._state.aiLoading.phase===`idle`}get isAILoading(){return this._state.aiLoading.phase===`checking`||this._state.aiLoading.phase===`downloading`||this._state.aiLoading.phase===`initializing`}};function Mt(e){return new jt(e)}var Nt=new Set([`focus`,`reveal`,`highlight`,`explain`,`validate`,`stage`,`apply`,`clear`,`undo`]),Pt=`smrt_ui_`,Ft=/^[A-Za-z][A-Za-z0-9_-]{0,63}$/,It=new Set([`invalid_request`,`invalid_identifier`,`limit_exceeded`,`not_found`]),Lt=new Set([`not_found`,`consent_required`,`human_confirmation_required`,`sensitive_control`,`control_not_writable`,`control_not_editable`,`nothing_to_undo`,`denied`]),Rt=new WeakMap,zt=class extends Error{reason;details;constructor(e,t){super(e),this.reason=e,this.details=t}};function J(e,t){return new zt(e,t)}function Bt(e){return JSON.stringify({ok:!0,result:e})}function Vt(e,t){return JSON.stringify({ok:!1,reason:e,...t?{details:t}:{}})}function Ht(e){return new TextEncoder().encode(JSON.stringify(e)).byteLength}function Y(e){if(Ht(e)>1e5)throw J(`limit_exceeded`)}function X(e,t,n=256){if(typeof e!=`string`||e.length===0||e.length>n||Array.from(e).some(e=>{let t=e.charCodeAt(0);return t<32||t===127}))throw J(`invalid_identifier`,t);return e}function Ut(e,t){return e===void 0?void 0:X(e,t)}function Z(e){if(!e||typeof e!=`object`||Array.isArray(e))throw J(`invalid_request`);return e}function Wt(e){let t=Z(e),n=t.subject,r=n===void 0?void 0:(()=>{let e=Z(n);return{type:X(e.type,`subject.type`),id:X(e.id,`subject.id`),...e.label===void 0?{}:{label:X(e.label,`subject.label`)}}})();return{formId:X(t.formId,`formId`),controlId:X(t.controlId,`controlId`),...r?{subject:r}:{}}}function Gt(e){let t=Z(e),n=t.kind;if(![`table`,`list`,`report`,`custom`].includes(String(n)))throw J(`invalid_request`,`identity.kind`);let r=t.subject,i=r===void 0?void 0:(()=>{let e=Z(r);return{type:X(e.type,`subject.type`),id:X(e.id,`subject.id`),...e.label===void 0?{}:{label:X(e.label,`subject.label`)}}})();return{surfaceId:X(t.surfaceId,`surfaceId`),kind:n,...i?{subject:i}:{}}}function Kt(e){let t=e.metadata.sensitivity===`sensitive`||e.metadata.sensitivity===`secret`,n=t||e.state.valueRedacted,r=t||e.state.stagedValueRedacted||e.state.staged?.valueRedacted===!0,i=e.state.staged?{...e.state.staged,...r?{value:void 0,valueRedacted:!0}:{},validationMessage:void 0}:void 0;return{...e,identity:{...e.identity},metadata:{...e.metadata,constraints:e.metadata.constraints?{...e.metadata.constraints}:void 0,options:e.metadata.options?.map(e=>({...e}))},state:{...e.state,...n?{value:void 0,valueRedacted:!0}:{},...r?{stagedValue:void 0,stagedValueRedacted:!0}:{},...i?{staged:i}:{},validationMessage:void 0}}}function qt(e){let t=e.reason?Lt.has(e.reason)?e.reason:`execution_failed`:void 0;return{ok:e.ok,action:e.action,identity:{...e.identity},...t?{reason:t}:{},...e.snapshot?{snapshot:Kt(e.snapshot)}:{}}}function Jt(e,t,n,r){if(Array.isArray(e))return e.filter(e=>r!==`columnOrder`||typeof e!=`string`||!t.has(e)).map(e=>Jt(e,t,n,r)).filter(e=>e!==void 0);if(!e||typeof e!=`object`)return e;let i=e;if(!(typeof i.columnId==`string`&&t.has(i.columnId)))return Object.fromEntries(Object.entries(i).flatMap(([e,r])=>{if(t.has(e)||n&&(e===`selection`||e===`selectedRowIds`||e===`expandedRowIds`))return[];let i=Jt(r,t,n,e);return i===void 0?[]:[[e,i]]}))}function Yt(e){let t=e.columns.filter(e=>e.visibility!==`hidden`),n=new Set(t.map(e=>e.id)),{rowKey:r,...i}=e;return{...i,identity:{...e.identity},...n.has(r)?{rowKey:r}:{},columns:t,query:{...e.query,projectableColumnIds:e.query.projectableColumnIds.filter(e=>n.has(e)),searchableColumnIds:e.query.searchableColumnIds?.filter(e=>n.has(e)),filterableColumnIds:e.query.filterableColumnIds?.filter(e=>n.has(e)),sortableColumnIds:e.query.sortableColumnIds?.filter(e=>n.has(e))},actions:e.actions.filter(e=>(e.columnIds??[]).every(e=>n.has(e)))}}function Xt(e){let t=new Set(e.descriptor.columns.filter(e=>e.visibility===`hidden`).map(e=>e.id)),n=t.has(e.descriptor.rowKey),r=Jt(e.state,t,n);return{...e,descriptor:Yt(e.descriptor),state:r,selection:n?null:e.selection}}function Q(e){return Promise.resolve().then(e).then(Bt).catch(e=>e instanceof zt&&It.has(e.reason)?Vt(e.reason,e.details):Vt(`execution_failed`))}function $(e,t,n,r){return{name:e,description:t,inputSchema:n,annotations:{readOnlyHint:!0,untrustedContentHint:!0},execute:r}}function Zt(e,t,n){let r={type:`object`,required:[`formId`,`controlId`],additionalProperties:!1,properties:{formId:{type:`string`,minLength:1,maxLength:256},controlId:{type:`string`,minLength:1,maxLength:256},subject:{type:`object`}}},i={type:`object`,required:[`surfaceId`,`kind`],additionalProperties:!1,properties:{surfaceId:{type:`string`,minLength:1,maxLength:256},kind:{type:`string`,enum:[`table`,`list`,`report`,`custom`]},subject:{type:`object`}}};return[$(`${e}list_form_controls`,`List the controls currently mounted in SMRT forms.`,{type:`object`,additionalProperties:!1,properties:{formId:{type:`string`,minLength:1,maxLength:256}}},e=>Q(()=>{Y(e);let n=Ut(Z(e).formId,`formId`);return t.list(n).map(Kt)})),$(`${e}inspect_form_control`,`Inspect one currently mounted SMRT form control.`,{type:`object`,required:[`identity`],additionalProperties:!1,properties:{identity:r}},e=>Q(()=>{Y(e);let n=Z(e),r=t.get(Wt(n.identity));if(!r)throw J(`not_found`);return Kt(r)})),{name:`${e}execute_form_control`,description:"Execute an allowed command on a mounted SMRT form control. Agent mutations are consent-gated. An agent never moves keyboard focus: `focus` scrolls the control into view and highlights it.",inputSchema:{type:`object`,required:[`action`,`identity`],additionalProperties:!1,properties:{action:{type:`string`,enum:[...Nt]},identity:r,value:{},durationMs:{type:`number`,minimum:0,maximum:6e4}}},annotations:{readOnlyHint:!1,untrustedContentHint:!0},execute:e=>Q(async()=>{Y(e);let n=Z(e);if(`confirmed`in n)throw J(`invalid_request`,`confirmed`);if(!Nt.has(n.action))throw J(`invalid_request`,`action`);let r=n.action,i=Wt(n.identity),a;if(r===`stage`){if(!(`value`in n))throw J(`invalid_request`,`value`);a={action:r,identity:i,value:n.value}}else if(r===`apply`)a=`value`in n?{action:r,identity:i,value:n.value}:{action:r,identity:i};else if(r===`highlight`){if(n.durationMs!==void 0&&(typeof n.durationMs!=`number`||n.durationMs<0||n.durationMs>6e4))throw J(`invalid_request`,`durationMs`);a={action:r,identity:i,durationMs:n.durationMs}}else a={action:r,identity:i};return qt(await t.execute(a,{source:`agent`}))})},$(`${e}list_data_surfaces`,`List the data surfaces currently mounted in this SMRT Provider.`,{type:`object`,additionalProperties:!1,properties:{}},e=>Q(()=>(Y(e),Z(e),n.list().map(Yt)))),$(`${e}inspect_data_surface`,`Inspect one currently mounted SMRT data surface.`,{type:`object`,required:[`identity`],additionalProperties:!1,properties:{identity:i}},e=>Q(()=>{Y(e);let t=Z(e),r=n.inspect(Gt(t.identity));if(!r)throw J(`not_found`);return Xt(r)})),{name:`${e}execute_data_surface_control`,description:`Execute a bounded visible-state command on a mounted SMRT data surface.`,inputSchema:{type:`object`,required:[`version`,`commandId`,`identity`,`expectedRevision`,`controlId`],additionalProperties:!1,properties:{version:{type:`number`,const:1},commandId:{type:`string`,minLength:1,maxLength:256},identity:i,expectedRevision:{type:`number`,minimum:0},controlId:{type:`string`,minLength:1,maxLength:256},payload:{}}},annotations:{readOnlyHint:!1,untrustedContentHint:!0},execute:e=>Q(async()=>{Y(e);let t=Z(e);if(t.version!==1)throw J(`invalid_request`,`version`);if(typeof t.expectedRevision!=`number`||!Number.isSafeInteger(t.expectedRevision)||t.expectedRevision<0)throw J(`invalid_request`,`expectedRevision`);let r={version:1,commandId:X(t.commandId,`commandId`),identity:Gt(t.identity),expectedRevision:t.expectedRevision,controlId:X(t.controlId,`controlId`),...`payload`in t?{payload:t.payload}:{}},i=await n.execute(r);return i.snapshot?{...i,snapshot:Xt(i.snapshot)}:i})}]}function Qt(e){let t=e.prefix??Pt;if(!Ft.test(t))throw TypeError(`Invalid WebMCP UI tool prefix`);let n=e.document??globalThis.document,r=n?.modelContext;if(!r||typeof r.registerTool!=`function`)return()=>{};let i=Rt.get(n),a;if(i&&i.modelContext===r?a=i.prefixes:(a=new Set,Rt.set(n,{modelContext:r,prefixes:a})),a.has(t))throw Error(`WebMCP UI prefix is already registered: ${t}`);a.add(t);let o=Zt(t,e.controlRegistry,e.dataSurfaceRegistry),s;try{s=be(o.map(e=>e.name),`ui`,{document:n})}catch(e){throw a.delete(t),e}let c=new AbortController,l=!1,u=()=>{l||(l=!0,c.abort(),a.delete(t),s.release())};try{for(let e of o){let t=Object.assign({[Se]:e.annotations?.readOnlyHint?`read`:`write`},e,{execute:xe(e.execute)}),n=r.registerTool(t,{signal:c.signal});n&&Promise.resolve(n).catch(u)}}catch(e){throw u(),e}return u}var $t=o(`<!> <!>`,1);function en(o,f){e(f,!0);let p=l(f,`autoEnableSmrt`,3,!1),g=l(f,`user`,3,null),ie=l(f,`permissions`,19,()=>[]),ae=_(()=>f.ai?.showLoadingOverlay??!0),y=d(()=>Mt({initialMode:f.mode,session:{preferences:{autoEnableSmrt:p()}},onCapabilitiesDetected:()=>{f.onReady?.()},onModeChange:e=>{f.onModeChange?.(e)},onAILoadingChange:e=>{f.onAILoadingChange?.(e)}})),oe=se(),ce=ct(),b=_(()=>typeof f.webmcp==`object`?f.webmcp:void 0),x=_(()=>f.webmcp===!0?{}:typeof c(b)?.ui==`object`?c(b).ui:void 0),le=_(()=>c(x)?.controlRegistry??oe),ue=_(()=>c(x)?.dataSurfaceRegistry??ce);he({get enabled(){return c(x)!==void 0},get controlRegistry(){return c(le)},get dataSurfaceRegistry(){return c(ue)}}),ye({get effects(){return c(b)?.effects}}),h(()=>{let e=d(()=>y.state.session.preferences);e.autoEnableSmrt!==p()&&y.updateSession({preferences:{...e,autoEnableSmrt:p()}})}),h(()=>{if(typeof window<`u`&&f.webmcp&&c(x))try{return Qt({controlRegistry:c(le),dataSurfaceRegistry:c(ue),...c(x).prefix?{prefix:c(x).prefix}:{}})}catch(e){C.warn(`Provider: WebMCP UI tool registration rejected`,{error:e})}}),h(()=>{if(typeof window>`u`||!f.webmcp)return;let e=typeof f.webmcp==`object`?f.webmcp:{},t=!1,n=()=>{};return v(async()=>{let{registerWebMcpTools:e}=await import(`./B32EWqI8.js`).then(e=>e.t);return{registerWebMcpTools:e}},__vite__mapDeps([30,1,31]),import.meta.url).then(({registerWebMcpTools:r})=>{if(t)return;let i=r(e.definitions??[],{client:e.client,basePath:e.basePath,fetchFn:e.fetchFn,scope:e.scope,filter:e.filter,filterTool:e.filterTool,resolveFetchers:e.resolveFetchers,resolveToolFetchers:e.resolveToolFetchers,effects:e.effects,namespace:e.namespace,maxTools:e.maxTools});n=i,i.ready.catch(e=>{t||C.warn(`Provider: WebMCP data tool registration rejected`,{error:e})})}).catch(e=>{t||C.warn(`Provider: WebMCP data tool registration rejected`,{error:e})}),()=>{t=!0,n()}}),h(()=>{f.mode&&y.setMode(f.mode,`explicit`)}),ve(y);let S=d(()=>ne(f.i18n));re(S),h(()=>{f.i18n&&(S.snapshot=f.i18n)}),h(()=>{typeof window<`u`&&d(()=>{y.initialize()})}),h(()=>{y.setUser(g(),ie())}),h(()=>{if(typeof window<`u`&&f.socket)return y.connectSocket(f.socket),()=>{y.disconnectSocket()}}),h(()=>{typeof window<`u`&&f.ai&&d(()=>{y.setAIConfig(f.ai)})}),m(()=>{y.dispose().catch(e=>{C.error(`AppState dispose failed during Provider teardown`,{error:e})})});var de=$t(),fe=u(de),pe=e=>{var r=t(),i=u(r);te(i,()=>v(()=>import(`./CrFNLK0f.js`),__vite__mapDeps([32,8,1,9,18,10,19,33]),import.meta.url),null,(e,r)=>{var i=t(),a=u(i);n(a,()=>c(r).default,(e,t)=>{t(e,{get message(){return f.ai.loadingMessage},dismissible:!0})}),s(e,i)}),s(e,r)};i(fe,e=>{f.ai&&c(ae)&&e(pe)});var me=ee(fe,2);r(me,()=>f.children),s(o,de),a()}function tn(e){return e.recipes.length===0&&e.features.length===0&&e.policies.length===0&&Object.keys(e.exposure??{}).length===0&&e.theme===void 0&&ae(e.layout)}function nn(e,t,n){return t(n?pe(structuredClone(e.document),n):e.document)}function rn(e){return!tn(e.snapshot())}function an(e,t,n){let r=nn(e,y,n);if(r.ok){let n=r.cookbook.theme?void 0:t.theme;t.replace(r.cookbook),n&&(t.theme=n),we(e.id)}return r}function on(e,t){return e.document.recipes.every(e=>t.recipes.includes(e))&&e.document.features.every(e=>t.features.includes(e))}function sn(e){let t=e.recipes.flatMap(e=>{let t=b.get(e);return t?[t]:[]}),n=ce(t).map(e=>{let t=new Set,n=[];for(let r of e.recipes)for(let e of fe(r)){let r=ue(e.packageId,e.model.name,e.key);t.has(r)||(t.add(r),n.push({id:r,href:`#`,label:e.label,icon:e.icon,description:e.description}))}return{id:`section:${e.id}`,heading:e.label,items:n}}).filter(e=>e.items.length>0),r=x(e.features).map(e=>({id:e.id,href:`#`,label:e.label,icon:e.icon,description:e.description}));return r.length&&n.push({id:`section:${S.id}`,heading:S.label,items:r}),n}function cn(e){let t=e.layout;return ie([],sn(e),void 0,t).groups.map(e=>({id:e.id??String(e.heading),label:e.heading??``,entries:e.items.map(e=>({id:e.id??e.href,label:t?.items?.[e.id??e.href]?.label?.trim()||e.label}))}))}var ln={live:`Live`,mock:`Mock`,sample:`Sample`,server:`Server`},un={live:`Runs for real in your browser.`,mock:`Runs in your browser, but a provider is faked.`,sample:`Shows sample data only; it cannot reach what it needs.`,server:`Needs a server, which this browser-only demo does not have.`},dn={live:`success`,mock:`info`,sample:`warning`,server:`default`};function fn(e){return e.effectiveDemo??e.demo}function pn(e){if(e)return{mode:e.mode,label:ln[e.mode],meaning:un[e.mode],variant:dn[e.mode],reasons:e.reasons,mocked:e.mocked??[]}}function mn(e){if(!e)return;if(e.status===`browser-safe`)return`Its package builds for a browser.`;let t=[`Its package does not build for a browser yet`];return e.reason&&t.push(`(${e.reason})`),e.issues?.length&&t.push(`and is tracked in ${e.issues.join(`, `)}`),`${t.join(` `)}.`}function hn(){return _e({storage:oe(),defaults:e=>me.apply(e).background,empty:[Ee,Oe],samples:De(ge),children:{models:Te.packages.flatMap(e=>e.models),links:e=>le(Te,de,e)}})}var gn=new class{#e=g(void 0);get endpoint(){return c(this.#e)}set endpoint(e){f(this.#e,e,!0)}#t=g(!1);get tokenInConfig(){return c(this.#t)}set tokenInConfig(e){f(this.#t,e,!0)}#n=g(void 0);get token(){return c(this.#n)}set token(e){f(this.#n,e,!0)}#r=g(`idle`);get status(){return c(this.#r)}set status(e){f(this.#r,e,!0)}#i=g(void 0);get outcome(){return c(this.#i)}set outcome(e){f(this.#i,e,!0)}get config(){return this.endpoint&&this.token&&!this.tokenInConfig?{endpoint:this.endpoint,token:this.token}:void 0}get needsLink(){return!!this.endpoint&&!this.token&&!this.tokenInConfig}configure(e,t){this.endpoint=e?.endpoint,this.tokenInConfig=e?.tokenInConfig===!0,this.token=e?t:void 0,this.status=`idle`,this.outcome=void 0}async send(e,t){let n=this.config;if(!n||this.status===`sending`)return;this.status=`sending`,this.outcome=void 0;let r=await Ce(n,e,t);this.outcome=r,this.status=r.ok?`sent`:`failed`}};export{it as _,fn as a,an as c,en as d,vt as f,gt as g,ht as h,pn as i,on as l,_t as m,hn as n,sn as o,lt as p,mn as r,cn as s,gn as t,rn as u};
|
|
1
|
+
const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["./DkR8_Ws6.js","./Dd_uD5pT.js","./uBIymjUX.js","./C7zBd-pD.js","./D7hhQvDO.js","./CA-A9Ngs.js","./CyUMm_Wp.js","./CygC84VT.js","./Chyo8rdT.js","./xihTtKlq.js","./BWPhGFHl.js","./CPRHZZeW.js","../assets/Button.DkP0qkG9.css","./DVRKjN-E.js","../assets/SegmentedControl.B8SrQacd.css","../assets/forms.BChZ2RWM.css","./Ci0DUht6.js","./WxSPP8QW.js","./D0VgZnk1.js","../assets/feedback.BVKAwFck.css","./CWtfVMDz.js","../assets/ui.B1A1Zl2p.css","./p6bgzXiY.js","./D_J_XtJy.js","../assets/dist.C5nHBk_O.css","./BKwRT_1p.js","../assets/store.CGDwHkkF.css","./BQxY8kkL.js","./leQCwW2d.js","../assets/AiSetup.Cb22AigN.css","./B32EWqI8.js","./BYcBM-fh.js","./CrFNLK0f.js","./B4Kevpe0.js"])))=>i.map(i=>d[i]);
|
|
2
|
+
import{Et as e,H as t,M as n,N as r,R as i,Tt as a,U as o,V as s,Z as c,a as l,dt as u,et as d,gt as f,mt as p,n as m,ot as h,pt as ee,vt as g,xt as _,z as te}from"./Chyo8rdT.js";import{t as v}from"./uBIymjUX.js";import"./xihTtKlq.js";import{n as ne,r as re}from"./BWPhGFHl.js";import"./DVRKjN-E.js";import{A as ie,P as ae,i as y,r as oe}from"./WxSPP8QW.js";import{h as se}from"./CygC84VT.js";import{B as ce,C as b,F as x,G as le,H as ue,N as S,S as de,b as fe,d as pe,i as me}from"./p6bgzXiY.js";import{g as C,m as he,r as ge,t as _e}from"./CRQ1Pmzr.js";import{n as ve}from"./B4Kevpe0.js";import{d as ye}from"./BKwRT_1p.js";import{a as be,i as xe,t as Se}from"./BYcBM-fh.js";import{l as Ce}from"./Ci0DUht6.js";import{A as we,K as Te}from"./D_J_XtJy.js";import{a as Ee,c as De,n as Oe}from"./CMhpRMKg.js";var ke=1e5,w=1e3,Ae=2048,je=16,T=1e3,Me=new Set([`__proto__`,`constructor`,`prototype`]),Ne=new Set([`table`,`list`,`report`,`custom`]),Pe=new Set([`public`,`personal`,`sensitive`,`secret`]),Fe=new Set([`read`,`search`,`filter`,`sort`,`project`]),Ie=new Set([`rows`,`count`,`facets`]),Le=new Set([`current-page`,`explicit-ids`,`all-matching`]),Re=new Set([`basic`,`advanced`,`hidden`]),ze=new Set([`data`,`status`,`computed`,`row-key`,`selection`,`action`]),Be=new Set([`tenant`,`tenantid`,`principalid`,`principal`,`actorid`,`auth`,`authtoken`,`authorization`,`authorizationtoken`,`authorizationheader`,`authentication`,`authenticationtoken`,`accesstoken`,`token`,`bearer`,`bearertoken`,`apikey`,`sessiontoken`,`credential`,`credentials`,`sql`,`rawsql`,`rawquery`,`where`]);function E(e,t){if(!e||typeof e!=`object`||Array.isArray(e)||Object.getPrototypeOf(e)!==Object.prototype)throw TypeError(`${t} must be a plain object`);return e}function D(e,t,n){let r=new Set(t);for(let t of Object.keys(e))if(!r.has(t))throw TypeError(`${n} contains unsupported field: ${t}`)}function O(e,t){if(typeof e!=`string`||e.length===0)throw TypeError(`${t} must be a non-empty string`);return e}function k(e,t){let n=O(e,t);if(n.length>256)throw TypeError(`${t} cannot exceed 256 characters`);return n}function A(e,t){if(e!==void 0)return O(e,t)}function Ve(e,t){if(e!==void 0){if(typeof e!=`number`||!Number.isFinite(e))throw TypeError(`${t} must be a finite number`);return e}}function j(e,t){if(typeof e!=`number`||!Number.isSafeInteger(e)||e<=0)throw TypeError(`${t} must be a positive safe integer`);return e}function He(e){if(typeof e!=`number`||!Number.isSafeInteger(e)||e<0)throw TypeError(`DataSurface revision must be a non-negative safe integer`);return e}function M(e,t){e&&(Ue(e,t),e.used+=t)}function Ue(e,t,n=e?.used??0){if(e&&t>e.limit-n)throw TypeError(`${e.label} cannot exceed ${e.limit} UTF-8 bytes`)}function We(e,t,n=t?.used??0){let r=2;for(let i=0;i<e.length;i+=1){let a=e.charCodeAt(i);if(a===34||a===92)r+=2;else if(a===8||a===9||a===10||a===12||a===13)r+=2;else if(a<=31)r+=6;else if(a>=55296&&a<=56319){let t=e.charCodeAt(i+1);t>=56320&&t<=57343?(r+=4,i+=1):r+=6}else r+=a>=56320&&a<=57343?6:a<=127?1:a<=2047?2:3;Ue(t,r,n)}return r}function Ge(e,t){if(!t)return;let n=t.used,r=e.length===0?2:e.length*2+1;Ue(t,r,n),n+=r;for(let r of e)n+=We(r,t,n)}function N(e,t=new Set,n=0,r){if(n>je)throw TypeError(`DataSurface values cannot exceed ${je} nested levels`);if(e===null||typeof e==`string`||typeof e==`boolean`)return M(r,e===null?4:typeof e==`boolean`?e?4:5:We(e,r)),e;if(typeof e==`number`){if(!Number.isFinite(e))throw TypeError(`DataSurface values cannot contain non-finite numbers`);let t=e===0?0:e;return M(r,String(t).length),t}if(Array.isArray(e)){if(e.length>T)throw TypeError(`DataSurface arrays cannot contain more than ${T} items`);if(t.has(e))throw TypeError(`DataSurface values cannot be circular`);t.add(e),M(r,1);let i=[];for(let[a,o]of e.entries())a>0&&M(r,1),i.push(N(o,t,n+1,r));return M(r,1),t.delete(e),i}if(e&&typeof e==`object`){let i=E(e,`DataSurface value`);if(t.has(i))throw TypeError(`DataSurface values cannot be circular`);t.add(i);let a={},o=Object.keys(i);if(o.length>T)throw TypeError(`DataSurface objects cannot contain more than ${T} keys`);Ge(o,r),M(r,1);for(let[e,s]of o.sort().entries()){if(e>0&&M(r,1),Me.has(s))throw TypeError(`DataSurface values cannot contain prototype key: ${s}`);M(r,We(s,r)+1),a[s]=N(i[s],t,n+1,r)}return M(r,1),t.delete(i),a}throw TypeError(`DataSurface values must be JSON-safe plain data`)}function P(e){return JSON.stringify(N(e))}function Ke(e){let t={used:0,limit:2**53-1,label:`DataSurface query request`};return N(e,new Set,0,t),t.used}function F(e,t){N(e,new Set,0,{used:0,limit:ke,label:t})}function qe(e,t){let n=N(e),r=e=>{if(Array.isArray(e)){for(let t of e)r(t);return}if(e&&typeof e==`object`)for(let[n,i]of Object.entries(e)){let e=n.replaceAll(/[-_]/g,``).toLowerCase();if(Be.has(e))throw TypeError(`${t} cannot contain authority or SQL field: ${n}`);r(i)}};return r(n),n}function Je(e,t){let n=qe(e,t);if(Array.isArray(n)||typeof n!=`object`||!n)throw TypeError(`${t} must be a JSON object`);return n}function I(e){let t=E(e,`DataSurface identity`);D(t,[`surfaceId`,`kind`,`subject`],`DataSurface identity`);let n=O(t.kind,`DataSurface kind`);if(!Ne.has(n))throw TypeError(`Unsupported DataSurface kind: ${n}`);let r;if(t.subject!==void 0){let e=E(t.subject,`DataSurface subject`);D(e,[`type`,`id`,`label`],`DataSurface subject`);let n=A(e.label,`DataSurface subject label`);r={type:k(e.type,`DataSurface subject type`),id:k(e.id,`DataSurface subject id`),...n?{label:n}:{}}}return{surfaceId:k(t.surfaceId,`DataSurface surface id`),kind:n,...r?{subject:r}:{}}}function L(e){return JSON.stringify([e.kind,e.surfaceId,e.subject?[e.subject.type,e.subject.id]:null])}function R(e){return I(e)}function z(e,t,n={}){if(!Array.isArray(e))throw TypeError(`${t} must be an array`);if(e.length>T)throw TypeError(`${t} cannot contain more than ${T} items`);let r=e.map(e=>O(e,t));if(new Set(r).size!==r.length)throw TypeError(`${t} cannot contain duplicates`);return n.sort?r.sort():r}function Ye(e,t,n={}){return z(e,t,n).map(e=>k(e,t))}function Xe(e,t){let n=z(e,t,{sort:!0});for(let e of n)if(!Fe.has(e))throw TypeError(`Unsupported DataSurface column capability: ${e}`);return n}function Ze(e,t){if(e===void 0)return;let n=O(e,t);if(!Pe.has(n))throw TypeError(`Unsupported DataSurface sensitivity: ${n}`);return n}function Qe(e,t){if(e===void 0)return;let n=E(e,t);D(n,[`search`,`filter`,`sort`],t);let r=n.search===void 0?void 0:z(n.search,`${t} search operators`,{sort:!0}),i=n.filter===void 0?void 0:z(n.filter,`${t} filter operators`,{sort:!0}),a=n.sort===void 0?void 0:z(n.sort,`${t} sort operators`,{sort:!0});return!r&&!i&&!a?{}:{...r?{search:r}:{},...i?{filter:i}:{},...a?{sort:a}:{}}}function $e(e){let t=A(e.fieldName,`DataSurface column field name`),n=A(e.visibility,`DataSurface column visibility`);if(n&&!Re.has(n))throw TypeError(`Unsupported DataSurface column visibility: ${n}`);let r=A(e.role,`DataSurface column role`);if(r&&!ze.has(r))throw TypeError(`Unsupported DataSurface column role: ${r}`);if(e.readable!==void 0&&typeof e.readable!=`boolean`)throw TypeError(`DataSurface column readable must be boolean`);let i=t=>e[t]===void 0?void 0:z(e[t],`DataSurface column ${t}`,{sort:!0}),a=i(`searchOperators`),o=i(`filterOperators`),s=i(`sortOperators`);return{...t?{fieldName:t}:{},...n?{visibility:n}:{},...e.order===void 0?{}:{order:Ve(e.order,`DataSurface column order`)},...r?{role:r}:{},...e.responsivePriority===void 0?{}:{responsivePriority:Ve(e.responsivePriority,`DataSurface column responsive priority`)},...e.operators===void 0?{}:{operators:Qe(e.operators,`DataSurface column operators`)},...a?{searchOperators:a}:{},...o?{filterOperators:o}:{},...s?{sortOperators:s}:{},...e.readable===void 0?{}:{readable:e.readable}}}function et(e){let t=E(e,`DataSurface selection`),n=O(t.scope,`DataSurface selection scope`);if(!Le.has(n))throw TypeError(`Unsupported DataSurface selection scope: ${n}`);if(n===`current-page`)return D(t,[`scope`],`DataSurface current-page selection`),{scope:n};if(n===`explicit-ids`){if(D(t,[`scope`,`rowIds`],`DataSurface explicit selection`),!Array.isArray(t.rowIds))throw TypeError(`DataSurface explicit selection rowIds must be an array`);if(t.rowIds.length>T)throw TypeError(`DataSurface explicit selection cannot contain more than ${T} row ids`);let e=new Map;for(let n of t.rowIds){if(typeof n!=`string`&&(typeof n!=`number`||!Number.isFinite(n)))throw TypeError(`DataSurface row ids must be finite strings or numbers`);let t=typeof n==`string`?k(n,`DataSurface row id`):n===0?0:n;e.set(`${typeof t}:${String(t)}`,t)}return{scope:n,rowIds:[...e.values()].sort((e,t)=>typeof e==typeof t?typeof e==`number`&&typeof t==`number`?e-t:e<t?-1:+(e>t):typeof e==`number`?-1:1)}}return D(t,[`scope`,`queryFingerprint`],`DataSurface all-matching selection`),{scope:n,queryFingerprint:k(t.queryFingerprint,`DataSurface query fingerprint`)}}function tt(e){let t=E(e,`DataSurface descriptor`);if(D(t,[`version`,`identity`,`schemaVersion`,`label`,`description`,`rowKey`,`columns`,`query`,`controls`,`actions`,`limits`],`DataSurface descriptor`),t.version!==1)throw TypeError(`Unsupported DataSurface descriptor version`);if(!Array.isArray(t.columns))throw TypeError(`DataSurface descriptor columns must be an array`);let n=t.columns.map(e=>{let t=E(e,`DataSurface column`);D(t,[`id`,`label`,`description`,`sensitivity`,`capabilities`,`fieldName`,`visibility`,`order`,`role`,`responsivePriority`,`operators`,`searchOperators`,`filterOperators`,`sortOperators`,`readable`],`DataSurface column`);let n=Ze(t.sensitivity,`DataSurface column sensitivity`),r=A(t.description,`DataSurface column description`),i=$e(t);return{id:k(t.id,`DataSurface column id`),label:O(t.label,`DataSurface column label`),...r?{description:r}:{},...n?{sensitivity:n}:{},capabilities:Xe(t.capabilities,`DataSurface column capabilities`),...i}});if(new Set(n.map(e=>e.id)).size!==n.length)throw TypeError(`DataSurface descriptor column ids must be unique`);let r=E(t.query,`DataSurface query capabilities`);D(r,[`modes`,`projectableColumnIds`,`searchableColumnIds`,`filterableColumnIds`,`sortableColumnIds`],`DataSurface query capabilities`);let i=z(r.modes,`DataSurface query modes`,{sort:!0});for(let e of i)if(!Ie.has(e))throw TypeError(`Unsupported DataSurface query mode: ${e}`);let a=Ye(r.projectableColumnIds,`DataSurface projectable column ids`,{sort:!0}),o=new Set(n.map(e=>e.id));for(let e of a)if(!o.has(e))throw TypeError(`Unknown projectable DataSurface column: ${e}`);let s=(e,t)=>{if(e===void 0)return;let n=z(e,t,{sort:!0});for(let e of n)if(!o.has(e))throw TypeError(`Unknown ${t}: ${e}`);return n},c=s(r.searchableColumnIds,`searchable DataSurface column`),l=s(r.filterableColumnIds,`filterable DataSurface column`),u=s(r.sortableColumnIds,`sortable DataSurface column`);if(!Array.isArray(t.controls))throw TypeError(`DataSurface controls must be an array`);let d=t.controls.map(e=>{let t=E(e,`DataSurface control`);D(t,[`id`,`label`,`description`],`DataSurface control`);let n=A(t.description,`DataSurface control description`);return{id:k(t.id,`DataSurface control id`),label:O(t.label,`DataSurface control label`),...n?{description:n}:{}}});if(new Set(d.map(e=>e.id)).size!==d.length)throw TypeError(`DataSurface control ids must be unique`);if(!Array.isArray(t.actions))throw TypeError(`DataSurface actions must be an array`);let f=t.actions.map(e=>{let t=E(e,`DataSurface action`);if(D(t,[`id`,`label`,`description`,`sensitivity`,`selectionScopes`,`requiresConfirmation`,`columnIds`],`DataSurface action`),t.requiresConfirmation!==void 0&&typeof t.requiresConfirmation!=`boolean`)throw TypeError(`DataSurface action requiresConfirmation must be boolean`);let n=z(t.selectionScopes,`DataSurface action selection scopes`,{sort:!0});for(let e of n)if(!Le.has(e))throw TypeError(`Unsupported DataSurface action selection scope: ${e}`);let r=Ze(t.sensitivity,`DataSurface action sensitivity`),i=A(t.description,`DataSurface action description`),a=t.columnIds===void 0?void 0:z(t.columnIds,`DataSurface action column ids`,{sort:!0});if(a?.some(e=>!o.has(e))){let e=a.find(e=>!o.has(e));throw TypeError(`Unknown DataSurface action column id: ${e}`)}return{id:k(t.id,`DataSurface action id`),label:O(t.label,`DataSurface action label`),...i?{description:i}:{},...r?{sensitivity:r}:{},selectionScopes:n,...t.requiresConfirmation===void 0?{}:{requiresConfirmation:t.requiresConfirmation},...a?{columnIds:a}:{}}});if(new Set(f.map(e=>e.id)).size!==f.length)throw TypeError(`DataSurface action ids must be unique`);let p=E(t.limits,`DataSurface limits`);D(p,[`maxQueryRows`,`maxQueryBytes`,`maxSelectionSize`],`DataSurface limits`);let m=j(p.maxQueryRows,`DataSurface maxQueryRows`);if(m>w)throw TypeError(`DataSurface maxQueryRows cannot exceed ${w}`);let h=k(t.rowKey,`DataSurface row key`);if(!o.has(h))throw TypeError(`DataSurface rowKey must name a declared column`);let ee=A(t.description,`DataSurface description`);return{version:1,identity:I(t.identity),schemaVersion:j(t.schemaVersion,`DataSurface schema version`),label:O(t.label,`DataSurface label`),...ee?{description:ee}:{},rowKey:h,columns:n,query:{modes:i,projectableColumnIds:a,...c?{searchableColumnIds:c}:{},...l?{filterableColumnIds:l}:{},...u?{sortableColumnIds:u}:{}},controls:d,actions:f,limits:{maxQueryRows:m,maxQueryBytes:j(p.maxQueryBytes,`DataSurface maxQueryBytes`),maxSelectionSize:j(p.maxSelectionSize,`DataSurface maxSelectionSize`)}}}function nt(e){let t=E(e,`DataSurface snapshot`);if(D(t,[`version`,`descriptor`,`revision`,`state`,`selection`],`DataSurface snapshot`),t.version!==1)throw TypeError(`Unsupported DataSurface snapshot version`);return{version:1,descriptor:tt(t.descriptor),revision:He(t.revision),state:Je(t.state,`DataSurface snapshot state`),selection:t.selection===null||t.selection===void 0?null:et(t.selection)}}function B(e){let t=E(e,`DataSurface visible command`);if(D(t,[`version`,`commandId`,`identity`,`expectedRevision`,`controlId`,`payload`],`DataSurface visible command`),t.version!==1)throw TypeError(`Unsupported DataSurface visible command version`);let n=k(t.commandId,`DataSurface command id`),r=I(t.identity),i=He(t.expectedRevision),a=k(t.controlId,`DataSurface control id`);F(e,`DataSurface visible command`);let o={version:1,commandId:n,identity:r,expectedRevision:i,controlId:a,...t.payload===void 0?{}:{payload:qe(t.payload,`DataSurface command payload`)}};return F(o,`DataSurface visible command`),o}function rt(e){let t=E(e,`DataSurface query request`),n=O(t.kind,`DataSurface query kind`);if(t.version!==1)throw TypeError(`Unsupported DataSurface query request version`);let r=k(t.requestId,`DataSurface query request id`),i=I(t.identity);if(n===`rows`){D(t,[`version`,`requestId`,`identity`,`kind`,`limit`,`cursor`,`projection`],`DataSurface rows query request`),F(e,`DataSurface query request`);let a=j(t.limit,`DataSurface rows query limit`);if(a>w)throw TypeError(`DataSurface rows query limit cannot exceed ${w}`);let o=A(t.cursor,`DataSurface rows query cursor`);if(o&&o.length>Ae)throw TypeError(`DataSurface rows query cursor is too long`);return{version:1,requestId:r,identity:i,kind:n,limit:a,...o?{cursor:o}:{},...t.projection===void 0?{}:{projection:Ye(t.projection,`DataSurface query projection`,{sort:!0})}}}if(n===`count`)return D(t,[`version`,`requestId`,`identity`,`kind`],`DataSurface count query request`),F(e,`DataSurface query request`),{version:1,requestId:r,identity:i,kind:n};if(n===`facets`){D(t,[`version`,`requestId`,`identity`,`kind`,`columnId`,`limit`],`DataSurface facets query request`),F(e,`DataSurface query request`);let a=j(t.limit,`DataSurface facets query limit`);if(a>w)throw TypeError(`DataSurface facets query limit cannot exceed ${w}`);return{version:1,requestId:r,identity:i,kind:n,columnId:k(t.columnId,`DataSurface facets query column id`),limit:a}}throw TypeError(`Unsupported DataSurface query kind: ${n}`)}function it(e){let t=E(e,`DataSurface action request`);if(D(t,[`version`,`requestId`,`identity`,`actionId`,`phase`,`selection`,`payload`,`confirmationToken`],`DataSurface action request`),t.version!==1)throw TypeError(`Unsupported DataSurface action request version`);let n=k(t.requestId,`DataSurface action request id`),r=O(t.phase,`DataSurface action phase`);if(r!==`preview`&&r!==`apply`)throw TypeError(`Unsupported DataSurface action phase: ${r}`);let i=A(t.confirmationToken,`DataSurface confirmation token`),a=I(t.identity),o=k(t.actionId,`DataSurface action id`),s=et(t.selection);F(e,`DataSurface action request`);let c={version:1,requestId:n,identity:a,actionId:o,phase:r,selection:s,...t.payload===void 0?{}:{payload:qe(t.payload,`DataSurface action payload`)},...i?{confirmationToken:i}:{}};return F(c,`DataSurface action request`),c}function at(e,t){return nt({version:1,descriptor:e,revision:t.revision,state:t.state,selection:t.selection??null})}function V(e){return nt(e)}function H(e){return{ok:e.ok,commandId:e.commandId,identity:R(e.identity),...e.revision===void 0?{}:{revision:e.revision},...e.snapshot?{snapshot:V(e.snapshot)}:{},...e.reason?{reason:e.reason}:{}}}function ot(e,t){return L(e)===L(t)}function st(e,t){return U(e)===U(t)}function U(e){return P([e.state,e.selection])}function ct(){let e=new Map,t=new Set,n=0,r=e=>{let t=at(e.descriptor,e.registration.getSnapshot());if(t.revision<e.lastRevision)throw RangeError(`DataSurface revision must be monotonic`);let n=e.registration.redact?nt(e.registration.redact(V(t))):t;if(!ot(n.descriptor.identity,e.descriptor.identity)||n.revision!==t.revision)throw TypeError(`DataSurface redaction cannot change identity or revision`);let r=U(t),i=U(n);return e.lastSnapshotContentSignature!==void 0&&t.revision===e.lastRevision&&(e.lastSnapshotContentSignature!==r||e.lastExposedSnapshotContentSignature!==i)&&(e.commandBlockedAtRevision=t.revision),e.lastRevision=t.revision,e.lastSnapshotContentSignature=r,e.lastExposedSnapshotContentSignature=i,{raw:t,exposed:n}},i=(e,r,i,a,o)=>{let s={type:e,sequence:++n,identity:R(r.descriptor.identity),revision:i,...a?{command:B(a)}:{},...o?{result:H(o)}:{}};for(let e of t)try{e({...s,identity:R(s.identity),...s.command?{command:B(s.command)}:{},...s.result?{result:H(s.result)}:{}})}catch{}},a=(e,t,n)=>{for(e.replay.set(t.commandId,{signature:P(t),result:H(n)});e.replay.size>100;){let t=e.replay.keys().next().value;if(t===void 0)break;e.replay.delete(t)}return i(`command`,e,n.revision??e.lastRevision,t,n),H(n)},o=t=>e.get(L(t)),s=async(e,t)=>{let n=e.commandQueue,r;e.commandQueue=new Promise(e=>{r=e}),await n;try{return await t()}finally{r()}};return{register(t){let n=tt(t.descriptor),a=L(n.identity);if(e.has(a))throw Error(`DataSurface identity is already registered: ${a}`);let o={key:a,descriptor:n,registration:t,lastRevision:-1,replay:new Map,commandQueue:Promise.resolve()};e.set(a,o);try{let e=r(o);i(`registered`,o,e.exposed.revision)}catch(t){throw e.delete(a),t}return()=>{e.get(a)===o&&(e.delete(a),i(`unregistered`,o,Math.max(0,o.lastRevision)))}},unregister(t){let n=I(t),r=e.get(L(n));r&&(e.delete(r.key),i(`unregistered`,r,Math.max(0,r.lastRevision)))},list(){return[...e.values()].sort((e,t)=>e.key.localeCompare(t.key)).map(e=>tt(e.descriptor))},inspect(t){let n=I(t),i=e.get(L(n));return i?V(r(i).exposed):void 0},async execute(t){let n=B(t),o=e.get(L(n.identity)),c=()=>({ok:!1,commandId:n.commandId,identity:R(n.identity),reason:`not_found`});return o?s(o,async()=>{if(e.get(o.key)!==o)return c();let t=P(n),s=o.replay.get(n.commandId);if(s){if(s.signature===t)return o.replay.delete(n.commandId),o.replay.set(n.commandId,s),H(s.result);let e=r(o).exposed,a={ok:!1,commandId:n.commandId,identity:R(o.descriptor.identity),revision:e.revision,snapshot:e,reason:`idempotency_conflict`};return i(`command`,o,e.revision,n,a),H(a)}let l=r(o);if(o.commandBlockedAtRevision!==void 0&&l.raw.revision<=o.commandBlockedAtRevision)return a(o,n,{ok:!1,commandId:n.commandId,identity:R(o.descriptor.identity),revision:l.exposed.revision,snapshot:l.exposed,reason:`non_monotonic_revision`});if(o.commandBlockedAtRevision=void 0,l.raw.revision!==n.expectedRevision)return a(o,n,{ok:!1,commandId:n.commandId,identity:R(o.descriptor.identity),revision:l.exposed.revision,snapshot:l.exposed,reason:`stale_revision`});if(!o.descriptor.controls.some(e=>e.id===n.controlId)||!o.registration.execute)return a(o,n,{ok:!1,commandId:n.commandId,identity:R(o.descriptor.identity),revision:l.exposed.revision,snapshot:l.exposed,reason:`unsupported`});try{let t=await o.registration.execute(B(n));if(e.get(o.key)!==o)return c();let i=r(o);return st(l.raw,i.raw)===!1&&i.raw.revision<=l.raw.revision?(o.commandBlockedAtRevision=i.raw.revision,a(o,n,{ok:!1,commandId:n.commandId,identity:R(o.descriptor.identity),revision:i.exposed.revision,snapshot:i.exposed,reason:`non_monotonic_revision`})):t&&t.ok===!1?a(o,n,{ok:!1,commandId:n.commandId,identity:R(o.descriptor.identity),revision:i.exposed.revision,snapshot:i.exposed,reason:`denied`}):a(o,n,{ok:!0,commandId:n.commandId,identity:R(o.descriptor.identity),revision:i.exposed.revision,snapshot:i.exposed})}catch{if(e.get(o.key)!==o)return c();let t;try{t=r(o)}catch{}return t&&st(l.raw,t.raw)===!1&&t.raw.revision<=l.raw.revision?(o.commandBlockedAtRevision=t.raw.revision,a(o,n,{ok:!1,commandId:n.commandId,identity:R(o.descriptor.identity),revision:t.exposed.revision,snapshot:t.exposed,reason:`non_monotonic_revision`})):a(o,n,{ok:!1,commandId:n.commandId,identity:R(o.descriptor.identity),...t?{revision:t.exposed.revision,snapshot:t.exposed}:{},reason:`execution_failed`})}}):c()},validateQuery(e){try{let t=rt(e),n=o(t.identity);return n?n.descriptor.query.modes.includes(t.kind)?Ke(t)>n.descriptor.limits.maxQueryBytes||`limit`in t&&t.limit>n.descriptor.limits.maxQueryRows?{ok:!1,reason:`limit_exceeded`}:t.kind===`rows`&&t.projection&&t.projection.some(e=>!n.descriptor.query.projectableColumnIds.includes(e))||t.kind===`facets`&&!n.descriptor.query.projectableColumnIds.includes(t.columnId)?{ok:!1,reason:`projection_not_allowed`}:{ok:!0}:{ok:!1,reason:`unsupported`}:{ok:!1,reason:`not_found`}}catch{return{ok:!1,reason:`invalid_request`}}},validateAction(e){try{let t=it(e),n=o(t.identity);if(!n)return{ok:!1,reason:`not_found`};let r=n.descriptor.actions.find(e=>e.id===t.actionId);return r?r.selectionScopes.includes(t.selection.scope)?t.selection.scope===`explicit-ids`&&t.selection.rowIds.length>n.descriptor.limits.maxSelectionSize?{ok:!1,reason:`limit_exceeded`}:t.phase===`apply`&&r.requiresConfirmation!==!1&&!t.confirmationToken?{ok:!1,reason:`confirmation_required`}:{ok:!0}:{ok:!1,reason:`selection_not_supported`}:{ok:!1,reason:`unsupported`}}catch{return{ok:!1,reason:`invalid_request`}}},subscribe(e){return t.add(e),()=>t.delete(e)}}}function lt(){let e=ut();return{stt:ft(e),tts:pt(e),llm:mt(e),browser:e}}function ut(){return typeof window>`u`?{sharedArrayBuffer:!1,webWorkers:!1,indexedDB:!1,wasmSupport:!1,wasmSimd:!1}:{sharedArrayBuffer:typeof SharedArrayBuffer<`u`,webWorkers:typeof Worker<`u`,indexedDB:typeof indexedDB<`u`,wasmSupport:typeof WebAssembly<`u`,wasmSimd:dt()}}function dt(){if(typeof WebAssembly>`u`)return!1;try{let e=new Uint8Array([0,97,115,109,1,0,0,0,1,5,1,96,0,1,123,3,2,1,0,10,10,1,8,0,253,12,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,11]);return WebAssembly.validate(e)}catch{return!1}}function ft(e){return{browserSpeechAPI:typeof window<`u`&&(`SpeechRecognition`in window||`webkitSpeechRecognition`in window),whisperWasm:e.wasmSupport}}function pt(e){return{browserSynthesisAPI:typeof window<`u`&&`speechSynthesis`in window,transformersTTS:e.wasmSupport}}function mt(e){let t=typeof window<`u`&&`gpu`in navigator;return{webllm:t||e.wasmSupport,transformersLLM:e.wasmSupport,webgpu:t}}function ht(e){return e.stt.browserSpeechAPI||e.stt.whisperWasm}function gt(e){return e.tts.browserSynthesisAPI||e.tts.transformersTTS}function _t(e){return e.llm.webllm||e.llm.transformersLLM}function vt(e){return ht(e)||gt(e)||_t(e)}function yt(){return{mode:`default`,modeSource:`auto`,session:{user:null,isAuthenticated:!1,permissions:[],preferences:{}},capabilities:null,ai:{stt:{adapter:null,initState:`uninitialized`,downloadProgress:null,isListening:!1,lastResult:``,interimResult:``,error:null},tts:{adapter:null,initState:`uninitialized`,downloadProgress:null,isSpeaking:!1,isPaused:!1,error:null},llm:{adapter:null,initState:`uninitialized`,downloadProgress:null,currentModel:null,isGenerating:!1,error:null}},aiLoading:{phase:`idle`,currentAdapter:null,overallProgress:0,message:``,loaded:[],failed:[],error:null},socket:{status:`disconnected`,reconnectAttempts:0,lastError:null},error:null,initialized:!1}}var W=new Map,bt=new Map,xt=new Map;function St(e){return W.get(e)}function Ct(e,t,n=`ready`,r=null){W.set(e,{adapter:t,cachedAt:Date.now(),initState:n,downloadProgress:null,error:r,type:e})}function wt(e,t){let n=W.get(e);n&&Object.assign(n,t)}function Tt(e){return bt.get(e)}function Et(e,t,n=`ready`,r=null){bt.set(e,{adapter:t,cachedAt:Date.now(),initState:n,downloadProgress:null,error:r,type:e})}function Dt(e,t){let n=bt.get(e);n&&Object.assign(n,t)}function Ot(e,t){let n=t?`${e}:${t}`:e;return xt.get(n)}function kt(e,t,n,r=`ready`,i=null){let a=n?`${e}:${n}`:e;xt.set(a,{adapter:t,cachedAt:Date.now(),initState:r,downloadProgress:null,error:i,type:e})}function G(e,t,n){let r=t?`${e}:${t}`:e,i=xt.get(r);i&&Object.assign(i,n)}var K=new WeakMap,q=new WeakMap;function At(e,t){if(e===t)return!0;try{return JSON.stringify(e)===JSON.stringify(t)}catch{return!1}}var jt=class{#e=g(p(yt()));get _state(){return c(this.#e)}set _state(e){f(this.#e,e,!0)}options;_aiConfig=null;_preloadScheduled=!1;_idleCallbackId=null;_preloadInFlight=!1;_socket=null;_socketConfig=null;_reconnectTimeout=null;_sttSubscriptions=new Map;_ttsSubscriptions=new Map;constructor(e={}){this.options=e,this._aiConfig=e.ai??null}get socketConfig(){return this._socketConfig}get state(){return this._state}get aiConfig(){return this._aiConfig}get aiLoading(){return this._state.aiLoading}async initialize(){if(this._state.initialized)return;if(typeof window>`u`){this._state.initialized=!0;return}let e=lt();this._state.capabilities=e,this.options.onCapabilitiesDetected?.(e),this.options.session&&(this._state.session={...this._state.session,...this.options.session}),this.options.initialMode?(this._state.mode=this.options.initialMode,this._state.modeSource=`explicit`):(this._state.session.preferences.autoEnableSmrt??!1)&&vt(e)&&(this._state.mode=`smrt`,this._state.modeSource=`auto`),this._state.initialized=!0,this.schedulePreload()}setAIConfig(e){if(this._aiConfig&&At(this._aiConfig,e)){this._aiConfig=e;return}this._aiConfig=e,this._idleCallbackId!==null&&typeof cancelIdleCallback<`u`&&(cancelIdleCallback(this._idleCallbackId),this._idleCallbackId=null),this._preloadScheduled=!1,this.schedulePreload()}schedulePreload(){if(!this._aiConfig||this._preloadScheduled)return;let e=this._aiConfig.preload??`idle`;if(e!==`none`){if(e===`eager`){this._preloadScheduled=!0,this.executePreload();return}if(e===`idle`){this._preloadScheduled=!0,typeof requestIdleCallback<`u`?this._idleCallbackId=requestIdleCallback(()=>this.executePreload(),{timeout:5e3}):setTimeout(()=>this.executePreload(),100);return}}}triggerPreload(){this._aiConfig&&!this._preloadScheduled&&this._aiConfig.preload===`on-visible`&&(this._preloadScheduled=!0,this.executePreload())}async executePreload(){if(this._aiConfig&&!this._preloadInFlight){this._preloadInFlight=!0;try{await this.runPreload()}finally{this._preloadInFlight=!1}}}async runPreload(){if(!this._aiConfig)return;let e=[];if(this._aiConfig.stt?.enabled!==!1&&this._aiConfig.stt?.type&&e.push(`stt:${this._aiConfig.stt.type}`),this._aiConfig.tts?.enabled!==!1&&this._aiConfig.tts?.type&&e.push(`tts:${this._aiConfig.tts.type}`),this._aiConfig.llm?.enabled!==!1&&this._aiConfig.llm?.type){let t=this._aiConfig.llm.model?`${this._aiConfig.llm.type}:${this._aiConfig.llm.model}`:this._aiConfig.llm.type;e.push(`llm:${t}`)}if(e.length===0){this.updateLoadingState({phase:`idle`,loaded:[],failed:[]});return}this.updateLoadingState({phase:`checking`,message:`Checking AI capabilities...`,loaded:[],failed:[]});for(let t of e){let[e,n]=t.split(`:`);this.updateLoadingState({phase:`downloading`,currentAdapter:n,message:`Loading ${n}...`});try{if(e===`stt`){let e=this._aiConfig.stt;await this.initializeSTT({type:n,allowLocalModels:e?.allowLocalModels})}else if(e===`tts`)await this.initializeTTS({type:n});else if(e===`llm`){let e=this._aiConfig.llm;e&&await this.initializeLLM(e.model,{type:e.type})}this.updateLoadingState({loaded:[...this._state.aiLoading.loaded,n]})}catch(e){console.error(`Failed to preload ${n}:`,e),this.updateLoadingState({failed:[...this._state.aiLoading.failed,n]})}}let t=this._state.aiLoading.failed.length>0;this._state.aiLoading.loaded.length===e.length?this.updateLoadingState({phase:`ready`,currentAdapter:null,overallProgress:100,message:`AI ready`}):t&&this._state.aiLoading.loaded.length===0?this.updateLoadingState({phase:`error`,currentAdapter:null,message:`Failed to load AI models`,error:Error(`All AI adapters failed to load`)}):this.updateLoadingState({phase:`ready`,currentAdapter:null,message:`Loaded with ${this._state.aiLoading.failed.length} failure(s)`}),this.options.onAILoadingChange?.(this._state.aiLoading)}updateLoadingState(e){this._state.aiLoading={...this._state.aiLoading,...e}}setMode(e,t=`toggled`){this._state.mode!==e&&(this._state.mode=e,this._state.modeSource=t,this.options.onModeChange?.(e,t),e===`smrt`&&this.initializeSTT({type:`whisper-cpp`,allowLocalModels:this._aiConfig?.stt?.allowLocalModels}).catch(()=>{}))}toggleMode(){let e=this._state.mode==="default"?`smrt`:`default`;this.setMode(e,`toggled`)}updateSession(e){this._state.session={...this._state.session,...e}}setPermissions(e){this._state.session.permissions=e}hasPermission(e){return this._state.session.permissions.includes(e)}hasAllPermissions(e){return e.every(e=>this._state.session.permissions.includes(e))}hasAnyPermission(e){return e.some(e=>this._state.session.permissions.includes(e))}setUser(e,t=[]){this._state.session.user=e,this._state.session.isAuthenticated=e!==null,this._state.session.permissions=t}connectSocket(e){this.disconnectSocket(),this._socketConfig=e,this._state.socket.status=`connecting`,this._state.socket.lastError=null;try{this._socket=new WebSocket(e.url),this._socket.onopen=()=>{this._state.socket.status=`connected`,this._state.socket.reconnectAttempts=0,e.onOpen?.()},this._socket.onmessage=t=>{try{let n=JSON.parse(t.data);e.onMessage?.(n)}catch{e.onMessage?.(t.data)}},this._socket.onclose=t=>{this._state.socket.status=`disconnected`,e.onClose?.(t),!t.wasClean&&e.reconnect?.enabled!==!1&&this.scheduleReconnect()},this._socket.onerror=t=>{this._state.socket.lastError=t,e.onError?.(t)}}catch(e){this._state.socket.status=`disconnected`,this._state.socket.lastError=e}}disconnectSocket(){this._reconnectTimeout&&=(clearTimeout(this._reconnectTimeout),null),this._socket&&=(this._socket.close(),null),this._state.socket.status=`disconnected`}sendMessage(e){this._socket?.readyState===WebSocket.OPEN?this._socket.send(JSON.stringify(e)):console.warn(`[Socket] Cannot send message - socket not connected`)}scheduleReconnect(){if(!this._socketConfig)return;let{reconnect:e}=this._socketConfig,t=e?.maxAttempts??5,n=e?.baseDelay??1e3;if(this._state.socket.reconnectAttempts>=t){console.warn(`[Socket] Max reconnection attempts reached`);return}this._state.socket.status=`reconnecting`,this._state.socket.reconnectAttempts++;let r=Math.min(n*2**(this._state.socket.reconnectAttempts-1),3e4);console.log(`[Socket] Reconnecting in ${r}ms (attempt ${this._state.socket.reconnectAttempts}/${t})`),this._reconnectTimeout=setTimeout(()=>{this._socketConfig&&this.connectSocket(this._socketConfig)},r)}async initializeSTT(e){let t=e?.type??`browser-speech`,n=St(t);if(n&&n.initState===`ready`)return this._state.ai.stt.adapter=n.adapter,this._state.ai.stt.initState=`ready`,this._state.ai.stt.error=null,this.subscribeToSTTEvents(n.adapter),n.adapter;let r=this._state.ai.stt.adapter;if(r&&this._state.ai.stt.initState===`ready`){if(r.type===t)return r;console.log(`[STT] Switching adapter from ${r.type} to ${t}`),await r.dispose?.()}this._state.ai.stt.initState=`initializing`,this._state.ai.stt.error=null,wt(t,{initState:`initializing`});let i=e=>{this._state.ai.stt.downloadProgress=e,wt(t,{downloadProgress:e}),e.percent>0&&this.updateLoadingState({overallProgress:e.percent})};try{let{getSTT:n}=await v(async()=>{let{getSTT:e}=await import(`./DkR8_Ws6.js`).then(e=>e.t);return{getSTT:e}},__vite__mapDeps([0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29]),import.meta.url),r=await n(e);return await r.ensureInitialized(i),Ct(t,r,`ready`),this._state.ai.stt.adapter=r,this._state.ai.stt.initState=`ready`,this._state.ai.stt.downloadProgress=null,this.subscribeToSTTEvents(r),r}catch(e){let n=e instanceof Error?e:Error(String(e));throw this._state.ai.stt.initState=`error`,this._state.ai.stt.error=n,wt(t,{initState:`error`,error:n}),e}}subscribeToSTTEvents(e){if(this._sttSubscriptions.has(e))return;K.get(e)?.();let t=[e.onResult(e=>{if(e.isFinal){let t=this._state.ai.stt.lastResult;t?this._state.ai.stt.lastResult=`${t} ${e.text}`:this._state.ai.stt.lastResult=e.text,this._state.ai.stt.interimResult=``}else this._state.ai.stt.interimResult=e.text}),e.onStart(()=>{this._state.ai.stt.isListening=!0}),e.onEnd(()=>{this._state.ai.stt.isListening=!1}),e.onError(e=>{this._state.ai.stt.error=e})],n=()=>{for(let e of t)e();this._sttSubscriptions.delete(e),K.get(e)===n&&K.delete(e)};this._sttSubscriptions.set(e,n),K.set(e,n)}async startListening(e){let t=await this.initializeSTT();this._state.ai.stt.lastResult=``,this._state.ai.stt.interimResult=``,await t.start(e)}async stopListening(){await this._state.ai.stt.adapter?.stop(),this._state.ai.stt.interimResult=``}async initializeTTS(e){let t=e?.type??`browser-synthesis`,n=Tt(t);if(n&&n.initState===`ready`)return this._state.ai.tts.adapter=n.adapter,this._state.ai.tts.initState=`ready`,this._state.ai.tts.error=null,this.subscribeToTTSEvents(n.adapter),n.adapter;if(this._state.ai.tts.adapter&&this._state.ai.tts.initState===`ready`)return this._state.ai.tts.adapter;this._state.ai.tts.initState=`initializing`,this._state.ai.tts.error=null,Dt(t,{initState:`initializing`});let r=e=>{this._state.ai.tts.downloadProgress=e,Dt(t,{downloadProgress:e})};try{let{getTTS:n}=await v(async()=>{let{getTTS:e}=await import(`./DkR8_Ws6.js`).then(e=>e.t);return{getTTS:e}},__vite__mapDeps([0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29]),import.meta.url),i=await n(e);return await i.ensureInitialized(r),Et(t,i,`ready`),this._state.ai.tts.adapter=i,this._state.ai.tts.initState=`ready`,this._state.ai.tts.downloadProgress=null,this.subscribeToTTSEvents(i),i}catch(e){let n=e instanceof Error?e:Error(String(e));throw this._state.ai.tts.initState=`error`,this._state.ai.tts.error=n,Dt(t,{initState:`error`,error:n}),e}}subscribeToTTSEvents(e){if(this._ttsSubscriptions.has(e))return;q.get(e)?.();let t=[e.onStart(()=>{this._state.ai.tts.isSpeaking=!0,this._state.ai.tts.isPaused=!1}),e.onEnd(()=>{this._state.ai.tts.isSpeaking=!1,this._state.ai.tts.isPaused=!1}),e.onError(e=>{this._state.ai.tts.error=e,this._state.ai.tts.isSpeaking=!1})],n=()=>{for(let e of t)e();this._ttsSubscriptions.delete(e),q.get(e)===n&&q.delete(e)};this._ttsSubscriptions.set(e,n),q.set(e,n)}async speak(e,t){await(await this.initializeTTS()).speak(e,t)}stopSpeaking(){this._state.ai.tts.adapter?.stop()}pauseSpeaking(){this._state.ai.tts.adapter?.pause(),this._state.ai.tts.isSpeaking&&(this._state.ai.tts.isPaused=!0)}resumeSpeaking(){this._state.ai.tts.adapter?.resume(),this._state.ai.tts.isPaused&&(this._state.ai.tts.isPaused=!1)}getTTSVoices(){return this._state.ai.tts.adapter?.getVoices()??[]}async initializeLLM(e,t){let n=t?.type??`webllm`,r=Ot(n,e);if(r&&r.initState===`ready`)return this._state.ai.llm.adapter=r.adapter,this._state.ai.llm.initState=`ready`,this._state.ai.llm.currentModel=r.adapter.currentModel,this._state.ai.llm.error=null,r.adapter;if(this._state.ai.llm.adapter&&this._state.ai.llm.initState===`ready`&&(!e||this._state.ai.llm.currentModel===e))return this._state.ai.llm.adapter;this._state.ai.llm.initState=`initializing`,this._state.ai.llm.error=null,G(n,e,{initState:`initializing`});let i=t=>{this._state.ai.llm.downloadProgress=t,G(n,e,{downloadProgress:t}),t.percent>0&&this.updateLoadingState({overallProgress:t.percent})};try{let{getLLM:r}=await v(async()=>{let{getLLM:e}=await import(`./DkR8_Ws6.js`).then(e=>e.t);return{getLLM:e}},__vite__mapDeps([0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29]),import.meta.url),a=await r(t);return await a.ensureInitialized(e,i),kt(n,a,e,`ready`),this._state.ai.llm.adapter=a,this._state.ai.llm.initState=`ready`,this._state.ai.llm.currentModel=a.currentModel,this._state.ai.llm.downloadProgress=null,a}catch(t){let r=t instanceof Error?t:Error(String(t));throw this._state.ai.llm.initState=`error`,this._state.ai.llm.error=r,G(n,e,{initState:`error`,error:r}),t}}async chat(e,t){let n=await this.initializeLLM();this._state.ai.llm.isGenerating=!0;try{return await n.message(e,{systemPrompt:t?.systemPrompt,onToken:t?.onToken})}finally{this._state.ai.llm.isGenerating=!1}}async unloadLLM(){let e=this._state.ai.llm.adapter,t=e?.currentModel??void 0;await e?.unloadModel(),e&&G(e.type,t,{initState:`uninitialized`,downloadProgress:null,error:null}),this._state.ai.llm.adapter=null,this._state.ai.llm.initState=`uninitialized`,this._state.ai.llm.currentModel=null}unsubscribeAllAdapterEvents(){for(let e of[...this._sttSubscriptions.values()])e();for(let e of[...this._ttsSubscriptions.values()])e();this._sttSubscriptions.clear(),this._ttsSubscriptions.clear()}async dispose(){this._idleCallbackId!==null&&typeof cancelIdleCallback<`u`&&(cancelIdleCallback(this._idleCallbackId),this._idleCallbackId=null),this._preloadInFlight=!1,this.disconnectSocket(),this.unsubscribeAllAdapterEvents();let e=this._state.ai.stt.adapter;e&&!St(e.type)&&await e.dispose?.();let t=this._state.ai.tts.adapter;t&&!Tt(t.type)&&await t.dispose?.();let n=this._state.ai.llm.adapter;n&&!Ot(n.type,n.currentModel??void 0)&&await n.dispose?.(),this._state=yt()}get isAIReady(){return this._state.aiLoading.phase===`ready`||this._state.aiLoading.phase===`idle`}get isAILoading(){return this._state.aiLoading.phase===`checking`||this._state.aiLoading.phase===`downloading`||this._state.aiLoading.phase===`initializing`}};function Mt(e){return new jt(e)}var Nt=new Set([`focus`,`reveal`,`highlight`,`explain`,`validate`,`stage`,`apply`,`clear`,`undo`]),Pt=`smrt_ui_`,Ft=/^[A-Za-z][A-Za-z0-9_-]{0,63}$/,It=new Set([`invalid_request`,`invalid_identifier`,`limit_exceeded`,`not_found`]),Lt=new Set([`not_found`,`consent_required`,`human_confirmation_required`,`sensitive_control`,`control_not_writable`,`control_not_editable`,`nothing_to_undo`,`denied`]),Rt=new WeakMap,zt=class extends Error{reason;details;constructor(e,t){super(e),this.reason=e,this.details=t}};function J(e,t){return new zt(e,t)}function Bt(e){return JSON.stringify({ok:!0,result:e})}function Vt(e,t){return JSON.stringify({ok:!1,reason:e,...t?{details:t}:{}})}function Ht(e){return new TextEncoder().encode(JSON.stringify(e)).byteLength}function Y(e){if(Ht(e)>1e5)throw J(`limit_exceeded`)}function X(e,t,n=256){if(typeof e!=`string`||e.length===0||e.length>n||Array.from(e).some(e=>{let t=e.charCodeAt(0);return t<32||t===127}))throw J(`invalid_identifier`,t);return e}function Ut(e,t){return e===void 0?void 0:X(e,t)}function Z(e){if(!e||typeof e!=`object`||Array.isArray(e))throw J(`invalid_request`);return e}function Wt(e){let t=Z(e),n=t.subject,r=n===void 0?void 0:(()=>{let e=Z(n);return{type:X(e.type,`subject.type`),id:X(e.id,`subject.id`),...e.label===void 0?{}:{label:X(e.label,`subject.label`)}}})();return{formId:X(t.formId,`formId`),controlId:X(t.controlId,`controlId`),...r?{subject:r}:{}}}function Gt(e){let t=Z(e),n=t.kind;if(![`table`,`list`,`report`,`custom`].includes(String(n)))throw J(`invalid_request`,`identity.kind`);let r=t.subject,i=r===void 0?void 0:(()=>{let e=Z(r);return{type:X(e.type,`subject.type`),id:X(e.id,`subject.id`),...e.label===void 0?{}:{label:X(e.label,`subject.label`)}}})();return{surfaceId:X(t.surfaceId,`surfaceId`),kind:n,...i?{subject:i}:{}}}function Kt(e){let t=e.metadata.sensitivity===`sensitive`||e.metadata.sensitivity===`secret`,n=t||e.state.valueRedacted,r=t||e.state.stagedValueRedacted||e.state.staged?.valueRedacted===!0,i=e.state.staged?{...e.state.staged,...r?{value:void 0,valueRedacted:!0}:{},validationMessage:void 0}:void 0;return{...e,identity:{...e.identity},metadata:{...e.metadata,constraints:e.metadata.constraints?{...e.metadata.constraints}:void 0,options:e.metadata.options?.map(e=>({...e}))},state:{...e.state,...n?{value:void 0,valueRedacted:!0}:{},...r?{stagedValue:void 0,stagedValueRedacted:!0}:{},...i?{staged:i}:{},validationMessage:void 0}}}function qt(e){let t=e.reason?Lt.has(e.reason)?e.reason:`execution_failed`:void 0;return{ok:e.ok,action:e.action,identity:{...e.identity},...t?{reason:t}:{},...e.snapshot?{snapshot:Kt(e.snapshot)}:{}}}function Jt(e,t,n,r){if(Array.isArray(e))return e.filter(e=>r!==`columnOrder`||typeof e!=`string`||!t.has(e)).map(e=>Jt(e,t,n,r)).filter(e=>e!==void 0);if(!e||typeof e!=`object`)return e;let i=e;if(!(typeof i.columnId==`string`&&t.has(i.columnId)))return Object.fromEntries(Object.entries(i).flatMap(([e,r])=>{if(t.has(e)||n&&(e===`selection`||e===`selectedRowIds`||e===`expandedRowIds`))return[];let i=Jt(r,t,n,e);return i===void 0?[]:[[e,i]]}))}function Yt(e){let t=e.columns.filter(e=>e.visibility!==`hidden`),n=new Set(t.map(e=>e.id)),{rowKey:r,...i}=e;return{...i,identity:{...e.identity},...n.has(r)?{rowKey:r}:{},columns:t,query:{...e.query,projectableColumnIds:e.query.projectableColumnIds.filter(e=>n.has(e)),searchableColumnIds:e.query.searchableColumnIds?.filter(e=>n.has(e)),filterableColumnIds:e.query.filterableColumnIds?.filter(e=>n.has(e)),sortableColumnIds:e.query.sortableColumnIds?.filter(e=>n.has(e))},actions:e.actions.filter(e=>(e.columnIds??[]).every(e=>n.has(e)))}}function Xt(e){let t=new Set(e.descriptor.columns.filter(e=>e.visibility===`hidden`).map(e=>e.id)),n=t.has(e.descriptor.rowKey),r=Jt(e.state,t,n);return{...e,descriptor:Yt(e.descriptor),state:r,selection:n?null:e.selection}}function Q(e){return Promise.resolve().then(e).then(Bt).catch(e=>e instanceof zt&&It.has(e.reason)?Vt(e.reason,e.details):Vt(`execution_failed`))}function $(e,t,n,r){return{name:e,description:t,inputSchema:n,annotations:{readOnlyHint:!0,untrustedContentHint:!0},execute:r}}function Zt(e,t,n){let r={type:`object`,required:[`formId`,`controlId`],additionalProperties:!1,properties:{formId:{type:`string`,minLength:1,maxLength:256},controlId:{type:`string`,minLength:1,maxLength:256},subject:{type:`object`}}},i={type:`object`,required:[`surfaceId`,`kind`],additionalProperties:!1,properties:{surfaceId:{type:`string`,minLength:1,maxLength:256},kind:{type:`string`,enum:[`table`,`list`,`report`,`custom`]},subject:{type:`object`}}};return[$(`${e}list_form_controls`,`List the controls currently mounted in SMRT forms.`,{type:`object`,additionalProperties:!1,properties:{formId:{type:`string`,minLength:1,maxLength:256}}},e=>Q(()=>{Y(e);let n=Ut(Z(e).formId,`formId`);return t.list(n).map(Kt)})),$(`${e}inspect_form_control`,`Inspect one currently mounted SMRT form control.`,{type:`object`,required:[`identity`],additionalProperties:!1,properties:{identity:r}},e=>Q(()=>{Y(e);let n=Z(e),r=t.get(Wt(n.identity));if(!r)throw J(`not_found`);return Kt(r)})),{name:`${e}execute_form_control`,description:"Execute an allowed command on a mounted SMRT form control. Agent mutations are consent-gated. An agent never moves keyboard focus: `focus` scrolls the control into view and highlights it.",inputSchema:{type:`object`,required:[`action`,`identity`],additionalProperties:!1,properties:{action:{type:`string`,enum:[...Nt]},identity:r,value:{},durationMs:{type:`number`,minimum:0,maximum:6e4}}},annotations:{readOnlyHint:!1,untrustedContentHint:!0},execute:e=>Q(async()=>{Y(e);let n=Z(e);if(`confirmed`in n)throw J(`invalid_request`,`confirmed`);if(!Nt.has(n.action))throw J(`invalid_request`,`action`);let r=n.action,i=Wt(n.identity),a;if(r===`stage`){if(!(`value`in n))throw J(`invalid_request`,`value`);a={action:r,identity:i,value:n.value}}else if(r===`apply`)a=`value`in n?{action:r,identity:i,value:n.value}:{action:r,identity:i};else if(r===`highlight`){if(n.durationMs!==void 0&&(typeof n.durationMs!=`number`||n.durationMs<0||n.durationMs>6e4))throw J(`invalid_request`,`durationMs`);a={action:r,identity:i,durationMs:n.durationMs}}else a={action:r,identity:i};return qt(await t.execute(a,{source:`agent`}))})},$(`${e}list_data_surfaces`,`List the data surfaces currently mounted in this SMRT Provider.`,{type:`object`,additionalProperties:!1,properties:{}},e=>Q(()=>(Y(e),Z(e),n.list().map(Yt)))),$(`${e}inspect_data_surface`,`Inspect one currently mounted SMRT data surface.`,{type:`object`,required:[`identity`],additionalProperties:!1,properties:{identity:i}},e=>Q(()=>{Y(e);let t=Z(e),r=n.inspect(Gt(t.identity));if(!r)throw J(`not_found`);return Xt(r)})),{name:`${e}execute_data_surface_control`,description:`Execute a bounded visible-state command on a mounted SMRT data surface.`,inputSchema:{type:`object`,required:[`version`,`commandId`,`identity`,`expectedRevision`,`controlId`],additionalProperties:!1,properties:{version:{type:`number`,const:1},commandId:{type:`string`,minLength:1,maxLength:256},identity:i,expectedRevision:{type:`number`,minimum:0},controlId:{type:`string`,minLength:1,maxLength:256},payload:{}}},annotations:{readOnlyHint:!1,untrustedContentHint:!0},execute:e=>Q(async()=>{Y(e);let t=Z(e);if(t.version!==1)throw J(`invalid_request`,`version`);if(typeof t.expectedRevision!=`number`||!Number.isSafeInteger(t.expectedRevision)||t.expectedRevision<0)throw J(`invalid_request`,`expectedRevision`);let r={version:1,commandId:X(t.commandId,`commandId`),identity:Gt(t.identity),expectedRevision:t.expectedRevision,controlId:X(t.controlId,`controlId`),...`payload`in t?{payload:t.payload}:{}},i=await n.execute(r);return i.snapshot?{...i,snapshot:Xt(i.snapshot)}:i})}]}function Qt(e){let t=e.prefix??Pt;if(!Ft.test(t))throw TypeError(`Invalid WebMCP UI tool prefix`);let n=e.document??globalThis.document,r=n?.modelContext;if(!r||typeof r.registerTool!=`function`)return()=>{};let i=Rt.get(n),a;if(i&&i.modelContext===r?a=i.prefixes:(a=new Set,Rt.set(n,{modelContext:r,prefixes:a})),a.has(t))throw Error(`WebMCP UI prefix is already registered: ${t}`);a.add(t);let o=Zt(t,e.controlRegistry,e.dataSurfaceRegistry),s;try{s=be(o.map(e=>e.name),`ui`,{document:n})}catch(e){throw a.delete(t),e}let c=new AbortController,l=!1,u=()=>{l||(l=!0,c.abort(),a.delete(t),s.release())};try{for(let e of o){let t=Object.assign({[Se]:e.annotations?.readOnlyHint?`read`:`write`},e,{execute:xe(e.execute)}),n=r.registerTool(t,{signal:c.signal});n&&Promise.resolve(n).catch(u)}}catch(e){throw u(),e}return u}var $t=o(`<!> <!>`,1);function en(o,f){e(f,!0);let p=l(f,`autoEnableSmrt`,3,!1),g=l(f,`user`,3,null),ie=l(f,`permissions`,19,()=>[]),ae=_(()=>f.ai?.showLoadingOverlay??!0),y=d(()=>Mt({initialMode:f.mode,session:{preferences:{autoEnableSmrt:p()}},onCapabilitiesDetected:()=>{f.onReady?.()},onModeChange:e=>{f.onModeChange?.(e)},onAILoadingChange:e=>{f.onAILoadingChange?.(e)}})),oe=se(),ce=ct(),b=_(()=>typeof f.webmcp==`object`?f.webmcp:void 0),x=_(()=>f.webmcp===!0?{}:typeof c(b)?.ui==`object`?c(b).ui:void 0),le=_(()=>c(x)?.controlRegistry??oe),ue=_(()=>c(x)?.dataSurfaceRegistry??ce);he({get enabled(){return c(x)!==void 0},get controlRegistry(){return c(le)},get dataSurfaceRegistry(){return c(ue)}}),ye({get effects(){return c(b)?.effects}}),h(()=>{let e=d(()=>y.state.session.preferences);e.autoEnableSmrt!==p()&&y.updateSession({preferences:{...e,autoEnableSmrt:p()}})}),h(()=>{if(typeof window<`u`&&f.webmcp&&c(x))try{return Qt({controlRegistry:c(le),dataSurfaceRegistry:c(ue),...c(x).prefix?{prefix:c(x).prefix}:{}})}catch(e){C.warn(`Provider: WebMCP UI tool registration rejected`,{error:e})}}),h(()=>{if(typeof window>`u`||!f.webmcp)return;let e=typeof f.webmcp==`object`?f.webmcp:{},t=!1,n=()=>{};return v(async()=>{let{registerWebMcpTools:e}=await import(`./B32EWqI8.js`).then(e=>e.t);return{registerWebMcpTools:e}},__vite__mapDeps([30,1,31]),import.meta.url).then(({registerWebMcpTools:r})=>{if(t)return;let i=r(e.definitions??[],{client:e.client,basePath:e.basePath,fetchFn:e.fetchFn,scope:e.scope,filter:e.filter,filterTool:e.filterTool,resolveFetchers:e.resolveFetchers,resolveToolFetchers:e.resolveToolFetchers,effects:e.effects,namespace:e.namespace,maxTools:e.maxTools});n=i,i.ready.catch(e=>{t||C.warn(`Provider: WebMCP data tool registration rejected`,{error:e})})}).catch(e=>{t||C.warn(`Provider: WebMCP data tool registration rejected`,{error:e})}),()=>{t=!0,n()}}),h(()=>{f.mode&&y.setMode(f.mode,`explicit`)}),ve(y);let S=d(()=>ne(f.i18n));re(S),h(()=>{f.i18n&&(S.snapshot=f.i18n)}),h(()=>{typeof window<`u`&&d(()=>{y.initialize()})}),h(()=>{y.setUser(g(),ie())}),h(()=>{if(typeof window<`u`&&f.socket)return y.connectSocket(f.socket),()=>{y.disconnectSocket()}}),h(()=>{typeof window<`u`&&f.ai&&d(()=>{y.setAIConfig(f.ai)})}),m(()=>{y.dispose().catch(e=>{C.error(`AppState dispose failed during Provider teardown`,{error:e})})});var de=$t(),fe=u(de),pe=e=>{var r=t(),i=u(r);te(i,()=>v(()=>import(`./CrFNLK0f.js`),__vite__mapDeps([32,8,1,9,18,10,19,33]),import.meta.url),null,(e,r)=>{var i=t(),a=u(i);n(a,()=>c(r).default,(e,t)=>{t(e,{get message(){return f.ai.loadingMessage},dismissible:!0})}),s(e,i)}),s(e,r)};i(fe,e=>{f.ai&&c(ae)&&e(pe)});var me=ee(fe,2);r(me,()=>f.children),s(o,de),a()}function tn(e){return e.recipes.length===0&&e.features.length===0&&e.policies.length===0&&Object.keys(e.exposure??{}).length===0&&e.theme===void 0&&ae(e.layout)}function nn(e,t,n){return t(n?pe(structuredClone(e.document),n):e.document)}function rn(e){return!tn(e.snapshot())}function an(e,t,n){let r=nn(e,y,n);if(r.ok){let n=r.cookbook.theme?void 0:t.theme;t.replace(r.cookbook),n&&(t.theme=n),we(e.id)}return r}function on(e,t){return e.document.recipes.every(e=>t.recipes.includes(e))&&e.document.features.every(e=>t.features.includes(e))}function sn(e){let t=e.recipes.flatMap(e=>{let t=b.get(e);return t?[t]:[]}),n=ce(t).map(e=>{let t=new Set,n=[];for(let r of e.recipes)for(let e of fe(r)){let r=ue(e.packageId,e.model.name,e.key);t.has(r)||(t.add(r),n.push({id:r,href:`#`,label:e.label,icon:e.icon,description:e.description}))}return{id:`section:${e.id}`,heading:e.label,items:n}}).filter(e=>e.items.length>0),r=x(e.features).map(e=>({id:e.id,href:`#`,label:e.label,icon:e.icon,description:e.description}));return r.length&&n.push({id:`section:${S.id}`,heading:S.label,items:r}),n}function cn(e){let t=e.layout;return ie([],sn(e),void 0,t).groups.map(e=>({id:e.id??String(e.heading),label:e.heading??``,entries:e.items.map(e=>({id:e.id??e.href,label:t?.items?.[e.id??e.href]?.label?.trim()||e.label}))}))}var ln={live:`Live`,mock:`Mock`,sample:`Sample`,server:`Server`},un={live:`Runs for real in your browser.`,mock:`Runs in your browser, but a provider is faked.`,sample:`Shows sample data only; it cannot reach what it needs.`,server:`Needs a server, which this browser-only demo does not have.`},dn={live:`success`,mock:`info`,sample:`warning`,server:`default`};function fn(e){return e.effectiveDemo??e.demo}function pn(e){if(e)return{mode:e.mode,label:ln[e.mode],meaning:un[e.mode],variant:dn[e.mode],reasons:e.reasons,mocked:e.mocked??[]}}function mn(e){if(!e)return;if(e.status===`browser-safe`)return`Its package builds for a browser.`;let t=[`Its package does not build for a browser yet`];return e.reason&&t.push(`(${e.reason})`),e.issues?.length&&t.push(`and is tracked in ${e.issues.join(`, `)}`),`${t.join(` `)}.`}function hn(){return _e({storage:oe(),defaults:e=>me.apply(e).background,empty:[Ee,Oe],samples:De(ge),children:{models:Te.packages.flatMap(e=>e.models),links:e=>le(Te,de,e)}})}var gn=new class{#e=g(void 0);get endpoint(){return c(this.#e)}set endpoint(e){f(this.#e,e,!0)}#t=g(!1);get tokenInConfig(){return c(this.#t)}set tokenInConfig(e){f(this.#t,e,!0)}#n=g(void 0);get token(){return c(this.#n)}set token(e){f(this.#n,e,!0)}#r=g(`idle`);get status(){return c(this.#r)}set status(e){f(this.#r,e,!0)}#i=g(void 0);get outcome(){return c(this.#i)}set outcome(e){f(this.#i,e,!0)}get config(){return this.endpoint&&this.token&&!this.tokenInConfig?{endpoint:this.endpoint,token:this.token}:void 0}get needsLink(){return!!this.endpoint&&!this.token&&!this.tokenInConfig}configure(e,t){this.endpoint=e?.endpoint,this.tokenInConfig=e?.tokenInConfig===!0,this.token=e?t:void 0,this.status=`idle`,this.outcome=void 0}async send(e,t){let n=this.config;if(!n||this.status===`sending`)return;this.status=`sending`,this.outcome=void 0;let r=await Ce(n,e,t);this.outcome=r,this.status=r.ok?`sent`:`failed`}};export{it as _,fn as a,an as c,en as d,vt as f,gt as g,ht as h,pn as i,on as l,_t as m,hn as n,sn as o,lt as p,mn as r,cn as s,gn as t,rn as u};
|
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["./D7hhQvDO.js","./C7zBd-pD.js","./CA-A9Ngs.js","./uBIymjUX.js","./CrO3W89x.js","./Dd_uD5pT.js","./BegKiy2G.js","./CyUMm_Wp.js","./CygC84VT.js","./Chyo8rdT.js","./xihTtKlq.js","./BWPhGFHl.js","./CPRHZZeW.js","../assets/Button.DkP0qkG9.css","./DVRKjN-E.js","../assets/SegmentedControl.B8SrQacd.css","../assets/forms.BChZ2RWM.css","./Dbjm4OuC.js"])))=>i.map(i=>d[i]);
|
|
2
|
-
import{n as e}from"./Dd_uD5pT.js";import{t}from"./uBIymjUX.js";import{f as n,g as r,h as i,m as a,p as o}from"./
|
|
2
|
+
import{n as e}from"./Dd_uD5pT.js";import{t}from"./uBIymjUX.js";import{f as n,g as r,h as i,m as a,p as o}from"./CsprTb3f.js";import{a as s,i as c,n as l,o as u,r as d,s as f,t as p}from"./C7zBd-pD.js";import{t as m}from"./D7hhQvDO.js";import"./CyUMm_Wp.js";import{T as h}from"./Ci0DUht6.js";function g(e){return!e.type||e.type===`webllm`}function _(e){return e.type===`transformers-llm`}async function v(e={}){if(g(e)){let{WebLLMAdapter:n}=await t(async()=>{let{WebLLMAdapter:e}=await import(`./D7hhQvDO.js`);return{WebLLMAdapter:e}},__vite__mapDeps([0,1,2,3]),import.meta.url);return new n(e)}throw _(e)?new f(`transformers-llm`,[`webllm`]):new f(String(e.type),[`webllm`,`transformers-llm`])}function y(e){return!e.type||e.type===`browser-speech`}function b(e){return e.type===`whisper-local`||e.type===`whisper-wasm`||e.type===`moonshine`}function x(e){return e.type===`whisper-cpp`}async function S(e={}){if(y(e)){let{BrowserSpeechSTTAdapter:n}=await t(async()=>{let{BrowserSpeechSTTAdapter:e}=await import(`./CrO3W89x.js`).then(e=>e.t);return{BrowserSpeechSTTAdapter:e}},__vite__mapDeps([4,5,1]),import.meta.url);return new n(e)}if(x(e)){let{WhisperCppSTTAdapter:n}=await t(async()=>{let{WhisperCppSTTAdapter:e}=await import(`./BegKiy2G.js`).then(e=>e.t);return{WhisperCppSTTAdapter:e}},__vite__mapDeps([6,5,1,2,3]),import.meta.url);return new n(e)}if(b(e)){let{LocalSpeechSTTAdapter:n}=await t(async()=>{let{LocalSpeechSTTAdapter:e}=await import(`./CyUMm_Wp.js`).then(e=>e.t);return{LocalSpeechSTTAdapter:e}},__vite__mapDeps([7,5,8,9,10,11,12,13,14,15,16,1,2,3]),import.meta.url);return new n(e)}throw new f(String(e.type),[`browser-speech`,`whisper-cpp`,`whisper-local`,`whisper-wasm`,`moonshine`])}function C(e={type:`browser-speech`}){let t=null;return()=>(t??=(async()=>{let t=await S(e);return t.getCapabilities().requiresDownload||await t.ensureInitialized(),t})().catch(e=>{throw t=null,e}),t)}function w(e){return!e.type||e.type===`browser-synthesis`}function T(e){return e.type===`transformers`}async function E(e={}){if(w(e)){let{BrowserSynthesisTTSAdapter:n}=await t(async()=>{let{BrowserSynthesisTTSAdapter:e}=await import(`./Dbjm4OuC.js`);return{BrowserSynthesisTTSAdapter:e}},__vite__mapDeps([17,1]),import.meta.url);return new n(e)}throw T(e)?new f(`transformers`,[`browser-synthesis`]):new f(String(e.type),[`browser-synthesis`])}var D=e({BrowserAIError:()=>p,CapabilityNotAvailableError:()=>l,InitializationError:()=>d,ModelLoadError:()=>c,ModelNotDownloadedError:()=>s,PermissionDeniedError:()=>u,RECOMMENDED_MODELS:()=>m,UnsupportedAdapterError:()=>f,WHISPER_LOCAL_DEFAULT_MODEL:()=>WHISPER_LOCAL_DEFAULT_MODEL,WHISPER_LOCAL_DEFAULT_SIZE_BYTES:()=>WHISPER_LOCAL_DEFAULT_SIZE_BYTES,canEnableSmrtMode:()=>n,detectCapabilities:()=>o,getLLM:()=>v,getSTT:()=>S,getTTS:()=>E,hasLLM:()=>a,hasSTT:()=>i,hasTTS:()=>r,probeBrowserSpeech:()=>h});export{C as n,D as t};
|
|
@@ -1,3 +1,3 @@
|
|
|
1
|
-
import{$ as e,A as t,B as n,Et as r,F as i,Ft as a,H as o,I as s,J as c,K as l,L as u,Mt as d,Nt as f,R as p,Tt as m,U as h,V as g,Y as _,Z as v,_ as y,a as b,at as x,b as S,ct as C,dt as w,ft as T,gt as E,mt as D,nt as O,ot as k,pt as A,q as j,ut as M,v as N,vt as P,xt as F,yt as I}from"./Chyo8rdT.js";import"./xihTtKlq.js";import"./1okeBSoq.js";import{_ as L,g as R,h as z,k as B,n as V}from"./WxSPP8QW.js";import{r as H,v as ee}from"./CygC84VT.js";import{G as U,J as W,K as G,N as K,S as q,U as te,W as J,_ as ne,b as Y,i as X,q as re,v as ie}from"./p6bgzXiY.js";import{a as ae,d as oe,i as se,l as ce,o as Z,p as Q,r as $,s as le,u as ue}from"./CRQ1Pmzr.js";import{l as de,n as fe}from"./BKwRT_1p.js";import{t as pe}from"./DyGfbRG-.js";import{B as me,I as he,J as ge,K as _e,L as ve,N as ye,R as be,V as xe,Y as Se,_ as Ce,d as we,f as Te,g as Ee,h as De,i as Oe,l as ke,s as Ae,t as je,u as Me,x as Ne,z as Pe}from"./D_J_XtJy.js";import{r as Fe}from"./DqcD-WtP.js";import{t as Ie}from"./DD7gpKb2.js";import{a as Le,i as Re,o as ze,r as Be,s as Ve}from"./CMhpRMKg.js";import{n as He}from"./CgAkqYsL.js";import{a as Ue,c as We,d as Ge,f as Ke,h as qe,i as Je,l as Ye,m as Xe,n as Ze,o as Qe,p as $e,r as et,s as tt,t as nt,u as rt}from"./BS4h9ES-.js";import{t as it}from"./BJfAXhak.js";import{n as at}from"./D71UrO5c.js";var ot=e=>JSON.stringify(e);function st(e){let t=new Set,n=[];for(let r of e.flatMap(e=>e.split(`,`))){let e=r.trim(),i=e.toLowerCase();e&&!t.has(i)&&(t.add(i),n.push(e))}return n}function ct(e){let t=e.map(e=>({name:e.name,values:st(e.values)})).filter(e=>e.values.length>0);if(t.length===0)return[];let n=[[]];for(let e of t)n=n.flatMap(t=>e.values.map(n=>[...t,{name:e.name,value:n}]));return n.map(e=>({key:ot(e.map(e=>e.value)),attributes:Object.fromEntries(e.map(e=>[e.name,e.value])),values:e.map(e=>e.value)}))}function lt(e,t){return ct(e.axes.map(e=>({name:e.name,values:t.axes[e.name]??[]})))}function ut(e){return{productFields:e.form.fields,cellFields:e.extensions.flatMap(e=>e.fields??[]),cellRecords:e.extensions.flatMap(e=>e.records??[])}}function dt(e,t){return e.form.fields.map(n=>({field:n,catalogField:oe(n,[e.form.product],t)}))}function ft(e,t){let{cellFields:n,cellRecords:r}=ut(e),i=[pt(e.form),...r];return n.map(e=>({field:e,catalogField:oe(e,i,t)}))}var pt=e=>({as:`sku`,model:e.skus});function mt(e,t){return{values:Object.fromEntries(dt(e,t).map(({field:e,catalogField:t})=>[e.id,ue(e,t)])),axes:Object.fromEntries(e.form.axes.map(e=>[e.name,[...e.values]])),cells:{}}}function ht(e,t){return Object.fromEntries(ft(e,t).map(({field:e,catalogField:t})=>[e.id,ue(e,t)]))}function gt(e){if(typeof e!=`string`)return e;try{return JSON.parse(e)}catch{return}}function _t(e){let t=gt(e.attributes);return t&&typeof t==`object`&&!Array.isArray(t)?t:{}}function vt(e,t){let n=_t(t),r=e.axes.filter(e=>e.name in n).map(e=>String(n[e.name]));return r.length?ot(r):void 0}async function yt(e,t,n,r){let{form:i}=t,a=await e.get(n(i.product.model),r);if(!a)return;let o=(await e.list(n(i.variants))).filter(e=>e.productId===r),s=(await e.list(n(i.skus))).filter(e=>e.productId===r),c=mt(t,n);for(let e of dt(t,n)){let{field:t}=le(e.field.to),n=a[t];n!==void 0&&(c.values[e.field.id]=n)}for(let e of i.axes){let t=o.find(t=>t.axisName===e.name),n=gt(t?.allowedValues);c.axes[e.name]=t&&Array.isArray(n)?st(n.map(String)):[]}let{cellFields:l,cellRecords:u}=ut(t),d=ht(t,n);for(let t of s){let r=vt(i,t);if(!r)continue;let o=await ae(e,[pt(i),...u],{product:a,sku:t},n);c.cells[r]=Object.fromEntries(l.map(e=>{let{alias:t,field:n}=le(e.to),r=o[t]?.[n];return[e.id,r===void 0?d[e.id]:r]}))}return{state:c,existing:{productId:r,variants:o,skus:s}}}function bt(e,t){return[ce(e)||`SKU`,...t.values.map(ce)].filter(Boolean).join(`-`)}function xt(e,t,n,r){let{form:i}=e,{cellFields:a,cellRecords:o}=ut(e),s=[],c=se(i.fields,n.values),l=Z(i.fields,i.product.as,n.values);s.push({op:`save`,as:`product`,model:t(i.product.model),...r?{id:r.productId}:{},onCreate:Q(i.product.values,c),values:l});let u=t(i.variants);i.axes.forEach((e,t)=>{let r=st(n.axes[e.name]??[]),i={productId:{ref:`product`},axisName:e.name};if(r.length===0){s.push({op:`delete`,model:u,match:i});return}s.push({op:`save`,model:u,match:i,onCreate:{label:e.label.replace(/s$/i,``)},values:{allowedValues:JSON.stringify(r),sortOrder:t}})});let d=t(i.skus),f=lt(i,n),p=new Set(f.map(e=>e.key)),m=new Map((r?.skus??[]).flatMap(e=>{let t=vt(i,e);return t?[[t,e]]:[]}));for(let e of r?.skus??[]){let n=vt(i,e);if(!(n&&p.has(n))){for(let n of o){let r=Object.fromEntries(Object.entries(n.match??{}).flatMap(([t,n])=>typeof n==`object`&&n?.ref===`sku`?[[t,e.id]]:[]));Object.keys(r).length&&s.push({op:`delete`,model:t(n.model),match:r})}s.push({op:`delete`,model:d,id:e.id})}}let h=c[`product.name`],g=new Set((r?.skus??[]).filter(e=>p.has(vt(i,e)??``)).map(e=>String(e.code??``)));return f.forEach((r,i)=>{let l=m.get(r.key),u=r.values.join(` / `),f=`${String(h??``).trim()||`Item`} (${u})`,p=bt(h,r),_=p;for(let e=2;!l&&g.has(_);e++)_=`${p}-${e}`;g.add(_);let v=`sku#${i}`,y={name:f,attributes:JSON.stringify(r.attributes)};s.push(l?{op:`save`,as:v,model:d,id:l.id,values:y}:{op:`save`,as:v,model:d,match:{productId:{ref:`product`},code:_},onCreate:{active:!0},values:y});let b={...ht(e,t),...n.cells[r.key]??{}},x=e=>e===`product`?e:e===`sku`?v:`${e}#${i}`,S={...c,"sku.name":f,"sku.code":l?String(l.code??_):_};for(let e of o){let n=Z(a,e.as,b);s.push({op:`save`,as:x(e.as),model:t(e.model),...e.match?{match:Q(e.match,S,x)}:{},onCreate:Q(e.values,S,x),values:n})}}),s}var St=h(`<input type="number" min="0" step="1" class="svelte-1ojxqxz"/>`),Ct=h(`<span class="sku svelte-1ojxqxz"> </span>`),wt=h(`<p class="svelte-1ojxqxz">Loading...</p>`),Tt=h(`<p class="meta svelte-1ojxqxz">Add sizes or colors above to build the grid.</p>`),Et=h(`<th scope="col" class="svelte-1ojxqxz"> </th>`),Dt=h(`<td class="svelte-1ojxqxz"><!></td>`),Ot=h(`<tr><th scope="row" class="svelte-1ojxqxz"> </th><!></tr>`),kt=h(`<div class="scroll svelte-1ojxqxz"><table class="svelte-1ojxqxz"><caption class="visually-hidden svelte-1ojxqxz"> </caption><thead><tr><td class="svelte-1ojxqxz"><span class="visually-hidden svelte-1ojxqxz"> </span></td><!></tr></thead><tbody></tbody></table></div>`),At=h(`<th scope="row" class="svelte-1ojxqxz"> </th>`),jt=h(`<tr><!><td class="svelte-1ojxqxz"><!></td></tr>`),Mt=h(`<div class="scroll svelte-1ojxqxz"><table class="svelte-1ojxqxz"><caption class="visually-hidden svelte-1ojxqxz">Combinations</caption><thead><tr><!><th scope="col" class="svelte-1ojxqxz"> </th></tr></thead><tbody></tbody></table></div>`),Nt=h(`<p class="error svelte-1ojxqxz" role="alert"> </p>`),Pt=h(`<form class="svelte-1ojxqxz"><h3 class="svelte-1ojxqxz"> </h3> <!> <!> <div class="grid svelte-1ojxqxz" role="group"><h4 class="svelte-1ojxqxz"> <small class="svelte-1ojxqxz"> </small></h4> <!></div> <!> <div class="actions svelte-1ojxqxz"><button type="submit" class="svelte-1ojxqxz">Save</button> <button type="button" class="secondary svelte-1ojxqxz">Cancel</button></div></form>`);function Ft(e,t){r(t,!0);let l=(e,t=a)=>{var r=o(),s=w(r);i(s,17,()=>v(h),({field:e})=>e.id,(e,n)=>{let r=()=>v(n).field;var i=St();y(i),x((e,t)=>{N(i,`aria-label`,e),S(i,t)},[()=>`${r().label}, ${K(t())}`,()=>q(t().key,r().id)??``]),_(`focus`,i,e=>e.currentTarget.select()),c(`input`,i,e=>te(t().key,r().id,J(e.currentTarget.value))),g(e,i)},e=>{var r=Ct(),i=T(r,!0);x(e=>n(i,e),[()=>bt(v(W),t())]),g(e,r)}),g(e,r)},u=Fe(),d=F(()=>dt(t.active,$)),h=F(()=>ft(t.active,$)),b=P(D(mt(t.active,$))),C=P(void 0),O=P(t.id===void 0),k=P(``);async function j(e){let n=await yt(u,t.active,$,e);n&&(E(b,n.state,!0),E(C,n.existing,!0)),E(O,!0)}t.id!==void 0&&j(t.id);let I=F(()=>lt(t.active.form,v(b))),L=F(()=>t.active.form.axes.filter(e=>st(v(b).axes[e.name]??[]).length)),R=F(()=>v(L).length===2),z=F(()=>v(L)[0]),B=F(()=>v(L)[1]),V=F(()=>st(v(b).axes[v(z)?.name??``]??[])),ee=F(()=>st(v(b).axes[v(B)?.name??``]??[])),U=F(()=>new Map(v(I).map(e=>[e.key,e]))),W=F(()=>v(b).values.name),G=(...e)=>JSON.stringify(e),K=e=>e.values.join(` `);function q(e,t){return v(b).cells[e]?.[t]}function te(e,n,r){v(b).cells[e]={...ht(t.active,$),...v(b).cells[e]??{},[n]:r}}function J(e){if(e.trim()===``)return null;let t=Number(e);return Number.isFinite(t)?t:null}async function ne(e){if(e.preventDefault(),E(k,``),v(I).length===0){E(k,`Add at least one value to sell, such as a size or a color.`);return}try{await u.apply(xt(t.active,$,v(b),v(C))),t.onsaved()}catch(e){E(k,e instanceof Error?e.message:`Could not save.`,!0)}}var Y=o(),X=w(Y),re=e=>{var t=wt();g(e,t)},ie=e=>{var r=Pt(),a=M(r),o=T(a,!0),u=A(a,2);i(u,17,()=>v(d),({field:e,catalogField:t})=>e.id,(e,n)=>{let r=()=>v(n).field,i=()=>v(n).catalogField;{let n=F(()=>({...i(),required:r().required??i().required}));Ze(e,{get field(){return v(n)},get label(){return r().label},get help(){return r().help},get idPrefix(){return t.active.form.id},get value(){return v(b).values[r().id]},onchange:e=>v(b).values[r().id]=e})}});var m=A(u,2);i(m,17,()=>t.active.form.axes,e=>e.name,(e,t)=>{{let n=F(()=>`Add a ${v(t).label.replace(/s$/i,``).toLowerCase()}`),r=F(()=>v(b).axes[v(t).name]??[]);H(e,{get label(){return v(t).label},get placeholder(){return v(n)},get values(){return v(r)},onvalueschange:e=>v(b).axes[v(t).name]=st(e)})}});var y=A(m,2),S=M(y),C=M(S),w=A(C),E=T(w);f(S);var D=A(S,2),O=e=>{var t=Tt();g(e,t)},j=e=>{var t=kt(),r=M(t),a=M(r),o=T(a),s=A(a),c=M(s),u=M(c),d=M(u),m=T(d,!0);f(u);var h=A(u);i(h,16,()=>v(ee),e=>e,(e,t)=>{var r=Et(),i=T(r,!0);x(()=>n(i,t)),g(e,r)}),f(c),f(s);var _=A(s);i(_,20,()=>v(V),e=>e,(e,t)=>{var r=Ot(),a=M(r),o=T(a,!0),s=A(a);i(s,16,()=>v(ee),e=>e,(e,n)=>{let r=F(()=>v(U).get(G(t,n)));var i=Dt(),a=M(i),o=e=>{l(e,()=>v(r))};p(a,e=>{v(r)&&e(o)}),f(i),g(e,i)}),f(r),x(()=>n(o,t)),g(e,r)}),f(_),f(r),f(t),x(e=>{n(o,`${v(z).label??``} by ${e??``}`),n(m,v(z).label)},[()=>v(B).label.toLowerCase()]),g(e,t)},P=e=>{var t=Mt(),r=M(t),a=A(M(r)),o=M(a),c=M(o);i(c,17,()=>v(L),e=>e.name,(e,t)=>{var r=Et(),i=T(r,!0);x(()=>n(i,v(t).label)),g(e,r)});var u=A(c),d=T(u,!0);f(o),f(a);var p=A(a);i(p,21,()=>v(I),e=>e.key,(e,t)=>{var r=jt(),a=M(r);i(a,17,()=>v(t).values,s,(e,t)=>{var r=At(),i=T(r,!0);x(()=>n(i,v(t))),g(e,r)});var o=A(a),c=M(o);l(c,()=>v(t)),f(o),f(r),g(e,r)}),f(p),f(r),f(t),x(e=>n(d,e),[()=>v(h).length?v(h).map(e=>e.field.label).join(`, `):`SKU`]),g(e,t)};p(D,e=>{v(I).length===0?e(O):v(R)&&v(z)&&v(B)?e(j,1):e(P,-1)}),f(y);var W=A(y,2),K=e=>{var t=Nt(),r=T(t,!0);x(()=>n(r,v(k))),g(e,t)};p(W,e=>{v(k)&&e(K)});var q=A(W,2),te=A(M(q),2);f(q),f(r),x((e,r,i)=>{n(o,e),N(y,`aria-labelledby`,`${t.active.form.id}-grid`),N(S,`id`,`${t.active.form.id}-grid`),n(C,`${r??``} `),n(E,`${v(I).length??``} ${v(I).length===1?`combination`:`combinations`}, one
|
|
1
|
+
import{$ as e,A as t,B as n,Et as r,F as i,Ft as a,H as o,I as s,J as c,K as l,L as u,Mt as d,Nt as f,R as p,Tt as m,U as h,V as g,Y as _,Z as v,_ as y,a as b,at as x,b as S,ct as C,dt as w,ft as T,gt as E,mt as D,nt as O,ot as k,pt as A,q as j,ut as M,v as N,vt as P,xt as F,yt as I}from"./Chyo8rdT.js";import"./xihTtKlq.js";import"./1okeBSoq.js";import{_ as L,g as R,h as z,k as B,n as V}from"./WxSPP8QW.js";import{r as H,v as ee}from"./CygC84VT.js";import{G as U,J as W,K as G,N as K,S as q,U as te,W as J,_ as ne,b as Y,i as X,q as re,v as ie}from"./p6bgzXiY.js";import{a as ae,d as oe,i as se,l as ce,o as Z,p as Q,r as $,s as le,u as ue}from"./CRQ1Pmzr.js";import{l as de,n as fe}from"./BKwRT_1p.js";import{t as pe}from"./BnRri03M.js";import{B as me,I as he,J as ge,K as _e,L as ve,N as ye,R as be,V as xe,Y as Se,_ as Ce,d as we,f as Te,g as Ee,h as De,i as Oe,l as ke,s as Ae,t as je,u as Me,x as Ne,z as Pe}from"./D_J_XtJy.js";import{r as Fe}from"./DqcD-WtP.js";import{t as Ie}from"./DD7gpKb2.js";import{a as Le,i as Re,o as ze,r as Be,s as Ve}from"./CMhpRMKg.js";import{n as He}from"./CgAkqYsL.js";import{a as Ue,c as We,d as Ge,f as Ke,h as qe,i as Je,l as Ye,m as Xe,n as Ze,o as Qe,p as $e,r as et,s as tt,t as nt,u as rt}from"./BS4h9ES-.js";import{t as it}from"./BJfAXhak.js";import{n as at}from"./D71UrO5c.js";var ot=e=>JSON.stringify(e);function st(e){let t=new Set,n=[];for(let r of e.flatMap(e=>e.split(`,`))){let e=r.trim(),i=e.toLowerCase();e&&!t.has(i)&&(t.add(i),n.push(e))}return n}function ct(e){let t=e.map(e=>({name:e.name,values:st(e.values)})).filter(e=>e.values.length>0);if(t.length===0)return[];let n=[[]];for(let e of t)n=n.flatMap(t=>e.values.map(n=>[...t,{name:e.name,value:n}]));return n.map(e=>({key:ot(e.map(e=>e.value)),attributes:Object.fromEntries(e.map(e=>[e.name,e.value])),values:e.map(e=>e.value)}))}function lt(e,t){return ct(e.axes.map(e=>({name:e.name,values:t.axes[e.name]??[]})))}function ut(e){return{productFields:e.form.fields,cellFields:e.extensions.flatMap(e=>e.fields??[]),cellRecords:e.extensions.flatMap(e=>e.records??[])}}function dt(e,t){return e.form.fields.map(n=>({field:n,catalogField:oe(n,[e.form.product],t)}))}function ft(e,t){let{cellFields:n,cellRecords:r}=ut(e),i=[pt(e.form),...r];return n.map(e=>({field:e,catalogField:oe(e,i,t)}))}var pt=e=>({as:`sku`,model:e.skus});function mt(e,t){return{values:Object.fromEntries(dt(e,t).map(({field:e,catalogField:t})=>[e.id,ue(e,t)])),axes:Object.fromEntries(e.form.axes.map(e=>[e.name,[...e.values]])),cells:{}}}function ht(e,t){return Object.fromEntries(ft(e,t).map(({field:e,catalogField:t})=>[e.id,ue(e,t)]))}function gt(e){if(typeof e!=`string`)return e;try{return JSON.parse(e)}catch{return}}function _t(e){let t=gt(e.attributes);return t&&typeof t==`object`&&!Array.isArray(t)?t:{}}function vt(e,t){let n=_t(t),r=e.axes.filter(e=>e.name in n).map(e=>String(n[e.name]));return r.length?ot(r):void 0}async function yt(e,t,n,r){let{form:i}=t,a=await e.get(n(i.product.model),r);if(!a)return;let o=(await e.list(n(i.variants))).filter(e=>e.productId===r),s=(await e.list(n(i.skus))).filter(e=>e.productId===r),c=mt(t,n);for(let e of dt(t,n)){let{field:t}=le(e.field.to),n=a[t];n!==void 0&&(c.values[e.field.id]=n)}for(let e of i.axes){let t=o.find(t=>t.axisName===e.name),n=gt(t?.allowedValues);c.axes[e.name]=t&&Array.isArray(n)?st(n.map(String)):[]}let{cellFields:l,cellRecords:u}=ut(t),d=ht(t,n);for(let t of s){let r=vt(i,t);if(!r)continue;let o=await ae(e,[pt(i),...u],{product:a,sku:t},n);c.cells[r]=Object.fromEntries(l.map(e=>{let{alias:t,field:n}=le(e.to),r=o[t]?.[n];return[e.id,r===void 0?d[e.id]:r]}))}return{state:c,existing:{productId:r,variants:o,skus:s}}}function bt(e,t){return[ce(e)||`SKU`,...t.values.map(ce)].filter(Boolean).join(`-`)}function xt(e,t,n,r){let{form:i}=e,{cellFields:a,cellRecords:o}=ut(e),s=[],c=se(i.fields,n.values),l=Z(i.fields,i.product.as,n.values);s.push({op:`save`,as:`product`,model:t(i.product.model),...r?{id:r.productId}:{},onCreate:Q(i.product.values,c),values:l});let u=t(i.variants);i.axes.forEach((e,t)=>{let r=st(n.axes[e.name]??[]),i={productId:{ref:`product`},axisName:e.name};if(r.length===0){s.push({op:`delete`,model:u,match:i});return}s.push({op:`save`,model:u,match:i,onCreate:{label:e.label.replace(/s$/i,``)},values:{allowedValues:JSON.stringify(r),sortOrder:t}})});let d=t(i.skus),f=lt(i,n),p=new Set(f.map(e=>e.key)),m=new Map((r?.skus??[]).flatMap(e=>{let t=vt(i,e);return t?[[t,e]]:[]}));for(let e of r?.skus??[]){let n=vt(i,e);if(!(n&&p.has(n))){for(let n of o){let r=Object.fromEntries(Object.entries(n.match??{}).flatMap(([t,n])=>typeof n==`object`&&n?.ref===`sku`?[[t,e.id]]:[]));Object.keys(r).length&&s.push({op:`delete`,model:t(n.model),match:r})}s.push({op:`delete`,model:d,id:e.id})}}let h=c[`product.name`],g=new Set((r?.skus??[]).filter(e=>p.has(vt(i,e)??``)).map(e=>String(e.code??``)));return f.forEach((r,i)=>{let l=m.get(r.key),u=r.values.join(` / `),f=`${String(h??``).trim()||`Item`} (${u})`,p=bt(h,r),_=p;for(let e=2;!l&&g.has(_);e++)_=`${p}-${e}`;g.add(_);let v=`sku#${i}`,y={name:f,attributes:JSON.stringify(r.attributes)};s.push(l?{op:`save`,as:v,model:d,id:l.id,values:y}:{op:`save`,as:v,model:d,match:{productId:{ref:`product`},code:_},onCreate:{active:!0},values:y});let b={...ht(e,t),...n.cells[r.key]??{}},x=e=>e===`product`?e:e===`sku`?v:`${e}#${i}`,S={...c,"sku.name":f,"sku.code":l?String(l.code??_):_};for(let e of o){let n=Z(a,e.as,b);s.push({op:`save`,as:x(e.as),model:t(e.model),...e.match?{match:Q(e.match,S,x)}:{},onCreate:Q(e.values,S,x),values:n})}}),s}var St=h(`<input type="number" min="0" step="1" class="svelte-1ojxqxz"/>`),Ct=h(`<span class="sku svelte-1ojxqxz"> </span>`),wt=h(`<p class="svelte-1ojxqxz">Loading...</p>`),Tt=h(`<p class="meta svelte-1ojxqxz">Add sizes or colors above to build the grid.</p>`),Et=h(`<th scope="col" class="svelte-1ojxqxz"> </th>`),Dt=h(`<td class="svelte-1ojxqxz"><!></td>`),Ot=h(`<tr><th scope="row" class="svelte-1ojxqxz"> </th><!></tr>`),kt=h(`<div class="scroll svelte-1ojxqxz"><table class="svelte-1ojxqxz"><caption class="visually-hidden svelte-1ojxqxz"> </caption><thead><tr><td class="svelte-1ojxqxz"><span class="visually-hidden svelte-1ojxqxz"> </span></td><!></tr></thead><tbody></tbody></table></div>`),At=h(`<th scope="row" class="svelte-1ojxqxz"> </th>`),jt=h(`<tr><!><td class="svelte-1ojxqxz"><!></td></tr>`),Mt=h(`<div class="scroll svelte-1ojxqxz"><table class="svelte-1ojxqxz"><caption class="visually-hidden svelte-1ojxqxz">Combinations</caption><thead><tr><!><th scope="col" class="svelte-1ojxqxz"> </th></tr></thead><tbody></tbody></table></div>`),Nt=h(`<p class="error svelte-1ojxqxz" role="alert"> </p>`),Pt=h(`<form class="svelte-1ojxqxz"><h3 class="svelte-1ojxqxz"> </h3> <!> <!> <div class="grid svelte-1ojxqxz" role="group"><h4 class="svelte-1ojxqxz"> <small class="svelte-1ojxqxz"> </small></h4> <!></div> <!> <div class="actions svelte-1ojxqxz"><button type="submit" class="svelte-1ojxqxz">Save</button> <button type="button" class="secondary svelte-1ojxqxz">Cancel</button></div></form>`);function Ft(e,t){r(t,!0);let l=(e,t=a)=>{var r=o(),s=w(r);i(s,17,()=>v(h),({field:e})=>e.id,(e,n)=>{let r=()=>v(n).field;var i=St();y(i),x((e,t)=>{N(i,`aria-label`,e),S(i,t)},[()=>`${r().label}, ${K(t())}`,()=>q(t().key,r().id)??``]),_(`focus`,i,e=>e.currentTarget.select()),c(`input`,i,e=>te(t().key,r().id,J(e.currentTarget.value))),g(e,i)},e=>{var r=Ct(),i=T(r,!0);x(e=>n(i,e),[()=>bt(v(W),t())]),g(e,r)}),g(e,r)},u=Fe(),d=F(()=>dt(t.active,$)),h=F(()=>ft(t.active,$)),b=P(D(mt(t.active,$))),C=P(void 0),O=P(t.id===void 0),k=P(``);async function j(e){let n=await yt(u,t.active,$,e);n&&(E(b,n.state,!0),E(C,n.existing,!0)),E(O,!0)}t.id!==void 0&&j(t.id);let I=F(()=>lt(t.active.form,v(b))),L=F(()=>t.active.form.axes.filter(e=>st(v(b).axes[e.name]??[]).length)),R=F(()=>v(L).length===2),z=F(()=>v(L)[0]),B=F(()=>v(L)[1]),V=F(()=>st(v(b).axes[v(z)?.name??``]??[])),ee=F(()=>st(v(b).axes[v(B)?.name??``]??[])),U=F(()=>new Map(v(I).map(e=>[e.key,e]))),W=F(()=>v(b).values.name),G=(...e)=>JSON.stringify(e),K=e=>e.values.join(` `);function q(e,t){return v(b).cells[e]?.[t]}function te(e,n,r){v(b).cells[e]={...ht(t.active,$),...v(b).cells[e]??{},[n]:r}}function J(e){if(e.trim()===``)return null;let t=Number(e);return Number.isFinite(t)?t:null}async function ne(e){if(e.preventDefault(),E(k,``),v(I).length===0){E(k,`Add at least one value to sell, such as a size or a color.`);return}try{await u.apply(xt(t.active,$,v(b),v(C))),t.onsaved()}catch(e){E(k,e instanceof Error?e.message:`Could not save.`,!0)}}var Y=o(),X=w(Y),re=e=>{var t=wt();g(e,t)},ie=e=>{var r=Pt(),a=M(r),o=T(a,!0),u=A(a,2);i(u,17,()=>v(d),({field:e,catalogField:t})=>e.id,(e,n)=>{let r=()=>v(n).field,i=()=>v(n).catalogField;{let n=F(()=>({...i(),required:r().required??i().required}));Ze(e,{get field(){return v(n)},get label(){return r().label},get help(){return r().help},get idPrefix(){return t.active.form.id},get value(){return v(b).values[r().id]},onchange:e=>v(b).values[r().id]=e})}});var m=A(u,2);i(m,17,()=>t.active.form.axes,e=>e.name,(e,t)=>{{let n=F(()=>`Add a ${v(t).label.replace(/s$/i,``).toLowerCase()}`),r=F(()=>v(b).axes[v(t).name]??[]);H(e,{get label(){return v(t).label},get placeholder(){return v(n)},get values(){return v(r)},onvalueschange:e=>v(b).axes[v(t).name]=st(e)})}});var y=A(m,2),S=M(y),C=M(S),w=A(C),E=T(w);f(S);var D=A(S,2),O=e=>{var t=Tt();g(e,t)},j=e=>{var t=kt(),r=M(t),a=M(r),o=T(a),s=A(a),c=M(s),u=M(c),d=M(u),m=T(d,!0);f(u);var h=A(u);i(h,16,()=>v(ee),e=>e,(e,t)=>{var r=Et(),i=T(r,!0);x(()=>n(i,t)),g(e,r)}),f(c),f(s);var _=A(s);i(_,20,()=>v(V),e=>e,(e,t)=>{var r=Ot(),a=M(r),o=T(a,!0),s=A(a);i(s,16,()=>v(ee),e=>e,(e,n)=>{let r=F(()=>v(U).get(G(t,n)));var i=Dt(),a=M(i),o=e=>{l(e,()=>v(r))};p(a,e=>{v(r)&&e(o)}),f(i),g(e,i)}),f(r),x(()=>n(o,t)),g(e,r)}),f(_),f(r),f(t),x(e=>{n(o,`${v(z).label??``} by ${e??``}`),n(m,v(z).label)},[()=>v(B).label.toLowerCase()]),g(e,t)},P=e=>{var t=Mt(),r=M(t),a=A(M(r)),o=M(a),c=M(o);i(c,17,()=>v(L),e=>e.name,(e,t)=>{var r=Et(),i=T(r,!0);x(()=>n(i,v(t).label)),g(e,r)});var u=A(c),d=T(u,!0);f(o),f(a);var p=A(a);i(p,21,()=>v(I),e=>e.key,(e,t)=>{var r=jt(),a=M(r);i(a,17,()=>v(t).values,s,(e,t)=>{var r=At(),i=T(r,!0);x(()=>n(i,v(t))),g(e,r)});var o=A(a),c=M(o);l(c,()=>v(t)),f(o),f(r),g(e,r)}),f(p),f(r),f(t),x(e=>n(d,e),[()=>v(h).length?v(h).map(e=>e.field.label).join(`, `):`SKU`]),g(e,t)};p(D,e=>{v(I).length===0?e(O):v(R)&&v(z)&&v(B)?e(j,1):e(P,-1)}),f(y);var W=A(y,2),K=e=>{var t=Nt(),r=T(t,!0);x(()=>n(r,v(k))),g(e,t)};p(W,e=>{v(k)&&e(K)});var q=A(W,2),te=A(M(q),2);f(q),f(r),x((e,r,i)=>{n(o,e),N(y,`aria-labelledby`,`${t.active.form.id}-grid`),N(S,`id`,`${t.active.form.id}-grid`),n(C,`${r??``} `),n(E,`${v(I).length??``} ${v(I).length===1?`combination`:`combinations`}, one
|
|
2
2
|
SKU each${i??``}`)},[()=>t.id===void 0?`New ${t.active.form.label.toLowerCase()}`:`Edit ${t.active.form.label.toLowerCase()}`,()=>v(L).map((e,t)=>t===0?e.label:e.label.toLowerCase()).join(` by `)||`Combinations`,()=>v(h).length?`, with ${v(h).map(e=>e.field.label.toLowerCase()).join(` and `)} for each`:``]),_(`submit`,r,ne),c(`click`,te,function(...e){t.oncancel?.apply(this,e)}),g(e,r)};p(X,e=>{v(O)?e(ie,-1):e(re)}),g(e,Y),m()}j([`input`,`click`]);var It=h(`<small class="svelte-r3pzvb"> </small>`),Lt=h(`<button type="button" class="svelte-r3pzvb"> </button>`),Rt=h(`<p>Loading sample data...</p>`),zt=h(`<p>No records yet. Create one above.</p>`),Bt=h(`<th scope="col" class="svelte-r3pzvb">Stock</th>`),Vt=h(`<td class="svelte-r3pzvb"> </td>`),Ht=h(`<button type="button" class="secondary svelte-r3pzvb">Edit</button>`),Ut=h(`<tr><td class="svelte-r3pzvb"> </td><td class="svelte-r3pzvb"> </td><td class="svelte-r3pzvb"> </td><!><td class="row-actions svelte-r3pzvb"><!> <button type="button" class="secondary svelte-r3pzvb">Delete</button></td></tr>`),Wt=h(`<div class="scroll svelte-r3pzvb"><table class="svelte-r3pzvb"><thead><tr><th scope="col" class="svelte-r3pzvb">Name</th><th scope="col" class="svelte-r3pzvb">Kind</th><th scope="col" class="svelte-r3pzvb">Price</th><!><th scope="col" class="svelte-r3pzvb"><span class="visually-hidden svelte-r3pzvb">Actions</span></th></tr></thead><tbody></tbody></table></div>`),Gt=h(`<section class="svelte-r3pzvb"><header class="svelte-r3pzvb"><h2 class="svelte-r3pzvb"> <!></h2> <div class="new svelte-r3pzvb"></div></header> <!> <!></section>`);function Kt(e,t){r(t,!0);let a=Fe(),s=F(()=>t.forms.some(e=>$e(e,Re))),l=F(()=>t.scope?.equals===void 0?t.forms:t.forms.filter(Xe)),h=F(()=>t.forms.find(qe)),_=F(()=>t.forms.find(Xe)),y=P(D([])),b=P(D(new Set)),S=P(D(new Map)),C=P(!1),O=P(null),j=P(0);async function L(){E(y,(await a.list(t.model)).filter(e=>z(t.scope,e)),!0);let e=await a.list($(Le));E(b,new Set(e.map(e=>String(e.productId))),!0),E(S,v(s)?Ve(await a.list($(Be)),await a.list($(Re))):new Map,!0),E(C,!0)}k(()=>{t.model.id,t.forms,t.scope,E(O,null),E(C,!1),L().then(()=>{let e=v(l)[0];at(pe.url.pathname)&&e&&V(e)})}),k(()=>a.onReset?.(()=>void L()));let R=e=>v(b).has(e.id)?v(h):v(_),B=e=>R(e)?.form.kindLabel??(v(b).has(e.id)?`Clothing`:`Simple`);function V(e,t){E(O,{form:e,id:t},!0),I(j)}async function H(){E(O,null),await L()}async function ee(e){let t=(await a.list($(Be))).filter(t=>t.productId===e.id);await a.apply(ze(e.id,t,$)),await L()}var U=Gt(),W=M(U),G=M(W),K=M(G),q=A(K),te=e=>{var t=It(),r=T(t,!0);x(e=>n(r,e),[()=>Ce(v(y).length)]),g(e,t)};p(q,e=>{v(C)&&e(te)}),f(G);var J=A(G,2);i(J,21,()=>v(l),e=>e.form.id,(e,r)=>{var i=Lt(),a=T(i);x(e=>n(a,`New ${e??``}`),[()=>Ae(v(r).form.label,t.noun,t.scope?.equals!==void 0||v(l).length===1)]),c(`click`,i,()=>V(v(r))),g(e,i)}),f(J),f(W);var ne=A(W,2),Y=e=>{let n=F(()=>v(O));var r=o(),i=w(r);u(i,()=>v(j),e=>{var r=o(),i=w(r),a=e=>{Ft(e,{get active(){return v(n).form},get id(){return v(n).id},onsaved:H,oncancel:()=>E(O,null)})},s=F(()=>qe(v(n).form)),c=e=>{{let r=F(()=>v(l).length===1?t.noun:void 0);nt(e,{get active(){return v(n).form},get id(){return v(n).id},get preset(){return t.preset},get noun(){return v(r)},onsaved:H,oncancel:()=>E(O,null)})}},u=F(()=>Xe(v(n).form));p(i,e=>{v(s)?e(a):v(u)&&e(c,1)}),g(e,r)}),g(e,r)};p(ne,e=>{v(O)&&e(Y)});var X=A(ne,2),re=e=>{var t=Rt();g(e,t)},ie=e=>{var t=zt();g(e,t)},ae=e=>{var t=Wt(),r=M(t),a=M(r),o=M(a),l=A(M(o),3),u=e=>{var t=Bt();g(e,t)};p(l,e=>{v(s)&&e(u)}),d(),f(o),f(a);var m=A(a);i(m,21,()=>v(y),e=>e.id,(e,t)=>{let r=F(()=>R(v(t)));var i=Ut(),a=M(i),o=T(a,!0),l=A(a),u=T(l,!0),d=A(l),m=T(d,!0),h=A(d),_=e=>{var r=Vt(),i=T(r,!0);x(e=>n(i,e),[()=>v(S).get(v(t).id)??`–`]),g(e,r)};p(h,e=>{v(s)&&e(_)});var y=A(h),b=M(y),C=e=>{var n=Ht();x(()=>N(n,`aria-label`,`Edit ${v(t).name}`)),c(`click`,n,()=>V(v(r),v(t).id)),g(e,n)};p(b,e=>{v(r)&&e(C)});var w=A(b,2);f(y),f(i),x((e,r)=>{n(o,v(t).name),n(u,e),n(m,r),N(w,`aria-label`,`Delete ${v(t).name}`)},[()=>B(v(t)),()=>typeof v(t).price==`number`?Me(v(t).price):``]),c(`click`,w,()=>ee(v(t))),g(e,i)}),f(m),f(r),f(t),g(e,t)};p(X,e=>{v(C)?v(y).length===0?e(ie,1):e(ae,-1):e(re)}),f(U),x(()=>n(K,`${t.title??(t.model.name===`Product`?`Products`:t.model.name)??``} `)),g(e,U),m()}j([`click`]);var qt=h(`<div class="derived svelte-1yufor4"><!> <output> </output> <small class="svelte-1yufor4">Calculated from quantity, price, discount and tax.</small></div>`),Jt=h(`<p class="error svelte-1yufor4" role="alert" data-error-summary=""> </p>`),Yt=h(`<form novalidate="" class="svelte-1yufor4"><!> <!> <div class="actions svelte-1yufor4"><button type="submit" class="svelte-1yufor4">Save</button> <button type="button" class="secondary svelte-1yufor4">Cancel</button></div></form>`),Xt=h(`<p class="svelte-1yufor4">Loading...</p>`),Zt=h(`<p class="empty svelte-1yufor4">None yet.</p>`),Qt=h(`<th class="svelte-1yufor4"> </th>`),$t=h(`<td class="svelte-1yufor4"> </td>`),en=h(`<tr><!><td class="row-actions svelte-1yufor4"><button type="button" class="secondary svelte-1yufor4">Edit</button> <button type="button" class="secondary svelte-1yufor4">Delete</button></td></tr>`),tn=h(`<div class="scroll svelte-1yufor4"><table class="svelte-1yufor4"><thead><tr><!><th class="svelte-1yufor4"><span class="visually-hidden svelte-1yufor4">Actions</span></th></tr></thead><tbody></tbody></table></div>`),nn=h(`<section class="children svelte-1yufor4"><header class="svelte-1yufor4"><h3 class="svelte-1yufor4"> <small class="svelte-1yufor4"> </small></h3> <button type="button" class="secondary svelte-1yufor4"> </button></header> <!> <!></section>`);function rn(t,a){r(a,!0);let s=Fe(),l=F(()=>[...a.fields.filter(e=>e.name!==a.fk)].sort((e,t)=>Number(v(h)&&Pe(t))-Number(v(h)&&Pe(e)))),h=F(()=>be(a.model)),y=F(()=>We(v(l))),b=F(()=>he(a.model,!1)),S=e=>e===`amount`?me(v(B)).amount:v(B)[e],C=P(D({})),O=F(()=>tt(v(l),v(C))),j=P(D([])),L=P(D(new Map)),R=P(!1),z=P(null),B=P(D({})),V=P(0);async function H(){let e=Ge(await s.list(a.model),a.fk,a.parentId);E(L,await fe(s,v(l),e),!0),E(j,e,!0),E(R,!0)}k(()=>{a.model.id,a.parentId,E(z,null),E(R,!1),H()});let U=e=>rt(a.model,v(l),e,v(L))||de(e.id);function W(){E(C,{},!0),E(B,Je(v(l),a.fk,a.parentId),!0),E(z,`new`),I(V)}function G(e){E(C,{},!0),E(B,{...e},!0),E(z,e.id,!0),I(V)}async function K(e,t){if(v(B)[e.name]=t,delete v(C)[e.name],!v(h)||!Pe(e)||typeof t!=`string`)return;let n=e.related&&Se(e.related)?.model,r=n?await s.get(n,t):void 0;Object.assign(v(B),xe(a.model,r))}async function q(t){t.preventDefault();let n=t.currentTarget;if(E(C,Ye(v(l),v(B),v(b)),!0),Object.keys(v(C)).length>0){await e(),et(n);return}let r={};for(let e of v(l))v(b).has(e.name)||(r[e.name]=v(B)[e.name]);r[a.fk]=a.parentId,v(z)===`new`?await s.create(a.model,r):v(z)&&await s.update(a.model,v(z),r),E(z,null),await H(),a.onchanged?.()}async function te(e){await s.delete(a.model,e.id),await H(),a.onchanged?.()}var J=nn(),ne=M(J),Y=M(ne),X=M(Y),re=A(X),ie=T(re,!0);f(Y);var ae=A(Y,2),oe=T(ae);f(ne);var se=A(ne,2),ce=e=>{var t=o(),r=w(t);u(r,()=>v(V),e=>{var t=Yt(),r=M(t);i(r,17,()=>v(l),e=>e.name,(e,t)=>{var r=o(),i=w(r),s=e=>{var r=qt(),i=M(r);ee(i,{get label(){return v(t).label}});var a=A(i,2),o=T(a,!0);d(2),f(r),x(e=>{N(a,`data-derived`,v(t).name),n(o,e)},[()=>we(v(t),S(v(t).name),v(L))]),g(e,r)},c=F(()=>v(b).has(v(t).name)),l=e=>{Ze(e,{get field(){return v(t)},get error(){return v(C)[v(t).name]},get modelId(){return a.model.id},get label(){return v(t).label},get help(){return v(t).help},get value(){return v(B)[v(t).name]},onchange:e=>K(v(t),e)})};p(i,e=>{v(c)?e(s):e(l,-1)}),g(e,r)});var s=A(r,2),u=e=>{var t=Jt(),r=T(t,!0);x(()=>n(r,v(O))),g(e,t)};p(s,e=>{v(O)&&e(u)});var m=A(s,2),h=A(M(m),2);f(m),f(t),_(`submit`,t,q),c(`click`,h,()=>E(z,null)),g(e,t)}),g(e,t)};p(se,e=>{v(z)&&e(ce)});var Z=A(se,2),Q=e=>{var t=Xt();g(e,t)},$=e=>{var t=Zt();g(e,t)},le=e=>{var t=tn(),r=M(t),a=M(r),o=M(a),s=M(o);i(s,17,()=>v(y),e=>e.name,(e,t)=>{var r=Qt(),i=T(r,!0);x(()=>n(i,v(t).label)),g(e,r)}),d(),f(o),f(a);var l=A(a);i(l,21,()=>v(j),e=>e.id,(e,t)=>{var r=en(),a=M(r);i(a,17,()=>v(y),e=>e.name,(e,r)=>{var i=$t(),a=T(i,!0);x(e=>n(a,e),[()=>we(v(r),Qe(v(r),v(t)),v(L))]),g(e,i)});var o=A(a),s=M(o),l=A(s,2);f(o),f(r),x((e,t)=>{N(s,`aria-label`,e),N(l,`aria-label`,t)},[()=>`Edit ${U(v(t))}`,()=>`Delete ${U(v(t))}`]),c(`click`,s,()=>G(v(t))),c(`click`,l,()=>te(v(t))),g(e,r)}),f(l),f(r),f(t),g(e,t)};p(Z,e=>{v(R)?v(j).length===0?e($,1):e(le,-1):e(Q)}),f(J),x(e=>{N(J,`data-child-model`,a.model.name),n(X,`${a.title??``} `),n(ie,v(j).length),n(oe,`Add ${e??``}`)},[()=>a.title.toLowerCase().replace(/s$/,``)]),c(`click`,ae,W),g(t,J),m()}j([`click`]);var an=h(`<small class="svelte-1f6fvpi"> </small>`),on=h(`<button type="button" class="svelte-1f6fvpi"> </button>`),sn=h(`<div><dt class="svelte-1f6fvpi"> </dt> <dd class="svelte-1f6fvpi"><output> </output></dd></div>`),cn=h(`<div class="derived totals svelte-1f6fvpi" data-derived-group="totals"><dl class="svelte-1f6fvpi"></dl> <small class="svelte-1f6fvpi">Calculated from the line items.</small></div>`),ln=h(`<div class="derived svelte-1f6fvpi"><!> <output> </output> <small class="svelte-1f6fvpi">Calculated from the payments applied to this record.</small></div>`),un=h(`<p class="error svelte-1f6fvpi" role="alert" data-error-summary=""> </p>`),dn=h(`<form novalidate="" class="svelte-1f6fvpi"><h3 class="svelte-1f6fvpi"> </h3> <!> <!> <div class="actions svelte-1f6fvpi"><button type="submit" class="svelte-1f6fvpi">Save</button> <button type="button" class="secondary svelte-1f6fvpi"> </button></div></form>`),fn=h(`<!> <!>`,1),pn=h(`<p>Loading...</p>`),mn=h(`<p>No records yet. Create one above.</p>`),hn=h(`<th class="svelte-1f6fvpi"> </th>`),gn=h(`<td class="svelte-1f6fvpi"> </td>`),_n=h(`<tr><!><td class="row-actions svelte-1f6fvpi"><button type="button" class="secondary svelte-1f6fvpi">Edit</button> <button type="button" class="secondary svelte-1f6fvpi">Delete</button></td></tr>`),vn=h(`<div class="scroll svelte-1f6fvpi"><table class="svelte-1f6fvpi"><thead><tr><!><th class="svelte-1f6fvpi"><span class="visually-hidden svelte-1f6fvpi">Actions</span></th></tr></thead><tbody></tbody></table></div>`),yn=h(`<section class="svelte-1f6fvpi"><header class="svelte-1f6fvpi"><h2 class="svelte-1f6fvpi"> <!></h2> <!></header> <!> <!></section>`);function bn(t,a){r(a,!0);let s=b(a,`forms`,19,()=>[]),l=b(a,`childTables`,19,()=>[]),h=Fe(),y=F(()=>a.fields??Ne(a.model).map(e=>({...e,label:ke(e)}))),S=F(()=>s().filter(e=>Xe(e))),C=F(()=>We(v(y))),O=F(()=>he(a.model,l().some(e=>be(e.model)),l().some(e=>ve(e.model)))),j=F(()=>v(y).filter(e=>v(O).has(e.name)&&ye.includes(e.name))),L=F(()=>a.noun??Te(a.model.name).toLowerCase()),R=F(()=>a.title??Ee(Te(a.model.name))),B=P(D([])),V=P(D(new Map)),H=P(!1),U=P(null),W=P(void 0),G=P(D({})),K=P(0),q=P(D({})),te=F(()=>tt(v(y),v(q))),J=e=>rt(a.model,v(y),e,v(V))||de(e.id),ne=F(()=>v(U)&&v(U)!==`new`?rt(a.model,v(y),v(B).find(e=>e.id===v(U))??{},v(V)):``);async function Y(){let e=(await h.list(a.model)).filter(e=>z(a.scope,e));E(V,await fe(h,v(y),e),!0),E(B,e,!0),E(H,!0)}k(()=>{a.model.id,a.scope,E(U,null),E(H,!1),Y().then(()=>{at(pe.url.pathname)&&re(v(S)[0])})}),k(()=>h.onReset?.(()=>void Y()));async function X(){E(U,null),await Y()}function re(e){if(e){E(W,e,!0),E(U,`new`),I(K);return}E(W,void 0),E(G,{...Ue(v(y)),...a.preset},!0),E(q,{},!0),E(U,`new`),I(K)}function ie(e){if(v(S)[0]){E(W,v(S)[0],!0),E(U,e.id,!0),I(K);return}E(W,void 0),E(G,{...e},!0),E(q,{},!0),E(U,e.id,!0),I(K)}async function ae(t){t.preventDefault();let n=t.currentTarget;if(E(q,Ye(v(y),v(G),v(O)),!0),Object.keys(v(q)).length>0){await e(),et(n);return}let r={};for(let e of v(y))v(O).has(e.name)||(r[e.name]=v(G)[e.name]);if(v(U)===`new`){let e=await h.create(a.model,r);E(U,l().length?e.id:null,!0),v(U)&&(E(G,{...e},!0),I(K))}else v(U)&&(await h.update(a.model,v(U),r),E(U,null));await Y()}async function oe(){if(!v(U)||v(U)===`new`)return;let e=await h.get(a.model,v(U));if(e){for(let t of v(O))v(G)[t]=e[t];v(O).has(`amountPaid`)&&(v(G).status=e.status)}await Y()}async function se(e){await h.delete(a.model,e.id),await Y()}var ce=yn(),Z=M(ce),Q=M(Z),$=M(Q),le=A($),ue=e=>{var t=an(),r=T(t,!0);x(e=>n(r,e),[()=>Ce(v(B).length)]),g(e,t)};p(le,e=>{v(H)&&e(ue)}),f(Q);var me=A(Q,2),ge=e=>{var t=o(),r=w(t);i(r,17,()=>v(S),e=>e.form.id,(e,t)=>{var r=on(),i=T(r);x(e=>n(i,`New ${e??``}`),[()=>Ae(v(t).form.label,a.noun,v(S).length===1)]),c(`click`,r,()=>re(v(t))),g(e,r)}),g(e,t)},_e=e=>{var t=on(),r=T(t);x(()=>n(r,`New ${v(L)??``}`)),c(`click`,t,()=>re()),g(e,t)};p(me,e=>{v(S).length?e(ge):e(_e,-1)}),f(Z);var xe=A(Z,2),Se=e=>{var t=fn(),r=w(t);u(r,()=>v(K),e=>{var t=o(),r=w(t),s=e=>{{let t=F(()=>v(U)===`new`?void 0:v(U)),n=F(()=>v(S).length===1?a.noun:void 0);nt(e,{get active(){return v(W)},get id(){return v(t)},get preset(){return a.preset},get noun(){return v(n)},onsaved:X,oncancel:()=>E(U,null)})}},u=e=>{var t=dn(),r=M(t),s=T(r,!0),u=A(r,2);i(u,17,()=>v(y),e=>e.name,(e,t)=>{var r=o(),s=w(r),c=e=>{var r=o(),a=w(r),s=e=>{var t=cn(),r=M(t);i(r,21,()=>v(j),e=>e.name,(e,t)=>{var r=sn(),i=M(r),a=T(i,!0),o=A(i,2),s=M(o),c=T(s,!0);f(o),f(r),x(e=>{n(a,v(t).label),N(s,`data-derived`,v(t).name),n(c,e)},[()=>we(v(t),v(G)[v(t).name]??0,v(V))]),g(e,r)}),f(r),d(2),f(t),g(e,t)};p(a,e=>{v(t)===v(j)[0]&&e(s)}),g(e,r)},l=F(()=>v(j).includes(v(t))),u=e=>{var r=ln(),i=M(r);ee(i,{get label(){return v(t).label}});var a=A(i,2),o=T(a,!0);d(2),f(r),x(e=>{N(a,`data-derived`,v(t).name),n(o,e)},[()=>we(v(t),v(G)[v(t).name]??0,v(V))||`—`]),g(e,r)},m=F(()=>v(O).has(v(t).name)),h=e=>{Ze(e,{get field(){return v(t)},get error(){return v(q)[v(t).name]},get modelId(){return a.model.id},get label(){return v(t).label},get help(){return v(t).help},get value(){return v(G)[v(t).name]},onchange:e=>{v(G)[v(t).name]=e,delete v(q)[v(t).name]}})};p(s,e=>{v(l)?e(c):v(m)?e(u,1):e(h,-1)}),g(e,r)});var m=A(u,2),h=e=>{var t=un(),r=T(t,!0);x(()=>n(r,v(te))),g(e,t)};p(m,e=>{v(te)&&e(h)});var b=A(m,2),S=A(M(b),2),C=T(S,!0);f(b),f(t),x(()=>{n(s,v(U)===`new`?`New ${v(L)}`:v(ne)||a.model.name),n(C,l().length?`Back to list`:`Cancel`)}),_(`submit`,t,ae),c(`click`,S,()=>E(U,null)),g(e,t)};p(r,e=>{v(W)?e(s):e(u,-1)}),g(e,t)});var s=A(r,2),m=e=>{var t=o(),n=w(t);i(n,17,l,e=>e.model.id,(e,t)=>{rn(e,{get model(){return v(t).model},get fields(){return v(t).fields},get fk(){return v(t).fk},get title(){return v(t).title},get parentId(){return v(U)},onchanged:oe})}),g(e,t)};p(s,e=>{v(U)!==`new`&&e(m)}),g(e,t)};p(xe,e=>{v(U)&&e(Se)});var De=A(xe,2),Oe=e=>{},je=e=>{var t=pn();g(e,t)},Me=e=>{var t=mn();g(e,t)},Pe=e=>{var t=vn(),r=M(t),a=M(r),o=M(a),s=M(o);i(s,17,()=>v(C),e=>e.name,(e,t)=>{var r=hn(),i=T(r,!0);x(()=>n(i,v(t).label)),g(e,r)}),d(),f(o),f(a);var l=A(a);i(l,21,()=>v(B),e=>e.id,(e,t)=>{var r=_n(),a=M(r);i(a,17,()=>v(C),e=>e.name,(e,r)=>{var i=gn(),a=T(i,!0);x(e=>n(a,e),[()=>we(v(r),Qe(v(r),v(t)),v(V))]),g(e,i)});var o=A(a),s=M(o),l=A(s,2);f(o),f(r),x((e,t)=>{N(s,`aria-label`,e),N(l,`aria-label`,t)},[()=>`Edit ${J(v(t))}`,()=>`Delete ${J(v(t))}`]),c(`click`,s,()=>ie(v(t))),c(`click`,l,()=>se(v(t))),g(e,r)}),f(l),f(r),f(t),g(e,t)};p(De,e=>{v(U)&&l().length?e(Oe):v(H)?v(B).length===0?e(Me,2):e(Pe,-1):e(je,1)}),f(ce),x(()=>n($,`${v(R)??``} `)),g(t,ce),m()}j([`click`]);var xn=h(`<a> </a> `,1),Sn=h(`<span class="meta svelte-7s4ovu">(not in your app yet)</span>`),Cn=h(` <a> </a>`,1),wn=h(`<p> <!></p>`),Tn=h(`<main class="svelte-7s4ovu"><div class="bar svelte-7s4ovu"><nav aria-label="Breadcrumb"><!> <!></nav> <!></div> <!></main>`);function En(e,a){r(a,!0);let s=F(()=>ge(a.packageId,a.modelName)),c=F(()=>v(s)?X.apply(v(s)):void 0),u=F(()=>v(c)?.model),h=F(()=>v(s)?Ke(X.ids,q,v(s).id):[]),_=F(()=>q.filter(e=>v(s)&&e.models.includes(v(s).id))),y=F(()=>v(_).find(e=>X.has(e.id))??v(_)[0]),b=F(()=>v(y)?J(v(y)):void 0),S=F(()=>v(y)?v(y).group?.label??v(y).label:``),E=B(),D=F(()=>{let e=pe.url.pathname,t=e=>new URL(e,pe.url).pathname;for(let n of E.applied.groups){let r=n.items.find(n=>t(n.href)===e);if(r)return{section:n.heading,label:r.label,sectionId:n.id??n.heading}}let n=E.applied.nav.find(n=>t(n.href)===e);return n?{section:n.label,label:n.label}:void 0}),k=F(()=>{if(v(D))return v(D);if(!v(s))return;let e=v(_).find(e=>X.has(e.id));if(!e)return X.hasFeature(v(s).id)?{section:V.layout?.sections?.[`section:${K.id}`]?.label||K.label,label:Te(v(s).name),sectionId:`section:${K.id}`}:void 0;let t=te(e),n=Y(e).find(e=>e.model.id===v(s).id&&e.key===a.view);return{section:V.layout?.sections?.[`section:${t.id}`]?.label||t.label,label:n?.label??v(s).name,sectionId:`section:${t.id}`}}),j=e=>e.section.trim().toLowerCase()===e.label.trim().toLowerCase(),P=F(()=>v(k)&&v(s)&&v(k).label.toLowerCase()!==Te(v(s).name).toLowerCase()?v(k).label:void 0),I=F(()=>v(_).flatMap(e=>Y(e)).find(e=>e.model.id===v(s)?.id&&e.key===a.view&&e.noun)?.noun),z=F(()=>v(s)?R(v(s).id,a.view,X.ids.flatMap(e=>{let t=q.find(t=>t.id===e);return t?Y(t):[]})):void 0),H=F(()=>L(v(z))),ee=F(()=>v(k)?De(v(k).label,v(I)):void 0),ae=F(()=>{let e=v(_).find(e=>e.help&&J(e)===v(b)&&X.has(e.id))??v(_).find(e=>e.help&&J(e)===v(b));if(!e?.help)return;let{glossary:t}=it(e.help,ne(e,X.rows));return t.some(e=>e.model===a.modelName)?`${e.id}-fields-${a.modelName}`:void 0}),oe=F(()=>{if(!v(s))return[];let e=W(_e,v(s).id);return U(_e,q,v(s).id).map(t=>{let n=X.apply(t.model);return{model:n.model,fields:n.fields,fk:t.fk,title:G(t.model.name,e)}})}),se=F(()=>!v(s)||re(q,v(s).id)||X.hasFeature(v(s).id)||!v(_).length?[]:q.flatMap(e=>Y(e).filter(t=>U(_e,[e],t.model.id).some(e=>e.model.id===v(s).id)))),ce=F(()=>Oe.has(a.packageId)||(v(s)?X.hasFeature(v(s).id):!1)||v(_).some(e=>X.has(e.id)));var Z=o();t(`7s4ovu`,e=>{O(e=>{C.title=`${a.modelName??``} · ${e??``} · smrt planner`},[()=>Te(a.packageId)])});var Q=w(Z),$=e=>{var t=Tn(),r=M(t),a=M(r),s=M(a),m=e=>{var t=o(),r=w(t),i=e=>{var t=l();x(()=>n(t,v(k).label)),g(e,t)},a=F(()=>j(v(k))||!v(k).sectionId),s=e=>{var t=xn(),r=w(t),i=T(r,!0),a=A(r);x(e=>{N(r,`href`,e),n(i,v(k).section),n(a,` / ${v(k).label??``}`)},[()=>je(He(v(k).sectionId))]),g(e,t)};p(r,e=>{v(a)?e(i):e(s,-1)}),g(e,t)},_=e=>{var t=l();x(()=>n(t,v(u).name)),g(e,t)};p(s,e=>{v(k)?e(m):e(_,-1)});var y=A(s,2),C=e=>{var t=Sn();g(e,t)};p(y,e=>{V.loaded&&!v(ce)&&e(C)}),f(a);var E=A(a,2),D=e=>{Ie(e,{get section(){return v(b)},get label(){return v(S)},get helpAnchor(){return v(ae)}})};p(E,e=>{v(b)&&e(D)}),f(r);var O=A(r,2),I=e=>{var t=wn(),r=M(t),a=A(r);i(a,19,()=>v(se),e=>e.model.id,(e,t,r)=>{d();var i=Cn(),a=w(i,!0),o=A(a),s=T(o,!0);x(e=>{n(a,v(r)?`, `:``),N(o,`href`,e),n(s,v(t).label)},[()=>je(ie(v(t)))]),g(e,i)}),f(t),x(e=>n(r,`${e??``} records live inside their parent record. Open
|
|
3
3
|
one of: `),[()=>Te(v(u).name)]),g(e,t)},L=e=>{Kt(e,{get model(){return v(u)},get forms(){return v(h)},get scope(){return v(z)},get preset(){return v(H)},get title(){return v(P)},get noun(){return v(ee)}})},R=e=>{bn(e,{get model(){return v(u)},get fields(){return v(c).fields},get forms(){return v(h)},get childTables(){return v(oe)},get title(){return v(P)},get noun(){return v(ee)},get scope(){return v(z)},get preset(){return v(H)}})};p(O,e=>{v(se).length?e(I):v(h).length&&v(u).id===`@happyvertical/smrt-products:Product`?e(L,1):e(R,-1)}),f(t),g(e,t)};p(Q,e=>{v(u)&&v(c)&&e($)}),g(e,Z),m()}export{En as t};
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["../nodes/0.
|
|
2
|
-
import{$ as e,B as t,Et as n,H as r,K as i,M as a,Nt as o,R as s,Tt as c,U as l,V as u,Z as d,a as f,at as p,d as m,dt as h,gt as g,i as _,ot as v,pt as y,r as b,st as x,ut as S,vt as C,xt as w}from"../chunks/Chyo8rdT.js";import{t as T}from"../chunks/uBIymjUX.js";import"../chunks/xihTtKlq.js";var E={},D=l(`<div id="svelte-announcer" aria-live="assertive" aria-atomic="true" style="position: absolute; left: 0; top: 0; clip: rect(0 0 0 0); clip-path: inset(50%); overflow: hidden; white-space: nowrap; width: 1px; height: 1px"><!></div>`),O=l(`<!> <!>`,1);function k(l,_){n(_,!0);let T=f(_,`components`,23,()=>[]),E=f(_,`data_0`,3,null),k=f(_,`data_1`,3,null);x(()=>_.stores.page.set(_.page)),v(()=>{_.stores,_.page,_.constructors,T(),_.form,E(),k(),_.stores.page.notify()});let A=C(!1),j=C(!1),M=C(null);b(()=>{let t=_.stores.page.subscribe(()=>{d(A)&&(g(j,!0),e().then(()=>{g(M,document.title||`untitled page`,!0)}))});return g(A,!0),t});let N=w(()=>_.constructors[1]);var P=O(),F=h(P),I=e=>{let t=w(()=>_.constructors[0]);var n=r(),i=h(n);a(i,()=>d(t),(e,t)=>{m(t(e,{get data(){return E()},get form(){return _.form},get params(){return _.page.params},children:(e,t)=>{var n=r(),i=h(n);a(i,()=>d(N),(e,t)=>{m(t(e,{get data(){return k()},get form(){return _.form},get params(){return _.page.params}}),e=>T()[1]=e,()=>T()?.[1])}),u(e,n)},$$slots:{default:!0}}),e=>T()[0]=e,()=>T()?.[0])}),u(e,n)},L=e=>{let t=w(()=>_.constructors[0]);var n=r(),i=h(n);a(i,()=>d(t),(e,t)=>{m(t(e,{get data(){return E()},get form(){return _.form},get params(){return _.page.params}}),e=>T()[0]=e,()=>T()?.[0])}),u(e,n)};s(F,e=>{_.constructors[1]?e(I):e(L,-1)});var R=y(F,2),z=e=>{var n=D(),r=S(n),a=e=>{var n=i();p(()=>t(n,d(M))),u(e,n)};s(r,e=>{d(j)&&e(a)}),o(n),u(e,n)};s(R,e=>{d(A)&&e(z)}),u(l,P),c()}var A=_(k),j=[()=>T(()=>import(`../nodes/0.
|
|
1
|
+
const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["../nodes/0.m_U8WC7E.js","../chunks/Dd_uD5pT.js","../chunks/Chyo8rdT.js","../chunks/2jFBkS1C.js","../chunks/Dt-HX3Vu.js","../chunks/xihTtKlq.js","../chunks/1okeBSoq.js","../chunks/D0VgZnk1.js","../chunks/BWPhGFHl.js","../assets/feedback.BVKAwFck.css","../chunks/CWtfVMDz.js","../chunks/CPRHZZeW.js","../assets/Button.DkP0qkG9.css","../assets/ui.B1A1Zl2p.css","../chunks/DVRKjN-E.js","../assets/SegmentedControl.B8SrQacd.css","../chunks/WxSPP8QW.js","../chunks/CygC84VT.js","../assets/forms.BChZ2RWM.css","../chunks/p6bgzXiY.js","../chunks/D_J_XtJy.js","../assets/dist.C5nHBk_O.css","../chunks/BKwRT_1p.js","../assets/store.CGDwHkkF.css","../assets/workspace.BIMkuZDb.css","../chunks/CsprTb3f.js","../chunks/uBIymjUX.js","../chunks/CRQ1Pmzr.js","../chunks/B4Kevpe0.js","../chunks/BYcBM-fh.js","../chunks/Ci0DUht6.js","../chunks/DkR8_Ws6.js","../chunks/C7zBd-pD.js","../chunks/D7hhQvDO.js","../chunks/CA-A9Ngs.js","../chunks/CyUMm_Wp.js","../chunks/BQxY8kkL.js","../chunks/leQCwW2d.js","../assets/AiSetup.Cb22AigN.css","../chunks/CMhpRMKg.js","../chunks/Dp9GVO-9.js","../chunks/6P9zxrzU.js","../chunks/BnRri03M.js","../chunks/DqcD-WtP.js","../chunks/DNRgqfTx.js","../chunks/DD7gpKb2.js","../assets/SectionIcons.5Udq9vN-.css","../assets/SectionActions.CTkVuNMF.css","../chunks/CgAkqYsL.js","../assets/0.B5zXkXe_.css","../nodes/1.Crw8ULhB.js","../nodes/2.CR5BwGnt.js","../chunks/QukgIHDX.js","../assets/percent.LH0z-ozZ.css","../assets/2.CyaWdRdI.css","../nodes/3.1B56hgAG.js","../assets/3.BlPQOes8.css","../nodes/4.SSIC7sUh.js","../nodes/5.DgdwleDQ.js","../nodes/6.DmD9rqLU.js","../chunks/DRByVC-c.js","../chunks/Xp1g1t4n.js","../chunks/BS4h9ES-.js","../assets/FieldMapForm.BCU-4pO4.css","../chunks/BJfAXhak.js","../chunks/D71UrO5c.js","../assets/ModelPage.Dd3LcMta.css","../nodes/7.DdngsBmo.js","../nodes/8.D2Mszsua.js","../assets/8.2gQeKBp_.css","../nodes/9.CLYsywul.js","../chunks/CmmuWmp6.js","../assets/ConnectTools.BgIJOOGW.css","../assets/9.HOPT4xtg.css","../nodes/10.1nQxyH9H.js","../assets/10.hpcnxvK1.css","../nodes/11.Cw0JnQF3.js","../assets/11.D7zoXfVV.css","../nodes/12.BIocA1aI.js","../assets/12.CPobm1ED.css"])))=>i.map(i=>d[i]);
|
|
2
|
+
import{$ as e,B as t,Et as n,H as r,K as i,M as a,Nt as o,R as s,Tt as c,U as l,V as u,Z as d,a as f,at as p,d as m,dt as h,gt as g,i as _,ot as v,pt as y,r as b,st as x,ut as S,vt as C,xt as w}from"../chunks/Chyo8rdT.js";import{t as T}from"../chunks/uBIymjUX.js";import"../chunks/xihTtKlq.js";var E={},D=l(`<div id="svelte-announcer" aria-live="assertive" aria-atomic="true" style="position: absolute; left: 0; top: 0; clip: rect(0 0 0 0); clip-path: inset(50%); overflow: hidden; white-space: nowrap; width: 1px; height: 1px"><!></div>`),O=l(`<!> <!>`,1);function k(l,_){n(_,!0);let T=f(_,`components`,23,()=>[]),E=f(_,`data_0`,3,null),k=f(_,`data_1`,3,null);x(()=>_.stores.page.set(_.page)),v(()=>{_.stores,_.page,_.constructors,T(),_.form,E(),k(),_.stores.page.notify()});let A=C(!1),j=C(!1),M=C(null);b(()=>{let t=_.stores.page.subscribe(()=>{d(A)&&(g(j,!0),e().then(()=>{g(M,document.title||`untitled page`,!0)}))});return g(A,!0),t});let N=w(()=>_.constructors[1]);var P=O(),F=h(P),I=e=>{let t=w(()=>_.constructors[0]);var n=r(),i=h(n);a(i,()=>d(t),(e,t)=>{m(t(e,{get data(){return E()},get form(){return _.form},get params(){return _.page.params},children:(e,t)=>{var n=r(),i=h(n);a(i,()=>d(N),(e,t)=>{m(t(e,{get data(){return k()},get form(){return _.form},get params(){return _.page.params}}),e=>T()[1]=e,()=>T()?.[1])}),u(e,n)},$$slots:{default:!0}}),e=>T()[0]=e,()=>T()?.[0])}),u(e,n)},L=e=>{let t=w(()=>_.constructors[0]);var n=r(),i=h(n);a(i,()=>d(t),(e,t)=>{m(t(e,{get data(){return E()},get form(){return _.form},get params(){return _.page.params}}),e=>T()[0]=e,()=>T()?.[0])}),u(e,n)};s(F,e=>{_.constructors[1]?e(I):e(L,-1)});var R=y(F,2),z=e=>{var n=D(),r=S(n),a=e=>{var n=i();p(()=>t(n,d(M))),u(e,n)};s(r,e=>{d(j)&&e(a)}),o(n),u(e,n)};s(R,e=>{d(A)&&e(z)}),u(l,P),c()}var A=_(k),j=[()=>T(()=>import(`../nodes/0.m_U8WC7E.js`),__vite__mapDeps([0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49]),import.meta.url),()=>T(()=>import(`../nodes/1.Crw8ULhB.js`),__vite__mapDeps([50,2,1,5,42,3,4]),import.meta.url),()=>T(()=>import(`../nodes/2.CR5BwGnt.js`),__vite__mapDeps([51,2,1,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,43,52,53,54]),import.meta.url),()=>T(()=>import(`../nodes/3.1B56hgAG.js`),__vite__mapDeps([55,2,1,5,40,30,26,11,12,14,8,15,16,7,9,10,13,17,18,19,20,21,22,23,31,25,27,28,29,39,32,33,34,35,36,37,38,56]),import.meta.url),()=>T(()=>import(`../nodes/4.SSIC7sUh.js`),__vite__mapDeps([57,2,1,3,4,5,40,41]),import.meta.url),()=>T(()=>import(`../nodes/5.DgdwleDQ.js`),__vite__mapDeps([58,2,1,3,4,5,40,41]),import.meta.url),()=>T(()=>import(`../nodes/6.DmD9rqLU.js`),__vite__mapDeps([59,1,2,5,20,60,4,61,6,7,8,9,10,11,12,13,14,15,16,17,18,19,21,22,23,24,27,42,3,43,45,46,39,48,62,52,28,34,26,53,63,64,65,66]),import.meta.url),()=>T(()=>import(`../nodes/7.DdngsBmo.js`),__vite__mapDeps([67,1,2,5,19,7,8,9,10,11,12,13,14,15,20,21,60,4,61,6,16,17,18,22,23,24,27,42,3,43,45,46,39,48,62,52,28,34,26,53,63,64,65,66]),import.meta.url),()=>T(()=>import(`../nodes/8.D2Mszsua.js`),__vite__mapDeps([68,2,1,5,17,8,11,12,14,15,18,20,69]),import.meta.url),()=>T(()=>import(`../nodes/9.CLYsywul.js`),__vite__mapDeps([70,1,2,5,20,60,4,71,10,8,11,12,13,72,73]),import.meta.url),()=>T(()=>import(`../nodes/10.1nQxyH9H.js`),__vite__mapDeps([74,1,2,5,14,8,15,17,11,12,18,19,7,9,10,13,20,21,45,46,60,4,62,27,22,43,52,28,34,26,53,63,75]),import.meta.url),()=>T(()=>import(`../nodes/11.Cw0JnQF3.js`),__vite__mapDeps([76,1,2,5,19,7,8,9,10,11,12,13,14,15,20,21,45,46,60,4,64,71,72,77]),import.meta.url),()=>T(()=>import(`../nodes/12.BIocA1aI.js`),__vite__mapDeps([78,1,2,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,42,3,4,37,43,45,46,44,47,48,65,79]),import.meta.url)],M=[],N={"/":[2],"/ai":[3],"/blueprint":[4],"/cookbook":[5],"/m/[package]/[model]":[6],"/m/[package]/[model]/[view]":[7],"/packages":[8],"/packages/[id]":[9],"/recipes/[id]":[10],"/recipes/[id]/help":[11],"/s/[section]":[12]},P={handleError:(({error:e})=>{console.error(e)}),reroute:(()=>{}),transport:{}},F=Object.fromEntries(Object.entries(P.transport).map(([e,t])=>[e,t.decode])),I=Object.fromEntries(Object.entries(P.transport).map(([e,t])=>[e,t.encode])),L=!1,R=(e,t)=>F[e](t),z=()=>T(()=>import(`../chunks/Bjy-W4x2.js`).then(e=>e.default),[],import.meta.url);export{R as decode,F as decoders,N as dictionary,I as encoders,z as get_error_template,L as hash,P as hooks,E as matchers,j as nodes,A as root,M as server_loads};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{i as e,s as t}from"../chunks/2jFBkS1C.js";export{t as load_css,e as start};
|