@aiquants/daily-report 0.33.0 → 0.34.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.
@@ -0,0 +1,127 @@
1
+ import { d as DailyReportDetail, l as DailyReportPostedComment, D as DailyReportItem, i as DailyReportExternalComment } from "./sse-schema-DVIUaiAG.mjs";
2
+ declare const DAILY_REPORT_ACTION_INTENTS: readonly [
3
+ "create",
4
+ "update",
5
+ "publish",
6
+ "delete",
7
+ "toggleStar",
8
+ "toggleRead",
9
+ "addComment",
10
+ "deleteComment",
11
+ "clearCache"
12
+ ];
13
+ type DailyReportActionIntent = (typeof DAILY_REPORT_ACTION_INTENTS)[number];
14
+ declare const DAILY_REPORT_ACTION_FIELDS: Readonly<{
15
+ readonly intent: "intent";
16
+ readonly clientTempId: "clientTempId";
17
+ readonly businessDate: "businessDate";
18
+ readonly operationTimestamp: "operationTimestamp";
19
+ readonly reportHubId: "reportHubId";
20
+ readonly title: "title";
21
+ readonly content: "content";
22
+ readonly isStarred: "isStarred";
23
+ readonly isRead: "isRead";
24
+ readonly commentId: "commentId";
25
+ }>;
26
+ type ActionCommandBase<ClientTempId extends string> = {
27
+ readonly clientTempId: ClientTempId;
28
+ readonly businessDate: string | null;
29
+ readonly operationTimestamp: number | null;
30
+ };
31
+ type ActionCommand<ClientTempId extends string = string> = {
32
+ readonly intent: "clearCache";
33
+ } | (ActionCommandBase<ClientTempId> & {
34
+ readonly intent: "create";
35
+ readonly businessDate: string;
36
+ }) | (ActionCommandBase<ClientTempId> & {
37
+ readonly intent: "update";
38
+ readonly reportHubId: number;
39
+ readonly changes: {
40
+ readonly title?: string;
41
+ readonly content?: string;
42
+ };
43
+ }) | (ActionCommandBase<ClientTempId> & {
44
+ readonly intent: "publish" | "delete";
45
+ readonly reportHubId: number;
46
+ }) | (ActionCommandBase<ClientTempId> & {
47
+ readonly intent: "toggleStar" | "toggleRead";
48
+ readonly reportHubId: number;
49
+ readonly value: boolean;
50
+ }) | (ActionCommandBase<ClientTempId> & {
51
+ readonly intent: "addComment";
52
+ readonly reportHubId: number;
53
+ readonly content: string;
54
+ }) | (ActionCommandBase<ClientTempId> & {
55
+ readonly intent: "deleteComment";
56
+ readonly reportHubId: number;
57
+ readonly commentId: number;
58
+ });
59
+ declare const encodeActionCommand: (command: ActionCommand) => FormData;
60
+ type ActionEcho<Intent extends DailyReportActionIntent> = {
61
+ readonly status: "OK";
62
+ readonly intent: Intent;
63
+ readonly reportHubId: number;
64
+ readonly clientTempId: string;
65
+ };
66
+ type ActionToggleFields = {
67
+ readonly updatedStatus: {
68
+ readonly isStarred: boolean;
69
+ readonly isRead: boolean;
70
+ };
71
+ readonly operationTimestamp: number | null;
72
+ };
73
+ type ActionResult = (ActionEcho<"create"> & {
74
+ readonly report: DailyReportDetail;
75
+ }) | ActionEcho<"update"> | (ActionEcho<"publish"> & {
76
+ readonly report: DailyReportDetail | null;
77
+ }) | ActionEcho<"delete"> | (ActionEcho<"toggleStar"> & ActionToggleFields) | (ActionEcho<"toggleRead"> & ActionToggleFields) | (ActionEcho<"addComment"> & {
78
+ readonly newComment: DailyReportPostedComment;
79
+ }) | (ActionEcho<"deleteComment"> & {
80
+ readonly deletedCommentId: number;
81
+ }) | {
82
+ readonly status: "OK";
83
+ readonly intent: "clearCache";
84
+ };
85
+ type ActionResultOf<Intent extends DailyReportActionIntent> = Extract<ActionResult, {
86
+ readonly intent: Intent;
87
+ }>;
88
+ type ActionFailure = {
89
+ readonly error: string;
90
+ };
91
+ type ActionResultReading<Intent extends DailyReportActionIntent> = {
92
+ readonly result: ActionResultOf<Intent>;
93
+ } | {
94
+ readonly mismatch: string;
95
+ };
96
+ declare const parseActionResult: <Intent extends DailyReportActionIntent>(intent: Intent, json: unknown) => ActionResultReading<Intent>;
97
+ type DailyReportIdsStreamCursor = {
98
+ businessDate: string | null;
99
+ reportHubId: number;
100
+ };
101
+ type DailyReportIdsStreamChunkLine = {
102
+ kind: "chunk";
103
+ items: DailyReportItem[];
104
+ nextCursor: DailyReportIdsStreamCursor | null;
105
+ isLast: boolean;
106
+ total?: number;
107
+ provisional?: boolean;
108
+ snapshot?: string;
109
+ restarted?: boolean;
110
+ streamAnchor?: string | null;
111
+ };
112
+ type DailyReportSseStreamAnchor = {
113
+ readonly lastEventId: string | null;
114
+ readonly revision: number;
115
+ };
116
+ declare const isIdsStreamChunkLine: (line: unknown) => line is DailyReportIdsStreamChunkLine;
117
+ type UIComment = {
118
+ id: string | number;
119
+ authorName: string;
120
+ content: string;
121
+ createdAt?: string;
122
+ isMine: boolean;
123
+ color?: string;
124
+ isLegacy: boolean;
125
+ };
126
+ declare const mergeComments: (legacyComments: DailyReportExternalComment[], modernComments: DailyReportPostedComment[], currentUserId: string | null | undefined, unknownAuthorName: string) => UIComment[];
127
+ export { type ActionCommand as A, type DailyReportActionIntent as D, type UIComment as U, type DailyReportSseStreamAnchor as a, DAILY_REPORT_ACTION_FIELDS as b, DAILY_REPORT_ACTION_INTENTS as c, type ActionFailure as d, type ActionResult as e, type ActionResultOf as f, type DailyReportIdsStreamChunkLine as g, encodeActionCommand as h, isIdsStreamChunkLine as i, mergeComments as m, parseActionResult as p };
@@ -0,0 +1,127 @@
1
+ import { d as DailyReportDetail, l as DailyReportPostedComment, D as DailyReportItem, i as DailyReportExternalComment } from "./sse-schema-DVIUaiAG.js";
2
+ declare const DAILY_REPORT_ACTION_INTENTS: readonly [
3
+ "create",
4
+ "update",
5
+ "publish",
6
+ "delete",
7
+ "toggleStar",
8
+ "toggleRead",
9
+ "addComment",
10
+ "deleteComment",
11
+ "clearCache"
12
+ ];
13
+ type DailyReportActionIntent = (typeof DAILY_REPORT_ACTION_INTENTS)[number];
14
+ declare const DAILY_REPORT_ACTION_FIELDS: Readonly<{
15
+ readonly intent: "intent";
16
+ readonly clientTempId: "clientTempId";
17
+ readonly businessDate: "businessDate";
18
+ readonly operationTimestamp: "operationTimestamp";
19
+ readonly reportHubId: "reportHubId";
20
+ readonly title: "title";
21
+ readonly content: "content";
22
+ readonly isStarred: "isStarred";
23
+ readonly isRead: "isRead";
24
+ readonly commentId: "commentId";
25
+ }>;
26
+ type ActionCommandBase<ClientTempId extends string> = {
27
+ readonly clientTempId: ClientTempId;
28
+ readonly businessDate: string | null;
29
+ readonly operationTimestamp: number | null;
30
+ };
31
+ type ActionCommand<ClientTempId extends string = string> = {
32
+ readonly intent: "clearCache";
33
+ } | (ActionCommandBase<ClientTempId> & {
34
+ readonly intent: "create";
35
+ readonly businessDate: string;
36
+ }) | (ActionCommandBase<ClientTempId> & {
37
+ readonly intent: "update";
38
+ readonly reportHubId: number;
39
+ readonly changes: {
40
+ readonly title?: string;
41
+ readonly content?: string;
42
+ };
43
+ }) | (ActionCommandBase<ClientTempId> & {
44
+ readonly intent: "publish" | "delete";
45
+ readonly reportHubId: number;
46
+ }) | (ActionCommandBase<ClientTempId> & {
47
+ readonly intent: "toggleStar" | "toggleRead";
48
+ readonly reportHubId: number;
49
+ readonly value: boolean;
50
+ }) | (ActionCommandBase<ClientTempId> & {
51
+ readonly intent: "addComment";
52
+ readonly reportHubId: number;
53
+ readonly content: string;
54
+ }) | (ActionCommandBase<ClientTempId> & {
55
+ readonly intent: "deleteComment";
56
+ readonly reportHubId: number;
57
+ readonly commentId: number;
58
+ });
59
+ declare const encodeActionCommand: (command: ActionCommand) => FormData;
60
+ type ActionEcho<Intent extends DailyReportActionIntent> = {
61
+ readonly status: "OK";
62
+ readonly intent: Intent;
63
+ readonly reportHubId: number;
64
+ readonly clientTempId: string;
65
+ };
66
+ type ActionToggleFields = {
67
+ readonly updatedStatus: {
68
+ readonly isStarred: boolean;
69
+ readonly isRead: boolean;
70
+ };
71
+ readonly operationTimestamp: number | null;
72
+ };
73
+ type ActionResult = (ActionEcho<"create"> & {
74
+ readonly report: DailyReportDetail;
75
+ }) | ActionEcho<"update"> | (ActionEcho<"publish"> & {
76
+ readonly report: DailyReportDetail | null;
77
+ }) | ActionEcho<"delete"> | (ActionEcho<"toggleStar"> & ActionToggleFields) | (ActionEcho<"toggleRead"> & ActionToggleFields) | (ActionEcho<"addComment"> & {
78
+ readonly newComment: DailyReportPostedComment;
79
+ }) | (ActionEcho<"deleteComment"> & {
80
+ readonly deletedCommentId: number;
81
+ }) | {
82
+ readonly status: "OK";
83
+ readonly intent: "clearCache";
84
+ };
85
+ type ActionResultOf<Intent extends DailyReportActionIntent> = Extract<ActionResult, {
86
+ readonly intent: Intent;
87
+ }>;
88
+ type ActionFailure = {
89
+ readonly error: string;
90
+ };
91
+ type ActionResultReading<Intent extends DailyReportActionIntent> = {
92
+ readonly result: ActionResultOf<Intent>;
93
+ } | {
94
+ readonly mismatch: string;
95
+ };
96
+ declare const parseActionResult: <Intent extends DailyReportActionIntent>(intent: Intent, json: unknown) => ActionResultReading<Intent>;
97
+ type DailyReportIdsStreamCursor = {
98
+ businessDate: string | null;
99
+ reportHubId: number;
100
+ };
101
+ type DailyReportIdsStreamChunkLine = {
102
+ kind: "chunk";
103
+ items: DailyReportItem[];
104
+ nextCursor: DailyReportIdsStreamCursor | null;
105
+ isLast: boolean;
106
+ total?: number;
107
+ provisional?: boolean;
108
+ snapshot?: string;
109
+ restarted?: boolean;
110
+ streamAnchor?: string | null;
111
+ };
112
+ type DailyReportSseStreamAnchor = {
113
+ readonly lastEventId: string | null;
114
+ readonly revision: number;
115
+ };
116
+ declare const isIdsStreamChunkLine: (line: unknown) => line is DailyReportIdsStreamChunkLine;
117
+ type UIComment = {
118
+ id: string | number;
119
+ authorName: string;
120
+ content: string;
121
+ createdAt?: string;
122
+ isMine: boolean;
123
+ color?: string;
124
+ isLegacy: boolean;
125
+ };
126
+ declare const mergeComments: (legacyComments: DailyReportExternalComment[], modernComments: DailyReportPostedComment[], currentUserId: string | null | undefined, unknownAuthorName: string) => UIComment[];
127
+ export { type ActionCommand as A, type DailyReportActionIntent as D, type UIComment as U, type DailyReportSseStreamAnchor as a, DAILY_REPORT_ACTION_FIELDS as b, DAILY_REPORT_ACTION_INTENTS as c, type ActionFailure as d, type ActionResult as e, type ActionResultOf as f, type DailyReportIdsStreamChunkLine as g, encodeActionCommand as h, isIdsStreamChunkLine as i, mergeComments as m, parseActionResult as p };
package/dist/index.d.mts CHANGED
@@ -1,6 +1,20 @@
1
- export { a as DailyReportIdsStreamChunkLine, D as DailyReportSseStreamAnchor, i as isIdsStreamChunkLine, m as mergeComments } from "./ids-stream-CyK2upgD.mjs";
2
- export { e as DAILY_REPORT_SSE_CURSOR_PARAM, f as DAILY_REPORT_SSE_HEARTBEAT_MS, g as DAILY_REPORT_SSE_TERMINAL_EVENTS, h as DailyReportAttachmentSummary, d as DailyReportDetail, i as DailyReportExternalComment, j as DailyReportInterviewer, D as DailyReportItem, k as DailyReportLabelDef, l as DailyReportPostedComment, c as DailyReportSseMessage, a as DailyReportUser, m as commentAddMessageSchema, n as commentDeleteMessageSchema, o as connectedMessageSchema, p as dailyReportDetailSchema, q as dailyReportExternalCommentSchema, r as dailyReportInterviewerSchema, s as dailyReportLabelDefSchema, t as dailyReportPostedCommentSchema, u as dailyReportSseMessageSchema, v as isDailyReportSseStreamId, w as reportCreateMessageSchema, x as reportDeleteMessageSchema, y as reportPublishMessageSchema, z as reportUpdateMessageSchema, A as statusUpdateMessageSchema } from "./sse-schema-DcOgQr_O.mjs";
1
+ export { b as DAILY_REPORT_ACTION_FIELDS, c as DAILY_REPORT_ACTION_INTENTS, A as DailyReportActionCommand, d as DailyReportActionFailure, D as DailyReportActionIntent, e as DailyReportActionResult, f as DailyReportActionResultOf, g as DailyReportIdsStreamChunkLine, a as DailyReportSseStreamAnchor, h as encodeDailyReportActionCommand, i as isIdsStreamChunkLine, m as mergeComments, p as parseDailyReportActionResult } from "./comment-adapter-7TduiLiu.mjs";
2
+ export { e as DAILY_REPORT_SSE_CURSOR_PARAM, f as DAILY_REPORT_SSE_HEARTBEAT_MS, g as DAILY_REPORT_SSE_TERMINAL_EVENTS, h as DailyReportAttachmentSummary, d as DailyReportDetail, i as DailyReportExternalComment, j as DailyReportInterviewer, D as DailyReportItem, k as DailyReportLabelDef, l as DailyReportPostedComment, c as DailyReportSseMessage, a as DailyReportUser, m as commentAddMessageSchema, n as commentDeleteMessageSchema, o as connectedMessageSchema, p as dailyReportDetailSchema, q as dailyReportExternalCommentSchema, r as dailyReportInterviewerSchema, s as dailyReportLabelDefSchema, t as dailyReportPostedCommentSchema, u as dailyReportSseMessageSchema, v as isDailyReportSseStreamId, w as reportCreateMessageSchema, x as reportDeleteMessageSchema, y as reportPublishMessageSchema, z as reportUpdateMessageSchema, A as statusUpdateMessageSchema } from "./sse-schema-DVIUaiAG.mjs";
3
3
  import "zod";
4
+ declare const DAILY_REPORT_API_ENDPOINTS: Readonly<{
5
+ readonly businessDate: "business-date";
6
+ readonly idsStream: "ids-stream";
7
+ readonly report: "report";
8
+ readonly action: "action";
9
+ }>;
10
+ declare const DAILY_REPORT_API_QUERY_PARAMS: Readonly<{
11
+ readonly businessDate: "businessDate";
12
+ readonly reportHubId: "reportHubId";
13
+ readonly forceRefresh: "forceRefresh";
14
+ readonly cursorReportHubId: "cursor_report_hub_id";
15
+ readonly cursorBusinessDate: "cursor_business_date";
16
+ readonly cursorSnapshot: "cursor_snapshot";
17
+ }>;
4
18
  type DailyReportAttachmentThumbnailBox = {
5
19
  readonly maxWidth: number;
6
20
  readonly maxHeight: number;
@@ -29,4 +43,5 @@ declare const buildDailyReportAttachmentUrl: (apiBasePath: string, token: string
29
43
  declare const parseDailyReportAttachmentQuery: (params: URLSearchParams) => DailyReportAttachmentDeliveryRequest | DailyReportAttachmentInvalidQuery;
30
44
  type BusinessDateInput = string | Date | null | undefined;
31
45
  declare const normalizeBusinessDateKey: (value: BusinessDateInput) => string | null;
32
- export { DAILY_REPORT_ATTACHMENT_THUMBNAIL_VARIANTS, type DailyReportAttachmentDeliveryRequest, type DailyReportAttachmentInvalidQuery, type DailyReportAttachmentThumbnailBox, type DailyReportAttachmentThumbnailVariant, buildDailyReportAttachmentUrl, isDailyReportAttachmentThumbnailVariant, normalizeBusinessDateKey, parseDailyReportAttachmentQuery };
46
+ declare const DAILY_REPORT_CLIENT_TEMP_ID_PATTERN: RegExp;
47
+ export { DAILY_REPORT_API_ENDPOINTS, DAILY_REPORT_API_QUERY_PARAMS, DAILY_REPORT_ATTACHMENT_THUMBNAIL_VARIANTS, DAILY_REPORT_CLIENT_TEMP_ID_PATTERN, type DailyReportAttachmentDeliveryRequest, type DailyReportAttachmentInvalidQuery, type DailyReportAttachmentThumbnailBox, type DailyReportAttachmentThumbnailVariant, buildDailyReportAttachmentUrl, isDailyReportAttachmentThumbnailVariant, normalizeBusinessDateKey, parseDailyReportAttachmentQuery };
package/dist/index.d.ts CHANGED
@@ -1,6 +1,20 @@
1
- export { a as DailyReportIdsStreamChunkLine, D as DailyReportSseStreamAnchor, i as isIdsStreamChunkLine, m as mergeComments } from "./ids-stream-CtlszCHr.js";
2
- export { e as DAILY_REPORT_SSE_CURSOR_PARAM, f as DAILY_REPORT_SSE_HEARTBEAT_MS, g as DAILY_REPORT_SSE_TERMINAL_EVENTS, h as DailyReportAttachmentSummary, d as DailyReportDetail, i as DailyReportExternalComment, j as DailyReportInterviewer, D as DailyReportItem, k as DailyReportLabelDef, l as DailyReportPostedComment, c as DailyReportSseMessage, a as DailyReportUser, m as commentAddMessageSchema, n as commentDeleteMessageSchema, o as connectedMessageSchema, p as dailyReportDetailSchema, q as dailyReportExternalCommentSchema, r as dailyReportInterviewerSchema, s as dailyReportLabelDefSchema, t as dailyReportPostedCommentSchema, u as dailyReportSseMessageSchema, v as isDailyReportSseStreamId, w as reportCreateMessageSchema, x as reportDeleteMessageSchema, y as reportPublishMessageSchema, z as reportUpdateMessageSchema, A as statusUpdateMessageSchema } from "./sse-schema-DcOgQr_O.js";
1
+ export { b as DAILY_REPORT_ACTION_FIELDS, c as DAILY_REPORT_ACTION_INTENTS, A as DailyReportActionCommand, d as DailyReportActionFailure, D as DailyReportActionIntent, e as DailyReportActionResult, f as DailyReportActionResultOf, g as DailyReportIdsStreamChunkLine, a as DailyReportSseStreamAnchor, h as encodeDailyReportActionCommand, i as isIdsStreamChunkLine, m as mergeComments, p as parseDailyReportActionResult } from "./comment-adapter-BLfjD6P0.js";
2
+ export { e as DAILY_REPORT_SSE_CURSOR_PARAM, f as DAILY_REPORT_SSE_HEARTBEAT_MS, g as DAILY_REPORT_SSE_TERMINAL_EVENTS, h as DailyReportAttachmentSummary, d as DailyReportDetail, i as DailyReportExternalComment, j as DailyReportInterviewer, D as DailyReportItem, k as DailyReportLabelDef, l as DailyReportPostedComment, c as DailyReportSseMessage, a as DailyReportUser, m as commentAddMessageSchema, n as commentDeleteMessageSchema, o as connectedMessageSchema, p as dailyReportDetailSchema, q as dailyReportExternalCommentSchema, r as dailyReportInterviewerSchema, s as dailyReportLabelDefSchema, t as dailyReportPostedCommentSchema, u as dailyReportSseMessageSchema, v as isDailyReportSseStreamId, w as reportCreateMessageSchema, x as reportDeleteMessageSchema, y as reportPublishMessageSchema, z as reportUpdateMessageSchema, A as statusUpdateMessageSchema } from "./sse-schema-DVIUaiAG.js";
3
3
  import "zod";
4
+ declare const DAILY_REPORT_API_ENDPOINTS: Readonly<{
5
+ readonly businessDate: "business-date";
6
+ readonly idsStream: "ids-stream";
7
+ readonly report: "report";
8
+ readonly action: "action";
9
+ }>;
10
+ declare const DAILY_REPORT_API_QUERY_PARAMS: Readonly<{
11
+ readonly businessDate: "businessDate";
12
+ readonly reportHubId: "reportHubId";
13
+ readonly forceRefresh: "forceRefresh";
14
+ readonly cursorReportHubId: "cursor_report_hub_id";
15
+ readonly cursorBusinessDate: "cursor_business_date";
16
+ readonly cursorSnapshot: "cursor_snapshot";
17
+ }>;
4
18
  type DailyReportAttachmentThumbnailBox = {
5
19
  readonly maxWidth: number;
6
20
  readonly maxHeight: number;
@@ -29,4 +43,5 @@ declare const buildDailyReportAttachmentUrl: (apiBasePath: string, token: string
29
43
  declare const parseDailyReportAttachmentQuery: (params: URLSearchParams) => DailyReportAttachmentDeliveryRequest | DailyReportAttachmentInvalidQuery;
30
44
  type BusinessDateInput = string | Date | null | undefined;
31
45
  declare const normalizeBusinessDateKey: (value: BusinessDateInput) => string | null;
32
- export { DAILY_REPORT_ATTACHMENT_THUMBNAIL_VARIANTS, type DailyReportAttachmentDeliveryRequest, type DailyReportAttachmentInvalidQuery, type DailyReportAttachmentThumbnailBox, type DailyReportAttachmentThumbnailVariant, buildDailyReportAttachmentUrl, isDailyReportAttachmentThumbnailVariant, normalizeBusinessDateKey, parseDailyReportAttachmentQuery };
46
+ declare const DAILY_REPORT_CLIENT_TEMP_ID_PATTERN: RegExp;
47
+ export { DAILY_REPORT_API_ENDPOINTS, DAILY_REPORT_API_QUERY_PARAMS, DAILY_REPORT_ATTACHMENT_THUMBNAIL_VARIANTS, DAILY_REPORT_CLIENT_TEMP_ID_PATTERN, type DailyReportAttachmentDeliveryRequest, type DailyReportAttachmentInvalidQuery, type DailyReportAttachmentThumbnailBox, type DailyReportAttachmentThumbnailVariant, buildDailyReportAttachmentUrl, isDailyReportAttachmentThumbnailVariant, normalizeBusinessDateKey, parseDailyReportAttachmentQuery };
package/dist/index.js CHANGED
@@ -1 +1 @@
1
- "use strict";var y=Object.defineProperty;var z=Object.getOwnPropertyDescriptor;var F=Object.getOwnPropertyNames;var K=Object.prototype.hasOwnProperty;var q=(t,r)=>{for(var n in r)y(t,n,{get:r[n],enumerable:!0})},Q=(t,r,n,o)=>{if(r&&typeof r=="object"||typeof r=="function")for(let i of F(r))!K.call(t,i)&&i!==n&&y(t,i,{get:()=>r[i],enumerable:!(o=z(r,i))||o.enumerable});return t};var W=t=>Q(y({},"__esModule",{value:!0}),t);var ne={};q(ne,{DAILY_REPORT_ATTACHMENT_THUMBNAIL_VARIANTS:()=>h,DAILY_REPORT_SSE_CURSOR_PARAM:()=>Y,DAILY_REPORT_SSE_HEARTBEAT_MS:()=>j,DAILY_REPORT_SSE_TERMINAL_EVENTS:()=>H,buildDailyReportAttachmentUrl:()=>N,commentAddMessageSchema:()=>S,commentDeleteMessageSchema:()=>I,connectedMessageSchema:()=>f,dailyReportDetailSchema:()=>m,dailyReportExternalCommentSchema:()=>R,dailyReportInterviewerSchema:()=>g,dailyReportLabelDefSchema:()=>D,dailyReportPostedCommentSchema:()=>d,dailyReportSseMessageSchema:()=>V,isDailyReportAttachmentThumbnailVariant:()=>c,isDailyReportSseStreamId:()=>v,isIdsStreamChunkLine:()=>$,mergeComments:()=>O,normalizeBusinessDateKey:()=>P,parseDailyReportAttachmentQuery:()=>L,reportCreateMessageSchema:()=>T,reportDeleteMessageSchema:()=>E,reportPublishMessageSchema:()=>_,reportUpdateMessageSchema:()=>A,statusUpdateMessageSchema:()=>b});module.exports=W(ne);var h=Object.freeze({tile:Object.freeze({maxWidth:480,maxHeight:320})}),c=t=>Object.hasOwn(h,t);var C="download",M="thumbnail",k="1",N=(t,r,n)=>{let o=`${t}/attachment/${encodeURIComponent(r)}`;switch(n.kind){case"inline":return o;case"download":return`${o}?${new URLSearchParams({[C]:k})}`;case"thumbnail":return`${o}?${new URLSearchParams({[M]:n.variant})}`}},L=t=>{let r=t.getAll(M),n=t.getAll(C);if(r.length>0&&n.length>0)return{kind:"invalid",reason:"conflict"};if(r.length>0){let[o]=r;return r.length===1&&c(o)?{kind:"thumbnail",variant:o}:{kind:"invalid",reason:"thumbnail_variant"}}return n.length>0?n.length===1&&n[0]===k?{kind:"download"}:{kind:"invalid",reason:"download_value"}:{kind:"inline"}};var J=/^(\d{4})([-/])(\d{2})\2(\d{2})$/;var w=t=>t<10?`0${t}`:`${t}`,G=t=>{if(Number.isNaN(t.getTime()))return null;let r=t.getFullYear(),n=w(t.getMonth()+1),o=w(t.getDate());return`${r}-${n}-${o}`},X=t=>{let r=J.exec(t);if(r===null)return null;let[,n,,o,i]=r,l=Number(n),a=Number(o),u=Number(i);if(l<1)return null;let p=new Date(0);return p.setUTCFullYear(l,a-1,u),p.getUTCFullYear()!==l||p.getUTCMonth()!==a-1||p.getUTCDate()!==u?null:`${n}-${o}-${i}`};var P=t=>t==null?null:t instanceof Date?G(t):X(t);var Z=t=>typeof t=="string"?JSON.stringify(t):typeof t=="number"||typeof t=="boolean"||t===null||t===void 0?String(t):Array.isArray(t)?"array":typeof t,U=(t,r,n)=>new RangeError(`[daily-report] ${t} must be ${r}; got ${Z(n)}`);var O=(t,r,n,o)=>{if(typeof o!="string"||o.trim()==="")throw U("mergeComments: unknownAuthorName","a non-blank string",o);let i=t.map((a,u)=>({id:`legacy-${u}`,authorName:a.name||o,content:a.text||"",isMine:!1,color:a.color||void 0,isLegacy:!0})),l=r.map(a=>({id:a.id,authorName:a.userName||o,content:a.content??"",createdAt:a.createdAt??"",isMine:n?a.userId===n:a.isMine,isLegacy:!1}));return[...i,...l]};var ee=t=>{if(typeof t!="object"||t===null)return"unknown";let r=t;return typeof r.kind=="string"?r.kind==="chunk"?"chunk":r.kind==="error"?"error":"unknown":Array.isArray(r.items)?"chunk":typeof r.error=="string"?"error":"unknown"},$=t=>ee(t)==="chunk";var e=require("zod");var B=/^(?:[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}|-[1-9][0-9]{0,15})$/;var H=["auth-required","forbidden","resync-required"],j=15e3,Y="lastEventId",te=/^\d{1,15}-\d{1,15}$/,v=t=>te.test(t),g=e.z.object({name:e.z.string().nullish(),affiliation:e.z.string().nullish()}),R=e.z.object({name:e.z.string().nullish(),text:e.z.string().nullish(),color:e.z.string().nullish()}),D=e.z.object({id:e.z.number(),name:e.z.string().nullish(),color:e.z.string().nullish()}),d=e.z.object({id:e.z.number(),userId:e.z.string().nullish(),userName:e.z.string().nullish(),content:e.z.string().nullish(),createdAt:e.z.string().nullish(),isMine:e.z.boolean()}),re=e.z.object({id:e.z.string(),fileName:e.z.string(),fileType:e.z.string().nullable(),fileSize:e.z.number().nullable(),createdAt:e.z.string().nullable(),state:e.z.enum(["present","absent","unknown"]),hasThumbnail:e.z.boolean().default(!1)}),m=e.z.object({reportHubId:e.z.number(),date:e.z.string().nullish(),createdAt:e.z.string().nullish(),author:e.z.string().nullish(),userId:e.z.string().nullish(),sourceType:e.z.string().nullish(),employeeName:e.z.string().nullish(),updatedBy:e.z.string().nullish(),updatedAt:e.z.string().nullish(),category:e.z.string().nullish(),creationCategory:e.z.string().nullish(),visitTimeFrom:e.z.string().nullish(),visitTimeTo:e.z.string().nullish(),customerName:e.z.string().nullish(),interviewers:e.z.array(g),subject:e.z.string().nullish(),content:e.z.string().nullish(),externalComments:e.z.array(R),isRead:e.z.boolean(),isStarred:e.z.boolean(),labels:e.z.array(D),postedComments:e.z.array(d),attachments:e.z.array(re).default([])}),s=e.z.string().regex(B),f=e.z.object({type:e.z.literal("connected")}),b=e.z.object({type:e.z.literal("status-update"),reportHubId:e.z.number(),statusType:e.z.enum(["star","read"]),value:e.z.boolean(),clientTempId:s,recipientRawUserId:e.z.number().optional()}),x=e.z.string().optional(),S=e.z.object({type:e.z.literal("comment-add"),reportHubId:e.z.number(),comment:d,clientTempId:s,recipientRawUserId:e.z.number().optional(),sourceType:x}),I=e.z.object({type:e.z.literal("comment-delete"),reportHubId:e.z.number(),commentId:e.z.number(),clientTempId:s,recipientRawUserId:e.z.number().optional(),sourceType:x}),T=e.z.object({type:e.z.literal("report-create"),reportHubId:e.z.number(),report:m,clientTempId:s,recipientRawUserId:e.z.number().optional()}),A=e.z.object({type:e.z.literal("report-update"),reportHubId:e.z.number(),report:m,clientTempId:s,recipientRawUserId:e.z.number().optional()}),_=e.z.object({type:e.z.literal("report-publish"),reportHubId:e.z.number(),report:m,clientTempId:s,recipientRawUserId:e.z.number().optional()}),E=e.z.object({type:e.z.literal("report-delete"),reportHubId:e.z.number(),clientTempId:s,sourceType:x}),V=e.z.discriminatedUnion("type",[f,b,S,I,T,A,_,E]);0&&(module.exports={DAILY_REPORT_ATTACHMENT_THUMBNAIL_VARIANTS,DAILY_REPORT_SSE_CURSOR_PARAM,DAILY_REPORT_SSE_HEARTBEAT_MS,DAILY_REPORT_SSE_TERMINAL_EVENTS,buildDailyReportAttachmentUrl,commentAddMessageSchema,commentDeleteMessageSchema,connectedMessageSchema,dailyReportDetailSchema,dailyReportExternalCommentSchema,dailyReportInterviewerSchema,dailyReportLabelDefSchema,dailyReportPostedCommentSchema,dailyReportSseMessageSchema,isDailyReportAttachmentThumbnailVariant,isDailyReportSseStreamId,isIdsStreamChunkLine,mergeComments,normalizeBusinessDateKey,parseDailyReportAttachmentQuery,reportCreateMessageSchema,reportDeleteMessageSchema,reportPublishMessageSchema,reportUpdateMessageSchema,statusUpdateMessageSchema});
1
+ "use strict";var I=Object.defineProperty;var ne=Object.getOwnPropertyDescriptor;var re=Object.getOwnPropertyNames;var oe=Object.prototype.hasOwnProperty;var ae=(e,n)=>{for(var r in n)I(e,r,{get:n[r],enumerable:!0})},ie=(e,n,r,a)=>{if(n&&typeof n=="object"||typeof n=="function")for(let s of re(n))!oe.call(e,s)&&s!==r&&I(e,s,{get:()=>n[s],enumerable:!(a=ne(n,s))||a.enumerable});return e};var se=e=>ie(I({},"__esModule",{value:!0}),e);var ge={};ae(ge,{DAILY_REPORT_ACTION_FIELDS:()=>p,DAILY_REPORT_ACTION_INTENTS:()=>B,DAILY_REPORT_API_ENDPOINTS:()=>V,DAILY_REPORT_API_QUERY_PARAMS:()=>K,DAILY_REPORT_ATTACHMENT_THUMBNAIL_VARIANTS:()=>L,DAILY_REPORT_CLIENT_TEMP_ID_PATTERN:()=>d,DAILY_REPORT_SSE_CURSOR_PARAM:()=>H,DAILY_REPORT_SSE_HEARTBEAT_MS:()=>w,DAILY_REPORT_SSE_TERMINAL_EVENTS:()=>k,buildDailyReportAttachmentUrl:()=>Z,commentAddMessageSchema:()=>x,commentDeleteMessageSchema:()=>_,connectedMessageSchema:()=>f,dailyReportDetailSchema:()=>c,dailyReportExternalCommentSchema:()=>b,dailyReportInterviewerSchema:()=>D,dailyReportLabelDefSchema:()=>A,dailyReportPostedCommentSchema:()=>u,dailyReportSseMessageSchema:()=>j,encodeDailyReportActionCommand:()=>$,isDailyReportAttachmentThumbnailVariant:()=>g,isDailyReportSseStreamId:()=>U,isIdsStreamChunkLine:()=>F,mergeComments:()=>te,normalizeBusinessDateKey:()=>X,parseDailyReportActionResult:()=>z,parseDailyReportAttachmentQuery:()=>G,reportCreateMessageSchema:()=>C,reportDeleteMessageSchema:()=>M,reportPublishMessageSchema:()=>N,reportUpdateMessageSchema:()=>E,statusUpdateMessageSchema:()=>S});module.exports=se(ge);var o=require("zod");var d=/^(?:[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}|-[1-9][0-9]{0,15})$/;var O=require("zod");var i=O.z.number().int().positive().max(Number.MAX_SAFE_INTEGER);var t=require("zod");var k=["auth-required","forbidden","resync-required"],w=15e3,H="lastEventId",le=/^\d{1,15}-\d{1,15}$/,U=e=>le.test(e),D=t.z.object({name:t.z.string().nullish(),affiliation:t.z.string().nullish()}),b=t.z.object({name:t.z.string().nullish(),text:t.z.string().nullish(),color:t.z.string().nullish()}),A=t.z.object({id:i,name:t.z.string().nullish(),color:t.z.string().nullish()}),u=t.z.object({id:i,userId:t.z.string().nullish(),userName:t.z.string().nullish(),content:t.z.string().nullish(),createdAt:t.z.string().nullish(),isMine:t.z.boolean()}),pe=t.z.object({id:t.z.string(),fileName:t.z.string(),fileType:t.z.string().nullable(),fileSize:t.z.number().nullable(),createdAt:t.z.string().nullable(),state:t.z.enum(["present","absent","unknown"]),hasThumbnail:t.z.boolean().default(!1)}),c=t.z.object({reportHubId:i,date:t.z.string().nullish(),createdAt:t.z.string().nullish(),author:t.z.string().nullish(),userId:t.z.string().nullish(),sourceType:t.z.string().nullish(),employeeName:t.z.string().nullish(),updatedBy:t.z.string().nullish(),updatedAt:t.z.string().nullish(),category:t.z.string().nullish(),creationCategory:t.z.string().nullish(),visitTimeFrom:t.z.string().nullish(),visitTimeTo:t.z.string().nullish(),customerName:t.z.string().nullish(),interviewers:t.z.array(D),subject:t.z.string().nullish(),content:t.z.string().nullish(),externalComments:t.z.array(b),isRead:t.z.boolean(),isStarred:t.z.boolean(),labels:t.z.array(A),postedComments:t.z.array(u),attachments:t.z.array(pe).default([])}),m=t.z.string().regex(d),f=t.z.object({type:t.z.literal("connected")}),S=t.z.object({type:t.z.literal("status-update"),reportHubId:i,statusType:t.z.enum(["star","read"]),value:t.z.boolean(),clientTempId:m,recipientRawUserId:i.optional()}),T=t.z.string().optional(),x=t.z.object({type:t.z.literal("comment-add"),reportHubId:i,comment:u,clientTempId:m,recipientRawUserId:i.optional(),sourceType:T}),_=t.z.object({type:t.z.literal("comment-delete"),reportHubId:i,commentId:i,clientTempId:m,recipientRawUserId:i.optional(),sourceType:T}),C=t.z.object({type:t.z.literal("report-create"),reportHubId:i,report:c,clientTempId:m,recipientRawUserId:i.optional()}),E=t.z.object({type:t.z.literal("report-update"),reportHubId:i,report:c,clientTempId:m,recipientRawUserId:i.optional()}),N=t.z.object({type:t.z.literal("report-publish"),reportHubId:i,report:c,clientTempId:m,recipientRawUserId:i.optional()}),M=t.z.object({type:t.z.literal("report-delete"),reportHubId:i,clientTempId:m,sourceType:T}),j=t.z.discriminatedUnion("type",[f,S,x,_,C,E,N,M]);var Y=e=>e.issues.map(n=>`${n.path.length===0?"(root)":n.path.join(".")}: ${n.code}`).join("; ");var B=Object.freeze(["create","update","publish","delete","toggleStar","toggleRead","addComment","deleteComment","clearCache"]);var p=Object.freeze({intent:"intent",clientTempId:"clientTempId",businessDate:"businessDate",operationTimestamp:"operationTimestamp",reportHubId:"reportHubId",title:"title",content:"content",isStarred:"isStarred",isRead:"isRead",commentId:"commentId"}),$=e=>{let n=new FormData;if(n.append(p.intent,e.intent),e.intent==="clearCache"||(n.append(p.clientTempId,e.clientTempId),e.businessDate!==null&&n.append(p.businessDate,e.businessDate),e.operationTimestamp!==null&&n.append(p.operationTimestamp,String(e.operationTimestamp)),e.intent==="create"))return n;switch(n.append(p.reportHubId,String(e.reportHubId)),e.intent){case"update":return e.changes.title!==void 0&&n.append(p.title,e.changes.title),e.changes.content!==void 0&&n.append(p.content,e.changes.content),n;case"publish":case"delete":return n;case"toggleStar":return n.append(p.isStarred,String(e.value)),n;case"toggleRead":return n.append(p.isRead,String(e.value)),n;case"addComment":return n.append(p.content,e.content),n;case"deleteComment":return n.append(p.commentId,String(e.commentId)),n}},ce=()=>{let e=i,n=o.z.string().regex(d),r=o.z.literal("OK"),a=o.z.object({isStarred:o.z.boolean(),isRead:o.z.boolean()}),s=o.z.number().int().nonnegative().nullable();return{create:o.z.object({status:r,intent:o.z.literal("create"),reportHubId:e,clientTempId:n,report:c}),update:o.z.object({status:r,intent:o.z.literal("update"),reportHubId:e,clientTempId:n}),publish:o.z.object({status:r,intent:o.z.literal("publish"),reportHubId:e,clientTempId:n,report:c.nullable()}),delete:o.z.object({status:r,intent:o.z.literal("delete"),reportHubId:e,clientTempId:n}),toggleStar:o.z.object({status:r,intent:o.z.literal("toggleStar"),reportHubId:e,clientTempId:n,updatedStatus:a,operationTimestamp:s}),toggleRead:o.z.object({status:r,intent:o.z.literal("toggleRead"),reportHubId:e,clientTempId:n,updatedStatus:a,operationTimestamp:s}),addComment:o.z.object({status:r,intent:o.z.literal("addComment"),reportHubId:e,clientTempId:n,newComment:u}),deleteComment:o.z.object({status:r,intent:o.z.literal("deleteComment"),reportHubId:e,clientTempId:n,deletedCommentId:i}),clearCache:o.z.object({status:r,intent:o.z.literal("clearCache")})}},P=null,me=()=>(P===null&&(P=ce()),P),z=(e,n)=>{let r=me()[e].safeParse(n);return r.success?{result:r.data}:{mismatch:Y(r.error)}};var v="ids-stream",de=e=>{if(typeof e!="object"||e===null)return"unknown";let n=e;return typeof n.kind=="string"?n.kind==="chunk"?"chunk":n.kind==="error"?"error":"unknown":Array.isArray(n.items)?"chunk":typeof n.error=="string"?"error":"unknown"},F=e=>de(e)==="chunk";var V=Object.freeze({businessDate:"business-date",idsStream:v,report:"report",action:"action"}),K=Object.freeze({businessDate:"businessDate",reportHubId:"reportHubId",forceRefresh:"forceRefresh",cursorReportHubId:"cursor_report_hub_id",cursorBusinessDate:"cursor_business_date",cursorSnapshot:"cursor_snapshot"});var L=Object.freeze({tile:Object.freeze({maxWidth:480,maxHeight:320})}),g=e=>Object.hasOwn(L,e);var Q="download",q="thumbnail",W="1",Z=(e,n,r)=>{let a=`${e}/attachment/${encodeURIComponent(n)}`;switch(r.kind){case"inline":return a;case"download":return`${a}?${new URLSearchParams({[Q]:W})}`;case"thumbnail":return`${a}?${new URLSearchParams({[q]:r.variant})}`}},G=e=>{let n=e.getAll(q),r=e.getAll(Q);if(n.length>0&&r.length>0)return{kind:"invalid",reason:"conflict"};if(n.length>0){let[a]=n;return n.length===1&&g(a)?{kind:"thumbnail",variant:a}:{kind:"invalid",reason:"thumbnail_variant"}}return r.length>0?r.length===1&&r[0]===W?{kind:"download"}:{kind:"invalid",reason:"download_value"}:{kind:"inline"}};var ue=/^(\d{4})([-/])(\d{2})\2(\d{2})$/;var J=e=>e<10?`0${e}`:`${e}`,ye=e=>{if(Number.isNaN(e.getTime()))return null;let n=e.getFullYear(),r=J(e.getMonth()+1),a=J(e.getDate());return`${n}-${r}-${a}`},Re=e=>{let n=ue.exec(e);if(n===null)return null;let[,r,,a,s]=n,y=Number(r),l=Number(a),R=Number(s);if(y<1)return null;let h=new Date(0);return h.setUTCFullYear(y,l-1,R),h.getUTCFullYear()!==y||h.getUTCMonth()!==l-1||h.getUTCDate()!==R?null:`${r}-${a}-${s}`};var X=e=>e==null?null:e instanceof Date?ye(e):Re(e);var he=e=>typeof e=="string"?JSON.stringify(e):typeof e=="number"||typeof e=="boolean"||e===null||e===void 0?String(e):Array.isArray(e)?"array":typeof e,ee=(e,n,r)=>new RangeError(`[daily-report] ${e} must be ${n}; got ${he(r)}`);var te=(e,n,r,a)=>{if(typeof a!="string"||a.trim()==="")throw ee("mergeComments: unknownAuthorName","a non-blank string",a);let s=e.map((l,R)=>({id:`legacy-${R}`,authorName:l.name||a,content:l.text||"",isMine:!1,color:l.color||void 0,isLegacy:!0})),y=n.map(l=>({id:l.id,authorName:l.userName||a,content:l.content??"",createdAt:l.createdAt??"",isMine:r?l.userId===r:l.isMine,isLegacy:!1}));return[...s,...y]};0&&(module.exports={DAILY_REPORT_ACTION_FIELDS,DAILY_REPORT_ACTION_INTENTS,DAILY_REPORT_API_ENDPOINTS,DAILY_REPORT_API_QUERY_PARAMS,DAILY_REPORT_ATTACHMENT_THUMBNAIL_VARIANTS,DAILY_REPORT_CLIENT_TEMP_ID_PATTERN,DAILY_REPORT_SSE_CURSOR_PARAM,DAILY_REPORT_SSE_HEARTBEAT_MS,DAILY_REPORT_SSE_TERMINAL_EVENTS,buildDailyReportAttachmentUrl,commentAddMessageSchema,commentDeleteMessageSchema,connectedMessageSchema,dailyReportDetailSchema,dailyReportExternalCommentSchema,dailyReportInterviewerSchema,dailyReportLabelDefSchema,dailyReportPostedCommentSchema,dailyReportSseMessageSchema,encodeDailyReportActionCommand,isDailyReportAttachmentThumbnailVariant,isDailyReportSseStreamId,isIdsStreamChunkLine,mergeComments,normalizeBusinessDateKey,parseDailyReportActionResult,parseDailyReportAttachmentQuery,reportCreateMessageSchema,reportDeleteMessageSchema,reportPublishMessageSchema,reportUpdateMessageSchema,statusUpdateMessageSchema});
package/dist/index.mjs CHANGED
@@ -1 +1 @@
1
- var h=Object.freeze({tile:Object.freeze({maxWidth:480,maxHeight:320})}),c=t=>Object.hasOwn(h,t);var g="download",R="thumbnail",D="1",w=(t,r,n)=>{let o=`${t}/attachment/${encodeURIComponent(r)}`;switch(n.kind){case"inline":return o;case"download":return`${o}?${new URLSearchParams({[g]:D})}`;case"thumbnail":return`${o}?${new URLSearchParams({[R]:n.variant})}`}},P=t=>{let r=t.getAll(R),n=t.getAll(g);if(r.length>0&&n.length>0)return{kind:"invalid",reason:"conflict"};if(r.length>0){let[o]=r;return r.length===1&&c(o)?{kind:"thumbnail",variant:o}:{kind:"invalid",reason:"thumbnail_variant"}}return n.length>0?n.length===1&&n[0]===D?{kind:"download"}:{kind:"invalid",reason:"download_value"}:{kind:"inline"}};var U=/^(\d{4})([-/])(\d{2})\2(\d{2})$/;var f=t=>t<10?`0${t}`:`${t}`,O=t=>{if(Number.isNaN(t.getTime()))return null;let r=t.getFullYear(),n=f(t.getMonth()+1),o=f(t.getDate());return`${r}-${n}-${o}`},$=t=>{let r=U.exec(t);if(r===null)return null;let[,n,,o,l]=r,s=Number(n),a=Number(o),m=Number(l);if(s<1)return null;let u=new Date(0);return u.setUTCFullYear(s,a-1,m),u.getUTCFullYear()!==s||u.getUTCMonth()!==a-1||u.getUTCDate()!==m?null:`${n}-${o}-${l}`};var B=t=>t==null?null:t instanceof Date?O(t):$(t);var H=t=>typeof t=="string"?JSON.stringify(t):typeof t=="number"||typeof t=="boolean"||t===null||t===void 0?String(t):Array.isArray(t)?"array":typeof t,b=(t,r,n)=>new RangeError(`[daily-report] ${t} must be ${r}; got ${H(n)}`);var j=(t,r,n,o)=>{if(typeof o!="string"||o.trim()==="")throw b("mergeComments: unknownAuthorName","a non-blank string",o);let l=t.map((a,m)=>({id:`legacy-${m}`,authorName:a.name||o,content:a.text||"",isMine:!1,color:a.color||void 0,isLegacy:!0})),s=r.map(a=>({id:a.id,authorName:a.userName||o,content:a.content??"",createdAt:a.createdAt??"",isMine:n?a.userId===n:a.isMine,isLegacy:!1}));return[...l,...s]};var Y=t=>{if(typeof t!="object"||t===null)return"unknown";let r=t;return typeof r.kind=="string"?r.kind==="chunk"?"chunk":r.kind==="error"?"error":"unknown":Array.isArray(r.items)?"chunk":typeof r.error=="string"?"error":"unknown"},v=t=>Y(t)==="chunk";import{z as e}from"zod";var x=/^(?:[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}|-[1-9][0-9]{0,15})$/;var V=["auth-required","forbidden","resync-required"],z=15e3,F="lastEventId",K=/^\d{1,15}-\d{1,15}$/,q=t=>K.test(t),S=e.object({name:e.string().nullish(),affiliation:e.string().nullish()}),I=e.object({name:e.string().nullish(),text:e.string().nullish(),color:e.string().nullish()}),T=e.object({id:e.number(),name:e.string().nullish(),color:e.string().nullish()}),d=e.object({id:e.number(),userId:e.string().nullish(),userName:e.string().nullish(),content:e.string().nullish(),createdAt:e.string().nullish(),isMine:e.boolean()}),Q=e.object({id:e.string(),fileName:e.string(),fileType:e.string().nullable(),fileSize:e.number().nullable(),createdAt:e.string().nullable(),state:e.enum(["present","absent","unknown"]),hasThumbnail:e.boolean().default(!1)}),p=e.object({reportHubId:e.number(),date:e.string().nullish(),createdAt:e.string().nullish(),author:e.string().nullish(),userId:e.string().nullish(),sourceType:e.string().nullish(),employeeName:e.string().nullish(),updatedBy:e.string().nullish(),updatedAt:e.string().nullish(),category:e.string().nullish(),creationCategory:e.string().nullish(),visitTimeFrom:e.string().nullish(),visitTimeTo:e.string().nullish(),customerName:e.string().nullish(),interviewers:e.array(S),subject:e.string().nullish(),content:e.string().nullish(),externalComments:e.array(I),isRead:e.boolean(),isStarred:e.boolean(),labels:e.array(T),postedComments:e.array(d),attachments:e.array(Q).default([])}),i=e.string().regex(x),A=e.object({type:e.literal("connected")}),_=e.object({type:e.literal("status-update"),reportHubId:e.number(),statusType:e.enum(["star","read"]),value:e.boolean(),clientTempId:i,recipientRawUserId:e.number().optional()}),y=e.string().optional(),E=e.object({type:e.literal("comment-add"),reportHubId:e.number(),comment:d,clientTempId:i,recipientRawUserId:e.number().optional(),sourceType:y}),C=e.object({type:e.literal("comment-delete"),reportHubId:e.number(),commentId:e.number(),clientTempId:i,recipientRawUserId:e.number().optional(),sourceType:y}),M=e.object({type:e.literal("report-create"),reportHubId:e.number(),report:p,clientTempId:i,recipientRawUserId:e.number().optional()}),k=e.object({type:e.literal("report-update"),reportHubId:e.number(),report:p,clientTempId:i,recipientRawUserId:e.number().optional()}),N=e.object({type:e.literal("report-publish"),reportHubId:e.number(),report:p,clientTempId:i,recipientRawUserId:e.number().optional()}),L=e.object({type:e.literal("report-delete"),reportHubId:e.number(),clientTempId:i,sourceType:y}),W=e.discriminatedUnion("type",[A,_,E,C,M,k,N,L]);export{h as DAILY_REPORT_ATTACHMENT_THUMBNAIL_VARIANTS,F as DAILY_REPORT_SSE_CURSOR_PARAM,z as DAILY_REPORT_SSE_HEARTBEAT_MS,V as DAILY_REPORT_SSE_TERMINAL_EVENTS,w as buildDailyReportAttachmentUrl,E as commentAddMessageSchema,C as commentDeleteMessageSchema,A as connectedMessageSchema,p as dailyReportDetailSchema,I as dailyReportExternalCommentSchema,S as dailyReportInterviewerSchema,T as dailyReportLabelDefSchema,d as dailyReportPostedCommentSchema,W as dailyReportSseMessageSchema,c as isDailyReportAttachmentThumbnailVariant,q as isDailyReportSseStreamId,v as isIdsStreamChunkLine,j as mergeComments,B as normalizeBusinessDateKey,P as parseDailyReportAttachmentQuery,M as reportCreateMessageSchema,L as reportDeleteMessageSchema,N as reportPublishMessageSchema,k as reportUpdateMessageSchema,_ as statusUpdateMessageSchema};
1
+ import{z as o}from"zod";var u=/^(?:[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}|-[1-9][0-9]{0,15})$/;import{z as Y}from"zod";var a=Y.number().int().positive().max(Number.MAX_SAFE_INTEGER);import{z as t}from"zod";var B=["auth-required","forbidden","resync-required"],$=15e3,z="lastEventId",v=/^\d{1,15}-\d{1,15}$/,F=e=>v.test(e),b=t.object({name:t.string().nullish(),affiliation:t.string().nullish()}),A=t.object({name:t.string().nullish(),text:t.string().nullish(),color:t.string().nullish()}),f=t.object({id:a,name:t.string().nullish(),color:t.string().nullish()}),y=t.object({id:a,userId:t.string().nullish(),userName:t.string().nullish(),content:t.string().nullish(),createdAt:t.string().nullish(),isMine:t.boolean()}),V=t.object({id:t.string(),fileName:t.string(),fileType:t.string().nullable(),fileSize:t.number().nullable(),createdAt:t.string().nullable(),state:t.enum(["present","absent","unknown"]),hasThumbnail:t.boolean().default(!1)}),c=t.object({reportHubId:a,date:t.string().nullish(),createdAt:t.string().nullish(),author:t.string().nullish(),userId:t.string().nullish(),sourceType:t.string().nullish(),employeeName:t.string().nullish(),updatedBy:t.string().nullish(),updatedAt:t.string().nullish(),category:t.string().nullish(),creationCategory:t.string().nullish(),visitTimeFrom:t.string().nullish(),visitTimeTo:t.string().nullish(),customerName:t.string().nullish(),interviewers:t.array(b),subject:t.string().nullish(),content:t.string().nullish(),externalComments:t.array(A),isRead:t.boolean(),isStarred:t.boolean(),labels:t.array(f),postedComments:t.array(y),attachments:t.array(V).default([])}),m=t.string().regex(u),S=t.object({type:t.literal("connected")}),T=t.object({type:t.literal("status-update"),reportHubId:a,statusType:t.enum(["star","read"]),value:t.boolean(),clientTempId:m,recipientRawUserId:a.optional()}),g=t.string().optional(),x=t.object({type:t.literal("comment-add"),reportHubId:a,comment:y,clientTempId:m,recipientRawUserId:a.optional(),sourceType:g}),_=t.object({type:t.literal("comment-delete"),reportHubId:a,commentId:a,clientTempId:m,recipientRawUserId:a.optional(),sourceType:g}),C=t.object({type:t.literal("report-create"),reportHubId:a,report:c,clientTempId:m,recipientRawUserId:a.optional()}),E=t.object({type:t.literal("report-update"),reportHubId:a,report:c,clientTempId:m,recipientRawUserId:a.optional()}),N=t.object({type:t.literal("report-publish"),reportHubId:a,report:c,clientTempId:m,recipientRawUserId:a.optional()}),M=t.object({type:t.literal("report-delete"),reportHubId:a,clientTempId:m,sourceType:g}),K=t.discriminatedUnion("type",[S,T,x,_,C,E,N,M]);var P=e=>e.issues.map(n=>`${n.path.length===0?"(root)":n.path.join(".")}: ${n.code}`).join("; ");var Q=Object.freeze(["create","update","publish","delete","toggleStar","toggleRead","addComment","deleteComment","clearCache"]);var l=Object.freeze({intent:"intent",clientTempId:"clientTempId",businessDate:"businessDate",operationTimestamp:"operationTimestamp",reportHubId:"reportHubId",title:"title",content:"content",isStarred:"isStarred",isRead:"isRead",commentId:"commentId"}),q=e=>{let n=new FormData;if(n.append(l.intent,e.intent),e.intent==="clearCache"||(n.append(l.clientTempId,e.clientTempId),e.businessDate!==null&&n.append(l.businessDate,e.businessDate),e.operationTimestamp!==null&&n.append(l.operationTimestamp,String(e.operationTimestamp)),e.intent==="create"))return n;switch(n.append(l.reportHubId,String(e.reportHubId)),e.intent){case"update":return e.changes.title!==void 0&&n.append(l.title,e.changes.title),e.changes.content!==void 0&&n.append(l.content,e.changes.content),n;case"publish":case"delete":return n;case"toggleStar":return n.append(l.isStarred,String(e.value)),n;case"toggleRead":return n.append(l.isRead,String(e.value)),n;case"addComment":return n.append(l.content,e.content),n;case"deleteComment":return n.append(l.commentId,String(e.commentId)),n}},W=()=>{let e=a,n=o.string().regex(u),r=o.literal("OK"),i=o.object({isStarred:o.boolean(),isRead:o.boolean()}),p=o.number().int().nonnegative().nullable();return{create:o.object({status:r,intent:o.literal("create"),reportHubId:e,clientTempId:n,report:c}),update:o.object({status:r,intent:o.literal("update"),reportHubId:e,clientTempId:n}),publish:o.object({status:r,intent:o.literal("publish"),reportHubId:e,clientTempId:n,report:c.nullable()}),delete:o.object({status:r,intent:o.literal("delete"),reportHubId:e,clientTempId:n}),toggleStar:o.object({status:r,intent:o.literal("toggleStar"),reportHubId:e,clientTempId:n,updatedStatus:i,operationTimestamp:p}),toggleRead:o.object({status:r,intent:o.literal("toggleRead"),reportHubId:e,clientTempId:n,updatedStatus:i,operationTimestamp:p}),addComment:o.object({status:r,intent:o.literal("addComment"),reportHubId:e,clientTempId:n,newComment:y}),deleteComment:o.object({status:r,intent:o.literal("deleteComment"),reportHubId:e,clientTempId:n,deletedCommentId:a}),clearCache:o.object({status:r,intent:o.literal("clearCache")})}},I=null,Z=()=>(I===null&&(I=W()),I),G=(e,n)=>{let r=Z()[e].safeParse(n);return r.success?{result:r.data}:{mismatch:P(r.error)}};var L="ids-stream",J=e=>{if(typeof e!="object"||e===null)return"unknown";let n=e;return typeof n.kind=="string"?n.kind==="chunk"?"chunk":n.kind==="error"?"error":"unknown":Array.isArray(n.items)?"chunk":typeof n.error=="string"?"error":"unknown"},X=e=>J(e)==="chunk";var ee=Object.freeze({businessDate:"business-date",idsStream:L,report:"report",action:"action"}),te=Object.freeze({businessDate:"businessDate",reportHubId:"reportHubId",forceRefresh:"forceRefresh",cursorReportHubId:"cursor_report_hub_id",cursorBusinessDate:"cursor_business_date",cursorSnapshot:"cursor_snapshot"});var O=Object.freeze({tile:Object.freeze({maxWidth:480,maxHeight:320})}),D=e=>Object.hasOwn(O,e);var k="download",w="thumbnail",H="1",ne=(e,n,r)=>{let i=`${e}/attachment/${encodeURIComponent(n)}`;switch(r.kind){case"inline":return i;case"download":return`${i}?${new URLSearchParams({[k]:H})}`;case"thumbnail":return`${i}?${new URLSearchParams({[w]:r.variant})}`}},re=e=>{let n=e.getAll(w),r=e.getAll(k);if(n.length>0&&r.length>0)return{kind:"invalid",reason:"conflict"};if(n.length>0){let[i]=n;return n.length===1&&D(i)?{kind:"thumbnail",variant:i}:{kind:"invalid",reason:"thumbnail_variant"}}return r.length>0?r.length===1&&r[0]===H?{kind:"download"}:{kind:"invalid",reason:"download_value"}:{kind:"inline"}};var oe=/^(\d{4})([-/])(\d{2})\2(\d{2})$/;var U=e=>e<10?`0${e}`:`${e}`,ae=e=>{if(Number.isNaN(e.getTime()))return null;let n=e.getFullYear(),r=U(e.getMonth()+1),i=U(e.getDate());return`${n}-${r}-${i}`},ie=e=>{let n=oe.exec(e);if(n===null)return null;let[,r,,i,p]=n,d=Number(r),s=Number(i),R=Number(p);if(d<1)return null;let h=new Date(0);return h.setUTCFullYear(d,s-1,R),h.getUTCFullYear()!==d||h.getUTCMonth()!==s-1||h.getUTCDate()!==R?null:`${r}-${i}-${p}`};var se=e=>e==null?null:e instanceof Date?ae(e):ie(e);var le=e=>typeof e=="string"?JSON.stringify(e):typeof e=="number"||typeof e=="boolean"||e===null||e===void 0?String(e):Array.isArray(e)?"array":typeof e,j=(e,n,r)=>new RangeError(`[daily-report] ${e} must be ${n}; got ${le(r)}`);var pe=(e,n,r,i)=>{if(typeof i!="string"||i.trim()==="")throw j("mergeComments: unknownAuthorName","a non-blank string",i);let p=e.map((s,R)=>({id:`legacy-${R}`,authorName:s.name||i,content:s.text||"",isMine:!1,color:s.color||void 0,isLegacy:!0})),d=n.map(s=>({id:s.id,authorName:s.userName||i,content:s.content??"",createdAt:s.createdAt??"",isMine:r?s.userId===r:s.isMine,isLegacy:!1}));return[...p,...d]};export{l as DAILY_REPORT_ACTION_FIELDS,Q as DAILY_REPORT_ACTION_INTENTS,ee as DAILY_REPORT_API_ENDPOINTS,te as DAILY_REPORT_API_QUERY_PARAMS,O as DAILY_REPORT_ATTACHMENT_THUMBNAIL_VARIANTS,u as DAILY_REPORT_CLIENT_TEMP_ID_PATTERN,z as DAILY_REPORT_SSE_CURSOR_PARAM,$ as DAILY_REPORT_SSE_HEARTBEAT_MS,B as DAILY_REPORT_SSE_TERMINAL_EVENTS,ne as buildDailyReportAttachmentUrl,x as commentAddMessageSchema,_ as commentDeleteMessageSchema,S as connectedMessageSchema,c as dailyReportDetailSchema,A as dailyReportExternalCommentSchema,b as dailyReportInterviewerSchema,f as dailyReportLabelDefSchema,y as dailyReportPostedCommentSchema,K as dailyReportSseMessageSchema,q as encodeDailyReportActionCommand,D as isDailyReportAttachmentThumbnailVariant,F as isDailyReportSseStreamId,X as isIdsStreamChunkLine,pe as mergeComments,se as normalizeBusinessDateKey,G as parseDailyReportActionResult,re as parseDailyReportAttachmentQuery,C as reportCreateMessageSchema,M as reportDeleteMessageSchema,N as reportPublishMessageSchema,E as reportUpdateMessageSchema,T as statusUpdateMessageSchema};
package/dist/server.d.mts CHANGED
@@ -1,4 +1,4 @@
1
- import { c as DailyReportSseMessage, j as DailyReportInterviewer, i as DailyReportExternalComment, D as DailyReportItem, d as DailyReportDetail, h as DailyReportAttachmentSummary, l as DailyReportPostedComment } from "./sse-schema-DcOgQr_O.mjs";
1
+ import { c as DailyReportSseMessage, j as DailyReportInterviewer, i as DailyReportExternalComment, D as DailyReportItem, d as DailyReportDetail, h as DailyReportAttachmentSummary, l as DailyReportPostedComment } from "./sse-schema-DVIUaiAG.mjs";
2
2
  import * as drizzle_orm_mssql_core from "drizzle-orm/mssql-core";
3
3
  import { AnyMsSqlColumn } from "drizzle-orm/mssql-core";
4
4
  import { TransactionRetryOptions } from "@aiquants/mssql";
@@ -147,10 +147,14 @@ declare class SqlResultCache {
147
147
  private readonly epochStore;
148
148
  private readonly buckets;
149
149
  private readonly inFlight;
150
+ private readonly forcedFetches;
150
151
  constructor(config: {
151
152
  defaultTtlMs: number;
152
153
  }, epochStore: EpochStore);
153
154
  private maybeRefreshAhead;
155
+ private startFetch;
156
+ private forcedFetch;
157
+ private runForcedFetch;
154
158
  getOrFetch: <T>(opts: {
155
159
  cacheKey: string;
156
160
  fetcher: () => Promise<readonly T[]>;
@@ -184,6 +188,11 @@ type DailyReportExternalSource = {
184
188
  mapRow: (row: Record<string, unknown>) => ExternalReportFields;
185
189
  };
186
190
  declare const transformJsonArray: <TRaw, TResult>(payload: string | null, label: string, mapper: (raw: TRaw) => TResult | null, logger?: DailyReportLogger) => TResult[];
191
+ declare const CLIENT_TEMP_ID_BRAND: unique symbol;
192
+ type DailyReportClientTempId = string & {
193
+ readonly [CLIENT_TEMP_ID_BRAND]: true;
194
+ };
195
+ declare const parseClientTempId: (raw: string | null) => DailyReportClientTempId | null;
187
196
  type ResourceRouteArgs = {
188
197
  request: Request;
189
198
  params: Record<string, string | undefined>;
@@ -1476,11 +1485,6 @@ declare class DailyReportViewerScope {
1476
1485
  static restrictTo(input: readonly string[] | DailyReportVisibilityDimensions): DailyReportViewerScope;
1477
1486
  static unrestricted(auditReason: string): DailyReportViewerScope;
1478
1487
  }
1479
- declare const CLIENT_TEMP_ID_BRAND: unique symbol;
1480
- type DailyReportClientTempId = string & {
1481
- readonly [CLIENT_TEMP_ID_BRAND]: true;
1482
- };
1483
- declare const parseClientTempId: (raw: string | null) => DailyReportClientTempId | null;
1484
1488
  type DailyReportHubRow = {
1485
1489
  id: number;
1486
1490
  sourceType: string;
@@ -1688,7 +1692,7 @@ declare class DailyReportSseReader implements DailyReportSseReaderPort {
1688
1692
  private _invalidateCaches;
1689
1693
  }
1690
1694
  declare const generateETag: (data: unknown) => string;
1691
- declare const jsonResponseWithETag: (request: Request, cookie: string | null, payload: Record<string, unknown>, status?: number, logger?: DailyReportLogger) => Response;
1695
+ declare const jsonResponseWithETag: (request: Request, cookie: string | null, payload: Record<string, unknown>, status?: number) => Response;
1692
1696
  type SharpHeaderLike = {
1693
1697
  width: number;
1694
1698
  height: number;
@@ -1783,6 +1787,10 @@ declare const predictSharpThumbnailWorkingSetBytes: (source: Uint8Array, format:
1783
1787
  declare const createSharpThumbnailRenderer: (sharp: SharpLike) => DailyReportAttachmentThumbnailRenderer;
1784
1788
  declare const DAILY_REPORT_SSE_VISIBILITY_REFRESH_MS = 60000;
1785
1789
  declare const DAILY_REPORT_SSE_CATCH_UP_BATCH: number;
1790
+ declare const readSseStreamEntry: (raw: RedisStreamMessage, logger: DailyReportLogger) => {
1791
+ readonly entry: StreamEntry;
1792
+ readonly json: unknown;
1793
+ };
1786
1794
  type DailyReportServerConfig = Omit<DailyReportServiceConfig, "cache" | "epochs"> & {
1787
1795
  authenticate: DailyReportAuthenticate;
1788
1796
  resolveVisibleSourceTypes?: DailyReportResolveVisibleSourceTypes;
@@ -1800,4 +1808,4 @@ type DailyReportServer = DailyReportHandlers & {
1800
1808
  knownSourceTypes: readonly string[];
1801
1809
  };
1802
1810
  declare function createDailyReportServer(config: DailyReportServerConfig): DailyReportServer;
1803
- export { DAILY_REPORT_ATTACHMENT_THUMBNAIL_MAX_OUTPUT_BYTES, DAILY_REPORT_ATTACHMENT_THUMBNAIL_OUTPUT_MEDIA_TYPES, DAILY_REPORT_SHARP_THUMBNAIL_DECODE_BUDGET_BYTES, DAILY_REPORT_SHARP_THUMBNAIL_DECODE_WORK_MODEL, DAILY_REPORT_SHARP_THUMBNAIL_WORKING_SET_MODEL, DAILY_REPORT_SSE_CATCH_UP_BATCH, DAILY_REPORT_SSE_VISIBILITY_REFRESH_MS, type DailyReportAttachmentDelivery, type DailyReportAttachmentError, type DailyReportAttachmentFailure, type DailyReportAttachmentThumbnail, type DailyReportAttachmentThumbnailOutputMediaType, type DailyReportAttachmentThumbnailRenderer, type DailyReportAttachmentThumbnailSourceFormat, type DailyReportAttachmentThumbnailsConfig, type DailyReportAttachmentsConfig, type DailyReportAuthResult, type DailyReportAuthenticate, type DailyReportClientTempId, type DailyReportDb, type DailyReportHandlers, type DailyReportHandlersConfig, type DailyReportIdCodec, type DailyReportReadAttachment, type DailyReportRedisProvider, type DailyReportServer, type DailyReportServerConfig, type DailyReportServiceConfig, DailyReportSseReader, type DailyReportSseReaderPort, type DailyReportTables, DailyReportViewerScope, type ExternalReportFields, type SharpLike, SqlResultCache, type StreamEntry, createDailyReportHandlers, createDailyReportServer, createDailyReportService, createEpochStore, createSharpThumbnailRenderer, defineDailyReportSchema, generateETag, isStreamIdLte, jsonResponseWithETag, parseClientTempId, predictSharpThumbnailWorkingSetBytes, transformJsonArray };
1811
+ export { DAILY_REPORT_ATTACHMENT_THUMBNAIL_MAX_OUTPUT_BYTES, DAILY_REPORT_ATTACHMENT_THUMBNAIL_OUTPUT_MEDIA_TYPES, DAILY_REPORT_SHARP_THUMBNAIL_DECODE_BUDGET_BYTES, DAILY_REPORT_SHARP_THUMBNAIL_DECODE_WORK_MODEL, DAILY_REPORT_SHARP_THUMBNAIL_WORKING_SET_MODEL, DAILY_REPORT_SSE_CATCH_UP_BATCH, DAILY_REPORT_SSE_VISIBILITY_REFRESH_MS, type DailyReportAttachmentDelivery, type DailyReportAttachmentError, type DailyReportAttachmentFailure, type DailyReportAttachmentThumbnail, type DailyReportAttachmentThumbnailOutputMediaType, type DailyReportAttachmentThumbnailRenderer, type DailyReportAttachmentThumbnailSourceFormat, type DailyReportAttachmentThumbnailsConfig, type DailyReportAttachmentsConfig, type DailyReportAuthResult, type DailyReportAuthenticate, type DailyReportClientTempId, type DailyReportDb, type DailyReportHandlers, type DailyReportHandlersConfig, type DailyReportIdCodec, type DailyReportReadAttachment, type DailyReportRedisProvider, type DailyReportServer, type DailyReportServerConfig, type DailyReportServiceConfig, DailyReportSseReader, type DailyReportSseReaderPort, type DailyReportTables, DailyReportViewerScope, type ExternalReportFields, type SharpLike, SqlResultCache, type StreamEntry, createDailyReportHandlers, createDailyReportServer, createDailyReportService, createEpochStore, createSharpThumbnailRenderer, defineDailyReportSchema, generateETag, isStreamIdLte, jsonResponseWithETag, parseClientTempId, predictSharpThumbnailWorkingSetBytes, readSseStreamEntry as readDailyReportSseStreamEntry, transformJsonArray };
package/dist/server.d.ts CHANGED
@@ -1,4 +1,4 @@
1
- import { c as DailyReportSseMessage, j as DailyReportInterviewer, i as DailyReportExternalComment, D as DailyReportItem, d as DailyReportDetail, h as DailyReportAttachmentSummary, l as DailyReportPostedComment } from "./sse-schema-DcOgQr_O.js";
1
+ import { c as DailyReportSseMessage, j as DailyReportInterviewer, i as DailyReportExternalComment, D as DailyReportItem, d as DailyReportDetail, h as DailyReportAttachmentSummary, l as DailyReportPostedComment } from "./sse-schema-DVIUaiAG.js";
2
2
  import * as drizzle_orm_mssql_core from "drizzle-orm/mssql-core";
3
3
  import { AnyMsSqlColumn } from "drizzle-orm/mssql-core";
4
4
  import { TransactionRetryOptions } from "@aiquants/mssql";
@@ -147,10 +147,14 @@ declare class SqlResultCache {
147
147
  private readonly epochStore;
148
148
  private readonly buckets;
149
149
  private readonly inFlight;
150
+ private readonly forcedFetches;
150
151
  constructor(config: {
151
152
  defaultTtlMs: number;
152
153
  }, epochStore: EpochStore);
153
154
  private maybeRefreshAhead;
155
+ private startFetch;
156
+ private forcedFetch;
157
+ private runForcedFetch;
154
158
  getOrFetch: <T>(opts: {
155
159
  cacheKey: string;
156
160
  fetcher: () => Promise<readonly T[]>;
@@ -184,6 +188,11 @@ type DailyReportExternalSource = {
184
188
  mapRow: (row: Record<string, unknown>) => ExternalReportFields;
185
189
  };
186
190
  declare const transformJsonArray: <TRaw, TResult>(payload: string | null, label: string, mapper: (raw: TRaw) => TResult | null, logger?: DailyReportLogger) => TResult[];
191
+ declare const CLIENT_TEMP_ID_BRAND: unique symbol;
192
+ type DailyReportClientTempId = string & {
193
+ readonly [CLIENT_TEMP_ID_BRAND]: true;
194
+ };
195
+ declare const parseClientTempId: (raw: string | null) => DailyReportClientTempId | null;
187
196
  type ResourceRouteArgs = {
188
197
  request: Request;
189
198
  params: Record<string, string | undefined>;
@@ -1476,11 +1485,6 @@ declare class DailyReportViewerScope {
1476
1485
  static restrictTo(input: readonly string[] | DailyReportVisibilityDimensions): DailyReportViewerScope;
1477
1486
  static unrestricted(auditReason: string): DailyReportViewerScope;
1478
1487
  }
1479
- declare const CLIENT_TEMP_ID_BRAND: unique symbol;
1480
- type DailyReportClientTempId = string & {
1481
- readonly [CLIENT_TEMP_ID_BRAND]: true;
1482
- };
1483
- declare const parseClientTempId: (raw: string | null) => DailyReportClientTempId | null;
1484
1488
  type DailyReportHubRow = {
1485
1489
  id: number;
1486
1490
  sourceType: string;
@@ -1688,7 +1692,7 @@ declare class DailyReportSseReader implements DailyReportSseReaderPort {
1688
1692
  private _invalidateCaches;
1689
1693
  }
1690
1694
  declare const generateETag: (data: unknown) => string;
1691
- declare const jsonResponseWithETag: (request: Request, cookie: string | null, payload: Record<string, unknown>, status?: number, logger?: DailyReportLogger) => Response;
1695
+ declare const jsonResponseWithETag: (request: Request, cookie: string | null, payload: Record<string, unknown>, status?: number) => Response;
1692
1696
  type SharpHeaderLike = {
1693
1697
  width: number;
1694
1698
  height: number;
@@ -1783,6 +1787,10 @@ declare const predictSharpThumbnailWorkingSetBytes: (source: Uint8Array, format:
1783
1787
  declare const createSharpThumbnailRenderer: (sharp: SharpLike) => DailyReportAttachmentThumbnailRenderer;
1784
1788
  declare const DAILY_REPORT_SSE_VISIBILITY_REFRESH_MS = 60000;
1785
1789
  declare const DAILY_REPORT_SSE_CATCH_UP_BATCH: number;
1790
+ declare const readSseStreamEntry: (raw: RedisStreamMessage, logger: DailyReportLogger) => {
1791
+ readonly entry: StreamEntry;
1792
+ readonly json: unknown;
1793
+ };
1786
1794
  type DailyReportServerConfig = Omit<DailyReportServiceConfig, "cache" | "epochs"> & {
1787
1795
  authenticate: DailyReportAuthenticate;
1788
1796
  resolveVisibleSourceTypes?: DailyReportResolveVisibleSourceTypes;
@@ -1800,4 +1808,4 @@ type DailyReportServer = DailyReportHandlers & {
1800
1808
  knownSourceTypes: readonly string[];
1801
1809
  };
1802
1810
  declare function createDailyReportServer(config: DailyReportServerConfig): DailyReportServer;
1803
- export { DAILY_REPORT_ATTACHMENT_THUMBNAIL_MAX_OUTPUT_BYTES, DAILY_REPORT_ATTACHMENT_THUMBNAIL_OUTPUT_MEDIA_TYPES, DAILY_REPORT_SHARP_THUMBNAIL_DECODE_BUDGET_BYTES, DAILY_REPORT_SHARP_THUMBNAIL_DECODE_WORK_MODEL, DAILY_REPORT_SHARP_THUMBNAIL_WORKING_SET_MODEL, DAILY_REPORT_SSE_CATCH_UP_BATCH, DAILY_REPORT_SSE_VISIBILITY_REFRESH_MS, type DailyReportAttachmentDelivery, type DailyReportAttachmentError, type DailyReportAttachmentFailure, type DailyReportAttachmentThumbnail, type DailyReportAttachmentThumbnailOutputMediaType, type DailyReportAttachmentThumbnailRenderer, type DailyReportAttachmentThumbnailSourceFormat, type DailyReportAttachmentThumbnailsConfig, type DailyReportAttachmentsConfig, type DailyReportAuthResult, type DailyReportAuthenticate, type DailyReportClientTempId, type DailyReportDb, type DailyReportHandlers, type DailyReportHandlersConfig, type DailyReportIdCodec, type DailyReportReadAttachment, type DailyReportRedisProvider, type DailyReportServer, type DailyReportServerConfig, type DailyReportServiceConfig, DailyReportSseReader, type DailyReportSseReaderPort, type DailyReportTables, DailyReportViewerScope, type ExternalReportFields, type SharpLike, SqlResultCache, type StreamEntry, createDailyReportHandlers, createDailyReportServer, createDailyReportService, createEpochStore, createSharpThumbnailRenderer, defineDailyReportSchema, generateETag, isStreamIdLte, jsonResponseWithETag, parseClientTempId, predictSharpThumbnailWorkingSetBytes, transformJsonArray };
1811
+ export { DAILY_REPORT_ATTACHMENT_THUMBNAIL_MAX_OUTPUT_BYTES, DAILY_REPORT_ATTACHMENT_THUMBNAIL_OUTPUT_MEDIA_TYPES, DAILY_REPORT_SHARP_THUMBNAIL_DECODE_BUDGET_BYTES, DAILY_REPORT_SHARP_THUMBNAIL_DECODE_WORK_MODEL, DAILY_REPORT_SHARP_THUMBNAIL_WORKING_SET_MODEL, DAILY_REPORT_SSE_CATCH_UP_BATCH, DAILY_REPORT_SSE_VISIBILITY_REFRESH_MS, type DailyReportAttachmentDelivery, type DailyReportAttachmentError, type DailyReportAttachmentFailure, type DailyReportAttachmentThumbnail, type DailyReportAttachmentThumbnailOutputMediaType, type DailyReportAttachmentThumbnailRenderer, type DailyReportAttachmentThumbnailSourceFormat, type DailyReportAttachmentThumbnailsConfig, type DailyReportAttachmentsConfig, type DailyReportAuthResult, type DailyReportAuthenticate, type DailyReportClientTempId, type DailyReportDb, type DailyReportHandlers, type DailyReportHandlersConfig, type DailyReportIdCodec, type DailyReportReadAttachment, type DailyReportRedisProvider, type DailyReportServer, type DailyReportServerConfig, type DailyReportServiceConfig, DailyReportSseReader, type DailyReportSseReaderPort, type DailyReportTables, DailyReportViewerScope, type ExternalReportFields, type SharpLike, SqlResultCache, type StreamEntry, createDailyReportHandlers, createDailyReportServer, createDailyReportService, createEpochStore, createSharpThumbnailRenderer, defineDailyReportSchema, generateETag, isStreamIdLte, jsonResponseWithETag, parseClientTempId, predictSharpThumbnailWorkingSetBytes, readSseStreamEntry as readDailyReportSseStreamEntry, transformJsonArray };