@varveai/adit-cloud 0.3.3 → 0.3.4

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.
@@ -71,6 +71,14 @@ export function updateCachedDocHashes(db, projectId, serverUrl, hashes) {
71
71
  WHERE project_id = ? AND server_url = ?
72
72
  `).run(JSON.stringify(hashes), new Date().toISOString(), new Date().toISOString(), projectId, serverUrl);
73
73
  }
74
+ /** Update cached metadata JSON without marking documents as synced. */
75
+ export function updateCachedMetadata(db, projectId, serverUrl, hashes) {
76
+ db.prepare(`
77
+ UPDATE project_link_cache
78
+ SET doc_hashes_json = ?, updated_at = ?
79
+ WHERE project_id = ? AND server_url = ?
80
+ `).run(JSON.stringify(hashes), new Date().toISOString(), projectId, serverUrl);
81
+ }
74
82
  /** Mark as qualified or not */
75
83
  export function updateCachedQualified(db, projectId, serverUrl, qualified) {
76
84
  db.prepare(`
@@ -1 +1 @@
1
- {"version":3,"file":"cache.js","sourceRoot":"","sources":["../../src/project-link/cache.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"cache.js","sourceRoot":"","sources":["../../src/project-link/cache.ts"],"names":[],"mappings":"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"}
@@ -40,13 +40,16 @@ export interface CollectCommitOptions {
40
40
  sinceCommitSha?: string | null;
41
41
  /** Branch name to tag on each returned commit (legacy — prefer resolveCommitBranches). */
42
42
  branch?: string | null;
43
+ /** Collect commits reachable from every local/remote ref instead of only HEAD. */
44
+ allRefs?: boolean;
43
45
  }
44
46
  /**
45
47
  * Collect commit logs, optionally since a specific commit SHA.
46
48
  *
47
49
  * When `sinceCommitSha` is provided, only commits after that SHA
48
50
  * are returned (incremental sync). Otherwise, all commits are returned.
49
- * Commits are ordered newest-first (git log default).
51
+ * Commits are ordered newest-first (git log default). When `allRefs`
52
+ * is true, commits are collected from every local/remote ref.
50
53
  *
51
54
  * When `branch` is provided, each returned commit will have its
52
55
  * `branch` field set to that value. For accurate per-commit branch
@@ -61,11 +64,10 @@ export declare function collectCommitLogs(cwd: string, sinceCommitShaOrOptions?:
61
64
  /**
62
65
  * Resolve per-commit branch assignments for a set of commits.
63
66
  *
64
- * For each known branch, runs `git log <branch> --format=%H` to collect
65
- * the SHAs reachable from that branch. Commits are assigned to the most
66
- * specific branch (non-default branches take priority over the default
67
- * branch, so a commit on `feature/x` that was later merged into `main`
68
- * is attributed to `feature/x`).
67
+ * For each known branch, runs `git rev-list <branch>` to collect the SHAs
68
+ * reachable from that branch, newest first. Commits are assigned to the
69
+ * nearest branch head that contains them, so a branch-tip commit stays on
70
+ * that branch even if another branch was created from it later.
69
71
  *
70
72
  * Only SHAs present in `commitShas` are assigned — this avoids building
71
73
  * a map for the entire repository history when doing incremental sync.
@@ -74,7 +76,7 @@ export declare function collectCommitLogs(cwd: string, sinceCommitShaOrOptions?:
74
76
  * also returns the same array for chaining convenience.
75
77
  */
76
78
  export declare function resolveCommitBranches(cwd: string, commits: GitCommit[], branches: GitBranch[], defaultBranch: string | null): Promise<GitCommit[]>;
77
- /** Count total commits reachable from HEAD. */
79
+ /** Count total commits reachable from all local/remote refs. */
78
80
  export declare function collectCommitCount(cwd: string): Promise<number>;
79
81
  /**
80
82
  * Extract a project name from a git remote URL.
@@ -1 +1 @@
1
- {"version":3,"file":"git-collector.d.ts","sourceRoot":"","sources":["../../src/project-link/git-collector.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAGH,OAAO,KAAK,EAAE,SAAS,EAAE,SAAS,EAAE,MAAM,YAAY,CAAC;AAEvD,wEAAwE;AACxE,wBAAsB,gBAAgB,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAMnE;AAED;;;;;;GAMG;AACH,wBAAsB,oBAAoB,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC,CAmB9E;AAED;;;;;;GAMG;AACH,wBAAsB,oBAAoB,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC,CAM9E;AAED;;;;;GAKG;AACH,wBAAsB,eAAe,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,SAAS,EAAE,CAAC,CAiCvE;AAoBD;;GAEG;AACH,MAAM,WAAW,oBAAoB;IACnC,6DAA6D;IAC7D,cAAc,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC/B,0FAA0F;IAC1F,MAAM,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;CACxB;AAED;;;;;;;;;;;;;;;GAeG;AACH,wBAAsB,iBAAiB,CACrC,GAAG,EAAE,MAAM,EACX,uBAAuB,CAAC,EAAE,MAAM,GAAG,IAAI,GAAG,oBAAoB,GAC7D,OAAO,CAAC,SAAS,EAAE,CAAC,CA6DtB;AAED;;;;;;;;;;;;;;GAcG;AACH,wBAAsB,qBAAqB,CACzC,GAAG,EAAE,MAAM,EACX,OAAO,EAAE,SAAS,EAAE,EACpB,QAAQ,EAAE,SAAS,EAAE,EACrB,aAAa,EAAE,MAAM,GAAG,IAAI,GAC3B,OAAO,CAAC,SAAS,EAAE,CAAC,CA6CtB;AAED,+CAA+C;AAC/C,wBAAsB,kBAAkB,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAIrE;AAED;;;;;;;GAOG;AACH,wBAAgB,wBAAwB,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAmB5D"}
1
+ {"version":3,"file":"git-collector.d.ts","sourceRoot":"","sources":["../../src/project-link/git-collector.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAGH,OAAO,KAAK,EAAE,SAAS,EAAE,SAAS,EAAE,MAAM,YAAY,CAAC;AAEvD,wEAAwE;AACxE,wBAAsB,gBAAgB,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAMnE;AAED;;;;;;GAMG;AACH,wBAAsB,oBAAoB,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC,CAmB9E;AAED;;;;;;GAMG;AACH,wBAAsB,oBAAoB,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC,CAM9E;AAED;;;;;GAKG;AACH,wBAAsB,eAAe,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,SAAS,EAAE,CAAC,CAiCvE;AAoBD;;GAEG;AACH,MAAM,WAAW,oBAAoB;IACnC,6DAA6D;IAC7D,cAAc,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC/B,0FAA0F;IAC1F,MAAM,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACvB,kFAAkF;IAClF,OAAO,CAAC,EAAE,OAAO,CAAC;CACnB;AAED;;;;;;;;;;;;;;;;GAgBG;AACH,wBAAsB,iBAAiB,CACrC,GAAG,EAAE,MAAM,EACX,uBAAuB,CAAC,EAAE,MAAM,GAAG,IAAI,GAAG,oBAAoB,GAC7D,OAAO,CAAC,SAAS,EAAE,CAAC,CAmEtB;AAED;;;;;;;;;;;;;GAaG;AACH,wBAAsB,qBAAqB,CACzC,GAAG,EAAE,MAAM,EACX,OAAO,EAAE,SAAS,EAAE,EACpB,QAAQ,EAAE,SAAS,EAAE,EACrB,aAAa,EAAE,MAAM,GAAG,IAAI,GAC3B,OAAO,CAAC,SAAS,EAAE,CAAC,CA4EtB;AAED,gEAAgE;AAChE,wBAAsB,kBAAkB,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAIrE;AAED;;;;;;;GAOG;AACH,wBAAgB,wBAAwB,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAmB5D"}
@@ -58,7 +58,7 @@ export async function collectCurrentBranch(cwd) {
58
58
  * name matches a remote tracking branch, the local version is kept.
59
59
  */
60
60
  export async function collectBranches(cwd) {
61
- const result = await runGit(["branch", "-a", "--format=%(refname)|%(refname:short)|%(objectname:short)"], { cwd });
61
+ const result = await runGit(["branch", "-a", "--format=%(refname)|%(refname:short)|%(objectname)"], { cwd });
62
62
  if (result.exitCode !== 0)
63
63
  return [];
64
64
  const defaultBranch = await collectDefaultBranch(cwd);
@@ -108,7 +108,8 @@ function normalizeBranchRef(fullRef, shortRef) {
108
108
  *
109
109
  * When `sinceCommitSha` is provided, only commits after that SHA
110
110
  * are returned (incremental sync). Otherwise, all commits are returned.
111
- * Commits are ordered newest-first (git log default).
111
+ * Commits are ordered newest-first (git log default). When `allRefs`
112
+ * is true, commits are collected from every local/remote ref.
112
113
  *
113
114
  * When `branch` is provided, each returned commit will have its
114
115
  * `branch` field set to that value. For accurate per-commit branch
@@ -122,14 +123,16 @@ function normalizeBranchRef(fullRef, shortRef) {
122
123
  export async function collectCommitLogs(cwd, sinceCommitShaOrOptions) {
123
124
  // Support both the old positional signature and the new options object.
124
125
  // Old: collectCommitLogs(cwd, sinceCommitSha)
125
- // New: collectCommitLogs(cwd, { sinceCommitSha, branch })
126
+ // New: collectCommitLogs(cwd, { sinceCommitSha, branch, allRefs })
126
127
  let sinceCommitSha;
127
128
  let branch;
129
+ let allRefs = false;
128
130
  if (sinceCommitShaOrOptions !== null &&
129
131
  sinceCommitShaOrOptions !== undefined &&
130
132
  typeof sinceCommitShaOrOptions === "object") {
131
133
  sinceCommitSha = sinceCommitShaOrOptions.sinceCommitSha;
132
134
  branch = sinceCommitShaOrOptions.branch;
135
+ allRefs = sinceCommitShaOrOptions.allRefs === true;
133
136
  }
134
137
  else {
135
138
  sinceCommitSha = sinceCommitShaOrOptions;
@@ -141,11 +144,14 @@ export async function collectCommitLogs(cwd, sinceCommitShaOrOptions) {
141
144
  // %B = subject + body (may contain newlines)
142
145
  // %x01 = SOH field delimiter, %x00 = NUL record delimiter
143
146
  const args = ["log", "--format=%H%x01%an%x01%ae%x01%aI%x01%B%x00"];
147
+ if (allRefs) {
148
+ args.push("--all");
149
+ }
144
150
  if (sinceCommitSha) {
145
151
  // Verify the SHA still exists (could have been force-pushed away)
146
152
  const exists = await runGit(["cat-file", "-t", sinceCommitSha], { cwd });
147
153
  if (exists.exitCode === 0) {
148
- args.push(`${sinceCommitSha}..HEAD`);
154
+ args.push(allRefs ? `^${sinceCommitSha}` : `${sinceCommitSha}..HEAD`);
149
155
  }
150
156
  // If SHA doesn't exist, fall through to full log
151
157
  }
@@ -178,11 +184,10 @@ export async function collectCommitLogs(cwd, sinceCommitShaOrOptions) {
178
184
  /**
179
185
  * Resolve per-commit branch assignments for a set of commits.
180
186
  *
181
- * For each known branch, runs `git log <branch> --format=%H` to collect
182
- * the SHAs reachable from that branch. Commits are assigned to the most
183
- * specific branch (non-default branches take priority over the default
184
- * branch, so a commit on `feature/x` that was later merged into `main`
185
- * is attributed to `feature/x`).
187
+ * For each known branch, runs `git rev-list <branch>` to collect the SHAs
188
+ * reachable from that branch, newest first. Commits are assigned to the
189
+ * nearest branch head that contains them, so a branch-tip commit stays on
190
+ * that branch even if another branch was created from it later.
186
191
  *
187
192
  * Only SHAs present in `commitShas` are assigned — this avoids building
188
193
  * a map for the entire repository history when doing incremental sync.
@@ -195,42 +200,59 @@ export async function resolveCommitBranches(cwd, commits, branches, defaultBranc
195
200
  return commits;
196
201
  // Build a set of SHAs we care about for fast lookup
197
202
  const targetShas = new Set(commits.map((c) => c.sha));
198
- // Map from SHA → branch name. Non-default branches are processed first
199
- // so their assignments take priority (a commit reachable from both
200
- // `feature/x` and `main` should be attributed to `feature/x`).
201
- const shaToBranch = new Map();
202
- // Sort branches: default branch last so non-default branches win
203
+ const shaToCandidate = new Map();
204
+ function isBetterCandidate(candidate, existing) {
205
+ if (!existing)
206
+ return true;
207
+ if (candidate.rank !== existing.rank)
208
+ return candidate.rank < existing.rank;
209
+ if (candidate.isDefault !== existing.isDefault)
210
+ return !candidate.isDefault;
211
+ return candidate.order < existing.order;
212
+ }
213
+ // Sort branches deterministically. Non-default branches win ties, while
214
+ // distance from the branch head is the primary signal.
203
215
  const sorted = [...branches].sort((a, b) => {
204
216
  const aIsDefault = a.name === defaultBranch ? 1 : 0;
205
217
  const bIsDefault = b.name === defaultBranch ? 1 : 0;
206
- return aIsDefault - bIsDefault;
218
+ return aIsDefault - bIsDefault || a.name.localeCompare(b.name);
207
219
  });
208
- for (const branch of sorted) {
209
- const result = await runGit(["log", branch.name, "--format=%H"], { cwd, timeout: 30_000 });
220
+ for (const [order, branch] of sorted.entries()) {
221
+ let result = await runGit(["rev-list", branch.name], { cwd, timeout: 30_000 });
222
+ if (result.exitCode !== 0 && branch.headSha) {
223
+ result = await runGit(["rev-list", branch.headSha], { cwd, timeout: 30_000 });
224
+ }
210
225
  if (result.exitCode !== 0)
211
226
  continue;
212
- for (const line of result.stdout.trim().split("\n")) {
227
+ const lines = result.stdout.trim().split("\n");
228
+ for (let rank = 0; rank < lines.length; rank++) {
229
+ const line = lines[rank];
213
230
  const sha = line.trim();
214
231
  if (!sha || !targetShas.has(sha))
215
232
  continue;
216
- // Only assign if not already claimed by a non-default branch
217
- if (!shaToBranch.has(sha)) {
218
- shaToBranch.set(sha, branch.name);
233
+ const candidate = {
234
+ branch: branch.name,
235
+ rank,
236
+ isDefault: branch.name === defaultBranch,
237
+ order,
238
+ };
239
+ if (isBetterCandidate(candidate, shaToCandidate.get(sha))) {
240
+ shaToCandidate.set(sha, candidate);
219
241
  }
220
242
  }
221
243
  }
222
244
  // Apply resolved branches to commits
223
245
  for (const commit of commits) {
224
- const resolved = shaToBranch.get(commit.sha);
246
+ const resolved = shaToCandidate.get(commit.sha)?.branch;
225
247
  if (resolved) {
226
248
  commit.branch = resolved;
227
249
  }
228
250
  }
229
251
  return commits;
230
252
  }
231
- /** Count total commits reachable from HEAD. */
253
+ /** Count total commits reachable from all local/remote refs. */
232
254
  export async function collectCommitCount(cwd) {
233
- const result = await runGit(["rev-list", "--count", "HEAD"], { cwd });
255
+ const result = await runGit(["rev-list", "--count", "--all"], { cwd });
234
256
  if (result.exitCode !== 0)
235
257
  return 0;
236
258
  return parseInt(result.stdout.trim(), 10) || 0;
@@ -1 +1 @@
1
- {"version":3,"file":"git-collector.js","sourceRoot":"","sources":["../../src/project-link/git-collector.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"git-collector.js","sourceRoot":"","sources":["../../src/project-link/git-collector.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"link-command.d.ts","sourceRoot":"","sources":["../../src/project-link/link-command.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAEH,OAAO,KAAK,QAAQ,MAAM,gBAAgB,CAAC;AAC3C,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AACrD,OAAO,KAAK,EACV,WAAW,EACX,UAAU,EAOX,MAAM,YAAY,CAAC;AA4BpB;;;;;;;;;GASG;AACH,wBAAsB,WAAW,CAC/B,EAAE,EAAE,QAAQ,CAAC,QAAQ,EACrB,MAAM,EAAE,WAAW,EACnB,WAAW,EAAE,MAAM,EACnB,SAAS,EAAE,MAAM,EACjB,SAAS,EAAE,MAAM,EACjB,OAAO,GAAE,WAAgB,GACxB,OAAO,CAAC,UAAU,CAAC,CA0XrB"}
1
+ {"version":3,"file":"link-command.d.ts","sourceRoot":"","sources":["../../src/project-link/link-command.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAEH,OAAO,KAAK,QAAQ,MAAM,gBAAgB,CAAC;AAC3C,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AACrD,OAAO,KAAK,EACV,WAAW,EACX,UAAU,EAOX,MAAM,YAAY,CAAC;AA8BpB;;;;;;;;;GASG;AACH,wBAAsB,WAAW,CAC/B,EAAE,EAAE,QAAQ,CAAC,QAAQ,EACrB,MAAM,EAAE,WAAW,EACnB,WAAW,EAAE,MAAM,EACnB,SAAS,EAAE,MAAM,EACjB,SAAS,EAAE,MAAM,EACjB,OAAO,GAAE,WAAgB,GACxB,OAAO,CAAC,UAAU,CAAC,CAmYrB"}
@@ -11,9 +11,10 @@
11
11
  */
12
12
  import { collectRemoteUrl, collectDefaultBranch, collectBranches, collectCommitLogs, collectCommitCount, resolveCommitBranches, projectNameFromRemoteUrl, } from "./git-collector.js";
13
13
  import { discoverDocuments, loadDocSettings } from "./doc-discovery.js";
14
- import { getProjectLinkCache, upsertProjectLinkCache, clearProjectLinkCache, updateCachedCommitSha, updateCachedDocHashes, updateCachedQualified, } from "./cache.js";
14
+ import { getProjectLinkCache, upsertProjectLinkCache, clearProjectLinkCache, updateCachedCommitSha, updateCachedDocHashes, updateCachedMetadata, updateCachedQualified, } from "./cache.js";
15
15
  import { checkQuality, formatQualityFeedback } from "./qualify.js";
16
16
  import { validateDocument } from "@varveai/adit-plans";
17
+ import { collectGitRefsFingerprint, REFS_FINGERPRINT_CACHE_KEY } from "./auto-link.js";
17
18
  /** Maximum number of commits per upload batch */
18
19
  const COMMIT_BATCH_SIZE = 1000;
19
20
  /** Minimum staleness before re-uploading branches (1 hour) */
@@ -143,10 +144,9 @@ export async function linkCommand(db, client, projectRoot, projectId, serverUrl,
143
144
  let commitCount = 0;
144
145
  if (!options.skipCommits) {
145
146
  // Collect commits and resolve per-commit branch assignment by checking
146
- // which branches each commit is reachable from. Non-default branches
147
- // take priority so merged feature-branch commits keep their origin.
147
+ // all refs, including local-only branches that are not checked out.
148
148
  const commits = await collectCommitLogs(projectRoot, {
149
- sinceCommitSha: cache.lastCommitSha,
149
+ allRefs: true,
150
150
  });
151
151
  const totalCommits = await collectCommitCount(projectRoot);
152
152
  // Resolve branch for each commit using collected branch data
@@ -168,7 +168,7 @@ export async function linkCommand(db, client, projectRoot, projectId, serverUrl,
168
168
  const batch = commits.slice(i, i + COMMIT_BATCH_SIZE);
169
169
  const response = await client.post("/api/project-link/commits", {
170
170
  projectId: effectiveProjectId,
171
- sinceCommitSha: cache.lastCommitSha,
171
+ sinceCommitSha: null,
172
172
  commits: batch.map((c) => ({
173
173
  sha: c.sha,
174
174
  authorName: c.authorName,
@@ -193,6 +193,15 @@ export async function linkCommand(db, client, projectRoot, projectId, serverUrl,
193
193
  }
194
194
  log(` ${uploaded} new commits uploaded (${commitCount} total)`);
195
195
  }
196
+ const refsFingerprint = await collectGitRefsFingerprint(projectRoot);
197
+ if (refsFingerprint) {
198
+ const docHashes = {
199
+ ...cache.docHashes,
200
+ [REFS_FINGERPRINT_CACHE_KEY]: refsFingerprint,
201
+ };
202
+ updateCachedMetadata(db, effectiveProjectId, serverUrl, docHashes);
203
+ cache.docHashes = docHashes;
204
+ }
196
205
  }
197
206
  else {
198
207
  log(" Skipping commit history (--skip-commits)");
@@ -1 +1 @@
1
- {"version":3,"file":"link-command.js","sourceRoot":"","sources":["../../src/project-link/link-command.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"link-command.js","sourceRoot":"","sources":["../../src/project-link/link-command.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"auto-sync.d.ts","sourceRoot":"","sources":["../../src/sync/auto-sync.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;GAmBG;AAEH,OAAO,KAAK,QAAQ,MAAM,gBAAgB,CAAC;AAiB3C;;;;;;;;;;;;;;;;GAgBG;AACH,wBAAsB,eAAe,CACnC,EAAE,EAAE,QAAQ,CAAC,QAAQ,EACrB,SAAS,EAAE,MAAM,EACjB,OAAO,CAAC,EAAE;IAAE,KAAK,CAAC,EAAE,OAAO,CAAA;CAAE,GAC5B,OAAO,CAAC,IAAI,CAAC,CA0Gf"}
1
+ {"version":3,"file":"auto-sync.d.ts","sourceRoot":"","sources":["../../src/sync/auto-sync.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;GAmBG;AAEH,OAAO,KAAK,QAAQ,MAAM,gBAAgB,CAAC;AAkB3C;;;;;;;;;;;;;;;;GAgBG;AACH,wBAAsB,eAAe,CACnC,EAAE,EAAE,QAAQ,CAAC,QAAQ,EACrB,SAAS,EAAE,MAAM,EACjB,OAAO,CAAC,EAAE;IAAE,KAAK,CAAC,EAAE,OAAO,CAAA;CAAE,GAC5B,OAAO,CAAC,IAAI,CAAC,CAgHf"}
@@ -20,7 +20,7 @@
20
20
  */
21
21
  import { getSyncState } from "@varveai/adit-core";
22
22
  import { loadCloudConfig, DEFAULT_SERVER_URL } from "../config.js";
23
- import { loadCredentials, isTokenExpired, credentialsFromEnvToken, incrementSyncErrors, clearSyncErrors, isSyncDisabled, } from "../auth/credentials.js";
23
+ import { loadCredentials, isTokenExpired, credentialsFromEnvToken, incrementSyncErrors, clearSyncErrors, isSyncDisabled, recordAuthFailure, } from "../auth/credentials.js";
24
24
  import { CloudClient } from "../http/client.js";
25
25
  import { CloudNetworkError, CloudAuthError } from "../http/errors.js";
26
26
  import { SyncEngine } from "./engine.js";
@@ -116,6 +116,12 @@ export async function triggerAutoSync(db, projectId, options) {
116
116
  catch (error) {
117
117
  // Track consecutive failures — disable sync after threshold
118
118
  const disabled = incrementSyncErrors();
119
+ if (error instanceof CloudAuthError) {
120
+ recordAuthFailure({
121
+ stage: "auto-sync",
122
+ message: error.message,
123
+ });
124
+ }
119
125
  // Fail silently — this is fire-and-forget.
120
126
  // CloudNetworkError: server unreachable, will retry next trigger
121
127
  // CloudAuthError: credentials invalid, user needs to re-login
@@ -1 +1 @@
1
- {"version":3,"file":"auto-sync.js","sourceRoot":"","sources":["../../src/sync/auto-sync.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"auto-sync.js","sourceRoot":"","sources":["../../src/sync/auto-sync.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@varveai/adit-cloud",
3
- "version": "0.3.3",
3
+ "version": "0.3.4",
4
4
  "description": "Cloud sync client for ADIT — device auth, incremental push, conflict resolution",
5
5
  "type": "module",
6
6
  "files": [
@@ -15,9 +15,9 @@
15
15
  }
16
16
  },
17
17
  "dependencies": {
18
- "@varveai/adit-core": "0.3.3",
19
- "@varveai/adit-engine": "0.3.3",
20
- "@varveai/adit-plans": "0.3.3"
18
+ "@varveai/adit-core": "0.3.4",
19
+ "@varveai/adit-engine": "0.3.4",
20
+ "@varveai/adit-plans": "0.3.4"
21
21
  },
22
22
  "devDependencies": {
23
23
  "@types/better-sqlite3": "^7.6.13",