@mrrlin-dev/mcp 0.3.34 → 0.3.37

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 +21 -7
  2. package/package.json +5 -5
package/dist/bin.cjs CHANGED
@@ -20810,10 +20810,11 @@ function renderBlock(block) {
20810
20810
  var KNOWN_MRRLIN_ENV_KEYS = /* @__PURE__ */ new Set(["MRRLIN_STAGING", "MRRLIN_API_BASE_URL", "MRRLIN_API_ALLOW_REMOTE"]);
20811
20811
  function commandArgsTimeoutEqual(candidate, expected) {
20812
20812
  if (candidate.command !== expected.command) return false;
20813
- if (!Array.isArray(candidate.args)) return false;
20814
- if (candidate.args.length !== expected.args.length) return false;
20813
+ const actualArgs = candidate.args === void 0 && expected.args.length === 0 ? [] : Array.isArray(candidate.args) ? candidate.args : null;
20814
+ if (actualArgs === null) return false;
20815
+ if (actualArgs.length !== expected.args.length) return false;
20815
20816
  for (let index = 0; index < expected.args.length; index += 1) {
20816
- if (candidate.args[index] !== expected.args[index]) return false;
20817
+ if (actualArgs[index] !== expected.args[index]) return false;
20817
20818
  }
20818
20819
  if (candidate.startup_timeout_sec !== void 0 && candidate.startup_timeout_sec !== expected.startup_timeout_sec) {
20819
20820
  return false;
@@ -36884,6 +36885,7 @@ var mrrlinTaskCreateSchema = external_exports.object({
36884
36885
  id: mrrlinTaskIdSchema,
36885
36886
  impact: mrrlinTaskImpactSchema.default("medium"),
36886
36887
  notes: external_exports.string().nullable().optional(),
36888
+ parentTaskId: mrrlinTaskIdSchema.nullable().optional(),
36887
36889
  operatorSeedRequest: external_exports.string().max(8e3).nullable().optional(),
36888
36890
  planId: mrrlinPlanIdSchema.nullable().optional(),
36889
36891
  specWikiPageId: mrrlinWikiPageIdSchema.nullable().optional(),
@@ -38918,7 +38920,7 @@ function startCodexProbe(deps = {}) {
38918
38920
  }
38919
38921
 
38920
38922
  // src/_generated/version.ts
38921
- var PKG_VERSION = "0.3.34";
38923
+ var PKG_VERSION = "0.3.37";
38922
38924
 
38923
38925
  // src/api-base-url.ts
38924
38926
  var DEFAULT_API_BASE_URL = "http://127.0.0.1:8787";
@@ -39785,13 +39787,22 @@ function buildSpecGateDeps(args) {
39785
39787
  const taskId = await resolveGatedTaskId(client, projectSlug, { id: page.id, taskId: page.taskId ?? null });
39786
39788
  if (taskId === null) {
39787
39789
  const project = await client.getProject(projectSlug);
39788
- return { taskId: null, seed: null, title: null, domain: project.defaultDomain };
39790
+ return { taskId: null, seed: null, title: null, domain: project.defaultDomain, notes: null };
39789
39791
  }
39790
39792
  const task = await client.getTask(projectSlug, taskId);
39791
39793
  if (!task) {
39792
39794
  throw new Error(`gated task ${projectSlug}/${taskId} not found for spec ${specPageId} \u2014 cannot gate`);
39793
39795
  }
39794
- return { taskId, seed: task.operatorSeedRequest ?? null, title: task.title ?? "", domain: task.domain };
39796
+ const notes = task.notes ?? null;
39797
+ const rawSeed = task.operatorSeedRequest ?? null;
39798
+ let resolvedSeed = rawSeed;
39799
+ if (rawSeed === null || rawSeed.trim() === "") {
39800
+ const parsed = notes ? parseAcceptanceCriteria(notes) : null;
39801
+ if (parsed !== null && parsed.items.length > 0) {
39802
+ resolvedSeed = "(No operator statement on record for this task. Derived from the task's own notes \u2014 the following acceptance criteria were extracted verbatim:)\n\n" + parsed.items.map((c) => `- ${c}`).join("\n");
39803
+ }
39804
+ }
39805
+ return { taskId, seed: resolvedSeed, title: task.title ?? "", domain: task.domain, notes };
39795
39806
  })();
39796
39807
  }
39797
39808
  return intentPromise;
@@ -47053,6 +47064,9 @@ var DEFAULT_DIRECTOR_BRIDGE_ALLOWED_ORIGINS = [
47053
47064
  "http://localhost:*",
47054
47065
  "http://127.0.0.1:*",
47055
47066
  "http://[::1]:*",
47067
+ // Staging Vercel team migrated 2026-07-28 (see docs/reference/deployments.md); the prior
47068
+ // fnnzzz-fnnzzzs-projects alias is kept below for any operator still on an old bridge build.
47069
+ "https://mrrlin-web-mrrlin2.vercel.app",
47056
47070
  "https://mrrlin-web-fnnzzz-fnnzzzs-projects.vercel.app",
47057
47071
  "https://app.mrrlin.dev",
47058
47072
  "https://mrrlin-web.vercel.app"
@@ -54473,7 +54487,7 @@ var mcpToolDescriptions = {
54473
54487
  [mcpToolNames.appendTaskEvent]: "Append an operator note to a task's activity timeline.",
54474
54488
  [mcpToolNames.createWikiPage]: "Create a markdown Wiki page.",
54475
54489
  [mcpToolNames.deleteTaskDependency]: "Delete a blocked-by relationship.",
54476
- [mcpToolNames.createTask]: "Create a new task in a project. Always starts as status='todo' with a blank assignee.",
54490
+ [mcpToolNames.createTask]: "Create a new task in a project. Always starts as status='todo' with a blank assignee. Pass parentTaskId when spawning a follow-up task to continue work from an existing task \u2014 its operator_seed_request is inherited automatically if you don't supply your own.",
54477
54491
  [mcpToolNames.getProject]: "Fetch a single project summary by slug.",
54478
54492
  [mcpToolNames.getProjectSnapshot]: "Fetch the full project snapshot: GitHub binding, tasks, plans, and wiki pages.",
54479
54493
  [mcpToolNames.getTask]: "Fetch a single task by project slug and task id.",
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@mrrlin-dev/mcp",
3
- "version": "0.3.34",
3
+ "version": "0.3.37",
4
4
  "type": "module",
5
5
  "bin": {
6
6
  "mrrlin-mcp": "dist/bin.cjs"
@@ -21,12 +21,12 @@
21
21
  "@types/ws": "^8.18.1",
22
22
  "esbuild": "^0.24.0",
23
23
  "tsx": "^4.22.3",
24
- "@mrrlin/schemas": "0.0.0",
24
+ "@mrrlin/client": "0.0.0",
25
25
  "@mrrlin/director-e2e": "0.0.0",
26
- "@mrrlin/wiki": "0.0.0",
27
26
  "@mrrlin/codex-client": "0.0.0",
28
- "@mrrlin/client": "0.0.0",
29
- "@mrrlin/tsconfig": "0.0.0"
27
+ "@mrrlin/tsconfig": "0.0.0",
28
+ "@mrrlin/wiki": "0.0.0",
29
+ "@mrrlin/schemas": "0.0.0"
30
30
  },
31
31
  "dependencies": {
32
32
  "@iarna/toml": "^2.2.5",