@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 = [
|
|
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-
|
|
12922
|
+
//# sourceMappingURL=chunk-KDFXICI5.js.map
|