@ai-matrx/meet 0.7.73 → 0.7.75

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
@@ -2813,6 +2813,12 @@ declare const MEET_ROUTES: {
2813
2813
  readonly record: "/api/v1/meet/record";
2814
2814
  /** A host chooses what guests may read of ONE meeting (MRF-1). */
2815
2815
  readonly recordAccess: "/api/v1/meet/record/access";
2816
+ /**
2817
+ * KEEP YOUR NOTES (2026-10-01): a guest who just created an account presents
2818
+ * their kept pass in `x-meet-room-token` with their new session, and the
2819
+ * meeting they attended becomes theirs to read. Idempotent; never a grant.
2820
+ */
2821
+ readonly claim: "/api/v1/meet/claim";
2816
2822
  /**
2817
2823
  * Meet wave 1 (0.8): bring every invitee up to date after a write — sends the
2818
2824
  * invitation / update / cancellation emails with their `.ics` and re-queues
@@ -3087,6 +3093,13 @@ declare function loadGuestMeetingRecord(args: {
3087
3093
  meetingId: MeetingId;
3088
3094
  meeting: MeetingRecord;
3089
3095
  roomToken: RoomToken | null;
3096
+ /**
3097
+ * A SIGNED-IN reader the database refused (from another organization, or a
3098
+ * guest who later created an account). Their session stands in for the
3099
+ * pass: the server reads their `user:<id>` admission or the attendance they
3100
+ * claimed, and shares what guests may read (2026-10-01).
3101
+ */
3102
+ session?: boolean;
3090
3103
  }): Promise<MeetingRecordBundle>;
3091
3104
  /**
3092
3105
  * A HOST chooses what guests may read of THIS meeting.
package/dist/index.d.ts CHANGED
@@ -2813,6 +2813,12 @@ declare const MEET_ROUTES: {
2813
2813
  readonly record: "/api/v1/meet/record";
2814
2814
  /** A host chooses what guests may read of ONE meeting (MRF-1). */
2815
2815
  readonly recordAccess: "/api/v1/meet/record/access";
2816
+ /**
2817
+ * KEEP YOUR NOTES (2026-10-01): a guest who just created an account presents
2818
+ * their kept pass in `x-meet-room-token` with their new session, and the
2819
+ * meeting they attended becomes theirs to read. Idempotent; never a grant.
2820
+ */
2821
+ readonly claim: "/api/v1/meet/claim";
2816
2822
  /**
2817
2823
  * Meet wave 1 (0.8): bring every invitee up to date after a write — sends the
2818
2824
  * invitation / update / cancellation emails with their `.ics` and re-queues
@@ -3087,6 +3093,13 @@ declare function loadGuestMeetingRecord(args: {
3087
3093
  meetingId: MeetingId;
3088
3094
  meeting: MeetingRecord;
3089
3095
  roomToken: RoomToken | null;
3096
+ /**
3097
+ * A SIGNED-IN reader the database refused (from another organization, or a
3098
+ * guest who later created an account). Their session stands in for the
3099
+ * pass: the server reads their `user:<id>` admission or the attendance they
3100
+ * claimed, and shares what guests may read (2026-10-01).
3101
+ */
3102
+ session?: boolean;
3090
3103
  }): Promise<MeetingRecordBundle>;
3091
3104
  /**
3092
3105
  * A HOST chooses what guests may read of THIS meeting.
package/dist/index.js CHANGED
@@ -199,6 +199,12 @@ var MEET_ROUTES = {
199
199
  record: "/api/v1/meet/record",
200
200
  /** A host chooses what guests may read of ONE meeting (MRF-1). */
201
201
  recordAccess: "/api/v1/meet/record/access",
202
+ /**
203
+ * KEEP YOUR NOTES (2026-10-01): a guest who just created an account presents
204
+ * their kept pass in `x-meet-room-token` with their new session, and the
205
+ * meeting they attended becomes theirs to read. Idempotent; never a grant.
206
+ */
207
+ claim: "/api/v1/meet/claim",
202
208
  /**
203
209
  * Meet wave 1 (0.8): bring every invitee up to date after a write — sends the
204
210
  * invitation / update / cancellation emails with their `.ics` and re-queues
@@ -5639,7 +5645,7 @@ import { formatDurationMs as formatDurationMs2 } from "@ai-matrx/kit/format";
5639
5645
  function activeWrapUpSummary(notes) {
5640
5646
  return notes.find((note) => note.role === "summary" && note.supersededBy === null) ?? null;
5641
5647
  }
5642
- var RESTRICTION_REMEDY = "The people in this meeting's organization can read it. Sign in with an account in that organization \u2014 following the link is enough to join a meeting, but not to read its record.";
5648
+ var RESTRICTION_REMEDY = "Open it from the meeting link in the browser you attended with, or ask the host to share it.";
5643
5649
  var PART_LABEL = {
5644
5650
  transcript: "The transcript of this meeting is not readable from this account.",
5645
5651
  notes: "The notes, decisions and action items are not readable from this account.",
@@ -5898,7 +5904,8 @@ function summarizeMeetingRecordRestrictions(restrictions) {
5898
5904
  }
5899
5905
  async function loadGuestMeetingRecord(args) {
5900
5906
  const { api, repository, meetingId, meeting, roomToken } = args;
5901
- if (roomToken === null) {
5907
+ const session = args.session === true;
5908
+ if (roomToken === null && !session) {
5902
5909
  return refusedBundle(
5903
5910
  meeting,
5904
5911
  "This meeting's record is only readable by the people who were in it.",
@@ -5911,9 +5918,9 @@ async function loadGuestMeetingRecord(args) {
5911
5918
  path: `${MEET_ROUTES.record}?meeting_id=${encodeURIComponent(meetingId)}`,
5912
5919
  method: "GET",
5913
5920
  // A GUEST HAS NO SESSION AND IS STILL A FIRST-CLASS READER (D6).
5914
- requireAuth: false,
5921
+ requireAuth: session,
5915
5922
  operation: "meet.record",
5916
- headers: { [ROOM_TOKEN_HEADER]: roomToken.token }
5923
+ headers: roomToken === null ? {} : { [ROOM_TOKEN_HEADER]: roomToken.token }
5917
5924
  });
5918
5925
  } catch (error) {
5919
5926
  return refusedBundle(