@indigoai-us/hq-cli 5.345.35 → 5.345.37
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 +12 -0
- package/assets/scaffold/core/scripts/detect-stale-core-policy-mirror.sh +2 -1
- package/dist/command-catalog.generated.d.ts +34 -0
- package/dist/command-catalog.generated.js +40 -0
- package/dist/command-registration-plan.d.ts +6 -0
- package/dist/command-registration-plan.js +1 -0
- package/dist/commands/cloud.js +6 -5
- package/dist/commands/core.js +1 -1
- package/dist/commands/provider.d.ts +7 -0
- package/dist/commands/provider.js +14 -0
- package/dist/hq-cloud-sync-runner/bin/sync-runner.js +7226 -4092
- package/dist/hq-cloud-sync-runner/package.json +1 -1
- package/dist/lib/core-utils/token-usage-report.js +1 -1
- package/dist/lib/flag-registry-worker-source.generated.d.ts +1 -1
- package/dist/lib/flag-registry-worker-source.generated.js +1 -1
- package/dist/lib/index-render/companies.js +2 -1
- package/dist/lib/lanes/story-ledger.d.ts +1 -1
- package/dist/lib/lanes/story-ledger.js +26 -5
- package/dist/lib/provider-launcher.d.ts +11 -0
- package/dist/lib/provider-launcher.js +59 -0
- package/dist/lib/workers-registry/index.js +28 -3
- package/dist/utils/package-use-lease.d.ts +17 -0
- package/dist/utils/package-use-lease.js +36 -0
- package/dist/utils/self-update.js +143 -7
- package/dist/utils/sync-operation-lock.d.ts +37 -0
- package/dist/utils/sync-operation-lock.js +40 -0
- package/package.json +2 -2
package/CHANGELOG.md
CHANGED
|
@@ -2,6 +2,18 @@
|
|
|
2
2
|
|
|
3
3
|
## [Unreleased]
|
|
4
4
|
|
|
5
|
+
## [5.345.37] — 2026-10-07
|
|
6
|
+
- Keep pnpm's public global package link readable while self-update scans and replaces existing global installs, so Corepack-managed updates can complete with rollback protection intact.
|
|
7
|
+
|
|
8
|
+
- Add published-package parity coverage for native core commands and align help output and symlinked project indexing with the bundled scripts.
|
|
9
|
+
- When Windows blocks writing the derived workers registry, `hq core` now reports a partial result instead of terminating on an uncaught filesystem error.
|
|
10
|
+
- Lane story ledger updates now keep state and status aligned, clear stale single-lane assignments, and use the canonical `review` state.
|
|
11
|
+
- Add `hq provider launch` for noninteractive Claude Code and Codex CLI runs. When either provider reports the known unauthenticated response, the launcher prints the matching sign-in command.
|
|
12
|
+
|
|
13
|
+
## [5.345.36] — 2026-10-07
|
|
14
|
+
- 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.
|
|
15
|
+
- 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.
|
|
16
|
+
|
|
5
17
|
## [5.345.35] — 2026-10-07
|
|
6
18
|
- Claude plugin installs now use the HQ packages marketplace by default; local marketplace directory and environment overrides remain available.
|
|
7
19
|
- 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.
|
|
@@ -44,7 +44,8 @@ case "${1:-}" in
|
|
|
44
44
|
--check) MODE="check" ;;
|
|
45
45
|
--prune-identical) MODE="prune" ;;
|
|
46
46
|
-h|--help)
|
|
47
|
-
|
|
47
|
+
help_end="$(awk 'NR == 1 { next } /^#/ { last = NR; next } /^[[:space:]]*$/ { next } { exit } END { print last }' "$0")"
|
|
48
|
+
sed -n "2,${help_end}p" "$0"
|
|
48
49
|
exit 0 ;;
|
|
49
50
|
*)
|
|
50
51
|
printf 'detect-stale-core-policy-mirror: unknown argument: %s\n' "$1" >&2
|
|
@@ -1286,6 +1286,40 @@ export declare const COMMAND_CATALOG: readonly [{
|
|
|
1286
1286
|
readonly hidden: false;
|
|
1287
1287
|
}];
|
|
1288
1288
|
readonly subcommands: readonly [];
|
|
1289
|
+
}, {
|
|
1290
|
+
readonly name: "provider";
|
|
1291
|
+
readonly description: "Launch supported AI provider CLIs";
|
|
1292
|
+
readonly aliases: readonly [];
|
|
1293
|
+
readonly hidden: false;
|
|
1294
|
+
readonly helpOption: true;
|
|
1295
|
+
readonly helpCommand: true;
|
|
1296
|
+
readonly usage: "[options] [command]";
|
|
1297
|
+
readonly helpText: readonly [];
|
|
1298
|
+
readonly arguments: readonly [];
|
|
1299
|
+
readonly options: readonly [];
|
|
1300
|
+
readonly subcommands: readonly [{
|
|
1301
|
+
readonly name: "launch";
|
|
1302
|
+
readonly description: "Run a noninteractive Claude Code or Codex command with sign-in guidance";
|
|
1303
|
+
readonly aliases: readonly [];
|
|
1304
|
+
readonly hidden: false;
|
|
1305
|
+
readonly helpOption: true;
|
|
1306
|
+
readonly helpCommand: false;
|
|
1307
|
+
readonly usage: "[options] <name> [args...]";
|
|
1308
|
+
readonly helpText: readonly [];
|
|
1309
|
+
readonly arguments: readonly [{
|
|
1310
|
+
readonly name: "name";
|
|
1311
|
+
readonly required: true;
|
|
1312
|
+
readonly variadic: false;
|
|
1313
|
+
readonly description: "";
|
|
1314
|
+
}, {
|
|
1315
|
+
readonly name: "args";
|
|
1316
|
+
readonly required: false;
|
|
1317
|
+
readonly variadic: true;
|
|
1318
|
+
readonly description: "";
|
|
1319
|
+
}];
|
|
1320
|
+
readonly options: readonly [];
|
|
1321
|
+
readonly subcommands: readonly [];
|
|
1322
|
+
}];
|
|
1289
1323
|
}, {
|
|
1290
1324
|
readonly name: "version";
|
|
1291
1325
|
readonly description: "Show HQ, CLI, and latest hq-core versions";
|
|
@@ -1542,6 +1542,46 @@ export const COMMAND_CATALOG = [
|
|
|
1542
1542
|
],
|
|
1543
1543
|
"subcommands": []
|
|
1544
1544
|
},
|
|
1545
|
+
{
|
|
1546
|
+
"name": "provider",
|
|
1547
|
+
"description": "Launch supported AI provider CLIs",
|
|
1548
|
+
"aliases": [],
|
|
1549
|
+
"hidden": false,
|
|
1550
|
+
"helpOption": true,
|
|
1551
|
+
"helpCommand": true,
|
|
1552
|
+
"usage": "[options] [command]",
|
|
1553
|
+
"helpText": [],
|
|
1554
|
+
"arguments": [],
|
|
1555
|
+
"options": [],
|
|
1556
|
+
"subcommands": [
|
|
1557
|
+
{
|
|
1558
|
+
"name": "launch",
|
|
1559
|
+
"description": "Run a noninteractive Claude Code or Codex command with sign-in guidance",
|
|
1560
|
+
"aliases": [],
|
|
1561
|
+
"hidden": false,
|
|
1562
|
+
"helpOption": true,
|
|
1563
|
+
"helpCommand": false,
|
|
1564
|
+
"usage": "[options] <name> [args...]",
|
|
1565
|
+
"helpText": [],
|
|
1566
|
+
"arguments": [
|
|
1567
|
+
{
|
|
1568
|
+
"name": "name",
|
|
1569
|
+
"required": true,
|
|
1570
|
+
"variadic": false,
|
|
1571
|
+
"description": ""
|
|
1572
|
+
},
|
|
1573
|
+
{
|
|
1574
|
+
"name": "args",
|
|
1575
|
+
"required": false,
|
|
1576
|
+
"variadic": true,
|
|
1577
|
+
"description": ""
|
|
1578
|
+
}
|
|
1579
|
+
],
|
|
1580
|
+
"options": [],
|
|
1581
|
+
"subcommands": []
|
|
1582
|
+
}
|
|
1583
|
+
]
|
|
1584
|
+
},
|
|
1545
1585
|
{
|
|
1546
1586
|
"name": "version",
|
|
1547
1587
|
"description": "Show HQ, CLI, and latest hq-core versions",
|
|
@@ -201,6 +201,12 @@ export declare const REGISTRATION_PLAN: readonly [{
|
|
|
201
201
|
readonly parent: "program";
|
|
202
202
|
readonly module: "./commands/link.js";
|
|
203
203
|
readonly exportName: "registerResolveCompanyCommand";
|
|
204
|
+
}, {
|
|
205
|
+
readonly type: "registrar";
|
|
206
|
+
readonly root: "provider";
|
|
207
|
+
readonly parent: "program";
|
|
208
|
+
readonly module: "./commands/provider.js";
|
|
209
|
+
readonly exportName: "registerProviderCommand";
|
|
204
210
|
}, {
|
|
205
211
|
readonly type: "registrar";
|
|
206
212
|
readonly root: "version";
|
|
@@ -36,6 +36,7 @@ export const REGISTRATION_PLAN = [
|
|
|
36
36
|
{ type: "registrar", root: "unlink", parent: "program", module: "./commands/link.js", exportName: "registerUnlinkCommand" },
|
|
37
37
|
{ type: "registrar", root: "uninstall", parent: "program", module: "./commands/install-global.js", exportName: "registerUninstallCommand" },
|
|
38
38
|
{ type: "registrar", root: "resolve-company", parent: "program", module: "./commands/link.js", exportName: "registerResolveCompanyCommand" },
|
|
39
|
+
{ type: "registrar", root: "provider", parent: "program", module: "./commands/provider.js", exportName: "registerProviderCommand" },
|
|
39
40
|
{ type: "registrar", root: "version", parent: "program", module: "./commands/version.js", exportName: "registerVersionCommand" },
|
|
40
41
|
{ type: "registrar", root: "auth", parent: "program", module: "./commands/auth.js", exportName: "registerAuthCommands" },
|
|
41
42
|
{ type: "registrar", root: "secrets", parent: "program", module: "./commands/secrets.js", exportName: "registerSecretsCommand" },
|
package/dist/commands/cloud.js
CHANGED
|
@@ -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,
|
|
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
|
|
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) =>
|
|
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
|
|
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
|
|
1857
|
+
const pullResult = await syncLeg({
|
|
1857
1858
|
company: targetCompany,
|
|
1858
1859
|
vaultConfig,
|
|
1859
1860
|
hqRoot,
|
package/dist/commands/core.js
CHANGED
|
@@ -532,7 +532,7 @@ export function registerCoreCommands(program) {
|
|
|
532
532
|
? generateWorkersRegistry(hqRoot)
|
|
533
533
|
: scanPackages(hqRoot, { quiet: process.env.HQ_SCAN_QUIET === "1" });
|
|
534
534
|
if (result.status !== 0)
|
|
535
|
-
process.
|
|
535
|
+
process.exitCode = result.status;
|
|
536
536
|
});
|
|
537
537
|
describeCoreCommand(command, {
|
|
538
538
|
execution: "native",
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
import { Command } from "commander";
|
|
2
|
+
import { type ProviderLauncherDependencies } from "../lib/provider-launcher.js";
|
|
3
|
+
export interface ProviderCommandDependencies extends ProviderLauncherDependencies {
|
|
4
|
+
setExitCode?: (code: number) => void;
|
|
5
|
+
}
|
|
6
|
+
export declare function registerProviderCommand(program: Command, dependencies?: ProviderCommandDependencies): void;
|
|
7
|
+
//# sourceMappingURL=provider.d.ts.map
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
import { runProviderLauncher } from "../lib/provider-launcher.js";
|
|
2
|
+
export function registerProviderCommand(program, dependencies = {}) {
|
|
3
|
+
program
|
|
4
|
+
.command("provider")
|
|
5
|
+
.description("Launch supported AI provider CLIs")
|
|
6
|
+
.command("launch <name> [args...]")
|
|
7
|
+
.description("Run a noninteractive Claude Code or Codex command with sign-in guidance")
|
|
8
|
+
.allowUnknownOption()
|
|
9
|
+
.action(async (name, args) => {
|
|
10
|
+
const exitCode = await runProviderLauncher(name, args, dependencies);
|
|
11
|
+
(dependencies.setExitCode ?? ((code) => { process.exitCode = code; }))(exitCode);
|
|
12
|
+
});
|
|
13
|
+
}
|
|
14
|
+
//# sourceMappingURL=provider.js.map
|