@rippling/rippling-sdk 0.2.0-alpha.75 → 0.2.0-alpha.77

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 (73) hide show
  1. package/examples/manifest/dental-practice-management/functions/complete-visit.ts +5 -16
  2. package/examples/manifest/simple-todo-app/functions/mark-done.ts +48 -0
  3. package/examples/manifest/simple-todo-app/simple-todo-app.ts +17 -0
  4. package/functions.d.mts +12 -0
  5. package/functions.d.mts.map +1 -1
  6. package/functions.d.ts +12 -0
  7. package/functions.d.ts.map +1 -1
  8. package/functions.js.map +1 -1
  9. package/functions.mjs.map +1 -1
  10. package/lib/manifest/custom-field-section.d.mts +30 -0
  11. package/lib/manifest/custom-field-section.d.mts.map +1 -0
  12. package/lib/manifest/custom-field-section.d.ts +30 -0
  13. package/lib/manifest/custom-field-section.d.ts.map +1 -0
  14. package/lib/manifest/custom-field-section.js +58 -0
  15. package/lib/manifest/custom-field-section.js.map +1 -0
  16. package/lib/manifest/custom-field-section.mjs +54 -0
  17. package/lib/manifest/custom-field-section.mjs.map +1 -0
  18. package/lib/manifest/custom-field.d.mts +82 -0
  19. package/lib/manifest/custom-field.d.mts.map +1 -0
  20. package/lib/manifest/custom-field.d.ts +82 -0
  21. package/lib/manifest/custom-field.d.ts.map +1 -0
  22. package/lib/manifest/custom-field.js +184 -0
  23. package/lib/manifest/custom-field.js.map +1 -0
  24. package/lib/manifest/custom-field.mjs +180 -0
  25. package/lib/manifest/custom-field.mjs.map +1 -0
  26. package/lib/manifest/custom-object-action.d.mts +9 -3
  27. package/lib/manifest/custom-object-action.d.mts.map +1 -1
  28. package/lib/manifest/custom-object-action.d.ts +9 -3
  29. package/lib/manifest/custom-object-action.d.ts.map +1 -1
  30. package/lib/manifest/custom-object-action.js +17 -0
  31. package/lib/manifest/custom-object-action.js.map +1 -1
  32. package/lib/manifest/custom-object-action.mjs +17 -0
  33. package/lib/manifest/custom-object-action.mjs.map +1 -1
  34. package/lib/manifest/existing-manifest-context.d.mts +6 -0
  35. package/lib/manifest/existing-manifest-context.d.mts.map +1 -1
  36. package/lib/manifest/existing-manifest-context.d.ts +6 -0
  37. package/lib/manifest/existing-manifest-context.d.ts.map +1 -1
  38. package/lib/manifest/existing-manifest-context.js +28 -0
  39. package/lib/manifest/existing-manifest-context.js.map +1 -1
  40. package/lib/manifest/existing-manifest-context.mjs +28 -0
  41. package/lib/manifest/existing-manifest-context.mjs.map +1 -1
  42. package/lib/manifest/index.d.mts +2 -0
  43. package/lib/manifest/index.d.mts.map +1 -1
  44. package/lib/manifest/index.d.ts +2 -0
  45. package/lib/manifest/index.d.ts.map +1 -1
  46. package/lib/manifest/index.js +7 -1
  47. package/lib/manifest/index.js.map +1 -1
  48. package/lib/manifest/index.mjs +2 -0
  49. package/lib/manifest/index.mjs.map +1 -1
  50. package/lib/manifest/manifest-builder.d.mts +1 -1
  51. package/lib/manifest/manifest-builder.d.mts.map +1 -1
  52. package/lib/manifest/manifest-builder.d.ts +1 -1
  53. package/lib/manifest/manifest-builder.d.ts.map +1 -1
  54. package/lib/manifest/manifest-builder.js.map +1 -1
  55. package/lib/manifest/manifest-builder.mjs.map +1 -1
  56. package/package.json +1 -1
  57. package/resources/custom-fields.d.mts +5 -0
  58. package/resources/custom-fields.d.mts.map +1 -1
  59. package/resources/custom-fields.d.ts +5 -0
  60. package/resources/custom-fields.d.ts.map +1 -1
  61. package/src/functions.ts +23 -0
  62. package/src/lib/manifest/custom-field-section.ts +86 -0
  63. package/src/lib/manifest/custom-field.ts +309 -0
  64. package/src/lib/manifest/custom-object-action.ts +22 -3
  65. package/src/lib/manifest/existing-manifest-context.ts +42 -0
  66. package/src/lib/manifest/index.ts +18 -0
  67. package/src/lib/manifest/manifest-builder.ts +2 -0
  68. package/src/resources/custom-fields.ts +6 -0
  69. package/src/version.ts +1 -1
  70. package/version.d.mts +1 -1
  71. package/version.d.ts +1 -1
  72. package/version.js +1 -1
  73. package/version.mjs +1 -1
@@ -11,7 +11,7 @@ export interface ManifestComponent {
11
11
  /**
12
12
  * Wire-level component types supported by the manifest builder.
13
13
  */
14
- export type ManifestComponentType = 'CUSTOM_APP' | 'CUSTOM_CATEGORY' | 'CUSTOM_OBJECT' | 'CUSTOM_OBJECT_ACTION' | 'CUSTOM_OBJECT_FIELD' | 'CUSTOM_OBJECT_FIELD_SECTION' | 'CUSTOM_OBJECT_LIST_VIEW' | 'CUSTOM_OBJECT_PAGE_LAYOUT' | 'CUSTOM_OBJECT_RECORD_TRIGGERED_FLOW' | 'CUSTOM_OBJECT_VALIDATION_RULE' | 'FUNCTION' | 'SDUI_PAGE' | 'WORKFLOW_DEFINITION';
14
+ export type ManifestComponentType = 'CUSTOM_APP' | 'CUSTOM_CATEGORY' | 'CUSTOM_FIELD_SECTION' | 'CUSTOM_FIELD_V2' | 'CUSTOM_OBJECT' | 'CUSTOM_OBJECT_ACTION' | 'CUSTOM_OBJECT_FIELD' | 'CUSTOM_OBJECT_FIELD_SECTION' | 'CUSTOM_OBJECT_LIST_VIEW' | 'CUSTOM_OBJECT_PAGE_LAYOUT' | 'CUSTOM_OBJECT_RECORD_TRIGGERED_FLOW' | 'CUSTOM_OBJECT_VALIDATION_RULE' | 'FUNCTION' | 'SDUI_PAGE' | 'WORKFLOW_DEFINITION';
15
15
  /**
16
16
  * Static side of a manifest component class.
17
17
  */
@@ -1 +1 @@
1
- {"version":3,"file":"manifest-builder.d.ts","sourceRoot":"","sources":["../../src/lib/manifest/manifest-builder.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,uBAAuB,EAAE,KAAK,sBAAsB,EAAE,uCAAoC;AAEnG;;;;;GAKG;AACH,MAAM,WAAW,iBAAiB;IAChC,MAAM,IAAI,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;CAC/B;AAED;;GAEG;AACH,MAAM,MAAM,qBAAqB,GAC7B,YAAY,GACZ,iBAAiB,GACjB,eAAe,GACf,sBAAsB,GACtB,qBAAqB,GACrB,6BAA6B,GAC7B,yBAAyB,GACzB,2BAA2B,GAC3B,qCAAqC,GACrC,+BAA+B,GAC/B,UAAU,GACV,WAAW,GACX,qBAAqB,CAAC;AAE1B;;GAEG;AACH,MAAM,WAAW,sBAAsB,CAAC,gBAAgB,GAAG,OAAO;IAChE,QAAQ,CAAC,aAAa,EAAE,qBAAqB,CAAC;IAC9C,oBAAoB,CAAC,UAAU,EAAE,gBAAgB,GAAG,yBAAyB,CAAC;IAC9E,KAAK,GAAG,IAAI,EAAE,GAAG,EAAE,GAAG,iBAAiB,CAAC;CACzC;AAED;;GAEG;AACH,MAAM,WAAW,yBAA0B,SAAQ,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC;IACpE,oFAAoF;IACpF,IAAI,EAAE,qBAAqB,CAAC;CAC7B;AAED;;;;;;GAMG;AACH,MAAM,WAAW,aAAa;IAC5B,6EAA6E;IAC7E,SAAS,CAAC,SAAS,EAAE,iBAAiB,GAAG,IAAI,CAAC;CAC/C;AAED;;GAEG;AACH,MAAM,WAAW,oBAAoB;IACnC;;;;OAIG;IACH,GAAG,EAAE,MAAM,CAAC;IACZ;;;;OAIG;IACH,IAAI,CAAC,EAAE,MAAM,CAAC;IACd;;;;OAIG;IACH,WAAW,EAAE,MAAM,CAAC;CACrB;AAED;;GAEG;AACH,MAAM,WAAW,aAAa;IAC5B,QAAQ,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;IAC9B,UAAU,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,EAAE,CAAC;IAClC,oBAAoB,CAAC,EAAE,yBAAyB,EAAE,CAAC;CACpD;AAED;;;;;;;;;;;;;;;;;;;;;;;;;GAyBG;AACH,qBAAa,eAAgB,YAAW,aAAa;IACnD,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAC;IACrB,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC;IAC7B,OAAO,CAAC,QAAQ,CAAC,WAAW,CAA2B;IACvD,OAAO,CAAC,QAAQ,CAAC,mBAAmB,CAAmC;IAEvE;;;OAGG;gBACS,KAAK,EAAE,oBAAoB;IASvC;;;OAGG;IACH,MAAM,CAAC,oBAAoB,CAAC,MAAM,EAAE,sBAAsB,GAAG,eAAe;IAI5E;;;;;OAKG;IACH,MAAM,CAAC,eAAe,CAAC,MAAM,EAAE,sBAAsB,GAAG,uBAAuB;IAI/E;;;OAGG;IACH,SAAS,CAAC,SAAS,EAAE,iBAAiB,GAAG,IAAI;IAO7C;;;;;;OAMG;IACH,wBAAwB,CAAC,gBAAgB,EACvC,cAAc,EAAE,sBAAsB,CAAC,gBAAgB,CAAC,EACxD,UAAU,EAAE,gBAAgB,GAC3B,IAAI;IAuBP;;;;;OAKG;IACH,aAAa,IAAI,aAAa;IAc9B;;;;OAIG;IACH,cAAc,IAAI,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,EAAE;IAIvC;;;;OAIG;IACH,sBAAsB,IAAI,yBAAyB,EAAE;IAIrD;;;;;;;OAOG;IACH,OAAO,IAAI,MAAM;CAGlB"}
1
+ {"version":3,"file":"manifest-builder.d.ts","sourceRoot":"","sources":["../../src/lib/manifest/manifest-builder.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,uBAAuB,EAAE,KAAK,sBAAsB,EAAE,uCAAoC;AAEnG;;;;;GAKG;AACH,MAAM,WAAW,iBAAiB;IAChC,MAAM,IAAI,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;CAC/B;AAED;;GAEG;AACH,MAAM,MAAM,qBAAqB,GAC7B,YAAY,GACZ,iBAAiB,GACjB,sBAAsB,GACtB,iBAAiB,GACjB,eAAe,GACf,sBAAsB,GACtB,qBAAqB,GACrB,6BAA6B,GAC7B,yBAAyB,GACzB,2BAA2B,GAC3B,qCAAqC,GACrC,+BAA+B,GAC/B,UAAU,GACV,WAAW,GACX,qBAAqB,CAAC;AAE1B;;GAEG;AACH,MAAM,WAAW,sBAAsB,CAAC,gBAAgB,GAAG,OAAO;IAChE,QAAQ,CAAC,aAAa,EAAE,qBAAqB,CAAC;IAC9C,oBAAoB,CAAC,UAAU,EAAE,gBAAgB,GAAG,yBAAyB,CAAC;IAC9E,KAAK,GAAG,IAAI,EAAE,GAAG,EAAE,GAAG,iBAAiB,CAAC;CACzC;AAED;;GAEG;AACH,MAAM,WAAW,yBAA0B,SAAQ,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC;IACpE,oFAAoF;IACpF,IAAI,EAAE,qBAAqB,CAAC;CAC7B;AAED;;;;;;GAMG;AACH,MAAM,WAAW,aAAa;IAC5B,6EAA6E;IAC7E,SAAS,CAAC,SAAS,EAAE,iBAAiB,GAAG,IAAI,CAAC;CAC/C;AAED;;GAEG;AACH,MAAM,WAAW,oBAAoB;IACnC;;;;OAIG;IACH,GAAG,EAAE,MAAM,CAAC;IACZ;;;;OAIG;IACH,IAAI,CAAC,EAAE,MAAM,CAAC;IACd;;;;OAIG;IACH,WAAW,EAAE,MAAM,CAAC;CACrB;AAED;;GAEG;AACH,MAAM,WAAW,aAAa;IAC5B,QAAQ,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;IAC9B,UAAU,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,EAAE,CAAC;IAClC,oBAAoB,CAAC,EAAE,yBAAyB,EAAE,CAAC;CACpD;AAED;;;;;;;;;;;;;;;;;;;;;;;;;GAyBG;AACH,qBAAa,eAAgB,YAAW,aAAa;IACnD,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAC;IACrB,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC;IAC7B,OAAO,CAAC,QAAQ,CAAC,WAAW,CAA2B;IACvD,OAAO,CAAC,QAAQ,CAAC,mBAAmB,CAAmC;IAEvE;;;OAGG;gBACS,KAAK,EAAE,oBAAoB;IASvC;;;OAGG;IACH,MAAM,CAAC,oBAAoB,CAAC,MAAM,EAAE,sBAAsB,GAAG,eAAe;IAI5E;;;;;OAKG;IACH,MAAM,CAAC,eAAe,CAAC,MAAM,EAAE,sBAAsB,GAAG,uBAAuB;IAI/E;;;OAGG;IACH,SAAS,CAAC,SAAS,EAAE,iBAAiB,GAAG,IAAI;IAO7C;;;;;;OAMG;IACH,wBAAwB,CAAC,gBAAgB,EACvC,cAAc,EAAE,sBAAsB,CAAC,gBAAgB,CAAC,EACxD,UAAU,EAAE,gBAAgB,GAC3B,IAAI;IAuBP;;;;;OAKG;IACH,aAAa,IAAI,aAAa;IAc9B;;;;OAIG;IACH,cAAc,IAAI,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,EAAE;IAIvC;;;;OAIG;IACH,sBAAsB,IAAI,yBAAyB,EAAE;IAIrD;;;;;;;OAOG;IACH,OAAO,IAAI,MAAM;CAGlB"}
@@ -1 +1 @@
1
- {"version":3,"file":"manifest-builder.js","sourceRoot":"","sources":["../../src/lib/manifest/manifest-builder.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"manifest-builder.js","sourceRoot":"","sources":["../../src/lib/manifest/manifest-builder.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"manifest-builder.mjs","sourceRoot":"","sources":["../../src/lib/manifest/manifest-builder.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"manifest-builder.mjs","sourceRoot":"","sources":["../../src/lib/manifest/manifest-builder.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@rippling/rippling-sdk",
3
- "version": "0.2.0-alpha.75",
3
+ "version": "0.2.0-alpha.77",
4
4
  "description": "The official TypeScript library for the Rippling SDK API",
5
5
  "author": "Rippling SDK <no-reply@rippling.com>",
6
6
  "types": "./index.d.ts",
@@ -39,6 +39,11 @@ export interface CustomFieldListResponse {
39
39
  * The description of the custom field.
40
40
  */
41
41
  description?: string;
42
+ /**
43
+ * The available choice values for SELECT and RADIO custom fields. Null for other
44
+ * field types.
45
+ */
46
+ options?: Array<string>;
42
47
  /**
43
48
  * Whether the custom field is required.
44
49
  */
@@ -1 +1 @@
1
- {"version":3,"file":"custom-fields.d.mts","sourceRoot":"","sources":["../src/resources/custom-fields.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,WAAW,EAAE,6BAAyB;AAC/C,OAAO,EAAE,aAAa,EAAE,WAAW,EAAE,+BAA2B;AAChE,OAAO,EAAE,cAAc,EAAE,wCAAoC;AAE7D;;GAEG;AACH,qBAAa,YAAa,SAAQ,WAAW;IAC3C;;;;;OAKG;IACH,IAAI,CACF,KAAK,GAAE,qBAAqB,GAAG,IAAI,GAAG,SAAc,EACpD,OAAO,CAAC,EAAE,cAAc,GACvB,WAAW,CAAC,qCAAqC,EAAE,uBAAuB,CAAC;CAM/E;AAED,MAAM,MAAM,qCAAqC,GAAG,aAAa,CAAC,uBAAuB,CAAC,CAAC;AAE3F,MAAM,WAAW,uBAAuB;IACtC;;OAEG;IACH,EAAE,EAAE,MAAM,CAAC;IAEX;;OAEG;IACH,UAAU,EAAE,MAAM,CAAC;IAEnB;;OAEG;IACH,IAAI,EAAE,MAAM,CAAC;IAEb;;OAEG;IACH,IAAI,EACA,MAAM,GACN,MAAM,GACN,QAAQ,GACR,UAAU,GACV,YAAY,GACZ,QAAQ,GACR,MAAM,GACN,IAAI,GACJ,OAAO,GACP,UAAU,GACV,OAAO,GACP,cAAc,GACd,SAAS,GACT,SAAS,GACT,oBAAoB,GACpB,aAAa,GACb,UAAU,GACV,OAAO,GACP,KAAK,CAAC;IAEV;;OAEG;IACH,UAAU,EAAE,MAAM,CAAC;IAEnB;;OAEG;IACH,WAAW,CAAC,EAAE,MAAM,CAAC;IAErB;;OAEG;IACH,QAAQ,CAAC,EAAE,OAAO,CAAC;CACpB;AAED,MAAM,WAAW,qBAAqB;IACpC,MAAM,CAAC,EAAE,MAAM,CAAC;IAEhB,QAAQ,CAAC,EAAE,MAAM,CAAC;CACnB;AAED,MAAM,CAAC,OAAO,WAAW,YAAY,CAAC;IACpC,OAAO,EACL,KAAK,uBAAuB,IAAI,uBAAuB,EACvD,KAAK,qCAAqC,IAAI,qCAAqC,EACnF,KAAK,qBAAqB,IAAI,qBAAqB,GACpD,CAAC;CACH"}
1
+ {"version":3,"file":"custom-fields.d.mts","sourceRoot":"","sources":["../src/resources/custom-fields.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,WAAW,EAAE,6BAAyB;AAC/C,OAAO,EAAE,aAAa,EAAE,WAAW,EAAE,+BAA2B;AAChE,OAAO,EAAE,cAAc,EAAE,wCAAoC;AAE7D;;GAEG;AACH,qBAAa,YAAa,SAAQ,WAAW;IAC3C;;;;;OAKG;IACH,IAAI,CACF,KAAK,GAAE,qBAAqB,GAAG,IAAI,GAAG,SAAc,EACpD,OAAO,CAAC,EAAE,cAAc,GACvB,WAAW,CAAC,qCAAqC,EAAE,uBAAuB,CAAC;CAM/E;AAED,MAAM,MAAM,qCAAqC,GAAG,aAAa,CAAC,uBAAuB,CAAC,CAAC;AAE3F,MAAM,WAAW,uBAAuB;IACtC;;OAEG;IACH,EAAE,EAAE,MAAM,CAAC;IAEX;;OAEG;IACH,UAAU,EAAE,MAAM,CAAC;IAEnB;;OAEG;IACH,IAAI,EAAE,MAAM,CAAC;IAEb;;OAEG;IACH,IAAI,EACA,MAAM,GACN,MAAM,GACN,QAAQ,GACR,UAAU,GACV,YAAY,GACZ,QAAQ,GACR,MAAM,GACN,IAAI,GACJ,OAAO,GACP,UAAU,GACV,OAAO,GACP,cAAc,GACd,SAAS,GACT,SAAS,GACT,oBAAoB,GACpB,aAAa,GACb,UAAU,GACV,OAAO,GACP,KAAK,CAAC;IAEV;;OAEG;IACH,UAAU,EAAE,MAAM,CAAC;IAEnB;;OAEG;IACH,WAAW,CAAC,EAAE,MAAM,CAAC;IAErB;;;OAGG;IACH,OAAO,CAAC,EAAE,KAAK,CAAC,MAAM,CAAC,CAAC;IAExB;;OAEG;IACH,QAAQ,CAAC,EAAE,OAAO,CAAC;CACpB;AAED,MAAM,WAAW,qBAAqB;IACpC,MAAM,CAAC,EAAE,MAAM,CAAC;IAEhB,QAAQ,CAAC,EAAE,MAAM,CAAC;CACnB;AAED,MAAM,CAAC,OAAO,WAAW,YAAY,CAAC;IACpC,OAAO,EACL,KAAK,uBAAuB,IAAI,uBAAuB,EACvD,KAAK,qCAAqC,IAAI,qCAAqC,EACnF,KAAK,qBAAqB,IAAI,qBAAqB,GACpD,CAAC;CACH"}
@@ -39,6 +39,11 @@ export interface CustomFieldListResponse {
39
39
  * The description of the custom field.
40
40
  */
41
41
  description?: string;
42
+ /**
43
+ * The available choice values for SELECT and RADIO custom fields. Null for other
44
+ * field types.
45
+ */
46
+ options?: Array<string>;
42
47
  /**
43
48
  * Whether the custom field is required.
44
49
  */
@@ -1 +1 @@
1
- {"version":3,"file":"custom-fields.d.ts","sourceRoot":"","sources":["../src/resources/custom-fields.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,WAAW,EAAE,4BAAyB;AAC/C,OAAO,EAAE,aAAa,EAAE,WAAW,EAAE,8BAA2B;AAChE,OAAO,EAAE,cAAc,EAAE,uCAAoC;AAE7D;;GAEG;AACH,qBAAa,YAAa,SAAQ,WAAW;IAC3C;;;;;OAKG;IACH,IAAI,CACF,KAAK,GAAE,qBAAqB,GAAG,IAAI,GAAG,SAAc,EACpD,OAAO,CAAC,EAAE,cAAc,GACvB,WAAW,CAAC,qCAAqC,EAAE,uBAAuB,CAAC;CAM/E;AAED,MAAM,MAAM,qCAAqC,GAAG,aAAa,CAAC,uBAAuB,CAAC,CAAC;AAE3F,MAAM,WAAW,uBAAuB;IACtC;;OAEG;IACH,EAAE,EAAE,MAAM,CAAC;IAEX;;OAEG;IACH,UAAU,EAAE,MAAM,CAAC;IAEnB;;OAEG;IACH,IAAI,EAAE,MAAM,CAAC;IAEb;;OAEG;IACH,IAAI,EACA,MAAM,GACN,MAAM,GACN,QAAQ,GACR,UAAU,GACV,YAAY,GACZ,QAAQ,GACR,MAAM,GACN,IAAI,GACJ,OAAO,GACP,UAAU,GACV,OAAO,GACP,cAAc,GACd,SAAS,GACT,SAAS,GACT,oBAAoB,GACpB,aAAa,GACb,UAAU,GACV,OAAO,GACP,KAAK,CAAC;IAEV;;OAEG;IACH,UAAU,EAAE,MAAM,CAAC;IAEnB;;OAEG;IACH,WAAW,CAAC,EAAE,MAAM,CAAC;IAErB;;OAEG;IACH,QAAQ,CAAC,EAAE,OAAO,CAAC;CACpB;AAED,MAAM,WAAW,qBAAqB;IACpC,MAAM,CAAC,EAAE,MAAM,CAAC;IAEhB,QAAQ,CAAC,EAAE,MAAM,CAAC;CACnB;AAED,MAAM,CAAC,OAAO,WAAW,YAAY,CAAC;IACpC,OAAO,EACL,KAAK,uBAAuB,IAAI,uBAAuB,EACvD,KAAK,qCAAqC,IAAI,qCAAqC,EACnF,KAAK,qBAAqB,IAAI,qBAAqB,GACpD,CAAC;CACH"}
1
+ {"version":3,"file":"custom-fields.d.ts","sourceRoot":"","sources":["../src/resources/custom-fields.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,WAAW,EAAE,4BAAyB;AAC/C,OAAO,EAAE,aAAa,EAAE,WAAW,EAAE,8BAA2B;AAChE,OAAO,EAAE,cAAc,EAAE,uCAAoC;AAE7D;;GAEG;AACH,qBAAa,YAAa,SAAQ,WAAW;IAC3C;;;;;OAKG;IACH,IAAI,CACF,KAAK,GAAE,qBAAqB,GAAG,IAAI,GAAG,SAAc,EACpD,OAAO,CAAC,EAAE,cAAc,GACvB,WAAW,CAAC,qCAAqC,EAAE,uBAAuB,CAAC;CAM/E;AAED,MAAM,MAAM,qCAAqC,GAAG,aAAa,CAAC,uBAAuB,CAAC,CAAC;AAE3F,MAAM,WAAW,uBAAuB;IACtC;;OAEG;IACH,EAAE,EAAE,MAAM,CAAC;IAEX;;OAEG;IACH,UAAU,EAAE,MAAM,CAAC;IAEnB;;OAEG;IACH,IAAI,EAAE,MAAM,CAAC;IAEb;;OAEG;IACH,IAAI,EACA,MAAM,GACN,MAAM,GACN,QAAQ,GACR,UAAU,GACV,YAAY,GACZ,QAAQ,GACR,MAAM,GACN,IAAI,GACJ,OAAO,GACP,UAAU,GACV,OAAO,GACP,cAAc,GACd,SAAS,GACT,SAAS,GACT,oBAAoB,GACpB,aAAa,GACb,UAAU,GACV,OAAO,GACP,KAAK,CAAC;IAEV;;OAEG;IACH,UAAU,EAAE,MAAM,CAAC;IAEnB;;OAEG;IACH,WAAW,CAAC,EAAE,MAAM,CAAC;IAErB;;;OAGG;IACH,OAAO,CAAC,EAAE,KAAK,CAAC,MAAM,CAAC,CAAC;IAExB;;OAEG;IACH,QAAQ,CAAC,EAAE,OAAO,CAAC;CACpB;AAED,MAAM,WAAW,qBAAqB;IACpC,MAAM,CAAC,EAAE,MAAM,CAAC;IAEhB,QAAQ,CAAC,EAAE,MAAM,CAAC;CACnB;AAED,MAAM,CAAC,OAAO,WAAW,YAAY,CAAC;IACpC,OAAO,EACL,KAAK,uBAAuB,IAAI,uBAAuB,EACvD,KAAK,qCAAqC,IAAI,qCAAqC,EACnF,KAAK,qBAAqB,IAAI,qBAAqB,GACpD,CAAC;CACH"}
package/src/functions.ts CHANGED
@@ -76,6 +76,23 @@ export interface DetailViewActionFunctionEvent<
76
76
  url: string;
77
77
  }
78
78
 
79
+ export interface ListViewActionFunctionEvent<
80
+ TParameters extends FunctionEventParameterShape<TParameters> = FunctionEventParameters,
81
+ TObjectApiName extends string = string,
82
+ TButton extends string = string,
83
+ TPageId extends string = string,
84
+ > {
85
+ app_id: string;
86
+ button: TButton;
87
+ current_user: string;
88
+ object_api_name: TObjectApiName;
89
+ page_id: TPageId;
90
+ parameters: TParameters;
91
+ record_ids: string[];
92
+ trigger_type: 'list view';
93
+ url: string;
94
+ }
95
+
79
96
  export type FunctionEvent = FunctionEventParameters;
80
97
  export type FunctionHandler<TEvent = FunctionEvent, TContext extends FunctionContext = FunctionContext> = (
81
98
  event: TEvent,
@@ -93,6 +110,12 @@ export type DetailViewActionFunctionHandler<
93
110
  TButton extends string = string,
94
111
  TLayoutId extends string = string,
95
112
  > = FunctionHandler<DetailViewActionFunctionEvent<TParameters, TObjectApiName, TButton, TLayoutId>>;
113
+ export type ListViewActionFunctionHandler<
114
+ TParameters extends FunctionEventParameterShape<TParameters> = FunctionEventParameters,
115
+ TObjectApiName extends string = string,
116
+ TButton extends string = string,
117
+ TPageId extends string = string,
118
+ > = FunctionHandler<ListViewActionFunctionEvent<TParameters, TObjectApiName, TButton, TPageId>>;
96
119
  export type DurableDuration = number | string;
97
120
  export type DurableTimestamp = number | Date | string;
98
121
  export interface DurableWaitForEventOptions {
@@ -0,0 +1,86 @@
1
+ import { generateId } from './_helpers';
2
+ import { getExistingManifestContext, type ExistingManifestContextOptions } from './existing-manifest-context';
3
+ import type { ManifestComponentDeletion, ManifestScope } from './manifest-builder';
4
+ import { requireStringComponentField } from './_existing-component-fields';
5
+
6
+ export interface CustomFieldSectionProps {
7
+ sectionId?: string;
8
+ name: string;
9
+ modelRqlName: string;
10
+ isRipplingDefined?: boolean;
11
+ identifierSlug?: string | null;
12
+ displayOrder?: number | null;
13
+ }
14
+
15
+ /** A section that groups Custom Field V2 fields on a native or custom object. */
16
+ export class CustomFieldSection {
17
+ static readonly componentType = 'CUSTOM_FIELD_SECTION' as const;
18
+
19
+ static toDeletionIdentifier(sectionId: string): ManifestComponentDeletion {
20
+ return { type: CustomFieldSection.componentType, section_id: sectionId };
21
+ }
22
+
23
+ private readonly _sectionId: string;
24
+ private readonly _name: string;
25
+ private readonly _modelRqlName: string;
26
+ private readonly _isRipplingDefined: boolean;
27
+ private readonly _identifierSlug: string | null;
28
+ private readonly _displayOrder: number | null;
29
+
30
+ constructor(scope: ManifestScope, props: CustomFieldSectionProps) {
31
+ this._sectionId = props.sectionId ?? generateId('cf_section');
32
+ this._name = props.name;
33
+ this._modelRqlName = props.modelRqlName;
34
+ this._isRipplingDefined = props.isRipplingDefined ?? false;
35
+ this._identifierSlug = props.identifierSlug ?? null;
36
+ this._displayOrder = props.displayOrder ?? null;
37
+ scope._register(this);
38
+ }
39
+
40
+ static loadFromExisting(
41
+ sectionId: string,
42
+ options: ExistingManifestContextOptions = {},
43
+ ): CustomFieldSection {
44
+ return getExistingManifestContext(options).loadCustomFieldSection(sectionId);
45
+ }
46
+
47
+ /** @internal Hydrates a section from existing manifest wire JSON. */
48
+ static _fromExistingComponent(scope: ManifestScope, component: Record<string, any>): CustomFieldSection {
49
+ return new CustomFieldSection(scope, {
50
+ sectionId: requireStringComponentField(component, 'obj_id', CustomFieldSection.componentType),
51
+ name: requireStringComponentField(component, 'name', CustomFieldSection.componentType),
52
+ modelRqlName: requireStringComponentField(
53
+ component,
54
+ 'model_rql_name',
55
+ CustomFieldSection.componentType,
56
+ ),
57
+ isRipplingDefined: component['is_rippling_defined'] === true,
58
+ identifierSlug: (component['identifier_slug'] as string | null | undefined) ?? null,
59
+ displayOrder: (component['display_order'] as number | null | undefined) ?? null,
60
+ });
61
+ }
62
+
63
+ getSectionId(): string {
64
+ return this._sectionId;
65
+ }
66
+
67
+ getName(): string {
68
+ return this._name;
69
+ }
70
+
71
+ getModelRqlName(): string {
72
+ return this._modelRqlName;
73
+ }
74
+
75
+ toDict(): Record<string, any> {
76
+ return {
77
+ type: CustomFieldSection.componentType,
78
+ obj_id: this._sectionId,
79
+ name: this._name,
80
+ is_rippling_defined: this._isRipplingDefined,
81
+ model_rql_name: this._modelRqlName,
82
+ identifier_slug: this._identifierSlug,
83
+ display_order: this._displayOrder,
84
+ };
85
+ }
86
+ }
@@ -0,0 +1,309 @@
1
+ import { generateId } from './_helpers';
2
+ import { CustomFieldSection } from './custom-field-section';
3
+ import { getExistingManifestContext, type ExistingManifestContextOptions } from './existing-manifest-context';
4
+ import type { ManifestComponentDeletion, ManifestScope } from './manifest-builder';
5
+ import { requireObjectComponentField, requireStringComponentField } from './_existing-component-fields';
6
+
7
+ export const CUSTOM_FIELD_TYPES = [
8
+ 'TEXT',
9
+ 'DATE',
10
+ 'NUMBER',
11
+ 'CURRENCY',
12
+ 'PERCENTAGE',
13
+ 'SELECT',
14
+ 'FILE',
15
+ 'ID',
16
+ 'RADIO',
17
+ 'TEXTAREA',
18
+ 'RANGE',
19
+ 'REFERENCE_ID',
20
+ 'BOOLEAN',
21
+ 'ADDRESS',
22
+ 'OG_REFERENCE_FIELD',
23
+ 'EMAIL',
24
+ 'URL',
25
+ ] as const;
26
+
27
+ export type CustomFieldType = (typeof CUSTOM_FIELD_TYPES)[number];
28
+ export type CustomFieldApiName = `${string}__cfv2`;
29
+
30
+ export type CustomFieldUniqueIDCharacterType = 'DIGITS_ONLY' | 'TEXT_ONLY' | 'DIGITS_TEXT_BOTH';
31
+
32
+ type CustomFieldSimpleType = Exclude<
33
+ CustomFieldType,
34
+ 'NUMBER' | 'CURRENCY' | 'SELECT' | 'RADIO' | 'ID' | 'OG_REFERENCE_FIELD'
35
+ >;
36
+
37
+ export type CustomFieldDataType =
38
+ | { fieldType: CustomFieldSimpleType }
39
+ | { fieldType: 'NUMBER'; decimalPlaces?: number | null }
40
+ | { fieldType: 'CURRENCY'; currency?: string | null }
41
+ | { fieldType: 'SELECT' | 'RADIO'; options: readonly string[] }
42
+ | {
43
+ fieldType: 'ID';
44
+ numberOfCharacters?: number | null;
45
+ characterType?: CustomFieldUniqueIDCharacterType | null;
46
+ }
47
+ | { fieldType: 'OG_REFERENCE_FIELD'; referencedModelRqlName: string };
48
+
49
+ export type CustomFieldPermissionClassification =
50
+ | 'BASIC_PERSONAL_INFO'
51
+ | 'PERSONAL_INFO'
52
+ | 'SENSITIVE_PERSONAL_INFO'
53
+ | 'BASIC_EMPLOYMENT_INFO'
54
+ | 'EMPLOYMENT_INFO'
55
+ | 'SENSITIVE_EMPLOYMENT_INFO';
56
+
57
+ export type CustomFieldReadAccess = 'ALL_ACCESS' | 'ADMIN_ACCESS' | 'ADMIN_AND_EMPLOYEE_ACCESS';
58
+
59
+ export type CustomFieldWriteAccess =
60
+ | 'EMPLOYEE_ACCESS'
61
+ | 'ADMIN_ACCESS'
62
+ | 'ADMIN_AND_EMPLOYEE_ACCESS'
63
+ | 'NO_ACCESS';
64
+
65
+ export type CustomFieldCollectionTiming = 'NONE' | 'HIRING' | 'ONBOARDING' | 'TERMINATING';
66
+
67
+ export type CustomFieldDefaultValue =
68
+ | { value: string; rqlDefinitionFormula?: never }
69
+ | { value?: never; rqlDefinitionFormula: string };
70
+
71
+ interface CustomFieldCommonProps {
72
+ fieldId?: string;
73
+ name: string;
74
+ section: CustomFieldSection;
75
+ modelRqlName: string;
76
+ dataType: CustomFieldDataType;
77
+ apiName: CustomFieldApiName;
78
+ fieldPermissionClassification?: CustomFieldPermissionClassification | null;
79
+ fieldReadAccess?: CustomFieldReadAccess | null;
80
+ fieldWriteAccess?: CustomFieldWriteAccess | null;
81
+ applicableGroup?: string | null;
82
+ description?: string | null;
83
+ displayOrder?: number | null;
84
+ }
85
+
86
+ export type CustomFieldProps = CustomFieldCommonProps &
87
+ (
88
+ | {
89
+ rqlDefinitionFormula: string;
90
+ collectDuring?: null;
91
+ required?: null;
92
+ tip?: null;
93
+ defaultValue?: null;
94
+ }
95
+ | {
96
+ rqlDefinitionFormula?: null;
97
+ collectDuring?: CustomFieldCollectionTiming | null;
98
+ required?: boolean | null;
99
+ tip?: string | null;
100
+ defaultValue?: CustomFieldDefaultValue | null;
101
+ }
102
+ );
103
+
104
+ function cloneJson<T>(value: T): T {
105
+ if (value == null) return value;
106
+ return JSON.parse(JSON.stringify(value)) as T;
107
+ }
108
+
109
+ function customFieldDataTypeFromWire(dataType: Record<string, any>): CustomFieldDataType {
110
+ const fieldType = requireStringComponentField(
111
+ dataType,
112
+ 'field_type',
113
+ CustomField.componentType,
114
+ ) as CustomFieldType;
115
+ switch (fieldType) {
116
+ case 'NUMBER':
117
+ return {
118
+ fieldType,
119
+ decimalPlaces: (dataType['num_of_decimal_places'] as number | null | undefined) ?? null,
120
+ };
121
+ case 'CURRENCY':
122
+ return { fieldType, currency: (dataType['currency'] as string | null | undefined) ?? null };
123
+ case 'SELECT':
124
+ case 'RADIO': {
125
+ const options = dataType['options_list'];
126
+ if (!Array.isArray(options) || !options.every((option) => typeof option === 'string')) {
127
+ throw new TypeError(`CUSTOM_FIELD_V2 data_type.options_list must be a string array.`);
128
+ }
129
+ return { fieldType, options };
130
+ }
131
+ case 'ID':
132
+ return {
133
+ fieldType,
134
+ numberOfCharacters: (dataType['num_of_chars'] as number | null | undefined) ?? null,
135
+ characterType:
136
+ (dataType['type_of_chars'] as CustomFieldUniqueIDCharacterType | null | undefined) ?? null,
137
+ };
138
+ case 'OG_REFERENCE_FIELD':
139
+ return {
140
+ fieldType,
141
+ referencedModelRqlName: requireStringComponentField(
142
+ dataType,
143
+ 'og_model_rql_name',
144
+ CustomField.componentType,
145
+ ),
146
+ };
147
+ default:
148
+ if (!(CUSTOM_FIELD_TYPES as readonly string[]).includes(fieldType)) {
149
+ throw new TypeError(`Unsupported CUSTOM_FIELD_V2 field_type: ${fieldType}`);
150
+ }
151
+ return { fieldType };
152
+ }
153
+ }
154
+
155
+ /** A Custom Field V2 field on a native or custom object. */
156
+ export class CustomField {
157
+ static readonly componentType = 'CUSTOM_FIELD_V2' as const;
158
+
159
+ static toDeletionIdentifier(customFieldId: string): ManifestComponentDeletion {
160
+ return { type: CustomField.componentType, cfv2_id: customFieldId };
161
+ }
162
+
163
+ private readonly _fieldId: string;
164
+ private readonly props: CustomFieldProps;
165
+
166
+ constructor(scope: ManifestScope, props: CustomFieldProps) {
167
+ if (!props.apiName.endsWith('__cfv2')) {
168
+ throw new Error(`Custom Field V2 api_name must end with __cfv2: ${props.apiName}`);
169
+ }
170
+ if (props.section.getModelRqlName() !== props.modelRqlName) {
171
+ throw new Error(
172
+ `Custom field "${props.apiName}" section belongs to "${props.section.getModelRqlName()}", ` +
173
+ `but the field belongs to "${props.modelRqlName}".`,
174
+ );
175
+ }
176
+ this._fieldId = props.fieldId ?? generateId('cfv2');
177
+ this.props = {
178
+ ...props,
179
+ dataType: cloneJson(props.dataType),
180
+ };
181
+ scope._register(this);
182
+ }
183
+
184
+ static loadFromExisting(
185
+ fieldIdOrApiName: string,
186
+ options: ExistingManifestContextOptions = {},
187
+ ): CustomField {
188
+ return getExistingManifestContext(options).loadCustomField(fieldIdOrApiName);
189
+ }
190
+
191
+ /** @internal Hydrates a custom field from existing manifest wire JSON. */
192
+ static _fromExistingComponent(
193
+ scope: ManifestScope,
194
+ component: Record<string, any>,
195
+ section: CustomFieldSection,
196
+ ): CustomField {
197
+ const dataType = requireObjectComponentField(component, 'data_type', CustomField.componentType);
198
+ const defaultValue = component['default_value'] as Record<string, any> | null | undefined;
199
+ const formula = component['rql_definition_formula'];
200
+ const applicableGroup =
201
+ component['applicable_group'] == null ?
202
+ null
203
+ : requireObjectComponentField(component, 'applicable_group', CustomField.componentType);
204
+ const common = {
205
+ fieldId: requireStringComponentField(component, 'obj_id', CustomField.componentType),
206
+ name: requireStringComponentField(component, 'name', CustomField.componentType),
207
+ section,
208
+ modelRqlName: requireStringComponentField(component, 'model_rql_name', CustomField.componentType),
209
+ apiName: requireStringComponentField(
210
+ component,
211
+ 'api_name',
212
+ CustomField.componentType,
213
+ ) as CustomFieldApiName,
214
+ dataType: customFieldDataTypeFromWire(dataType),
215
+ fieldPermissionClassification:
216
+ (component['field_permission_classification'] as
217
+ | CustomFieldPermissionClassification
218
+ | null
219
+ | undefined) ?? null,
220
+ fieldReadAccess: (component['field_read_access'] as CustomFieldReadAccess | null | undefined) ?? null,
221
+ fieldWriteAccess:
222
+ (component['field_write_access'] as CustomFieldWriteAccess | null | undefined) ?? null,
223
+ applicableGroup:
224
+ applicableGroup == null ? null : (
225
+ requireStringComponentField(applicableGroup, 'me_obj_id', CustomField.componentType)
226
+ ),
227
+ description: (component['description'] as string | null | undefined) ?? null,
228
+ displayOrder: (component['display_order'] as number | null | undefined) ?? null,
229
+ };
230
+ if (typeof formula === 'string') {
231
+ return new CustomField(scope, {
232
+ ...common,
233
+ rqlDefinitionFormula: formula,
234
+ collectDuring: null,
235
+ required: null,
236
+ tip: null,
237
+ defaultValue: null,
238
+ });
239
+ }
240
+
241
+ const defaultValueFormula = defaultValue?.['rql_definition_formula'];
242
+ const staticDefaultValue = defaultValue?.['value'];
243
+ return new CustomField(scope, {
244
+ ...common,
245
+ rqlDefinitionFormula: null,
246
+ collectDuring: (component['collect_during'] as CustomFieldCollectionTiming | null | undefined) ?? null,
247
+ required: (component['required'] as boolean | null | undefined) ?? null,
248
+ tip: (component['tip'] as string | null | undefined) ?? null,
249
+ defaultValue:
250
+ typeof defaultValueFormula === 'string' ? { rqlDefinitionFormula: defaultValueFormula }
251
+ : typeof staticDefaultValue === 'string' ? { value: staticDefaultValue }
252
+ : null,
253
+ });
254
+ }
255
+
256
+ getFieldId(): string {
257
+ return this._fieldId;
258
+ }
259
+
260
+ getApiName(): CustomFieldApiName {
261
+ return this.props.apiName;
262
+ }
263
+
264
+ getModelRqlName(): string {
265
+ return this.props.modelRqlName;
266
+ }
267
+
268
+ toDict(): Record<string, any> {
269
+ const dataType = this.props.dataType;
270
+ const defaultValue = this.props.defaultValue;
271
+ return {
272
+ type: CustomField.componentType,
273
+ obj_id: this._fieldId,
274
+ name: this.props.name,
275
+ section: this.props.section.getSectionId(),
276
+ model_rql_name: this.props.modelRqlName,
277
+ data_type: {
278
+ type: CustomField.componentType,
279
+ field_type: dataType.fieldType,
280
+ options_list: 'options' in dataType ? [...dataType.options] : null,
281
+ currency: 'currency' in dataType ? dataType.currency ?? null : null,
282
+ num_of_decimal_places: 'decimalPlaces' in dataType ? dataType.decimalPlaces ?? null : null,
283
+ num_of_chars: 'numberOfCharacters' in dataType ? dataType.numberOfCharacters ?? null : null,
284
+ type_of_chars: 'characterType' in dataType ? dataType.characterType ?? null : null,
285
+ og_model_rql_name: 'referencedModelRqlName' in dataType ? dataType.referencedModelRqlName : null,
286
+ },
287
+ api_name: this.props.apiName,
288
+ field_permission_classification: this.props.fieldPermissionClassification ?? null,
289
+ field_read_access: this.props.fieldReadAccess ?? null,
290
+ field_write_access: this.props.fieldWriteAccess ?? null,
291
+ collect_during: this.props.collectDuring ?? null,
292
+ applicable_group: this.props.applicableGroup ?? null,
293
+ description: this.props.description ?? null,
294
+ required: this.props.required ?? null,
295
+ tip: this.props.tip ?? null,
296
+ rql_definition_formula: this.props.rqlDefinitionFormula ?? null,
297
+ default_value:
298
+ defaultValue == null ? null : (
299
+ {
300
+ type: CustomField.componentType,
301
+ value: 'value' in defaultValue ? defaultValue.value : null,
302
+ rql_definition_formula:
303
+ 'rqlDefinitionFormula' in defaultValue ? defaultValue.rqlDefinitionFormula : null,
304
+ }
305
+ ),
306
+ display_order: this.props.displayOrder ?? null,
307
+ };
308
+ }
309
+ }
@@ -41,9 +41,9 @@ export class CustomObjectAction {
41
41
 
42
42
  private readonly _actionId: string;
43
43
  private readonly _objectRqlName: string;
44
- private readonly _name: string;
45
- private readonly _functionApiName: string;
46
- private readonly _visibilityPreferences: CustomObjectActionVisibilityPreference[];
44
+ private _name: string;
45
+ private _functionApiName: string;
46
+ private _visibilityPreferences: CustomObjectActionVisibilityPreference[];
47
47
 
48
48
  constructor(customObject: CustomObject, props: CustomObjectActionProps) {
49
49
  if (!props.name.trim()) throw new Error('CustomObjectAction: name cannot be empty');
@@ -86,6 +86,25 @@ export class CustomObjectAction {
86
86
  return this._actionId;
87
87
  }
88
88
 
89
+ /** Replaces the action's display name. */
90
+ setName(name: string): this {
91
+ if (!name.trim()) throw new Error('CustomObjectAction: name cannot be empty');
92
+ this._name = name;
93
+ return this;
94
+ }
95
+
96
+ /** Replaces the function invoked by this action. */
97
+ setFunction(fn: ManifestFunction): this {
98
+ this._functionApiName = fn.getApiName();
99
+ return this;
100
+ }
101
+
102
+ /** Replaces the views where this action is shown. */
103
+ setVisibilityPreferences(preferences: CustomObjectActionVisibilityPreference[]): this {
104
+ this._visibilityPreferences = [...preferences];
105
+ return this;
106
+ }
107
+
89
108
  toDict(): Record<string, any> {
90
109
  return {
91
110
  type: CustomObjectAction.componentType,
@@ -1,5 +1,7 @@
1
1
  import { App } from './app';
2
2
  import { Category } from './category';
3
+ import { CustomField } from './custom-field';
4
+ import { CustomFieldSection } from './custom-field-section';
3
5
  import { CustomObject } from './custom-object';
4
6
  import { CustomObjectAction } from './custom-object-action';
5
7
  import { CustomObjectFieldSection } from './custom-object-field-section';
@@ -189,6 +191,24 @@ export class ExistingManifestContext {
189
191
  return this.loadCustomObjectComponent(component);
190
192
  }
191
193
 
194
+ loadCustomFieldSection(sectionId: string): CustomFieldSection {
195
+ const component = this.findUnique(
196
+ 'CUSTOM_FIELD_SECTION',
197
+ (candidate) => candidate['obj_id'] === sectionId,
198
+ `CUSTOM_FIELD_SECTION ${sectionId}`,
199
+ );
200
+ return this.loadCustomFieldSectionComponent(component);
201
+ }
202
+
203
+ loadCustomField(fieldIdOrApiName: string): CustomField {
204
+ const component = this.findUnique(
205
+ 'CUSTOM_FIELD_V2',
206
+ (candidate) => candidate['obj_id'] === fieldIdOrApiName || candidate['api_name'] === fieldIdOrApiName,
207
+ `CUSTOM_FIELD_V2 ${fieldIdOrApiName}`,
208
+ );
209
+ return this.loadCustomFieldComponent(component);
210
+ }
211
+
192
212
  loadFieldSection(
193
213
  sectionIdOrQualifiedId: string,
194
214
  options: ExistingManifestObjectOptions = {},
@@ -309,6 +329,10 @@ export class ExistingManifestContext {
309
329
  return this.loadCategoryComponent(component);
310
330
  case 'CUSTOM_OBJECT':
311
331
  return this.loadCustomObjectComponent(component);
332
+ case 'CUSTOM_FIELD_SECTION':
333
+ return this.loadCustomFieldSectionComponent(component);
334
+ case 'CUSTOM_FIELD_V2':
335
+ return this.loadCustomFieldComponent(component);
312
336
  case 'CUSTOM_OBJECT_ACTION':
313
337
  return this.loadCustomObjectActionComponent(component);
314
338
  case 'CUSTOM_OBJECT_FIELD_SECTION':
@@ -362,6 +386,24 @@ export class ExistingManifestContext {
362
386
  });
363
387
  }
364
388
 
389
+ private loadCustomFieldSectionComponent(component: Record<string, any>): CustomFieldSection {
390
+ const sectionId = requireStringComponentField(component, 'obj_id', CustomFieldSection.componentType);
391
+ const cacheKey = this.cacheKey('CUSTOM_FIELD_SECTION', sectionId);
392
+ return this.getOrLoad(cacheKey, () =>
393
+ CustomFieldSection._fromExistingComponent(this.getManifestBuilder(), component),
394
+ );
395
+ }
396
+
397
+ private loadCustomFieldComponent(component: Record<string, any>): CustomField {
398
+ const fieldId = requireStringComponentField(component, 'obj_id', CustomField.componentType);
399
+ const sectionId = requireStringComponentField(component, 'section', CustomField.componentType);
400
+ const cacheKey = this.cacheKey('CUSTOM_FIELD_V2', fieldId);
401
+ return this.getOrLoad(cacheKey, () => {
402
+ const section = this.loadCustomFieldSection(sectionId);
403
+ return CustomField._fromExistingComponent(this.getManifestBuilder(), component, section);
404
+ });
405
+ }
406
+
365
407
  private loadFieldSectionComponent(component: Record<string, any>): CustomObjectFieldSection {
366
408
  const modelName = requireStringComponentField(
367
409
  component,
@@ -20,6 +20,24 @@ export { App, type AppIcon, type AppPage, type AppProps } from './app';
20
20
 
21
21
  export { Category, type CategoryProps } from './category';
22
22
 
23
+ export {
24
+ CUSTOM_FIELD_TYPES,
25
+ CustomField,
26
+ CustomField as CustomFieldV2,
27
+ type CustomFieldApiName,
28
+ type CustomFieldCollectionTiming,
29
+ type CustomFieldDataType,
30
+ type CustomFieldDefaultValue,
31
+ type CustomFieldPermissionClassification,
32
+ type CustomFieldProps,
33
+ type CustomFieldReadAccess,
34
+ type CustomFieldType,
35
+ type CustomFieldUniqueIDCharacterType,
36
+ type CustomFieldWriteAccess,
37
+ } from './custom-field';
38
+
39
+ export { CustomFieldSection, type CustomFieldSectionProps } from './custom-field-section';
40
+
23
41
  export {
24
42
  CustomObject,
25
43
  type CustomObjectFieldInput,