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

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