@mrrlin-dev/mcp 0.4.150 → 0.4.152
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/dist/bin.cjs +27 -12
- package/package.json +1 -1
package/dist/bin.cjs
CHANGED
|
@@ -48622,14 +48622,16 @@ function renderCriteriaBlock(criteria) {
|
|
|
48622
48622
|
return criteria.map((c, i) => `${i + 1}. [ ] ${c}`).join("\n");
|
|
48623
48623
|
}
|
|
48624
48624
|
async function buildDeliverableGateDeps(args) {
|
|
48625
|
-
const { client, projectSlug, deliverablePageId, attemptOutcome, codexExecutable, runId, seat, stateDir } = args;
|
|
48625
|
+
const { client, projectSlug, deliverablePageId, attemptOutcome, codexExecutable, runId, seat, providerId, stateDir } = args;
|
|
48626
48626
|
const consensusProvider = process.env.MRRLIN_CONSENSUS_PROVIDER?.trim().toLowerCase() || void 0;
|
|
48627
|
-
const execProvider = consensusProvider ?? seat?.id;
|
|
48627
|
+
const execProvider = consensusProvider ?? providerId ?? seat?.id;
|
|
48628
|
+
const compatibleSeat = !consensusProvider && (!providerId || providerId === seat?.id) ? seat : void 0;
|
|
48629
|
+
const arbiterModel = compatibleSeat?.model ?? compatibleSeat?.models?.strong;
|
|
48628
48630
|
const recordCost = gateCallRecorder({
|
|
48629
48631
|
stateDir,
|
|
48630
48632
|
projectSlug,
|
|
48631
48633
|
gate: "deliverable",
|
|
48632
|
-
provider:
|
|
48634
|
+
provider: execProvider ?? null
|
|
48633
48635
|
});
|
|
48634
48636
|
const rounds = Number(process.env["MRRLIN_CONSENSUS_ROUNDS"] ?? 5);
|
|
48635
48637
|
const timeoutMs = Number(process.env["MRRLIN_CONSENSUS_HEAD_TIMEOUT_MS"] ?? 15e4);
|
|
@@ -48720,12 +48722,12 @@ ${persona}`,
|
|
|
48720
48722
|
codexExecutable,
|
|
48721
48723
|
// model-tier-planning-and-arbiter task 2.5 (D1): the arbiter is pinned to the seat's
|
|
48722
48724
|
// default model.
|
|
48723
|
-
model:
|
|
48725
|
+
model: arbiterModel
|
|
48724
48726
|
},
|
|
48725
48727
|
void 0,
|
|
48726
48728
|
execProvider
|
|
48727
48729
|
);
|
|
48728
|
-
recordCost("arbiter", "arbiter",
|
|
48730
|
+
recordCost("arbiter", "arbiter", arbiterModel ?? null, startedAt, result);
|
|
48729
48731
|
return result;
|
|
48730
48732
|
},
|
|
48731
48733
|
async runReviser(artifact, accepted) {
|
|
@@ -63960,7 +63962,7 @@ Do NOT derail the current task - if the operator has an in-flight question, answ
|
|
|
63960
63962
|
}
|
|
63961
63963
|
|
|
63962
63964
|
// src/_generated/version.ts
|
|
63963
|
-
var PKG_VERSION = "0.4.
|
|
63965
|
+
var PKG_VERSION = "0.4.152";
|
|
63964
63966
|
|
|
63965
63967
|
// src/bridge-allowed-origins.ts
|
|
63966
63968
|
var DEFAULT_DIRECTOR_BRIDGE_ALLOWED_ORIGINS = [
|
|
@@ -68420,7 +68422,18 @@ async function driveRun(deps, projectSlug, runId) {
|
|
|
68420
68422
|
const isPureCode = runDomains.length === 1 && runDomains[0] === "code";
|
|
68421
68423
|
if (!isPureCode) {
|
|
68422
68424
|
const runDomain = runDomains[0] ?? "code";
|
|
68423
|
-
|
|
68425
|
+
let providerId = claimed.agentSeat;
|
|
68426
|
+
if (providerId == null) {
|
|
68427
|
+
const seat = await mintResolvedSeat(resolveProvider(process.env, getSelectedProvider()));
|
|
68428
|
+
void notifyPinRetirementIfRetired(seat);
|
|
68429
|
+
providerId = seat.id;
|
|
68430
|
+
await deps.client.updateExecutionRun(projectSlug, runId, { agentSeat: providerId }).catch((err) => {
|
|
68431
|
+
console.warn(
|
|
68432
|
+
JSON.stringify({ event: "agent_seat_persist_failed", projectSlug, runId, error: String(err) })
|
|
68433
|
+
);
|
|
68434
|
+
});
|
|
68435
|
+
}
|
|
68436
|
+
await driveNonCodeRun(deps, projectSlug, runId, leaseId, task, runDomain, providerId, rawProject);
|
|
68424
68437
|
return;
|
|
68425
68438
|
}
|
|
68426
68439
|
const compactEnabled = (process.env.MRRLIN_MCP_COMPACT_DISABLE ?? "").trim() !== "1";
|
|
@@ -69416,7 +69429,7 @@ async function writeNegativeResultEvidencePage(client, projectSlug, task, input)
|
|
|
69416
69429
|
}
|
|
69417
69430
|
throw new Error(`could not allocate negative-result evidence page for ${task.id} (last conflict: ${lastConflict})`);
|
|
69418
69431
|
}
|
|
69419
|
-
async function driveNonCodeRun(deps, projectSlug, runId, leaseId, task, domain2, project) {
|
|
69432
|
+
async function driveNonCodeRun(deps, projectSlug, runId, leaseId, task, domain2, providerId, project) {
|
|
69420
69433
|
let rawProject = project;
|
|
69421
69434
|
if (!rawProject) {
|
|
69422
69435
|
try {
|
|
@@ -69496,7 +69509,7 @@ async function driveNonCodeRun(deps, projectSlug, runId, leaseId, task, domain2,
|
|
|
69496
69509
|
);
|
|
69497
69510
|
return;
|
|
69498
69511
|
}
|
|
69499
|
-
const runExec = deps.runDeliverableExec ?? runAgentExec;
|
|
69512
|
+
const runExec = deps.runDeliverableExec ?? ((input, provider) => runAgentExec(input, void 0, provider));
|
|
69500
69513
|
const touchTimer = setInterval(() => {
|
|
69501
69514
|
void deps.client.touchExecutionRun(projectSlug, runId, leaseId).catch(() => {
|
|
69502
69515
|
});
|
|
@@ -69512,7 +69525,7 @@ async function driveNonCodeRun(deps, projectSlug, runId, leaseId, task, domain2,
|
|
|
69512
69525
|
sandbox: "read-only",
|
|
69513
69526
|
codexExecutable: deps.codexExecutable,
|
|
69514
69527
|
mcpConfig: deps.mcpConfigPath
|
|
69515
|
-
});
|
|
69528
|
+
}, providerId);
|
|
69516
69529
|
if (!exec.ok) {
|
|
69517
69530
|
await failRun(deps, projectSlug, task, runId, leaseId, `deliverable_authoring_failed: ${exec.error}`);
|
|
69518
69531
|
return;
|
|
@@ -69572,6 +69585,7 @@ async function driveNonCodeRun(deps, projectSlug, runId, leaseId, task, domain2,
|
|
|
69572
69585
|
taskId: task.id,
|
|
69573
69586
|
runId,
|
|
69574
69587
|
deliverablePageId: pageId,
|
|
69588
|
+
providerId,
|
|
69575
69589
|
attemptOutcome: parsedResult.outcome
|
|
69576
69590
|
});
|
|
69577
69591
|
} catch (error51) {
|
|
@@ -79762,12 +79776,13 @@ async function startDirectorBridge() {
|
|
|
79762
79776
|
// ADR 0020 Phase 2: run the deliverable-gate over a non-code run's authored Deliverables page.
|
|
79763
79777
|
// Builds the gate deps (resolving domain/heads/criteria from the page's task + spec) and runs the
|
|
79764
79778
|
// same convergence loop the spec-gate uses. runId is threaded for verdict provenance (decision 10).
|
|
79765
|
-
// Authoring uses the
|
|
79766
|
-
runDeliverableGate: async ({ projectSlug, runId, deliverablePageId, attemptOutcome }) => {
|
|
79779
|
+
// Authoring uses the consumer’s explicit provider adapter; review inherits the same run pin.
|
|
79780
|
+
runDeliverableGate: async ({ projectSlug, runId, deliverablePageId, attemptOutcome, providerId }) => {
|
|
79767
79781
|
const gateDeps = await buildDeliverableGateDeps({
|
|
79768
79782
|
client,
|
|
79769
79783
|
projectSlug,
|
|
79770
79784
|
deliverablePageId,
|
|
79785
|
+
providerId,
|
|
79771
79786
|
attemptOutcome,
|
|
79772
79787
|
cwd: config2.codexCwd ?? process.cwd(),
|
|
79773
79788
|
codexExecutable: config2.codexExecutable,
|