hazo_logs 1.0.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/index.d.ts +27 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +28 -0
- package/dist/index.js.map +1 -0
- package/dist/lib/config_loader.d.ts +12 -0
- package/dist/lib/config_loader.d.ts.map +1 -0
- package/dist/lib/config_loader.js +81 -0
- package/dist/lib/config_loader.js.map +1 -0
- package/dist/lib/context/index.d.ts +5 -0
- package/dist/lib/context/index.d.ts.map +1 -0
- package/dist/lib/context/index.js +5 -0
- package/dist/lib/context/index.js.map +1 -0
- package/dist/lib/context/log-context.d.ts +83 -0
- package/dist/lib/context/log-context.d.ts.map +1 -0
- package/dist/lib/context/log-context.js +136 -0
- package/dist/lib/context/log-context.js.map +1 -0
- package/dist/lib/hazo_logger.d.ts +40 -0
- package/dist/lib/hazo_logger.d.ts.map +1 -0
- package/dist/lib/hazo_logger.js +82 -0
- package/dist/lib/hazo_logger.js.map +1 -0
- package/dist/lib/index.d.ts +7 -0
- package/dist/lib/index.d.ts.map +1 -0
- package/dist/lib/index.js +5 -0
- package/dist/lib/index.js.map +1 -0
- package/dist/lib/log-reader.d.ts +51 -0
- package/dist/lib/log-reader.d.ts.map +1 -0
- package/dist/lib/log-reader.js +248 -0
- package/dist/lib/log-reader.js.map +1 -0
- package/dist/lib/package_logger.d.ts +27 -0
- package/dist/lib/package_logger.d.ts.map +1 -0
- package/dist/lib/package_logger.js +57 -0
- package/dist/lib/package_logger.js.map +1 -0
- package/dist/lib/transports/console_transport.d.ts +10 -0
- package/dist/lib/transports/console_transport.d.ts.map +1 -0
- package/dist/lib/transports/console_transport.js +21 -0
- package/dist/lib/transports/console_transport.js.map +1 -0
- package/dist/lib/transports/file_transport.d.ts +10 -0
- package/dist/lib/transports/file_transport.d.ts.map +1 -0
- package/dist/lib/transports/file_transport.js +56 -0
- package/dist/lib/transports/file_transport.js.map +1 -0
- package/dist/lib/transports/index.d.ts +3 -0
- package/dist/lib/transports/index.d.ts.map +1 -0
- package/dist/lib/transports/index.js +3 -0
- package/dist/lib/transports/index.js.map +1 -0
- package/dist/lib/types.d.ts +66 -0
- package/dist/lib/types.d.ts.map +1 -0
- package/dist/lib/types.js +5 -0
- package/dist/lib/types.js.map +1 -0
- package/dist/lib/utils/caller_info.d.ts +13 -0
- package/dist/lib/utils/caller_info.d.ts.map +1 -0
- package/dist/lib/utils/caller_info.js +65 -0
- package/dist/lib/utils/caller_info.js.map +1 -0
- package/dist/lib/utils/constants.d.ts +16 -0
- package/dist/lib/utils/constants.d.ts.map +1 -0
- package/dist/lib/utils/constants.js +27 -0
- package/dist/lib/utils/constants.js.map +1 -0
- package/dist/lib/utils/index.d.ts +3 -0
- package/dist/lib/utils/index.d.ts.map +1 -0
- package/dist/lib/utils/index.js +3 -0
- package/dist/lib/utils/index.js.map +1 -0
- package/dist/ui/api/log-api-handler.d.ts +21 -0
- package/dist/ui/api/log-api-handler.d.ts.map +1 -0
- package/dist/ui/api/log-api-handler.js +151 -0
- package/dist/ui/api/log-api-handler.js.map +1 -0
- package/dist/ui/components/LogLevelBadge.d.ts +6 -0
- package/dist/ui/components/LogLevelBadge.d.ts.map +1 -0
- package/dist/ui/components/LogLevelBadge.js +16 -0
- package/dist/ui/components/LogLevelBadge.js.map +1 -0
- package/dist/ui/components/LogPagination.d.ts +6 -0
- package/dist/ui/components/LogPagination.d.ts.map +1 -0
- package/dist/ui/components/LogPagination.js +14 -0
- package/dist/ui/components/LogPagination.js.map +1 -0
- package/dist/ui/components/LogTable.d.ts +6 -0
- package/dist/ui/components/LogTable.d.ts.map +1 -0
- package/dist/ui/components/LogTable.js +33 -0
- package/dist/ui/components/LogTable.js.map +1 -0
- package/dist/ui/components/LogTimeline.d.ts +10 -0
- package/dist/ui/components/LogTimeline.d.ts.map +1 -0
- package/dist/ui/components/LogTimeline.js +95 -0
- package/dist/ui/components/LogTimeline.js.map +1 -0
- package/dist/ui/components/LogViewerPage.d.ts +6 -0
- package/dist/ui/components/LogViewerPage.d.ts.map +1 -0
- package/dist/ui/components/LogViewerPage.js +273 -0
- package/dist/ui/components/LogViewerPage.js.map +1 -0
- package/dist/ui/index.d.ts +12 -0
- package/dist/ui/index.d.ts.map +1 -0
- package/dist/ui/index.js +12 -0
- package/dist/ui/index.js.map +1 -0
- package/dist/ui/middleware/with-log-auth.d.ts +25 -0
- package/dist/ui/middleware/with-log-auth.d.ts.map +1 -0
- package/dist/ui/middleware/with-log-auth.js +49 -0
- package/dist/ui/middleware/with-log-auth.js.map +1 -0
- package/dist/ui/server.d.ts +9 -0
- package/dist/ui/server.d.ts.map +1 -0
- package/dist/ui/server.js +10 -0
- package/dist/ui/server.js.map +1 -0
- package/dist/ui/types.d.ts +135 -0
- package/dist/ui/types.d.ts.map +1 -0
- package/dist/ui/types.js +5 -0
- package/dist/ui/types.js.map +1 -0
- package/hazo_logs_config.example.ini +47 -0
- package/package.json +81 -0
|
@@ -0,0 +1,273 @@
|
|
|
1
|
+
'use client';
|
|
2
|
+
import { jsx as _jsx, jsxs as _jsxs, Fragment as _Fragment } from "react/jsx-runtime";
|
|
3
|
+
import { useState, useEffect, useCallback, useMemo } from 'react';
|
|
4
|
+
import { HazoUiMultiFilterDialog, HazoUiMultiSortDialog, } from 'hazo_ui';
|
|
5
|
+
import { LogTable } from './LogTable.js';
|
|
6
|
+
import { LogTimeline } from './LogTimeline.js';
|
|
7
|
+
import { LogPagination } from './LogPagination.js';
|
|
8
|
+
const LOG_LEVELS = ['error', 'warn', 'info', 'debug'];
|
|
9
|
+
/**
|
|
10
|
+
* Main Log Viewer Page Component
|
|
11
|
+
*/
|
|
12
|
+
export function LogViewerPage({ apiBasePath = '/api/logs', title = 'Log Viewer', className = '', embedded = false, showHeader = true, }) {
|
|
13
|
+
// State
|
|
14
|
+
const [logs, setLogs] = useState([]);
|
|
15
|
+
const [isLoading, setIsLoading] = useState(true);
|
|
16
|
+
const [error, setError] = useState(null);
|
|
17
|
+
// Tab state
|
|
18
|
+
const [activeTab, setActiveTab] = useState('table');
|
|
19
|
+
// Pagination state
|
|
20
|
+
const [page, setPage] = useState(1);
|
|
21
|
+
const [pageSize, setPageSize] = useState(50);
|
|
22
|
+
const [total, setTotal] = useState(0);
|
|
23
|
+
const [totalPages, setTotalPages] = useState(0);
|
|
24
|
+
// Date filter state
|
|
25
|
+
const [selectedDate, setSelectedDate] = useState(() => {
|
|
26
|
+
const now = new Date();
|
|
27
|
+
return now.toISOString().split('T')[0];
|
|
28
|
+
});
|
|
29
|
+
const [availableDates, setAvailableDates] = useState([]);
|
|
30
|
+
const [availablePackages, setAvailablePackages] = useState([]);
|
|
31
|
+
const [availableExecutionIds, setAvailableExecutionIds] = useState([]);
|
|
32
|
+
const [availableSessionIds, setAvailableSessionIds] = useState([]);
|
|
33
|
+
const [availableReferences, setAvailableReferences] = useState([]);
|
|
34
|
+
// Filter state (hazo_ui format)
|
|
35
|
+
const [filters, setFilters] = useState([]);
|
|
36
|
+
// Sort state (hazo_ui format)
|
|
37
|
+
const [sorts, setSorts] = useState([
|
|
38
|
+
{ field: 'timestamp', direction: 'desc' },
|
|
39
|
+
]);
|
|
40
|
+
// Timeline-specific state
|
|
41
|
+
const [timelineSelectedSession, setTimelineSelectedSession] = useState(null);
|
|
42
|
+
// Fetch available dates
|
|
43
|
+
const fetchDates = useCallback(async () => {
|
|
44
|
+
try {
|
|
45
|
+
const response = await fetch(`${apiBasePath}?action=dates`);
|
|
46
|
+
if (response.ok) {
|
|
47
|
+
const data = (await response.json());
|
|
48
|
+
setAvailableDates(data.dates);
|
|
49
|
+
if (data.dates.length > 0 && !data.dates.includes(selectedDate)) {
|
|
50
|
+
setSelectedDate(data.dates[0]);
|
|
51
|
+
}
|
|
52
|
+
}
|
|
53
|
+
}
|
|
54
|
+
catch (err) {
|
|
55
|
+
console.error('Failed to fetch dates:', err);
|
|
56
|
+
}
|
|
57
|
+
}, [apiBasePath, selectedDate]);
|
|
58
|
+
// Fetch available packages
|
|
59
|
+
const fetchPackages = useCallback(async () => {
|
|
60
|
+
try {
|
|
61
|
+
const response = await fetch(`${apiBasePath}?action=packages&date=${selectedDate}`);
|
|
62
|
+
if (response.ok) {
|
|
63
|
+
const data = (await response.json());
|
|
64
|
+
setAvailablePackages(data.packages);
|
|
65
|
+
}
|
|
66
|
+
}
|
|
67
|
+
catch (err) {
|
|
68
|
+
console.error('Failed to fetch packages:', err);
|
|
69
|
+
}
|
|
70
|
+
}, [apiBasePath, selectedDate]);
|
|
71
|
+
// Fetch available execution IDs
|
|
72
|
+
const fetchExecutionIds = useCallback(async () => {
|
|
73
|
+
try {
|
|
74
|
+
const response = await fetch(`${apiBasePath}?action=executionIds&date=${selectedDate}`);
|
|
75
|
+
if (response.ok) {
|
|
76
|
+
const data = (await response.json());
|
|
77
|
+
setAvailableExecutionIds(data.executionIds);
|
|
78
|
+
}
|
|
79
|
+
}
|
|
80
|
+
catch (err) {
|
|
81
|
+
console.error('Failed to fetch execution IDs:', err);
|
|
82
|
+
}
|
|
83
|
+
}, [apiBasePath, selectedDate]);
|
|
84
|
+
// Fetch available session IDs
|
|
85
|
+
const fetchSessionIds = useCallback(async () => {
|
|
86
|
+
try {
|
|
87
|
+
const response = await fetch(`${apiBasePath}?action=sessionIds&date=${selectedDate}`);
|
|
88
|
+
if (response.ok) {
|
|
89
|
+
const data = (await response.json());
|
|
90
|
+
setAvailableSessionIds(data.sessionIds);
|
|
91
|
+
}
|
|
92
|
+
}
|
|
93
|
+
catch (err) {
|
|
94
|
+
console.error('Failed to fetch session IDs:', err);
|
|
95
|
+
}
|
|
96
|
+
}, [apiBasePath, selectedDate]);
|
|
97
|
+
// Fetch available references
|
|
98
|
+
const fetchReferences = useCallback(async () => {
|
|
99
|
+
try {
|
|
100
|
+
const response = await fetch(`${apiBasePath}?action=references&date=${selectedDate}`);
|
|
101
|
+
if (response.ok) {
|
|
102
|
+
const data = (await response.json());
|
|
103
|
+
setAvailableReferences(data.references);
|
|
104
|
+
}
|
|
105
|
+
}
|
|
106
|
+
catch (err) {
|
|
107
|
+
console.error('Failed to fetch references:', err);
|
|
108
|
+
}
|
|
109
|
+
}, [apiBasePath, selectedDate]);
|
|
110
|
+
// Fetch logs
|
|
111
|
+
const fetchLogs = useCallback(async () => {
|
|
112
|
+
setIsLoading(true);
|
|
113
|
+
setError(null);
|
|
114
|
+
try {
|
|
115
|
+
const params = new URLSearchParams();
|
|
116
|
+
params.set('date', selectedDate);
|
|
117
|
+
params.set('page', page.toString());
|
|
118
|
+
params.set('pageSize', pageSize.toString());
|
|
119
|
+
// Apply filters from hazo_ui format
|
|
120
|
+
const levelFilters = filters.filter(f => f.field === 'level').map(f => f.value);
|
|
121
|
+
if (levelFilters.length > 0) {
|
|
122
|
+
params.set('level', levelFilters.join(','));
|
|
123
|
+
}
|
|
124
|
+
const packageFilters = filters.filter(f => f.field === 'package').map(f => f.value);
|
|
125
|
+
if (packageFilters.length > 0) {
|
|
126
|
+
params.set('package', packageFilters.join(','));
|
|
127
|
+
}
|
|
128
|
+
const executionIdFilters = filters.filter(f => f.field === 'executionId').map(f => f.value);
|
|
129
|
+
if (executionIdFilters.length > 0) {
|
|
130
|
+
params.set('executionId', executionIdFilters.join(','));
|
|
131
|
+
}
|
|
132
|
+
const sessionIdFilters = filters.filter(f => f.field === 'sessionId').map(f => f.value);
|
|
133
|
+
if (sessionIdFilters.length > 0) {
|
|
134
|
+
params.set('sessionId', sessionIdFilters.join(','));
|
|
135
|
+
}
|
|
136
|
+
const referenceFilters = filters.filter(f => f.field === 'reference').map(f => f.value);
|
|
137
|
+
if (referenceFilters.length > 0) {
|
|
138
|
+
params.set('reference', referenceFilters.join(','));
|
|
139
|
+
}
|
|
140
|
+
const searchFilter = filters.find(f => f.field === 'search');
|
|
141
|
+
if (searchFilter?.value) {
|
|
142
|
+
params.set('search', searchFilter.value);
|
|
143
|
+
}
|
|
144
|
+
// Apply sorting from hazo_ui format
|
|
145
|
+
if (sorts.length > 0) {
|
|
146
|
+
params.set('sortBy', sorts[0].field);
|
|
147
|
+
params.set('sortOrder', sorts[0].direction);
|
|
148
|
+
}
|
|
149
|
+
const response = await fetch(`${apiBasePath}?${params.toString()}`);
|
|
150
|
+
if (!response.ok) {
|
|
151
|
+
const errorData = (await response.json());
|
|
152
|
+
throw new Error(errorData.message || 'Failed to fetch logs');
|
|
153
|
+
}
|
|
154
|
+
const data = (await response.json());
|
|
155
|
+
setLogs(data.logs);
|
|
156
|
+
setTotal(data.total);
|
|
157
|
+
setTotalPages(data.totalPages);
|
|
158
|
+
}
|
|
159
|
+
catch (err) {
|
|
160
|
+
setError(err instanceof Error ? err.message : 'Failed to fetch logs');
|
|
161
|
+
setLogs([]);
|
|
162
|
+
}
|
|
163
|
+
finally {
|
|
164
|
+
setIsLoading(false);
|
|
165
|
+
}
|
|
166
|
+
}, [apiBasePath, selectedDate, page, pageSize, filters, sorts]);
|
|
167
|
+
// Initial load
|
|
168
|
+
useEffect(() => {
|
|
169
|
+
fetchDates();
|
|
170
|
+
}, [fetchDates]);
|
|
171
|
+
// Fetch filter options when date changes
|
|
172
|
+
useEffect(() => {
|
|
173
|
+
fetchPackages();
|
|
174
|
+
fetchExecutionIds();
|
|
175
|
+
fetchSessionIds();
|
|
176
|
+
fetchReferences();
|
|
177
|
+
}, [fetchPackages, fetchExecutionIds, fetchSessionIds, fetchReferences]);
|
|
178
|
+
// Fetch logs when dependencies change
|
|
179
|
+
useEffect(() => {
|
|
180
|
+
fetchLogs();
|
|
181
|
+
}, [fetchLogs]);
|
|
182
|
+
// Handle filter changes from hazo_ui
|
|
183
|
+
const handleFilterChange = (newFilters) => {
|
|
184
|
+
setFilters(newFilters);
|
|
185
|
+
setPage(1);
|
|
186
|
+
};
|
|
187
|
+
// Handle sort changes from hazo_ui
|
|
188
|
+
const handleSortChange = (newSorts) => {
|
|
189
|
+
setSorts(newSorts);
|
|
190
|
+
setPage(1);
|
|
191
|
+
};
|
|
192
|
+
// Handle page size change
|
|
193
|
+
const handlePageSizeChange = (newSize) => {
|
|
194
|
+
setPageSize(newSize);
|
|
195
|
+
setPage(1);
|
|
196
|
+
};
|
|
197
|
+
// Handle refresh
|
|
198
|
+
const handleRefresh = () => {
|
|
199
|
+
fetchLogs();
|
|
200
|
+
};
|
|
201
|
+
// Filter fields configuration for hazo_ui
|
|
202
|
+
const filterFields = useMemo(() => [
|
|
203
|
+
{
|
|
204
|
+
value: 'level',
|
|
205
|
+
label: 'Log Level',
|
|
206
|
+
type: 'combobox',
|
|
207
|
+
comboboxOptions: LOG_LEVELS.map(level => ({
|
|
208
|
+
value: level,
|
|
209
|
+
label: level.toUpperCase(),
|
|
210
|
+
})),
|
|
211
|
+
},
|
|
212
|
+
{
|
|
213
|
+
value: 'package',
|
|
214
|
+
label: 'Package',
|
|
215
|
+
type: 'combobox',
|
|
216
|
+
comboboxOptions: availablePackages.map(pkg => ({ value: pkg, label: pkg })),
|
|
217
|
+
},
|
|
218
|
+
{
|
|
219
|
+
value: 'executionId',
|
|
220
|
+
label: 'Execution',
|
|
221
|
+
type: 'combobox',
|
|
222
|
+
comboboxOptions: availableExecutionIds.map(id => ({ value: id, label: id })),
|
|
223
|
+
},
|
|
224
|
+
{
|
|
225
|
+
value: 'sessionId',
|
|
226
|
+
label: 'Session',
|
|
227
|
+
type: 'combobox',
|
|
228
|
+
comboboxOptions: availableSessionIds.map(id => ({ value: id, label: id })),
|
|
229
|
+
},
|
|
230
|
+
{
|
|
231
|
+
value: 'reference',
|
|
232
|
+
label: 'Reference',
|
|
233
|
+
type: 'combobox',
|
|
234
|
+
comboboxOptions: availableReferences.map(ref => ({ value: ref, label: ref })),
|
|
235
|
+
},
|
|
236
|
+
{
|
|
237
|
+
value: 'search',
|
|
238
|
+
label: 'Search',
|
|
239
|
+
type: 'text',
|
|
240
|
+
},
|
|
241
|
+
], [availablePackages, availableExecutionIds, availableSessionIds, availableReferences]);
|
|
242
|
+
// Sort fields configuration for hazo_ui
|
|
243
|
+
const sortFields = useMemo(() => [
|
|
244
|
+
{ value: 'timestamp', label: 'Timestamp' },
|
|
245
|
+
{ value: 'level', label: 'Level' },
|
|
246
|
+
{ value: 'package', label: 'Package' },
|
|
247
|
+
{ value: 'executionId', label: 'Execution' },
|
|
248
|
+
{ value: 'sessionId', label: 'Session' },
|
|
249
|
+
{ value: 'reference', label: 'Reference' },
|
|
250
|
+
], []);
|
|
251
|
+
// Container classes based on embedded mode
|
|
252
|
+
const containerClass = embedded
|
|
253
|
+
? `flex flex-col h-full ${className}`
|
|
254
|
+
: `min-h-screen bg-gray-50 ${className}`;
|
|
255
|
+
const headerClass = embedded
|
|
256
|
+
? 'p-4 border-b bg-white'
|
|
257
|
+
: 'bg-white shadow';
|
|
258
|
+
const headerInnerClass = embedded
|
|
259
|
+
? ''
|
|
260
|
+
: 'px-4 sm:px-6 lg:px-8 py-4';
|
|
261
|
+
const contentClass = embedded
|
|
262
|
+
? 'flex-1 overflow-auto p-4'
|
|
263
|
+
: 'px-4 sm:px-6 lg:px-8 py-6';
|
|
264
|
+
return (_jsxs("div", { className: containerClass, children: [showHeader && (_jsx("div", { className: headerClass, children: _jsxs("div", { className: headerInnerClass, children: [_jsxs("div", { className: "flex items-center justify-between flex-wrap gap-4", children: [_jsx("h1", { className: embedded ? 'text-xl font-bold text-gray-900' : 'text-2xl font-bold text-gray-900', children: title }), _jsxs("div", { className: "flex items-center gap-3 flex-wrap", children: [_jsxs("div", { className: "flex items-center gap-2", children: [_jsx("label", { htmlFor: "date", className: "text-sm font-medium text-gray-700", children: "Date:" }), _jsx("select", { id: "date", value: selectedDate, onChange: (e) => {
|
|
265
|
+
setSelectedDate(e.target.value);
|
|
266
|
+
setPage(1);
|
|
267
|
+
}, className: "rounded-md border border-gray-300 bg-white px-3 py-1.5 text-sm shadow-sm focus:border-blue-500 focus:ring-1 focus:ring-blue-500", children: availableDates.map((date) => (_jsx("option", { value: date, children: date }, date))) })] }), _jsx(HazoUiMultiFilterDialog, { availableFields: filterFields, initialFilters: filters, onFilterChange: handleFilterChange }), _jsx(HazoUiMultiSortDialog, { availableFields: sortFields, initialSortFields: sorts, onSortChange: handleSortChange }), _jsx("button", { onClick: handleRefresh, disabled: isLoading, className: "px-4 py-1.5 text-sm font-medium text-white bg-blue-600 rounded-md hover:bg-blue-700 focus:outline-none focus:ring-2 focus:ring-offset-2 focus:ring-blue-500 disabled:opacity-50", children: isLoading ? 'Loading...' : 'Refresh' })] })] }), filters.length > 0 && (_jsxs("div", { className: "mt-3 flex items-center gap-2 flex-wrap", children: [_jsx("span", { className: "text-sm text-gray-500", children: "Active filters:" }), filters.map((filter, index) => (_jsxs("span", { className: "inline-flex items-center gap-1 px-2 py-1 rounded-full text-xs font-medium bg-blue-100 text-blue-800", children: [filter.field, ": ", String(filter.value)] }, `${filter.field}-${index}`))), _jsx("button", { onClick: () => handleFilterChange([]), className: "text-xs text-gray-500 hover:text-gray-700 underline", children: "Clear all" })] }))] }) })), _jsx("div", { className: contentClass, children: error ? (_jsx("div", { className: "bg-red-50 border border-red-200 rounded-md p-4 text-red-700", children: error })) : (_jsxs("div", { className: embedded ? 'bg-white rounded-lg overflow-hidden border' : 'bg-white shadow rounded-lg overflow-hidden', children: [_jsx("div", { className: "border-b border-gray-200", children: _jsxs("nav", { className: "flex -mb-px", children: [_jsx("button", { onClick: () => setActiveTab('table'), className: `px-6 py-3 text-sm font-medium border-b-2 ${activeTab === 'table'
|
|
268
|
+
? 'border-blue-500 text-blue-600'
|
|
269
|
+
: 'border-transparent text-gray-500 hover:text-gray-700 hover:border-gray-300'}`, children: "Table View" }), _jsx("button", { onClick: () => setActiveTab('timeline'), className: `px-6 py-3 text-sm font-medium border-b-2 ${activeTab === 'timeline'
|
|
270
|
+
? 'border-blue-500 text-blue-600'
|
|
271
|
+
: 'border-transparent text-gray-500 hover:text-gray-700 hover:border-gray-300'}`, children: "Timeline View" })] }) }), activeTab === 'table' ? (_jsxs(_Fragment, { children: [_jsx(LogTable, { logs: logs, isLoading: isLoading }), !isLoading && logs.length > 0 && (_jsx(LogPagination, { currentPage: page, totalPages: totalPages, pageSize: pageSize, total: total, onPageChange: setPage, onPageSizeChange: handlePageSizeChange }))] })) : (_jsx(LogTimeline, { logs: logs, isLoading: isLoading, availableSessions: availableSessionIds, selectedSession: timelineSelectedSession ?? undefined, onSessionChange: setTimelineSelectedSession, groupByPackage: true, showDepthIndentation: true }))] })) })] }));
|
|
272
|
+
}
|
|
273
|
+
//# sourceMappingURL=LogViewerPage.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"LogViewerPage.js","sourceRoot":"","sources":["../../../src/ui/components/LogViewerPage.tsx"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* UI exports for hazo_logs
|
|
3
|
+
*
|
|
4
|
+
* Client-side components only. For server-side API handlers, use 'hazo_logs/ui/server'
|
|
5
|
+
*/
|
|
6
|
+
export { LogViewerPage } from './components/LogViewerPage.js';
|
|
7
|
+
export { LogTable } from './components/LogTable.js';
|
|
8
|
+
export { LogTimeline } from './components/LogTimeline.js';
|
|
9
|
+
export { LogPagination } from './components/LogPagination.js';
|
|
10
|
+
export { LogLevelBadge } from './components/LogLevelBadge.js';
|
|
11
|
+
export type { LogViewerPageProps, LogTableProps, LogTimelineProps, LogPaginationProps, LogLevelBadgeProps, LogApiConfig, LogApiHandler, AuthCheckFn, LogEntryDisplay, LogQueryResponse, LogDatesResponse, LogPackagesResponse, } from './types.js';
|
|
12
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/ui/index.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAGH,OAAO,EAAE,aAAa,EAAE,MAAM,+BAA+B,CAAC;AAC9D,OAAO,EAAE,QAAQ,EAAE,MAAM,0BAA0B,CAAC;AACpD,OAAO,EAAE,WAAW,EAAE,MAAM,6BAA6B,CAAC;AAC1D,OAAO,EAAE,aAAa,EAAE,MAAM,+BAA+B,CAAC;AAC9D,OAAO,EAAE,aAAa,EAAE,MAAM,+BAA+B,CAAC;AAG9D,YAAY,EACV,kBAAkB,EAClB,aAAa,EACb,gBAAgB,EAChB,kBAAkB,EAClB,kBAAkB,EAClB,YAAY,EACZ,aAAa,EACb,WAAW,EACX,eAAe,EACf,gBAAgB,EAChB,gBAAgB,EAChB,mBAAmB,GACpB,MAAM,YAAY,CAAC"}
|
package/dist/ui/index.js
ADDED
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* UI exports for hazo_logs
|
|
3
|
+
*
|
|
4
|
+
* Client-side components only. For server-side API handlers, use 'hazo_logs/ui/server'
|
|
5
|
+
*/
|
|
6
|
+
// Components (client-side only)
|
|
7
|
+
export { LogViewerPage } from './components/LogViewerPage.js';
|
|
8
|
+
export { LogTable } from './components/LogTable.js';
|
|
9
|
+
export { LogTimeline } from './components/LogTimeline.js';
|
|
10
|
+
export { LogPagination } from './components/LogPagination.js';
|
|
11
|
+
export { LogLevelBadge } from './components/LogLevelBadge.js';
|
|
12
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/ui/index.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,gCAAgC;AAChC,OAAO,EAAE,aAAa,EAAE,MAAM,+BAA+B,CAAC;AAC9D,OAAO,EAAE,QAAQ,EAAE,MAAM,0BAA0B,CAAC;AACpD,OAAO,EAAE,WAAW,EAAE,MAAM,6BAA6B,CAAC;AAC1D,OAAO,EAAE,aAAa,EAAE,MAAM,+BAA+B,CAAC;AAC9D,OAAO,EAAE,aAAa,EAAE,MAAM,+BAA+B,CAAC"}
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Auth middleware wrapper for log viewer API routes
|
|
3
|
+
*/
|
|
4
|
+
import type { AuthCheckFn, LogApiHandler } from '../types.js';
|
|
5
|
+
/**
|
|
6
|
+
* Wrap a log API handler with authentication
|
|
7
|
+
*
|
|
8
|
+
* @param handler - The log API handler to wrap
|
|
9
|
+
* @param authCheck - Function to check if request is authorized
|
|
10
|
+
* @returns Wrapped handler that checks auth before processing
|
|
11
|
+
*
|
|
12
|
+
* @example
|
|
13
|
+
* ```typescript
|
|
14
|
+
* import { createLogApiHandler, withLogAuth } from 'hazo_logs';
|
|
15
|
+
*
|
|
16
|
+
* const handler = createLogApiHandler();
|
|
17
|
+
*
|
|
18
|
+
* export const { GET } = withLogAuth(handler, async (req) => {
|
|
19
|
+
* const session = await getSession(req);
|
|
20
|
+
* return session?.user?.role === 'admin';
|
|
21
|
+
* });
|
|
22
|
+
* ```
|
|
23
|
+
*/
|
|
24
|
+
export declare function withLogAuth(handler: LogApiHandler, authCheck: AuthCheckFn): LogApiHandler;
|
|
25
|
+
//# sourceMappingURL=with-log-auth.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"with-log-auth.d.ts","sourceRoot":"","sources":["../../../src/ui/middleware/with-log-auth.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,KAAK,EAAE,WAAW,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAY9D;;;;;;;;;;;;;;;;;;GAkBG;AACH,wBAAgB,WAAW,CACzB,OAAO,EAAE,aAAa,EACtB,SAAS,EAAE,WAAW,GACrB,aAAa,CAuBf"}
|
|
@@ -0,0 +1,49 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Auth middleware wrapper for log viewer API routes
|
|
3
|
+
*/
|
|
4
|
+
/**
|
|
5
|
+
* Helper to create JSON responses (compatible with Next.js Response)
|
|
6
|
+
*/
|
|
7
|
+
function jsonResponse(data, status = 200) {
|
|
8
|
+
return new Response(JSON.stringify(data), {
|
|
9
|
+
status,
|
|
10
|
+
headers: { 'Content-Type': 'application/json' },
|
|
11
|
+
});
|
|
12
|
+
}
|
|
13
|
+
/**
|
|
14
|
+
* Wrap a log API handler with authentication
|
|
15
|
+
*
|
|
16
|
+
* @param handler - The log API handler to wrap
|
|
17
|
+
* @param authCheck - Function to check if request is authorized
|
|
18
|
+
* @returns Wrapped handler that checks auth before processing
|
|
19
|
+
*
|
|
20
|
+
* @example
|
|
21
|
+
* ```typescript
|
|
22
|
+
* import { createLogApiHandler, withLogAuth } from 'hazo_logs';
|
|
23
|
+
*
|
|
24
|
+
* const handler = createLogApiHandler();
|
|
25
|
+
*
|
|
26
|
+
* export const { GET } = withLogAuth(handler, async (req) => {
|
|
27
|
+
* const session = await getSession(req);
|
|
28
|
+
* return session?.user?.role === 'admin';
|
|
29
|
+
* });
|
|
30
|
+
* ```
|
|
31
|
+
*/
|
|
32
|
+
export function withLogAuth(handler, authCheck) {
|
|
33
|
+
return {
|
|
34
|
+
GET: async (request) => {
|
|
35
|
+
try {
|
|
36
|
+
const isAuthorized = await authCheck(request);
|
|
37
|
+
if (!isAuthorized) {
|
|
38
|
+
return jsonResponse({ error: 'Unauthorized', message: 'Access to logs requires authentication' }, 401);
|
|
39
|
+
}
|
|
40
|
+
return handler.GET(request);
|
|
41
|
+
}
|
|
42
|
+
catch (error) {
|
|
43
|
+
console.error('[HazoLog] Auth check failed:', error);
|
|
44
|
+
return jsonResponse({ error: 'Internal Server Error', message: 'Authentication check failed' }, 500);
|
|
45
|
+
}
|
|
46
|
+
},
|
|
47
|
+
};
|
|
48
|
+
}
|
|
49
|
+
//# sourceMappingURL=with-log-auth.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"with-log-auth.js","sourceRoot":"","sources":["../../../src/ui/middleware/with-log-auth.ts"],"names":[],"mappings":"AAAA;;GAEG;AAIH;;GAEG;AACH,SAAS,YAAY,CAAC,IAAa,EAAE,MAAM,GAAG,GAAG;IAC/C,OAAO,IAAI,QAAQ,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,EAAE;QACxC,MAAM;QACN,OAAO,EAAE,EAAE,cAAc,EAAE,kBAAkB,EAAE;KAChD,CAAC,CAAC;AACL,CAAC;AAED;;;;;;;;;;;;;;;;;;GAkBG;AACH,MAAM,UAAU,WAAW,CACzB,OAAsB,EACtB,SAAsB;IAEtB,OAAO;QACL,GAAG,EAAE,KAAK,EAAE,OAAgB,EAAqB,EAAE;YACjD,IAAI,CAAC;gBACH,MAAM,YAAY,GAAG,MAAM,SAAS,CAAC,OAAO,CAAC,CAAC;gBAE9C,IAAI,CAAC,YAAY,EAAE,CAAC;oBAClB,OAAO,YAAY,CACjB,EAAE,KAAK,EAAE,cAAc,EAAE,OAAO,EAAE,wCAAwC,EAAE,EAC5E,GAAG,CACJ,CAAC;gBACJ,CAAC;gBAED,OAAO,OAAO,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;YAC9B,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBACf,OAAO,CAAC,KAAK,CAAC,8BAA8B,EAAE,KAAK,CAAC,CAAC;gBACrD,OAAO,YAAY,CACjB,EAAE,KAAK,EAAE,uBAAuB,EAAE,OAAO,EAAE,6BAA6B,EAAE,EAC1E,GAAG,CACJ,CAAC;YACJ,CAAC;QACH,CAAC;KACF,CAAC;AACJ,CAAC"}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Server-side UI exports for hazo_logs
|
|
3
|
+
*
|
|
4
|
+
* Use these in API routes and server components only.
|
|
5
|
+
*/
|
|
6
|
+
export { createLogApiHandler } from './api/log-api-handler.js';
|
|
7
|
+
export { withLogAuth } from './middleware/with-log-auth.js';
|
|
8
|
+
export type { LogApiConfig, LogApiHandler, AuthCheckFn, } from './types.js';
|
|
9
|
+
//# sourceMappingURL=server.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"server.d.ts","sourceRoot":"","sources":["../../src/ui/server.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAGH,OAAO,EAAE,mBAAmB,EAAE,MAAM,0BAA0B,CAAC;AAG/D,OAAO,EAAE,WAAW,EAAE,MAAM,+BAA+B,CAAC;AAG5D,YAAY,EACV,YAAY,EACZ,aAAa,EACb,WAAW,GACZ,MAAM,YAAY,CAAC"}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Server-side UI exports for hazo_logs
|
|
3
|
+
*
|
|
4
|
+
* Use these in API routes and server components only.
|
|
5
|
+
*/
|
|
6
|
+
// API Handler
|
|
7
|
+
export { createLogApiHandler } from './api/log-api-handler.js';
|
|
8
|
+
// Middleware
|
|
9
|
+
export { withLogAuth } from './middleware/with-log-auth.js';
|
|
10
|
+
//# sourceMappingURL=server.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"server.js","sourceRoot":"","sources":["../../src/ui/server.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,cAAc;AACd,OAAO,EAAE,mBAAmB,EAAE,MAAM,0BAA0B,CAAC;AAE/D,aAAa;AACb,OAAO,EAAE,WAAW,EAAE,MAAM,+BAA+B,CAAC"}
|
|
@@ -0,0 +1,135 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Type definitions for hazo_logs UI components
|
|
3
|
+
*/
|
|
4
|
+
/**
|
|
5
|
+
* Generic request type compatible with Next.js NextRequest
|
|
6
|
+
* This allows the package to be built without requiring Next.js at compile time
|
|
7
|
+
*/
|
|
8
|
+
export interface LogRequest {
|
|
9
|
+
url: string;
|
|
10
|
+
headers: Headers;
|
|
11
|
+
}
|
|
12
|
+
/**
|
|
13
|
+
* Auth check function type for protecting log viewer routes
|
|
14
|
+
*/
|
|
15
|
+
export type AuthCheckFn = (request: Request) => Promise<boolean> | boolean;
|
|
16
|
+
/**
|
|
17
|
+
* Configuration for the log API handler
|
|
18
|
+
*/
|
|
19
|
+
export interface LogApiConfig {
|
|
20
|
+
logDirectory?: string;
|
|
21
|
+
}
|
|
22
|
+
/**
|
|
23
|
+
* Next.js API route handler interface
|
|
24
|
+
* Uses Request for compatibility with Next.js 15+ route handlers
|
|
25
|
+
*/
|
|
26
|
+
export interface LogApiHandler {
|
|
27
|
+
GET: (request: Request) => Promise<Response>;
|
|
28
|
+
}
|
|
29
|
+
/**
|
|
30
|
+
* Props for the LogViewerPage component
|
|
31
|
+
*/
|
|
32
|
+
export interface LogViewerPageProps {
|
|
33
|
+
apiBasePath?: string;
|
|
34
|
+
title?: string;
|
|
35
|
+
className?: string;
|
|
36
|
+
/** If true, use a compact layout suitable for embedding in pages with existing navigation */
|
|
37
|
+
embedded?: boolean;
|
|
38
|
+
/** Control visibility of the header (default: true) */
|
|
39
|
+
showHeader?: boolean;
|
|
40
|
+
}
|
|
41
|
+
/**
|
|
42
|
+
* Props for the LogTable component
|
|
43
|
+
*/
|
|
44
|
+
export interface LogTableProps {
|
|
45
|
+
logs: LogEntryDisplay[];
|
|
46
|
+
isLoading?: boolean;
|
|
47
|
+
onRowClick?: (log: LogEntryDisplay) => void;
|
|
48
|
+
}
|
|
49
|
+
/**
|
|
50
|
+
* Extended log entry with display-specific fields
|
|
51
|
+
*/
|
|
52
|
+
export interface LogEntryDisplay {
|
|
53
|
+
timestamp: string;
|
|
54
|
+
level: 'error' | 'warn' | 'info' | 'debug';
|
|
55
|
+
package: string;
|
|
56
|
+
message: string;
|
|
57
|
+
filename: string;
|
|
58
|
+
line: number;
|
|
59
|
+
executionId: string;
|
|
60
|
+
sessionId?: string;
|
|
61
|
+
reference?: string;
|
|
62
|
+
depth?: number;
|
|
63
|
+
data?: Record<string, unknown>;
|
|
64
|
+
}
|
|
65
|
+
/**
|
|
66
|
+
* Props for LogTimeline component
|
|
67
|
+
*/
|
|
68
|
+
export interface LogTimelineProps {
|
|
69
|
+
logs: LogEntryDisplay[];
|
|
70
|
+
isLoading: boolean;
|
|
71
|
+
availableSessions?: string[];
|
|
72
|
+
selectedSession?: string;
|
|
73
|
+
onSessionChange?: (sessionId: string | null) => void;
|
|
74
|
+
groupByPackage?: boolean;
|
|
75
|
+
showDepthIndentation?: boolean;
|
|
76
|
+
}
|
|
77
|
+
/**
|
|
78
|
+
* Props for LogPagination component
|
|
79
|
+
*/
|
|
80
|
+
export interface LogPaginationProps {
|
|
81
|
+
currentPage: number;
|
|
82
|
+
totalPages: number;
|
|
83
|
+
pageSize: number;
|
|
84
|
+
total: number;
|
|
85
|
+
onPageChange: (page: number) => void;
|
|
86
|
+
onPageSizeChange?: (size: number) => void;
|
|
87
|
+
}
|
|
88
|
+
/**
|
|
89
|
+
* Props for LogLevelBadge component
|
|
90
|
+
*/
|
|
91
|
+
export interface LogLevelBadgeProps {
|
|
92
|
+
level: 'error' | 'warn' | 'info' | 'debug';
|
|
93
|
+
className?: string;
|
|
94
|
+
}
|
|
95
|
+
/**
|
|
96
|
+
* API response for log queries
|
|
97
|
+
*/
|
|
98
|
+
export interface LogQueryResponse {
|
|
99
|
+
logs: LogEntryDisplay[];
|
|
100
|
+
total: number;
|
|
101
|
+
page: number;
|
|
102
|
+
pageSize: number;
|
|
103
|
+
totalPages: number;
|
|
104
|
+
}
|
|
105
|
+
/**
|
|
106
|
+
* API response for available dates
|
|
107
|
+
*/
|
|
108
|
+
export interface LogDatesResponse {
|
|
109
|
+
dates: string[];
|
|
110
|
+
}
|
|
111
|
+
/**
|
|
112
|
+
* API response for available packages
|
|
113
|
+
*/
|
|
114
|
+
export interface LogPackagesResponse {
|
|
115
|
+
packages: string[];
|
|
116
|
+
}
|
|
117
|
+
/**
|
|
118
|
+
* API response for available execution IDs
|
|
119
|
+
*/
|
|
120
|
+
export interface LogExecutionIdsResponse {
|
|
121
|
+
executionIds: string[];
|
|
122
|
+
}
|
|
123
|
+
/**
|
|
124
|
+
* API response for available session IDs
|
|
125
|
+
*/
|
|
126
|
+
export interface LogSessionIdsResponse {
|
|
127
|
+
sessionIds: string[];
|
|
128
|
+
}
|
|
129
|
+
/**
|
|
130
|
+
* API response for available references
|
|
131
|
+
*/
|
|
132
|
+
export interface LogReferencesResponse {
|
|
133
|
+
references: string[];
|
|
134
|
+
}
|
|
135
|
+
//# sourceMappingURL=types.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/ui/types.ts"],"names":[],"mappings":"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"}
|
package/dist/ui/types.js
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.js","sourceRoot":"","sources":["../../src/ui/types.ts"],"names":[],"mappings":"AAAA;;GAEG"}
|
|
@@ -0,0 +1,47 @@
|
|
|
1
|
+
# hazo_logs configuration file
|
|
2
|
+
# Copy this file to your project root as hazo_logs_config.ini
|
|
3
|
+
|
|
4
|
+
[hazo_logs]
|
|
5
|
+
# Directory for log files (relative to process.cwd() or absolute)
|
|
6
|
+
# Default: ./logs
|
|
7
|
+
log_directory = ./logs
|
|
8
|
+
|
|
9
|
+
# Minimum log level (error, warn, info, debug)
|
|
10
|
+
# Default: info
|
|
11
|
+
log_level = info
|
|
12
|
+
|
|
13
|
+
# Enable console output with colors
|
|
14
|
+
# Default: true
|
|
15
|
+
enable_console = true
|
|
16
|
+
|
|
17
|
+
# Enable file output with daily rotation
|
|
18
|
+
# Default: true
|
|
19
|
+
enable_file = true
|
|
20
|
+
|
|
21
|
+
# Maximum size per log file before rotation
|
|
22
|
+
# Supports: k, m, g (e.g., 20m = 20 megabytes)
|
|
23
|
+
# Default: 20m
|
|
24
|
+
max_file_size = 20m
|
|
25
|
+
|
|
26
|
+
# Maximum retention for log files
|
|
27
|
+
# Supports: number of files or age (e.g., 14d = 14 days)
|
|
28
|
+
# Default: 14d
|
|
29
|
+
max_files = 14d
|
|
30
|
+
|
|
31
|
+
# Date pattern for log file names
|
|
32
|
+
# Default: YYYY-MM-DD (creates hazo-2024-01-15.log)
|
|
33
|
+
date_pattern = YYYY-MM-DD
|
|
34
|
+
|
|
35
|
+
# --- Log Viewer UI Settings ---
|
|
36
|
+
|
|
37
|
+
# Enable the log viewer UI feature
|
|
38
|
+
# Default: true
|
|
39
|
+
enable_log_viewer = true
|
|
40
|
+
|
|
41
|
+
# Number of log entries per page in the viewer
|
|
42
|
+
# Default: 50
|
|
43
|
+
log_viewer_page_size = 50
|
|
44
|
+
|
|
45
|
+
# Maximum number of log entries to load for filtering/sorting
|
|
46
|
+
# Default: 1000
|
|
47
|
+
log_viewer_max_results = 1000
|