@burdenoff/microfe-devportal 2026.714.9 → 2026.715.2

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 (176) hide show
  1. package/dist/__tests__/setup.d.ts +2 -0
  2. package/dist/__tests__/setup.d.ts.map +1 -0
  3. package/dist/__tests__/utils/renderWithProviders.d.ts +32 -0
  4. package/dist/__tests__/utils/renderWithProviders.d.ts.map +1 -0
  5. package/dist/dev/main.d.ts +8 -0
  6. package/dist/dev/main.d.ts.map +1 -0
  7. package/dist/devportal/AdminDevportalRoot.d.ts +17 -0
  8. package/dist/devportal/AdminDevportalRoot.d.ts.map +1 -0
  9. package/dist/devportal/AdminDevportalRoutes.d.ts +2 -0
  10. package/dist/devportal/AdminDevportalRoutes.d.ts.map +1 -0
  11. package/dist/devportal/DevportalRoot.d.ts +30 -0
  12. package/dist/devportal/DevportalRoot.d.ts.map +1 -0
  13. package/dist/devportal/DevportalRoutes.d.ts +2 -0
  14. package/dist/devportal/DevportalRoutes.d.ts.map +1 -0
  15. package/dist/devportal/components/AppCard.d.ts +35 -0
  16. package/dist/devportal/components/AppCard.d.ts.map +1 -0
  17. package/dist/devportal/components/ConfirmDialog.d.ts +29 -0
  18. package/dist/devportal/components/ConfirmDialog.d.ts.map +1 -0
  19. package/dist/devportal/components/DataTable.d.ts +41 -0
  20. package/dist/devportal/components/DataTable.d.ts.map +1 -0
  21. package/dist/devportal/components/EmptyState.d.ts +32 -0
  22. package/dist/devportal/components/EmptyState.d.ts.map +1 -0
  23. package/dist/devportal/components/FeatureFlaggedRoute.d.ts +10 -0
  24. package/dist/devportal/components/FeatureFlaggedRoute.d.ts.map +1 -0
  25. package/dist/devportal/components/FormField.d.ts +70 -0
  26. package/dist/devportal/components/FormField.d.ts.map +1 -0
  27. package/dist/devportal/components/GrantDelegationModal.d.ts +23 -0
  28. package/dist/devportal/components/GrantDelegationModal.d.ts.map +1 -0
  29. package/dist/devportal/components/LoadingState.d.ts +31 -0
  30. package/dist/devportal/components/LoadingState.d.ts.map +1 -0
  31. package/dist/devportal/components/PageLayout.d.ts +43 -0
  32. package/dist/devportal/components/PageLayout.d.ts.map +1 -0
  33. package/dist/devportal/components/PermissionGuard.d.ts +15 -0
  34. package/dist/devportal/components/PermissionGuard.d.ts.map +1 -0
  35. package/dist/devportal/components/SecretDisplay.d.ts +32 -0
  36. package/dist/devportal/components/SecretDisplay.d.ts.map +1 -0
  37. package/dist/devportal/components/SectionNav.d.ts +26 -0
  38. package/dist/devportal/components/SectionNav.d.ts.map +1 -0
  39. package/dist/devportal/components/SelectionCheckbox.d.ts +11 -0
  40. package/dist/devportal/components/SelectionCheckbox.d.ts.map +1 -0
  41. package/dist/devportal/components/StatCard.d.ts +32 -0
  42. package/dist/devportal/components/StatCard.d.ts.map +1 -0
  43. package/dist/devportal/components/StatusBadge.d.ts +33 -0
  44. package/dist/devportal/components/StatusBadge.d.ts.map +1 -0
  45. package/dist/devportal/components/TelemetryErrorBoundary.d.ts +11 -0
  46. package/dist/devportal/components/TelemetryErrorBoundary.d.ts.map +1 -0
  47. package/dist/devportal/components/index.d.ts +21 -0
  48. package/dist/devportal/components/index.d.ts.map +1 -0
  49. package/dist/devportal/constants/permissions.d.ts +90 -0
  50. package/dist/devportal/constants/permissions.d.ts.map +1 -0
  51. package/dist/devportal/events/index.d.ts +19 -0
  52. package/dist/devportal/events/index.d.ts.map +1 -0
  53. package/dist/devportal/hooks/DevPortalProvider.d.ts +18 -0
  54. package/dist/devportal/hooks/DevPortalProvider.d.ts.map +1 -0
  55. package/dist/devportal/hooks/index.d.ts +10 -0
  56. package/dist/devportal/hooks/index.d.ts.map +1 -0
  57. package/dist/devportal/hooks/useGraphQL.d.ts +56 -0
  58. package/dist/devportal/hooks/useGraphQL.d.ts.map +1 -0
  59. package/dist/devportal/hooks/usePackageUpload.d.ts +16 -0
  60. package/dist/devportal/hooks/usePackageUpload.d.ts.map +1 -0
  61. package/dist/devportal/hooks/usePermission.d.ts +24 -0
  62. package/dist/devportal/hooks/usePermission.d.ts.map +1 -0
  63. package/dist/devportal/index.d.ts +36 -0
  64. package/dist/devportal/index.d.ts.map +1 -0
  65. package/dist/devportal/pages/AdminOrganizationVerificationPage.d.ts +4 -0
  66. package/dist/devportal/pages/AdminOrganizationVerificationPage.d.ts.map +1 -0
  67. package/dist/devportal/pages/AdminReviewPage.d.ts +4 -0
  68. package/dist/devportal/pages/AdminReviewPage.d.ts.map +1 -0
  69. package/dist/devportal/pages/AnalyticsDashboardPage.d.ts +4 -0
  70. package/dist/devportal/pages/AnalyticsDashboardPage.d.ts.map +1 -0
  71. package/dist/devportal/pages/ApiKeysPage.d.ts +12 -0
  72. package/dist/devportal/pages/ApiKeysPage.d.ts.map +1 -0
  73. package/dist/devportal/pages/AppLogsPage.d.ts +4 -0
  74. package/dist/devportal/pages/AppLogsPage.d.ts.map +1 -0
  75. package/dist/devportal/pages/ApplicationDetailPage.d.ts +7 -0
  76. package/dist/devportal/pages/ApplicationDetailPage.d.ts.map +1 -0
  77. package/dist/devportal/pages/ApplicationDetailPage.js +847 -793
  78. package/dist/devportal/pages/ApplicationDetailPage.js.map +1 -1
  79. package/dist/devportal/pages/ApplicationVersionsPage.d.ts +4 -0
  80. package/dist/devportal/pages/ApplicationVersionsPage.d.ts.map +1 -0
  81. package/dist/devportal/pages/ApplicationsPage.d.ts +10 -0
  82. package/dist/devportal/pages/ApplicationsPage.d.ts.map +1 -0
  83. package/dist/devportal/pages/CreateApiKeyPage.d.ts +11 -0
  84. package/dist/devportal/pages/CreateApiKeyPage.d.ts.map +1 -0
  85. package/dist/devportal/pages/CreateApplicationPage.d.ts +4 -0
  86. package/dist/devportal/pages/CreateApplicationPage.d.ts.map +1 -0
  87. package/dist/devportal/pages/CreateOAuthClientPage.d.ts +10 -0
  88. package/dist/devportal/pages/CreateOAuthClientPage.d.ts.map +1 -0
  89. package/dist/devportal/pages/CreateOrganizationPage.d.ts +9 -0
  90. package/dist/devportal/pages/CreateOrganizationPage.d.ts.map +1 -0
  91. package/dist/devportal/pages/CreatePhysicalItemPage.d.ts +4 -0
  92. package/dist/devportal/pages/CreatePhysicalItemPage.d.ts.map +1 -0
  93. package/dist/devportal/pages/CreateWebhookPage.d.ts +4 -0
  94. package/dist/devportal/pages/CreateWebhookPage.d.ts.map +1 -0
  95. package/dist/devportal/pages/CreateWebhookPage.js.map +1 -1
  96. package/dist/devportal/pages/DashboardPage.d.ts +4 -0
  97. package/dist/devportal/pages/DashboardPage.d.ts.map +1 -0
  98. package/dist/devportal/pages/DelegationsPage.d.ts +12 -0
  99. package/dist/devportal/pages/DelegationsPage.d.ts.map +1 -0
  100. package/dist/devportal/pages/DocumentationPage.d.ts +4 -0
  101. package/dist/devportal/pages/DocumentationPage.d.ts.map +1 -0
  102. package/dist/devportal/pages/EditApplicationPage.d.ts +7 -0
  103. package/dist/devportal/pages/EditApplicationPage.d.ts.map +1 -0
  104. package/dist/devportal/pages/EditPhysicalItemPage.d.ts +4 -0
  105. package/dist/devportal/pages/EditPhysicalItemPage.d.ts.map +1 -0
  106. package/dist/devportal/pages/InvitationDecisionPage.d.ts +4 -0
  107. package/dist/devportal/pages/InvitationDecisionPage.d.ts.map +1 -0
  108. package/dist/devportal/pages/ListingPreviewPage.d.ts +4 -0
  109. package/dist/devportal/pages/ListingPreviewPage.d.ts.map +1 -0
  110. package/dist/devportal/pages/OAuthCallbackPage.d.ts +4 -0
  111. package/dist/devportal/pages/OAuthCallbackPage.d.ts.map +1 -0
  112. package/dist/devportal/pages/OAuthClientDetailPage.d.ts +10 -0
  113. package/dist/devportal/pages/OAuthClientDetailPage.d.ts.map +1 -0
  114. package/dist/devportal/pages/OAuthClientsPage.d.ts +11 -0
  115. package/dist/devportal/pages/OAuthClientsPage.d.ts.map +1 -0
  116. package/dist/devportal/pages/OrganizationDetailPage.d.ts +7 -0
  117. package/dist/devportal/pages/OrganizationDetailPage.d.ts.map +1 -0
  118. package/dist/devportal/pages/OrganizationMembersPage.d.ts +4 -0
  119. package/dist/devportal/pages/OrganizationMembersPage.d.ts.map +1 -0
  120. package/dist/devportal/pages/OrganizationsPage.d.ts +10 -0
  121. package/dist/devportal/pages/OrganizationsPage.d.ts.map +1 -0
  122. package/dist/devportal/pages/PublishPage.d.ts +4 -0
  123. package/dist/devportal/pages/PublishPage.d.ts.map +1 -0
  124. package/dist/devportal/pages/PublisherProfilePage.d.ts +12 -0
  125. package/dist/devportal/pages/PublisherProfilePage.d.ts.map +1 -0
  126. package/dist/devportal/pages/ResourcesPage.d.ts +4 -0
  127. package/dist/devportal/pages/ResourcesPage.d.ts.map +1 -0
  128. package/dist/devportal/pages/RevenueDashboardPage.d.ts +4 -0
  129. package/dist/devportal/pages/RevenueDashboardPage.d.ts.map +1 -0
  130. package/dist/devportal/pages/RevenueRedirectPage.d.ts +4 -0
  131. package/dist/devportal/pages/RevenueRedirectPage.d.ts.map +1 -0
  132. package/dist/devportal/pages/SellerDashboardPage.d.ts +4 -0
  133. package/dist/devportal/pages/SellerDashboardPage.d.ts.map +1 -0
  134. package/dist/devportal/pages/SellerItemsPage.d.ts +4 -0
  135. package/dist/devportal/pages/SellerItemsPage.d.ts.map +1 -0
  136. package/dist/devportal/pages/SellerOrdersPage.d.ts +4 -0
  137. package/dist/devportal/pages/SellerOrdersPage.d.ts.map +1 -0
  138. package/dist/devportal/pages/SettingsPage.d.ts +4 -0
  139. package/dist/devportal/pages/SettingsPage.d.ts.map +1 -0
  140. package/dist/devportal/pages/SetupPage.d.ts +4 -0
  141. package/dist/devportal/pages/SetupPage.d.ts.map +1 -0
  142. package/dist/devportal/pages/StoreSubmissionPage.d.ts +4 -0
  143. package/dist/devportal/pages/StoreSubmissionPage.d.ts.map +1 -0
  144. package/dist/devportal/pages/WebhookDetailPage.d.ts +4 -0
  145. package/dist/devportal/pages/WebhookDetailPage.d.ts.map +1 -0
  146. package/dist/devportal/pages/WebhooksPage.d.ts +10 -0
  147. package/dist/devportal/pages/WebhooksPage.d.ts.map +1 -0
  148. package/dist/devportal/providers/DevportalProvider.d.ts +22 -0
  149. package/dist/devportal/providers/DevportalProvider.d.ts.map +1 -0
  150. package/dist/devportal/store/devportalStore.d.ts +60 -0
  151. package/dist/devportal/store/devportalStore.d.ts.map +1 -0
  152. package/dist/devportal/types/index.d.ts +710 -0
  153. package/dist/devportal/types/index.d.ts.map +1 -0
  154. package/dist/devportal/utils/cn.d.ts +8 -0
  155. package/dist/devportal/utils/cn.d.ts.map +1 -0
  156. package/dist/devportal/utils/constants.d.ts +107 -0
  157. package/dist/devportal/utils/constants.d.ts.map +1 -0
  158. package/dist/devportal/utils/i18n.d.ts +13 -0
  159. package/dist/devportal/utils/i18n.d.ts.map +1 -0
  160. package/dist/devportal/utils/recaptcha.d.ts +2 -0
  161. package/dist/devportal/utils/recaptcha.d.ts.map +1 -0
  162. package/dist/generated/global-operations.d.ts +7863 -0
  163. package/dist/generated/global-operations.d.ts.map +1 -0
  164. package/dist/generated/global-operations.js +77 -27
  165. package/dist/generated/global-operations.js.map +1 -1
  166. package/dist/generated/global-types.d.ts +23236 -0
  167. package/dist/generated/global-types.d.ts.map +1 -0
  168. package/dist/generated/wspace-operations.d.ts +46 -0
  169. package/dist/generated/wspace-operations.d.ts.map +1 -0
  170. package/dist/generated/wspace-types.d.ts +57851 -0
  171. package/dist/generated/wspace-types.d.ts.map +1 -0
  172. package/dist/index.d.ts +7 -0
  173. package/dist/index.d.ts.map +1 -0
  174. package/dist/utils/nativeBridge.d.ts +3 -0
  175. package/dist/utils/nativeBridge.d.ts.map +1 -0
  176. package/package.json +2 -2
@@ -0,0 +1,710 @@
1
+ import { ReactNode } from 'react';
2
+
3
+ /**
4
+ * Navigation item for shell integration
5
+ */
6
+ export interface NavItem {
7
+ id: string;
8
+ label: string;
9
+ path: string;
10
+ icon?: ReactNode;
11
+ badge?: number;
12
+ order?: number;
13
+ group?: string;
14
+ visible?: boolean;
15
+ children?: NavItem[];
16
+ }
17
+ /**
18
+ * Footer item for shell integration
19
+ */
20
+ export interface FooterItem {
21
+ id: string;
22
+ label: string;
23
+ type: "status" | "action";
24
+ order?: number;
25
+ section: "left" | "center" | "right";
26
+ }
27
+ /**
28
+ * Props for the DevportalRoot component
29
+ */
30
+ export interface DevportalRootProps {
31
+ /**
32
+ * Base path for the devportal microfrontend
33
+ */
34
+ basePath?: string;
35
+ /**
36
+ * Tenant ID for scoping operations
37
+ */
38
+ tenantId?: string;
39
+ /**
40
+ * Workspace ID (optional, for workspace-scoped features)
41
+ */
42
+ workspaceId?: string;
43
+ /**
44
+ * API Gateway URL for GraphQL requests (global gateway)
45
+ */
46
+ apiGatewayUrl?: string;
47
+ /**
48
+ * Workspace gateway URL for workspace-layer operations (e.g. wspace-files-svc uploads)
49
+ * e.g. "https://graphqlworkspaces.burdenoff.com" or "http://localhost:4003"
50
+ */
51
+ workspacesGatewayUrl?: string;
52
+ /**
53
+ * Authentication token for API requests
54
+ */
55
+ authToken?: string;
56
+ /**
57
+ * Workspace authentication token for workspace-gateway requests (X-Workspace-Authorization).
58
+ * May be a cached/stale value — use getWorkspaceToken() for upload flows that need a fresh token.
59
+ */
60
+ workspaceToken?: string;
61
+ /**
62
+ * Async getter that always returns a valid (non-expired) workspace token.
63
+ * Call this instead of reading workspaceToken directly for workspace-layer mutations.
64
+ */
65
+ getWorkspaceToken?: () => Promise<string | null>;
66
+ /**
67
+ * Navigation function provided by the shell
68
+ */
69
+ navigate?: (path: string) => void;
70
+ /**
71
+ * Current user information
72
+ */
73
+ currentUser?: {
74
+ id: string;
75
+ email: string;
76
+ firstName?: string;
77
+ lastName?: string;
78
+ avatar?: string;
79
+ };
80
+ /**
81
+ * Optional function to register navigation items with the shell
82
+ */
83
+ registerNavItems?: (items: NavItem | NavItem[]) => () => void;
84
+ /**
85
+ * Optional function to register footer items with the shell
86
+ */
87
+ registerFooterItems?: (items: FooterItem | FooterItem[]) => () => void;
88
+ /**
89
+ * Optional callback when an application is selected
90
+ */
91
+ onApplicationSelect?: (app: Application) => void;
92
+ /**
93
+ * Optional callback when an organization is selected
94
+ */
95
+ onOrganizationSelect?: (org: DeveloperOrganization) => void;
96
+ }
97
+ export type AppType = "WEB_APP" | "MOBILE_APP" | "DESKTOP_APP" | "CLI_TOOL" | "API_INTEGRATION" | "WORKFLOW" | "AUTOMATION" | "WIDGET" | "BOT" | "SERVICE" | "INTEGRATION" | "ANALYST" | "ASSISTANT" | "SPECIALIST" | "NODE" | "VIBEMODULE" | "CONSOLE" | "DASHBOARD" | "PARSER" | "DATASINK";
98
+ export type AppStatus = "DRAFT" | "SUBMITTED" | "IN_REVIEW" | "APPROVED" | "PUBLISHED" | "REJECTED" | "SUSPENDED" | "DEPRECATED" | "ACTIVE" | "INACTIVE" | "REVOKED";
99
+ export type AppVisibility = "PUBLIC" | "PRIVATE" | "UNLISTED" | "INTERNAL";
100
+ export type AppSubmissionReviewStatus = "PENDING" | "IN_PROGRESS" | "APPROVED" | "REJECTED" | "CHANGES_REQUESTED";
101
+ export interface Application {
102
+ id: string;
103
+ name: string;
104
+ slug: string;
105
+ shortDescription?: string;
106
+ description?: string;
107
+ appType: AppType;
108
+ status: AppStatus;
109
+ visibility: AppVisibility;
110
+ tenantId: string;
111
+ developerId: string;
112
+ developerOrganizationId?: string;
113
+ developerOrganization?: DeveloperOrganization;
114
+ category?: string;
115
+ tags: string[];
116
+ keywords: string[];
117
+ iconUrl?: string;
118
+ bannerUrl?: string;
119
+ videoUrl?: string;
120
+ screenshots?: Record<string, unknown>;
121
+ websiteUrl?: string;
122
+ documentationUrl?: string;
123
+ supportUrl?: string;
124
+ privacyPolicyUrl?: string;
125
+ termsOfServiceUrl?: string;
126
+ githubUrl?: string;
127
+ pricingType?: string;
128
+ pricingDetails?: Record<string, unknown>;
129
+ installCount: number;
130
+ activeInstallCount: number;
131
+ averageRating?: number;
132
+ reviewCount: number;
133
+ submittedAt?: string;
134
+ publishedAt?: string;
135
+ lastReviewedAt?: string;
136
+ reviewStatus: AppSubmissionReviewStatus;
137
+ reviewNotes?: string;
138
+ reviewedBy?: string;
139
+ isFeatured: boolean;
140
+ isVerified: boolean;
141
+ requiresApproval: boolean;
142
+ manifest?: Record<string, unknown>;
143
+ config?: Record<string, unknown>;
144
+ metadata?: Record<string, unknown>;
145
+ appId?: string;
146
+ oauthAuthUrl?: string;
147
+ oauthRevokeUrl?: string;
148
+ createdAt: string;
149
+ updatedAt: string;
150
+ versions?: ApplicationVersion[];
151
+ oauthClients?: OAuthClient[];
152
+ apiKeys?: ApiKey[];
153
+ webhooks?: Webhook[];
154
+ scopes?: ApplicationScope[];
155
+ }
156
+ export interface ApplicationVersion {
157
+ id: string;
158
+ applicationId: string;
159
+ version: string;
160
+ releaseNotes?: string;
161
+ changelog?: string;
162
+ status: string;
163
+ isLatest: boolean;
164
+ isStable: boolean;
165
+ packageUrl?: string;
166
+ packageSize?: string;
167
+ packageHash?: string;
168
+ manifest?: Record<string, unknown>;
169
+ minPlatformVersion?: string;
170
+ maxPlatformVersion?: string;
171
+ requiredScopes: string[];
172
+ publishedAt?: string;
173
+ deprecatedAt?: string;
174
+ createdAt: string;
175
+ updatedAt: string;
176
+ }
177
+ export interface ApplicationScope {
178
+ id: string;
179
+ applicationId: string;
180
+ scope: string;
181
+ description?: string;
182
+ isRequired: boolean;
183
+ createdAt: string;
184
+ }
185
+ export type OAuthClientType = "PUBLIC" | "CONFIDENTIAL";
186
+ export type OAuthGrantType = "AUTHORIZATION_CODE" | "REFRESH_TOKEN" | "CLIENT_CREDENTIALS" | "IMPLICIT" | "PASSWORD";
187
+ export interface OAuthClient {
188
+ id: string;
189
+ applicationId: string;
190
+ name: string;
191
+ clientId: string;
192
+ clientSecret: string;
193
+ clientType: OAuthClientType;
194
+ redirectUris: string[];
195
+ allowedGrantTypes: OAuthGrantType[];
196
+ allowedScopes: string[];
197
+ accessTokenLifetime: number;
198
+ refreshTokenLifetime: number;
199
+ isActive: boolean;
200
+ requirePKCE: boolean;
201
+ requireConsent: boolean;
202
+ metadata?: Record<string, unknown>;
203
+ createdAt: string;
204
+ updatedAt: string;
205
+ }
206
+ export interface OAuthToken {
207
+ id: string;
208
+ clientId: string;
209
+ userId: string;
210
+ tenantId: string;
211
+ workspaceId?: string;
212
+ accessToken: string;
213
+ refreshToken?: string;
214
+ tokenType: string;
215
+ scopes: string[];
216
+ expiresAt: string;
217
+ refreshExpiresAt?: string;
218
+ isRevoked: boolean;
219
+ revokedAt?: string;
220
+ createdAt: string;
221
+ lastUsedAt?: string;
222
+ }
223
+ export type ApiKeyType = "PUBLISHABLE" | "SECRET" | "RESTRICTED";
224
+ export interface ApiKey {
225
+ id: string;
226
+ applicationId: string;
227
+ name: string;
228
+ description?: string;
229
+ keyId: string;
230
+ keyHash?: string;
231
+ keyPrefix: string;
232
+ keyType: ApiKeyType;
233
+ scopes: string[];
234
+ permissions?: Record<string, unknown>;
235
+ rateLimit?: number;
236
+ quotaLimit?: number;
237
+ quotaUsed: number;
238
+ quotaResetAt?: string;
239
+ allowedIps: string[];
240
+ allowedDomains: string[];
241
+ environment?: string;
242
+ isActive: boolean;
243
+ isRevoked: boolean;
244
+ createdAt: string;
245
+ lastUsedAt?: string;
246
+ expiresAt?: string;
247
+ revokedAt?: string;
248
+ }
249
+ export interface ApiKeyPayload {
250
+ apiKey: ApiKey;
251
+ plainTextKey: string;
252
+ }
253
+ export type WebhookStatus = "ACTIVE" | "PAUSED" | "FAILED" | "DISABLED";
254
+ export type WebhookDeliveryStatus = "PENDING" | "DELIVERING" | "DELIVERED" | "FAILED" | "RETRYING";
255
+ export interface Webhook {
256
+ id: string;
257
+ applicationId: string;
258
+ name: string;
259
+ description?: string;
260
+ url: string;
261
+ secret?: string;
262
+ events: string[];
263
+ filters?: Record<string, unknown>;
264
+ retryEnabled: boolean;
265
+ maxRetries: number;
266
+ retryDelay: number;
267
+ status: WebhookStatus;
268
+ isActive: boolean;
269
+ successCount: number;
270
+ failureCount: number;
271
+ lastTriggeredAt?: string;
272
+ lastSuccessAt?: string;
273
+ lastFailureAt?: string;
274
+ lastFailureReason?: string;
275
+ createdAt: string;
276
+ updatedAt: string;
277
+ deliveries?: WebhookDelivery[];
278
+ }
279
+ export interface WebhookDelivery {
280
+ id: string;
281
+ webhookId: string;
282
+ eventType: string;
283
+ eventId: string;
284
+ payload: Record<string, unknown>;
285
+ attemptNumber: number;
286
+ status: WebhookDeliveryStatus;
287
+ requestHeaders?: Record<string, unknown>;
288
+ requestBody?: Record<string, unknown>;
289
+ responseStatus?: number;
290
+ responseHeaders?: Record<string, unknown>;
291
+ responseBody?: string;
292
+ deliveredAt?: string;
293
+ failedAt?: string;
294
+ nextRetryAt?: string;
295
+ errorMessage?: string;
296
+ errorCode?: string;
297
+ createdAt: string;
298
+ updatedAt: string;
299
+ }
300
+ export interface WebhookTestResult {
301
+ success: boolean;
302
+ statusCode?: number;
303
+ response?: string;
304
+ error?: string;
305
+ }
306
+ export type DeveloperOrgRole = "OWNER" | "ADMIN" | "DEVELOPER" | "VIEWER";
307
+ export type DeveloperOrgTier = "FREE" | "DEVELOPER" | "PROFESSIONAL" | "ENTERPRISE";
308
+ export type PartnerTier = "REGISTERED" | "SELECT" | "PREMIER";
309
+ export type InvitationStatus = "PENDING" | "ACCEPTED" | "REJECTED" | "EXPIRED" | "CANCELLED";
310
+ export interface DeveloperOrganization {
311
+ id: string;
312
+ name: string;
313
+ slug: string;
314
+ description?: string;
315
+ logoUrl?: string;
316
+ bannerUrl?: string;
317
+ websiteUrl?: string;
318
+ contactEmail?: string;
319
+ supportEmail?: string;
320
+ tier: DeveloperOrgTier;
321
+ partnerTier?: PartnerTier;
322
+ partnerSince?: string;
323
+ isVerified: boolean;
324
+ verifiedAt?: string;
325
+ verificationMethod?: string;
326
+ verificationRequestedAt?: string;
327
+ verificationStatus?: "UNVERIFIED" | "PENDING" | "VERIFIED" | "REJECTED";
328
+ verificationRequestNotes?: string;
329
+ verificationEvidenceUrl?: string;
330
+ verificationDomain?: string;
331
+ verificationRequestedBy?: string;
332
+ verificationReviewedAt?: string;
333
+ verificationReviewedBy?: string;
334
+ verificationReviewNotes?: string;
335
+ verificationRejectedReason?: string;
336
+ isCertified: boolean;
337
+ certifiedAt?: string;
338
+ certificationExpiry?: string;
339
+ totalApps: number;
340
+ publishedApps: number;
341
+ totalInstalls: number;
342
+ activeInstalls: number;
343
+ totalApiCalls: string;
344
+ averageRating?: number;
345
+ totalRevenue: number;
346
+ totalPlatformFees: number;
347
+ totalPayouts: number;
348
+ pendingBalance: number;
349
+ lifetimeRevenue: number;
350
+ platformFeeRate: number;
351
+ apiCallsLimit: number;
352
+ storageLimit: string;
353
+ apiCallsUsed: string;
354
+ storageUsed: string;
355
+ quotaResetAt?: string;
356
+ taxId?: string;
357
+ taxCountry?: string;
358
+ taxFormType?: string;
359
+ taxFormVerified: boolean;
360
+ legalEntityName?: string;
361
+ legalEntityType?: string;
362
+ legalAddress?: Record<string, unknown>;
363
+ settings?: Record<string, unknown>;
364
+ billingAccountId?: string;
365
+ billingLinkedAt?: string;
366
+ createdAt: string;
367
+ updatedAt: string;
368
+ members?: DeveloperOrgMember[];
369
+ invitations?: DeveloperOrgInvitation[];
370
+ applications?: Application[];
371
+ }
372
+ export interface DeveloperOrgMember {
373
+ id: string;
374
+ organizationId: string;
375
+ userId: string;
376
+ email?: string;
377
+ role: DeveloperOrgRole;
378
+ permissions?: Record<string, unknown>;
379
+ invitedBy?: string;
380
+ invitationId?: string;
381
+ isActive: boolean;
382
+ isSuspended: boolean;
383
+ suspendedAt?: string;
384
+ suspendedReason?: string;
385
+ joinedAt: string;
386
+ createdAt: string;
387
+ updatedAt: string;
388
+ }
389
+ export interface DeveloperOrgInvitation {
390
+ id: string;
391
+ organizationId: string;
392
+ invitedUserId?: string;
393
+ invitedEmail: string;
394
+ role: DeveloperOrgRole;
395
+ permissions?: Record<string, unknown>;
396
+ invitedBy: string;
397
+ message?: string;
398
+ token: string;
399
+ status: InvitationStatus;
400
+ expiresAt: string;
401
+ respondedAt?: string;
402
+ memberId?: string;
403
+ createdAt: string;
404
+ updatedAt: string;
405
+ }
406
+ export interface ApplicationAnalytics {
407
+ id: string;
408
+ applicationId: string;
409
+ date: string;
410
+ period: string;
411
+ activeUsers: number;
412
+ newUsers: number;
413
+ apiCalls: number;
414
+ errors: number;
415
+ avgResponseTime?: number;
416
+ sessions: number;
417
+ avgSessionDuration?: number;
418
+ createdAt: string;
419
+ }
420
+ export interface DeveloperOrgRevenueAnalytics {
421
+ id: string;
422
+ organizationId: string;
423
+ period: string;
424
+ periodStart: string;
425
+ periodEnd: string;
426
+ grossRevenue: number;
427
+ platformFees: number;
428
+ netRevenue: number;
429
+ salesCount: number;
430
+ refundsCount: number;
431
+ refundsAmount: number;
432
+ newSubscribers: number;
433
+ churnedSubscribers: number;
434
+ activeSubscribers: number;
435
+ avgRevenuePerUser: number;
436
+ topApps?: Array<{
437
+ appId: string;
438
+ revenue: number;
439
+ }>;
440
+ createdAt: string;
441
+ }
442
+ export type DevPortalPricingModel = "FREE" | "FREEMIUM" | "SUBSCRIPTION" | "ONE_TIME" | "USAGE_BASED" | "ENTERPRISE";
443
+ export type SaleStatus = "PENDING" | "COMPLETED" | "REFUNDED" | "PARTIAL_REFUND" | "DISPUTED" | "CHARGEBACK" | "CANCELLED";
444
+ export type PayoutStatus = "PENDING" | "PROCESSING" | "COMPLETED" | "FAILED" | "CANCELLED";
445
+ export interface DeveloperOrgSale {
446
+ id: string;
447
+ organizationId: string;
448
+ applicationId: string;
449
+ buyerUserId: string;
450
+ buyerTenantId?: string;
451
+ installationScope: string;
452
+ pricingModel: DevPortalPricingModel;
453
+ planName?: string;
454
+ grossAmount: number;
455
+ platformFeeRate: number;
456
+ platformFee: number;
457
+ netAmount: number;
458
+ currency: string;
459
+ taxAmount?: number;
460
+ discountAmount?: number;
461
+ status: SaleStatus;
462
+ createdAt: string;
463
+ }
464
+ export interface DeveloperOrgPayout {
465
+ id: string;
466
+ organizationId: string;
467
+ periodStart: string;
468
+ periodEnd: string;
469
+ grossAmount: number;
470
+ platformFees: number;
471
+ netAmount: number;
472
+ currency: string;
473
+ status: PayoutStatus;
474
+ processedAt?: string;
475
+ failedAt?: string;
476
+ failureReason?: string;
477
+ createdAt: string;
478
+ }
479
+ export type AppInstallationStatus = "ACTIVE" | "SUSPENDED" | "TRIAL" | "EXPIRED" | "UNINSTALLED";
480
+ export interface AppInstallation {
481
+ id: string;
482
+ applicationId: string;
483
+ userId: string;
484
+ tenantId?: string;
485
+ workspaceId?: string;
486
+ organizationId?: string;
487
+ scope: string;
488
+ installedVersion: string;
489
+ status: AppInstallationStatus;
490
+ grantedScopes: string[];
491
+ settings?: Record<string, unknown>;
492
+ installedAt: string;
493
+ updatedAt: string;
494
+ }
495
+ export type ReviewStatus = "PENDING" | "PUBLISHED" | "HIDDEN" | "FLAGGED" | "REMOVED";
496
+ export interface AppReview {
497
+ id: string;
498
+ applicationId: string;
499
+ userId: string;
500
+ rating: number;
501
+ title?: string;
502
+ body?: string;
503
+ status: ReviewStatus;
504
+ isFeatured: boolean;
505
+ helpfulCount: number;
506
+ notHelpfulCount: number;
507
+ developerResponse?: string;
508
+ developerResponseAt?: string;
509
+ createdAt: string;
510
+ updatedAt: string;
511
+ }
512
+ export type DelegationStatus = "ACTIVE" | "REVOKED" | "EXPIRED";
513
+ export interface AppUserDelegation {
514
+ id: string;
515
+ appId: string;
516
+ app?: {
517
+ id: string;
518
+ name: string;
519
+ description?: string;
520
+ type: string;
521
+ status: string;
522
+ };
523
+ userId: string;
524
+ scopes: string[];
525
+ workspaceIds: string[];
526
+ status: DelegationStatus;
527
+ grantedAt: string;
528
+ grantedBy: string;
529
+ expiresAt?: string;
530
+ revokedAt?: string;
531
+ revokedBy?: string;
532
+ }
533
+ export interface GrantDelegationInput {
534
+ appId: string;
535
+ userId?: string;
536
+ workspaceIds: string[];
537
+ scopes: string[];
538
+ expiresAt?: string;
539
+ }
540
+ export type AuthAppType = "ANALYST" | "API_INTEGRATION" | "ASSISTANT" | "AUTOMATION" | "BOT" | "CLI_TOOL" | "DESKTOP_APP" | "INTEGRATION" | "MOBILE_APP" | "SERVICE" | "SPECIALIST" | "WEB_APP" | "WIDGET" | "WORKFLOW";
541
+ export type AuthAppStatus = "ACTIVE" | "INACTIVE" | "REVOKED";
542
+ export interface AuthApp {
543
+ id: string;
544
+ name: string;
545
+ description?: string;
546
+ clientId: string;
547
+ type: AuthAppType;
548
+ status: AuthAppStatus;
549
+ scopes: string[];
550
+ redirectUris: string[];
551
+ ownerUserId: string;
552
+ tenantId: string;
553
+ delegations?: AppUserDelegation[];
554
+ createdAt: string;
555
+ updatedAt: string;
556
+ }
557
+ export interface AuthAppCreateResponse {
558
+ app: AuthApp;
559
+ clientSecret: string;
560
+ }
561
+ export interface CreateAuthAppInput {
562
+ name: string;
563
+ description?: string;
564
+ type: AuthAppType;
565
+ scopes: string[];
566
+ redirectUris?: string[];
567
+ tenantId?: string;
568
+ }
569
+ export interface UpdateAuthAppInput {
570
+ name?: string;
571
+ description?: string;
572
+ scopes?: string[];
573
+ redirectUris?: string[];
574
+ }
575
+ export interface AuthApiKey {
576
+ id: string;
577
+ name: string;
578
+ prefix: string;
579
+ scopes: string[];
580
+ appId: string;
581
+ appName?: string;
582
+ createdAt: string;
583
+ expiresAt?: string;
584
+ lastUsedAt?: string;
585
+ }
586
+ export interface AuthApiKeyResult {
587
+ apiKey: string;
588
+ apiSecret: string;
589
+ keyId: string;
590
+ }
591
+ export interface AuthApiKeyRotateResult {
592
+ apiSecret: string;
593
+ }
594
+ export interface GenerateAuthApiKeyInput {
595
+ appId: string;
596
+ name: string;
597
+ scope: string[];
598
+ expiresAt?: string;
599
+ }
600
+ export interface AuditLog {
601
+ id: string;
602
+ actorId: string;
603
+ actorType: string;
604
+ tenantId: string;
605
+ action: string;
606
+ resource: string;
607
+ resourceId?: string;
608
+ changes?: Record<string, unknown>;
609
+ ipAddress?: string;
610
+ userAgent?: string;
611
+ createdAt: string;
612
+ }
613
+ export type DevportalView = "dashboard" | "organizations" | "apps" | "oauth" | "api-keys" | "webhooks" | "delegations" | "analytics" | "revenue" | "docs" | "profile" | "settings";
614
+ export interface ApplicationFilter {
615
+ search?: string;
616
+ status?: AppStatus;
617
+ visibility?: AppVisibility;
618
+ appType?: AppType;
619
+ organizationId?: string;
620
+ isFeatured?: boolean;
621
+ }
622
+ export interface WebhookFilter {
623
+ status?: WebhookStatus;
624
+ event?: string;
625
+ }
626
+ export declare const WEBHOOK_EVENTS: readonly ["application.created", "application.updated", "application.deleted", "application.published", "application.unpublished", "application.suspended", "installation.created", "installation.updated", "installation.deleted", "user.created", "user.updated", "user.deleted", "workspace.created", "workspace.updated", "workspace.deleted", "project.created", "project.updated", "project.deleted", "task.created", "task.updated", "task.deleted", "task.completed", "comment.created", "comment.updated", "comment.deleted", "file.uploaded", "file.deleted", "member.added", "member.removed", "member.role_changed"];
627
+ export type WebhookEvent = (typeof WEBHOOK_EVENTS)[number];
628
+ export declare const AVAILABLE_SCOPES: readonly [{
629
+ readonly scope: "user:read";
630
+ readonly description: "Read user profile information";
631
+ readonly category: "User";
632
+ }, {
633
+ readonly scope: "user:write";
634
+ readonly description: "Modify user profile information";
635
+ readonly category: "User";
636
+ }, {
637
+ readonly scope: "user:email";
638
+ readonly description: "Access user email address";
639
+ readonly category: "User";
640
+ }, {
641
+ readonly scope: "workspace:read";
642
+ readonly description: "Read workspace information";
643
+ readonly category: "Workspace";
644
+ }, {
645
+ readonly scope: "workspace:write";
646
+ readonly description: "Create and modify workspaces";
647
+ readonly category: "Workspace";
648
+ }, {
649
+ readonly scope: "workspace:delete";
650
+ readonly description: "Delete workspaces";
651
+ readonly category: "Workspace";
652
+ }, {
653
+ readonly scope: "workspace:members";
654
+ readonly description: "Manage workspace members";
655
+ readonly category: "Workspace";
656
+ }, {
657
+ readonly scope: "project:read";
658
+ readonly description: "Read project information";
659
+ readonly category: "Project";
660
+ }, {
661
+ readonly scope: "project:write";
662
+ readonly description: "Create and modify projects";
663
+ readonly category: "Project";
664
+ }, {
665
+ readonly scope: "project:delete";
666
+ readonly description: "Delete projects";
667
+ readonly category: "Project";
668
+ }, {
669
+ readonly scope: "task:read";
670
+ readonly description: "Read tasks";
671
+ readonly category: "Task";
672
+ }, {
673
+ readonly scope: "task:write";
674
+ readonly description: "Create and modify tasks";
675
+ readonly category: "Task";
676
+ }, {
677
+ readonly scope: "task:delete";
678
+ readonly description: "Delete tasks";
679
+ readonly category: "Task";
680
+ }, {
681
+ readonly scope: "file:read";
682
+ readonly description: "Read files";
683
+ readonly category: "File";
684
+ }, {
685
+ readonly scope: "file:write";
686
+ readonly description: "Upload and modify files";
687
+ readonly category: "File";
688
+ }, {
689
+ readonly scope: "file:delete";
690
+ readonly description: "Delete files";
691
+ readonly category: "File";
692
+ }, {
693
+ readonly scope: "comment:read";
694
+ readonly description: "Read comments";
695
+ readonly category: "Comment";
696
+ }, {
697
+ readonly scope: "comment:write";
698
+ readonly description: "Create and modify comments";
699
+ readonly category: "Comment";
700
+ }, {
701
+ readonly scope: "comment:delete";
702
+ readonly description: "Delete comments";
703
+ readonly category: "Comment";
704
+ }, {
705
+ readonly scope: "offline_access";
706
+ readonly description: "Access data while user is offline";
707
+ readonly category: "Access";
708
+ }];
709
+ export type AvailableScope = (typeof AVAILABLE_SCOPES)[number]["scope"];
710
+ //# sourceMappingURL=index.d.ts.map