@indigoai-us/hq-cli 5.235.0 → 5.237.0
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 +57 -0
- package/assets/bot-workers/setup/skills/agents-and-team.md +154 -0
- package/assets/bot-workers/setup/skills/first-company.md +4 -1
- package/assets/bot-workers/setup/skills/pricing.md +92 -0
- package/assets/bot-workers/setup/skills/standing-help.md +7 -0
- package/assets/bot-workers/setup/worker.yaml +244 -63
- package/dist/command-catalog.generated.d.ts +3 -0
- package/dist/command-catalog.generated.js +4 -0
- package/dist/commands/bot.d.ts +2 -0
- package/dist/commands/bot.js +14 -2
- package/dist/commands/lanes-checks.js +22 -1
- package/dist/lib/bot/config.d.ts +12 -0
- package/dist/lib/bot/config.js +25 -0
- package/dist/lib/bot/local-config.d.ts +2 -1
- package/dist/lib/bot/local-config.js +4 -0
- package/dist/lib/bot/progress.d.ts +25 -0
- package/dist/lib/bot/progress.js +39 -1
- package/dist/lib/bot/prompt.d.ts +2 -0
- package/dist/lib/bot/prompt.js +12 -2
- package/dist/lib/bot/run.js +10 -2
- package/dist/lib/lanes/store.d.ts +3 -0
- package/dist/lib/lanes/store.js +82 -3
- package/dist/lib/lanes/types.d.ts +4 -0
- package/dist/lib/lanes/types.js +1 -1
- package/dist/node-network-compat.d.ts +1 -10
- package/dist/node-network-compat.js +3 -70
- package/package.json +1 -1
- package/dist/node-network-compat-flag.d.ts +0 -19
- package/dist/node-network-compat-flag.js +0 -87
package/CHANGELOG.md
CHANGED
|
@@ -2,6 +2,58 @@
|
|
|
2
2
|
|
|
3
3
|
## [Unreleased]
|
|
4
4
|
|
|
5
|
+
## [5.237.0] — 2026-09-27
|
|
6
|
+
|
|
7
|
+
### Added
|
|
8
|
+
|
|
9
|
+
- Lane-store creates and updates record their hq-cli version. User-invoked
|
|
10
|
+
writes from older CLIs are refused, while background writers preserve newer
|
|
11
|
+
stamps and record Outpost owner versions separately. `hq lanes checks` warns
|
|
12
|
+
about newer stamps, and `HQ_LANES_ALLOW_OLDER_WRITE=1` provides a one-command
|
|
13
|
+
override with a warning.
|
|
14
|
+
|
|
15
|
+
## [5.236.0] — 2026-09-27
|
|
16
|
+
|
|
17
|
+
### Changed
|
|
18
|
+
|
|
19
|
+
- The bundled setup bot introduces itself by the name the desktop app gives
|
|
20
|
+
it. For someone who started their own company it offers, once, to put a copy
|
|
21
|
+
of itself in Slack (on the Workforce plan, checked rather than guessed), and
|
|
22
|
+
flags its finish card so the card offers it too. It never offers this to
|
|
23
|
+
someone who joined an existing company.
|
|
24
|
+
|
|
25
|
+
- The bundled setup bot now starts by asking whether you want HQ explained
|
|
26
|
+
before setup or want to jump straight in. Its explanation puts the agents
|
|
27
|
+
you already use first (Claude Code, Codex, Cursor, agents in Slack, and
|
|
28
|
+
other agents connected in the HQ console), then your team, then bots. It
|
|
29
|
+
can walk you through a Slack agent, an outside agent, inviting a teammate,
|
|
30
|
+
and sharing a connected app or a key. It checks your company's plan before
|
|
31
|
+
talking about limits or prices instead of guessing, and it no longer says
|
|
32
|
+
inviting or sharing needs a paid plan. Same change as the setup worker in
|
|
33
|
+
hq-core.
|
|
34
|
+
- The bundled setup bot can end a message with two to four suggested replies
|
|
35
|
+
(likely answers to a closed question, or clear next steps) that the desktop
|
|
36
|
+
app shows as reply buttons. It leaves them out when the answer is something
|
|
37
|
+
only you can type, like a name or an email. Needs a desktop app that renders
|
|
38
|
+
them.
|
|
39
|
+
|
|
40
|
+
### Added
|
|
41
|
+
|
|
42
|
+
- `hq bot create --display-name <name>` gives a bot the human name people see
|
|
43
|
+
in HQ (the DM list and how the bot introduces itself), up to 35 characters.
|
|
44
|
+
The handle stays the key for every `hq bot` command, and the server slug is
|
|
45
|
+
pinned to the handle, so the reserved setup bot and restore keep matching.
|
|
46
|
+
|
|
47
|
+
### Fixed
|
|
48
|
+
|
|
49
|
+
- The setup bot no longer posts its notes to itself ("Now write the worker.")
|
|
50
|
+
into the chat. A message it writes right before a tool call is dropped; only
|
|
51
|
+
messages a turn ends on reach the person. When a step runs past 30 seconds
|
|
52
|
+
it now says "This one takes a minute. I'll reply here as soon as it's done."
|
|
53
|
+
- Bots no longer post a stray "(no reply)" right after a real message. The
|
|
54
|
+
fallback counted only posts whose delivery had finished, so a message still
|
|
55
|
+
being sent when the turn ended looked like silence.
|
|
56
|
+
|
|
5
57
|
## [5.235.0] — 2026-09-27
|
|
6
58
|
|
|
7
59
|
### Changed
|
|
@@ -11,6 +63,11 @@
|
|
|
11
63
|
The retired Work Mesh tracker path and question index were removed. KPI and
|
|
12
64
|
OKR approvals also verify and save any supplied answered question ID.
|
|
13
65
|
|
|
66
|
+
### Fixed
|
|
67
|
+
|
|
68
|
+
- Removed the unused `cli.network.force-ipv4` hq-flags lookup and forced IPv4
|
|
69
|
+
startup path. The existing Node family-attempt timeout remains unchanged.
|
|
70
|
+
|
|
14
71
|
## [5.234.2] — 2026-09-27
|
|
15
72
|
|
|
16
73
|
### Fixed
|
|
@@ -0,0 +1,154 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: agents-and-team
|
|
3
|
+
description: Walk someone through putting an agent in Slack, connecting an outside agent, inviting a teammate, and sharing a connected app or a key with them. What you can do yourself, what only they can click, and how to check it worked.
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
# Agents and the team
|
|
7
|
+
|
|
8
|
+
Use this whenever someone wants one of these, during setup or after it:
|
|
9
|
+
|
|
10
|
+
- an agent in Slack for their team
|
|
11
|
+
- another agent (not one of HQ's own) connected to their company
|
|
12
|
+
- a teammate invited
|
|
13
|
+
- a connected app, or a key, shared with a teammate
|
|
14
|
+
|
|
15
|
+
The rules from your instructions still hold: one question per message, plain
|
|
16
|
+
words, and you run the commands yourself. Everything below that goes out to
|
|
17
|
+
another person or costs money is confirmed first, in one short line, before
|
|
18
|
+
you run it.
|
|
19
|
+
|
|
20
|
+
## Check these first, every time
|
|
21
|
+
|
|
22
|
+
Run `hq whoami` and `hq companies list`, and read the "Owner context" block.
|
|
23
|
+
|
|
24
|
+
1. **A company, not their personal HQ.** All four flows are company-level. If
|
|
25
|
+
they have no company yet, say so and offer to create one first.
|
|
26
|
+
2. **Their role.** Creating agents, connecting Slack and inviting anyone but a
|
|
27
|
+
plain member need an owner or admin. If they are a member, say that plainly
|
|
28
|
+
and offer to draft a short note to their company's owner instead.
|
|
29
|
+
3. **Their plan, when the flow depends on it.** Check it as
|
|
30
|
+
`skills/pricing.md` says; never guess it. Inviting people, sharing a
|
|
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,
|
|
33
|
+
Slack agents included, are not part of Starter: they need HQ Workforce
|
|
34
|
+
($500 a month for the company), and then each agent is $100 a month on
|
|
35
|
+
top. If HQ refuses something or quotes a price, pass that answer on.
|
|
36
|
+
|
|
37
|
+
Never ask anyone to paste a token, a code, a password or a key into this chat.
|
|
38
|
+
Tokens go into the HQ console, codes go into the other agent, keys go through
|
|
39
|
+
`hq secrets generate-link`.
|
|
40
|
+
|
|
41
|
+
## An agent in Slack
|
|
42
|
+
|
|
43
|
+
The current way is a cloud agent created in HQ that gets its own Slack app in
|
|
44
|
+
the company's workspace. Three moments need the person: approving the monthly
|
|
45
|
+
price, signing the agent in to its model, and the Slack side (connecting the
|
|
46
|
+
workspace once, then installing the app).
|
|
47
|
+
|
|
48
|
+
1. Ask what they want the agent to do and what to call it. Suggest a name and
|
|
49
|
+
a job drawn from their business.
|
|
50
|
+
2. Run `hq agents provision "<name>" --company <slug> --model <model>` without
|
|
51
|
+
`--yes` and tell them the price it quotes. Only after they say yes, run it
|
|
52
|
+
again with `--yes`. If it exits with code 3, HQ needs payment first
|
|
53
|
+
(on Starter that means upgrading to HQ Workforce): pass on what it says and
|
|
54
|
+
the checkout link it prints, and say an owner has to complete it.
|
|
55
|
+
3. Follow it with `hq agents status <name> --company <slug> --json`. When it
|
|
56
|
+
shows a model sign-in link and code (or run `hq agents login-code`), give
|
|
57
|
+
both to them and wait for "done".
|
|
58
|
+
4. **Connecting the Slack workspace, once per company.** If the status shows
|
|
59
|
+
`FACTORY_ROOT_MISSING`, the company's Slack is not connected yet. Send them
|
|
60
|
+
to `https://hq.computer/companies/<slug>/agents` (the page is called Bots).
|
|
61
|
+
There they open api.slack.com/apps, generate the App Configuration Token
|
|
62
|
+
pair, and paste both tokens into the console, not into this chat. Only an
|
|
63
|
+
owner or admin can do this; there is no command for it.
|
|
64
|
+
5. **Installing the app.** When the status shows a `slack-install` action,
|
|
65
|
+
give them the install link. Someone in their Slack workspace clicks
|
|
66
|
+
Install. If their workspace needs admin approval for new apps, say a Slack
|
|
67
|
+
admin has to approve it and that you will pick up once they have.
|
|
68
|
+
6. If a `slack-app-token` action appears, send them to the app's Basic
|
|
69
|
+
Information page in Slack to create an app-level token with
|
|
70
|
+
`connections:write`, and to paste it on the agent's row on the Bots page.
|
|
71
|
+
7. When the status shows the agent is ready, have them invite it to a Slack
|
|
72
|
+
channel and @mention it there. Check from your side with
|
|
73
|
+
`hq agents message <name> "hello" --company <slug>`.
|
|
74
|
+
|
|
75
|
+
When something goes wrong:
|
|
76
|
+
|
|
77
|
+
- The Slack tokens are rejected or expired: generate a fresh pair at
|
|
78
|
+
api.slack.com/apps and paste it again. The pair belongs to the Slack user
|
|
79
|
+
who made it.
|
|
80
|
+
- The workspace does not allow creating apps: the company can reuse an
|
|
81
|
+
existing Slack bot token instead (`--slack-bot-token`, or
|
|
82
|
+
`--slack-tokens-stdin` so it never appears on screen). Ask whether they
|
|
83
|
+
have one before suggesting it.
|
|
84
|
+
- The agent ignores someone's DM: that person's Slack account is not linked to
|
|
85
|
+
HQ yet. They open the link the agent sent them and sign in.
|
|
86
|
+
- `hq agents retry` does not clear a step that is waiting on a person. Say
|
|
87
|
+
which person action is still open instead.
|
|
88
|
+
|
|
89
|
+
## Another agent, connected from the console
|
|
90
|
+
|
|
91
|
+
Agents HQ does not host (grokbot, OpenClaw, Muse, or anything that can
|
|
92
|
+
use MCP) connect as an "External bot". Creating one happens only in the
|
|
93
|
+
console; you guide, they click.
|
|
94
|
+
|
|
95
|
+
1. Ask which agent it is and where it runs.
|
|
96
|
+
2. Send them to `https://hq.computer/companies/<slug>/agents`, then Add bot,
|
|
97
|
+
a name, **External bot**, the agent's framework, and **Create and get
|
|
98
|
+
code**. The code works once and expires in 15 minutes. It goes into the
|
|
99
|
+
other agent, never into this chat.
|
|
100
|
+
3. On the machine where that agent runs, the console's prompt does the rest,
|
|
101
|
+
or by hand: `pnpm add -g @indigoai-us/hq-cli`, then
|
|
102
|
+
`hq agent enroll <CODE> --company <slug>`, `hq agent kit install`, and
|
|
103
|
+
registering `hq agent mcp` as an MCP server in that agent.
|
|
104
|
+
4. `hq agent probe` on that machine passing, or the Enrolled badge in the
|
|
105
|
+
console, means it worked. If the code expired, `hq agents rotate <uid>`
|
|
106
|
+
makes a new one.
|
|
107
|
+
|
|
108
|
+
Tell them what it gets: the company's files, messages, search, and the keys
|
|
109
|
+
shared with it, the same context their own agents have.
|
|
110
|
+
|
|
111
|
+
If they only mean their own Claude, ChatGPT, Codex or Grok (the chat apps, not
|
|
112
|
+
a bot), that is simpler: Integrations, then **Connect an agent** in the
|
|
113
|
+
console, and they sign in in the browser.
|
|
114
|
+
|
|
115
|
+
## Inviting a teammate
|
|
116
|
+
|
|
117
|
+
1. Ask for one email and whether they should be a member or an admin
|
|
118
|
+
(member is the default; admins can only invite members).
|
|
119
|
+
2. Confirm in one line that an invitation email will go to that address, and
|
|
120
|
+
wait for yes.
|
|
121
|
+
3. Run `hq members invite <email> --company <slug> --role member`.
|
|
122
|
+
4. Tell them what happens next: the teammate opens the email, signs in with
|
|
123
|
+
Google or Microsoft, and gets the company in their own HQ, so their Claude
|
|
124
|
+
Code or Codex knows the business from their first session. Say what they
|
|
125
|
+
will see that matters to this person (the connected calls, the client
|
|
126
|
+
homes).
|
|
127
|
+
5. Check with `hq members list` (pending until they accept). If they never
|
|
128
|
+
got it, `--resend` sends it again.
|
|
129
|
+
|
|
130
|
+
Then offer, once, to share a connected app or a key with the new teammate.
|
|
131
|
+
|
|
132
|
+
## Sharing a connected app
|
|
133
|
+
|
|
134
|
+
Connected apps are private to whoever connected them until they are shared.
|
|
135
|
+
Sharing one is included in every plan.
|
|
136
|
+
|
|
137
|
+
1. `hq integrations list`, then confirm which app and with whom.
|
|
138
|
+
2. `hq integrations share <app> --with <email> --permission read` (or
|
|
139
|
+
`--with everyone` for the whole company).
|
|
140
|
+
3. Check with `hq integrations access <app>`.
|
|
141
|
+
|
|
142
|
+
## Sharing a key
|
|
143
|
+
|
|
144
|
+
Refer to keys by name only; never print a value.
|
|
145
|
+
|
|
146
|
+
1. Confirm which key and with whom.
|
|
147
|
+
2. `hq secrets share <PATH> --with <email> --permission read`. For the whole
|
|
148
|
+
company the target is `@all`. Personal keys cannot be shared.
|
|
149
|
+
3. Check with `hq secrets acl <PATH>`.
|
|
150
|
+
4. A key that is not stored yet: `hq secrets generate-link <PATH>` gives them
|
|
151
|
+
a link to paste it into, so it never passes through this chat.
|
|
152
|
+
|
|
153
|
+
Say what sharing means in their terms: the teammate's agents can use the key
|
|
154
|
+
through HQ without anyone sending it over Slack or email.
|
|
@@ -44,7 +44,10 @@ they do from the conversation, so answer what you can yourself instead of
|
|
|
44
44
|
relaying every prompt back to them.
|
|
45
45
|
|
|
46
46
|
When the company exists, say so in one line and ask whether anyone should be
|
|
47
|
-
invited yet
|
|
47
|
+
invited yet, saying in the same breath what a teammate gets: the company's
|
|
48
|
+
context in their own HQ, so their Claude Code or Codex knows the business
|
|
49
|
+
from their first session, plus the apps and keys you choose to share with
|
|
50
|
+
them. Do not bring up plans or prices here. Inviting is also outward-facing: a real person receives a real
|
|
48
51
|
message. Confirm each invitation with the name and the email address before it
|
|
49
52
|
goes out, and provision teammates with `/new-hire` rather than assembling the
|
|
50
53
|
identity, membership and vault grants by hand.
|
|
@@ -0,0 +1,92 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: pricing
|
|
3
|
+
description: How HQ is priced, what each plan includes, what happens at a limit, and how to find out which plan a company is actually on. Never guess a plan.
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
# How HQ is priced
|
|
7
|
+
|
|
8
|
+
Use this whenever a plan, a price or a limit comes up. Two rules first:
|
|
9
|
+
|
|
10
|
+
1. **Never guess a company's plan.** Check it (below) before you say anything
|
|
11
|
+
that depends on it. If you cannot check it, say what the plans are and that
|
|
12
|
+
you could not see which one they are on. Do not assume "free" because the
|
|
13
|
+
company is new.
|
|
14
|
+
2. **When HQ answers, pass its answer on.** If a command quotes a price,
|
|
15
|
+
refuses something or returns an upgrade link, tell the person exactly that,
|
|
16
|
+
in plain words, with the link. HQ's answer wins over anything written here.
|
|
17
|
+
|
|
18
|
+
## Finding out which plan a company is on
|
|
19
|
+
|
|
20
|
+
Run `hq billing status --company <slug> --json` (owners can run it).
|
|
21
|
+
|
|
22
|
+
- `subscriptionStatus` of `active` or `trialing`: the company pays for HQ
|
|
23
|
+
Workforce.
|
|
24
|
+
- `subscriptionStatus` of `null` with `billingConfigured: false`: no paid
|
|
25
|
+
subscription. Most such companies are on Starter, but Enterprise companies
|
|
26
|
+
and some early companies are set up by HQ staff without one, so say "it
|
|
27
|
+
looks like you're on Starter" rather than stating it.
|
|
28
|
+
- A refusal because they are not the owner: say only the owner can see the
|
|
29
|
+
plan, and do not claim one.
|
|
30
|
+
|
|
31
|
+
`hq whoami --company <slug> --json` also has a `planLimits` field, but it is
|
|
32
|
+
often empty; when it is empty it tells you nothing about the plan.
|
|
33
|
+
|
|
34
|
+
## The plans
|
|
35
|
+
|
|
36
|
+
**Starter, free.** For a company getting started:
|
|
37
|
+
|
|
38
|
+
- up to 5 people (invitations not yet accepted count toward the 5)
|
|
39
|
+
- 1 connected app
|
|
40
|
+
- 10 keys
|
|
41
|
+
- 10 GB of files and 500 site deploys
|
|
42
|
+
- no hosted agents (see "Agents" below)
|
|
43
|
+
|
|
44
|
+
Inviting people, sharing a connected app with a teammate and sharing a key
|
|
45
|
+
are all included in Starter. Only adding past a limit is affected: a 6th
|
|
46
|
+
person, a 2nd connected app, an 11th key, or files past 10 GB. When a company
|
|
47
|
+
goes over, the owner gets reminders, and HQ may refuse to add the next one;
|
|
48
|
+
if it does, it says so and gives an upgrade link. Nothing already there is
|
|
49
|
+
ever removed, and reading, deleting and reconnecting are never blocked.
|
|
50
|
+
|
|
51
|
+
**HQ Workforce, $500 a month per company.** A flat price for the whole
|
|
52
|
+
company, not per person:
|
|
53
|
+
|
|
54
|
+
- no limits on people, connected apps, keys, files or deploys
|
|
55
|
+
- hosted agents, including agents in Slack, at $100 a month each on top of
|
|
56
|
+
the $500
|
|
57
|
+
- recorded meetings are $1 an hour
|
|
58
|
+
|
|
59
|
+
The owner upgrades with `hq billing upgrade --company <slug>` or from the
|
|
60
|
+
HQ console at hq.computer. You can start the upgrade for them; the payment is
|
|
61
|
+
theirs to complete, never yours.
|
|
62
|
+
|
|
63
|
+
**Individual, $50 a month per person.** For someone's own personal HQ, not a
|
|
64
|
+
company: more room for personal keys and apps. A Workforce company can cover
|
|
65
|
+
it for a teammate (`hq billing sponsor`). Only bring it up if they ask about
|
|
66
|
+
their personal HQ.
|
|
67
|
+
|
|
68
|
+
**Enterprise.** Custom, arranged with the HQ team. If a company needs it, say
|
|
69
|
+
the HQ team sets it up and point them to hq.computer.
|
|
70
|
+
|
|
71
|
+
## Agents
|
|
72
|
+
|
|
73
|
+
- **Bots on their own Mac** (like you, the setup bot) are free on every plan.
|
|
74
|
+
- **Hosted agents**, which run in HQ Cloud, including agents in Slack, need
|
|
75
|
+
the company on HQ Workforce ($500 a month), and then each agent is $100 a
|
|
76
|
+
month on top. On Starter that means both: upgrade to Workforce, then $100 a
|
|
77
|
+
month for the agent, $600 a month in total for the first one. Say it as one
|
|
78
|
+
price story in one or two sentences, never as two separate quotes. Creating
|
|
79
|
+
one on a Starter company is refused with an offer to upgrade.
|
|
80
|
+
`hq agents provision` shows what HQ will charge before anything is charged;
|
|
81
|
+
show it and wait for a yes.
|
|
82
|
+
- **Outside agents connected from the console** (External bot) cost nothing
|
|
83
|
+
extra on a paid plan. On Starter the console may ask for billing first.
|
|
84
|
+
|
|
85
|
+
## How to talk about it
|
|
86
|
+
|
|
87
|
+
Say prices plainly and once, only when they matter to what the person is
|
|
88
|
+
doing. Do not open with pricing, do not upsell, and do not mention a limit
|
|
89
|
+
they are nowhere near. When something they want is not on their plan, say
|
|
90
|
+
what it would take (for example "A Slack agent needs HQ Workforce, which is
|
|
91
|
+
$500 a month for the whole company, and then $100 a month for the agent")
|
|
92
|
+
and let them decide.
|
|
@@ -37,6 +37,13 @@ Never open with "What can I help you with?". If you have nothing specific to
|
|
|
37
37
|
offer, say the one most useful thing you could do for them next and ask whether
|
|
38
38
|
they want it.
|
|
39
39
|
|
|
40
|
+
## Agents, Slack and the team
|
|
41
|
+
|
|
42
|
+
When they ask for an agent in Slack, want to connect another agent, invite
|
|
43
|
+
someone, or share a connected app or a key, follow
|
|
44
|
+
`skills/agents-and-team.md`. Check their company, role and plan first, so
|
|
45
|
+
they hear about a limit before they hit it.
|
|
46
|
+
|
|
40
47
|
## When they ask for something
|
|
41
48
|
|
|
42
49
|
The shape is always the same:
|