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 CHANGED
@@ -32,6 +32,7 @@ export interface Frontmatter {
32
32
  captured_at?: string;
33
33
  tags: string[];
34
34
  attendees: string[];
35
+ attendees_raw?: string;
35
36
  people: string[];
36
37
  context?: string;
37
38
  calendar_event?: string;
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 inAttendees = meeting.frontmatter.attendees.some((a) => a.toLowerCase().includes(nameLower));
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
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "minutes-sdk",
3
- "version": "0.11.0",
3
+ "version": "0.11.2",
4
4
  "description": "Conversation memory SDK — query meeting transcripts, decisions, and action items from any AI agent or application",
5
5
  "main": "dist/index.js",
6
6
  "types": "dist/index.d.ts",