@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-offer-letter",
3
- "version": "1.1.0",
4
- "description": "std-offer-letter — formal job offer primitive. Owns an OfferLetter entity (applicant, position, salary, start date, acceptance status). Browses offers in a data-grid with Send / Revoke actions. Agents tune the list shape via `config.fields` + `config.itemActions`.",
3
+ "version": "1.2.0",
4
+ "description": "std-offer-letter — formal job offer lifecycle. Listens for SET_STATUS so std-lifecycle can auto-expire offers past expiresAt. Exposes HR knobs (backgroundCheckRequired, eVerifyRequired, anonymizeOnRejection, …).",
5
5
  "orbitals": [
6
6
  {
7
7
  "name": "OfferLetterOrbital",
@@ -235,6 +235,22 @@
235
235
  }
236
236
  ]
237
237
  },
238
+ {
239
+ "key": "SET_STATUS",
240
+ "name": "Set Status",
241
+ "payloadSchema": [
242
+ {
243
+ "name": "entityId",
244
+ "type": "string",
245
+ "required": true
246
+ },
247
+ {
248
+ "name": "newStatus",
249
+ "type": "string",
250
+ "required": true
251
+ }
252
+ ]
253
+ },
238
254
  {
239
255
  "key": "CLOSE_VIEW",
240
256
  "name": "Close View"
@@ -262,8 +278,8 @@
262
278
  "OfferLetter",
263
279
  {
264
280
  "emit": {
265
- "failure": "OfferLetterLoadFailed",
266
- "success": "OfferLetterLoaded"
281
+ "success": "OfferLetterLoaded",
282
+ "failure": "OfferLetterLoadFailed"
267
283
  }
268
284
  }
269
285
  ],
@@ -272,21 +288,21 @@
272
288
  "main",
273
289
  {
274
290
  "direction": "vertical",
275
- "className": "py-12",
276
- "type": "stack",
277
291
  "gap": "md",
278
292
  "align": "center",
293
+ "type": "stack",
279
294
  "children": [
280
295
  {
281
296
  "type": "spinner"
282
297
  },
283
298
  {
284
- "type": "typography",
299
+ "content": "Loading offer letters…",
285
300
  "variant": "caption",
286
301
  "color": "muted",
287
- "content": "Loading offer letters…"
302
+ "type": "typography"
288
303
  }
289
- ]
304
+ ],
305
+ "className": "py-12"
290
306
  }
291
307
  ]
292
308
  ]
@@ -300,69 +316,69 @@
300
316
  "render-ui",
301
317
  "main",
302
318
  {
303
- "gap": "md",
304
319
  "direction": "vertical",
305
320
  "children": [
306
321
  {
307
- "align": "center",
308
322
  "type": "stack",
309
- "gap": "sm",
310
323
  "direction": "horizontal",
324
+ "align": "center",
311
325
  "children": [
312
326
  {
313
327
  "type": "icon",
314
328
  "name": "file-text"
315
329
  },
316
330
  {
317
- "variant": "h3",
318
331
  "type": "typography",
332
+ "variant": "h3",
319
333
  "content": "@config.title"
320
334
  }
321
- ]
335
+ ],
336
+ "gap": "sm"
322
337
  },
323
338
  {
324
- "type": "simple-grid",
325
- "cols": 4.0,
326
339
  "children": [
327
340
  {
328
341
  "type": "stat-display",
329
342
  "value": "@payload.data.length",
330
- "icon": "file-text",
331
- "label": "Total offers"
343
+ "label": "Total offers",
344
+ "icon": "file-text"
332
345
  },
333
346
  {
334
- "value": "23",
335
- "label": "Sent",
347
+ "icon": "send",
336
348
  "type": "stat-display",
337
- "icon": "send"
349
+ "label": "Sent",
350
+ "value": "23"
338
351
  },
339
352
  {
340
- "label": "Accepted",
341
353
  "value": "14",
342
354
  "type": "stat-display",
355
+ "label": "Accepted",
343
356
  "icon": "check-circle"
344
357
  },
345
358
  {
346
- "type": "stat-display",
359
+ "value": "61%",
347
360
  "label": "Acceptance rate",
348
361
  "icon": "trending-up",
349
- "value": "61%"
362
+ "type": "stat-display"
350
363
  }
351
- ]
364
+ ],
365
+ "type": "simple-grid",
366
+ "cols": 4.0
352
367
  },
353
368
  {
354
369
  "type": "divider"
355
370
  },
356
371
  {
357
- "gap": "sm",
358
372
  "cols": 1.0,
359
- "fields": "@config.fields",
373
+ "gap": "sm",
360
374
  "type": "data-grid",
361
375
  "entity": "@payload.data",
376
+ "fields": "@config.fields",
362
377
  "itemActions": "@config.itemActions"
363
378
  }
364
379
  ],
365
- "type": "stack"
380
+ "type": "stack",
381
+ "gap": "md"
366
382
  }
367
383
  ]
368
384
  ]
@@ -377,8 +393,8 @@
377
393
  "main",
378
394
  {
379
395
  "variant": "error",
380
- "type": "alert",
381
- "message": "@payload.error"
396
+ "message": "@payload.error",
397
+ "type": "alert"
382
398
  }
383
399
  ]
384
400
  ]
@@ -437,70 +453,69 @@
437
453
  "render-ui",
438
454
  "main",
439
455
  {
440
- "type": "stack",
441
- "gap": "md",
442
456
  "children": [
443
457
  {
444
458
  "direction": "horizontal",
459
+ "type": "stack",
460
+ "gap": "sm",
445
461
  "children": [
446
462
  {
447
- "type": "button",
448
- "action": "CLOSE_VIEW",
463
+ "label": "Back",
449
464
  "variant": "ghost",
450
- "label": "Back"
465
+ "type": "button",
466
+ "action": "CLOSE_VIEW"
451
467
  },
452
468
  {
453
- "type": "icon",
454
- "name": "file-text"
469
+ "name": "file-text",
470
+ "type": "icon"
455
471
  },
456
472
  {
457
- "content": "@entity.applicantName",
458
473
  "variant": "h3",
459
- "type": "typography"
474
+ "type": "typography",
475
+ "content": "@entity.applicantName"
460
476
  },
461
477
  {
462
478
  "label": "@entity.status",
463
- "variant": "default",
464
- "type": "badge"
479
+ "type": "badge",
480
+ "variant": "default"
465
481
  }
466
482
  ],
467
- "gap": "sm",
468
- "align": "center",
469
- "type": "stack"
483
+ "align": "center"
470
484
  },
471
485
  {
472
486
  "type": "divider"
473
487
  },
474
488
  {
489
+ "gap": "sm",
475
490
  "direction": "vertical",
476
491
  "type": "stack",
477
- "gap": "sm",
478
492
  "children": [
479
493
  {
480
494
  "type": "stack",
481
- "gap": "md",
482
495
  "direction": "horizontal",
496
+ "gap": "md",
483
497
  "children": [
484
498
  {
485
- "content": "Position",
486
499
  "type": "typography",
487
500
  "variant": "caption",
488
- "color": "muted"
501
+ "color": "muted",
502
+ "content": "Position"
489
503
  },
490
504
  {
491
- "variant": "body",
492
505
  "type": "typography",
506
+ "variant": "body",
493
507
  "content": "@entity.position"
494
508
  }
495
509
  ]
496
510
  },
497
511
  {
512
+ "direction": "horizontal",
498
513
  "children": [
499
514
  {
500
- "color": "muted",
515
+ "type": "typography",
501
516
  "content": "Applicant ID",
502
517
  "variant": "caption",
503
- "type": "typography"
518
+ "color": "muted"
504
519
  },
505
520
  {
506
521
  "type": "typography",
@@ -508,11 +523,11 @@
508
523
  "content": "@entity.applicantId"
509
524
  }
510
525
  ],
511
- "direction": "horizontal",
512
- "type": "stack",
513
- "gap": "md"
526
+ "gap": "md",
527
+ "type": "stack"
514
528
  },
515
529
  {
530
+ "type": "stack",
516
531
  "children": [
517
532
  {
518
533
  "variant": "caption",
@@ -527,7 +542,6 @@
527
542
  }
528
543
  ],
529
544
  "gap": "md",
530
- "type": "stack",
531
545
  "direction": "horizontal"
532
546
  }
533
547
  ]
@@ -539,54 +553,56 @@
539
553
  "cols": 3.0,
540
554
  "children": [
541
555
  {
542
- "value": "@entity.salary",
543
556
  "icon": "dollar-sign",
557
+ "value": "@entity.salary",
544
558
  "type": "stat-display",
545
559
  "label": "Salary"
546
560
  },
547
561
  {
548
562
  "type": "stat-display",
549
- "value": "@entity.startDate",
550
563
  "icon": "calendar",
564
+ "value": "@entity.startDate",
551
565
  "label": "Start date"
552
566
  },
553
567
  {
554
- "label": "Expires",
568
+ "type": "stat-display",
555
569
  "value": "@entity.expiresAt",
556
- "icon": "calendar-x",
557
- "type": "stat-display"
570
+ "label": "Expires",
571
+ "icon": "calendar-x"
558
572
  }
559
573
  ],
560
574
  "type": "simple-grid"
561
575
  },
562
576
  {
563
- "gap": "sm",
564
- "align": "center",
565
577
  "type": "stack",
566
- "direction": "horizontal",
567
578
  "children": [
568
579
  {
580
+ "action": "SEND_OFFER",
569
581
  "actionPayload": {
570
582
  "id": "@entity.id"
571
583
  },
584
+ "type": "button",
572
585
  "label": "Send Offer",
573
- "variant": "primary",
574
- "action": "SEND_OFFER",
575
- "type": "button"
586
+ "variant": "primary"
576
587
  },
577
588
  {
578
- "type": "button",
589
+ "label": "Revoke",
579
590
  "variant": "danger",
580
591
  "action": "REVOKE_OFFER",
581
592
  "actionPayload": {
582
593
  "id": "@entity.id"
583
594
  },
584
- "label": "Revoke"
595
+ "type": "button"
585
596
  }
586
- ]
597
+ ],
598
+ "gap": "sm",
599
+ "direction": "horizontal",
600
+ "align": "center"
587
601
  }
588
602
  ],
589
- "direction": "vertical"
603
+ "type": "stack",
604
+ "direction": "vertical",
605
+ "gap": "md"
590
606
  }
591
607
  ]
592
608
  ]
@@ -615,38 +631,50 @@
615
631
  "render-ui",
616
632
  "main",
617
633
  {
618
- "direction": "vertical",
619
- "gap": "md",
634
+ "align": "center",
620
635
  "className": "py-12",
621
- "type": "stack",
636
+ "gap": "md",
622
637
  "children": [
623
638
  {
624
639
  "type": "spinner"
625
640
  },
626
641
  {
627
642
  "color": "muted",
628
- "content": "Revoking offer…",
629
643
  "type": "typography",
630
- "variant": "caption"
644
+ "variant": "caption",
645
+ "content": "Revoking offer…"
631
646
  }
632
647
  ],
633
- "align": "center"
648
+ "type": "stack",
649
+ "direction": "vertical"
634
650
  }
635
651
  ]
636
652
  ]
637
653
  },
638
654
  {
639
- "from": "viewing_single",
655
+ "from": "browsing",
640
656
  "to": "loading",
641
- "event": "CLOSE_VIEW",
657
+ "event": "SET_STATUS",
642
658
  "effects": [
643
659
  [
644
- "fetch",
660
+ "set",
661
+ "@entity.id",
662
+ "@payload.entityId"
663
+ ],
664
+ [
665
+ "set",
666
+ "@entity.status",
667
+ "@payload.newStatus"
668
+ ],
669
+ [
670
+ "persist",
671
+ "update",
645
672
  "OfferLetter",
673
+ "@entity",
646
674
  {
647
675
  "emit": {
648
- "success": "OfferLetterLoaded",
649
- "failure": "OfferLetterLoadFailed"
676
+ "failure": "OfferLetterLoadFailed",
677
+ "success": "OfferLetterLoaded"
650
678
  }
651
679
  }
652
680
  ],
@@ -655,8 +683,9 @@
655
683
  "main",
656
684
  {
657
685
  "className": "py-12",
658
- "gap": "md",
659
686
  "direction": "vertical",
687
+ "type": "stack",
688
+ "gap": "md",
660
689
  "align": "center",
661
690
  "children": [
662
691
  {
@@ -664,12 +693,50 @@
664
693
  },
665
694
  {
666
695
  "variant": "caption",
696
+ "content": "Updating offer status…",
697
+ "type": "typography",
698
+ "color": "muted"
699
+ }
700
+ ]
701
+ }
702
+ ]
703
+ ]
704
+ },
705
+ {
706
+ "from": "viewing_single",
707
+ "to": "loading",
708
+ "event": "CLOSE_VIEW",
709
+ "effects": [
710
+ [
711
+ "fetch",
712
+ "OfferLetter",
713
+ {
714
+ "emit": {
715
+ "failure": "OfferLetterLoadFailed",
716
+ "success": "OfferLetterLoaded"
717
+ }
718
+ }
719
+ ],
720
+ [
721
+ "render-ui",
722
+ "main",
723
+ {
724
+ "type": "stack",
725
+ "align": "center",
726
+ "className": "py-12",
727
+ "children": [
728
+ {
729
+ "type": "spinner"
730
+ },
731
+ {
667
732
  "type": "typography",
733
+ "variant": "caption",
668
734
  "color": "muted",
669
735
  "content": "Loading offer letters…"
670
736
  }
671
737
  ],
672
- "type": "stack"
738
+ "gap": "md",
739
+ "direction": "vertical"
673
740
  }
674
741
  ]
675
742
  ]
@@ -689,8 +756,8 @@
689
756
  "OfferLetter",
690
757
  {
691
758
  "emit": {
692
- "failure": "OfferLetterLoadFailed",
693
- "success": "OfferLetterLoaded"
759
+ "success": "OfferLetterLoaded",
760
+ "failure": "OfferLetterLoadFailed"
694
761
  }
695
762
  }
696
763
  ],
@@ -698,22 +765,22 @@
698
765
  "render-ui",
699
766
  "main",
700
767
  {
701
- "className": "py-12",
702
- "type": "stack",
703
- "gap": "md",
704
768
  "children": [
705
769
  {
706
770
  "type": "spinner"
707
771
  },
708
772
  {
709
- "variant": "caption",
710
773
  "color": "muted",
711
774
  "type": "typography",
775
+ "variant": "caption",
712
776
  "content": "Sending offer…"
713
777
  }
714
778
  ],
779
+ "gap": "md",
715
780
  "align": "center",
716
- "direction": "vertical"
781
+ "direction": "vertical",
782
+ "type": "stack",
783
+ "className": "py-12"
717
784
  }
718
785
  ]
719
786
  ]
@@ -742,22 +809,22 @@
742
809
  "render-ui",
743
810
  "main",
744
811
  {
745
- "direction": "vertical",
746
812
  "gap": "md",
747
- "align": "center",
748
- "className": "py-12",
749
813
  "type": "stack",
814
+ "align": "center",
750
815
  "children": [
751
816
  {
752
817
  "type": "spinner"
753
818
  },
754
819
  {
820
+ "type": "typography",
755
821
  "color": "muted",
756
822
  "content": "Revoking offer…",
757
- "variant": "caption",
758
- "type": "typography"
823
+ "variant": "caption"
759
824
  }
760
- ]
825
+ ],
826
+ "direction": "vertical",
827
+ "className": "py-12"
761
828
  }
762
829
  ]
763
830
  ]
@@ -781,8 +848,8 @@
781
848
  "render-ui",
782
849
  "main",
783
850
  {
784
- "type": "spinner",
785
- "size": "sm"
851
+ "size": "sm",
852
+ "type": "spinner"
786
853
  }
787
854
  ]
788
855
  ]
@@ -794,29 +861,29 @@
794
861
  "type": "[FieldSpec]",
795
862
  "default": [
796
863
  {
797
- "name": "applicantName",
798
864
  "variant": "caption",
865
+ "name": "applicantName",
799
866
  "label": "Applicant"
800
867
  },
801
868
  {
802
- "variant": "caption",
803
869
  "name": "position",
870
+ "variant": "caption",
804
871
  "label": "Position"
805
872
  },
806
873
  {
807
- "name": "salary",
808
874
  "label": "Salary",
875
+ "name": "salary",
809
876
  "variant": "caption"
810
877
  },
811
878
  {
812
- "variant": "caption",
813
879
  "name": "startDate",
814
- "label": "Start Date"
880
+ "label": "Start Date",
881
+ "variant": "caption"
815
882
  },
816
883
  {
817
- "label": "Status",
818
884
  "variant": "badge",
819
- "name": "status"
885
+ "name": "status",
886
+ "label": "Status"
820
887
  }
821
888
  ],
822
889
  "label": "Columns to show",
@@ -825,13 +892,8 @@
825
892
  "items": {
826
893
  "type": "object",
827
894
  "properties": {
828
- "label": {
829
- "name": "label",
830
- "type": "string",
831
- "required": false
832
- },
833
- "header": {
834
- "name": "header",
895
+ "icon": {
896
+ "name": "icon",
835
897
  "type": "string",
836
898
  "required": false
837
899
  },
@@ -840,8 +902,13 @@
840
902
  "type": "string",
841
903
  "required": true
842
904
  },
843
- "icon": {
844
- "name": "icon",
905
+ "variant": {
906
+ "name": "variant",
907
+ "type": "string",
908
+ "required": false
909
+ },
910
+ "format": {
911
+ "name": "format",
845
912
  "type": "string",
846
913
  "required": false
847
914
  },
@@ -850,32 +917,74 @@
850
917
  "type": "string",
851
918
  "required": false
852
919
  },
853
- "variant": {
854
- "name": "variant",
920
+ "header": {
921
+ "name": "header",
855
922
  "type": "string",
856
923
  "required": false
857
924
  },
858
- "format": {
859
- "name": "format",
925
+ "label": {
926
+ "name": "label",
860
927
  "type": "string",
861
928
  "required": false
862
929
  }
863
930
  }
864
931
  }
865
932
  },
933
+ "eVerifyRequired": {
934
+ "type": "boolean",
935
+ "default": false,
936
+ "label": "E-Verify required",
937
+ "description": "US I-9 / E-Verify gate. Block ACCEPT until verification passes.",
938
+ "tier": "customization"
939
+ },
940
+ "i9DocumentsRequired": {
941
+ "type": "boolean",
942
+ "default": true,
943
+ "label": "I-9 documents required",
944
+ "description": "Require I-9 supporting documents at the accepted transition.",
945
+ "tier": "customization"
946
+ },
947
+ "anonymizeOnRejection": {
948
+ "type": "boolean",
949
+ "default": false,
950
+ "label": "Anonymize on rejection",
951
+ "description": "When true, scrub applicant PII on rejected/revoked. Pair with std-data-erasure.",
952
+ "tier": "customization"
953
+ },
954
+ "equalOpportunityTrackingEnabled": {
955
+ "type": "boolean",
956
+ "default": false,
957
+ "label": "Equal opportunity tracking",
958
+ "description": "Capture demographic data separately for EEO reporting (sibling collection).",
959
+ "tier": "advanced"
960
+ },
961
+ "retentionAfterRejectionDays": {
962
+ "type": "number",
963
+ "default": 1825.0,
964
+ "label": "Retention after rejection (days)",
965
+ "description": "Days to keep rejected/revoked offers. Default 1825 (5 years) covers most EEOC + IRS retention.",
966
+ "tier": "advanced"
967
+ },
968
+ "title": {
969
+ "type": "string",
970
+ "default": "Offer Letters",
971
+ "label": "Section title",
972
+ "description": "Heading shown above the offer letters list",
973
+ "tier": "customization"
974
+ },
866
975
  "itemActions": {
867
976
  "type": "[ItemAction]",
868
977
  "default": [
869
978
  {
870
- "icon": "arrow-right",
871
- "variant": "primary",
872
979
  "label": "Open",
873
- "event": "OPEN_OFFER"
980
+ "variant": "primary",
981
+ "event": "OPEN_OFFER",
982
+ "icon": "arrow-right"
874
983
  },
875
984
  {
876
- "event": "REVOKE_OFFER",
877
985
  "variant": "danger",
878
- "label": "Revoke"
986
+ "label": "Revoke",
987
+ "event": "REVOKE_OFFER"
879
988
  }
880
989
  ],
881
990
  "label": "Row actions",
@@ -884,8 +993,8 @@
884
993
  "items": {
885
994
  "type": "object",
886
995
  "properties": {
887
- "icon": {
888
- "name": "icon",
996
+ "variant": {
997
+ "name": "variant",
889
998
  "type": "string",
890
999
  "required": false
891
1000
  },
@@ -894,8 +1003,8 @@
894
1003
  "type": "string",
895
1004
  "required": true
896
1005
  },
897
- "variant": {
898
- "name": "variant",
1006
+ "icon": {
1007
+ "name": "icon",
899
1008
  "type": "string",
900
1009
  "required": false
901
1010
  },
@@ -907,11 +1016,11 @@
907
1016
  }
908
1017
  }
909
1018
  },
910
- "title": {
911
- "type": "string",
912
- "default": "Offer Letters",
913
- "label": "Section title",
914
- "description": "Heading shown above the offer letters list",
1019
+ "backgroundCheckRequired": {
1020
+ "type": "boolean",
1021
+ "default": true,
1022
+ "label": "Background check required",
1023
+ "description": "Block SEND_OFFER until a background check is on file.",
915
1024
  "tier": "customization"
916
1025
  }
917
1026
  },
@@ -931,4 +1040,4 @@
931
1040
  ]
932
1041
  }
933
1042
  ]
934
- }
1043
+ }