@ai-matrx/meet 0.7.14 → 0.7.17

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.cts CHANGED
@@ -1603,9 +1603,14 @@ interface MeetRepository {
1603
1603
  getOrCreateMeeting(input: CreateMeetingInput): Promise<MeetingRecord>;
1604
1604
  meetingBySlug(slug: string): Promise<MeetingRecord>;
1605
1605
  meeting(id: MeetingId): Promise<MeetingRecord>;
1606
- /** Keyset paged, `(scheduled_for, id)`. */
1606
+ /**
1607
+ * Keyset paged, `(scheduled_for, id)`. Every meeting the person can access, in
1608
+ * ALL their organizations — `organizationId` is an OPTIONAL page filter
1609
+ * (absent/null = all organizations), never the active organization
1610
+ * (active-org-is-never-a-list-filter.md). Access is decided by RLS.
1611
+ */
1607
1612
  listMeetings(args: {
1608
- organizationId: OrganizationId;
1613
+ organizationId?: OrganizationId | null;
1609
1614
  limit?: number;
1610
1615
  before?: {
1611
1616
  scheduledFor: string;
package/dist/index.d.ts CHANGED
@@ -1603,9 +1603,14 @@ interface MeetRepository {
1603
1603
  getOrCreateMeeting(input: CreateMeetingInput): Promise<MeetingRecord>;
1604
1604
  meetingBySlug(slug: string): Promise<MeetingRecord>;
1605
1605
  meeting(id: MeetingId): Promise<MeetingRecord>;
1606
- /** Keyset paged, `(scheduled_for, id)`. */
1606
+ /**
1607
+ * Keyset paged, `(scheduled_for, id)`. Every meeting the person can access, in
1608
+ * ALL their organizations — `organizationId` is an OPTIONAL page filter
1609
+ * (absent/null = all organizations), never the active organization
1610
+ * (active-org-is-never-a-list-filter.md). Access is decided by RLS.
1611
+ */
1607
1612
  listMeetings(args: {
1608
- organizationId: OrganizationId;
1613
+ organizationId?: OrganizationId | null;
1609
1614
  limit?: number;
1610
1615
  before?: {
1611
1616
  scheduledFor: string;
package/dist/index.js CHANGED
@@ -2233,9 +2233,10 @@ function createMeetRepository(options) {
2233
2233
  if (response.data === null) throw invalidResponse("meet.meeting", "no such meeting");
2234
2234
  return projectMeeting(response.data);
2235
2235
  },
2236
- async listMeetings({ organizationId, limit = 25, before = null }) {
2237
- requireOrg(organizationId, "meet.listMeetings");
2238
- let query = db.from(TABLES.meetings).select(MEETING_COLUMNS).eq("organization_id", organizationId).order("scheduled_for", { ascending: false }).order("id", { ascending: false }).limit(limit + 1);
2236
+ async listMeetings({ organizationId = null, limit = 25, before = null }) {
2237
+ let query = db.from(TABLES.meetings).select(MEETING_COLUMNS);
2238
+ if (organizationId !== null) query = query.eq("organization_id", organizationId);
2239
+ query = query.order("scheduled_for", { ascending: false }).order("id", { ascending: false }).limit(limit + 1);
2239
2240
  if (before !== null) {
2240
2241
  query = query.or(
2241
2242
  `scheduled_for.lt.${before.scheduledFor},and(scheduled_for.eq.${before.scheduledFor},id.lt.${before.id})`
@@ -3380,7 +3381,7 @@ function createCallInviteHandler(options) {
3380
3381
  choices: (payload) => {
3381
3382
  if (Date.parse(payload.expires_at) < now()) return [];
3382
3383
  return [
3383
- { id: "join", label: payload.mode === "video" ? "Join video" : "Join call", tone: "primary" },
3384
+ { id: "join", label: payload.mode === "video" ? "Join video" : "Join call", icon: payload.mode === "video" ? "video" : "phone", tone: "primary" },
3384
3385
  { id: "decline", label: "Decline", tone: "neutral" }
3385
3386
  ];
3386
3387
  },
@@ -4517,12 +4518,7 @@ function recordingOffsetMs(at, recording) {
4517
4518
  return moment - start;
4518
4519
  }
4519
4520
  function clockPosition(offsetMs) {
4520
- const total = Math.max(0, Math.floor(offsetMs / 1e3));
4521
- const h = Math.floor(total / 3600);
4522
- const m = Math.floor(total % 3600 / 60);
4523
- const s = total % 60;
4524
- const ss = String(s).padStart(2, "0");
4525
- return h > 0 ? `${h}:${String(m).padStart(2, "0")}:${ss}` : `${m}:${ss}`;
4521
+ return formatDurationMs(Math.max(0, offsetMs), { style: "clock" });
4526
4522
  }
4527
4523
  function searchTranscript(segments, query, names = {}) {
4528
4524
  const needle = fold(query.trim());