@indigoai-us/hq-cli 5.345.53 → 5.345.54

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,7 +2,12 @@
2
2
 
3
3
  ## [Unreleased]
4
4
 
5
+ ## [5.345.54] — 2026-10-08
6
+ - Prevents `hq` commands run outside an HQ tree on Windows from hanging while searching parent directories for an HQ root.
7
+
5
8
  ## [5.345.53] — 2026-10-08
9
+ - Starter plan-limit notices quote 3 integrations when the server sends no integration limit, up from 1. The setup guide, pricing skill, and agents-and-team skill now say Starter includes 3 integrations (connected apps).
10
+
6
11
  - `hq meetings live` now also lists live meetings you were invited to but did not record, such as a standup a teammate's notetaker is recording, so you can read their live transcript.
7
12
 
8
13
  ## [5.345.52] — 2026-10-08
@@ -323,7 +323,7 @@ HQ/
323
323
  HQ has three plans: **Starter**, **HQ Workforce** ($500/month per workspace), and
324
324
  **Enterprise**.
325
325
 
326
- Starter is free. It holds up to 5 members and includes 1 integration. MCP,
326
+ Starter is free. It holds up to 5 members and includes 3 integrations. MCP,
327
327
  Atlas, and telemetry are not included. Everything else — knowledge, projects,
328
328
  policies, workers, secrets, vault storage, `hq deploy`, and `hq share` — works
329
329
  the same as on the paid plans.
@@ -29,7 +29,7 @@ Run `hq whoami` and `hq companies list`, and read the "Owner context" block.
29
29
  3. **Their plan, when the flow depends on it.** Check it as
30
30
  `skills/pricing.md` says; never guess it. Inviting people, sharing a
31
31
  connected app and sharing a key are included in every plan (within
32
- Starter's limits of 5 people, 1 connected app and 10 keys). Hosted agents,
32
+ Starter's limits of 5 people, 3 connected apps and 10 keys). Hosted agents,
33
33
  Slack agents included, are not part of Starter: they need HQ Workforce
34
34
  ($500 a month for the company), and then each agent is $100 a month on
35
35
  top. If HQ refuses something or quotes a price, pass that answer on.
@@ -36,7 +36,7 @@ often empty; when it is empty it tells you nothing about the plan.
36
36
  **Starter, free.** For a company getting started:
37
37
 
38
38
  - up to 5 people (invitations not yet accepted count toward the 5)
39
- - 1 connected app
39
+ - 3 connected apps
40
40
  - 10 keys
41
41
  - 10 GB of files and 500 site deploys
42
42
  - no hosted agents (see "Agents" below)
@@ -56,9 +56,9 @@ export interface PlanLimitStatus {
56
56
  export declare const STARTER_MEMBER_TARGET = 5;
57
57
  /**
58
58
  * Starter integration cap quoted when the server did not send a limit.
59
- * One: Starter includes a single integration (US-020 owner decision 11).
59
+ * Three: Starter includes three integrations. Matches the hq-pro server limit.
60
60
  */
61
- export declare const STARTER_INTEGRATION_TARGET = 1;
61
+ export declare const STARTER_INTEGRATION_TARGET = 3;
62
62
  /** Starter secret cap quoted when the server did not send a secrets.limit. */
63
63
  export declare const STARTER_SECRET_TARGET = 10;
64
64
  /** Starter agent cap quoted when the server did not send an agents.limit. */
@@ -44,9 +44,9 @@ export const PLAN_LIMIT_REASONS = [
44
44
  export const STARTER_MEMBER_TARGET = 5;
45
45
  /**
46
46
  * Starter integration cap quoted when the server did not send a limit.
47
- * One: Starter includes a single integration (US-020 owner decision 11).
47
+ * Three: Starter includes three integrations. Matches the hq-pro server limit.
48
48
  */
49
- export const STARTER_INTEGRATION_TARGET = 1;
49
+ export const STARTER_INTEGRATION_TARGET = 3;
50
50
  /** Starter secret cap quoted when the server did not send a secrets.limit. */
51
51
  export const STARTER_SECRET_TARGET = 10;
52
52
  /** Starter agent cap quoted when the server did not send an agents.limit. */
@@ -1,5 +1,11 @@
1
+ import * as fs from 'fs';
2
+ import * as path from 'path';
1
3
  import type { ModulesManifest, ModuleDefinition, ModuleLock, SyncState } from '../types.js';
2
- export declare function findHqRoot(): string;
4
+ export declare function findHqRoot(options?: {
5
+ cwd?: string;
6
+ pathApi?: Pick<typeof path, 'dirname' | 'join'>;
7
+ existsSync?: typeof fs.existsSync;
8
+ }): string;
3
9
  /**
4
10
  * Resolve the manifest path for a given HQ root.
5
11
  *
@@ -5,15 +5,23 @@ import { parseUserYaml } from './user-yaml-error.js';
5
5
  const MANIFEST_FILE = 'modules.yaml';
6
6
  const LOCK_FILE = 'modules.lock';
7
7
  const STATE_FILE = '.hq-sync-state.json';
8
- export function findHqRoot() {
9
- let dir = process.cwd();
10
- while (dir !== '/') {
11
- if (fs.existsSync(path.join(dir, '.claude')) || fs.existsSync(path.join(dir, 'workers'))) {
8
+ export function findHqRoot(options = {}) {
9
+ const cwd = options.cwd ?? process.cwd();
10
+ const pathApi = options.pathApi ?? path;
11
+ const existsSync = options.existsSync ?? fs.existsSync;
12
+ let dir = cwd;
13
+ while (true) {
14
+ const parent = pathApi.dirname(dir);
15
+ // Check the fixed point before looking for markers so POSIX keeps its
16
+ // existing behavior of never checking `/` itself.
17
+ if (parent === dir)
18
+ break;
19
+ if (existsSync(pathApi.join(dir, '.claude')) || existsSync(pathApi.join(dir, 'workers'))) {
12
20
  return dir;
13
21
  }
14
- dir = path.dirname(dir);
22
+ dir = parent;
15
23
  }
16
- return process.cwd();
24
+ return cwd;
17
25
  }
18
26
  /**
19
27
  * Resolve the manifest path for a given HQ root.
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@indigoai-us/hq-cli",
3
- "version": "5.345.53",
3
+ "version": "5.345.54",
4
4
  "description": "HQ by Indigo management CLI — modules and cloud sync",
5
5
  "main": "dist/index.js",
6
6
  "bin": {