@lukoweb/apitogo 0.1.53 → 0.1.55

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (47) hide show
  1. package/dist/cli/cli.js +686 -373
  2. package/dist/declarations/config/apitogo-config-core.d.ts +14 -4
  3. package/dist/declarations/config/landing-manifest.d.ts +76 -0
  4. package/dist/declarations/config/local-manifest.d.ts +91 -1
  5. package/dist/declarations/config/validators/ModulesSchema.d.ts +227 -0
  6. package/dist/declarations/config/validators/ZudokuConfig.d.ts +84 -2
  7. package/dist/declarations/lib/authentication/header-nav-filter.d.ts +4 -0
  8. package/dist/declarations/lib/authentication/providers/dev-portal-auth-pages.d.ts +15 -0
  9. package/dist/declarations/lib/authentication/providers/dev-portal-constants.d.ts +19 -1
  10. package/dist/declarations/lib/authentication/providers/dev-portal-utils.d.ts +5 -1
  11. package/dist/declarations/lib/authentication/providers/dev-portal.d.ts +5 -0
  12. package/dist/declarations/lib/components/HeaderAuthActions.d.ts +3 -0
  13. package/dist/declarations/lib/components/SiteTitle.d.ts +6 -0
  14. package/dist/declarations/lib/components/ThemeSwitch.d.ts +3 -1
  15. package/dist/declarations/lib/components/TopNavigation.d.ts +1 -1
  16. package/dist/declarations/lib/core/ZudokuContext.d.ts +1 -0
  17. package/dist/flat-config.d.ts +61 -1
  18. package/package.json +1 -1
  19. package/src/app/main.css +2 -2
  20. package/src/config/apitogo-config-core.ts +140 -11
  21. package/src/config/apitogo-config-loader.browser.ts +17 -0
  22. package/src/config/apitogo-config-loader.node.ts +28 -8
  23. package/src/config/build-apitogo-config.ts +13 -4
  24. package/src/config/landing-manifest.ts +11 -0
  25. package/src/config/landing-openapi-showcase.ts +115 -0
  26. package/src/config/loader.ts +17 -3
  27. package/src/config/local-manifest.ts +146 -11
  28. package/src/config/resolve-modules.ts +22 -1
  29. package/src/config/validators/ModulesSchema.ts +84 -0
  30. package/src/config/validators/ZudokuConfig.ts +26 -1
  31. package/src/lib/authentication/auth-header-nav.ts +5 -15
  32. package/src/lib/authentication/header-nav-filter.ts +36 -0
  33. package/src/lib/authentication/providers/dev-portal-auth-pages.tsx +499 -0
  34. package/src/lib/authentication/providers/dev-portal-constants.ts +15 -1
  35. package/src/lib/authentication/providers/dev-portal-utils.ts +128 -3
  36. package/src/lib/authentication/providers/dev-portal.tsx +51 -6
  37. package/src/lib/components/Header.tsx +49 -39
  38. package/src/lib/components/HeaderAuthActions.tsx +36 -0
  39. package/src/lib/components/HeaderNavigation.tsx +11 -9
  40. package/src/lib/components/MobileTopNavigation.tsx +43 -24
  41. package/src/lib/components/SiteTitle.tsx +20 -0
  42. package/src/lib/components/ThemeSwitch.tsx +36 -2
  43. package/src/lib/components/TopNavigation.tsx +20 -33
  44. package/src/lib/core/ZudokuContext.ts +1 -0
  45. package/src/vite/config.ts +21 -0
  46. package/src/vite/plugin-auth.ts +4 -1
  47. package/src/vite/plugin-config.ts +39 -4
@@ -1,11 +1,19 @@
1
1
  export declare const APITOGO_CONFIG_FILENAME = "apitogo.config.json";
2
2
  export type ApitogoJsonConfig = Record<string, unknown>;
3
+ export type AuthProviderPublicConfig = {
4
+ id: string;
5
+ displayName?: string;
6
+ authority?: string;
7
+ clientId?: string;
8
+ scopes?: string;
9
+ };
3
10
  export type AuthenticationSecrets = {
4
- oidc?: {
5
- authority?: string;
6
- clientId?: string;
7
- clientSecret?: string;
11
+ email?: {
12
+ connectionString?: string;
8
13
  };
14
+ providers?: Record<string, {
15
+ clientSecret?: string;
16
+ }>;
9
17
  stripe?: {
10
18
  secretKey?: string;
11
19
  webhookSecret?: string;
@@ -18,6 +26,8 @@ type PlanCatalogItem = Record<string, unknown> & {
18
26
  export declare function readPlanCatalogItems(config: ApitogoJsonConfig): PlanCatalogItem[];
19
27
  export declare function normalizeApitogoConfig(config: ApitogoJsonConfig): ApitogoJsonConfig;
20
28
  export declare function isBillingEnabled(config: ApitogoJsonConfig): boolean;
29
+ export declare function readAuthProviders(config: ApitogoJsonConfig): AuthProviderPublicConfig[];
30
+ export declare function isNativeAuthEnabled(config: ApitogoJsonConfig): boolean;
21
31
  export declare function deriveManifestFields(config: ApitogoJsonConfig): ApitogoJsonConfig;
22
32
  export declare function extractManifest(config: ApitogoJsonConfig | null | undefined): ApitogoJsonConfig | null;
23
33
  export declare function extractSiteConfig(config: ApitogoJsonConfig | null | undefined): ApitogoJsonConfig;
@@ -0,0 +1,76 @@
1
+ import { z } from "zod";
2
+ import { LandingContentSchema } from "./validators/ModulesSchema.js";
3
+ export declare const LandingManifestContentSchema: z.ZodOptional<z.ZodObject<{
4
+ hero: z.ZodOptional<z.ZodObject<{
5
+ title: z.ZodOptional<z.ZodString>;
6
+ subtitle: z.ZodOptional<z.ZodString>;
7
+ description: z.ZodOptional<z.ZodString>;
8
+ badge: z.ZodOptional<z.ZodString>;
9
+ highlights: z.ZodOptional<z.ZodArray<z.ZodString>>;
10
+ codeExample: z.ZodOptional<z.ZodObject<{
11
+ filename: z.ZodOptional<z.ZodString>;
12
+ language: z.ZodOptional<z.ZodString>;
13
+ code: z.ZodString;
14
+ }, z.core.$strip>>;
15
+ }, z.core.$strip>>;
16
+ features: z.ZodOptional<z.ZodArray<z.ZodObject<{
17
+ title: z.ZodString;
18
+ description: z.ZodString;
19
+ icon: z.ZodOptional<z.ZodString>;
20
+ }, z.core.$strip>>>;
21
+ primaryAction: z.ZodOptional<z.ZodObject<{
22
+ label: z.ZodString;
23
+ href: z.ZodString;
24
+ }, z.core.$strip>>;
25
+ secondaryAction: z.ZodOptional<z.ZodObject<{
26
+ label: z.ZodString;
27
+ href: z.ZodString;
28
+ }, z.core.$strip>>;
29
+ ticker: z.ZodOptional<z.ZodObject<{
30
+ enabled: z.ZodOptional<z.ZodBoolean>;
31
+ items: z.ZodOptional<z.ZodArray<z.ZodObject<{
32
+ label: z.ZodString;
33
+ value: z.ZodString;
34
+ change: z.ZodOptional<z.ZodString>;
35
+ }, z.core.$strip>>>;
36
+ }, z.core.$strip>>;
37
+ trust: z.ZodOptional<z.ZodObject<{
38
+ enabled: z.ZodOptional<z.ZodBoolean>;
39
+ title: z.ZodOptional<z.ZodString>;
40
+ logos: z.ZodOptional<z.ZodArray<z.ZodString>>;
41
+ }, z.core.$strip>>;
42
+ apiShowcase: z.ZodOptional<z.ZodObject<{
43
+ enabled: z.ZodOptional<z.ZodBoolean>;
44
+ title: z.ZodOptional<z.ZodString>;
45
+ subtitle: z.ZodOptional<z.ZodString>;
46
+ browseAllHref: z.ZodOptional<z.ZodString>;
47
+ browseAllLabel: z.ZodOptional<z.ZodString>;
48
+ autoFromOpenApi: z.ZodOptional<z.ZodBoolean>;
49
+ items: z.ZodOptional<z.ZodArray<z.ZodObject<{
50
+ name: z.ZodString;
51
+ path: z.ZodString;
52
+ icon: z.ZodOptional<z.ZodString>;
53
+ latency: z.ZodOptional<z.ZodString>;
54
+ summary: z.ZodOptional<z.ZodString>;
55
+ }, z.core.$strip>>>;
56
+ }, z.core.$strip>>;
57
+ pricingCta: z.ZodOptional<z.ZodObject<{
58
+ enabled: z.ZodOptional<z.ZodBoolean>;
59
+ title: z.ZodOptional<z.ZodString>;
60
+ description: z.ZodOptional<z.ZodString>;
61
+ primaryAction: z.ZodOptional<z.ZodObject<{
62
+ label: z.ZodString;
63
+ href: z.ZodString;
64
+ }, z.core.$strip>>;
65
+ secondaryAction: z.ZodOptional<z.ZodObject<{
66
+ label: z.ZodString;
67
+ href: z.ZodString;
68
+ }, z.core.$strip>>;
69
+ }, z.core.$strip>>;
70
+ showPoweredBy: z.ZodOptional<z.ZodBoolean>;
71
+ }, z.core.$strip>>;
72
+ export type LandingManifestContent = z.infer<typeof LandingContentSchema>;
73
+ export type LandingManifestInput = {
74
+ enabled?: boolean;
75
+ content?: LandingManifestContent;
76
+ };
@@ -1,5 +1,6 @@
1
1
  import { z } from "zod";
2
2
  import { APITOGO_CONFIG_FILENAME } from "./apitogo-config-loader.js";
3
+ import { type LandingManifestInput } from "./landing-manifest.js";
3
4
  export declare const APITOGO_MANIFEST_BASE_FILENAME = "apitogo.json";
4
5
  export declare const APITOGO_MANIFEST_ENV_FILES: {
5
6
  readonly development: "apitogo.local.json";
@@ -35,8 +36,21 @@ export declare const DevPortalLocalManifestSchema: z.ZodObject<{
35
36
  }, z.core.$strip>>;
36
37
  authentication: z.ZodOptional<z.ZodObject<{
37
38
  enabled: z.ZodOptional<z.ZodBoolean>;
38
- type: z.ZodOptional<z.ZodString>;
39
39
  apiBaseUrl: z.ZodOptional<z.ZodString>;
40
+ native: z.ZodOptional<z.ZodObject<{
41
+ enabled: z.ZodOptional<z.ZodBoolean>;
42
+ }, z.core.$strip>>;
43
+ email: z.ZodOptional<z.ZodObject<{
44
+ provider: z.ZodOptional<z.ZodString>;
45
+ from: z.ZodOptional<z.ZodString>;
46
+ }, z.core.$strip>>;
47
+ providers: z.ZodOptional<z.ZodArray<z.ZodObject<{
48
+ id: z.ZodString;
49
+ displayName: z.ZodOptional<z.ZodString>;
50
+ authority: z.ZodOptional<z.ZodString>;
51
+ clientId: z.ZodOptional<z.ZodString>;
52
+ scopes: z.ZodOptional<z.ZodString>;
53
+ }, z.core.$strip>>>;
40
54
  }, z.core.$strip>>;
41
55
  plans: z.ZodOptional<z.ZodArray<z.ZodObject<{
42
56
  sku: z.ZodString;
@@ -72,9 +86,82 @@ export declare const DevPortalLocalManifestSchema: z.ZodObject<{
72
86
  publicHealthActionKey: z.ZodOptional<z.ZodString>;
73
87
  }, z.core.$strip>>;
74
88
  projectId: z.ZodOptional<z.ZodString>;
89
+ landing: z.ZodOptional<z.ZodObject<{
90
+ enabled: z.ZodOptional<z.ZodBoolean>;
91
+ content: z.ZodOptional<z.ZodObject<{
92
+ hero: z.ZodOptional<z.ZodObject<{
93
+ title: z.ZodOptional<z.ZodString>;
94
+ subtitle: z.ZodOptional<z.ZodString>;
95
+ description: z.ZodOptional<z.ZodString>;
96
+ badge: z.ZodOptional<z.ZodString>;
97
+ highlights: z.ZodOptional<z.ZodArray<z.ZodString>>;
98
+ codeExample: z.ZodOptional<z.ZodObject<{
99
+ filename: z.ZodOptional<z.ZodString>;
100
+ language: z.ZodOptional<z.ZodString>;
101
+ code: z.ZodString;
102
+ }, z.core.$strip>>;
103
+ }, z.core.$strip>>;
104
+ features: z.ZodOptional<z.ZodArray<z.ZodObject<{
105
+ title: z.ZodString;
106
+ description: z.ZodString;
107
+ icon: z.ZodOptional<z.ZodString>;
108
+ }, z.core.$strip>>>;
109
+ primaryAction: z.ZodOptional<z.ZodObject<{
110
+ label: z.ZodString;
111
+ href: z.ZodString;
112
+ }, z.core.$strip>>;
113
+ secondaryAction: z.ZodOptional<z.ZodObject<{
114
+ label: z.ZodString;
115
+ href: z.ZodString;
116
+ }, z.core.$strip>>;
117
+ ticker: z.ZodOptional<z.ZodObject<{
118
+ enabled: z.ZodOptional<z.ZodBoolean>;
119
+ items: z.ZodOptional<z.ZodArray<z.ZodObject<{
120
+ label: z.ZodString;
121
+ value: z.ZodString;
122
+ change: z.ZodOptional<z.ZodString>;
123
+ }, z.core.$strip>>>;
124
+ }, z.core.$strip>>;
125
+ trust: z.ZodOptional<z.ZodObject<{
126
+ enabled: z.ZodOptional<z.ZodBoolean>;
127
+ title: z.ZodOptional<z.ZodString>;
128
+ logos: z.ZodOptional<z.ZodArray<z.ZodString>>;
129
+ }, z.core.$strip>>;
130
+ apiShowcase: z.ZodOptional<z.ZodObject<{
131
+ enabled: z.ZodOptional<z.ZodBoolean>;
132
+ title: z.ZodOptional<z.ZodString>;
133
+ subtitle: z.ZodOptional<z.ZodString>;
134
+ browseAllHref: z.ZodOptional<z.ZodString>;
135
+ browseAllLabel: z.ZodOptional<z.ZodString>;
136
+ autoFromOpenApi: z.ZodOptional<z.ZodBoolean>;
137
+ items: z.ZodOptional<z.ZodArray<z.ZodObject<{
138
+ name: z.ZodString;
139
+ path: z.ZodString;
140
+ icon: z.ZodOptional<z.ZodString>;
141
+ latency: z.ZodOptional<z.ZodString>;
142
+ summary: z.ZodOptional<z.ZodString>;
143
+ }, z.core.$strip>>>;
144
+ }, z.core.$strip>>;
145
+ pricingCta: z.ZodOptional<z.ZodObject<{
146
+ enabled: z.ZodOptional<z.ZodBoolean>;
147
+ title: z.ZodOptional<z.ZodString>;
148
+ description: z.ZodOptional<z.ZodString>;
149
+ primaryAction: z.ZodOptional<z.ZodObject<{
150
+ label: z.ZodString;
151
+ href: z.ZodString;
152
+ }, z.core.$strip>>;
153
+ secondaryAction: z.ZodOptional<z.ZodObject<{
154
+ label: z.ZodString;
155
+ href: z.ZodString;
156
+ }, z.core.$strip>>;
157
+ }, z.core.$strip>>;
158
+ showPoweredBy: z.ZodOptional<z.ZodBoolean>;
159
+ }, z.core.$strip>>;
160
+ }, z.core.$strip>>;
75
161
  }, z.core.$strip>;
76
162
  export type ManifestPlanInput = z.infer<typeof ManifestPlanInputSchema>;
77
163
  export type DevPortalLocalManifest = z.infer<typeof DevPortalLocalManifestSchema>;
164
+ export type { LandingManifestInput };
78
165
  export type DevPortalPreviewPlan = {
79
166
  sku: string;
80
167
  displayName: string;
@@ -91,11 +178,14 @@ export type DevPortalPreviewPlanCatalog = {
91
178
  };
92
179
  export declare function isPricingEnabled(manifest: DevPortalLocalManifest | null | undefined): boolean;
93
180
  export declare function isAuthenticationEnabled(manifest: DevPortalLocalManifest | null | undefined): boolean;
181
+ export declare function isNativeAuthEnabledInManifest(manifest: DevPortalLocalManifest | null | undefined): boolean;
94
182
  export declare function manifestToPreviewCatalog(manifest: DevPortalLocalManifest | null | undefined): DevPortalPreviewPlanCatalog;
95
183
  export declare function normalizeBillingPeriod(period?: string): string;
96
184
  export declare function plansToPreviewCatalog(plans: ManifestPlanInput[] | undefined): Pick<DevPortalPreviewPlanCatalog, "plans">;
97
185
  export declare function resolveManifestEnv(viteMode: string): ApitogoManifestEnv;
98
186
  export declare function mergePlansBySku(existing: ManifestPlanInput[] | undefined, patch: ManifestPlanInput[]): ManifestPlanInput[];
187
+ export declare function mergeLandingContent(existing: LandingManifestInput["content"] | undefined, patch: LandingManifestInput["content"] | undefined): LandingManifestInput["content"] | undefined;
188
+ export declare function mergeLandingManifest(existing: LandingManifestInput | undefined, patch: LandingManifestInput | undefined): LandingManifestInput | undefined;
99
189
  export declare function mergeManifest(base: DevPortalLocalManifest, override: DevPortalLocalManifest): DevPortalLocalManifest;
100
190
  export declare function manifestFilePath(rootDir: string, filename?: string): string;
101
191
  export declare function manifestPathsForEnv(rootDir: string, _env: ApitogoManifestEnv): {
@@ -27,21 +27,95 @@ export declare const LandingLinkSchema: z.ZodObject<{
27
27
  export declare const LandingFeatureSchema: z.ZodObject<{
28
28
  title: z.ZodString;
29
29
  description: z.ZodString;
30
+ icon: z.ZodOptional<z.ZodString>;
30
31
  }, z.core.$strip>;
32
+ export declare const LandingCodeExampleSchema: z.ZodOptional<z.ZodObject<{
33
+ filename: z.ZodOptional<z.ZodString>;
34
+ language: z.ZodOptional<z.ZodString>;
35
+ code: z.ZodString;
36
+ }, z.core.$strip>>;
31
37
  export declare const LandingHeroSchema: z.ZodOptional<z.ZodObject<{
32
38
  title: z.ZodOptional<z.ZodString>;
33
39
  subtitle: z.ZodOptional<z.ZodString>;
34
40
  description: z.ZodOptional<z.ZodString>;
41
+ badge: z.ZodOptional<z.ZodString>;
42
+ highlights: z.ZodOptional<z.ZodArray<z.ZodString>>;
43
+ codeExample: z.ZodOptional<z.ZodObject<{
44
+ filename: z.ZodOptional<z.ZodString>;
45
+ language: z.ZodOptional<z.ZodString>;
46
+ code: z.ZodString;
47
+ }, z.core.$strip>>;
48
+ }, z.core.$strip>>;
49
+ export declare const LandingTickerItemSchema: z.ZodObject<{
50
+ label: z.ZodString;
51
+ value: z.ZodString;
52
+ change: z.ZodOptional<z.ZodString>;
53
+ }, z.core.$strip>;
54
+ export declare const LandingTickerSchema: z.ZodOptional<z.ZodObject<{
55
+ enabled: z.ZodOptional<z.ZodBoolean>;
56
+ items: z.ZodOptional<z.ZodArray<z.ZodObject<{
57
+ label: z.ZodString;
58
+ value: z.ZodString;
59
+ change: z.ZodOptional<z.ZodString>;
60
+ }, z.core.$strip>>>;
61
+ }, z.core.$strip>>;
62
+ export declare const LandingTrustSchema: z.ZodOptional<z.ZodObject<{
63
+ enabled: z.ZodOptional<z.ZodBoolean>;
64
+ title: z.ZodOptional<z.ZodString>;
65
+ logos: z.ZodOptional<z.ZodArray<z.ZodString>>;
66
+ }, z.core.$strip>>;
67
+ export declare const LandingApiShowcaseItemSchema: z.ZodObject<{
68
+ name: z.ZodString;
69
+ path: z.ZodString;
70
+ icon: z.ZodOptional<z.ZodString>;
71
+ latency: z.ZodOptional<z.ZodString>;
72
+ summary: z.ZodOptional<z.ZodString>;
73
+ }, z.core.$strip>;
74
+ export declare const LandingApiShowcaseSchema: z.ZodOptional<z.ZodObject<{
75
+ enabled: z.ZodOptional<z.ZodBoolean>;
76
+ title: z.ZodOptional<z.ZodString>;
77
+ subtitle: z.ZodOptional<z.ZodString>;
78
+ browseAllHref: z.ZodOptional<z.ZodString>;
79
+ browseAllLabel: z.ZodOptional<z.ZodString>;
80
+ autoFromOpenApi: z.ZodOptional<z.ZodBoolean>;
81
+ items: z.ZodOptional<z.ZodArray<z.ZodObject<{
82
+ name: z.ZodString;
83
+ path: z.ZodString;
84
+ icon: z.ZodOptional<z.ZodString>;
85
+ latency: z.ZodOptional<z.ZodString>;
86
+ summary: z.ZodOptional<z.ZodString>;
87
+ }, z.core.$strip>>>;
88
+ }, z.core.$strip>>;
89
+ export declare const LandingPricingCtaSchema: z.ZodOptional<z.ZodObject<{
90
+ enabled: z.ZodOptional<z.ZodBoolean>;
91
+ title: z.ZodOptional<z.ZodString>;
92
+ description: z.ZodOptional<z.ZodString>;
93
+ primaryAction: z.ZodOptional<z.ZodObject<{
94
+ label: z.ZodString;
95
+ href: z.ZodString;
96
+ }, z.core.$strip>>;
97
+ secondaryAction: z.ZodOptional<z.ZodObject<{
98
+ label: z.ZodString;
99
+ href: z.ZodString;
100
+ }, z.core.$strip>>;
35
101
  }, z.core.$strip>>;
36
102
  export declare const LandingContentSchema: z.ZodOptional<z.ZodObject<{
37
103
  hero: z.ZodOptional<z.ZodObject<{
38
104
  title: z.ZodOptional<z.ZodString>;
39
105
  subtitle: z.ZodOptional<z.ZodString>;
40
106
  description: z.ZodOptional<z.ZodString>;
107
+ badge: z.ZodOptional<z.ZodString>;
108
+ highlights: z.ZodOptional<z.ZodArray<z.ZodString>>;
109
+ codeExample: z.ZodOptional<z.ZodObject<{
110
+ filename: z.ZodOptional<z.ZodString>;
111
+ language: z.ZodOptional<z.ZodString>;
112
+ code: z.ZodString;
113
+ }, z.core.$strip>>;
41
114
  }, z.core.$strip>>;
42
115
  features: z.ZodOptional<z.ZodArray<z.ZodObject<{
43
116
  title: z.ZodString;
44
117
  description: z.ZodString;
118
+ icon: z.ZodOptional<z.ZodString>;
45
119
  }, z.core.$strip>>>;
46
120
  primaryAction: z.ZodOptional<z.ZodObject<{
47
121
  label: z.ZodString;
@@ -51,6 +125,47 @@ export declare const LandingContentSchema: z.ZodOptional<z.ZodObject<{
51
125
  label: z.ZodString;
52
126
  href: z.ZodString;
53
127
  }, z.core.$strip>>;
128
+ ticker: z.ZodOptional<z.ZodObject<{
129
+ enabled: z.ZodOptional<z.ZodBoolean>;
130
+ items: z.ZodOptional<z.ZodArray<z.ZodObject<{
131
+ label: z.ZodString;
132
+ value: z.ZodString;
133
+ change: z.ZodOptional<z.ZodString>;
134
+ }, z.core.$strip>>>;
135
+ }, z.core.$strip>>;
136
+ trust: z.ZodOptional<z.ZodObject<{
137
+ enabled: z.ZodOptional<z.ZodBoolean>;
138
+ title: z.ZodOptional<z.ZodString>;
139
+ logos: z.ZodOptional<z.ZodArray<z.ZodString>>;
140
+ }, z.core.$strip>>;
141
+ apiShowcase: z.ZodOptional<z.ZodObject<{
142
+ enabled: z.ZodOptional<z.ZodBoolean>;
143
+ title: z.ZodOptional<z.ZodString>;
144
+ subtitle: z.ZodOptional<z.ZodString>;
145
+ browseAllHref: z.ZodOptional<z.ZodString>;
146
+ browseAllLabel: z.ZodOptional<z.ZodString>;
147
+ autoFromOpenApi: z.ZodOptional<z.ZodBoolean>;
148
+ items: z.ZodOptional<z.ZodArray<z.ZodObject<{
149
+ name: z.ZodString;
150
+ path: z.ZodString;
151
+ icon: z.ZodOptional<z.ZodString>;
152
+ latency: z.ZodOptional<z.ZodString>;
153
+ summary: z.ZodOptional<z.ZodString>;
154
+ }, z.core.$strip>>>;
155
+ }, z.core.$strip>>;
156
+ pricingCta: z.ZodOptional<z.ZodObject<{
157
+ enabled: z.ZodOptional<z.ZodBoolean>;
158
+ title: z.ZodOptional<z.ZodString>;
159
+ description: z.ZodOptional<z.ZodString>;
160
+ primaryAction: z.ZodOptional<z.ZodObject<{
161
+ label: z.ZodString;
162
+ href: z.ZodString;
163
+ }, z.core.$strip>>;
164
+ secondaryAction: z.ZodOptional<z.ZodObject<{
165
+ label: z.ZodString;
166
+ href: z.ZodString;
167
+ }, z.core.$strip>>;
168
+ }, z.core.$strip>>;
54
169
  showPoweredBy: z.ZodOptional<z.ZodBoolean>;
55
170
  }, z.core.$strip>>;
56
171
  export declare const DashboardContentSchema: z.ZodOptional<z.ZodObject<{
@@ -99,10 +214,18 @@ export declare const LandingModuleSchema: z.ZodObject<{
99
214
  title: z.ZodOptional<z.ZodString>;
100
215
  subtitle: z.ZodOptional<z.ZodString>;
101
216
  description: z.ZodOptional<z.ZodString>;
217
+ badge: z.ZodOptional<z.ZodString>;
218
+ highlights: z.ZodOptional<z.ZodArray<z.ZodString>>;
219
+ codeExample: z.ZodOptional<z.ZodObject<{
220
+ filename: z.ZodOptional<z.ZodString>;
221
+ language: z.ZodOptional<z.ZodString>;
222
+ code: z.ZodString;
223
+ }, z.core.$strip>>;
102
224
  }, z.core.$strip>>;
103
225
  features: z.ZodOptional<z.ZodArray<z.ZodObject<{
104
226
  title: z.ZodString;
105
227
  description: z.ZodString;
228
+ icon: z.ZodOptional<z.ZodString>;
106
229
  }, z.core.$strip>>>;
107
230
  primaryAction: z.ZodOptional<z.ZodObject<{
108
231
  label: z.ZodString;
@@ -112,6 +235,47 @@ export declare const LandingModuleSchema: z.ZodObject<{
112
235
  label: z.ZodString;
113
236
  href: z.ZodString;
114
237
  }, z.core.$strip>>;
238
+ ticker: z.ZodOptional<z.ZodObject<{
239
+ enabled: z.ZodOptional<z.ZodBoolean>;
240
+ items: z.ZodOptional<z.ZodArray<z.ZodObject<{
241
+ label: z.ZodString;
242
+ value: z.ZodString;
243
+ change: z.ZodOptional<z.ZodString>;
244
+ }, z.core.$strip>>>;
245
+ }, z.core.$strip>>;
246
+ trust: z.ZodOptional<z.ZodObject<{
247
+ enabled: z.ZodOptional<z.ZodBoolean>;
248
+ title: z.ZodOptional<z.ZodString>;
249
+ logos: z.ZodOptional<z.ZodArray<z.ZodString>>;
250
+ }, z.core.$strip>>;
251
+ apiShowcase: z.ZodOptional<z.ZodObject<{
252
+ enabled: z.ZodOptional<z.ZodBoolean>;
253
+ title: z.ZodOptional<z.ZodString>;
254
+ subtitle: z.ZodOptional<z.ZodString>;
255
+ browseAllHref: z.ZodOptional<z.ZodString>;
256
+ browseAllLabel: z.ZodOptional<z.ZodString>;
257
+ autoFromOpenApi: z.ZodOptional<z.ZodBoolean>;
258
+ items: z.ZodOptional<z.ZodArray<z.ZodObject<{
259
+ name: z.ZodString;
260
+ path: z.ZodString;
261
+ icon: z.ZodOptional<z.ZodString>;
262
+ latency: z.ZodOptional<z.ZodString>;
263
+ summary: z.ZodOptional<z.ZodString>;
264
+ }, z.core.$strip>>>;
265
+ }, z.core.$strip>>;
266
+ pricingCta: z.ZodOptional<z.ZodObject<{
267
+ enabled: z.ZodOptional<z.ZodBoolean>;
268
+ title: z.ZodOptional<z.ZodString>;
269
+ description: z.ZodOptional<z.ZodString>;
270
+ primaryAction: z.ZodOptional<z.ZodObject<{
271
+ label: z.ZodString;
272
+ href: z.ZodString;
273
+ }, z.core.$strip>>;
274
+ secondaryAction: z.ZodOptional<z.ZodObject<{
275
+ label: z.ZodString;
276
+ href: z.ZodString;
277
+ }, z.core.$strip>>;
278
+ }, z.core.$strip>>;
115
279
  showPoweredBy: z.ZodOptional<z.ZodBoolean>;
116
280
  }, z.core.$strip>>;
117
281
  }, z.core.$strip>;
@@ -280,10 +444,18 @@ export declare const ModulesSchema: z.ZodOptional<z.ZodObject<{
280
444
  title: z.ZodOptional<z.ZodString>;
281
445
  subtitle: z.ZodOptional<z.ZodString>;
282
446
  description: z.ZodOptional<z.ZodString>;
447
+ badge: z.ZodOptional<z.ZodString>;
448
+ highlights: z.ZodOptional<z.ZodArray<z.ZodString>>;
449
+ codeExample: z.ZodOptional<z.ZodObject<{
450
+ filename: z.ZodOptional<z.ZodString>;
451
+ language: z.ZodOptional<z.ZodString>;
452
+ code: z.ZodString;
453
+ }, z.core.$strip>>;
283
454
  }, z.core.$strip>>;
284
455
  features: z.ZodOptional<z.ZodArray<z.ZodObject<{
285
456
  title: z.ZodString;
286
457
  description: z.ZodString;
458
+ icon: z.ZodOptional<z.ZodString>;
287
459
  }, z.core.$strip>>>;
288
460
  primaryAction: z.ZodOptional<z.ZodObject<{
289
461
  label: z.ZodString;
@@ -293,6 +465,47 @@ export declare const ModulesSchema: z.ZodOptional<z.ZodObject<{
293
465
  label: z.ZodString;
294
466
  href: z.ZodString;
295
467
  }, z.core.$strip>>;
468
+ ticker: z.ZodOptional<z.ZodObject<{
469
+ enabled: z.ZodOptional<z.ZodBoolean>;
470
+ items: z.ZodOptional<z.ZodArray<z.ZodObject<{
471
+ label: z.ZodString;
472
+ value: z.ZodString;
473
+ change: z.ZodOptional<z.ZodString>;
474
+ }, z.core.$strip>>>;
475
+ }, z.core.$strip>>;
476
+ trust: z.ZodOptional<z.ZodObject<{
477
+ enabled: z.ZodOptional<z.ZodBoolean>;
478
+ title: z.ZodOptional<z.ZodString>;
479
+ logos: z.ZodOptional<z.ZodArray<z.ZodString>>;
480
+ }, z.core.$strip>>;
481
+ apiShowcase: z.ZodOptional<z.ZodObject<{
482
+ enabled: z.ZodOptional<z.ZodBoolean>;
483
+ title: z.ZodOptional<z.ZodString>;
484
+ subtitle: z.ZodOptional<z.ZodString>;
485
+ browseAllHref: z.ZodOptional<z.ZodString>;
486
+ browseAllLabel: z.ZodOptional<z.ZodString>;
487
+ autoFromOpenApi: z.ZodOptional<z.ZodBoolean>;
488
+ items: z.ZodOptional<z.ZodArray<z.ZodObject<{
489
+ name: z.ZodString;
490
+ path: z.ZodString;
491
+ icon: z.ZodOptional<z.ZodString>;
492
+ latency: z.ZodOptional<z.ZodString>;
493
+ summary: z.ZodOptional<z.ZodString>;
494
+ }, z.core.$strip>>>;
495
+ }, z.core.$strip>>;
496
+ pricingCta: z.ZodOptional<z.ZodObject<{
497
+ enabled: z.ZodOptional<z.ZodBoolean>;
498
+ title: z.ZodOptional<z.ZodString>;
499
+ description: z.ZodOptional<z.ZodString>;
500
+ primaryAction: z.ZodOptional<z.ZodObject<{
501
+ label: z.ZodString;
502
+ href: z.ZodString;
503
+ }, z.core.$strip>>;
504
+ secondaryAction: z.ZodOptional<z.ZodObject<{
505
+ label: z.ZodString;
506
+ href: z.ZodString;
507
+ }, z.core.$strip>>;
508
+ }, z.core.$strip>>;
296
509
  showPoweredBy: z.ZodOptional<z.ZodBoolean>;
297
510
  }, z.core.$strip>>;
298
511
  }, z.core.$strip>>;
@@ -381,15 +594,29 @@ export type DashboardContentConfig = z.infer<typeof DashboardContentSchema>;
381
594
  export type ProfileContentConfig = z.infer<typeof ProfileContentSchema>;
382
595
  export type PlansContentConfig = z.infer<typeof PlansContentSchema>;
383
596
  export type PlanTierConfig = z.infer<typeof PlanTierSchema>;
597
+ export type LandingCodeExampleConfig = z.infer<typeof LandingCodeExampleSchema>;
598
+ export type LandingTickerItemConfig = z.infer<typeof LandingTickerItemSchema>;
599
+ export type LandingTickerConfig = z.infer<typeof LandingTickerSchema>;
600
+ export type LandingTrustConfig = z.infer<typeof LandingTrustSchema>;
601
+ export type LandingApiShowcaseItemConfig = z.infer<typeof LandingApiShowcaseItemSchema>;
602
+ export type LandingApiShowcaseConfig = z.infer<typeof LandingApiShowcaseSchema>;
603
+ export type LandingPricingCtaConfig = z.infer<typeof LandingPricingCtaSchema>;
384
604
  export type ResolvedLandingContent = {
385
605
  hero?: {
386
606
  title?: string;
387
607
  subtitle?: string;
388
608
  description?: string;
609
+ badge?: string;
610
+ highlights?: string[];
611
+ codeExample?: NonNullable<LandingCodeExampleConfig>;
389
612
  };
390
613
  features?: LandingFeatureConfig[];
391
614
  primaryAction?: LandingLinkConfig;
392
615
  secondaryAction?: LandingLinkConfig;
616
+ ticker?: LandingTickerConfig;
617
+ trust?: LandingTrustConfig;
618
+ apiShowcase?: LandingApiShowcaseConfig;
619
+ pricingCta?: LandingPricingCtaConfig;
393
620
  showPoweredBy?: boolean;
394
621
  };
395
622
  export type ResolvedLandingModule = {
@@ -367,8 +367,24 @@ declare const AuthenticationSchema: z.ZodDiscriminatedUnion<[z.ZodObject<{
367
367
  redirectToAfterSignIn: z.ZodOptional<z.ZodString>;
368
368
  redirectToAfterSignOut: z.ZodOptional<z.ZodString>;
369
369
  }, z.core.$strip>, z.ZodObject<{
370
- type: z.ZodLiteral<"dev-portal">;
370
+ type: z.ZodDefault<z.ZodOptional<z.ZodLiteral<"dev-portal">>>;
371
371
  apiBaseUrl: z.ZodOptional<z.ZodString>;
372
+ native: z.ZodOptional<z.ZodObject<{
373
+ enabled: z.ZodOptional<z.ZodBoolean>;
374
+ }, z.core.$strip>>;
375
+ email: z.ZodOptional<z.ZodObject<{
376
+ provider: z.ZodOptional<z.ZodString>;
377
+ from: z.ZodOptional<z.ZodString>;
378
+ connectionString: z.ZodOptional<z.ZodString>;
379
+ }, z.core.$strip>>;
380
+ providers: z.ZodOptional<z.ZodArray<z.ZodObject<{
381
+ id: z.ZodString;
382
+ displayName: z.ZodOptional<z.ZodString>;
383
+ authority: z.ZodOptional<z.ZodString>;
384
+ clientId: z.ZodOptional<z.ZodString>;
385
+ clientSecret: z.ZodOptional<z.ZodString>;
386
+ scopes: z.ZodOptional<z.ZodString>;
387
+ }, z.core.$strip>>>;
372
388
  redirectToAfterSignUp: z.ZodOptional<z.ZodString>;
373
389
  redirectToAfterSignIn: z.ZodOptional<z.ZodString>;
374
390
  redirectToAfterSignOut: z.ZodOptional<z.ZodString>;
@@ -455,6 +471,7 @@ export declare const ZudokuConfig: z.ZodObject<{
455
471
  }, z.core.$strip>>>;
456
472
  site: z.ZodOptional<z.ZodObject<{
457
473
  title: z.ZodOptional<z.ZodString>;
474
+ showTitleInHeader: z.ZodOptional<z.ZodOptional<z.ZodBoolean>>;
458
475
  logoUrl: z.ZodOptional<z.ZodString>;
459
476
  dir: z.ZodOptional<z.ZodOptional<z.ZodEnum<{
460
477
  ltr: "ltr";
@@ -6771,8 +6788,24 @@ export declare const ZudokuConfig: z.ZodObject<{
6771
6788
  redirectToAfterSignIn: z.ZodOptional<z.ZodString>;
6772
6789
  redirectToAfterSignOut: z.ZodOptional<z.ZodString>;
6773
6790
  }, z.core.$strip>, z.ZodObject<{
6774
- type: z.ZodLiteral<"dev-portal">;
6791
+ type: z.ZodDefault<z.ZodOptional<z.ZodLiteral<"dev-portal">>>;
6775
6792
  apiBaseUrl: z.ZodOptional<z.ZodString>;
6793
+ native: z.ZodOptional<z.ZodObject<{
6794
+ enabled: z.ZodOptional<z.ZodBoolean>;
6795
+ }, z.core.$strip>>;
6796
+ email: z.ZodOptional<z.ZodObject<{
6797
+ provider: z.ZodOptional<z.ZodString>;
6798
+ from: z.ZodOptional<z.ZodString>;
6799
+ connectionString: z.ZodOptional<z.ZodString>;
6800
+ }, z.core.$strip>>;
6801
+ providers: z.ZodOptional<z.ZodArray<z.ZodObject<{
6802
+ id: z.ZodString;
6803
+ displayName: z.ZodOptional<z.ZodString>;
6804
+ authority: z.ZodOptional<z.ZodString>;
6805
+ clientId: z.ZodOptional<z.ZodString>;
6806
+ clientSecret: z.ZodOptional<z.ZodString>;
6807
+ scopes: z.ZodOptional<z.ZodString>;
6808
+ }, z.core.$strip>>>;
6776
6809
  redirectToAfterSignUp: z.ZodOptional<z.ZodString>;
6777
6810
  redirectToAfterSignIn: z.ZodOptional<z.ZodString>;
6778
6811
  redirectToAfterSignOut: z.ZodOptional<z.ZodString>;
@@ -6859,10 +6892,18 @@ export declare const ZudokuConfig: z.ZodObject<{
6859
6892
  title: z.ZodOptional<z.ZodString>;
6860
6893
  subtitle: z.ZodOptional<z.ZodString>;
6861
6894
  description: z.ZodOptional<z.ZodString>;
6895
+ badge: z.ZodOptional<z.ZodString>;
6896
+ highlights: z.ZodOptional<z.ZodArray<z.ZodString>>;
6897
+ codeExample: z.ZodOptional<z.ZodObject<{
6898
+ filename: z.ZodOptional<z.ZodString>;
6899
+ language: z.ZodOptional<z.ZodString>;
6900
+ code: z.ZodString;
6901
+ }, z.core.$strip>>;
6862
6902
  }, z.core.$strip>>;
6863
6903
  features: z.ZodOptional<z.ZodArray<z.ZodObject<{
6864
6904
  title: z.ZodString;
6865
6905
  description: z.ZodString;
6906
+ icon: z.ZodOptional<z.ZodString>;
6866
6907
  }, z.core.$strip>>>;
6867
6908
  primaryAction: z.ZodOptional<z.ZodObject<{
6868
6909
  label: z.ZodString;
@@ -6872,6 +6913,47 @@ export declare const ZudokuConfig: z.ZodObject<{
6872
6913
  label: z.ZodString;
6873
6914
  href: z.ZodString;
6874
6915
  }, z.core.$strip>>;
6916
+ ticker: z.ZodOptional<z.ZodObject<{
6917
+ enabled: z.ZodOptional<z.ZodBoolean>;
6918
+ items: z.ZodOptional<z.ZodArray<z.ZodObject<{
6919
+ label: z.ZodString;
6920
+ value: z.ZodString;
6921
+ change: z.ZodOptional<z.ZodString>;
6922
+ }, z.core.$strip>>>;
6923
+ }, z.core.$strip>>;
6924
+ trust: z.ZodOptional<z.ZodObject<{
6925
+ enabled: z.ZodOptional<z.ZodBoolean>;
6926
+ title: z.ZodOptional<z.ZodString>;
6927
+ logos: z.ZodOptional<z.ZodArray<z.ZodString>>;
6928
+ }, z.core.$strip>>;
6929
+ apiShowcase: z.ZodOptional<z.ZodObject<{
6930
+ enabled: z.ZodOptional<z.ZodBoolean>;
6931
+ title: z.ZodOptional<z.ZodString>;
6932
+ subtitle: z.ZodOptional<z.ZodString>;
6933
+ browseAllHref: z.ZodOptional<z.ZodString>;
6934
+ browseAllLabel: z.ZodOptional<z.ZodString>;
6935
+ autoFromOpenApi: z.ZodOptional<z.ZodBoolean>;
6936
+ items: z.ZodOptional<z.ZodArray<z.ZodObject<{
6937
+ name: z.ZodString;
6938
+ path: z.ZodString;
6939
+ icon: z.ZodOptional<z.ZodString>;
6940
+ latency: z.ZodOptional<z.ZodString>;
6941
+ summary: z.ZodOptional<z.ZodString>;
6942
+ }, z.core.$strip>>>;
6943
+ }, z.core.$strip>>;
6944
+ pricingCta: z.ZodOptional<z.ZodObject<{
6945
+ enabled: z.ZodOptional<z.ZodBoolean>;
6946
+ title: z.ZodOptional<z.ZodString>;
6947
+ description: z.ZodOptional<z.ZodString>;
6948
+ primaryAction: z.ZodOptional<z.ZodObject<{
6949
+ label: z.ZodString;
6950
+ href: z.ZodString;
6951
+ }, z.core.$strip>>;
6952
+ secondaryAction: z.ZodOptional<z.ZodObject<{
6953
+ label: z.ZodString;
6954
+ href: z.ZodString;
6955
+ }, z.core.$strip>>;
6956
+ }, z.core.$strip>>;
6875
6957
  showPoweredBy: z.ZodOptional<z.ZodBoolean>;
6876
6958
  }, z.core.$strip>>;
6877
6959
  }, z.core.$strip>>;
@@ -0,0 +1,4 @@
1
+ import type { HeaderNavigation } from "../../config/validators/HeaderNavigationSchema.js";
2
+ export declare function withoutAuthHeaderNavigation(navigation: HeaderNavigation): HeaderNavigation;
3
+ export declare function withoutPricingHeaderNavigation(navigation: HeaderNavigation): HeaderNavigation;
4
+ export declare function withoutMarketingCtaHeaderNavigation(navigation: HeaderNavigation): HeaderNavigation;