@party-stack/salesforce-ontology 0.4.0 → 0.4.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (166) hide show
  1. package/README.md +22 -31
  2. package/lib/actionMetadata.d.ts +11 -9
  3. package/lib/actionMetadata.d.ts.map +1 -1
  4. package/lib/actionMetadata.js +19 -30
  5. package/lib/actionMetadata.js.map +1 -1
  6. package/lib/adapter/convertLoadSubsetOptions.d.ts +10 -8
  7. package/lib/adapter/convertLoadSubsetOptions.d.ts.map +1 -1
  8. package/lib/adapter/convertLoadSubsetOptions.js +110 -173
  9. package/lib/adapter/convertLoadSubsetOptions.js.map +1 -1
  10. package/lib/adapter/createSalesforceOntologyBackendAdapter.d.ts +14 -12
  11. package/lib/adapter/createSalesforceOntologyBackendAdapter.d.ts.map +1 -1
  12. package/lib/adapter/createSalesforceOntologyBackendAdapter.js +124 -191
  13. package/lib/adapter/createSalesforceOntologyBackendAdapter.js.map +1 -1
  14. package/lib/adapter/index.d.ts +5 -5
  15. package/lib/adapter/index.js +5 -5
  16. package/lib/adapter/objectCollectionOptions.d.ts +22 -22
  17. package/lib/adapter/objectCollectionOptions.d.ts.map +1 -1
  18. package/lib/adapter/objectCollectionOptions.js +198 -280
  19. package/lib/adapter/objectCollectionOptions.js.map +1 -1
  20. package/lib/adapter/salesforceCodec.d.ts +6 -4
  21. package/lib/adapter/salesforceCodec.d.ts.map +1 -1
  22. package/lib/adapter/salesforceCodec.js +126 -190
  23. package/lib/adapter/salesforceCodec.js.map +1 -1
  24. package/lib/config/index.d.ts +20 -18
  25. package/lib/config/index.d.ts.map +1 -1
  26. package/lib/config/index.js +148 -192
  27. package/lib/config/index.js.map +1 -1
  28. package/lib/connection.d.ts +35 -33
  29. package/lib/connection.d.ts.map +1 -1
  30. package/lib/connection.js +243 -299
  31. package/lib/connection.js.map +1 -1
  32. package/lib/crud.d.ts +5 -3
  33. package/lib/crud.d.ts.map +1 -1
  34. package/lib/crud.js +0 -1
  35. package/lib/index.d.ts +10 -5
  36. package/lib/index.js +10 -5
  37. package/lib/installation/createSalesforceBackendInstallation.d.ts +28 -26
  38. package/lib/installation/createSalesforceBackendInstallation.d.ts.map +1 -1
  39. package/lib/installation/createSalesforceBackendInstallation.js +75 -85
  40. package/lib/installation/createSalesforceBackendInstallation.js.map +1 -1
  41. package/lib/installation/index.d.ts +2 -2
  42. package/lib/installation/index.js +1 -2
  43. package/lib/meta/actionTypeCollectionOptions.d.ts +10 -8
  44. package/lib/meta/actionTypeCollectionOptions.d.ts.map +1 -1
  45. package/lib/meta/actionTypeCollectionOptions.js +105 -212
  46. package/lib/meta/actionTypeCollectionOptions.js.map +1 -1
  47. package/lib/meta/convertMetaActionType.d.ts +4 -2
  48. package/lib/meta/convertMetaActionType.d.ts.map +1 -1
  49. package/lib/meta/convertMetaActionType.js +32 -32
  50. package/lib/meta/convertMetaActionType.js.map +1 -1
  51. package/lib/meta/convertMetaLinkType.d.ts +4 -2
  52. package/lib/meta/convertMetaLinkType.d.ts.map +1 -1
  53. package/lib/meta/convertMetaLinkType.js +39 -45
  54. package/lib/meta/convertMetaLinkType.js.map +1 -1
  55. package/lib/meta/convertMetaLoadSubsetOptions.d.ts +12 -10
  56. package/lib/meta/convertMetaLoadSubsetOptions.d.ts.map +1 -1
  57. package/lib/meta/convertMetaLoadSubsetOptions.js +42 -58
  58. package/lib/meta/convertMetaLoadSubsetOptions.js.map +1 -1
  59. package/lib/meta/convertMetaObjectType.d.ts +4 -2
  60. package/lib/meta/convertMetaObjectType.d.ts.map +1 -1
  61. package/lib/meta/convertMetaObjectType.js +36 -40
  62. package/lib/meta/convertMetaObjectType.js.map +1 -1
  63. package/lib/meta/convertMetaQueryFunctionType.d.ts +4 -2
  64. package/lib/meta/convertMetaQueryFunctionType.d.ts.map +1 -1
  65. package/lib/meta/convertMetaQueryFunctionType.js +27 -25
  66. package/lib/meta/convertMetaQueryFunctionType.js.map +1 -1
  67. package/lib/meta/convertMetaTypeDef.d.ts +10 -8
  68. package/lib/meta/convertMetaTypeDef.d.ts.map +1 -1
  69. package/lib/meta/convertMetaTypeDef.js +196 -188
  70. package/lib/meta/convertMetaTypeDef.js.map +1 -1
  71. package/lib/meta/createSalesforceMetaOntologyBackendAdapter.d.ts +19 -17
  72. package/lib/meta/createSalesforceMetaOntologyBackendAdapter.d.ts.map +1 -1
  73. package/lib/meta/createSalesforceMetaOntologyBackendAdapter.js +38 -40
  74. package/lib/meta/createSalesforceMetaOntologyBackendAdapter.js.map +1 -1
  75. package/lib/meta/entityCollectionOptions.d.ts +10 -8
  76. package/lib/meta/entityCollectionOptions.d.ts.map +1 -1
  77. package/lib/meta/entityCollectionOptions.js +73 -82
  78. package/lib/meta/entityCollectionOptions.js.map +1 -1
  79. package/lib/meta/index.d.ts +7 -7
  80. package/lib/meta/index.js +7 -7
  81. package/lib/meta/queryFunctionTypeCollectionOptions.d.ts +7 -5
  82. package/lib/meta/queryFunctionTypeCollectionOptions.d.ts.map +1 -1
  83. package/lib/meta/queryFunctionTypeCollectionOptions.js +53 -91
  84. package/lib/meta/queryFunctionTypeCollectionOptions.js.map +1 -1
  85. package/lib/meta/synthesizeCrudActionTypes.d.ts +4 -2
  86. package/lib/meta/synthesizeCrudActionTypes.d.ts.map +1 -1
  87. package/lib/meta/synthesizeCrudActionTypes.js +77 -116
  88. package/lib/meta/synthesizeCrudActionTypes.js.map +1 -1
  89. package/lib/standardActions.d.ts +2 -0
  90. package/lib/standardActions.d.ts.map +1 -1
  91. package/lib/standardActions.js +22 -20
  92. package/lib/standardActions.js.map +1 -1
  93. package/lib/utils/AsyncIterable.d.ts +2 -0
  94. package/lib/utils/AsyncIterable.d.ts.map +1 -1
  95. package/lib/utils/AsyncIterable.js +20 -23
  96. package/lib/utils/AsyncIterable.js.map +1 -1
  97. package/lib/utils/ids.d.ts +2 -0
  98. package/lib/utils/ids.d.ts.map +1 -1
  99. package/lib/utils/ids.js +23 -19
  100. package/lib/utils/ids.js.map +1 -1
  101. package/package.json +18 -24
  102. package/lib/adapter/convertLoadSubsetOptions.test.d.ts +0 -2
  103. package/lib/adapter/convertLoadSubsetOptions.test.d.ts.map +0 -1
  104. package/lib/adapter/convertLoadSubsetOptions.test.js +0 -80
  105. package/lib/adapter/convertLoadSubsetOptions.test.js.map +0 -1
  106. package/lib/adapter/createSalesforceOntologyBackendAdapter.test.d.ts +0 -2
  107. package/lib/adapter/createSalesforceOntologyBackendAdapter.test.d.ts.map +0 -1
  108. package/lib/adapter/createSalesforceOntologyBackendAdapter.test.js +0 -394
  109. package/lib/adapter/createSalesforceOntologyBackendAdapter.test.js.map +0 -1
  110. package/lib/adapter/index.d.ts.map +0 -1
  111. package/lib/adapter/index.js.map +0 -1
  112. package/lib/adapter/objectCollectionOptions.test.d.ts +0 -2
  113. package/lib/adapter/objectCollectionOptions.test.d.ts.map +0 -1
  114. package/lib/adapter/objectCollectionOptions.test.js +0 -160
  115. package/lib/adapter/objectCollectionOptions.test.js.map +0 -1
  116. package/lib/adapter/salesforceCodec.test.d.ts +0 -2
  117. package/lib/adapter/salesforceCodec.test.d.ts.map +0 -1
  118. package/lib/adapter/salesforceCodec.test.js +0 -57
  119. package/lib/adapter/salesforceCodec.test.js.map +0 -1
  120. package/lib/config/index.test.d.ts +0 -2
  121. package/lib/config/index.test.d.ts.map +0 -1
  122. package/lib/config/index.test.js +0 -177
  123. package/lib/config/index.test.js.map +0 -1
  124. package/lib/connection.test.d.ts +0 -2
  125. package/lib/connection.test.d.ts.map +0 -1
  126. package/lib/connection.test.js +0 -189
  127. package/lib/connection.test.js.map +0 -1
  128. package/lib/crud.js.map +0 -1
  129. package/lib/index.d.ts.map +0 -1
  130. package/lib/index.js.map +0 -1
  131. package/lib/installation/createSalesforceBackendInstallation.test.d.ts +0 -2
  132. package/lib/installation/createSalesforceBackendInstallation.test.d.ts.map +0 -1
  133. package/lib/installation/createSalesforceBackendInstallation.test.js +0 -55
  134. package/lib/installation/createSalesforceBackendInstallation.test.js.map +0 -1
  135. package/lib/installation/index.d.ts.map +0 -1
  136. package/lib/installation/index.js.map +0 -1
  137. package/lib/meta/actionTypeCollectionOptions.test.d.ts +0 -2
  138. package/lib/meta/actionTypeCollectionOptions.test.d.ts.map +0 -1
  139. package/lib/meta/actionTypeCollectionOptions.test.js +0 -192
  140. package/lib/meta/actionTypeCollectionOptions.test.js.map +0 -1
  141. package/lib/meta/convertMetaActionType.test.d.ts +0 -2
  142. package/lib/meta/convertMetaActionType.test.d.ts.map +0 -1
  143. package/lib/meta/convertMetaActionType.test.js +0 -185
  144. package/lib/meta/convertMetaActionType.test.js.map +0 -1
  145. package/lib/meta/convertMetaObjectType.test.d.ts +0 -2
  146. package/lib/meta/convertMetaObjectType.test.d.ts.map +0 -1
  147. package/lib/meta/convertMetaObjectType.test.js +0 -187
  148. package/lib/meta/convertMetaObjectType.test.js.map +0 -1
  149. package/lib/meta/convertMetaQueryFunctionType.test.d.ts +0 -2
  150. package/lib/meta/convertMetaQueryFunctionType.test.d.ts.map +0 -1
  151. package/lib/meta/convertMetaQueryFunctionType.test.js +0 -58
  152. package/lib/meta/convertMetaQueryFunctionType.test.js.map +0 -1
  153. package/lib/meta/entityCollectionOptions.test.d.ts +0 -2
  154. package/lib/meta/entityCollectionOptions.test.d.ts.map +0 -1
  155. package/lib/meta/entityCollectionOptions.test.js +0 -120
  156. package/lib/meta/entityCollectionOptions.test.js.map +0 -1
  157. package/lib/meta/index.d.ts.map +0 -1
  158. package/lib/meta/index.js.map +0 -1
  159. package/lib/meta/queryFunctionTypeCollectionOptions.test.d.ts +0 -2
  160. package/lib/meta/queryFunctionTypeCollectionOptions.test.d.ts.map +0 -1
  161. package/lib/meta/queryFunctionTypeCollectionOptions.test.js +0 -71
  162. package/lib/meta/queryFunctionTypeCollectionOptions.test.js.map +0 -1
  163. package/lib/meta/synthesizeCrudActionTypes.test.d.ts +0 -2
  164. package/lib/meta/synthesizeCrudActionTypes.test.d.ts.map +0 -1
  165. package/lib/meta/synthesizeCrudActionTypes.test.js +0 -153
  166. package/lib/meta/synthesizeCrudActionTypes.test.js.map +0 -1
@@ -1,57 +0,0 @@
1
- import { o } from "@party-stack/ontology";
2
- import { Temporal } from "temporal-polyfill";
3
- import { describe, expect, it } from "vitest";
4
- import { createSalesforceCodec } from "./salesforceCodec.js";
5
- describe("createSalesforceCodec", () => {
6
- const codec = createSalesforceCodec({
7
- types: [],
8
- objectTypes: [
9
- {
10
- name: "Account",
11
- displayName: "Account",
12
- pluralDisplayName: "Accounts",
13
- primaryKey: "Id",
14
- properties: [
15
- { name: "Id", displayName: "Id", type: o.string({}) },
16
- { name: "Name", displayName: "Name", type: o.string({}) },
17
- { name: "CreatedDate", displayName: "Created Date", type: o.timestamp({}) },
18
- {
19
- name: "CloseDate",
20
- displayName: "Close Date",
21
- type: o.optional({ type: o.date({}) }),
22
- },
23
- {
24
- name: "Tags",
25
- displayName: "Tags",
26
- type: o.list({ elementType: o.string({}) }),
27
- },
28
- ],
29
- },
30
- ],
31
- linkTypes: [],
32
- actionTypes: [],
33
- queryFunctionTypes: [],
34
- });
35
- it("strips Salesforce attributes and decodes temporal/multipicklist values", () => {
36
- expect(codec.decodeObject("Account", {
37
- attributes: { type: "Account", url: "/services/data/v61.0/sobjects/Account/001" },
38
- Id: "001xx",
39
- Name: "Acme",
40
- CreatedDate: "2026-08-06T12:00:00.000Z",
41
- CloseDate: "2026-08-07",
42
- Tags: "a;b",
43
- })).toEqual({
44
- Id: "001xx",
45
- Name: "Acme",
46
- CreatedDate: Temporal.Instant.from("2026-08-06T12:00:00.000Z"),
47
- CloseDate: Temporal.PlainDate.from("2026-08-07"),
48
- Tags: ["a", "b"],
49
- });
50
- });
51
- it("encodes multipicklist and temporal values for Flow inputs", () => {
52
- expect(codec.encodeValue(o.list({ elementType: o.string({}) }), ["a", "b"])).toBe("a;b");
53
- expect(codec.encodeValue(o.timestamp({}), Temporal.Instant.from("2026-08-06T12:00:00Z"))).toBe("2026-08-06T12:00:00Z");
54
- expect(codec.encodeValue(o.date({}), Temporal.PlainDate.from("2026-08-07"))).toBe("2026-08-07");
55
- });
56
- });
57
- //# sourceMappingURL=salesforceCodec.test.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"salesforceCodec.test.js","sourceRoot":"","sources":["../../src/adapter/salesforceCodec.test.ts"],"names":[],"mappings":"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"}
@@ -1,2 +0,0 @@
1
- export {};
2
- //# sourceMappingURL=index.test.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.test.d.ts","sourceRoot":"","sources":["../../src/config/index.test.ts"],"names":[],"mappings":""}
@@ -1,177 +0,0 @@
1
- import { o, } from "@party-stack/ontology";
2
- import { describe, expect, it, vi } from "vitest";
3
- import { createSalesforceOntologyPullConfig, createSalesforceOntologyPullSource, } from "./index.js";
4
- function createSource() {
5
- return createSalesforceOntologyPullSource({
6
- instanceUrl: "https://example.my.salesforce.com",
7
- apiVersion: "65.0",
8
- ontologyId: "salesforce:tasks",
9
- objectTypeNames: ["Task", "User"],
10
- connection: {
11
- oauth: {
12
- clientId: "client",
13
- redirectUrl: "http://localhost:1717/oauth/callback",
14
- },
15
- },
16
- });
17
- }
18
- describe("createSalesforceOntologyPullSource", () => {
19
- it("reuses the only restored active connection", async () => {
20
- const connection = {
21
- userId: "005000000000001",
22
- state: { status: "active" },
23
- };
24
- const oauth = vi.fn();
25
- const resolved = await createSource().resolveConnection({
26
- connections: new Map([
27
- [connection.userId, connection],
28
- ]),
29
- authentication: {
30
- signIn: {
31
- oauth,
32
- },
33
- },
34
- });
35
- expect(resolved).toEqual(connection);
36
- expect(oauth).not.toHaveBeenCalled();
37
- });
38
- it("starts OAuth when no connection is restored", async () => {
39
- const connection = {
40
- userId: "005000000000001",
41
- state: { status: "active" },
42
- };
43
- const oauth = vi.fn(() => Promise.resolve(connection));
44
- const resolved = await createSource().resolveConnection({
45
- connections: new Map(),
46
- authentication: {
47
- signIn: {
48
- oauth,
49
- },
50
- },
51
- });
52
- expect(resolved).toEqual(connection);
53
- expect(oauth).toHaveBeenCalledOnce();
54
- });
55
- it("builds a pull config with a scoped metadata allowlist", () => {
56
- const config = createSalesforceOntologyPullConfig({
57
- instanceUrl: "https://example.my.salesforce.com",
58
- apiVersion: "65.0",
59
- ontologyId: "salesforce:tasks",
60
- objectTypeNames: ["Task", "User"],
61
- flowActionTypeNames: ["Create_Task"],
62
- standardActionTypeNames: [
63
- "confirmSalesMeeting",
64
- ],
65
- standardQueryFunctionTypeNames: [
66
- "getAvailableMeetingTimes",
67
- ],
68
- crudActionTypes: [
69
- {
70
- objectType: "Task",
71
- operations: [
72
- "create",
73
- "update",
74
- "delete",
75
- ],
76
- },
77
- ],
78
- connection: {
79
- token: "token",
80
- userId: "005000000000001",
81
- },
82
- });
83
- expect(config.source.ontologyId).toBe("salesforce:tasks");
84
- expect(config.objectTypeNames).toEqual([
85
- "Task",
86
- "User",
87
- ]);
88
- expect(config.actionTypeNames).toEqual([
89
- "Create_Task",
90
- "confirmSalesMeeting",
91
- "createTask",
92
- "updateTask",
93
- "deleteTask",
94
- ]);
95
- expect(config.queryFunctionTypeNames).toEqual([
96
- "getAvailableMeetingTimes",
97
- ]);
98
- });
99
- it("requires CRUD object types to be pulled", () => {
100
- expect(() => createSalesforceOntologyPullConfig({
101
- instanceUrl: "https://example.my.salesforce.com",
102
- apiVersion: "65.0",
103
- ontologyId: "salesforce:tasks",
104
- objectTypeNames: ["User"],
105
- flowActionTypeNames: [],
106
- crudActionTypes: [
107
- {
108
- objectType: "Task",
109
- operations: ["create"],
110
- },
111
- ],
112
- connection: { token: "token" },
113
- })).toThrow(/must also appear in objectTypeNames/);
114
- });
115
- it("keeps selected object references and downgrades dangling references", async () => {
116
- const ontology = {
117
- types: [],
118
- objectTypes: [
119
- {
120
- name: "Task",
121
- displayName: "Task",
122
- pluralDisplayName: "Tasks",
123
- primaryKey: "Id",
124
- properties: [
125
- {
126
- name: "Id",
127
- displayName: "ID",
128
- type: o.string({}),
129
- },
130
- {
131
- name: "CreatedById",
132
- displayName: "Created By",
133
- type: o.objectReference({
134
- objectType: "User",
135
- }),
136
- },
137
- {
138
- name: "AccountId",
139
- displayName: "Account",
140
- type: o.optional({
141
- type: o.objectReference({
142
- objectType: "Account",
143
- }),
144
- }),
145
- },
146
- ],
147
- },
148
- {
149
- name: "User",
150
- displayName: "User",
151
- pluralDisplayName: "Users",
152
- primaryKey: "Id",
153
- properties: [
154
- {
155
- name: "Id",
156
- displayName: "ID",
157
- type: o.string({}),
158
- },
159
- ],
160
- },
161
- ],
162
- linkTypes: [],
163
- actionTypes: [],
164
- queryFunctionTypes: [],
165
- };
166
- const transformed = await createSource()
167
- .transformPulledOntology(ontology);
168
- const task = transformed.objectTypes.find((objectType) => objectType.name === "Task");
169
- expect(task.properties.find((property) => property.name === "CreatedById")?.type).toEqual(o.objectReference({
170
- objectType: "User",
171
- }));
172
- expect(task.properties.find((property) => property.name === "AccountId")?.type).toEqual(o.optional({
173
- type: o.string({}),
174
- }));
175
- });
176
- });
177
- //# sourceMappingURL=index.test.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.test.js","sourceRoot":"","sources":["../../src/config/index.test.ts"],"names":[],"mappings":"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"}
@@ -1,2 +0,0 @@
1
- export {};
2
- //# sourceMappingURL=connection.test.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"connection.test.d.ts","sourceRoot":"","sources":["../src/connection.test.ts"],"names":[],"mappings":""}
@@ -1,189 +0,0 @@
1
- import { createDefaultRuntime } from "@party-stack/runtime";
2
- import { afterEach, describe, expect, it, vi } from "vitest";
3
- import { createSalesforceConnectionAdapter } from "./connection.js";
4
- describe("createSalesforceConnectionAdapter", () => {
5
- afterEach(() => {
6
- vi.unstubAllGlobals();
7
- });
8
- it("injects bearer authority only for its Salesforce origin", async () => {
9
- const fetch = vi.fn(() => Promise.resolve(new Response(null, { status: 204 })));
10
- const adapter = await createSalesforceConnectionAdapter({
11
- instanceUrl: "https://example.my.salesforce.com",
12
- token: "access-token",
13
- userId: "005000000000001",
14
- })({
15
- installationId: "salesforce",
16
- runtime: {},
17
- });
18
- const [established] = await adapter.restoreConnections();
19
- if (!established?.session.egress) {
20
- throw new Error("Expected Salesforce egress wrapper.");
21
- }
22
- const egress = established.session.egress({
23
- fetch,
24
- createWebSocket: () => Promise.resolve({}),
25
- });
26
- await egress.fetch(new Request("https://example.my.salesforce.com/services/data/v65.0/sobjects"));
27
- const request = fetch.mock.calls[0][0];
28
- expect(request.headers.get("authorization")).toBe("Bearer access-token");
29
- await expect(egress.fetch(new Request("https://attacker.example/services/data"))).rejects.toThrow('Salesforce egress not allowed for origin "https://attacker.example".');
30
- expect(fetch).toHaveBeenCalledOnce();
31
- });
32
- it("exposes access-token authentication through the connection controller", async () => {
33
- const adapter = await createSalesforceConnectionAdapter({
34
- instanceUrl: "https://example.my.salesforce.com",
35
- })({
36
- installationId: "salesforce",
37
- runtime: {},
38
- });
39
- const connect = vi.fn(() => Promise.resolve());
40
- const authentication = adapter.createAuthenticationClient({
41
- connect,
42
- disconnect: () => Promise.resolve(),
43
- });
44
- const connection = await authentication.signIn.accessToken({
45
- token: "access-token",
46
- userId: "005000000000001",
47
- });
48
- expect(connection).toEqual({
49
- userId: "005000000000001",
50
- state: { status: "active" },
51
- });
52
- expect(connect).toHaveBeenCalledWith(expect.objectContaining({
53
- connection,
54
- }));
55
- });
56
- it("establishes server-side client credentials connections", async () => {
57
- let tokenBody;
58
- const fetch = vi.fn(async (input, init) => {
59
- const request = new Request(input, init);
60
- if (request.url.endsWith("/services/oauth2/userinfo")) {
61
- return Response.json({
62
- user_id: "005000000000001",
63
- });
64
- }
65
- tokenBody =
66
- new URLSearchParams(await request.text());
67
- return Response.json({
68
- access_token: "access-token",
69
- expires_in: 3600,
70
- token_type: "Bearer",
71
- });
72
- });
73
- const adapter = await createSalesforceConnectionAdapter({
74
- instanceUrl: "https://example.my.salesforce.com",
75
- clientCredentials: {
76
- clientId: "client",
77
- clientSecret: "secret",
78
- fetch,
79
- },
80
- })({
81
- installationId: "salesforce",
82
- runtime: {},
83
- });
84
- const [established] = await adapter.restoreConnections();
85
- expect(established?.connection).toMatchObject({
86
- userId: "005000000000001",
87
- state: {
88
- status: "active",
89
- },
90
- });
91
- expect(tokenBody?.get("grant_type")).toBe("client_credentials");
92
- expect(tokenBody?.get("client_secret")).toBe("secret");
93
- await adapter.cleanup?.();
94
- });
95
- it("composes stored public OAuth authentication", async () => {
96
- const values = new Map();
97
- const runtime = {
98
- ...createDefaultRuntime("installation", `salesforce-oauth-${crypto.randomUUID()}`),
99
- secrets: {
100
- get: (key) => Promise.resolve(values.get(key)),
101
- set: (key, value) => {
102
- values.set(key, value);
103
- return Promise.resolve();
104
- },
105
- delete: (key) => {
106
- values.delete(key);
107
- return Promise.resolve();
108
- },
109
- },
110
- browserAuthentication: {
111
- start({ redirectUrl }) {
112
- return {
113
- open(authorizationUrl) {
114
- const state = new URL(authorizationUrl).searchParams.get("state");
115
- return Promise.resolve({
116
- callbackUrl: `${redirectUrl}?code=code&state=${state}`,
117
- });
118
- },
119
- close() { },
120
- };
121
- },
122
- },
123
- };
124
- const fetch = vi.fn((input) => {
125
- const url = input instanceof Request
126
- ? input.url
127
- : input instanceof URL
128
- ? input.toString()
129
- : input;
130
- return Promise.resolve(url.endsWith("/services/oauth2/userinfo")
131
- ? Response.json({ user_id: "005000000000001" })
132
- : Response.json({
133
- access_token: "access-token",
134
- refresh_token: "refresh-token",
135
- token_type: "Bearer",
136
- expires_in: 3600,
137
- }));
138
- });
139
- const adapter = await createSalesforceConnectionAdapter({
140
- instanceUrl: "https://example.my.salesforce.com",
141
- oauth: {
142
- clientId: "client",
143
- redirectUrl: "http://localhost:1717/oauth/callback",
144
- fetch,
145
- },
146
- })({
147
- installationId: "salesforce",
148
- runtime,
149
- });
150
- let established;
151
- const connect = vi.fn((candidate) => {
152
- established = candidate;
153
- return Promise.resolve();
154
- });
155
- const authentication = adapter.createAuthenticationClient({
156
- connect,
157
- disconnect: () => Promise.resolve(),
158
- });
159
- const connection = await authentication.signIn.oauth();
160
- expect(connection.userId).toBe("005000000000001");
161
- expect(connection.state.status).toBe("active");
162
- expect(connect).toHaveBeenCalledWith(expect.objectContaining({
163
- connection,
164
- }));
165
- expect([...values.values()].some((value) => value.includes("refresh-token"))).toBe(true);
166
- if (!established?.session.egress) {
167
- throw new Error("Expected OAuth egress wrapper.");
168
- }
169
- const backendFetch = vi
170
- .fn()
171
- .mockResolvedValueOnce(new Response(null, {
172
- status: 401,
173
- }))
174
- .mockResolvedValueOnce(new Response(null, {
175
- status: 204,
176
- }));
177
- const egress = established.session.egress({
178
- fetch: backendFetch,
179
- createWebSocket: () => Promise.resolve({}),
180
- });
181
- await expect(egress.fetch(new Request("https://example.my.salesforce.com/services/data/v65.0/sobjects"))).resolves.toMatchObject({
182
- status: 204,
183
- });
184
- expect(backendFetch).toHaveBeenCalledTimes(2);
185
- await adapter.cleanup?.();
186
- await runtime.cleanup?.();
187
- });
188
- });
189
- //# sourceMappingURL=connection.test.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"connection.test.js","sourceRoot":"","sources":["../src/connection.test.ts"],"names":[],"mappings":"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"}
package/lib/crud.js.map DELETED
@@ -1 +0,0 @@
1
- {"version":3,"file":"crud.js","sourceRoot":"","sources":["../src/crud.ts"],"names":[],"mappings":""}
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,gCAAgC,CAAC;AAC/C,cAAc,qBAAqB,CAAC;AACpC,cAAc,oBAAoB,CAAC;AACnC,cAAc,iBAAiB,CAAC;AAChC,cAAc,yBAAyB,CAAC"}
package/lib/index.js.map DELETED
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,gCAAgC,CAAC;AAC/C,cAAc,qBAAqB,CAAC;AACpC,cAAc,oBAAoB,CAAC;AACnC,cAAc,iBAAiB,CAAC;AAChC,cAAc,yBAAyB,CAAC"}
@@ -1,2 +0,0 @@
1
- export {};
2
- //# sourceMappingURL=createSalesforceBackendInstallation.test.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"createSalesforceBackendInstallation.test.d.ts","sourceRoot":"","sources":["../../src/installation/createSalesforceBackendInstallation.test.ts"],"names":[],"mappings":""}
@@ -1,55 +0,0 @@
1
- import { describe, expect, it } from "vitest";
2
- import { createSalesforceOntologyRoute } from "./createSalesforceBackendInstallation.js";
3
- const ir = {
4
- types: [],
5
- objectTypes: [],
6
- linkTypes: [],
7
- actionTypes: [],
8
- queryFunctionTypes: [],
9
- };
10
- const backend = {
11
- instanceUrl: "https://example.my.salesforce.com",
12
- apiVersion: "65.0",
13
- };
14
- describe("createSalesforceOntologyRoute", () => {
15
- it("creates a scoped metadata route when IR is omitted", () => {
16
- const route = createSalesforceOntologyRoute({
17
- ontologyId: "salesforce:tasks",
18
- objectTypeNames: ["Task", "User"],
19
- })(backend);
20
- expect(route.configure === undefined).toBe(true);
21
- expect(route.configureMeta !== undefined).toBe(true);
22
- expect(route.matches("salesforce:tasks")).toBe(true);
23
- expect(route.matches("salesforce:other")).toBe(false);
24
- });
25
- it("serves data and metadata from the same IR route", () => {
26
- const route = createSalesforceOntologyRoute({
27
- ontologyId: "salesforce:tasks",
28
- ir,
29
- })(backend);
30
- expect(route.configure !== undefined).toBe(true);
31
- expect(route.configureMeta !== undefined).toBe(true);
32
- });
33
- it("forwards live to configured ontology backends", async () => {
34
- const route = createSalesforceOntologyRoute({
35
- ontologyId: "salesforce:tasks",
36
- ir,
37
- live: false,
38
- })(backend);
39
- const configuration = await route.configure({
40
- connection: {
41
- userId: "user-1",
42
- state: { status: "active" },
43
- },
44
- egress: {
45
- fetch: globalThis.fetch,
46
- },
47
- ontologyId: "salesforce:tasks",
48
- });
49
- await expect(configuration.backend(ir, {})).resolves.toMatchObject({
50
- name: "salesforce",
51
- live: false,
52
- });
53
- });
54
- });
55
- //# sourceMappingURL=createSalesforceBackendInstallation.test.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"createSalesforceBackendInstallation.test.js","sourceRoot":"","sources":["../../src/installation/createSalesforceBackendInstallation.test.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,QAAQ,CAAC;AAE9C,OAAO,EAAE,6BAA6B,EAAE,MAAM,0CAA0C,CAAC;AAEzF,MAAM,EAAE,GAAe;IACnB,KAAK,EAAE,EAAE;IACT,WAAW,EAAE,EAAE;IACf,SAAS,EAAE,EAAE;IACb,WAAW,EAAE,EAAE;IACf,kBAAkB,EAAE,EAAE;CACzB,CAAC;AAEF,MAAM,OAAO,GAAG;IACZ,WAAW,EAAE,mCAAmC;IAChD,UAAU,EAAE,MAAM;CACrB,CAAC;AAEF,QAAQ,CAAC,+BAA+B,EAAE,GAAG,EAAE;IAC3C,EAAE,CAAC,oDAAoD,EAAE,GAAG,EAAE;QAC1D,MAAM,KAAK,GAAG,6BAA6B,CAAC;YACxC,UAAU,EAAE,kBAAkB;YAC9B,eAAe,EAAE,CAAC,MAAM,EAAE,MAAM,CAAC;SACpC,CAAC,CAAC,OAAO,CAAC,CAAC;QAEZ,MAAM,CAAC,KAAK,CAAC,SAAS,KAAK,SAAS,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACjD,MAAM,CAAC,KAAK,CAAC,aAAa,KAAK,SAAS,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACrD,MAAM,CAAC,KAAK,CAAC,OAAO,CAAC,kBAAkB,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACrD,MAAM,CAAC,KAAK,CAAC,OAAO,CAAC,kBAAkB,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;IAC1D,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,iDAAiD,EAAE,GAAG,EAAE;QACvD,MAAM,KAAK,GAAG,6BAA6B,CAAC;YACxC,UAAU,EAAE,kBAAkB;YAC9B,EAAE;SACL,CAAC,CAAC,OAAO,CAAC,CAAC;QAEZ,MAAM,CAAC,KAAK,CAAC,SAAS,KAAK,SAAS,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACjD,MAAM,CAAC,KAAK,CAAC,aAAa,KAAK,SAAS,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IACzD,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,+CAA+C,EAAE,KAAK,IAAI,EAAE;QAC3D,MAAM,KAAK,GAAG,6BAA6B,CAAC;YACxC,UAAU,EAAE,kBAAkB;YAC9B,EAAE;YACF,IAAI,EAAE,KAAK;SACd,CAAC,CAAC,OAAO,CAAC,CAAC;QACZ,MAAM,aAAa,GAAG,MAAM,KAAK,CAAC,SAAU,CAAC;YACzC,UAAU,EAAE;gBACR,MAAM,EAAE,QAAQ;gBAChB,KAAK,EAAE,EAAE,MAAM,EAAE,QAAQ,EAAE;aAC9B;YACD,MAAM,EAAE;gBACJ,KAAK,EAAE,UAAU,CAAC,KAAK;aAC1B;YACD,UAAU,EAAE,kBAAkB;SACxB,CAAC,CAAC;QAEZ,MAAM,MAAM,CAAC,aAAa,CAAC,OAAO,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC,CAAC,QAAQ,CAAC,aAAa,CAAC;YAC/D,IAAI,EAAE,YAAY;YAClB,IAAI,EAAE,KAAK;SACd,CAAC,CAAC;IACP,CAAC,CAAC,CAAC;AACP,CAAC,CAAC,CAAC"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/installation/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACH,mCAAmC,EACnC,6BAA6B,EAC7B,KAAK,0CAA0C,EAC/C,KAAK,2BAA2B,EAChC,KAAK,uBAAuB,GAC/B,MAAM,0CAA0C,CAAC"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/installation/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACH,mCAAmC,EACnC,6BAA6B,GAIhC,MAAM,0CAA0C,CAAC"}
@@ -1,2 +0,0 @@
1
- export {};
2
- //# sourceMappingURL=actionTypeCollectionOptions.test.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"actionTypeCollectionOptions.test.d.ts","sourceRoot":"","sources":["../../src/meta/actionTypeCollectionOptions.test.ts"],"names":[],"mappings":""}