@donotdev/core 0.0.2 → 0.0.4
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/eslint/index.d.ts +79 -0
- package/functions/index.d.ts +752 -0
- package/index.d.ts +1595 -1811
- package/index.js +40 -40
- package/next/index.d.ts +1476 -0
- package/next/index.js +16 -16
- package/package.json +2 -2
- package/server.d.ts +1534 -1749
- package/server.js +37 -542
- package/vite/index.d.ts +1644 -0
- package/vite/index.js +67 -66
package/index.d.ts
CHANGED
|
@@ -2072,1539 +2072,1617 @@ declare const COMMON_TIER_CONFIGS: {
|
|
|
2072
2072
|
declare const DEFAULT_SUBSCRIPTION: SubscriptionClaims;
|
|
2073
2073
|
|
|
2074
2074
|
/**
|
|
2075
|
-
* @fileoverview
|
|
2076
|
-
* @description
|
|
2077
|
-
*
|
|
2078
|
-
* @version 0.0.
|
|
2075
|
+
* @fileoverview DoNotDev Framework - Unified Types & Constants
|
|
2076
|
+
* @description Single source of truth for all framework types and constants
|
|
2077
|
+
* @package @donotdev/types
|
|
2078
|
+
* @version 0.0.3
|
|
2079
2079
|
* @since 0.0.1
|
|
2080
2080
|
* @author AMBROISE PARK Consulting
|
|
2081
|
+
*
|
|
2082
|
+
* @remarks
|
|
2083
|
+
* This file consolidates all framework types and constants to prevent unnecessary splitting
|
|
2084
|
+
* and ensure DRY principles. All magic strings are replaced with typed constants.
|
|
2081
2085
|
*/
|
|
2082
2086
|
|
|
2083
|
-
/**
|
|
2084
|
-
*
|
|
2085
|
-
* @
|
|
2086
|
-
* @since 0.0.1
|
|
2087
|
-
* @author AMBROISE PARK Consulting
|
|
2087
|
+
/**
|
|
2088
|
+
* Supported platform identifiers
|
|
2089
|
+
* @constant
|
|
2088
2090
|
*/
|
|
2089
|
-
|
|
2090
|
-
|
|
2091
|
-
|
|
2092
|
-
|
|
2093
|
-
|
|
2094
|
-
|
|
2091
|
+
declare const PLATFORMS: {
|
|
2092
|
+
readonly VITE: "vite";
|
|
2093
|
+
readonly NEXTJS: "nextjs";
|
|
2094
|
+
readonly UNKNOWN: "unknown";
|
|
2095
|
+
};
|
|
2096
|
+
/**
|
|
2097
|
+
* Platform type derived from PLATFORMS constant
|
|
2095
2098
|
*/
|
|
2096
|
-
type
|
|
2097
|
-
/**
|
|
2098
|
-
*
|
|
2099
|
-
* @
|
|
2100
|
-
* @since 0.0.1
|
|
2101
|
-
* @author AMBROISE PARK Consulting
|
|
2099
|
+
type Platform = (typeof PLATFORMS)[keyof typeof PLATFORMS];
|
|
2100
|
+
/**
|
|
2101
|
+
* Supported environment modes
|
|
2102
|
+
* @constant
|
|
2102
2103
|
*/
|
|
2103
|
-
|
|
2104
|
-
|
|
2105
|
-
|
|
2106
|
-
|
|
2107
|
-
}
|
|
2108
|
-
/**
|
|
2109
|
-
*
|
|
2110
|
-
* @version 0.0.1
|
|
2111
|
-
* @since 0.0.1
|
|
2112
|
-
* @author AMBROISE PARK Consulting
|
|
2104
|
+
declare const ENVIRONMENTS: {
|
|
2105
|
+
readonly DEVELOPMENT: "development";
|
|
2106
|
+
readonly PRODUCTION: "production";
|
|
2107
|
+
readonly TEST: "test";
|
|
2108
|
+
};
|
|
2109
|
+
/**
|
|
2110
|
+
* Environment mode type derived from ENVIRONMENTS constant
|
|
2113
2111
|
*/
|
|
2114
|
-
type
|
|
2115
|
-
|
|
2116
|
-
|
|
2117
|
-
|
|
2118
|
-
|
|
2119
|
-
|
|
2120
|
-
|
|
2121
|
-
|
|
2122
|
-
|
|
2112
|
+
type EnvironmentMode = (typeof ENVIRONMENTS)[keyof typeof ENVIRONMENTS];
|
|
2113
|
+
/**
|
|
2114
|
+
* Supported execution contexts
|
|
2115
|
+
* @constant
|
|
2116
|
+
*/
|
|
2117
|
+
declare const CONTEXTS: {
|
|
2118
|
+
readonly CLIENT: "client";
|
|
2119
|
+
readonly SERVER: "server";
|
|
2120
|
+
readonly BUILD: "build";
|
|
2123
2121
|
};
|
|
2124
|
-
/**
|
|
2125
|
-
*
|
|
2126
|
-
* @version 0.0.1
|
|
2127
|
-
* @since 0.0.1
|
|
2128
|
-
* @author AMBROISE PARK Consulting
|
|
2122
|
+
/**
|
|
2123
|
+
* Context type derived from CONTEXTS constant
|
|
2129
2124
|
*/
|
|
2130
|
-
type
|
|
2131
|
-
/**
|
|
2132
|
-
*
|
|
2133
|
-
* @
|
|
2134
|
-
* @since 0.0.1
|
|
2135
|
-
* @author AMBROISE PARK Consulting
|
|
2125
|
+
type Context = (typeof CONTEXTS)[keyof typeof CONTEXTS];
|
|
2126
|
+
/**
|
|
2127
|
+
* Platform detection confidence thresholds
|
|
2128
|
+
* @constant
|
|
2136
2129
|
*/
|
|
2137
|
-
|
|
2138
|
-
|
|
2139
|
-
|
|
2140
|
-
|
|
2141
|
-
|
|
2142
|
-
|
|
2143
|
-
|
|
2144
|
-
|
|
2145
|
-
expiryYear?: number;
|
|
2146
|
-
createdAt: string;
|
|
2147
|
-
updatedAt: string;
|
|
2148
|
-
}
|
|
2149
|
-
/** Billing provider configuration interface
|
|
2150
|
-
*
|
|
2151
|
-
* @version 0.0.1
|
|
2152
|
-
* @since 0.0.1
|
|
2153
|
-
* @author AMBROISE PARK Consulting
|
|
2130
|
+
declare const CONFIDENCE_LEVELS: {
|
|
2131
|
+
readonly HIGH: 0.95;
|
|
2132
|
+
readonly MEDIUM: 0.8;
|
|
2133
|
+
readonly LOW: 0.7;
|
|
2134
|
+
readonly MINIMUM: 0.3;
|
|
2135
|
+
};
|
|
2136
|
+
/**
|
|
2137
|
+
* Confidence level type derived from CONFIDENCE_LEVELS constant
|
|
2154
2138
|
*/
|
|
2155
|
-
|
|
2156
|
-
|
|
2157
|
-
|
|
2158
|
-
|
|
2159
|
-
publishableKey?: string;
|
|
2160
|
-
testMode?: boolean;
|
|
2161
|
-
}
|
|
2162
|
-
/** Invoice interface
|
|
2139
|
+
type ConfidenceLevel = (typeof CONFIDENCE_LEVELS)[keyof typeof CONFIDENCE_LEVELS];
|
|
2140
|
+
/**
|
|
2141
|
+
* Unified feature status for all feature packages
|
|
2142
|
+
* Replaces combinatorial boolean flags (initialized, authStateChecked, loading) with single-source-of-truth enum.
|
|
2163
2143
|
*
|
|
2164
|
-
*
|
|
2165
|
-
*
|
|
2166
|
-
*
|
|
2144
|
+
* **Status values:**
|
|
2145
|
+
* - `initializing`: Feature is loading/initializing (show skeleton/loader, DON'T redirect yet)
|
|
2146
|
+
* - `ready`: Feature fully operational (check user state, redirect if needed)
|
|
2147
|
+
* - `degraded`: Feature unavailable but app continues (protected routes redirect with error, public routes allow access)
|
|
2148
|
+
* - `error`: Feature encountered recoverable error (protected routes redirect with error)
|
|
2149
|
+
*
|
|
2150
|
+
* **Usage in guards:**
|
|
2151
|
+
* - Protected routes with `degraded` status redirect to auth route with `?error=auth_unavailable`
|
|
2152
|
+
* - Protected routes with `error` status redirect to auth route with `?error=auth_error`
|
|
2153
|
+
* - `initializing` shows loader, doesn't redirect
|
|
2154
|
+
* - `ready` performs normal auth checks
|
|
2155
|
+
*
|
|
2156
|
+
* @example
|
|
2157
|
+
* ```typescript
|
|
2158
|
+
* switch (status) {
|
|
2159
|
+
* case FEATURE_STATUS.INITIALIZING: return <Skeleton />;
|
|
2160
|
+
* case FEATURE_STATUS.DEGRADED:
|
|
2161
|
+
* // Protected route → redirect with error
|
|
2162
|
+
* // Public route → allow access
|
|
2163
|
+
* return authRequired ? <Redirect to="/auth?error=auth_unavailable" /> : children;
|
|
2164
|
+
* case FEATURE_STATUS.READY: return user ? children : <Redirect />;
|
|
2165
|
+
* case FEATURE_STATUS.ERROR: return <ErrorBoundary />;
|
|
2166
|
+
* }
|
|
2167
|
+
* ```
|
|
2167
2168
|
*/
|
|
2168
|
-
|
|
2169
|
-
|
|
2170
|
-
|
|
2171
|
-
|
|
2172
|
-
|
|
2173
|
-
|
|
2174
|
-
createdAt: string;
|
|
2175
|
-
dueDate?: string;
|
|
2176
|
-
paidAt?: string;
|
|
2177
|
-
description?: string;
|
|
2178
|
-
items: InvoiceItem[];
|
|
2179
|
-
}
|
|
2169
|
+
declare const FEATURE_STATUS: {
|
|
2170
|
+
readonly INITIALIZING: "initializing";
|
|
2171
|
+
readonly READY: "ready";
|
|
2172
|
+
readonly DEGRADED: "degraded";
|
|
2173
|
+
readonly ERROR: "error";
|
|
2174
|
+
};
|
|
2180
2175
|
/**
|
|
2181
|
-
*
|
|
2182
|
-
*
|
|
2183
|
-
* @version 0.0.1
|
|
2184
|
-
* @since 0.0.1
|
|
2185
|
-
* @author AMBROISE PARK Consulting
|
|
2176
|
+
* Feature status type derived from FEATURE_STATUS constant
|
|
2186
2177
|
*/
|
|
2187
|
-
|
|
2188
|
-
id: string;
|
|
2189
|
-
description: string;
|
|
2190
|
-
amount: number;
|
|
2191
|
-
quantity: number;
|
|
2192
|
-
unitPrice: number;
|
|
2193
|
-
}
|
|
2178
|
+
type FeatureStatus = (typeof FEATURE_STATUS)[keyof typeof FEATURE_STATUS];
|
|
2194
2179
|
/**
|
|
2195
|
-
*
|
|
2196
|
-
*
|
|
2197
|
-
* @version 0.0.1
|
|
2198
|
-
* @since 0.0.1
|
|
2199
|
-
* @author AMBROISE PARK Consulting
|
|
2180
|
+
* Supported storage backend types
|
|
2181
|
+
* @constant
|
|
2200
2182
|
*/
|
|
2201
|
-
|
|
2202
|
-
|
|
2203
|
-
|
|
2204
|
-
|
|
2205
|
-
|
|
2206
|
-
|
|
2207
|
-
cancelAtPeriodEnd: boolean;
|
|
2208
|
-
canceledAt?: string;
|
|
2209
|
-
trialStart?: string;
|
|
2210
|
-
trialEnd?: string;
|
|
2211
|
-
createdAt: string;
|
|
2212
|
-
updatedAt: string;
|
|
2213
|
-
}
|
|
2183
|
+
declare const STORAGE_TYPES: {
|
|
2184
|
+
readonly LOCAL: "localStorage";
|
|
2185
|
+
readonly SESSION: "sessionStorage";
|
|
2186
|
+
readonly INDEXED_DB: "indexedDB";
|
|
2187
|
+
readonly MEMORY: "memory";
|
|
2188
|
+
};
|
|
2214
2189
|
/**
|
|
2215
|
-
*
|
|
2216
|
-
*
|
|
2217
|
-
* @version 0.0.1
|
|
2218
|
-
* @since 0.0.1
|
|
2219
|
-
* @author AMBROISE PARK Consulting
|
|
2190
|
+
* Storage type derived from STORAGE_TYPES constant
|
|
2220
2191
|
*/
|
|
2221
|
-
|
|
2222
|
-
id: string;
|
|
2223
|
-
type: string;
|
|
2224
|
-
data: {
|
|
2225
|
-
object: any;
|
|
2226
|
-
};
|
|
2227
|
-
created: number;
|
|
2228
|
-
livemode: boolean;
|
|
2229
|
-
pending_webhooks: number;
|
|
2230
|
-
request?: {
|
|
2231
|
-
id: string;
|
|
2232
|
-
idempotency_key?: string;
|
|
2233
|
-
};
|
|
2234
|
-
}
|
|
2192
|
+
type StorageType = (typeof STORAGE_TYPES)[keyof typeof STORAGE_TYPES];
|
|
2235
2193
|
/**
|
|
2236
|
-
*
|
|
2194
|
+
* Storage scope levels for data isolation
|
|
2195
|
+
* @constant
|
|
2237
2196
|
*/
|
|
2197
|
+
declare const STORAGE_SCOPES: {
|
|
2198
|
+
readonly USER: "user";
|
|
2199
|
+
readonly GLOBAL: "global";
|
|
2200
|
+
readonly SESSION: "session";
|
|
2201
|
+
};
|
|
2238
2202
|
/**
|
|
2239
|
-
*
|
|
2203
|
+
* Storage scope type derived from STORAGE_SCOPES constant
|
|
2240
2204
|
*/
|
|
2205
|
+
type StorageScope = (typeof STORAGE_SCOPES)[keyof typeof STORAGE_SCOPES];
|
|
2241
2206
|
/**
|
|
2242
|
-
*
|
|
2207
|
+
* PWA display modes
|
|
2208
|
+
* @constant
|
|
2243
2209
|
*/
|
|
2210
|
+
declare const PWA_DISPLAY_MODES: {
|
|
2211
|
+
readonly STANDALONE: "standalone";
|
|
2212
|
+
readonly FULLSCREEN: "fullscreen";
|
|
2213
|
+
readonly MINIMAL_UI: "minimal-ui";
|
|
2214
|
+
readonly BROWSER: "browser";
|
|
2215
|
+
};
|
|
2244
2216
|
/**
|
|
2245
|
-
*
|
|
2217
|
+
* PWA display mode type derived from PWA_DISPLAY_MODES constant
|
|
2246
2218
|
*/
|
|
2219
|
+
type PWADisplayMode = (typeof PWA_DISPLAY_MODES)[keyof typeof PWA_DISPLAY_MODES];
|
|
2247
2220
|
/**
|
|
2248
|
-
*
|
|
2249
|
-
*
|
|
2250
|
-
* @version 0.0.1
|
|
2251
|
-
* @since 0.0.1
|
|
2252
|
-
* @author AMBROISE PARK Consulting
|
|
2221
|
+
* PWA asset types
|
|
2222
|
+
* @constant
|
|
2253
2223
|
*/
|
|
2254
|
-
|
|
2255
|
-
|
|
2256
|
-
|
|
2224
|
+
declare const PWA_ASSET_TYPES: {
|
|
2225
|
+
readonly MANIFEST: "manifest";
|
|
2226
|
+
readonly SERVICE_WORKER: "service-worker";
|
|
2227
|
+
readonly ICON: "icon";
|
|
2228
|
+
};
|
|
2257
2229
|
/**
|
|
2258
|
-
*
|
|
2259
|
-
*
|
|
2260
|
-
* @version 0.0.1
|
|
2261
|
-
* @since 0.0.1
|
|
2262
|
-
* @author AMBROISE PARK Consulting
|
|
2230
|
+
* PWA asset type derived from PWA_ASSET_TYPES constant
|
|
2263
2231
|
*/
|
|
2264
|
-
|
|
2265
|
-
|
|
2266
|
-
|
|
2267
|
-
|
|
2268
|
-
|
|
2269
|
-
|
|
2270
|
-
|
|
2271
|
-
|
|
2272
|
-
|
|
2273
|
-
|
|
2274
|
-
|
|
2275
|
-
|
|
2276
|
-
|
|
2232
|
+
type PWAAssetType = (typeof PWA_ASSET_TYPES)[keyof typeof PWA_ASSET_TYPES];
|
|
2233
|
+
/**
|
|
2234
|
+
* Route discovery sources
|
|
2235
|
+
* @constant
|
|
2236
|
+
*/
|
|
2237
|
+
declare const ROUTE_SOURCES: {
|
|
2238
|
+
readonly AUTO: "auto-discovery";
|
|
2239
|
+
readonly MANUAL: "manual";
|
|
2240
|
+
readonly HYBRID: "hybrid";
|
|
2241
|
+
};
|
|
2242
|
+
/**
|
|
2243
|
+
* Route source type derived from ROUTE_SOURCES constant
|
|
2244
|
+
*/
|
|
2245
|
+
type RouteSource = (typeof ROUTE_SOURCES)[keyof typeof ROUTE_SOURCES];
|
|
2246
|
+
/**
|
|
2247
|
+
* Generic ID type used throughout the application
|
|
2248
|
+
* @description Currently a string, but typed for future flexibility
|
|
2249
|
+
*/
|
|
2250
|
+
type ID = string;
|
|
2251
|
+
/**
|
|
2252
|
+
* Generic timestamp format for dates and times
|
|
2253
|
+
* @description ISO 8601 string format (e.g., "2025-01-15T10:30:00.000Z")
|
|
2254
|
+
*/
|
|
2255
|
+
type Timestamp = string;
|
|
2256
|
+
/**
|
|
2257
|
+
* Generic pagination options for fetching paginated data
|
|
2258
|
+
*/
|
|
2259
|
+
interface PaginationOptions {
|
|
2260
|
+
/** The page number (1-indexed) */
|
|
2261
|
+
page: number;
|
|
2262
|
+
/** The number of items per page */
|
|
2263
|
+
pageSize: number;
|
|
2277
2264
|
}
|
|
2278
2265
|
/**
|
|
2279
|
-
*
|
|
2280
|
-
*
|
|
2281
|
-
* @version 0.0.1
|
|
2282
|
-
* @since 0.0.1
|
|
2283
|
-
* @author AMBROISE PARK Consulting
|
|
2266
|
+
* Generic API response format for consistent error handling
|
|
2267
|
+
* @template T - The type of data in the response
|
|
2284
2268
|
*/
|
|
2285
|
-
interface
|
|
2269
|
+
interface ApiResponse<T> {
|
|
2270
|
+
/** Indicates whether the operation was successful */
|
|
2286
2271
|
success: boolean;
|
|
2287
|
-
|
|
2272
|
+
/** The data returned by the operation (if successful) */
|
|
2273
|
+
data?: T;
|
|
2274
|
+
/** Error information (if the operation failed) */
|
|
2275
|
+
error?: {
|
|
2276
|
+
/** A machine-readable error code */
|
|
2277
|
+
code: string;
|
|
2278
|
+
/** A human-readable error message */
|
|
2279
|
+
message: string;
|
|
2280
|
+
};
|
|
2288
2281
|
}
|
|
2289
2282
|
/**
|
|
2290
|
-
*
|
|
2291
|
-
*
|
|
2292
|
-
* @version 0.0.1
|
|
2293
|
-
* @since 0.0.1
|
|
2294
|
-
* @author AMBROISE PARK Consulting
|
|
2283
|
+
* Basic user information that can be shared in various contexts
|
|
2295
2284
|
*/
|
|
2296
|
-
interface
|
|
2297
|
-
|
|
2285
|
+
interface BasicUserInfo {
|
|
2286
|
+
/** The unique identifier for the user */
|
|
2287
|
+
id: ID;
|
|
2288
|
+
/** The user's display name (if available) */
|
|
2289
|
+
displayName?: string | null;
|
|
2290
|
+
/** The user's email address (if available) */
|
|
2291
|
+
email?: string | null;
|
|
2292
|
+
/** The URL of the user's profile photo (if available) */
|
|
2293
|
+
photoURL?: string | null;
|
|
2298
2294
|
}
|
|
2299
2295
|
/**
|
|
2300
|
-
*
|
|
2301
|
-
*
|
|
2302
|
-
* @version 0.0.1
|
|
2303
|
-
* @since 0.0.1
|
|
2304
|
-
* @author AMBROISE PARK Consulting
|
|
2296
|
+
* Basic document with ID and timestamps
|
|
2297
|
+
* @description All entity documents in the system should extend this interface
|
|
2305
2298
|
*/
|
|
2306
|
-
interface
|
|
2307
|
-
|
|
2308
|
-
|
|
2299
|
+
interface BaseDocument {
|
|
2300
|
+
/** The unique identifier for the document */
|
|
2301
|
+
id: ID;
|
|
2302
|
+
/** When the document was created */
|
|
2303
|
+
createdAt: Timestamp;
|
|
2304
|
+
/** When the document was last updated */
|
|
2305
|
+
updatedAt: Timestamp;
|
|
2306
|
+
/** The ID of the user who created the document (if available) */
|
|
2307
|
+
createdById?: ID;
|
|
2308
|
+
/** The ID of the user who last updated the document (if available) */
|
|
2309
|
+
updatedById?: ID;
|
|
2309
2310
|
}
|
|
2310
2311
|
/**
|
|
2311
|
-
*
|
|
2312
|
-
*
|
|
2313
|
-
* @version 0.0.1
|
|
2314
|
-
* @since 0.0.1
|
|
2315
|
-
* @author AMBROISE PARK Consulting
|
|
2312
|
+
* Page-level authentication requirements
|
|
2313
|
+
* @description Used in PageMeta and NavigationRoute for route-level auth
|
|
2316
2314
|
*/
|
|
2317
|
-
type
|
|
2315
|
+
type PageAuth = boolean | {
|
|
2316
|
+
/** Whether authentication is required */
|
|
2317
|
+
required?: boolean;
|
|
2318
|
+
/** Required user role */
|
|
2319
|
+
role?: UserRole;
|
|
2320
|
+
/** Required subscription tier */
|
|
2321
|
+
tier?: SubscriptionTier;
|
|
2322
|
+
/** Custom validation function */
|
|
2323
|
+
validate?: (role: string, tier: string) => boolean;
|
|
2324
|
+
};
|
|
2318
2325
|
/**
|
|
2319
|
-
*
|
|
2326
|
+
* Page metadata interface for route discovery and configuration
|
|
2320
2327
|
*
|
|
2321
|
-
* @
|
|
2322
|
-
*
|
|
2323
|
-
*
|
|
2328
|
+
* @remarks
|
|
2329
|
+
* **ALL PROPERTIES ARE OPTIONAL** - Framework provides smart defaults:
|
|
2330
|
+
*
|
|
2331
|
+
* - `auth`: false (public) by default - YOU must specify auth requirements explicitly
|
|
2332
|
+
* - `title`: Auto-extracted from filename (ShowcasePage → "Showcase")
|
|
2333
|
+
* - `entity`: Auto-extracted from path (pages/showcase/ → "showcase")
|
|
2334
|
+
* - `action`: Auto-extracted from filename patterns (ListPage → "list", FormPage → "form")
|
|
2335
|
+
* - `route`: Only needed for custom paths or dynamic routes like :id, :slug
|
|
2336
|
+
*
|
|
2337
|
+
* @example Simple page (no meta needed):
|
|
2338
|
+
* ```tsx
|
|
2339
|
+
* export function HomePage() {
|
|
2340
|
+
* return <PageContainer>...</PageContainer>;
|
|
2341
|
+
* }
|
|
2342
|
+
* // Framework provides: auth=false, title from home.title, entity=home
|
|
2343
|
+
* ```
|
|
2344
|
+
*
|
|
2345
|
+
* @example Dynamic route (just define the path you want):
|
|
2346
|
+
* ```tsx
|
|
2347
|
+
* export const meta: PageMeta = {
|
|
2348
|
+
* route: '/blog/:slug' // Creates /blog/:slug
|
|
2349
|
+
* };
|
|
2350
|
+
* // Framework provides: auth=false, title from blog.title, entity=blog
|
|
2351
|
+
* ```
|
|
2352
|
+
*
|
|
2353
|
+
* @example Auth-required (developer must be explicit):
|
|
2354
|
+
* ```tsx
|
|
2355
|
+
* export const meta: PageMeta = {
|
|
2356
|
+
* auth: { required: true } // YOU decide what needs auth
|
|
2357
|
+
* };
|
|
2358
|
+
* ```
|
|
2324
2359
|
*/
|
|
2325
|
-
interface
|
|
2326
|
-
/**
|
|
2327
|
-
|
|
2328
|
-
/**
|
|
2329
|
-
|
|
2330
|
-
|
|
2331
|
-
userEmail: string;
|
|
2332
|
-
/** URL to redirect to on successful payment */
|
|
2333
|
-
successUrl: string;
|
|
2334
|
-
/** URL to redirect to on cancelled payment */
|
|
2335
|
-
cancelUrl: string;
|
|
2336
|
-
/** Optional metadata to attach to the session */
|
|
2337
|
-
metadata?: Record<string, string>;
|
|
2338
|
-
/** Customer email address */
|
|
2339
|
-
customerEmail?: string;
|
|
2340
|
-
/** Whether to allow promotion codes */
|
|
2341
|
-
allowPromotionCodes?: boolean;
|
|
2342
|
-
/** Trial period in days */
|
|
2343
|
-
trialPeriodDays?: number;
|
|
2344
|
-
/** Collection method for the subscription */
|
|
2345
|
-
collectionMethod?: 'charge_automatically' | 'send_invoice';
|
|
2346
|
-
/** Payment method types to allow */
|
|
2347
|
-
paymentMethodTypes?: string[];
|
|
2348
|
-
/** Billing address collection requirement */
|
|
2349
|
-
billingAddressCollection?: 'auto' | 'required';
|
|
2350
|
-
/** Tax ID collection requirement */
|
|
2351
|
-
taxIdCollection?: {
|
|
2352
|
-
enabled: boolean;
|
|
2360
|
+
interface PageMeta {
|
|
2361
|
+
/** Authentication requirements for this route */
|
|
2362
|
+
auth?: PageAuth;
|
|
2363
|
+
/** Route configuration - just define the exact path you want */
|
|
2364
|
+
route?: string | {
|
|
2365
|
+
params?: string[];
|
|
2353
2366
|
};
|
|
2354
|
-
/**
|
|
2355
|
-
|
|
2367
|
+
/** Page title (optional - framework auto-extracts from filename if not provided) */
|
|
2368
|
+
title?: string;
|
|
2369
|
+
/**
|
|
2370
|
+
* Translation/SEO namespace for this page
|
|
2371
|
+
* @description Used for meta tags and translations
|
|
2372
|
+
*/
|
|
2373
|
+
namespace?: string;
|
|
2374
|
+
/**
|
|
2375
|
+
* Icon for navigation (optional - framework provides smart defaults)
|
|
2376
|
+
* @description **ONLY lucide-react JSX components** - extracted as component name string at build time for tree-shaking.
|
|
2377
|
+
*
|
|
2378
|
+
* **RESTRICTIONS:**
|
|
2379
|
+
* - ✅ Only: `<Rocket />`, `<ShoppingCart />`, `<Home />` (lucide-react JSX components)
|
|
2380
|
+
* - ❌ NOT: Emojis (`"🚀"`), strings (`"Rocket"`), or custom ReactNode
|
|
2381
|
+
*
|
|
2382
|
+
* **Why?** This is for build-time extraction and tree-shaking. The component name is extracted and stored as a string.
|
|
2383
|
+
*
|
|
2384
|
+
* **For flexible icons** (emojis, strings, custom components), use the `Icon` component directly in your JSX, not in PageMeta.
|
|
2385
|
+
*
|
|
2386
|
+
* @example
|
|
2387
|
+
* ```tsx
|
|
2388
|
+
* import { Rocket } from 'lucide-react';
|
|
2389
|
+
* export const meta: PageMeta = {
|
|
2390
|
+
* icon: <Rocket /> // ✅ Correct - lucide-react component
|
|
2391
|
+
* };
|
|
2392
|
+
* ```
|
|
2393
|
+
*
|
|
2394
|
+
* @example
|
|
2395
|
+
* ```tsx
|
|
2396
|
+
* // ❌ WRONG - Don't use emojis or strings in PageMeta
|
|
2397
|
+
* export const meta: PageMeta = {
|
|
2398
|
+
* icon: "🚀" // ❌ Not supported in PageMeta
|
|
2399
|
+
* };
|
|
2400
|
+
* ```
|
|
2401
|
+
*/
|
|
2402
|
+
icon?: ReactNode;
|
|
2403
|
+
/**
|
|
2404
|
+
* Hide from navigation menu (default: false - shows in navigation)
|
|
2405
|
+
* @description Set to true to exclude this route from navigation menus
|
|
2406
|
+
* @default false
|
|
2407
|
+
* @example
|
|
2408
|
+
* ```tsx
|
|
2409
|
+
* export const meta: PageMeta = {
|
|
2410
|
+
* hideFromMenu: true // Won't appear in HeaderNavigation, Sidebar, etc.
|
|
2411
|
+
* };
|
|
2412
|
+
* ```
|
|
2413
|
+
*/
|
|
2414
|
+
hideFromMenu?: boolean;
|
|
2356
2415
|
}
|
|
2357
2416
|
/**
|
|
2358
|
-
*
|
|
2417
|
+
* Route metadata (discovery-generated)
|
|
2418
|
+
* @description Complete route metadata including auto-discovered fields from RouteDiscovery
|
|
2419
|
+
*
|
|
2420
|
+
* This extends PageMeta with fields that are automatically discovered from file paths:
|
|
2421
|
+
* - `entity`: Auto-extracted from path (pages/showcase/ → "showcase")
|
|
2422
|
+
* - `action`: Auto-extracted from filename patterns (ListPage → "list", FormPage → "form")
|
|
2423
|
+
*
|
|
2424
|
+
* These fields are always present in discovered routes but cannot be set in PageMeta.
|
|
2359
2425
|
*
|
|
2360
2426
|
* @version 0.0.1
|
|
2361
2427
|
* @since 0.0.1
|
|
2362
2428
|
* @author AMBROISE PARK Consulting
|
|
2363
2429
|
*/
|
|
2364
|
-
interface
|
|
2365
|
-
/**
|
|
2366
|
-
|
|
2367
|
-
/**
|
|
2368
|
-
|
|
2369
|
-
/**
|
|
2370
|
-
|
|
2371
|
-
/** Error message if creation failed */
|
|
2372
|
-
error?: string;
|
|
2430
|
+
interface RouteMeta extends PageMeta {
|
|
2431
|
+
/** Entity/domain grouping - auto-discovered from file path (not user-configurable) */
|
|
2432
|
+
entity?: string;
|
|
2433
|
+
/** Action type for route categorization - auto-discovered from filename patterns (not user-configurable) */
|
|
2434
|
+
action?: string | null;
|
|
2435
|
+
/** File path where route was discovered */
|
|
2436
|
+
file?: string;
|
|
2373
2437
|
}
|
|
2374
2438
|
/**
|
|
2375
|
-
*
|
|
2376
|
-
*
|
|
2377
|
-
* @version 0.0.1
|
|
2378
|
-
* @since 0.0.1
|
|
2379
|
-
* @author AMBROISE PARK Consulting
|
|
2439
|
+
* Navigation route interface
|
|
2440
|
+
* @description Single source of truth for all navigation routes
|
|
2380
2441
|
*/
|
|
2381
|
-
interface
|
|
2382
|
-
/**
|
|
2383
|
-
|
|
2384
|
-
/**
|
|
2385
|
-
|
|
2386
|
-
/**
|
|
2387
|
-
|
|
2388
|
-
/**
|
|
2389
|
-
|
|
2390
|
-
/**
|
|
2391
|
-
|
|
2392
|
-
/**
|
|
2393
|
-
|
|
2394
|
-
/**
|
|
2395
|
-
|
|
2396
|
-
/**
|
|
2397
|
-
|
|
2398
|
-
/**
|
|
2399
|
-
|
|
2400
|
-
/** When the subscription was created */
|
|
2401
|
-
created: number;
|
|
2402
|
-
/** When the subscription was last updated */
|
|
2403
|
-
updated: number;
|
|
2404
|
-
/** Subscription items */
|
|
2405
|
-
items: {
|
|
2406
|
-
data: Array<{
|
|
2407
|
-
id: string;
|
|
2408
|
-
price: {
|
|
2409
|
-
id: string;
|
|
2410
|
-
unit_amount: number;
|
|
2411
|
-
currency: string;
|
|
2412
|
-
recurring: {
|
|
2413
|
-
interval: 'day' | 'week' | 'month' | 'year';
|
|
2414
|
-
interval_count: number;
|
|
2415
|
-
};
|
|
2416
|
-
product: string;
|
|
2417
|
-
};
|
|
2418
|
-
quantity: number;
|
|
2419
|
-
}>;
|
|
2420
|
-
};
|
|
2421
|
-
/** Default payment method */
|
|
2422
|
-
default_payment_method?: string;
|
|
2423
|
-
/** Collection method */
|
|
2424
|
-
collection_method: 'charge_automatically' | 'send_invoice';
|
|
2425
|
-
/** Days until due for invoices */
|
|
2426
|
-
days_until_due?: number;
|
|
2427
|
-
/** Subscription metadata */
|
|
2428
|
-
metadata: Record<string, string>;
|
|
2442
|
+
interface NavigationRoute {
|
|
2443
|
+
/** Route path */
|
|
2444
|
+
path: string;
|
|
2445
|
+
/** Display label for navigation */
|
|
2446
|
+
label: string;
|
|
2447
|
+
/** Optional icon identifier or component */
|
|
2448
|
+
icon?: string | ReactNode;
|
|
2449
|
+
/** Whether route is external */
|
|
2450
|
+
external?: boolean;
|
|
2451
|
+
/** Whether route is disabled */
|
|
2452
|
+
disabled?: boolean;
|
|
2453
|
+
/** Badge content for notifications */
|
|
2454
|
+
badge?: string | number;
|
|
2455
|
+
/** Authentication configuration */
|
|
2456
|
+
auth?: PageAuth;
|
|
2457
|
+
/** Route metadata (includes auto-discovered fields) */
|
|
2458
|
+
meta?: RouteMeta;
|
|
2459
|
+
/** Nested child routes */
|
|
2460
|
+
children?: NavigationRoute[];
|
|
2429
2461
|
}
|
|
2430
2462
|
/**
|
|
2431
|
-
*
|
|
2432
|
-
*
|
|
2433
|
-
* @version 0.0.1
|
|
2434
|
-
* @since 0.0.1
|
|
2435
|
-
* @author AMBROISE PARK Consulting
|
|
2463
|
+
* Storage options for get/set operations
|
|
2436
2464
|
*/
|
|
2437
|
-
interface
|
|
2438
|
-
/**
|
|
2439
|
-
|
|
2440
|
-
|
|
2441
|
-
|
|
2442
|
-
|
|
2443
|
-
|
|
2444
|
-
|
|
2445
|
-
|
|
2446
|
-
|
|
2447
|
-
|
|
2448
|
-
|
|
2449
|
-
|
|
2450
|
-
|
|
2451
|
-
|
|
2452
|
-
|
|
2453
|
-
|
|
2454
|
-
|
|
2455
|
-
|
|
2456
|
-
|
|
2457
|
-
|
|
2458
|
-
dynamic_last4?: string;
|
|
2459
|
-
};
|
|
2460
|
-
};
|
|
2461
|
-
/** Bank account details (if type is 'bank_account') */
|
|
2462
|
-
bank_account?: {
|
|
2463
|
-
account_holder_type: 'individual' | 'company';
|
|
2464
|
-
bank_name: string;
|
|
2465
|
-
country: string;
|
|
2466
|
-
currency: string;
|
|
2467
|
-
fingerprint: string;
|
|
2468
|
-
last4: string;
|
|
2469
|
-
routing_number: string;
|
|
2470
|
-
status: 'new' | 'validated' | 'verified' | 'verification_failed' | 'errored';
|
|
2471
|
-
};
|
|
2472
|
-
/** Billing details */
|
|
2473
|
-
billing_details: {
|
|
2474
|
-
address?: {
|
|
2475
|
-
city?: string;
|
|
2476
|
-
country?: string;
|
|
2477
|
-
line1?: string;
|
|
2478
|
-
line2?: string;
|
|
2479
|
-
postal_code?: string;
|
|
2480
|
-
state?: string;
|
|
2481
|
-
};
|
|
2482
|
-
email?: string;
|
|
2483
|
-
name?: string;
|
|
2484
|
-
phone?: string;
|
|
2485
|
-
};
|
|
2486
|
-
/** When the payment method was created */
|
|
2487
|
-
created: number;
|
|
2488
|
-
/** Whether this is the default payment method */
|
|
2489
|
-
is_default?: boolean;
|
|
2490
|
-
/** Payment method metadata */
|
|
2491
|
-
metadata: Record<string, string>;
|
|
2465
|
+
interface StorageOptions {
|
|
2466
|
+
/**
|
|
2467
|
+
* Whether to encrypt the data
|
|
2468
|
+
* @default false for most data, true for sensitive data
|
|
2469
|
+
*/
|
|
2470
|
+
encryption?: boolean;
|
|
2471
|
+
/**
|
|
2472
|
+
* Time in seconds after which the data expires
|
|
2473
|
+
* @description Set to 0 for no expiration
|
|
2474
|
+
* @default 0
|
|
2475
|
+
*/
|
|
2476
|
+
expiry?: number;
|
|
2477
|
+
/**
|
|
2478
|
+
* Storage scope for data isolation
|
|
2479
|
+
* @description
|
|
2480
|
+
* - 'user': User-specific data, tied to user ID (requires auth)
|
|
2481
|
+
* - 'global': Application-wide data, not tied to specific user
|
|
2482
|
+
* - 'session': Session-only data, cleared on logout/browser close
|
|
2483
|
+
* @default 'user'
|
|
2484
|
+
*/
|
|
2485
|
+
scope?: StorageScope;
|
|
2492
2486
|
}
|
|
2493
2487
|
/**
|
|
2494
|
-
*
|
|
2495
|
-
*
|
|
2496
|
-
* @version 0.0.1
|
|
2497
|
-
* @since 0.0.1
|
|
2498
|
-
* @author AMBROISE PARK Consulting
|
|
2488
|
+
* Storage manager interface
|
|
2489
|
+
* @description Main interface for all storage operations
|
|
2499
2490
|
*/
|
|
2500
|
-
interface
|
|
2501
|
-
/**
|
|
2502
|
-
|
|
2503
|
-
|
|
2504
|
-
|
|
2505
|
-
|
|
2506
|
-
|
|
2507
|
-
|
|
2508
|
-
|
|
2509
|
-
|
|
2510
|
-
|
|
2511
|
-
|
|
2512
|
-
|
|
2513
|
-
|
|
2514
|
-
|
|
2515
|
-
|
|
2516
|
-
|
|
2517
|
-
|
|
2518
|
-
|
|
2519
|
-
|
|
2520
|
-
|
|
2521
|
-
|
|
2522
|
-
|
|
2523
|
-
|
|
2524
|
-
|
|
2525
|
-
|
|
2526
|
-
|
|
2527
|
-
|
|
2528
|
-
|
|
2529
|
-
|
|
2530
|
-
|
|
2531
|
-
|
|
2532
|
-
|
|
2533
|
-
|
|
2534
|
-
|
|
2535
|
-
|
|
2536
|
-
|
|
2537
|
-
|
|
2538
|
-
|
|
2539
|
-
|
|
2540
|
-
|
|
2541
|
-
|
|
2542
|
-
|
|
2543
|
-
|
|
2544
|
-
|
|
2545
|
-
};
|
|
2546
|
-
/** Invoice metadata */
|
|
2547
|
-
metadata: Record<string, string>;
|
|
2548
|
-
/** Subscription ID (if applicable) */
|
|
2549
|
-
subscription?: string;
|
|
2550
|
-
/** Total amount */
|
|
2551
|
-
total: number;
|
|
2552
|
-
/** Tax amount */
|
|
2553
|
-
tax?: number;
|
|
2554
|
-
/** Tax rate applied */
|
|
2555
|
-
tax_rate?: number;
|
|
2491
|
+
interface IStorageManager {
|
|
2492
|
+
/**
|
|
2493
|
+
* Retrieve data from storage
|
|
2494
|
+
* @param key - Storage key
|
|
2495
|
+
* @param options - Storage options
|
|
2496
|
+
* @returns Promise resolving to the stored data or null if not found
|
|
2497
|
+
*/
|
|
2498
|
+
get<T>(key: string, options?: StorageOptions): Promise<T | null>;
|
|
2499
|
+
/**
|
|
2500
|
+
* Store data
|
|
2501
|
+
* @param key - Storage key
|
|
2502
|
+
* @param value - Data to store
|
|
2503
|
+
* @param options - Storage options
|
|
2504
|
+
* @returns Promise resolving when data is stored
|
|
2505
|
+
*/
|
|
2506
|
+
set<T>(key: string, value: T, options?: StorageOptions): Promise<void>;
|
|
2507
|
+
/**
|
|
2508
|
+
* Remove data from storage
|
|
2509
|
+
* @param key - Storage key
|
|
2510
|
+
* @returns Promise resolving when data is removed
|
|
2511
|
+
*/
|
|
2512
|
+
remove(key: string): Promise<void>;
|
|
2513
|
+
/**
|
|
2514
|
+
* Clear all data in the specified scope
|
|
2515
|
+
* @param scope - Scope to clear, or all scopes if not specified
|
|
2516
|
+
* @returns Promise resolving when data is cleared
|
|
2517
|
+
*/
|
|
2518
|
+
clear(scope?: StorageScope): Promise<void>;
|
|
2519
|
+
/**
|
|
2520
|
+
* Store sensitive data with encryption
|
|
2521
|
+
* @description Shorthand for set() with encryption=true
|
|
2522
|
+
* @param key - Storage key
|
|
2523
|
+
* @param value - Data to store
|
|
2524
|
+
* @param options - Storage options (encryption will be set to true)
|
|
2525
|
+
* @returns Promise resolving when data is stored
|
|
2526
|
+
*/
|
|
2527
|
+
setSecure<T>(key: string, value: T, options?: Omit<StorageOptions, 'encryption'>): Promise<void>;
|
|
2528
|
+
/**
|
|
2529
|
+
* Retrieve sensitive data with decryption
|
|
2530
|
+
* @description Shorthand for get() with encryption=true
|
|
2531
|
+
* @param key - Storage key
|
|
2532
|
+
* @param options - Storage options (encryption will be set to true)
|
|
2533
|
+
* @returns Promise resolving to the decrypted data or null if not found
|
|
2534
|
+
*/
|
|
2535
|
+
getSecure<T>(key: string, options?: Omit<StorageOptions, 'encryption'>): Promise<T | null>;
|
|
2556
2536
|
}
|
|
2557
2537
|
/**
|
|
2558
|
-
*
|
|
2559
|
-
*
|
|
2560
|
-
* @version 0.0.1
|
|
2561
|
-
* @since 0.0.1
|
|
2562
|
-
* @author AMBROISE PARK Consulting
|
|
2538
|
+
* Storage strategy interface
|
|
2539
|
+
* @description Used by StorageManager to delegate storage operations
|
|
2563
2540
|
*/
|
|
2564
|
-
interface
|
|
2565
|
-
/**
|
|
2566
|
-
|
|
2567
|
-
|
|
2568
|
-
|
|
2569
|
-
|
|
2570
|
-
|
|
2571
|
-
|
|
2572
|
-
|
|
2573
|
-
|
|
2574
|
-
|
|
2575
|
-
|
|
2576
|
-
|
|
2577
|
-
|
|
2578
|
-
|
|
2579
|
-
|
|
2580
|
-
|
|
2581
|
-
|
|
2582
|
-
|
|
2541
|
+
interface IStorageStrategy {
|
|
2542
|
+
/**
|
|
2543
|
+
* Retrieve data from storage
|
|
2544
|
+
* @param key - Storage key
|
|
2545
|
+
* @param options - Storage options
|
|
2546
|
+
* @returns Promise resolving to the stored data or null if not found
|
|
2547
|
+
*/
|
|
2548
|
+
get<T>(key: string, options?: StorageOptions): Promise<T | null>;
|
|
2549
|
+
/**
|
|
2550
|
+
* Store data
|
|
2551
|
+
* @param key - Storage key
|
|
2552
|
+
* @param value - Data to store
|
|
2553
|
+
* @param options - Storage options
|
|
2554
|
+
* @returns Promise resolving when data is stored
|
|
2555
|
+
*/
|
|
2556
|
+
set<T>(key: string, value: T, options?: StorageOptions): Promise<void>;
|
|
2557
|
+
/**
|
|
2558
|
+
* Remove data from storage
|
|
2559
|
+
* @param key - Storage key
|
|
2560
|
+
* @returns Promise resolving when data is removed
|
|
2561
|
+
*/
|
|
2562
|
+
remove(key: string): Promise<void>;
|
|
2563
|
+
/**
|
|
2564
|
+
* Clear all data in the specified scope
|
|
2565
|
+
* @param scope - Scope to clear, or all scopes if not specified
|
|
2566
|
+
* @returns Promise resolving when data is cleared
|
|
2567
|
+
*/
|
|
2568
|
+
clear(scope?: StorageScope): Promise<void>;
|
|
2569
|
+
}
|
|
2570
|
+
/**
|
|
2571
|
+
* i18n Plugin Configuration
|
|
2572
|
+
* @description Configuration for internationalization system
|
|
2573
|
+
*/
|
|
2574
|
+
interface I18nPluginConfig {
|
|
2575
|
+
/** Mapping of language → namespace → loader function */
|
|
2576
|
+
mapping: Record<string, Record<string, () => Promise<any>>>;
|
|
2577
|
+
/** List of available language codes */
|
|
2578
|
+
languages: string[];
|
|
2579
|
+
/** List of eagerly loaded namespace identifiers */
|
|
2580
|
+
eager: string[];
|
|
2581
|
+
/** Fallback language code */
|
|
2582
|
+
fallback: string;
|
|
2583
|
+
/** Preloaded translation content (optional) */
|
|
2584
|
+
content?: Record<string, Record<string, any>>;
|
|
2585
|
+
/** Storage configuration */
|
|
2586
|
+
storage: {
|
|
2587
|
+
/** Storage backend type */
|
|
2588
|
+
type: StorageType;
|
|
2589
|
+
/** Storage key prefix */
|
|
2590
|
+
prefix: string;
|
|
2591
|
+
/** Time-to-live in seconds */
|
|
2592
|
+
ttl: number;
|
|
2593
|
+
/** Whether to encrypt stored data */
|
|
2594
|
+
encryption: boolean;
|
|
2595
|
+
/** Maximum storage size in bytes */
|
|
2596
|
+
maxSize: number;
|
|
2583
2597
|
};
|
|
2584
|
-
/**
|
|
2585
|
-
|
|
2586
|
-
|
|
2587
|
-
|
|
2588
|
-
|
|
2589
|
-
|
|
2590
|
-
|
|
2591
|
-
|
|
2592
|
-
|
|
2593
|
-
|
|
2594
|
-
|
|
2595
|
-
|
|
2596
|
-
|
|
2597
|
-
|
|
2598
|
-
|
|
2599
|
-
|
|
2600
|
-
|
|
2601
|
-
|
|
2602
|
-
|
|
2603
|
-
|
|
2604
|
-
|
|
2598
|
+
/** Performance configuration */
|
|
2599
|
+
performance: {
|
|
2600
|
+
/** Maximum cache size */
|
|
2601
|
+
cacheSize: number;
|
|
2602
|
+
/** Error cache TTL in seconds */
|
|
2603
|
+
errorCacheTTL: number;
|
|
2604
|
+
};
|
|
2605
|
+
/** Discovery manifest metadata */
|
|
2606
|
+
manifest: {
|
|
2607
|
+
/** Total number of translation files */
|
|
2608
|
+
totalFiles: number;
|
|
2609
|
+
/** Total number of namespaces */
|
|
2610
|
+
totalNamespaces: number;
|
|
2611
|
+
/** Total number of languages */
|
|
2612
|
+
totalLanguages: number;
|
|
2613
|
+
/** Number of eagerly loaded namespaces */
|
|
2614
|
+
eagerNamespaces: number;
|
|
2615
|
+
/** ISO timestamp of generation */
|
|
2616
|
+
generatedAt: string;
|
|
2617
|
+
};
|
|
2618
|
+
/** Whether debug mode is enabled */
|
|
2619
|
+
debug: boolean;
|
|
2620
|
+
}
|
|
2621
|
+
/**
|
|
2622
|
+
* Routes Plugin Configuration
|
|
2623
|
+
* @description Complete route configuration populated by discovery system
|
|
2624
|
+
*/
|
|
2625
|
+
interface RoutesPluginConfig {
|
|
2626
|
+
/**
|
|
2627
|
+
* Array of discovered routes
|
|
2628
|
+
* @description All routes discovered by the route discovery system
|
|
2629
|
+
*/
|
|
2630
|
+
mapping: Array<{
|
|
2631
|
+
/**
|
|
2632
|
+
* URL path for the route (platform-agnostic)
|
|
2633
|
+
* @description The URL path that users see in their browser
|
|
2634
|
+
* @example '/showcase/layouts', '/users/:id', '/dashboard'
|
|
2635
|
+
*/
|
|
2636
|
+
path: string;
|
|
2637
|
+
/**
|
|
2638
|
+
* Lazy component reference (Vite-specific)
|
|
2639
|
+
* @description React.lazy() component for code splitting
|
|
2640
|
+
* @example lazy(() => import("/src/pages/showcase/LayoutsPage"))
|
|
2641
|
+
*/
|
|
2642
|
+
component: any;
|
|
2643
|
+
/**
|
|
2644
|
+
* Absolute file system path (Next.js-specific)
|
|
2645
|
+
* @description The absolute path to the component file
|
|
2646
|
+
* @example '/src/pages/showcase/LayoutsPage.tsx'
|
|
2647
|
+
*/
|
|
2648
|
+
importPath: string;
|
|
2649
|
+
/**
|
|
2650
|
+
* Export name for named exports
|
|
2651
|
+
* @example 'HomePage', 'AboutPage'
|
|
2652
|
+
*/
|
|
2653
|
+
exportName?: string;
|
|
2654
|
+
/**
|
|
2655
|
+
* Authentication configuration (platform-agnostic)
|
|
2656
|
+
* @description Defines whether the route requires authentication
|
|
2657
|
+
*/
|
|
2658
|
+
auth: PageAuth;
|
|
2659
|
+
/**
|
|
2660
|
+
* Route metadata (platform-agnostic)
|
|
2661
|
+
* @description Additional information about the route, including auto-discovered fields
|
|
2662
|
+
*/
|
|
2663
|
+
meta: RouteMeta;
|
|
2664
|
+
}>;
|
|
2665
|
+
/**
|
|
2666
|
+
* Discovery metadata and statistics
|
|
2667
|
+
* @description Information about the route discovery process
|
|
2668
|
+
*/
|
|
2669
|
+
manifest: {
|
|
2670
|
+
/** Total number of discovered routes */
|
|
2671
|
+
totalRoutes: number;
|
|
2672
|
+
/** Number of routes requiring authentication */
|
|
2673
|
+
authRequired: number;
|
|
2674
|
+
/** Number of public routes */
|
|
2675
|
+
publicRoutes: number;
|
|
2676
|
+
/** Source of routes (auto-discovery vs manual) */
|
|
2677
|
+
source: RouteSource;
|
|
2678
|
+
/** ISO timestamp when routes were generated */
|
|
2679
|
+
generatedAt: string;
|
|
2605
2680
|
};
|
|
2606
2681
|
}
|
|
2607
2682
|
/**
|
|
2608
|
-
*
|
|
2609
|
-
*
|
|
2610
|
-
* @version 0.0.1
|
|
2611
|
-
* @since 0.0.1
|
|
2612
|
-
* @author AMBROISE PARK Consulting
|
|
2683
|
+
* Themes Plugin Configuration
|
|
2684
|
+
* @description Configuration for theme discovery and management
|
|
2613
2685
|
*/
|
|
2614
|
-
interface
|
|
2615
|
-
/**
|
|
2616
|
-
|
|
2617
|
-
/**
|
|
2618
|
-
|
|
2619
|
-
|
|
2620
|
-
|
|
2621
|
-
|
|
2622
|
-
|
|
2623
|
-
|
|
2624
|
-
|
|
2625
|
-
|
|
2626
|
-
|
|
2627
|
-
|
|
2628
|
-
|
|
2629
|
-
|
|
2630
|
-
|
|
2631
|
-
|
|
2632
|
-
|
|
2633
|
-
|
|
2634
|
-
|
|
2635
|
-
|
|
2636
|
-
|
|
2637
|
-
|
|
2638
|
-
|
|
2639
|
-
|
|
2640
|
-
|
|
2686
|
+
interface ThemesPluginConfig {
|
|
2687
|
+
/** Mapping of theme names to theme configurations */
|
|
2688
|
+
mapping: Record<string, any>;
|
|
2689
|
+
/** Array of discovered themes */
|
|
2690
|
+
discovered: Array<{
|
|
2691
|
+
/** Theme identifier */
|
|
2692
|
+
name: string;
|
|
2693
|
+
/** Human-readable theme name */
|
|
2694
|
+
displayName: string;
|
|
2695
|
+
/** Whether this is a dark theme */
|
|
2696
|
+
isDark: boolean;
|
|
2697
|
+
/** Theme metadata */
|
|
2698
|
+
meta: {
|
|
2699
|
+
/** Icon identifier */
|
|
2700
|
+
icon: string;
|
|
2701
|
+
/** Theme description */
|
|
2702
|
+
description?: string;
|
|
2703
|
+
/** Theme category */
|
|
2704
|
+
category?: string;
|
|
2705
|
+
/** Theme author */
|
|
2706
|
+
author?: string;
|
|
2707
|
+
/** Additional metadata */
|
|
2708
|
+
[key: string]: any;
|
|
2709
|
+
};
|
|
2710
|
+
/** Source file path */
|
|
2711
|
+
source: string;
|
|
2712
|
+
/** Whether theme is essential (cannot be disabled) */
|
|
2713
|
+
essential: boolean;
|
|
2714
|
+
}>;
|
|
2715
|
+
/** CSS custom property variables */
|
|
2716
|
+
variables: Record<string, string>;
|
|
2717
|
+
/** Utility class mappings */
|
|
2718
|
+
utilities: Record<string, Record<string, string>>;
|
|
2719
|
+
/** Discovery manifest metadata */
|
|
2720
|
+
manifest: {
|
|
2721
|
+
/** Total number of discovered themes */
|
|
2722
|
+
totalThemes: number;
|
|
2723
|
+
/** Total number of CSS variables */
|
|
2724
|
+
totalVariables: number;
|
|
2725
|
+
/** Total number of utility classes */
|
|
2726
|
+
totalUtilities: number;
|
|
2727
|
+
/** ISO timestamp of generation */
|
|
2728
|
+
generatedAt: string;
|
|
2729
|
+
};
|
|
2641
2730
|
}
|
|
2642
2731
|
/**
|
|
2643
|
-
*
|
|
2644
|
-
*
|
|
2645
|
-
* @version 0.0.1
|
|
2646
|
-
* @since 0.0.1
|
|
2647
|
-
* @author AMBROISE PARK Consulting
|
|
2732
|
+
* Assets Plugin Configuration
|
|
2733
|
+
* @description Configuration for static asset management
|
|
2648
2734
|
*/
|
|
2649
|
-
interface
|
|
2650
|
-
/**
|
|
2651
|
-
|
|
2652
|
-
/**
|
|
2653
|
-
|
|
2654
|
-
/**
|
|
2655
|
-
|
|
2656
|
-
|
|
2657
|
-
|
|
2658
|
-
|
|
2659
|
-
|
|
2660
|
-
/** Recurring interval (if type is 'recurring') */
|
|
2661
|
-
recurring?: {
|
|
2662
|
-
interval: 'day' | 'week' | 'month' | 'year';
|
|
2663
|
-
interval_count: number;
|
|
2664
|
-
trial_period_days?: number;
|
|
2665
|
-
usage_type: 'licensed' | 'metered';
|
|
2666
|
-
};
|
|
2667
|
-
/** Whether the price is active */
|
|
2668
|
-
active: boolean;
|
|
2669
|
-
/** When the price was created */
|
|
2670
|
-
created: number;
|
|
2671
|
-
/** When the price was last updated */
|
|
2672
|
-
updated: number;
|
|
2673
|
-
/** Price metadata */
|
|
2674
|
-
metadata: Record<string, string>;
|
|
2675
|
-
/** Price nickname */
|
|
2676
|
-
nickname?: string;
|
|
2677
|
-
/** Price tiers (for graduated pricing) */
|
|
2678
|
-
tiers?: Array<{
|
|
2679
|
-
up_to: number | 'inf';
|
|
2680
|
-
unit_amount: number;
|
|
2681
|
-
flat_amount?: number;
|
|
2682
|
-
}>;
|
|
2683
|
-
/** Price tiers mode */
|
|
2684
|
-
tiers_mode?: 'graduated' | 'volume';
|
|
2685
|
-
/** Price transform quantity */
|
|
2686
|
-
transform_quantity?: {
|
|
2687
|
-
divide_by: number;
|
|
2688
|
-
round: 'up' | 'down';
|
|
2735
|
+
interface AssetsPluginConfig {
|
|
2736
|
+
/** Mapping of asset paths to asset metadata */
|
|
2737
|
+
mapping: Record<string, any>;
|
|
2738
|
+
/** SVG content of logo.svg for inline rendering with CSS variable theming */
|
|
2739
|
+
logoSvgContent?: string | null;
|
|
2740
|
+
/** Discovery manifest metadata */
|
|
2741
|
+
manifest: {
|
|
2742
|
+
/** Total number of discovered assets */
|
|
2743
|
+
totalAssets: number;
|
|
2744
|
+
/** ISO timestamp of generation */
|
|
2745
|
+
generatedAt: string;
|
|
2689
2746
|
};
|
|
2690
|
-
/** Price lookup key */
|
|
2691
|
-
lookup_key?: string;
|
|
2692
2747
|
}
|
|
2693
2748
|
/**
|
|
2694
|
-
*
|
|
2695
|
-
*
|
|
2696
|
-
* @version 0.0.1
|
|
2697
|
-
* @since 0.0.1
|
|
2698
|
-
* @author AMBROISE PARK Consulting
|
|
2749
|
+
* PWA Plugin Configuration
|
|
2750
|
+
* @description Configuration for Progressive Web App features
|
|
2699
2751
|
*/
|
|
2700
|
-
interface
|
|
2701
|
-
|
|
2702
|
-
|
|
2703
|
-
|
|
2704
|
-
|
|
2705
|
-
|
|
2706
|
-
|
|
2752
|
+
interface PWAPluginConfig {
|
|
2753
|
+
/** Array of PWA assets */
|
|
2754
|
+
assets: Array<{
|
|
2755
|
+
/** Type of PWA asset */
|
|
2756
|
+
type: PWAAssetType;
|
|
2757
|
+
/** Asset file path */
|
|
2758
|
+
path: string;
|
|
2759
|
+
/** Asset file size in bytes */
|
|
2760
|
+
size?: number;
|
|
2761
|
+
/** Asset content (for inline assets) */
|
|
2762
|
+
content?: any;
|
|
2763
|
+
/** Asset format (for images) */
|
|
2764
|
+
format?: string;
|
|
2765
|
+
/** Asset purpose (for icons) */
|
|
2766
|
+
purpose?: string;
|
|
2767
|
+
}>;
|
|
2768
|
+
/** PWA manifest configuration */
|
|
2769
|
+
manifest: {
|
|
2770
|
+
/** Application name */
|
|
2771
|
+
name: string;
|
|
2772
|
+
/** Short application name */
|
|
2773
|
+
short_name: string;
|
|
2774
|
+
/** Application description */
|
|
2775
|
+
description: string;
|
|
2776
|
+
/** Start URL */
|
|
2777
|
+
start_url: string;
|
|
2778
|
+
/** Display mode */
|
|
2779
|
+
display: PWADisplayMode;
|
|
2780
|
+
/** Background color */
|
|
2781
|
+
background_color: string;
|
|
2782
|
+
/** Theme color */
|
|
2783
|
+
theme_color: string;
|
|
2784
|
+
/** Array of app icons */
|
|
2785
|
+
icons: Array<{
|
|
2786
|
+
/** Icon source path */
|
|
2787
|
+
src: string;
|
|
2788
|
+
/** Icon sizes (e.g., '192x192') */
|
|
2789
|
+
sizes: string;
|
|
2790
|
+
/** Icon MIME type */
|
|
2791
|
+
type: string;
|
|
2792
|
+
/** Icon purpose (e.g., 'any', 'maskable') */
|
|
2793
|
+
purpose: string;
|
|
2794
|
+
}>;
|
|
2795
|
+
};
|
|
2796
|
+
/** Discovery manifest metadata */
|
|
2797
|
+
manifestInfo: {
|
|
2798
|
+
/** Total number of PWA assets */
|
|
2799
|
+
totalAssets: number;
|
|
2800
|
+
/** Total number of icons */
|
|
2801
|
+
totalIcons: number;
|
|
2802
|
+
/** Whether service worker is present */
|
|
2803
|
+
hasServiceWorker: boolean;
|
|
2804
|
+
/** ISO timestamp of generation */
|
|
2805
|
+
generatedAt: string;
|
|
2806
|
+
};
|
|
2707
2807
|
}
|
|
2708
2808
|
/**
|
|
2709
|
-
*
|
|
2809
|
+
* Features Plugin Configuration
|
|
2810
|
+
* @description Configuration for feature discovery and enablement
|
|
2710
2811
|
*
|
|
2711
|
-
* @
|
|
2712
|
-
*
|
|
2713
|
-
*
|
|
2714
|
-
|
|
2715
|
-
|
|
2716
|
-
|
|
2717
|
-
|
|
2718
|
-
|
|
2719
|
-
|
|
2720
|
-
|
|
2721
|
-
|
|
2722
|
-
|
|
2723
|
-
|
|
2724
|
-
|
|
2725
|
-
|
|
2726
|
-
|
|
2727
|
-
|
|
2728
|
-
|
|
2729
|
-
|
|
2812
|
+
* @remarks
|
|
2813
|
+
* This interface defines the structure for feature discovery data that is populated
|
|
2814
|
+
* at build time and made available at runtime for feature availability checking.
|
|
2815
|
+
*
|
|
2816
|
+
* @example
|
|
2817
|
+
* ```typescript
|
|
2818
|
+
* // Generated by feature discovery system
|
|
2819
|
+
* const featuresConfig: FeaturesPluginConfig = {
|
|
2820
|
+
* available: ['auth', 'billing', 'i18n', 'oauth'],
|
|
2821
|
+
* enabled: ['auth', 'i18n'],
|
|
2822
|
+
* overridden: false
|
|
2823
|
+
* };
|
|
2824
|
+
* ```
|
|
2825
|
+
*/
|
|
2826
|
+
interface FeaturesPluginConfig {
|
|
2827
|
+
/**
|
|
2828
|
+
* List of all available features discovered in packages/features/
|
|
2829
|
+
* @example ['auth', 'billing', 'i18n', 'oauth']
|
|
2830
|
+
*/
|
|
2831
|
+
available: string[];
|
|
2730
2832
|
}
|
|
2731
2833
|
/**
|
|
2732
|
-
*
|
|
2834
|
+
* Complete DoNotDev framework configuration structure
|
|
2835
|
+
* @description Single source of truth for all framework configuration
|
|
2733
2836
|
*
|
|
2734
|
-
* @
|
|
2735
|
-
*
|
|
2736
|
-
*
|
|
2837
|
+
* @remarks
|
|
2838
|
+
* All discovery plugins add their data to this unified config.
|
|
2839
|
+
* Available at runtime via globalThis._DNDEV_CONFIG_ or window._DNDEV_CONFIG_
|
|
2737
2840
|
*/
|
|
2738
|
-
|
|
2841
|
+
interface DndevFrameworkConfig {
|
|
2842
|
+
/** Framework platform (Vite or Next.js) */
|
|
2843
|
+
platform: Platform;
|
|
2844
|
+
/** Current environment mode */
|
|
2845
|
+
mode: EnvironmentMode;
|
|
2846
|
+
/** Framework version */
|
|
2847
|
+
version: string;
|
|
2848
|
+
/** Execution context */
|
|
2849
|
+
context: Context;
|
|
2850
|
+
/** Unix timestamp of config generation */
|
|
2851
|
+
timestamp: number;
|
|
2852
|
+
/** i18n plugin configuration (optional) */
|
|
2853
|
+
i18n?: I18nPluginConfig;
|
|
2854
|
+
/** Routes plugin configuration (optional) */
|
|
2855
|
+
routes?: RoutesPluginConfig;
|
|
2856
|
+
/** Themes plugin configuration (optional) */
|
|
2857
|
+
themes?: ThemesPluginConfig;
|
|
2858
|
+
/** Assets plugin configuration (optional) */
|
|
2859
|
+
assets?: AssetsPluginConfig;
|
|
2860
|
+
/** PWA plugin configuration (optional) */
|
|
2861
|
+
pwa?: PWAPluginConfig;
|
|
2862
|
+
/** Features plugin configuration (optional) */
|
|
2863
|
+
features?: FeaturesPluginConfig;
|
|
2864
|
+
/** Environment variables (VITE_* variables from .env files) */
|
|
2865
|
+
env?: Record<string, string>;
|
|
2866
|
+
}
|
|
2867
|
+
declare global {
|
|
2868
|
+
interface Window {
|
|
2869
|
+
/**
|
|
2870
|
+
* Single source of truth for all DoNotDev framework configuration
|
|
2871
|
+
* @description Set by platform detection and populated by discovery plugins
|
|
2872
|
+
*/
|
|
2873
|
+
_DNDEV_CONFIG_?: DndevFrameworkConfig;
|
|
2874
|
+
/**
|
|
2875
|
+
* Global store registry for singleton Zustand stores
|
|
2876
|
+
* @description Ensures single instance across code-split chunks
|
|
2877
|
+
*/
|
|
2878
|
+
_DNDEV_STORES_?: Record<string, any>;
|
|
2879
|
+
/** PapaParse CSV parser library (external) */
|
|
2880
|
+
Papa?: {
|
|
2881
|
+
parse: (input: string | File, config?: any) => any;
|
|
2882
|
+
unparse: (data: any[], config?: any) => string;
|
|
2883
|
+
};
|
|
2884
|
+
/** Sentry error tracking library (external) */
|
|
2885
|
+
Sentry?: {
|
|
2886
|
+
captureException: (error: unknown) => void;
|
|
2887
|
+
withScope: (callback: (scope: any) => void) => void;
|
|
2888
|
+
getClient: () => {
|
|
2889
|
+
close: () => Promise<boolean>;
|
|
2890
|
+
} | undefined;
|
|
2891
|
+
};
|
|
2892
|
+
/**
|
|
2893
|
+
* Google APIs (Maps, One Tap, etc.)
|
|
2894
|
+
* @description Unified type for all Google services
|
|
2895
|
+
*/
|
|
2896
|
+
google?: {
|
|
2897
|
+
/** Google Maps API */
|
|
2898
|
+
maps?: {
|
|
2899
|
+
places?: {
|
|
2900
|
+
AutocompleteService: new () => any;
|
|
2901
|
+
PlacesService: new (element: HTMLElement) => any;
|
|
2902
|
+
PlacesServiceStatus: {
|
|
2903
|
+
OK: string;
|
|
2904
|
+
};
|
|
2905
|
+
};
|
|
2906
|
+
[key: string]: any;
|
|
2907
|
+
};
|
|
2908
|
+
/** Google Identity Services (One Tap) */
|
|
2909
|
+
accounts?: {
|
|
2910
|
+
id?: {
|
|
2911
|
+
initialize: (config: any) => void;
|
|
2912
|
+
prompt: (callback?: (notification: any) => void) => void;
|
|
2913
|
+
cancel?: () => void;
|
|
2914
|
+
disableAutoSelect?: () => void;
|
|
2915
|
+
};
|
|
2916
|
+
};
|
|
2917
|
+
[key: string]: any;
|
|
2918
|
+
};
|
|
2919
|
+
/** FedCM Identity Credential API */
|
|
2920
|
+
IdentityCredential?: any;
|
|
2921
|
+
}
|
|
2922
|
+
namespace NodeJS {
|
|
2923
|
+
interface ProcessEnv {
|
|
2924
|
+
/** Serialized framework config for Node.js environment */
|
|
2925
|
+
_DNDEV_CONFIG_?: string;
|
|
2926
|
+
}
|
|
2927
|
+
}
|
|
2928
|
+
namespace globalThis {
|
|
2929
|
+
/** Framework configuration (same as window._DNDEV_CONFIG_) */
|
|
2930
|
+
var _DNDEV_CONFIG_: DndevFrameworkConfig | undefined;
|
|
2931
|
+
/** Store registry (same as window._DNDEV_STORES_) */
|
|
2932
|
+
var _DNDEV_STORES_: Record<string, any> | undefined;
|
|
2933
|
+
var __vite_plugin_react_preamble_installed__: boolean | undefined;
|
|
2934
|
+
var __vite_hmr_port: number | undefined;
|
|
2935
|
+
var __NEXT_DATA__: any | undefined;
|
|
2936
|
+
var __REACT_QUERY_CLIENT__: any | undefined;
|
|
2937
|
+
var __REACT_QUERY_PROVIDER__: any | undefined;
|
|
2938
|
+
var __DNDEV_DEBUG: boolean | undefined;
|
|
2939
|
+
var __FIREBASE_DEMO_MODE__: boolean | undefined;
|
|
2940
|
+
var getAvailableThemes: (() => string[]) | undefined;
|
|
2941
|
+
}
|
|
2942
|
+
}
|
|
2943
|
+
|
|
2739
2944
|
/**
|
|
2740
|
-
*
|
|
2945
|
+
* @fileoverview Billing Types
|
|
2946
|
+
* @description Type definitions for billing domain. Defines billing provider types, checkout modes, billing adapter interfaces, subscription types, and billing-related interfaces.
|
|
2947
|
+
* Uses unified FeatureStatus enum for feature state management.
|
|
2741
2948
|
*
|
|
2742
|
-
* @version 0.0.
|
|
2949
|
+
* @version 0.0.3
|
|
2743
2950
|
* @since 0.0.1
|
|
2744
2951
|
* @author AMBROISE PARK Consulting
|
|
2745
2952
|
*/
|
|
2746
|
-
|
|
2747
|
-
|
|
2748
|
-
type: 'StripePayment' | 'StripeSubscription';
|
|
2749
|
-
name: string;
|
|
2750
|
-
price: number;
|
|
2751
|
-
currency: string;
|
|
2752
|
-
priceId: string;
|
|
2753
|
-
tier: string;
|
|
2754
|
-
duration: string;
|
|
2755
|
-
description?: string;
|
|
2756
|
-
metadata?: Record<string, string>;
|
|
2757
|
-
allowPromotionCodes?: boolean;
|
|
2758
|
-
onPurchaseSuccess?: (userId: string, metadata: Record<string, string>) => Promise<void>;
|
|
2759
|
-
onPurchaseFailure?: (userId: string, metadata: Record<string, string>) => Promise<void>;
|
|
2760
|
-
onSubscriptionCreated?: (userId: string, metadata: Record<string, string>) => Promise<void>;
|
|
2761
|
-
onSubscriptionRenewed?: (userId: string, metadata: Record<string, string>) => Promise<void>;
|
|
2762
|
-
onSubscriptionCancelled?: (userId: string, metadata: Record<string, string>) => Promise<void>;
|
|
2763
|
-
onPaymentFailed?: (userId: string, metadata: Record<string, string>) => Promise<void>;
|
|
2764
|
-
};
|
|
2765
|
-
};
|
|
2766
|
-
/**
|
|
2767
|
-
* Stripe configuration interface
|
|
2953
|
+
|
|
2954
|
+
/** Billing provider types - Stripe only
|
|
2768
2955
|
*
|
|
2769
2956
|
* @version 0.0.1
|
|
2770
2957
|
* @since 0.0.1
|
|
2771
2958
|
* @author AMBROISE PARK Consulting
|
|
2772
2959
|
*/
|
|
2773
|
-
|
|
2774
|
-
|
|
2775
|
-
secretKey: string;
|
|
2776
|
-
/** Stripe publishable key for client-side operations */
|
|
2777
|
-
publishableKey: string;
|
|
2778
|
-
/** Stripe webhook secret for webhook verification */
|
|
2779
|
-
webhookSecret: string;
|
|
2780
|
-
/** Whether to use test mode */
|
|
2781
|
-
testMode: boolean;
|
|
2782
|
-
/** API version to use */
|
|
2783
|
-
apiVersion?: string;
|
|
2784
|
-
/** Maximum number of retries for failed requests */
|
|
2785
|
-
maxNetworkRetries?: number;
|
|
2786
|
-
/** Request timeout in milliseconds */
|
|
2787
|
-
timeout?: number;
|
|
2788
|
-
/** Additional configuration options */
|
|
2789
|
-
options?: {
|
|
2790
|
-
/** Whether to enable telemetry */
|
|
2791
|
-
telemetry?: boolean;
|
|
2792
|
-
/** App information */
|
|
2793
|
-
appInfo?: {
|
|
2794
|
-
name: string;
|
|
2795
|
-
version: string;
|
|
2796
|
-
url?: string;
|
|
2797
|
-
};
|
|
2798
|
-
};
|
|
2799
|
-
}
|
|
2800
|
-
|
|
2801
|
-
/**
|
|
2802
|
-
* @fileoverview DoNotDev Framework - Unified Types & Constants
|
|
2803
|
-
* @description Single source of truth for all framework types and constants
|
|
2804
|
-
* @package @donotdev/types
|
|
2805
|
-
* @version 0.0.1
|
|
2806
|
-
* @since 0.0.1
|
|
2807
|
-
* @author AMBROISE PARK Consulting
|
|
2960
|
+
type BillingProvider = 'stripe';
|
|
2961
|
+
/** Unified checkout mode type used everywhere
|
|
2808
2962
|
*
|
|
2809
|
-
* @
|
|
2810
|
-
*
|
|
2811
|
-
*
|
|
2812
|
-
*/
|
|
2813
|
-
|
|
2814
|
-
/**
|
|
2815
|
-
* Supported platform identifiers
|
|
2816
|
-
* @constant
|
|
2817
|
-
*/
|
|
2818
|
-
declare const PLATFORMS: {
|
|
2819
|
-
readonly VITE: "vite";
|
|
2820
|
-
readonly NEXTJS: "nextjs";
|
|
2821
|
-
readonly UNKNOWN: "unknown";
|
|
2822
|
-
};
|
|
2823
|
-
/**
|
|
2824
|
-
* Platform type derived from PLATFORMS constant
|
|
2825
|
-
*/
|
|
2826
|
-
type Platform = (typeof PLATFORMS)[keyof typeof PLATFORMS];
|
|
2827
|
-
/**
|
|
2828
|
-
* Supported environment modes
|
|
2829
|
-
* @constant
|
|
2830
|
-
*/
|
|
2831
|
-
declare const ENVIRONMENTS: {
|
|
2832
|
-
readonly DEVELOPMENT: "development";
|
|
2833
|
-
readonly PRODUCTION: "production";
|
|
2834
|
-
readonly TEST: "test";
|
|
2835
|
-
};
|
|
2836
|
-
/**
|
|
2837
|
-
* Environment mode type derived from ENVIRONMENTS constant
|
|
2838
|
-
*/
|
|
2839
|
-
type EnvironmentMode = (typeof ENVIRONMENTS)[keyof typeof ENVIRONMENTS];
|
|
2840
|
-
/**
|
|
2841
|
-
* Supported execution contexts
|
|
2842
|
-
* @constant
|
|
2843
|
-
*/
|
|
2844
|
-
declare const CONTEXTS: {
|
|
2845
|
-
readonly CLIENT: "client";
|
|
2846
|
-
readonly SERVER: "server";
|
|
2847
|
-
readonly BUILD: "build";
|
|
2848
|
-
};
|
|
2849
|
-
/**
|
|
2850
|
-
* Context type derived from CONTEXTS constant
|
|
2851
|
-
*/
|
|
2852
|
-
type Context = (typeof CONTEXTS)[keyof typeof CONTEXTS];
|
|
2853
|
-
/**
|
|
2854
|
-
* Platform detection confidence thresholds
|
|
2855
|
-
* @constant
|
|
2856
|
-
*/
|
|
2857
|
-
declare const CONFIDENCE_LEVELS: {
|
|
2858
|
-
readonly HIGH: 0.95;
|
|
2859
|
-
readonly MEDIUM: 0.8;
|
|
2860
|
-
readonly LOW: 0.7;
|
|
2861
|
-
readonly MINIMUM: 0.3;
|
|
2862
|
-
};
|
|
2863
|
-
/**
|
|
2864
|
-
* Confidence level type derived from CONFIDENCE_LEVELS constant
|
|
2865
|
-
*/
|
|
2866
|
-
type ConfidenceLevel = (typeof CONFIDENCE_LEVELS)[keyof typeof CONFIDENCE_LEVELS];
|
|
2867
|
-
/**
|
|
2868
|
-
* Supported storage backend types
|
|
2869
|
-
* @constant
|
|
2870
|
-
*/
|
|
2871
|
-
declare const STORAGE_TYPES: {
|
|
2872
|
-
readonly LOCAL: "localStorage";
|
|
2873
|
-
readonly SESSION: "sessionStorage";
|
|
2874
|
-
readonly INDEXED_DB: "indexedDB";
|
|
2875
|
-
readonly MEMORY: "memory";
|
|
2876
|
-
};
|
|
2877
|
-
/**
|
|
2878
|
-
* Storage type derived from STORAGE_TYPES constant
|
|
2879
|
-
*/
|
|
2880
|
-
type StorageType = (typeof STORAGE_TYPES)[keyof typeof STORAGE_TYPES];
|
|
2881
|
-
/**
|
|
2882
|
-
* Storage scope levels for data isolation
|
|
2883
|
-
* @constant
|
|
2884
|
-
*/
|
|
2885
|
-
declare const STORAGE_SCOPES: {
|
|
2886
|
-
readonly USER: "user";
|
|
2887
|
-
readonly GLOBAL: "global";
|
|
2888
|
-
readonly SESSION: "session";
|
|
2889
|
-
};
|
|
2890
|
-
/**
|
|
2891
|
-
* Storage scope type derived from STORAGE_SCOPES constant
|
|
2892
|
-
*/
|
|
2893
|
-
type StorageScope = (typeof STORAGE_SCOPES)[keyof typeof STORAGE_SCOPES];
|
|
2894
|
-
/**
|
|
2895
|
-
* PWA display modes
|
|
2896
|
-
* @constant
|
|
2963
|
+
* @version 0.0.1
|
|
2964
|
+
* @since 0.0.1
|
|
2965
|
+
* @author AMBROISE PARK Consulting
|
|
2897
2966
|
*/
|
|
2898
|
-
|
|
2899
|
-
|
|
2900
|
-
|
|
2901
|
-
|
|
2902
|
-
|
|
2903
|
-
|
|
2904
|
-
/**
|
|
2905
|
-
* PWA display mode type derived from PWA_DISPLAY_MODES constant
|
|
2967
|
+
type CheckoutMode = 'payment' | 'subscription';
|
|
2968
|
+
/** Billing adapter interface
|
|
2969
|
+
*
|
|
2970
|
+
* @version 0.0.1
|
|
2971
|
+
* @since 0.0.1
|
|
2972
|
+
* @author AMBROISE PARK Consulting
|
|
2906
2973
|
*/
|
|
2907
|
-
|
|
2908
|
-
|
|
2909
|
-
|
|
2910
|
-
|
|
2974
|
+
interface BillingAdapter {
|
|
2975
|
+
createCheckoutSession(request: CreateCheckoutSessionRequest): Promise<CreateCheckoutSessionResponse>;
|
|
2976
|
+
getProvider(): Promise<BillingProvider>;
|
|
2977
|
+
isAvailable(): Promise<boolean>;
|
|
2978
|
+
}
|
|
2979
|
+
/** Billing event types
|
|
2980
|
+
*
|
|
2981
|
+
* @version 0.0.1
|
|
2982
|
+
* @since 0.0.1
|
|
2983
|
+
* @author AMBROISE PARK Consulting
|
|
2911
2984
|
*/
|
|
2912
|
-
|
|
2913
|
-
|
|
2914
|
-
|
|
2915
|
-
|
|
2985
|
+
type BillingEvent = {
|
|
2986
|
+
type: 'subscription_updated';
|
|
2987
|
+
data: any;
|
|
2988
|
+
} | {
|
|
2989
|
+
type: 'payment_succeeded';
|
|
2990
|
+
data: any;
|
|
2991
|
+
} | {
|
|
2992
|
+
type: 'payment_failed';
|
|
2993
|
+
data: any;
|
|
2916
2994
|
};
|
|
2917
|
-
/**
|
|
2918
|
-
*
|
|
2995
|
+
/** Payment method types
|
|
2996
|
+
*
|
|
2997
|
+
* @version 0.0.1
|
|
2998
|
+
* @since 0.0.1
|
|
2999
|
+
* @author AMBROISE PARK Consulting
|
|
2919
3000
|
*/
|
|
2920
|
-
type
|
|
2921
|
-
/**
|
|
2922
|
-
*
|
|
2923
|
-
* @
|
|
3001
|
+
type PaymentMethodType = 'card' | 'bank_account' | 'paypal' | 'apple_pay' | 'google_pay';
|
|
3002
|
+
/** Payment method interface
|
|
3003
|
+
*
|
|
3004
|
+
* @version 0.0.1
|
|
3005
|
+
* @since 0.0.1
|
|
3006
|
+
* @author AMBROISE PARK Consulting
|
|
2924
3007
|
*/
|
|
2925
|
-
|
|
2926
|
-
|
|
2927
|
-
|
|
2928
|
-
|
|
2929
|
-
|
|
2930
|
-
|
|
2931
|
-
|
|
3008
|
+
interface PaymentMethod {
|
|
3009
|
+
id: string;
|
|
3010
|
+
userId: string;
|
|
3011
|
+
type: PaymentMethodType;
|
|
3012
|
+
isDefault: boolean;
|
|
3013
|
+
last4?: string;
|
|
3014
|
+
brand?: string;
|
|
3015
|
+
expiryMonth?: number;
|
|
3016
|
+
expiryYear?: number;
|
|
3017
|
+
createdAt: string;
|
|
3018
|
+
updatedAt: string;
|
|
3019
|
+
}
|
|
3020
|
+
/** Billing provider configuration interface
|
|
3021
|
+
*
|
|
3022
|
+
* @version 0.0.1
|
|
3023
|
+
* @since 0.0.1
|
|
3024
|
+
* @author AMBROISE PARK Consulting
|
|
2932
3025
|
*/
|
|
2933
|
-
|
|
2934
|
-
|
|
2935
|
-
|
|
2936
|
-
|
|
3026
|
+
interface BillingProviderConfig {
|
|
3027
|
+
provider: BillingProvider;
|
|
3028
|
+
apiKey?: string;
|
|
3029
|
+
webhookSecret?: string;
|
|
3030
|
+
publishableKey?: string;
|
|
3031
|
+
testMode?: boolean;
|
|
3032
|
+
}
|
|
3033
|
+
/** Invoice interface
|
|
3034
|
+
*
|
|
3035
|
+
* @version 0.0.1
|
|
3036
|
+
* @since 0.0.1
|
|
3037
|
+
* @author AMBROISE PARK Consulting
|
|
2937
3038
|
*/
|
|
2938
|
-
|
|
3039
|
+
interface Invoice {
|
|
3040
|
+
id: string;
|
|
3041
|
+
userId: string;
|
|
3042
|
+
amount: number;
|
|
3043
|
+
currency: string;
|
|
3044
|
+
status: 'draft' | 'open' | 'paid' | 'void' | 'uncollectible';
|
|
3045
|
+
createdAt: string;
|
|
3046
|
+
dueDate?: string;
|
|
3047
|
+
paidAt?: string;
|
|
3048
|
+
description?: string;
|
|
3049
|
+
items: InvoiceItem[];
|
|
3050
|
+
}
|
|
2939
3051
|
/**
|
|
2940
|
-
*
|
|
2941
|
-
*
|
|
3052
|
+
* Invoice item interface
|
|
3053
|
+
*
|
|
3054
|
+
* @version 0.0.1
|
|
3055
|
+
* @since 0.0.1
|
|
3056
|
+
* @author AMBROISE PARK Consulting
|
|
2942
3057
|
*/
|
|
2943
|
-
|
|
3058
|
+
interface InvoiceItem {
|
|
3059
|
+
id: string;
|
|
3060
|
+
description: string;
|
|
3061
|
+
amount: number;
|
|
3062
|
+
quantity: number;
|
|
3063
|
+
unitPrice: number;
|
|
3064
|
+
}
|
|
2944
3065
|
/**
|
|
2945
|
-
*
|
|
3066
|
+
* Subscription interface
|
|
3067
|
+
*
|
|
3068
|
+
* @version 0.0.1
|
|
3069
|
+
* @since 0.0.1
|
|
3070
|
+
* @author AMBROISE PARK Consulting
|
|
2946
3071
|
*/
|
|
2947
|
-
interface
|
|
2948
|
-
|
|
2949
|
-
|
|
2950
|
-
|
|
2951
|
-
|
|
3072
|
+
interface Subscription {
|
|
3073
|
+
id: string;
|
|
3074
|
+
userId: string;
|
|
3075
|
+
status: 'active' | 'canceled' | 'incomplete' | 'incomplete_expired' | 'past_due' | 'trialing' | 'unpaid';
|
|
3076
|
+
currentPeriodStart: string;
|
|
3077
|
+
currentPeriodEnd: string;
|
|
3078
|
+
cancelAtPeriodEnd: boolean;
|
|
3079
|
+
canceledAt?: string;
|
|
3080
|
+
trialStart?: string;
|
|
3081
|
+
trialEnd?: string;
|
|
3082
|
+
createdAt: string;
|
|
3083
|
+
updatedAt: string;
|
|
2952
3084
|
}
|
|
2953
3085
|
/**
|
|
2954
|
-
*
|
|
2955
|
-
*
|
|
3086
|
+
* Stripe webhook event data
|
|
3087
|
+
*
|
|
3088
|
+
* @version 0.0.1
|
|
3089
|
+
* @since 0.0.1
|
|
3090
|
+
* @author AMBROISE PARK Consulting
|
|
2956
3091
|
*/
|
|
2957
|
-
interface
|
|
2958
|
-
|
|
2959
|
-
|
|
2960
|
-
|
|
2961
|
-
|
|
2962
|
-
|
|
2963
|
-
|
|
2964
|
-
|
|
2965
|
-
|
|
2966
|
-
|
|
2967
|
-
|
|
3092
|
+
interface StripeWebhookEvent {
|
|
3093
|
+
id: string;
|
|
3094
|
+
type: string;
|
|
3095
|
+
data: {
|
|
3096
|
+
object: any;
|
|
3097
|
+
};
|
|
3098
|
+
created: number;
|
|
3099
|
+
livemode: boolean;
|
|
3100
|
+
pending_webhooks: number;
|
|
3101
|
+
request?: {
|
|
3102
|
+
id: string;
|
|
3103
|
+
idempotency_key?: string;
|
|
2968
3104
|
};
|
|
2969
3105
|
}
|
|
2970
3106
|
/**
|
|
2971
|
-
*
|
|
3107
|
+
* Schema for creating checkout session
|
|
2972
3108
|
*/
|
|
2973
|
-
interface BasicUserInfo {
|
|
2974
|
-
/** The unique identifier for the user */
|
|
2975
|
-
id: ID;
|
|
2976
|
-
/** The user's display name (if available) */
|
|
2977
|
-
displayName?: string | null;
|
|
2978
|
-
/** The user's email address (if available) */
|
|
2979
|
-
email?: string | null;
|
|
2980
|
-
/** The URL of the user's profile photo (if available) */
|
|
2981
|
-
photoURL?: string | null;
|
|
2982
|
-
}
|
|
2983
3109
|
/**
|
|
2984
|
-
*
|
|
2985
|
-
* @description All entity documents in the system should extend this interface
|
|
3110
|
+
* Schema for processing payment success
|
|
2986
3111
|
*/
|
|
2987
|
-
interface BaseDocument {
|
|
2988
|
-
/** The unique identifier for the document */
|
|
2989
|
-
id: ID;
|
|
2990
|
-
/** When the document was created */
|
|
2991
|
-
createdAt: Timestamp;
|
|
2992
|
-
/** When the document was last updated */
|
|
2993
|
-
updatedAt: Timestamp;
|
|
2994
|
-
/** The ID of the user who created the document (if available) */
|
|
2995
|
-
createdById?: ID;
|
|
2996
|
-
/** The ID of the user who last updated the document (if available) */
|
|
2997
|
-
updatedById?: ID;
|
|
2998
|
-
}
|
|
2999
3112
|
/**
|
|
3000
|
-
*
|
|
3001
|
-
* @description Used in PageMeta and NavigationRoute for route-level auth
|
|
3113
|
+
* Checkout session creation request
|
|
3002
3114
|
*/
|
|
3003
|
-
type PageAuth = boolean | {
|
|
3004
|
-
/** Whether authentication is required */
|
|
3005
|
-
required?: boolean;
|
|
3006
|
-
/** Required user role */
|
|
3007
|
-
role?: UserRole;
|
|
3008
|
-
/** Required subscription tier */
|
|
3009
|
-
tier?: SubscriptionTier;
|
|
3010
|
-
/** Custom validation function */
|
|
3011
|
-
validate?: (role: string, tier: string) => boolean;
|
|
3012
|
-
};
|
|
3013
3115
|
/**
|
|
3014
|
-
*
|
|
3015
|
-
|
|
3016
|
-
|
|
3017
|
-
*
|
|
3018
|
-
*
|
|
3019
|
-
*
|
|
3020
|
-
*
|
|
3021
|
-
*
|
|
3022
|
-
* - `action`: Auto-extracted from filename patterns (ListPage → "list", FormPage → "form")
|
|
3023
|
-
* - `route`: Only needed for custom paths or dynamic routes like :id, :slug
|
|
3024
|
-
*
|
|
3025
|
-
* @example Simple page (no meta needed):
|
|
3026
|
-
* ```tsx
|
|
3027
|
-
* export function HomePage() {
|
|
3028
|
-
* return <PageContainer>...</PageContainer>;
|
|
3029
|
-
* }
|
|
3030
|
-
* // Framework provides: auth=false, title from home.title, entity=home
|
|
3031
|
-
* ```
|
|
3032
|
-
*
|
|
3033
|
-
* @example Dynamic route (just define the path you want):
|
|
3034
|
-
* ```tsx
|
|
3035
|
-
* export const meta: PageMeta = {
|
|
3036
|
-
* route: '/blog/:slug' // Creates /blog/:slug
|
|
3037
|
-
* };
|
|
3038
|
-
* // Framework provides: auth=false, title from blog.title, entity=blog
|
|
3039
|
-
* ```
|
|
3040
|
-
*
|
|
3041
|
-
* @example Auth-required (developer must be explicit):
|
|
3042
|
-
* ```tsx
|
|
3043
|
-
* export const meta: PageMeta = {
|
|
3044
|
-
* auth: { required: true } // YOU decide what needs auth
|
|
3045
|
-
* };
|
|
3046
|
-
* ```
|
|
3116
|
+
* Checkout session response
|
|
3117
|
+
*/
|
|
3118
|
+
/**
|
|
3119
|
+
* Refresh subscription request
|
|
3120
|
+
*
|
|
3121
|
+
* @version 0.0.1
|
|
3122
|
+
* @since 0.0.1
|
|
3123
|
+
* @author AMBROISE PARK Consulting
|
|
3047
3124
|
*/
|
|
3048
|
-
interface
|
|
3049
|
-
|
|
3050
|
-
auth?: PageAuth;
|
|
3051
|
-
/** Route configuration - just define the exact path you want */
|
|
3052
|
-
route?: string | {
|
|
3053
|
-
params?: string[];
|
|
3054
|
-
};
|
|
3055
|
-
/** Page title (optional - framework auto-extracts from filename if not provided) */
|
|
3056
|
-
title?: string;
|
|
3057
|
-
/**
|
|
3058
|
-
* Translation/SEO namespace for this page
|
|
3059
|
-
* @description Used for meta tags and translations
|
|
3060
|
-
*/
|
|
3061
|
-
namespace?: string;
|
|
3062
|
-
/**
|
|
3063
|
-
* Icon for navigation (optional - framework provides smart defaults)
|
|
3064
|
-
* @description **ONLY lucide-react JSX components** - extracted as component name string at build time for tree-shaking.
|
|
3065
|
-
*
|
|
3066
|
-
* **RESTRICTIONS:**
|
|
3067
|
-
* - ✅ Only: `<Rocket />`, `<ShoppingCart />`, `<Home />` (lucide-react JSX components)
|
|
3068
|
-
* - ❌ NOT: Emojis (`"🚀"`), strings (`"Rocket"`), or custom ReactNode
|
|
3069
|
-
*
|
|
3070
|
-
* **Why?** This is for build-time extraction and tree-shaking. The component name is extracted and stored as a string.
|
|
3071
|
-
*
|
|
3072
|
-
* **For flexible icons** (emojis, strings, custom components), use the `Icon` component directly in your JSX, not in PageMeta.
|
|
3073
|
-
*
|
|
3074
|
-
* @example
|
|
3075
|
-
* ```tsx
|
|
3076
|
-
* import { Rocket } from 'lucide-react';
|
|
3077
|
-
* export const meta: PageMeta = {
|
|
3078
|
-
* icon: <Rocket /> // ✅ Correct - lucide-react component
|
|
3079
|
-
* };
|
|
3080
|
-
* ```
|
|
3081
|
-
*
|
|
3082
|
-
* @example
|
|
3083
|
-
* ```tsx
|
|
3084
|
-
* // ❌ WRONG - Don't use emojis or strings in PageMeta
|
|
3085
|
-
* export const meta: PageMeta = {
|
|
3086
|
-
* icon: "🚀" // ❌ Not supported in PageMeta
|
|
3087
|
-
* };
|
|
3088
|
-
* ```
|
|
3089
|
-
*/
|
|
3090
|
-
icon?: ReactNode;
|
|
3091
|
-
/**
|
|
3092
|
-
* Hide from navigation menu (default: false - shows in navigation)
|
|
3093
|
-
* @description Set to true to exclude this route from navigation menus
|
|
3094
|
-
* @default false
|
|
3095
|
-
* @example
|
|
3096
|
-
* ```tsx
|
|
3097
|
-
* export const meta: PageMeta = {
|
|
3098
|
-
* hideFromMenu: true // Won't appear in HeaderNavigation, Sidebar, etc.
|
|
3099
|
-
* };
|
|
3100
|
-
* ```
|
|
3101
|
-
*/
|
|
3102
|
-
hideFromMenu?: boolean;
|
|
3125
|
+
interface RefreshSubscriptionRequest {
|
|
3126
|
+
userId: string;
|
|
3103
3127
|
}
|
|
3104
3128
|
/**
|
|
3105
|
-
*
|
|
3106
|
-
* @description Complete route metadata including auto-discovered fields from RouteDiscovery
|
|
3129
|
+
* Stripe provider interface for billing operations
|
|
3107
3130
|
*
|
|
3108
|
-
*
|
|
3109
|
-
*
|
|
3110
|
-
*
|
|
3131
|
+
* @version 0.0.1
|
|
3132
|
+
* @since 0.0.1
|
|
3133
|
+
* @author AMBROISE PARK Consulting
|
|
3134
|
+
*/
|
|
3135
|
+
interface StripeProvider {
|
|
3136
|
+
createCheckoutSession(params: {
|
|
3137
|
+
priceId: string;
|
|
3138
|
+
userId: string;
|
|
3139
|
+
successUrl: string;
|
|
3140
|
+
cancelUrl: string;
|
|
3141
|
+
metadata?: Record<string, string>;
|
|
3142
|
+
customerEmail?: string;
|
|
3143
|
+
allowPromotionCodes?: boolean;
|
|
3144
|
+
}): Promise<CreateCheckoutSessionResponse>;
|
|
3145
|
+
getSubscription(userId: string): Promise<Subscription | null>;
|
|
3146
|
+
cancelSubscription(subscriptionId: string): Promise<boolean>;
|
|
3147
|
+
updateSubscription(subscriptionId: string, updates: Partial<Subscription>): Promise<Subscription>;
|
|
3148
|
+
}
|
|
3149
|
+
/**
|
|
3150
|
+
* Refresh subscription response
|
|
3111
3151
|
*
|
|
3112
|
-
*
|
|
3152
|
+
* @version 0.0.1
|
|
3153
|
+
* @since 0.0.1
|
|
3154
|
+
* @author AMBROISE PARK Consulting
|
|
3155
|
+
*/
|
|
3156
|
+
interface RefreshSubscriptionResponse {
|
|
3157
|
+
success: boolean;
|
|
3158
|
+
subscription: Subscription;
|
|
3159
|
+
}
|
|
3160
|
+
/**
|
|
3161
|
+
* Process payment success request
|
|
3113
3162
|
*
|
|
3114
3163
|
* @version 0.0.1
|
|
3115
3164
|
* @since 0.0.1
|
|
3116
3165
|
* @author AMBROISE PARK Consulting
|
|
3117
3166
|
*/
|
|
3118
|
-
interface
|
|
3119
|
-
|
|
3120
|
-
entity?: string;
|
|
3121
|
-
/** Action type for route categorization - auto-discovered from filename patterns (not user-configurable) */
|
|
3122
|
-
action?: string | null;
|
|
3123
|
-
/** File path where route was discovered */
|
|
3124
|
-
file?: string;
|
|
3167
|
+
interface ProcessPaymentSuccessRequest {
|
|
3168
|
+
sessionId: string;
|
|
3125
3169
|
}
|
|
3126
3170
|
/**
|
|
3127
|
-
*
|
|
3128
|
-
*
|
|
3171
|
+
* Process payment success response
|
|
3172
|
+
*
|
|
3173
|
+
* @version 0.0.1
|
|
3174
|
+
* @since 0.0.1
|
|
3175
|
+
* @author AMBROISE PARK Consulting
|
|
3129
3176
|
*/
|
|
3130
|
-
interface
|
|
3131
|
-
|
|
3132
|
-
|
|
3133
|
-
/** Display label for navigation */
|
|
3134
|
-
label: string;
|
|
3135
|
-
/** Optional icon identifier or component */
|
|
3136
|
-
icon?: string | ReactNode;
|
|
3137
|
-
/** Whether route is external */
|
|
3138
|
-
external?: boolean;
|
|
3139
|
-
/** Whether route is disabled */
|
|
3140
|
-
disabled?: boolean;
|
|
3141
|
-
/** Badge content for notifications */
|
|
3142
|
-
badge?: string | number;
|
|
3143
|
-
/** Authentication configuration */
|
|
3144
|
-
auth?: PageAuth;
|
|
3145
|
-
/** Route metadata (includes auto-discovered fields) */
|
|
3146
|
-
meta?: RouteMeta;
|
|
3147
|
-
/** Nested child routes */
|
|
3148
|
-
children?: NavigationRoute[];
|
|
3177
|
+
interface ProcessPaymentSuccessResponse {
|
|
3178
|
+
success: boolean;
|
|
3179
|
+
sessionId: string;
|
|
3149
3180
|
}
|
|
3150
3181
|
/**
|
|
3151
|
-
*
|
|
3182
|
+
* Billing-specific error codes for functions
|
|
3183
|
+
*
|
|
3184
|
+
* @version 0.0.1
|
|
3185
|
+
* @since 0.0.1
|
|
3186
|
+
* @author AMBROISE PARK Consulting
|
|
3152
3187
|
*/
|
|
3153
|
-
|
|
3154
|
-
|
|
3155
|
-
|
|
3156
|
-
|
|
3157
|
-
|
|
3158
|
-
|
|
3159
|
-
|
|
3160
|
-
|
|
3161
|
-
|
|
3162
|
-
|
|
3163
|
-
|
|
3164
|
-
|
|
3165
|
-
|
|
3166
|
-
|
|
3167
|
-
|
|
3168
|
-
|
|
3169
|
-
|
|
3170
|
-
|
|
3171
|
-
|
|
3172
|
-
|
|
3173
|
-
|
|
3188
|
+
type BillingErrorCode = 'unknown' | 'unauthenticated' | 'invalid_request' | 'stripe_error' | 'subscription_not_found' | 'checkout_session_not_found' | 'webhook_verification_failed' | 'rate_limit_exceeded' | 'insufficient_permissions' | 'invalid_webhook_signature';
|
|
3189
|
+
/**
|
|
3190
|
+
* Stripe checkout session creation request
|
|
3191
|
+
*
|
|
3192
|
+
* @version 0.0.1
|
|
3193
|
+
* @since 0.0.1
|
|
3194
|
+
* @author AMBROISE PARK Consulting
|
|
3195
|
+
*/
|
|
3196
|
+
interface StripeCheckoutRequest {
|
|
3197
|
+
/** Stripe price ID for the subscription plan */
|
|
3198
|
+
priceId: string;
|
|
3199
|
+
/** User ID for the subscription */
|
|
3200
|
+
userId: string;
|
|
3201
|
+
/** User email for the subscription */
|
|
3202
|
+
userEmail: string;
|
|
3203
|
+
/** URL to redirect to on successful payment */
|
|
3204
|
+
successUrl: string;
|
|
3205
|
+
/** URL to redirect to on cancelled payment */
|
|
3206
|
+
cancelUrl: string;
|
|
3207
|
+
/** Optional metadata to attach to the session */
|
|
3208
|
+
metadata?: Record<string, string>;
|
|
3209
|
+
/** Customer email address */
|
|
3210
|
+
customerEmail?: string;
|
|
3211
|
+
/** Whether to allow promotion codes */
|
|
3212
|
+
allowPromotionCodes?: boolean;
|
|
3213
|
+
/** Trial period in days */
|
|
3214
|
+
trialPeriodDays?: number;
|
|
3215
|
+
/** Collection method for the subscription */
|
|
3216
|
+
collectionMethod?: 'charge_automatically' | 'send_invoice';
|
|
3217
|
+
/** Payment method types to allow */
|
|
3218
|
+
paymentMethodTypes?: string[];
|
|
3219
|
+
/** Billing address collection requirement */
|
|
3220
|
+
billingAddressCollection?: 'auto' | 'required';
|
|
3221
|
+
/** Tax ID collection requirement */
|
|
3222
|
+
taxIdCollection?: {
|
|
3223
|
+
enabled: boolean;
|
|
3224
|
+
};
|
|
3225
|
+
/** Checkout mode - payment or subscription */
|
|
3226
|
+
mode?: CheckoutMode;
|
|
3174
3227
|
}
|
|
3175
3228
|
/**
|
|
3176
|
-
*
|
|
3177
|
-
*
|
|
3229
|
+
* Stripe checkout session response
|
|
3230
|
+
*
|
|
3231
|
+
* @version 0.0.1
|
|
3232
|
+
* @since 0.0.1
|
|
3233
|
+
* @author AMBROISE PARK Consulting
|
|
3178
3234
|
*/
|
|
3179
|
-
interface
|
|
3180
|
-
/**
|
|
3181
|
-
|
|
3182
|
-
|
|
3183
|
-
|
|
3184
|
-
|
|
3185
|
-
|
|
3186
|
-
|
|
3187
|
-
|
|
3188
|
-
* Store data
|
|
3189
|
-
* @param key - Storage key
|
|
3190
|
-
* @param value - Data to store
|
|
3191
|
-
* @param options - Storage options
|
|
3192
|
-
* @returns Promise resolving when data is stored
|
|
3193
|
-
*/
|
|
3194
|
-
set<T>(key: string, value: T, options?: StorageOptions): Promise<void>;
|
|
3195
|
-
/**
|
|
3196
|
-
* Remove data from storage
|
|
3197
|
-
* @param key - Storage key
|
|
3198
|
-
* @returns Promise resolving when data is removed
|
|
3199
|
-
*/
|
|
3200
|
-
remove(key: string): Promise<void>;
|
|
3201
|
-
/**
|
|
3202
|
-
* Clear all data in the specified scope
|
|
3203
|
-
* @param scope - Scope to clear, or all scopes if not specified
|
|
3204
|
-
* @returns Promise resolving when data is cleared
|
|
3205
|
-
*/
|
|
3206
|
-
clear(scope?: StorageScope): Promise<void>;
|
|
3207
|
-
/**
|
|
3208
|
-
* Store sensitive data with encryption
|
|
3209
|
-
* @description Shorthand for set() with encryption=true
|
|
3210
|
-
* @param key - Storage key
|
|
3211
|
-
* @param value - Data to store
|
|
3212
|
-
* @param options - Storage options (encryption will be set to true)
|
|
3213
|
-
* @returns Promise resolving when data is stored
|
|
3214
|
-
*/
|
|
3215
|
-
setSecure<T>(key: string, value: T, options?: Omit<StorageOptions, 'encryption'>): Promise<void>;
|
|
3216
|
-
/**
|
|
3217
|
-
* Retrieve sensitive data with decryption
|
|
3218
|
-
* @description Shorthand for get() with encryption=true
|
|
3219
|
-
* @param key - Storage key
|
|
3220
|
-
* @param options - Storage options (encryption will be set to true)
|
|
3221
|
-
* @returns Promise resolving to the decrypted data or null if not found
|
|
3222
|
-
*/
|
|
3223
|
-
getSecure<T>(key: string, options?: Omit<StorageOptions, 'encryption'>): Promise<T | null>;
|
|
3235
|
+
interface StripeCheckoutResponse {
|
|
3236
|
+
/** Stripe session ID */
|
|
3237
|
+
sessionId: string;
|
|
3238
|
+
/** URL to redirect the user to complete payment */
|
|
3239
|
+
sessionUrl: string | null;
|
|
3240
|
+
/** Whether the session was created successfully */
|
|
3241
|
+
success: boolean;
|
|
3242
|
+
/** Error message if creation failed */
|
|
3243
|
+
error?: string;
|
|
3224
3244
|
}
|
|
3225
3245
|
/**
|
|
3226
|
-
*
|
|
3227
|
-
*
|
|
3246
|
+
* Stripe subscription data structure
|
|
3247
|
+
*
|
|
3248
|
+
* @version 0.0.1
|
|
3249
|
+
* @since 0.0.1
|
|
3250
|
+
* @author AMBROISE PARK Consulting
|
|
3228
3251
|
*/
|
|
3229
|
-
interface
|
|
3230
|
-
/**
|
|
3231
|
-
|
|
3232
|
-
|
|
3233
|
-
|
|
3234
|
-
|
|
3235
|
-
|
|
3236
|
-
|
|
3237
|
-
|
|
3238
|
-
|
|
3239
|
-
|
|
3240
|
-
|
|
3241
|
-
|
|
3242
|
-
|
|
3243
|
-
|
|
3244
|
-
|
|
3245
|
-
|
|
3246
|
-
|
|
3247
|
-
|
|
3248
|
-
|
|
3249
|
-
|
|
3250
|
-
|
|
3251
|
-
|
|
3252
|
-
|
|
3253
|
-
|
|
3254
|
-
|
|
3255
|
-
|
|
3256
|
-
|
|
3252
|
+
interface StripeSubscriptionData {
|
|
3253
|
+
/** Stripe subscription ID */
|
|
3254
|
+
id: string;
|
|
3255
|
+
/** Customer ID */
|
|
3256
|
+
customer: string;
|
|
3257
|
+
/** Subscription status */
|
|
3258
|
+
status: 'incomplete' | 'incomplete_expired' | 'trialing' | 'active' | 'past_due' | 'canceled' | 'unpaid';
|
|
3259
|
+
/** Current period start timestamp */
|
|
3260
|
+
current_period_start: number;
|
|
3261
|
+
/** Current period end timestamp */
|
|
3262
|
+
current_period_end: number;
|
|
3263
|
+
/** Whether the subscription will cancel at period end */
|
|
3264
|
+
cancel_at_period_end: boolean;
|
|
3265
|
+
/** When the subscription was canceled */
|
|
3266
|
+
canceled_at?: number;
|
|
3267
|
+
/** Trial start timestamp */
|
|
3268
|
+
trial_start?: number;
|
|
3269
|
+
/** Trial end timestamp */
|
|
3270
|
+
trial_end?: number;
|
|
3271
|
+
/** When the subscription was created */
|
|
3272
|
+
created: number;
|
|
3273
|
+
/** When the subscription was last updated */
|
|
3274
|
+
updated: number;
|
|
3275
|
+
/** Subscription items */
|
|
3276
|
+
items: {
|
|
3277
|
+
data: Array<{
|
|
3278
|
+
id: string;
|
|
3279
|
+
price: {
|
|
3280
|
+
id: string;
|
|
3281
|
+
unit_amount: number;
|
|
3282
|
+
currency: string;
|
|
3283
|
+
recurring: {
|
|
3284
|
+
interval: 'day' | 'week' | 'month' | 'year';
|
|
3285
|
+
interval_count: number;
|
|
3286
|
+
};
|
|
3287
|
+
product: string;
|
|
3288
|
+
};
|
|
3289
|
+
quantity: number;
|
|
3290
|
+
}>;
|
|
3291
|
+
};
|
|
3292
|
+
/** Default payment method */
|
|
3293
|
+
default_payment_method?: string;
|
|
3294
|
+
/** Collection method */
|
|
3295
|
+
collection_method: 'charge_automatically' | 'send_invoice';
|
|
3296
|
+
/** Days until due for invoices */
|
|
3297
|
+
days_until_due?: number;
|
|
3298
|
+
/** Subscription metadata */
|
|
3299
|
+
metadata: Record<string, string>;
|
|
3257
3300
|
}
|
|
3258
3301
|
/**
|
|
3259
|
-
*
|
|
3260
|
-
*
|
|
3302
|
+
* Stripe payment method data structure
|
|
3303
|
+
*
|
|
3304
|
+
* @version 0.0.1
|
|
3305
|
+
* @since 0.0.1
|
|
3306
|
+
* @author AMBROISE PARK Consulting
|
|
3261
3307
|
*/
|
|
3262
|
-
interface
|
|
3263
|
-
/**
|
|
3264
|
-
|
|
3265
|
-
/**
|
|
3266
|
-
|
|
3267
|
-
/**
|
|
3268
|
-
|
|
3269
|
-
/**
|
|
3270
|
-
|
|
3271
|
-
|
|
3272
|
-
|
|
3273
|
-
|
|
3274
|
-
|
|
3275
|
-
|
|
3276
|
-
|
|
3277
|
-
|
|
3278
|
-
|
|
3279
|
-
|
|
3280
|
-
|
|
3281
|
-
|
|
3282
|
-
|
|
3283
|
-
|
|
3284
|
-
|
|
3308
|
+
interface StripePaymentMethod {
|
|
3309
|
+
/** Stripe payment method ID */
|
|
3310
|
+
id: string;
|
|
3311
|
+
/** Customer ID */
|
|
3312
|
+
customer: string;
|
|
3313
|
+
/** Payment method type */
|
|
3314
|
+
type: 'card' | 'bank_account' | 'us_bank_account' | 'sepa_debit' | 'ideal' | 'sofort' | 'bancontact' | 'p24' | 'giropay' | 'eps' | 'alipay' | 'wechat_pay';
|
|
3315
|
+
/** Card details (if type is 'card') */
|
|
3316
|
+
card?: {
|
|
3317
|
+
brand: 'amex' | 'diners' | 'discover' | 'jcb' | 'mastercard' | 'unionpay' | 'visa' | 'unknown';
|
|
3318
|
+
country: string;
|
|
3319
|
+
exp_month: number;
|
|
3320
|
+
exp_year: number;
|
|
3321
|
+
fingerprint: string;
|
|
3322
|
+
funding: 'credit' | 'debit' | 'prepaid' | 'unknown';
|
|
3323
|
+
last4: string;
|
|
3324
|
+
three_d_secure_usage?: {
|
|
3325
|
+
supported: boolean;
|
|
3326
|
+
};
|
|
3327
|
+
wallet?: {
|
|
3328
|
+
type: 'amex_express_checkout' | 'apple_pay' | 'google_pay' | 'masterpass' | 'samsung_pay' | 'visa_checkout';
|
|
3329
|
+
dynamic_last4?: string;
|
|
3330
|
+
};
|
|
3285
3331
|
};
|
|
3286
|
-
/**
|
|
3287
|
-
|
|
3288
|
-
|
|
3289
|
-
|
|
3290
|
-
|
|
3291
|
-
|
|
3332
|
+
/** Bank account details (if type is 'bank_account') */
|
|
3333
|
+
bank_account?: {
|
|
3334
|
+
account_holder_type: 'individual' | 'company';
|
|
3335
|
+
bank_name: string;
|
|
3336
|
+
country: string;
|
|
3337
|
+
currency: string;
|
|
3338
|
+
fingerprint: string;
|
|
3339
|
+
last4: string;
|
|
3340
|
+
routing_number: string;
|
|
3341
|
+
status: 'new' | 'validated' | 'verified' | 'verification_failed' | 'errored';
|
|
3292
3342
|
};
|
|
3293
|
-
/**
|
|
3294
|
-
|
|
3295
|
-
|
|
3296
|
-
|
|
3297
|
-
|
|
3298
|
-
|
|
3299
|
-
|
|
3300
|
-
|
|
3301
|
-
|
|
3302
|
-
|
|
3303
|
-
|
|
3304
|
-
|
|
3343
|
+
/** Billing details */
|
|
3344
|
+
billing_details: {
|
|
3345
|
+
address?: {
|
|
3346
|
+
city?: string;
|
|
3347
|
+
country?: string;
|
|
3348
|
+
line1?: string;
|
|
3349
|
+
line2?: string;
|
|
3350
|
+
postal_code?: string;
|
|
3351
|
+
state?: string;
|
|
3352
|
+
};
|
|
3353
|
+
email?: string;
|
|
3354
|
+
name?: string;
|
|
3355
|
+
phone?: string;
|
|
3305
3356
|
};
|
|
3306
|
-
/**
|
|
3307
|
-
|
|
3357
|
+
/** When the payment method was created */
|
|
3358
|
+
created: number;
|
|
3359
|
+
/** Whether this is the default payment method */
|
|
3360
|
+
is_default?: boolean;
|
|
3361
|
+
/** Payment method metadata */
|
|
3362
|
+
metadata: Record<string, string>;
|
|
3308
3363
|
}
|
|
3309
3364
|
/**
|
|
3310
|
-
*
|
|
3311
|
-
*
|
|
3365
|
+
* Stripe invoice data structure
|
|
3366
|
+
*
|
|
3367
|
+
* @version 0.0.1
|
|
3368
|
+
* @since 0.0.1
|
|
3369
|
+
* @author AMBROISE PARK Consulting
|
|
3312
3370
|
*/
|
|
3313
|
-
interface
|
|
3314
|
-
/**
|
|
3315
|
-
|
|
3316
|
-
|
|
3317
|
-
|
|
3318
|
-
|
|
3319
|
-
|
|
3320
|
-
|
|
3321
|
-
|
|
3322
|
-
|
|
3323
|
-
|
|
3324
|
-
|
|
3325
|
-
|
|
3326
|
-
|
|
3327
|
-
|
|
3328
|
-
|
|
3329
|
-
|
|
3330
|
-
|
|
3331
|
-
|
|
3332
|
-
|
|
3333
|
-
|
|
3334
|
-
|
|
3335
|
-
|
|
3336
|
-
|
|
3337
|
-
|
|
3338
|
-
|
|
3339
|
-
|
|
3340
|
-
|
|
3341
|
-
|
|
3342
|
-
|
|
3343
|
-
|
|
3344
|
-
|
|
3345
|
-
|
|
3346
|
-
|
|
3347
|
-
|
|
3348
|
-
|
|
3349
|
-
|
|
3350
|
-
|
|
3351
|
-
|
|
3352
|
-
|
|
3353
|
-
|
|
3354
|
-
|
|
3355
|
-
|
|
3356
|
-
|
|
3357
|
-
|
|
3358
|
-
/** Total number of discovered routes */
|
|
3359
|
-
totalRoutes: number;
|
|
3360
|
-
/** Number of routes requiring authentication */
|
|
3361
|
-
authRequired: number;
|
|
3362
|
-
/** Number of public routes */
|
|
3363
|
-
publicRoutes: number;
|
|
3364
|
-
/** Source of routes (auto-discovery vs manual) */
|
|
3365
|
-
source: RouteSource;
|
|
3366
|
-
/** ISO timestamp when routes were generated */
|
|
3367
|
-
generatedAt: string;
|
|
3371
|
+
interface StripeInvoice {
|
|
3372
|
+
/** Stripe invoice ID */
|
|
3373
|
+
id: string;
|
|
3374
|
+
/** Customer ID */
|
|
3375
|
+
customer: string;
|
|
3376
|
+
/** Invoice amount */
|
|
3377
|
+
amount_due: number;
|
|
3378
|
+
/** Invoice amount paid */
|
|
3379
|
+
amount_paid: number;
|
|
3380
|
+
/** Invoice amount remaining */
|
|
3381
|
+
amount_remaining: number;
|
|
3382
|
+
/** Currency code */
|
|
3383
|
+
currency: string;
|
|
3384
|
+
/** Invoice status */
|
|
3385
|
+
status: 'draft' | 'open' | 'paid' | 'void' | 'uncollectible';
|
|
3386
|
+
/** When the invoice was created */
|
|
3387
|
+
created: number;
|
|
3388
|
+
/** When the invoice is due */
|
|
3389
|
+
due_date?: number;
|
|
3390
|
+
/** When the invoice was paid */
|
|
3391
|
+
paid_at?: number;
|
|
3392
|
+
/** When the invoice was voided */
|
|
3393
|
+
voided_at?: number;
|
|
3394
|
+
/** Invoice description */
|
|
3395
|
+
description?: string;
|
|
3396
|
+
/** Invoice line items */
|
|
3397
|
+
lines: {
|
|
3398
|
+
data: Array<{
|
|
3399
|
+
id: string;
|
|
3400
|
+
amount: number;
|
|
3401
|
+
currency: string;
|
|
3402
|
+
description?: string;
|
|
3403
|
+
quantity: number;
|
|
3404
|
+
unit_amount: number;
|
|
3405
|
+
price?: {
|
|
3406
|
+
id: string;
|
|
3407
|
+
unit_amount: number;
|
|
3408
|
+
currency: string;
|
|
3409
|
+
recurring?: {
|
|
3410
|
+
interval: 'day' | 'week' | 'month' | 'year';
|
|
3411
|
+
interval_count: number;
|
|
3412
|
+
};
|
|
3413
|
+
product: string;
|
|
3414
|
+
};
|
|
3415
|
+
}>;
|
|
3368
3416
|
};
|
|
3417
|
+
/** Invoice metadata */
|
|
3418
|
+
metadata: Record<string, string>;
|
|
3419
|
+
/** Subscription ID (if applicable) */
|
|
3420
|
+
subscription?: string;
|
|
3421
|
+
/** Total amount */
|
|
3422
|
+
total: number;
|
|
3423
|
+
/** Tax amount */
|
|
3424
|
+
tax?: number;
|
|
3425
|
+
/** Tax rate applied */
|
|
3426
|
+
tax_rate?: number;
|
|
3369
3427
|
}
|
|
3370
3428
|
/**
|
|
3371
|
-
*
|
|
3372
|
-
*
|
|
3429
|
+
* Stripe customer data structure
|
|
3430
|
+
*
|
|
3431
|
+
* @version 0.0.1
|
|
3432
|
+
* @since 0.0.1
|
|
3433
|
+
* @author AMBROISE PARK Consulting
|
|
3373
3434
|
*/
|
|
3374
|
-
interface
|
|
3375
|
-
/**
|
|
3376
|
-
|
|
3377
|
-
/**
|
|
3378
|
-
|
|
3379
|
-
|
|
3380
|
-
|
|
3381
|
-
|
|
3382
|
-
|
|
3383
|
-
|
|
3384
|
-
|
|
3385
|
-
|
|
3386
|
-
|
|
3387
|
-
|
|
3388
|
-
|
|
3389
|
-
|
|
3390
|
-
|
|
3391
|
-
|
|
3392
|
-
|
|
3393
|
-
|
|
3394
|
-
|
|
3395
|
-
|
|
3396
|
-
|
|
3397
|
-
|
|
3398
|
-
|
|
3399
|
-
|
|
3400
|
-
|
|
3401
|
-
|
|
3402
|
-
|
|
3403
|
-
|
|
3404
|
-
|
|
3405
|
-
|
|
3406
|
-
|
|
3407
|
-
|
|
3408
|
-
|
|
3409
|
-
|
|
3410
|
-
|
|
3411
|
-
|
|
3412
|
-
|
|
3413
|
-
|
|
3414
|
-
|
|
3415
|
-
/** ISO timestamp of generation */
|
|
3416
|
-
generatedAt: string;
|
|
3435
|
+
interface StripeCustomer {
|
|
3436
|
+
/** Stripe customer ID */
|
|
3437
|
+
id: string;
|
|
3438
|
+
/** Customer email */
|
|
3439
|
+
email?: string;
|
|
3440
|
+
/** Customer name */
|
|
3441
|
+
name?: string;
|
|
3442
|
+
/** Customer description */
|
|
3443
|
+
description?: string;
|
|
3444
|
+
/** Customer phone */
|
|
3445
|
+
phone?: string;
|
|
3446
|
+
/** Customer address */
|
|
3447
|
+
address?: {
|
|
3448
|
+
city?: string;
|
|
3449
|
+
country?: string;
|
|
3450
|
+
line1?: string;
|
|
3451
|
+
line2?: string;
|
|
3452
|
+
postal_code?: string;
|
|
3453
|
+
state?: string;
|
|
3454
|
+
};
|
|
3455
|
+
/** Customer balance */
|
|
3456
|
+
balance: number;
|
|
3457
|
+
/** Currency code */
|
|
3458
|
+
currency?: string;
|
|
3459
|
+
/** When the customer was created */
|
|
3460
|
+
created: number;
|
|
3461
|
+
/** When the customer was last updated */
|
|
3462
|
+
updated: number;
|
|
3463
|
+
/** Customer metadata */
|
|
3464
|
+
metadata: Record<string, string>;
|
|
3465
|
+
/** Default payment method */
|
|
3466
|
+
default_source?: string;
|
|
3467
|
+
/** Whether the customer is deleted */
|
|
3468
|
+
deleted?: boolean;
|
|
3469
|
+
/** Customer tax IDs */
|
|
3470
|
+
tax_ids?: {
|
|
3471
|
+
data: Array<{
|
|
3472
|
+
id: string;
|
|
3473
|
+
type: 'eu_vat' | 'br_cnpj' | 'br_cpf' | 'gb_vat' | 'nz_gst' | 'au_abn' | 'au_arn' | 'in_gst' | 'no_vat' | 'za_vat' | 'ch_vat' | 'mx_rfc' | 'sg_uen' | 'ru_inn' | 'ru_kpp' | 'ca_bn' | 'hk_br' | 'es_cif' | 'tw_vat' | 'th_vat' | 'jp_cn' | 'jp_rn' | 'li_uid' | 'my_itn' | 'us_ein' | 'kr_brn' | 'ca_gst_hst' | 'ca_qst' | 'ca_pst_bc' | 'ca_pst_mb' | 'ca_pst_sk' | 'my_sst' | 'sg_gst' | 'ae_trn' | 'cl_tin' | 'sa_vat' | 'id_npwp' | 'za_vat' | 'mx_rfc' | 'sg_uen' | 'ru_inn' | 'ru_kpp' | 'ca_bn' | 'hk_br' | 'es_cif' | 'tw_vat' | 'th_vat' | 'jp_cn' | 'jp_rn' | 'li_uid' | 'my_itn' | 'us_ein' | 'kr_brn' | 'ca_gst_hst' | 'ca_qst' | 'ca_pst_bc' | 'ca_pst_mb' | 'ca_pst_sk' | 'my_sst' | 'sg_gst' | 'ae_trn' | 'cl_tin' | 'sa_vat' | 'id_npwp';
|
|
3474
|
+
value: string;
|
|
3475
|
+
}>;
|
|
3417
3476
|
};
|
|
3418
3477
|
}
|
|
3419
3478
|
/**
|
|
3420
|
-
*
|
|
3421
|
-
*
|
|
3479
|
+
* Stripe product data structure
|
|
3480
|
+
*
|
|
3481
|
+
* @version 0.0.1
|
|
3482
|
+
* @since 0.0.1
|
|
3483
|
+
* @author AMBROISE PARK Consulting
|
|
3422
3484
|
*/
|
|
3423
|
-
interface
|
|
3424
|
-
/**
|
|
3425
|
-
|
|
3426
|
-
/**
|
|
3427
|
-
|
|
3428
|
-
/**
|
|
3429
|
-
|
|
3430
|
-
|
|
3431
|
-
|
|
3432
|
-
|
|
3433
|
-
|
|
3434
|
-
|
|
3485
|
+
interface StripeProduct {
|
|
3486
|
+
/** Stripe product ID */
|
|
3487
|
+
id: string;
|
|
3488
|
+
/** Product name */
|
|
3489
|
+
name: string;
|
|
3490
|
+
/** Product description */
|
|
3491
|
+
description?: string;
|
|
3492
|
+
/** Product images */
|
|
3493
|
+
images: string[];
|
|
3494
|
+
/** Product metadata */
|
|
3495
|
+
metadata: Record<string, string>;
|
|
3496
|
+
/** Whether the product is active */
|
|
3497
|
+
active: boolean;
|
|
3498
|
+
/** When the product was created */
|
|
3499
|
+
created: number;
|
|
3500
|
+
/** When the product was last updated */
|
|
3501
|
+
updated: number;
|
|
3502
|
+
/** Product type */
|
|
3503
|
+
type: 'service' | 'good';
|
|
3504
|
+
/** Product URL */
|
|
3505
|
+
url?: string;
|
|
3506
|
+
/** Product statement descriptor */
|
|
3507
|
+
statement_descriptor?: string;
|
|
3508
|
+
/** Product unit label */
|
|
3509
|
+
unit_label?: string;
|
|
3510
|
+
/** Product tax code */
|
|
3511
|
+
tax_code?: string;
|
|
3435
3512
|
}
|
|
3436
3513
|
/**
|
|
3437
|
-
*
|
|
3438
|
-
*
|
|
3514
|
+
* Stripe price data structure
|
|
3515
|
+
*
|
|
3516
|
+
* @version 0.0.1
|
|
3517
|
+
* @since 0.0.1
|
|
3518
|
+
* @author AMBROISE PARK Consulting
|
|
3439
3519
|
*/
|
|
3440
|
-
interface
|
|
3441
|
-
/**
|
|
3442
|
-
|
|
3443
|
-
|
|
3444
|
-
|
|
3445
|
-
|
|
3446
|
-
|
|
3447
|
-
|
|
3448
|
-
|
|
3449
|
-
|
|
3450
|
-
|
|
3451
|
-
|
|
3452
|
-
|
|
3453
|
-
|
|
3454
|
-
|
|
3455
|
-
|
|
3456
|
-
|
|
3457
|
-
manifest: {
|
|
3458
|
-
/** Application name */
|
|
3459
|
-
name: string;
|
|
3460
|
-
/** Short application name */
|
|
3461
|
-
short_name: string;
|
|
3462
|
-
/** Application description */
|
|
3463
|
-
description: string;
|
|
3464
|
-
/** Start URL */
|
|
3465
|
-
start_url: string;
|
|
3466
|
-
/** Display mode */
|
|
3467
|
-
display: PWADisplayMode;
|
|
3468
|
-
/** Background color */
|
|
3469
|
-
background_color: string;
|
|
3470
|
-
/** Theme color */
|
|
3471
|
-
theme_color: string;
|
|
3472
|
-
/** Array of app icons */
|
|
3473
|
-
icons: Array<{
|
|
3474
|
-
/** Icon source path */
|
|
3475
|
-
src: string;
|
|
3476
|
-
/** Icon sizes (e.g., '192x192') */
|
|
3477
|
-
sizes: string;
|
|
3478
|
-
/** Icon MIME type */
|
|
3479
|
-
type: string;
|
|
3480
|
-
/** Icon purpose (e.g., 'any', 'maskable') */
|
|
3481
|
-
purpose: string;
|
|
3482
|
-
}>;
|
|
3520
|
+
interface StripePrice {
|
|
3521
|
+
/** Stripe price ID */
|
|
3522
|
+
id: string;
|
|
3523
|
+
/** Product ID */
|
|
3524
|
+
product: string;
|
|
3525
|
+
/** Price amount in cents */
|
|
3526
|
+
unit_amount: number;
|
|
3527
|
+
/** Currency code */
|
|
3528
|
+
currency: string;
|
|
3529
|
+
/** Price type */
|
|
3530
|
+
type: 'one_time' | 'recurring';
|
|
3531
|
+
/** Recurring interval (if type is 'recurring') */
|
|
3532
|
+
recurring?: {
|
|
3533
|
+
interval: 'day' | 'week' | 'month' | 'year';
|
|
3534
|
+
interval_count: number;
|
|
3535
|
+
trial_period_days?: number;
|
|
3536
|
+
usage_type: 'licensed' | 'metered';
|
|
3483
3537
|
};
|
|
3484
|
-
/**
|
|
3485
|
-
|
|
3486
|
-
|
|
3487
|
-
|
|
3488
|
-
|
|
3489
|
-
|
|
3490
|
-
|
|
3491
|
-
|
|
3492
|
-
|
|
3493
|
-
|
|
3538
|
+
/** Whether the price is active */
|
|
3539
|
+
active: boolean;
|
|
3540
|
+
/** When the price was created */
|
|
3541
|
+
created: number;
|
|
3542
|
+
/** When the price was last updated */
|
|
3543
|
+
updated: number;
|
|
3544
|
+
/** Price metadata */
|
|
3545
|
+
metadata: Record<string, string>;
|
|
3546
|
+
/** Price nickname */
|
|
3547
|
+
nickname?: string;
|
|
3548
|
+
/** Price tiers (for graduated pricing) */
|
|
3549
|
+
tiers?: Array<{
|
|
3550
|
+
up_to: number | 'inf';
|
|
3551
|
+
unit_amount: number;
|
|
3552
|
+
flat_amount?: number;
|
|
3553
|
+
}>;
|
|
3554
|
+
/** Price tiers mode */
|
|
3555
|
+
tiers_mode?: 'graduated' | 'volume';
|
|
3556
|
+
/** Price transform quantity */
|
|
3557
|
+
transform_quantity?: {
|
|
3558
|
+
divide_by: number;
|
|
3559
|
+
round: 'up' | 'down';
|
|
3494
3560
|
};
|
|
3561
|
+
/** Price lookup key */
|
|
3562
|
+
lookup_key?: string;
|
|
3495
3563
|
}
|
|
3496
3564
|
/**
|
|
3497
|
-
*
|
|
3498
|
-
* @description Configuration for feature discovery and enablement
|
|
3565
|
+
* Checkout options for Stripe checkout session
|
|
3499
3566
|
*
|
|
3500
|
-
* @
|
|
3501
|
-
*
|
|
3502
|
-
*
|
|
3567
|
+
* @version 0.0.1
|
|
3568
|
+
* @since 0.0.1
|
|
3569
|
+
* @author AMBROISE PARK Consulting
|
|
3570
|
+
*/
|
|
3571
|
+
interface CheckoutOptions {
|
|
3572
|
+
priceId: string;
|
|
3573
|
+
mode: 'payment' | 'subscription';
|
|
3574
|
+
successUrl?: string;
|
|
3575
|
+
cancelUrl?: string;
|
|
3576
|
+
metadata?: Record<string, string>;
|
|
3577
|
+
allowPromotionCodes?: boolean;
|
|
3578
|
+
}
|
|
3579
|
+
/**
|
|
3580
|
+
* Billing API type - complete interface for useStripeBilling hook
|
|
3503
3581
|
*
|
|
3504
|
-
* @
|
|
3505
|
-
*
|
|
3506
|
-
*
|
|
3507
|
-
* const featuresConfig: FeaturesPluginConfig = {
|
|
3508
|
-
* available: ['auth', 'billing', 'i18n', 'oauth'],
|
|
3509
|
-
* enabled: ['auth', 'i18n'],
|
|
3510
|
-
* overridden: false
|
|
3511
|
-
* };
|
|
3512
|
-
* ```
|
|
3582
|
+
* @version 0.0.3
|
|
3583
|
+
* @since 0.0.1
|
|
3584
|
+
* @author AMBROISE PARK Consulting
|
|
3513
3585
|
*/
|
|
3514
|
-
interface
|
|
3586
|
+
interface BillingAPI {
|
|
3515
3587
|
/**
|
|
3516
|
-
*
|
|
3517
|
-
*
|
|
3588
|
+
* Unified feature status - single source of truth for billing state.
|
|
3589
|
+
* Replaces deprecated `loading` boolean flag.
|
|
3590
|
+
* - `initializing`: Billing is loading/initializing
|
|
3591
|
+
* - `ready`: Billing fully operational
|
|
3592
|
+
* - `degraded`: Billing unavailable (feature not installed/consent not given)
|
|
3593
|
+
* - `error`: Billing encountered error
|
|
3518
3594
|
*/
|
|
3519
|
-
|
|
3595
|
+
status: FeatureStatus;
|
|
3596
|
+
error: string | null;
|
|
3597
|
+
checkout: (options: CheckoutOptions) => Promise<StripeCheckoutResponse>;
|
|
3598
|
+
cancelSubscription: () => Promise<{
|
|
3599
|
+
success: boolean;
|
|
3600
|
+
endsAt: string;
|
|
3601
|
+
}>;
|
|
3602
|
+
changePlan: (newPriceId: string, billingConfigKey: string) => Promise<{
|
|
3603
|
+
success: boolean;
|
|
3604
|
+
}>;
|
|
3605
|
+
refreshStatus: () => Promise<void>;
|
|
3606
|
+
openCustomerPortal: (returnUrl?: string) => Promise<void>;
|
|
3607
|
+
clearError: () => void;
|
|
3608
|
+
isAvailable: boolean;
|
|
3520
3609
|
}
|
|
3521
3610
|
/**
|
|
3522
|
-
*
|
|
3523
|
-
* @description Single source of truth for all framework configuration
|
|
3611
|
+
* Frontend billing configuration type
|
|
3524
3612
|
*
|
|
3525
|
-
* @
|
|
3526
|
-
*
|
|
3527
|
-
*
|
|
3613
|
+
* @version 0.0.1
|
|
3614
|
+
* @since 0.0.1
|
|
3615
|
+
* @author AMBROISE PARK Consulting
|
|
3528
3616
|
*/
|
|
3529
|
-
|
|
3530
|
-
|
|
3531
|
-
|
|
3532
|
-
|
|
3533
|
-
|
|
3534
|
-
|
|
3535
|
-
|
|
3536
|
-
|
|
3537
|
-
|
|
3538
|
-
|
|
3539
|
-
|
|
3540
|
-
|
|
3541
|
-
|
|
3542
|
-
|
|
3543
|
-
|
|
3544
|
-
|
|
3545
|
-
|
|
3546
|
-
|
|
3547
|
-
|
|
3548
|
-
|
|
3549
|
-
|
|
3550
|
-
|
|
3551
|
-
|
|
3552
|
-
|
|
3553
|
-
|
|
3554
|
-
|
|
3555
|
-
|
|
3556
|
-
|
|
3557
|
-
|
|
3558
|
-
|
|
3559
|
-
|
|
3560
|
-
|
|
3561
|
-
|
|
3562
|
-
|
|
3563
|
-
|
|
3564
|
-
|
|
3565
|
-
|
|
3566
|
-
|
|
3567
|
-
|
|
3568
|
-
|
|
3569
|
-
|
|
3570
|
-
|
|
3571
|
-
|
|
3572
|
-
|
|
3573
|
-
|
|
3574
|
-
|
|
3575
|
-
|
|
3576
|
-
|
|
3577
|
-
|
|
3578
|
-
|
|
3617
|
+
type StripeFrontConfig = v.InferOutput<typeof StripeFrontConfigSchema>;
|
|
3618
|
+
/**
|
|
3619
|
+
* Backend billing configuration type with hooks
|
|
3620
|
+
*
|
|
3621
|
+
* @version 0.0.1
|
|
3622
|
+
* @since 0.0.1
|
|
3623
|
+
* @author AMBROISE PARK Consulting
|
|
3624
|
+
*/
|
|
3625
|
+
type StripeBackConfig = {
|
|
3626
|
+
[key: string]: {
|
|
3627
|
+
type: 'StripePayment' | 'StripeSubscription';
|
|
3628
|
+
name: string;
|
|
3629
|
+
price: number;
|
|
3630
|
+
currency: string;
|
|
3631
|
+
priceId: string;
|
|
3632
|
+
tier: string;
|
|
3633
|
+
duration: string;
|
|
3634
|
+
description?: string;
|
|
3635
|
+
metadata?: Record<string, string>;
|
|
3636
|
+
allowPromotionCodes?: boolean;
|
|
3637
|
+
onPurchaseSuccess?: (userId: string, metadata: Record<string, string>) => Promise<void>;
|
|
3638
|
+
onPurchaseFailure?: (userId: string, metadata: Record<string, string>) => Promise<void>;
|
|
3639
|
+
onSubscriptionCreated?: (userId: string, metadata: Record<string, string>) => Promise<void>;
|
|
3640
|
+
onSubscriptionRenewed?: (userId: string, metadata: Record<string, string>) => Promise<void>;
|
|
3641
|
+
onSubscriptionCancelled?: (userId: string, metadata: Record<string, string>) => Promise<void>;
|
|
3642
|
+
onPaymentFailed?: (userId: string, metadata: Record<string, string>) => Promise<void>;
|
|
3643
|
+
};
|
|
3644
|
+
};
|
|
3645
|
+
/**
|
|
3646
|
+
* Stripe configuration interface
|
|
3647
|
+
*
|
|
3648
|
+
* @version 0.0.1
|
|
3649
|
+
* @since 0.0.1
|
|
3650
|
+
* @author AMBROISE PARK Consulting
|
|
3651
|
+
*/
|
|
3652
|
+
interface StripeConfig {
|
|
3653
|
+
/** Stripe secret key for server-side operations */
|
|
3654
|
+
secretKey: string;
|
|
3655
|
+
/** Stripe publishable key for client-side operations */
|
|
3656
|
+
publishableKey: string;
|
|
3657
|
+
/** Stripe webhook secret for webhook verification */
|
|
3658
|
+
webhookSecret: string;
|
|
3659
|
+
/** Whether to use test mode */
|
|
3660
|
+
testMode: boolean;
|
|
3661
|
+
/** API version to use */
|
|
3662
|
+
apiVersion?: string;
|
|
3663
|
+
/** Maximum number of retries for failed requests */
|
|
3664
|
+
maxNetworkRetries?: number;
|
|
3665
|
+
/** Request timeout in milliseconds */
|
|
3666
|
+
timeout?: number;
|
|
3667
|
+
/** Additional configuration options */
|
|
3668
|
+
options?: {
|
|
3669
|
+
/** Whether to enable telemetry */
|
|
3670
|
+
telemetry?: boolean;
|
|
3671
|
+
/** App information */
|
|
3672
|
+
appInfo?: {
|
|
3673
|
+
name: string;
|
|
3674
|
+
version: string;
|
|
3675
|
+
url?: string;
|
|
3579
3676
|
};
|
|
3580
|
-
}
|
|
3581
|
-
namespace NodeJS {
|
|
3582
|
-
interface ProcessEnv {
|
|
3583
|
-
/** Serialized framework config for Node.js environment */
|
|
3584
|
-
_DNDEV_CONFIG_?: string;
|
|
3585
|
-
}
|
|
3586
|
-
}
|
|
3587
|
-
namespace globalThis {
|
|
3588
|
-
/** Framework configuration (same as window._DNDEV_CONFIG_) */
|
|
3589
|
-
var _DNDEV_CONFIG_: DndevFrameworkConfig | undefined;
|
|
3590
|
-
/** Store registry (same as window._DNDEV_STORES_) */
|
|
3591
|
-
var _DNDEV_STORES_: Record<string, any> | undefined;
|
|
3592
|
-
var __vite_plugin_react_preamble_installed__: boolean | undefined;
|
|
3593
|
-
var __vite_hmr_port: number | undefined;
|
|
3594
|
-
var __NEXT_DATA__: any | undefined;
|
|
3595
|
-
var __REACT_QUERY_CLIENT__: any | undefined;
|
|
3596
|
-
var __REACT_QUERY_PROVIDER__: any | undefined;
|
|
3597
|
-
var __DNDEV_DEBUG: boolean | undefined;
|
|
3598
|
-
var __FIREBASE_DEMO_MODE__: boolean | undefined;
|
|
3599
|
-
var getAvailableThemes: (() => string[]) | undefined;
|
|
3600
|
-
}
|
|
3677
|
+
};
|
|
3601
3678
|
}
|
|
3602
3679
|
|
|
3603
3680
|
/**
|
|
3604
3681
|
* @fileoverview Authentication Types
|
|
3605
3682
|
* @description Type definitions for authentication domain. Defines authentication partner types, user types, session types, and authentication-related interfaces.
|
|
3683
|
+
* Uses unified FeatureStatus enum for feature state management.
|
|
3606
3684
|
*
|
|
3607
|
-
* @version 0.0.
|
|
3685
|
+
* @version 0.0.3
|
|
3608
3686
|
* @since 0.0.1
|
|
3609
3687
|
* @author AMBROISE PARK Consulting
|
|
3610
3688
|
*/
|
|
@@ -4030,24 +4108,24 @@ interface AuthState {
|
|
|
4030
4108
|
};
|
|
4031
4109
|
authService: any;
|
|
4032
4110
|
/**
|
|
4033
|
-
*
|
|
4034
|
-
*
|
|
4111
|
+
* Unified feature status - single source of truth for auth state.
|
|
4112
|
+
* Replaces deprecated boolean flags (initialized, authStateChecked).
|
|
4035
4113
|
*
|
|
4036
|
-
*
|
|
4037
|
-
|
|
4038
|
-
|
|
4039
|
-
|
|
4040
|
-
*
|
|
4041
|
-
* Maps to `BaseStoreState.isDataResolved` in the standard store pattern.
|
|
4114
|
+
* **Lifecycle timeline:**
|
|
4115
|
+
* 1. Store created → `status: 'initializing'` (show loader)
|
|
4116
|
+
* 2. Auth service init + first callback → `status: 'ready'` (normal operation)
|
|
4117
|
+
* 3. If feature disabled/unavailable → `status: 'degraded'` (protected routes redirect with error)
|
|
4118
|
+
* 4. If init fails → `status: 'error'` (protected routes redirect with error)
|
|
4042
4119
|
*
|
|
4043
|
-
*
|
|
4044
|
-
*
|
|
4045
|
-
*
|
|
4046
|
-
*
|
|
4120
|
+
* **Guard behavior:**
|
|
4121
|
+
* - `degraded` + protected route → redirect to auth route with `?error=auth_unavailable`
|
|
4122
|
+
* - `error` + protected route → redirect to auth route with `?error=auth_error`
|
|
4123
|
+
* - `initializing` → show loader, don't redirect
|
|
4124
|
+
* - `ready` → perform normal auth checks
|
|
4047
4125
|
*
|
|
4048
|
-
* @see
|
|
4126
|
+
* @see FEATURE_STATUS for possible values
|
|
4049
4127
|
*/
|
|
4050
|
-
|
|
4128
|
+
status: FeatureStatus;
|
|
4051
4129
|
}
|
|
4052
4130
|
/**
|
|
4053
4131
|
* Authentication actions interface
|
|
@@ -4065,10 +4143,8 @@ interface AuthActions {
|
|
|
4065
4143
|
setAuthLoading: (loading: boolean) => void;
|
|
4066
4144
|
setAuthError: (error: AuthError) => void;
|
|
4067
4145
|
clearAuthError: () => void;
|
|
4068
|
-
/** Set
|
|
4069
|
-
|
|
4070
|
-
/** Set auth state checked. @see BaseStoreActions.setDataResolved */
|
|
4071
|
-
setAuthStateChecked: (checked: boolean) => void;
|
|
4146
|
+
/** Set unified status - single source of truth */
|
|
4147
|
+
setStatus: (status: FeatureStatus) => void;
|
|
4072
4148
|
getCustomClaim: (claim: string) => any;
|
|
4073
4149
|
getCustomClaims: () => Record<string, any>;
|
|
4074
4150
|
emailVerification: {
|
|
@@ -4326,10 +4402,11 @@ interface AuthAPI {
|
|
|
4326
4402
|
partnerId: AuthPartnerId;
|
|
4327
4403
|
error: string;
|
|
4328
4404
|
} | null;
|
|
4329
|
-
/**
|
|
4330
|
-
|
|
4331
|
-
|
|
4332
|
-
|
|
4405
|
+
/**
|
|
4406
|
+
* Unified feature status - single source of truth for auth state.
|
|
4407
|
+
* Replaces deprecated boolean flags. See AuthState.status for detailed lifecycle.
|
|
4408
|
+
*/
|
|
4409
|
+
status: FeatureStatus;
|
|
4333
4410
|
getPartnerState: (partnerId: AuthPartnerId) => string;
|
|
4334
4411
|
setPartnerState: (partnerId: AuthPartnerId, state: string, error?: string) => void;
|
|
4335
4412
|
hasRole: (role: string) => Promise<boolean>;
|
|
@@ -4360,9 +4437,48 @@ interface AuthAPI {
|
|
|
4360
4437
|
isAuthenticated: boolean;
|
|
4361
4438
|
userRole: string;
|
|
4362
4439
|
userTier: string;
|
|
4363
|
-
|
|
4440
|
+
/**
|
|
4441
|
+
* Capability-based access control object.
|
|
4442
|
+
* Usage: `const can = useAuth('can'); if (can.edit('licenses')) { ... }`
|
|
4443
|
+
*/
|
|
4444
|
+
can: CanAPI;
|
|
4364
4445
|
isAvailable: boolean;
|
|
4365
4446
|
}
|
|
4447
|
+
/**
|
|
4448
|
+
* Capability-based access control API
|
|
4449
|
+
*
|
|
4450
|
+
* Provides granular permission checks based on resources and custom capabilities.
|
|
4451
|
+
* Permissions are derived from userProfile.permissions array (format: "resource:action")
|
|
4452
|
+
* and user role (admin bypasses all checks).
|
|
4453
|
+
*
|
|
4454
|
+
* @example
|
|
4455
|
+
* ```typescript
|
|
4456
|
+
* const can = useAuth('can');
|
|
4457
|
+
* if (can.view('dashboard')) { ... }
|
|
4458
|
+
* if (can.edit('licenses')) { ... }
|
|
4459
|
+
* if (can.perform('approve-budget', { amount: 5000 })) { ... }
|
|
4460
|
+
* ```
|
|
4461
|
+
*
|
|
4462
|
+
* @version 0.0.1
|
|
4463
|
+
* @since 0.0.3
|
|
4464
|
+
* @author AMBROISE PARK Consulting
|
|
4465
|
+
*/
|
|
4466
|
+
interface CanAPI {
|
|
4467
|
+
/** Check if user can navigate to a route (replaces canAccess) */
|
|
4468
|
+
navigate: (config: PageAuth | false) => boolean;
|
|
4469
|
+
/** Check if user can view a resource */
|
|
4470
|
+
view: (resource: string) => boolean;
|
|
4471
|
+
/** Check if user can edit a resource */
|
|
4472
|
+
edit: (resource: string) => boolean;
|
|
4473
|
+
/** Check if user can delete a resource */
|
|
4474
|
+
delete: (resource: string) => boolean;
|
|
4475
|
+
/** Check if user can create a resource */
|
|
4476
|
+
create: (resource: string) => boolean;
|
|
4477
|
+
/** Check custom capability with optional context */
|
|
4478
|
+
perform: (action: string, context?: Record<string, any>) => boolean;
|
|
4479
|
+
/** Check if user has specific permission string */
|
|
4480
|
+
has: (permission: string) => boolean;
|
|
4481
|
+
}
|
|
4366
4482
|
|
|
4367
4483
|
/**
|
|
4368
4484
|
* @fileoverview CRUD Constants
|
|
@@ -4388,7 +4504,7 @@ declare const VISIBILITY: {
|
|
|
4388
4504
|
* @since 0.0.1
|
|
4389
4505
|
* @author AMBROISE PARK Consulting
|
|
4390
4506
|
*/
|
|
4391
|
-
declare const FIELD_TYPES: readonly ["array", "avatar", "badge", "boolean", "checkbox", "color", "date", "datetime-local", "email", "file", "geopoint", "hidden", "image", "map", "month", "multiselect", "number", "password", "radio", "reference", "range", "reset", "select", "submit", "tel", "text", "textarea", "time", "timestamp", "url", "week"];
|
|
4507
|
+
declare const FIELD_TYPES: readonly ["address", "array", "avatar", "badge", "boolean", "checkbox", "color", "date", "datetime-local", "email", "file", "geopoint", "hidden", "image", "map", "month", "multiselect", "number", "password", "radio", "reference", "range", "reset", "select", "submit", "tel", "text", "textarea", "time", "timestamp", "url", "week"];
|
|
4392
4508
|
|
|
4393
4509
|
/**
|
|
4394
4510
|
* @fileoverview Schema-Related Type Definitions
|
|
@@ -4434,6 +4550,12 @@ type FieldType = (typeof FIELD_TYPES)[number];
|
|
|
4434
4550
|
* @author AMBROISE PARK Consulting
|
|
4435
4551
|
*/
|
|
4436
4552
|
type FieldTypeToValue = {
|
|
4553
|
+
address: {
|
|
4554
|
+
formatted_address: string;
|
|
4555
|
+
latitude: number;
|
|
4556
|
+
longitude: number;
|
|
4557
|
+
[key: string]: any;
|
|
4558
|
+
};
|
|
4437
4559
|
array: any[];
|
|
4438
4560
|
avatar: string;
|
|
4439
4561
|
badge: string;
|
|
@@ -4934,21 +5056,31 @@ interface ListEntitiesResponse {
|
|
|
4934
5056
|
/**
|
|
4935
5057
|
* @fileoverview CRUD Types
|
|
4936
5058
|
* @description Type definitions for CRUD domain. Defines entity types, field types, and CRUD-related interfaces.
|
|
5059
|
+
* Uses unified FeatureStatus enum for feature state management.
|
|
4937
5060
|
*
|
|
4938
|
-
* @version 0.0.
|
|
5061
|
+
* @version 0.0.3
|
|
4939
5062
|
* @since 0.0.1
|
|
4940
5063
|
* @author AMBROISE PARK Consulting
|
|
4941
5064
|
*/
|
|
5065
|
+
|
|
4942
5066
|
/**
|
|
4943
5067
|
* CRUD API type - complete interface for useCrud hook
|
|
4944
5068
|
*
|
|
4945
|
-
* @version 0.0.
|
|
5069
|
+
* @version 0.0.3
|
|
4946
5070
|
* @since 0.0.1
|
|
4947
5071
|
* @author AMBROISE PARK Consulting
|
|
4948
5072
|
*/
|
|
4949
5073
|
interface CrudAPI<T = unknown> {
|
|
5074
|
+
/**
|
|
5075
|
+
* Unified feature status - single source of truth for CRUD state.
|
|
5076
|
+
* Replaces deprecated `loading` boolean flag.
|
|
5077
|
+
* - `initializing`: CRUD is loading/initializing
|
|
5078
|
+
* - `ready`: CRUD fully operational
|
|
5079
|
+
* - `degraded`: CRUD unavailable (feature not installed/consent not given)
|
|
5080
|
+
* - `error`: CRUD encountered error
|
|
5081
|
+
*/
|
|
5082
|
+
status: FeatureStatus;
|
|
4950
5083
|
data: T | null;
|
|
4951
|
-
loading: boolean;
|
|
4952
5084
|
error: Error | null;
|
|
4953
5085
|
get: (id: string) => Promise<T | null>;
|
|
4954
5086
|
set: (id: string, data: T) => Promise<void>;
|
|
@@ -8515,6 +8647,14 @@ interface UIFieldOptions<T extends FieldType = FieldType> {
|
|
|
8515
8647
|
defaultCountry?: string;
|
|
8516
8648
|
/** Whether to show country flags */
|
|
8517
8649
|
showFlags?: boolean;
|
|
8650
|
+
} : T extends 'address' ? {
|
|
8651
|
+
/**
|
|
8652
|
+
* Whether to enable Google Maps autocomplete (default: false)
|
|
8653
|
+
* Requires env var: VITE_GOOGLE_MAPS_API_KEY (Vite) or NEXT_PUBLIC_GOOGLE_MAPS_API_KEY (Next.js)
|
|
8654
|
+
*/
|
|
8655
|
+
enableGoogleMaps?: boolean;
|
|
8656
|
+
/** Whether to extract district code for Paris addresses */
|
|
8657
|
+
extractDistrictCode?: boolean;
|
|
8518
8658
|
} : never;
|
|
8519
8659
|
}
|
|
8520
8660
|
/**
|
|
@@ -9448,25 +9588,6 @@ interface AppConfig {
|
|
|
9448
9588
|
preset?: string;
|
|
9449
9589
|
/** Feature flags */
|
|
9450
9590
|
features?: FeaturesConfig;
|
|
9451
|
-
/** Observability configuration for monitoring and debugging */
|
|
9452
|
-
observability?: ObservabilityConfig;
|
|
9453
|
-
}
|
|
9454
|
-
/**
|
|
9455
|
-
* Observability configuration for monitoring and debugging
|
|
9456
|
-
*
|
|
9457
|
-
* @version 0.0.2
|
|
9458
|
-
* @since 0.0.1
|
|
9459
|
-
* @author AMBROISE PARK Consulting
|
|
9460
|
-
*/
|
|
9461
|
-
interface ObservabilityConfig {
|
|
9462
|
-
/** Enable store initialization metrics collection */
|
|
9463
|
-
metrics?: boolean;
|
|
9464
|
-
/** Enable health check endpoints */
|
|
9465
|
-
healthChecks?: boolean;
|
|
9466
|
-
/** Enable performance monitoring */
|
|
9467
|
-
performance?: boolean;
|
|
9468
|
-
/** Enable enhanced debugging information */
|
|
9469
|
-
debugging?: boolean;
|
|
9470
9591
|
}
|
|
9471
9592
|
/**
|
|
9472
9593
|
* Custom store configuration for app-specific stores
|
|
@@ -9475,7 +9596,6 @@ interface ObservabilityConfig {
|
|
|
9475
9596
|
* store initialization system. Custom stores benefit from:
|
|
9476
9597
|
* - Shell loader integration (critical stores block render)
|
|
9477
9598
|
* - Retry logic and error handling
|
|
9478
|
-
* - Observability and monitoring
|
|
9479
9599
|
* - Unified initialization flow
|
|
9480
9600
|
*
|
|
9481
9601
|
* @example
|
|
@@ -9592,7 +9712,7 @@ interface AppProvidersProps {
|
|
|
9592
9712
|
* Custom store configurations
|
|
9593
9713
|
*
|
|
9594
9714
|
* Register Zustand stores to benefit from shell loader, retry logic,
|
|
9595
|
-
* error handling
|
|
9715
|
+
* error handling. Critical stores block render.
|
|
9596
9716
|
*
|
|
9597
9717
|
* @example
|
|
9598
9718
|
* ```typescript
|
|
@@ -10251,8 +10371,9 @@ declare const getConnectionsSchema: v.ObjectSchema<{
|
|
|
10251
10371
|
/**
|
|
10252
10372
|
* @fileoverview OAuth Types
|
|
10253
10373
|
* @description Type definitions for OAuth domain. Defines base credentials, user profiles, OAuth partner types, and OAuth-related interfaces.
|
|
10374
|
+
* Uses unified FeatureStatus enum for feature state management.
|
|
10254
10375
|
*
|
|
10255
|
-
* @version 0.0.
|
|
10376
|
+
* @version 0.0.3
|
|
10256
10377
|
* @since 0.0.1
|
|
10257
10378
|
* @author AMBROISE PARK Consulting
|
|
10258
10379
|
*/
|
|
@@ -10574,12 +10695,20 @@ type GitHubPermission = v.InferOutput<typeof githubPermissionSchema>;
|
|
|
10574
10695
|
/**
|
|
10575
10696
|
* OAuth API type - complete interface for useOAuth hook
|
|
10576
10697
|
*
|
|
10577
|
-
* @version 0.0.
|
|
10698
|
+
* @version 0.0.3
|
|
10578
10699
|
* @since 0.0.1
|
|
10579
10700
|
* @author AMBROISE PARK Consulting
|
|
10580
10701
|
*/
|
|
10581
10702
|
interface OAuthAPI {
|
|
10582
|
-
|
|
10703
|
+
/**
|
|
10704
|
+
* Unified feature status - single source of truth for OAuth state.
|
|
10705
|
+
* Replaces deprecated `loading` boolean flag.
|
|
10706
|
+
* - `initializing`: OAuth is loading/initializing
|
|
10707
|
+
* - `ready`: OAuth fully operational
|
|
10708
|
+
* - `degraded`: OAuth unavailable (feature not installed/consent not given)
|
|
10709
|
+
* - `error`: OAuth encountered error
|
|
10710
|
+
*/
|
|
10711
|
+
status: FeatureStatus;
|
|
10583
10712
|
error: string | null;
|
|
10584
10713
|
partners: Record<OAuthPartnerId, any>;
|
|
10585
10714
|
connectedPartners: OAuthPartnerId[];
|
|
@@ -11187,6 +11316,7 @@ declare const index_d$5_CONFIDENCE_LEVELS: typeof CONFIDENCE_LEVELS;
|
|
|
11187
11316
|
declare const index_d$5_CONSENT_CATEGORY: typeof CONSENT_CATEGORY;
|
|
11188
11317
|
declare const index_d$5_CONTEXTS: typeof CONTEXTS;
|
|
11189
11318
|
type index_d$5_CachedError = CachedError;
|
|
11319
|
+
type index_d$5_CanAPI = CanAPI;
|
|
11190
11320
|
type index_d$5_CheckGitHubAccessRequest = CheckGitHubAccessRequest;
|
|
11191
11321
|
type index_d$5_CheckoutMode = CheckoutMode;
|
|
11192
11322
|
type index_d$5_CheckoutOptions = CheckoutOptions;
|
|
@@ -11247,6 +11377,7 @@ type index_d$5_ExchangeTokenParams = ExchangeTokenParams;
|
|
|
11247
11377
|
type index_d$5_ExchangeTokenRequest = ExchangeTokenRequest;
|
|
11248
11378
|
declare const index_d$5_FEATURES: typeof FEATURES;
|
|
11249
11379
|
declare const index_d$5_FEATURE_CONSENT_MATRIX: typeof FEATURE_CONSENT_MATRIX;
|
|
11380
|
+
declare const index_d$5_FEATURE_STATUS: typeof FEATURE_STATUS;
|
|
11250
11381
|
declare const index_d$5_FIREBASE_ERROR_MAP: typeof FIREBASE_ERROR_MAP;
|
|
11251
11382
|
declare const index_d$5_FIRESTORE_ID_PATTERN: typeof FIRESTORE_ID_PATTERN;
|
|
11252
11383
|
type index_d$5_FaviconConfig = FaviconConfig;
|
|
@@ -11256,6 +11387,7 @@ type index_d$5_FeatureConsentRequirement<F extends FeatureName> = FeatureConsent
|
|
|
11256
11387
|
type index_d$5_FeatureHookResult = FeatureHookResult;
|
|
11257
11388
|
type index_d$5_FeatureId = FeatureId;
|
|
11258
11389
|
type index_d$5_FeatureName = FeatureName;
|
|
11390
|
+
type index_d$5_FeatureStatus = FeatureStatus;
|
|
11259
11391
|
type index_d$5_FeaturesConfig = FeaturesConfig;
|
|
11260
11392
|
type index_d$5_FeaturesPluginConfig = FeaturesPluginConfig;
|
|
11261
11393
|
type index_d$5_FeaturesRequiringAnyConsent = FeaturesRequiringAnyConsent;
|
|
@@ -11361,7 +11493,6 @@ type index_d$5_OAuthRefreshResponse = OAuthRefreshResponse;
|
|
|
11361
11493
|
type index_d$5_OAuthResult = OAuthResult;
|
|
11362
11494
|
type index_d$5_OAuthStoreActions = OAuthStoreActions;
|
|
11363
11495
|
type index_d$5_OAuthStoreState = OAuthStoreState;
|
|
11364
|
-
type index_d$5_ObservabilityConfig = ObservabilityConfig;
|
|
11365
11496
|
type index_d$5_Observable<T> = Observable<T>;
|
|
11366
11497
|
type index_d$5_OrderByClause = OrderByClause;
|
|
11367
11498
|
declare const index_d$5_PARTNER_ICONS: typeof PARTNER_ICONS;
|
|
@@ -11562,8 +11693,8 @@ declare const index_d$5_validateSubscriptionData: typeof validateSubscriptionDat
|
|
|
11562
11693
|
declare const index_d$5_validateUserSubscription: typeof validateUserSubscription;
|
|
11563
11694
|
declare const index_d$5_validateWebhookEvent: typeof validateWebhookEvent;
|
|
11564
11695
|
declare namespace index_d$5 {
|
|
11565
|
-
export { index_d$5_AUTH_EVENTS as AUTH_EVENTS, index_d$5_AUTH_PARTNERS as AUTH_PARTNERS, index_d$5_AUTH_PARTNER_STATE as AUTH_PARTNER_STATE, index_d$5_AuthUserSchema as AuthUserSchema, index_d$5_BILLING_EVENTS as BILLING_EVENTS, index_d$5_BREAKPOINT_RANGES as BREAKPOINT_RANGES, index_d$5_BREAKPOINT_THRESHOLDS as BREAKPOINT_THRESHOLDS, index_d$5_COMMON_TIER_CONFIGS as COMMON_TIER_CONFIGS, index_d$5_CONFIDENCE_LEVELS as CONFIDENCE_LEVELS, index_d$5_CONSENT_CATEGORY as CONSENT_CATEGORY, index_d$5_CONTEXTS as CONTEXTS, index_d$5_CheckoutSessionMetadataSchema as CheckoutSessionMetadataSchema, index_d$5_CreateCheckoutSessionRequestSchema as CreateCheckoutSessionRequestSchema, index_d$5_CreateCheckoutSessionResponseSchema as CreateCheckoutSessionResponseSchema, index_d$5_CustomClaimsSchema as CustomClaimsSchema, index_d$5_DEFAULT_LAYOUT_PRESET as DEFAULT_LAYOUT_PRESET, index_d$5_DEFAULT_SUBSCRIPTION as DEFAULT_SUBSCRIPTION, index_d$5_DENSITY as DENSITY, index_d$5_DoNotDevError as DoNotDevError, index_d$5_ENVIRONMENTS as ENVIRONMENTS, index_d$5_EntityHookError as EntityHookError, index_d$5_FEATURES as FEATURES, index_d$5_FEATURE_CONSENT_MATRIX as FEATURE_CONSENT_MATRIX, index_d$5_FIREBASE_ERROR_MAP as FIREBASE_ERROR_MAP, index_d$5_FIRESTORE_ID_PATTERN as FIRESTORE_ID_PATTERN, index_d$5_GITHUB_PERMISSION_LEVELS as GITHUB_PERMISSION_LEVELS, index_d$5_LAYOUT_PRESET as LAYOUT_PRESET, index_d$5_OAUTH_EVENTS as OAUTH_EVENTS, index_d$5_OAUTH_PARTNERS as OAUTH_PARTNERS, index_d$5_PARTNER_ICONS as PARTNER_ICONS, index_d$5_PAYLOAD_EVENTS as PAYLOAD_EVENTS, index_d$5_PERMISSIONS as PERMISSIONS, index_d$5_PLATFORMS as PLATFORMS, index_d$5_PWA_ASSET_TYPES as PWA_ASSET_TYPES, index_d$5_PWA_DISPLAY_MODES as PWA_DISPLAY_MODES, index_d$5_ProductDeclarationSchema as ProductDeclarationSchema, index_d$5_ProductDeclarationsSchema as ProductDeclarationsSchema, index_d$5_ROUTE_SOURCES as ROUTE_SOURCES, index_d$5_ReactNode as ReactNode, index_d$5_STORAGE_SCOPES as STORAGE_SCOPES, index_d$5_STORAGE_TYPES as STORAGE_TYPES, index_d$5_STRIPE_EVENTS as STRIPE_EVENTS, index_d$5_STRIPE_MODES as STRIPE_MODES, index_d$5_SUBSCRIPTION_DURATIONS as SUBSCRIPTION_DURATIONS, index_d$5_SUBSCRIPTION_STATUS as SUBSCRIPTION_STATUS, index_d$5_SUBSCRIPTION_TIERS as SUBSCRIPTION_TIERS, index_d$5_StripeBackConfigSchema as StripeBackConfigSchema, index_d$5_StripeFrontConfigSchema as StripeFrontConfigSchema, index_d$5_StripePaymentSchema as StripePaymentSchema, index_d$5_StripeSubscriptionSchema as StripeSubscriptionSchema, index_d$5_SubscriptionClaimsSchema as SubscriptionClaimsSchema, index_d$5_SubscriptionDataSchema as SubscriptionDataSchema, index_d$5_USER_ROLES as USER_ROLES, index_d$5_UserSubscriptionSchema as UserSubscriptionSchema, index_d$5_WebhookEventSchema as WebhookEventSchema, index_d$5_checkGitHubAccessSchema as checkGitHubAccessSchema, index_d$5_createDefaultSubscriptionClaims as createDefaultSubscriptionClaims, index_d$5_createDefaultUserProfile as createDefaultUserProfile, index_d$5_createEntitySchema as createEntitySchema, index_d$5_deleteEntitySchema as deleteEntitySchema, index_d$5_disconnectOAuthSchema as disconnectOAuthSchema, index_d$5_exchangeTokenSchema as exchangeTokenSchema, index_d$5_getBreakpointFromWidth as getBreakpointFromWidth, index_d$5_getBreakpointUtils as getBreakpointUtils, index_d$5_getConnectionsSchema as getConnectionsSchema, index_d$5_getEntitySchema as getEntitySchema, index_d$5_githubPermissionSchema as githubPermissionSchema, index_d$5_githubRepoConfigSchema as githubRepoConfigSchema, index_d$5_grantGitHubAccessSchema as grantGitHubAccessSchema, index_d$5_isAuthPartnerId as isAuthPartnerId, index_d$5_isBreakpoint as isBreakpoint, index_d$5_isOAuthPartnerId as isOAuthPartnerId, index_d$5_listEntitiesSchema as listEntitiesSchema, index_d$5_overrideFeatures as overrideFeatures, index_d$5_overridePaymentModes as overridePaymentModes, index_d$5_overridePermissions as overridePermissions, index_d$5_overrideSubscriptionStatus as overrideSubscriptionStatus, index_d$5_overrideSubscriptionTiers as overrideSubscriptionTiers, index_d$5_overrideUserRoles as overrideUserRoles, index_d$5_refreshTokenSchema as refreshTokenSchema, index_d$5_revokeGitHubAccessSchema as revokeGitHubAccessSchema, index_d$5_updateEntitySchema as updateEntitySchema, index_d$5_validateAuthPartners as validateAuthPartners, index_d$5_validateAuthSchemas as validateAuthSchemas, index_d$5_validateAuthUser as validateAuthUser, index_d$5_validateBillingSchemas as validateBillingSchemas, index_d$5_validateCheckoutSessionMetadata as validateCheckoutSessionMetadata, index_d$5_validateCreateCheckoutSessionRequest as validateCreateCheckoutSessionRequest, index_d$5_validateCreateCheckoutSessionResponse as validateCreateCheckoutSessionResponse, index_d$5_validateCustomClaims as validateCustomClaims, index_d$5_validateOAuthPartners as validateOAuthPartners, index_d$5_validateStripeBackConfig as validateStripeBackConfig, index_d$5_validateStripeFrontConfig as validateStripeFrontConfig, index_d$5_validateSubscriptionClaims as validateSubscriptionClaims, index_d$5_validateSubscriptionData as validateSubscriptionData, index_d$5_validateUserSubscription as validateUserSubscription, index_d$5_validateWebhookEvent as validateWebhookEvent };
|
|
11566
|
-
export type { index_d$5_AccountLinkResult as AccountLinkResult, index_d$5_AccountLinkingInfo as AccountLinkingInfo, index_d$5_AdminCheckHookResult as AdminCheckHookResult, index_d$5_AdminClaims as AdminClaims, index_d$5_ApiResponse as ApiResponse, index_d$5_AppConfig as AppConfig, index_d$5_AppCookieCategories as AppCookieCategories, index_d$5_AppMetadata as AppMetadata, index_d$5_AppProvidersProps as AppProvidersProps, index_d$5_AssetsPluginConfig as AssetsPluginConfig, index_d$5_AttemptRecord as AttemptRecord, index_d$5_AuthAPI as AuthAPI, index_d$5_AuthActions as AuthActions, index_d$5_AuthConfig as AuthConfig, index_d$5_AuthContextValue as AuthContextValue, index_d$5_AuthCoreHookResult as AuthCoreHookResult, index_d$5_AuthError as AuthError, index_d$5_AuthEventData as AuthEventData, index_d$5_AuthEventKey as AuthEventKey, index_d$5_AuthEventName as AuthEventName, index_d$5_AuthMethod as AuthMethod, index_d$5_AuthPartner as AuthPartner, index_d$5_AuthPartnerButton as AuthPartnerButton, index_d$5_AuthPartnerHookResult as AuthPartnerHookResult, index_d$5_AuthPartnerId as AuthPartnerId, index_d$5_AuthPartnerResult as AuthPartnerResult, index_d$5_AuthPartnerState as AuthPartnerState, index_d$5_AuthProvider as AuthProvider, index_d$5_AuthProviderProps as AuthProviderProps, index_d$5_AuthRedirectHookResult as AuthRedirectHookResult, index_d$5_AuthRedirectOptions as AuthRedirectOptions, index_d$5_AuthResult as AuthResult, index_d$5_AuthState as AuthState, index_d$5_AuthStateStore as AuthStateStore, index_d$5_AuthStatus as AuthStatus, index_d$5_AuthTokenHookResult as AuthTokenHookResult, index_d$5_AuthUser as AuthUser, index_d$5_BaseActions as BaseActions, index_d$5_BaseCredentials as BaseCredentials, index_d$5_BaseDocument as BaseDocument, index_d$5_BaseEntityFields as BaseEntityFields, index_d$5_BasePartnerState as BasePartnerState, index_d$5_BaseState as BaseState, index_d$5_BaseStoreActions as BaseStoreActions, index_d$5_BaseStoreState as BaseStoreState, index_d$5_BaseUserProfile as BaseUserProfile, index_d$5_BasicUserInfo as BasicUserInfo, index_d$5_BillingAPI as BillingAPI, index_d$5_BillingAdapter as BillingAdapter, index_d$5_BillingErrorCode as BillingErrorCode, index_d$5_BillingEvent as BillingEvent, index_d$5_BillingEventData as BillingEventData, index_d$5_BillingEventKey as BillingEventKey, index_d$5_BillingEventName as BillingEventName, index_d$5_BillingProvider as BillingProvider, index_d$5_BillingProviderConfig as BillingProviderConfig, index_d$5_Breakpoint as Breakpoint, index_d$5_BreakpointUtils as BreakpointUtils, index_d$5_BusinessEntity as BusinessEntity, index_d$5_CachedError as CachedError, index_d$5_CheckGitHubAccessRequest as CheckGitHubAccessRequest, index_d$5_CheckoutMode as CheckoutMode, index_d$5_CheckoutOptions as CheckoutOptions, index_d$5_CheckoutSessionMetadata as CheckoutSessionMetadata, index_d$5_ColumnDef as ColumnDef, index_d$5_CommonSubscriptionFeatures as CommonSubscriptionFeatures, index_d$5_CommonTranslations as CommonTranslations, index_d$5_ConfidenceLevel as ConfidenceLevel, index_d$5_ConsentAPI as ConsentAPI, index_d$5_ConsentActions as ConsentActions, index_d$5_ConsentCategory as ConsentCategory, index_d$5_ConsentState as ConsentState, index_d$5_Context as Context, index_d$5_CookieOptions as CookieOptions, index_d$5_CreateCheckoutSessionRequest as CreateCheckoutSessionRequest, index_d$5_CreateCheckoutSessionResponse as CreateCheckoutSessionResponse, index_d$5_CreateEntityData as CreateEntityData, index_d$5_CreateEntityRequest as CreateEntityRequest, index_d$5_CreateEntityResponse as CreateEntityResponse, index_d$5_CrudAPI as CrudAPI, index_d$5_CustomClaims as CustomClaims, index_d$5_CustomStoreConfig as CustomStoreConfig, index_d$5_DateValue as DateValue, index_d$5_DeleteEntityRequest as DeleteEntityRequest, index_d$5_DeleteEntityResponse as DeleteEntityResponse, index_d$5_Density as Density, index_d$5_DnDevLayoutProps as DnDevLayoutProps, index_d$5_DnDevOverride as DnDevOverride, index_d$5_DndevFrameworkConfig as DndevFrameworkConfig, index_d$5_DoNotDevCookieCategories as DoNotDevCookieCategories, index_d$5_DynamicFormRule as DynamicFormRule, index_d$5_EffectiveConnectionType as EffectiveConnectionType, index_d$5_EmailVerificationHookResult as EmailVerificationHookResult, index_d$5_EmailVerificationStatus as EmailVerificationStatus, index_d$5_Entity as Entity, index_d$5_EntityField as EntityField, index_d$5_EntityHookErrors as EntityHookErrors, index_d$5_EntityMetadata as EntityMetadata, index_d$5_EntityTemplateProps as EntityTemplateProps, index_d$5_EntityTranslations as EntityTranslations, index_d$5_EnvironmentMode as EnvironmentMode, index_d$5_ErrorCode as ErrorCode, index_d$5_ErrorSeverity as ErrorSeverity, index_d$5_ErrorSource as ErrorSource, index_d$5_ExchangeTokenParams as ExchangeTokenParams, index_d$5_ExchangeTokenRequest as ExchangeTokenRequest, index_d$5_FaviconConfig as FaviconConfig, index_d$5_Feature as Feature, index_d$5_FeatureAccessHookResult as FeatureAccessHookResult, index_d$5_FeatureConsentRequirement as FeatureConsentRequirement, index_d$5_FeatureHookResult as FeatureHookResult, index_d$5_FeatureId as FeatureId, index_d$5_FeatureName as FeatureName, index_d$5_FeaturesConfig as FeaturesConfig, index_d$5_FeaturesPluginConfig as FeaturesPluginConfig, index_d$5_FeaturesRequiringAnyConsent as FeaturesRequiringAnyConsent, index_d$5_FeaturesRequiringConsent as FeaturesRequiringConsent, index_d$5_FeaturesWithoutConsent as FeaturesWithoutConsent, index_d$5_FieldCondition as FieldCondition, index_d$5_FieldConfig as FieldConfig, index_d$5_FieldType as FieldType, index_d$5_FieldTypeToValue as FieldTypeToValue, index_d$5_FirebaseCallOptions as FirebaseCallOptions, index_d$5_FirebaseConfig as FirebaseConfig, index_d$5_FirestoreTimestamp as FirestoreTimestamp, index_d$5_FirestoreUniqueConstraintValidator as FirestoreUniqueConstraintValidator, index_d$5_FooterConfig as FooterConfig, index_d$5_FooterZoneConfig as FooterZoneConfig, index_d$5_FormConfig as FormConfig, index_d$5_FormStep as FormStep, index_d$5_FunctionCallConfig as FunctionCallConfig, index_d$5_FunctionCallContext as FunctionCallContext, index_d$5_FunctionCallOptions as FunctionCallOptions, index_d$5_FunctionCallResult as FunctionCallResult, index_d$5_FunctionClient as FunctionClient, index_d$5_FunctionClientFactoryOptions as FunctionClientFactoryOptions, index_d$5_FunctionError as FunctionError, index_d$5_FunctionLoader as FunctionLoader, index_d$5_FunctionPlatform as FunctionPlatform, index_d$5_FunctionResponse as FunctionResponse, index_d$5_FunctionSchema as FunctionSchema, index_d$5_FunctionSchemas as FunctionSchemas, index_d$5_FunctionSystem as FunctionSystem, index_d$5_GetCustomClaimsResponse as GetCustomClaimsResponse, index_d$5_GetEntityData as GetEntityData, index_d$5_GetEntityRequest as GetEntityRequest, index_d$5_GetEntityResponse as GetEntityResponse, index_d$5_GetUserAuthStatusResponse as GetUserAuthStatusResponse, index_d$5_GitHubPermission as GitHubPermission, index_d$5_GitHubRepoConfig as GitHubRepoConfig, index_d$5_GrantGitHubAccessRequest as GrantGitHubAccessRequest, index_d$5_HeaderZoneConfig as HeaderZoneConfig, index_d$5_I18nConfig as I18nConfig, index_d$5_I18nPluginConfig as I18nPluginConfig, index_d$5_I18nProviderProps as I18nProviderProps, index_d$5_ID as ID, index_d$5_INetworkManager as INetworkManager, index_d$5_IStorageManager as IStorageManager, index_d$5_IStorageStrategy as IStorageStrategy, index_d$5_Invoice as Invoice, index_d$5_InvoiceItem as InvoiceItem, index_d$5_LanguageInfo as LanguageInfo, index_d$5_LayoutConfig as LayoutConfig, index_d$5_LayoutInput as LayoutInput, index_d$5_LayoutPreset as LayoutPreset, index_d$5_LegalCompanyInfo as LegalCompanyInfo, index_d$5_LegalConfig as LegalConfig, index_d$5_LegalContactInfo as LegalContactInfo, index_d$5_LegalDirectorInfo as LegalDirectorInfo, index_d$5_LegalHostingInfo as LegalHostingInfo, index_d$5_LegalJurisdictionInfo as LegalJurisdictionInfo, index_d$5_LegalSectionsConfig as LegalSectionsConfig, index_d$5_LegalWebsiteInfo as LegalWebsiteInfo, index_d$5_ListEntitiesRequest as ListEntitiesRequest, index_d$5_ListEntitiesResponse as ListEntitiesResponse, index_d$5_ListEntityData as ListEntityData, index_d$5_ListOptions as ListOptions, index_d$5_ListResponse as ListResponse, index_d$5_LoadingActions as LoadingActions, index_d$5_LoadingState as LoadingState, index_d$5_MergedBarConfig as MergedBarConfig, index_d$5_MobileBehaviorConfig as MobileBehaviorConfig, index_d$5_ModalActions as ModalActions, index_d$5_ModalState as ModalState, index_d$5_MutationResponse as MutationResponse, index_d$5_NavigationRoute as NavigationRoute, index_d$5_NetworkCheckConfig as NetworkCheckConfig, index_d$5_NetworkConnectionType as NetworkConnectionType, index_d$5_NetworkReconnectCallback as NetworkReconnectCallback, NetworkState$1 as NetworkState, index_d$5_NetworkStatus as NetworkStatus, index_d$5_NetworkStatusHookResult as NetworkStatusHookResult, index_d$5_OAuthAPI as OAuthAPI, index_d$5_OAuthApiRequestOptions as OAuthApiRequestOptions, index_d$5_OAuthCallbackHookResult as OAuthCallbackHookResult, index_d$5_OAuthConnection as OAuthConnection, index_d$5_OAuthConnectionInfo as OAuthConnectionInfo, index_d$5_OAuthConnectionRequest as OAuthConnectionRequest, index_d$5_OAuthConnectionStatus as OAuthConnectionStatus, index_d$5_OAuthCredentials as OAuthCredentials, index_d$5_OAuthEventData as OAuthEventData, index_d$5_OAuthEventKey as OAuthEventKey, index_d$5_OAuthEventName as OAuthEventName, index_d$5_OAuthPartner as OAuthPartner, index_d$5_OAuthPartnerButton as OAuthPartnerButton, index_d$5_OAuthPartnerHookResult as OAuthPartnerHookResult, index_d$5_OAuthPartnerId as OAuthPartnerId, index_d$5_OAuthPartnerResult as OAuthPartnerResult, index_d$5_OAuthPartnerState as OAuthPartnerState, index_d$5_OAuthPurpose as OAuthPurpose, index_d$5_OAuthRefreshRequest as OAuthRefreshRequest, index_d$5_OAuthRefreshResponse as OAuthRefreshResponse, index_d$5_OAuthResult as OAuthResult, index_d$5_OAuthStoreActions as OAuthStoreActions, index_d$5_OAuthStoreState as OAuthStoreState, index_d$5_ObservabilityConfig as ObservabilityConfig, index_d$5_Observable as Observable, index_d$5_OrderByClause as OrderByClause, index_d$5_PWAAssetType as PWAAssetType, index_d$5_PWADisplayMode as PWADisplayMode, index_d$5_PWAPluginConfig as PWAPluginConfig, index_d$5_PageAuth as PageAuth, index_d$5_PageMeta as PageMeta, index_d$5_PaginationOptions as PaginationOptions, index_d$5_PartnerButton as PartnerButton, index_d$5_PartnerConnectionState as PartnerConnectionState, index_d$5_PartnerIconId as PartnerIconId, index_d$5_PartnerId as PartnerId, index_d$5_PartnerResult as PartnerResult, index_d$5_PartnerType as PartnerType, index_d$5_PayloadCacheEventData as PayloadCacheEventData, index_d$5_PayloadDocument as PayloadDocument, index_d$5_PayloadDocumentEventData as PayloadDocumentEventData, index_d$5_PayloadEventKey as PayloadEventKey, index_d$5_PayloadEventName as PayloadEventName, index_d$5_PayloadGlobalEventData as PayloadGlobalEventData, index_d$5_PayloadMediaEventData as PayloadMediaEventData, index_d$5_PayloadPageRegenerationEventData as PayloadPageRegenerationEventData, index_d$5_PayloadRequest as PayloadRequest, index_d$5_PayloadUserEventData as PayloadUserEventData, index_d$5_PaymentEventData as PaymentEventData, index_d$5_PaymentMethod as PaymentMethod, index_d$5_PaymentMethodType as PaymentMethodType, index_d$5_PaymentMode as PaymentMode, index_d$5_Permission as Permission, index_d$5_Platform as Platform, index_d$5_PresetConfig as PresetConfig, index_d$5_PresetRegistry as PresetRegistry, index_d$5_ProcessPaymentSuccessRequest as ProcessPaymentSuccessRequest, index_d$5_ProcessPaymentSuccessResponse as ProcessPaymentSuccessResponse, index_d$5_ProductDeclaration as ProductDeclaration, index_d$5_ProviderInstances as ProviderInstances, index_d$5_RateLimitConfig as RateLimitConfig, index_d$5_RateLimitManager as RateLimitManager, index_d$5_RateLimitResult as RateLimitResult, index_d$5_RateLimitState as RateLimitState, index_d$5_RateLimiter as RateLimiter, index_d$5_ReadCallback as ReadCallback, index_d$5_Reference as Reference, index_d$5_RefreshSubscriptionRequest as RefreshSubscriptionRequest, index_d$5_RefreshSubscriptionResponse as RefreshSubscriptionResponse, index_d$5_RemoveCustomClaimsResponse as RemoveCustomClaimsResponse, index_d$5_ResolvedLayoutConfig as ResolvedLayoutConfig, index_d$5_RevokeGitHubAccessRequest as RevokeGitHubAccessRequest, index_d$5_RouteMeta as RouteMeta, index_d$5_RouteSource as RouteSource, index_d$5_RoutesPluginConfig as RoutesPluginConfig, index_d$5_SEOConfig as SEOConfig, index_d$5_SchemaMetadata as SchemaMetadata, index_d$5_SetCustomClaimsResponse as SetCustomClaimsResponse, index_d$5_SidebarZoneConfig as SidebarZoneConfig, index_d$5_SlotContent as SlotContent, index_d$5_StorageOptions as StorageOptions, index_d$5_StorageScope as StorageScope, index_d$5_StorageType as StorageType, index_d$5_Store as Store, index_d$5_StoreApi as StoreApi, index_d$5_StripeBackConfig as StripeBackConfig, index_d$5_StripeCheckoutRequest as StripeCheckoutRequest, index_d$5_StripeCheckoutResponse as StripeCheckoutResponse, index_d$5_StripeCheckoutSessionEventData as StripeCheckoutSessionEventData, index_d$5_StripeConfig as StripeConfig, index_d$5_StripeCustomer as StripeCustomer, index_d$5_StripeCustomerEventData as StripeCustomerEventData, index_d$5_StripeEventData as StripeEventData, index_d$5_StripeEventKey as StripeEventKey, index_d$5_StripeEventName as StripeEventName, index_d$5_StripeFrontConfig as StripeFrontConfig, index_d$5_StripeInvoice as StripeInvoice, index_d$5_StripeInvoiceEventData as StripeInvoiceEventData, index_d$5_StripePayment as StripePayment, index_d$5_StripePaymentIntentEventData as StripePaymentIntentEventData, index_d$5_StripePaymentMethod as StripePaymentMethod, index_d$5_StripePrice as StripePrice, index_d$5_StripeProduct as StripeProduct, index_d$5_StripeProvider as StripeProvider, index_d$5_StripeSubscription as StripeSubscription, index_d$5_StripeSubscriptionData as StripeSubscriptionData, index_d$5_StripeWebhookEvent as StripeWebhookEvent, index_d$5_StripeWebhookEventData as StripeWebhookEventData, index_d$5_Subscription as Subscription, index_d$5_SubscriptionClaims as SubscriptionClaims, index_d$5_SubscriptionConfig as SubscriptionConfig, index_d$5_SubscriptionData as SubscriptionData, index_d$5_SubscriptionDuration as SubscriptionDuration, index_d$5_SubscriptionEventData as SubscriptionEventData, index_d$5_SubscriptionHookResult as SubscriptionHookResult, index_d$5_SubscriptionInfo as SubscriptionInfo, index_d$5_SubscriptionStatus as SubscriptionStatus, index_d$5_SubscriptionTier as SubscriptionTier, index_d$5_SupportedLanguage as SupportedLanguage, index_d$5_ThemeActions as ThemeActions, index_d$5_ThemeInfo as ThemeInfo, index_d$5_ThemeMode as ThemeMode, index_d$5_ThemeState as ThemeState, index_d$5_ThemesPluginConfig as ThemesPluginConfig, index_d$5_TierAccessHookResult as TierAccessHookResult, index_d$5_Timestamp as Timestamp, index_d$5_TokenInfo as TokenInfo, index_d$5_TokenResponse as TokenResponse, index_d$5_TokenState as TokenState, index_d$5_TokenStatus as TokenStatus, index_d$5_TranslationOptions as TranslationOptions, index_d$5_TranslationResource as TranslationResource, index_d$5_UIFieldOptions as UIFieldOptions, index_d$5_UniqueConstraintValidator as UniqueConstraintValidator, index_d$5_UnsubscribeFn as UnsubscribeFn, index_d$5_UpdateEntityData as UpdateEntityData, index_d$5_UpdateEntityRequest as UpdateEntityRequest, index_d$5_UpdateEntityResponse as UpdateEntityResponse, index_d$5_UseFunctionsMutationOptions as UseFunctionsMutationOptions, index_d$5_UseFunctionsQueryOptions as UseFunctionsQueryOptions, index_d$5_UseTranslationOptionsEnhanced as UseTranslationOptionsEnhanced, index_d$5_UserContext as UserContext, index_d$5_UserProfile as UserProfile, index_d$5_UserProviderData as UserProviderData, index_d$5_UserRole as UserRole, index_d$5_UserSubscription as UserSubscription, index_d$5_ValidationRules as ValidationRules, index_d$5_ValueTypeForField as ValueTypeForField, index_d$5_Visibility as Visibility, index_d$5_WebhookEvent as WebhookEvent, index_d$5_WebhookEventData as WebhookEventData, index_d$5_WhereClause as WhereClause, index_d$5_WhereOperator as WhereOperator, index_d$5_WithMetadata as WithMetadata, index_d$5_dndevSchema as dndevSchema };
|
|
11696
|
+
export { index_d$5_AUTH_EVENTS as AUTH_EVENTS, index_d$5_AUTH_PARTNERS as AUTH_PARTNERS, index_d$5_AUTH_PARTNER_STATE as AUTH_PARTNER_STATE, index_d$5_AuthUserSchema as AuthUserSchema, index_d$5_BILLING_EVENTS as BILLING_EVENTS, index_d$5_BREAKPOINT_RANGES as BREAKPOINT_RANGES, index_d$5_BREAKPOINT_THRESHOLDS as BREAKPOINT_THRESHOLDS, index_d$5_COMMON_TIER_CONFIGS as COMMON_TIER_CONFIGS, index_d$5_CONFIDENCE_LEVELS as CONFIDENCE_LEVELS, index_d$5_CONSENT_CATEGORY as CONSENT_CATEGORY, index_d$5_CONTEXTS as CONTEXTS, index_d$5_CheckoutSessionMetadataSchema as CheckoutSessionMetadataSchema, index_d$5_CreateCheckoutSessionRequestSchema as CreateCheckoutSessionRequestSchema, index_d$5_CreateCheckoutSessionResponseSchema as CreateCheckoutSessionResponseSchema, index_d$5_CustomClaimsSchema as CustomClaimsSchema, index_d$5_DEFAULT_LAYOUT_PRESET as DEFAULT_LAYOUT_PRESET, index_d$5_DEFAULT_SUBSCRIPTION as DEFAULT_SUBSCRIPTION, index_d$5_DENSITY as DENSITY, index_d$5_DoNotDevError as DoNotDevError, index_d$5_ENVIRONMENTS as ENVIRONMENTS, index_d$5_EntityHookError as EntityHookError, index_d$5_FEATURES as FEATURES, index_d$5_FEATURE_CONSENT_MATRIX as FEATURE_CONSENT_MATRIX, index_d$5_FEATURE_STATUS as FEATURE_STATUS, index_d$5_FIREBASE_ERROR_MAP as FIREBASE_ERROR_MAP, index_d$5_FIRESTORE_ID_PATTERN as FIRESTORE_ID_PATTERN, index_d$5_GITHUB_PERMISSION_LEVELS as GITHUB_PERMISSION_LEVELS, index_d$5_LAYOUT_PRESET as LAYOUT_PRESET, index_d$5_OAUTH_EVENTS as OAUTH_EVENTS, index_d$5_OAUTH_PARTNERS as OAUTH_PARTNERS, index_d$5_PARTNER_ICONS as PARTNER_ICONS, index_d$5_PAYLOAD_EVENTS as PAYLOAD_EVENTS, index_d$5_PERMISSIONS as PERMISSIONS, index_d$5_PLATFORMS as PLATFORMS, index_d$5_PWA_ASSET_TYPES as PWA_ASSET_TYPES, index_d$5_PWA_DISPLAY_MODES as PWA_DISPLAY_MODES, index_d$5_ProductDeclarationSchema as ProductDeclarationSchema, index_d$5_ProductDeclarationsSchema as ProductDeclarationsSchema, index_d$5_ROUTE_SOURCES as ROUTE_SOURCES, index_d$5_ReactNode as ReactNode, index_d$5_STORAGE_SCOPES as STORAGE_SCOPES, index_d$5_STORAGE_TYPES as STORAGE_TYPES, index_d$5_STRIPE_EVENTS as STRIPE_EVENTS, index_d$5_STRIPE_MODES as STRIPE_MODES, index_d$5_SUBSCRIPTION_DURATIONS as SUBSCRIPTION_DURATIONS, index_d$5_SUBSCRIPTION_STATUS as SUBSCRIPTION_STATUS, index_d$5_SUBSCRIPTION_TIERS as SUBSCRIPTION_TIERS, index_d$5_StripeBackConfigSchema as StripeBackConfigSchema, index_d$5_StripeFrontConfigSchema as StripeFrontConfigSchema, index_d$5_StripePaymentSchema as StripePaymentSchema, index_d$5_StripeSubscriptionSchema as StripeSubscriptionSchema, index_d$5_SubscriptionClaimsSchema as SubscriptionClaimsSchema, index_d$5_SubscriptionDataSchema as SubscriptionDataSchema, index_d$5_USER_ROLES as USER_ROLES, index_d$5_UserSubscriptionSchema as UserSubscriptionSchema, index_d$5_WebhookEventSchema as WebhookEventSchema, index_d$5_checkGitHubAccessSchema as checkGitHubAccessSchema, index_d$5_createDefaultSubscriptionClaims as createDefaultSubscriptionClaims, index_d$5_createDefaultUserProfile as createDefaultUserProfile, index_d$5_createEntitySchema as createEntitySchema, index_d$5_deleteEntitySchema as deleteEntitySchema, index_d$5_disconnectOAuthSchema as disconnectOAuthSchema, index_d$5_exchangeTokenSchema as exchangeTokenSchema, index_d$5_getBreakpointFromWidth as getBreakpointFromWidth, index_d$5_getBreakpointUtils as getBreakpointUtils, index_d$5_getConnectionsSchema as getConnectionsSchema, index_d$5_getEntitySchema as getEntitySchema, index_d$5_githubPermissionSchema as githubPermissionSchema, index_d$5_githubRepoConfigSchema as githubRepoConfigSchema, index_d$5_grantGitHubAccessSchema as grantGitHubAccessSchema, index_d$5_isAuthPartnerId as isAuthPartnerId, index_d$5_isBreakpoint as isBreakpoint, index_d$5_isOAuthPartnerId as isOAuthPartnerId, index_d$5_listEntitiesSchema as listEntitiesSchema, index_d$5_overrideFeatures as overrideFeatures, index_d$5_overridePaymentModes as overridePaymentModes, index_d$5_overridePermissions as overridePermissions, index_d$5_overrideSubscriptionStatus as overrideSubscriptionStatus, index_d$5_overrideSubscriptionTiers as overrideSubscriptionTiers, index_d$5_overrideUserRoles as overrideUserRoles, index_d$5_refreshTokenSchema as refreshTokenSchema, index_d$5_revokeGitHubAccessSchema as revokeGitHubAccessSchema, index_d$5_updateEntitySchema as updateEntitySchema, index_d$5_validateAuthPartners as validateAuthPartners, index_d$5_validateAuthSchemas as validateAuthSchemas, index_d$5_validateAuthUser as validateAuthUser, index_d$5_validateBillingSchemas as validateBillingSchemas, index_d$5_validateCheckoutSessionMetadata as validateCheckoutSessionMetadata, index_d$5_validateCreateCheckoutSessionRequest as validateCreateCheckoutSessionRequest, index_d$5_validateCreateCheckoutSessionResponse as validateCreateCheckoutSessionResponse, index_d$5_validateCustomClaims as validateCustomClaims, index_d$5_validateOAuthPartners as validateOAuthPartners, index_d$5_validateStripeBackConfig as validateStripeBackConfig, index_d$5_validateStripeFrontConfig as validateStripeFrontConfig, index_d$5_validateSubscriptionClaims as validateSubscriptionClaims, index_d$5_validateSubscriptionData as validateSubscriptionData, index_d$5_validateUserSubscription as validateUserSubscription, index_d$5_validateWebhookEvent as validateWebhookEvent };
|
|
11697
|
+
export type { index_d$5_AccountLinkResult as AccountLinkResult, index_d$5_AccountLinkingInfo as AccountLinkingInfo, index_d$5_AdminCheckHookResult as AdminCheckHookResult, index_d$5_AdminClaims as AdminClaims, index_d$5_ApiResponse as ApiResponse, index_d$5_AppConfig as AppConfig, index_d$5_AppCookieCategories as AppCookieCategories, index_d$5_AppMetadata as AppMetadata, index_d$5_AppProvidersProps as AppProvidersProps, index_d$5_AssetsPluginConfig as AssetsPluginConfig, index_d$5_AttemptRecord as AttemptRecord, index_d$5_AuthAPI as AuthAPI, index_d$5_AuthActions as AuthActions, index_d$5_AuthConfig as AuthConfig, index_d$5_AuthContextValue as AuthContextValue, index_d$5_AuthCoreHookResult as AuthCoreHookResult, index_d$5_AuthError as AuthError, index_d$5_AuthEventData as AuthEventData, index_d$5_AuthEventKey as AuthEventKey, index_d$5_AuthEventName as AuthEventName, index_d$5_AuthMethod as AuthMethod, index_d$5_AuthPartner as AuthPartner, index_d$5_AuthPartnerButton as AuthPartnerButton, index_d$5_AuthPartnerHookResult as AuthPartnerHookResult, index_d$5_AuthPartnerId as AuthPartnerId, index_d$5_AuthPartnerResult as AuthPartnerResult, index_d$5_AuthPartnerState as AuthPartnerState, index_d$5_AuthProvider as AuthProvider, index_d$5_AuthProviderProps as AuthProviderProps, index_d$5_AuthRedirectHookResult as AuthRedirectHookResult, index_d$5_AuthRedirectOptions as AuthRedirectOptions, index_d$5_AuthResult as AuthResult, index_d$5_AuthState as AuthState, index_d$5_AuthStateStore as AuthStateStore, index_d$5_AuthStatus as AuthStatus, index_d$5_AuthTokenHookResult as AuthTokenHookResult, index_d$5_AuthUser as AuthUser, index_d$5_BaseActions as BaseActions, index_d$5_BaseCredentials as BaseCredentials, index_d$5_BaseDocument as BaseDocument, index_d$5_BaseEntityFields as BaseEntityFields, index_d$5_BasePartnerState as BasePartnerState, index_d$5_BaseState as BaseState, index_d$5_BaseStoreActions as BaseStoreActions, index_d$5_BaseStoreState as BaseStoreState, index_d$5_BaseUserProfile as BaseUserProfile, index_d$5_BasicUserInfo as BasicUserInfo, index_d$5_BillingAPI as BillingAPI, index_d$5_BillingAdapter as BillingAdapter, index_d$5_BillingErrorCode as BillingErrorCode, index_d$5_BillingEvent as BillingEvent, index_d$5_BillingEventData as BillingEventData, index_d$5_BillingEventKey as BillingEventKey, index_d$5_BillingEventName as BillingEventName, index_d$5_BillingProvider as BillingProvider, index_d$5_BillingProviderConfig as BillingProviderConfig, index_d$5_Breakpoint as Breakpoint, index_d$5_BreakpointUtils as BreakpointUtils, index_d$5_BusinessEntity as BusinessEntity, index_d$5_CachedError as CachedError, index_d$5_CanAPI as CanAPI, index_d$5_CheckGitHubAccessRequest as CheckGitHubAccessRequest, index_d$5_CheckoutMode as CheckoutMode, index_d$5_CheckoutOptions as CheckoutOptions, index_d$5_CheckoutSessionMetadata as CheckoutSessionMetadata, index_d$5_ColumnDef as ColumnDef, index_d$5_CommonSubscriptionFeatures as CommonSubscriptionFeatures, index_d$5_CommonTranslations as CommonTranslations, index_d$5_ConfidenceLevel as ConfidenceLevel, index_d$5_ConsentAPI as ConsentAPI, index_d$5_ConsentActions as ConsentActions, index_d$5_ConsentCategory as ConsentCategory, index_d$5_ConsentState as ConsentState, index_d$5_Context as Context, index_d$5_CookieOptions as CookieOptions, index_d$5_CreateCheckoutSessionRequest as CreateCheckoutSessionRequest, index_d$5_CreateCheckoutSessionResponse as CreateCheckoutSessionResponse, index_d$5_CreateEntityData as CreateEntityData, index_d$5_CreateEntityRequest as CreateEntityRequest, index_d$5_CreateEntityResponse as CreateEntityResponse, index_d$5_CrudAPI as CrudAPI, index_d$5_CustomClaims as CustomClaims, index_d$5_CustomStoreConfig as CustomStoreConfig, index_d$5_DateValue as DateValue, index_d$5_DeleteEntityRequest as DeleteEntityRequest, index_d$5_DeleteEntityResponse as DeleteEntityResponse, index_d$5_Density as Density, index_d$5_DnDevLayoutProps as DnDevLayoutProps, index_d$5_DnDevOverride as DnDevOverride, index_d$5_DndevFrameworkConfig as DndevFrameworkConfig, index_d$5_DoNotDevCookieCategories as DoNotDevCookieCategories, index_d$5_DynamicFormRule as DynamicFormRule, index_d$5_EffectiveConnectionType as EffectiveConnectionType, index_d$5_EmailVerificationHookResult as EmailVerificationHookResult, index_d$5_EmailVerificationStatus as EmailVerificationStatus, index_d$5_Entity as Entity, index_d$5_EntityField as EntityField, index_d$5_EntityHookErrors as EntityHookErrors, index_d$5_EntityMetadata as EntityMetadata, index_d$5_EntityTemplateProps as EntityTemplateProps, index_d$5_EntityTranslations as EntityTranslations, index_d$5_EnvironmentMode as EnvironmentMode, index_d$5_ErrorCode as ErrorCode, index_d$5_ErrorSeverity as ErrorSeverity, index_d$5_ErrorSource as ErrorSource, index_d$5_ExchangeTokenParams as ExchangeTokenParams, index_d$5_ExchangeTokenRequest as ExchangeTokenRequest, index_d$5_FaviconConfig as FaviconConfig, index_d$5_Feature as Feature, index_d$5_FeatureAccessHookResult as FeatureAccessHookResult, index_d$5_FeatureConsentRequirement as FeatureConsentRequirement, index_d$5_FeatureHookResult as FeatureHookResult, index_d$5_FeatureId as FeatureId, index_d$5_FeatureName as FeatureName, index_d$5_FeatureStatus as FeatureStatus, index_d$5_FeaturesConfig as FeaturesConfig, index_d$5_FeaturesPluginConfig as FeaturesPluginConfig, index_d$5_FeaturesRequiringAnyConsent as FeaturesRequiringAnyConsent, index_d$5_FeaturesRequiringConsent as FeaturesRequiringConsent, index_d$5_FeaturesWithoutConsent as FeaturesWithoutConsent, index_d$5_FieldCondition as FieldCondition, index_d$5_FieldConfig as FieldConfig, index_d$5_FieldType as FieldType, index_d$5_FieldTypeToValue as FieldTypeToValue, index_d$5_FirebaseCallOptions as FirebaseCallOptions, index_d$5_FirebaseConfig as FirebaseConfig, index_d$5_FirestoreTimestamp as FirestoreTimestamp, index_d$5_FirestoreUniqueConstraintValidator as FirestoreUniqueConstraintValidator, index_d$5_FooterConfig as FooterConfig, index_d$5_FooterZoneConfig as FooterZoneConfig, index_d$5_FormConfig as FormConfig, index_d$5_FormStep as FormStep, index_d$5_FunctionCallConfig as FunctionCallConfig, index_d$5_FunctionCallContext as FunctionCallContext, index_d$5_FunctionCallOptions as FunctionCallOptions, index_d$5_FunctionCallResult as FunctionCallResult, index_d$5_FunctionClient as FunctionClient, index_d$5_FunctionClientFactoryOptions as FunctionClientFactoryOptions, index_d$5_FunctionError as FunctionError, index_d$5_FunctionLoader as FunctionLoader, index_d$5_FunctionPlatform as FunctionPlatform, index_d$5_FunctionResponse as FunctionResponse, index_d$5_FunctionSchema as FunctionSchema, index_d$5_FunctionSchemas as FunctionSchemas, index_d$5_FunctionSystem as FunctionSystem, index_d$5_GetCustomClaimsResponse as GetCustomClaimsResponse, index_d$5_GetEntityData as GetEntityData, index_d$5_GetEntityRequest as GetEntityRequest, index_d$5_GetEntityResponse as GetEntityResponse, index_d$5_GetUserAuthStatusResponse as GetUserAuthStatusResponse, index_d$5_GitHubPermission as GitHubPermission, index_d$5_GitHubRepoConfig as GitHubRepoConfig, index_d$5_GrantGitHubAccessRequest as GrantGitHubAccessRequest, index_d$5_HeaderZoneConfig as HeaderZoneConfig, index_d$5_I18nConfig as I18nConfig, index_d$5_I18nPluginConfig as I18nPluginConfig, index_d$5_I18nProviderProps as I18nProviderProps, index_d$5_ID as ID, index_d$5_INetworkManager as INetworkManager, index_d$5_IStorageManager as IStorageManager, index_d$5_IStorageStrategy as IStorageStrategy, index_d$5_Invoice as Invoice, index_d$5_InvoiceItem as InvoiceItem, index_d$5_LanguageInfo as LanguageInfo, index_d$5_LayoutConfig as LayoutConfig, index_d$5_LayoutInput as LayoutInput, index_d$5_LayoutPreset as LayoutPreset, index_d$5_LegalCompanyInfo as LegalCompanyInfo, index_d$5_LegalConfig as LegalConfig, index_d$5_LegalContactInfo as LegalContactInfo, index_d$5_LegalDirectorInfo as LegalDirectorInfo, index_d$5_LegalHostingInfo as LegalHostingInfo, index_d$5_LegalJurisdictionInfo as LegalJurisdictionInfo, index_d$5_LegalSectionsConfig as LegalSectionsConfig, index_d$5_LegalWebsiteInfo as LegalWebsiteInfo, index_d$5_ListEntitiesRequest as ListEntitiesRequest, index_d$5_ListEntitiesResponse as ListEntitiesResponse, index_d$5_ListEntityData as ListEntityData, index_d$5_ListOptions as ListOptions, index_d$5_ListResponse as ListResponse, index_d$5_LoadingActions as LoadingActions, index_d$5_LoadingState as LoadingState, index_d$5_MergedBarConfig as MergedBarConfig, index_d$5_MobileBehaviorConfig as MobileBehaviorConfig, index_d$5_ModalActions as ModalActions, index_d$5_ModalState as ModalState, index_d$5_MutationResponse as MutationResponse, index_d$5_NavigationRoute as NavigationRoute, index_d$5_NetworkCheckConfig as NetworkCheckConfig, index_d$5_NetworkConnectionType as NetworkConnectionType, index_d$5_NetworkReconnectCallback as NetworkReconnectCallback, NetworkState$1 as NetworkState, index_d$5_NetworkStatus as NetworkStatus, index_d$5_NetworkStatusHookResult as NetworkStatusHookResult, index_d$5_OAuthAPI as OAuthAPI, index_d$5_OAuthApiRequestOptions as OAuthApiRequestOptions, index_d$5_OAuthCallbackHookResult as OAuthCallbackHookResult, index_d$5_OAuthConnection as OAuthConnection, index_d$5_OAuthConnectionInfo as OAuthConnectionInfo, index_d$5_OAuthConnectionRequest as OAuthConnectionRequest, index_d$5_OAuthConnectionStatus as OAuthConnectionStatus, index_d$5_OAuthCredentials as OAuthCredentials, index_d$5_OAuthEventData as OAuthEventData, index_d$5_OAuthEventKey as OAuthEventKey, index_d$5_OAuthEventName as OAuthEventName, index_d$5_OAuthPartner as OAuthPartner, index_d$5_OAuthPartnerButton as OAuthPartnerButton, index_d$5_OAuthPartnerHookResult as OAuthPartnerHookResult, index_d$5_OAuthPartnerId as OAuthPartnerId, index_d$5_OAuthPartnerResult as OAuthPartnerResult, index_d$5_OAuthPartnerState as OAuthPartnerState, index_d$5_OAuthPurpose as OAuthPurpose, index_d$5_OAuthRefreshRequest as OAuthRefreshRequest, index_d$5_OAuthRefreshResponse as OAuthRefreshResponse, index_d$5_OAuthResult as OAuthResult, index_d$5_OAuthStoreActions as OAuthStoreActions, index_d$5_OAuthStoreState as OAuthStoreState, index_d$5_Observable as Observable, index_d$5_OrderByClause as OrderByClause, index_d$5_PWAAssetType as PWAAssetType, index_d$5_PWADisplayMode as PWADisplayMode, index_d$5_PWAPluginConfig as PWAPluginConfig, index_d$5_PageAuth as PageAuth, index_d$5_PageMeta as PageMeta, index_d$5_PaginationOptions as PaginationOptions, index_d$5_PartnerButton as PartnerButton, index_d$5_PartnerConnectionState as PartnerConnectionState, index_d$5_PartnerIconId as PartnerIconId, index_d$5_PartnerId as PartnerId, index_d$5_PartnerResult as PartnerResult, index_d$5_PartnerType as PartnerType, index_d$5_PayloadCacheEventData as PayloadCacheEventData, index_d$5_PayloadDocument as PayloadDocument, index_d$5_PayloadDocumentEventData as PayloadDocumentEventData, index_d$5_PayloadEventKey as PayloadEventKey, index_d$5_PayloadEventName as PayloadEventName, index_d$5_PayloadGlobalEventData as PayloadGlobalEventData, index_d$5_PayloadMediaEventData as PayloadMediaEventData, index_d$5_PayloadPageRegenerationEventData as PayloadPageRegenerationEventData, index_d$5_PayloadRequest as PayloadRequest, index_d$5_PayloadUserEventData as PayloadUserEventData, index_d$5_PaymentEventData as PaymentEventData, index_d$5_PaymentMethod as PaymentMethod, index_d$5_PaymentMethodType as PaymentMethodType, index_d$5_PaymentMode as PaymentMode, index_d$5_Permission as Permission, index_d$5_Platform as Platform, index_d$5_PresetConfig as PresetConfig, index_d$5_PresetRegistry as PresetRegistry, index_d$5_ProcessPaymentSuccessRequest as ProcessPaymentSuccessRequest, index_d$5_ProcessPaymentSuccessResponse as ProcessPaymentSuccessResponse, index_d$5_ProductDeclaration as ProductDeclaration, index_d$5_ProviderInstances as ProviderInstances, index_d$5_RateLimitConfig as RateLimitConfig, index_d$5_RateLimitManager as RateLimitManager, index_d$5_RateLimitResult as RateLimitResult, index_d$5_RateLimitState as RateLimitState, index_d$5_RateLimiter as RateLimiter, index_d$5_ReadCallback as ReadCallback, index_d$5_Reference as Reference, index_d$5_RefreshSubscriptionRequest as RefreshSubscriptionRequest, index_d$5_RefreshSubscriptionResponse as RefreshSubscriptionResponse, index_d$5_RemoveCustomClaimsResponse as RemoveCustomClaimsResponse, index_d$5_ResolvedLayoutConfig as ResolvedLayoutConfig, index_d$5_RevokeGitHubAccessRequest as RevokeGitHubAccessRequest, index_d$5_RouteMeta as RouteMeta, index_d$5_RouteSource as RouteSource, index_d$5_RoutesPluginConfig as RoutesPluginConfig, index_d$5_SEOConfig as SEOConfig, index_d$5_SchemaMetadata as SchemaMetadata, index_d$5_SetCustomClaimsResponse as SetCustomClaimsResponse, index_d$5_SidebarZoneConfig as SidebarZoneConfig, index_d$5_SlotContent as SlotContent, index_d$5_StorageOptions as StorageOptions, index_d$5_StorageScope as StorageScope, index_d$5_StorageType as StorageType, index_d$5_Store as Store, index_d$5_StoreApi as StoreApi, index_d$5_StripeBackConfig as StripeBackConfig, index_d$5_StripeCheckoutRequest as StripeCheckoutRequest, index_d$5_StripeCheckoutResponse as StripeCheckoutResponse, index_d$5_StripeCheckoutSessionEventData as StripeCheckoutSessionEventData, index_d$5_StripeConfig as StripeConfig, index_d$5_StripeCustomer as StripeCustomer, index_d$5_StripeCustomerEventData as StripeCustomerEventData, index_d$5_StripeEventData as StripeEventData, index_d$5_StripeEventKey as StripeEventKey, index_d$5_StripeEventName as StripeEventName, index_d$5_StripeFrontConfig as StripeFrontConfig, index_d$5_StripeInvoice as StripeInvoice, index_d$5_StripeInvoiceEventData as StripeInvoiceEventData, index_d$5_StripePayment as StripePayment, index_d$5_StripePaymentIntentEventData as StripePaymentIntentEventData, index_d$5_StripePaymentMethod as StripePaymentMethod, index_d$5_StripePrice as StripePrice, index_d$5_StripeProduct as StripeProduct, index_d$5_StripeProvider as StripeProvider, index_d$5_StripeSubscription as StripeSubscription, index_d$5_StripeSubscriptionData as StripeSubscriptionData, index_d$5_StripeWebhookEvent as StripeWebhookEvent, index_d$5_StripeWebhookEventData as StripeWebhookEventData, index_d$5_Subscription as Subscription, index_d$5_SubscriptionClaims as SubscriptionClaims, index_d$5_SubscriptionConfig as SubscriptionConfig, index_d$5_SubscriptionData as SubscriptionData, index_d$5_SubscriptionDuration as SubscriptionDuration, index_d$5_SubscriptionEventData as SubscriptionEventData, index_d$5_SubscriptionHookResult as SubscriptionHookResult, index_d$5_SubscriptionInfo as SubscriptionInfo, index_d$5_SubscriptionStatus as SubscriptionStatus, index_d$5_SubscriptionTier as SubscriptionTier, index_d$5_SupportedLanguage as SupportedLanguage, index_d$5_ThemeActions as ThemeActions, index_d$5_ThemeInfo as ThemeInfo, index_d$5_ThemeMode as ThemeMode, index_d$5_ThemeState as ThemeState, index_d$5_ThemesPluginConfig as ThemesPluginConfig, index_d$5_TierAccessHookResult as TierAccessHookResult, index_d$5_Timestamp as Timestamp, index_d$5_TokenInfo as TokenInfo, index_d$5_TokenResponse as TokenResponse, index_d$5_TokenState as TokenState, index_d$5_TokenStatus as TokenStatus, index_d$5_TranslationOptions as TranslationOptions, index_d$5_TranslationResource as TranslationResource, index_d$5_UIFieldOptions as UIFieldOptions, index_d$5_UniqueConstraintValidator as UniqueConstraintValidator, index_d$5_UnsubscribeFn as UnsubscribeFn, index_d$5_UpdateEntityData as UpdateEntityData, index_d$5_UpdateEntityRequest as UpdateEntityRequest, index_d$5_UpdateEntityResponse as UpdateEntityResponse, index_d$5_UseFunctionsMutationOptions as UseFunctionsMutationOptions, index_d$5_UseFunctionsQueryOptions as UseFunctionsQueryOptions, index_d$5_UseTranslationOptionsEnhanced as UseTranslationOptionsEnhanced, index_d$5_UserContext as UserContext, index_d$5_UserProfile as UserProfile, index_d$5_UserProviderData as UserProviderData, index_d$5_UserRole as UserRole, index_d$5_UserSubscription as UserSubscription, index_d$5_ValidationRules as ValidationRules, index_d$5_ValueTypeForField as ValueTypeForField, index_d$5_Visibility as Visibility, index_d$5_WebhookEvent as WebhookEvent, index_d$5_WebhookEventData as WebhookEventData, index_d$5_WhereClause as WhereClause, index_d$5_WhereOperator as WhereOperator, index_d$5_WithMetadata as WithMetadata, index_d$5_dndevSchema as dndevSchema };
|
|
11567
11698
|
}
|
|
11568
11699
|
|
|
11569
11700
|
/**
|
|
@@ -15862,12 +15993,17 @@ declare function canRedirectExternally(): boolean;
|
|
|
15862
15993
|
declare function getCurrentOrigin(): string | null;
|
|
15863
15994
|
|
|
15864
15995
|
/**
|
|
15865
|
-
* @fileoverview Degraded API
|
|
15866
|
-
* @description Centralized degraded API objects for all feature packages (auth, billing, crud)
|
|
15867
|
-
*
|
|
15868
|
-
* throughout the framework.
|
|
15996
|
+
* @fileoverview Degraded API Constants
|
|
15997
|
+
* @description Centralized degraded API objects for all feature packages (auth, billing, crud, oauth).
|
|
15998
|
+
* Used when features are not installed or consent not given, ensuring graceful degradation.
|
|
15869
15999
|
*
|
|
15870
|
-
*
|
|
16000
|
+
* **Each degraded API:**
|
|
16001
|
+
* - Returns safe defaults (null, empty arrays, no-op functions)
|
|
16002
|
+
* - Sets `status: 'degraded'` for guards to handle
|
|
16003
|
+
* - Guards redirect protected routes to auth route with error message
|
|
16004
|
+
* - Public routes continue to work normally
|
|
16005
|
+
*
|
|
16006
|
+
* @version 0.0.3
|
|
15871
16007
|
* @since 0.0.1
|
|
15872
16008
|
* @author AMBROISE PARK Consulting
|
|
15873
16009
|
*/
|
|
@@ -15882,6 +16018,7 @@ declare const AUTH_STORE_KEYS: Set<keyof AuthAPI>;
|
|
|
15882
16018
|
declare const AUTH_COMPUTED_KEYS: Set<keyof AuthAPI>;
|
|
15883
16019
|
/**
|
|
15884
16020
|
* Billing store keys - keys that come from local state (useState, not Zustand)
|
|
16021
|
+
* Note: `status` is computed, not stored
|
|
15885
16022
|
*/
|
|
15886
16023
|
declare const BILLING_STORE_KEYS: Set<keyof BillingAPI>;
|
|
15887
16024
|
/**
|
|
@@ -16496,324 +16633,6 @@ declare function withGracefulDegradation<T>(init: () => Promise<T>, fallback: ()
|
|
|
16496
16633
|
*/
|
|
16497
16634
|
declare function lazyImport<T>(importFn: () => Promise<T>, cacheKey: string): Promise<T>;
|
|
16498
16635
|
|
|
16499
|
-
/**
|
|
16500
|
-
* @fileoverview Observability metrics collector
|
|
16501
|
-
* @description CSR/SSR safe observability system with React 19 compatibility
|
|
16502
|
-
*
|
|
16503
|
-
* @version 0.0.1
|
|
16504
|
-
* @since 0.0.1
|
|
16505
|
-
* @author AMBROISE PARK Consulting
|
|
16506
|
-
*/
|
|
16507
|
-
|
|
16508
|
-
/**
|
|
16509
|
-
* Observability metrics collector
|
|
16510
|
-
* CSR/SSR safe with React 19 compatibility
|
|
16511
|
-
*
|
|
16512
|
-
* @version 0.0.1
|
|
16513
|
-
* @since 0.0.1
|
|
16514
|
-
* @author AMBROISE PARK Consulting
|
|
16515
|
-
*/
|
|
16516
|
-
declare class ObservabilityCollector {
|
|
16517
|
-
private static instance;
|
|
16518
|
-
private metrics;
|
|
16519
|
-
private isEnabled;
|
|
16520
|
-
private config;
|
|
16521
|
-
private constructor();
|
|
16522
|
-
static getInstance(): ObservabilityCollector;
|
|
16523
|
-
/**
|
|
16524
|
-
* Initialize observability with configuration
|
|
16525
|
-
*/
|
|
16526
|
-
initialize(config: ObservabilityConfig): void;
|
|
16527
|
-
/**
|
|
16528
|
-
* Track store initialization metrics
|
|
16529
|
-
*/
|
|
16530
|
-
trackStoreInit(storeName: string, startTime: number, endTime: number, success: boolean): void;
|
|
16531
|
-
/**
|
|
16532
|
-
* Track performance metrics
|
|
16533
|
-
*/
|
|
16534
|
-
trackPerformance(metricName: string, value: number, metadata?: Record<string, any>): void;
|
|
16535
|
-
/**
|
|
16536
|
-
* Track health check status
|
|
16537
|
-
*/
|
|
16538
|
-
trackHealthCheck(service: string, status: 'healthy' | 'unhealthy', details?: any): void;
|
|
16539
|
-
/**
|
|
16540
|
-
* Track debugging information
|
|
16541
|
-
*/
|
|
16542
|
-
trackDebug(event: string, data: any): void;
|
|
16543
|
-
/**
|
|
16544
|
-
* Get all metrics
|
|
16545
|
-
*/
|
|
16546
|
-
getMetrics(): Record<string, any>;
|
|
16547
|
-
/**
|
|
16548
|
-
* Clear metrics
|
|
16549
|
-
*/
|
|
16550
|
-
clearMetrics(): void;
|
|
16551
|
-
/**
|
|
16552
|
-
* Emit metric to external systems
|
|
16553
|
-
*/
|
|
16554
|
-
private emitMetric;
|
|
16555
|
-
/**
|
|
16556
|
-
* Get platform information
|
|
16557
|
-
*/
|
|
16558
|
-
private getPlatform;
|
|
16559
|
-
}
|
|
16560
|
-
/**
|
|
16561
|
-
* Global observability instance
|
|
16562
|
-
*/
|
|
16563
|
-
declare const observability: ObservabilityCollector;
|
|
16564
|
-
/**
|
|
16565
|
-
* Initialize observability with configuration
|
|
16566
|
-
*
|
|
16567
|
-
* @version 0.0.1
|
|
16568
|
-
* @since 0.0.1
|
|
16569
|
-
* @author AMBROISE PARK Consulting
|
|
16570
|
-
*/
|
|
16571
|
-
declare function initializeObservability(config: ObservabilityConfig): void;
|
|
16572
|
-
/**
|
|
16573
|
-
* Track store initialization
|
|
16574
|
-
*
|
|
16575
|
-
* @version 0.0.1
|
|
16576
|
-
* @since 0.0.1
|
|
16577
|
-
* @author AMBROISE PARK Consulting
|
|
16578
|
-
*/
|
|
16579
|
-
declare function trackStoreInitialization(storeName: string, startTime: number, endTime: number, success: boolean): void;
|
|
16580
|
-
/**
|
|
16581
|
-
* Track performance metrics
|
|
16582
|
-
*
|
|
16583
|
-
* @version 0.0.1
|
|
16584
|
-
* @since 0.0.1
|
|
16585
|
-
* @author AMBROISE PARK Consulting
|
|
16586
|
-
*/
|
|
16587
|
-
declare function trackPerformance(metricName: string, value: number, metadata?: Record<string, any>): void;
|
|
16588
|
-
/**
|
|
16589
|
-
* Track health check
|
|
16590
|
-
*
|
|
16591
|
-
* @version 0.0.1
|
|
16592
|
-
* @since 0.0.1
|
|
16593
|
-
* @author AMBROISE PARK Consulting
|
|
16594
|
-
*/
|
|
16595
|
-
declare function trackHealthCheck(service: string, status: 'healthy' | 'unhealthy', details?: any): void;
|
|
16596
|
-
/**
|
|
16597
|
-
* Track debug information
|
|
16598
|
-
*
|
|
16599
|
-
* @version 0.0.1
|
|
16600
|
-
* @since 0.0.1
|
|
16601
|
-
* @author AMBROISE PARK Consulting
|
|
16602
|
-
*/
|
|
16603
|
-
declare function trackDebug(event: string, data: any): void;
|
|
16604
|
-
/**
|
|
16605
|
-
* Get observability metrics
|
|
16606
|
-
*
|
|
16607
|
-
* @version 0.0.1
|
|
16608
|
-
* @since 0.0.1
|
|
16609
|
-
* @author AMBROISE PARK Consulting
|
|
16610
|
-
*/
|
|
16611
|
-
declare function getObservabilityMetrics(): Record<string, any>;
|
|
16612
|
-
|
|
16613
|
-
/**
|
|
16614
|
-
* Health check status interface
|
|
16615
|
-
*
|
|
16616
|
-
* @version 0.0.1
|
|
16617
|
-
* @since 0.0.1
|
|
16618
|
-
* @author AMBROISE PARK Consulting
|
|
16619
|
-
*/
|
|
16620
|
-
interface HealthStatus {
|
|
16621
|
-
service: string;
|
|
16622
|
-
status: 'healthy' | 'unhealthy';
|
|
16623
|
-
timestamp: number;
|
|
16624
|
-
details?: any;
|
|
16625
|
-
}
|
|
16626
|
-
/**
|
|
16627
|
-
* Health check registry
|
|
16628
|
-
*
|
|
16629
|
-
* @version 0.0.1
|
|
16630
|
-
* @since 0.0.1
|
|
16631
|
-
* @author AMBROISE PARK Consulting
|
|
16632
|
-
*/
|
|
16633
|
-
declare class HealthCheckRegistry {
|
|
16634
|
-
private checks;
|
|
16635
|
-
/**
|
|
16636
|
-
* Register a health check
|
|
16637
|
-
*/
|
|
16638
|
-
register(service: string, check: () => Promise<boolean>): void;
|
|
16639
|
-
/**
|
|
16640
|
-
* Run all health checks
|
|
16641
|
-
*/
|
|
16642
|
-
runAll(): Promise<HealthStatus[]>;
|
|
16643
|
-
/**
|
|
16644
|
-
* Run specific health check
|
|
16645
|
-
*/
|
|
16646
|
-
run(service: string): Promise<HealthStatus | null>;
|
|
16647
|
-
}
|
|
16648
|
-
/**
|
|
16649
|
-
* Global health check registry
|
|
16650
|
-
*
|
|
16651
|
-
* @version 0.0.1
|
|
16652
|
-
* @since 0.0.1
|
|
16653
|
-
* @author AMBROISE PARK Consulting
|
|
16654
|
-
*/
|
|
16655
|
-
declare const healthChecks: HealthCheckRegistry;
|
|
16656
|
-
/**
|
|
16657
|
-
* Register store health checks
|
|
16658
|
-
*
|
|
16659
|
-
* @version 0.0.1
|
|
16660
|
-
* @since 0.0.1
|
|
16661
|
-
* @author AMBROISE PARK Consulting
|
|
16662
|
-
*/
|
|
16663
|
-
declare function registerStoreHealthChecks(): void;
|
|
16664
|
-
/**
|
|
16665
|
-
* Get health status for all services
|
|
16666
|
-
*
|
|
16667
|
-
* @version 0.0.1
|
|
16668
|
-
* @since 0.0.1
|
|
16669
|
-
* @author AMBROISE PARK Consulting
|
|
16670
|
-
*/
|
|
16671
|
-
declare function getHealthStatus(): Promise<HealthStatus[]>;
|
|
16672
|
-
/**
|
|
16673
|
-
* Get health status for specific service
|
|
16674
|
-
*
|
|
16675
|
-
* @version 0.0.1
|
|
16676
|
-
* @since 0.0.1
|
|
16677
|
-
* @author AMBROISE PARK Consulting
|
|
16678
|
-
*/
|
|
16679
|
-
declare function getServiceHealth(service: string): Promise<HealthStatus | null>;
|
|
16680
|
-
|
|
16681
|
-
/**
|
|
16682
|
-
* Performance metrics collector
|
|
16683
|
-
* CSR/SSR safe with React 19 compatibility
|
|
16684
|
-
*
|
|
16685
|
-
* @version 0.0.1
|
|
16686
|
-
* @since 0.0.1
|
|
16687
|
-
* @author AMBROISE PARK Consulting
|
|
16688
|
-
*/
|
|
16689
|
-
declare class PerformanceMonitor {
|
|
16690
|
-
private static instance;
|
|
16691
|
-
private marks;
|
|
16692
|
-
private measures;
|
|
16693
|
-
private constructor();
|
|
16694
|
-
static getInstance(): PerformanceMonitor;
|
|
16695
|
-
/**
|
|
16696
|
-
* Mark a performance point
|
|
16697
|
-
*/
|
|
16698
|
-
mark(name: string): void;
|
|
16699
|
-
/**
|
|
16700
|
-
* Measure performance between two marks
|
|
16701
|
-
*/
|
|
16702
|
-
measure(name: string, startMark: string, endMark?: string): number;
|
|
16703
|
-
/**
|
|
16704
|
-
* Get performance measure
|
|
16705
|
-
*/
|
|
16706
|
-
getMeasure(name: string): number | undefined;
|
|
16707
|
-
/**
|
|
16708
|
-
* Get all measures
|
|
16709
|
-
*/
|
|
16710
|
-
getAllMeasures(): Record<string, number>;
|
|
16711
|
-
/**
|
|
16712
|
-
* Clear all marks and measures
|
|
16713
|
-
*/
|
|
16714
|
-
clear(): void;
|
|
16715
|
-
/**
|
|
16716
|
-
* Get timestamp (CSR/SSR safe)
|
|
16717
|
-
*/
|
|
16718
|
-
private getTimestamp;
|
|
16719
|
-
}
|
|
16720
|
-
/**
|
|
16721
|
-
* Global performance monitor
|
|
16722
|
-
*
|
|
16723
|
-
* @version 0.0.1
|
|
16724
|
-
* @since 0.0.1
|
|
16725
|
-
* @author AMBROISE PARK Consulting
|
|
16726
|
-
*/
|
|
16727
|
-
declare const performanceMonitor: PerformanceMonitor;
|
|
16728
|
-
/**
|
|
16729
|
-
* Mark performance point
|
|
16730
|
-
*
|
|
16731
|
-
* @version 0.0.1
|
|
16732
|
-
* @since 0.0.1
|
|
16733
|
-
* @author AMBROISE PARK Consulting
|
|
16734
|
-
*/
|
|
16735
|
-
declare function markPerformance(name: string): void;
|
|
16736
|
-
/**
|
|
16737
|
-
* Measure performance
|
|
16738
|
-
*
|
|
16739
|
-
* @version 0.0.1
|
|
16740
|
-
* @since 0.0.1
|
|
16741
|
-
* @author AMBROISE PARK Consulting
|
|
16742
|
-
*/
|
|
16743
|
-
declare function measurePerformance(name: string, startMark: string, endMark?: string): number;
|
|
16744
|
-
/**
|
|
16745
|
-
* Get performance measure
|
|
16746
|
-
*
|
|
16747
|
-
* @version 0.0.1
|
|
16748
|
-
* @since 0.0.1
|
|
16749
|
-
* @author AMBROISE PARK Consulting
|
|
16750
|
-
*/
|
|
16751
|
-
declare function getPerformanceMeasure(name: string): number | undefined;
|
|
16752
|
-
/**
|
|
16753
|
-
* Get all performance measures
|
|
16754
|
-
*
|
|
16755
|
-
* @version 0.0.1
|
|
16756
|
-
* @since 0.0.1
|
|
16757
|
-
* @author AMBROISE PARK Consulting
|
|
16758
|
-
*/
|
|
16759
|
-
declare function getAllPerformanceMeasures(): Record<string, number>;
|
|
16760
|
-
/**
|
|
16761
|
-
* Clear performance data
|
|
16762
|
-
*
|
|
16763
|
-
* @version 0.0.1
|
|
16764
|
-
* @since 0.0.1
|
|
16765
|
-
* @author AMBROISE PARK Consulting
|
|
16766
|
-
*/
|
|
16767
|
-
declare function clearPerformanceData(): void;
|
|
16768
|
-
/**
|
|
16769
|
-
* Track Core Web Vitals
|
|
16770
|
-
*
|
|
16771
|
-
* @version 0.0.1
|
|
16772
|
-
* @since 0.0.1
|
|
16773
|
-
* @author AMBROISE PARK Consulting
|
|
16774
|
-
*/
|
|
16775
|
-
declare function trackCoreWebVitals(): void;
|
|
16776
|
-
|
|
16777
|
-
/**
|
|
16778
|
-
* Health check endpoint response
|
|
16779
|
-
*
|
|
16780
|
-
* @version 0.0.1
|
|
16781
|
-
* @since 0.0.1
|
|
16782
|
-
* @author AMBROISE PARK Consulting
|
|
16783
|
-
*/
|
|
16784
|
-
interface HealthEndpointResponse {
|
|
16785
|
-
status: 'healthy' | 'unhealthy';
|
|
16786
|
-
timestamp: number;
|
|
16787
|
-
services: Array<{
|
|
16788
|
-
service: string;
|
|
16789
|
-
status: 'healthy' | 'unhealthy';
|
|
16790
|
-
timestamp: number;
|
|
16791
|
-
details?: any;
|
|
16792
|
-
}>;
|
|
16793
|
-
metrics?: Record<string, any>;
|
|
16794
|
-
}
|
|
16795
|
-
/**
|
|
16796
|
-
* Create health check endpoint handler
|
|
16797
|
-
* Compatible with Next.js API routes
|
|
16798
|
-
*
|
|
16799
|
-
* @version 0.0.1
|
|
16800
|
-
* @since 0.0.1
|
|
16801
|
-
* @author AMBROISE PARK Consulting
|
|
16802
|
-
*/
|
|
16803
|
-
declare function createHealthEndpoint(): () => Promise<Response>;
|
|
16804
|
-
/**
|
|
16805
|
-
* Register health check endpoint for Next.js
|
|
16806
|
-
* Usage: Create app/api/health/route.ts with:
|
|
16807
|
-
*
|
|
16808
|
-
* import { createHealthEndpoint } from '@donotdev/utils/observability';
|
|
16809
|
-
* export const GET = createHealthEndpoint();
|
|
16810
|
-
*
|
|
16811
|
-
* @version 0.0.1
|
|
16812
|
-
* @since 0.0.1
|
|
16813
|
-
* @author AMBROISE PARK Consulting
|
|
16814
|
-
*/
|
|
16815
|
-
declare const healthEndpoint: () => Promise<Response>;
|
|
16816
|
-
|
|
16817
16636
|
/**
|
|
16818
16637
|
* @fileoverview Singleton utility functions
|
|
16819
16638
|
* @description Provides singleton pattern implementation for the framework
|
|
@@ -17099,8 +16918,6 @@ type index_d$4_FeatureAvailability = FeatureAvailability;
|
|
|
17099
16918
|
type index_d$4_FeatureSupport = FeatureSupport;
|
|
17100
16919
|
type index_d$4_FrameworkFeature = FrameworkFeature;
|
|
17101
16920
|
type index_d$4_HandleErrorOptions = HandleErrorOptions;
|
|
17102
|
-
type index_d$4_HealthEndpointResponse = HealthEndpointResponse;
|
|
17103
|
-
type index_d$4_HealthStatus = HealthStatus;
|
|
17104
16921
|
type index_d$4_HybridStorageStrategy = HybridStorageStrategy;
|
|
17105
16922
|
declare const index_d$4_HybridStorageStrategy: typeof HybridStorageStrategy;
|
|
17106
16923
|
type index_d$4_IStorageManager = IStorageManager;
|
|
@@ -17111,10 +16928,6 @@ type index_d$4_LocalStorageStrategy = LocalStorageStrategy;
|
|
|
17111
16928
|
declare const index_d$4_LocalStorageStrategy: typeof LocalStorageStrategy;
|
|
17112
16929
|
declare const index_d$4_OAUTH_STORE_KEYS: typeof OAUTH_STORE_KEYS;
|
|
17113
16930
|
type index_d$4_OS = OS;
|
|
17114
|
-
type index_d$4_ObservabilityCollector = ObservabilityCollector;
|
|
17115
|
-
declare const index_d$4_ObservabilityCollector: typeof ObservabilityCollector;
|
|
17116
|
-
type index_d$4_PerformanceMonitor = PerformanceMonitor;
|
|
17117
|
-
declare const index_d$4_PerformanceMonitor: typeof PerformanceMonitor;
|
|
17118
16931
|
type index_d$4_PlatformInfo = PlatformInfo;
|
|
17119
16932
|
type index_d$4_SingletonManager = SingletonManager;
|
|
17120
16933
|
declare const index_d$4_SingletonManager: typeof SingletonManager;
|
|
@@ -17139,11 +16952,9 @@ declare const index_d$4_cleanupSentry: typeof cleanupSentry;
|
|
|
17139
16952
|
declare const index_d$4_clearFeatureCache: typeof clearFeatureCache;
|
|
17140
16953
|
declare const index_d$4_clearLocalStorage: typeof clearLocalStorage;
|
|
17141
16954
|
declare const index_d$4_clearPartnerCache: typeof clearPartnerCache;
|
|
17142
|
-
declare const index_d$4_clearPerformanceData: typeof clearPerformanceData;
|
|
17143
16955
|
declare const index_d$4_compactToISOString: typeof compactToISOString;
|
|
17144
16956
|
declare const index_d$4_cooldown: typeof cooldown;
|
|
17145
16957
|
declare const index_d$4_createAsyncSingleton: typeof createAsyncSingleton;
|
|
17146
|
-
declare const index_d$4_createHealthEndpoint: typeof createHealthEndpoint;
|
|
17147
16958
|
declare const index_d$4_createMetadata: typeof createMetadata;
|
|
17148
16959
|
declare const index_d$4_createMethodProxy: typeof createMethodProxy;
|
|
17149
16960
|
declare const index_d$4_createProvider: typeof createProvider;
|
|
@@ -17173,7 +16984,6 @@ declare const index_d$4_generateCompatibilityReport: typeof generateCompatibilit
|
|
|
17173
16984
|
declare const index_d$4_generateEncryptionKey: typeof generateEncryptionKey;
|
|
17174
16985
|
declare const index_d$4_generatePKCEPair: typeof generatePKCEPair;
|
|
17175
16986
|
declare const index_d$4_getActiveCookies: typeof getActiveCookies;
|
|
17176
|
-
declare const index_d$4_getAllPerformanceMeasures: typeof getAllPerformanceMeasures;
|
|
17177
16987
|
declare const index_d$4_getAppShortName: typeof getAppShortName;
|
|
17178
16988
|
declare const index_d$4_getAssetsConfig: typeof getAssetsConfig;
|
|
17179
16989
|
declare const index_d$4_getAuthDomain: typeof getAuthDomain;
|
|
@@ -17193,7 +17003,6 @@ declare const index_d$4_getEnabledAuthPartners: typeof getEnabledAuthPartners;
|
|
|
17193
17003
|
declare const index_d$4_getEnabledOAuthPartners: typeof getEnabledOAuthPartners;
|
|
17194
17004
|
declare const index_d$4_getEncryptionKey: typeof getEncryptionKey;
|
|
17195
17005
|
declare const index_d$4_getFeatureSummary: typeof getFeatureSummary;
|
|
17196
|
-
declare const index_d$4_getHealthStatus: typeof getHealthStatus;
|
|
17197
17006
|
declare const index_d$4_getI18nConfig: typeof getI18nConfig;
|
|
17198
17007
|
declare const index_d$4_getLocalStorageItem: typeof getLocalStorageItem;
|
|
17199
17008
|
declare const index_d$4_getNextEnvVar: typeof getNextEnvVar;
|
|
@@ -17201,14 +17010,11 @@ declare const index_d$4_getOAuthClientId: typeof getOAuthClientId;
|
|
|
17201
17010
|
declare const index_d$4_getOAuthPartnerConfig: typeof getOAuthPartnerConfig;
|
|
17202
17011
|
declare const index_d$4_getOAuthRedirectUri: typeof getOAuthRedirectUri;
|
|
17203
17012
|
declare const index_d$4_getOAuthRedirectUrl: typeof getOAuthRedirectUrl;
|
|
17204
|
-
declare const index_d$4_getObservabilityMetrics: typeof getObservabilityMetrics;
|
|
17205
17013
|
declare const index_d$4_getPartnerCacheStatus: typeof getPartnerCacheStatus;
|
|
17206
17014
|
declare const index_d$4_getPartnerConfig: typeof getPartnerConfig;
|
|
17207
|
-
declare const index_d$4_getPerformanceMeasure: typeof getPerformanceMeasure;
|
|
17208
17015
|
declare const index_d$4_getPlatformEnvVar: typeof getPlatformEnvVar;
|
|
17209
17016
|
declare const index_d$4_getProviderColor: typeof getProviderColor;
|
|
17210
17017
|
declare const index_d$4_getRoutesConfig: typeof getRoutesConfig;
|
|
17211
|
-
declare const index_d$4_getServiceHealth: typeof getServiceHealth;
|
|
17212
17018
|
declare const index_d$4_getStorageManager: typeof getStorageManager;
|
|
17213
17019
|
declare const index_d$4_getThemesConfig: typeof getThemesConfig;
|
|
17214
17020
|
declare const index_d$4_getTokenManager: typeof getTokenManager;
|
|
@@ -17222,12 +17028,9 @@ declare const index_d$4_getWeekFromISOString: typeof getWeekFromISOString;
|
|
|
17222
17028
|
declare const index_d$4_globalEmitter: typeof globalEmitter;
|
|
17223
17029
|
declare const index_d$4_handleError: typeof handleError;
|
|
17224
17030
|
declare const index_d$4_hasOptionalCookies: typeof hasOptionalCookies;
|
|
17225
|
-
declare const index_d$4_healthChecks: typeof healthChecks;
|
|
17226
|
-
declare const index_d$4_healthEndpoint: typeof healthEndpoint;
|
|
17227
17031
|
declare const index_d$4_importEncryptionKey: typeof importEncryptionKey;
|
|
17228
17032
|
declare const index_d$4_initSentry: typeof initSentry;
|
|
17229
17033
|
declare const index_d$4_initializeConfig: typeof initializeConfig;
|
|
17230
|
-
declare const index_d$4_initializeObservability: typeof initializeObservability;
|
|
17231
17034
|
declare const index_d$4_initializePlatformDetection: typeof initializePlatformDetection;
|
|
17232
17035
|
declare const index_d$4_isAuthPartnerEnabled: typeof isAuthPartnerEnabled;
|
|
17233
17036
|
declare const index_d$4_isClient: typeof isClient;
|
|
@@ -17248,18 +17051,13 @@ declare const index_d$4_isTest: typeof isTest;
|
|
|
17248
17051
|
declare const index_d$4_isVite: typeof isVite;
|
|
17249
17052
|
declare const index_d$4_isoToCompactString: typeof isoToCompactString;
|
|
17250
17053
|
declare const index_d$4_lazyImport: typeof lazyImport;
|
|
17251
|
-
declare const index_d$4_markPerformance: typeof markPerformance;
|
|
17252
17054
|
declare const index_d$4_maybeTranslate: typeof maybeTranslate;
|
|
17253
|
-
declare const index_d$4_measurePerformance: typeof measurePerformance;
|
|
17254
17055
|
declare const index_d$4_normalizeToISOString: typeof normalizeToISOString;
|
|
17255
|
-
declare const index_d$4_observability: typeof observability;
|
|
17256
17056
|
declare const index_d$4_observeElement: typeof observeElement;
|
|
17257
17057
|
declare const index_d$4_parseDate: typeof parseDate;
|
|
17258
17058
|
declare const index_d$4_parseDateToNoonUTC: typeof parseDateToNoonUTC;
|
|
17259
|
-
declare const index_d$4_performanceMonitor: typeof performanceMonitor;
|
|
17260
17059
|
declare const index_d$4_redirectToExternalUrl: typeof redirectToExternalUrl;
|
|
17261
17060
|
declare const index_d$4_redirectToExternalUrlWithErrorHandling: typeof redirectToExternalUrlWithErrorHandling;
|
|
17262
|
-
declare const index_d$4_registerStoreHealthChecks: typeof registerStoreHealthChecks;
|
|
17263
17061
|
declare const index_d$4_removeLocalStorageItem: typeof removeLocalStorageItem;
|
|
17264
17062
|
declare const index_d$4_resolveAppConfig: typeof resolveAppConfig;
|
|
17265
17063
|
declare const index_d$4_safeLocalStorage: typeof safeLocalStorage;
|
|
@@ -17274,11 +17072,6 @@ declare const index_d$4_timestampToISOString: typeof timestampToISOString;
|
|
|
17274
17072
|
declare const index_d$4_timingUtils: typeof timingUtils;
|
|
17275
17073
|
declare const index_d$4_toDateOnly: typeof toDateOnly;
|
|
17276
17074
|
declare const index_d$4_toISOString: typeof toISOString;
|
|
17277
|
-
declare const index_d$4_trackCoreWebVitals: typeof trackCoreWebVitals;
|
|
17278
|
-
declare const index_d$4_trackDebug: typeof trackDebug;
|
|
17279
|
-
declare const index_d$4_trackHealthCheck: typeof trackHealthCheck;
|
|
17280
|
-
declare const index_d$4_trackPerformance: typeof trackPerformance;
|
|
17281
|
-
declare const index_d$4_trackStoreInitialization: typeof trackStoreInitialization;
|
|
17282
17075
|
declare const index_d$4_translateArray: typeof translateArray;
|
|
17283
17076
|
declare const index_d$4_translateArrayRange: typeof translateArrayRange;
|
|
17284
17077
|
declare const index_d$4_translateArrayWithIndices: typeof translateArrayWithIndices;
|
|
@@ -17292,8 +17085,8 @@ declare const index_d$4_validateLicenseKey: typeof validateLicenseKey;
|
|
|
17292
17085
|
declare const index_d$4_withErrorHandling: typeof withErrorHandling;
|
|
17293
17086
|
declare const index_d$4_withGracefulDegradation: typeof withGracefulDegradation;
|
|
17294
17087
|
declare namespace index_d$4 {
|
|
17295
|
-
export { index_d$4_AUTH_COMPUTED_KEYS as AUTH_COMPUTED_KEYS, index_d$4_AUTH_STORE_KEYS as AUTH_STORE_KEYS, index_d$4_BILLING_STORE_KEYS as BILLING_STORE_KEYS, index_d$4_BaseStorageStrategy as BaseStorageStrategy, index_d$4_CONSENT_LEVELS as CONSENT_LEVELS, index_d$4_ClaimsCache as ClaimsCache, index_d$4_DEGRADED_AUTH_API as DEGRADED_AUTH_API, index_d$4_DEGRADED_BILLING_API as DEGRADED_BILLING_API, index_d$4_DEGRADED_CRUD_API as DEGRADED_CRUD_API, index_d$4_DEGRADED_OAUTH_API as DEGRADED_OAUTH_API, index_d$4_DoNotDevError as DoNotDevError, index_d$4_EventEmitter as EventEmitter, index_d$4_FRAMEWORK_FEATURES as FRAMEWORK_FEATURES, index_d$4_HybridStorageStrategy as HybridStorageStrategy, index_d$4_LocalStorageStrategy as LocalStorageStrategy, index_d$4_OAUTH_STORE_KEYS as OAUTH_STORE_KEYS, index_d$
|
|
17296
|
-
export type { index_d$4_BrowserEngine as BrowserEngine, index_d$4_BrowserInfo as BrowserInfo, index_d$4_BrowserType as BrowserType, index_d$4_Claims as Claims, index_d$4_ClaimsCacheOptions as ClaimsCacheOptions, index_d$4_ClaimsCacheResult as ClaimsCacheResult, index_d$4_CleanupFunction as CleanupFunction, index_d$4_CompatibilityReport as CompatibilityReport, index_d$4_ConsentLevel as ConsentLevel, index_d$4_CookieInfo as CookieInfo, index_d$4_DateFormatOptions as DateFormatOptions, index_d$4_DateFormatPreset as DateFormatPreset, index_d$4_EventListener as EventListener, index_d$4_FeatureAvailability as FeatureAvailability, index_d$4_FeatureSupport as FeatureSupport, index_d$4_FrameworkFeature as FrameworkFeature, index_d$4_HandleErrorOptions as HandleErrorOptions, index_d$
|
|
17088
|
+
export { index_d$4_AUTH_COMPUTED_KEYS as AUTH_COMPUTED_KEYS, index_d$4_AUTH_STORE_KEYS as AUTH_STORE_KEYS, index_d$4_BILLING_STORE_KEYS as BILLING_STORE_KEYS, index_d$4_BaseStorageStrategy as BaseStorageStrategy, index_d$4_CONSENT_LEVELS as CONSENT_LEVELS, index_d$4_ClaimsCache as ClaimsCache, index_d$4_DEGRADED_AUTH_API as DEGRADED_AUTH_API, index_d$4_DEGRADED_BILLING_API as DEGRADED_BILLING_API, index_d$4_DEGRADED_CRUD_API as DEGRADED_CRUD_API, index_d$4_DEGRADED_OAUTH_API as DEGRADED_OAUTH_API, index_d$4_DoNotDevError as DoNotDevError, index_d$4_EventEmitter as EventEmitter, index_d$4_FRAMEWORK_FEATURES as FRAMEWORK_FEATURES, index_d$4_HybridStorageStrategy as HybridStorageStrategy, index_d$4_LocalStorageStrategy as LocalStorageStrategy, index_d$4_OAUTH_STORE_KEYS as OAUTH_STORE_KEYS, index_d$4_SingletonManager as SingletonManager, index_d$4_StorageManager as StorageManager, index_d$4_TokenManager as TokenManager, index_d$4_ViewportHandler as ViewportHandler, index_d$4_areFeaturesAvailable as areFeaturesAvailable, index_d$4_canRedirectExternally as canRedirectExternally, index_d$4_captureError as captureError, index_d$4_captureMessage as captureMessage, index_d$4_checkLicense as checkLicense, index_d$4_cleanupSentry as cleanupSentry, index_d$4_clearFeatureCache as clearFeatureCache, index_d$4_clearLocalStorage as clearLocalStorage, index_d$4_clearPartnerCache as clearPartnerCache, index_d$4_compactToISOString as compactToISOString, index_d$4_cooldown as cooldown, index_d$4_createAsyncSingleton as createAsyncSingleton, index_d$4_createMetadata as createMetadata, index_d$4_createMethodProxy as createMethodProxy, index_d$4_createProvider as createProvider, index_d$4_createProviders as createProviders, index_d$4_createSingleton as createSingleton, index_d$4_createSingletonWithParams as createSingletonWithParams, index_d$4_createViewportHandler as createViewportHandler, index_d$4_debounce as debounce, index_d$4_debugPlatformDetection as debugPlatformDetection, index_d$4_decryptData as decryptData, index_d$4_delay as delay, index_d$4_deleteCookie as deleteCookie, index_d$4_detectBrowser as detectBrowser, index_d$4_detectFeatures as detectFeatures, index_d$4_detectLicenseKey as detectLicenseKey, index_d$4_detectPlatform as detectPlatform, index_d$4_detectPlatformInfo as detectPlatformInfo, index_d$4_detectStorageError as detectStorageError, index_d$4_encryptData as encryptData, index_d$4_exportEncryptionKey as exportEncryptionKey, index_d$4_formatCookieList as formatCookieList, index_d$4_formatDate as formatDate, index_d$4_formatRelativeTime as formatRelativeTime, index_d$4_generateCodeChallenge as generateCodeChallenge, index_d$4_generateCodeVerifier as generateCodeVerifier, index_d$4_generateCompatibilityReport as generateCompatibilityReport, index_d$4_generateEncryptionKey as generateEncryptionKey, index_d$4_generatePKCEPair as generatePKCEPair, index_d$4_getActiveCookies as getActiveCookies, index_d$4_getAppShortName as getAppShortName, index_d$4_getAssetsConfig as getAssetsConfig, index_d$4_getAuthDomain as getAuthDomain, index_d$4_getAuthPartnerConfig as getAuthPartnerConfig, index_d$4_getAuthPartnerIdByFirebaseId as getAuthPartnerIdByFirebaseId, index_d$4_getAvailableFeatures as getAvailableFeatures, index_d$4_getBrowserRecommendations as getBrowserRecommendations, index_d$4_getConfigSection as getConfigSection, index_d$4_getConfigSource as getConfigSource, index_d$4_getCookie as getCookie, index_d$4_getCookieExamples as getCookieExamples, index_d$4_getCookiesByCategory as getCookiesByCategory, index_d$4_getCurrentOrigin as getCurrentOrigin, index_d$4_getCurrentTimestamp as getCurrentTimestamp, index_d$4_getDndevConfig as getDndevConfig, index_d$4_getEnabledAuthPartners as getEnabledAuthPartners, index_d$4_getEnabledOAuthPartners as getEnabledOAuthPartners, index_d$4_getEncryptionKey as getEncryptionKey, index_d$4_getFeatureSummary as getFeatureSummary, index_d$4_getI18nConfig as getI18nConfig, index_d$4_getLocalStorageItem as getLocalStorageItem, index_d$4_getNextEnvVar as getNextEnvVar, index_d$4_getOAuthClientId as getOAuthClientId, index_d$4_getOAuthPartnerConfig as getOAuthPartnerConfig, index_d$4_getOAuthRedirectUri as getOAuthRedirectUri, index_d$4_getOAuthRedirectUrl as getOAuthRedirectUrl, index_d$4_getPartnerCacheStatus as getPartnerCacheStatus, index_d$4_getPartnerConfig as getPartnerConfig, index_d$4_getPlatformEnvVar as getPlatformEnvVar, index_d$4_getProviderColor as getProviderColor, index_d$4_getRoutesConfig as getRoutesConfig, index_d$4_getStorageManager as getStorageManager, index_d$4_getThemesConfig as getThemesConfig, index_d$4_getTokenManager as getTokenManager, index_d$4_getValidAuthPartnerConfig as getValidAuthPartnerConfig, index_d$4_getValidAuthPartnerIds as getValidAuthPartnerIds, index_d$4_getValidOAuthPartnerConfig as getValidOAuthPartnerConfig, index_d$4_getValidOAuthPartnerIds as getValidOAuthPartnerIds, index_d$4_getVisibleItems as getVisibleItems, index_d$4_getViteEnvVar as getViteEnvVar, index_d$4_getWeekFromISOString as getWeekFromISOString, index_d$4_globalEmitter as globalEmitter, index_d$4_handleError as handleError, index_d$4_hasOptionalCookies as hasOptionalCookies, index_d$4_importEncryptionKey as importEncryptionKey, index_d$4_initSentry as initSentry, index_d$4_initializeConfig as initializeConfig, index_d$4_initializePlatformDetection as initializePlatformDetection, index_d$4_isAuthPartnerEnabled as isAuthPartnerEnabled, index_d$4_isClient as isClient, index_d$4_isCompactDateString as isCompactDateString, index_d$4_isConfigAvailable as isConfigAvailable, index_d$4_isDev as isDev, index_d$4_isElementInViewport as isElementInViewport, index_d$4_isEmailVerificationRequired as isEmailVerificationRequired, index_d$4_isFeatureAvailable as isFeatureAvailable, index_d$4_isIntersectionObserverSupported as isIntersectionObserverSupported, index_d$4_isLocalStorageAvailable as isLocalStorageAvailable, index_d$4_isNextJs as isNextJs, index_d$4_isOAuthPartnerEnabled as isOAuthPartnerEnabled, index_d$4_isPKCESupported as isPKCESupported, index_d$4_isPlatform as isPlatform, index_d$4_isServer as isServer, index_d$4_isTest as isTest, index_d$4_isVite as isVite, index_d$4_isoToCompactString as isoToCompactString, index_d$4_lazyImport as lazyImport, index_d$4_maybeTranslate as maybeTranslate, index_d$4_normalizeToISOString as normalizeToISOString, index_d$4_observeElement as observeElement, index_d$4_parseDate as parseDate, index_d$4_parseDateToNoonUTC as parseDateToNoonUTC, index_d$4_redirectToExternalUrl as redirectToExternalUrl, index_d$4_redirectToExternalUrlWithErrorHandling as redirectToExternalUrlWithErrorHandling, index_d$4_removeLocalStorageItem as removeLocalStorageItem, index_d$4_resolveAppConfig as resolveAppConfig, index_d$4_safeLocalStorage as safeLocalStorage, index_d$4_safeSessionStorage as safeSessionStorage, index_d$4_setCookie as setCookie, index_d$4_setLocalStorageItem as setLocalStorageItem, index_d$4_shouldShowEmailVerification as shouldShowEmailVerification, index_d$4_showNotification as showNotification, index_d$4_supportsFeature as supportsFeature, index_d$4_throttle as throttle, index_d$4_timestampToISOString as timestampToISOString, index_d$4_timingUtils as timingUtils, index_d$4_toDateOnly as toDateOnly, index_d$4_toISOString as toISOString, index_d$4_translateArray as translateArray, index_d$4_translateArrayRange as translateArrayRange, index_d$4_translateArrayWithIndices as translateArrayWithIndices, index_d$4_translateObjectArray as translateObjectArray, index_d$4_updateMetadata as updateMetadata, index_d$4_useSafeContext as useSafeContext, index_d$4_useStorageManager as useStorageManager, index_d$4_validateCodeChallenge as validateCodeChallenge, index_d$4_validateCodeVerifier as validateCodeVerifier, index_d$4_validateLicenseKey as validateLicenseKey, index_d$4_withErrorHandling as withErrorHandling, index_d$4_withGracefulDegradation as withGracefulDegradation };
|
|
17089
|
+
export type { index_d$4_BrowserEngine as BrowserEngine, index_d$4_BrowserInfo as BrowserInfo, index_d$4_BrowserType as BrowserType, index_d$4_Claims as Claims, index_d$4_ClaimsCacheOptions as ClaimsCacheOptions, index_d$4_ClaimsCacheResult as ClaimsCacheResult, index_d$4_CleanupFunction as CleanupFunction, index_d$4_CompatibilityReport as CompatibilityReport, index_d$4_ConsentLevel as ConsentLevel, index_d$4_CookieInfo as CookieInfo, index_d$4_DateFormatOptions as DateFormatOptions, index_d$4_DateFormatPreset as DateFormatPreset, index_d$4_EventListener as EventListener, index_d$4_FeatureAvailability as FeatureAvailability, index_d$4_FeatureSupport as FeatureSupport, index_d$4_FrameworkFeature as FrameworkFeature, index_d$4_HandleErrorOptions as HandleErrorOptions, index_d$4_IStorageManager as IStorageManager, index_d$4_IntersectionObserverCallback as IntersectionObserverCallback, index_d$4_IntersectionObserverOptions as IntersectionObserverOptions, index_d$4_LicenseValidationResult as LicenseValidationResult, index_d$4_OS as OS, index_d$4_PlatformInfo as PlatformInfo, index_d$4_StorageError as StorageError, index_d$4_StorageErrorType as StorageErrorType, index_d$4_StorageOptions as StorageOptions, index_d$4_TokenManagerOptions as TokenManagerOptions, index_d$4_ViewportDetectionOptions as ViewportDetectionOptions, index_d$4_ViewportDetectionResult as ViewportDetectionResult };
|
|
17297
17090
|
}
|
|
17298
17091
|
|
|
17299
17092
|
/**
|
|
@@ -18611,47 +18404,6 @@ declare namespace index_d$2 {
|
|
|
18611
18404
|
export type { index_d$2_EntitySchemas as EntitySchemas };
|
|
18612
18405
|
}
|
|
18613
18406
|
|
|
18614
|
-
/**
|
|
18615
|
-
* Performance metrics interface
|
|
18616
|
-
*/
|
|
18617
|
-
interface PerformanceMetrics {
|
|
18618
|
-
fcp: number | null;
|
|
18619
|
-
lcp: number | null;
|
|
18620
|
-
fid: number | null;
|
|
18621
|
-
cls: number | null;
|
|
18622
|
-
ttfb: number | null;
|
|
18623
|
-
fmp: number | null;
|
|
18624
|
-
}
|
|
18625
|
-
/**
|
|
18626
|
-
* Performance hook for monitoring Core Web Vitals
|
|
18627
|
-
*
|
|
18628
|
-
* ✅ PERFORMANCE: Monitors key performance metrics
|
|
18629
|
-
* - First Contentful Paint (FCP)
|
|
18630
|
-
* - Largest Contentful Paint (LCP)
|
|
18631
|
-
* - First Input Delay (FID)
|
|
18632
|
-
* - Cumulative Layout Shift (CLS)
|
|
18633
|
-
* - Time to First Byte (TTFB)
|
|
18634
|
-
*
|
|
18635
|
-
* @version 0.0.1
|
|
18636
|
-
* @since 0.0.1
|
|
18637
|
-
* @author AMBROISE PARK Consulting
|
|
18638
|
-
* @returns Performance metrics and monitoring functions
|
|
18639
|
-
*/
|
|
18640
|
-
declare function usePerformance(): {
|
|
18641
|
-
metrics: PerformanceMetrics;
|
|
18642
|
-
isSupported: boolean;
|
|
18643
|
-
getPerformanceScore: () => {
|
|
18644
|
-
overall: number;
|
|
18645
|
-
breakdown: {
|
|
18646
|
-
fcp: number | null;
|
|
18647
|
-
lcp: number | null;
|
|
18648
|
-
fid: number | null;
|
|
18649
|
-
cls: number | null;
|
|
18650
|
-
};
|
|
18651
|
-
};
|
|
18652
|
-
logPerformanceReport: () => void;
|
|
18653
|
-
};
|
|
18654
|
-
|
|
18655
18407
|
declare class Subscribable<TListener extends Function> {
|
|
18656
18408
|
protected listeners: Set<TListener>;
|
|
18657
18409
|
constructor();
|
|
@@ -19938,21 +19690,45 @@ type UseBaseMutationResult<TData = unknown, TError = DefaultError, TVariables =
|
|
|
19938
19690
|
type UseMutationResult<TData = unknown, TError = DefaultError, TVariables = unknown, TOnMutateResult = unknown> = UseBaseMutationResult<TData, TError, TVariables, TOnMutateResult>;
|
|
19939
19691
|
|
|
19940
19692
|
/**
|
|
19941
|
-
* @fileoverview React Query client configuration
|
|
19942
|
-
* @description
|
|
19693
|
+
* @fileoverview React Query client configuration (SSR-safe)
|
|
19694
|
+
* @description QueryClient factory with proper SSR isolation
|
|
19943
19695
|
*
|
|
19944
|
-
*
|
|
19696
|
+
* **SSR Safety:**
|
|
19697
|
+
* - On server: Creates new QueryClient per request (isolates user data)
|
|
19698
|
+
* - On client: Reuses singleton (preserves cache between navigations)
|
|
19699
|
+
*
|
|
19700
|
+
* @version 0.0.3
|
|
19945
19701
|
* @since 0.0.1
|
|
19946
19702
|
* @author AMBROISE PARK Consulting
|
|
19947
19703
|
*/
|
|
19948
19704
|
|
|
19949
19705
|
/**
|
|
19950
|
-
*
|
|
19951
|
-
* Used across the application for consistent caching behavior
|
|
19706
|
+
* Get or create QueryClient (SSR-safe)
|
|
19952
19707
|
*
|
|
19953
|
-
*
|
|
19954
|
-
*
|
|
19708
|
+
* - Server: Always creates new instance (per-request isolation)
|
|
19709
|
+
* - Browser: Reuses singleton (cache persistence)
|
|
19710
|
+
*
|
|
19711
|
+
* @version 0.0.3
|
|
19712
|
+
* @since 0.0.3
|
|
19955
19713
|
* @author AMBROISE PARK Consulting
|
|
19714
|
+
*
|
|
19715
|
+
* @example
|
|
19716
|
+
* ```tsx
|
|
19717
|
+
* // In your root layout/provider
|
|
19718
|
+
* function Providers({ children }) {
|
|
19719
|
+
* const queryClient = getQueryClient();
|
|
19720
|
+
* return (
|
|
19721
|
+
* <QueryClientProvider client={queryClient}>
|
|
19722
|
+
* {children}
|
|
19723
|
+
* </QueryClientProvider>
|
|
19724
|
+
* );
|
|
19725
|
+
* }
|
|
19726
|
+
* ```
|
|
19727
|
+
*/
|
|
19728
|
+
declare function getQueryClient(): QueryClient;
|
|
19729
|
+
/**
|
|
19730
|
+
* @deprecated Use getQueryClient() instead for SSR safety
|
|
19731
|
+
* Keeping for backward compatibility during migration
|
|
19956
19732
|
*/
|
|
19957
19733
|
declare const queryClient: QueryClient;
|
|
19958
19734
|
|
|
@@ -21203,10 +20979,14 @@ declare function getEntityProvider(): EntityProvider;
|
|
|
21203
20979
|
* Query providers for apps that use CRUD operations
|
|
21204
20980
|
* Includes: React Query client and provider
|
|
21205
20981
|
*
|
|
20982
|
+
* **SSR Safety:**
|
|
20983
|
+
* - Uses getQueryClient() which creates new instance on server per-request
|
|
20984
|
+
* - Reuses singleton on client for cache persistence
|
|
20985
|
+
*
|
|
21206
20986
|
* ⚠️ OPTIONAL: Only use this if your app needs CRUD operations
|
|
21207
20987
|
* React Query is a large package - don't load it unless needed!
|
|
21208
20988
|
*
|
|
21209
|
-
* @version 0.0.
|
|
20989
|
+
* @version 0.0.3
|
|
21210
20990
|
* @since 0.0.1
|
|
21211
20991
|
* @author AMBROISE PARK Consulting
|
|
21212
20992
|
*/
|
|
@@ -21416,6 +21196,7 @@ type index_d$1_UseScriptLoaderReturn = UseScriptLoaderReturn;
|
|
|
21416
21196
|
type index_d$1_UseViewportVisibilityOptions = UseViewportVisibilityOptions;
|
|
21417
21197
|
type index_d$1_UseViewportVisibilityReturn = UseViewportVisibilityReturn;
|
|
21418
21198
|
declare const index_d$1_getEntityProvider: typeof getEntityProvider;
|
|
21199
|
+
declare const index_d$1_getQueryClient: typeof getQueryClient;
|
|
21419
21200
|
declare const index_d$1_queryClient: typeof queryClient;
|
|
21420
21201
|
declare const index_d$1_setEntityProvider: typeof setEntityProvider;
|
|
21421
21202
|
declare const index_d$1_useAddOrUpdate: typeof useAddOrUpdate;
|
|
@@ -21437,12 +21218,11 @@ declare const index_d$1_useIntersectionObserver: typeof useIntersectionObserver;
|
|
|
21437
21218
|
declare const index_d$1_useIsClient: typeof useIsClient;
|
|
21438
21219
|
declare const index_d$1_useList: typeof useList;
|
|
21439
21220
|
declare const index_d$1_useLocalStorage: typeof useLocalStorage;
|
|
21440
|
-
declare const index_d$1_usePerformance: typeof usePerformance;
|
|
21441
21221
|
declare const index_d$1_useScriptLoader: typeof useScriptLoader;
|
|
21442
21222
|
declare const index_d$1_useSeoConfig: typeof useSeoConfig;
|
|
21443
21223
|
declare const index_d$1_useViewportVisibility: typeof useViewportVisibility;
|
|
21444
21224
|
declare namespace index_d$1 {
|
|
21445
|
-
export { index_d$1_AppConfigContext as AppConfigContext, index_d$1_AppConfigProvider as AppConfigProvider, index_d$1_QueryProviders as QueryProviders, index_d$1_ReactQueryBridge as ReactQueryBridge, index_d$1_getEntityProvider as getEntityProvider, index_d$1_queryClient as queryClient, index_d$1_setEntityProvider as setEntityProvider, index_d$1_useAddOrUpdate as useAddOrUpdate, index_d$1_useAppConfig as useAppConfig, index_d$1_useAuthConfig as useAuthConfig, index_d$1_useBreathingTimer as useBreathingTimer, index_d$1_useClickOutside as useClickOutside, index_d$1_useDebounce as useDebounce, index_d$1_useDelete as useDelete, index_d$1_useEntityAddOrUpdate as useEntityAddOrUpdate, index_d$1_useEntityDelete as useEntityDelete, index_d$1_useEntityGet as useEntityGet, index_d$1_useEntityList as useEntityList, index_d$1_useEventListener as useEventListener, index_d$1_useFaviconConfig as useFaviconConfig, index_d$1_useFeaturesConfig as useFeaturesConfig, index_d$1_useGet as useGet, index_d$1_useIntersectionObserver as useIntersectionObserver, index_d$1_useIsClient as useIsClient, index_d$1_useList as useList, index_d$1_useLocalStorage as useLocalStorage, index_d$
|
|
21225
|
+
export { index_d$1_AppConfigContext as AppConfigContext, index_d$1_AppConfigProvider as AppConfigProvider, index_d$1_QueryProviders as QueryProviders, index_d$1_ReactQueryBridge as ReactQueryBridge, index_d$1_getEntityProvider as getEntityProvider, index_d$1_getQueryClient as getQueryClient, index_d$1_queryClient as queryClient, index_d$1_setEntityProvider as setEntityProvider, index_d$1_useAddOrUpdate as useAddOrUpdate, index_d$1_useAppConfig as useAppConfig, index_d$1_useAuthConfig as useAuthConfig, index_d$1_useBreathingTimer as useBreathingTimer, index_d$1_useClickOutside as useClickOutside, index_d$1_useDebounce as useDebounce, index_d$1_useDelete as useDelete, index_d$1_useEntityAddOrUpdate as useEntityAddOrUpdate, index_d$1_useEntityDelete as useEntityDelete, index_d$1_useEntityGet as useEntityGet, index_d$1_useEntityList as useEntityList, index_d$1_useEventListener as useEventListener, index_d$1_useFaviconConfig as useFaviconConfig, index_d$1_useFeaturesConfig as useFeaturesConfig, index_d$1_useGet as useGet, index_d$1_useIntersectionObserver as useIntersectionObserver, index_d$1_useIsClient as useIsClient, index_d$1_useList as useList, index_d$1_useLocalStorage as useLocalStorage, index_d$1_useScriptLoader as useScriptLoader, index_d$1_useSeoConfig as useSeoConfig, index_d$1_useViewportVisibility as useViewportVisibility };
|
|
21446
21226
|
export type { index_d$1_AppConfigProviderProps as AppConfigProviderProps, index_d$1_EntityProvider as EntityProvider, index_d$1_UseClickOutsideOptions as UseClickOutsideOptions, index_d$1_UseClickOutsideReturn as UseClickOutsideReturn, index_d$1_UseDebounceOptions as UseDebounceOptions, index_d$1_UseEventListenerOptions as UseEventListenerOptions, index_d$1_UseEventListenerReturn as UseEventListenerReturn, index_d$1_UseIntersectionObserverOptions as UseIntersectionObserverOptions, index_d$1_UseIntersectionObserverReturn as UseIntersectionObserverReturn, index_d$1_UseLocalStorageOptions as UseLocalStorageOptions, index_d$1_UseLocalStorageReturn as UseLocalStorageReturn, index_d$1_UseScriptLoaderOptions as UseScriptLoaderOptions, index_d$1_UseScriptLoaderReturn as UseScriptLoaderReturn, index_d$1_UseViewportVisibilityOptions as UseViewportVisibilityOptions, index_d$1_UseViewportVisibilityReturn as UseViewportVisibilityReturn };
|
|
21447
21227
|
}
|
|
21448
21228
|
|
|
@@ -21450,7 +21230,7 @@ declare namespace index_d$1 {
|
|
|
21450
21230
|
* Translation hook result interface
|
|
21451
21231
|
* @public
|
|
21452
21232
|
*
|
|
21453
|
-
* @version 0.0.
|
|
21233
|
+
* @version 0.0.3
|
|
21454
21234
|
* @since 0.0.1
|
|
21455
21235
|
* @author AMBROISE PARK Consulting
|
|
21456
21236
|
*/
|
|
@@ -21516,7 +21296,7 @@ interface UseTranslationResult {
|
|
|
21516
21296
|
*
|
|
21517
21297
|
* @public
|
|
21518
21298
|
*
|
|
21519
|
-
* @version 0.0.
|
|
21299
|
+
* @version 0.0.3
|
|
21520
21300
|
* @since 0.0.1
|
|
21521
21301
|
* @author AMBROISE PARK Consulting
|
|
21522
21302
|
*/
|
|
@@ -21542,7 +21322,7 @@ declare function useTranslation(namespace?: string | string[]): UseTranslationRe
|
|
|
21542
21322
|
*
|
|
21543
21323
|
* @public
|
|
21544
21324
|
*
|
|
21545
|
-
* @version 0.0.
|
|
21325
|
+
* @version 0.0.3
|
|
21546
21326
|
* @since 0.0.1
|
|
21547
21327
|
* @author AMBROISE PARK Consulting
|
|
21548
21328
|
*/
|
|
@@ -21991,7 +21771,7 @@ interface LanguageData {
|
|
|
21991
21771
|
*
|
|
21992
21772
|
* @public
|
|
21993
21773
|
*
|
|
21994
|
-
* @version 0.0.
|
|
21774
|
+
* @version 0.0.3
|
|
21995
21775
|
* @since 0.0.1
|
|
21996
21776
|
* @author AMBROISE PARK Consulting
|
|
21997
21777
|
*/
|
|
@@ -22004,6 +21784,10 @@ declare function useLanguageSelector(): {
|
|
|
22004
21784
|
changeLanguage: (lng: string) => Promise<void>;
|
|
22005
21785
|
/** Whether a language change is in progress */
|
|
22006
21786
|
isLoading: boolean;
|
|
21787
|
+
/** Selector mode: 'none' (0-1 langs), 'toggle' (2 langs), 'dropdown' (3+ langs) */
|
|
21788
|
+
mode: string;
|
|
21789
|
+
/** For toggle mode: the inactive language to switch to */
|
|
21790
|
+
otherLanguage: LanguageData | null;
|
|
22007
21791
|
};
|
|
22008
21792
|
|
|
22009
21793
|
/**
|
|
@@ -22062,5 +21846,5 @@ declare namespace index_d {
|
|
|
22062
21846
|
export type { index_d_FAQSectionProps as FAQSectionProps };
|
|
22063
21847
|
}
|
|
22064
21848
|
|
|
22065
|
-
export { AUTH_COMPUTED_KEYS, AUTH_EVENTS, AUTH_PARTNERS, AUTH_PARTNER_STATE, AUTH_STORE_KEYS, AppConfigContext, AppConfigProvider, AuthUserSchema, BILLING_EVENTS, BILLING_STORE_KEYS, BREAKPOINT_RANGES, BREAKPOINT_THRESHOLDS, BaseStorageStrategy, COMMON_TIER_CONFIGS, CONFIDENCE_LEVELS, CONSENT_CATEGORY, CONSENT_LEVELS, CONTEXTS, CheckoutSessionMetadataSchema, ClaimsCache, CreateCheckoutSessionRequestSchema, CreateCheckoutSessionResponseSchema, CustomClaimsSchema, DEFAULT_LAYOUT_PRESET, DEFAULT_SUBSCRIPTION, DEGRADED_AUTH_API, DEGRADED_BILLING_API, DEGRADED_CRUD_API, DEGRADED_OAUTH_API, DENSITY, DoNotDevError, ENVIRONMENTS, EntityHookError, EventEmitter, FAQSection, FEATURES, FEATURE_CONSENT_MATRIX, FIREBASE_ERROR_MAP, FIRESTORE_ID_PATTERN, FRAMEWORK_FEATURES, Flag, GITHUB_PERMISSION_LEVELS, index_d$1 as Hooks, HybridStorageStrategy, index_d as I18n, LAYOUT_PRESET, LanguageFAB, LanguageSelector, LanguageToggleGroup, LocalStorageStrategy, OAUTH_EVENTS, OAUTH_PARTNERS, OAUTH_STORE_KEYS,
|
|
22066
|
-
export type { AccountLinkResult, AccountLinkingInfo, AdminCheckHookResult, AdminClaims, ApiResponse, AppConfig, AppConfigProviderProps, AppCookieCategories, AppMetadata, AppProvidersProps, AssetsPluginConfig, AttemptRecord, AuthAPI, AuthActions, AuthConfig, AuthContextValue, AuthCoreHookResult, AuthError, AuthEventData, AuthEventKey, AuthEventName, AuthMethod, AuthPartner, AuthPartnerButton, AuthPartnerHookResult, AuthPartnerId, AuthPartnerResult, AuthPartnerState, AuthProvider, AuthProviderProps, AuthRedirectHookResult, AuthRedirectOptions, AuthResult, AuthState, AuthStateStore, AuthStatus, AuthTokenHookResult, AuthUser, BaseActions, BaseCredentials, BaseDocument, BaseEntityFields, BasePartnerState, BaseState, BaseStoreActions, BaseStoreState, BaseUserProfile, BasicUserInfo, BillingAPI, BillingAdapter, BillingErrorCode, BillingEvent, BillingEventData, BillingEventKey, BillingEventName, BillingProvider, BillingProviderConfig, Breakpoint, BreakpointAPI, BreakpointUtils, BrowserEngine, BrowserInfo, BrowserType, BusinessEntity, CachedError, CheckGitHubAccessRequest, CheckoutMode, CheckoutOptions, CheckoutSessionMetadata, Claims, ClaimsCacheOptions, ClaimsCacheResult, CleanupFunction, ColumnDef, CommonSubscriptionFeatures, CommonTranslations, CompatibilityReport, ConfidenceLevel, ConsentAPI, ConsentActions, ConsentCategory, ConsentLevel, ConsentState, Context, CookieInfo, CookieOptions, CreateCheckoutSessionRequest, CreateCheckoutSessionResponse, CreateEntityData, CreateEntityRequest, CreateEntityResponse, CrudAPI, CustomClaims, CustomStoreConfig, DateFormatOptions, DateFormatPreset, DateValue, DeleteEntityRequest, DeleteEntityResponse, Density, DnDevLayoutProps, DnDevOverride, DndevFrameworkConfig, DoNotDevCookieCategories, DoNotDevStore, DoNotDevStoreConfig, DoNotDevStoreState, DynamicFormRule, EffectiveConnectionType, EmailVerificationHookResult, EmailVerificationStatus, Entity, EntityField, EntityHookErrors, EntityMetadata, EntityProvider, EntitySchemas, EntityTemplateProps, EntityTranslations, EnvironmentMode, ErrorCode, ErrorSeverity, ErrorSource, EventListener, ExchangeTokenParams, ExchangeTokenRequest, FAQSectionProps, FaviconConfig, Feature, FeatureAccessHookResult, FeatureAvailability, FeatureConsentRequirement, FeatureHookResult, FeatureId, FeatureName, FeatureSupport, FeaturesConfig, FeaturesPluginConfig, FeaturesRequiringAnyConsent, FeaturesRequiringConsent, FeaturesWithoutConsent, FieldCondition, FieldConfig, FieldType, FieldTypeToValue, FirebaseCallOptions, FirebaseConfig, FirestoreTimestamp, FirestoreUniqueConstraintValidator, FooterConfig, FooterZoneConfig, FormConfig, FormStep, FrameworkFeature, FunctionCallConfig, FunctionCallContext, FunctionCallOptions, FunctionCallResult, FunctionClient, FunctionClientFactoryOptions, FunctionError, FunctionLoader, FunctionPlatform, FunctionResponse, FunctionSchema, FunctionSchemas, FunctionSystem, GetCustomClaimsResponse, GetEntityData, GetEntityRequest, GetEntityResponse, GetUserAuthStatusResponse, GitHubPermission, GitHubRepoConfig, GrantGitHubAccessRequest, HandleErrorOptions, HeaderZoneConfig,
|
|
21849
|
+
export { AUTH_COMPUTED_KEYS, AUTH_EVENTS, AUTH_PARTNERS, AUTH_PARTNER_STATE, AUTH_STORE_KEYS, AppConfigContext, AppConfigProvider, AuthUserSchema, BILLING_EVENTS, BILLING_STORE_KEYS, BREAKPOINT_RANGES, BREAKPOINT_THRESHOLDS, BaseStorageStrategy, COMMON_TIER_CONFIGS, CONFIDENCE_LEVELS, CONSENT_CATEGORY, CONSENT_LEVELS, CONTEXTS, CheckoutSessionMetadataSchema, ClaimsCache, CreateCheckoutSessionRequestSchema, CreateCheckoutSessionResponseSchema, CustomClaimsSchema, DEFAULT_LAYOUT_PRESET, DEFAULT_SUBSCRIPTION, DEGRADED_AUTH_API, DEGRADED_BILLING_API, DEGRADED_CRUD_API, DEGRADED_OAUTH_API, DENSITY, DoNotDevError, ENVIRONMENTS, EntityHookError, EventEmitter, FAQSection, FEATURES, FEATURE_CONSENT_MATRIX, FEATURE_STATUS, FIREBASE_ERROR_MAP, FIRESTORE_ID_PATTERN, FRAMEWORK_FEATURES, Flag, GITHUB_PERMISSION_LEVELS, index_d$1 as Hooks, HybridStorageStrategy, index_d as I18n, LAYOUT_PRESET, LanguageFAB, LanguageSelector, LanguageToggleGroup, LocalStorageStrategy, OAUTH_EVENTS, OAUTH_PARTNERS, OAUTH_STORE_KEYS, PARTNER_ICONS, PAYLOAD_EVENTS, PERMISSIONS, PLATFORMS, PWA_ASSET_TYPES, PWA_DISPLAY_MODES, ProductDeclarationSchema, ProductDeclarationsSchema, QueryProviders, ROUTE_SOURCES, ReactQueryBridge, STORAGE_SCOPES, STORAGE_TYPES, STRIPE_EVENTS, STRIPE_MODES, SUBSCRIPTION_DURATIONS, SUBSCRIPTION_STATUS, SUBSCRIPTION_TIERS, index_d$2 as Schemas, SingletonManager, StorageManager, index_d$3 as Stores, StripeBackConfigSchema, StripeFrontConfigSchema, StripePaymentSchema, StripeSubscriptionSchema, SubscriptionClaimsSchema, SubscriptionDataSchema, TokenManager, TranslatedText, index_d$5 as Types, USER_ROLES, UserSubscriptionSchema, index_d$4 as Utils, ViewportHandler, WebhookEventSchema, applyTheme, areFeaturesAvailable, baseFields, buildRoutePath, canRedirectExternally, captureError, captureMessage, checkGitHubAccessSchema, checkLicense, cleanupSentry, clearFeatureCache, clearLocalStorage, clearPartnerCache, compactToISOString, cooldown, createAsyncSingleton, createDefaultSubscriptionClaims, createDefaultUserProfile, createDoNotDevStore, createEntitySchema, createMetadata, createMethodProxy, createProvider, createProviders, createSchemas, createSingleton, createSingletonWithParams, createViewportHandler, debounce, debugPlatformDetection, decryptData, defineEntity, delay, deleteCookie, deleteEntitySchema, detectBrowser, detectFeatures, detectLicenseKey, detectPlatform, detectPlatformInfo, detectStorageError, disconnectOAuthSchema, encryptData, enhanceSchema, exchangeTokenSchema, exportEncryptionKey, extractRoutePath, formatCookieList, formatDate, formatRelativeTime, generateCodeChallenge, generateCodeVerifier, generateCompatibilityReport, generateEncryptionKey, generatePKCEPair, getActiveCookies, getAppShortName, getAssetsConfig, getAuthDomain, getAuthPartnerConfig, getAuthPartnerIdByFirebaseId, getAvailableFeatures, getAvailableThemeNames, getAvailableThemes, getBreakpointFromWidth, getBreakpointUtils, getBrowserRecommendations, getCollectionName, getConfigSection, getConfigSource, getConnectionsSchema, getCookie, getCookieExamples, getCookiesByCategory, getCurrentOrigin, getCurrentTimestamp, getDndevConfig, getEnabledAuthPartners, getEnabledOAuthPartners, getEncryptionKey, getEntityProvider, getEntitySchema, getFeatureSummary, getFlagCodes, getI18nConfig, getI18nInstance, getLocalStorageItem, getNextEnvVar, getOAuthClientId, getOAuthPartnerConfig, getOAuthRedirectUri, getOAuthRedirectUrl, getPartnerCacheStatus, getPartnerConfig, getPlatformEnvVar, getProviderColor, getQueryClient, getRouteManifest, getRouteSource, getRoutes, getRoutesConfig, getSchemaType, getSmartDefaults, getStorageManager, getThemeInfo, getThemesConfig, getTokenManager, getValidAuthPartnerConfig, getValidAuthPartnerIds, getValidOAuthPartnerConfig, getValidOAuthPartnerIds, getVisibleFieldsFromEntity, getVisibleItems, getViteEnvVar, getWeekFromISOString, githubPermissionSchema, githubRepoConfigSchema, globalEmitter, grantGitHubAccessSchema, handleError, hasFlag, hasMetadata, hasOptionalCookies, importEncryptionKey, initSentry, initializeConfig, initializePlatformDetection, isAuthPartnerEnabled, isAuthPartnerId, isBreakpoint, isClient, isCompactDateString, isConfigAvailable, isDev, isDoNotDevStore, isElementInViewport, isEmailVerificationRequired, isFeatureAvailable, isFieldVisible, isIntersectionObserverSupported, isLocalStorageAvailable, isNextJs, isOAuthPartnerEnabled, isOAuthPartnerId, isPKCESupported, isPlatform, isServer, isTest, isValidTheme, isVite, isoToCompactString, lazyImport, listEntitiesSchema, maybeTranslate, normalizeToISOString, observeElement, overrideFeatures, overridePaymentModes, overridePermissions, overrideSubscriptionStatus, overrideSubscriptionTiers, overrideUserRoles, parseDate, parseDateToNoonUTC, queryClient, redirectToExternalUrl, redirectToExternalUrlWithErrorHandling, refreshTokenSchema, registerUniqueConstraintValidator, removeLocalStorageItem, resolveAppConfig, resolveAuthConfig, resolvePageMeta, revokeGitHubAccessSchema, safeLocalStorage, safeSessionStorage, setCookie, setEntityProvider, setLocalStorageItem, shouldShowEmailVerification, showNotification, supportsFeature, throttle, timestampToISOString, timingUtils, toDateOnly, toISOString, translateArray, translateArrayRange, translateArrayWithIndices, translateObjectArray, updateEntitySchema, updateMetadata, useAbortControllerStore, useAddOrUpdate, useAnalyticsConsent, useAppConfig, useAuthConfig, useBreakpoint, useBreathingTimer, useClickOutside, useConsent, useConsentReady, useConsentStore, useDebounce, useDelete, useEntityAddOrUpdate, useEntityDelete, useEntityGet, useEntityList, useEventListener, useFaviconConfig, useFeatureConsent, useFeaturesConfig, useFunctionalConsent, useGet, useHasConsented, useI18nReady, useIntersectionObserver, useIsClient, useLanguageSelector, useLayout, useList, useLoading, useLoadingActions, useLoadingState, useLoadingStore, useLocalStorage, useMarketingConsent, useNavigationStore, useNetwork, useNetworkConnectionType, useNetworkOnline, useNetworkStatus, useNetworkStore, useOverlayStore, useRateLimit, useSafeContext, useScriptLoader, useSeoConfig, useStorageManager, useTheme, useThemeReady, useThemeStore, useTranslation, useViewportVisibility, validateAuthPartners, validateAuthSchemas, validateAuthUser, validateBillingSchemas, validateCheckoutSessionMetadata, validateCodeChallenge, validateCodeVerifier, validateCreateCheckoutSessionRequest, validateCreateCheckoutSessionResponse, validateCustomClaims, validateDates, validateDocument, validateLicenseKey, validateOAuthPartners, validateStripeBackConfig, validateStripeFrontConfig, validateSubscriptionClaims, validateSubscriptionData, validateUniqueFields, validateUserSubscription, validateWebhookEvent, withErrorHandling, withGracefulDegradation };
|
|
21850
|
+
export type { AccountLinkResult, AccountLinkingInfo, AdminCheckHookResult, AdminClaims, ApiResponse, AppConfig, AppConfigProviderProps, AppCookieCategories, AppMetadata, AppProvidersProps, AssetsPluginConfig, AttemptRecord, AuthAPI, AuthActions, AuthConfig, AuthContextValue, AuthCoreHookResult, AuthError, AuthEventData, AuthEventKey, AuthEventName, AuthMethod, AuthPartner, AuthPartnerButton, AuthPartnerHookResult, AuthPartnerId, AuthPartnerResult, AuthPartnerState, AuthProvider, AuthProviderProps, AuthRedirectHookResult, AuthRedirectOptions, AuthResult, AuthState, AuthStateStore, AuthStatus, AuthTokenHookResult, AuthUser, BaseActions, BaseCredentials, BaseDocument, BaseEntityFields, BasePartnerState, BaseState, BaseStoreActions, BaseStoreState, BaseUserProfile, BasicUserInfo, BillingAPI, BillingAdapter, BillingErrorCode, BillingEvent, BillingEventData, BillingEventKey, BillingEventName, BillingProvider, BillingProviderConfig, Breakpoint, BreakpointAPI, BreakpointUtils, BrowserEngine, BrowserInfo, BrowserType, BusinessEntity, CachedError, CanAPI, CheckGitHubAccessRequest, CheckoutMode, CheckoutOptions, CheckoutSessionMetadata, Claims, ClaimsCacheOptions, ClaimsCacheResult, CleanupFunction, ColumnDef, CommonSubscriptionFeatures, CommonTranslations, CompatibilityReport, ConfidenceLevel, ConsentAPI, ConsentActions, ConsentCategory, ConsentLevel, ConsentState, Context, CookieInfo, CookieOptions, CreateCheckoutSessionRequest, CreateCheckoutSessionResponse, CreateEntityData, CreateEntityRequest, CreateEntityResponse, CrudAPI, CustomClaims, CustomStoreConfig, DateFormatOptions, DateFormatPreset, DateValue, DeleteEntityRequest, DeleteEntityResponse, Density, DnDevLayoutProps, DnDevOverride, DndevFrameworkConfig, DoNotDevCookieCategories, DoNotDevStore, DoNotDevStoreConfig, DoNotDevStoreState, DynamicFormRule, EffectiveConnectionType, EmailVerificationHookResult, EmailVerificationStatus, Entity, EntityField, EntityHookErrors, EntityMetadata, EntityProvider, EntitySchemas, EntityTemplateProps, EntityTranslations, EnvironmentMode, ErrorCode, ErrorSeverity, ErrorSource, EventListener, ExchangeTokenParams, ExchangeTokenRequest, FAQSectionProps, FaviconConfig, Feature, FeatureAccessHookResult, FeatureAvailability, FeatureConsentRequirement, FeatureHookResult, FeatureId, FeatureName, FeatureStatus, FeatureSupport, FeaturesConfig, FeaturesPluginConfig, FeaturesRequiringAnyConsent, FeaturesRequiringConsent, FeaturesWithoutConsent, FieldCondition, FieldConfig, FieldType, FieldTypeToValue, FirebaseCallOptions, FirebaseConfig, FirestoreTimestamp, FirestoreUniqueConstraintValidator, FooterConfig, FooterZoneConfig, FormConfig, FormStep, FrameworkFeature, FunctionCallConfig, FunctionCallContext, FunctionCallOptions, FunctionCallResult, FunctionClient, FunctionClientFactoryOptions, FunctionError, FunctionLoader, FunctionPlatform, FunctionResponse, FunctionSchema, FunctionSchemas, FunctionSystem, GetCustomClaimsResponse, GetEntityData, GetEntityRequest, GetEntityResponse, GetUserAuthStatusResponse, GitHubPermission, GitHubRepoConfig, GrantGitHubAccessRequest, HandleErrorOptions, HeaderZoneConfig, I18nConfig, I18nPluginConfig, I18nProviderProps, ID, INetworkManager, IStorageManager, IStorageStrategy, IntersectionObserverCallback, IntersectionObserverOptions, Invoice, InvoiceItem, LanguageInfo, LayoutAPI, LayoutConfig, LayoutInput, LayoutPreset, LegalCompanyInfo, LegalConfig, LegalContactInfo, LegalDirectorInfo, LegalHostingInfo, LegalJurisdictionInfo, LegalSectionsConfig, LegalWebsiteInfo, LicenseValidationResult, ListEntitiesRequest, ListEntitiesResponse, ListEntityData, ListOptions, ListResponse, LoadingActions, LoadingState, MergedBarConfig, MobileBehaviorConfig, ModalActions, ModalState, MutationResponse, NavigationRoute, NetworkCheckConfig, NetworkConnectionType, NetworkReconnectCallback, NetworkState$1 as NetworkState, NetworkStatus, NetworkStatusHookResult, OAuthAPI, OAuthApiRequestOptions, OAuthCallbackHookResult, OAuthConnection, OAuthConnectionInfo, OAuthConnectionRequest, OAuthConnectionStatus, OAuthCredentials, OAuthEventData, OAuthEventKey, OAuthEventName, OAuthPartner, OAuthPartnerButton, OAuthPartnerHookResult, OAuthPartnerId, OAuthPartnerResult, OAuthPartnerState, OAuthPurpose, OAuthRefreshRequest, OAuthRefreshResponse, OAuthResult, OAuthStoreActions, OAuthStoreState, OS, Observable, OrderByClause, PWAAssetType, PWADisplayMode, PWAPluginConfig, PageAuth, PageMeta, PaginationOptions, PartnerButton, PartnerConnectionState, PartnerIconId, PartnerId, PartnerResult, PartnerType, PayloadCacheEventData, PayloadDocument, PayloadDocumentEventData, PayloadEventKey, PayloadEventName, PayloadGlobalEventData, PayloadMediaEventData, PayloadPageRegenerationEventData, PayloadRequest, PayloadUserEventData, PaymentEventData, PaymentMethod, PaymentMethodType, PaymentMode, Permission, Platform, PlatformInfo, PresetConfig, PresetRegistry, ProcessPaymentSuccessRequest, ProcessPaymentSuccessResponse, ProductDeclaration, ProviderInstances, RateLimitConfig, RateLimitManager, RateLimitResult, RateLimitState, RateLimiter, ReadCallback, Reference, RefreshSubscriptionRequest, RefreshSubscriptionResponse, RemoveCustomClaimsResponse, ResolvedLayoutConfig, RevokeGitHubAccessRequest, RouteData, RouteManifest, RouteMeta, RouteSource, RoutesPluginConfig, SEOConfig, SchemaMetadata, SetCustomClaimsResponse, SidebarZoneConfig, SlotContent, StorageError, StorageErrorType, StorageOptions, StorageScope, StorageType, Store, StoreApi, StripeBackConfig, StripeCheckoutRequest, StripeCheckoutResponse, StripeCheckoutSessionEventData, StripeConfig, StripeCustomer, StripeCustomerEventData, StripeEventData, StripeEventKey, StripeEventName, StripeFrontConfig, StripeInvoice, StripeInvoiceEventData, StripePayment, StripePaymentIntentEventData, StripePaymentMethod, StripePrice, StripeProduct, StripeProvider, StripeSubscription, StripeSubscriptionData, StripeWebhookEvent, StripeWebhookEventData, Subscription, SubscriptionClaims, SubscriptionConfig, SubscriptionData, SubscriptionDuration, SubscriptionEventData, SubscriptionHookResult, SubscriptionInfo, SubscriptionStatus, SubscriptionTier, SupportedLanguage, ThemeAPI, ThemeActions, ThemeInfo, ThemeMode, ThemeState, ThemesPluginConfig, TierAccessHookResult, Timestamp, TokenInfo, TokenManagerOptions, TokenResponse, TokenState, TokenStatus, TranslationOptions, TranslationResource, UIFieldOptions, UniqueConstraintValidator, UnsubscribeFn, UpdateEntityData, UpdateEntityRequest, UpdateEntityResponse, UseClickOutsideOptions, UseClickOutsideReturn, UseDebounceOptions, UseEventListenerOptions, UseEventListenerReturn, UseFunctionsMutationOptions, UseFunctionsQueryOptions, UseIntersectionObserverOptions, UseIntersectionObserverReturn, UseLocalStorageOptions, UseLocalStorageReturn, UseScriptLoaderOptions, UseScriptLoaderReturn, UseTranslationOptionsEnhanced, UseViewportVisibilityOptions, UseViewportVisibilityReturn, UserContext, UserProfile, UserProviderData, UserRole, UserSubscription, ValidationRules, ValueTypeForField, ViewportDetectionOptions, ViewportDetectionResult, Visibility, WebhookEvent, WebhookEventData, WhereClause, WhereOperator, WithMetadata, dndevSchema };
|