@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,156 @@
1
- import { createSalesforceBackendInstallation, createSalesforceOntologyRoute, } from "../installation/createSalesforceBackendInstallation.js";
2
1
  import { salesforceCrudActionTypeName } from "../utils/ids.js";
2
+ import { createSalesforceBackendInstallation, createSalesforceOntologyRoute } from "../installation/createSalesforceBackendInstallation.js";
3
+ //#region src/config/index.ts
3
4
  function scopeObjectReferences(type, objectTypeNames) {
4
- switch (type.kind) {
5
- case "objectReference":
6
- return objectTypeNames.has(type.value.objectType)
7
- ? type
8
- : { kind: "string", value: {} };
9
- case "list":
10
- return {
11
- ...type,
12
- value: {
13
- ...type.value,
14
- elementType: scopeObjectReferences(type.value.elementType, objectTypeNames),
15
- },
16
- };
17
- case "map":
18
- return {
19
- ...type,
20
- value: {
21
- ...type.value,
22
- keyType: scopeObjectReferences(type.value.keyType, objectTypeNames),
23
- valueType: scopeObjectReferences(type.value.valueType, objectTypeNames),
24
- },
25
- };
26
- case "struct":
27
- return {
28
- ...type,
29
- value: {
30
- ...type.value,
31
- fields: type.value.fields.map((field) => ({
32
- ...field,
33
- type: scopeObjectReferences(field.type, objectTypeNames),
34
- })),
35
- },
36
- };
37
- case "union":
38
- return {
39
- ...type,
40
- value: {
41
- ...type.value,
42
- variants: type.value.variants.map((variant) => ({
43
- ...variant,
44
- type: scopeObjectReferences(variant.type, objectTypeNames),
45
- })),
46
- },
47
- };
48
- case "optional":
49
- return {
50
- ...type,
51
- value: {
52
- ...type.value,
53
- type: scopeObjectReferences(type.value.type, objectTypeNames),
54
- },
55
- };
56
- case "result":
57
- return {
58
- ...type,
59
- value: {
60
- ...type.value,
61
- okType: scopeObjectReferences(type.value.okType, objectTypeNames),
62
- errType: scopeObjectReferences(type.value.errType, objectTypeNames),
63
- },
64
- };
65
- default:
66
- return type;
67
- }
5
+ switch (type.kind) {
6
+ case "objectReference": return objectTypeNames.has(type.value.objectType) ? type : {
7
+ kind: "string",
8
+ value: {}
9
+ };
10
+ case "list": return {
11
+ ...type,
12
+ value: {
13
+ ...type.value,
14
+ elementType: scopeObjectReferences(type.value.elementType, objectTypeNames)
15
+ }
16
+ };
17
+ case "map": return {
18
+ ...type,
19
+ value: {
20
+ ...type.value,
21
+ keyType: scopeObjectReferences(type.value.keyType, objectTypeNames),
22
+ valueType: scopeObjectReferences(type.value.valueType, objectTypeNames)
23
+ }
24
+ };
25
+ case "struct": return {
26
+ ...type,
27
+ value: {
28
+ ...type.value,
29
+ fields: type.value.fields.map((field) => ({
30
+ ...field,
31
+ type: scopeObjectReferences(field.type, objectTypeNames)
32
+ }))
33
+ }
34
+ };
35
+ case "union": return {
36
+ ...type,
37
+ value: {
38
+ ...type.value,
39
+ variants: type.value.variants.map((variant) => ({
40
+ ...variant,
41
+ type: scopeObjectReferences(variant.type, objectTypeNames)
42
+ }))
43
+ }
44
+ };
45
+ case "optional": return {
46
+ ...type,
47
+ value: {
48
+ ...type.value,
49
+ type: scopeObjectReferences(type.value.type, objectTypeNames)
50
+ }
51
+ };
52
+ case "result": return {
53
+ ...type,
54
+ value: {
55
+ ...type.value,
56
+ okType: scopeObjectReferences(type.value.okType, objectTypeNames),
57
+ errType: scopeObjectReferences(type.value.errType, objectTypeNames)
58
+ }
59
+ };
60
+ default: return type;
61
+ }
68
62
  }
69
63
  function scopePulledOntology(ontology) {
70
- const objectTypeNames = new Set(ontology.objectTypes.map((objectType) => objectType.name));
71
- const scope = (type) => scopeObjectReferences(type, objectTypeNames);
72
- return {
73
- ...ontology,
74
- types: ontology.types.map((type) => ({
75
- ...type,
76
- type: scope(type.type),
77
- })),
78
- objectTypes: ontology.objectTypes.map((objectType) => ({
79
- ...objectType,
80
- properties: objectType.properties.map((property) => ({
81
- ...property,
82
- type: scope(property.type),
83
- })),
84
- })),
85
- actionTypes: ontology.actionTypes.map((actionType) => ({
86
- ...actionType,
87
- parameters: actionType.parameters.map((parameter) => ({
88
- ...parameter,
89
- type: scope(parameter.type),
90
- })),
91
- })),
92
- queryFunctionTypes: ontology.queryFunctionTypes.map((queryFunctionType) => ({
93
- ...queryFunctionType,
94
- parameters: queryFunctionType.parameters.map((parameter) => ({
95
- ...parameter,
96
- type: scope(parameter.type),
97
- })),
98
- returnType: scope(queryFunctionType.returnType),
99
- })),
100
- contextType: ontology.contextType
101
- ? scope(ontology.contextType)
102
- : undefined,
103
- };
64
+ const objectTypeNames = new Set(ontology.objectTypes.map((objectType) => objectType.name));
65
+ const scope = (type) => scopeObjectReferences(type, objectTypeNames);
66
+ return {
67
+ ...ontology,
68
+ types: ontology.types.map((type) => ({
69
+ ...type,
70
+ type: scope(type.type)
71
+ })),
72
+ objectTypes: ontology.objectTypes.map((objectType) => ({
73
+ ...objectType,
74
+ properties: objectType.properties.map((property) => ({
75
+ ...property,
76
+ type: scope(property.type)
77
+ }))
78
+ })),
79
+ actionTypes: ontology.actionTypes.map((actionType) => ({
80
+ ...actionType,
81
+ parameters: actionType.parameters.map((parameter) => ({
82
+ ...parameter,
83
+ type: scope(parameter.type)
84
+ }))
85
+ })),
86
+ queryFunctionTypes: ontology.queryFunctionTypes.map((queryFunctionType) => ({
87
+ ...queryFunctionType,
88
+ parameters: queryFunctionType.parameters.map((parameter) => ({
89
+ ...parameter,
90
+ type: scope(parameter.type)
91
+ })),
92
+ returnType: scope(queryFunctionType.returnType)
93
+ })),
94
+ contextType: ontology.contextType ? scope(ontology.contextType) : void 0
95
+ };
104
96
  }
105
- export function createSalesforceOntologyPullSource(options) {
106
- return {
107
- ontologyId: options.ontologyId,
108
- createInstallation: ({ runtime }) => createSalesforceBackendInstallation({
109
- installationId: `salesforce-pull:${options.instanceUrl}:${options.ontologyId}`,
110
- instanceUrl: options.instanceUrl,
111
- apiVersion: options.apiVersion,
112
- runtime,
113
- connections: {
114
- token: options.connection.token,
115
- userId: options.connection.userId,
116
- oauth: options.connection.oauth,
117
- },
118
- routes: [
119
- createSalesforceOntologyRoute({
120
- ontologyId: options.ontologyId,
121
- objectTypeNames: options.objectTypeNames,
122
- flowActionTypeNames: options.flowActionTypeNames,
123
- standardActionTypeNames: options.standardActionTypeNames,
124
- standardQueryFunctionTypeNames: options.standardQueryFunctionTypeNames,
125
- crudActionTypes: options.crudActionTypes,
126
- }),
127
- ],
128
- }),
129
- async resolveConnection(installation) {
130
- const configuredUserId = options.connection.userId;
131
- const activeConnections = [
132
- ...installation.connections.values(),
133
- ]
134
- .filter((connection) => connection.state.status === "active")
135
- .map((connection) => ({
136
- userId: connection.userId,
137
- state: connection.state,
138
- }));
139
- if (!options.connection.token &&
140
- !configuredUserId &&
141
- activeConnections.length > 1) {
142
- throw new Error("Multiple Salesforce users are signed in for this project. Set connection.userId in the ontology pull source.");
143
- }
144
- let connection = options.connection.token
145
- ? await installation.authentication.signIn.accessToken({
146
- userId: configuredUserId,
147
- })
148
- : configuredUserId
149
- ? activeConnections.find((candidate) => candidate.userId ===
150
- configuredUserId)
151
- : activeConnections[0];
152
- if (!connection &&
153
- options.connection.oauth) {
154
- connection =
155
- await installation.authentication.signIn.oauth();
156
- }
157
- if (!connection) {
158
- throw new Error("Salesforce ontology pull requires connection.oauth or connection.token.");
159
- }
160
- if (configuredUserId &&
161
- connection.userId !== configuredUserId) {
162
- throw new Error(`Salesforce signed in as "${connection.userId}", but connection.userId is "${configuredUserId}".`);
163
- }
164
- return connection;
165
- },
166
- async transformPulledOntology(ontology) {
167
- const scoped = scopePulledOntology(ontology);
168
- return options.transformPulledOntology
169
- ? options.transformPulledOntology(scoped)
170
- : scoped;
171
- },
172
- };
97
+ function createSalesforceOntologyPullSource(options) {
98
+ return {
99
+ ontologyId: options.ontologyId,
100
+ createInstallation: ({ runtime }) => createSalesforceBackendInstallation({
101
+ installationId: `salesforce-pull:${options.instanceUrl}:${options.ontologyId}`,
102
+ instanceUrl: options.instanceUrl,
103
+ apiVersion: options.apiVersion,
104
+ runtime,
105
+ connections: {
106
+ token: options.connection.token,
107
+ userId: options.connection.userId,
108
+ oauth: options.connection.oauth
109
+ },
110
+ routes: [createSalesforceOntologyRoute({
111
+ ontologyId: options.ontologyId,
112
+ objectTypeNames: options.objectTypeNames,
113
+ flowActionTypeNames: options.flowActionTypeNames,
114
+ standardActionTypeNames: options.standardActionTypeNames,
115
+ standardQueryFunctionTypeNames: options.standardQueryFunctionTypeNames,
116
+ crudActionTypes: options.crudActionTypes
117
+ })]
118
+ }),
119
+ async resolveConnection(installation) {
120
+ const configuredUserId = options.connection.userId;
121
+ const activeConnections = [...installation.connections.values()].filter((connection) => connection.state.status === "active").map((connection) => ({
122
+ userId: connection.userId,
123
+ state: connection.state
124
+ }));
125
+ if (!options.connection.token && !configuredUserId && activeConnections.length > 1) throw new Error("Multiple Salesforce users are signed in for this project. Set connection.userId in the ontology pull source.");
126
+ let connection = options.connection.token ? await installation.authentication.signIn.accessToken({ userId: configuredUserId }) : configuredUserId ? activeConnections.find((candidate) => candidate.userId === configuredUserId) : activeConnections[0];
127
+ if (!connection && options.connection.oauth) connection = await installation.authentication.signIn.oauth();
128
+ if (!connection) throw new Error("Salesforce ontology pull requires connection.oauth or connection.token.");
129
+ if (configuredUserId && connection.userId !== configuredUserId) throw new Error(`Salesforce signed in as "${connection.userId}", but connection.userId is "${configuredUserId}".`);
130
+ return connection;
131
+ },
132
+ async transformPulledOntology(ontology) {
133
+ const scoped = scopePulledOntology(ontology);
134
+ return options.transformPulledOntology ? options.transformPulledOntology(scoped) : scoped;
135
+ }
136
+ };
173
137
  }
174
- export function createSalesforceOntologyPullConfig(options) {
175
- const objectTypeNames = new Set(options.objectTypeNames);
176
- for (const selection of options.crudActionTypes ??
177
- []) {
178
- if (!objectTypeNames.has(selection.objectType)) {
179
- throw new Error(`Salesforce CRUD object type "${selection.objectType}" must also appear in objectTypeNames.`);
180
- }
181
- }
182
- const crudActionTypeNames = (options.crudActionTypes ?? []).flatMap((selection) => selection.operations.map((operation) => salesforceCrudActionTypeName(operation, selection.objectType)));
183
- return {
184
- source: createSalesforceOntologyPullSource(options),
185
- objectTypeNames: options.objectTypeNames,
186
- actionTypeNames: [
187
- ...options.flowActionTypeNames,
188
- ...(options.standardActionTypeNames ??
189
- []),
190
- ...crudActionTypeNames,
191
- ],
192
- queryFunctionTypeNames: [
193
- ...(options.queryFunctionTypeNames ??
194
- []),
195
- ...(options.standardQueryFunctionTypeNames ??
196
- []),
197
- ],
198
- };
138
+ function createSalesforceOntologyPullConfig(options) {
139
+ const objectTypeNames = new Set(options.objectTypeNames);
140
+ for (const selection of options.crudActionTypes ?? []) if (!objectTypeNames.has(selection.objectType)) throw new Error(`Salesforce CRUD object type "${selection.objectType}" must also appear in objectTypeNames.`);
141
+ const crudActionTypeNames = (options.crudActionTypes ?? []).flatMap((selection) => selection.operations.map((operation) => salesforceCrudActionTypeName(operation, selection.objectType)));
142
+ return {
143
+ source: createSalesforceOntologyPullSource(options),
144
+ objectTypeNames: options.objectTypeNames,
145
+ actionTypeNames: [
146
+ ...options.flowActionTypeNames,
147
+ ...options.standardActionTypeNames ?? [],
148
+ ...crudActionTypeNames
149
+ ],
150
+ queryFunctionTypeNames: [...options.queryFunctionTypeNames ?? [], ...options.standardQueryFunctionTypeNames ?? []]
151
+ };
199
152
  }
153
+ //#endregion
154
+ export { createSalesforceOntologyPullConfig, createSalesforceOntologyPullSource };
155
+
200
156
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/config/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","names":[],"sources":["../../src/config/index.ts"],"sourcesContent":["import { type SalesforceAuthenticationClient, type SalesforceOAuthConnectionOptions } from \"../connection.js\";\nimport {\n createSalesforceBackendInstallation,\n createSalesforceOntologyRoute,\n} from \"../installation/createSalesforceBackendInstallation.js\";\nimport { salesforceCrudActionTypeName } from \"../utils/ids.js\";\nimport type { SalesforceCrudActionTypeSelection } from \"../crud.js\";\nimport type { Connection } from \"@party-stack/connections\";\nimport type { OntologyPullConfig, OntologyPullSource, OntologyIR, TypeDef } from \"@party-stack/ontology\";\n\nexport interface SalesforceOntologyPullConnectionOptions {\n oauth?: SalesforceOAuthConnectionOptions;\n token?: string;\n userId?: string;\n}\n\nexport interface CreateSalesforceOntologyPullSourceOptions {\n instanceUrl: string;\n apiVersion: string;\n ontologyId: string;\n objectTypeNames: string[];\n flowActionTypeNames?: string[];\n standardActionTypeNames?: string[];\n standardQueryFunctionTypeNames?: string[];\n crudActionTypes?: readonly SalesforceCrudActionTypeSelection[];\n connection: SalesforceOntologyPullConnectionOptions;\n transformPulledOntology?: (ontology: OntologyIR) => OntologyIR | Promise<OntologyIR>;\n}\n\nfunction scopeObjectReferences(type: TypeDef, objectTypeNames: ReadonlySet<string>): TypeDef {\n switch (type.kind) {\n case \"objectReference\":\n return objectTypeNames.has(type.value.objectType) ? type : { kind: \"string\", value: {} };\n case \"list\":\n return {\n ...type,\n value: {\n ...type.value,\n elementType: scopeObjectReferences(type.value.elementType, objectTypeNames),\n },\n };\n case \"map\":\n return {\n ...type,\n value: {\n ...type.value,\n keyType: scopeObjectReferences(type.value.keyType, objectTypeNames),\n valueType: scopeObjectReferences(type.value.valueType, objectTypeNames),\n },\n };\n case \"struct\":\n return {\n ...type,\n value: {\n ...type.value,\n fields: type.value.fields.map((field) => ({\n ...field,\n type: scopeObjectReferences(field.type, objectTypeNames),\n })),\n },\n };\n case \"union\":\n return {\n ...type,\n value: {\n ...type.value,\n variants: type.value.variants.map((variant) => ({\n ...variant,\n type: scopeObjectReferences(variant.type, objectTypeNames),\n })),\n },\n };\n case \"optional\":\n return {\n ...type,\n value: {\n ...type.value,\n type: scopeObjectReferences(type.value.type, objectTypeNames),\n },\n };\n case \"result\":\n return {\n ...type,\n value: {\n ...type.value,\n okType: scopeObjectReferences(type.value.okType, objectTypeNames),\n errType: scopeObjectReferences(type.value.errType, objectTypeNames),\n },\n };\n default:\n return type;\n }\n}\n\nfunction scopePulledOntology(ontology: OntologyIR): OntologyIR {\n const objectTypeNames = new Set(ontology.objectTypes.map((objectType) => objectType.name));\n const scope = (type: TypeDef) => scopeObjectReferences(type, objectTypeNames);\n return {\n ...ontology,\n types: ontology.types.map((type) => ({\n ...type,\n type: scope(type.type),\n })),\n objectTypes: ontology.objectTypes.map((objectType) => ({\n ...objectType,\n properties: objectType.properties.map((property) => ({\n ...property,\n type: scope(property.type),\n })),\n })),\n actionTypes: ontology.actionTypes.map((actionType) => ({\n ...actionType,\n parameters: actionType.parameters.map((parameter) => ({\n ...parameter,\n type: scope(parameter.type),\n })),\n })),\n queryFunctionTypes: ontology.queryFunctionTypes.map((queryFunctionType) => ({\n ...queryFunctionType,\n parameters: queryFunctionType.parameters.map((parameter) => ({\n ...parameter,\n type: scope(parameter.type),\n })),\n returnType: scope(queryFunctionType.returnType),\n })),\n contextType: ontology.contextType ? scope(ontology.contextType) : undefined,\n };\n}\n\nexport function createSalesforceOntologyPullSource(\n options: CreateSalesforceOntologyPullSourceOptions\n): OntologyPullSource<SalesforceAuthenticationClient> {\n return {\n ontologyId: options.ontologyId,\n createInstallation: ({ runtime }) =>\n createSalesforceBackendInstallation({\n installationId: `salesforce-pull:${options.instanceUrl}:${options.ontologyId}`,\n instanceUrl: options.instanceUrl,\n apiVersion: options.apiVersion,\n runtime,\n connections: {\n token: options.connection.token,\n userId: options.connection.userId,\n oauth: options.connection.oauth,\n },\n routes: [\n createSalesforceOntologyRoute({\n ontologyId: options.ontologyId,\n objectTypeNames: options.objectTypeNames,\n flowActionTypeNames: options.flowActionTypeNames,\n standardActionTypeNames: options.standardActionTypeNames,\n standardQueryFunctionTypeNames: options.standardQueryFunctionTypeNames,\n crudActionTypes: options.crudActionTypes,\n }),\n ],\n }),\n async resolveConnection(installation) {\n const configuredUserId = options.connection.userId;\n const activeConnections = [...installation.connections.values()]\n .filter((connection) => connection.state.status === \"active\")\n .map((connection): Connection<\"active\"> => ({\n userId: connection.userId,\n state: connection.state as Connection<\"active\">[\"state\"],\n }));\n\n if (!options.connection.token && !configuredUserId && activeConnections.length > 1) {\n throw new Error(\n \"Multiple Salesforce users are signed in for this project. Set connection.userId in the ontology pull source.\"\n );\n }\n let connection = options.connection.token\n ? await installation.authentication.signIn.accessToken({\n userId: configuredUserId,\n })\n : configuredUserId\n ? activeConnections.find((candidate) => candidate.userId === configuredUserId)\n : activeConnections[0];\n if (!connection && options.connection.oauth) {\n connection = await installation.authentication.signIn.oauth();\n }\n if (!connection) {\n throw new Error(\"Salesforce ontology pull requires connection.oauth or connection.token.\");\n }\n if (configuredUserId && connection.userId !== configuredUserId) {\n throw new Error(\n `Salesforce signed in as \"${connection.userId}\", but connection.userId is \"${configuredUserId}\".`\n );\n }\n return connection;\n },\n async transformPulledOntology(ontology) {\n const scoped = scopePulledOntology(ontology);\n return options.transformPulledOntology ? options.transformPulledOntology(scoped) : scoped;\n },\n };\n}\n\nexport type SalesforceOntologyPullConfig = OntologyPullConfig<SalesforceAuthenticationClient>;\n\nexport interface CreateSalesforceOntologyPullConfigOptions extends CreateSalesforceOntologyPullSourceOptions {\n flowActionTypeNames: string[];\n queryFunctionTypeNames?: string[];\n}\n\nexport function createSalesforceOntologyPullConfig(\n options: CreateSalesforceOntologyPullConfigOptions\n): SalesforceOntologyPullConfig {\n const objectTypeNames = new Set(options.objectTypeNames);\n for (const selection of options.crudActionTypes ?? []) {\n if (!objectTypeNames.has(selection.objectType)) {\n throw new Error(\n `Salesforce CRUD object type \"${selection.objectType}\" must also appear in objectTypeNames.`\n );\n }\n }\n const crudActionTypeNames = (options.crudActionTypes ?? []).flatMap((selection) =>\n selection.operations.map((operation) => salesforceCrudActionTypeName(operation, selection.objectType))\n );\n return {\n source: createSalesforceOntologyPullSource(options),\n objectTypeNames: options.objectTypeNames,\n actionTypeNames: [\n ...options.flowActionTypeNames,\n ...(options.standardActionTypeNames ?? []),\n ...crudActionTypeNames,\n ],\n queryFunctionTypeNames: [\n ...(options.queryFunctionTypeNames ?? []),\n ...(options.standardQueryFunctionTypeNames ?? []),\n ],\n };\n}\n"],"mappings":";;;AA6BA,SAAS,sBAAsB,MAAe,iBAA+C;CACzF,QAAQ,KAAK,MAAb;EACI,KAAK,mBACD,OAAO,gBAAgB,IAAI,KAAK,MAAM,UAAU,IAAI,OAAO;GAAE,MAAM;GAAU,OAAO,CAAC;EAAE;EAC3F,KAAK,QACD,OAAO;GACH,GAAG;GACH,OAAO;IACH,GAAG,KAAK;IACR,aAAa,sBAAsB,KAAK,MAAM,aAAa,eAAe;GAC9E;EACJ;EACJ,KAAK,OACD,OAAO;GACH,GAAG;GACH,OAAO;IACH,GAAG,KAAK;IACR,SAAS,sBAAsB,KAAK,MAAM,SAAS,eAAe;IAClE,WAAW,sBAAsB,KAAK,MAAM,WAAW,eAAe;GAC1E;EACJ;EACJ,KAAK,UACD,OAAO;GACH,GAAG;GACH,OAAO;IACH,GAAG,KAAK;IACR,QAAQ,KAAK,MAAM,OAAO,KAAK,WAAW;KACtC,GAAG;KACH,MAAM,sBAAsB,MAAM,MAAM,eAAe;IAC3D,EAAE;GACN;EACJ;EACJ,KAAK,SACD,OAAO;GACH,GAAG;GACH,OAAO;IACH,GAAG,KAAK;IACR,UAAU,KAAK,MAAM,SAAS,KAAK,aAAa;KAC5C,GAAG;KACH,MAAM,sBAAsB,QAAQ,MAAM,eAAe;IAC7D,EAAE;GACN;EACJ;EACJ,KAAK,YACD,OAAO;GACH,GAAG;GACH,OAAO;IACH,GAAG,KAAK;IACR,MAAM,sBAAsB,KAAK,MAAM,MAAM,eAAe;GAChE;EACJ;EACJ,KAAK,UACD,OAAO;GACH,GAAG;GACH,OAAO;IACH,GAAG,KAAK;IACR,QAAQ,sBAAsB,KAAK,MAAM,QAAQ,eAAe;IAChE,SAAS,sBAAsB,KAAK,MAAM,SAAS,eAAe;GACtE;EACJ;EACJ,SACI,OAAO;CACf;AACJ;AAEA,SAAS,oBAAoB,UAAkC;CAC3D,MAAM,kBAAkB,IAAI,IAAI,SAAS,YAAY,KAAK,eAAe,WAAW,IAAI,CAAC;CACzF,MAAM,SAAS,SAAkB,sBAAsB,MAAM,eAAe;CAC5E,OAAO;EACH,GAAG;EACH,OAAO,SAAS,MAAM,KAAK,UAAU;GACjC,GAAG;GACH,MAAM,MAAM,KAAK,IAAI;EACzB,EAAE;EACF,aAAa,SAAS,YAAY,KAAK,gBAAgB;GACnD,GAAG;GACH,YAAY,WAAW,WAAW,KAAK,cAAc;IACjD,GAAG;IACH,MAAM,MAAM,SAAS,IAAI;GAC7B,EAAE;EACN,EAAE;EACF,aAAa,SAAS,YAAY,KAAK,gBAAgB;GACnD,GAAG;GACH,YAAY,WAAW,WAAW,KAAK,eAAe;IAClD,GAAG;IACH,MAAM,MAAM,UAAU,IAAI;GAC9B,EAAE;EACN,EAAE;EACF,oBAAoB,SAAS,mBAAmB,KAAK,uBAAuB;GACxE,GAAG;GACH,YAAY,kBAAkB,WAAW,KAAK,eAAe;IACzD,GAAG;IACH,MAAM,MAAM,UAAU,IAAI;GAC9B,EAAE;GACF,YAAY,MAAM,kBAAkB,UAAU;EAClD,EAAE;EACF,aAAa,SAAS,cAAc,MAAM,SAAS,WAAW,IAAI,KAAA;CACtE;AACJ;AAEA,SAAgB,mCACZ,SACkD;CAClD,OAAO;EACH,YAAY,QAAQ;EACpB,qBAAqB,EAAE,cACnB,oCAAoC;GAChC,gBAAgB,mBAAmB,QAAQ,YAAY,GAAG,QAAQ;GAClE,aAAa,QAAQ;GACrB,YAAY,QAAQ;GACpB;GACA,aAAa;IACT,OAAO,QAAQ,WAAW;IAC1B,QAAQ,QAAQ,WAAW;IAC3B,OAAO,QAAQ,WAAW;GAC9B;GACA,QAAQ,CACJ,8BAA8B;IAC1B,YAAY,QAAQ;IACpB,iBAAiB,QAAQ;IACzB,qBAAqB,QAAQ;IAC7B,yBAAyB,QAAQ;IACjC,gCAAgC,QAAQ;IACxC,iBAAiB,QAAQ;GAC7B,CAAC,CACL;EACJ,CAAC;EACL,MAAM,kBAAkB,cAAc;GAClC,MAAM,mBAAmB,QAAQ,WAAW;GAC5C,MAAM,oBAAoB,CAAC,GAAG,aAAa,YAAY,OAAO,CAAC,CAAC,CAC3D,QAAQ,eAAe,WAAW,MAAM,WAAW,QAAQ,CAAC,CAC5D,KAAK,gBAAsC;IACxC,QAAQ,WAAW;IACnB,OAAO,WAAW;GACtB,EAAE;GAEN,IAAI,CAAC,QAAQ,WAAW,SAAS,CAAC,oBAAoB,kBAAkB,SAAS,GAC7E,MAAM,IAAI,MACN,8GACJ;GAEJ,IAAI,aAAa,QAAQ,WAAW,QAC9B,MAAM,aAAa,eAAe,OAAO,YAAY,EACjD,QAAQ,iBACZ,CAAC,IACD,mBACE,kBAAkB,MAAM,cAAc,UAAU,WAAW,gBAAgB,IAC3E,kBAAkB;GAC1B,IAAI,CAAC,cAAc,QAAQ,WAAW,OAClC,aAAa,MAAM,aAAa,eAAe,OAAO,MAAM;GAEhE,IAAI,CAAC,YACD,MAAM,IAAI,MAAM,yEAAyE;GAE7F,IAAI,oBAAoB,WAAW,WAAW,kBAC1C,MAAM,IAAI,MACN,4BAA4B,WAAW,OAAO,+BAA+B,iBAAiB,GAClG;GAEJ,OAAO;EACX;EACA,MAAM,wBAAwB,UAAU;GACpC,MAAM,SAAS,oBAAoB,QAAQ;GAC3C,OAAO,QAAQ,0BAA0B,QAAQ,wBAAwB,MAAM,IAAI;EACvF;CACJ;AACJ;AASA,SAAgB,mCACZ,SAC4B;CAC5B,MAAM,kBAAkB,IAAI,IAAI,QAAQ,eAAe;CACvD,KAAK,MAAM,aAAa,QAAQ,mBAAmB,CAAC,GAChD,IAAI,CAAC,gBAAgB,IAAI,UAAU,UAAU,GACzC,MAAM,IAAI,MACN,gCAAgC,UAAU,WAAW,uCACzD;CAGR,MAAM,uBAAuB,QAAQ,mBAAmB,CAAC,EAAA,CAAG,SAAS,cACjE,UAAU,WAAW,KAAK,cAAc,6BAA6B,WAAW,UAAU,UAAU,CAAC,CACzG;CACA,OAAO;EACH,QAAQ,mCAAmC,OAAO;EAClD,iBAAiB,QAAQ;EACzB,iBAAiB;GACb,GAAG,QAAQ;GACX,GAAI,QAAQ,2BAA2B,CAAC;GACxC,GAAG;EACP;EACA,wBAAwB,CACpB,GAAI,QAAQ,0BAA0B,CAAC,GACvC,GAAI,QAAQ,kCAAkC,CAAC,CACnD;CACJ;AACJ"}
@@ -1,43 +1,45 @@
1
- import { type BackendConnectionAdapterProvider, type Connection } from "@party-stack/connections";
2
- import { type SalesforceChangeEvent, type SalesforceChangeEventSubscription, type SalesforceChangeEventSubscriptionOptions } from "@party-stack/salesforce-client";
3
- import type { BrowserAuthenticationPresentation } from "@party-stack/runtime";
1
+ import { BackendConnectionAdapterProvider, Connection } from "@party-stack/connections";
2
+ import { SalesforceChangeEvent, SalesforceChangeEventSubscription, SalesforceChangeEventSubscriptionOptions } from "@party-stack/salesforce-client";
3
+ import { BrowserAuthenticationPresentation } from "@party-stack/runtime";
4
+ //#region src/connection.d.ts
4
5
  export interface SalesforceOAuthConnectionOptions {
5
- clientId: string;
6
- redirectUrl: string;
7
- loginUrl?: string;
8
- scopes?: string[];
9
- fetch?: typeof globalThis.fetch;
10
- dangerouslyPersistSecrets?: boolean;
6
+ clientId: string;
7
+ redirectUrl: string;
8
+ loginUrl?: string;
9
+ scopes?: string[];
10
+ fetch?: typeof globalThis.fetch;
11
+ dangerouslyPersistSecrets?: boolean;
11
12
  }
12
13
  export interface SalesforceClientCredentialsConnectionOptions {
13
- clientId: string;
14
- clientSecret: string;
15
- loginUrl?: string;
16
- scopes?: string[];
17
- fetch?: typeof globalThis.fetch;
14
+ clientId: string;
15
+ clientSecret: string;
16
+ loginUrl?: string;
17
+ scopes?: string[];
18
+ fetch?: typeof globalThis.fetch;
18
19
  }
19
20
  export interface CreateSalesforceConnectionAdapterOptions {
20
- instanceUrl: string;
21
- apiVersion?: string;
22
- cometdUrl?: string;
23
- oauth?: SalesforceOAuthConnectionOptions;
24
- clientCredentials?: SalesforceClientCredentialsConnectionOptions;
25
- token?: string;
26
- userId?: string;
21
+ instanceUrl: string;
22
+ apiVersion?: string;
23
+ cometdUrl?: string;
24
+ oauth?: SalesforceOAuthConnectionOptions;
25
+ clientCredentials?: SalesforceClientCredentialsConnectionOptions;
26
+ token?: string;
27
+ userId?: string;
27
28
  }
28
29
  export interface SalesforceAuthenticationClient {
29
- completeOAuthRedirect(url: string): Promise<Connection<"active"> | undefined>;
30
- subscribeToChangeEvents(userId: string, sObjectName: string, listener: (event: SalesforceChangeEvent) => void, options?: SalesforceChangeEventSubscriptionOptions): Promise<SalesforceChangeEventSubscription>;
31
- signIn: {
32
- oauth(options?: {
33
- browserPresentation?: BrowserAuthenticationPresentation;
34
- }): Promise<Connection<"active">>;
35
- clientCredentials(): Promise<Connection<"active">>;
36
- accessToken(options?: {
37
- token?: string;
38
- userId?: string;
39
- }): Promise<Connection<"active">>;
40
- };
30
+ completeOAuthRedirect(url: string): Promise<Connection<"active"> | undefined>;
31
+ subscribeToChangeEvents(userId: string, sObjectName: string, listener: (event: SalesforceChangeEvent) => void, options?: SalesforceChangeEventSubscriptionOptions): Promise<SalesforceChangeEventSubscription>;
32
+ signIn: {
33
+ oauth(options?: {
34
+ browserPresentation?: BrowserAuthenticationPresentation;
35
+ }): Promise<Connection<"active">>;
36
+ clientCredentials(): Promise<Connection<"active">>;
37
+ accessToken(options?: {
38
+ token?: string;
39
+ userId?: string;
40
+ }): Promise<Connection<"active">>;
41
+ };
41
42
  }
42
43
  export declare function createSalesforceConnectionAdapter(options: CreateSalesforceConnectionAdapterOptions): BackendConnectionAdapterProvider<SalesforceAuthenticationClient>;
44
+ //#endregion
43
45
  //# sourceMappingURL=connection.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"connection.d.ts","sourceRoot":"","sources":["../src/connection.ts"],"names":[],"mappings":"AAAA,OAAO,EAGH,KAAK,gCAAgC,EACrC,KAAK,UAAU,EAMlB,MAAM,0BAA0B,CAAC;AASlC,OAAO,EAEH,KAAK,qBAAqB,EAC1B,KAAK,iCAAiC,EACtC,KAAK,wCAAwC,EAChD,MAAM,gCAAgC,CAAC;AACxC,OAAO,KAAK,EAAE,iCAAiC,EAAE,MAAM,sBAAsB,CAAC;AAE9E,MAAM,WAAW,gCAAgC;IAC7C,QAAQ,EAAE,MAAM,CAAC;IACjB,WAAW,EAAE,MAAM,CAAC;IACpB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,MAAM,CAAC,EAAE,MAAM,EAAE,CAAC;IAClB,KAAK,CAAC,EAAE,OAAO,UAAU,CAAC,KAAK,CAAC;IAChC,yBAAyB,CAAC,EAAE,OAAO,CAAC;CACvC;AAED,MAAM,WAAW,4CAA4C;IACzD,QAAQ,EAAE,MAAM,CAAC;IACjB,YAAY,EAAE,MAAM,CAAC;IACrB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,MAAM,CAAC,EAAE,MAAM,EAAE,CAAC;IAClB,KAAK,CAAC,EAAE,OAAO,UAAU,CAAC,KAAK,CAAC;CACnC;AAED,MAAM,WAAW,wCAAwC;IACrD,WAAW,EAAE,MAAM,CAAC;IACpB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,KAAK,CAAC,EAAE,gCAAgC,CAAC;IACzC,iBAAiB,CAAC,EAAE,4CAA4C,CAAC;IACjE,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,MAAM,CAAC,EAAE,MAAM,CAAC;CACnB;AAED,MAAM,WAAW,8BAA8B;IAC3C,qBAAqB,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,UAAU,CAAC,QAAQ,CAAC,GAAG,SAAS,CAAC,CAAC;IAC9E,uBAAuB,CACnB,MAAM,EAAE,MAAM,EACd,WAAW,EAAE,MAAM,EACnB,QAAQ,EAAE,CAAC,KAAK,EAAE,qBAAqB,KAAK,IAAI,EAChD,OAAO,CAAC,EAAE,wCAAwC,GACnD,OAAO,CAAC,iCAAiC,CAAC,CAAC;IAC9C,MAAM,EAAE;QACJ,KAAK,CAAC,OAAO,CAAC,EAAE;YACZ,mBAAmB,CAAC,EAAE,iCAAiC,CAAC;SAC3D,GAAG,OAAO,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAC,CAAC;QAClC,iBAAiB,IAAI,OAAO,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAC,CAAC;QACnD,WAAW,CAAC,OAAO,CAAC,EAAE;YAClB,KAAK,CAAC,EAAE,MAAM,CAAC;YACf,MAAM,CAAC,EAAE,MAAM,CAAC;SACnB,GAAG,OAAO,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAC,CAAC;KACrC,CAAC;CACL;AAsbD,wBAAgB,iCAAiC,CAC7C,OAAO,EAAE,wCAAwC,GAClD,gCAAgC,CAAC,8BAA8B,CAAC,CAElE"}
1
+ {"version":3,"file":"connection.d.ts","names":[],"sources":["../src/connection.ts"],"mappings":";;;;iBA2BiB;EACb;EACA;EACA;EACA;EACA,eAAe,WAAW;EAC1B;;iBAGa;EACb;EACA;EACA;EACA;EACA,eAAe,WAAW;;iBAGb;EACb;EACA;EACA;EACA,QAAQ;EACR,oBAAoB;EACpB;EACA;;iBAGa;EACb,sBAAsB,cAAc,QAAQ;EAC5C,wBACI,gBACA,qBACA,WAAW,OAAO,gCAClB,UAAU,2CACX,QAAQ;EACX;IACI,MAAM;MACF,sBAAsB;QACtB,QAAQ;IACZ,qBAAqB,QAAQ;IAC7B,YAAY;MAAY;MAAgB;QAAoB,QAAQ;;;wBAoV5D,kCACZ,SAAS,2CACV,iCAAiC"}