@happyvertical/smrt-planner 0.57.6 → 0.57.8

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.
Files changed (566) hide show
  1. package/agents/assistant.md +29 -2
  2. package/agents/shell.md +13 -0
  3. package/app/404.html +26 -29
  4. package/app/_app/immutable/assets/0.BaRFeYGU.css +1 -0
  5. package/app/_app/immutable/assets/AppShell.BkKNrxND.css +1 -0
  6. package/app/_app/immutable/assets/{ModelPage.FEM0ZnPM.css → ModelPage.SIoeO-AU.css} +1 -1
  7. package/app/_app/immutable/assets/app.BHwMQ9Zv.css +1 -0
  8. package/app/_app/immutable/assets/{forms.DXOeP4wZ.css → forms.BRdbPdvs.css} +1 -1
  9. package/app/_app/immutable/assets/icons.BDx21rPt.css +1 -0
  10. package/app/_app/immutable/assets/labels.Dxa6EyRI.css +1 -0
  11. package/app/_app/immutable/assets/planner.DOQVfcOi.css +1 -0
  12. package/app/_app/immutable/assets/state.C0UZEhxS.css +1 -0
  13. package/app/_app/immutable/chunks/{CoXf-L_3.js → B45qMR8U.js} +25 -25
  14. package/app/_app/immutable/chunks/{DypPefJO.js → BU0vd8nA.js} +1 -1
  15. package/app/_app/immutable/chunks/BWd9iJf7.js +1 -0
  16. package/app/_app/immutable/chunks/BeJxxDXZ.js +1 -0
  17. package/app/_app/immutable/chunks/BfeotTF9.js +4 -0
  18. package/app/_app/immutable/chunks/BlJ-05MM.js +11 -0
  19. package/app/_app/immutable/chunks/{GdHEbDDH.js → BxyJ_Q7v.js} +1 -1
  20. package/app/_app/immutable/chunks/C6HSENij.js +1 -0
  21. package/app/_app/immutable/chunks/C7boms_S.js +4 -0
  22. package/app/_app/immutable/chunks/{0as86J1A.js → C8kJ-wTn.js} +6 -6
  23. package/app/_app/immutable/chunks/CKd9O-eU.js +1 -0
  24. package/app/_app/immutable/chunks/{BSYvnYu8.js → COQVmnKJ.js} +1 -1
  25. package/app/_app/immutable/chunks/CTlovRev.js +1 -0
  26. package/app/_app/immutable/chunks/{DrjdLb0M.js → CaiMTXlW.js} +2 -2
  27. package/app/_app/immutable/chunks/{exPME6UK.js → CiNYyHrL.js} +1 -1
  28. package/app/_app/immutable/chunks/{BPsie9Wr.js → Cmh0yR4f.js} +1 -1
  29. package/app/_app/immutable/chunks/CsaWd8kG.js +2 -0
  30. package/app/_app/immutable/chunks/{D2Ykv2Y3.js → Ct5r3XV1.js} +1 -1
  31. package/app/_app/immutable/chunks/D0m3WNVh.js +1 -0
  32. package/app/_app/immutable/chunks/DF-0MxNw.js +1 -0
  33. package/app/_app/immutable/chunks/DKi2uwTq.js +2 -0
  34. package/app/_app/immutable/chunks/{PsiVGwJV.js → DWeCJh9N.js} +1 -1
  35. package/app/_app/immutable/chunks/{D8rEUyzO.js → D_xoWitl.js} +1 -1
  36. package/app/_app/immutable/chunks/Dg4KRWOz.js +1 -0
  37. package/app/_app/immutable/chunks/{CdlkzC7D.js → DmvHEN1v.js} +1 -1
  38. package/app/_app/immutable/chunks/{eNZ3ToP2.js → DoGeTgSe.js} +1 -1
  39. package/app/_app/immutable/chunks/DqrQeG8L.js +26 -0
  40. package/app/_app/immutable/chunks/{Dyf3Cj8R.js → DziaAoFY.js} +1 -1
  41. package/app/_app/immutable/chunks/{Dzh-1KQR.js → QJX7BlhI.js} +1 -1
  42. package/app/_app/immutable/chunks/Ywu-998J.js +2 -0
  43. package/app/_app/immutable/chunks/nB-x9BEp.js +16 -0
  44. package/app/_app/immutable/chunks/{CwNhmq3e.js → ptmcJq5j.js} +1 -1
  45. package/app/_app/immutable/entry/app.g4Bu04a3.js +2 -0
  46. package/app/_app/immutable/entry/start.C4bzxGdW.js +1 -0
  47. package/app/_app/immutable/nodes/0.C6N6B83E.js +7 -0
  48. package/app/_app/immutable/nodes/{1.CTatAlE5.js → 1.9pTjyJp5.js} +1 -1
  49. package/app/_app/immutable/nodes/{10.DHnK3kbB.js → 10.BkbBDSaP.js} +1 -1
  50. package/app/_app/immutable/nodes/{11.Ck1kcQLu.js → 11.BcVi4XqZ.js} +1 -1
  51. package/app/_app/immutable/nodes/{12.oK17D56_.js → 12.j9PkVob2.js} +1 -1
  52. package/app/_app/immutable/nodes/{13.DlEsuw6F.js → 13.BOUYEx8n.js} +1 -1
  53. package/app/_app/immutable/nodes/14.CuMuuCU7.js +1 -0
  54. package/app/_app/immutable/nodes/2.BHCkcrHF.js +24 -0
  55. package/app/_app/immutable/nodes/{3.DOL1VeVM.js → 3.D6l9gEJu.js} +1 -1
  56. package/app/_app/immutable/nodes/{4.CiKq5-ek.js → 4.BUHWJvB3.js} +1 -1
  57. package/app/_app/immutable/nodes/{5.nKUg_W9L.js → 5.C1jfy8Yg.js} +1 -1
  58. package/app/_app/immutable/nodes/{6.CVGw-hLa.js → 6.LSyNtBLJ.js} +1 -1
  59. package/app/_app/immutable/nodes/{7.Clo6kG4w.js → 7.CC7rRIn7.js} +1 -1
  60. package/app/_app/immutable/nodes/{8.C3moca98.js → 8.S9H6LDRX.js} +1 -1
  61. package/app/_app/immutable/nodes/{9.BnVJx5kW.js → 9.BPt57fDH.js} +1 -1
  62. package/app/_app/version.json +1 -1
  63. package/app/advanced-styles/index.html +32 -33
  64. package/app/ai/index.html +37 -38
  65. package/app/blueprint/index.html +27 -30
  66. package/app/cookbook/index.html +27 -30
  67. package/app/index.html +36 -39
  68. package/app/m/ads/AdDeliveryTier/index.html +34 -35
  69. package/app/m/ads/AdEvent/index.html +34 -35
  70. package/app/m/ads/AdFormat/index.html +34 -35
  71. package/app/m/ads/AdGroup/index.html +34 -35
  72. package/app/m/ads/AdVariation/index.html +34 -35
  73. package/app/m/analytics/AnalyticsDataStream/index.html +34 -35
  74. package/app/m/analytics/AnalyticsEvent/index.html +34 -35
  75. package/app/m/analytics/AnalyticsProperty/index.html +34 -35
  76. package/app/m/analytics/AnalyticsReport/index.html +34 -35
  77. package/app/m/approvals/ApprovalEvent/index.html +34 -35
  78. package/app/m/approvals/ApprovalPolicy/index.html +34 -35
  79. package/app/m/approvals/ApprovalRequest/index.html +34 -35
  80. package/app/m/assets/Asset/attachments/index.html +36 -37
  81. package/app/m/assets/Asset/index.html +34 -35
  82. package/app/m/assets/AssetAssociation/index.html +35 -36
  83. package/app/m/assets/AssetMetafield/index.html +34 -35
  84. package/app/m/assets/AssetStatus/index.html +34 -35
  85. package/app/m/assets/AssetType/index.html +34 -35
  86. package/app/m/assets/Folder/index.html +34 -35
  87. package/app/m/chat/AgentSession/index.html +34 -35
  88. package/app/m/chat/ChatMessage/index.html +35 -36
  89. package/app/m/chat/ChatParticipant/index.html +35 -36
  90. package/app/m/chat/ChatReaction/index.html +34 -35
  91. package/app/m/chat/ChatRoom/index.html +34 -35
  92. package/app/m/chat/ChatThread/index.html +35 -36
  93. package/app/m/chat/VoiceGatewayTurn/index.html +34 -35
  94. package/app/m/chat/VoiceSession/index.html +34 -35
  95. package/app/m/commerce/Agreement/index.html +34 -35
  96. package/app/m/commerce/Cart/index.html +34 -35
  97. package/app/m/commerce/Contract/index.html +34 -35
  98. package/app/m/commerce/ContractLineItem/index.html +35 -36
  99. package/app/m/commerce/Customer/index.html +34 -35
  100. package/app/m/commerce/DocumentTax/index.html +34 -35
  101. package/app/m/commerce/Estimate/index.html +34 -35
  102. package/app/m/commerce/Fulfillment/index.html +34 -35
  103. package/app/m/commerce/FulfillmentLineItem/index.html +35 -36
  104. package/app/m/commerce/HistoricalCustomerFunds/index.html +34 -35
  105. package/app/m/commerce/HistoricalCustomerFundsAllocation/index.html +34 -35
  106. package/app/m/commerce/HistoricalSalesLine/index.html +34 -35
  107. package/app/m/commerce/Invoice/index.html +34 -35
  108. package/app/m/commerce/InvoiceLineItem/index.html +35 -36
  109. package/app/m/commerce/Lease/index.html +34 -35
  110. package/app/m/commerce/LicenseSale/index.html +34 -35
  111. package/app/m/commerce/Order/index.html +34 -35
  112. package/app/m/commerce/Payment/index.html +34 -35
  113. package/app/m/commerce/PaymentAllocation/index.html +35 -36
  114. package/app/m/commerce/PaymentInstrument/index.html +34 -35
  115. package/app/m/commerce/PaymentIntent/index.html +34 -35
  116. package/app/m/commerce/Payout/index.html +34 -35
  117. package/app/m/commerce/ProductionOrder/index.html +34 -35
  118. package/app/m/commerce/PurchaseContract/index.html +34 -35
  119. package/app/m/commerce/PurchaseOrder/index.html +34 -35
  120. package/app/m/commerce/SalesContract/index.html +34 -35
  121. package/app/m/commerce/SupplierQuote/index.html +34 -35
  122. package/app/m/commerce/TaxCode/index.html +34 -35
  123. package/app/m/commerce/TaxComponent/index.html +34 -35
  124. package/app/m/commerce/TaxSettings/index.html +34 -35
  125. package/app/m/commerce/TaxSummaryReport/index.html +34 -35
  126. package/app/m/commerce/Vendor/index.html +34 -35
  127. package/app/m/commerce/WholesaleOrder/index.html +34 -35
  128. package/app/m/content/Content/index.html +34 -35
  129. package/app/m/content/ContentContribution/index.html +34 -35
  130. package/app/m/content/ContentContributionAttachment/index.html +34 -35
  131. package/app/m/content/ContentContributionRevision/index.html +34 -35
  132. package/app/m/content/ContentContributionType/index.html +34 -35
  133. package/app/m/content/ContentContributor/index.html +34 -35
  134. package/app/m/content/ContentCorrection/index.html +34 -35
  135. package/app/m/content/ContentFeedSource/index.html +34 -35
  136. package/app/m/content/ContentGovernanceAssignment/index.html +34 -35
  137. package/app/m/content/ContentGovernancePolicy/index.html +34 -35
  138. package/app/m/content/ContentGovernanceProfile/index.html +34 -35
  139. package/app/m/content/ContentReference/index.html +34 -35
  140. package/app/m/content/ContentReview/index.html +34 -35
  141. package/app/m/content/ContentVersion/index.html +34 -35
  142. package/app/m/events/Event/index.html +34 -35
  143. package/app/m/events/EventParticipant/index.html +35 -36
  144. package/app/m/events/EventSeries/index.html +34 -35
  145. package/app/m/events/EventType/index.html +34 -35
  146. package/app/m/expenses/Expense/index.html +34 -35
  147. package/app/m/facts/Fact/index.html +34 -35
  148. package/app/m/facts/FactContent/index.html +34 -35
  149. package/app/m/facts/FactEvidence/index.html +34 -35
  150. package/app/m/facts/FactSource/index.html +34 -35
  151. package/app/m/facts/FactSubject/index.html +34 -35
  152. package/app/m/facts/FactTag/index.html +34 -35
  153. package/app/m/fields/FieldPolicy/index.html +34 -35
  154. package/app/m/fields/FieldPolicySuggestion/index.html +34 -35
  155. package/app/m/fields/FieldUsageCounter/index.html +34 -35
  156. package/app/m/images/Image/index.html +34 -35
  157. package/app/m/inventory/InventoryLocation/index.html +34 -35
  158. package/app/m/inventory/StockLevel/index.html +34 -35
  159. package/app/m/inventory/StockMovement/index.html +34 -35
  160. package/app/m/ledgers/Account/index.html +34 -35
  161. package/app/m/ledgers/Journal/index.html +34 -35
  162. package/app/m/ledgers/JournalEntry/index.html +35 -36
  163. package/app/m/ledgers/Ledger/index.html +34 -35
  164. package/app/m/manufacturing/Assembly/index.html +34 -35
  165. package/app/m/manufacturing/BillOfMaterials/index.html +34 -35
  166. package/app/m/manufacturing/BomLine/index.html +34 -35
  167. package/app/m/manufacturing/Operation/index.html +34 -35
  168. package/app/m/manufacturing/ProductionRun/index.html +34 -35
  169. package/app/m/manufacturing/ProductionRunCompletion/index.html +34 -35
  170. package/app/m/manufacturing/RoutingStep/index.html +34 -35
  171. package/app/m/marketing/Campaign/index.html +34 -35
  172. package/app/m/marketing/CampaignChannel/index.html +34 -35
  173. package/app/m/marketing/CampaignMetricSnapshot/index.html +34 -35
  174. package/app/m/messages/Account/index.html +34 -35
  175. package/app/m/messages/Attachment/index.html +34 -35
  176. package/app/m/messages/Blacklist/index.html +34 -35
  177. package/app/m/messages/Email/failed-sends/index.html +36 -37
  178. package/app/m/messages/Email/index.html +34 -35
  179. package/app/m/messages/Email/mailbox/index.html +36 -37
  180. package/app/m/messages/EmailAccount/index.html +34 -35
  181. package/app/m/messages/EmailAttachment/index.html +34 -35
  182. package/app/m/messages/EmailFolder/index.html +34 -35
  183. package/app/m/messages/Message/index.html +34 -35
  184. package/app/m/messages/MessagingEndpoint/index.html +34 -35
  185. package/app/m/messages/PersonaMessageRoute/index.html +34 -35
  186. package/app/m/messages/SlackAccount/index.html +34 -35
  187. package/app/m/messages/SlackMessage/index.html +34 -35
  188. package/app/m/messages/TelegramAccount/index.html +34 -35
  189. package/app/m/messages/Tweet/index.html +34 -35
  190. package/app/m/messages/TwitterAccount/index.html +34 -35
  191. package/app/m/messages/Whitelist/index.html +34 -35
  192. package/app/m/messages/ZulipAccount/index.html +34 -35
  193. package/app/m/places/Place/index.html +34 -35
  194. package/app/m/places/PlaceType/index.html +34 -35
  195. package/app/m/products/Category/index.html +34 -35
  196. package/app/m/products/Material/index.html +34 -35
  197. package/app/m/products/Product/index.html +34 -35
  198. package/app/m/products/Product/ingredients/index.html +36 -37
  199. package/app/m/products/ProductVariant/index.html +35 -36
  200. package/app/m/products/Sku/index.html +35 -36
  201. package/app/m/profiles/ApiKey/index.html +34 -35
  202. package/app/m/profiles/Bot/index.html +34 -35
  203. package/app/m/profiles/MagicLinkToken/index.html +34 -35
  204. package/app/m/profiles/NostrIdentity/index.html +34 -35
  205. package/app/m/profiles/OidcIdentity/index.html +34 -35
  206. package/app/m/profiles/Organization/index.html +34 -35
  207. package/app/m/profiles/Person/index.html +34 -35
  208. package/app/m/profiles/Profile/index.html +34 -35
  209. package/app/m/profiles/ProfileMetadata/index.html +34 -35
  210. package/app/m/profiles/ProfileMetafield/index.html +34 -35
  211. package/app/m/profiles/ProfileRelationship/index.html +34 -35
  212. package/app/m/profiles/ProfileRelationshipTerm/index.html +34 -35
  213. package/app/m/profiles/ProfileRelationshipType/index.html +34 -35
  214. package/app/m/profiles/ProfileType/index.html +34 -35
  215. package/app/m/projects/Comment/index.html +35 -36
  216. package/app/m/projects/Issue/index.html +34 -35
  217. package/app/m/projects/Label/index.html +34 -35
  218. package/app/m/projects/Project/index.html +34 -35
  219. package/app/m/projects/ProjectIntegration/index.html +34 -35
  220. package/app/m/projects/PullRequest/index.html +34 -35
  221. package/app/m/projects/Repository/index.html +34 -35
  222. package/app/m/properties/Property/index.html +34 -35
  223. package/app/m/properties/Zone/index.html +34 -35
  224. package/app/m/reports/RuntimeReport/index.html +38 -36
  225. package/app/m/reports/SmrtPrincipalReportRefreshTask/index.html +34 -35
  226. package/app/m/reports/SmrtReportLock/index.html +34 -35
  227. package/app/m/reports/SmrtReportRefreshTask/index.html +34 -35
  228. package/app/m/reports/SmrtReportRun/index.html +34 -35
  229. package/app/m/reports/SmrtReportSchedule/index.html +34 -35
  230. package/app/m/reports/SmrtReportWatermark/index.html +34 -35
  231. package/app/m/sales/Agreement/index.html +34 -35
  232. package/app/m/sales/AttributionException/index.html +34 -35
  233. package/app/m/sales/AttributionPolicy/index.html +34 -35
  234. package/app/m/sales/Commission/index.html +34 -35
  235. package/app/m/sales/CommissionAdjustment/index.html +34 -35
  236. package/app/m/sales/CommissionPayout/index.html +34 -35
  237. package/app/m/sales/CommissionPlan/index.html +34 -35
  238. package/app/m/sales/Earner/index.html +34 -35
  239. package/app/m/sales/EarnerSourceAttribution/index.html +34 -35
  240. package/app/m/sales/EarningEvent/index.html +34 -35
  241. package/app/m/sales/ExecutedAgreement/index.html +34 -35
  242. package/app/m/sales/Lead/index.html +34 -35
  243. package/app/m/sales/Opportunity/index.html +34 -35
  244. package/app/m/sales/OpportunityConversion/index.html +34 -35
  245. package/app/m/sales/PipelineDefinition/index.html +34 -35
  246. package/app/m/sales/PipelineStage/index.html +35 -36
  247. package/app/m/sales/Referral/index.html +34 -35
  248. package/app/m/sales/ReferralAgreement/index.html +34 -35
  249. package/app/m/sales/ReferralLink/index.html +34 -35
  250. package/app/m/sales/ReferralProgram/index.html +34 -35
  251. package/app/m/sales/ReferralTermSnapshot/index.html +34 -35
  252. package/app/m/sales/ReferralTouch/index.html +34 -35
  253. package/app/m/sales/Referrer/index.html +34 -35
  254. package/app/m/sales/SalesActivity/index.html +34 -35
  255. package/app/m/sales/SalesRepresentative/index.html +34 -35
  256. package/app/m/sites/Site/index.html +34 -35
  257. package/app/m/sites/SiteAgentBinding/index.html +34 -35
  258. package/app/m/social/OAuthState/index.html +34 -35
  259. package/app/m/social/SocialAccount/index.html +34 -35
  260. package/app/m/social/SocialPost/index.html +34 -35
  261. package/app/m/social/SocialPostAnalyticsSnapshot/index.html +34 -35
  262. package/app/m/subscriptions/BillingAdjustment/index.html +34 -35
  263. package/app/m/subscriptions/ClientCharge/index.html +34 -35
  264. package/app/m/subscriptions/CreditGrant/index.html +34 -35
  265. package/app/m/subscriptions/PricingRule/index.html +34 -35
  266. package/app/m/subscriptions/RetailCharge/index.html +34 -35
  267. package/app/m/subscriptions/SpendingPolicy/index.html +34 -35
  268. package/app/m/subscriptions/SubscriptionPlan/index.html +34 -35
  269. package/app/m/subscriptions/TenantSubscription/index.html +34 -35
  270. package/app/m/subscriptions/TenantUsageMetric/index.html +34 -35
  271. package/app/m/support/ServiceTimeEntry/index.html +34 -35
  272. package/app/m/support/SupportAiRun/index.html +34 -35
  273. package/app/m/support/SupportAvailability/index.html +34 -35
  274. package/app/m/support/SupportCase/index.html +34 -35
  275. package/app/m/support/SupportCaseEvent/index.html +34 -35
  276. package/app/m/support/SupportChannelBinding/index.html +34 -35
  277. package/app/m/support/SupportCharge/index.html +34 -35
  278. package/app/m/support/SupportCompensation/index.html +34 -35
  279. package/app/m/support/SupportCompensationPlan/index.html +34 -35
  280. package/app/m/support/SupportEscalation/index.html +34 -35
  281. package/app/m/support/SupportInteraction/index.html +34 -35
  282. package/app/m/support/SupportPlan/index.html +34 -35
  283. package/app/m/support/SupportPolicy/index.html +34 -35
  284. package/app/m/support/SupportQualification/index.html +34 -35
  285. package/app/m/support/SupportServiceTarget/index.html +34 -35
  286. package/app/m/support/SupportSpecialist/index.html +34 -35
  287. package/app/m/support/SupportWorkLink/index.html +34 -35
  288. package/app/m/tags/Tag/index.html +34 -35
  289. package/app/m/tags/TagAlias/index.html +34 -35
  290. package/app/m/timesheets/AttendanceBreak/index.html +34 -35
  291. package/app/m/timesheets/AttendancePunch/index.html +34 -35
  292. package/app/m/timesheets/AttendanceSegment/index.html +34 -35
  293. package/app/m/timesheets/ServiceChargeSnapshot/index.html +34 -35
  294. package/app/m/timesheets/ServiceCompensationSnapshot/index.html +34 -35
  295. package/app/m/timesheets/ServiceTimeEntry/index.html +34 -35
  296. package/app/m/users/Group/index.html +34 -35
  297. package/app/m/users/GroupMember/index.html +34 -35
  298. package/app/m/users/GroupRole/index.html +34 -35
  299. package/app/m/users/Membership/index.html +35 -36
  300. package/app/m/users/MembershipOverride/index.html +34 -35
  301. package/app/m/users/Permission/index.html +34 -35
  302. package/app/m/users/Role/index.html +34 -35
  303. package/app/m/users/RolePermission/index.html +34 -35
  304. package/app/m/users/Session/index.html +34 -35
  305. package/app/m/users/Tenant/index.html +34 -35
  306. package/app/m/users/TenantIntegration/index.html +34 -35
  307. package/app/m/users/TenantPermissionOverride/index.html +34 -35
  308. package/app/m/users/User/index.html +34 -35
  309. package/app/m/video/Character/index.html +34 -35
  310. package/app/m/video/CharacterAsset/index.html +34 -35
  311. package/app/m/video/CompositeJob/index.html +34 -35
  312. package/app/m/video/Performer/index.html +34 -35
  313. package/app/m/video/PerformerAsset/index.html +34 -35
  314. package/app/m/video/Scene/index.html +34 -35
  315. package/app/m/video/SceneAsset/index.html +34 -35
  316. package/app/m/video/VideoComposition/index.html +34 -35
  317. package/app/m/video/VideoCompositionAsset/index.html +34 -35
  318. package/app/m/video/VideoSequence/index.html +34 -35
  319. package/app/m/video/VideoSequenceAsset/index.html +34 -35
  320. package/app/m/video/VideoShot/index.html +34 -35
  321. package/app/m/video/VideoShotAsset/index.html +34 -35
  322. package/app/m/video/VideoShotCharacter/index.html +34 -35
  323. package/app/m/video/VideoWorkflow/index.html +34 -35
  324. package/app/m/voice/VoiceOutput/index.html +34 -35
  325. package/app/m/voice/VoiceProfile/index.html +34 -35
  326. package/app/m/voice/VoiceSample/index.html +34 -35
  327. package/app/mcp.html +2 -2
  328. package/app/packages/ads/index.html +29 -32
  329. package/app/packages/analytics/index.html +29 -32
  330. package/app/packages/approvals/index.html +29 -32
  331. package/app/packages/assets/index.html +29 -32
  332. package/app/packages/chat/index.html +29 -32
  333. package/app/packages/comments/index.html +29 -32
  334. package/app/packages/commerce/index.html +29 -32
  335. package/app/packages/content/index.html +29 -32
  336. package/app/packages/events/index.html +29 -32
  337. package/app/packages/expenses/index.html +29 -32
  338. package/app/packages/facts/index.html +29 -32
  339. package/app/packages/fields/index.html +29 -32
  340. package/app/packages/human-resources/index.html +29 -32
  341. package/app/packages/images/index.html +29 -32
  342. package/app/packages/index.html +28 -31
  343. package/app/packages/ingestion/index.html +29 -32
  344. package/app/packages/inventory/index.html +29 -32
  345. package/app/packages/ledgers/index.html +29 -32
  346. package/app/packages/manufacturing/index.html +29 -32
  347. package/app/packages/marketing/index.html +29 -32
  348. package/app/packages/messages/index.html +29 -32
  349. package/app/packages/places/index.html +29 -32
  350. package/app/packages/preferences/index.html +29 -32
  351. package/app/packages/products/index.html +29 -32
  352. package/app/packages/profiles/index.html +29 -32
  353. package/app/packages/projects/index.html +29 -32
  354. package/app/packages/properties/index.html +29 -32
  355. package/app/packages/reports/index.html +29 -32
  356. package/app/packages/sales/index.html +29 -32
  357. package/app/packages/sites/index.html +29 -32
  358. package/app/packages/social/index.html +29 -32
  359. package/app/packages/subscriptions/index.html +29 -32
  360. package/app/packages/support/index.html +29 -32
  361. package/app/packages/tags/index.html +29 -32
  362. package/app/packages/timesheets/index.html +29 -32
  363. package/app/packages/users/index.html +29 -32
  364. package/app/packages/video/index.html +29 -32
  365. package/app/packages/voice/index.html +29 -32
  366. package/app/packages/webhooks/index.html +29 -32
  367. package/app/recipes/account-access/help/index.html +31 -34
  368. package/app/recipes/account-access/index.html +34 -36
  369. package/app/recipes/activity/help/index.html +30 -33
  370. package/app/recipes/activity/index.html +34 -36
  371. package/app/recipes/agreements/help/index.html +30 -33
  372. package/app/recipes/agreements/index.html +34 -36
  373. package/app/recipes/analytics.reports/help/index.html +30 -33
  374. package/app/recipes/analytics.reports/index.html +34 -36
  375. package/app/recipes/assets/help/index.html +30 -33
  376. package/app/recipes/assets/index.html +34 -36
  377. package/app/recipes/billing/help/index.html +30 -33
  378. package/app/recipes/billing/index.html +34 -36
  379. package/app/recipes/chat.assistant/help/index.html +30 -33
  380. package/app/recipes/chat.assistant/index.html +34 -36
  381. package/app/recipes/comments/help/index.html +30 -33
  382. package/app/recipes/comments/index.html +34 -36
  383. package/app/recipes/commerce.customers/help/index.html +30 -33
  384. package/app/recipes/commerce.customers/index.html +34 -36
  385. package/app/recipes/commerce.estimates/help/index.html +30 -33
  386. package/app/recipes/commerce.estimates/index.html +34 -36
  387. package/app/recipes/commerce.purchases/help/index.html +30 -33
  388. package/app/recipes/commerce.purchases/index.html +34 -36
  389. package/app/recipes/commerce.sales/help/index.html +30 -33
  390. package/app/recipes/commerce.sales/index.html +34 -36
  391. package/app/recipes/commerce.vendors/help/index.html +30 -33
  392. package/app/recipes/commerce.vendors/index.html +34 -36
  393. package/app/recipes/commerce.wholesale/help/index.html +30 -33
  394. package/app/recipes/commerce.wholesale/index.html +34 -36
  395. package/app/recipes/events.calendar/help/index.html +30 -33
  396. package/app/recipes/events.calendar/index.html +34 -36
  397. package/app/recipes/expenses.tracking/help/index.html +30 -33
  398. package/app/recipes/expenses.tracking/index.html +34 -36
  399. package/app/recipes/fields.form-customization/help/index.html +30 -33
  400. package/app/recipes/fields.form-customization/index.html +34 -36
  401. package/app/recipes/ingestion/help/index.html +30 -33
  402. package/app/recipes/ingestion/index.html +34 -36
  403. package/app/recipes/integrations/help/index.html +30 -33
  404. package/app/recipes/integrations/index.html +34 -36
  405. package/app/recipes/inventory.stock/help/index.html +30 -33
  406. package/app/recipes/inventory.stock/index.html +34 -36
  407. package/app/recipes/ledgers.bookkeeping/help/index.html +30 -33
  408. package/app/recipes/ledgers.bookkeeping/index.html +34 -36
  409. package/app/recipes/messages/help/index.html +30 -33
  410. package/app/recipes/messages/index.html +34 -36
  411. package/app/recipes/products/help/index.html +30 -33
  412. package/app/recipes/products/index.html +34 -36
  413. package/app/recipes/projects.tracker/help/index.html +30 -33
  414. package/app/recipes/projects.tracker/index.html +34 -36
  415. package/app/recipes/reports.materialized/help/index.html +30 -33
  416. package/app/recipes/reports.materialized/index.html +34 -36
  417. package/app/recipes/reports.runtime/help/index.html +31 -34
  418. package/app/recipes/reports.runtime/index.html +35 -37
  419. package/app/recipes/sales.pipeline/help/index.html +30 -33
  420. package/app/recipes/sales.pipeline/index.html +34 -36
  421. package/app/recipes/tags.taxonomy/help/index.html +30 -33
  422. package/app/recipes/tags.taxonomy/index.html +34 -36
  423. package/app/recipes/team-collaboration/help/index.html +30 -33
  424. package/app/recipes/team-collaboration/index.html +34 -36
  425. package/app/recipes/timesheets.time-entries/help/index.html +30 -33
  426. package/app/recipes/timesheets.time-entries/index.html +34 -36
  427. package/app/s/custom-accounts/index.html +27 -30
  428. package/app/s/custom-appointments/index.html +27 -30
  429. package/app/s/custom-billing/index.html +27 -30
  430. package/app/s/custom-bookings/index.html +27 -30
  431. package/app/s/custom-buying/index.html +27 -30
  432. package/app/s/custom-checkout/index.html +27 -30
  433. package/app/s/custom-classes/index.html +27 -30
  434. package/app/s/custom-clients/index.html +27 -30
  435. package/app/s/custom-events/index.html +27 -30
  436. package/app/s/custom-fleet/index.html +27 -30
  437. package/app/s/custom-gigs/index.html +27 -30
  438. package/app/s/custom-giving/index.html +27 -30
  439. package/app/s/custom-instruments/index.html +27 -30
  440. package/app/s/custom-jobs/index.html +27 -30
  441. package/app/s/custom-kitchen/index.html +27 -30
  442. package/app/s/custom-lessons/index.html +27 -30
  443. package/app/s/custom-material/index.html +27 -30
  444. package/app/s/custom-meetings/index.html +27 -30
  445. package/app/s/custom-members/index.html +27 -30
  446. package/app/s/custom-merch/index.html +27 -30
  447. package/app/s/custom-money/index.html +27 -30
  448. package/app/s/custom-paint/index.html +27 -30
  449. package/app/s/custom-parts/index.html +27 -30
  450. package/app/s/custom-rentals/index.html +27 -30
  451. package/app/s/custom-roastery/index.html +27 -30
  452. package/app/s/custom-schedule/index.html +27 -30
  453. package/app/s/custom-shelf/index.html +27 -30
  454. package/app/s/custom-shop/index.html +27 -30
  455. package/app/s/custom-students/index.html +27 -30
  456. package/app/s/custom-wholesale/index.html +27 -30
  457. package/app/s/custom-work/index.html +27 -30
  458. package/app/s/custom-yard/index.html +27 -30
  459. package/app/s/section-access-control/index.html +27 -30
  460. package/app/s/section-account-security/index.html +27 -30
  461. package/app/s/section-accounting/index.html +27 -30
  462. package/app/s/section-activity/index.html +27 -30
  463. package/app/s/section-agreements/index.html +27 -30
  464. package/app/s/section-analytics/index.html +27 -30
  465. package/app/s/section-assets/index.html +27 -30
  466. package/app/s/section-billing/index.html +27 -30
  467. package/app/s/section-calendar/index.html +27 -30
  468. package/app/s/section-catalog/index.html +27 -30
  469. package/app/s/section-chat.assistant/index.html +27 -30
  470. package/app/s/section-comments/index.html +27 -30
  471. package/app/s/section-fields.form-customization/index.html +27 -30
  472. package/app/s/section-ingestion/index.html +27 -30
  473. package/app/s/section-integrations/index.html +27 -30
  474. package/app/s/section-messages/index.html +27 -30
  475. package/app/s/section-more/index.html +27 -30
  476. package/app/s/section-operations/index.html +27 -30
  477. package/app/s/section-projects/index.html +27 -30
  478. package/app/s/section-purchasing/index.html +27 -30
  479. package/app/s/section-reports.materialized/index.html +27 -30
  480. package/app/s/section-reports.runtime/index.html +27 -30
  481. package/app/s/section-sales/index.html +27 -30
  482. package/app/s/section-taxonomy/index.html +27 -30
  483. package/app/s/section-team/index.html +27 -30
  484. package/app/s/section-work/index.html +27 -30
  485. package/dist/assistant/change.d.ts +10 -1
  486. package/dist/assistant/change.d.ts.map +1 -1
  487. package/dist/assistant/change.js +6 -1
  488. package/dist/assistant/prompt.d.ts +10 -1
  489. package/dist/assistant/prompt.d.ts.map +1 -1
  490. package/dist/assistant/prompt.js +42 -7
  491. package/dist/assistant/session.svelte.d.ts +6 -0
  492. package/dist/assistant/session.svelte.d.ts.map +1 -1
  493. package/dist/assistant/session.svelte.js +6 -0
  494. package/dist/assistant/transport.d.ts +23 -3
  495. package/dist/assistant/transport.d.ts.map +1 -1
  496. package/dist/assistant/transport.js +356 -13
  497. package/dist/catalog/catalog.json +119 -41
  498. package/dist/components/BrowserAssistant.svelte +26 -0
  499. package/dist/components/BrowserAssistant.svelte.d.ts.map +1 -1
  500. package/dist/components/ModelPage.svelte +36 -4
  501. package/dist/components/ModelPage.svelte.d.ts.map +1 -1
  502. package/dist/components/PlannerReports.svelte +61 -0
  503. package/dist/components/PlannerReports.svelte.d.ts +10 -0
  504. package/dist/components/PlannerReports.svelte.d.ts.map +1 -0
  505. package/dist/components/PlannerSavedReportsWidget.svelte +38 -0
  506. package/dist/components/PlannerSavedReportsWidget.svelte.d.ts +9 -0
  507. package/dist/components/PlannerSavedReportsWidget.svelte.d.ts.map +1 -0
  508. package/dist/components/ReportProposalCard.svelte +63 -0
  509. package/dist/components/ReportProposalCard.svelte.d.ts +17 -0
  510. package/dist/components/ReportProposalCard.svelte.d.ts.map +1 -0
  511. package/dist/components/SectionOverview.svelte +22 -1
  512. package/dist/components/SectionOverview.svelte.d.ts.map +1 -1
  513. package/dist/core/prompt.d.ts.map +1 -1
  514. package/dist/core/prompt.js +7 -1
  515. package/dist/core/reply.d.ts +6 -0
  516. package/dist/core/reply.d.ts.map +1 -1
  517. package/dist/core/reply.js +11 -0
  518. package/dist/data/planner-source.d.ts.map +1 -1
  519. package/dist/data/planner-source.js +4 -1
  520. package/dist/overviews/definitions.d.ts.map +1 -1
  521. package/dist/overviews/definitions.js +6 -1
  522. package/dist/overviews/registry.d.ts.map +1 -1
  523. package/dist/overviews/registry.js +9 -5
  524. package/dist/planner/Planner.svelte +17 -0
  525. package/dist/planner/Planner.svelte.d.ts.map +1 -1
  526. package/dist/planner/instance.d.ts +6 -0
  527. package/dist/planner/instance.d.ts.map +1 -1
  528. package/dist/planner/shell.d.ts.map +1 -1
  529. package/dist/planner/shell.js +3 -1
  530. package/dist/reports/intent.d.ts +106 -0
  531. package/dist/reports/intent.d.ts.map +1 -0
  532. package/dist/reports/intent.js +667 -0
  533. package/dist/reports/planner.d.ts +33 -0
  534. package/dist/reports/planner.d.ts.map +1 -0
  535. package/dist/reports/planner.js +60 -0
  536. package/dist/reports/sources.d.ts +36 -0
  537. package/dist/reports/sources.d.ts.map +1 -0
  538. package/dist/reports/sources.js +125 -0
  539. package/dist/reports/store.d.ts +64 -0
  540. package/dist/reports/store.d.ts.map +1 -0
  541. package/dist/reports/store.js +214 -0
  542. package/dist/smrt-version.d.ts +1 -1
  543. package/dist/smrt-version.js +1 -1
  544. package/package.json +54 -54
  545. package/app/_app/immutable/assets/0.C8CwV4Fz.css +0 -1
  546. package/app/_app/immutable/assets/AppShell.DrL8T9I9.css +0 -1
  547. package/app/_app/immutable/assets/app.4ScdTV_S.css +0 -1
  548. package/app/_app/immutable/assets/labels.AVmg4hBz.css +0 -1
  549. package/app/_app/immutable/assets/state.CkVocVUJ.css +0 -1
  550. package/app/_app/immutable/chunks/B7d7dGCP.js +0 -1
  551. package/app/_app/immutable/chunks/C3nKLKKd.js +0 -1
  552. package/app/_app/immutable/chunks/CXKa_xdk.js +0 -4
  553. package/app/_app/immutable/chunks/CdBvpdnq.js +0 -4
  554. package/app/_app/immutable/chunks/D31rqKs1.js +0 -1
  555. package/app/_app/immutable/chunks/DBp81N-t.js +0 -24
  556. package/app/_app/immutable/chunks/DzRTyOpH.js +0 -1
  557. package/app/_app/immutable/chunks/GVQNHDp5.js +0 -1
  558. package/app/_app/immutable/chunks/M-CuJzQN.js +0 -1
  559. package/app/_app/immutable/chunks/ORlJSBRk.js +0 -1
  560. package/app/_app/immutable/chunks/gMSmS-_y.js +0 -2
  561. package/app/_app/immutable/chunks/jol435F5.js +0 -11
  562. package/app/_app/immutable/entry/app.C_C191oT.js +0 -2
  563. package/app/_app/immutable/entry/start.C01jT-Kj.js +0 -1
  564. package/app/_app/immutable/nodes/0._tbUx7Ky.js +0 -9
  565. package/app/_app/immutable/nodes/14.sDZ3z4Zh.js +0 -1
  566. package/app/_app/immutable/nodes/2.GYBHfqdI.js +0 -24
@@ -0,0 +1,24 @@
1
+ import{$ as e,A as t,B as n,C as r,Ct as i,Dt as a,E as o,Ft as s,G as c,H as l,J as u,K as d,L as f,M as p,Mt as m,Ot as h,Pt as g,S as _,T as v,U as y,W as b,X as x,Y as S,Z as C,_ as w,a as T,b as E,bt as D,ct as O,d as k,dt as A,ft as j,gt as M,ht as N,it as P,lt as F,mt as I,nt as L,pt as R,r as z,st as B,tt as V,ut as H,v as U,vt as W}from"../chunks/DG3qFFTE.js";import"../chunks/xihTtKlq.js";import{i as ee,o as G}from"../chunks/Bv5jGtB8.js";import{a as K}from"../chunks/YUSKx8_q.js";import{$ as te,Ct as ne,Q as re,St as ie,et as ae,i as oe,lt as se,p as q,t as ce,xt as le}from"../chunks/B45qMR8U.js";import{n as ue}from"../chunks/DK8Blf1Y.js";import{a as de,m as fe,w as pe}from"../chunks/BfeotTF9.js";import{n as me}from"../chunks/DF-0MxNw.js";import{t as he}from"../chunks/Ct5r3XV1.js";import{p as ge,u as _e}from"../chunks/DIE02RSm.js";import{f as ve,g as ye,o as be,p as xe}from"../chunks/DoGeTgSe.js";import{r as Se}from"../chunks/CUyVrfsu.js";import{a as Ce,b as we,i as J,n as Te,p as Ee,t as De,x as Y,y as X}from"../chunks/CsaWd8kG.js";import{a as Oe,d as ke,f as Ae,g as je,h as Me,i as Ne,m as Pe,o as Fe,p as Ie,u as Le,x as Re,y as ze}from"../chunks/DqrQeG8L.js";import"../chunks/C7boms_S.js";import{_ as Be,a as Ve,m as He,n as Z,s as Ue}from"../chunks/Ywu-998J.js";import{F as We,I as Ge,L as Ke,M as qe,P as Je,Q as Ye,R as Xe,b as Ze,d as Qe,j as $e,s as et,t as Q,tt,u as nt,x as rt}from"../chunks/nB-x9BEp.js";import{S as it,g as at,h as ot,m as st,v as ct}from"../chunks/D0m3WNVh.js";import{n as lt,r as ut,t as dt}from"../chunks/QJX7BlhI.js";import{n as ft,r as pt,t as mt}from"../chunks/D_U_DYjx.js";import{a as $,c as ht,d as gt,f as _t,l as vt,m as yt,o as bt,p as xt,r as St,s as Ct,t as wt,u as Tt}from"../chunks/C6HSENij.js";import{r as Et}from"../chunks/BMgzWMdF.js";import{t as Dt}from"../chunks/BlJ-05MM.js";import{n as Ot,s as kt,t as At}from"../chunks/DmvHEN1v.js";import{t as jt}from"../chunks/COQVmnKJ.js";var Mt={bread:[`M7 3h10a4 4 0 0 1 2.4 7.2L20 19a2 2 0 0 1-2 2H6a2 2 0 0 1-2-2l.6-8.8A4 4 0 0 1 7 3z`,`M9 13l1 3`,`M14 13l1 3`],car:[`M5 17a2 2 0 1 0 4 0a2 2 0 1 0-4 0`,`M15 17a2 2 0 1 0 4 0a2 2 0 1 0-4 0`,`M5 17h-2v-6l2-5h9l4 5h1a2 2 0 0 1 2 2v4h-2m-4 0h-6m-6-6h15m-6 0v-5`],flame:[`M12 12c2-2.96 0-7-1-8 0 3.038-1.773 4.741-3 6-1.226 1.26-2 3.24-2 5a6 6 0 1 0 12 0c0-1.532-1.056-3.94-2-5-1.786 3-2.791 3-4 2z`],yoga:[`M11 4a1 1 0 1 0 2 0a1 1 0 1 0-2 0`,`M4 20h4l1.5-3`,`M17 20l-1-5h-5l1-7`,`M4 10l4-1l4-1l4 1.5l4 1.5`],leaf:[`M5 21c.5-4.5 2.5-8 7-10`,`M9 18c6.218 0 10.5-3.288 11-12v-2h-4.014c-9 0-11.986 4-12 9c0 1 0 3 2 5h3z`],scissors:[`M6 7m-3 0a3 3 0 1 0 6 0a3 3 0 1 0-6 0`,`M6 17m-3 0a3 3 0 1 0 6 0a3 3 0 1 0-6 0`,`M8.6 8.6l10.4 10.4`,`M8.6 15.4l10.4-10.4`],coffee:[`M3 14c.83.642 2.077 1.017 3.5 1c1.423.017 2.67-.358 3.5-1c.83-.642 2.077-1.017 3.5-1c1.423-.017 2.67.358 3.5 1`,`M8 3a2.4 2.4 0 0 0-1 2a2.4 2.4 0 0 0 1 2`,`M12 3a2.4 2.4 0 0 0-1 2a2.4 2.4 0 0 0 1 2`,`M3 10h14v5a6 6 0 0 1-6 6h-2a6 6 0 0 1-6-6v-5z`,`M16.746 16.726a3 3 0 1 0 .252-5.555`],forklift:[`M5 17m-2 0a2 2 0 1 0 4 0a2 2 0 1 0-4 0`,`M13 17m-2 0a2 2 0 1 0 4 0a2 2 0 1 0-4 0`,`M7 17h4`,`M3 17v-6h13v6`,`M5 11v-4h4`,`M9 11v-6h4l3 6`,`M22 15h-3v-10`,`M16 13h3`],heart:[`M19.5 12.572l-7.5 7.428l-7.5-7.428a5 5 0 1 1 7.5-6.566a5 5 0 1 1 7.5 6.572`],pencil:[`M4 20h4l10.5-10.5a2.828 2.828 0 1 0-4-4l-10.5 10.5v4`,`M13.5 6.5l4 4`],tool:[`M7 10h3v-3l-3.5-3.5a6 6 0 0 1 8 8l6 6a2 2 0 0 1-3 3l-6-6a6 6 0 0 1-8-8l3.5 3.5`],bolt:[`M13 3v7h6l-8 11v-7H5l8-11`],brush:[`M3 21v-4a4 4 0 1 1 4 4h-4`,`M21 3a16 16 0 0 0-12.8 10.2`,`M21 3a16 16 0 0 1-10.2 12.8`,`M10.6 9a9 9 0 0 1 4.4 4.4`],home:[`M5 12H3l9-9l9 9h-2`,`M5 12v7a2 2 0 0 0 2 2h10a2 2 0 0 0 2-2v-7`,`M9 21v-6a2 2 0 0 1 2-2h2a2 2 0 0 1 2 2v6`],music:[`M3 17a3 3 0 1 0 6 0a3 3 0 0 0-6 0`,`M13 17a3 3 0 1 0 6 0a3 3 0 0 0-6 0`,`M9 17v-13h10v13`,`M9 8h10`],microphone:[`M15 12.9a5 5 0 1 0-3.902-3.9`,`M15 12.9l-3.902-3.899l-7.513 8.584a2 2 0 1 0 2.827 2.83l8.588-7.515z`]};K({"ui.audit.history":`Record history`,"ui.audit.list":`Audit trail`,"ui.audit.empty":`No audit entries.`,"ui.audit.loading":`Loading audit entries…`,"ui.audit.person":`Person ID`,"ui.audit.record":`Record ID`,"ui.audit.from":`From date`,"ui.audit.to":`To date`,"ui.audit.filter":`Apply filters`,"ui.audit.reason":`Reason: {reason}`,"ui.audit.behalf":`On behalf of {actor}`,"ui.audit.change":`{field}: {before} → {after}`}),K({"ui.notification_bell.label":`Notifications`,"ui.notification_bell.unread":`{count} unread`,"ui.notification_bell.mark_all":`Mark all read`,"ui.notification_bell.mark_one":`Mark read`,"ui.notification_bell.loading":`Loading notifications`,"ui.notification_bell.empty":`No notifications.`,"ui.notification_bell.unavailable":`Notifications are unavailable.`,"ui.notification_bell.mark_error":`Could not mark notifications read.`,"ui.notification_bell.live_error":`Live notifications are unavailable.`}),S([`keydown`]);var Nt=c(`<option>Per line</option> <option>Once per document</option>`,1),Pt=c(`<option></option>`),Ft=c(`<li class="svelte-1adyoey"><span class="name"> </span> <span class="rates svelte-1adyoey"> </span></li>`),It=c(`<div class="settings svelte-1adyoey"><div class="field svelte-1adyoey"><!> <!></div> <div class="percent svelte-1adyoey"><!> <span class="percent-sign svelte-1adyoey" aria-hidden="true">%</span></div> <div class="field svelte-1adyoey"><!> <!></div> <div class="field switch svelte-1adyoey"><!> <small class="svelte-1adyoey"> </small></div> <div class="field svelte-1adyoey"><!> <!> <datalist></datalist></div></div> <section class="tax-codes svelte-1adyoey"><h3 class="svelte-1adyoey">Tax codes</h3> <p class="meta svelte-1adyoey">New documents use <strong> </strong> </p> <ul class="svelte-1adyoey"></ul> <p class="meta svelte-1adyoey">The country codes are smrt’s examples; check they apply before using one.</p></section>`,1);function Lt(t,n){h(n,!0);let r=T(n,`idPrefix`,3,`app-settings`),o=[`Due on receipt`,`Net 15`,`Net 30`,`Net 60`,`50% deposit, balance on completion`],c=e=>n.onchange({...n.value,...e}),u=i(()=>ae(n.value.taxRate)),d=i(()=>[...te,...re].filter(t=>t.id!==e(u).id)),p=e=>e.components.map(e=>e.name).join(` + `)||`No tax, reported as ${e.kind.replace(/-/g,` `)}`;var m=It(),_=R(m),v=j(_),b=j(v);Y(b,{get for(){return`${r()??``}-currency`},label:`Currency`});var x=N(b,2);X(x,{get id(){return`${r()??``}-currency`},get value(){return n.value.currency},onchange:e=>c({currency:e.currentTarget.value})}),s(v);var S=N(v,2),C=j(S);{let t=i(()=>At(n.value.taxRate));kt(C,{get name(){return`${r()??``}-tax-rate`},label:`Default tax rate`,min:0,step:.01,get value(){return e(t)},onchange:e=>c({taxRate:Ot(e)??0})})}g(2),s(S);var w=N(S,2),E=j(w);Y(E,{get for(){return`${r()??``}-rounding`},label:`Tax rounding`});var D=N(E,2);we(D,{get id(){return`${r()??``}-rounding`},get value(){return n.value.taxRounding},onchange:e=>c({taxRounding:e.currentTarget.value}),children:(e,t)=>{var n=Nt(),r=R(n);r.value=r.__value=`line`;var i=N(r,2);i.value=i.__value=`document`,y(e,n)},$$slots:{default:!0}}),s(w);var O=N(w,2),k=j(O);J(k,{get checked(){return n.value.pricesIncludeTax},onchange:e=>c({pricesIncludeTax:e.currentTarget.checked}),label:`Prices include tax`});var A=N(k,2),M=I(A,!0);s(O);var P=N(O,2),F=j(P);Y(F,{get for(){return`${r()??``}-terms`},label:`Default payment terms`});var L=N(F,2);me(L,{get id(){return`${r()??``}-terms`},type:`text`,get list(){return`${r()??``}-terms-options`},autocomplete:`off`,placeholder:`Not set`,get value(){return n.value.paymentTerms},oninput:e=>c({paymentTerms:e.currentTarget.value})});var z=N(L,2);f(z,20,()=>o,e=>e,(e,t)=>{var n=Pt(),r={};B(()=>{r!==(r=t)&&(n.value=(n.__value=r)??``)}),y(e,n)}),s(z),s(P),s(_);var V=N(_,2),H=j(V),W=N(H,2),ee=N(j(W)),G=I(ee,!0),K=N(ee);s(W);var ne=N(W,2);f(ne,21,()=>e(d),e=>e.id,(t,n)=>{var r=Ft(),i=j(r),a=I(i,!0),o=N(i,2),c=I(o,!0);s(r),B(t=>{U(r,`data-tax-code`,e(n).code),l(a,e(n).name),l(c,t)},[()=>p(e(n))]),y(t,r)}),s(ne),g(2),s(V),B(t=>{l(M,n.value.pricesIncludeTax?`A line’s amount is what the customer pays; tax is part of it.`:`Tax is added on top of each line’s amount.`),U(z,`id`,`${r()??``}-terms-options`),U(V,`aria-labelledby`,`${r()??``}-tax-codes`),U(H,`id`,`${r()??``}-tax-codes`),l(G,e(u).name),l(K,` (${t??``}),
2
+ from the default tax rate. A line can choose another code; an exempt
3
+ customer pays none.`)},[()=>p(e(u))]),y(t,m),a()}var Rt=d(`<path></path>`),zt=c(`<span class="badge svelte-mzas8k">In use</span>`),Bt=c(`<li><button type="button" class="card svelte-mzas8k"><span class="heading svelte-mzas8k"><svg class="icon svelte-mzas8k" viewBox="0 0 24 24" width="28" height="28" fill="none" stroke="currentColor" stroke-width="1.75" stroke-linecap="round" stroke-linejoin="round" aria-hidden="true"></svg> <span class="name svelte-mzas8k"> </span></span> <span class="summary svelte-mzas8k"> </span> <!></button></li>`),Vt=c(`<ul class="grid svelte-mzas8k" aria-label="Cookbooks"></ul>`),Ht=c(`<span aria-hidden="true">←</span> Back to cookbooks`,1),Ut=c(`<li class="svelte-mzas8k"> </li>`),Wt=c(`<li> </li>`),Gt=c(`<div><h4 class="svelte-mzas8k"> </h4> <ul class="svelte-mzas8k"></ul></div>`),Kt=c(`<section class="preview svelte-mzas8k" aria-labelledby="preview-heading"><div class="back svelte-mzas8k"><!></div> <h2 id="preview-heading" tabindex="-1" class="svelte-mzas8k"> </h2> <p class="summary svelte-mzas8k"> </p> <div class="block svelte-mzas8k"><h3 class="svelte-mzas8k">Recipes</h3> <ul class="chips svelte-mzas8k" aria-label="Recipes"></ul></div> <div class="block svelte-mzas8k"><h3 class="svelte-mzas8k">Menu</h3> <div class="menu svelte-mzas8k"></div></div> <div class="block svelte-mzas8k"><h3 class="svelte-mzas8k">Settings</h3> <!></div> <div class="actions svelte-mzas8k"><!> <span class="meta svelte-mzas8k">Replaces your current recipes, menu and sample records.</span></div></section>`),qt=c(`<div class="cookbooks svelte-mzas8k"><!> <p class="meta svelte-mzas8k">A cookbook is a ready-made starting point: the recipes, menu and settings a
4
+ kind of business usually needs. Pick one, look it over, then change
5
+ anything in the other tabs.</p> <div class="swap svelte-mzas8k"><!></div> <!></div> <!>`,1);function Jt(t,r){h(r,!0);let o=pt(),c=pe(),d=D(!1),p=D(``),_=D(``);z(()=>{ct.load()});let v=i(()=>lt.find(e=>e.id===St.open)),b=D(null),S=D(null),C;O(()=>{let t=e(v)?.id??null,n=C===void 0,r=C!==t;C=t,!n&&r&&V().then(()=>{if(t){e(S)?.scrollIntoView({block:`nearest`}),e(S)?.focus({preventScroll:!0});return}let n=e(b)?.querySelector(`[data-cookbook="${St.returnTo??``}"]`);n?.scrollIntoView({block:`nearest`}),n?.focus({preventScroll:!0})})});function w(e){W(_,``),W(p,``),St.show(e.id)}function T(){St.back()}function E(t){t.key!==`Escape`||t.defaultPrevented||e(d)||(t.preventDefault(),T())}let A=D(M(et(void 0)));O(()=>{W(A,et(e(v)?.settings),!0)});let P=e=>ct.active===e.id&&xt(e,{recipes:Q.ids,features:Q.features});function F(){e(v)&&(yt(Z)?W(d,!0):L())}function L(){if(W(d,!1),!e(v))return;let t=_t(e(v),Z,m(e(A)));if(t.ok){o.reset?.(),W(p,``);let t=gt(e(v).document).length;W(_,`${e(v).name} added ${t} menu sections. Explore them in the left sidebar.`),c?.setPanelState(`left`,`expanded`)}else W(p,t.error,!0),W(_,``)}var H=qt(),K=R(H),te=j(K),ne=t=>{G(t,{variant:`success`,title:`Cookbook applied`,children:(t,n)=>{g();var r=u();B(()=>l(r,e(_))),y(t,r)},$$slots:{default:!0}})};n(te,t=>{e(_)&&t(ne)});var re=N(te,4),ie=j(re),ae=t=>{var r=Vt();f(r,21,()=>lt,e=>e.id,(t,r)=>{let a=i(()=>P(e(r)));var o=Bt(),c=j(o),u=j(c),d=j(u);f(d,20,()=>Mt[e(r).icon]??[],e=>e,(e,t)=>{var n=Rt();B(()=>U(n,`d`,t)),y(e,n)}),s(d);var p=N(d,2),m=I(p,!0);s(u);var h=N(u,2),g=I(h,!0),_=N(h,2),v=e=>{var t=zt();y(e,t)};n(_,t=>{e(a)&&t(v)}),s(c),s(o),B(()=>{U(c,`data-cookbook`,e(r).id),l(m,e(r).name),l(g,e(r).summary)}),x(`click`,c,()=>w(e(r))),y(t,o)}),s(r),k(r,e=>W(b,e),()=>e(b)),y(t,r)},oe=t=>{let n=i(()=>gt(e(v).document));var r=Kt(),a=j(r),o=j(a);ue(o,{variant:`ghost`,onclick:T,children:(e,t)=>{var n=Ht();g(),y(e,n)},$$slots:{default:!0}}),s(a);var c=N(a,2),d=I(c,!0);k(c,e=>W(S,e),()=>e(S));var p=N(c,2),m=I(p,!0),h=N(p,2),_=N(j(h),2);f(_,20,()=>ut(e(v)),e=>e,(e,t)=>{var n=Ut(),r=I(n,!0);B(()=>l(r,t)),y(e,n)}),s(_),s(h);var b=N(h,2),C=N(j(b),2);f(C,21,()=>e(n),e=>e.id,(t,n)=>{var r=Gt(),i=j(r),a=I(i,!0),o=N(i,2);f(o,21,()=>e(n).entries,e=>e.id,(t,n)=>{var r=Wt(),i=I(r,!0);B(()=>l(i,e(n).label)),y(t,r)}),s(o),s(r),B(()=>l(a,e(n).label)),y(t,r)}),s(C),s(b);var w=N(b,2);Lt(N(j(w),2),{get value(){return e(A)},onchange:e=>W(A,e,!0),idPrefix:`cookbook-settings`}),s(w);var D=N(w,2),O=j(D);ue(O,{onclick:F,children:(e,t)=>{g();var n=u(`Use this cookbook`);y(e,n)},$$slots:{default:!0}}),g(2),s(D),s(r),B(()=>{U(r,`data-cookbook-detail`,e(v).id),l(d,e(v).name),l(m,e(v).summary)}),x(`keydown`,r,E),y(t,r)};n(ie,t=>{e(v)?t(oe,-1):t(ae)}),s(re);var se=N(re,2),q=t=>{G(t,{variant:`error`,title:`Could not use this cookbook`,children:(t,n)=>{g();var r=u();B(()=>l(r,e(p))),y(t,r)},$$slots:{default:!0}})};n(se,t=>{e(p)&&t(q)}),s(K);var ce=N(K,2);{let t=i(()=>e(v)?`Use the ${e(v).name} cookbook?`:`Use this cookbook?`);ee(ce,{get open(){return e(d)},get title(){return e(t)},message:`Replaces your current recipes, menu and sample records.`,confirmLabel:`Replace`,destructive:!0,onconfirm:L,oncancel:()=>W(d,!1)})}y(t,H),a()}S([`click`,`keydown`]);var Yt=(e,t,n=`${t}s`)=>`${e} ${e===1?t:n}`,Xt=new Map(Xe(Ze).map(e=>[e.id,e.label]));function Zt(e){return q(e.slice(e.lastIndexOf(`:`)+1))}function Qt(e){let t=new Map;for(let n of e){let e=Zt(n.objectRef),r=t.get(e)??[],i=q(n.fieldName).toLowerCase();r.includes(i)||r.push(i),t.set(e,r)}return[...t].map(([e,t])=>`${e}: ${t.join(`, `)}`)}function $t(e){let t=[];e.custom?t.push(`brand colour ${e.custom.primary}`):e.preset&&e.preset!==`glass`&&t.push(`${xe(e.preset)?ve(e.preset):e.preset} preset`),e.colorScheme&&e.colorScheme!==`system`&&t.push(`${e.colorScheme} scheme`);let n=e.fontFamily??e.custom?.fontFamily;return n&&t.push(`${n} font`),e.borderRadius&&t.push(`${e.borderRadius} corners`),e.density===`touch`&&t.push(`touch density`),e.contrast&&e.contrast!==`auto`&&t.push(`${e.contrast} contrast`),e.customCss?.trim()&&t.push(`custom CSS`),t}function en(e){let t=[],n=e.customSections??[];if(n.length){let e=n.map(e=>e.label).filter(Boolean);t.push(`${Yt(n.length,`custom section`)}${e.length&&e.length<=4?` (${e.join(`, `)})`:``}`)}let r=e.hidden?.length??0;r&&t.push(`${r} hidden`);let i=Object.values(e.items??{}).filter(e=>e.label).length+Object.values(e.sections??{}).filter(e=>e.label||e.icon||e.showTitle===!1).length;i&&t.push(`${i} renamed or restyled`);let a=Object.keys(e.moved??{}).length;a&&t.push(`${a} moved`),(e.sectionOrder?.length||Object.keys(e.itemOrder??{}).length)&&t.push(`reordered`);let o=Object.keys(e.placements??{}).length;return o&&t.push(`${Yt(o,`shell item`)} placed`),Object.keys(e.panels??{}).length&&t.push(`panel settings`),t}function tn(e,t){if(e===`section:${$e.id}`)return $e.label;if(e.startsWith(`section:`)){let n=e.slice(8);return t?.sections?.[e]?.label??Xt.get(n)??q(n)}if(e.startsWith(`custom:`))return t?.customSections?.find(t=>t.id===e)?.label??q(e.slice(7));if(e.startsWith(`detail:`)){let t=e.slice(e.lastIndexOf(`.`)+1);return`${q(t)} record`}return q(e)}function nn(e){let t=[];e.recipes.length&&t.push({id:`recipes`,label:Yt(e.recipes.length,`recipe`),chips:e.recipes.map(e=>rt.get(e)?.label??e)}),e.features.length&&t.push({id:`features`,label:Yt(e.features.length,`feature`),chips:e.features.map(Zt)}),e.policies.length&&t.push({id:`options`,label:Yt(e.policies.length,`saved option`),chips:Qt(e.policies)});let n=Object.entries(e.exposure??{}).filter(([,e])=>e.length);n.length&&t.push({id:`exposure`,label:`Surfaces switched off`,chips:n.map(([e,t])=>`${Zt(e)}: ${t.join(`, `)}`)});let r=e.theme?$t(e.theme):[];r.length&&t.push({id:`theme`,label:`Theme`,text:r.join(`, `)});let i=e.layout?en(e.layout):[];i.length&&t.push({id:`layout`,label:`Layout`,text:i.join(`, `)});let a=Object.keys(e.overviews??{});return a.length&&t.push({id:`pages`,label:Yt(a.length,`customised page`),chips:a.map(t=>tn(t,e.layout))}),t}function rn(e){let t=nn(e);if(!t.length)return`an empty cookbook`;let n=t.map(e=>e.id===`theme`?`a theme`:e.id===`layout`?`a layout`:e.id===`exposure`?`narrowed surfaces`:e.label);return n.length===1?n[0]:`${n.slice(0,-1).join(`, `)} and ${n.at(-1)}`}var an=`0.57.8`,on=`Node 26 or newer`,sn=`pnpm 11`,cn=`cookbook.json`,ln=`COOKBOOK_EOF`;function un(e=an){return`npx -y @happyvertical/smrt-cli@${e}`}function dn(e,t){return Me(e.name)||Me(t)||`my-app`}function fn(e,t,n=an){return`${un(n)} cookbook apply ${e} ${t}`}function pn(e,t=ln){let n=new Set(e.split(`
6
+ `)),r=t;for(let e=1;n.has(r);e++)r=`${t}_${e}`;return r}function mn(e,t={}){let n=t.version??`0.57.8`,r=dn(e,t.fallbackName),i=JSON.stringify(e),a=pn(i),o=un(n),s=[`Create a new s-m-r-t app from the cookbook below. Work in a new, empty directory outside any existing project, run the steps in order, and when you finish report what you ran and what happened, including anything that failed.`,``,`1. Prerequisites: ${on} (\`node --version\`), git, and ${sn} or newer (\`npm install -g pnpm\` if missing).`,``,`2. Write the cookbook exactly as given, without reformatting or editing it:`,``,`cat > ${cn} <<'${a}'\n${i}\n${a}`,``,`3. Validate it, then create the app in ./${r}:`,``,`${o} cookbook validate ${cn}`,`${o} cookbook apply ${cn} ${r}`,``,`4. Set it up (in a subshell, so the commands below still run from this directory):`,``,`(cd ${r} && pnpm exec smrt app install)`,``,`If any step fails, run \`pnpm exec smrt app doctor\` inside ${r} and include its findings in your report. Do not hand-edit the app's smrt.cookbook.json: change ${cn} and run \`${o} cookbook apply ${cn} --into ${r}\` instead.`,``].join(`
7
+ `);return{text:s,bytes:new TextEncoder().encode(s).length,appName:r,version:n,delimiter:a}}function hn(t,n){h(n,!0);let r=T(n,`copiedLabel`,3,`Copied`),i=T(n,`variant`,3,`primary`),o=T(n,`confirmFor`,3,2e3),s=D(!1),c;async function d(){let e=typeof n.text==`function`?n.text():n.text,t=n.write??(typeof navigator<`u`&&navigator.clipboard?e=>navigator.clipboard.writeText(e):void 0);try{if(!t)throw Error(`no clipboard`);await t(e)}catch{W(s,!1),n.onfail?.();return}W(s,!0),n.oncopied?.(),clearTimeout(c),c=setTimeout(()=>W(s,!1),o())}ue(t,{get variant(){return i()},onclick:d,"aria-live":`polite`,get"aria-describedby"(){return n[`aria-describedby`]},children:(t,i)=>{g();var a=u();B(()=>l(a,e(s)?r():n.label)),y(t,a)},$$slots:{default:!0}}),a()}var gn=c(`<li><!></li>`),_n=c(`<ul class="chips svelte-17nkvtk"></ul>`),vn=c(`<dt class="svelte-17nkvtk"> </dt> <dd class="svelte-17nkvtk"><!></dd>`,1),yn=c(`<dl class="summary svelte-17nkvtk"></dl>`),bn=c(`<p class="quiet svelte-17nkvtk">Nothing customised yet. Add recipes or apply a cookbook first.</p>`),xn=c(`<pre class="json svelte-17nkvtk"> </pre>`),Sn=c(`The kitchen is running, but this page was opened without its one-time
8
+ token. Open the address <code class="svelte-17nkvtk">smrt kitchen</code> printed (it ends in <code class="svelte-17nkvtk">#kitchen=…</code>), or download the cookbook and run <code class="svelte-17nkvtk">smrt cookbook apply</code> on the file.`,1),Cn=c(`This version of <code class="svelte-17nkvtk">smrt kitchen</code> puts its one-time token in a
9
+ file other programs on this computer can read, so the planner does not
10
+ use it. Update the <code class="svelte-17nkvtk">smrt</code> CLI, or download the cookbook and run <code class="svelte-17nkvtk">smrt cookbook apply</code> on the file.`,1),wn=c(`<li><code class="svelte-17nkvtk"> </code></li>`),Tn=c(`Next, in your terminal: <ul></ul>`,1),En=c(` <!>`,1),Dn=c(`<li> </li>`),On=c(`<ul></ul>`),kn=c(`<div class="kitchen" role="status" aria-live="polite"><!></div>`),An=c(`<div class="export svelte-17nkvtk"><p class="meta svelte-17nkvtk">Your recipes, their options, the theme, the layout and customised pages,
11
+ kept together in this browser as one cookbook. Sample records are not part
12
+ of it.</p> <section class="block svelte-17nkvtk" aria-labelledby="summary-heading" data-export-section="summary"><h2 id="summary-heading" class="svelte-17nkvtk">In this cookbook</h2> <!></section> <section class="block svelte-17nkvtk" aria-labelledby="prompt-heading" data-export-section="prompt"><h2 id="prompt-heading" class="svelte-17nkvtk">Copy prompt for your coding agent</h2> <p class="meta svelte-17nkvtk" id="prompt-note">Paste it into Claude Code, Codex or another coding agent. The prompt
13
+ carries the cookbook, creates the app <code class="svelte-17nkvtk"> </code> </p> <!> <div class="actions svelte-17nkvtk" data-export-actions="primary"><!> <!> <!></div> <p class="notice svelte-17nkvtk" role="status" aria-live="polite"> </p></section> <section class="block svelte-17nkvtk" aria-labelledby="file-heading" data-export-section="file"><h2 id="file-heading" class="svelte-17nkvtk">The downloaded file</h2> <p class="meta svelte-17nkvtk">Download writes <code class="svelte-17nkvtk"> </code> </p> <div class="command svelte-17nkvtk"><code data-export-command="" class="svelte-17nkvtk"> </code> <!></div> <!></section> <!> <!> <!> <section class="block replace svelte-17nkvtk" aria-labelledby="replace-heading" data-export-section="replace"><h2 id="replace-heading" class="svelte-17nkvtk">Replace or start over</h2> <p class="meta svelte-17nkvtk">Both replace everything listed above; download a copy first to keep it.</p> <div class="actions svelte-17nkvtk" data-export-actions="replace"><!> <!></div> <p class="meta svelte-17nkvtk">Import swaps this cookbook for one from a file. Reset empties it and
14
+ removes the sample records you added or changed.</p> <input type="file" accept="application/json,.json" hidden="" aria-label="Cookbook file"/> <!> <p class="notice svelte-17nkvtk" role="status" aria-live="polite"> </p></section></div> <!> <!>`,1);function jn(t,r){h(r,!0);let o=D(void 0),c=D(void 0),d=D(void 0),p=D(null),m=D(M([])),_=D(``),v=D(``),b=D(``),S=D(!1),C=i(()=>dt(ct.active??``)?.name),w=i(()=>Z.snapshot()),T=i(()=>nn(e(w))),E=i(()=>ke(e(w).name??e(C))),O=i(()=>Ie(Ae(e(w)))),A=i(()=>dn(e(w),e(C))),P=i(()=>mn(e(w),{fallbackName:e(C)})),F=i(()=>fn(e(E),e(A))),L=`Copying is not available here. The text is selected: press Ctrl+C (Cmd+C on a Mac) to copy it.`;function z(){let t=e(c)?.getElement();t?.focus(),t?.select(),W(b,L)}function V(){if(e(d)){let t=window.getSelection();t?.removeAllRanges(),t?.selectAllChildren(e(d))}W(b,L)}async function H(e){let t=e.currentTarget,n=t.files?.[0];if(W(_,``),W(v,``),n){try{let e=Ue(await n.text());e.ok?(W(p,e.cookbook,!0),W(m,e.dropped??[],!0)):W(_,e.error,!0)}catch{W(_,`The file could not be read.`)}t.value=``}}function U(){e(p)&&(Z.replace(e(p)),W(v,`Imported ${rn(e(p))}.${e(m).length?` Not imported: ${e(m).join(` `)}`:``}`)),W(p,null),W(m,[],!0)}let K=pt();function te(){Z.reset(),K.reset?.(),W(S,!1),Z.flush(),location.reload()}var ne=An(),re=R(ne),ae=N(j(re),2),oe=N(j(ae),2),se=t=>{var r=yn();f(r,21,()=>e(T),e=>e.id,(t,r)=>{var i=vn(),a=R(i),o=I(a,!0),c=N(a,2),d=j(c),p=t=>{var n=_n();f(n,23,()=>e(r).chips,(e,t)=>`${e}:${t}`,(t,n)=>{var r=gn(),i=j(r);ie(i,{get label(){return e(n)},size:`sm`}),s(r),y(t,r)}),s(n),y(t,n)},m=t=>{var n=u();B(()=>l(n,e(r).text)),y(t,n)};n(d,t=>{e(r).chips?t(p):t(m,-1)}),s(c),B(()=>l(o,e(r).label)),y(t,i)}),s(r),y(t,r)},q=e=>{var t=bn();y(e,t)};n(oe,t=>{e(T).length?t(se):t(q,-1)}),s(ae);var ce=N(ae,2),de=N(j(ce),2),fe=N(j(de)),pe=I(fe,!0),me=N(fe);s(de);var he=N(de,2);k(Te(he,{class:`prompt`,get value(){return e(P).text},readonly:!0,rows:10,spellcheck:!1,wrap:`soft`,"aria-label":`Prompt for your coding agent`,"aria-describedby":`prompt-note`,interaction:!1}),e=>W(c,e,!0),()=>e(c));var ge=N(he,2),_e=j(ge);hn(_e,{text:()=>e(P).text,label:`Copy prompt`,get write(){return r.write},oncopied:()=>W(b,`Prompt copied.`),onfail:z});var ve=N(_e,2),ye=t=>{{let n=i(()=>$.status===`sending`);ue(t,{variant:`secondary`,get disabled(){return e(n)},onclick:()=>$.send(Z.snapshot()),children:(e,t)=>{g();var n=u();B(()=>l(n,$.status===`sending`?`Sending to kitchen…`:`Send to kitchen`)),y(e,n)},$$slots:{default:!0}})}};n(ve,e=>{$.config&&e(ye)});var be=N(ve,2);ue(be,{variant:`secondary`,onclick:()=>Le(e(w),e(w).name??e(C)),children:(e,t)=>{g();var n=u(`Download cookbook`);y(e,n)},$$slots:{default:!0}}),s(ge);var xe=N(ge,2),Se=I(xe,!0);s(ce);var Ce=N(ce,2),we=N(j(Ce),2),J=N(j(we)),Ee=I(J,!0),De=N(J);s(we);var Y=N(we,2),X=j(Y),Oe=I(X,!0);k(X,e=>W(d,e),()=>e(d)),hn(N(X,2),{text:()=>e(F),label:`Copy command`,variant:`secondary`,get write(){return r.write},oncopied:()=>W(b,`Command copied.`),onfail:V}),s(Y);var je=N(Y,2);le(je,{title:`Preview JSON`,children:(t,n)=>{var r=xn(),i=I(r,!0);B(e=>l(i,e),[()=>Pe(e(w))]),y(t,r)},$$slots:{default:!0}}),s(Ce);var Me=N(Ce,2),Ne=e=>{G(e,{variant:`info`,title:`Send to kitchen needs its link`,children:(e,t)=>{g();var n=Sn();g(6),y(e,n)},$$slots:{default:!0}})};n(Me,e=>{$.needsLink&&e(Ne)});var Fe=N(Me,2),Re=e=>{G(e,{variant:`warning`,title:`Send to kitchen is off`,children:(e,t)=>{g();var n=Cn();g(6),y(e,n)},$$slots:{default:!0}})};n(Fe,e=>{$.tokenInConfig&&e(Re)});var ze=N(Fe,2),Be=e=>{var t=kn(),r=j(t),i=e=>{G(e,{variant:`success`,title:`Sent to the kitchen`,children:(e,t)=>{g();var r=En(),i=R(r),a=N(i),o=e=>{var t=Tn(),n=N(R(t));f(n,20,()=>$.outcome.result.nextSteps,e=>e,(e,t)=>{var n=wn(),r=j(n),i=I(r,!0);s(n),B(()=>l(i,t)),y(e,n)}),s(n),y(e,t)};n(a,e=>{$.outcome.result.nextSteps.length&&e(o)}),B(()=>l(i,`${$.outcome.result.mode===`update`?`Updated`:`Created`} the project${$.outcome.result.dir?` in ${$.outcome.result.dir}`:``}. `)),y(e,r)},$$slots:{default:!0}})},a=e=>{G(e,{variant:`error`,title:`The kitchen could not use this cookbook`,children:(e,t)=>{var n=On();f(n,20,()=>$.outcome.errors,e=>e,(e,t)=>{var n=Dn(),r=I(n,!0);B(()=>l(r,t)),y(e,n)}),s(n),y(e,n)},$$slots:{default:!0}})};n(r,e=>{$.outcome.ok?e(i):e(a,-1)}),s(t),y(e,t)};n(ze,e=>{$.outcome&&e(Be)});var Ve=N(ze,2),He=N(j(Ve),4),We=j(He);ue(We,{variant:`secondary`,onclick:()=>e(o)?.click(),children:(e,t)=>{g();var n=u(`Import cookbook…`);y(e,n)},$$slots:{default:!0}});var Ge=N(We,2);ue(Ge,{variant:`ghost`,onclick:()=>W(S,!0),children:(e,t)=>{g();var n=u(`Reset`);y(e,n)},$$slots:{default:!0}}),s(He);var Ke=N(He,4);k(Ke,e=>W(o,e),()=>e(o));var qe=N(Ke,2),Je=t=>{G(t,{variant:`error`,title:`Import failed`,children:(t,n)=>{g();var r=u();B(()=>l(r,e(_))),y(t,r)},$$slots:{default:!0}})};n(qe,t=>{e(_)&&t(Je)});var Ye=N(qe,2),Xe=I(Ye,!0);s(Ve),s(re);var Ze=N(re,2);{let t=i(()=>e(p)!==null),n=i(()=>e(p)?`Importing replaces ${rn(e(w))} with ${rn(e(p))}.`:``);ee(Ze,{get open(){return e(t)},title:`Replace the current cookbook?`,get message(){return e(n)},confirmLabel:`Replace`,destructive:!0,onconfirm:U,oncancel:()=>W(p,null)})}var Qe=N(Ze,2);ee(Qe,{get open(){return e(S)},title:`Reset the cookbook?`,message:`This removes every recipe, saved option, theme and layout change, and the sample records you added or changed. Download a copy first to keep it.`,confirmLabel:`Reset`,destructive:!0,onconfirm:te,oncancel:()=>W(S,!1)}),B(t=>{l(pe,e(A)),l(me,` with the smrt CLI ${e(P).version??``} and
15
+ starts it. About ${t??``}.`),l(Se,e(b)),l(Ee,e(E)),l(De,` (${e(O)??``}). To make the app from
16
+ it yourself, run this where the file is:`),l(Oe,e(F)),l(Xe,e(v))},[()=>Ie(e(P).bytes)]),x(`change`,Ke,H),y(t,ne),a()}S([`change`]);var Mn={"header.start":`header, left side`,"header.center":`header, middle`,"header.end":`header, right side`,"footer.start":`footer, left side`,"footer.center":`footer, middle`,"footer.end":`footer, right side`,"leftSidebar.header":`left sidebar, top`,"leftSidebar.footer":`left sidebar, bottom`,"rightSidebar.header":`right sidebar, top`,"rightSidebar.footer":`right sidebar, bottom`},Nn={llm:`Language model`,email:`Email`,oauth:`Sign-in (OAuth)`,storage:`File storage`,sms:`Text messages`,payments:`Payments`},Pn={openai:`OpenAI`,anthropic:`Anthropic`,gemini:`Gemini`,webllm:`WebLLM`,bitgpu:`BitGPU`,smtp:`SMTP`,imap:`IMAP`,s3:`S3`,github:`GitHub`};function Fn(e){return Pn[e]??q(e)}function In(e,t=`or`){let n=e.map(Fn);return n.length<=1?n.join(``):n.length===2?`${n[0]} ${t} ${n[1]}`:`${n.slice(0,-1).join(`, `)} ${t} ${n[n.length-1]}`}function Ln(e){switch(e.kind){case`shell-widget`:return{kind:e.kind,kindLabel:`Shell widget`,label:e.label,where:Mn[e.slot]??q(e.slot)};case`route`:return{kind:e.kind,kindLabel:`Page`,label:e.label,where:e.path};case`settings-panel`:return{kind:e.kind,kindLabel:`Settings panel`,label:e.label};case`playground`:return{kind:e.kind,kindLabel:`Playground`,label:e.label??`Try it`};case`widget`:return{kind:e.kind,kindLabel:`Overview widget`,label:e.label}}}function Rn(e){return{id:e.id,kind:e.kind,kindLabel:Nn[e.kind]??q(e.kind),required:e.required,options:e.options,browserOptions:e.browserOptions??[],secrets:e.secrets??[]}}function zn(e){let t=e.nav.map(e=>({kind:`menu`,kindLabel:`List and form`,label:e.label})),n=(e.surfaces??[]).map(Ln),r=[...t,...n];return r.length>0?r:[{kind:`data`,kindLabel:`Records only`,label:`${e.models.length} ${e.models.length===1?`model`:`models`}, no screens of their own`}]}function Bn(e,t){return e.group?{id:`group:${e.group.id}`,label:e.group.label,...e.group.summary?{summary:e.group.summary}:{}}:{id:`package:${t}`,label:q(t)}}function Vn(e,t){let n=new Map;for(let e of t)for(let t of e.recipes??[])n.set(t.id,e);let r=e=>n.get(e.id)??t.find(t=>t.models.some(t=>t.id===e.models[0]));return e.map(e=>{let t=r(e),n=t?.id??e.id.split(`.`)[0],i=vt(e),a=ht(i);return{recipe:e,id:e.id,label:e.label,summary:e.summary,group:Bn(e,n),packageId:n,demo:a,ownMode:e.demo&&i&&e.demo.mode!==i.mode?e.demo.mode:void 0,packageNote:Ct(t?.browser),providers:(e.providers??[]).map(Rn),gets:zn(e),requires:e.requires,runtime:e.runtime}})}function Hn(e){let t=new Map;for(let n of e){let e=t.get(n.group.id);e?!e.summary&&n.group.summary&&t.set(n.group.id,{...e,summary:n.group.summary}):t.set(n.group.id,n.group)}return[...t.values()].sort((e,t)=>e.label.localeCompare(t.label))}function Un(e,t,n){let r=t.toLowerCase().split(/\s+/).filter(Boolean);return e.filter(e=>{if(n&&e.group.id!==n)return!1;if(r.length===0)return!0;let t=[e.label,e.summary,e.id,e.group.label,e.packageId,...e.recipe.synonyms,...e.gets.flatMap(e=>[e.kindLabel,e.label,e.where??``]),...e.providers.flatMap(e=>[e.kindLabel,...e.options]),e.demo?.label??``].join(` `).toLowerCase();return r.every(e=>t.includes(e))})}function Wn(e){return Hn(e).map(t=>({group:t,cards:e.filter(e=>e.group.id===t.id)}))}function Gn(e,t,n){let r=new Set(Qe(t,n));return Qe([...t,e],n).filter(t=>t!==e&&!r.has(t))}var Kn=c(`<span class="meta where svelte-1tvhds4"> </span>`),qn=c(`<li><span class="kind svelte-1tvhds4"> </span> <!></li>`),Jn=c(`<span class="meta svelte-1tvhds4"> </span>`),Yn=c(`<code class="svelte-1tvhds4"> </code> `,1),Xn=c(`<p class="meta svelte-1tvhds4">Secrets (names only): <!></p>`),Zn=c(`<h4 class="svelte-1tvhds4">Needs</h4> <ul class="plain svelte-1tvhds4"></ul> <!>`,1),Qn=c(`<p class="meta svelte-1tvhds4"> </p>`),$n=c(`<li> </li>`),er=c(`<ul class="plain reasons svelte-1tvhds4"></ul>`),tr=c(`<!> <!> <!>`,1),nr=c(`<li><div class="head svelte-1tvhds4"><h3 class="svelte-1tvhds4"> </h3> <!></div> <p class="summary svelte-1tvhds4"> </p> <p class="meta svelte-1tvhds4"><!></p> <h4 class="svelte-1tvhds4">You get</h4> <ul class="plain svelte-1tvhds4"></ul> <!> <!> <!> <div class="foot svelte-1tvhds4"><!> <!></div></li>`);function rr(t,r){h(r,!0);let c=i(()=>r.card.demo),d=i(()=>(e(c)?.reasons.length??0)>0||r.card.ownMode!==void 0||r.card.packageNote!==void 0),p=i(()=>[...new Set(r.card.providers.flatMap(e=>e.secrets))]),m=i(()=>`feature-${r.card.id}`);var _=nr();let v;var b=j(_),x=j(b),S=I(x,!0),C=N(x,2),w=t=>{ne(t,{get variant(){return e(c).variant},size:`sm`,get title(){return e(c).meaning},children:(t,n)=>{g();var r=u();B(()=>l(r,e(c).label)),y(t,r)},$$slots:{default:!0}})};n(C,t=>{e(c)&&t(w)}),s(b);var T=N(b,2),E=I(T,!0),D=N(T,2),O=j(D),k=t=>{var n=u();B(()=>l(n,e(c).meaning)),y(t,n)},A=e=>{var t=u(`Demo status not reported for this feature.`);y(e,t)};n(O,t=>{e(c)?t(k):t(A,-1)}),s(D);var M=N(D,4);f(M,21,()=>r.card.gets,e=>`${e.kind}:${e.label}`,(t,r)=>{var i=qn(),a=j(i),o=I(a,!0),c=N(a),u=N(c),d=t=>{var n=Kn(),i=I(n);B(()=>l(i,`(${e(r).where??``})`)),y(t,n)};n(u,t=>{e(r).where&&t(d)}),s(i),B(()=>{l(o,e(r).kindLabel),l(c,` ${e(r).label??``}`)}),y(t,i)}),s(M);var P=N(M,2),F=t=>{var i=Zn(),a=N(R(i),2);f(a,21,()=>r.card.providers,e=>e.id,(t,r)=>{var i=qn(),a=j(i),o=I(a,!0),c=N(a),u=N(c),d=t=>{var n=Jn(),i=I(n);B(t=>l(i,`${t??``}
17
+ ${e(r).browserOptions.length===1?`runs`:`run`} in the
18
+ browser with no key.`),[()=>In(e(r).browserOptions,`and`)]),y(t,n)};n(u,t=>{e(r).browserOptions.length&&t(d)}),s(i),B(t=>{l(o,e(r).kindLabel),l(c,` ${e(r).required?`Required`:`Optional`}: ${t??``}. `)},[()=>In(e(r).options)]),y(t,i)}),s(a);var o=N(a,2),c=t=>{var n=Xn(),r=N(j(n));f(r,18,()=>e(p),e=>e,(t,n,r)=>{var i=Yn(),a=R(i),o=I(a,!0),s=N(a,1,!0);B(()=>{l(o,n),l(s,e(r)<e(p).length-1?`, `:``)}),y(t,i)}),s(n),y(t,n)};n(o,t=>{e(p).length&&t(c)}),B(()=>U(a,`aria-label`,`${r.card.label}: providers`)),y(t,i)};n(P,e=>{r.card.providers.length&&e(F)});var L=N(P,2),z=e=>{var t=Qn(),n=I(t);B(e=>l(n,`Also adds ${e??``}.`),[()=>r.alsoAdds.join(`, `)]),y(e,t)};n(L,e=>{!r.on&&r.alsoAdds.length&&e(z)});var V=N(L,2),H=t=>{{let a=i(()=>e(c)?`Why ${e(c).label}?`:`Details`);le(t,{get title(){return e(a)},children:(t,i)=>{var a=tr(),o=R(a),u=t=>{var n=er();f(n,20,()=>e(c).reasons,e=>e,(e,t)=>{var n=$n(),r=I(n,!0);B(()=>l(r,t)),y(e,n)}),s(n),B(()=>U(n,`aria-label`,`${r.card.label}: reasons`)),y(t,n)};n(o,t=>{e(c)?.reasons.length&&t(u)});var d=N(o,2),p=t=>{var n=Qn(),i=I(n);B(()=>l(i,`On its own it would be ${r.card.ownMode??``}; what it needs sets ${e(c).label??``}.`)),y(t,n)};n(d,t=>{r.card.ownMode&&e(c)&&t(p)});var m=N(d,2),h=e=>{var t=Qn(),n=I(t,!0);B(()=>l(n,r.card.packageNote)),y(e,t)};n(m,e=>{r.card.packageNote&&e(h)}),y(t,a)},$$slots:{default:!0}})}};n(V,t=>{e(d)&&t(H)});var W=N(V,2),ee=j(W);{let t=i(()=>r.lockedBy.length>0),n=i(()=>`${e(m)}-summary${r.lockedBy.length?` ${e(m)}-locked`:``}`);J(ee,{get label(){return r.card.label},get checked(){return r.on},get disabled(){return e(t)},get"aria-describedby"(){return e(n)},onchange:e=>r.onchange(e.currentTarget.checked)})}var G=N(ee,2),K=t=>{var n=Qn(),i=I(n);B(t=>{U(n,`id`,`${e(m)}-locked`),l(i,`Stays on while ${t??``} needs it.`)},[()=>r.lockedBy.join(`, `)]),y(t,n)};n(G,e=>{r.lockedBy.length&&e(K)}),s(W),s(_),B(()=>{v=o(_,1,`card svelte-1tvhds4`,null,v,{selected:r.on}),l(S,r.card.label),U(T,`id`,`${e(m)}-summary`),l(E,r.card.summary),U(M,`aria-label`,`${r.card.label}: what you get`)}),y(t,_),a()}var ir=c(`<div class="chips svelte-7kphei" role="group" aria-label="Filter by package"><!> <!></div>`),ar=c(`<span class="tag svelte-7kphei">plumbing</span>`),or=c(`<span class="includes svelte-7kphei"> </span>`),sr=c(`<li><span class="icon svelte-7kphei" aria-hidden="true"><!></span> <div class="text svelte-7kphei"><span class="name svelte-7kphei"><a class="svelte-7kphei"> </a> <!></span> <span class="meta svelte-7kphei"> </span> <!></div> <!></li>`),cr=c(`<ul class="rows svelte-7kphei" aria-label="Features"></ul>`),lr=c(`<p class="empty svelte-7kphei"> </p>`),ur=c(`<div class="features svelte-7kphei"><p class="meta svelte-7kphei">Models no recipe covers. Add one to give it a list and a form of its own
19
+ under More in the menu.</p> <!> <!> <div class="bar svelte-7kphei"><h2 class="count svelte-7kphei"> </h2> <!></div> <!> <p class="notice svelte-7kphei" role="status" aria-live="polite"> </p></div>`);function dr(t,r){h(r,!0);let c=qe(se,Ze),d=D(``),m=D(null),_=D(!1),v=D(``),b=i(()=>Ke(c,e(_))),x=i(()=>Je(Ge(e(b),e(d)))),S=i(()=>e(m)&&e(x).includes(e(m))?e(m):null),C=i(()=>Ge(e(b),e(d),e(S))),w=i(()=>e(_)?0:Ge(c,e(d),e(S)).length-e(C).length);function T(e,t){t?Q.addFeature(e.id):Q.removeFeature(e.id),W(v,t?`Added ${e.label} to the menu.`:`Removed ${e.label} from the menu.`,!0)}var E=ur(),O=N(j(E),2);Ce(O,{get value(){return e(d)},onsearch:e=>{W(d,e,!0)},label:`Search features`,placeholder:`Search models, packages and fields`,debounceMs:0});var k=N(O,2),A=t=>{var n=ir(),r=j(n);{let t=i(()=>e(S)===null);De(r,{get pressed(){return e(t)},onclick:()=>W(m,null),children:(e,t)=>{g();var n=u(`All`);y(e,n)},$$slots:{default:!0}})}var a=N(r,2);f(a,16,()=>e(x),e=>e,(t,n)=>{{let r=i(()=>e(S)===n);De(t,{get pressed(){return e(r)},onclick:()=>W(m,e(S)===n?null:n,!0),children:(e,t)=>{g();var r=u();B(e=>l(r,e),[()=>q(n)]),y(e,r)},$$slots:{default:!0}})}}),s(n),y(t,n)};n(k,t=>{e(x).length>1&&t(A)});var M=N(k,2),P=j(M),F=I(P),L=N(P,2);J(L,{get checked(){return e(_)},label:`Show all`,onchange:e=>{W(_,e.currentTarget.checked,!0)}}),s(M);var R=N(M,2),z=t=>{var r=cr();f(r,29,()=>e(C),e=>e.id,(t,r)=>{let a=i(()=>Q.hasFeature(e(r).id));var c=sr();let u;var d=j(c),f=j(d);tt(f,{path:`M12 3C7.58 3 4 4.79 4 7v10c0 2.21 3.59 4 8 4s8-1.79 8-4V7c0-2.21-3.58-4-8-4zm6 14c0 .5-2.13 2-6 2s-6-1.5-6-2v-2.23c1.61.78 3.72 1.23 6 1.23s4.39-.45 6-1.23V17zm0-4.55c-1.3.95-3.58 1.55-6 1.55s-4.7-.6-6-1.55V9.64c1.47.83 3.61 1.36 6 1.36s4.53-.53 6-1.36v2.81zM12 9C8.13 9 6 7.5 6 7s2.13-2 6-2 6 1.5 6 2-2.13 2-6 2z`,size:22}),s(d);var m=N(d,2),h=j(m),g=j(h),_=I(g,!0),v=N(g,2),b=e=>{var t=ar();y(e,t)};n(v,t=>{e(r).plumbing&&t(b)}),s(h);var x=N(h,2),S=I(x,!0),C=N(x,2),w=t=>{var n=or(),i=I(n);B(e=>l(i,`+ ${e??``}`),[()=>e(r).includes.join(`, `)]),y(t,n)};n(C,t=>{e(r).includes.length&&t(w)}),s(m);var E=N(m,2);{let t=i(()=>`${e(a)?`Remove`:`Add`} ${e(r).label} feature`);J(E,{get checked(){return e(a)},get"aria-label"(){return e(t)},onchange:t=>T(e(r),t.currentTarget.checked)})}s(c),B((t,n)=>{u=o(c,1,`svelte-7kphei`,null,u,{selected:e(a)}),U(g,`href`,t),l(_,e(r).label),l(S,n)},[()=>ce(`/packages/${e(r).packageId}/`),()=>We(e(r))]),p(c,()=>ge,()=>({duration:jt(`medium2`,300)})),y(t,c)}),s(r),y(t,r)},V=t=>{var n=lr(),r=I(n);B(()=>l(r,`No features match "${e(d)??``}".`)),y(t,n)};n(R,t=>{e(C).length?t(z):t(V,-1)});var H=N(R,2),ee=I(H,!0);s(E),B(()=>{l(F,`${e(C).length??``} ${e(C).length===1?`feature`:`features`}${e(w)?` (${e(w)} hidden)`:``}`),l(ee,e(v))}),y(t,E),a()}var fr=c(`<div class="chips svelte-q9yl1j" role="group" aria-label="Browse by group"><!> <!></div>`),pr=c(`<p class="meta svelte-q9yl1j"> </p>`),mr=c(`<section class="svelte-q9yl1j"><h2 class="svelte-q9yl1j"> </h2> <!> <ul class="cards svelte-q9yl1j"></ul></section>`),hr=c(`<div class="features svelte-q9yl1j"><p class="meta svelte-q9yl1j">Everything s-m-r-t can add to your app. Switch a feature on to add it, with
20
+ what it needs, to your cookbook. Each label says how far it runs in this
21
+ browser-only demo; menu entries appear in the sidebar, while widgets, pages
22
+ and panels are listed for the real app and are not mounted here.</p> <!> <!> <p class="count svelte-q9yl1j" aria-live="polite"> </p> <!> <p class="notice meta svelte-q9yl1j" role="status" aria-live="polite"> </p> <!></div>`);function gr(t,r){h(r,!0);let o=Vn(Ze,se.packages),c=Hn(o),d=D(``),p=D(null),m=D(``),_=i(()=>Un(o,e(d),e(p))),v=i(()=>Wn(e(_))),b=e=>rt.get(e)?.label??e;function x(e,t){let n=new Set(Q.ids);t?Q.add(e):Q.remove(e);let r=new Set(Q.ids),i=Q.ids.filter(e=>!n.has(e)),a=[...n].filter(e=>!r.has(e)),o=[];i.length&&o.push(`Added ${i.map(b).join(`, `)}.`),a.length&&o.push(`Removed ${a.map(b).join(`, `)}.`),W(m,o.join(` `),!0)}var S=hr(),C=N(j(S),2);Ce(C,{get value(){return e(d)},onsearch:e=>{W(d,e,!0)},label:`Search features`,placeholder:`Search features`,debounceMs:0});var w=N(C,2),T=t=>{var n=fr(),r=j(n);{let t=i(()=>e(p)===null);De(r,{get pressed(){return e(t)},onclick:()=>W(p,null),children:(e,t)=>{g();var n=u(`All`);y(e,n)},$$slots:{default:!0}})}var a=N(r,2);f(a,17,()=>c,e=>e.id,(t,n)=>{{let r=i(()=>e(p)===e(n).id);De(t,{get pressed(){return e(r)},onclick:()=>W(p,e(p)===e(n).id?null:e(n).id,!0),children:(t,r)=>{g();var i=u();B(()=>l(i,e(n).label)),y(t,i)},$$slots:{default:!0}})}}),s(n),y(t,n)};n(w,e=>{c.length>1&&e(T)});var E=N(w,2),O=I(E),k=N(E,2);f(k,17,()=>e(v),e=>e.group.id,(t,r)=>{var a=mr(),o=j(a),c=I(o,!0),u=N(o,2),d=t=>{var n=pr(),i=I(n,!0);B(()=>l(i,e(r).group.summary)),y(t,n)};n(u,t=>{e(r).group.summary&&t(d)});var p=N(u,2);f(p,21,()=>e(r).cards,e=>e.id,(t,n)=>{{let r=i(()=>Q.has(e(n).id)),a=i(()=>nt([e(n).id],Q.ids,rt).map(b)),o=i(()=>Gn(e(n).id,Q.ids,rt).map(b));rr(t,{get card(){return e(n)},get on(){return e(r)},get lockedBy(){return e(a)},get alsoAdds(){return e(o)},onchange:t=>x(e(n).id,t)})}}),s(p),s(a),B(()=>{U(a,`aria-labelledby`,`group-${e(r).group.id}`),U(o,`id`,`group-${e(r).group.id}`),l(c,e(r).group.label),U(p,`aria-label`,`${e(r).group.label} features`)}),y(t,a)},t=>{var n=pr(),r=I(n);B(()=>l(r,`No features match "${e(d)??``}".`)),y(t,n)});var A=N(k,2),M=I(A,!0),P=N(A,2);le(P,{title:`Single records`,children:(e,t)=>{dr(e,{})},$$slots:{default:!0}}),s(S),B(()=>{l(O,`${e(_).length??``} ${e(_).length===1?`feature`:`features`}`),l(M,e(m))}),y(t,S),a()}function _r(e){let t=new Map;for(let n of e){let e=n.group?.id??n.id,r=t.get(e);r?(r.recipes.push(n),r.hasSubSwitches=!0):t.set(e,{id:e,label:n.group?.label??n.label,summary:n.group?.summary??n.summary,recipes:[n],hasSubSwitches:!1})}return[...t.values()].sort((e,t)=>e.label.localeCompare(t.label))}function vr(e,t){return e.recipes.some(e=>t.includes(e.id))}function yr(e,t,n){if(n){let n=e.recipes[0];return{add:n&&!vr(e,t)?[n.id]:[],remove:[]}}return{add:[],remove:e.recipes.map(e=>e.id)}}function br(e,t){return t?{add:[e],remove:[]}:{add:[],remove:[e]}}function xr(e,t,n){let r=e.recipes.filter(e=>t.includes(e.id)),i={};if(e.hasSubSwitches)for(let e of r){let r=nt([e.id],t,n);r.length&&(i[e.id]=r)}return{main:r.length?nt(e.recipes.map(e=>e.id),t,n):[],subs:i}}function Sr(e,t){let n=t.join(`, `);return e.hasSubSwitches?`${e.label} stays on while ${n} needs at least one ${e.label} recipe.`:`${e.label} stays on while ${n} needs it.`}function Cr(e,t,n){return`${t} is the last ${e.label} recipe on, and ${n.join(`, `)} needs one.`}var wr=c(`<p class="meta svelte-1d5gge1"> </p>`),Tr=c(`<div class="sub svelte-1d5gge1"><!> <p class="meta svelte-1d5gge1"> </p> <!></div>`),Er=c(`<li><h2 class="svelte-1d5gge1"> </h2> <p class="description svelte-1d5gge1"> </p> <!> <!> <!> <!></li>`),Dr=c(`<ul class="cards svelte-1d5gge1" aria-label="Recipes"></ul> <p class="notice svelte-1d5gge1" role="status" aria-live="polite"> </p>`,1);function Or(t,r){h(r,!0);let c=_r(Ze),u=D(``),d=e=>rt.get(e)?.label??e,p=e=>e.map(d).join(`, `);function m(e){let t=new Set(Q.ids);e.add.length&&Q.add(...e.add),e.remove.length&&Q.remove(...e.remove);let n=new Set(Q.ids),r=Q.ids.filter(e=>!t.has(e)),i=[...t].filter(e=>!n.has(e)),a=[];r.length&&a.push(`Added ${p(r)} to the menu.`),i.length&&a.push(`Removed ${p(i)} from the menu.`),W(u,a.join(` `),!0)}function g(e){let t=e.recipes[0];return!t||e.hasSubSwitches?``:[...t.requires.map(d),...(t.requiresAny??[]).map(e=>`one of ${p(e)}`)].join(`, `)}let _=e=>vr(e,Q.ids);var v=Dr(),x=R(v);f(x,21,()=>c,e=>e.id,(t,r)=>{let a=i(()=>_(e(r))),c=i(()=>xr(e(r),Q.ids,rt)),u=i(()=>e(c).main);var p=Er();let h;var v=j(p),x=I(v,!0),S=N(v,2),C=I(S,!0),w=N(S,2);{let t=i(()=>e(u).length>0),n=i(()=>`card-${e(r).id}-summary${e(u).length?` card-${e(r).id}-needed`:``}`);J(w,{get label(){return e(r).label},get checked(){return e(a)},get disabled(){return e(t)},get"aria-describedby"(){return e(n)},onchange:t=>m(yr(e(r),Q.ids,t.currentTarget.checked))})}var T=N(w,2),E=t=>{var n=wr(),i=I(n,!0);B(t=>{U(n,`id`,`card-${e(r).id}-needed`),l(i,t)},[()=>Sr(e(r),e(u).map(d))]),y(t,n)};n(T,t=>{e(u).length&&t(E)});var D=N(T,2),O=t=>{{let a=i(()=>`${e(r).label} recipes`);Ee(t,{get legend(){return e(a)},stack:!0,class:`subs`,children:(t,a)=>{var o=b(),u=R(o);f(u,17,()=>e(r).recipes,e=>e.id,(t,a)=>{let o=i(()=>Q.has(e(a).id)),u=i(()=>e(c).subs[e(a).id]??[]);var f=Tr(),p=j(f);{let t=i(()=>e(u).length>0),n=i(()=>`sub-${e(a).id}-summary${e(u).length?` sub-${e(a).id}-needed`:``}`);J(p,{get label(){return e(a).label},size:`sm`,get checked(){return e(o)},get disabled(){return e(t)},get"aria-describedby"(){return e(n)},onchange:t=>m(br(e(a).id,t.currentTarget.checked))})}var h=N(p,2),g=I(h,!0),_=N(h,2),v=t=>{var n=wr(),i=I(n,!0);B(t=>{U(n,`id`,`sub-${e(a).id}-needed`),l(i,t)},[()=>Cr(e(r),e(a).label,e(u).map(d))]),y(t,n)};n(_,t=>{e(u).length&&t(v)}),s(f),B(()=>{U(h,`id`,`sub-${e(a).id}-summary`),l(g,e(a).summary)}),y(t,f)}),y(t,o)},$$slots:{default:!0}})}};n(D,t=>{e(r).hasSubSwitches&&t(O)});var k=N(D,2),A=t=>{var n=wr(),i=I(n);B(e=>l(i,`Needs ${e??``}.`),[()=>g(e(r))]),y(t,n)},M=i(()=>!e(a)&&g(e(r)));n(k,t=>{e(M)&&t(A)}),s(p),B(()=>{h=o(p,1,`svelte-1d5gge1`,null,h,{selected:e(a)}),U(v,`id`,`card-${e(r).id}`),l(x,e(r).label),U(S,`id`,`card-${e(r).id}-summary`),l(C,e(r).summary)}),y(t,p)}),s(x);var S=N(x,2),C=I(S,!0);B(()=>l(C,e(u))),y(t,v),a()}var kr=c(`<div class="pane svelte-d580bl"><p class="meta svelte-d580bl">Defaults for this app. They apply to new records only; existing records
23
+ keep their values.</p> <!></div>`);function Ar(t,n){h(n,!0);let r=D(M(Z.settings())),i;function o(e){W(r,e,!0),clearTimeout(i),i=setTimeout(c,300)}function c(){clearTimeout(i),i=void 0,Z.setSettings(e(r))}O(()=>{let e=Z.settings();i===void 0&&W(r,e,!0)});var l=kr();C(`pagehide`,A,c),Lt(N(j(l),2),{get value(){return e(r)},onchange:o,idPrefix:`app-settings-tab`}),s(l),y(t,l),a()}var jr=c(`<button type="button"><span class="choice-name svelte-18m8le4"><span class="choice-icon svelte-18m8le4" aria-hidden="true"> </span> </span> <span class="preview svelte-18m8le4" aria-hidden="true"><span class="preview-sidebar svelte-18m8le4"><span class="svelte-18m8le4"></span><span class="svelte-18m8le4"></span><span class="svelte-18m8le4"></span></span> <span class="preview-main svelte-18m8le4"><span class="preview-title svelte-18m8le4"></span><span class="preview-body svelte-18m8le4"><span class="svelte-18m8le4"></span><span class="svelte-18m8le4"></span></span></span></span></button>`),Mr=c(`<button type="button"><span class="choice-name svelte-18m8le4"><span class="choice-icon svelte-18m8le4" aria-hidden="true"> </span> </span> <span class="choice-hint svelte-18m8le4"> </span></button>`),Nr=c(`<div class="cards svelte-18m8le4" role="group" aria-label="Theme look"></div> <div class="cards schemes svelte-18m8le4" role="group" aria-label="Appearance"></div>`,1),Pr=c(`<option> </option>`),Fr=c(`<p class="error svelte-18m8le4" role="alert">Use a hex colour like #c2410c.</p>`),Ir=c(`<section class="theme svelte-18m8le4" aria-label="Theme settings"><!> <div class="shape svelte-18m8le4" role="group" aria-label="Shape and contrast"><div class="field svelte-18m8le4"><!> <select id="theme-radius" class="svelte-18m8le4"></select></div> <div class="field svelte-18m8le4"><!> <select id="theme-density" class="svelte-18m8le4"></select></div> <div class="field svelte-18m8le4"><!> <select id="theme-contrast" class="svelte-18m8le4"></select></div></div> <div class="brand svelte-18m8le4"><div class="field svelte-18m8le4"><!> <div class="pick svelte-18m8le4"><span class="wheel svelte-18m8le4"><input id="theme-brand-colour" type="color" aria-label="Choose brand colour" class="svelte-18m8le4"/></span> <!></div></div> <div class="field font-field svelte-18m8le4"><!> <select id="theme-brand-font" class="svelte-18m8le4"><option>Theme default</option><!></select></div> <!></div> <!> <a class="advanced svelte-18m8le4"><span class="advanced-icon svelte-18m8le4" aria-hidden="true"></span> <span><strong class="svelte-18m8le4">Advanced Styles</strong><small class="svelte-18m8le4"> </small></span> <span class="arrow svelte-18m8le4" aria-hidden="true">→</span></a></section>`);function Lr(t,c){h(c,!0);let d=T(c,`provider`,3,!0),p=T(c,`advancedStylesHref`,3,`#/advanced-styles/`),m=ye(),b=i(()=>Z.theme?.custom),S=D(``),C=D(!1);O(()=>{W(S,e(b)?.primary??``,!0),W(C,!1)});let k={material:`◆`,glass:`◇`,studio:`▣`,smrt:`✦`,happyvertical:`⬡`},A=[{id:`light`,label:`Light`,icon:`☀`,hint:`Bright all the time`},{id:`dark`,label:`Dark`,icon:`☾`,hint:`Dim all the time`},{id:`system`,label:`Auto`,icon:`◐`,hint:`Follow this device`}],M=[{id:`none`,label:`None`},{id:`sm`,label:`Small`},{id:`md`,label:`Medium`},{id:`lg`,label:`Large`},{id:`xl`,label:`Extra large`},{id:`full`,label:`Full`}],P=[{id:`comfortable`,label:`Comfortable`},{id:`touch`,label:`Touch`}],F=[{id:`auto`,label:`Auto`},{id:`standard`,label:`Standard`},{id:`more`,label:`More`}],L={borderRadius:`md`,density:`comfortable`,contrast:`auto`};function z(e,t){Z.setTheme({...Z.theme,[e]:t===L[e]?void 0:t})}function V(t){let n=Be(t);W(C,!n),n&&Z.setTheme({...Z.theme,fontFamily:Z.theme?.fontFamily??e(b)?.fontFamily,custom:{primary:n}})}function H(t){let n=e(b)?{primary:e(b).primary}:void 0;Z.setTheme({...Z.theme,fontFamily:t||void 0,custom:n})}function ee(){Z.setTheme({...Z.theme,fontFamily:Z.theme?.fontFamily??e(b)?.fontFamily,custom:void 0})}let G=i(()=>{let e=Z.theme?.customCss;return!!e&&!Et(e??``)});var K=Ir(),te=j(K),ne=t=>{var n=Nr(),r=R(n);f(r,21,()=>be,e=>e.id,(t,n)=>{let r=i(()=>m.state.resolvedScheme===`dark`?e(n).dark:e(n).light);var a=jr();let c,u;var d=j(a),f=j(d),p=I(f,!0),h=N(f,1,!0);s(d),g(2),s(a),B(()=>{c=o(a,1,`choice preset svelte-18m8le4`,null,c,{selected:!e(b)&&(Z.theme?.preset??`glass`)===e(n).id}),U(a,`aria-pressed`,!e(b)&&(Z.theme?.preset??`glass`)===e(n).id),u=v(a,``,u,{"--smrt-planner-preview-bg":e(r).background,"--smrt-planner-preview-surface":e(r).surface,"--smrt-planner-preview-primary":e(r).primary,"--smrt-planner-preview-ink":e(r).onSurface}),l(p,k[e(n).id]),l(h,e(n).label)}),x(`click`,a,()=>m?.setPreset(e(n).id)),y(t,a)}),s(r);var a=N(r,2);f(a,21,()=>A,e=>e.id,(t,n)=>{var r=Mr();let i;var a=j(r),c=j(a),u=I(c,!0),d=N(c,1,!0);s(a);var f=N(a,2),p=I(f,!0);s(r),B(()=>{i=o(r,1,`choice scheme svelte-18m8le4`,null,i,{selected:m.state.colorScheme===e(n).id}),U(r,`aria-pressed`,m.state.colorScheme===e(n).id),l(u,e(n).icon),l(d,e(n).label),l(p,e(n).hint)}),x(`click`,r,()=>m?.setColorScheme(e(n).id)),y(t,r)}),s(a),y(t,n)};n(te,e=>{d()&&m&&e(ne)});var re=N(te,2),ie=j(re),ae=j(ie);Y(ae,{for:`theme-radius`,label:`Corner radius`});var oe=N(ae,2);f(oe,21,()=>M,e=>e.id,(t,n)=>{var r=Pr(),i=I(r,!0),a={};B(()=>{l(i,e(n).label),a!==(a=e(n).id)&&(r.value=(r.__value=a)??``)}),y(t,r)}),s(oe);var se;_(oe),s(ie);var q=N(ie,2),ce=j(q);Y(ce,{for:`theme-density`,label:`Density`});var le=N(ce,2);f(le,21,()=>P,e=>e.id,(t,n)=>{var r=Pr(),i=I(r,!0),a={};B(()=>{l(i,e(n).label),a!==(a=e(n).id)&&(r.value=(r.__value=a)??``)}),y(t,r)}),s(le);var de;_(le),s(q);var fe=N(q,2),pe=j(fe);Y(pe,{for:`theme-contrast`,label:`Contrast`});var he=N(pe,2);f(he,21,()=>F,e=>e.id,(t,n)=>{var r=Pr(),i=I(r,!0),a={};B(()=>{l(i,e(n).label),a!==(a=e(n).id)&&(r.value=(r.__value=a)??``)}),y(t,r)}),s(he);var ge;_(he),s(fe),s(re);var _e=N(re,2),ve=j(_e),xe=j(ve);Y(xe,{for:`theme-brand-colour`,label:`Brand colour`});var Se=N(xe,2),Ce=j(Se);let we;var J=j(Ce);w(J),s(Ce);var Te=N(Ce,2);me(Te,{type:`text`,"aria-label":`Brand colour hex`,placeholder:`#c2410c`,autocomplete:`off`,spellcheck:`false`,get value(){return e(S)},get"aria-invalid"(){return e(C)},oninput:t=>{W(S,t.currentTarget.value,!0),e(S).trim()&&V(e(S))}}),s(Se),s(ve);var Ee=N(ve,2),De=j(Ee);Y(De,{for:`theme-brand-font`,label:`Font`});var X=N(De,2),Oe=j(X);Oe.value=Oe.__value=``;var ke=N(Oe);f(ke,16,()=>Object.keys(He),e=>e,(e,t)=>{var n=Pr(),r=I(n,!0),i={};B(()=>{l(r,t),i!==(i=t)&&(n.value=(n.__value=i)??``)}),y(e,n)}),s(X);var Ae;_(X),s(Ee);var je=N(Ee,2),Me=e=>{ue(e,{variant:`secondary`,onclick:ee,children:(e,t)=>{g();var n=u(`Reset brand colour`);y(e,n)},$$slots:{default:!0}})};n(je,t=>{e(b)&&t(Me)}),s(_e);var Ne=N(_e,2),Pe=e=>{var t=Fr();y(e,t)};n(Ne,t=>{e(C)&&t(Pe)});var Fe=N(Ne,2),Ie=j(Fe);Ie.textContent=`{}`;var Le=N(Ie,2),Re=N(j(Le)),ze=I(Re,!0);s(Le),g(2),s(Fe),s(K),B(()=>{se!==(se=Z.theme?.borderRadius??L.borderRadius)&&(oe.value=(oe.__value=se)??``,r(oe,se)),de!==(de=Z.theme?.density??L.density)&&(le.value=(le.__value=de)??``,r(le,de)),ge!==(ge=Z.theme?.contrast??L.contrast)&&(he.value=(he.__value=ge)??``,r(he,ge)),we=v(Ce,``,we,{"--smrt-planner-picked-color":e(b)?.primary??`#e68a00`}),E(J,e(b)?.primary??`#e68a00`),Ae!==(Ae=Z.theme?.fontFamily??e(b)?.fontFamily??``)&&(X.value=(X.__value=Ae)??``,r(X,Ae)),U(Fe,`href`,p()),l(ze,e(G)?`This cookbook has custom CSS waiting for your approval`:`Edit custom CSS for your app`)}),x(`change`,oe,e=>z(`borderRadius`,e.currentTarget.value)),x(`change`,le,e=>z(`density`,e.currentTarget.value)),x(`change`,he,e=>z(`contrast`,e.currentTarget.value)),x(`input`,J,e=>V(e.currentTarget.value)),x(`change`,X,e=>H(e.currentTarget.value)),y(t,K),a()}S([`click`,`change`,`input`]);function Rr(e){return{get ids(){return e.snapshot().recipes.map(e=>e.id)},add:(...t)=>void e.run({name:`add_recipes`,input:{ids:t}}),remove:(...t)=>void e.run({name:`remove_recipes`,input:{ids:t}})}}function zr(e){return{read:()=>{let{currency:t,taxRate:n,paymentTerms:r,pricesIncludeTax:i,taxRounding:a}=e.snapshot().settings;return{currency:t,taxRate:Number((n/100).toFixed(6)),paymentTerms:r,pricesIncludeTax:i,taxRounding:a}},write:t=>{e.run({name:`set_settings`,input:{currency:t.currency,taxRate:Number((t.taxRate*100).toFixed(4)),...t.paymentTerms?{paymentTerms:t.paymentTerms}:{},pricesIncludeTax:t.pricesIncludeTax,taxRounding:t.taxRounding}})}}}function Br(e){return{read:()=>{let t=e.snapshot().theme,{preset:n,primary:r,colorScheme:i}=t,a={};return n&&(a.preset=n),r&&(a.custom={primary:r}),i!==`system`&&(a.colorScheme=i),t.borderRadius&&(a.borderRadius=t.borderRadius),t.density&&(a.density=t.density),t.contrast&&(a.contrast=t.contrast),Object.keys(a).length?a:void 0},write:t=>{t?(e.run({name:`reset_theme`,input:{}}),e.run({name:`set_theme`,input:{...t.preset?{preset:t.preset}:{},...t.custom?{primary:t.custom.primary}:{},...t.colorScheme?{colorScheme:t.colorScheme}:{},...t.borderRadius?{borderRadius:t.borderRadius}:{},...t.density?{density:t.density}:{},...t.contrast?{contrast:t.contrast}:{}}})):e.run({name:`reset_theme`,input:{}})}}}function Vr(e,t){let n=Br(e),r=`browser`,i,a=()=>null;if(`chat`in t){let e=t.chat;a=()=>typeof e==`function`?e():e}else{let n=Fe(t);if(i=n.notice,r=n.config.mode,n.config.mode===`host`&&n.config.host){let t=Oe({endpoint:n.config.host.endpoint,snapshot:()=>e.snapshot()});a=()=>t}else if(n.config.mode===`byo`){let e=n.config.byo?.presets;a=()=>je(Ve(),e,void 0,n.config.credentialPersistence)}}let o=new Re(n,e);return{transport:ze({model:a,acceptCommands:r===`host`,unavailable:r===`byo`?`Connect your model on the AI page first, then I can help.`:`No model is connected yet, so I cannot help. The planner works without one.`,store:Rr(e),recipes:Ze,cookbooks:[],settings:zr(e),theme:n,themeUndos:o,controller:e,onReply:t.onReply,menu:()=>e===st&&ot.openSection?e.snapshot().sections.filter(e=>!e.hidden).map(({id:e,label:t})=>({id:e,label:t})):[]}),themeUndos:o,mode:r,...i?{notice:i}:{}}}function Hr(e,t){h(t,!0);let n=T(t,`controller`,3,st),r=T(t,`persistence`,3,`self`),i=T(t,`links`,3,`path`),o=ft()??mt(bt());F(()=>{(t.basePath!==void 0||i()!==`path`)&&oe(t.basePath??``,i())}),z(()=>{let e=ot.onReplaced;ot.onReplaced=()=>o.reset?.(),r()===`self`&&!Z.loaded&&(ct.load(),Z.hydrate(``,Ve()));let i=t.inference?Vr(n(),t.inference):void 0;return t.inference&&(`chat`in t.inference?Ne.useChat(t.inference.chat,`Host model`):Ne.configure(Fe(t.inference)),Ne.hydrate(Q.ids.length>0||Q.features.length>0)),t.onready?.({controller:n(),...i?{assistant:i}:{}}),()=>{ot.onReplaced=e}}),O(()=>{r()===`self`&&(JSON.stringify(Z.snapshot()),Z.scheduleSave())}),C(`pagehide`,A,()=>r()===`self`&&Z.flush()),a()}var Ur=c(`<div><!></div>`),Wr=c(`<div class="pane svelte-zuxcuo"><p class="meta svelte-zuxcuo">Reorder, move or hide navigation entries and choose which panels show.
24
+ The layout is saved with the cookbook.</p> <!></div>`),Gr=c(`<!> <!> <!> <!> <!> <!> <!>`,1),Kr=c(`<div class="planner svelte-zuxcuo"><!></div>`),qr=c(`<!> <!>`,1);function Jr(t,r){h(r,!0);let o=t=>{var a=Kr(),o=j(a);Ye(o,{get tabs(){return e(S)},get active(){return e(C)},onchange:M,"aria-label":`Planner`,children:(t,a)=>{var o=Gr(),c=R(o),l=t=>{var n=Ur();Jt(j(n),{}),s(n),B(()=>U(n,`hidden`,e(C)!==`cookbooks`)),y(t,n)},u=i(()=>e(x).includes(`cookbooks`));n(c,t=>{e(u)&&t(l)});var d=N(c,2),f=t=>{var n=Ur();Or(j(n),{}),s(n),B(()=>U(n,`hidden`,e(C)!==`recipes`)),y(t,n)},m=i(()=>e(x).includes(`recipes`));n(d,t=>{e(m)&&t(f)});var h=N(d,2),g=t=>{var n=Ur();gr(j(n),{}),s(n),B(()=>U(n,`hidden`,e(C)!==`features`)),y(t,n)},_=i(()=>e(x).includes(`features`));n(h,t=>{e(_)&&t(g)});var v=N(h,2),b=t=>{var n=Wr(),r=N(j(n),2);{let t=i(()=>E??A??void 0);he(r,{get controller(){return e(t)}})}s(n),B(()=>U(n,`hidden`,e(C)!==`layout`)),y(t,n)},S=i(()=>e(x).includes(`layout`));n(v,t=>{e(S)&&t(b)});var w=N(v,2),T=t=>{var n=Ur();Lr(j(n),{get provider(){return p()},get advancedStylesHref(){return r.advancedStylesHref}}),s(n),B(()=>U(n,`hidden`,e(C)!==`theme`)),y(t,n)},D=i(()=>e(x).includes(`theme`));n(w,t=>{e(D)&&t(T)});var O=N(w,2),k=t=>{var n=Ur();Ar(j(n),{}),s(n),B(()=>U(n,`hidden`,e(C)!==`settings`)),y(t,n)},M=i(()=>e(x).includes(`settings`));n(O,t=>{e(M)&&t(k)});var P=N(O,2),F=t=>{var n=Ur();jn(j(n),{}),s(n),B(()=>U(n,`hidden`,e(C)!==`export`)),y(t,n)},I=i(()=>e(x).includes(`export`));n(P,t=>{e(I)&&t(F)}),y(t,o)},$$slots:{default:!0}}),s(a),k(a,e=>W(P,e),()=>e(P)),y(t,a)},c=[`cookbooks`,`recipes`,`theme`,`settings`,`export`],l=[`features`,`layout`],u=T(r,`controller`,3,st),d=T(r,`layout`,3,`own`),f=T(r,`persistence`,3,`self`),p=T(r,`themeControls`,3,!1),m=T(r,`tabs`,3,c),g=T(r,`managedByParent`,3,!1);ft()||mt(bt());let _=Se()!==null,v={cookbooks:`Cookbooks`,recipes:`Recipes`,features:`Features`,layout:`Layout`,theme:`Theme`,settings:`Settings`,export:`Export`},b=i(()=>m().filter(e=>it.includes(e))),x=i(()=>m()===c?[...e(b),...l]:e(b)),S=i(()=>e(b).map(e=>({id:e,label:v[e]}))),C=i(()=>e(x).includes(at.active)?at.active:e(b)[0]??`recipes`),w=L(()=>d()),E=w===`own`?new fe({nav:()=>[],groups:()=>Tt({recipes:Q.ids,features:Q.features}),panels:()=>void 0,layout:()=>Z.layout,editable:()=>!0,commit:e=>Z.setLayout(e)}):null,A=w===`shell`?_e():null,M=e=>{let t=it.find(t=>t===e);t&&(at.active=t)};z(()=>u().subscribe(e=>{let t=e.focus.tab;t&&t!==at.active&&(at.active=t)}));let P=D(null),F;O(()=>{let t=e(C);F===void 0||F===t?F=t:(F=t,V().then(()=>{e(P)?.querySelector(`[role="tablist"]`)?.scrollIntoView({block:`nearest`})}))}),O(()=>{let e=at.active;L(()=>{u().snapshot().focus.tab!==e&&u().run({name:`focus`,input:{tab:e}})})});var I=qr(),H=R(I),ee=e=>{Hr(e,{get controller(){return u()},get basePath(){return r.basePath},get inference(){return r.inference},get persistence(){return f()},get onready(){return r.onready}})};n(H,e=>{g()||e(ee)});var G=N(H,2),K=e=>{o(e)},te=e=>{de(e,{children:(e,t)=>{o(e)},$$slots:{default:!0}})};n(G,e=>{_?e(K):e(te,-1)}),y(t,I),a()}var Yr=c(`<section class="first-run svelte-1uha8ag" aria-labelledby="first-run-title"><h1 id="first-run-title" class="svelte-1uha8ag">Set up your assistant</h1> <p class="meta svelte-1uha8ag"> </p> <!> <div class="actions svelte-1uha8ag"><!> <!></div></section>`),Xr=c(`<main class="svelte-1uha8ag"><!></main>`);function Zr(r,o){h(o,!0);let c=i(wt);var d=Xr();t(`1uha8ag`,t=>{P(()=>{H.title=`${e(c)??``} · smrt planner`})});var f=j(d),p=e=>{var t=Yr(),n=N(j(t),2),r=I(n,!0),i=N(n,2);Dt(i,{});var a=N(i,2),o=j(a);ue(o,{onclick:()=>Ne.continueFirstRun(),children:(e,t)=>{g();var n=u(`Continue`);y(e,n)},$$slots:{default:!0}});var c=N(o,2);ue(c,{variant:`secondary`,onclick:()=>Ne.dismissFirstRun(),children:(e,t)=>{g();var n=u(`I don't need AI, let's just build`);y(e,n)},$$slots:{default:!0}}),s(a),s(t),B(()=>l(r,Ne.privacyNote)),y(e,t)},m=t=>{{let n=i(()=>ce(`/advanced-styles/`));Jr(t,{layout:`shell`,persistence:`host`,themeControls:!0,get advancedStylesHref(){return e(n)}})}};n(f,e=>{Ne.firstRun?e(p):e(m,-1)}),s(d),y(r,d),a()}export{Zr as component};
@@ -1 +1 @@
1
- import{$ as e,A as t,B as n,Ct as r,Dt as i,E as a,Ft as o,G as s,H as ee,L as c,Ot as l,Pt as u,R as d,U as f,X as p,Y as m,Z as h,a as g,at as _,b as v,bt as y,ct as b,d as x,ft as S,ht as C,l as w,mt as T,n as E,st as D,ut as O,v as k,vt as A,wt as j}from"../chunks/DG3qFFTE.js";import"../chunks/xihTtKlq.js";import{n as M,r as N,s as P}from"../chunks/CoXf-L_3.js";import{n as F}from"../chunks/C3nKLKKd.js";import"../chunks/d934w91N.js";import{a as I,i as te,n as ne,r as re,t as L}from"../chunks/BMgzWMdF.js";function R(e){let t=[],n=/(\/\*[\s\S]*?\*\/|\/\*[\s\S]*$|"(?:\\.|[^"\\])*"?|'(?:\\.|[^'\\])*'?|[{}:;]|[^{}:;'"/]+|\/)/g,r=!1,i=!1;for(let a of e.matchAll(n)){let e=a[0],n=`plain`;e.startsWith(`/*`)?n=`comment`:/^[{}:;]$/.test(e)?(n=`punctuation`,e===`{`&&(r=!0,i=!1),e===`}`&&(r=!1,i=!1),e===`:`&&(i=!0),e===`;`&&(i=!1)):n=r?i?`value`:`property`:`selector`,t.push({text:e,kind:n})}return t}var z=s(`<div class="pending svelte-zdw9y8" role="status"><p class="svelte-zdw9y8">This cookbook brings its own CSS. It is not applied until you review and approve it.</p> <button type="button">Apply these styles</button></div>`),B=s(`<span> </span>`),V=s(`<section class="advanced-styles svelte-zdw9y8" aria-labelledby="advanced-styles-title"><a class="back svelte-zdw9y8">← Back to Theme</a> <div class="heading svelte-zdw9y8"><div><h1 id="advanced-styles-title" class="svelte-zdw9y8">Advanced Styles</h1> <p class="svelte-zdw9y8">Make this app your own with CSS. Changes appear as you type and are saved with your cookbook.</p></div> <span class="live svelte-zdw9y8"><span aria-hidden="true" class="svelte-zdw9y8"></span>Live preview</span></div> <!> <label for="advanced-css" class="svelte-zdw9y8">Custom CSS</label> <div class="editor svelte-zdw9y8"><pre aria-hidden="true" class="svelte-zdw9y8"><code></code></pre> <textarea id="advanced-css" spellcheck="false" maxlength="65536" wrap="off" placeholder="/* Add your app styles here */" aria-describedby="advanced-css-help" class="svelte-zdw9y8"></textarea></div> <p id="advanced-css-help" class="help svelte-zdw9y8">Ask your agent to write styles here, or start with a selector like <code>.smrt-admin-shell</code>. Clearing the editor removes your custom styles. Styles apply only inside the app shell and cannot load files from other sites; add <code>?styles=off</code> to the address to turn them off.</p></section>`);function H(t,s){l(s,!0);let m=g(s,`backHref`,3,`#/configure/`),_=r(()=>F.theme?.customCss??``),w=y(``),O=y(!1),M,N=r(()=>R(e(w))),P=r(()=>!!e(_)&&!e(O)&&!re(e(_))),H=y(null),U=y(null);b(()=>{let t=e(_);(!e(O)||t===e(w))&&(A(w,t,!0),A(O,!1))}),b(()=>{if(typeof document>`u`||!e(O)||!e(w)||te(location.search))return;let t=I(e(U));if(!t)return;let n=ne(e(w),t);if(!n)return;let r=document.createElement(`style`);return r.dataset.smrtPlannerDraft=``,r.textContent=n,document.head.append(r),()=>r.remove()});function W(){e(H)&&e(U)&&(e(H).scrollTop=e(U).scrollTop,e(H).scrollLeft=e(U).scrollLeft)}function G(e){F.setTheme({...F.theme,customCss:e||void 0})}function K(t){L(t),A(w,t,!0),A(O,!0),clearTimeout(M),M=setTimeout(()=>G(e(w)),400)}E(()=>{clearTimeout(M),e(O)&&G(e(w))});var q=V(),J=S(q),Y=C(J,4),ie=t=>{var n=z(),r=C(S(n),2);o(n),p(`click`,r,()=>L(e(_))),f(t,n)};n(Y,t=>{e(P)&&t(ie)});var X=C(Y,4),Z=S(X),Q=S(Z);c(Q,21,()=>e(N),d,(t,n)=>{var r=B();let i;var o=T(r,!0);D(()=>{i=a(r,1,`svelte-zdw9y8`,null,i,{comment:e(n).kind===`comment`,selector:e(n).kind===`selector`,property:e(n).kind===`property`,value:e(n).kind===`value`,punctuation:e(n).kind===`punctuation`}),ee(o,e(n).text)}),f(t,r)}),o(Q),o(Z),x(Z,e=>A(H,e),()=>e(H));var $=C(Z,2);j($),x($,e=>A(U,e),()=>e(U)),o(X),u(2),o(q),D(t=>{k(J,`href`,m()),k(J,`data-sveltekit-reload`,t),v($,e(w))},[()=>m().startsWith(`/`)?!0:void 0]),p(`input`,$,e=>K(e.currentTarget.value)),h(`scroll`,$,W),f(t,q),i()}m([`click`,`input`]);var U=s(`<main class="svelte-72mmow"><!></main>`);function W(e,n){l(n,!1);let r=`${N()}/${P(M(),`theme`)}`;w();var a=U();t(`72mmow`,e=>{_(()=>{O.title=`Advanced Styles · smrt planner`})}),H(S(a),{get backHref(){return r}}),o(a),f(e,a),i()}export{W as component};
1
+ import{$ as e,A as t,B as n,Ct as r,Dt as i,E as a,Ft as o,G as s,H as ee,L as c,Ot as l,Pt as u,R as d,U as f,X as p,Y as m,Z as h,a as g,at as _,b as v,bt as y,ct as b,d as x,ft as S,ht as C,l as w,mt as T,n as E,st as D,ut as O,v as k,vt as A,wt as j}from"../chunks/DG3qFFTE.js";import"../chunks/xihTtKlq.js";import{n as M,r as N,s as P}from"../chunks/B45qMR8U.js";import{n as F}from"../chunks/Ywu-998J.js";import"../chunks/d934w91N.js";import{a as I,i as te,n as ne,r as re,t as L}from"../chunks/BMgzWMdF.js";function R(e){let t=[],n=/(\/\*[\s\S]*?\*\/|\/\*[\s\S]*$|"(?:\\.|[^"\\])*"?|'(?:\\.|[^'\\])*'?|[{}:;]|[^{}:;'"/]+|\/)/g,r=!1,i=!1;for(let a of e.matchAll(n)){let e=a[0],n=`plain`;e.startsWith(`/*`)?n=`comment`:/^[{}:;]$/.test(e)?(n=`punctuation`,e===`{`&&(r=!0,i=!1),e===`}`&&(r=!1,i=!1),e===`:`&&(i=!0),e===`;`&&(i=!1)):n=r?i?`value`:`property`:`selector`,t.push({text:e,kind:n})}return t}var z=s(`<div class="pending svelte-zdw9y8" role="status"><p class="svelte-zdw9y8">This cookbook brings its own CSS. It is not applied until you review and approve it.</p> <button type="button">Apply these styles</button></div>`),B=s(`<span> </span>`),V=s(`<section class="advanced-styles svelte-zdw9y8" aria-labelledby="advanced-styles-title"><a class="back svelte-zdw9y8">← Back to Theme</a> <div class="heading svelte-zdw9y8"><div><h1 id="advanced-styles-title" class="svelte-zdw9y8">Advanced Styles</h1> <p class="svelte-zdw9y8">Make this app your own with CSS. Changes appear as you type and are saved with your cookbook.</p></div> <span class="live svelte-zdw9y8"><span aria-hidden="true" class="svelte-zdw9y8"></span>Live preview</span></div> <!> <label for="advanced-css" class="svelte-zdw9y8">Custom CSS</label> <div class="editor svelte-zdw9y8"><pre aria-hidden="true" class="svelte-zdw9y8"><code></code></pre> <textarea id="advanced-css" spellcheck="false" maxlength="65536" wrap="off" placeholder="/* Add your app styles here */" aria-describedby="advanced-css-help" class="svelte-zdw9y8"></textarea></div> <p id="advanced-css-help" class="help svelte-zdw9y8">Ask your agent to write styles here, or start with a selector like <code>.smrt-admin-shell</code>. Clearing the editor removes your custom styles. Styles apply only inside the app shell and cannot load files from other sites; add <code>?styles=off</code> to the address to turn them off.</p></section>`);function H(t,s){l(s,!0);let m=g(s,`backHref`,3,`#/configure/`),_=r(()=>F.theme?.customCss??``),w=y(``),O=y(!1),M,N=r(()=>R(e(w))),P=r(()=>!!e(_)&&!e(O)&&!re(e(_))),H=y(null),U=y(null);b(()=>{let t=e(_);(!e(O)||t===e(w))&&(A(w,t,!0),A(O,!1))}),b(()=>{if(typeof document>`u`||!e(O)||!e(w)||te(location.search))return;let t=I(e(U));if(!t)return;let n=ne(e(w),t);if(!n)return;let r=document.createElement(`style`);return r.dataset.smrtPlannerDraft=``,r.textContent=n,document.head.append(r),()=>r.remove()});function W(){e(H)&&e(U)&&(e(H).scrollTop=e(U).scrollTop,e(H).scrollLeft=e(U).scrollLeft)}function G(e){F.setTheme({...F.theme,customCss:e||void 0})}function K(t){L(t),A(w,t,!0),A(O,!0),clearTimeout(M),M=setTimeout(()=>G(e(w)),400)}E(()=>{clearTimeout(M),e(O)&&G(e(w))});var q=V(),J=S(q),Y=C(J,4),ie=t=>{var n=z(),r=C(S(n),2);o(n),p(`click`,r,()=>L(e(_))),f(t,n)};n(Y,t=>{e(P)&&t(ie)});var X=C(Y,4),Z=S(X),Q=S(Z);c(Q,21,()=>e(N),d,(t,n)=>{var r=B();let i;var o=T(r,!0);D(()=>{i=a(r,1,`svelte-zdw9y8`,null,i,{comment:e(n).kind===`comment`,selector:e(n).kind===`selector`,property:e(n).kind===`property`,value:e(n).kind===`value`,punctuation:e(n).kind===`punctuation`}),ee(o,e(n).text)}),f(t,r)}),o(Q),o(Z),x(Z,e=>A(H,e),()=>e(H));var $=C(Z,2);j($),x($,e=>A(U,e),()=>e(U)),o(X),u(2),o(q),D(t=>{k(J,`href`,m()),k(J,`data-sveltekit-reload`,t),v($,e(w))},[()=>m().startsWith(`/`)?!0:void 0]),p(`input`,$,e=>K(e.currentTarget.value)),h(`scroll`,$,W),f(t,q),i()}m([`click`,`input`]);var U=s(`<main class="svelte-72mmow"><!></main>`);function W(e,n){l(n,!1);let r=`${N()}/${P(M(),`theme`)}`;w();var a=U();t(`72mmow`,e=>{_(()=>{O.title=`Advanced Styles · smrt planner`})}),H(S(a),{get backHref(){return r}}),o(a),f(e,a),i()}export{W as component};
@@ -1 +1 @@
1
- import{$ as e,A as t,Dt as n,Ft as r,G as i,H as a,Ot as o,Pt as s,St as c,U as l,at as u,ft as d,ht as f,l as p,mt as m,st as h,ut as g,v as _}from"../chunks/DG3qFFTE.js";import"../chunks/xihTtKlq.js";import{t as v}from"../chunks/CoXf-L_3.js";import{i as y}from"../chunks/DBp81N-t.js";import"../chunks/d934w91N.js";import{t as b}from"../chunks/jol435F5.js";var x=i(`<div class="ai-page svelte-mutbd1"><p class="meta svelte-mutbd1"><a>Planner</a> / AI models</p> <h1 class="svelte-mutbd1">Set up your assistant</h1> <p class="privacy svelte-mutbd1"> </p> <!></div>`);function S(e,t){o(t,!0);var i=x(),c=d(i),u=d(c);s(),r(c);var p=f(c,4),g=m(p,!0),v=f(p,2);b(v,{}),r(i),h(()=>{_(u,`href`,t.backHref),a(g,y.privacyNote)}),l(e,i),n()}var C=i(`<main class="svelte-hyyiz7"><!></main>`);function w(i,a){o(a,!1),p();var s=C();t(`hyyiz7`,e=>{u(()=>{g.title=`AI models · smrt planner`})});var f=d(s);{let t=c(()=>v(`/`));S(f,{get backHref(){return e(t)}})}r(s),l(i,s),n()}export{w as component};
1
+ import{$ as e,A as t,Dt as n,Ft as r,G as i,H as a,Ot as o,Pt as s,St as c,U as l,at as u,ft as d,ht as f,l as p,mt as m,st as h,ut as g,v as _}from"../chunks/DG3qFFTE.js";import"../chunks/xihTtKlq.js";import{t as v}from"../chunks/B45qMR8U.js";import{i as y}from"../chunks/DqrQeG8L.js";import"../chunks/d934w91N.js";import{t as b}from"../chunks/BlJ-05MM.js";var x=i(`<div class="ai-page svelte-mutbd1"><p class="meta svelte-mutbd1"><a>Planner</a> / AI models</p> <h1 class="svelte-mutbd1">Set up your assistant</h1> <p class="privacy svelte-mutbd1"> </p> <!></div>`);function S(e,t){o(t,!0);var i=x(),c=d(i),u=d(c);s(),r(c);var p=f(c,4),g=m(p,!0),v=f(p,2);b(v,{}),r(i),h(()=>{_(u,`href`,t.backHref),a(g,y.privacyNote)}),l(e,i),n()}var C=i(`<main class="svelte-hyyiz7"><!></main>`);function w(i,a){o(a,!1),p();var s=C();t(`hyyiz7`,e=>{u(()=>{g.title=`AI models · smrt planner`})});var f=d(s);{let t=c(()=>v(`/`));S(f,{get backHref(){return e(t)}})}r(s),l(i,s),n()}export{w as component};
@@ -1 +1 @@
1
- import{A as e,Dt as t,Ft as n,G as r,Ot as i,Pt as a,U as o,at as s,ft as c,ht as l,l as u,r as d,st as f,ut as p,v as m}from"../chunks/DG3qFFTE.js";import{n as h,u as g}from"../chunks/D31rqKs1.js";import"../chunks/xihTtKlq.js";import"../chunks/DzRTyOpH.js";import"../chunks/d934w91N.js";var _=r(`<main><p>The Blueprint moved to the Planner's <a>Export tab</a>.</p></main>`);function v(r,v){i(v,!1),d(()=>{let e=new URLSearchParams(location.search);e.set(`tab`,`export`),h(`${g}/?${e.toString().replace(/%2C/gi,`,`)}`,{replaceState:!0})}),u();var y=_();e(`1t5f7zw`,e=>{s(()=>{p.title=`Moved · smrt planner`})});var b=c(y),x=l(c(b));a(),n(b),n(y),f(()=>m(x,`href`,`${g}/?tab=export`)),o(r,y),t()}export{v as component};
1
+ import{A as e,Dt as t,Ft as n,G as r,Ot as i,Pt as a,U as o,at as s,ft as c,ht as l,l as u,r as d,st as f,ut as p,v as m}from"../chunks/DG3qFFTE.js";import{n as h,u as g}from"../chunks/CKd9O-eU.js";import"../chunks/xihTtKlq.js";import"../chunks/Dg4KRWOz.js";import"../chunks/d934w91N.js";var _=r(`<main><p>The Blueprint moved to the Planner's <a>Export tab</a>.</p></main>`);function v(r,v){i(v,!1),d(()=>{let e=new URLSearchParams(location.search);e.set(`tab`,`export`),h(`${g}/?${e.toString().replace(/%2C/gi,`,`)}`,{replaceState:!0})}),u();var y=_();e(`1t5f7zw`,e=>{s(()=>{p.title=`Moved · smrt planner`})});var b=c(y),x=l(c(b));a(),n(b),n(y),f(()=>m(x,`href`,`${g}/?tab=export`)),o(r,y),t()}export{v as component};
@@ -1 +1 @@
1
- import{A as e,Dt as t,Ft as n,G as r,Ot as i,Pt as a,U as o,at as s,ft as c,ht as l,l as u,r as d,st as f,ut as p,v as m}from"../chunks/DG3qFFTE.js";import{n as h,u as g}from"../chunks/D31rqKs1.js";import"../chunks/xihTtKlq.js";import"../chunks/DzRTyOpH.js";import"../chunks/d934w91N.js";var _=r(`<main><p>The Cookbook is in the Planner's <a>Export tab</a>.</p></main>`);function v(r,v){i(v,!1),d(()=>{let e=new URLSearchParams(location.search);e.set(`tab`,`export`),h(`${g}/?${e.toString().replace(/%2C/gi,`,`)}`,{replaceState:!0})}),u();var y=_();e(`9ir3hm`,e=>{s(()=>{p.title=`Moved · smrt planner`})});var b=c(y),x=l(c(b));a(),n(b),n(y),f(()=>m(x,`href`,`${g}/?tab=export`)),o(r,y),t()}export{v as component};
1
+ import{A as e,Dt as t,Ft as n,G as r,Ot as i,Pt as a,U as o,at as s,ft as c,ht as l,l as u,r as d,st as f,ut as p,v as m}from"../chunks/DG3qFFTE.js";import{n as h,u as g}from"../chunks/CKd9O-eU.js";import"../chunks/xihTtKlq.js";import"../chunks/Dg4KRWOz.js";import"../chunks/d934w91N.js";var _=r(`<main><p>The Cookbook is in the Planner's <a>Export tab</a>.</p></main>`);function v(r,v){i(v,!1),d(()=>{let e=new URLSearchParams(location.search);e.set(`tab`,`export`),h(`${g}/?${e.toString().replace(/%2C/gi,`,`)}`,{replaceState:!0})}),u();var y=_();e(`9ir3hm`,e=>{s(()=>{p.title=`Moved · smrt planner`})});var b=c(y),x=l(c(b));a(),n(b),n(y),f(()=>m(x,`href`,`${g}/?tab=export`)),o(r,y),t()}export{v as component};
@@ -1 +1 @@
1
- import{n as e}from"../chunks/COiEfhsA.js";import{Dt as t,Ot as n}from"../chunks/DG3qFFTE.js";import"../chunks/xihTtKlq.js";import{dt as r,lt as i,ut as a}from"../chunks/CoXf-L_3.js";import{t as o}from"../chunks/DRByVC-c.js";import{t as s}from"../chunks/0as86J1A.js";var c=e({entries:()=>l,load:()=>u}),l=()=>i.packages.flatMap(e=>a(e).map(t=>({package:e.id,model:t.name}))),u=({params:e})=>(r(e.package,e.model)||o(404,`Unknown model ${e.package}/${e.model}`),{packageId:e.package,modelName:e.model});function d(e,r){n(r,!0),s(e,{get packageId(){return r.data.packageId},get modelName(){return r.data.modelName}}),t()}export{d as component,c as universal};
1
+ import{n as e}from"../chunks/COiEfhsA.js";import{Dt as t,Ot as n}from"../chunks/DG3qFFTE.js";import"../chunks/xihTtKlq.js";import{dt as r,lt as i,ut as a}from"../chunks/B45qMR8U.js";import{t as o}from"../chunks/DRByVC-c.js";import{t as s}from"../chunks/C8kJ-wTn.js";var c=e({entries:()=>l,load:()=>u}),l=()=>i.packages.flatMap(e=>a(e).map(t=>({package:e.id,model:t.name}))),u=({params:e})=>(r(e.package,e.model)||o(404,`Unknown model ${e.package}/${e.model}`),{packageId:e.package,modelName:e.model});function d(e,r){n(r,!0),s(e,{get packageId(){return r.data.packageId},get modelName(){return r.data.modelName}}),t()}export{d as component,c as universal};
@@ -1 +1 @@
1
- import{n as e}from"../chunks/COiEfhsA.js";import{Dt as t,Ot as n}from"../chunks/DG3qFFTE.js";import"../chunks/xihTtKlq.js";import{dt as r}from"../chunks/CoXf-L_3.js";import{b as i,m as a,v as o}from"../chunks/B7d7dGCP.js";import{t as s}from"../chunks/DRByVC-c.js";import{t as c}from"../chunks/0as86J1A.js";var l=e({entries:()=>u,load:()=>d}),u=()=>i.flatMap(e=>o(e).flatMap(e=>e.key?[{package:e.packageId,model:e.model.name,view:e.key}]:[])),d=({params:e})=>(r(e.package,e.model)||s(404,`Unknown model ${e.package}/${e.model}`),a(e.package,e.model,e.view)?{packageId:e.package,modelName:e.model,view:e.view}:{packageId:e.package,modelName:e.model,recordId:e.view,mode:`view`});function f(e,r){n(r,!0),c(e,{get packageId(){return r.data.packageId},get modelName(){return r.data.modelName},get view(){return r.data.view},get recordId(){return r.data.recordId},get mode(){return r.data.mode}}),t()}export{f as component,l as universal};
1
+ import{n as e}from"../chunks/COiEfhsA.js";import{Dt as t,Ot as n}from"../chunks/DG3qFFTE.js";import"../chunks/xihTtKlq.js";import{dt as r}from"../chunks/B45qMR8U.js";import{b as i,m as a,v as o}from"../chunks/nB-x9BEp.js";import{t as s}from"../chunks/DRByVC-c.js";import{t as c}from"../chunks/C8kJ-wTn.js";var l=e({entries:()=>u,load:()=>d}),u=()=>i.flatMap(e=>o(e).flatMap(e=>e.key?[{package:e.packageId,model:e.model.name,view:e.key}]:[])),d=({params:e})=>(r(e.package,e.model)||s(404,`Unknown model ${e.package}/${e.model}`),a(e.package,e.model,e.view)?{packageId:e.package,modelName:e.model,view:e.view}:{packageId:e.package,modelName:e.model,recordId:e.view,mode:`view`});function f(e,r){n(r,!0),c(e,{get packageId(){return r.data.packageId},get modelName(){return r.data.modelName},get view(){return r.data.view},get recordId(){return r.data.recordId},get mode(){return r.data.mode}}),t()}export{f as component,l as universal};
@@ -1 +1 @@
1
- import{n as e}from"../chunks/COiEfhsA.js";import{Dt as t,Ot as n}from"../chunks/DG3qFFTE.js";import"../chunks/xihTtKlq.js";import{dt as r}from"../chunks/CoXf-L_3.js";import{m as i}from"../chunks/B7d7dGCP.js";import{t as a}from"../chunks/DRByVC-c.js";import{t as o}from"../chunks/0as86J1A.js";var s=e({load:()=>c,prerender:()=>!1}),c=({params:e})=>((!r(e.package,e.model)||i(e.package,e.model,e.view))&&a(404,`Unknown record ${e.package}/${e.model}/${e.view}`),{packageId:e.package,modelName:e.model,recordId:e.view,mode:`edit`});function l(e,r){n(r,!0),o(e,{get packageId(){return r.data.packageId},get modelName(){return r.data.modelName},get recordId(){return r.data.recordId},get mode(){return r.data.mode}}),t()}export{l as component,s as universal};
1
+ import{n as e}from"../chunks/COiEfhsA.js";import{Dt as t,Ot as n}from"../chunks/DG3qFFTE.js";import"../chunks/xihTtKlq.js";import{dt as r}from"../chunks/B45qMR8U.js";import{m as i}from"../chunks/nB-x9BEp.js";import{t as a}from"../chunks/DRByVC-c.js";import{t as o}from"../chunks/C8kJ-wTn.js";var s=e({load:()=>c,prerender:()=>!1}),c=({params:e})=>((!r(e.package,e.model)||i(e.package,e.model,e.view))&&a(404,`Unknown record ${e.package}/${e.model}/${e.view}`),{packageId:e.package,modelName:e.model,recordId:e.view,mode:`edit`});function l(e,r){n(r,!0),o(e,{get packageId(){return r.data.packageId},get modelName(){return r.data.modelName},get recordId(){return r.data.recordId},get mode(){return r.data.mode}}),t()}export{l as component,s as universal};
@@ -1 +1 @@
1
- {"version":"1792308789508"}
1
+ {"version":"1792353814879"}
@@ -3,72 +3,71 @@
3
3
  <head>
4
4
  <meta charset="utf-8" />
5
5
  <meta name="viewport" content="width=device-width, initial-scale=1" />
6
- <link href="../_app/immutable/entry/start.C01jT-Kj.js" rel="modulepreload">
7
- <link href="../_app/immutable/chunks/D31rqKs1.js" rel="modulepreload">
6
+ <link href="../_app/immutable/entry/start.C4bzxGdW.js" rel="modulepreload">
7
+ <link href="../_app/immutable/chunks/CKd9O-eU.js" rel="modulepreload">
8
8
  <link href="../_app/immutable/chunks/DG3qFFTE.js" rel="modulepreload">
9
9
  <link href="../_app/immutable/chunks/COiEfhsA.js" rel="modulepreload">
10
10
  <link href="../_app/immutable/chunks/Dt-HX3Vu.js" rel="modulepreload">
11
- <link href="../_app/immutable/entry/app.C_C191oT.js" rel="modulepreload">
11
+ <link href="../_app/immutable/entry/app.g4Bu04a3.js" rel="modulepreload">
12
12
  <link href="../_app/immutable/chunks/uBIymjUX.js" rel="modulepreload">
13
13
  <link href="../_app/immutable/chunks/xihTtKlq.js" rel="modulepreload">
14
- <link href="../_app/immutable/nodes/0._tbUx7Ky.js" rel="modulepreload">
15
- <link href="../_app/immutable/chunks/Bv5jGtB8.js" rel="modulepreload">
14
+ <link href="../_app/immutable/nodes/0.C6N6B83E.js" rel="modulepreload">
15
+ <link href="../_app/immutable/chunks/B45qMR8U.js" rel="modulepreload">
16
16
  <link href="../_app/immutable/chunks/YUSKx8_q.js" rel="modulepreload">
17
- <link href="../_app/immutable/chunks/CoXf-L_3.js" rel="modulepreload">
18
17
  <link href="../_app/immutable/chunks/DK8Blf1Y.js" rel="modulepreload">
19
- <link href="../_app/immutable/chunks/CdBvpdnq.js" rel="modulepreload">
20
- <link href="../_app/immutable/chunks/M-CuJzQN.js" rel="modulepreload">
18
+ <link href="../_app/immutable/chunks/BfeotTF9.js" rel="modulepreload">
19
+ <link href="../_app/immutable/chunks/Bv5jGtB8.js" rel="modulepreload">
20
+ <link href="../_app/immutable/chunks/DF-0MxNw.js" rel="modulepreload">
21
21
  <link href="../_app/immutable/chunks/DIE02RSm.js" rel="modulepreload">
22
- <link href="../_app/immutable/chunks/eNZ3ToP2.js" rel="modulepreload">
22
+ <link href="../_app/immutable/chunks/DoGeTgSe.js" rel="modulepreload">
23
23
  <link href="../_app/immutable/chunks/CUyVrfsu.js" rel="modulepreload">
24
- <link href="../_app/immutable/chunks/gMSmS-_y.js" rel="modulepreload">
24
+ <link href="../_app/immutable/chunks/CsaWd8kG.js" rel="modulepreload">
25
25
  <link href="../_app/immutable/chunks/BYcBM-fh.js" rel="modulepreload">
26
- <link href="../_app/immutable/chunks/D2Ykv2Y3.js" rel="modulepreload">
27
- <link href="../_app/immutable/chunks/GVQNHDp5.js" rel="modulepreload">
28
- <link href="../_app/immutable/chunks/DzRTyOpH.js" rel="modulepreload">
29
- <link href="../_app/immutable/chunks/D8rEUyzO.js" rel="modulepreload">
26
+ <link href="../_app/immutable/chunks/BeJxxDXZ.js" rel="modulepreload">
27
+ <link href="../_app/immutable/chunks/Dg4KRWOz.js" rel="modulepreload">
28
+ <link href="../_app/immutable/chunks/D_xoWitl.js" rel="modulepreload">
30
29
  <link href="../_app/immutable/chunks/d934w91N.js" rel="modulepreload">
31
- <link href="../_app/immutable/chunks/D_U_DYjx.js" rel="modulepreload">
32
- <link href="../_app/immutable/chunks/ORlJSBRk.js" rel="modulepreload">
33
- <link href="../_app/immutable/chunks/Dyf3Cj8R.js" rel="modulepreload">
34
- <link href="../_app/immutable/chunks/exPME6UK.js" rel="modulepreload">
35
- <link href="../_app/immutable/chunks/DypPefJO.js" rel="modulepreload">
36
- <link href="../_app/immutable/chunks/BPsie9Wr.js" rel="modulepreload">
30
+ <link href="../_app/immutable/chunks/C6HSENij.js" rel="modulepreload">
31
+ <link href="../_app/immutable/chunks/DziaAoFY.js" rel="modulepreload">
32
+ <link href="../_app/immutable/chunks/CiNYyHrL.js" rel="modulepreload">
33
+ <link href="../_app/immutable/chunks/BU0vd8nA.js" rel="modulepreload">
34
+ <link href="../_app/immutable/chunks/Cmh0yR4f.js" rel="modulepreload">
37
35
  <link href="../_app/immutable/chunks/BMgzWMdF.js" rel="modulepreload">
38
36
  <link href="../_app/immutable/chunks/CgAkqYsL.js" rel="modulepreload">
39
- <link href="../_app/immutable/nodes/3.DOL1VeVM.js" rel="modulepreload">
40
- <link href="../_app/immutable/chunks/C3nKLKKd.js" rel="modulepreload">
41
- <link href="../_app/immutable/chunks/CXKa_xdk.js" rel="modulepreload">
37
+ <link href="../_app/immutable/nodes/3.D6l9gEJu.js" rel="modulepreload">
38
+ <link href="../_app/immutable/chunks/Ywu-998J.js" rel="modulepreload">
39
+ <link href="../_app/immutable/chunks/C7boms_S.js" rel="modulepreload">
42
40
  <!--1vy8ks8--><!----><style id="smrt-cascade-layers">@layer smrt.reset, smrt.structure, smrt.theme;</style><!----><!----><!--72mmow--><!----><title>Advanced Styles · smrt planner</title>
43
- <link href="../_app/immutable/assets/feedback.qFktqYFY.css" rel="stylesheet">
44
41
  <link href="../_app/immutable/assets/currency-metadata.ksbBA8-C.css" rel="stylesheet">
45
- <link href="../_app/immutable/assets/app.4ScdTV_S.css" rel="stylesheet">
42
+ <link href="../_app/immutable/assets/app.BHwMQ9Zv.css" rel="stylesheet">
43
+ <link href="../_app/immutable/assets/feedback.qFktqYFY.css" rel="stylesheet">
46
44
  <link href="../_app/immutable/assets/SegmentedControl.DMqHG5fn.css" rel="stylesheet">
47
45
  <link href="../_app/immutable/assets/webmcp-ui-context.hO24Ni5w.css" rel="stylesheet">
48
46
  <link href="../_app/immutable/assets/data.CVlX_W0i.css" rel="stylesheet">
49
- <link href="../_app/immutable/assets/forms.DXOeP4wZ.css" rel="stylesheet">
50
- <link href="../_app/immutable/assets/AppShell.DrL8T9I9.css" rel="stylesheet">
51
- <link href="../_app/immutable/assets/workspace.C40zM0Mb.css" rel="stylesheet">
47
+ <link href="../_app/immutable/assets/forms.BRdbPdvs.css" rel="stylesheet">
48
+ <link href="../_app/immutable/assets/AppShell.BkKNrxND.css" rel="stylesheet">
52
49
  <link href="../_app/immutable/assets/SectionIcons.BGFcFuOf.css" rel="stylesheet">
53
50
  <link href="../_app/immutable/assets/SectionActions.BE1CPmxk.css" rel="stylesheet">
54
- <link href="../_app/immutable/assets/0.C8CwV4Fz.css" rel="stylesheet">
55
- <link href="../_app/immutable/assets/labels.AVmg4hBz.css" rel="stylesheet">
51
+ <link href="../_app/immutable/assets/0.BaRFeYGU.css" rel="stylesheet">
52
+ <link href="../_app/immutable/assets/labels.Dxa6EyRI.css" rel="stylesheet">
56
53
  <link href="../_app/immutable/assets/3.D518dbB5.css" rel="stylesheet">
54
+ <link href="../_app/immutable/assets/workspace.C40zM0Mb.css" rel="stylesheet">
55
+ <link href="../_app/immutable/assets/planner.DOQVfcOi.css" rel="stylesheet">
57
56
  </head>
58
57
  <body data-sveltekit-preload-data="hover">
59
58
  <div style="display: contents"><!--[--><!--[0--><!--[--><!--[-1--><!--]--> <div class="shell-host svelte-12qhfyh"><!--[-1--><!--]--> <!----> <div class="smrt-theme-root svelte-1vy8ks8" data-theme="smrt" data-color-scheme="light" data-contrast="standard" data-smrt-component="ThemeProvider"><!--[-1--><div class="smrt-admin-shell svelte-1ifuk0b" data-top-state="collapsed" data-left-state="expanded" data-right-state="collapsed" data-bottom-state="hidden" data-viewport="desktop" data-bottom-bar="none" style="--smrt-admin-shell-left-track: 16rem; --smrt-admin-shell-right-track: 0rem; --smrt-admin-shell-top-track: 3.5rem; --smrt-admin-shell-bottom-track: 0rem; --smrt-admin-shell-left-collapsed: 4.25rem; --smrt-admin-shell-right-collapsed: 0rem; --smrt-admin-shell-left-expanded: 16rem; --smrt-admin-shell-right-expanded: 20rem; --smrt-admin-shell-top-expanded: 18rem; --smrt-admin-shell-bottom-expanded: 18rem; --smrt-admin-shell-bottom-track: 0rem; --smrt-admin-shell-right-track: 0rem; --smrt-admin-shell-header-track: 0rem; --smrt-admin-shell-phone-bar-track: 0rem; --smrt-shell-floating-reserve-inline: 0px; --smrt-shell-floating-reserve-block: 0px; --smrt-shell-floating-reserve-main: 0px" data-smrt-component="AdminShell"><!--[-1--><!--]--> <!--[-1--><!--]--><!----> <!--[0--><header id="smrt-admin-shell-top-panel" class="smrt-admin-shell__edge smrt-admin-shell__edge--top svelte-1ifuk0b" data-state="collapsed" data-presentation="overlay" style="--smrt-admin-shell-edge-columns: 0px minmax(0, 1fr) 0px;"><!--[-1--><!--]--> <div class="smrt-admin-shell__band smrt-admin-shell__band--top svelte-1ifuk0b" style="--smrt-admin-shell-band-column: 2;"><!--[-1--><!--[-1--><!--]--> <!--[-1--><!--]--><!--]--> <!--[0--><div class="smrt-admin-shell__tenant-opener svelte-1ifuk0b"><button type="button" class="smrt-admin-shell__chrome-button svelte-1ifuk0b" data-smrt-part="trigger" aria-label="Menu" title="Menu" aria-expanded="true" aria-controls="smrt-admin-shell-left-panel"><svg viewBox="0 0 24 24" width="20" height="20" fill="currentColor" aria-hidden="true" focusable="false"><path d="M3 18h18v-2H3v2zm0-5h18v-2H3v2zm0-7v2h18V6H3z"></path></svg></button><!----></div><!--]--> <!--[1--><div class="smrt-admin-shell__slot smrt-admin-shell__slot--header-start svelte-1ifuk0b" data-slot="header.start"><!--[--><!--[--><!--[1--><!--[0--><a class="smrt-admin-shell__brand smrt-admin-shell__brand-link svelte-r3uxsf" href="../" aria-label="Planner"><!--[-1--><!--[0--><img class="smrt-admin-shell__logo svelte-r3uxsf" src="data:image/svg+xml,%3csvg%20xmlns='http://www.w3.org/2000/svg'%20viewBox='0%200%20128%20128'%20role='img'%3e%3cdefs%3e%3clinearGradient%20id='flame'%20x1='26'%20y1='16'%20x2='101'%20y2='112'%20gradientUnits='userSpaceOnUse'%3e%3cstop%20stop-color='%23f05b2b'/%3e%3cstop%20offset='1'%20stop-color='%23c9381e'/%3e%3c/linearGradient%3e%3clinearGradient%20id='heat'%20x1='51'%20y1='49'%20x2='72'%20y2='111'%20gradientUnits='userSpaceOnUse'%3e%3cstop%20stop-color='%23ffd33d'/%3e%3cstop%20offset='1'%20stop-color='%23f2a817'/%3e%3c/linearGradient%3e%3c/defs%3e%3cpath%20fill='url(%23flame)'%20d='M64%205c-3%2018-15%2026-13%2043-9-5-13-13-13-22C20%2043%2015%2062%2022%2082c7%2022%2023%2037%2042%2041%2022-4%2039-21%2043-43%203-17-3-32-18-45%202%2011%200%2018-6%2025C84%2036%2075%2019%2064%205Z'%20/%3e%3cpath%20fill='url(%23heat)'%20d='M64%2045c-2%2015-14%2022-13%2038-5-4-8-9-9-15-7%2010-8%2020-4%2030%205%2012%2014%2020%2026%2023%2013-3%2023-12%2027-25%203-11%200-20-8-29%200%207-2%2012-6%2016%201-16-5-27-13-38Z'%20/%3e%3c!--%20The%20glasses%20render%20as%20two%20stacked%20stroke%20groups:%20a%20pale%20warm%20casing%20under%20a%20dark%20warm-charcoal%20stroke.%20The%20casing%20keeps%20the%20dark%20strokes%20legible%20where%20they%20leave%20the%20flame%20body%20(temple%20tips,%20lower%20rims)%20on%20dark%20backgrounds,%20and%20reads%20as%20a%20rim%20light%20against%20the%20flame%20on%20light%20ones.%20--%3e%3cg%20fill='none'%20stroke='%23ffe3ae'%20stroke-opacity='0.85'%20stroke-linecap='round'%20stroke-linejoin='round'%3e%3cpath%20stroke-width='14'%20d='M7%2063c12-4%2027-5%2043-1M78%2062c16-4%2031-3%2043%201'/%3e%3crect%20x='12'%20y='58'%20width='46'%20height='35'%20rx='13'%20stroke-width='14'/%3e%3crect%20x='70'%20y='58'%20width='46'%20height='35'%20rx='13'%20stroke-width='14'/%3e%3cpath%20stroke-width='13'%20d='M57%2066c5-4%209-4%2014%200'/%3e%3c/g%3e%3cg%20fill='none'%20stroke='%2333221b'%20stroke-linecap='round'%20stroke-linejoin='round'%3e%3cpath%20stroke-width='8'%20d='M7%2063c12-4%2027-5%2043-1M78%2062c16-4%2031-3%2043%201'/%3e%3crect%20x='12'%20y='58'%20width='46'%20height='35'%20rx='13'%20stroke-width='8'/%3e%3crect%20x='70'%20y='58'%20width='46'%20height='35'%20rx='13'%20stroke-width='8'/%3e%3cpath%20stroke-width='7'%20d='M57%2066c5-4%209-4%2014%200'/%3e%3c/g%3e%3c/svg%3e" alt=""/><!--]--> <!--[-1--><div class="smrt-admin-shell__brand-text svelte-r3uxsf wordmark"><strong class="svelte-r3uxsf">Planner</strong><!--[-1--><!--]--></div><!--]--><!--]--><!----></a><!--]--><!----><!--]--><!--[1--><span class="smrt-layout-toggle svelte-1pgtgoi" data-testid="layout-edit-toggle"><button type="button" class="smrt-shell-icon-button svelte-1mggjot" aria-label="Edit layout" title="Edit layout" aria-pressed="false" data-smrt-component="ShellIconButton"><!--[1--><svg viewBox="0 0 24 24" width="18" height="18" fill="currentColor" aria-hidden="true" focusable="false"><path d="M3 17.25V21h3.75L17.81 9.94l-3.75-3.75L3 17.25zM20.71 7.04a1 1 0 0 0 0-1.41l-2.34-2.34a1 1 0 0 0-1.41 0l-1.83 1.83 3.75 3.75 1.83-1.83z"></path></svg><!--]--></button><!----></span><!----><!--]--><!--]--><!----><!--]--></div><!--]--><!----> <!--[1--><div class="smrt-admin-shell__slot smrt-admin-shell__slot--header-center svelte-1ifuk0b" data-slot="header.center"><!--[--><!--[--><!--[1--><!--[0--><!--[-1--><button type="button" aria-busy="false" class="smrt-button__root smrt-button__ghost smrt-button__sm smrt-command-palette-trigger svelte-1yq1ej5" aria-label="Search" aria-haspopup="dialog" aria-expanded="false" aria-keyshortcuts="Control+K Meta+K" data-smrt-component="Button"><!--[-1--><!--]--> <span class="smrt-button__content svelte-1yq1ej5" data-smrt-part="label"><svg viewBox="0 0 24 24" width="18" height="18" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" aria-hidden="true" focusable="false"><circle cx="11" cy="11" r="7"></circle><path d="m20 20-3.5-3.5"></path></svg> <!--[0--><span class="smrt-command-palette-trigger__label svelte-122kczf">Search</span> <!--[0--><kbd class="smrt-command-palette-trigger__hint svelte-122kczf">Ctrl+K</kbd><!--]--><!--]--><!----></span></button><!--]--><!--]--> <!--$s1--><dialog class="modal modal--md modal--center svelte-1ebmadl" aria-label="Search" data-smrt-component="Modal"><div class="modal__container svelte-1ebmadl"><!--[-1--><!--]--> <div class="modal__body svelte-1ebmadl" data-smrt-part="body"><!--[0--><div class="smrt-command-palette svelte-c516pr"><div class="smrt-command-palette__field svelte-c516pr"><svg class="smrt-command-palette__search-icon svelte-c516pr" viewBox="0 0 24 24" width="18" height="18" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" aria-hidden="true" focusable="false"><circle cx="11" cy="11" r="7"></circle><path d="m20 20-3.5-3.5"></path></svg> <input type="text" value="" placeholder="Search or run a command" aria-label="Search" class="smrt-input__root smrt-command-palette__input svelte-zo4qku" role="combobox" aria-expanded="false" aria-controls="smrt-palette-list-s1" aria-autocomplete="list" autocomplete="off" autocapitalize="off" spellcheck="false" enterkeyhint="go" data-smrt-component="Input"/><!----></div> <div class="smrt-command-palette__list svelte-c516pr" id="smrt-palette-list-s1" role="listbox" aria-label="Results" aria-busy="false"><!--[--><!--]--></div> <!--[0--><p class="smrt-command-palette__empty svelte-c516pr"></p><!--]--> <div class="smrt-command-palette__hints svelte-c516pr" aria-hidden="true"><span><kbd class="svelte-c516pr">↑</kbd><kbd class="svelte-c516pr">↓</kbd> to move</span> <span><kbd class="svelte-c516pr">↵</kbd> to select</span> <span><kbd class="svelte-c516pr">Esc</kbd> to close</span></div> <div class="smrt-command-palette__live svelte-c516pr" role="status" aria-live="polite"></div></div><!----><!--]--></div> <!--[-1--><!--]--></div></dialog><!----><!----><!--]--><!--]--><!----><!--]--></div><!--]--><!----> <!--[-1--><!--]--> <!--[1--><div class="smrt-admin-shell__slot smrt-admin-shell__slot--header-end svelte-1ifuk0b" data-slot="header.end"><!--[--><!--[--><!--[1--><a class="header-link svelte-d0fjw8" href="../" aria-label="Plan the app" title="Plan the app" style="--smrt-header-icon-link-transition-name: planner-customize;"><svg xmlns="http://www.w3.org/2000/svg" width="18px" height="18px" viewBox="0 0 24 24" fill="currentColor" aria-hidden="true" data-smrt-component="Icon" class="svelte-em2a54"><path d="M4 9.5a3.5 3.5 0 1 1 7 0a3.5 3.5 0 1 1-7 0zM13 9.5a3.5 3.5 0 1 1 7 0a3.5 3.5 0 1 1-7 0zM8 7a4 4 0 1 1 8 0a4 4 0 1 1-8 0zM6 9.5h12V15H6zM7 16.5h10a1 1 0 0 1 1 1V19a1 1 0 0 1-1 1H7a1 1 0 0 1-1-1v-1.5a1 1 0 0 1 1-1z"></path></svg><!----></a><!----><!--]--><!--[1--><a class="header-link svelte-d0fjw8" href="../?tab=export" aria-label="Export the app" title="Export the app" style="--smrt-header-icon-link-transition-name: planner-export;"><svg xmlns="http://www.w3.org/2000/svg" width="18px" height="18px" viewBox="0 0 24 24" fill="currentColor" aria-hidden="true" data-smrt-component="Icon" class="svelte-em2a54"><path d="M11 3h2v9l4-4 1.5 1.5L12 16l-6.5-6.5L7 8l4 4V3zM3 18h18v3H3v-3z"></path></svg><!----></a><!----><!--]--><!--[0--><!--[0--><div class="smrt-dock-toggles svelte-1u9e85z" data-testid="dock-toggles"><!--[--><!--[0--><a class="smrt-dock-toggles__button svelte-1u9e85z" href="../ai/" data-dock-tool="assistant" aria-label="Set up the assistant" title="Set up the assistant"><!--[0--><svg viewBox="0 0 24 24" width="20" height="20" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" aria-hidden="true"><path d="M21 11.5a8.5 8.5 0 0 1-12.4 7.5L3 20.5l1.6-5A8.5 8.5 0 1 1 21 11.5z"></path></svg><!--]--><!----></a><!--]--><!--]--></div><!--]--><!--]--><!--]--><!----><!--]--></div><!--]--><!----> <!--[-1--><!--]--> <!--[-1--><!--]--><!----></div> <!--[-1--><!--]--> <!--[-1--><!--]--></header><!--]--> <!--[-1--><!--]--><!----> <!--[0--><aside id="smrt-admin-shell-left-panel" class="smrt-admin-shell__edge smrt-admin-shell__edge--left svelte-1ifuk0b" data-state="expanded" data-presentation="push" aria-label="Left sidebar"><!--[-1--><!--]--><!----> <div class="smrt-admin-shell__rail svelte-1ifuk0b"><!--[-1--><!--]--><!----> <!--[-1--><!--]--> <!--[0--><div class="smrt-admin-shell__tenant-stack svelte-1ifuk0b"><!--[-1--><!--]--><!----> <div class="smrt-admin-shell__tenant-content svelte-1ifuk0b"><!--[0--><!--[-1--><!--]--><!----><!--]--></div> <!--[0--><div class="smrt-admin-shell__tenant-utilities svelte-1ifuk0b" data-smrt-part="utilities"><!--[0--><span class="smrt-app-shell-color-scheme svelte-1dzfp19" data-smrt-component="ShellColorSchemeToggle"><button type="button" class="smrt-shell-icon-button svelte-1mggjot" aria-label="Dark mode" title="Switch to dark mode" aria-pressed="false" data-smrt-component="ShellIconButton"><!--[1--><svg viewBox="0 0 24 24" width="18" height="18" fill="currentColor" aria-hidden="true" focusable="false"><path d="M12 3c-4.97 0-9 4.03-9 9s4.03 9 9 9 9-4.03 9-9c0-.46-.04-.92-.1-1.36-.98 1.37-2.58 2.26-4.4 2.26-2.98 0-5.4-2.42-5.4-5.4 0-1.81.89-3.42 2.26-4.4-.44-.06-.9-.1-1.36-.1z"></path></svg><!--]--></button><!----></span><!----><!--]--> <!--[0--><!--[0--><!--[-1--><button type="button" aria-busy="false" class="smrt-button__root smrt-button__ghost smrt-button__sm smrt-admin-shell__edge-toggle smrt-admin-shell__edge-toggle--left svelte-1yq1ej5" aria-label="Collapse sidebar" title="Collapse sidebar" aria-expanded="true" aria-controls="smrt-admin-shell-left-panel" data-smrt-component="Button"><!--[-1--><!--]--> <span class="smrt-button__content svelte-1yq1ej5" data-smrt-part="label"><svg class="smrt-admin-shell__edge-toggle-chevron" viewBox="0 0 24 24" width="18" height="18" fill="currentColor" aria-hidden="true" focusable="false"><path d="M10 6L8.59 7.41 13.17 12l-4.58 4.59L10 18l6-6z"></path></svg><!--[-1--><!--]--><!----><!----></span></button><!--]--><!--]--><!--]--></div><!--]--> <!--[-1--><!--]--> <!--[1--><div class="smrt-admin-shell__slot smrt-admin-shell__slot--leftSidebar-footer svelte-1ifuk0b" data-slot="leftSidebar.footer"><!--[--><!--[--><!--[1--><div class="ai-status svelte-nioco2" role="group" aria-label="AI models"><!--[--><a href="../ai/" class="cap svelte-nioco2" data-state="available" aria-label="Think: not set up" title="Think: not set up"><svg xmlns="http://www.w3.org/2000/svg" width="20px" height="20px" viewBox="0 0 24 24" fill="currentColor" aria-hidden="true" data-smrt-component="Icon" class="svelte-em2a54"><path d="M11 4.2C10.4 3 8.6 2.8 7.6 3.8C6.2 3.6 5 4.8 5.2 6.1C3.8 6.6 3.3 8.2 4.1 9.3C3 10.2 3 11.9 4 12.8C3.6 14.2 4.4 15.6 5.8 15.9C6.2 17.3 7.6 18.2 9 17.9C9.7 19.2 11 19.6 11 19.6ZM13 4.2 C13.6 3 15.4 2.8 16.4 3.8 C17.8 3.6 19 4.8 18.8 6.1 C20.2 6.6 20.7 8.2 19.9 9.3 C21 10.2 21 11.9 20 12.8 C20.4 14.2 19.6 15.6 18.2 15.9 C17.8 17.3 16.4 18.2 15 17.9 C14.3 19.2 13 19.6 13 19.6 ZM10.2 7.4C8.6 7.8 7.5 7 7 6.2L7.7 5.8C8.2 6.5 9 6.8 10 6.5ZM10.3 11C8.4 11.6 6.6 10.8 5.9 9.6L6.6 9.2C7.2 10.2 8.6 10.7 10.1 10.2ZM10.2 15C8.5 15.6 6.8 15 6 13.9L6.7 13.5C7.4 14.3 8.6 14.6 10 14.2ZM13.8 7.4 C15.4 7.8 16.5 7 17 6.2 L16.3 5.8 C15.8 6.5 15 6.8 14 6.5 ZM13.7 11 C15.6 11.6 17.4 10.8 18.1 9.6 L17.4 9.2 C16.8 10.2 15.4 10.7 13.9 10.2 ZM13.8 15 C15.5 15.6 17.2 15 18 13.9 L17.3 13.5 C16.6 14.3 15.4 14.6 14 14.2 Z"></path></svg><!----></a><a href="../ai/" class="cap svelte-nioco2" data-state="available" aria-label="Hear: not set up" title="Hear: not set up"><svg xmlns="http://www.w3.org/2000/svg" width="20px" height="20px" viewBox="0 0 24 24" fill="currentColor" aria-hidden="true" data-smrt-component="Icon" class="svelte-em2a54"><path d="M17 20c-.29 0-.56-.06-.76-.15-.71-.37-1.21-.88-1.71-2.38-.51-1.56-1.47-2.29-2.39-3-.79-.61-1.61-1.24-2.32-2.53C9.29 10.98 9 9.93 9 9c0-2.8 2.2-5 5-5s5 2.2 5 5h2c0-3.93-3.07-7-7-7S7 5.07 7 9c0 1.26.38 2.65 1.07 3.9.91 1.65 1.98 2.48 2.85 3.15.81.62 1.39 1.07 1.71 2.05.6 1.82 1.37 2.84 2.73 3.55.51.23 1.07.35 1.64.35 2.21 0 4-1.79 4-4h-2c0 1.1-.9 2-2 2zM7.64 2.64L6.22 1.22C4.23 3.21 3 5.96 3 9s1.23 5.79 3.22 7.78l1.41-1.41C6.01 13.74 5 11.49 5 9s1.01-4.74 2.64-6.36zM11.5 9c0 1.38 1.12 2.5 2.5 2.5s2.5-1.12 2.5-2.5-1.12-2.5-2.5-2.5-2.5 1.12-2.5 2.5z"></path></svg><!----></a><a href="../ai/" class="cap svelte-nioco2" data-state="available" aria-label="Speak: not switched on" title="Speak: not switched on"><svg xmlns="http://www.w3.org/2000/svg" width="20px" height="20px" viewBox="0 0 24 24" fill="currentColor" aria-hidden="true" data-smrt-component="Icon" class="svelte-em2a54"><path d="M3 9v6h4l5 5V4L7 9H3zm13.5 3c0-1.77-1.02-3.29-2.5-4.03v8.05c1.48-.73 2.5-2.25 2.5-4.02zM14 3.23v2.06c2.89.86 5 3.54 5 6.71s-2.11 5.85-5 6.71v2.06c4.01-.91 7-4.49 7-8.77s-2.99-7.86-7-8.77z"></path></svg><!----></a><!--]--></div><!----><!--]--><!--[1--><!--$s2--><div class="smrt-workspace-account-menu svelte-1703h4r" title="You" data-smrt-component="WorkspaceAccountMenu"><button type="button" class="smrt-workspace-account-menu__trigger svelte-1703h4r" data-smrt-part="trigger" aria-haspopup="menu" aria-expanded="false" disabled=""><span class="smrt-workspace-account-menu__open svelte-1703h4r">Open account menu</span> <span class="avatar sm svelte-3d1ux4" aria-hidden="true" data-smrt-component="Avatar"><!--[-1--><span class="avatar__initials svelte-3d1ux4" role="img" aria-label="You">YO</span><!--]--> <!--[-1--><!--]--></span><!----> <span class="smrt-workspace-account-menu__identity svelte-1703h4r"><span class="smrt-workspace-account-menu__summary svelte-1703h4r">You</span> <!--[-1--><!--]--></span> <span class="smrt-workspace-account-menu__indicator svelte-1703h4r" aria-hidden="true">•••</span></button> <!--[-1--><!--]--></div><!----><!--]--><!--]--><!----><!--]--></div><!--]--><!----></div><!--]--> <!--[-1--><!--]--> <!--[-1--><!--]--></div></aside><!--]--> <main id="smrt-admin-shell-main" class="smrt-admin-shell__main svelte-1ifuk0b"><div class="smrt-layout-live svelte-1pgtgoi" role="status" aria-live="polite"></div> <!--[-1--><!--]--> <!--[-1--><!--]--> <!--[0--><!--[0--><!----><!--]--><!--]--> <!--[-1--><!--]--> <!--[-1--><!--]--> <!--[-1--><!--]--> <!----> <span hidden="" data-smrt-planner-anchor=""></span><!----> <!--[--><main class="svelte-72mmow"><section class="advanced-styles svelte-zdw9y8" aria-labelledby="advanced-styles-title"><a class="back svelte-zdw9y8" href="../?tab=theme">← Back to Theme</a> <div class="heading svelte-zdw9y8"><div><h1 id="advanced-styles-title" class="svelte-zdw9y8">Advanced Styles</h1> <p class="svelte-zdw9y8">Make this app your own with CSS. Changes appear as you type and are saved with your cookbook.</p></div> <span class="live svelte-zdw9y8"><span aria-hidden="true" class="svelte-zdw9y8"></span>Live preview</span></div> <!--[-1--><!--]--> <label for="advanced-css" class="svelte-zdw9y8">Custom CSS</label> <div class="editor svelte-zdw9y8"><pre aria-hidden="true" class="svelte-zdw9y8"><code><!--[--><!--]--></code></pre> <textarea id="advanced-css" spellcheck="false" maxlength="65536" wrap="off" placeholder="/* Add your app styles here */" aria-describedby="advanced-css-help" class="svelte-zdw9y8"></textarea></div> <p id="advanced-css-help" class="help svelte-zdw9y8">Ask your agent to write styles here, or start with a selector like <code>.smrt-admin-shell</code>. Clearing the editor removes your custom styles. Styles apply only inside the app shell and cannot load files from other sites; add <code>?styles=off</code> to the address to turn them off.</p></section><!----></main><!--]--><!----><!----><!----></main> <!--[-1--><!--]--> <!--[-1--><!--]--> <!--[-1--><!--]--> <!--[-1--><!--]--><!----> <!--[-1--><!--]--> <!--[-1--><!--]--> <!--[-1--><!--]--><!----> <!--[-1--><!--]--> <!--[-1--><!--]--> <!--[-1--><!--]--> <!--[-1--><!--]--></div><!--]--><!----></div><!----><!----><!----></div><!--]--><!--]--> <!--[-1--><!--]--><!--]-->
60
59
 
61
60
  <script>
62
61
  {
63
- __sveltekit_1hn4qm0 = {
62
+ __sveltekit_pcfagm = {
64
63
  base: new URL("..", location).pathname.slice(0, -1)
65
64
  };
66
65
 
67
66
  const element = document.currentScript.parentElement;
68
67
 
69
68
  Promise.all([
70
- import("../_app/immutable/entry/start.C01jT-Kj.js"),
71
- import("../_app/immutable/entry/app.C_C191oT.js")
69
+ import("../_app/immutable/entry/start.C4bzxGdW.js"),
70
+ import("../_app/immutable/entry/app.g4Bu04a3.js")
72
71
  ]).then(([kit, app]) => {
73
72
  kit.start(app, element, {
74
73
  node_ids: [0, 3],