@party-stack/salesforce-ontology 0.1.0

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 (119) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +114 -0
  3. package/lib/adapter/convertLoadSubsetOptions.d.ts +18 -0
  4. package/lib/adapter/convertLoadSubsetOptions.d.ts.map +1 -0
  5. package/lib/adapter/convertLoadSubsetOptions.js +144 -0
  6. package/lib/adapter/convertLoadSubsetOptions.js.map +1 -0
  7. package/lib/adapter/convertLoadSubsetOptions.test.d.ts +2 -0
  8. package/lib/adapter/convertLoadSubsetOptions.test.d.ts.map +1 -0
  9. package/lib/adapter/convertLoadSubsetOptions.test.js +54 -0
  10. package/lib/adapter/convertLoadSubsetOptions.test.js.map +1 -0
  11. package/lib/adapter/createSalesforceOntologyBackendAdapter.d.ts +13 -0
  12. package/lib/adapter/createSalesforceOntologyBackendAdapter.d.ts.map +1 -0
  13. package/lib/adapter/createSalesforceOntologyBackendAdapter.js +90 -0
  14. package/lib/adapter/createSalesforceOntologyBackendAdapter.js.map +1 -0
  15. package/lib/adapter/createSalesforceOntologyBackendAdapter.test.d.ts +2 -0
  16. package/lib/adapter/createSalesforceOntologyBackendAdapter.test.d.ts.map +1 -0
  17. package/lib/adapter/createSalesforceOntologyBackendAdapter.test.js +142 -0
  18. package/lib/adapter/createSalesforceOntologyBackendAdapter.test.js.map +1 -0
  19. package/lib/adapter/index.d.ts +5 -0
  20. package/lib/adapter/index.d.ts.map +1 -0
  21. package/lib/adapter/index.js +5 -0
  22. package/lib/adapter/index.js.map +1 -0
  23. package/lib/adapter/objectCollectionOptions.d.ts +32 -0
  24. package/lib/adapter/objectCollectionOptions.d.ts.map +1 -0
  25. package/lib/adapter/objectCollectionOptions.js +139 -0
  26. package/lib/adapter/objectCollectionOptions.js.map +1 -0
  27. package/lib/adapter/salesforceCodec.d.ts +10 -0
  28. package/lib/adapter/salesforceCodec.d.ts.map +1 -0
  29. package/lib/adapter/salesforceCodec.js +201 -0
  30. package/lib/adapter/salesforceCodec.js.map +1 -0
  31. package/lib/adapter/salesforceCodec.test.d.ts +2 -0
  32. package/lib/adapter/salesforceCodec.test.d.ts.map +1 -0
  33. package/lib/adapter/salesforceCodec.test.js +57 -0
  34. package/lib/adapter/salesforceCodec.test.js.map +1 -0
  35. package/lib/config/index.d.ts +24 -0
  36. package/lib/config/index.d.ts.map +1 -0
  37. package/lib/config/index.js +178 -0
  38. package/lib/config/index.js.map +1 -0
  39. package/lib/config/index.test.d.ts +2 -0
  40. package/lib/config/index.test.d.ts.map +1 -0
  41. package/lib/config/index.test.js +139 -0
  42. package/lib/config/index.test.js.map +1 -0
  43. package/lib/connection.d.ts +33 -0
  44. package/lib/connection.d.ts.map +1 -0
  45. package/lib/connection.js +240 -0
  46. package/lib/connection.js.map +1 -0
  47. package/lib/connection.test.d.ts +2 -0
  48. package/lib/connection.test.d.ts.map +1 -0
  49. package/lib/connection.test.js +150 -0
  50. package/lib/connection.test.js.map +1 -0
  51. package/lib/index.d.ts +5 -0
  52. package/lib/index.d.ts.map +1 -0
  53. package/lib/index.js +5 -0
  54. package/lib/index.js.map +1 -0
  55. package/lib/installation/createSalesforceBackendInstallation.d.ts +28 -0
  56. package/lib/installation/createSalesforceBackendInstallation.d.ts.map +1 -0
  57. package/lib/installation/createSalesforceBackendInstallation.js +77 -0
  58. package/lib/installation/createSalesforceBackendInstallation.js.map +1 -0
  59. package/lib/installation/createSalesforceBackendInstallation.test.d.ts +2 -0
  60. package/lib/installation/createSalesforceBackendInstallation.test.d.ts.map +1 -0
  61. package/lib/installation/createSalesforceBackendInstallation.test.js +34 -0
  62. package/lib/installation/createSalesforceBackendInstallation.test.js.map +1 -0
  63. package/lib/installation/index.d.ts +2 -0
  64. package/lib/installation/index.d.ts.map +1 -0
  65. package/lib/installation/index.js +2 -0
  66. package/lib/installation/index.js.map +1 -0
  67. package/lib/meta/actionTypeCollectionOptions.d.ts +10 -0
  68. package/lib/meta/actionTypeCollectionOptions.d.ts.map +1 -0
  69. package/lib/meta/actionTypeCollectionOptions.js +51 -0
  70. package/lib/meta/actionTypeCollectionOptions.js.map +1 -0
  71. package/lib/meta/convertMetaActionType.d.ts +12 -0
  72. package/lib/meta/convertMetaActionType.d.ts.map +1 -0
  73. package/lib/meta/convertMetaActionType.js +28 -0
  74. package/lib/meta/convertMetaActionType.js.map +1 -0
  75. package/lib/meta/convertMetaActionType.test.d.ts +2 -0
  76. package/lib/meta/convertMetaActionType.test.d.ts.map +1 -0
  77. package/lib/meta/convertMetaActionType.test.js +76 -0
  78. package/lib/meta/convertMetaActionType.test.js.map +1 -0
  79. package/lib/meta/convertMetaLinkType.d.ts +9 -0
  80. package/lib/meta/convertMetaLinkType.d.ts.map +1 -0
  81. package/lib/meta/convertMetaLinkType.js +55 -0
  82. package/lib/meta/convertMetaLinkType.js.map +1 -0
  83. package/lib/meta/convertMetaObjectType.d.ts +4 -0
  84. package/lib/meta/convertMetaObjectType.d.ts.map +1 -0
  85. package/lib/meta/convertMetaObjectType.js +45 -0
  86. package/lib/meta/convertMetaObjectType.js.map +1 -0
  87. package/lib/meta/convertMetaObjectType.test.d.ts +2 -0
  88. package/lib/meta/convertMetaObjectType.test.d.ts.map +1 -0
  89. package/lib/meta/convertMetaObjectType.test.js +179 -0
  90. package/lib/meta/convertMetaObjectType.test.js.map +1 -0
  91. package/lib/meta/convertMetaTypeDef.d.ts +13 -0
  92. package/lib/meta/convertMetaTypeDef.d.ts.map +1 -0
  93. package/lib/meta/convertMetaTypeDef.js +163 -0
  94. package/lib/meta/convertMetaTypeDef.js.map +1 -0
  95. package/lib/meta/createSalesforceMetaOntologyBackendAdapter.d.ts +14 -0
  96. package/lib/meta/createSalesforceMetaOntologyBackendAdapter.d.ts.map +1 -0
  97. package/lib/meta/createSalesforceMetaOntologyBackendAdapter.js +42 -0
  98. package/lib/meta/createSalesforceMetaOntologyBackendAdapter.js.map +1 -0
  99. package/lib/meta/entityCollectionOptions.d.ts +27 -0
  100. package/lib/meta/entityCollectionOptions.d.ts.map +1 -0
  101. package/lib/meta/entityCollectionOptions.js +80 -0
  102. package/lib/meta/entityCollectionOptions.js.map +1 -0
  103. package/lib/meta/index.d.ts +7 -0
  104. package/lib/meta/index.d.ts.map +1 -0
  105. package/lib/meta/index.js +7 -0
  106. package/lib/meta/index.js.map +1 -0
  107. package/lib/meta/queryFunctionTypeCollectionOptions.d.ts +7 -0
  108. package/lib/meta/queryFunctionTypeCollectionOptions.d.ts.map +1 -0
  109. package/lib/meta/queryFunctionTypeCollectionOptions.js +16 -0
  110. package/lib/meta/queryFunctionTypeCollectionOptions.js.map +1 -0
  111. package/lib/utils/AsyncIterable.d.ts +3 -0
  112. package/lib/utils/AsyncIterable.d.ts.map +1 -0
  113. package/lib/utils/AsyncIterable.js +26 -0
  114. package/lib/utils/AsyncIterable.js.map +1 -0
  115. package/lib/utils/ids.d.ts +10 -0
  116. package/lib/utils/ids.d.ts.map +1 -0
  117. package/lib/utils/ids.js +20 -0
  118. package/lib/utils/ids.js.map +1 -0
  119. package/package.json +55 -0
@@ -0,0 +1,80 @@
1
+ import { createCollection, eq, liveQueryCollectionOptions, Query, } from "@tanstack/db";
2
+ import { QueryClient } from "@tanstack/query-core";
3
+ import { queryCollectionOptions } from "@tanstack/query-db-collection";
4
+ import { convertSalesforceMetaLinkTypes } from "./convertMetaLinkType.js";
5
+ import { convertSalesforceMetaObjectType } from "./convertMetaObjectType.js";
6
+ export function createMetaEntityCollection(opts) {
7
+ return createCollection(queryCollectionOptions({
8
+ 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}`;
16
+ }
17
+ },
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
+ });
48
+ }
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")),
61
+ });
62
+ }
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
+ });
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
+ }
80
+ //# sourceMappingURL=entityCollectionOptions.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"entityCollectionOptions.js","sourceRoot":"","sources":["../../src/meta/entityCollectionOptions.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,7 @@
1
+ export * from "./createSalesforceMetaOntologyBackendAdapter.js";
2
+ export * from "./convertMetaActionType.js";
3
+ export * from "./convertMetaObjectType.js";
4
+ export * from "./convertMetaLinkType.js";
5
+ export * from "./entityCollectionOptions.js";
6
+ export * from "./actionTypeCollectionOptions.js";
7
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/meta/index.ts"],"names":[],"mappings":"AAAA,cAAc,iDAAiD,CAAC;AAChE,cAAc,4BAA4B,CAAC;AAC3C,cAAc,4BAA4B,CAAC;AAC3C,cAAc,0BAA0B,CAAC;AACzC,cAAc,8BAA8B,CAAC;AAC7C,cAAc,kCAAkC,CAAC"}
@@ -0,0 +1,7 @@
1
+ export * from "./createSalesforceMetaOntologyBackendAdapter.js";
2
+ export * from "./convertMetaActionType.js";
3
+ export * from "./convertMetaObjectType.js";
4
+ export * from "./convertMetaLinkType.js";
5
+ export * from "./entityCollectionOptions.js";
6
+ export * from "./actionTypeCollectionOptions.js";
7
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/meta/index.ts"],"names":[],"mappings":"AAAA,cAAc,iDAAiD,CAAC;AAChE,cAAc,4BAA4B,CAAC;AAC3C,cAAc,4BAA4B,CAAC;AAC3C,cAAc,0BAA0B,CAAC;AACzC,cAAc,8BAA8B,CAAC;AAC7C,cAAc,kCAAkC,CAAC"}
@@ -0,0 +1,7 @@
1
+ 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;
7
+ //# sourceMappingURL=queryFunctionTypeCollectionOptions.d.ts.map
@@ -0,0 +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"}
@@ -0,0 +1,16 @@
1
+ import { QueryClient } from "@tanstack/query-core";
2
+ import { queryCollectionOptions } from "@tanstack/query-db-collection";
3
+ /**
4
+ * Salesforce has no native equivalent to Foundry query functions in this slice.
5
+ * Return an empty on-demand collection so pull/meta LiveOntology still works.
6
+ */
7
+ export function queryFunctionTypeCollectionOptions() {
8
+ return queryCollectionOptions({
9
+ queryClient: new QueryClient(),
10
+ getKey: (row) => row.name,
11
+ queryKey: ["salesforce", "ontology", "queryFunctionTypes"],
12
+ syncMode: "on-demand",
13
+ queryFn: () => Promise.resolve([]),
14
+ });
15
+ }
16
+ //# sourceMappingURL=queryFunctionTypeCollectionOptions.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"queryFunctionTypeCollectionOptions.js","sourceRoot":"","sources":["../../src/meta/queryFunctionTypeCollectionOptions.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,sBAAsB,CAAC;AACnD,OAAO,EAAE,sBAAsB,EAAE,MAAM,+BAA+B,CAAC;AAGvE;;;GAGG;AACH,MAAM,UAAU,kCAAkC;IAC9C,OAAO,sBAAsB,CAAuB;QAChD,WAAW,EAAE,IAAI,WAAW,EAAE;QAC9B,MAAM,EAAE,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,CAAC,IAAI;QACzB,QAAQ,EAAE,CAAC,YAAY,EAAE,UAAU,EAAE,oBAAoB,CAAC;QAC1D,QAAQ,EAAE,WAAW;QACrB,OAAO,EAAE,GAAG,EAAE,CAAC,OAAO,CAAC,OAAO,CAAC,EAAE,CAAC;KACrC,CAAyC,CAAC;AAC/C,CAAC"}
@@ -0,0 +1,3 @@
1
+ export declare function toArray<T>(asyncIterable: AsyncIterable<T>): Promise<T[]>;
2
+ export declare function fromPagination<C extends string | number, P, T>(getPage: (pageSize: number, pageToken?: C) => Promise<P>, getPageToken: (page: P) => C | undefined, getElements: (page: P) => T[] | Promise<T[]>, defaultPageSize: number, limit?: number): AsyncIterable<T>;
3
+ //# sourceMappingURL=AsyncIterable.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"AsyncIterable.d.ts","sourceRoot":"","sources":["../../src/utils/AsyncIterable.ts"],"names":[],"mappings":"AACA,wBAAsB,OAAO,CAAC,CAAC,EAAE,aAAa,EAAE,aAAa,CAAC,CAAC,CAAC,GAAG,OAAO,CAAC,CAAC,EAAE,CAAC,CAM9E;AAED,wBAAuB,cAAc,CAAC,CAAC,SAAS,MAAM,GAAG,MAAM,EAAE,CAAC,EAAE,CAAC,EACjE,OAAO,EAAE,CAAC,QAAQ,EAAE,MAAM,EAAE,SAAS,CAAC,EAAE,CAAC,KAAK,OAAO,CAAC,CAAC,CAAC,EACxD,YAAY,EAAE,CAAC,IAAI,EAAE,CAAC,KAAK,CAAC,GAAG,SAAS,EACxC,WAAW,EAAE,CAAC,IAAI,EAAE,CAAC,KAAK,CAAC,EAAE,GAAG,OAAO,CAAC,CAAC,EAAE,CAAC,EAC5C,eAAe,EAAE,MAAM,EACvB,KAAK,GAAE,MAAiB,GACzB,aAAa,CAAC,CAAC,CAAC,CAgBlB"}
@@ -0,0 +1,26 @@
1
+ // Replace later with https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/fromAsync
2
+ export async function toArray(asyncIterable) {
3
+ const result = [];
4
+ for await (const element of asyncIterable) {
5
+ result.push(element);
6
+ }
7
+ return result;
8
+ }
9
+ export async function* fromPagination(getPage, getPageToken, getElements, defaultPageSize, limit = Infinity) {
10
+ let pageToken = undefined;
11
+ let hasMore = true;
12
+ let count = 0;
13
+ while (hasMore && count < limit) {
14
+ const page = await getPage(Math.min(limit - count, defaultPageSize), pageToken);
15
+ const elements = await getElements(page);
16
+ for (const element of elements) {
17
+ yield element;
18
+ }
19
+ count += elements.length;
20
+ pageToken = getPageToken(page);
21
+ if (pageToken === undefined) {
22
+ hasMore = false;
23
+ }
24
+ }
25
+ }
26
+ //# sourceMappingURL=AsyncIterable.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"AsyncIterable.js","sourceRoot":"","sources":["../../src/utils/AsyncIterable.ts"],"names":[],"mappings":"AAAA,sHAAsH;AACtH,MAAM,CAAC,KAAK,UAAU,OAAO,CAAI,aAA+B;IAC5D,MAAM,MAAM,GAAG,EAAE,CAAC;IAClB,IAAI,KAAK,EAAE,MAAM,OAAO,IAAI,aAAa,EAAE,CAAC;QACxC,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;IACzB,CAAC;IACD,OAAO,MAAM,CAAC;AAClB,CAAC;AAED,MAAM,CAAC,KAAK,SAAS,CAAC,CAAC,cAAc,CACjC,OAAwD,EACxD,YAAwC,EACxC,WAA4C,EAC5C,eAAuB,EACvB,QAAgB,QAAQ;IAExB,IAAI,SAAS,GAAkB,SAAS,CAAC;IACzC,IAAI,OAAO,GAAG,IAAI,CAAC;IACnB,IAAI,KAAK,GAAG,CAAC,CAAC;IACd,OAAO,OAAO,IAAI,KAAK,GAAG,KAAK,EAAE,CAAC;QAC9B,MAAM,IAAI,GAAG,MAAM,OAAO,CAAC,IAAI,CAAC,GAAG,CAAC,KAAK,GAAG,KAAK,EAAE,eAAe,CAAC,EAAE,SAAS,CAAC,CAAC;QAChF,MAAM,QAAQ,GAAG,MAAM,WAAW,CAAC,IAAI,CAAC,CAAC;QACzC,KAAK,MAAM,OAAO,IAAI,QAAQ,EAAE,CAAC;YAC7B,MAAM,OAAO,CAAC;QAClB,CAAC;QACD,KAAK,IAAI,QAAQ,CAAC,MAAM,CAAC;QACzB,SAAS,GAAG,YAAY,CAAC,IAAI,CAAC,CAAC;QAC/B,IAAI,SAAS,KAAK,SAAS,EAAE,CAAC;YAC1B,OAAO,GAAG,KAAK,CAAC;QACpB,CAAC;IACL,CAAC;AACL,CAAC"}
@@ -0,0 +1,10 @@
1
+ /**
2
+ * Keep the Salesforce Flow API name as the ontology action name.
3
+ * Camel-casing would be lossy for names like `Create_Account`.
4
+ */
5
+ export declare function toOntologyActionTypeName(salesforceFlowApiName: string): string;
6
+ export declare function salesforceObjectTypeId(sObjectName: string): string;
7
+ export declare function salesforcePropertyId(sObjectName: string, fieldName: string): string;
8
+ export declare function salesforceLinkTypeId(sObjectName: string, fieldName: string): string;
9
+ export declare function salesforceFlowActionTypeId(flowApiName: string): string;
10
+ //# sourceMappingURL=ids.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ids.d.ts","sourceRoot":"","sources":["../../src/utils/ids.ts"],"names":[],"mappings":"AAAA;;;GAGG;AACH,wBAAgB,wBAAwB,CAAC,qBAAqB,EAAE,MAAM,GAAG,MAAM,CAE9E;AAED,wBAAgB,sBAAsB,CAAC,WAAW,EAAE,MAAM,GAAG,MAAM,CAElE;AAED,wBAAgB,oBAAoB,CAAC,WAAW,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,GAAG,MAAM,CAEnF;AAED,wBAAgB,oBAAoB,CAAC,WAAW,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,GAAG,MAAM,CAEnF;AAED,wBAAgB,0BAA0B,CAAC,WAAW,EAAE,MAAM,GAAG,MAAM,CAEtE"}
@@ -0,0 +1,20 @@
1
+ /**
2
+ * Keep the Salesforce Flow API name as the ontology action name.
3
+ * Camel-casing would be lossy for names like `Create_Account`.
4
+ */
5
+ export function toOntologyActionTypeName(salesforceFlowApiName) {
6
+ return salesforceFlowApiName;
7
+ }
8
+ export function salesforceObjectTypeId(sObjectName) {
9
+ return `salesforce:sobject:${sObjectName}`;
10
+ }
11
+ export function salesforcePropertyId(sObjectName, fieldName) {
12
+ return `salesforce:field:${sObjectName}.${fieldName}`;
13
+ }
14
+ export function salesforceLinkTypeId(sObjectName, fieldName) {
15
+ return `salesforce:link:${sObjectName}.${fieldName}`;
16
+ }
17
+ export function salesforceFlowActionTypeId(flowApiName) {
18
+ return `salesforce:flow:${flowApiName}`;
19
+ }
20
+ //# sourceMappingURL=ids.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ids.js","sourceRoot":"","sources":["../../src/utils/ids.ts"],"names":[],"mappings":"AAAA;;;GAGG;AACH,MAAM,UAAU,wBAAwB,CAAC,qBAA6B;IAClE,OAAO,qBAAqB,CAAC;AACjC,CAAC;AAED,MAAM,UAAU,sBAAsB,CAAC,WAAmB;IACtD,OAAO,sBAAsB,WAAW,EAAE,CAAC;AAC/C,CAAC;AAED,MAAM,UAAU,oBAAoB,CAAC,WAAmB,EAAE,SAAiB;IACvE,OAAO,oBAAoB,WAAW,IAAI,SAAS,EAAE,CAAC;AAC1D,CAAC;AAED,MAAM,UAAU,oBAAoB,CAAC,WAAmB,EAAE,SAAiB;IACvE,OAAO,mBAAmB,WAAW,IAAI,SAAS,EAAE,CAAC;AACzD,CAAC;AAED,MAAM,UAAU,0BAA0B,CAAC,WAAmB;IAC1D,OAAO,mBAAmB,WAAW,EAAE,CAAC;AAC5C,CAAC"}
package/package.json ADDED
@@ -0,0 +1,55 @@
1
+ {
2
+ "name": "@party-stack/salesforce-ontology",
3
+ "version": "0.1.0",
4
+ "type": "module",
5
+ "exports": {
6
+ ".": {
7
+ "types": "./lib/index.d.ts",
8
+ "default": "./lib/index.js"
9
+ },
10
+ "./config": {
11
+ "types": "./lib/config/index.d.ts",
12
+ "default": "./lib/config/index.js"
13
+ },
14
+ "./installation": {
15
+ "types": "./lib/installation/index.d.ts",
16
+ "default": "./lib/installation/index.js"
17
+ },
18
+ "./meta": {
19
+ "types": "./lib/meta/index.d.ts",
20
+ "default": "./lib/meta/index.js"
21
+ }
22
+ },
23
+ "files": [
24
+ "lib"
25
+ ],
26
+ "dependencies": {
27
+ "@bobbyfidz/panic": "^0.1.0",
28
+ "temporal-polyfill": "^0.3.0",
29
+ "@party-stack/connections": "^0.2.1",
30
+ "@party-stack/ontology": "0.13.0",
31
+ "@party-stack/oauth": "^0.2.1",
32
+ "@party-stack/errors": "^0.2.0",
33
+ "@party-stack/runtime": "^0.3.1",
34
+ "@party-stack/salesforce-client": "0.1.0"
35
+ },
36
+ "devDependencies": {
37
+ "@bobbyfidz/universal-build-config": "^0.1.1",
38
+ "@tanstack/db": "^0.8.6",
39
+ "@tanstack/query-core": "^5.102.8",
40
+ "@tanstack/query-db-collection": "^1.2.11",
41
+ "eslint": "^9.25.0",
42
+ "typescript": "~5.8.3",
43
+ "vitest": "^3.1.1"
44
+ },
45
+ "peerDependencies": {
46
+ "@tanstack/db": "^0.8.6",
47
+ "@tanstack/query-core": "^5.102.8",
48
+ "@tanstack/query-db-collection": "^1.2.11"
49
+ },
50
+ "scripts": {
51
+ "build": "tsc",
52
+ "lint": "eslint",
53
+ "test": "vitest run --pass-with-no-tests"
54
+ }
55
+ }