@ai-matrx/messaging 0.8.0 → 0.9.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.
- package/CHANGELOG.md +31 -0
- package/dist/index.cjs +2 -1
- package/dist/index.cjs.map +1 -1
- package/dist/index.d.cts +43 -3
- package/dist/index.d.ts +43 -3
- package/dist/index.js +2 -1
- package/dist/index.js.map +1 -1
- package/dist/react.cjs +14 -2
- package/dist/react.cjs.map +1 -1
- package/dist/react.d.cts +40 -7
- package/dist/react.d.ts +40 -7
- package/dist/react.js +14 -2
- package/dist/react.js.map +1 -1
- package/package.json +1 -1
package/dist/react.d.cts
CHANGED
|
@@ -509,12 +509,37 @@ interface SupabaseLike extends SchemaLike {
|
|
|
509
509
|
schema(name: string): SchemaLike;
|
|
510
510
|
}
|
|
511
511
|
/**
|
|
512
|
-
*
|
|
513
|
-
*
|
|
514
|
-
*
|
|
515
|
-
*
|
|
512
|
+
* 🚨 THE PUBLIC PROP TYPE IS DELIBERATELY SHALLOW.
|
|
513
|
+
*
|
|
514
|
+
* `<MessagingProvider client={supabase}>` must accept the client the host
|
|
515
|
+
* ALREADY HAS — a `SupabaseClient<Database>` built from generated types. It did
|
|
516
|
+
* not: checking a fully-typed client against the rich `SupabaseLike` above
|
|
517
|
+
* makes tsc chase PostgREST's schema machinery until it bails with **TS2589,
|
|
518
|
+
* "Type instantiation is excessively deep"**, followed by a page of "not
|
|
519
|
+
* assignable". The first real consumer hit both on the one line the README
|
|
520
|
+
* tells every consumer to write, and the only escape was the cast this
|
|
521
|
+
* package's own header forbids.
|
|
522
|
+
*
|
|
523
|
+
* So the boundary is shallow — method names and arity, results as `unknown` —
|
|
524
|
+
* which a typed client satisfies without the compiler unrolling anything. The
|
|
525
|
+
* RICH shape (`SupabaseLike`) is still the internal contract, and the provider
|
|
526
|
+
* narrows to it ONCE, inside the package. That is the data 0.2.1 lesson applied
|
|
527
|
+
* to a client instead of a JSON column: type a public boundary over `unknown`,
|
|
528
|
+
* never over a strict recursive type the host's generator also produces.
|
|
529
|
+
*
|
|
530
|
+
* `supabase-shape.test.ts` proves BOTH legs at compile time: every call this
|
|
531
|
+
* package makes works on a real client, AND a fully-typed real client is
|
|
532
|
+
* assignable to this type.
|
|
516
533
|
*/
|
|
517
|
-
|
|
534
|
+
interface MessagingSupabaseClient {
|
|
535
|
+
schema(name: string): unknown;
|
|
536
|
+
from(table: string): unknown;
|
|
537
|
+
rpc(fn: string, args?: Record<string, unknown>): unknown;
|
|
538
|
+
channel(topic: string, params?: unknown): unknown;
|
|
539
|
+
removeChannel(channel: never): unknown;
|
|
540
|
+
}
|
|
541
|
+
/** The internal client contract — what the repository and the manager see. */
|
|
542
|
+
type MessagingSupabaseInternal = SupabaseLike & RealtimeClientLike;
|
|
518
543
|
|
|
519
544
|
/**
|
|
520
545
|
* THE DATA CONTRACT — the ONE place a messaging table or RPC name exists.
|
|
@@ -583,7 +608,15 @@ declare const RPCS: {
|
|
|
583
608
|
*/
|
|
584
609
|
type SessionResolver = () => Promise<unknown>;
|
|
585
610
|
interface RepositoryOptions {
|
|
586
|
-
|
|
611
|
+
/**
|
|
612
|
+
* The host's Supabase client. Typed over the SHALLOW public shape for the
|
|
613
|
+
* same reason the provider's prop is (see `supabase-shape.ts`): a fully-typed
|
|
614
|
+
* `SupabaseClient<Database>` checked against the rich contract makes tsc bail
|
|
615
|
+
* with TS2589. A service module builds this repository directly — the
|
|
616
|
+
* framework-free path in the README — so it hits the boundary exactly like
|
|
617
|
+
* the provider does.
|
|
618
|
+
*/
|
|
619
|
+
client: MessagingSupabaseClient;
|
|
587
620
|
identity: MessagingIdentity;
|
|
588
621
|
/** Called once before a retry when a read fails with a missing session. */
|
|
589
622
|
resolveSession?: SessionResolver | undefined;
|
|
@@ -1425,4 +1458,4 @@ declare function summarizeText(content: string, maxLength?: number): string;
|
|
|
1425
1458
|
/** Serialize picked references into a fence the platform's other readers accept. */
|
|
1426
1459
|
declare function composeFence(references: readonly MatrxReference[]): string;
|
|
1427
1460
|
|
|
1428
|
-
export { type ActionChoice, type ActionContext, type ActionHandler, type ActionOutcome, type ActionReceipt, type ActionRegistry, type ActorPresentation, AgentTag, type AiCapability, type AiResult, AlertIcon, type Attachment, Avatar, BotIcon, CheckIcon, ChevronLeftIcon, type ClientMessageId, ClockIcon, CloseIcon, Composer, type Conversation, type ConversationCursor, type ConversationId, ConversationList, type ConversationListProps, type ConversationRowWrapperProps, ConversationSkeleton, type ConversationSummary, type ConversationThread, type ConversationType, ConversationView, type ConversationViewProps, type DeliveryState, DeliveryTick, DoubleCheckIcon, type DraftMessage, EmptyState, type EngineDiagnostic, type IncomingMessageContext, type JsonObject, type JsonValue, LinkIcon, MESSAGING_EVENTS, MESSAGING_RPC_SCHEMA, MESSAGING_SCHEMA, type MatrxReference, type Message, type MessageAction, MessageActionChips, type MessageActionRenderProps, type MessageActionRenderer, MessageBubble, type MessageCursor, type MessageGroup, type MessageId, type MessageKind, type MessageWrapperProps, type MessagingAgents, type MessagingAi, type MessagingAiOptions, type MessagingEngine, type MessagingEngineOptions, MessagingError, type MessagingErrorCode, type MessagingHost, type MessagingIdentity, MessagingInbox, type MessagingInboxProps, MessagingProvider, type MessagingProviderProps, type MessagingRepository, type MessagingSnapshot, type MessagingStore, type OrganizationId, type Outbox, type OutboxEntry, type OutboxOptions, type OutboxStorage, type Page, PaperclipIcon, type Participant, type ParticipantRole, PlusIcon, type PostgrestFilterLike, type PostgrestLikeResponse, type PostgrestTableLike, RPCS, type ReadCache, type ReadCacheOptions, ReferenceCard, type ReferenceRenderer, ReplyIcon, type RepositoryOptions, type SchemaLike, SearchIcon, SendIcon, type SessionResolver, SparklesIcon, type SupabaseLike, TABLES, type TextSegment, TypingDots, type UseComposerResult, type UseConversationResult, type UseConversationsResult, type UseMessageActionResult, type UseMessagingAiResult, type UseTypistsResult, type UserId, type UserSummary, UsersIcon, asClientMessageId, asConversationId, asMessageId, asOrganizationId, asUserId, composeFence, conversationTopic, createActionRegistry, createMemoryOutboxStorage, createMessagingAi, createMessagingEngine, createMessagingRepository, createMessagingStore, createOutbox, createReadCache, createWebOutboxStorage, extractReferences, formatConversationTime, formatDateSeparator, formatLastSeen, formatMessageTime, formatTypists, groupMessages, inboxTopic, invalidResponse, isSameDay, messagingClientId, normalizeMessagingError, optimisticMessage, participantNames, projectConversationSummary, projectMessage, projectMessageAction, projectParticipantRole, projectUserSummary, resolveActor, splitText, summarizeText, useComposer, useConversation, useConversations, useMessageAction, useMessagingAi, useMessagingHost, useMessagingSnapshot, useOnlineUserIds, useRequiredMessagingHost, useTypists };
|
|
1461
|
+
export { type ActionChoice, type ActionContext, type ActionHandler, type ActionOutcome, type ActionReceipt, type ActionRegistry, type ActorPresentation, AgentTag, type AiCapability, type AiResult, AlertIcon, type Attachment, Avatar, BotIcon, CheckIcon, ChevronLeftIcon, type ClientMessageId, ClockIcon, CloseIcon, Composer, type Conversation, type ConversationCursor, type ConversationId, ConversationList, type ConversationListProps, type ConversationRowWrapperProps, ConversationSkeleton, type ConversationSummary, type ConversationThread, type ConversationType, ConversationView, type ConversationViewProps, type DeliveryState, DeliveryTick, DoubleCheckIcon, type DraftMessage, EmptyState, type EngineDiagnostic, type IncomingMessageContext, type JsonObject, type JsonValue, LinkIcon, MESSAGING_EVENTS, MESSAGING_RPC_SCHEMA, MESSAGING_SCHEMA, type MatrxReference, type Message, type MessageAction, MessageActionChips, type MessageActionRenderProps, type MessageActionRenderer, MessageBubble, type MessageCursor, type MessageGroup, type MessageId, type MessageKind, type MessageWrapperProps, type MessagingAgents, type MessagingAi, type MessagingAiOptions, type MessagingEngine, type MessagingEngineOptions, MessagingError, type MessagingErrorCode, type MessagingHost, type MessagingIdentity, MessagingInbox, type MessagingInboxProps, MessagingProvider, type MessagingProviderProps, type MessagingRepository, type MessagingSnapshot, type MessagingStore, type MessagingSupabaseClient, type MessagingSupabaseInternal, type OrganizationId, type Outbox, type OutboxEntry, type OutboxOptions, type OutboxStorage, type Page, PaperclipIcon, type Participant, type ParticipantRole, PlusIcon, type PostgrestFilterLike, type PostgrestLikeResponse, type PostgrestTableLike, RPCS, type ReadCache, type ReadCacheOptions, ReferenceCard, type ReferenceRenderer, ReplyIcon, type RepositoryOptions, type SchemaLike, SearchIcon, SendIcon, type SessionResolver, SparklesIcon, type SupabaseLike, TABLES, type TextSegment, TypingDots, type UseComposerResult, type UseConversationResult, type UseConversationsResult, type UseMessageActionResult, type UseMessagingAiResult, type UseTypistsResult, type UserId, type UserSummary, UsersIcon, asClientMessageId, asConversationId, asMessageId, asOrganizationId, asUserId, composeFence, conversationTopic, createActionRegistry, createMemoryOutboxStorage, createMessagingAi, createMessagingEngine, createMessagingRepository, createMessagingStore, createOutbox, createReadCache, createWebOutboxStorage, extractReferences, formatConversationTime, formatDateSeparator, formatLastSeen, formatMessageTime, formatTypists, groupMessages, inboxTopic, invalidResponse, isSameDay, messagingClientId, normalizeMessagingError, optimisticMessage, participantNames, projectConversationSummary, projectMessage, projectMessageAction, projectParticipantRole, projectUserSummary, resolveActor, splitText, summarizeText, useComposer, useConversation, useConversations, useMessageAction, useMessagingAi, useMessagingHost, useMessagingSnapshot, useOnlineUserIds, useRequiredMessagingHost, useTypists };
|
package/dist/react.d.ts
CHANGED
|
@@ -509,12 +509,37 @@ interface SupabaseLike extends SchemaLike {
|
|
|
509
509
|
schema(name: string): SchemaLike;
|
|
510
510
|
}
|
|
511
511
|
/**
|
|
512
|
-
*
|
|
513
|
-
*
|
|
514
|
-
*
|
|
515
|
-
*
|
|
512
|
+
* 🚨 THE PUBLIC PROP TYPE IS DELIBERATELY SHALLOW.
|
|
513
|
+
*
|
|
514
|
+
* `<MessagingProvider client={supabase}>` must accept the client the host
|
|
515
|
+
* ALREADY HAS — a `SupabaseClient<Database>` built from generated types. It did
|
|
516
|
+
* not: checking a fully-typed client against the rich `SupabaseLike` above
|
|
517
|
+
* makes tsc chase PostgREST's schema machinery until it bails with **TS2589,
|
|
518
|
+
* "Type instantiation is excessively deep"**, followed by a page of "not
|
|
519
|
+
* assignable". The first real consumer hit both on the one line the README
|
|
520
|
+
* tells every consumer to write, and the only escape was the cast this
|
|
521
|
+
* package's own header forbids.
|
|
522
|
+
*
|
|
523
|
+
* So the boundary is shallow — method names and arity, results as `unknown` —
|
|
524
|
+
* which a typed client satisfies without the compiler unrolling anything. The
|
|
525
|
+
* RICH shape (`SupabaseLike`) is still the internal contract, and the provider
|
|
526
|
+
* narrows to it ONCE, inside the package. That is the data 0.2.1 lesson applied
|
|
527
|
+
* to a client instead of a JSON column: type a public boundary over `unknown`,
|
|
528
|
+
* never over a strict recursive type the host's generator also produces.
|
|
529
|
+
*
|
|
530
|
+
* `supabase-shape.test.ts` proves BOTH legs at compile time: every call this
|
|
531
|
+
* package makes works on a real client, AND a fully-typed real client is
|
|
532
|
+
* assignable to this type.
|
|
516
533
|
*/
|
|
517
|
-
|
|
534
|
+
interface MessagingSupabaseClient {
|
|
535
|
+
schema(name: string): unknown;
|
|
536
|
+
from(table: string): unknown;
|
|
537
|
+
rpc(fn: string, args?: Record<string, unknown>): unknown;
|
|
538
|
+
channel(topic: string, params?: unknown): unknown;
|
|
539
|
+
removeChannel(channel: never): unknown;
|
|
540
|
+
}
|
|
541
|
+
/** The internal client contract — what the repository and the manager see. */
|
|
542
|
+
type MessagingSupabaseInternal = SupabaseLike & RealtimeClientLike;
|
|
518
543
|
|
|
519
544
|
/**
|
|
520
545
|
* THE DATA CONTRACT — the ONE place a messaging table or RPC name exists.
|
|
@@ -583,7 +608,15 @@ declare const RPCS: {
|
|
|
583
608
|
*/
|
|
584
609
|
type SessionResolver = () => Promise<unknown>;
|
|
585
610
|
interface RepositoryOptions {
|
|
586
|
-
|
|
611
|
+
/**
|
|
612
|
+
* The host's Supabase client. Typed over the SHALLOW public shape for the
|
|
613
|
+
* same reason the provider's prop is (see `supabase-shape.ts`): a fully-typed
|
|
614
|
+
* `SupabaseClient<Database>` checked against the rich contract makes tsc bail
|
|
615
|
+
* with TS2589. A service module builds this repository directly — the
|
|
616
|
+
* framework-free path in the README — so it hits the boundary exactly like
|
|
617
|
+
* the provider does.
|
|
618
|
+
*/
|
|
619
|
+
client: MessagingSupabaseClient;
|
|
587
620
|
identity: MessagingIdentity;
|
|
588
621
|
/** Called once before a retry when a read fails with a missing session. */
|
|
589
622
|
resolveSession?: SessionResolver | undefined;
|
|
@@ -1425,4 +1458,4 @@ declare function summarizeText(content: string, maxLength?: number): string;
|
|
|
1425
1458
|
/** Serialize picked references into a fence the platform's other readers accept. */
|
|
1426
1459
|
declare function composeFence(references: readonly MatrxReference[]): string;
|
|
1427
1460
|
|
|
1428
|
-
export { type ActionChoice, type ActionContext, type ActionHandler, type ActionOutcome, type ActionReceipt, type ActionRegistry, type ActorPresentation, AgentTag, type AiCapability, type AiResult, AlertIcon, type Attachment, Avatar, BotIcon, CheckIcon, ChevronLeftIcon, type ClientMessageId, ClockIcon, CloseIcon, Composer, type Conversation, type ConversationCursor, type ConversationId, ConversationList, type ConversationListProps, type ConversationRowWrapperProps, ConversationSkeleton, type ConversationSummary, type ConversationThread, type ConversationType, ConversationView, type ConversationViewProps, type DeliveryState, DeliveryTick, DoubleCheckIcon, type DraftMessage, EmptyState, type EngineDiagnostic, type IncomingMessageContext, type JsonObject, type JsonValue, LinkIcon, MESSAGING_EVENTS, MESSAGING_RPC_SCHEMA, MESSAGING_SCHEMA, type MatrxReference, type Message, type MessageAction, MessageActionChips, type MessageActionRenderProps, type MessageActionRenderer, MessageBubble, type MessageCursor, type MessageGroup, type MessageId, type MessageKind, type MessageWrapperProps, type MessagingAgents, type MessagingAi, type MessagingAiOptions, type MessagingEngine, type MessagingEngineOptions, MessagingError, type MessagingErrorCode, type MessagingHost, type MessagingIdentity, MessagingInbox, type MessagingInboxProps, MessagingProvider, type MessagingProviderProps, type MessagingRepository, type MessagingSnapshot, type MessagingStore, type OrganizationId, type Outbox, type OutboxEntry, type OutboxOptions, type OutboxStorage, type Page, PaperclipIcon, type Participant, type ParticipantRole, PlusIcon, type PostgrestFilterLike, type PostgrestLikeResponse, type PostgrestTableLike, RPCS, type ReadCache, type ReadCacheOptions, ReferenceCard, type ReferenceRenderer, ReplyIcon, type RepositoryOptions, type SchemaLike, SearchIcon, SendIcon, type SessionResolver, SparklesIcon, type SupabaseLike, TABLES, type TextSegment, TypingDots, type UseComposerResult, type UseConversationResult, type UseConversationsResult, type UseMessageActionResult, type UseMessagingAiResult, type UseTypistsResult, type UserId, type UserSummary, UsersIcon, asClientMessageId, asConversationId, asMessageId, asOrganizationId, asUserId, composeFence, conversationTopic, createActionRegistry, createMemoryOutboxStorage, createMessagingAi, createMessagingEngine, createMessagingRepository, createMessagingStore, createOutbox, createReadCache, createWebOutboxStorage, extractReferences, formatConversationTime, formatDateSeparator, formatLastSeen, formatMessageTime, formatTypists, groupMessages, inboxTopic, invalidResponse, isSameDay, messagingClientId, normalizeMessagingError, optimisticMessage, participantNames, projectConversationSummary, projectMessage, projectMessageAction, projectParticipantRole, projectUserSummary, resolveActor, splitText, summarizeText, useComposer, useConversation, useConversations, useMessageAction, useMessagingAi, useMessagingHost, useMessagingSnapshot, useOnlineUserIds, useRequiredMessagingHost, useTypists };
|
|
1461
|
+
export { type ActionChoice, type ActionContext, type ActionHandler, type ActionOutcome, type ActionReceipt, type ActionRegistry, type ActorPresentation, AgentTag, type AiCapability, type AiResult, AlertIcon, type Attachment, Avatar, BotIcon, CheckIcon, ChevronLeftIcon, type ClientMessageId, ClockIcon, CloseIcon, Composer, type Conversation, type ConversationCursor, type ConversationId, ConversationList, type ConversationListProps, type ConversationRowWrapperProps, ConversationSkeleton, type ConversationSummary, type ConversationThread, type ConversationType, ConversationView, type ConversationViewProps, type DeliveryState, DeliveryTick, DoubleCheckIcon, type DraftMessage, EmptyState, type EngineDiagnostic, type IncomingMessageContext, type JsonObject, type JsonValue, LinkIcon, MESSAGING_EVENTS, MESSAGING_RPC_SCHEMA, MESSAGING_SCHEMA, type MatrxReference, type Message, type MessageAction, MessageActionChips, type MessageActionRenderProps, type MessageActionRenderer, MessageBubble, type MessageCursor, type MessageGroup, type MessageId, type MessageKind, type MessageWrapperProps, type MessagingAgents, type MessagingAi, type MessagingAiOptions, type MessagingEngine, type MessagingEngineOptions, MessagingError, type MessagingErrorCode, type MessagingHost, type MessagingIdentity, MessagingInbox, type MessagingInboxProps, MessagingProvider, type MessagingProviderProps, type MessagingRepository, type MessagingSnapshot, type MessagingStore, type MessagingSupabaseClient, type MessagingSupabaseInternal, type OrganizationId, type Outbox, type OutboxEntry, type OutboxOptions, type OutboxStorage, type Page, PaperclipIcon, type Participant, type ParticipantRole, PlusIcon, type PostgrestFilterLike, type PostgrestLikeResponse, type PostgrestTableLike, RPCS, type ReadCache, type ReadCacheOptions, ReferenceCard, type ReferenceRenderer, ReplyIcon, type RepositoryOptions, type SchemaLike, SearchIcon, SendIcon, type SessionResolver, SparklesIcon, type SupabaseLike, TABLES, type TextSegment, TypingDots, type UseComposerResult, type UseConversationResult, type UseConversationsResult, type UseMessageActionResult, type UseMessagingAiResult, type UseTypistsResult, type UserId, type UserSummary, UsersIcon, asClientMessageId, asConversationId, asMessageId, asOrganizationId, asUserId, composeFence, conversationTopic, createActionRegistry, createMemoryOutboxStorage, createMessagingAi, createMessagingEngine, createMessagingRepository, createMessagingStore, createOutbox, createReadCache, createWebOutboxStorage, extractReferences, formatConversationTime, formatDateSeparator, formatLastSeen, formatMessageTime, formatTypists, groupMessages, inboxTopic, invalidResponse, isSameDay, messagingClientId, normalizeMessagingError, optimisticMessage, participantNames, projectConversationSummary, projectMessage, projectMessageAction, projectParticipantRole, projectUserSummary, resolveActor, splitText, summarizeText, useComposer, useConversation, useConversations, useMessageAction, useMessagingAi, useMessagingHost, useMessagingSnapshot, useOnlineUserIds, useRequiredMessagingHost, useTypists };
|
package/dist/react.js
CHANGED
|
@@ -1388,12 +1388,13 @@ function requireOrg(organizationId, operation) {
|
|
|
1388
1388
|
return organizationId;
|
|
1389
1389
|
}
|
|
1390
1390
|
function createMessagingRepository(options) {
|
|
1391
|
-
const {
|
|
1391
|
+
const { identity } = options;
|
|
1392
1392
|
const org = requireOrg(identity.organizationId, "createMessagingRepository");
|
|
1393
1393
|
const userCache = createReadCache({
|
|
1394
1394
|
ttlMs: options.userTtlMs ?? 5 * 6e4,
|
|
1395
1395
|
...options.now !== void 0 ? { now: options.now } : {}
|
|
1396
1396
|
});
|
|
1397
|
+
const client = options.client;
|
|
1397
1398
|
const db = () => client.schema(MESSAGING_SCHEMA);
|
|
1398
1399
|
const rpcDb = () => client.schema(MESSAGING_RPC_SCHEMA);
|
|
1399
1400
|
async function withSessionRetry(operation, run) {
|
|
@@ -1721,7 +1722,14 @@ function MessagingProvider(props) {
|
|
|
1721
1722
|
const ready = client != null && typeof userId === "string" && userId.length > 0 && typeof organizationId === "string" && organizationId.length > 0;
|
|
1722
1723
|
const hostProvidesRealtime = useIsRealtimeProviderMounted();
|
|
1723
1724
|
if (hostProvidesRealtime) return /* @__PURE__ */ jsx(MessagingRuntime, { ...props });
|
|
1724
|
-
return /* @__PURE__ */ jsx(
|
|
1725
|
+
return /* @__PURE__ */ jsx(
|
|
1726
|
+
RealtimeProvider,
|
|
1727
|
+
{
|
|
1728
|
+
client: ready ? client : null,
|
|
1729
|
+
actorId: userId ?? void 0,
|
|
1730
|
+
children: /* @__PURE__ */ jsx(MessagingRuntime, { ...props })
|
|
1731
|
+
}
|
|
1732
|
+
);
|
|
1725
1733
|
}
|
|
1726
1734
|
function MessagingRuntime(props) {
|
|
1727
1735
|
const { client, userId, organizationId, children } = props;
|
|
@@ -1750,6 +1758,10 @@ function MessagingRuntime(props) {
|
|
|
1750
1758
|
(diagnosticRef.current ?? defaultDiagnostics)(event);
|
|
1751
1759
|
};
|
|
1752
1760
|
const repository = createMessagingRepository({
|
|
1761
|
+
// THE ONE NARROWING, and it lives INSIDE the package. The prop is shallow
|
|
1762
|
+
// so a host's fully-typed client is assignable at all (see
|
|
1763
|
+
// supabase-shape.ts); everything below this line works against the rich
|
|
1764
|
+
// contract, which `supabase-shape.test.ts` proves a real client honors.
|
|
1753
1765
|
client,
|
|
1754
1766
|
identity,
|
|
1755
1767
|
...props.resolveSession !== void 0 ? { resolveSession: props.resolveSession } : {}
|