@happyvertical/smrt-planner 0.0.0-stage → 0.0.1

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 (815) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +170 -2
  3. package/app/404.html +80 -0
  4. package/app/_app/immutable/assets/0.B5zXkXe_.css +1 -0
  5. package/app/_app/immutable/assets/10.hpcnxvK1.css +1 -0
  6. package/app/_app/immutable/assets/11.D7zoXfVV.css +1 -0
  7. package/app/_app/immutable/assets/12.CPobm1ED.css +1 -0
  8. package/app/_app/immutable/assets/2.CyaWdRdI.css +1 -0
  9. package/app/_app/immutable/assets/3.BlPQOes8.css +1 -0
  10. package/app/_app/immutable/assets/8.2gQeKBp_.css +1 -0
  11. package/app/_app/immutable/assets/9.HOPT4xtg.css +1 -0
  12. package/app/_app/immutable/assets/AiSetup.Cb22AigN.css +1 -0
  13. package/app/_app/immutable/assets/Button.DkP0qkG9.css +1 -0
  14. package/app/_app/immutable/assets/ConnectTools.BgIJOOGW.css +1 -0
  15. package/app/_app/immutable/assets/FieldMapForm.BCU-4pO4.css +1 -0
  16. package/app/_app/immutable/assets/ModelPage.Dd3LcMta.css +1 -0
  17. package/app/_app/immutable/assets/SectionActions.CTkVuNMF.css +1 -0
  18. package/app/_app/immutable/assets/SectionIcons.5Udq9vN-.css +1 -0
  19. package/app/_app/immutable/assets/SegmentedControl.B8SrQacd.css +1 -0
  20. package/app/_app/immutable/assets/dist.C5nHBk_O.css +1 -0
  21. package/app/_app/immutable/assets/feedback.BVKAwFck.css +1 -0
  22. package/app/_app/immutable/assets/forms.BChZ2RWM.css +1 -0
  23. package/app/_app/immutable/assets/inter-latin-ext.B_-bZUTo.woff2 +0 -0
  24. package/app/_app/immutable/assets/inter-latin.8kRkwJBP.woff2 +0 -0
  25. package/app/_app/immutable/assets/jetbrains-mono-latin-ext.Bnd2h4Br.woff2 +0 -0
  26. package/app/_app/immutable/assets/jetbrains-mono-latin.Db4Uuiha.woff2 +0 -0
  27. package/app/_app/immutable/assets/ort-wasm-simd-threaded.asyncify.CxOG5pUO.wasm +0 -0
  28. package/app/_app/immutable/assets/percent.LH0z-ozZ.css +1 -0
  29. package/app/_app/immutable/assets/space-grotesk-latin-ext.wJGaI8U0.woff2 +0 -0
  30. package/app/_app/immutable/assets/space-grotesk-latin.DPT1xrvW.woff2 +0 -0
  31. package/app/_app/immutable/assets/store.CGDwHkkF.css +1 -0
  32. package/app/_app/immutable/assets/ui.B1A1Zl2p.css +1 -0
  33. package/app/_app/immutable/assets/workspace.BIMkuZDb.css +1 -0
  34. package/app/_app/immutable/chunks/1okeBSoq.js +1 -0
  35. package/app/_app/immutable/chunks/B32EWqI8.js +9 -0
  36. package/app/_app/immutable/chunks/B4Kevpe0.js +1 -0
  37. package/app/_app/immutable/chunks/BJfAXhak.js +3 -0
  38. package/app/_app/immutable/chunks/BKwRT_1p.js +1 -0
  39. package/app/_app/immutable/chunks/BQxY8kkL.js +1 -0
  40. package/app/_app/immutable/chunks/BS4h9ES-.js +1 -0
  41. package/app/_app/immutable/chunks/BWPhGFHl.js +1 -0
  42. package/app/_app/immutable/chunks/BYcBM-fh.js +1 -0
  43. package/app/_app/immutable/chunks/BYde9M_U.js +1 -0
  44. package/app/_app/immutable/chunks/BegKiy2G.js +1 -0
  45. package/app/_app/immutable/chunks/Bjy-W4x2.js +81 -0
  46. package/app/_app/immutable/chunks/C7zBd-pD.js +1 -0
  47. package/app/_app/immutable/chunks/CA-A9Ngs.js +1 -0
  48. package/app/_app/immutable/chunks/CMhpRMKg.js +1 -0
  49. package/app/_app/immutable/chunks/CPRHZZeW.js +1 -0
  50. package/app/_app/immutable/chunks/CRQ1Pmzr.js +1 -0
  51. package/app/_app/immutable/chunks/CV-2zt0K.js +2 -0
  52. package/app/_app/immutable/chunks/CWtfVMDz.js +1 -0
  53. package/app/_app/immutable/chunks/CgAkqYsL.js +1 -0
  54. package/app/_app/immutable/chunks/Chyo8rdT.js +3 -0
  55. package/app/_app/immutable/chunks/CmmuWmp6.js +2 -0
  56. package/app/_app/immutable/chunks/CrFNLK0f.js +1 -0
  57. package/app/_app/immutable/chunks/CrO3W89x.js +1 -0
  58. package/app/_app/immutable/chunks/CyUMm_Wp.js +1 -0
  59. package/app/_app/immutable/chunks/CygC84VT.js +2 -0
  60. package/app/_app/immutable/chunks/D0VgZnk1.js +1 -0
  61. package/app/_app/immutable/chunks/D333l2GL.js +2 -0
  62. package/app/_app/immutable/chunks/D71UrO5c.js +1 -0
  63. package/app/_app/immutable/chunks/D7hhQvDO.js +1 -0
  64. package/app/_app/immutable/chunks/DD7gpKb2.js +1 -0
  65. package/app/_app/immutable/chunks/DJtH-lRi.js +3 -0
  66. package/app/_app/immutable/chunks/DNRgqfTx.js +1 -0
  67. package/app/_app/immutable/chunks/DRByVC-c.js +1 -0
  68. package/app/_app/immutable/chunks/DVRKjN-E.js +1 -0
  69. package/app/_app/immutable/chunks/D_J_XtJy.js +846 -0
  70. package/app/_app/immutable/chunks/Dbjm4OuC.js +1 -0
  71. package/app/_app/immutable/chunks/Dc4q22LH.js +42 -0
  72. package/app/_app/immutable/chunks/Dd_uD5pT.js +1 -0
  73. package/app/_app/immutable/chunks/Dp9GVO-9.js +1 -0
  74. package/app/_app/immutable/chunks/DqcD-WtP.js +1 -0
  75. package/app/_app/immutable/chunks/Dt-HX3Vu.js +1 -0
  76. package/app/_app/immutable/chunks/DyGfbRG-.js +1 -0
  77. package/app/_app/immutable/chunks/FbOxj-PF.js +69 -0
  78. package/app/_app/immutable/chunks/OJ_lLTHH.js +1 -0
  79. package/app/_app/immutable/chunks/QukgIHDX.js +1 -0
  80. package/app/_app/immutable/chunks/WxSPP8QW.js +4 -0
  81. package/app/_app/immutable/chunks/iET62IRm.js +2 -0
  82. package/app/_app/immutable/chunks/leQCwW2d.js +1 -0
  83. package/app/_app/immutable/chunks/p6bgzXiY.js +1 -0
  84. package/app/_app/immutable/chunks/uBIymjUX.js +1 -0
  85. package/app/_app/immutable/chunks/ufuM4XBq.js +33 -0
  86. package/app/_app/immutable/chunks/xihTtKlq.js +1 -0
  87. package/app/_app/immutable/entry/app.D5JJain6.js +2 -0
  88. package/app/_app/immutable/entry/start.CH9DJLgI.js +1 -0
  89. package/app/_app/immutable/nodes/0.CL1MxOva.js +10 -0
  90. package/app/_app/immutable/nodes/1.BO731RRg.js +1 -0
  91. package/app/_app/immutable/nodes/10.1nQxyH9H.js +4 -0
  92. package/app/_app/immutable/nodes/11.Cw0JnQF3.js +1 -0
  93. package/app/_app/immutable/nodes/12.BmZyLHbM.js +1 -0
  94. package/app/_app/immutable/nodes/2.BEw046av.js +17 -0
  95. package/app/_app/immutable/nodes/3.DvwpTAQA.js +1 -0
  96. package/app/_app/immutable/nodes/4.qrT4bnmS.js +1 -0
  97. package/app/_app/immutable/nodes/5.DDLa2uhV.js +1 -0
  98. package/app/_app/immutable/nodes/6.DN0QTY6z.js +1 -0
  99. package/app/_app/immutable/nodes/7.C_8N82Wq.js +1 -0
  100. package/app/_app/immutable/nodes/8.D2Mszsua.js +3 -0
  101. package/app/_app/immutable/nodes/9.CLYsywul.js +1 -0
  102. package/app/_app/immutable/workers/assets/ort-wasm-simd-threaded.asyncify-CxOG5pUO.wasm +0 -0
  103. package/app/_app/immutable/workers/llm.worker-wfCOG_uk.js +69 -0
  104. package/app/_app/immutable/workers/local-speech.worker-DWbfmFUk.js +51 -0
  105. package/app/_app/version.json +1 -0
  106. package/app/ai/index.html +89 -0
  107. package/app/blueprint/index.html +87 -0
  108. package/app/cookbook/index.html +87 -0
  109. package/app/index.html +103 -0
  110. package/app/m/ads/AdDeliveryTier/index.html +96 -0
  111. package/app/m/ads/AdEvent/index.html +96 -0
  112. package/app/m/ads/AdFormat/index.html +96 -0
  113. package/app/m/ads/AdGroup/index.html +96 -0
  114. package/app/m/ads/AdVariation/index.html +96 -0
  115. package/app/m/analytics/AnalyticsDataStream/index.html +96 -0
  116. package/app/m/analytics/AnalyticsEvent/index.html +96 -0
  117. package/app/m/analytics/AnalyticsProperty/index.html +96 -0
  118. package/app/m/analytics/AnalyticsReport/index.html +96 -0
  119. package/app/m/approvals/ApprovalEvent/index.html +96 -0
  120. package/app/m/approvals/ApprovalPolicy/index.html +96 -0
  121. package/app/m/approvals/ApprovalRequest/index.html +96 -0
  122. package/app/m/assets/Asset/index.html +96 -0
  123. package/app/m/assets/AssetAssociation/index.html +97 -0
  124. package/app/m/assets/AssetMetafield/index.html +96 -0
  125. package/app/m/assets/AssetStatus/index.html +96 -0
  126. package/app/m/assets/AssetType/index.html +96 -0
  127. package/app/m/assets/Folder/index.html +96 -0
  128. package/app/m/chat/AgentSession/index.html +96 -0
  129. package/app/m/chat/ChatMessage/index.html +97 -0
  130. package/app/m/chat/ChatParticipant/index.html +97 -0
  131. package/app/m/chat/ChatReaction/index.html +96 -0
  132. package/app/m/chat/ChatRoom/index.html +96 -0
  133. package/app/m/chat/ChatThread/index.html +97 -0
  134. package/app/m/chat/VoiceGatewayTurn/index.html +96 -0
  135. package/app/m/chat/VoiceSession/index.html +96 -0
  136. package/app/m/commerce/Agreement/index.html +96 -0
  137. package/app/m/commerce/Cart/index.html +96 -0
  138. package/app/m/commerce/Contract/index.html +96 -0
  139. package/app/m/commerce/ContractLineItem/index.html +97 -0
  140. package/app/m/commerce/Customer/index.html +96 -0
  141. package/app/m/commerce/Estimate/index.html +96 -0
  142. package/app/m/commerce/Fulfillment/index.html +96 -0
  143. package/app/m/commerce/FulfillmentLineItem/index.html +97 -0
  144. package/app/m/commerce/Invoice/index.html +96 -0
  145. package/app/m/commerce/InvoiceLineItem/index.html +97 -0
  146. package/app/m/commerce/Lease/index.html +96 -0
  147. package/app/m/commerce/LicenseSale/index.html +96 -0
  148. package/app/m/commerce/Order/index.html +96 -0
  149. package/app/m/commerce/Payment/index.html +96 -0
  150. package/app/m/commerce/PaymentAllocation/index.html +97 -0
  151. package/app/m/commerce/PaymentInstrument/index.html +96 -0
  152. package/app/m/commerce/PaymentIntent/index.html +96 -0
  153. package/app/m/commerce/Payout/index.html +96 -0
  154. package/app/m/commerce/ProductionOrder/index.html +96 -0
  155. package/app/m/commerce/PurchaseOrder/index.html +96 -0
  156. package/app/m/commerce/Vendor/index.html +96 -0
  157. package/app/m/commerce/WholesaleOrder/index.html +96 -0
  158. package/app/m/content/Content/index.html +96 -0
  159. package/app/m/content/ContentContribution/index.html +96 -0
  160. package/app/m/content/ContentContributionAttachment/index.html +96 -0
  161. package/app/m/content/ContentContributionRevision/index.html +96 -0
  162. package/app/m/content/ContentContributionType/index.html +96 -0
  163. package/app/m/content/ContentContributor/index.html +96 -0
  164. package/app/m/content/ContentCorrection/index.html +96 -0
  165. package/app/m/content/ContentFeedSource/index.html +96 -0
  166. package/app/m/content/ContentGovernanceAssignment/index.html +96 -0
  167. package/app/m/content/ContentGovernancePolicy/index.html +96 -0
  168. package/app/m/content/ContentGovernanceProfile/index.html +96 -0
  169. package/app/m/content/ContentReference/index.html +96 -0
  170. package/app/m/content/ContentReview/index.html +96 -0
  171. package/app/m/content/ContentVersion/index.html +96 -0
  172. package/app/m/content/Contents/index.html +96 -0
  173. package/app/m/events/Event/index.html +96 -0
  174. package/app/m/events/EventParticipant/index.html +97 -0
  175. package/app/m/events/EventSeries/index.html +96 -0
  176. package/app/m/events/EventType/index.html +96 -0
  177. package/app/m/facts/Fact/index.html +96 -0
  178. package/app/m/facts/FactContent/index.html +96 -0
  179. package/app/m/facts/FactEvidence/index.html +96 -0
  180. package/app/m/facts/FactSource/index.html +96 -0
  181. package/app/m/facts/FactSubject/index.html +96 -0
  182. package/app/m/facts/FactTag/index.html +96 -0
  183. package/app/m/fields/FieldPolicy/index.html +96 -0
  184. package/app/m/fields/FieldPolicySuggestion/index.html +96 -0
  185. package/app/m/fields/FieldUsageCounter/index.html +96 -0
  186. package/app/m/images/Image/index.html +96 -0
  187. package/app/m/inventory/InventoryLocation/index.html +96 -0
  188. package/app/m/inventory/StockLevel/index.html +96 -0
  189. package/app/m/inventory/StockMovement/index.html +96 -0
  190. package/app/m/ledgers/Account/index.html +96 -0
  191. package/app/m/ledgers/Journal/index.html +96 -0
  192. package/app/m/ledgers/JournalEntry/index.html +97 -0
  193. package/app/m/manufacturing/Assembly/index.html +96 -0
  194. package/app/m/manufacturing/BillOfMaterials/index.html +96 -0
  195. package/app/m/manufacturing/BomLine/index.html +96 -0
  196. package/app/m/manufacturing/Operation/index.html +96 -0
  197. package/app/m/manufacturing/ProductionRun/index.html +96 -0
  198. package/app/m/manufacturing/ProductionRunCompletion/index.html +96 -0
  199. package/app/m/manufacturing/RoutingStep/index.html +96 -0
  200. package/app/m/marketing/Campaign/index.html +96 -0
  201. package/app/m/marketing/CampaignChannel/index.html +96 -0
  202. package/app/m/marketing/CampaignMetricSnapshot/index.html +96 -0
  203. package/app/m/messages/Account/index.html +96 -0
  204. package/app/m/messages/Attachment/index.html +96 -0
  205. package/app/m/messages/Blacklist/index.html +96 -0
  206. package/app/m/messages/Email/failed-sends/index.html +96 -0
  207. package/app/m/messages/Email/index.html +96 -0
  208. package/app/m/messages/Email/mailbox/index.html +96 -0
  209. package/app/m/messages/EmailAccount/index.html +96 -0
  210. package/app/m/messages/EmailFolder/index.html +96 -0
  211. package/app/m/messages/Message/index.html +96 -0
  212. package/app/m/messages/MessagingEndpoint/index.html +96 -0
  213. package/app/m/messages/PersonaMessageRoute/index.html +96 -0
  214. package/app/m/messages/SlackAccount/index.html +96 -0
  215. package/app/m/messages/SlackMessage/index.html +96 -0
  216. package/app/m/messages/TelegramAccount/index.html +96 -0
  217. package/app/m/messages/Tweet/index.html +96 -0
  218. package/app/m/messages/TwitterAccount/index.html +96 -0
  219. package/app/m/messages/Whitelist/index.html +96 -0
  220. package/app/m/messages/ZulipAccount/index.html +96 -0
  221. package/app/m/places/Place/index.html +96 -0
  222. package/app/m/places/PlaceType/index.html +96 -0
  223. package/app/m/preferences/UiPreferenceRecord/index.html +96 -0
  224. package/app/m/products/Category/index.html +96 -0
  225. package/app/m/products/Material/index.html +96 -0
  226. package/app/m/products/Product/index.html +96 -0
  227. package/app/m/products/Product/ingredients/index.html +96 -0
  228. package/app/m/products/ProductVariant/index.html +97 -0
  229. package/app/m/products/Sku/index.html +97 -0
  230. package/app/m/profiles/ApiKey/index.html +96 -0
  231. package/app/m/profiles/Bot/index.html +96 -0
  232. package/app/m/profiles/MagicLinkToken/index.html +96 -0
  233. package/app/m/profiles/NostrIdentity/index.html +96 -0
  234. package/app/m/profiles/OidcIdentity/index.html +96 -0
  235. package/app/m/profiles/Organization/index.html +96 -0
  236. package/app/m/profiles/Person/index.html +96 -0
  237. package/app/m/profiles/Profile/index.html +96 -0
  238. package/app/m/profiles/ProfileMetadata/index.html +96 -0
  239. package/app/m/profiles/ProfileMetafield/index.html +96 -0
  240. package/app/m/profiles/ProfileRelationship/index.html +96 -0
  241. package/app/m/profiles/ProfileRelationshipTerm/index.html +96 -0
  242. package/app/m/profiles/ProfileRelationshipType/index.html +96 -0
  243. package/app/m/profiles/ProfileType/index.html +96 -0
  244. package/app/m/projects/Comment/index.html +97 -0
  245. package/app/m/projects/Issue/index.html +96 -0
  246. package/app/m/projects/Label/index.html +96 -0
  247. package/app/m/projects/Project/index.html +96 -0
  248. package/app/m/projects/ProjectIntegration/index.html +96 -0
  249. package/app/m/projects/PullRequest/index.html +96 -0
  250. package/app/m/projects/Repository/index.html +96 -0
  251. package/app/m/properties/Property/index.html +96 -0
  252. package/app/m/properties/Zone/index.html +96 -0
  253. package/app/m/reports/RuntimeReport/index.html +96 -0
  254. package/app/m/reports/SmrtPrincipalReportRefreshTask/index.html +96 -0
  255. package/app/m/reports/SmrtReportLock/index.html +96 -0
  256. package/app/m/reports/SmrtReportRefreshTask/index.html +96 -0
  257. package/app/m/reports/SmrtReportRun/index.html +96 -0
  258. package/app/m/reports/SmrtReportSchedule/index.html +96 -0
  259. package/app/m/reports/SmrtReportWatermark/index.html +96 -0
  260. package/app/m/sales/AttributionException/index.html +96 -0
  261. package/app/m/sales/AttributionPolicy/index.html +96 -0
  262. package/app/m/sales/Commission/index.html +96 -0
  263. package/app/m/sales/CommissionAdjustment/index.html +96 -0
  264. package/app/m/sales/CommissionPayout/index.html +96 -0
  265. package/app/m/sales/CommissionPlan/index.html +96 -0
  266. package/app/m/sales/Earner/index.html +96 -0
  267. package/app/m/sales/EarnerSourceAttribution/index.html +96 -0
  268. package/app/m/sales/EarningEvent/index.html +96 -0
  269. package/app/m/sales/ExecutedAgreement/index.html +96 -0
  270. package/app/m/sales/Lead/index.html +96 -0
  271. package/app/m/sales/Opportunity/index.html +96 -0
  272. package/app/m/sales/OpportunityConversion/index.html +96 -0
  273. package/app/m/sales/PipelineDefinition/index.html +96 -0
  274. package/app/m/sales/PipelineStage/index.html +97 -0
  275. package/app/m/sales/Referral/index.html +96 -0
  276. package/app/m/sales/ReferralAgreement/index.html +96 -0
  277. package/app/m/sales/ReferralLink/index.html +96 -0
  278. package/app/m/sales/ReferralProgram/index.html +96 -0
  279. package/app/m/sales/ReferralTermSnapshot/index.html +96 -0
  280. package/app/m/sales/ReferralTouch/index.html +96 -0
  281. package/app/m/sales/Referrer/index.html +96 -0
  282. package/app/m/sales/SalesActivity/index.html +96 -0
  283. package/app/m/sales/SalesRepresentative/index.html +96 -0
  284. package/app/m/sites/Site/index.html +96 -0
  285. package/app/m/sites/SiteAgentBinding/index.html +96 -0
  286. package/app/m/social/OAuthState/index.html +96 -0
  287. package/app/m/social/SocialAccount/index.html +96 -0
  288. package/app/m/social/SocialPost/index.html +96 -0
  289. package/app/m/social/SocialPostAnalyticsSnapshot/index.html +96 -0
  290. package/app/m/subscriptions/BillingAdjustment/index.html +96 -0
  291. package/app/m/subscriptions/ClientCharge/index.html +96 -0
  292. package/app/m/subscriptions/CreditGrant/index.html +96 -0
  293. package/app/m/subscriptions/PricingRule/index.html +96 -0
  294. package/app/m/subscriptions/RetailCharge/index.html +96 -0
  295. package/app/m/subscriptions/SpendingPolicy/index.html +96 -0
  296. package/app/m/subscriptions/SubscriptionPlan/index.html +96 -0
  297. package/app/m/subscriptions/TenantSubscription/index.html +96 -0
  298. package/app/m/subscriptions/TenantUsageMetric/index.html +96 -0
  299. package/app/m/support/ServiceTimeEntry/index.html +96 -0
  300. package/app/m/support/SupportAiRun/index.html +96 -0
  301. package/app/m/support/SupportAvailability/index.html +96 -0
  302. package/app/m/support/SupportCase/index.html +96 -0
  303. package/app/m/support/SupportCaseEvent/index.html +96 -0
  304. package/app/m/support/SupportChannelBinding/index.html +96 -0
  305. package/app/m/support/SupportCharge/index.html +96 -0
  306. package/app/m/support/SupportCompensation/index.html +96 -0
  307. package/app/m/support/SupportCompensationPlan/index.html +96 -0
  308. package/app/m/support/SupportEscalation/index.html +96 -0
  309. package/app/m/support/SupportInteraction/index.html +96 -0
  310. package/app/m/support/SupportPlan/index.html +96 -0
  311. package/app/m/support/SupportPolicy/index.html +96 -0
  312. package/app/m/support/SupportQualification/index.html +96 -0
  313. package/app/m/support/SupportServiceTarget/index.html +96 -0
  314. package/app/m/support/SupportSpecialist/index.html +96 -0
  315. package/app/m/support/SupportWorkLink/index.html +96 -0
  316. package/app/m/tags/Tag/index.html +96 -0
  317. package/app/m/tags/TagAlias/index.html +96 -0
  318. package/app/m/timesheets/AttendanceBreak/index.html +96 -0
  319. package/app/m/timesheets/AttendancePunch/index.html +96 -0
  320. package/app/m/timesheets/ServiceChargeSnapshot/index.html +96 -0
  321. package/app/m/timesheets/ServiceCompensationSnapshot/index.html +96 -0
  322. package/app/m/timesheets/ServiceTimeEntry/index.html +96 -0
  323. package/app/m/users/AccessRequest/index.html +96 -0
  324. package/app/m/users/Group/index.html +96 -0
  325. package/app/m/users/GroupMember/index.html +96 -0
  326. package/app/m/users/GroupRole/index.html +96 -0
  327. package/app/m/users/Membership/index.html +97 -0
  328. package/app/m/users/MembershipOverride/index.html +96 -0
  329. package/app/m/users/Permission/index.html +96 -0
  330. package/app/m/users/ResourceGrant/index.html +96 -0
  331. package/app/m/users/Role/index.html +96 -0
  332. package/app/m/users/RolePermission/index.html +96 -0
  333. package/app/m/users/Session/index.html +96 -0
  334. package/app/m/users/Tenant/index.html +96 -0
  335. package/app/m/users/TenantIntegration/index.html +96 -0
  336. package/app/m/users/TenantPermissionOverride/index.html +96 -0
  337. package/app/m/users/User/index.html +96 -0
  338. package/app/m/users/UsersCliAuthRequest/index.html +96 -0
  339. package/app/m/users/UsersMagicLinkToken/index.html +96 -0
  340. package/app/m/video/Character/index.html +96 -0
  341. package/app/m/video/CharacterAsset/index.html +96 -0
  342. package/app/m/video/CompositeJob/index.html +96 -0
  343. package/app/m/video/Performer/index.html +96 -0
  344. package/app/m/video/PerformerAsset/index.html +96 -0
  345. package/app/m/video/Scene/index.html +96 -0
  346. package/app/m/video/SceneAsset/index.html +96 -0
  347. package/app/m/video/VideoComposition/index.html +96 -0
  348. package/app/m/video/VideoCompositionAsset/index.html +96 -0
  349. package/app/m/video/VideoSequence/index.html +96 -0
  350. package/app/m/video/VideoSequenceAsset/index.html +96 -0
  351. package/app/m/video/VideoShot/index.html +96 -0
  352. package/app/m/video/VideoShotAsset/index.html +96 -0
  353. package/app/m/video/VideoShotCharacter/index.html +96 -0
  354. package/app/m/video/VideoWorkflow/index.html +96 -0
  355. package/app/m/voice/VoiceOutput/index.html +96 -0
  356. package/app/m/voice/VoiceProfile/index.html +96 -0
  357. package/app/m/voice/VoiceSample/index.html +96 -0
  358. package/app/packages/ads/index.html +92 -0
  359. package/app/packages/analytics/index.html +92 -0
  360. package/app/packages/approvals/index.html +92 -0
  361. package/app/packages/assets/index.html +92 -0
  362. package/app/packages/chat/index.html +92 -0
  363. package/app/packages/comments/index.html +92 -0
  364. package/app/packages/commerce/index.html +92 -0
  365. package/app/packages/content/index.html +92 -0
  366. package/app/packages/events/index.html +92 -0
  367. package/app/packages/expenses/index.html +92 -0
  368. package/app/packages/facts/index.html +92 -0
  369. package/app/packages/fields/index.html +92 -0
  370. package/app/packages/human-resources/index.html +92 -0
  371. package/app/packages/images/index.html +92 -0
  372. package/app/packages/index.html +90 -0
  373. package/app/packages/inventory/index.html +92 -0
  374. package/app/packages/ledgers/index.html +92 -0
  375. package/app/packages/manufacturing/index.html +92 -0
  376. package/app/packages/marketing/index.html +92 -0
  377. package/app/packages/messages/index.html +92 -0
  378. package/app/packages/places/index.html +92 -0
  379. package/app/packages/preferences/index.html +92 -0
  380. package/app/packages/products/index.html +92 -0
  381. package/app/packages/profiles/index.html +92 -0
  382. package/app/packages/projects/index.html +92 -0
  383. package/app/packages/properties/index.html +92 -0
  384. package/app/packages/reports/index.html +92 -0
  385. package/app/packages/sales/index.html +92 -0
  386. package/app/packages/sites/index.html +92 -0
  387. package/app/packages/social/index.html +92 -0
  388. package/app/packages/subscriptions/index.html +92 -0
  389. package/app/packages/support/index.html +92 -0
  390. package/app/packages/tags/index.html +92 -0
  391. package/app/packages/timesheets/index.html +92 -0
  392. package/app/packages/users/index.html +92 -0
  393. package/app/packages/video/index.html +92 -0
  394. package/app/packages/voice/index.html +92 -0
  395. package/app/recipes/account-access/help/index.html +93 -0
  396. package/app/recipes/account-access/index.html +95 -0
  397. package/app/recipes/activity/help/index.html +93 -0
  398. package/app/recipes/activity/index.html +94 -0
  399. package/app/recipes/agreements/help/index.html +93 -0
  400. package/app/recipes/agreements/index.html +96 -0
  401. package/app/recipes/analytics.reports/help/index.html +93 -0
  402. package/app/recipes/analytics.reports/index.html +94 -0
  403. package/app/recipes/assets/help/index.html +93 -0
  404. package/app/recipes/assets/index.html +95 -0
  405. package/app/recipes/billing/help/index.html +93 -0
  406. package/app/recipes/billing/index.html +95 -0
  407. package/app/recipes/chat.assistant/help/index.html +93 -0
  408. package/app/recipes/chat.assistant/index.html +94 -0
  409. package/app/recipes/comments/help/index.html +93 -0
  410. package/app/recipes/comments/index.html +94 -0
  411. package/app/recipes/commerce.customers/help/index.html +93 -0
  412. package/app/recipes/commerce.customers/index.html +94 -0
  413. package/app/recipes/commerce.estimates/help/index.html +93 -0
  414. package/app/recipes/commerce.estimates/index.html +94 -0
  415. package/app/recipes/commerce.purchases/help/index.html +93 -0
  416. package/app/recipes/commerce.purchases/index.html +94 -0
  417. package/app/recipes/commerce.sales/help/index.html +93 -0
  418. package/app/recipes/commerce.sales/index.html +94 -0
  419. package/app/recipes/commerce.vendors/help/index.html +93 -0
  420. package/app/recipes/commerce.vendors/index.html +94 -0
  421. package/app/recipes/commerce.wholesale/help/index.html +93 -0
  422. package/app/recipes/commerce.wholesale/index.html +94 -0
  423. package/app/recipes/events.calendar/help/index.html +93 -0
  424. package/app/recipes/events.calendar/index.html +94 -0
  425. package/app/recipes/fields.form-customization/help/index.html +93 -0
  426. package/app/recipes/fields.form-customization/index.html +94 -0
  427. package/app/recipes/inventory.stock/help/index.html +93 -0
  428. package/app/recipes/inventory.stock/index.html +94 -0
  429. package/app/recipes/ledgers.bookkeeping/help/index.html +93 -0
  430. package/app/recipes/ledgers.bookkeeping/index.html +94 -0
  431. package/app/recipes/messages/help/index.html +93 -0
  432. package/app/recipes/messages/index.html +95 -0
  433. package/app/recipes/products/help/index.html +93 -0
  434. package/app/recipes/products/index.html +96 -0
  435. package/app/recipes/projects.tracker/help/index.html +93 -0
  436. package/app/recipes/projects.tracker/index.html +94 -0
  437. package/app/recipes/reports.materialized/help/index.html +93 -0
  438. package/app/recipes/reports.materialized/index.html +94 -0
  439. package/app/recipes/sales.pipeline/help/index.html +93 -0
  440. package/app/recipes/sales.pipeline/index.html +94 -0
  441. package/app/recipes/tags.taxonomy/help/index.html +93 -0
  442. package/app/recipes/tags.taxonomy/index.html +94 -0
  443. package/app/recipes/team-collaboration/help/index.html +93 -0
  444. package/app/recipes/team-collaboration/index.html +94 -0
  445. package/app/s/custom-billing/index.html +89 -0
  446. package/app/s/custom-buying/index.html +89 -0
  447. package/app/s/custom-classes/index.html +89 -0
  448. package/app/s/custom-jobs/index.html +89 -0
  449. package/app/s/custom-kitchen/index.html +89 -0
  450. package/app/s/custom-material/index.html +89 -0
  451. package/app/s/custom-members/index.html +89 -0
  452. package/app/s/custom-parts/index.html +89 -0
  453. package/app/s/custom-schedule/index.html +89 -0
  454. package/app/s/custom-shop/index.html +89 -0
  455. package/app/s/custom-wholesale/index.html +89 -0
  456. package/app/s/section-access-control/index.html +89 -0
  457. package/app/s/section-account-security/index.html +89 -0
  458. package/app/s/section-accounting/index.html +89 -0
  459. package/app/s/section-activity/index.html +89 -0
  460. package/app/s/section-agreements/index.html +89 -0
  461. package/app/s/section-analytics/index.html +89 -0
  462. package/app/s/section-assets/index.html +89 -0
  463. package/app/s/section-billing/index.html +89 -0
  464. package/app/s/section-calendar/index.html +89 -0
  465. package/app/s/section-catalog/index.html +89 -0
  466. package/app/s/section-chat.assistant/index.html +89 -0
  467. package/app/s/section-comments/index.html +89 -0
  468. package/app/s/section-fields.form-customization/index.html +89 -0
  469. package/app/s/section-messages/index.html +89 -0
  470. package/app/s/section-more/index.html +89 -0
  471. package/app/s/section-operations/index.html +89 -0
  472. package/app/s/section-projects/index.html +89 -0
  473. package/app/s/section-purchasing/index.html +89 -0
  474. package/app/s/section-reports.materialized/index.html +89 -0
  475. package/app/s/section-sales/index.html +89 -0
  476. package/app/s/section-taxonomy/index.html +89 -0
  477. package/app/s/section-team/index.html +89 -0
  478. package/dist/ai/echo-gate.d.ts +13 -0
  479. package/dist/ai/echo-gate.js +21 -0
  480. package/dist/ai/icons.d.ts +9 -0
  481. package/dist/ai/icons.js +9 -0
  482. package/dist/ai/instance.d.ts +3 -0
  483. package/dist/ai/instance.js +25 -0
  484. package/dist/ai/state.svelte.d.ts +125 -0
  485. package/dist/ai/state.svelte.js +286 -0
  486. package/dist/ai/status.d.ts +67 -0
  487. package/dist/ai/status.js +117 -0
  488. package/dist/assets/smrt-mark.svg +38 -0
  489. package/dist/assistant/change.d.ts +101 -0
  490. package/dist/assistant/change.js +209 -0
  491. package/dist/assistant/engine.d.ts +20 -0
  492. package/dist/assistant/engine.js +43 -0
  493. package/dist/assistant/llm.worker.d.ts +1 -0
  494. package/dist/assistant/llm.worker.js +7 -0
  495. package/dist/assistant/match.d.ts +59 -0
  496. package/dist/assistant/match.js +271 -0
  497. package/dist/assistant/models.d.ts +38 -0
  498. package/dist/assistant/models.js +57 -0
  499. package/dist/assistant/offers.svelte.d.ts +36 -0
  500. package/dist/assistant/offers.svelte.js +59 -0
  501. package/dist/assistant/prefs.d.ts +14 -0
  502. package/dist/assistant/prefs.js +32 -0
  503. package/dist/assistant/prompt.d.ts +23 -0
  504. package/dist/assistant/prompt.js +163 -0
  505. package/dist/assistant/session.svelte.d.ts +73 -0
  506. package/dist/assistant/session.svelte.js +163 -0
  507. package/dist/assistant/theme-undo.svelte.d.ts +38 -0
  508. package/dist/assistant/theme-undo.svelte.js +50 -0
  509. package/dist/assistant/transport.d.ts +73 -0
  510. package/dist/assistant/transport.js +231 -0
  511. package/dist/assistant/voice-host.d.ts +10 -0
  512. package/dist/assistant/voice-host.js +17 -0
  513. package/dist/assistant/voice.svelte.d.ts +107 -0
  514. package/dist/assistant/voice.svelte.js +261 -0
  515. package/dist/catalog/catalog.json +89663 -0
  516. package/dist/catalog/generate/build.d.ts +33 -0
  517. package/dist/catalog/generate/build.js +131 -0
  518. package/dist/catalog/generate/exclusions.d.ts +18 -0
  519. package/dist/catalog/generate/exclusions.js +33 -0
  520. package/dist/catalog/generate/extract.d.ts +90 -0
  521. package/dist/catalog/generate/extract.js +326 -0
  522. package/dist/catalog/generate/local.d.ts +8 -0
  523. package/dist/catalog/generate/local.js +45 -0
  524. package/dist/catalog/generate/recipe-demo.d.ts +11 -0
  525. package/dist/catalog/generate/recipe-demo.js +29 -0
  526. package/dist/catalog/generate/recipe-metadata.d.ts +12 -0
  527. package/dist/catalog/generate/recipe-metadata.js +138 -0
  528. package/dist/catalog/generate/registry.d.ts +14 -0
  529. package/dist/catalog/generate/registry.js +83 -0
  530. package/dist/catalog/index.d.ts +21 -0
  531. package/dist/catalog/index.js +53 -0
  532. package/dist/catalog/types.d.ts +141 -0
  533. package/dist/catalog/types.js +8 -0
  534. package/dist/components/AiSetup.svelte +499 -0
  535. package/dist/components/AiSetup.svelte.d.ts +8 -0
  536. package/dist/components/AiStatusIcons.svelte +86 -0
  537. package/dist/components/AiStatusIcons.svelte.d.ts +18 -0
  538. package/dist/components/AppSettings.svelte +100 -0
  539. package/dist/components/AppSettings.svelte.d.ts +10 -0
  540. package/dist/components/BrowserAssistant.svelte +314 -0
  541. package/dist/components/BrowserAssistant.svelte.d.ts +8 -0
  542. package/dist/components/ChildRecords.svelte +331 -0
  543. package/dist/components/ChildRecords.svelte.d.ts +15 -0
  544. package/dist/components/ConnectTools.svelte +145 -0
  545. package/dist/components/ConnectTools.svelte.d.ts +8 -0
  546. package/dist/components/CookbooksPanel.svelte +308 -0
  547. package/dist/components/CookbooksPanel.svelte.d.ts +3 -0
  548. package/dist/components/ExportPanel.svelte +217 -0
  549. package/dist/components/ExportPanel.svelte.d.ts +3 -0
  550. package/dist/components/FeatureCard.svelte +197 -0
  551. package/dist/components/FeatureCard.svelte.d.ts +13 -0
  552. package/dist/components/FeaturesPanel.svelte +155 -0
  553. package/dist/components/FeaturesPanel.svelte.d.ts +3 -0
  554. package/dist/components/FieldInput.svelte +307 -0
  555. package/dist/components/FieldInput.svelte.d.ts +24 -0
  556. package/dist/components/FieldMapForm.svelte +173 -0
  557. package/dist/components/FieldMapForm.svelte.d.ts +18 -0
  558. package/dist/components/FormWorkspace.svelte +274 -0
  559. package/dist/components/FormWorkspace.svelte.d.ts +19 -0
  560. package/dist/components/HelpView.svelte +129 -0
  561. package/dist/components/HelpView.svelte.d.ts +12 -0
  562. package/dist/components/ModelOptions.svelte +239 -0
  563. package/dist/components/ModelOptions.svelte.d.ts +12 -0
  564. package/dist/components/ModelPage.svelte +295 -0
  565. package/dist/components/ModelPage.svelte.d.ts +9 -0
  566. package/dist/components/ModelWorkspace.svelte +488 -0
  567. package/dist/components/ModelWorkspace.svelte.d.ts +32 -0
  568. package/dist/components/PlannerEditBridge.svelte +36 -0
  569. package/dist/components/PlannerEditBridge.svelte.d.ts +3 -0
  570. package/dist/components/PlannerPalette.svelte +38 -0
  571. package/dist/components/PlannerPalette.svelte.d.ts +18 -0
  572. package/dist/components/RecipeCards.svelte +145 -0
  573. package/dist/components/RecipeCards.svelte.d.ts +3 -0
  574. package/dist/components/RecipeHelp.svelte +54 -0
  575. package/dist/components/RecipeHelp.svelte.d.ts +9 -0
  576. package/dist/components/RecipeOptions.svelte +160 -0
  577. package/dist/components/RecipeOptions.svelte.d.ts +9 -0
  578. package/dist/components/RecordFeatures.svelte +240 -0
  579. package/dist/components/RecordFeatures.svelte.d.ts +3 -0
  580. package/dist/components/RelationField.svelte +175 -0
  581. package/dist/components/RelationField.svelte.d.ts +16 -0
  582. package/dist/components/SectionActions.svelte +91 -0
  583. package/dist/components/SectionActions.svelte.d.ts +12 -0
  584. package/dist/components/SectionIcons.svelte +98 -0
  585. package/dist/components/SectionIcons.svelte.d.ts +15 -0
  586. package/dist/components/SectionOverview.svelte +65 -0
  587. package/dist/components/SectionOverview.svelte.d.ts +14 -0
  588. package/dist/components/SectionPage.svelte +230 -0
  589. package/dist/components/SectionPage.svelte.d.ts +7 -0
  590. package/dist/components/SettingsPanel.svelte +60 -0
  591. package/dist/components/SettingsPanel.svelte.d.ts +7 -0
  592. package/dist/components/ThemeBridge.svelte +56 -0
  593. package/dist/components/ThemeBridge.svelte.d.ts +3 -0
  594. package/dist/components/ThemeSection.svelte +167 -0
  595. package/dist/components/ThemeSection.svelte.d.ts +11 -0
  596. package/dist/components/VariantGridForm.svelte +309 -0
  597. package/dist/components/VariantGridForm.svelte.d.ts +12 -0
  598. package/dist/components/VoiceTyping.svelte +108 -0
  599. package/dist/components/VoiceTyping.svelte.d.ts +7 -0
  600. package/dist/cookbook/assemble.d.ts +16 -0
  601. package/dist/cookbook/assemble.js +29 -0
  602. package/dist/cookbook/file.d.ts +7 -0
  603. package/dist/cookbook/file.js +25 -0
  604. package/dist/cookbook/legacy.d.ts +9 -0
  605. package/dist/cookbook/legacy.js +87 -0
  606. package/dist/cookbook/migrate.d.ts +22 -0
  607. package/dist/cookbook/migrate.js +106 -0
  608. package/dist/cookbook/parse.d.ts +16 -0
  609. package/dist/cookbook/parse.js +246 -0
  610. package/dist/cookbook/storage.d.ts +45 -0
  611. package/dist/cookbook/storage.js +98 -0
  612. package/dist/cookbook/store.svelte.d.ts +94 -0
  613. package/dist/cookbook/store.svelte.js +231 -0
  614. package/dist/cookbook/types.d.ts +76 -0
  615. package/dist/cookbook/types.js +11 -0
  616. package/dist/cookbook/validate.d.ts +14 -0
  617. package/dist/cookbook/validate.js +29 -0
  618. package/dist/core/app.d.ts +12 -0
  619. package/dist/core/app.js +15 -0
  620. package/dist/core/catalog.d.ts +19 -0
  621. package/dist/core/catalog.js +9 -0
  622. package/dist/core/headless.d.ts +52 -0
  623. package/dist/core/headless.js +39 -0
  624. package/dist/core/index.d.ts +28 -0
  625. package/dist/core/index.js +28 -0
  626. package/dist/core/prompt.d.ts +38 -0
  627. package/dist/core/prompt.js +95 -0
  628. package/dist/core/reply.d.ts +60 -0
  629. package/dist/core/reply.js +89 -0
  630. package/dist/core/request.d.ts +15 -0
  631. package/dist/core/request.js +55 -0
  632. package/dist/data/children.d.ts +20 -0
  633. package/dist/data/children.js +80 -0
  634. package/dist/data/columns.d.ts +56 -0
  635. package/dist/data/columns.js +150 -0
  636. package/dist/data/context.d.ts +8 -0
  637. package/dist/data/context.js +19 -0
  638. package/dist/data/derived.d.ts +79 -0
  639. package/dist/data/derived.js +139 -0
  640. package/dist/data/display.d.ts +23 -0
  641. package/dist/data/display.js +84 -0
  642. package/dist/data/fakes.d.ts +52 -0
  643. package/dist/data/fakes.js +443 -0
  644. package/dist/data/format.d.ts +48 -0
  645. package/dist/data/format.js +121 -0
  646. package/dist/data/labels.d.ts +45 -0
  647. package/dist/data/labels.js +179 -0
  648. package/dist/data/packs.d.ts +95 -0
  649. package/dist/data/packs.js +830 -0
  650. package/dist/data/payments.d.ts +17 -0
  651. package/dist/data/payments.js +60 -0
  652. package/dist/data/planner-source.d.ts +7 -0
  653. package/dist/data/planner-source.js +32 -0
  654. package/dist/data/source.d.ts +119 -0
  655. package/dist/data/source.js +432 -0
  656. package/dist/features/catalogue.d.ts +96 -0
  657. package/dist/features/catalogue.js +225 -0
  658. package/dist/features/demo.d.ts +36 -0
  659. package/dist/features/demo.js +66 -0
  660. package/dist/features/palette.d.ts +39 -0
  661. package/dist/features/palette.js +53 -0
  662. package/dist/fields/address.d.ts +23 -0
  663. package/dist/fields/address.js +39 -0
  664. package/dist/fields/invalid.d.ts +2 -0
  665. package/dist/fields/invalid.js +8 -0
  666. package/dist/fields/modal.d.ts +7 -0
  667. package/dist/fields/modal.js +14 -0
  668. package/dist/fields/percent.d.ts +8 -0
  669. package/dist/fields/percent.js +16 -0
  670. package/dist/fields/renderer.d.ts +17 -0
  671. package/dist/fields/renderer.js +43 -0
  672. package/dist/forms/active.d.ts +16 -0
  673. package/dist/forms/active.js +24 -0
  674. package/dist/forms/fieldMap.d.ts +44 -0
  675. package/dist/forms/fieldMap.js +134 -0
  676. package/dist/forms/shared.d.ts +41 -0
  677. package/dist/forms/shared.js +138 -0
  678. package/dist/forms/stock.d.ts +28 -0
  679. package/dist/forms/stock.js +104 -0
  680. package/dist/forms/variantGrid.d.ts +83 -0
  681. package/dist/forms/variantGrid.js +283 -0
  682. package/dist/index.d.ts +17 -0
  683. package/dist/index.js +16 -0
  684. package/dist/inference/byo.svelte.d.ts +86 -0
  685. package/dist/inference/byo.svelte.js +267 -0
  686. package/dist/inference/config.d.ts +70 -0
  687. package/dist/inference/config.js +149 -0
  688. package/dist/inference/host.d.ts +40 -0
  689. package/dist/inference/host.js +57 -0
  690. package/dist/inference/openai.d.ts +59 -0
  691. package/dist/inference/openai.js +202 -0
  692. package/dist/inference/presets.d.ts +5 -0
  693. package/dist/inference/presets.js +46 -0
  694. package/dist/kitchen/client.d.ts +39 -0
  695. package/dist/kitchen/client.js +109 -0
  696. package/dist/kitchen/fragment.d.ts +30 -0
  697. package/dist/kitchen/fragment.js +49 -0
  698. package/dist/kitchen/state.svelte.d.ts +26 -0
  699. package/dist/kitchen/state.svelte.js +45 -0
  700. package/dist/library/apply.d.ts +17 -0
  701. package/dist/library/apply.js +32 -0
  702. package/dist/library/document.d.ts +12 -0
  703. package/dist/library/document.js +27 -0
  704. package/dist/library/icons.d.ts +6 -0
  705. package/dist/library/icons.js +26 -0
  706. package/dist/library/index.d.ts +8 -0
  707. package/dist/library/index.js +12 -0
  708. package/dist/library/library.json +788 -0
  709. package/dist/library/menu.d.ts +18 -0
  710. package/dist/library/menu.js +72 -0
  711. package/dist/library/state.svelte.d.ts +10 -0
  712. package/dist/library/state.svelte.js +28 -0
  713. package/dist/library/types.d.ts +57 -0
  714. package/dist/library/types.js +1 -0
  715. package/dist/overviews/definitions.d.ts +24 -0
  716. package/dist/overviews/definitions.js +97 -0
  717. package/dist/overviews/page.d.ts +21 -0
  718. package/dist/overviews/page.js +36 -0
  719. package/dist/overviews/registry.d.ts +44 -0
  720. package/dist/overviews/registry.js +191 -0
  721. package/dist/overviews/validate.d.ts +32 -0
  722. package/dist/overviews/validate.js +91 -0
  723. package/dist/planner/Planner.svelte +204 -0
  724. package/dist/planner/Planner.svelte.d.ts +4 -0
  725. package/dist/planner/app.svelte.d.ts +6 -0
  726. package/dist/planner/app.svelte.js +23 -0
  727. package/dist/planner/assistant.d.ts +46 -0
  728. package/dist/planner/assistant.js +122 -0
  729. package/dist/planner/commands/adapter.d.ts +121 -0
  730. package/dist/planner/commands/adapter.js +597 -0
  731. package/dist/planner/commands/catalog.d.ts +19 -0
  732. package/dist/planner/commands/catalog.js +54 -0
  733. package/dist/planner/commands/controller.svelte.d.ts +13 -0
  734. package/dist/planner/commands/controller.svelte.js +77 -0
  735. package/dist/planner/commands/index.d.ts +15 -0
  736. package/dist/planner/commands/index.js +15 -0
  737. package/dist/planner/commands/schemas.d.ts +25 -0
  738. package/dist/planner/commands/schemas.js +67 -0
  739. package/dist/planner/commands/slices.d.ts +18 -0
  740. package/dist/planner/commands/slices.js +49 -0
  741. package/dist/planner/commands/types.d.ts +80 -0
  742. package/dist/planner/commands/types.js +18 -0
  743. package/dist/planner/create.d.ts +4 -0
  744. package/dist/planner/create.js +22 -0
  745. package/dist/planner/instance.d.ts +15 -0
  746. package/dist/planner/instance.js +22 -0
  747. package/dist/planner/query.d.ts +16 -0
  748. package/dist/planner/query.js +28 -0
  749. package/dist/planner/selection.d.ts +15 -0
  750. package/dist/planner/selection.js +38 -0
  751. package/dist/planner/selection.svelte.d.ts +29 -0
  752. package/dist/planner/selection.svelte.js +54 -0
  753. package/dist/planner/tab.svelte.d.ts +11 -0
  754. package/dist/planner/tab.svelte.js +22 -0
  755. package/dist/planner/types.d.ts +41 -0
  756. package/dist/planner/types.js +1 -0
  757. package/dist/recipes/cards.d.ts +55 -0
  758. package/dist/recipes/cards.js +80 -0
  759. package/dist/recipes/features.d.ts +53 -0
  760. package/dist/recipes/features.js +97 -0
  761. package/dist/recipes/help/descriptions.json +373 -0
  762. package/dist/recipes/help.d.ts +121 -0
  763. package/dist/recipes/help.js +262 -0
  764. package/dist/recipes/index.d.ts +65 -0
  765. package/dist/recipes/index.js +95 -0
  766. package/dist/recipes/merge.d.ts +26 -0
  767. package/dist/recipes/merge.js +21 -0
  768. package/dist/recipes/overlay.json +409 -0
  769. package/dist/recipes/plan-data.d.ts +41 -0
  770. package/dist/recipes/plan-data.js +97 -0
  771. package/dist/recipes/plumbing.d.ts +70 -0
  772. package/dist/recipes/plumbing.js +185 -0
  773. package/dist/recipes/policy.d.ts +118 -0
  774. package/dist/recipes/policy.js +268 -0
  775. package/dist/recipes/resolve.d.ts +19 -0
  776. package/dist/recipes/resolve.js +65 -0
  777. package/dist/recipes/scope.d.ts +25 -0
  778. package/dist/recipes/scope.js +31 -0
  779. package/dist/recipes/sections.d.ts +49 -0
  780. package/dist/recipes/sections.js +84 -0
  781. package/dist/recipes/state.svelte.d.ts +67 -0
  782. package/dist/recipes/state.svelte.js +112 -0
  783. package/dist/recipes/types.d.ts +322 -0
  784. package/dist/recipes/types.js +8 -0
  785. package/dist/sections/entries.d.ts +30 -0
  786. package/dist/sections/entries.js +57 -0
  787. package/dist/sections/info.d.ts +16 -0
  788. package/dist/sections/info.js +39 -0
  789. package/dist/sections/path.d.ts +12 -0
  790. package/dist/sections/path.js +18 -0
  791. package/dist/settings/app-settings.d.ts +44 -0
  792. package/dist/settings/app-settings.js +138 -0
  793. package/dist/settings/currencies.d.ts +2 -0
  794. package/dist/settings/currencies.js +8 -0
  795. package/dist/theme/runtime.d.ts +14 -0
  796. package/dist/theme/runtime.js +27 -0
  797. package/dist/theme/theme.d.ts +47 -0
  798. package/dist/theme/theme.js +122 -0
  799. package/dist/upstream/CustomerSelect.svelte +60 -0
  800. package/dist/upstream/CustomerSelect.svelte.d.ts +17 -0
  801. package/dist/upstream/VendorSelect.svelte +60 -0
  802. package/dist/upstream/VendorSelect.svelte.d.ts +17 -0
  803. package/dist/upstream/overlay.d.ts +10 -0
  804. package/dist/upstream/overlay.js +49 -0
  805. package/dist/upstream/partySelect.d.ts +8 -0
  806. package/dist/upstream/partySelect.js +21 -0
  807. package/dist/upstream/partyTypes.d.ts +64 -0
  808. package/dist/upstream/partyTypes.js +8 -0
  809. package/dist/upstream/relations.d.ts +2 -0
  810. package/dist/upstream/relations.js +24 -0
  811. package/dist/upstream/selects.d.ts +26 -0
  812. package/dist/upstream/selects.js +20 -0
  813. package/dist/upstream/widgets.d.ts +20 -0
  814. package/dist/upstream/widgets.js +30 -0
  815. package/package.json +80 -3
@@ -0,0 +1,79 @@
1
+ /**
2
+ * Amounts the commerce models derive rather than take as input, mirrored from
3
+ * `ContractLineItem` / `InvoiceLineItem` / `Invoice` in smrt-commerce:
4
+ *
5
+ * line subtotal = round(quantity * unitPrice) - discount (minor units)
6
+ * line tax = round(line subtotal * taxRate) (taxRate is a fraction)
7
+ * line amount = line subtotal + line tax
8
+ *
9
+ * and a parent with line items takes `subtotal`, `taxAmount` and `totalAmount`
10
+ * from the sum of its lines, ignoring what a form sent.
11
+ */
12
+ import type { CatalogModel } from '../catalog/types.ts';
13
+ type Row = Readonly<Record<string, unknown>>;
14
+ /** A line item: it prices a quantity of something. */
15
+ export declare function isLineModel(model: CatalogModel): boolean;
16
+ export interface LineAmounts {
17
+ subtotal: number;
18
+ tax: number;
19
+ amount: number;
20
+ }
21
+ export declare function lineAmounts(line: Row): LineAmounts;
22
+ /** The line with its `amount` brought in line with its other fields. */
23
+ export declare function settleLine<T extends Row>(line: T): T & {
24
+ amount: number;
25
+ };
26
+ export interface ParentTotals {
27
+ subtotal: number;
28
+ taxAmount: number;
29
+ totalAmount: number;
30
+ }
31
+ export declare function totalsOf(lines: readonly Row[]): ParentTotals;
32
+ export declare const TOTAL_FIELDS: readonly ["subtotal", "taxAmount", "totalAmount"];
33
+ /** `row` with the model's total fields set from `lines`. */
34
+ export declare function withTotals<T extends Record<string, unknown>>(model: CatalogModel, row: T, lines: readonly Row[]): T;
35
+ /** A record that tracks what has been paid against it (an Invoice). */
36
+ export declare function tracksPayments(model: CatalogModel): boolean;
37
+ /** The field of a payment allocation that points at its payment. */
38
+ export declare function allocationPaymentField(model: CatalogModel): import("../catalog/types.ts").CatalogField | undefined;
39
+ /** The field of a payment allocation that points at the invoice it pays. */
40
+ export declare function allocationInvoiceField(model: CatalogModel): import("../catalog/types.ts").CatalogField | undefined;
41
+ /** A payment applied to an invoice: one payment, one invoice, an amount. */
42
+ export declare function isAllocationModel(model: CatalogModel): boolean;
43
+ /** What counts as money in: only a completed payment pays an invoice. */
44
+ export declare const PAID_PAYMENT_STATUS = "completed";
45
+ export interface Settlement {
46
+ amountPaid: number;
47
+ status: string;
48
+ paidDate: string | null;
49
+ }
50
+ /**
51
+ * An invoice's payment state from the allocations of completed payments
52
+ * (`counted`): `amountPaid` is their sum, the status is paid once the total is
53
+ * covered, otherwise overdue after the due date and sent before it. A draft or
54
+ * cancelled invoice keeps its status; `paidDate` is set only when fully paid,
55
+ * to the last allocation.
56
+ */
57
+ export declare function settleInvoice(invoice: Row, counted: readonly {
58
+ amount: number;
59
+ at: string;
60
+ }[], now: number): Settlement;
61
+ /**
62
+ * The fields a form shows but does not let anyone type: a line's `amount`, a
63
+ * parent's totals when it has line items, and what an invoice has paid (and
64
+ * when) when it has payment allocations.
65
+ */
66
+ export declare function derivedFieldNames(model: CatalogModel, hasLineChildren: boolean, hasPaymentChildren?: boolean): ReadonlySet<string>;
67
+ /** Does the field of a line item point at a product? */
68
+ export declare function isProductField(field: {
69
+ name: string;
70
+ type: string;
71
+ related?: string;
72
+ }): boolean;
73
+ /**
74
+ * What picking a product fills in on a line item: its name as the description
75
+ * and its price as the unit price, for the fields the line has. Both stay
76
+ * editable. A product with no name or price fills nothing.
77
+ */
78
+ export declare function productPrefill(line: CatalogModel, product: Row | undefined): Record<string, unknown>;
79
+ export {};
@@ -0,0 +1,139 @@
1
+ const num = (value) => {
2
+ const n = Number(value ?? 0);
3
+ return Number.isFinite(n) ? n : 0;
4
+ };
5
+ const has = (model, name) => model.fields.some((f) => f.name === name);
6
+ /** A line item: it prices a quantity of something. */
7
+ export function isLineModel(model) {
8
+ return ['quantity', 'unitPrice', 'amount'].every((n) => has(model, n));
9
+ }
10
+ export function lineAmounts(line) {
11
+ const subtotal = Math.round(num(line.quantity) * num(line.unitPrice)) - num(line.discount);
12
+ const tax = Math.round(subtotal * num(line.taxRate));
13
+ return { subtotal, tax, amount: subtotal + tax };
14
+ }
15
+ /** The line with its `amount` brought in line with its other fields. */
16
+ export function settleLine(line) {
17
+ return { ...line, amount: lineAmounts(line).amount };
18
+ }
19
+ export function totalsOf(lines) {
20
+ let subtotal = 0;
21
+ let taxAmount = 0;
22
+ for (const line of lines) {
23
+ const parts = lineAmounts(line);
24
+ subtotal += parts.subtotal;
25
+ taxAmount += parts.tax;
26
+ }
27
+ return { subtotal, taxAmount, totalAmount: subtotal + taxAmount };
28
+ }
29
+ export const TOTAL_FIELDS = ['subtotal', 'taxAmount', 'totalAmount'];
30
+ /** `row` with the model's total fields set from `lines`. */
31
+ export function withTotals(model, row, lines) {
32
+ const totals = totalsOf(lines);
33
+ const next = { ...row };
34
+ for (const name of TOTAL_FIELDS) {
35
+ if (has(model, name))
36
+ next[name] = totals[name];
37
+ }
38
+ return next;
39
+ }
40
+ /** A record that tracks what has been paid against it (an Invoice). */
41
+ export function tracksPayments(model) {
42
+ return ['totalAmount', 'amountPaid', 'status'].every((n) => has(model, n));
43
+ }
44
+ const isRef = (f) => f.type === 'foreignKey' || f.type === 'crossPackageRef';
45
+ /** The field of a payment allocation that points at its payment. */
46
+ export function allocationPaymentField(model) {
47
+ return model.fields.find((f) => isRef(f) && /^payment/i.test(f.name));
48
+ }
49
+ /** The field of a payment allocation that points at the invoice it pays. */
50
+ export function allocationInvoiceField(model) {
51
+ return model.fields.find((f) => isRef(f) && /^invoice/i.test(f.name));
52
+ }
53
+ /** A payment applied to an invoice: one payment, one invoice, an amount. */
54
+ export function isAllocationModel(model) {
55
+ return (has(model, 'amount') &&
56
+ Boolean(allocationPaymentField(model)) &&
57
+ Boolean(allocationInvoiceField(model)));
58
+ }
59
+ /** What counts as money in: only a completed payment pays an invoice. */
60
+ export const PAID_PAYMENT_STATUS = 'completed';
61
+ /**
62
+ * An invoice's payment state from the allocations of completed payments
63
+ * (`counted`): `amountPaid` is their sum, the status is paid once the total is
64
+ * covered, otherwise overdue after the due date and sent before it. A draft or
65
+ * cancelled invoice keeps its status; `paidDate` is set only when fully paid,
66
+ * to the last allocation.
67
+ */
68
+ export function settleInvoice(invoice, counted, now) {
69
+ const amountPaid = counted.reduce((sum, a) => sum + num(a.amount), 0);
70
+ const total = num(invoice.totalAmount);
71
+ const current = String(invoice.status ?? 'draft');
72
+ const fullyPaid = total > 0 && amountPaid >= total;
73
+ let status = current;
74
+ if (fullyPaid)
75
+ status = 'paid';
76
+ else if (current !== 'draft' && current !== 'cancelled') {
77
+ const due = Date.parse(String(invoice.dueDate ?? ''));
78
+ if (Number.isFinite(due) && due < now)
79
+ status = 'overdue';
80
+ else
81
+ status = current === 'viewed' ? 'viewed' : 'sent';
82
+ }
83
+ const last = counted
84
+ .map((a) => a.at)
85
+ .sort()
86
+ .at(-1);
87
+ return {
88
+ amountPaid,
89
+ status,
90
+ paidDate: fullyPaid ? (last ?? String(invoice.issueDate ?? '')) : null,
91
+ };
92
+ }
93
+ /**
94
+ * The fields a form shows but does not let anyone type: a line's `amount`, a
95
+ * parent's totals when it has line items, and what an invoice has paid (and
96
+ * when) when it has payment allocations.
97
+ */
98
+ export function derivedFieldNames(model, hasLineChildren, hasPaymentChildren = false) {
99
+ const names = new Set();
100
+ if (isLineModel(model))
101
+ names.add('amount');
102
+ if (hasLineChildren) {
103
+ for (const name of TOTAL_FIELDS)
104
+ if (has(model, name))
105
+ names.add(name);
106
+ }
107
+ if (hasPaymentChildren && tracksPayments(model)) {
108
+ for (const name of ['amountPaid', 'paidDate']) {
109
+ if (has(model, name))
110
+ names.add(name);
111
+ }
112
+ }
113
+ return names;
114
+ }
115
+ /** Does the field of a line item point at a product? */
116
+ export function isProductField(field) {
117
+ return (isRef(field) &&
118
+ (field.related?.endsWith(':Product') === true ||
119
+ /^product(Id)?$/i.test(field.name)));
120
+ }
121
+ /**
122
+ * What picking a product fills in on a line item: its name as the description
123
+ * and its price as the unit price, for the fields the line has. Both stay
124
+ * editable. A product with no name or price fills nothing.
125
+ */
126
+ export function productPrefill(line, product) {
127
+ const fill = {};
128
+ if (!product)
129
+ return fill;
130
+ if (has(line, 'description') &&
131
+ typeof product.name === 'string' &&
132
+ product.name) {
133
+ fill.description = product.name;
134
+ }
135
+ if (has(line, 'unitPrice') && typeof product.price === 'number') {
136
+ fill.unitPrice = product.price;
137
+ }
138
+ return fill;
139
+ }
@@ -0,0 +1,23 @@
1
+ /**
2
+ * Which field labels a record in pickers. `model.display` comes from the
3
+ * manifest's `displayLabelField` (happyvertical/smrt#3611); a model that
4
+ * declares none falls back to the first of `name`, `title`, `label`, `code`.
5
+ */
6
+ import type { CatalogField, CatalogModel } from '../catalog/types.ts';
7
+ export declare const DEFAULT_LABEL_FIELDS: readonly ["name", "title", "label", "code"];
8
+ /** The fields that may label a record of the model, best first. */
9
+ export declare function labelFields(model: CatalogModel): string[];
10
+ /** The first non-empty label field of a record, or undefined. */
11
+ export declare function displayLabel(model: CatalogModel, record: Readonly<Record<string, unknown>>): string | undefined;
12
+ /** Finds the label of the record a relation field points at. */
13
+ export type RelatedLabel = (field: CatalogField, id: string) => string | undefined;
14
+ /** A record's own number, e.g. `invoiceNumber` or `number`. */
15
+ export declare function numberOf(model: CatalogModel, record: Readonly<Record<string, unknown>>): string | undefined;
16
+ /** The relation field that best says what a record is about, if it has one. */
17
+ export declare function partyField(fields: readonly CatalogField[], record: Readonly<Record<string, unknown>>): CatalogField | undefined;
18
+ /**
19
+ * The text that names a record: its label field, else its number (plus the
20
+ * party it is for), else the party, with the amount and date for a money record
21
+ * such as a payment. `undefined` when nothing names it.
22
+ */
23
+ export declare function recordName(model: CatalogModel, record: Readonly<Record<string, unknown>>, related: RelatedLabel, fields?: readonly CatalogField[]): string | undefined;
@@ -0,0 +1,84 @@
1
+ import { formatMoney } from "./format.js";
2
+ export const DEFAULT_LABEL_FIELDS = ['name', 'title', 'label', 'code'];
3
+ /** The fields that may label a record of the model, best first. */
4
+ export function labelFields(model) {
5
+ const declared = model.display?.label;
6
+ const names = new Set(model.fields.map((f) => f.name));
7
+ return [...(declared ? [declared] : []), ...DEFAULT_LABEL_FIELDS].filter((name, index, all) => names.has(name) && all.indexOf(name) === index);
8
+ }
9
+ /** The first non-empty label field of a record, or undefined. */
10
+ export function displayLabel(model, record) {
11
+ for (const name of labelFields(model)) {
12
+ const value = record[name];
13
+ if (typeof value === 'string' && value.trim() !== '')
14
+ return value;
15
+ }
16
+ return undefined;
17
+ }
18
+ const isRef = (f) => f.type === 'foreignKey' || f.type === 'crossPackageRef';
19
+ /** Relations that say what a record is about, best first. */
20
+ const PARTY_ORDER = [
21
+ /^customer/i,
22
+ /^vendor/i,
23
+ /^profile/i,
24
+ /^product/i,
25
+ /^invoice/i,
26
+ /^order/i,
27
+ /^payment/i,
28
+ /^contract/i,
29
+ ];
30
+ /** A record's own number, e.g. `invoiceNumber` or `number`. */
31
+ export function numberOf(model, record) {
32
+ const field = model.fields.find((f) => !f.system &&
33
+ f.type === 'text' &&
34
+ /(^|[a-z])Number$|^number$/.test(f.name) &&
35
+ typeof record[f.name] === 'string' &&
36
+ String(record[f.name]).trim() !== '');
37
+ return field ? String(record[field.name]) : undefined;
38
+ }
39
+ /** The relation field that best says what a record is about, if it has one. */
40
+ export function partyField(fields, record) {
41
+ const set = fields.filter((f) => isRef(f) && typeof record[f.name] === 'string' && record[f.name] !== '');
42
+ for (const pattern of PARTY_ORDER) {
43
+ const found = set.find((f) => pattern.test(f.name));
44
+ if (found)
45
+ return found;
46
+ }
47
+ return undefined;
48
+ }
49
+ const DATE_NAME = /(paid|allocated|issue|^date$|createdat)/i;
50
+ /**
51
+ * The text that names a record: its label field, else its number (plus the
52
+ * party it is for), else the party, with the amount and date for a money record
53
+ * such as a payment. `undefined` when nothing names it.
54
+ */
55
+ export function recordName(model, record, related, fields = model.fields) {
56
+ const own = displayLabel(model, record);
57
+ if (own)
58
+ return own;
59
+ const partyOf = partyField(fields, record);
60
+ const party = partyOf?.related
61
+ ? related(partyOf, String(record[partyOf.name]))
62
+ : undefined;
63
+ const number = numberOf(model, record);
64
+ if (number)
65
+ return unique([number, party]);
66
+ const moneyField = model.fields.find((f) => f.name === 'amount' && f.type === 'integer');
67
+ if (moneyField && typeof record.amount === 'number') {
68
+ const dateField = model.fields.find((f) => f.type === 'datetime' && DATE_NAME.test(f.name) && record[f.name]);
69
+ return unique([
70
+ party,
71
+ formatMoney(record.amount),
72
+ dateField ? String(record[dateField.name]).slice(0, 10) : undefined,
73
+ ]);
74
+ }
75
+ const reference = ['reference', 'description']
76
+ .map((name) => record[name])
77
+ .find((v) => typeof v === 'string' && v.trim() !== '');
78
+ return unique([party, reference]);
79
+ }
80
+ function unique(parts) {
81
+ const kept = parts.filter((p) => Boolean(p));
82
+ const text = kept.filter((p, i) => kept.indexOf(p) === i).join(' · ');
83
+ return text || undefined;
84
+ }
@@ -0,0 +1,52 @@
1
+ import type { CatalogField, CatalogModel } from '../catalog/types.ts';
2
+ import { type PackLine } from './packs.ts';
3
+ /** A row of sample data. `id` is always present. */
4
+ export interface ModelRecord {
5
+ id: string;
6
+ [field: string]: unknown;
7
+ }
8
+ /** Deterministic PRNG (mulberry32): the same seed always yields the same run. */
9
+ export declare function createRandom(seed: number): () => number;
10
+ /** FNV-1a hash of a string, for seeding. */
11
+ export declare function hashString(value: string): number;
12
+ /**
13
+ * Money is stored as integer minor units (cents). A field is money when it is
14
+ * an integer whose name says so; everything else numeric is a plain number.
15
+ */
16
+ export declare function isMoneyField(field: CatalogField): boolean;
17
+ /**
18
+ * Things a shop sells, with a price in cents. Sample products and SKUs take
19
+ * their names from here by row index, and a line item pointing at product `n`
20
+ * reads as that product, so a picked product and a sample line agree.
21
+ */
22
+ export declare const PRODUCT_CATALOG: readonly {
23
+ name: string;
24
+ price: number;
25
+ }[];
26
+ /** Fixed clock so seeded timestamps never change between runs. */
27
+ export declare const EPOCH: number;
28
+ /** A UUID-shaped id derived from a seed string. */
29
+ export declare function fakeId(seed: string): string;
30
+ /** Fractions a tax rate takes: 0%, 5%, 8.25%, 13% and 20%. */
31
+ export declare const TAX_RATES: readonly [0, 0.05, 0.0825, 0.13, 0.2];
32
+ export declare const SAMPLE_ROW_COUNTS: Readonly<Record<string, number>>;
33
+ /** Sample rows for a model: the pack's count, else the shared one, else `fallback`. */
34
+ export declare function sampleRowCount(modelId: string, fallback: number): number;
35
+ /** One fake value for a field. Money is an integer number of minor units. */
36
+ export declare function fakeValue(field: CatalogField, random: () => number, context: {
37
+ modelId: string;
38
+ index: number;
39
+ }): unknown;
40
+ /** Fields a person edits: everything the framework does not manage. */
41
+ export declare function editableFields(model: CatalogModel): CatalogField[];
42
+ export declare const DAY: number;
43
+ /**
44
+ * The line a sample line item reads as when the pack describes lines apart
45
+ * from products (labour, fabrication, passes); `undefined` for packs whose
46
+ * lines are their products.
47
+ */
48
+ export declare function packLine(index: number): PackLine | undefined;
49
+ /** A single seeded record for a model. */
50
+ export declare function fakeRecord(model: CatalogModel, index: number, seed: number): ModelRecord;
51
+ /** `count` seeded records for a model. */
52
+ export declare function fakeRecords(model: CatalogModel, count: number, seed?: number): ModelRecord[];