@agentshouse/mdruntime 0.1.0-alpha.3 → 0.1.0-alpha.4
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 +21 -4
- package/dist/adapter.d.ts.map +1 -1
- package/dist/adapter.js.map +1 -1
- package/dist/connection.d.ts +20 -4
- package/dist/connection.d.ts.map +1 -1
- package/dist/connection.js +446 -33
- package/dist/connection.js.map +1 -1
- package/dist/index.d.ts +3 -2
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js.map +1 -1
- package/dist/log.d.ts +5 -0
- package/dist/log.d.ts.map +1 -0
- package/dist/log.js +15 -0
- package/dist/log.js.map +1 -0
- package/dist/memory.js +2 -1
- package/dist/memory.js.map +1 -1
- package/dist/outcome.d.ts +30 -0
- package/dist/outcome.d.ts.map +1 -0
- package/dist/outcome.js +13 -0
- package/dist/outcome.js.map +1 -0
- package/dist/replica.d.ts +1 -0
- package/dist/replica.d.ts.map +1 -1
- package/dist/replica.js +25 -0
- package/dist/replica.js.map +1 -1
- package/dist/status.d.ts +2 -1
- package/dist/status.d.ts.map +1 -1
- package/dist/status.js +6 -4
- package/dist/status.js.map +1 -1
- package/dist/store.d.ts +3 -0
- package/dist/store.d.ts.map +1 -1
- package/dist/store.js +6 -1
- package/dist/store.js.map +1 -1
- package/package.json +1 -1
package/dist/store.d.ts.map
CHANGED
|
@@ -1 +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;
|
|
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;AAC/C,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,cAAc,CAAC;AAYjD,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;IAChC,QAAQ,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,YAAY,CAAC,CAAC,CAAC;CAClD,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,UAAU,CAAC,KAAK,EAAE,WAAW,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAC9C,KAAK,IAAI,IAAI,CAAC;CACf,CAAC;AAiBF,wBAAsB,gBAAgB,IAAI,OAAO,CAAC,YAAY,CAAC,CAgF9D"}
|
package/dist/store.js
CHANGED
|
@@ -6,7 +6,7 @@ const QUEUES = 'queues';
|
|
|
6
6
|
const DRAFTS = 'drafts';
|
|
7
7
|
const LAST_COMPLETED = 'lastCompleted';
|
|
8
8
|
const PROVIDER_LIMITS = 'providerLimits';
|
|
9
|
-
const SCHEMA =
|
|
9
|
+
const SCHEMA = 4;
|
|
10
10
|
function settled(request) {
|
|
11
11
|
return new Promise((resolve, reject)=>{
|
|
12
12
|
request.onsuccess = ()=>resolve(request.result);
|
|
@@ -107,6 +107,11 @@ export async function openReplicaStore() {
|
|
|
107
107
|
]);
|
|
108
108
|
await completed(transaction);
|
|
109
109
|
},
|
|
110
|
+
async writeQueue (queue) {
|
|
111
|
+
const transaction = database.transaction(QUEUES, 'readwrite');
|
|
112
|
+
transaction.objectStore(QUEUES).put(queue);
|
|
113
|
+
await completed(transaction);
|
|
114
|
+
},
|
|
110
115
|
close () {
|
|
111
116
|
database.close();
|
|
112
117
|
}
|
package/dist/store.js.map
CHANGED
|
@@ -1 +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 =
|
|
1
|
+
{"version":3,"sources":["/workspace/packages/mdruntime/src/store.ts"],"sourcesContent":["import type { ProviderLimit } from './adapter.js';\nimport type { ChangeBatch } from './change.js';\nimport type { QueueOutcome } from './outcome.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 = 4;\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 outcomes: Readonly<Record<string, QueueOutcome>>;\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 writeQueue(queue: QueueRecord): 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 async writeQueue(queue) {\n const transaction = database.transaction(QUEUES, 'readwrite');\n transaction.objectStore(QUEUES).put(queue);\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","writeQueue","close"],"mappings":"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"}
|