From 013d4cf3c8d53e451151acbb2beda80545565b0c Mon Sep 17 00:00:00 2001 From: "Timothy J. Aveni" Date: Thu, 3 Sep 2026 09:41:08 -0700 Subject: [PATCH] Send incremental CRDT changes from package runtimes --- .yarn/install-state.gz | Bin 13522 -> 13406 bytes dist/index.d.ts.map | 2 +- dist/index.js | 8 ++++++-- package.json | 2 +- src/index.ts | 9 ++++++++- yarn-project.nix | 2 +- yarn.lock | 8 ++++---- 7 files changed, 21 insertions(+), 10 deletions(-) diff --git a/.yarn/install-state.gz b/.yarn/install-state.gz index fb1045e1a57aeb64835c1842f21dfc9ef326b254..5a8b82bddd74c7f4b027f45270d11ca51cf51676 100644 GIT binary patch literal 13406 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 literal 13522 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 { const next = Automerge.change(current, (doc) => { fn(doc); }); - await field.set(next); + await camino.setField({ + objectId, + fieldName, + value: jsToProtoValue(createAutomergeFieldChanges(current, next, fieldType)), + }); return next; }, async replaceFromJson(value) { diff --git a/package.json b/package.json index d2ff960..cc979ed 100644 --- a/package.json +++ b/package.json @@ -25,7 +25,7 @@ "@bufbuild/protobuf": "^2.12.1", "@connectrpc/connect": "^2.1.2", "@connectrpc/connect-node": "^2.1.2", - "@quixos/camino-datatypes": "https://gitea-external.egads.tutti.syntaxblitz.net/quixos/camino-datatypes.git#commit=e061e290709c672d2dc675e5c871733de195211a", + "@quixos/camino-datatypes": "https://gitea-external.egads.tutti.syntaxblitz.net/quixos/camino-datatypes.git#commit=70f9f45eb7ca23643f1b8220a203d7b3b7aa5bf4", "protobufjs": "^7.5.4" }, "devDependencies": { diff --git a/src/index.ts b/src/index.ts index 5f45775..c08dfe1 100644 --- a/src/index.ts +++ b/src/index.ts @@ -10,6 +10,7 @@ import { } from "@connectrpc/connect"; import * as Automerge from "@automerge/automerge"; import { + createAutomergeFieldChanges, createAutomergeFieldValue, encodeAutomergeFieldWrite, loadAutomergeFieldDoc, @@ -836,7 +837,13 @@ export const createCrdtField = ( const next = Automerge.change(current, (doc) => { fn(doc as { value: T }); }) as CaminoAutomergeDoc; - await field.set(next); + await camino.setField({ + objectId, + fieldName, + value: jsToProtoValue( + createAutomergeFieldChanges(current, next, fieldType), + ), + }); return next; }, async replaceFromJson(value) { diff --git a/yarn-project.nix b/yarn-project.nix index 5e99fde..36e8bc1 100644 --- a/yarn-project.nix +++ b/yarn-project.nix @@ -171,7 +171,7 @@ cacheEntries = { "@protobufjs/path@npm:1.1.2" = { filename = "@protobufjs-path-npm-1.1.2-641d08de76-cece0a938e.zip"; hash = "sha512-zs4Kk45/Xf0voD+MFPLxz4sNbhOscyb/TJbqMR7/1ft64LunVPv1BTEq8uOFACUMkOaFBrl8AjYKQ3k9iKDYtA=="; }; "@protobufjs/pool@npm:1.1.0" = { filename = "@protobufjs-pool-npm-1.1.0-47a76f96a1-eda2718b7f.zip"; hash = "sha512-7aJxi38iKsbmrTb3WKku+Q0mUmAmoZ9PF/Zo9F4DBqW9c03vP0j1H4E0rgl4tiYqXFF8CLEVpVF1bRo6rfzwOA=="; }; "@protobufjs/utf8@npm:1.1.2" = { filename = "@protobufjs-utf8-npm-1.1.2-9c7ca5968f-975c6e2c03.zip"; hash = "sha512-l1xuLAMZvVDBdTHRhrU3qIy00yBePKkpfNhCtjHTQdoO4/8WvoZWzSZgdW3HU7KcimoUwK2O1gLB+R3fIuez8w=="; }; -"@quixos/camino-datatypes@https://gitea-external.egads.tutti.syntaxblitz.net/quixos/camino-datatypes.git#commit=e061e290709c672d2dc675e5c871733de195211a" = { filename = "@quixos-camino-datatypes-https-faf980267e-4ed01c75c1.zip"; hash = "sha512-TtAcdcG7mReSI/kmbu+U91w39uYetoOiQbq6ex48zaTphDXn1vO1aaw0k8kEDhQgE1LMZrFgHyPzjlUIkyKdrA=="; }; +"@quixos/camino-datatypes@https://gitea-external.egads.tutti.syntaxblitz.net/quixos/camino-datatypes.git#commit=70f9f45eb7ca23643f1b8220a203d7b3b7aa5bf4" = { filename = "@quixos-camino-datatypes-https-bd0d21d1d2-24717b0ac3.zip"; hash = "sha512-JHF7CsMfaNsZzxtrxO0Uqkw73ZRZnQOZm+NlttlSgXQ0wI6jlvCdw3MJzLcNxsGEmYrMSjrdgvspcIRi3ydm2w=="; }; "@types/node@npm:24.13.3" = { filename = "@types-node-npm-24.13.3-b512a0bbeb-a5bc08f49b.zip"; hash = "sha512-pbwI9JuVgdzcqQ4CzXcZejx5mECAdmSULlzVFhpVPU0q6AZPfjKUQQ10jX0Ji1wYSL5/pQwG8pxBk6sWvk5Z6w=="; }; "@types/node@npm:26.1.1" = { filename = "@types-node-npm-26.1.1-7a7a9f32f4-25ac509319.zip"; hash = "sha512-JaxQkxlXNt0HTVAnrbuoVhe8lR1aQVBuvTuQcwSKy3IzYT84ItX5uUR/nAhByR9jh8Rig5FnZ+PvefI5F0UsRg=="; }; "@typescript/vfs@npm:1.6.4" = { filename = "@typescript-vfs-npm-1.6.4-78935c9d3e-acb9de42f2.zip"; hash = "sha512-rLneQvI/2j9149eQC6EG7zI6L0588OSpTbtFfibTU8pjuzUZPtGjL8hzPzrlkJlhKykLBr1iIWlIYb65v7YvYg=="; }; diff --git a/yarn.lock b/yarn.lock index 96c4ecd..5c38ec7 100644 --- a/yarn.lock +++ b/yarn.lock @@ -131,12 +131,12 @@ __metadata: languageName: node linkType: hard -"@quixos/camino-datatypes@https://gitea-external.egads.tutti.syntaxblitz.net/quixos/camino-datatypes.git#commit=e061e290709c672d2dc675e5c871733de195211a": +"@quixos/camino-datatypes@https://gitea-external.egads.tutti.syntaxblitz.net/quixos/camino-datatypes.git#commit=70f9f45eb7ca23643f1b8220a203d7b3b7aa5bf4": version: 0.1.0 - resolution: "@quixos/camino-datatypes@https://gitea-external.egads.tutti.syntaxblitz.net/quixos/camino-datatypes.git#commit=e061e290709c672d2dc675e5c871733de195211a" + resolution: "@quixos/camino-datatypes@https://gitea-external.egads.tutti.syntaxblitz.net/quixos/camino-datatypes.git#commit=70f9f45eb7ca23643f1b8220a203d7b3b7aa5bf4" dependencies: "@automerge/automerge": "npm:^3.3.0" - checksum: 10c0/4ed01c75c1bb99179223f9266eef94f75c37f6e61eb683a241baba7b1e3ccda4e98435e7d6f3b569ac3493c9040e14201352cc66b1601f23f38e550893229dac + checksum: 10c0/24717b0ac31f68db19cf1b6bc4ed14aa4c3bdd94599d03999be365b6d952817434c08ea396f09dc37309ccb70dc6c184998acc4a3add82fb29708462df2766db languageName: node linkType: hard @@ -149,7 +149,7 @@ __metadata: "@bufbuild/protoc-gen-es": "npm:^2.12.1" "@connectrpc/connect": "npm:^2.1.2" "@connectrpc/connect-node": "npm:^2.1.2" - "@quixos/camino-datatypes": "https://gitea-external.egads.tutti.syntaxblitz.net/quixos/camino-datatypes.git#commit=e061e290709c672d2dc675e5c871733de195211a" + "@quixos/camino-datatypes": "https://gitea-external.egads.tutti.syntaxblitz.net/quixos/camino-datatypes.git#commit=70f9f45eb7ca23643f1b8220a203d7b3b7aa5bf4" "@types/node": "npm:^24" protobufjs: "npm:^7.5.4" typescript: "npm:^5.9.3"