@indigoai-us/hq-cli 5.310.0 → 5.311.1

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.
Files changed (97) hide show
  1. package/CHANGELOG.md +20 -0
  2. package/assets/scaffold/core/scripts/jobs-validate.sh +1 -1
  3. package/dist/command-catalog.generated.d.ts +2 -2
  4. package/dist/command-catalog.generated.js +2 -2
  5. package/dist/commands/channels.d.ts +1 -9
  6. package/dist/commands/channels.js +2 -2
  7. package/dist/commands/company-transfer.d.ts +4 -28
  8. package/dist/commands/company-transfer.js +5 -49
  9. package/dist/commands/core-checkpoint-stop-gate-native.d.ts +34 -0
  10. package/dist/commands/core-checkpoint-stop-gate-native.js +713 -0
  11. package/dist/commands/core-checkpoint.d.ts +0 -24
  12. package/dist/commands/core-checkpoint.js +4 -4
  13. package/dist/commands/core-command-catalog.js +1 -1
  14. package/dist/commands/core-delegate-w1b.js +111 -14
  15. package/dist/commands/core-delegate.d.ts +9 -0
  16. package/dist/commands/core-delegate.js +44 -23
  17. package/dist/commands/core-hq-session-native.d.ts +39 -0
  18. package/dist/commands/core-hq-session-native.js +579 -0
  19. package/dist/commands/core-jobs-native.js +1 -4
  20. package/dist/commands/core-native-session-flag.d.ts +4 -0
  21. package/dist/commands/core-native-session-flag.js +7 -0
  22. package/dist/commands/core-native-worker-skills-flag.d.ts +4 -0
  23. package/dist/commands/core-native-worker-skills-flag.js +7 -0
  24. package/dist/commands/core-worker-lint-native.d.ts +4 -0
  25. package/dist/commands/core-worker-lint-native.js +160 -0
  26. package/dist/commands/core-worker-share-native.d.ts +5 -0
  27. package/dist/commands/core-worker-share-native.js +260 -0
  28. package/dist/commands/core-worker-skills-command.d.ts +8 -0
  29. package/dist/commands/core-worker-skills-command.js +33 -0
  30. package/dist/commands/core-worker-skills-runtime.d.ts +33 -0
  31. package/dist/commands/core-worker-skills-runtime.js +86 -0
  32. package/dist/commands/core.js +4 -2
  33. package/dist/commands/dm.d.ts +3 -7
  34. package/dist/commands/dm.js +3 -3
  35. package/dist/commands/integrations-core.d.ts +2 -0
  36. package/dist/commands/integrations-core.js +4 -0
  37. package/dist/commands/integrations-import.d.ts +1 -1
  38. package/dist/commands/integrations-import.js +34 -19
  39. package/dist/commands/integrations.js +2 -2
  40. package/dist/commands/lanes-accounts.js +3 -1
  41. package/dist/commands/lanes-message.js +84 -10
  42. package/dist/commands/lanes-shared.d.ts +4 -1
  43. package/dist/commands/lanes.d.ts +4 -1
  44. package/dist/commands/lanes.js +48 -7
  45. package/dist/commands/personal-connector-settings-flag.d.ts +4 -0
  46. package/dist/commands/personal-connector-settings-flag.js +7 -0
  47. package/dist/commands/report.d.ts +1 -26
  48. package/dist/commands/report.js +6 -6
  49. package/dist/fast-core.js +15 -2
  50. package/dist/fast-scaffold.js +25 -2
  51. package/dist/index.js +8 -0
  52. package/dist/lib/bot/continuity.d.ts +2 -1
  53. package/dist/lib/bot/job-completions.d.ts +0 -2
  54. package/dist/lib/bot/job-completions.js +2 -2
  55. package/dist/lib/bot/local-config.d.ts +0 -10
  56. package/dist/lib/bot/local-config.js +3 -9
  57. package/dist/lib/bot/owner-context.d.ts +2 -6
  58. package/dist/lib/bot/owner-context.js +3 -3
  59. package/dist/lib/bot/setup-explain.d.ts +0 -4
  60. package/dist/lib/bot/setup-explain.js +2 -2
  61. package/dist/lib/daemon/catalog.d.ts +3 -2
  62. package/dist/lib/daemon/hq-cloud.d.ts +2 -2
  63. package/dist/lib/daemon/hq-cloud.js +1 -1
  64. package/dist/lib/daemon/machine-type.d.ts +3 -4
  65. package/dist/lib/daemon/machine-type.js +2 -2
  66. package/dist/lib/daemon/remote-control.d.ts +0 -1
  67. package/dist/lib/daemon/remote-control.js +1 -1
  68. package/dist/lib/daemon/supervisor.d.ts +4 -9
  69. package/dist/lib/daemon/supervisor.js +5 -5
  70. package/dist/lib/lanes/admission-host.d.ts +3 -0
  71. package/dist/lib/lanes/admission-host.js +4 -0
  72. package/dist/lib/lanes/autopilot-registry.d.ts +62 -0
  73. package/dist/lib/lanes/autopilot-registry.js +192 -0
  74. package/dist/lib/lanes/autopilot.d.ts +2 -0
  75. package/dist/lib/lanes/autopilot.js +18 -5
  76. package/dist/lib/lanes/claude-balance.d.ts +6 -0
  77. package/dist/lib/lanes/claude-balance.js +17 -2
  78. package/dist/lib/lanes/keep-alive.d.ts +3 -0
  79. package/dist/lib/lanes/keep-alive.js +3 -0
  80. package/dist/lib/lanes/reconcile.js +14 -6
  81. package/dist/lib/lanes/spawn.js +2 -0
  82. package/dist/lib/mesh/live/daemon/credentials.d.ts +2 -17
  83. package/dist/lib/mesh/live/daemon/credentials.js +9 -9
  84. package/dist/lib/mesh/live/daemon/index.d.ts +5 -5
  85. package/dist/lib/mesh/live/daemon/index.js +2 -2
  86. package/dist/lib/mesh/live/daemon/state.d.ts +1 -1
  87. package/dist/lib/mesh/live/daemon/transcript-watch.d.ts +4 -11
  88. package/dist/lib/mesh/live/daemon/transcript-watch.js +5 -5
  89. package/dist/lib/work-context/company.d.ts +2 -25
  90. package/dist/lib/work-context/company.js +3 -3
  91. package/dist/lib/work-context/config.d.ts +3 -8
  92. package/dist/lib/work-context/config.js +2 -13
  93. package/dist/lib/work-context/state.d.ts +4 -13
  94. package/dist/lib/work-context/state.js +2 -30
  95. package/dist/utils/run-bundled-script.d.ts +6 -0
  96. package/dist/utils/run-bundled-script.js +14 -3
  97. package/package.json +1 -1
package/CHANGELOG.md CHANGED
@@ -2,7 +2,26 @@
2
2
 
3
3
  ## [Unreleased]
4
4
 
5
+ ## [5.311.1] — 2026-10-01
6
+ - Preserve shell-compatible diagnostics when delegate pickup receives a malformed manifest.
7
+ - Print URLs returned by `hq integrations call` without redacting their paths or query values. Other integration JSON output keeps its existing URL redaction.
8
+
9
+ ## [5.311.0] — 2026-10-01
10
+ - Add native `hq core hq-session` and `checkpoint-stop-gate` handlers on the fast route behind the default-off `core-native-session` flag, retaining bundled shell rollback companions.
11
+
12
+ - Claude lane account selection now skips accounts held for the lane's model and preserves the quota reset details when no eligible account is available.
13
+ - Require a latency regression to recur across benchmark rounds before failing the fast-route gate.
14
+ - Detect inline private keys when validating job definitions.
15
+ - Deliver each Outpost its own lead autopilot registry rows from the primary reconcile pass, and report a missing or stale registry on the Outpost.
16
+ - Add an opt-in, default-off hq-flags gate that lets the first keep-alive retry after a done turn run after a 30-second settle while preserving later backoff.
17
+ - Add the default-off cli.personal-connector-settings flag to store imported local connector manifests in the personal vault instead of the company vault.
18
+
5
19
  ## [5.310.0] — 2026-10-01
20
+ - Move directly controlled Linux CI checks to ARM runners where their tools support ARM.
21
+ - Lead autopilot resolves a lead's company through its project when the lane record does not carry a company, and skips project paths registered to a different company.
22
+ - Install-tree recovery errors now report bounded sibling, target, version-gate phase, and updater-liveness enums.
23
+
24
+ ## [5.309.1] — 2026-10-01
6
25
  - Fixed `hq agents rm` to remove external agents through revoke rather than the hosted-agent teardown path.
7
26
 
8
27
  - Wait for asynchronous integration approvals to reach a terminal queue state and report pending work accurately.
@@ -10,6 +29,7 @@
10
29
  - Add privacy-safe qmd exit diagnostics to Sentry reports.
11
30
 
12
31
  - `hq files delete` help now explains exact-key and wildcard-prefix matching.
32
+ - Add native `hq core worker lint` and `hq core worker share` behind the default-off `core-native-worker-skills` gate.
13
33
 
14
34
  - Port `hq core dm-bind` and `hq core work-mesh-bind-trusted` to native TypeScript behind `core-native-utilities`, retaining the bundled-script fallback.
15
35
 
@@ -145,7 +145,7 @@ scan_string_for_secrets() {
145
145
  for entry in "${SECRET_PATTERNS[@]}"; do
146
146
  pattern="${entry%%:*}"
147
147
  name="${entry#*:}"
148
- if grep -Eq "$pattern" "$tmp" 2>/dev/null; then
148
+ if grep -Eq -e "$pattern" "$tmp" 2>/dev/null; then
149
149
  err "$file" "$field" "inline credential-shaped value matched pattern '$name' (names only; never values)"
150
150
  fi
151
151
  done
@@ -2881,7 +2881,7 @@ export declare const COMMAND_CATALOG: readonly [{
2881
2881
  readonly subcommands: readonly [];
2882
2882
  }, {
2883
2883
  readonly name: "import";
2884
- readonly description: "Import Claude Desktop connectors into company Integrations";
2884
+ readonly description: "Import Claude Desktop connectors into HQ Integrations";
2885
2885
  readonly aliases: readonly [];
2886
2886
  readonly hidden: false;
2887
2887
  readonly usage: "[options]";
@@ -2905,7 +2905,7 @@ export declare const COMMAND_CATALOG: readonly [{
2905
2905
  readonly subcommands: readonly [];
2906
2906
  }, {
2907
2907
  readonly name: "install-local";
2908
- readonly description: "Register a company-shared local connector in this machine's Claude/Codex MCP config";
2908
+ readonly description: "Install local connector settings in this machine's Claude/Codex MCP config";
2909
2909
  readonly aliases: readonly [];
2910
2910
  readonly hidden: false;
2911
2911
  readonly usage: "[options] <name>";
@@ -3692,7 +3692,7 @@ export const COMMAND_CATALOG = [
3692
3692
  },
3693
3693
  {
3694
3694
  "name": "import",
3695
- "description": "Import Claude Desktop connectors into company Integrations",
3695
+ "description": "Import Claude Desktop connectors into HQ Integrations",
3696
3696
  "aliases": [],
3697
3697
  "hidden": false,
3698
3698
  "usage": "[options]",
@@ -3723,7 +3723,7 @@ export const COMMAND_CATALOG = [
3723
3723
  },
3724
3724
  {
3725
3725
  "name": "install-local",
3726
- "description": "Register a company-shared local connector in this machine's Claude/Codex MCP config",
3726
+ "description": "Install local connector settings in this machine's Claude/Codex MCP config",
3727
3727
  "aliases": [],
3728
3728
  "hidden": false,
3729
3729
  "usage": "[options] <name>",
@@ -1,5 +1,5 @@
1
1
  import { Command } from "commander";
2
- import { type CallerIdentity, type ChannelMember, type ChannelSummary } from "./dm.js";
2
+ import { type ChannelSummary } from "./dm.js";
3
3
  /**
4
4
  * Human label for a channel row. Named channels (personal/company) show their
5
5
  * name + a `hq dm <slug>` hint; unnamed group DMs are identified by their
@@ -12,13 +12,5 @@ export declare function describeChannel(c: ChannelSummary): string;
12
12
  * fetched list) so the formatting is unit-testable without network/auth.
13
13
  */
14
14
  export declare function formatChannelsList(channels: ChannelSummary[]): string;
15
- /**
16
- * Remove the caller from a channel roster before it is used for mentions.
17
- * Machine principals identify themselves with the JWT uid; human sessions can
18
- * also match the roster's email when the uid claim is absent.
19
- */
20
- export declare function excludeCallerFromChannelMembers(members: ChannelMember[], caller: CallerIdentity): ChannelMember[];
21
- /** Render the roster as either dm-bind's tab-separated format or JSON. */
22
- export declare function formatChannelMembers(members: ChannelMember[], json: boolean): string;
23
15
  export declare function registerChannelsCommand(program: Command): void;
24
16
  //# sourceMappingURL=channels.d.ts.map
@@ -47,7 +47,7 @@ export function formatChannelsList(channels) {
47
47
  * Machine principals identify themselves with the JWT uid; human sessions can
48
48
  * also match the roster's email when the uid claim is absent.
49
49
  */
50
- export function excludeCallerFromChannelMembers(members, caller) {
50
+ function excludeCallerFromChannelMembers(members, caller) {
51
51
  return members.filter((member) => {
52
52
  if (caller.personUid && member.personUid === caller.personUid)
53
53
  return false;
@@ -60,7 +60,7 @@ export function excludeCallerFromChannelMembers(members, caller) {
60
60
  });
61
61
  }
62
62
  /** Render the roster as either dm-bind's tab-separated format or JSON. */
63
- export function formatChannelMembers(members, json) {
63
+ function formatChannelMembers(members, json) {
64
64
  if (json)
65
65
  return JSON.stringify(members);
66
66
  return members
@@ -38,23 +38,15 @@ import { type ActiveMember } from "./members.js";
38
38
  * confirmation prompt behind an injectable seam so tests can drive it.
39
39
  */
40
40
  /** The four write transitions the server accepts. */
41
- export declare const TRANSFER_ACTIONS: readonly ["initiate", "accept", "decline", "cancel"];
42
- export type TransferAction = (typeof TRANSFER_ACTIONS)[number];
41
+ type TransferAction = "initiate" | "accept" | "decline" | "cancel";
43
42
  /**
44
43
  * Legal `--initiator-role` values. `owner` is deliberately absent: a handover
45
44
  * where the outgoing owner keeps `owner` is not a handover. `remove` is the
46
45
  * ONLY value that takes them off the company, and it can only ever arrive from
47
46
  * an explicit flag.
48
47
  */
49
- export declare const INITIATOR_ROLE_VALUES: readonly ["admin", "member", "guest", "remove"];
48
+ declare const INITIATOR_ROLE_VALUES: readonly ["admin", "member", "guest", "remove"];
50
49
  export type InitiatorRoleFlag = (typeof INITIATOR_ROLE_VALUES)[number];
51
- /**
52
- * What the SERVER falls back to when `initiatorRole` is absent. Mirrored here
53
- * only so the confirmation preview can tell the operator what will happen; the
54
- * CLI never puts this value on the wire, because sending it would defeat the
55
- * point of leaving the field absent.
56
- */
57
- export declare const DEFAULT_INITIATOR_ROLE = "admin";
58
50
  /** A response field's presence, kept separate from its value. */
59
51
  export interface WireRead<T = unknown> {
60
52
  present: boolean;
@@ -86,19 +78,6 @@ export interface TransferBodyParams {
86
78
  transferId?: string;
87
79
  reason?: string;
88
80
  }
89
- /**
90
- * The wire prefix that turns `POST /membership/role` into a transfer request.
91
- * Mirrors the server's `TRANSFER_ACTION_PREFIX` in `_ownership-transfer.ts`:
92
- * a body whose `action` starts with `transfer-` is a transfer; anything else
93
- * (including no `action` at all) is an ordinary role change.
94
- */
95
- export declare const TRANSFER_ACTION_PREFIX = "transfer-";
96
- /**
97
- * The query discriminator on `GET /membership/company/{companyUid}` that
98
- * selects the transfer surface instead of the member roster. Mirrors the
99
- * server's `TRANSFER_HISTORY_VIEW` (exact match on the server side).
100
- */
101
- export declare const TRANSFER_HISTORY_VIEW = "transfers";
102
81
  /**
103
82
  * Build the `POST /membership/role` transfer body. The CLI-side `action`
104
83
  * ("initiate" | …) is prefixed to the wire discriminator ("transfer-initiate"
@@ -127,7 +106,7 @@ export declare function describeInitiatorOutcome(role: InitiatorRoleFlag | undef
127
106
  */
128
107
  export declare function describeEffects(rawEffects: unknown): string[];
129
108
  /** Injectable yes/no confirmation seam (stubbed in tests). */
130
- export type ConfirmFn = (message: string) => Promise<boolean>;
109
+ type ConfirmFn = (message: string) => Promise<boolean>;
131
110
  /**
132
111
  * The real prompt. Refuses (rather than assuming yes) when stdin is not a TTY,
133
112
  * so a transfer can never be initiated or accepted by a pipeline that simply
@@ -145,10 +124,6 @@ export declare function realConfirm(message: string): Promise<boolean>;
145
124
  * who is already an active member.
146
125
  */
147
126
  export declare function matchMemberTarget(members: ActiveMember[], target: string): ActiveMember | undefined;
148
- export declare function resolveTargetPersonUid(token: string, companyUid: string, target: string): Promise<{
149
- personUid: string;
150
- label: string;
151
- }>;
152
127
  export interface TransferDeps {
153
128
  confirm?: ConfirmFn;
154
129
  }
@@ -182,4 +157,5 @@ export interface RunTransferStatusParams {
182
157
  /** `hq company transfer status` — the pending nomination plus the audit trail. */
183
158
  export declare function runCompanyTransferStatus(params: RunTransferStatusParams): Promise<void>;
184
159
  export declare function registerCompanyTransferCommand(company: Command, deps?: TransferDeps): void;
160
+ export {};
185
161
  //# sourceMappingURL=company-transfer.d.ts.map
@@ -3,57 +3,13 @@ import * as readline from "node:readline";
3
3
  import { ensureCognitoToken } from "../utils/cognito-session.js";
4
4
  import { vaultApiFetch, getEntityUid } from "../utils/vault-api.js";
5
5
  import { listActiveMembers } from "./members.js";
6
- /**
7
- * `hq company transfer` — company ownership handover (client-service-pack
8
- * US-010). The server adds ZERO new API routes (vault-api-hq-prod sits at the
9
- * 600-route quota), so the CLI half multiplexes onto two EXISTING routes:
10
- *
11
- * - WRITES ride `POST /membership/role` with a body discriminator
12
- * `action: "transfer-initiate" | "transfer-accept" | "transfer-decline" |
13
- * "transfer-cancel"`. The ordinary role payload has never carried an
14
- * `action` field, so the shapes cannot collide.
15
- * - The READ rides `GET /membership/company/{companyUid}?view=transfers`;
16
- * without that exact `view` value the route returns the member roster as
17
- * before.
18
- *
19
- * TWO-PARTY BY CONSTRUCTION. `initiate` NOMINATES; it does not transfer
20
- * anything. Ownership moves only when the nominee runs `accept`. The four write
21
- * transitions (initiate / accept / decline / cancel) all multiplex through one
22
- * POST with an explicit `action`, matching the server's route shape.
23
- *
24
- * ABSENT-FIELD DISCIPLINE (policy `hq-absent-field-never-means-constraining-value`).
25
- * This flow spans two repos that deploy in EITHER order, so absence is load
26
- * bearing in both directions and is handled in both directions here:
27
- *
28
- * - REQUESTS: a flag the operator did not pass is OMITTED from the body — it
29
- * is never defaulted to a value on the wire. `--initiator-role` unset sends
30
- * no `initiatorRole` at all, so the server applies its own reversible
31
- * "keep them as admin" default; the CLI can therefore never turn silence
32
- * into `remove`. Same for `--transfer-id` (absent = "the pending one").
33
- * - RESPONSES: fields are read with presence and value SEPARATELY
34
- * ({@link readWireField}), because an OLDER server omits fields a newer CLI
35
- * knows about. An absent `effects.initiator` renders as "not reported",
36
- * never as "removed" — the CLI must not narrate a destructive outcome it
37
- * was never actually told about.
38
- *
39
- * Conventions mirror `company.ts` / `files.ts`: ensureCognitoToken() →
40
- * getEntityUid() → vaultApiFetch() → error-check → chalk output, with the
41
- * confirmation prompt behind an injectable seam so tests can drive it.
42
- */
43
- /** The four write transitions the server accepts. */
44
- export const TRANSFER_ACTIONS = [
45
- "initiate",
46
- "accept",
47
- "decline",
48
- "cancel",
49
- ];
50
6
  /**
51
7
  * Legal `--initiator-role` values. `owner` is deliberately absent: a handover
52
8
  * where the outgoing owner keeps `owner` is not a handover. `remove` is the
53
9
  * ONLY value that takes them off the company, and it can only ever arrive from
54
10
  * an explicit flag.
55
11
  */
56
- export const INITIATOR_ROLE_VALUES = [
12
+ const INITIATOR_ROLE_VALUES = [
57
13
  "admin",
58
14
  "member",
59
15
  "guest",
@@ -65,7 +21,7 @@ export const INITIATOR_ROLE_VALUES = [
65
21
  * CLI never puts this value on the wire, because sending it would defeat the
66
22
  * point of leaving the field absent.
67
23
  */
68
- export const DEFAULT_INITIATOR_ROLE = "admin";
24
+ const DEFAULT_INITIATOR_ROLE = "admin";
69
25
  /**
70
26
  * Read a field off a server response reporting presence and value SEPARATELY.
71
27
  *
@@ -120,13 +76,13 @@ export function parseInitiatorRole(raw) {
120
76
  * a body whose `action` starts with `transfer-` is a transfer; anything else
121
77
  * (including no `action` at all) is an ordinary role change.
122
78
  */
123
- export const TRANSFER_ACTION_PREFIX = "transfer-";
79
+ const TRANSFER_ACTION_PREFIX = "transfer-";
124
80
  /**
125
81
  * The query discriminator on `GET /membership/company/{companyUid}` that
126
82
  * selects the transfer surface instead of the member roster. Mirrors the
127
83
  * server's `TRANSFER_HISTORY_VIEW` (exact match on the server side).
128
84
  */
129
- export const TRANSFER_HISTORY_VIEW = "transfers";
85
+ const TRANSFER_HISTORY_VIEW = "transfers";
130
86
  /**
131
87
  * Build the `POST /membership/role` transfer body. The CLI-side `action`
132
88
  * ("initiate" | …) is prefixed to the wire discriminator ("transfer-initiate"
@@ -289,7 +245,7 @@ export function matchMemberTarget(members, target) {
289
245
  m.personName?.toLowerCase() === needle ||
290
246
  m.personUid?.toLowerCase() === needle);
291
247
  }
292
- export async function resolveTargetPersonUid(token, companyUid, target) {
248
+ async function resolveTargetPersonUid(token, companyUid, target) {
293
249
  const trimmed = target.trim();
294
250
  if (PERSON_UID_PATTERN.test(trimmed) || AGENT_UID_PATTERN.test(trimmed)) {
295
251
  return { personUid: trimmed, label: trimmed };
@@ -0,0 +1,34 @@
1
+ export declare const CHECKPOINT_STOP_GATE_ASSET = "core/scripts/checkpoint-stop-gate.sh";
2
+ export type CheckpointStopGateResult = {
3
+ code: number;
4
+ stdout: string;
5
+ stderr: string;
6
+ };
7
+ export type CheckpointStopGateDependencies = {
8
+ env: NodeJS.ProcessEnv;
9
+ now: () => Date;
10
+ readFile: (filePath: string, encoding: BufferEncoding) => string;
11
+ exists: (filePath: string) => boolean;
12
+ isFile: (filePath: string) => boolean;
13
+ isDirectory: (filePath: string) => boolean;
14
+ canRead: (filePath: string) => boolean;
15
+ canWrite: (filePath: string) => boolean;
16
+ mtimeSeconds: (filePath: string) => number;
17
+ mkdir: (directory: string) => void;
18
+ writeFile: (filePath: string, contents: string, mode?: number) => void;
19
+ appendFile: (filePath: string, contents: string) => void;
20
+ rename: (from: string, to: string) => void;
21
+ remove: (filePath: string) => void;
22
+ touch: (filePath: string) => void;
23
+ makeTempPath: () => string;
24
+ commandExists: (name: string, env?: NodeJS.ProcessEnv) => boolean;
25
+ spawnHqDetached: (args: string[], env?: NodeJS.ProcessEnv) => void;
26
+ };
27
+ /** In-process command body with injectable filesystem, clock, PATH, and hq process. */
28
+ export declare function executeCheckpointStopGate(input: string, context: {
29
+ cwd: string;
30
+ hqRoot?: string;
31
+ }, overrides?: Partial<CheckpointStopGateDependencies>): CheckpointStopGateResult;
32
+ /** Signature consumed by the lightweight fast-core dispatcher. */
33
+ export declare function runCheckpointStopGateFast(_argv: readonly string[], stdin: string, cwd: string, hqRoot: string | undefined): Promise<number>;
34
+ //# sourceMappingURL=core-checkpoint-stop-gate-native.d.ts.map