@debugbundle/cli 1.5.2 → 1.5.3

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 (2) hide show
  1. package/dist/main.cjs +91 -51
  2. package/package.json +1 -1
package/dist/main.cjs CHANGED
@@ -15985,8 +15985,8 @@ function buildSkill() {
15985
15985
  "When the user reports a bug, runtime failure, production incident, regression, broken deploy, or unknown error, start here before reading arbitrary source files.",
15986
15986
  "",
15987
15987
  "1. Run `debugbundle doctor --json` to learn whether the project is local-only or connected and whether the local scaffold is healthy.",
15988
- "2. If `debugbundle doctor --json` reports `mode=local-only`, start with `debugbundle incidents --source local --status open --json`.",
15989
- "3. If `debugbundle doctor --json` reports `mode=connected` and the target environment is cloud-enabled, check both `debugbundle incidents --source local --status open --json` and `debugbundle incidents --source cloud --status open --json` unless the user explicitly scoped the issue to local-only development. For user-reported production incidents, check cloud incidents after local incidents and explicitly report whether each source had matches.",
15988
+ "2. If `debugbundle doctor --json` reports `mode=local-only`, start with `debugbundle incidents --source local --status active --json`.",
15989
+ "3. If `debugbundle doctor --json` reports `mode=connected` and the target environment is cloud-enabled, check both `debugbundle incidents --source local --status active --json` and `debugbundle incidents --source cloud --status active --json` unless the user explicitly scoped the issue to local-only development. For user-reported production incidents, check cloud incidents after local incidents and explicitly report whether each source had matches.",
15990
15990
  "4. Inspect the chosen incident with `debugbundle inspect <incident-id> --source <local|cloud> --json` and `debugbundle explain <incident-id> --source <local|cloud> --json`.",
15991
15991
  "5. Fetch evidence before editing code: `debugbundle bundle <incident-id> --source <local|cloud> --json` and `debugbundle reproduce <incident-id> --source <local|cloud> --json`.",
15992
15992
  "6. If local SDK or relay events have landed but no bundle exists yet, run `debugbundle process --preset <minimal|balanced|investigative> --json` and then list incidents again.",
@@ -16006,7 +16006,7 @@ function buildSkill() {
16006
16006
  "2. Inspect the incident bundle and reproduction artifact before proposing a fix.",
16007
16007
  "3. Run `debugbundle analyze --type improvement --local` after local processing when you need a deterministic change plan.",
16008
16008
  "4. Apply the narrowest fix, then validate it with the repository test workflow from `.debugbundle/profile.json`.",
16009
- "5. When the fix is confirmed, or when the incident was intentionally generated for smoke, verification, or dogfooding, resolve it with `debugbundle resolve <incident-id> [incident-id ...]` or MCP `resolve_incident` / `resolve_incidents` so the open queue stays actionable.",
16009
+ "5. When the fix is confirmed, or when the incident was intentionally generated for smoke, verification, or dogfooding, resolve it with `debugbundle resolve <incident-id> [incident-id ...]` or MCP `resolve_incident` / `resolve_incidents` so the needs-attention queue stays actionable.",
16010
16010
  "",
16011
16011
  "## Investigation Controls",
16012
16012
  "",
@@ -16118,7 +16118,7 @@ function buildCliReference() {
16118
16118
  "",
16119
16119
  "## Investigation",
16120
16120
  "",
16121
- "- `debugbundle incidents [--source <local|cloud>] [--project-id <id>] [--environment <name>] [--service <name>] [--status <status>] [--severity <severity>] [--cursor <cursor>] [--limit <n>] [--json]`",
16121
+ "- `debugbundle incidents [--source <local|cloud>] [--project-id <id>] [--environment <name>] [--service <name>] [--status <active|open|resolved|regressed|all>] [--severity <severity>] [--cursor <cursor>] [--limit <n>] [--json]`",
16122
16122
  "- `debugbundle inspect <incident-id> [--source <local|cloud>] [--json]`",
16123
16123
  "- `debugbundle explain <incident-id> [--source <local|cloud>] [--json]`",
16124
16124
  "- `debugbundle bundle <incident-id> [--source <local|cloud>] [--json]`",
@@ -16208,15 +16208,15 @@ function buildCliReference() {
16208
16208
  "Review open incidents and resolve the intentionally generated ones:",
16209
16209
  "",
16210
16210
  "```bash",
16211
- "debugbundle incidents --status open --json",
16211
+ "debugbundle incidents --status active --json",
16212
16212
  "debugbundle resolve <incident-id> [incident-id ...]",
16213
- "debugbundle incidents --status open --json",
16213
+ "debugbundle incidents --status active --json",
16214
16214
  "```",
16215
16215
  "",
16216
16216
  "If you want a title-based batch cleanup and have `jq` available:",
16217
16217
  "",
16218
16218
  "```bash",
16219
- "debugbundle incidents --status open --json \\",
16219
+ "debugbundle incidents --status active --json \\",
16220
16220
  ` | jq -r '.incidents[] | select(.title | test("smoke test|dogfood|verification|synthetic"; "i")) | .incident_id' \\`,
16221
16221
  " | xargs debugbundle resolve",
16222
16222
  "```",
@@ -16295,10 +16295,10 @@ function buildMcpReference() {
16295
16295
  "",
16296
16296
  "## Smoke-Test Cleanup Recipe",
16297
16297
  "",
16298
- '1. Call `list_incidents` with `status: "open"`.',
16298
+ '1. Call `list_incidents` with `status: "active"`.',
16299
16299
  "2. Filter incidents whose titles show they were intentionally generated for smoke, dogfood, verification, or synthetic checks.",
16300
16300
  "3. Call `resolve_incidents` for verified synthetic incidents, or `resolve_incident` for a single incident.",
16301
- "4. Call `list_incidents` again and confirm the open queue only contains actionable failures.",
16301
+ "4. Call `list_incidents` again and confirm the needs-attention queue only contains actionable failures.",
16302
16302
  ""
16303
16303
  ].join("\n");
16304
16304
  }
@@ -16881,7 +16881,7 @@ var IncidentReasonSchema = external_exports.object({
16881
16881
  event_type: external_exports.enum(["backend_exception", "frontend_exception", "request_event", "log_event"]),
16882
16882
  event_class: external_exports.literal("incident_signal"),
16883
16883
  matched_policy: external_exports.string()
16884
- }).strict();
16884
+ });
16885
16885
  var IncidentSchema = external_exports.object({
16886
16886
  incident_id: external_exports.string(),
16887
16887
  project_id: external_exports.string(),
@@ -16904,7 +16904,7 @@ var IncidentSchema = external_exports.object({
16904
16904
  regressed_at: external_exports.string().nullable(),
16905
16905
  matched_fields: external_exports.array(external_exports.string()),
16906
16906
  incident_reason: IncidentReasonSchema.optional()
16907
- }).strict();
16907
+ });
16908
16908
  var ImprovementSchema = external_exports.object({
16909
16909
  improvement_id: external_exports.string(),
16910
16910
  project_id: external_exports.string(),
@@ -16934,7 +16934,7 @@ var ImprovementSchema = external_exports.object({
16934
16934
  bundle_created_at: external_exports.string().nullable(),
16935
16935
  bundle_updated_at: external_exports.string().nullable(),
16936
16936
  bundle_failure_reason: external_exports.string().nullable()
16937
- }).strict();
16937
+ });
16938
16938
  var ServiceSchema3 = external_exports.object({
16939
16939
  service_id: external_exports.string(),
16940
16940
  project_id: external_exports.string(),
@@ -16942,37 +16942,37 @@ var ServiceSchema3 = external_exports.object({
16942
16942
  runtime: external_exports.string().nullable(),
16943
16943
  framework: external_exports.string().nullable(),
16944
16944
  environment: external_exports.string()
16945
- }).strict();
16945
+ });
16946
16946
  var LogSchema = external_exports.object({
16947
16947
  event_id: external_exports.string(),
16948
16948
  event_type: external_exports.string(),
16949
16949
  occurred_at: external_exports.string(),
16950
16950
  is_sampled: external_exports.boolean(),
16951
16951
  level: external_exports.string().nullable()
16952
- }).strict();
16952
+ });
16953
16953
  var IncidentsResponseSchema = external_exports.object({
16954
16954
  incidents: external_exports.array(IncidentSchema),
16955
16955
  next_cursor: external_exports.string().nullable().optional()
16956
- }).strict();
16956
+ });
16957
16957
  var IncidentResponseSchema = external_exports.object({
16958
16958
  incident: IncidentSchema
16959
- }).strict();
16959
+ });
16960
16960
  var BulkIncidentResponseSchema = external_exports.object({
16961
16961
  incidents: external_exports.array(IncidentSchema)
16962
- }).strict();
16962
+ });
16963
16963
  var ImprovementResponseSchema = external_exports.object({
16964
16964
  improvement: ImprovementSchema
16965
- }).strict();
16965
+ });
16966
16966
  var IncidentContextArtifactSchema = external_exports.object({
16967
16967
  status: external_exports.enum(["ready", "pending", "failed"]),
16968
16968
  body: external_exports.unknown().optional(),
16969
16969
  reason: external_exports.string().nullable().optional()
16970
- }).strict();
16970
+ });
16971
16971
  var IncidentContextLogsSchema = external_exports.object({
16972
16972
  source: external_exports.enum(["retrieval", "bundle_context", "none"]),
16973
16973
  items: external_exports.array(external_exports.unknown()),
16974
16974
  next_cursor: external_exports.string().nullable()
16975
- }).strict();
16975
+ });
16976
16976
  var IncidentContextDeploySchema = external_exports.object({
16977
16977
  latest_deployment_id: external_exports.string().nullable(),
16978
16978
  commit_sha: external_exports.string().nullable(),
@@ -16980,23 +16980,23 @@ var IncidentContextDeploySchema = external_exports.object({
16980
16980
  branch: external_exports.string().nullable(),
16981
16981
  deployed_at: external_exports.string().nullable(),
16982
16982
  regression_window: external_exports.boolean().nullable()
16983
- }).strict();
16983
+ });
16984
16984
  var IncidentContextGroupingSchema = external_exports.object({
16985
16985
  fingerprint: external_exports.string(),
16986
16986
  fingerprint_version: external_exports.string(),
16987
16987
  matched_fields: external_exports.array(external_exports.string())
16988
- }).strict();
16988
+ });
16989
16989
  var IncidentContextVisibilitySchema = external_exports.object({
16990
16990
  grouping: external_exports.string(),
16991
16991
  bundle_regeneration: external_exports.string(),
16992
16992
  spike_detection: external_exports.string(),
16993
16993
  notification_cooldown: external_exports.string()
16994
- }).strict();
16994
+ });
16995
16995
  var IncidentContextRedactionSchema = external_exports.object({
16996
16996
  redacted: external_exports.boolean(),
16997
16997
  fields: external_exports.array(external_exports.string()),
16998
16998
  notes: external_exports.string().nullable()
16999
- }).strict();
16999
+ });
17000
17000
  var IncidentContextPrimarySignalSchema = external_exports.object({
17001
17001
  kind: IncidentReasonSchema.shape.kind.nullable(),
17002
17002
  event_type: external_exports.string().nullable(),
@@ -17016,7 +17016,14 @@ var IncidentContextPrimarySignalSchema = external_exports.object({
17016
17016
  line: external_exports.number().nullable(),
17017
17017
  function: external_exports.string().nullable()
17018
17018
  }).nullable()
17019
- }).strict();
17019
+ });
17020
+ var IncidentContextBrowserSignalSchema = external_exports.object({
17021
+ browser_event_kind: external_exports.string().nullable(),
17022
+ browser_event_opaque: external_exports.boolean().nullable(),
17023
+ browser_event_message: external_exports.string().nullable(),
17024
+ client_kind: external_exports.enum(["human", "bot", "unknown"]),
17025
+ bot_family: external_exports.string().nullable()
17026
+ });
17020
17027
  var IncidentContextSchema = external_exports.object({
17021
17028
  incident: IncidentSchema,
17022
17029
  incident_reason: IncidentReasonSchema.nullable(),
@@ -17028,22 +17035,23 @@ var IncidentContextSchema = external_exports.object({
17028
17035
  grouping: IncidentContextGroupingSchema,
17029
17036
  visibility: IncidentContextVisibilitySchema,
17030
17037
  redaction: IncidentContextRedactionSchema.nullable(),
17038
+ browser_signal: IncidentContextBrowserSignalSchema.nullable().optional(),
17031
17039
  suggested_next_checks: external_exports.array(external_exports.string())
17032
- }).strict();
17040
+ });
17033
17041
  var ServicesResponseSchema = external_exports.object({
17034
17042
  services: external_exports.array(ServiceSchema3)
17035
- }).strict();
17043
+ });
17036
17044
  var ImprovementsResponseSchema = external_exports.object({
17037
17045
  improvements: external_exports.array(ImprovementSchema),
17038
17046
  next_cursor: external_exports.string().nullable().optional()
17039
- }).strict();
17047
+ });
17040
17048
  var LogsResponseSchema = external_exports.object({
17041
17049
  logs: external_exports.array(LogSchema),
17042
17050
  next_cursor: external_exports.string().nullable().optional()
17043
- }).strict();
17051
+ });
17044
17052
  var PendingStatusSchema = external_exports.object({
17045
17053
  status: external_exports.literal("pending")
17046
- }).strict();
17054
+ });
17047
17055
  var BundleSchema = external_exports.object({
17048
17056
  bundle_version: external_exports.number().int()
17049
17057
  }).passthrough();
@@ -17051,14 +17059,14 @@ var ReproductionArtifactsSchema2 = external_exports.object({
17051
17059
  curl: external_exports.string().nullable().optional(),
17052
17060
  httpie: external_exports.string().nullable().optional(),
17053
17061
  json_spec: external_exports.unknown().nullable().optional()
17054
- }).strict();
17062
+ });
17055
17063
  var ReproductionSchema = external_exports.object({
17056
17064
  possible: external_exports.boolean(),
17057
17065
  confidence: external_exports.number(),
17058
17066
  reason: external_exports.string(),
17059
17067
  artifacts: ReproductionArtifactsSchema2.nullable(),
17060
17068
  feasibility_reference: external_exports.unknown().nullable()
17061
- }).strict();
17069
+ });
17062
17070
  var BundleResponseSchema = external_exports.union([PendingStatusSchema, BundleSchema]);
17063
17071
  var ReproductionResponseSchema = external_exports.union([PendingStatusSchema, ReproductionSchema]);
17064
17072
  var ApiErrorResponseSchema = external_exports.object({
@@ -17385,7 +17393,7 @@ function createRetrievalApi(client) {
17385
17393
  status: external_exports.literal("failed"),
17386
17394
  reason: external_exports.string(),
17387
17395
  related_incident_ids: external_exports.array(external_exports.string()).optional()
17388
- }).strict()
17396
+ })
17389
17397
  ])
17390
17398
  );
17391
17399
  }
@@ -18293,7 +18301,7 @@ var AVAILABILITY_CHECK_BOOTSTRAP_STATEMENTS = [
18293
18301
  method text NOT NULL CHECK (method IN ('GET', 'HEAD')),
18294
18302
  expected_status_min integer NOT NULL DEFAULT 200 CHECK (expected_status_min BETWEEN 100 AND 599),
18295
18303
  expected_status_max integer NOT NULL DEFAULT 399 CHECK (expected_status_max BETWEEN 100 AND 599),
18296
- timeout_ms integer NOT NULL DEFAULT 5000 CHECK (timeout_ms BETWEEN 500 AND 5000),
18304
+ timeout_ms integer NOT NULL DEFAULT 2500 CHECK (timeout_ms BETWEEN 500 AND 5000),
18297
18305
  interval_seconds integer NOT NULL CHECK (interval_seconds >= 30),
18298
18306
  failure_threshold integer NOT NULL DEFAULT 3 CHECK (failure_threshold BETWEEN 1 AND 10),
18299
18307
  recovery_threshold integer NOT NULL DEFAULT 2 CHECK (recovery_threshold BETWEEN 1 AND 10),
@@ -19792,6 +19800,16 @@ var AVAILABILITY_CHECK_STORAGE_SCHEMA_MIGRATIONS = [
19792
19800
  ON availability_check_daily_rollups (project_id, day DESC)
19793
19801
  `
19794
19802
  ]
19803
+ }),
19804
+ defineAvailabilityCheckStorageSchemaMigration({
19805
+ id: "202606180001_lower_availability_check_timeout_default",
19806
+ description: "Lower the database default timeout for newly inserted availability checks while preserving existing rows and the explicit 5000ms maximum.",
19807
+ statements: [
19808
+ `
19809
+ ALTER TABLE availability_checks
19810
+ ALTER COLUMN timeout_ms SET DEFAULT 2500
19811
+ `
19812
+ ]
19795
19813
  })
19796
19814
  ];
19797
19815
 
@@ -20925,6 +20943,9 @@ async function listLocalIncidents(input2, dependencies) {
20925
20943
  if (input2.status === void 0 || input2.status === "all") {
20926
20944
  return true;
20927
20945
  }
20946
+ if (input2.status === "active") {
20947
+ return incident.status === "open";
20948
+ }
20928
20949
  return incident.status === input2.status;
20929
20950
  }).filter((incident) => input2.severity === void 0 ? true : incident.severity === input2.severity).filter((incident) => input2.firstSeenAfter === void 0 ? true : incident.first_seen_at >= input2.firstSeenAfter).sort(sortIncidentsDescending);
20930
20951
  const startIndex = input2.cursor === void 0 ? 0 : incidents.findIndex((incident) => buildCursor(incident) === input2.cursor) + 1;
@@ -21486,6 +21507,7 @@ var ProjectColorTagResponseSchema2 = external_exports.unknown().transform((value
21486
21507
  var ProjectMetricsSchema = external_exports.object({
21487
21508
  open_incidents: external_exports.number().int().nonnegative().default(0),
21488
21509
  regressed_incidents: external_exports.number().int().nonnegative().default(0),
21510
+ attention_incidents_today: external_exports.number().int().nonnegative().default(0),
21489
21511
  opened_incidents_today: external_exports.number().int().nonnegative().default(0),
21490
21512
  opened_incidents_month: external_exports.number().int().nonnegative().default(0),
21491
21513
  monthly_bundle_requests: external_exports.number().int().nonnegative(),
@@ -28379,6 +28401,16 @@ function mapErrorToExitCode2(error) {
28379
28401
  }
28380
28402
  return 1;
28381
28403
  }
28404
+ function formatRetrievalErrorOutput(error) {
28405
+ const message = error instanceof Error ? error.message : String(error);
28406
+ if (error instanceof RetrievalApiError && error.status === 200 && error.code === "invalid_response_shape") {
28407
+ return [
28408
+ message,
28409
+ "The cloud API returned a success response that this CLI version could not parse. Update DebugBundle CLI and retry: npm install -g @debugbundle/cli@latest"
28410
+ ].join("\n");
28411
+ }
28412
+ return message;
28413
+ }
28382
28414
  function formatIncidentTable(incidents) {
28383
28415
  if (incidents.length === 0) {
28384
28416
  return "No incidents found.";
@@ -28485,7 +28517,7 @@ function formatLogsTable(logs) {
28485
28517
  function mapErrorToResult(error) {
28486
28518
  return {
28487
28519
  exitCode: mapErrorToExitCode2(error),
28488
- output: error instanceof Error ? error.message : String(error)
28520
+ output: formatRetrievalErrorOutput(error)
28489
28521
  };
28490
28522
  }
28491
28523
  function mapUnsupportedReopenResult() {
@@ -28573,8 +28605,15 @@ async function mapCombinedIncidentListResult(input2, api, dependencies) {
28573
28605
  function mapAuthOrRetrievalError(error) {
28574
28606
  return mapCliAuthErrorToResult(error) ?? mapErrorToResult(error);
28575
28607
  }
28608
+ function resolveIncidentListStatusFilter(status) {
28609
+ if (status === "all") {
28610
+ return void 0;
28611
+ }
28612
+ return status ?? "active";
28613
+ }
28576
28614
  async function listIncidentsCommand(input2, api) {
28577
28615
  try {
28616
+ const statusFilter = resolveIncidentListStatusFilter(input2.status);
28578
28617
  const requestInput = {
28579
28618
  bearerToken: input2.bearerToken
28580
28619
  };
@@ -28587,8 +28626,8 @@ async function listIncidentsCommand(input2, api) {
28587
28626
  if (input2.service !== void 0) {
28588
28627
  requestInput.service = input2.service;
28589
28628
  }
28590
- if (input2.status !== void 0) {
28591
- requestInput.status = input2.status;
28629
+ if (statusFilter !== void 0) {
28630
+ requestInput.status = statusFilter;
28592
28631
  }
28593
28632
  if (input2.severity !== void 0) {
28594
28633
  requestInput.severity = input2.severity;
@@ -28614,10 +28653,11 @@ async function listIncidentsCommand(input2, api) {
28614
28653
  output: formatIncidentTable(incidents.incidents)
28615
28654
  };
28616
28655
  } catch (error) {
28617
- return { exitCode: mapErrorToExitCode2(error), output: error instanceof Error ? error.message : String(error) };
28656
+ return { exitCode: mapErrorToExitCode2(error), output: formatRetrievalErrorOutput(error) };
28618
28657
  }
28619
28658
  }
28620
28659
  async function listIncidentsWithAuthCommand(input2, dependencies) {
28660
+ const statusFilter = resolveIncidentListStatusFilter(input2.status);
28621
28661
  if (await shouldUseLocalRetrieval(input2.source, dependencies)) {
28622
28662
  try {
28623
28663
  const incidents = await listLocalIncidents(
@@ -28625,7 +28665,7 @@ async function listIncidentsWithAuthCommand(input2, dependencies) {
28625
28665
  ...input2.projectId === void 0 ? {} : { projectId: input2.projectId },
28626
28666
  ...input2.environment === void 0 ? {} : { environment: input2.environment },
28627
28667
  ...input2.service === void 0 ? {} : { service: input2.service },
28628
- ...input2.status === void 0 ? {} : { status: input2.status },
28668
+ ...statusFilter === void 0 ? {} : { status: statusFilter },
28629
28669
  ...input2.severity === void 0 ? {} : { severity: input2.severity },
28630
28670
  ...input2.firstSeenAfter === void 0 ? {} : { firstSeenAfter: input2.firstSeenAfter },
28631
28671
  ...input2.cursor === void 0 ? {} : { cursor: input2.cursor },
@@ -28650,7 +28690,7 @@ async function listIncidentsWithAuthCommand(input2, dependencies) {
28650
28690
  ...input2.projectId === void 0 ? {} : { projectId: input2.projectId },
28651
28691
  ...input2.environment === void 0 ? {} : { environment: input2.environment },
28652
28692
  ...input2.service === void 0 ? {} : { service: input2.service },
28653
- ...input2.status === void 0 ? {} : { status: input2.status },
28693
+ ...statusFilter === void 0 ? {} : { status: statusFilter },
28654
28694
  ...input2.severity === void 0 ? {} : { severity: input2.severity },
28655
28695
  ...input2.firstSeenAfter === void 0 ? {} : { firstSeenAfter: input2.firstSeenAfter },
28656
28696
  ...input2.cursor === void 0 ? {} : { cursor: input2.cursor },
@@ -28728,7 +28768,7 @@ async function getIncidentCommand(input2, api) {
28728
28768
  output: formatIncidentDetail(incident)
28729
28769
  };
28730
28770
  } catch (error) {
28731
- return { exitCode: mapErrorToExitCode2(error), output: error instanceof Error ? error.message : String(error) };
28771
+ return { exitCode: mapErrorToExitCode2(error), output: formatRetrievalErrorOutput(error) };
28732
28772
  }
28733
28773
  }
28734
28774
  async function readLocalIncidentContext(input2, dependencies) {
@@ -28774,7 +28814,7 @@ async function getIncidentContextCommand(input2, api) {
28774
28814
  output: input2.json ? JSON.stringify(context) : formatIncidentContextDetail(context)
28775
28815
  };
28776
28816
  } catch (error) {
28777
- return { exitCode: mapErrorToExitCode2(error), output: error instanceof Error ? error.message : String(error) };
28817
+ return { exitCode: mapErrorToExitCode2(error), output: formatRetrievalErrorOutput(error) };
28778
28818
  }
28779
28819
  }
28780
28820
  async function getIncidentContextWithAuthCommand(input2, dependencies) {
@@ -28899,7 +28939,7 @@ async function resolveIncidentCommand(input2, api) {
28899
28939
  output: formatIncidentDetail(incident)
28900
28940
  };
28901
28941
  } catch (error) {
28902
- return { exitCode: mapErrorToExitCode2(error), output: error instanceof Error ? error.message : String(error) };
28942
+ return { exitCode: mapErrorToExitCode2(error), output: formatRetrievalErrorOutput(error) };
28903
28943
  }
28904
28944
  }
28905
28945
  async function resolveIncidentWithAuthCommand(input2, dependencies) {
@@ -29074,7 +29114,7 @@ async function reopenIncidentCommand(input2, api) {
29074
29114
  output: formatIncidentDetail(incident)
29075
29115
  };
29076
29116
  } catch (error) {
29077
- return { exitCode: mapErrorToExitCode2(error), output: error instanceof Error ? error.message : String(error) };
29117
+ return { exitCode: mapErrorToExitCode2(error), output: formatRetrievalErrorOutput(error) };
29078
29118
  }
29079
29119
  }
29080
29120
  async function reopenIncidentWithAuthCommand(input2, dependencies) {
@@ -29220,7 +29260,7 @@ async function getBundleCommand(input2, api) {
29220
29260
  output: input2.json ? JSON.stringify(bundle) : formatObjectOutput(bundle)
29221
29261
  };
29222
29262
  } catch (error) {
29223
- return { exitCode: mapErrorToExitCode2(error), output: error instanceof Error ? error.message : String(error) };
29263
+ return { exitCode: mapErrorToExitCode2(error), output: formatRetrievalErrorOutput(error) };
29224
29264
  }
29225
29265
  }
29226
29266
  async function getBundleWithAuthCommand(input2, dependencies) {
@@ -29292,7 +29332,7 @@ async function getLogsCommand(input2, api) {
29292
29332
  output: input2.json ? JSON.stringify(logs) : formatLogsTable(logs.logs)
29293
29333
  };
29294
29334
  } catch (error) {
29295
- return { exitCode: mapErrorToExitCode2(error), output: error instanceof Error ? error.message : String(error) };
29335
+ return { exitCode: mapErrorToExitCode2(error), output: formatRetrievalErrorOutput(error) };
29296
29336
  }
29297
29337
  }
29298
29338
  async function getLogsWithAuthCommand(input2, dependencies) {
@@ -29330,7 +29370,7 @@ async function getReproductionCommand(input2, api) {
29330
29370
  output: input2.json ? JSON.stringify(reproduction) : formatObjectOutput(reproduction)
29331
29371
  };
29332
29372
  } catch (error) {
29333
- return { exitCode: mapErrorToExitCode2(error), output: error instanceof Error ? error.message : String(error) };
29373
+ return { exitCode: mapErrorToExitCode2(error), output: formatRetrievalErrorOutput(error) };
29334
29374
  }
29335
29375
  }
29336
29376
  async function getReproductionWithAuthCommand(input2, dependencies) {
@@ -30415,7 +30455,7 @@ var CLI_USAGE_LINES = [
30415
30455
  " debugbundle login --github-device [--label <label>] [--base-url <url>] [--auth-file <path>] [--json]",
30416
30456
  " debugbundle profile validate [--json]",
30417
30457
  " debugbundle whoami [--auth-file <path>] [--json]",
30418
- " debugbundle incidents [--source <local|cloud>] [--project-id <id>] [--environment <name>] [--service <name>] [--status <status>] [--severity <severity>] [--first-seen-after <ISO8601>] [--cursor <cursor>] [--limit <n>] [--auth-file <path>] [--json]",
30458
+ " debugbundle incidents [--source <local|cloud>] [--project-id <id>] [--environment <name>] [--service <name>] [--status <active|open|resolved|regressed|all>] [--severity <severity>] [--first-seen-after <ISO8601>] [--cursor <cursor>] [--limit <n>] [--auth-file <path>] [--json]",
30419
30459
  " debugbundle inspect <incident-id> [--source <local|cloud>] [--auth-file <path>] [--json]",
30420
30460
  " debugbundle explain <incident-id> [--source <local|cloud>] [--auth-file <path>] [--json]",
30421
30461
  " debugbundle resolve <incident-id> [incident-id ...] [--source <local|cloud>] [--auth-file <path>] [--json]",
@@ -34043,7 +34083,7 @@ async function handleHealthCommand(parsedArgv, dependencies) {
34043
34083
  method,
34044
34084
  expectedStatusMin: readIntegerOption(parsedArgv, "expected-status-min") ?? 200,
34045
34085
  expectedStatusMax: readIntegerOption(parsedArgv, "expected-status-max") ?? 399,
34046
- timeoutMs: readIntegerOption(parsedArgv, "timeout-ms") ?? 5e3,
34086
+ timeoutMs: readIntegerOption(parsedArgv, "timeout-ms") ?? 2500,
34047
34087
  intervalSeconds,
34048
34088
  failureThreshold: readIntegerOption(parsedArgv, "failure-threshold") ?? 3,
34049
34089
  recoveryThreshold: readIntegerOption(parsedArgv, "recovery-threshold") ?? 2,
@@ -34142,7 +34182,7 @@ async function handleHealthCommand(parsedArgv, dependencies) {
34142
34182
  method,
34143
34183
  expectedStatusMin: readIntegerOption(parsedArgv, "expected-status-min") ?? 200,
34144
34184
  expectedStatusMax: readIntegerOption(parsedArgv, "expected-status-max") ?? 399,
34145
- timeoutMs: readIntegerOption(parsedArgv, "timeout-ms") ?? 5e3
34185
+ timeoutMs: readIntegerOption(parsedArgv, "timeout-ms") ?? 2500
34146
34186
  })
34147
34187
  );
34148
34188
  }
@@ -36910,7 +36950,7 @@ async function handleCaptureRuleCommand2(parsedArgv, dependencies) {
36910
36950
  // package.json
36911
36951
  var package_default = {
36912
36952
  name: "@debugbundle/cli",
36913
- version: "1.5.2",
36953
+ version: "1.5.3",
36914
36954
  private: false,
36915
36955
  description: "Command-line interface for DebugBundle",
36916
36956
  license: "AGPL-3.0-only",
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@debugbundle/cli",
3
- "version": "1.5.2",
3
+ "version": "1.5.3",
4
4
  "private": false,
5
5
  "description": "Command-line interface for DebugBundle",
6
6
  "license": "AGPL-3.0-only",