@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-court-deadline",
3
- "version": "1.1.0",
4
- "description": "std-court-deadline — statutory filing deadline tied to a legal matter. Lists deadlines in `browsing`; opens detail in `viewing_single` with Complete / Extend actions. Agents tune the list shape via `config.fields` + `config.itemActions`.",
3
+ "version": "1.2.0",
4
+ "description": "std-court-deadline — statutory filing deadline tied to a legal matter. Listens for SET_STATUS so std-lifecycle can auto-miss / auto-complete. Exposes Scheduling + Legal knobs (bookingWindowDays, practiceArea, conflictCheckRequired, …).",
5
5
  "orbitals": [
6
6
  {
7
7
  "name": "CourtDeadlineOrbital",
@@ -253,6 +253,22 @@
253
253
  }
254
254
  ]
255
255
  },
256
+ {
257
+ "key": "SET_STATUS",
258
+ "name": "Set Status",
259
+ "payloadSchema": [
260
+ {
261
+ "name": "entityId",
262
+ "type": "string",
263
+ "required": true
264
+ },
265
+ {
266
+ "name": "newStatus",
267
+ "type": "string",
268
+ "required": true
269
+ }
270
+ ]
271
+ },
256
272
  {
257
273
  "key": "CLOSE_VIEW",
258
274
  "name": "Close View"
@@ -289,22 +305,22 @@
289
305
  "render-ui",
290
306
  "main",
291
307
  {
308
+ "align": "center",
309
+ "className": "py-12",
292
310
  "children": [
293
311
  {
294
312
  "type": "spinner"
295
313
  },
296
314
  {
297
315
  "variant": "caption",
316
+ "type": "typography",
298
317
  "content": "Loading deadlines…",
299
- "color": "muted",
300
- "type": "typography"
318
+ "color": "muted"
301
319
  }
302
320
  ],
303
321
  "type": "stack",
304
- "gap": "md",
305
- "align": "center",
306
- "className": "py-12",
307
- "direction": "vertical"
322
+ "direction": "vertical",
323
+ "gap": "md"
308
324
  }
309
325
  ]
310
326
  ]
@@ -318,7 +334,7 @@
318
334
  "render-ui",
319
335
  "main",
320
336
  {
321
- "direction": "vertical",
337
+ "type": "stack",
322
338
  "children": [
323
339
  {
324
340
  "gap": "sm",
@@ -326,61 +342,61 @@
326
342
  "align": "center",
327
343
  "children": [
328
344
  {
329
- "name": "calendar-clock",
330
- "type": "icon"
345
+ "type": "icon",
346
+ "name": "calendar-clock"
331
347
  },
332
348
  {
333
349
  "type": "typography",
334
- "variant": "h3",
335
- "content": "@config.title"
350
+ "content": "@config.title",
351
+ "variant": "h3"
336
352
  }
337
353
  ],
338
354
  "direction": "horizontal"
339
355
  },
340
356
  {
357
+ "type": "simple-grid",
358
+ "cols": 4.0,
341
359
  "children": [
342
360
  {
343
- "value": "@payload.data.length",
344
- "type": "stat-display",
345
361
  "icon": "calendar-clock",
346
- "label": "Total deadlines"
362
+ "label": "Total deadlines",
363
+ "value": "@payload.data.length",
364
+ "type": "stat-display"
347
365
  },
348
366
  {
349
- "label": "Due this week",
350
- "value": "7",
351
367
  "type": "stat-display",
368
+ "value": "7",
369
+ "label": "Due this week",
352
370
  "icon": "alert-triangle"
353
371
  },
354
372
  {
355
373
  "icon": "check-circle",
356
374
  "label": "Completed",
357
- "type": "stat-display",
358
- "value": "84%"
375
+ "value": "84%",
376
+ "type": "stat-display"
359
377
  },
360
378
  {
379
+ "label": "Missed YTD",
361
380
  "icon": "x-circle",
362
- "value": "2",
363
381
  "type": "stat-display",
364
- "label": "Missed YTD"
382
+ "value": "2"
365
383
  }
366
- ],
367
- "cols": 4.0,
368
- "type": "simple-grid"
384
+ ]
369
385
  },
370
386
  {
371
387
  "type": "divider"
372
388
  },
373
389
  {
374
- "cols": 1.0,
375
- "itemActions": "@config.itemActions",
376
- "gap": "sm",
377
390
  "type": "data-grid",
391
+ "gap": "sm",
392
+ "itemActions": "@config.itemActions",
393
+ "fields": "@config.fields",
378
394
  "entity": "@payload.data",
379
- "fields": "@config.fields"
395
+ "cols": 1.0
380
396
  }
381
397
  ],
382
- "type": "stack",
383
- "gap": "md"
398
+ "gap": "md",
399
+ "direction": "vertical"
384
400
  }
385
401
  ]
386
402
  ]
@@ -394,8 +410,8 @@
394
410
  "render-ui",
395
411
  "main",
396
412
  {
397
- "message": "@payload.error",
398
413
  "variant": "error",
414
+ "message": "@payload.error",
399
415
  "type": "alert"
400
416
  }
401
417
  ]
@@ -455,172 +471,172 @@
455
471
  "render-ui",
456
472
  "main",
457
473
  {
474
+ "type": "stack",
475
+ "gap": "md",
458
476
  "children": [
459
477
  {
460
- "align": "center",
461
478
  "type": "stack",
462
479
  "direction": "horizontal",
463
- "gap": "sm",
464
480
  "children": [
465
481
  {
466
482
  "action": "CLOSE_VIEW",
483
+ "variant": "ghost",
467
484
  "type": "button",
468
- "label": "Back",
469
- "variant": "ghost"
485
+ "label": "Back"
470
486
  },
471
487
  {
472
488
  "name": "calendar-clock",
473
489
  "type": "icon"
474
490
  },
475
491
  {
476
- "content": "@entity.title",
492
+ "variant": "h3",
477
493
  "type": "typography",
478
- "variant": "h3"
494
+ "content": "@entity.title"
479
495
  },
480
496
  {
481
497
  "label": "@entity.deadlineType",
482
- "variant": "primary",
483
- "type": "badge"
498
+ "type": "badge",
499
+ "variant": "primary"
484
500
  },
485
501
  {
486
502
  "variant": "default",
487
503
  "type": "badge",
488
504
  "label": "@entity.status"
489
505
  }
490
- ]
506
+ ],
507
+ "align": "center",
508
+ "gap": "sm"
491
509
  },
492
510
  {
493
511
  "type": "divider"
494
512
  },
495
513
  {
514
+ "direction": "vertical",
496
515
  "type": "stack",
516
+ "gap": "sm",
497
517
  "children": [
498
518
  {
499
- "type": "stack",
500
519
  "gap": "md",
520
+ "type": "stack",
521
+ "direction": "horizontal",
501
522
  "children": [
502
523
  {
503
- "variant": "caption",
504
524
  "content": "Matter",
505
- "color": "muted",
506
- "type": "typography"
525
+ "variant": "caption",
526
+ "type": "typography",
527
+ "color": "muted"
507
528
  },
508
529
  {
509
- "type": "typography",
510
530
  "variant": "body",
511
- "content": "@entity.matterId"
531
+ "content": "@entity.matterId",
532
+ "type": "typography"
512
533
  }
513
- ],
514
- "direction": "horizontal"
534
+ ]
515
535
  },
516
536
  {
537
+ "gap": "md",
517
538
  "type": "stack",
518
539
  "direction": "horizontal",
519
- "gap": "md",
520
540
  "children": [
521
541
  {
522
- "variant": "caption",
523
- "color": "muted",
524
542
  "content": "Jurisdiction",
525
- "type": "typography"
543
+ "color": "muted",
544
+ "type": "typography",
545
+ "variant": "caption"
526
546
  },
527
547
  {
528
- "type": "typography",
529
548
  "variant": "body",
530
- "content": "@entity.jurisdiction"
549
+ "content": "@entity.jurisdiction",
550
+ "type": "typography"
531
551
  }
532
552
  ]
533
553
  },
534
554
  {
535
- "direction": "horizontal",
536
555
  "children": [
537
556
  {
557
+ "variant": "caption",
538
558
  "type": "typography",
539
559
  "content": "Assigned to",
540
- "color": "muted",
541
- "variant": "caption"
560
+ "color": "muted"
542
561
  },
543
562
  {
544
- "variant": "body",
545
563
  "type": "typography",
564
+ "variant": "body",
546
565
  "content": "@entity.assignedTo"
547
566
  }
548
567
  ],
549
568
  "type": "stack",
569
+ "direction": "horizontal",
550
570
  "gap": "md"
551
571
  },
552
572
  {
553
- "gap": "md",
554
573
  "direction": "horizontal",
574
+ "gap": "md",
555
575
  "type": "stack",
556
576
  "children": [
557
577
  {
578
+ "color": "muted",
558
579
  "variant": "caption",
559
- "type": "typography",
560
580
  "content": "Notes",
561
- "color": "muted"
581
+ "type": "typography"
562
582
  },
563
583
  {
564
- "variant": "body",
584
+ "type": "typography",
565
585
  "content": "@entity.notes",
566
- "type": "typography"
586
+ "variant": "body"
567
587
  }
568
588
  ]
569
589
  }
570
- ],
571
- "direction": "vertical",
572
- "gap": "sm"
590
+ ]
573
591
  },
574
592
  {
575
593
  "type": "divider"
576
594
  },
577
595
  {
596
+ "type": "simple-grid",
578
597
  "children": [
579
598
  {
580
- "icon": "calendar",
581
599
  "label": "Due",
582
- "value": "@entity.dueAt",
583
- "type": "stat-display"
600
+ "icon": "calendar",
601
+ "type": "stat-display",
602
+ "value": "@entity.dueAt"
584
603
  },
585
604
  {
586
605
  "label": "Status",
587
- "type": "stat-display",
588
606
  "value": "@entity.status",
607
+ "type": "stat-display",
589
608
  "icon": "tag"
590
609
  }
591
610
  ],
592
- "cols": 2.0,
593
- "type": "simple-grid"
611
+ "cols": 2.0
594
612
  },
595
613
  {
596
- "direction": "horizontal",
597
614
  "type": "stack",
615
+ "gap": "sm",
616
+ "direction": "horizontal",
598
617
  "align": "center",
599
618
  "children": [
600
619
  {
601
- "variant": "primary",
620
+ "type": "button",
621
+ "action": "MARK_COMPLETED",
602
622
  "actionPayload": {
603
623
  "id": "@entity.id"
604
624
  },
605
- "action": "MARK_COMPLETED",
606
- "type": "button",
625
+ "variant": "primary",
607
626
  "label": "Mark Complete"
608
627
  },
609
628
  {
610
- "label": "Extend",
611
- "variant": "secondary",
612
- "type": "button",
613
629
  "actionPayload": {
614
630
  "id": "@entity.id"
615
631
  },
632
+ "variant": "secondary",
633
+ "label": "Extend",
634
+ "type": "button",
616
635
  "action": "EXTEND_DEADLINE"
617
636
  }
618
- ],
619
- "gap": "sm"
637
+ ]
620
638
  }
621
639
  ],
622
- "gap": "md",
623
- "type": "stack",
624
640
  "direction": "vertical"
625
641
  }
626
642
  ]
@@ -641,8 +657,8 @@
641
657
  "CourtDeadline",
642
658
  {
643
659
  "emit": {
644
- "success": "CourtDeadlineLoaded",
645
- "failure": "CourtDeadlineLoadFailed"
660
+ "failure": "CourtDeadlineLoadFailed",
661
+ "success": "CourtDeadlineLoaded"
646
662
  }
647
663
  }
648
664
  ],
@@ -650,22 +666,73 @@
650
666
  "render-ui",
651
667
  "main",
652
668
  {
653
- "gap": "md",
654
- "direction": "vertical",
655
669
  "align": "center",
656
- "type": "stack",
657
670
  "className": "py-12",
658
671
  "children": [
659
672
  {
660
673
  "type": "spinner"
661
674
  },
662
675
  {
676
+ "type": "typography",
663
677
  "content": "Completing deadline…",
664
678
  "variant": "caption",
679
+ "color": "muted"
680
+ }
681
+ ],
682
+ "type": "stack",
683
+ "direction": "vertical",
684
+ "gap": "md"
685
+ }
686
+ ]
687
+ ]
688
+ },
689
+ {
690
+ "from": "browsing",
691
+ "to": "loading",
692
+ "event": "SET_STATUS",
693
+ "effects": [
694
+ [
695
+ "set",
696
+ "@entity.id",
697
+ "@payload.entityId"
698
+ ],
699
+ [
700
+ "set",
701
+ "@entity.status",
702
+ "@payload.newStatus"
703
+ ],
704
+ [
705
+ "persist",
706
+ "update",
707
+ "CourtDeadline",
708
+ "@entity",
709
+ {
710
+ "emit": {
711
+ "failure": "CourtDeadlineLoadFailed",
712
+ "success": "CourtDeadlineLoaded"
713
+ }
714
+ }
715
+ ],
716
+ [
717
+ "render-ui",
718
+ "main",
719
+ {
720
+ "direction": "vertical",
721
+ "align": "center",
722
+ "children": [
723
+ {
724
+ "type": "spinner"
725
+ },
726
+ {
727
+ "type": "typography",
728
+ "variant": "caption",
665
729
  "color": "muted",
666
- "type": "typography"
730
+ "content": "Updating deadline status…"
667
731
  }
668
- ]
732
+ ],
733
+ "gap": "md",
734
+ "className": "py-12",
735
+ "type": "stack"
669
736
  }
670
737
  ]
671
738
  ]
@@ -689,7 +756,9 @@
689
756
  "render-ui",
690
757
  "main",
691
758
  {
692
- "type": "stack",
759
+ "direction": "vertical",
760
+ "gap": "md",
761
+ "className": "py-12",
693
762
  "align": "center",
694
763
  "children": [
695
764
  {
@@ -697,14 +766,12 @@
697
766
  },
698
767
  {
699
768
  "type": "typography",
700
- "color": "muted",
701
769
  "variant": "caption",
770
+ "color": "muted",
702
771
  "content": "Loading deadlines…"
703
772
  }
704
773
  ],
705
- "direction": "vertical",
706
- "className": "py-12",
707
- "gap": "md"
774
+ "type": "stack"
708
775
  }
709
776
  ]
710
777
  ]
@@ -724,8 +791,8 @@
724
791
  "CourtDeadline",
725
792
  {
726
793
  "emit": {
727
- "failure": "CourtDeadlineLoadFailed",
728
- "success": "CourtDeadlineLoaded"
794
+ "success": "CourtDeadlineLoaded",
795
+ "failure": "CourtDeadlineLoadFailed"
729
796
  }
730
797
  }
731
798
  ],
@@ -733,22 +800,22 @@
733
800
  "render-ui",
734
801
  "main",
735
802
  {
803
+ "className": "py-12",
804
+ "direction": "vertical",
805
+ "align": "center",
736
806
  "children": [
737
807
  {
738
808
  "type": "spinner"
739
809
  },
740
810
  {
741
- "content": "Completing deadline…",
742
- "color": "muted",
811
+ "variant": "caption",
743
812
  "type": "typography",
744
- "variant": "caption"
813
+ "content": "Completing deadline…",
814
+ "color": "muted"
745
815
  }
746
816
  ],
747
- "align": "center",
748
817
  "type": "stack",
749
- "direction": "vertical",
750
- "gap": "md",
751
- "className": "py-12"
818
+ "gap": "md"
752
819
  }
753
820
  ]
754
821
  ]
@@ -768,8 +835,8 @@
768
835
  "CourtDeadline",
769
836
  {
770
837
  "emit": {
771
- "success": "CourtDeadlineLoaded",
772
- "failure": "CourtDeadlineLoadFailed"
838
+ "failure": "CourtDeadlineLoadFailed",
839
+ "success": "CourtDeadlineLoaded"
773
840
  }
774
841
  }
775
842
  ],
@@ -778,21 +845,21 @@
778
845
  "main",
779
846
  {
780
847
  "direction": "vertical",
781
- "type": "stack",
782
- "align": "center",
783
848
  "gap": "md",
784
- "className": "py-12",
849
+ "type": "stack",
785
850
  "children": [
786
851
  {
787
852
  "type": "spinner"
788
853
  },
789
854
  {
790
- "color": "muted",
791
855
  "variant": "caption",
792
- "type": "typography",
793
- "content": "Extending deadline…"
856
+ "content": "Extending deadline…",
857
+ "color": "muted",
858
+ "type": "typography"
794
859
  }
795
- ]
860
+ ],
861
+ "className": "py-12",
862
+ "align": "center"
796
863
  }
797
864
  ]
798
865
  ]
@@ -825,88 +892,82 @@
825
892
  ]
826
893
  },
827
894
  "config": {
828
- "itemActions": {
829
- "type": "[ItemAction]",
830
- "default": [
831
- {
832
- "event": "OPEN_DEADLINE",
833
- "variant": "primary",
834
- "label": "Open",
835
- "icon": "arrow-right"
836
- },
837
- {
838
- "variant": "danger",
839
- "event": "MARK_COMPLETED",
840
- "label": "Complete"
841
- }
842
- ],
843
- "label": "Row actions",
844
- "description": "Buttons users can click on each deadline row",
895
+ "rescheduleWindowHours": {
896
+ "type": "number",
897
+ "default": 72.0,
898
+ "label": "Reschedule window (hours)",
899
+ "description": "Hours before dueAt during which an extension request is accepted.",
900
+ "tier": "customization"
901
+ },
902
+ "maxReschedules": {
903
+ "type": "number",
904
+ "default": 2.0,
905
+ "label": "Max reschedules",
906
+ "description": "Hard cap on extension count per deadline.",
907
+ "tier": "advanced"
908
+ },
909
+ "retainerRequired": {
910
+ "type": "boolean",
911
+ "default": false,
912
+ "label": "Retainer required",
913
+ "description": "Require a signed retainer before work begins on the matter.",
914
+ "tier": "customization"
915
+ },
916
+ "blackoutDates": {
917
+ "type": "[string]",
918
+ "default": [],
919
+ "label": "Blackout dates",
920
+ "description": "ISO dates (court holidays) blocked from scheduling. Compose std-lifecycle to auto-shift.",
845
921
  "tier": "customization",
846
922
  "items": {
847
- "type": "object",
848
- "properties": {
849
- "icon": {
850
- "name": "icon",
851
- "type": "string",
852
- "required": false
853
- },
854
- "label": {
855
- "name": "label",
856
- "type": "string",
857
- "required": true
858
- },
859
- "variant": {
860
- "name": "variant",
861
- "type": "string",
862
- "required": false
863
- },
864
- "event": {
865
- "name": "event",
866
- "type": "string",
867
- "required": true
868
- }
869
- }
923
+ "type": "string"
870
924
  }
871
925
  },
872
- "title": {
873
- "type": "string",
874
- "default": "Deadlines",
875
- "label": "Section title",
876
- "description": "Heading shown above the legal deadlines docket",
926
+ "billingRateDefault": {
927
+ "type": "number",
928
+ "default": 0.0,
929
+ "label": "Default billing rate",
930
+ "description": "Default hourly billing rate applied to work logged against this deadline.",
931
+ "tier": "customization"
932
+ },
933
+ "noShowGracePeriodMinutes": {
934
+ "type": "number",
935
+ "default": 0.0,
936
+ "label": "No-show grace (minutes)",
937
+ "description": "Minutes after dueAt before the deadline auto-marks missed. Wire via std-lifecycle.",
877
938
  "tier": "customization"
878
939
  },
879
940
  "fields": {
880
941
  "type": "[FieldSpec]",
881
942
  "default": [
882
943
  {
883
- "name": "title",
944
+ "variant": "caption",
884
945
  "label": "Title",
885
- "variant": "caption"
946
+ "name": "title"
886
947
  },
887
948
  {
888
- "label": "Type",
949
+ "variant": "badge",
889
950
  "name": "deadlineType",
890
- "variant": "badge"
951
+ "label": "Type"
891
952
  },
892
953
  {
893
- "variant": "caption",
894
954
  "name": "dueAt",
895
- "label": "Due"
955
+ "label": "Due",
956
+ "variant": "caption"
896
957
  },
897
958
  {
898
- "label": "Jurisdiction",
959
+ "variant": "caption",
899
960
  "name": "jurisdiction",
900
- "variant": "caption"
961
+ "label": "Jurisdiction"
901
962
  },
902
963
  {
903
964
  "label": "Assigned",
904
- "name": "assignedTo",
905
- "variant": "caption"
965
+ "variant": "caption",
966
+ "name": "assignedTo"
906
967
  },
907
968
  {
908
- "label": "Status",
909
969
  "name": "status",
970
+ "label": "Status",
910
971
  "variant": "badge"
911
972
  }
912
973
  ],
@@ -916,18 +977,28 @@
916
977
  "items": {
917
978
  "type": "object",
918
979
  "properties": {
919
- "label": {
920
- "name": "label",
980
+ "name": {
981
+ "name": "name",
982
+ "type": "string",
983
+ "required": true
984
+ },
985
+ "key": {
986
+ "name": "key",
921
987
  "type": "string",
922
988
  "required": false
923
989
  },
924
- "format": {
925
- "name": "format",
990
+ "variant": {
991
+ "name": "variant",
926
992
  "type": "string",
927
993
  "required": false
928
994
  },
929
- "key": {
930
- "name": "key",
995
+ "icon": {
996
+ "name": "icon",
997
+ "type": "string",
998
+ "required": false
999
+ },
1000
+ "format": {
1001
+ "name": "format",
931
1002
  "type": "string",
932
1003
  "required": false
933
1004
  },
@@ -936,23 +1007,123 @@
936
1007
  "type": "string",
937
1008
  "required": false
938
1009
  },
939
- "name": {
940
- "name": "name",
1010
+ "label": {
1011
+ "name": "label",
1012
+ "type": "string",
1013
+ "required": false
1014
+ }
1015
+ }
1016
+ }
1017
+ },
1018
+ "conflictCheckRequired": {
1019
+ "type": "boolean",
1020
+ "default": true,
1021
+ "label": "Conflict check required",
1022
+ "description": "Block creation until a conflict-of-interest check is on file.",
1023
+ "tier": "essential"
1024
+ },
1025
+ "bookingWindowDays": {
1026
+ "type": "number",
1027
+ "default": 365.0,
1028
+ "label": "Booking window (days)",
1029
+ "description": "How far in advance deadlines can be scheduled.",
1030
+ "tier": "customization"
1031
+ },
1032
+ "itemActions": {
1033
+ "type": "[ItemAction]",
1034
+ "default": [
1035
+ {
1036
+ "icon": "arrow-right",
1037
+ "event": "OPEN_DEADLINE",
1038
+ "variant": "primary",
1039
+ "label": "Open"
1040
+ },
1041
+ {
1042
+ "variant": "danger",
1043
+ "label": "Complete",
1044
+ "event": "MARK_COMPLETED"
1045
+ }
1046
+ ],
1047
+ "label": "Row actions",
1048
+ "description": "Buttons users can click on each deadline row",
1049
+ "tier": "customization",
1050
+ "items": {
1051
+ "type": "object",
1052
+ "properties": {
1053
+ "label": {
1054
+ "name": "label",
941
1055
  "type": "string",
942
1056
  "required": true
943
1057
  },
944
- "icon": {
945
- "name": "icon",
1058
+ "event": {
1059
+ "name": "event",
946
1060
  "type": "string",
947
- "required": false
1061
+ "required": true
948
1062
  },
949
1063
  "variant": {
950
1064
  "name": "variant",
951
1065
  "type": "string",
952
1066
  "required": false
1067
+ },
1068
+ "icon": {
1069
+ "name": "icon",
1070
+ "type": "string",
1071
+ "required": false
953
1072
  }
954
1073
  }
955
1074
  }
1075
+ },
1076
+ "title": {
1077
+ "type": "string",
1078
+ "default": "Deadlines",
1079
+ "label": "Section title",
1080
+ "description": "Heading shown above the legal deadlines docket",
1081
+ "tier": "customization"
1082
+ },
1083
+ "leadTimeMinutes": {
1084
+ "type": "number",
1085
+ "default": 1440.0,
1086
+ "label": "Lead time (minutes)",
1087
+ "description": "Minimum minutes before dueAt at which a deadline can still be created (default 1 day).",
1088
+ "tier": "customization"
1089
+ },
1090
+ "practiceArea": {
1091
+ "type": "string",
1092
+ "default": "",
1093
+ "label": "Practice area",
1094
+ "description": "Practice area (e.g. litigation, IP, family). Drives docket grouping.",
1095
+ "tier": "customization"
1096
+ },
1097
+ "cancellationPolicy": {
1098
+ "type": "string",
1099
+ "default": "no-refund",
1100
+ "label": "Cancellation policy",
1101
+ "description": "Refund treatment when a deadline is cancelled (typically n/a for legal).",
1102
+ "tier": "customization",
1103
+ "values": [
1104
+ "free",
1105
+ "partial-refund",
1106
+ "no-refund"
1107
+ ]
1108
+ },
1109
+ "clientConfidentialityLevel": {
1110
+ "type": "string",
1111
+ "default": "standard",
1112
+ "label": "Confidentiality level",
1113
+ "description": "Access control tier for related matter data.",
1114
+ "tier": "customization",
1115
+ "values": [
1116
+ "standard",
1117
+ "elevated",
1118
+ "restricted"
1119
+ ]
1120
+ },
1121
+ "bookingHours": {
1122
+ "type": "string",
1123
+ "default": "00:00-23:59",
1124
+ "label": "Booking hours",
1125
+ "description": "Daily window during which deadlines can be created (HH:MM-HH:MM).",
1126
+ "tier": "customization"
956
1127
  }
957
1128
  },
958
1129
  "scope": "collection"
@@ -971,4 +1142,4 @@
971
1142
  ]
972
1143
  }
973
1144
  ]
974
- }
1145
+ }