@party-stack/salesforce-ontology 0.4.0 → 0.4.2

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 -22
  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 -4
  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 +1 -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,228 +1,121 @@
1
- import { QueryClient } from "@tanstack/query-core";
2
- import { queryCollectionOptions } from "@tanstack/query-db-collection";
3
1
  import { classifySalesforceStandardAction } from "../standardActions.js";
4
- import { salesforceCrudActionTypeId, salesforceCrudActionTypeName, } from "../utils/ids.js";
5
- import { convertSalesforceMetaActionType, convertSalesforceMetaStandardActionType, } from "./convertMetaActionType.js";
6
- import { convertMetaNameQuery, matchesMetaNameQuery, } from "./convertMetaLoadSubsetOptions.js";
2
+ import { salesforceCrudActionTypeId, salesforceCrudActionTypeName } from "../utils/ids.js";
3
+ import { convertSalesforceMetaActionType, convertSalesforceMetaStandardActionType } from "./convertMetaActionType.js";
4
+ import { convertMetaNameQuery, matchesMetaNameQuery } from "./convertMetaLoadSubsetOptions.js";
7
5
  import { synthesizeSalesforceCrudActionTypes } from "./synthesizeCrudActionTypes.js";
6
+ import { QueryClient } from "@tanstack/query-core";
7
+ import { queryCollectionOptions } from "@tanstack/query-db-collection";
8
+ //#region src/meta/actionTypeCollectionOptions.ts
8
9
  function normalizeFlowActionList(response) {
9
- if (Array.isArray(response)) {
10
- return response;
11
- }
12
- if (typeof response === "object" && response !== null && "actions" in response) {
13
- return Array.isArray(response.actions) ? response.actions : [];
14
- }
15
- // Some Salesforce responses return a map of actionName -> url.
16
- return Object.keys(response).map((name) => ({ name }));
10
+ if (Array.isArray(response)) return response;
11
+ if (typeof response === "object" && response !== null && "actions" in response) return Array.isArray(response.actions) ? response.actions : [];
12
+ return Object.keys(response).map((name) => ({ name }));
17
13
  }
18
14
  async function loadFlowActionDescribe(client, apiName) {
19
- try {
20
- return await client.describeFlowAction(apiName);
21
- }
22
- catch {
23
- // Skip inaccessible or non-autolaunched flows.
24
- return undefined;
25
- }
15
+ try {
16
+ return await client.describeFlowAction(apiName);
17
+ } catch {
18
+ return;
19
+ }
26
20
  }
27
21
  async function loadStandardActionDescribe(client, apiName) {
28
- try {
29
- return await client.describeStandardAction(apiName);
30
- }
31
- catch {
32
- // Skip standard actions unavailable to this user.
33
- return undefined;
34
- }
22
+ try {
23
+ return await client.describeStandardAction(apiName);
24
+ } catch {
25
+ return;
26
+ }
35
27
  }
36
28
  async function loadFlowActionDescribes(client, names) {
37
- if (typeof client.describeFlowActions ===
38
- "function") {
39
- try {
40
- return await client.describeFlowActions(names);
41
- }
42
- catch {
43
- // Older Salesforce orgs may not expose Composite API access.
44
- }
45
- }
46
- return Promise.all(names.map((name) => loadFlowActionDescribe(client, name)));
29
+ if (typeof client.describeFlowActions === "function") try {
30
+ return await client.describeFlowActions(names);
31
+ } catch {}
32
+ return Promise.all(names.map((name) => loadFlowActionDescribe(client, name)));
47
33
  }
48
34
  async function loadStandardActionDescribes(client, names) {
49
- if (typeof client.describeStandardActions ===
50
- "function") {
51
- try {
52
- return await client.describeStandardActions(names);
53
- }
54
- catch {
55
- // Older Salesforce orgs may not expose Composite API access.
56
- }
57
- }
58
- return Promise.all(names.map((name) => loadStandardActionDescribe(client, name)));
35
+ if (typeof client.describeStandardActions === "function") try {
36
+ return await client.describeStandardActions(names);
37
+ } catch {}
38
+ return Promise.all(names.map((name) => loadStandardActionDescribe(client, name)));
59
39
  }
60
40
  async function loadSelectedActionDescribes(client, flowNames, standardNames) {
61
- if (typeof client.describeInvocableActions ===
62
- "function") {
63
- try {
64
- const combined = await client.describeInvocableActions([
65
- ...flowNames.map((apiName) => ({
66
- kind: "flow",
67
- apiName,
68
- })),
69
- ...standardNames.map((apiName) => ({
70
- kind: "standard",
71
- apiName,
72
- })),
73
- ]);
74
- return [
75
- combined.slice(0, flowNames.length),
76
- combined.slice(flowNames.length),
77
- ];
78
- }
79
- catch {
80
- // Fall through to subsystem-specific compatibility methods.
81
- }
82
- }
83
- return Promise.all([
84
- flowNames.length > 0
85
- ? loadFlowActionDescribes(client, flowNames)
86
- : [],
87
- standardNames.length > 0
88
- ? loadStandardActionDescribes(client, standardNames)
89
- : [],
90
- ]);
41
+ if (typeof client.describeInvocableActions === "function") try {
42
+ const combined = await client.describeInvocableActions([...flowNames.map((apiName) => ({
43
+ kind: "flow",
44
+ apiName
45
+ })), ...standardNames.map((apiName) => ({
46
+ kind: "standard",
47
+ apiName
48
+ }))]);
49
+ return [combined.slice(0, flowNames.length), combined.slice(flowNames.length)];
50
+ } catch {}
51
+ return Promise.all([flowNames.length > 0 ? loadFlowActionDescribes(client, flowNames) : [], standardNames.length > 0 ? loadStandardActionDescribes(client, standardNames) : []]);
91
52
  }
92
- export function actionTypeCollectionOptions(opts) {
93
- const describeCache = new Map();
94
- return queryCollectionOptions({
95
- queryClient: opts.queryClient ?? new QueryClient(),
96
- getKey: (row) => row.name,
97
- queryKey: [
98
- "salesforce",
99
- "ontology",
100
- "actionTypes",
101
- opts.flowActionTypeNames ?? "all",
102
- opts.standardActionTypeNames ?? [],
103
- opts.crudActionTypes ?? [],
104
- ],
105
- syncMode: "on-demand",
106
- queryFn: async (ctx) => {
107
- const query = convertMetaNameQuery(ctx.meta?.loadSubsetOptions);
108
- const requestedNames = query.type === "getBatch"
109
- ? new Set(query.names)
110
- : undefined;
111
- const configuredCrudNames = new Set((opts.crudActionTypes ?? []).flatMap((selection) => selection.operations.map((operation) => salesforceCrudActionTypeName(operation, selection.objectType))));
112
- const [flowSummaries, standardSummaries] = await Promise.all([
113
- opts.flowActionTypeNames ||
114
- requestedNames
115
- ? Promise.resolve(undefined)
116
- : opts.client
117
- .listFlowActions()
118
- .then(normalizeFlowActionList),
119
- opts.standardActionTypeNames ||
120
- requestedNames
121
- ? Promise.resolve(undefined)
122
- : opts.client
123
- .listStandardActions()
124
- .then(normalizeFlowActionList),
125
- ]);
126
- const candidates = [
127
- ...(opts.flowActionTypeNames ??
128
- (requestedNames
129
- ? [...requestedNames].filter((name) => !configuredCrudNames.has(name))
130
- : flowSummaries?.map((summary) => summary.name) ?? [])).map((name) => ({
131
- kind: "flow",
132
- name,
133
- displayName: flowSummaries?.find((summary) => summary.name === name)?.label ?? name,
134
- })),
135
- ...(opts.standardActionTypeNames ??
136
- (requestedNames
137
- ? [...requestedNames].filter((name) => !configuredCrudNames.has(name))
138
- : standardSummaries
139
- ?.filter((summary) => classifySalesforceStandardAction(summary.name) ===
140
- "action")
141
- .map((summary) => summary.name) ?? [])).map((name) => ({
142
- kind: "standard",
143
- name,
144
- displayName: standardSummaries?.find((summary) => summary.name === name)?.label ?? name,
145
- })),
146
- ];
147
- const matchingCandidates = query.type === "search"
148
- ? candidates.filter((candidate) => matchesMetaNameQuery(query, candidate))
149
- : candidates;
150
- matchingCandidates.sort((left, right) => left.name.localeCompare(right.name));
151
- const offset = Math.max(0, Math.trunc(ctx.meta?.loadSubsetOptions
152
- ?.offset ?? 0));
153
- const limit = ctx.meta?.loadSubsetOptions?.limit;
154
- const selectedCandidates = requestedNames
155
- ? matchingCandidates
156
- : matchingCandidates.slice(offset, limit === undefined
157
- ? undefined
158
- : offset +
159
- Math.max(0, Math.trunc(limit)));
160
- const names = selectedCandidates
161
- .filter((candidate) => candidate.kind === "flow")
162
- .map((candidate) => candidate.name);
163
- const standardNames = selectedCandidates
164
- .filter((candidate) => candidate.kind ===
165
- "standard")
166
- .map((candidate) => candidate.name);
167
- const describeCacheKey = JSON.stringify([
168
- names,
169
- standardNames,
170
- ]);
171
- let cached = describeCache.get(describeCacheKey);
172
- if (!cached) {
173
- cached =
174
- loadSelectedActionDescribes(opts.client, names, standardNames);
175
- describeCache.set(describeCacheKey, cached);
176
- }
177
- const [describes, rawStandardDescribes,] = await cached;
178
- const standardDescribes = rawStandardDescribes.filter((describe) => Boolean(describe) &&
179
- (opts.standardActionTypeNames !==
180
- undefined ||
181
- classifySalesforceStandardAction(describe.name) === "action"));
182
- const flowDescribes = describes.filter((describe) => Boolean(describe));
183
- const sObjectNames = new Set((opts.crudActionTypes ?? []).map((selection) => selection.objectType));
184
- for (const describe of [
185
- ...flowDescribes,
186
- ...standardDescribes,
187
- ]) {
188
- for (const input of describe.inputs ?? []) {
189
- const sObjectType = input.sobjectType ??
190
- input.sObjectType;
191
- if (input.type?.toLowerCase() ===
192
- "sobject" &&
193
- sObjectType) {
194
- sObjectNames.add(sObjectType);
195
- }
196
- }
197
- }
198
- const sObjectDescribes = new Map(await Promise.all([...sObjectNames].map(async (name) => [
199
- name,
200
- await opts.client.describeSObject(name),
201
- ])));
202
- const flowActions = flowDescribes.map((describe) => convertSalesforceMetaActionType(describe, sObjectDescribes));
203
- const standardActions = standardDescribes.map((describe) => convertSalesforceMetaStandardActionType(describe, sObjectDescribes));
204
- const crudActions = (opts.crudActionTypes ?? []).flatMap((selection) => {
205
- const describe = sObjectDescribes.get(selection.objectType);
206
- return describe
207
- ? synthesizeSalesforceCrudActionTypes(describe).filter((action) => (!requestedNames ||
208
- requestedNames.has(action.name)) &&
209
- matchesMetaNameQuery(query, action) &&
210
- selection.operations.some((operation) => action.id ===
211
- salesforceCrudActionTypeId(operation, selection.objectType)))
212
- : [];
213
- });
214
- const actions = new Map([...flowActions, ...standardActions].map((action) => [
215
- action.name,
216
- action,
217
- ]));
218
- for (const action of crudActions) {
219
- if (actions.has(action.name)) {
220
- throw new Error(`Multiple Salesforce actions use ontology name "${action.name}".`);
221
- }
222
- actions.set(action.name, action);
223
- }
224
- return [...actions.values()];
225
- },
226
- });
53
+ function actionTypeCollectionOptions(opts) {
54
+ const describeCache = /* @__PURE__ */ new Map();
55
+ return queryCollectionOptions({
56
+ queryClient: opts.queryClient ?? new QueryClient(),
57
+ getKey: (row) => row.name,
58
+ queryKey: [
59
+ "salesforce",
60
+ "ontology",
61
+ "actionTypes",
62
+ opts.flowActionTypeNames ?? "all",
63
+ opts.standardActionTypeNames ?? [],
64
+ opts.crudActionTypes ?? []
65
+ ],
66
+ syncMode: "on-demand",
67
+ queryFn: async (ctx) => {
68
+ const query = convertMetaNameQuery(ctx.meta?.loadSubsetOptions);
69
+ const requestedNames = query.type === "getBatch" ? new Set(query.names) : void 0;
70
+ const configuredCrudNames = new Set((opts.crudActionTypes ?? []).flatMap((selection) => selection.operations.map((operation) => salesforceCrudActionTypeName(operation, selection.objectType))));
71
+ const [flowSummaries, standardSummaries] = await Promise.all([opts.flowActionTypeNames || requestedNames ? Promise.resolve(void 0) : opts.client.listFlowActions().then(normalizeFlowActionList), opts.standardActionTypeNames || requestedNames ? Promise.resolve(void 0) : opts.client.listStandardActions().then(normalizeFlowActionList)]);
72
+ const candidates = [...(opts.flowActionTypeNames ?? (requestedNames ? [...requestedNames].filter((name) => !configuredCrudNames.has(name)) : flowSummaries?.map((summary) => summary.name) ?? [])).map((name) => ({
73
+ kind: "flow",
74
+ name,
75
+ displayName: flowSummaries?.find((summary) => summary.name === name)?.label ?? name
76
+ })), ...(opts.standardActionTypeNames ?? (requestedNames ? [...requestedNames].filter((name) => !configuredCrudNames.has(name)) : standardSummaries?.filter((summary) => classifySalesforceStandardAction(summary.name) === "action").map((summary) => summary.name) ?? [])).map((name) => ({
77
+ kind: "standard",
78
+ name,
79
+ displayName: standardSummaries?.find((summary) => summary.name === name)?.label ?? name
80
+ }))];
81
+ const matchingCandidates = query.type === "search" ? candidates.filter((candidate) => matchesMetaNameQuery(query, candidate)) : candidates;
82
+ matchingCandidates.sort((left, right) => left.name.localeCompare(right.name));
83
+ const offset = Math.max(0, Math.trunc(ctx.meta?.loadSubsetOptions?.offset ?? 0));
84
+ const limit = ctx.meta?.loadSubsetOptions?.limit;
85
+ const selectedCandidates = requestedNames ? matchingCandidates : matchingCandidates.slice(offset, limit === void 0 ? void 0 : offset + Math.max(0, Math.trunc(limit)));
86
+ const names = selectedCandidates.filter((candidate) => candidate.kind === "flow").map((candidate) => candidate.name);
87
+ const standardNames = selectedCandidates.filter((candidate) => candidate.kind === "standard").map((candidate) => candidate.name);
88
+ const describeCacheKey = JSON.stringify([names, standardNames]);
89
+ let cached = describeCache.get(describeCacheKey);
90
+ if (!cached) {
91
+ cached = loadSelectedActionDescribes(opts.client, names, standardNames);
92
+ describeCache.set(describeCacheKey, cached);
93
+ }
94
+ const [describes, rawStandardDescribes] = await cached;
95
+ const standardDescribes = rawStandardDescribes.filter((describe) => Boolean(describe) && (opts.standardActionTypeNames !== void 0 || classifySalesforceStandardAction(describe.name) === "action"));
96
+ const flowDescribes = describes.filter((describe) => Boolean(describe));
97
+ const sObjectNames = new Set((opts.crudActionTypes ?? []).map((selection) => selection.objectType));
98
+ for (const describe of [...flowDescribes, ...standardDescribes]) for (const input of describe.inputs ?? []) {
99
+ const sObjectType = input.sobjectType ?? input.sObjectType;
100
+ if (input.type?.toLowerCase() === "sobject" && sObjectType) sObjectNames.add(sObjectType);
101
+ }
102
+ const sObjectDescribes = new Map(await Promise.all([...sObjectNames].map(async (name) => [name, await opts.client.describeSObject(name)])));
103
+ const flowActions = flowDescribes.map((describe) => convertSalesforceMetaActionType(describe, sObjectDescribes));
104
+ const standardActions = standardDescribes.map((describe) => convertSalesforceMetaStandardActionType(describe, sObjectDescribes));
105
+ const crudActions = (opts.crudActionTypes ?? []).flatMap((selection) => {
106
+ const describe = sObjectDescribes.get(selection.objectType);
107
+ return describe ? synthesizeSalesforceCrudActionTypes(describe).filter((action) => (!requestedNames || requestedNames.has(action.name)) && matchesMetaNameQuery(query, action) && selection.operations.some((operation) => action.id === salesforceCrudActionTypeId(operation, selection.objectType))) : [];
108
+ });
109
+ const actions = new Map([...flowActions, ...standardActions].map((action) => [action.name, action]));
110
+ for (const action of crudActions) {
111
+ if (actions.has(action.name)) throw new Error(`Multiple Salesforce actions use ontology name "${action.name}".`);
112
+ actions.set(action.name, action);
113
+ }
114
+ return [...actions.values()];
115
+ }
116
+ });
227
117
  }
118
+ //#endregion
119
+ export { actionTypeCollectionOptions };
120
+
228
121
  //# sourceMappingURL=actionTypeCollectionOptions.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"actionTypeCollectionOptions.js","sourceRoot":"","sources":["../../src/meta/actionTypeCollectionOptions.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"actionTypeCollectionOptions.js","names":[],"sources":["../../src/meta/actionTypeCollectionOptions.ts"],"sourcesContent":["import { QueryClient } from \"@tanstack/query-core\";\nimport { queryCollectionOptions } from \"@tanstack/query-db-collection\";\nimport { classifySalesforceStandardAction } from \"../standardActions.js\";\nimport { salesforceCrudActionTypeId, salesforceCrudActionTypeName } from \"../utils/ids.js\";\nimport {\n convertSalesforceMetaActionType,\n convertSalesforceMetaStandardActionType,\n} from \"./convertMetaActionType.js\";\nimport { convertMetaNameQuery, matchesMetaNameQuery } from \"./convertMetaLoadSubsetOptions.js\";\nimport { synthesizeSalesforceCrudActionTypes } from \"./synthesizeCrudActionTypes.js\";\nimport type { SalesforceCrudActionTypeSelection } from \"../crud.js\";\nimport type { MetaActionType, OntologyCollectionOptions } from \"@party-stack/ontology\";\nimport type {\n SalesforceClient,\n SalesforceInvocableActionDescribe,\n SalesforceInvocableActionListResponse,\n SalesforceInvocableActionSummary,\n SalesforceSObjectDescribe,\n} from \"@party-stack/salesforce-client\";\n\nexport interface ActionTypeCollectionOpts {\n client: SalesforceClient;\n flowActionTypeNames?: string[];\n standardActionTypeNames?: string[];\n crudActionTypes?: readonly SalesforceCrudActionTypeSelection[];\n queryClient?: QueryClient;\n}\n\nfunction normalizeFlowActionList(\n response: SalesforceInvocableActionListResponse\n): SalesforceInvocableActionSummary[] {\n if (Array.isArray(response)) {\n return response;\n }\n if (typeof response === \"object\" && response !== null && \"actions\" in response) {\n return Array.isArray(response.actions) ? response.actions : [];\n }\n // Some Salesforce responses return a map of actionName -> url.\n return Object.keys(response).map((name) => ({ name }));\n}\n\nasync function loadFlowActionDescribe(\n client: SalesforceClient,\n apiName: string\n): Promise<SalesforceInvocableActionDescribe | undefined> {\n try {\n return await client.describeFlowAction(apiName);\n } catch {\n // Skip inaccessible or non-autolaunched flows.\n return undefined;\n }\n}\n\nasync function loadStandardActionDescribe(\n client: SalesforceClient,\n apiName: string\n): Promise<SalesforceInvocableActionDescribe | undefined> {\n try {\n return await client.describeStandardAction(apiName);\n } catch {\n // Skip standard actions unavailable to this user.\n return undefined;\n }\n}\n\nasync function loadFlowActionDescribes(\n client: SalesforceClient,\n names: readonly string[]\n): Promise<Array<SalesforceInvocableActionDescribe | undefined>> {\n if (typeof client.describeFlowActions === \"function\") {\n try {\n return await client.describeFlowActions(names);\n } catch {\n // Older Salesforce orgs may not expose Composite API access.\n }\n }\n return Promise.all(names.map((name) => loadFlowActionDescribe(client, name)));\n}\n\nasync function loadStandardActionDescribes(\n client: SalesforceClient,\n names: readonly string[]\n): Promise<Array<SalesforceInvocableActionDescribe | undefined>> {\n if (typeof client.describeStandardActions === \"function\") {\n try {\n return await client.describeStandardActions(names);\n } catch {\n // Older Salesforce orgs may not expose Composite API access.\n }\n }\n return Promise.all(names.map((name) => loadStandardActionDescribe(client, name)));\n}\n\nasync function loadSelectedActionDescribes(\n client: SalesforceClient,\n flowNames: readonly string[],\n standardNames: readonly string[]\n): Promise<\n [\n Array<SalesforceInvocableActionDescribe | undefined>,\n Array<SalesforceInvocableActionDescribe | undefined>,\n ]\n> {\n if (typeof client.describeInvocableActions === \"function\") {\n try {\n const combined = await client.describeInvocableActions([\n ...flowNames.map((apiName) => ({\n kind: \"flow\" as const,\n apiName,\n })),\n ...standardNames.map((apiName) => ({\n kind: \"standard\" as const,\n apiName,\n })),\n ]);\n return [combined.slice(0, flowNames.length), combined.slice(flowNames.length)];\n } catch {\n // Fall through to subsystem-specific compatibility methods.\n }\n }\n return Promise.all([\n flowNames.length > 0 ? loadFlowActionDescribes(client, flowNames) : [],\n standardNames.length > 0 ? loadStandardActionDescribes(client, standardNames) : [],\n ]);\n}\n\nexport function actionTypeCollectionOptions(opts: ActionTypeCollectionOpts): OntologyCollectionOptions {\n const describeCache = new Map<string, ReturnType<typeof loadSelectedActionDescribes>>();\n return queryCollectionOptions<MetaActionType>({\n queryClient: opts.queryClient ?? new QueryClient(),\n getKey: (row) => row.name,\n queryKey: [\n \"salesforce\",\n \"ontology\",\n \"actionTypes\",\n opts.flowActionTypeNames ?? \"all\",\n opts.standardActionTypeNames ?? [],\n opts.crudActionTypes ?? [],\n ],\n syncMode: \"on-demand\",\n queryFn: async (ctx) => {\n const query = convertMetaNameQuery(ctx.meta?.loadSubsetOptions);\n const requestedNames = query.type === \"getBatch\" ? new Set(query.names) : undefined;\n const configuredCrudNames = new Set(\n (opts.crudActionTypes ?? []).flatMap((selection) =>\n selection.operations.map((operation) =>\n salesforceCrudActionTypeName(operation, selection.objectType)\n )\n )\n );\n const [flowSummaries, standardSummaries] = await Promise.all([\n opts.flowActionTypeNames || requestedNames\n ? Promise.resolve(undefined)\n : opts.client.listFlowActions().then(normalizeFlowActionList),\n opts.standardActionTypeNames || requestedNames\n ? Promise.resolve(undefined)\n : opts.client.listStandardActions().then(normalizeFlowActionList),\n ]);\n const candidates: Array<{\n kind: \"flow\" | \"standard\";\n name: string;\n displayName: string;\n }> = [\n ...(\n opts.flowActionTypeNames ??\n (requestedNames\n ? [...requestedNames].filter((name) => !configuredCrudNames.has(name))\n : (flowSummaries?.map((summary) => summary.name) ?? []))\n ).map((name) => ({\n kind: \"flow\" as const,\n name,\n displayName: flowSummaries?.find((summary) => summary.name === name)?.label ?? name,\n })),\n ...(\n opts.standardActionTypeNames ??\n (requestedNames\n ? [...requestedNames].filter((name) => !configuredCrudNames.has(name))\n : (standardSummaries\n ?.filter(\n (summary) => classifySalesforceStandardAction(summary.name) === \"action\"\n )\n .map((summary) => summary.name) ?? []))\n ).map((name) => ({\n kind: \"standard\" as const,\n name,\n displayName: standardSummaries?.find((summary) => summary.name === name)?.label ?? name,\n })),\n ];\n const matchingCandidates =\n query.type === \"search\"\n ? candidates.filter((candidate) => matchesMetaNameQuery(query, candidate))\n : candidates;\n matchingCandidates.sort((left, right) => left.name.localeCompare(right.name));\n const offset = Math.max(0, Math.trunc(ctx.meta?.loadSubsetOptions?.offset ?? 0));\n const limit = ctx.meta?.loadSubsetOptions?.limit;\n const selectedCandidates = requestedNames\n ? matchingCandidates\n : matchingCandidates.slice(\n offset,\n limit === undefined ? undefined : offset + Math.max(0, Math.trunc(limit))\n );\n const names = selectedCandidates\n .filter((candidate) => candidate.kind === \"flow\")\n .map((candidate) => candidate.name);\n const standardNames = selectedCandidates\n .filter((candidate) => candidate.kind === \"standard\")\n .map((candidate) => candidate.name);\n const describeCacheKey = JSON.stringify([names, standardNames]);\n let cached = describeCache.get(describeCacheKey);\n if (!cached) {\n cached = loadSelectedActionDescribes(opts.client, names, standardNames);\n describeCache.set(describeCacheKey, cached);\n }\n const [describes, rawStandardDescribes] = await cached;\n const standardDescribes = rawStandardDescribes.filter(\n (describe): describe is SalesforceInvocableActionDescribe =>\n Boolean(describe) &&\n (opts.standardActionTypeNames !== undefined ||\n classifySalesforceStandardAction(describe!.name) === \"action\")\n );\n const flowDescribes = describes.filter(\n (describe): describe is SalesforceInvocableActionDescribe => Boolean(describe)\n );\n const sObjectNames = new Set(\n (opts.crudActionTypes ?? []).map((selection) => selection.objectType)\n );\n for (const describe of [...flowDescribes, ...standardDescribes]) {\n for (const input of describe.inputs ?? []) {\n const sObjectType = input.sobjectType ?? input.sObjectType;\n if (input.type?.toLowerCase() === \"sobject\" && sObjectType) {\n sObjectNames.add(sObjectType);\n }\n }\n }\n const sObjectDescribes = new Map<string, SalesforceSObjectDescribe>(\n await Promise.all(\n [...sObjectNames].map(\n async (name) => [name, await opts.client.describeSObject(name)] as const\n )\n )\n );\n const flowActions = flowDescribes.map((describe) =>\n convertSalesforceMetaActionType(describe, sObjectDescribes)\n );\n const standardActions = standardDescribes.map((describe) =>\n convertSalesforceMetaStandardActionType(describe, sObjectDescribes)\n );\n const crudActions = (opts.crudActionTypes ?? []).flatMap((selection) => {\n const describe = sObjectDescribes.get(selection.objectType);\n return describe\n ? synthesizeSalesforceCrudActionTypes(describe).filter(\n (action) =>\n (!requestedNames || requestedNames.has(action.name)) &&\n matchesMetaNameQuery(query, action) &&\n selection.operations.some(\n (operation) =>\n action.id ===\n salesforceCrudActionTypeId(operation, selection.objectType)\n )\n )\n : [];\n });\n const actions = new Map(\n [...flowActions, ...standardActions].map((action) => [action.name, action])\n );\n for (const action of crudActions) {\n if (actions.has(action.name)) {\n throw new Error(`Multiple Salesforce actions use ontology name \"${action.name}\".`);\n }\n actions.set(action.name, action);\n }\n return [...actions.values()];\n },\n }) as unknown as OntologyCollectionOptions;\n}\n"],"mappings":"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"}
@@ -1,5 +1,7 @@
1
- import type { MetaActionType } from "@party-stack/ontology";
2
- import type { SalesforceInvocableActionDescribe, SalesforceSObjectDescribe } from "@party-stack/salesforce-client";
1
+ import { SalesforceInvocableActionDescribe, SalesforceSObjectDescribe } from "@party-stack/salesforce-client";
2
+ import { MetaActionType } from "@party-stack/ontology";
3
+ //#region src/meta/convertMetaActionType.d.ts
3
4
  export declare function convertSalesforceMetaActionType(describe: SalesforceInvocableActionDescribe, sObjectDescribes?: ReadonlyMap<string, SalesforceSObjectDescribe>): MetaActionType;
4
5
  export declare function convertSalesforceMetaStandardActionType(describe: SalesforceInvocableActionDescribe, sObjectDescribes?: ReadonlyMap<string, SalesforceSObjectDescribe>): MetaActionType;
6
+ //#endregion
5
7
  //# sourceMappingURL=convertMetaActionType.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"convertMetaActionType.d.ts","sourceRoot":"","sources":["../../src/meta/convertMetaActionType.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAC;AAC5D,OAAO,KAAK,EACR,iCAAiC,EACjC,yBAAyB,EAC5B,MAAM,gCAAgC,CAAC;AAmDxC,wBAAgB,+BAA+B,CAC3C,QAAQ,EAAE,iCAAiC,EAC3C,gBAAgB,GAAE,WAAW,CACzB,MAAM,EACN,yBAAyB,CAChB,GACd,cAAc,CAOhB;AAED,wBAAgB,uCAAuC,CACnD,QAAQ,EAAE,iCAAiC,EAC3C,gBAAgB,GAAE,WAAW,CACzB,MAAM,EACN,yBAAyB,CAChB,GACd,cAAc,CAOhB"}
1
+ {"version":3,"file":"convertMetaActionType.d.ts","names":[],"sources":["../../src/meta/convertMetaActionType.ts"],"mappings":";;;wBAoDgB,gCACZ,UAAU,mCACV,mBAAkB,oBAAoB,6BACvC;wBASa,wCACZ,UAAU,mCACV,mBAAkB,oBAAoB,6BACvC"}
@@ -1,39 +1,39 @@
1
- import { fromSalesforceLightningIconName, getSalesforceActionIconName, } from "@party-stack/icons-salesforce-lightning";
2
1
  import { salesforceActionMeta } from "../actionMetadata.js";
3
- import { salesforceFlowActionTypeId, salesforceStandardActionTypeId, toOntologyActionTypeName, } from "../utils/ids.js";
2
+ import { salesforceFlowActionTypeId, salesforceStandardActionTypeId, toOntologyActionTypeName } from "../utils/ids.js";
4
3
  import { convertSalesforceInvocableParameterType } from "./convertMetaTypeDef.js";
4
+ import { fromSalesforceLightningIconName, getSalesforceActionIconName } from "@party-stack/icons-salesforce-lightning";
5
+ //#region src/meta/convertMetaActionType.ts
5
6
  /**
6
- * Convert an autolaunched Flow describe into a Party Stack action type.
7
- * Local `logic` stays empty because execution remains native to Salesforce.
8
- */
9
- function convertSalesforceInvocableMetaActionType(describe, id, kind, sObjectDescribes = new Map()) {
10
- return {
11
- id,
12
- meta: salesforceActionMeta({
13
- kind,
14
- apiName: describe.name,
15
- }),
16
- name: toOntologyActionTypeName(describe.name),
17
- displayName: describe.label ?? describe.name,
18
- description: describe.description,
19
- icon: fromSalesforceLightningIconName(getSalesforceActionIconName(describe.name)),
20
- parameters: (describe.inputs ?? []).map((parameter) => ({
21
- name: parameter.name,
22
- displayName: parameter.label ?? parameter.name,
23
- description: parameter.description,
24
- type: convertSalesforceInvocableParameterType(parameter, (parameter.sobjectType ??
25
- parameter.sObjectType)
26
- ? sObjectDescribes.get((parameter.sobjectType ??
27
- parameter.sObjectType))
28
- : undefined),
29
- })),
30
- logic: [],
31
- };
7
+ * Convert an autolaunched Flow describe into a Party Stack action type.
8
+ * Local `logic` stays empty because execution remains native to Salesforce.
9
+ */
10
+ function convertSalesforceInvocableMetaActionType(describe, id, kind, sObjectDescribes = /* @__PURE__ */ new Map()) {
11
+ return {
12
+ id,
13
+ meta: salesforceActionMeta({
14
+ kind,
15
+ apiName: describe.name
16
+ }),
17
+ name: toOntologyActionTypeName(describe.name),
18
+ displayName: describe.label ?? describe.name,
19
+ description: describe.description,
20
+ icon: fromSalesforceLightningIconName(getSalesforceActionIconName(describe.name)),
21
+ parameters: (describe.inputs ?? []).map((parameter) => ({
22
+ name: parameter.name,
23
+ displayName: parameter.label ?? parameter.name,
24
+ description: parameter.description,
25
+ type: convertSalesforceInvocableParameterType(parameter, parameter.sobjectType ?? parameter.sObjectType ? sObjectDescribes.get(parameter.sobjectType ?? parameter.sObjectType) : void 0)
26
+ })),
27
+ logic: []
28
+ };
32
29
  }
33
- export function convertSalesforceMetaActionType(describe, sObjectDescribes = new Map()) {
34
- return convertSalesforceInvocableMetaActionType(describe, salesforceFlowActionTypeId(describe.name), "flow", sObjectDescribes);
30
+ function convertSalesforceMetaActionType(describe, sObjectDescribes = /* @__PURE__ */ new Map()) {
31
+ return convertSalesforceInvocableMetaActionType(describe, salesforceFlowActionTypeId(describe.name), "flow", sObjectDescribes);
35
32
  }
36
- export function convertSalesforceMetaStandardActionType(describe, sObjectDescribes = new Map()) {
37
- return convertSalesforceInvocableMetaActionType(describe, salesforceStandardActionTypeId(describe.name), "standard", sObjectDescribes);
33
+ function convertSalesforceMetaStandardActionType(describe, sObjectDescribes = /* @__PURE__ */ new Map()) {
34
+ return convertSalesforceInvocableMetaActionType(describe, salesforceStandardActionTypeId(describe.name), "standard", sObjectDescribes);
38
35
  }
36
+ //#endregion
37
+ export { convertSalesforceMetaActionType, convertSalesforceMetaStandardActionType };
38
+
39
39
  //# sourceMappingURL=convertMetaActionType.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"convertMetaActionType.js","sourceRoot":"","sources":["../../src/meta/convertMetaActionType.ts"],"names":[],"mappings":"AAAA,OAAO,EACH,+BAA+B,EAC/B,2BAA2B,GAC9B,MAAM,yCAAyC,CAAC;AAMjD,OAAO,EAAE,oBAAoB,EAAE,MAAM,sBAAsB,CAAC;AAC5D,OAAO,EACH,0BAA0B,EAC1B,8BAA8B,EAC9B,wBAAwB,GAC3B,MAAM,iBAAiB,CAAC;AACzB,OAAO,EAAE,uCAAuC,EAAE,MAAM,yBAAyB,CAAC;AAElF;;;GAGG;AACH,SAAS,wCAAwC,CAC7C,QAA2C,EAC3C,EAAU,EACV,IAAyB,EACzB,mBAGI,IAAI,GAAG,EAAE;IAEb,OAAO;QACH,EAAE;QACF,IAAI,EAAE,oBAAoB,CAAC;YACvB,IAAI;YACJ,OAAO,EAAE,QAAQ,CAAC,IAAI;SACzB,CAAC;QACF,IAAI,EAAE,wBAAwB,CAAC,QAAQ,CAAC,IAAI,CAAC;QAC7C,WAAW,EAAE,QAAQ,CAAC,KAAK,IAAI,QAAQ,CAAC,IAAI;QAC5C,WAAW,EAAE,QAAQ,CAAC,WAAW;QACjC,IAAI,EAAE,+BAA+B,CAAC,2BAA2B,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;QACjF,UAAU,EAAE,CAAC,QAAQ,CAAC,MAAM,IAAI,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,SAAS,EAAE,EAAE,CAAC,CAAC;YACpD,IAAI,EAAE,SAAS,CAAC,IAAI;YACpB,WAAW,EAAE,SAAS,CAAC,KAAK,IAAI,SAAS,CAAC,IAAI;YAC9C,WAAW,EAAE,SAAS,CAAC,WAAW;YAClC,IAAI,EAAE,uCAAuC,CACzC,SAAS,EACT,CAAA,SAAS,CAAC,WAAW;gBACjB,SAAS,CAAC,WAAW;gBACrB,CAAC,CAAC,gBAAgB,CAAC,GAAG,CAChB,CAAC,SAAS,CAAC,WAAW;oBAClB,SAAS,CAAC,WAAW,CAAE,CAC9B;gBACH,CAAC,CAAC,SAAS,CAClB;SACJ,CAAC,CAAC;QACH,KAAK,EAAE,EAAE;KACZ,CAAC;AACN,CAAC;AAED,MAAM,UAAU,+BAA+B,CAC3C,QAA2C,EAC3C,mBAGI,IAAI,GAAG,EAAE;IAEb,OAAO,wCAAwC,CAC3C,QAAQ,EACR,0BAA0B,CAAC,QAAQ,CAAC,IAAI,CAAC,EACzC,MAAM,EACN,gBAAgB,CACnB,CAAC;AACN,CAAC;AAED,MAAM,UAAU,uCAAuC,CACnD,QAA2C,EAC3C,mBAGI,IAAI,GAAG,EAAE;IAEb,OAAO,wCAAwC,CAC3C,QAAQ,EACR,8BAA8B,CAAC,QAAQ,CAAC,IAAI,CAAC,EAC7C,UAAU,EACV,gBAAgB,CACnB,CAAC;AACN,CAAC"}
1
+ {"version":3,"file":"convertMetaActionType.js","names":[],"sources":["../../src/meta/convertMetaActionType.ts"],"sourcesContent":["import {\n fromSalesforceLightningIconName,\n getSalesforceActionIconName,\n} from \"@party-stack/icons-salesforce-lightning\";\nimport { salesforceActionMeta } from \"../actionMetadata.js\";\nimport {\n salesforceFlowActionTypeId,\n salesforceStandardActionTypeId,\n toOntologyActionTypeName,\n} from \"../utils/ids.js\";\nimport { convertSalesforceInvocableParameterType } from \"./convertMetaTypeDef.js\";\nimport type { MetaActionType } from \"@party-stack/ontology\";\nimport type {\n SalesforceInvocableActionDescribe,\n SalesforceSObjectDescribe,\n} from \"@party-stack/salesforce-client\";\n\n/**\n * Convert an autolaunched Flow describe into a Party Stack action type.\n * Local `logic` stays empty because execution remains native to Salesforce.\n */\nfunction convertSalesforceInvocableMetaActionType(\n describe: SalesforceInvocableActionDescribe,\n id: string,\n kind: \"flow\" | \"standard\",\n sObjectDescribes: ReadonlyMap<string, SalesforceSObjectDescribe> = new Map()\n): MetaActionType {\n return {\n id,\n meta: salesforceActionMeta({\n kind,\n apiName: describe.name,\n }),\n name: toOntologyActionTypeName(describe.name),\n displayName: describe.label ?? describe.name,\n description: describe.description,\n icon: fromSalesforceLightningIconName(getSalesforceActionIconName(describe.name)),\n parameters: (describe.inputs ?? []).map((parameter) => ({\n name: parameter.name,\n displayName: parameter.label ?? parameter.name,\n description: parameter.description,\n type: convertSalesforceInvocableParameterType(\n parameter,\n (parameter.sobjectType ?? parameter.sObjectType)\n ? sObjectDescribes.get((parameter.sobjectType ?? parameter.sObjectType)!)\n : undefined\n ),\n })),\n logic: [],\n };\n}\n\nexport function convertSalesforceMetaActionType(\n describe: SalesforceInvocableActionDescribe,\n sObjectDescribes: ReadonlyMap<string, SalesforceSObjectDescribe> = new Map()\n): MetaActionType {\n return convertSalesforceInvocableMetaActionType(\n describe,\n salesforceFlowActionTypeId(describe.name),\n \"flow\",\n sObjectDescribes\n );\n}\n\nexport function convertSalesforceMetaStandardActionType(\n describe: SalesforceInvocableActionDescribe,\n sObjectDescribes: ReadonlyMap<string, SalesforceSObjectDescribe> = new Map()\n): MetaActionType {\n return convertSalesforceInvocableMetaActionType(\n describe,\n salesforceStandardActionTypeId(describe.name),\n \"standard\",\n sObjectDescribes\n );\n}\n"],"mappings":";;;;;;;;;AAqBA,SAAS,yCACL,UACA,IACA,MACA,mCAAmE,IAAI,IAAI,GAC7D;CACd,OAAO;EACH;EACA,MAAM,qBAAqB;GACvB;GACA,SAAS,SAAS;EACtB,CAAC;EACD,MAAM,yBAAyB,SAAS,IAAI;EAC5C,aAAa,SAAS,SAAS,SAAS;EACxC,aAAa,SAAS;EACtB,MAAM,gCAAgC,4BAA4B,SAAS,IAAI,CAAC;EAChF,aAAa,SAAS,UAAU,CAAC,EAAA,CAAG,KAAK,eAAe;GACpD,MAAM,UAAU;GAChB,aAAa,UAAU,SAAS,UAAU;GAC1C,aAAa,UAAU;GACvB,MAAM,wCACF,WACC,UAAU,eAAe,UAAU,cAC9B,iBAAiB,IAAK,UAAU,eAAe,UAAU,WAAa,IACtE,KAAA,CACV;EACJ,EAAE;EACF,OAAO,CAAC;CACZ;AACJ;AAEA,SAAgB,gCACZ,UACA,mCAAmE,IAAI,IAAI,GAC7D;CACd,OAAO,yCACH,UACA,2BAA2B,SAAS,IAAI,GACxC,QACA,gBACJ;AACJ;AAEA,SAAgB,wCACZ,UACA,mCAAmE,IAAI,IAAI,GAC7D;CACd,OAAO,yCACH,UACA,+BAA+B,SAAS,IAAI,GAC5C,YACA,gBACJ;AACJ"}
@@ -1,9 +1,11 @@
1
- import type { MetaLinkType } from "@party-stack/ontology";
2
- import type { SalesforceSObjectDescribe } from "@party-stack/salesforce-client";
1
+ import { SalesforceSObjectDescribe } from "@party-stack/salesforce-client";
2
+ import { MetaLinkType } from "@party-stack/ontology";
3
+ //#region src/meta/convertMetaLinkType.d.ts
3
4
  /**
4
5
  * Create Party Stack link types for single-target Salesforce reference fields.
5
6
  * Polymorphic references (multiple referenceTo values) are intentionally omitted
6
7
  * and remain scalar ID properties on the source object.
7
8
  */
8
9
  export declare function convertSalesforceMetaLinkTypes(describes: SalesforceSObjectDescribe[]): MetaLinkType[];
10
+ //#endregion
9
11
  //# sourceMappingURL=convertMetaLinkType.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"convertMetaLinkType.d.ts","sourceRoot":"","sources":["../../src/meta/convertMetaLinkType.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,uBAAuB,CAAC;AAC1D,OAAO,KAAK,EAA2B,yBAAyB,EAAE,MAAM,gCAAgC,CAAC;AAGzG;;;;GAIG;AACH,wBAAgB,8BAA8B,CAAC,SAAS,EAAE,yBAAyB,EAAE,GAAG,YAAY,EAAE,CAarG"}
1
+ {"version":3,"file":"convertMetaLinkType.d.ts","names":[],"sources":["../../src/meta/convertMetaLinkType.ts"],"mappings":";;;;;;;;wBASgB,+BAA+B,WAAW,8BAA8B"}