@elevasis/ui 2.64.1 → 2.65.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.
Files changed (58) hide show
  1. package/dist/api/index.js +2 -2
  2. package/dist/app/index.d.ts +20 -0
  3. package/dist/app/index.js +4 -4
  4. package/dist/auth/index.js +4 -4
  5. package/dist/charts/index.js +4 -4
  6. package/dist/{chunk-PGAA4G3T.js → chunk-3WVZRN37.js} +40 -17
  7. package/dist/{chunk-DRQPEMJI.js → chunk-4DV4ECMG.js} +3 -0
  8. package/dist/{chunk-KRWALB24.js → chunk-6SSQGWK7.js} +1 -1
  9. package/dist/{chunk-I3CFGE3N.js → chunk-BLXJEIQS.js} +1 -1
  10. package/dist/{chunk-FVOMKZ7S.js → chunk-Y6I3IC45.js} +3 -6
  11. package/dist/components/index.d.ts +52 -0
  12. package/dist/components/index.js +4 -4
  13. package/dist/components/navigation/index.js +4 -4
  14. package/dist/execution/index.js +2 -2
  15. package/dist/features/auth/index.d.ts +87 -2
  16. package/dist/features/auth/index.js +142 -7
  17. package/dist/features/clients/index.js +4 -4
  18. package/dist/features/crm/index.d.ts +20 -0
  19. package/dist/features/crm/index.js +4 -4
  20. package/dist/features/dashboard/index.js +4 -4
  21. package/dist/features/delivery/index.d.ts +20 -0
  22. package/dist/features/delivery/index.js +4 -4
  23. package/dist/features/knowledge/index.js +4 -4
  24. package/dist/features/lead-gen/index.js +4 -4
  25. package/dist/features/monitoring/index.js +4 -4
  26. package/dist/features/monitoring/requests/index.js +5 -5
  27. package/dist/features/operations/index.d.ts +36 -1
  28. package/dist/features/operations/index.js +4 -4
  29. package/dist/features/public-agent-chat/index.js +1 -1
  30. package/dist/features/settings/index.d.ts +20 -0
  31. package/dist/features/settings/index.js +4 -4
  32. package/dist/hooks/access/index.js +4 -4
  33. package/dist/hooks/delivery/index.d.ts +20 -0
  34. package/dist/hooks/delivery/index.js +4 -4
  35. package/dist/hooks/index.d.ts +53 -1
  36. package/dist/hooks/index.js +4 -4
  37. package/dist/hooks/published.d.ts +53 -1
  38. package/dist/hooks/published.js +4 -4
  39. package/dist/index.d.ts +53 -1
  40. package/dist/index.js +4 -4
  41. package/dist/initialization/index.d.ts +34 -0
  42. package/dist/knowledge/index.js +5 -5
  43. package/dist/layout/index.js +4 -4
  44. package/dist/organization/index.d.ts +14 -0
  45. package/dist/organization/index.js +4 -4
  46. package/dist/profile/index.d.ts +20 -0
  47. package/dist/provider/index.d.ts +20 -0
  48. package/dist/provider/index.js +4 -4
  49. package/dist/provider/published.d.ts +20 -0
  50. package/dist/provider/published.js +4 -4
  51. package/dist/supabase/index.d.ts +40 -0
  52. package/dist/test-utils/index.d.ts +5 -0
  53. package/dist/test-utils/index.js +4 -4
  54. package/dist/test-utils/setup-integration.js +1 -1
  55. package/dist/test-utils/setup.js +1 -1
  56. package/dist/types/index.d.ts +180 -0
  57. package/dist/utils/index.js +2 -2
  58. package/package.json +6 -4
package/dist/api/index.js CHANGED
@@ -2,7 +2,7 @@ export { createElevasisQueryClient } from '../chunk-M535KHLW.js';
2
2
  export { ApiClientProvider, useApiClient, useApiClientContext } from '../chunk-XNW3O6QW.js';
3
3
  import '../chunk-DD3CCMCZ.js';
4
4
  import '../chunk-I7BZVVVU.js';
5
- import '../chunk-FVOMKZ7S.js';
6
- import '../chunk-KRWALB24.js';
5
+ import '../chunk-Y6I3IC45.js';
6
+ import '../chunk-6SSQGWK7.js';
7
7
  import '../chunk-TVTSASST.js';
8
8
  import '../chunk-I2KLQ2HA.js';
@@ -2753,6 +2753,7 @@ type Database = {
2753
2753
  deleted_at: string | null;
2754
2754
  ended_at: string | null;
2755
2755
  memory_snapshot: Json;
2756
+ memory_version: number;
2756
2757
  metadata: Json | null;
2757
2758
  organization_id: string;
2758
2759
  resource_id: string;
@@ -2769,6 +2770,7 @@ type Database = {
2769
2770
  deleted_at?: string | null;
2770
2771
  ended_at?: string | null;
2771
2772
  memory_snapshot: Json;
2773
+ memory_version?: number;
2772
2774
  metadata?: Json | null;
2773
2775
  organization_id: string;
2774
2776
  resource_id: string;
@@ -2785,6 +2787,7 @@ type Database = {
2785
2787
  deleted_at?: string | null;
2786
2788
  ended_at?: string | null;
2787
2789
  memory_snapshot?: Json;
2790
+ memory_version?: number;
2788
2791
  metadata?: Json | null;
2789
2792
  organization_id?: string;
2790
2793
  resource_id?: string;
@@ -3122,9 +3125,14 @@ type Database = {
3122
3125
  p_session_id: string;
3123
3126
  };
3124
3127
  Returns: {
3128
+ context_window_size: number;
3125
3129
  created_at: string;
3130
+ cumulative_input_tokens: number;
3131
+ cumulative_output_tokens: number;
3132
+ deleted_at: string;
3126
3133
  ended_at: string;
3127
3134
  memory_snapshot: Json;
3135
+ memory_version: number;
3128
3136
  metadata: Json;
3129
3137
  organization_id: string;
3130
3138
  resource_id: string;
@@ -3166,6 +3174,18 @@ type Database = {
3166
3174
  };
3167
3175
  Returns: boolean;
3168
3176
  };
3177
+ increment_session_tokens: {
3178
+ Args: {
3179
+ p_input_tokens: number;
3180
+ p_output_tokens: number;
3181
+ p_session_id: string;
3182
+ };
3183
+ Returns: {
3184
+ context_window_size: number;
3185
+ cumulative_input_tokens: number;
3186
+ cumulative_output_tokens: number;
3187
+ }[];
3188
+ };
3169
3189
  is_org_member: {
3170
3190
  Args: {
3171
3191
  org_id: string;
package/dist/app/index.js CHANGED
@@ -1,4 +1,4 @@
1
- import { useSessionCheck, AppErrorBoundary, SidebarProvider, ElevasisSystemsProvider, useElevasisSystems, AppShellContainer, Sidebar, AppShellRightSideContainer, AppShellRightSideOuterContainer, SystemShell, ElevasisUIProvider } from '../chunk-PGAA4G3T.js';
1
+ import { useSessionCheck, AppErrorBoundary, SidebarProvider, ElevasisSystemsProvider, useElevasisSystems, AppShellContainer, Sidebar, AppShellRightSideContainer, AppShellRightSideOuterContainer, SystemShell, ElevasisUIProvider } from '../chunk-3WVZRN37.js';
2
2
  import '../chunk-4OEVLV66.js';
3
3
  import '../chunk-RBGVNPA6.js';
4
4
  import '../chunk-ZTWA5H77.js';
@@ -16,12 +16,12 @@ import '../chunk-JFBZ6XDW.js';
16
16
  import { TanStackRouterBridge, ScrollToTop } from '../chunk-2IFYDILW.js';
17
17
  import '../chunk-Q7DJKLEN.js';
18
18
  import '../chunk-HENXLGVD.js';
19
- import '../chunk-I3CFGE3N.js';
19
+ import '../chunk-BLXJEIQS.js';
20
20
  import '../chunk-RNP5R5I3.js';
21
21
  import '../chunk-EIXSQONC.js';
22
22
  import { listAllSystems } from '../chunk-I7BZVVVU.js';
23
- import '../chunk-FVOMKZ7S.js';
24
- import '../chunk-KRWALB24.js';
23
+ import '../chunk-Y6I3IC45.js';
24
+ import '../chunk-6SSQGWK7.js';
25
25
  import '../chunk-BI5VDO2K.js';
26
26
  import '../chunk-MQZE7SUI.js';
27
27
  import '../chunk-TVTSASST.js';
@@ -1,4 +1,4 @@
1
- export { AccessGuard, AccessKeys, ProtectedRoute, useSessionCheck as useRefocusSessionCheck, useSessionCheck, useStableAccessToken } from '../chunk-PGAA4G3T.js';
1
+ export { AccessGuard, AccessKeys, ProtectedRoute, useSessionCheck as useRefocusSessionCheck, useSessionCheck, useStableAccessToken } from '../chunk-3WVZRN37.js';
2
2
  import '../chunk-4OEVLV66.js';
3
3
  import '../chunk-RBGVNPA6.js';
4
4
  import '../chunk-ZTWA5H77.js';
@@ -16,12 +16,12 @@ import '../chunk-JFBZ6XDW.js';
16
16
  import '../chunk-2IFYDILW.js';
17
17
  import '../chunk-Q7DJKLEN.js';
18
18
  import '../chunk-HENXLGVD.js';
19
- import '../chunk-I3CFGE3N.js';
19
+ import '../chunk-BLXJEIQS.js';
20
20
  import '../chunk-RNP5R5I3.js';
21
21
  import '../chunk-EIXSQONC.js';
22
22
  import '../chunk-I7BZVVVU.js';
23
- import '../chunk-FVOMKZ7S.js';
24
- import '../chunk-KRWALB24.js';
23
+ import '../chunk-Y6I3IC45.js';
24
+ import '../chunk-6SSQGWK7.js';
25
25
  import '../chunk-BI5VDO2K.js';
26
26
  import '../chunk-MQZE7SUI.js';
27
27
  import '../chunk-TVTSASST.js';
@@ -1,4 +1,4 @@
1
- export { ActivityTrendChart, ChartFrame, CombinedTrendChart, CostTrendChart, CyberAreaChart, CyberDonut, CyberDonutTooltip, CyberLegendItem, HeroStatsRow, getSeriesColor, useCyberColors } from '../chunk-PGAA4G3T.js';
1
+ export { ActivityTrendChart, ChartFrame, CombinedTrendChart, CostTrendChart, CyberAreaChart, CyberDonut, CyberDonutTooltip, CyberLegendItem, HeroStatsRow, getSeriesColor, useCyberColors } from '../chunk-3WVZRN37.js';
2
2
  import '../chunk-4OEVLV66.js';
3
3
  import '../chunk-RBGVNPA6.js';
4
4
  import '../chunk-ZTWA5H77.js';
@@ -16,12 +16,12 @@ import '../chunk-JFBZ6XDW.js';
16
16
  import '../chunk-2IFYDILW.js';
17
17
  import '../chunk-Q7DJKLEN.js';
18
18
  import '../chunk-HENXLGVD.js';
19
- import '../chunk-I3CFGE3N.js';
19
+ import '../chunk-BLXJEIQS.js';
20
20
  import '../chunk-RNP5R5I3.js';
21
21
  import '../chunk-EIXSQONC.js';
22
22
  import '../chunk-I7BZVVVU.js';
23
- import '../chunk-FVOMKZ7S.js';
24
- import '../chunk-KRWALB24.js';
23
+ import '../chunk-Y6I3IC45.js';
24
+ import '../chunk-6SSQGWK7.js';
25
25
  import '../chunk-BI5VDO2K.js';
26
26
  import '../chunk-MQZE7SUI.js';
27
27
  import '../chunk-TVTSASST.js';
@@ -10,11 +10,11 @@ import { SessionIdParamSchema, CreateSessionSchema, GetNotificationsQuerySchema,
10
10
  import { StyledMarkdown, ChatInterface, ChatHeader } from './chunk-JFBZ6XDW.js';
11
11
  import { useRouterContext } from './chunk-Q7DJKLEN.js';
12
12
  import { Graph_module_css_default, useDirectedChainHighlighting, useNodeSelection, useFitViewTrigger, useGraphHighlighting, calculateGraphHeight, GRAPH_CONSTANTS } from './chunk-HENXLGVD.js';
13
- import { STATUS_COLORS, getStatusIcon, formatDuration, getStatusColors, AGENT_CONSTANTS, shouldAnimateEdge, TIMELINE_CONSTANTS, calculateBarPosition, CONTAINER_CONSTANTS, useExecutionPath, useUnifiedWorkflowLayout, WORKFLOW_CONSTANTS, useReactFlowAgent, getResourceStatusColor, useMergedExecution, useTimelineData, useAgentIterationData } from './chunk-I3CFGE3N.js';
13
+ import { STATUS_COLORS, getStatusIcon, formatDuration, getStatusColors, AGENT_CONSTANTS, shouldAnimateEdge, TIMELINE_CONSTANTS, calculateBarPosition, CONTAINER_CONSTANTS, useExecutionPath, useUnifiedWorkflowLayout, WORKFLOW_CONSTANTS, useReactFlowAgent, getResourceStatusColor, useMergedExecution, useTimelineData, useAgentIterationData } from './chunk-BLXJEIQS.js';
14
14
  import { useProfile, useUserProfile, ProfileProvider } from './chunk-EIXSQONC.js';
15
15
  import { LabelSchema, DescriptionSchema, PathSchema, ModelIdSchema, IconNameSchema, SystemLifecycleSchema, OntologyIdSchema, SystemPathSchema, ActionInvocationSchema, SystemIdSchema, NodeIdStringSchema, JsonValueSchema, SystemInterfaceRefSchema, EntitiesDomainSchema, ActionsDomainSchema, DEFAULT_ORGANIZATION_MODEL_ACTIONS, OntologyScopeSchema, DEFAULT_ONTOLOGY_SCOPE, SystemsDomainSchema, DEFAULT_ORGANIZATION_MODEL_SYSTEMS, defineEntities, defineActions, listAllSystems, listResolvedOntologyRecords, getErrorInfo, getErrorTitle, formatErrorMessage, getSystem, compileOrganizationOntology, isAPIClientError, getResourceIcon, formatTimeAgo, PAGE_SIZE_DEFAULT, STALE_TIME_MONITORING, STALE_TIME_DEFAULT, STALE_TIME_ADMIN, APIClientError, GC_TIME_MEDIUM, GC_TIME_SHORT, formatDateTime, LEAD_GEN_API_INTERFACE, computeInterfaceReadiness, getAllBuildTemplates, getLeadGenStageCatalog, formatDate, formatRelativeTime, getResourcesForSystem, ontologyGraphNodeId, parseOntologyId, getAllProspectingStages, getAllPipelines, getAllProjectStatuses, OAUTH_FLOW_TIMEOUT, devOnlyFor, requiresAdminFor, topLevel, parentOf, ancestorsOf, childrenOf, findById, findByPath, getSystemAncestors, resolveSystemConfig, defaultPathFor } from './chunk-I7BZVVVU.js';
16
- import { getTimeRangeLabel, getTimeRangeDates, formatBucketTime, REFETCH_INTERVAL_DASHBOARD, REFETCH_INTERVAL_RUNNING, WS_MAX_RETRIES_BEFORE_ERROR, WS_RECONNECT_BASE_DELAY, WS_RECONNECT_MAX_DELAY, debounce } from './chunk-FVOMKZ7S.js';
17
- import { ResourceStatusColors, toWorkflowLogMessages } from './chunk-KRWALB24.js';
16
+ import { getTimeRangeLabel, getTimeRangeDates, formatBucketTime, REFETCH_INTERVAL_DASHBOARD, REFETCH_INTERVAL_RUNNING, WS_MAX_RETRIES_BEFORE_ERROR, WS_RECONNECT_BASE_DELAY, WS_RECONNECT_MAX_DELAY, debounce } from './chunk-Y6I3IC45.js';
17
+ import { ResourceStatusColors, toWorkflowLogMessages } from './chunk-6SSQGWK7.js';
18
18
  import { useElevasisServices, ElevasisServiceContext, ElevasisServiceProvider } from './chunk-BI5VDO2K.js';
19
19
  import { brandSupabaseOrgId, brandWorkOsOrgId } from './chunk-MQZE7SUI.js';
20
20
  import { ResourceTypeSchema, NonEmptyStringSchema, OriginResourceTypeSchema, UuidSchema, CredentialNameSchema } from './chunk-TVTSASST.js';
@@ -153,7 +153,7 @@ var MEMBERSHIP_STATUS_COLORS = {
153
153
  inactive: "gray"
154
154
  };
155
155
  var MembershipRoleSchema = z.string().min(1).max(64);
156
- z.enum(["active", "inactive"]);
156
+ var MembershipStatusSchema = z.enum(["active", "inactive"]);
157
157
  var MembershipIdParamSchema = z.object({
158
158
  id: z.string().min(1)
159
159
  // WorkOS membership IDs can be various formats
@@ -175,6 +175,10 @@ var UpdateMembershipSchema = z.object({
175
175
  var ListMembershipsQuerySchema = z.object({
176
176
  userId: z.string().optional(),
177
177
  organizationId: z.string().optional(),
178
+ // A querystring repeats keys rather than nesting arrays, so a single value
179
+ // arrives as a bare string. Normalize both shapes to an array.
180
+ statuses: z.union([MembershipStatusSchema, z.array(MembershipStatusSchema)]).transform((value) => Array.isArray(value) ? value : [value]).optional(),
181
+ order: z.enum(["asc", "desc"]).optional(),
178
182
  limit: z.coerce.number().int().min(1).max(100).optional(),
179
183
  before: z.string().optional(),
180
184
  // WorkOS pagination cursor
@@ -13592,6 +13596,24 @@ function useOrganizationMembers(organizationId, params) {
13592
13596
  queryFn: async () => {
13593
13597
  const searchParams = new URLSearchParams();
13594
13598
  searchParams.append("organizationId", organizationId);
13599
+ if (params?.userId) {
13600
+ searchParams.append("userId", params.userId);
13601
+ }
13602
+ for (const status of params?.statuses ?? []) {
13603
+ searchParams.append("statuses", status);
13604
+ }
13605
+ if (params?.order) {
13606
+ searchParams.append("order", params.order);
13607
+ }
13608
+ if (params?.limit !== void 0) {
13609
+ searchParams.append("limit", String(params.limit));
13610
+ }
13611
+ if (params?.before) {
13612
+ searchParams.append("before", params.before);
13613
+ }
13614
+ if (params?.after) {
13615
+ searchParams.append("after", params.after);
13616
+ }
13595
13617
  const response = await apiRequest(`/memberships?${searchParams.toString()}`);
13596
13618
  return response.data.map((membership) => ({
13597
13619
  ...membership,
@@ -27036,23 +27058,23 @@ var platformResourceDescriptors = defineResources(
27036
27058
  ]
27037
27059
  },
27038
27060
  {
27039
- id: "byron-voice-capture-agent",
27061
+ id: "local-test-agent",
27040
27062
  order: 10010,
27041
27063
  kind: "agent",
27042
- systemPath: "client-management",
27043
- title: "Byron Voice Capture Interview Agent",
27044
- description: "Dogfood interview agent that captures client voice, tone, messaging preferences, and examples as a session transcript.",
27045
- ownerRoleId: getPlatformOwnerRoleId("client-management"),
27046
- actsAsRoleId: getPlatformOwnerRoleId("client-management"),
27064
+ systemPath: "platform",
27065
+ title: "Local Test Agent",
27066
+ description: "Generic session-capable agent used to exercise the agent loop, session memory, and prompt assembly against a live model before platform changes reach a tenant.",
27067
+ ownerRoleId: getPlatformOwnerRoleId("platform"),
27068
+ actsAsRoleId: getPlatformOwnerRoleId("platform"),
27047
27069
  status: "active",
27048
27070
  codeRefs: [
27049
27071
  {
27050
- path: "packages/elevasis-operations/src/client-support/voice-capture-agent.ts",
27072
+ path: "packages/elevasis-operations/src/diagnostics/local-test-agent.ts",
27051
27073
  role: "entrypoint",
27052
- symbol: "byronVoiceCaptureAgent"
27074
+ symbol: "localTestAgent"
27053
27075
  },
27054
27076
  {
27055
- path: "packages/elevasis-operations/src/client-support/index.ts",
27077
+ path: "packages/elevasis-operations/src/diagnostics/index.ts",
27056
27078
  role: "config",
27057
27079
  symbol: "agents"
27058
27080
  },
@@ -44127,7 +44149,8 @@ function SessionConversationView({
44127
44149
  placeholder = "Message the agent...",
44128
44150
  onFirstSend,
44129
44151
  pendingFirstMessage,
44130
- onPendingSent
44152
+ onPendingSent,
44153
+ showAgentActivity = false
44131
44154
  }) {
44132
44155
  const [input, setInput] = useState("");
44133
44156
  const [isDraftSubmitting, setIsDraftSubmitting] = useState(false);
@@ -44188,7 +44211,8 @@ function SessionConversationView({
44188
44211
  onClearError: handleClearError,
44189
44212
  emptyStateText,
44190
44213
  emptyStateSubtext,
44191
- placeholder
44214
+ placeholder,
44215
+ showAgentActivity
44192
44216
  }
44193
44217
  );
44194
44218
  }
@@ -44380,7 +44404,6 @@ function getSessionView(search) {
44380
44404
  return new URLSearchParams(search).get("view") === "info" ? "info" : "chat";
44381
44405
  }
44382
44406
  function SessionHeader({ session: _session, connectionState, tokenUsage }) {
44383
- const mockTokenUsage = tokenUsage || { used: 45e3, total: 128e3 };
44384
44407
  return /* @__PURE__ */ jsx(
44385
44408
  ChatHeader,
44386
44409
  {
@@ -44389,7 +44412,7 @@ function SessionHeader({ session: _session, connectionState, tokenUsage }) {
44389
44412
  label: connectionState.isConnected ? "Connected" : "Disconnected",
44390
44413
  color: connectionState.isConnected ? "green" : "gray"
44391
44414
  },
44392
- contextUsage: mockTokenUsage
44415
+ contextUsage: tokenUsage
44393
44416
  }
44394
44417
  );
44395
44418
  }
@@ -15,6 +15,9 @@ var mockUseAuth = {
15
15
  user: null,
16
16
  isLoading: false,
17
17
  signIn: vi.fn(),
18
+ // AuthKit's useAuth exposes signUp alongside signIn; the invited-user flow routes
19
+ // to it when no account exists yet.
20
+ signUp: vi.fn(),
18
21
  signOut: vi.fn(),
19
22
  getAccessToken: vi.fn().mockResolvedValue("mock-access-token"),
20
23
  organizationId: "test-org-id",
@@ -42,7 +42,7 @@ function isLifecycleEvent(ctx) {
42
42
  return "stage" in ctx && ctx.stage !== void 0;
43
43
  }
44
44
  function isIterationEvent(ctx) {
45
- return "eventType" in ctx && ctx.eventType !== void 0;
45
+ return "eventType" in ctx && ctx.eventType !== void 0 && ctx.eventType !== "tool-call";
46
46
  }
47
47
  function isToolCallEvent(ctx) {
48
48
  return "eventType" in ctx && ctx.eventType === "tool-call";
@@ -1,4 +1,4 @@
1
- import { isStepStartedContext, isConditionalRouteContext, isStepCompletedContext, isStepFailedContext, isLifecycleEvent, isIterationEvent, isToolCallEvent, toWorkflowLogMessage } from './chunk-KRWALB24.js';
1
+ import { isStepStartedContext, isConditionalRouteContext, isStepCompletedContext, isStepFailedContext, isLifecycleEvent, isIterationEvent, isToolCallEvent, toWorkflowLogMessage } from './chunk-6SSQGWK7.js';
2
2
  import { useMemo } from 'react';
3
3
  import dagre from '@dagrejs/dagre';
4
4
  import { IconCircleDot, IconLoader, IconAlertTriangle, IconX, IconCheck } from '@tabler/icons-react';
@@ -20,10 +20,11 @@ function debounce(fn, wait) {
20
20
  }
21
21
 
22
22
  // ../core/src/platform/utils/token-counter.ts
23
+ var CHARS_PER_TOKEN = 3.5;
23
24
  function estimateTokens(text) {
24
25
  const content = typeof text === "string" ? text : JSON.stringify(text);
25
26
  const chars = content.length;
26
- return Math.ceil(chars / 3.5);
27
+ return Math.ceil(chars / CHARS_PER_TOKEN);
27
28
  }
28
29
  function validateTokenLimit(text, limits) {
29
30
  const content = typeof text === "string" ? text : JSON.stringify(text);
@@ -44,12 +45,8 @@ var TOKEN_LIMITS = {
44
45
  // WebSocket message limits
45
46
  WEBSOCKET_MESSAGE: 25e3,
46
47
  // Same as user message
47
- WEBSOCKET_TOTAL: 25e4,
48
+ WEBSOCKET_TOTAL: 25e4
48
49
  // Hard limit for entire payload (1MB)
49
- // AI model context windows (for reference)
50
- GPT4_TURBO: 128e3,
51
- CLAUDE_SONNET: 2e5,
52
- GPT35_TURBO: 16385
53
50
  };
54
51
 
55
52
  // ../core/src/operations/observability/utils.ts
@@ -416,6 +416,14 @@ interface WorkflowNodeVisualizerData {
416
416
  * Memory types mirror action types for clarity and filtering
417
417
  */
418
418
  type MemoryEntryType = 'context' | 'input' | 'reasoning' | 'tool-result' | 'delegation-result' | 'error';
419
+ /**
420
+ * Who authored an entry's content.
421
+ *
422
+ * This is what lets the assembled prompt tell framework-authored text apart from text that
423
+ * originated outside the trust boundary. `'framework'` content is ours; the other three are not
424
+ * and are rendered inside the JSON data envelope (see `MemoryManager.toContextParts`).
425
+ */
426
+ type MemoryEntrySource = 'framework' | 'user' | 'tool' | 'model';
419
427
  /**
420
428
  * Memory entry - represents a single entry in agent memory
421
429
  * Stored in agent memory, translated by adapters to vendor-specific formats
@@ -426,6 +434,16 @@ interface MemoryEntry {
426
434
  timestamp: number;
427
435
  turnNumber: number | null;
428
436
  iterationNumber: number | null;
437
+ /**
438
+ * Provenance. **Optional on purpose** — `undefined` means unknown, which is what every
439
+ * pre-existing snapshot and every not-yet-redeployed tenant bundle produces. Read sites MUST
440
+ * test `== null`, never `=== undefined`: the `inTurnScope` predicate in `manager.ts` is the
441
+ * cautionary precedent, where a `=== undefined` check silently dropped every `null`-stamped
442
+ * entry. `isMemoryEntry` is deliberately NOT tightened to require this field; doing so would
443
+ * make every stored snapshot fail validation, and `restoreSessionMemory` fails open by
444
+ * starting the agent with empty memory rather than throwing.
445
+ */
446
+ source?: MemoryEntrySource;
429
447
  }
430
448
  /**
431
449
  * Agent memory - Self-orchestrated memory with session + working storage
@@ -3247,6 +3265,7 @@ type Database = {
3247
3265
  deleted_at: string | null;
3248
3266
  ended_at: string | null;
3249
3267
  memory_snapshot: Json;
3268
+ memory_version: number;
3250
3269
  metadata: Json | null;
3251
3270
  organization_id: string;
3252
3271
  resource_id: string;
@@ -3263,6 +3282,7 @@ type Database = {
3263
3282
  deleted_at?: string | null;
3264
3283
  ended_at?: string | null;
3265
3284
  memory_snapshot: Json;
3285
+ memory_version?: number;
3266
3286
  metadata?: Json | null;
3267
3287
  organization_id: string;
3268
3288
  resource_id: string;
@@ -3279,6 +3299,7 @@ type Database = {
3279
3299
  deleted_at?: string | null;
3280
3300
  ended_at?: string | null;
3281
3301
  memory_snapshot?: Json;
3302
+ memory_version?: number;
3282
3303
  metadata?: Json | null;
3283
3304
  organization_id?: string;
3284
3305
  resource_id?: string;
@@ -3616,9 +3637,14 @@ type Database = {
3616
3637
  p_session_id: string;
3617
3638
  };
3618
3639
  Returns: {
3640
+ context_window_size: number;
3619
3641
  created_at: string;
3642
+ cumulative_input_tokens: number;
3643
+ cumulative_output_tokens: number;
3644
+ deleted_at: string;
3620
3645
  ended_at: string;
3621
3646
  memory_snapshot: Json;
3647
+ memory_version: number;
3622
3648
  metadata: Json;
3623
3649
  organization_id: string;
3624
3650
  resource_id: string;
@@ -3660,6 +3686,18 @@ type Database = {
3660
3686
  };
3661
3687
  Returns: boolean;
3662
3688
  };
3689
+ increment_session_tokens: {
3690
+ Args: {
3691
+ p_input_tokens: number;
3692
+ p_output_tokens: number;
3693
+ p_session_id: string;
3694
+ };
3695
+ Returns: {
3696
+ context_window_size: number;
3697
+ cumulative_input_tokens: number;
3698
+ cumulative_output_tokens: number;
3699
+ }[];
3700
+ };
3663
3701
  is_org_member: {
3664
3702
  Args: {
3665
3703
  org_id: string;
@@ -4366,10 +4404,24 @@ interface OrganizationMembership {
4366
4404
  createdAt: string;
4367
4405
  updatedAt: string;
4368
4406
  }
4407
+ /**
4408
+ * How a membership row relates to the two systems that describe it.
4409
+ *
4410
+ * - `linked` — an `org_memberships` row that carries a `workos_membership_id`
4411
+ * - `pre_provisioned` — an `org_memberships` row with no `workos_membership_id`;
4412
+ * the invitee was provisioned but has not completed signup
4413
+ * - `workos_only` — a WorkOS membership with no `org_memberships` row (a sync gap)
4414
+ */
4415
+ type MembershipProvisioningState = 'linked' | 'pre_provisioned' | 'workos_only';
4369
4416
  /**
4370
4417
  * Extended membership with user and organization details for UI
4371
4418
  */
4372
4419
  interface MembershipWithDetails extends OrganizationMembership {
4420
+ /**
4421
+ * Set by `GET /memberships`. Optional so existing consumers are unaffected;
4422
+ * treat `undefined` as "not reported by this endpoint".
4423
+ */
4424
+ provisioningState?: MembershipProvisioningState;
4373
4425
  user?: {
4374
4426
  id: string;
4375
4427
  email: string;
@@ -1,4 +1,4 @@
1
- export { APIErrorAlert, AbsoluteScheduleForm, ActionModal, ActivityCard, ActivityFeedWidget, ActivityFilters as ActivityFiltersBar, ActivityTable, ActivityTimeline, AgentDefinitionDisplay, AgentExecutionLogs, AgentExecutionTimeline, AgentExecutionVisualizer, AgentIterationDetailPanel, AgentIterationEdge, AgentIterationNode, AllTasksPage, ApiKeyDisplayModal, ApiKeyList, ApiKeySettings, AppErrorBoundary, BaseEdge, BaseExecutionLogs, BaseExecutionLogsHeader, BaseExecutionLogsStates, BaseNode, Breadcrumbs, BusinessImpactCard, CenteredErrorState, CheckpointGroup, CollapsibleJsonSection, CollapsibleSection, CommandQueueSidebar, CommandQueueSidebarMiddle, CommandQueueSidebarTop, CommandQueueTaskRow, CompanyDetailPage, ConfigCard, ConfirmationInputModal, ConfirmationModal, ContactDetailPage, ContentSections, ContextUsageBadge, ContextViewer, ContractDisplay, CostBreakdownCard, CostByModelTable, CostMetricsCard, CrashErrorFallback, CreateApiKeyModal, CreateCredentialModal, CreateRoleModal, CreateScheduleModal, CredentialList, CredentialSettings, CrmOverview, CrmSidebar, CrmSidebarMiddle, CrmSidebarTop, CustomModal, CustomSelector, DEAL_STAGES, DEFAULT_KANBAN_CONFIG, DealDetailPage, DealKanbanCard, DealsListPage, DeleteScheduleModal, DeploymentDetailModal, DeploymentList, DeploymentSettings, DeploymentStatusBadge, DetailCardSkeleton, EditApiKeyModal, ElevasisLoader, EmptyState, EmptyVisualizer, ErrorAnalysisCard, ErrorBreakdownTable, ErrorReportCard, ExecutionBreakdownTable, ExecutionErrorSection, ExecutionHealthCard, ExecutionLogsFilters as ExecutionLogsFilterBar, ExecutionLogsTable, ExecutionStats, ExecutionStatusBadge, FeatureUnavailableState, FilterBar, GlowDot, GraphBackground, GraphContainer, GraphFitViewButton, GraphFitViewHandler, GraphLegend, HealthStatusCard, JsonViewer, KanbanBoard, LEAD_GEN_ROUTE_LINKS, LeadGenCompaniesPage, LeadGenContactsPage, LeadGenListDetailPage, LeadGenListsPage, LeadGenOverviewPage, LeadGenRouteShell, LeadGenSidebar, LeadGenSidebarMiddle, LeadGenSidebarTop, ListSkeleton, LogEntry, LogGroup, MdxRenderer, MembershipStatusBadge, MetricsStrip, MilestoneTimeline, MyTasksPanel, NavigationButton, NewKnowledgeMapEdge, NewKnowledgeMapGraph, NewKnowledgeMapNode, NoAccessState, NotificationBell, NotificationItem, NotificationList, NotificationPanel, OAuthConnectModal, OperationsSidebar, OperationsSidebarMiddle, OperationsSidebarTop, OrganizationMembershipsList, PIPELINE_FUNNEL_ORDER, PageNotFound, PageTitleCaption, PermissionMatrix, PipelineFunnelWidget, ProjectDetailPage, ProjectsListPage, ProjectsSidebar, ProjectsSidebarMiddle, ProjectsSidebarTop, QuickCreateActions, RecurringScheduleForm, RelativeScheduleForm, ResourceCard, ResourceDefinitionSection, ResourceErrorState, ResourceFilter, ResourceHeader, ResourceHealthChart, ResourceHealthPanel, ResourceNotFoundState, RichTextEditor, RoleBadge, RunResourceButton, SAVED_VIEW_PRESETS, SavedViewsPanel, ScheduleCard, ScheduleDetailModal, ScheduleTypeSelector, SessionMemory, SortableHeader, StatCard, StatCardSkeleton, StatsCardSkeleton, StatusBadge, StepConfigForm, TabCountBadge, TabSection, TableSelectionToolbar, TaskCard, TaskScheduler, TimeRangeSelector, TimelineAxis, TimelineBar, TimelineContainer, TimelineRow, ToolsListDisplay, TrendIndicator, UnifiedWorkflowEdge, UnifiedWorkflowGraph, UnifiedWorkflowNode, UpcomingMilestonesPage, VisualizerContainer, WebhookUrlDisplayModal, WorkflowDefinitionDisplay, WorkflowExecutionLogs, WorkflowExecutionTimeline, ZodFormRenderer, buildErrorReport, calculateProgress, crmManifest, deliveryManifest, formatStatusLabel, getEnrichmentColor, getExecutionStatusConfig, getGraphBackgroundStyles, getHealthColor, getIcon, getLogLevelConfig, getStatusColor, iconMap, leadGenManifest, mdxComponents, milestoneStatusColors, monitoringManifest, noteTypeColors, operationsManifest, projectStatusColors, settingsManifest, showApiErrorNotification, showAuthError, showErrorNotification, showInfoNotification, showSuccessNotification, showWarningNotification, taskStatusColors, taskTypeColors, useCrmPipelineSummary, useCrmQuickMetrics, useDeleteLists, useGraphBackgroundStyles, useGraphTheme, useNewKnowledgeMapLayout, useRecentCrmActivity } from '../chunk-PGAA4G3T.js';
1
+ export { APIErrorAlert, AbsoluteScheduleForm, ActionModal, ActivityCard, ActivityFeedWidget, ActivityFilters as ActivityFiltersBar, ActivityTable, ActivityTimeline, AgentDefinitionDisplay, AgentExecutionLogs, AgentExecutionTimeline, AgentExecutionVisualizer, AgentIterationDetailPanel, AgentIterationEdge, AgentIterationNode, AllTasksPage, ApiKeyDisplayModal, ApiKeyList, ApiKeySettings, AppErrorBoundary, BaseEdge, BaseExecutionLogs, BaseExecutionLogsHeader, BaseExecutionLogsStates, BaseNode, Breadcrumbs, BusinessImpactCard, CenteredErrorState, CheckpointGroup, CollapsibleJsonSection, CollapsibleSection, CommandQueueSidebar, CommandQueueSidebarMiddle, CommandQueueSidebarTop, CommandQueueTaskRow, CompanyDetailPage, ConfigCard, ConfirmationInputModal, ConfirmationModal, ContactDetailPage, ContentSections, ContextUsageBadge, ContextViewer, ContractDisplay, CostBreakdownCard, CostByModelTable, CostMetricsCard, CrashErrorFallback, CreateApiKeyModal, CreateCredentialModal, CreateRoleModal, CreateScheduleModal, CredentialList, CredentialSettings, CrmOverview, CrmSidebar, CrmSidebarMiddle, CrmSidebarTop, CustomModal, CustomSelector, DEAL_STAGES, DEFAULT_KANBAN_CONFIG, DealDetailPage, DealKanbanCard, DealsListPage, DeleteScheduleModal, DeploymentDetailModal, DeploymentList, DeploymentSettings, DeploymentStatusBadge, DetailCardSkeleton, EditApiKeyModal, ElevasisLoader, EmptyState, EmptyVisualizer, ErrorAnalysisCard, ErrorBreakdownTable, ErrorReportCard, ExecutionBreakdownTable, ExecutionErrorSection, ExecutionHealthCard, ExecutionLogsFilters as ExecutionLogsFilterBar, ExecutionLogsTable, ExecutionStats, ExecutionStatusBadge, FeatureUnavailableState, FilterBar, GlowDot, GraphBackground, GraphContainer, GraphFitViewButton, GraphFitViewHandler, GraphLegend, HealthStatusCard, JsonViewer, KanbanBoard, LEAD_GEN_ROUTE_LINKS, LeadGenCompaniesPage, LeadGenContactsPage, LeadGenListDetailPage, LeadGenListsPage, LeadGenOverviewPage, LeadGenRouteShell, LeadGenSidebar, LeadGenSidebarMiddle, LeadGenSidebarTop, ListSkeleton, LogEntry, LogGroup, MdxRenderer, MembershipStatusBadge, MetricsStrip, MilestoneTimeline, MyTasksPanel, NavigationButton, NewKnowledgeMapEdge, NewKnowledgeMapGraph, NewKnowledgeMapNode, NoAccessState, NotificationBell, NotificationItem, NotificationList, NotificationPanel, OAuthConnectModal, OperationsSidebar, OperationsSidebarMiddle, OperationsSidebarTop, OrganizationMembershipsList, PIPELINE_FUNNEL_ORDER, PageNotFound, PageTitleCaption, PermissionMatrix, PipelineFunnelWidget, ProjectDetailPage, ProjectsListPage, ProjectsSidebar, ProjectsSidebarMiddle, ProjectsSidebarTop, QuickCreateActions, RecurringScheduleForm, RelativeScheduleForm, ResourceCard, ResourceDefinitionSection, ResourceErrorState, ResourceFilter, ResourceHeader, ResourceHealthChart, ResourceHealthPanel, ResourceNotFoundState, RichTextEditor, RoleBadge, RunResourceButton, SAVED_VIEW_PRESETS, SavedViewsPanel, ScheduleCard, ScheduleDetailModal, ScheduleTypeSelector, SessionMemory, SortableHeader, StatCard, StatCardSkeleton, StatsCardSkeleton, StatusBadge, StepConfigForm, TabCountBadge, TabSection, TableSelectionToolbar, TaskCard, TaskScheduler, TimeRangeSelector, TimelineAxis, TimelineBar, TimelineContainer, TimelineRow, ToolsListDisplay, TrendIndicator, UnifiedWorkflowEdge, UnifiedWorkflowGraph, UnifiedWorkflowNode, UpcomingMilestonesPage, VisualizerContainer, WebhookUrlDisplayModal, WorkflowDefinitionDisplay, WorkflowExecutionLogs, WorkflowExecutionTimeline, ZodFormRenderer, buildErrorReport, calculateProgress, crmManifest, deliveryManifest, formatStatusLabel, getEnrichmentColor, getExecutionStatusConfig, getGraphBackgroundStyles, getHealthColor, getIcon, getLogLevelConfig, getStatusColor, iconMap, leadGenManifest, mdxComponents, milestoneStatusColors, monitoringManifest, noteTypeColors, operationsManifest, projectStatusColors, settingsManifest, showApiErrorNotification, showAuthError, showErrorNotification, showInfoNotification, showSuccessNotification, showWarningNotification, taskStatusColors, taskTypeColors, useCrmPipelineSummary, useCrmQuickMetrics, useDeleteLists, useGraphBackgroundStyles, useGraphTheme, useNewKnowledgeMapLayout, useRecentCrmActivity } from '../chunk-3WVZRN37.js';
2
2
  import '../chunk-4OEVLV66.js';
3
3
  import '../chunk-RBGVNPA6.js';
4
4
  import '../chunk-ZTWA5H77.js';
@@ -16,12 +16,12 @@ export { StyledMarkdown } from '../chunk-JFBZ6XDW.js';
16
16
  import '../chunk-2IFYDILW.js';
17
17
  import '../chunk-Q7DJKLEN.js';
18
18
  export { Graph_module_css_default as graphStyles } from '../chunk-HENXLGVD.js';
19
- export { CONTAINER_CONSTANTS, SHARED_VIZ_CONSTANTS } from '../chunk-I3CFGE3N.js';
19
+ export { CONTAINER_CONSTANTS, SHARED_VIZ_CONSTANTS } from '../chunk-BLXJEIQS.js';
20
20
  import '../chunk-RNP5R5I3.js';
21
21
  import '../chunk-EIXSQONC.js';
22
22
  import '../chunk-I7BZVVVU.js';
23
- import '../chunk-FVOMKZ7S.js';
24
- import '../chunk-KRWALB24.js';
23
+ import '../chunk-Y6I3IC45.js';
24
+ import '../chunk-6SSQGWK7.js';
25
25
  import '../chunk-BI5VDO2K.js';
26
26
  import '../chunk-MQZE7SUI.js';
27
27
  import '../chunk-TVTSASST.js';
@@ -1,4 +1,4 @@
1
- export { useBreadcrumbs } from '../../chunk-PGAA4G3T.js';
1
+ export { useBreadcrumbs } from '../../chunk-3WVZRN37.js';
2
2
  import '../../chunk-4OEVLV66.js';
3
3
  import '../../chunk-RBGVNPA6.js';
4
4
  import '../../chunk-ZTWA5H77.js';
@@ -16,12 +16,12 @@ import '../../chunk-JFBZ6XDW.js';
16
16
  import '../../chunk-2IFYDILW.js';
17
17
  import '../../chunk-Q7DJKLEN.js';
18
18
  import '../../chunk-HENXLGVD.js';
19
- import '../../chunk-I3CFGE3N.js';
19
+ import '../../chunk-BLXJEIQS.js';
20
20
  import '../../chunk-RNP5R5I3.js';
21
21
  import '../../chunk-EIXSQONC.js';
22
22
  import '../../chunk-I7BZVVVU.js';
23
- import '../../chunk-FVOMKZ7S.js';
24
- import '../../chunk-KRWALB24.js';
23
+ import '../../chunk-Y6I3IC45.js';
24
+ import '../../chunk-6SSQGWK7.js';
25
25
  import '../../chunk-BI5VDO2K.js';
26
26
  import '../../chunk-MQZE7SUI.js';
27
27
  import '../../chunk-TVTSASST.js';
@@ -1,3 +1,3 @@
1
- export { AGENT_CONSTANTS, CONTAINER_CONSTANTS, SHARED_VIZ_CONSTANTS, STATUS_COLORS, TIMELINE_CONSTANTS, WORKFLOW_CONSTANTS, calculateBarPosition, formatDuration, getEdgeColor, getEdgeOpacity, getResourceStatusColor, getStatusColors, getStatusIcon, shouldAnimateEdge, useAgentIterationData, useExecutionPath, useMergedExecution, useReactFlowAgent, useTimelineData, useUnifiedWorkflowLayout, useWorkflowStepsLayout } from '../chunk-I3CFGE3N.js';
2
- import '../chunk-KRWALB24.js';
1
+ export { AGENT_CONSTANTS, CONTAINER_CONSTANTS, SHARED_VIZ_CONSTANTS, STATUS_COLORS, TIMELINE_CONSTANTS, WORKFLOW_CONSTANTS, calculateBarPosition, formatDuration, getEdgeColor, getEdgeOpacity, getResourceStatusColor, getStatusColors, getStatusIcon, shouldAnimateEdge, useAgentIterationData, useExecutionPath, useMergedExecution, useReactFlowAgent, useTimelineData, useUnifiedWorkflowLayout, useWorkflowStepsLayout } from '../chunk-BLXJEIQS.js';
2
+ import '../chunk-6SSQGWK7.js';
3
3
  import '../chunk-I2KLQ2HA.js';
@@ -2746,6 +2746,7 @@ type Database = {
2746
2746
  deleted_at: string | null;
2747
2747
  ended_at: string | null;
2748
2748
  memory_snapshot: Json;
2749
+ memory_version: number;
2749
2750
  metadata: Json | null;
2750
2751
  organization_id: string;
2751
2752
  resource_id: string;
@@ -2762,6 +2763,7 @@ type Database = {
2762
2763
  deleted_at?: string | null;
2763
2764
  ended_at?: string | null;
2764
2765
  memory_snapshot: Json;
2766
+ memory_version?: number;
2765
2767
  metadata?: Json | null;
2766
2768
  organization_id: string;
2767
2769
  resource_id: string;
@@ -2778,6 +2780,7 @@ type Database = {
2778
2780
  deleted_at?: string | null;
2779
2781
  ended_at?: string | null;
2780
2782
  memory_snapshot?: Json;
2783
+ memory_version?: number;
2781
2784
  metadata?: Json | null;
2782
2785
  organization_id?: string;
2783
2786
  resource_id?: string;
@@ -3115,9 +3118,14 @@ type Database = {
3115
3118
  p_session_id: string;
3116
3119
  };
3117
3120
  Returns: {
3121
+ context_window_size: number;
3118
3122
  created_at: string;
3123
+ cumulative_input_tokens: number;
3124
+ cumulative_output_tokens: number;
3125
+ deleted_at: string;
3119
3126
  ended_at: string;
3120
3127
  memory_snapshot: Json;
3128
+ memory_version: number;
3121
3129
  metadata: Json;
3122
3130
  organization_id: string;
3123
3131
  resource_id: string;
@@ -3159,6 +3167,18 @@ type Database = {
3159
3167
  };
3160
3168
  Returns: boolean;
3161
3169
  };
3170
+ increment_session_tokens: {
3171
+ Args: {
3172
+ p_input_tokens: number;
3173
+ p_output_tokens: number;
3174
+ p_session_id: string;
3175
+ };
3176
+ Returns: {
3177
+ context_window_size: number;
3178
+ cumulative_input_tokens: number;
3179
+ cumulative_output_tokens: number;
3180
+ }[];
3181
+ };
3162
3182
  is_org_member: {
3163
3183
  Args: {
3164
3184
  org_id: string;
@@ -3382,5 +3402,70 @@ interface UseUserProfileReturn {
3382
3402
  */
3383
3403
  declare const useUserProfile: (options?: UseUserProfileOptions) => UseUserProfileReturn;
3384
3404
 
3385
- export { AccessGuard, AuthRedirectLoadingScreen, ProtectedRoute, useUserProfile };
3386
- export type { AccessGuardProps, AuthRedirectLoadingScreenProps, ProtectedRouteProps, UseUserProfileReturn };
3405
+ /**
3406
+ * Which WorkOS hosted screen an invited user should land on. Set by the platform's
3407
+ * invite router (`GET /api/invite`), which looks the email up in WorkOS at click
3408
+ * time and appends the answer to this route's URL.
3409
+ */
3410
+ type AuthMode = 'signin' | 'signup';
3411
+ interface LoginSearchParams {
3412
+ returnTo?: string;
3413
+ context?: string;
3414
+ invitation_token?: string;
3415
+ mode?: AuthMode;
3416
+ }
3417
+ /**
3418
+ * TanStack Router `validateSearch` for the `/login` route. Export it alongside
3419
+ * `LoginScreen` so every project's route file can wire both in directly:
3420
+ *
3421
+ * ```tsx
3422
+ * export const Route = createFileRoute('/login')({
3423
+ * component: () => <LoginScreen ... />,
3424
+ * validateSearch: validateLoginSearch
3425
+ * })
3426
+ * ```
3427
+ */
3428
+ declare function validateLoginSearch(search: Record<string, unknown>): LoginSearchParams;
3429
+ interface LoginScreenAppConfig {
3430
+ /**
3431
+ * WorkOS organization id for single-org deployments. Tenant route stubs pass
3432
+ * `__ELEVASIS_WORKOS_ORG_ID__` — the build-time constant the `elevasisVite()`
3433
+ * plugin injects from the project's `.elevasis` marker. Command Center omits
3434
+ * this prop entirely, matching its existing login route, which never binds a
3435
+ * single WorkOS organization.
3436
+ */
3437
+ workosOrganizationId?: string;
3438
+ }
3439
+ interface LoginScreenProps {
3440
+ /** Logo shown when the active Mantine color scheme is light. */
3441
+ lightModeLogo: string;
3442
+ /** Logo shown when the active Mantine color scheme is dark. */
3443
+ darkModeLogo: string;
3444
+ /** Application or company name shown in the heading and used for the logo alt text. */
3445
+ appName: string;
3446
+ /**
3447
+ * Project-specific auth configuration that is not presentation. Currently
3448
+ * only carries the WorkOS organization id — see `LoginScreenAppConfig`.
3449
+ */
3450
+ appConfig?: LoginScreenAppConfig;
3451
+ }
3452
+ /**
3453
+ * Shared login screen: the WorkOS-hosted sign-in/sign-up entry point.
3454
+ *
3455
+ * Owns the invitation-token branch, the WorkOS `context` branch, `returnTo`
3456
+ * state handling, and the authenticated-user redirect — logic that was
3457
+ * previously duplicated verbatim across five project-local `login.tsx` route
3458
+ * files. Each project keeps only a thin route stub that supplies branding and
3459
+ * registers the route:
3460
+ *
3461
+ * ```tsx
3462
+ * export const Route = createFileRoute('/login')({
3463
+ * component: () => <LoginScreen lightModeLogo={...} darkModeLogo={...} appName={...} />,
3464
+ * validateSearch: validateLoginSearch
3465
+ * })
3466
+ * ```
3467
+ */
3468
+ declare function LoginScreen({ lightModeLogo, darkModeLogo, appName, appConfig }: LoginScreenProps): react_jsx_runtime.JSX.Element;
3469
+
3470
+ export { AccessGuard, AuthRedirectLoadingScreen, LoginScreen, ProtectedRoute, useUserProfile, validateLoginSearch };
3471
+ export type { AccessGuardProps, AuthMode, AuthRedirectLoadingScreenProps, LoginScreenAppConfig, LoginScreenProps, LoginSearchParams, ProtectedRouteProps, UseUserProfileReturn };