@deepfates/lync 0.3.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 (136) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +374 -0
  3. package/bin/lync.js +2 -0
  4. package/dist/cli/bin.d.ts +3 -0
  5. package/dist/cli/bin.d.ts.map +1 -0
  6. package/dist/cli/bin.js +5 -0
  7. package/dist/cli/bin.js.map +1 -0
  8. package/dist/cli/index.d.ts +11 -0
  9. package/dist/cli/index.d.ts.map +1 -0
  10. package/dist/cli/index.js +404 -0
  11. package/dist/cli/index.js.map +1 -0
  12. package/dist/cli/sync.d.ts +42 -0
  13. package/dist/cli/sync.d.ts.map +1 -0
  14. package/dist/cli/sync.js +232 -0
  15. package/dist/cli/sync.js.map +1 -0
  16. package/dist/client/create.d.ts +10 -0
  17. package/dist/client/create.d.ts.map +1 -0
  18. package/dist/client/create.js +50 -0
  19. package/dist/client/create.js.map +1 -0
  20. package/dist/client/index.d.ts +3 -0
  21. package/dist/client/index.d.ts.map +1 -0
  22. package/dist/client/index.js +3 -0
  23. package/dist/client/index.js.map +1 -0
  24. package/dist/client/testing.d.ts +14 -0
  25. package/dist/client/testing.d.ts.map +1 -0
  26. package/dist/client/testing.js +19 -0
  27. package/dist/client/testing.js.map +1 -0
  28. package/dist/client/types.d.ts +49 -0
  29. package/dist/client/types.d.ts.map +1 -0
  30. package/dist/client/types.js +2 -0
  31. package/dist/client/types.js.map +1 -0
  32. package/dist/errors.d.ts +16 -0
  33. package/dist/errors.d.ts.map +1 -0
  34. package/dist/errors.js +39 -0
  35. package/dist/errors.js.map +1 -0
  36. package/dist/events.d.ts +119 -0
  37. package/dist/events.d.ts.map +1 -0
  38. package/dist/events.js +686 -0
  39. package/dist/events.js.map +1 -0
  40. package/dist/file-log.d.ts +25 -0
  41. package/dist/file-log.d.ts.map +1 -0
  42. package/dist/file-log.js +97 -0
  43. package/dist/file-log.js.map +1 -0
  44. package/dist/idb-log.d.ts +21 -0
  45. package/dist/idb-log.d.ts.map +1 -0
  46. package/dist/idb-log.js +114 -0
  47. package/dist/idb-log.js.map +1 -0
  48. package/dist/index.d.ts +9 -0
  49. package/dist/index.d.ts.map +1 -0
  50. package/dist/index.js +11 -0
  51. package/dist/index.js.map +1 -0
  52. package/dist/indexes/entries.d.ts +6 -0
  53. package/dist/indexes/entries.d.ts.map +1 -0
  54. package/dist/indexes/entries.js +7 -0
  55. package/dist/indexes/entries.js.map +1 -0
  56. package/dist/indexes/index.d.ts +3 -0
  57. package/dist/indexes/index.d.ts.map +1 -0
  58. package/dist/indexes/index.js +3 -0
  59. package/dist/indexes/index.js.map +1 -0
  60. package/dist/indexes/memory.d.ts +4 -0
  61. package/dist/indexes/memory.d.ts.map +1 -0
  62. package/dist/indexes/memory.js +193 -0
  63. package/dist/indexes/memory.js.map +1 -0
  64. package/dist/indexes/types.d.ts +70 -0
  65. package/dist/indexes/types.d.ts.map +1 -0
  66. package/dist/indexes/types.js +2 -0
  67. package/dist/indexes/types.js.map +1 -0
  68. package/dist/json.d.ts +3 -0
  69. package/dist/json.d.ts.map +1 -0
  70. package/dist/json.js +15 -0
  71. package/dist/json.js.map +1 -0
  72. package/dist/looms.d.ts +25 -0
  73. package/dist/looms.d.ts.map +1 -0
  74. package/dist/looms.js +359 -0
  75. package/dist/looms.js.map +1 -0
  76. package/dist/memory-log.d.ts +5 -0
  77. package/dist/memory-log.d.ts.map +1 -0
  78. package/dist/memory-log.js +7 -0
  79. package/dist/memory-log.js.map +1 -0
  80. package/dist/memory.d.ts +4 -0
  81. package/dist/memory.d.ts.map +1 -0
  82. package/dist/memory.js +255 -0
  83. package/dist/memory.js.map +1 -0
  84. package/dist/profiles/text-story.d.ts +26 -0
  85. package/dist/profiles/text-story.d.ts.map +1 -0
  86. package/dist/profiles/text-story.js +55 -0
  87. package/dist/profiles/text-story.js.map +1 -0
  88. package/dist/references.d.ts +14 -0
  89. package/dist/references.d.ts.map +1 -0
  90. package/dist/references.js +109 -0
  91. package/dist/references.js.map +1 -0
  92. package/dist/relay/attach.d.ts +24 -0
  93. package/dist/relay/attach.d.ts.map +1 -0
  94. package/dist/relay/attach.js +54 -0
  95. package/dist/relay/attach.js.map +1 -0
  96. package/dist/relay/index.d.ts +4 -0
  97. package/dist/relay/index.d.ts.map +1 -0
  98. package/dist/relay/index.js +4 -0
  99. package/dist/relay/index.js.map +1 -0
  100. package/dist/relay/relay.d.ts +80 -0
  101. package/dist/relay/relay.d.ts.map +1 -0
  102. package/dist/relay/relay.js +329 -0
  103. package/dist/relay/relay.js.map +1 -0
  104. package/dist/relay/serve.d.ts +18 -0
  105. package/dist/relay/serve.d.ts.map +1 -0
  106. package/dist/relay/serve.js +37 -0
  107. package/dist/relay/serve.js.map +1 -0
  108. package/dist/sha256.d.ts +2 -0
  109. package/dist/sha256.d.ts.map +1 -0
  110. package/dist/sha256.js +84 -0
  111. package/dist/sha256.js.map +1 -0
  112. package/dist/store.d.ts +97 -0
  113. package/dist/store.d.ts.map +1 -0
  114. package/dist/store.js +250 -0
  115. package/dist/store.js.map +1 -0
  116. package/dist/sync-protocol.d.ts +80 -0
  117. package/dist/sync-protocol.d.ts.map +1 -0
  118. package/dist/sync-protocol.js +135 -0
  119. package/dist/sync-protocol.js.map +1 -0
  120. package/dist/synced-store.d.ts +68 -0
  121. package/dist/synced-store.d.ts.map +1 -0
  122. package/dist/synced-store.js +340 -0
  123. package/dist/synced-store.js.map +1 -0
  124. package/dist/types.d.ts +78 -0
  125. package/dist/types.d.ts.map +1 -0
  126. package/dist/types.js +2 -0
  127. package/dist/types.js.map +1 -0
  128. package/dist/uuid.d.ts +9 -0
  129. package/dist/uuid.d.ts.map +1 -0
  130. package/dist/uuid.js +25 -0
  131. package/dist/uuid.js.map +1 -0
  132. package/dist/views.d.ts +78 -0
  133. package/dist/views.d.ts.map +1 -0
  134. package/dist/views.js +192 -0
  135. package/dist/views.js.map +1 -0
  136. package/package.json +183 -0
@@ -0,0 +1 @@
1
+ {"version":3,"file":"memory.js","sourceRoot":"","sources":["../../src/indexes/memory.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,70 @@
1
+ import type { IndexId, LoomId, LoomReference } from "../index.js";
2
+ export interface LoomIndexInfo<TIndexMeta = unknown> {
3
+ id: IndexId;
4
+ meta?: TIndexMeta;
5
+ createdAt: number;
6
+ }
7
+ export interface LoomIndexEntry<TEntryMeta = unknown> {
8
+ ref: Extract<LoomReference, {
9
+ kind: "loom";
10
+ }>;
11
+ title?: string;
12
+ kind?: string;
13
+ meta?: TEntryMeta;
14
+ addedAt: number;
15
+ updatedAt?: number;
16
+ }
17
+ export type LoomIndexEntryInput<TEntryMeta = unknown> = Partial<Omit<LoomIndexEntry<TEntryMeta>, "ref" | "addedAt">>;
18
+ export type LoomIndexEntryPatch<TEntryMeta = unknown> = Partial<Pick<LoomIndexEntry<TEntryMeta>, "title" | "kind" | "meta" | "updatedAt">>;
19
+ export interface LoomIndexSnapshot<TEntryMeta = unknown, TIndexMeta = unknown> {
20
+ index: LoomIndexInfo<TIndexMeta>;
21
+ entries: LoomIndexEntry<TEntryMeta>[];
22
+ }
23
+ export type LoomIndexEvent<TEntryMeta, TIndexMeta> = {
24
+ type: "entry-added";
25
+ indexId: IndexId;
26
+ entry: LoomIndexEntry<TEntryMeta>;
27
+ } | {
28
+ type: "entry-updated";
29
+ indexId: IndexId;
30
+ entry: LoomIndexEntry<TEntryMeta>;
31
+ } | {
32
+ type: "entry-removed";
33
+ indexId: IndexId;
34
+ loomId: LoomId;
35
+ } | {
36
+ type: "index-updated";
37
+ index: LoomIndexInfo<TIndexMeta>;
38
+ } | {
39
+ type: "sync-state";
40
+ indexId: IndexId;
41
+ online: boolean;
42
+ syncing: boolean;
43
+ };
44
+ export type LoomIndexListener<TEntryMeta, TIndexMeta> = (event: LoomIndexEvent<TEntryMeta, TIndexMeta>) => void;
45
+ export interface LoomIndex<TEntryMeta = unknown, TIndexMeta = unknown> {
46
+ id: IndexId;
47
+ info(): Promise<LoomIndexInfo<TIndexMeta>>;
48
+ updateMeta(meta: TIndexMeta): Promise<LoomIndexInfo<TIndexMeta>>;
49
+ entries(): Promise<LoomIndexEntry<TEntryMeta>[]>;
50
+ get(loomId: LoomId): Promise<LoomIndexEntry<TEntryMeta> | null>;
51
+ has(loomId: LoomId): Promise<boolean>;
52
+ addLoom(ref: Extract<LoomReference, {
53
+ kind: "loom";
54
+ }>, entry?: LoomIndexEntryInput<TEntryMeta>): Promise<LoomIndexEntry<TEntryMeta>>;
55
+ updateLoom(loomId: LoomId, patch: LoomIndexEntryPatch<TEntryMeta>): Promise<LoomIndexEntry<TEntryMeta>>;
56
+ removeLoom(loomId: LoomId): Promise<void>;
57
+ subscribe(listener: LoomIndexListener<TEntryMeta, TIndexMeta>): () => void;
58
+ export(): Promise<LoomIndexSnapshot<TEntryMeta, TIndexMeta>>;
59
+ close(): void;
60
+ }
61
+ export interface LoomIndexes<TEntryMeta = unknown, TIndexMeta = unknown> {
62
+ create(meta?: TIndexMeta): Promise<LoomIndex<TEntryMeta, TIndexMeta>>;
63
+ open(indexId: IndexId): Promise<LoomIndex<TEntryMeta, TIndexMeta>>;
64
+ import(snapshot: LoomIndexSnapshot<TEntryMeta, TIndexMeta>): Promise<LoomIndex<TEntryMeta, TIndexMeta>>;
65
+ }
66
+ export interface MemoryLoomIndexesOptions {
67
+ createId?: () => string;
68
+ now?: () => number;
69
+ }
70
+ //# sourceMappingURL=types.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/indexes/types.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=types.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../../src/indexes/types.ts"],"names":[],"mappings":""}
package/dist/json.d.ts ADDED
@@ -0,0 +1,3 @@
1
+ export declare function assertJsonEncodable(value: unknown, label: string): void;
2
+ export declare function cloneJson<T>(value: T): T;
3
+ //# sourceMappingURL=json.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"json.d.ts","sourceRoot":"","sources":["../src/json.ts"],"names":[],"mappings":"AAAA,wBAAgB,mBAAmB,CAAC,KAAK,EAAE,OAAO,EAAE,KAAK,EAAE,MAAM,GAAG,IAAI,CAOvE;AAED,wBAAgB,SAAS,CAAC,CAAC,EAAE,KAAK,EAAE,CAAC,GAAG,CAAC,CAGxC"}
package/dist/json.js ADDED
@@ -0,0 +1,15 @@
1
+ export function assertJsonEncodable(value, label) {
2
+ try {
3
+ JSON.stringify(value);
4
+ }
5
+ catch (error) {
6
+ const reason = error instanceof Error ? error.message : String(error);
7
+ throw new TypeError(`${label} must be JSON-encodable: ${reason}`);
8
+ }
9
+ }
10
+ export function cloneJson(value) {
11
+ if (value === undefined)
12
+ return value;
13
+ return JSON.parse(JSON.stringify(value));
14
+ }
15
+ //# sourceMappingURL=json.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"json.js","sourceRoot":"","sources":["../src/json.ts"],"names":[],"mappings":"AAAA,MAAM,UAAU,mBAAmB,CAAC,KAAc,EAAE,KAAa;IAC/D,IAAI,CAAC;QACH,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC;IACxB,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,MAAM,MAAM,GAAG,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;QACtE,MAAM,IAAI,SAAS,CAAC,GAAG,KAAK,4BAA4B,MAAM,EAAE,CAAC,CAAC;IACpE,CAAC;AACH,CAAC;AAED,MAAM,UAAU,SAAS,CAAI,KAAQ;IACnC,IAAI,KAAK,KAAK,SAAS;QAAE,OAAO,KAAK,CAAC;IACtC,OAAO,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,CAAM,CAAC;AAChD,CAAC"}
@@ -0,0 +1,25 @@
1
+ import type { LoomId, Looms } from "./types.js";
2
+ import { type IndexedDbEventStoreOptions } from "./idb-log.js";
3
+ import type { EventStore } from "./store.js";
4
+ export interface LyncAuthor {
5
+ actor: string;
6
+ operator?: string;
7
+ via?: string;
8
+ imported_by?: string;
9
+ source?: string;
10
+ }
11
+ export interface LyncLoomsOptions {
12
+ store: EventStore;
13
+ author: LyncAuthor;
14
+ now?: () => number;
15
+ createId?: () => string;
16
+ }
17
+ export declare function createLyncLooms<TPayload = unknown, TLoomMeta = unknown, TTurnMeta = unknown>(options: LyncLoomsOptions): Looms<TPayload, TLoomMeta, TTurnMeta>;
18
+ export declare function createBrowserLyncLooms<TPayload = unknown, TLoomMeta = unknown, TTurnMeta = unknown>(idbOptions: IndexedDbEventStoreOptions & Omit<LyncLoomsOptions, "store">): Looms<TPayload, TLoomMeta, TTurnMeta>;
19
+ /**
20
+ * The event-store root id for a loom. A loom id is a `lync:`-prefixed handle;
21
+ * its events live under the bare root. Apps use this to sync a loom's root on
22
+ * a synced store before opening it.
23
+ */
24
+ export declare function loomRootId(loomId: LoomId): string;
25
+ //# sourceMappingURL=looms.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"looms.d.ts","sourceRoot":"","sources":["../src/looms.ts"],"names":[],"mappings":"AAWA,OAAO,KAAK,EAGV,MAAM,EAGN,KAAK,EAIN,MAAM,YAAY,CAAC;AAEpB,OAAO,EAA6B,KAAK,0BAA0B,EAAE,MAAM,cAAc,CAAC;AAC1F,OAAO,KAAK,EAAE,UAAU,EAAe,MAAM,YAAY,CAAC;AAI1D,MAAM,WAAW,UAAU;IACzB,KAAK,EAAE,MAAM,CAAC;IACd,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB;AAED,MAAM,WAAW,gBAAgB;IAC/B,KAAK,EAAE,UAAU,CAAC;IAClB,MAAM,EAAE,UAAU,CAAC;IACnB,GAAG,CAAC,EAAE,MAAM,MAAM,CAAC;IACnB,QAAQ,CAAC,EAAE,MAAM,MAAM,CAAC;CACzB;AAQD,wBAAgB,eAAe,CAC7B,QAAQ,GAAG,OAAO,EAClB,SAAS,GAAG,OAAO,EACnB,SAAS,GAAG,OAAO,EACnB,OAAO,EAAE,gBAAgB,GAAG,KAAK,CAAC,QAAQ,EAAE,SAAS,EAAE,SAAS,CAAC,CA2FlE;AAED,wBAAgB,sBAAsB,CACpC,QAAQ,GAAG,OAAO,EAClB,SAAS,GAAG,OAAO,EACnB,SAAS,GAAG,OAAO,EACnB,UAAU,EAAE,0BAA0B,GAAG,IAAI,CAAC,gBAAgB,EAAE,OAAO,CAAC,GAAG,KAAK,CAAC,QAAQ,EAAE,SAAS,EAAE,SAAS,CAAC,CAGjH;AAgOD;;;;GAIG;AACH,wBAAgB,UAAU,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,CAIjD"}
package/dist/looms.js ADDED
@@ -0,0 +1,359 @@
1
+ import { brokenTopology, closedHandle, cycleDetected, duplicateTurnId, invalidSnapshot, missingParent, unknownLoom, } from "./errors.js";
2
+ import { assertJsonEncodable, cloneJson } from "./json.js";
3
+ import { uuidv7 } from "./uuid.js";
4
+ import { createIndexedDbEventStore } from "./idb-log.js";
5
+ const LYNC_PREFIX = "lync:";
6
+ export function createLyncLooms(options) {
7
+ validateAuthor(options.author);
8
+ const now = options.now ?? (() => Date.now());
9
+ const createId = options.createId ?? createUuidLike;
10
+ const mint = (kind, parents, payload, atMs = now(), author = options.author, marked) => ({
11
+ v: 1,
12
+ id: createId(),
13
+ kind,
14
+ at: new Date(atMs).toISOString(),
15
+ author: compactAuthor(author),
16
+ parents,
17
+ payload,
18
+ ...(marked === undefined ? {} : { marked }),
19
+ });
20
+ return {
21
+ async create(meta) {
22
+ assertJsonEncodable(meta, "loom meta");
23
+ const event = mint("lync/loom", [], omitUndefined({ meta: cloneJson(meta) }));
24
+ const result = await options.store.append(event);
25
+ if (result.status !== "added" && result.status !== "duplicate") {
26
+ throw new Error(`Unable to create lync loom: ${result.status}`);
27
+ }
28
+ return eventToLoomInfo(result.event.body);
29
+ },
30
+ async get(loomId) {
31
+ const root = rootId(loomId);
32
+ if (!root)
33
+ return null;
34
+ const event = await options.store.byId(root);
35
+ if (!event || event.body.kind !== "lync/loom")
36
+ return null;
37
+ return foldLoom(await options.store.byRoot(root), loomId).loom;
38
+ },
39
+ async open(loomId) {
40
+ const root = rootId(loomId);
41
+ if (!root)
42
+ throw unknownLoom(loomId);
43
+ const event = await options.store.byId(root);
44
+ if (!event || event.body.kind !== "lync/loom")
45
+ throw unknownLoom(loomId);
46
+ return new LyncLoom(loomId, root, options.store, mint);
47
+ },
48
+ async import(snapshot) {
49
+ validateSnapshot(snapshot);
50
+ const importMarked = new Date(now()).toISOString();
51
+ const sourceBase = `lync-import/${snapshot.loom.id}`;
52
+ const loomEvent = mint("lync/loom", [], omitUndefined({ meta: cloneJson(snapshot.loom.meta) }), snapshot.loom.createdAt, { ...options.author, source: sourceBase }, importMarked);
53
+ await options.store.append(loomEvent);
54
+ const newLoomId = `${LYNC_PREFIX}${loomEvent.id}`;
55
+ const idMap = new Map();
56
+ const ordered = topological(snapshot.turns);
57
+ const siblingOrdinal = new Map();
58
+ for (const turn of ordered) {
59
+ const parent = turn.parentId === null ? loomEvent.id : idMap.get(turn.parentId);
60
+ if (!parent)
61
+ throw missingParent(turn.parentId ?? "");
62
+ const ordinalKey = turn.parentId;
63
+ const ordinal = siblingOrdinal.get(ordinalKey) ?? 0;
64
+ siblingOrdinal.set(ordinalKey, ordinal + 1);
65
+ const event = mint("lync/turn", [parent], omitUndefined({ payload: cloneJson(turn.payload), meta: cloneJson(turn.meta), ordinal }), turn.createdAt, { ...options.author, source: `${sourceBase}#${turn.id}` }, importMarked);
66
+ await options.store.append(event);
67
+ idMap.set(turn.id, event.id);
68
+ }
69
+ const fold = foldLoom(await options.store.byRoot(loomEvent.id), newLoomId);
70
+ return fold.loom;
71
+ },
72
+ };
73
+ }
74
+ export function createBrowserLyncLooms(idbOptions) {
75
+ const { author, now, createId, ...storeOptions } = idbOptions;
76
+ return createLyncLooms({ author, now, createId, store: createIndexedDbEventStore(storeOptions) });
77
+ }
78
+ class LyncLoom {
79
+ id;
80
+ root;
81
+ store;
82
+ mint;
83
+ closed = false;
84
+ listeners = new Set();
85
+ unsubscribe;
86
+ constructor(id, root, store, mint) {
87
+ this.id = id;
88
+ this.root = root;
89
+ this.store = store;
90
+ this.mint = mint;
91
+ this.unsubscribe = store.subscribe(root, async (event) => {
92
+ if (this.closed)
93
+ return;
94
+ if (event.body.kind === "lync/turn") {
95
+ const fold = await this.fold();
96
+ const turn = fold.turns.get(event.body.id);
97
+ if (turn)
98
+ this.emit({ type: "turn-added", loomId: this.id, turn: cloneJson(turn) });
99
+ }
100
+ if (event.body.kind === "lync/loom-meta") {
101
+ this.emit({ type: "loom-updated", loom: await this.info() });
102
+ }
103
+ });
104
+ }
105
+ async info() {
106
+ this.assertOpen();
107
+ return cloneJson((await this.fold()).loom);
108
+ }
109
+ async updateMeta(meta) {
110
+ this.assertOpen();
111
+ assertJsonEncodable(meta, "loom meta");
112
+ const result = await this.store.append(this.mint("lync/loom-meta", [this.root], { meta: cloneJson(meta) }));
113
+ if (result.status !== "added" && result.status !== "duplicate") {
114
+ throw new Error(`Unable to update loom meta: ${result.status}`);
115
+ }
116
+ return this.info();
117
+ }
118
+ async appendTurn(parentId, payload, meta) {
119
+ this.assertOpen();
120
+ assertJsonEncodable(payload, "turn payload");
121
+ assertJsonEncodable(meta, "turn meta");
122
+ const fold = await this.fold();
123
+ if (parentId !== null && !fold.turns.has(parentId))
124
+ throw missingParent(parentId);
125
+ const parent = parentId ?? this.root;
126
+ const ordinal = (fold.children.get(parentId) ?? []).length;
127
+ const result = await this.store.append(this.mint("lync/turn", [parent], omitUndefined({ payload: cloneJson(payload), meta: cloneJson(meta), ordinal })));
128
+ if (result.status === "duplicate" || result.status === "conflict")
129
+ throw duplicateTurnId(result.event.body.id);
130
+ if (result.status !== "added")
131
+ throw new Error(`Unable to append turn: ${result.status}`);
132
+ const next = await this.fold();
133
+ const turn = next.turns.get(result.event.body.id);
134
+ if (!turn)
135
+ throw brokenTopology(`Appended turn missing from fold: ${result.event.body.id}`);
136
+ return cloneJson(turn);
137
+ }
138
+ async getTurn(turnId) {
139
+ this.assertOpen();
140
+ return cloneJson((await this.fold()).turns.get(turnId) ?? null);
141
+ }
142
+ async hasTurn(turnId) {
143
+ this.assertOpen();
144
+ return (await this.fold()).turns.has(turnId);
145
+ }
146
+ async childrenOf(parentId) {
147
+ this.assertOpen();
148
+ const fold = await this.fold();
149
+ if (parentId !== null && !fold.turns.has(parentId))
150
+ throw missingParent(parentId);
151
+ return cloneJson((fold.children.get(parentId) ?? []).map((id) => mustTurn(fold, id)));
152
+ }
153
+ async threadTo(turnId) {
154
+ this.assertOpen();
155
+ const fold = await this.fold();
156
+ const thread = [];
157
+ const seen = new Set();
158
+ let current = turnId;
159
+ while (current !== null) {
160
+ if (seen.has(current))
161
+ throw cycleDetected(current);
162
+ seen.add(current);
163
+ const turn = fold.turns.get(current);
164
+ if (!turn)
165
+ throw brokenTopology(`Thread references missing turn: ${current}`);
166
+ thread.push(turn);
167
+ current = turn.parentId;
168
+ }
169
+ return cloneJson(thread.reverse());
170
+ }
171
+ async leaves() {
172
+ this.assertOpen();
173
+ const fold = await this.fold();
174
+ const leaves = [];
175
+ const visit = (parent) => {
176
+ for (const id of fold.children.get(parent) ?? []) {
177
+ const turn = mustTurn(fold, id);
178
+ if ((fold.children.get(id) ?? []).length === 0)
179
+ leaves.push(turn);
180
+ else
181
+ visit(id);
182
+ }
183
+ };
184
+ visit(null);
185
+ return cloneJson(leaves);
186
+ }
187
+ subscribe(listener) {
188
+ this.assertOpen();
189
+ this.listeners.add(listener);
190
+ return () => this.listeners.delete(listener);
191
+ }
192
+ async export() {
193
+ this.assertOpen();
194
+ const fold = await this.fold();
195
+ const turns = [];
196
+ const visit = (parent) => {
197
+ for (const id of fold.children.get(parent) ?? []) {
198
+ const turn = mustTurn(fold, id);
199
+ turns.push(turn);
200
+ visit(id);
201
+ }
202
+ };
203
+ visit(null);
204
+ return cloneJson({ loom: fold.loom, turns });
205
+ }
206
+ close() {
207
+ this.closed = true;
208
+ this.listeners.clear();
209
+ this.unsubscribe();
210
+ }
211
+ async fold() {
212
+ return foldLoom(await this.store.byRoot(this.root), this.id);
213
+ }
214
+ assertOpen() {
215
+ if (this.closed)
216
+ throw closedHandle();
217
+ }
218
+ emit(event) {
219
+ for (const listener of this.listeners)
220
+ listener(event);
221
+ }
222
+ }
223
+ function foldLoom(events, loomId) {
224
+ const root = events.find((event) => event.body.kind === "lync/loom" && `${LYNC_PREFIX}${event.body.id}` === loomId);
225
+ if (!root)
226
+ throw unknownLoom(loomId);
227
+ let loom = eventToLoomInfo(root.body);
228
+ const metaEvents = events.filter((event) => event.body.kind === "lync/loom-meta").sort(compareNewest);
229
+ const newestMeta = metaEvents[metaEvents.length - 1];
230
+ if (newestMeta) {
231
+ loom = omitUndefined({ ...loom, meta: cloneJson(newestMeta.body.payload.meta) });
232
+ }
233
+ const turns = new Map();
234
+ const children = new Map([[null, []]]);
235
+ const turnEvents = events.filter((event) => event.body.kind === "lync/turn");
236
+ for (const event of turnEvents.sort(compareTurnOrder)) {
237
+ const parentEventId = event.body.parents[0];
238
+ const parentId = parentEventId === root.body.id ? null : parentEventId;
239
+ const turn = omitUndefined({
240
+ id: event.body.id,
241
+ loomId,
242
+ parentId,
243
+ payload: cloneJson(event.body.payload.payload),
244
+ meta: cloneJson(event.body.payload.meta),
245
+ createdAt: Date.parse(event.body.at),
246
+ });
247
+ turns.set(turn.id, turn);
248
+ children.set(turn.id, children.get(turn.id) ?? []);
249
+ const bucket = children.get(parentId) ?? [];
250
+ bucket.push(turn.id);
251
+ children.set(parentId, bucket);
252
+ }
253
+ return { loom, turns, children };
254
+ }
255
+ function eventToLoomInfo(event) {
256
+ return omitUndefined({
257
+ id: `${LYNC_PREFIX}${event.id}`,
258
+ meta: cloneJson(event.payload.meta),
259
+ createdAt: Date.parse(event.at),
260
+ });
261
+ }
262
+ function compareNewest(a, b) {
263
+ return a.body.at.localeCompare(b.body.at) || a.body.id.localeCompare(b.body.id);
264
+ }
265
+ function compareTurnOrder(a, b) {
266
+ return (Number(a.body.payload.ordinal) - Number(b.body.payload.ordinal) ||
267
+ a.body.id.localeCompare(b.body.id));
268
+ }
269
+ function mustTurn(fold, id) {
270
+ const turn = fold.turns.get(id);
271
+ if (!turn)
272
+ throw brokenTopology(`Child list references missing turn: ${id}`);
273
+ return turn;
274
+ }
275
+ function rootId(id) {
276
+ return id.startsWith(LYNC_PREFIX) ? id.slice(LYNC_PREFIX.length) : null;
277
+ }
278
+ /**
279
+ * The event-store root id for a loom. A loom id is a `lync:`-prefixed handle;
280
+ * its events live under the bare root. Apps use this to sync a loom's root on
281
+ * a synced store before opening it.
282
+ */
283
+ export function loomRootId(loomId) {
284
+ const root = rootId(loomId);
285
+ if (!root)
286
+ throw new Error(`not a lync loom id: ${loomId}`);
287
+ return root;
288
+ }
289
+ function validateAuthor(author) {
290
+ if (!author || typeof author.actor !== "string" || author.actor.length === 0) {
291
+ throw new Error("Lync author.actor is required");
292
+ }
293
+ }
294
+ function compactAuthor(author) {
295
+ return omitUndefined({
296
+ actor: author.actor,
297
+ operator: author.operator || undefined,
298
+ via: author.via || undefined,
299
+ imported_by: author.imported_by || undefined,
300
+ source: author.source || undefined,
301
+ });
302
+ }
303
+ function validateSnapshot(snapshot) {
304
+ if (!snapshot || typeof snapshot !== "object")
305
+ throw invalidSnapshot("Snapshot must be an object");
306
+ if (!snapshot.loom || typeof snapshot.loom.id !== "string")
307
+ throw invalidSnapshot("Snapshot needs a loom id");
308
+ if (!Array.isArray(snapshot.turns))
309
+ throw invalidSnapshot("Snapshot turns must be an array");
310
+ assertJsonEncodable(snapshot, "loom snapshot");
311
+ const ids = new Set();
312
+ for (const turn of snapshot.turns) {
313
+ if (!turn || typeof turn.id !== "string")
314
+ throw invalidSnapshot("Every turn needs a string id");
315
+ if (ids.has(turn.id))
316
+ throw duplicateTurnId(turn.id);
317
+ if (turn.loomId !== snapshot.loom.id)
318
+ throw invalidSnapshot(`Turn ${turn.id} belongs to ${turn.loomId}, expected ${snapshot.loom.id}`);
319
+ ids.add(turn.id);
320
+ }
321
+ for (const turn of snapshot.turns) {
322
+ if (turn.parentId !== null && !ids.has(turn.parentId))
323
+ throw missingParent(turn.parentId);
324
+ }
325
+ topological(snapshot.turns);
326
+ }
327
+ function topological(turns) {
328
+ const byId = new Map(turns.map((turn) => [turn.id, turn]));
329
+ const ordered = [];
330
+ const visiting = new Set();
331
+ const visited = new Set();
332
+ const visit = (turn) => {
333
+ if (visited.has(turn.id))
334
+ return;
335
+ if (visiting.has(turn.id))
336
+ throw cycleDetected(turn.id);
337
+ visiting.add(turn.id);
338
+ if (turn.parentId !== null) {
339
+ const parent = byId.get(turn.parentId);
340
+ if (!parent)
341
+ throw missingParent(turn.parentId);
342
+ visit(parent);
343
+ }
344
+ visiting.delete(turn.id);
345
+ visited.add(turn.id);
346
+ ordered.push(turn);
347
+ };
348
+ for (const turn of turns)
349
+ visit(turn);
350
+ return ordered;
351
+ }
352
+ function omitUndefined(value) {
353
+ return Object.fromEntries(Object.entries(value).filter(([, entryValue]) => entryValue !== undefined));
354
+ }
355
+ function createUuidLike() {
356
+ // FORMAT.md: generators mint UUIDv7.
357
+ return uuidv7();
358
+ }
359
+ //# sourceMappingURL=looms.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"looms.js","sourceRoot":"","sources":["../src/looms.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,5 @@
1
+ import { BaseEventStore } from "./store.js";
2
+ export declare class MemoryEventStore extends BaseEventStore {
3
+ }
4
+ export declare function createMemoryEventStore(): MemoryEventStore;
5
+ //# sourceMappingURL=memory-log.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"memory-log.d.ts","sourceRoot":"","sources":["../src/memory-log.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,YAAY,CAAC;AAE5C,qBAAa,gBAAiB,SAAQ,cAAc;CAAG;AAEvD,wBAAgB,sBAAsB,IAAI,gBAAgB,CAEzD"}
@@ -0,0 +1,7 @@
1
+ import { BaseEventStore } from "./store.js";
2
+ export class MemoryEventStore extends BaseEventStore {
3
+ }
4
+ export function createMemoryEventStore() {
5
+ return new MemoryEventStore();
6
+ }
7
+ //# sourceMappingURL=memory-log.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"memory-log.js","sourceRoot":"","sources":["../src/memory-log.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,YAAY,CAAC;AAE5C,MAAM,OAAO,gBAAiB,SAAQ,cAAc;CAAG;AAEvD,MAAM,UAAU,sBAAsB;IACpC,OAAO,IAAI,gBAAgB,EAAE,CAAC;AAChC,CAAC"}
@@ -0,0 +1,4 @@
1
+ import type { Looms, MemoryLoomsOptions } from "./types.js";
2
+ export type { MemoryLoomsOptions } from "./types.js";
3
+ export declare function createMemoryLooms<TPayload = unknown, TLoomMeta = unknown, TTurnMeta = unknown>(options?: MemoryLoomsOptions): Looms<TPayload, TLoomMeta, TTurnMeta>;
4
+ //# sourceMappingURL=memory.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"memory.d.ts","sourceRoot":"","sources":["../src/memory.ts"],"names":[],"mappings":"AAUA,OAAO,KAAK,EAMV,KAAK,EAEL,kBAAkB,EAGnB,MAAM,YAAY,CAAC;AAEpB,YAAY,EAAE,kBAAkB,EAAE,MAAM,YAAY,CAAC;AAWrD,wBAAgB,iBAAiB,CAC/B,QAAQ,GAAG,OAAO,EAClB,SAAS,GAAG,OAAO,EACnB,SAAS,GAAG,OAAO,EACnB,OAAO,GAAE,kBAAuB,GAAG,KAAK,CAAC,QAAQ,EAAE,SAAS,EAAE,SAAS,CAAC,CA6DzE"}