@basictech/cli 0.0.22 → 0.0.24

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 (112) hide show
  1. package/dist/commands/account.d.ts +2 -0
  2. package/dist/commands/account.d.ts.map +1 -0
  3. package/dist/commands/account.js +18 -0
  4. package/dist/commands/account.js.map +1 -0
  5. package/dist/commands/debug.d.ts +2 -0
  6. package/dist/commands/debug.d.ts.map +1 -0
  7. package/dist/commands/debug.js +6 -0
  8. package/dist/commands/debug.js.map +1 -0
  9. package/dist/commands/init.d.ts +10 -0
  10. package/dist/commands/init.d.ts.map +1 -0
  11. package/dist/commands/init.js +111 -0
  12. package/dist/commands/init.js.map +1 -0
  13. package/dist/commands/login.d.ts +2 -0
  14. package/dist/commands/login.d.ts.map +1 -0
  15. package/dist/commands/login.js +20 -0
  16. package/dist/commands/login.js.map +1 -0
  17. package/dist/commands/logout.d.ts +2 -0
  18. package/dist/commands/logout.d.ts.map +1 -0
  19. package/dist/commands/logout.js +7 -0
  20. package/dist/commands/logout.js.map +1 -0
  21. package/dist/commands/projects.d.ts +2 -0
  22. package/dist/commands/projects.d.ts.map +1 -0
  23. package/dist/commands/projects.js +90 -0
  24. package/dist/commands/projects.js.map +1 -0
  25. package/dist/commands/pull.d.ts +2 -0
  26. package/dist/commands/pull.d.ts.map +1 -0
  27. package/dist/commands/pull.js +366 -0
  28. package/dist/commands/pull.js.map +1 -0
  29. package/dist/commands/push.d.ts +2 -0
  30. package/dist/commands/push.d.ts.map +1 -0
  31. package/dist/commands/push.js +403 -0
  32. package/dist/commands/push.js.map +1 -0
  33. package/dist/commands/status.d.ts +2 -0
  34. package/dist/commands/status.d.ts.map +1 -0
  35. package/dist/commands/status.js +385 -0
  36. package/dist/commands/status.js.map +1 -0
  37. package/dist/commands/teams.d.ts +2 -0
  38. package/dist/commands/teams.d.ts.map +1 -0
  39. package/dist/commands/teams.js +164 -0
  40. package/dist/commands/teams.js.map +1 -0
  41. package/dist/commands/update.d.ts +2 -0
  42. package/dist/commands/update.d.ts.map +1 -0
  43. package/dist/commands/update.js +76 -0
  44. package/dist/commands/update.js.map +1 -0
  45. package/dist/commands/version.d.ts +2 -0
  46. package/dist/commands/version.d.ts.map +1 -0
  47. package/dist/commands/version.js +21 -0
  48. package/dist/commands/version.js.map +1 -0
  49. package/dist/components/Form.d.ts +15 -0
  50. package/dist/components/Form.d.ts.map +1 -0
  51. package/dist/components/Form.js +69 -0
  52. package/dist/components/Form.js.map +1 -0
  53. package/dist/components/InitForm.d.ts +17 -0
  54. package/dist/components/InitForm.d.ts.map +1 -0
  55. package/dist/components/InitForm.js +358 -0
  56. package/dist/components/InitForm.js.map +1 -0
  57. package/dist/components/Spinner.d.ts +7 -0
  58. package/dist/components/Spinner.d.ts.map +1 -0
  59. package/dist/components/Spinner.js +15 -0
  60. package/dist/components/Spinner.js.map +1 -0
  61. package/dist/components/Table.d.ts +24 -0
  62. package/dist/components/Table.d.ts.map +1 -0
  63. package/dist/components/Table.js +69 -0
  64. package/dist/components/Table.js.map +1 -0
  65. package/dist/components/TeamForm.d.ts +10 -0
  66. package/dist/components/TeamForm.d.ts.map +1 -0
  67. package/dist/components/TeamForm.js +193 -0
  68. package/dist/components/TeamForm.js.map +1 -0
  69. package/dist/index.d.ts +3 -0
  70. package/dist/index.d.ts.map +1 -0
  71. package/dist/index.js +243 -0
  72. package/dist/index.js.map +1 -0
  73. package/dist/lib/api.d.ts +23 -0
  74. package/dist/lib/api.d.ts.map +1 -0
  75. package/dist/lib/api.js +133 -0
  76. package/dist/lib/api.js.map +1 -0
  77. package/dist/lib/auth.d.ts +17 -0
  78. package/dist/lib/auth.d.ts.map +1 -0
  79. package/dist/lib/auth.js +288 -0
  80. package/dist/lib/auth.js.map +1 -0
  81. package/dist/lib/config-templates.d.ts +9 -0
  82. package/dist/lib/config-templates.d.ts.map +1 -0
  83. package/dist/lib/config-templates.js +117 -0
  84. package/dist/lib/config-templates.js.map +1 -0
  85. package/dist/lib/constants.d.ts +18 -0
  86. package/dist/lib/constants.d.ts.map +1 -0
  87. package/dist/lib/constants.js +32 -0
  88. package/dist/lib/constants.js.map +1 -0
  89. package/dist/lib/errors.d.ts +21 -0
  90. package/dist/lib/errors.d.ts.map +1 -0
  91. package/dist/lib/errors.js +75 -0
  92. package/dist/lib/errors.js.map +1 -0
  93. package/dist/lib/platform.d.ts +11 -0
  94. package/dist/lib/platform.d.ts.map +1 -0
  95. package/dist/lib/platform.js +133 -0
  96. package/dist/lib/platform.js.map +1 -0
  97. package/dist/lib/schema.d.ts +24 -0
  98. package/dist/lib/schema.d.ts.map +1 -0
  99. package/dist/lib/schema.js +162 -0
  100. package/dist/lib/schema.js.map +1 -0
  101. package/dist/lib/types.d.ts +111 -0
  102. package/dist/lib/types.d.ts.map +1 -0
  103. package/dist/lib/types.js +2 -0
  104. package/dist/lib/types.js.map +1 -0
  105. package/dist/lib/version.d.ts +2 -0
  106. package/dist/lib/version.d.ts.map +1 -0
  107. package/dist/lib/version.js +22 -0
  108. package/dist/lib/version.js.map +1 -0
  109. package/package.json +63 -12
  110. package/readme.md +92 -35
  111. package/bin/readme.md +0 -61
  112. package/index.js +0 -108
@@ -0,0 +1,76 @@
1
+ import { spawn } from 'child_process';
2
+ import { getVersion } from '../lib/version';
3
+ import { ApiClient } from '../lib/api';
4
+ import { isOnline } from '../lib/platform';
5
+ import { MESSAGES } from '../lib/constants';
6
+ export async function UpdateCommand() {
7
+ try {
8
+ // Check if online
9
+ if (!(await isOnline())) {
10
+ console.error(MESSAGES.OFFLINE);
11
+ process.exit(1);
12
+ }
13
+ const currentVersion = getVersion();
14
+ console.log(`Current version: ${currentVersion}`);
15
+ console.log('Checking for updates...');
16
+ const apiClient = ApiClient.getInstance();
17
+ const latestVersion = await apiClient.checkLatestRelease();
18
+ if (latestVersion === currentVersion) {
19
+ console.log('✅ You are already running the latest version!');
20
+ return;
21
+ }
22
+ console.log(`🚀 New version available: ${latestVersion}`);
23
+ console.log('Updating...');
24
+ // Use npm to update the package
25
+ await updatePackage();
26
+ }
27
+ catch (error) {
28
+ console.error('❌ Error checking for updates:', error instanceof Error ? error.message : 'Unknown error');
29
+ console.log('\n💡 You can try updating manually:');
30
+ console.log(' npm update -g @basictech/cli');
31
+ console.log('\n📚 Or visit: https://docs.basic.tech');
32
+ process.exit(1);
33
+ }
34
+ }
35
+ async function updatePackage() {
36
+ return new Promise((resolve, reject) => {
37
+ const updateProcess = spawn('npm', ['update', '-g', '@basictech/cli'], {
38
+ stdio: 'pipe',
39
+ shell: true
40
+ });
41
+ let output = '';
42
+ let errorOutput = '';
43
+ updateProcess.stdout?.on('data', (data) => {
44
+ output += data.toString();
45
+ });
46
+ updateProcess.stderr?.on('data', (data) => {
47
+ errorOutput += data.toString();
48
+ });
49
+ updateProcess.on('close', (code) => {
50
+ if (code === 0) {
51
+ console.log('✅ Update successful!');
52
+ console.log('\n🎉 Basic CLI has been updated to the latest version.');
53
+ console.log('💡 Run `basic version` to verify the update.');
54
+ resolve();
55
+ }
56
+ else {
57
+ console.error('❌ Error updating CLI');
58
+ console.log('\n💡 Please try updating manually:');
59
+ console.log(' npm update -g @basictech/cli');
60
+ console.log('\n📚 Or visit: https://docs.basic.tech');
61
+ if (errorOutput) {
62
+ console.log('\nError details:', errorOutput);
63
+ }
64
+ reject(new Error(`Update process exited with code ${code}`));
65
+ }
66
+ });
67
+ updateProcess.on('error', (error) => {
68
+ console.error('❌ Failed to start update process');
69
+ console.log('\n💡 Please try updating manually:');
70
+ console.log(' npm update -g @basictech/cli');
71
+ console.log('\n📚 Or visit: https://docs.basic.tech');
72
+ reject(error);
73
+ });
74
+ });
75
+ }
76
+ //# sourceMappingURL=update.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"update.js","sourceRoot":"","sources":["../../src/commands/update.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,2 @@
1
+ export declare function VersionCommand(): Promise<void>;
2
+ //# sourceMappingURL=version.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"version.d.ts","sourceRoot":"","sources":["../../src/commands/version.ts"],"names":[],"mappings":"AAGA,wBAAsB,cAAc,IAAI,OAAO,CAAC,IAAI,CAAC,CAiBpD"}
@@ -0,0 +1,21 @@
1
+ import { getVersion } from '../lib/version';
2
+ import { ApiClient } from '../lib/api';
3
+ export async function VersionCommand() {
4
+ const currentVersion = getVersion();
5
+ console.log(`basic-cli version ${currentVersion}`);
6
+ try {
7
+ const apiClient = ApiClient.getInstance();
8
+ const latestVersion = await apiClient.checkLatestRelease();
9
+ if (latestVersion !== currentVersion) {
10
+ console.log(`New version available: ${latestVersion}`);
11
+ console.log('\nPlease update with \'basic update\'');
12
+ }
13
+ else {
14
+ console.log('You are running the latest version!');
15
+ }
16
+ }
17
+ catch (error) {
18
+ console.log('\nOopsy - could not check if new version is available.');
19
+ }
20
+ }
21
+ //# sourceMappingURL=version.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"version.js","sourceRoot":"","sources":["../../src/commands/version.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,gBAAgB,CAAC;AAC5C,OAAO,EAAE,SAAS,EAAE,MAAM,YAAY,CAAC;AAEvC,MAAM,CAAC,KAAK,UAAU,cAAc;IAClC,MAAM,cAAc,GAAG,UAAU,EAAE,CAAC;IACpC,OAAO,CAAC,GAAG,CAAC,qBAAqB,cAAc,EAAE,CAAC,CAAC;IAEnD,IAAI,CAAC;QACH,MAAM,SAAS,GAAG,SAAS,CAAC,WAAW,EAAE,CAAC;QAC1C,MAAM,aAAa,GAAG,MAAM,SAAS,CAAC,kBAAkB,EAAE,CAAC;QAE3D,IAAI,aAAa,KAAK,cAAc,EAAE,CAAC;YACrC,OAAO,CAAC,GAAG,CAAC,0BAA0B,aAAa,EAAE,CAAC,CAAC;YACvD,OAAO,CAAC,GAAG,CAAC,uCAAuC,CAAC,CAAC;QACvD,CAAC;aAAM,CAAC;YACN,OAAO,CAAC,GAAG,CAAC,qCAAqC,CAAC,CAAC;QACrD,CAAC;IACH,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,OAAO,CAAC,GAAG,CAAC,wDAAwD,CAAC,CAAC;IACxE,CAAC;AACH,CAAC"}
@@ -0,0 +1,15 @@
1
+ export interface FormField {
2
+ name: string;
3
+ label: string;
4
+ type: 'text';
5
+ required?: boolean;
6
+ placeholder?: string;
7
+ }
8
+ export interface FormProps {
9
+ title: string;
10
+ fields: FormField[];
11
+ onSubmit: (data: Record<string, string>) => void | Promise<void>;
12
+ onCancel: () => void;
13
+ }
14
+ export declare function Form({ title, fields, onSubmit, onCancel }: FormProps): import("react/jsx-runtime").JSX.Element;
15
+ //# sourceMappingURL=Form.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Form.d.ts","sourceRoot":"","sources":["../../src/components/Form.tsx"],"names":[],"mappings":"AAGA,MAAM,WAAW,SAAS;IACxB,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,MAAM,CAAC;IACd,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB;AAED,MAAM,WAAW,SAAS;IACxB,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,SAAS,EAAE,CAAC;IACpB,QAAQ,EAAE,CAAC,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,KAAK,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IACjE,QAAQ,EAAE,MAAM,IAAI,CAAC;CACtB;AAED,wBAAgB,IAAI,CAAC,EAAE,KAAK,EAAE,MAAM,EAAE,QAAQ,EAAE,QAAQ,EAAE,EAAE,SAAS,2CAgHpE"}
@@ -0,0 +1,69 @@
1
+ import { jsx as _jsx, jsxs as _jsxs, Fragment as _Fragment } from "react/jsx-runtime";
2
+ import { useState } from 'react';
3
+ import { Box, Text, useInput } from 'ink';
4
+ export function Form({ title, fields, onSubmit, onCancel }) {
5
+ const [currentFieldIndex, setCurrentFieldIndex] = useState(0);
6
+ const [formData, setFormData] = useState({});
7
+ const [errors, setErrors] = useState({});
8
+ const currentField = fields[currentFieldIndex];
9
+ const currentValue = formData[currentField.name] || '';
10
+ useInput((input, key) => {
11
+ if (key.escape) {
12
+ onCancel();
13
+ return;
14
+ }
15
+ if (key.return) {
16
+ // Validate current field
17
+ if (currentField.required && !currentValue.trim()) {
18
+ setErrors(prev => ({
19
+ ...prev,
20
+ [currentField.name]: `${currentField.label} is required`
21
+ }));
22
+ return;
23
+ }
24
+ // Clear error for this field
25
+ setErrors(prev => {
26
+ const newErrors = { ...prev };
27
+ delete newErrors[currentField.name];
28
+ return newErrors;
29
+ });
30
+ // Move to next field or submit
31
+ if (currentFieldIndex < fields.length - 1) {
32
+ setCurrentFieldIndex(prev => prev + 1);
33
+ }
34
+ else {
35
+ // All fields completed, submit form
36
+ const result = onSubmit(formData);
37
+ // Handle both sync and async onSubmit
38
+ if (result instanceof Promise) {
39
+ result.catch(console.error);
40
+ }
41
+ }
42
+ return;
43
+ }
44
+ if (key.backspace || key.delete) {
45
+ setFormData(prev => ({
46
+ ...prev,
47
+ [currentField.name]: currentValue.slice(0, -1)
48
+ }));
49
+ return;
50
+ }
51
+ // Add character to current field
52
+ if (input && input.length === 1) {
53
+ setFormData(prev => ({
54
+ ...prev,
55
+ [currentField.name]: currentValue + input
56
+ }));
57
+ }
58
+ });
59
+ return (_jsxs(Box, { flexDirection: "column", padding: 1, children: [_jsx(Box, { marginBottom: 2, children: _jsx(Text, { bold: true, color: "blue", children: title }) }), fields.map((field, index) => {
60
+ const isActive = index === currentFieldIndex;
61
+ const value = formData[field.name] || '';
62
+ const error = errors[field.name];
63
+ const isCompleted = index < currentFieldIndex || (index === currentFieldIndex && value.trim());
64
+ return (_jsxs(Box, { flexDirection: "column", marginBottom: 1, children: [_jsx(Box, { children: _jsxs(Text, { color: isCompleted ? 'green' : isActive ? 'blue' : 'gray', children: [isCompleted ? '✓' : isActive ? '>' : ' ', " ", field.label, ":"] }) }), _jsx(Box, { marginLeft: 2, children: _jsx(Text, { children: isActive ? (_jsxs(_Fragment, { children: [value, _jsx(Text, { backgroundColor: "white", color: "black", children: "\u2588" })] })) : (value || (field.placeholder && index > currentFieldIndex ? `(${field.placeholder})` : '')) }) }), error && (_jsx(Box, { marginLeft: 2, marginTop: 0, children: _jsxs(Text, { color: "red", children: ["Error: ", error] }) }))] }, field.name));
65
+ }), _jsx(Box, { marginTop: 2, children: _jsx(Text, { color: "gray", children: currentFieldIndex < fields.length - 1
66
+ ? 'Enter to continue • esc to cancel'
67
+ : 'Enter to submit • esc to cancel' }) })] }));
68
+ }
69
+ //# sourceMappingURL=Form.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Form.js","sourceRoot":"","sources":["../../src/components/Form.tsx"],"names":[],"mappings":"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"}
@@ -0,0 +1,17 @@
1
+ import type { ConfigTemplate } from '../lib/types';
2
+ export interface InitFormProps {
3
+ onSuccess: (result: {
4
+ projectId: string;
5
+ projectName: string;
6
+ configPath: string | null;
7
+ }) => void;
8
+ onCancel: () => void;
9
+ initialData?: {
10
+ source?: 'new' | 'existing';
11
+ projectName?: string;
12
+ configTemplate?: ConfigTemplate;
13
+ projectId?: string;
14
+ };
15
+ }
16
+ export declare function InitForm({ onSuccess, onCancel, initialData }: InitFormProps): import("react/jsx-runtime").JSX.Element;
17
+ //# sourceMappingURL=InitForm.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"InitForm.d.ts","sourceRoot":"","sources":["../../src/components/InitForm.tsx"],"names":[],"mappings":"AAQA,OAAO,KAAK,EAEV,cAAc,EAKf,MAAM,cAAc,CAAC;AAEtB,MAAM,WAAW,aAAa;IAC5B,SAAS,EAAE,CAAC,MAAM,EAAE;QAAE,SAAS,EAAE,MAAM,CAAC;QAAC,WAAW,EAAE,MAAM,CAAC;QAAC,UAAU,EAAE,MAAM,GAAG,IAAI,CAAA;KAAE,KAAK,IAAI,CAAC;IACnG,QAAQ,EAAE,MAAM,IAAI,CAAC;IACrB,WAAW,CAAC,EAAE;QACZ,MAAM,CAAC,EAAE,KAAK,GAAG,UAAU,CAAC;QAC5B,WAAW,CAAC,EAAE,MAAM,CAAC;QACrB,cAAc,CAAC,EAAE,cAAc,CAAC;QAChC,SAAS,CAAC,EAAE,MAAM,CAAC;KACpB,CAAC;CACH;AAED,wBAAgB,QAAQ,CAAC,EAAE,SAAS,EAAE,QAAQ,EAAE,WAAW,EAAE,EAAE,aAAa,2CA+gB3E"}
@@ -0,0 +1,358 @@
1
+ import { jsx as _jsx, jsxs as _jsxs, Fragment as _Fragment } from "react/jsx-runtime";
2
+ import { useState, useEffect } from 'react';
3
+ import { Box, Text, useInput } from 'ink';
4
+ import { ApiClient } from '../lib/api';
5
+ import { generateSlug } from '../lib/platform';
6
+ import { CONFIG_TEMPLATES } from '../lib/config-templates';
7
+ import { Spinner } from './Spinner';
8
+ import { TeamForm } from './TeamForm';
9
+ export function InitForm({ onSuccess, onCancel, initialData }) {
10
+ const [state, setState] = useState({
11
+ step: initialData?.source ? (initialData.source === 'new' ? 'project-details' : 'existing-selection') : 'source',
12
+ source: initialData?.source || null,
13
+ projectName: initialData?.projectName || '',
14
+ projectSlug: initialData?.projectName ? generateSlug(initialData.projectName) : '',
15
+ selectedTeamId: null,
16
+ selectedProjectId: initialData?.projectId || null,
17
+ configTemplate: initialData?.configTemplate || null,
18
+ availableTeams: [],
19
+ availableProjects: [],
20
+ isLoading: false,
21
+ error: null
22
+ });
23
+ const [selectedOptionIndex, setSelectedOptionIndex] = useState(0);
24
+ const [showTeamForm, setShowTeamForm] = useState(false);
25
+ // Load initial data
26
+ useEffect(() => {
27
+ async function loadData() {
28
+ setState(prev => ({ ...prev, isLoading: true, error: null }));
29
+ try {
30
+ const apiClient = ApiClient.getInstance();
31
+ const [teams, projects] = await Promise.all([
32
+ apiClient.getTeams(),
33
+ apiClient.getProjects()
34
+ ]);
35
+ setState(prev => ({
36
+ ...prev,
37
+ availableTeams: teams,
38
+ availableProjects: projects,
39
+ isLoading: false,
40
+ selectedTeamId: teams.length > 0 ? teams[0].id : null
41
+ }));
42
+ }
43
+ catch (error) {
44
+ setState(prev => ({
45
+ ...prev,
46
+ isLoading: false,
47
+ error: error instanceof Error ? error.message : 'Failed to load data'
48
+ }));
49
+ }
50
+ }
51
+ loadData();
52
+ }, []);
53
+ // Auto-generate slug when project name changes
54
+ useEffect(() => {
55
+ if (state.projectName.trim()) {
56
+ const newSlug = generateSlug(state.projectName);
57
+ setState(prev => ({ ...prev, projectSlug: newSlug }));
58
+ }
59
+ }, [state.projectName]);
60
+ useInput((input, key) => {
61
+ if (showTeamForm) {
62
+ return; // Let TeamForm handle input
63
+ }
64
+ if (key.escape) {
65
+ if (state.step === 'source') {
66
+ onCancel();
67
+ }
68
+ else {
69
+ // Go back to previous step
70
+ goToPreviousStep();
71
+ }
72
+ return;
73
+ }
74
+ if (state.step === 'project-details') {
75
+ handleProjectDetailsInput(input, key);
76
+ }
77
+ else if (state.step === 'source' || state.step === 'team-selection' || state.step === 'existing-selection' || state.step === 'config-template' || state.step === 'confirmation') {
78
+ handleSelectionInput(input, key);
79
+ }
80
+ });
81
+ const handleProjectDetailsInput = (input, key) => {
82
+ if (key.return) {
83
+ if (state.projectName.trim()) {
84
+ setState(prev => ({ ...prev, step: 'team-selection' }));
85
+ setSelectedOptionIndex(0);
86
+ }
87
+ return;
88
+ }
89
+ if (key.backspace || key.delete) {
90
+ setState(prev => ({
91
+ ...prev,
92
+ projectName: prev.projectName.slice(0, -1)
93
+ }));
94
+ return;
95
+ }
96
+ if (input && input.length === 1) {
97
+ setState(prev => ({
98
+ ...prev,
99
+ projectName: prev.projectName + input
100
+ }));
101
+ }
102
+ };
103
+ const handleSelectionInput = (input, key) => {
104
+ const options = getOptionsForCurrentStep();
105
+ if (key.upArrow) {
106
+ setSelectedOptionIndex(prev => prev > 0 ? prev - 1 : options.length - 1);
107
+ return;
108
+ }
109
+ if (key.downArrow) {
110
+ setSelectedOptionIndex(prev => prev < options.length - 1 ? prev + 1 : 0);
111
+ return;
112
+ }
113
+ if (key.return) {
114
+ handleOptionSelection();
115
+ }
116
+ };
117
+ const getOptionsForCurrentStep = () => {
118
+ switch (state.step) {
119
+ case 'source':
120
+ return [
121
+ { label: 'Create new project', value: 'new' },
122
+ { label: 'Import existing project', value: 'existing' }
123
+ ];
124
+ case 'team-selection':
125
+ const teamOptions = state.availableTeams.map(team => ({
126
+ label: `${team.name} (${team.slug})`,
127
+ value: team.id
128
+ }));
129
+ teamOptions.push({ label: 'Create new team...', value: 'new' });
130
+ return teamOptions;
131
+ case 'existing-selection':
132
+ return state.availableProjects.map(project => ({
133
+ label: `${project.name} (${project.team_name || 'Unknown team'})`,
134
+ value: project.id
135
+ }));
136
+ case 'config-template':
137
+ return Object.entries(CONFIG_TEMPLATES).map(([key, template]) => ({
138
+ label: `${template.name} - ${template.description}`,
139
+ value: key
140
+ }));
141
+ case 'confirmation':
142
+ return [
143
+ {
144
+ label: state.source === 'new' ? 'Yes, create project' : 'Yes, import project',
145
+ value: 'confirm'
146
+ },
147
+ { label: 'No, go back', value: 'back' }
148
+ ];
149
+ default:
150
+ return [];
151
+ }
152
+ };
153
+ const handleOptionSelection = () => {
154
+ const options = getOptionsForCurrentStep();
155
+ const selectedOption = options[selectedOptionIndex];
156
+ switch (state.step) {
157
+ case 'source':
158
+ setState(prev => ({
159
+ ...prev,
160
+ source: selectedOption.value,
161
+ step: selectedOption.value === 'new' ? 'project-details' : 'existing-selection'
162
+ }));
163
+ setSelectedOptionIndex(0);
164
+ break;
165
+ case 'team-selection':
166
+ if (selectedOption.value === 'new') {
167
+ setShowTeamForm(true);
168
+ }
169
+ else {
170
+ setState(prev => ({
171
+ ...prev,
172
+ selectedTeamId: selectedOption.value,
173
+ step: 'config-template'
174
+ }));
175
+ setSelectedOptionIndex(0);
176
+ }
177
+ break;
178
+ case 'existing-selection':
179
+ setState(prev => ({
180
+ ...prev,
181
+ selectedProjectId: selectedOption.value,
182
+ step: 'config-template'
183
+ }));
184
+ setSelectedOptionIndex(0);
185
+ break;
186
+ case 'config-template':
187
+ setState(prev => ({
188
+ ...prev,
189
+ configTemplate: selectedOption.value,
190
+ step: 'confirmation'
191
+ }));
192
+ setSelectedOptionIndex(0);
193
+ break;
194
+ case 'confirmation':
195
+ if (selectedOption.value === 'confirm') {
196
+ handleSubmit();
197
+ }
198
+ else {
199
+ goToPreviousStep();
200
+ }
201
+ break;
202
+ }
203
+ };
204
+ const goToPreviousStep = () => {
205
+ switch (state.step) {
206
+ case 'project-details':
207
+ setState(prev => ({ ...prev, step: 'source' }));
208
+ break;
209
+ case 'team-selection':
210
+ setState(prev => ({ ...prev, step: 'project-details' }));
211
+ break;
212
+ case 'existing-selection':
213
+ setState(prev => ({ ...prev, step: 'source' }));
214
+ break;
215
+ case 'config-template':
216
+ setState(prev => ({
217
+ ...prev,
218
+ step: state.source === 'new' ? 'team-selection' : 'existing-selection'
219
+ }));
220
+ break;
221
+ case 'confirmation':
222
+ setState(prev => ({ ...prev, step: 'config-template' }));
223
+ break;
224
+ }
225
+ setSelectedOptionIndex(0);
226
+ };
227
+ const handleTeamCreated = async (teamData) => {
228
+ setState(prev => ({ ...prev, isLoading: true }));
229
+ try {
230
+ const apiClient = ApiClient.getInstance();
231
+ const newTeam = await apiClient.createTeam(teamData.teamName, teamData.teamSlug);
232
+ setState(prev => ({
233
+ ...prev,
234
+ availableTeams: [...prev.availableTeams, newTeam],
235
+ selectedTeamId: newTeam.id,
236
+ step: 'config-template',
237
+ isLoading: false
238
+ }));
239
+ setShowTeamForm(false);
240
+ setSelectedOptionIndex(0);
241
+ }
242
+ catch (error) {
243
+ setState(prev => ({
244
+ ...prev,
245
+ isLoading: false,
246
+ error: error instanceof Error ? error.message : 'Failed to create team'
247
+ }));
248
+ }
249
+ };
250
+ const handleSubmit = async () => {
251
+ setState(prev => ({ ...prev, isLoading: true, error: null }));
252
+ try {
253
+ const apiClient = ApiClient.getInstance();
254
+ let projectId;
255
+ let projectName;
256
+ if (state.source === 'new') {
257
+ if (!state.selectedTeamId || !state.configTemplate) {
258
+ throw new Error('Missing required data for project creation');
259
+ }
260
+ const project = await apiClient.createProjectWithTeam(state.projectName, state.projectSlug, state.selectedTeamId);
261
+ projectId = project.id;
262
+ projectName = project.name;
263
+ }
264
+ else {
265
+ if (!state.selectedProjectId) {
266
+ throw new Error('No project selected');
267
+ }
268
+ const project = await apiClient.getProject(state.selectedProjectId);
269
+ projectId = project.id;
270
+ projectName = project.name;
271
+ }
272
+ // Create config file
273
+ let configPath = null;
274
+ if (state.configTemplate && state.configTemplate !== 'none') {
275
+ const { createConfigFile } = await import('../lib/config-templates');
276
+ configPath = await createConfigFile(state.configTemplate, projectId, projectName);
277
+ // After creating the config file, try to pull the latest schema if it exists
278
+ try {
279
+ const remoteSchema = await apiClient.getProjectSchema(projectId);
280
+ // Check if remote schema exists and is different from the default
281
+ if (remoteSchema && remoteSchema.version > 0) {
282
+ // Update the config file with the remote schema
283
+ const { saveSchemaToConfig } = await import('../lib/schema');
284
+ await saveSchemaToConfig(remoteSchema);
285
+ }
286
+ }
287
+ catch (error) {
288
+ // If fetching/updating schema fails, we don't want to fail the entire init
289
+ // Just log the error and continue - the config file was still created successfully
290
+ console.warn('Failed to pull latest schema during init:', error);
291
+ }
292
+ }
293
+ onSuccess({ projectId, projectName, configPath });
294
+ }
295
+ catch (error) {
296
+ setState(prev => ({
297
+ ...prev,
298
+ isLoading: false,
299
+ error: error instanceof Error ? error.message : 'Failed to create project'
300
+ }));
301
+ }
302
+ };
303
+ if (showTeamForm) {
304
+ return (_jsx(TeamForm, { title: "Create New Team", onSubmit: handleTeamCreated, onCancel: () => setShowTeamForm(false) }));
305
+ }
306
+ if (state.isLoading) {
307
+ return _jsx(Spinner, { text: "Loading..." });
308
+ }
309
+ if (state.error) {
310
+ return (_jsxs(Box, { flexDirection: "column", children: [_jsxs(Text, { color: "red", children: ["Error: ", state.error] }), _jsx(Text, { color: "gray", children: "Press Esc to go back" })] }));
311
+ }
312
+ return (_jsx(Box, { flexDirection: "column", padding: 1, children: renderCurrentStep() }));
313
+ function renderCurrentStep() {
314
+ const stepNumber = getStepNumber();
315
+ const totalSteps = getTotalSteps();
316
+ switch (state.step) {
317
+ case 'source':
318
+ return (_jsxs(_Fragment, { children: [_jsxs(Text, { bold: true, color: "blue", children: ["Project Setup (", stepNumber, "/", totalSteps, ")"] }), _jsx(Box, { marginTop: 1, marginBottom: 2, children: _jsx(Text, { children: "How would you like to proceed?" }) }), renderOptions(), _jsx(Box, { marginTop: 2, children: _jsx(Text, { color: "gray", children: "\u2191/\u2193 select \u2022 enter to continue \u2022 esc to cancel" }) })] }));
319
+ case 'project-details':
320
+ return (_jsxs(_Fragment, { children: [_jsxs(Text, { bold: true, color: "blue", children: ["Create New Project (", stepNumber, "/", totalSteps, ")"] }), _jsx(Box, { marginTop: 1, marginBottom: 1, children: _jsxs(Text, { color: "blue", children: ['>', " Project Name:"] }) }), _jsx(Box, { marginLeft: 2, marginBottom: 1, children: _jsxs(Text, { children: [state.projectName, _jsx(Text, { backgroundColor: "white", color: "black", children: "\u2588" })] }) }), state.projectSlug && (_jsxs(Box, { marginBottom: 1, children: [_jsx(Box, { children: _jsx(Text, { color: "gray", children: "\u2713 Project Slug (auto-generated):" }) }), _jsx(Box, { marginLeft: 2, children: _jsx(Text, { children: state.projectSlug }) })] })), _jsx(Box, { marginTop: 2, children: _jsx(Text, { color: "gray", children: state.projectName.trim()
321
+ ? 'Enter to continue • esc to go back'
322
+ : 'Type project name • esc to go back' }) })] }));
323
+ case 'team-selection':
324
+ return (_jsxs(_Fragment, { children: [_jsxs(Text, { bold: true, color: "blue", children: ["Create New Project (", stepNumber, "/", totalSteps, ")"] }), _jsxs(Box, { marginTop: 1, children: [_jsxs(Text, { color: "gray", children: ["\u2713 Project Name: ", state.projectName] }), _jsxs(Text, { color: "gray", children: ["\u2713 Project Slug: ", state.projectSlug] })] }), _jsx(Box, { marginTop: 1, marginBottom: 2, children: _jsx(Text, { children: "Select Team:" }) }), renderOptions(), _jsx(Box, { marginTop: 2, children: _jsx(Text, { color: "gray", children: "\u2191/\u2193 select \u2022 enter to continue \u2022 esc to go back" }) })] }));
325
+ case 'existing-selection':
326
+ return (_jsxs(_Fragment, { children: [_jsxs(Text, { bold: true, color: "blue", children: ["Import Existing Project (", stepNumber, "/", totalSteps, ")"] }), _jsx(Box, { marginTop: 1, marginBottom: 2, children: _jsx(Text, { children: "Select Project:" }) }), renderOptions(), _jsx(Box, { marginTop: 2, children: _jsx(Text, { color: "gray", children: "\u2191/\u2193 select \u2022 enter to continue \u2022 esc to go back" }) })] }));
327
+ case 'config-template':
328
+ return (_jsxs(_Fragment, { children: [_jsxs(Text, { bold: true, color: "blue", children: ["Configuration Setup (", stepNumber, "/", totalSteps, ")"] }), _jsx(Box, { marginTop: 1, marginBottom: 2, children: _jsx(Text, { children: "Choose config template:" }) }), renderOptions(), _jsx(Box, { marginTop: 2, children: _jsx(Text, { color: "gray", children: "\u2191/\u2193 select \u2022 enter to continue \u2022 esc to go back" }) })] }));
329
+ case 'confirmation':
330
+ return (_jsxs(_Fragment, { children: [_jsxs(Text, { bold: true, color: "blue", children: ["Ready to ", state.source === 'new' ? 'Create' : 'Import', " (", stepNumber, "/", totalSteps, ")"] }), _jsxs(Box, { marginTop: 1, marginBottom: 2, flexDirection: "column", children: [state.source === 'new' ? (_jsxs(_Fragment, { children: [_jsxs(Text, { children: ["\u2713 Project: ", state.projectName] }), _jsxs(Text, { children: ["\u2713 Team: ", getSelectedTeamName()] })] })) : (_jsxs(Text, { children: ["\u2713 Project: ", getSelectedProjectName()] })), _jsxs(Text, { children: ["\u2713 Config: ", getSelectedTemplateName()] }), state.configTemplate !== 'none' && (_jsxs(Text, { children: ["\u2713 Location: ./", CONFIG_TEMPLATES[state.configTemplate].filename] }))] }), renderOptions(), _jsx(Box, { marginTop: 2, children: _jsx(Text, { color: "gray", children: "\u2191/\u2193 select \u2022 enter to confirm \u2022 esc to go back" }) })] }));
331
+ default:
332
+ return _jsx(Text, { children: "Unknown step" });
333
+ }
334
+ }
335
+ function renderOptions() {
336
+ const options = getOptionsForCurrentStep();
337
+ return (_jsx(Box, { flexDirection: "column", children: options.map((option, index) => (_jsx(Box, { marginLeft: 2, children: _jsxs(Text, { color: index === selectedOptionIndex ? 'blue' : 'white', children: [index === selectedOptionIndex ? '●' : '○', " ", option.label] }) }, option.value))) }));
338
+ }
339
+ function getStepNumber() {
340
+ const stepOrder = ['source', 'project-details', 'team-selection', 'existing-selection', 'config-template', 'confirmation'];
341
+ return stepOrder.indexOf(state.step) + 1;
342
+ }
343
+ function getTotalSteps() {
344
+ return state.source === 'new' ? 5 : 4;
345
+ }
346
+ function getSelectedTeamName() {
347
+ const team = state.availableTeams.find(t => t.id === state.selectedTeamId);
348
+ return team ? team.name : 'Unknown';
349
+ }
350
+ function getSelectedProjectName() {
351
+ const project = state.availableProjects.find(p => p.id === state.selectedProjectId);
352
+ return project ? project.name : 'Unknown';
353
+ }
354
+ function getSelectedTemplateName() {
355
+ return state.configTemplate ? CONFIG_TEMPLATES[state.configTemplate].name : 'None';
356
+ }
357
+ }
358
+ //# sourceMappingURL=InitForm.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"InitForm.js","sourceRoot":"","sources":["../../src/components/InitForm.tsx"],"names":[],"mappings":"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"}
@@ -0,0 +1,7 @@
1
+ import React from 'react';
2
+ interface SpinnerProps {
3
+ text?: string;
4
+ }
5
+ export declare const Spinner: React.FC<SpinnerProps>;
6
+ export {};
7
+ //# sourceMappingURL=Spinner.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Spinner.d.ts","sourceRoot":"","sources":["../../src/components/Spinner.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAG1B,UAAU,YAAY;IACpB,IAAI,CAAC,EAAE,MAAM,CAAC;CACf;AAID,eAAO,MAAM,OAAO,EAAE,KAAK,CAAC,EAAE,CAAC,YAAY,CAgB1C,CAAC"}