@party-stack/salesforce-ontology 0.1.7 → 0.1.9

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 (117) hide show
  1. package/README.md +21 -2
  2. package/lib/actionMetadata.d.ts +17 -0
  3. package/lib/actionMetadata.d.ts.map +1 -0
  4. package/lib/actionMetadata.js +33 -0
  5. package/lib/actionMetadata.js.map +1 -0
  6. package/lib/adapter/convertLoadSubsetOptions.d.ts.map +1 -1
  7. package/lib/adapter/convertLoadSubsetOptions.js +51 -9
  8. package/lib/adapter/convertLoadSubsetOptions.js.map +1 -1
  9. package/lib/adapter/convertLoadSubsetOptions.test.js +27 -1
  10. package/lib/adapter/convertLoadSubsetOptions.test.js.map +1 -1
  11. package/lib/adapter/createSalesforceOntologyBackendAdapter.d.ts +4 -0
  12. package/lib/adapter/createSalesforceOntologyBackendAdapter.d.ts.map +1 -1
  13. package/lib/adapter/createSalesforceOntologyBackendAdapter.js +122 -14
  14. package/lib/adapter/createSalesforceOntologyBackendAdapter.js.map +1 -1
  15. package/lib/adapter/createSalesforceOntologyBackendAdapter.test.js +222 -9
  16. package/lib/adapter/createSalesforceOntologyBackendAdapter.test.js.map +1 -1
  17. package/lib/adapter/objectCollectionOptions.d.ts +7 -3
  18. package/lib/adapter/objectCollectionOptions.d.ts.map +1 -1
  19. package/lib/adapter/objectCollectionOptions.js +161 -14
  20. package/lib/adapter/objectCollectionOptions.js.map +1 -1
  21. package/lib/adapter/objectCollectionOptions.test.d.ts +2 -0
  22. package/lib/adapter/objectCollectionOptions.test.d.ts.map +1 -0
  23. package/lib/adapter/objectCollectionOptions.test.js +160 -0
  24. package/lib/adapter/objectCollectionOptions.test.js.map +1 -0
  25. package/lib/config/index.d.ts +6 -2
  26. package/lib/config/index.d.ts.map +1 -1
  27. package/lib/config/index.js +25 -3
  28. package/lib/config/index.js.map +1 -1
  29. package/lib/config/index.test.js +40 -2
  30. package/lib/config/index.test.js.map +1 -1
  31. package/lib/connection.d.ts +12 -2
  32. package/lib/connection.d.ts.map +1 -1
  33. package/lib/connection.js +81 -7
  34. package/lib/connection.js.map +1 -1
  35. package/lib/connection.test.js +39 -0
  36. package/lib/connection.test.js.map +1 -1
  37. package/lib/crud.d.ts +6 -0
  38. package/lib/crud.d.ts.map +1 -0
  39. package/lib/crud.js +2 -0
  40. package/lib/crud.js.map +1 -0
  41. package/lib/index.d.ts +1 -0
  42. package/lib/index.d.ts.map +1 -1
  43. package/lib/index.js +1 -0
  44. package/lib/index.js.map +1 -1
  45. package/lib/installation/createSalesforceBackendInstallation.d.ts +7 -1
  46. package/lib/installation/createSalesforceBackendInstallation.d.ts.map +1 -1
  47. package/lib/installation/createSalesforceBackendInstallation.js +25 -8
  48. package/lib/installation/createSalesforceBackendInstallation.js.map +1 -1
  49. package/lib/installation/createSalesforceBackendInstallation.test.js +2 -2
  50. package/lib/installation/createSalesforceBackendInstallation.test.js.map +1 -1
  51. package/lib/meta/actionTypeCollectionOptions.d.ts +4 -1
  52. package/lib/meta/actionTypeCollectionOptions.d.ts.map +1 -1
  53. package/lib/meta/actionTypeCollectionOptions.js +192 -15
  54. package/lib/meta/actionTypeCollectionOptions.js.map +1 -1
  55. package/lib/meta/actionTypeCollectionOptions.test.d.ts +2 -0
  56. package/lib/meta/actionTypeCollectionOptions.test.d.ts.map +1 -0
  57. package/lib/meta/actionTypeCollectionOptions.test.js +192 -0
  58. package/lib/meta/actionTypeCollectionOptions.test.js.map +1 -0
  59. package/lib/meta/convertMetaActionType.d.ts +3 -10
  60. package/lib/meta/convertMetaActionType.d.ts.map +1 -1
  61. package/lib/meta/convertMetaActionType.js +18 -9
  62. package/lib/meta/convertMetaActionType.js.map +1 -1
  63. package/lib/meta/convertMetaActionType.test.js +109 -1
  64. package/lib/meta/convertMetaActionType.test.js.map +1 -1
  65. package/lib/meta/convertMetaLoadSubsetOptions.d.ts +18 -0
  66. package/lib/meta/convertMetaLoadSubsetOptions.d.ts.map +1 -0
  67. package/lib/meta/convertMetaLoadSubsetOptions.js +61 -0
  68. package/lib/meta/convertMetaLoadSubsetOptions.js.map +1 -0
  69. package/lib/meta/convertMetaQueryFunctionType.d.ts +4 -0
  70. package/lib/meta/convertMetaQueryFunctionType.d.ts.map +1 -0
  71. package/lib/meta/convertMetaQueryFunctionType.js +30 -0
  72. package/lib/meta/convertMetaQueryFunctionType.js.map +1 -0
  73. package/lib/meta/convertMetaQueryFunctionType.test.d.ts +2 -0
  74. package/lib/meta/convertMetaQueryFunctionType.test.d.ts.map +1 -0
  75. package/lib/meta/convertMetaQueryFunctionType.test.js +58 -0
  76. package/lib/meta/convertMetaQueryFunctionType.test.js.map +1 -0
  77. package/lib/meta/convertMetaTypeDef.d.ts +5 -2
  78. package/lib/meta/convertMetaTypeDef.d.ts.map +1 -1
  79. package/lib/meta/convertMetaTypeDef.js +46 -9
  80. package/lib/meta/convertMetaTypeDef.js.map +1 -1
  81. package/lib/meta/createSalesforceMetaOntologyBackendAdapter.d.ts +8 -1
  82. package/lib/meta/createSalesforceMetaOntologyBackendAdapter.d.ts.map +1 -1
  83. package/lib/meta/createSalesforceMetaOntologyBackendAdapter.js +13 -11
  84. package/lib/meta/createSalesforceMetaOntologyBackendAdapter.js.map +1 -1
  85. package/lib/meta/entityCollectionOptions.d.ts +4 -17
  86. package/lib/meta/entityCollectionOptions.d.ts.map +1 -1
  87. package/lib/meta/entityCollectionOptions.js +76 -66
  88. package/lib/meta/entityCollectionOptions.js.map +1 -1
  89. package/lib/meta/entityCollectionOptions.test.d.ts +2 -0
  90. package/lib/meta/entityCollectionOptions.test.d.ts.map +1 -0
  91. package/lib/meta/entityCollectionOptions.test.js +120 -0
  92. package/lib/meta/entityCollectionOptions.test.js.map +1 -0
  93. package/lib/meta/queryFunctionTypeCollectionOptions.d.ts +7 -5
  94. package/lib/meta/queryFunctionTypeCollectionOptions.d.ts.map +1 -1
  95. package/lib/meta/queryFunctionTypeCollectionOptions.js +89 -8
  96. package/lib/meta/queryFunctionTypeCollectionOptions.js.map +1 -1
  97. package/lib/meta/queryFunctionTypeCollectionOptions.test.d.ts +2 -0
  98. package/lib/meta/queryFunctionTypeCollectionOptions.test.d.ts.map +1 -0
  99. package/lib/meta/queryFunctionTypeCollectionOptions.test.js +71 -0
  100. package/lib/meta/queryFunctionTypeCollectionOptions.test.js.map +1 -0
  101. package/lib/meta/synthesizeCrudActionTypes.d.ts +4 -0
  102. package/lib/meta/synthesizeCrudActionTypes.d.ts.map +1 -0
  103. package/lib/meta/synthesizeCrudActionTypes.js +128 -0
  104. package/lib/meta/synthesizeCrudActionTypes.js.map +1 -0
  105. package/lib/meta/synthesizeCrudActionTypes.test.d.ts +2 -0
  106. package/lib/meta/synthesizeCrudActionTypes.test.d.ts.map +1 -0
  107. package/lib/meta/synthesizeCrudActionTypes.test.js +153 -0
  108. package/lib/meta/synthesizeCrudActionTypes.test.js.map +1 -0
  109. package/lib/standardActions.d.ts +3 -0
  110. package/lib/standardActions.d.ts.map +1 -0
  111. package/lib/standardActions.js +24 -0
  112. package/lib/standardActions.js.map +1 -0
  113. package/lib/utils/ids.d.ts +4 -0
  114. package/lib/utils/ids.d.ts.map +1 -1
  115. package/lib/utils/ids.js +9 -0
  116. package/lib/utils/ids.js.map +1 -1
  117. package/package.json +10 -10
@@ -1,5 +1,5 @@
1
1
  import type { TypeDef } from "@party-stack/ontology";
2
- import type { SalesforceFieldDescribe } from "@party-stack/salesforce-client";
2
+ import type { SalesforceFieldDescribe, SalesforcePicklistValue, SalesforceSObjectDescribe } from "@party-stack/salesforce-client";
3
3
  /**
4
4
  * Convert a Salesforce field describe into a Party Stack TypeDef.
5
5
  * Unsupported/compound provider-specific shapes become `unknown`.
@@ -8,6 +8,9 @@ export declare function convertSalesforceFieldType(field: SalesforceFieldDescrib
8
8
  export declare function convertSalesforceInvocableParameterType(parameter: {
9
9
  type?: string | null;
10
10
  sobjectType?: string | null;
11
+ sObjectType?: string | null;
11
12
  required?: boolean;
12
- }): TypeDef;
13
+ maxOccurs?: number | null;
14
+ picklistValues?: SalesforcePicklistValue[] | null;
15
+ }, sObjectDescribe?: SalesforceSObjectDescribe): TypeDef;
13
16
  //# sourceMappingURL=convertMetaTypeDef.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"convertMetaTypeDef.d.ts","sourceRoot":"","sources":["../../src/meta/convertMetaTypeDef.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAoB,OAAO,EAAE,MAAM,uBAAuB,CAAC;AACvE,OAAO,KAAK,EAER,uBAAuB,EAE1B,MAAM,gCAAgC,CAAC;AAkCxC;;;GAGG;AACH,wBAAgB,0BAA0B,CAAC,KAAK,EAAE,uBAAuB,GAAG,OAAO,CAGlF;AA8ED,wBAAgB,uCAAuC,CAAC,SAAS,EAAE;IAC/D,IAAI,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACrB,WAAW,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC5B,QAAQ,CAAC,EAAE,OAAO,CAAC;CACtB,GAAG,OAAO,CAmDV"}
1
+ {"version":3,"file":"convertMetaTypeDef.d.ts","sourceRoot":"","sources":["../../src/meta/convertMetaTypeDef.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAoB,OAAO,EAAE,MAAM,uBAAuB,CAAC;AACvE,OAAO,KAAK,EAER,uBAAuB,EACvB,uBAAuB,EACvB,yBAAyB,EAC5B,MAAM,gCAAgC,CAAC;AAwCxC;;;GAGG;AACH,wBAAgB,0BAA0B,CAAC,KAAK,EAAE,uBAAuB,GAAG,OAAO,CAGlF;AA8ED,wBAAgB,uCAAuC,CAAC,SAAS,EAAE;IAC/D,IAAI,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACrB,WAAW,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC5B,WAAW,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC5B,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,SAAS,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC1B,cAAc,CAAC,EAAE,uBAAuB,EAAE,GAAG,IAAI,CAAC;CACrD,EAAE,eAAe,CAAC,EAAE,yBAAyB,GAAG,OAAO,CA2GvD"}
@@ -1,14 +1,13 @@
1
1
  function maybeOptional(type, nillable) {
2
- return nillable ? { kind: "optional", value: { type } } : type;
2
+ return nillable && type.kind !== "optional"
3
+ ? { kind: "optional", value: { type } }
4
+ : type;
3
5
  }
4
6
  function asPicklistValues(values) {
5
7
  if (!Array.isArray(values)) {
6
8
  return [];
7
9
  }
8
- return values.filter((value) => typeof value === "object" &&
9
- value !== null &&
10
- typeof value.active === "boolean" &&
11
- typeof value.value === "string");
10
+ return values;
12
11
  }
13
12
  function picklistConstraint(values) {
14
13
  const options = asPicklistValues(values)
@@ -107,14 +106,36 @@ function convertSalesforceSoapType(field) {
107
106
  return { kind: "unknown", value: {} };
108
107
  }
109
108
  }
110
- export function convertSalesforceInvocableParameterType(parameter) {
109
+ export function convertSalesforceInvocableParameterType(parameter, sObjectDescribe) {
111
110
  const required = parameter.required === true;
112
111
  let baseType;
113
112
  const typeName = parameter.type?.toLowerCase() ?? "unknown";
114
- if (parameter.sobjectType && (typeName === "id" || typeName === "reference" || typeName === "sobject")) {
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")) {
115
136
  baseType = {
116
137
  kind: "objectReference",
117
- value: { objectType: parameter.sobjectType },
138
+ value: { objectType: sObjectType },
118
139
  };
119
140
  }
120
141
  else {
@@ -125,9 +146,16 @@ export function convertSalesforceInvocableParameterType(parameter) {
125
146
  case "url":
126
147
  case "email":
127
148
  case "phone":
128
- case "picklist":
129
149
  baseType = { kind: "string", value: {} };
130
150
  break;
151
+ case "picklist":
152
+ baseType = {
153
+ kind: "string",
154
+ value: {
155
+ constraint: picklistConstraint(parameter.picklistValues),
156
+ },
157
+ };
158
+ break;
131
159
  case "boolean":
132
160
  baseType = { kind: "boolean", value: {} };
133
161
  break;
@@ -150,6 +178,8 @@ export function convertSalesforceInvocableParameterType(parameter) {
150
178
  baseType = { kind: "timestamp", value: {} };
151
179
  break;
152
180
  case "sobject":
181
+ baseType = { kind: "unknown", value: {} };
182
+ break;
153
183
  case "reference":
154
184
  baseType = { kind: "string", value: {} };
155
185
  break;
@@ -158,6 +188,13 @@ export function convertSalesforceInvocableParameterType(parameter) {
158
188
  break;
159
189
  }
160
190
  }
191
+ if (typeof parameter.maxOccurs === "number" &&
192
+ parameter.maxOccurs > 1) {
193
+ baseType = {
194
+ kind: "list",
195
+ value: { elementType: baseType },
196
+ };
197
+ }
161
198
  return required ? baseType : { kind: "optional", value: { type: baseType } };
162
199
  }
163
200
  //# sourceMappingURL=convertMetaTypeDef.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"convertMetaTypeDef.js","sourceRoot":"","sources":["../../src/meta/convertMetaTypeDef.ts"],"names":[],"mappings":"AAOA,SAAS,aAAa,CAAC,IAAa,EAAE,QAAiB;IACnD,OAAO,QAAQ,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,UAAU,EAAE,KAAK,EAAE,EAAE,IAAI,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC;AACnE,CAAC;AAED,SAAS,gBAAgB,CAAC,MAA+B;IACrD,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE,CAAC;QACzB,OAAO,EAAE,CAAC;IACd,CAAC;IACD,OAAO,MAAM,CAAC,MAAM,CAChB,CAAC,KAAK,EAAoC,EAAE,CACxC,OAAO,KAAK,KAAK,QAAQ;QACzB,KAAK,KAAK,IAAI;QACd,OAAQ,KAAiC,CAAC,MAAM,KAAK,SAAS;QAC9D,OAAQ,KAAiC,CAAC,KAAK,KAAK,QAAQ,CACnE,CAAC;AACN,CAAC;AAED,SAAS,kBAAkB,CAAC,MAA+B;IACvD,MAAM,OAAO,GAAG,gBAAgB,CAAC,MAAM,CAAC;SACnC,MAAM,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,MAAM,CAAC;SAC/B,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC;QACb,KAAK,EAAE,KAAK,CAAC,KAAK;QAClB,KAAK,EAAE,KAAK,CAAC,KAAK,IAAI,SAAS;KAClC,CAAC,CAAC,CAAC;IACR,OAAO,OAAO,CAAC,MAAM,GAAG,CAAC;QACrB,CAAC,CAAC;YACI,IAAI,EAAE,MAAM;YACZ,KAAK,EAAE,EAAE,OAAO,EAAE;SACrB;QACH,CAAC,CAAC,SAAS,CAAC;AACpB,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,0BAA0B,CAAC,KAA8B;IACrE,MAAM,QAAQ,GAAG,yBAAyB,CAAC,KAAK,CAAC,CAAC;IAClD,OAAO,aAAa,CAAC,QAAQ,EAAE,KAAK,CAAC,QAAQ,IAAI,KAAK,CAAC,IAAI,KAAK,IAAI,IAAI,KAAK,CAAC,IAAI,KAAK,IAAI,CAAC,CAAC;AACjG,CAAC;AAED,SAAS,yBAAyB,CAAC,KAA8B;IAC7D,QAAQ,KAAK,CAAC,IAAI,EAAE,CAAC;QACjB,KAAK,IAAI,CAAC;QACV,KAAK,QAAQ,CAAC;QACd,KAAK,UAAU,CAAC;QAChB,KAAK,KAAK,CAAC;QACX,KAAK,OAAO,CAAC;QACb,KAAK,OAAO,CAAC;QACb,KAAK,iBAAiB,CAAC;QACvB,KAAK,UAAU,CAAC;QAChB,KAAK,SAAS;YACV,OAAO;gBACH,IAAI,EAAE,QAAQ;gBACd,KAAK,EAAE,EAAE;aACZ,CAAC;QACN,KAAK,UAAU,CAAC;QAChB,KAAK,eAAe,CAAC,CAAC,CAAC;YACnB,MAAM,UAAU,GAAG,kBAAkB,CAAC,KAAK,CAAC,cAAc,CAAC,CAAC;YAC5D,IAAI,KAAK,CAAC,IAAI,KAAK,eAAe,EAAE,CAAC;gBACjC,OAAO;oBACH,IAAI,EAAE,MAAM;oBACZ,KAAK,EAAE;wBACH,WAAW,EAAE;4BACT,IAAI,EAAE,QAAQ;4BACd,KAAK,EAAE,EAAE,UAAU,EAAE;yBACxB;qBACJ;iBACJ,CAAC;YACN,CAAC;YACD,OAAO;gBACH,IAAI,EAAE,QAAQ;gBACd,KAAK,EAAE,EAAE,UAAU,EAAE;aACxB,CAAC;QACN,CAAC;QACD,KAAK,SAAS;YACV,OAAO,EAAE,IAAI,EAAE,SAAS,EAAE,KAAK,EAAE,EAAE,EAAE,CAAC;QAC1C,KAAK,KAAK,CAAC;QACX,KAAK,MAAM;YACP,OAAO,EAAE,IAAI,EAAE,SAAS,EAAE,KAAK,EAAE,EAAE,EAAE,CAAC;QAC1C,KAAK,QAAQ,CAAC;QACd,KAAK,UAAU,CAAC;QAChB,KAAK,SAAS;YACV,OAAO,EAAE,IAAI,EAAE,QAAQ,EAAE,KAAK,EAAE,EAAE,EAAE,CAAC;QACzC,KAAK,MAAM;YACP,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,EAAE,EAAE,CAAC;QACvC,KAAK,UAAU;YACX,OAAO,EAAE,IAAI,EAAE,WAAW,EAAE,KAAK,EAAE,EAAE,EAAE,CAAC;QAC5C,KAAK,MAAM;YACP,8CAA8C;YAC9C,OAAO,EAAE,IAAI,EAAE,QAAQ,EAAE,KAAK,EAAE,EAAE,EAAE,CAAC;QACzC,KAAK,WAAW,CAAC,CAAC,CAAC;YACf,MAAM,WAAW,GAAG,KAAK,CAAC,WAAW,IAAI,EAAE,CAAC;YAC5C,IAAI,WAAW,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;gBAC3B,OAAO;oBACH,IAAI,EAAE,iBAAiB;oBACvB,KAAK,EAAE,EAAE,UAAU,EAAE,WAAW,CAAC,CAAC,CAAE,EAAE;iBACzC,CAAC;YACN,CAAC;YACD,qEAAqE;YACrE,OAAO,EAAE,IAAI,EAAE,QAAQ,EAAE,KAAK,EAAE,EAAE,EAAE,CAAC;QACzC,CAAC;QACD,KAAK,UAAU,CAAC;QAChB,KAAK,SAAS;YACV,sEAAsE;YACtE,0EAA0E;YAC1E,OAAO,EAAE,IAAI,EAAE,SAAS,EAAE,KAAK,EAAE,EAAE,EAAE,CAAC;QAC1C,KAAK,QAAQ,CAAC;QACd,KAAK,MAAM,CAAC;QACZ,KAAK,cAAc,CAAC;QACpB,KAAK,MAAM,CAAC;QACZ,KAAK,4BAA4B,CAAC;QAClC;YACI,OAAO,EAAE,IAAI,EAAE,SAAS,EAAE,KAAK,EAAE,EAAE,EAAE,CAAC;IAC9C,CAAC;AACL,CAAC;AAED,MAAM,UAAU,uCAAuC,CAAC,SAIvD;IACG,MAAM,QAAQ,GAAG,SAAS,CAAC,QAAQ,KAAK,IAAI,CAAC;IAC7C,IAAI,QAAiB,CAAC;IACtB,MAAM,QAAQ,GAAG,SAAS,CAAC,IAAI,EAAE,WAAW,EAAE,IAAI,SAAS,CAAC;IAC5D,IAAI,SAAS,CAAC,WAAW,IAAI,CAAC,QAAQ,KAAK,IAAI,IAAI,QAAQ,KAAK,WAAW,IAAI,QAAQ,KAAK,SAAS,CAAC,EAAE,CAAC;QACrG,QAAQ,GAAG;YACP,IAAI,EAAE,iBAAiB;YACvB,KAAK,EAAE,EAAE,UAAU,EAAE,SAAS,CAAC,WAAW,EAAE;SAC/C,CAAC;IACN,CAAC;SAAM,CAAC;QACJ,QAAQ,QAAQ,EAAE,CAAC;YACf,KAAK,QAAQ,CAAC;YACd,KAAK,IAAI,CAAC;YACV,KAAK,UAAU,CAAC;YAChB,KAAK,KAAK,CAAC;YACX,KAAK,OAAO,CAAC;YACb,KAAK,OAAO,CAAC;YACb,KAAK,UAAU;gBACX,QAAQ,GAAG,EAAE,IAAI,EAAE,QAAQ,EAAE,KAAK,EAAE,EAAE,EAAE,CAAC;gBACzC,MAAM;YACV,KAAK,SAAS;gBACV,QAAQ,GAAG,EAAE,IAAI,EAAE,SAAS,EAAE,KAAK,EAAE,EAAE,EAAE,CAAC;gBAC1C,MAAM;YACV,KAAK,SAAS,CAAC;YACf,KAAK,KAAK,CAAC;YACX,KAAK,MAAM;gBACP,QAAQ,GAAG,EAAE,IAAI,EAAE,SAAS,EAAE,KAAK,EAAE,EAAE,EAAE,CAAC;gBAC1C,MAAM;YACV,KAAK,QAAQ,CAAC;YACd,KAAK,UAAU,CAAC;YAChB,KAAK,SAAS,CAAC;YACf,KAAK,QAAQ,CAAC;YACd,KAAK,SAAS;gBACV,QAAQ,GAAG,EAAE,IAAI,EAAE,QAAQ,EAAE,KAAK,EAAE,EAAE,EAAE,CAAC;gBACzC,MAAM;YACV,KAAK,MAAM;gBACP,QAAQ,GAAG,EAAE,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,EAAE,EAAE,CAAC;gBACvC,MAAM;YACV,KAAK,UAAU;gBACX,QAAQ,GAAG,EAAE,IAAI,EAAE,WAAW,EAAE,KAAK,EAAE,EAAE,EAAE,CAAC;gBAC5C,MAAM;YACV,KAAK,SAAS,CAAC;YACf,KAAK,WAAW;gBACZ,QAAQ,GAAG,EAAE,IAAI,EAAE,QAAQ,EAAE,KAAK,EAAE,EAAE,EAAE,CAAC;gBACzC,MAAM;YACV;gBACI,QAAQ,GAAG,EAAE,IAAI,EAAE,SAAS,EAAE,KAAK,EAAE,EAAE,EAAE,CAAC;gBAC1C,MAAM;QACd,CAAC;IACL,CAAC;IACD,OAAO,QAAQ,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,UAAU,EAAE,KAAK,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,EAAE,CAAC;AACjF,CAAC"}
1
+ {"version":3,"file":"convertMetaTypeDef.js","sourceRoot":"","sources":["../../src/meta/convertMetaTypeDef.ts"],"names":[],"mappings":"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"}
@@ -1,5 +1,6 @@
1
1
  import type { OntologyBackendAdapter } from "@party-stack/ontology";
2
2
  import type { SalesforceClient } from "@party-stack/salesforce-client";
3
+ import type { SalesforceCrudActionTypeSelection } from "../crud.js";
3
4
  export interface CreateSalesforceMetaOntologyBackendAdapterOpts {
4
5
  client: SalesforceClient;
5
6
  /**
@@ -8,7 +9,13 @@ export interface CreateSalesforceMetaOntologyBackendAdapterOpts {
8
9
  */
9
10
  objectTypeNames?: string[];
10
11
  /** Optional allowlist of autolaunched Flow API names. */
11
- actionTypeNames?: string[];
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[];
12
19
  }
13
20
  export declare function createSalesforceMetaOntologyBackendAdapter(opts: CreateSalesforceMetaOntologyBackendAdapterOpts): OntologyBackendAdapter;
14
21
  //# 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;AAUvE,MAAM,WAAW,8CAA8C;IAC3D,MAAM,EAAE,gBAAgB,CAAC;IACzB;;;OAGG;IACH,eAAe,CAAC,EAAE,MAAM,EAAE,CAAC;IAC3B,yDAAyD;IACzD,eAAe,CAAC,EAAE,MAAM,EAAE,CAAC;CAC9B;AAED,wBAAgB,0CAA0C,CACtD,IAAI,EAAE,8CAA8C,GACrD,sBAAsB,CAsCxB"}
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,29 +1,34 @@
1
1
  import { notImplemented } from "@bobbyfidz/panic";
2
2
  import { actionTypeCollectionOptions } from "./actionTypeCollectionOptions.js";
3
- import { createMetaEntityCollection, linkTypeCollectionOptions, objectTypeCollectionOptions, valueTypeCollectionOptions, } from "./entityCollectionOptions.js";
3
+ import { linkTypeCollectionOptions, objectTypeCollectionOptions, valueTypeCollectionOptions, } from "./entityCollectionOptions.js";
4
4
  import { queryFunctionTypeCollectionOptions } from "./queryFunctionTypeCollectionOptions.js";
5
5
  export function createSalesforceMetaOntologyBackendAdapter(opts) {
6
- const metadata = createMetaEntityCollection({
6
+ const entityOptions = {
7
7
  client: opts.client,
8
8
  objectTypeNames: opts.objectTypeNames,
9
- });
9
+ };
10
10
  return {
11
11
  name: "salesforce-metadata",
12
12
  getCollectionOptions: (objectType) => {
13
13
  switch (objectType) {
14
14
  case "ObjectType":
15
- return objectTypeCollectionOptions(metadata);
15
+ return objectTypeCollectionOptions(entityOptions);
16
16
  case "ValueType":
17
- return valueTypeCollectionOptions(metadata);
17
+ return valueTypeCollectionOptions();
18
18
  case "LinkType":
19
- return linkTypeCollectionOptions(metadata);
19
+ return linkTypeCollectionOptions(entityOptions);
20
20
  case "ActionType":
21
21
  return actionTypeCollectionOptions({
22
22
  client: opts.client,
23
- actionTypeNames: opts.actionTypeNames,
23
+ flowActionTypeNames: opts.flowActionTypeNames,
24
+ standardActionTypeNames: opts.standardActionTypeNames,
25
+ crudActionTypes: opts.crudActionTypes,
24
26
  });
25
27
  case "QueryFunctionType":
26
- return queryFunctionTypeCollectionOptions();
28
+ return queryFunctionTypeCollectionOptions({
29
+ client: opts.client,
30
+ standardQueryFunctionTypeNames: opts.standardQueryFunctionTypeNames,
31
+ });
27
32
  default:
28
33
  throw new Error(`Unsupported Salesforce metadata object type "${objectType}".`);
29
34
  }
@@ -34,9 +39,6 @@ export function createSalesforceMetaOntologyBackendAdapter(opts) {
34
39
  runQueryFunction: () => {
35
40
  notImplemented();
36
41
  },
37
- cleanup: async () => {
38
- await metadata.cleanup();
39
- },
40
42
  };
41
43
  }
42
44
  //# 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,0BAA0B,EAC1B,yBAAyB,EACzB,2BAA2B,EAC3B,0BAA0B,GAC7B,MAAM,8BAA8B,CAAC;AACtC,OAAO,EAAE,kCAAkC,EAAE,MAAM,yCAAyC,CAAC;AAa7F,MAAM,UAAU,0CAA0C,CACtD,IAAoD;IAEpD,MAAM,QAAQ,GAAG,0BAA0B,CAAC;QACxC,MAAM,EAAE,IAAI,CAAC,MAAM;QACnB,eAAe,EAAE,IAAI,CAAC,eAAe;KACxC,CAAC,CAAC;IAEH,OAAO;QACH,IAAI,EAAE,qBAAqB;QAC3B,oBAAoB,EAAE,CAAC,UAAkB,EAAE,EAAE;YACzC,QAAQ,UAAU,EAAE,CAAC;gBACjB,KAAK,YAAY;oBACb,OAAO,2BAA2B,CAAC,QAAQ,CAAC,CAAC;gBACjD,KAAK,WAAW;oBACZ,OAAO,0BAA0B,CAAC,QAAQ,CAAC,CAAC;gBAChD,KAAK,UAAU;oBACX,OAAO,yBAAyB,CAAC,QAAQ,CAAC,CAAC;gBAC/C,KAAK,YAAY;oBACb,OAAO,2BAA2B,CAAC;wBAC/B,MAAM,EAAE,IAAI,CAAC,MAAM;wBACnB,eAAe,EACX,IAAI,CAAC,eAAe;qBAC3B,CAAC,CAAC;gBACP,KAAK,mBAAmB;oBACpB,OAAO,kCAAkC,EAAE,CAAC;gBAChD;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;QACD,OAAO,EAAE,KAAK,IAAI,EAAE;YAChB,MAAM,QAAQ,CAAC,OAAO,EAAE,CAAC;QAC7B,CAAC;KACJ,CAAC;AACN,CAAC"}
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,15 +1,5 @@
1
- import type { MetaLinkType, MetaObjectType, MetaValueType, OntologyCollectionOptions } from "@party-stack/ontology";
1
+ import type { OntologyCollectionOptions } from "@party-stack/ontology";
2
2
  import type { SalesforceClient } from "@party-stack/salesforce-client";
3
- type MetaEntity = {
4
- entityType: "ObjectType";
5
- entity: MetaObjectType;
6
- } | {
7
- entityType: "ValueType";
8
- entity: MetaValueType;
9
- } | {
10
- entityType: "LinkType";
11
- entity: MetaLinkType;
12
- };
13
3
  export interface MetaEntityStoreOpts {
14
4
  client: SalesforceClient;
15
5
  /**
@@ -18,10 +8,7 @@ export interface MetaEntityStoreOpts {
18
8
  */
19
9
  objectTypeNames?: string[];
20
10
  }
21
- export declare function createMetaEntityCollection(opts: MetaEntityStoreOpts): import("@tanstack/db").Collection<MetaEntity, string | number, import("@tanstack/query-db-collection").QueryCollectionUtils<MetaEntity, string | number, MetaEntity, unknown>, never, MetaEntity> & import("@tanstack/db").NonSingleResult;
22
- export type MetaEntityCollection = ReturnType<typeof createMetaEntityCollection>;
23
- export declare function objectTypeCollectionOptions(metadata: MetaEntityCollection): OntologyCollectionOptions;
24
- export declare function valueTypeCollectionOptions(metadata: MetaEntityCollection): OntologyCollectionOptions;
25
- export declare function linkTypeCollectionOptions(metadata: MetaEntityCollection): OntologyCollectionOptions;
26
- export {};
11
+ export declare function objectTypeCollectionOptions(opts: MetaEntityStoreOpts): OntologyCollectionOptions;
12
+ export declare function valueTypeCollectionOptions(): OntologyCollectionOptions;
13
+ export declare function linkTypeCollectionOptions(opts: MetaEntityStoreOpts): OntologyCollectionOptions;
27
14
  //# sourceMappingURL=entityCollectionOptions.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"entityCollectionOptions.d.ts","sourceRoot":"","sources":["../../src/meta/entityCollectionOptions.ts"],"names":[],"mappings":"AAQA,OAAO,KAAK,EACR,YAAY,EACZ,cAAc,EACd,aAAa,EACb,yBAAyB,EAC5B,MAAM,uBAAuB,CAAC;AAC/B,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,gCAAgC,CAAC;AAIvE,KAAK,UAAU,GACT;IAAE,UAAU,EAAE,YAAY,CAAC;IAAC,MAAM,EAAE,cAAc,CAAA;CAAE,GACpD;IAAE,UAAU,EAAE,WAAW,CAAC;IAAC,MAAM,EAAE,aAAa,CAAA;CAAE,GAClD;IAAE,UAAU,EAAE,UAAU,CAAC;IAAC,MAAM,EAAE,YAAY,CAAA;CAAE,CAAC;AAEvD,MAAM,WAAW,mBAAmB;IAChC,MAAM,EAAE,gBAAgB,CAAC;IACzB;;;OAGG;IACH,eAAe,CAAC,EAAE,MAAM,EAAE,CAAC;CAC9B;AAED,wBAAgB,0BAA0B,CAAC,IAAI,EAAE,mBAAmB,8OAqCnE;AAED,MAAM,MAAM,oBAAoB,GAAG,UAAU,CAAC,OAAO,0BAA0B,CAAC,CAAC;AAEjF,wBAAgB,2BAA2B,CAAC,QAAQ,EAAE,oBAAoB,GAAG,yBAAyB,CAMrG;AAED,wBAAgB,0BAA0B,CAAC,QAAQ,EAAE,oBAAoB,GAAG,yBAAyB,CAMpG;AAED,wBAAgB,yBAAyB,CAAC,QAAQ,EAAE,oBAAoB,GAAG,yBAAyB,CAMnG"}
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,80 +1,90 @@
1
- import { createCollection, eq, liveQueryCollectionOptions, Query, } from "@tanstack/db";
2
1
  import { QueryClient } from "@tanstack/query-core";
3
2
  import { queryCollectionOptions } from "@tanstack/query-db-collection";
3
+ import { salesforceObjectTypeId, } from "../utils/ids.js";
4
4
  import { convertSalesforceMetaLinkTypes } from "./convertMetaLinkType.js";
5
+ import { convertMetaNameQuery } from "./convertMetaLoadSubsetOptions.js";
5
6
  import { convertSalesforceMetaObjectType } from "./convertMetaObjectType.js";
6
- export function createMetaEntityCollection(opts) {
7
- return createCollection(queryCollectionOptions({
7
+ async function describeSObjects(client, names) {
8
+ const describes = await Promise.all([...new Set(names)].map(async (name) => {
9
+ try {
10
+ return await client.describeSObject(name);
11
+ }
12
+ catch {
13
+ return undefined;
14
+ }
15
+ }));
16
+ return describes.filter((describe) => Boolean(describe));
17
+ }
18
+ export function objectTypeCollectionOptions(opts) {
19
+ return queryCollectionOptions({
8
20
  queryClient: new QueryClient(),
9
- getKey: (row) => {
10
- switch (row.entityType) {
11
- case "ObjectType":
12
- case "ValueType":
13
- return `${row.entityType}:${row.entity.name}`;
14
- case "LinkType":
15
- return `${row.entityType}:${row.entity.id}`;
21
+ getKey: (row) => row.name,
22
+ queryKey: [
23
+ "salesforce",
24
+ "ontology",
25
+ "objectTypes",
26
+ opts.objectTypeNames ?? "all",
27
+ ],
28
+ syncMode: "on-demand",
29
+ queryFn: async (ctx) => {
30
+ const query = convertMetaNameQuery(ctx.meta?.loadSubsetOptions);
31
+ if (query.type === "getBatch") {
32
+ const allowlist = opts.objectTypeNames
33
+ ? new Set(opts.objectTypeNames)
34
+ : undefined;
35
+ const names = allowlist
36
+ ? query.names.filter((name) => allowlist.has(name))
37
+ : query.names;
38
+ return (await describeSObjects(opts.client, names)).map(convertSalesforceMetaObjectType);
16
39
  }
40
+ const global = await opts.client.describeGlobal();
41
+ const allowlist = opts.objectTypeNames
42
+ ? new Set(opts.objectTypeNames)
43
+ : undefined;
44
+ return global.sobjects
45
+ .filter((sObject) => sObject.queryable &&
46
+ (!allowlist ||
47
+ allowlist.has(sObject.name)))
48
+ .map((sObject) => ({
49
+ id: salesforceObjectTypeId(sObject.name),
50
+ name: sObject.name,
51
+ displayName: sObject.label,
52
+ pluralDisplayName: sObject.labelPlural,
53
+ primaryKey: "Id",
54
+ properties: [],
55
+ }));
17
56
  },
18
- queryKey: ["salesforce", "ontology", "metadata"],
19
- syncMode: "eager",
20
- queryFn: async () => {
21
- const loaded = await loadSalesforceMetaOntology(opts.client, opts.objectTypeNames);
22
- return [
23
- ...loaded.objectTypes.map((entity) => ({
24
- entityType: "ObjectType",
25
- entity,
26
- ...entity,
27
- })),
28
- ...loaded.valueTypes.map((entity) => ({
29
- entityType: "ValueType",
30
- entity,
31
- ...entity,
32
- })),
33
- ...loaded.linkTypes.map((entity) => ({
34
- entityType: "LinkType",
35
- entity,
36
- ...entity,
37
- })),
38
- ];
39
- },
40
- }));
41
- }
42
- export function objectTypeCollectionOptions(metadata) {
43
- return liveQueryCollectionOptions({
44
- query: new Query()
45
- .from({ metadata })
46
- .where(({ metadata }) => eq(metadata.entityType, "ObjectType")),
47
57
  });
48
58
  }
49
- export function valueTypeCollectionOptions(metadata) {
50
- return liveQueryCollectionOptions({
51
- query: new Query()
52
- .from({ metadata })
53
- .where(({ metadata }) => eq(metadata.entityType, "ValueType")),
54
- });
55
- }
56
- export function linkTypeCollectionOptions(metadata) {
57
- return liveQueryCollectionOptions({
58
- query: new Query()
59
- .from({ metadata })
60
- .where(({ metadata }) => eq(metadata.entityType, "LinkType")),
59
+ export function valueTypeCollectionOptions() {
60
+ return queryCollectionOptions({
61
+ queryClient: new QueryClient(),
62
+ getKey: (row) => row.name,
63
+ queryKey: [
64
+ "salesforce",
65
+ "ontology",
66
+ "valueTypes",
67
+ ],
68
+ syncMode: "on-demand",
69
+ queryFn: () => Promise.resolve([]),
61
70
  });
62
71
  }
63
- async function loadSalesforceMetaOntology(client, objectTypeNames) {
64
- const global = await client.describeGlobal();
65
- const allowlist = objectTypeNames ? new Set(objectTypeNames) : undefined;
66
- const candidates = global.sobjects.filter((sobject) => {
67
- if (!sobject.queryable)
68
- return false;
69
- if (allowlist && !allowlist.has(sobject.name))
70
- return false;
71
- return true;
72
+ export function linkTypeCollectionOptions(opts) {
73
+ return queryCollectionOptions({
74
+ queryClient: new QueryClient(),
75
+ getKey: (row) => row.id,
76
+ queryKey: [
77
+ "salesforce",
78
+ "ontology",
79
+ "linkTypes",
80
+ opts.objectTypeNames ?? [],
81
+ ],
82
+ syncMode: "on-demand",
83
+ queryFn: async () => {
84
+ if (!opts.objectTypeNames?.length)
85
+ return [];
86
+ return convertSalesforceMetaLinkTypes(await describeSObjects(opts.client, opts.objectTypeNames));
87
+ },
72
88
  });
73
- const describes = await Promise.all(candidates.map((sobject) => client.describeSObject(sobject.name)));
74
- return {
75
- objectTypes: describes.map(convertSalesforceMetaObjectType),
76
- valueTypes: [],
77
- linkTypes: convertSalesforceMetaLinkTypes(describes),
78
- };
79
89
  }
80
90
  //# sourceMappingURL=entityCollectionOptions.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"entityCollectionOptions.js","sourceRoot":"","sources":["../../src/meta/entityCollectionOptions.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"entityCollectionOptions.js","sourceRoot":"","sources":["../../src/meta/entityCollectionOptions.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=entityCollectionOptions.test.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"entityCollectionOptions.test.d.ts","sourceRoot":"","sources":["../../src/meta/entityCollectionOptions.test.ts"],"names":[],"mappings":""}
@@ -0,0 +1,120 @@
1
+ import { createMetaLiveOntology, } from "@party-stack/ontology";
2
+ import { eq, queryOnce } from "@tanstack/db";
3
+ import { describe, expect, it, vi } from "vitest";
4
+ import { createSalesforceMetaOntologyBackendAdapter } from "./createSalesforceMetaOntologyBackendAdapter.js";
5
+ function taskDescribe() {
6
+ return {
7
+ name: "Task",
8
+ label: "Task",
9
+ labelPlural: "Tasks",
10
+ queryable: true,
11
+ fields: [
12
+ {
13
+ name: "Id",
14
+ label: "Task ID",
15
+ type: "id",
16
+ nillable: false,
17
+ referenceTo: [],
18
+ },
19
+ {
20
+ name: "Subject",
21
+ label: "Subject",
22
+ type: "string",
23
+ nillable: true,
24
+ referenceTo: [],
25
+ },
26
+ ],
27
+ };
28
+ }
29
+ describe("Salesforce ObjectType metadata queries", () => {
30
+ it("pushes exact names into describeSObject without loading the org", async () => {
31
+ const describeGlobal = vi.fn();
32
+ const describeSObject = vi
33
+ .fn()
34
+ .mockResolvedValue(taskDescribe());
35
+ const meta = await createMetaLiveOntology({
36
+ backend: () => createSalesforceMetaOntologyBackendAdapter({
37
+ client: {
38
+ describeGlobal,
39
+ describeSObject,
40
+ },
41
+ }),
42
+ persistObjects: false,
43
+ });
44
+ try {
45
+ const rows = await queryOnce((q) => q
46
+ .from({
47
+ ObjectType: meta.objects.ObjectType,
48
+ })
49
+ .where(({ ObjectType }) => eq(ObjectType.name, "Task")));
50
+ expect(describeGlobal).not.toHaveBeenCalled();
51
+ expect(describeSObject).toHaveBeenCalledExactlyOnceWith("Task");
52
+ expect(rows[0]).toMatchObject({
53
+ name: "Task",
54
+ properties: [
55
+ { name: "Id" },
56
+ { name: "Subject" },
57
+ ],
58
+ });
59
+ }
60
+ finally {
61
+ await meta.cleanup();
62
+ }
63
+ });
64
+ it("lists lightweight global summaries without per-object describes", async () => {
65
+ const describeGlobal = vi
66
+ .fn()
67
+ .mockResolvedValue({
68
+ sobjects: [
69
+ {
70
+ name: "Task",
71
+ label: "Task",
72
+ labelPlural: "Tasks",
73
+ queryable: true,
74
+ },
75
+ {
76
+ name: "Hidden",
77
+ label: "Hidden",
78
+ labelPlural: "Hidden",
79
+ queryable: false,
80
+ },
81
+ ],
82
+ });
83
+ const describeSObject = vi
84
+ .fn()
85
+ .mockResolvedValue(taskDescribe());
86
+ const meta = await createMetaLiveOntology({
87
+ backend: () => createSalesforceMetaOntologyBackendAdapter({
88
+ client: {
89
+ describeGlobal,
90
+ describeSObject,
91
+ },
92
+ }),
93
+ persistObjects: false,
94
+ });
95
+ try {
96
+ const rows = await queryOnce((q) => q.from({
97
+ ObjectType: meta.objects.ObjectType,
98
+ }));
99
+ expect(describeGlobal).toHaveBeenCalledOnce();
100
+ expect(describeSObject).not.toHaveBeenCalled();
101
+ expect(rows).toEqual([
102
+ expect.objectContaining({
103
+ name: "Task",
104
+ properties: [],
105
+ }),
106
+ ]);
107
+ const detail = await queryOnce((q) => q
108
+ .from({
109
+ ObjectType: meta.objects.ObjectType,
110
+ })
111
+ .where(({ ObjectType }) => eq(ObjectType.name, "Task")));
112
+ expect(describeSObject).toHaveBeenCalledExactlyOnceWith("Task");
113
+ expect(detail[0]?.properties).toHaveLength(2);
114
+ }
115
+ finally {
116
+ await meta.cleanup();
117
+ }
118
+ });
119
+ });
120
+ //# sourceMappingURL=entityCollectionOptions.test.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"entityCollectionOptions.test.js","sourceRoot":"","sources":["../../src/meta/entityCollectionOptions.test.ts"],"names":[],"mappings":"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"}
@@ -1,7 +1,9 @@
1
+ import { QueryClient } from "@tanstack/query-core";
1
2
  import type { OntologyCollectionOptions } from "@party-stack/ontology";
2
- /**
3
- * Salesforce has no native equivalent to Foundry query functions in this slice.
4
- * Return an empty on-demand collection so pull/meta LiveOntology still works.
5
- */
6
- export declare function queryFunctionTypeCollectionOptions(): OntologyCollectionOptions;
3
+ import type { SalesforceClient } from "@party-stack/salesforce-client";
4
+ export declare function queryFunctionTypeCollectionOptions(opts: {
5
+ client: SalesforceClient;
6
+ standardQueryFunctionTypeNames?: string[];
7
+ queryClient?: QueryClient;
8
+ }): OntologyCollectionOptions;
7
9
  //# sourceMappingURL=queryFunctionTypeCollectionOptions.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"queryFunctionTypeCollectionOptions.d.ts","sourceRoot":"","sources":["../../src/meta/queryFunctionTypeCollectionOptions.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,yBAAyB,EAAwB,MAAM,uBAAuB,CAAC;AAE7F;;;GAGG;AACH,wBAAgB,kCAAkC,IAAI,yBAAyB,CAQ9E"}
1
+ {"version":3,"file":"queryFunctionTypeCollectionOptions.d.ts","sourceRoot":"","sources":["../../src/meta/queryFunctionTypeCollectionOptions.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,sBAAsB,CAAC;AAEnD,OAAO,KAAK,EAAE,yBAAyB,EAAwB,MAAM,uBAAuB,CAAC;AAC7F,OAAO,KAAK,EACR,gBAAgB,EAInB,MAAM,gCAAgC,CAAC;AAuCxC,wBAAgB,kCAAkC,CAAC,IAAI,EAAE;IACrD,MAAM,EAAE,gBAAgB,CAAC;IACzB,8BAA8B,CAAC,EAAE,MAAM,EAAE,CAAC;IAC1C,WAAW,CAAC,EAAE,WAAW,CAAC;CAC7B,GAAG,yBAAyB,CA8I5B"}