@hookbase/cli 2.0.0 → 2.1.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/commands/destinations.d.ts +4 -0
- package/dist/commands/destinations.d.ts.map +1 -1
- package/dist/commands/destinations.js +8 -1
- package/dist/commands/destinations.js.map +1 -1
- package/dist/commands/endpoints.d.ts +4 -0
- package/dist/commands/endpoints.d.ts.map +1 -1
- package/dist/commands/endpoints.js +8 -1
- package/dist/commands/endpoints.js.map +1 -1
- package/dist/commands/forward.d.ts +0 -0
- package/dist/commands/forward.d.ts.map +0 -0
- package/dist/commands/forward.js +0 -0
- package/dist/commands/forward.js.map +0 -0
- package/dist/commands/groups/inbound.d.ts.map +1 -1
- package/dist/commands/groups/inbound.js +4 -0
- package/dist/commands/groups/inbound.js.map +1 -1
- package/dist/commands/groups/outbound.d.ts.map +1 -1
- package/dist/commands/groups/outbound.js +4 -0
- package/dist/commands/groups/outbound.js.map +1 -1
- package/dist/commands/groups/tools.d.ts.map +1 -1
- package/dist/commands/groups/tools.js +9 -1
- package/dist/commands/groups/tools.js.map +1 -1
- package/dist/commands/login.d.ts +0 -0
- package/dist/commands/login.d.ts.map +0 -0
- package/dist/commands/login.js +0 -0
- package/dist/commands/login.js.map +0 -0
- package/dist/commands/logout.d.ts +0 -0
- package/dist/commands/logout.d.ts.map +0 -0
- package/dist/commands/logout.js +0 -0
- package/dist/commands/logout.js.map +0 -0
- package/dist/commands/logs.d.ts +0 -0
- package/dist/commands/logs.d.ts.map +0 -0
- package/dist/commands/logs.js +0 -0
- package/dist/commands/logs.js.map +0 -0
- package/dist/commands/sources.d.ts +0 -0
- package/dist/commands/sources.d.ts.map +0 -0
- package/dist/commands/sources.js +0 -0
- package/dist/commands/sources.js.map +0 -0
- package/dist/commands/tunnel.d.ts +0 -0
- package/dist/commands/tunnel.d.ts.map +0 -0
- package/dist/commands/tunnel.js +0 -0
- package/dist/commands/tunnel.js.map +0 -0
- package/dist/commands/tunnels.d.ts +7 -0
- package/dist/commands/tunnels.d.ts.map +1 -1
- package/dist/commands/tunnels.js +154 -1
- package/dist/commands/tunnels.js.map +1 -1
- package/dist/index.d.ts +0 -0
- package/dist/index.d.ts.map +0 -0
- package/dist/index.js +0 -0
- package/dist/index.js.map +0 -0
- package/dist/lib/api.d.ts +31 -2
- package/dist/lib/api.d.ts.map +1 -1
- package/dist/lib/api.js +15 -2
- package/dist/lib/api.js.map +1 -1
- package/dist/lib/config.d.ts +0 -0
- package/dist/lib/config.d.ts.map +0 -0
- package/dist/lib/config.js +0 -0
- package/dist/lib/config.js.map +0 -0
- package/dist/lib/logger.d.ts +0 -0
- package/dist/lib/logger.d.ts.map +0 -0
- package/dist/lib/logger.js +0 -0
- package/dist/lib/logger.js.map +0 -0
- package/dist/lib/tunnel.d.ts +14 -0
- package/dist/lib/tunnel.d.ts.map +1 -1
- package/dist/lib/tunnel.js +51 -1
- package/dist/lib/tunnel.js.map +1 -1
- package/dist/tui/App.d.ts.map +1 -1
- package/dist/tui/App.js +5 -2
- package/dist/tui/App.js.map +1 -1
- package/dist/tui/views/Destinations.d.ts.map +1 -1
- package/dist/tui/views/Destinations.js +166 -12
- package/dist/tui/views/Destinations.js.map +1 -1
- package/dist/tui/views/Outbound.d.ts.map +1 -1
- package/dist/tui/views/Outbound.js +16 -7
- package/dist/tui/views/Outbound.js.map +1 -1
- package/package.json +1 -1
|
@@ -32,10 +32,27 @@ function DestinationList({ destinations, onSelect, onCreate }) {
|
|
|
32
32
|
}
|
|
33
33
|
}
|
|
34
34
|
});
|
|
35
|
-
return (_jsxs(Box, { flexDirection: "column", children: [_jsxs(Box, { marginBottom: 1, children: [_jsx(Text, { bold: true, children: "Destinations" }), _jsxs(Text, { dimColor: true, children: [" - ", destinations.length, " total | j/k: navigate | Enter: select | n: new"] })] }), _jsxs(Box, { flexDirection: "column", borderStyle: "round", borderColor: "gray", paddingX: 1, children: [_jsxs(Box, { borderBottom: true, marginBottom: 0, children: [_jsx(Box, { width: 2, children: _jsx(Text, { children: " " }) }), _jsx(Box, { width:
|
|
35
|
+
return (_jsxs(Box, { flexDirection: "column", children: [_jsxs(Box, { marginBottom: 1, children: [_jsx(Text, { bold: true, children: "Destinations" }), _jsxs(Text, { dimColor: true, children: [" - ", destinations.length, " total | j/k: navigate | Enter: select | n: new"] })] }), _jsxs(Box, { flexDirection: "column", borderStyle: "round", borderColor: "gray", paddingX: 1, children: [_jsxs(Box, { borderBottom: true, marginBottom: 0, children: [_jsx(Box, { width: 2, children: _jsx(Text, { children: " " }) }), _jsx(Box, { width: 20, children: _jsx(Text, { bold: true, dimColor: true, children: "Name" }) }), _jsx(Box, { width: 7, children: _jsx(Text, { bold: true, dimColor: true, children: "Type" }) }), _jsx(Box, { width: 8, children: _jsx(Text, { bold: true, dimColor: true, children: "Method" }) }), _jsx(Box, { width: 40, children: _jsx(Text, { bold: true, dimColor: true, children: "URL / Bucket" }) }), _jsx(Box, { width: 12, children: _jsx(Text, { bold: true, dimColor: true, children: "Deliveries" }) })] }), destinations.length === 0 && (_jsxs(Box, { paddingY: 1, flexDirection: "column", children: [_jsx(Text, { dimColor: true, children: "No destinations yet. Press " }), _jsx(Text, { color: "green", children: "n" }), _jsx(Text, { dimColor: true, children: " to create your first destination." })] })), items.map((item, index) => {
|
|
36
36
|
const isSelected = index === selectedIndex;
|
|
37
37
|
const isAction = 'isAction' in item;
|
|
38
|
-
return (_jsxs(Box, { children: [_jsx(Box, { width: 2, children: _jsx(Text, { color: isSelected ? 'cyan' : undefined, bold: isSelected, children: isSelected ? '▶' : ' ' }) }), isAction ? (_jsx(Box, { width:
|
|
38
|
+
return (_jsxs(Box, { children: [_jsx(Box, { width: 2, children: _jsx(Text, { color: isSelected ? 'cyan' : undefined, bold: isSelected, children: isSelected ? '▶' : ' ' }) }), isAction ? (_jsx(Box, { width: 20, children: _jsx(Text, { color: "green", children: "+ New Destination" }) })) : (_jsxs(_Fragment, { children: [_jsx(Box, { width: 20, children: _jsxs(Text, { color: isSelected ? 'cyan' : undefined, bold: isSelected, children: [item.name.slice(0, 18), item.name.length > 18 ? '…' : ''] }) }), _jsx(Box, { width: 7, children: (() => {
|
|
39
|
+
const destType = item.type || item.destinationType || 'http';
|
|
40
|
+
const typeColor = destType === 'http' ? 'gray' : destType === 's3' ? 'yellow' : destType === 'r2' ? 'magenta' : destType === 'azure_blob' ? 'cyan' : 'blue';
|
|
41
|
+
return _jsx(Text, { color: typeColor, children: destType.toUpperCase().slice(0, 5) });
|
|
42
|
+
})() }), _jsx(Box, { width: 8, children: _jsx(Text, { color: "yellow", children: item.method || 'POST' }) }), _jsx(Box, { width: 40, children: (() => {
|
|
43
|
+
const destType = item.type || item.destinationType || 'http';
|
|
44
|
+
if (destType !== 'http') {
|
|
45
|
+
try {
|
|
46
|
+
const cfg = JSON.parse(item.config || '{}');
|
|
47
|
+
const display = `${cfg.bucket || '?'}${cfg.prefix ? '/' + cfg.prefix : ''}`;
|
|
48
|
+
return _jsxs(Text, { color: "blue", children: [display.slice(0, 38), display.length > 38 ? '…' : ''] });
|
|
49
|
+
}
|
|
50
|
+
catch {
|
|
51
|
+
return _jsx(Text, { dimColor: true, children: "-" });
|
|
52
|
+
}
|
|
53
|
+
}
|
|
54
|
+
return _jsxs(Text, { color: "blue", children: [item.url.slice(0, 38), item.url.length > 38 ? '…' : ''] });
|
|
55
|
+
})() }), _jsx(Box, { width: 12, children: _jsx(Text, { dimColor: true, children: item.delivery_count ?? item.deliveryCount ?? 0 }) })] }))] }, item.id));
|
|
39
56
|
})] })] }));
|
|
40
57
|
}
|
|
41
58
|
function DestinationDetail({ destId, destinations, onBack, onRefresh }) {
|
|
@@ -115,13 +132,59 @@ function DestinationDetail({ destId, destinations, onBack, onRefresh }) {
|
|
|
115
132
|
if (!dest) {
|
|
116
133
|
return (_jsxs(Box, { flexDirection: "column", children: [_jsxs(Text, { color: "red", children: ["Destination not found: ", destId] }), _jsxs(Text, { dimColor: true, children: ["Available IDs: ", destinations.map(d => d.id).join(', ') || 'none'] }), _jsx(Text, { dimColor: true, children: "Press Esc to go back" })] }));
|
|
117
134
|
}
|
|
118
|
-
return (_jsxs(Box, { flexDirection: "column", children: [_jsxs(Box, { marginBottom: 1, children: [_jsx(Text, { bold: true, children: "Destination Details" }), _jsx(Text, { dimColor: true, children: " - Esc: back | t: test | d: delete" })] }), _jsxs(Box, { flexDirection: "column", borderStyle: "round", borderColor: "cyan", paddingX: 2, paddingY: 1, children: [_jsxs(Box, { children: [_jsx(Box, { width: 16, children: _jsx(Text, { dimColor: true, children: "ID:" }) }), _jsx(Text, { children: dest.id })] }), _jsxs(Box, { children: [_jsx(Box, { width: 16, children: _jsx(Text, { dimColor: true, children: "Name:" }) }), _jsx(Text, { bold: true, children: dest.name })] }), _jsxs(Box, { children: [_jsx(Box, { width: 16, children: _jsx(Text, { dimColor: true, children: "Slug:" }) }), _jsx(Text, { children: dest.slug || '-' })] }), _jsxs(Box, { children: [_jsx(Box, { width: 16, children: _jsx(Text, { dimColor: true, children: "
|
|
135
|
+
return (_jsxs(Box, { flexDirection: "column", children: [_jsxs(Box, { marginBottom: 1, children: [_jsx(Text, { bold: true, children: "Destination Details" }), _jsx(Text, { dimColor: true, children: " - Esc: back | t: test | d: delete" })] }), _jsxs(Box, { flexDirection: "column", borderStyle: "round", borderColor: "cyan", paddingX: 2, paddingY: 1, children: [_jsxs(Box, { children: [_jsx(Box, { width: 16, children: _jsx(Text, { dimColor: true, children: "ID:" }) }), _jsx(Text, { children: dest.id })] }), _jsxs(Box, { children: [_jsx(Box, { width: 16, children: _jsx(Text, { dimColor: true, children: "Name:" }) }), _jsx(Text, { bold: true, children: dest.name })] }), _jsxs(Box, { children: [_jsx(Box, { width: 16, children: _jsx(Text, { dimColor: true, children: "Slug:" }) }), _jsx(Text, { children: dest.slug || '-' })] }), _jsxs(Box, { children: [_jsx(Box, { width: 16, children: _jsx(Text, { dimColor: true, children: "Type:" }) }), _jsx(Text, { color: (() => {
|
|
136
|
+
const t = dest.type || dest.destinationType || 'http';
|
|
137
|
+
return t === 'http' ? 'white' : t === 's3' ? 'yellow' : t === 'r2' ? 'magenta' : t === 'azure_blob' ? 'cyan' : 'blue';
|
|
138
|
+
})(), children: (dest.type || dest.destinationType || 'http').toUpperCase() })] }), (() => {
|
|
139
|
+
const destType = dest.type || dest.destinationType || 'http';
|
|
140
|
+
if (destType !== 'http') {
|
|
141
|
+
try {
|
|
142
|
+
const cfg = JSON.parse(dest.config || '{}');
|
|
143
|
+
return (_jsxs(_Fragment, { children: [_jsxs(Box, { children: [_jsx(Box, { width: 16, children: _jsx(Text, { dimColor: true, children: "Bucket:" }) }), _jsx(Text, { color: "blue", children: cfg.bucket || '-' })] }), cfg.region && (_jsxs(Box, { children: [_jsx(Box, { width: 16, children: _jsx(Text, { dimColor: true, children: "Region:" }) }), _jsx(Text, { children: cfg.region })] })), cfg.prefix && (_jsxs(Box, { children: [_jsx(Box, { width: 16, children: _jsx(Text, { dimColor: true, children: "Prefix:" }) }), _jsx(Text, { children: cfg.prefix })] })), _jsxs(Box, { children: [_jsx(Box, { width: 16, children: _jsx(Text, { dimColor: true, children: "File Format:" }) }), _jsx(Text, { children: cfg.fileFormat || 'jsonl' })] }), _jsxs(Box, { children: [_jsx(Box, { width: 16, children: _jsx(Text, { dimColor: true, children: "Partition:" }) }), _jsx(Text, { children: cfg.partitionBy || 'date' })] })] }));
|
|
144
|
+
}
|
|
145
|
+
catch {
|
|
146
|
+
return null;
|
|
147
|
+
}
|
|
148
|
+
}
|
|
149
|
+
return (_jsxs(_Fragment, { children: [_jsxs(Box, { children: [_jsx(Box, { width: 16, children: _jsx(Text, { dimColor: true, children: "URL:" }) }), _jsx(Text, { color: "blue", children: dest.url })] }), _jsxs(Box, { children: [_jsx(Box, { width: 16, children: _jsx(Text, { dimColor: true, children: "Method:" }) }), _jsx(Text, { color: "yellow", children: dest.method || 'POST' })] }), _jsxs(Box, { children: [_jsx(Box, { width: 16, children: _jsx(Text, { dimColor: true, children: "Auth Type:" }) }), _jsx(Text, { children: dest.auth_type || dest.authType || 'none' })] })] }));
|
|
150
|
+
})(), _jsxs(Box, { children: [_jsx(Box, { width: 16, children: _jsx(Text, { dimColor: true, children: "Status:" }) }), _jsx(Text, { color: (dest.is_active || dest.isActive) ? 'green' : 'red', children: (dest.is_active || dest.isActive) ? 'Active' : 'Inactive' })] }), _jsxs(Box, { children: [_jsx(Box, { width: 16, children: _jsx(Text, { dimColor: true, children: "Static IP:" }) }), (() => {
|
|
151
|
+
const staticIp = dest.use_static_ip ?? dest.useStaticIp;
|
|
152
|
+
const enabled = staticIp === 1 || staticIp === true;
|
|
153
|
+
return _jsx(Text, { color: enabled ? 'green' : 'gray', children: enabled ? 'Enabled' : 'Disabled' });
|
|
154
|
+
})()] }), _jsxs(Box, { children: [_jsx(Box, { width: 16, children: _jsx(Text, { dimColor: true, children: "Deliveries:" }) }), _jsx(Text, { children: dest.delivery_count ?? dest.deliveryCount ?? 0 })] }), testing && (_jsx(Box, { marginTop: 1, children: _jsx(Text, { color: "yellow", children: "Testing destination..." }) })), testResult && (_jsxs(Box, { marginTop: 1, flexDirection: "column", children: [_jsx(Text, { bold: true, children: "Test Result:" }), testResult.error ? (_jsxs(Text, { color: "red", children: ["\u2717 Error: ", testResult.error] })) : (_jsxs(Text, { color: testResult.success ? 'green' : 'red', children: [testResult.success ? '✓' : '✗', " Status: ", testResult.status > 0 ? testResult.status : 'N/A', " | Time: ", testResult.time, "ms"] }))] })), confirmDelete && (_jsxs(Box, { marginTop: 1, flexDirection: "column", children: [_jsx(Text, { color: "red", bold: true, children: "Delete this destination?" }), _jsx(Text, { children: "Press 'y' to confirm, 'n' or Esc to cancel" })] })), deleting && (_jsx(Box, { marginTop: 1, children: _jsx(Text, { color: "yellow", children: "Deleting..." }) })), message && (_jsx(Box, { marginTop: 1, children: _jsx(Text, { color: message.startsWith('Error') ? 'red' : 'green', children: message }) }))] })] }));
|
|
119
155
|
}
|
|
156
|
+
// Required config fields per warehouse type
|
|
157
|
+
const WAREHOUSE_FIELDS = {
|
|
158
|
+
s3: ['bucket', 'region', 'accessKeyId', 'secretAccessKey', 'prefix'],
|
|
159
|
+
r2: ['bucket', 'endpoint', 'accessKeyId', 'secretAccessKey', 'prefix'],
|
|
160
|
+
gcs: ['bucket', 'projectId', 'serviceAccountKey', 'prefix'],
|
|
161
|
+
azure_blob: ['accountName', 'accountKey', 'containerName', 'prefix'],
|
|
162
|
+
};
|
|
163
|
+
const FIELD_LABELS = {
|
|
164
|
+
bucket: { label: 'Bucket name', placeholder: 'my-webhook-bucket' },
|
|
165
|
+
region: { label: 'AWS Region', placeholder: 'us-east-1' },
|
|
166
|
+
endpoint: { label: 'S3 API endpoint', placeholder: 'https://<account_id>.r2.cloudflarestorage.com' },
|
|
167
|
+
accessKeyId: { label: 'Access Key ID', placeholder: 'AKIA...' },
|
|
168
|
+
secretAccessKey: { label: 'Secret Access Key', placeholder: '********' },
|
|
169
|
+
projectId: { label: 'GCP Project ID', placeholder: 'my-project-123' },
|
|
170
|
+
serviceAccountKey: { label: 'Service Account Key (JSON)', placeholder: '{"type":"service_account",...}' },
|
|
171
|
+
accountName: { label: 'Storage Account Name', placeholder: 'mystorageaccount' },
|
|
172
|
+
accountKey: { label: 'Storage Account Key', placeholder: '********' },
|
|
173
|
+
containerName: { label: 'Container Name', placeholder: 'webhooks' },
|
|
174
|
+
prefix: { label: 'Key prefix (optional)', placeholder: 'webhooks/production' },
|
|
175
|
+
};
|
|
120
176
|
function CreateDestination({ onBack, onCreated }) {
|
|
121
177
|
const [step, setStep] = useState('name');
|
|
122
178
|
const [name, setName] = useState('');
|
|
179
|
+
const [destType, setDestType] = useState('http');
|
|
180
|
+
// HTTP fields
|
|
123
181
|
const [url, setUrl] = useState('');
|
|
124
182
|
const [method, setMethod] = useState('POST');
|
|
183
|
+
// Warehouse config fields
|
|
184
|
+
const [configFields, setConfigFields] = useState({});
|
|
185
|
+
const [currentFieldValue, setCurrentFieldValue] = useState('');
|
|
186
|
+
// Common
|
|
187
|
+
const [useStaticIp, setUseStaticIp] = useState(true);
|
|
125
188
|
const [error, setError] = useState(null);
|
|
126
189
|
const [createdDest, setCreatedDest] = useState(null);
|
|
127
190
|
useInput((input, key) => {
|
|
@@ -129,18 +192,76 @@ function CreateDestination({ onBack, onCreated }) {
|
|
|
129
192
|
onBack();
|
|
130
193
|
}
|
|
131
194
|
});
|
|
132
|
-
const
|
|
195
|
+
const isWarehouse = destType !== 'http';
|
|
196
|
+
const handleTypeSelect = (item) => {
|
|
197
|
+
const selected = item.value;
|
|
198
|
+
setDestType(selected);
|
|
199
|
+
if (selected === 'http') {
|
|
200
|
+
setStep('url');
|
|
201
|
+
}
|
|
202
|
+
else {
|
|
203
|
+
// Start the first warehouse config field
|
|
204
|
+
const fields = WAREHOUSE_FIELDS[selected];
|
|
205
|
+
setStep(fields[0]);
|
|
206
|
+
setCurrentFieldValue('');
|
|
207
|
+
}
|
|
208
|
+
};
|
|
209
|
+
const handleMethodSelect = (item) => {
|
|
133
210
|
setMethod(item.value);
|
|
211
|
+
setStep('staticIp');
|
|
212
|
+
};
|
|
213
|
+
// Advance to the next warehouse config field, or to staticIp/creating
|
|
214
|
+
const advanceWarehouseField = (currentField, value) => {
|
|
215
|
+
// prefix is optional, so allow empty
|
|
216
|
+
if (currentField !== 'prefix' && !value.trim())
|
|
217
|
+
return;
|
|
218
|
+
const updated = { ...configFields, [currentField]: value.trim() };
|
|
219
|
+
setConfigFields(updated);
|
|
220
|
+
setCurrentFieldValue('');
|
|
221
|
+
const fields = WAREHOUSE_FIELDS[destType];
|
|
222
|
+
const currentIndex = fields.indexOf(currentField);
|
|
223
|
+
if (currentIndex < fields.length - 1) {
|
|
224
|
+
setStep(fields[currentIndex + 1]);
|
|
225
|
+
}
|
|
226
|
+
else {
|
|
227
|
+
// Warehouse destinations don't use static IP (they write to object storage)
|
|
228
|
+
setStep('creating');
|
|
229
|
+
doCreate(updated);
|
|
230
|
+
}
|
|
231
|
+
};
|
|
232
|
+
const handleStaticIpSelect = (item) => {
|
|
233
|
+
const staticIp = item.value === 'yes';
|
|
234
|
+
setUseStaticIp(staticIp);
|
|
134
235
|
setStep('creating');
|
|
236
|
+
doCreate(undefined, staticIp);
|
|
237
|
+
};
|
|
238
|
+
const doCreate = async (warehouseConfig, staticIp) => {
|
|
135
239
|
try {
|
|
136
|
-
const
|
|
240
|
+
const createData = {
|
|
137
241
|
name,
|
|
138
|
-
|
|
139
|
-
|
|
140
|
-
|
|
242
|
+
type: destType,
|
|
243
|
+
};
|
|
244
|
+
if (destType === 'http') {
|
|
245
|
+
createData.url = url;
|
|
246
|
+
createData.method = method;
|
|
247
|
+
createData.useStaticIp = staticIp;
|
|
248
|
+
}
|
|
249
|
+
else {
|
|
250
|
+
const cfg = warehouseConfig || configFields;
|
|
251
|
+
// Build config object, filtering out empty optional fields
|
|
252
|
+
const config = {};
|
|
253
|
+
for (const [k, v] of Object.entries(cfg)) {
|
|
254
|
+
if (v)
|
|
255
|
+
config[k] = v;
|
|
256
|
+
}
|
|
257
|
+
config.fileFormat = 'jsonl';
|
|
258
|
+
config.partitionBy = 'date';
|
|
259
|
+
createData.config = config;
|
|
260
|
+
}
|
|
261
|
+
const result = await api.createDestination(createData);
|
|
141
262
|
if (result.error) {
|
|
142
263
|
setError(result.error);
|
|
143
|
-
setStep('
|
|
264
|
+
setStep(isWarehouse ? WAREHOUSE_FIELDS[destType][0] : 'staticIp');
|
|
144
265
|
}
|
|
145
266
|
else {
|
|
146
267
|
setCreatedDest(result.data?.destination || null);
|
|
@@ -153,14 +274,47 @@ function CreateDestination({ onBack, onCreated }) {
|
|
|
153
274
|
}
|
|
154
275
|
catch (err) {
|
|
155
276
|
setError(err instanceof Error ? err.message : 'Failed to create destination');
|
|
156
|
-
setStep('
|
|
277
|
+
setStep(isWarehouse ? WAREHOUSE_FIELDS[destType][0] : 'staticIp');
|
|
157
278
|
}
|
|
158
279
|
};
|
|
159
|
-
|
|
280
|
+
// Summary lines showing what's been entered so far
|
|
281
|
+
const summaryLines = [`Name: ${name}`];
|
|
282
|
+
if (step !== 'name' && step !== 'type') {
|
|
283
|
+
summaryLines.push(`Type: ${destType.toUpperCase()}`);
|
|
284
|
+
}
|
|
285
|
+
if (destType === 'http') {
|
|
286
|
+
if (url)
|
|
287
|
+
summaryLines.push(`URL: ${url}`);
|
|
288
|
+
if (step === 'staticIp' || step === 'creating' || step === 'done')
|
|
289
|
+
summaryLines.push(`Method: ${method}`);
|
|
290
|
+
}
|
|
291
|
+
else {
|
|
292
|
+
// Show warehouse fields filled so far
|
|
293
|
+
for (const [k, v] of Object.entries(configFields)) {
|
|
294
|
+
if (v) {
|
|
295
|
+
const label = FIELD_LABELS[k]?.label || k;
|
|
296
|
+
const display = ['secretAccessKey', 'accountKey', 'serviceAccountKey'].includes(k) ? '••••••••' : v;
|
|
297
|
+
summaryLines.push(`${label}: ${display}`);
|
|
298
|
+
}
|
|
299
|
+
}
|
|
300
|
+
}
|
|
301
|
+
// Determine if current step is a warehouse config field
|
|
302
|
+
const isWarehouseField = Object.values(WAREHOUSE_FIELDS).flat().includes(step);
|
|
303
|
+
const fieldMeta = FIELD_LABELS[step];
|
|
304
|
+
return (_jsxs(Box, { flexDirection: "column", children: [_jsxs(Box, { marginBottom: 1, children: [_jsx(Text, { bold: true, children: "Create New Destination" }), _jsx(Text, { dimColor: true, children: " - Press Esc to cancel" })] }), _jsxs(Box, { flexDirection: "column", borderStyle: "round", borderColor: "green", paddingX: 2, paddingY: 1, children: [step === 'name' && (_jsxs(Box, { children: [_jsx(Text, { children: "Destination name: " }), _jsx(TextInput, { value: name, onChange: setName, onSubmit: () => name.trim() && setStep('type'), placeholder: "My API Endpoint" })] })), step === 'type' && (_jsxs(Box, { flexDirection: "column", children: [_jsx(Box, { marginBottom: 1, children: _jsxs(Text, { dimColor: true, children: ["Name: ", name] }) }), _jsx(Text, { children: "Select destination type:" }), _jsx(SelectInput, { items: [
|
|
305
|
+
{ label: 'HTTP Endpoint', value: 'http' },
|
|
306
|
+
{ label: 'Amazon S3', value: 's3' },
|
|
307
|
+
{ label: 'Cloudflare R2', value: 'r2' },
|
|
308
|
+
{ label: 'Google Cloud Storage', value: 'gcs' },
|
|
309
|
+
{ label: 'Azure Blob Storage', value: 'azure_blob' },
|
|
310
|
+
], onSelect: handleTypeSelect })] })), step === 'url' && (_jsxs(Box, { flexDirection: "column", children: [summaryLines.map((line, i) => (_jsx(Box, { marginBottom: i === summaryLines.length - 1 ? 1 : 0, children: _jsx(Text, { dimColor: true, children: line }) }, i))), _jsxs(Box, { children: [_jsx(Text, { children: "URL: " }), _jsx(TextInput, { value: url, onChange: setUrl, onSubmit: () => url.trim() && setStep('method'), placeholder: "https://api.example.com/webhook" })] })] })), step === 'method' && (_jsxs(Box, { flexDirection: "column", children: [summaryLines.map((line, i) => (_jsx(Box, { marginBottom: i === summaryLines.length - 1 ? 1 : 0, children: _jsx(Text, { dimColor: true, children: line }) }, i))), _jsx(Text, { children: "Select HTTP method:" }), _jsx(SelectInput, { items: [
|
|
160
311
|
{ label: 'POST (Recommended)', value: 'POST' },
|
|
161
312
|
{ label: 'PUT', value: 'PUT' },
|
|
162
313
|
{ label: 'PATCH', value: 'PATCH' },
|
|
163
|
-
], onSelect: handleMethodSelect })] })),
|
|
314
|
+
], onSelect: handleMethodSelect })] })), isWarehouseField && fieldMeta && (_jsxs(Box, { flexDirection: "column", children: [summaryLines.map((line, i) => (_jsx(Box, { marginBottom: i === summaryLines.length - 1 ? 1 : 0, children: _jsx(Text, { dimColor: true, children: line }) }, i))), _jsxs(Box, { children: [_jsxs(Text, { children: [fieldMeta.label, ": "] }), _jsx(TextInput, { value: currentFieldValue, onChange: setCurrentFieldValue, onSubmit: (val) => advanceWarehouseField(step, val), placeholder: fieldMeta.placeholder })] })] })), step === 'staticIp' && (_jsxs(Box, { flexDirection: "column", children: [summaryLines.map((line, i) => (_jsx(Box, { marginBottom: i === summaryLines.length - 1 ? 1 : 0, children: _jsx(Text, { dimColor: true, children: line }) }, i))), _jsx(Text, { children: "Enable Static IP delivery? (Pro/Business plans)" }), _jsx(SelectInput, { items: [
|
|
315
|
+
{ label: 'Yes - Route via static IP (Recommended)', value: 'yes' },
|
|
316
|
+
{ label: 'No - Use direct delivery', value: 'no' },
|
|
317
|
+
], onSelect: handleStaticIpSelect })] })), step === 'creating' && (_jsx(Text, { color: "yellow", children: "Creating destination..." })), step === 'done' && createdDest && (_jsxs(Box, { flexDirection: "column", children: [_jsx(Text, { color: "green", children: "\u2713 Destination created successfully!" }), _jsxs(Box, { marginTop: 1, children: [_jsx(Text, { dimColor: true, children: "ID: " }), _jsx(Text, { children: createdDest.id })] }), _jsxs(Box, { children: [_jsx(Text, { dimColor: true, children: "Type: " }), _jsx(Text, { children: destType.toUpperCase() })] })] })), error && (_jsx(Box, { marginTop: 1, children: _jsxs(Text, { color: "red", children: ["Error: ", error] }) }))] })] }));
|
|
164
318
|
}
|
|
165
319
|
export function DestinationsView({ destinations, subView, onNavigate, onRefresh }) {
|
|
166
320
|
if (subView === 'create') {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Destinations.js","sourceRoot":"","sources":["../../../src/tui/views/Destinations.tsx"],"names":[],"mappings":";AAAA,OAAc,EAAE,QAAQ,EAAE,MAAM,EAAE,MAAM,OAAO,CAAC;AAChD,OAAO,EAAE,GAAG,EAAE,IAAI,EAAE,QAAQ,EAAE,MAAM,KAAK,CAAC;AAC1C,OAAO,SAAS,MAAM,gBAAgB,CAAC;AACvC,OAAO,WAAW,MAAM,kBAAkB,CAAC;AAC3C,OAAO,KAAK,GAAG,MAAM,kBAAkB,CAAC;AASxC,SAAS,eAAe,CAAC,EAAE,YAAY,EAAE,QAAQ,EAAE,QAAQ,EAI1D;IACC,MAAM,CAAC,aAAa,EAAE,gBAAgB,CAAC,GAAG,QAAQ,CAAC,CAAC,CAAC,CAAC;IACtD,MAAM,KAAK,GAAG;QACZ,EAAE,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,0BAA0B,EAAE,QAAQ,EAAE,IAAI,EAAE;QAClE,GAAG,YAAY;KAChB,CAAC;IAEF,QAAQ,CAAC,CAAC,KAAK,EAAE,GAAG,EAAE,EAAE;QACtB,4CAA4C;QAC5C,IAAI,GAAG,CAAC,OAAO,IAAI,KAAK,KAAK,GAAG,EAAE,CAAC;YACjC,gBAAgB,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,GAAG,CAAC,CAAC,CAAC,CAAC;QAClD,CAAC;QACD,IAAI,GAAG,CAAC,SAAS,IAAI,KAAK,KAAK,GAAG,EAAE,CAAC;YACnC,gBAAgB,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,EAAE,IAAI,GAAG,CAAC,CAAC,CAAC,CAAC;QACjE,CAAC;QACD,sBAAsB;QACtB,IAAI,KAAK,KAAK,GAAG,EAAE,CAAC;YAClB,QAAQ,EAAE,CAAC;QACb,CAAC;QACD,IAAI,GAAG,CAAC,MAAM,EAAE,CAAC;YACf,MAAM,IAAI,GAAG,KAAK,CAAC,aAAa,CAAC,CAAC;YAClC,IAAI,IAAI,CAAC,EAAE,KAAK,QAAQ,EAAE,CAAC;gBACzB,QAAQ,EAAE,CAAC;YACb,CAAC;iBAAM,CAAC;gBACN,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;YACpB,CAAC;QACH,CAAC;IACH,CAAC,CAAC,CAAC;IAEH,OAAO,CACL,MAAC,GAAG,IAAC,aAAa,EAAC,QAAQ,aACzB,MAAC,GAAG,IAAC,YAAY,EAAE,CAAC,aAClB,KAAC,IAAI,IAAC,IAAI,mCAAoB,EAC9B,MAAC,IAAI,IAAC,QAAQ,0BAAK,YAAY,CAAC,MAAM,uDAAuD,IACzF,EAEN,MAAC,GAAG,IAAC,aAAa,EAAC,QAAQ,EAAC,WAAW,EAAC,OAAO,EAAC,WAAW,EAAC,MAAM,EAAC,QAAQ,EAAE,CAAC,aAE5E,MAAC,GAAG,IAAC,YAAY,QAAC,YAAY,EAAE,CAAC,aAC/B,KAAC,GAAG,IAAC,KAAK,EAAE,CAAC,YAAE,KAAC,IAAI,oBAAS,GAAM,EACnC,KAAC,GAAG,IAAC,KAAK,EAAE,EAAE,YAAE,KAAC,IAAI,IAAC,IAAI,QAAC,QAAQ,2BAAY,GAAM,EACrD,KAAC,GAAG,IAAC,KAAK,EAAE,CAAC,YAAE,KAAC,IAAI,IAAC,IAAI,QAAC,QAAQ,6BAAc,GAAM,EACtD,KAAC,GAAG,IAAC,KAAK,EAAE,EAAE,YAAE,KAAC,IAAI,IAAC,IAAI,QAAC,QAAQ,0BAAW,GAAM,EACpD,KAAC,GAAG,IAAC,KAAK,EAAE,EAAE,YAAE,KAAC,IAAI,IAAC,IAAI,QAAC,QAAQ,iCAAkB,GAAM,IACvD,EAEL,YAAY,CAAC,MAAM,KAAK,CAAC,IAAI,CAC5B,MAAC,GAAG,IAAC,QAAQ,EAAE,CAAC,EAAE,aAAa,EAAC,QAAQ,aACtC,KAAC,IAAI,IAAC,QAAQ,kDAAmC,EACjD,KAAC,IAAI,IAAC,KAAK,EAAC,OAAO,kBAAS,EAC5B,KAAC,IAAI,IAAC,QAAQ,yDAA0C,IACpD,CACP,EAEA,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,KAAK,EAAE,EAAE;wBACzB,MAAM,UAAU,GAAG,KAAK,KAAK,aAAa,CAAC;wBAC3C,MAAM,QAAQ,GAAG,UAAU,IAAI,IAAI,CAAC;wBAEpC,OAAO,CACL,MAAC,GAAG,eACF,KAAC,GAAG,IAAC,KAAK,EAAE,CAAC,YACX,KAAC,IAAI,IAAC,KAAK,EAAE,UAAU,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,SAAS,EAAE,IAAI,EAAE,UAAU,YAC3D,UAAU,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,GAClB,GACH,EACL,QAAQ,CAAC,CAAC,CAAC,CACV,KAAC,GAAG,IAAC,KAAK,EAAE,EAAE,YAAE,KAAC,IAAI,IAAC,KAAK,EAAC,OAAO,kCAAyB,GAAM,CACnE,CAAC,CAAC,CAAC,CACF,8BACE,KAAC,GAAG,IAAC,KAAK,EAAE,EAAE,YACZ,MAAC,IAAI,IAAC,KAAK,EAAE,UAAU,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,SAAS,EAAE,IAAI,EAAE,UAAU,aAC3D,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,EAAE,IAAI,CAAC,IAAI,CAAC,MAAM,GAAG,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,IACpD,GACH,EACN,KAAC,GAAG,IAAC,KAAK,EAAE,CAAC,YACX,KAAC,IAAI,IAAC,KAAK,EAAC,QAAQ,YAAE,IAAI,CAAC,MAAM,IAAI,MAAM,GAAQ,GAC/C,EACN,KAAC,GAAG,IAAC,KAAK,EAAE,EAAE,YACZ,MAAC,IAAI,IAAC,KAAK,EAAC,MAAM,aAAE,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,EAAE,IAAI,CAAC,GAAG,CAAC,MAAM,GAAG,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,IAAQ,GAC9E,EACN,KAAC,GAAG,IAAC,KAAK,EAAE,EAAE,YACZ,KAAC,IAAI,IAAC,QAAQ,kBAAG,IAAY,CAAC,cAAc,IAAK,IAAY,CAAC,aAAa,IAAI,CAAC,GAAQ,GACpF,IACL,CACJ,KAzBO,IAAI,CAAC,EAAE,CA0BX,CACP,CAAC;oBACJ,CAAC,CAAC,IACE,IACF,CACP,CAAC;AACJ,CAAC;AAED,SAAS,iBAAiB,CAAC,EAAE,MAAM,EAAE,YAAY,EAAE,MAAM,EAAE,SAAS,EAKnE;IACC,MAAM,IAAI,GAAG,YAAY,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,KAAK,MAAM,CAAC,CAAC;IACrD,MAAM,CAAC,OAAO,EAAE,UAAU,CAAC,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAC;IAC9C,MAAM,CAAC,UAAU,EAAE,aAAa,CAAC,GAAG,QAAQ,CAA4E,IAAI,CAAC,CAAC;IAC9H,MAAM,CAAC,aAAa,EAAE,gBAAgB,CAAC,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAC;IAC1D,MAAM,CAAC,QAAQ,EAAE,WAAW,CAAC,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAC;IAChD,MAAM,CAAC,OAAO,EAAE,UAAU,CAAC,GAAG,QAAQ,CAAgB,IAAI,CAAC,CAAC;IAC5D,MAAM,IAAI,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC;IAE3B,QAAQ,CAAC,KAAK,EAAE,KAAK,EAAE,GAAG,EAAE,EAAE;QAC5B,IAAI,IAAI,CAAC,OAAO;YAAE,OAAO;QAEzB,IAAI,GAAG,CAAC,MAAM,IAAI,KAAK,KAAK,GAAG,EAAE,CAAC;YAChC,IAAI,aAAa,EAAE,CAAC;gBAClB,gBAAgB,CAAC,KAAK,CAAC,CAAC;YAC1B,CAAC;iBAAM,CAAC;gBACN,MAAM,EAAE,CAAC;YACX,CAAC;QACH,CAAC;QACD,IAAI,KAAK,KAAK,GAAG,IAAI,CAAC,aAAa,EAAE,CAAC;YACpC,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC;YACpB,UAAU,CAAC,IAAI,CAAC,CAAC;YACjB,IAAI,CAAC;gBACH,MAAM,MAAM,GAAG,MAAM,GAAG,CAAC,eAAe,CAAC,MAAM,CAAC,CAAC;gBACjD,IAAI,MAAM,CAAC,KAAK,EAAE,CAAC;oBACjB,aAAa,CAAC,EAAE,OAAO,EAAE,KAAK,EAAE,MAAM,EAAE,CAAC,EAAE,IAAI,EAAE,CAAC,EAAE,KAAK,EAAE,MAAM,CAAC,KAAK,EAAE,CAAC,CAAC;gBAC7E,CAAC;qBAAM,IAAI,MAAM,CAAC,IAAI,EAAE,CAAC;oBACvB,uCAAuC;oBACvC,MAAM,GAAG,GAAG,MAAM,CAAC,IAA+B,CAAC;oBACnD,MAAM,IAAI,GAAG,CAAC,GAAG,CAAC,IAAI,IAAI,OAAO,GAAG,CAAC,IAAI,KAAK,QAAQ,CAAC,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,GAAG,CAA4B,CAAC;oBACpG,aAAa,CAAC;wBACZ,OAAO,EAAE,IAAI,CAAC,OAAO,KAAK,IAAI;wBAC9B,MAAM,EAAE,CAAC,IAAI,CAAC,UAAU,IAAI,IAAI,CAAC,WAAW,IAAI,CAAC,CAAW;wBAC5D,IAAI,EAAE,CAAC,IAAI,CAAC,QAAQ,IAAI,IAAI,CAAC,YAAY,IAAI,IAAI,CAAC,aAAa,IAAI,CAAC,CAAW;wBAC/E,KAAK,EAAE,IAAI,CAAC,KAA2B;qBACxC,CAAC,CAAC;gBACL,CAAC;YACH,CAAC;YAAC,OAAO,GAAG,EAAE,CAAC;gBACb,aAAa,CAAC,EAAE,OAAO,EAAE,KAAK,EAAE,MAAM,EAAE,CAAC,EAAE,IAAI,EAAE,CAAC,EAAE,KAAK,EAAE,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,aAAa,EAAE,CAAC,CAAC;YACnH,CAAC;YACD,UAAU,CAAC,KAAK,CAAC,CAAC;YAClB,UAAU,CAAC,GAAG,EAAE,GAAG,IAAI,CAAC,OAAO,GAAG,KAAK,CAAC,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC;QACnD,CAAC;QACD,IAAI,KAAK,KAAK,GAAG,IAAI,CAAC,aAAa,EAAE,CAAC;YACpC,gBAAgB,CAAC,IAAI,CAAC,CAAC;QACzB,CAAC;QACD,IAAI,KAAK,KAAK,GAAG,IAAI,aAAa,EAAE,CAAC;YACnC,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC;YACpB,WAAW,CAAC,IAAI,CAAC,CAAC;YAClB,IAAI,CAAC;gBACH,MAAM,MAAM,GAAG,MAAM,GAAG,CAAC,iBAAiB,CAAC,MAAM,CAAC,CAAC;gBACnD,IAAI,MAAM,CAAC,KAAK,EAAE,CAAC;oBACjB,UAAU,CAAC,UAAU,MAAM,CAAC,KAAK,EAAE,CAAC,CAAC;oBACrC,gBAAgB,CAAC,KAAK,CAAC,CAAC;oBACxB,UAAU,CAAC,GAAG,EAAE,GAAG,IAAI,CAAC,OAAO,GAAG,KAAK,CAAC,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC;gBACnD,CAAC;qBAAM,CAAC;oBACN,UAAU,CAAC,kCAAkC,CAAC,CAAC;oBAC/C,UAAU,CAAC,GAAG,EAAE,GAAG,SAAS,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC;gBACrD,CAAC;YACH,CAAC;YAAC,OAAO,GAAG,EAAE,CAAC;gBACb,UAAU,CAAC,kBAAkB,CAAC,CAAC;gBAC/B,gBAAgB,CAAC,KAAK,CAAC,CAAC;gBACxB,UAAU,CAAC,GAAG,EAAE,GAAG,IAAI,CAAC,OAAO,GAAG,KAAK,CAAC,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC;YACnD,CAAC;YACD,WAAW,CAAC,KAAK,CAAC,CAAC;QACrB,CAAC;QACD,IAAI,KAAK,KAAK,GAAG,IAAI,aAAa,EAAE,CAAC;YACnC,gBAAgB,CAAC,KAAK,CAAC,CAAC;QAC1B,CAAC;IACH,CAAC,CAAC,CAAC;IAEH,IAAI,CAAC,IAAI,EAAE,CAAC;QACV,OAAO,CACL,MAAC,GAAG,IAAC,aAAa,EAAC,QAAQ,aACzB,MAAC,IAAI,IAAC,KAAK,EAAC,KAAK,wCAAyB,MAAM,IAAQ,EACxD,MAAC,IAAI,IAAC,QAAQ,sCAAiB,YAAY,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,MAAM,IAAQ,EACvF,KAAC,IAAI,IAAC,QAAQ,2CAA4B,IACtC,CACP,CAAC;IACJ,CAAC;IAED,OAAO,CACL,MAAC,GAAG,IAAC,aAAa,EAAC,QAAQ,aACzB,MAAC,GAAG,IAAC,YAAY,EAAE,CAAC,aAClB,KAAC,IAAI,IAAC,IAAI,0CAA2B,EACrC,KAAC,IAAI,IAAC,QAAQ,yDAA0C,IACpD,EAEN,MAAC,GAAG,IAAC,aAAa,EAAC,QAAQ,EAAC,WAAW,EAAC,OAAO,EAAC,WAAW,EAAC,MAAM,EAAC,QAAQ,EAAE,CAAC,EAAE,QAAQ,EAAE,CAAC,aACzF,MAAC,GAAG,eACF,KAAC,GAAG,IAAC,KAAK,EAAE,EAAE,YAAE,KAAC,IAAI,IAAC,QAAQ,0BAAW,GAAM,EAC/C,KAAC,IAAI,cAAE,IAAI,CAAC,EAAE,GAAQ,IAClB,EACN,MAAC,GAAG,eACF,KAAC,GAAG,IAAC,KAAK,EAAE,EAAE,YAAE,KAAC,IAAI,IAAC,QAAQ,4BAAa,GAAM,EACjD,KAAC,IAAI,IAAC,IAAI,kBAAE,IAAI,CAAC,IAAI,GAAQ,IACzB,EACN,MAAC,GAAG,eACF,KAAC,GAAG,IAAC,KAAK,EAAE,EAAE,YAAE,KAAC,IAAI,IAAC,QAAQ,4BAAa,GAAM,EACjD,KAAC,IAAI,cAAG,IAAY,CAAC,IAAI,IAAI,GAAG,GAAQ,IACpC,EACN,MAAC,GAAG,eACF,KAAC,GAAG,IAAC,KAAK,EAAE,EAAE,YAAE,KAAC,IAAI,IAAC,QAAQ,2BAAY,GAAM,EAChD,KAAC,IAAI,IAAC,KAAK,EAAC,MAAM,YAAE,IAAI,CAAC,GAAG,GAAQ,IAChC,EACN,MAAC,GAAG,eACF,KAAC,GAAG,IAAC,KAAK,EAAE,EAAE,YAAE,KAAC,IAAI,IAAC,QAAQ,8BAAe,GAAM,EACnD,KAAC,IAAI,IAAC,KAAK,EAAC,QAAQ,YAAE,IAAI,CAAC,MAAM,IAAI,MAAM,GAAQ,IAC/C,EACN,MAAC,GAAG,eACF,KAAC,GAAG,IAAC,KAAK,EAAE,EAAE,YAAE,KAAC,IAAI,IAAC,QAAQ,iCAAkB,GAAM,EACtD,KAAC,IAAI,cAAE,IAAI,CAAC,SAAS,IAAK,IAAY,CAAC,QAAQ,IAAI,MAAM,GAAQ,IAC7D,EACN,MAAC,GAAG,eACF,KAAC,GAAG,IAAC,KAAK,EAAE,EAAE,YAAE,KAAC,IAAI,IAAC,QAAQ,8BAAe,GAAM,EACnD,KAAC,IAAI,IAAC,KAAK,EAAE,CAAC,IAAI,CAAC,SAAS,IAAK,IAAY,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,KAAK,YACtE,CAAC,IAAI,CAAC,SAAS,IAAK,IAAY,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,UAAU,GAC9D,IACH,EACN,MAAC,GAAG,eACF,KAAC,GAAG,IAAC,KAAK,EAAE,EAAE,YAAE,KAAC,IAAI,IAAC,QAAQ,kCAAmB,GAAM,EACvD,KAAC,IAAI,cAAE,IAAI,CAAC,cAAc,IAAK,IAAY,CAAC,aAAa,IAAI,CAAC,GAAQ,IAClE,EAEL,OAAO,IAAI,CACV,KAAC,GAAG,IAAC,SAAS,EAAE,CAAC,YACf,KAAC,IAAI,IAAC,KAAK,EAAC,QAAQ,uCAA8B,GAC9C,CACP,EAEA,UAAU,IAAI,CACb,MAAC,GAAG,IAAC,SAAS,EAAE,CAAC,EAAE,aAAa,EAAC,QAAQ,aACvC,KAAC,IAAI,IAAC,IAAI,mCAAoB,EAC7B,UAAU,CAAC,KAAK,CAAC,CAAC,CAAC,CAClB,MAAC,IAAI,IAAC,KAAK,EAAC,KAAK,+BAAW,UAAU,CAAC,KAAK,IAAQ,CACrD,CAAC,CAAC,CAAC,CACF,MAAC,IAAI,IAAC,KAAK,EAAE,UAAU,CAAC,OAAO,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,KAAK,aAC9C,UAAU,CAAC,OAAO,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,eAAW,UAAU,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC,CAAC,KAAK,eAAW,UAAU,CAAC,IAAI,UAChH,CACR,IACG,CACP,EAEA,aAAa,IAAI,CAChB,MAAC,GAAG,IAAC,SAAS,EAAE,CAAC,EAAE,aAAa,EAAC,QAAQ,aACvC,KAAC,IAAI,IAAC,KAAK,EAAC,KAAK,EAAC,IAAI,+CAAgC,EACtD,KAAC,IAAI,6DAAkD,IACnD,CACP,EAEA,QAAQ,IAAI,CACX,KAAC,GAAG,IAAC,SAAS,EAAE,CAAC,YACf,KAAC,IAAI,IAAC,KAAK,EAAC,QAAQ,4BAAmB,GACnC,CACP,EAEA,OAAO,IAAI,CACV,KAAC,GAAG,IAAC,SAAS,EAAE,CAAC,YACf,KAAC,IAAI,IAAC,KAAK,EAAE,OAAO,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,OAAO,YAAG,OAAO,GAAQ,GACxE,CACP,IACG,IACF,CACP,CAAC;AACJ,CAAC;AAED,SAAS,iBAAiB,CAAC,EAAE,MAAM,EAAE,SAAS,EAG7C;IACC,MAAM,CAAC,IAAI,EAAE,OAAO,CAAC,GAAG,QAAQ,CAAkD,MAAM,CAAC,CAAC;IAC1F,MAAM,CAAC,IAAI,EAAE,OAAO,CAAC,GAAG,QAAQ,CAAC,EAAE,CAAC,CAAC;IACrC,MAAM,CAAC,GAAG,EAAE,MAAM,CAAC,GAAG,QAAQ,CAAC,EAAE,CAAC,CAAC;IACnC,MAAM,CAAC,MAAM,EAAE,SAAS,CAAC,GAAG,QAAQ,CAAC,MAAM,CAAC,CAAC;IAC7C,MAAM,CAAC,KAAK,EAAE,QAAQ,CAAC,GAAG,QAAQ,CAAgB,IAAI,CAAC,CAAC;IACxD,MAAM,CAAC,WAAW,EAAE,cAAc,CAAC,GAAG,QAAQ,CAAyB,IAAI,CAAC,CAAC;IAE7E,QAAQ,CAAC,CAAC,KAAK,EAAE,GAAG,EAAE,EAAE;QACtB,IAAI,GAAG,CAAC,MAAM,IAAI,IAAI,KAAK,UAAU,EAAE,CAAC;YACtC,MAAM,EAAE,CAAC;QACX,CAAC;IACH,CAAC,CAAC,CAAC;IAEH,MAAM,kBAAkB,GAAG,KAAK,EAAE,IAAuB,EAAE,EAAE;QAC3D,SAAS,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QACtB,OAAO,CAAC,UAAU,CAAC,CAAC;QAEpB,IAAI,CAAC;YACH,MAAM,MAAM,GAAG,MAAM,GAAG,CAAC,iBAAiB,CAAC;gBACzC,IAAI;gBACJ,GAAG;gBACH,MAAM,EAAE,IAAI,CAAC,KAAK;aACnB,CAAC,CAAC;YACH,IAAI,MAAM,CAAC,KAAK,EAAE,CAAC;gBACjB,QAAQ,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;gBACvB,OAAO,CAAC,QAAQ,CAAC,CAAC;YACpB,CAAC;iBAAM,CAAC;gBACN,cAAc,CAAC,MAAM,CAAC,IAAI,EAAE,WAAW,IAAI,IAAI,CAAC,CAAC;gBACjD,OAAO,CAAC,MAAM,CAAC,CAAC;gBAChB,UAAU,CAAC,GAAG,EAAE;oBACd,SAAS,EAAE,CAAC;oBACZ,MAAM,EAAE,CAAC;gBACX,CAAC,EAAE,IAAI,CAAC,CAAC;YACX,CAAC;QACH,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,QAAQ,CAAC,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,8BAA8B,CAAC,CAAC;YAC9E,OAAO,CAAC,QAAQ,CAAC,CAAC;QACpB,CAAC;IACH,CAAC,CAAC;IAEF,OAAO,CACL,MAAC,GAAG,IAAC,aAAa,EAAC,QAAQ,aACzB,MAAC,GAAG,IAAC,YAAY,EAAE,CAAC,aAClB,KAAC,IAAI,IAAC,IAAI,6CAA8B,EACxC,KAAC,IAAI,IAAC,QAAQ,6CAA8B,IACxC,EAEN,MAAC,GAAG,IAAC,aAAa,EAAC,QAAQ,EAAC,WAAW,EAAC,OAAO,EAAC,WAAW,EAAC,OAAO,EAAC,QAAQ,EAAE,CAAC,EAAE,QAAQ,EAAE,CAAC,aACzF,IAAI,KAAK,MAAM,IAAI,CAClB,MAAC,GAAG,eACF,KAAC,IAAI,qCAA0B,EAC/B,KAAC,SAAS,IACR,KAAK,EAAE,IAAI,EACX,QAAQ,EAAE,OAAO,EACjB,QAAQ,EAAE,GAAG,EAAE,CAAC,IAAI,CAAC,IAAI,EAAE,IAAI,OAAO,CAAC,KAAK,CAAC,EAC7C,WAAW,EAAC,iBAAiB,GAC7B,IACE,CACP,EAEA,IAAI,KAAK,KAAK,IAAI,CACjB,MAAC,GAAG,IAAC,aAAa,EAAC,QAAQ,aACzB,KAAC,GAAG,IAAC,YAAY,EAAE,CAAC,YAClB,MAAC,IAAI,IAAC,QAAQ,6BAAQ,IAAI,IAAQ,GAC9B,EACN,MAAC,GAAG,eACF,KAAC,IAAI,wBAAa,EAClB,KAAC,SAAS,IACR,KAAK,EAAE,GAAG,EACV,QAAQ,EAAE,MAAM,EAChB,QAAQ,EAAE,GAAG,EAAE,CAAC,GAAG,CAAC,IAAI,EAAE,IAAI,OAAO,CAAC,QAAQ,CAAC,EAC/C,WAAW,EAAC,iCAAiC,GAC7C,IACE,IACF,CACP,EAEA,IAAI,KAAK,QAAQ,IAAI,CACpB,MAAC,GAAG,IAAC,aAAa,EAAC,QAAQ,aACzB,KAAC,GAAG,IAAC,YAAY,EAAE,CAAC,YAClB,MAAC,IAAI,IAAC,QAAQ,6BAAQ,IAAI,IAAQ,GAC9B,EACN,KAAC,GAAG,IAAC,YAAY,EAAE,CAAC,YAClB,MAAC,IAAI,IAAC,QAAQ,4BAAO,GAAG,IAAQ,GAC5B,EACN,KAAC,IAAI,sCAA2B,EAChC,KAAC,WAAW,IACV,KAAK,EAAE;oCACL,EAAE,KAAK,EAAE,oBAAoB,EAAE,KAAK,EAAE,MAAM,EAAE;oCAC9C,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE;oCAC9B,EAAE,KAAK,EAAE,OAAO,EAAE,KAAK,EAAE,OAAO,EAAE;iCACnC,EACD,QAAQ,EAAE,kBAAkB,GAC5B,IACE,CACP,EAEA,IAAI,KAAK,UAAU,IAAI,CACtB,KAAC,IAAI,IAAC,KAAK,EAAC,QAAQ,wCAA+B,CACpD,EAEA,IAAI,KAAK,MAAM,IAAI,WAAW,IAAI,CACjC,MAAC,GAAG,IAAC,aAAa,EAAC,QAAQ,aACzB,KAAC,IAAI,IAAC,KAAK,EAAC,OAAO,yDAA2C,EAC9D,MAAC,GAAG,IAAC,SAAS,EAAE,CAAC,aACf,KAAC,IAAI,IAAC,QAAQ,2BAAY,EAC1B,KAAC,IAAI,cAAE,WAAW,CAAC,EAAE,GAAQ,IACzB,IACF,CACP,EAEA,KAAK,IAAI,CACR,KAAC,GAAG,IAAC,SAAS,EAAE,CAAC,YACf,MAAC,IAAI,IAAC,KAAK,EAAC,KAAK,wBAAS,KAAK,IAAQ,GACnC,CACP,IACG,IACF,CACP,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,gBAAgB,CAAC,EAAE,YAAY,EAAE,OAAO,EAAE,UAAU,EAAE,SAAS,EAAyB;IACtG,IAAI,OAAO,KAAK,QAAQ,EAAE,CAAC;QACzB,OAAO,CACL,KAAC,iBAAiB,IAChB,MAAM,EAAE,GAAG,EAAE,CAAC,UAAU,CAAC,IAAI,CAAC,EAC9B,SAAS,EAAE,SAAS,GACpB,CACH,CAAC;IACJ,CAAC;IAED,IAAI,OAAO,IAAI,OAAO,CAAC,UAAU,CAAC,SAAS,CAAC,EAAE,CAAC;QAC7C,MAAM,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,SAAS,EAAE,EAAE,CAAC,CAAC;QAC9C,OAAO,CACL,KAAC,iBAAiB,IAChB,MAAM,EAAE,MAAM,EACd,YAAY,EAAE,YAAY,EAC1B,MAAM,EAAE,GAAG,EAAE,CAAC,UAAU,CAAC,IAAI,CAAC,EAC9B,SAAS,EAAE,SAAS,GACpB,CACH,CAAC;IACJ,CAAC;IAED,OAAO,CACL,KAAC,eAAe,IACd,YAAY,EAAE,YAAY,EAC1B,QAAQ,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,UAAU,CAAC,UAAU,EAAE,EAAE,CAAC,EAC5C,QAAQ,EAAE,GAAG,EAAE,CAAC,UAAU,CAAC,QAAQ,CAAC,GACpC,CACH,CAAC;AACJ,CAAC"}
|
|
1
|
+
{"version":3,"file":"Destinations.js","sourceRoot":"","sources":["../../../src/tui/views/Destinations.tsx"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Outbound.d.ts","sourceRoot":"","sources":["../../../src/tui/views/Outbound.tsx"],"names":[],"mappings":"AAOA,UAAU,iBAAiB;IACzB,OAAO,EAAE,MAAM,GAAG,IAAI,CAAC;IACvB,UAAU,EAAE,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI,KAAK,IAAI,CAAC;IAC1C,SAAS,EAAE,MAAM,IAAI,CAAC;CACvB;
|
|
1
|
+
{"version":3,"file":"Outbound.d.ts","sourceRoot":"","sources":["../../../src/tui/views/Outbound.tsx"],"names":[],"mappings":"AAOA,UAAU,iBAAiB;IACzB,OAAO,EAAE,MAAM,GAAG,IAAI,CAAC;IACvB,UAAU,EAAE,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI,KAAK,IAAI,CAAC;IAC1C,SAAS,EAAE,MAAM,IAAI,CAAC;CACvB;AA0kBD,wBAAgB,YAAY,CAAC,EAAE,OAAO,EAAE,UAAU,EAAE,SAAS,EAAE,EAAE,iBAAiB,2CAykBjF"}
|
|
@@ -44,6 +44,7 @@ function CreateEndpoint({ applications, onBack, onCreated }) {
|
|
|
44
44
|
const [step, setStep] = useState('app');
|
|
45
45
|
const [selectedAppId, setSelectedAppId] = useState('');
|
|
46
46
|
const [url, setUrl] = useState('');
|
|
47
|
+
const [useStaticIp, setUseStaticIp] = useState(true);
|
|
47
48
|
const [error, setError] = useState(null);
|
|
48
49
|
const [createdEndpoint, setCreatedEndpoint] = useState(null);
|
|
49
50
|
const [secret, setSecret] = useState(null);
|
|
@@ -60,18 +61,19 @@ function CreateEndpoint({ applications, onBack, onCreated }) {
|
|
|
60
61
|
setSelectedAppId(item.value);
|
|
61
62
|
setStep('url');
|
|
62
63
|
};
|
|
63
|
-
const
|
|
64
|
-
|
|
65
|
-
|
|
64
|
+
const handleStaticIpSelect = async (item) => {
|
|
65
|
+
const staticIp = item.value === 'yes';
|
|
66
|
+
setUseStaticIp(staticIp);
|
|
66
67
|
setStep('creating');
|
|
67
68
|
try {
|
|
68
69
|
const result = await api.createWebhookEndpoint({
|
|
69
70
|
applicationId: selectedAppId,
|
|
70
71
|
url: url.trim(),
|
|
72
|
+
useStaticIp: staticIp,
|
|
71
73
|
});
|
|
72
74
|
if (result.error) {
|
|
73
75
|
setError(result.error);
|
|
74
|
-
setStep('
|
|
76
|
+
setStep('staticIp');
|
|
75
77
|
}
|
|
76
78
|
else {
|
|
77
79
|
const resData = result.data?.data || result.data;
|
|
@@ -83,10 +85,13 @@ function CreateEndpoint({ applications, onBack, onCreated }) {
|
|
|
83
85
|
}
|
|
84
86
|
catch (err) {
|
|
85
87
|
setError(err instanceof Error ? err.message : 'Failed to create');
|
|
86
|
-
setStep('
|
|
88
|
+
setStep('staticIp');
|
|
87
89
|
}
|
|
88
90
|
};
|
|
89
|
-
return (_jsxs(Box, { flexDirection: "column", children: [_jsxs(Box, { marginBottom: 1, children: [_jsx(Text, { bold: true, children: "Create Endpoint" }), _jsx(Text, { dimColor: true, children: " - Esc to cancel" })] }), _jsxs(Box, { flexDirection: "column", borderStyle: "round", borderColor: "green", paddingX: 2, paddingY: 1, children: [step === 'app' && (_jsxs(Box, { flexDirection: "column", children: [_jsx(Text, { children: "Select application:" }), appItems.length === 0 ? (_jsx(Text, { color: "yellow", children: "No applications. Create an application first." })) : (_jsx(SelectInput, { items: appItems, onSelect: handleAppSelect }))] })), step === 'url' && (_jsxs(Box, { flexDirection: "column", children: [_jsxs(Text, { dimColor: true, children: ["App: ", applications.find(a => a.id === selectedAppId)?.name] }), _jsxs(Box, { marginTop: 1, children: [_jsx(Text, { children: "Endpoint URL: " }), _jsx(TextInput, { value: url, onChange: setUrl, onSubmit:
|
|
91
|
+
return (_jsxs(Box, { flexDirection: "column", children: [_jsxs(Box, { marginBottom: 1, children: [_jsx(Text, { bold: true, children: "Create Endpoint" }), _jsx(Text, { dimColor: true, children: " - Esc to cancel" })] }), _jsxs(Box, { flexDirection: "column", borderStyle: "round", borderColor: "green", paddingX: 2, paddingY: 1, children: [step === 'app' && (_jsxs(Box, { flexDirection: "column", children: [_jsx(Text, { children: "Select application:" }), appItems.length === 0 ? (_jsx(Text, { color: "yellow", children: "No applications. Create an application first." })) : (_jsx(SelectInput, { items: appItems, onSelect: handleAppSelect }))] })), step === 'url' && (_jsxs(Box, { flexDirection: "column", children: [_jsxs(Text, { dimColor: true, children: ["App: ", applications.find(a => a.id === selectedAppId)?.name] }), _jsxs(Box, { marginTop: 1, children: [_jsx(Text, { children: "Endpoint URL: " }), _jsx(TextInput, { value: url, onChange: setUrl, onSubmit: () => url.trim() && setStep('staticIp'), placeholder: "https://api.example.com/webhook" })] })] })), step === 'staticIp' && (_jsxs(Box, { flexDirection: "column", children: [_jsxs(Text, { dimColor: true, children: ["App: ", applications.find(a => a.id === selectedAppId)?.name] }), _jsx(Box, { marginBottom: 1, children: _jsxs(Text, { dimColor: true, children: ["URL: ", url] }) }), _jsx(Text, { children: "Enable Static IP delivery? (Pro/Business plans)" }), _jsx(SelectInput, { items: [
|
|
92
|
+
{ label: 'Yes - Route via static IP (Recommended)', value: 'yes' },
|
|
93
|
+
{ label: 'No - Use direct delivery', value: 'no' },
|
|
94
|
+
], onSelect: handleStaticIpSelect })] })), step === 'creating' && (_jsxs(Box, { children: [_jsx(Text, { color: "green", children: _jsx(Spinner, { type: "dots" }) }), _jsx(Text, { children: " Creating endpoint..." })] })), step === 'done' && createdEndpoint && (_jsxs(Box, { flexDirection: "column", children: [_jsx(Text, { color: "green", bold: true, children: "Endpoint created!" }), _jsxs(Box, { marginTop: 1, children: [_jsx(Text, { dimColor: true, children: "ID: " }), _jsx(Text, { children: createdEndpoint.id })] }), _jsxs(Box, { children: [_jsx(Text, { dimColor: true, children: "URL: " }), _jsx(Text, { color: "blue", children: createdEndpoint.url })] }), secret && (_jsxs(Box, { marginTop: 1, flexDirection: "column", children: [_jsx(Text, { color: "yellow", bold: true, children: "Save this secret - it will not be shown again:" }), _jsx(Box, { marginTop: 1, children: _jsx(Text, { color: "cyan", bold: true, children: secret }) })] }))] })), error && (_jsx(Box, { marginTop: 1, children: _jsxs(Text, { color: "red", children: ["Error: ", error] }) }))] })] }));
|
|
90
95
|
}
|
|
91
96
|
// Helper to get active status from app (API uses isDisabled, not is_active)
|
|
92
97
|
function getAppIsActive(app) {
|
|
@@ -264,7 +269,11 @@ function EndpointDetail({ endpointId, endpoints, onBack, onRefresh }) {
|
|
|
264
269
|
const state = ep.circuit_state || ep.circuitState;
|
|
265
270
|
const color = state === 'closed' ? 'green' : state === 'open' ? 'red' : 'yellow';
|
|
266
271
|
return _jsx(Text, { color: color, children: state || 'unknown' });
|
|
267
|
-
})()] }), _jsxs(Box, { children: [_jsx(Box, { width: 16, children: _jsx(Text, { dimColor: true, children: "Event Types:" }) }), _jsx(Text, { children: eventTypes })] }), _jsxs(Box, { children: [_jsx(Box, { width: 16, children: _jsx(Text, { dimColor: true, children: "Timeout:" }) }), _jsxs(Text, { children: [ep.timeout_ms || ep.timeoutMs || 30000, "ms"] })] }), _jsxs(Box, { children: [_jsx(Box, { width: 16, children: _jsx(Text, { dimColor: true, children: "
|
|
272
|
+
})()] }), _jsxs(Box, { children: [_jsx(Box, { width: 16, children: _jsx(Text, { dimColor: true, children: "Event Types:" }) }), _jsx(Text, { children: eventTypes })] }), _jsxs(Box, { children: [_jsx(Box, { width: 16, children: _jsx(Text, { dimColor: true, children: "Timeout:" }) }), _jsxs(Text, { children: [ep.timeout_ms || ep.timeoutMs || 30000, "ms"] })] }), _jsxs(Box, { children: [_jsx(Box, { width: 16, children: _jsx(Text, { dimColor: true, children: "Static IP:" }) }), (() => {
|
|
273
|
+
const staticIp = ep.use_static_ip ?? ep.useStaticIp;
|
|
274
|
+
const enabled = staticIp === 1 || staticIp === true;
|
|
275
|
+
return _jsx(Text, { color: enabled ? 'green' : 'gray', children: enabled ? 'Enabled' : 'Disabled' });
|
|
276
|
+
})()] }), _jsxs(Box, { children: [_jsx(Box, { width: 16, children: _jsx(Text, { dimColor: true, children: "Messages:" }) }), _jsx(Text, { children: ep.message_count ?? ep.messageCount ?? 0 })] }), (ep.success_rate !== undefined || ep.successRate !== undefined) && (_jsxs(Box, { children: [_jsx(Box, { width: 16, children: _jsx(Text, { dimColor: true, children: "Success Rate:" }) }), _jsxs(Text, { children: [((ep.success_rate ?? ep.successRate) * 100).toFixed(1), "%"] })] })), _jsxs(Box, { children: [_jsx(Box, { width: 16, children: _jsx(Text, { dimColor: true, children: "Created:" }) }), _jsx(Text, { dimColor: true, children: getDate(ep, 'createdAt', 'created_at') })] }), testing && (_jsx(Box, { marginTop: 1, children: _jsxs(Text, { color: "yellow", children: [_jsx(Spinner, { type: "dots" }), " Testing..."] }) })), testResult && (_jsxs(Box, { marginTop: 1, flexDirection: "column", children: [_jsx(Text, { bold: true, children: "Test Result:" }), testResult.error ? (_jsxs(Text, { color: "red", children: ["Error: ", testResult.error] })) : (_jsxs(Text, { color: testResult.success ? 'green' : 'red', children: [testResult.success ? 'Passed' : 'Failed', " - Status: ", testResult.status > 0 ? testResult.status : 'N/A', " | Time: ", testResult.time, "ms"] }))] })), confirmDelete && (_jsxs(Box, { marginTop: 1, flexDirection: "column", children: [_jsx(Text, { color: "red", bold: true, children: "Delete this endpoint?" }), _jsx(Text, { children: "Press 'y' to confirm, 'n' or Esc to cancel" })] })), deleting && (_jsx(Box, { marginTop: 1, children: _jsxs(Text, { color: "yellow", children: [_jsx(Spinner, { type: "dots" }), " Deleting..."] }) })), message && (_jsx(Box, { marginTop: 1, children: _jsx(Text, { color: message.startsWith('Error') ? 'red' : 'green', children: message }) }))] })] }));
|
|
268
277
|
}
|
|
269
278
|
export function OutboundView({ subView, onNavigate, onRefresh }) {
|
|
270
279
|
const [activeSubTab, setActiveSubTab] = useState('apps');
|