@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
@@ -5,9 +5,14 @@ import { SNAPSHOT_BOOLEAN_COLUMNS, SNAPSHOT_TABLES } from "../store/snapshot/sch
5
5
  import { boundedInteger } from "../store/sqlite/rows.js";
6
6
  const COLUMNS = new Map(SNAPSHOT_TABLES.map(([name, columns]) => [name, columns]));
7
7
  const TARGET_FIELDS = ["node_id", "scope_node_id", "edge_id", "artifact_id", "containment_id", "child_node_id", "container_node_id", "graph_node_id"];
8
- function digest(value) {
8
+ /** Comparison digest of a projected value; the staged diff uses the same function. */
9
+ export function digest(value) {
9
10
  return `sha256:${createHash("sha256").update(canonicalBytes(value)).digest("hex")}`;
10
11
  }
12
+ /** A node holding a tag, with the digest of its assignment row; the staged diff reports the same holders. */
13
+ export function tagHolder(assignment) {
14
+ return { node_id: assignment.node_id, holder_digest: digest(assignment) };
15
+ }
11
16
  function tablesFrom(snapshot) {
12
17
  try {
13
18
  const payload = parseRepositoryJson(new TextDecoder("utf-8", { fatal: true }).decode(snapshot.canonicalBytes));
@@ -107,7 +112,7 @@ export function renderProjection(operation, snapshot, arguments_, stagingDigest)
107
112
  }
108
113
  const tables = tablesFrom(snapshot);
109
114
  const atHead = snapshot.headCommitId;
110
- const id = target(arguments_);
115
+ const id = operation === "node:list" ? "" : target(arguments_);
111
116
  const metadata = stagingDigest === undefined ? { at_head: atHead } : {
112
117
  at_head: atHead, view: "staged", staging_digest: stagingDigest,
113
118
  };
@@ -117,6 +122,35 @@ export function renderProjection(operation, snapshot, arguments_, stagingDigest)
117
122
  };
118
123
  const collection = (field, values, extra = {}) => ({ ...metadata, ...page(atHead, field, values, arguments_, extra, scope) });
119
124
  switch (operation) {
125
+ case "node:list": {
126
+ const nodes = rows(tables, "repository_nodes").filter(node => node.lifecycle_state !== "purged");
127
+ const latest = new Map(rows(tables, "repository_node_latest_values").map(row => [row.node_id, row]));
128
+ const containers = new Map(rows(tables, "repository_containments").map(row => [row.child_node_id, row.container_node_id]));
129
+ const childCounts = new Map();
130
+ for (const container of containers.values()) {
131
+ const containerId = container;
132
+ childCounts.set(containerId, (childCounts.get(containerId) ?? 0) + 1);
133
+ }
134
+ const edgeCounts = new Map();
135
+ for (const edge of rows(tables, "repository_semantic_edges")) {
136
+ const graph = edge.graph_node_id;
137
+ edgeCounts.set(graph, (edgeCounts.get(graph) ?? 0) + 1);
138
+ }
139
+ return collection("nodes", nodes.map(node => {
140
+ const values = latest.get(node.node_id);
141
+ if (!values)
142
+ throw new Error("local projection snapshot is invalid");
143
+ const nodeId = node.node_id;
144
+ return {
145
+ node_id: nodeId,
146
+ title: values.title,
147
+ lifecycle_state: node.lifecycle_state,
148
+ container_node_id: containers.get(nodeId) ?? null,
149
+ child_count: childCounts.get(nodeId) ?? 0,
150
+ scoped_edge_count: edgeCounts.get(nodeId) ?? 0,
151
+ };
152
+ }));
153
+ }
120
154
  case "node:get": {
121
155
  const node = one(tables, "repository_nodes", "node_id", id);
122
156
  const latest = node.lifecycle_state === "purged" ? {} : one(tables, "repository_node_latest_values", "node_id", id);
@@ -127,12 +161,14 @@ export function renderProjection(operation, snapshot, arguments_, stagingDigest)
127
161
  tag_relation_digests: matching(tables, "repository_tag_assignments", "node_id", id).map(digest),
128
162
  };
129
163
  }
130
- case "tag:list":
131
- return collection("tags", matching(tables, "repository_tag_definitions", "scope_node_id", id), {
132
- holder_digests: rows(tables, "repository_tag_assignments")
133
- .filter(row => row.scope_repository_id === snapshot.repositoryId && row.scope_node_id === id)
134
- .map(digest),
135
- });
164
+ case "tag:list": {
165
+ const assignments = rows(tables, "repository_tag_assignments")
166
+ .filter(row => row.scope_repository_id === snapshot.repositoryId && row.scope_node_id === id);
167
+ return collection("tags", matching(tables, "repository_tag_definitions", "scope_node_id", id).map(tag => ({
168
+ ...tag,
169
+ holders: assignments.filter(row => row.tag_id === tag.tag_id).map(tagHolder),
170
+ })));
171
+ }
136
172
  case "lineage:list":
137
173
  return collection("relations", rows(tables, "repository_lineage")
138
174
  .filter(row => row.child_node_id === id ||
@@ -1 +1 @@
1
- {"version":3,"file":"projection.js","sourceRoot":"","sources":["../../../src/local/runtime/projection.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"projection.js","sourceRoot":"","sources":["../../../src/local/runtime/projection.ts"],"names":[],"mappings":"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"}
@@ -1,10 +1,11 @@
1
1
  import { randomUUID } from "node:crypto";
2
+ import { RepositoryServiceError } from "../domain/errors.js";
2
3
  import { RepositoryCommit } from "../domain/models/commits.js";
3
4
  import { localOperationNodeIds } from "../domain/models/operation-identity.js";
4
5
  import { RepositoryOperation } from "../domain/models/operations.js";
5
- import { conflictContext } from "../domain/rebase/conflicts.js";
6
+ import { conflictContext, conflictOperationKey, conflictsForContext, recheckConflicts } from "../domain/rebase/conflicts.js";
6
7
  import { rebaseLocalCommits } from "../domain/rebase/replay.js";
7
- import { pullBatch } from "../domain/rebase/pull.js";
8
+ import { extendRebaseContext, pullBatch } from "../domain/rebase/pull.js";
8
9
  import { artifactDigests, latestStateDigests } from "../domain/service/writes.js";
9
10
  import { RetainedRepositoryState } from "../fs/state.js";
10
11
  import { withRepositoryWriter } from "../fs/writer-lock.js";
@@ -238,9 +239,9 @@ function recoveryCommit(original, repositoryId, operations) {
238
239
  }
239
240
  function recoveryContext(sourceStore, sourceRepositoryId, targetRepositoryId) {
240
241
  return sourceStore.loadWorkspace(sourceRepositoryId).then(sourceWorkspace => {
241
- const context = conflictContext(sourceWorkspace.conflicts);
242
+ const saved = conflictContext(sourceWorkspace.conflicts);
242
243
  const departedNodeIds = new Set();
243
- for (const commit of context.remoteCommits) {
244
+ for (const commit of saved.remoteCommits) {
244
245
  for (const operation of commit.operations) {
245
246
  if (operation.type === "node.relocate.v1" &&
246
247
  operation.payload.source_repository_id === sourceRepositoryId &&
@@ -249,28 +250,76 @@ function recoveryContext(sourceStore, sourceRepositoryId, targetRepositoryId) {
249
250
  departedNodeIds.add(operation.payload.node_id);
250
251
  }
251
252
  }
252
- if (departedNodeIds.size === 0)
253
- throw new Error("repository_departed_recovery_target_mismatch");
254
- return { context, departedNodeIds };
253
+ if (departedNodeIds.size === 0) {
254
+ throw new RepositoryServiceError(`No departure from repository ${sourceRepositoryId} to repository ${targetRepositoryId} was found; no recovery checkout was created.`, {
255
+ code: "repository_departed_recovery_target_mismatch",
256
+ details: { source_repository_id: sourceRepositoryId, requested_repository_id: targetRepositoryId },
257
+ nextAction: "Check the departed node's current repository ID, then retry recovery with that destination.",
258
+ });
259
+ }
260
+ return { workspace: sourceWorkspace, saved, departedNodeIds };
255
261
  });
256
262
  }
257
- export async function assertDepartedRecoveryTarget(sourcePath, targetRepositoryId) {
263
+ const DEPARTED_NODE_KEY_FAMILIES = {
264
+ departure: true, node: true, "node-field": true, "node-source-timestamps": true,
265
+ };
266
+ /** Conflicts about a departed node itself are settled by moving that node's work to the destination. */
267
+ function settledByDeparture(conflict, departedNodeIds) {
268
+ const key = conflictOperationKey(conflict);
269
+ return DEPARTED_NODE_KEY_FAMILIES[key[0]] === true && departedNodeIds.has(key[1]);
270
+ }
271
+ /**
272
+ * Recovery finishes the rebase, so it replays commits made while the rebase
273
+ * was open too. It applies no conflict choices in either repository, so it
274
+ * refuses before any write when such a commit adds or changes any conflict
275
+ * that departure does not settle, even one whose work would move to the
276
+ * destination (for example an edge or containment conflict).
277
+ */
278
+ async function recoverableContext(sourceStore, workspace, saved, departedNodeIds) {
279
+ const context = await extendRebaseContext(sourceStore, workspace, saved);
280
+ if (context === saved)
281
+ return context;
282
+ if (workspace.rebase === null)
283
+ throw new RepositoryServiceError("repository conflict state is corrupt");
284
+ const rebuilt = conflictsForContext(workspace.repositoryId, workspace.rebase.rebaseId, context);
285
+ const unsettled = recheckConflicts(workspace.conflicts.filter(conflict => !settledByDeparture(conflict, departedNodeIds)), rebuilt.filter(conflict => !settledByDeparture(conflict, departedNodeIds)));
286
+ if (unsettled.changed) {
287
+ throw new RepositoryServiceError("Commits made while this rebase was open conflict with pulled changes, and departure recovery cannot apply conflict choices; no recovery checkout was created and nothing changed.", {
288
+ code: "repository_departed_recovery_conflicted",
289
+ details: { rebase_id: workspace.rebase.rebaseId },
290
+ nextAction: "Run flywheel repo:rebase:abort to return to the state before the pull with every local commit and pending edit kept.",
291
+ });
292
+ }
293
+ return context;
294
+ }
295
+ /** Runs a read-only check against the source checkout without taking the writer lock. */
296
+ async function withSourceStore(sourcePath, use) {
258
297
  const sourceState = RetainedRepositoryState.open(sourcePath);
259
298
  try {
260
299
  const sourceStore = new SQLiteRepositoryStore(sourceState, new RepositoryObjectStorage(sourceState));
261
- const sourceIdentity = readRepositoryIdentity(`${sourceState.statePath}/db.sqlite`);
262
- await recoveryContext(sourceStore, sourceIdentity.repositoryId, targetRepositoryId);
300
+ return await use(sourceStore, readRepositoryIdentity(`${sourceState.statePath}/db.sqlite`).repositoryId);
263
301
  }
264
302
  finally {
265
303
  sourceState.close();
266
304
  }
267
305
  }
306
+ export async function assertDepartedRecoveryTarget(sourcePath, targetRepositoryId) {
307
+ await withSourceStore(sourcePath, (sourceStore, sourceRepositoryId) => recoveryContext(sourceStore, sourceRepositoryId, targetRepositoryId));
308
+ }
309
+ /** Refuses recovery before the destination clone exists; recoverDepartedWork repeats the check under the writer lock. */
310
+ export async function assertRecoverableWork(sourcePath, targetRepositoryId) {
311
+ await withSourceStore(sourcePath, async (sourceStore, sourceRepositoryId) => {
312
+ const { workspace, saved, departedNodeIds } = await recoveryContext(sourceStore, sourceRepositoryId, targetRepositoryId);
313
+ await recoverableContext(sourceStore, workspace, saved, departedNodeIds);
314
+ });
315
+ }
268
316
  export async function recoverDepartedWork(sourcePath, destinationPath, targetRepositoryId) {
269
317
  return withRepositoryWriter(sourcePath, async (sourceState) => {
270
318
  const sourceObjects = new RepositoryObjectStorage(sourceState);
271
319
  const sourceStore = new SQLiteRepositoryStore(sourceState, sourceObjects);
272
320
  const sourceIdentity = readRepositoryIdentity(`${sourceState.statePath}/db.sqlite`);
273
- const { context, departedNodeIds } = await recoveryContext(sourceStore, sourceIdentity.repositoryId, targetRepositoryId);
321
+ const { workspace, saved, departedNodeIds } = await recoveryContext(sourceStore, sourceIdentity.repositoryId, targetRepositoryId);
322
+ const context = await recoverableContext(sourceStore, workspace, saved, departedNodeIds);
274
323
  const ownership = collectRecoveryOwnership(context, departedNodeIds);
275
324
  const destinationCommits = [];
276
325
  const sourceCommits = [];
@@ -1 +1 @@
1
- {"version":3,"file":"recover-departed.js","sourceRoot":"","sources":["../../../src/local/runtime/recover-departed.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"recover-departed.js","sourceRoot":"","sources":["../../../src/local/runtime/recover-departed.ts"],"names":[],"mappings":"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"}
@@ -1,3 +1,5 @@
1
+ import { shellQuote } from "../../../commands/repository-selection.js";
2
+ import { RepositoryServiceError } from "../../domain/errors.js";
1
3
  import { isDigest, isUuid } from "../../domain/models/constants.js";
2
4
  import { pullIntoStore } from "./pull.js";
3
5
  import { counter, repositoryOptions, requireMatchingAssociation, responseRecord } from "./transport.js";
@@ -20,20 +22,113 @@ function matchingPurgeCommit(commit, repositoryId, purgeId, nodeId, confirmation
20
22
  }
21
23
  return commit;
22
24
  }
25
+ const REMOVAL_COMMANDS = {
26
+ lineage: "repo:lineage:remove",
27
+ containment: "repo:containment:remove",
28
+ semantic_edge: "repo:edge:remove",
29
+ tag_definition: "repo:tag:retire",
30
+ tag_assignment: "repo:node-tag:remove",
31
+ artifact: "repo:artifact:detach",
32
+ };
33
+ function describeDependency(dependency, repositoryId) {
34
+ switch (dependency.kind) {
35
+ case "lineage":
36
+ return `lineage ${dependency.parent_node_id} -> ${dependency.child_node_id}` +
37
+ (dependency.parent_repository_id === repositoryId ? "" : ` (parent in repository ${dependency.parent_repository_id})`);
38
+ case "containment":
39
+ return `containment ${dependency.containment_id} (${dependency.container_node_id} contains ${dependency.child_node_id})`;
40
+ case "semantic_edge":
41
+ return `semantic edge ${dependency.edge_id} in graph ${dependency.graph_node_id} (${dependency.source_node_id} -> ${dependency.target_node_id})`;
42
+ case "tag_definition":
43
+ return `tag definition ${dependency.tag_id} scoped to ${dependency.scope_node_id}`;
44
+ case "tag_assignment":
45
+ return `tag ${dependency.tag_id} of scope ${dependency.scope_node_id} assigned to ${dependency.node_id}`;
46
+ case "artifact":
47
+ return `artifact ${dependency.artifact_id}`;
48
+ }
49
+ }
50
+ /**
51
+ * Refuse, before any purge request, what the hosted purge would refuse or
52
+ * could not see: unpublished local changes, a node that is still live or
53
+ * already purged, and relationships in this repository that still reference
54
+ * the node. Only a new purge judges the node; an exact replay of an applied
55
+ * purge does not.
56
+ * A node the local head does not know is left to the hosted purge: when this
57
+ * checkout has not pulled the node's history, the service refuses the stale
58
+ * expected head, and after repo:pull these checks apply to it.
59
+ */
60
+ async function refuseUnpublishedOrUnpurgeable(context, nodeId, workspace, newPurge) {
61
+ const repository = `--repo ${shellQuote(context.state.rootPath)}`;
62
+ const localHead = workspace.localHeadCommitId;
63
+ const remoteHead = workspace.remoteTrackingHeadCommitId;
64
+ const heads = { node_id: nodeId, local_head: localHead, remote_tracking_head: remoteHead };
65
+ const publish = `flywheel repo:commit ${repository}, flywheel repo:push ${repository}`;
66
+ const purge = `flywheel repo:purge ${nodeId} --confirm ${nodeId} ${repository}`;
67
+ const staged = workspace.staging.operations;
68
+ if (staged.length > 0) {
69
+ const tombstoneStaged = staged.some((operation) => operation.type === "node.tombstone.v1" && operation.payload.node_id === nodeId);
70
+ throw new RepositoryServiceError(`${staged.length} staged operation(s)${tombstoneStaged ? ", including this node's tombstone," : ""} ` +
71
+ `are not committed and pushed, so the purge request for node ${nodeId} was not sent. Purge only acts on pushed history; nothing was changed.`, {
72
+ code: "repository_purge_unpublished_changes",
73
+ details: { ...heads, staged_operation_count: staged.length, tombstone_staged: tombstoneStaged },
74
+ nextAction: `Review the pending batch with flywheel repo:status ${repository}, then run ${publish}, then ${purge}.`,
75
+ });
76
+ }
77
+ if (newPurge) {
78
+ const { lifecycleState, dependencies } = await context.store.loadNodePurgeState(context.repositoryId, nodeId);
79
+ const blocking = dependencies.length === 0 ? "" :
80
+ ` ${dependencies.length} relationship(s) in this repository still reference it, and tombstoning does not remove them: ` +
81
+ `${dependencies.map((dependency) => describeDependency(dependency, context.repositoryId)).join("; ")}.`;
82
+ const removal = `remove the listed relationships with ${[...new Set(dependencies.map((dependency) => REMOVAL_COMMANDS[dependency.kind]))].join(", ")}`;
83
+ const tombstoneAndPurge = `flywheel repo:node:tombstone ${nodeId} ${repository}, ${publish}, then ${purge}`;
84
+ const unpushed = localHead === remoteHead ? "" : " Local commits are also not pushed yet.";
85
+ if (lifecycleState === "live") {
86
+ throw new RepositoryServiceError(`Node ${nodeId} is live, so it was not purged: purge permanently erases only a node whose tombstone has been pushed.` +
87
+ `${blocking}${unpushed} Nothing was changed.`, {
88
+ code: "repository_node_purge_requires_tombstone",
89
+ details: { ...heads, lifecycle_state: lifecycleState, blocking_relationships: dependencies },
90
+ nextAction: `${dependencies.length === 0 ? "Run" : `First ${removal}; then run`} ${tombstoneAndPurge}. ` +
91
+ "Until the purge, flywheel repo:node:restore undoes the tombstone; the purge cannot be undone.",
92
+ });
93
+ }
94
+ if (lifecycleState === "tombstoned" && dependencies.length > 0) {
95
+ throw new RepositoryServiceError(`Node ${nodeId} is tombstoned but was not purged.${blocking}${unpushed} Nothing was changed.`, {
96
+ code: "repository_purge_dependency",
97
+ details: { ...heads, lifecycle_state: lifecycleState, blocking_relationships: dependencies },
98
+ nextAction: `Run flywheel repo:node:restore ${nodeId} ${repository} so the removals can be published, ${removal}, ` +
99
+ `then run ${tombstoneAndPurge}.`,
100
+ });
101
+ }
102
+ if (lifecycleState === "purged") {
103
+ throw new RepositoryServiceError(`Node ${nodeId} is already purged, so there is nothing left to purge. Nothing was changed.`, {
104
+ code: "repository_node_purged",
105
+ details: { ...heads, lifecycle_state: lifecycleState },
106
+ nextAction: `No further action is needed; flywheel repo:node:get ${nodeId} ${repository} shows the purged node.`,
107
+ });
108
+ }
109
+ }
110
+ if (localHead === null || remoteHead === null || localHead !== remoteHead) {
111
+ throw new RepositoryServiceError(`${remoteHead === null ? "This repository has no pushed history" : "Local commits are not pushed"}, so the purge request for node ${nodeId} was not sent. ` +
112
+ "Purge only acts on pushed history; nothing was changed.", {
113
+ code: "repository_purge_unpublished_changes",
114
+ details: { ...heads, staged_operation_count: 0 },
115
+ nextAction: `Run flywheel repo:push ${repository}, then ${purge}.`,
116
+ });
117
+ }
118
+ }
23
119
  export async function purgeFromStore(context, args, connection) {
24
120
  const { purgeId, nodeId, confirmationNodeId } = purgeArguments(args);
25
121
  if (!isUuid(purgeId) || !isUuid(nodeId))
26
122
  throw new Error("repository purge request is invalid");
27
123
  const workspace = await context.store.loadWorkspace(context.repositoryId);
28
124
  const currentHead = workspace.remoteTrackingHeadCommitId;
29
- if (workspace.staging.operations.length > 0 || workspace.localHeadCommitId === null || currentHead === null ||
30
- workspace.localHeadCommitId !== currentHead) {
31
- throw new Error("repository workspace is not purgeable");
32
- }
125
+ // An already-applied purge is an exact replay, so its node is no longer
126
+ // expected to be purgeable; look it up before judging the node.
127
+ const existing = matchingPurgeCommit(await context.store.loadCommitByOperationId(context.repositoryId, purgeId), context.repositoryId, purgeId, nodeId, confirmationNodeId);
128
+ await refuseUnpublishedOrUnpurgeable(context, nodeId, workspace, existing === null);
33
129
  if (!requireMatchingAssociation(await context.store.loadHostedAssociation(context.repositoryId), connection)) {
34
130
  throw new Error("repository hosted association does not match credentials");
35
131
  }
36
- const existing = matchingPurgeCommit(await context.store.loadCommitByOperationId(context.repositoryId, purgeId), context.repositoryId, purgeId, nodeId, confirmationNodeId);
37
132
  const expectedHead = existing !== null && isDigest(existing.operations[0].payload.expected_head)
38
133
  ? existing.operations[0].payload.expected_head
39
134
  : currentHead;
@@ -1 +1 @@
1
- {"version":3,"file":"purge.js","sourceRoot":"","sources":["../../../../src/local/runtime/remote/purge.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"purge.js","sourceRoot":"","sources":["../../../../src/local/runtime/remote/purge.ts"],"names":[],"mappings":"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"}
@@ -1,15 +1,18 @@
1
1
  import { randomUUID } from "node:crypto";
2
2
  import { RepositoryNodeDepartedError } from "../../domain/errors.js";
3
3
  import { parseRepositoryJson } from "../../domain/models/encoding.js";
4
- import { isDigest, isRecord, isUuid } from "../../domain/models/constants.js";
4
+ import { exceedsCharacters, isDigest, isRecord, isUuid } from "../../domain/models/constants.js";
5
5
  import { localOperationNodeIds } from "../../domain/models/operation-identity.js";
6
6
  import { counter, repositoryOptions, requireMatchingAssociation, responseRecord, uploadObject } from "./transport.js";
7
7
  import { unpublishedCommits } from "./unpublished.js";
8
8
  function pushArguments(args) {
9
- if (Object.keys(args).length !== 2 || typeof args.push_id !== "string" || typeof args.create_remote !== "boolean") {
9
+ const { push_id, create_remote, name } = args;
10
+ if (Object.keys(args).length !== (name === undefined ? 2 : 3) ||
11
+ typeof push_id !== "string" || typeof create_remote !== "boolean" ||
12
+ (name !== undefined && (typeof name !== "string" || !create_remote || !name.trim() || exceedsCharacters(name, 256)))) {
10
13
  throw new Error("invalid internal operation arguments");
11
14
  }
12
- return { pushId: args.push_id, createRemote: args.create_remote };
15
+ return { pushId: push_id, createRemote: create_remote, ...(name === undefined ? {} : { name }) };
13
16
  }
14
17
  /**
15
18
  * Runs push's network round trips (creation/reattachment, negotiation, uploads, publish) without
@@ -19,7 +22,7 @@ function pushArguments(args) {
19
22
  * this same push (e.g. the final publish request) fails, matching prior behavior.
20
23
  */
21
24
  export async function preparePush(context, args, connection) {
22
- const { pushId, createRemote } = pushArguments(args);
25
+ const { pushId, createRemote, name } = pushArguments(args);
23
26
  if (!isUuid(pushId))
24
27
  throw new Error("repository push id is invalid");
25
28
  const associationExists = requireMatchingAssociation(await context.store.loadHostedAssociation(context.repositoryId), connection);
@@ -45,6 +48,7 @@ export async function preparePush(context, args, connection) {
45
48
  repository_id: context.repositoryId,
46
49
  client_id: context.clientId,
47
50
  creation_id: pushId,
51
+ ...(name === undefined ? {} : { name }),
48
52
  }, pushId),
49
53
  validateJson: (value) => {
50
54
  if (!isRecord(value) || value.repository_id !== context.repositoryId || value.role !== "owner" || value.head !== null ||
@@ -1 +1 @@
1
- {"version":3,"file":"push.js","sourceRoot":"","sources":["../../../../src/local/runtime/remote/push.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"push.js","sourceRoot":"","sources":["../../../../src/local/runtime/remote/push.ts"],"names":[],"mappings":"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"}