@autohq/cli 0.1.528 → 0.1.529

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.
@@ -30866,7 +30866,7 @@ Object.assign(lookup, {
30866
30866
  // package.json
30867
30867
  var package_default = {
30868
30868
  name: "@autohq/cli",
30869
- version: "0.1.528",
30869
+ version: "0.1.529",
30870
30870
  license: "SEE LICENSE IN README.md",
30871
30871
  publishConfig: {
30872
30872
  access: "public"
@@ -30954,6 +30954,14 @@ var AgentBridgeTerminalAuthError = class extends Error {
30954
30954
  this.name = "AgentBridgeTerminalAuthError";
30955
30955
  }
30956
30956
  };
30957
+ var AGENT_BRIDGE_TERMINAL_PREPARE_EXIT_CODE = 79;
30958
+ var AgentBridgeTerminalPrepareError = class extends Error {
30959
+ exitCode = AGENT_BRIDGE_TERMINAL_PREPARE_EXIT_CODE;
30960
+ constructor(message, options) {
30961
+ super(message, options);
30962
+ this.name = "AgentBridgeTerminalPrepareError";
30963
+ }
30964
+ };
30957
30965
  var AGENT_BRIDGE_OUTPUT_ACK_TIMEOUT_MS = 1e4;
30958
30966
  var AgentBridgeOutputAckTimeoutError = class extends Error {
30959
30967
  constructor(message) {
@@ -62369,7 +62377,7 @@ async function createClaudeAutoMcpServer(input) {
62369
62377
  const transformed = input.transformDryRun ? transformToolsListResponse(JSON.stringify(listResponse)) : { body: JSON.stringify(listResponse), pathsCompatible: false };
62370
62378
  const listed = JSON.parse(transformed.body);
62371
62379
  if (isRecord(listed.error)) {
62372
- throw new Error(
62380
+ throw new AgentBridgeTerminalPrepareError(
62373
62381
  typeof listed.error.message === "string" ? listed.error.message : `Auto MCP server ${input.name} failed tools/list`
62374
62382
  );
62375
62383
  }
@@ -74292,7 +74300,7 @@ ${cancelledToolPlatformNotice(cancelledToolRuns)}` : text2,
74292
74300
  // configured MCP servers, or whose query failed to attach, skip the gate and
74293
74301
  // fall through to the existing enqueue/error path unchanged.
74294
74302
  async awaitMcpRegistration() {
74295
- if (Object.keys(this.options.mcpServers ?? {}).length === 0) {
74303
+ if (this.gatedMcpServerNames().length === 0) {
74296
74304
  return;
74297
74305
  }
74298
74306
  let query;
@@ -74335,8 +74343,18 @@ ${cancelledToolPlatformNotice(cancelledToolRuns)}` : text2,
74335
74343
  // immediately even while unrelated configured servers remain pending. A
74336
74344
  // timeout or status-read failure returns a distinct not-ready result so the
74337
74345
  // caller closes the session and rejects before first-turn injection.
74346
+ // The gate can only await servers the runtime connects to externally
74347
+ // (stdio/http/sse). SDK-hosted in-process servers have nothing to await —
74348
+ // their tool registry was built synchronously from the prepare-time
74349
+ // tools/list snapshot — and the claude runtime's mcp_status does not report
74350
+ // them at all, so polling for them holds the gate to its timeout on every
74351
+ // turn of a healthy runtime (the 2026-07-21 camfeed retry: repeating
74352
+ // gate_not_ready with an empty status list, zero session output).
74353
+ gatedMcpServerNames() {
74354
+ return Object.entries(this.options.mcpServers ?? {}).filter(([, config2]) => config2.type !== "sdk").map(([name23]) => name23);
74355
+ }
74338
74356
  async pollMcpRegistration(query) {
74339
- const configuredNames = Object.keys(this.options.mcpServers ?? {});
74357
+ const configuredNames = this.gatedMcpServerNames();
74340
74358
  const startedAt = Date.now();
74341
74359
  const deadline = startedAt + CLAUDE_MCP_REGISTRATION_TIMEOUT_MS;
74342
74360
  this.input.writeOutput?.(
package/dist/index.js CHANGED
@@ -78587,7 +78587,7 @@ var init_package = __esm({
78587
78587
  "package.json"() {
78588
78588
  package_default = {
78589
78589
  name: "@autohq/cli",
78590
- version: "0.1.528",
78590
+ version: "0.1.529",
78591
78591
  license: "SEE LICENSE IN README.md",
78592
78592
  publishConfig: {
78593
78593
  access: "public"
@@ -89908,6 +89908,14 @@ var AgentBridgeTerminalAuthError = class extends Error {
89908
89908
  this.name = "AgentBridgeTerminalAuthError";
89909
89909
  }
89910
89910
  };
89911
+ var AGENT_BRIDGE_TERMINAL_PREPARE_EXIT_CODE = 79;
89912
+ var AgentBridgeTerminalPrepareError = class extends Error {
89913
+ exitCode = AGENT_BRIDGE_TERMINAL_PREPARE_EXIT_CODE;
89914
+ constructor(message, options) {
89915
+ super(message, options);
89916
+ this.name = "AgentBridgeTerminalPrepareError";
89917
+ }
89918
+ };
89911
89919
  var AGENT_BRIDGE_OUTPUT_ACK_TIMEOUT_MS = 1e4;
89912
89920
  var AgentBridgeOutputAckTimeoutError = class extends Error {
89913
89921
  constructor(message) {
@@ -90620,7 +90628,7 @@ async function createClaudeAutoMcpServer(input) {
90620
90628
  const transformed = input.transformDryRun ? transformToolsListResponse(JSON.stringify(listResponse)) : { body: JSON.stringify(listResponse), pathsCompatible: false };
90621
90629
  const listed = JSON.parse(transformed.body);
90622
90630
  if (isRecord2(listed.error)) {
90623
- throw new Error(
90631
+ throw new AgentBridgeTerminalPrepareError(
90624
90632
  typeof listed.error.message === "string" ? listed.error.message : `Auto MCP server ${input.name} failed tools/list`
90625
90633
  );
90626
90634
  }
@@ -94351,7 +94359,7 @@ ${cancelledToolPlatformNotice(cancelledToolRuns)}` : text,
94351
94359
  // configured MCP servers, or whose query failed to attach, skip the gate and
94352
94360
  // fall through to the existing enqueue/error path unchanged.
94353
94361
  async awaitMcpRegistration() {
94354
- if (Object.keys(this.options.mcpServers ?? {}).length === 0) {
94362
+ if (this.gatedMcpServerNames().length === 0) {
94355
94363
  return;
94356
94364
  }
94357
94365
  let query;
@@ -94394,8 +94402,18 @@ ${cancelledToolPlatformNotice(cancelledToolRuns)}` : text,
94394
94402
  // immediately even while unrelated configured servers remain pending. A
94395
94403
  // timeout or status-read failure returns a distinct not-ready result so the
94396
94404
  // caller closes the session and rejects before first-turn injection.
94405
+ // The gate can only await servers the runtime connects to externally
94406
+ // (stdio/http/sse). SDK-hosted in-process servers have nothing to await —
94407
+ // their tool registry was built synchronously from the prepare-time
94408
+ // tools/list snapshot — and the claude runtime's mcp_status does not report
94409
+ // them at all, so polling for them holds the gate to its timeout on every
94410
+ // turn of a healthy runtime (the 2026-07-21 camfeed retry: repeating
94411
+ // gate_not_ready with an empty status list, zero session output).
94412
+ gatedMcpServerNames() {
94413
+ return Object.entries(this.options.mcpServers ?? {}).filter(([, config2]) => config2.type !== "sdk").map(([name]) => name);
94414
+ }
94397
94415
  async pollMcpRegistration(query) {
94398
- const configuredNames = Object.keys(this.options.mcpServers ?? {});
94416
+ const configuredNames = this.gatedMcpServerNames();
94399
94417
  const startedAt = Date.now();
94400
94418
  const deadline = startedAt + CLAUDE_MCP_REGISTRATION_TIMEOUT_MS;
94401
94419
  this.input.writeOutput?.(
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@autohq/cli",
3
- "version": "0.1.528",
3
+ "version": "0.1.529",
4
4
  "license": "SEE LICENSE IN README.md",
5
5
  "publishConfig": {
6
6
  "access": "public"