@paradigma-inc/flywheel 0.2.51 → 0.2.66

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 (121) hide show
  1. package/package.json +1 -1
  2. package/skills/flywheel-repo/SKILL.md +1 -1
  3. package/skills/flywheel-repo/references/repository-commands.md +7 -6
  4. package/src/runtime/required-runtime-commands.json +1 -0
  5. package/src/runtime/vendor/flywheel-cli-dist/commands/hosted-graph.js +19 -2
  6. package/src/runtime/vendor/flywheel-cli-dist/commands/hosted-graph.js.map +1 -1
  7. package/src/runtime/vendor/flywheel-cli-dist/commands/hosted-repository-snapshot.js +94 -42
  8. package/src/runtime/vendor/flywheel-cli-dist/commands/hosted-repository-snapshot.js.map +1 -1
  9. package/src/runtime/vendor/flywheel-cli-dist/commands/registry/hosted.js +2 -1
  10. package/src/runtime/vendor/flywheel-cli-dist/commands/registry/hosted.js.map +1 -1
  11. package/src/runtime/vendor/flywheel-cli-dist/commands/registry/repository.js +108 -32
  12. package/src/runtime/vendor/flywheel-cli-dist/commands/registry/repository.js.map +1 -1
  13. package/src/runtime/vendor/flywheel-cli-dist/commands/registry.js +1 -1
  14. package/src/runtime/vendor/flywheel-cli-dist/commands/registry.js.map +1 -1
  15. package/src/runtime/vendor/flywheel-cli-dist/commands/repository-edit.js +20 -27
  16. package/src/runtime/vendor/flywheel-cli-dist/commands/repository-edit.js.map +1 -1
  17. package/src/runtime/vendor/flywheel-cli-dist/commands/repository-operation.js +7 -0
  18. package/src/runtime/vendor/flywheel-cli-dist/commands/repository-operation.js.map +1 -1
  19. package/src/runtime/vendor/flywheel-cli-dist/commands/repository-output.js +20 -0
  20. package/src/runtime/vendor/flywheel-cli-dist/commands/repository-output.js.map +1 -1
  21. package/src/runtime/vendor/flywheel-cli-dist/commands/repository-projection.js +5 -2
  22. package/src/runtime/vendor/flywheel-cli-dist/commands/repository-projection.js.map +1 -1
  23. package/src/runtime/vendor/flywheel-cli-dist/commands/repository-refusal-hints.js +20 -17
  24. package/src/runtime/vendor/flywheel-cli-dist/commands/repository-refusal-hints.js.map +1 -1
  25. package/src/runtime/vendor/flywheel-cli-dist/commands/tombstone-recovery.js +17 -0
  26. package/src/runtime/vendor/flywheel-cli-dist/commands/tombstone-recovery.js.map +1 -0
  27. package/src/runtime/vendor/flywheel-cli-dist/commands/types.js.map +1 -1
  28. package/src/runtime/vendor/flywheel-cli-dist/errors.js +16 -0
  29. package/src/runtime/vendor/flywheel-cli-dist/errors.js.map +1 -1
  30. package/src/runtime/vendor/flywheel-cli-dist/local/adapter.js +118 -60
  31. package/src/runtime/vendor/flywheel-cli-dist/local/adapter.js.map +1 -1
  32. package/src/runtime/vendor/flywheel-cli-dist/local/domain/errors.js +9 -0
  33. package/src/runtime/vendor/flywheel-cli-dist/local/domain/errors.js.map +1 -1
  34. package/src/runtime/vendor/flywheel-cli-dist/local/domain/rebase/conflicts.js +140 -8
  35. package/src/runtime/vendor/flywheel-cli-dist/local/domain/rebase/conflicts.js.map +1 -1
  36. package/src/runtime/vendor/flywheel-cli-dist/local/domain/rebase/edge-restoration.js +141 -0
  37. package/src/runtime/vendor/flywheel-cli-dist/local/domain/rebase/edge-restoration.js.map +1 -0
  38. package/src/runtime/vendor/flywheel-cli-dist/local/domain/rebase/graph-membership.js +351 -0
  39. package/src/runtime/vendor/flywheel-cli-dist/local/domain/rebase/graph-membership.js.map +1 -0
  40. package/src/runtime/vendor/flywheel-cli-dist/local/domain/rebase/pull.js +25 -11
  41. package/src/runtime/vendor/flywheel-cli-dist/local/domain/rebase/pull.js.map +1 -1
  42. package/src/runtime/vendor/flywheel-cli-dist/local/domain/rebase/replay.js +129 -40
  43. package/src/runtime/vendor/flywheel-cli-dist/local/domain/rebase/replay.js.map +1 -1
  44. package/src/runtime/vendor/flywheel-cli-dist/local/domain/rebase/resolve.js +11 -4
  45. package/src/runtime/vendor/flywheel-cli-dist/local/domain/rebase/resolve.js.map +1 -1
  46. package/src/runtime/vendor/flywheel-cli-dist/local/domain/service/revert.js +16 -16
  47. package/src/runtime/vendor/flywheel-cli-dist/local/domain/service/revert.js.map +1 -1
  48. package/src/runtime/vendor/flywheel-cli-dist/local/domain/service/staging.js +9 -2
  49. package/src/runtime/vendor/flywheel-cli-dist/local/domain/service/staging.js.map +1 -1
  50. package/src/runtime/vendor/flywheel-cli-dist/local/errors.js +21 -0
  51. package/src/runtime/vendor/flywheel-cli-dist/local/errors.js.map +1 -0
  52. package/src/runtime/vendor/flywheel-cli-dist/local/fs/state.js +9 -11
  53. package/src/runtime/vendor/flywheel-cli-dist/local/fs/state.js.map +1 -1
  54. package/src/runtime/vendor/flywheel-cli-dist/local/fs/writer-lock.js +38 -13
  55. package/src/runtime/vendor/flywheel-cli-dist/local/fs/writer-lock.js.map +1 -1
  56. package/src/runtime/vendor/flywheel-cli-dist/local/runtime/bootstrap.js +2 -1
  57. package/src/runtime/vendor/flywheel-cli-dist/local/runtime/bootstrap.js.map +1 -1
  58. package/src/runtime/vendor/flywheel-cli-dist/local/runtime/dispatch.js +16 -16
  59. package/src/runtime/vendor/flywheel-cli-dist/local/runtime/dispatch.js.map +1 -1
  60. package/src/runtime/vendor/flywheel-cli-dist/local/runtime/operations/core.js +3 -3
  61. package/src/runtime/vendor/flywheel-cli-dist/local/runtime/operations/core.js.map +1 -1
  62. package/src/runtime/vendor/flywheel-cli-dist/local/runtime/operations/maintenance.js +7 -0
  63. package/src/runtime/vendor/flywheel-cli-dist/local/runtime/operations/maintenance.js.map +1 -1
  64. package/src/runtime/vendor/flywheel-cli-dist/local/runtime/operations/projections.js +1 -0
  65. package/src/runtime/vendor/flywheel-cli-dist/local/runtime/operations/projections.js.map +1 -1
  66. package/src/runtime/vendor/flywheel-cli-dist/local/runtime/projection.js +44 -8
  67. package/src/runtime/vendor/flywheel-cli-dist/local/runtime/projection.js.map +1 -1
  68. package/src/runtime/vendor/flywheel-cli-dist/local/runtime/recover-departed.js +60 -11
  69. package/src/runtime/vendor/flywheel-cli-dist/local/runtime/recover-departed.js.map +1 -1
  70. package/src/runtime/vendor/flywheel-cli-dist/local/runtime/remote/purge.js +100 -5
  71. package/src/runtime/vendor/flywheel-cli-dist/local/runtime/remote/purge.js.map +1 -1
  72. package/src/runtime/vendor/flywheel-cli-dist/local/runtime/remote/push.js +8 -4
  73. package/src/runtime/vendor/flywheel-cli-dist/local/runtime/remote/push.js.map +1 -1
  74. package/src/runtime/vendor/flywheel-cli-dist/local/runtime/snapshot-diff.js +14 -24
  75. package/src/runtime/vendor/flywheel-cli-dist/local/runtime/snapshot-diff.js.map +1 -1
  76. package/src/runtime/vendor/flywheel-cli-dist/local/store/apply.js +6 -2
  77. package/src/runtime/vendor/flywheel-cli-dist/local/store/apply.js.map +1 -1
  78. package/src/runtime/vendor/flywheel-cli-dist/local/store/backup/archive.js +1 -8
  79. package/src/runtime/vendor/flywheel-cli-dist/local/store/backup/archive.js.map +1 -1
  80. package/src/runtime/vendor/flywheel-cli-dist/local/store/backup/backup.js +2 -1
  81. package/src/runtime/vendor/flywheel-cli-dist/local/store/backup/backup.js.map +1 -1
  82. package/src/runtime/vendor/flywheel-cli-dist/local/store/backup/restore.js +2 -1
  83. package/src/runtime/vendor/flywheel-cli-dist/local/store/backup/restore.js.map +1 -1
  84. package/src/runtime/vendor/flywheel-cli-dist/local/store/backup/retained-directory.js +1 -1
  85. package/src/runtime/vendor/flywheel-cli-dist/local/store/backup/retained-directory.js.map +1 -1
  86. package/src/runtime/vendor/flywheel-cli-dist/local/store/migrate.js +4 -4
  87. package/src/runtime/vendor/flywheel-cli-dist/local/store/migrate.js.map +1 -1
  88. package/src/runtime/vendor/flywheel-cli-dist/local/store/migration/steps.js +8 -3
  89. package/src/runtime/vendor/flywheel-cli-dist/local/store/migration/steps.js.map +1 -1
  90. package/src/runtime/vendor/flywheel-cli-dist/local/store/migration/versions.js +2 -2
  91. package/src/runtime/vendor/flywheel-cli-dist/local/store/migration/versions.js.map +1 -1
  92. package/src/runtime/vendor/flywheel-cli-dist/local/store/migrations/009_repository_backup_state.sql +8 -0
  93. package/src/runtime/vendor/flywheel-cli-dist/local/store/migrations.js +1 -0
  94. package/src/runtime/vendor/flywheel-cli-dist/local/store/migrations.js.map +1 -1
  95. package/src/runtime/vendor/flywheel-cli-dist/local/store/pending.js +10 -5
  96. package/src/runtime/vendor/flywheel-cli-dist/local/store/pending.js.map +1 -1
  97. package/src/runtime/vendor/flywheel-cli-dist/local/store/projection/nodes.js +33 -16
  98. package/src/runtime/vendor/flywheel-cli-dist/local/store/projection/nodes.js.map +1 -1
  99. package/src/runtime/vendor/flywheel-cli-dist/local/store/projection/rules.js +87 -1
  100. package/src/runtime/vendor/flywheel-cli-dist/local/store/projection/rules.js.map +1 -1
  101. package/src/runtime/vendor/flywheel-cli-dist/local/store/snapshot/hosted.js +7 -1
  102. package/src/runtime/vendor/flywheel-cli-dist/local/store/snapshot/hosted.js.map +1 -1
  103. package/src/runtime/vendor/flywheel-cli-dist/local/store/snapshot/replace.js +6 -13
  104. package/src/runtime/vendor/flywheel-cli-dist/local/store/snapshot/replace.js.map +1 -1
  105. package/src/runtime/vendor/flywheel-cli-dist/local/store/snapshot/schema.js +5 -0
  106. package/src/runtime/vendor/flywheel-cli-dist/local/store/snapshot/schema.js.map +1 -1
  107. package/src/runtime/vendor/flywheel-cli-dist/local/store/sqlite/errors.js +29 -0
  108. package/src/runtime/vendor/flywheel-cli-dist/local/store/sqlite/errors.js.map +1 -1
  109. package/src/runtime/vendor/flywheel-cli-dist/local/store/sqlite/schema.js +1 -0
  110. package/src/runtime/vendor/flywheel-cli-dist/local/store/sqlite/schema.js.map +1 -1
  111. package/src/runtime/vendor/flywheel-cli-dist/local/store/sqlite/store.js +38 -1
  112. package/src/runtime/vendor/flywheel-cli-dist/local/store/sqlite/store.js.map +1 -1
  113. package/src/runtime/vendor/flywheel-cli-dist/local/store/sync.js +33 -9
  114. package/src/runtime/vendor/flywheel-cli-dist/local/store/sync.js.map +1 -1
  115. package/src/runtime/vendor/flywheel-cli-dist/local/store/workspace.js +8 -5
  116. package/src/runtime/vendor/flywheel-cli-dist/local/store/workspace.js.map +1 -1
  117. package/src/runtime/vendor/flywheel-cli-dist/main.js +84 -85
  118. package/src/runtime/vendor/flywheel-cli-dist/main.js.map +1 -1
  119. package/src/runtime/vendor/flywheel-cli-dist/prebuilds/darwin-arm64/node.napi.node +0 -0
  120. package/src/runtime/vendor/flywheel-cli-dist/prebuilds/darwin-x64/node.napi.node +0 -0
  121. package/src/runtime/vendor/manifest.json +10 -1
@@ -1,10 +1,39 @@
1
1
  export class RepositoryStoreError extends Error {
2
2
  name = "RepositoryStoreError";
3
+ code;
4
+ nextAction;
5
+ constructor(message, options) {
6
+ super(message, options);
7
+ this.code = options?.code;
8
+ this.nextAction = options?.nextAction;
9
+ }
3
10
  }
4
11
  /** The workspace moved between capture and the atomic write; nothing was changed. */
5
12
  export class WorkspacePreconditionError extends RepositoryStoreError {
6
13
  name = "WorkspacePreconditionError";
7
14
  }
15
+ /**
16
+ * A batch tombstones a node that still has lineage when the batch ends. Names
17
+ * the first such tombstone in operation order and every link still attached
18
+ * to its node; the refused batch changed nothing.
19
+ */
20
+ export class RepositoryNodeTombstoneBlockedError extends RepositoryStoreError {
21
+ name = "RepositoryNodeTombstoneBlockedError";
22
+ repositoryId;
23
+ nodeId;
24
+ operationId;
25
+ links;
26
+ /** One sentence naming the node, how many links block it, and the refused operation. */
27
+ reason;
28
+ constructor(repositoryId, nodeId, operationId, links) {
29
+ super("repository_node_tombstone_blocked", { code: "repository_node_tombstone_blocked" });
30
+ this.repositoryId = repositoryId;
31
+ this.nodeId = nodeId;
32
+ this.operationId = operationId;
33
+ this.links = links;
34
+ this.reason = `Node ${nodeId} cannot be tombstoned: ${links.length === 1 ? "a lineage link still references" : `${links.length} lineage links still reference`} it (operation ${operationId}).`;
35
+ }
36
+ }
8
37
  /** SQLite's primary result code for "database is locked"; masks off extended detail bits. */
9
38
  const SQLITE_BUSY = 5;
10
39
  const SQLITE_LOCKED = 6;
@@ -1 +1 @@
1
- {"version":3,"file":"errors.js","sourceRoot":"","sources":["../../../../src/local/store/sqlite/errors.ts"],"names":[],"mappings":"AAAA,MAAM,OAAO,oBAAqB,SAAQ,KAAK;IACpC,IAAI,GAAG,sBAAsB,CAAC;CACxC;AAED,qFAAqF;AACrF,MAAM,OAAO,0BAA2B,SAAQ,oBAAoB;IACzD,IAAI,GAAG,4BAA4B,CAAC;CAC9C;AAED,6FAA6F;AAC7F,MAAM,WAAW,GAAG,CAAC,CAAC;AACtB,MAAM,aAAa,GAAG,CAAC,CAAC;AACxB,MAAM,wBAAwB,GAAG,IAAI,CAAC;AAOtC;;;;GAIG;AACH,MAAM,UAAU,oBAAoB,CAAC,KAAc;IACjD,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,KAAK,IAAI;QAAE,OAAO,SAAS,CAAC;IAClE,MAAM,EAAE,IAAI,EAAE,OAAO,EAAE,GAAG,KAAwB,CAAC;IACnD,IAAI,IAAI,KAAK,kBAAkB,IAAI,OAAO,OAAO,KAAK,QAAQ;QAAE,OAAO,SAAS,CAAC;IACjF,MAAM,OAAO,GAAG,OAAO,GAAG,wBAAwB,CAAC;IACnD,OAAO,OAAO,KAAK,WAAW,IAAI,OAAO,KAAK,aAAa,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,SAAS,CAAC;AACpF,CAAC;AAED;;;;GAIG;AACH,MAAM,OAAO,mBAAoB,SAAQ,oBAAoB;IAClD,IAAI,GAAG,qBAAqB,CAAC;IAC7B,UAAU,CAAS;IAE5B,YAAY,UAAkB,EAAE,KAAc;QAC5C,KAAK,CAAC,iBAAiB,EAAE,EAAE,KAAK,EAAE,CAAC,CAAC;QACpC,IAAI,CAAC,UAAU,GAAG,UAAU,CAAC;IAC/B,CAAC;CACF;AAED,sIAAsI;AACtI,MAAM,UAAU,WAAW,CAAC,KAAc;IACxC,MAAM,QAAQ,GAAG,oBAAoB,CAAC,KAAK,CAAC,CAAC;IAC7C,IAAI,QAAQ,KAAK,SAAS;QAAE,MAAM,IAAI,mBAAmB,CAAC,QAAQ,EAAE,KAAK,CAAC,CAAC;AAC7E,CAAC"}
1
+ {"version":3,"file":"errors.js","sourceRoot":"","sources":["../../../../src/local/store/sqlite/errors.ts"],"names":[],"mappings":"AAAA,MAAM,OAAO,oBAAqB,SAAQ,KAAK;IACpC,IAAI,GAAG,sBAAsB,CAAC;IAC9B,IAAI,CAAU;IACd,UAAU,CAAU;IAE7B,YAAY,OAAe,EAAE,OAA+D;QAC1F,KAAK,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;QACxB,IAAI,CAAC,IAAI,GAAG,OAAO,EAAE,IAAI,CAAC;QAC1B,IAAI,CAAC,UAAU,GAAG,OAAO,EAAE,UAAU,CAAC;IACxC,CAAC;CACF;AAED,qFAAqF;AACrF,MAAM,OAAO,0BAA2B,SAAQ,oBAAoB;IACzD,IAAI,GAAG,4BAA4B,CAAC;CAC9C;AAQD;;;;GAIG;AACH,MAAM,OAAO,mCAAoC,SAAQ,oBAAoB;IAClE,IAAI,GAAG,qCAAqC,CAAC;IAC7C,YAAY,CAAS;IACrB,MAAM,CAAS;IACf,WAAW,CAAS;IACpB,KAAK,CAAyB;IACvC,wFAAwF;IAC/E,MAAM,CAAS;IAExB,YAAY,YAAoB,EAAE,MAAc,EAAE,WAAmB,EAAE,KAA6B;QAClG,KAAK,CAAC,mCAAmC,EAAE,EAAE,IAAI,EAAE,mCAAmC,EAAE,CAAC,CAAC;QAC1F,IAAI,CAAC,YAAY,GAAG,YAAY,CAAC;QACjC,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;QACrB,IAAI,CAAC,WAAW,GAAG,WAAW,CAAC;QAC/B,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;QACnB,IAAI,CAAC,MAAM,GAAG,QAAQ,MAAM,0BAA0B,KAAK,CAAC,MAAM,KAAK,CAAC,CAAC,CAAC,CAAC,iCAAiC,CAAC,CAAC,CAAC,GAAG,KAAK,CAAC,MAAM,gCAAgC,kBAAkB,WAAW,IAAI,CAAC;IAClM,CAAC;CACF;AAED,6FAA6F;AAC7F,MAAM,WAAW,GAAG,CAAC,CAAC;AACtB,MAAM,aAAa,GAAG,CAAC,CAAC;AACxB,MAAM,wBAAwB,GAAG,IAAI,CAAC;AAOtC;;;;GAIG;AACH,MAAM,UAAU,oBAAoB,CAAC,KAAc;IACjD,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,KAAK,IAAI;QAAE,OAAO,SAAS,CAAC;IAClE,MAAM,EAAE,IAAI,EAAE,OAAO,EAAE,GAAG,KAAwB,CAAC;IACnD,IAAI,IAAI,KAAK,kBAAkB,IAAI,OAAO,OAAO,KAAK,QAAQ;QAAE,OAAO,SAAS,CAAC;IACjF,MAAM,OAAO,GAAG,OAAO,GAAG,wBAAwB,CAAC;IACnD,OAAO,OAAO,KAAK,WAAW,IAAI,OAAO,KAAK,aAAa,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,SAAS,CAAC;AACpF,CAAC;AAED;;;;GAIG;AACH,MAAM,OAAO,mBAAoB,SAAQ,oBAAoB;IAClD,IAAI,GAAG,qBAAqB,CAAC;IAC7B,UAAU,CAAS;IAE5B,YAAY,UAAkB,EAAE,KAAc;QAC5C,KAAK,CAAC,iBAAiB,EAAE,EAAE,KAAK,EAAE,CAAC,CAAC;QACpC,IAAI,CAAC,UAAU,GAAG,UAAU,CAAC;IAC/B,CAAC;CACF;AAED,sIAAsI;AACtI,MAAM,UAAU,WAAW,CAAC,KAAc;IACxC,MAAM,QAAQ,GAAG,oBAAoB,CAAC,KAAK,CAAC,CAAC;IAC7C,IAAI,QAAQ,KAAK,SAAS;QAAE,MAAM,IAAI,mBAAmB,CAAC,QAAQ,EAAE,KAAK,CAAC,CAAC;AAC7E,CAAC"}
@@ -28,6 +28,7 @@ export function initializeRepository(state, repositoryId, clientId) {
28
28
  database.exec(loadMigration("001_initial.sql"));
29
29
  database.exec(loadMigration("007_repository_node_source_timestamps.sql"));
30
30
  database.exec(loadMigration("008_boundaries_departures_and_author.sql"));
31
+ database.exec(loadMigration("009_repository_backup_state.sql"));
31
32
  const createdAt = now();
32
33
  database.prepare("INSERT INTO repository_metadata VALUES (?, ?, 'flywheel.repository.v1', ?)").run(repositoryId, clientId, createdAt);
33
34
  database.prepare("INSERT INTO repository_heads VALUES (?, NULL, NULL, ?)").run(repositoryId, now());
@@ -1 +1 @@
1
- {"version":3,"file":"schema.js","sourceRoot":"","sources":["../../../../src/local/store/sqlite/schema.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,SAAS,CAAC;AACpC,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AACjC,OAAO,EAAE,iBAAiB,EAAE,YAAY,EAAE,aAAa,EAAE,MAAM,iCAAiC,CAAC;AAEjG,OAAO,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AACjD,OAAO,EAAE,mBAAmB,EAAE,MAAM,iBAAiB,CAAC;AACtD,OAAO,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAE3C,SAAS,SAAS,CAAC,KAAc;IAC/B,OAAO,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,KAAK,IAAI,IAAI,MAAM,IAAI,KAAK,IAAI,KAAK,CAAC,IAAI,KAAK,QAAQ,CAAC;AACnG,CAAC;AAED,SAAS,cAAc,CAAC,KAA8B;IACpD,IAAI,CAAC;QACH,SAAS,CAAC,IAAI,CAAC,KAAK,CAAC,SAAS,EAAE,WAAW,CAAC,CAAC,CAAC;QAC9C,OAAO,IAAI,CAAC;IACd,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,IAAI,SAAS,CAAC,KAAK,CAAC;YAAE,OAAO,KAAK,CAAC;QACnC,MAAM,KAAK,CAAC;IACd,CAAC;AACH,CAAC;AAED,SAAS,GAAG;IACV,OAAO,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC,OAAO,CAAC,aAAa,EAAE,SAAS,CAAC,CAAC;AACpE,CAAC;AAED,MAAM,UAAU,oBAAoB,CAClC,KAA8B,EAC9B,YAAoB,EACpB,QAAgB;IAEhB,MAAM,QAAQ,GAAG,CAAC,cAAc,CAAC,KAAK,CAAC,CAAC;IACxC,mBAAmB,CAAC,KAAK,EAAE,CAAC,QAAQ,EAAE,EAAE;QACtC,IAAI,QAAQ,EAAE,CAAC;YACb,QAAQ,CAAC,IAAI,CAAC,aAAa,CAAC,iBAAiB,CAAC,CAAC,CAAC;YAChD,QAAQ,CAAC,IAAI,CAAC,aAAa,CAAC,2CAA2C,CAAC,CAAC,CAAC;YAC1E,QAAQ,CAAC,IAAI,CAAC,aAAa,CAAC,0CAA0C,CAAC,CAAC,CAAC;YACzE,MAAM,SAAS,GAAG,GAAG,EAAE,CAAC;YACxB,QAAQ,CAAC,OAAO,CACd,4EAA4E,CAC7E,CAAC,GAAG,CAAC,YAAY,EAAE,QAAQ,EAAE,SAAS,CAAC,CAAC;YACzC,QAAQ,CAAC,OAAO,CACd,wDAAwD,CACzD,CAAC,GAAG,CAAC,YAAY,EAAE,GAAG,EAAE,CAAC,CAAC;YAC3B,QAAQ,CAAC,OAAO,CACd,+DAA+D,CAChE,CAAC,GAAG,CAAC,YAAY,EAAE,aAAa,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,YAAY,CAAC,EAAE,CAAC,EAAE,iBAAiB,CAAC,EAAE,CAAC,EAAE,GAAG,EAAE,CAAC,CAAC;YAC3F,QAAQ,CAAC,OAAO,CACd;;;qDAG6C,CAC9C,CAAC,GAAG,CAAC,YAAY,EAAE,GAAG,EAAE,CAAC,CAAC;QAC7B,CAAC;QACD,YAAY,CAAC,QAAQ,EAAE,YAAY,CAAC,CAAC;IACvC,CAAC,EAAE,IAAI,CAAC,CAAC;AACX,CAAC"}
1
+ {"version":3,"file":"schema.js","sourceRoot":"","sources":["../../../../src/local/store/sqlite/schema.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,SAAS,CAAC;AACpC,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AACjC,OAAO,EAAE,iBAAiB,EAAE,YAAY,EAAE,aAAa,EAAE,MAAM,iCAAiC,CAAC;AAEjG,OAAO,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AACjD,OAAO,EAAE,mBAAmB,EAAE,MAAM,iBAAiB,CAAC;AACtD,OAAO,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAE3C,SAAS,SAAS,CAAC,KAAc;IAC/B,OAAO,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,KAAK,IAAI,IAAI,MAAM,IAAI,KAAK,IAAI,KAAK,CAAC,IAAI,KAAK,QAAQ,CAAC;AACnG,CAAC;AAED,SAAS,cAAc,CAAC,KAA8B;IACpD,IAAI,CAAC;QACH,SAAS,CAAC,IAAI,CAAC,KAAK,CAAC,SAAS,EAAE,WAAW,CAAC,CAAC,CAAC;QAC9C,OAAO,IAAI,CAAC;IACd,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,IAAI,SAAS,CAAC,KAAK,CAAC;YAAE,OAAO,KAAK,CAAC;QACnC,MAAM,KAAK,CAAC;IACd,CAAC;AACH,CAAC;AAED,SAAS,GAAG;IACV,OAAO,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC,OAAO,CAAC,aAAa,EAAE,SAAS,CAAC,CAAC;AACpE,CAAC;AAED,MAAM,UAAU,oBAAoB,CAClC,KAA8B,EAC9B,YAAoB,EACpB,QAAgB;IAEhB,MAAM,QAAQ,GAAG,CAAC,cAAc,CAAC,KAAK,CAAC,CAAC;IACxC,mBAAmB,CAAC,KAAK,EAAE,CAAC,QAAQ,EAAE,EAAE;QACtC,IAAI,QAAQ,EAAE,CAAC;YACb,QAAQ,CAAC,IAAI,CAAC,aAAa,CAAC,iBAAiB,CAAC,CAAC,CAAC;YAChD,QAAQ,CAAC,IAAI,CAAC,aAAa,CAAC,2CAA2C,CAAC,CAAC,CAAC;YAC1E,QAAQ,CAAC,IAAI,CAAC,aAAa,CAAC,0CAA0C,CAAC,CAAC,CAAC;YACzE,QAAQ,CAAC,IAAI,CAAC,aAAa,CAAC,iCAAiC,CAAC,CAAC,CAAC;YAChE,MAAM,SAAS,GAAG,GAAG,EAAE,CAAC;YACxB,QAAQ,CAAC,OAAO,CACd,4EAA4E,CAC7E,CAAC,GAAG,CAAC,YAAY,EAAE,QAAQ,EAAE,SAAS,CAAC,CAAC;YACzC,QAAQ,CAAC,OAAO,CACd,wDAAwD,CACzD,CAAC,GAAG,CAAC,YAAY,EAAE,GAAG,EAAE,CAAC,CAAC;YAC3B,QAAQ,CAAC,OAAO,CACd,+DAA+D,CAChE,CAAC,GAAG,CAAC,YAAY,EAAE,aAAa,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,YAAY,CAAC,EAAE,CAAC,EAAE,iBAAiB,CAAC,EAAE,CAAC,EAAE,GAAG,EAAE,CAAC,CAAC;YAC3F,QAAQ,CAAC,OAAO,CACd;;;qDAG6C,CAC9C,CAAC,GAAG,CAAC,YAAY,EAAE,GAAG,EAAE,CAAC,CAAC;QAC7B,CAAC;QACD,YAAY,CAAC,QAAQ,EAAE,YAAY,CAAC,CAAC;IACvC,CAAC,EAAE,IAAI,CAAC,CAAC;AACX,CAAC"}
@@ -1,11 +1,12 @@
1
1
  import { createHash } from "node:crypto";
2
2
  import { applyOrdinaryAtomic } from "../apply.js";
3
- import { isUuid } from "../../domain/models/constants.js";
3
+ import { isDigest, isUuid, validateTimestamp } from "../../domain/models/constants.js";
4
4
  import { capturedRepositoryIdentityIn, commitLatestValues, committedOperationIds, listCommitsIn, loadCommitByOperationId, workspaceHeadIn } from "../commits.js";
5
5
  import { rootedObjectDigestsIn, reachableObjectDigestsIn, assertObjectBytesAvailable, objectBytesVerified } from "../gc.js";
6
6
  import { snapshotBytesFromConnection, snapshotTablesFromConnection } from "../snapshot/read.js";
7
7
  import { replaceSnapshotTables } from "../snapshot/replace.js";
8
8
  import { canonicalSnapshotBytes, snapshotLocalObjectDigests, snapshotTables } from "../snapshot/validate.js";
9
+ import { structuralDependencies } from "../projection/nodes.js";
9
10
  import { pendingRepositorySnapshot } from "../pending.js";
10
11
  import { completeSyncJournalEntry, latestPushJournalEntry, listInterruptedSyncEntries, recordSyncJournalPhase, timestamp, } from "../sync-journal.js";
11
12
  import { applySyncAtomic } from "../sync.js";
@@ -85,6 +86,31 @@ export class SQLiteRepositoryStore {
85
86
  return requireRepositoryRecord(repositoryId, row?.client_id);
86
87
  });
87
88
  }
89
+ async loadLastBackup(repositoryId) {
90
+ return withReadConnection(this.#state, database => {
91
+ verifyFormat(database, repositoryId);
92
+ const row = getRow(database.prepare("SELECT completed_at, archive_digest FROM repository_backup_state WHERE repository_id = ?"), repositoryId);
93
+ if (row === undefined)
94
+ return null;
95
+ if (!isDigest(row.archive_digest))
96
+ throw new RepositoryStoreError("repository backup record is invalid");
97
+ try {
98
+ validateTimestamp(row.completed_at, "repository backup completion time is invalid");
99
+ }
100
+ catch (error) {
101
+ throw new RepositoryStoreError("repository backup record is invalid", { cause: error });
102
+ }
103
+ return { completed_at: row.completed_at, archive_digest: row.archive_digest };
104
+ });
105
+ }
106
+ async recordLastBackup(repositoryId, archiveDigest) {
107
+ if (!isDigest(archiveDigest))
108
+ throw new RepositoryStoreError("repository backup digest is invalid");
109
+ withWriteConnection(this.#state, database => {
110
+ verifyFormat(database, repositoryId);
111
+ runSql(database.prepare("INSERT INTO repository_backup_state (repository_id, completed_at, archive_digest) VALUES (?, ?, ?) ON CONFLICT(repository_id) DO UPDATE SET completed_at = excluded.completed_at, archive_digest = excluded.archive_digest"), repositoryId, timestamp(), archiveDigest);
112
+ });
113
+ }
88
114
  async loadAuthorPrincipalId(repositoryId) {
89
115
  return withReadConnection(this.#state, database => {
90
116
  verifyFormat(database, repositoryId);
@@ -152,6 +178,17 @@ export class SQLiteRepositoryStore {
152
178
  return loadCommitByOperationId(database, repositoryId, operationId);
153
179
  });
154
180
  }
181
+ /** The node's lifecycle at the local head and every local relationship that still references it. */
182
+ async loadNodePurgeState(repositoryId, nodeId) {
183
+ return withReadConnection(this.#state, database => {
184
+ verifyFormat(database, repositoryId);
185
+ const node = getRow(database.prepare("SELECT lifecycle_state FROM repository_nodes WHERE repository_id = ? AND node_id = ?"), repositoryId, nodeId);
186
+ return {
187
+ lifecycleState: typeof node?.lifecycle_state === "string" ? node.lifecycle_state : null,
188
+ dependencies: structuralDependencies(database, repositoryId, nodeId),
189
+ };
190
+ });
191
+ }
155
192
  async listCommits(repositoryId, atHead, afterCommitId, limit) {
156
193
  return withReadConnection(this.#state, database => {
157
194
  verifyFormat(database, repositoryId);
@@ -1 +1 @@
1
- {"version":3,"file":"store.js","sourceRoot":"","sources":["../../../../src/local/store/sqlite/store.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"store.js","sourceRoot":"","sources":["../../../../src/local/store/sqlite/store.ts"],"names":[],"mappings":"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"}
@@ -1,13 +1,15 @@
1
1
  import { createHash } from "node:crypto";
2
+ import { RepositoryServiceError } from "../domain/errors.js";
2
3
  import { isDigest, isRecord, isUuid } from "../domain/models/constants.js";
3
- import { parseRepositoryJson } from "../domain/models/encoding.js";
4
4
  import { latestValueWrites } from "./latest-values.js";
5
+ import { validatePendingBatch } from "./pending.js";
5
6
  import { applyCommitProjection } from "./projection/apply.js";
6
- import { hostedSnapshotToLocalTables } from "./snapshot/hosted.js";
7
+ import { assertTombstonesReleaseLineage } from "./projection/rules.js";
8
+ import { pulledSnapshotTables } from "./snapshot/hosted.js";
7
9
  import { assertProjectionInvariants, replaceSnapshotTables } from "./snapshot/replace.js";
8
10
  import { snapshotRequiredObjectDigests, snapshotTables } from "./snapshot/validate.js";
9
11
  import { withWriteConnection } from "./sqlite/connection.js";
10
- import { RepositoryStoreError } from "./sqlite/errors.js";
12
+ import { RepositoryNodeTombstoneBlockedError, RepositoryStoreError } from "./sqlite/errors.js";
11
13
  import { allRows, runSql } from "./sqlite/rows.js";
12
14
  import { verifyFormat } from "./sqlite/verify.js";
13
15
  import { completeSyncJournalEntry } from "./sync-journal.js";
@@ -128,6 +130,25 @@ function recordDepartures(database, batch, remoteCount) {
128
130
  }
129
131
  }
130
132
  }
133
+ /**
134
+ * Pending edits were validated against the pre-rebase head; they stay only
135
+ * if they still apply on top of the rebased head this transaction wrote.
136
+ */
137
+ function revalidateStaging(database, batch, staging) {
138
+ try {
139
+ validatePendingBatch(database, batch.repositoryId, batch.resultingHead, staging);
140
+ }
141
+ catch (error) {
142
+ if (!(error instanceof RepositoryStoreError || error instanceof RepositoryServiceError))
143
+ throw error;
144
+ const reason = error instanceof RepositoryNodeTombstoneBlockedError ? error.reason : error.message;
145
+ throw new RepositoryStoreError(`Pending staged edits do not apply on top of the rebased history, so the rebase was not continued and nothing changed: ${reason}`, {
146
+ cause: error,
147
+ code: "repository_rebase_staging_invalid",
148
+ nextAction: "Commit the pending edits with flywheel repo:commit so flywheel repo:rebase:continue rechecks them against the pulled changes, or run flywheel repo:rebase:abort, which keeps them.",
149
+ });
150
+ }
151
+ }
131
152
  export async function applySyncAtomic(state, batch, sync, objects) {
132
153
  validateSyncState(batch, sync);
133
154
  const targetSnapshot = { repositoryId: batch.repositoryId, headCommitId: sync.targetHead, canonicalBytes: sync.snapshotBytes };
@@ -137,11 +158,7 @@ export async function applySyncAtomic(state, batch, sync, objects) {
137
158
  let verifiedDigests = new Set();
138
159
  if (sync.mode !== "abort") {
139
160
  try {
140
- const payload = parseRepositoryJson(new TextDecoder("utf-8", { fatal: true }).decode(sync.snapshotBytes));
141
- targetTables = isRecord(payload) &&
142
- (payload.format === "flywheel.repository.projection.v1" || payload.format === "flywheel.repository.projection.v2" ||
143
- payload.format === "flywheel.repository.projection.v3" || payload.format === "flywheel.repository.projection.v4")
144
- ? hostedSnapshotToLocalTables(sync.snapshotBytes, batch.repositoryId) : snapshotTables(targetSnapshot);
161
+ targetTables = pulledSnapshotTables(targetSnapshot);
145
162
  if (sync.mode === "conflict")
146
163
  localTables = snapshotTables(localSnapshot);
147
164
  }
@@ -156,7 +173,9 @@ export async function applySyncAtomic(state, batch, sync, objects) {
156
173
  try {
157
174
  const now = new Date().toISOString().replace(/\.(\d{3})Z$/, ".$1000Z");
158
175
  const workspace = workspaceStateIn(database, batch.repositoryId);
159
- if (workspace.localHeadCommitId !== batch.expectedHead || workspace.remoteTrackingHeadCommitId !== sync.expectedRemoteHead || workspace.staging.operations.length > 0) {
176
+ // Pull requires an empty staging; continue and abort keep pending edits (continue revalidates them below).
177
+ const stagingBlocksSync = (sync.mode === "fast_forward" || sync.mode === "conflict") && workspace.staging.operations.length > 0;
178
+ if (workspace.localHeadCommitId !== batch.expectedHead || workspace.remoteTrackingHeadCommitId !== sync.expectedRemoteHead || stagingBlocksSync) {
160
179
  throw new RepositoryStoreError("repository sync precondition changed");
161
180
  }
162
181
  if (sync.mode === "abort") {
@@ -189,10 +208,15 @@ export async function applySyncAtomic(state, batch, sync, objects) {
189
208
  const latest = latestValueWrites(commit, sync.latestGroups[index]);
190
209
  applyCommitProjection(database, commit, latest);
191
210
  }
211
+ // Pulled history is accepted as published; only the local commits
212
+ // replayed on top of it are new work.
213
+ assertTombstonesReleaseLineage(database, batch.repositoryId, batch.canonicalCommits.slice(sync.remoteCount).flatMap(commit => commit.operations));
192
214
  if (sync.mode === "continue" || sync.clearRebase)
193
215
  clearRebaseIn(database, batch.repositoryId);
194
216
  runSql(database.prepare("UPDATE repository_heads SET workspace_head_commit_id = ?, remote_tracking_commit_id = ?, updated_at = ? WHERE repository_id = ?"), batch.resultingHead, sync.targetHead, now, batch.repositoryId);
195
217
  assertProjectionInvariants(database, batch.repositoryId);
218
+ if (sync.mode === "continue")
219
+ revalidateStaging(database, batch, workspace.staging);
196
220
  }
197
221
  runSql(database.prepare(`UPDATE repository_sync_state
198
222
  SET remote_tracking_commit_id = ?, last_published_sequence = ?,
@@ -1 +1 @@
1
- {"version":3,"file":"sync.js","sourceRoot":"","sources":["../../../src/local/store/sync.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AAEzC,OAAO,EAAE,QAAQ,EAAE,QAAQ,EAAE,MAAM,EAAE,MAAM,+BAA+B,CAAC;AAC3E,OAAO,EAAE,mBAAmB,EAAE,MAAM,8BAA8B,CAAC;AAInE,OAAO,EAAE,iBAAiB,EAAE,MAAM,oBAAoB,CAAC;AAEvD,OAAO,EAAE,qBAAqB,EAAE,MAAM,uBAAuB,CAAC;AAC9D,OAAO,EAAE,2BAA2B,EAAE,MAAM,sBAAsB,CAAC;AACnE,OAAO,EAAE,0BAA0B,EAAE,qBAAqB,EAAE,MAAM,uBAAuB,CAAC;AAE1F,OAAO,EAAE,6BAA6B,EAAE,cAAc,EAAE,MAAM,wBAAwB,CAAC;AACvF,OAAO,EAAE,mBAAmB,EAAE,MAAM,wBAAwB,CAAC;AAC7D,OAAO,EAAE,oBAAoB,EAAE,MAAM,oBAAoB,CAAC;AAC1D,OAAO,EAAE,OAAO,EAAE,MAAM,EAAE,MAAM,kBAAkB,CAAC;AACnD,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAClD,OAAO,EAAE,wBAAwB,EAAE,MAAM,mBAAmB,CAAC;AAC7D,OAAO,EAAE,iBAAiB,EAAE,MAAM,mBAAmB,CAAC;AACtD,OAAO,EAAE,aAAa,EAAE,eAAe,EAAE,MAAM,gBAAgB,CAAC;AAChE,OAAO,EAAE,aAAa,EAAE,WAAW,EAAE,gBAAgB,EAAE,MAAM,sBAAsB,CAAC;AAEpF;;;;;;;;GAQG;AACH,KAAK,UAAU,kBAAkB,CAC/B,MAAsB,EAAE,OAAuC,EAAE,UAA0B;IAE3F,MAAM,QAAQ,GAAG,IAAI,GAAG,CAAC,6BAA6B,CAAC,MAAM,CAAC,CAAC,CAAC;IAChE,MAAM,UAAU,GAAG,IAAI,GAAG,CAAC,QAAQ,CAAC,CAAC;IACrC,KAAK,MAAM,GAAG,IAAI,MAAM,CAAC,8BAA8B;QAAE,UAAU,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAW,CAAC,CAAC;IAC1F,IAAI,OAAO,KAAK,IAAI,EAAE,CAAC;QACrB,IAAI,UAAU,KAAK,KAAK,IAAI,QAAQ,CAAC,IAAI,GAAG,CAAC,EAAE,CAAC;YAC9C,MAAM,IAAI,oBAAoB,CAAC,2CAA2C,CAAC,CAAC;QAC9E,CAAC;QACD,oEAAoE;QACpE,mEAAmE;QACnE,sCAAsC;QACtC,OAAO,IAAI,GAAG,EAAU,CAAC;IAC3B,CAAC;IACD,MAAM,QAAQ,GAAG,IAAI,GAAG,EAAU,CAAC;IACnC,KAAK,MAAM,MAAM,IAAI,CAAC,GAAG,UAAU,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC;QAC5C,IAAI,KAAa,CAAC;QAClB,IAAI,CAAC;YACH,KAAK,GAAG,MAAM,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC;QACzC,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,IAAI,QAAQ,CAAC,KAAK,CAAC,IAAI,KAAK,CAAC,IAAI,KAAK,QAAQ,EAAE,CAAC;gBAC/C,IAAI,UAAU,KAAK,KAAK,IAAI,QAAQ,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC;oBACjD,MAAM,IAAI,oBAAoB,CAAC,gCAAgC,EAAE,EAAE,KAAK,EAAE,KAAK,EAAE,CAAC,CAAC;gBACrF,CAAC;gBACD,SAAS;YACX,CAAC;YACD,MAAM,KAAK,CAAC;QACd,CAAC;QACD,IAAI,UAAU,UAAU,CAAC,QAAQ,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,KAAK,MAAM;YAAE,MAAM,IAAI,oBAAoB,CAAC,uCAAuC,CAAC,CAAC;QACrJ,QAAQ,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;IACvB,CAAC;IACD,OAAO,QAAQ,CAAC;AAClB,CAAC;AAED,SAAS,iBAAiB,CAAC,KAA4B,EAAE,IAAyB;IAChF,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,KAAK,cAAc,IAAI,IAAI,CAAC,IAAI,KAAK,UAAU,IAAI,IAAI,CAAC,IAAI,KAAK,UAAU,IAAI,IAAI,CAAC,IAAI,KAAK,OAAO,CAAC,EAAE,CAAC;QACvI,MAAM,IAAI,oBAAoB,CAAC,iCAAiC,CAAC,CAAC;IACpE,CAAC;IACD,IAAI,CAAC,MAAM,CAAC,aAAa,CAAC,IAAI,CAAC,WAAW,CAAC,IAAI,IAAI,CAAC,WAAW,GAAG,CAAC;QACjE,OAAO,IAAI,CAAC,iBAAiB,KAAK,QAAQ,IAAI,IAAI,CAAC,iBAAiB,GAAG,EAAE;QACzE,OAAO,IAAI,CAAC,eAAe,KAAK,QAAQ,IAAI,IAAI,CAAC,eAAe,GAAG,EAAE;QACrE,IAAI,CAAC,WAAW,GAAG,KAAK,CAAC,gBAAgB,CAAC,MAAM,IAAI,CAAC,IAAI,CAAC,UAAU,KAAK,MAAM,IAAI,IAAI,CAAC,UAAU,KAAK,KAAK,CAAC;QAC7G,CAAC,QAAQ,CAAC,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,IAAI,CAAC,qBAAqB,KAAK,IAAI,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,qBAAqB,CAAC,CAAC;QAChH,CAAC,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,YAAY,CAAC,IAAI,IAAI,CAAC,YAAY,CAAC,MAAM,KAAK,KAAK,CAAC,gBAAgB,CAAC,MAAM;QAC/F,CAAC,CAAC,IAAI,CAAC,aAAa,YAAY,UAAU,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,kBAAkB,YAAY,UAAU,CAAC,EAAE,CAAC;QAClG,MAAM,IAAI,oBAAoB,CAAC,kCAAkC,CAAC,CAAC;IACrE,CAAC;IACD,IAAI,IAAI,CAAC,gBAAgB,KAAK,SAAS,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,gBAAgB,CAAC,EAAE,CAAC;QAC1E,MAAM,IAAI,oBAAoB,CAAC,4CAA4C,CAAC,CAAC;IAC/E,CAAC;IACD,KAAK,MAAM,IAAI,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE,IAAI,CAAC,kBAAkB,EAAE,IAAI,CAAC,iBAAiB,CAAC,EAAE,CAAC;QACtF,IAAI,IAAI,KAAK,IAAI,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC;YAAE,MAAM,IAAI,oBAAoB,CAAC,iCAAiC,CAAC,CAAC;IAC1G,CAAC;IACD,IAAI,IAAI,CAAC,MAAM,KAAK,IAAI,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC;QAAE,MAAM,IAAI,oBAAoB,CAAC,oCAAoC,CAAC,CAAC;IACvH,IAAI,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,IAAI,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,CAAC,KAAK,YAAY,UAAU,CAAC,CAAC,CAAC,EAAE,CAAC;QAClH,MAAM,IAAI,oBAAoB,CAAC,2CAA2C,CAAC,CAAC;IAC9E,CAAC;IACD,IAAI,CAAC;QACH,IAAI,IAAI,CAAC,MAAM,KAAK,IAAI,EAAE,CAAC;YACzB,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,MAAM,CAAC;gBAAE,MAAM,IAAI,SAAS,CAAC,qBAAqB,CAAC,CAAC;YACvE,IAAI,IAAI,CAAC,MAAM,CAAC,YAAY,KAAK,KAAK,CAAC,YAAY,EAAE,CAAC;gBACpD,MAAM,IAAI,oBAAoB,CAAC,2CAA2C,CAAC,CAAC;YAC9E,CAAC;YACD,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,MAAM,EAAE,KAAK,CAAC,YAAY,CAAC;gBAAE,MAAM,IAAI,SAAS,CAAC,qBAAqB,CAAC,CAAC;QAChG,CAAC;QACD,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,QAAwB,EAAE,EAAE,CACrF,CAAC,QAAQ,CAAC,QAAQ,CAAC,IAAI,CAAC,aAAa,CAAC,QAAQ,EAAE,KAAK,CAAC,YAAY,EAAE,IAAI,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC;YACpF,MAAM,IAAI,SAAS,CAAC,uBAAuB,CAAC,CAAC;QAC/C,CAAC;IACH,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,IAAI,KAAK,YAAY,oBAAoB;YAAE,MAAM,KAAK,CAAC;QACvD,MAAM,IAAI,oBAAoB,CAAC,2CAA2C,EAAE,EAAE,KAAK,EAAE,KAAK,EAAE,CAAC,CAAC;IAChG,CAAC;AACH,CAAC;AAED,SAAS,gBAAgB,CACvB,QAAsB,EACtB,KAA4B,EAC5B,WAAmB;IAEnB,MAAM,CAAC,QAAQ,CAAC,OAAO,CAAC;;;MAGpB,CAAC,EAAE,KAAK,CAAC,YAAY,EAAE,KAAK,CAAC,YAAY,CAAC,CAAC;IAC/C,MAAM,MAAM,GAAG,QAAQ,CAAC,OAAO,CAAC;;;;;6DAK2B,CAAC,CAAC;IAC7D,KAAK,MAAM,MAAM,IAAI,KAAK,CAAC,gBAAgB,CAAC,KAAK,CAAC,CAAC,EAAE,WAAW,CAAC,EAAE,CAAC;QAClE,KAAK,MAAM,SAAS,IAAI,MAAM,CAAC,UAAU,EAAE,CAAC;YAC1C,IAAI,SAAS,CAAC,IAAI,KAAK,kBAAkB;gBACvC,SAAS,CAAC,OAAO,CAAC,oBAAoB,KAAK,KAAK,CAAC,YAAY;gBAC7D,OAAO,SAAS,CAAC,OAAO,CAAC,OAAO,KAAK,QAAQ;gBAC7C,OAAO,SAAS,CAAC,OAAO,CAAC,oBAAoB,KAAK,QAAQ;gBAAE,SAAS;YACvE,MAAM,OAAO,GAAG,QAAQ,CAAC,OAAO,CAC9B,wEAAwE,CACzE,CAAC,GAAG,CAAC,KAAK,CAAC,YAAY,EAAE,SAAS,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;YACrD,IAAI,OAAO,KAAK,SAAS;gBAAE,MAAM,IAAI,oBAAoB,CAAC,gDAAgD,CAAC,CAAC;YAC5G,MAAM,CAAC,MAAM,EAAE,KAAK,CAAC,YAAY,EAAE,SAAS,CAAC,OAAO,CAAC,OAAO,EAC1D,SAAS,CAAC,OAAO,CAAC,oBAAoB,EAAE,MAAM,CAAC,QAAQ,CAAC,CAAC;QAC7D,CAAC;IACH,CAAC;AACH,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,eAAe,CACnC,KAA8B,EAC9B,KAA4B,EAC5B,IAAyB,EACzB,OAAuC;IAEvC,iBAAiB,CAAC,KAAK,EAAE,IAAI,CAAC,CAAC;IAC/B,MAAM,cAAc,GAAuB,EAAE,YAAY,EAAE,KAAK,CAAC,YAAY,EAAE,YAAY,EAAE,IAAI,CAAC,UAAU,EAAE,cAAc,EAAE,IAAI,CAAC,aAAa,EAAE,CAAC;IACnJ,MAAM,aAAa,GAAuB,EAAE,YAAY,EAAE,KAAK,CAAC,YAAY,EAAE,YAAY,EAAE,KAAK,CAAC,YAAY,EAAE,cAAc,EAAE,IAAI,CAAC,kBAAkB,EAAE,CAAC;IAC1J,IAAI,YAAwC,CAAC;IAC7C,IAAI,WAAuC,CAAC;IAC5C,IAAI,eAAe,GAAwB,IAAI,GAAG,EAAE,CAAC;IACrD,IAAI,IAAI,CAAC,IAAI,KAAK,OAAO,EAAE,CAAC;QAC1B,IAAI,CAAC;YACH,MAAM,OAAO,GAAG,mBAAmB,CAAC,IAAI,WAAW,CAAC,OAAO,EAAE,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC,CAAC;YAC1G,YAAY,GAAG,QAAQ,CAAC,OAAO,CAAC;gBAC9B,CAAC,OAAO,CAAC,MAAM,KAAK,mCAAmC,IAAI,OAAO,CAAC,MAAM,KAAK,mCAAmC;oBAC/G,OAAO,CAAC,MAAM,KAAK,mCAAmC,IAAI,OAAO,CAAC,MAAM,KAAK,mCAAmC,CAAC;gBACnH,CAAC,CAAC,2BAA2B,CAAC,IAAI,CAAC,aAAa,EAAE,KAAK,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,cAAc,CAAC,cAAc,CAAC,CAAC;YACzG,IAAI,IAAI,CAAC,IAAI,KAAK,UAAU;gBAAE,WAAW,GAAG,cAAc,CAAC,aAAa,CAAC,CAAC;QAC5E,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,MAAM,IAAI,oBAAoB,CAAC,yCAAyC,EAAE,EAAE,KAAK,EAAE,KAAK,EAAE,CAAC,CAAC;QAC9F,CAAC;QACD,eAAe,GAAG,MAAM,kBAAkB,CAAC,YAAY,EAAE,OAAO,EAAE,IAAI,CAAC,UAAU,CAAC,CAAC;IACrF,CAAC;IACD,OAAO,mBAAmB,CAAC,KAAK,EAAE,QAAQ,CAAC,EAAE;QAC3C,YAAY,CAAC,QAAQ,EAAE,KAAK,CAAC,YAAY,CAAC,CAAC;QAC3C,QAAQ,CAAC,IAAI,CAAC,iBAAiB,CAAC,CAAC;QACjC,IAAI,CAAC;YACH,MAAM,GAAG,GAAG,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC,OAAO,CAAC,aAAa,EAAE,SAAS,CAAC,CAAC;YACvE,MAAM,SAAS,GAAG,gBAAgB,CAAC,QAAQ,EAAE,KAAK,CAAC,YAAY,CAAC,CAAC;YACjE,IAAI,SAAS,CAAC,iBAAiB,KAAK,KAAK,CAAC,YAAY,IAAI,SAAS,CAAC,0BAA0B,KAAK,IAAI,CAAC,kBAAkB,IAAI,SAAS,CAAC,OAAO,CAAC,UAAU,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBACtK,MAAM,IAAI,oBAAoB,CAAC,sCAAsC,CAAC,CAAC;YACzE,CAAC;YACD,IAAI,IAAI,CAAC,IAAI,KAAK,OAAO,EAAE,CAAC;gBAC1B,aAAa,CAAC,QAAQ,EAAE,KAAK,CAAC,YAAY,CAAC,CAAC;gBAC5C,MAAM,CAAC,QAAQ,CAAC,OAAO,CAAC,mGAAmG,CAAC,EAAE,IAAI,CAAC,iBAAiB,EAAE,GAAG,EAAE,KAAK,CAAC,YAAY,CAAC,CAAC;gBAC/K,MAAM,CAAC,QAAQ,CAAC,OAAO,CAAC,oKAAoK,CAAC,EAAE,IAAI,CAAC,iBAAiB,EAAE,IAAI,CAAC,eAAe,EAAE,IAAI,CAAC,qBAAqB,EAAE,GAAG,EAAE,KAAK,CAAC,YAAY,CAAC,CAAC;YACpS,CAAC;iBAAM,CAAC;gBACN,iBAAiB,CAAC,QAAQ,EAAE,KAAK,CAAC,YAAY,EAAE,KAAK,CAAC,gBAAgB,EAAE,IAAI,CAAC,YAAY,CAAC,CAAC;gBAC3F,IAAI,IAAI,CAAC,IAAI,KAAK,UAAU,EAAE,CAAC;oBAC7B,IAAI,IAAI,CAAC,MAAM,KAAK,IAAI,IAAI,IAAI,CAAC,SAAS,CAAC,MAAM,KAAK,CAAC;wBAAE,MAAM,IAAI,oBAAoB,CAAC,sCAAsC,CAAC,CAAC;oBAChI,eAAe,CAAC,QAAQ,EAAE,KAAK,CAAC,YAAY,EAAE,IAAI,CAAC,MAAM,EAAE,IAAI,CAAC,SAAS,CAAC,CAAC;oBAC3E,MAAM,OAAO,GAAG,IAAI,GAAG,CAAC,CAAC,GAAG,6BAA6B,CAAC,YAAa,CAAC,EAAE,GAAG,6BAA6B,CAAC,WAAY,CAAC,CAAC,CAAC,CAAC;oBAC3H,KAAK,MAAM,MAAM,IAAI,CAAC,GAAG,OAAO,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC;wBACzC,MAAM,CAAC,QAAQ,CAAC,OAAO,CAAC,oHAAoH,CAAC,EAAE,KAAK,CAAC,YAAY,EAAE,IAAI,CAAC,MAAM,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAC;oBACnM,CAAC;oBACD,MAAM,CAAC,QAAQ,CAAC,OAAO,CAAC,mGAAmG,CAAC,EAAE,IAAI,CAAC,UAAU,EAAE,GAAG,EAAE,KAAK,CAAC,YAAY,CAAC,CAAC;gBAC1K,CAAC;qBAAM,CAAC;oBACN,mEAAmE;oBACnE,oEAAoE;oBACpE,IAAI,eAAe,CAAC,IAAI,GAAG,CAAC,EAAE,CAAC;wBAC7B,YAAa,CAAC,8BAA8B,GAAG,YAAa,CAAC,8BAA8B,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,CACtG,eAAe,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAW,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC,EAAE,OAAO,CAAC,CAAC,CAAC,CAAC,GAAG,CACxE,CAAC;oBACJ,CAAC;oBACD,qBAAqB,CAAC,QAAQ,EAAE,KAAK,CAAC,YAAY,EAAE,YAAa,CAAC,CAAC;oBACnE,gBAAgB,CAAC,QAAQ,EAAE,KAAK,EAAE,IAAI,CAAC,WAAW,CAAC,CAAC;oBACpD,KAAK,IAAI,KAAK,GAAG,IAAI,CAAC,WAAW,EAAE,KAAK,GAAG,KAAK,CAAC,gBAAgB,CAAC,MAAM,EAAE,KAAK,EAAE,EAAE,CAAC;wBAClF,MAAM,MAAM,GAAG,KAAK,CAAC,gBAAgB,CAAC,KAAK,CAAC,CAAC;wBAC7C,MAAM,MAAM,GAAG,iBAAiB,CAAC,MAAM,EAAE,IAAI,CAAC,YAAY,CAAC,KAAK,CAAC,CAAC,CAAC;wBACnE,qBAAqB,CAAC,QAAQ,EAAE,MAAM,EAAE,MAAM,CAAC,CAAC;oBAClD,CAAC;oBACD,IAAI,IAAI,CAAC,IAAI,KAAK,UAAU,IAAI,IAAI,CAAC,WAAW;wBAAE,aAAa,CAAC,QAAQ,EAAE,KAAK,CAAC,YAAY,CAAC,CAAC;oBAC9F,MAAM,CAAC,QAAQ,CAAC,OAAO,CAAC,iIAAiI,CAAC,EAAE,KAAK,CAAC,aAAa,EAAE,IAAI,CAAC,UAAU,EAAE,GAAG,EAAE,KAAK,CAAC,YAAY,CAAC,CAAC;oBAC3N,0BAA0B,CAAC,QAAQ,EAAE,KAAK,CAAC,YAAY,CAAC,CAAC;gBAC3D,CAAC;gBACD,MAAM,CAAC,QAAQ,CAAC,OAAO,CAAC;;;;kCAIE,CAAC,EACzB,IAAI,CAAC,UAAU,EAAE,IAAI,CAAC,iBAAiB,EAAE,IAAI,CAAC,cAAc,EAC5D,IAAI,CAAC,gBAAgB,IAAI,IAAI,EAAE,GAAG,EAAE,KAAK,CAAC,YAAY,CAAC,CAAC;gBAC1D,IAAI,IAAI,CAAC,MAAM,KAAK,IAAI;oBAAE,wBAAwB,CAAC,QAAQ,EAAE,KAAK,CAAC,YAAY,EAAE,MAAM,EAAE,IAAI,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;YACjH,CAAC;YACD,IAAI,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAC,0BAA0B,CAAC,CAAC,CAAC,MAAM,GAAG,CAAC;gBAAE,MAAM,IAAI,oBAAoB,CAAC,+CAA+C,CAAC,CAAC;YACtJ,QAAQ,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;YACxB,OAAO,EAAE,IAAI,EAAE,EAAE,YAAY,EAAE,KAAK,CAAC,YAAY,EAAE,QAAQ,EAAE,KAAK,CAAC,aAAa,EAAE,EAAE,CAAC;QACvF,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,IAAI,CAAC;gBACH,QAAQ,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;YAC5B,CAAC;YAAC,OAAO,aAAa,EAAE,CAAC;gBACvB,MAAM,IAAI,oBAAoB,CAAC,6CAA6C,EAAE;oBAC5E,KAAK,EAAE,IAAI,cAAc,CAAC,CAAC,KAAK,EAAE,aAAa,CAAC,EAAE,sDAAsD,CAAC;iBAC1G,CAAC,CAAC;YACL,CAAC;YACD,IAAI,KAAK,YAAY,oBAAoB;gBAAE,MAAM,KAAK,CAAC;YACvD,MAAM,IAAI,oBAAoB,CAAC,oCAAoC,EAAE,EAAE,KAAK,EAAE,KAAK,EAAE,CAAC,CAAC;QACzF,CAAC;IACH,CAAC,CAAC,CAAC;AACL,CAAC"}
1
+ {"version":3,"file":"sync.js","sourceRoot":"","sources":["../../../src/local/store/sync.ts"],"names":[],"mappings":"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"}
@@ -1,11 +1,10 @@
1
1
  import { isDeepStrictEqual } from "node:util";
2
+ import { RepositoryServiceError } from "../domain/errors.js";
2
3
  import { latestValuesBytes, stagingBytes, stagingDigest } from "../domain/service/staging.js";
3
- import { RepositoryStoreError, WorkspacePreconditionError } from "./sqlite/errors.js";
4
+ import { RepositoryNodeTombstoneBlockedError, RepositoryStoreError, WorkspacePreconditionError } from "./sqlite/errors.js";
4
5
  import { runSql } from "./sqlite/rows.js";
5
6
  import { validConflict, validRebase, workspaceStateIn } from "./workspace-state.js";
6
- import { capturedRepositoryIdentityIn, committedOperationIds } from "./commits.js";
7
7
  import { validatePendingBatch } from "./pending.js";
8
- import { snapshotTablesFromConnection } from "./snapshot/read.js";
9
8
  function sameStaging(left, right) {
10
9
  return left.repositoryId === right.repositoryId && left.state === right.state && left.digest === right.digest &&
11
10
  stagingBytes(left.operations).equals(stagingBytes(right.operations)) &&
@@ -58,8 +57,7 @@ export function applyWorkspaceAtomicIn(database, batch, updatedAt) {
58
57
  if (batch.validateStaging) {
59
58
  // The guards above pin the head and staging, so the committed tables on
60
59
  // this connection are exactly the base the batch was captured against.
61
- const identity = capturedRepositoryIdentityIn(database, batch.repositoryId);
62
- validatePendingBatch(batch.repositoryId, identity, batch.expectedLocalHeadCommitId, snapshotTablesFromConnection(database, batch.repositoryId), batch.staging, committedOperationIds(database, batch.repositoryId, batch.staging.operations));
60
+ validatePendingBatch(database, batch.repositoryId, batch.expectedLocalHeadCommitId, batch.staging);
63
61
  }
64
62
  runSql(database.prepare("UPDATE repository_staging SET state = ?, staging_digest = ?, operations_bytes = ?, latest_values_bytes = ?, updated_at = ? WHERE repository_id = ?"), batch.staging.state, batch.staging.digest, stagingBytes(batch.staging.operations), latestValuesBytes(batch.staging.latestValues), updatedAt, batch.repositoryId);
65
63
  replaceRebaseRows(database, batch.repositoryId, batch.rebase, batch.conflicts);
@@ -74,6 +72,11 @@ export function applyWorkspaceAtomicIn(database, batch, updatedAt) {
74
72
  cause: new AggregateError([error, rollbackError], "workspace batch and rollback both failed"),
75
73
  });
76
74
  }
75
+ if (error instanceof RepositoryNodeTombstoneBlockedError)
76
+ throw error;
77
+ // A typed domain refusal already explains itself and names its entities.
78
+ if (error instanceof RepositoryServiceError)
79
+ throw error;
77
80
  throw new RepositoryStoreError(`workspace batch failed: ${error instanceof Error ? error.message : String(error)}`, { cause: error });
78
81
  }
79
82
  return { state: workspaceStateIn(database, batch.repositoryId) };
@@ -1 +1 @@
1
- {"version":3,"file":"workspace.js","sourceRoot":"","sources":["../../../src/local/store/workspace.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"workspace.js","sourceRoot":"","sources":["../../../src/local/store/workspace.ts"],"names":[],"mappings":"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"}