@rippling/rippling-sdk 0.2.0-alpha.32 → 0.2.0-alpha.34

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 (191) hide show
  1. package/client.d.mts +8 -2
  2. package/client.d.mts.map +1 -1
  3. package/client.d.ts +8 -2
  4. package/client.d.ts.map +1 -1
  5. package/client.js +17 -0
  6. package/client.js.map +1 -1
  7. package/client.mjs +17 -0
  8. package/client.mjs.map +1 -1
  9. package/internal/types.d.mts +6 -6
  10. package/internal/types.d.mts.map +1 -1
  11. package/internal/types.d.ts +6 -6
  12. package/internal/types.d.ts.map +1 -1
  13. package/lib/manifest/_helpers.d.mts +91 -0
  14. package/lib/manifest/_helpers.d.mts.map +1 -0
  15. package/lib/manifest/_helpers.d.ts +91 -0
  16. package/lib/manifest/_helpers.d.ts.map +1 -0
  17. package/lib/manifest/_helpers.js +65 -0
  18. package/lib/manifest/_helpers.js.map +1 -0
  19. package/lib/manifest/_helpers.mjs +61 -0
  20. package/lib/manifest/_helpers.mjs.map +1 -0
  21. package/lib/manifest/app.d.mts +45 -0
  22. package/lib/manifest/app.d.mts.map +1 -0
  23. package/lib/manifest/app.d.ts +45 -0
  24. package/lib/manifest/app.d.ts.map +1 -0
  25. package/lib/manifest/app.js +74 -0
  26. package/lib/manifest/app.js.map +1 -0
  27. package/lib/manifest/app.mjs +70 -0
  28. package/lib/manifest/app.mjs.map +1 -0
  29. package/lib/manifest/category.d.mts +23 -0
  30. package/lib/manifest/category.d.mts.map +1 -0
  31. package/lib/manifest/category.d.ts +23 -0
  32. package/lib/manifest/category.d.ts.map +1 -0
  33. package/lib/manifest/category.js +37 -0
  34. package/lib/manifest/category.js.map +1 -0
  35. package/lib/manifest/category.mjs +33 -0
  36. package/lib/manifest/category.mjs.map +1 -0
  37. package/lib/manifest/custom-object-field-section.d.mts +21 -0
  38. package/lib/manifest/custom-object-field-section.d.mts.map +1 -0
  39. package/lib/manifest/custom-object-field-section.d.ts +21 -0
  40. package/lib/manifest/custom-object-field-section.d.ts.map +1 -0
  41. package/lib/manifest/custom-object-field-section.js +42 -0
  42. package/lib/manifest/custom-object-field-section.js.map +1 -0
  43. package/lib/manifest/custom-object-field-section.mjs +38 -0
  44. package/lib/manifest/custom-object-field-section.mjs.map +1 -0
  45. package/lib/manifest/custom-object-page-layout.d.mts +158 -0
  46. package/lib/manifest/custom-object-page-layout.d.mts.map +1 -0
  47. package/lib/manifest/custom-object-page-layout.d.ts +158 -0
  48. package/lib/manifest/custom-object-page-layout.d.ts.map +1 -0
  49. package/lib/manifest/custom-object-page-layout.js +112 -0
  50. package/lib/manifest/custom-object-page-layout.js.map +1 -0
  51. package/lib/manifest/custom-object-page-layout.mjs +108 -0
  52. package/lib/manifest/custom-object-page-layout.mjs.map +1 -0
  53. package/lib/manifest/custom-object.d.mts +52 -0
  54. package/lib/manifest/custom-object.d.mts.map +1 -0
  55. package/lib/manifest/custom-object.d.ts +52 -0
  56. package/lib/manifest/custom-object.d.ts.map +1 -0
  57. package/lib/manifest/custom-object.js +219 -0
  58. package/lib/manifest/custom-object.js.map +1 -0
  59. package/lib/manifest/custom-object.mjs +215 -0
  60. package/lib/manifest/custom-object.mjs.map +1 -0
  61. package/lib/manifest/field.d.mts +276 -0
  62. package/lib/manifest/field.d.mts.map +1 -0
  63. package/lib/manifest/field.d.ts +276 -0
  64. package/lib/manifest/field.d.ts.map +1 -0
  65. package/lib/manifest/field.js +418 -0
  66. package/lib/manifest/field.js.map +1 -0
  67. package/lib/manifest/field.mjs +395 -0
  68. package/lib/manifest/field.mjs.map +1 -0
  69. package/lib/manifest/index.d.mts +15 -0
  70. package/lib/manifest/index.d.mts.map +1 -0
  71. package/lib/manifest/index.d.ts +15 -0
  72. package/lib/manifest/index.d.ts.map +1 -0
  73. package/lib/manifest/index.js +53 -0
  74. package/lib/manifest/index.js.map +1 -0
  75. package/lib/manifest/index.mjs +18 -0
  76. package/lib/manifest/index.mjs.map +1 -0
  77. package/lib/manifest/list-view.d.mts +47 -0
  78. package/lib/manifest/list-view.d.mts.map +1 -0
  79. package/lib/manifest/list-view.d.ts +47 -0
  80. package/lib/manifest/list-view.d.ts.map +1 -0
  81. package/lib/manifest/list-view.js +73 -0
  82. package/lib/manifest/list-view.js.map +1 -0
  83. package/lib/manifest/list-view.mjs +69 -0
  84. package/lib/manifest/list-view.mjs.map +1 -0
  85. package/lib/manifest/manifest-builder.d.mts +44 -0
  86. package/lib/manifest/manifest-builder.d.mts.map +1 -0
  87. package/lib/manifest/manifest-builder.d.ts +44 -0
  88. package/lib/manifest/manifest-builder.d.ts.map +1 -0
  89. package/lib/manifest/manifest-builder.js +69 -0
  90. package/lib/manifest/manifest-builder.js.map +1 -0
  91. package/lib/manifest/manifest-builder.mjs +65 -0
  92. package/lib/manifest/manifest-builder.mjs.map +1 -0
  93. package/lib/manifest/manifest-function.d.mts +39 -0
  94. package/lib/manifest/manifest-function.d.mts.map +1 -0
  95. package/lib/manifest/manifest-function.d.ts +39 -0
  96. package/lib/manifest/manifest-function.d.ts.map +1 -0
  97. package/lib/manifest/manifest-function.js +56 -0
  98. package/lib/manifest/manifest-function.js.map +1 -0
  99. package/lib/manifest/manifest-function.mjs +52 -0
  100. package/lib/manifest/manifest-function.mjs.map +1 -0
  101. package/lib/manifest/rule.d.mts +50 -0
  102. package/lib/manifest/rule.d.mts.map +1 -0
  103. package/lib/manifest/rule.d.ts +50 -0
  104. package/lib/manifest/rule.d.ts.map +1 -0
  105. package/lib/manifest/rule.js +84 -0
  106. package/lib/manifest/rule.js.map +1 -0
  107. package/lib/manifest/rule.mjs +80 -0
  108. package/lib/manifest/rule.mjs.map +1 -0
  109. package/lib/manifest/sdui-page.d.mts +33 -0
  110. package/lib/manifest/sdui-page.d.mts.map +1 -0
  111. package/lib/manifest/sdui-page.d.ts +33 -0
  112. package/lib/manifest/sdui-page.d.ts.map +1 -0
  113. package/lib/manifest/sdui-page.js +52 -0
  114. package/lib/manifest/sdui-page.js.map +1 -0
  115. package/lib/manifest/sdui-page.mjs +48 -0
  116. package/lib/manifest/sdui-page.mjs.map +1 -0
  117. package/lib/manifest/validation.d.mts +41 -0
  118. package/lib/manifest/validation.d.mts.map +1 -0
  119. package/lib/manifest/validation.d.ts +41 -0
  120. package/lib/manifest/validation.d.ts.map +1 -0
  121. package/lib/manifest/validation.js +57 -0
  122. package/lib/manifest/validation.js.map +1 -0
  123. package/lib/manifest/validation.mjs +53 -0
  124. package/lib/manifest/validation.mjs.map +1 -0
  125. package/package.json +11 -1
  126. package/resources/draft-hires.d.mts +22 -0
  127. package/resources/draft-hires.d.mts.map +1 -1
  128. package/resources/draft-hires.d.ts +22 -0
  129. package/resources/draft-hires.d.ts.map +1 -1
  130. package/resources/earnings-inputs.d.mts +104 -1
  131. package/resources/earnings-inputs.d.mts.map +1 -1
  132. package/resources/earnings-inputs.d.ts +104 -1
  133. package/resources/earnings-inputs.d.ts.map +1 -1
  134. package/resources/earnings-inputs.js +17 -0
  135. package/resources/earnings-inputs.js.map +1 -1
  136. package/resources/earnings-inputs.mjs +17 -0
  137. package/resources/earnings-inputs.mjs.map +1 -1
  138. package/resources/files.d.mts +149 -0
  139. package/resources/files.d.mts.map +1 -0
  140. package/resources/files.d.ts +149 -0
  141. package/resources/files.d.ts.map +1 -0
  142. package/resources/files.js +25 -0
  143. package/resources/files.js.map +1 -0
  144. package/resources/files.mjs +21 -0
  145. package/resources/files.mjs.map +1 -0
  146. package/resources/index.d.mts +2 -1
  147. package/resources/index.d.mts.map +1 -1
  148. package/resources/index.d.ts +2 -1
  149. package/resources/index.d.ts.map +1 -1
  150. package/resources/index.js +4 -2
  151. package/resources/index.js.map +1 -1
  152. package/resources/index.mjs +1 -0
  153. package/resources/index.mjs.map +1 -1
  154. package/resources/object-categories.d.mts +1 -1
  155. package/resources/object-categories.d.ts +1 -1
  156. package/resources/object-categories.js +1 -1
  157. package/resources/object-categories.mjs +1 -1
  158. package/resources/report-runs.d.mts +11 -11
  159. package/resources/report-runs.d.ts +11 -11
  160. package/resources/workflow-action-executions.d.mts +17 -2
  161. package/resources/workflow-action-executions.d.mts.map +1 -1
  162. package/resources/workflow-action-executions.d.ts +17 -2
  163. package/resources/workflow-action-executions.d.ts.map +1 -1
  164. package/src/client.ts +29 -0
  165. package/src/internal/types.ts +6 -8
  166. package/src/lib/manifest/_helpers.ts +164 -0
  167. package/src/lib/manifest/app.ts +108 -0
  168. package/src/lib/manifest/category.ts +51 -0
  169. package/src/lib/manifest/custom-object-field-section.ts +54 -0
  170. package/src/lib/manifest/custom-object-page-layout.ts +292 -0
  171. package/src/lib/manifest/custom-object.ts +269 -0
  172. package/src/lib/manifest/field.ts +632 -0
  173. package/src/lib/manifest/index.ts +114 -0
  174. package/src/lib/manifest/list-view.ts +103 -0
  175. package/src/lib/manifest/manifest-builder.ts +97 -0
  176. package/src/lib/manifest/manifest-function.ts +81 -0
  177. package/src/lib/manifest/rule.ts +125 -0
  178. package/src/lib/manifest/sdui-page.ts +72 -0
  179. package/src/lib/manifest/validation.ts +87 -0
  180. package/src/resources/draft-hires.ts +26 -0
  181. package/src/resources/earnings-inputs.ts +140 -0
  182. package/src/resources/files.ts +186 -0
  183. package/src/resources/index.ts +3 -0
  184. package/src/resources/object-categories.ts +1 -1
  185. package/src/resources/report-runs.ts +32 -32
  186. package/src/resources/workflow-action-executions.ts +22 -1
  187. package/src/version.ts +1 -1
  188. package/version.d.mts +1 -1
  189. package/version.d.ts +1 -1
  190. package/version.js +1 -1
  191. package/version.mjs +1 -1
@@ -0,0 +1,45 @@
1
+ import { CustomObject } from "./custom-object.js";
2
+ import type { ManifestScope } from "./manifest-builder.js";
3
+ import { SduiPage } from "./sdui-page.js";
4
+ /**
5
+ * A single page entry in an App:
6
+ * - `CustomObject` → object page, tab `api_name = co.getApiName()`
7
+ * - `SduiPage` → SDUI page, tab `api_name = page.getSduiPageId()`
8
+ */
9
+ export type AppPage = CustomObject | SduiPage;
10
+ export interface AppIcon {
11
+ s3Bucket: string;
12
+ s3Key: string;
13
+ }
14
+ export interface AppProps {
15
+ /** Required. App api_name. */
16
+ apiName: string;
17
+ /** Required. Display name. */
18
+ name: string;
19
+ /** Optional. App description. @default null */
20
+ description?: string;
21
+ /** Optional. App type. @default 'custom' */
22
+ appType?: string;
23
+ /** Optional. S3 icon reference. @default null */
24
+ icon?: AppIcon;
25
+ /** Optional. Pages shown as tabs in the App; order is preserved. @default [] */
26
+ pages?: AppPage[];
27
+ }
28
+ export declare class App {
29
+ private readonly _apiName;
30
+ private readonly _name;
31
+ private readonly _description;
32
+ private readonly _appType;
33
+ private readonly _icon;
34
+ /** Wire-format pages, resolved eagerly at construction. */
35
+ private readonly _pages;
36
+ /** Build a new app and auto-register with `scope`; resolves page refs eagerly. */
37
+ constructor(scope: ManifestScope, props: AppProps);
38
+ /** Backend api_name for this app. */
39
+ getApiName(): string;
40
+ /** Display name shown in the UI. */
41
+ getName(): string;
42
+ /** Serialize to the backend `CUSTOM_APP` wire shape; omits unset optional fields. */
43
+ toDict(): Record<string, any>;
44
+ }
45
+ //# sourceMappingURL=app.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"app.d.ts","sourceRoot":"","sources":["../../src/lib/manifest/app.ts"],"names":[],"mappings":"OAaO,EAAE,YAAY,EAAE;OAChB,KAAK,EAAE,aAAa,EAAE;OACtB,EAAE,QAAQ,EAAE;AAEnB;;;;GAIG;AACH,MAAM,MAAM,OAAO,GAAG,YAAY,GAAG,QAAQ,CAAC;AAE9C,MAAM,WAAW,OAAO;IACtB,QAAQ,EAAE,MAAM,CAAC;IACjB,KAAK,EAAE,MAAM,CAAC;CACf;AAED,MAAM,WAAW,QAAQ;IACvB,8BAA8B;IAC9B,OAAO,EAAE,MAAM,CAAC;IAChB,8BAA8B;IAC9B,IAAI,EAAE,MAAM,CAAC;IACb,+CAA+C;IAC/C,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,4CAA4C;IAC5C,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,iDAAiD;IACjD,IAAI,CAAC,EAAE,OAAO,CAAC;IACf,gFAAgF;IAChF,KAAK,CAAC,EAAE,OAAO,EAAE,CAAC;CACnB;AAoBD,qBAAa,GAAG;IACd,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAS;IAClC,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAS;IAC/B,OAAO,CAAC,QAAQ,CAAC,YAAY,CAAqB;IAClD,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAqB;IAC9C,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAsB;IAC5C,2DAA2D;IAC3D,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAwB;IAE/C,kFAAkF;gBACtE,KAAK,EAAE,aAAa,EAAE,KAAK,EAAE,QAAQ;IAUjD,qCAAqC;IACrC,UAAU,IAAI,MAAM;IAIpB,oCAAoC;IACpC,OAAO,IAAI,MAAM;IAIjB,qFAAqF;IACrF,MAAM,IAAI,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC;CAc9B"}
@@ -0,0 +1,74 @@
1
+ "use strict";
2
+ /*
3
+ * The contents of this file were inserted manually and are not generated by Stainless.
4
+ *
5
+ * Unity App definitions that group pages for navigation.
6
+ * Backend schema: CUSTOM_APP (v2)
7
+ *
8
+ * Pages are declared at construction as a flat array of live refs — pass a
9
+ * `CustomObject` for an object-page tab, or an `SduiPage` for a custom SDUI
10
+ * surface. The tab `api_name` is derived from the ref's own identifier.
11
+ * External refs (e.g. native-model `employee`, or an externally-authored
12
+ * SDUI page) are not supported yet; add when a real case appears.
13
+ */
14
+ Object.defineProperty(exports, "__esModule", { value: true });
15
+ exports.App = void 0;
16
+ const custom_object_1 = require("./custom-object.js");
17
+ function resolvePage(entry) {
18
+ if (entry instanceof custom_object_1.CustomObject) {
19
+ const apiName = entry.getApiName();
20
+ return {
21
+ api_name: apiName,
22
+ page_type: 'object_page',
23
+ object_rql_name: apiName,
24
+ };
25
+ }
26
+ else {
27
+ const sduiPageId = entry.getSduiPageId();
28
+ return {
29
+ api_name: sduiPageId,
30
+ page_type: 'sdui_page',
31
+ sdui_page_id: sduiPageId,
32
+ };
33
+ }
34
+ }
35
+ class App {
36
+ /** Build a new app and auto-register with `scope`; resolves page refs eagerly. */
37
+ constructor(scope, props) {
38
+ this._apiName = props.apiName;
39
+ this._name = props.name;
40
+ this._description = props.description;
41
+ this._appType = props.appType;
42
+ this._icon = props.icon;
43
+ this._pages = (props.pages ?? []).map(resolvePage);
44
+ scope._register(this);
45
+ }
46
+ /** Backend api_name for this app. */
47
+ getApiName() {
48
+ return this._apiName;
49
+ }
50
+ /** Display name shown in the UI. */
51
+ getName() {
52
+ return this._name;
53
+ }
54
+ /** Serialize to the backend `CUSTOM_APP` wire shape; omits unset optional fields. */
55
+ toDict() {
56
+ const component = {
57
+ type: 'CUSTOM_APP',
58
+ api_name: this._apiName,
59
+ name: this._name,
60
+ };
61
+ if (this._description != null)
62
+ component['description'] = this._description;
63
+ if (this._icon != null) {
64
+ component['icon'] = { s3_bucket: this._icon.s3Bucket, s3_key: this._icon.s3Key };
65
+ }
66
+ if (this._appType != null)
67
+ component['app_type'] = this._appType;
68
+ if (this._pages.length > 0)
69
+ component['pages'] = this._pages.map((p) => ({ ...p }));
70
+ return component;
71
+ }
72
+ }
73
+ exports.App = App;
74
+ //# sourceMappingURL=app.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"app.js","sourceRoot":"","sources":["../../src/lib/manifest/app.ts"],"names":[],"mappings":";AAAA;;;;;;;;;;;GAWG;;;AAEH,sDAA+C;AA+B/C,SAAS,WAAW,CAAC,KAAc;IACjC,IAAI,KAAK,YAAY,4BAAY,EAAE,CAAC;QAClC,MAAM,OAAO,GAAG,KAAK,CAAC,UAAU,EAAE,CAAC;QACnC,OAAO;YACL,QAAQ,EAAE,OAAO;YACjB,SAAS,EAAE,aAAa;YACxB,eAAe,EAAE,OAAO;SACzB,CAAC;IACJ,CAAC;SAAM,CAAC;QACN,MAAM,UAAU,GAAG,KAAK,CAAC,aAAa,EAAE,CAAC;QACzC,OAAO;YACL,QAAQ,EAAE,UAAU;YACpB,SAAS,EAAE,WAAW;YACtB,YAAY,EAAE,UAAU;SACzB,CAAC;IACJ,CAAC;AACH,CAAC;AAED,MAAa,GAAG;IASd,kFAAkF;IAClF,YAAY,KAAoB,EAAE,KAAe;QAC/C,IAAI,CAAC,QAAQ,GAAG,KAAK,CAAC,OAAO,CAAC;QAC9B,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC,IAAI,CAAC;QACxB,IAAI,CAAC,YAAY,GAAG,KAAK,CAAC,WAAW,CAAC;QACtC,IAAI,CAAC,QAAQ,GAAG,KAAK,CAAC,OAAO,CAAC;QAC9B,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC,IAAI,CAAC;QACxB,IAAI,CAAC,MAAM,GAAG,CAAC,KAAK,CAAC,KAAK,IAAI,EAAE,CAAC,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC;QACnD,KAAK,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC;IACxB,CAAC;IAED,qCAAqC;IACrC,UAAU;QACR,OAAO,IAAI,CAAC,QAAQ,CAAC;IACvB,CAAC;IAED,oCAAoC;IACpC,OAAO;QACL,OAAO,IAAI,CAAC,KAAK,CAAC;IACpB,CAAC;IAED,qFAAqF;IACrF,MAAM;QACJ,MAAM,SAAS,GAAwB;YACrC,IAAI,EAAE,YAAY;YAClB,QAAQ,EAAE,IAAI,CAAC,QAAQ;YACvB,IAAI,EAAE,IAAI,CAAC,KAAK;SACjB,CAAC;QACF,IAAI,IAAI,CAAC,YAAY,IAAI,IAAI;YAAE,SAAS,CAAC,aAAa,CAAC,GAAG,IAAI,CAAC,YAAY,CAAC;QAC5E,IAAI,IAAI,CAAC,KAAK,IAAI,IAAI,EAAE,CAAC;YACvB,SAAS,CAAC,MAAM,CAAC,GAAG,EAAE,SAAS,EAAE,IAAI,CAAC,KAAK,CAAC,QAAQ,EAAE,MAAM,EAAE,IAAI,CAAC,KAAK,CAAC,KAAK,EAAE,CAAC;QACnF,CAAC;QACD,IAAI,IAAI,CAAC,QAAQ,IAAI,IAAI;YAAE,SAAS,CAAC,UAAU,CAAC,GAAG,IAAI,CAAC,QAAQ,CAAC;QACjE,IAAI,IAAI,CAAC,MAAM,CAAC,MAAM,GAAG,CAAC;YAAE,SAAS,CAAC,OAAO,CAAC,GAAG,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,EAAE,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC;QACpF,OAAO,SAAS,CAAC;IACnB,CAAC;CACF;AA7CD,kBA6CC"}
@@ -0,0 +1,70 @@
1
+ /*
2
+ * The contents of this file were inserted manually and are not generated by Stainless.
3
+ *
4
+ * Unity App definitions that group pages for navigation.
5
+ * Backend schema: CUSTOM_APP (v2)
6
+ *
7
+ * Pages are declared at construction as a flat array of live refs — pass a
8
+ * `CustomObject` for an object-page tab, or an `SduiPage` for a custom SDUI
9
+ * surface. The tab `api_name` is derived from the ref's own identifier.
10
+ * External refs (e.g. native-model `employee`, or an externally-authored
11
+ * SDUI page) are not supported yet; add when a real case appears.
12
+ */
13
+ import { CustomObject } from "./custom-object.mjs";
14
+ function resolvePage(entry) {
15
+ if (entry instanceof CustomObject) {
16
+ const apiName = entry.getApiName();
17
+ return {
18
+ api_name: apiName,
19
+ page_type: 'object_page',
20
+ object_rql_name: apiName,
21
+ };
22
+ }
23
+ else {
24
+ const sduiPageId = entry.getSduiPageId();
25
+ return {
26
+ api_name: sduiPageId,
27
+ page_type: 'sdui_page',
28
+ sdui_page_id: sduiPageId,
29
+ };
30
+ }
31
+ }
32
+ export class App {
33
+ /** Build a new app and auto-register with `scope`; resolves page refs eagerly. */
34
+ constructor(scope, props) {
35
+ this._apiName = props.apiName;
36
+ this._name = props.name;
37
+ this._description = props.description;
38
+ this._appType = props.appType;
39
+ this._icon = props.icon;
40
+ this._pages = (props.pages ?? []).map(resolvePage);
41
+ scope._register(this);
42
+ }
43
+ /** Backend api_name for this app. */
44
+ getApiName() {
45
+ return this._apiName;
46
+ }
47
+ /** Display name shown in the UI. */
48
+ getName() {
49
+ return this._name;
50
+ }
51
+ /** Serialize to the backend `CUSTOM_APP` wire shape; omits unset optional fields. */
52
+ toDict() {
53
+ const component = {
54
+ type: 'CUSTOM_APP',
55
+ api_name: this._apiName,
56
+ name: this._name,
57
+ };
58
+ if (this._description != null)
59
+ component['description'] = this._description;
60
+ if (this._icon != null) {
61
+ component['icon'] = { s3_bucket: this._icon.s3Bucket, s3_key: this._icon.s3Key };
62
+ }
63
+ if (this._appType != null)
64
+ component['app_type'] = this._appType;
65
+ if (this._pages.length > 0)
66
+ component['pages'] = this._pages.map((p) => ({ ...p }));
67
+ return component;
68
+ }
69
+ }
70
+ //# sourceMappingURL=app.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"app.mjs","sourceRoot":"","sources":["../../src/lib/manifest/app.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;OAEI,EAAE,YAAY,EAAE;AA+BvB,SAAS,WAAW,CAAC,KAAc;IACjC,IAAI,KAAK,YAAY,YAAY,EAAE,CAAC;QAClC,MAAM,OAAO,GAAG,KAAK,CAAC,UAAU,EAAE,CAAC;QACnC,OAAO;YACL,QAAQ,EAAE,OAAO;YACjB,SAAS,EAAE,aAAa;YACxB,eAAe,EAAE,OAAO;SACzB,CAAC;IACJ,CAAC;SAAM,CAAC;QACN,MAAM,UAAU,GAAG,KAAK,CAAC,aAAa,EAAE,CAAC;QACzC,OAAO;YACL,QAAQ,EAAE,UAAU;YACpB,SAAS,EAAE,WAAW;YACtB,YAAY,EAAE,UAAU;SACzB,CAAC;IACJ,CAAC;AACH,CAAC;AAED,MAAM,OAAO,GAAG;IASd,kFAAkF;IAClF,YAAY,KAAoB,EAAE,KAAe;QAC/C,IAAI,CAAC,QAAQ,GAAG,KAAK,CAAC,OAAO,CAAC;QAC9B,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC,IAAI,CAAC;QACxB,IAAI,CAAC,YAAY,GAAG,KAAK,CAAC,WAAW,CAAC;QACtC,IAAI,CAAC,QAAQ,GAAG,KAAK,CAAC,OAAO,CAAC;QAC9B,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC,IAAI,CAAC;QACxB,IAAI,CAAC,MAAM,GAAG,CAAC,KAAK,CAAC,KAAK,IAAI,EAAE,CAAC,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC;QACnD,KAAK,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC;IACxB,CAAC;IAED,qCAAqC;IACrC,UAAU;QACR,OAAO,IAAI,CAAC,QAAQ,CAAC;IACvB,CAAC;IAED,oCAAoC;IACpC,OAAO;QACL,OAAO,IAAI,CAAC,KAAK,CAAC;IACpB,CAAC;IAED,qFAAqF;IACrF,MAAM;QACJ,MAAM,SAAS,GAAwB;YACrC,IAAI,EAAE,YAAY;YAClB,QAAQ,EAAE,IAAI,CAAC,QAAQ;YACvB,IAAI,EAAE,IAAI,CAAC,KAAK;SACjB,CAAC;QACF,IAAI,IAAI,CAAC,YAAY,IAAI,IAAI;YAAE,SAAS,CAAC,aAAa,CAAC,GAAG,IAAI,CAAC,YAAY,CAAC;QAC5E,IAAI,IAAI,CAAC,KAAK,IAAI,IAAI,EAAE,CAAC;YACvB,SAAS,CAAC,MAAM,CAAC,GAAG,EAAE,SAAS,EAAE,IAAI,CAAC,KAAK,CAAC,QAAQ,EAAE,MAAM,EAAE,IAAI,CAAC,KAAK,CAAC,KAAK,EAAE,CAAC;QACnF,CAAC;QACD,IAAI,IAAI,CAAC,QAAQ,IAAI,IAAI;YAAE,SAAS,CAAC,UAAU,CAAC,GAAG,IAAI,CAAC,QAAQ,CAAC;QACjE,IAAI,IAAI,CAAC,MAAM,CAAC,MAAM,GAAG,CAAC;YAAE,SAAS,CAAC,OAAO,CAAC,GAAG,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,EAAE,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC;QACpF,OAAO,SAAS,CAAC;IACnB,CAAC;CACF"}
@@ -0,0 +1,23 @@
1
+ import type { ManifestScope } from "./manifest-builder.mjs";
2
+ export interface CategoryProps {
3
+ /** Required. Unique API name (e.g. `'finance__c'`). */
4
+ apiName: string;
5
+ /** Required. Display name shown in the UI. */
6
+ name: string;
7
+ /** Optional. Description. Pass `null` explicitly for "no description". @default null */
8
+ description?: string | null;
9
+ }
10
+ export declare class Category {
11
+ private readonly _apiName;
12
+ private readonly _name;
13
+ private readonly _description;
14
+ /** Build a new category and auto-register with `scope` (usually a `ManifestBuilder`). */
15
+ constructor(scope: ManifestScope, props: CategoryProps);
16
+ /** Backend api_name used as this category's identifier. */
17
+ getApiName(): string;
18
+ /** Display name shown in the UI. */
19
+ getName(): string;
20
+ /** Serialize to the backend `CUSTOM_CATEGORY` wire shape. */
21
+ toDict(): Record<string, any>;
22
+ }
23
+ //# sourceMappingURL=category.d.mts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"category.d.mts","sourceRoot":"","sources":["../../src/lib/manifest/category.ts"],"names":[],"mappings":"OAOO,KAAK,EAAE,aAAa,EAAE;AAE7B,MAAM,WAAW,aAAa;IAC5B,uDAAuD;IACvD,OAAO,EAAE,MAAM,CAAC;IAChB,8CAA8C;IAC9C,IAAI,EAAE,MAAM,CAAC;IACb,wFAAwF;IACxF,WAAW,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;CAC7B;AAED,qBAAa,QAAQ;IACnB,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAS;IAClC,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAS;IAC/B,OAAO,CAAC,QAAQ,CAAC,YAAY,CAAgB;IAE7C,yFAAyF;gBAC7E,KAAK,EAAE,aAAa,EAAE,KAAK,EAAE,aAAa;IAOtD,2DAA2D;IAC3D,UAAU,IAAI,MAAM;IAIpB,oCAAoC;IACpC,OAAO,IAAI,MAAM;IAIjB,6DAA6D;IAC7D,MAAM,IAAI,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC;CAQ9B"}
@@ -0,0 +1,23 @@
1
+ import type { ManifestScope } from "./manifest-builder.js";
2
+ export interface CategoryProps {
3
+ /** Required. Unique API name (e.g. `'finance__c'`). */
4
+ apiName: string;
5
+ /** Required. Display name shown in the UI. */
6
+ name: string;
7
+ /** Optional. Description. Pass `null` explicitly for "no description". @default null */
8
+ description?: string | null;
9
+ }
10
+ export declare class Category {
11
+ private readonly _apiName;
12
+ private readonly _name;
13
+ private readonly _description;
14
+ /** Build a new category and auto-register with `scope` (usually a `ManifestBuilder`). */
15
+ constructor(scope: ManifestScope, props: CategoryProps);
16
+ /** Backend api_name used as this category's identifier. */
17
+ getApiName(): string;
18
+ /** Display name shown in the UI. */
19
+ getName(): string;
20
+ /** Serialize to the backend `CUSTOM_CATEGORY` wire shape. */
21
+ toDict(): Record<string, any>;
22
+ }
23
+ //# sourceMappingURL=category.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"category.d.ts","sourceRoot":"","sources":["../../src/lib/manifest/category.ts"],"names":[],"mappings":"OAOO,KAAK,EAAE,aAAa,EAAE;AAE7B,MAAM,WAAW,aAAa;IAC5B,uDAAuD;IACvD,OAAO,EAAE,MAAM,CAAC;IAChB,8CAA8C;IAC9C,IAAI,EAAE,MAAM,CAAC;IACb,wFAAwF;IACxF,WAAW,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;CAC7B;AAED,qBAAa,QAAQ;IACnB,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAS;IAClC,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAS;IAC/B,OAAO,CAAC,QAAQ,CAAC,YAAY,CAAgB;IAE7C,yFAAyF;gBAC7E,KAAK,EAAE,aAAa,EAAE,KAAK,EAAE,aAAa;IAOtD,2DAA2D;IAC3D,UAAU,IAAI,MAAM;IAIpB,oCAAoC;IACpC,OAAO,IAAI,MAAM;IAIjB,6DAA6D;IAC7D,MAAM,IAAI,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC;CAQ9B"}
@@ -0,0 +1,37 @@
1
+ "use strict";
2
+ /*
3
+ * The contents of this file were inserted manually and are not generated by Stainless.
4
+ *
5
+ * Rippling category definitions for grouping objects in navigation.
6
+ * Backend schema: CUSTOM_CATEGORY (v2)
7
+ */
8
+ Object.defineProperty(exports, "__esModule", { value: true });
9
+ exports.Category = void 0;
10
+ class Category {
11
+ /** Build a new category and auto-register with `scope` (usually a `ManifestBuilder`). */
12
+ constructor(scope, props) {
13
+ this._apiName = props.apiName;
14
+ this._name = props.name;
15
+ this._description = props.description ?? null;
16
+ scope._register(this);
17
+ }
18
+ /** Backend api_name used as this category's identifier. */
19
+ getApiName() {
20
+ return this._apiName;
21
+ }
22
+ /** Display name shown in the UI. */
23
+ getName() {
24
+ return this._name;
25
+ }
26
+ /** Serialize to the backend `CUSTOM_CATEGORY` wire shape. */
27
+ toDict() {
28
+ return {
29
+ type: 'CUSTOM_CATEGORY',
30
+ api_name: this._apiName,
31
+ name: this._name,
32
+ description: this._description ?? null,
33
+ };
34
+ }
35
+ }
36
+ exports.Category = Category;
37
+ //# sourceMappingURL=category.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"category.js","sourceRoot":"","sources":["../../src/lib/manifest/category.ts"],"names":[],"mappings":";AAAA;;;;;GAKG;;;AAaH,MAAa,QAAQ;IAKnB,yFAAyF;IACzF,YAAY,KAAoB,EAAE,KAAoB;QACpD,IAAI,CAAC,QAAQ,GAAG,KAAK,CAAC,OAAO,CAAC;QAC9B,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC,IAAI,CAAC;QACxB,IAAI,CAAC,YAAY,GAAG,KAAK,CAAC,WAAW,IAAI,IAAI,CAAC;QAC9C,KAAK,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC;IACxB,CAAC;IAED,2DAA2D;IAC3D,UAAU;QACR,OAAO,IAAI,CAAC,QAAQ,CAAC;IACvB,CAAC;IAED,oCAAoC;IACpC,OAAO;QACL,OAAO,IAAI,CAAC,KAAK,CAAC;IACpB,CAAC;IAED,6DAA6D;IAC7D,MAAM;QACJ,OAAO;YACL,IAAI,EAAE,iBAAiB;YACvB,QAAQ,EAAE,IAAI,CAAC,QAAQ;YACvB,IAAI,EAAE,IAAI,CAAC,KAAK;YAChB,WAAW,EAAE,IAAI,CAAC,YAAY,IAAI,IAAI;SACvC,CAAC;IACJ,CAAC;CACF;AAhCD,4BAgCC"}
@@ -0,0 +1,33 @@
1
+ /*
2
+ * The contents of this file were inserted manually and are not generated by Stainless.
3
+ *
4
+ * Rippling category definitions for grouping objects in navigation.
5
+ * Backend schema: CUSTOM_CATEGORY (v2)
6
+ */
7
+ export class Category {
8
+ /** Build a new category and auto-register with `scope` (usually a `ManifestBuilder`). */
9
+ constructor(scope, props) {
10
+ this._apiName = props.apiName;
11
+ this._name = props.name;
12
+ this._description = props.description ?? null;
13
+ scope._register(this);
14
+ }
15
+ /** Backend api_name used as this category's identifier. */
16
+ getApiName() {
17
+ return this._apiName;
18
+ }
19
+ /** Display name shown in the UI. */
20
+ getName() {
21
+ return this._name;
22
+ }
23
+ /** Serialize to the backend `CUSTOM_CATEGORY` wire shape. */
24
+ toDict() {
25
+ return {
26
+ type: 'CUSTOM_CATEGORY',
27
+ api_name: this._apiName,
28
+ name: this._name,
29
+ description: this._description ?? null,
30
+ };
31
+ }
32
+ }
33
+ //# sourceMappingURL=category.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"category.mjs","sourceRoot":"","sources":["../../src/lib/manifest/category.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAaH,MAAM,OAAO,QAAQ;IAKnB,yFAAyF;IACzF,YAAY,KAAoB,EAAE,KAAoB;QACpD,IAAI,CAAC,QAAQ,GAAG,KAAK,CAAC,OAAO,CAAC;QAC9B,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC,IAAI,CAAC;QACxB,IAAI,CAAC,YAAY,GAAG,KAAK,CAAC,WAAW,IAAI,IAAI,CAAC;QAC9C,KAAK,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC;IACxB,CAAC;IAED,2DAA2D;IAC3D,UAAU;QACR,OAAO,IAAI,CAAC,QAAQ,CAAC;IACvB,CAAC;IAED,oCAAoC;IACpC,OAAO;QACL,OAAO,IAAI,CAAC,KAAK,CAAC;IACpB,CAAC;IAED,6DAA6D;IAC7D,MAAM;QACJ,OAAO;YACL,IAAI,EAAE,iBAAiB;YACvB,QAAQ,EAAE,IAAI,CAAC,QAAQ;YACvB,IAAI,EAAE,IAAI,CAAC,KAAK;YAChB,WAAW,EAAE,IAAI,CAAC,YAAY,IAAI,IAAI;SACvC,CAAC;IACJ,CAAC;CACF"}
@@ -0,0 +1,21 @@
1
+ import type { CustomObject } from "./custom-object.mjs";
2
+ export interface CustomObjectFieldSectionProps {
3
+ /** Required. Display name of the section. */
4
+ name: string;
5
+ /** Identity override. Override the section identifier. @default generateId('sec') */
6
+ sectionId?: string;
7
+ }
8
+ export declare class CustomObjectFieldSection {
9
+ private readonly _sectionId;
10
+ private readonly _name;
11
+ private readonly _model;
12
+ /** Build a new section and auto-register with the CO's scope. */
13
+ constructor(customObject: CustomObject, props: CustomObjectFieldSectionProps);
14
+ /** Backend section_id used as this section's identifier. */
15
+ getSectionId(): string;
16
+ /** api_name of the parent custom object this section lives on. */
17
+ getModelApiName(): string;
18
+ /** Serialize to the backend `CUSTOM_OBJECT_FIELD_SECTION` wire shape. */
19
+ toDict(): Record<string, any>;
20
+ }
21
+ //# sourceMappingURL=custom-object-field-section.d.mts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"custom-object-field-section.d.mts","sourceRoot":"","sources":["../../src/lib/manifest/custom-object-field-section.ts"],"names":[],"mappings":"OAYO,KAAK,EAAE,YAAY,EAAE;AAE5B,MAAM,WAAW,6BAA6B;IAC5C,6CAA6C;IAC7C,IAAI,EAAE,MAAM,CAAC;IACb,qFAAqF;IACrF,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED,qBAAa,wBAAwB;IACnC,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAS;IACpC,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAS;IAC/B,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAe;IAEtC,iEAAiE;gBACrD,YAAY,EAAE,YAAY,EAAE,KAAK,EAAE,6BAA6B;IAO5E,4DAA4D;IAC5D,YAAY,IAAI,MAAM;IAItB,kEAAkE;IAClE,eAAe,IAAI,MAAM;IAIzB,yEAAyE;IACzE,MAAM,IAAI,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC;CAQ9B"}
@@ -0,0 +1,21 @@
1
+ import type { CustomObject } from "./custom-object.js";
2
+ export interface CustomObjectFieldSectionProps {
3
+ /** Required. Display name of the section. */
4
+ name: string;
5
+ /** Identity override. Override the section identifier. @default generateId('sec') */
6
+ sectionId?: string;
7
+ }
8
+ export declare class CustomObjectFieldSection {
9
+ private readonly _sectionId;
10
+ private readonly _name;
11
+ private readonly _model;
12
+ /** Build a new section and auto-register with the CO's scope. */
13
+ constructor(customObject: CustomObject, props: CustomObjectFieldSectionProps);
14
+ /** Backend section_id used as this section's identifier. */
15
+ getSectionId(): string;
16
+ /** api_name of the parent custom object this section lives on. */
17
+ getModelApiName(): string;
18
+ /** Serialize to the backend `CUSTOM_OBJECT_FIELD_SECTION` wire shape. */
19
+ toDict(): Record<string, any>;
20
+ }
21
+ //# sourceMappingURL=custom-object-field-section.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"custom-object-field-section.d.ts","sourceRoot":"","sources":["../../src/lib/manifest/custom-object-field-section.ts"],"names":[],"mappings":"OAYO,KAAK,EAAE,YAAY,EAAE;AAE5B,MAAM,WAAW,6BAA6B;IAC5C,6CAA6C;IAC7C,IAAI,EAAE,MAAM,CAAC;IACb,qFAAqF;IACrF,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED,qBAAa,wBAAwB;IACnC,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAS;IACpC,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAS;IAC/B,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAe;IAEtC,iEAAiE;gBACrD,YAAY,EAAE,YAAY,EAAE,KAAK,EAAE,6BAA6B;IAO5E,4DAA4D;IAC5D,YAAY,IAAI,MAAM;IAItB,kEAAkE;IAClE,eAAe,IAAI,MAAM;IAIzB,yEAAyE;IACzE,MAAM,IAAI,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC;CAQ9B"}
@@ -0,0 +1,42 @@
1
+ "use strict";
2
+ /*
3
+ * The contents of this file were inserted manually and are not generated by Stainless.
4
+ *
5
+ * Custom object field sections (UI grouping of fields on detail pages).
6
+ * Backend schema: CUSTOM_OBJECT_FIELD_SECTION (v2)
7
+ *
8
+ * Construction is CDK-style: `new CustomObjectFieldSection(customObject, props)`
9
+ * — the CO is the first positional arg, and the section auto-registers with
10
+ * the manifest via the CO's scope chain.
11
+ */
12
+ Object.defineProperty(exports, "__esModule", { value: true });
13
+ exports.CustomObjectFieldSection = void 0;
14
+ const _helpers_1 = require("./_helpers.js");
15
+ class CustomObjectFieldSection {
16
+ /** Build a new section and auto-register with the CO's scope. */
17
+ constructor(customObject, props) {
18
+ this._sectionId = props.sectionId ?? (0, _helpers_1.generateId)('sec');
19
+ this._name = props.name;
20
+ this._model = customObject;
21
+ customObject._register(this);
22
+ }
23
+ /** Backend section_id used as this section's identifier. */
24
+ getSectionId() {
25
+ return this._sectionId;
26
+ }
27
+ /** api_name of the parent custom object this section lives on. */
28
+ getModelApiName() {
29
+ return this._model.getApiName();
30
+ }
31
+ /** Serialize to the backend `CUSTOM_OBJECT_FIELD_SECTION` wire shape. */
32
+ toDict() {
33
+ return {
34
+ type: 'CUSTOM_OBJECT_FIELD_SECTION',
35
+ section_id: this._sectionId,
36
+ model_name: this._model.getApiName(),
37
+ name: this._name,
38
+ };
39
+ }
40
+ }
41
+ exports.CustomObjectFieldSection = CustomObjectFieldSection;
42
+ //# sourceMappingURL=custom-object-field-section.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"custom-object-field-section.js","sourceRoot":"","sources":["../../src/lib/manifest/custom-object-field-section.ts"],"names":[],"mappings":";AAAA;;;;;;;;;GASG;;;AAEH,4CAAwC;AAUxC,MAAa,wBAAwB;IAKnC,iEAAiE;IACjE,YAAY,YAA0B,EAAE,KAAoC;QAC1E,IAAI,CAAC,UAAU,GAAG,KAAK,CAAC,SAAS,IAAI,IAAA,qBAAU,EAAC,KAAK,CAAC,CAAC;QACvD,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC,IAAI,CAAC;QACxB,IAAI,CAAC,MAAM,GAAG,YAAY,CAAC;QAC3B,YAAY,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC;IAC/B,CAAC;IAED,4DAA4D;IAC5D,YAAY;QACV,OAAO,IAAI,CAAC,UAAU,CAAC;IACzB,CAAC;IAED,kEAAkE;IAClE,eAAe;QACb,OAAO,IAAI,CAAC,MAAM,CAAC,UAAU,EAAE,CAAC;IAClC,CAAC;IAED,yEAAyE;IACzE,MAAM;QACJ,OAAO;YACL,IAAI,EAAE,6BAA6B;YACnC,UAAU,EAAE,IAAI,CAAC,UAAU;YAC3B,UAAU,EAAE,IAAI,CAAC,MAAM,CAAC,UAAU,EAAE;YACpC,IAAI,EAAE,IAAI,CAAC,KAAK;SACjB,CAAC;IACJ,CAAC;CACF;AAhCD,4DAgCC"}
@@ -0,0 +1,38 @@
1
+ /*
2
+ * The contents of this file were inserted manually and are not generated by Stainless.
3
+ *
4
+ * Custom object field sections (UI grouping of fields on detail pages).
5
+ * Backend schema: CUSTOM_OBJECT_FIELD_SECTION (v2)
6
+ *
7
+ * Construction is CDK-style: `new CustomObjectFieldSection(customObject, props)`
8
+ * — the CO is the first positional arg, and the section auto-registers with
9
+ * the manifest via the CO's scope chain.
10
+ */
11
+ import { generateId } from "./_helpers.mjs";
12
+ export class CustomObjectFieldSection {
13
+ /** Build a new section and auto-register with the CO's scope. */
14
+ constructor(customObject, props) {
15
+ this._sectionId = props.sectionId ?? generateId('sec');
16
+ this._name = props.name;
17
+ this._model = customObject;
18
+ customObject._register(this);
19
+ }
20
+ /** Backend section_id used as this section's identifier. */
21
+ getSectionId() {
22
+ return this._sectionId;
23
+ }
24
+ /** api_name of the parent custom object this section lives on. */
25
+ getModelApiName() {
26
+ return this._model.getApiName();
27
+ }
28
+ /** Serialize to the backend `CUSTOM_OBJECT_FIELD_SECTION` wire shape. */
29
+ toDict() {
30
+ return {
31
+ type: 'CUSTOM_OBJECT_FIELD_SECTION',
32
+ section_id: this._sectionId,
33
+ model_name: this._model.getApiName(),
34
+ name: this._name,
35
+ };
36
+ }
37
+ }
38
+ //# sourceMappingURL=custom-object-field-section.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"custom-object-field-section.mjs","sourceRoot":"","sources":["../../src/lib/manifest/custom-object-field-section.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;OAEI,EAAE,UAAU,EAAE;AAUrB,MAAM,OAAO,wBAAwB;IAKnC,iEAAiE;IACjE,YAAY,YAA0B,EAAE,KAAoC;QAC1E,IAAI,CAAC,UAAU,GAAG,KAAK,CAAC,SAAS,IAAI,UAAU,CAAC,KAAK,CAAC,CAAC;QACvD,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC,IAAI,CAAC;QACxB,IAAI,CAAC,MAAM,GAAG,YAAY,CAAC;QAC3B,YAAY,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC;IAC/B,CAAC;IAED,4DAA4D;IAC5D,YAAY;QACV,OAAO,IAAI,CAAC,UAAU,CAAC;IACzB,CAAC;IAED,kEAAkE;IAClE,eAAe;QACb,OAAO,IAAI,CAAC,MAAM,CAAC,UAAU,EAAE,CAAC;IAClC,CAAC;IAED,yEAAyE;IACzE,MAAM;QACJ,OAAO;YACL,IAAI,EAAE,6BAA6B;YACnC,UAAU,EAAE,IAAI,CAAC,UAAU;YAC3B,UAAU,EAAE,IAAI,CAAC,MAAM,CAAC,UAAU,EAAE;YACpC,IAAI,EAAE,IAAI,CAAC,KAAK;SACjB,CAAC;IACJ,CAAC;CACF"}
@@ -0,0 +1,158 @@
1
+ import type { CustomObject } from "./custom-object.mjs";
2
+ import type { Field } from "./field.mjs";
3
+ /** Edit to a built-in (system) header field. */
4
+ export interface SystemHeaderFieldEdit {
5
+ newRqlField?: string;
6
+ deleted?: boolean;
7
+ }
8
+ /** Custom header field added via newFields. `key` is required + non-empty. */
9
+ export interface NewHeaderField {
10
+ rqlName: string;
11
+ key: string;
12
+ canBeDeleted?: boolean;
13
+ canBeChanged?: boolean;
14
+ canBeMoved?: boolean;
15
+ }
16
+ /**
17
+ * Strict shape for header_edits. Only the keys listed here are accepted by
18
+ * HeaderEditsDTO — anything else is dropped on the wire. Pass `{}` for an
19
+ * empty header.
20
+ */
21
+ export interface HeaderEdits {
22
+ newTitleField?: string | null;
23
+ titleFieldDeleted?: boolean;
24
+ newDescriptionField?: string | null;
25
+ descriptionFieldDeleted?: boolean;
26
+ /** Map of system field key → edit. */
27
+ systemFieldEdits?: Record<string, SystemHeaderFieldEdit>;
28
+ newFields?: NewHeaderField[];
29
+ /** Sort order of header field `key` values (custom + system). */
30
+ headerFieldsOrder?: string[];
31
+ buttons?: string[];
32
+ }
33
+ /** SectionFieldDTO — one field inside a fields_section. */
34
+ export interface SectionField {
35
+ fieldRqlName: string;
36
+ hidden?: boolean;
37
+ editable?: boolean;
38
+ movementOption?: 'tab' | 'free';
39
+ }
40
+ /** FieldsSectionDTO — standard field grid section. */
41
+ export interface FieldsSection {
42
+ type: 'fields_section';
43
+ key: string;
44
+ name: string;
45
+ fields: SectionField[];
46
+ }
47
+ /** Only `fields_section` is modeled today (most common). Add other section
48
+ * types (related_object_section, custom_section, …) explicitly as needed. */
49
+ export type PageLayoutSection = FieldsSection;
50
+ /** PageLayoutTabWithSectionsDTO. */
51
+ export interface TabWithSections {
52
+ type: 'tab_with_sections';
53
+ key: string;
54
+ name: string;
55
+ sections: PageLayoutSection[];
56
+ }
57
+ /** CustomTabDTO — host a custom component as a tab. */
58
+ export interface CustomTab {
59
+ type: 'custom_tab';
60
+ key: string;
61
+ name: string;
62
+ componentKey: string;
63
+ }
64
+ export type PageLayoutTab = TabWithSections | CustomTab;
65
+ /** Layout of fields inside a fields_section. */
66
+ export type SectionFieldsLayout = 'one_column' | 'two_column' | 'three_column' | 'responsive';
67
+ /** SystemSectionEditDTO — edits to a built-in section inside a system tab. */
68
+ export interface SystemSectionEdit {
69
+ newName?: string;
70
+ deleted?: boolean;
71
+ newLayout?: SectionFieldsLayout;
72
+ newFields?: SectionField[];
73
+ newHideName?: boolean;
74
+ }
75
+ /** SystemTabEditDTO — edits to a built-in tab (rename, delete, add sections, …). */
76
+ export interface SystemTabEdit {
77
+ newName?: string;
78
+ deleted?: boolean;
79
+ newSections?: PageLayoutSection[];
80
+ systemSectionEdits?: Record<string, SystemSectionEdit>;
81
+ sectionsOrder?: string[];
82
+ }
83
+ /**
84
+ * Strict shape for tab_edits. Only TabEditsDTO keys allowed.
85
+ *
86
+ * All fields are optional to match `TabEditsDTO`'s `default_factory` (empty
87
+ * list / empty dict). An omitted `tabEdits` defaults to `{}` in the
88
+ * constructor; partial objects rely on backend per-field defaults.
89
+ *
90
+ * - newTabs: tabs to create (each needs a `type` discriminator)
91
+ * - systemTabEdits: edits keyed by built-in tab key
92
+ * - tabsOrder: ordered list of tab `key` values (new + system)
93
+ * - newTabLayout: optional orientation
94
+ */
95
+ export interface TabEdits {
96
+ newTabs?: PageLayoutTab[];
97
+ systemTabEdits?: Record<string, SystemTabEdit>;
98
+ tabsOrder?: string[];
99
+ newTabLayout?: 'vertical' | 'horizontal';
100
+ }
101
+ /**
102
+ * VisibilityConditionDTO. Both fields are required on the Python type — pass
103
+ * empty string / empty object if you genuinely have no formula or AST.
104
+ */
105
+ export interface VisibilityCondition {
106
+ rqlFormula: string;
107
+ layeredConditionsTree: Record<string, any>;
108
+ }
109
+ /** Pass `{}` for "no conditions" — both maps default empty. */
110
+ export interface VisibilityConditions {
111
+ sections?: Record<string, VisibilityCondition>;
112
+ tabs?: Record<string, VisibilityCondition>;
113
+ }
114
+ export interface CustomObjectPageLayoutProps {
115
+ /**
116
+ * Required. Stable `api_name` for the layout. Use `'default'` for the layout
117
+ * that drives **Add** and the default object detail view (per Custom Object
118
+ * — one `default` per object).
119
+ */
120
+ apiName: string;
121
+ /** Required. Display name of the layout. */
122
+ name: string;
123
+ /** Optional. Tab structure (TabEditsDTO). Defaults to empty. */
124
+ tabEdits?: TabEdits;
125
+ /** Optional. Header configuration (HeaderEditsDTO). Defaults to empty. */
126
+ headerEdits?: HeaderEdits;
127
+ /** Optional. Visibility conditions. Defaults to empty (no conditions). */
128
+ visibilityConditions?: VisibilityConditions;
129
+ /** Identity override. Override the layout identifier. @default generateId('layout') */
130
+ layoutId?: string;
131
+ /** Optional. Overwritten at install; defaults to object api_name. */
132
+ blueprintKey?: string;
133
+ }
134
+ export declare class CustomObjectPageLayout {
135
+ private readonly _layoutId;
136
+ private readonly _apiName;
137
+ private readonly _customObjectApiName;
138
+ private readonly _name;
139
+ private readonly _tabEdits;
140
+ private readonly _headerEdits;
141
+ private readonly _visibilityConditions;
142
+ private readonly _blueprintKey;
143
+ /** Build a new layout and auto-register with the CO's scope. */
144
+ constructor(customObject: CustomObject, props: CustomObjectPageLayoutProps);
145
+ /** Backend layout_id used as this layout's identifier. */
146
+ getLayoutId(): string;
147
+ /** Stable api_name for this layout. */
148
+ getApiName(): string;
149
+ /** api_name of the CustomObject this layout lives on. */
150
+ getCustomObjectApiName(): string;
151
+ /** Serialize to the backend `CUSTOM_OBJECT_PAGE_LAYOUT` wire shape. */
152
+ toDict(): Record<string, any>;
153
+ /** Factory for a single-tab "Details" page listing the given fields. */
154
+ static basic(customObject: CustomObject, props?: {
155
+ fields?: Field[];
156
+ }): CustomObjectPageLayout;
157
+ }
158
+ //# sourceMappingURL=custom-object-page-layout.d.mts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"custom-object-page-layout.d.mts","sourceRoot":"","sources":["../../src/lib/manifest/custom-object-page-layout.ts"],"names":[],"mappings":"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"}