@lukoweb/apitogo 0.1.86 → 0.1.88
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/dist/cli/cli.js +10755 -1987
- package/dist/declarations/cli/platform/apply/index.d.ts +3 -0
- package/dist/declarations/cli/platform/client/deploy-server.d.ts +16 -0
- package/dist/declarations/cli/platform/client/platform-api.d.ts +397 -0
- package/dist/declarations/cli/platform/config.d.ts +20 -0
- package/dist/declarations/cli/platform/errors.d.ts +16 -0
- package/dist/declarations/cli/platform/helpers/backend-packaging.d.ts +11 -0
- package/dist/declarations/cli/platform/helpers/deploy-artifact-hash.d.ts +14 -0
- package/dist/declarations/cli/platform/helpers/dev-portal-backend-job.d.ts +25 -0
- package/dist/declarations/cli/platform/helpers/dev-portal-backend.d.ts +11 -0
- package/dist/declarations/cli/platform/helpers/dev-portal-landing.d.ts +99 -0
- package/dist/declarations/cli/platform/helpers/dev-portal-manifest.d.ts +167 -0
- package/dist/declarations/cli/platform/helpers/dev-portal-plan-sync.d.ts +20 -0
- package/dist/declarations/cli/platform/helpers/dev-portal-secrets.d.ts +61 -0
- package/dist/declarations/cli/platform/helpers/dev-portal-settings-kinds.d.ts +8 -0
- package/dist/declarations/cli/platform/helpers/dev-portal-site-api-url.d.ts +12 -0
- package/dist/declarations/cli/platform/helpers/dev-portal-site-validation.d.ts +22 -0
- package/dist/declarations/cli/platform/helpers/dev-portal-urls.d.ts +17 -0
- package/dist/declarations/cli/platform/helpers/fetch-retry.d.ts +17 -0
- package/dist/declarations/cli/platform/helpers/free-projects-quota.d.ts +14 -0
- package/dist/declarations/cli/platform/helpers/gateway-plan-sync.d.ts +26 -0
- package/dist/declarations/cli/platform/helpers/gateway-readiness.d.ts +11 -0
- package/dist/declarations/cli/platform/helpers/job-status.d.ts +12 -0
- package/dist/declarations/cli/platform/helpers/merge-dev-portal-settings.d.ts +26 -0
- package/dist/declarations/cli/platform/helpers/npm-build.d.ts +34 -0
- package/dist/declarations/cli/platform/helpers/openapi-gateway-servers.d.ts +23 -0
- package/dist/declarations/cli/platform/helpers/openapi.d.ts +24 -0
- package/dist/declarations/cli/platform/helpers/package-files.d.ts +1 -0
- package/dist/declarations/cli/platform/helpers/paid-gateway-platform-compat.d.ts +22 -0
- package/dist/declarations/cli/platform/helpers/platform-plan-catalog.d.ts +27 -0
- package/dist/declarations/cli/platform/helpers/platform-plan.d.ts +17 -0
- package/dist/declarations/cli/platform/helpers/poll.d.ts +21 -0
- package/dist/declarations/cli/platform/helpers/progress.d.ts +45 -0
- package/dist/declarations/cli/platform/helpers/project-name.d.ts +8 -0
- package/dist/declarations/cli/platform/helpers/public-routes.d.ts +4 -0
- package/dist/declarations/cli/platform/helpers/publish-ledger.d.ts +30 -0
- package/dist/declarations/cli/platform/helpers/publish-preflight.d.ts +60 -0
- package/dist/declarations/cli/platform/helpers/status.d.ts +7 -0
- package/dist/declarations/cli/platform/helpers/stripe-webhook.d.ts +3 -0
- package/dist/declarations/cli/platform/helpers/tarball.d.ts +11 -0
- package/dist/declarations/cli/platform/helpers/validate-dev-portal-readiness.d.ts +48 -0
- package/dist/declarations/cli/platform/helpers/wait-for-gateway-actions.d.ts +9 -0
- package/dist/declarations/cli/platform/helpers/warm-pool.d.ts +35 -0
- package/dist/declarations/cli/platform/helpers/zip.d.ts +6 -0
- package/dist/declarations/cli/platform/tools/backend.d.ts +45 -0
- package/dist/declarations/cli/platform/tools/dev-portal-bootstrap-shared.d.ts +25 -0
- package/dist/declarations/cli/platform/tools/dev-portal-publish.d.ts +45 -0
- package/dist/declarations/cli/platform/tools/dev-portal-site-build.d.ts +12 -0
- package/dist/declarations/cli/platform/tools/dev-portal.d.ts +84 -0
- package/dist/declarations/cli/platform/tools/gateway.d.ts +140 -0
- package/dist/declarations/cli/platform/tools/infrastructure.d.ts +47 -0
- package/dist/declarations/cli/platform/tools/lifecycle.d.ts +40 -0
- package/dist/declarations/cli/platform/tools/platform-plan.d.ts +43 -0
- package/dist/declarations/cli/platform/tools/projects.d.ts +27 -0
- package/dist/declarations/cli/platform/tools/subscription.d.ts +13 -0
- package/dist/declarations/config/landing-manifest.d.ts +5 -0
- package/dist/declarations/config/local-manifest.d.ts +5 -0
- package/dist/declarations/config/validators/ModulesSchema.d.ts +21 -0
- package/dist/declarations/config/validators/ZudokuConfig.d.ts +5 -0
- package/dist/flat-config.d.ts +2 -0
- package/docs/cli/commands.md +14 -9
- package/docs/cli/go-live.md +2 -2
- package/docs/cli/setup.md +1 -1
- package/docs/guides/environment-variables.md +1 -1
- package/package.json +14 -2
- package/src/app/apitogoBrandTheme.ts +30 -29
- package/src/app/defaultTheme.css +56 -56
- package/src/config/validators/ModulesSchema.ts +2 -0
- package/src/lib/authentication/providers/dev-portal-auth-pages.tsx +45 -18
- package/src/lib/components/Header.tsx +8 -5
- package/src/lib/components/HeaderAuthActions.tsx +5 -7
- package/src/lib/components/Layout.tsx +13 -4
- package/src/lib/components/Main.tsx +3 -2
- package/src/lib/components/MobileTopNavigation.tsx +2 -5
- package/src/lib/components/ThemeSwitch.tsx +41 -25
|
@@ -0,0 +1,40 @@
|
|
|
1
|
+
import type { PlatformApiClient } from "../client/platform-api.js";
|
|
2
|
+
import type { ApitogoConfig } from "../config.js";
|
|
3
|
+
import type { ProgressReporter } from "../helpers/progress.js";
|
|
4
|
+
interface BootstrapStep {
|
|
5
|
+
step: string;
|
|
6
|
+
status: string;
|
|
7
|
+
detail?: unknown;
|
|
8
|
+
}
|
|
9
|
+
export declare function resolveBootstrapProjectId(client: PlatformApiClient, args: {
|
|
10
|
+
name: string;
|
|
11
|
+
description?: string;
|
|
12
|
+
modules: string[];
|
|
13
|
+
}, steps: BootstrapStep[]): Promise<{
|
|
14
|
+
projectId: string;
|
|
15
|
+
resumed: boolean;
|
|
16
|
+
}>;
|
|
17
|
+
export declare function handleBootstrapProject(client: PlatformApiClient, config: ApitogoConfig, args: {
|
|
18
|
+
name: string;
|
|
19
|
+
description?: string;
|
|
20
|
+
modules?: string[];
|
|
21
|
+
activatedModules?: string[];
|
|
22
|
+
selectFreePlan?: boolean;
|
|
23
|
+
wait?: boolean;
|
|
24
|
+
timeoutMs?: number;
|
|
25
|
+
pollIntervalMs?: number;
|
|
26
|
+
configureGatewayBaseline?: boolean;
|
|
27
|
+
authMode?: "bringYourOwnOidc" | "platformManagedEntra";
|
|
28
|
+
oidcMetadataUrl?: string;
|
|
29
|
+
oidcAllowedIssuers?: string[];
|
|
30
|
+
oidcAudiences?: string[];
|
|
31
|
+
limitsJson?: string;
|
|
32
|
+
publicHealthActionKey?: string;
|
|
33
|
+
}, progress?: ProgressReporter): Promise<string>;
|
|
34
|
+
export declare function handleTeardownProject(client: PlatformApiClient, config: ApitogoConfig, args: {
|
|
35
|
+
projectId?: string;
|
|
36
|
+
wait?: boolean;
|
|
37
|
+
timeoutMs?: number;
|
|
38
|
+
pollIntervalMs?: number;
|
|
39
|
+
}, progress?: ProgressReporter): Promise<string>;
|
|
40
|
+
export {};
|
|
@@ -0,0 +1,43 @@
|
|
|
1
|
+
import type { PlatformApiClient } from "../client/platform-api.js";
|
|
2
|
+
import { type ApitogoConfig } from "../config.js";
|
|
3
|
+
import type { ManifestPlanInput } from "../helpers/dev-portal-manifest.js";
|
|
4
|
+
import type { ProgressReporter } from "../helpers/progress.js";
|
|
5
|
+
export type PlatformPlanChoice = "free" | "starter" | "professional";
|
|
6
|
+
export declare function loadPlatformPlanSelectionPayload(client: PlatformApiClient): Promise<{
|
|
7
|
+
note: string;
|
|
8
|
+
freeProjectsQuota?: import("../helpers/free-projects-quota.js").FreeProjectsQuota | undefined;
|
|
9
|
+
freeProjectsQuotaHint?: string | undefined;
|
|
10
|
+
freePlanAvailable?: boolean | undefined;
|
|
11
|
+
platformPlanCatalog: import("../helpers/platform-plan-catalog.js").PlatformPlanOption[];
|
|
12
|
+
platformPlanUserPrompt: string;
|
|
13
|
+
platformPlanSelectionAgentInstruction: string;
|
|
14
|
+
}>;
|
|
15
|
+
export declare function handleListPlatformPlans(client: PlatformApiClient): Promise<string>;
|
|
16
|
+
export declare function handleWaitForPlatformPlan(client: PlatformApiClient, config: ApitogoConfig, args: {
|
|
17
|
+
projectId?: string;
|
|
18
|
+
wait?: boolean;
|
|
19
|
+
timeoutMs?: number;
|
|
20
|
+
pollIntervalMs?: number;
|
|
21
|
+
}, progress?: ProgressReporter): Promise<string>;
|
|
22
|
+
export declare function handleEnsurePlatformPlan(client: PlatformApiClient, config: ApitogoConfig, args: {
|
|
23
|
+
projectId?: string;
|
|
24
|
+
projectName?: string;
|
|
25
|
+
plan: PlatformPlanChoice;
|
|
26
|
+
currency?: string;
|
|
27
|
+
wait?: boolean;
|
|
28
|
+
timeoutMs?: number;
|
|
29
|
+
pollIntervalMs?: number;
|
|
30
|
+
modules?: string[];
|
|
31
|
+
}, progress?: ProgressReporter): Promise<string>;
|
|
32
|
+
export declare function assertPlatformPlanReadyForPublish(client: PlatformApiClient, projectId: string): Promise<{
|
|
33
|
+
blocked: true;
|
|
34
|
+
payload: Record<string, unknown>;
|
|
35
|
+
} | {
|
|
36
|
+
blocked: false;
|
|
37
|
+
}>;
|
|
38
|
+
export declare function assertPaidGatewayPlansAllowedForPublish(client: PlatformApiClient, projectId: string, plans: ManifestPlanInput[] | undefined): Promise<{
|
|
39
|
+
blocked: true;
|
|
40
|
+
payload: Record<string, unknown>;
|
|
41
|
+
} | {
|
|
42
|
+
blocked: false;
|
|
43
|
+
}>;
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
import type { PlatformApiClient } from "../client/platform-api.js";
|
|
2
|
+
import { type ApitogoConfig } from "../config.js";
|
|
3
|
+
import type { ProgressReporter } from "../helpers/progress.js";
|
|
4
|
+
export declare function handleWhoami(client: PlatformApiClient): Promise<string>;
|
|
5
|
+
export declare function handleListProjects(client: PlatformApiClient): Promise<string>;
|
|
6
|
+
export declare function handleGetProject(client: PlatformApiClient, config: ApitogoConfig, args: {
|
|
7
|
+
projectId?: string;
|
|
8
|
+
includeInfrastructureStatus?: boolean;
|
|
9
|
+
}): Promise<string>;
|
|
10
|
+
export declare function handleCreateProject(client: PlatformApiClient, args: {
|
|
11
|
+
name: string;
|
|
12
|
+
description?: string;
|
|
13
|
+
activatedModules?: string[];
|
|
14
|
+
ownerTenantId?: string;
|
|
15
|
+
}): Promise<string>;
|
|
16
|
+
export declare function handleUpdateProject(client: PlatformApiClient, config: ApitogoConfig, args: {
|
|
17
|
+
projectId?: string;
|
|
18
|
+
name: string;
|
|
19
|
+
description?: string;
|
|
20
|
+
activatedModules?: string[];
|
|
21
|
+
}): Promise<string>;
|
|
22
|
+
export declare function handleDeleteProject(client: PlatformApiClient, config: ApitogoConfig, args: {
|
|
23
|
+
projectId?: string;
|
|
24
|
+
wait?: boolean;
|
|
25
|
+
timeoutMs?: number;
|
|
26
|
+
pollIntervalMs?: number;
|
|
27
|
+
}, progress?: ProgressReporter): Promise<string>;
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import type { PlatformApiClient } from "../client/platform-api.js";
|
|
2
|
+
import { type ApitogoConfig } from "../config.js";
|
|
3
|
+
export declare function handleGetSubscription(client: PlatformApiClient, config: ApitogoConfig, args: {
|
|
4
|
+
projectId?: string;
|
|
5
|
+
}): Promise<string>;
|
|
6
|
+
export declare function handleSelectFreePlan(client: PlatformApiClient, config: ApitogoConfig, args: {
|
|
7
|
+
projectId?: string;
|
|
8
|
+
}): Promise<string>;
|
|
9
|
+
export declare function handleCreateCheckoutSession(client: PlatformApiClient, config: ApitogoConfig, args: {
|
|
10
|
+
projectId?: string;
|
|
11
|
+
planSlug: string;
|
|
12
|
+
currency?: string;
|
|
13
|
+
}): Promise<string>;
|
|
@@ -44,12 +44,17 @@ export declare const LandingManifestContentSchema: z.ZodOptional<z.ZodObject<{
|
|
|
44
44
|
browseAllHref: z.ZodOptional<z.ZodString>;
|
|
45
45
|
browseAllLabel: z.ZodOptional<z.ZodString>;
|
|
46
46
|
autoFromOpenApi: z.ZodOptional<z.ZodBoolean>;
|
|
47
|
+
layout: z.ZodOptional<z.ZodEnum<{
|
|
48
|
+
grid: "grid";
|
|
49
|
+
list: "list";
|
|
50
|
+
}>>;
|
|
47
51
|
items: z.ZodOptional<z.ZodArray<z.ZodObject<{
|
|
48
52
|
name: z.ZodString;
|
|
49
53
|
path: z.ZodString;
|
|
50
54
|
icon: z.ZodOptional<z.ZodString>;
|
|
51
55
|
latency: z.ZodOptional<z.ZodString>;
|
|
52
56
|
summary: z.ZodOptional<z.ZodString>;
|
|
57
|
+
method: z.ZodOptional<z.ZodString>;
|
|
53
58
|
}, z.core.$strip>>>;
|
|
54
59
|
}, z.core.$strip>>;
|
|
55
60
|
pricingCta: z.ZodOptional<z.ZodObject<{
|
|
@@ -137,12 +137,17 @@ export declare const DevPortalLocalManifestSchema: z.ZodObject<{
|
|
|
137
137
|
browseAllHref: z.ZodOptional<z.ZodString>;
|
|
138
138
|
browseAllLabel: z.ZodOptional<z.ZodString>;
|
|
139
139
|
autoFromOpenApi: z.ZodOptional<z.ZodBoolean>;
|
|
140
|
+
layout: z.ZodOptional<z.ZodEnum<{
|
|
141
|
+
grid: "grid";
|
|
142
|
+
list: "list";
|
|
143
|
+
}>>;
|
|
140
144
|
items: z.ZodOptional<z.ZodArray<z.ZodObject<{
|
|
141
145
|
name: z.ZodString;
|
|
142
146
|
path: z.ZodString;
|
|
143
147
|
icon: z.ZodOptional<z.ZodString>;
|
|
144
148
|
latency: z.ZodOptional<z.ZodString>;
|
|
145
149
|
summary: z.ZodOptional<z.ZodString>;
|
|
150
|
+
method: z.ZodOptional<z.ZodString>;
|
|
146
151
|
}, z.core.$strip>>>;
|
|
147
152
|
}, z.core.$strip>>;
|
|
148
153
|
pricingCta: z.ZodOptional<z.ZodObject<{
|
|
@@ -63,6 +63,7 @@ export declare const LandingApiShowcaseItemSchema: z.ZodObject<{
|
|
|
63
63
|
icon: z.ZodOptional<z.ZodString>;
|
|
64
64
|
latency: z.ZodOptional<z.ZodString>;
|
|
65
65
|
summary: z.ZodOptional<z.ZodString>;
|
|
66
|
+
method: z.ZodOptional<z.ZodString>;
|
|
66
67
|
}, z.core.$strip>;
|
|
67
68
|
export declare const LandingApiShowcaseSchema: z.ZodOptional<z.ZodObject<{
|
|
68
69
|
enabled: z.ZodOptional<z.ZodBoolean>;
|
|
@@ -71,12 +72,17 @@ export declare const LandingApiShowcaseSchema: z.ZodOptional<z.ZodObject<{
|
|
|
71
72
|
browseAllHref: z.ZodOptional<z.ZodString>;
|
|
72
73
|
browseAllLabel: z.ZodOptional<z.ZodString>;
|
|
73
74
|
autoFromOpenApi: z.ZodOptional<z.ZodBoolean>;
|
|
75
|
+
layout: z.ZodOptional<z.ZodEnum<{
|
|
76
|
+
grid: "grid";
|
|
77
|
+
list: "list";
|
|
78
|
+
}>>;
|
|
74
79
|
items: z.ZodOptional<z.ZodArray<z.ZodObject<{
|
|
75
80
|
name: z.ZodString;
|
|
76
81
|
path: z.ZodString;
|
|
77
82
|
icon: z.ZodOptional<z.ZodString>;
|
|
78
83
|
latency: z.ZodOptional<z.ZodString>;
|
|
79
84
|
summary: z.ZodOptional<z.ZodString>;
|
|
85
|
+
method: z.ZodOptional<z.ZodString>;
|
|
80
86
|
}, z.core.$strip>>>;
|
|
81
87
|
}, z.core.$strip>>;
|
|
82
88
|
export declare const LandingPricingCtaSchema: z.ZodOptional<z.ZodObject<{
|
|
@@ -174,12 +180,17 @@ export declare const LandingContentSchema: z.ZodOptional<z.ZodObject<{
|
|
|
174
180
|
browseAllHref: z.ZodOptional<z.ZodString>;
|
|
175
181
|
browseAllLabel: z.ZodOptional<z.ZodString>;
|
|
176
182
|
autoFromOpenApi: z.ZodOptional<z.ZodBoolean>;
|
|
183
|
+
layout: z.ZodOptional<z.ZodEnum<{
|
|
184
|
+
grid: "grid";
|
|
185
|
+
list: "list";
|
|
186
|
+
}>>;
|
|
177
187
|
items: z.ZodOptional<z.ZodArray<z.ZodObject<{
|
|
178
188
|
name: z.ZodString;
|
|
179
189
|
path: z.ZodString;
|
|
180
190
|
icon: z.ZodOptional<z.ZodString>;
|
|
181
191
|
latency: z.ZodOptional<z.ZodString>;
|
|
182
192
|
summary: z.ZodOptional<z.ZodString>;
|
|
193
|
+
method: z.ZodOptional<z.ZodString>;
|
|
183
194
|
}, z.core.$strip>>>;
|
|
184
195
|
}, z.core.$strip>>;
|
|
185
196
|
pricingCta: z.ZodOptional<z.ZodObject<{
|
|
@@ -303,12 +314,17 @@ export declare const LandingModuleSchema: z.ZodObject<{
|
|
|
303
314
|
browseAllHref: z.ZodOptional<z.ZodString>;
|
|
304
315
|
browseAllLabel: z.ZodOptional<z.ZodString>;
|
|
305
316
|
autoFromOpenApi: z.ZodOptional<z.ZodBoolean>;
|
|
317
|
+
layout: z.ZodOptional<z.ZodEnum<{
|
|
318
|
+
grid: "grid";
|
|
319
|
+
list: "list";
|
|
320
|
+
}>>;
|
|
306
321
|
items: z.ZodOptional<z.ZodArray<z.ZodObject<{
|
|
307
322
|
name: z.ZodString;
|
|
308
323
|
path: z.ZodString;
|
|
309
324
|
icon: z.ZodOptional<z.ZodString>;
|
|
310
325
|
latency: z.ZodOptional<z.ZodString>;
|
|
311
326
|
summary: z.ZodOptional<z.ZodString>;
|
|
327
|
+
method: z.ZodOptional<z.ZodString>;
|
|
312
328
|
}, z.core.$strip>>>;
|
|
313
329
|
}, z.core.$strip>>;
|
|
314
330
|
pricingCta: z.ZodOptional<z.ZodObject<{
|
|
@@ -553,12 +569,17 @@ export declare const ModulesSchema: z.ZodOptional<z.ZodObject<{
|
|
|
553
569
|
browseAllHref: z.ZodOptional<z.ZodString>;
|
|
554
570
|
browseAllLabel: z.ZodOptional<z.ZodString>;
|
|
555
571
|
autoFromOpenApi: z.ZodOptional<z.ZodBoolean>;
|
|
572
|
+
layout: z.ZodOptional<z.ZodEnum<{
|
|
573
|
+
grid: "grid";
|
|
574
|
+
list: "list";
|
|
575
|
+
}>>;
|
|
556
576
|
items: z.ZodOptional<z.ZodArray<z.ZodObject<{
|
|
557
577
|
name: z.ZodString;
|
|
558
578
|
path: z.ZodString;
|
|
559
579
|
icon: z.ZodOptional<z.ZodString>;
|
|
560
580
|
latency: z.ZodOptional<z.ZodString>;
|
|
561
581
|
summary: z.ZodOptional<z.ZodString>;
|
|
582
|
+
method: z.ZodOptional<z.ZodString>;
|
|
562
583
|
}, z.core.$strip>>>;
|
|
563
584
|
}, z.core.$strip>>;
|
|
564
585
|
pricingCta: z.ZodOptional<z.ZodObject<{
|
|
@@ -6933,12 +6933,17 @@ export declare const ZudokuConfig: z.ZodObject<{
|
|
|
6933
6933
|
browseAllHref: z.ZodOptional<z.ZodString>;
|
|
6934
6934
|
browseAllLabel: z.ZodOptional<z.ZodString>;
|
|
6935
6935
|
autoFromOpenApi: z.ZodOptional<z.ZodBoolean>;
|
|
6936
|
+
layout: z.ZodOptional<z.ZodEnum<{
|
|
6937
|
+
grid: "grid";
|
|
6938
|
+
list: "list";
|
|
6939
|
+
}>>;
|
|
6936
6940
|
items: z.ZodOptional<z.ZodArray<z.ZodObject<{
|
|
6937
6941
|
name: z.ZodString;
|
|
6938
6942
|
path: z.ZodString;
|
|
6939
6943
|
icon: z.ZodOptional<z.ZodString>;
|
|
6940
6944
|
latency: z.ZodOptional<z.ZodString>;
|
|
6941
6945
|
summary: z.ZodOptional<z.ZodString>;
|
|
6946
|
+
method: z.ZodOptional<z.ZodString>;
|
|
6942
6947
|
}, z.core.$strip>>>;
|
|
6943
6948
|
}, z.core.$strip>>;
|
|
6944
6949
|
pricingCta: z.ZodOptional<z.ZodObject<{
|
package/dist/flat-config.d.ts
CHANGED
|
@@ -575,12 +575,14 @@ export interface _Schema21 {
|
|
|
575
575
|
browseAllHref?: string
|
|
576
576
|
browseAllLabel?: string
|
|
577
577
|
autoFromOpenApi?: boolean
|
|
578
|
+
layout?: ("grid" | "list")
|
|
578
579
|
items?: {
|
|
579
580
|
name: string
|
|
580
581
|
path: string
|
|
581
582
|
icon?: string
|
|
582
583
|
latency?: string
|
|
583
584
|
summary?: string
|
|
585
|
+
method?: string
|
|
584
586
|
}[]
|
|
585
587
|
}
|
|
586
588
|
pricingCta?: {
|
package/docs/cli/commands.md
CHANGED
|
@@ -4,17 +4,20 @@ description: APItoGo CLI command catalog by category.
|
|
|
4
4
|
sidebar_icon: wrench
|
|
5
5
|
---
|
|
6
6
|
|
|
7
|
-
Commands are exposed by the **`apitogo`** binary (`@lukoweb/apitogo`).
|
|
8
|
-
|
|
7
|
+
Commands are exposed by the **`apitogo`** binary (`@lukoweb/apitogo`). The CLI is the **source of
|
|
8
|
+
truth** for init, config, apply, status, teardown, project create, and check. MCP tools spawn these
|
|
9
|
+
same commands so agents and humans get identical behavior.
|
|
9
10
|
|
|
10
11
|
## Lifecycle (prefer these)
|
|
11
12
|
|
|
12
13
|
| Command | Role |
|
|
13
14
|
| ------- | ---- |
|
|
14
|
-
| `init` | Scaffold portal
|
|
15
|
-
| `config` / `make-config` | Write or update `apitogo.config.json` (interactive
|
|
15
|
+
| `init` | Scaffold portal (create-apitogo + OpenAPI discovery + secrets) |
|
|
16
|
+
| `config` / `make-config` | Write or update `apitogo.config.json` (interactive or flags) |
|
|
16
17
|
| `dev` | Local preview server |
|
|
17
18
|
| `build` | Production build (`--preview` to serve locally) |
|
|
19
|
+
| `check` | Publish readiness (secrets, manifest, site validation) |
|
|
20
|
+
| `project create` | Create a platform project (plan unselected) |
|
|
18
21
|
| `apply` | Publish config to platform (apihub + portal) |
|
|
19
22
|
| `status` | Account, project, and live readiness |
|
|
20
23
|
| `teardown --yes` | Delete the linked platform project |
|
|
@@ -23,10 +26,10 @@ Commands are exposed by the **`apitogo`** binary (`@lukoweb/apitogo`). Platform
|
|
|
23
26
|
|
|
24
27
|
| Command | Role |
|
|
25
28
|
| ------- | ---- |
|
|
26
|
-
| `init [dir]` |
|
|
27
|
-
| `config` | Interactive on TTY:
|
|
29
|
+
| `init [dir]` | Named folder; `--install` (default), `--overwrite`, `--json`, `--openapi-search` |
|
|
30
|
+
| `config` | Interactive on TTY; flags: `--openapi`, `--page-*`, `--plan`, `--backend`, `--theme`, `--patch`, `--json` |
|
|
28
31
|
|
|
29
|
-
`npm create @lukoweb/apitogo@latest`
|
|
32
|
+
`npm create @lukoweb/apitogo@latest` remains an interactive alternative for new folders.
|
|
30
33
|
|
|
31
34
|
See [Make config (CLI)](../configuration/make-config.mdx) for all `config` flags.
|
|
32
35
|
|
|
@@ -42,6 +45,8 @@ See [Make config (CLI)](../configuration/make-config.mdx) for all `config` flags
|
|
|
42
45
|
|
|
43
46
|
| Command | Role |
|
|
44
47
|
| ------- | ---- |
|
|
48
|
+
| `project create --name` | Create platform project only |
|
|
49
|
+
| `check` | Dry-run publish readiness |
|
|
45
50
|
| `apply` | Full publish — project, plans, apihub, portal backend/frontend |
|
|
46
51
|
| `apply --only <resource>` | Limit to `apihub`, `portal-backend`, or `portal-frontend` |
|
|
47
52
|
| `apply --force` | Redeploy selected resources even when healthy |
|
|
@@ -50,7 +55,7 @@ See [Make config (CLI)](../configuration/make-config.mdx) for all `config` flags
|
|
|
50
55
|
| `status` | Whoami + project + live verification |
|
|
51
56
|
| `teardown --yes` | Delete platform project (confirmation required) |
|
|
52
57
|
|
|
53
|
-
Env: `APITOGO_API_KEY_ID`, `APITOGO_API_SECRET`. Optional: `APITOGO_API_URL
|
|
58
|
+
Env: `APITOGO_API_KEY_ID`, `APITOGO_API_SECRET`. Optional: `APITOGO_API_URL`.
|
|
54
59
|
|
|
55
60
|
## Hand-edit exceptions
|
|
56
61
|
|
|
@@ -77,4 +82,4 @@ These print a redirect message — use the replacement:
|
|
|
77
82
|
- [Overview](./overview.md)
|
|
78
83
|
- [Shape](./shape.md)
|
|
79
84
|
- [Go live](./go-live.md)
|
|
80
|
-
- [MCP tools](../mcp/tools.md) — agent tool catalog
|
|
85
|
+
- [MCP tools](../mcp/tools.md) — agent tool catalog (spawn the CLI)
|
package/docs/cli/go-live.md
CHANGED
|
@@ -6,8 +6,8 @@ sidebar_icon: rocket
|
|
|
6
6
|
---
|
|
7
7
|
|
|
8
8
|
**Go live** publishes your shaped portal to APItoGo hosting, optionally deploys the backend, upserts
|
|
9
|
-
gateway plans, and verifies the live site. `apitogo apply`
|
|
10
|
-
`publish_dev_portal
|
|
9
|
+
gateway plans, and verifies the live site. `apitogo apply` is the source of truth; MCP
|
|
10
|
+
`publish_dev_portal` spawns the same CLI.
|
|
11
11
|
|
|
12
12
|
## Before you publish
|
|
13
13
|
|
package/docs/cli/setup.md
CHANGED
|
@@ -85,7 +85,7 @@ Optional:
|
|
|
85
85
|
| Variable | Purpose |
|
|
86
86
|
| ------------------ | ---------------------------------------------------- |
|
|
87
87
|
| `APITOGO_API_URL` | Override platform API base URL |
|
|
88
|
-
| `
|
|
88
|
+
| `APITOGO_CLI_PATH` | Local `@lukoweb/apitogo` / doc-tool checkout for MCP spawn |
|
|
89
89
|
|
|
90
90
|
Never commit secrets. Site auth secrets (OIDC, Stripe) belong in the portal **`.env`** as
|
|
91
91
|
`APITOGO_CONFIG_AUTHENTICATION__*` — see [Go live](./go-live.md).
|
|
@@ -87,6 +87,6 @@ interface ImportMeta {
|
|
|
87
87
|
| -------- | ------- |
|
|
88
88
|
| `APITOGO_API_KEY_ID` / `APITOGO_API_SECRET` | Required for MCP and CLI apply/status/teardown |
|
|
89
89
|
| `APITOGO_DOC_TOOL_PATH` | Optional local doc-tool for scaffold |
|
|
90
|
-
| `
|
|
90
|
+
| `APITOGO_CLI_PATH` | Optional local `@lukoweb/apitogo` / doc-tool checkout for MCP spawn |
|
|
91
91
|
|
|
92
92
|
See [MCP overview](../mcp/overview.md) and [CLI overview](../cli/overview.md).
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@lukoweb/apitogo",
|
|
3
|
-
"version": "0.1.
|
|
3
|
+
"version": "0.1.88",
|
|
4
4
|
"type": "module",
|
|
5
5
|
"sideEffects": [
|
|
6
6
|
"**/*.css",
|
|
@@ -161,6 +161,10 @@
|
|
|
161
161
|
"./config-loader": {
|
|
162
162
|
"types": "./dist/declarations/config/apitogo-config-loader.d.ts",
|
|
163
163
|
"default": "./src/config/apitogo-config-loader.ts"
|
|
164
|
+
},
|
|
165
|
+
"./apply": {
|
|
166
|
+
"types": "./dist/declarations/cli/platform/apply/index.d.ts",
|
|
167
|
+
"default": "./src/cli/platform/apply/index.ts"
|
|
164
168
|
}
|
|
165
169
|
},
|
|
166
170
|
"scripts": {
|
|
@@ -175,6 +179,7 @@
|
|
|
175
179
|
},
|
|
176
180
|
"dependencies": {
|
|
177
181
|
"@apidevtools/json-schema-ref-parser": "15.3.1",
|
|
182
|
+
"@apidevtools/swagger-parser": "^12.1.0",
|
|
178
183
|
"@envelop/core": "5.5.1",
|
|
179
184
|
"@graphql-typed-document-node/core": "3.2.0",
|
|
180
185
|
"@hono/node-server": "1.19.11",
|
|
@@ -223,6 +228,7 @@
|
|
|
223
228
|
"@zudoku/httpsnippet": "10.0.9",
|
|
224
229
|
"@zudoku/react-helmet-async": "2.0.5",
|
|
225
230
|
"@zuplo/mcp": "0.0.32",
|
|
231
|
+
"archiver": "^8.0.0",
|
|
226
232
|
"bs58": "6.0.0",
|
|
227
233
|
"class-variance-authority": "0.7.1",
|
|
228
234
|
"clsx": "2.1.1",
|
|
@@ -244,6 +250,7 @@
|
|
|
244
250
|
"hast-util-to-string": "3.0.1",
|
|
245
251
|
"hono": "4.12.5",
|
|
246
252
|
"http-terminator": "3.2.0",
|
|
253
|
+
"ignore": "^7.0.5",
|
|
247
254
|
"javascript-stringify": "2.1.0",
|
|
248
255
|
"json-schema-to-typescript-lite": "15.0.0",
|
|
249
256
|
"loglevel": "1.9.2",
|
|
@@ -280,9 +287,9 @@
|
|
|
280
287
|
"shiki": "3.23.0",
|
|
281
288
|
"sitemap": "9.0.1",
|
|
282
289
|
"strip-ansi": "7.2.0",
|
|
283
|
-
"tar": "7.5.10",
|
|
284
290
|
"tailwind-merge": "3.5.0",
|
|
285
291
|
"tailwindcss": "4.2.1",
|
|
292
|
+
"tar": "7.5.10",
|
|
286
293
|
"tw-animate-css": "1.4.0",
|
|
287
294
|
"unified": "11.0.5",
|
|
288
295
|
"unist-util-visit": "5.1.0",
|
|
@@ -302,6 +309,7 @@
|
|
|
302
309
|
"@testing-library/jest-dom": "6.9.1",
|
|
303
310
|
"@testing-library/react": "16.3.2",
|
|
304
311
|
"@testing-library/user-event": "14.6.1",
|
|
312
|
+
"@types/archiver": "^8.0.0",
|
|
305
313
|
"@types/estree": "1.0.8",
|
|
306
314
|
"@types/glob-parent": "5.1.3",
|
|
307
315
|
"@types/hast": "3.0.4",
|
|
@@ -483,6 +491,10 @@
|
|
|
483
491
|
"./config-loader": {
|
|
484
492
|
"types": "./dist/declarations/config/apitogo-config-loader.d.ts",
|
|
485
493
|
"default": "./src/config/apitogo-config-loader.ts"
|
|
494
|
+
},
|
|
495
|
+
"./apply": {
|
|
496
|
+
"types": "./dist/declarations/cli/platform/apply/index.d.ts",
|
|
497
|
+
"default": "./src/cli/platform/apply/index.ts"
|
|
486
498
|
}
|
|
487
499
|
},
|
|
488
500
|
"access": "public"
|
|
@@ -3,44 +3,45 @@ import type { ZudokuConfig } from "../config/validators/ZudokuConfig.js";
|
|
|
3
3
|
/**
|
|
4
4
|
* APIToGo brand theme for per-site overrides via apitogo.config.
|
|
5
5
|
* Keep in sync with defaultTheme.css (full palette including sidebar/chart tokens).
|
|
6
|
+
* Sourced from Sample-API-Website-UI (teal brand + navy/mist surfaces).
|
|
6
7
|
*/
|
|
7
8
|
export const apitogoBrandTheme: NonNullable<ZudokuConfig["theme"]> = {
|
|
8
9
|
fonts: {
|
|
9
|
-
sans: "
|
|
10
|
+
sans: "Inter",
|
|
10
11
|
mono: "JetBrains Mono",
|
|
11
12
|
},
|
|
12
13
|
light: {
|
|
13
|
-
background: "#
|
|
14
|
-
foreground: "#
|
|
15
|
-
card: "#
|
|
16
|
-
cardForeground: "#
|
|
17
|
-
primary: "#
|
|
14
|
+
background: "#ffffff",
|
|
15
|
+
foreground: "#252b3b",
|
|
16
|
+
card: "#ffffff",
|
|
17
|
+
cardForeground: "#252b3b",
|
|
18
|
+
primary: "#0d9488",
|
|
18
19
|
primaryForeground: "#ffffff",
|
|
19
|
-
secondary: "#
|
|
20
|
-
secondaryForeground: "#
|
|
21
|
-
muted: "#
|
|
22
|
-
mutedForeground: "
|
|
23
|
-
accent: "rgba(
|
|
24
|
-
accentForeground: "#
|
|
25
|
-
border: "#
|
|
26
|
-
input: "#
|
|
27
|
-
ring: "#
|
|
20
|
+
secondary: "#f4f6fb",
|
|
21
|
+
secondaryForeground: "#252b3b",
|
|
22
|
+
muted: "#e9edf5",
|
|
23
|
+
mutedForeground: "rgba(37, 43, 59, 0.55)",
|
|
24
|
+
accent: "rgba(13, 148, 136, 0.1)",
|
|
25
|
+
accentForeground: "#0d9488",
|
|
26
|
+
border: "#d9deea",
|
|
27
|
+
input: "#d9deea",
|
|
28
|
+
ring: "#0d9488",
|
|
28
29
|
},
|
|
29
30
|
dark: {
|
|
30
|
-
background: "#
|
|
31
|
-
foreground: "#
|
|
32
|
-
card: "#
|
|
33
|
-
cardForeground: "#
|
|
34
|
-
primary: "#
|
|
31
|
+
background: "#252b3b",
|
|
32
|
+
foreground: "#e9edf5",
|
|
33
|
+
card: "#2b3243",
|
|
34
|
+
cardForeground: "#e9edf5",
|
|
35
|
+
primary: "#0d9488",
|
|
35
36
|
primaryForeground: "#ffffff",
|
|
36
|
-
secondary: "#
|
|
37
|
-
secondaryForeground: "#
|
|
38
|
-
muted: "#
|
|
39
|
-
mutedForeground: "
|
|
40
|
-
accent: "rgba(
|
|
41
|
-
accentForeground: "#
|
|
42
|
-
border: "
|
|
43
|
-
input: "#
|
|
44
|
-
ring: "#
|
|
37
|
+
secondary: "#1e2330",
|
|
38
|
+
secondaryForeground: "#e9edf5",
|
|
39
|
+
muted: "#1e2330",
|
|
40
|
+
mutedForeground: "rgba(217, 222, 234, 0.58)",
|
|
41
|
+
accent: "rgba(13, 148, 136, 0.12)",
|
|
42
|
+
accentForeground: "#0d9488",
|
|
43
|
+
border: "rgba(217, 222, 234, 0.18)",
|
|
44
|
+
input: "#323a4f",
|
|
45
|
+
ring: "#0d9488",
|
|
45
46
|
},
|
|
46
47
|
};
|
package/src/app/defaultTheme.css
CHANGED
|
@@ -1,77 +1,77 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* Default APIToGo brand theme for scaffolded sites.
|
|
3
|
-
* Color tokens sourced from
|
|
3
|
+
* Color tokens sourced from Sample-API-Website-UI (teal brand + navy/mist surfaces).
|
|
4
4
|
*/
|
|
5
5
|
|
|
6
6
|
:root {
|
|
7
7
|
--radius: 0.625rem;
|
|
8
|
-
--background: #
|
|
9
|
-
--foreground: #
|
|
8
|
+
--background: #ffffff;
|
|
9
|
+
--foreground: #252b3b;
|
|
10
10
|
--card: #ffffff;
|
|
11
|
-
--card-foreground: #
|
|
11
|
+
--card-foreground: #252b3b;
|
|
12
12
|
--popover: #ffffff;
|
|
13
|
-
--popover-foreground: #
|
|
14
|
-
--primary: #
|
|
13
|
+
--popover-foreground: #252b3b;
|
|
14
|
+
--primary: #0d9488;
|
|
15
15
|
--primary-foreground: #ffffff;
|
|
16
|
-
--secondary: #
|
|
17
|
-
--secondary-foreground: #
|
|
18
|
-
--muted: #
|
|
19
|
-
--muted-foreground:
|
|
20
|
-
--accent: rgba(
|
|
21
|
-
--accent-foreground: #
|
|
22
|
-
--destructive: #
|
|
16
|
+
--secondary: #f4f6fb;
|
|
17
|
+
--secondary-foreground: #252b3b;
|
|
18
|
+
--muted: #e9edf5;
|
|
19
|
+
--muted-foreground: rgba(37, 43, 59, 0.55);
|
|
20
|
+
--accent: rgba(13, 148, 136, 0.1);
|
|
21
|
+
--accent-foreground: #0d9488;
|
|
22
|
+
--destructive: #e02424;
|
|
23
23
|
--warning: oklch(0.84 0.16 84);
|
|
24
24
|
--warning-foreground: oklch(0.47 0.14 46.2);
|
|
25
|
-
--border: #
|
|
26
|
-
--input: #
|
|
27
|
-
--ring: #
|
|
28
|
-
--chart-1: #
|
|
29
|
-
--chart-2: #
|
|
30
|
-
--chart-3: #
|
|
31
|
-
--chart-4: #
|
|
32
|
-
--chart-5: #
|
|
25
|
+
--border: #d9deea;
|
|
26
|
+
--input: #d9deea;
|
|
27
|
+
--ring: #0d9488;
|
|
28
|
+
--chart-1: #0d9488;
|
|
29
|
+
--chart-2: #0e9f6e;
|
|
30
|
+
--chart-3: #3f83f8;
|
|
31
|
+
--chart-4: #8b95af;
|
|
32
|
+
--chart-5: #454e66;
|
|
33
33
|
--sidebar: #ffffff;
|
|
34
|
-
--sidebar-foreground: #
|
|
35
|
-
--sidebar-primary: #
|
|
34
|
+
--sidebar-foreground: #252b3b;
|
|
35
|
+
--sidebar-primary: #0d9488;
|
|
36
36
|
--sidebar-primary-foreground: #ffffff;
|
|
37
|
-
--sidebar-accent: #
|
|
38
|
-
--sidebar-accent-foreground: #
|
|
39
|
-
--sidebar-border: #
|
|
40
|
-
--sidebar-ring: #
|
|
37
|
+
--sidebar-accent: #f4f6fb;
|
|
38
|
+
--sidebar-accent-foreground: #252b3b;
|
|
39
|
+
--sidebar-border: #d9deea;
|
|
40
|
+
--sidebar-ring: #0d9488;
|
|
41
41
|
}
|
|
42
42
|
|
|
43
43
|
.dark {
|
|
44
|
-
--background: #
|
|
45
|
-
--foreground: #
|
|
46
|
-
--card: #
|
|
47
|
-
--card-foreground: #
|
|
48
|
-
--popover: #
|
|
49
|
-
--popover-foreground: #
|
|
50
|
-
--primary: #
|
|
44
|
+
--background: #252b3b;
|
|
45
|
+
--foreground: #e9edf5;
|
|
46
|
+
--card: #2b3243;
|
|
47
|
+
--card-foreground: #e9edf5;
|
|
48
|
+
--popover: #2b3243;
|
|
49
|
+
--popover-foreground: #e9edf5;
|
|
50
|
+
--primary: #0d9488;
|
|
51
51
|
--primary-foreground: #ffffff;
|
|
52
|
-
--secondary: #
|
|
53
|
-
--secondary-foreground: #
|
|
54
|
-
--muted: #
|
|
55
|
-
--muted-foreground:
|
|
56
|
-
--accent: rgba(
|
|
57
|
-
--accent-foreground: #
|
|
58
|
-
--destructive: #
|
|
52
|
+
--secondary: #1e2330;
|
|
53
|
+
--secondary-foreground: #e9edf5;
|
|
54
|
+
--muted: #1e2330;
|
|
55
|
+
--muted-foreground: rgba(217, 222, 234, 0.58);
|
|
56
|
+
--accent: rgba(13, 148, 136, 0.12);
|
|
57
|
+
--accent-foreground: #0d9488;
|
|
58
|
+
--destructive: #e02424;
|
|
59
59
|
--warning: oklch(0.41 0.11 46);
|
|
60
60
|
--warning-foreground: oklch(0.99 0.02 95);
|
|
61
|
-
--border:
|
|
62
|
-
--input: #
|
|
63
|
-
--ring: #
|
|
64
|
-
--chart-1: #
|
|
65
|
-
--chart-2: #
|
|
66
|
-
--chart-3: #
|
|
67
|
-
--chart-4: #
|
|
68
|
-
--chart-5: #
|
|
69
|
-
--sidebar: #
|
|
70
|
-
--sidebar-foreground: #
|
|
71
|
-
--sidebar-primary: #
|
|
61
|
+
--border: rgba(217, 222, 234, 0.18);
|
|
62
|
+
--input: #323a4f;
|
|
63
|
+
--ring: #0d9488;
|
|
64
|
+
--chart-1: #0d9488;
|
|
65
|
+
--chart-2: #0e9f6e;
|
|
66
|
+
--chart-3: #3f83f8;
|
|
67
|
+
--chart-4: #8b95af;
|
|
68
|
+
--chart-5: #b9c1d6;
|
|
69
|
+
--sidebar: #1e2330;
|
|
70
|
+
--sidebar-foreground: #e9edf5;
|
|
71
|
+
--sidebar-primary: #0d9488;
|
|
72
72
|
--sidebar-primary-foreground: #ffffff;
|
|
73
|
-
--sidebar-accent: #
|
|
74
|
-
--sidebar-accent-foreground: #
|
|
75
|
-
--sidebar-border:
|
|
76
|
-
--sidebar-ring: #
|
|
73
|
+
--sidebar-accent: #252b3b;
|
|
74
|
+
--sidebar-accent-foreground: #e9edf5;
|
|
75
|
+
--sidebar-border: rgba(217, 222, 234, 0.18);
|
|
76
|
+
--sidebar-ring: #0d9488;
|
|
77
77
|
}
|