@party-stack/salesforce-ontology 0.3.0 → 0.4.1

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 (166) hide show
  1. package/README.md +22 -31
  2. package/lib/actionMetadata.d.ts +11 -9
  3. package/lib/actionMetadata.d.ts.map +1 -1
  4. package/lib/actionMetadata.js +19 -30
  5. package/lib/actionMetadata.js.map +1 -1
  6. package/lib/adapter/convertLoadSubsetOptions.d.ts +10 -8
  7. package/lib/adapter/convertLoadSubsetOptions.d.ts.map +1 -1
  8. package/lib/adapter/convertLoadSubsetOptions.js +110 -173
  9. package/lib/adapter/convertLoadSubsetOptions.js.map +1 -1
  10. package/lib/adapter/createSalesforceOntologyBackendAdapter.d.ts +14 -12
  11. package/lib/adapter/createSalesforceOntologyBackendAdapter.d.ts.map +1 -1
  12. package/lib/adapter/createSalesforceOntologyBackendAdapter.js +124 -191
  13. package/lib/adapter/createSalesforceOntologyBackendAdapter.js.map +1 -1
  14. package/lib/adapter/index.d.ts +5 -5
  15. package/lib/adapter/index.js +5 -5
  16. package/lib/adapter/objectCollectionOptions.d.ts +22 -23
  17. package/lib/adapter/objectCollectionOptions.d.ts.map +1 -1
  18. package/lib/adapter/objectCollectionOptions.js +198 -280
  19. package/lib/adapter/objectCollectionOptions.js.map +1 -1
  20. package/lib/adapter/salesforceCodec.d.ts +6 -5
  21. package/lib/adapter/salesforceCodec.d.ts.map +1 -1
  22. package/lib/adapter/salesforceCodec.js +126 -190
  23. package/lib/adapter/salesforceCodec.js.map +1 -1
  24. package/lib/config/index.d.ts +20 -18
  25. package/lib/config/index.d.ts.map +1 -1
  26. package/lib/config/index.js +148 -192
  27. package/lib/config/index.js.map +1 -1
  28. package/lib/connection.d.ts +35 -33
  29. package/lib/connection.d.ts.map +1 -1
  30. package/lib/connection.js +243 -299
  31. package/lib/connection.js.map +1 -1
  32. package/lib/crud.d.ts +5 -3
  33. package/lib/crud.d.ts.map +1 -1
  34. package/lib/crud.js +0 -1
  35. package/lib/index.d.ts +10 -5
  36. package/lib/index.js +10 -5
  37. package/lib/installation/createSalesforceBackendInstallation.d.ts +28 -26
  38. package/lib/installation/createSalesforceBackendInstallation.d.ts.map +1 -1
  39. package/lib/installation/createSalesforceBackendInstallation.js +75 -85
  40. package/lib/installation/createSalesforceBackendInstallation.js.map +1 -1
  41. package/lib/installation/index.d.ts +2 -2
  42. package/lib/installation/index.js +2 -2
  43. package/lib/meta/actionTypeCollectionOptions.d.ts +10 -8
  44. package/lib/meta/actionTypeCollectionOptions.d.ts.map +1 -1
  45. package/lib/meta/actionTypeCollectionOptions.js +105 -212
  46. package/lib/meta/actionTypeCollectionOptions.js.map +1 -1
  47. package/lib/meta/convertMetaActionType.d.ts +4 -2
  48. package/lib/meta/convertMetaActionType.d.ts.map +1 -1
  49. package/lib/meta/convertMetaActionType.js +32 -32
  50. package/lib/meta/convertMetaActionType.js.map +1 -1
  51. package/lib/meta/convertMetaLinkType.d.ts +4 -2
  52. package/lib/meta/convertMetaLinkType.d.ts.map +1 -1
  53. package/lib/meta/convertMetaLinkType.js +39 -45
  54. package/lib/meta/convertMetaLinkType.js.map +1 -1
  55. package/lib/meta/convertMetaLoadSubsetOptions.d.ts +12 -10
  56. package/lib/meta/convertMetaLoadSubsetOptions.d.ts.map +1 -1
  57. package/lib/meta/convertMetaLoadSubsetOptions.js +42 -58
  58. package/lib/meta/convertMetaLoadSubsetOptions.js.map +1 -1
  59. package/lib/meta/convertMetaObjectType.d.ts +4 -2
  60. package/lib/meta/convertMetaObjectType.d.ts.map +1 -1
  61. package/lib/meta/convertMetaObjectType.js +36 -40
  62. package/lib/meta/convertMetaObjectType.js.map +1 -1
  63. package/lib/meta/convertMetaQueryFunctionType.d.ts +4 -2
  64. package/lib/meta/convertMetaQueryFunctionType.d.ts.map +1 -1
  65. package/lib/meta/convertMetaQueryFunctionType.js +27 -25
  66. package/lib/meta/convertMetaQueryFunctionType.js.map +1 -1
  67. package/lib/meta/convertMetaTypeDef.d.ts +10 -8
  68. package/lib/meta/convertMetaTypeDef.d.ts.map +1 -1
  69. package/lib/meta/convertMetaTypeDef.js +196 -188
  70. package/lib/meta/convertMetaTypeDef.js.map +1 -1
  71. package/lib/meta/createSalesforceMetaOntologyBackendAdapter.d.ts +19 -17
  72. package/lib/meta/createSalesforceMetaOntologyBackendAdapter.d.ts.map +1 -1
  73. package/lib/meta/createSalesforceMetaOntologyBackendAdapter.js +38 -40
  74. package/lib/meta/createSalesforceMetaOntologyBackendAdapter.js.map +1 -1
  75. package/lib/meta/entityCollectionOptions.d.ts +10 -8
  76. package/lib/meta/entityCollectionOptions.d.ts.map +1 -1
  77. package/lib/meta/entityCollectionOptions.js +73 -82
  78. package/lib/meta/entityCollectionOptions.js.map +1 -1
  79. package/lib/meta/index.d.ts +7 -7
  80. package/lib/meta/index.js +7 -7
  81. package/lib/meta/queryFunctionTypeCollectionOptions.d.ts +7 -5
  82. package/lib/meta/queryFunctionTypeCollectionOptions.d.ts.map +1 -1
  83. package/lib/meta/queryFunctionTypeCollectionOptions.js +53 -91
  84. package/lib/meta/queryFunctionTypeCollectionOptions.js.map +1 -1
  85. package/lib/meta/synthesizeCrudActionTypes.d.ts +4 -2
  86. package/lib/meta/synthesizeCrudActionTypes.d.ts.map +1 -1
  87. package/lib/meta/synthesizeCrudActionTypes.js +77 -116
  88. package/lib/meta/synthesizeCrudActionTypes.js.map +1 -1
  89. package/lib/standardActions.d.ts +2 -0
  90. package/lib/standardActions.d.ts.map +1 -1
  91. package/lib/standardActions.js +22 -20
  92. package/lib/standardActions.js.map +1 -1
  93. package/lib/utils/AsyncIterable.d.ts +2 -0
  94. package/lib/utils/AsyncIterable.d.ts.map +1 -1
  95. package/lib/utils/AsyncIterable.js +20 -23
  96. package/lib/utils/AsyncIterable.js.map +1 -1
  97. package/lib/utils/ids.d.ts +2 -0
  98. package/lib/utils/ids.d.ts.map +1 -1
  99. package/lib/utils/ids.js +23 -19
  100. package/lib/utils/ids.js.map +1 -1
  101. package/package.json +18 -24
  102. package/lib/adapter/convertLoadSubsetOptions.test.d.ts +0 -2
  103. package/lib/adapter/convertLoadSubsetOptions.test.d.ts.map +0 -1
  104. package/lib/adapter/convertLoadSubsetOptions.test.js +0 -80
  105. package/lib/adapter/convertLoadSubsetOptions.test.js.map +0 -1
  106. package/lib/adapter/createSalesforceOntologyBackendAdapter.test.d.ts +0 -2
  107. package/lib/adapter/createSalesforceOntologyBackendAdapter.test.d.ts.map +0 -1
  108. package/lib/adapter/createSalesforceOntologyBackendAdapter.test.js +0 -394
  109. package/lib/adapter/createSalesforceOntologyBackendAdapter.test.js.map +0 -1
  110. package/lib/adapter/index.d.ts.map +0 -1
  111. package/lib/adapter/index.js.map +0 -1
  112. package/lib/adapter/objectCollectionOptions.test.d.ts +0 -2
  113. package/lib/adapter/objectCollectionOptions.test.d.ts.map +0 -1
  114. package/lib/adapter/objectCollectionOptions.test.js +0 -160
  115. package/lib/adapter/objectCollectionOptions.test.js.map +0 -1
  116. package/lib/adapter/salesforceCodec.test.d.ts +0 -2
  117. package/lib/adapter/salesforceCodec.test.d.ts.map +0 -1
  118. package/lib/adapter/salesforceCodec.test.js +0 -57
  119. package/lib/adapter/salesforceCodec.test.js.map +0 -1
  120. package/lib/config/index.test.d.ts +0 -2
  121. package/lib/config/index.test.d.ts.map +0 -1
  122. package/lib/config/index.test.js +0 -177
  123. package/lib/config/index.test.js.map +0 -1
  124. package/lib/connection.test.d.ts +0 -2
  125. package/lib/connection.test.d.ts.map +0 -1
  126. package/lib/connection.test.js +0 -189
  127. package/lib/connection.test.js.map +0 -1
  128. package/lib/crud.js.map +0 -1
  129. package/lib/index.d.ts.map +0 -1
  130. package/lib/index.js.map +0 -1
  131. package/lib/installation/createSalesforceBackendInstallation.test.d.ts +0 -2
  132. package/lib/installation/createSalesforceBackendInstallation.test.d.ts.map +0 -1
  133. package/lib/installation/createSalesforceBackendInstallation.test.js +0 -55
  134. package/lib/installation/createSalesforceBackendInstallation.test.js.map +0 -1
  135. package/lib/installation/index.d.ts.map +0 -1
  136. package/lib/installation/index.js.map +0 -1
  137. package/lib/meta/actionTypeCollectionOptions.test.d.ts +0 -2
  138. package/lib/meta/actionTypeCollectionOptions.test.d.ts.map +0 -1
  139. package/lib/meta/actionTypeCollectionOptions.test.js +0 -192
  140. package/lib/meta/actionTypeCollectionOptions.test.js.map +0 -1
  141. package/lib/meta/convertMetaActionType.test.d.ts +0 -2
  142. package/lib/meta/convertMetaActionType.test.d.ts.map +0 -1
  143. package/lib/meta/convertMetaActionType.test.js +0 -185
  144. package/lib/meta/convertMetaActionType.test.js.map +0 -1
  145. package/lib/meta/convertMetaObjectType.test.d.ts +0 -2
  146. package/lib/meta/convertMetaObjectType.test.d.ts.map +0 -1
  147. package/lib/meta/convertMetaObjectType.test.js +0 -187
  148. package/lib/meta/convertMetaObjectType.test.js.map +0 -1
  149. package/lib/meta/convertMetaQueryFunctionType.test.d.ts +0 -2
  150. package/lib/meta/convertMetaQueryFunctionType.test.d.ts.map +0 -1
  151. package/lib/meta/convertMetaQueryFunctionType.test.js +0 -58
  152. package/lib/meta/convertMetaQueryFunctionType.test.js.map +0 -1
  153. package/lib/meta/entityCollectionOptions.test.d.ts +0 -2
  154. package/lib/meta/entityCollectionOptions.test.d.ts.map +0 -1
  155. package/lib/meta/entityCollectionOptions.test.js +0 -120
  156. package/lib/meta/entityCollectionOptions.test.js.map +0 -1
  157. package/lib/meta/index.d.ts.map +0 -1
  158. package/lib/meta/index.js.map +0 -1
  159. package/lib/meta/queryFunctionTypeCollectionOptions.test.d.ts +0 -2
  160. package/lib/meta/queryFunctionTypeCollectionOptions.test.d.ts.map +0 -1
  161. package/lib/meta/queryFunctionTypeCollectionOptions.test.js +0 -71
  162. package/lib/meta/queryFunctionTypeCollectionOptions.test.js.map +0 -1
  163. package/lib/meta/synthesizeCrudActionTypes.test.d.ts +0 -2
  164. package/lib/meta/synthesizeCrudActionTypes.test.d.ts.map +0 -1
  165. package/lib/meta/synthesizeCrudActionTypes.test.js +0 -153
  166. package/lib/meta/synthesizeCrudActionTypes.test.js.map +0 -1
@@ -1,200 +1,208 @@
1
+ //#region src/meta/convertMetaTypeDef.ts
1
2
  function maybeOptional(type, nillable) {
2
- return nillable && type.kind !== "optional"
3
- ? { kind: "optional", value: { type } }
4
- : type;
3
+ return nillable && type.kind !== "optional" ? {
4
+ kind: "optional",
5
+ value: { type }
6
+ } : type;
5
7
  }
6
8
  function asPicklistValues(values) {
7
- if (!Array.isArray(values)) {
8
- return [];
9
- }
10
- return values;
9
+ if (!Array.isArray(values)) return [];
10
+ return values;
11
11
  }
12
12
  function picklistConstraint(values) {
13
- const options = asPicklistValues(values)
14
- .filter((value) => value.active)
15
- .map((value) => ({
16
- value: value.value,
17
- label: value.label ?? undefined,
18
- }));
19
- return options.length > 0
20
- ? {
21
- kind: "enum",
22
- value: { options },
23
- }
24
- : undefined;
13
+ const options = asPicklistValues(values).filter((value) => value.active).map((value) => ({
14
+ value: value.value,
15
+ label: value.label ?? void 0
16
+ }));
17
+ return options.length > 0 ? {
18
+ kind: "enum",
19
+ value: { options }
20
+ } : void 0;
25
21
  }
26
22
  /**
27
- * Convert a Salesforce field describe into a Party Stack TypeDef.
28
- * Unsupported/compound provider-specific shapes become `unknown`.
29
- */
30
- export function convertSalesforceFieldType(field) {
31
- const baseType = convertSalesforceSoapType(field);
32
- return maybeOptional(baseType, field.nillable && field.type !== "id" && field.name !== "Id");
23
+ * Convert a Salesforce field describe into a Party Stack TypeDef.
24
+ * Unsupported/compound provider-specific shapes become `unknown`.
25
+ */
26
+ function convertSalesforceFieldType(field) {
27
+ return maybeOptional(convertSalesforceSoapType(field), field.nillable && field.type !== "id" && field.name !== "Id");
33
28
  }
34
29
  function convertSalesforceSoapType(field) {
35
- switch (field.type) {
36
- case "id":
37
- case "string":
38
- case "textarea":
39
- case "url":
40
- case "email":
41
- case "phone":
42
- case "encryptedstring":
43
- case "combobox":
44
- case "anyType":
45
- return {
46
- kind: "string",
47
- value: {},
48
- };
49
- case "picklist":
50
- case "multipicklist": {
51
- const constraint = picklistConstraint(field.picklistValues);
52
- if (field.type === "multipicklist") {
53
- return {
54
- kind: "list",
55
- value: {
56
- elementType: {
57
- kind: "string",
58
- value: { constraint },
59
- },
60
- },
61
- };
62
- }
63
- return {
64
- kind: "string",
65
- value: { constraint },
66
- };
67
- }
68
- case "boolean":
69
- return { kind: "boolean", value: {} };
70
- case "int":
71
- case "long":
72
- return { kind: "integer", value: {} };
73
- case "double":
74
- case "currency":
75
- case "percent":
76
- return { kind: "double", value: {} };
77
- case "date":
78
- return { kind: "date", value: {} };
79
- case "datetime":
80
- return { kind: "timestamp", value: {} };
81
- case "time":
82
- // Party Stack has no dedicated time type yet.
83
- return { kind: "string", value: {} };
84
- case "reference": {
85
- const referenceTo = field.referenceTo ?? [];
86
- if (referenceTo.length === 1) {
87
- return {
88
- kind: "objectReference",
89
- value: { objectType: referenceTo[0] },
90
- };
91
- }
92
- // Polymorphic references stay scalar until multi-target links exist.
93
- return { kind: "string", value: {} };
94
- }
95
- case "location":
96
- case "address":
97
- // Compound location/address fields are exposed as unknown; individual
98
- // latitude/longitude components appear as separate fields when available.
99
- return { kind: "unknown", value: {} };
100
- case "base64":
101
- case "blob":
102
- case "complexvalue":
103
- case "json":
104
- case "datacategorygroupreference":
105
- default:
106
- return { kind: "unknown", value: {} };
107
- }
30
+ switch (field.type) {
31
+ case "id":
32
+ case "string":
33
+ case "textarea":
34
+ case "url":
35
+ case "email":
36
+ case "phone":
37
+ case "encryptedstring":
38
+ case "combobox":
39
+ case "anyType": return {
40
+ kind: "string",
41
+ value: {}
42
+ };
43
+ case "picklist":
44
+ case "multipicklist": {
45
+ const constraint = picklistConstraint(field.picklistValues);
46
+ if (field.type === "multipicklist") return {
47
+ kind: "list",
48
+ value: { elementType: {
49
+ kind: "string",
50
+ value: { constraint }
51
+ } }
52
+ };
53
+ return {
54
+ kind: "string",
55
+ value: { constraint }
56
+ };
57
+ }
58
+ case "boolean": return {
59
+ kind: "boolean",
60
+ value: {}
61
+ };
62
+ case "int":
63
+ case "long": return {
64
+ kind: "integer",
65
+ value: {}
66
+ };
67
+ case "double":
68
+ case "currency":
69
+ case "percent": return {
70
+ kind: "double",
71
+ value: {}
72
+ };
73
+ case "date": return {
74
+ kind: "date",
75
+ value: {}
76
+ };
77
+ case "datetime": return {
78
+ kind: "timestamp",
79
+ value: {}
80
+ };
81
+ case "time": return {
82
+ kind: "string",
83
+ value: {}
84
+ };
85
+ case "reference": {
86
+ const referenceTo = field.referenceTo ?? [];
87
+ if (referenceTo.length === 1) return {
88
+ kind: "objectReference",
89
+ value: { objectType: referenceTo[0] }
90
+ };
91
+ return {
92
+ kind: "string",
93
+ value: {}
94
+ };
95
+ }
96
+ case "location":
97
+ case "address": return {
98
+ kind: "unknown",
99
+ value: {}
100
+ };
101
+ default: return {
102
+ kind: "unknown",
103
+ value: {}
104
+ };
105
+ }
108
106
  }
109
- export function convertSalesforceInvocableParameterType(parameter, sObjectDescribe) {
110
- const required = parameter.required === true;
111
- let baseType;
112
- const typeName = parameter.type?.toLowerCase() ?? "unknown";
113
- const sObjectType = parameter.sobjectType ?? parameter.sObjectType;
114
- if (typeName === "sobject" &&
115
- sObjectType &&
116
- sObjectDescribe) {
117
- baseType = {
118
- kind: "struct",
119
- value: {
120
- fields: sObjectDescribe.fields
121
- .filter((field) => field.type !== "address" &&
122
- field.type !== "location")
123
- .map((field) => ({
124
- name: field.name,
125
- displayName: field.label || field.name,
126
- description: field.inlineHelpText ??
127
- undefined,
128
- type: maybeOptional(convertSalesforceFieldType(field), true),
129
- })),
130
- },
131
- };
132
- }
133
- else if (sObjectType &&
134
- (typeName === "id" ||
135
- typeName === "reference")) {
136
- baseType = {
137
- kind: "objectReference",
138
- value: { objectType: sObjectType },
139
- };
140
- }
141
- else {
142
- switch (typeName) {
143
- case "string":
144
- case "id":
145
- case "textarea":
146
- case "url":
147
- case "email":
148
- case "phone":
149
- baseType = { kind: "string", value: {} };
150
- break;
151
- case "picklist":
152
- baseType = {
153
- kind: "string",
154
- value: {
155
- constraint: picklistConstraint(parameter.picklistValues),
156
- },
157
- };
158
- break;
159
- case "boolean":
160
- baseType = { kind: "boolean", value: {} };
161
- break;
162
- case "integer":
163
- case "int":
164
- case "long":
165
- baseType = { kind: "integer", value: {} };
166
- break;
167
- case "double":
168
- case "currency":
169
- case "percent":
170
- case "number":
171
- case "decimal":
172
- baseType = { kind: "double", value: {} };
173
- break;
174
- case "date":
175
- baseType = { kind: "date", value: {} };
176
- break;
177
- case "datetime":
178
- baseType = { kind: "timestamp", value: {} };
179
- break;
180
- case "sobject":
181
- baseType = { kind: "unknown", value: {} };
182
- break;
183
- case "reference":
184
- baseType = { kind: "string", value: {} };
185
- break;
186
- default:
187
- baseType = { kind: "unknown", value: {} };
188
- break;
189
- }
190
- }
191
- if (typeof parameter.maxOccurs === "number" &&
192
- parameter.maxOccurs > 1) {
193
- baseType = {
194
- kind: "list",
195
- value: { elementType: baseType },
196
- };
197
- }
198
- return required ? baseType : { kind: "optional", value: { type: baseType } };
107
+ function convertSalesforceInvocableParameterType(parameter, sObjectDescribe) {
108
+ const required = parameter.required === true;
109
+ let baseType;
110
+ const typeName = parameter.type?.toLowerCase() ?? "unknown";
111
+ const sObjectType = parameter.sobjectType ?? parameter.sObjectType;
112
+ if (typeName === "sobject" && sObjectType && sObjectDescribe) baseType = {
113
+ kind: "struct",
114
+ value: { fields: sObjectDescribe.fields.filter((field) => field.type !== "address" && field.type !== "location").map((field) => ({
115
+ name: field.name,
116
+ displayName: field.label || field.name,
117
+ description: field.inlineHelpText ?? void 0,
118
+ type: maybeOptional(convertSalesforceFieldType(field), true)
119
+ })) }
120
+ };
121
+ else if (sObjectType && (typeName === "id" || typeName === "reference")) baseType = {
122
+ kind: "objectReference",
123
+ value: { objectType: sObjectType }
124
+ };
125
+ else switch (typeName) {
126
+ case "string":
127
+ case "id":
128
+ case "textarea":
129
+ case "url":
130
+ case "email":
131
+ case "phone":
132
+ baseType = {
133
+ kind: "string",
134
+ value: {}
135
+ };
136
+ break;
137
+ case "picklist":
138
+ baseType = {
139
+ kind: "string",
140
+ value: { constraint: picklistConstraint(parameter.picklistValues) }
141
+ };
142
+ break;
143
+ case "boolean":
144
+ baseType = {
145
+ kind: "boolean",
146
+ value: {}
147
+ };
148
+ break;
149
+ case "integer":
150
+ case "int":
151
+ case "long":
152
+ baseType = {
153
+ kind: "integer",
154
+ value: {}
155
+ };
156
+ break;
157
+ case "double":
158
+ case "currency":
159
+ case "percent":
160
+ case "number":
161
+ case "decimal":
162
+ baseType = {
163
+ kind: "double",
164
+ value: {}
165
+ };
166
+ break;
167
+ case "date":
168
+ baseType = {
169
+ kind: "date",
170
+ value: {}
171
+ };
172
+ break;
173
+ case "datetime":
174
+ baseType = {
175
+ kind: "timestamp",
176
+ value: {}
177
+ };
178
+ break;
179
+ case "sobject":
180
+ baseType = {
181
+ kind: "unknown",
182
+ value: {}
183
+ };
184
+ break;
185
+ case "reference":
186
+ baseType = {
187
+ kind: "string",
188
+ value: {}
189
+ };
190
+ break;
191
+ default: baseType = {
192
+ kind: "unknown",
193
+ value: {}
194
+ };
195
+ }
196
+ if (typeof parameter.maxOccurs === "number" && parameter.maxOccurs > 1) baseType = {
197
+ kind: "list",
198
+ value: { elementType: baseType }
199
+ };
200
+ return required ? baseType : {
201
+ kind: "optional",
202
+ value: { type: baseType }
203
+ };
199
204
  }
205
+ //#endregion
206
+ export { convertSalesforceFieldType, convertSalesforceInvocableParameterType };
207
+
200
208
  //# sourceMappingURL=convertMetaTypeDef.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"convertMetaTypeDef.js","sourceRoot":"","sources":["../../src/meta/convertMetaTypeDef.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"convertMetaTypeDef.js","names":[],"sources":["../../src/meta/convertMetaTypeDef.ts"],"sourcesContent":["import type { StringConstraint, TypeDef } from \"@party-stack/ontology\";\nimport type {\n Field,\n SalesforceFieldDescribe,\n SalesforcePicklistValue,\n SalesforceSObjectDescribe,\n} from \"@party-stack/salesforce-client\";\n\nfunction maybeOptional(type: TypeDef, nillable: boolean): TypeDef {\n return nillable && type.kind !== \"optional\" ? { kind: \"optional\", value: { type } } : type;\n}\n\nfunction asPicklistValues(values: Field[\"picklistValues\"] | null | undefined): SalesforcePicklistValue[] {\n if (!Array.isArray(values)) {\n return [];\n }\n return values;\n}\n\nfunction picklistConstraint(\n values: Field[\"picklistValues\"] | null | undefined\n): StringConstraint | undefined {\n const options = asPicklistValues(values)\n .filter((value) => value.active)\n .map((value) => ({\n value: value.value,\n label: value.label ?? undefined,\n }));\n return options.length > 0\n ? {\n kind: \"enum\",\n value: { options },\n }\n : undefined;\n}\n\n/**\n * Convert a Salesforce field describe into a Party Stack TypeDef.\n * Unsupported/compound provider-specific shapes become `unknown`.\n */\nexport function convertSalesforceFieldType(field: SalesforceFieldDescribe): TypeDef {\n const baseType = convertSalesforceSoapType(field);\n return maybeOptional(baseType, field.nillable && field.type !== \"id\" && field.name !== \"Id\");\n}\n\nfunction convertSalesforceSoapType(field: SalesforceFieldDescribe): TypeDef {\n switch (field.type) {\n case \"id\":\n case \"string\":\n case \"textarea\":\n case \"url\":\n case \"email\":\n case \"phone\":\n case \"encryptedstring\":\n case \"combobox\":\n case \"anyType\":\n return {\n kind: \"string\",\n value: {},\n };\n case \"picklist\":\n case \"multipicklist\": {\n const constraint = picklistConstraint(field.picklistValues);\n if (field.type === \"multipicklist\") {\n return {\n kind: \"list\",\n value: {\n elementType: {\n kind: \"string\",\n value: { constraint },\n },\n },\n };\n }\n return {\n kind: \"string\",\n value: { constraint },\n };\n }\n case \"boolean\":\n return { kind: \"boolean\", value: {} };\n case \"int\":\n case \"long\":\n return { kind: \"integer\", value: {} };\n case \"double\":\n case \"currency\":\n case \"percent\":\n return { kind: \"double\", value: {} };\n case \"date\":\n return { kind: \"date\", value: {} };\n case \"datetime\":\n return { kind: \"timestamp\", value: {} };\n case \"time\":\n // Party Stack has no dedicated time type yet.\n return { kind: \"string\", value: {} };\n case \"reference\": {\n const referenceTo = field.referenceTo ?? [];\n if (referenceTo.length === 1) {\n return {\n kind: \"objectReference\",\n value: { objectType: referenceTo[0]! },\n };\n }\n // Polymorphic references stay scalar until multi-target links exist.\n return { kind: \"string\", value: {} };\n }\n case \"location\":\n case \"address\":\n // Compound location/address fields are exposed as unknown; individual\n // latitude/longitude components appear as separate fields when available.\n return { kind: \"unknown\", value: {} };\n case \"base64\":\n case \"blob\":\n case \"complexvalue\":\n case \"json\":\n case \"datacategorygroupreference\":\n default:\n return { kind: \"unknown\", value: {} };\n }\n}\n\nexport function convertSalesforceInvocableParameterType(\n parameter: {\n type?: string | null;\n sobjectType?: string | null;\n sObjectType?: string | null;\n required?: boolean;\n maxOccurs?: number | null;\n picklistValues?: SalesforcePicklistValue[] | null;\n },\n sObjectDescribe?: SalesforceSObjectDescribe\n): TypeDef {\n const required = parameter.required === true;\n let baseType: TypeDef;\n const typeName = parameter.type?.toLowerCase() ?? \"unknown\";\n const sObjectType = parameter.sobjectType ?? parameter.sObjectType;\n if (typeName === \"sobject\" && sObjectType && sObjectDescribe) {\n baseType = {\n kind: \"struct\",\n value: {\n fields: sObjectDescribe.fields\n .filter((field) => field.type !== \"address\" && field.type !== \"location\")\n .map((field) => ({\n name: field.name,\n displayName: field.label || field.name,\n description: field.inlineHelpText ?? undefined,\n type: maybeOptional(convertSalesforceFieldType(field), true),\n })),\n },\n };\n } else if (sObjectType && (typeName === \"id\" || typeName === \"reference\")) {\n baseType = {\n kind: \"objectReference\",\n value: { objectType: sObjectType },\n };\n } else {\n switch (typeName) {\n case \"string\":\n case \"id\":\n case \"textarea\":\n case \"url\":\n case \"email\":\n case \"phone\":\n baseType = { kind: \"string\", value: {} };\n break;\n case \"picklist\":\n baseType = {\n kind: \"string\",\n value: {\n constraint: picklistConstraint(parameter.picklistValues),\n },\n };\n break;\n case \"boolean\":\n baseType = { kind: \"boolean\", value: {} };\n break;\n case \"integer\":\n case \"int\":\n case \"long\":\n baseType = { kind: \"integer\", value: {} };\n break;\n case \"double\":\n case \"currency\":\n case \"percent\":\n case \"number\":\n case \"decimal\":\n baseType = { kind: \"double\", value: {} };\n break;\n case \"date\":\n baseType = { kind: \"date\", value: {} };\n break;\n case \"datetime\":\n baseType = { kind: \"timestamp\", value: {} };\n break;\n case \"sobject\":\n baseType = { kind: \"unknown\", value: {} };\n break;\n case \"reference\":\n baseType = { kind: \"string\", value: {} };\n break;\n default:\n baseType = { kind: \"unknown\", value: {} };\n break;\n }\n }\n if (typeof parameter.maxOccurs === \"number\" && parameter.maxOccurs > 1) {\n baseType = {\n kind: \"list\",\n value: { elementType: baseType },\n };\n }\n return required ? baseType : { kind: \"optional\", value: { type: baseType } };\n}\n"],"mappings":"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"}
@@ -1,21 +1,23 @@
1
- import type { OntologyBackendAdapter } from "@party-stack/ontology";
2
- import type { SalesforceClient } from "@party-stack/salesforce-client";
3
- import type { SalesforceCrudActionTypeSelection } from "../crud.js";
1
+ import { SalesforceCrudActionTypeSelection } from "../crud.js";
2
+ import { SalesforceClient } from "@party-stack/salesforce-client";
3
+ import { OntologyBackendAdapter } from "@party-stack/ontology";
4
+ //#region src/meta/createSalesforceMetaOntologyBackendAdapter.d.ts
4
5
  export interface CreateSalesforceMetaOntologyBackendAdapterOpts {
5
- client: SalesforceClient;
6
- /**
7
- * Optional allowlist of sObject API names for metadata loading.
8
- * Useful for scoped form pulls without describing the entire org.
9
- */
10
- objectTypeNames?: string[];
11
- /** Optional allowlist of autolaunched Flow API names. */
12
- flowActionTypeNames?: string[];
13
- /** Standard Salesforce operations modeled as mutating actions. */
14
- standardActionTypeNames?: string[];
15
- /** Standard Salesforce operations modeled as query functions. */
16
- standardQueryFunctionTypeNames?: string[];
17
- /** Explicit CRUD actions to synthesize from sObject describe metadata. */
18
- crudActionTypes?: readonly SalesforceCrudActionTypeSelection[];
6
+ client: SalesforceClient;
7
+ /**
8
+ * Optional allowlist of sObject API names for metadata loading.
9
+ * Useful for scoped form pulls without describing the entire org.
10
+ */
11
+ objectTypeNames?: string[];
12
+ /** Optional allowlist of autolaunched Flow API names. */
13
+ flowActionTypeNames?: string[];
14
+ /** Standard Salesforce operations modeled as mutating actions. */
15
+ standardActionTypeNames?: string[];
16
+ /** Standard Salesforce operations modeled as query functions. */
17
+ standardQueryFunctionTypeNames?: string[];
18
+ /** Explicit CRUD actions to synthesize from sObject describe metadata. */
19
+ crudActionTypes?: readonly SalesforceCrudActionTypeSelection[];
19
20
  }
20
21
  export declare function createSalesforceMetaOntologyBackendAdapter(opts: CreateSalesforceMetaOntologyBackendAdapterOpts): OntologyBackendAdapter;
22
+ //#endregion
21
23
  //# sourceMappingURL=createSalesforceMetaOntologyBackendAdapter.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"createSalesforceMetaOntologyBackendAdapter.d.ts","sourceRoot":"","sources":["../../src/meta/createSalesforceMetaOntologyBackendAdapter.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,uBAAuB,CAAC;AACpE,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,gCAAgC,CAAC;AAQvE,OAAO,KAAK,EAAE,iCAAiC,EAAE,MAAM,YAAY,CAAC;AAEpE,MAAM,WAAW,8CAA8C;IAC3D,MAAM,EAAE,gBAAgB,CAAC;IACzB;;;OAGG;IACH,eAAe,CAAC,EAAE,MAAM,EAAE,CAAC;IAC3B,yDAAyD;IACzD,mBAAmB,CAAC,EAAE,MAAM,EAAE,CAAC;IAC/B,kEAAkE;IAClE,uBAAuB,CAAC,EAAE,MAAM,EAAE,CAAC;IACnC,iEAAiE;IACjE,8BAA8B,CAAC,EAAE,MAAM,EAAE,CAAC;IAC1C,0EAA0E;IAC1E,eAAe,CAAC,EAAE,SAAS,iCAAiC,EAAE,CAAC;CAClE;AAED,wBAAgB,0CAA0C,CACtD,IAAI,EAAE,8CAA8C,GACrD,sBAAsB,CA+CxB"}
1
+ {"version":3,"file":"createSalesforceMetaOntologyBackendAdapter.d.ts","names":[],"sources":["../../src/meta/createSalesforceMetaOntologyBackendAdapter.ts"],"mappings":";;;;iBAYiB;EACb,QAAQ;;;;;EAKR;;EAEA;;EAEA;;EAEA;;EAEA,2BAA2B;;wBAGf,2CACZ,MAAM,iDACP"}
@@ -1,44 +1,42 @@
1
- import { notImplemented } from "@bobbyfidz/panic";
2
1
  import { actionTypeCollectionOptions } from "./actionTypeCollectionOptions.js";
3
- import { linkTypeCollectionOptions, objectTypeCollectionOptions, valueTypeCollectionOptions, } from "./entityCollectionOptions.js";
2
+ import { linkTypeCollectionOptions, objectTypeCollectionOptions, valueTypeCollectionOptions } from "./entityCollectionOptions.js";
4
3
  import { queryFunctionTypeCollectionOptions } from "./queryFunctionTypeCollectionOptions.js";
5
- export function createSalesforceMetaOntologyBackendAdapter(opts) {
6
- const entityOptions = {
7
- client: opts.client,
8
- objectTypeNames: opts.objectTypeNames,
9
- };
10
- return {
11
- name: "salesforce-metadata",
12
- getCollectionOptions: (objectType) => {
13
- switch (objectType) {
14
- case "ObjectType":
15
- return objectTypeCollectionOptions(entityOptions);
16
- case "ValueType":
17
- return valueTypeCollectionOptions();
18
- case "LinkType":
19
- return linkTypeCollectionOptions(entityOptions);
20
- case "ActionType":
21
- return actionTypeCollectionOptions({
22
- client: opts.client,
23
- flowActionTypeNames: opts.flowActionTypeNames,
24
- standardActionTypeNames: opts.standardActionTypeNames,
25
- crudActionTypes: opts.crudActionTypes,
26
- });
27
- case "QueryFunctionType":
28
- return queryFunctionTypeCollectionOptions({
29
- client: opts.client,
30
- standardQueryFunctionTypeNames: opts.standardQueryFunctionTypeNames,
31
- });
32
- default:
33
- throw new Error(`Unsupported Salesforce metadata object type "${objectType}".`);
34
- }
35
- },
36
- applyAction: () => {
37
- notImplemented();
38
- },
39
- runQueryFunction: () => {
40
- notImplemented();
41
- },
42
- };
4
+ import { notImplemented } from "@bobbyfidz/panic";
5
+ //#region src/meta/createSalesforceMetaOntologyBackendAdapter.ts
6
+ function createSalesforceMetaOntologyBackendAdapter(opts) {
7
+ const entityOptions = {
8
+ client: opts.client,
9
+ objectTypeNames: opts.objectTypeNames
10
+ };
11
+ return {
12
+ name: "salesforce-metadata",
13
+ getCollectionOptions: (objectType) => {
14
+ switch (objectType) {
15
+ case "ObjectType": return objectTypeCollectionOptions(entityOptions);
16
+ case "ValueType": return valueTypeCollectionOptions();
17
+ case "LinkType": return linkTypeCollectionOptions(entityOptions);
18
+ case "ActionType": return actionTypeCollectionOptions({
19
+ client: opts.client,
20
+ flowActionTypeNames: opts.flowActionTypeNames,
21
+ standardActionTypeNames: opts.standardActionTypeNames,
22
+ crudActionTypes: opts.crudActionTypes
23
+ });
24
+ case "QueryFunctionType": return queryFunctionTypeCollectionOptions({
25
+ client: opts.client,
26
+ standardQueryFunctionTypeNames: opts.standardQueryFunctionTypeNames
27
+ });
28
+ default: throw new Error(`Unsupported Salesforce metadata object type "${objectType}".`);
29
+ }
30
+ },
31
+ applyAction: () => {
32
+ notImplemented();
33
+ },
34
+ runQueryFunction: () => {
35
+ notImplemented();
36
+ }
37
+ };
43
38
  }
39
+ //#endregion
40
+ export { createSalesforceMetaOntologyBackendAdapter };
41
+
44
42
  //# sourceMappingURL=createSalesforceMetaOntologyBackendAdapter.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"createSalesforceMetaOntologyBackendAdapter.js","sourceRoot":"","sources":["../../src/meta/createSalesforceMetaOntologyBackendAdapter.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAGlD,OAAO,EAAE,2BAA2B,EAAE,MAAM,kCAAkC,CAAC;AAC/E,OAAO,EACH,yBAAyB,EACzB,2BAA2B,EAC3B,0BAA0B,GAC7B,MAAM,8BAA8B,CAAC;AACtC,OAAO,EAAE,kCAAkC,EAAE,MAAM,yCAAyC,CAAC;AAoB7F,MAAM,UAAU,0CAA0C,CACtD,IAAoD;IAEpD,MAAM,aAAa,GAAG;QAClB,MAAM,EAAE,IAAI,CAAC,MAAM;QACnB,eAAe,EAAE,IAAI,CAAC,eAAe;KACxC,CAAC;IAEF,OAAO;QACH,IAAI,EAAE,qBAAqB;QAC3B,oBAAoB,EAAE,CAAC,UAAkB,EAAE,EAAE;YACzC,QAAQ,UAAU,EAAE,CAAC;gBACjB,KAAK,YAAY;oBACb,OAAO,2BAA2B,CAC9B,aAAa,CAChB,CAAC;gBACN,KAAK,WAAW;oBACZ,OAAO,0BAA0B,EAAE,CAAC;gBACxC,KAAK,UAAU;oBACX,OAAO,yBAAyB,CAC5B,aAAa,CAChB,CAAC;gBACN,KAAK,YAAY;oBACb,OAAO,2BAA2B,CAAC;wBAC/B,MAAM,EAAE,IAAI,CAAC,MAAM;wBACnB,mBAAmB,EACf,IAAI,CAAC,mBAAmB;wBAC5B,uBAAuB,EACnB,IAAI,CAAC,uBAAuB;wBAChC,eAAe,EACX,IAAI,CAAC,eAAe;qBAC3B,CAAC,CAAC;gBACP,KAAK,mBAAmB;oBACpB,OAAO,kCAAkC,CAAC;wBACtC,MAAM,EAAE,IAAI,CAAC,MAAM;wBACnB,8BAA8B,EAC1B,IAAI,CAAC,8BAA8B;qBAC1C,CAAC,CAAC;gBACP;oBACI,MAAM,IAAI,KAAK,CAAC,gDAAgD,UAAU,IAAI,CAAC,CAAC;YACxF,CAAC;QACL,CAAC;QACD,WAAW,EAAE,GAAG,EAAE;YACd,cAAc,EAAE,CAAC;QACrB,CAAC;QACD,gBAAgB,EAAE,GAAG,EAAE;YACnB,cAAc,EAAE,CAAC;QACrB,CAAC;KACJ,CAAC;AACN,CAAC"}
1
+ {"version":3,"file":"createSalesforceMetaOntologyBackendAdapter.js","names":[],"sources":["../../src/meta/createSalesforceMetaOntologyBackendAdapter.ts"],"sourcesContent":["import { notImplemented } from \"@bobbyfidz/panic\";\nimport { actionTypeCollectionOptions } from \"./actionTypeCollectionOptions.js\";\nimport {\n linkTypeCollectionOptions,\n objectTypeCollectionOptions,\n valueTypeCollectionOptions,\n} from \"./entityCollectionOptions.js\";\nimport { queryFunctionTypeCollectionOptions } from \"./queryFunctionTypeCollectionOptions.js\";\nimport type { SalesforceCrudActionTypeSelection } from \"../crud.js\";\nimport type { OntologyBackendAdapter } from \"@party-stack/ontology\";\nimport type { SalesforceClient } from \"@party-stack/salesforce-client\";\n\nexport interface CreateSalesforceMetaOntologyBackendAdapterOpts {\n client: SalesforceClient;\n /**\n * Optional allowlist of sObject API names for metadata loading.\n * Useful for scoped form pulls without describing the entire org.\n */\n objectTypeNames?: string[];\n /** Optional allowlist of autolaunched Flow API names. */\n flowActionTypeNames?: string[];\n /** Standard Salesforce operations modeled as mutating actions. */\n standardActionTypeNames?: string[];\n /** Standard Salesforce operations modeled as query functions. */\n standardQueryFunctionTypeNames?: string[];\n /** Explicit CRUD actions to synthesize from sObject describe metadata. */\n crudActionTypes?: readonly SalesforceCrudActionTypeSelection[];\n}\n\nexport function createSalesforceMetaOntologyBackendAdapter(\n opts: CreateSalesforceMetaOntologyBackendAdapterOpts\n): OntologyBackendAdapter {\n const entityOptions = {\n client: opts.client,\n objectTypeNames: opts.objectTypeNames,\n };\n\n return {\n name: \"salesforce-metadata\",\n getCollectionOptions: (objectType: string) => {\n switch (objectType) {\n case \"ObjectType\":\n return objectTypeCollectionOptions(entityOptions);\n case \"ValueType\":\n return valueTypeCollectionOptions();\n case \"LinkType\":\n return linkTypeCollectionOptions(entityOptions);\n case \"ActionType\":\n return actionTypeCollectionOptions({\n client: opts.client,\n flowActionTypeNames: opts.flowActionTypeNames,\n standardActionTypeNames: opts.standardActionTypeNames,\n crudActionTypes: opts.crudActionTypes,\n });\n case \"QueryFunctionType\":\n return queryFunctionTypeCollectionOptions({\n client: opts.client,\n standardQueryFunctionTypeNames: opts.standardQueryFunctionTypeNames,\n });\n default:\n throw new Error(`Unsupported Salesforce metadata object type \"${objectType}\".`);\n }\n },\n applyAction: () => {\n notImplemented();\n },\n runQueryFunction: () => {\n notImplemented();\n },\n };\n}\n"],"mappings":";;;;;AA6BA,SAAgB,2CACZ,MACsB;CACtB,MAAM,gBAAgB;EAClB,QAAQ,KAAK;EACb,iBAAiB,KAAK;CAC1B;CAEA,OAAO;EACH,MAAM;EACN,uBAAuB,eAAuB;GAC1C,QAAQ,YAAR;IACI,KAAK,cACD,OAAO,4BAA4B,aAAa;IACpD,KAAK,aACD,OAAO,2BAA2B;IACtC,KAAK,YACD,OAAO,0BAA0B,aAAa;IAClD,KAAK,cACD,OAAO,4BAA4B;KAC/B,QAAQ,KAAK;KACb,qBAAqB,KAAK;KAC1B,yBAAyB,KAAK;KAC9B,iBAAiB,KAAK;IAC1B,CAAC;IACL,KAAK,qBACD,OAAO,mCAAmC;KACtC,QAAQ,KAAK;KACb,gCAAgC,KAAK;IACzC,CAAC;IACL,SACI,MAAM,IAAI,MAAM,gDAAgD,WAAW,GAAG;GACtF;EACJ;EACA,mBAAmB;GACf,eAAe;EACnB;EACA,wBAAwB;GACpB,eAAe;EACnB;CACJ;AACJ"}
@@ -1,14 +1,16 @@
1
- import type { OntologyCollectionOptions } from "@party-stack/ontology";
2
- import type { SalesforceClient } from "@party-stack/salesforce-client";
1
+ import { SalesforceClient } from "@party-stack/salesforce-client";
2
+ import { OntologyCollectionOptions } from "@party-stack/ontology";
3
+ //#region src/meta/entityCollectionOptions.d.ts
3
4
  export interface MetaEntityStoreOpts {
4
- client: SalesforceClient;
5
- /**
6
- * Optional allowlist of sObject API names. When omitted, all queryable
7
- * sObjects from the global describe are loaded.
8
- */
9
- objectTypeNames?: string[];
5
+ client: SalesforceClient;
6
+ /**
7
+ * Optional allowlist of sObject API names. When omitted, all queryable
8
+ * sObjects from the global describe are loaded.
9
+ */
10
+ objectTypeNames?: string[];
10
11
  }
11
12
  export declare function objectTypeCollectionOptions(opts: MetaEntityStoreOpts): OntologyCollectionOptions;
12
13
  export declare function valueTypeCollectionOptions(): OntologyCollectionOptions;
13
14
  export declare function linkTypeCollectionOptions(opts: MetaEntityStoreOpts): OntologyCollectionOptions;
15
+ //#endregion
14
16
  //# sourceMappingURL=entityCollectionOptions.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"entityCollectionOptions.d.ts","sourceRoot":"","sources":["../../src/meta/entityCollectionOptions.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAER,yBAAyB,EAC5B,MAAM,uBAAuB,CAAC;AAC/B,OAAO,KAAK,EACR,gBAAgB,EAEnB,MAAM,gCAAgC,CAAC;AAQxC,MAAM,WAAW,mBAAmB;IAChC,MAAM,EAAE,gBAAgB,CAAC;IACzB;;;OAGG;IACH,eAAe,CAAC,EAAE,MAAM,EAAE,CAAC;CAC9B;AAuBD,wBAAgB,2BAA2B,CACvC,IAAI,EAAE,mBAAmB,GAC1B,yBAAyB,CA0D3B;AAED,wBAAgB,0BAA0B,IAAI,yBAAyB,CAYtE;AAED,wBAAgB,yBAAyB,CACrC,IAAI,EAAE,mBAAmB,GAC1B,yBAAyB,CAqB3B"}
1
+ {"version":3,"file":"entityCollectionOptions.d.ts","names":[],"sources":["../../src/meta/entityCollectionOptions.ts"],"mappings":";;;iBASiB;EACb,QAAQ;;;;;EAKR;;wBAmBY,4BAA4B,MAAM,sBAAsB;wBA6BxD,8BAA8B;wBAU9B,0BAA0B,MAAM,sBAAsB"}