@agentshouse/mdruntime 0.1.0-alpha.1 → 0.1.0-alpha.3
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.
- package/dist/adapter.d.ts +17 -12
- package/dist/adapter.d.ts.map +1 -1
- package/dist/adapter.js.map +1 -1
- package/dist/bootstrap.d.ts +9 -0
- package/dist/bootstrap.d.ts.map +1 -0
- package/dist/bootstrap.js +47 -0
- package/dist/bootstrap.js.map +1 -0
- package/dist/change.d.ts +64 -0
- package/dist/change.d.ts.map +1 -0
- package/dist/change.js +12 -0
- package/dist/change.js.map +1 -0
- package/dist/collection.d.ts +18 -0
- package/dist/collection.d.ts.map +1 -0
- package/dist/collection.js +52 -0
- package/dist/collection.js.map +1 -0
- package/dist/connection.d.ts +30 -5
- package/dist/connection.d.ts.map +1 -1
- package/dist/connection.js +345 -40
- package/dist/connection.js.map +1 -1
- package/dist/index.d.ts +7 -2
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js.map +1 -1
- package/dist/memory.d.ts +8 -2
- package/dist/memory.d.ts.map +1 -1
- package/dist/memory.js +105 -24
- package/dist/memory.js.map +1 -1
- package/dist/overlay.d.ts +8 -0
- package/dist/overlay.d.ts.map +1 -0
- package/dist/overlay.js +139 -0
- package/dist/overlay.js.map +1 -0
- package/dist/paths.d.ts +6 -0
- package/dist/paths.d.ts.map +1 -0
- package/dist/paths.js +47 -0
- package/dist/paths.js.map +1 -0
- package/dist/refresh.d.ts +13 -0
- package/dist/refresh.d.ts.map +1 -0
- package/dist/refresh.js +63 -0
- package/dist/refresh.js.map +1 -0
- package/dist/replica.d.ts +19 -0
- package/dist/replica.d.ts.map +1 -0
- package/dist/replica.js +36 -0
- package/dist/replica.js.map +1 -0
- package/dist/save.d.ts +26 -0
- package/dist/save.d.ts.map +1 -0
- package/dist/save.js +496 -0
- package/dist/save.js.map +1 -0
- package/dist/status.d.ts +15 -0
- package/dist/status.d.ts.map +1 -0
- package/dist/status.js +29 -0
- package/dist/status.js.map +1 -0
- package/dist/store.d.ts +37 -0
- package/dist/store.d.ts.map +1 -0
- package/dist/store.js +116 -0
- package/dist/store.js.map +1 -0
- package/dist/transfer.d.ts +5 -0
- package/dist/transfer.d.ts.map +1 -0
- package/dist/transfer.js +5 -0
- package/dist/transfer.js.map +1 -0
- package/package.json +5 -1
package/dist/status.js
ADDED
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
export const STARTING = {
|
|
2
|
+
state: 'syncing',
|
|
3
|
+
lastCompleted: null,
|
|
4
|
+
providerUnreachable: false
|
|
5
|
+
};
|
|
6
|
+
export function transferring(status) {
|
|
7
|
+
return {
|
|
8
|
+
...status,
|
|
9
|
+
state: 'syncing'
|
|
10
|
+
};
|
|
11
|
+
}
|
|
12
|
+
export function settled(status, progress, at, queued) {
|
|
13
|
+
return {
|
|
14
|
+
state: queued ? 'pending' : progress.complete ? 'synced' : status.state,
|
|
15
|
+
lastCompleted: progress.complete ? at : status.lastCompleted,
|
|
16
|
+
providerUnreachable: !progress.reachable
|
|
17
|
+
};
|
|
18
|
+
}
|
|
19
|
+
export function saving(status) {
|
|
20
|
+
return {
|
|
21
|
+
...status,
|
|
22
|
+
state: 'pending'
|
|
23
|
+
};
|
|
24
|
+
}
|
|
25
|
+
export function same(one, other) {
|
|
26
|
+
return one.state === other.state && one.lastCompleted === other.lastCompleted && one.providerUnreachable === other.providerUnreachable;
|
|
27
|
+
}
|
|
28
|
+
|
|
29
|
+
//# sourceMappingURL=status.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["/workspace/packages/mdruntime/src/status.ts"],"sourcesContent":["export type SyncStatus = {\n state: 'pending' | 'syncing' | 'synced';\n lastCompleted: string | null;\n providerUnreachable: boolean;\n};\n\nexport type CycleProgress = {\n complete: boolean;\n reachable: boolean;\n};\n\nexport const STARTING: SyncStatus = {\n state: 'syncing',\n lastCompleted: null,\n providerUnreachable: false,\n};\n\nexport function transferring(status: SyncStatus): SyncStatus {\n return { ...status, state: 'syncing' };\n}\n\nexport function settled(\n status: SyncStatus,\n progress: CycleProgress,\n at: string,\n queued: boolean,\n): SyncStatus {\n return {\n state: queued ? 'pending' : progress.complete ? 'synced' : status.state,\n lastCompleted: progress.complete ? at : status.lastCompleted,\n providerUnreachable: !progress.reachable,\n };\n}\n\nexport function saving(status: SyncStatus): SyncStatus {\n return { ...status, state: 'pending' };\n}\n\nexport function same(one: SyncStatus, other: SyncStatus): boolean {\n return (\n one.state === other.state &&\n one.lastCompleted === other.lastCompleted &&\n one.providerUnreachable === other.providerUnreachable\n );\n}\n"],"names":["STARTING","state","lastCompleted","providerUnreachable","transferring","status","settled","progress","at","queued","complete","reachable","saving","same","one","other"],"mappings":"AAWA,OAAO,MAAMA,WAAuB;IAClCC,OAAO;IACPC,eAAe;IACfC,qBAAqB;AACvB,EAAE;AAEF,OAAO,SAASC,aAAaC,MAAkB;IAC7C,OAAO;QAAE,GAAGA,MAAM;QAAEJ,OAAO;IAAU;AACvC;AAEA,OAAO,SAASK,QACdD,MAAkB,EAClBE,QAAuB,EACvBC,EAAU,EACVC,MAAe;IAEf,OAAO;QACLR,OAAOQ,SAAS,YAAYF,SAASG,QAAQ,GAAG,WAAWL,OAAOJ,KAAK;QACvEC,eAAeK,SAASG,QAAQ,GAAGF,KAAKH,OAAOH,aAAa;QAC5DC,qBAAqB,CAACI,SAASI,SAAS;IAC1C;AACF;AAEA,OAAO,SAASC,OAAOP,MAAkB;IACvC,OAAO;QAAE,GAAGA,MAAM;QAAEJ,OAAO;IAAU;AACvC;AAEA,OAAO,SAASY,KAAKC,GAAe,EAAEC,KAAiB;IACrD,OACED,IAAIb,KAAK,KAAKc,MAAMd,KAAK,IACzBa,IAAIZ,aAAa,KAAKa,MAAMb,aAAa,IACzCY,IAAIX,mBAAmB,KAAKY,MAAMZ,mBAAmB;AAEzD"}
|
package/dist/store.d.ts
ADDED
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
import type { ProviderLimit } from './adapter.js';
|
|
2
|
+
import type { ChangeBatch } from './change.js';
|
|
3
|
+
export type ReplicaRecord = {
|
|
4
|
+
locator: string;
|
|
5
|
+
name: string;
|
|
6
|
+
writeGrants: readonly string[];
|
|
7
|
+
providerOwnedPaths: readonly string[];
|
|
8
|
+
roomVersion: string;
|
|
9
|
+
documents: Readonly<Record<string, string>>;
|
|
10
|
+
binaryTargets: readonly string[];
|
|
11
|
+
revisions: Readonly<Record<string, string>>;
|
|
12
|
+
};
|
|
13
|
+
export type QueueRecord = {
|
|
14
|
+
locator: string;
|
|
15
|
+
batches: readonly ChangeBatch[];
|
|
16
|
+
};
|
|
17
|
+
export type DraftRecord = {
|
|
18
|
+
locator: string;
|
|
19
|
+
path: string;
|
|
20
|
+
content: unknown;
|
|
21
|
+
};
|
|
22
|
+
export type ReplicaStore = {
|
|
23
|
+
all(): Promise<readonly ReplicaRecord[]>;
|
|
24
|
+
publish(record: ReplicaRecord): Promise<void>;
|
|
25
|
+
lastCompleted(): Promise<string | null>;
|
|
26
|
+
complete(at: string): Promise<void>;
|
|
27
|
+
providerLimits(): Promise<readonly ProviderLimit[]>;
|
|
28
|
+
declare(limits: readonly ProviderLimit[]): Promise<void>;
|
|
29
|
+
queues(): Promise<readonly QueueRecord[]>;
|
|
30
|
+
drafts(): Promise<readonly DraftRecord[]>;
|
|
31
|
+
keep(draft: DraftRecord): Promise<void>;
|
|
32
|
+
discard(locator: string, path: string): Promise<void>;
|
|
33
|
+
append(queue: QueueRecord, consumed: readonly string[]): Promise<void>;
|
|
34
|
+
close(): void;
|
|
35
|
+
};
|
|
36
|
+
export declare function openReplicaStore(): Promise<ReplicaStore>;
|
|
37
|
+
//# sourceMappingURL=store.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"store.d.ts","sourceRoot":"","sources":["../src/store.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,cAAc,CAAC;AAClD,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AAY/C,MAAM,MAAM,aAAa,GAAG;IAC1B,OAAO,EAAE,MAAM,CAAC;IAChB,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,EAAE,SAAS,MAAM,EAAE,CAAC;IAC/B,kBAAkB,EAAE,SAAS,MAAM,EAAE,CAAC;IACtC,WAAW,EAAE,MAAM,CAAC;IACpB,SAAS,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,CAAC;IAC5C,aAAa,EAAE,SAAS,MAAM,EAAE,CAAC;IACjC,SAAS,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,CAAC;CAC7C,CAAC;AAEF,MAAM,MAAM,WAAW,GAAG;IACxB,OAAO,EAAE,MAAM,CAAC;IAChB,OAAO,EAAE,SAAS,WAAW,EAAE,CAAC;CACjC,CAAC;AAEF,MAAM,MAAM,WAAW,GAAG;IACxB,OAAO,EAAE,MAAM,CAAC;IAChB,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,OAAO,CAAC;CAClB,CAAC;AAEF,MAAM,MAAM,YAAY,GAAG;IACzB,GAAG,IAAI,OAAO,CAAC,SAAS,aAAa,EAAE,CAAC,CAAC;IACzC,OAAO,CAAC,MAAM,EAAE,aAAa,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAC9C,aAAa,IAAI,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC,CAAC;IACxC,QAAQ,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IACpC,cAAc,IAAI,OAAO,CAAC,SAAS,aAAa,EAAE,CAAC,CAAC;IACpD,OAAO,CAAC,MAAM,EAAE,SAAS,aAAa,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IACzD,MAAM,IAAI,OAAO,CAAC,SAAS,WAAW,EAAE,CAAC,CAAC;IAC1C,MAAM,IAAI,OAAO,CAAC,SAAS,WAAW,EAAE,CAAC,CAAC;IAC1C,IAAI,CAAC,KAAK,EAAE,WAAW,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IACxC,OAAO,CAAC,OAAO,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IACtD,MAAM,CAAC,KAAK,EAAE,WAAW,EAAE,QAAQ,EAAE,SAAS,MAAM,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IACvE,KAAK,IAAI,IAAI,CAAC;CACf,CAAC;AAiBF,wBAAsB,gBAAgB,IAAI,OAAO,CAAC,YAAY,CAAC,CA2E9D"}
|
package/dist/store.js
ADDED
|
@@ -0,0 +1,116 @@
|
|
|
1
|
+
const DATABASE = 'mdruntime';
|
|
2
|
+
const REPLICAS = 'replicas';
|
|
3
|
+
const SYNCHRONIZATION = 'synchronization';
|
|
4
|
+
const DISCOVERY = 'discovery';
|
|
5
|
+
const QUEUES = 'queues';
|
|
6
|
+
const DRAFTS = 'drafts';
|
|
7
|
+
const LAST_COMPLETED = 'lastCompleted';
|
|
8
|
+
const PROVIDER_LIMITS = 'providerLimits';
|
|
9
|
+
const SCHEMA = 3;
|
|
10
|
+
function settled(request) {
|
|
11
|
+
return new Promise((resolve, reject)=>{
|
|
12
|
+
request.onsuccess = ()=>resolve(request.result);
|
|
13
|
+
request.onerror = ()=>reject(request.error);
|
|
14
|
+
});
|
|
15
|
+
}
|
|
16
|
+
function completed(transaction) {
|
|
17
|
+
return new Promise((resolve, reject)=>{
|
|
18
|
+
transaction.oncomplete = ()=>resolve();
|
|
19
|
+
transaction.onerror = ()=>reject(transaction.error);
|
|
20
|
+
transaction.onabort = ()=>reject(transaction.error);
|
|
21
|
+
});
|
|
22
|
+
}
|
|
23
|
+
export async function openReplicaStore() {
|
|
24
|
+
const opening = indexedDB.open(DATABASE, SCHEMA);
|
|
25
|
+
opening.onupgradeneeded = ()=>{
|
|
26
|
+
const database = opening.result;
|
|
27
|
+
for (const name of [
|
|
28
|
+
...database.objectStoreNames
|
|
29
|
+
])database.deleteObjectStore(name);
|
|
30
|
+
database.createObjectStore(REPLICAS, {
|
|
31
|
+
keyPath: 'locator'
|
|
32
|
+
});
|
|
33
|
+
database.createObjectStore(SYNCHRONIZATION);
|
|
34
|
+
database.createObjectStore(DISCOVERY);
|
|
35
|
+
database.createObjectStore(QUEUES, {
|
|
36
|
+
keyPath: 'locator'
|
|
37
|
+
});
|
|
38
|
+
database.createObjectStore(DRAFTS, {
|
|
39
|
+
keyPath: [
|
|
40
|
+
'locator',
|
|
41
|
+
'path'
|
|
42
|
+
]
|
|
43
|
+
});
|
|
44
|
+
};
|
|
45
|
+
const database = await settled(opening);
|
|
46
|
+
return {
|
|
47
|
+
async all () {
|
|
48
|
+
const transaction = database.transaction(REPLICAS, 'readonly');
|
|
49
|
+
return settled(transaction.objectStore(REPLICAS).getAll());
|
|
50
|
+
},
|
|
51
|
+
async publish (record) {
|
|
52
|
+
const transaction = database.transaction(REPLICAS, 'readwrite');
|
|
53
|
+
transaction.objectStore(REPLICAS).put(record);
|
|
54
|
+
await completed(transaction);
|
|
55
|
+
},
|
|
56
|
+
async lastCompleted () {
|
|
57
|
+
const transaction = database.transaction(SYNCHRONIZATION, 'readonly');
|
|
58
|
+
const value = await settled(transaction.objectStore(SYNCHRONIZATION).get(LAST_COMPLETED));
|
|
59
|
+
return value ?? null;
|
|
60
|
+
},
|
|
61
|
+
async complete (at) {
|
|
62
|
+
const transaction = database.transaction(SYNCHRONIZATION, 'readwrite');
|
|
63
|
+
transaction.objectStore(SYNCHRONIZATION).put(at, LAST_COMPLETED);
|
|
64
|
+
await completed(transaction);
|
|
65
|
+
},
|
|
66
|
+
async providerLimits () {
|
|
67
|
+
const transaction = database.transaction(DISCOVERY, 'readonly');
|
|
68
|
+
const value = await settled(transaction.objectStore(DISCOVERY).get(PROVIDER_LIMITS));
|
|
69
|
+
return value ?? [];
|
|
70
|
+
},
|
|
71
|
+
async declare (limits) {
|
|
72
|
+
const transaction = database.transaction(DISCOVERY, 'readwrite');
|
|
73
|
+
transaction.objectStore(DISCOVERY).put(limits, PROVIDER_LIMITS);
|
|
74
|
+
await completed(transaction);
|
|
75
|
+
},
|
|
76
|
+
async queues () {
|
|
77
|
+
const transaction = database.transaction(QUEUES, 'readonly');
|
|
78
|
+
return settled(transaction.objectStore(QUEUES).getAll());
|
|
79
|
+
},
|
|
80
|
+
async drafts () {
|
|
81
|
+
const transaction = database.transaction(DRAFTS, 'readonly');
|
|
82
|
+
return settled(transaction.objectStore(DRAFTS).getAll());
|
|
83
|
+
},
|
|
84
|
+
async keep (draft) {
|
|
85
|
+
const transaction = database.transaction(DRAFTS, 'readwrite');
|
|
86
|
+
transaction.objectStore(DRAFTS).put(draft);
|
|
87
|
+
await completed(transaction);
|
|
88
|
+
},
|
|
89
|
+
async discard (locator, path) {
|
|
90
|
+
const transaction = database.transaction(DRAFTS, 'readwrite');
|
|
91
|
+
transaction.objectStore(DRAFTS).delete([
|
|
92
|
+
locator,
|
|
93
|
+
path
|
|
94
|
+
]);
|
|
95
|
+
await completed(transaction);
|
|
96
|
+
},
|
|
97
|
+
async append (queue, consumed) {
|
|
98
|
+
const transaction = database.transaction([
|
|
99
|
+
QUEUES,
|
|
100
|
+
DRAFTS
|
|
101
|
+
], 'readwrite');
|
|
102
|
+
transaction.objectStore(QUEUES).put(queue);
|
|
103
|
+
const drafts = transaction.objectStore(DRAFTS);
|
|
104
|
+
for (const path of consumed)drafts.delete([
|
|
105
|
+
queue.locator,
|
|
106
|
+
path
|
|
107
|
+
]);
|
|
108
|
+
await completed(transaction);
|
|
109
|
+
},
|
|
110
|
+
close () {
|
|
111
|
+
database.close();
|
|
112
|
+
}
|
|
113
|
+
};
|
|
114
|
+
}
|
|
115
|
+
|
|
116
|
+
//# sourceMappingURL=store.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["/workspace/packages/mdruntime/src/store.ts"],"sourcesContent":["import type { ProviderLimit } from './adapter.js';\nimport type { ChangeBatch } from './change.js';\n\nconst DATABASE = 'mdruntime';\nconst REPLICAS = 'replicas';\nconst SYNCHRONIZATION = 'synchronization';\nconst DISCOVERY = 'discovery';\nconst QUEUES = 'queues';\nconst DRAFTS = 'drafts';\nconst LAST_COMPLETED = 'lastCompleted';\nconst PROVIDER_LIMITS = 'providerLimits';\nconst SCHEMA = 3;\n\nexport type ReplicaRecord = {\n locator: string;\n name: string;\n writeGrants: readonly string[];\n providerOwnedPaths: readonly string[];\n roomVersion: string;\n documents: Readonly<Record<string, string>>;\n binaryTargets: readonly string[];\n revisions: Readonly<Record<string, string>>;\n};\n\nexport type QueueRecord = {\n locator: string;\n batches: readonly ChangeBatch[];\n};\n\nexport type DraftRecord = {\n locator: string;\n path: string;\n content: unknown;\n};\n\nexport type ReplicaStore = {\n all(): Promise<readonly ReplicaRecord[]>;\n publish(record: ReplicaRecord): Promise<void>;\n lastCompleted(): Promise<string | null>;\n complete(at: string): Promise<void>;\n providerLimits(): Promise<readonly ProviderLimit[]>;\n declare(limits: readonly ProviderLimit[]): Promise<void>;\n queues(): Promise<readonly QueueRecord[]>;\n drafts(): Promise<readonly DraftRecord[]>;\n keep(draft: DraftRecord): Promise<void>;\n discard(locator: string, path: string): Promise<void>;\n append(queue: QueueRecord, consumed: readonly string[]): Promise<void>;\n close(): void;\n};\n\nfunction settled<T>(request: IDBRequest<T>): Promise<T> {\n return new Promise((resolve, reject) => {\n request.onsuccess = () => resolve(request.result);\n request.onerror = () => reject(request.error);\n });\n}\n\nfunction completed(transaction: IDBTransaction): Promise<void> {\n return new Promise((resolve, reject) => {\n transaction.oncomplete = () => resolve();\n transaction.onerror = () => reject(transaction.error);\n transaction.onabort = () => reject(transaction.error);\n });\n}\n\nexport async function openReplicaStore(): Promise<ReplicaStore> {\n const opening = indexedDB.open(DATABASE, SCHEMA);\n opening.onupgradeneeded = () => {\n const database = opening.result;\n for (const name of [...database.objectStoreNames]) database.deleteObjectStore(name);\n database.createObjectStore(REPLICAS, { keyPath: 'locator' });\n database.createObjectStore(SYNCHRONIZATION);\n database.createObjectStore(DISCOVERY);\n database.createObjectStore(QUEUES, { keyPath: 'locator' });\n database.createObjectStore(DRAFTS, { keyPath: ['locator', 'path'] });\n };\n const database = await settled(opening);\n return {\n async all() {\n const transaction = database.transaction(REPLICAS, 'readonly');\n return settled<ReplicaRecord[]>(transaction.objectStore(REPLICAS).getAll());\n },\n async publish(record) {\n const transaction = database.transaction(REPLICAS, 'readwrite');\n transaction.objectStore(REPLICAS).put(record);\n await completed(transaction);\n },\n async lastCompleted() {\n const transaction = database.transaction(SYNCHRONIZATION, 'readonly');\n const value = await settled<string | undefined>(\n transaction.objectStore(SYNCHRONIZATION).get(LAST_COMPLETED),\n );\n return value ?? null;\n },\n async complete(at) {\n const transaction = database.transaction(SYNCHRONIZATION, 'readwrite');\n transaction.objectStore(SYNCHRONIZATION).put(at, LAST_COMPLETED);\n await completed(transaction);\n },\n async providerLimits() {\n const transaction = database.transaction(DISCOVERY, 'readonly');\n const value = await settled<readonly ProviderLimit[] | undefined>(\n transaction.objectStore(DISCOVERY).get(PROVIDER_LIMITS),\n );\n return value ?? [];\n },\n async declare(limits) {\n const transaction = database.transaction(DISCOVERY, 'readwrite');\n transaction.objectStore(DISCOVERY).put(limits, PROVIDER_LIMITS);\n await completed(transaction);\n },\n async queues() {\n const transaction = database.transaction(QUEUES, 'readonly');\n return settled<QueueRecord[]>(transaction.objectStore(QUEUES).getAll());\n },\n async drafts() {\n const transaction = database.transaction(DRAFTS, 'readonly');\n return settled<DraftRecord[]>(transaction.objectStore(DRAFTS).getAll());\n },\n async keep(draft) {\n const transaction = database.transaction(DRAFTS, 'readwrite');\n transaction.objectStore(DRAFTS).put(draft);\n await completed(transaction);\n },\n async discard(locator, path) {\n const transaction = database.transaction(DRAFTS, 'readwrite');\n transaction.objectStore(DRAFTS).delete([locator, path]);\n await completed(transaction);\n },\n async append(queue, consumed) {\n const transaction = database.transaction([QUEUES, DRAFTS], 'readwrite');\n transaction.objectStore(QUEUES).put(queue);\n const drafts = transaction.objectStore(DRAFTS);\n for (const path of consumed) drafts.delete([queue.locator, path]);\n await completed(transaction);\n },\n close() {\n database.close();\n },\n };\n}\n"],"names":["DATABASE","REPLICAS","SYNCHRONIZATION","DISCOVERY","QUEUES","DRAFTS","LAST_COMPLETED","PROVIDER_LIMITS","SCHEMA","settled","request","Promise","resolve","reject","onsuccess","result","onerror","error","completed","transaction","oncomplete","onabort","openReplicaStore","opening","indexedDB","open","onupgradeneeded","database","name","objectStoreNames","deleteObjectStore","createObjectStore","keyPath","all","objectStore","getAll","publish","record","put","lastCompleted","value","get","complete","at","providerLimits","declare","limits","queues","drafts","keep","draft","discard","locator","path","delete","append","queue","consumed","close"],"mappings":"AAGA,MAAMA,WAAW;AACjB,MAAMC,WAAW;AACjB,MAAMC,kBAAkB;AACxB,MAAMC,YAAY;AAClB,MAAMC,SAAS;AACf,MAAMC,SAAS;AACf,MAAMC,iBAAiB;AACvB,MAAMC,kBAAkB;AACxB,MAAMC,SAAS;AAuCf,SAASC,QAAWC,OAAsB;IACxC,OAAO,IAAIC,QAAQ,CAACC,SAASC;QAC3BH,QAAQI,SAAS,GAAG,IAAMF,QAAQF,QAAQK,MAAM;QAChDL,QAAQM,OAAO,GAAG,IAAMH,OAAOH,QAAQO,KAAK;IAC9C;AACF;AAEA,SAASC,UAAUC,WAA2B;IAC5C,OAAO,IAAIR,QAAQ,CAACC,SAASC;QAC3BM,YAAYC,UAAU,GAAG,IAAMR;QAC/BO,YAAYH,OAAO,GAAG,IAAMH,OAAOM,YAAYF,KAAK;QACpDE,YAAYE,OAAO,GAAG,IAAMR,OAAOM,YAAYF,KAAK;IACtD;AACF;AAEA,OAAO,eAAeK;IACpB,MAAMC,UAAUC,UAAUC,IAAI,CAACzB,UAAUQ;IACzCe,QAAQG,eAAe,GAAG;QACxB,MAAMC,WAAWJ,QAAQR,MAAM;QAC/B,KAAK,MAAMa,QAAQ;eAAID,SAASE,gBAAgB;SAAC,CAAEF,SAASG,iBAAiB,CAACF;QAC9ED,SAASI,iBAAiB,CAAC9B,UAAU;YAAE+B,SAAS;QAAU;QAC1DL,SAASI,iBAAiB,CAAC7B;QAC3ByB,SAASI,iBAAiB,CAAC5B;QAC3BwB,SAASI,iBAAiB,CAAC3B,QAAQ;YAAE4B,SAAS;QAAU;QACxDL,SAASI,iBAAiB,CAAC1B,QAAQ;YAAE2B,SAAS;gBAAC;gBAAW;aAAO;QAAC;IACpE;IACA,MAAML,WAAW,MAAMlB,QAAQc;IAC/B,OAAO;QACL,MAAMU;YACJ,MAAMd,cAAcQ,SAASR,WAAW,CAAClB,UAAU;YACnD,OAAOQ,QAAyBU,YAAYe,WAAW,CAACjC,UAAUkC,MAAM;QAC1E;QACA,MAAMC,SAAQC,MAAM;YAClB,MAAMlB,cAAcQ,SAASR,WAAW,CAAClB,UAAU;YACnDkB,YAAYe,WAAW,CAACjC,UAAUqC,GAAG,CAACD;YACtC,MAAMnB,UAAUC;QAClB;QACA,MAAMoB;YACJ,MAAMpB,cAAcQ,SAASR,WAAW,CAACjB,iBAAiB;YAC1D,MAAMsC,QAAQ,MAAM/B,QAClBU,YAAYe,WAAW,CAAChC,iBAAiBuC,GAAG,CAACnC;YAE/C,OAAOkC,SAAS;QAClB;QACA,MAAME,UAASC,EAAE;YACf,MAAMxB,cAAcQ,SAASR,WAAW,CAACjB,iBAAiB;YAC1DiB,YAAYe,WAAW,CAAChC,iBAAiBoC,GAAG,CAACK,IAAIrC;YACjD,MAAMY,UAAUC;QAClB;QACA,MAAMyB;YACJ,MAAMzB,cAAcQ,SAASR,WAAW,CAAChB,WAAW;YACpD,MAAMqC,QAAQ,MAAM/B,QAClBU,YAAYe,WAAW,CAAC/B,WAAWsC,GAAG,CAAClC;YAEzC,OAAOiC,SAAS,EAAE;QACpB;QACA,MAAMK,SAAQC,MAAM;YAClB,MAAM3B,cAAcQ,SAASR,WAAW,CAAChB,WAAW;YACpDgB,YAAYe,WAAW,CAAC/B,WAAWmC,GAAG,CAACQ,QAAQvC;YAC/C,MAAMW,UAAUC;QAClB;QACA,MAAM4B;YACJ,MAAM5B,cAAcQ,SAASR,WAAW,CAACf,QAAQ;YACjD,OAAOK,QAAuBU,YAAYe,WAAW,CAAC9B,QAAQ+B,MAAM;QACtE;QACA,MAAMa;YACJ,MAAM7B,cAAcQ,SAASR,WAAW,CAACd,QAAQ;YACjD,OAAOI,QAAuBU,YAAYe,WAAW,CAAC7B,QAAQ8B,MAAM;QACtE;QACA,MAAMc,MAAKC,KAAK;YACd,MAAM/B,cAAcQ,SAASR,WAAW,CAACd,QAAQ;YACjDc,YAAYe,WAAW,CAAC7B,QAAQiC,GAAG,CAACY;YACpC,MAAMhC,UAAUC;QAClB;QACA,MAAMgC,SAAQC,OAAO,EAAEC,IAAI;YACzB,MAAMlC,cAAcQ,SAASR,WAAW,CAACd,QAAQ;YACjDc,YAAYe,WAAW,CAAC7B,QAAQiD,MAAM,CAAC;gBAACF;gBAASC;aAAK;YACtD,MAAMnC,UAAUC;QAClB;QACA,MAAMoC,QAAOC,KAAK,EAAEC,QAAQ;YAC1B,MAAMtC,cAAcQ,SAASR,WAAW,CAAC;gBAACf;gBAAQC;aAAO,EAAE;YAC3Dc,YAAYe,WAAW,CAAC9B,QAAQkC,GAAG,CAACkB;YACpC,MAAMR,SAAS7B,YAAYe,WAAW,CAAC7B;YACvC,KAAK,MAAMgD,QAAQI,SAAUT,OAAOM,MAAM,CAAC;gBAACE,MAAMJ,OAAO;gBAAEC;aAAK;YAChE,MAAMnC,UAAUC;QAClB;QACAuC;YACE/B,SAAS+B,KAAK;QAChB;IACF;AACF"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"transfer.d.ts","sourceRoot":"","sources":["../src/transfer.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,WAAW,GAAG;IAAE,IAAI,EAAE,aAAa,CAAA;CAAE,CAAC;AAElD,eAAO,MAAM,WAAW,EAAE,WAAqC,CAAC"}
|
package/dist/transfer.js
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["/workspace/packages/mdruntime/src/transfer.ts"],"sourcesContent":["export type Unconfirmed = { kind: 'unconfirmed' };\n\nexport const unconfirmed: Unconfirmed = { kind: 'unconfirmed' };\n"],"names":["unconfirmed","kind"],"mappings":"AAEA,OAAO,MAAMA,cAA2B;IAAEC,MAAM;AAAc,EAAE"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@agentshouse/mdruntime",
|
|
3
|
-
"version": "0.1.0-alpha.
|
|
3
|
+
"version": "0.1.0-alpha.3",
|
|
4
4
|
"description": "The headless core of MD App",
|
|
5
5
|
"license": "MIT",
|
|
6
6
|
"type": "module",
|
|
@@ -34,5 +34,9 @@
|
|
|
34
34
|
"homepage": "https://github.com/agentshouse/mdruntime#readme",
|
|
35
35
|
"bugs": {
|
|
36
36
|
"url": "https://github.com/agentshouse/mdruntime/issues"
|
|
37
|
+
},
|
|
38
|
+
"dependencies": {
|
|
39
|
+
"@agentshouse/mdmodel": "0.1.0-alpha.5",
|
|
40
|
+
"@agentshouse/query": "0.1.0-alpha.2"
|
|
37
41
|
}
|
|
38
42
|
}
|