minutes-sdk 0.11.0 → 0.11.2
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/reader.d.ts +1 -0
- package/dist/reader.js +25 -1
- package/package.json +1 -1
package/dist/reader.d.ts
CHANGED
package/dist/reader.js
CHANGED
|
@@ -15,6 +15,25 @@ import { readFile, readdir } from "fs/promises";
|
|
|
15
15
|
import { join, extname } from "path";
|
|
16
16
|
import { homedir } from "os";
|
|
17
17
|
import { parse as parseYaml } from "yaml";
|
|
18
|
+
function parseRawAttendees(raw) {
|
|
19
|
+
if (!raw)
|
|
20
|
+
return [];
|
|
21
|
+
const attendees = [];
|
|
22
|
+
for (const token of raw.split(",")) {
|
|
23
|
+
const trimmed = token.trim();
|
|
24
|
+
if (!trimmed || trimmed.toLowerCase() === "none")
|
|
25
|
+
continue;
|
|
26
|
+
const parenMatch = trimmed.match(/^(.*?)\s*\([^)]*\)$/);
|
|
27
|
+
const angleMatch = trimmed.match(/^(.*?)\s*<[^>]*>$/);
|
|
28
|
+
const value = (parenMatch?.[1] || angleMatch?.[1] || trimmed).trim();
|
|
29
|
+
if (!value)
|
|
30
|
+
continue;
|
|
31
|
+
if (!attendees.some((existing) => existing.toLowerCase() === value.toLowerCase())) {
|
|
32
|
+
attendees.push(value);
|
|
33
|
+
}
|
|
34
|
+
}
|
|
35
|
+
return attendees;
|
|
36
|
+
}
|
|
18
37
|
// ── Parsing ──────────────────────────────────────────────────
|
|
19
38
|
/**
|
|
20
39
|
* Split markdown content into YAML frontmatter and body.
|
|
@@ -56,6 +75,7 @@ export function parseFrontmatter(content, filePath) {
|
|
|
56
75
|
attendees: Array.isArray(parsed.attendees)
|
|
57
76
|
? parsed.attendees.map(String)
|
|
58
77
|
: [],
|
|
78
|
+
attendees_raw: parsed.attendees_raw ? String(parsed.attendees_raw) : undefined,
|
|
59
79
|
people: Array.isArray(parsed.people) ? parsed.people.map(String) : [],
|
|
60
80
|
context: parsed.context ? String(parsed.context) : undefined,
|
|
61
81
|
calendar_event: parsed.calendar_event
|
|
@@ -220,7 +240,11 @@ export async function getPersonProfile(dir, name) {
|
|
|
220
240
|
const meeting = await readMeetingFile(file);
|
|
221
241
|
if (!meeting)
|
|
222
242
|
continue;
|
|
223
|
-
const
|
|
243
|
+
const attendees = [
|
|
244
|
+
...meeting.frontmatter.attendees,
|
|
245
|
+
...parseRawAttendees(meeting.frontmatter.attendees_raw),
|
|
246
|
+
];
|
|
247
|
+
const inAttendees = attendees.some((a) => a.toLowerCase().includes(nameLower));
|
|
224
248
|
const inPeople = meeting.frontmatter.people.some((p) => p.toLowerCase().includes(nameLower));
|
|
225
249
|
const inBody = meeting.body.toLowerCase().includes(nameLower);
|
|
226
250
|
if (inAttendees || inPeople || inBody) {
|
package/package.json
CHANGED