minutes-mcp 0.26.2 → 0.27.0
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.d.ts +1 -1
- package/dist/index.js +25 -5
- package/dist-ui/index.html +135 -143
- package/package.json +4 -4
package/dist/index.d.ts
CHANGED
|
@@ -191,7 +191,7 @@ export declare function runAgentToolPolicies<T>(name: string, input: unknown, op
|
|
|
191
191
|
* does.
|
|
192
192
|
*/
|
|
193
193
|
export declare function registerToolWithRestrictedPolicy(serverArg: McpServer, name: string, description: string, inputSchema: Record<string, unknown>, annotations: Record<string, unknown>, handler: (...args: any[]) => any, readiness?: () => Promise<unknown>): import("@modelcontextprotocol/sdk/server/mcp.js").RegisteredTool;
|
|
194
|
-
export declare function registerDocsAppToolWithRestrictedPolicy(serverArg: McpServer, name: string, config: Record<string, unknown>, handler: (...args: any[]) => any):
|
|
194
|
+
export declare function registerDocsAppToolWithRestrictedPolicy(serverArg: McpServer, name: string, config: Record<string, unknown>, handler: (...args: any[]) => any): RegisteredTool;
|
|
195
195
|
/**
|
|
196
196
|
* Parse a live meeting under the stricter agent policy. The SDK version
|
|
197
197
|
* bundled by an already-published MCP package may not yet know a future or
|
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
|
-
|
|
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.
|
|
1594
|
+
const MCP_SERVER_VERSION = "0.27.0";
|
|
1575
1595
|
export function parseKnowledgeConfig(configContent) {
|
|
1576
1596
|
const knowledgeMatch = configContent.match(/\[knowledge\][\s\S]*?(?=\n\[|$)/);
|
|
1577
1597
|
if (!knowledgeMatch) {
|
|
@@ -2720,7 +2740,7 @@ export async function requireAgentTrustReadiness(runner = runMinutes) {
|
|
|
2720
2740
|
const readiness = await readAgentTrustReadiness(runner);
|
|
2721
2741
|
if (!readiness.ready) {
|
|
2722
2742
|
throw new Error(readiness.remediation ||
|
|
2723
|
-
"This machine shows a Minutes-owned QMD registration that qmd could not confirm was removed.
|
|
2743
|
+
"This machine shows a Minutes-owned QMD registration that qmd could not confirm was removed, so agent memory stays disabled until it can. With the Minutes CLI installed, check that `qmd` runs (`qmd collection list`), then run `minutes qmd cleanup` and restart Minutes. The desktop app cannot perform this repair on its own yet, so on a desktop-only install this needs the CLI; if you are seeing this on a machine that never had it, please report it, because the check should not be firing there at all.");
|
|
2724
2744
|
}
|
|
2725
2745
|
return readiness;
|
|
2726
2746
|
}
|