@rippling/rippling-sdk 0.2.0-alpha.109 → 0.2.0-alpha.110

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 (250) hide show
  1. package/client.d.mts +11 -0
  2. package/client.d.mts.map +1 -1
  3. package/client.d.ts +11 -0
  4. package/client.d.ts.map +1 -1
  5. package/client.js +15 -0
  6. package/client.js.map +1 -1
  7. package/client.mjs +15 -0
  8. package/client.mjs.map +1 -1
  9. package/index.d.mts +5 -0
  10. package/index.d.mts.map +1 -1
  11. package/index.d.ts +5 -0
  12. package/index.d.ts.map +1 -1
  13. package/index.js +11 -1
  14. package/index.js.map +1 -1
  15. package/index.mjs +5 -0
  16. package/index.mjs.map +1 -1
  17. package/lib/manifest/composition.d.mts +21 -0
  18. package/lib/manifest/composition.d.mts.map +1 -0
  19. package/lib/manifest/composition.d.ts +21 -0
  20. package/lib/manifest/composition.d.ts.map +1 -0
  21. package/lib/manifest/composition.js +103 -0
  22. package/lib/manifest/composition.js.map +1 -0
  23. package/lib/manifest/composition.mjs +99 -0
  24. package/lib/manifest/composition.mjs.map +1 -0
  25. package/lib/manifest/definitions/_object-records.d.mts +23 -0
  26. package/lib/manifest/definitions/_object-records.d.mts.map +1 -0
  27. package/lib/manifest/definitions/_object-records.d.ts +23 -0
  28. package/lib/manifest/definitions/_object-records.d.ts.map +1 -0
  29. package/lib/manifest/definitions/_object-records.js +151 -0
  30. package/lib/manifest/definitions/_object-records.js.map +1 -0
  31. package/lib/manifest/definitions/_object-records.mjs +147 -0
  32. package/lib/manifest/definitions/_object-records.mjs.map +1 -0
  33. package/lib/manifest/definitions/action.d.mts +7 -0
  34. package/lib/manifest/definitions/action.d.mts.map +1 -0
  35. package/lib/manifest/definitions/action.d.ts +7 -0
  36. package/lib/manifest/definitions/action.d.ts.map +1 -0
  37. package/lib/manifest/definitions/action.js +25 -0
  38. package/lib/manifest/definitions/action.js.map +1 -0
  39. package/lib/manifest/definitions/action.mjs +22 -0
  40. package/lib/manifest/definitions/action.mjs.map +1 -0
  41. package/lib/manifest/definitions/agent.d.mts +51 -0
  42. package/lib/manifest/definitions/agent.d.mts.map +1 -0
  43. package/lib/manifest/definitions/agent.d.ts +51 -0
  44. package/lib/manifest/definitions/agent.d.ts.map +1 -0
  45. package/lib/manifest/definitions/agent.js +65 -0
  46. package/lib/manifest/definitions/agent.js.map +1 -0
  47. package/lib/manifest/definitions/agent.mjs +59 -0
  48. package/lib/manifest/definitions/agent.mjs.map +1 -0
  49. package/lib/manifest/definitions/app.d.mts +3 -0
  50. package/lib/manifest/definitions/app.d.mts.map +1 -0
  51. package/lib/manifest/definitions/app.d.ts +3 -0
  52. package/lib/manifest/definitions/app.d.ts.map +1 -0
  53. package/lib/manifest/definitions/app.js +14 -0
  54. package/lib/manifest/definitions/app.js.map +1 -0
  55. package/lib/manifest/definitions/app.mjs +11 -0
  56. package/lib/manifest/definitions/app.mjs.map +1 -0
  57. package/lib/manifest/definitions/category.d.mts +9 -0
  58. package/lib/manifest/definitions/category.d.mts.map +1 -0
  59. package/lib/manifest/definitions/category.d.ts +9 -0
  60. package/lib/manifest/definitions/category.d.ts.map +1 -0
  61. package/lib/manifest/definitions/category.js +27 -0
  62. package/lib/manifest/definitions/category.js.map +1 -0
  63. package/lib/manifest/definitions/category.mjs +23 -0
  64. package/lib/manifest/definitions/category.mjs.map +1 -0
  65. package/lib/manifest/definitions/component.d.mts +101 -0
  66. package/lib/manifest/definitions/component.d.mts.map +1 -0
  67. package/lib/manifest/definitions/component.d.ts +101 -0
  68. package/lib/manifest/definitions/component.d.ts.map +1 -0
  69. package/lib/manifest/definitions/component.js +106 -0
  70. package/lib/manifest/definitions/component.js.map +1 -0
  71. package/lib/manifest/definitions/component.mjs +97 -0
  72. package/lib/manifest/definitions/component.mjs.map +1 -0
  73. package/lib/manifest/definitions/custom-field-section.d.mts +13 -0
  74. package/lib/manifest/definitions/custom-field-section.d.mts.map +1 -0
  75. package/lib/manifest/definitions/custom-field-section.d.ts +13 -0
  76. package/lib/manifest/definitions/custom-field-section.d.ts.map +1 -0
  77. package/lib/manifest/definitions/custom-field-section.js +15 -0
  78. package/lib/manifest/definitions/custom-field-section.js.map +1 -0
  79. package/lib/manifest/definitions/custom-field-section.mjs +12 -0
  80. package/lib/manifest/definitions/custom-field-section.mjs.map +1 -0
  81. package/lib/manifest/definitions/custom-field.d.mts +10 -0
  82. package/lib/manifest/definitions/custom-field.d.mts.map +1 -0
  83. package/lib/manifest/definitions/custom-field.d.ts +10 -0
  84. package/lib/manifest/definitions/custom-field.d.ts.map +1 -0
  85. package/lib/manifest/definitions/custom-field.js +18 -0
  86. package/lib/manifest/definitions/custom-field.js.map +1 -0
  87. package/lib/manifest/definitions/custom-field.mjs +15 -0
  88. package/lib/manifest/definitions/custom-field.mjs.map +1 -0
  89. package/lib/manifest/definitions/custom-object.d.mts +162 -0
  90. package/lib/manifest/definitions/custom-object.d.mts.map +1 -0
  91. package/lib/manifest/definitions/custom-object.d.ts +162 -0
  92. package/lib/manifest/definitions/custom-object.d.ts.map +1 -0
  93. package/lib/manifest/definitions/custom-object.js +412 -0
  94. package/lib/manifest/definitions/custom-object.js.map +1 -0
  95. package/lib/manifest/definitions/custom-object.mjs +386 -0
  96. package/lib/manifest/definitions/custom-object.mjs.map +1 -0
  97. package/lib/manifest/definitions/custom-skill.d.mts +8 -0
  98. package/lib/manifest/definitions/custom-skill.d.mts.map +1 -0
  99. package/lib/manifest/definitions/custom-skill.d.ts +8 -0
  100. package/lib/manifest/definitions/custom-skill.d.ts.map +1 -0
  101. package/lib/manifest/definitions/custom-skill.js +15 -0
  102. package/lib/manifest/definitions/custom-skill.js.map +1 -0
  103. package/lib/manifest/definitions/custom-skill.mjs +12 -0
  104. package/lib/manifest/definitions/custom-skill.mjs.map +1 -0
  105. package/lib/manifest/definitions/field-section.d.mts +7 -0
  106. package/lib/manifest/definitions/field-section.d.mts.map +1 -0
  107. package/lib/manifest/definitions/field-section.d.ts +7 -0
  108. package/lib/manifest/definitions/field-section.d.ts.map +1 -0
  109. package/lib/manifest/definitions/field-section.js +16 -0
  110. package/lib/manifest/definitions/field-section.js.map +1 -0
  111. package/lib/manifest/definitions/field-section.mjs +13 -0
  112. package/lib/manifest/definitions/field-section.mjs.map +1 -0
  113. package/lib/manifest/definitions/field.d.mts +38 -0
  114. package/lib/manifest/definitions/field.d.mts.map +1 -0
  115. package/lib/manifest/definitions/field.d.ts +38 -0
  116. package/lib/manifest/definitions/field.d.ts.map +1 -0
  117. package/lib/manifest/definitions/field.js +50 -0
  118. package/lib/manifest/definitions/field.js.map +1 -0
  119. package/lib/manifest/definitions/field.mjs +45 -0
  120. package/lib/manifest/definitions/field.mjs.map +1 -0
  121. package/lib/manifest/definitions/function.d.mts +61 -0
  122. package/lib/manifest/definitions/function.d.mts.map +1 -0
  123. package/lib/manifest/definitions/function.d.ts +61 -0
  124. package/lib/manifest/definitions/function.d.ts.map +1 -0
  125. package/lib/manifest/definitions/function.js +79 -0
  126. package/lib/manifest/definitions/function.js.map +1 -0
  127. package/lib/manifest/definitions/function.mjs +73 -0
  128. package/lib/manifest/definitions/function.mjs.map +1 -0
  129. package/lib/manifest/definitions/index.d.mts +22 -0
  130. package/lib/manifest/definitions/index.d.mts.map +1 -0
  131. package/lib/manifest/definitions/index.d.ts +22 -0
  132. package/lib/manifest/definitions/index.d.ts.map +1 -0
  133. package/lib/manifest/definitions/index.js +64 -0
  134. package/lib/manifest/definitions/index.js.map +1 -0
  135. package/lib/manifest/definitions/index.mjs +22 -0
  136. package/lib/manifest/definitions/index.mjs.map +1 -0
  137. package/lib/manifest/definitions/list-view.d.mts +9 -0
  138. package/lib/manifest/definitions/list-view.d.mts.map +1 -0
  139. package/lib/manifest/definitions/list-view.d.ts +9 -0
  140. package/lib/manifest/definitions/list-view.d.ts.map +1 -0
  141. package/lib/manifest/definitions/list-view.js +25 -0
  142. package/lib/manifest/definitions/list-view.js.map +1 -0
  143. package/lib/manifest/definitions/list-view.mjs +22 -0
  144. package/lib/manifest/definitions/list-view.mjs.map +1 -0
  145. package/lib/manifest/definitions/object-search-config.d.mts +13 -0
  146. package/lib/manifest/definitions/object-search-config.d.mts.map +1 -0
  147. package/lib/manifest/definitions/object-search-config.d.ts +13 -0
  148. package/lib/manifest/definitions/object-search-config.d.ts.map +1 -0
  149. package/lib/manifest/definitions/object-search-config.js +25 -0
  150. package/lib/manifest/definitions/object-search-config.js.map +1 -0
  151. package/lib/manifest/definitions/object-search-config.mjs +22 -0
  152. package/lib/manifest/definitions/object-search-config.mjs.map +1 -0
  153. package/lib/manifest/definitions/object-settings.d.mts +24 -0
  154. package/lib/manifest/definitions/object-settings.d.mts.map +1 -0
  155. package/lib/manifest/definitions/object-settings.d.ts +24 -0
  156. package/lib/manifest/definitions/object-settings.d.ts.map +1 -0
  157. package/lib/manifest/definitions/object-settings.js +32 -0
  158. package/lib/manifest/definitions/object-settings.js.map +1 -0
  159. package/lib/manifest/definitions/object-settings.mjs +29 -0
  160. package/lib/manifest/definitions/object-settings.mjs.map +1 -0
  161. package/lib/manifest/definitions/page-layout.d.mts +21 -0
  162. package/lib/manifest/definitions/page-layout.d.mts.map +1 -0
  163. package/lib/manifest/definitions/page-layout.d.ts +21 -0
  164. package/lib/manifest/definitions/page-layout.d.ts.map +1 -0
  165. package/lib/manifest/definitions/page-layout.js +155 -0
  166. package/lib/manifest/definitions/page-layout.js.map +1 -0
  167. package/lib/manifest/definitions/page-layout.mjs +152 -0
  168. package/lib/manifest/definitions/page-layout.mjs.map +1 -0
  169. package/lib/manifest/definitions/page.d.mts +8 -0
  170. package/lib/manifest/definitions/page.d.mts.map +1 -0
  171. package/lib/manifest/definitions/page.d.ts +8 -0
  172. package/lib/manifest/definitions/page.d.ts.map +1 -0
  173. package/lib/manifest/definitions/page.js +15 -0
  174. package/lib/manifest/definitions/page.js.map +1 -0
  175. package/lib/manifest/definitions/page.mjs +12 -0
  176. package/lib/manifest/definitions/page.mjs.map +1 -0
  177. package/lib/manifest/definitions/record-triggered-flow.d.mts +24 -0
  178. package/lib/manifest/definitions/record-triggered-flow.d.mts.map +1 -0
  179. package/lib/manifest/definitions/record-triggered-flow.d.ts +24 -0
  180. package/lib/manifest/definitions/record-triggered-flow.d.ts.map +1 -0
  181. package/lib/manifest/definitions/record-triggered-flow.js +28 -0
  182. package/lib/manifest/definitions/record-triggered-flow.js.map +1 -0
  183. package/lib/manifest/definitions/record-triggered-flow.mjs +25 -0
  184. package/lib/manifest/definitions/record-triggered-flow.mjs.map +1 -0
  185. package/lib/manifest/definitions/validation.d.mts +8 -0
  186. package/lib/manifest/definitions/validation.d.mts.map +1 -0
  187. package/lib/manifest/definitions/validation.d.ts +8 -0
  188. package/lib/manifest/definitions/validation.d.ts.map +1 -0
  189. package/lib/manifest/definitions/validation.js +24 -0
  190. package/lib/manifest/definitions/validation.js.map +1 -0
  191. package/lib/manifest/definitions/validation.mjs +21 -0
  192. package/lib/manifest/definitions/validation.mjs.map +1 -0
  193. package/lib/manifest/definitions/workflow.d.mts +10 -0
  194. package/lib/manifest/definitions/workflow.d.mts.map +1 -0
  195. package/lib/manifest/definitions/workflow.d.ts +10 -0
  196. package/lib/manifest/definitions/workflow.d.ts.map +1 -0
  197. package/lib/manifest/definitions/workflow.js +33 -0
  198. package/lib/manifest/definitions/workflow.js.map +1 -0
  199. package/lib/manifest/definitions/workflow.mjs +29 -0
  200. package/lib/manifest/definitions/workflow.mjs.map +1 -0
  201. package/lib/manifest/index.d.mts +3 -0
  202. package/lib/manifest/index.d.mts.map +1 -1
  203. package/lib/manifest/index.d.ts +3 -0
  204. package/lib/manifest/index.d.ts.map +1 -1
  205. package/lib/manifest/index.js +4 -0
  206. package/lib/manifest/index.js.map +1 -1
  207. package/lib/manifest/index.mjs +3 -0
  208. package/lib/manifest/index.mjs.map +1 -1
  209. package/lib/manifest/package-manifest.d.mts +17 -0
  210. package/lib/manifest/package-manifest.d.mts.map +1 -0
  211. package/lib/manifest/package-manifest.d.ts +17 -0
  212. package/lib/manifest/package-manifest.d.ts.map +1 -0
  213. package/lib/manifest/package-manifest.js +26 -0
  214. package/lib/manifest/package-manifest.js.map +1 -0
  215. package/lib/manifest/package-manifest.mjs +23 -0
  216. package/lib/manifest/package-manifest.mjs.map +1 -0
  217. package/package.json +1 -1
  218. package/src/client.ts +24 -0
  219. package/src/index.ts +17 -0
  220. package/src/lib/manifest/composition.ts +133 -0
  221. package/src/lib/manifest/definitions/README.md +89 -0
  222. package/src/lib/manifest/definitions/_object-records.ts +218 -0
  223. package/src/lib/manifest/definitions/action.ts +31 -0
  224. package/src/lib/manifest/definitions/agent.ts +149 -0
  225. package/src/lib/manifest/definitions/app.ts +12 -0
  226. package/src/lib/manifest/definitions/category.ts +35 -0
  227. package/src/lib/manifest/definitions/component.ts +241 -0
  228. package/src/lib/manifest/definitions/custom-field-section.ts +39 -0
  229. package/src/lib/manifest/definitions/custom-field.ts +32 -0
  230. package/src/lib/manifest/definitions/custom-object.ts +786 -0
  231. package/src/lib/manifest/definitions/custom-skill.ts +28 -0
  232. package/src/lib/manifest/definitions/field-section.ts +31 -0
  233. package/src/lib/manifest/definitions/field.ts +119 -0
  234. package/src/lib/manifest/definitions/function.ts +198 -0
  235. package/src/lib/manifest/definitions/index.ts +91 -0
  236. package/src/lib/manifest/definitions/list-view.ts +48 -0
  237. package/src/lib/manifest/definitions/object-search-config.ts +44 -0
  238. package/src/lib/manifest/definitions/object-settings.ts +61 -0
  239. package/src/lib/manifest/definitions/page-layout.ts +218 -0
  240. package/src/lib/manifest/definitions/page.ts +28 -0
  241. package/src/lib/manifest/definitions/record-triggered-flow.ts +71 -0
  242. package/src/lib/manifest/definitions/validation.ts +46 -0
  243. package/src/lib/manifest/definitions/workflow.ts +62 -0
  244. package/src/lib/manifest/index.ts +4 -0
  245. package/src/lib/manifest/package-manifest.ts +40 -0
  246. package/src/version.ts +1 -1
  247. package/version.d.mts +1 -1
  248. package/version.d.ts +1 -1
  249. package/version.js +1 -1
  250. package/version.mjs +1 -1
@@ -0,0 +1,99 @@
1
+ import { registeredComponent, entryKey, } from "./definitions/component.mjs";
2
+ // Existing CLI loaders use this stable marker to request deferred source compilation.
3
+ const manifestBuilds = Symbol.for('@rippling/sdk/package-sources');
4
+ /** Run the build hooks supplied by component implementations, preserving the metadata JSON contract. */
5
+ export async function compileManifest(definition, bundle) {
6
+ const builds = definition[manifestBuilds] ?? [];
7
+ if (builds.length === 0)
8
+ return definition;
9
+ const compiled = JSON.parse(JSON.stringify({ ...definition }));
10
+ for (const { index, entry } of builds) {
11
+ const config = await entry.build({ bundle });
12
+ compiled.components[index] = JSON.parse(JSON.stringify(config));
13
+ }
14
+ return freezeManifest(compiled);
15
+ }
16
+ function canonicalJson(value) {
17
+ return JSON.stringify(value, (_key, item) => item != null && typeof item === 'object' && !Array.isArray(item) ?
18
+ Object.fromEntries(Object.entries(item).sort(([left], [right]) => left.localeCompare(right)))
19
+ : item);
20
+ }
21
+ /** Collect references, then compile batches. Component-specific behavior lives in definitions/. */
22
+ export function defineManifest(options) {
23
+ const definitions = [];
24
+ const visited = new Set();
25
+ const batches = new Map();
26
+ const entries = [];
27
+ const visit = (definition) => {
28
+ if (visited.has(definition))
29
+ return;
30
+ visited.add(definition);
31
+ const registered = registeredComponent(definition);
32
+ if (registered != null) {
33
+ definitions.push(definition);
34
+ for (const dependency of registered.references())
35
+ visit(dependency);
36
+ const implementation = registered.implementation;
37
+ const batch = batches.get(implementation.batchKey) ?? { implementation, definitions: [] };
38
+ batch.definitions.push(definition);
39
+ batches.set(implementation.batchKey, batch);
40
+ }
41
+ else {
42
+ throw new Error('Use defineX helpers in defineManifest; existing constructors belong in ManifestBuilder.');
43
+ }
44
+ };
45
+ options.components.forEach(visit);
46
+ const context = { definitions };
47
+ for (const batch of batches.values()) {
48
+ for (const output of batch.implementation.compileBatch(batch.definitions, context))
49
+ entries.push('type' in output ? { config: output } : output);
50
+ }
51
+ const snapshots = JSON.parse(JSON.stringify(entries.map((entry) => entry.config)));
52
+ const unique = new Map();
53
+ for (const [index, config] of snapshots.entries()) {
54
+ const entry = entries[index];
55
+ const key = entryKey(entry);
56
+ const existing = unique.get(key);
57
+ if (existing != null) {
58
+ for (const parent of ['model_name', 'model_rql_name', 'object_rql_name']) {
59
+ if (existing.config[parent] !== config[parent])
60
+ throw new Error(`Conflicting manifest component ${key}: apiName must be unique across objects.`);
61
+ }
62
+ if (entry.fallback && !existing.entry.fallback)
63
+ continue;
64
+ if (!entry.fallback && existing.entry.fallback) {
65
+ unique.set(key, { config, entry });
66
+ continue;
67
+ }
68
+ if (canonicalJson(existing.config) !== canonicalJson(config))
69
+ throw new Error(`Conflicting manifest component ${key}`);
70
+ if (existing.entry.build != null && entry.build != null && existing.entry.buildKey !== entry.buildKey)
71
+ throw new Error(`Conflicting manifest source ${key}`);
72
+ if (entry.build == null && existing.entry.build != null)
73
+ continue;
74
+ }
75
+ unique.set(key, { config, entry });
76
+ }
77
+ const builds = [...unique.values()].flatMap(({ entry }, index) => entry.build == null ? [] : [{ index, entry }]);
78
+ const manifest = {
79
+ metadata: {},
80
+ components: [...unique.values()].map(({ config }) => config),
81
+ };
82
+ if (builds.length > 0) {
83
+ Object.defineProperty(manifest, manifestBuilds, { value: Object.freeze(builds) });
84
+ Object.defineProperty(manifest, 'toJSON', {
85
+ value() {
86
+ throw new Error('Manifest source entrypoints must be compiled before JSON export. Use rippling project export or compileManifest.');
87
+ },
88
+ });
89
+ }
90
+ return freezeManifest(manifest);
91
+ }
92
+ function freezeManifest(value) {
93
+ if (value != null && typeof value === 'object') {
94
+ Object.values(value).forEach(freezeManifest);
95
+ Object.freeze(value);
96
+ }
97
+ return value;
98
+ }
99
+ //# sourceMappingURL=composition.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"composition.mjs","sourceRoot":"","sources":["../../src/lib/manifest/composition.ts"],"names":[],"mappings":"AACA,OAAO,EACL,mBAAmB,EACnB,QAAQ,GAGT,oCAAgC;AAEjC,sFAAsF;AACtF,MAAM,cAAc,GAAG,MAAM,CAAC,GAAG,CAAC,+BAA+B,CAAC,CAAC;AAcnE,wGAAwG;AACxG,MAAM,CAAC,KAAK,UAAU,eAAe,CACnC,UAAwC,EACxC,MAA4C;IAE5C,MAAM,MAAM,GAAG,UAAU,CAAC,cAAc,CAAC,IAAI,EAAE,CAAC;IAChD,IAAI,MAAM,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,UAAU,CAAC;IAC3C,MAAM,QAAQ,GAAuB,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,EAAE,GAAG,UAAU,EAAE,CAAC,CAAC,CAAC;IACnF,KAAK,MAAM,EAAE,KAAK,EAAE,KAAK,EAAE,IAAI,MAAM,EAAE,CAAC;QACtC,MAAM,MAAM,GAAG,MAAM,KAAK,CAAC,KAAM,CAAC,EAAE,MAAM,EAAE,CAAC,CAAC;QAC9C,QAAQ,CAAC,UAAU,CAAC,KAAK,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC,CAAC;IAClE,CAAC;IACD,OAAO,cAAc,CAAC,QAAQ,CAAC,CAAC;AAClC,CAAC;AAED,SAAS,aAAa,CAAC,KAAc;IACnC,OAAO,IAAI,CAAC,SAAS,CAAC,KAAK,EAAE,CAAC,IAAI,EAAE,IAAa,EAAE,EAAE,CACnD,IAAI,IAAI,IAAI,IAAI,OAAO,IAAI,KAAK,QAAQ,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC;QAChE,MAAM,CAAC,WAAW,CAAC,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,KAAK,CAAC,EAAE,EAAE,CAAC,IAAI,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC,CAAC;QAC/F,CAAC,CAAC,IAAI,CACP,CAAC;AACJ,CAAC;AAED,mGAAmG;AACnG,MAAM,UAAU,cAAc,CAAC,OAA8B;IAC3D,MAAM,WAAW,GAAa,EAAE,CAAC;IACjC,MAAM,OAAO,GAAG,IAAI,GAAG,EAAU,CAAC;IAClC,MAAM,OAAO,GAAG,IAAI,GAAG,EAMpB,CAAC;IACJ,MAAM,OAAO,GAAoB,EAAE,CAAC;IACpC,MAAM,KAAK,GAAG,CAAC,UAAkB,EAAQ,EAAE;QACzC,IAAI,OAAO,CAAC,GAAG,CAAC,UAAU,CAAC;YAAE,OAAO;QACpC,OAAO,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC;QACxB,MAAM,UAAU,GAAG,mBAAmB,CAAC,UAAU,CAAC,CAAC;QACnD,IAAI,UAAU,IAAI,IAAI,EAAE,CAAC;YACvB,WAAW,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;YAC7B,KAAK,MAAM,UAAU,IAAI,UAAU,CAAC,UAAU,EAAE;gBAAE,KAAK,CAAC,UAAU,CAAC,CAAC;YACpE,MAAM,cAAc,GAAG,UAAU,CAAC,cAAc,CAAC;YACjD,MAAM,KAAK,GAAG,OAAO,CAAC,GAAG,CAAC,cAAc,CAAC,QAAQ,CAAC,IAAI,EAAE,cAAc,EAAE,WAAW,EAAE,EAAE,EAAE,CAAC;YAC1F,KAAK,CAAC,WAAW,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;YACnC,OAAO,CAAC,GAAG,CAAC,cAAc,CAAC,QAAQ,EAAE,KAAK,CAAC,CAAC;QAC9C,CAAC;aAAM,CAAC;YACN,MAAM,IAAI,KAAK,CACb,yFAAyF,CAC1F,CAAC;QACJ,CAAC;IACH,CAAC,CAAC;IACF,OAAO,CAAC,UAAU,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;IAClC,MAAM,OAAO,GAAmB,EAAE,WAAW,EAAE,CAAC;IAChD,KAAK,MAAM,KAAK,IAAI,OAAO,CAAC,MAAM,EAAE,EAAE,CAAC;QACrC,KAAK,MAAM,MAAM,IAAI,KAAK,CAAC,cAAc,CAAC,YAAY,CAAC,KAAK,CAAC,WAAW,EAAE,OAAO,CAAC;YAChF,OAAO,CAAC,IAAI,CAAC,MAAM,IAAI,MAAM,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,MAAM,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC;IACjE,CAAC;IAED,MAAM,SAAS,GAA0B,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;IAC1G,MAAM,MAAM,GAAG,IAAI,GAAG,EAAiE,CAAC;IACxF,KAAK,MAAM,CAAC,KAAK,EAAE,MAAM,CAAC,IAAI,SAAS,CAAC,OAAO,EAAE,EAAE,CAAC;QAClD,MAAM,KAAK,GAAG,OAAO,CAAC,KAAK,CAAE,CAAC;QAC9B,MAAM,GAAG,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAC;QAC5B,MAAM,QAAQ,GAAG,MAAM,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;QACjC,IAAI,QAAQ,IAAI,IAAI,EAAE,CAAC;YACrB,KAAK,MAAM,MAAM,IAAI,CAAC,YAAY,EAAE,gBAAgB,EAAE,iBAAiB,CAAC,EAAE,CAAC;gBACzE,IAAI,QAAQ,CAAC,MAAM,CAAC,MAAM,CAAC,KAAK,MAAM,CAAC,MAAM,CAAC;oBAC5C,MAAM,IAAI,KAAK,CAAC,kCAAkC,GAAG,0CAA0C,CAAC,CAAC;YACrG,CAAC;YACD,IAAI,KAAK,CAAC,QAAQ,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,QAAQ;gBAAE,SAAS;YACzD,IAAI,CAAC,KAAK,CAAC,QAAQ,IAAI,QAAQ,CAAC,KAAK,CAAC,QAAQ,EAAE,CAAC;gBAC/C,MAAM,CAAC,GAAG,CAAC,GAAG,EAAE,EAAE,MAAM,EAAE,KAAK,EAAE,CAAC,CAAC;gBACnC,SAAS;YACX,CAAC;YACD,IAAI,aAAa,CAAC,QAAQ,CAAC,MAAM,CAAC,KAAK,aAAa,CAAC,MAAM,CAAC;gBAC1D,MAAM,IAAI,KAAK,CAAC,kCAAkC,GAAG,EAAE,CAAC,CAAC;YAC3D,IAAI,QAAQ,CAAC,KAAK,CAAC,KAAK,IAAI,IAAI,IAAI,KAAK,CAAC,KAAK,IAAI,IAAI,IAAI,QAAQ,CAAC,KAAK,CAAC,QAAQ,KAAK,KAAK,CAAC,QAAQ;gBACnG,MAAM,IAAI,KAAK,CAAC,+BAA+B,GAAG,EAAE,CAAC,CAAC;YACxD,IAAI,KAAK,CAAC,KAAK,IAAI,IAAI,IAAI,QAAQ,CAAC,KAAK,CAAC,KAAK,IAAI,IAAI;gBAAE,SAAS;QACpE,CAAC;QACD,MAAM,CAAC,GAAG,CAAC,GAAG,EAAE,EAAE,MAAM,EAAE,KAAK,EAAE,CAAC,CAAC;IACrC,CAAC;IACD,MAAM,MAAM,GAAG,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,CAAC,CAAC,OAAO,CAAC,CAAC,EAAE,KAAK,EAAE,EAAE,KAAK,EAAE,EAAE,CAC/D,KAAK,CAAC,KAAK,IAAI,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,KAAK,EAAE,CAAC,CAC9C,CAAC;IACF,MAAM,QAAQ,GAAuB;QACnC,QAAQ,EAAE,EAAE;QACZ,UAAU,EAAE,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,EAAE,MAAM,EAAE,EAAE,EAAE,CAAC,MAAM,CAAC;KAC7D,CAAC;IACF,IAAI,MAAM,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACtB,MAAM,CAAC,cAAc,CAAC,QAAQ,EAAE,cAAc,EAAE,EAAE,KAAK,EAAE,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;QAClF,MAAM,CAAC,cAAc,CAAC,QAAQ,EAAE,QAAQ,EAAE;YACxC,KAAK;gBACH,MAAM,IAAI,KAAK,CACb,kHAAkH,CACnH,CAAC;YACJ,CAAC;SACF,CAAC,CAAC;IACL,CAAC;IACD,OAAO,cAAc,CAAC,QAAQ,CAAC,CAAC;AAClC,CAAC;AAED,SAAS,cAAc,CAAI,KAAQ;IACjC,IAAI,KAAK,IAAI,IAAI,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE,CAAC;QAC/C,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,OAAO,CAAC,cAAc,CAAC,CAAC;QAC7C,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;IACvB,CAAC;IACD,OAAO,KAAK,CAAC;AACf,CAAC"}
@@ -0,0 +1,23 @@
1
+ import type { AnyCustomObjectDefinition, CreateInput, UpdateInput, FieldValue } from "../../../core/platform/custom-objects/types.mjs";
2
+ import type { ObjectRecords } from "./custom-object.mjs";
3
+ type NullableFields<D extends AnyCustomObjectDefinition> = {
4
+ [K in keyof D['fields']]: D['fields'][K] extends {
5
+ writable: true;
6
+ required: false;
7
+ } ? K : never;
8
+ }[keyof D['fields']];
9
+ /** Definition-based writes accept null for writable, non-required custom fields. */
10
+ export type ObjectCreateInput<D extends AnyCustomObjectDefinition> = Omit<CreateInput<D>, NullableFields<D>> & {
11
+ [K in NullableFields<D>]?: FieldValue<D['fields'][K]> | null;
12
+ };
13
+ export type ObjectUpdateInput<D extends AnyCustomObjectDefinition> = Omit<UpdateInput<D>, NullableFields<D>> & {
14
+ [K in NullableFields<D>]?: FieldValue<D['fields'][K]> | null;
15
+ };
16
+ export type ObjectBulkUpdateInput<D extends AnyCustomObjectDefinition> = {
17
+ readonly id: string;
18
+ } & ObjectUpdateInput<D>;
19
+ export declare function assertObjectInput(definition: AnyCustomObjectDefinition, input: Record<string, unknown>, operation: 'create' | 'update'): void;
20
+ /** Definition-specific nullability and decoding; the shared manager and legacy constructors are unchanged. */
21
+ export declare function createObjectRecords<D extends AnyCustomObjectDefinition>(definition: D): Readonly<ObjectRecords<D>>;
22
+ export {};
23
+ //# sourceMappingURL=_object-records.d.mts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"_object-records.d.mts","sourceRoot":"","sources":["../../../src/lib/manifest/definitions/_object-records.ts"],"names":[],"mappings":"AASA,OAAO,KAAK,EACV,yBAAyB,EAEzB,WAAW,EACX,WAAW,EACX,UAAU,EAEX,wDAAoD;AAErD,OAAO,KAAK,EAAE,aAAa,EAAwB,4BAAwB;AAE3E,KAAK,cAAc,CAAC,CAAC,SAAS,yBAAyB,IAAI;KACxD,CAAC,IAAI,MAAM,CAAC,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,SAAS;QAAE,QAAQ,EAAE,IAAI,CAAC;QAAC,QAAQ,EAAE,KAAK,CAAA;KAAE,GAAG,CAAC,GAAG,KAAK;CACjG,CAAC,MAAM,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC;AAErB,oFAAoF;AACpF,MAAM,MAAM,iBAAiB,CAAC,CAAC,SAAS,yBAAyB,IAAI,IAAI,CACvE,WAAW,CAAC,CAAC,CAAC,EACd,cAAc,CAAC,CAAC,CAAC,CAClB,GAAG;KACD,CAAC,IAAI,cAAc,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,UAAU,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,IAAI;CAC7D,CAAC;AAEF,MAAM,MAAM,iBAAiB,CAAC,CAAC,SAAS,yBAAyB,IAAI,IAAI,CACvE,WAAW,CAAC,CAAC,CAAC,EACd,cAAc,CAAC,CAAC,CAAC,CAClB,GAAG;KACD,CAAC,IAAI,cAAc,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,UAAU,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,IAAI;CAC7D,CAAC;AAEF,MAAM,MAAM,qBAAqB,CAAC,CAAC,SAAS,yBAAyB,IAAI;IACvE,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAC;CACrB,GAAG,iBAAiB,CAAC,CAAC,CAAC,CAAC;AAiBzB,wBAAgB,iBAAiB,CAC/B,UAAU,EAAE,yBAAyB,EACrC,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAC9B,SAAS,EAAE,QAAQ,GAAG,QAAQ,GAC7B,IAAI,CAGN;AAmFD,8GAA8G;AAC9G,wBAAgB,mBAAmB,CAAC,CAAC,SAAS,yBAAyB,EACrE,UAAU,EAAE,CAAC,GACZ,QAAQ,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,CAkE5B"}
@@ -0,0 +1,23 @@
1
+ import type { AnyCustomObjectDefinition, CreateInput, UpdateInput, FieldValue } from "../../../core/platform/custom-objects/types.js";
2
+ import type { ObjectRecords } from "./custom-object.js";
3
+ type NullableFields<D extends AnyCustomObjectDefinition> = {
4
+ [K in keyof D['fields']]: D['fields'][K] extends {
5
+ writable: true;
6
+ required: false;
7
+ } ? K : never;
8
+ }[keyof D['fields']];
9
+ /** Definition-based writes accept null for writable, non-required custom fields. */
10
+ export type ObjectCreateInput<D extends AnyCustomObjectDefinition> = Omit<CreateInput<D>, NullableFields<D>> & {
11
+ [K in NullableFields<D>]?: FieldValue<D['fields'][K]> | null;
12
+ };
13
+ export type ObjectUpdateInput<D extends AnyCustomObjectDefinition> = Omit<UpdateInput<D>, NullableFields<D>> & {
14
+ [K in NullableFields<D>]?: FieldValue<D['fields'][K]> | null;
15
+ };
16
+ export type ObjectBulkUpdateInput<D extends AnyCustomObjectDefinition> = {
17
+ readonly id: string;
18
+ } & ObjectUpdateInput<D>;
19
+ export declare function assertObjectInput(definition: AnyCustomObjectDefinition, input: Record<string, unknown>, operation: 'create' | 'update'): void;
20
+ /** Definition-specific nullability and decoding; the shared manager and legacy constructors are unchanged. */
21
+ export declare function createObjectRecords<D extends AnyCustomObjectDefinition>(definition: D): Readonly<ObjectRecords<D>>;
22
+ export {};
23
+ //# sourceMappingURL=_object-records.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"_object-records.d.ts","sourceRoot":"","sources":["../../../src/lib/manifest/definitions/_object-records.ts"],"names":[],"mappings":"AASA,OAAO,KAAK,EACV,yBAAyB,EAEzB,WAAW,EACX,WAAW,EACX,UAAU,EAEX,uDAAoD;AAErD,OAAO,KAAK,EAAE,aAAa,EAAwB,2BAAwB;AAE3E,KAAK,cAAc,CAAC,CAAC,SAAS,yBAAyB,IAAI;KACxD,CAAC,IAAI,MAAM,CAAC,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,SAAS;QAAE,QAAQ,EAAE,IAAI,CAAC;QAAC,QAAQ,EAAE,KAAK,CAAA;KAAE,GAAG,CAAC,GAAG,KAAK;CACjG,CAAC,MAAM,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC;AAErB,oFAAoF;AACpF,MAAM,MAAM,iBAAiB,CAAC,CAAC,SAAS,yBAAyB,IAAI,IAAI,CACvE,WAAW,CAAC,CAAC,CAAC,EACd,cAAc,CAAC,CAAC,CAAC,CAClB,GAAG;KACD,CAAC,IAAI,cAAc,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,UAAU,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,IAAI;CAC7D,CAAC;AAEF,MAAM,MAAM,iBAAiB,CAAC,CAAC,SAAS,yBAAyB,IAAI,IAAI,CACvE,WAAW,CAAC,CAAC,CAAC,EACd,cAAc,CAAC,CAAC,CAAC,CAClB,GAAG;KACD,CAAC,IAAI,cAAc,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,UAAU,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,IAAI;CAC7D,CAAC;AAEF,MAAM,MAAM,qBAAqB,CAAC,CAAC,SAAS,yBAAyB,IAAI;IACvE,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAC;CACrB,GAAG,iBAAiB,CAAC,CAAC,CAAC,CAAC;AAiBzB,wBAAgB,iBAAiB,CAC/B,UAAU,EAAE,yBAAyB,EACrC,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAC9B,SAAS,EAAE,QAAQ,GAAG,QAAQ,GAC7B,IAAI,CAGN;AAmFD,8GAA8G;AAC9G,wBAAgB,mBAAmB,CAAC,CAAC,SAAS,yBAAyB,EACrE,UAAU,EAAE,CAAC,GACZ,QAAQ,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,CAkE5B"}
@@ -0,0 +1,151 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.assertObjectInput = assertObjectInput;
4
+ exports.createObjectRecords = createObjectRecords;
5
+ const manager_1 = require("../../../core/platform/custom-objects/manager.js");
6
+ const validation_1 = require("../../../core/platform/custom-objects/validation.js");
7
+ /** Reuse the existing value checks, excluding only explicitly allowed null custom-field values. */
8
+ function inputIssues(definition, input, operation) {
9
+ if (input == null || typeof input !== 'object' || Array.isArray(input))
10
+ return [{ path: '', message: 'Expected a record object.' }];
11
+ const checked = { ...input };
12
+ for (const [key, field] of Object.entries(definition.fields)) {
13
+ if (field.writable && !field.required && checked[key] === null)
14
+ delete checked[key];
15
+ }
16
+ return (operation === 'create' ? validation_1.validateCreateInput : validation_1.validateUpdateInput)(definition, checked).issues;
17
+ }
18
+ function assertObjectInput(definition, input, operation) {
19
+ const issues = inputIssues(definition, input, operation);
20
+ if (issues.length > 0)
21
+ throw new manager_1.CustomObjectRecordValidationError(definition, operation, issues);
22
+ }
23
+ function referenceID(value) {
24
+ return value != null && typeof value === 'object' && 'id' in value ? value.id : value;
25
+ }
26
+ function serializeInput(definition, input) {
27
+ const wire = {};
28
+ for (const key of ['name', 'external_id', 'owner_role']) {
29
+ if (Object.prototype.hasOwnProperty.call(input, key) && input[key] !== undefined)
30
+ wire[key] = key === 'owner_role' ? referenceID(input[key]) : input[key];
31
+ }
32
+ for (const [key, field] of Object.entries(definition.fields)) {
33
+ if (!Object.prototype.hasOwnProperty.call(input, key) || input[key] === undefined)
34
+ continue;
35
+ wire[field.apiName] =
36
+ field.kind === 'lookup' || field.kind === 'parent-child' || field.kind === 'file' ?
37
+ referenceID(input[key])
38
+ : input[key];
39
+ }
40
+ return wire;
41
+ }
42
+ function lookup(value, apiName) {
43
+ if (typeof value === 'string')
44
+ return { id: value, apiName };
45
+ if (value != null && typeof value === 'object' && 'id' in value && typeof value.id === 'string') {
46
+ return {
47
+ id: value.id,
48
+ apiName: 'apiName' in value && typeof value.apiName === 'string' ? value.apiName : apiName,
49
+ };
50
+ }
51
+ return null;
52
+ }
53
+ function fieldValue(field, value) {
54
+ if (value == null)
55
+ return null;
56
+ switch (field.kind) {
57
+ case 'lookup':
58
+ case 'parent-child':
59
+ return lookup(value, field.targetApiName ?? 'unknown');
60
+ case 'file':
61
+ return (typeof value === 'string' ? value
62
+ : value != null && typeof value === 'object' && 'id' in value && typeof value.id === 'string' ?
63
+ { id: value.id }
64
+ : null);
65
+ case 'number':
66
+ case 'currency':
67
+ case 'percentage':
68
+ case 'formula-number':
69
+ case 'formula-currency':
70
+ case 'formula-percentage': {
71
+ const numeric = typeof value === 'number' ? value
72
+ : typeof value === 'string' && /^[+-]?(?:\d+(?:\.\d*)?|\.\d+)(?:e[+-]?\d+)?$/i.test(value) ?
73
+ Number(value)
74
+ : NaN;
75
+ if (!Number.isFinite(numeric))
76
+ throw new TypeError(`Invalid numeric value for ${field.apiName}: expected a finite number.`);
77
+ return numeric;
78
+ }
79
+ default:
80
+ return value;
81
+ }
82
+ }
83
+ function decodeRecord(definition, row) {
84
+ const record = { id: row.id, name: row.name };
85
+ for (const key of ['created_at', 'updated_at', 'system_updated_at', 'external_id'])
86
+ record[key] = typeof row[key] === 'string' ? row[key] : null;
87
+ for (const key of ['owner_role', 'created_by', 'last_modified_by'])
88
+ record[key] = lookup(row[key], 'Employee');
89
+ for (const [key, field] of Object.entries(definition.fields))
90
+ record[key] = fieldValue(field, row[field.apiName]);
91
+ return record;
92
+ }
93
+ /** Definition-specific nullability and decoding; the shared manager and legacy constructors are unchanged. */
94
+ function createObjectRecords(definition) {
95
+ const adapter = (ctx) => (0, manager_1.createCustomObjectRecordAdapter)(ctx.customObjects.records);
96
+ const decode = (row) => decodeRecord(definition, row);
97
+ const serializeBatch = (rows, operation) => {
98
+ const issues = rows.flatMap((row, index) => {
99
+ if (row == null || typeof row !== 'object' || Array.isArray(row))
100
+ return [{ path: `[${index}]`, message: 'Expected a record object.' }];
101
+ const { id, ...patch } = row;
102
+ return [
103
+ ...(operation === 'update' && (typeof id !== 'string' || id.length === 0) ?
104
+ [{ path: `[${index}].id`, message: 'Expected a record id string.' }]
105
+ : []),
106
+ ...inputIssues(definition, operation === 'update' ? patch : row, operation).map((issue) => ({
107
+ ...issue,
108
+ path: `[${index}].${issue.path}`,
109
+ })),
110
+ ];
111
+ });
112
+ if (issues.length > 0)
113
+ throw new manager_1.CustomObjectRecordValidationError(definition, operation === 'create' ? 'bulk-create' : 'bulk-update', issues);
114
+ return rows.map((row) => operation === 'create' ?
115
+ serializeInput(definition, row)
116
+ : { id: row['id'], ...serializeInput(definition, row) });
117
+ };
118
+ const query = async (ctx, options) => {
119
+ const page = await adapter(ctx).query(definition.apiName, options ?? {});
120
+ return { cursor: page.cursor, results: page.results.map(decode) };
121
+ };
122
+ return Object.freeze({
123
+ async create(ctx, input) {
124
+ assertObjectInput(definition, input, 'create');
125
+ return decode(await adapter(ctx).create(definition.apiName, serializeInput(definition, input)));
126
+ },
127
+ async createMany(ctx, rows, options) {
128
+ const rowsToWrite = serializeBatch(rows, 'create');
129
+ return (await adapter(ctx).bulkCreate(definition.apiName, { ...options, rowsToWrite })).map(decode);
130
+ },
131
+ async get(ctx, recordID) {
132
+ return decode(await adapter(ctx).retrieve(definition.apiName, recordID));
133
+ },
134
+ async getByExternalID(ctx, externalID) {
135
+ return decode(await adapter(ctx).retrieveByExternalID(definition.apiName, externalID));
136
+ },
137
+ async update(ctx, recordID, patch) {
138
+ assertObjectInput(definition, patch, 'update');
139
+ return decode(await adapter(ctx).update(definition.apiName, recordID, serializeInput(definition, patch)));
140
+ },
141
+ async updateMany(ctx, rows, options) {
142
+ const rowsToUpdate = serializeBatch(rows, 'update');
143
+ return (await adapter(ctx).bulkUpdate(definition.apiName, { ...options, rowsToUpdate })).map(decode);
144
+ },
145
+ delete: (ctx, recordID) => adapter(ctx).delete(definition.apiName, recordID),
146
+ deleteMany: (ctx, recordIDs, options) => adapter(ctx).bulkDelete(definition.apiName, { ...options, rowsToDelete: recordIDs }),
147
+ list: (ctx, { where, ...options } = {}) => query(ctx, { ...options, ...(where === undefined ? {} : { query: where.text }) }),
148
+ query,
149
+ });
150
+ }
151
+ //# sourceMappingURL=_object-records.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"_object-records.js","sourceRoot":"","sources":["../../../src/lib/manifest/definitions/_object-records.ts"],"names":[],"mappings":";;AA0DA,8CAOC;AAoFD,kDAoEC;AAzND,8EAGuD;AACvD,oFAI0D;AAmC1D,mGAAmG;AACnG,SAAS,WAAW,CAClB,UAAqC,EACrC,KAA8B,EAC9B,SAA8B;IAE9B,IAAI,KAAK,IAAI,IAAI,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC;QACpE,OAAO,CAAC,EAAE,IAAI,EAAE,EAAE,EAAE,OAAO,EAAE,2BAA2B,EAAE,CAAC,CAAC;IAC9D,MAAM,OAAO,GAAG,EAAE,GAAG,KAAK,EAAE,CAAC;IAC7B,KAAK,MAAM,CAAC,GAAG,EAAE,KAAK,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,UAAU,CAAC,MAAM,CAAC,EAAE,CAAC;QAC7D,IAAI,KAAK,CAAC,QAAQ,IAAI,CAAC,KAAK,CAAC,QAAQ,IAAI,OAAO,CAAC,GAAG,CAAC,KAAK,IAAI;YAAE,OAAO,OAAO,CAAC,GAAG,CAAC,CAAC;IACtF,CAAC;IACD,OAAO,CAAC,SAAS,KAAK,QAAQ,CAAC,CAAC,CAAC,gCAAmB,CAAC,CAAC,CAAC,gCAAmB,CAAC,CAAC,UAAU,EAAE,OAAO,CAAC,CAAC,MAAM,CAAC;AAC1G,CAAC;AAED,SAAgB,iBAAiB,CAC/B,UAAqC,EACrC,KAA8B,EAC9B,SAA8B;IAE9B,MAAM,MAAM,GAAG,WAAW,CAAC,UAAU,EAAE,KAAK,EAAE,SAAS,CAAC,CAAC;IACzD,IAAI,MAAM,CAAC,MAAM,GAAG,CAAC;QAAE,MAAM,IAAI,2CAAiC,CAAC,UAAU,EAAE,SAAS,EAAE,MAAM,CAAC,CAAC;AACpG,CAAC;AAED,SAAS,WAAW,CAAC,KAAc;IACjC,OAAO,KAAK,IAAI,IAAI,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,IAAI,IAAI,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC;AACxF,CAAC;AAED,SAAS,cAAc,CACrB,UAAqC,EACrC,KAA8B;IAE9B,MAAM,IAAI,GAA4B,EAAE,CAAC;IACzC,KAAK,MAAM,GAAG,IAAI,CAAC,MAAM,EAAE,aAAa,EAAE,YAAY,CAAC,EAAE,CAAC;QACxD,IAAI,MAAM,CAAC,SAAS,CAAC,cAAc,CAAC,IAAI,CAAC,KAAK,EAAE,GAAG,CAAC,IAAI,KAAK,CAAC,GAAG,CAAC,KAAK,SAAS;YAC9E,IAAI,CAAC,GAAG,CAAC,GAAG,GAAG,KAAK,YAAY,CAAC,CAAC,CAAC,WAAW,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;IAC5E,CAAC;IACD,KAAK,MAAM,CAAC,GAAG,EAAE,KAAK,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,UAAU,CAAC,MAAM,CAAC,EAAE,CAAC;QAC7D,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,cAAc,CAAC,IAAI,CAAC,KAAK,EAAE,GAAG,CAAC,IAAI,KAAK,CAAC,GAAG,CAAC,KAAK,SAAS;YAAE,SAAS;QAC5F,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC;YACjB,KAAK,CAAC,IAAI,KAAK,QAAQ,IAAI,KAAK,CAAC,IAAI,KAAK,cAAc,IAAI,KAAK,CAAC,IAAI,KAAK,MAAM,CAAC,CAAC;gBACjF,WAAW,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;gBACzB,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;IACjB,CAAC;IACD,OAAO,IAAI,CAAC;AACd,CAAC;AAED,SAAS,MAAM,CAAC,KAAc,EAAE,OAAe;IAC7C,IAAI,OAAO,KAAK,KAAK,QAAQ;QAAE,OAAO,EAAE,EAAE,EAAE,KAAK,EAAE,OAAO,EAAE,CAAC;IAC7D,IAAI,KAAK,IAAI,IAAI,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,IAAI,IAAI,KAAK,IAAI,OAAO,KAAK,CAAC,EAAE,KAAK,QAAQ,EAAE,CAAC;QAChG,OAAO;YACL,EAAE,EAAE,KAAK,CAAC,EAAE;YACZ,OAAO,EAAE,SAAS,IAAI,KAAK,IAAI,OAAO,KAAK,CAAC,OAAO,KAAK,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,OAAO;SAC3F,CAAC;IACJ,CAAC;IACD,OAAO,IAAI,CAAC;AACd,CAAC;AAED,SAAS,UAAU,CAAC,KAAyB,EAAE,KAAc;IAC3D,IAAI,KAAK,IAAI,IAAI;QAAE,OAAO,IAAI,CAAC;IAC/B,QAAQ,KAAK,CAAC,IAAI,EAAE,CAAC;QACnB,KAAK,QAAQ,CAAC;QACd,KAAK,cAAc;YACjB,OAAO,MAAM,CAAC,KAAK,EAAE,KAAK,CAAC,aAAa,IAAI,SAAS,CAAC,CAAC;QACzD,KAAK,MAAM;YACT,OAAO,CACL,OAAO,KAAK,KAAK,QAAQ,CAAC,CAAC,CAAC,KAAK;gBACjC,CAAC,CAAC,KAAK,IAAI,IAAI,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,IAAI,IAAI,KAAK,IAAI,OAAO,KAAK,CAAC,EAAE,KAAK,QAAQ,CAAC,CAAC;oBAC7F,EAAE,EAAE,EAAE,KAAK,CAAC,EAAE,EAAE;oBAClB,CAAC,CAAC,IAAI,CACP,CAAC;QACJ,KAAK,QAAQ,CAAC;QACd,KAAK,UAAU,CAAC;QAChB,KAAK,YAAY,CAAC;QAClB,KAAK,gBAAgB,CAAC;QACtB,KAAK,kBAAkB,CAAC;QACxB,KAAK,oBAAoB,CAAC,CAAC,CAAC;YAC1B,MAAM,OAAO,GACX,OAAO,KAAK,KAAK,QAAQ,CAAC,CAAC,CAAC,KAAK;gBACjC,CAAC,CAAC,OAAO,KAAK,KAAK,QAAQ,IAAI,+CAA+C,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC;oBAC1F,MAAM,CAAC,KAAK,CAAC;oBACf,CAAC,CAAC,GAAG,CAAC;YACR,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,OAAO,CAAC;gBAC3B,MAAM,IAAI,SAAS,CAAC,6BAA6B,KAAK,CAAC,OAAO,6BAA6B,CAAC,CAAC;YAC/F,OAAO,OAAO,CAAC;QACjB,CAAC;QACD;YACE,OAAO,KAAK,CAAC;IACjB,CAAC;AACH,CAAC;AAED,SAAS,YAAY,CACnB,UAAa,EACb,GAAwB;IAExB,MAAM,MAAM,GAA4B,EAAE,EAAE,EAAE,GAAG,CAAC,EAAE,EAAE,IAAI,EAAE,GAAG,CAAC,IAAI,EAAE,CAAC;IACvE,KAAK,MAAM,GAAG,IAAI,CAAC,YAAY,EAAE,YAAY,EAAE,mBAAmB,EAAE,aAAa,CAAC;QAChF,MAAM,CAAC,GAAG,CAAC,GAAG,OAAO,GAAG,CAAC,GAAG,CAAC,KAAK,QAAQ,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;IAC/D,KAAK,MAAM,GAAG,IAAI,CAAC,YAAY,EAAE,YAAY,EAAE,kBAAkB,CAAC;QAChE,MAAM,CAAC,GAAG,CAAC,GAAG,MAAM,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,UAAU,CAAC,CAAC;IAC7C,KAAK,MAAM,CAAC,GAAG,EAAE,KAAK,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,UAAU,CAAC,MAAM,CAAC;QAC1D,MAAM,CAAC,GAAG,CAAC,GAAG,UAAU,CAAC,KAA2B,EAAE,GAAG,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC;IAC5E,OAAO,MAAwB,CAAC;AAClC,CAAC;AAED,8GAA8G;AAC9G,SAAgB,mBAAmB,CACjC,UAAa;IAEb,MAAM,OAAO,GAAG,CAAC,GAAyB,EAAE,EAAE,CAAC,IAAA,yCAA+B,EAAC,GAAG,CAAC,aAAa,CAAC,OAAO,CAAC,CAAC;IAC1G,MAAM,MAAM,GAAG,CAAC,GAAwB,EAAE,EAAE,CAAC,YAAY,CAAC,UAAU,EAAE,GAAG,CAAC,CAAC;IAC3E,MAAM,cAAc,GAAG,CAAC,IAAwC,EAAE,SAA8B,EAAE,EAAE;QAClG,MAAM,MAAM,GAAG,IAAI,CAAC,OAAO,CAAC,CAAC,GAAG,EAAE,KAAK,EAAE,EAAE;YACzC,IAAI,GAAG,IAAI,IAAI,IAAI,OAAO,GAAG,KAAK,QAAQ,IAAI,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC;gBAC9D,OAAO,CAAC,EAAE,IAAI,EAAE,IAAI,KAAK,GAAG,EAAE,OAAO,EAAE,2BAA2B,EAAE,CAAC,CAAC;YACxE,MAAM,EAAE,EAAE,EAAE,GAAG,KAAK,EAAE,GAAG,GAAG,CAAC;YAC7B,OAAO;gBACL,GAAG,CAAC,SAAS,KAAK,QAAQ,IAAI,CAAC,OAAO,EAAE,KAAK,QAAQ,IAAI,EAAE,CAAC,MAAM,KAAK,CAAC,CAAC,CAAC,CAAC;oBACzE,CAAC,EAAE,IAAI,EAAE,IAAI,KAAK,MAAM,EAAE,OAAO,EAAE,8BAA8B,EAAE,CAAC;oBACtE,CAAC,CAAC,EAAE,CAAC;gBACL,GAAG,WAAW,CAAC,UAAU,EAAE,SAAS,KAAK,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,GAAG,EAAE,SAAS,CAAC,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC;oBAC1F,GAAG,KAAK;oBACR,IAAI,EAAE,IAAI,KAAK,KAAK,KAAK,CAAC,IAAI,EAAE;iBACjC,CAAC,CAAC;aACJ,CAAC;QACJ,CAAC,CAAC,CAAC;QACH,IAAI,MAAM,CAAC,MAAM,GAAG,CAAC;YACnB,MAAM,IAAI,2CAAiC,CACzC,UAAU,EACV,SAAS,KAAK,QAAQ,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC,aAAa,EACtD,MAAM,CACP,CAAC;QACJ,OAAO,IAAI,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,CACtB,SAAS,KAAK,QAAQ,CAAC,CAAC;YACtB,cAAc,CAAC,UAAU,EAAE,GAAG,CAAC;YACjC,CAAC,CAAC,EAAE,EAAE,EAAE,GAAG,CAAC,IAAI,CAAC,EAAE,GAAG,cAAc,CAAC,UAAU,EAAE,GAAG,CAAC,EAAE,CACxD,CAAC;IACJ,CAAC,CAAC;IACF,MAAM,KAAK,GAAG,KAAK,EAAE,GAAyB,EAAE,OAAiD,EAAE,EAAE;QACnG,MAAM,IAAI,GAAG,MAAM,OAAO,CAAC,GAAG,CAAC,CAAC,KAAK,CAAC,UAAU,CAAC,OAAO,EAAE,OAAO,IAAI,EAAE,CAAC,CAAC;QACzE,OAAO,EAAE,MAAM,EAAE,IAAI,CAAC,MAAM,EAAE,OAAO,EAAE,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC;IACpE,CAAC,CAAC;IACF,OAAO,MAAM,CAAC,MAAM,CAAmB;QACrC,KAAK,CAAC,MAAM,CAAC,GAAG,EAAE,KAAK;YACrB,iBAAiB,CAAC,UAAU,EAAE,KAAK,EAAE,QAAQ,CAAC,CAAC;YAC/C,OAAO,MAAM,CAAC,MAAM,OAAO,CAAC,GAAG,CAAC,CAAC,MAAM,CAAC,UAAU,CAAC,OAAO,EAAE,cAAc,CAAC,UAAU,EAAE,KAAK,CAAC,CAAC,CAAC,CAAC;QAClG,CAAC;QACD,KAAK,CAAC,UAAU,CAAC,GAAG,EAAE,IAAI,EAAE,OAAO;YACjC,MAAM,WAAW,GAAG,cAAc,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC;YACnD,OAAO,CAAC,MAAM,OAAO,CAAC,GAAG,CAAC,CAAC,UAAU,CAAC,UAAU,CAAC,OAAO,EAAE,EAAE,GAAG,OAAO,EAAE,WAAW,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;QACtG,CAAC;QACD,KAAK,CAAC,GAAG,CAAC,GAAG,EAAE,QAAQ;YACrB,OAAO,MAAM,CAAC,MAAM,OAAO,CAAC,GAAG,CAAC,CAAC,QAAQ,CAAC,UAAU,CAAC,OAAO,EAAE,QAAQ,CAAC,CAAC,CAAC;QAC3E,CAAC;QACD,KAAK,CAAC,eAAe,CAAC,GAAG,EAAE,UAAU;YACnC,OAAO,MAAM,CAAC,MAAM,OAAO,CAAC,GAAG,CAAC,CAAC,oBAAoB,CAAC,UAAU,CAAC,OAAO,EAAE,UAAU,CAAC,CAAC,CAAC;QACzF,CAAC;QACD,KAAK,CAAC,MAAM,CAAC,GAAG,EAAE,QAAQ,EAAE,KAAK;YAC/B,iBAAiB,CAAC,UAAU,EAAE,KAAK,EAAE,QAAQ,CAAC,CAAC;YAC/C,OAAO,MAAM,CACX,MAAM,OAAO,CAAC,GAAG,CAAC,CAAC,MAAM,CAAC,UAAU,CAAC,OAAO,EAAE,QAAQ,EAAE,cAAc,CAAC,UAAU,EAAE,KAAK,CAAC,CAAC,CAC3F,CAAC;QACJ,CAAC;QACD,KAAK,CAAC,UAAU,CAAC,GAAG,EAAE,IAAI,EAAE,OAAO;YACjC,MAAM,YAAY,GAAG,cAAc,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC;YACpD,OAAO,CAAC,MAAM,OAAO,CAAC,GAAG,CAAC,CAAC,UAAU,CAAC,UAAU,CAAC,OAAO,EAAE,EAAE,GAAG,OAAO,EAAE,YAAY,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;QACvG,CAAC;QACD,MAAM,EAAE,CAAC,GAAG,EAAE,QAAQ,EAAE,EAAE,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,MAAM,CAAC,UAAU,CAAC,OAAO,EAAE,QAAQ,CAAC;QAC5E,UAAU,EAAE,CAAC,GAAG,EAAE,SAAS,EAAE,OAAO,EAAE,EAAE,CACtC,OAAO,CAAC,GAAG,CAAC,CAAC,UAAU,CAAC,UAAU,CAAC,OAAO,EAAE,EAAE,GAAG,OAAO,EAAE,YAAY,EAAE,SAAS,EAAE,CAAC;QACtF,IAAI,EAAE,CAAC,GAAG,EAAE,EAAE,KAAK,EAAE,GAAG,OAAO,EAAE,GAAG,EAAE,EAAE,EAAE,CACxC,KAAK,CAAC,GAAG,EAAE,EAAE,GAAG,OAAO,EAAE,GAAG,CAAC,KAAK,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,KAAK,CAAC,IAAI,EAAE,CAAC,EAAE,CAAC;QACnF,KAAK;KACN,CAAC,CAAC;AACL,CAAC"}
@@ -0,0 +1,147 @@
1
+ import { createCustomObjectRecordAdapter, CustomObjectRecordValidationError, } from "../../../core/platform/custom-objects/manager.mjs";
2
+ import { validateCreateInput, validateUpdateInput, } from "../../../core/platform/custom-objects/validation.mjs";
3
+ /** Reuse the existing value checks, excluding only explicitly allowed null custom-field values. */
4
+ function inputIssues(definition, input, operation) {
5
+ if (input == null || typeof input !== 'object' || Array.isArray(input))
6
+ return [{ path: '', message: 'Expected a record object.' }];
7
+ const checked = { ...input };
8
+ for (const [key, field] of Object.entries(definition.fields)) {
9
+ if (field.writable && !field.required && checked[key] === null)
10
+ delete checked[key];
11
+ }
12
+ return (operation === 'create' ? validateCreateInput : validateUpdateInput)(definition, checked).issues;
13
+ }
14
+ export function assertObjectInput(definition, input, operation) {
15
+ const issues = inputIssues(definition, input, operation);
16
+ if (issues.length > 0)
17
+ throw new CustomObjectRecordValidationError(definition, operation, issues);
18
+ }
19
+ function referenceID(value) {
20
+ return value != null && typeof value === 'object' && 'id' in value ? value.id : value;
21
+ }
22
+ function serializeInput(definition, input) {
23
+ const wire = {};
24
+ for (const key of ['name', 'external_id', 'owner_role']) {
25
+ if (Object.prototype.hasOwnProperty.call(input, key) && input[key] !== undefined)
26
+ wire[key] = key === 'owner_role' ? referenceID(input[key]) : input[key];
27
+ }
28
+ for (const [key, field] of Object.entries(definition.fields)) {
29
+ if (!Object.prototype.hasOwnProperty.call(input, key) || input[key] === undefined)
30
+ continue;
31
+ wire[field.apiName] =
32
+ field.kind === 'lookup' || field.kind === 'parent-child' || field.kind === 'file' ?
33
+ referenceID(input[key])
34
+ : input[key];
35
+ }
36
+ return wire;
37
+ }
38
+ function lookup(value, apiName) {
39
+ if (typeof value === 'string')
40
+ return { id: value, apiName };
41
+ if (value != null && typeof value === 'object' && 'id' in value && typeof value.id === 'string') {
42
+ return {
43
+ id: value.id,
44
+ apiName: 'apiName' in value && typeof value.apiName === 'string' ? value.apiName : apiName,
45
+ };
46
+ }
47
+ return null;
48
+ }
49
+ function fieldValue(field, value) {
50
+ if (value == null)
51
+ return null;
52
+ switch (field.kind) {
53
+ case 'lookup':
54
+ case 'parent-child':
55
+ return lookup(value, field.targetApiName ?? 'unknown');
56
+ case 'file':
57
+ return (typeof value === 'string' ? value
58
+ : value != null && typeof value === 'object' && 'id' in value && typeof value.id === 'string' ?
59
+ { id: value.id }
60
+ : null);
61
+ case 'number':
62
+ case 'currency':
63
+ case 'percentage':
64
+ case 'formula-number':
65
+ case 'formula-currency':
66
+ case 'formula-percentage': {
67
+ const numeric = typeof value === 'number' ? value
68
+ : typeof value === 'string' && /^[+-]?(?:\d+(?:\.\d*)?|\.\d+)(?:e[+-]?\d+)?$/i.test(value) ?
69
+ Number(value)
70
+ : NaN;
71
+ if (!Number.isFinite(numeric))
72
+ throw new TypeError(`Invalid numeric value for ${field.apiName}: expected a finite number.`);
73
+ return numeric;
74
+ }
75
+ default:
76
+ return value;
77
+ }
78
+ }
79
+ function decodeRecord(definition, row) {
80
+ const record = { id: row.id, name: row.name };
81
+ for (const key of ['created_at', 'updated_at', 'system_updated_at', 'external_id'])
82
+ record[key] = typeof row[key] === 'string' ? row[key] : null;
83
+ for (const key of ['owner_role', 'created_by', 'last_modified_by'])
84
+ record[key] = lookup(row[key], 'Employee');
85
+ for (const [key, field] of Object.entries(definition.fields))
86
+ record[key] = fieldValue(field, row[field.apiName]);
87
+ return record;
88
+ }
89
+ /** Definition-specific nullability and decoding; the shared manager and legacy constructors are unchanged. */
90
+ export function createObjectRecords(definition) {
91
+ const adapter = (ctx) => createCustomObjectRecordAdapter(ctx.customObjects.records);
92
+ const decode = (row) => decodeRecord(definition, row);
93
+ const serializeBatch = (rows, operation) => {
94
+ const issues = rows.flatMap((row, index) => {
95
+ if (row == null || typeof row !== 'object' || Array.isArray(row))
96
+ return [{ path: `[${index}]`, message: 'Expected a record object.' }];
97
+ const { id, ...patch } = row;
98
+ return [
99
+ ...(operation === 'update' && (typeof id !== 'string' || id.length === 0) ?
100
+ [{ path: `[${index}].id`, message: 'Expected a record id string.' }]
101
+ : []),
102
+ ...inputIssues(definition, operation === 'update' ? patch : row, operation).map((issue) => ({
103
+ ...issue,
104
+ path: `[${index}].${issue.path}`,
105
+ })),
106
+ ];
107
+ });
108
+ if (issues.length > 0)
109
+ throw new CustomObjectRecordValidationError(definition, operation === 'create' ? 'bulk-create' : 'bulk-update', issues);
110
+ return rows.map((row) => operation === 'create' ?
111
+ serializeInput(definition, row)
112
+ : { id: row['id'], ...serializeInput(definition, row) });
113
+ };
114
+ const query = async (ctx, options) => {
115
+ const page = await adapter(ctx).query(definition.apiName, options ?? {});
116
+ return { cursor: page.cursor, results: page.results.map(decode) };
117
+ };
118
+ return Object.freeze({
119
+ async create(ctx, input) {
120
+ assertObjectInput(definition, input, 'create');
121
+ return decode(await adapter(ctx).create(definition.apiName, serializeInput(definition, input)));
122
+ },
123
+ async createMany(ctx, rows, options) {
124
+ const rowsToWrite = serializeBatch(rows, 'create');
125
+ return (await adapter(ctx).bulkCreate(definition.apiName, { ...options, rowsToWrite })).map(decode);
126
+ },
127
+ async get(ctx, recordID) {
128
+ return decode(await adapter(ctx).retrieve(definition.apiName, recordID));
129
+ },
130
+ async getByExternalID(ctx, externalID) {
131
+ return decode(await adapter(ctx).retrieveByExternalID(definition.apiName, externalID));
132
+ },
133
+ async update(ctx, recordID, patch) {
134
+ assertObjectInput(definition, patch, 'update');
135
+ return decode(await adapter(ctx).update(definition.apiName, recordID, serializeInput(definition, patch)));
136
+ },
137
+ async updateMany(ctx, rows, options) {
138
+ const rowsToUpdate = serializeBatch(rows, 'update');
139
+ return (await adapter(ctx).bulkUpdate(definition.apiName, { ...options, rowsToUpdate })).map(decode);
140
+ },
141
+ delete: (ctx, recordID) => adapter(ctx).delete(definition.apiName, recordID),
142
+ deleteMany: (ctx, recordIDs, options) => adapter(ctx).bulkDelete(definition.apiName, { ...options, rowsToDelete: recordIDs }),
143
+ list: (ctx, { where, ...options } = {}) => query(ctx, { ...options, ...(where === undefined ? {} : { query: where.text }) }),
144
+ query,
145
+ });
146
+ }
147
+ //# sourceMappingURL=_object-records.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"_object-records.mjs","sourceRoot":"","sources":["../../../src/lib/manifest/definitions/_object-records.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,7 @@
1
+ import { CustomObjectAction, type CustomObjectActionProps } from "../custom-object-action.mjs";
2
+ import { type ObjectReference } from "./custom-object.mjs";
3
+ export type DefineActionProps = Omit<CustomObjectActionProps, 'actionId' | 'apiName'> & {
4
+ apiName: `${string}__c`;
5
+ };
6
+ export declare function defineAction(object: ObjectReference, props: DefineActionProps): CustomObjectAction;
7
+ //# sourceMappingURL=action.d.mts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"action.d.mts","sourceRoot":"","sources":["../../../src/lib/manifest/definitions/action.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,kBAAkB,EAAE,KAAK,uBAAuB,EAAE,oCAAgC;AAC3F,OAAO,EAAkB,KAAK,eAAe,EAAE,4BAAwB;AAEvE,MAAM,MAAM,iBAAiB,GAAG,IAAI,CAAC,uBAAuB,EAAE,UAAU,GAAG,SAAS,CAAC,GAAG;IACtF,OAAO,EAAE,GAAG,MAAM,KAAK,CAAC;CACzB,CAAC;AAEF,wBAAgB,YAAY,CAAC,MAAM,EAAE,eAAe,EAAE,KAAK,EAAE,iBAAiB,GAAG,kBAAkB,CAclG"}
@@ -0,0 +1,7 @@
1
+ import { CustomObjectAction, type CustomObjectActionProps } from "../custom-object-action.js";
2
+ import { type ObjectReference } from "./custom-object.js";
3
+ export type DefineActionProps = Omit<CustomObjectActionProps, 'actionId' | 'apiName'> & {
4
+ apiName: `${string}__c`;
5
+ };
6
+ export declare function defineAction(object: ObjectReference, props: DefineActionProps): CustomObjectAction;
7
+ //# sourceMappingURL=action.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"action.d.ts","sourceRoot":"","sources":["../../../src/lib/manifest/definitions/action.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,kBAAkB,EAAE,KAAK,uBAAuB,EAAE,mCAAgC;AAC3F,OAAO,EAAkB,KAAK,eAAe,EAAE,2BAAwB;AAEvE,MAAM,MAAM,iBAAiB,GAAG,IAAI,CAAC,uBAAuB,EAAE,UAAU,GAAG,SAAS,CAAC,GAAG;IACtF,OAAO,EAAE,GAAG,MAAM,KAAK,CAAC;CACzB,CAAC;AAEF,wBAAgB,YAAY,CAAC,MAAM,EAAE,eAAe,EAAE,KAAK,EAAE,iBAAiB,GAAG,kBAAkB,CAclG"}
@@ -0,0 +1,25 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.defineAction = defineAction;
4
+ const component_1 = require("./component.js");
5
+ const custom_object_action_1 = require("../custom-object-action.js");
6
+ const custom_object_1 = require("./custom-object.js");
7
+ function defineAction(object, props) {
8
+ (0, component_1.validateCustomApiName)(props.apiName);
9
+ const action = (0, component_1.withApiName)(new custom_object_action_1.CustomObjectAction((0, custom_object_1.manifestObject)(object), { ...props, actionId: props.apiName }), props.apiName);
10
+ currentFunction.set(action, props.function);
11
+ const setFunction = action.setFunction.bind(action);
12
+ action.setFunction = (definition) => {
13
+ setFunction(definition);
14
+ currentFunction.set(action, definition);
15
+ return action;
16
+ };
17
+ return actionComponent.register(action, object, props);
18
+ }
19
+ const currentFunction = new WeakMap();
20
+ const actionComponent = (0, component_1.defineComponent)({
21
+ type: 'CUSTOM_OBJECT_ACTION',
22
+ define: defineAction,
23
+ references: (definition, object) => () => [object, currentFunction.get(definition)],
24
+ });
25
+ //# sourceMappingURL=action.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"action.js","sourceRoot":"","sources":["../../../src/lib/manifest/definitions/action.ts"],"names":[],"mappings":";;AAQA,oCAcC;AAtBD,8CAA4G;AAC5G,qEAA2F;AAC3F,sDAAuE;AAMvE,SAAgB,YAAY,CAAC,MAAuB,EAAE,KAAwB;IAC5E,IAAA,iCAAqB,EAAC,KAAK,CAAC,OAAO,CAAC,CAAC;IACrC,MAAM,MAAM,GAAG,IAAA,uBAAW,EACxB,IAAI,yCAAkB,CAAC,IAAA,8BAAc,EAAC,MAAM,CAAC,EAAE,EAAE,GAAG,KAAK,EAAE,QAAQ,EAAE,KAAK,CAAC,OAAO,EAAE,CAAC,EACrF,KAAK,CAAC,OAAO,CACd,CAAC;IACF,eAAe,CAAC,GAAG,CAAC,MAAM,EAAE,KAAK,CAAC,QAAQ,CAAC,CAAC;IAC5C,MAAM,WAAW,GAAG,MAAM,CAAC,WAAW,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;IACpD,MAAM,CAAC,WAAW,GAAG,CAAC,UAAU,EAAE,EAAE;QAClC,WAAW,CAAC,UAAU,CAAC,CAAC;QACxB,eAAe,CAAC,GAAG,CAAC,MAAM,EAAE,UAAU,CAAC,CAAC;QACxC,OAAO,MAAM,CAAC;IAChB,CAAC,CAAC;IACF,OAAO,eAAe,CAAC,QAAQ,CAAC,MAAM,EAAE,MAAM,EAAE,KAAK,CAAC,CAAC;AACzD,CAAC;AAED,MAAM,eAAe,GAAG,IAAI,OAAO,EAA2D,CAAC;AAE/F,MAAM,eAAe,GAA6C,IAAA,2BAAe,EAAC;IAChF,IAAI,EAAE,sBAAsB;IAC5B,MAAM,EAAE,YAAY;IACpB,UAAU,EAAE,CAAC,UAAU,EAAE,MAAM,EAAE,EAAE,CAAC,GAAG,EAAE,CAAC,CAAC,MAAM,EAAE,eAAe,CAAC,GAAG,CAAC,UAAU,CAAE,CAAC;CACrF,CAAC,CAAC"}
@@ -0,0 +1,22 @@
1
+ import { defineComponent, withApiName, validateCustomApiName } from "./component.mjs";
2
+ import { CustomObjectAction } from "../custom-object-action.mjs";
3
+ import { manifestObject } from "./custom-object.mjs";
4
+ export function defineAction(object, props) {
5
+ validateCustomApiName(props.apiName);
6
+ const action = withApiName(new CustomObjectAction(manifestObject(object), { ...props, actionId: props.apiName }), props.apiName);
7
+ currentFunction.set(action, props.function);
8
+ const setFunction = action.setFunction.bind(action);
9
+ action.setFunction = (definition) => {
10
+ setFunction(definition);
11
+ currentFunction.set(action, definition);
12
+ return action;
13
+ };
14
+ return actionComponent.register(action, object, props);
15
+ }
16
+ const currentFunction = new WeakMap();
17
+ const actionComponent = defineComponent({
18
+ type: 'CUSTOM_OBJECT_ACTION',
19
+ define: defineAction,
20
+ references: (definition, object) => () => [object, currentFunction.get(definition)],
21
+ });
22
+ //# sourceMappingURL=action.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"action.mjs","sourceRoot":"","sources":["../../../src/lib/manifest/definitions/action.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,WAAW,EAAE,qBAAqB,EAA4B,wBAAoB;AAC5G,OAAO,EAAE,kBAAkB,EAAgC,oCAAgC;AAC3F,OAAO,EAAE,cAAc,EAAwB,4BAAwB;AAMvE,MAAM,UAAU,YAAY,CAAC,MAAuB,EAAE,KAAwB;IAC5E,qBAAqB,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;IACrC,MAAM,MAAM,GAAG,WAAW,CACxB,IAAI,kBAAkB,CAAC,cAAc,CAAC,MAAM,CAAC,EAAE,EAAE,GAAG,KAAK,EAAE,QAAQ,EAAE,KAAK,CAAC,OAAO,EAAE,CAAC,EACrF,KAAK,CAAC,OAAO,CACd,CAAC;IACF,eAAe,CAAC,GAAG,CAAC,MAAM,EAAE,KAAK,CAAC,QAAQ,CAAC,CAAC;IAC5C,MAAM,WAAW,GAAG,MAAM,CAAC,WAAW,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;IACpD,MAAM,CAAC,WAAW,GAAG,CAAC,UAAU,EAAE,EAAE;QAClC,WAAW,CAAC,UAAU,CAAC,CAAC;QACxB,eAAe,CAAC,GAAG,CAAC,MAAM,EAAE,UAAU,CAAC,CAAC;QACxC,OAAO,MAAM,CAAC;IAChB,CAAC,CAAC;IACF,OAAO,eAAe,CAAC,QAAQ,CAAC,MAAM,EAAE,MAAM,EAAE,KAAK,CAAC,CAAC;AACzD,CAAC;AAED,MAAM,eAAe,GAAG,IAAI,OAAO,EAA2D,CAAC;AAE/F,MAAM,eAAe,GAA6C,eAAe,CAAC;IAChF,IAAI,EAAE,sBAAsB;IAC5B,MAAM,EAAE,YAAY;IACpB,UAAU,EAAE,CAAC,UAAU,EAAE,MAAM,EAAE,EAAE,CAAC,GAAG,EAAE,CAAC,CAAC,MAAM,EAAE,eAAe,CAAC,GAAG,CAAC,UAAU,CAAE,CAAC;CACrF,CAAC,CAAC"}