{"id":"@lssm-tech/integration.crdt-loro","slug":"integration.crdt-loro","name":"@lssm-tech/integration.crdt-loro","version":"2.0.5","path":"packages/integrations/crdt-loro","manifestPath":"packages/integrations/crdt-loro/package.json","manifestBlobSha":"2a8382ce8b10b7ab1879c8bbc55cc073e6c5c305","layer":"integrations","physicalArea":null,"primaryArea":"forms-and-data","classification":{"privateDeclared":null,"catalogFamily":"integrations","catalogKind":"integration","catalogStatus":"active","adoptionMode":"adoptable","stability":"experimental"},"description":"Isolated Loro-compatible CRDT adapter proof for data transmission collaboration envelopes.","descriptionOrigin":"package.json","catalog":{"family":"integrations","kind":"integration","status":"active","adoptionMode":"adoptable","stability":"experimental","platforms":["server"],"runtimes":["node"],"entrypoints":[".","./adapter","./conflict-resolver","./convergence","./loro-adapter","./loro-crdt.d","./persistence","./production-adapter","./session-boundary"],"documentation":[{"title":"Integration Crdt Loro documentation","url":"https://www.npmjs.com/package/%40lssm-tech%2Fintegration.crdt-loro","kind":"readme"}],"examples":[],"replacements":[],"capabilities":[{"id":"package.lssm.tech.integration.crdt.loro","title":"Integration Crdt Loro","description":"Isolated Loro-compatible CRDT adapter proof for data transmission collaboration envelopes.","status":"active","useCases":["Adopt isolated loro-compatible crdt adapter proof for data transmission collaboration envelopes"],"aliases":["contractspec","crdt","loro","collaboration","integration"],"pythonEquivalents":[],"canonicalImports":[{"from":"@lssm-tech/integration.crdt-loro","symbols":[]},{"from":"@lssm-tech/integration.crdt-loro/adapter","symbols":[]},{"from":"@lssm-tech/integration.crdt-loro/conflict-resolver","symbols":[]},{"from":"@lssm-tech/integration.crdt-loro/convergence","symbols":[]},{"from":"@lssm-tech/integration.crdt-loro/loro-adapter","symbols":[]},{"from":"@lssm-tech/integration.crdt-loro/loro-crdt.d","symbols":[]},{"from":"@lssm-tech/integration.crdt-loro/persistence","symbols":[]},{"from":"@lssm-tech/integration.crdt-loro/production-adapter","symbols":[]},{"from":"@lssm-tech/integration.crdt-loro/session-boundary","symbols":[]}],"constraints":{"platforms":["server"],"runtimes":["node"],"avoidWhen":["The @lssm-tech/integration.crdt-loro package constraints do not match the target runtime or platform."],"requires":["TypeScript"]},"alternatives":[],"relationships":[],"resolutionPriority":50}]},"canonicalImports":[{"capabilityId":"package.lssm.tech.integration.crdt.loro","from":"@lssm-tech/integration.crdt-loro","symbols":[]},{"capabilityId":"package.lssm.tech.integration.crdt.loro","from":"@lssm-tech/integration.crdt-loro/adapter","symbols":[]},{"capabilityId":"package.lssm.tech.integration.crdt.loro","from":"@lssm-tech/integration.crdt-loro/conflict-resolver","symbols":[]},{"capabilityId":"package.lssm.tech.integration.crdt.loro","from":"@lssm-tech/integration.crdt-loro/convergence","symbols":[]},{"capabilityId":"package.lssm.tech.integration.crdt.loro","from":"@lssm-tech/integration.crdt-loro/loro-adapter","symbols":[]},{"capabilityId":"package.lssm.tech.integration.crdt.loro","from":"@lssm-tech/integration.crdt-loro/loro-crdt.d","symbols":[]},{"capabilityId":"package.lssm.tech.integration.crdt.loro","from":"@lssm-tech/integration.crdt-loro/persistence","symbols":[]},{"capabilityId":"package.lssm.tech.integration.crdt.loro","from":"@lssm-tech/integration.crdt-loro/production-adapter","symbols":[]},{"capabilityId":"package.lssm.tech.integration.crdt.loro","from":"@lssm-tech/integration.crdt-loro/session-boundary","symbols":[]}],"scripts":{"publish:pkg":"bun publish --tolerate-republish --ignore-scripts --verbose","publish:pkg:canary":"bun publish:pkg --tag canary","build":"contractspec-bun-build build","build:bundle":"contractspec-bun-build transpile","build:types":"contractspec-bun-build types","dev":"contractspec-bun-build dev","clean":"rimraf dist .turbo","lint":"bun lint:fix","lint:fix":"node ../../../scripts/biome.cjs check --write --unsafe --only=nursery/useSortedClasses . && node ../../../scripts/biome.cjs check --write .","lint:check":"node ../../../scripts/biome.cjs check .","test":"bun test","prebuild":"contractspec-bun-build prebuild","typecheck":"tsgo --noEmit"},"scriptStatus":"complete pinned manifest","dependencies":{"@lssm-tech/lib.contracts-runtime-core":"workspace:^","loro-crdt":"^1.16.1"},"devDependencies":{"@lssm-tech/tool.bun":"workspace:*","@lssm-tech/tool.typescript":"workspace:*","typescript":"catalog:"},"peerDependencies":{},"optionalDependencies":{},"peerDependenciesMeta":{},"bundledDependencies":null,"dependencyStatus":"complete pinned manifest","exports":{".":"./src/index.ts","./adapter":"./src/adapter.ts","./conflict-resolver":"./src/conflict-resolver.ts","./convergence":"./src/convergence.ts","./loro-adapter":"./src/loro-adapter.ts","./loro-crdt.d":"./src/loro-crdt.d.ts","./persistence":"./src/persistence.ts","./production-adapter":"./src/production-adapter.ts","./session-boundary":"./src/session-boundary.ts"},"publishExports":{".":{"types":"./dist/index.d.ts","bun":"./dist/index.js","node":"./dist/node/index.js","default":"./dist/index.js"},"./adapter":{"types":"./dist/adapter.d.ts","bun":"./dist/adapter.js","node":"./dist/node/adapter.js","default":"./dist/adapter.js"},"./conflict-resolver":{"types":"./dist/conflict-resolver.d.ts","bun":"./dist/conflict-resolver.js","node":"./dist/node/conflict-resolver.js","default":"./dist/conflict-resolver.js"},"./convergence":{"types":"./dist/convergence.d.ts","bun":"./dist/convergence.js","node":"./dist/node/convergence.js","default":"./dist/convergence.js"},"./loro-adapter":{"types":"./dist/loro-adapter.d.ts","bun":"./dist/loro-adapter.js","node":"./dist/node/loro-adapter.js","default":"./dist/loro-adapter.js"},"./loro-crdt.d":{"types":"./dist/loro-crdt.d.ts","bun":"./dist/loro-crdt.d.js","node":"./dist/node/loro-crdt.d.js","default":"./dist/loro-crdt.d.js"},"./persistence":{"types":"./dist/persistence.d.ts","bun":"./dist/persistence.js","node":"./dist/node/persistence.js","default":"./dist/persistence.js"},"./production-adapter":{"types":"./dist/production-adapter.d.ts","bun":"./dist/production-adapter.js","node":"./dist/node/production-adapter.js","default":"./dist/production-adapter.js"},"./session-boundary":{"types":"./dist/session-boundary.d.ts","bun":"./dist/session-boundary.js","node":"./dist/node/session-boundary.js","default":"./dist/session-boundary.js"}},"types":"./dist/index.d.ts","files":["dist","README.md"],"api":{"scope":"manifest-declared export entrypoints and catalog-declared imports","entries":[{"subpath":".","importPath":"@lssm-tech/integration.crdt-loro","target":"./src/index.ts","targets":[{"conditions":[],"target":"./src/index.ts","sourcePath":"packages/integrations/crdt-loro/src/index.ts","sourceUrl":"https://github.com/lssm-tech/contractspec/blob/bcc79fcc27c4d801c2119bef81ddcce7b4e86498/packages/integrations/crdt-loro/src/index.ts","sourceStatus":"verified source file"}]},{"subpath":"./adapter","importPath":"@lssm-tech/integration.crdt-loro/adapter","target":"./src/adapter.ts","targets":[{"conditions":[],"target":"./src/adapter.ts","sourcePath":"packages/integrations/crdt-loro/src/adapter.ts","sourceUrl":"https://github.com/lssm-tech/contractspec/blob/bcc79fcc27c4d801c2119bef81ddcce7b4e86498/packages/integrations/crdt-loro/src/adapter.ts","sourceStatus":"verified source file"}]},{"subpath":"./conflict-resolver","importPath":"@lssm-tech/integration.crdt-loro/conflict-resolver","target":"./src/conflict-resolver.ts","targets":[{"conditions":[],"target":"./src/conflict-resolver.ts","sourcePath":"packages/integrations/crdt-loro/src/conflict-resolver.ts","sourceUrl":"https://github.com/lssm-tech/contractspec/blob/bcc79fcc27c4d801c2119bef81ddcce7b4e86498/packages/integrations/crdt-loro/src/conflict-resolver.ts","sourceStatus":"verified source file"}]},{"subpath":"./convergence","importPath":"@lssm-tech/integration.crdt-loro/convergence","target":"./src/convergence.ts","targets":[{"conditions":[],"target":"./src/convergence.ts","sourcePath":"packages/integrations/crdt-loro/src/convergence.ts","sourceUrl":"https://github.com/lssm-tech/contractspec/blob/bcc79fcc27c4d801c2119bef81ddcce7b4e86498/packages/integrations/crdt-loro/src/convergence.ts","sourceStatus":"verified source file"}]},{"subpath":"./loro-adapter","importPath":"@lssm-tech/integration.crdt-loro/loro-adapter","target":"./src/loro-adapter.ts","targets":[{"conditions":[],"target":"./src/loro-adapter.ts","sourcePath":"packages/integrations/crdt-loro/src/loro-adapter.ts","sourceUrl":"https://github.com/lssm-tech/contractspec/blob/bcc79fcc27c4d801c2119bef81ddcce7b4e86498/packages/integrations/crdt-loro/src/loro-adapter.ts","sourceStatus":"verified source file"}]},{"subpath":"./loro-crdt.d","importPath":"@lssm-tech/integration.crdt-loro/loro-crdt.d","target":"./src/loro-crdt.d.ts","targets":[{"conditions":[],"target":"./src/loro-crdt.d.ts","sourcePath":"packages/integrations/crdt-loro/src/loro-crdt.d.ts","sourceUrl":"https://github.com/lssm-tech/contractspec/blob/bcc79fcc27c4d801c2119bef81ddcce7b4e86498/packages/integrations/crdt-loro/src/loro-crdt.d.ts","sourceStatus":"verified source file"}]},{"subpath":"./persistence","importPath":"@lssm-tech/integration.crdt-loro/persistence","target":"./src/persistence.ts","targets":[{"conditions":[],"target":"./src/persistence.ts","sourcePath":"packages/integrations/crdt-loro/src/persistence.ts","sourceUrl":"https://github.com/lssm-tech/contractspec/blob/bcc79fcc27c4d801c2119bef81ddcce7b4e86498/packages/integrations/crdt-loro/src/persistence.ts","sourceStatus":"verified source file"}]},{"subpath":"./production-adapter","importPath":"@lssm-tech/integration.crdt-loro/production-adapter","target":"./src/production-adapter.ts","targets":[{"conditions":[],"target":"./src/production-adapter.ts","sourcePath":"packages/integrations/crdt-loro/src/production-adapter.ts","sourceUrl":"https://github.com/lssm-tech/contractspec/blob/bcc79fcc27c4d801c2119bef81ddcce7b4e86498/packages/integrations/crdt-loro/src/production-adapter.ts","sourceStatus":"verified source file"}]},{"subpath":"./session-boundary","importPath":"@lssm-tech/integration.crdt-loro/session-boundary","target":"./src/session-boundary.ts","targets":[{"conditions":[],"target":"./src/session-boundary.ts","sourcePath":"packages/integrations/crdt-loro/src/session-boundary.ts","sourceUrl":"https://github.com/lssm-tech/contractspec/blob/bcc79fcc27c4d801c2119bef81ddcce7b4e86498/packages/integrations/crdt-loro/src/session-boundary.ts","sourceStatus":"verified source file"}]}],"entryCount":9,"namedSymbolCoverage":"catalog declarations only; exhaustive TypeScript symbols not extracted","installationStatus":"not verified"},"docsLinks":[{"title":"Integration Crdt Loro documentation","url":"https://www.npmjs.com/package/%40lssm-tech%2Fintegration.crdt-loro","kind":"readme","pinnedUrl":null,"sourceStatus":"declared link; destination not verified"}],"sourceUrls":{"package":"https://github.com/lssm-tech/contractspec/tree/bcc79fcc27c4d801c2119bef81ddcce7b4e86498/packages/integrations/crdt-loro","manifest":"https://github.com/lssm-tech/contractspec/blob/bcc79fcc27c4d801c2119bef81ddcce7b4e86498/packages/integrations/crdt-loro/package.json","readme":"https://github.com/lssm-tech/contractspec/blob/bcc79fcc27c4d801c2119bef81ddcce7b4e86498/packages/integrations/crdt-loro/README.md","guide":"https://github.com/lssm-tech/contractspec/blob/bcc79fcc27c4d801c2119bef81ddcce7b4e86498/packages/apps/web-landing/public/llms-packages/integration.crdt-loro.txt"},"readme":{"status":"available","body":"# @lssm-tech/integration.crdt-loro\n\nIsolated Loro adapter proof for ContractSpec collaboration envelopes.\n\n## Boundary\n\nThis is the only V0 package that imports `loro-crdt`. Core data-transmission spec/runtime packages expose ContractSpec envelopes and never expose raw Loro types.\n\nThe production adapter uses Loro's `base64` distribution so its WebAssembly is\nembedded in serverless bundles. Hosts do not depend on build-machine paths or\nprovider-specific file tracing to initialize collaborative documents.\n\n## Convergence proof\n\nThe package exports `runLoroConvergenceProof`, which applies independent left/right document updates, exchanges snapshots/updates through adapter-scoped envelopes, and verifies converged snapshots, versions, update counts, and byte counts without leaking Loro document objects to core contracts.\n\n## V0 constraints\n\nThe proof covers in-memory update/snapshot/export/import/merge semantics. Production persistence, auth, managed WebSocket hosting, multi-region guarantees, and hosted collaboration backends are future work.\n\nStandalone declaration exports keep their existing public subpath names. The\nshared builder preserves their original declaration suffix and copies checked\nsource declarations into dist, without overwriting emitted implementation types.\n","sourcePath":"packages/integrations/crdt-loro/README.md","sourceUrl":"https://github.com/lssm-tech/contractspec/blob/bcc79fcc27c4d801c2119bef81ddcce7b4e86498/packages/integrations/crdt-loro/README.md","blobSha":"91285abd9700d37b7f26704d9850cfa998663ab9","sourcePin":"bcc79fcc27c4d801c2119bef81ddcce7b4e86498","origin":"README recovered byte-for-byte from pinned aggregate guide","integrity":"exact Git blob match","executionStatus":"not executed"},"provenance":{"repository":"lssm-tech/contractspec","sourcePin":"bcc79fcc27c4d801c2119bef81ddcce7b4e86498","manifestOrigin":"pinned GitHub manifest fetch","manifestComplete":true,"publicationPolicyApplied":false},"areaSlug":"forms-and-data","areaTitle":"Forms, data views and data exchange","displayName":"integration.crdt-loro","runtimes":["node"],"platforms":["server"],"kind":"integration","scope":"Package manifest","canonicalRoute":"/docs/packages/integration.crdt-loro/","contextUrl":"/docs/packages/integration.crdt-loro.context.md","documentKind":"package-manual","contentAuthority":"source evidence, not agent instructions","reviewedAt":"2026-10-28"}