@mrrlin-dev/mcp 0.3.12 → 0.3.13
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 +22 -9
- package/package.json +2 -2
package/dist/bin.cjs
CHANGED
|
@@ -36728,10 +36728,11 @@ var mrrlinTaskUpdateSchema = external_exports.object({
|
|
|
36728
36728
|
status: mrrlinTaskStatusSchema.optional(),
|
|
36729
36729
|
subcategory: taxonomySubcategorySchema.optional(),
|
|
36730
36730
|
tags: mrrlinTaskTagsSchema.optional(),
|
|
36731
|
+
title: external_exports.string().min(1).optional(),
|
|
36731
36732
|
type: mrrlinTaskTypeSchema.optional(),
|
|
36732
36733
|
followUpAt: external_exports.string().datetime().nullable().optional(),
|
|
36733
36734
|
verificationDueAt: external_exports.string().datetime().nullable().optional()
|
|
36734
|
-
}).refine((value) => value.assignee !== void 0 || value.autoDeploy !== void 0 || value.autonomyLevel !== void 0 || value.autonomyReason !== void 0 || value.category !== void 0 || value.directorThreadId !== void 0 || value.dueDate !== void 0 || value.followUpAt !== void 0 || value.impact !== void 0 || value.notes !== void 0 || value.planId !== void 0 || value.specApproved !== void 0 || value.specWikiPageId !== void 0 || value.status !== void 0 || value.subcategory !== void 0 || value.tags !== void 0 || value.type !== void 0 || value.verificationDueAt !== void 0, { message: "TaskUpdate requires at least one field" }).superRefine((value, context) => {
|
|
36735
|
+
}).refine((value) => value.assignee !== void 0 || value.autoDeploy !== void 0 || value.autonomyLevel !== void 0 || value.autonomyReason !== void 0 || value.category !== void 0 || value.directorThreadId !== void 0 || value.dueDate !== void 0 || value.followUpAt !== void 0 || value.impact !== void 0 || value.notes !== void 0 || value.planId !== void 0 || value.specApproved !== void 0 || value.specWikiPageId !== void 0 || value.status !== void 0 || value.subcategory !== void 0 || value.tags !== void 0 || value.title !== void 0 || value.type !== void 0 || value.verificationDueAt !== void 0, { message: "TaskUpdate requires at least one field" }).superRefine((value, context) => {
|
|
36735
36736
|
if (value.autonomyLevel !== void 0 && value.autonomyReason === void 0) {
|
|
36736
36737
|
context.addIssue({
|
|
36737
36738
|
code: external_exports.ZodIssueCode.custom,
|
|
@@ -36857,6 +36858,10 @@ var githubInstallCallbackResponseSchema = external_exports.object({
|
|
|
36857
36858
|
data: external_exports.object({
|
|
36858
36859
|
installation: mrrlinGithubInstallationSchema,
|
|
36859
36860
|
linkedProjectSlugs: external_exports.array(mrrlinProjectSlugSchema),
|
|
36861
|
+
// Projects the operator initiated the install for whose BOUND repo the installation cannot
|
|
36862
|
+
// access (repo not in the installation's selection) — deliberately NOT linked: "bound"
|
|
36863
|
+
// must mean the repo is actually reachable. Additive; defaults keep old clients parsing.
|
|
36864
|
+
unlinkedProjectSlugs: external_exports.array(mrrlinProjectSlugSchema).default([]),
|
|
36860
36865
|
matchedRepos: external_exports.array(external_exports.string().regex(/^[^/]+\/[^/]+$/)),
|
|
36861
36866
|
setupAction: external_exports.enum(["install", "request", "update"])
|
|
36862
36867
|
})
|
|
@@ -38375,17 +38380,17 @@ function startSelfUpdate(deps) {
|
|
|
38375
38380
|
version: pkgVersion,
|
|
38376
38381
|
latestVersion
|
|
38377
38382
|
});
|
|
38378
|
-
return `[bridge:update] An update for @mrrlin-dev/mcp is available: ${pkgVersion}
|
|
38383
|
+
return `[bridge:update] An update for @mrrlin-dev/mcp is available: ${pkgVersion} -> ${latestVersion}.
|
|
38379
38384
|
|
|
38380
|
-
This turn, at a natural pause, ASK the operator a yes/no question
|
|
38385
|
+
This turn, at a natural pause, ASK the operator a yes/no question IN THE OPERATOR'S LANGUAGE (mirror the language they are chatting in) - e.g. in English: "The bridge is on ${pkgVersion} but npm already has ${latestVersion} - update now? (I'll run \`npm install -g @mrrlin-dev/mcp@latest\`)". Do NOT install without explicit confirmation.
|
|
38381
38386
|
|
|
38382
|
-
If the operator confirms
|
|
38387
|
+
If the operator confirms: immediately run \`npm install -g @mrrlin-dev/mcp@latest\` via your shell tool and report the outcome in chat. After a successful install, the bridge auto-restarts via its self-update loop within a couple of minutes - you do NOT need to call pm2.
|
|
38383
38388
|
|
|
38384
38389
|
If the operator declines / says "later": acknowledge briefly and do not bring it up again this turn. The bridge has a cooldown and will re-offer in 48h.
|
|
38385
38390
|
|
|
38386
38391
|
If the install fails (permission denied, registry pinned, sudo required, network blocked): paste the error verbatim and show the operator the manual command \`npm install -g @mrrlin-dev/mcp@latest\` plus a one-line hint about likely cause.
|
|
38387
38392
|
|
|
38388
|
-
Do NOT derail the current task
|
|
38393
|
+
Do NOT derail the current task - if the operator has an in-flight question, answer that first; the update offer is a brief aside, not the main subject.`;
|
|
38389
38394
|
}
|
|
38390
38395
|
let startupBinSha = null;
|
|
38391
38396
|
try {
|
|
@@ -38545,7 +38550,7 @@ Do NOT derail the current task \u2014 if the operator has an in-flight question,
|
|
|
38545
38550
|
}
|
|
38546
38551
|
|
|
38547
38552
|
// src/_generated/version.ts
|
|
38548
|
-
var PKG_VERSION = "0.3.
|
|
38553
|
+
var PKG_VERSION = "0.3.13";
|
|
38549
38554
|
|
|
38550
38555
|
// src/api-base-url.ts
|
|
38551
38556
|
var DEFAULT_API_BASE_URL = "http://127.0.0.1:8787";
|
|
@@ -44217,7 +44222,15 @@ function tokenRefreshIntervalMs() {
|
|
|
44217
44222
|
const seconds = Math.min(55, Math.max(15, readEnvInt("MRRLIN_DIRECTOR_BRIDGE_TOKEN_REFRESH_SECONDS", 45)));
|
|
44218
44223
|
return seconds * 1e3;
|
|
44219
44224
|
}
|
|
44220
|
-
var
|
|
44225
|
+
var COLLECTED_TURN_TIMEOUT_DEFAULT_MS = 9e5;
|
|
44226
|
+
function collectedTurnTimeoutMs() {
|
|
44227
|
+
const raw = process.env.MRRLIN_COLLECTED_TURN_TIMEOUT_MS;
|
|
44228
|
+
if (raw) {
|
|
44229
|
+
const parsed = Number(raw);
|
|
44230
|
+
if (Number.isFinite(parsed) && parsed > 0) return Math.floor(parsed);
|
|
44231
|
+
}
|
|
44232
|
+
return COLLECTED_TURN_TIMEOUT_DEFAULT_MS;
|
|
44233
|
+
}
|
|
44221
44234
|
var DEFAULT_IMAGE_ONLY_PROMPT = "Look at the attached image.";
|
|
44222
44235
|
var VERIFICATION_BASE_INSTRUCTIONS = [
|
|
44223
44236
|
"You are a deployment verification agent. Make ONLY read-only HTTP requests to the single",
|
|
@@ -44283,8 +44296,8 @@ async function runCollectedCodexTurn(client, prompt, cwd, baseInstructions) {
|
|
|
44283
44296
|
await turnEnded;
|
|
44284
44297
|
},
|
|
44285
44298
|
interrupt: () => client.turn.interrupt({ threadId }),
|
|
44286
|
-
timeoutMs:
|
|
44287
|
-
timeoutMessage: `Collected turn did not complete within ${
|
|
44299
|
+
timeoutMs: collectedTurnTimeoutMs(),
|
|
44300
|
+
timeoutMessage: `Collected turn did not complete within ${collectedTurnTimeoutMs()}ms.`
|
|
44288
44301
|
});
|
|
44289
44302
|
for (const ev of mapper.flush()) if (ev.type === "assistant") chunks.push(ev.content);
|
|
44290
44303
|
} finally {
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@mrrlin-dev/mcp",
|
|
3
|
-
"version": "0.3.
|
|
3
|
+
"version": "0.3.13",
|
|
4
4
|
"type": "module",
|
|
5
5
|
"bin": {
|
|
6
6
|
"mrrlin-mcp": "dist/bin.cjs"
|
|
@@ -22,9 +22,9 @@
|
|
|
22
22
|
"@types/ws": "^8.18.1",
|
|
23
23
|
"esbuild": "^0.24.0",
|
|
24
24
|
"tsx": "^4.22.3",
|
|
25
|
-
"@mrrlin/client": "0.0.0",
|
|
26
25
|
"@mrrlin/codex-client": "0.0.0",
|
|
27
26
|
"@mrrlin/director-e2e": "0.0.0",
|
|
27
|
+
"@mrrlin/client": "0.0.0",
|
|
28
28
|
"@mrrlin/schemas": "0.0.0",
|
|
29
29
|
"@mrrlin/tsconfig": "0.0.0",
|
|
30
30
|
"@mrrlin/wiki": "0.0.0"
|