@happyvertical/smrt-planner 0.57.2 → 0.57.4
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/agents/assistant.md +8 -1
- package/agents/commands.md +4 -1
- package/agents/cookbook.md +8 -2
- package/app/404.html +21 -21
- package/app/_app/immutable/assets/2.CdEXvRg0.css +1 -0
- package/app/_app/immutable/assets/{feedback.DePeap37.css → feedback.qFktqYFY.css} +1 -1
- package/app/_app/immutable/chunks/{DQ1SHYJc.js → 8vF2REci.js} +1 -1
- package/app/_app/immutable/chunks/{C4QwYOkG.js → A_IpJrNN.js} +1 -1
- package/app/_app/immutable/chunks/{C0ucZoOF.js → B6GaAylQ.js} +1 -1
- package/app/_app/immutable/chunks/{CXWyfpCp.js → BMRtN-eN.js} +3 -3
- package/app/_app/immutable/chunks/Bc_SIIIS.js +1 -0
- package/app/_app/immutable/chunks/{BUIY_h3z.js → BhsxCKaI.js} +1 -1
- package/app/_app/immutable/chunks/Burj9UYU.js +1 -0
- package/app/_app/immutable/chunks/{BwcU9V16.js → BvRNePGN.js} +1 -1
- package/app/_app/immutable/chunks/C7z2g6fG.js +1 -0
- package/app/_app/immutable/chunks/CQ13lq7J.js +1 -0
- package/app/_app/immutable/chunks/{1Zpjoi-y.js → CUAfmRua.js} +1 -1
- package/app/_app/immutable/chunks/{Bu-php1s.js → CVcfTI5P.js} +1 -1
- package/app/_app/immutable/chunks/{gaBQMwwt.js → CdPJK-gf.js} +1 -1
- package/app/_app/immutable/chunks/{C5GaTR6t.js → Ckc_1feF.js} +1 -1
- package/app/_app/immutable/chunks/{DQX_f7BA.js → CztFAhpp.js} +1 -1
- package/app/_app/immutable/chunks/D76yH9OO.js +24 -0
- package/app/_app/immutable/chunks/D7t4xFw6.js +4 -0
- package/app/_app/immutable/chunks/{Bzx-XNnr.js → D8D_RStZ.js} +1 -1
- package/app/_app/immutable/chunks/DCr75fDJ.js +1 -0
- package/app/_app/immutable/chunks/DEwvWTFM.js +1 -0
- package/app/_app/immutable/chunks/{BAeyjCL_.js → DTWraE40.js} +1 -1
- package/app/_app/immutable/chunks/{BZhu4b2K.js → VCg3x54j.js} +1 -1
- package/app/_app/immutable/chunks/{BvF_HjSi.js → XlsfHlOd.js} +1 -1
- package/app/_app/immutable/chunks/{CqPgazbY.js → gnVUq1Tr.js} +25 -25
- package/app/_app/immutable/chunks/{nwp8tVWc.js → h1rof478.js} +1 -1
- package/app/_app/immutable/chunks/{aNkgB9ms.js → ukqw0V0Z.js} +1 -1
- package/app/_app/immutable/entry/{app.B-4NFfCd.js → app.C-mGsUDb.js} +2 -2
- package/app/_app/immutable/entry/start.DnB4rZdO.js +1 -0
- package/app/_app/immutable/nodes/0.CG8nFTeW.js +9 -0
- package/app/_app/immutable/nodes/{1.DIereQ7U.js → 1.BY2zPWBD.js} +1 -1
- package/app/_app/immutable/nodes/{10.DD2srRhL.js → 10.y59vLZOY.js} +1 -1
- package/app/_app/immutable/nodes/{11.YniEwoUY.js → 11.HBRO8fTE.js} +1 -1
- package/app/_app/immutable/nodes/{12.CmLo0eX_.js → 12.DiV3I_fX.js} +1 -1
- package/app/_app/immutable/nodes/{13.DHBg3FSE.js → 13.f4cxyt4f.js} +1 -1
- package/app/_app/immutable/nodes/{14.DvDXr38B.js → 14.DnBBJxxq.js} +1 -1
- package/app/_app/immutable/nodes/2.DR5lKFBV.js +24 -0
- package/app/_app/immutable/nodes/{3.BKisFpyK.js → 3.gu2TJwhp.js} +1 -1
- package/app/_app/immutable/nodes/{4.TwPulHIt.js → 4.CU9BPw5o.js} +1 -1
- package/app/_app/immutable/nodes/{5.D0vlCt9Z.js → 5.CD78hESs.js} +1 -1
- package/app/_app/immutable/nodes/{6.C_gaaJ3_.js → 6.B5LspHdV.js} +1 -1
- package/app/_app/immutable/nodes/{7.Bripk7o3.js → 7.lSo_04_4.js} +1 -1
- package/app/_app/immutable/nodes/{8.BhlRo42p.js → 8.OVIZi4uJ.js} +1 -1
- package/app/_app/immutable/nodes/{9.CjXXNQFq.js → 9.BLNgntah.js} +1 -1
- package/app/_app/version.json +1 -1
- package/app/advanced-styles/index.html +24 -24
- package/app/ai/index.html +28 -33
- package/app/blueprint/index.html +22 -22
- package/app/cookbook/index.html +22 -22
- package/app/index.html +38 -38
- package/app/m/ads/AdDeliveryTier/index.html +25 -25
- package/app/m/ads/AdEvent/index.html +25 -25
- package/app/m/ads/AdFormat/index.html +25 -25
- package/app/m/ads/AdGroup/index.html +25 -25
- package/app/m/ads/AdVariation/index.html +25 -25
- package/app/m/analytics/AnalyticsDataStream/index.html +25 -25
- package/app/m/analytics/AnalyticsEvent/index.html +25 -25
- package/app/m/analytics/AnalyticsProperty/index.html +25 -25
- package/app/m/analytics/AnalyticsReport/index.html +25 -25
- package/app/m/approvals/ApprovalEvent/index.html +25 -25
- package/app/m/approvals/ApprovalPolicy/index.html +25 -25
- package/app/m/approvals/ApprovalRequest/index.html +25 -25
- package/app/m/assets/Asset/attachments/index.html +26 -26
- package/app/m/assets/Asset/index.html +25 -25
- package/app/m/assets/AssetAssociation/index.html +25 -25
- package/app/m/assets/AssetMetafield/index.html +25 -25
- package/app/m/assets/AssetStatus/index.html +25 -25
- package/app/m/assets/AssetType/index.html +25 -25
- package/app/m/assets/Folder/index.html +25 -25
- package/app/m/chat/AgentSession/index.html +25 -25
- package/app/m/chat/ChatMessage/index.html +25 -25
- package/app/m/chat/ChatParticipant/index.html +25 -25
- package/app/m/chat/ChatReaction/index.html +25 -25
- package/app/m/chat/ChatRoom/index.html +25 -25
- package/app/m/chat/ChatThread/index.html +25 -25
- package/app/m/chat/VoiceGatewayTurn/index.html +25 -25
- package/app/m/chat/VoiceSession/index.html +25 -25
- package/app/m/commerce/Agreement/index.html +25 -25
- package/app/m/commerce/Cart/index.html +25 -25
- package/app/m/commerce/Contract/index.html +25 -25
- package/app/m/commerce/ContractLineItem/index.html +26 -26
- package/app/m/commerce/Customer/index.html +25 -25
- package/app/m/commerce/DocumentTax/index.html +25 -25
- package/app/m/commerce/Estimate/index.html +25 -25
- package/app/m/commerce/Fulfillment/index.html +25 -25
- package/app/m/commerce/FulfillmentLineItem/index.html +25 -25
- package/app/m/commerce/HistoricalCustomerFunds/index.html +89 -0
- package/app/m/commerce/HistoricalCustomerFundsAllocation/index.html +89 -0
- package/app/m/commerce/HistoricalSalesLine/index.html +89 -0
- package/app/m/commerce/Invoice/index.html +25 -25
- package/app/m/commerce/InvoiceLineItem/index.html +25 -25
- package/app/m/commerce/Lease/index.html +25 -25
- package/app/m/commerce/LicenseSale/index.html +25 -25
- package/app/m/commerce/Order/index.html +25 -25
- package/app/m/commerce/Payment/index.html +25 -25
- package/app/m/commerce/PaymentAllocation/index.html +25 -25
- package/app/m/commerce/PaymentInstrument/index.html +25 -25
- package/app/m/commerce/PaymentIntent/index.html +25 -25
- package/app/m/commerce/Payout/index.html +25 -25
- package/app/m/commerce/ProductionOrder/index.html +25 -25
- package/app/m/commerce/PurchaseContract/index.html +25 -25
- package/app/m/commerce/PurchaseOrder/index.html +25 -25
- package/app/m/commerce/SalesContract/index.html +25 -25
- package/app/m/commerce/SupplierQuote/index.html +25 -25
- package/app/m/commerce/TaxCode/index.html +25 -25
- package/app/m/commerce/TaxComponent/index.html +25 -25
- package/app/m/commerce/TaxSettings/index.html +25 -25
- package/app/m/commerce/TaxSummaryReport/index.html +25 -25
- package/app/m/commerce/Vendor/index.html +25 -25
- package/app/m/commerce/WholesaleOrder/index.html +25 -25
- package/app/m/content/Content/index.html +25 -25
- package/app/m/content/ContentContribution/index.html +25 -25
- package/app/m/content/ContentContributionAttachment/index.html +25 -25
- package/app/m/content/ContentContributionRevision/index.html +25 -25
- package/app/m/content/ContentContributionType/index.html +25 -25
- package/app/m/content/ContentContributor/index.html +25 -25
- package/app/m/content/ContentCorrection/index.html +25 -25
- package/app/m/content/ContentFeedSource/index.html +25 -25
- package/app/m/content/ContentGovernanceAssignment/index.html +25 -25
- package/app/m/content/ContentGovernancePolicy/index.html +25 -25
- package/app/m/content/ContentGovernanceProfile/index.html +25 -25
- package/app/m/content/ContentReference/index.html +25 -25
- package/app/m/content/ContentReview/index.html +25 -25
- package/app/m/content/ContentVersion/index.html +25 -25
- package/app/m/events/Event/index.html +25 -25
- package/app/m/events/EventParticipant/index.html +25 -25
- package/app/m/events/EventSeries/index.html +26 -26
- package/app/m/events/EventType/index.html +25 -25
- package/app/m/expenses/Expense/index.html +25 -25
- package/app/m/facts/Fact/index.html +25 -25
- package/app/m/facts/FactContent/index.html +25 -25
- package/app/m/facts/FactEvidence/index.html +25 -25
- package/app/m/facts/FactSource/index.html +25 -25
- package/app/m/facts/FactSubject/index.html +25 -25
- package/app/m/facts/FactTag/index.html +25 -25
- package/app/m/fields/FieldPolicy/index.html +25 -25
- package/app/m/fields/FieldPolicySuggestion/index.html +25 -25
- package/app/m/fields/FieldUsageCounter/index.html +25 -25
- package/app/m/images/Image/index.html +25 -25
- package/app/m/inventory/InventoryLocation/index.html +25 -25
- package/app/m/inventory/StockLevel/index.html +25 -25
- package/app/m/inventory/StockMovement/index.html +25 -25
- package/app/m/ledgers/Account/index.html +25 -25
- package/app/m/ledgers/Journal/index.html +25 -25
- package/app/m/ledgers/JournalEntry/index.html +25 -25
- package/app/m/ledgers/Ledger/index.html +89 -0
- package/app/m/manufacturing/Assembly/index.html +25 -25
- package/app/m/manufacturing/BillOfMaterials/index.html +25 -25
- package/app/m/manufacturing/BomLine/index.html +25 -25
- package/app/m/manufacturing/Operation/index.html +25 -25
- package/app/m/manufacturing/ProductionRun/index.html +25 -25
- package/app/m/manufacturing/ProductionRunCompletion/index.html +25 -25
- package/app/m/manufacturing/RoutingStep/index.html +25 -25
- package/app/m/marketing/Campaign/index.html +25 -25
- package/app/m/marketing/CampaignChannel/index.html +25 -25
- package/app/m/marketing/CampaignMetricSnapshot/index.html +25 -25
- package/app/m/messages/Account/index.html +25 -25
- package/app/m/messages/Attachment/index.html +25 -25
- package/app/m/messages/Blacklist/index.html +25 -25
- package/app/m/messages/Email/failed-sends/index.html +26 -26
- package/app/m/messages/Email/index.html +25 -25
- package/app/m/messages/Email/mailbox/index.html +26 -26
- package/app/m/messages/EmailAccount/index.html +25 -25
- package/app/m/messages/EmailAttachment/index.html +25 -25
- package/app/m/messages/EmailFolder/index.html +25 -25
- package/app/m/messages/Message/index.html +25 -25
- package/app/m/messages/MessagingEndpoint/index.html +25 -25
- package/app/m/messages/PersonaMessageRoute/index.html +25 -25
- package/app/m/messages/SlackAccount/index.html +25 -25
- package/app/m/messages/SlackMessage/index.html +25 -25
- package/app/m/messages/TelegramAccount/index.html +25 -25
- package/app/m/messages/Tweet/index.html +25 -25
- package/app/m/messages/TwitterAccount/index.html +25 -25
- package/app/m/messages/Whitelist/index.html +25 -25
- package/app/m/messages/ZulipAccount/index.html +25 -25
- package/app/m/places/Place/index.html +25 -25
- package/app/m/places/PlaceType/index.html +25 -25
- package/app/m/products/Category/index.html +25 -25
- package/app/m/products/Material/index.html +25 -25
- package/app/m/products/Product/index.html +25 -25
- package/app/m/products/Product/ingredients/index.html +26 -26
- package/app/m/products/ProductVariant/index.html +25 -25
- package/app/m/products/Sku/index.html +25 -25
- package/app/m/profiles/ApiKey/index.html +25 -25
- package/app/m/profiles/Bot/index.html +25 -25
- package/app/m/profiles/MagicLinkToken/index.html +25 -25
- package/app/m/profiles/NostrIdentity/index.html +25 -25
- package/app/m/profiles/OidcIdentity/index.html +25 -25
- package/app/m/profiles/Organization/index.html +25 -25
- package/app/m/profiles/Person/index.html +25 -25
- package/app/m/profiles/Profile/index.html +25 -25
- package/app/m/profiles/ProfileMetadata/index.html +25 -25
- package/app/m/profiles/ProfileMetafield/index.html +25 -25
- package/app/m/profiles/ProfileRelationship/index.html +25 -25
- package/app/m/profiles/ProfileRelationshipTerm/index.html +25 -25
- package/app/m/profiles/ProfileRelationshipType/index.html +25 -25
- package/app/m/profiles/ProfileType/index.html +25 -25
- package/app/m/projects/Comment/index.html +25 -25
- package/app/m/projects/Issue/index.html +25 -25
- package/app/m/projects/Label/index.html +25 -25
- package/app/m/projects/Project/index.html +25 -25
- package/app/m/projects/ProjectIntegration/index.html +25 -25
- package/app/m/projects/PullRequest/index.html +25 -25
- package/app/m/projects/Repository/index.html +25 -25
- package/app/m/properties/Property/index.html +25 -25
- package/app/m/properties/Zone/index.html +25 -25
- package/app/m/reports/RuntimeReport/index.html +25 -25
- package/app/m/reports/SmrtPrincipalReportRefreshTask/index.html +26 -26
- package/app/m/reports/SmrtReportLock/index.html +26 -26
- package/app/m/reports/SmrtReportRefreshTask/index.html +26 -26
- package/app/m/reports/SmrtReportRun/index.html +26 -26
- package/app/m/reports/SmrtReportSchedule/index.html +26 -26
- package/app/m/reports/SmrtReportWatermark/index.html +26 -26
- package/app/m/sales/Agreement/index.html +89 -0
- package/app/m/sales/AttributionException/index.html +25 -25
- package/app/m/sales/AttributionPolicy/index.html +25 -25
- package/app/m/sales/Commission/index.html +25 -25
- package/app/m/sales/CommissionAdjustment/index.html +25 -25
- package/app/m/sales/CommissionPayout/index.html +25 -25
- package/app/m/sales/CommissionPlan/index.html +25 -25
- package/app/m/sales/Earner/index.html +25 -25
- package/app/m/sales/EarnerSourceAttribution/index.html +25 -25
- package/app/m/sales/EarningEvent/index.html +25 -25
- package/app/m/sales/ExecutedAgreement/index.html +25 -25
- package/app/m/sales/Lead/index.html +25 -25
- package/app/m/sales/Opportunity/index.html +25 -25
- package/app/m/sales/OpportunityConversion/index.html +25 -25
- package/app/m/sales/PipelineDefinition/index.html +25 -25
- package/app/m/sales/PipelineStage/index.html +25 -25
- package/app/m/sales/Referral/index.html +25 -25
- package/app/m/sales/ReferralAgreement/index.html +25 -25
- package/app/m/sales/ReferralLink/index.html +25 -25
- package/app/m/sales/ReferralProgram/index.html +25 -25
- package/app/m/sales/ReferralTermSnapshot/index.html +25 -25
- package/app/m/sales/ReferralTouch/index.html +25 -25
- package/app/m/sales/Referrer/index.html +25 -25
- package/app/m/sales/SalesActivity/index.html +25 -25
- package/app/m/sales/SalesRepresentative/index.html +25 -25
- package/app/m/sites/Site/index.html +25 -25
- package/app/m/sites/SiteAgentBinding/index.html +25 -25
- package/app/m/social/OAuthState/index.html +25 -25
- package/app/m/social/SocialAccount/index.html +25 -25
- package/app/m/social/SocialPost/index.html +25 -25
- package/app/m/social/SocialPostAnalyticsSnapshot/index.html +25 -25
- package/app/m/subscriptions/BillingAdjustment/index.html +25 -25
- package/app/m/subscriptions/ClientCharge/index.html +25 -25
- package/app/m/subscriptions/CreditGrant/index.html +25 -25
- package/app/m/subscriptions/PricingRule/index.html +25 -25
- package/app/m/subscriptions/RetailCharge/index.html +25 -25
- package/app/m/subscriptions/SpendingPolicy/index.html +25 -25
- package/app/m/subscriptions/SubscriptionPlan/index.html +25 -25
- package/app/m/subscriptions/TenantSubscription/index.html +25 -25
- package/app/m/subscriptions/TenantUsageMetric/index.html +25 -25
- package/app/m/support/ServiceTimeEntry/index.html +25 -25
- package/app/m/support/SupportAiRun/index.html +25 -25
- package/app/m/support/SupportAvailability/index.html +25 -25
- package/app/m/support/SupportCase/index.html +25 -25
- package/app/m/support/SupportCaseEvent/index.html +25 -25
- package/app/m/support/SupportChannelBinding/index.html +25 -25
- package/app/m/support/SupportCharge/index.html +25 -25
- package/app/m/support/SupportCompensation/index.html +25 -25
- package/app/m/support/SupportCompensationPlan/index.html +25 -25
- package/app/m/support/SupportEscalation/index.html +25 -25
- package/app/m/support/SupportInteraction/index.html +25 -25
- package/app/m/support/SupportPlan/index.html +25 -25
- package/app/m/support/SupportPolicy/index.html +25 -25
- package/app/m/support/SupportQualification/index.html +25 -25
- package/app/m/support/SupportServiceTarget/index.html +25 -25
- package/app/m/support/SupportSpecialist/index.html +25 -25
- package/app/m/support/SupportWorkLink/index.html +25 -25
- package/app/m/tags/Tag/index.html +25 -25
- package/app/m/tags/TagAlias/index.html +25 -25
- package/app/m/timesheets/AttendanceBreak/index.html +25 -25
- package/app/m/timesheets/AttendancePunch/index.html +25 -25
- package/app/m/timesheets/AttendanceSegment/index.html +25 -25
- package/app/m/timesheets/ServiceChargeSnapshot/index.html +25 -25
- package/app/m/timesheets/ServiceCompensationSnapshot/index.html +25 -25
- package/app/m/timesheets/ServiceTimeEntry/index.html +25 -25
- package/app/m/users/Group/index.html +25 -25
- package/app/m/users/GroupMember/index.html +25 -25
- package/app/m/users/GroupRole/index.html +25 -25
- package/app/m/users/Membership/index.html +25 -25
- package/app/m/users/MembershipOverride/index.html +25 -25
- package/app/m/users/Permission/index.html +25 -25
- package/app/m/users/Role/index.html +25 -25
- package/app/m/users/RolePermission/index.html +25 -25
- package/app/m/users/Session/index.html +25 -25
- package/app/m/users/Tenant/index.html +25 -25
- package/app/m/users/TenantIntegration/index.html +25 -25
- package/app/m/users/TenantPermissionOverride/index.html +25 -25
- package/app/m/users/User/index.html +25 -25
- package/app/m/video/Character/index.html +25 -25
- package/app/m/video/CharacterAsset/index.html +25 -25
- package/app/m/video/CompositeJob/index.html +25 -25
- package/app/m/video/Performer/index.html +25 -25
- package/app/m/video/PerformerAsset/index.html +25 -25
- package/app/m/video/Scene/index.html +25 -25
- package/app/m/video/SceneAsset/index.html +25 -25
- package/app/m/video/VideoComposition/index.html +25 -25
- package/app/m/video/VideoCompositionAsset/index.html +25 -25
- package/app/m/video/VideoSequence/index.html +25 -25
- package/app/m/video/VideoSequenceAsset/index.html +25 -25
- package/app/m/video/VideoShot/index.html +25 -25
- package/app/m/video/VideoShotAsset/index.html +25 -25
- package/app/m/video/VideoShotCharacter/index.html +25 -25
- package/app/m/video/VideoWorkflow/index.html +25 -25
- package/app/m/voice/VoiceOutput/index.html +25 -25
- package/app/m/voice/VoiceProfile/index.html +25 -25
- package/app/m/voice/VoiceSample/index.html +25 -25
- package/app/mcp.html +2 -2
- package/app/packages/ads/index.html +24 -24
- package/app/packages/analytics/index.html +24 -24
- package/app/packages/approvals/index.html +24 -24
- package/app/packages/assets/index.html +24 -24
- package/app/packages/chat/index.html +24 -24
- package/app/packages/comments/index.html +24 -24
- package/app/packages/commerce/index.html +25 -25
- package/app/packages/content/index.html +24 -24
- package/app/packages/events/index.html +24 -24
- package/app/packages/expenses/index.html +25 -25
- package/app/packages/facts/index.html +24 -24
- package/app/packages/fields/index.html +24 -24
- package/app/packages/human-resources/index.html +24 -24
- package/app/packages/images/index.html +24 -24
- package/app/packages/index.html +24 -24
- package/app/packages/ingestion/index.html +24 -24
- package/app/packages/inventory/index.html +24 -24
- package/app/packages/ledgers/index.html +25 -25
- package/app/packages/manufacturing/index.html +24 -24
- package/app/packages/marketing/index.html +24 -24
- package/app/packages/messages/index.html +24 -24
- package/app/packages/places/index.html +24 -24
- package/app/packages/preferences/index.html +24 -24
- package/app/packages/products/index.html +24 -24
- package/app/packages/profiles/index.html +24 -24
- package/app/packages/projects/index.html +24 -24
- package/app/packages/properties/index.html +24 -24
- package/app/packages/reports/index.html +24 -24
- package/app/packages/sales/index.html +25 -25
- package/app/packages/sites/index.html +24 -24
- package/app/packages/social/index.html +24 -24
- package/app/packages/subscriptions/index.html +25 -25
- package/app/packages/support/index.html +24 -24
- package/app/packages/tags/index.html +24 -24
- package/app/packages/timesheets/index.html +24 -24
- package/app/packages/users/index.html +24 -24
- package/app/packages/video/index.html +24 -24
- package/app/packages/voice/index.html +24 -24
- package/app/packages/webhooks/index.html +24 -24
- package/app/recipes/account-access/help/index.html +24 -24
- package/app/recipes/account-access/index.html +26 -26
- package/app/recipes/activity/help/index.html +24 -24
- package/app/recipes/activity/index.html +26 -26
- package/app/recipes/agreements/help/index.html +26 -26
- package/app/recipes/agreements/index.html +27 -27
- package/app/recipes/analytics.reports/help/index.html +24 -24
- package/app/recipes/analytics.reports/index.html +26 -26
- package/app/recipes/assets/help/index.html +24 -24
- package/app/recipes/assets/index.html +27 -27
- package/app/recipes/billing/help/index.html +26 -26
- package/app/recipes/billing/index.html +26 -26
- package/app/recipes/chat.assistant/help/index.html +24 -24
- package/app/recipes/chat.assistant/index.html +26 -26
- package/app/recipes/comments/help/index.html +24 -24
- package/app/recipes/comments/index.html +26 -26
- package/app/recipes/commerce.customers/help/index.html +24 -24
- package/app/recipes/commerce.customers/index.html +26 -26
- package/app/recipes/commerce.estimates/help/index.html +26 -26
- package/app/recipes/commerce.estimates/index.html +26 -26
- package/app/recipes/commerce.purchases/help/index.html +26 -26
- package/app/recipes/commerce.purchases/index.html +26 -26
- package/app/recipes/commerce.sales/help/index.html +26 -26
- package/app/recipes/commerce.sales/index.html +26 -26
- package/app/recipes/commerce.vendors/help/index.html +24 -24
- package/app/recipes/commerce.vendors/index.html +26 -26
- package/app/recipes/commerce.wholesale/help/index.html +26 -26
- package/app/recipes/commerce.wholesale/index.html +26 -26
- package/app/recipes/events.calendar/help/index.html +24 -24
- package/app/recipes/events.calendar/index.html +26 -26
- package/app/recipes/expenses.tracking/help/index.html +26 -26
- package/app/recipes/expenses.tracking/index.html +26 -26
- package/app/recipes/fields.form-customization/help/index.html +24 -24
- package/app/recipes/fields.form-customization/index.html +26 -26
- package/app/recipes/ingestion/help/index.html +24 -24
- package/app/recipes/ingestion/index.html +26 -26
- package/app/recipes/integrations/help/index.html +24 -24
- package/app/recipes/integrations/index.html +26 -26
- package/app/recipes/inventory.stock/help/index.html +24 -24
- package/app/recipes/inventory.stock/index.html +26 -26
- package/app/recipes/ledgers.bookkeeping/help/index.html +26 -26
- package/app/recipes/ledgers.bookkeeping/index.html +26 -26
- package/app/recipes/messages/help/index.html +24 -24
- package/app/recipes/messages/index.html +26 -26
- package/app/recipes/products/help/index.html +24 -24
- package/app/recipes/products/index.html +26 -26
- package/app/recipes/projects.tracker/help/index.html +24 -24
- package/app/recipes/projects.tracker/index.html +27 -27
- package/app/recipes/reports.materialized/help/index.html +26 -26
- package/app/recipes/reports.materialized/index.html +29 -29
- package/app/recipes/reports.runtime/help/index.html +24 -24
- package/app/recipes/reports.runtime/index.html +27 -27
- package/app/recipes/sales.pipeline/help/index.html +24 -24
- package/app/recipes/sales.pipeline/index.html +26 -26
- package/app/recipes/tags.taxonomy/help/index.html +24 -24
- package/app/recipes/tags.taxonomy/index.html +26 -26
- package/app/recipes/team-collaboration/help/index.html +24 -24
- package/app/recipes/team-collaboration/index.html +26 -26
- package/app/recipes/timesheets.time-entries/help/index.html +24 -24
- package/app/recipes/timesheets.time-entries/index.html +26 -26
- package/app/s/custom-accounts/index.html +22 -22
- package/app/s/custom-appointments/index.html +22 -22
- package/app/s/custom-billing/index.html +22 -22
- package/app/s/custom-buying/index.html +22 -22
- package/app/s/custom-checkout/index.html +22 -22
- package/app/s/custom-classes/index.html +22 -22
- package/app/s/custom-clients/index.html +22 -22
- package/app/s/custom-events/index.html +22 -22
- package/app/s/custom-fleet/index.html +22 -22
- package/app/s/custom-giving/index.html +22 -22
- package/app/s/custom-jobs/index.html +22 -22
- package/app/s/custom-kitchen/index.html +22 -22
- package/app/s/custom-material/index.html +22 -22
- package/app/s/custom-meetings/index.html +22 -22
- package/app/s/custom-members/index.html +22 -22
- package/app/s/custom-paint/index.html +82 -0
- package/app/s/custom-parts/index.html +22 -22
- package/app/s/custom-rentals/index.html +22 -22
- package/app/s/custom-roastery/index.html +22 -22
- package/app/s/custom-schedule/index.html +22 -22
- package/app/s/custom-shelf/index.html +22 -22
- package/app/s/custom-shop/index.html +22 -22
- package/app/s/custom-wholesale/index.html +22 -22
- package/app/s/custom-work/index.html +22 -22
- package/app/s/custom-yard/index.html +22 -22
- package/app/s/section-access-control/index.html +22 -22
- package/app/s/section-account-security/index.html +22 -22
- package/app/s/section-accounting/index.html +22 -22
- package/app/s/section-activity/index.html +22 -22
- package/app/s/section-agreements/index.html +22 -22
- package/app/s/section-analytics/index.html +22 -22
- package/app/s/section-assets/index.html +22 -22
- package/app/s/section-billing/index.html +22 -22
- package/app/s/section-calendar/index.html +22 -22
- package/app/s/section-catalog/index.html +22 -22
- package/app/s/section-chat.assistant/index.html +22 -22
- package/app/s/section-comments/index.html +22 -22
- package/app/s/section-fields.form-customization/index.html +22 -22
- package/app/s/section-ingestion/index.html +22 -22
- package/app/s/section-integrations/index.html +22 -22
- package/app/s/section-messages/index.html +22 -22
- package/app/s/section-more/index.html +22 -22
- package/app/s/section-operations/index.html +22 -22
- package/app/s/section-projects/index.html +22 -22
- package/app/s/section-purchasing/index.html +22 -22
- package/app/s/section-reports.materialized/index.html +22 -22
- package/app/s/section-reports.runtime/index.html +22 -22
- package/app/s/section-sales/index.html +22 -22
- package/app/s/section-taxonomy/index.html +22 -22
- package/app/s/section-team/index.html +22 -22
- package/app/s/section-work/index.html +22 -22
- package/dist/ai/echo-gate.d.ts +1 -0
- package/dist/ai/echo-gate.d.ts.map +1 -0
- package/dist/ai/icons.d.ts +1 -0
- package/dist/ai/icons.d.ts.map +1 -0
- package/dist/ai/instance.d.ts +1 -0
- package/dist/ai/instance.d.ts.map +1 -0
- package/dist/ai/instance.js +9 -1
- package/dist/ai/state.svelte.d.ts +1 -0
- package/dist/ai/state.svelte.d.ts.map +1 -0
- package/dist/ai/status.d.ts +1 -0
- package/dist/ai/status.d.ts.map +1 -0
- package/dist/assistant/change.d.ts +14 -3
- package/dist/assistant/change.d.ts.map +1 -0
- package/dist/assistant/change.js +18 -3
- package/dist/assistant/engine.d.ts +1 -0
- package/dist/assistant/engine.d.ts.map +1 -0
- package/dist/assistant/llm.worker.d.ts +1 -0
- package/dist/assistant/llm.worker.d.ts.map +1 -0
- package/dist/assistant/match.d.ts +1 -0
- package/dist/assistant/match.d.ts.map +1 -0
- package/dist/assistant/models.d.ts +1 -0
- package/dist/assistant/models.d.ts.map +1 -0
- package/dist/assistant/offers.svelte.d.ts +1 -0
- package/dist/assistant/offers.svelte.d.ts.map +1 -0
- package/dist/assistant/prefs.d.ts +1 -0
- package/dist/assistant/prefs.d.ts.map +1 -0
- package/dist/assistant/prompt.d.ts +7 -1
- package/dist/assistant/prompt.d.ts.map +1 -0
- package/dist/assistant/prompt.js +13 -1
- package/dist/assistant/session.svelte.d.ts +6 -0
- package/dist/assistant/session.svelte.d.ts.map +1 -0
- package/dist/assistant/session.svelte.js +1 -0
- package/dist/assistant/theme-undo.svelte.d.ts +1 -0
- package/dist/assistant/theme-undo.svelte.d.ts.map +1 -0
- package/dist/assistant/transport.d.ts +25 -1
- package/dist/assistant/transport.d.ts.map +1 -0
- package/dist/assistant/transport.js +57 -8
- package/dist/assistant/voice-host.d.ts +1 -0
- package/dist/assistant/voice-host.d.ts.map +1 -0
- package/dist/assistant/voice.svelte.d.ts +1 -0
- package/dist/assistant/voice.svelte.d.ts.map +1 -0
- package/dist/catalog/catalog.json +2774 -62
- package/dist/catalog/generate/build.d.ts +1 -0
- package/dist/catalog/generate/build.d.ts.map +1 -0
- package/dist/catalog/generate/exclusions.d.ts +1 -0
- package/dist/catalog/generate/exclusions.d.ts.map +1 -0
- package/dist/catalog/generate/extract.d.ts +1 -0
- package/dist/catalog/generate/extract.d.ts.map +1 -0
- package/dist/catalog/generate/local.d.ts +1 -0
- package/dist/catalog/generate/local.d.ts.map +1 -0
- package/dist/catalog/generate/recipe-demo.d.ts +1 -0
- package/dist/catalog/generate/recipe-demo.d.ts.map +1 -0
- package/dist/catalog/generate/recipe-metadata.d.ts +1 -0
- package/dist/catalog/generate/recipe-metadata.d.ts.map +1 -0
- package/dist/catalog/generate/registry.d.ts +1 -0
- package/dist/catalog/generate/registry.d.ts.map +1 -0
- package/dist/catalog/index.d.ts +1 -0
- package/dist/catalog/index.d.ts.map +1 -0
- package/dist/catalog/types.d.ts +1 -0
- package/dist/catalog/types.d.ts.map +1 -0
- package/dist/components/AdvancedStyles.svelte.d.ts +1 -0
- package/dist/components/AdvancedStyles.svelte.d.ts.map +1 -0
- package/dist/components/AiModelsPage.svelte.d.ts +1 -0
- package/dist/components/AiModelsPage.svelte.d.ts.map +1 -0
- package/dist/components/AiSetup.svelte.d.ts +1 -0
- package/dist/components/AiSetup.svelte.d.ts.map +1 -0
- package/dist/components/AiStatusIcons.svelte.d.ts +1 -0
- package/dist/components/AiStatusIcons.svelte.d.ts.map +1 -0
- package/dist/components/AppSettings.svelte.d.ts +1 -0
- package/dist/components/AppSettings.svelte.d.ts.map +1 -0
- package/dist/components/BrowserAssistant.svelte +0 -2
- package/dist/components/BrowserAssistant.svelte.d.ts +1 -0
- package/dist/components/BrowserAssistant.svelte.d.ts.map +1 -0
- package/dist/components/ChildRecords.svelte.d.ts +1 -0
- package/dist/components/ChildRecords.svelte.d.ts.map +1 -0
- package/dist/components/ConnectTools.svelte.d.ts +1 -0
- package/dist/components/ConnectTools.svelte.d.ts.map +1 -0
- package/dist/components/CookbooksPanel.svelte +101 -21
- package/dist/components/CookbooksPanel.svelte.d.ts +1 -0
- package/dist/components/CookbooksPanel.svelte.d.ts.map +1 -0
- package/dist/components/CopyButton.svelte.d.ts +1 -0
- package/dist/components/CopyButton.svelte.d.ts.map +1 -0
- package/dist/components/ExportPanel.svelte.d.ts +1 -0
- package/dist/components/ExportPanel.svelte.d.ts.map +1 -0
- package/dist/components/FeatureCard.svelte.d.ts +1 -0
- package/dist/components/FeatureCard.svelte.d.ts.map +1 -0
- package/dist/components/FeaturesPanel.svelte.d.ts +1 -0
- package/dist/components/FeaturesPanel.svelte.d.ts.map +1 -0
- package/dist/components/FieldInput.svelte.d.ts +1 -0
- package/dist/components/FieldInput.svelte.d.ts.map +1 -0
- package/dist/components/FieldMapForm.svelte.d.ts +1 -0
- package/dist/components/FieldMapForm.svelte.d.ts.map +1 -0
- package/dist/components/FormWorkspace.svelte.d.ts +1 -0
- package/dist/components/FormWorkspace.svelte.d.ts.map +1 -0
- package/dist/components/HeaderIconLink.svelte.d.ts +1 -0
- package/dist/components/HeaderIconLink.svelte.d.ts.map +1 -0
- package/dist/components/HelpView.svelte.d.ts +1 -0
- package/dist/components/HelpView.svelte.d.ts.map +1 -0
- package/dist/components/ModelOptions.svelte.d.ts +1 -0
- package/dist/components/ModelOptions.svelte.d.ts.map +1 -0
- package/dist/components/ModelPage.svelte.d.ts +1 -0
- package/dist/components/ModelPage.svelte.d.ts.map +1 -0
- package/dist/components/ModelWorkspace.svelte.d.ts +1 -0
- package/dist/components/ModelWorkspace.svelte.d.ts.map +1 -0
- package/dist/components/PackagePage.svelte.d.ts +1 -0
- package/dist/components/PackagePage.svelte.d.ts.map +1 -0
- package/dist/components/PlannerEditBridge.svelte.d.ts +1 -0
- package/dist/components/PlannerEditBridge.svelte.d.ts.map +1 -0
- package/dist/components/PlannerPalette.svelte.d.ts +1 -0
- package/dist/components/PlannerPalette.svelte.d.ts.map +1 -0
- package/dist/components/ProductMedia.svelte.d.ts +1 -0
- package/dist/components/ProductMedia.svelte.d.ts.map +1 -0
- package/dist/components/RecipeCards.svelte.d.ts +1 -0
- package/dist/components/RecipeCards.svelte.d.ts.map +1 -0
- package/dist/components/RecipeHelp.svelte.d.ts +1 -0
- package/dist/components/RecipeHelp.svelte.d.ts.map +1 -0
- package/dist/components/RecipeOptions.svelte.d.ts +1 -0
- package/dist/components/RecipeOptions.svelte.d.ts.map +1 -0
- package/dist/components/RecordFeatures.svelte.d.ts +1 -0
- package/dist/components/RecordFeatures.svelte.d.ts.map +1 -0
- package/dist/components/RecordView.svelte.d.ts +1 -0
- package/dist/components/RecordView.svelte.d.ts.map +1 -0
- package/dist/components/RelationField.svelte.d.ts +1 -0
- package/dist/components/RelationField.svelte.d.ts.map +1 -0
- package/dist/components/SectionActions.svelte.d.ts +1 -0
- package/dist/components/SectionActions.svelte.d.ts.map +1 -0
- package/dist/components/SectionHeading.svelte.d.ts +1 -0
- package/dist/components/SectionHeading.svelte.d.ts.map +1 -0
- package/dist/components/SectionIcons.svelte.d.ts +1 -0
- package/dist/components/SectionIcons.svelte.d.ts.map +1 -0
- package/dist/components/SectionOverview.svelte.d.ts +1 -0
- package/dist/components/SectionOverview.svelte.d.ts.map +1 -0
- package/dist/components/SectionPage.svelte.d.ts +1 -0
- package/dist/components/SectionPage.svelte.d.ts.map +1 -0
- package/dist/components/SectionView.svelte.d.ts +1 -0
- package/dist/components/SectionView.svelte.d.ts.map +1 -0
- package/dist/components/SettingsPanel.svelte.d.ts +1 -0
- package/dist/components/SettingsPanel.svelte.d.ts.map +1 -0
- package/dist/components/ThemeBridge.svelte.d.ts +1 -0
- package/dist/components/ThemeBridge.svelte.d.ts.map +1 -0
- package/dist/components/ThemeSection.svelte.d.ts +1 -0
- package/dist/components/ThemeSection.svelte.d.ts.map +1 -0
- package/dist/components/VariantGridForm.svelte.d.ts +1 -0
- package/dist/components/VariantGridForm.svelte.d.ts.map +1 -0
- package/dist/components/VoiceTyping.svelte.d.ts +1 -0
- package/dist/components/VoiceTyping.svelte.d.ts.map +1 -0
- package/dist/cookbook/assemble.d.ts +1 -0
- package/dist/cookbook/assemble.d.ts.map +1 -0
- package/dist/cookbook/describe.d.ts +1 -0
- package/dist/cookbook/describe.d.ts.map +1 -0
- package/dist/cookbook/file.d.ts +1 -0
- package/dist/cookbook/file.d.ts.map +1 -0
- package/dist/cookbook/legacy.d.ts +1 -0
- package/dist/cookbook/legacy.d.ts.map +1 -0
- package/dist/cookbook/migrate.d.ts +1 -0
- package/dist/cookbook/migrate.d.ts.map +1 -0
- package/dist/cookbook/parse.d.ts +1 -0
- package/dist/cookbook/parse.d.ts.map +1 -0
- package/dist/cookbook/prompt.d.ts +1 -0
- package/dist/cookbook/prompt.d.ts.map +1 -0
- package/dist/cookbook/storage.d.ts +1 -0
- package/dist/cookbook/storage.d.ts.map +1 -0
- package/dist/cookbook/store.svelte.d.ts +1 -0
- package/dist/cookbook/store.svelte.d.ts.map +1 -0
- package/dist/cookbook/types.d.ts +1 -0
- package/dist/cookbook/types.d.ts.map +1 -0
- package/dist/cookbook/validate.d.ts +1 -0
- package/dist/cookbook/validate.d.ts.map +1 -0
- package/dist/core/app.d.ts +1 -0
- package/dist/core/app.d.ts.map +1 -0
- package/dist/core/catalog.d.ts +1 -0
- package/dist/core/catalog.d.ts.map +1 -0
- package/dist/core/headless.d.ts +1 -0
- package/dist/core/headless.d.ts.map +1 -0
- package/dist/core/index.d.ts +1 -0
- package/dist/core/index.d.ts.map +1 -0
- package/dist/core/prompt.d.ts +1 -0
- package/dist/core/prompt.d.ts.map +1 -0
- package/dist/core/reply.d.ts +1 -0
- package/dist/core/reply.d.ts.map +1 -0
- package/dist/core/request.d.ts +1 -0
- package/dist/core/request.d.ts.map +1 -0
- package/dist/data/children.d.ts +1 -0
- package/dist/data/children.d.ts.map +1 -0
- package/dist/data/columns.d.ts +1 -0
- package/dist/data/columns.d.ts.map +1 -0
- package/dist/data/context.d.ts +1 -0
- package/dist/data/context.d.ts.map +1 -0
- package/dist/data/derived.d.ts +1 -0
- package/dist/data/derived.d.ts.map +1 -0
- package/dist/data/display.d.ts +1 -0
- package/dist/data/display.d.ts.map +1 -0
- package/dist/data/fakes.d.ts +1 -0
- package/dist/data/fakes.d.ts.map +1 -0
- package/dist/data/format.d.ts +1 -0
- package/dist/data/format.d.ts.map +1 -0
- package/dist/data/format.js +3 -0
- package/dist/data/labels.d.ts +1 -0
- package/dist/data/labels.d.ts.map +1 -0
- package/dist/data/list-sort.d.ts +1 -0
- package/dist/data/list-sort.d.ts.map +1 -0
- package/dist/data/money.d.ts +2 -1
- package/dist/data/money.d.ts.map +1 -0
- package/dist/data/money.js +2 -2
- package/dist/data/packs.d.ts +1 -1
- package/dist/data/packs.d.ts.map +1 -0
- package/dist/data/packs.js +835 -1
- package/dist/data/payments.d.ts +1 -0
- package/dist/data/payments.d.ts.map +1 -0
- package/dist/data/planner-source.d.ts +1 -0
- package/dist/data/planner-source.d.ts.map +1 -0
- package/dist/data/source.d.ts +1 -0
- package/dist/data/source.d.ts.map +1 -0
- package/dist/features/catalogue.d.ts +1 -0
- package/dist/features/catalogue.d.ts.map +1 -0
- package/dist/features/demo.d.ts +1 -0
- package/dist/features/demo.d.ts.map +1 -0
- package/dist/features/palette.d.ts +1 -0
- package/dist/features/palette.d.ts.map +1 -0
- package/dist/fields/address.d.ts +1 -0
- package/dist/fields/address.d.ts.map +1 -0
- package/dist/fields/invalid.d.ts +1 -0
- package/dist/fields/invalid.d.ts.map +1 -0
- package/dist/fields/modal.d.ts +1 -0
- package/dist/fields/modal.d.ts.map +1 -0
- package/dist/fields/percent.d.ts +1 -0
- package/dist/fields/percent.d.ts.map +1 -0
- package/dist/fields/renderer.d.ts +1 -0
- package/dist/fields/renderer.d.ts.map +1 -0
- package/dist/forms/active.d.ts +1 -0
- package/dist/forms/active.d.ts.map +1 -0
- package/dist/forms/fieldMap.d.ts +1 -0
- package/dist/forms/fieldMap.d.ts.map +1 -0
- package/dist/forms/shared.d.ts +1 -0
- package/dist/forms/shared.d.ts.map +1 -0
- package/dist/forms/stock.d.ts +1 -0
- package/dist/forms/stock.d.ts.map +1 -0
- package/dist/forms/variantGrid.d.ts +1 -0
- package/dist/forms/variantGrid.d.ts.map +1 -0
- package/dist/index.d.ts +1 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/inference/byo.svelte.d.ts +1 -0
- package/dist/inference/byo.svelte.d.ts.map +1 -0
- package/dist/inference/config.d.ts +1 -0
- package/dist/inference/config.d.ts.map +1 -0
- package/dist/inference/host.d.ts +1 -0
- package/dist/inference/host.d.ts.map +1 -0
- package/dist/inference/openai.d.ts +1 -0
- package/dist/inference/openai.d.ts.map +1 -0
- package/dist/inference/presets.d.ts +1 -0
- package/dist/inference/presets.d.ts.map +1 -0
- package/dist/kitchen/LiveKitchenBridge.svelte.d.ts +1 -0
- package/dist/kitchen/LiveKitchenBridge.svelte.d.ts.map +1 -0
- package/dist/kitchen/client.d.ts +1 -0
- package/dist/kitchen/client.d.ts.map +1 -0
- package/dist/kitchen/fragment.d.ts +1 -0
- package/dist/kitchen/fragment.d.ts.map +1 -0
- package/dist/kitchen/live.d.ts +1 -0
- package/dist/kitchen/live.d.ts.map +1 -0
- package/dist/kitchen/state.svelte.d.ts +1 -0
- package/dist/kitchen/state.svelte.d.ts.map +1 -0
- package/dist/library/apply.d.ts +8 -3
- package/dist/library/apply.d.ts.map +1 -0
- package/dist/library/apply.js +19 -6
- package/dist/library/document.d.ts +10 -0
- package/dist/library/document.d.ts.map +1 -0
- package/dist/library/document.js +29 -0
- package/dist/library/icons.d.ts +1 -0
- package/dist/library/icons.d.ts.map +1 -0
- package/dist/library/icons.js +15 -0
- package/dist/library/index.d.ts +5 -1
- package/dist/library/index.d.ts.map +1 -0
- package/dist/library/index.js +9 -2
- package/dist/library/library.json +919 -14
- package/dist/library/menu.d.ts +1 -0
- package/dist/library/menu.d.ts.map +1 -0
- package/dist/library/state.svelte.d.ts +6 -1
- package/dist/library/state.svelte.d.ts.map +1 -0
- package/dist/library/state.svelte.js +12 -1
- package/dist/library/types.d.ts +1 -0
- package/dist/library/types.d.ts.map +1 -0
- package/dist/library/view.svelte.d.ts +41 -0
- package/dist/library/view.svelte.d.ts.map +1 -0
- package/dist/library/view.svelte.js +67 -0
- package/dist/motion/tokens.d.ts +1 -0
- package/dist/motion/tokens.d.ts.map +1 -0
- package/dist/motion/view-transition.d.ts +1 -0
- package/dist/motion/view-transition.d.ts.map +1 -0
- package/dist/overviews/definitions.d.ts +1 -0
- package/dist/overviews/definitions.d.ts.map +1 -0
- package/dist/overviews/models.d.ts +1 -0
- package/dist/overviews/models.d.ts.map +1 -0
- package/dist/overviews/page.d.ts +1 -0
- package/dist/overviews/page.d.ts.map +1 -0
- package/dist/overviews/registry.d.ts +1 -0
- package/dist/overviews/registry.d.ts.map +1 -0
- package/dist/overviews/validate.d.ts +1 -0
- package/dist/overviews/validate.d.ts.map +1 -0
- package/dist/planner/Planner.svelte +79 -2
- package/dist/planner/Planner.svelte.d.ts +1 -0
- package/dist/planner/Planner.svelte.d.ts.map +1 -0
- package/dist/planner/PlannerControls.svelte +21 -2
- package/dist/planner/PlannerControls.svelte.d.ts +1 -0
- package/dist/planner/PlannerControls.svelte.d.ts.map +1 -0
- package/dist/planner/PlannerLifecycle.svelte.d.ts +1 -0
- package/dist/planner/PlannerLifecycle.svelte.d.ts.map +1 -0
- package/dist/planner/app.svelte.d.ts +1 -0
- package/dist/planner/app.svelte.d.ts.map +1 -0
- package/dist/planner/assistant.d.ts +1 -0
- package/dist/planner/assistant.d.ts.map +1 -0
- package/dist/planner/assistant.js +9 -0
- package/dist/planner/commands/adapter.d.ts +1 -0
- package/dist/planner/commands/adapter.d.ts.map +1 -0
- package/dist/planner/commands/adapter.js +10 -3
- package/dist/planner/commands/catalog.d.ts +1 -0
- package/dist/planner/commands/catalog.d.ts.map +1 -0
- package/dist/planner/commands/controller.svelte.d.ts +1 -0
- package/dist/planner/commands/controller.svelte.d.ts.map +1 -0
- package/dist/planner/commands/controller.svelte.js +2 -1
- package/dist/planner/commands/index.d.ts +1 -0
- package/dist/planner/commands/index.d.ts.map +1 -0
- package/dist/planner/commands/schemas.d.ts +1 -0
- package/dist/planner/commands/schemas.d.ts.map +1 -0
- package/dist/planner/commands/slices.d.ts +1 -0
- package/dist/planner/commands/slices.d.ts.map +1 -0
- package/dist/planner/commands/types.d.ts +1 -0
- package/dist/planner/commands/types.d.ts.map +1 -0
- package/dist/planner/create.d.ts +1 -0
- package/dist/planner/create.d.ts.map +1 -0
- package/dist/planner/header-icons.d.ts +1 -0
- package/dist/planner/header-icons.d.ts.map +1 -0
- package/dist/planner/host/HostPlanner.svelte.d.ts +1 -0
- package/dist/planner/host/HostPlanner.svelte.d.ts.map +1 -0
- package/dist/planner/host/session.svelte.d.ts +1 -0
- package/dist/planner/host/session.svelte.d.ts.map +1 -0
- package/dist/planner/instance.d.ts +1 -0
- package/dist/planner/instance.d.ts.map +1 -0
- package/dist/planner/query.d.ts +1 -0
- package/dist/planner/query.d.ts.map +1 -0
- package/dist/planner/routes.d.ts +1 -0
- package/dist/planner/routes.d.ts.map +1 -0
- package/dist/planner/selection.d.ts +1 -0
- package/dist/planner/selection.d.ts.map +1 -0
- package/dist/planner/selection.svelte.d.ts +1 -0
- package/dist/planner/selection.svelte.d.ts.map +1 -0
- package/dist/planner/shell.d.ts +1 -0
- package/dist/planner/shell.d.ts.map +1 -0
- package/dist/planner/tab.svelte.d.ts +1 -0
- package/dist/planner/tab.svelte.d.ts.map +1 -0
- package/dist/planner/title.d.ts +1 -0
- package/dist/planner/title.d.ts.map +1 -0
- package/dist/planner/title.svelte.d.ts +1 -0
- package/dist/planner/title.svelte.d.ts.map +1 -0
- package/dist/planner/types.d.ts +1 -0
- package/dist/planner/types.d.ts.map +1 -0
- package/dist/products/media.d.ts +1 -0
- package/dist/products/media.d.ts.map +1 -0
- package/dist/recipes/cards.d.ts +1 -0
- package/dist/recipes/cards.d.ts.map +1 -0
- package/dist/recipes/features.d.ts +1 -0
- package/dist/recipes/features.d.ts.map +1 -0
- package/dist/recipes/help.d.ts +1 -0
- package/dist/recipes/help.d.ts.map +1 -0
- package/dist/recipes/index.d.ts +1 -0
- package/dist/recipes/index.d.ts.map +1 -0
- package/dist/recipes/merge.d.ts +1 -0
- package/dist/recipes/merge.d.ts.map +1 -0
- package/dist/recipes/plan-data.d.ts +1 -0
- package/dist/recipes/plan-data.d.ts.map +1 -0
- package/dist/recipes/plumbing.d.ts +1 -0
- package/dist/recipes/plumbing.d.ts.map +1 -0
- package/dist/recipes/policy.d.ts +1 -0
- package/dist/recipes/policy.d.ts.map +1 -0
- package/dist/recipes/resolve.d.ts +1 -0
- package/dist/recipes/resolve.d.ts.map +1 -0
- package/dist/recipes/scope.d.ts +24 -0
- package/dist/recipes/scope.d.ts.map +1 -0
- package/dist/recipes/scope.js +20 -0
- package/dist/recipes/sections.d.ts +1 -0
- package/dist/recipes/sections.d.ts.map +1 -0
- package/dist/recipes/state.svelte.d.ts +1 -0
- package/dist/recipes/state.svelte.d.ts.map +1 -0
- package/dist/recipes/types.d.ts +1 -0
- package/dist/recipes/types.d.ts.map +1 -0
- package/dist/screens/definition.d.ts +1 -0
- package/dist/screens/definition.d.ts.map +1 -0
- package/dist/screens/relations.d.ts +1 -0
- package/dist/screens/relations.d.ts.map +1 -0
- package/dist/screens/totals.d.ts +1 -0
- package/dist/screens/totals.d.ts.map +1 -0
- package/dist/sections/entries.d.ts +1 -0
- package/dist/sections/entries.d.ts.map +1 -0
- package/dist/sections/info.d.ts +1 -0
- package/dist/sections/info.d.ts.map +1 -0
- package/dist/sections/path.d.ts +1 -0
- package/dist/sections/path.d.ts.map +1 -0
- package/dist/settings/app-settings.d.ts +1 -0
- package/dist/settings/app-settings.d.ts.map +1 -0
- package/dist/settings/currencies.d.ts +1 -0
- package/dist/settings/currencies.d.ts.map +1 -0
- package/dist/smrt-version.d.ts +2 -1
- package/dist/smrt-version.d.ts.map +1 -0
- package/dist/smrt-version.js +1 -1
- package/dist/theme/css-highlight.d.ts +1 -0
- package/dist/theme/css-highlight.d.ts.map +1 -0
- package/dist/theme/custom-css.svelte.d.ts +1 -0
- package/dist/theme/custom-css.svelte.d.ts.map +1 -0
- package/dist/theme/runtime.d.ts +1 -0
- package/dist/theme/runtime.d.ts.map +1 -0
- package/dist/theme/theme.d.ts +1 -0
- package/dist/theme/theme.d.ts.map +1 -0
- package/dist/upstream/CustomerSelect.svelte.d.ts +1 -0
- package/dist/upstream/CustomerSelect.svelte.d.ts.map +1 -0
- package/dist/upstream/VendorSelect.svelte.d.ts +1 -0
- package/dist/upstream/VendorSelect.svelte.d.ts.map +1 -0
- package/dist/upstream/overlay.d.ts +1 -0
- package/dist/upstream/overlay.d.ts.map +1 -0
- package/dist/upstream/partySelect.d.ts +1 -0
- package/dist/upstream/partySelect.d.ts.map +1 -0
- package/dist/upstream/partyTypes.d.ts +1 -0
- package/dist/upstream/partyTypes.d.ts.map +1 -0
- package/dist/upstream/relations.d.ts +1 -0
- package/dist/upstream/relations.d.ts.map +1 -0
- package/dist/upstream/selects.d.ts +1 -0
- package/dist/upstream/selects.d.ts.map +1 -0
- package/dist/upstream/widgets.d.ts +1 -0
- package/dist/upstream/widgets.d.ts.map +1 -0
- package/package.json +56 -56
- package/app/_app/immutable/assets/2.Djk1H2wk.css +0 -1
- package/app/_app/immutable/chunks/BUWiA0bl.js +0 -1
- package/app/_app/immutable/chunks/BY2iyZkA.js +0 -1
- package/app/_app/immutable/chunks/Bm8jjb_e.js +0 -1
- package/app/_app/immutable/chunks/D8CMB1bs.js +0 -24
- package/app/_app/immutable/chunks/DPUmJ6vl.js +0 -1
- package/app/_app/immutable/chunks/Dnh261tH.js +0 -1
- package/app/_app/immutable/chunks/IGiURgRE.js +0 -4
- package/app/_app/immutable/chunks/_V0EAIDV.js +0 -1
- package/app/_app/immutable/entry/start.BUD35Ixb.js +0 -1
- package/app/_app/immutable/nodes/0.Clo7wl71.js +0 -9
- package/app/_app/immutable/nodes/2.IEuzYtzP.js +0 -24
- /package/app/_app/immutable/chunks/{DVQPWAnI.js → Bv5jGtB8.js} +0 -0
|
@@ -1,24 +0,0 @@
|
|
|
1
|
-
import{$ as e,A as t,B as n,C as r,Ct as i,Dt as a,E as o,Ft as s,G as c,H as l,J as u,K as d,L as f,M as p,Mt as m,Ot as h,Pt as g,S as _,T as v,U as y,W as b,X as x,Y as S,Z as C,_ as w,a as T,b as E,bt as D,ct as O,d as k,dt as A,ft as j,gt as M,ht as N,it as P,lt as F,mt as I,nt as L,pt as R,r as z,st as B,ut as V,v as H,vt as U}from"../chunks/DG3qFFTE.js";import"../chunks/xihTtKlq.js";import{i as ee,o as W}from"../chunks/DVQPWAnI.js";import{a as te}from"../chunks/YUSKx8_q.js";import{$ as ne,Q as re,bt as ie,et as ae,i as oe,lt as se,p as G,t as ce,xt as le,yt as ue}from"../chunks/CqPgazbY.js";import{n as de}from"../chunks/DK8Blf1Y.js";import{_ as K,i as fe,p as pe}from"../chunks/CXWyfpCp.js";import{t as me}from"../chunks/M-CuJzQN.js";import{t as he}from"../chunks/BvF_HjSi.js";import{p as ge,u as _e}from"../chunks/9pRTae44.js";import{f as ve,g as ye,o as be,p as xe}from"../chunks/BUWiA0bl.js";import{r as Se}from"../chunks/CUyVrfsu.js";import{_ as Ce,a as we,d as Te,i as q,n as Ee,t as De,v as Oe,y as J}from"../chunks/gMSmS-_y.js";import{A as Y,M as ke,N as Ae,P as je,a as Me,b as Ne,d as Pe,f as Fe,g as Ie,h as Le,i as X,j as Re,m as ze,o as Be,p as Ve,u as He,y as Ue}from"../chunks/D8CMB1bs.js";import"../chunks/IGiURgRE.js";import{_ as We,a as Ge,m as Ke,n as Z,s as qe}from"../chunks/Bu-php1s.js";import{F as Je,I as Ye,L as Xe,M as Ze,P as Qe,Q as $e,R as et,b as tt,d as nt,et as rt,j as it,s as at,t as Q,u as ot,x as st}from"../chunks/C0ucZoOF.js";import{n as ct,r as lt,t as ut}from"../chunks/BY2iyZkA.js";import{n as dt,r as ft,t as pt}from"../chunks/D_U_DYjx.js";import{a as mt,c as ht,d as gt,i as _t,l as vt,n as $,o as yt,r as bt,s as xt,t as St,u as Ct}from"../chunks/DPUmJ6vl.js";import{r as wt}from"../chunks/BMgzWMdF.js";import{t as Tt}from"../chunks/C4QwYOkG.js";import{n as Et,s as Dt,t as Ot}from"../chunks/BUIY_h3z.js";import{t as kt}from"../chunks/DQX_f7BA.js";var At={bread:[`M7 3h10a4 4 0 0 1 2.4 7.2L20 19a2 2 0 0 1-2 2H6a2 2 0 0 1-2-2l.6-8.8A4 4 0 0 1 7 3z`,`M9 13l1 3`,`M14 13l1 3`],car:[`M5 17a2 2 0 1 0 4 0a2 2 0 1 0-4 0`,`M15 17a2 2 0 1 0 4 0a2 2 0 1 0-4 0`,`M5 17h-2v-6l2-5h9l4 5h1a2 2 0 0 1 2 2v4h-2m-4 0h-6m-6-6h15m-6 0v-5`],flame:[`M12 12c2-2.96 0-7-1-8 0 3.038-1.773 4.741-3 6-1.226 1.26-2 3.24-2 5a6 6 0 1 0 12 0c0-1.532-1.056-3.94-2-5-1.786 3-2.791 3-4 2z`],yoga:[`M11 4a1 1 0 1 0 2 0a1 1 0 1 0-2 0`,`M4 20h4l1.5-3`,`M17 20l-1-5h-5l1-7`,`M4 10l4-1l4-1l4 1.5l4 1.5`],leaf:[`M5 21c.5-4.5 2.5-8 7-10`,`M9 18c6.218 0 10.5-3.288 11-12v-2h-4.014c-9 0-11.986 4-12 9c0 1 0 3 2 5h3z`],scissors:[`M6 7m-3 0a3 3 0 1 0 6 0a3 3 0 1 0-6 0`,`M6 17m-3 0a3 3 0 1 0 6 0a3 3 0 1 0-6 0`,`M8.6 8.6l10.4 10.4`,`M8.6 15.4l10.4-10.4`],coffee:[`M3 14c.83.642 2.077 1.017 3.5 1c1.423.017 2.67-.358 3.5-1c.83-.642 2.077-1.017 3.5-1c1.423-.017 2.67.358 3.5 1`,`M8 3a2.4 2.4 0 0 0-1 2a2.4 2.4 0 0 0 1 2`,`M12 3a2.4 2.4 0 0 0-1 2a2.4 2.4 0 0 0 1 2`,`M3 10h14v5a6 6 0 0 1-6 6h-2a6 6 0 0 1-6-6v-5z`,`M16.746 16.726a3 3 0 1 0 .252-5.555`],forklift:[`M5 17m-2 0a2 2 0 1 0 4 0a2 2 0 1 0-4 0`,`M13 17m-2 0a2 2 0 1 0 4 0a2 2 0 1 0-4 0`,`M7 17h4`,`M3 17v-6h13v6`,`M5 11v-4h4`,`M9 11v-6h4l3 6`,`M22 15h-3v-10`,`M16 13h3`],heart:[`M19.5 12.572l-7.5 7.428l-7.5-7.428a5 5 0 1 1 7.5-6.566a5 5 0 1 1 7.5 6.572`],pencil:[`M4 20h4l10.5-10.5a2.828 2.828 0 1 0-4-4l-10.5 10.5v4`,`M13.5 6.5l4 4`]};te({"ui.audit.history":`Record history`,"ui.audit.list":`Audit trail`,"ui.audit.empty":`No audit entries.`,"ui.audit.loading":`Loading audit entries…`,"ui.audit.person":`Person ID`,"ui.audit.record":`Record ID`,"ui.audit.from":`From date`,"ui.audit.to":`To date`,"ui.audit.filter":`Apply filters`,"ui.audit.reason":`Reason: {reason}`,"ui.audit.behalf":`On behalf of {actor}`,"ui.audit.change":`{field}: {before} → {after}`}),te({"ui.notification_bell.label":`Notifications`,"ui.notification_bell.unread":`{count} unread`,"ui.notification_bell.mark_all":`Mark all read`,"ui.notification_bell.mark_one":`Mark read`,"ui.notification_bell.loading":`Loading notifications`,"ui.notification_bell.empty":`No notifications.`,"ui.notification_bell.unavailable":`Notifications are unavailable.`,"ui.notification_bell.mark_error":`Could not mark notifications read.`,"ui.notification_bell.live_error":`Live notifications are unavailable.`}),S([`keydown`]);var jt=c(`<option>Per line</option> <option>Once per document</option>`,1),Mt=c(`<option></option>`),Nt=c(`<li class="svelte-1adyoey"><span class="name"> </span> <span class="rates svelte-1adyoey"> </span></li>`),Pt=c(`<div class="settings svelte-1adyoey"><div class="field svelte-1adyoey"><!> <!></div> <div class="percent svelte-1adyoey"><!> <span class="percent-sign svelte-1adyoey" aria-hidden="true">%</span></div> <div class="field svelte-1adyoey"><!> <!></div> <div class="field switch svelte-1adyoey"><!> <small class="svelte-1adyoey"> </small></div> <div class="field svelte-1adyoey"><!> <!> <datalist></datalist></div></div> <section class="tax-codes svelte-1adyoey"><h3 class="svelte-1adyoey">Tax codes</h3> <p class="meta svelte-1adyoey">New documents use <strong> </strong> </p> <ul class="svelte-1adyoey"></ul> <p class="meta svelte-1adyoey">The country codes are smrt’s examples; check they apply before using one.</p></section>`,1);function Ft(t,n){h(n,!0);let r=T(n,`idPrefix`,3,`app-settings`),o=[`Due on receipt`,`Net 15`,`Net 30`,`Net 60`,`50% deposit, balance on completion`],c=e=>n.onchange({...n.value,...e}),u=i(()=>ae(n.value.taxRate)),d=i(()=>[...ne,...re].filter(t=>t.id!==e(u).id)),p=e=>e.components.map(e=>e.name).join(` + `)||`No tax, reported as ${e.kind.replace(/-/g,` `)}`;var m=Pt(),_=R(m),v=j(_),b=j(v);J(b,{get for(){return`${r()??``}-currency`},label:`Currency`});var x=N(b,2);Ce(x,{get id(){return`${r()??``}-currency`},get value(){return n.value.currency},onchange:e=>c({currency:e.currentTarget.value})}),s(v);var S=N(v,2),C=j(S);{let t=i(()=>Ot(n.value.taxRate));Dt(C,{get name(){return`${r()??``}-tax-rate`},label:`Default tax rate`,min:0,step:.01,get value(){return e(t)},onchange:e=>c({taxRate:Et(e)??0})})}g(2),s(S);var w=N(S,2),E=j(w);J(E,{get for(){return`${r()??``}-rounding`},label:`Tax rounding`});var D=N(E,2);Oe(D,{get id(){return`${r()??``}-rounding`},get value(){return n.value.taxRounding},onchange:e=>c({taxRounding:e.currentTarget.value}),children:(e,t)=>{var n=jt(),r=R(n);r.value=r.__value=`line`;var i=N(r,2);i.value=i.__value=`document`,y(e,n)},$$slots:{default:!0}}),s(w);var O=N(w,2),k=j(O);q(k,{get checked(){return n.value.pricesIncludeTax},onchange:e=>c({pricesIncludeTax:e.currentTarget.checked}),label:`Prices include tax`});var A=N(k,2),M=I(A,!0);s(O);var P=N(O,2),F=j(P);J(F,{get for(){return`${r()??``}-terms`},label:`Default payment terms`});var L=N(F,2);me(L,{get id(){return`${r()??``}-terms`},type:`text`,get list(){return`${r()??``}-terms-options`},autocomplete:`off`,placeholder:`Not set`,get value(){return n.value.paymentTerms},oninput:e=>c({paymentTerms:e.currentTarget.value})});var z=N(L,2);f(z,20,()=>o,e=>e,(e,t)=>{var n=Mt(),r={};B(()=>{r!==(r=t)&&(n.value=(n.__value=r)??``)}),y(e,n)}),s(z),s(P),s(_);var V=N(_,2),U=j(V),ee=N(U,2),W=N(j(ee)),te=I(W,!0),ie=N(W);s(ee);var oe=N(ee,2);f(oe,21,()=>e(d),e=>e.id,(t,n)=>{var r=Nt(),i=j(r),a=I(i,!0),o=N(i,2),c=I(o,!0);s(r),B(t=>{H(r,`data-tax-code`,e(n).code),l(a,e(n).name),l(c,t)},[()=>p(e(n))]),y(t,r)}),s(oe),g(2),s(V),B(t=>{l(M,n.value.pricesIncludeTax?`A line’s amount is what the customer pays; tax is part of it.`:`Tax is added on top of each line’s amount.`),H(z,`id`,`${r()??``}-terms-options`),H(V,`aria-labelledby`,`${r()??``}-tax-codes`),H(U,`id`,`${r()??``}-tax-codes`),l(te,e(u).name),l(ie,` (${t??``}),
|
|
2
|
-
from the default tax rate. A line can choose another code; an exempt
|
|
3
|
-
customer pays none.`)},[()=>p(e(u))]),y(t,m),a()}var It=d(`<path></path>`),Lt=c(`<span class="badge svelte-mzas8k">In use</span>`),Rt=c(`<li><button type="button"><span class="heading svelte-mzas8k"><svg class="icon svelte-mzas8k" viewBox="0 0 24 24" width="28" height="28" fill="none" stroke="currentColor" stroke-width="1.75" stroke-linecap="round" stroke-linejoin="round" aria-hidden="true"></svg> <span class="name svelte-mzas8k"> </span></span> <span class="summary svelte-mzas8k"> </span> <!></button></li>`),zt=c(`<li class="svelte-mzas8k"> </li>`),Bt=c(`<li> </li>`),Vt=c(`<div><h4 class="svelte-mzas8k"> </h4> <ul class="svelte-mzas8k"></ul></div>`),Ht=c(`<section class="preview svelte-mzas8k" aria-labelledby="preview-heading"><h2 id="preview-heading" class="svelte-mzas8k"> </h2> <div class="block svelte-mzas8k"><h3 class="svelte-mzas8k">Recipes</h3> <ul class="chips svelte-mzas8k" aria-label="Recipes"></ul></div> <div class="block svelte-mzas8k"><h3 class="svelte-mzas8k">Menu</h3> <div class="menu svelte-mzas8k"></div></div> <div class="block svelte-mzas8k"><h3 class="svelte-mzas8k">Settings</h3> <!></div> <div class="actions svelte-mzas8k"><!> <span class="meta svelte-mzas8k">Replaces your current recipes, menu and sample records.</span></div></section>`),Ut=c(`<div class="cookbooks svelte-mzas8k"><!> <p class="meta svelte-mzas8k">A cookbook is a ready-made starting point: the recipes, menu and settings a
|
|
4
|
-
kind of business usually needs. Pick one, look it over, then change
|
|
5
|
-
anything in the other tabs.</p> <ul class="grid svelte-mzas8k" aria-label="Cookbooks"></ul> <!> <!></div> <!>`,1);function Wt(t,r){h(r,!0);let c=ft(),d=K(),p=D(null),_=D(!1),v=D(``),b=D(``);z(()=>{Ae.load(),U(p,Ae.active,!0)});let S=i(()=>ct.find(t=>t.id===e(p))),C=D(M(at(void 0)));O(()=>{U(C,at(e(S)?.settings),!0)});let w=e=>Ae.active===e.id&&Ct(e,{recipes:Q.ids,features:Q.features});function T(){e(S)&&(gt(Z)?U(_,!0):E())}function E(){if(U(_,!1),!e(S))return;let t=vt(e(S),Z,m(e(C)));if(t.ok){c.reset?.(),Ae.select(e(S).id),U(v,``);let t=ht(e(S).document).length;U(b,`${e(S).name} added ${t} menu sections. Explore them in the left sidebar.`),d?.setPanelState(`left`,`expanded`)}else U(v,t.error,!0),U(b,``)}var k=Ut(),A=R(k),P=j(A),F=t=>{W(t,{variant:`success`,title:`Cookbook applied`,children:(t,n)=>{g();var r=u();B(()=>l(r,e(b))),y(t,r)},$$slots:{default:!0}})};n(P,t=>{e(b)&&t(F)});var L=N(P,4);f(L,21,()=>ct,e=>e.id,(t,r)=>{let a=i(()=>w(e(r)));var c=Rt(),u=j(c);let d;var m=j(u),h=j(m);f(h,20,()=>At[e(r).icon]??[],e=>e,(e,t)=>{var n=It();B(()=>H(n,`d`,t)),y(e,n)}),s(h);var g=N(h,2),_=I(g,!0);s(m);var v=N(m,2),S=I(v,!0),C=N(v,2),T=e=>{var t=Lt();y(e,t)};n(C,t=>{e(a)&&t(T)}),s(u),s(c),B(()=>{d=o(u,1,`card svelte-mzas8k`,null,d,{selected:e(p)===e(r).id}),H(u,`aria-pressed`,e(p)===e(r).id),l(_,e(r).name),l(S,e(r).summary)}),x(`click`,u,()=>{U(p,e(r).id,!0),U(b,``)}),y(t,c)}),s(L);var V=N(L,2),te=t=>{let n=i(()=>ht(e(S).document));var r=Ht(),a=j(r),o=I(a,!0),c=N(a,2),d=N(j(c),2);f(d,20,()=>lt(e(S)),e=>e,(e,t)=>{var n=zt(),r=I(n,!0);B(()=>l(r,t)),y(e,n)}),s(d),s(c);var p=N(c,2),m=N(j(p),2);f(m,21,()=>e(n),e=>e.id,(t,n)=>{var r=Vt(),i=j(r),a=I(i,!0),o=N(i,2);f(o,21,()=>e(n).entries,e=>e.id,(t,n)=>{var r=Bt(),i=I(r,!0);B(()=>l(i,e(n).label)),y(t,r)}),s(o),s(r),B(()=>l(a,e(n).label)),y(t,r)}),s(m),s(p);var h=N(p,2);Ft(N(j(h),2),{get value(){return e(C)},onchange:e=>U(C,e,!0),idPrefix:`cookbook-settings`}),s(h);var _=N(h,2),v=j(_);de(v,{onclick:T,children:(e,t)=>{g();var n=u(`Use this cookbook`);y(e,n)},$$slots:{default:!0}}),g(2),s(_),s(r),B(()=>l(o,e(S).name)),y(t,r)};n(V,t=>{e(S)&&t(te)});var ne=N(V,2),re=t=>{W(t,{variant:`error`,title:`Could not use this cookbook`,children:(t,n)=>{g();var r=u();B(()=>l(r,e(v))),y(t,r)},$$slots:{default:!0}})};n(ne,t=>{e(v)&&t(re)}),s(A);var ie=N(A,2);{let t=i(()=>e(S)?`Use the ${e(S).name} cookbook?`:`Use this cookbook?`);ee(ie,{get open(){return e(_)},get title(){return e(t)},message:`Replaces your current recipes, menu and sample records.`,confirmLabel:`Replace`,destructive:!0,onconfirm:E,oncancel:()=>U(_,!1)})}y(t,k),a()}S([`click`]);var Gt=(e,t,n=`${t}s`)=>`${e} ${e===1?t:n}`,Kt=new Map(et(tt).map(e=>[e.id,e.label]));function qt(e){return G(e.slice(e.lastIndexOf(`:`)+1))}function Jt(e){let t=new Map;for(let n of e){let e=qt(n.objectRef),r=t.get(e)??[],i=G(n.fieldName).toLowerCase();r.includes(i)||r.push(i),t.set(e,r)}return[...t].map(([e,t])=>`${e}: ${t.join(`, `)}`)}function Yt(e){let t=[];e.custom?t.push(`brand colour ${e.custom.primary}`):e.preset&&e.preset!==`glass`&&t.push(`${xe(e.preset)?ve(e.preset):e.preset} preset`),e.colorScheme&&e.colorScheme!==`system`&&t.push(`${e.colorScheme} scheme`);let n=e.fontFamily??e.custom?.fontFamily;return n&&t.push(`${n} font`),e.borderRadius&&t.push(`${e.borderRadius} corners`),e.density===`touch`&&t.push(`touch density`),e.contrast&&e.contrast!==`auto`&&t.push(`${e.contrast} contrast`),e.customCss?.trim()&&t.push(`custom CSS`),t}function Xt(e){let t=[],n=e.customSections??[];if(n.length){let e=n.map(e=>e.label).filter(Boolean);t.push(`${Gt(n.length,`custom section`)}${e.length&&e.length<=4?` (${e.join(`, `)})`:``}`)}let r=e.hidden?.length??0;r&&t.push(`${r} hidden`);let i=Object.values(e.items??{}).filter(e=>e.label).length+Object.values(e.sections??{}).filter(e=>e.label||e.icon||e.showTitle===!1).length;i&&t.push(`${i} renamed or restyled`);let a=Object.keys(e.moved??{}).length;a&&t.push(`${a} moved`),(e.sectionOrder?.length||Object.keys(e.itemOrder??{}).length)&&t.push(`reordered`);let o=Object.keys(e.placements??{}).length;return o&&t.push(`${Gt(o,`shell item`)} placed`),Object.keys(e.panels??{}).length&&t.push(`panel settings`),t}function Zt(e,t){if(e===`section:${it.id}`)return it.label;if(e.startsWith(`section:`)){let n=e.slice(8);return t?.sections?.[e]?.label??Kt.get(n)??G(n)}if(e.startsWith(`custom:`))return t?.customSections?.find(t=>t.id===e)?.label??G(e.slice(7));if(e.startsWith(`detail:`)){let t=e.slice(e.lastIndexOf(`.`)+1);return`${G(t)} record`}return G(e)}function Qt(e){let t=[];e.recipes.length&&t.push({id:`recipes`,label:Gt(e.recipes.length,`recipe`),chips:e.recipes.map(e=>st.get(e)?.label??e)}),e.features.length&&t.push({id:`features`,label:Gt(e.features.length,`feature`),chips:e.features.map(qt)}),e.policies.length&&t.push({id:`options`,label:Gt(e.policies.length,`saved option`),chips:Jt(e.policies)});let n=Object.entries(e.exposure??{}).filter(([,e])=>e.length);n.length&&t.push({id:`exposure`,label:`Surfaces switched off`,chips:n.map(([e,t])=>`${qt(e)}: ${t.join(`, `)}`)});let r=e.theme?Yt(e.theme):[];r.length&&t.push({id:`theme`,label:`Theme`,text:r.join(`, `)});let i=e.layout?Xt(e.layout):[];i.length&&t.push({id:`layout`,label:`Layout`,text:i.join(`, `)});let a=Object.keys(e.overviews??{});return a.length&&t.push({id:`pages`,label:Gt(a.length,`customised page`),chips:a.map(t=>Zt(t,e.layout))}),t}function $t(e){let t=Qt(e);if(!t.length)return`an empty cookbook`;let n=t.map(e=>e.id===`theme`?`a theme`:e.id===`layout`?`a layout`:e.id===`exposure`?`narrowed surfaces`:e.label);return n.length===1?n[0]:`${n.slice(0,-1).join(`, `)} and ${n.at(-1)}`}var en=`0.57.2`,tn=`Node 26 or newer`,nn=`pnpm 11`,rn=`cookbook.json`,an=`COOKBOOK_EOF`;function on(e=en){return`npx -y @happyvertical/smrt-cli@${e}`}function sn(e,t){return Le(e.name)||Le(t)||`my-app`}function cn(e,t,n=en){return`${on(n)} cookbook apply ${e} ${t}`}function ln(e,t=an){let n=new Set(e.split(`
|
|
6
|
-
`)),r=t;for(let e=1;n.has(r);e++)r=`${t}_${e}`;return r}function un(e,t={}){let n=t.version??`0.57.2`,r=sn(e,t.fallbackName),i=JSON.stringify(e),a=ln(i),o=on(n),s=[`Create a new s-m-r-t app from the cookbook below. Work in a new, empty directory outside any existing project, run the steps in order, and when you finish report what you ran and what happened, including anything that failed.`,``,`1. Prerequisites: ${tn} (\`node --version\`), git, and ${nn} or newer (\`npm install -g pnpm\` if missing).`,``,`2. Write the cookbook exactly as given, without reformatting or editing it:`,``,`cat > ${rn} <<'${a}'\n${i}\n${a}`,``,`3. Validate it, then create the app in ./${r}:`,``,`${o} cookbook validate ${rn}`,`${o} cookbook apply ${rn} ${r}`,``,`4. Set it up (in a subshell, so the commands below still run from this directory):`,``,`(cd ${r} && pnpm exec smrt app install)`,``,`If any step fails, run \`pnpm exec smrt app doctor\` inside ${r} and include its findings in your report. Do not hand-edit the app's smrt.cookbook.json: change ${rn} and run \`${o} cookbook apply ${rn} --into ${r}\` instead.`,``].join(`
|
|
7
|
-
`);return{text:s,bytes:new TextEncoder().encode(s).length,appName:r,version:n,delimiter:a}}function dn(t,n){h(n,!0);let r=T(n,`copiedLabel`,3,`Copied`),i=T(n,`variant`,3,`primary`),o=T(n,`confirmFor`,3,2e3),s=D(!1),c;async function d(){let e=typeof n.text==`function`?n.text():n.text,t=n.write??(typeof navigator<`u`&&navigator.clipboard?e=>navigator.clipboard.writeText(e):void 0);try{if(!t)throw Error(`no clipboard`);await t(e)}catch{U(s,!1),n.onfail?.();return}U(s,!0),n.oncopied?.(),clearTimeout(c),c=setTimeout(()=>U(s,!1),o())}de(t,{get variant(){return i()},onclick:d,"aria-live":`polite`,get"aria-describedby"(){return n[`aria-describedby`]},children:(t,i)=>{g();var a=u();B(()=>l(a,e(s)?r():n.label)),y(t,a)},$$slots:{default:!0}}),a()}var fn=c(`<li><!></li>`),pn=c(`<ul class="chips svelte-17nkvtk"></ul>`),mn=c(`<dt class="svelte-17nkvtk"> </dt> <dd class="svelte-17nkvtk"><!></dd>`,1),hn=c(`<dl class="summary svelte-17nkvtk"></dl>`),gn=c(`<p class="quiet svelte-17nkvtk">Nothing customised yet. Add recipes or apply a cookbook first.</p>`),_n=c(`<pre class="json svelte-17nkvtk"> </pre>`),vn=c(`The kitchen is running, but this page was opened without its one-time
|
|
8
|
-
token. Open the address <code class="svelte-17nkvtk">smrt kitchen</code> printed (it ends in <code class="svelte-17nkvtk">#kitchen=…</code>), or download the cookbook and run <code class="svelte-17nkvtk">smrt cookbook apply</code> on the file.`,1),yn=c(`This version of <code class="svelte-17nkvtk">smrt kitchen</code> puts its one-time token in a
|
|
9
|
-
file other programs on this computer can read, so the planner does not
|
|
10
|
-
use it. Update the <code class="svelte-17nkvtk">smrt</code> CLI, or download the cookbook and run <code class="svelte-17nkvtk">smrt cookbook apply</code> on the file.`,1),bn=c(`<li><code class="svelte-17nkvtk"> </code></li>`),xn=c(`Next, in your terminal: <ul></ul>`,1),Sn=c(` <!>`,1),Cn=c(`<li> </li>`),wn=c(`<ul></ul>`),Tn=c(`<div class="kitchen" role="status" aria-live="polite"><!></div>`),En=c(`<div class="export svelte-17nkvtk"><p class="meta svelte-17nkvtk">Your recipes, their options, the theme, the layout and customised pages,
|
|
11
|
-
kept together in this browser as one cookbook. Sample records are not part
|
|
12
|
-
of it.</p> <section class="block svelte-17nkvtk" aria-labelledby="summary-heading" data-export-section="summary"><h2 id="summary-heading" class="svelte-17nkvtk">In this cookbook</h2> <!></section> <section class="block svelte-17nkvtk" aria-labelledby="prompt-heading" data-export-section="prompt"><h2 id="prompt-heading" class="svelte-17nkvtk">Copy prompt for your coding agent</h2> <p class="meta svelte-17nkvtk" id="prompt-note">Paste it into Claude Code, Codex or another coding agent. The prompt
|
|
13
|
-
carries the cookbook, creates the app <code class="svelte-17nkvtk"> </code> </p> <!> <div class="actions svelte-17nkvtk" data-export-actions="primary"><!> <!> <!></div> <p class="notice svelte-17nkvtk" role="status" aria-live="polite"> </p></section> <section class="block svelte-17nkvtk" aria-labelledby="file-heading" data-export-section="file"><h2 id="file-heading" class="svelte-17nkvtk">The downloaded file</h2> <p class="meta svelte-17nkvtk">Download writes <code class="svelte-17nkvtk"> </code> </p> <div class="command svelte-17nkvtk"><code data-export-command="" class="svelte-17nkvtk"> </code> <!></div> <!></section> <!> <!> <!> <section class="block replace svelte-17nkvtk" aria-labelledby="replace-heading" data-export-section="replace"><h2 id="replace-heading" class="svelte-17nkvtk">Replace or start over</h2> <p class="meta svelte-17nkvtk">Both replace everything listed above; download a copy first to keep it.</p> <div class="actions svelte-17nkvtk" data-export-actions="replace"><!> <!></div> <p class="meta svelte-17nkvtk">Import swaps this cookbook for one from a file. Reset empties it and
|
|
14
|
-
removes the sample records you added or changed.</p> <input type="file" accept="application/json,.json" hidden="" aria-label="Cookbook file"/> <!> <p class="notice svelte-17nkvtk" role="status" aria-live="polite"> </p></section></div> <!> <!>`,1);function Dn(t,r){h(r,!0);let o=D(void 0),c=D(void 0),d=D(void 0),p=D(null),m=D(M([])),_=D(``),v=D(``),b=D(``),S=D(!1),C=i(()=>ut(Ae.active??``)?.name),w=i(()=>Z.snapshot()),T=i(()=>Qt(e(w))),E=i(()=>Pe(e(w).name??e(C))),O=i(()=>Ve(Fe(e(w)))),A=i(()=>sn(e(w),e(C))),P=i(()=>un(e(w),{fallbackName:e(C)})),F=i(()=>cn(e(E),e(A))),L=`Copying is not available here. The text is selected: press Ctrl+C (Cmd+C on a Mac) to copy it.`;function z(){let t=e(c)?.getElement();t?.focus(),t?.select(),U(b,L)}function V(){if(e(d)){let t=window.getSelection();t?.removeAllRanges(),t?.selectAllChildren(e(d))}U(b,L)}async function H(e){let t=e.currentTarget,n=t.files?.[0];if(U(_,``),U(v,``),n){try{let e=qe(await n.text());e.ok?(U(p,e.cookbook,!0),U(m,e.dropped??[],!0)):U(_,e.error,!0)}catch{U(_,`The file could not be read.`)}t.value=``}}function te(){e(p)&&(Z.replace(e(p)),U(v,`Imported ${$t(e(p))}.${e(m).length?` Not imported: ${e(m).join(` `)}`:``}`)),U(p,null),U(m,[],!0)}let ne=ft();function re(){Z.reset(),ne.reset?.(),U(S,!1),Z.flush(),location.reload()}var ae=En(),oe=R(ae),se=N(j(oe),2),G=N(j(se),2),ce=t=>{var r=hn();f(r,21,()=>e(T),e=>e.id,(t,r)=>{var i=mn(),a=R(i),o=I(a,!0),c=N(a,2),d=j(c),p=t=>{var n=pn();f(n,23,()=>e(r).chips,(e,t)=>`${e}:${t}`,(t,n)=>{var r=fn(),i=j(r);ie(i,{get label(){return e(n)},size:`sm`}),s(r),y(t,r)}),s(n),y(t,n)},m=t=>{var n=u();B(()=>l(n,e(r).text)),y(t,n)};n(d,t=>{e(r).chips?t(p):t(m,-1)}),s(c),B(()=>l(o,e(r).label)),y(t,i)}),s(r),y(t,r)},le=e=>{var t=gn();y(e,t)};n(G,t=>{e(T).length?t(ce):t(le,-1)}),s(se);var K=N(se,2),fe=N(j(K),2),pe=N(j(fe)),me=I(pe,!0),he=N(pe);s(fe);var ge=N(fe,2);k(Ee(ge,{class:`prompt`,get value(){return e(P).text},readonly:!0,rows:10,spellcheck:!1,wrap:`soft`,"aria-label":`Prompt for your coding agent`,"aria-describedby":`prompt-note`,interaction:!1}),e=>U(c,e,!0),()=>e(c));var _e=N(ge,2),ve=j(_e);dn(ve,{text:()=>e(P).text,label:`Copy prompt`,get write(){return r.write},oncopied:()=>U(b,`Prompt copied.`),onfail:z});var ye=N(ve,2),be=t=>{{let n=i(()=>$.status===`sending`);de(t,{variant:`secondary`,get disabled(){return e(n)},onclick:()=>$.send(Z.snapshot()),children:(e,t)=>{g();var n=u();B(()=>l(n,$.status===`sending`?`Sending to kitchen…`:`Send to kitchen`)),y(e,n)},$$slots:{default:!0}})}};n(ye,e=>{$.config&&e(be)});var xe=N(ye,2);de(xe,{variant:`secondary`,onclick:()=>He(e(w),e(w).name??e(C)),children:(e,t)=>{g();var n=u(`Download cookbook`);y(e,n)},$$slots:{default:!0}}),s(_e);var Se=N(_e,2),Ce=I(Se,!0);s(K);var we=N(K,2),Te=N(j(we),2),q=N(j(Te)),De=I(q,!0),Oe=N(q);s(Te);var J=N(Te,2),Y=j(J),ke=I(Y,!0);k(Y,e=>U(d,e),()=>e(d)),dn(N(Y,2),{text:()=>e(F),label:`Copy command`,variant:`secondary`,get write(){return r.write},oncopied:()=>U(b,`Command copied.`),onfail:V}),s(J);var je=N(J,2);ue(je,{title:`Preview JSON`,children:(t,n)=>{var r=_n(),i=I(r,!0);B(e=>l(i,e),[()=>ze(e(w))]),y(t,r)},$$slots:{default:!0}}),s(we);var Me=N(we,2),Ne=e=>{W(e,{variant:`info`,title:`Send to kitchen needs its link`,children:(e,t)=>{g();var n=vn();g(6),y(e,n)},$$slots:{default:!0}})};n(Me,e=>{$.needsLink&&e(Ne)});var Ie=N(Me,2),Le=e=>{W(e,{variant:`warning`,title:`Send to kitchen is off`,children:(e,t)=>{g();var n=yn();g(6),y(e,n)},$$slots:{default:!0}})};n(Ie,e=>{$.tokenInConfig&&e(Le)});var X=N(Ie,2),Re=e=>{var t=Tn(),r=j(t),i=e=>{W(e,{variant:`success`,title:`Sent to the kitchen`,children:(e,t)=>{g();var r=Sn(),i=R(r),a=N(i),o=e=>{var t=xn(),n=N(R(t));f(n,20,()=>$.outcome.result.nextSteps,e=>e,(e,t)=>{var n=bn(),r=j(n),i=I(r,!0);s(n),B(()=>l(i,t)),y(e,n)}),s(n),y(e,t)};n(a,e=>{$.outcome.result.nextSteps.length&&e(o)}),B(()=>l(i,`${$.outcome.result.mode===`update`?`Updated`:`Created`} the project${$.outcome.result.dir?` in ${$.outcome.result.dir}`:``}. `)),y(e,r)},$$slots:{default:!0}})},a=e=>{W(e,{variant:`error`,title:`The kitchen could not use this cookbook`,children:(e,t)=>{var n=wn();f(n,20,()=>$.outcome.errors,e=>e,(e,t)=>{var n=Cn(),r=I(n,!0);B(()=>l(r,t)),y(e,n)}),s(n),y(e,n)},$$slots:{default:!0}})};n(r,e=>{$.outcome.ok?e(i):e(a,-1)}),s(t),y(e,t)};n(X,e=>{$.outcome&&e(Re)});var Be=N(X,2),Ue=N(j(Be),4),We=j(Ue);de(We,{variant:`secondary`,onclick:()=>e(o)?.click(),children:(e,t)=>{g();var n=u(`Import cookbook…`);y(e,n)},$$slots:{default:!0}});var Ge=N(We,2);de(Ge,{variant:`ghost`,onclick:()=>U(S,!0),children:(e,t)=>{g();var n=u(`Reset`);y(e,n)},$$slots:{default:!0}}),s(Ue);var Ke=N(Ue,4);k(Ke,e=>U(o,e),()=>e(o));var Je=N(Ke,2),Ye=t=>{W(t,{variant:`error`,title:`Import failed`,children:(t,n)=>{g();var r=u();B(()=>l(r,e(_))),y(t,r)},$$slots:{default:!0}})};n(Je,t=>{e(_)&&t(Ye)});var Xe=N(Je,2),Ze=I(Xe,!0);s(Be),s(oe);var Qe=N(oe,2);{let t=i(()=>e(p)!==null),n=i(()=>e(p)?`Importing replaces ${$t(e(w))} with ${$t(e(p))}.`:``);ee(Qe,{get open(){return e(t)},title:`Replace the current cookbook?`,get message(){return e(n)},confirmLabel:`Replace`,destructive:!0,onconfirm:te,oncancel:()=>U(p,null)})}var $e=N(Qe,2);ee($e,{get open(){return e(S)},title:`Reset the cookbook?`,message:`This removes every recipe, saved option, theme and layout change, and the sample records you added or changed. Download a copy first to keep it.`,confirmLabel:`Reset`,destructive:!0,onconfirm:re,oncancel:()=>U(S,!1)}),B(t=>{l(me,e(A)),l(he,` with the smrt CLI ${e(P).version??``} and
|
|
15
|
-
starts it. About ${t??``}.`),l(Ce,e(b)),l(De,e(E)),l(Oe,` (${e(O)??``}). To make the app from
|
|
16
|
-
it yourself, run this where the file is:`),l(ke,e(F)),l(Ze,e(v))},[()=>Ve(e(P).bytes)]),x(`change`,Ke,H),y(t,ae),a()}S([`change`]);var On={"header.start":`header, left side`,"header.center":`header, middle`,"header.end":`header, right side`,"footer.start":`footer, left side`,"footer.center":`footer, middle`,"footer.end":`footer, right side`,"leftSidebar.header":`left sidebar, top`,"leftSidebar.footer":`left sidebar, bottom`,"rightSidebar.header":`right sidebar, top`,"rightSidebar.footer":`right sidebar, bottom`},kn={llm:`Language model`,email:`Email`,oauth:`Sign-in (OAuth)`,storage:`File storage`,sms:`Text messages`,payments:`Payments`},An={openai:`OpenAI`,anthropic:`Anthropic`,gemini:`Gemini`,webllm:`WebLLM`,bitgpu:`BitGPU`,smtp:`SMTP`,imap:`IMAP`,s3:`S3`,github:`GitHub`};function jn(e){return An[e]??G(e)}function Mn(e,t=`or`){let n=e.map(jn);return n.length<=1?n.join(``):n.length===2?`${n[0]} ${t} ${n[1]}`:`${n.slice(0,-1).join(`, `)} ${t} ${n[n.length-1]}`}function Nn(e){switch(e.kind){case`shell-widget`:return{kind:e.kind,kindLabel:`Shell widget`,label:e.label,where:On[e.slot]??G(e.slot)};case`route`:return{kind:e.kind,kindLabel:`Page`,label:e.label,where:e.path};case`settings-panel`:return{kind:e.kind,kindLabel:`Settings panel`,label:e.label};case`playground`:return{kind:e.kind,kindLabel:`Playground`,label:e.label??`Try it`};case`widget`:return{kind:e.kind,kindLabel:`Overview widget`,label:e.label}}}function Pn(e){return{id:e.id,kind:e.kind,kindLabel:kn[e.kind]??G(e.kind),required:e.required,options:e.options,browserOptions:e.browserOptions??[],secrets:e.secrets??[]}}function Fn(e){let t=e.nav.map(e=>({kind:`menu`,kindLabel:`List and form`,label:e.label})),n=(e.surfaces??[]).map(Nn),r=[...t,...n];return r.length>0?r:[{kind:`data`,kindLabel:`Records only`,label:`${e.models.length} ${e.models.length===1?`model`:`models`}, no screens of their own`}]}function In(e,t){return e.group?{id:`group:${e.group.id}`,label:e.group.label,...e.group.summary?{summary:e.group.summary}:{}}:{id:`package:${t}`,label:G(t)}}function Ln(e,t){let n=new Map;for(let e of t)for(let t of e.recipes??[])n.set(t.id,e);let r=e=>n.get(e.id)??t.find(t=>t.models.some(t=>t.id===e.models[0]));return e.map(e=>{let t=r(e),n=t?.id??e.id.split(`.`)[0],i=yt(e),a=mt(i);return{recipe:e,id:e.id,label:e.label,summary:e.summary,group:In(e,n),packageId:n,demo:a,ownMode:e.demo&&i&&e.demo.mode!==i.mode?e.demo.mode:void 0,packageNote:_t(t?.browser),providers:(e.providers??[]).map(Pn),gets:Fn(e),requires:e.requires,runtime:e.runtime}})}function Rn(e){let t=new Map;for(let n of e){let e=t.get(n.group.id);e?!e.summary&&n.group.summary&&t.set(n.group.id,{...e,summary:n.group.summary}):t.set(n.group.id,n.group)}return[...t.values()].sort((e,t)=>e.label.localeCompare(t.label))}function zn(e,t,n){let r=t.toLowerCase().split(/\s+/).filter(Boolean);return e.filter(e=>{if(n&&e.group.id!==n)return!1;if(r.length===0)return!0;let t=[e.label,e.summary,e.id,e.group.label,e.packageId,...e.recipe.synonyms,...e.gets.flatMap(e=>[e.kindLabel,e.label,e.where??``]),...e.providers.flatMap(e=>[e.kindLabel,...e.options]),e.demo?.label??``].join(` `).toLowerCase();return r.every(e=>t.includes(e))})}function Bn(e){return Rn(e).map(t=>({group:t,cards:e.filter(e=>e.group.id===t.id)}))}function Vn(e,t,n){let r=new Set(nt(t,n));return nt([...t,e],n).filter(t=>t!==e&&!r.has(t))}var Hn=c(`<span class="meta where svelte-1tvhds4"> </span>`),Un=c(`<li><span class="kind svelte-1tvhds4"> </span> <!></li>`),Wn=c(`<span class="meta svelte-1tvhds4"> </span>`),Gn=c(`<code class="svelte-1tvhds4"> </code> `,1),Kn=c(`<p class="meta svelte-1tvhds4">Secrets (names only): <!></p>`),qn=c(`<h4 class="svelte-1tvhds4">Needs</h4> <ul class="plain svelte-1tvhds4"></ul> <!>`,1),Jn=c(`<p class="meta svelte-1tvhds4"> </p>`),Yn=c(`<li> </li>`),Xn=c(`<ul class="plain reasons svelte-1tvhds4"></ul>`),Zn=c(`<!> <!> <!>`,1),Qn=c(`<li><div class="head svelte-1tvhds4"><h3 class="svelte-1tvhds4"> </h3> <!></div> <p class="summary svelte-1tvhds4"> </p> <p class="meta svelte-1tvhds4"><!></p> <h4 class="svelte-1tvhds4">You get</h4> <ul class="plain svelte-1tvhds4"></ul> <!> <!> <!> <div class="foot svelte-1tvhds4"><!> <!></div></li>`);function $n(t,r){h(r,!0);let c=i(()=>r.card.demo),d=i(()=>(e(c)?.reasons.length??0)>0||r.card.ownMode!==void 0||r.card.packageNote!==void 0),p=i(()=>[...new Set(r.card.providers.flatMap(e=>e.secrets))]),m=i(()=>`feature-${r.card.id}`);var _=Qn();let v;var b=j(_),x=j(b),S=I(x,!0),C=N(x,2),w=t=>{le(t,{get variant(){return e(c).variant},size:`sm`,get title(){return e(c).meaning},children:(t,n)=>{g();var r=u();B(()=>l(r,e(c).label)),y(t,r)},$$slots:{default:!0}})};n(C,t=>{e(c)&&t(w)}),s(b);var T=N(b,2),E=I(T,!0),D=N(T,2),O=j(D),k=t=>{var n=u();B(()=>l(n,e(c).meaning)),y(t,n)},A=e=>{var t=u(`Demo status not reported for this feature.`);y(e,t)};n(O,t=>{e(c)?t(k):t(A,-1)}),s(D);var M=N(D,4);f(M,21,()=>r.card.gets,e=>`${e.kind}:${e.label}`,(t,r)=>{var i=Un(),a=j(i),o=I(a,!0),c=N(a),u=N(c),d=t=>{var n=Hn(),i=I(n);B(()=>l(i,`(${e(r).where??``})`)),y(t,n)};n(u,t=>{e(r).where&&t(d)}),s(i),B(()=>{l(o,e(r).kindLabel),l(c,` ${e(r).label??``}`)}),y(t,i)}),s(M);var P=N(M,2),F=t=>{var i=qn(),a=N(R(i),2);f(a,21,()=>r.card.providers,e=>e.id,(t,r)=>{var i=Un(),a=j(i),o=I(a,!0),c=N(a),u=N(c),d=t=>{var n=Wn(),i=I(n);B(t=>l(i,`${t??``}
|
|
17
|
-
${e(r).browserOptions.length===1?`runs`:`run`} in the
|
|
18
|
-
browser with no key.`),[()=>Mn(e(r).browserOptions,`and`)]),y(t,n)};n(u,t=>{e(r).browserOptions.length&&t(d)}),s(i),B(t=>{l(o,e(r).kindLabel),l(c,` ${e(r).required?`Required`:`Optional`}: ${t??``}. `)},[()=>Mn(e(r).options)]),y(t,i)}),s(a);var o=N(a,2),c=t=>{var n=Kn(),r=N(j(n));f(r,18,()=>e(p),e=>e,(t,n,r)=>{var i=Gn(),a=R(i),o=I(a,!0),s=N(a,1,!0);B(()=>{l(o,n),l(s,e(r)<e(p).length-1?`, `:``)}),y(t,i)}),s(n),y(t,n)};n(o,t=>{e(p).length&&t(c)}),B(()=>H(a,`aria-label`,`${r.card.label}: providers`)),y(t,i)};n(P,e=>{r.card.providers.length&&e(F)});var L=N(P,2),z=e=>{var t=Jn(),n=I(t);B(e=>l(n,`Also adds ${e??``}.`),[()=>r.alsoAdds.join(`, `)]),y(e,t)};n(L,e=>{!r.on&&r.alsoAdds.length&&e(z)});var V=N(L,2),U=t=>{{let a=i(()=>e(c)?`Why ${e(c).label}?`:`Details`);ue(t,{get title(){return e(a)},children:(t,i)=>{var a=Zn(),o=R(a),u=t=>{var n=Xn();f(n,20,()=>e(c).reasons,e=>e,(e,t)=>{var n=Yn(),r=I(n,!0);B(()=>l(r,t)),y(e,n)}),s(n),B(()=>H(n,`aria-label`,`${r.card.label}: reasons`)),y(t,n)};n(o,t=>{e(c)?.reasons.length&&t(u)});var d=N(o,2),p=t=>{var n=Jn(),i=I(n);B(()=>l(i,`On its own it would be ${r.card.ownMode??``}; what it needs sets ${e(c).label??``}.`)),y(t,n)};n(d,t=>{r.card.ownMode&&e(c)&&t(p)});var m=N(d,2),h=e=>{var t=Jn(),n=I(t,!0);B(()=>l(n,r.card.packageNote)),y(e,t)};n(m,e=>{r.card.packageNote&&e(h)}),y(t,a)},$$slots:{default:!0}})}};n(V,t=>{e(d)&&t(U)});var ee=N(V,2),W=j(ee);{let t=i(()=>r.lockedBy.length>0),n=i(()=>`${e(m)}-summary${r.lockedBy.length?` ${e(m)}-locked`:``}`);q(W,{get label(){return r.card.label},get checked(){return r.on},get disabled(){return e(t)},get"aria-describedby"(){return e(n)},onchange:e=>r.onchange(e.currentTarget.checked)})}var te=N(W,2),ne=t=>{var n=Jn(),i=I(n);B(t=>{H(n,`id`,`${e(m)}-locked`),l(i,`Stays on while ${t??``} needs it.`)},[()=>r.lockedBy.join(`, `)]),y(t,n)};n(te,e=>{r.lockedBy.length&&e(ne)}),s(ee),s(_),B(()=>{v=o(_,1,`card svelte-1tvhds4`,null,v,{selected:r.on}),l(S,r.card.label),H(T,`id`,`${e(m)}-summary`),l(E,r.card.summary),H(M,`aria-label`,`${r.card.label}: what you get`)}),y(t,_),a()}var er=c(`<div class="chips svelte-7kphei" role="group" aria-label="Filter by package"><!> <!></div>`),tr=c(`<span class="tag svelte-7kphei">plumbing</span>`),nr=c(`<span class="includes svelte-7kphei"> </span>`),rr=c(`<li><span class="icon svelte-7kphei" aria-hidden="true"><!></span> <div class="text svelte-7kphei"><span class="name svelte-7kphei"><a class="svelte-7kphei"> </a> <!></span> <span class="meta svelte-7kphei"> </span> <!></div> <!></li>`),ir=c(`<ul class="rows svelte-7kphei" aria-label="Features"></ul>`),ar=c(`<p class="empty svelte-7kphei"> </p>`),or=c(`<div class="features svelte-7kphei"><p class="meta svelte-7kphei">Models no recipe covers. Add one to give it a list and a form of its own
|
|
19
|
-
under More in the menu.</p> <!> <!> <div class="bar svelte-7kphei"><h2 class="count svelte-7kphei"> </h2> <!></div> <!> <p class="notice svelte-7kphei" role="status" aria-live="polite"> </p></div>`);function sr(t,r){h(r,!0);let c=Ze(se,tt),d=D(``),m=D(null),_=D(!1),v=D(``),b=i(()=>Xe(c,e(_))),x=i(()=>Qe(Ye(e(b),e(d)))),S=i(()=>e(m)&&e(x).includes(e(m))?e(m):null),C=i(()=>Ye(e(b),e(d),e(S))),w=i(()=>e(_)?0:Ye(c,e(d),e(S)).length-e(C).length);function T(e,t){t?Q.addFeature(e.id):Q.removeFeature(e.id),U(v,t?`Added ${e.label} to the menu.`:`Removed ${e.label} from the menu.`,!0)}var E=or(),O=N(j(E),2);we(O,{get value(){return e(d)},onsearch:e=>{U(d,e,!0)},label:`Search features`,placeholder:`Search models, packages and fields`,debounceMs:0});var k=N(O,2),A=t=>{var n=er(),r=j(n);{let t=i(()=>e(S)===null);De(r,{get pressed(){return e(t)},onclick:()=>U(m,null),children:(e,t)=>{g();var n=u(`All`);y(e,n)},$$slots:{default:!0}})}var a=N(r,2);f(a,16,()=>e(x),e=>e,(t,n)=>{{let r=i(()=>e(S)===n);De(t,{get pressed(){return e(r)},onclick:()=>U(m,e(S)===n?null:n,!0),children:(e,t)=>{g();var r=u();B(e=>l(r,e),[()=>G(n)]),y(e,r)},$$slots:{default:!0}})}}),s(n),y(t,n)};n(k,t=>{e(x).length>1&&t(A)});var M=N(k,2),P=j(M),F=I(P),L=N(P,2);q(L,{get checked(){return e(_)},label:`Show all`,onchange:e=>{U(_,e.currentTarget.checked,!0)}}),s(M);var R=N(M,2),z=t=>{var r=ir();f(r,29,()=>e(C),e=>e.id,(t,r)=>{let a=i(()=>Q.hasFeature(e(r).id));var c=rr();let u;var d=j(c),f=j(d);rt(f,{path:`M12 3C7.58 3 4 4.79 4 7v10c0 2.21 3.59 4 8 4s8-1.79 8-4V7c0-2.21-3.58-4-8-4zm6 14c0 .5-2.13 2-6 2s-6-1.5-6-2v-2.23c1.61.78 3.72 1.23 6 1.23s4.39-.45 6-1.23V17zm0-4.55c-1.3.95-3.58 1.55-6 1.55s-4.7-.6-6-1.55V9.64c1.47.83 3.61 1.36 6 1.36s4.53-.53 6-1.36v2.81zM12 9C8.13 9 6 7.5 6 7s2.13-2 6-2 6 1.5 6 2-2.13 2-6 2z`,size:22}),s(d);var m=N(d,2),h=j(m),g=j(h),_=I(g,!0),v=N(g,2),b=e=>{var t=tr();y(e,t)};n(v,t=>{e(r).plumbing&&t(b)}),s(h);var x=N(h,2),S=I(x,!0),C=N(x,2),w=t=>{var n=nr(),i=I(n);B(e=>l(i,`+ ${e??``}`),[()=>e(r).includes.join(`, `)]),y(t,n)};n(C,t=>{e(r).includes.length&&t(w)}),s(m);var E=N(m,2);{let t=i(()=>`${e(a)?`Remove`:`Add`} ${e(r).label} feature`);q(E,{get checked(){return e(a)},get"aria-label"(){return e(t)},onchange:t=>T(e(r),t.currentTarget.checked)})}s(c),B((t,n)=>{u=o(c,1,`svelte-7kphei`,null,u,{selected:e(a)}),H(g,`href`,t),l(_,e(r).label),l(S,n)},[()=>ce(`/packages/${e(r).packageId}/`),()=>Je(e(r))]),p(c,()=>ge,()=>({duration:kt(`medium2`,300)})),y(t,c)}),s(r),y(t,r)},V=t=>{var n=ar(),r=I(n);B(()=>l(r,`No features match "${e(d)??``}".`)),y(t,n)};n(R,t=>{e(C).length?t(z):t(V,-1)});var ee=N(R,2),W=I(ee,!0);s(E),B(()=>{l(F,`${e(C).length??``} ${e(C).length===1?`feature`:`features`}${e(w)?` (${e(w)} hidden)`:``}`),l(W,e(v))}),y(t,E),a()}var cr=c(`<div class="chips svelte-q9yl1j" role="group" aria-label="Browse by group"><!> <!></div>`),lr=c(`<p class="meta svelte-q9yl1j"> </p>`),ur=c(`<section class="svelte-q9yl1j"><h2 class="svelte-q9yl1j"> </h2> <!> <ul class="cards svelte-q9yl1j"></ul></section>`),dr=c(`<div class="features svelte-q9yl1j"><p class="meta svelte-q9yl1j">Everything s-m-r-t can add to your app. Switch a feature on to add it, with
|
|
20
|
-
what it needs, to your cookbook. Each label says how far it runs in this
|
|
21
|
-
browser-only demo; menu entries appear in the sidebar, while widgets, pages
|
|
22
|
-
and panels are listed for the real app and are not mounted here.</p> <!> <!> <p class="count svelte-q9yl1j" aria-live="polite"> </p> <!> <p class="notice meta svelte-q9yl1j" role="status" aria-live="polite"> </p> <!></div>`);function fr(t,r){h(r,!0);let o=Ln(tt,se.packages),c=Rn(o),d=D(``),p=D(null),m=D(``),_=i(()=>zn(o,e(d),e(p))),v=i(()=>Bn(e(_))),b=e=>st.get(e)?.label??e;function x(e,t){let n=new Set(Q.ids);t?Q.add(e):Q.remove(e);let r=new Set(Q.ids),i=Q.ids.filter(e=>!n.has(e)),a=[...n].filter(e=>!r.has(e)),o=[];i.length&&o.push(`Added ${i.map(b).join(`, `)}.`),a.length&&o.push(`Removed ${a.map(b).join(`, `)}.`),U(m,o.join(` `),!0)}var S=dr(),C=N(j(S),2);we(C,{get value(){return e(d)},onsearch:e=>{U(d,e,!0)},label:`Search features`,placeholder:`Search features`,debounceMs:0});var w=N(C,2),T=t=>{var n=cr(),r=j(n);{let t=i(()=>e(p)===null);De(r,{get pressed(){return e(t)},onclick:()=>U(p,null),children:(e,t)=>{g();var n=u(`All`);y(e,n)},$$slots:{default:!0}})}var a=N(r,2);f(a,17,()=>c,e=>e.id,(t,n)=>{{let r=i(()=>e(p)===e(n).id);De(t,{get pressed(){return e(r)},onclick:()=>U(p,e(p)===e(n).id?null:e(n).id,!0),children:(t,r)=>{g();var i=u();B(()=>l(i,e(n).label)),y(t,i)},$$slots:{default:!0}})}}),s(n),y(t,n)};n(w,e=>{c.length>1&&e(T)});var E=N(w,2),O=I(E),k=N(E,2);f(k,17,()=>e(v),e=>e.group.id,(t,r)=>{var a=ur(),o=j(a),c=I(o,!0),u=N(o,2),d=t=>{var n=lr(),i=I(n,!0);B(()=>l(i,e(r).group.summary)),y(t,n)};n(u,t=>{e(r).group.summary&&t(d)});var p=N(u,2);f(p,21,()=>e(r).cards,e=>e.id,(t,n)=>{{let r=i(()=>Q.has(e(n).id)),a=i(()=>ot([e(n).id],Q.ids,st).map(b)),o=i(()=>Vn(e(n).id,Q.ids,st).map(b));$n(t,{get card(){return e(n)},get on(){return e(r)},get lockedBy(){return e(a)},get alsoAdds(){return e(o)},onchange:t=>x(e(n).id,t)})}}),s(p),s(a),B(()=>{H(a,`aria-labelledby`,`group-${e(r).group.id}`),H(o,`id`,`group-${e(r).group.id}`),l(c,e(r).group.label),H(p,`aria-label`,`${e(r).group.label} features`)}),y(t,a)},t=>{var n=lr(),r=I(n);B(()=>l(r,`No features match "${e(d)??``}".`)),y(t,n)});var A=N(k,2),M=I(A,!0),P=N(A,2);ue(P,{title:`Single records`,children:(e,t)=>{sr(e,{})},$$slots:{default:!0}}),s(S),B(()=>{l(O,`${e(_).length??``} ${e(_).length===1?`feature`:`features`}`),l(M,e(m))}),y(t,S),a()}function pr(e){let t=new Map;for(let n of e){let e=n.group?.id??n.id,r=t.get(e);r?(r.recipes.push(n),r.hasSubSwitches=!0):t.set(e,{id:e,label:n.group?.label??n.label,summary:n.group?.summary??n.summary,recipes:[n],hasSubSwitches:!1})}return[...t.values()].sort((e,t)=>e.label.localeCompare(t.label))}function mr(e,t){return e.recipes.some(e=>t.includes(e.id))}function hr(e,t,n){if(n){let n=e.recipes[0];return{add:n&&!mr(e,t)?[n.id]:[],remove:[]}}return{add:[],remove:e.recipes.map(e=>e.id)}}function gr(e,t){return t?{add:[e],remove:[]}:{add:[],remove:[e]}}function _r(e,t,n){let r=e.recipes.filter(e=>t.includes(e.id)),i={};if(e.hasSubSwitches)for(let e of r){let r=ot([e.id],t,n);r.length&&(i[e.id]=r)}return{main:r.length?ot(e.recipes.map(e=>e.id),t,n):[],subs:i}}function vr(e,t){let n=t.join(`, `);return e.hasSubSwitches?`${e.label} stays on while ${n} needs at least one ${e.label} recipe.`:`${e.label} stays on while ${n} needs it.`}function yr(e,t,n){return`${t} is the last ${e.label} recipe on, and ${n.join(`, `)} needs one.`}var br=c(`<p class="meta svelte-1d5gge1"> </p>`),xr=c(`<div class="sub svelte-1d5gge1"><!> <p class="meta svelte-1d5gge1"> </p> <!></div>`),Sr=c(`<li><h2 class="svelte-1d5gge1"> </h2> <p class="description svelte-1d5gge1"> </p> <!> <!> <!> <!></li>`),Cr=c(`<ul class="cards svelte-1d5gge1" aria-label="Recipes"></ul> <p class="notice svelte-1d5gge1" role="status" aria-live="polite"> </p>`,1);function wr(t,r){h(r,!0);let c=pr(tt),u=D(``),d=e=>st.get(e)?.label??e,p=e=>e.map(d).join(`, `);function m(e){let t=new Set(Q.ids);e.add.length&&Q.add(...e.add),e.remove.length&&Q.remove(...e.remove);let n=new Set(Q.ids),r=Q.ids.filter(e=>!t.has(e)),i=[...t].filter(e=>!n.has(e)),a=[];r.length&&a.push(`Added ${p(r)} to the menu.`),i.length&&a.push(`Removed ${p(i)} from the menu.`),U(u,a.join(` `),!0)}function g(e){let t=e.recipes[0];return!t||e.hasSubSwitches?``:[...t.requires.map(d),...(t.requiresAny??[]).map(e=>`one of ${p(e)}`)].join(`, `)}let _=e=>mr(e,Q.ids);var v=Cr(),x=R(v);f(x,21,()=>c,e=>e.id,(t,r)=>{let a=i(()=>_(e(r))),c=i(()=>_r(e(r),Q.ids,st)),u=i(()=>e(c).main);var p=Sr();let h;var v=j(p),x=I(v,!0),S=N(v,2),C=I(S,!0),w=N(S,2);{let t=i(()=>e(u).length>0),n=i(()=>`card-${e(r).id}-summary${e(u).length?` card-${e(r).id}-needed`:``}`);q(w,{get label(){return e(r).label},get checked(){return e(a)},get disabled(){return e(t)},get"aria-describedby"(){return e(n)},onchange:t=>m(hr(e(r),Q.ids,t.currentTarget.checked))})}var T=N(w,2),E=t=>{var n=br(),i=I(n,!0);B(t=>{H(n,`id`,`card-${e(r).id}-needed`),l(i,t)},[()=>vr(e(r),e(u).map(d))]),y(t,n)};n(T,t=>{e(u).length&&t(E)});var D=N(T,2),O=t=>{{let a=i(()=>`${e(r).label} recipes`);Te(t,{get legend(){return e(a)},stack:!0,class:`subs`,children:(t,a)=>{var o=b(),u=R(o);f(u,17,()=>e(r).recipes,e=>e.id,(t,a)=>{let o=i(()=>Q.has(e(a).id)),u=i(()=>e(c).subs[e(a).id]??[]);var f=xr(),p=j(f);{let t=i(()=>e(u).length>0),n=i(()=>`sub-${e(a).id}-summary${e(u).length?` sub-${e(a).id}-needed`:``}`);q(p,{get label(){return e(a).label},size:`sm`,get checked(){return e(o)},get disabled(){return e(t)},get"aria-describedby"(){return e(n)},onchange:t=>m(gr(e(a).id,t.currentTarget.checked))})}var h=N(p,2),g=I(h,!0),_=N(h,2),v=t=>{var n=br(),i=I(n,!0);B(t=>{H(n,`id`,`sub-${e(a).id}-needed`),l(i,t)},[()=>yr(e(r),e(a).label,e(u).map(d))]),y(t,n)};n(_,t=>{e(u).length&&t(v)}),s(f),B(()=>{H(h,`id`,`sub-${e(a).id}-summary`),l(g,e(a).summary)}),y(t,f)}),y(t,o)},$$slots:{default:!0}})}};n(D,t=>{e(r).hasSubSwitches&&t(O)});var k=N(D,2),A=t=>{var n=br(),i=I(n);B(e=>l(i,`Needs ${e??``}.`),[()=>g(e(r))]),y(t,n)},M=i(()=>!e(a)&&g(e(r)));n(k,t=>{e(M)&&t(A)}),s(p),B(()=>{h=o(p,1,`svelte-1d5gge1`,null,h,{selected:e(a)}),H(v,`id`,`card-${e(r).id}`),l(x,e(r).label),H(S,`id`,`card-${e(r).id}-summary`),l(C,e(r).summary)}),y(t,p)}),s(x);var S=N(x,2),C=I(S,!0);B(()=>l(C,e(u))),y(t,v),a()}var Tr=c(`<div class="pane svelte-d580bl"><p class="meta svelte-d580bl">Defaults for this app. They apply to new records only; existing records
|
|
23
|
-
keep their values.</p> <!></div>`);function Er(t,n){h(n,!0);let r=D(M(Z.settings())),i;function o(e){U(r,e,!0),clearTimeout(i),i=setTimeout(c,300)}function c(){clearTimeout(i),i=void 0,Z.setSettings(e(r))}O(()=>{let e=Z.settings();i===void 0&&U(r,e,!0)});var l=Tr();C(`pagehide`,A,c),Ft(N(j(l),2),{get value(){return e(r)},onchange:o,idPrefix:`app-settings-tab`}),s(l),y(t,l),a()}var Dr=c(`<button type="button"><span class="choice-name svelte-18m8le4"><span class="choice-icon svelte-18m8le4" aria-hidden="true"> </span> </span> <span class="preview svelte-18m8le4" aria-hidden="true"><span class="preview-sidebar svelte-18m8le4"><span class="svelte-18m8le4"></span><span class="svelte-18m8le4"></span><span class="svelte-18m8le4"></span></span> <span class="preview-main svelte-18m8le4"><span class="preview-title svelte-18m8le4"></span><span class="preview-body svelte-18m8le4"><span class="svelte-18m8le4"></span><span class="svelte-18m8le4"></span></span></span></span></button>`),Or=c(`<button type="button"><span class="choice-name svelte-18m8le4"><span class="choice-icon svelte-18m8le4" aria-hidden="true"> </span> </span> <span class="choice-hint svelte-18m8le4"> </span></button>`),kr=c(`<div class="cards svelte-18m8le4" role="group" aria-label="Theme look"></div> <div class="cards schemes svelte-18m8le4" role="group" aria-label="Appearance"></div>`,1),Ar=c(`<option> </option>`),jr=c(`<p class="error svelte-18m8le4" role="alert">Use a hex colour like #c2410c.</p>`),Mr=c(`<section class="theme svelte-18m8le4" aria-label="Theme settings"><!> <div class="shape svelte-18m8le4" role="group" aria-label="Shape and contrast"><div class="field svelte-18m8le4"><!> <select id="theme-radius" class="svelte-18m8le4"></select></div> <div class="field svelte-18m8le4"><!> <select id="theme-density" class="svelte-18m8le4"></select></div> <div class="field svelte-18m8le4"><!> <select id="theme-contrast" class="svelte-18m8le4"></select></div></div> <div class="brand svelte-18m8le4"><div class="field svelte-18m8le4"><!> <div class="pick svelte-18m8le4"><span class="wheel svelte-18m8le4"><input id="theme-brand-colour" type="color" aria-label="Choose brand colour" class="svelte-18m8le4"/></span> <!></div></div> <div class="field font-field svelte-18m8le4"><!> <select id="theme-brand-font" class="svelte-18m8le4"><option>Theme default</option><!></select></div> <!></div> <!> <a class="advanced svelte-18m8le4"><span class="advanced-icon svelte-18m8le4" aria-hidden="true"></span> <span><strong class="svelte-18m8le4">Advanced Styles</strong><small class="svelte-18m8le4"> </small></span> <span class="arrow svelte-18m8le4" aria-hidden="true">→</span></a></section>`);function Nr(t,c){h(c,!0);let d=T(c,`provider`,3,!0),p=T(c,`advancedStylesHref`,3,`#/advanced-styles/`),m=ye(),b=i(()=>Z.theme?.custom),S=D(``),C=D(!1);O(()=>{U(S,e(b)?.primary??``,!0),U(C,!1)});let k={material:`◆`,glass:`◇`,studio:`▣`,smrt:`✦`,happyvertical:`⬡`},A=[{id:`light`,label:`Light`,icon:`☀`,hint:`Bright all the time`},{id:`dark`,label:`Dark`,icon:`☾`,hint:`Dim all the time`},{id:`system`,label:`Auto`,icon:`◐`,hint:`Follow this device`}],M=[{id:`none`,label:`None`},{id:`sm`,label:`Small`},{id:`md`,label:`Medium`},{id:`lg`,label:`Large`},{id:`xl`,label:`Extra large`},{id:`full`,label:`Full`}],P=[{id:`comfortable`,label:`Comfortable`},{id:`touch`,label:`Touch`}],F=[{id:`auto`,label:`Auto`},{id:`standard`,label:`Standard`},{id:`more`,label:`More`}],L={borderRadius:`md`,density:`comfortable`,contrast:`auto`};function z(e,t){Z.setTheme({...Z.theme,[e]:t===L[e]?void 0:t})}function V(t){let n=We(t);U(C,!n),n&&Z.setTheme({...Z.theme,fontFamily:Z.theme?.fontFamily??e(b)?.fontFamily,custom:{primary:n}})}function ee(t){let n=e(b)?{primary:e(b).primary}:void 0;Z.setTheme({...Z.theme,fontFamily:t||void 0,custom:n})}function W(){Z.setTheme({...Z.theme,fontFamily:Z.theme?.fontFamily??e(b)?.fontFamily,custom:void 0})}let te=i(()=>{let e=Z.theme?.customCss;return!!e&&!wt(e??``)});var ne=Mr(),re=j(ne),ie=t=>{var n=kr(),r=R(n);f(r,21,()=>be,e=>e.id,(t,n)=>{let r=i(()=>m.state.resolvedScheme===`dark`?e(n).dark:e(n).light);var a=Dr();let c,u;var d=j(a),f=j(d),p=I(f,!0),h=N(f,1,!0);s(d),g(2),s(a),B(()=>{c=o(a,1,`choice preset svelte-18m8le4`,null,c,{selected:!e(b)&&(Z.theme?.preset??`glass`)===e(n).id}),H(a,`aria-pressed`,!e(b)&&(Z.theme?.preset??`glass`)===e(n).id),u=v(a,``,u,{"--smrt-planner-preview-bg":e(r).background,"--smrt-planner-preview-surface":e(r).surface,"--smrt-planner-preview-primary":e(r).primary,"--smrt-planner-preview-ink":e(r).onSurface}),l(p,k[e(n).id]),l(h,e(n).label)}),x(`click`,a,()=>m?.setPreset(e(n).id)),y(t,a)}),s(r);var a=N(r,2);f(a,21,()=>A,e=>e.id,(t,n)=>{var r=Or();let i;var a=j(r),c=j(a),u=I(c,!0),d=N(c,1,!0);s(a);var f=N(a,2),p=I(f,!0);s(r),B(()=>{i=o(r,1,`choice scheme svelte-18m8le4`,null,i,{selected:m.state.colorScheme===e(n).id}),H(r,`aria-pressed`,m.state.colorScheme===e(n).id),l(u,e(n).icon),l(d,e(n).label),l(p,e(n).hint)}),x(`click`,r,()=>m?.setColorScheme(e(n).id)),y(t,r)}),s(a),y(t,n)};n(re,e=>{d()&&m&&e(ie)});var ae=N(re,2),oe=j(ae),se=j(oe);J(se,{for:`theme-radius`,label:`Corner radius`});var G=N(se,2);f(G,21,()=>M,e=>e.id,(t,n)=>{var r=Ar(),i=I(r,!0),a={};B(()=>{l(i,e(n).label),a!==(a=e(n).id)&&(r.value=(r.__value=a)??``)}),y(t,r)}),s(G);var ce;_(G),s(oe);var le=N(oe,2),ue=j(le);J(ue,{for:`theme-density`,label:`Density`});var K=N(ue,2);f(K,21,()=>P,e=>e.id,(t,n)=>{var r=Ar(),i=I(r,!0),a={};B(()=>{l(i,e(n).label),a!==(a=e(n).id)&&(r.value=(r.__value=a)??``)}),y(t,r)}),s(K);var fe;_(K),s(le);var pe=N(le,2),he=j(pe);J(he,{for:`theme-contrast`,label:`Contrast`});var ge=N(he,2);f(ge,21,()=>F,e=>e.id,(t,n)=>{var r=Ar(),i=I(r,!0),a={};B(()=>{l(i,e(n).label),a!==(a=e(n).id)&&(r.value=(r.__value=a)??``)}),y(t,r)}),s(ge);var _e;_(ge),s(pe),s(ae);var ve=N(ae,2),xe=j(ve),Se=j(xe);J(Se,{for:`theme-brand-colour`,label:`Brand colour`});var Ce=N(Se,2),we=j(Ce);let Te;var q=j(we);w(q),s(we);var Ee=N(we,2);me(Ee,{type:`text`,"aria-label":`Brand colour hex`,placeholder:`#c2410c`,autocomplete:`off`,spellcheck:`false`,get value(){return e(S)},get"aria-invalid"(){return e(C)},oninput:t=>{U(S,t.currentTarget.value,!0),e(S).trim()&&V(e(S))}}),s(Ce),s(xe);var De=N(xe,2),Oe=j(De);J(Oe,{for:`theme-brand-font`,label:`Font`});var Y=N(Oe,2),ke=j(Y);ke.value=ke.__value=``;var Ae=N(ke);f(Ae,16,()=>Object.keys(Ke),e=>e,(e,t)=>{var n=Ar(),r=I(n,!0),i={};B(()=>{l(r,t),i!==(i=t)&&(n.value=(n.__value=i)??``)}),y(e,n)}),s(Y);var je;_(Y),s(De);var Me=N(De,2),Ne=e=>{de(e,{variant:`secondary`,onclick:W,children:(e,t)=>{g();var n=u(`Reset brand colour`);y(e,n)},$$slots:{default:!0}})};n(Me,t=>{e(b)&&t(Ne)}),s(ve);var Pe=N(ve,2),Fe=e=>{var t=jr();y(e,t)};n(Pe,t=>{e(C)&&t(Fe)});var Ie=N(Pe,2),Le=j(Ie);Le.textContent=`{}`;var X=N(Le,2),Re=N(j(X)),ze=I(Re,!0);s(X),g(2),s(Ie),s(ne),B(()=>{ce!==(ce=Z.theme?.borderRadius??L.borderRadius)&&(G.value=(G.__value=ce)??``,r(G,ce)),fe!==(fe=Z.theme?.density??L.density)&&(K.value=(K.__value=fe)??``,r(K,fe)),_e!==(_e=Z.theme?.contrast??L.contrast)&&(ge.value=(ge.__value=_e)??``,r(ge,_e)),Te=v(we,``,Te,{"--smrt-planner-picked-color":e(b)?.primary??`#e68a00`}),E(q,e(b)?.primary??`#e68a00`),je!==(je=Z.theme?.fontFamily??e(b)?.fontFamily??``)&&(Y.value=(Y.__value=je)??``,r(Y,je)),H(Ie,`href`,p()),l(ze,e(te)?`This cookbook has custom CSS waiting for your approval`:`Edit custom CSS for your app`)}),x(`change`,G,e=>z(`borderRadius`,e.currentTarget.value)),x(`change`,K,e=>z(`density`,e.currentTarget.value)),x(`change`,ge,e=>z(`contrast`,e.currentTarget.value)),x(`input`,q,e=>V(e.currentTarget.value)),x(`change`,Y,e=>ee(e.currentTarget.value)),y(t,ne),a()}S([`click`,`change`,`input`]);function Pr(e){return{get ids(){return e.snapshot().recipes.map(e=>e.id)},add:(...t)=>void e.run({name:`add_recipes`,input:{ids:t}}),remove:(...t)=>void e.run({name:`remove_recipes`,input:{ids:t}})}}function Fr(e){return{read:()=>{let{currency:t,taxRate:n,paymentTerms:r,pricesIncludeTax:i,taxRounding:a}=e.snapshot().settings;return{currency:t,taxRate:Number((n/100).toFixed(6)),paymentTerms:r,pricesIncludeTax:i,taxRounding:a}},write:t=>{e.run({name:`set_settings`,input:{currency:t.currency,taxRate:Number((t.taxRate*100).toFixed(4)),...t.paymentTerms?{paymentTerms:t.paymentTerms}:{},pricesIncludeTax:t.pricesIncludeTax,taxRounding:t.taxRounding}})}}}function Ir(e){return{read:()=>{let t=e.snapshot().theme,{preset:n,primary:r,colorScheme:i}=t,a={};return n&&(a.preset=n),r&&(a.custom={primary:r}),i!==`system`&&(a.colorScheme=i),t.borderRadius&&(a.borderRadius=t.borderRadius),t.density&&(a.density=t.density),t.contrast&&(a.contrast=t.contrast),Object.keys(a).length?a:void 0},write:t=>{t?(e.run({name:`reset_theme`,input:{}}),e.run({name:`set_theme`,input:{...t.preset?{preset:t.preset}:{},...t.custom?{primary:t.custom.primary}:{},...t.colorScheme?{colorScheme:t.colorScheme}:{},...t.borderRadius?{borderRadius:t.borderRadius}:{},...t.density?{density:t.density}:{},...t.contrast?{contrast:t.contrast}:{}}})):e.run({name:`reset_theme`,input:{}})}}}function Lr(e,t){let n=Ir(e),r=`browser`,i,a=()=>null;if(`chat`in t){let e=t.chat;a=()=>typeof e==`function`?e():e}else{let n=Be(t);if(i=n.notice,r=n.config.mode,n.config.mode===`host`&&n.config.host){let t=Me({endpoint:n.config.host.endpoint,snapshot:()=>e.snapshot()});a=()=>t}else if(n.config.mode===`byo`){let e=n.config.byo?.presets;a=()=>Ie(Ge(),e,void 0,n.config.credentialPersistence)}}let o=new Ne(n,e);return{transport:Ue({model:a,acceptCommands:r===`host`,unavailable:r===`byo`?`Connect your model on the AI page first, then I can help.`:`No model is connected yet, so I cannot help. The planner works without one.`,store:Pr(e),recipes:tt,cookbooks:[],settings:Fr(e),theme:n,themeUndos:o,controller:e,onReply:t.onReply}),themeUndos:o,mode:r,...i?{notice:i}:{}}}function Rr(e,t){h(t,!0);let n=T(t,`controller`,3,Y),r=T(t,`persistence`,3,`self`),i=T(t,`links`,3,`path`),o=dt()??pt(bt());F(()=>{(t.basePath!==void 0||i()!==`path`)&&oe(t.basePath??``,i())}),z(()=>{let e=Re.onReplaced;Re.onReplaced=()=>o.reset?.(),r()===`self`&&!Z.loaded&&(Ae.load(),Z.hydrate(``,Ge()));let i=t.inference?Lr(n(),t.inference):void 0;return t.inference&&(`chat`in t.inference?X.useChat(t.inference.chat,`Host model`):X.configure(Be(t.inference)),X.hydrate(Q.ids.length>0||Q.features.length>0)),t.onready?.({controller:n(),...i?{assistant:i}:{}}),()=>{Re.onReplaced=e}}),O(()=>{r()===`self`&&(JSON.stringify(Z.snapshot()),Z.scheduleSave())}),C(`pagehide`,A,()=>r()===`self`&&Z.flush()),a()}var zr=c(`<div><!></div>`),Br=c(`<div class="pane svelte-zuxcuo"><p class="meta svelte-zuxcuo">Reorder, move or hide navigation entries and choose which panels show.
|
|
24
|
-
The layout is saved with the cookbook.</p> <!></div>`),Vr=c(`<!> <!> <!> <!> <!> <!> <!>`,1),Hr=c(`<div class="planner svelte-zuxcuo"><!></div>`),Ur=c(`<!> <!>`,1);function Wr(t,r){h(r,!0);let o=t=>{var a=Hr(),o=j(a);$e(o,{get tabs(){return e(S)},get active(){return e(C)},onchange:k,"aria-label":`Planner`,children:(t,a)=>{var o=Vr(),c=R(o),l=t=>{var n=zr();Wt(j(n),{}),s(n),B(()=>H(n,`hidden`,e(C)!==`cookbooks`)),y(t,n)},u=i(()=>e(x).includes(`cookbooks`));n(c,t=>{e(u)&&t(l)});var d=N(c,2),f=t=>{var n=zr();wr(j(n),{}),s(n),B(()=>H(n,`hidden`,e(C)!==`recipes`)),y(t,n)},m=i(()=>e(x).includes(`recipes`));n(d,t=>{e(m)&&t(f)});var h=N(d,2),g=t=>{var n=zr();fr(j(n),{}),s(n),B(()=>H(n,`hidden`,e(C)!==`features`)),y(t,n)},_=i(()=>e(x).includes(`features`));n(h,t=>{e(_)&&t(g)});var v=N(h,2),b=t=>{var n=Br(),r=N(j(n),2);{let t=i(()=>E??D??void 0);he(r,{get controller(){return e(t)}})}s(n),B(()=>H(n,`hidden`,e(C)!==`layout`)),y(t,n)},S=i(()=>e(x).includes(`layout`));n(v,t=>{e(S)&&t(b)});var w=N(v,2),T=t=>{var n=zr();Nr(j(n),{get provider(){return p()},get advancedStylesHref(){return r.advancedStylesHref}}),s(n),B(()=>H(n,`hidden`,e(C)!==`theme`)),y(t,n)},O=i(()=>e(x).includes(`theme`));n(w,t=>{e(O)&&t(T)});var k=N(w,2),A=t=>{var n=zr();Er(j(n),{}),s(n),B(()=>H(n,`hidden`,e(C)!==`settings`)),y(t,n)},M=i(()=>e(x).includes(`settings`));n(k,t=>{e(M)&&t(A)});var P=N(k,2),F=t=>{var n=zr();Dn(j(n),{}),s(n),B(()=>H(n,`hidden`,e(C)!==`export`)),y(t,n)},I=i(()=>e(x).includes(`export`));n(P,t=>{e(I)&&t(F)}),y(t,o)},$$slots:{default:!0}}),s(a),y(t,a)},c=[`cookbooks`,`recipes`,`theme`,`settings`,`export`],l=[`features`,`layout`],u=T(r,`controller`,3,Y),d=T(r,`layout`,3,`own`),f=T(r,`persistence`,3,`self`),p=T(r,`themeControls`,3,!1),m=T(r,`tabs`,3,c),g=T(r,`managedByParent`,3,!1);dt()||pt(bt());let _=Se()!==null,v={cookbooks:`Cookbooks`,recipes:`Recipes`,features:`Features`,layout:`Layout`,theme:`Theme`,settings:`Settings`,export:`Export`},b=i(()=>m().filter(e=>je.includes(e))),x=i(()=>m()===c?[...e(b),...l]:e(b)),S=i(()=>e(b).map(e=>({id:e,label:v[e]}))),C=i(()=>e(x).includes(ke.active)?ke.active:e(b)[0]??`recipes`),w=L(()=>d()),E=w===`own`?new pe({nav:()=>[],groups:()=>xt({recipes:Q.ids,features:Q.features}),panels:()=>void 0,layout:()=>Z.layout,editable:()=>!0,commit:e=>Z.setLayout(e)}):null,D=w===`shell`?_e():null,k=e=>{let t=je.find(t=>t===e);t&&(ke.active=t)};z(()=>u().subscribe(e=>{let t=e.focus.tab;t&&t!==ke.active&&(ke.active=t)})),O(()=>{let e=ke.active;L(()=>{u().snapshot().focus.tab!==e&&u().run({name:`focus`,input:{tab:e}})})});var A=Ur(),M=R(A),P=e=>{Rr(e,{get controller(){return u()},get basePath(){return r.basePath},get inference(){return r.inference},get persistence(){return f()},get onready(){return r.onready}})};n(M,e=>{g()||e(P)});var F=N(M,2),I=e=>{o(e)},V=e=>{fe(e,{children:(e,t)=>{o(e)},$$slots:{default:!0}})};n(F,e=>{_?e(I):e(V,-1)}),y(t,A),a()}var Gr=c(`<section class="first-run svelte-1uha8ag" aria-labelledby="first-run-title"><h1 id="first-run-title" class="svelte-1uha8ag">Set up your assistant</h1> <p class="meta svelte-1uha8ag"> </p> <!> <div class="actions svelte-1uha8ag"><!> <!></div></section>`),Kr=c(`<main class="svelte-1uha8ag"><!></main>`);function qr(r,o){h(o,!0);let c=i(St);var d=Kr();t(`1uha8ag`,t=>{P(()=>{V.title=`${e(c)??``} · smrt planner`})});var f=j(d),p=e=>{var t=Gr(),n=N(j(t),2),r=I(n,!0),i=N(n,2);Tt(i,{});var a=N(i,2),o=j(a);de(o,{onclick:()=>X.continueFirstRun(),children:(e,t)=>{g();var n=u(`Continue`);y(e,n)},$$slots:{default:!0}});var c=N(o,2);de(c,{variant:`secondary`,onclick:()=>X.dismissFirstRun(),children:(e,t)=>{g();var n=u(`I don't need AI, let's just build`);y(e,n)},$$slots:{default:!0}}),s(a),s(t),B(()=>l(r,X.privacyNote)),y(e,t)},m=t=>{{let n=i(()=>ce(`/advanced-styles/`));Wr(t,{layout:`shell`,persistence:`host`,themeControls:!0,get advancedStylesHref(){return e(n)}})}};n(f,e=>{X.firstRun?e(p):e(m,-1)}),s(d),y(r,d),a()}export{qr as component};
|
|
File without changes
|