@paradigma-inc/flywheel 0.1.147 → 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 (53) hide show
  1. package/package.json +1 -1
  2. package/src/runtime/vendor/flywheel-cli-dist/commands/registry/repository.js +4 -3
  3. package/src/runtime/vendor/flywheel-cli-dist/commands/registry/repository.js.map +1 -1
  4. package/src/runtime/vendor/flywheel-cli-dist/commands/repository-output.js +34 -0
  5. package/src/runtime/vendor/flywheel-cli-dist/commands/repository-output.js.map +1 -1
  6. package/src/runtime/vendor/flywheel-cli-dist/local/domain/invariants.js +24 -8
  7. package/src/runtime/vendor/flywheel-cli-dist/local/domain/invariants.js.map +1 -1
  8. package/src/runtime/vendor/flywheel-cli-dist/local/domain/models/operation-identity.js +22 -0
  9. package/src/runtime/vendor/flywheel-cli-dist/local/domain/models/operation-identity.js.map +1 -0
  10. package/src/runtime/vendor/flywheel-cli-dist/local/domain/rebase/context.js +1 -1
  11. package/src/runtime/vendor/flywheel-cli-dist/local/domain/rebase/context.js.map +1 -1
  12. package/src/runtime/vendor/flywheel-cli-dist/local/domain/rebase/pull.js +2 -5
  13. package/src/runtime/vendor/flywheel-cli-dist/local/domain/rebase/pull.js.map +1 -1
  14. package/src/runtime/vendor/flywheel-cli-dist/local/domain/rebase/replay.js +55 -62
  15. package/src/runtime/vendor/flywheel-cli-dist/local/domain/rebase/replay.js.map +1 -1
  16. package/src/runtime/vendor/flywheel-cli-dist/local/domain/service/commit.js +7 -4
  17. package/src/runtime/vendor/flywheel-cli-dist/local/domain/service/commit.js.map +1 -1
  18. package/src/runtime/vendor/flywheel-cli-dist/local/domain/service/revert.js +8 -11
  19. package/src/runtime/vendor/flywheel-cli-dist/local/domain/service/revert.js.map +1 -1
  20. package/src/runtime/vendor/flywheel-cli-dist/local/domain/service/writes.js +9 -183
  21. package/src/runtime/vendor/flywheel-cli-dist/local/domain/service/writes.js.map +1 -1
  22. package/src/runtime/vendor/flywheel-cli-dist/local/runtime/operations/history.js +18 -1
  23. package/src/runtime/vendor/flywheel-cli-dist/local/runtime/operations/history.js.map +1 -1
  24. package/src/runtime/vendor/flywheel-cli-dist/local/runtime/operations/projections.js +3 -3
  25. package/src/runtime/vendor/flywheel-cli-dist/local/runtime/operations/projections.js.map +1 -1
  26. package/src/runtime/vendor/flywheel-cli-dist/local/runtime/snapshot-diff.js +183 -0
  27. package/src/runtime/vendor/flywheel-cli-dist/local/runtime/snapshot-diff.js.map +1 -0
  28. package/src/runtime/vendor/flywheel-cli-dist/local/store/apply.js +2 -3
  29. package/src/runtime/vendor/flywheel-cli-dist/local/store/apply.js.map +1 -1
  30. package/src/runtime/vendor/flywheel-cli-dist/local/store/contract.js.map +1 -1
  31. package/src/runtime/vendor/flywheel-cli-dist/local/store/history-validation.js +21 -14
  32. package/src/runtime/vendor/flywheel-cli-dist/local/store/history-validation.js.map +1 -1
  33. package/src/runtime/vendor/flywheel-cli-dist/local/store/latest-values.js +170 -8
  34. package/src/runtime/vendor/flywheel-cli-dist/local/store/latest-values.js.map +1 -1
  35. package/src/runtime/vendor/flywheel-cli-dist/local/store/pending.js +58 -100
  36. package/src/runtime/vendor/flywheel-cli-dist/local/store/pending.js.map +1 -1
  37. package/src/runtime/vendor/flywheel-cli-dist/local/store/projection/apply.js +52 -15
  38. package/src/runtime/vendor/flywheel-cli-dist/local/store/projection/apply.js.map +1 -1
  39. package/src/runtime/vendor/flywheel-cli-dist/local/store/projection/artifacts.js.map +1 -1
  40. package/src/runtime/vendor/flywheel-cli-dist/local/store/projection/context.js +2 -0
  41. package/src/runtime/vendor/flywheel-cli-dist/local/store/projection/context.js.map +1 -0
  42. package/src/runtime/vendor/flywheel-cli-dist/local/store/projection/nodes.js +1 -1
  43. package/src/runtime/vendor/flywheel-cli-dist/local/store/projection/nodes.js.map +1 -1
  44. package/src/runtime/vendor/flywheel-cli-dist/local/store/projection/relations.js +3 -5
  45. package/src/runtime/vendor/flywheel-cli-dist/local/store/projection/relations.js.map +1 -1
  46. package/src/runtime/vendor/flywheel-cli-dist/local/store/projection/tags.js.map +1 -1
  47. package/src/runtime/vendor/flywheel-cli-dist/local/store/sqlite/store.js +30 -28
  48. package/src/runtime/vendor/flywheel-cli-dist/local/store/sqlite/store.js.map +1 -1
  49. package/src/runtime/vendor/flywheel-cli-dist/local/store/sync-commits.js +12 -70
  50. package/src/runtime/vendor/flywheel-cli-dist/local/store/sync-commits.js.map +1 -1
  51. package/src/runtime/vendor/flywheel-cli-dist/local/store/sync.js +5 -11
  52. package/src/runtime/vendor/flywheel-cli-dist/local/store/sync.js.map +1 -1
  53. package/src/runtime/vendor/manifest.json +7 -1
@@ -0,0 +1,183 @@
1
+ import { createHash } from "node:crypto";
2
+ import { canonicalBytes, compareCodePoints } from "../domain/models/encoding.js";
3
+ import { SNAPSHOT_TABLES } from "../store/snapshot/schema.js";
4
+ import { snapshotTables } from "../store/snapshot/validate.js";
5
+ const COLUMNS = new Map(SNAPSHOT_TABLES.map(([name, columns]) => [name, columns]));
6
+ const ENTITY_TYPES = [
7
+ "node",
8
+ "containment",
9
+ "lineage",
10
+ "edge",
11
+ "tag",
12
+ "artifact",
13
+ "artifact_reference",
14
+ ];
15
+ const PROVENANCE_COLUMNS = new Set([
16
+ "repository_id",
17
+ "created_by_commit_id",
18
+ "lifecycle_commit_id",
19
+ "updated_by_commit_id",
20
+ "assigned_by_commit_id",
21
+ "attached_by_commit_id",
22
+ ]);
23
+ function digest(value) {
24
+ return `sha256:${createHash("sha256").update(canonicalBytes(value)).digest("hex")}`;
25
+ }
26
+ function rowObjects(tables, table) {
27
+ const columns = COLUMNS.get(table);
28
+ if (!columns)
29
+ throw new Error("local staged diff snapshot table is unavailable");
30
+ return tables[table].map((row) => Object.fromEntries(columns.map((column, index) => [column, row[index]])));
31
+ }
32
+ function visible(row) {
33
+ return Object.fromEntries(Object.entries(row).filter(([column]) => !PROVENANCE_COLUMNS.has(column)));
34
+ }
35
+ function index(rows, key) {
36
+ return new Map(rows.map((row) => [key(row), row]));
37
+ }
38
+ function nodeEntities(tables) {
39
+ const nodes = rowObjects(tables, "repository_nodes");
40
+ const latest = index(rowObjects(tables, "repository_node_latest_values"), (row) => String(row.node_id));
41
+ const result = new Map();
42
+ for (const node of nodes) {
43
+ if (node.lifecycle_state === "purged")
44
+ continue;
45
+ const nodeId = String(node.node_id);
46
+ const values = latest.get(nodeId);
47
+ if (!values)
48
+ throw new Error("local staged diff node values are unavailable");
49
+ const entity = {
50
+ ...visible(node),
51
+ ...visible(values),
52
+ lifecycle_digest: digest(node.lifecycle_state),
53
+ };
54
+ result.set(nodeId, entity);
55
+ }
56
+ return result;
57
+ }
58
+ function containmentEntities(tables) {
59
+ return index(rowObjects(tables, "repository_containments").map(visible), (row) => String(row.containment_id));
60
+ }
61
+ function lineageEntities(tables) {
62
+ return index(rowObjects(tables, "repository_lineage").map((row) => {
63
+ const entity = visible(row);
64
+ return { ...entity, relation_digest: digest(row) };
65
+ }), (row) => `${row.parent_node_id}:${row.child_node_id}`);
66
+ }
67
+ function edgeEntities(tables) {
68
+ return index(rowObjects(tables, "repository_semantic_edges").map(visible), (row) => String(row.edge_id));
69
+ }
70
+ function tagEntities(tables) {
71
+ const holdersByTag = new Map();
72
+ for (const assignment of rowObjects(tables, "repository_tag_assignments")) {
73
+ const key = `${assignment.scope_node_id}:${assignment.tag_id}`;
74
+ let holders = holdersByTag.get(key);
75
+ if (!holders) {
76
+ holders = [];
77
+ holdersByTag.set(key, holders);
78
+ }
79
+ holders.push({ node_id: assignment.node_id, holder_digest: digest(assignment) });
80
+ }
81
+ const result = new Map();
82
+ for (const definition of rowObjects(tables, "repository_tag_definitions")) {
83
+ const key = `${definition.scope_node_id}:${definition.tag_id}`;
84
+ result.set(key, { ...visible(definition), holders: holdersByTag.get(key) ?? [] });
85
+ }
86
+ return result;
87
+ }
88
+ function artifactEntities(tables) {
89
+ const availability = index(rowObjects(tables, "repository_object_availability").map(visible), (row) => String(row.digest));
90
+ return index(rowObjects(tables, "repository_artifacts").map((artifact) => {
91
+ const entity = visible(artifact);
92
+ return {
93
+ ...entity,
94
+ availability: availability.get(String(artifact.object_digest)) ?? null,
95
+ };
96
+ }), (row) => String(row.artifact_id));
97
+ }
98
+ function artifactReferenceEntities(tables) {
99
+ const artifacts = index(rowObjects(tables, "repository_artifacts").map(visible), (row) => String(row.artifact_id));
100
+ return index(rowObjects(tables, "repository_artifact_references").map((reference) => {
101
+ const entity = visible(reference);
102
+ const artifact = artifacts.get(String(reference.artifact_id));
103
+ if (!artifact)
104
+ throw new Error("local staged diff artifact reference is unavailable");
105
+ return {
106
+ ...entity,
107
+ reference_digest: digest({
108
+ artifact_id: reference.artifact_id,
109
+ object_digest: artifact.object_digest,
110
+ owner_kind: reference.owner_kind,
111
+ owner_id: reference.owner_id,
112
+ reference_order: reference.reference_order,
113
+ }),
114
+ };
115
+ }), (row) => `${row.artifact_id}:${row.owner_kind}:${row.owner_id}`);
116
+ }
117
+ function entities(tables, type) {
118
+ switch (type) {
119
+ case "node": return nodeEntities(tables);
120
+ case "containment": return containmentEntities(tables);
121
+ case "lineage": return lineageEntities(tables);
122
+ case "edge": return edgeEntities(tables);
123
+ case "tag": return tagEntities(tables);
124
+ case "artifact": return artifactEntities(tables);
125
+ case "artifact_reference": return artifactReferenceEntities(tables);
126
+ }
127
+ }
128
+ function equal(type, left, right) {
129
+ if (type === "lineage") {
130
+ const leftSemantic = { ...left };
131
+ const rightSemantic = { ...right };
132
+ delete leftSemantic.relation_digest;
133
+ delete rightSemantic.relation_digest;
134
+ return canonicalBytes(leftSemantic).equals(canonicalBytes(rightSemantic));
135
+ }
136
+ if (type === "tag") {
137
+ const { holders: leftHolders, ...leftTag } = left;
138
+ const { holders: rightHolders, ...rightTag } = right;
139
+ const leftSemanticHolders = Array.isArray(leftHolders)
140
+ ? leftHolders.map((holder) => {
141
+ const semanticHolder = { ...holder };
142
+ delete semanticHolder.holder_digest;
143
+ return semanticHolder;
144
+ })
145
+ : leftHolders;
146
+ const rightSemanticHolders = Array.isArray(rightHolders)
147
+ ? rightHolders.map((holder) => {
148
+ const semanticHolder = { ...holder };
149
+ delete semanticHolder.holder_digest;
150
+ return semanticHolder;
151
+ })
152
+ : rightHolders;
153
+ return canonicalBytes({ ...leftTag, holders: leftSemanticHolders })
154
+ .equals(canonicalBytes({ ...rightTag, holders: rightSemanticHolders }));
155
+ }
156
+ return canonicalBytes(left).equals(canonicalBytes(right));
157
+ }
158
+ /** Compare the complete user-visible entity state of two repository snapshots. */
159
+ export function compareSnapshotEntities(base, pending) {
160
+ const baseTables = snapshotTables(base);
161
+ const pendingTables = snapshotTables(pending);
162
+ const changes = [];
163
+ for (const entityType of ENTITY_TYPES) {
164
+ const before = entities(baseTables, entityType);
165
+ const after = entities(pendingTables, entityType);
166
+ const identities = [...new Set([...before.keys(), ...after.keys()])].sort(compareCodePoints);
167
+ for (const identity of identities) {
168
+ const beforeEntity = before.get(identity) ?? null;
169
+ const afterEntity = after.get(identity) ?? null;
170
+ if (beforeEntity !== null && afterEntity !== null && equal(entityType, beforeEntity, afterEntity))
171
+ continue;
172
+ changes.push({
173
+ entity_type: entityType,
174
+ identity,
175
+ change_type: beforeEntity === null ? "added" : afterEntity === null ? "removed" : "modified",
176
+ before: beforeEntity,
177
+ after: afterEntity,
178
+ });
179
+ }
180
+ }
181
+ return changes;
182
+ }
183
+ //# sourceMappingURL=snapshot-diff.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"snapshot-diff.js","sourceRoot":"","sources":["../../../src/local/runtime/snapshot-diff.ts"],"names":[],"mappings":"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"}
@@ -6,7 +6,7 @@ import { parseRepositoryJson } from "../domain/models/encoding.js";
6
6
  import { latestValuesBytes, stagingBytes, stagingDigest } from "../domain/service/staging.js";
7
7
  import { canonicalLatestGroup, persistCommit, workspaceHeadIn } from "./commits.js";
8
8
  import { latestValueWrites } from "./latest-values.js";
9
- import { applyProjection } from "./projection/apply.js";
9
+ import { applyCommitProjection } from "./projection/apply.js";
10
10
  import { withWriteConnectionAsync } from "./sqlite/connection.js";
11
11
  import { RepositoryStoreError } from "./sqlite/errors.js";
12
12
  import { runSql } from "./sqlite/rows.js";
@@ -105,8 +105,7 @@ export async function applyOrdinaryAtomic(state, batch, objects) {
105
105
  if (workspaceHeadIn(database, commit.repositoryId) !== commit.expectedHead)
106
106
  throw new RepositoryStoreError("stale repository head");
107
107
  persistCommit(database, commit, batch.latestValueWrites, timestamp);
108
- for (const [index, operation] of commit.operations.entries())
109
- applyProjection(database, commit, operation, latest[index]);
108
+ applyCommitProjection(database, commit, latest);
110
109
  runSql(database.prepare("UPDATE repository_heads SET workspace_head_commit_id = ?, updated_at = ? WHERE repository_id = ?"), commit.commitId, timestamp, commit.repositoryId);
111
110
  if (batch.clearStaging) {
112
111
  runSql(database.prepare("UPDATE repository_staging SET state = 'open', staging_digest = ?, operations_bytes = ?, latest_values_bytes = ?, updated_at = ? WHERE repository_id = ?"), stagingDigest([], []), stagingBytes([]), latestValuesBytes([]), timestamp, commit.repositoryId);
@@ -1 +1 @@
1
- {"version":3,"file":"apply.js","sourceRoot":"","sources":["../../../src/local/store/apply.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"apply.js","sourceRoot":"","sources":["../../../src/local/store/apply.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"contract.js","sourceRoot":"","sources":["../../../src/local/store/contract.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"contract.js","sourceRoot":"","sources":["../../../src/local/store/contract.ts"],"names":[],"mappings":"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"}
@@ -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