@paradigma-inc/flywheel 0.1.146 → 0.1.148

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 (64) hide show
  1. package/package.json +1 -1
  2. package/src/runtime/vendor/flywheel-cli-dist/commands/help-metadata.js +14 -13
  3. package/src/runtime/vendor/flywheel-cli-dist/commands/help-metadata.js.map +1 -1
  4. package/src/runtime/vendor/flywheel-cli-dist/commands/help.js +19 -12
  5. package/src/runtime/vendor/flywheel-cli-dist/commands/help.js.map +1 -1
  6. package/src/runtime/vendor/flywheel-cli-dist/commands/registry/repository.js +4 -3
  7. package/src/runtime/vendor/flywheel-cli-dist/commands/registry/repository.js.map +1 -1
  8. package/src/runtime/vendor/flywheel-cli-dist/commands/repository-output.js +34 -0
  9. package/src/runtime/vendor/flywheel-cli-dist/commands/repository-output.js.map +1 -1
  10. package/src/runtime/vendor/flywheel-cli-dist/http/client.js +1 -0
  11. package/src/runtime/vendor/flywheel-cli-dist/http/client.js.map +1 -1
  12. package/src/runtime/vendor/flywheel-cli-dist/local/domain/invariants.js +24 -8
  13. package/src/runtime/vendor/flywheel-cli-dist/local/domain/invariants.js.map +1 -1
  14. package/src/runtime/vendor/flywheel-cli-dist/local/domain/models/operation-identity.js +22 -0
  15. package/src/runtime/vendor/flywheel-cli-dist/local/domain/models/operation-identity.js.map +1 -0
  16. package/src/runtime/vendor/flywheel-cli-dist/local/domain/rebase/context.js +1 -1
  17. package/src/runtime/vendor/flywheel-cli-dist/local/domain/rebase/context.js.map +1 -1
  18. package/src/runtime/vendor/flywheel-cli-dist/local/domain/rebase/pull.js +2 -5
  19. package/src/runtime/vendor/flywheel-cli-dist/local/domain/rebase/pull.js.map +1 -1
  20. package/src/runtime/vendor/flywheel-cli-dist/local/domain/rebase/replay.js +55 -62
  21. package/src/runtime/vendor/flywheel-cli-dist/local/domain/rebase/replay.js.map +1 -1
  22. package/src/runtime/vendor/flywheel-cli-dist/local/domain/service/commit.js +7 -4
  23. package/src/runtime/vendor/flywheel-cli-dist/local/domain/service/commit.js.map +1 -1
  24. package/src/runtime/vendor/flywheel-cli-dist/local/domain/service/revert.js +8 -11
  25. package/src/runtime/vendor/flywheel-cli-dist/local/domain/service/revert.js.map +1 -1
  26. package/src/runtime/vendor/flywheel-cli-dist/local/domain/service/writes.js +9 -183
  27. package/src/runtime/vendor/flywheel-cli-dist/local/domain/service/writes.js.map +1 -1
  28. package/src/runtime/vendor/flywheel-cli-dist/local/runtime/operations/history.js +18 -1
  29. package/src/runtime/vendor/flywheel-cli-dist/local/runtime/operations/history.js.map +1 -1
  30. package/src/runtime/vendor/flywheel-cli-dist/local/runtime/operations/projections.js +3 -3
  31. package/src/runtime/vendor/flywheel-cli-dist/local/runtime/operations/projections.js.map +1 -1
  32. package/src/runtime/vendor/flywheel-cli-dist/local/runtime/snapshot-diff.js +183 -0
  33. package/src/runtime/vendor/flywheel-cli-dist/local/runtime/snapshot-diff.js.map +1 -0
  34. package/src/runtime/vendor/flywheel-cli-dist/local/store/apply.js +2 -3
  35. package/src/runtime/vendor/flywheel-cli-dist/local/store/apply.js.map +1 -1
  36. package/src/runtime/vendor/flywheel-cli-dist/local/store/contract.js.map +1 -1
  37. package/src/runtime/vendor/flywheel-cli-dist/local/store/history-validation.js +21 -14
  38. package/src/runtime/vendor/flywheel-cli-dist/local/store/history-validation.js.map +1 -1
  39. package/src/runtime/vendor/flywheel-cli-dist/local/store/latest-values.js +170 -8
  40. package/src/runtime/vendor/flywheel-cli-dist/local/store/latest-values.js.map +1 -1
  41. package/src/runtime/vendor/flywheel-cli-dist/local/store/pending.js +58 -100
  42. package/src/runtime/vendor/flywheel-cli-dist/local/store/pending.js.map +1 -1
  43. package/src/runtime/vendor/flywheel-cli-dist/local/store/projection/apply.js +52 -15
  44. package/src/runtime/vendor/flywheel-cli-dist/local/store/projection/apply.js.map +1 -1
  45. package/src/runtime/vendor/flywheel-cli-dist/local/store/projection/artifacts.js.map +1 -1
  46. package/src/runtime/vendor/flywheel-cli-dist/local/store/projection/context.js +2 -0
  47. package/src/runtime/vendor/flywheel-cli-dist/local/store/projection/context.js.map +1 -0
  48. package/src/runtime/vendor/flywheel-cli-dist/local/store/projection/nodes.js +1 -1
  49. package/src/runtime/vendor/flywheel-cli-dist/local/store/projection/nodes.js.map +1 -1
  50. package/src/runtime/vendor/flywheel-cli-dist/local/store/projection/relations.js +3 -5
  51. package/src/runtime/vendor/flywheel-cli-dist/local/store/projection/relations.js.map +1 -1
  52. package/src/runtime/vendor/flywheel-cli-dist/local/store/projection/tags.js.map +1 -1
  53. package/src/runtime/vendor/flywheel-cli-dist/local/store/sqlite/store.js +30 -28
  54. package/src/runtime/vendor/flywheel-cli-dist/local/store/sqlite/store.js.map +1 -1
  55. package/src/runtime/vendor/flywheel-cli-dist/local/store/sync-commits.js +12 -70
  56. package/src/runtime/vendor/flywheel-cli-dist/local/store/sync-commits.js.map +1 -1
  57. package/src/runtime/vendor/flywheel-cli-dist/local/store/sync.js +5 -11
  58. package/src/runtime/vendor/flywheel-cli-dist/local/store/sync.js.map +1 -1
  59. package/src/runtime/vendor/flywheel-cli-dist/main.js +99 -180
  60. package/src/runtime/vendor/flywheel-cli-dist/main.js.map +1 -1
  61. package/src/runtime/vendor/flywheel-cli-dist/runtime-auth.js +112 -0
  62. package/src/runtime/vendor/flywheel-cli-dist/runtime-auth.js.map +1 -0
  63. package/src/runtime/vendor/manifest.json +9 -1
  64. package/src/unified-cli.mjs +189 -193
@@ -14,6 +14,12 @@ const CURRENT_TABLES = [
14
14
  ["repository_semantic_edges", "edge_id", ["content"]],
15
15
  ];
16
16
  const LEGACY_ARTIFACT_FIELDS = ["name", "media_type", "notes", "tags"];
17
+ function emptyOperationLatestValues(commit) {
18
+ const values = new Map();
19
+ for (const operation of commit.operations)
20
+ values.set(operation.operationId, new Map());
21
+ return values;
22
+ }
17
23
  function checkCurrentValues(database, repositoryId, commits, latestByCommit, loadAggregate) {
18
24
  const root = commits[0];
19
25
  // A baseline authenticates an imported snapshot, not replayable initial rows.
@@ -36,12 +42,12 @@ function checkCurrentValues(database, repositoryId, commits, latestByCommit, loa
36
42
  }
37
43
  }
38
44
  for (const commit of commits) {
39
- const latestByOperation = latestByCommit.get(commit.commitId);
40
- if (!latestByOperation)
45
+ const latest = latestByCommit.get(commit.commitId);
46
+ if (!latest)
41
47
  throw new RepositoryStoreError("stored canonical current-value history is invalid");
42
- for (const [position, operation] of commit.operations.entries()) {
43
- const latest = latestByOperation[position];
44
- if (!latest)
48
+ for (const operation of commit.operations) {
49
+ const operationValues = latest.get(operation.operationId);
50
+ if (!operationValues)
45
51
  throw new RepositoryStoreError("stored canonical current-value history is invalid");
46
52
  const payload = operation.payload;
47
53
  switch (operation.type) {
@@ -102,7 +108,7 @@ function checkCurrentValues(database, repositoryId, commits, latestByCommit, loa
102
108
  }
103
109
  if (operation.type === "artifact.attach.v2") {
104
110
  const declaredDigest = payload.properties_digest;
105
- const write = latest.get(JSON.stringify(["artifact", artifactId, "properties"]));
111
+ const write = operationValues.get(JSON.stringify(["artifact", artifactId, "properties"]));
106
112
  if (typeof declaredDigest !== "string")
107
113
  throw new RepositoryStoreError("stored canonical current-value history is invalid");
108
114
  if (write !== undefined) {
@@ -110,7 +116,7 @@ function checkCurrentValues(database, repositoryId, commits, latestByCommit, loa
110
116
  throw new RepositoryStoreError("stored canonical current-value history is invalid");
111
117
  }
112
118
  try {
113
- current.properties = foldArtifactPropertiesOperation(current.properties, operation, latest);
119
+ current.properties = foldArtifactPropertiesOperation(current.properties, operation, operationValues);
114
120
  }
115
121
  catch (error) {
116
122
  throw new RepositoryStoreError("stored canonical current-value history is invalid", { cause: error });
@@ -125,11 +131,11 @@ function checkCurrentValues(database, repositoryId, commits, latestByCommit, loa
125
131
  }
126
132
  break;
127
133
  }
128
- const hasMetadataSideband = LEGACY_ARTIFACT_FIELDS.some(field => latest.has(JSON.stringify(["artifact", artifactId, field])));
134
+ const hasMetadataSideband = LEGACY_ARTIFACT_FIELDS.some(field => operationValues.has(JSON.stringify(["artifact", artifactId, field])));
129
135
  if (!hasMetadataSideband)
130
136
  break;
131
137
  try {
132
- const properties = foldArtifactPropertiesOperation(current.properties, operation, latest);
138
+ const properties = foldArtifactPropertiesOperation(current.properties, operation, operationValues);
133
139
  if (properties === undefined)
134
140
  throw new Error("artifact properties are missing");
135
141
  current.properties = properties;
@@ -150,14 +156,14 @@ function checkCurrentValues(database, repositoryId, commits, latestByCommit, loa
150
156
  current.propertiesDigest !== undefined && current.propertiesDigest !== expected) {
151
157
  throw new RepositoryStoreError("stored canonical current-value history is invalid");
152
158
  }
153
- const write = latest.get(JSON.stringify(["artifact", artifactId, "properties"]));
159
+ const write = operationValues.get(JSON.stringify(["artifact", artifactId, "properties"]));
154
160
  if (write === undefined) {
155
161
  current.properties = undefined;
156
162
  current.propertiesDigest = replacement;
157
163
  break;
158
164
  }
159
165
  try {
160
- const properties = foldArtifactPropertiesOperation(current.properties, operation, latest);
166
+ const properties = foldArtifactPropertiesOperation(current.properties, operation, operationValues);
161
167
  if (properties === undefined || valueDigest(properties) !== replacement)
162
168
  throw new Error("artifact properties are invalid");
163
169
  current.properties = properties;
@@ -168,14 +174,14 @@ function checkCurrentValues(database, repositoryId, commits, latestByCommit, loa
168
174
  }
169
175
  break;
170
176
  }
171
- const hasMetadataSideband = [...latest.values()].some(write => write.ownerType === "artifact" && write.ownerId === artifactId && write.field === payload.field);
177
+ const hasMetadataSideband = [...operationValues.values()].some(write => write.ownerType === "artifact" && write.ownerId === artifactId && write.field === payload.field);
172
178
  if (!hasMetadataSideband) {
173
179
  current.properties = undefined;
174
180
  current.propertiesDigest = undefined;
175
181
  break;
176
182
  }
177
183
  try {
178
- const properties = foldArtifactPropertiesOperation(current.properties, operation, latest);
184
+ const properties = foldArtifactPropertiesOperation(current.properties, operation, operationValues);
179
185
  if (properties === undefined)
180
186
  throw new Error("artifact properties are missing");
181
187
  current.properties = properties;
@@ -254,7 +260,8 @@ export function validateCanonicalHistoryIn(database, repositoryId, loadAggregate
254
260
  throw new RepositoryStoreError("stored canonical commit ownership is invalid");
255
261
  commits.set(commit.commitId, commit);
256
262
  const latest = commitLatestValues(row.latest_values_bytes);
257
- latestByCommit.set(commit.commitId, latest.length === 0 ? commit.operations.map(() => new Map()) : latestValueWrites(commit, latest.map(write => write.canonicalBytes)));
263
+ latestByCommit.set(commit.commitId, latest.length === 0
264
+ ? emptyOperationLatestValues(commit) : latestValueWrites(commit, latest.map(write => write.canonicalBytes)));
258
265
  if (commit.parentCommitId !== null) {
259
266
  if (parent.done || parent.value.commit_id !== commit.commitId || parent.value.parent_commit_id !== commit.parentCommitId ||
260
267
  parent.value.parent_position !== 0n) {
@@ -1 +1 @@
1
- {"version":3,"file":"history-validation.js","sourceRoot":"","sources":["../../../src/local/store/history-validation.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"history-validation.js","sourceRoot":"","sources":["../../../src/local/store/history-validation.ts"],"names":[],"mappings":"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"}
@@ -1,6 +1,174 @@
1
- import { associateLatestValueWrites } from "../domain/service/writes.js";
1
+ import { createHash } from "node:crypto";
2
+ import { parseArtifactProperties } from "../domain/models/artifact-properties.js";
3
+ import { canonicalBytes } from "../domain/models/encoding.js";
4
+ import { operationFailureMessage } from "../domain/models/operation-identity.js";
2
5
  import { LatestValueWrite } from "./contract.js";
3
6
  import { RepositoryStoreError } from "./sqlite/errors.js";
7
+ function writeKey(ownerType, ownerId, field) {
8
+ return JSON.stringify([ownerType, ownerId, field]);
9
+ }
10
+ function expectedWrite(operation) {
11
+ const payload = operation.payload;
12
+ let ownerType;
13
+ let ownerId;
14
+ let field = payload.field;
15
+ let digest;
16
+ switch (operation.type) {
17
+ case "node.field.set.v1":
18
+ ownerType = "node";
19
+ ownerId = payload.node_id;
20
+ digest = payload.new_digest;
21
+ break;
22
+ case "edge.add.v1":
23
+ ownerType = "edge";
24
+ ownerId = payload.edge_id;
25
+ field = "content";
26
+ digest = payload.content_digest;
27
+ break;
28
+ case "edge.field.set.v1":
29
+ ownerType = "edge";
30
+ ownerId = payload.edge_id;
31
+ digest = payload.new_digest;
32
+ break;
33
+ case "artifact.metadata.set.v1":
34
+ ownerType = "artifact";
35
+ ownerId = payload.artifact_id;
36
+ digest = payload.new_digest;
37
+ break;
38
+ case "artifact.properties.set.v1":
39
+ ownerType = "artifact";
40
+ ownerId = payload.artifact_id;
41
+ field = "properties";
42
+ digest = payload.new_digest;
43
+ break;
44
+ default: return null;
45
+ }
46
+ if (typeof ownerId !== "string" || typeof field !== "string" || typeof digest !== "string") {
47
+ throw new RepositoryStoreError("latest value operation is invalid");
48
+ }
49
+ return { key: writeKey(ownerType, ownerId, field), digest };
50
+ }
51
+ function suppliedKey(value) {
52
+ return value instanceof LatestValueWrite ? JSON.stringify(value.key) :
53
+ JSON.stringify([value.owner_type, value.owner_id, value.field]);
54
+ }
55
+ function suppliedDigest(value) {
56
+ return value instanceof LatestValueWrite ? value.valueDigest : value.value_digest;
57
+ }
58
+ function takeValue(queue, position = queue.index) {
59
+ const supplied = queue.values[position];
60
+ // Indexing a later record must not validate it before an earlier graph operation.
61
+ const value = supplied instanceof LatestValueWrite ? supplied : LatestValueWrite.fromMapping(supplied);
62
+ if (position === queue.index)
63
+ queue.index++;
64
+ else
65
+ queue.values.splice(position, 1);
66
+ queue.available.set(value.valueDigest, queue.available.get(value.valueDigest) - 1);
67
+ return value;
68
+ }
69
+ function optionalValue(queue, expectedDigest) {
70
+ if (!queue)
71
+ return undefined;
72
+ for (let position = queue.index; position < queue.values.length; position++) {
73
+ const digest = suppliedDigest(queue.values[position]);
74
+ if (expectedDigest !== undefined && digest !== expectedDigest)
75
+ continue;
76
+ // Attachment sidebands have no position requirement and cannot steal a later required write.
77
+ if (typeof digest === "string" && queue.available.get(digest) <= (queue.required.get(digest) ?? 0))
78
+ continue;
79
+ return takeValue(queue, position);
80
+ }
81
+ return undefined;
82
+ }
83
+ function attachmentValues(operation, queues) {
84
+ const artifactId = String(operation.payload.artifact_id);
85
+ if (operation.type === "artifact.attach.v2") {
86
+ const key = writeKey("artifact", artifactId, "properties");
87
+ const write = optionalValue(queues.get(key), String(operation.payload.properties_digest));
88
+ if (!write)
89
+ return new Map();
90
+ if (write.value === null)
91
+ throw new RepositoryStoreError("artifact properties are invalid");
92
+ parseArtifactProperties(write.value);
93
+ return new Map([[key, write]]);
94
+ }
95
+ const values = new Map();
96
+ const metadata = {};
97
+ for (const field of ["name", "media_type", "notes", "tags"]) {
98
+ const key = writeKey("artifact", artifactId, field);
99
+ const write = optionalValue(queues.get(key));
100
+ if (!write)
101
+ continue;
102
+ values.set(key, write);
103
+ metadata[field] = write.value;
104
+ if (`sha256:${createHash("sha256").update(canonicalBytes(metadata)).digest("hex")}` === operation.payload.metadata_digest)
105
+ return values;
106
+ }
107
+ if (values.size !== 0)
108
+ throw new RepositoryStoreError("artifact metadata digest does not match latest values");
109
+ return values;
110
+ }
111
+ /** Associates and validates each operation's records only when that operation is reached. */
112
+ export function* iterateOperationLatestValues(operations, writes) {
113
+ const queues = new Map();
114
+ const queueFor = (key) => {
115
+ let queue = queues.get(key);
116
+ if (!queue) {
117
+ queue = { values: [], index: 0, available: new Map(), required: new Map() };
118
+ queues.set(key, queue);
119
+ }
120
+ return queue;
121
+ };
122
+ for (const write of writes) {
123
+ const queue = queueFor(suppliedKey(write));
124
+ queue.values.push(write);
125
+ const digest = suppliedDigest(write);
126
+ queue.available.set(digest, (queue.available.get(digest) ?? 0) + 1);
127
+ }
128
+ for (const operation of operations) {
129
+ const expected = expectedWrite(operation);
130
+ if (expected === null)
131
+ continue;
132
+ const queue = queueFor(expected.key);
133
+ queue.required.set(expected.digest, (queue.required.get(expected.digest) ?? 0) + 1);
134
+ }
135
+ for (const operation of operations) {
136
+ try {
137
+ if (operation.type === "artifact.attach.v1" || operation.type === "artifact.attach.v2") {
138
+ yield [operation.operationId, attachmentValues(operation, queues)];
139
+ continue;
140
+ }
141
+ const expected = expectedWrite(operation);
142
+ if (expected === null) {
143
+ yield [operation.operationId, new Map()];
144
+ continue;
145
+ }
146
+ const queue = queues.get(expected.key);
147
+ if (queue.index === queue.values.length)
148
+ throw new RepositoryStoreError("latest value writes do not match canonical field operations");
149
+ const write = takeValue(queue);
150
+ if (write.valueDigest !== expected.digest)
151
+ throw new RepositoryStoreError("latest value writes do not match canonical field operations");
152
+ queue.required.set(expected.digest, queue.required.get(expected.digest) - 1);
153
+ yield [operation.operationId, new Map([[expected.key, write]])];
154
+ }
155
+ catch (error) {
156
+ const reason = error instanceof Error ? error.message : "latest value association is invalid";
157
+ throw new RepositoryStoreError(operationFailureMessage(operation, reason), { cause: error });
158
+ }
159
+ }
160
+ for (const queue of queues.values()) {
161
+ if (queue.index === queue.values.length)
162
+ continue;
163
+ const operation = operations.at(-1);
164
+ const reason = "latest value writes do not match canonical field operations";
165
+ throw new RepositoryStoreError(operation ? operationFailureMessage(operation, reason) : reason);
166
+ }
167
+ }
168
+ /** Historical readers need the complete operation-indexed association, not a collapsed field map. */
169
+ export function associateLatestValueWrites(operations, writes) {
170
+ return new Map(iterateOperationLatestValues(operations, writes));
171
+ }
4
172
  export function latestValueWrites(commit, rawWrites) {
5
173
  let writes;
6
174
  try {
@@ -9,12 +177,6 @@ export function latestValueWrites(commit, rawWrites) {
9
177
  catch (error) {
10
178
  throw new RepositoryStoreError("latest value write is invalid", { cause: error });
11
179
  }
12
- try {
13
- return [...associateLatestValueWrites(commit.operations, writes)];
14
- }
15
- catch (error) {
16
- const detail = error instanceof Error ? `: ${error.message}` : "";
17
- throw new RepositoryStoreError(`latest value writes do not match canonical field operations${detail}`, { cause: error });
18
- }
180
+ return associateLatestValueWrites(commit.operations, writes);
19
181
  }
20
182
  //# sourceMappingURL=latest-values.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"latest-values.js","sourceRoot":"","sources":["../../../src/local/store/latest-values.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,0BAA0B,EAAgC,MAAM,6BAA6B,CAAC;AACvG,OAAO,EAAE,gBAAgB,EAAE,MAAM,eAAe,CAAC;AACjD,OAAO,EAAE,oBAAoB,EAAE,MAAM,oBAAoB,CAAC;AAE1D,MAAM,UAAU,iBAAiB,CAAC,MAAwB,EAAE,SAAgC;IAC1F,IAAI,MAA0B,CAAC;IAC/B,IAAI,CAAC;QACH,MAAM,GAAG,SAAS,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC,gBAAgB,CAAC,kBAAkB,CAAC,GAAG,CAAC,CAAC,CAAC;IAC1E,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,MAAM,IAAI,oBAAoB,CAAC,+BAA+B,EAAE,EAAE,KAAK,EAAE,KAAK,EAAE,CAAC,CAAC;IACpF,CAAC;IACD,IAAI,CAAC;QACH,OAAO,CAAC,GAAG,0BAA0B,CAAC,MAAM,CAAC,UAAU,EAAE,MAAM,CAAC,CAAC,CAAC;IACpE,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,MAAM,MAAM,GAAG,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,KAAK,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QAClE,MAAM,IAAI,oBAAoB,CAAC,8DAA8D,MAAM,EAAE,EAAE,EAAE,KAAK,EAAE,KAAK,EAAE,CAAC,CAAC;IAC3H,CAAC;AACH,CAAC"}
1
+ {"version":3,"file":"latest-values.js","sourceRoot":"","sources":["../../../src/local/store/latest-values.ts"],"names":[],"mappings":"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"}
@@ -1,112 +1,70 @@
1
1
  import { DatabaseSync } from "node:sqlite";
2
- import { associateLatestValueWrites } from "../domain/service/writes.js";
3
- import { loadMigration } from "./migrations.js";
4
- import { applyProjection } from "./projection/apply.js";
5
- import { replaceSnapshotTables } from "./snapshot/replace.js";
2
+ import { iterateOperationLatestValues } from "./latest-values.js";
3
+ import { applyOperations } from "./projection/apply.js";
4
+ import { assertProjectionInvariants } from "./snapshot/replace.js";
6
5
  import { snapshotTablesFromConnection } from "./snapshot/read.js";
7
6
  import { SNAPSHOT_TABLES } from "./snapshot/schema.js";
8
- import { canonicalSnapshotBytes } from "./snapshot/validate.js";
9
- import { RepositoryStoreError } from "./sqlite/errors.js";
10
- function createTableStatement(migration, table) {
11
- const start = migration.indexOf(`CREATE TABLE ${table} (`);
12
- if (start < 0)
13
- throw new RepositoryStoreError(`pending snapshot schema is missing ${table}`);
14
- const end = migration.indexOf(";", start);
15
- if (end < 0)
16
- throw new RepositoryStoreError(`pending snapshot schema is incomplete for ${table}`);
17
- return migration.slice(start, end + 1);
18
- }
19
- /**
20
- * The transient graph is the durable snapshot schema, with only references to
21
- * omitted history rows and pending provenance requirements relaxed.
22
- */
23
- function transientTableStatement(statement) {
24
- return statement
25
- .replace(/\s+REFERENCES repository_metadata\([^)]*\)/g, "")
26
- .replace(/,\s*FOREIGN KEY \([^)]*\) REFERENCES repository_(?:metadata|commits|operations)\([^)]*\)/g, "")
27
- .replace(/\b(?:created_by|lifecycle|updated_by|assigned_by|attached_by)_commit_id TEXT NOT NULL/g, (column) => column.replace(" NOT NULL", ""));
28
- }
29
- function transientSnapshotSchema() {
30
- const initial = loadMigration("001_initial.sql");
31
- return SNAPSHOT_TABLES.map(([table]) => transientTableStatement(createTableStatement(initial, table))).join("\n");
7
+ import { canonicalSnapshotBytes, validateSnapshotTables } from "./snapshot/validate.js";
8
+ import { loadMigration } from "./migrations.js";
9
+ import { runSql } from "./sqlite/rows.js";
10
+ function transientSchema() {
11
+ // Pending projections retain audit IDs without persisting operation history.
12
+ return loadMigration("001_initial.sql").replace(/(created_by_commit_id|lifecycle_commit_id|updated_by_commit_id|assigned_by_commit_id|attached_by_commit_id) TEXT NOT NULL/g, "$1 TEXT").replace(/,\s*FOREIGN KEY \([^)]+\) REFERENCES repository_operations\([^)]+\)/g, "");
32
13
  }
33
- const TRANSIENT_SNAPSHOT_SCHEMA = transientSnapshotSchema();
34
- function operationEntity(operation) {
35
- const { parent_node_id: parent, child_node_id: child } = operation.payload;
36
- if (typeof parent === "string" && typeof child === "string")
37
- return `${parent} -> ${child}`;
38
- for (const key of ["node_id", "edge_id", "artifact_id", "containment_id", "tag_id"]) {
39
- const value = operation.payload[key];
40
- if (typeof value === "string")
41
- return value;
14
+ function insertSnapshotTables(database, tables) {
15
+ for (const [name, columns] of SNAPSHOT_TABLES) {
16
+ const rows = tables[name];
17
+ if (rows.length === 0)
18
+ continue;
19
+ const statement = database.prepare(`INSERT INTO ${name} (${columns.join(", ")}) VALUES (${columns.map(() => "?").join(", ")})`);
20
+ for (const row of rows)
21
+ runSql(statement, ...row);
42
22
  }
43
- return "unknown entity";
44
23
  }
45
- function pendingOperationError(operation, error) {
46
- const reason = error instanceof Error && error.message ? error.message : "pending projection could not be applied";
47
- return new RepositoryStoreError(`pending operation ${operation.operationId} (${operation.type}) for ${operationEntity(operation)} failed: ${reason}`, { cause: error });
48
- }
49
- function snapshot(repositoryId, headCommitId, tables) {
50
- return { repositoryId, headCommitId, canonicalBytes: canonicalSnapshotBytes(repositoryId, headCommitId, tables) };
51
- }
52
- export function applyPendingSnapshot(repositoryId, headCommitId, baseTables, workspace, committedOperationIds) {
53
- let database;
24
+ function applyPendingSnapshot(repositoryId, identity, baseHeadCommitId, baseTables, staging, committedOperationIds) {
25
+ const database = new DatabaseSync(":memory:", { allowExtension: false, defensive: true });
54
26
  try {
55
- database = new DatabaseSync(":memory:", { allowExtension: false, defensive: true, enableForeignKeyConstraints: true });
56
- database.exec("PRAGMA foreign_keys = ON; PRAGMA trusted_schema = OFF");
57
- database.exec(TRANSIENT_SNAPSHOT_SCHEMA);
58
- database.exec("BEGIN");
59
- try {
60
- replaceSnapshotTables(database, repositoryId, baseTables);
61
- const values = associateLatestValueWrites(workspace.staging.operations, workspace.staging.latestValues);
62
- const seenOperationIds = new Set(committedOperationIds);
63
- const context = { repositoryId, expectedHead: headCommitId, commitId: null, intent: null };
64
- for (const operation of workspace.staging.operations) {
65
- try {
66
- if (seenOperationIds.has(operation.operationId))
67
- throw new RepositoryStoreError("operation identifiers must be unique");
68
- seenOperationIds.add(operation.operationId);
69
- const next = values.next();
70
- if (next.done)
71
- throw new RepositoryStoreError("pending latest values ended before staged operations");
72
- applyProjection(database, context, operation, next.value);
73
- }
74
- catch (error) {
75
- throw pendingOperationError(operation, error);
76
- }
77
- }
78
- try {
79
- const terminal = values.next();
80
- if (!terminal.done)
81
- throw new RepositoryStoreError("pending latest values exceed staged operations");
82
- }
83
- catch (error) {
84
- const operation = workspace.staging.operations.at(-1);
85
- if (operation)
86
- throw pendingOperationError(operation, error);
87
- throw new RepositoryStoreError("pending latest value writes do not match staged operations", { cause: error });
88
- }
89
- const pendingTables = snapshotTablesFromConnection(database, repositoryId);
90
- database.exec("COMMIT");
91
- const baseSnapshot = snapshot(repositoryId, headCommitId, baseTables);
92
- return {
93
- repositoryId,
94
- headCommitId,
95
- stagingDigest: workspace.staging.digest,
96
- baseSnapshot,
97
- snapshot: snapshot(repositoryId, headCommitId, pendingTables),
98
- };
99
- }
100
- catch (error) {
101
- try {
102
- database.exec("ROLLBACK");
103
- }
104
- catch { /* The transaction may have already ended. */ }
105
- throw error;
106
- }
27
+ database.exec("PRAGMA trusted_schema = OFF");
28
+ database.exec(transientSchema());
29
+ database.exec("PRAGMA foreign_keys = OFF");
30
+ runSql(database.prepare("INSERT INTO repository_metadata VALUES (?, ?, 'flywheel.repository.v1', ?)"), repositoryId, identity.clientId, identity.createdAt);
31
+ insertSnapshotTables(database, baseTables);
32
+ assertProjectionInvariants(database, repositoryId);
33
+ database.exec("PRAGMA foreign_keys = ON");
34
+ applyOperations(database, {
35
+ repositoryId,
36
+ expectedHead: baseHeadCommitId,
37
+ commitId: null,
38
+ intent: null,
39
+ operationCount: staging.operations.length,
40
+ }, staging.operations, iterateOperationLatestValues(staging.operations, staging.latestValues), committedOperationIds);
41
+ assertProjectionInvariants(database, repositoryId);
42
+ const tables = snapshotTablesFromConnection(database, repositoryId);
43
+ return {
44
+ repositoryId,
45
+ headCommitId: baseHeadCommitId,
46
+ canonicalBytes: canonicalSnapshotBytes(repositoryId, baseHeadCommitId, validateSnapshotTables(repositoryId, tables)),
47
+ };
107
48
  }
108
49
  finally {
109
- database?.close();
50
+ database.close();
110
51
  }
111
52
  }
53
+ export function pendingRepositorySnapshot(repositoryId, identity, baseHeadCommitId, baseTables, staging, committedOperationIds) {
54
+ const tables = validateSnapshotTables(repositoryId, baseTables);
55
+ const baseSnapshot = {
56
+ repositoryId,
57
+ headCommitId: baseHeadCommitId,
58
+ canonicalBytes: canonicalSnapshotBytes(repositoryId, baseHeadCommitId, tables),
59
+ };
60
+ return {
61
+ repositoryId,
62
+ baseHeadCommitId,
63
+ stagingDigest: staging.digest,
64
+ baseSnapshot,
65
+ pendingSnapshot: staging.operations.length === 0 && staging.latestValues.length === 0
66
+ ? baseSnapshot
67
+ : applyPendingSnapshot(repositoryId, identity, baseHeadCommitId, tables, staging, committedOperationIds),
68
+ };
69
+ }
112
70
  //# sourceMappingURL=pending.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"pending.js","sourceRoot":"","sources":["../../../src/local/store/pending.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"pending.js","sourceRoot":"","sources":["../../../src/local/store/pending.ts"],"names":[],"mappings":"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"}