@c15t/cli 1.8.3 → 2.0.0-rc.0
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/760.mjs +1720 -0
- package/dist/__tests__/auth/config-store.test.d.ts +2 -0
- package/dist/__tests__/auth/config-store.test.d.ts.map +1 -0
- package/dist/__tests__/constants.test.d.ts +2 -0
- package/dist/__tests__/constants.test.d.ts.map +1 -0
- package/dist/__tests__/detection/layout.test.d.ts +2 -0
- package/dist/__tests__/detection/layout.test.d.ts.map +1 -0
- package/dist/__tests__/mocks/prompts.d.ts +25 -0
- package/dist/__tests__/mocks/prompts.d.ts.map +1 -0
- package/dist/__tests__/utils/validation.test.d.ts +2 -0
- package/dist/__tests__/utils/validation.test.d.ts.map +1 -0
- package/dist/auth/config-store.d.ts +63 -0
- package/dist/auth/config-store.d.ts.map +1 -0
- package/dist/auth/device-flow.d.ts +41 -0
- package/dist/auth/device-flow.d.ts.map +1 -0
- package/dist/auth/index.d.ts +7 -0
- package/dist/auth/index.d.ts.map +1 -0
- package/dist/auth/types.d.ts +90 -0
- package/dist/auth/types.d.ts.map +1 -0
- package/dist/commands/auth/index.d.ts +21 -0
- package/dist/commands/auth/index.d.ts.map +1 -0
- package/dist/commands/generate/index.d.ts +23 -2
- package/dist/commands/generate/index.d.ts.map +1 -1
- package/dist/commands/generate/options/c15t-mode.d.ts.map +1 -1
- package/dist/commands/generate/options/custom-mode.d.ts +3 -1
- package/dist/commands/generate/options/custom-mode.d.ts.map +1 -1
- package/dist/commands/generate/options/offline-mode.d.ts.map +1 -1
- package/dist/commands/generate/options/self-hosted-mode.d.ts.map +1 -1
- package/dist/commands/generate/options/shared/backend-options.d.ts +26 -0
- package/dist/commands/generate/options/shared/backend-options.d.ts.map +1 -0
- package/dist/commands/generate/options/shared/dev-tools.d.ts +9 -0
- package/dist/commands/generate/options/shared/dev-tools.d.ts.map +1 -0
- package/dist/commands/generate/options/shared/frontend-ui-options.d.ts +44 -0
- package/dist/commands/generate/options/shared/frontend-ui-options.d.ts.map +1 -0
- package/dist/commands/generate/options/shared/index.d.ts +9 -0
- package/dist/commands/generate/options/shared/index.d.ts.map +1 -0
- package/dist/commands/generate/options/shared/ssr.d.ts +21 -0
- package/dist/commands/generate/options/shared/ssr.d.ts.map +1 -0
- package/dist/commands/generate/options/utils/generate-files.d.ts +10 -2
- package/dist/commands/generate/options/utils/generate-files.d.ts.map +1 -1
- package/dist/commands/generate/preflight.d.ts +31 -0
- package/dist/commands/generate/preflight.d.ts.map +1 -0
- package/dist/commands/generate/prompts/expanded-theme.d.ts +46 -0
- package/dist/commands/generate/prompts/expanded-theme.d.ts.map +1 -0
- package/dist/commands/generate/prompts/index.d.ts +10 -0
- package/dist/commands/generate/prompts/index.d.ts.map +1 -0
- package/dist/commands/generate/prompts/instance.d.ts +33 -0
- package/dist/commands/generate/prompts/instance.d.ts.map +1 -0
- package/dist/commands/generate/prompts/mode-select.d.ts +42 -0
- package/dist/commands/generate/prompts/mode-select.d.ts.map +1 -0
- package/dist/commands/generate/prompts/scripts.d.ts +66 -0
- package/dist/commands/generate/prompts/scripts.d.ts.map +1 -0
- package/dist/commands/generate/prompts/theme.d.ts +46 -0
- package/dist/commands/generate/prompts/theme.d.ts.map +1 -0
- package/dist/commands/generate/prompts/ui-style.d.ts +36 -0
- package/dist/commands/generate/prompts/ui-style.d.ts.map +1 -0
- package/dist/commands/generate/summary.d.ts +37 -0
- package/dist/commands/generate/summary.d.ts.map +1 -0
- package/dist/commands/generate/templates/config.d.ts +7 -6
- package/dist/commands/generate/templates/config.d.ts.map +1 -1
- package/dist/commands/generate/templates/css.d.ts +12 -0
- package/dist/commands/generate/templates/css.d.ts.map +1 -0
- package/dist/commands/generate/templates/index.d.ts +1 -1
- package/dist/commands/generate/templates/index.d.ts.map +1 -1
- package/dist/commands/generate/templates/layout.d.ts +7 -0
- package/dist/commands/generate/templates/layout.d.ts.map +1 -1
- package/dist/commands/generate/templates/next/app/layout.d.ts +9 -2
- package/dist/commands/generate/templates/next/app/layout.d.ts.map +1 -1
- package/dist/commands/generate/templates/next/index.d.ts +7 -0
- package/dist/commands/generate/templates/next/index.d.ts.map +1 -1
- package/dist/commands/generate/templates/next/pages/layout.d.ts +3 -1
- package/dist/commands/generate/templates/next/pages/layout.d.ts.map +1 -1
- package/dist/commands/generate/templates/shared/components.d.ts +69 -0
- package/dist/commands/generate/templates/shared/components.d.ts.map +1 -0
- package/dist/commands/generate/templates/shared/directory.d.ts +71 -0
- package/dist/commands/generate/templates/shared/directory.d.ts.map +1 -0
- package/dist/commands/generate/templates/shared/expanded-components.d.ts +50 -0
- package/dist/commands/generate/templates/shared/expanded-components.d.ts.map +1 -0
- package/dist/commands/generate/templates/shared/framework-config.d.ts +18 -0
- package/dist/commands/generate/templates/shared/framework-config.d.ts.map +1 -0
- package/dist/commands/generate/templates/shared/layout-pipeline.d.ts +47 -0
- package/dist/commands/generate/templates/shared/layout-pipeline.d.ts.map +1 -0
- package/dist/commands/generate/templates/shared/module-specifier.d.ts +68 -0
- package/dist/commands/generate/templates/shared/module-specifier.d.ts.map +1 -0
- package/dist/commands/generate/templates/shared/options.d.ts +37 -20
- package/dist/commands/generate/templates/shared/options.d.ts.map +1 -1
- package/dist/commands/generate/templates/shared/scripts.d.ts +62 -0
- package/dist/commands/generate/templates/shared/scripts.d.ts.map +1 -0
- package/dist/commands/generate/templates/shared/server-components.d.ts +38 -0
- package/dist/commands/generate/templates/shared/server-components.d.ts.map +1 -0
- package/dist/commands/index.d.ts +8 -0
- package/dist/commands/index.d.ts.map +1 -0
- package/dist/commands/instances/index.d.ts +22 -0
- package/dist/commands/instances/index.d.ts.map +1 -0
- package/dist/commands/self-host/migrate/migrator-result.d.ts +1 -1
- package/dist/commands/self-host/migrate/migrator-result.d.ts.map +1 -1
- package/dist/commands/self-host/migrate/orm-result.d.ts +1 -1
- package/dist/commands/self-host/migrate/orm-result.d.ts.map +1 -1
- package/dist/commands/self-host/migrate/read-config.d.ts +1 -1
- package/dist/commands/self-host/migrate/read-config.d.ts.map +1 -1
- package/dist/constants.d.ts +101 -0
- package/dist/constants.d.ts.map +1 -0
- package/dist/context/framework-detection.d.ts +1 -0
- package/dist/context/framework-detection.d.ts.map +1 -1
- package/dist/context/types.d.ts +3 -3
- package/dist/context/types.d.ts.map +1 -1
- package/dist/core/context.d.ts +24 -0
- package/dist/core/context.d.ts.map +1 -0
- package/dist/core/errors.d.ts +214 -0
- package/dist/core/errors.d.ts.map +1 -0
- package/dist/core/index.d.ts +9 -0
- package/dist/core/index.d.ts.map +1 -0
- package/dist/core/logger.d.ts +50 -0
- package/dist/core/logger.d.ts.map +1 -0
- package/dist/core/parser.d.ts +35 -0
- package/dist/core/parser.d.ts.map +1 -0
- package/dist/core/telemetry.d.ts +78 -0
- package/dist/core/telemetry.d.ts.map +1 -0
- package/dist/detection/framework.d.ts +31 -0
- package/dist/detection/framework.d.ts.map +1 -0
- package/dist/detection/index.d.ts +7 -0
- package/dist/detection/index.d.ts.map +1 -0
- package/dist/detection/layout.d.ts +36 -0
- package/dist/detection/layout.d.ts.map +1 -0
- package/dist/detection/package-manager.d.ts +31 -0
- package/dist/detection/package-manager.d.ts.map +1 -0
- package/dist/index.d.ts +9 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.mjs +2066 -1836
- package/dist/machines/generate/actions.d.ts +116 -0
- package/dist/machines/generate/actions.d.ts.map +1 -0
- package/dist/machines/generate/actors/dependencies.d.ts +43 -0
- package/dist/machines/generate/actors/dependencies.d.ts.map +1 -0
- package/dist/machines/generate/actors/file-generation.d.ts +54 -0
- package/dist/machines/generate/actors/file-generation.d.ts.map +1 -0
- package/dist/machines/generate/actors/preflight.d.ts +46 -0
- package/dist/machines/generate/actors/preflight.d.ts.map +1 -0
- package/dist/machines/generate/actors/prompts.d.ts +122 -0
- package/dist/machines/generate/actors/prompts.d.ts.map +1 -0
- package/dist/machines/generate/guards.d.ts +180 -0
- package/dist/machines/generate/guards.d.ts.map +1 -0
- package/dist/machines/generate/machine.d.ts +250 -0
- package/dist/machines/generate/machine.d.ts.map +1 -0
- package/dist/machines/generate/runner.d.ts +40 -0
- package/dist/machines/generate/runner.d.ts.map +1 -0
- package/dist/machines/generate/types.d.ts +189 -0
- package/dist/machines/generate/types.d.ts.map +1 -0
- package/dist/machines/index.d.ts +20 -0
- package/dist/machines/index.d.ts.map +1 -0
- package/dist/machines/persistence.d.ts +65 -0
- package/dist/machines/persistence.d.ts.map +1 -0
- package/dist/machines/telemetry-plugin.d.ts +54 -0
- package/dist/machines/telemetry-plugin.d.ts.map +1 -0
- package/dist/machines/types.d.ts +104 -0
- package/dist/machines/types.d.ts.map +1 -0
- package/dist/mcp/client.d.ts +61 -0
- package/dist/mcp/client.d.ts.map +1 -0
- package/dist/mcp/index.d.ts +6 -0
- package/dist/mcp/index.d.ts.map +1 -0
- package/dist/mcp/types.d.ts +84 -0
- package/dist/mcp/types.d.ts.map +1 -0
- package/dist/types.d.ts +238 -0
- package/dist/types.d.ts.map +1 -0
- package/dist/utils/formatter.d.ts +71 -0
- package/dist/utils/formatter.d.ts.map +1 -0
- package/dist/utils/fs.d.ts +80 -0
- package/dist/utils/fs.d.ts.map +1 -0
- package/dist/utils/index.d.ts +8 -0
- package/dist/utils/index.d.ts.map +1 -0
- package/dist/utils/spinner.d.ts +60 -0
- package/dist/utils/spinner.d.ts.map +1 -0
- package/dist/utils/telemetry.d.ts +4 -0
- package/dist/utils/telemetry.d.ts.map +1 -1
- package/dist/utils/validation.d.ts +68 -0
- package/dist/utils/validation.d.ts.map +1 -0
- package/package.json +63 -64
- package/LICENSE.md +0 -595
- package/dist/commands/generate/options/utils/shared-frontend.d.ts +0 -14
- package/dist/commands/generate/options/utils/shared-frontend.d.ts.map +0 -1
- package/dist/commands/generate/templates/backend.d.ts +0 -10
- package/dist/commands/generate/templates/backend.d.ts.map +0 -1
- package/dist/commands/generate/templates/next/app/components.d.ts +0 -44
- package/dist/commands/generate/templates/next/app/components.d.ts.map +0 -1
- package/dist/commands/generate/templates/next/pages/components.d.ts +0 -22
- package/dist/commands/generate/templates/next/pages/components.d.ts.map +0 -1
- package/dist/commands/generate/templates/react/components.d.ts +0 -21
- package/dist/commands/generate/templates/react/components.d.ts.map +0 -1
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"config-store.test.d.ts","sourceRoot":"","sources":["../../../src/__tests__/auth/config-store.test.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"constants.test.d.ts","sourceRoot":"","sources":["../../src/__tests__/constants.test.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"layout.test.d.ts","sourceRoot":"","sources":["../../../src/__tests__/detection/layout.test.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Mock @clack/prompts for testing
|
|
3
|
+
*/
|
|
4
|
+
import { type Mock } from 'vitest';
|
|
5
|
+
export interface MockPrompts {
|
|
6
|
+
select: Mock;
|
|
7
|
+
text: Mock;
|
|
8
|
+
confirm: Mock;
|
|
9
|
+
multiselect: Mock;
|
|
10
|
+
isCancel: Mock;
|
|
11
|
+
spinner: Mock;
|
|
12
|
+
log: {
|
|
13
|
+
message: Mock;
|
|
14
|
+
info: Mock;
|
|
15
|
+
warn: Mock;
|
|
16
|
+
error: Mock;
|
|
17
|
+
step: Mock;
|
|
18
|
+
};
|
|
19
|
+
intro: Mock;
|
|
20
|
+
outro: Mock;
|
|
21
|
+
note: Mock;
|
|
22
|
+
}
|
|
23
|
+
export declare function createMockPrompts(responses?: Record<string, unknown>): MockPrompts;
|
|
24
|
+
export declare function mockCancel(prompts: MockPrompts): void;
|
|
25
|
+
//# sourceMappingURL=prompts.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"prompts.d.ts","sourceRoot":"","sources":["../../../src/__tests__/mocks/prompts.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EAAE,KAAK,IAAI,EAAM,MAAM,QAAQ,CAAC;AAEvC,MAAM,WAAW,WAAW;IAC3B,MAAM,EAAE,IAAI,CAAC;IACb,IAAI,EAAE,IAAI,CAAC;IACX,OAAO,EAAE,IAAI,CAAC;IACd,WAAW,EAAE,IAAI,CAAC;IAClB,QAAQ,EAAE,IAAI,CAAC;IACf,OAAO,EAAE,IAAI,CAAC;IACd,GAAG,EAAE;QACJ,OAAO,EAAE,IAAI,CAAC;QACd,IAAI,EAAE,IAAI,CAAC;QACX,IAAI,EAAE,IAAI,CAAC;QACX,KAAK,EAAE,IAAI,CAAC;QACZ,IAAI,EAAE,IAAI,CAAC;KACX,CAAC;IACF,KAAK,EAAE,IAAI,CAAC;IACZ,KAAK,EAAE,IAAI,CAAC;IACZ,IAAI,EAAE,IAAI,CAAC;CACX;AAED,wBAAgB,iBAAiB,CAChC,SAAS,GAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAM,GACrC,WAAW,CA8Cb;AAED,wBAAgB,UAAU,CAAC,OAAO,EAAE,WAAW,GAAG,IAAI,CAErD"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"validation.test.d.ts","sourceRoot":"","sources":["../../../src/__tests__/utils/validation.test.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1,63 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Configuration store for c15t CLI credentials
|
|
3
|
+
*
|
|
4
|
+
* Stores authentication credentials and preferences in ~/.c15t/config.json
|
|
5
|
+
*/
|
|
6
|
+
import type { AuthState, C15tConfig } from './types';
|
|
7
|
+
/**
|
|
8
|
+
* Get the path to the c15t config directory
|
|
9
|
+
*/
|
|
10
|
+
export declare function getConfigDir(): string;
|
|
11
|
+
/**
|
|
12
|
+
* Get the path to the config file
|
|
13
|
+
*/
|
|
14
|
+
export declare function getConfigPath(): string;
|
|
15
|
+
/**
|
|
16
|
+
* Load the stored configuration
|
|
17
|
+
*/
|
|
18
|
+
export declare function loadConfig(): Promise<C15tConfig | null>;
|
|
19
|
+
/**
|
|
20
|
+
* Save configuration to the store
|
|
21
|
+
*/
|
|
22
|
+
export declare function saveConfig(config: C15tConfig): Promise<void>;
|
|
23
|
+
/**
|
|
24
|
+
* Update specific fields in the configuration
|
|
25
|
+
*/
|
|
26
|
+
export declare function updateConfig(updates: Partial<C15tConfig>): Promise<C15tConfig | null>;
|
|
27
|
+
/**
|
|
28
|
+
* Clear the stored configuration (logout)
|
|
29
|
+
*/
|
|
30
|
+
export declare function clearConfig(): Promise<void>;
|
|
31
|
+
/**
|
|
32
|
+
* Check if the stored token is expired
|
|
33
|
+
*/
|
|
34
|
+
export declare function isTokenExpired(config: C15tConfig): boolean;
|
|
35
|
+
/**
|
|
36
|
+
* Get the current auth state
|
|
37
|
+
*/
|
|
38
|
+
export declare function getAuthState(): Promise<AuthState>;
|
|
39
|
+
/**
|
|
40
|
+
* Check if the user is logged in
|
|
41
|
+
*/
|
|
42
|
+
export declare function isLoggedIn(): Promise<boolean>;
|
|
43
|
+
/**
|
|
44
|
+
* Get the stored access token
|
|
45
|
+
*/
|
|
46
|
+
export declare function getAccessToken(): Promise<string | null>;
|
|
47
|
+
/**
|
|
48
|
+
* Get the selected instance ID
|
|
49
|
+
*/
|
|
50
|
+
export declare function getSelectedInstanceId(): Promise<string | null>;
|
|
51
|
+
/**
|
|
52
|
+
* Set the selected instance ID
|
|
53
|
+
*/
|
|
54
|
+
export declare function setSelectedInstanceId(instanceId: string): Promise<void>;
|
|
55
|
+
/**
|
|
56
|
+
* Store tokens from a token response
|
|
57
|
+
*/
|
|
58
|
+
export declare function storeTokens(accessToken: string, options?: {
|
|
59
|
+
refreshToken?: string;
|
|
60
|
+
expiresIn?: number;
|
|
61
|
+
email?: string;
|
|
62
|
+
}): Promise<void>;
|
|
63
|
+
//# sourceMappingURL=config-store.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"config-store.d.ts","sourceRoot":"","sources":["../../src/auth/config-store.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAMH,OAAO,KAAK,EAAE,SAAS,EAAE,UAAU,EAAE,MAAM,SAAS,CAAC;AAErD;;GAEG;AACH,wBAAgB,YAAY,IAAI,MAAM,CAErC;AAED;;GAEG;AACH,wBAAgB,aAAa,IAAI,MAAM,CAEtC;AAUD;;GAEG;AACH,wBAAsB,UAAU,IAAI,OAAO,CAAC,UAAU,GAAG,IAAI,CAAC,CAgB7D;AAED;;GAEG;AACH,wBAAsB,UAAU,CAAC,MAAM,EAAE,UAAU,GAAG,OAAO,CAAC,IAAI,CAAC,CASlE;AAED;;GAEG;AACH,wBAAsB,YAAY,CACjC,OAAO,EAAE,OAAO,CAAC,UAAU,CAAC,GAC1B,OAAO,CAAC,UAAU,GAAG,IAAI,CAAC,CAS5B;AAED;;GAEG;AACH,wBAAsB,WAAW,IAAI,OAAO,CAAC,IAAI,CAAC,CAOjD;AAED;;GAEG;AACH,wBAAgB,cAAc,CAAC,MAAM,EAAE,UAAU,GAAG,OAAO,CAS1D;AAED;;GAEG;AACH,wBAAsB,YAAY,IAAI,OAAO,CAAC,SAAS,CAAC,CAgBvD;AAED;;GAEG;AACH,wBAAsB,UAAU,IAAI,OAAO,CAAC,OAAO,CAAC,CAGnD;AAED;;GAEG;AACH,wBAAsB,cAAc,IAAI,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC,CAM7D;AAED;;GAEG;AACH,wBAAsB,qBAAqB,IAAI,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC,CAGpE;AAED;;GAEG;AACH,wBAAsB,qBAAqB,CAAC,UAAU,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAE7E;AAED;;GAEG;AACH,wBAAsB,WAAW,CAChC,WAAW,EAAE,MAAM,EACnB,OAAO,CAAC,EAAE;IACT,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,KAAK,CAAC,EAAE,MAAM,CAAC;CACf,GACC,OAAO,CAAC,IAAI,CAAC,CAkBf"}
|
|
@@ -0,0 +1,41 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* OAuth 2.0 Device Authorization Grant (RFC 8628)
|
|
3
|
+
*
|
|
4
|
+
* Implements the device flow for CLI authentication.
|
|
5
|
+
* The user is directed to a URL to authorize the device,
|
|
6
|
+
* while the CLI polls for the token.
|
|
7
|
+
*/
|
|
8
|
+
import type { DeviceCodeResponse, DeviceFlowState, TokenResponse } from './types';
|
|
9
|
+
/**
|
|
10
|
+
* Initiate the device authorization flow
|
|
11
|
+
*
|
|
12
|
+
* Requests a device code and user code from the authorization server.
|
|
13
|
+
*/
|
|
14
|
+
export declare function initiateDeviceFlow(baseUrl?: string): Promise<DeviceCodeResponse>;
|
|
15
|
+
/**
|
|
16
|
+
* Poll for the token
|
|
17
|
+
*
|
|
18
|
+
* Polls the token endpoint until the user authorizes the device,
|
|
19
|
+
* the request expires, or is denied.
|
|
20
|
+
*/
|
|
21
|
+
export declare function pollForToken(baseUrl: string, deviceCode: string, interval?: number, expiresIn?: number): Promise<TokenResponse>;
|
|
22
|
+
/**
|
|
23
|
+
* Run the complete device flow
|
|
24
|
+
*
|
|
25
|
+
* Returns a state object that can be used to track the flow progress.
|
|
26
|
+
*/
|
|
27
|
+
export declare function runDeviceFlow(baseUrl?: string, callbacks?: {
|
|
28
|
+
onDeviceCode?: (response: DeviceCodeResponse) => void;
|
|
29
|
+
onPolling?: () => void;
|
|
30
|
+
onSuccess?: (token: TokenResponse) => void;
|
|
31
|
+
onError?: (error: Error) => void;
|
|
32
|
+
}): Promise<DeviceFlowState>;
|
|
33
|
+
/**
|
|
34
|
+
* Format the user code for display (e.g., "ABCD-EFGH")
|
|
35
|
+
*/
|
|
36
|
+
export declare function formatUserCode(userCode: string): string;
|
|
37
|
+
/**
|
|
38
|
+
* Get the complete verification URL with user code
|
|
39
|
+
*/
|
|
40
|
+
export declare function getVerificationUrl(response: DeviceCodeResponse): string;
|
|
41
|
+
//# sourceMappingURL=device-flow.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"device-flow.d.ts","sourceRoot":"","sources":["../../src/auth/device-flow.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAIH,OAAO,KAAK,EACX,kBAAkB,EAElB,eAAe,EACf,aAAa,EACb,MAAM,SAAS,CAAC;AAoBjB;;;;GAIG;AACH,wBAAsB,kBAAkB,CACvC,OAAO,GAAE,MAAwB,GAC/B,OAAO,CAAC,kBAAkB,CAAC,CA+B7B;AAED;;;;;GAKG;AACH,wBAAsB,YAAY,CACjC,OAAO,EAAE,MAAM,EACf,UAAU,EAAE,MAAM,EAClB,QAAQ,GAAE,MAA2C,EACrD,SAAS,GAAE,MAAoC,GAC7C,OAAO,CAAC,aAAa,CAAC,CAmExB;AAED;;;;GAIG;AACH,wBAAsB,aAAa,CAClC,OAAO,GAAE,MAAwB,EACjC,SAAS,CAAC,EAAE;IACX,YAAY,CAAC,EAAE,CAAC,QAAQ,EAAE,kBAAkB,KAAK,IAAI,CAAC;IACtD,SAAS,CAAC,EAAE,MAAM,IAAI,CAAC;IACvB,SAAS,CAAC,EAAE,CAAC,KAAK,EAAE,aAAa,KAAK,IAAI,CAAC;IAC3C,OAAO,CAAC,EAAE,CAAC,KAAK,EAAE,KAAK,KAAK,IAAI,CAAC;CACjC,GACC,OAAO,CAAC,eAAe,CAAC,CAiC1B;AAED;;GAEG;AACH,wBAAgB,cAAc,CAAC,QAAQ,EAAE,MAAM,GAAG,MAAM,CASvD;AAED;;GAEG;AACH,wBAAgB,kBAAkB,CAAC,QAAQ,EAAE,kBAAkB,GAAG,MAAM,CASvE"}
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Auth module exports
|
|
3
|
+
*/
|
|
4
|
+
export { clearConfig, getAccessToken, getAuthState, getConfigDir, getConfigPath, getSelectedInstanceId, isLoggedIn, isTokenExpired, loadConfig, saveConfig, setSelectedInstanceId, storeTokens, updateConfig, } from './config-store';
|
|
5
|
+
export { formatUserCode, getVerificationUrl, initiateDeviceFlow, pollForToken, runDeviceFlow, } from './device-flow';
|
|
6
|
+
export type { AuthState, C15tConfig, DeviceCodeResponse, DeviceFlowError, DeviceFlowErrorCode, DeviceFlowState, TokenResponse, } from './types';
|
|
7
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/auth/index.ts"],"names":[],"mappings":"AAAA;;GAEG;AAGH,OAAO,EACN,WAAW,EACX,cAAc,EACd,YAAY,EACZ,YAAY,EACZ,aAAa,EACb,qBAAqB,EACrB,UAAU,EACV,cAAc,EACd,UAAU,EACV,UAAU,EACV,qBAAqB,EACrB,WAAW,EACX,YAAY,GACZ,MAAM,gBAAgB,CAAC;AAExB,OAAO,EACN,cAAc,EACd,kBAAkB,EAClB,kBAAkB,EAClB,YAAY,EACZ,aAAa,GACb,MAAM,eAAe,CAAC;AAEvB,YAAY,EACX,SAAS,EACT,UAAU,EACV,kBAAkB,EAClB,eAAe,EACf,mBAAmB,EACnB,eAAe,EACf,aAAa,GACb,MAAM,SAAS,CAAC"}
|
|
@@ -0,0 +1,90 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Authentication types
|
|
3
|
+
*/
|
|
4
|
+
/**
|
|
5
|
+
* Stored configuration in ~/.c15t/config.json
|
|
6
|
+
*/
|
|
7
|
+
export interface C15tConfig {
|
|
8
|
+
/** OAuth access token */
|
|
9
|
+
accessToken: string;
|
|
10
|
+
/** OAuth refresh token */
|
|
11
|
+
refreshToken?: string;
|
|
12
|
+
/** Token expiration timestamp (unix ms) */
|
|
13
|
+
expiresAt?: number;
|
|
14
|
+
/** Currently selected instance ID */
|
|
15
|
+
selectedInstanceId?: string;
|
|
16
|
+
/** Last login timestamp */
|
|
17
|
+
lastLogin?: number;
|
|
18
|
+
/** User email (for display purposes) */
|
|
19
|
+
email?: string;
|
|
20
|
+
}
|
|
21
|
+
/**
|
|
22
|
+
* Device code response from the authorization server (RFC 8628)
|
|
23
|
+
*/
|
|
24
|
+
export interface DeviceCodeResponse {
|
|
25
|
+
/** The device verification code */
|
|
26
|
+
device_code: string;
|
|
27
|
+
/** The end-user verification code */
|
|
28
|
+
user_code: string;
|
|
29
|
+
/** The end-user verification URI */
|
|
30
|
+
verification_uri: string;
|
|
31
|
+
/** Complete verification URI with user code */
|
|
32
|
+
verification_uri_complete?: string;
|
|
33
|
+
/** Lifetime in seconds of the device_code and user_code */
|
|
34
|
+
expires_in: number;
|
|
35
|
+
/** Minimum time in seconds to wait between polling requests */
|
|
36
|
+
interval: number;
|
|
37
|
+
}
|
|
38
|
+
/**
|
|
39
|
+
* Token response from the authorization server
|
|
40
|
+
*/
|
|
41
|
+
export interface TokenResponse {
|
|
42
|
+
/** The access token */
|
|
43
|
+
access_token: string;
|
|
44
|
+
/** The token type (usually "Bearer") */
|
|
45
|
+
token_type: string;
|
|
46
|
+
/** Lifetime in seconds of the access token */
|
|
47
|
+
expires_in?: number;
|
|
48
|
+
/** The refresh token */
|
|
49
|
+
refresh_token?: string;
|
|
50
|
+
/** The scope of the access token */
|
|
51
|
+
scope?: string;
|
|
52
|
+
}
|
|
53
|
+
/**
|
|
54
|
+
* Device flow error response
|
|
55
|
+
*/
|
|
56
|
+
export interface DeviceFlowError {
|
|
57
|
+
/** Error code */
|
|
58
|
+
error: DeviceFlowErrorCode;
|
|
59
|
+
/** Human-readable error description */
|
|
60
|
+
error_description?: string;
|
|
61
|
+
}
|
|
62
|
+
/**
|
|
63
|
+
* Device flow error codes (RFC 8628)
|
|
64
|
+
*/
|
|
65
|
+
export type DeviceFlowErrorCode = 'authorization_pending' | 'slow_down' | 'access_denied' | 'expired_token';
|
|
66
|
+
/**
|
|
67
|
+
* Device flow state
|
|
68
|
+
*/
|
|
69
|
+
export interface DeviceFlowState {
|
|
70
|
+
/** Current state */
|
|
71
|
+
status: 'pending' | 'polling' | 'success' | 'error' | 'cancelled';
|
|
72
|
+
/** Device code response */
|
|
73
|
+
deviceCode?: DeviceCodeResponse;
|
|
74
|
+
/** Token response (on success) */
|
|
75
|
+
token?: TokenResponse;
|
|
76
|
+
/** Error message */
|
|
77
|
+
error?: string;
|
|
78
|
+
}
|
|
79
|
+
/**
|
|
80
|
+
* Auth state for the CLI
|
|
81
|
+
*/
|
|
82
|
+
export interface AuthState {
|
|
83
|
+
/** Whether the user is logged in */
|
|
84
|
+
isLoggedIn: boolean;
|
|
85
|
+
/** The stored config */
|
|
86
|
+
config: C15tConfig | null;
|
|
87
|
+
/** Whether the token is expired */
|
|
88
|
+
isExpired: boolean;
|
|
89
|
+
}
|
|
90
|
+
//# sourceMappingURL=types.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/auth/types.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH;;GAEG;AACH,MAAM,WAAW,UAAU;IAC1B,yBAAyB;IACzB,WAAW,EAAE,MAAM,CAAC;IACpB,0BAA0B;IAC1B,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,2CAA2C;IAC3C,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,qCAAqC;IACrC,kBAAkB,CAAC,EAAE,MAAM,CAAC;IAC5B,2BAA2B;IAC3B,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,wCAAwC;IACxC,KAAK,CAAC,EAAE,MAAM,CAAC;CACf;AAED;;GAEG;AACH,MAAM,WAAW,kBAAkB;IAClC,mCAAmC;IACnC,WAAW,EAAE,MAAM,CAAC;IACpB,qCAAqC;IACrC,SAAS,EAAE,MAAM,CAAC;IAClB,oCAAoC;IACpC,gBAAgB,EAAE,MAAM,CAAC;IACzB,+CAA+C;IAC/C,yBAAyB,CAAC,EAAE,MAAM,CAAC;IACnC,2DAA2D;IAC3D,UAAU,EAAE,MAAM,CAAC;IACnB,+DAA+D;IAC/D,QAAQ,EAAE,MAAM,CAAC;CACjB;AAED;;GAEG;AACH,MAAM,WAAW,aAAa;IAC7B,uBAAuB;IACvB,YAAY,EAAE,MAAM,CAAC;IACrB,wCAAwC;IACxC,UAAU,EAAE,MAAM,CAAC;IACnB,8CAA8C;IAC9C,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,wBAAwB;IACxB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,oCAAoC;IACpC,KAAK,CAAC,EAAE,MAAM,CAAC;CACf;AAED;;GAEG;AACH,MAAM,WAAW,eAAe;IAC/B,iBAAiB;IACjB,KAAK,EAAE,mBAAmB,CAAC;IAC3B,uCAAuC;IACvC,iBAAiB,CAAC,EAAE,MAAM,CAAC;CAC3B;AAED;;GAEG;AACH,MAAM,MAAM,mBAAmB,GAC5B,uBAAuB,GACvB,WAAW,GACX,eAAe,GACf,eAAe,CAAC;AAEnB;;GAEG;AACH,MAAM,WAAW,eAAe;IAC/B,oBAAoB;IACpB,MAAM,EAAE,SAAS,GAAG,SAAS,GAAG,SAAS,GAAG,OAAO,GAAG,WAAW,CAAC;IAClE,2BAA2B;IAC3B,UAAU,CAAC,EAAE,kBAAkB,CAAC;IAChC,kCAAkC;IAClC,KAAK,CAAC,EAAE,aAAa,CAAC;IACtB,oBAAoB;IACpB,KAAK,CAAC,EAAE,MAAM,CAAC;CACf;AAED;;GAEG;AACH,MAAM,WAAW,SAAS;IACzB,oCAAoC;IACpC,UAAU,EAAE,OAAO,CAAC;IACpB,wBAAwB;IACxB,MAAM,EAAE,UAAU,GAAG,IAAI,CAAC;IAC1B,mCAAmC;IACnC,SAAS,EAAE,OAAO,CAAC;CACnB"}
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Authentication commands (login/logout)
|
|
3
|
+
*/
|
|
4
|
+
import type { CliCommand } from '../../types';
|
|
5
|
+
/**
|
|
6
|
+
* Login command definition
|
|
7
|
+
*/
|
|
8
|
+
export declare const loginCommand: CliCommand;
|
|
9
|
+
/**
|
|
10
|
+
* Logout command definition
|
|
11
|
+
*/
|
|
12
|
+
export declare const logoutCommand: CliCommand;
|
|
13
|
+
/**
|
|
14
|
+
* Auth status command definition (hidden, used as subcommand)
|
|
15
|
+
*/
|
|
16
|
+
export declare const authStatusCommand: CliCommand;
|
|
17
|
+
/**
|
|
18
|
+
* All auth commands
|
|
19
|
+
*/
|
|
20
|
+
export declare const authCommands: CliCommand[];
|
|
21
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/commands/auth/index.ts"],"names":[],"mappings":"AAAA;;GAEG;AAiBH,OAAO,KAAK,EAAE,UAAU,EAAc,MAAM,aAAa,CAAC;AAgL1D;;GAEG;AACH,eAAO,MAAM,YAAY,EAAE,UAO1B,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,aAAa,EAAE,UAM3B,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,iBAAiB,EAAE,UAO/B,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,YAAY,cAAmD,CAAC"}
|
|
@@ -1,6 +1,27 @@
|
|
|
1
|
-
import type { CliContext } from '../../context/types';
|
|
2
1
|
/**
|
|
3
|
-
* Generate command -
|
|
2
|
+
* Generate command - sets up c15t in a project
|
|
3
|
+
*
|
|
4
|
+
* This command uses a state machine to:
|
|
5
|
+
* 1. Run pre-flight checks
|
|
6
|
+
* 2. Prompt for storage mode selection
|
|
7
|
+
* 3. Configure the selected mode
|
|
8
|
+
* 4. Generate necessary files
|
|
9
|
+
* 5. Install dependencies
|
|
10
|
+
* 6. Display next steps
|
|
11
|
+
*
|
|
12
|
+
* Features:
|
|
13
|
+
* - Resume from interrupted state (--resume flag)
|
|
14
|
+
* - Automatic rollback on error/cancel
|
|
15
|
+
* - Unified cancellation handling
|
|
16
|
+
* - Auto-tracked telemetry
|
|
17
|
+
*/
|
|
18
|
+
import type { CliCommand, CliContext } from '../../context/types';
|
|
19
|
+
/**
|
|
20
|
+
* Legacy generate function for backwards compatibility
|
|
4
21
|
*/
|
|
5
22
|
export declare function generate(context: CliContext, mode?: string): Promise<void>;
|
|
23
|
+
/**
|
|
24
|
+
* Generate command definition
|
|
25
|
+
*/
|
|
26
|
+
export declare const generateCommand: CliCommand;
|
|
6
27
|
//# sourceMappingURL=index.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/commands/generate/index.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/commands/generate/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;GAgBG;AAEH,OAAO,KAAK,EAAE,UAAU,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC;AA+C9D;;GAEG;AACH,wBAAsB,QAAQ,CAAC,OAAO,EAAE,UAAU,EAAE,IAAI,CAAC,EAAE,MAAM,iBAMhE;AAED;;GAEG;AACH,eAAO,MAAM,eAAe,EAAE,UAO7B,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"c15t-mode.d.ts","sourceRoot":"","sources":["../../../../src/commands/generate/options/c15t-mode.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,wBAAwB,CAAC;
|
|
1
|
+
{"version":3,"file":"c15t-mode.d.ts","sourceRoot":"","sources":["../../../../src/commands/generate/options/c15t-mode.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,wBAAwB,CAAC;AAMzD,OAAO,KAAK,EAAE,WAAW,EAAE,UAAU,EAAE,MAAM,SAAS,CAAC;AAIvD;;GAEG;AACH,MAAM,WAAW,cAAe,SAAQ,UAAU;IACjD,UAAU,EAAE,MAAM,GAAG,SAAS,CAAC;IAC/B,YAAY,EAAE,OAAO,CAAC;IACtB,WAAW,CAAC,EAAE,OAAO,CAAC;CACtB;AAED,UAAU,eAAgB,SAAQ,WAAW;IAC5C,OAAO,EAAE,UAAU,CAAC;IACpB,iBAAiB,CAAC,EAAE,MAAM,CAAC;CAC3B;AA8GD;;;;;;;;;GASG;AACH,wBAAsB,aAAa,CAAC,EACnC,OAAO,EACP,OAAO,EACP,iBAAiB,EACjB,YAAY,GACZ,EAAE,eAAe,GAAG,OAAO,CAAC,cAAc,CAAC,CA8D3C"}
|
|
@@ -10,6 +10,7 @@ export interface CustomModeResult extends BaseResult {
|
|
|
10
10
|
interface CustomModeOptions extends BaseOptions {
|
|
11
11
|
context: CliContext;
|
|
12
12
|
spinner: ReturnType<typeof p.spinner>;
|
|
13
|
+
handleCancel?: (value: unknown) => boolean;
|
|
13
14
|
}
|
|
14
15
|
/**
|
|
15
16
|
* Handles the setup process for custom implementation mode
|
|
@@ -17,8 +18,9 @@ interface CustomModeOptions extends BaseOptions {
|
|
|
17
18
|
* @param context - CLI context
|
|
18
19
|
* @param projectRoot - Project root directory
|
|
19
20
|
* @param spinner - Spinner for loading indicators
|
|
21
|
+
* @param handleCancel - Function to handle prompt cancellations
|
|
20
22
|
* @returns Configuration data for the custom mode
|
|
21
23
|
*/
|
|
22
|
-
export declare function setupCustomMode({ context, spinner, }: CustomModeOptions): Promise<CustomModeResult>;
|
|
24
|
+
export declare function setupCustomMode({ context, spinner, handleCancel, }: CustomModeOptions): Promise<CustomModeResult>;
|
|
23
25
|
export {};
|
|
24
26
|
//# sourceMappingURL=custom-mode.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"custom-mode.d.ts","sourceRoot":"","sources":["../../../../src/commands/generate/options/custom-mode.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,KAAK,CAAC,MAAM,gBAAgB,CAAC;AAEzC,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,wBAAwB,CAAC;
|
|
1
|
+
{"version":3,"file":"custom-mode.d.ts","sourceRoot":"","sources":["../../../../src/commands/generate/options/custom-mode.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,KAAK,CAAC,MAAM,gBAAgB,CAAC;AAEzC,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,wBAAwB,CAAC;AAEzD,OAAO,KAAK,EAAE,WAAW,EAAE,UAAU,EAAE,MAAM,SAAS,CAAC;AAIvD;;GAEG;AACH,MAAM,WAAW,gBAAiB,SAAQ,UAAU;IACnD,mBAAmB,EAAE,MAAM,CAAC;CAC5B;AAED,UAAU,iBAAkB,SAAQ,WAAW;IAC9C,OAAO,EAAE,UAAU,CAAC;IACpB,OAAO,EAAE,UAAU,CAAC,OAAO,CAAC,CAAC,OAAO,CAAC,CAAC;IACtC,YAAY,CAAC,EAAE,CAAC,KAAK,EAAE,OAAO,KAAK,OAAO,CAAC;CAC3C;AAED;;;;;;;;GAQG;AACH,wBAAsB,eAAe,CAAC,EACrC,OAAO,EACP,OAAO,EACP,YAAY,GACZ,EAAE,iBAAiB,GAAG,OAAO,CAAC,gBAAgB,CAAC,CAuD/C"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"offline-mode.d.ts","sourceRoot":"","sources":["../../../../src/commands/generate/options/offline-mode.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,CAAC,MAAM,gBAAgB,CAAC;AACzC,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,wBAAwB,CAAC;AAEzD,OAAO,KAAK,EAAE,WAAW,EAAE,UAAU,EAAE,MAAM,SAAS,CAAC;AAIvD;;GAEG;AACH,MAAM,WAAW,iBAAkB,SAAQ,UAAU;IACpD,mBAAmB,EAAE,MAAM,CAAC;CAC5B;AAED,UAAU,kBAAmB,SAAQ,WAAW;IAC/C,OAAO,EAAE,UAAU,CAAC;IACpB,OAAO,EAAE,UAAU,CAAC,OAAO,CAAC,CAAC,OAAO,CAAC,CAAC;IACtC,YAAY,CAAC,EAAE,CAAC,KAAK,EAAE,OAAO,KAAK,OAAO,CAAC;CAC3C;AAED;;;;;;;;GAQG;AACH,wBAAsB,gBAAgB,CAAC,EACtC,OAAO,EACP,OAAO,EACP,YAAY,GACZ,EAAE,kBAAkB,GAAG,OAAO,CAAC,iBAAiB,CAAC,
|
|
1
|
+
{"version":3,"file":"offline-mode.d.ts","sourceRoot":"","sources":["../../../../src/commands/generate/options/offline-mode.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,CAAC,MAAM,gBAAgB,CAAC;AACzC,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,wBAAwB,CAAC;AAEzD,OAAO,KAAK,EAAE,WAAW,EAAE,UAAU,EAAE,MAAM,SAAS,CAAC;AAIvD;;GAEG;AACH,MAAM,WAAW,iBAAkB,SAAQ,UAAU;IACpD,mBAAmB,EAAE,MAAM,CAAC;CAC5B;AAED,UAAU,kBAAmB,SAAQ,WAAW;IAC/C,OAAO,EAAE,UAAU,CAAC;IACpB,OAAO,EAAE,UAAU,CAAC,OAAO,CAAC,CAAC,OAAO,CAAC,CAAC;IACtC,YAAY,CAAC,EAAE,CAAC,KAAK,EAAE,OAAO,KAAK,OAAO,CAAC;CAC3C;AAED;;;;;;;;GAQG;AACH,wBAAsB,gBAAgB,CAAC,EACtC,OAAO,EACP,OAAO,EACP,YAAY,GACZ,EAAE,kBAAkB,GAAG,OAAO,CAAC,iBAAiB,CAAC,CA0CjD"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"self-hosted-mode.d.ts","sourceRoot":"","sources":["../../../../src/commands/generate/options/self-hosted-mode.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,CAAC,MAAM,gBAAgB,CAAC;AACpC,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,wBAAwB,CAAC;
|
|
1
|
+
{"version":3,"file":"self-hosted-mode.d.ts","sourceRoot":"","sources":["../../../../src/commands/generate/options/self-hosted-mode.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,CAAC,MAAM,gBAAgB,CAAC;AACpC,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,wBAAwB,CAAC;AAWzD,OAAO,KAAK,EAAE,WAAW,EAAE,UAAU,EAAE,MAAM,SAAS,CAAC;AAIvD,MAAM,WAAW,kBAAmB,SAAQ,UAAU;IACrD,UAAU,EAAE,MAAM,GAAG,SAAS,CAAC;IAC/B,YAAY,EAAE,OAAO,CAAC;IACtB,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,mBAAmB,EAAE,OAAO,CAAC;IAC7B,aAAa,EAAE,OAAO,CAAC;CACvB;AAED,UAAU,mBAAoB,SAAQ,WAAW;IAChD,OAAO,EAAE,UAAU,CAAC;IACpB,OAAO,EAAE,UAAU,CAAC,OAAO,CAAC,CAAC,OAAO,CAAC,CAAC;IACtC,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B,YAAY,CAAC,EAAE,CAAC,KAAK,EAAE,OAAO,KAAK,OAAO,CAAC;CAC3C;AAED,wBAAsB,mBAAmB,CAAC,EACzC,OAAO,EACP,OAAO,EACP,YAAY,GACZ,EAAE,mBAAmB,GAAG,OAAO,CAAC,kBAAkB,CAAC,CA+FnD"}
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Backend options composer
|
|
3
|
+
* Composes backend-related prompts (env file + proxy) for modes with a backend URL
|
|
4
|
+
*/
|
|
5
|
+
import type { CliContext } from '../../../../context/types';
|
|
6
|
+
interface BackendOptionsInput {
|
|
7
|
+
context: CliContext;
|
|
8
|
+
backendURL: string;
|
|
9
|
+
handleCancel?: (value: unknown) => boolean;
|
|
10
|
+
}
|
|
11
|
+
interface BackendOptionsResult {
|
|
12
|
+
useEnvFile: boolean;
|
|
13
|
+
proxyNextjs?: boolean;
|
|
14
|
+
}
|
|
15
|
+
/**
|
|
16
|
+
* Composes backend-related prompts (env file + proxy).
|
|
17
|
+
* Only called for modes that have a backendURL.
|
|
18
|
+
*
|
|
19
|
+
* @param options.context - CLI context
|
|
20
|
+
* @param options.backendURL - The backend URL to configure
|
|
21
|
+
* @param options.handleCancel - Function to handle prompt cancellations
|
|
22
|
+
* @returns Configuration for env file and Next.js proxy
|
|
23
|
+
*/
|
|
24
|
+
export declare function getBackendOptions({ context, backendURL, handleCancel, }: BackendOptionsInput): Promise<BackendOptionsResult>;
|
|
25
|
+
export {};
|
|
26
|
+
//# sourceMappingURL=backend-options.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"backend-options.d.ts","sourceRoot":"","sources":["../../../../../src/commands/generate/options/shared/backend-options.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAGH,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAElD,UAAU,mBAAmB;IAC5B,OAAO,EAAE,UAAU,CAAC;IACpB,UAAU,EAAE,MAAM,CAAC;IACnB,YAAY,CAAC,EAAE,CAAC,KAAK,EAAE,OAAO,KAAK,OAAO,CAAC;CAC3C;AAED,UAAU,oBAAoB;IAC7B,UAAU,EAAE,OAAO,CAAC;IACpB,WAAW,CAAC,EAAE,OAAO,CAAC;CACtB;AAED;;;;;;;;GAQG;AACH,wBAAsB,iBAAiB,CAAC,EACvC,OAAO,EACP,UAAU,EACV,YAAY,GACZ,EAAE,mBAAmB,GAAG,OAAO,CAAC,oBAAoB,CAAC,CA8CrD"}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import type { CliContext } from '../../../../context/types';
|
|
2
|
+
interface GetDevToolsOptionOptions {
|
|
3
|
+
context: CliContext;
|
|
4
|
+
handleCancel?: (value: unknown) => boolean;
|
|
5
|
+
onCancel?: () => void;
|
|
6
|
+
}
|
|
7
|
+
export declare function getDevToolsOption({ context, handleCancel, onCancel, }: GetDevToolsOptionOptions): Promise<boolean>;
|
|
8
|
+
export {};
|
|
9
|
+
//# sourceMappingURL=dev-tools.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"dev-tools.d.ts","sourceRoot":"","sources":["../../../../../src/commands/generate/options/shared/dev-tools.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAElD,UAAU,wBAAwB;IACjC,OAAO,EAAE,UAAU,CAAC;IACpB,YAAY,CAAC,EAAE,CAAC,KAAK,EAAE,OAAO,KAAK,OAAO,CAAC;IAC3C,QAAQ,CAAC,EAAE,MAAM,IAAI,CAAC;CACtB;AAED,wBAAsB,iBAAiB,CAAC,EACvC,OAAO,EACP,YAAY,EACZ,QAAQ,GACR,EAAE,wBAAwB,GAAG,OAAO,CAAC,OAAO,CAAC,CA4C7C"}
|
|
@@ -0,0 +1,44 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Frontend UI options composer
|
|
3
|
+
* Composes all frontend UI-related prompts based on detected framework
|
|
4
|
+
*/
|
|
5
|
+
import type { CliContext } from '../../../../context/types';
|
|
6
|
+
import { type ExpandedTheme, type UIStyle } from '../../prompts';
|
|
7
|
+
interface FrontendUIOptionsInput {
|
|
8
|
+
context: CliContext;
|
|
9
|
+
/**
|
|
10
|
+
* Whether the mode has a backend URL.
|
|
11
|
+
* SSR is only relevant when there's a backend to fetch initial data from.
|
|
12
|
+
*/
|
|
13
|
+
hasBackend?: boolean;
|
|
14
|
+
handleCancel?: (value: unknown) => boolean;
|
|
15
|
+
}
|
|
16
|
+
interface FrontendUIOptionsResult {
|
|
17
|
+
enableSSR?: boolean;
|
|
18
|
+
enableDevTools?: boolean;
|
|
19
|
+
uiStyle?: UIStyle;
|
|
20
|
+
expandedTheme?: ExpandedTheme;
|
|
21
|
+
}
|
|
22
|
+
/**
|
|
23
|
+
* Composes all frontend UI-related prompts based on detected framework:
|
|
24
|
+
*
|
|
25
|
+
* @c15t/nextjs (with backend):
|
|
26
|
+
* - SSR option (fetchInitialData)
|
|
27
|
+
* - UI style (prebuilt vs expanded)
|
|
28
|
+
* - Expanded theme (if expanded selected)
|
|
29
|
+
*
|
|
30
|
+
* @c15t/nextjs (without backend - offline/custom):
|
|
31
|
+
* - UI style (prebuilt vs expanded)
|
|
32
|
+
* - Expanded theme (if expanded selected)
|
|
33
|
+
*
|
|
34
|
+
* @c15t/react:
|
|
35
|
+
* - UI style (prebuilt vs expanded)
|
|
36
|
+
* - Expanded theme (if expanded selected)
|
|
37
|
+
* - DevTools option
|
|
38
|
+
*
|
|
39
|
+
* c15t (core):
|
|
40
|
+
* - DevTools option
|
|
41
|
+
*/
|
|
42
|
+
export declare function getFrontendUIOptions({ context, hasBackend, handleCancel, }: FrontendUIOptionsInput): Promise<FrontendUIOptionsResult>;
|
|
43
|
+
export {};
|
|
44
|
+
//# sourceMappingURL=frontend-ui-options.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"frontend-ui-options.d.ts","sourceRoot":"","sources":["../../../../../src/commands/generate/options/shared/frontend-ui-options.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAClD,OAAO,EACN,KAAK,aAAa,EAGlB,KAAK,OAAO,EACZ,MAAM,eAAe,CAAC;AAIvB,UAAU,sBAAsB;IAC/B,OAAO,EAAE,UAAU,CAAC;IACpB;;;OAGG;IACH,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,YAAY,CAAC,EAAE,CAAC,KAAK,EAAE,OAAO,KAAK,OAAO,CAAC;CAC3C;AAED,UAAU,uBAAuB;IAChC,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,cAAc,CAAC,EAAE,OAAO,CAAC;IACzB,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,aAAa,CAAC,EAAE,aAAa,CAAC;CAC9B;AAED;;;;;;;;;;;;;;;;;;;GAmBG;AACH,wBAAsB,oBAAoB,CAAC,EAC1C,OAAO,EACP,UAAkB,EAClB,YAAY,GACZ,EAAE,sBAAsB,GAAG,OAAO,CAAC,uBAAuB,CAAC,CA6C3D"}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Shared options utilities exports
|
|
3
|
+
*/
|
|
4
|
+
export { getBackendOptions } from './backend-options';
|
|
5
|
+
export { getDevToolsOption } from './dev-tools';
|
|
6
|
+
export { getFrontendUIOptions } from './frontend-ui-options';
|
|
7
|
+
export { getScriptsToAdd } from './scripts';
|
|
8
|
+
export { getSSROption } from './ssr';
|
|
9
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../src/commands/generate/options/shared/index.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EAAE,iBAAiB,EAAE,MAAM,mBAAmB,CAAC;AACtD,OAAO,EAAE,iBAAiB,EAAE,MAAM,aAAa,CAAC;AAChD,OAAO,EAAE,oBAAoB,EAAE,MAAM,uBAAuB,CAAC;AAC7D,OAAO,EAAE,eAAe,EAAE,MAAM,WAAW,CAAC;AAC5C,OAAO,EAAE,YAAY,EAAE,MAAM,OAAO,CAAC"}
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
import type { CliContext } from '../../../../context/types';
|
|
2
|
+
interface GetSSROptionOptions {
|
|
3
|
+
context: CliContext;
|
|
4
|
+
handleCancel?: (value: unknown) => boolean;
|
|
5
|
+
onCancel?: () => void;
|
|
6
|
+
}
|
|
7
|
+
/**
|
|
8
|
+
* Prompts the user to enable SSR data fetching for Next.js App Router.
|
|
9
|
+
*
|
|
10
|
+
* @remarks
|
|
11
|
+
* SSR data fetching uses `fetchInitialData()` which requires Next.js `headers()` API.
|
|
12
|
+
* This is a dynamic API that:
|
|
13
|
+
* - Works in dynamic routes and server components
|
|
14
|
+
* - Forces the route to be dynamically rendered
|
|
15
|
+
* - Is not available during static generation
|
|
16
|
+
*
|
|
17
|
+
* @returns true if SSR should be enabled, false otherwise
|
|
18
|
+
*/
|
|
19
|
+
export declare function getSSROption({ context, handleCancel, onCancel, }: GetSSROptionOptions): Promise<boolean>;
|
|
20
|
+
export {};
|
|
21
|
+
//# sourceMappingURL=ssr.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ssr.d.ts","sourceRoot":"","sources":["../../../../../src/commands/generate/options/shared/ssr.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAElD,UAAU,mBAAmB;IAC5B,OAAO,EAAE,UAAU,CAAC;IACpB,YAAY,CAAC,EAAE,CAAC,KAAK,EAAE,OAAO,KAAK,OAAO,CAAC;IAC3C,QAAQ,CAAC,EAAE,MAAM,IAAI,CAAC;CACtB;AAED;;;;;;;;;;;GAWG;AACH,wBAAsB,YAAY,CAAC,EAClC,OAAO,EACP,YAAY,EACZ,QAAQ,GACR,EAAE,mBAAmB,GAAG,OAAO,CAAC,OAAO,CAAC,CA8CxC"}
|
|
@@ -1,11 +1,17 @@
|
|
|
1
1
|
import type { CliContext } from '../../../../context/types';
|
|
2
|
+
import type { ExpandedTheme, UIStyle } from '../../prompts';
|
|
2
3
|
import type { BaseOptions } from '../types';
|
|
3
4
|
export interface GenerateFilesOptions extends BaseOptions {
|
|
4
5
|
context: CliContext;
|
|
5
|
-
mode: 'c15t' | 'offline' | 'custom';
|
|
6
|
+
mode: 'c15t' | 'self-hosted' | 'offline' | 'custom';
|
|
6
7
|
proxyNextjs?: boolean;
|
|
7
8
|
backendURL?: string;
|
|
8
9
|
useEnvFile?: boolean;
|
|
10
|
+
enableSSR?: boolean;
|
|
11
|
+
enableDevTools?: boolean;
|
|
12
|
+
uiStyle?: UIStyle;
|
|
13
|
+
expandedTheme?: ExpandedTheme;
|
|
14
|
+
selectedScripts?: string[];
|
|
9
15
|
}
|
|
10
16
|
export interface GenerateFilesResult {
|
|
11
17
|
configContent?: string;
|
|
@@ -15,6 +21,8 @@ export interface GenerateFilesResult {
|
|
|
15
21
|
nextConfigUpdated?: boolean;
|
|
16
22
|
nextConfigPath?: string | null;
|
|
17
23
|
nextConfigCreated?: boolean;
|
|
24
|
+
tailwindCssUpdated?: boolean;
|
|
25
|
+
tailwindCssPath?: string | null;
|
|
18
26
|
}
|
|
19
27
|
/**
|
|
20
28
|
* Generates appropriate files based on the package type and mode
|
|
@@ -22,5 +30,5 @@ export interface GenerateFilesResult {
|
|
|
22
30
|
* @param options - Configuration options for file generation
|
|
23
31
|
* @returns Information about generated/updated files
|
|
24
32
|
*/
|
|
25
|
-
export declare function generateFiles({ context, mode, spinner, useEnvFile, proxyNextjs, backendURL, }: GenerateFilesOptions): Promise<GenerateFilesResult>;
|
|
33
|
+
export declare function generateFiles({ context, mode, spinner, useEnvFile, proxyNextjs, backendURL, enableSSR, enableDevTools, uiStyle, expandedTheme, selectedScripts, }: GenerateFilesOptions): Promise<GenerateFilesResult>;
|
|
26
34
|
//# sourceMappingURL=generate-files.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"generate-files.d.ts","sourceRoot":"","sources":["../../../../../src/commands/generate/options/utils/generate-files.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC;
|
|
1
|
+
{"version":3,"file":"generate-files.d.ts","sourceRoot":"","sources":["../../../../../src/commands/generate/options/utils/generate-files.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAElD,OAAO,KAAK,EAAE,aAAa,EAAE,OAAO,EAAE,MAAM,eAAe,CAAC;AAU5D,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,UAAU,CAAC;AAE5C,MAAM,WAAW,oBAAqB,SAAQ,WAAW;IACxD,OAAO,EAAE,UAAU,CAAC;IACpB,IAAI,EAAE,MAAM,GAAG,aAAa,GAAG,SAAS,GAAG,QAAQ,CAAC;IACpD,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,cAAc,CAAC,EAAE,OAAO,CAAC;IACzB,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,aAAa,CAAC,EAAE,aAAa,CAAC;IAC9B,eAAe,CAAC,EAAE,MAAM,EAAE,CAAC;CAC3B;AAED,MAAM,WAAW,mBAAmB;IACnC,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,UAAU,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC3B,aAAa,EAAE,OAAO,CAAC;IACvB,UAAU,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC3B,iBAAiB,CAAC,EAAE,OAAO,CAAC;IAC5B,cAAc,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC/B,iBAAiB,CAAC,EAAE,OAAO,CAAC;IAC5B,kBAAkB,CAAC,EAAE,OAAO,CAAC;IAC7B,eAAe,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;CAChC;AA+PD;;;;;GAKG;AACH,wBAAsB,aAAa,CAAC,EACnC,OAAO,EACP,IAAI,EACJ,OAAO,EACP,UAAU,EACV,WAAW,EACX,UAAU,EACV,SAAS,EACT,cAAc,EACd,OAAO,EACP,aAAa,EACb,eAAe,GACf,EAAE,oBAAoB,GAAG,OAAO,CAAC,mBAAmB,CAAC,CAkGrD"}
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Pre-flight checks for the generate command
|
|
3
|
+
*
|
|
4
|
+
* Validates the project environment before starting generation.
|
|
5
|
+
*/
|
|
6
|
+
import type { CliContext } from '../../context/types';
|
|
7
|
+
/**
|
|
8
|
+
* Pre-flight check result
|
|
9
|
+
*/
|
|
10
|
+
export interface PreflightResult {
|
|
11
|
+
passed: boolean;
|
|
12
|
+
checks: PreflightCheck[];
|
|
13
|
+
}
|
|
14
|
+
/**
|
|
15
|
+
* Individual check result
|
|
16
|
+
*/
|
|
17
|
+
export interface PreflightCheck {
|
|
18
|
+
name: string;
|
|
19
|
+
status: 'pass' | 'warn' | 'fail';
|
|
20
|
+
message: string;
|
|
21
|
+
hint?: string;
|
|
22
|
+
}
|
|
23
|
+
/**
|
|
24
|
+
* Run all pre-flight checks
|
|
25
|
+
*/
|
|
26
|
+
export declare function runPreflightChecks(context: CliContext): Promise<PreflightResult>;
|
|
27
|
+
/**
|
|
28
|
+
* Display pre-flight failure message
|
|
29
|
+
*/
|
|
30
|
+
export declare function displayPreflightFailure(context: CliContext, result: PreflightResult): void;
|
|
31
|
+
//# sourceMappingURL=preflight.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"preflight.d.ts","sourceRoot":"","sources":["../../../src/commands/generate/preflight.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAIH,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAElD;;GAEG;AACH,MAAM,WAAW,eAAe;IAC/B,MAAM,EAAE,OAAO,CAAC;IAChB,MAAM,EAAE,cAAc,EAAE,CAAC;CACzB;AAED;;GAEG;AACH,MAAM,WAAW,cAAc;IAC9B,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,EAAE,MAAM,GAAG,MAAM,GAAG,MAAM,CAAC;IACjC,OAAO,EAAE,MAAM,CAAC;IAChB,IAAI,CAAC,EAAE,MAAM,CAAC;CACd;AAeD;;GAEG;AACH,wBAAsB,kBAAkB,CACvC,OAAO,EAAE,UAAU,GACjB,OAAO,CAAC,eAAe,CAAC,CA+E1B;AAkDD;;GAEG;AACH,wBAAgB,uBAAuB,CACtC,OAAO,EAAE,UAAU,EACnB,MAAM,EAAE,eAAe,GACrB,IAAI,CAgBN"}
|