@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.
Files changed (2) hide show
  1. package/dist/bin.cjs +22 -9
  2. 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} \u2192 ${latestVersion}.
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 \u2014 e.g. "\u0411\u0430\u0447\u0443 \u0449\u043E bridge \u043D\u0430 ${pkgVersion}, \u043D\u0430 npm \u0443\u0436\u0435 ${latestVersion} \u2014 \u043E\u043D\u043E\u0432\u0438\u0442\u0438 \u0437\u0430\u0440\u0430\u0437? (\u0437\u0430\u043F\u0443\u0449\u0443 \`npm install -g @mrrlin-dev/mcp@latest\`)". Do NOT install without explicit confirmation.
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 (yes / \u0442\u0430\u043A / \u0430\u0433\u0430 / etc.): 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 \u2014 you do NOT need to call pm2.
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 \u2014 if the operator has an in-flight question, answer that first; the update offer is a brief aside, not the main subject.`;
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.12";
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 COLLECTED_TURN_TIMEOUT_MS = 3e5;
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: COLLECTED_TURN_TIMEOUT_MS,
44287
- timeoutMessage: `Collected turn did not complete within ${COLLECTED_TURN_TIMEOUT_MS}ms.`
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.12",
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"