@almadar/std 15.15.0 → 15.15.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 (273) hide show
  1. package/behaviors/registry/app/atoms/std-ap-bill.orb +423 -171
  2. package/behaviors/registry/app/atoms/std-applicant.orb +207 -165
  3. package/behaviors/registry/app/atoms/std-application.orb +300 -188
  4. package/behaviors/registry/app/atoms/std-approval-request.orb +370 -215
  5. package/behaviors/registry/app/atoms/std-campaign-goal.orb +382 -167
  6. package/behaviors/registry/app/atoms/std-change-order.orb +458 -194
  7. package/behaviors/registry/app/atoms/std-chart-of-accounts.orb +201 -130
  8. package/behaviors/registry/app/atoms/std-checkin.orb +215 -151
  9. package/behaviors/registry/app/atoms/std-checkout-terminal.orb +322 -133
  10. package/behaviors/registry/app/atoms/std-class-roster.orb +343 -170
  11. package/behaviors/registry/app/atoms/std-class-session.orb +321 -190
  12. package/behaviors/registry/app/atoms/std-court-deadline.orb +353 -182
  13. package/behaviors/registry/app/atoms/std-customer-account.orb +376 -157
  14. package/behaviors/registry/app/atoms/std-donation-receipt.orb +214 -143
  15. package/behaviors/registry/app/atoms/std-donor.orb +191 -156
  16. package/behaviors/registry/app/atoms/std-drip-sequence.orb +409 -170
  17. package/behaviors/registry/app/atoms/std-driver.orb +440 -202
  18. package/behaviors/registry/app/atoms/std-dunning.orb +431 -167
  19. package/behaviors/registry/app/atoms/std-email-broadcast.orb +386 -143
  20. package/behaviors/registry/app/atoms/std-event.orb +309 -178
  21. package/behaviors/registry/app/atoms/std-form-builder.orb +353 -220
  22. package/behaviors/registry/app/atoms/std-health-score.orb +218 -183
  23. package/behaviors/registry/app/atoms/std-help-article.orb +425 -162
  24. package/behaviors/registry/app/atoms/std-help-category.orb +409 -166
  25. package/behaviors/registry/app/atoms/std-interview-slot.orb +311 -138
  26. package/behaviors/registry/app/atoms/std-invoice.orb +349 -211
  27. package/behaviors/registry/app/atoms/std-kitchen-display.orb +308 -184
  28. package/behaviors/registry/app/atoms/std-lease.orb +411 -178
  29. package/behaviors/registry/app/atoms/std-ledger-entry.orb +266 -195
  30. package/behaviors/registry/app/atoms/std-maintenance-request.orb +396 -177
  31. package/behaviors/registry/app/atoms/std-matter.orb +415 -189
  32. package/behaviors/registry/app/atoms/std-membership.orb +387 -167
  33. package/behaviors/registry/app/atoms/std-menu.orb +232 -175
  34. package/behaviors/registry/app/atoms/std-modifier-group.orb +224 -167
  35. package/behaviors/registry/app/atoms/std-nps-survey.orb +390 -138
  36. package/behaviors/registry/app/atoms/std-offer-letter.orb +242 -133
  37. package/behaviors/registry/app/atoms/std-payout-ledger.orb +428 -176
  38. package/behaviors/registry/app/atoms/std-question-bank.orb +211 -145
  39. package/behaviors/registry/app/atoms/std-receipt.orb +248 -177
  40. package/behaviors/registry/app/atoms/std-recurring-charge.orb +421 -149
  41. package/behaviors/registry/app/atoms/std-renewal-risk.orb +382 -153
  42. package/behaviors/registry/app/atoms/std-rent-charge.orb +476 -176
  43. package/behaviors/registry/app/atoms/std-reorder-rule.orb +246 -176
  44. package/behaviors/registry/app/atoms/std-response-collector.orb +213 -150
  45. package/behaviors/registry/app/atoms/std-rfi.orb +365 -210
  46. package/behaviors/registry/app/atoms/std-route-optimize.orb +195 -146
  47. package/behaviors/registry/app/atoms/std-segment.orb +173 -139
  48. package/behaviors/registry/app/atoms/std-stock-level.orb +205 -135
  49. package/behaviors/registry/app/atoms/std-submittal.orb +323 -166
  50. package/behaviors/registry/app/atoms/std-table-map.orb +187 -63
  51. package/behaviors/registry/app/atoms/std-technician-dispatch.orb +290 -202
  52. package/behaviors/registry/app/atoms/std-telematics-event.orb +156 -128
  53. package/behaviors/registry/app/atoms/std-template-editor.orb +255 -189
  54. package/behaviors/registry/app/atoms/std-tenant.orb +375 -147
  55. package/behaviors/registry/app/atoms/std-ticket-tier.orb +463 -150
  56. package/behaviors/registry/app/atoms/std-time-entry.orb +259 -150
  57. package/behaviors/registry/app/atoms/std-timesheet.orb +292 -183
  58. package/behaviors/registry/app/atoms/std-trial.orb +401 -183
  59. package/behaviors/registry/app/atoms/std-vehicle.orb +447 -205
  60. package/behaviors/registry/app/atoms/std-vendor-onboarding.orb +289 -245
  61. package/behaviors/registry/app/atoms/std-waitlist.orb +308 -177
  62. package/behaviors/registry/app/atoms/std-warehouse.orb +211 -141
  63. package/behaviors/registry/app/atoms/std-work-order.orb +374 -219
  64. package/behaviors/registry/app/organisms/std-subscription-billing.orb +282 -195
  65. package/behaviors/registry/core/atoms/std-approval-gate.orb +703 -0
  66. package/behaviors/registry/core/atoms/std-audit-capture.orb +150 -64
  67. package/behaviors/registry/core/atoms/std-data-erasure.orb +546 -0
  68. package/behaviors/registry/core/atoms/std-lifecycle.orb +343 -0
  69. package/behaviors/registry/core/atoms/std-notify-on-event.orb +132 -46
  70. package/behaviors/registry/core/atoms/std-reminder-scheduler.orb +330 -0
  71. package/behaviors/registry/marketing/atoms/std-marketing-article.orb +96 -0
  72. package/behaviors/registry/marketing/atoms/std-marketing-case-studies.orb +243 -0
  73. package/behaviors/registry/marketing/atoms/std-marketing-community.orb +134 -0
  74. package/behaviors/registry/marketing/atoms/std-marketing-cta.orb +206 -0
  75. package/behaviors/registry/marketing/atoms/std-marketing-features.orb +193 -0
  76. package/behaviors/registry/marketing/atoms/std-marketing-footer.orb +192 -0
  77. package/behaviors/registry/marketing/atoms/std-marketing-hero.orb +262 -0
  78. package/behaviors/registry/marketing/atoms/std-marketing-nav.orb +190 -0
  79. package/behaviors/registry/marketing/atoms/std-marketing-pricing.orb +232 -0
  80. package/behaviors/registry/marketing/atoms/std-marketing-showcase.orb +276 -0
  81. package/behaviors/registry/marketing/atoms/std-marketing-split.orb +135 -0
  82. package/behaviors/registry/marketing/atoms/std-marketing-stats.orb +120 -0
  83. package/behaviors/registry/marketing/atoms/std-marketing-steps.orb +179 -0
  84. package/behaviors/registry/marketing/atoms/std-marketing-team.orb +192 -0
  85. package/behaviors/registry/marketing/atoms/std-marketing-testimonials.orb +124 -0
  86. package/behaviors/registry/marketing/molecules/std-about-page.orb +440 -0
  87. package/behaviors/registry/marketing/molecules/std-feature-detail-page.orb +371 -0
  88. package/behaviors/registry/marketing/molecules/std-landing-page.orb +521 -0
  89. package/behaviors/registry/marketing/molecules/std-pricing-page.orb +406 -0
  90. package/behaviors/registry/marketing/organisms/std-marketing-site.orb +1654 -0
  91. package/dist/behaviors/behaviors-registry.json +2913 -156
  92. package/dist/behaviors/registry/app/atoms/std-ap-bill.orb +423 -171
  93. package/dist/behaviors/registry/app/atoms/std-applicant.orb +207 -165
  94. package/dist/behaviors/registry/app/atoms/std-application.orb +300 -188
  95. package/dist/behaviors/registry/app/atoms/std-approval-request.orb +370 -215
  96. package/dist/behaviors/registry/app/atoms/std-campaign-goal.orb +382 -167
  97. package/dist/behaviors/registry/app/atoms/std-change-order.orb +458 -194
  98. package/dist/behaviors/registry/app/atoms/std-chart-of-accounts.orb +201 -130
  99. package/dist/behaviors/registry/app/atoms/std-checkin.orb +215 -151
  100. package/dist/behaviors/registry/app/atoms/std-checkout-terminal.orb +322 -133
  101. package/dist/behaviors/registry/app/atoms/std-class-roster.orb +343 -170
  102. package/dist/behaviors/registry/app/atoms/std-class-session.orb +321 -190
  103. package/dist/behaviors/registry/app/atoms/std-court-deadline.orb +353 -182
  104. package/dist/behaviors/registry/app/atoms/std-customer-account.orb +376 -157
  105. package/dist/behaviors/registry/app/atoms/std-donation-receipt.orb +214 -143
  106. package/dist/behaviors/registry/app/atoms/std-donor.orb +191 -156
  107. package/dist/behaviors/registry/app/atoms/std-drip-sequence.orb +409 -170
  108. package/dist/behaviors/registry/app/atoms/std-driver.orb +440 -202
  109. package/dist/behaviors/registry/app/atoms/std-dunning.orb +431 -167
  110. package/dist/behaviors/registry/app/atoms/std-email-broadcast.orb +386 -143
  111. package/dist/behaviors/registry/app/atoms/std-event.orb +309 -178
  112. package/dist/behaviors/registry/app/atoms/std-form-builder.orb +353 -220
  113. package/dist/behaviors/registry/app/atoms/std-health-score.orb +218 -183
  114. package/dist/behaviors/registry/app/atoms/std-help-article.orb +425 -162
  115. package/dist/behaviors/registry/app/atoms/std-help-category.orb +409 -166
  116. package/dist/behaviors/registry/app/atoms/std-interview-slot.orb +311 -138
  117. package/dist/behaviors/registry/app/atoms/std-invoice.orb +349 -211
  118. package/dist/behaviors/registry/app/atoms/std-kitchen-display.orb +308 -184
  119. package/dist/behaviors/registry/app/atoms/std-lease.orb +411 -178
  120. package/dist/behaviors/registry/app/atoms/std-ledger-entry.orb +266 -195
  121. package/dist/behaviors/registry/app/atoms/std-maintenance-request.orb +396 -177
  122. package/dist/behaviors/registry/app/atoms/std-matter.orb +415 -189
  123. package/dist/behaviors/registry/app/atoms/std-membership.orb +387 -167
  124. package/dist/behaviors/registry/app/atoms/std-menu.orb +232 -175
  125. package/dist/behaviors/registry/app/atoms/std-modifier-group.orb +224 -167
  126. package/dist/behaviors/registry/app/atoms/std-nps-survey.orb +390 -138
  127. package/dist/behaviors/registry/app/atoms/std-offer-letter.orb +242 -133
  128. package/dist/behaviors/registry/app/atoms/std-payout-ledger.orb +428 -176
  129. package/dist/behaviors/registry/app/atoms/std-question-bank.orb +211 -145
  130. package/dist/behaviors/registry/app/atoms/std-receipt.orb +248 -177
  131. package/dist/behaviors/registry/app/atoms/std-recurring-charge.orb +421 -149
  132. package/dist/behaviors/registry/app/atoms/std-renewal-risk.orb +382 -153
  133. package/dist/behaviors/registry/app/atoms/std-rent-charge.orb +476 -176
  134. package/dist/behaviors/registry/app/atoms/std-reorder-rule.orb +246 -176
  135. package/dist/behaviors/registry/app/atoms/std-response-collector.orb +213 -150
  136. package/dist/behaviors/registry/app/atoms/std-rfi.orb +365 -210
  137. package/dist/behaviors/registry/app/atoms/std-route-optimize.orb +195 -146
  138. package/dist/behaviors/registry/app/atoms/std-segment.orb +173 -139
  139. package/dist/behaviors/registry/app/atoms/std-stock-level.orb +205 -135
  140. package/dist/behaviors/registry/app/atoms/std-submittal.orb +323 -166
  141. package/dist/behaviors/registry/app/atoms/std-table-map.orb +187 -63
  142. package/dist/behaviors/registry/app/atoms/std-technician-dispatch.orb +290 -202
  143. package/dist/behaviors/registry/app/atoms/std-telematics-event.orb +156 -128
  144. package/dist/behaviors/registry/app/atoms/std-template-editor.orb +255 -189
  145. package/dist/behaviors/registry/app/atoms/std-tenant.orb +375 -147
  146. package/dist/behaviors/registry/app/atoms/std-ticket-tier.orb +463 -150
  147. package/dist/behaviors/registry/app/atoms/std-time-entry.orb +259 -150
  148. package/dist/behaviors/registry/app/atoms/std-timesheet.orb +292 -183
  149. package/dist/behaviors/registry/app/atoms/std-trial.orb +401 -183
  150. package/dist/behaviors/registry/app/atoms/std-vehicle.orb +447 -205
  151. package/dist/behaviors/registry/app/atoms/std-vendor-onboarding.orb +289 -245
  152. package/dist/behaviors/registry/app/atoms/std-waitlist.orb +308 -177
  153. package/dist/behaviors/registry/app/atoms/std-warehouse.orb +211 -141
  154. package/dist/behaviors/registry/app/atoms/std-work-order.orb +374 -219
  155. package/dist/behaviors/registry/app/organisms/std-subscription-billing.orb +282 -195
  156. package/dist/behaviors/registry/core/atoms/std-approval-gate.orb +703 -0
  157. package/dist/behaviors/registry/core/atoms/std-audit-capture.orb +150 -64
  158. package/dist/behaviors/registry/core/atoms/std-data-erasure.orb +546 -0
  159. package/dist/behaviors/registry/core/atoms/std-lifecycle.orb +343 -0
  160. package/dist/behaviors/registry/core/atoms/std-notify-on-event.orb +132 -46
  161. package/dist/behaviors/registry/core/atoms/std-reminder-scheduler.orb +330 -0
  162. package/dist/behaviors/registry/marketing/atoms/std-marketing-article.orb +96 -0
  163. package/dist/behaviors/registry/marketing/atoms/std-marketing-case-studies.orb +243 -0
  164. package/dist/behaviors/registry/marketing/atoms/std-marketing-community.orb +134 -0
  165. package/dist/behaviors/registry/marketing/atoms/std-marketing-cta.orb +206 -0
  166. package/dist/behaviors/registry/marketing/atoms/std-marketing-features.orb +193 -0
  167. package/dist/behaviors/registry/marketing/atoms/std-marketing-footer.orb +192 -0
  168. package/dist/behaviors/registry/marketing/atoms/std-marketing-hero.orb +262 -0
  169. package/dist/behaviors/registry/marketing/atoms/std-marketing-nav.orb +190 -0
  170. package/dist/behaviors/registry/marketing/atoms/std-marketing-pricing.orb +232 -0
  171. package/dist/behaviors/registry/marketing/atoms/std-marketing-showcase.orb +276 -0
  172. package/dist/behaviors/registry/marketing/atoms/std-marketing-split.orb +135 -0
  173. package/dist/behaviors/registry/marketing/atoms/std-marketing-stats.orb +120 -0
  174. package/dist/behaviors/registry/marketing/atoms/std-marketing-steps.orb +179 -0
  175. package/dist/behaviors/registry/marketing/atoms/std-marketing-team.orb +192 -0
  176. package/dist/behaviors/registry/marketing/atoms/std-marketing-testimonials.orb +124 -0
  177. package/dist/behaviors/registry/marketing/molecules/std-about-page.orb +440 -0
  178. package/dist/behaviors/registry/marketing/molecules/std-feature-detail-page.orb +371 -0
  179. package/dist/behaviors/registry/marketing/molecules/std-landing-page.orb +521 -0
  180. package/dist/behaviors/registry/marketing/molecules/std-pricing-page.orb +406 -0
  181. package/dist/behaviors/registry/marketing/organisms/std-marketing-site.orb +1654 -0
  182. package/dist/behaviors-registry.json +2913 -156
  183. package/dist/registry/app/atoms/std-ap-bill.orb +423 -171
  184. package/dist/registry/app/atoms/std-applicant.orb +207 -165
  185. package/dist/registry/app/atoms/std-application.orb +300 -188
  186. package/dist/registry/app/atoms/std-approval-request.orb +370 -215
  187. package/dist/registry/app/atoms/std-campaign-goal.orb +382 -167
  188. package/dist/registry/app/atoms/std-change-order.orb +458 -194
  189. package/dist/registry/app/atoms/std-chart-of-accounts.orb +201 -130
  190. package/dist/registry/app/atoms/std-checkin.orb +215 -151
  191. package/dist/registry/app/atoms/std-checkout-terminal.orb +322 -133
  192. package/dist/registry/app/atoms/std-class-roster.orb +343 -170
  193. package/dist/registry/app/atoms/std-class-session.orb +321 -190
  194. package/dist/registry/app/atoms/std-court-deadline.orb +353 -182
  195. package/dist/registry/app/atoms/std-customer-account.orb +376 -157
  196. package/dist/registry/app/atoms/std-donation-receipt.orb +214 -143
  197. package/dist/registry/app/atoms/std-donor.orb +191 -156
  198. package/dist/registry/app/atoms/std-drip-sequence.orb +409 -170
  199. package/dist/registry/app/atoms/std-driver.orb +440 -202
  200. package/dist/registry/app/atoms/std-dunning.orb +431 -167
  201. package/dist/registry/app/atoms/std-email-broadcast.orb +386 -143
  202. package/dist/registry/app/atoms/std-event.orb +309 -178
  203. package/dist/registry/app/atoms/std-form-builder.orb +353 -220
  204. package/dist/registry/app/atoms/std-health-score.orb +218 -183
  205. package/dist/registry/app/atoms/std-help-article.orb +425 -162
  206. package/dist/registry/app/atoms/std-help-category.orb +409 -166
  207. package/dist/registry/app/atoms/std-interview-slot.orb +311 -138
  208. package/dist/registry/app/atoms/std-invoice.orb +349 -211
  209. package/dist/registry/app/atoms/std-kitchen-display.orb +308 -184
  210. package/dist/registry/app/atoms/std-lease.orb +411 -178
  211. package/dist/registry/app/atoms/std-ledger-entry.orb +266 -195
  212. package/dist/registry/app/atoms/std-maintenance-request.orb +396 -177
  213. package/dist/registry/app/atoms/std-matter.orb +415 -189
  214. package/dist/registry/app/atoms/std-membership.orb +387 -167
  215. package/dist/registry/app/atoms/std-menu.orb +232 -175
  216. package/dist/registry/app/atoms/std-modifier-group.orb +224 -167
  217. package/dist/registry/app/atoms/std-nps-survey.orb +390 -138
  218. package/dist/registry/app/atoms/std-offer-letter.orb +242 -133
  219. package/dist/registry/app/atoms/std-payout-ledger.orb +428 -176
  220. package/dist/registry/app/atoms/std-question-bank.orb +211 -145
  221. package/dist/registry/app/atoms/std-receipt.orb +248 -177
  222. package/dist/registry/app/atoms/std-recurring-charge.orb +421 -149
  223. package/dist/registry/app/atoms/std-renewal-risk.orb +382 -153
  224. package/dist/registry/app/atoms/std-rent-charge.orb +476 -176
  225. package/dist/registry/app/atoms/std-reorder-rule.orb +246 -176
  226. package/dist/registry/app/atoms/std-response-collector.orb +213 -150
  227. package/dist/registry/app/atoms/std-rfi.orb +365 -210
  228. package/dist/registry/app/atoms/std-route-optimize.orb +195 -146
  229. package/dist/registry/app/atoms/std-segment.orb +173 -139
  230. package/dist/registry/app/atoms/std-stock-level.orb +205 -135
  231. package/dist/registry/app/atoms/std-submittal.orb +323 -166
  232. package/dist/registry/app/atoms/std-table-map.orb +187 -63
  233. package/dist/registry/app/atoms/std-technician-dispatch.orb +290 -202
  234. package/dist/registry/app/atoms/std-telematics-event.orb +156 -128
  235. package/dist/registry/app/atoms/std-template-editor.orb +255 -189
  236. package/dist/registry/app/atoms/std-tenant.orb +375 -147
  237. package/dist/registry/app/atoms/std-ticket-tier.orb +463 -150
  238. package/dist/registry/app/atoms/std-time-entry.orb +259 -150
  239. package/dist/registry/app/atoms/std-timesheet.orb +292 -183
  240. package/dist/registry/app/atoms/std-trial.orb +401 -183
  241. package/dist/registry/app/atoms/std-vehicle.orb +447 -205
  242. package/dist/registry/app/atoms/std-vendor-onboarding.orb +289 -245
  243. package/dist/registry/app/atoms/std-waitlist.orb +308 -177
  244. package/dist/registry/app/atoms/std-warehouse.orb +211 -141
  245. package/dist/registry/app/atoms/std-work-order.orb +374 -219
  246. package/dist/registry/app/organisms/std-subscription-billing.orb +282 -195
  247. package/dist/registry/core/atoms/std-approval-gate.orb +703 -0
  248. package/dist/registry/core/atoms/std-audit-capture.orb +150 -64
  249. package/dist/registry/core/atoms/std-data-erasure.orb +546 -0
  250. package/dist/registry/core/atoms/std-lifecycle.orb +343 -0
  251. package/dist/registry/core/atoms/std-notify-on-event.orb +132 -46
  252. package/dist/registry/core/atoms/std-reminder-scheduler.orb +330 -0
  253. package/dist/registry/marketing/atoms/std-marketing-article.orb +96 -0
  254. package/dist/registry/marketing/atoms/std-marketing-case-studies.orb +243 -0
  255. package/dist/registry/marketing/atoms/std-marketing-community.orb +134 -0
  256. package/dist/registry/marketing/atoms/std-marketing-cta.orb +206 -0
  257. package/dist/registry/marketing/atoms/std-marketing-features.orb +193 -0
  258. package/dist/registry/marketing/atoms/std-marketing-footer.orb +192 -0
  259. package/dist/registry/marketing/atoms/std-marketing-hero.orb +262 -0
  260. package/dist/registry/marketing/atoms/std-marketing-nav.orb +190 -0
  261. package/dist/registry/marketing/atoms/std-marketing-pricing.orb +232 -0
  262. package/dist/registry/marketing/atoms/std-marketing-showcase.orb +276 -0
  263. package/dist/registry/marketing/atoms/std-marketing-split.orb +135 -0
  264. package/dist/registry/marketing/atoms/std-marketing-stats.orb +120 -0
  265. package/dist/registry/marketing/atoms/std-marketing-steps.orb +179 -0
  266. package/dist/registry/marketing/atoms/std-marketing-team.orb +192 -0
  267. package/dist/registry/marketing/atoms/std-marketing-testimonials.orb +124 -0
  268. package/dist/registry/marketing/molecules/std-about-page.orb +440 -0
  269. package/dist/registry/marketing/molecules/std-feature-detail-page.orb +371 -0
  270. package/dist/registry/marketing/molecules/std-landing-page.orb +521 -0
  271. package/dist/registry/marketing/molecules/std-pricing-page.orb +406 -0
  272. package/dist/registry/marketing/organisms/std-marketing-site.orb +1654 -0
  273. package/package.json +1 -1
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "std-trial",
3
- "version": "1.1.0",
4
- "description": "std-trial — subscription trial countdown with auto-convert at expiry. Lists trials in `browsing`; opens detail in `viewing_single` with Convert / Expire / Cancel actions. Agents tune the list shape via `config.fields` + `config.itemActions`.",
3
+ "version": "1.2.0",
4
+ "description": "std-trial — subscription trial countdown with Convert / Expire / Cancel actions. Listens for SET_STATUS so std-lifecycle can drive automated transitions. Exposes CRM-pattern knobs.",
5
5
  "orbitals": [
6
6
  {
7
7
  "name": "TrialOrbital",
@@ -299,6 +299,65 @@
299
299
  "type": "string"
300
300
  }
301
301
  ]
302
+ },
303
+ {
304
+ "event": "TrialUpdated",
305
+ "payloadSchema": [
306
+ {
307
+ "name": "row.id",
308
+ "type": "string",
309
+ "required": true
310
+ },
311
+ {
312
+ "name": "row.subscriptionId",
313
+ "type": "string",
314
+ "required": true
315
+ },
316
+ {
317
+ "name": "row.customerId",
318
+ "type": "string",
319
+ "required": true
320
+ },
321
+ {
322
+ "name": "row.planId",
323
+ "type": "string",
324
+ "required": true
325
+ },
326
+ {
327
+ "name": "row.startedAt",
328
+ "type": "string"
329
+ },
330
+ {
331
+ "name": "row.expiresAt",
332
+ "type": "string",
333
+ "required": true
334
+ },
335
+ {
336
+ "name": "row.status",
337
+ "type": "string"
338
+ },
339
+ {
340
+ "name": "row.convertedAt",
341
+ "type": "string"
342
+ },
343
+ {
344
+ "name": "row.notifiedAt",
345
+ "type": "string"
346
+ }
347
+ ]
348
+ },
349
+ {
350
+ "event": "TrialUpdateFailed",
351
+ "payloadSchema": [
352
+ {
353
+ "name": "error",
354
+ "type": "string"
355
+ },
356
+ {
357
+ "name": "code",
358
+ "type": "string"
359
+ }
360
+ ]
302
361
  }
303
362
  ],
304
363
  "stateMachine": {
@@ -376,6 +435,46 @@
376
435
  }
377
436
  ]
378
437
  },
438
+ {
439
+ "key": "SET_STATUS",
440
+ "name": "Set Status",
441
+ "payloadSchema": [
442
+ {
443
+ "name": "entityId",
444
+ "type": "string",
445
+ "required": true
446
+ },
447
+ {
448
+ "name": "newStatus",
449
+ "type": "string",
450
+ "required": true
451
+ }
452
+ ]
453
+ },
454
+ {
455
+ "key": "TrialUpdated",
456
+ "name": "Trial updated",
457
+ "payloadSchema": [
458
+ {
459
+ "name": "row",
460
+ "type": "Trial"
461
+ }
462
+ ]
463
+ },
464
+ {
465
+ "key": "TrialUpdateFailed",
466
+ "name": "Trial update failed",
467
+ "payloadSchema": [
468
+ {
469
+ "name": "error",
470
+ "type": "string"
471
+ },
472
+ {
473
+ "name": "code",
474
+ "type": "string"
475
+ }
476
+ ]
477
+ },
379
478
  {
380
479
  "key": "CLOSE_VIEW",
381
480
  "name": "Close View"
@@ -442,15 +541,15 @@
442
541
  "type": "spinner"
443
542
  },
444
543
  {
445
- "type": "typography",
544
+ "variant": "caption",
446
545
  "color": "muted",
447
546
  "content": "Loading trials…",
448
- "variant": "caption"
547
+ "type": "typography"
449
548
  }
450
549
  ],
451
550
  "direction": "vertical",
452
- "gap": "md",
453
551
  "type": "stack",
552
+ "gap": "md",
454
553
  "align": "center"
455
554
  }
456
555
  ]
@@ -465,53 +564,51 @@
465
564
  "render-ui",
466
565
  "main",
467
566
  {
468
- "type": "stack",
469
- "direction": "vertical",
470
567
  "children": [
471
568
  {
472
569
  "type": "stack",
473
- "align": "center",
570
+ "gap": "sm",
571
+ "direction": "horizontal",
474
572
  "children": [
475
573
  {
476
- "name": "clock",
477
- "type": "icon"
574
+ "type": "icon",
575
+ "name": "clock"
478
576
  },
479
577
  {
578
+ "type": "typography",
480
579
  "content": "@config.title",
481
- "variant": "h3",
482
- "type": "typography"
580
+ "variant": "h3"
483
581
  }
484
582
  ],
485
- "direction": "horizontal",
486
- "gap": "sm"
583
+ "align": "center"
487
584
  },
488
585
  {
489
- "type": "simple-grid",
490
586
  "cols": 4.0,
587
+ "type": "simple-grid",
491
588
  "children": [
492
589
  {
493
- "type": "stat-display",
494
590
  "value": "@payload.data.length",
495
591
  "icon": "clock",
592
+ "type": "stat-display",
496
593
  "label": "Active trials"
497
594
  },
498
595
  {
499
- "type": "stat-display",
500
- "icon": "trending-up",
501
596
  "label": "Conversion rate",
502
- "value": "42%"
597
+ "icon": "trending-up",
598
+ "value": "42%",
599
+ "type": "stat-display"
503
600
  },
504
601
  {
505
- "icon": "alert-triangle",
602
+ "type": "stat-display",
506
603
  "label": "Expiring 7d",
507
604
  "value": "18",
508
- "type": "stat-display"
605
+ "icon": "alert-triangle"
509
606
  },
510
607
  {
608
+ "label": "Converted this mo",
511
609
  "type": "stat-display",
512
610
  "value": "31",
513
- "icon": "check-circle",
514
- "label": "Converted this mo"
611
+ "icon": "check-circle"
515
612
  }
516
613
  ]
517
614
  },
@@ -520,13 +617,15 @@
520
617
  },
521
618
  {
522
619
  "type": "data-grid",
523
- "fields": "@config.fields",
620
+ "entity": "@payload.data",
524
621
  "gap": "sm",
525
- "itemActions": "@config.itemActions",
526
622
  "cols": 1.0,
527
- "entity": "@payload.data"
623
+ "itemActions": "@config.itemActions",
624
+ "fields": "@config.fields"
528
625
  }
529
626
  ],
627
+ "direction": "vertical",
628
+ "type": "stack",
530
629
  "gap": "md"
531
630
  }
532
631
  ]
@@ -602,71 +701,65 @@
602
701
  "render-ui",
603
702
  "main",
604
703
  {
605
- "type": "stack",
606
704
  "gap": "md",
607
- "direction": "vertical",
608
705
  "children": [
609
706
  {
610
- "align": "center",
611
- "type": "stack",
707
+ "gap": "sm",
612
708
  "children": [
613
709
  {
614
710
  "type": "button",
711
+ "variant": "ghost",
615
712
  "action": "CLOSE_VIEW",
616
- "label": "Back",
617
- "variant": "ghost"
713
+ "label": "Back"
618
714
  },
619
715
  {
620
716
  "type": "icon",
621
717
  "name": "clock"
622
718
  },
623
719
  {
624
- "variant": "h3",
625
720
  "type": "typography",
626
- "content": "@entity.customerId"
721
+ "content": "@entity.customerId",
722
+ "variant": "h3"
627
723
  },
628
724
  {
629
725
  "variant": "primary",
630
- "label": "@entity.status",
631
- "type": "badge"
726
+ "type": "badge",
727
+ "label": "@entity.status"
632
728
  }
633
729
  ],
634
- "direction": "horizontal",
635
- "gap": "sm"
730
+ "type": "stack",
731
+ "align": "center",
732
+ "direction": "horizontal"
636
733
  },
637
734
  {
638
735
  "type": "divider"
639
736
  },
640
737
  {
641
- "gap": "sm",
642
- "type": "stack",
643
- "direction": "vertical",
644
738
  "children": [
645
739
  {
646
- "direction": "horizontal",
647
740
  "gap": "md",
741
+ "type": "stack",
742
+ "direction": "horizontal",
648
743
  "children": [
649
744
  {
650
- "variant": "caption",
651
745
  "type": "typography",
746
+ "variant": "caption",
652
747
  "content": "Plan",
653
748
  "color": "muted"
654
749
  },
655
750
  {
656
- "type": "typography",
657
751
  "variant": "body",
752
+ "type": "typography",
658
753
  "content": "@entity.planId"
659
754
  }
660
- ],
661
- "type": "stack"
755
+ ]
662
756
  },
663
757
  {
664
- "gap": "md",
665
758
  "children": [
666
759
  {
760
+ "color": "muted",
667
761
  "variant": "caption",
668
762
  "content": "Subscription",
669
- "color": "muted",
670
763
  "type": "typography"
671
764
  },
672
765
  {
@@ -676,83 +769,89 @@
676
769
  }
677
770
  ],
678
771
  "direction": "horizontal",
772
+ "gap": "md",
679
773
  "type": "stack"
680
774
  }
681
- ]
775
+ ],
776
+ "type": "stack",
777
+ "gap": "sm",
778
+ "direction": "vertical"
682
779
  },
683
780
  {
684
781
  "type": "divider"
685
782
  },
686
783
  {
687
- "type": "simple-grid",
688
784
  "cols": 4.0,
689
785
  "children": [
690
786
  {
691
- "type": "stat-display",
692
- "label": "Started",
693
787
  "icon": "calendar",
694
- "value": "@entity.startedAt"
788
+ "label": "Started",
789
+ "value": "@entity.startedAt",
790
+ "type": "stat-display"
695
791
  },
696
792
  {
697
- "icon": "calendar-clock",
793
+ "value": "@entity.expiresAt",
698
794
  "type": "stat-display",
699
795
  "label": "Expires",
700
- "value": "@entity.expiresAt"
796
+ "icon": "calendar-clock"
701
797
  },
702
798
  {
703
799
  "icon": "check-circle",
704
- "label": "Converted",
705
800
  "value": "@entity.convertedAt",
706
- "type": "stat-display"
801
+ "type": "stat-display",
802
+ "label": "Converted"
707
803
  },
708
804
  {
709
- "label": "Notified",
710
805
  "type": "stat-display",
711
806
  "value": "@entity.notifiedAt",
807
+ "label": "Notified",
712
808
  "icon": "bell"
713
809
  }
714
- ]
810
+ ],
811
+ "type": "simple-grid"
715
812
  },
716
813
  {
717
- "direction": "horizontal",
718
- "gap": "sm",
814
+ "align": "center",
815
+ "type": "stack",
719
816
  "children": [
720
817
  {
721
- "action": "CONVERT",
722
- "label": "Convert",
723
818
  "variant": "primary",
724
819
  "type": "button",
820
+ "action": "CONVERT",
821
+ "label": "Convert",
725
822
  "actionPayload": {
726
- "trialId": "@entity.id",
727
823
  "convertedAt": "@entity.expiresAt",
728
- "row": "@entity"
824
+ "row": "@entity",
825
+ "trialId": "@entity.id"
729
826
  }
730
827
  },
731
828
  {
829
+ "type": "button",
732
830
  "actionPayload": {
733
- "trialId": "@entity.id",
734
- "row": "@entity"
831
+ "row": "@entity",
832
+ "trialId": "@entity.id"
735
833
  },
736
- "variant": "secondary",
737
- "type": "button",
834
+ "label": "Expire",
738
835
  "action": "EXPIRE",
739
- "label": "Expire"
836
+ "variant": "secondary"
740
837
  },
741
838
  {
742
- "label": "Cancel",
743
- "action": "CANCEL",
744
839
  "type": "button",
745
840
  "variant": "danger",
841
+ "label": "Cancel",
842
+ "action": "CANCEL",
746
843
  "actionPayload": {
747
- "trialId": "@entity.id",
748
- "row": "@entity"
844
+ "row": "@entity",
845
+ "trialId": "@entity.id"
749
846
  }
750
847
  }
751
848
  ],
752
- "align": "center",
753
- "type": "stack"
849
+ "gap": "sm",
850
+ "direction": "horizontal"
754
851
  }
755
- ]
852
+ ],
853
+ "type": "stack",
854
+ "direction": "vertical"
756
855
  }
757
856
  ]
758
857
  ]
@@ -781,22 +880,106 @@
781
880
  "render-ui",
782
881
  "main",
783
882
  {
784
- "type": "stack",
883
+ "align": "center",
884
+ "direction": "vertical",
785
885
  "className": "py-12",
886
+ "gap": "md",
786
887
  "children": [
787
888
  {
788
889
  "type": "spinner"
789
890
  },
790
891
  {
791
- "content": "Cancelling trial…",
792
- "color": "muted",
793
892
  "variant": "caption",
893
+ "color": "muted",
894
+ "content": "Cancelling trial…",
794
895
  "type": "typography"
795
896
  }
796
897
  ],
797
- "align": "center",
898
+ "type": "stack"
899
+ }
900
+ ]
901
+ ]
902
+ },
903
+ {
904
+ "from": "browsing",
905
+ "to": "loading",
906
+ "event": "SET_STATUS",
907
+ "effects": [
908
+ [
909
+ "set",
910
+ "@entity.id",
911
+ "@payload.entityId"
912
+ ],
913
+ [
914
+ "set",
915
+ "@entity.status",
916
+ "@payload.newStatus"
917
+ ],
918
+ [
919
+ "persist",
920
+ "update",
921
+ "Trial",
922
+ "@entity",
923
+ {
924
+ "emit": {
925
+ "success": "TrialUpdated",
926
+ "failure": "TrialUpdateFailed"
927
+ }
928
+ }
929
+ ],
930
+ [
931
+ "render-ui",
932
+ "main",
933
+ {
934
+ "children": [
935
+ {
936
+ "type": "spinner"
937
+ },
938
+ {
939
+ "content": "Updating trial status…",
940
+ "color": "muted",
941
+ "type": "typography",
942
+ "variant": "caption"
943
+ }
944
+ ],
945
+ "gap": "md",
946
+ "type": "stack",
798
947
  "direction": "vertical",
799
- "gap": "md"
948
+ "align": "center",
949
+ "className": "py-12"
950
+ }
951
+ ]
952
+ ]
953
+ },
954
+ {
955
+ "from": "browsing",
956
+ "to": "loading",
957
+ "event": "TrialUpdated",
958
+ "effects": [
959
+ [
960
+ "fetch",
961
+ "Trial",
962
+ {
963
+ "emit": {
964
+ "failure": "TrialLoadFailed",
965
+ "success": "TrialLoaded"
966
+ }
967
+ }
968
+ ]
969
+ ]
970
+ },
971
+ {
972
+ "from": "browsing",
973
+ "to": "browsing",
974
+ "event": "TrialUpdateFailed",
975
+ "effects": [
976
+ [
977
+ "render-ui",
978
+ "main",
979
+ {
980
+ "type": "alert",
981
+ "variant": "error",
982
+ "message": "@payload.error"
800
983
  }
801
984
  ]
802
985
  ]
@@ -820,22 +1003,22 @@
820
1003
  "render-ui",
821
1004
  "main",
822
1005
  {
823
- "type": "stack",
824
- "gap": "md",
825
1006
  "direction": "vertical",
1007
+ "align": "center",
1008
+ "gap": "md",
1009
+ "type": "stack",
826
1010
  "className": "py-12",
827
1011
  "children": [
828
1012
  {
829
1013
  "type": "spinner"
830
1014
  },
831
1015
  {
832
- "color": "muted",
833
- "variant": "caption",
1016
+ "content": "Loading trials…",
834
1017
  "type": "typography",
835
- "content": "Loading trials…"
1018
+ "color": "muted",
1019
+ "variant": "caption"
836
1020
  }
837
- ],
838
- "align": "center"
1021
+ ]
839
1022
  }
840
1023
  ]
841
1024
  ]
@@ -864,22 +1047,22 @@
864
1047
  "render-ui",
865
1048
  "main",
866
1049
  {
1050
+ "align": "center",
1051
+ "gap": "md",
867
1052
  "direction": "vertical",
1053
+ "type": "stack",
868
1054
  "className": "py-12",
869
- "gap": "md",
870
1055
  "children": [
871
1056
  {
872
1057
  "type": "spinner"
873
1058
  },
874
1059
  {
875
1060
  "type": "typography",
876
- "color": "muted",
1061
+ "content": "Converting trial…",
877
1062
  "variant": "caption",
878
- "content": "Converting trial…"
1063
+ "color": "muted"
879
1064
  }
880
- ],
881
- "type": "stack",
882
- "align": "center"
1065
+ ]
883
1066
  }
884
1067
  ]
885
1068
  ]
@@ -908,9 +1091,6 @@
908
1091
  "render-ui",
909
1092
  "main",
910
1093
  {
911
- "direction": "vertical",
912
- "align": "center",
913
- "gap": "md",
914
1094
  "className": "py-12",
915
1095
  "type": "stack",
916
1096
  "children": [
@@ -918,12 +1098,15 @@
918
1098
  "type": "spinner"
919
1099
  },
920
1100
  {
921
- "variant": "caption",
1101
+ "type": "typography",
922
1102
  "color": "muted",
923
1103
  "content": "Expiring trial…",
924
- "type": "typography"
1104
+ "variant": "caption"
925
1105
  }
926
- ]
1106
+ ],
1107
+ "direction": "vertical",
1108
+ "gap": "md",
1109
+ "align": "center"
927
1110
  }
928
1111
  ]
929
1112
  ]
@@ -943,8 +1126,8 @@
943
1126
  "Trial",
944
1127
  {
945
1128
  "emit": {
946
- "failure": "TrialLoadFailed",
947
- "success": "TrialLoaded"
1129
+ "success": "TrialLoaded",
1130
+ "failure": "TrialLoadFailed"
948
1131
  }
949
1132
  }
950
1133
  ],
@@ -952,22 +1135,22 @@
952
1135
  "render-ui",
953
1136
  "main",
954
1137
  {
955
- "gap": "md",
956
- "align": "center",
957
- "className": "py-12",
958
1138
  "type": "stack",
959
1139
  "children": [
960
1140
  {
961
1141
  "type": "spinner"
962
1142
  },
963
1143
  {
964
- "type": "typography",
1144
+ "color": "muted",
965
1145
  "content": "Cancelling trial…",
966
- "variant": "caption",
967
- "color": "muted"
1146
+ "type": "typography",
1147
+ "variant": "caption"
968
1148
  }
969
1149
  ],
970
- "direction": "vertical"
1150
+ "gap": "md",
1151
+ "direction": "vertical",
1152
+ "align": "center",
1153
+ "className": "py-12"
971
1154
  }
972
1155
  ]
973
1156
  ]
@@ -991,8 +1174,8 @@
991
1174
  "render-ui",
992
1175
  "main",
993
1176
  {
994
- "type": "spinner",
995
- "size": "sm"
1177
+ "size": "sm",
1178
+ "type": "spinner"
996
1179
  }
997
1180
  ]
998
1181
  ]
@@ -1000,30 +1183,68 @@
1000
1183
  ]
1001
1184
  },
1002
1185
  "config": {
1003
- "title": {
1004
- "type": "string",
1005
- "default": "Trials",
1006
- "label": "Section title",
1007
- "description": "Heading shown above the trial subscriptions list",
1008
- "tier": "customization"
1186
+ "itemActions": {
1187
+ "type": "[ItemAction]",
1188
+ "default": [
1189
+ {
1190
+ "icon": "arrow-right",
1191
+ "label": "Open",
1192
+ "event": "OPEN_TRIAL",
1193
+ "variant": "primary"
1194
+ },
1195
+ {
1196
+ "icon": "x",
1197
+ "label": "Cancel",
1198
+ "event": "CANCEL",
1199
+ "variant": "danger"
1200
+ }
1201
+ ],
1202
+ "label": "Row actions",
1203
+ "description": "Buttons users can click on each trial row",
1204
+ "tier": "customization",
1205
+ "items": {
1206
+ "type": "object",
1207
+ "properties": {
1208
+ "icon": {
1209
+ "name": "icon",
1210
+ "type": "string",
1211
+ "required": false
1212
+ },
1213
+ "variant": {
1214
+ "name": "variant",
1215
+ "type": "string",
1216
+ "required": false
1217
+ },
1218
+ "label": {
1219
+ "name": "label",
1220
+ "type": "string",
1221
+ "required": true
1222
+ },
1223
+ "event": {
1224
+ "name": "event",
1225
+ "type": "string",
1226
+ "required": true
1227
+ }
1228
+ }
1229
+ }
1009
1230
  },
1010
1231
  "fields": {
1011
1232
  "type": "[FieldSpec]",
1012
1233
  "default": [
1013
1234
  {
1235
+ "label": "Customer",
1014
1236
  "name": "customerId",
1015
- "variant": "caption",
1016
- "label": "Customer"
1237
+ "variant": "caption"
1017
1238
  },
1018
1239
  {
1019
- "label": "Plan",
1020
1240
  "variant": "caption",
1241
+ "label": "Plan",
1021
1242
  "name": "planId"
1022
1243
  },
1023
1244
  {
1024
- "name": "status",
1025
1245
  "label": "Status",
1026
- "variant": "badge"
1246
+ "variant": "badge",
1247
+ "name": "status"
1027
1248
  },
1028
1249
  {
1029
1250
  "name": "startedAt",
@@ -1031,19 +1252,19 @@
1031
1252
  "variant": "caption"
1032
1253
  },
1033
1254
  {
1034
- "name": "expiresAt",
1035
1255
  "label": "Expires",
1036
- "variant": "caption"
1256
+ "variant": "caption",
1257
+ "name": "expiresAt"
1037
1258
  },
1038
1259
  {
1039
- "name": "convertedAt",
1260
+ "variant": "caption",
1040
1261
  "label": "Converted",
1041
- "variant": "caption"
1262
+ "name": "convertedAt"
1042
1263
  },
1043
1264
  {
1044
- "label": "Notified",
1265
+ "name": "notifiedAt",
1045
1266
  "variant": "caption",
1046
- "name": "notifiedAt"
1267
+ "label": "Notified"
1047
1268
  }
1048
1269
  ],
1049
1270
  "label": "Columns to show",
@@ -1052,13 +1273,13 @@
1052
1273
  "items": {
1053
1274
  "type": "object",
1054
1275
  "properties": {
1055
- "name": {
1056
- "name": "name",
1276
+ "format": {
1277
+ "name": "format",
1057
1278
  "type": "string",
1058
- "required": true
1279
+ "required": false
1059
1280
  },
1060
- "icon": {
1061
- "name": "icon",
1281
+ "label": {
1282
+ "name": "label",
1062
1283
  "type": "string",
1063
1284
  "required": false
1064
1285
  },
@@ -1067,73 +1288,70 @@
1067
1288
  "type": "string",
1068
1289
  "required": false
1069
1290
  },
1070
- "label": {
1071
- "name": "label",
1291
+ "header": {
1292
+ "name": "header",
1072
1293
  "type": "string",
1073
1294
  "required": false
1074
1295
  },
1075
- "variant": {
1076
- "name": "variant",
1296
+ "icon": {
1297
+ "name": "icon",
1077
1298
  "type": "string",
1078
1299
  "required": false
1079
1300
  },
1080
- "format": {
1081
- "name": "format",
1301
+ "name": {
1302
+ "name": "name",
1082
1303
  "type": "string",
1083
- "required": false
1304
+ "required": true
1084
1305
  },
1085
- "header": {
1086
- "name": "header",
1306
+ "variant": {
1307
+ "name": "variant",
1087
1308
  "type": "string",
1088
1309
  "required": false
1089
1310
  }
1090
1311
  }
1091
1312
  }
1092
1313
  },
1093
- "itemActions": {
1094
- "type": "[ItemAction]",
1314
+ "healthScoreThresholdAlert": {
1315
+ "type": "number",
1316
+ "default": 30.0,
1317
+ "label": "Health score threshold",
1318
+ "description": "Trial users below this engagement score get flagged for CSM outreach. Declarative; wire via sibling std-notify.",
1319
+ "tier": "customization"
1320
+ },
1321
+ "renewalReminderDaysBefore": {
1322
+ "type": "[number]",
1095
1323
  "default": [
1096
- {
1097
- "label": "Open",
1098
- "event": "OPEN_TRIAL",
1099
- "icon": "arrow-right",
1100
- "variant": "primary"
1101
- },
1102
- {
1103
- "variant": "danger",
1104
- "icon": "x",
1105
- "event": "CANCEL",
1106
- "label": "Cancel"
1107
- }
1324
+ 7.0,
1325
+ 3.0,
1326
+ 1.0
1108
1327
  ],
1109
- "label": "Row actions",
1110
- "description": "Buttons users can click on each trial row",
1328
+ "label": "Trial reminder days-before",
1329
+ "description": "Days before expiresAt to send conversion reminders. Declarative; wire via sibling std-reminder-scheduler.",
1111
1330
  "tier": "customization",
1112
1331
  "items": {
1113
- "type": "object",
1114
- "properties": {
1115
- "variant": {
1116
- "name": "variant",
1117
- "type": "string",
1118
- "required": false
1119
- },
1120
- "icon": {
1121
- "name": "icon",
1122
- "type": "string",
1123
- "required": false
1124
- },
1125
- "event": {
1126
- "name": "event",
1127
- "type": "string",
1128
- "required": true
1129
- },
1130
- "label": {
1131
- "name": "label",
1132
- "type": "string",
1133
- "required": true
1134
- }
1135
- }
1332
+ "type": "number"
1136
1333
  }
1334
+ },
1335
+ "archiveInactiveAfterDays": {
1336
+ "type": "number",
1337
+ "default": 90.0,
1338
+ "label": "Archive inactive after (days)",
1339
+ "description": "Days post-expiration before trial record is archived. Declarative; wire via sibling std-lifecycle.",
1340
+ "tier": "advanced"
1341
+ },
1342
+ "title": {
1343
+ "type": "string",
1344
+ "default": "Trials",
1345
+ "label": "Section title",
1346
+ "description": "Heading shown above the trial subscriptions list",
1347
+ "tier": "customization"
1348
+ },
1349
+ "consentTrackingEnabled": {
1350
+ "type": "boolean",
1351
+ "default": true,
1352
+ "label": "Track consent",
1353
+ "description": "Whether to record marketing consent during trial signup. Declarative.",
1354
+ "tier": "customization"
1137
1355
  }
1138
1356
  },
1139
1357
  "scope": "collection"
@@ -1152,4 +1370,4 @@
1152
1370
  ]
1153
1371
  }
1154
1372
  ]
1155
- }
1373
+ }