@autohq/cli 0.1.92 → 0.1.94

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.
@@ -19524,12 +19524,12 @@ var AgentBridgeMcpServerConfigSchema = external_exports.object({
19524
19524
  type: external_exports.literal("http"),
19525
19525
  url: external_exports.string().trim().min(1),
19526
19526
  headers: external_exports.record(external_exports.string().trim().min(1), external_exports.string()).optional()
19527
- }).strict();
19527
+ });
19528
19528
  var AgentBridgeClaudeConfigSchema = external_exports.object({
19529
19529
  cwd: external_exports.string().trim().min(1).optional(),
19530
19530
  env: external_exports.record(external_exports.string().trim().min(1), external_exports.string()),
19531
19531
  mcpServers: external_exports.record(external_exports.string().trim().min(1), AgentBridgeMcpServerConfigSchema).optional()
19532
- }).strict();
19532
+ });
19533
19533
  var RuntimeBridgeBootstrapPlaintextSchema = external_exports.object({
19534
19534
  version: external_exports.literal(1),
19535
19535
  outputSeqStart: external_exports.number().int().nonnegative(),
@@ -19540,31 +19540,31 @@ var RuntimeBridgeBootstrapPlaintextSchema = external_exports.object({
19540
19540
  gitCredentials: external_exports.object({
19541
19541
  url: external_exports.string().trim().min(1),
19542
19542
  accessToken: external_exports.string().trim().min(1)
19543
- }).strict().optional()
19544
- }).strict();
19543
+ }).optional()
19544
+ });
19545
19545
  var RuntimeBridgeEncryptedBootstrapSchema = external_exports.object({
19546
19546
  version: external_exports.literal(1),
19547
19547
  ciphertext: external_exports.string().trim().min(1),
19548
19548
  iv: external_exports.string().trim().min(1),
19549
19549
  authTag: external_exports.string().trim().min(1),
19550
19550
  salt: external_exports.string().trim().min(1)
19551
- }).strict();
19551
+ });
19552
19552
  var RuntimeBridgeBootstrapEnvelopeSchema = external_exports.object({
19553
19553
  runId: SessionRunIdSchema,
19554
19554
  runtimeId: RuntimeIdSchema,
19555
19555
  bridgeLeaseId: RuntimeBridgeLeaseIdSchema,
19556
19556
  bootstrap: RuntimeBridgeEncryptedBootstrapSchema
19557
- }).strict();
19557
+ });
19558
19558
  var RuntimeBridgeBootstrapAckSchema = external_exports.object({
19559
19559
  status: external_exports.enum(["ready", "failed"]),
19560
19560
  error: external_exports.string().trim().min(1).optional(),
19561
19561
  at: external_exports.string().datetime()
19562
- }).strict();
19562
+ });
19563
19563
  var RuntimeBridgeConnectedPayloadSchema = external_exports.object({
19564
19564
  runId: SessionRunIdSchema,
19565
19565
  runtimeId: RuntimeIdSchema,
19566
19566
  bridgeLeaseId: RuntimeBridgeLeaseIdSchema
19567
- }).strict();
19567
+ });
19568
19568
  var RuntimeBridgeCommandDeliverySchema = external_exports.object({
19569
19569
  type: external_exports.literal("command.delivery"),
19570
19570
  deliveryId: external_exports.string().trim().min(1),
package/dist/index.js CHANGED
@@ -20276,22 +20276,26 @@ async function createOAuthLoopbackCallback(input) {
20276
20276
  const error51 = url2.searchParams.get("error");
20277
20277
  if (error51) {
20278
20278
  response.writeHead(400, { "content-type": "text/html; charset=utf-8" });
20279
- response.end(resolveHtml(failureHtml, { code: "" }));
20280
- rejectResult(new Error(error51));
20279
+ endThenSettle(
20280
+ response,
20281
+ resolveHtml(failureHtml, { code: "" }),
20282
+ () => rejectResult(new Error(error51))
20283
+ );
20281
20284
  return;
20282
20285
  }
20283
20286
  const code = url2.searchParams.get("code");
20284
20287
  if (!code) {
20285
20288
  response.writeHead(400, { "content-type": "text/html; charset=utf-8" });
20286
- response.end(
20289
+ endThenSettle(
20290
+ response,
20287
20291
  renderOAuthLoopbackPage({
20288
20292
  status: "failure",
20289
20293
  eyebrow: "Auto",
20290
20294
  title: "Missing authorization code",
20291
20295
  message: "Return to your terminal to retry the authorization flow."
20292
- })
20296
+ }),
20297
+ () => rejectResult(new Error("Missing authorization code"))
20293
20298
  );
20294
- rejectResult(new Error("Missing authorization code"));
20295
20299
  return;
20296
20300
  }
20297
20301
  const result2 = {
@@ -20301,8 +20305,11 @@ async function createOAuthLoopbackCallback(input) {
20301
20305
  state: url2.searchParams.get("state") ?? void 0
20302
20306
  };
20303
20307
  response.writeHead(200, { "content-type": "text/html; charset=utf-8" });
20304
- response.end(resolveHtml(successHtml, result2));
20305
- resolveResult(result2);
20308
+ endThenSettle(
20309
+ response,
20310
+ resolveHtml(successHtml, result2),
20311
+ () => resolveResult(result2)
20312
+ );
20306
20313
  });
20307
20314
  await listenOnPreferredPort(
20308
20315
  server,
@@ -20310,7 +20317,10 @@ async function createOAuthLoopbackCallback(input) {
20310
20317
  );
20311
20318
  const address = server.address();
20312
20319
  return {
20313
- close: () => server.close(),
20320
+ close: () => {
20321
+ server.close();
20322
+ server.closeAllConnections();
20323
+ },
20314
20324
  redirectUri: `http://127.0.0.1:${address.port}${path2}`,
20315
20325
  result
20316
20326
  };
@@ -20480,6 +20490,11 @@ function renderOAuthLoopbackPage(input) {
20480
20490
  function resolveHtml(html, result) {
20481
20491
  return typeof html === "function" ? html(result) : html;
20482
20492
  }
20493
+ function endThenSettle(response, html, settle) {
20494
+ response.once("finish", settle);
20495
+ response.once("close", settle);
20496
+ response.end(html);
20497
+ }
20483
20498
  function escapeHtml(value) {
20484
20499
  return value.replace(/[&<>"']/g, (character) => {
20485
20500
  switch (character) {
@@ -21598,7 +21613,7 @@ var init_package = __esm({
21598
21613
  "package.json"() {
21599
21614
  package_default = {
21600
21615
  name: "@autohq/cli",
21601
- version: "0.1.92",
21616
+ version: "0.1.94",
21602
21617
  license: "SEE LICENSE IN README.md",
21603
21618
  publishConfig: {
21604
21619
  access: "public"
@@ -26974,12 +26989,12 @@ var AgentBridgeMcpServerConfigSchema = external_exports.object({
26974
26989
  type: external_exports.literal("http"),
26975
26990
  url: external_exports.string().trim().min(1),
26976
26991
  headers: external_exports.record(external_exports.string().trim().min(1), external_exports.string()).optional()
26977
- }).strict();
26992
+ });
26978
26993
  var AgentBridgeClaudeConfigSchema = external_exports.object({
26979
26994
  cwd: external_exports.string().trim().min(1).optional(),
26980
26995
  env: external_exports.record(external_exports.string().trim().min(1), external_exports.string()),
26981
26996
  mcpServers: external_exports.record(external_exports.string().trim().min(1), AgentBridgeMcpServerConfigSchema).optional()
26982
- }).strict();
26997
+ });
26983
26998
  var RuntimeBridgeBootstrapPlaintextSchema = external_exports.object({
26984
26999
  version: external_exports.literal(1),
26985
27000
  outputSeqStart: external_exports.number().int().nonnegative(),
@@ -26990,31 +27005,31 @@ var RuntimeBridgeBootstrapPlaintextSchema = external_exports.object({
26990
27005
  gitCredentials: external_exports.object({
26991
27006
  url: external_exports.string().trim().min(1),
26992
27007
  accessToken: external_exports.string().trim().min(1)
26993
- }).strict().optional()
26994
- }).strict();
27008
+ }).optional()
27009
+ });
26995
27010
  var RuntimeBridgeEncryptedBootstrapSchema = external_exports.object({
26996
27011
  version: external_exports.literal(1),
26997
27012
  ciphertext: external_exports.string().trim().min(1),
26998
27013
  iv: external_exports.string().trim().min(1),
26999
27014
  authTag: external_exports.string().trim().min(1),
27000
27015
  salt: external_exports.string().trim().min(1)
27001
- }).strict();
27016
+ });
27002
27017
  var RuntimeBridgeBootstrapEnvelopeSchema = external_exports.object({
27003
27018
  runId: SessionRunIdSchema,
27004
27019
  runtimeId: RuntimeIdSchema,
27005
27020
  bridgeLeaseId: RuntimeBridgeLeaseIdSchema,
27006
27021
  bootstrap: RuntimeBridgeEncryptedBootstrapSchema
27007
- }).strict();
27022
+ });
27008
27023
  var RuntimeBridgeBootstrapAckSchema = external_exports.object({
27009
27024
  status: external_exports.enum(["ready", "failed"]),
27010
27025
  error: external_exports.string().trim().min(1).optional(),
27011
27026
  at: external_exports.string().datetime()
27012
- }).strict();
27027
+ });
27013
27028
  var RuntimeBridgeConnectedPayloadSchema = external_exports.object({
27014
27029
  runId: SessionRunIdSchema,
27015
27030
  runtimeId: RuntimeIdSchema,
27016
27031
  bridgeLeaseId: RuntimeBridgeLeaseIdSchema
27017
- }).strict();
27032
+ });
27018
27033
  var RuntimeBridgeCommandDeliverySchema = external_exports.object({
27019
27034
  type: external_exports.literal("command.delivery"),
27020
27035
  deliveryId: external_exports.string().trim().min(1),
@@ -28869,8 +28884,8 @@ function registerAuthCommands(program, context) {
28869
28884
  program.command("whoami").description("Show the authenticated Auto actor.").action(async () => {
28870
28885
  await handleWhoami(context);
28871
28886
  });
28872
- const auth = program.command("auth").description("Manage Auto authentication.");
28873
- auth.command("login").description("Log in as a user.").option("--api-url <url>", "Auto web server URL").option("--device", "Use device authorization flow").option("--code <code>", "Exchange an existing authorization code").option("--verifier <verifier>", "PKCE verifier for --code").action(async (options) => {
28887
+ const auth = program.command("auth").description("Manage Auto authentication. Defaults to login.");
28888
+ auth.command("login", { isDefault: true }).description("Log in as a user.").option("--api-url <url>", "Auto web server URL").option("--device", "Use device authorization flow").option("--code <code>", "Exchange an existing authorization code").option("--verifier <verifier>", "PKCE verifier for --code").action(async (options) => {
28874
28889
  const globalOptions = program.opts();
28875
28890
  await login({
28876
28891
  options: {
@@ -29949,7 +29964,7 @@ function registerOrganizationCommands(program, context) {
29949
29964
  context.writeOutput(organizationLine(organization));
29950
29965
  }
29951
29966
  });
29952
- orgs.command("create").description("Create an organization, optionally with an initial project.").requiredOption("--name <name>", "Organization name").option("--project-name <name>", "Initial project name").option("--api-url <url>", "Auto API base URL").option("--server <url>", "Auto web server URL").option("--use", "Set the new organization or project as active").action(async (options) => {
29967
+ orgs.command("create").description("Create an organization, optionally with an initial project.").requiredOption("--name <name>", "Organization name").option("--project-name <name>", "Initial project name").option("--api-url <url>", "Auto API base URL").option("--server <url>", "Auto web server URL").option("--use", "Set the new organization or project as active", true).option("--no-use", "Keep the current active organization and project").action(async (options) => {
29953
29968
  const response = await createDirectoryClient(context).createOrganization({
29954
29969
  organizationName: options.name,
29955
29970
  projectName: options.projectName,
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@autohq/cli",
3
- "version": "0.1.92",
3
+ "version": "0.1.94",
4
4
  "license": "SEE LICENSE IN README.md",
5
5
  "publishConfig": {
6
6
  "access": "public"