@party-stack/foundry-ontology 0.3.2 → 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 (110) hide show
  1. package/lib/adapter/convertLoadSubsetOptions.d.ts.map +1 -1
  2. package/lib/adapter/convertLoadSubsetOptions.js +21 -6
  3. package/lib/adapter/convertLoadSubsetOptions.js.map +1 -1
  4. package/lib/adapter/convertLoadSubsetOptions.test.js +11 -1
  5. package/lib/adapter/convertLoadSubsetOptions.test.js.map +1 -1
  6. package/lib/adapter/createFoundryOntologyBackendAdapter.d.ts +14 -0
  7. package/lib/adapter/createFoundryOntologyBackendAdapter.d.ts.map +1 -0
  8. package/lib/adapter/createFoundryOntologyBackendAdapter.js +251 -0
  9. package/lib/adapter/createFoundryOntologyBackendAdapter.js.map +1 -0
  10. package/lib/adapter/createFoundryOntologyBackendAdapter.test.d.ts +2 -0
  11. package/lib/adapter/createFoundryOntologyBackendAdapter.test.d.ts.map +1 -0
  12. package/lib/adapter/createFoundryOntologyBackendAdapter.test.js +175 -0
  13. package/lib/adapter/createFoundryOntologyBackendAdapter.test.js.map +1 -0
  14. package/lib/adapter/foundryCodec.d.ts +5 -1
  15. package/lib/adapter/foundryCodec.d.ts.map +1 -1
  16. package/lib/adapter/foundryCodec.js +24 -3
  17. package/lib/adapter/foundryCodec.js.map +1 -1
  18. package/lib/adapter/foundryCodec.test.js +23 -15
  19. package/lib/adapter/foundryCodec.test.js.map +1 -1
  20. package/lib/adapter/foundryMediaId.d.ts +11 -0
  21. package/lib/adapter/foundryMediaId.d.ts.map +1 -0
  22. package/lib/adapter/foundryMediaId.js +39 -0
  23. package/lib/adapter/foundryMediaId.js.map +1 -0
  24. package/lib/adapter/foundryMediaId.test.d.ts +2 -0
  25. package/lib/adapter/foundryMediaId.test.d.ts.map +1 -0
  26. package/lib/adapter/foundryMediaId.test.js +23 -0
  27. package/lib/adapter/foundryMediaId.test.js.map +1 -0
  28. package/lib/adapter/index.d.ts +1 -1
  29. package/lib/adapter/index.d.ts.map +1 -1
  30. package/lib/adapter/index.js +1 -1
  31. package/lib/adapter/index.js.map +1 -1
  32. package/lib/adapter/objectCollectionOptions.d.ts +1 -0
  33. package/lib/adapter/objectCollectionOptions.d.ts.map +1 -1
  34. package/lib/adapter/objectCollectionOptions.js +179 -56
  35. package/lib/adapter/objectCollectionOptions.js.map +1 -1
  36. package/lib/adapter/objectCollectionOptions.test.js +394 -6
  37. package/lib/adapter/objectCollectionOptions.test.js.map +1 -1
  38. package/lib/config/index.js +3 -3
  39. package/lib/config/index.js.map +1 -1
  40. package/lib/index.d.ts +1 -0
  41. package/lib/index.d.ts.map +1 -1
  42. package/lib/index.js +1 -0
  43. package/lib/index.js.map +1 -1
  44. package/lib/meta/actionTypeCollectionOptions.d.ts +2 -0
  45. package/lib/meta/actionTypeCollectionOptions.d.ts.map +1 -1
  46. package/lib/meta/actionTypeCollectionOptions.js +33 -40
  47. package/lib/meta/actionTypeCollectionOptions.js.map +1 -1
  48. package/lib/meta/actionTypeCollectionOptions.test.d.ts +2 -0
  49. package/lib/meta/actionTypeCollectionOptions.test.d.ts.map +1 -0
  50. package/lib/meta/actionTypeCollectionOptions.test.js +24 -0
  51. package/lib/meta/actionTypeCollectionOptions.test.js.map +1 -0
  52. package/lib/meta/convertActionTypeLoadSubsetOptions.d.ts +5 -0
  53. package/lib/meta/convertActionTypeLoadSubsetOptions.d.ts.map +1 -0
  54. package/lib/meta/convertActionTypeLoadSubsetOptions.js +72 -0
  55. package/lib/meta/convertActionTypeLoadSubsetOptions.js.map +1 -0
  56. package/lib/meta/convertActionTypeLoadSubsetOptions.test.d.ts +2 -0
  57. package/lib/meta/convertActionTypeLoadSubsetOptions.test.d.ts.map +1 -0
  58. package/lib/meta/convertActionTypeLoadSubsetOptions.test.js +119 -0
  59. package/lib/meta/convertActionTypeLoadSubsetOptions.test.js.map +1 -0
  60. package/lib/meta/convertMetaActionType.d.ts.map +1 -1
  61. package/lib/meta/convertMetaActionType.js +46 -9
  62. package/lib/meta/convertMetaActionType.js.map +1 -1
  63. package/lib/meta/convertMetaActionType.test.d.ts +2 -0
  64. package/lib/meta/convertMetaActionType.test.d.ts.map +1 -0
  65. package/lib/meta/convertMetaActionType.test.js +133 -0
  66. package/lib/meta/convertMetaActionType.test.js.map +1 -0
  67. package/lib/meta/convertMetaQueryFunctionType.d.ts +4 -0
  68. package/lib/meta/convertMetaQueryFunctionType.d.ts.map +1 -0
  69. package/lib/meta/convertMetaQueryFunctionType.js +118 -0
  70. package/lib/meta/convertMetaQueryFunctionType.js.map +1 -0
  71. package/lib/meta/convertMetaQueryFunctionType.test.d.ts +2 -0
  72. package/lib/meta/convertMetaQueryFunctionType.test.d.ts.map +1 -0
  73. package/lib/meta/convertMetaQueryFunctionType.test.js +134 -0
  74. package/lib/meta/convertMetaQueryFunctionType.test.js.map +1 -0
  75. package/lib/meta/createFoundryMetaOntologyBackendAdapter.d.ts +7 -0
  76. package/lib/meta/createFoundryMetaOntologyBackendAdapter.d.ts.map +1 -0
  77. package/lib/meta/{createFoundryMetaOntologyAdapter.js → createFoundryMetaOntologyBackendAdapter.js} +8 -2
  78. package/lib/meta/createFoundryMetaOntologyBackendAdapter.js.map +1 -0
  79. package/lib/meta/index.d.ts +1 -1
  80. package/lib/meta/index.d.ts.map +1 -1
  81. package/lib/meta/index.js +1 -1
  82. package/lib/meta/index.js.map +1 -1
  83. package/lib/meta/queryFunctionTypeCollectionOptions.d.ts +9 -0
  84. package/lib/meta/queryFunctionTypeCollectionOptions.d.ts.map +1 -0
  85. package/lib/meta/queryFunctionTypeCollectionOptions.js +60 -0
  86. package/lib/meta/queryFunctionTypeCollectionOptions.js.map +1 -0
  87. package/lib/stagedWrites.d.ts +40 -0
  88. package/lib/stagedWrites.d.ts.map +1 -0
  89. package/lib/stagedWrites.js +74 -0
  90. package/lib/stagedWrites.js.map +1 -0
  91. package/lib/stagedWrites.test.d.ts +2 -0
  92. package/lib/stagedWrites.test.d.ts.map +1 -0
  93. package/lib/stagedWrites.test.js +71 -0
  94. package/lib/stagedWrites.test.js.map +1 -0
  95. package/package.json +13 -12
  96. package/lib/adapter/createFoundryOntologyAdapter.d.ts +0 -7
  97. package/lib/adapter/createFoundryOntologyAdapter.d.ts.map +0 -1
  98. package/lib/adapter/createFoundryOntologyAdapter.js +0 -177
  99. package/lib/adapter/createFoundryOntologyAdapter.js.map +0 -1
  100. package/lib/adapter/sync.d.ts +0 -14
  101. package/lib/adapter/sync.d.ts.map +0 -1
  102. package/lib/adapter/sync.js +0 -238
  103. package/lib/adapter/sync.js.map +0 -1
  104. package/lib/adapter/sync.test.d.ts +0 -2
  105. package/lib/adapter/sync.test.d.ts.map +0 -1
  106. package/lib/adapter/sync.test.js +0 -245
  107. package/lib/adapter/sync.test.js.map +0 -1
  108. package/lib/meta/createFoundryMetaOntologyAdapter.d.ts +0 -7
  109. package/lib/meta/createFoundryMetaOntologyAdapter.d.ts.map +0 -1
  110. package/lib/meta/createFoundryMetaOntologyAdapter.js.map +0 -1
@@ -1,238 +0,0 @@
1
- import { ObjectTypesV2, } from "@osdk/foundry.ontologies";
2
- import { useObjectSetWatcherSubscription } from "@party-stack/foundry-object-set-watcher/effection";
3
- import { call, createSignal, run, spawn, suspend } from "effection";
4
- const EDIT_HISTORY_PAGE_SIZE = 1_000;
5
- function createEditHistoryCursor(timestamp = new Date().toISOString()) {
6
- return { timestamp, seenEntryKeysAtTimestamp: new Set() };
7
- }
8
- function getEditHistoryEntryKey(entry) {
9
- return JSON.stringify({
10
- objectPrimaryKey: entry.objectPrimaryKey,
11
- operationId: entry.operationId,
12
- timestamp: entry.timestamp,
13
- edit: entry.edit,
14
- });
15
- }
16
- function shouldProcessEditHistoryEntry(cursor, entry) {
17
- if (entry.timestamp < cursor.timestamp)
18
- return false;
19
- if (entry.timestamp === cursor.timestamp) {
20
- return !cursor.seenEntryKeysAtTimestamp.has(getEditHistoryEntryKey(entry));
21
- }
22
- return true;
23
- }
24
- function advanceEditHistoryCursor(cursor, entry) {
25
- const entryKey = getEditHistoryEntryKey(entry);
26
- if (entry.timestamp > cursor.timestamp) {
27
- cursor.timestamp = entry.timestamp;
28
- cursor.seenEntryKeysAtTimestamp.clear();
29
- }
30
- cursor.seenEntryKeysAtTimestamp.add(entryKey);
31
- }
32
- function isPlainObject(value) {
33
- return typeof value === "object" && value !== null && !Array.isArray(value);
34
- }
35
- function isNullPropertyValue(value) {
36
- return value === "NullPropertyValue{}";
37
- }
38
- const geoPointPattern = /^GeoPointPropertyValue\{latitude:\s*(-?[\d.]+),\s*longitude:\s*(-?[\d.]+)\}$/;
39
- function parseGeoPointPropertyValue(value) {
40
- if (typeof value !== "string")
41
- return undefined;
42
- const match = geoPointPattern.exec(value);
43
- if (!match)
44
- return undefined;
45
- const lat = Number(match[1]);
46
- const lon = Number(match[2]);
47
- if (Number.isNaN(lat) || Number.isNaN(lon))
48
- return undefined;
49
- return { lat, lon };
50
- }
51
- function isWrappedPrimitivePropertyValue(value) {
52
- if (!isPlainObject(value) || typeof value.type !== "string" || !("value" in value)) {
53
- return false;
54
- }
55
- return [
56
- "stringValue",
57
- "integerValue",
58
- "doubleValue",
59
- "longValue",
60
- "booleanValue",
61
- "dateValue",
62
- "timestampValue",
63
- ].includes(value.type);
64
- }
65
- function normalizeEditPropertyValue(value) {
66
- if (isNullPropertyValue(value))
67
- return undefined;
68
- const geoPoint = parseGeoPointPropertyValue(value);
69
- if (geoPoint)
70
- return geoPoint;
71
- if (isWrappedPrimitivePropertyValue(value))
72
- return value.value;
73
- if (Array.isArray(value))
74
- return value.map(normalizeEditPropertyValue);
75
- if (isPlainObject(value)) {
76
- return Object.fromEntries(Object.entries(value).map(([key, nestedValue]) => [key, normalizeEditPropertyValue(nestedValue)]));
77
- }
78
- return value;
79
- }
80
- function getPrimaryKeyValue(primaryKey) {
81
- const values = Object.values(primaryKey);
82
- if (values.length !== 1) {
83
- throw new Error("Foundry object collections currently only support single-field primary keys.");
84
- }
85
- const value = normalizeEditPropertyValue(values[0]);
86
- if (typeof value !== "string" && typeof value !== "number") {
87
- throw new Error("Foundry object collections currently only support string or number primary keys.");
88
- }
89
- return value;
90
- }
91
- export function createSyncConfig(opts) {
92
- const { client, objectType, operationIds, primaryKeyProperty, decodeObject = (object) => object } = opts;
93
- return {
94
- sync: (params) => {
95
- const { begin, write, commit, markReady } = params;
96
- const syncedKeys = new Set(params.collection.keys());
97
- const editHistoryCursor = createEditHistoryCursor();
98
- const invalidations = createSignal();
99
- const fetchEditHistoryPage = (body) => ObjectTypesV2.getEditsHistory(client, client.ontologyRid, objectType, body,
100
- // eslint-disable-next-line @typescript-eslint/no-unsafe-argument
101
- {
102
- preview: true,
103
- // eslint-disable-next-line @typescript-eslint/no-explicit-any
104
- });
105
- const decodeEditProperties = (properties, primaryKey) => decodeObject({
106
- ...Object.fromEntries(Object.entries(properties).map(([key, value]) => [
107
- key,
108
- normalizeEditPropertyValue(value),
109
- ])),
110
- [primaryKeyProperty]: primaryKey,
111
- });
112
- const getObjectKey = (object) => object[primaryKeyProperty];
113
- const upsertObject = (object) => {
114
- const key = getObjectKey(object);
115
- write({ type: syncedKeys.has(key) ? "update" : "insert", value: object });
116
- syncedKeys.add(key);
117
- };
118
- const deleteObjectByKey = (key) => {
119
- if (!syncedKeys.has(key))
120
- return false;
121
- write({ type: "delete", key });
122
- syncedKeys.delete(key);
123
- return true;
124
- };
125
- const catchUpFromEditHistory = function* () {
126
- const pendingMutations = new Map();
127
- const newOperationIds = new Set();
128
- let pageToken;
129
- while (true) {
130
- const page = yield* call(() => fetchEditHistoryPage({
131
- filters: {
132
- type: "timestampFilter",
133
- startTime: editHistoryCursor.timestamp,
134
- },
135
- includeAllPreviousProperties: true,
136
- pageSize: EDIT_HISTORY_PAGE_SIZE,
137
- pageToken,
138
- sortOrder: "oldest_first",
139
- }));
140
- for (const entry of page.data) {
141
- if (!shouldProcessEditHistoryEntry(editHistoryCursor, entry))
142
- continue;
143
- advanceEditHistoryCursor(editHistoryCursor, entry);
144
- newOperationIds.add(entry.operationId);
145
- const primaryKey = getPrimaryKeyValue(entry.objectPrimaryKey);
146
- switch (entry.edit.type) {
147
- case "createEdit":
148
- case "modifyEdit":
149
- pendingMutations.set(primaryKey, {
150
- type: "upsert",
151
- object: decodeEditProperties(entry.edit.properties, primaryKey),
152
- });
153
- break;
154
- case "deleteEdit":
155
- pendingMutations.set(primaryKey, { type: "delete" });
156
- break;
157
- }
158
- }
159
- if (page.nextPageToken === undefined) {
160
- break;
161
- }
162
- pageToken = page.nextPageToken;
163
- }
164
- let transactionStarted = false;
165
- for (const [primaryKey, mutation] of pendingMutations) {
166
- if (mutation.type === "delete" && !syncedKeys.has(primaryKey)) {
167
- continue;
168
- }
169
- if (!transactionStarted) {
170
- begin({ immediate: true });
171
- transactionStarted = true;
172
- }
173
- if (mutation.type === "delete") {
174
- deleteObjectByKey(primaryKey);
175
- }
176
- else {
177
- upsertObject(mutation.object);
178
- }
179
- }
180
- if (transactionStarted) {
181
- commit();
182
- }
183
- for (const operationId of newOperationIds) {
184
- yield* operationIds.send(operationId);
185
- }
186
- };
187
- const task = run(function* () {
188
- void (yield* spawn(function* () {
189
- const messages = yield* useObjectSetWatcherSubscription({
190
- type: "base",
191
- objectType,
192
- });
193
- while (true) {
194
- const nextMessage = yield* messages.next();
195
- if (nextMessage.done) {
196
- break;
197
- }
198
- const message = nextMessage.value;
199
- switch (message.type) {
200
- case "change":
201
- case "refresh":
202
- invalidations.send();
203
- break;
204
- case "state":
205
- if (message.status === "open") {
206
- invalidations.send();
207
- }
208
- break;
209
- }
210
- }
211
- }));
212
- void (yield* spawn(function* () {
213
- const requests = yield* invalidations;
214
- while (true) {
215
- const nextRequest = yield* requests.next();
216
- if (nextRequest.done) {
217
- break;
218
- }
219
- try {
220
- yield* catchUpFromEditHistory();
221
- }
222
- catch (error) {
223
- console.error("Error during edit history catch-up", error);
224
- }
225
- }
226
- }));
227
- markReady();
228
- yield* suspend();
229
- });
230
- return {
231
- cleanup: () => {
232
- void task.halt();
233
- },
234
- };
235
- },
236
- };
237
- }
238
- //# sourceMappingURL=sync.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"sync.js","sourceRoot":"","sources":["../../src/adapter/sync.ts"],"names":[],"mappings":"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"}
@@ -1,2 +0,0 @@
1
- export {};
2
- //# sourceMappingURL=sync.test.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"sync.test.d.ts","sourceRoot":"","sources":["../../src/adapter/sync.test.ts"],"names":[],"mappings":""}
@@ -1,245 +0,0 @@
1
- import { createChannel, createSignal, run } from "effection";
2
- import { beforeEach, describe, expect, it, vi } from "vitest";
3
- import { createSyncConfig } from "./sync.js";
4
- const mockState = vi.hoisted(() => ({
5
- getEditsHistory: vi.fn(),
6
- messages: undefined,
7
- }));
8
- vi.mock("@osdk/foundry.ontologies", () => ({
9
- ObjectTypesV2: {
10
- getEditsHistory: mockState.getEditsHistory,
11
- },
12
- }));
13
- vi.mock("@party-stack/foundry-object-set-watcher/effection", () => ({
14
- useObjectSetWatcherSubscription: function* () {
15
- if (!mockState.messages) {
16
- throw new Error("Subscription stream has not been initialized");
17
- }
18
- return yield* mockState.messages;
19
- },
20
- }));
21
- function deferred() {
22
- let resolve;
23
- let reject;
24
- const promise = new Promise((resolvePromise, rejectPromise) => {
25
- resolve = resolvePromise;
26
- reject = rejectPromise;
27
- });
28
- return { promise, resolve, reject };
29
- }
30
- function createSyncHarness(initialObjects = []) {
31
- const syncedData = new Map(initialObjects.map((object) => [object.employeeId, object]));
32
- const observedOperationIds = [];
33
- const writes = [];
34
- const operationIds = createChannel();
35
- const operationIdsTask = run(function* () {
36
- const stream = yield* operationIds;
37
- while (true) {
38
- const next = yield* stream.next();
39
- if (next.done) {
40
- break;
41
- }
42
- observedOperationIds.push(next.value);
43
- }
44
- });
45
- const begin = vi.fn();
46
- const commit = vi.fn();
47
- const markReady = vi.fn();
48
- const sync = createSyncConfig({
49
- client: {
50
- baseUrl: "https://example.com",
51
- fetch: vi.fn(),
52
- ontologyRid: "ri.ontology.main",
53
- tokenProvider: () => Promise.resolve("token"),
54
- },
55
- objectType: "Employee",
56
- operationIds,
57
- primaryKeyProperty: "employeeId",
58
- });
59
- const handle = sync.sync({
60
- begin,
61
- collection: {
62
- keys: () => syncedData.keys(),
63
- },
64
- commit,
65
- markReady,
66
- truncate: vi.fn(),
67
- write: (mutation) => {
68
- const key = mutation.type === "delete"
69
- ? mutation.key
70
- : mutation.value
71
- .employeeId;
72
- writes.push({ type: mutation.type, primaryKey: key });
73
- if (mutation.type === "delete") {
74
- syncedData.delete(key);
75
- return;
76
- }
77
- const value = mutation.value;
78
- syncedData.set(key, value);
79
- },
80
- });
81
- return {
82
- begin,
83
- cleanup: () => {
84
- handle.cleanup();
85
- void operationIdsTask.halt();
86
- },
87
- commit,
88
- markReady,
89
- observedOperationIds,
90
- syncedData,
91
- writes,
92
- };
93
- }
94
- describe("createSyncConfig", () => {
95
- beforeEach(() => {
96
- mockState.getEditsHistory.mockReset();
97
- mockState.messages = createSignal();
98
- });
99
- it("reconciles history after the watcher opens", async () => {
100
- mockState.getEditsHistory.mockResolvedValue({
101
- data: [
102
- {
103
- objectPrimaryKey: { employeeId: 1 },
104
- operationId: "op-1",
105
- actionTypeRid: "action-1",
106
- userId: "user-1",
107
- timestamp: "2099-03-12T12:00:00.000Z",
108
- edit: {
109
- type: "modifyEdit",
110
- previousProperties: {},
111
- properties: {
112
- employeeId: 1,
113
- name: "Updated Employee",
114
- },
115
- },
116
- },
117
- ],
118
- nextPageToken: undefined,
119
- });
120
- const harness = createSyncHarness();
121
- await vi.waitFor(() => expect(harness.markReady).toHaveBeenCalledTimes(1));
122
- mockState.messages?.send({ type: "state", status: "open" });
123
- await vi.waitFor(() => {
124
- expect(mockState.getEditsHistory).toHaveBeenCalledTimes(1);
125
- expect(harness.syncedData.get(1)).toEqual({
126
- employeeId: 1,
127
- name: "Updated Employee",
128
- });
129
- });
130
- harness.cleanup();
131
- });
132
- it("runs a follow-up drain when another trigger arrives mid-catch-up", async () => {
133
- const firstPage = deferred();
134
- mockState.getEditsHistory
135
- .mockImplementationOnce(() => firstPage.promise)
136
- .mockResolvedValueOnce({
137
- data: [
138
- {
139
- objectPrimaryKey: { employeeId: 1 },
140
- operationId: "op-1",
141
- actionTypeRid: "action-1",
142
- userId: "user-1",
143
- timestamp: "2099-03-12T12:00:00.000Z",
144
- edit: {
145
- type: "modifyEdit",
146
- previousProperties: {},
147
- properties: {
148
- employeeId: 1,
149
- name: "Employee One",
150
- },
151
- },
152
- },
153
- {
154
- objectPrimaryKey: { employeeId: 2 },
155
- operationId: "op-2",
156
- actionTypeRid: "action-1",
157
- userId: "user-1",
158
- timestamp: "2099-03-12T12:00:00.000Z",
159
- edit: {
160
- type: "modifyEdit",
161
- previousProperties: {},
162
- properties: {
163
- employeeId: 2,
164
- name: "Employee Two",
165
- },
166
- },
167
- },
168
- ],
169
- nextPageToken: undefined,
170
- });
171
- const harness = createSyncHarness();
172
- await vi.waitFor(() => expect(harness.markReady).toHaveBeenCalledTimes(1));
173
- mockState.messages?.send({ type: "state", status: "open" });
174
- await vi.waitFor(() => expect(mockState.getEditsHistory).toHaveBeenCalledTimes(1));
175
- mockState.messages?.send({ type: "change", updates: [] });
176
- firstPage.resolve({
177
- data: [
178
- {
179
- objectPrimaryKey: { employeeId: 1 },
180
- operationId: "op-1",
181
- actionTypeRid: "action-1",
182
- userId: "user-1",
183
- timestamp: "2099-03-12T12:00:00.000Z",
184
- edit: {
185
- type: "modifyEdit",
186
- previousProperties: {},
187
- properties: {
188
- employeeId: 1,
189
- name: "Employee One",
190
- },
191
- },
192
- },
193
- ],
194
- nextPageToken: undefined,
195
- });
196
- await vi.waitFor(() => {
197
- expect(mockState.getEditsHistory).toHaveBeenCalledTimes(2);
198
- expect(harness.syncedData.get(1)).toEqual({
199
- employeeId: 1,
200
- name: "Employee One",
201
- });
202
- expect(harness.syncedData.get(2)).toEqual({
203
- employeeId: 2,
204
- name: "Employee Two",
205
- });
206
- expect(harness.writes).toEqual([
207
- { type: "insert", primaryKey: 1 },
208
- { type: "insert", primaryKey: 2 },
209
- ]);
210
- });
211
- harness.cleanup();
212
- });
213
- it("pushes encountered operation ids into the provided channel", async () => {
214
- mockState.getEditsHistory.mockResolvedValue({
215
- data: [
216
- {
217
- objectPrimaryKey: { employeeId: 11 },
218
- operationId: "op-11",
219
- actionTypeRid: "action-1",
220
- userId: "user-1",
221
- timestamp: "2099-03-12T12:06:00.000Z",
222
- edit: {
223
- type: "createEdit",
224
- properties: {
225
- employeeId: 11,
226
- name: "Operation Eleven",
227
- },
228
- },
229
- },
230
- ],
231
- nextPageToken: undefined,
232
- });
233
- const harness = createSyncHarness();
234
- await vi.waitFor(() => expect(harness.markReady).toHaveBeenCalledTimes(1));
235
- mockState.messages?.send({ type: "state", status: "open" });
236
- await vi.waitFor(() => expect(harness.observedOperationIds).toEqual(["op-11"]));
237
- expect(mockState.getEditsHistory).toHaveBeenCalledTimes(1);
238
- expect(harness.syncedData.get(11)).toEqual({
239
- employeeId: 11,
240
- name: "Operation Eleven",
241
- });
242
- harness.cleanup();
243
- });
244
- });
245
- //# sourceMappingURL=sync.test.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"sync.test.js","sourceRoot":"","sources":["../../src/adapter/sync.test.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,YAAY,EAAE,GAAG,EAAe,MAAM,WAAW,CAAC;AAC1E,OAAO,EAAE,UAAU,EAAE,QAAQ,EAAE,MAAM,EAAE,EAAE,EAAE,EAAE,EAAE,MAAM,QAAQ,CAAC;AAE9D,OAAO,EAAE,gBAAgB,EAAE,MAAM,WAAW,CAAC;AAE7C,MAAM,SAAS,GAAG,EAAE,CAAC,OAAO,CAAC,GAAG,EAAE,CAAC,CAAC;IAChC,eAAe,EAAE,EAAE,CAAC,EAAE,EAAE;IACxB,QAAQ,EAAE,SAAmE;CAChF,CAAC,CAAC,CAAC;AAEJ,EAAE,CAAC,IAAI,CAAC,0BAA0B,EAAE,GAAG,EAAE,CAAC,CAAC;IACvC,aAAa,EAAE;QACX,eAAe,EAAE,SAAS,CAAC,eAAe;KAC7C;CACJ,CAAC,CAAC,CAAC;AAEJ,EAAE,CAAC,IAAI,CAAC,mDAAmD,EAAE,GAAG,EAAE,CAAC,CAAC;IAChE,+BAA+B,EAAE,QAAQ,CAAC;QACtC,IAAI,CAAC,SAAS,CAAC,QAAQ,EAAE,CAAC;YACtB,MAAM,IAAI,KAAK,CAAC,8CAA8C,CAAC,CAAC;QACpE,CAAC;QACD,OAAO,KAAK,CAAC,CAAC,SAAS,CAAC,QAAQ,CAAC;IACrC,CAAC;CACJ,CAAC,CAAC,CAAC;AAEJ,SAAS,QAAQ;IACb,IAAI,OAA4B,CAAC;IACjC,IAAI,MAAiC,CAAC;IACtC,MAAM,OAAO,GAAG,IAAI,OAAO,CAAI,CAAC,cAAc,EAAE,aAAa,EAAE,EAAE;QAC7D,OAAO,GAAG,cAAc,CAAC;QACzB,MAAM,GAAG,aAAa,CAAC;IAC3B,CAAC,CAAC,CAAC;IACH,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,MAAM,EAAE,CAAC;AACxC,CAAC;AAED,SAAS,iBAAiB,CAAC,iBAAiD,EAAE;IAC1E,MAAM,UAAU,GAAG,IAAI,GAAG,CACtB,cAAc,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC,MAAM,CAAC,UAA6B,EAAE,MAAM,CAAC,CAAC,CACjF,CAAC;IACF,MAAM,oBAAoB,GAAa,EAAE,CAAC;IAC1C,MAAM,MAAM,GAAyD,EAAE,CAAC;IACxE,MAAM,YAAY,GAAG,aAAa,EAAgB,CAAC;IACnD,MAAM,gBAAgB,GAAG,GAAG,CAAC,QAAQ,CAAC;QAClC,MAAM,MAAM,GAAG,KAAK,CAAC,CAAC,YAAY,CAAC;QACnC,OAAO,IAAI,EAAE,CAAC;YACV,MAAM,IAAI,GAAG,KAAK,CAAC,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC;YAClC,IAAI,IAAI,CAAC,IAAI,EAAE,CAAC;gBACZ,MAAM;YACV,CAAC;YACD,oBAAoB,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QAC1C,CAAC;IACL,CAAC,CAAC,CAAC;IACH,MAAM,KAAK,GAAG,EAAE,CAAC,EAAE,EAAE,CAAC;IACtB,MAAM,MAAM,GAAG,EAAE,CAAC,EAAE,EAAE,CAAC;IACvB,MAAM,SAAS,GAAG,EAAE,CAAC,EAAE,EAAE,CAAC;IAE1B,MAAM,IAAI,GAAG,gBAAgB,CAAC;QAC1B,MAAM,EAAE;YACJ,OAAO,EAAE,qBAAqB;YAC9B,KAAK,EAAE,EAAE,CAAC,EAAE,EAAE;YACd,WAAW,EAAE,kBAAkB;YAC/B,aAAa,EAAE,GAAG,EAAE,CAAC,OAAO,CAAC,OAAO,CAAC,OAAO,CAAC;SACvC;QACV,UAAU,EAAE,UAAU;QACtB,YAAY;QACZ,kBAAkB,EAAE,YAAY;KACnC,CAAC,CAAC;IAEH,MAAM,MAAM,GAAG,IAAI,CAAC,IAAI,CAAC;QACrB,KAAK;QACL,UAAU,EAAE;YACR,IAAI,EAAE,GAAG,EAAE,CAAC,UAAU,CAAC,IAAI,EAAE;SACvB;QACV,MAAM;QACN,SAAS;QACT,QAAQ,EAAE,EAAE,CAAC,EAAE,EAAE;QACjB,KAAK,EAAE,CAAC,QAAiC,EAAE,EAAE;YACzC,MAAM,GAAG,GACL,QAAQ,CAAC,IAAI,KAAK,QAAQ;gBACtB,CAAC,CAAE,QAAqC,CAAC,GAAG;gBAC5C,CAAC,CAAG,QAA+C,CAAC,KAAK;qBAClD,UAA8B,CAAC;YAC9C,MAAM,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,QAAQ,CAAC,IAAc,EAAE,UAAU,EAAE,GAAG,EAAE,CAAC,CAAC;YAEhE,IAAI,QAAQ,CAAC,IAAI,KAAK,QAAQ,EAAE,CAAC;gBAC7B,UAAU,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;gBACvB,OAAO;YACX,CAAC;YAED,MAAM,KAAK,GAAI,QAA+C,CAAC,KAAK,CAAC;YACrE,UAAU,CAAC,GAAG,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC;QAC/B,CAAC;KACJ,CAA4B,CAAC;IAE9B,OAAO;QACH,KAAK;QACL,OAAO,EAAE,GAAG,EAAE;YACV,MAAM,CAAC,OAAO,EAAE,CAAC;YACjB,KAAK,gBAAgB,CAAC,IAAI,EAAE,CAAC;QACjC,CAAC;QACD,MAAM;QACN,SAAS;QACT,oBAAoB;QACpB,UAAU;QACV,MAAM;KACT,CAAC;AACN,CAAC;AAED,QAAQ,CAAC,kBAAkB,EAAE,GAAG,EAAE;IAC9B,UAAU,CAAC,GAAG,EAAE;QACZ,SAAS,CAAC,eAAe,CAAC,SAAS,EAAE,CAAC;QACtC,SAAS,CAAC,QAAQ,GAAG,YAAY,EAAsC,CAAC;IAC5E,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,4CAA4C,EAAE,KAAK,IAAI,EAAE;QACxD,SAAS,CAAC,eAAe,CAAC,iBAAiB,CAAC;YACxC,IAAI,EAAE;gBACF;oBACI,gBAAgB,EAAE,EAAE,UAAU,EAAE,CAAC,EAAE;oBACnC,WAAW,EAAE,MAAM;oBACnB,aAAa,EAAE,UAAU;oBACzB,MAAM,EAAE,QAAQ;oBAChB,SAAS,EAAE,0BAA0B;oBACrC,IAAI,EAAE;wBACF,IAAI,EAAE,YAAY;wBAClB,kBAAkB,EAAE,EAAE;wBACtB,UAAU,EAAE;4BACR,UAAU,EAAE,CAAC;4BACb,IAAI,EAAE,kBAAkB;yBAC3B;qBACJ;iBACJ;aACJ;YACD,aAAa,EAAE,SAAS;SAC3B,CAAC,CAAC;QAEH,MAAM,OAAO,GAAG,iBAAiB,EAAE,CAAC;QACpC,MAAM,EAAE,CAAC,OAAO,CAAC,GAAG,EAAE,CAAC,MAAM,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC,qBAAqB,CAAC,CAAC,CAAC,CAAC,CAAC;QAE3E,SAAS,CAAC,QAAQ,EAAE,IAAI,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,CAAC,CAAC;QAE5D,MAAM,EAAE,CAAC,OAAO,CAAC,GAAG,EAAE;YAClB,MAAM,CAAC,SAAS,CAAC,eAAe,CAAC,CAAC,qBAAqB,CAAC,CAAC,CAAC,CAAC;YAC3D,MAAM,CAAC,OAAO,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC;gBACtC,UAAU,EAAE,CAAC;gBACb,IAAI,EAAE,kBAAkB;aAC3B,CAAC,CAAC;QACP,CAAC,CAAC,CAAC;QAEH,OAAO,CAAC,OAAO,EAAE,CAAC;IACtB,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,kEAAkE,EAAE,KAAK,IAAI,EAAE;QAC9E,MAAM,SAAS,GAAG,QAAQ,EAAoE,CAAC;QAC/F,SAAS,CAAC,eAAe;aACpB,sBAAsB,CAAC,GAAG,EAAE,CAAC,SAAS,CAAC,OAAO,CAAC;aAC/C,qBAAqB,CAAC;YACnB,IAAI,EAAE;gBACF;oBACI,gBAAgB,EAAE,EAAE,UAAU,EAAE,CAAC,EAAE;oBACnC,WAAW,EAAE,MAAM;oBACnB,aAAa,EAAE,UAAU;oBACzB,MAAM,EAAE,QAAQ;oBAChB,SAAS,EAAE,0BAA0B;oBACrC,IAAI,EAAE;wBACF,IAAI,EAAE,YAAY;wBAClB,kBAAkB,EAAE,EAAE;wBACtB,UAAU,EAAE;4BACR,UAAU,EAAE,CAAC;4BACb,IAAI,EAAE,cAAc;yBACvB;qBACJ;iBACJ;gBACD;oBACI,gBAAgB,EAAE,EAAE,UAAU,EAAE,CAAC,EAAE;oBACnC,WAAW,EAAE,MAAM;oBACnB,aAAa,EAAE,UAAU;oBACzB,MAAM,EAAE,QAAQ;oBAChB,SAAS,EAAE,0BAA0B;oBACrC,IAAI,EAAE;wBACF,IAAI,EAAE,YAAY;wBAClB,kBAAkB,EAAE,EAAE;wBACtB,UAAU,EAAE;4BACR,UAAU,EAAE,CAAC;4BACb,IAAI,EAAE,cAAc;yBACvB;qBACJ;iBACJ;aACJ;YACD,aAAa,EAAE,SAAS;SAC3B,CAAC,CAAC;QAEP,MAAM,OAAO,GAAG,iBAAiB,EAAE,CAAC;QACpC,MAAM,EAAE,CAAC,OAAO,CAAC,GAAG,EAAE,CAAC,MAAM,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC,qBAAqB,CAAC,CAAC,CAAC,CAAC,CAAC;QAE3E,SAAS,CAAC,QAAQ,EAAE,IAAI,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,CAAC,CAAC;QAC5D,MAAM,EAAE,CAAC,OAAO,CAAC,GAAG,EAAE,CAAC,MAAM,CAAC,SAAS,CAAC,eAAe,CAAC,CAAC,qBAAqB,CAAC,CAAC,CAAC,CAAC,CAAC;QAEnF,SAAS,CAAC,QAAQ,EAAE,IAAI,CAAC,EAAE,IAAI,EAAE,QAAQ,EAAE,OAAO,EAAE,EAAE,EAAE,CAAC,CAAC;QAC1D,SAAS,CAAC,OAAO,CAAC;YACd,IAAI,EAAE;gBACF;oBACI,gBAAgB,EAAE,EAAE,UAAU,EAAE,CAAC,EAAE;oBACnC,WAAW,EAAE,MAAM;oBACnB,aAAa,EAAE,UAAU;oBACzB,MAAM,EAAE,QAAQ;oBAChB,SAAS,EAAE,0BAA0B;oBACrC,IAAI,EAAE;wBACF,IAAI,EAAE,YAAY;wBAClB,kBAAkB,EAAE,EAAE;wBACtB,UAAU,EAAE;4BACR,UAAU,EAAE,CAAC;4BACb,IAAI,EAAE,cAAc;yBACvB;qBACJ;iBACJ;aACJ;YACD,aAAa,EAAE,SAAS;SAC3B,CAAC,CAAC;QAEH,MAAM,EAAE,CAAC,OAAO,CAAC,GAAG,EAAE;YAClB,MAAM,CAAC,SAAS,CAAC,eAAe,CAAC,CAAC,qBAAqB,CAAC,CAAC,CAAC,CAAC;YAC3D,MAAM,CAAC,OAAO,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC;gBACtC,UAAU,EAAE,CAAC;gBACb,IAAI,EAAE,cAAc;aACvB,CAAC,CAAC;YACH,MAAM,CAAC,OAAO,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC;gBACtC,UAAU,EAAE,CAAC;gBACb,IAAI,EAAE,cAAc;aACvB,CAAC,CAAC;YACH,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,OAAO,CAAC;gBAC3B,EAAE,IAAI,EAAE,QAAQ,EAAE,UAAU,EAAE,CAAC,EAAE;gBACjC,EAAE,IAAI,EAAE,QAAQ,EAAE,UAAU,EAAE,CAAC,EAAE;aACpC,CAAC,CAAC;QACP,CAAC,CAAC,CAAC;QAEH,OAAO,CAAC,OAAO,EAAE,CAAC;IACtB,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,4DAA4D,EAAE,KAAK,IAAI,EAAE;QACxE,SAAS,CAAC,eAAe,CAAC,iBAAiB,CAAC;YACxC,IAAI,EAAE;gBACF;oBACI,gBAAgB,EAAE,EAAE,UAAU,EAAE,EAAE,EAAE;oBACpC,WAAW,EAAE,OAAO;oBACpB,aAAa,EAAE,UAAU;oBACzB,MAAM,EAAE,QAAQ;oBAChB,SAAS,EAAE,0BAA0B;oBACrC,IAAI,EAAE;wBACF,IAAI,EAAE,YAAY;wBAClB,UAAU,EAAE;4BACR,UAAU,EAAE,EAAE;4BACd,IAAI,EAAE,kBAAkB;yBAC3B;qBACJ;iBACJ;aACJ;YACD,aAAa,EAAE,SAAS;SAC3B,CAAC,CAAC;QAEH,MAAM,OAAO,GAAG,iBAAiB,EAAE,CAAC;QACpC,MAAM,EAAE,CAAC,OAAO,CAAC,GAAG,EAAE,CAAC,MAAM,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC,qBAAqB,CAAC,CAAC,CAAC,CAAC,CAAC;QAE3E,SAAS,CAAC,QAAQ,EAAE,IAAI,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,CAAC,CAAC;QAE5D,MAAM,EAAE,CAAC,OAAO,CAAC,GAAG,EAAE,CAClB,MAAM,CAAC,OAAO,CAAC,oBAAoB,CAAC,CAAC,OAAO,CAAC,CAAC,OAAO,CAAC,CAAC,CAC1D,CAAC;QAEF,MAAM,CAAC,SAAS,CAAC,eAAe,CAAC,CAAC,qBAAqB,CAAC,CAAC,CAAC,CAAC;QAC3D,MAAM,CAAC,OAAO,CAAC,UAAU,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC;YACvC,UAAU,EAAE,EAAE;YACd,IAAI,EAAE,kBAAkB;SAC3B,CAAC,CAAC;QAEH,OAAO,CAAC,OAAO,EAAE,CAAC;IACtB,CAAC,CAAC,CAAC;AACP,CAAC,CAAC,CAAC"}
@@ -1,7 +0,0 @@
1
- import type { OntologyClient } from "@party-stack/foundry-client";
2
- import type { OntologyAdapter } from "@party-stack/ontology";
3
- export interface CreateFoundryMetaOntologyAdapterOpts {
4
- client: OntologyClient;
5
- }
6
- export declare function createFoundryMetaOntologyAdapter(opts: CreateFoundryMetaOntologyAdapterOpts): OntologyAdapter;
7
- //# sourceMappingURL=createFoundryMetaOntologyAdapter.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"createFoundryMetaOntologyAdapter.d.ts","sourceRoot":"","sources":["../../src/meta/createFoundryMetaOntologyAdapter.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,6BAA6B,CAAC;AAClE,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAC;AAS7D,MAAM,WAAW,oCAAoC;IACjD,MAAM,EAAE,cAAc,CAAC;CAC1B;AAED,wBAAgB,gCAAgC,CAC5C,IAAI,EAAE,oCAAoC,GAC3C,eAAe,CA0BjB"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"createFoundryMetaOntologyAdapter.js","sourceRoot":"","sources":["../../src/meta/createFoundryMetaOntologyAdapter.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;AAMtC,MAAM,UAAU,gCAAgC,CAC5C,IAA0C;IAE1C,MAAM,QAAQ,GAAG,0BAA0B,CAAC,EAAE,MAAM,EAAE,IAAI,CAAC,MAAM,EAAE,CAAC,CAAC;IAErE,OAAO;QACH,IAAI,EAAE,kBAAkB;QACxB,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,EAAE,MAAM,EAAE,IAAI,CAAC,MAAM,EAAE,CAAC,CAAC;gBAChE;oBACI,MAAM,IAAI,KAAK,CAAC,6CAA6C,UAAU,IAAI,CAAC,CAAC;YACrF,CAAC;QACL,CAAC;QACD,WAAW,EAAE,GAAG,EAAE;YACd,cAAc,EAAE,CAAC;QACrB,CAAC;QACD,OAAO,EAAE,KAAK,IAAI,EAAE;YAChB,MAAM,QAAQ,CAAC,OAAO,EAAE,CAAC;QAC7B,CAAC;KACJ,CAAC;AACN,CAAC"}