@indigoai-us/hq-cli 5.345.35 → 5.345.36

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.
package/CHANGELOG.md CHANGED
@@ -2,6 +2,10 @@
2
2
 
3
3
  ## [Unreleased]
4
4
 
5
+ ## [5.345.36] — 2026-10-07
6
+ - A queued `hq sync` no longer pins the installed `hq` version while it waits its turn, so `hq pkg update` is no longer blocked for the length of somebody else's sync.
7
+ - The flag-registry background refresh no longer throws as it starts, so running any `hq` command stops filing a crash report that nothing in the command caused.
8
+
5
9
  ## [5.345.35] — 2026-10-07
6
10
  - Claude plugin installs now use the HQ packages marketplace by default; local marketplace directory and environment overrides remain available.
7
11
  - Pin self-updates to the pnpm version recorded by the global install; preserve store dirs on pnpm 11+ and omit pnpm 10 virtual-store flags.
@@ -16,7 +16,8 @@ import { isAccessDeniedError, accessDeniedKeyOf, formatAccessDenied, } from "../
16
16
  import chalk from "chalk";
17
17
  import * as fs from "fs";
18
18
  import * as path from "path";
19
- import { share, sync, getStateDir, listJournals, VaultClient, computePersonalVaultPaths, PERSONAL_VAULT_JOURNAL_SLUG, resolvePullScope, syncDoctor, } from "@indigoai-us/hq-cloud";
19
+ import { share, getStateDir, listJournals, VaultClient, computePersonalVaultPaths, PERSONAL_VAULT_JOURNAL_SLUG, resolvePullScope, syncDoctor, } from "@indigoai-us/hq-cloud";
20
+ import { syncLeg } from "../utils/sync-operation-lock.js";
20
21
  import { DEFAULT_HQ_ROOT, ensureCognitoToken, buildVaultConfig, loadCachedTokens, } from "../utils/cognito-session.js";
21
22
  import { resolveUploadAuthor } from "../utils/upload-author.js";
22
23
  import { companyFolderExceedsThreshold, emitNarrowHint, isStrictRefusal, resolveBannerLevel, resolveNarrowHintPresentationLevel, resolveNarrowHintMinBytes, } from "../lib/narrow-hint-banner.js";
@@ -1146,7 +1147,7 @@ export function registerCloudCommands(program) {
1146
1147
  }
1147
1148
  const excludePrefixes = readScopeExcludePrefixes(pullScope);
1148
1149
  syncHealth = beginSyncHealthReport();
1149
- const result = await sync({
1150
+ const result = await syncLeg({
1150
1151
  company: options.company,
1151
1152
  onConflict: options.onConflict,
1152
1153
  vaultConfig,
@@ -1437,7 +1438,7 @@ async function runPullAll(hqRoot, onConflict, modeAllOverride, skipPersonal, for
1437
1438
  // via the shared resolver, so the actual pull is scoped — the CLI no
1438
1439
  // longer seeds an all-mode PullRecord that wedges the menubar runner.
1439
1440
  resolveScope: (companyUid, slug) => resolvePullScope(realClient, companyUid, slug, hqRoot),
1440
- sync: (opts) => sync({
1441
+ sync: (opts) => syncLeg({
1441
1442
  company: opts.company,
1442
1443
  hqRoot: opts.hqRoot,
1443
1444
  vaultConfig,
@@ -1508,7 +1509,7 @@ export async function runPullPersonal(hqRoot, onConflict) {
1508
1509
  listPersonEntities: () => client.entity.listByType("person"),
1509
1510
  getEntity: async () => null,
1510
1511
  });
1511
- const result = await sync({
1512
+ const result = await syncLeg({
1512
1513
  company: personalUid,
1513
1514
  ...(onConflict ? { onConflict } : {}),
1514
1515
  vaultConfig,
@@ -1853,7 +1854,7 @@ async function runNowSingle(hqRoot, company, personal, message, onConflict, mode
1853
1854
  }
1854
1855
  console.log(chalk.dim(" → pull leg"));
1855
1856
  const excludePrefixes = readScopeExcludePrefixes(pullScope);
1856
- const pullResult = await sync({
1857
+ const pullResult = await syncLeg({
1857
1858
  company: targetCompany,
1858
1859
  vaultConfig,
1859
1860
  hqRoot,