@happyvertical/smrt-planner 0.0.0-stage → 0.0.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/LICENSE +21 -0
- package/README.md +170 -2
- package/app/404.html +80 -0
- package/app/_app/immutable/assets/0.B5zXkXe_.css +1 -0
- package/app/_app/immutable/assets/10.hpcnxvK1.css +1 -0
- package/app/_app/immutable/assets/11.D7zoXfVV.css +1 -0
- package/app/_app/immutable/assets/12.CPobm1ED.css +1 -0
- package/app/_app/immutable/assets/2.CyaWdRdI.css +1 -0
- package/app/_app/immutable/assets/3.BlPQOes8.css +1 -0
- package/app/_app/immutable/assets/8.2gQeKBp_.css +1 -0
- package/app/_app/immutable/assets/9.HOPT4xtg.css +1 -0
- package/app/_app/immutable/assets/AiSetup.Cb22AigN.css +1 -0
- package/app/_app/immutable/assets/Button.DkP0qkG9.css +1 -0
- package/app/_app/immutable/assets/ConnectTools.BgIJOOGW.css +1 -0
- package/app/_app/immutable/assets/FieldMapForm.BCU-4pO4.css +1 -0
- package/app/_app/immutable/assets/ModelPage.Dd3LcMta.css +1 -0
- package/app/_app/immutable/assets/SectionActions.CTkVuNMF.css +1 -0
- package/app/_app/immutable/assets/SectionIcons.5Udq9vN-.css +1 -0
- package/app/_app/immutable/assets/SegmentedControl.B8SrQacd.css +1 -0
- package/app/_app/immutable/assets/dist.C5nHBk_O.css +1 -0
- package/app/_app/immutable/assets/feedback.BVKAwFck.css +1 -0
- package/app/_app/immutable/assets/forms.BChZ2RWM.css +1 -0
- package/app/_app/immutable/assets/inter-latin-ext.B_-bZUTo.woff2 +0 -0
- package/app/_app/immutable/assets/inter-latin.8kRkwJBP.woff2 +0 -0
- package/app/_app/immutable/assets/jetbrains-mono-latin-ext.Bnd2h4Br.woff2 +0 -0
- package/app/_app/immutable/assets/jetbrains-mono-latin.Db4Uuiha.woff2 +0 -0
- package/app/_app/immutable/assets/ort-wasm-simd-threaded.asyncify.CxOG5pUO.wasm +0 -0
- package/app/_app/immutable/assets/percent.LH0z-ozZ.css +1 -0
- package/app/_app/immutable/assets/space-grotesk-latin-ext.wJGaI8U0.woff2 +0 -0
- package/app/_app/immutable/assets/space-grotesk-latin.DPT1xrvW.woff2 +0 -0
- package/app/_app/immutable/assets/store.CGDwHkkF.css +1 -0
- package/app/_app/immutable/assets/ui.B1A1Zl2p.css +1 -0
- package/app/_app/immutable/assets/workspace.BIMkuZDb.css +1 -0
- package/app/_app/immutable/chunks/1okeBSoq.js +1 -0
- package/app/_app/immutable/chunks/2jFBkS1C.js +1 -0
- package/app/_app/immutable/chunks/6P9zxrzU.js +1 -0
- package/app/_app/immutable/chunks/B32EWqI8.js +9 -0
- package/app/_app/immutable/chunks/B4Kevpe0.js +1 -0
- package/app/_app/immutable/chunks/BJfAXhak.js +3 -0
- package/app/_app/immutable/chunks/BKwRT_1p.js +1 -0
- package/app/_app/immutable/chunks/BQxY8kkL.js +1 -0
- package/app/_app/immutable/chunks/BS4h9ES-.js +1 -0
- package/app/_app/immutable/chunks/BWPhGFHl.js +1 -0
- package/app/_app/immutable/chunks/BYcBM-fh.js +1 -0
- package/app/_app/immutable/chunks/BegKiy2G.js +1 -0
- package/app/_app/immutable/chunks/Bjy-W4x2.js +81 -0
- package/app/_app/immutable/chunks/BnRri03M.js +1 -0
- package/app/_app/immutable/chunks/C7zBd-pD.js +1 -0
- package/app/_app/immutable/chunks/CA-A9Ngs.js +1 -0
- package/app/_app/immutable/chunks/CMhpRMKg.js +1 -0
- package/app/_app/immutable/chunks/CPRHZZeW.js +1 -0
- package/app/_app/immutable/chunks/CRQ1Pmzr.js +1 -0
- package/app/_app/immutable/chunks/CWtfVMDz.js +1 -0
- package/app/_app/immutable/chunks/CgAkqYsL.js +1 -0
- package/app/_app/immutable/chunks/Chyo8rdT.js +3 -0
- package/app/_app/immutable/chunks/Ci0DUht6.js +34 -0
- package/app/_app/immutable/chunks/CmmuWmp6.js +2 -0
- package/app/_app/immutable/chunks/CrFNLK0f.js +1 -0
- package/app/_app/immutable/chunks/CrO3W89x.js +1 -0
- package/app/_app/immutable/chunks/CsprTb3f.js +2 -0
- package/app/_app/immutable/chunks/CyUMm_Wp.js +1 -0
- package/app/_app/immutable/chunks/CygC84VT.js +2 -0
- package/app/_app/immutable/chunks/D0VgZnk1.js +1 -0
- package/app/_app/immutable/chunks/D71UrO5c.js +1 -0
- package/app/_app/immutable/chunks/D7hhQvDO.js +1 -0
- package/app/_app/immutable/chunks/DD7gpKb2.js +1 -0
- package/app/_app/immutable/chunks/DNRgqfTx.js +1 -0
- package/app/_app/immutable/chunks/DRByVC-c.js +1 -0
- package/app/_app/immutable/chunks/DVRKjN-E.js +1 -0
- package/app/_app/immutable/chunks/D_J_XtJy.js +846 -0
- package/app/_app/immutable/chunks/Dbjm4OuC.js +1 -0
- package/app/_app/immutable/chunks/Dc4q22LH.js +42 -0
- package/app/_app/immutable/chunks/Dd_uD5pT.js +1 -0
- package/app/_app/immutable/chunks/DkR8_Ws6.js +2 -0
- package/app/_app/immutable/chunks/Dp9GVO-9.js +1 -0
- package/app/_app/immutable/chunks/DqcD-WtP.js +1 -0
- package/app/_app/immutable/chunks/Dt-HX3Vu.js +1 -0
- package/app/_app/immutable/chunks/FbOxj-PF.js +69 -0
- package/app/_app/immutable/chunks/QukgIHDX.js +1 -0
- package/app/_app/immutable/chunks/WxSPP8QW.js +4 -0
- package/app/_app/immutable/chunks/Xp1g1t4n.js +3 -0
- package/app/_app/immutable/chunks/iET62IRm.js +2 -0
- package/app/_app/immutable/chunks/leQCwW2d.js +1 -0
- package/app/_app/immutable/chunks/p6bgzXiY.js +1 -0
- package/app/_app/immutable/chunks/uBIymjUX.js +1 -0
- package/app/_app/immutable/chunks/xihTtKlq.js +1 -0
- package/app/_app/immutable/entry/app.IZIJXhgq.js +2 -0
- package/app/_app/immutable/entry/start.BuaYHD1N.js +1 -0
- package/app/_app/immutable/nodes/0.m_U8WC7E.js +10 -0
- package/app/_app/immutable/nodes/1.Crw8ULhB.js +1 -0
- package/app/_app/immutable/nodes/10.1nQxyH9H.js +4 -0
- package/app/_app/immutable/nodes/11.Cw0JnQF3.js +1 -0
- package/app/_app/immutable/nodes/12.BIocA1aI.js +1 -0
- package/app/_app/immutable/nodes/2.CR5BwGnt.js +17 -0
- package/app/_app/immutable/nodes/3.1B56hgAG.js +1 -0
- package/app/_app/immutable/nodes/4.SSIC7sUh.js +1 -0
- package/app/_app/immutable/nodes/5.DgdwleDQ.js +1 -0
- package/app/_app/immutable/nodes/6.DmD9rqLU.js +1 -0
- package/app/_app/immutable/nodes/7.DdngsBmo.js +1 -0
- package/app/_app/immutable/nodes/8.D2Mszsua.js +3 -0
- package/app/_app/immutable/nodes/9.CLYsywul.js +1 -0
- package/app/_app/immutable/workers/assets/ort-wasm-simd-threaded.asyncify-CxOG5pUO.wasm +0 -0
- package/app/_app/immutable/workers/llm.worker-wfCOG_uk.js +69 -0
- package/app/_app/immutable/workers/local-speech.worker-DWbfmFUk.js +51 -0
- package/app/_app/version.json +1 -0
- package/app/ai/index.html +89 -0
- package/app/blueprint/index.html +87 -0
- package/app/cookbook/index.html +87 -0
- package/app/index.html +103 -0
- package/app/m/ads/AdDeliveryTier/index.html +96 -0
- package/app/m/ads/AdEvent/index.html +96 -0
- package/app/m/ads/AdFormat/index.html +96 -0
- package/app/m/ads/AdGroup/index.html +96 -0
- package/app/m/ads/AdVariation/index.html +96 -0
- package/app/m/analytics/AnalyticsDataStream/index.html +96 -0
- package/app/m/analytics/AnalyticsEvent/index.html +96 -0
- package/app/m/analytics/AnalyticsProperty/index.html +96 -0
- package/app/m/analytics/AnalyticsReport/index.html +96 -0
- package/app/m/approvals/ApprovalEvent/index.html +96 -0
- package/app/m/approvals/ApprovalPolicy/index.html +96 -0
- package/app/m/approvals/ApprovalRequest/index.html +96 -0
- package/app/m/assets/Asset/index.html +96 -0
- package/app/m/assets/AssetAssociation/index.html +97 -0
- package/app/m/assets/AssetMetafield/index.html +96 -0
- package/app/m/assets/AssetStatus/index.html +96 -0
- package/app/m/assets/AssetType/index.html +96 -0
- package/app/m/assets/Folder/index.html +96 -0
- package/app/m/chat/AgentSession/index.html +96 -0
- package/app/m/chat/ChatMessage/index.html +97 -0
- package/app/m/chat/ChatParticipant/index.html +97 -0
- package/app/m/chat/ChatReaction/index.html +96 -0
- package/app/m/chat/ChatRoom/index.html +96 -0
- package/app/m/chat/ChatThread/index.html +97 -0
- package/app/m/chat/VoiceGatewayTurn/index.html +96 -0
- package/app/m/chat/VoiceSession/index.html +96 -0
- package/app/m/commerce/Agreement/index.html +96 -0
- package/app/m/commerce/Cart/index.html +96 -0
- package/app/m/commerce/Contract/index.html +96 -0
- package/app/m/commerce/ContractLineItem/index.html +97 -0
- package/app/m/commerce/Customer/index.html +96 -0
- package/app/m/commerce/Estimate/index.html +96 -0
- package/app/m/commerce/Fulfillment/index.html +96 -0
- package/app/m/commerce/FulfillmentLineItem/index.html +97 -0
- package/app/m/commerce/Invoice/index.html +96 -0
- package/app/m/commerce/InvoiceLineItem/index.html +97 -0
- package/app/m/commerce/Lease/index.html +96 -0
- package/app/m/commerce/LicenseSale/index.html +96 -0
- package/app/m/commerce/Order/index.html +96 -0
- package/app/m/commerce/Payment/index.html +96 -0
- package/app/m/commerce/PaymentAllocation/index.html +97 -0
- package/app/m/commerce/PaymentInstrument/index.html +96 -0
- package/app/m/commerce/PaymentIntent/index.html +96 -0
- package/app/m/commerce/Payout/index.html +96 -0
- package/app/m/commerce/ProductionOrder/index.html +96 -0
- package/app/m/commerce/PurchaseOrder/index.html +96 -0
- package/app/m/commerce/Vendor/index.html +96 -0
- package/app/m/commerce/WholesaleOrder/index.html +96 -0
- package/app/m/content/Content/index.html +96 -0
- package/app/m/content/ContentContribution/index.html +96 -0
- package/app/m/content/ContentContributionAttachment/index.html +96 -0
- package/app/m/content/ContentContributionRevision/index.html +96 -0
- package/app/m/content/ContentContributionType/index.html +96 -0
- package/app/m/content/ContentContributor/index.html +96 -0
- package/app/m/content/ContentCorrection/index.html +96 -0
- package/app/m/content/ContentFeedSource/index.html +96 -0
- package/app/m/content/ContentGovernanceAssignment/index.html +96 -0
- package/app/m/content/ContentGovernancePolicy/index.html +96 -0
- package/app/m/content/ContentGovernanceProfile/index.html +96 -0
- package/app/m/content/ContentReference/index.html +96 -0
- package/app/m/content/ContentReview/index.html +96 -0
- package/app/m/content/ContentVersion/index.html +96 -0
- package/app/m/content/Contents/index.html +96 -0
- package/app/m/events/Event/index.html +96 -0
- package/app/m/events/EventParticipant/index.html +97 -0
- package/app/m/events/EventSeries/index.html +96 -0
- package/app/m/events/EventType/index.html +96 -0
- package/app/m/facts/Fact/index.html +96 -0
- package/app/m/facts/FactContent/index.html +96 -0
- package/app/m/facts/FactEvidence/index.html +96 -0
- package/app/m/facts/FactSource/index.html +96 -0
- package/app/m/facts/FactSubject/index.html +96 -0
- package/app/m/facts/FactTag/index.html +96 -0
- package/app/m/fields/FieldPolicy/index.html +96 -0
- package/app/m/fields/FieldPolicySuggestion/index.html +96 -0
- package/app/m/fields/FieldUsageCounter/index.html +96 -0
- package/app/m/images/Image/index.html +96 -0
- package/app/m/inventory/InventoryLocation/index.html +96 -0
- package/app/m/inventory/StockLevel/index.html +96 -0
- package/app/m/inventory/StockMovement/index.html +96 -0
- package/app/m/ledgers/Account/index.html +96 -0
- package/app/m/ledgers/Journal/index.html +96 -0
- package/app/m/ledgers/JournalEntry/index.html +97 -0
- package/app/m/manufacturing/Assembly/index.html +96 -0
- package/app/m/manufacturing/BillOfMaterials/index.html +96 -0
- package/app/m/manufacturing/BomLine/index.html +96 -0
- package/app/m/manufacturing/Operation/index.html +96 -0
- package/app/m/manufacturing/ProductionRun/index.html +96 -0
- package/app/m/manufacturing/ProductionRunCompletion/index.html +96 -0
- package/app/m/manufacturing/RoutingStep/index.html +96 -0
- package/app/m/marketing/Campaign/index.html +96 -0
- package/app/m/marketing/CampaignChannel/index.html +96 -0
- package/app/m/marketing/CampaignMetricSnapshot/index.html +96 -0
- package/app/m/messages/Account/index.html +96 -0
- package/app/m/messages/Attachment/index.html +96 -0
- package/app/m/messages/Blacklist/index.html +96 -0
- package/app/m/messages/Email/failed-sends/index.html +96 -0
- package/app/m/messages/Email/index.html +96 -0
- package/app/m/messages/Email/mailbox/index.html +96 -0
- package/app/m/messages/EmailAccount/index.html +96 -0
- package/app/m/messages/EmailFolder/index.html +96 -0
- package/app/m/messages/Message/index.html +96 -0
- package/app/m/messages/MessagingEndpoint/index.html +96 -0
- package/app/m/messages/PersonaMessageRoute/index.html +96 -0
- package/app/m/messages/SlackAccount/index.html +96 -0
- package/app/m/messages/SlackMessage/index.html +96 -0
- package/app/m/messages/TelegramAccount/index.html +96 -0
- package/app/m/messages/Tweet/index.html +96 -0
- package/app/m/messages/TwitterAccount/index.html +96 -0
- package/app/m/messages/Whitelist/index.html +96 -0
- package/app/m/messages/ZulipAccount/index.html +96 -0
- package/app/m/places/Place/index.html +96 -0
- package/app/m/places/PlaceType/index.html +96 -0
- package/app/m/preferences/UiPreferenceRecord/index.html +96 -0
- package/app/m/products/Category/index.html +96 -0
- package/app/m/products/Material/index.html +96 -0
- package/app/m/products/Product/index.html +96 -0
- package/app/m/products/Product/ingredients/index.html +96 -0
- package/app/m/products/ProductVariant/index.html +97 -0
- package/app/m/products/Sku/index.html +97 -0
- package/app/m/profiles/ApiKey/index.html +96 -0
- package/app/m/profiles/Bot/index.html +96 -0
- package/app/m/profiles/MagicLinkToken/index.html +96 -0
- package/app/m/profiles/NostrIdentity/index.html +96 -0
- package/app/m/profiles/OidcIdentity/index.html +96 -0
- package/app/m/profiles/Organization/index.html +96 -0
- package/app/m/profiles/Person/index.html +96 -0
- package/app/m/profiles/Profile/index.html +96 -0
- package/app/m/profiles/ProfileMetadata/index.html +96 -0
- package/app/m/profiles/ProfileMetafield/index.html +96 -0
- package/app/m/profiles/ProfileRelationship/index.html +96 -0
- package/app/m/profiles/ProfileRelationshipTerm/index.html +96 -0
- package/app/m/profiles/ProfileRelationshipType/index.html +96 -0
- package/app/m/profiles/ProfileType/index.html +96 -0
- package/app/m/projects/Comment/index.html +97 -0
- package/app/m/projects/Issue/index.html +96 -0
- package/app/m/projects/Label/index.html +96 -0
- package/app/m/projects/Project/index.html +96 -0
- package/app/m/projects/ProjectIntegration/index.html +96 -0
- package/app/m/projects/PullRequest/index.html +96 -0
- package/app/m/projects/Repository/index.html +96 -0
- package/app/m/properties/Property/index.html +96 -0
- package/app/m/properties/Zone/index.html +96 -0
- package/app/m/reports/RuntimeReport/index.html +96 -0
- package/app/m/reports/SmrtPrincipalReportRefreshTask/index.html +96 -0
- package/app/m/reports/SmrtReportLock/index.html +96 -0
- package/app/m/reports/SmrtReportRefreshTask/index.html +96 -0
- package/app/m/reports/SmrtReportRun/index.html +96 -0
- package/app/m/reports/SmrtReportSchedule/index.html +96 -0
- package/app/m/reports/SmrtReportWatermark/index.html +96 -0
- package/app/m/sales/AttributionException/index.html +96 -0
- package/app/m/sales/AttributionPolicy/index.html +96 -0
- package/app/m/sales/Commission/index.html +96 -0
- package/app/m/sales/CommissionAdjustment/index.html +96 -0
- package/app/m/sales/CommissionPayout/index.html +96 -0
- package/app/m/sales/CommissionPlan/index.html +96 -0
- package/app/m/sales/Earner/index.html +96 -0
- package/app/m/sales/EarnerSourceAttribution/index.html +96 -0
- package/app/m/sales/EarningEvent/index.html +96 -0
- package/app/m/sales/ExecutedAgreement/index.html +96 -0
- package/app/m/sales/Lead/index.html +96 -0
- package/app/m/sales/Opportunity/index.html +96 -0
- package/app/m/sales/OpportunityConversion/index.html +96 -0
- package/app/m/sales/PipelineDefinition/index.html +96 -0
- package/app/m/sales/PipelineStage/index.html +97 -0
- package/app/m/sales/Referral/index.html +96 -0
- package/app/m/sales/ReferralAgreement/index.html +96 -0
- package/app/m/sales/ReferralLink/index.html +96 -0
- package/app/m/sales/ReferralProgram/index.html +96 -0
- package/app/m/sales/ReferralTermSnapshot/index.html +96 -0
- package/app/m/sales/ReferralTouch/index.html +96 -0
- package/app/m/sales/Referrer/index.html +96 -0
- package/app/m/sales/SalesActivity/index.html +96 -0
- package/app/m/sales/SalesRepresentative/index.html +96 -0
- package/app/m/sites/Site/index.html +96 -0
- package/app/m/sites/SiteAgentBinding/index.html +96 -0
- package/app/m/social/OAuthState/index.html +96 -0
- package/app/m/social/SocialAccount/index.html +96 -0
- package/app/m/social/SocialPost/index.html +96 -0
- package/app/m/social/SocialPostAnalyticsSnapshot/index.html +96 -0
- package/app/m/subscriptions/BillingAdjustment/index.html +96 -0
- package/app/m/subscriptions/ClientCharge/index.html +96 -0
- package/app/m/subscriptions/CreditGrant/index.html +96 -0
- package/app/m/subscriptions/PricingRule/index.html +96 -0
- package/app/m/subscriptions/RetailCharge/index.html +96 -0
- package/app/m/subscriptions/SpendingPolicy/index.html +96 -0
- package/app/m/subscriptions/SubscriptionPlan/index.html +96 -0
- package/app/m/subscriptions/TenantSubscription/index.html +96 -0
- package/app/m/subscriptions/TenantUsageMetric/index.html +96 -0
- package/app/m/support/ServiceTimeEntry/index.html +96 -0
- package/app/m/support/SupportAiRun/index.html +96 -0
- package/app/m/support/SupportAvailability/index.html +96 -0
- package/app/m/support/SupportCase/index.html +96 -0
- package/app/m/support/SupportCaseEvent/index.html +96 -0
- package/app/m/support/SupportChannelBinding/index.html +96 -0
- package/app/m/support/SupportCharge/index.html +96 -0
- package/app/m/support/SupportCompensation/index.html +96 -0
- package/app/m/support/SupportCompensationPlan/index.html +96 -0
- package/app/m/support/SupportEscalation/index.html +96 -0
- package/app/m/support/SupportInteraction/index.html +96 -0
- package/app/m/support/SupportPlan/index.html +96 -0
- package/app/m/support/SupportPolicy/index.html +96 -0
- package/app/m/support/SupportQualification/index.html +96 -0
- package/app/m/support/SupportServiceTarget/index.html +96 -0
- package/app/m/support/SupportSpecialist/index.html +96 -0
- package/app/m/support/SupportWorkLink/index.html +96 -0
- package/app/m/tags/Tag/index.html +96 -0
- package/app/m/tags/TagAlias/index.html +96 -0
- package/app/m/timesheets/AttendanceBreak/index.html +96 -0
- package/app/m/timesheets/AttendancePunch/index.html +96 -0
- package/app/m/timesheets/ServiceChargeSnapshot/index.html +96 -0
- package/app/m/timesheets/ServiceCompensationSnapshot/index.html +96 -0
- package/app/m/timesheets/ServiceTimeEntry/index.html +96 -0
- package/app/m/users/AccessRequest/index.html +96 -0
- package/app/m/users/Group/index.html +96 -0
- package/app/m/users/GroupMember/index.html +96 -0
- package/app/m/users/GroupRole/index.html +96 -0
- package/app/m/users/Membership/index.html +97 -0
- package/app/m/users/MembershipOverride/index.html +96 -0
- package/app/m/users/Permission/index.html +96 -0
- package/app/m/users/ResourceGrant/index.html +96 -0
- package/app/m/users/Role/index.html +96 -0
- package/app/m/users/RolePermission/index.html +96 -0
- package/app/m/users/Session/index.html +96 -0
- package/app/m/users/Tenant/index.html +96 -0
- package/app/m/users/TenantIntegration/index.html +96 -0
- package/app/m/users/TenantPermissionOverride/index.html +96 -0
- package/app/m/users/User/index.html +96 -0
- package/app/m/users/UsersCliAuthRequest/index.html +96 -0
- package/app/m/users/UsersMagicLinkToken/index.html +96 -0
- package/app/m/video/Character/index.html +96 -0
- package/app/m/video/CharacterAsset/index.html +96 -0
- package/app/m/video/CompositeJob/index.html +96 -0
- package/app/m/video/Performer/index.html +96 -0
- package/app/m/video/PerformerAsset/index.html +96 -0
- package/app/m/video/Scene/index.html +96 -0
- package/app/m/video/SceneAsset/index.html +96 -0
- package/app/m/video/VideoComposition/index.html +96 -0
- package/app/m/video/VideoCompositionAsset/index.html +96 -0
- package/app/m/video/VideoSequence/index.html +96 -0
- package/app/m/video/VideoSequenceAsset/index.html +96 -0
- package/app/m/video/VideoShot/index.html +96 -0
- package/app/m/video/VideoShotAsset/index.html +96 -0
- package/app/m/video/VideoShotCharacter/index.html +96 -0
- package/app/m/video/VideoWorkflow/index.html +96 -0
- package/app/m/voice/VoiceOutput/index.html +96 -0
- package/app/m/voice/VoiceProfile/index.html +96 -0
- package/app/m/voice/VoiceSample/index.html +96 -0
- package/app/packages/ads/index.html +92 -0
- package/app/packages/analytics/index.html +92 -0
- package/app/packages/approvals/index.html +92 -0
- package/app/packages/assets/index.html +92 -0
- package/app/packages/chat/index.html +92 -0
- package/app/packages/comments/index.html +92 -0
- package/app/packages/commerce/index.html +92 -0
- package/app/packages/content/index.html +92 -0
- package/app/packages/events/index.html +92 -0
- package/app/packages/expenses/index.html +92 -0
- package/app/packages/facts/index.html +92 -0
- package/app/packages/fields/index.html +92 -0
- package/app/packages/human-resources/index.html +92 -0
- package/app/packages/images/index.html +92 -0
- package/app/packages/index.html +90 -0
- package/app/packages/inventory/index.html +92 -0
- package/app/packages/ledgers/index.html +92 -0
- package/app/packages/manufacturing/index.html +92 -0
- package/app/packages/marketing/index.html +92 -0
- package/app/packages/messages/index.html +92 -0
- package/app/packages/places/index.html +92 -0
- package/app/packages/preferences/index.html +92 -0
- package/app/packages/products/index.html +92 -0
- package/app/packages/profiles/index.html +92 -0
- package/app/packages/projects/index.html +92 -0
- package/app/packages/properties/index.html +92 -0
- package/app/packages/reports/index.html +92 -0
- package/app/packages/sales/index.html +92 -0
- package/app/packages/sites/index.html +92 -0
- package/app/packages/social/index.html +92 -0
- package/app/packages/subscriptions/index.html +92 -0
- package/app/packages/support/index.html +92 -0
- package/app/packages/tags/index.html +92 -0
- package/app/packages/timesheets/index.html +92 -0
- package/app/packages/users/index.html +92 -0
- package/app/packages/video/index.html +92 -0
- package/app/packages/voice/index.html +92 -0
- package/app/recipes/account-access/help/index.html +93 -0
- package/app/recipes/account-access/index.html +95 -0
- package/app/recipes/activity/help/index.html +93 -0
- package/app/recipes/activity/index.html +94 -0
- package/app/recipes/agreements/help/index.html +93 -0
- package/app/recipes/agreements/index.html +96 -0
- package/app/recipes/analytics.reports/help/index.html +93 -0
- package/app/recipes/analytics.reports/index.html +94 -0
- package/app/recipes/assets/help/index.html +93 -0
- package/app/recipes/assets/index.html +95 -0
- package/app/recipes/billing/help/index.html +93 -0
- package/app/recipes/billing/index.html +95 -0
- package/app/recipes/chat.assistant/help/index.html +93 -0
- package/app/recipes/chat.assistant/index.html +94 -0
- package/app/recipes/comments/help/index.html +93 -0
- package/app/recipes/comments/index.html +94 -0
- package/app/recipes/commerce.customers/help/index.html +93 -0
- package/app/recipes/commerce.customers/index.html +94 -0
- package/app/recipes/commerce.estimates/help/index.html +93 -0
- package/app/recipes/commerce.estimates/index.html +94 -0
- package/app/recipes/commerce.purchases/help/index.html +93 -0
- package/app/recipes/commerce.purchases/index.html +94 -0
- package/app/recipes/commerce.sales/help/index.html +93 -0
- package/app/recipes/commerce.sales/index.html +94 -0
- package/app/recipes/commerce.vendors/help/index.html +93 -0
- package/app/recipes/commerce.vendors/index.html +94 -0
- package/app/recipes/commerce.wholesale/help/index.html +93 -0
- package/app/recipes/commerce.wholesale/index.html +94 -0
- package/app/recipes/events.calendar/help/index.html +93 -0
- package/app/recipes/events.calendar/index.html +94 -0
- package/app/recipes/fields.form-customization/help/index.html +93 -0
- package/app/recipes/fields.form-customization/index.html +94 -0
- package/app/recipes/inventory.stock/help/index.html +93 -0
- package/app/recipes/inventory.stock/index.html +94 -0
- package/app/recipes/ledgers.bookkeeping/help/index.html +93 -0
- package/app/recipes/ledgers.bookkeeping/index.html +94 -0
- package/app/recipes/messages/help/index.html +93 -0
- package/app/recipes/messages/index.html +95 -0
- package/app/recipes/products/help/index.html +93 -0
- package/app/recipes/products/index.html +96 -0
- package/app/recipes/projects.tracker/help/index.html +93 -0
- package/app/recipes/projects.tracker/index.html +94 -0
- package/app/recipes/reports.materialized/help/index.html +93 -0
- package/app/recipes/reports.materialized/index.html +94 -0
- package/app/recipes/sales.pipeline/help/index.html +93 -0
- package/app/recipes/sales.pipeline/index.html +94 -0
- package/app/recipes/tags.taxonomy/help/index.html +93 -0
- package/app/recipes/tags.taxonomy/index.html +94 -0
- package/app/recipes/team-collaboration/help/index.html +93 -0
- package/app/recipes/team-collaboration/index.html +94 -0
- package/app/s/custom-billing/index.html +89 -0
- package/app/s/custom-buying/index.html +89 -0
- package/app/s/custom-classes/index.html +89 -0
- package/app/s/custom-jobs/index.html +89 -0
- package/app/s/custom-kitchen/index.html +89 -0
- package/app/s/custom-material/index.html +89 -0
- package/app/s/custom-members/index.html +89 -0
- package/app/s/custom-parts/index.html +89 -0
- package/app/s/custom-schedule/index.html +89 -0
- package/app/s/custom-shop/index.html +89 -0
- package/app/s/custom-wholesale/index.html +89 -0
- package/app/s/section-access-control/index.html +89 -0
- package/app/s/section-account-security/index.html +89 -0
- package/app/s/section-accounting/index.html +89 -0
- package/app/s/section-activity/index.html +89 -0
- package/app/s/section-agreements/index.html +89 -0
- package/app/s/section-analytics/index.html +89 -0
- package/app/s/section-assets/index.html +89 -0
- package/app/s/section-billing/index.html +89 -0
- package/app/s/section-calendar/index.html +89 -0
- package/app/s/section-catalog/index.html +89 -0
- package/app/s/section-chat.assistant/index.html +89 -0
- package/app/s/section-comments/index.html +89 -0
- package/app/s/section-fields.form-customization/index.html +89 -0
- package/app/s/section-messages/index.html +89 -0
- package/app/s/section-more/index.html +89 -0
- package/app/s/section-operations/index.html +89 -0
- package/app/s/section-projects/index.html +89 -0
- package/app/s/section-purchasing/index.html +89 -0
- package/app/s/section-reports.materialized/index.html +89 -0
- package/app/s/section-sales/index.html +89 -0
- package/app/s/section-taxonomy/index.html +89 -0
- package/app/s/section-team/index.html +89 -0
- package/dist/ai/echo-gate.d.ts +13 -0
- package/dist/ai/echo-gate.js +21 -0
- package/dist/ai/icons.d.ts +9 -0
- package/dist/ai/icons.js +9 -0
- package/dist/ai/instance.d.ts +3 -0
- package/dist/ai/instance.js +25 -0
- package/dist/ai/state.svelte.d.ts +130 -0
- package/dist/ai/state.svelte.js +316 -0
- package/dist/ai/status.d.ts +67 -0
- package/dist/ai/status.js +125 -0
- package/dist/assets/smrt-mark.svg +38 -0
- package/dist/assistant/change.d.ts +101 -0
- package/dist/assistant/change.js +209 -0
- package/dist/assistant/engine.d.ts +20 -0
- package/dist/assistant/engine.js +43 -0
- package/dist/assistant/llm.worker.d.ts +1 -0
- package/dist/assistant/llm.worker.js +7 -0
- package/dist/assistant/match.d.ts +59 -0
- package/dist/assistant/match.js +271 -0
- package/dist/assistant/models.d.ts +38 -0
- package/dist/assistant/models.js +57 -0
- package/dist/assistant/offers.svelte.d.ts +36 -0
- package/dist/assistant/offers.svelte.js +59 -0
- package/dist/assistant/prefs.d.ts +14 -0
- package/dist/assistant/prefs.js +32 -0
- package/dist/assistant/prompt.d.ts +23 -0
- package/dist/assistant/prompt.js +163 -0
- package/dist/assistant/session.svelte.d.ts +74 -0
- package/dist/assistant/session.svelte.js +181 -0
- package/dist/assistant/theme-undo.svelte.d.ts +38 -0
- package/dist/assistant/theme-undo.svelte.js +50 -0
- package/dist/assistant/transport.d.ts +73 -0
- package/dist/assistant/transport.js +231 -0
- package/dist/assistant/voice-host.d.ts +10 -0
- package/dist/assistant/voice-host.js +17 -0
- package/dist/assistant/voice.svelte.d.ts +107 -0
- package/dist/assistant/voice.svelte.js +261 -0
- package/dist/catalog/catalog.json +89663 -0
- package/dist/catalog/generate/build.d.ts +33 -0
- package/dist/catalog/generate/build.js +131 -0
- package/dist/catalog/generate/exclusions.d.ts +18 -0
- package/dist/catalog/generate/exclusions.js +33 -0
- package/dist/catalog/generate/extract.d.ts +90 -0
- package/dist/catalog/generate/extract.js +326 -0
- package/dist/catalog/generate/local.d.ts +8 -0
- package/dist/catalog/generate/local.js +45 -0
- package/dist/catalog/generate/recipe-demo.d.ts +11 -0
- package/dist/catalog/generate/recipe-demo.js +29 -0
- package/dist/catalog/generate/recipe-metadata.d.ts +12 -0
- package/dist/catalog/generate/recipe-metadata.js +138 -0
- package/dist/catalog/generate/registry.d.ts +14 -0
- package/dist/catalog/generate/registry.js +83 -0
- package/dist/catalog/index.d.ts +21 -0
- package/dist/catalog/index.js +53 -0
- package/dist/catalog/types.d.ts +141 -0
- package/dist/catalog/types.js +8 -0
- package/dist/components/AiSetup.svelte +528 -0
- package/dist/components/AiSetup.svelte.d.ts +8 -0
- package/dist/components/AiStatusIcons.svelte +86 -0
- package/dist/components/AiStatusIcons.svelte.d.ts +18 -0
- package/dist/components/AppSettings.svelte +100 -0
- package/dist/components/AppSettings.svelte.d.ts +10 -0
- package/dist/components/BrowserAssistant.svelte +318 -0
- package/dist/components/BrowserAssistant.svelte.d.ts +8 -0
- package/dist/components/ChildRecords.svelte +331 -0
- package/dist/components/ChildRecords.svelte.d.ts +15 -0
- package/dist/components/ConnectTools.svelte +145 -0
- package/dist/components/ConnectTools.svelte.d.ts +8 -0
- package/dist/components/CookbooksPanel.svelte +308 -0
- package/dist/components/CookbooksPanel.svelte.d.ts +3 -0
- package/dist/components/ExportPanel.svelte +217 -0
- package/dist/components/ExportPanel.svelte.d.ts +3 -0
- package/dist/components/FeatureCard.svelte +197 -0
- package/dist/components/FeatureCard.svelte.d.ts +13 -0
- package/dist/components/FeaturesPanel.svelte +155 -0
- package/dist/components/FeaturesPanel.svelte.d.ts +3 -0
- package/dist/components/FieldInput.svelte +307 -0
- package/dist/components/FieldInput.svelte.d.ts +24 -0
- package/dist/components/FieldMapForm.svelte +173 -0
- package/dist/components/FieldMapForm.svelte.d.ts +18 -0
- package/dist/components/FormWorkspace.svelte +274 -0
- package/dist/components/FormWorkspace.svelte.d.ts +19 -0
- package/dist/components/HelpView.svelte +129 -0
- package/dist/components/HelpView.svelte.d.ts +12 -0
- package/dist/components/ModelOptions.svelte +239 -0
- package/dist/components/ModelOptions.svelte.d.ts +12 -0
- package/dist/components/ModelPage.svelte +295 -0
- package/dist/components/ModelPage.svelte.d.ts +9 -0
- package/dist/components/ModelWorkspace.svelte +488 -0
- package/dist/components/ModelWorkspace.svelte.d.ts +32 -0
- package/dist/components/PlannerEditBridge.svelte +36 -0
- package/dist/components/PlannerEditBridge.svelte.d.ts +3 -0
- package/dist/components/PlannerPalette.svelte +38 -0
- package/dist/components/PlannerPalette.svelte.d.ts +18 -0
- package/dist/components/RecipeCards.svelte +145 -0
- package/dist/components/RecipeCards.svelte.d.ts +3 -0
- package/dist/components/RecipeHelp.svelte +54 -0
- package/dist/components/RecipeHelp.svelte.d.ts +9 -0
- package/dist/components/RecipeOptions.svelte +160 -0
- package/dist/components/RecipeOptions.svelte.d.ts +9 -0
- package/dist/components/RecordFeatures.svelte +240 -0
- package/dist/components/RecordFeatures.svelte.d.ts +3 -0
- package/dist/components/RelationField.svelte +175 -0
- package/dist/components/RelationField.svelte.d.ts +16 -0
- package/dist/components/SectionActions.svelte +91 -0
- package/dist/components/SectionActions.svelte.d.ts +12 -0
- package/dist/components/SectionIcons.svelte +98 -0
- package/dist/components/SectionIcons.svelte.d.ts +15 -0
- package/dist/components/SectionOverview.svelte +65 -0
- package/dist/components/SectionOverview.svelte.d.ts +14 -0
- package/dist/components/SectionPage.svelte +230 -0
- package/dist/components/SectionPage.svelte.d.ts +7 -0
- package/dist/components/SettingsPanel.svelte +60 -0
- package/dist/components/SettingsPanel.svelte.d.ts +7 -0
- package/dist/components/ThemeBridge.svelte +56 -0
- package/dist/components/ThemeBridge.svelte.d.ts +3 -0
- package/dist/components/ThemeSection.svelte +167 -0
- package/dist/components/ThemeSection.svelte.d.ts +11 -0
- package/dist/components/VariantGridForm.svelte +309 -0
- package/dist/components/VariantGridForm.svelte.d.ts +12 -0
- package/dist/components/VoiceTyping.svelte +108 -0
- package/dist/components/VoiceTyping.svelte.d.ts +7 -0
- package/dist/cookbook/assemble.d.ts +16 -0
- package/dist/cookbook/assemble.js +29 -0
- package/dist/cookbook/file.d.ts +7 -0
- package/dist/cookbook/file.js +25 -0
- package/dist/cookbook/legacy.d.ts +9 -0
- package/dist/cookbook/legacy.js +87 -0
- package/dist/cookbook/migrate.d.ts +22 -0
- package/dist/cookbook/migrate.js +106 -0
- package/dist/cookbook/parse.d.ts +16 -0
- package/dist/cookbook/parse.js +246 -0
- package/dist/cookbook/storage.d.ts +45 -0
- package/dist/cookbook/storage.js +98 -0
- package/dist/cookbook/store.svelte.d.ts +94 -0
- package/dist/cookbook/store.svelte.js +231 -0
- package/dist/cookbook/types.d.ts +76 -0
- package/dist/cookbook/types.js +11 -0
- package/dist/cookbook/validate.d.ts +14 -0
- package/dist/cookbook/validate.js +29 -0
- package/dist/core/app.d.ts +37 -0
- package/dist/core/app.js +119 -0
- package/dist/core/catalog.d.ts +19 -0
- package/dist/core/catalog.js +9 -0
- package/dist/core/headless.d.ts +52 -0
- package/dist/core/headless.js +39 -0
- package/dist/core/index.d.ts +28 -0
- package/dist/core/index.js +28 -0
- package/dist/core/prompt.d.ts +38 -0
- package/dist/core/prompt.js +95 -0
- package/dist/core/reply.d.ts +60 -0
- package/dist/core/reply.js +89 -0
- package/dist/core/request.d.ts +15 -0
- package/dist/core/request.js +55 -0
- package/dist/data/children.d.ts +20 -0
- package/dist/data/children.js +80 -0
- package/dist/data/columns.d.ts +56 -0
- package/dist/data/columns.js +150 -0
- package/dist/data/context.d.ts +8 -0
- package/dist/data/context.js +19 -0
- package/dist/data/derived.d.ts +79 -0
- package/dist/data/derived.js +139 -0
- package/dist/data/display.d.ts +23 -0
- package/dist/data/display.js +84 -0
- package/dist/data/fakes.d.ts +52 -0
- package/dist/data/fakes.js +443 -0
- package/dist/data/format.d.ts +48 -0
- package/dist/data/format.js +121 -0
- package/dist/data/labels.d.ts +45 -0
- package/dist/data/labels.js +179 -0
- package/dist/data/packs.d.ts +95 -0
- package/dist/data/packs.js +830 -0
- package/dist/data/payments.d.ts +17 -0
- package/dist/data/payments.js +60 -0
- package/dist/data/planner-source.d.ts +7 -0
- package/dist/data/planner-source.js +32 -0
- package/dist/data/source.d.ts +119 -0
- package/dist/data/source.js +432 -0
- package/dist/features/catalogue.d.ts +96 -0
- package/dist/features/catalogue.js +225 -0
- package/dist/features/demo.d.ts +36 -0
- package/dist/features/demo.js +66 -0
- package/dist/features/palette.d.ts +39 -0
- package/dist/features/palette.js +53 -0
- package/dist/fields/address.d.ts +23 -0
- package/dist/fields/address.js +39 -0
- package/dist/fields/invalid.d.ts +2 -0
- package/dist/fields/invalid.js +8 -0
- package/dist/fields/modal.d.ts +7 -0
- package/dist/fields/modal.js +14 -0
- package/dist/fields/percent.d.ts +8 -0
- package/dist/fields/percent.js +16 -0
- package/dist/fields/renderer.d.ts +17 -0
- package/dist/fields/renderer.js +43 -0
- package/dist/forms/active.d.ts +16 -0
- package/dist/forms/active.js +24 -0
- package/dist/forms/fieldMap.d.ts +44 -0
- package/dist/forms/fieldMap.js +134 -0
- package/dist/forms/shared.d.ts +41 -0
- package/dist/forms/shared.js +138 -0
- package/dist/forms/stock.d.ts +28 -0
- package/dist/forms/stock.js +104 -0
- package/dist/forms/variantGrid.d.ts +83 -0
- package/dist/forms/variantGrid.js +283 -0
- package/dist/index.d.ts +17 -0
- package/dist/index.js +16 -0
- package/dist/inference/byo.svelte.d.ts +90 -0
- package/dist/inference/byo.svelte.js +295 -0
- package/dist/inference/config.d.ts +77 -0
- package/dist/inference/config.js +205 -0
- package/dist/inference/host.d.ts +40 -0
- package/dist/inference/host.js +57 -0
- package/dist/inference/openai.d.ts +59 -0
- package/dist/inference/openai.js +207 -0
- package/dist/inference/presets.d.ts +5 -0
- package/dist/inference/presets.js +46 -0
- package/dist/kitchen/client.d.ts +39 -0
- package/dist/kitchen/client.js +115 -0
- package/dist/kitchen/fragment.d.ts +30 -0
- package/dist/kitchen/fragment.js +49 -0
- package/dist/kitchen/state.svelte.d.ts +26 -0
- package/dist/kitchen/state.svelte.js +45 -0
- package/dist/library/apply.d.ts +17 -0
- package/dist/library/apply.js +32 -0
- package/dist/library/document.d.ts +12 -0
- package/dist/library/document.js +27 -0
- package/dist/library/icons.d.ts +6 -0
- package/dist/library/icons.js +26 -0
- package/dist/library/index.d.ts +8 -0
- package/dist/library/index.js +12 -0
- package/dist/library/library.json +788 -0
- package/dist/library/menu.d.ts +18 -0
- package/dist/library/menu.js +72 -0
- package/dist/library/state.svelte.d.ts +10 -0
- package/dist/library/state.svelte.js +28 -0
- package/dist/library/types.d.ts +57 -0
- package/dist/library/types.js +1 -0
- package/dist/overviews/definitions.d.ts +24 -0
- package/dist/overviews/definitions.js +97 -0
- package/dist/overviews/page.d.ts +21 -0
- package/dist/overviews/page.js +36 -0
- package/dist/overviews/registry.d.ts +44 -0
- package/dist/overviews/registry.js +191 -0
- package/dist/overviews/validate.d.ts +32 -0
- package/dist/overviews/validate.js +91 -0
- package/dist/planner/Planner.svelte +204 -0
- package/dist/planner/Planner.svelte.d.ts +4 -0
- package/dist/planner/app.svelte.d.ts +6 -0
- package/dist/planner/app.svelte.js +23 -0
- package/dist/planner/assistant.d.ts +46 -0
- package/dist/planner/assistant.js +122 -0
- package/dist/planner/commands/adapter.d.ts +121 -0
- package/dist/planner/commands/adapter.js +597 -0
- package/dist/planner/commands/catalog.d.ts +19 -0
- package/dist/planner/commands/catalog.js +54 -0
- package/dist/planner/commands/controller.svelte.d.ts +13 -0
- package/dist/planner/commands/controller.svelte.js +77 -0
- package/dist/planner/commands/index.d.ts +15 -0
- package/dist/planner/commands/index.js +15 -0
- package/dist/planner/commands/schemas.d.ts +25 -0
- package/dist/planner/commands/schemas.js +67 -0
- package/dist/planner/commands/slices.d.ts +18 -0
- package/dist/planner/commands/slices.js +49 -0
- package/dist/planner/commands/types.d.ts +80 -0
- package/dist/planner/commands/types.js +18 -0
- package/dist/planner/create.d.ts +4 -0
- package/dist/planner/create.js +22 -0
- package/dist/planner/instance.d.ts +15 -0
- package/dist/planner/instance.js +22 -0
- package/dist/planner/query.d.ts +16 -0
- package/dist/planner/query.js +28 -0
- package/dist/planner/selection.d.ts +15 -0
- package/dist/planner/selection.js +38 -0
- package/dist/planner/selection.svelte.d.ts +29 -0
- package/dist/planner/selection.svelte.js +54 -0
- package/dist/planner/tab.svelte.d.ts +11 -0
- package/dist/planner/tab.svelte.js +22 -0
- package/dist/planner/types.d.ts +41 -0
- package/dist/planner/types.js +1 -0
- package/dist/recipes/cards.d.ts +55 -0
- package/dist/recipes/cards.js +80 -0
- package/dist/recipes/features.d.ts +53 -0
- package/dist/recipes/features.js +97 -0
- package/dist/recipes/help/descriptions.json +373 -0
- package/dist/recipes/help.d.ts +121 -0
- package/dist/recipes/help.js +262 -0
- package/dist/recipes/index.d.ts +65 -0
- package/dist/recipes/index.js +95 -0
- package/dist/recipes/merge.d.ts +26 -0
- package/dist/recipes/merge.js +21 -0
- package/dist/recipes/overlay.json +409 -0
- package/dist/recipes/plan-data.d.ts +41 -0
- package/dist/recipes/plan-data.js +97 -0
- package/dist/recipes/plumbing.d.ts +70 -0
- package/dist/recipes/plumbing.js +185 -0
- package/dist/recipes/policy.d.ts +118 -0
- package/dist/recipes/policy.js +268 -0
- package/dist/recipes/resolve.d.ts +19 -0
- package/dist/recipes/resolve.js +65 -0
- package/dist/recipes/scope.d.ts +25 -0
- package/dist/recipes/scope.js +31 -0
- package/dist/recipes/sections.d.ts +49 -0
- package/dist/recipes/sections.js +84 -0
- package/dist/recipes/state.svelte.d.ts +67 -0
- package/dist/recipes/state.svelte.js +112 -0
- package/dist/recipes/types.d.ts +322 -0
- package/dist/recipes/types.js +8 -0
- package/dist/sections/entries.d.ts +30 -0
- package/dist/sections/entries.js +57 -0
- package/dist/sections/info.d.ts +16 -0
- package/dist/sections/info.js +39 -0
- package/dist/sections/path.d.ts +12 -0
- package/dist/sections/path.js +18 -0
- package/dist/settings/app-settings.d.ts +44 -0
- package/dist/settings/app-settings.js +138 -0
- package/dist/settings/currencies.d.ts +2 -0
- package/dist/settings/currencies.js +8 -0
- package/dist/theme/runtime.d.ts +14 -0
- package/dist/theme/runtime.js +27 -0
- package/dist/theme/theme.d.ts +47 -0
- package/dist/theme/theme.js +122 -0
- package/dist/upstream/CustomerSelect.svelte +60 -0
- package/dist/upstream/CustomerSelect.svelte.d.ts +17 -0
- package/dist/upstream/VendorSelect.svelte +60 -0
- package/dist/upstream/VendorSelect.svelte.d.ts +17 -0
- package/dist/upstream/overlay.d.ts +10 -0
- package/dist/upstream/overlay.js +49 -0
- package/dist/upstream/partySelect.d.ts +8 -0
- package/dist/upstream/partySelect.js +21 -0
- package/dist/upstream/partyTypes.d.ts +64 -0
- package/dist/upstream/partyTypes.js +8 -0
- package/dist/upstream/relations.d.ts +2 -0
- package/dist/upstream/relations.js +24 -0
- package/dist/upstream/selects.d.ts +26 -0
- package/dist/upstream/selects.js +20 -0
- package/dist/upstream/widgets.d.ts +20 -0
- package/dist/upstream/widgets.js +30 -0
- package/package.json +81 -3
|
@@ -0,0 +1,830 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Sample-data packs. The generator draws names, prices, descriptions and the
|
|
3
|
+
* like from the ACTIVE pack: the generic one until a cookbook is applied, then
|
|
4
|
+
* that cookbook's (same id). Every value is fixed text, so a pack is as
|
|
5
|
+
* deterministic as the seed. Money is integer minor units (cents).
|
|
6
|
+
*/
|
|
7
|
+
export const GENERIC_PACK = {
|
|
8
|
+
id: 'generic',
|
|
9
|
+
products: [
|
|
10
|
+
{ name: 'Canvas tote', price: 2400 },
|
|
11
|
+
{ name: 'Ceramic mug', price: 1800 },
|
|
12
|
+
{ name: 'Linen apron', price: 3600 },
|
|
13
|
+
{ name: 'Beeswax candle', price: 1500 },
|
|
14
|
+
{ name: 'Walnut cutting board', price: 5800 },
|
|
15
|
+
{ name: 'Wool throw blanket', price: 8900 },
|
|
16
|
+
{ name: 'Enamel camp cup', price: 1200 },
|
|
17
|
+
{ name: 'Leather notebook', price: 2900 },
|
|
18
|
+
],
|
|
19
|
+
locations: [
|
|
20
|
+
{ code: 'MAIN', name: 'Main floor', kind: 'store' },
|
|
21
|
+
{ code: 'STORE', name: 'Storage room', kind: 'warehouse' },
|
|
22
|
+
],
|
|
23
|
+
};
|
|
24
|
+
const BAKERY = {
|
|
25
|
+
id: 'bakery',
|
|
26
|
+
taxRate: 0,
|
|
27
|
+
products: [
|
|
28
|
+
{
|
|
29
|
+
name: 'Sourdough loaf',
|
|
30
|
+
price: 850,
|
|
31
|
+
category: 'Bread',
|
|
32
|
+
productType: 'product',
|
|
33
|
+
description: 'Slow-fermented, baked daily.',
|
|
34
|
+
at: 0,
|
|
35
|
+
},
|
|
36
|
+
{
|
|
37
|
+
name: 'Baguette',
|
|
38
|
+
price: 450,
|
|
39
|
+
category: 'Bread',
|
|
40
|
+
productType: 'product',
|
|
41
|
+
description: 'Crisp crust, soft crumb.',
|
|
42
|
+
at: 0,
|
|
43
|
+
},
|
|
44
|
+
{
|
|
45
|
+
name: 'Butter croissant',
|
|
46
|
+
price: 400,
|
|
47
|
+
category: 'Pastry',
|
|
48
|
+
productType: 'product',
|
|
49
|
+
description: 'Laminated with cultured butter.',
|
|
50
|
+
at: 0,
|
|
51
|
+
},
|
|
52
|
+
{
|
|
53
|
+
name: 'Pain au chocolat',
|
|
54
|
+
price: 450,
|
|
55
|
+
category: 'Pastry',
|
|
56
|
+
productType: 'product',
|
|
57
|
+
description: 'Two bars of dark chocolate.',
|
|
58
|
+
at: 0,
|
|
59
|
+
},
|
|
60
|
+
{
|
|
61
|
+
name: 'Cinnamon bun',
|
|
62
|
+
price: 475,
|
|
63
|
+
category: 'Pastry',
|
|
64
|
+
productType: 'product',
|
|
65
|
+
description: 'Cream cheese glaze.',
|
|
66
|
+
at: 0,
|
|
67
|
+
},
|
|
68
|
+
{
|
|
69
|
+
name: 'Chocolate layer cake',
|
|
70
|
+
price: 4800,
|
|
71
|
+
category: 'Cake',
|
|
72
|
+
productType: 'product',
|
|
73
|
+
description: 'Serves eight. Order a day ahead.',
|
|
74
|
+
at: 1,
|
|
75
|
+
},
|
|
76
|
+
{
|
|
77
|
+
name: 'Carrot cake slice',
|
|
78
|
+
price: 650,
|
|
79
|
+
category: 'Cake',
|
|
80
|
+
productType: 'product',
|
|
81
|
+
description: 'Walnuts and cream cheese frosting.',
|
|
82
|
+
at: 1,
|
|
83
|
+
},
|
|
84
|
+
{
|
|
85
|
+
name: 'Flat white',
|
|
86
|
+
price: 450,
|
|
87
|
+
category: 'Coffee',
|
|
88
|
+
productType: 'product',
|
|
89
|
+
description: 'Double shot, steamed milk.',
|
|
90
|
+
at: 0,
|
|
91
|
+
},
|
|
92
|
+
{
|
|
93
|
+
name: 'Bread flour, 25 kg',
|
|
94
|
+
price: 3200,
|
|
95
|
+
category: 'Ingredient',
|
|
96
|
+
productType: 'material',
|
|
97
|
+
description: 'High-protein stone-milled flour.',
|
|
98
|
+
at: 2,
|
|
99
|
+
},
|
|
100
|
+
{
|
|
101
|
+
name: 'Unsalted butter, 5 kg',
|
|
102
|
+
price: 5400,
|
|
103
|
+
category: 'Ingredient',
|
|
104
|
+
productType: 'material',
|
|
105
|
+
description: 'European-style, 82% fat.',
|
|
106
|
+
at: 1,
|
|
107
|
+
},
|
|
108
|
+
{
|
|
109
|
+
name: 'Cane sugar, 10 kg',
|
|
110
|
+
description: 'Fine granulated cane sugar.',
|
|
111
|
+
price: 1900,
|
|
112
|
+
category: 'Ingredient',
|
|
113
|
+
productType: 'material',
|
|
114
|
+
at: 2,
|
|
115
|
+
},
|
|
116
|
+
{
|
|
117
|
+
name: 'Instant yeast, 500 g',
|
|
118
|
+
description: 'Fast-acting, no proofing needed.',
|
|
119
|
+
price: 1100,
|
|
120
|
+
category: 'Ingredient',
|
|
121
|
+
productType: 'material',
|
|
122
|
+
at: 2,
|
|
123
|
+
},
|
|
124
|
+
{
|
|
125
|
+
name: 'Free-range eggs, tray of 30',
|
|
126
|
+
description: 'Free-range, graded large.',
|
|
127
|
+
price: 1300,
|
|
128
|
+
category: 'Ingredient',
|
|
129
|
+
productType: 'material',
|
|
130
|
+
at: 1,
|
|
131
|
+
},
|
|
132
|
+
{
|
|
133
|
+
name: 'Dark chocolate, 2 kg',
|
|
134
|
+
description: 'Couverture, 64% cacao.',
|
|
135
|
+
price: 3800,
|
|
136
|
+
category: 'Ingredient',
|
|
137
|
+
productType: 'material',
|
|
138
|
+
at: 2,
|
|
139
|
+
},
|
|
140
|
+
],
|
|
141
|
+
customers: [
|
|
142
|
+
'Corner Café',
|
|
143
|
+
'Maple Street Deli',
|
|
144
|
+
'Sunrise Diner',
|
|
145
|
+
'Willow Bistro',
|
|
146
|
+
'Harbor Coffee Roasters',
|
|
147
|
+
'Anna Petrov',
|
|
148
|
+
'Marcus Lee',
|
|
149
|
+
'Priya Shah',
|
|
150
|
+
],
|
|
151
|
+
vendors: [
|
|
152
|
+
'Stonemill Flour Co.',
|
|
153
|
+
'Valley Creamery',
|
|
154
|
+
'Heritage Grain Mill',
|
|
155
|
+
'Meadowbrook Dairy',
|
|
156
|
+
'Cascade Packaging',
|
|
157
|
+
],
|
|
158
|
+
notes: [
|
|
159
|
+
'Deliver before 6 a.m.',
|
|
160
|
+
'Standing order; confirm each week.',
|
|
161
|
+
'No nuts, please. Allergy on file.',
|
|
162
|
+
'Extra baguettes for the weekend.',
|
|
163
|
+
'Pickup at the front counter.',
|
|
164
|
+
],
|
|
165
|
+
terms: ['Net 15', 'Due on receipt', 'Net 30'],
|
|
166
|
+
customerNotes: [
|
|
167
|
+
'Standing order every Friday.',
|
|
168
|
+
'No nuts, please. Allergy on file.',
|
|
169
|
+
'Prefers pickup at the front counter.',
|
|
170
|
+
'Orders extra for the weekend.',
|
|
171
|
+
'Pays on the first of the month.',
|
|
172
|
+
],
|
|
173
|
+
vendorNotes: [
|
|
174
|
+
'Delivers before 5 a.m.',
|
|
175
|
+
'Invoice arrives with the delivery.',
|
|
176
|
+
'Call ahead for holiday orders.',
|
|
177
|
+
'Minimum order of ten bags.',
|
|
178
|
+
'Credit note owed for a short delivery.',
|
|
179
|
+
],
|
|
180
|
+
lineQuantity: [1, 6],
|
|
181
|
+
locations: [
|
|
182
|
+
{ code: 'FRONT', name: 'Front counter', kind: 'store' },
|
|
183
|
+
{ code: 'COOLER', name: 'Walk-in cooler', kind: 'cooler' },
|
|
184
|
+
{ code: 'DRY', name: 'Dry store', kind: 'warehouse' },
|
|
185
|
+
],
|
|
186
|
+
rowCounts: { '@happyvertical/smrt-products:Product': 14 },
|
|
187
|
+
weights: {
|
|
188
|
+
'Order.status': { completed: 6, accepted: 2, sent: 1, draft: 1 },
|
|
189
|
+
'WholesaleOrder.status': { completed: 5, accepted: 3, sent: 1, draft: 1 },
|
|
190
|
+
},
|
|
191
|
+
};
|
|
192
|
+
const MECHANIC = {
|
|
193
|
+
id: 'mechanic',
|
|
194
|
+
taxRate: 0.0825,
|
|
195
|
+
products: [
|
|
196
|
+
{
|
|
197
|
+
name: 'Brake pads, front set',
|
|
198
|
+
description: 'Ceramic pads with hardware kit.',
|
|
199
|
+
price: 8900,
|
|
200
|
+
category: 'Brakes',
|
|
201
|
+
productType: 'product',
|
|
202
|
+
},
|
|
203
|
+
{
|
|
204
|
+
name: 'Oil filter',
|
|
205
|
+
description: 'Spin-on filter for most cars.',
|
|
206
|
+
price: 1400,
|
|
207
|
+
category: 'Filters',
|
|
208
|
+
productType: 'product',
|
|
209
|
+
},
|
|
210
|
+
{
|
|
211
|
+
name: 'Spark plugs, set of 4',
|
|
212
|
+
description: 'Iridium plugs, pre-gapped.',
|
|
213
|
+
price: 3600,
|
|
214
|
+
category: 'Ignition',
|
|
215
|
+
productType: 'product',
|
|
216
|
+
},
|
|
217
|
+
{
|
|
218
|
+
name: 'Synthetic engine oil, 5 L',
|
|
219
|
+
description: 'Full synthetic, 5W-30.',
|
|
220
|
+
price: 4200,
|
|
221
|
+
category: 'Fluids',
|
|
222
|
+
productType: 'product',
|
|
223
|
+
},
|
|
224
|
+
{
|
|
225
|
+
name: 'Air filter',
|
|
226
|
+
description: 'Pleated paper element.',
|
|
227
|
+
price: 2200,
|
|
228
|
+
category: 'Filters',
|
|
229
|
+
productType: 'product',
|
|
230
|
+
},
|
|
231
|
+
{
|
|
232
|
+
name: 'Wiper blades, pair',
|
|
233
|
+
description: 'Beam blades, all weather.',
|
|
234
|
+
price: 2400,
|
|
235
|
+
category: 'Body',
|
|
236
|
+
productType: 'product',
|
|
237
|
+
},
|
|
238
|
+
{
|
|
239
|
+
name: 'Brake rotor, front',
|
|
240
|
+
description: 'Vented, coated against rust.',
|
|
241
|
+
price: 11500,
|
|
242
|
+
category: 'Brakes',
|
|
243
|
+
productType: 'product',
|
|
244
|
+
},
|
|
245
|
+
{
|
|
246
|
+
name: 'Car battery, 12 V',
|
|
247
|
+
description: 'Maintenance-free, 3-year warranty.',
|
|
248
|
+
price: 14900,
|
|
249
|
+
category: 'Electrical',
|
|
250
|
+
productType: 'product',
|
|
251
|
+
},
|
|
252
|
+
],
|
|
253
|
+
lines: [
|
|
254
|
+
{
|
|
255
|
+
description: 'Labour: oil and filter change',
|
|
256
|
+
price: 6500,
|
|
257
|
+
quantity: [1, 3],
|
|
258
|
+
},
|
|
259
|
+
{
|
|
260
|
+
description: 'Labour: brake service, per axle',
|
|
261
|
+
price: 12000,
|
|
262
|
+
quantity: [1, 2],
|
|
263
|
+
},
|
|
264
|
+
{ description: 'Front brake pads', price: 8900, quantity: [1, 4] },
|
|
265
|
+
{ description: 'Diagnostic inspection', price: 9500, quantity: [1, 3] },
|
|
266
|
+
{ description: 'Spark plug replacement', price: 3600, quantity: [1, 4] },
|
|
267
|
+
{ description: 'Tire rotation and balance', price: 4500, quantity: [1, 2] },
|
|
268
|
+
{ description: 'Synthetic oil, 5 L', price: 4200, quantity: [1, 4] },
|
|
269
|
+
{
|
|
270
|
+
description: 'Battery test and replacement',
|
|
271
|
+
price: 14900,
|
|
272
|
+
quantity: [1, 1],
|
|
273
|
+
},
|
|
274
|
+
],
|
|
275
|
+
customers: [
|
|
276
|
+
'Dana Whitfield',
|
|
277
|
+
'Luis Moreno',
|
|
278
|
+
'Hannah Brooks',
|
|
279
|
+
'Tom Okafor',
|
|
280
|
+
'Sofia Reyes',
|
|
281
|
+
'Greg Patel',
|
|
282
|
+
'Maya Chen',
|
|
283
|
+
'Riverside Delivery Co.',
|
|
284
|
+
],
|
|
285
|
+
vendors: [
|
|
286
|
+
'Northside Auto Parts',
|
|
287
|
+
'Acme Brake & Supply',
|
|
288
|
+
'Pacific Filter Distributors',
|
|
289
|
+
'GearHead Wholesale',
|
|
290
|
+
'Lubricant Direct',
|
|
291
|
+
],
|
|
292
|
+
notes: [
|
|
293
|
+
'Customer is waiting.',
|
|
294
|
+
'Check for open recalls before release.',
|
|
295
|
+
'Approved by phone.',
|
|
296
|
+
'Return the old parts to the customer.',
|
|
297
|
+
'Warning light on since last week.',
|
|
298
|
+
],
|
|
299
|
+
terms: ['Due on receipt', 'Net 15', 'Net 30'],
|
|
300
|
+
customerNotes: [
|
|
301
|
+
'Prefers a call over a text.',
|
|
302
|
+
'Drives a company van; invoice the fleet account.',
|
|
303
|
+
'Usually waits at the shop during service.',
|
|
304
|
+
'Pick-up after 5 p.m. only.',
|
|
305
|
+
'Keeps the service history in the glovebox.',
|
|
306
|
+
],
|
|
307
|
+
vendorNotes: [
|
|
308
|
+
'Same-day delivery before 10 a.m.',
|
|
309
|
+
'Core charge refunded on return.',
|
|
310
|
+
'Account number is on the packing slip.',
|
|
311
|
+
'Backordered items ship free.',
|
|
312
|
+
'Minimum order for free freight.',
|
|
313
|
+
],
|
|
314
|
+
instructors: ['Ray Delgado', 'Kim Nakamura', 'Owen Pryce'],
|
|
315
|
+
descriptions: {
|
|
316
|
+
Event: [
|
|
317
|
+
'Drain, new filter and fresh oil, with a fluid top-up.',
|
|
318
|
+
'Pads, rotors and fluid checked and replaced as needed.',
|
|
319
|
+
'Full safety inspection with a written report.',
|
|
320
|
+
'Rotate all four tires and check pressure and tread.',
|
|
321
|
+
'Scan the codes and trace the warning light.',
|
|
322
|
+
'Drain, new filter and fresh oil, with a fluid top-up.',
|
|
323
|
+
'Pads, rotors and fluid checked and replaced as needed.',
|
|
324
|
+
'Full safety inspection with a written report.',
|
|
325
|
+
],
|
|
326
|
+
EventType: [
|
|
327
|
+
'Routine oil and filter change.',
|
|
328
|
+
'Inspect and replace brake components.',
|
|
329
|
+
'Annual safety and emissions inspection.',
|
|
330
|
+
'Rotate and balance the tires.',
|
|
331
|
+
'Trace faults with the scan tool.',
|
|
332
|
+
'Test and replace the battery.',
|
|
333
|
+
'Set toe, camber and caster.',
|
|
334
|
+
'Anything else the shop agrees to take on.',
|
|
335
|
+
],
|
|
336
|
+
EventSeries: [
|
|
337
|
+
'Regular service on the manufacturer schedule.',
|
|
338
|
+
'Winter and summer tire swaps.',
|
|
339
|
+
'Recurring work for company vehicles.',
|
|
340
|
+
'Repairs covered by the manufacturer.',
|
|
341
|
+
'Condition check before a used car is bought.',
|
|
342
|
+
],
|
|
343
|
+
Place: [
|
|
344
|
+
'Lift bay for general repairs.',
|
|
345
|
+
'Second lift bay.',
|
|
346
|
+
'Alignment rack with laser targets.',
|
|
347
|
+
'Where finished cars wait for their owners.',
|
|
348
|
+
'Where parts are sold and picked up.',
|
|
349
|
+
],
|
|
350
|
+
},
|
|
351
|
+
eventNames: [
|
|
352
|
+
'Oil change',
|
|
353
|
+
'Brake service',
|
|
354
|
+
'Annual inspection',
|
|
355
|
+
'Tire rotation',
|
|
356
|
+
'Diagnostics',
|
|
357
|
+
'Oil change',
|
|
358
|
+
'Brake service',
|
|
359
|
+
'Annual inspection',
|
|
360
|
+
],
|
|
361
|
+
eventTypes: [
|
|
362
|
+
'Oil change',
|
|
363
|
+
'Brake service',
|
|
364
|
+
'Inspection',
|
|
365
|
+
'Tire rotation',
|
|
366
|
+
'Diagnostics',
|
|
367
|
+
'Battery service',
|
|
368
|
+
'Alignment',
|
|
369
|
+
'Other',
|
|
370
|
+
],
|
|
371
|
+
seriesNames: [
|
|
372
|
+
'Scheduled maintenance',
|
|
373
|
+
'Seasonal tire change',
|
|
374
|
+
'Fleet contracts',
|
|
375
|
+
'Warranty work',
|
|
376
|
+
'Pre-purchase checks',
|
|
377
|
+
],
|
|
378
|
+
placeNames: [
|
|
379
|
+
'Service bay 1',
|
|
380
|
+
'Service bay 2',
|
|
381
|
+
'Alignment rack',
|
|
382
|
+
'Customer pickup lot',
|
|
383
|
+
'Parts counter',
|
|
384
|
+
],
|
|
385
|
+
placeTypes: ['Service bay', 'Rack', 'Lot', 'Counter'],
|
|
386
|
+
locations: [
|
|
387
|
+
{ code: 'PARTS', name: 'Parts counter', kind: 'store' },
|
|
388
|
+
{ code: 'BAYS', name: 'Bay storage', kind: 'warehouse' },
|
|
389
|
+
],
|
|
390
|
+
weights: {
|
|
391
|
+
'Order.status': { completed: 5, accepted: 3, sent: 1, draft: 1 },
|
|
392
|
+
'Estimate.status': { sent: 3, accepted: 3, declined: 1, draft: 1 },
|
|
393
|
+
'Event.status': { scheduled: 5, completed: 4, cancelled: 1 },
|
|
394
|
+
// Vehicle owners are retail customers.
|
|
395
|
+
'Customer.customerType': { retail: 1 },
|
|
396
|
+
},
|
|
397
|
+
};
|
|
398
|
+
const WELDER = {
|
|
399
|
+
id: 'welder',
|
|
400
|
+
taxRate: 0,
|
|
401
|
+
products: [
|
|
402
|
+
{
|
|
403
|
+
name: 'Flat bar 50 x 6 mm, 6 m',
|
|
404
|
+
description: 'Mild steel, cut to length on request.',
|
|
405
|
+
price: 4800,
|
|
406
|
+
category: 'Steel stock',
|
|
407
|
+
productType: 'material',
|
|
408
|
+
},
|
|
409
|
+
{
|
|
410
|
+
name: 'Square tube 40 x 40 mm, 6 m',
|
|
411
|
+
description: 'Mild steel hollow section.',
|
|
412
|
+
price: 9200,
|
|
413
|
+
category: 'Steel stock',
|
|
414
|
+
productType: 'material',
|
|
415
|
+
},
|
|
416
|
+
{
|
|
417
|
+
name: 'Steel plate 6 mm, 4 x 8 ft',
|
|
418
|
+
description: 'Hot-rolled mild steel sheet.',
|
|
419
|
+
price: 21500,
|
|
420
|
+
category: 'Steel stock',
|
|
421
|
+
productType: 'material',
|
|
422
|
+
},
|
|
423
|
+
{
|
|
424
|
+
name: 'Angle iron 50 x 50 mm, 6 m',
|
|
425
|
+
description: 'Equal-leg mild steel angle.',
|
|
426
|
+
price: 7400,
|
|
427
|
+
category: 'Steel stock',
|
|
428
|
+
productType: 'material',
|
|
429
|
+
},
|
|
430
|
+
{
|
|
431
|
+
name: 'Round bar 20 mm, 3 m',
|
|
432
|
+
description: 'Hot-rolled mild steel round.',
|
|
433
|
+
price: 3900,
|
|
434
|
+
category: 'Steel stock',
|
|
435
|
+
productType: 'material',
|
|
436
|
+
},
|
|
437
|
+
{
|
|
438
|
+
name: 'Argon/CO2 shielding gas cylinder',
|
|
439
|
+
description: 'Argon and CO2 mix for MIG welding.',
|
|
440
|
+
price: 6800,
|
|
441
|
+
category: 'Gas',
|
|
442
|
+
productType: 'material',
|
|
443
|
+
at: 1,
|
|
444
|
+
},
|
|
445
|
+
{
|
|
446
|
+
name: 'MIG wire ER70S-6, 15 kg spool',
|
|
447
|
+
description: 'Copper-coated solid MIG wire.',
|
|
448
|
+
price: 7900,
|
|
449
|
+
category: 'Consumables',
|
|
450
|
+
productType: 'material',
|
|
451
|
+
at: 1,
|
|
452
|
+
},
|
|
453
|
+
{
|
|
454
|
+
name: 'Welding rods E7018, 5 kg',
|
|
455
|
+
description: 'Low-hydrogen stick electrodes.',
|
|
456
|
+
price: 3400,
|
|
457
|
+
category: 'Consumables',
|
|
458
|
+
productType: 'material',
|
|
459
|
+
at: 1,
|
|
460
|
+
},
|
|
461
|
+
],
|
|
462
|
+
lines: [
|
|
463
|
+
{
|
|
464
|
+
description: 'Swing gate, fabricated and installed',
|
|
465
|
+
price: 185000,
|
|
466
|
+
quantity: [1, 1],
|
|
467
|
+
},
|
|
468
|
+
{ description: 'Stair railing, 3 m run', price: 94000, quantity: [1, 2] },
|
|
469
|
+
{ description: 'Trailer frame repair', price: 62000, quantity: [1, 1] },
|
|
470
|
+
{ description: 'Custom bracket set (4)', price: 18000, quantity: [1, 3] },
|
|
471
|
+
{ description: 'Site welding, per hour', price: 9500, quantity: [2, 8] },
|
|
472
|
+
{ description: 'Powder coat finish', price: 32000, quantity: [1, 1] },
|
|
473
|
+
{ description: 'Delivery and site setup', price: 8500, quantity: [1, 1] },
|
|
474
|
+
{
|
|
475
|
+
description: 'Fence post replacement, each',
|
|
476
|
+
price: 14000,
|
|
477
|
+
quantity: [2, 6],
|
|
478
|
+
},
|
|
479
|
+
],
|
|
480
|
+
customers: [
|
|
481
|
+
'Ridgeline Construction',
|
|
482
|
+
'Harbor Builders',
|
|
483
|
+
'Summit Roofing',
|
|
484
|
+
'Oakdale Farms',
|
|
485
|
+
'Granite Peak Contracting',
|
|
486
|
+
'Nolan Excavation',
|
|
487
|
+
'Bluewater Marine',
|
|
488
|
+
'Hartley Property Group',
|
|
489
|
+
],
|
|
490
|
+
vendors: [
|
|
491
|
+
'Continental Steel Supply',
|
|
492
|
+
'Western Metals Depot',
|
|
493
|
+
'Pro Weld Gas & Gear',
|
|
494
|
+
'Ironworks Wholesale',
|
|
495
|
+
'Allied Fasteners',
|
|
496
|
+
],
|
|
497
|
+
notes: [
|
|
498
|
+
'Measure on site before cutting.',
|
|
499
|
+
'Customer supplies the gate posts.',
|
|
500
|
+
'Hot work permit required.',
|
|
501
|
+
'Galvanise after fabrication.',
|
|
502
|
+
'Access through the rear lane only.',
|
|
503
|
+
],
|
|
504
|
+
terms: ['50% deposit, balance on completion', 'Net 30', 'Due on completion'],
|
|
505
|
+
customerNotes: [
|
|
506
|
+
'Site foreman is the contact for access.',
|
|
507
|
+
'Pays by cheque, thirty days.',
|
|
508
|
+
'Prefers quotes by email.',
|
|
509
|
+
'Repeat customer; same crew each time.',
|
|
510
|
+
'Needs a purchase order number on invoices.',
|
|
511
|
+
],
|
|
512
|
+
vendorNotes: [
|
|
513
|
+
'Cut lengths ready next morning.',
|
|
514
|
+
'Mill certificates come with each order.',
|
|
515
|
+
'Cylinder rental is billed monthly.',
|
|
516
|
+
'Delivers Tuesdays and Fridays.',
|
|
517
|
+
'Minimum order for free delivery.',
|
|
518
|
+
],
|
|
519
|
+
instructors: ['Frank Dillard', 'Rosa Quintero', 'Jed Harlan'],
|
|
520
|
+
descriptions: {
|
|
521
|
+
Event: [
|
|
522
|
+
'Measure the opening and check the access on site.',
|
|
523
|
+
'Walk the job with the customer and agree the scope.',
|
|
524
|
+
'Crew delivers, fits and finishes the work.',
|
|
525
|
+
'Return to repair the fault under the original quote.',
|
|
526
|
+
'Walk the finished job with the customer.',
|
|
527
|
+
'Measure the opening and check the access on site.',
|
|
528
|
+
'Walk the job with the customer and agree the scope.',
|
|
529
|
+
'Crew delivers, fits and finishes the work.',
|
|
530
|
+
],
|
|
531
|
+
EventType: [
|
|
532
|
+
'Measure up before a quote.',
|
|
533
|
+
'Walk through a quote with the customer.',
|
|
534
|
+
'Fit finished work on site.',
|
|
535
|
+
'Return to fix a fault.',
|
|
536
|
+
'Sign-off with the customer.',
|
|
537
|
+
'Drop finished work at the customer.',
|
|
538
|
+
'Customer collects from the shop.',
|
|
539
|
+
'Anything else the shop agrees to take on.',
|
|
540
|
+
],
|
|
541
|
+
EventSeries: [
|
|
542
|
+
'Site visits that lead to a written quote.',
|
|
543
|
+
'Crews booked for fitting days.',
|
|
544
|
+
'Return visits for repairs.',
|
|
545
|
+
'Sign-off walks at the end of a job.',
|
|
546
|
+
'Scheduled trips with finished work.',
|
|
547
|
+
],
|
|
548
|
+
Place: [
|
|
549
|
+
'Wherever the work is to be fitted.',
|
|
550
|
+
'Where work is cut, welded and finished.',
|
|
551
|
+
'Outdoor space for loading and staging.',
|
|
552
|
+
'Where stock is collected from the supplier.',
|
|
553
|
+
'Cabin for paperwork on large jobs.',
|
|
554
|
+
],
|
|
555
|
+
},
|
|
556
|
+
eventNames: [
|
|
557
|
+
'Site measure',
|
|
558
|
+
'Quote walk-through',
|
|
559
|
+
'Install day',
|
|
560
|
+
'Repair call-out',
|
|
561
|
+
'Final inspection',
|
|
562
|
+
'Site measure',
|
|
563
|
+
'Quote walk-through',
|
|
564
|
+
'Install day',
|
|
565
|
+
],
|
|
566
|
+
eventTypes: [
|
|
567
|
+
'Site measure',
|
|
568
|
+
'Quote walk-through',
|
|
569
|
+
'Install',
|
|
570
|
+
'Repair call-out',
|
|
571
|
+
'Final inspection',
|
|
572
|
+
'Delivery',
|
|
573
|
+
'Pickup',
|
|
574
|
+
'Other',
|
|
575
|
+
],
|
|
576
|
+
seriesNames: [
|
|
577
|
+
'Estimates and site measures',
|
|
578
|
+
'Install crews',
|
|
579
|
+
'Repair call-outs',
|
|
580
|
+
'Final inspections',
|
|
581
|
+
'Delivery runs',
|
|
582
|
+
],
|
|
583
|
+
placeNames: [
|
|
584
|
+
'Customer site',
|
|
585
|
+
'Fabrication shop',
|
|
586
|
+
'Yard and loading dock',
|
|
587
|
+
'Supplier pickup',
|
|
588
|
+
'Job site office',
|
|
589
|
+
],
|
|
590
|
+
placeTypes: ['Job site', 'Workshop', 'Yard', 'Supplier'],
|
|
591
|
+
locations: [
|
|
592
|
+
{ code: 'RACK', name: 'Steel rack', kind: 'warehouse' },
|
|
593
|
+
{ code: 'GAS', name: 'Gas cage', kind: 'cage' },
|
|
594
|
+
],
|
|
595
|
+
weights: {
|
|
596
|
+
'Order.status': { completed: 4, accepted: 3, sent: 1, draft: 1 },
|
|
597
|
+
'Estimate.status': { sent: 3, accepted: 3, declined: 1, draft: 1 },
|
|
598
|
+
'Event.status': { scheduled: 5, completed: 4, cancelled: 1 },
|
|
599
|
+
},
|
|
600
|
+
};
|
|
601
|
+
const YOGA = {
|
|
602
|
+
id: 'yoga-studio',
|
|
603
|
+
taxRate: 0,
|
|
604
|
+
products: [
|
|
605
|
+
{
|
|
606
|
+
name: 'Cork yoga mat',
|
|
607
|
+
description: 'Natural cork, non-slip.',
|
|
608
|
+
price: 7800,
|
|
609
|
+
category: 'Mats',
|
|
610
|
+
productType: 'product',
|
|
611
|
+
},
|
|
612
|
+
{
|
|
613
|
+
name: 'Yoga blocks, pair',
|
|
614
|
+
description: 'Dense foam, light and firm.',
|
|
615
|
+
price: 2400,
|
|
616
|
+
category: 'Props',
|
|
617
|
+
productType: 'product',
|
|
618
|
+
},
|
|
619
|
+
{
|
|
620
|
+
name: 'Cotton yoga strap',
|
|
621
|
+
description: 'Adjustable D-ring strap.',
|
|
622
|
+
price: 1500,
|
|
623
|
+
category: 'Props',
|
|
624
|
+
productType: 'product',
|
|
625
|
+
},
|
|
626
|
+
{
|
|
627
|
+
name: 'Insulated water bottle',
|
|
628
|
+
description: 'Keeps water cold all class.',
|
|
629
|
+
price: 3200,
|
|
630
|
+
category: 'Bottles',
|
|
631
|
+
productType: 'product',
|
|
632
|
+
},
|
|
633
|
+
{
|
|
634
|
+
name: 'Bolster',
|
|
635
|
+
description: 'Firm support for restorative poses.',
|
|
636
|
+
price: 6400,
|
|
637
|
+
category: 'Props',
|
|
638
|
+
productType: 'product',
|
|
639
|
+
},
|
|
640
|
+
{
|
|
641
|
+
name: 'Lavender eye pillow',
|
|
642
|
+
description: 'Weighted, with flax and lavender.',
|
|
643
|
+
price: 1800,
|
|
644
|
+
category: 'Wellness',
|
|
645
|
+
productType: 'product',
|
|
646
|
+
},
|
|
647
|
+
{
|
|
648
|
+
name: 'Meditation cushion',
|
|
649
|
+
description: 'Buckwheat-filled zafu.',
|
|
650
|
+
price: 5200,
|
|
651
|
+
category: 'Wellness',
|
|
652
|
+
productType: 'product',
|
|
653
|
+
},
|
|
654
|
+
{
|
|
655
|
+
name: 'Studio tote bag',
|
|
656
|
+
description: 'Roomy canvas tote.',
|
|
657
|
+
price: 2800,
|
|
658
|
+
category: 'Apparel',
|
|
659
|
+
productType: 'product',
|
|
660
|
+
},
|
|
661
|
+
],
|
|
662
|
+
lines: [
|
|
663
|
+
{
|
|
664
|
+
description: 'Monthly unlimited membership',
|
|
665
|
+
price: 12900,
|
|
666
|
+
quantity: [1, 1],
|
|
667
|
+
},
|
|
668
|
+
{ description: '10-class pack', price: 17000, quantity: [1, 1] },
|
|
669
|
+
{ description: 'Drop-in class', price: 2200, quantity: [1, 3] },
|
|
670
|
+
{ description: 'Private session, 60 min', price: 9000, quantity: [1, 2] },
|
|
671
|
+
{ description: '6-week beginners series', price: 14400, quantity: [1, 1] },
|
|
672
|
+
{ description: 'Workshop ticket', price: 4500, quantity: [1, 2] },
|
|
673
|
+
{ description: 'Mat rental', price: 300, quantity: [1, 3] },
|
|
674
|
+
{ description: 'Teacher training deposit', price: 50000, quantity: [1, 1] },
|
|
675
|
+
],
|
|
676
|
+
customers: [
|
|
677
|
+
'Emma Larsen',
|
|
678
|
+
'Noah Fischer',
|
|
679
|
+
'Ava Mehta',
|
|
680
|
+
'Liam O’Connor',
|
|
681
|
+
'Sofia Rinaldi',
|
|
682
|
+
'Ethan Park',
|
|
683
|
+
'Mia Tanaka',
|
|
684
|
+
'Olivia Brandt',
|
|
685
|
+
],
|
|
686
|
+
vendors: [
|
|
687
|
+
'Lotus Yoga Supply',
|
|
688
|
+
'Evergreen Mats',
|
|
689
|
+
'Pure Tea Co.',
|
|
690
|
+
'Sunrise Apparel',
|
|
691
|
+
'Calm Candle Works',
|
|
692
|
+
],
|
|
693
|
+
notes: [
|
|
694
|
+
'Paid at the front desk.',
|
|
695
|
+
'Includes mat rental.',
|
|
696
|
+
'Renews on the first of the month.',
|
|
697
|
+
'Class pass applied.',
|
|
698
|
+
'Booked as a gift.',
|
|
699
|
+
],
|
|
700
|
+
terms: ['Due on receipt', 'Net 15', 'Monthly, auto-renewing'],
|
|
701
|
+
customerNotes: [
|
|
702
|
+
'Prefers the back row near the window.',
|
|
703
|
+
'Recovering from a knee injury; offer modifications.',
|
|
704
|
+
'Joined through the summer promotion.',
|
|
705
|
+
'Pays by card on the first of the month.',
|
|
706
|
+
'Interested in the teacher training.',
|
|
707
|
+
],
|
|
708
|
+
vendorNotes: [
|
|
709
|
+
'Free shipping over $500.',
|
|
710
|
+
'Allow two weeks for custom colours.',
|
|
711
|
+
'Net 30 after delivery.',
|
|
712
|
+
'Samples sent on request.',
|
|
713
|
+
'Reorders by email on the first of the month.',
|
|
714
|
+
],
|
|
715
|
+
instructors: ['Priya Raman', 'Daniel Okoye', 'Hana Sato', 'Marco Bellini'],
|
|
716
|
+
descriptions: {
|
|
717
|
+
Event: [
|
|
718
|
+
'Flowing breath-led practice that builds heat steadily.',
|
|
719
|
+
'Slow, grounding practice with long holds.',
|
|
720
|
+
'Heated room, steady pace, plenty of water.',
|
|
721
|
+
'Gentle, alignment-focused classical postures.',
|
|
722
|
+
'Supported poses and long rests to unwind.',
|
|
723
|
+
'Strong, athletic flow for experienced students.',
|
|
724
|
+
'Longer yin holds for the hips and spine.',
|
|
725
|
+
'Sixty minutes in the heat, a little faster.',
|
|
726
|
+
],
|
|
727
|
+
EventType: [
|
|
728
|
+
'Linked movement and breath.',
|
|
729
|
+
'Passive floor poses held for minutes.',
|
|
730
|
+
'Practice in a heated room.',
|
|
731
|
+
'Slower, classical postures.',
|
|
732
|
+
'Props and rest to restore.',
|
|
733
|
+
'Safe, supported practice for expecting mothers.',
|
|
734
|
+
'Seated stillness and guided breath.',
|
|
735
|
+
'A longer session on a single theme.',
|
|
736
|
+
],
|
|
737
|
+
EventSeries: [
|
|
738
|
+
'Six weeks of foundations for new students.',
|
|
739
|
+
'Eight mornings of steady flow.',
|
|
740
|
+
'A slow Sunday class, week after week.',
|
|
741
|
+
'A weekend of practice around the longest day.',
|
|
742
|
+
'The 200-hour course for future teachers.',
|
|
743
|
+
],
|
|
744
|
+
Place: [
|
|
745
|
+
'Our main room with sprung floors.',
|
|
746
|
+
'Smaller room for workshops and private lessons.',
|
|
747
|
+
'Open-air deck for summer classes.',
|
|
748
|
+
'Tea, books and a place to wait.',
|
|
749
|
+
'Large hall for retreats and trainings.',
|
|
750
|
+
],
|
|
751
|
+
},
|
|
752
|
+
lineQuantity: [1, 2],
|
|
753
|
+
eventNames: [
|
|
754
|
+
'Vinyasa Flow',
|
|
755
|
+
'Yin Yoga',
|
|
756
|
+
'Hot Yoga',
|
|
757
|
+
'Gentle Hatha',
|
|
758
|
+
'Restorative Evening',
|
|
759
|
+
'Power Vinyasa',
|
|
760
|
+
'Deep Yin',
|
|
761
|
+
'Hot Yoga 60',
|
|
762
|
+
],
|
|
763
|
+
eventTypes: [
|
|
764
|
+
'Vinyasa',
|
|
765
|
+
'Yin',
|
|
766
|
+
'Hot yoga',
|
|
767
|
+
'Hatha',
|
|
768
|
+
'Restorative',
|
|
769
|
+
'Prenatal',
|
|
770
|
+
'Meditation',
|
|
771
|
+
'Workshop',
|
|
772
|
+
],
|
|
773
|
+
seriesNames: [
|
|
774
|
+
'6-week beginners',
|
|
775
|
+
'Morning flow, 8 weeks',
|
|
776
|
+
'Restorative Sundays',
|
|
777
|
+
'Summer solstice weekend',
|
|
778
|
+
'Teacher training, 200 h',
|
|
779
|
+
],
|
|
780
|
+
placeNames: [
|
|
781
|
+
'Studio A',
|
|
782
|
+
'Studio B',
|
|
783
|
+
'Garden terrace',
|
|
784
|
+
'Lobby lounge',
|
|
785
|
+
'Retreat hall',
|
|
786
|
+
],
|
|
787
|
+
placeTypes: ['Studio', 'Outdoor', 'Lounge', 'Hall'],
|
|
788
|
+
locations: [
|
|
789
|
+
{ code: 'DESK', name: 'Front desk', kind: 'store' },
|
|
790
|
+
{ code: 'CLOSET', name: 'Storage closet', kind: 'warehouse' },
|
|
791
|
+
],
|
|
792
|
+
weights: {
|
|
793
|
+
'Event.status': { scheduled: 6, completed: 3, cancelled: 1 },
|
|
794
|
+
'Customer.customerType': { retail: 1 },
|
|
795
|
+
'Agreement.status': { accepted: 6, sent: 1, completed: 2, cancelled: 1 },
|
|
796
|
+
},
|
|
797
|
+
};
|
|
798
|
+
/** The packs that ship with cookbooks, by cookbook id. */
|
|
799
|
+
export const COOKBOOK_PACKS = {
|
|
800
|
+
[BAKERY.id]: BAKERY,
|
|
801
|
+
[MECHANIC.id]: MECHANIC,
|
|
802
|
+
[WELDER.id]: WELDER,
|
|
803
|
+
[YOGA.id]: YOGA,
|
|
804
|
+
};
|
|
805
|
+
let active = GENERIC_PACK;
|
|
806
|
+
/** The pack the generator reads right now. */
|
|
807
|
+
export function getSamplePack() {
|
|
808
|
+
return active;
|
|
809
|
+
}
|
|
810
|
+
/**
|
|
811
|
+
* Switch the pack to a cookbook's (unknown or null: the generic one). Rows
|
|
812
|
+
* already generated are not touched; the data source's `reset` regenerates.
|
|
813
|
+
*/
|
|
814
|
+
export function setSamplePack(cookbookId) {
|
|
815
|
+
active =
|
|
816
|
+
(cookbookId ? COOKBOOK_PACKS[cookbookId] : undefined) ?? GENERIC_PACK;
|
|
817
|
+
return active;
|
|
818
|
+
}
|
|
819
|
+
let taxRateOverride;
|
|
820
|
+
/**
|
|
821
|
+
* The app's own tax-rate setting, when it states one: sample line items use it
|
|
822
|
+
* instead of the pack's. Takes effect when sample rows are next generated.
|
|
823
|
+
*/
|
|
824
|
+
export function setSampleTaxRate(rate) {
|
|
825
|
+
taxRateOverride = rate;
|
|
826
|
+
}
|
|
827
|
+
/** The sample tax rate: the app's setting, else the pack's (omitted: random). */
|
|
828
|
+
export function getSampleTaxRate() {
|
|
829
|
+
return taxRateOverride ?? active.taxRate;
|
|
830
|
+
}
|