@8wave/ai-elements 0.115.0-beta.2 → 0.115.0-beta.30

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 (126) hide show
  1. package/dist/_chunks/{PkStreamingMarkdown-BKxA6Ntl.js → PkStreamingMarkdown-B7SRIqnV.js} +2 -2
  2. package/dist/_chunks/{PkStreamingMarkdown-BKxA6Ntl.js.map → PkStreamingMarkdown-B7SRIqnV.js.map} +1 -1
  3. package/dist/_chunks/{PkToolRequestOAuthConnection-CgQePKKb.js → PkToolRequestOAuthConnection-CbZn1f14.js} +31 -25
  4. package/dist/_chunks/PkToolRequestOAuthConnection-CbZn1f14.js.map +1 -0
  5. package/dist/_chunks/{PkToolShowArtifact-CHxeuKEU.js → PkToolShowArtifact-CRQySuGC.js} +2 -2
  6. package/dist/_chunks/{PkToolShowArtifact-CHxeuKEU.js.map → PkToolShowArtifact-CRQySuGC.js.map} +1 -1
  7. package/dist/_chunks/{PkToolShowCalendarEvent-D0jVbqWt.js → PkToolShowCalendarEvent-Cj7yRj-0.js} +2 -2
  8. package/dist/_chunks/{PkToolShowCalendarEvent-D0jVbqWt.js.map → PkToolShowCalendarEvent-Cj7yRj-0.js.map} +1 -1
  9. package/dist/_chunks/{PkToolShowContactForm-DqVLVwqJ.js → PkToolShowContactForm-DGmzPa3d.js} +2 -2
  10. package/dist/_chunks/{PkToolShowContactForm-DqVLVwqJ.js.map → PkToolShowContactForm-DGmzPa3d.js.map} +1 -1
  11. package/dist/_chunks/{PkToolShowForm-YJQPYfEe.js → PkToolShowForm-76LQdZHH.js} +2 -2
  12. package/dist/_chunks/{PkToolShowForm-YJQPYfEe.js.map → PkToolShowForm-76LQdZHH.js.map} +1 -1
  13. package/dist/_chunks/{PkToolShowImageGallery-1mq-_cnp.js → PkToolShowImageGallery-BmpcrdIL.js} +2 -2
  14. package/dist/_chunks/{PkToolShowImageGallery-1mq-_cnp.js.map → PkToolShowImageGallery-BmpcrdIL.js.map} +1 -1
  15. package/dist/_chunks/{PkToolShowSources-VFoI0YS8.js → PkToolShowSources-13IBQve7.js} +3 -3
  16. package/dist/_chunks/{PkToolShowSources-VFoI0YS8.js.map → PkToolShowSources-13IBQve7.js.map} +1 -1
  17. package/dist/_chunks/{PkToolShowWebPages-BgXlRdmH.js → PkToolShowWebPages-CCSRAlz5.js} +2 -2
  18. package/dist/_chunks/{PkToolShowWebPages-BgXlRdmH.js.map → PkToolShowWebPages-CCSRAlz5.js.map} +1 -1
  19. package/dist/_chunks/{markdown-BL7WANiX.js → markdown-tS_2A0k9.js} +39 -11
  20. package/dist/_chunks/markdown-tS_2A0k9.js.map +1 -0
  21. package/dist/_chunks/{url-validation-uLMZ5-AU.js → url-validation-9DstIfq2.js} +9 -2
  22. package/dist/_chunks/{url-validation-uLMZ5-AU.js.map → url-validation-9DstIfq2.js.map} +1 -1
  23. package/dist/ai-elements.es.js +1697 -1578
  24. package/dist/ai-elements.es.js.map +1 -1
  25. package/dist-vue/PkChatbot.js +1 -1
  26. package/dist-vue/PkChatbotEmptyState.js +1 -1
  27. package/dist-vue/PkChatbotInput.js +1 -1
  28. package/dist-vue/PkChatbotMessages.js +1 -1
  29. package/dist-vue/PkChatbotSteps.js +1 -1
  30. package/dist-vue/PkChatbotViewChat.js +1 -1
  31. package/dist-vue/PkChatbotViewConversations.js +1 -1
  32. package/dist-vue/PkChatbotViewFiles.js +1 -1
  33. package/dist-vue/PkChatbotViewProfile.js +1 -1
  34. package/dist-vue/_chunks/{Document-nCWwJC2h.js → Document-BmfGStvM.js} +40 -12
  35. package/dist-vue/_chunks/Document-BmfGStvM.js.map +1 -0
  36. package/dist-vue/_chunks/{PkChatbot-CdtYJ1Lf.js → PkChatbot-DKqKEsUn.js} +7 -7
  37. package/dist-vue/_chunks/{PkChatbot-CdtYJ1Lf.js.map → PkChatbot-DKqKEsUn.js.map} +1 -1
  38. package/dist-vue/_chunks/PkChatbotAuth-jzoNJkmH.js.map +1 -1
  39. package/dist-vue/_chunks/{PkChatbotEmptyState-Dicjr_Fv.js → PkChatbotEmptyState-BPPP0-0U.js} +2 -2
  40. package/dist-vue/_chunks/{PkChatbotEmptyState-Dicjr_Fv.js.map → PkChatbotEmptyState-BPPP0-0U.js.map} +1 -1
  41. package/dist-vue/_chunks/PkChatbotFilePreview-CwiVQDF2.js.map +1 -1
  42. package/dist-vue/_chunks/{PkChatbotInput-DcLmOqA1.js → PkChatbotInput-BHcxLnWU.js} +2 -2
  43. package/dist-vue/_chunks/PkChatbotInput-BHcxLnWU.js.map +1 -0
  44. package/dist-vue/_chunks/PkChatbotMessageFeedback-BYmrVaCE.js.map +1 -1
  45. package/dist-vue/_chunks/{PkChatbotMessages-R1EsTJpM.js → PkChatbotMessages-CaHFzdIC.js} +122 -113
  46. package/dist-vue/_chunks/PkChatbotMessages-CaHFzdIC.js.map +1 -0
  47. package/dist-vue/_chunks/{PkChatbotSteps-CPPjwTJN.js → PkChatbotSteps-CXiFF3Z-.js} +2 -2
  48. package/dist-vue/_chunks/{PkChatbotSteps-CPPjwTJN.js.map → PkChatbotSteps-CXiFF3Z-.js.map} +1 -1
  49. package/dist-vue/_chunks/{PkChatbotViewChat-CbqrHEC6.js → PkChatbotViewChat-D5HtjK3u.js} +9 -7
  50. package/dist-vue/_chunks/{PkChatbotViewChat-CbqrHEC6.js.map → PkChatbotViewChat-D5HtjK3u.js.map} +1 -1
  51. package/dist-vue/_chunks/{PkChatbotViewConversations-CHpN4vhm.js → PkChatbotViewConversations-C5O-IocA.js} +2 -2
  52. package/dist-vue/_chunks/{PkChatbotViewConversations-CHpN4vhm.js.map → PkChatbotViewConversations-C5O-IocA.js.map} +1 -1
  53. package/dist-vue/_chunks/{PkChatbotViewFiles-Bk9-K6Hw.js → PkChatbotViewFiles-W8DDmtTi.js} +3 -3
  54. package/dist-vue/_chunks/{PkChatbotViewFiles-Bk9-K6Hw.js.map → PkChatbotViewFiles-W8DDmtTi.js.map} +1 -1
  55. package/dist-vue/_chunks/{PkChatbotViewProfile-CosaHA-g.js → PkChatbotViewProfile--upofqcF.js} +2 -2
  56. package/dist-vue/_chunks/{PkChatbotViewProfile-CosaHA-g.js.map → PkChatbotViewProfile--upofqcF.js.map} +1 -1
  57. package/dist-vue/_chunks/{PkStreamingMarkdown-DYy79C1P.js → PkStreamingMarkdown-it3X7T75.js} +2 -2
  58. package/dist-vue/_chunks/{PkStreamingMarkdown-DYy79C1P.js.map → PkStreamingMarkdown-it3X7T75.js.map} +1 -1
  59. package/dist-vue/_chunks/PkToolRequestOAuthConnection-BiaSF6R_.js +124 -0
  60. package/dist-vue/_chunks/PkToolRequestOAuthConnection-BiaSF6R_.js.map +1 -0
  61. package/dist-vue/_chunks/{PkToolShowArtifact-DUOnFdfa.js → PkToolShowArtifact-BFyFYjHI.js} +2 -2
  62. package/dist-vue/_chunks/{PkToolShowArtifact-DUOnFdfa.js.map → PkToolShowArtifact-BFyFYjHI.js.map} +1 -1
  63. package/dist-vue/_chunks/{PkToolShowCalendarEvent-BsBdsbV0.js → PkToolShowCalendarEvent-yttlTHiX.js} +2 -2
  64. package/dist-vue/_chunks/{PkToolShowCalendarEvent-BsBdsbV0.js.map → PkToolShowCalendarEvent-yttlTHiX.js.map} +1 -1
  65. package/dist-vue/_chunks/{PkToolShowContactForm-1TFKvG_s.js → PkToolShowContactForm-YpaC_31s.js} +2 -2
  66. package/dist-vue/_chunks/{PkToolShowContactForm-1TFKvG_s.js.map → PkToolShowContactForm-YpaC_31s.js.map} +1 -1
  67. package/dist-vue/_chunks/{PkToolShowDiagram-Dmtqu3th.js → PkToolShowDiagram-Bdxjd0BJ.js} +2 -2
  68. package/dist-vue/_chunks/{PkToolShowDiagram-Dmtqu3th.js.map → PkToolShowDiagram-Bdxjd0BJ.js.map} +1 -1
  69. package/dist-vue/_chunks/{PkToolShowEmail-BDsBoETQ.js → PkToolShowEmail-CNkFP7qC.js} +2 -2
  70. package/dist-vue/_chunks/{PkToolShowEmail-BDsBoETQ.js.map → PkToolShowEmail-CNkFP7qC.js.map} +1 -1
  71. package/dist-vue/_chunks/{PkToolShowForm-DwFKxMJd.js → PkToolShowForm-FKJNKXPq.js} +2 -2
  72. package/dist-vue/_chunks/{PkToolShowForm-DwFKxMJd.js.map → PkToolShowForm-FKJNKXPq.js.map} +1 -1
  73. package/dist-vue/_chunks/{PkToolShowImageGallery-DudQzBx4.js → PkToolShowImageGallery-DmhZLnBk.js} +2 -2
  74. package/dist-vue/_chunks/{PkToolShowImageGallery-DudQzBx4.js.map → PkToolShowImageGallery-DmhZLnBk.js.map} +1 -1
  75. package/dist-vue/_chunks/{PkToolShowMessage-Dau3agUy.js → PkToolShowMessage-C9xFAi1s.js} +2 -2
  76. package/dist-vue/_chunks/{PkToolShowMessage-Dau3agUy.js.map → PkToolShowMessage-C9xFAi1s.js.map} +1 -1
  77. package/dist-vue/_chunks/{PkToolShowProductList-CsupMsuy.js → PkToolShowProductList-k1ckf1Ko.js} +2 -2
  78. package/dist-vue/_chunks/{PkToolShowProductList-CsupMsuy.js.map → PkToolShowProductList-k1ckf1Ko.js.map} +1 -1
  79. package/dist-vue/_chunks/{PkToolShowSources-TzkNgwnr.js → PkToolShowSources-DE0RO8z9.js} +4 -4
  80. package/dist-vue/_chunks/{PkToolShowSources-TzkNgwnr.js.map → PkToolShowSources-DE0RO8z9.js.map} +1 -1
  81. package/dist-vue/_chunks/{PkToolShowWebPages-D4E3Xzg1.js → PkToolShowWebPages-v-6DGCNM.js} +3 -3
  82. package/dist-vue/_chunks/{PkToolShowWebPages-D4E3Xzg1.js.map → PkToolShowWebPages-v-6DGCNM.js.map} +1 -1
  83. package/dist-vue/_chunks/{PkUrl-Cu3qKl4G.js → PkUrl-C5UXwNxy.js} +2 -2
  84. package/dist-vue/_chunks/{PkUrl-Cu3qKl4G.js.map → PkUrl-C5UXwNxy.js.map} +1 -1
  85. package/dist-vue/_chunks/{createChatbotApiClient-BlWs282E.js → createChatbotApiClient-L7wpQUUA.js} +110 -110
  86. package/dist-vue/_chunks/createChatbotApiClient-L7wpQUUA.js.map +1 -0
  87. package/dist-vue/_chunks/mcpOAuthReport-DG84H11Y.js +9 -0
  88. package/dist-vue/_chunks/mcpOAuthReport-DG84H11Y.js.map +1 -0
  89. package/dist-vue/_chunks/{url-validation-uLMZ5-AU.js → url-validation-9DstIfq2.js} +9 -2
  90. package/dist-vue/_chunks/{url-validation-uLMZ5-AU.js.map → url-validation-9DstIfq2.js.map} +1 -1
  91. package/dist-vue/_chunks/{useChatbotStore-CMo47fnS.js → useChatbotStore-Ctr5gDIr.js} +2 -2
  92. package/dist-vue/_chunks/{useChatbotStore-CMo47fnS.js.map → useChatbotStore-Ctr5gDIr.js.map} +1 -1
  93. package/dist-vue/api.js +1 -1
  94. package/dist-vue/composables.js +118 -10
  95. package/dist-vue/composables.js.map +1 -1
  96. package/dist-vue/index.js +2976 -2972
  97. package/dist-vue/index.js.map +1 -1
  98. package/dist-vue/locales.js +4 -0
  99. package/dist-vue/packages/auth/src/active-membership.d.ts +36 -0
  100. package/dist-vue/packages/auth/src/add-member-to-organization.d.ts +5 -1
  101. package/dist-vue/packages/auth/src/passkey-policy-client-plugin.d.ts +1 -1
  102. package/dist-vue/packages/auth/src/social-redirect-plugin.d.ts +13 -1
  103. package/dist-vue/packages/auth/src/two-factor-policy-client-plugin.d.ts +3 -3
  104. package/dist-vue/packages/auth/src/two-factor-policy-plugin.d.ts +1 -1
  105. package/dist-vue/packages/components/src/chat/PkChatbotMessages.d.ts +5 -0
  106. package/dist-vue/packages/components/src/chat/PkToolRequestOAuthConnection.d.ts +5 -0
  107. package/dist-vue/packages/components/src/chat/index.d.ts +1 -0
  108. package/dist-vue/packages/components/src/chat/mcpOAuthReport.d.ts +11 -0
  109. package/dist-vue/packages/models/src/schema/AgentApiTool.d.ts +5 -8
  110. package/dist-vue/packages/models/src/schema/ConversationAnalysis.d.ts +6 -1
  111. package/dist-vue/packages/models/src/schema/Document.d.ts +478 -0
  112. package/dist-vue/packages/models/src/schema/Header.d.ts +39 -0
  113. package/dist-vue/packages/models/src/schema/McpServer.d.ts +76 -11
  114. package/dist-vue/packages/models/src/schema/Notification.d.ts +2 -0
  115. package/dist-vue/packages/models/src/schema/Organization.d.ts +23 -6
  116. package/dist-vue/packages/models/src/schema/SignInSecurity.d.ts +1 -1
  117. package/dist-vue/style.css +1 -1
  118. package/package.json +1 -1
  119. package/dist/_chunks/PkToolRequestOAuthConnection-CgQePKKb.js.map +0 -1
  120. package/dist/_chunks/markdown-BL7WANiX.js.map +0 -1
  121. package/dist-vue/_chunks/Document-nCWwJC2h.js.map +0 -1
  122. package/dist-vue/_chunks/PkChatbotInput-DcLmOqA1.js.map +0 -1
  123. package/dist-vue/_chunks/PkChatbotMessages-R1EsTJpM.js.map +0 -1
  124. package/dist-vue/_chunks/PkToolRequestOAuthConnection-a2LegFoE.js +0 -122
  125. package/dist-vue/_chunks/PkToolRequestOAuthConnection-a2LegFoE.js.map +0 -1
  126. package/dist-vue/_chunks/createChatbotApiClient-BlWs282E.js.map +0 -1
@@ -3,6 +3,20 @@ import * as z from 'zod';
3
3
  export declare const PLATFORM_MCP_SERVER_NAME = "Agents Studio Platform MCP";
4
4
  /** Name of the per-org Platform Agent created by seedPlatformMcp.ts */
5
5
  export declare const PLATFORM_AGENT_NAME = "Assistente piattaforma";
6
+ /**
7
+ * How long the backend may spend discovering an integration's OAuth endpoints
8
+ * when a user starts a sign-in (Connect in the chat, the profile, the
9
+ * backoffice): long enough for a server scaled to zero to start, about 45 s
10
+ * on one of ours. The refresh inside a chat turn keeps a short budget of its
11
+ * own, bound to the refresh lock.
12
+ */
13
+ export declare const MCP_OAUTH_AUTHORIZE_DISCOVERY_BUDGET_MS = 120000;
14
+ /**
15
+ * How long a client waits for an authorize URL: the discovery above, then the
16
+ * client registration that may follow it. Below the 240 s the Container Apps
17
+ * ingress gives a request.
18
+ */
19
+ export declare const MCP_OAUTH_AUTHORIZE_TIMEOUT_MS: number;
6
20
  export declare enum McpServerStatus {
7
21
  Active = "active",
8
22
  Inactive = "inactive",
@@ -34,13 +48,10 @@ export declare const McpServerSchema: z.ZodObject<{
34
48
  status: z.ZodString;
35
49
  url: z.ZodString;
36
50
  healthCheckPath: z.ZodOptional<z.ZodNullable<z.ZodString>>;
37
- headers: z.ZodOptional<z.ZodNullable<z.ZodCodec<z.ZodArray<z.ZodObject<{
38
- key: z.ZodOptional<z.ZodString>;
39
- value: z.ZodOptional<z.ZodString>;
40
- }, z.core.$strip>>, z.ZodArray<z.ZodObject<{
51
+ headers: z.ZodDefault<z.ZodArray<z.ZodObject<{
41
52
  key: z.ZodString;
42
- value: z.ZodString;
43
- }, z.core.$strip>>>>>;
53
+ hasValue: z.ZodBoolean;
54
+ }, z.core.$strip>>>;
44
55
  disabledTools: z.ZodOptional<z.ZodNullable<z.ZodArray<z.ZodString>>>;
45
56
  stateless: z.ZodDefault<z.ZodBoolean>;
46
57
  organizationId: z.ZodString;
@@ -70,16 +81,13 @@ export declare const McpServerCreateSchema: z.ZodObject<{
70
81
  value: z.ZodOptional<z.ZodString>;
71
82
  }, z.core.$strip>>, z.ZodArray<z.ZodObject<{
72
83
  key: z.ZodString;
73
- value: z.ZodString;
84
+ value: z.ZodOptional<z.ZodString>;
74
85
  }, z.core.$strip>>>>>;
75
86
  disabledTools: z.ZodOptional<z.ZodNullable<z.ZodArray<z.ZodString>>>;
76
87
  stateless: z.ZodDefault<z.ZodBoolean>;
77
88
  organizationId: z.ZodString;
78
89
  }, z.core.$strip>;
79
90
  export declare const McpServerUpdateSchema: z.ZodObject<{
80
- deleted: z.ZodOptional<z.ZodBoolean>;
81
- deletedAt: z.ZodOptional<z.ZodNullable<z.ZodCoercedDate<unknown>>>;
82
- deletedBy: z.ZodOptional<z.ZodNullable<z.ZodString>>;
83
91
  authType: z.ZodDefault<z.ZodEnum<{
84
92
  headers: "headers";
85
93
  oauth: "oauth";
@@ -99,7 +107,7 @@ export declare const McpServerUpdateSchema: z.ZodObject<{
99
107
  value: z.ZodOptional<z.ZodString>;
100
108
  }, z.core.$strip>>, z.ZodArray<z.ZodObject<{
101
109
  key: z.ZodString;
102
- value: z.ZodString;
110
+ value: z.ZodOptional<z.ZodString>;
103
111
  }, z.core.$strip>>>>>;
104
112
  disabledTools: z.ZodOptional<z.ZodNullable<z.ZodArray<z.ZodString>>>;
105
113
  stateless: z.ZodDefault<z.ZodBoolean>;
@@ -146,8 +154,65 @@ export declare const McpServerConnectionSchema: z.ZodObject<{
146
154
  organizationName: z.ZodNullable<z.ZodString>;
147
155
  connectedAt: z.ZodCoercedDate<unknown>;
148
156
  }, z.core.$strip>;
157
+ /**
158
+ * An integration the current user could sign in to from the profile, before
159
+ * an agent asks: an OAuth server of an agent they can use in the active
160
+ * organization, which they are not signed in to yet (phase 2 of
161
+ * docs/specs/user-mcp-connections-ui.md).
162
+ */
163
+ export declare const McpConnectableServerSchema: z.ZodObject<{
164
+ mcpServerId: z.ZodString;
165
+ serverName: z.ZodString;
166
+ agents: z.ZodArray<z.ZodObject<{
167
+ id: z.ZodString;
168
+ name: z.ZodString;
169
+ }, z.core.$strip>>;
170
+ }, z.core.$strip>;
171
+ /**
172
+ * Whether a stored sign-in still does anything, as the system user page shows
173
+ * it. `active`: usable now or renewable. `stale`: expired with nothing to
174
+ * renew it from, the next turn deletes it. `orphan`: the integration was
175
+ * deleted, switched off or detached from every agent, so nothing uses the
176
+ * sign-in, yet it is still a credential and still revocable.
177
+ */
178
+ export declare enum McpUserConnectionStatus {
179
+ Active = "active",
180
+ Stale = "stale",
181
+ Orphan = "orphan"
182
+ }
183
+ /**
184
+ * One sign-in of a user, as a platform administrator sees it: every row the
185
+ * user owns, the orphaned ones included, since offboarding is about the
186
+ * credentials that are left and not only the ones in use. Never a token, a
187
+ * refresh token or a client secret: whether a refresh token exists is all it
188
+ * says about one.
189
+ */
190
+ export declare const McpUserConnectionAdminSchema: z.ZodObject<{
191
+ mcpServerId: z.ZodString;
192
+ serverName: z.ZodString;
193
+ organizationId: z.ZodString;
194
+ organizationName: z.ZodString;
195
+ agents: z.ZodArray<z.ZodObject<{
196
+ id: z.ZodString;
197
+ name: z.ZodString;
198
+ }, z.core.$strip>>;
199
+ connectedAt: z.ZodCoercedDate<unknown>;
200
+ renewedAt: z.ZodCoercedDate<unknown>;
201
+ expiresAt: z.ZodNullable<z.ZodCoercedDate<unknown>>;
202
+ scope: z.ZodNullable<z.ZodString>;
203
+ refreshable: z.ZodBoolean;
204
+ status: z.ZodEnum<typeof McpUserConnectionStatus>;
205
+ }, z.core.$strip>;
206
+ /** What ending a sign-in did beyond deleting our copy of the token. */
207
+ export declare const McpConnectionRevocationSchema: z.ZodObject<{
208
+ success: z.ZodBoolean;
209
+ revokedAtProvider: z.ZodBoolean;
210
+ }, z.core.$strip>;
149
211
  export type McpServerInfo = z.infer<typeof McpServerInfoSchema>;
150
212
  export type McpServerConnection = z.infer<typeof McpServerConnectionSchema>;
213
+ export type McpConnectableServer = z.infer<typeof McpConnectableServerSchema>;
214
+ export type McpUserConnectionAdmin = z.infer<typeof McpUserConnectionAdminSchema>;
215
+ export type McpConnectionRevocation = z.infer<typeof McpConnectionRevocationSchema>;
151
216
  export type McpServer = z.infer<typeof McpServerSchema>;
152
217
  export type McpServerCreate = z.infer<typeof McpServerCreateSchema>;
153
218
  export type McpServerUpdate = z.infer<typeof McpServerUpdateSchema>;
@@ -12,6 +12,8 @@ export declare const NotificationType: {
12
12
  readonly WebSourcePagesRemoved: "web_source_pages_removed";
13
13
  /** A web source held back a removal too large to trust without a person. */
14
14
  readonly WebSourceRemovalHeld: "web_source_removal_held";
15
+ /** A platform administrator ended one of the user's integration sign-ins. */
16
+ readonly McpConnectionRevoked: "mcp_connection_revoked";
15
17
  readonly ChatWarning: "chat_warning";
16
18
  readonly ChatBlocked: "chat_blocked";
17
19
  readonly Generic: "generic";
@@ -209,6 +209,13 @@ export declare const OrganizationDtoSchema: z.ZodObject<{
209
209
  metadata: z.ZodOptional<z.ZodNullable<z.ZodString>>;
210
210
  }, z.core.$strip>;
211
211
  export type OrganizationDto = z.infer<typeof OrganizationDtoSchema>;
212
+ /**
213
+ * The longest trash retention, a hundred years. Past it a date computed from
214
+ * the window stops being one Postgres accepts, and nobody means it anyway.
215
+ * The other two windows have no such bound: values they already store keep
216
+ * meaning what they meant.
217
+ */
218
+ export declare const TRASH_RETENTION_MAX_DAYS = 36500;
212
219
  /**
213
220
  * Per-organization GDPR retention policy, persisted (as JSON) inside the
214
221
  * `organization.metadata` text column. Each field overrides the matching
@@ -218,8 +225,9 @@ export type OrganizationDto = z.infer<typeof OrganizationDtoSchema>;
218
225
  * - `> 0` → number of days before the pipeline acts.
219
226
  */
220
227
  export declare const OrganizationRetentionPolicySchema: z.ZodObject<{
221
- chatRetentionDays: z.ZodOptional<z.ZodNullable<z.ZodNumber>>;
222
- anonymousRetentionDays: z.ZodOptional<z.ZodNullable<z.ZodNumber>>;
228
+ chatRetentionDays: z.ZodCatch<z.ZodOptional<z.ZodNullable<z.ZodNumber>>>;
229
+ anonymousRetentionDays: z.ZodCatch<z.ZodOptional<z.ZodNullable<z.ZodNumber>>>;
230
+ trashRetentionDays: z.ZodCatch<z.ZodOptional<z.ZodNullable<z.ZodNumber>>>;
223
231
  }, z.core.$strip>;
224
232
  export type OrganizationRetentionPolicy = z.infer<typeof OrganizationRetentionPolicySchema>;
225
233
  /**
@@ -359,8 +367,9 @@ export declare enum ModelDefaultIssue {
359
367
  }
360
368
  export declare const OrganizationMetadataSchema: z.ZodObject<{
361
369
  retention: z.ZodCatch<z.ZodOptional<z.ZodObject<{
362
- chatRetentionDays: z.ZodOptional<z.ZodNullable<z.ZodNumber>>;
363
- anonymousRetentionDays: z.ZodOptional<z.ZodNullable<z.ZodNumber>>;
370
+ chatRetentionDays: z.ZodCatch<z.ZodOptional<z.ZodNullable<z.ZodNumber>>>;
371
+ anonymousRetentionDays: z.ZodCatch<z.ZodOptional<z.ZodNullable<z.ZodNumber>>>;
372
+ trashRetentionDays: z.ZodCatch<z.ZodOptional<z.ZodNullable<z.ZodNumber>>>;
364
373
  }, z.core.$strip>>>;
365
374
  features: z.ZodCatch<z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>>;
366
375
  models: z.ZodCatch<z.ZodOptional<z.ZodObject<{
@@ -375,12 +384,20 @@ export declare const OrganizationMetadataSchema: z.ZodObject<{
375
384
  export type OrganizationMetadata = z.infer<typeof OrganizationMetadataSchema>;
376
385
  /**
377
386
  * Canonical fallback retention windows (in days) applied when an organization
378
- * does not override them in `metadata.retention`. The retention job lets these
379
- * be overridden per environment via `GDPR_*_RETENTION_DAYS`, but absent any
387
+ * does not override them in `metadata.retention`. The retention job lets the
388
+ * chat and anonymous ones be overridden per environment via
389
+ * `GDPR_*_RETENTION_DAYS` (the trash one has no such variable), but absent any
380
390
  * override these are the effective system default — and what the admin UI shows
381
391
  * as the inherited value. `0` means the automation is disabled by default.
382
392
  */
383
393
  export declare const GDPR_RETENTION_DEFAULTS: Record<keyof OrganizationRetentionPolicy, number>;
394
+ /**
395
+ * How many days a deleted document of the organization stays in the trash
396
+ * before it is destroyed for good, `0` when nothing destroys it: its own
397
+ * setting, else `GDPR_RETENTION_DEFAULTS`. One rule for the timer that
398
+ * destroys and for the trash that shows how long is left.
399
+ */
400
+ export declare function trashRetentionDaysOf(metadata: string | Record<string, unknown> | null | undefined): number;
384
401
  /**
385
402
  * Safely parse the raw `organization.metadata` value (a JSON string from our
386
403
  * own drizzle reads, or an already-parsed object from better-auth) into a
@@ -2,7 +2,7 @@ import { StoragePolicy } from './Media';
2
2
  import * as z from 'zod';
3
3
  /**
4
4
  * Where a user stands on two-step verification and passkeys, as the system
5
- * panel shows it (docs/specs/two-factor-system-assistance.md, D2). One state
5
+ * panel shows it (docs/specs/released/two-factor-system-assistance.md, D2). One state
6
6
  * per user, decided in this order: the authenticator app, the email code, a
7
7
  * passkey alone, then `required` for a member of an organization that asks
8
8
  * for a second factor who signs in with a password and has none.