@debugbundle/mcp 1.6.1 → 1.6.2

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/README.md CHANGED
@@ -65,6 +65,16 @@ DebugBundle does not expose a hosted remote MCP endpoint today; this package is
65
65
  - Run local and hosted verification through tools such as `verify_local`, `verify_cloud`, `doctor`, `smoke`, and `analyze`.
66
66
  - Resolve or reopen incidents after verification.
67
67
 
68
+ ## Troubleshooting
69
+
70
+ | Symptom | Check |
71
+ | --- | --- |
72
+ | Node.js launch failure | Use Node.js 22.x through 26.x. Configure the client to use a supported `node` or `npx` runtime. |
73
+ | Missing local auth | Run `debugbundle login`, or set `DEBUGBUNDLE_MEMBER_TOKEN` for headless and managed clients. |
74
+ | Invalid token | Use a `dbundle_mem_` member token. Project tokens are SDK ingestion-only credentials. |
75
+ | Wrong API host | Leave `DEBUGBUNDLE_API_URL` unset for DebugBundle Cloud; set it only for self-hosted or non-default API hosts. |
76
+ | Local repo not initialized | Run `debugbundle setup` before local-only diagnostics, local bundle analysis, or generated project-skill workflows. |
77
+
68
78
  ## Links
69
79
 
70
80
  - Docs: https://debugbundle.com/docs/mcp
package/dist/main.cjs CHANGED
@@ -14467,6 +14467,7 @@ var AlertConditionTypeSchema = external_exports.enum([
14467
14467
  "severity_threshold",
14468
14468
  "regression_after_deploy"
14469
14469
  ]);
14470
+ var AlertSeverityLifecycleScopeSchema = external_exports.enum(["new_incident", "incident_regressed", "both"]);
14470
14471
  var AlertSchema = external_exports.object({
14471
14472
  alert_id: external_exports.string(),
14472
14473
  project_id: external_exports.string(),
@@ -14475,6 +14476,7 @@ var AlertSchema = external_exports.object({
14475
14476
  channel: AlertChannelSchema,
14476
14477
  condition_type: AlertConditionTypeSchema,
14477
14478
  severity_min: external_exports.enum(["low", "medium", "high", "critical"]).nullable(),
14479
+ severity_lifecycle_scope: AlertSeverityLifecycleScopeSchema.nullable().optional().default(null),
14478
14480
  cooldown_seconds: external_exports.number().int().min(0),
14479
14481
  config: external_exports.record(external_exports.string(), external_exports.unknown()),
14480
14482
  is_enabled: external_exports.boolean(),
@@ -14562,6 +14564,9 @@ function createAlertApi(client) {
14562
14564
  if (input.severityMin !== void 0) {
14563
14565
  body.severity_min = input.severityMin;
14564
14566
  }
14567
+ if (input.severityLifecycleScope !== void 0) {
14568
+ body.severity_lifecycle_scope = input.severityLifecycleScope;
14569
+ }
14565
14570
  if (input.cooldownSeconds !== void 0) {
14566
14571
  body.cooldown_seconds = input.cooldownSeconds;
14567
14572
  }
@@ -14591,6 +14596,9 @@ function createAlertApi(client) {
14591
14596
  if (input.severityMin !== void 0) {
14592
14597
  body.severity_min = input.severityMin;
14593
14598
  }
14599
+ if (input.severityLifecycleScope !== void 0) {
14600
+ body.severity_lifecycle_scope = input.severityLifecycleScope;
14601
+ }
14594
14602
  if (input.cooldownSeconds !== void 0) {
14595
14603
  body.cooldown_seconds = input.cooldownSeconds;
14596
14604
  }
@@ -22148,11 +22156,19 @@ var STORAGE_BOOTSTRAP_STATEMENTS = [
22148
22156
  channel text NOT NULL,
22149
22157
  condition_type text NOT NULL,
22150
22158
  severity_min text,
22159
+ severity_lifecycle_scope text,
22151
22160
  cooldown_seconds integer NOT NULL DEFAULT 0,
22152
22161
  config jsonb NOT NULL DEFAULT '{}'::jsonb,
22153
22162
  is_enabled boolean NOT NULL DEFAULT true,
22154
22163
  created_at timestamptz NOT NULL DEFAULT now(),
22155
- updated_at timestamptz NOT NULL DEFAULT now()
22164
+ updated_at timestamptz NOT NULL DEFAULT now(),
22165
+ CONSTRAINT alert_rules_severity_lifecycle_scope_check CHECK (
22166
+ severity_lifecycle_scope IS NULL
22167
+ OR (
22168
+ condition_type = 'severity_threshold'
22169
+ AND severity_lifecycle_scope IN ('new_incident', 'incident_regressed', 'both')
22170
+ )
22171
+ )
22156
22172
  )
22157
22173
  `,
22158
22174
  `
@@ -23707,6 +23723,36 @@ var STORAGE_SCHEMA_MIGRATIONS = [
23707
23723
  )
23708
23724
  `
23709
23725
  ]
23726
+ }),
23727
+ defineStorageSchemaMigration({
23728
+ id: "202606260001_add_alert_severity_lifecycle_scope",
23729
+ description: "Add lifecycle scope for severity-threshold alert rules so new incidents and regressions can notify independently.",
23730
+ statements: [
23731
+ "ALTER TABLE alert_rules ADD COLUMN IF NOT EXISTS severity_lifecycle_scope text",
23732
+ `
23733
+ UPDATE alert_rules
23734
+ SET severity_lifecycle_scope = 'both'
23735
+ WHERE condition_type = 'severity_threshold'
23736
+ AND severity_lifecycle_scope IS NULL
23737
+ `,
23738
+ `
23739
+ UPDATE alert_rules
23740
+ SET severity_lifecycle_scope = NULL
23741
+ WHERE condition_type <> 'severity_threshold'
23742
+ AND severity_lifecycle_scope IS NOT NULL
23743
+ `,
23744
+ "ALTER TABLE alert_rules DROP CONSTRAINT IF EXISTS alert_rules_severity_lifecycle_scope_check",
23745
+ `
23746
+ ALTER TABLE alert_rules
23747
+ ADD CONSTRAINT alert_rules_severity_lifecycle_scope_check CHECK (
23748
+ severity_lifecycle_scope IS NULL
23749
+ OR (
23750
+ condition_type = 'severity_threshold'
23751
+ AND severity_lifecycle_scope IN ('new_incident', 'incident_regressed', 'both')
23752
+ )
23753
+ )
23754
+ `
23755
+ ]
23710
23756
  })
23711
23757
  ];
23712
23758
 
@@ -27076,6 +27122,9 @@ function createAlertMcpTools(api) {
27076
27122
  if (typeof input["severityMin"] === "string") {
27077
27123
  requestInput.severityMin = input["severityMin"];
27078
27124
  }
27125
+ if (typeof input["severityLifecycleScope"] === "string") {
27126
+ requestInput.severityLifecycleScope = input["severityLifecycleScope"];
27127
+ }
27079
27128
  if (typeof input["cooldownSeconds"] === "number") {
27080
27129
  requestInput.cooldownSeconds = input["cooldownSeconds"];
27081
27130
  }
@@ -27110,6 +27159,11 @@ function createAlertMcpTools(api) {
27110
27159
  } else if (input["severityMin"] === null) {
27111
27160
  requestInput.severityMin = null;
27112
27161
  }
27162
+ if (typeof input["severityLifecycleScope"] === "string") {
27163
+ requestInput.severityLifecycleScope = input["severityLifecycleScope"];
27164
+ } else if (input["severityLifecycleScope"] === null) {
27165
+ requestInput.severityLifecycleScope = null;
27166
+ }
27113
27167
  if (typeof input["cooldownSeconds"] === "number") {
27114
27168
  requestInput.cooldownSeconds = input["cooldownSeconds"];
27115
27169
  }
@@ -30637,7 +30691,7 @@ var zodToJsonSchema = (schema, options) => {
30637
30691
  var package_default = {
30638
30692
  name: "@debugbundle/mcp",
30639
30693
  mcpName: "com.debugbundle/mcp",
30640
- version: "1.6.1",
30694
+ version: "1.6.2",
30641
30695
  private: false,
30642
30696
  description: "MCP server for production debugging bundles and incident workflows for AI agents",
30643
30697
  license: "AGPL-3.0-only",
@@ -31399,7 +31453,7 @@ var MCP_TOOL_CATALOG = [
31399
31453
  {
31400
31454
  name: "create_alert",
31401
31455
  group: "alerts",
31402
- description: "Create an alert rule.",
31456
+ description: "Create an alert rule, including optional severity-threshold lifecycle scope.",
31403
31457
  inputSchema: external_exports.object({
31404
31458
  bearerToken: external_exports.string(),
31405
31459
  projectId: external_exports.string(),
@@ -31407,6 +31461,7 @@ var MCP_TOOL_CATALOG = [
31407
31461
  channel: external_exports.string(),
31408
31462
  conditionType: external_exports.string(),
31409
31463
  severityMin: external_exports.string().optional(),
31464
+ severityLifecycleScope: external_exports.enum(["new_incident", "incident_regressed", "both"]).optional(),
31410
31465
  cooldownSeconds: external_exports.number().int().min(0).max(604800).optional(),
31411
31466
  config: jsonObjectSchema,
31412
31467
  isEnabled: external_exports.boolean().optional()
@@ -31415,7 +31470,7 @@ var MCP_TOOL_CATALOG = [
31415
31470
  {
31416
31471
  name: "update_alert",
31417
31472
  group: "alerts",
31418
- description: "Update an alert rule.",
31473
+ description: "Update an alert rule, including optional severity-threshold lifecycle scope.",
31419
31474
  inputSchema: external_exports.object({
31420
31475
  bearerToken: external_exports.string(),
31421
31476
  projectId: external_exports.string(),
@@ -31424,6 +31479,7 @@ var MCP_TOOL_CATALOG = [
31424
31479
  channel: external_exports.string().optional(),
31425
31480
  conditionType: external_exports.string().optional(),
31426
31481
  severityMin: external_exports.string().nullable().optional(),
31482
+ severityLifecycleScope: external_exports.enum(["new_incident", "incident_regressed", "both"]).nullable().optional(),
31427
31483
  cooldownSeconds: external_exports.number().int().min(0).max(604800).optional(),
31428
31484
  config: jsonObjectSchema.nullable().optional(),
31429
31485
  isEnabled: external_exports.boolean().optional()
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@debugbundle/mcp",
3
3
  "mcpName": "com.debugbundle/mcp",
4
- "version": "1.6.1",
4
+ "version": "1.6.2",
5
5
  "private": false,
6
6
  "description": "MCP server for production debugging bundles and incident workflows for AI agents",
7
7
  "license": "AGPL-3.0-only",
package/server.json CHANGED
@@ -8,13 +8,13 @@
8
8
  "source": "github",
9
9
  "subfolder": "apps/mcp"
10
10
  },
11
- "version": "1.6.1",
11
+ "version": "1.6.2",
12
12
  "packages": [
13
13
  {
14
14
  "registryType": "npm",
15
15
  "registryBaseUrl": "https://registry.npmjs.org",
16
16
  "identifier": "@debugbundle/mcp",
17
- "version": "1.6.1",
17
+ "version": "1.6.2",
18
18
  "transport": {
19
19
  "type": "stdio"
20
20
  },