@bridge_gpt/mcp-server 0.2.67 → 0.2.69
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 +272 -51
- package/build/agent-launchers/claude-executor-adapter.js +27 -0
- package/build/agents.generated.js +22 -2
- package/build/bitbucket-workspace-remote.js +136 -0
- package/build/bootstrap-project-identity.js +24 -0
- package/build/bridge-permissions.js +1362 -0
- package/build/check-update-cli.js +74 -0
- package/build/claude-settings.js +102 -2
- package/build/cli-help.js +27 -0
- package/build/codex-home.js +9 -1
- package/build/codex-launcher-pin.js +598 -0
- package/build/command-assets-doctor.js +24 -70
- package/build/command-provisioning.js +29 -5
- package/build/commands.generated.js +9 -9
- package/build/conductor/bridge-api-client.js +714 -0
- package/build/conductor/command-drift-production.js +92 -0
- package/build/conductor/command-drift.js +89 -0
- package/build/conductor/doctor.js +69 -26
- package/build/conductor/epic-branch-ci-inspection.js +1375 -0
- package/build/conductor/epic-implementer-cli.js +76 -22
- package/build/conductor/gate-discovery.js +890 -0
- package/build/conductor/install-doctor.js +15 -3
- package/build/conductor/json-output.js +63 -0
- package/build/conductor/readiness-cli.js +95 -10
- package/build/conductor/readiness-sections.js +369 -3
- package/build/conductor/readiness.js +211 -8
- package/build/conductor/recovery-cli.js +110 -4
- package/build/conductor/recovery-operations.js +99 -1
- package/build/connect-bitbucket-api.js +41 -6
- package/build/connect-bitbucket.js +106 -33
- package/build/connect-github-api.js +33 -14
- package/build/credential-store.js +207 -47
- package/build/docs.generated.js +57 -3
- package/build/doctor.js +198 -4
- package/build/drive-epic.js +45 -8
- package/build/epic-coherence-input.test-fixtures.js +4 -3
- package/build/epic-implementer-bin.js +1369 -25
- package/build/epic-workarounds-path.js +39 -0
- package/build/executor/cli.js +30 -0
- package/build/executor/completion-contract.js +20 -5
- package/build/executor/deps.js +4 -1
- package/build/executor/gate-qualification-job.js +499 -0
- package/build/executor/guarded-fast-forward-push.js +129 -0
- package/build/executor/http-client.js +43 -4
- package/build/executor/integration-job.js +122 -8
- package/build/executor/job-errors.js +8 -1
- package/build/executor/job-runner.js +589 -47
- package/build/executor/likely-tests.js +290 -0
- package/build/executor/live-worker-registry.js +1 -1
- package/build/executor/observation.js +31 -2
- package/build/executor/packaged-recipe.js +106 -0
- package/build/executor/permissions.js +115 -28
- package/build/executor/platform.js +1 -1
- package/build/executor/preflight.js +61 -12
- package/build/executor/process-containment.js +36 -12
- package/build/executor/process.js +15 -7
- package/build/executor/prompt-spec.js +33 -1
- package/build/executor/recently-failed-tests-file.js +71 -0
- package/build/executor/reconcile-overlap-job.js +41 -23
- package/build/executor/required-verification.js +1 -1
- package/build/executor/required-work-ledger.js +105 -17
- package/build/executor/retirement.js +69 -0
- package/build/executor/runner.js +114 -11
- package/build/executor/test-clock.js +15 -0
- package/build/executor/types.js +32 -0
- package/build/executor/viewer-tabs.js +58 -8
- package/build/executor/worker-command.js +23 -7
- package/build/executor/worker-diagnostics.js +37 -0
- package/build/executor/worker-finalization.js +31 -5
- package/build/executor/worker-guard-hook.js +179 -25
- package/build/executor/worker-log.js +4 -3
- package/build/executor/worker-verification-guidance.js +37 -0
- package/build/executor/worktree.js +88 -11
- package/build/first-build-advisory.js +97 -0
- package/build/generated-assets-advisory.js +14 -0
- package/build/generated-assets-catalog.js +66 -0
- package/build/generated-assets-context.js +46 -0
- package/build/generated-assets-dependencies.js +26 -0
- package/build/generated-assets-doctor.js +50 -0
- package/build/generated-assets-health.js +65 -0
- package/build/generated-assets-host.js +17 -0
- package/build/generated-assets-inventory.js +17 -0
- package/build/generated-assets-paths.js +60 -0
- package/build/generated-assets-publisher.js +133 -0
- package/build/generated-assets-remedy.js +25 -0
- package/build/generated-assets-repair.js +72 -0
- package/build/generated-assets-session.js +71 -0
- package/build/generated-assets-test-support.js +35 -0
- package/build/index.js +1109 -695
- package/build/init.js +54 -177
- package/build/install-bridge-conductor-gate.js +1372 -0
- package/build/install-bridge-conductor.js +289 -36
- package/build/install-bridge.js +722 -252
- package/build/launcher-config-inspection.js +184 -19
- package/build/mcp-host-targets.js +4 -0
- package/build/mcp-identity.js +7 -0
- package/build/mcp-install-state.js +50 -4
- package/build/merge-workflow-install.js +3 -4
- package/build/pipeline-utils.js +6 -2
- package/build/pipelines.generated.js +22 -142
- package/build/plan-execution-ledger.js +2 -32
- package/build/plane/manifest.js +16 -1
- package/build/plane/preflight.js +54 -1
- package/build/printed-remedy-commands.js +16 -1
- package/build/readme.generated.js +1 -1
- package/build/repair-assets.js +93 -0
- package/build/run-unit-tests-launcher.js +130 -49
- package/build/secret-redaction.js +33 -0
- package/build/session-upgrade-notice.js +86 -0
- package/build/setup-epic.js +108 -3
- package/build/start-tickets-prereqs.js +70 -16
- package/build/start-tickets.js +44 -5
- package/build/tool-call-advisory.js +162 -0
- package/build/tool-surface-gating.js +32 -57
- package/build/update-check.js +97 -16
- package/build/update-status.js +61 -71
- package/build/upgrade-advice.js +15 -11
- package/build/upgrade-cli.js +398 -17
- package/build/version.generated.js +3 -3
- package/build/worker-guard-hook-bin.js +3 -2
- package/build/worker-guard-hook-main.js +1 -1
- package/build/worktree-core.js +15 -2
- package/docs/EPIC-IMPLEMENTER-INSTALL.md +30 -12
- package/docs/EPIC-IMPLEMENTER.md +68 -2
- package/package.json +3 -3
- package/pipelines/greenfield-setup.json +4 -128
- package/pipelines/implement-ticket.json +3 -2
|
@@ -25,8 +25,7 @@
|
|
|
25
25
|
* and rendered by the caller's existing orchestration boundary.
|
|
26
26
|
*/
|
|
27
27
|
import path from "path";
|
|
28
|
-
import {
|
|
29
|
-
import { codexSkillAssets } from "./codex-skill-adapter.js";
|
|
28
|
+
import { buildPackagedAssetCatalog } from "./generated-assets-catalog.js";
|
|
30
29
|
import { ensureGitInfoExcluded } from "./git-ignore-utils.js";
|
|
31
30
|
/** The exact exclude entry appended for the command directory (POSIX-relative). */
|
|
32
31
|
const COMMAND_DIR_EXCLUDE_ENTRY = ".claude/commands/";
|
|
@@ -59,7 +58,10 @@ export async function provisionCommandsForWorktree(worktreeRoot, deps, includeCo
|
|
|
59
58
|
? api.normalize(worktreeRoot)
|
|
60
59
|
: api.resolve(deps.cwd, worktreeRoot);
|
|
61
60
|
const commandsDir = api.join(normalizedRoot, ".claude", "commands");
|
|
62
|
-
const
|
|
61
|
+
const catalog = buildPackagedAssetCatalog();
|
|
62
|
+
const commandAssets = catalog.assets.filter(a => a.kind === "command" && a.hosts.includes("claude"));
|
|
63
|
+
const entries = commandAssets.map(a => [api.basename(a.destination), a.content]);
|
|
64
|
+
const successful = [];
|
|
63
65
|
if (entries.length === 0) {
|
|
64
66
|
// No runnable slash commands could ever be provisioned — fail loudly rather
|
|
65
67
|
// than reporting a hollow success.
|
|
@@ -74,6 +76,9 @@ export async function provisionCommandsForWorktree(worktreeRoot, deps, includeCo
|
|
|
74
76
|
const target = api.join(commandsDir, filename);
|
|
75
77
|
try {
|
|
76
78
|
await deps.readFile(target);
|
|
79
|
+
const asset = commandAssets.find(a => api.basename(a.destination) === filename);
|
|
80
|
+
if (asset)
|
|
81
|
+
successful.push(asset);
|
|
77
82
|
}
|
|
78
83
|
catch (err) {
|
|
79
84
|
if (isEnoentError(err)) {
|
|
@@ -92,6 +97,9 @@ export async function provisionCommandsForWorktree(worktreeRoot, deps, includeCo
|
|
|
92
97
|
await deps.mkdir(commandsDir, { recursive: true });
|
|
93
98
|
for (const [filename, content] of missing) {
|
|
94
99
|
await deps.writeFile(api.join(commandsDir, filename), content);
|
|
100
|
+
const asset = commandAssets.find(a => api.basename(a.destination) === filename);
|
|
101
|
+
if (asset)
|
|
102
|
+
successful.push(asset);
|
|
95
103
|
}
|
|
96
104
|
}
|
|
97
105
|
catch {
|
|
@@ -102,8 +110,8 @@ export async function provisionCommandsForWorktree(worktreeRoot, deps, includeCo
|
|
|
102
110
|
// Codex launch requires the full bundle. Fill only, preserving customer assets.
|
|
103
111
|
if (!fillError && includeCodexSkills) {
|
|
104
112
|
try {
|
|
105
|
-
for (const asset of
|
|
106
|
-
const target = api.join(normalizedRoot, asset.
|
|
113
|
+
for (const asset of catalog.assets.filter(a => a.kind === "skill" && a.hosts.includes("codex"))) {
|
|
114
|
+
const target = api.join(normalizedRoot, asset.destination);
|
|
107
115
|
try {
|
|
108
116
|
await deps.readFile(target);
|
|
109
117
|
}
|
|
@@ -113,6 +121,7 @@ export async function provisionCommandsForWorktree(worktreeRoot, deps, includeCo
|
|
|
113
121
|
await deps.mkdir(api.dirname(target), { recursive: true });
|
|
114
122
|
await deps.writeFile(target, asset.content);
|
|
115
123
|
}
|
|
124
|
+
successful.push(asset);
|
|
116
125
|
}
|
|
117
126
|
}
|
|
118
127
|
catch {
|
|
@@ -131,6 +140,13 @@ export async function provisionCommandsForWorktree(worktreeRoot, deps, includeCo
|
|
|
131
140
|
runCommand: deps.runCommand,
|
|
132
141
|
platform: deps.platform,
|
|
133
142
|
});
|
|
143
|
+
if (deps.recordAssets) {
|
|
144
|
+
// Inventory is machine-local state, just like the generated workflow files.
|
|
145
|
+
await ensureGitInfoExcluded(normalizedRoot, ".bridge/install-state.json", {
|
|
146
|
+
readFile: deps.readFile, writeFile: deps.writeFile, mkdir: deps.mkdir,
|
|
147
|
+
runCommand: deps.runCommand, platform: deps.platform,
|
|
148
|
+
});
|
|
149
|
+
}
|
|
134
150
|
if (includeCodexSkills) {
|
|
135
151
|
await ensureGitInfoExcluded(normalizedRoot, CODEX_SKILLS_EXCLUDE_ENTRY, {
|
|
136
152
|
readFile: deps.readFile,
|
|
@@ -145,6 +161,14 @@ export async function provisionCommandsForWorktree(worktreeRoot, deps, includeCo
|
|
|
145
161
|
excludeError =
|
|
146
162
|
"Command provisioning failed: could not add generated command assets to the worktree Git exclude file.";
|
|
147
163
|
}
|
|
164
|
+
if (deps.recordAssets && successful.length) {
|
|
165
|
+
try {
|
|
166
|
+
await deps.recordAssets(normalizedRoot, successful, includeCodexSkills ? ["claude", "codex"] : ["claude"]);
|
|
167
|
+
}
|
|
168
|
+
catch {
|
|
169
|
+
fillError ??= "Command provisioning failed: could not record packaged workflow inventory.";
|
|
170
|
+
}
|
|
171
|
+
}
|
|
148
172
|
if (fillError)
|
|
149
173
|
return { ok: false, error: fillError };
|
|
150
174
|
if (excludeError)
|