@amalgm/shell 0.1.54 → 0.1.55

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.
@@ -0,0 +1 @@
1
+ {"version":3,"file":"entity-apply-host.js","sourceRoot":"","sources":["../src/entity-apply-host.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,42 @@
1
+ /** Persistent SQLite effects for Live's Inbox -> Apply -> Verify rail. */
2
+ import { type ApplyCompletion, type CloudEntityRecord, type EntityApplyIntent, type EntityApplyStorePort, type EntityApplyWorkPage } from "@amalgm/live";
3
+ import Database from "better-sqlite3";
4
+ export interface ApplyGroundRow {
5
+ readonly resourceId: string;
6
+ readonly rootUUID: string;
7
+ readonly record: CloudEntityRecord;
8
+ readonly relativePath: string;
9
+ readonly absolutePath: string;
10
+ readonly deviceNumber: number;
11
+ readonly inode: number;
12
+ readonly byteSize: number | null;
13
+ readonly modifiedTimeMs: number | null;
14
+ readonly changedTimeMs: number | null;
15
+ readonly filesystemMode: number | null;
16
+ readonly contentVerifiedAtMs: number | null;
17
+ }
18
+ export interface EntityApplySqliteStoreOptions {
19
+ readonly now?: () => number;
20
+ readonly onIntentFinished?: (intent: EntityApplyIntent) => void;
21
+ /** Machine materialization policy is an effect boundary, not a portable
22
+ * Apply decision. A retained Inbox row may remain cloud-only until policy
23
+ * makes its accepted entity locally relevant. */
24
+ readonly isLocallyEligible?: (target: CloudEntityRecord) => boolean;
25
+ }
26
+ /**
27
+ * Apply has one persistent database owner. Verify hands this owner the exact
28
+ * rows it just proved; completion writes those rows, cursors, Inbox resolution,
29
+ * and intent removal in one SQLite transaction.
30
+ */
31
+ export declare class EntityApplySqliteStore implements EntityApplyStorePort {
32
+ #private;
33
+ constructor(database: Database.Database, options?: EntityApplySqliteStoreOptions);
34
+ readApplyWork(limit: number, afterCursor: string | null): EntityApplyWorkPage;
35
+ hasLocalWorkAfter(authorityId: string, entityId: string, targetSequence: number): boolean;
36
+ beginIntent(intent: EntityApplyIntent): void;
37
+ setIntentPhase(intent: EntityApplyIntent): void;
38
+ cancelIntent(intent: EntityApplyIntent): void;
39
+ stageVerification(intent: EntityApplyIntent, rows: readonly ApplyGroundRow[], removals?: readonly string[]): void;
40
+ completeIntent(intent: EntityApplyIntent, completion: ApplyCompletion): void;
41
+ close(): void;
42
+ }
@@ -0,0 +1,367 @@
1
+ /** Persistent SQLite effects for Live's Inbox -> Apply -> Verify rail. */
2
+ import { assertApplyIntent, assertRecord, decodeAcceptedEntityRecord, } from "@amalgm/live";
3
+ const GROUND_COLUMNS = [
4
+ "uuid", "resource_id", "root_uuid", "type", "parent_uuid", "name", "status", "version",
5
+ "payload_version", "transport_version", "relative_path", "absolute_path", "device_number",
6
+ "inode", "byte_size", "modified_time_ms", "changed_time_ms", "filesystem_mode",
7
+ "content_verified_at_ms",
8
+ ].join(", ");
9
+ const rowValues = (row) => [
10
+ row.record.uuid,
11
+ row.resourceId,
12
+ row.rootUUID,
13
+ row.record.type,
14
+ row.record.parentUUID,
15
+ row.record.name,
16
+ row.record.status,
17
+ row.record.version,
18
+ row.record.payloadVersion,
19
+ row.record.transportVersion,
20
+ row.relativePath,
21
+ row.absolutePath,
22
+ row.deviceNumber,
23
+ row.inode,
24
+ row.byteSize,
25
+ row.modifiedTimeMs,
26
+ row.changedTimeMs,
27
+ row.filesystemMode,
28
+ row.contentVerifiedAtMs,
29
+ ];
30
+ const sameIntent = (left, right) => left.authorityId === right.authorityId
31
+ && left.entityId === right.entityId
32
+ && left.fromSequence === right.fromSequence
33
+ && left.throughSequence === right.throughSequence
34
+ && left.targetMutationId === right.targetMutationId
35
+ && left.targetState === right.targetState
36
+ && left.targetType === right.targetType;
37
+ /**
38
+ * Apply has one persistent database owner. Verify hands this owner the exact
39
+ * rows it just proved; completion writes those rows, cursors, Inbox resolution,
40
+ * and intent removal in one SQLite transaction.
41
+ */
42
+ export class EntityApplySqliteStore {
43
+ #database;
44
+ #now;
45
+ #onIntentFinished;
46
+ #isLocallyEligible;
47
+ #verified = new Map();
48
+ #candidateEntities;
49
+ #state;
50
+ #inboxAfter;
51
+ #intent;
52
+ #intentByEntity;
53
+ #authorityForEntity;
54
+ #targetRecord;
55
+ #localRelevance;
56
+ #localWork;
57
+ #insertIntent;
58
+ #updateIntent;
59
+ #deleteIntent;
60
+ #resolveInbox;
61
+ #upsertState;
62
+ #upsertEntity;
63
+ #upsertNotebook;
64
+ #deleteEntity;
65
+ #deleteNotebook;
66
+ #entitySlot;
67
+ constructor(database, options = {}) {
68
+ this.#database = database;
69
+ this.#now = options.now ?? Date.now;
70
+ this.#onIntentFinished = options.onIntentFinished ?? (() => undefined);
71
+ this.#isLocallyEligible = options.isLocallyEligible ?? (() => true);
72
+ database.pragma("busy_timeout = 5000");
73
+ database.pragma("journal_mode = WAL");
74
+ database.pragma("synchronous = FULL");
75
+ database.exec(`
76
+ CREATE TABLE IF NOT EXISTS entity_apply_state (
77
+ entity_id TEXT PRIMARY KEY,
78
+ authority_id TEXT NOT NULL,
79
+ resolved_through INTEGER NOT NULL CHECK(resolved_through >= 0),
80
+ materialized_sequence INTEGER,
81
+ materialized_record_json TEXT,
82
+ CHECK((materialized_sequence IS NULL AND materialized_record_json IS NULL)
83
+ OR (materialized_sequence > 0 AND materialized_record_json IS NOT NULL))
84
+ );
85
+ CREATE TABLE IF NOT EXISTS entity_apply_intents (
86
+ entity_id TEXT PRIMARY KEY,
87
+ authority_id TEXT NOT NULL,
88
+ intent_json TEXT NOT NULL
89
+ );
90
+ CREATE INDEX IF NOT EXISTS record_inbox_apply
91
+ ON record_inbox(authority_id, entity_id, global_sequence);
92
+ `);
93
+ const inboxColumns = new Set(database.prepare("PRAGMA table_info(record_inbox)").all().map(({ name }) => name));
94
+ if (!inboxColumns.has("resolved_at")) {
95
+ database.exec("ALTER TABLE record_inbox ADD COLUMN resolved_at INTEGER");
96
+ }
97
+ this.#candidateEntities = database.prepare(`
98
+ SELECT entity_id AS entityId FROM entity_apply_intents
99
+ UNION
100
+ SELECT inbox.entity_id AS entityId
101
+ FROM record_inbox inbox
102
+ LEFT JOIN entity_apply_state state ON state.entity_id = inbox.entity_id
103
+ WHERE inbox.global_sequence > COALESCE(state.resolved_through, 0)
104
+ ORDER BY entityId
105
+ `);
106
+ this.#state = database.prepare(`
107
+ SELECT resolved_through AS resolvedThrough,
108
+ materialized_sequence AS materializedSequence,
109
+ materialized_record_json AS materializedRecordJson
110
+ FROM entity_apply_state WHERE authority_id = ? AND entity_id = ?
111
+ `);
112
+ this.#inboxAfter = database.prepare(`
113
+ SELECT record_json AS recordJson FROM record_inbox
114
+ WHERE authority_id = ? AND entity_id = ? AND global_sequence > ?
115
+ ORDER BY global_sequence
116
+ `);
117
+ this.#intent = database.prepare(`
118
+ SELECT intent_json AS intentJson FROM entity_apply_intents
119
+ WHERE authority_id = ? AND entity_id = ?
120
+ `);
121
+ this.#intentByEntity = database.prepare(`
122
+ SELECT intent_json AS intentJson FROM entity_apply_intents WHERE entity_id = ?
123
+ `);
124
+ this.#authorityForEntity = database.prepare(`
125
+ SELECT authority_id AS authorityId FROM record_inbox
126
+ WHERE entity_id = ? ORDER BY global_sequence DESC LIMIT 1
127
+ `);
128
+ this.#targetRecord = database.prepare(`
129
+ SELECT record_json AS recordJson FROM record_inbox
130
+ WHERE authority_id = ? AND entity_id = ? AND global_sequence = ?
131
+ `);
132
+ this.#localRelevance = database.prepare(`
133
+ SELECT 1 AS present FROM entities WHERE uuid = ?
134
+ UNION ALL
135
+ SELECT 1 AS present FROM detection_notebook WHERE uuid = ?
136
+ LIMIT 1
137
+ `);
138
+ this.#localWork = database.prepare(`
139
+ SELECT 1 AS present FROM record_outbox
140
+ WHERE authority_id = ? AND entity_id = ?
141
+ AND (status = 'pending' OR global_sequence > ?)
142
+ LIMIT 1
143
+ `);
144
+ this.#insertIntent = database.prepare(`
145
+ INSERT INTO entity_apply_intents(entity_id, authority_id, intent_json)
146
+ VALUES (?, ?, ?)
147
+ `);
148
+ this.#updateIntent = database.prepare(`
149
+ UPDATE entity_apply_intents SET intent_json = ?
150
+ WHERE authority_id = ? AND entity_id = ?
151
+ `);
152
+ this.#deleteIntent = database.prepare(`
153
+ DELETE FROM entity_apply_intents WHERE authority_id = ? AND entity_id = ?
154
+ `);
155
+ this.#resolveInbox = database.prepare(`
156
+ UPDATE record_inbox SET resolved_at = ?
157
+ WHERE authority_id = ? AND entity_id = ?
158
+ AND global_sequence > ? AND global_sequence <= ?
159
+ `);
160
+ this.#upsertState = database.prepare(`
161
+ INSERT INTO entity_apply_state(
162
+ entity_id, authority_id, resolved_through,
163
+ materialized_sequence, materialized_record_json
164
+ ) VALUES (?, ?, ?, ?, ?)
165
+ ON CONFLICT(entity_id) DO UPDATE SET
166
+ authority_id = excluded.authority_id,
167
+ resolved_through = excluded.resolved_through,
168
+ materialized_sequence = excluded.materialized_sequence,
169
+ materialized_record_json = excluded.materialized_record_json
170
+ `);
171
+ const upsert = (table) => database.prepare(`
172
+ INSERT INTO ${table}(${GROUND_COLUMNS})
173
+ VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?)
174
+ ON CONFLICT(uuid) DO UPDATE SET
175
+ resource_id = excluded.resource_id,
176
+ root_uuid = excluded.root_uuid,
177
+ type = excluded.type,
178
+ parent_uuid = excluded.parent_uuid,
179
+ name = excluded.name,
180
+ status = excluded.status,
181
+ version = excluded.version,
182
+ payload_version = excluded.payload_version,
183
+ transport_version = excluded.transport_version,
184
+ relative_path = excluded.relative_path,
185
+ absolute_path = excluded.absolute_path,
186
+ device_number = excluded.device_number,
187
+ inode = excluded.inode,
188
+ byte_size = excluded.byte_size,
189
+ modified_time_ms = excluded.modified_time_ms,
190
+ changed_time_ms = excluded.changed_time_ms,
191
+ filesystem_mode = excluded.filesystem_mode,
192
+ content_verified_at_ms = excluded.content_verified_at_ms
193
+ `);
194
+ this.#upsertEntity = upsert("entities");
195
+ this.#upsertNotebook = upsert("detection_notebook");
196
+ this.#deleteEntity = database.prepare("DELETE FROM entities WHERE uuid = ?");
197
+ this.#deleteNotebook = database.prepare("DELETE FROM detection_notebook WHERE uuid = ?");
198
+ this.#entitySlot = database.prepare(`
199
+ SELECT uuid, type, payload_version AS payloadVersion,
200
+ absolute_path AS absolutePath FROM entities
201
+ WHERE resource_id = ? AND root_uuid = ? AND relative_path = ?
202
+ `);
203
+ }
204
+ readApplyWork(limit, afterCursor) {
205
+ const all = this.#candidateEntities.all()
206
+ .map(({ entityId }) => entityId)
207
+ .filter((entityId) => afterCursor === null || entityId > afterCursor);
208
+ const materializable = [];
209
+ for (const entityId of all) {
210
+ const intent = this.#readIntent(entityId);
211
+ const authorityId = intent?.authorityId ?? this.#authorityFor(entityId);
212
+ const state = this.#state.get(authorityId, entityId);
213
+ const resolvedThrough = state?.resolvedThrough ?? 0;
214
+ const records = this.#inboxAfter.all(authorityId, entityId, resolvedThrough).map(({ recordJson }) => decodeAcceptedEntityRecord(recordJson));
215
+ if (records.length === 0)
216
+ continue;
217
+ const target = records.at(-1);
218
+ const local = this.#localRelevance.get(entityId, entityId) !== undefined
219
+ || (target.change.result.parentUUID !== null
220
+ && this.#localRelevance.get(target.change.result.parentUUID, target.change.result.parentUUID) !== undefined);
221
+ if (!local || !this.#isLocallyEligible(target.change.result))
222
+ continue;
223
+ materializable.push({
224
+ authorityId,
225
+ entityId,
226
+ resolvedThrough,
227
+ materialized: state?.materializedSequence && state.materializedRecordJson
228
+ ? {
229
+ globalSequence: state.materializedSequence,
230
+ record: assertRecord(JSON.parse(state.materializedRecordJson)),
231
+ }
232
+ : null,
233
+ records,
234
+ intent,
235
+ });
236
+ }
237
+ const work = materializable.slice(0, limit);
238
+ return {
239
+ work,
240
+ nextCursor: materializable.length > work.length ? work.at(-1).entityId : null,
241
+ };
242
+ }
243
+ hasLocalWorkAfter(authorityId, entityId, targetSequence) {
244
+ return this.#localWork.get(authorityId, entityId, targetSequence) !== undefined;
245
+ }
246
+ beginIntent(intent) {
247
+ assertApplyIntent(intent);
248
+ const existing = this.#readIntent(intent.entityId, intent.authorityId);
249
+ if (existing) {
250
+ if (!sameIntent(existing, intent) || existing.phase !== intent.phase) {
251
+ throw new Error(`entity ${intent.entityId} already has a different Apply intent`);
252
+ }
253
+ return;
254
+ }
255
+ this.#insertIntent.run(intent.entityId, intent.authorityId, JSON.stringify(intent));
256
+ }
257
+ setIntentPhase(intent) {
258
+ assertApplyIntent(intent);
259
+ const existing = this.#requireIntent(intent);
260
+ if (!sameIntent(existing, intent))
261
+ throw new Error("Apply phase update changed intent identity");
262
+ const updated = this.#updateIntent.run(JSON.stringify(intent), intent.authorityId, intent.entityId);
263
+ if (updated.changes !== 1)
264
+ throw new Error("Apply intent phase was not durable");
265
+ }
266
+ cancelIntent(intent) {
267
+ const existing = this.#requireIntent(intent);
268
+ if (!sameIntent(existing, intent))
269
+ throw new Error("Apply cancel changed intent identity");
270
+ this.#verified.delete(intent.entityId);
271
+ this.#deleteIntent.run(intent.authorityId, intent.entityId);
272
+ this.#onIntentFinished(intent);
273
+ }
274
+ stageVerification(intent, rows, removals = []) {
275
+ this.#requireIntent(intent);
276
+ this.#verified.set(intent.entityId, Object.freeze({
277
+ rows: Object.freeze([...rows]),
278
+ removals: Object.freeze([...new Set(removals)]),
279
+ }));
280
+ }
281
+ completeIntent(intent, completion) {
282
+ try {
283
+ const existing = this.#requireIntent(intent);
284
+ if (!sameIntent(existing, intent) || existing.phase !== "revealed") {
285
+ throw new Error("Apply completion does not match its revealed intent");
286
+ }
287
+ const prior = this.#state.get(intent.authorityId, intent.entityId);
288
+ const verified = this.#verified.get(intent.entityId);
289
+ if (completion.kind === "materialized" && !verified) {
290
+ throw new Error("Apply completion has no exact Verify evidence");
291
+ }
292
+ const targetRow = this.#targetRecord.get(intent.authorityId, intent.entityId, intent.throughSequence);
293
+ if (!targetRow)
294
+ throw new Error("Apply target disappeared from its retained Inbox");
295
+ const target = decodeAcceptedEntityRecord(targetRow.recordJson);
296
+ this.#database.transaction(() => {
297
+ if (completion.kind === "materialized") {
298
+ for (const uuid of verified.removals) {
299
+ this.#deleteEntity.run(uuid);
300
+ this.#deleteNotebook.run(uuid);
301
+ }
302
+ for (const row of verified.rows) {
303
+ this.#deleteEntity.run(row.record.uuid);
304
+ }
305
+ for (const row of verified.rows) {
306
+ if (row.record.status === "active") {
307
+ try {
308
+ this.#upsertEntity.run(...rowValues(row));
309
+ }
310
+ catch (error) {
311
+ const occupant = this.#entitySlot.get(row.resourceId, row.rootUUID, row.relativePath);
312
+ throw new Error(`Apply projection could not place ${row.record.uuid} at `
313
+ + `${row.rootUUID}:${row.relativePath}; occupied by `
314
+ + `${occupant?.uuid ?? "no retained row"} (${occupant?.absolutePath ?? "unknown"}); `
315
+ + `incoming=${row.record.type}:${row.record.payloadVersion ?? "none"}; `
316
+ + `occupant=${occupant?.type ?? "none"}:${occupant?.payloadVersion ?? "none"}`, { cause: error });
317
+ }
318
+ }
319
+ else {
320
+ this.#deleteEntity.run(row.record.uuid);
321
+ }
322
+ this.#upsertNotebook.run(...rowValues(row));
323
+ }
324
+ }
325
+ this.#resolveInbox.run(this.#now(), intent.authorityId, intent.entityId, intent.fromSequence, intent.throughSequence);
326
+ this.#upsertState.run(intent.entityId, intent.authorityId, intent.throughSequence, completion.kind === "materialized"
327
+ ? intent.throughSequence
328
+ : prior?.materializedSequence ?? null, completion.kind === "materialized"
329
+ ? JSON.stringify(target.change.result)
330
+ : prior?.materializedRecordJson ?? null);
331
+ const removed = this.#deleteIntent.run(intent.authorityId, intent.entityId);
332
+ if (removed.changes !== 1)
333
+ throw new Error("Apply intent disappeared before completion");
334
+ })();
335
+ this.#verified.delete(intent.entityId);
336
+ }
337
+ finally {
338
+ this.#onIntentFinished(intent);
339
+ }
340
+ }
341
+ close() {
342
+ this.#database.close();
343
+ }
344
+ #authorityFor(entityId) {
345
+ const row = this.#authorityForEntity.get(entityId);
346
+ if (!row)
347
+ throw new Error(`entity ${entityId} has no accepted Inbox authority`);
348
+ return row.authorityId;
349
+ }
350
+ #readIntent(entityId, authorityId) {
351
+ const row = authorityId
352
+ ? this.#intent.get(authorityId, entityId)
353
+ : this.#intentByEntity.get(entityId);
354
+ if (!row)
355
+ return null;
356
+ const intent = JSON.parse(row.intentJson);
357
+ assertApplyIntent(intent);
358
+ return intent;
359
+ }
360
+ #requireIntent(intent) {
361
+ const existing = this.#readIntent(intent.entityId, intent.authorityId);
362
+ if (!existing)
363
+ throw new Error(`entity ${intent.entityId} has no durable Apply intent`);
364
+ return existing;
365
+ }
366
+ }
367
+ //# sourceMappingURL=entity-apply-store.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"entity-apply-store.js","sourceRoot":"","sources":["../src/entity-apply-store.ts"],"names":[],"mappings":"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"}
@@ -1,4 +1,4 @@
1
- import { type EntityType } from "@amalgm/live";
1
+ import { type EntityType, type RepoIdentityEntry } from "@amalgm/live";
2
2
  export interface GitRegisteredLeaf {
3
3
  readonly type: Extract<EntityType, "file.text" | "file.binary" | "link">;
4
4
  /** Git's indexed blob is the content witness; Shell does not hash it again. */
@@ -8,6 +8,13 @@ export interface GitRegistrationEvidence {
8
8
  /** Present only while the worktree path still agrees with the indexed blob. */
9
9
  readonly cleanLeaves: ReadonlyMap<string, GitRegisteredLeaf>;
10
10
  }
11
+ /**
12
+ * Replace worktree hashes with Git object identities only where Git proves
13
+ * the indexed leaf is clean. Dirty and untracked entries remain unchanged so
14
+ * their exact Checkpoint bytes continue to own their payload identity.
15
+ */
16
+ export declare function canonicalizeGitIdentity(identity: readonly RepoIdentityEntry[], evidence: GitRegistrationEvidence): RepoIdentityEntry[];
17
+ export declare function sameGitIdentity(left: readonly RepoIdentityEntry[], right: readonly RepoIdentityEntry[]): boolean;
11
18
  /**
12
19
  * Obtain registration evidence from Git's index and object database.
13
20
  *
@@ -1,5 +1,26 @@
1
1
  import { classifyFile } from "@amalgm/live";
2
2
  import { gitText, runGit, runGitSearch, tryGitText } from "./git-command.js";
3
+ /**
4
+ * Replace worktree hashes with Git object identities only where Git proves
5
+ * the indexed leaf is clean. Dirty and untracked entries remain unchanged so
6
+ * their exact Checkpoint bytes continue to own their payload identity.
7
+ */
8
+ export function canonicalizeGitIdentity(identity, evidence) {
9
+ return identity.map((entry) => {
10
+ const clean = evidence.cleanLeaves.get(entry.path);
11
+ return clean ? { ...entry, type: clean.type, payloadVersion: clean.payloadVersion } : entry;
12
+ });
13
+ }
14
+ export function sameGitIdentity(left, right) {
15
+ return left.length === right.length && left.every((entry, index) => {
16
+ const candidate = right[index];
17
+ return candidate !== undefined
18
+ && entry.path === candidate.path
19
+ && entry.uuid === candidate.uuid
20
+ && entry.type === candidate.type
21
+ && (entry.payloadVersion ?? null) === (candidate.payloadVersion ?? null);
22
+ });
23
+ }
3
24
  const zeroFields = (bytes) => Buffer.from(bytes).toString("utf8").split("\0").filter((field) => field.length > 0);
4
25
  const literalPathspecs = (paths) => paths.map((path) => {
5
26
  const segments = path.split("/");
@@ -1 +1 @@
1
- {"version":3,"file":"git-registration-host.js","sourceRoot":"","sources":["../src/git-registration-host.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"git-registration-host.js","sourceRoot":"","sources":["../src/git-registration-host.ts"],"names":[],"mappings":"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"}
@@ -303,6 +303,20 @@ function initializeMaterializedRepository(repository) {
303
303
  // cannot rewrite those bytes during materialization.
304
304
  runGit(repository, ["config", "core.autocrlf", "false"]);
305
305
  }
306
+ function forceRemotes(repository, remotes) {
307
+ const existing = (tryGitText(repository, ["remote"]) ?? "").split("\n").filter(Boolean);
308
+ const wanted = new Map(remotes.map((remote) => [remote.name, remote.url]));
309
+ for (const name of existing) {
310
+ if (!wanted.has(name))
311
+ runGit(repository, ["remote", "remove", name]);
312
+ }
313
+ for (const [name, url] of wanted) {
314
+ if (existing.includes(name))
315
+ runGit(repository, ["remote", "set-url", name, url]);
316
+ else
317
+ runGit(repository, ["remote", "add", name, url]);
318
+ }
319
+ }
306
320
  /** Materialize a complete transport chain and then re-derive its semantic
307
321
  * state. The oldest node must be self-contained; every later node must name
308
322
  * the exact predecessor whose Git objects and identity map it extends. */
@@ -324,8 +338,7 @@ export function applyRepository(repository, chain) {
324
338
  const state = transports.at(-1);
325
339
  mkdirSync(repository, { recursive: true });
326
340
  initializeMaterializedRepository(repository);
327
- for (const remote of state.card.remotes)
328
- runGit(repository, ["remote", "add", remote.name, remote.url]);
341
+ forceRemotes(repository, state.card.remotes);
329
342
  for (const transport of transports)
330
343
  importPack(repository, transport);
331
344
  installShallowBoundary(repository, state.card.shallow ?? []);
@@ -459,8 +472,7 @@ export async function applyRepositoryFiles(repository, chain) {
459
472
  const state = latest.layout;
460
473
  mkdirSync(repository, { recursive: true });
461
474
  initializeMaterializedRepository(repository);
462
- for (const remote of state.card.remotes)
463
- runGit(repository, ["remote", "add", remote.name, remote.url]);
475
+ forceRemotes(repository, state.card.remotes);
464
476
  for (const transport of transports) {
465
477
  if (transport.layout.pack) {
466
478
  await importPackFile(repository, transport.file, transport.layout.pack);