@bridge_gpt/mcp-server 0.2.4 → 0.2.6

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.
@@ -503,6 +503,12 @@ export async function buildProductionEpicRuntimeDeps(epicKey) {
503
503
  throw new Error(`dispatchSeam called before fetchPlan for epic ${ek} ticket ${tk}; cachedPlanVersion is 0`);
504
504
  }
505
505
  const kind = automationMap.get(tk) ?? "start-tickets";
506
+ // Operator dry-run: when BAPI_CONDUCTOR_DISPATCH_DRY_RUN=1, dispatch resolves
507
+ // the spawn command + model routing but opens NO terminal, creates NO worktree,
508
+ // and opens NO PR (start-tickets/review-tickets dryRun). The full loop dispatch
509
+ // path (ready-set → claim key → dispatch → correlate run_id) still exercises;
510
+ // dry-run rows carry no runId, so a synthetic one is substituted for correlation.
511
+ const dispatchDryRun = process.env.BAPI_CONDUCTOR_DISPATCH_DRY_RUN === "1";
506
512
  const identity = {
507
513
  epic_key: ek,
508
514
  epic_run_id: ek,
@@ -516,7 +522,7 @@ export async function buildProductionEpicRuntimeDeps(epicKey) {
516
522
  keys: [tk],
517
523
  epic: identity,
518
524
  agentName: "claude",
519
- dryRun: false,
525
+ dryRun: dispatchDryRun,
520
526
  maxParallel: 1,
521
527
  auto: true,
522
528
  reviewOverrides: {},
@@ -531,7 +537,7 @@ export async function buildProductionEpicRuntimeDeps(epicKey) {
531
537
  keys: [tk],
532
538
  epic: identity,
533
539
  agentName: "claude",
534
- dryRun: false,
540
+ dryRun: dispatchDryRun,
535
541
  autoApprove: true,
536
542
  maxParallel: 1,
537
543
  refreshMain: false,
@@ -543,6 +549,11 @@ export async function buildProductionEpicRuntimeDeps(epicKey) {
543
549
  }
544
550
  runId = result.rows[0]?.runId;
545
551
  }
552
+ if (!runId && dispatchDryRun) {
553
+ // Dry-run dispatch produced no real run_id; substitute a synthetic id so the
554
+ // idempotent correlate step still runs and the dispatch row is observable.
555
+ runId = `dry-run:${identity.dispatch_key}`;
556
+ }
546
557
  if (!runId) {
547
558
  throw new Error(`dispatch returned no runId for ticket ${tk}`);
548
559
  }
@@ -1,2 +1,2 @@
1
1
  // AUTO-GENERATED — do not edit manually. Regenerate with: npm run build
2
- export const VERSION = "0.2.4";
2
+ export const VERSION = "0.2.6";
package/package.json CHANGED
@@ -1,10 +1,11 @@
1
1
  {
2
2
  "name": "@bridge_gpt/mcp-server",
3
- "version": "0.2.4",
3
+ "version": "0.2.6",
4
4
  "description": "Bridge API MCP server — exposes Jira endpoints as MCP tools for Claude Code agents",
5
5
  "license": "MIT",
6
6
  "type": "module",
7
7
  "bin": {
8
+ "mcp-server": "./build/index.js",
8
9
  "bridge-api-mcp-server": "./build/index.js",
9
10
  "conductor": "./build/conductor-bin.js",
10
11
  "conductor-claude-hook": "./build/conductor-claude-hook-bin.js"