@rippling/rippling-sdk 0.2.0-alpha.82 → 0.2.0-alpha.84

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 (351) hide show
  1. package/client.d.mts +4 -4
  2. package/client.d.mts.map +1 -1
  3. package/client.d.ts +4 -4
  4. package/client.d.ts.map +1 -1
  5. package/client.js.map +1 -1
  6. package/client.mjs.map +1 -1
  7. package/core/platform/custom-objects/category.d.mts +125 -0
  8. package/core/platform/custom-objects/category.d.mts.map +1 -0
  9. package/core/platform/custom-objects/category.d.ts +125 -0
  10. package/core/platform/custom-objects/category.d.ts.map +1 -0
  11. package/core/platform/custom-objects/category.js +188 -0
  12. package/core/platform/custom-objects/category.js.map +1 -0
  13. package/core/platform/custom-objects/category.mjs +178 -0
  14. package/core/platform/custom-objects/category.mjs.map +1 -0
  15. package/core/platform/custom-objects/definition.d.mts +147 -0
  16. package/core/platform/custom-objects/definition.d.mts.map +1 -0
  17. package/core/platform/custom-objects/definition.d.ts +147 -0
  18. package/core/platform/custom-objects/definition.d.ts.map +1 -0
  19. package/core/platform/custom-objects/definition.js +200 -0
  20. package/core/platform/custom-objects/definition.js.map +1 -0
  21. package/core/platform/custom-objects/definition.mjs +190 -0
  22. package/core/platform/custom-objects/definition.mjs.map +1 -0
  23. package/core/platform/custom-objects/fields.d.mts +302 -0
  24. package/core/platform/custom-objects/fields.d.mts.map +1 -0
  25. package/core/platform/custom-objects/fields.d.ts +302 -0
  26. package/core/platform/custom-objects/fields.d.ts.map +1 -0
  27. package/core/platform/custom-objects/fields.js +369 -0
  28. package/core/platform/custom-objects/fields.js.map +1 -0
  29. package/core/platform/custom-objects/fields.mjs +347 -0
  30. package/core/platform/custom-objects/fields.mjs.map +1 -0
  31. package/core/platform/custom-objects/function-runtime.d.mts +42 -0
  32. package/core/platform/custom-objects/function-runtime.d.mts.map +1 -0
  33. package/core/platform/custom-objects/function-runtime.d.ts +42 -0
  34. package/core/platform/custom-objects/function-runtime.d.ts.map +1 -0
  35. package/core/platform/custom-objects/function-runtime.js +38 -0
  36. package/core/platform/custom-objects/function-runtime.js.map +1 -0
  37. package/core/platform/custom-objects/function-runtime.mjs +35 -0
  38. package/core/platform/custom-objects/function-runtime.mjs.map +1 -0
  39. package/core/platform/custom-objects/lifecycle.d.mts +83 -0
  40. package/core/platform/custom-objects/lifecycle.d.mts.map +1 -0
  41. package/core/platform/custom-objects/lifecycle.d.ts +83 -0
  42. package/core/platform/custom-objects/lifecycle.d.ts.map +1 -0
  43. package/core/platform/custom-objects/lifecycle.js +372 -0
  44. package/core/platform/custom-objects/lifecycle.js.map +1 -0
  45. package/core/platform/custom-objects/lifecycle.mjs +367 -0
  46. package/core/platform/custom-objects/lifecycle.mjs.map +1 -0
  47. package/core/platform/custom-objects/manager.d.mts +354 -0
  48. package/core/platform/custom-objects/manager.d.mts.map +1 -0
  49. package/core/platform/custom-objects/manager.d.ts +354 -0
  50. package/core/platform/custom-objects/manager.d.ts.map +1 -0
  51. package/core/platform/custom-objects/manager.js +646 -0
  52. package/core/platform/custom-objects/manager.js.map +1 -0
  53. package/core/platform/custom-objects/manager.mjs +637 -0
  54. package/core/platform/custom-objects/manager.mjs.map +1 -0
  55. package/core/platform/custom-objects/provisioning.d.mts +138 -0
  56. package/core/platform/custom-objects/provisioning.d.mts.map +1 -0
  57. package/core/platform/custom-objects/provisioning.d.ts +138 -0
  58. package/core/platform/custom-objects/provisioning.d.ts.map +1 -0
  59. package/core/platform/custom-objects/provisioning.js +455 -0
  60. package/core/platform/custom-objects/provisioning.js.map +1 -0
  61. package/core/platform/custom-objects/provisioning.mjs +447 -0
  62. package/core/platform/custom-objects/provisioning.mjs.map +1 -0
  63. package/core/platform/custom-objects/rql.d.mts +122 -0
  64. package/core/platform/custom-objects/rql.d.mts.map +1 -0
  65. package/core/platform/custom-objects/rql.d.ts +122 -0
  66. package/core/platform/custom-objects/rql.d.ts.map +1 -0
  67. package/core/platform/custom-objects/rql.js +225 -0
  68. package/core/platform/custom-objects/rql.js.map +1 -0
  69. package/core/platform/custom-objects/rql.mjs +222 -0
  70. package/core/platform/custom-objects/rql.mjs.map +1 -0
  71. package/core/platform/custom-objects/schema-manager.d.mts +203 -0
  72. package/core/platform/custom-objects/schema-manager.d.mts.map +1 -0
  73. package/core/platform/custom-objects/schema-manager.d.ts +203 -0
  74. package/core/platform/custom-objects/schema-manager.d.ts.map +1 -0
  75. package/core/platform/custom-objects/schema-manager.js +256 -0
  76. package/core/platform/custom-objects/schema-manager.js.map +1 -0
  77. package/core/platform/custom-objects/schema-manager.mjs +249 -0
  78. package/core/platform/custom-objects/schema-manager.mjs.map +1 -0
  79. package/core/platform/custom-objects/typed-rql.d.mts +157 -0
  80. package/core/platform/custom-objects/typed-rql.d.mts.map +1 -0
  81. package/core/platform/custom-objects/typed-rql.d.ts +157 -0
  82. package/core/platform/custom-objects/typed-rql.d.ts.map +1 -0
  83. package/core/platform/custom-objects/typed-rql.js +583 -0
  84. package/core/platform/custom-objects/typed-rql.js.map +1 -0
  85. package/core/platform/custom-objects/typed-rql.mjs +580 -0
  86. package/core/platform/custom-objects/typed-rql.mjs.map +1 -0
  87. package/core/platform/custom-objects/types.d.mts +549 -0
  88. package/core/platform/custom-objects/types.d.mts.map +1 -0
  89. package/core/platform/custom-objects/types.d.ts +549 -0
  90. package/core/platform/custom-objects/types.d.ts.map +1 -0
  91. package/core/platform/custom-objects/types.js +20 -0
  92. package/core/platform/custom-objects/types.js.map +1 -0
  93. package/core/platform/custom-objects/types.mjs +17 -0
  94. package/core/platform/custom-objects/types.mjs.map +1 -0
  95. package/core/platform/custom-objects/validation.d.mts +97 -0
  96. package/core/platform/custom-objects/validation.d.mts.map +1 -0
  97. package/core/platform/custom-objects/validation.d.ts +97 -0
  98. package/core/platform/custom-objects/validation.d.ts.map +1 -0
  99. package/core/platform/custom-objects/validation.js +477 -0
  100. package/core/platform/custom-objects/validation.js.map +1 -0
  101. package/core/platform/custom-objects/validation.mjs +465 -0
  102. package/core/platform/custom-objects/validation.mjs.map +1 -0
  103. package/core/platform/custom-objects.d.mts +67 -0
  104. package/core/platform/custom-objects.d.mts.map +1 -0
  105. package/core/platform/custom-objects.d.ts +67 -0
  106. package/core/platform/custom-objects.d.ts.map +1 -0
  107. package/core/platform/custom-objects.js +118 -0
  108. package/core/platform/custom-objects.js.map +1 -0
  109. package/core/platform/custom-objects.mjs +45 -0
  110. package/core/platform/custom-objects.mjs.map +1 -0
  111. package/core/platform/manifest/custom-objects/action.d.mts +58 -0
  112. package/core/platform/manifest/custom-objects/action.d.mts.map +1 -0
  113. package/core/platform/manifest/custom-objects/action.d.ts +58 -0
  114. package/core/platform/manifest/custom-objects/action.d.ts.map +1 -0
  115. package/core/platform/manifest/custom-objects/action.js +44 -0
  116. package/core/platform/manifest/custom-objects/action.js.map +1 -0
  117. package/core/platform/manifest/custom-objects/action.mjs +40 -0
  118. package/core/platform/manifest/custom-objects/action.mjs.map +1 -0
  119. package/core/platform/manifest/custom-objects/conditions.d.mts +240 -0
  120. package/core/platform/manifest/custom-objects/conditions.d.mts.map +1 -0
  121. package/core/platform/manifest/custom-objects/conditions.d.ts +240 -0
  122. package/core/platform/manifest/custom-objects/conditions.d.ts.map +1 -0
  123. package/core/platform/manifest/custom-objects/conditions.js +326 -0
  124. package/core/platform/manifest/custom-objects/conditions.js.map +1 -0
  125. package/core/platform/manifest/custom-objects/conditions.mjs +321 -0
  126. package/core/platform/manifest/custom-objects/conditions.mjs.map +1 -0
  127. package/core/platform/manifest/custom-objects/existing.d.mts +87 -0
  128. package/core/platform/manifest/custom-objects/existing.d.mts.map +1 -0
  129. package/core/platform/manifest/custom-objects/existing.d.ts +87 -0
  130. package/core/platform/manifest/custom-objects/existing.d.ts.map +1 -0
  131. package/core/platform/manifest/custom-objects/existing.js +113 -0
  132. package/core/platform/manifest/custom-objects/existing.js.map +1 -0
  133. package/core/platform/manifest/custom-objects/existing.mjs +109 -0
  134. package/core/platform/manifest/custom-objects/existing.mjs.map +1 -0
  135. package/core/platform/manifest/custom-objects/field-resolution.d.mts +48 -0
  136. package/core/platform/manifest/custom-objects/field-resolution.d.mts.map +1 -0
  137. package/core/platform/manifest/custom-objects/field-resolution.d.ts +48 -0
  138. package/core/platform/manifest/custom-objects/field-resolution.d.ts.map +1 -0
  139. package/core/platform/manifest/custom-objects/field-resolution.js +61 -0
  140. package/core/platform/manifest/custom-objects/field-resolution.js.map +1 -0
  141. package/core/platform/manifest/custom-objects/field-resolution.mjs +58 -0
  142. package/core/platform/manifest/custom-objects/field-resolution.mjs.map +1 -0
  143. package/core/platform/manifest/custom-objects/function-file.d.mts +87 -0
  144. package/core/platform/manifest/custom-objects/function-file.d.mts.map +1 -0
  145. package/core/platform/manifest/custom-objects/function-file.d.ts +87 -0
  146. package/core/platform/manifest/custom-objects/function-file.d.ts.map +1 -0
  147. package/core/platform/manifest/custom-objects/function-file.js +76 -0
  148. package/core/platform/manifest/custom-objects/function-file.js.map +1 -0
  149. package/core/platform/manifest/custom-objects/function-file.mjs +69 -0
  150. package/core/platform/manifest/custom-objects/function-file.mjs.map +1 -0
  151. package/core/platform/manifest/custom-objects/list-view.d.mts +65 -0
  152. package/core/platform/manifest/custom-objects/list-view.d.mts.map +1 -0
  153. package/core/platform/manifest/custom-objects/list-view.d.ts +65 -0
  154. package/core/platform/manifest/custom-objects/list-view.d.ts.map +1 -0
  155. package/core/platform/manifest/custom-objects/list-view.js +33 -0
  156. package/core/platform/manifest/custom-objects/list-view.js.map +1 -0
  157. package/core/platform/manifest/custom-objects/list-view.mjs +30 -0
  158. package/core/platform/manifest/custom-objects/list-view.mjs.map +1 -0
  159. package/core/platform/manifest/custom-objects/object-list-page.d.mts +43 -0
  160. package/core/platform/manifest/custom-objects/object-list-page.d.mts.map +1 -0
  161. package/core/platform/manifest/custom-objects/object-list-page.d.ts +43 -0
  162. package/core/platform/manifest/custom-objects/object-list-page.d.ts.map +1 -0
  163. package/core/platform/manifest/custom-objects/object-list-page.js +54 -0
  164. package/core/platform/manifest/custom-objects/object-list-page.js.map +1 -0
  165. package/core/platform/manifest/custom-objects/object-list-page.mjs +50 -0
  166. package/core/platform/manifest/custom-objects/object-list-page.mjs.map +1 -0
  167. package/core/platform/manifest/custom-objects/page-layout.d.mts +142 -0
  168. package/core/platform/manifest/custom-objects/page-layout.d.mts.map +1 -0
  169. package/core/platform/manifest/custom-objects/page-layout.d.ts +142 -0
  170. package/core/platform/manifest/custom-objects/page-layout.d.ts.map +1 -0
  171. package/core/platform/manifest/custom-objects/page-layout.js +184 -0
  172. package/core/platform/manifest/custom-objects/page-layout.js.map +1 -0
  173. package/core/platform/manifest/custom-objects/page-layout.mjs +180 -0
  174. package/core/platform/manifest/custom-objects/page-layout.mjs.map +1 -0
  175. package/core/platform/manifest/custom-objects/register.d.mts +87 -0
  176. package/core/platform/manifest/custom-objects/register.d.mts.map +1 -0
  177. package/core/platform/manifest/custom-objects/register.d.ts +87 -0
  178. package/core/platform/manifest/custom-objects/register.d.ts.map +1 -0
  179. package/core/platform/manifest/custom-objects/register.js +395 -0
  180. package/core/platform/manifest/custom-objects/register.js.map +1 -0
  181. package/core/platform/manifest/custom-objects/register.mjs +391 -0
  182. package/core/platform/manifest/custom-objects/register.mjs.map +1 -0
  183. package/core/platform/manifest/custom-objects/rule.d.mts +113 -0
  184. package/core/platform/manifest/custom-objects/rule.d.mts.map +1 -0
  185. package/core/platform/manifest/custom-objects/rule.d.ts +113 -0
  186. package/core/platform/manifest/custom-objects/rule.d.ts.map +1 -0
  187. package/core/platform/manifest/custom-objects/rule.js +49 -0
  188. package/core/platform/manifest/custom-objects/rule.js.map +1 -0
  189. package/core/platform/manifest/custom-objects/rule.mjs +45 -0
  190. package/core/platform/manifest/custom-objects/rule.mjs.map +1 -0
  191. package/core/platform/manifest/custom-objects/sdui-page.d.mts +214 -0
  192. package/core/platform/manifest/custom-objects/sdui-page.d.mts.map +1 -0
  193. package/core/platform/manifest/custom-objects/sdui-page.d.ts +214 -0
  194. package/core/platform/manifest/custom-objects/sdui-page.d.ts.map +1 -0
  195. package/core/platform/manifest/custom-objects/sdui-page.js +194 -0
  196. package/core/platform/manifest/custom-objects/sdui-page.js.map +1 -0
  197. package/core/platform/manifest/custom-objects/sdui-page.mjs +182 -0
  198. package/core/platform/manifest/custom-objects/sdui-page.mjs.map +1 -0
  199. package/core/platform/manifest/custom-objects/typed-condition.d.mts +28 -0
  200. package/core/platform/manifest/custom-objects/typed-condition.d.mts.map +1 -0
  201. package/core/platform/manifest/custom-objects/typed-condition.d.ts +28 -0
  202. package/core/platform/manifest/custom-objects/typed-condition.d.ts.map +1 -0
  203. package/core/platform/manifest/custom-objects/typed-condition.js +434 -0
  204. package/core/platform/manifest/custom-objects/typed-condition.js.map +1 -0
  205. package/core/platform/manifest/custom-objects/typed-condition.mjs +431 -0
  206. package/core/platform/manifest/custom-objects/typed-condition.mjs.map +1 -0
  207. package/core/platform/manifest/custom-objects/types.d.mts +29 -0
  208. package/core/platform/manifest/custom-objects/types.d.mts.map +1 -0
  209. package/core/platform/manifest/custom-objects/types.d.ts +29 -0
  210. package/core/platform/manifest/custom-objects/types.d.ts.map +1 -0
  211. package/core/platform/manifest/custom-objects/types.js +3 -0
  212. package/core/platform/manifest/custom-objects/types.js.map +1 -0
  213. package/core/platform/manifest/custom-objects/types.mjs +2 -0
  214. package/core/platform/manifest/custom-objects/types.mjs.map +1 -0
  215. package/core/platform/manifest/custom-objects/validation.d.mts +44 -0
  216. package/core/platform/manifest/custom-objects/validation.d.mts.map +1 -0
  217. package/core/platform/manifest/custom-objects/validation.d.ts +44 -0
  218. package/core/platform/manifest/custom-objects/validation.d.ts.map +1 -0
  219. package/core/platform/manifest/custom-objects/validation.js +30 -0
  220. package/core/platform/manifest/custom-objects/validation.js.map +1 -0
  221. package/core/platform/manifest/custom-objects/validation.mjs +27 -0
  222. package/core/platform/manifest/custom-objects/validation.mjs.map +1 -0
  223. package/core/platform/manifest/custom-objects/workflow.d.mts +47 -0
  224. package/core/platform/manifest/custom-objects/workflow.d.mts.map +1 -0
  225. package/core/platform/manifest/custom-objects/workflow.d.ts +47 -0
  226. package/core/platform/manifest/custom-objects/workflow.d.ts.map +1 -0
  227. package/core/platform/manifest/custom-objects/workflow.js +38 -0
  228. package/core/platform/manifest/custom-objects/workflow.js.map +1 -0
  229. package/core/platform/manifest/custom-objects/workflow.mjs +34 -0
  230. package/core/platform/manifest/custom-objects/workflow.mjs.map +1 -0
  231. package/core/platform/manifest/custom-objects.d.mts +85 -0
  232. package/core/platform/manifest/custom-objects.d.mts.map +1 -0
  233. package/core/platform/manifest/custom-objects.d.ts +85 -0
  234. package/core/platform/manifest/custom-objects.d.ts.map +1 -0
  235. package/core/platform/manifest/custom-objects.js +84 -0
  236. package/core/platform/manifest/custom-objects.js.map +1 -0
  237. package/core/platform/manifest/custom-objects.mjs +55 -0
  238. package/core/platform/manifest/custom-objects.mjs.map +1 -0
  239. package/examples/manifest/custom-object-creation-workflow/custom-object-creation-workflow.ts +26 -44
  240. package/examples/manifest/custom-object-creation-workflow/functions/intake-request-created.ts +20 -0
  241. package/examples/manifest/custom-object-creation-workflow/schema.ts +29 -0
  242. package/examples/manifest/dental-practice-management/dental-practice-management.ts +142 -470
  243. package/examples/manifest/dental-practice-management/functions/chair-schedule.ts +13 -23
  244. package/examples/manifest/dental-practice-management/functions/complete-visit.ts +32 -55
  245. package/examples/manifest/dental-practice-management/functions/operatory-list.ts +13 -23
  246. package/examples/manifest/dental-practice-management/functions/patient-list.ts +13 -23
  247. package/examples/manifest/dental-practice-management/functions/treatment-plan-list.ts +13 -23
  248. package/examples/manifest/dental-practice-management/schema.ts +298 -0
  249. package/examples/manifest/existing-manifest-mutations/existing-manifest-mutations.ts +68 -23
  250. package/examples/manifest/field-service-dispatch/field-service-dispatch.ts +102 -375
  251. package/examples/manifest/field-service-dispatch/schema.ts +248 -0
  252. package/examples/manifest/grant-program-management/grant-program-management.ts +125 -419
  253. package/examples/manifest/grant-program-management/schema.ts +269 -0
  254. package/examples/manifest/gym-membership-management/functions/check-in-desk.ts +13 -23
  255. package/examples/manifest/gym-membership-management/functions/member-list.ts +13 -23
  256. package/examples/manifest/gym-membership-management/functions/today-schedule.ts +13 -23
  257. package/examples/manifest/gym-membership-management/functions/trainer-list.ts +13 -23
  258. package/examples/manifest/gym-membership-management/gym-membership-management.ts +92 -442
  259. package/examples/manifest/gym-membership-management/schema.ts +266 -0
  260. package/examples/manifest/procurement-approval-hub/functions/route-purchase-request.ts +20 -0
  261. package/examples/manifest/procurement-approval-hub/procurement-approval-hub.ts +122 -408
  262. package/examples/manifest/procurement-approval-hub/schema.ts +256 -0
  263. package/examples/manifest/simple-todo-app/functions/mark-done.ts +16 -12
  264. package/examples/manifest/simple-todo-app/functions/todo-list.ts +13 -23
  265. package/examples/manifest/simple-todo-app/schema.ts +60 -0
  266. package/examples/manifest/simple-todo-app/simple-todo-app.ts +40 -109
  267. package/examples/manifest/todo-app-without-object-list-view/functions/todo-page.ts +166 -193
  268. package/examples/manifest/todo-app-without-object-list-view/schema.ts +28 -0
  269. package/examples/manifest/todo-app-without-object-list-view/todo-app-without-object-list-view.ts +24 -47
  270. package/package.json +7 -13
  271. package/resources/custom-objects/custom-objects.d.mts +7 -0
  272. package/resources/custom-objects/custom-objects.d.mts.map +1 -1
  273. package/resources/custom-objects/custom-objects.d.ts +7 -0
  274. package/resources/custom-objects/custom-objects.d.ts.map +1 -1
  275. package/resources/custom-objects/custom-objects.js.map +1 -1
  276. package/resources/custom-objects/custom-objects.mjs.map +1 -1
  277. package/resources/custom-objects/fields.d.mts +170 -15
  278. package/resources/custom-objects/fields.d.mts.map +1 -1
  279. package/resources/custom-objects/fields.d.ts +170 -15
  280. package/resources/custom-objects/fields.d.ts.map +1 -1
  281. package/resources/index.d.mts +2 -2
  282. package/resources/index.d.mts.map +1 -1
  283. package/resources/index.d.ts +2 -2
  284. package/resources/index.d.ts.map +1 -1
  285. package/resources/index.js.map +1 -1
  286. package/resources/index.mjs.map +1 -1
  287. package/resources/leave-program-evaluations.d.mts +510 -3
  288. package/resources/leave-program-evaluations.d.mts.map +1 -1
  289. package/resources/leave-program-evaluations.d.ts +510 -3
  290. package/resources/leave-program-evaluations.d.ts.map +1 -1
  291. package/resources/levels.d.mts +64 -2
  292. package/resources/levels.d.mts.map +1 -1
  293. package/resources/levels.d.ts +64 -2
  294. package/resources/levels.d.ts.map +1 -1
  295. package/resources/levels.js +22 -0
  296. package/resources/levels.js.map +1 -1
  297. package/resources/levels.mjs +22 -0
  298. package/resources/levels.mjs.map +1 -1
  299. package/resources/tracks.d.mts +45 -1
  300. package/resources/tracks.d.mts.map +1 -1
  301. package/resources/tracks.d.ts +45 -1
  302. package/resources/tracks.d.ts.map +1 -1
  303. package/resources/tracks.js +22 -0
  304. package/resources/tracks.js.map +1 -1
  305. package/resources/tracks.mjs +22 -0
  306. package/resources/tracks.mjs.map +1 -1
  307. package/src/client.ts +8 -0
  308. package/src/core/platform/README.md +20 -0
  309. package/src/core/platform/custom-objects/category.ts +294 -0
  310. package/src/core/platform/custom-objects/definition.ts +373 -0
  311. package/src/core/platform/custom-objects/fields.ts +653 -0
  312. package/src/core/platform/custom-objects/function-runtime.ts +76 -0
  313. package/src/core/platform/custom-objects/lifecycle.ts +557 -0
  314. package/src/core/platform/custom-objects/manager.ts +959 -0
  315. package/src/core/platform/custom-objects/provisioning.ts +672 -0
  316. package/src/core/platform/custom-objects/rql.ts +375 -0
  317. package/src/core/platform/custom-objects/schema-manager.ts +351 -0
  318. package/src/core/platform/custom-objects/typed-rql.ts +1273 -0
  319. package/src/core/platform/custom-objects/types.ts +753 -0
  320. package/src/core/platform/custom-objects/validation.ts +573 -0
  321. package/src/core/platform/custom-objects.ts +269 -0
  322. package/src/core/platform/manifest/README.md +26 -0
  323. package/src/core/platform/manifest/custom-objects/action.ts +87 -0
  324. package/src/core/platform/manifest/custom-objects/conditions.ts +762 -0
  325. package/src/core/platform/manifest/custom-objects/existing.ts +221 -0
  326. package/src/core/platform/manifest/custom-objects/field-resolution.ts +116 -0
  327. package/src/core/platform/manifest/custom-objects/function-file.ts +149 -0
  328. package/src/core/platform/manifest/custom-objects/list-view.ts +95 -0
  329. package/src/core/platform/manifest/custom-objects/object-list-page.ts +87 -0
  330. package/src/core/platform/manifest/custom-objects/page-layout.ts +380 -0
  331. package/src/core/platform/manifest/custom-objects/register.ts +555 -0
  332. package/src/core/platform/manifest/custom-objects/rule.ts +192 -0
  333. package/src/core/platform/manifest/custom-objects/sdui-page.ts +515 -0
  334. package/src/core/platform/manifest/custom-objects/typed-condition.ts +617 -0
  335. package/src/core/platform/manifest/custom-objects/types.ts +92 -0
  336. package/src/core/platform/manifest/custom-objects/validation.ts +70 -0
  337. package/src/core/platform/manifest/custom-objects/workflow.ts +71 -0
  338. package/src/core/platform/manifest/custom-objects.ts +203 -0
  339. package/src/pebble-sdui-web-custom-apps-shim.d.ts +3 -0
  340. package/src/resources/custom-objects/custom-objects.ts +8 -0
  341. package/src/resources/custom-objects/fields.ts +239 -14
  342. package/src/resources/index.ts +4 -0
  343. package/src/resources/leave-program-evaluations.ts +610 -3
  344. package/src/resources/levels.ts +93 -1
  345. package/src/resources/tracks.ts +70 -0
  346. package/src/tsconfig.json +1 -1
  347. package/src/version.ts +1 -1
  348. package/version.d.mts +1 -1
  349. package/version.d.ts +1 -1
  350. package/version.js +1 -1
  351. package/version.mjs +1 -1
@@ -0,0 +1,431 @@
1
+ const STANDARD_TYPED_CONDITION_FIELDS = [
2
+ 'id',
3
+ 'name',
4
+ 'created_at',
5
+ 'updated_at',
6
+ 'system_updated_at',
7
+ 'external_id',
8
+ 'owner_role',
9
+ 'created_by',
10
+ 'last_modified_by',
11
+ ];
12
+ const STANDARD_TYPED_CONDITION_LOOKUP_FIELDS = new Set(['owner_role', 'created_by', 'last_modified_by']);
13
+ function isManifestRegistration(target) {
14
+ return typeof target === 'object' && target != null && 'definition' in target && 'object' in target;
15
+ }
16
+ function resolveTargetDefinition(target) {
17
+ return isManifestRegistration(target) ? target.definition : target;
18
+ }
19
+ function createFragment(text) {
20
+ return Object.freeze({ text });
21
+ }
22
+ function skipWhitespace(state) {
23
+ while (state.index < state.text.length && /\s/.test(state.text[state.index] ?? '')) {
24
+ state.index += 1;
25
+ }
26
+ }
27
+ function consumeCharacter(state, expected) {
28
+ skipWhitespace(state);
29
+ if (state.text[state.index] === expected) {
30
+ state.index += 1;
31
+ return true;
32
+ }
33
+ return false;
34
+ }
35
+ function expectCharacter(state, expected) {
36
+ if (!consumeCharacter(state, expected)) {
37
+ throw new Error(`Expected "${expected}" at index ${state.index}.`);
38
+ }
39
+ }
40
+ function consumeKeyword(state, keyword) {
41
+ skipWhitespace(state);
42
+ const candidate = state.text.slice(state.index, state.index + keyword.length);
43
+ if (candidate.toUpperCase() !== keyword)
44
+ return false;
45
+ const nextCharacter = state.text[state.index + keyword.length];
46
+ if (nextCharacter != null && /[A-Za-z0-9_]/.test(nextCharacter))
47
+ return false;
48
+ state.index += keyword.length;
49
+ return true;
50
+ }
51
+ function parseIdentifier(state) {
52
+ skipWhitespace(state);
53
+ const start = state.index;
54
+ while (state.index < state.text.length && /[A-Za-z0-9_]/.test(state.text[state.index] ?? '')) {
55
+ state.index += 1;
56
+ }
57
+ if (state.index === start) {
58
+ throw new Error(`Expected a field or function identifier at index ${state.index}.`);
59
+ }
60
+ return state.text.slice(start, state.index);
61
+ }
62
+ function parseStringLiteral(state) {
63
+ expectCharacter(state, "'");
64
+ let value = '';
65
+ while (state.index < state.text.length) {
66
+ const character = state.text[state.index];
67
+ if (character === undefined)
68
+ break;
69
+ state.index += 1;
70
+ if (character === "'") {
71
+ return { kind: 'string', value };
72
+ }
73
+ if (character === '\\') {
74
+ const escaped = state.text[state.index];
75
+ if (escaped == null) {
76
+ throw new Error('Unterminated escape sequence in manifest condition string literal.');
77
+ }
78
+ state.index += 1;
79
+ value += escaped;
80
+ continue;
81
+ }
82
+ value += character;
83
+ }
84
+ throw new Error('Unterminated manifest condition string literal.');
85
+ }
86
+ function parseNumberLiteral(state) {
87
+ skipWhitespace(state);
88
+ const start = state.index;
89
+ if (state.text[state.index] === '-') {
90
+ state.index += 1;
91
+ }
92
+ let sawDigit = false;
93
+ while (state.index < state.text.length && /[0-9]/.test(state.text[state.index] ?? '')) {
94
+ state.index += 1;
95
+ sawDigit = true;
96
+ }
97
+ if (state.text[state.index] === '.') {
98
+ state.index += 1;
99
+ while (state.index < state.text.length && /[0-9]/.test(state.text[state.index] ?? '')) {
100
+ state.index += 1;
101
+ sawDigit = true;
102
+ }
103
+ }
104
+ if (!sawDigit) {
105
+ throw new Error(`Expected a number literal at index ${start}.`);
106
+ }
107
+ const value = Number(state.text.slice(start, state.index));
108
+ if (!Number.isFinite(value)) {
109
+ throw new Error(`Manifest-condition numeric literals must be finite. Received ${state.text.slice(start, state.index)}.`);
110
+ }
111
+ return { kind: 'number', value };
112
+ }
113
+ function parseScalarLiteral(state) {
114
+ skipWhitespace(state);
115
+ const character = state.text[state.index];
116
+ if (character === "'")
117
+ return parseStringLiteral(state);
118
+ if (character === '-' || /[0-9]/.test(character ?? ''))
119
+ return parseNumberLiteral(state);
120
+ if (consumeKeyword(state, 'TRUE'))
121
+ return { kind: 'boolean', value: true };
122
+ if (consumeKeyword(state, 'FALSE'))
123
+ return { kind: 'boolean', value: false };
124
+ if (consumeKeyword(state, 'NULL'))
125
+ return { kind: 'null' };
126
+ if (consumeKeyword(state, 'TODAY')) {
127
+ expectCharacter(state, '(');
128
+ expectCharacter(state, ')');
129
+ return { kind: 'function', name: 'TODAY' };
130
+ }
131
+ throw new Error(`Expected a supported manifest-condition literal at index ${state.index}.`);
132
+ }
133
+ function parseArrayLiteral(state) {
134
+ expectCharacter(state, '[');
135
+ const values = [];
136
+ while (true) {
137
+ skipWhitespace(state);
138
+ if (consumeCharacter(state, ']')) {
139
+ return { kind: 'array', value: values };
140
+ }
141
+ const nextValue = parseScalarLiteral(state);
142
+ if (nextValue.kind === 'function') {
143
+ throw new Error('Manifest-condition arrays do not support TODAY().');
144
+ }
145
+ values.push(nextValue);
146
+ skipWhitespace(state);
147
+ if (consumeCharacter(state, ']')) {
148
+ return { kind: 'array', value: values };
149
+ }
150
+ expectCharacter(state, ',');
151
+ }
152
+ }
153
+ function parseLiteral(state) {
154
+ skipWhitespace(state);
155
+ if (state.text[state.index] === '[') {
156
+ return parseArrayLiteral(state);
157
+ }
158
+ return parseScalarLiteral(state);
159
+ }
160
+ function parseOperator(state) {
161
+ skipWhitespace(state);
162
+ for (const operator of ['NOT_IN', 'IN', '==', '!=', '<=', '>=', '<', '>']) {
163
+ if (state.text.slice(state.index, state.index + operator.length).toUpperCase() === operator) {
164
+ state.index += operator.length;
165
+ return operator;
166
+ }
167
+ }
168
+ throw new Error(`Expected a manifest-condition operator at index ${state.index}.`);
169
+ }
170
+ function parseComparison(state) {
171
+ const field = parseIdentifier(state);
172
+ const operator = parseOperator(state);
173
+ const value = parseLiteral(state);
174
+ return { kind: 'comparison', field, operator, value };
175
+ }
176
+ function parsePrimary(state) {
177
+ skipWhitespace(state);
178
+ if (consumeCharacter(state, '(')) {
179
+ const expression = parseOrExpression(state);
180
+ expectCharacter(state, ')');
181
+ return expression;
182
+ }
183
+ return parseComparison(state);
184
+ }
185
+ function parseNotExpression(state) {
186
+ skipWhitespace(state);
187
+ if (consumeKeyword(state, 'NOT')) {
188
+ return { kind: 'not', operand: parseNotExpression(state) };
189
+ }
190
+ return parsePrimary(state);
191
+ }
192
+ function parseAndExpression(state) {
193
+ const operands = [parseNotExpression(state)];
194
+ while (true) {
195
+ const checkpoint = state.index;
196
+ if (!consumeKeyword(state, 'AND')) {
197
+ state.index = checkpoint;
198
+ break;
199
+ }
200
+ operands.push(parseNotExpression(state));
201
+ }
202
+ return operands.length === 1 ? operands[0] : { kind: 'logical', operator: 'AND', operands };
203
+ }
204
+ function parseOrExpression(state) {
205
+ const operands = [parseAndExpression(state)];
206
+ while (true) {
207
+ const checkpoint = state.index;
208
+ if (!consumeKeyword(state, 'OR')) {
209
+ state.index = checkpoint;
210
+ break;
211
+ }
212
+ operands.push(parseAndExpression(state));
213
+ }
214
+ return operands.length === 1 ? operands[0] : { kind: 'logical', operator: 'OR', operands };
215
+ }
216
+ function parseTypedConditionExpression(text) {
217
+ const state = { text, index: 0 };
218
+ const expression = parseOrExpression(state);
219
+ skipWhitespace(state);
220
+ if (state.index !== state.text.length) {
221
+ throw new Error(`Unexpected trailing manifest-condition content starting at index ${state.index}: ${state.text.slice(state.index)}.`);
222
+ }
223
+ return expression;
224
+ }
225
+ function resolveRuntimeFieldMetadata(definition, fieldName) {
226
+ if (STANDARD_TYPED_CONDITION_FIELDS.includes(fieldName)) {
227
+ return {
228
+ apiName: fieldName,
229
+ category: STANDARD_TYPED_CONDITION_LOOKUP_FIELDS.has(fieldName) ? 'lookup' : 'string',
230
+ };
231
+ }
232
+ const field = definition.fields[fieldName];
233
+ if (field == null) {
234
+ throw new Error(`Unknown manifest-condition field "${fieldName}" for "${definition.apiName}". Valid fields: ${[
235
+ ...STANDARD_TYPED_CONDITION_FIELDS,
236
+ ...Object.keys(definition.fields).sort(),
237
+ ].join(', ')}.`);
238
+ }
239
+ switch (field.kind) {
240
+ case 'text':
241
+ case 'long-text':
242
+ case 'email':
243
+ case 'url':
244
+ case 'phone':
245
+ case 'date':
246
+ case 'datetime':
247
+ case 'time':
248
+ case 'select':
249
+ case 'radio':
250
+ case 'formula-text':
251
+ case 'formula-date':
252
+ case 'formula-url':
253
+ return { apiName: field.apiName, category: 'string' };
254
+ case 'number':
255
+ case 'currency':
256
+ case 'percentage':
257
+ case 'formula-number':
258
+ case 'formula-currency':
259
+ case 'formula-percentage':
260
+ return { apiName: field.apiName, category: 'number' };
261
+ case 'boolean':
262
+ case 'formula-boolean':
263
+ return { apiName: field.apiName, category: 'boolean' };
264
+ case 'lookup':
265
+ case 'parent-child':
266
+ return { apiName: field.apiName, category: 'lookup' };
267
+ default:
268
+ return { apiName: field.apiName, category: 'unsupported' };
269
+ }
270
+ }
271
+ function encodeConditionString(value) {
272
+ return `'${value.replace(/\\/g, '\\\\').replace(/'/g, "\\'")}'`;
273
+ }
274
+ function renderConditionLiteral(literal) {
275
+ switch (literal.kind) {
276
+ case 'string':
277
+ return encodeConditionString(literal.value);
278
+ case 'number':
279
+ return String(literal.value);
280
+ case 'boolean':
281
+ return literal.value ? 'True' : 'False';
282
+ case 'null':
283
+ return 'null';
284
+ case 'function':
285
+ return `${literal.name}()`;
286
+ case 'array':
287
+ return `[${literal.value.map((value) => renderConditionLiteral(value)).join(', ')}]`;
288
+ }
289
+ }
290
+ function describeExpectedLiteral(category) {
291
+ switch (category) {
292
+ case 'string':
293
+ return "a quoted string literal such as 'Ada' or TODAY()";
294
+ case 'number':
295
+ return 'a numeric literal such as 14';
296
+ case 'boolean':
297
+ return 'a boolean literal: True or False';
298
+ case 'lookup':
299
+ return "a quoted record-id string such as 'role_123'";
300
+ default:
301
+ return 'a supported literal value';
302
+ }
303
+ }
304
+ function describeLiteral(literal) {
305
+ switch (literal.kind) {
306
+ case 'string':
307
+ return `quoted string ${encodeConditionString(literal.value)}`;
308
+ case 'number':
309
+ return `number ${String(literal.value)}`;
310
+ case 'boolean':
311
+ return `boolean ${literal.value ? 'True' : 'False'}`;
312
+ case 'null':
313
+ return 'null';
314
+ case 'function':
315
+ return `${literal.name}()`;
316
+ case 'array':
317
+ return `array ${renderConditionLiteral(literal)}`;
318
+ }
319
+ }
320
+ function assertLiteralMatchesCategory(fieldName, category, operator, literal) {
321
+ if (category === 'unsupported') {
322
+ throw new Error('typedCondition(...) does not yet support this field kind in parsed-string mode.');
323
+ }
324
+ if (operator === 'IN' || operator === 'NOT_IN') {
325
+ if (literal.kind !== 'array') {
326
+ throw new Error(`Manifest-condition field "${fieldName}" with operator "${operator}" requires an array literal such as ['value']; received ${describeLiteral(literal)}.`);
327
+ }
328
+ if (literal.value.length === 0) {
329
+ throw new Error(`Manifest-condition field "${fieldName}" with operator "${operator}" requires a non-empty array literal such as ['value'].`);
330
+ }
331
+ for (const value of literal.value) {
332
+ assertLiteralMatchesCategory(fieldName, category, '==', value);
333
+ }
334
+ return;
335
+ }
336
+ if (literal.kind === 'null') {
337
+ if (operator === '<' || operator === '<=' || operator === '>' || operator === '>=') {
338
+ throw new Error(`Manifest-condition field "${fieldName}" with operator "${operator}" does not allow null. Use a concrete ${describeExpectedLiteral(category)}.`);
339
+ }
340
+ return;
341
+ }
342
+ if (literal.kind === 'function') {
343
+ if (literal.name !== 'TODAY' || category !== 'string') {
344
+ throw new Error(`Manifest-condition field "${fieldName}" with operator "${operator}" does not support ${describeLiteral(literal)}.`);
345
+ }
346
+ return;
347
+ }
348
+ if ((operator === '<' || operator === '<=' || operator === '>' || operator === '>=') &&
349
+ !(category === 'string' || category === 'number')) {
350
+ throw new Error(`Manifest-condition field "${fieldName}" uses operator "${operator}", which is only valid for string or number fields; this field expects ${describeExpectedLiteral(category)}.`);
351
+ }
352
+ switch (category) {
353
+ case 'string':
354
+ if (literal.kind !== 'string') {
355
+ throw new Error(`Manifest-condition field "${fieldName}" with operator "${operator}" expects ${describeExpectedLiteral(category)}; received ${describeLiteral(literal)}.`);
356
+ }
357
+ return;
358
+ case 'number':
359
+ if (literal.kind !== 'number') {
360
+ throw new Error(`Manifest-condition field "${fieldName}" with operator "${operator}" expects ${describeExpectedLiteral(category)}; received ${describeLiteral(literal)}.`);
361
+ }
362
+ return;
363
+ case 'boolean':
364
+ if (literal.kind !== 'boolean') {
365
+ throw new Error(`Manifest-condition field "${fieldName}" with operator "${operator}" expects ${describeExpectedLiteral(category)}; received ${describeLiteral(literal)}.`);
366
+ }
367
+ return;
368
+ case 'lookup':
369
+ if (literal.kind !== 'string') {
370
+ throw new Error(`Manifest-condition field "${fieldName}" with operator "${operator}" expects ${describeExpectedLiteral(category)}; received ${describeLiteral(literal)}.`);
371
+ }
372
+ return;
373
+ default:
374
+ return;
375
+ }
376
+ }
377
+ function validateTypedConditionAst(definition, node) {
378
+ switch (node.kind) {
379
+ case 'logical':
380
+ for (const operand of node.operands)
381
+ validateTypedConditionAst(definition, operand);
382
+ return;
383
+ case 'not':
384
+ validateTypedConditionAst(definition, node.operand);
385
+ return;
386
+ case 'comparison': {
387
+ const metadata = resolveRuntimeFieldMetadata(definition, node.field);
388
+ assertLiteralMatchesCategory(node.field, metadata.category, node.operator, node.value);
389
+ return;
390
+ }
391
+ }
392
+ }
393
+ function renderTypedConditionAst(definition, node) {
394
+ switch (node.kind) {
395
+ case 'logical':
396
+ return `(${node.operands
397
+ .map((operand) => renderTypedConditionAst(definition, operand))
398
+ .join(` ${node.operator} `)})`;
399
+ case 'not':
400
+ return `(NOT ${renderTypedConditionAst(definition, node.operand)})`;
401
+ case 'comparison': {
402
+ const metadata = resolveRuntimeFieldMetadata(definition, node.field);
403
+ return `(${metadata.apiName} ${node.operator} ${renderConditionLiteral(node.value)})`;
404
+ }
405
+ }
406
+ }
407
+ /**
408
+ * Parses one constrained logical-name manifest-condition string, validates it against the typed custom-object definition,
409
+ * and renders a backend-ready manifest condition that uses wire-level field API names.
410
+ *
411
+ * Supported parsed-string manifest-condition contract:
412
+ * - standard record fields and local custom-object fields
413
+ * - `==`, `!=`, `<`, `<=`, `>`, `>=`, `IN`, `NOT_IN`
414
+ * - `AND`, `OR`, `NOT`
415
+ * - parentheses / grouping
416
+ * - string / number / boolean / null / array literals
417
+ * - `TODAY()`
418
+ *
419
+ * @param target - Object definition or manifest registration whose logical field names should be enforced.
420
+ * @param expression - Constrained logical-name manifest-condition source string to parse and render.
421
+ * @returns Opaque manifest-condition fragment that can be passed anywhere typed manifest helpers accept conditions.
422
+ * @typeParam TDefinition - Object definition whose field names and value categories should be enforced.
423
+ * @typeParam TExpression - Candidate manifest-condition expression string.
424
+ */
425
+ export function typedCondition(target, expression) {
426
+ const definition = resolveTargetDefinition(target);
427
+ const ast = parseTypedConditionExpression(expression);
428
+ validateTypedConditionAst(definition, ast);
429
+ return createFragment(renderTypedConditionAst(definition, ast));
430
+ }
431
+ //# sourceMappingURL=typed-condition.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"typed-condition.mjs","sourceRoot":"","sources":["../../../../src/core/platform/manifest/custom-objects/typed-condition.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,29 @@
1
+ import type { Category, CustomObject, CustomObjectFieldSection, BooleanField, CurrencyField, DateField, DatetimeField, EmailField, FileField, FormulaField, LongTextField, LookupField, NumberField, ParentChildField, PercentageField, PhoneField, RadioField, SelectField, TextField, TimeField, UrlField } from "../../../../lib/manifest.mjs";
2
+ import type { AnyCustomObjectDefinition, BooleanFieldDefinition, CurrencyFieldDefinition, DateFieldDefinition, DatetimeFieldDefinition, EmailFieldDefinition, FieldNames, FileFieldDefinition, FormulaFieldDefinition, LongTextFieldDefinition, LookupFieldDefinition, NumberFieldDefinition, ParentChildFieldDefinition, PercentageFieldDefinition, PhoneFieldDefinition, RadioFieldDefinition, SelectFieldDefinition, TextFieldDefinition, TimeFieldDefinition, UrlFieldDefinition } from "../../custom-objects/types.mjs";
3
+ /**
4
+ * Runtime compilation result for the typed custom-object manifest adapter.
5
+ *
6
+ * The return type preserves both logical field keys and concrete manifest field
7
+ * classes so authors can continue using the existing manifest APIs while the
8
+ * typed schema layer owns wire-level naming details.
9
+ *
10
+ * @typeParam TDefinition - Object definition that was materialized into manifest classes.
11
+ */
12
+ export interface ManifestRegistration<TDefinition extends AnyCustomObjectDefinition> {
13
+ readonly definition: TDefinition;
14
+ readonly category: Category;
15
+ readonly object: CustomObject;
16
+ readonly sections: {
17
+ readonly [K in Extract<keyof TDefinition['sections'], string>]: CustomObjectFieldSection;
18
+ };
19
+ readonly fields: {
20
+ readonly [K in FieldNames<TDefinition>]: ManifestFieldForDefinition<TDefinition['fields'][K]>;
21
+ };
22
+ }
23
+ /**
24
+ * Maps a typed field definition to the concrete manifest field class it compiles into.
25
+ *
26
+ * @typeParam TField - Field definition that should be translated into a manifest class.
27
+ */
28
+ export type ManifestFieldForDefinition<TField> = TField extends TextFieldDefinition<any, any> ? TextField : TField extends LongTextFieldDefinition<any, any> ? LongTextField : TField extends EmailFieldDefinition<any, any> ? EmailField : TField extends UrlFieldDefinition<any, any> ? UrlField : TField extends PhoneFieldDefinition<any, any> ? PhoneField : TField extends NumberFieldDefinition<any, any> ? NumberField : TField extends CurrencyFieldDefinition<any, any> ? CurrencyField : TField extends PercentageFieldDefinition<any, any> ? PercentageField : TField extends DateFieldDefinition<any, any> ? DateField : TField extends DatetimeFieldDefinition<any, any> ? DatetimeField : TField extends TimeFieldDefinition<any, any> ? TimeField : TField extends SelectFieldDefinition<any, any> ? SelectField : TField extends RadioFieldDefinition<any, any> ? RadioField : TField extends BooleanFieldDefinition<any, any> ? BooleanField : TField extends FileFieldDefinition<any, any> ? FileField : TField extends LookupFieldDefinition<any, any, any> ? LookupField : TField extends ParentChildFieldDefinition<any, any> ? ParentChildField : TField extends FormulaFieldDefinition<any, any, any> ? FormulaField : never;
29
+ //# sourceMappingURL=types.d.mts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.d.mts","sourceRoot":"","sources":["../../../../src/core/platform/manifest/custom-objects/types.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,29 @@
1
+ import type { Category, CustomObject, CustomObjectFieldSection, BooleanField, CurrencyField, DateField, DatetimeField, EmailField, FileField, FormulaField, LongTextField, LookupField, NumberField, ParentChildField, PercentageField, PhoneField, RadioField, SelectField, TextField, TimeField, UrlField } from "../../../../lib/manifest.js";
2
+ import type { AnyCustomObjectDefinition, BooleanFieldDefinition, CurrencyFieldDefinition, DateFieldDefinition, DatetimeFieldDefinition, EmailFieldDefinition, FieldNames, FileFieldDefinition, FormulaFieldDefinition, LongTextFieldDefinition, LookupFieldDefinition, NumberFieldDefinition, ParentChildFieldDefinition, PercentageFieldDefinition, PhoneFieldDefinition, RadioFieldDefinition, SelectFieldDefinition, TextFieldDefinition, TimeFieldDefinition, UrlFieldDefinition } from "../../custom-objects/types.js";
3
+ /**
4
+ * Runtime compilation result for the typed custom-object manifest adapter.
5
+ *
6
+ * The return type preserves both logical field keys and concrete manifest field
7
+ * classes so authors can continue using the existing manifest APIs while the
8
+ * typed schema layer owns wire-level naming details.
9
+ *
10
+ * @typeParam TDefinition - Object definition that was materialized into manifest classes.
11
+ */
12
+ export interface ManifestRegistration<TDefinition extends AnyCustomObjectDefinition> {
13
+ readonly definition: TDefinition;
14
+ readonly category: Category;
15
+ readonly object: CustomObject;
16
+ readonly sections: {
17
+ readonly [K in Extract<keyof TDefinition['sections'], string>]: CustomObjectFieldSection;
18
+ };
19
+ readonly fields: {
20
+ readonly [K in FieldNames<TDefinition>]: ManifestFieldForDefinition<TDefinition['fields'][K]>;
21
+ };
22
+ }
23
+ /**
24
+ * Maps a typed field definition to the concrete manifest field class it compiles into.
25
+ *
26
+ * @typeParam TField - Field definition that should be translated into a manifest class.
27
+ */
28
+ export type ManifestFieldForDefinition<TField> = TField extends TextFieldDefinition<any, any> ? TextField : TField extends LongTextFieldDefinition<any, any> ? LongTextField : TField extends EmailFieldDefinition<any, any> ? EmailField : TField extends UrlFieldDefinition<any, any> ? UrlField : TField extends PhoneFieldDefinition<any, any> ? PhoneField : TField extends NumberFieldDefinition<any, any> ? NumberField : TField extends CurrencyFieldDefinition<any, any> ? CurrencyField : TField extends PercentageFieldDefinition<any, any> ? PercentageField : TField extends DateFieldDefinition<any, any> ? DateField : TField extends DatetimeFieldDefinition<any, any> ? DatetimeField : TField extends TimeFieldDefinition<any, any> ? TimeField : TField extends SelectFieldDefinition<any, any> ? SelectField : TField extends RadioFieldDefinition<any, any> ? RadioField : TField extends BooleanFieldDefinition<any, any> ? BooleanField : TField extends FileFieldDefinition<any, any> ? FileField : TField extends LookupFieldDefinition<any, any, any> ? LookupField : TField extends ParentChildFieldDefinition<any, any> ? ParentChildField : TField extends FormulaFieldDefinition<any, any, any> ? FormulaField : never;
29
+ //# sourceMappingURL=types.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../../src/core/platform/manifest/custom-objects/types.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,3 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ //# sourceMappingURL=types.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../../../../src/core/platform/manifest/custom-objects/types.ts"],"names":[],"mappings":""}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=types.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.mjs","sourceRoot":"","sources":["../../../../src/core/platform/manifest/custom-objects/types.ts"],"names":[],"mappings":""}
@@ -0,0 +1,44 @@
1
+ import { Validation, type ValidationProps } from "../../../../lib/manifest.mjs";
2
+ import type { AnyCustomObjectDefinition } from "../../custom-objects/types.mjs";
3
+ import type { TypedManifestFieldInput } from "./field-resolution.mjs";
4
+ import type { ManifestRegistration } from "./types.mjs";
5
+ import type { ManifestConditionInput } from "./conditions.mjs";
6
+ /**
7
+ * Initialization properties for {@link defineTypedValidation}.
8
+ *
9
+ * @typeParam TDefinition - Typed custom-object definition whose field namespace should be enforced.
10
+ */
11
+ type TypedValidationBaseProps<TDefinition extends AnyCustomObjectDefinition> = Omit<ValidationProps, 'rqlFormula' | 'fieldRef' | 'level'> & {
12
+ /** Manifest condition/formula that returns `true` when the record is invalid. */
13
+ readonly whenInvalid: ManifestConditionInput<TDefinition>;
14
+ };
15
+ /**
16
+ * Initialization properties for {@link defineTypedValidation}.
17
+ *
18
+ * `level` and `field` intentionally form a discriminated union so field-scoped
19
+ * validations must provide a typed field target and record-scoped validations
20
+ * must omit it.
21
+ *
22
+ * @typeParam TDefinition - Typed custom-object definition whose field namespace should be enforced.
23
+ */
24
+ export type TypedValidationProps<TDefinition extends AnyCustomObjectDefinition> = (TypedValidationBaseProps<TDefinition> & {
25
+ readonly level: 'FIELD';
26
+ /** Field that should receive the validation error when `level` is `'FIELD'`. */
27
+ readonly field: TypedManifestFieldInput<TDefinition>;
28
+ }) | (TypedValidationBaseProps<TDefinition> & {
29
+ readonly level: 'RECORD';
30
+ /** Field targets are not allowed for record-level validations. */
31
+ readonly field?: never;
32
+ });
33
+ /**
34
+ * Defines a validation rule using typed field names and manifest-condition fragments.
35
+ *
36
+ * @param registration - Manifest registration produced from the typed object definition.
37
+ * @param props - Typed validation properties.
38
+ * @returns Low-level validation manifest instance.
39
+ * @throws {Error} When `level` is `'FIELD'` but no `field` is provided, or when `field` is provided for a record-level validation.
40
+ * @typeParam TDefinition - Typed custom-object definition whose field namespace should be enforced.
41
+ */
42
+ export declare function defineTypedValidation<TDefinition extends AnyCustomObjectDefinition>(registration: ManifestRegistration<TDefinition>, props: TypedValidationProps<TDefinition>): Validation;
43
+ export {};
44
+ //# sourceMappingURL=validation.d.mts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"validation.d.mts","sourceRoot":"","sources":["../../../../src/core/platform/manifest/custom-objects/validation.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,KAAK,eAAe,EAAE,qCAAiC;AAC5E,OAAO,KAAK,EAAE,yBAAyB,EAAE,uCAAmC;AAC5E,OAAO,KAAK,EAAE,uBAAuB,EAAE,+BAA2B;AAElE,OAAO,KAAK,EAAE,oBAAoB,EAAE,oBAAgB;AACpD,OAAO,KAAK,EAAE,sBAAsB,EAAE,yBAAqB;AAG3D;;;;GAIG;AACH,KAAK,wBAAwB,CAAC,WAAW,SAAS,yBAAyB,IAAI,IAAI,CACjF,eAAe,EACf,YAAY,GAAG,UAAU,GAAG,OAAO,CACpC,GAAG;IACF,iFAAiF;IACjF,QAAQ,CAAC,WAAW,EAAE,sBAAsB,CAAC,WAAW,CAAC,CAAC;CAC3D,CAAC;AAEF;;;;;;;;GAQG;AACH,MAAM,MAAM,oBAAoB,CAAC,WAAW,SAAS,yBAAyB,IAC1E,CAAC,wBAAwB,CAAC,WAAW,CAAC,GAAG;IACvC,QAAQ,CAAC,KAAK,EAAE,OAAO,CAAC;IACxB,gFAAgF;IAChF,QAAQ,CAAC,KAAK,EAAE,uBAAuB,CAAC,WAAW,CAAC,CAAC;CACtD,CAAC,GACF,CAAC,wBAAwB,CAAC,WAAW,CAAC,GAAG;IACvC,QAAQ,CAAC,KAAK,EAAE,QAAQ,CAAC;IACzB,kEAAkE;IAClE,QAAQ,CAAC,KAAK,CAAC,EAAE,KAAK,CAAC;CACxB,CAAC,CAAC;AAEP;;;;;;;;GAQG;AACH,wBAAgB,qBAAqB,CAAC,WAAW,SAAS,yBAAyB,EACjF,YAAY,EAAE,oBAAoB,CAAC,WAAW,CAAC,EAC/C,KAAK,EAAE,oBAAoB,CAAC,WAAW,CAAC,GACvC,UAAU,CAeZ"}
@@ -0,0 +1,44 @@
1
+ import { Validation, type ValidationProps } from "../../../../lib/manifest.js";
2
+ import type { AnyCustomObjectDefinition } from "../../custom-objects/types.js";
3
+ import type { TypedManifestFieldInput } from "./field-resolution.js";
4
+ import type { ManifestRegistration } from "./types.js";
5
+ import type { ManifestConditionInput } from "./conditions.js";
6
+ /**
7
+ * Initialization properties for {@link defineTypedValidation}.
8
+ *
9
+ * @typeParam TDefinition - Typed custom-object definition whose field namespace should be enforced.
10
+ */
11
+ type TypedValidationBaseProps<TDefinition extends AnyCustomObjectDefinition> = Omit<ValidationProps, 'rqlFormula' | 'fieldRef' | 'level'> & {
12
+ /** Manifest condition/formula that returns `true` when the record is invalid. */
13
+ readonly whenInvalid: ManifestConditionInput<TDefinition>;
14
+ };
15
+ /**
16
+ * Initialization properties for {@link defineTypedValidation}.
17
+ *
18
+ * `level` and `field` intentionally form a discriminated union so field-scoped
19
+ * validations must provide a typed field target and record-scoped validations
20
+ * must omit it.
21
+ *
22
+ * @typeParam TDefinition - Typed custom-object definition whose field namespace should be enforced.
23
+ */
24
+ export type TypedValidationProps<TDefinition extends AnyCustomObjectDefinition> = (TypedValidationBaseProps<TDefinition> & {
25
+ readonly level: 'FIELD';
26
+ /** Field that should receive the validation error when `level` is `'FIELD'`. */
27
+ readonly field: TypedManifestFieldInput<TDefinition>;
28
+ }) | (TypedValidationBaseProps<TDefinition> & {
29
+ readonly level: 'RECORD';
30
+ /** Field targets are not allowed for record-level validations. */
31
+ readonly field?: never;
32
+ });
33
+ /**
34
+ * Defines a validation rule using typed field names and manifest-condition fragments.
35
+ *
36
+ * @param registration - Manifest registration produced from the typed object definition.
37
+ * @param props - Typed validation properties.
38
+ * @returns Low-level validation manifest instance.
39
+ * @throws {Error} When `level` is `'FIELD'` but no `field` is provided, or when `field` is provided for a record-level validation.
40
+ * @typeParam TDefinition - Typed custom-object definition whose field namespace should be enforced.
41
+ */
42
+ export declare function defineTypedValidation<TDefinition extends AnyCustomObjectDefinition>(registration: ManifestRegistration<TDefinition>, props: TypedValidationProps<TDefinition>): Validation;
43
+ export {};
44
+ //# sourceMappingURL=validation.d.ts.map