minutes-mcp 0.26.2 → 0.26.3

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/index.js CHANGED
@@ -48,7 +48,7 @@ import { access, mkdir, readFile, rm, stat, writeFile } from "fs/promises";
48
48
  import { basename, delimiter, dirname, extname, isAbsolute, join, relative, resolve } from "path";
49
49
  import { fileURLToPath } from "url";
50
50
  import { homedir } from "os";
51
- import { parse as parseYaml } from "yaml";
51
+ import { parse as parseYaml, stringify as stringifyYaml } from "yaml";
52
52
  import * as reader from "minutes-sdk";
53
53
  import { canonicalizeRoot, expandHomeLikePath, readTextFileInDirectory, validatePathInDirectories, validatePathInDirectory, } from "./paths.js";
54
54
  import { isCliCompatible, parseVersion } from "./version.js";
@@ -532,6 +532,7 @@ export function parsePolicyVerifiedMeeting(content, filePath) {
532
532
  const { yaml } = reader.splitFrontmatter(content);
533
533
  if (!yaml)
534
534
  return null;
535
+ let parsedFrontmatter;
535
536
  try {
536
537
  const parsed = parseYaml(yaml);
537
538
  if (!parsed || typeof parsed !== "object" || Array.isArray(parsed))
@@ -539,7 +540,7 @@ export function parsePolicyVerifiedMeeting(content, filePath) {
539
540
  if (typeof parsed.title !== "string" || parsed.title.trim() === "")
540
541
  return null;
541
542
  if (typeof parsed.type !== "string" ||
542
- !["meeting", "memo", "dictation"].includes(parsed.type)) {
543
+ !["meeting", "memo", "dictation", "note"].includes(parsed.type)) {
543
544
  return null;
544
545
  }
545
546
  const parsedDate = parsed.date instanceof Date ? parsed.date : new Date(String(parsed.date ?? ""));
@@ -550,11 +551,30 @@ export function parsePolicyVerifiedMeeting(content, filePath) {
550
551
  parsed.sensitivity !== "restricted") {
551
552
  return null;
552
553
  }
554
+ parsedFrontmatter = parsed;
553
555
  }
554
556
  catch {
555
557
  return null;
556
558
  }
557
- return reader.parseFrontmatter(content, filePath);
559
+ const sdkParsed = reader.parseFrontmatter(content, filePath);
560
+ if (sdkParsed || parsedFrontmatter.type !== "note")
561
+ return sdkParsed;
562
+ // The MCP package is tested against the last published SDK, which can lag
563
+ // this repository by one release. Preserve that parser's normalization and
564
+ // fail-closed checks while adapting only the newly valid discriminator.
565
+ const { body } = reader.splitFrontmatter(content);
566
+ const sdkCompatibleContent = [
567
+ "---",
568
+ stringifyYaml({ ...parsedFrontmatter, type: "meeting" }).trimEnd(),
569
+ "---",
570
+ body,
571
+ ].join("\n");
572
+ const note = reader.parseFrontmatter(sdkCompatibleContent, filePath);
573
+ if (!note)
574
+ return null;
575
+ note.frontmatter.type = "note";
576
+ note.body = body;
577
+ return note;
558
578
  }
559
579
  function comparePolicyMeetingsNewestFirst(left, right) {
560
580
  const leftDate = Date.parse(left.meeting.frontmatter.date);
@@ -1571,7 +1591,7 @@ const COPILOT_SUPPORTED = hasFeature(CLI_CAPABILITIES, "copilot_realtime");
1571
1591
  // `./version.ts` (see issue #183). Hosted `.mcpb` bundles will run
1572
1592
  // against CLIs with different minor/patch numbers within the same
1573
1593
  // major; that is explicitly supported.
1574
- const MCP_SERVER_VERSION = "0.26.2";
1594
+ const MCP_SERVER_VERSION = "0.26.3";
1575
1595
  export function parseKnowledgeConfig(configContent) {
1576
1596
  const knowledgeMatch = configContent.match(/\[knowledge\][\s\S]*?(?=\n\[|$)/);
1577
1597
  if (!knowledgeMatch) {