@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-help-category",
3
- "version": "1.1.0",
4
- "description": "std-help-category — Help center category directory grouping articles into sections like Getting Started, Billing, API Reference. Agents tune the list shape via `config.fields` + `config.itemActions`.",
3
+ "version": "1.2.0",
4
+ "description": "std-help-category — help center category directory grouping articles (Getting Started, Billing, API Reference…). Listens for SET_STATUS so std-lifecycle can drive transitions. Exposes Content/Knowledge knobs (visibilityScope, enabledLocales, …).",
5
5
  "orbitals": [
6
6
  {
7
7
  "name": "HelpCategoryOrbital",
@@ -170,6 +170,63 @@
170
170
  "type": "string"
171
171
  }
172
172
  ]
173
+ },
174
+ {
175
+ "event": "HelpCategoryUpdated",
176
+ "payloadSchema": [
177
+ {
178
+ "name": "row.id",
179
+ "type": "string",
180
+ "required": true
181
+ },
182
+ {
183
+ "name": "row.name",
184
+ "type": "string",
185
+ "required": true
186
+ },
187
+ {
188
+ "name": "row.slug",
189
+ "type": "string",
190
+ "required": true
191
+ },
192
+ {
193
+ "name": "row.description",
194
+ "type": "string"
195
+ },
196
+ {
197
+ "name": "row.icon",
198
+ "type": "string"
199
+ },
200
+ {
201
+ "name": "row.sortOrder",
202
+ "type": "number"
203
+ },
204
+ {
205
+ "name": "row.articleCount",
206
+ "type": "number"
207
+ },
208
+ {
209
+ "name": "row.status",
210
+ "type": "string"
211
+ },
212
+ {
213
+ "name": "row.updatedAt",
214
+ "type": "string"
215
+ },
216
+ {
217
+ "name": "row.pendingId",
218
+ "type": "string"
219
+ }
220
+ ]
221
+ },
222
+ {
223
+ "event": "HelpCategoryUpdateFailed",
224
+ "payloadSchema": [
225
+ {
226
+ "name": "message",
227
+ "type": "string"
228
+ }
229
+ ]
173
230
  }
174
231
  ],
175
232
  "stateMachine": {
@@ -243,6 +300,42 @@
243
300
  }
244
301
  ]
245
302
  },
303
+ {
304
+ "key": "SET_STATUS",
305
+ "name": "Set Status",
306
+ "payloadSchema": [
307
+ {
308
+ "name": "entityId",
309
+ "type": "string",
310
+ "required": true
311
+ },
312
+ {
313
+ "name": "newStatus",
314
+ "type": "string",
315
+ "required": true
316
+ }
317
+ ]
318
+ },
319
+ {
320
+ "key": "HelpCategoryUpdated",
321
+ "name": "HelpCategory updated",
322
+ "payloadSchema": [
323
+ {
324
+ "name": "row",
325
+ "type": "HelpCategory"
326
+ }
327
+ ]
328
+ },
329
+ {
330
+ "key": "HelpCategoryUpdateFailed",
331
+ "name": "HelpCategory update failed",
332
+ "payloadSchema": [
333
+ {
334
+ "name": "message",
335
+ "type": "string"
336
+ }
337
+ ]
338
+ },
246
339
  {
247
340
  "key": "CLOSE_VIEW",
248
341
  "name": "Close View"
@@ -270,8 +363,8 @@
270
363
  "HelpCategory",
271
364
  {
272
365
  "emit": {
273
- "success": "HelpCategoryLoaded",
274
- "failure": "HelpCategoryLoadFailed"
366
+ "failure": "HelpCategoryLoadFailed",
367
+ "success": "HelpCategoryLoaded"
275
368
  }
276
369
  }
277
370
  ],
@@ -280,21 +373,21 @@
280
373
  "main",
281
374
  {
282
375
  "direction": "vertical",
376
+ "gap": "md",
283
377
  "align": "center",
284
- "type": "stack",
285
378
  "className": "py-12",
286
379
  "children": [
287
380
  {
288
381
  "type": "spinner"
289
382
  },
290
383
  {
291
- "color": "muted",
292
384
  "content": "Loading help categories…",
293
- "variant": "caption",
294
- "type": "typography"
385
+ "color": "muted",
386
+ "type": "typography",
387
+ "variant": "caption"
295
388
  }
296
389
  ],
297
- "gap": "md"
390
+ "type": "stack"
298
391
  }
299
392
  ]
300
393
  ]
@@ -308,9 +401,14 @@
308
401
  "render-ui",
309
402
  "main",
310
403
  {
404
+ "type": "stack",
405
+ "direction": "vertical",
406
+ "gap": "md",
311
407
  "children": [
312
408
  {
409
+ "direction": "horizontal",
313
410
  "align": "center",
411
+ "gap": "sm",
314
412
  "children": [
315
413
  {
316
414
  "type": "icon",
@@ -322,55 +420,50 @@
322
420
  "content": "@config.title"
323
421
  }
324
422
  ],
325
- "gap": "sm",
326
- "type": "stack",
327
- "direction": "horizontal"
423
+ "type": "stack"
328
424
  },
329
425
  {
426
+ "cols": 4.0,
330
427
  "type": "simple-grid",
331
428
  "children": [
332
429
  {
333
- "value": "@payload.data.length",
430
+ "type": "stat-display",
334
431
  "label": "Total categories",
335
432
  "icon": "folder",
336
- "type": "stat-display"
433
+ "value": "@payload.data.length"
337
434
  },
338
435
  {
436
+ "value": "18",
339
437
  "label": "Published",
340
438
  "icon": "check-circle",
341
- "value": "18",
342
439
  "type": "stat-display"
343
440
  },
344
441
  {
345
- "type": "stat-display",
346
- "label": "Articles",
347
442
  "value": "246",
443
+ "label": "Articles",
444
+ "type": "stat-display",
348
445
  "icon": "book-open"
349
446
  },
350
447
  {
351
448
  "label": "Avg per category",
352
449
  "icon": "bar-chart",
353
- "value": "13",
354
- "type": "stat-display"
450
+ "type": "stat-display",
451
+ "value": "13"
355
452
  }
356
- ],
357
- "cols": 4.0
453
+ ]
358
454
  },
359
455
  {
360
456
  "type": "divider"
361
457
  },
362
458
  {
363
- "cols": 1.0,
364
- "itemActions": "@config.itemActions",
365
- "entity": "@payload.data",
459
+ "type": "data-grid",
366
460
  "fields": "@config.fields",
367
461
  "gap": "sm",
368
- "type": "data-grid"
462
+ "entity": "@payload.data",
463
+ "itemActions": "@config.itemActions",
464
+ "cols": 1.0
369
465
  }
370
- ],
371
- "direction": "vertical",
372
- "gap": "md",
373
- "type": "stack"
466
+ ]
374
467
  }
375
468
  ]
376
469
  ]
@@ -385,8 +478,8 @@
385
478
  "main",
386
479
  {
387
480
  "type": "alert",
388
- "message": "@payload.message",
389
- "variant": "error"
481
+ "variant": "error",
482
+ "message": "@payload.message"
390
483
  }
391
484
  ]
392
485
  ]
@@ -445,154 +538,154 @@
445
538
  "render-ui",
446
539
  "main",
447
540
  {
541
+ "type": "stack",
448
542
  "children": [
449
543
  {
544
+ "gap": "sm",
545
+ "align": "center",
546
+ "direction": "horizontal",
450
547
  "children": [
451
548
  {
452
- "variant": "ghost",
453
549
  "action": "CLOSE_VIEW",
454
550
  "type": "button",
455
- "label": "Back"
551
+ "label": "Back",
552
+ "variant": "ghost"
456
553
  },
457
554
  {
458
555
  "name": "folder",
459
556
  "type": "icon"
460
557
  },
461
558
  {
462
- "type": "typography",
559
+ "variant": "h3",
463
560
  "content": "@entity.name",
464
- "variant": "h3"
561
+ "type": "typography"
465
562
  },
466
563
  {
467
- "label": "@entity.status",
468
564
  "type": "badge",
565
+ "label": "@entity.status",
469
566
  "variant": "default"
470
567
  }
471
568
  ],
472
- "direction": "horizontal",
473
- "align": "center",
474
- "type": "stack",
475
- "gap": "sm"
569
+ "type": "stack"
476
570
  },
477
571
  {
478
572
  "type": "divider"
479
573
  },
480
574
  {
481
- "direction": "vertical",
482
- "gap": "sm",
483
575
  "type": "stack",
576
+ "direction": "vertical",
484
577
  "children": [
485
578
  {
486
- "direction": "horizontal",
579
+ "gap": "md",
580
+ "type": "stack",
487
581
  "children": [
488
582
  {
489
- "content": "Slug",
490
583
  "type": "typography",
584
+ "color": "muted",
491
585
  "variant": "caption",
492
- "color": "muted"
586
+ "content": "Slug"
493
587
  },
494
588
  {
495
- "variant": "body",
496
589
  "content": "@entity.slug",
497
- "type": "typography"
590
+ "type": "typography",
591
+ "variant": "body"
498
592
  }
499
593
  ],
500
- "type": "stack",
501
- "gap": "md"
594
+ "direction": "horizontal"
502
595
  },
503
596
  {
504
597
  "type": "stack",
505
- "gap": "md",
506
598
  "children": [
507
599
  {
508
600
  "type": "typography",
509
- "variant": "caption",
510
601
  "color": "muted",
602
+ "variant": "caption",
511
603
  "content": "Description"
512
604
  },
513
605
  {
514
- "variant": "body",
606
+ "content": "@entity.description",
515
607
  "type": "typography",
516
- "content": "@entity.description"
608
+ "variant": "body"
517
609
  }
518
610
  ],
611
+ "gap": "md",
519
612
  "direction": "horizontal"
520
613
  },
521
614
  {
615
+ "direction": "horizontal",
522
616
  "gap": "md",
617
+ "type": "stack",
523
618
  "children": [
524
619
  {
525
- "variant": "caption",
526
620
  "content": "Icon",
527
- "type": "typography",
528
- "color": "muted"
621
+ "color": "muted",
622
+ "variant": "caption",
623
+ "type": "typography"
529
624
  },
530
625
  {
531
- "type": "typography",
626
+ "content": "@entity.icon",
532
627
  "variant": "body",
533
- "content": "@entity.icon"
628
+ "type": "typography"
534
629
  }
535
- ],
536
- "type": "stack",
537
- "direction": "horizontal"
630
+ ]
538
631
  }
539
- ]
632
+ ],
633
+ "gap": "sm"
540
634
  },
541
635
  {
542
636
  "type": "divider"
543
637
  },
544
638
  {
545
639
  "cols": 3.0,
640
+ "type": "simple-grid",
546
641
  "children": [
547
642
  {
548
- "type": "stat-display",
549
643
  "icon": "book-open",
644
+ "type": "stat-display",
550
645
  "label": "Articles",
551
646
  "value": "@entity.articleCount"
552
647
  },
553
648
  {
649
+ "type": "stat-display",
554
650
  "value": "@entity.sortOrder",
555
651
  "icon": "list-ordered",
556
- "type": "stat-display",
557
652
  "label": "Sort order"
558
653
  },
559
654
  {
560
- "label": "Updated",
655
+ "type": "stat-display",
561
656
  "icon": "calendar",
562
657
  "value": "@entity.updatedAt",
563
- "type": "stat-display"
658
+ "label": "Updated"
564
659
  }
565
- ],
566
- "type": "simple-grid"
660
+ ]
567
661
  },
568
662
  {
663
+ "gap": "sm",
569
664
  "type": "stack",
570
665
  "direction": "horizontal",
571
666
  "children": [
572
667
  {
573
- "type": "button",
574
668
  "action": "PUBLISH",
575
- "variant": "primary",
669
+ "type": "button",
576
670
  "label": "Publish",
671
+ "variant": "primary",
577
672
  "actionPayload": {
578
673
  "id": "@entity.id"
579
674
  }
580
675
  },
581
676
  {
582
- "label": "Archive",
583
- "variant": "danger",
584
- "action": "ARCHIVE",
585
677
  "actionPayload": {
586
678
  "id": "@entity.id"
587
679
  },
588
- "type": "button"
680
+ "type": "button",
681
+ "label": "Archive",
682
+ "variant": "danger",
683
+ "action": "ARCHIVE"
589
684
  }
590
685
  ],
591
- "gap": "sm",
592
686
  "align": "center"
593
687
  }
594
688
  ],
595
- "type": "stack",
596
689
  "direction": "vertical",
597
690
  "gap": "md"
598
691
  }
@@ -629,20 +722,104 @@
629
722
  },
630
723
  {
631
724
  "content": "Archiving category…",
725
+ "type": "typography",
632
726
  "color": "muted",
633
- "variant": "caption",
634
- "type": "typography"
727
+ "variant": "caption"
635
728
  }
636
729
  ],
637
730
  "gap": "md",
731
+ "align": "center",
638
732
  "direction": "vertical",
639
733
  "type": "stack",
640
- "align": "center",
641
734
  "className": "py-12"
642
735
  }
643
736
  ]
644
737
  ]
645
738
  },
739
+ {
740
+ "from": "browsing",
741
+ "to": "loading",
742
+ "event": "SET_STATUS",
743
+ "effects": [
744
+ [
745
+ "set",
746
+ "@entity.id",
747
+ "@payload.entityId"
748
+ ],
749
+ [
750
+ "set",
751
+ "@entity.status",
752
+ "@payload.newStatus"
753
+ ],
754
+ [
755
+ "persist",
756
+ "update",
757
+ "HelpCategory",
758
+ "@entity",
759
+ {
760
+ "emit": {
761
+ "failure": "HelpCategoryUpdateFailed",
762
+ "success": "HelpCategoryUpdated"
763
+ }
764
+ }
765
+ ],
766
+ [
767
+ "render-ui",
768
+ "main",
769
+ {
770
+ "type": "stack",
771
+ "direction": "vertical",
772
+ "gap": "md",
773
+ "align": "center",
774
+ "className": "py-12",
775
+ "children": [
776
+ {
777
+ "type": "spinner"
778
+ },
779
+ {
780
+ "variant": "caption",
781
+ "content": "Updating category status…",
782
+ "color": "muted",
783
+ "type": "typography"
784
+ }
785
+ ]
786
+ }
787
+ ]
788
+ ]
789
+ },
790
+ {
791
+ "from": "browsing",
792
+ "to": "loading",
793
+ "event": "HelpCategoryUpdated",
794
+ "effects": [
795
+ [
796
+ "fetch",
797
+ "HelpCategory",
798
+ {
799
+ "emit": {
800
+ "success": "HelpCategoryLoaded",
801
+ "failure": "HelpCategoryLoadFailed"
802
+ }
803
+ }
804
+ ]
805
+ ]
806
+ },
807
+ {
808
+ "from": "browsing",
809
+ "to": "browsing",
810
+ "event": "HelpCategoryUpdateFailed",
811
+ "effects": [
812
+ [
813
+ "render-ui",
814
+ "main",
815
+ {
816
+ "variant": "error",
817
+ "message": "@payload.message",
818
+ "type": "alert"
819
+ }
820
+ ]
821
+ ]
822
+ },
646
823
  {
647
824
  "from": "viewing_single",
648
825
  "to": "loading",
@@ -662,14 +839,14 @@
662
839
  "render-ui",
663
840
  "main",
664
841
  {
665
- "gap": "md",
842
+ "direction": "vertical",
666
843
  "children": [
667
844
  {
668
845
  "type": "spinner"
669
846
  },
670
847
  {
671
- "color": "muted",
672
848
  "variant": "caption",
849
+ "color": "muted",
673
850
  "type": "typography",
674
851
  "content": "Loading help categories…"
675
852
  }
@@ -677,7 +854,7 @@
677
854
  "type": "stack",
678
855
  "align": "center",
679
856
  "className": "py-12",
680
- "direction": "vertical"
857
+ "gap": "md"
681
858
  }
682
859
  ]
683
860
  ]
@@ -706,22 +883,22 @@
706
883
  "render-ui",
707
884
  "main",
708
885
  {
886
+ "type": "stack",
887
+ "gap": "md",
709
888
  "className": "py-12",
889
+ "direction": "vertical",
890
+ "align": "center",
710
891
  "children": [
711
892
  {
712
893
  "type": "spinner"
713
894
  },
714
895
  {
715
- "variant": "caption",
716
- "type": "typography",
896
+ "content": "Publishing category…",
717
897
  "color": "muted",
718
- "content": "Publishing category…"
898
+ "type": "typography",
899
+ "variant": "caption"
719
900
  }
720
- ],
721
- "gap": "md",
722
- "type": "stack",
723
- "direction": "vertical",
724
- "align": "center"
901
+ ]
725
902
  }
726
903
  ]
727
904
  ]
@@ -741,8 +918,8 @@
741
918
  "HelpCategory",
742
919
  {
743
920
  "emit": {
744
- "failure": "HelpCategoryLoadFailed",
745
- "success": "HelpCategoryLoaded"
921
+ "success": "HelpCategoryLoaded",
922
+ "failure": "HelpCategoryLoadFailed"
746
923
  }
747
924
  }
748
925
  ],
@@ -751,21 +928,21 @@
751
928
  "main",
752
929
  {
753
930
  "type": "stack",
754
- "direction": "vertical",
755
- "className": "py-12",
756
- "align": "center",
757
- "gap": "md",
758
931
  "children": [
759
932
  {
760
933
  "type": "spinner"
761
934
  },
762
935
  {
763
- "color": "muted",
764
- "type": "typography",
936
+ "content": "Archiving category…",
765
937
  "variant": "caption",
766
- "content": "Archiving category…"
938
+ "color": "muted",
939
+ "type": "typography"
767
940
  }
768
- ]
941
+ ],
942
+ "align": "center",
943
+ "className": "py-12",
944
+ "direction": "vertical",
945
+ "gap": "md"
769
946
  }
770
947
  ]
771
948
  ]
@@ -780,8 +957,8 @@
780
957
  "HelpCategory",
781
958
  {
782
959
  "emit": {
783
- "success": "HelpCategoryLoaded",
784
- "failure": "HelpCategoryLoadFailed"
960
+ "failure": "HelpCategoryLoadFailed",
961
+ "success": "HelpCategoryLoaded"
785
962
  }
786
963
  }
787
964
  ],
@@ -789,8 +966,8 @@
789
966
  "render-ui",
790
967
  "main",
791
968
  {
792
- "size": "sm",
793
- "type": "spinner"
969
+ "type": "spinner",
970
+ "size": "sm"
794
971
  }
795
972
  ]
796
973
  ]
@@ -798,89 +975,76 @@
798
975
  ]
799
976
  },
800
977
  "config": {
801
- "title": {
978
+ "allowRollback": {
979
+ "type": "boolean",
980
+ "default": true,
981
+ "label": "Allow rollback",
982
+ "description": "Permit reverting a category to a prior version.",
983
+ "tier": "customization"
984
+ },
985
+ "defaultLocale": {
802
986
  "type": "string",
803
- "default": "Help Categories",
804
- "label": "Section title",
805
- "description": "Heading shown above the help center categories",
987
+ "default": "en",
988
+ "label": "Default locale",
989
+ "description": "Locale used when no translation matches the reader's language.",
806
990
  "tier": "customization"
807
991
  },
808
- "itemActions": {
809
- "type": "[ItemAction]",
992
+ "visibilityScope": {
993
+ "type": "string",
994
+ "default": "public",
995
+ "label": "Visibility scope",
996
+ "description": "Who can see published categories: public web, internal staff, signed-in customers.",
997
+ "tier": "essential",
998
+ "values": [
999
+ "public",
1000
+ "internal",
1001
+ "customer"
1002
+ ]
1003
+ },
1004
+ "enabledLocales": {
1005
+ "type": "[string]",
810
1006
  "default": [
811
- {
812
- "event": "OPEN_CATEGORY",
813
- "icon": "arrow-right",
814
- "label": "Open",
815
- "variant": "primary"
816
- },
817
- {
818
- "event": "ARCHIVE",
819
- "variant": "danger",
820
- "label": "Archive"
821
- }
1007
+ "en"
822
1008
  ],
823
- "label": "Row actions",
824
- "description": "Buttons users can click on each category row",
1009
+ "label": "Enabled locales",
1010
+ "description": "Locales the category name/description can be translated into.",
825
1011
  "tier": "customization",
826
1012
  "items": {
827
- "type": "object",
828
- "properties": {
829
- "variant": {
830
- "name": "variant",
831
- "type": "string",
832
- "required": false
833
- },
834
- "icon": {
835
- "name": "icon",
836
- "type": "string",
837
- "required": false
838
- },
839
- "event": {
840
- "name": "event",
841
- "type": "string",
842
- "required": true
843
- },
844
- "label": {
845
- "name": "label",
846
- "type": "string",
847
- "required": true
848
- }
849
- }
1013
+ "type": "string"
850
1014
  }
851
1015
  },
852
1016
  "fields": {
853
1017
  "type": "[FieldSpec]",
854
1018
  "default": [
855
1019
  {
856
- "name": "name",
1020
+ "variant": "caption",
857
1021
  "label": "Name",
858
- "variant": "caption"
1022
+ "name": "name"
859
1023
  },
860
1024
  {
1025
+ "label": "Slug",
861
1026
  "variant": "caption",
862
- "name": "slug",
863
- "label": "Slug"
1027
+ "name": "slug"
864
1028
  },
865
1029
  {
866
- "label": "Articles",
1030
+ "variant": "caption",
867
1031
  "name": "articleCount",
868
- "variant": "caption"
1032
+ "label": "Articles"
869
1033
  },
870
1034
  {
871
1035
  "label": "Order",
872
- "variant": "caption",
873
- "name": "sortOrder"
1036
+ "name": "sortOrder",
1037
+ "variant": "caption"
874
1038
  },
875
1039
  {
876
1040
  "name": "status",
877
- "label": "Status",
878
- "variant": "badge"
1041
+ "variant": "badge",
1042
+ "label": "Status"
879
1043
  },
880
1044
  {
881
- "variant": "caption",
882
1045
  "name": "updatedAt",
883
- "label": "Updated"
1046
+ "label": "Updated",
1047
+ "variant": "caption"
884
1048
  }
885
1049
  ],
886
1050
  "label": "Columns to show",
@@ -889,8 +1053,8 @@
889
1053
  "items": {
890
1054
  "type": "object",
891
1055
  "properties": {
892
- "format": {
893
- "name": "format",
1056
+ "icon": {
1057
+ "name": "icon",
894
1058
  "type": "string",
895
1059
  "required": false
896
1060
  },
@@ -899,24 +1063,68 @@
899
1063
  "type": "string",
900
1064
  "required": false
901
1065
  },
902
- "icon": {
903
- "name": "icon",
1066
+ "name": {
1067
+ "name": "name",
904
1068
  "type": "string",
905
- "required": false
1069
+ "required": true
906
1070
  },
907
1071
  "header": {
908
1072
  "name": "header",
909
1073
  "type": "string",
910
1074
  "required": false
911
1075
  },
912
- "name": {
913
- "name": "name",
1076
+ "variant": {
1077
+ "name": "variant",
1078
+ "type": "string",
1079
+ "required": false
1080
+ },
1081
+ "label": {
1082
+ "name": "label",
1083
+ "type": "string",
1084
+ "required": false
1085
+ },
1086
+ "format": {
1087
+ "name": "format",
1088
+ "type": "string",
1089
+ "required": false
1090
+ }
1091
+ }
1092
+ }
1093
+ },
1094
+ "itemActions": {
1095
+ "type": "[ItemAction]",
1096
+ "default": [
1097
+ {
1098
+ "variant": "primary",
1099
+ "label": "Open",
1100
+ "event": "OPEN_CATEGORY",
1101
+ "icon": "arrow-right"
1102
+ },
1103
+ {
1104
+ "event": "ARCHIVE",
1105
+ "variant": "danger",
1106
+ "label": "Archive"
1107
+ }
1108
+ ],
1109
+ "label": "Row actions",
1110
+ "description": "Buttons users can click on each category row",
1111
+ "tier": "customization",
1112
+ "items": {
1113
+ "type": "object",
1114
+ "properties": {
1115
+ "event": {
1116
+ "name": "event",
914
1117
  "type": "string",
915
1118
  "required": true
916
1119
  },
917
1120
  "label": {
918
1121
  "name": "label",
919
1122
  "type": "string",
1123
+ "required": true
1124
+ },
1125
+ "icon": {
1126
+ "name": "icon",
1127
+ "type": "string",
920
1128
  "required": false
921
1129
  },
922
1130
  "variant": {
@@ -926,6 +1134,41 @@
926
1134
  }
927
1135
  }
928
1136
  }
1137
+ },
1138
+ "seoEnabled": {
1139
+ "type": "boolean",
1140
+ "default": true,
1141
+ "label": "SEO meta enabled",
1142
+ "description": "Emit canonical + meta description tags on the category index page.",
1143
+ "tier": "customization"
1144
+ },
1145
+ "scheduledPublishEnabled": {
1146
+ "type": "boolean",
1147
+ "default": false,
1148
+ "label": "Scheduled publish",
1149
+ "description": "Allow authors to schedule category publish. v1.2 declarative.",
1150
+ "tier": "customization"
1151
+ },
1152
+ "title": {
1153
+ "type": "string",
1154
+ "default": "Help Categories",
1155
+ "label": "Section title",
1156
+ "description": "Heading shown above the help center categories",
1157
+ "tier": "customization"
1158
+ },
1159
+ "keepVersions": {
1160
+ "type": "number",
1161
+ "default": 5.0,
1162
+ "label": "Versions to retain",
1163
+ "description": "Number of revisions to keep per category.",
1164
+ "tier": "customization"
1165
+ },
1166
+ "draftAutosaveSeconds": {
1167
+ "type": "number",
1168
+ "default": 30.0,
1169
+ "label": "Draft autosave interval (s)",
1170
+ "description": "Seconds between draft autosaves in the editor.",
1171
+ "tier": "advanced"
929
1172
  }
930
1173
  },
931
1174
  "scope": "collection"
@@ -944,4 +1187,4 @@
944
1187
  ]
945
1188
  }
946
1189
  ]
947
- }
1190
+ }