@productbrain/mcp 0.0.1-beta.10129 → 0.0.1-beta.10137

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.
@@ -6912,6 +6912,28 @@ function formatRuleListsLines(ruleLists) {
6912
6912
  if (lines.length === 0 && ruleLists.unassigned === 0 && !ruleLists.truncated && ruleLists.actingRoleBound !== false) return [];
6913
6913
  return [...lines, ...formatRuleListTrailers(ruleLists)];
6914
6914
  }
6915
+ var SEAT_WORDS = {
6916
+ coveringAs: "covering as Team Lead of",
6917
+ held: "Roles you hold",
6918
+ covered: "You cover as Team Lead",
6919
+ /** A write made while covering, on the decision's history line: "<name>, as Team Lead covering <role>". */
6920
+ coveredWrite: "as Team Lead covering"
6921
+ };
6922
+ var SEAT_LINE_COVERED_NAMED = 10;
6923
+ function actingRoleHeadline(role, clean = briefingLine) {
6924
+ const covering = role.coveringAs ? `, ${SEAT_WORDS.coveringAs} ${clean(role.coveringAs)}` : "";
6925
+ return `Acting as role: ${clean(role.name)}${role.entryId ? ` (${clean(role.entryId)})` : ""}${covering}`;
6926
+ }
6927
+ function formatSeatsLine(seats) {
6928
+ const one = (seat) => {
6929
+ const tag = [seat.entryId, seat.team].filter((x) => Boolean(x)).map(sanitizeRuleListField).join(", ");
6930
+ return `${briefingLine(seat.name)}${tag ? ` (${tag})` : ""}`;
6931
+ };
6932
+ const named = seats.covered.slice(0, SEAT_LINE_COVERED_NAMED).map(one);
6933
+ const more = seats.covered.length - named.length;
6934
+ const covered = [String(seats.covered.length), ...named, ...more > 0 ? [`and ${more} more`] : []].join(", ");
6935
+ return `${SEAT_WORDS.held}: ${seats.seated.map(one).join(", ") || "none"}. ${SEAT_WORDS.covered}: ${covered}.${seats.truncated ? " (This list may be incomplete.)" : ""}`;
6936
+ }
6915
6937
  var ROLE_BODY_HEADINGS = "Purpose, Decides, Routes elsewhere, Does not";
6916
6938
  var EMPTY_ROLE_BODY_HINT = `This role has no description yet. Its holder writes one under ${ROLE_BODY_HEADINGS}.`;
6917
6939
  var ROLE_BODY_WRITE_DOORS = {
@@ -6919,7 +6941,7 @@ var ROLE_BODY_WRITE_DOORS = {
6919
6941
  mcp: (_roleRef) => "Open the role in the Rail and write its body there."
6920
6942
  };
6921
6943
  function formatActingRoleLines(role, surface) {
6922
- const lines = [`Acting as role: ${briefingLine(role.name)}${idTag(role.entryId)}`];
6944
+ const lines = [actingRoleHeadline(role)];
6923
6945
  if (role.team) lines.push(`Team: ${briefingLine(role.team)}`);
6924
6946
  const body = role.body ?? "";
6925
6947
  if (body.trim()) lines.push(ROLE_BODY_FRAMING, ...quoteDataLines(body.split("\n"), ROLE_BODY_TAG));
@@ -6989,6 +7011,7 @@ function formatBriefingLines(view) {
6989
7011
  if (f.spineUnavailable) lines.push("Objective: unavailable \u2014 the objectives read failed; orient again to retry.");
6990
7012
  if (f.truncated) lines.push("(A bounded read hit its cap: a fact above may be missing or not the current one.)");
6991
7013
  if (f.role) lines.push("", ...formatActingRoleLines(f.role, view.surface));
7014
+ if (f.seats) lines.push(formatSeatsLine(f.seats));
6992
7015
  if (view.sessionStart) lines.push("", ...GOVERNANCE_HERE_LINES, "", ...WORKING_WITH_PEOPLE_LINES);
6993
7016
  const ruleLines = formatRuleListsLines(view.ruleLists);
6994
7017
  const rl = view.ruleLists;
@@ -12896,4 +12919,4 @@ export {
12896
12919
  createProductBrainServer,
12897
12920
  initFeatureFlags
12898
12921
  };
12899
- //# sourceMappingURL=chunk-CEKQOAND.js.map
12922
+ //# sourceMappingURL=chunk-KDFXICI5.js.map