@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
|
@@ -5,6 +5,8 @@ import { type ThemeSetting } from '../theme/theme.ts';
|
|
|
5
5
|
import type { Match } from './match.ts';
|
|
6
6
|
/** The slice of a cookbook the model needs to pick one. */
|
|
7
7
|
export type CookbookBrief = Pick<LibraryCookbook, 'id' | 'name' | 'summary'> & Partial<Pick<LibraryCookbook, 'keywords'>>;
|
|
8
|
+
/** The recipe a request for a report or a summary of the app's data needs. */
|
|
9
|
+
export declare const REPORTS_RECIPE = "reports.runtime";
|
|
8
10
|
/** Tax is shown as a percent, the unit the person says it in. */
|
|
9
11
|
export declare function formatTaxPercent(fraction: number): string;
|
|
10
12
|
/**
|
|
@@ -20,4 +22,8 @@ export declare function formatTaxPercent(fraction: number): string;
|
|
|
20
22
|
*/
|
|
21
23
|
export declare function buildSystemPrompt(recipes: readonly Recipe[], current: readonly string[], cookbooks?: readonly CookbookBrief[], settings?: AppSettings, matches?: readonly Match[], themeInfo?: {
|
|
22
24
|
current: ThemeSetting | undefined;
|
|
23
|
-
}
|
|
25
|
+
}, menu?: readonly {
|
|
26
|
+
id: string;
|
|
27
|
+
label: string;
|
|
28
|
+
}[]): string;
|
|
29
|
+
//# sourceMappingURL=prompt.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"prompt.d.ts","sourceRoot":"","sources":["../../src/lib/assistant/prompt.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,qBAAqB,CAAC;AAC3D,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,qBAAqB,CAAC;AAClD,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,6BAA6B,CAAC;AAC/D,OAAO,EAAiB,KAAK,YAAY,EAAE,MAAM,mBAAmB,CAAC;AACrE,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,YAAY,CAAC;AAExC,2DAA2D;AAC3D,MAAM,MAAM,aAAa,GAAG,IAAI,CAAC,eAAe,EAAE,IAAI,GAAG,MAAM,GAAG,SAAS,CAAC,GAC1E,OAAO,CAAC,IAAI,CAAC,eAAe,EAAE,UAAU,CAAC,CAAC,CAAC;AA4F7C,8EAA8E;AAC9E,eAAO,MAAM,cAAc,oBAAoB,CAAC;AAEhD,iEAAiE;AACjE,wBAAgB,gBAAgB,CAAC,QAAQ,EAAE,MAAM,GAAG,MAAM,CAEzD;AAED;;;;;;;;;;GAUG;AACH,wBAAgB,iBAAiB,CAC/B,OAAO,EAAE,SAAS,MAAM,EAAE,EAC1B,OAAO,EAAE,SAAS,MAAM,EAAE,EAC1B,SAAS,GAAE,SAAS,aAAa,EAAO,EACxC,QAAQ,CAAC,EAAE,WAAW,EACtB,OAAO,CAAC,EAAE,SAAS,KAAK,EAAE,EAC1B,SAAS,CAAC,EAAE;IAAE,OAAO,EAAE,YAAY,GAAG,SAAS,CAAA;CAAE,EACjD,IAAI,GAAE,SAAS;IAAE,EAAE,EAAE,MAAM,CAAC;IAAC,KAAK,EAAE,MAAM,CAAA;CAAE,EAAO,GAClD,MAAM,CA2HR"}
|
package/dist/assistant/prompt.js
CHANGED
|
@@ -62,6 +62,8 @@ function examples(recipeIds, cookbookIds, withSettings, withTheme) {
|
|
|
62
62
|
(!e.settings || withSettings) &&
|
|
63
63
|
(!e.theme || withTheme)).map((e) => `"${e.says}" -> ${JSON.stringify(e.answer)}`);
|
|
64
64
|
}
|
|
65
|
+
/** The recipe a request for a report or a summary of the app's data needs. */
|
|
66
|
+
export const REPORTS_RECIPE = 'reports.runtime';
|
|
65
67
|
/** Tax is shown as a percent, the unit the person says it in. */
|
|
66
68
|
export function formatTaxPercent(fraction) {
|
|
67
69
|
return `${Number((fraction * 100).toFixed(4))}%`;
|
|
@@ -77,7 +79,7 @@ export function formatTaxPercent(fraction) {
|
|
|
77
79
|
* and a hint line naming what looks relevant. Without it every item gets a
|
|
78
80
|
* full line. The response schema lists every id either way.
|
|
79
81
|
*/
|
|
80
|
-
export function buildSystemPrompt(recipes, current, cookbooks = [], settings, matches, themeInfo) {
|
|
82
|
+
export function buildSystemPrompt(recipes, current, cookbooks = [], settings, matches, themeInfo, menu = []) {
|
|
81
83
|
const focused = matches !== undefined;
|
|
82
84
|
const matchedRecipes = (matches ?? [])
|
|
83
85
|
.filter((m) => m.kind === 'recipe')
|
|
@@ -109,6 +111,13 @@ export function buildSystemPrompt(recipes, current, cookbooks = [], settings, ma
|
|
|
109
111
|
if (themeInfo) {
|
|
110
112
|
out.push('"theme": only if they ask for a look: {"preset": material|glass|studio|smrt|happyvertical} or {"primary": "#rrggbb"}, optional "colorScheme": light|dark, "borderRadius": none|sm|md|lg|xl|full, "density": comfortable|touch, "contrast": auto|standard|more; else omit.');
|
|
111
113
|
}
|
|
114
|
+
if (menu.length) {
|
|
115
|
+
out.push('"open": a menu section id only when they ask to see or go to one, else null.');
|
|
116
|
+
}
|
|
117
|
+
out.push('"reply" never claims anything beyond add, remove, cookbook, settings, theme and open: the app reports what changed.');
|
|
118
|
+
if (recipes.some((r) => r.id === REPORTS_RECIPE)) {
|
|
119
|
+
out.push(`A report or summary of their data needs ${REPORTS_RECIPE} (Reports): add it, and open only its section, never another. You cannot build the report itself yet.`);
|
|
120
|
+
}
|
|
112
121
|
const shown = examples(new Set(recipes.map((r) => r.id)), new Set(cookbooks.map((c) => c.id)), Boolean(settings), Boolean(themeInfo));
|
|
113
122
|
if (shown.length)
|
|
114
123
|
out.push('', 'Examples:', ...shown);
|
|
@@ -163,5 +172,8 @@ export function buildSystemPrompt(recipes, current, cookbooks = [], settings, ma
|
|
|
163
172
|
if (themeInfo) {
|
|
164
173
|
out.push(`Theme: ${describeTheme(themeInfo.current)}.`);
|
|
165
174
|
}
|
|
175
|
+
if (menu.length) {
|
|
176
|
+
out.push(`Menu: ${menu.map((s) => `${s.id} (${s.label})`).join(', ')}.`);
|
|
177
|
+
}
|
|
166
178
|
return out.join('\n');
|
|
167
179
|
}
|
|
@@ -29,6 +29,11 @@ export interface SessionOptions {
|
|
|
29
29
|
host?: EngineHost;
|
|
30
30
|
/** Called with each reply the model produced, e.g. to read it aloud. */
|
|
31
31
|
onReply?: (text: string) => void;
|
|
32
|
+
/** The menu sections the assistant may open; see the transport's `menu`. */
|
|
33
|
+
menu?: () => readonly {
|
|
34
|
+
id: string;
|
|
35
|
+
label: string;
|
|
36
|
+
}[];
|
|
32
37
|
}
|
|
33
38
|
/**
|
|
34
39
|
* The assistant's lifecycle: nothing is downloaded until the visitor accepts
|
|
@@ -72,3 +77,4 @@ export declare class AssistantSession {
|
|
|
72
77
|
/** Free the model, for example to choose another. */
|
|
73
78
|
unload(): void;
|
|
74
79
|
}
|
|
80
|
+
//# sourceMappingURL=session.svelte.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"session.svelte.d.ts","sourceRoot":"","sources":["../../src/lib/assistant/session.svelte.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,wBAAwB,CAAC;AAE5D,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,8BAA8B,CAAC;AACtE,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,qBAAqB,CAAC;AAClD,OAAO,KAAK,EAAE,WAAW,EAAE,aAAa,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AAC1E,OAAO,EAEL,KAAK,UAAU,EAEf,KAAK,YAAY,EAElB,MAAM,aAAa,CAAC;AAErB,OAAO,EAAE,cAAc,EAAE,MAAM,oBAAoB,CAAC;AACpD,OAAO,EAAE,KAAK,cAAc,EAAwB,MAAM,YAAY,CAAC;AACvE,OAAO,EAAE,UAAU,EAAE,MAAM,wBAAwB,CAAC;AACpD,OAAO,EACL,KAAK,yBAAyB,EAC9B,KAAK,SAAS,EAEf,MAAM,gBAAgB,CAAC;AAExB;;;;GAIG;AACH,wBAAgB,eAAe,CAAC,IAAI,EAAE,SAAS,EAAE,OAAO,EAAE,MAAM,GAAG,SAAS,CAK3E;AAED,MAAM,MAAM,aAAa,GACrB,aAAa,GACb,MAAM,GACN,SAAS,GACT,OAAO,GACP,OAAO,CAAC;AAEZ,MAAM,WAAW,cAAc;IAC7B,KAAK,EAAE,WAAW,CAAC;IACnB,OAAO,EAAE,SAAS,MAAM,EAAE,CAAC;IAC3B,yEAAyE;IACzE,QAAQ,CAAC,EAAE,aAAa,CAAC;IACzB,gFAAgF;IAChF,KAAK,CAAC,EAAE,UAAU,CAAC;IACnB,0FAA0F;IAC1F,UAAU,CAAC,EAAE,iBAAiB,CAAC;IAC/B,OAAO,EAAE,OAAO,GAAG,IAAI,CAAC;IACxB,8CAA8C;IAC9C,MAAM,CAAC,EAAE,MAAM,OAAO,CAAC;IACvB,IAAI,CAAC,EAAE,UAAU,CAAC;IAClB,wEAAwE;IACxE,OAAO,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,CAAC;IACjC,4EAA4E;IAC5E,IAAI,CAAC,EAAE,MAAM,SAAS;QAAE,EAAE,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,CAAA;KAAE,EAAE,CAAC;CACvD;AAED;;;;GAIG;AACH,qBAAa,gBAAgB;IAC3B,MAAM,gBAAiC;IACvC,KAAK,iBAA0D;IAC/D,QAAQ,eAAmD;IAC3D,KAAK,SAAc;IACnB,gFAAgF;IAChF,IAAI,gBAAoC;IACxC,4EAA4E;IAC5E,WAAW,SAAc;IAEzB,QAAQ,CAAC,SAAS,EAAE,yBAAyB,CAAC;IAC9C,4EAA4E;IAC5E,QAAQ,CAAC,MAAM,iBAA0C;IACzD,qEAAqE;IACrE,QAAQ,CAAC,UAAU,EAAE,UAAU,GAAG,IAAI,CAAC;IACvC,OAAO,CAAC,MAAM,CAA4B;IAC1C,OAAO,CAAC,IAAI,CAA0B;IACtC,OAAO,CAAC,KAAK,CAAgC;IAC7C,OAAO,CAAC,cAAc,CAAK;IAC3B,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAiB;gBAE7B,OAAO,EAAE,cAAc;IAiCnC;;;OAGG;IACH,OAAO,CAAC,IAAI,EAAE,aAAa,GAAG,IAAI;IAYlC,iFAAiF;IACjF,SAAS,CAAC,IAAI,EAAE,SAAS,GAAG,IAAI,EAAE,KAAK,EAAE,MAAM,GAAG,IAAI;IAOtD,0EAA0E;IAC1E,IAAI,SAAS,IAAI,OAAO,CAEvB;IAED,MAAM,CAAC,OAAO,EAAE,MAAM,GAAG,IAAI;IAM7B,8EAA8E;IACxE,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC;IAqD5B,mCAAmC;IACnC,MAAM,IAAI,IAAI;IAId,qDAAqD;IACrD,MAAM,IAAI,IAAI;CAYf"}
|
|
@@ -70,6 +70,7 @@ export class AssistantSession {
|
|
|
70
70
|
? 'Inference is off. The cards on the Planner page work without it.'
|
|
71
71
|
: 'Download a model first, then I can help. The cards on the Planner page work without one.',
|
|
72
72
|
onReply: (text) => options.onReply?.(text),
|
|
73
|
+
menu: options.menu,
|
|
73
74
|
});
|
|
74
75
|
}
|
|
75
76
|
/**
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"theme-undo.svelte.d.ts","sourceRoot":"","sources":["../../src/lib/assistant/theme-undo.svelte.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,8BAA8B,CAAC;AACtE,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AACtD,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AAE9C,MAAM,MAAM,UAAU,GAAG,WAAW,GAAG,QAAQ,CAAC;AAEhD,MAAM,WAAW,SAAS;IACxB,EAAE,EAAE,MAAM,CAAC;IACX,6EAA6E;IAC7E,QAAQ,EAAE,YAAY,GAAG,SAAS,CAAC;IACnC,MAAM,EAAE,UAAU,CAAC;IACnB,sEAAsE;IACtE,aAAa,CAAC,EAAE,MAAM,CAAC;CACxB;AAED,uEAAuE;AACvE,MAAM,WAAW,YAAY;IAC3B,IAAI,EAAE,YAAY,CAAC;IACnB,MAAM,EAAE,MAAM,CAAC;CAChB;AAED,eAAO,MAAM,cAAc,GAAI,OAAO,OAAO,KAAG,KAAK,IAAI,YAIL,CAAC;AAErD;;;GAGG;AACH,qBAAa,UAAU;IAYnB,OAAO,CAAC,QAAQ,CAAC,KAAK;IACtB,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAC;IAZ9B,KAAK,4BAAyC;IAC9C,OAAO,CAAC,OAAO,CAAK;IAEpB;;;;;;OAMG;gBAEgB,KAAK,EAAE,UAAU,EACjB,UAAU,CAAC,EAAE,iBAAiB,YAAA;IAGjD,MAAM,CACJ,QAAQ,EAAE,YAAY,GAAG,SAAS,EAClC,aAAa,CAAC,EAAE,MAAM,GACrB,YAAY;IAaf,IAAI,CAAC,EAAE,EAAE,MAAM,GAAG,IAAI;CAYvB"}
|
|
@@ -57,6 +57,15 @@ export interface BrowserTransportOptions {
|
|
|
57
57
|
now?: () => number;
|
|
58
58
|
/** Called with each reply the model produced (not errors), e.g. to read it aloud. */
|
|
59
59
|
onReply?: (text: string) => void;
|
|
60
|
+
/**
|
|
61
|
+
* The menu sections the assistant may open (`focus` with a `section`):
|
|
62
|
+
* only where the running app navigates to them. Omitted or empty, the
|
|
63
|
+
* assistant cannot navigate and the schema has no `open`.
|
|
64
|
+
*/
|
|
65
|
+
menu?: () => readonly {
|
|
66
|
+
id: string;
|
|
67
|
+
label: string;
|
|
68
|
+
}[];
|
|
60
69
|
}
|
|
61
70
|
export interface BrowserAssistantTransport extends AssistantTransport {
|
|
62
71
|
/** Stop the turn in flight, if any. */
|
|
@@ -64,10 +73,25 @@ export interface BrowserAssistantTransport extends AssistantTransport {
|
|
|
64
73
|
}
|
|
65
74
|
/** The one line the chat opens with. */
|
|
66
75
|
export declare const GREETING = "What would you like to build?";
|
|
76
|
+
/** Said when a turn changed nothing and the model's sentence was not a question. */
|
|
77
|
+
export declare const NOTHING_CHANGED = "Nothing in the app changed.";
|
|
78
|
+
/** Said after a report request: the planner cannot build one yet (smrt#4100). */
|
|
79
|
+
export declare const REPORTS_PENDING = "Building the report itself is not available in the planner yet; it will live under Reports.";
|
|
80
|
+
/**
|
|
81
|
+
* What the chat says for a turn. When something ran, the commands' own
|
|
82
|
+
* summaries ("Added Invoicing.", "Opened Billing."), never the model's
|
|
83
|
+
* sentence, which may claim more than ran ("Added a sales report"). When
|
|
84
|
+
* nothing ran, the model's sentence (an answer or a question), plus a plain
|
|
85
|
+
* note that nothing changed unless it asks something or offers a cookbook.
|
|
86
|
+
*/
|
|
87
|
+
export declare function honestReply(line: string, summary: string, offered: boolean): string;
|
|
67
88
|
/**
|
|
68
89
|
* An `AssistantTransport` that runs entirely in the browser: one thread, kept
|
|
69
90
|
* in memory, whose turns go to the on-device model with the recipes as a
|
|
70
91
|
* constrained schema. The model's `add`/`remove` are applied through the same
|
|
71
|
-
* recipe store the Planner cards drive. It
|
|
92
|
+
* recipe store the Planner cards drive. It navigates only to a menu section
|
|
93
|
+
* `menu` offers. What it says it did is what the commands' results say: the
|
|
94
|
+
* model's own sentence stands only when nothing changed, and then says so.
|
|
72
95
|
*/
|
|
73
96
|
export declare function createBrowserAssistantTransport(options: BrowserTransportOptions): BrowserAssistantTransport;
|
|
97
|
+
//# sourceMappingURL=transport.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"transport.d.ts","sourceRoot":"","sources":["../../src/lib/assistant/transport.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { createSliceController, } from "../planner/commands/index.js";
|
|
2
2
|
import { buildResponseSchema, describeChange, parseChange, } from "./change.js";
|
|
3
3
|
import { buildMatchIndex, matchText } from "./match.js";
|
|
4
|
-
import { buildSystemPrompt } from "./prompt.js";
|
|
4
|
+
import { buildSystemPrompt, REPORTS_RECIPE, } from "./prompt.js";
|
|
5
5
|
const THREAD_TITLE = 'Plan your app';
|
|
6
6
|
/** The one line the chat opens with. */
|
|
7
7
|
export const GREETING = 'What would you like to build?';
|
|
@@ -35,6 +35,34 @@ function runCommands(controller, calls) {
|
|
|
35
35
|
}
|
|
36
36
|
return lines.join(' ');
|
|
37
37
|
}
|
|
38
|
+
/** Said when a turn changed nothing and the model's sentence was not a question. */
|
|
39
|
+
export const NOTHING_CHANGED = 'Nothing in the app changed.';
|
|
40
|
+
/** Said after a report request: the planner cannot build one yet (smrt#4100). */
|
|
41
|
+
export const REPORTS_PENDING = 'Building the report itself is not available in the planner yet; it will live under Reports.';
|
|
42
|
+
/** The Reports menu entry (reports.runtime's RuntimeReport). */
|
|
43
|
+
const REPORTS_ITEM = 'item:reports:RuntimeReport';
|
|
44
|
+
/**
|
|
45
|
+
* What the chat says for a turn. When something ran, the commands' own
|
|
46
|
+
* summaries ("Added Invoicing.", "Opened Billing."), never the model's
|
|
47
|
+
* sentence, which may claim more than ran ("Added a sales report"). When
|
|
48
|
+
* nothing ran, the model's sentence (an answer or a question), plus a plain
|
|
49
|
+
* note that nothing changed unless it asks something or offers a cookbook.
|
|
50
|
+
*/
|
|
51
|
+
export function honestReply(line, summary, offered) {
|
|
52
|
+
if (summary)
|
|
53
|
+
return summary;
|
|
54
|
+
if (offered || line.trim().endsWith('?'))
|
|
55
|
+
return line;
|
|
56
|
+
return [line, NOTHING_CHANGED].filter(Boolean).join(' ');
|
|
57
|
+
}
|
|
58
|
+
/** Open a menu section through `focus`; what happened, failure included. */
|
|
59
|
+
function openSection(controller, id, menu) {
|
|
60
|
+
const label = menu.find((section) => section.id === id)?.label ?? id;
|
|
61
|
+
const result = controller.run({ name: 'focus', input: { section: id } });
|
|
62
|
+
return result.ok
|
|
63
|
+
? `Opened ${label}.`
|
|
64
|
+
: `Could not open ${label}: ${result.error.message}`;
|
|
65
|
+
}
|
|
38
66
|
/**
|
|
39
67
|
* The model's `add` and `remove` as commands, reported as one change: what
|
|
40
68
|
* really ended up on or off, after `requires`, and what was kept because
|
|
@@ -60,7 +88,9 @@ function applyRecipes(controller, change) {
|
|
|
60
88
|
* An `AssistantTransport` that runs entirely in the browser: one thread, kept
|
|
61
89
|
* in memory, whose turns go to the on-device model with the recipes as a
|
|
62
90
|
* constrained schema. The model's `add`/`remove` are applied through the same
|
|
63
|
-
* recipe store the Planner cards drive. It
|
|
91
|
+
* recipe store the Planner cards drive. It navigates only to a menu section
|
|
92
|
+
* `menu` offers. What it says it did is what the commands' results say: the
|
|
93
|
+
* model's own sentence stands only when nothing changed, and then says so.
|
|
64
94
|
*/
|
|
65
95
|
export function createBrowserAssistantTransport(options) {
|
|
66
96
|
const now = options.now ?? (() => Date.now());
|
|
@@ -124,15 +154,16 @@ export function createBrowserAssistantTransport(options) {
|
|
|
124
154
|
content: m.content,
|
|
125
155
|
}));
|
|
126
156
|
const matches = matchText(index, text);
|
|
157
|
+
const menu = options.menu?.() ?? [];
|
|
127
158
|
const raw = await model.message(text, {
|
|
128
159
|
history: [
|
|
129
160
|
{
|
|
130
161
|
role: 'system',
|
|
131
|
-
content: buildSystemPrompt(options.recipes, options.store.ids, cookbooks, options.settings?.read(), matches, options.theme ? { current: options.theme.read() } : undefined),
|
|
162
|
+
content: buildSystemPrompt(options.recipes, options.store.ids, cookbooks, options.settings?.read(), matches, options.theme ? { current: options.theme.read() } : undefined, menu),
|
|
132
163
|
},
|
|
133
164
|
...prior,
|
|
134
165
|
],
|
|
135
|
-
responseSchema: buildResponseSchema(options.recipes, cookbooks, !!options.settings, !!options.theme),
|
|
166
|
+
responseSchema: buildResponseSchema(options.recipes, cookbooks, !!options.settings, !!options.theme, menu.map((section) => section.id)),
|
|
136
167
|
temperature: 0,
|
|
137
168
|
maxTokens: MAX_REPLY_TOKENS,
|
|
138
169
|
signal: controller.signal,
|
|
@@ -141,6 +172,7 @@ export function createBrowserAssistantTransport(options) {
|
|
|
141
172
|
commands: typeof options.acceptCommands === 'function'
|
|
142
173
|
? options.acceptCommands()
|
|
143
174
|
: options.acceptCommands,
|
|
175
|
+
sections: menu.map((section) => section.id),
|
|
144
176
|
});
|
|
145
177
|
const applied = applyRecipes(planner, change);
|
|
146
178
|
const settingsText = options.settings && hasKeys(change.settings)
|
|
@@ -156,11 +188,23 @@ export function createBrowserAssistantTransport(options) {
|
|
|
156
188
|
const commandText = (change.commands ?? []).length
|
|
157
189
|
? runCommands(planner, change.commands ?? [])
|
|
158
190
|
: '';
|
|
191
|
+
// A request for a report or a summary of the data (the keyword match
|
|
192
|
+
// finds reports.runtime) goes to Reports or nowhere: an `open` of any
|
|
193
|
+
// other section (the product catalogue, say) is dropped.
|
|
194
|
+
const reportRequest = matches.some((m) => m.kind === 'recipe' && m.id === REPORTS_RECIPE);
|
|
195
|
+
const reportsSection = planner
|
|
196
|
+
.snapshot()
|
|
197
|
+
.sections.find((s) => s.items.some((i) => i.id === REPORTS_ITEM))?.id;
|
|
198
|
+
const open = change.open && (!reportRequest || change.open === reportsSection)
|
|
199
|
+
? change.open
|
|
200
|
+
: undefined;
|
|
201
|
+
const openText = open ? openSection(planner, open, menu) : '';
|
|
159
202
|
const summary = [
|
|
160
203
|
describeChange(applied, options.recipes),
|
|
161
204
|
settingsText,
|
|
162
205
|
themed?.summary ?? '',
|
|
163
206
|
commandText,
|
|
207
|
+
openText,
|
|
164
208
|
]
|
|
165
209
|
.filter(Boolean)
|
|
166
210
|
.join(' ');
|
|
@@ -180,12 +224,17 @@ export function createBrowserAssistantTransport(options) {
|
|
|
180
224
|
? cookbooks.find((c) => c.id === cookbookId)
|
|
181
225
|
: undefined;
|
|
182
226
|
const line = change.reply || (offered ? `Set up ${offered.name}?` : '');
|
|
183
|
-
const reply = [
|
|
184
|
-
|
|
185
|
-
|
|
227
|
+
const reply = [
|
|
228
|
+
honestReply(line, summary, !!offer),
|
|
229
|
+
reportRequest ? REPORTS_PENDING : '',
|
|
230
|
+
]
|
|
231
|
+
.filter(Boolean)
|
|
232
|
+
.join(' ');
|
|
233
|
+
if (reply)
|
|
234
|
+
options.onReply?.(reply);
|
|
186
235
|
// One ref renders as is; a cookbook offer and a theme Undo in one turn ride together.
|
|
187
236
|
const refs = offer && undo ? [offer, undo] : (offer ?? undo);
|
|
188
|
-
return { content: reply
|
|
237
|
+
return { content: reply, refs };
|
|
189
238
|
}
|
|
190
239
|
catch (error) {
|
|
191
240
|
if (controller?.signal.aborted)
|
|
@@ -8,3 +8,4 @@ export { createHandsFreeCapture } from '@happyvertical/smrt-ui/forms/hands-free'
|
|
|
8
8
|
* apart from the voice logic so tests never load a worker.
|
|
9
9
|
*/
|
|
10
10
|
export declare function createSpeechModel(model: SpeechModelId): LocalSpeechModel;
|
|
11
|
+
//# sourceMappingURL=voice-host.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"voice-host.d.ts","sourceRoot":"","sources":["../../src/lib/assistant/voice-host.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,gBAAgB,EAAE,aAAa,EAAE,MAAM,mBAAmB,CAAC;AAEzE,OAAO,EAAE,sBAAsB,EAAE,MAAM,yCAAyC,CAAC;AAEjF;;;;;;GAMG;AACH,wBAAgB,iBAAiB,CAAC,KAAK,EAAE,aAAa,GAAG,gBAAgB,CAMxE"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"voice.svelte.d.ts","sourceRoot":"","sources":["../../src/lib/assistant/voice.svelte.ts"],"names":[],"mappings":"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"}
|