@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
@@ -12,26 +12,23 @@
12
12
  * > examples/manifest/field-service-dispatch/manifest.json
13
13
  */
14
14
 
15
+ import { toCustomCategoryApiName } from '@rippling/rippling-sdk/core/platform/custom-objects';
15
16
  import {
16
- Category,
17
- CustomObject,
18
- CustomObjectFieldSection,
19
- CustomObjectPageLayout,
20
- DateField,
21
- DatetimeField,
22
- FormulaField,
23
- ListViewDef,
24
- LongTextField,
25
- LookupField,
26
- ManifestBuilder,
27
- NumberField,
28
- ParentChildField,
29
- Rule,
30
- RadioField,
31
- SummaryField,
32
- TextField,
33
- Validation,
34
- } from '@rippling/rippling-sdk/lib/manifest';
17
+ defineBasicTypedPageLayout,
18
+ defineTypedListView,
19
+ defineTypedRule,
20
+ defineTypedValidation,
21
+ registerManifestCustomObjects,
22
+ } from '@rippling/rippling-sdk/core/platform/manifest/custom-objects';
23
+ import { Category, ManifestBuilder, SummaryField } from '@rippling/rippling-sdk/lib/manifest';
24
+ import {
25
+ assetDefinition,
26
+ FIELD_SERVICE_CATEGORY,
27
+ partUsageDefinition,
28
+ siteDefinition,
29
+ taskDefinition,
30
+ workOrderDefinition,
31
+ } from './schema';
35
32
 
36
33
  const manifest = new ManifestBuilder({
37
34
  key: 'field_service_dispatch',
@@ -40,491 +37,221 @@ const manifest = new ManifestBuilder({
40
37
  });
41
38
 
42
39
  const category = new Category(manifest, {
43
- apiName: 'field_service__c',
40
+ apiName: toCustomCategoryApiName(FIELD_SERVICE_CATEGORY),
44
41
  name: 'Field service',
45
42
  description: 'Service operations and dispatch records',
46
43
  });
47
44
 
48
- const siteObj = new CustomObject(manifest, {
49
- apiName: 'fs_customer_site__c',
50
- name: 'Customer site',
51
- pluralLabel: 'Customer sites',
52
- category,
53
- description: 'Customer location with service tier and access notes',
54
- });
55
-
56
- const siteSection = new CustomObjectFieldSection(siteObj, {
57
- name: 'Site',
58
- sectionId: 'sec_fs_site',
59
- });
60
-
61
- const siteAccountField = new TextField(siteObj, {
62
- apiName: 'account_name__c',
63
- displayName: 'Account name',
64
- description: 'Customer account or property group',
65
- required: true,
66
- maxLength: 160,
67
- section: siteSection,
68
- });
69
-
70
- const siteAddressField = new LongTextField(siteObj, {
71
- apiName: 'service_address__c',
72
- displayName: 'Service address',
73
- description: 'Address, gate code, and arrival instructions',
74
- maxLength: 3000,
75
- section: siteSection,
76
- });
77
-
78
- const siteTierField = new RadioField(siteObj, {
79
- apiName: 'service_tier__c',
80
- displayName: 'Service tier',
81
- description: 'SLA tier for dispatch prioritization',
82
- options: ['Standard', 'Premium', 'Critical 24x7'],
83
- required: true,
84
- section: siteSection,
85
- });
86
-
87
- const assetObj = new CustomObject(manifest, {
88
- apiName: 'fs_asset__c',
89
- name: 'Asset',
90
- pluralLabel: 'Assets',
45
+ const [site, asset, workOrder, task, partUsage] = registerManifestCustomObjects(manifest, {
91
46
  category,
92
- description: 'Installed equipment maintained at a customer site',
93
- });
94
-
95
- const assetSection = new CustomObjectFieldSection(assetObj, {
96
- name: 'Asset',
97
- sectionId: 'sec_fs_asset',
98
- });
99
-
100
- const assetSiteRef = new ParentChildField(assetObj, {
101
- apiName: 'customer_site_ref__c',
102
- displayName: 'Customer site',
103
- target: siteObj,
104
- relatedDataLabel: 'Assets',
105
- parentChildType: 'PRIMARY',
106
- enableParentOwnerInheritance: false,
107
- description: 'Site where this asset is installed',
108
- section: assetSection,
109
- });
110
-
111
- const assetSerialField = new TextField(assetObj, {
112
- apiName: 'serial_number__c',
113
- displayName: 'Serial number',
114
- description: 'Manufacturer serial number',
115
- maxLength: 80,
116
- section: assetSection,
117
- });
118
-
119
- const assetTypeField = new RadioField(assetObj, {
120
- apiName: 'asset_type__c',
121
- displayName: 'Asset type',
122
- description: 'Equipment category',
123
- options: ['HVAC', 'Generator', 'Security', 'Network', 'Kitchen equipment', 'Other'],
124
- required: true,
125
- section: assetSection,
126
- });
127
-
128
- const assetWarrantyEndField = new DateField(assetObj, {
129
- apiName: 'warranty_end__c',
130
- displayName: 'Warranty end',
131
- description: 'Warranty expiration date',
132
- section: assetSection,
133
- });
134
-
135
- const workOrderObj = new CustomObject(manifest, {
136
- apiName: 'fs_work_order__c',
137
- name: 'Work order',
138
- pluralLabel: 'Work orders',
139
- category,
140
- description: 'Dispatch job with schedule, priority, and status',
141
- });
142
-
143
- const workOrderSection = new CustomObjectFieldSection(workOrderObj, {
144
- name: 'Work order',
145
- sectionId: 'sec_fs_work_order',
146
- });
147
-
148
- const workOrderSiteRef = new ParentChildField(workOrderObj, {
149
- apiName: 'customer_site_ref__c',
150
- displayName: 'Customer site',
151
- target: siteObj,
152
- relatedDataLabel: 'Work orders',
153
- parentChildType: 'PRIMARY',
154
- enableParentOwnerInheritance: false,
155
- description: 'Site receiving service',
156
- section: workOrderSection,
157
- });
158
-
159
- const workOrderAssetRef = new LookupField(workOrderObj, {
160
- apiName: 'asset_ref__c',
161
- displayName: 'Asset',
162
- target: assetObj,
163
- relatedDataLabel: 'Work orders',
164
- description: 'Optional installed asset being serviced',
165
- section: workOrderSection,
166
- });
167
-
168
- const workOrderPriorityField = new RadioField(workOrderObj, {
169
- apiName: 'priority__c',
170
- displayName: 'Priority',
171
- description: 'Dispatch priority',
172
- options: ['Low', 'Normal', 'High', 'Emergency'],
173
- required: true,
174
- section: workOrderSection,
175
- });
176
-
177
- const workOrderStatusField = new RadioField(workOrderObj, {
178
- apiName: 'status__c',
179
- displayName: 'Status',
180
- description: 'Current dispatch status',
181
- options: ['New', 'Scheduled', 'In progress', 'Blocked', 'Complete', 'Cancelled'],
182
- required: true,
183
- section: workOrderSection,
184
- });
185
-
186
- const workOrderScheduledStartField = new DatetimeField(workOrderObj, {
187
- apiName: 'scheduled_start__c',
188
- displayName: 'Scheduled start',
189
- description: 'Planned arrival window start',
190
- section: workOrderSection,
191
- });
192
-
193
- const workOrderScheduledEndField = new DatetimeField(workOrderObj, {
194
- apiName: 'scheduled_end__c',
195
- displayName: 'Scheduled end',
196
- description: 'Planned arrival window end',
197
- section: workOrderSection,
47
+ definitions: [
48
+ siteDefinition,
49
+ assetDefinition,
50
+ workOrderDefinition,
51
+ taskDefinition,
52
+ partUsageDefinition,
53
+ ] as const,
198
54
  });
199
55
 
200
- const workOrderSummaryField = new LongTextField(workOrderObj, {
201
- apiName: 'problem_summary__c',
202
- displayName: 'Problem summary',
203
- description: 'Customer-reported issue and triage notes',
204
- maxLength: 6000,
205
- section: workOrderSection,
206
- });
207
-
208
- const taskObj = new CustomObject(manifest, {
209
- apiName: 'fs_task__c',
210
- name: 'Task',
211
- pluralLabel: 'Tasks',
212
- category,
213
- description: 'Work order task with labor estimate and completion state',
214
- });
215
-
216
- const taskSection = new CustomObjectFieldSection(taskObj, {
217
- name: 'Task',
218
- sectionId: 'sec_fs_task',
219
- });
220
-
221
- const taskWorkOrderRef = new ParentChildField(taskObj, {
222
- apiName: 'work_order_ref__c',
223
- displayName: 'Work order',
224
- target: workOrderObj,
225
- relatedDataLabel: 'Tasks',
226
- parentChildType: 'PRIMARY',
227
- enableParentOwnerInheritance: true,
228
- description: 'Work order this task belongs to',
229
- section: taskSection,
230
- });
231
-
232
- const taskTypeField = new RadioField(taskObj, {
233
- apiName: 'task_type__c',
234
- displayName: 'Task type',
235
- description: 'Type of work required',
236
- options: ['Inspect', 'Repair', 'Replace', 'Calibrate', 'Clean', 'Customer walkthrough'],
237
- required: true,
238
- section: taskSection,
239
- });
240
-
241
- const taskStatusField = new RadioField(taskObj, {
242
- apiName: 'status__c',
243
- displayName: 'Status',
244
- description: 'Task status',
245
- options: ['Open', 'In progress', 'Blocked', 'Done'],
246
- required: true,
247
- section: taskSection,
248
- });
249
-
250
- const taskEstimatedHoursField = new NumberField(taskObj, {
251
- apiName: 'estimated_hours__c',
252
- displayName: 'Estimated hours',
253
- description: 'Labor estimate for this task',
254
- decimalPlaces: 2,
255
- section: taskSection,
256
- });
257
-
258
- const taskCompletedAtField = new DatetimeField(taskObj, {
259
- apiName: 'completed_at__c',
260
- displayName: 'Completed at',
261
- description: 'Completion timestamp',
262
- section: taskSection,
263
- });
264
-
265
- const partUsageObj = new CustomObject(manifest, {
266
- apiName: 'fs_part_usage__c',
267
- name: 'Part usage',
268
- pluralLabel: 'Part usage',
269
- category,
270
- description: 'Part consumed while completing a task',
271
- });
272
-
273
- const partUsageSection = new CustomObjectFieldSection(partUsageObj, {
274
- name: 'Part usage',
275
- sectionId: 'sec_fs_part_usage',
276
- });
277
-
278
- const partTaskRef = new ParentChildField(partUsageObj, {
279
- apiName: 'task_ref__c',
280
- displayName: 'Task',
281
- target: taskObj,
282
- relatedDataLabel: 'Parts used',
283
- parentChildType: 'PRIMARY',
284
- enableParentOwnerInheritance: true,
285
- description: 'Task that consumed this part',
286
- section: partUsageSection,
287
- });
288
-
289
- const partSkuField = new TextField(partUsageObj, {
290
- apiName: 'sku__c',
291
- displayName: 'SKU',
292
- description: 'Inventory SKU or part number',
293
- maxLength: 80,
294
- required: true,
295
- section: partUsageSection,
296
- });
297
-
298
- const partQuantityField = new NumberField(partUsageObj, {
299
- apiName: 'quantity__c',
300
- displayName: 'Quantity',
301
- description: 'Quantity consumed',
302
- decimalPlaces: 2,
303
- required: true,
304
- section: partUsageSection,
305
- });
306
-
307
- const partCostCentsField = new NumberField(partUsageObj, {
308
- apiName: 'unit_cost_cents__c',
309
- displayName: 'Unit cost (cents)',
310
- description: 'Unit material cost in cents',
311
- decimalPlaces: 0,
312
- section: partUsageSection,
313
- });
314
-
315
- const assetCountOnSite = new SummaryField(siteObj, {
56
+ const assetCountOnSite = new SummaryField(site.object, {
316
57
  apiName: 'asset_count__c',
317
58
  displayName: 'Assets',
318
- aggregates: assetSerialField,
59
+ aggregates: asset.fields.serial_number,
319
60
  using: 'COUNT',
320
- lookup: assetSiteRef,
61
+ lookup: asset.fields.customer_site_ref,
321
62
  description: 'Installed asset count',
322
- section: siteSection,
63
+ section: site.sections.site,
323
64
  });
324
65
 
325
- const workOrderCountOnSite = new SummaryField(siteObj, {
66
+ const workOrderCountOnSite = new SummaryField(site.object, {
326
67
  apiName: 'work_order_count__c',
327
68
  displayName: 'Work orders',
328
- aggregates: workOrderStatusField,
69
+ aggregates: workOrder.fields.status,
329
70
  using: 'COUNT',
330
- lookup: workOrderSiteRef,
71
+ lookup: workOrder.fields.customer_site_ref,
331
72
  description: 'Work orders associated with this site',
332
- section: siteSection,
73
+ section: site.sections.site,
333
74
  });
334
75
 
335
- const taskCountOnWorkOrder = new SummaryField(workOrderObj, {
76
+ const taskCountOnWorkOrder = new SummaryField(workOrder.object, {
336
77
  apiName: 'task_count__c',
337
78
  displayName: 'Tasks',
338
- aggregates: taskTypeField,
79
+ aggregates: task.fields.task_type,
339
80
  using: 'COUNT',
340
- lookup: taskWorkOrderRef,
81
+ lookup: task.fields.work_order_ref,
341
82
  description: 'Task count on this work order',
342
- section: workOrderSection,
83
+ section: workOrder.sections.work_order,
343
84
  });
344
85
 
345
- const estimatedHoursOnWorkOrder = new SummaryField(workOrderObj, {
86
+ const estimatedHoursOnWorkOrder = new SummaryField(workOrder.object, {
346
87
  apiName: 'estimated_hours_total__c',
347
88
  displayName: 'Estimated hours total',
348
- aggregates: taskEstimatedHoursField,
89
+ aggregates: task.fields.estimated_hours,
349
90
  using: 'SUM',
350
- lookup: taskWorkOrderRef,
91
+ lookup: task.fields.work_order_ref,
351
92
  description: 'Total estimated labor hours',
352
- section: workOrderSection,
93
+ section: workOrder.sections.work_order,
353
94
  });
354
95
 
355
- const partsCountOnTask = new SummaryField(taskObj, {
96
+ const partsCountOnTask = new SummaryField(task.object, {
356
97
  apiName: 'parts_count__c',
357
98
  displayName: 'Parts lines',
358
- aggregates: partSkuField,
99
+ aggregates: partUsage.fields.sku,
359
100
  using: 'COUNT',
360
- lookup: partTaskRef,
101
+ lookup: partUsage.fields.task_ref,
361
102
  description: 'Number of part usage lines',
362
- section: taskSection,
363
- });
364
-
365
- const workOrderLabelField = new FormulaField(workOrderObj, {
366
- apiName: 'dispatch_label__c',
367
- displayName: 'Dispatch label',
368
- description: 'Compact board label',
369
- fieldType: 'TEXT',
370
- maxLength: 240,
371
- formula: "CONCATENATE(priority__c, ' - ', status__c)",
372
- section: workOrderSection,
103
+ section: task.sections.task,
373
104
  });
374
105
 
375
- new Validation(workOrderObj, {
106
+ // ── Validations & defaults ────────────────────────────────────────────────
107
+ defineTypedValidation(workOrder, {
376
108
  ruleId: 'fs_work_order_window_valid',
377
109
  displayName: 'Scheduled end must be after start',
378
- rqlFormula: '(scheduled_end__c <= scheduled_start__c)',
110
+ whenInvalid: (c) => c.lte(c.fields.scheduled_end, c.fields.scheduled_start),
379
111
  errorMessage: 'Scheduled end must be after scheduled start.',
380
112
  ruleDescription: 'Prevents inverted dispatch windows',
381
113
  state: 'ACTIVE',
382
114
  level: 'FIELD',
383
- fieldRef: workOrderScheduledEndField,
115
+ field: 'scheduled_end',
384
116
  });
385
117
 
386
- new Validation(partUsageObj, {
118
+ defineTypedValidation(partUsage, {
387
119
  ruleId: 'fs_part_quantity_positive',
388
120
  displayName: 'Quantity must be positive',
389
- rqlFormula: '(quantity__c <= 0)',
121
+ whenInvalid: (c) => c.lte(c.fields.quantity, 0),
390
122
  errorMessage: 'Quantity must be greater than zero.',
391
123
  ruleDescription: 'Blocks zero or negative parts usage',
392
124
  state: 'ACTIVE',
393
125
  level: 'FIELD',
394
- fieldRef: partQuantityField,
126
+ field: 'quantity',
395
127
  });
396
128
 
397
- new Rule(workOrderObj, {
129
+ defineTypedRule(workOrder, {
398
130
  flowId: 'fs_default_work_order_status',
399
131
  flowName: 'Default work order status',
400
132
  triggerType: 'CREATE',
401
133
  description: 'New work orders start in New status',
402
- actions: [{ targetField: workOrderStatusField, fixedValue: 'New' }],
134
+ actions: (rules) => [rules.setField('status').toValue('New')],
403
135
  });
404
136
 
405
- new Rule(taskObj, {
137
+ defineTypedRule(task, {
406
138
  flowId: 'fs_default_task_status',
407
139
  flowName: 'Default task status',
408
140
  triggerType: 'CREATE',
409
141
  description: 'New tasks start Open',
410
- actions: [{ targetField: taskStatusField, fixedValue: 'Open' }],
142
+ actions: (rules) => [rules.setField('status').toValue('Open')],
411
143
  });
412
144
 
413
- new ListViewDef(siteObj, {
145
+ // ── List views ─────────────────────────────────────────────────────────────
146
+ defineTypedListView(site, {
414
147
  viewId: 'view_fs_customer_sites',
415
148
  name: 'Customer sites',
416
149
  description: 'Sites with service tier, assets, and work order volume',
417
- fields: ['name', siteAccountField, siteTierField, assetCountOnSite, workOrderCountOnSite],
150
+ fields: ['name', 'account_name', 'service_tier', assetCountOnSite, workOrderCountOnSite],
418
151
  orderBy: 'name',
419
152
  sortOrder: 'ASC',
420
153
  isPublic: true,
421
154
  objectScope: 'all',
422
155
  });
423
156
 
424
- new ListViewDef(assetObj, {
157
+ defineTypedListView(asset, {
425
158
  viewId: 'view_fs_assets',
426
159
  name: 'Assets',
427
160
  description: 'Installed equipment by site',
428
- fields: ['name', assetSiteRef, assetTypeField, assetSerialField, assetWarrantyEndField],
161
+ fields: ['name', 'customer_site_ref', 'asset_type', 'serial_number', 'warranty_end'],
429
162
  orderBy: 'name',
430
163
  sortOrder: 'ASC',
431
164
  isPublic: true,
432
165
  objectScope: 'all',
433
166
  });
434
167
 
435
- new ListViewDef(workOrderObj, {
168
+ defineTypedListView(workOrder, {
436
169
  viewId: 'view_fs_work_orders',
437
170
  name: 'Work orders',
438
171
  description: 'Dispatch board with schedule and rollups',
439
172
  fields: [
440
173
  'name',
441
- workOrderSiteRef,
442
- workOrderAssetRef,
443
- workOrderPriorityField,
444
- workOrderStatusField,
445
- workOrderScheduledStartField,
174
+ 'customer_site_ref',
175
+ 'asset_ref',
176
+ 'priority',
177
+ 'status',
178
+ 'scheduled_start',
446
179
  taskCountOnWorkOrder,
447
180
  estimatedHoursOnWorkOrder,
448
- workOrderLabelField,
181
+ 'dispatch_label',
449
182
  ],
450
- orderBy: workOrderScheduledStartField,
183
+ orderBy: 'scheduled_start',
451
184
  sortOrder: 'ASC',
452
185
  isPublic: true,
453
186
  objectScope: 'all',
454
187
  });
455
188
 
456
- new ListViewDef(taskObj, {
189
+ defineTypedListView(task, {
457
190
  viewId: 'view_fs_tasks',
458
191
  name: 'Tasks',
459
192
  description: 'Task checklist with estimates and parts lines',
460
- fields: [
461
- 'name',
462
- taskWorkOrderRef,
463
- taskTypeField,
464
- taskStatusField,
465
- taskEstimatedHoursField,
466
- partsCountOnTask,
467
- ],
468
- orderBy: taskWorkOrderRef,
193
+ fields: ['name', 'work_order_ref', 'task_type', 'status', 'estimated_hours', partsCountOnTask],
194
+ orderBy: 'work_order_ref',
469
195
  sortOrder: 'ASC',
470
196
  isPublic: true,
471
197
  objectScope: 'all',
472
198
  });
473
199
 
474
- new ListViewDef(partUsageObj, {
200
+ defineTypedListView(partUsage, {
475
201
  viewId: 'view_fs_part_usage',
476
202
  name: 'Part usage',
477
203
  description: 'Parts consumed by service tasks',
478
- fields: ['name', partTaskRef, partSkuField, partQuantityField, partCostCentsField],
479
- orderBy: partTaskRef,
204
+ fields: ['name', 'task_ref', 'sku', 'quantity', 'unit_cost_cents'],
205
+ orderBy: 'task_ref',
480
206
  sortOrder: 'ASC',
481
207
  isPublic: true,
482
208
  objectScope: 'all',
483
209
  });
484
210
 
485
- CustomObjectPageLayout.basic(siteObj, {
486
- section: siteSection,
487
- fields: ['name', siteAccountField, siteAddressField, siteTierField, assetCountOnSite, workOrderCountOnSite],
211
+ // ── Page layouts ───────────────────────────────────────────────────────────
212
+ defineBasicTypedPageLayout(site, {
213
+ section: site.sections.site,
214
+ fields: ['name', 'account_name', 'service_address', 'service_tier', assetCountOnSite, workOrderCountOnSite],
488
215
  });
489
216
 
490
- CustomObjectPageLayout.basic(assetObj, {
491
- section: assetSection,
492
- fields: ['name', assetSiteRef, assetSerialField, assetTypeField, assetWarrantyEndField],
217
+ defineBasicTypedPageLayout(asset, {
218
+ section: asset.sections.asset,
219
+ fields: ['name', 'customer_site_ref', 'serial_number', 'asset_type', 'warranty_end'],
493
220
  });
494
221
 
495
- CustomObjectPageLayout.basic(workOrderObj, {
496
- section: workOrderSection,
222
+ defineBasicTypedPageLayout(workOrder, {
223
+ section: workOrder.sections.work_order,
497
224
  fields: [
498
225
  'name',
499
- workOrderSiteRef,
500
- workOrderAssetRef,
501
- workOrderPriorityField,
502
- workOrderStatusField,
503
- workOrderScheduledStartField,
504
- workOrderScheduledEndField,
505
- workOrderSummaryField,
226
+ 'customer_site_ref',
227
+ 'asset_ref',
228
+ 'priority',
229
+ 'status',
230
+ 'scheduled_start',
231
+ 'scheduled_end',
232
+ 'problem_summary',
506
233
  taskCountOnWorkOrder,
507
234
  estimatedHoursOnWorkOrder,
508
- workOrderLabelField,
235
+ 'dispatch_label',
509
236
  ],
510
237
  });
511
238
 
512
- CustomObjectPageLayout.basic(taskObj, {
513
- section: taskSection,
239
+ defineBasicTypedPageLayout(task, {
240
+ section: task.sections.task,
514
241
  fields: [
515
242
  'name',
516
- taskWorkOrderRef,
517
- taskTypeField,
518
- taskStatusField,
519
- taskEstimatedHoursField,
520
- taskCompletedAtField,
243
+ 'work_order_ref',
244
+ 'task_type',
245
+ 'status',
246
+ 'estimated_hours',
247
+ 'completed_at',
521
248
  partsCountOnTask,
522
249
  ],
523
250
  });
524
251
 
525
- CustomObjectPageLayout.basic(partUsageObj, {
526
- section: partUsageSection,
527
- fields: ['name', partTaskRef, partSkuField, partQuantityField, partCostCentsField],
252
+ defineBasicTypedPageLayout(partUsage, {
253
+ section: partUsage.sections.part_usage,
254
+ fields: ['name', 'task_ref', 'sku', 'quantity', 'unit_cost_cents'],
528
255
  });
529
256
 
530
257
  console.log(manifest.preview());