@jungjaehoon/mama-os 0.62.0 → 0.63.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/CHANGELOG.md +34 -0
- package/README.md +1 -1
- package/dist/api/viewer-data.d.ts +77 -0
- package/dist/api/viewer-data.d.ts.map +1 -1
- package/dist/api/viewer-data.js +116 -0
- package/dist/api/viewer-data.js.map +1 -1
- package/dist/api/viewer-server.d.ts +1 -1
- package/dist/api/viewer-server.d.ts.map +1 -1
- package/dist/api/viewer-server.js +87 -3
- package/dist/api/viewer-server.js.map +1 -1
- package/dist/api/work-actions.d.ts +2 -0
- package/dist/api/work-actions.d.ts.map +1 -1
- package/dist/api/work-actions.js +4 -5
- package/dist/api/work-actions.js.map +1 -1
- package/dist/runtime/action-surface.d.ts +1 -1
- package/dist/runtime/action-surface.d.ts.map +1 -1
- package/dist/runtime/action-surface.js +3 -0
- package/dist/runtime/action-surface.js.map +1 -1
- package/dist/runtime/turn-orders.d.ts.map +1 -1
- package/dist/runtime/turn-orders.js +6 -2
- package/dist/runtime/turn-orders.js.map +1 -1
- package/package.json +2 -2
- package/public/viewer/js/modules/graph.js +169 -957
- package/public/viewer/js/modules/memory-timeline.js +215 -0
- package/public/viewer/js/utils/api.js +7 -26
- package/public/viewer/src/modules/graph.ts +185 -1132
- package/public/viewer/src/modules/memory-timeline.ts +272 -0
- package/public/viewer/src/types/global.d.ts +1 -1
- package/public/viewer/src/utils/api.ts +43 -47
- package/public/viewer/viewer.css +257 -7
- package/public/viewer/viewer.html +68 -292
package/CHANGELOG.md
CHANGED
|
@@ -5,6 +5,40 @@ All notable changes to this project will be documented in this file.
|
|
|
5
5
|
The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/),
|
|
6
6
|
and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
|
|
7
7
|
|
|
8
|
+
## [0.63.0] - 2026-10-04
|
|
9
|
+
|
|
10
|
+
### Added
|
|
11
|
+
|
|
12
|
+
- The viewer's memory tab is a timeline of what was saved. Pick a period (today, 7 days, 30 days
|
|
13
|
+
or one day, in the owner's time zone); the list goes by day, then kind (owner rules, learned
|
|
14
|
+
rules, decisions, facts, work updates), then work item with its updates (opened, updated,
|
|
15
|
+
withdrawn). Kind chips keep their counts while one kind is shown, the text search runs on the
|
|
16
|
+
server, and each record says which turn wrote it: owner chat, source update or report. Served by
|
|
17
|
+
`/api/memory/timeline`; an explicit window covers at most 31 days.
|
|
18
|
+
- Picking a record draws that record and its direct links only (`/api/graph/neighbors`): the
|
|
19
|
+
source messages it rests on, what it builds on and what it replaced. The legend names every dot
|
|
20
|
+
and line in plain words with counts, and the detail panel shows the text and its evidence.
|
|
21
|
+
- The owner agent has `memory.read:timeline` (mama-core 5.4.0), so "what did you save this week"
|
|
22
|
+
can be answered in chat.
|
|
23
|
+
|
|
24
|
+
### Changed
|
|
25
|
+
|
|
26
|
+
- The turn reminder and the record order name open work by the statuses `work.list` accepts
|
|
27
|
+
(pending, in_progress, review or blocked). Waiting on an owner decision is judged from each
|
|
28
|
+
item's latest record, since no status marks it. The words "open" and "waiting" read as statuses,
|
|
29
|
+
and `work.list` refused them.
|
|
30
|
+
- A refused tool call names the allowed fields and the expected shape (mama-core 5.4.0).
|
|
31
|
+
|
|
32
|
+
### Removed
|
|
33
|
+
|
|
34
|
+
- From the memory tab: the whole-graph load (up to 2,000 nodes), the topic and outcome filters,
|
|
35
|
+
graph search, the Save outcome control (the read-only viewer refuses its route), the Export
|
|
36
|
+
buttons (no route served them), and the confidence and similar-decision rows.
|
|
37
|
+
|
|
38
|
+
### Fixed
|
|
39
|
+
|
|
40
|
+
- The memory list on a desktop window no longer keeps the full width set by the phone layout.
|
|
41
|
+
|
|
8
42
|
## [0.62.0] - 2026-10-04
|
|
9
43
|
|
|
10
44
|
### Added
|
package/README.md
CHANGED
|
@@ -4,7 +4,7 @@ One owner agent on Claude or Codex watches connected work, keeps task revisions
|
|
|
4
4
|
answers on Telegram, publishes reports and a board, and recalls corrections.
|
|
5
5
|
[mama-core](../mama-core/README.md) supplies the shared engine.
|
|
6
6
|
|
|
7
|
-
Current manifest: **0.
|
|
7
|
+
Current manifest: **0.63.0**. This README describes the unreleased `rebuild/owner-flow` source.
|
|
8
8
|
Use [owner setup](../../docs/start/owner-setup.md) with Node.js 22.13+ and pnpm.
|
|
9
9
|
|
|
10
10
|
## Start and operate
|
|
@@ -72,6 +72,82 @@ export declare function shapeWorkListDetail(data: unknown, reads: ReadonlyMap<st
|
|
|
72
72
|
export declare function shapeTaskDetail(page: CommitmentPage, reads: ReadonlyMap<string, RevisionGraphRead>): ViewerTaskDetail;
|
|
73
73
|
export declare function shapeGraphPage(page: WorkGraphPage, kinds?: readonly string[]): ViewerGraphResult;
|
|
74
74
|
export declare function shapeMemorySearch(data: unknown): ViewerMemorySearchResult;
|
|
75
|
+
/** One record as memory.read:timeline returns it. */
|
|
76
|
+
interface SavedTimelineRecord {
|
|
77
|
+
id: string;
|
|
78
|
+
kind: string | null;
|
|
79
|
+
status: string | null;
|
|
80
|
+
topic: string;
|
|
81
|
+
summary: string;
|
|
82
|
+
createdAt: number;
|
|
83
|
+
sourceMessageRef: string | null;
|
|
84
|
+
commitmentId: string | null;
|
|
85
|
+
revision: number | null;
|
|
86
|
+
operation: string | null;
|
|
87
|
+
itemTitle: string | null;
|
|
88
|
+
}
|
|
89
|
+
export interface SavedTimelinePage {
|
|
90
|
+
records: SavedTimelineRecord[];
|
|
91
|
+
nextCursor: string | null;
|
|
92
|
+
}
|
|
93
|
+
export declare function savedTimelinePage(data: unknown): SavedTimelinePage;
|
|
94
|
+
export interface ViewerTimelineRecord {
|
|
95
|
+
id: string;
|
|
96
|
+
kind: string | null;
|
|
97
|
+
status: string | null;
|
|
98
|
+
topic: string;
|
|
99
|
+
summary: string;
|
|
100
|
+
time: string;
|
|
101
|
+
/** The ref kind of the turn that wrote it (owner_chat for the owner's own conversation). */
|
|
102
|
+
via: string | null;
|
|
103
|
+
}
|
|
104
|
+
export interface ViewerTimelineItem {
|
|
105
|
+
commitmentId: string;
|
|
106
|
+
title: string | null;
|
|
107
|
+
topic: string;
|
|
108
|
+
revisions: Array<{
|
|
109
|
+
id: string;
|
|
110
|
+
revision: number | null;
|
|
111
|
+
operation: string | null;
|
|
112
|
+
status: string | null;
|
|
113
|
+
summary: string;
|
|
114
|
+
time: string;
|
|
115
|
+
}>;
|
|
116
|
+
}
|
|
117
|
+
export type ViewerTimelineGroup = {
|
|
118
|
+
group: string;
|
|
119
|
+
count: number;
|
|
120
|
+
records: ViewerTimelineRecord[];
|
|
121
|
+
} | {
|
|
122
|
+
group: 'work';
|
|
123
|
+
count: number;
|
|
124
|
+
items: ViewerTimelineItem[];
|
|
125
|
+
};
|
|
126
|
+
export interface ViewerSavedTimeline {
|
|
127
|
+
from: string;
|
|
128
|
+
to: string;
|
|
129
|
+
timeZone: string;
|
|
130
|
+
total: number;
|
|
131
|
+
/** Per group, after the text filter and before the group filter, so every chip keeps its count. */
|
|
132
|
+
counts: Record<string, number>;
|
|
133
|
+
days: Array<{
|
|
134
|
+
day: string;
|
|
135
|
+
total: number;
|
|
136
|
+
groups: ViewerTimelineGroup[];
|
|
137
|
+
}>;
|
|
138
|
+
}
|
|
139
|
+
/**
|
|
140
|
+
* What was written when, for a person reading it: by local day, newest first, then by group, and
|
|
141
|
+
* work revisions under the item they revised. Records arrive newest written first.
|
|
142
|
+
*/
|
|
143
|
+
export declare function shapeSavedTimeline(records: readonly SavedTimelineRecord[], window: {
|
|
144
|
+
from: string;
|
|
145
|
+
to: string;
|
|
146
|
+
timeZone: string;
|
|
147
|
+
}, filter: {
|
|
148
|
+
query: string | null;
|
|
149
|
+
groups: ReadonlySet<string> | null;
|
|
150
|
+
}): ViewerSavedTimeline;
|
|
75
151
|
export interface ArchiveOperatorTask {
|
|
76
152
|
id: number;
|
|
77
153
|
commitment_id: string;
|
|
@@ -140,4 +216,5 @@ export declare function shapeOperatorTasksFromItems(data: unknown, options?: {
|
|
|
140
216
|
export declare function mapArchiveGraphNode(node: WorkGraphPage['nodes'][number], timeZone: string): ArchiveGraphNode;
|
|
141
217
|
export declare function mapArchiveGraphEdge(edge: WorkGraphPage['edges'][number]): ArchiveGraphEdge;
|
|
142
218
|
export declare function shapeArchiveGraph(page: WorkGraphPage, latency: number, kinds: readonly string[] | undefined, timeZone: string): ArchiveGraphResponse;
|
|
219
|
+
export {};
|
|
143
220
|
//# sourceMappingURL=viewer-data.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"viewer-data.d.ts","sourceRoot":"","sources":["../../src/api/viewer-data.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,cAAc,EACd,kBAAkB,EAEnB,MAAM,kCAAkC,CAAC;AAC1C,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,wBAAwB,CAAC;AAC5D,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,mCAAmC,CAAC;
|
|
1
|
+
{"version":3,"file":"viewer-data.d.ts","sourceRoot":"","sources":["../../src/api/viewer-data.ts"],"names":[],"mappings":"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"}
|
package/dist/api/viewer-data.js
CHANGED
|
@@ -7,11 +7,15 @@ exports.shapeWorkListDetail = shapeWorkListDetail;
|
|
|
7
7
|
exports.shapeTaskDetail = shapeTaskDetail;
|
|
8
8
|
exports.shapeGraphPage = shapeGraphPage;
|
|
9
9
|
exports.shapeMemorySearch = shapeMemorySearch;
|
|
10
|
+
exports.savedTimelinePage = savedTimelinePage;
|
|
11
|
+
exports.shapeSavedTimeline = shapeSavedTimeline;
|
|
10
12
|
exports.shapeOperatorTasks = shapeOperatorTasks;
|
|
11
13
|
exports.shapeOperatorTasksFromItems = shapeOperatorTasksFromItems;
|
|
12
14
|
exports.mapArchiveGraphNode = mapArchiveGraphNode;
|
|
13
15
|
exports.mapArchiveGraphEdge = mapArchiveGraphEdge;
|
|
14
16
|
exports.shapeArchiveGraph = shapeArchiveGraph;
|
|
17
|
+
const owner_authority_js_1 = require("../runtime/owner-authority.js");
|
|
18
|
+
const timezone_js_1 = require("../runtime/timezone.js");
|
|
15
19
|
function readViewerMemoryStats(adapter, now = Date.now()) {
|
|
16
20
|
return adapter
|
|
17
21
|
.prepare(`SELECT COUNT(*) AS total,
|
|
@@ -239,6 +243,118 @@ function shapeMemorySearch(data) {
|
|
|
239
243
|
}
|
|
240
244
|
return { count: result.count, results: result.results };
|
|
241
245
|
}
|
|
246
|
+
function savedTimelinePage(data) {
|
|
247
|
+
const page = objectValue(data);
|
|
248
|
+
if (!Array.isArray(page.records) ||
|
|
249
|
+
!(page.nextCursor === null || typeof page.nextCursor === 'string')) {
|
|
250
|
+
throw new Error('memory.read:timeline returned no record page');
|
|
251
|
+
}
|
|
252
|
+
return page;
|
|
253
|
+
}
|
|
254
|
+
/** The groups the memory view names first; any other kind follows under its own name, then work. */
|
|
255
|
+
const TIMELINE_GROUPS = ['owner_rule', 'learned', 'decision', 'fact'];
|
|
256
|
+
/**
|
|
257
|
+
* A work revision belongs to its item; a rule is the owner's when the owner's own conversation
|
|
258
|
+
* wrote it (owner-authority.ts) and learned otherwise; any other record goes by its kind.
|
|
259
|
+
*/
|
|
260
|
+
function savedTimelineGroup(record) {
|
|
261
|
+
if (record.commitmentId !== null)
|
|
262
|
+
return 'work';
|
|
263
|
+
if (owner_authority_js_1.RULE_KINDS.includes(record.kind ?? '')) {
|
|
264
|
+
return (0, owner_authority_js_1.isOwnerChatRef)(record.sourceMessageRef) ? 'owner_rule' : 'learned';
|
|
265
|
+
}
|
|
266
|
+
return record.kind ?? 'none';
|
|
267
|
+
}
|
|
268
|
+
function groupRank(group) {
|
|
269
|
+
if (group === 'work')
|
|
270
|
+
return TIMELINE_GROUPS.length + 1;
|
|
271
|
+
const known = TIMELINE_GROUPS.indexOf(group);
|
|
272
|
+
return known === -1 ? TIMELINE_GROUPS.length : known;
|
|
273
|
+
}
|
|
274
|
+
function turnKind(ref) {
|
|
275
|
+
if (ref === null)
|
|
276
|
+
return null;
|
|
277
|
+
return (0, owner_authority_js_1.isOwnerChatRef)(ref) ? 'owner_chat' : ref.split(':')[0];
|
|
278
|
+
}
|
|
279
|
+
/**
|
|
280
|
+
* What was written when, for a person reading it: by local day, newest first, then by group, and
|
|
281
|
+
* work revisions under the item they revised. Records arrive newest written first.
|
|
282
|
+
*/
|
|
283
|
+
function shapeSavedTimeline(records, window, filter) {
|
|
284
|
+
const clock = new Intl.DateTimeFormat('en-GB', {
|
|
285
|
+
timeZone: window.timeZone,
|
|
286
|
+
hour: '2-digit',
|
|
287
|
+
minute: '2-digit',
|
|
288
|
+
hourCycle: 'h23',
|
|
289
|
+
});
|
|
290
|
+
const needle = filter.query === null ? null : filter.query.toLowerCase();
|
|
291
|
+
const counts = Object.fromEntries([...TIMELINE_GROUPS, 'work'].map((group) => [group, 0]));
|
|
292
|
+
const days = new Map();
|
|
293
|
+
let total = 0;
|
|
294
|
+
for (const record of records) {
|
|
295
|
+
if (needle !== null &&
|
|
296
|
+
![record.topic, record.summary, record.itemTitle ?? ''].some((text) => text.toLowerCase().includes(needle))) {
|
|
297
|
+
continue;
|
|
298
|
+
}
|
|
299
|
+
const group = savedTimelineGroup(record);
|
|
300
|
+
counts[group] = (counts[group] ?? 0) + 1;
|
|
301
|
+
if (filter.groups !== null && !filter.groups.has(group))
|
|
302
|
+
continue;
|
|
303
|
+
total += 1;
|
|
304
|
+
const day = (0, timezone_js_1.localDateKey)(record.createdAt, window.timeZone);
|
|
305
|
+
const byGroup = days.get(day) ?? new Map();
|
|
306
|
+
days.set(day, byGroup);
|
|
307
|
+
byGroup.set(group, [...(byGroup.get(group) ?? []), record]);
|
|
308
|
+
}
|
|
309
|
+
return {
|
|
310
|
+
...window,
|
|
311
|
+
total,
|
|
312
|
+
counts,
|
|
313
|
+
days: [...days].map(([day, byGroup]) => ({
|
|
314
|
+
day,
|
|
315
|
+
total: [...byGroup.values()].reduce((sum, rows) => sum + rows.length, 0),
|
|
316
|
+
groups: [...byGroup]
|
|
317
|
+
.sort(([left], [right]) => groupRank(left) - groupRank(right) || left.localeCompare(right))
|
|
318
|
+
.map(([group, rows]) => {
|
|
319
|
+
if (group !== 'work') {
|
|
320
|
+
return {
|
|
321
|
+
group,
|
|
322
|
+
count: rows.length,
|
|
323
|
+
records: rows.map((record) => ({
|
|
324
|
+
id: `memory:${record.id}`,
|
|
325
|
+
kind: record.kind,
|
|
326
|
+
status: record.status,
|
|
327
|
+
topic: record.topic,
|
|
328
|
+
summary: record.summary,
|
|
329
|
+
time: clock.format(record.createdAt),
|
|
330
|
+
via: turnKind(record.sourceMessageRef),
|
|
331
|
+
})),
|
|
332
|
+
};
|
|
333
|
+
}
|
|
334
|
+
const items = new Map();
|
|
335
|
+
for (const record of rows) {
|
|
336
|
+
const commitmentId = record.commitmentId;
|
|
337
|
+
const item = items.get(commitmentId) ?? {
|
|
338
|
+
commitmentId,
|
|
339
|
+
title: record.itemTitle,
|
|
340
|
+
topic: record.topic,
|
|
341
|
+
revisions: [],
|
|
342
|
+
};
|
|
343
|
+
items.set(commitmentId, item);
|
|
344
|
+
item.revisions.push({
|
|
345
|
+
id: `memory:${record.id}`,
|
|
346
|
+
revision: record.revision,
|
|
347
|
+
operation: record.operation,
|
|
348
|
+
status: record.status,
|
|
349
|
+
summary: record.summary,
|
|
350
|
+
time: clock.format(record.createdAt),
|
|
351
|
+
});
|
|
352
|
+
}
|
|
353
|
+
return { group: 'work', count: rows.length, items: [...items.values()] };
|
|
354
|
+
}),
|
|
355
|
+
})),
|
|
356
|
+
};
|
|
357
|
+
}
|
|
242
358
|
const TASK_STATUSES = new Set([
|
|
243
359
|
'pending',
|
|
244
360
|
'in_progress',
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"viewer-data.js","sourceRoot":"","sources":["../../src/api/viewer-data.ts"],"names":[],"mappings":";;AAaA,sDAWC;AAiGD,sCAMC;AAgDD,gDAqBC;AAED,kDA6DC;AA2BD,0CAkCC;AAED,wCAYC;AAED,8CASC;AAkLD,gDAYC;AA4DD,kEAiCC;AAWD,kDA2BC;AAED,kDASC;AAED,8CA4CC;AAtsBD,SAAgB,qBAAqB,CACnC,OAAyC,EACzC,GAAG,GAAG,IAAI,CAAC,GAAG,EAAE;IAEhB,OAAO,OAAO;SACX,OAAO,CACN;;wBAEkB,CACnB;SACA,GAAG,CAAC,GAAG,GAAG,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,KAAK,EAAE,GAAG,CAAsB,CAAC;AACnE,CAAC;AAsED,SAAS,SAAS,CAAC,KAAc;IAC/B,OAAO,OAAO,KAAK,KAAK,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC;AAClD,CAAC;AAED,SAAS,WAAW,CAAC,KAAc;IACjC,OAAO,OAAO,KAAK,KAAK,QAAQ,IAAI,OAAO,KAAK,KAAK,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC;AAC/E,CAAC;AAED,SAAS,UAAU,CAAC,KAAc;IAChC,OAAO,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC;AAC7C,CAAC;AAED,SAAS,WAAW,CAAC,IAAoB;IACvC,OAAO;QACL,YAAY,EAAE,IAAI,CAAC,YAAY;QAC/B,KAAK,EAAE,IAAI,CAAC,KAAK;QACjB,QAAQ,EAAE,IAAI,CAAC,QAAQ;QACvB,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC;QACnC,OAAO,EAAE,SAAS,CAAC,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC;QACvC,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC;QACnC,QAAQ,EAAE,SAAS,CAAC,IAAI,CAAC,MAAM,CAAC,QAAQ,IAAI,IAAI,CAAC,MAAM,CAAC,YAAY,CAAC;QACrE,aAAa,EAAE,WAAW,CAAC,IAAI,CAAC,MAAM,CAAC,aAAa,CAAC;QACrD,SAAS,EAAE,IAAI,CAAC,SAAS;QACzB,SAAS,EAAE,IAAI,CAAC,SAAS;KAC1B,CAAC;AACJ,CAAC;AAED,SAAgB,aAAa,CAAC,IAAoB;IAChD,OAAO;QACL,KAAK,EAAE,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,WAAW,CAAC;QAClC,UAAU,EAAE,IAAI,CAAC,UAAU;QAC3B,QAAQ,EAAE,IAAI,CAAC,QAAQ;KACxB,CAAC;AACJ,CAAC;AAED,SAAS,WAAW,CAAC,KAAc;IACjC,OAAO,KAAK,KAAK,IAAI,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC;QACzE,CAAC,CAAE,KAAiC;QACpC,CAAC,CAAC,EAAE,CAAC;AACT,CAAC;AAED,SAAS,YAAY,CAAC,KAAc;IAClC,OAAO,OAAO,KAAK,KAAK,QAAQ,IAAI,MAAM,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC;AACjF,CAAC;AAED,SAAS,WAAW,CAAC,KAAc;IACjC,IAAI,OAAO,KAAK,KAAK,QAAQ;QAAE,OAAO,KAAK,CAAC;IAC5C,MAAM,SAAS,GAAG,WAAW,CAAC,KAAK,CAAC,CAAC;IACrC,OAAO,OAAO,SAAS,CAAC,KAAK,KAAK,QAAQ,CAAC,CAAC,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC;AACtE,CAAC;AAED,SAAS,sBAAsB,CAAC,GAA4B;IAC1D,MAAM,YAAY,GAAG,GAAG,CAAC,YAAY,CAAC;IACtC,MAAM,KAAK,GAAG,GAAG,CAAC,EAAE,CAAC;IACrB,MAAM,QAAQ,GAAG,GAAG,CAAC,QAAQ,CAAC;IAC9B,MAAM,SAAS,GAAG,GAAG,CAAC,SAAS,IAAI,GAAG,CAAC,UAAU,CAAC;IAClD,IACE,OAAO,YAAY,KAAK,QAAQ;QAChC,CAAC,MAAM,CAAC,aAAa,CAAC,KAAK,CAAC;QAC5B,CAAC,MAAM,CAAC,aAAa,CAAC,QAAQ,CAAC;QAC/B,CAAC,MAAM,CAAC,aAAa,CAAC,SAAS,CAAC,EAChC,CAAC;QACD,MAAM,IAAI,KAAK,CAAC,sDAAsD,CAAC,CAAC;IAC1E,CAAC;IACD,OAAO;QACL,YAAY;QACZ,KAAK,EAAE,KAAe;QACtB,QAAQ,EAAE,QAAkB;QAC5B,KAAK,EAAE,WAAW,CAAC,GAAG,CAAC,KAAK,CAAC;QAC7B,OAAO,EAAE,OAAO,GAAG,CAAC,OAAO,KAAK,QAAQ,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI;QAC7D,KAAK,EAAE,OAAO,GAAG,CAAC,KAAK,KAAK,QAAQ,CAAC,CAAC,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI;QACvD,QAAQ,EAAE,OAAO,GAAG,CAAC,QAAQ,KAAK,QAAQ,CAAC,CAAC,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC,CAAC,IAAI;QAChE,aAAa,EACX,OAAO,GAAG,CAAC,aAAa,KAAK,QAAQ,IAAI,OAAO,GAAG,CAAC,aAAa,KAAK,QAAQ;YAC5E,CAAC,CAAC,GAAG,CAAC,aAAa;YACnB,CAAC,CAAC,IAAI;QACV,SAAS,EAAE,SAAmB;QAC9B,SAAS,EAAE,GAAG,CAAC,SAAS,KAAK,IAAI;KAClC,CAAC;AACJ,CAAC;AAED,SAAgB,kBAAkB,CAAC,IAAa;IAC9C,MAAM,MAAM,GAAG,WAAW,CAAC,IAAI,CAAC,CAAC;IACjC,IAAI,MAAM,CAAC,IAAI,KAAK,OAAO,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,CAAC;QAC5D,MAAM,IAAI,KAAK,CAAC,wCAAwC,CAAC,CAAC;IAC5D,CAAC;IACD,MAAM,UAAU,GAAG,MAAM,CAAC,UAAU,CAAC;IACrC,MAAM,KAAK,GAAG,MAAM,CAAC,KAAK,CAAC;IAC3B,IAAI,CAAC,UAAU,KAAK,IAAI,IAAI,OAAO,UAAU,KAAK,QAAQ,CAAC,IAAI,CAAC,MAAM,CAAC,aAAa,CAAC,KAAK,CAAC,EAAE,CAAC;QAC5F,MAAM,IAAI,KAAK,CAAC,0CAA0C,CAAC,CAAC;IAC9D,CAAC;IACD,MAAM,KAAK,GAAG,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,sBAAsB,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;IAClF,OAAO;QACL,KAAK;QACL,UAAU;QACV,QAAQ,EAAE;YACR,QAAQ,EAAE,KAAK,CAAC,MAAM;YACtB,KAAK,EAAE,KAAe;YACtB,QAAQ,EAAE,UAAU,KAAK,IAAI;YAC7B,OAAO,EAAE,UAAU,KAAK,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,6BAA6B,CAAC;SACpE;KACF,CAAC;AACJ,CAAC;AAED,SAAgB,mBAAmB,CACjC,IAAa,EACb,KAA6C;IAE7C,MAAM,MAAM,GAAG,WAAW,CAAC,IAAI,CAAC,CAAC;IACjC,IAAI,MAAM,CAAC,IAAI,KAAK,QAAQ,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,CAAC;QAC7D,MAAM,IAAI,KAAK,CAAC,wCAAwC,CAAC,CAAC;IAC5D,CAAC;IACD,IAAI,MAAM,CAAC,KAAK,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QAC9B,MAAM,IAAI,KAAK,CAAC,kDAAkD,CAAC,CAAC;IACtE,CAAC;IACD,MAAM,GAAG,GAAG,WAAW,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;IACzC,MAAM,OAAO,GAAG,sBAAsB,CAAC,GAAG,CAAC,CAAC;IAC5C,MAAM,OAAO,GAAG,GAAG,CAAC,OAAO,CAAC;IAC5B,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC;QAAE,MAAM,IAAI,KAAK,CAAC,kDAAkD,CAAC,CAAC;IACjG,MAAM,SAAS,GAAG,CAAC,GAAG,OAAO,CAAC;SAC3B,IAAI,CAAC,CAAC,IAAI,EAAE,KAAK,EAAE,EAAE;QACpB,MAAM,CAAC,GAAG,WAAW,CAAC,IAAI,CAAC,CAAC;QAC5B,MAAM,CAAC,GAAG,WAAW,CAAC,KAAK,CAAC,CAAC;QAC7B,MAAM,KAAK,GAAG,MAAM,CAAC,CAAC,CAAC,aAAa,IAAI,CAAC,CAAC,SAAS,CAAC,CAAC;QACrD,MAAM,KAAK,GAAG,MAAM,CAAC,CAAC,CAAC,aAAa,IAAI,CAAC,CAAC,SAAS,CAAC,CAAC;QACrD,OAAO,KAAK,GAAG,KAAK,IAAI,MAAM,CAAC,CAAC,CAAC,QAAQ,CAAC,GAAG,MAAM,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC;IAClE,CAAC,CAAC;SACD,GAAG,CAAC,CAAC,GAAG,EAAkB,EAAE;QAC3B,MAAM,QAAQ,GAAG,WAAW,CAAC,GAAG,CAAC,CAAC;QAClC,MAAM,YAAY,GAAG,WAAW,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC;QACrD,IAAI,OAAO,YAAY,CAAC,IAAI,KAAK,QAAQ,IAAI,OAAO,YAAY,CAAC,EAAE,KAAK,QAAQ,EAAE,CAAC;YACjF,MAAM,IAAI,KAAK,CAAC,+DAA+D,CAAC,CAAC;QACnF,CAAC;QACD,MAAM,SAAS,GAAG,YAA0D,CAAC;QAC7E,MAAM,IAAI,GAAG,KAAK,CAAC,GAAG,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC,CAAC;QAC1C,MAAM,aAAa,GAAG,QAAQ,CAAC,aAAa,CAAC;QAC7C,MAAM,SAAS,GACb,OAAO,aAAa,KAAK,QAAQ,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC,MAAM,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC;QACjF,OAAO;YACL,QAAQ,EAAE,MAAM,CAAC,QAAQ,CAAC,QAAQ,CAAC;YACnC,SAAS,EAAE,QAAQ,CAAC,SAA4C;YAChE,SAAS;YACT,SAAS;YACT,eAAe,EAAE,OAAO,aAAa,KAAK,QAAQ,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,UAAU;YACzE,UAAU,EAAE,MAAM,CAAC,QAAQ,CAAC,SAAS,CAAC;YACtC,OAAO,EAAE,UAAU,CAAC,IAAI,EAAE,SAAS,CAAC;YACpC,SAAS,EAAE,UAAU,CAAC,IAAI,EAAE,WAAW,CAAC;YACxC,MAAM,EAAE,WAAW,CAAC,QAAQ,CAAC,GAAG,CAA8B;YAC9D,KAAK,EAAE,KAAK,CAAC,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAC;gBAClC,CAAC,CAAE,QAAQ,CAAC,KAAgD;gBAC5D,CAAC,CAAC,EAAE;YACN,QAAQ,EAAE,SAAS,CAAC,WAAW,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,QAAQ,CAAC;YACvD,KAAK,EAAE,UAAU,CAAC,WAAW,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,KAAK,CAAC;YAClD,KAAK,EAAE,UAAU,CAAC,WAAW,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,KAAK,CAAC;YAClD,QAAQ,EAAE,IAAI,EAAE,QAAQ,IAAI,EAAE;SAC/B,CAAC;IACJ,CAAC,CAAC,CAAC;IACL,MAAM,SAAS,GAAG,YAAY,CAAC,GAAG,CAAC,SAAS,CAAC,IAAI,SAAS,CAAC,CAAC,CAAC,EAAE,SAAS,IAAI,OAAO,CAAC,SAAS,CAAC;IAC9F,MAAM,SAAS,GAAG,YAAY,CAAC,GAAG,CAAC,SAAS,CAAC,IAAI,SAAS,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,SAAS,IAAI,OAAO,CAAC,SAAS,CAAC;IAClG,OAAO;QACL,GAAG,OAAO;QACV,SAAS,EAAE,SAAS,IAAI,OAAO,CAAC,SAAS;QACzC,SAAS,EAAE,SAAS,IAAI,OAAO,CAAC,SAAS;QACzC,SAAS;KACV,CAAC;AACJ,CAAC;AAED,SAAS,MAAM,CAAC,GAAiC;IAC/C,OAAO,GAAG,GAAG,CAAC,IAAI,IAAI,GAAG,CAAC,EAAE,EAAE,CAAC;AACjC,CAAC;AAED,SAAS,UAAU,CACjB,IAAmC,EACnC,KAA8B;IAE9B,MAAM,IAAI,GAAG,IAAI,EAAE,MAAM,EAAE,IAAI,CAAC;IAChC,IAAI,CAAC,IAAI,IAAI,IAAI,CAAC,IAAI,KAAK,QAAQ;QAAE,OAAO,IAAI,CAAC;IACjD,IAAI,KAAK,KAAK,SAAS;QAAE,OAAO,IAAI,CAAC,OAAO,CAAC;IAC7C,OAAO,SAAS,CAAC,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;AAC3C,CAAC;AAED,SAAS,YAAY,CAAC,IAAoB;IACxC,IAAI,IAAI,CAAC,OAAO,KAAK,SAAS,EAAE,CAAC;QAC/B,MAAM,IAAI,KAAK,CAAC,2CAA2C,CAAC,CAAC;IAC/D,CAAC;IACD,OAAO,CAAC,GAAG,IAAI,CAAC,OAAO,CAAC,CAAC,IAAI,CAC3B,CAAC,IAAI,EAAE,KAAK,EAAE,EAAE,CACd,CAAC,IAAI,CAAC,aAAa,IAAI,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,KAAK,CAAC,aAAa,IAAI,KAAK,CAAC,SAAS,CAAC;QACjF,IAAI,CAAC,QAAQ,GAAG,KAAK,CAAC,QAAQ,CACjC,CAAC;AACJ,CAAC;AAED,SAAgB,eAAe,CAC7B,IAAoB,EACpB,KAA6C;IAE7C,IAAI,IAAI,CAAC,KAAK,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QAC5B,MAAM,IAAI,KAAK,CAAC,2CAA2C,CAAC,CAAC;IAC/D,CAAC;IACD,MAAM,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,CAAE,CAAC;IAC5B,MAAM,SAAS,GAAG,YAAY,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,QAAQ,EAAkB,EAAE;QACpE,MAAM,IAAI,GAAG,KAAK,CAAC,GAAG,CAAC,MAAM,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC,CAAC;QACnD,MAAM,SAAS,GAAG,QAAQ,CAAC,aAAa,IAAI,QAAQ,CAAC,SAAS,CAAC;QAC/D,OAAO;YACL,QAAQ,EAAE,QAAQ,CAAC,QAAQ;YAC3B,SAAS,EAAE,QAAQ,CAAC,SAAS;YAC7B,SAAS,EAAE,QAAQ,CAAC,SAAS;YAC7B,SAAS;YACT,eAAe,EAAE,QAAQ,CAAC,aAAa,KAAK,IAAI,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,OAAO;YACvE,UAAU,EAAE,QAAQ,CAAC,SAAS;YAC9B,OAAO,EAAE,UAAU,CAAC,IAAI,EAAE,SAAS,CAAC;YACpC,SAAS,EAAE,UAAU,CAAC,IAAI,EAAE,WAAW,CAAC;YACxC,MAAM,EAAE,QAAQ,CAAC,GAAG;YACpB,KAAK,EAAE,QAAQ,CAAC,KAAK;YACrB,QAAQ,EAAE,SAAS,CAAC,QAAQ,CAAC,GAAG,CAAC,QAAQ,CAAC;YAC1C,KAAK,EAAE,UAAU,CAAC,QAAQ,CAAC,GAAG,CAAC,KAAK,CAAC;YACrC,KAAK,EAAE,UAAU,CAAC,QAAQ,CAAC,GAAG,CAAC,KAAK,CAAC;YACrC,QAAQ,EAAE,IAAI,EAAE,QAAQ,IAAI,EAAE;SAC/B,CAAC;IACJ,CAAC,CAAC,CAAC;IACH,OAAO;QACL,GAAG,WAAW,CAAC,IAAI,CAAC;QACpB,SAAS,EAAE,SAAS,CAAC,CAAC,CAAC,EAAE,SAAS,IAAI,IAAI,CAAC,SAAS;QACpD,SAAS,EAAE,SAAS,CAAC,SAAS,CAAC,MAAM,GAAG,CAAC,CAAC,EAAE,SAAS,IAAI,IAAI,CAAC,SAAS;QACvE,SAAS;KACV,CAAC;AACJ,CAAC;AAED,SAAgB,cAAc,CAC5B,IAAmB,EACnB,QAA2B,EAAE;IAE7B,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,IAAI,CAAC;IACpC,MAAM,MAAM,GAAG,IAAI,GAAG,CAAC,KAAK,CAAC,CAAC;IAC9B,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,MAAM,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC;IACrE,MAAM,OAAO,GAAG,IAAI,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;IAC/D,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,MAAM,CAC7B,CAAC,IAAI,EAAE,EAAE,CAAC,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,IAAI,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,CACzE,CAAC;IACF,OAAO,EAAE,GAAG,IAAI,EAAE,KAAK,EAAE,KAAK,EAAE,CAAC;AACnC,CAAC;AAED,SAAgB,iBAAiB,CAAC,IAAa;IAC7C,IAAI,IAAI,KAAK,IAAI,IAAI,OAAO,IAAI,KAAK,QAAQ,IAAI,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,CAAC;QACrE,MAAM,IAAI,KAAK,CAAC,4CAA4C,CAAC,CAAC;IAChE,CAAC;IACD,MAAM,MAAM,GAAG,IAA8C,CAAC;IAC9D,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,aAAa,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,CAAC;QAC1E,MAAM,IAAI,KAAK,CAAC,+CAA+C,CAAC,CAAC;IACnE,CAAC;IACD,OAAO,EAAE,KAAK,EAAE,MAAM,CAAC,KAAe,EAAE,OAAO,EAAE,MAAM,CAAC,OAAO,EAAE,CAAC;AACpE,CAAC;AA6DD,MAAM,aAAa,GAAG,IAAI,GAAG,CAAgC;IAC3D,SAAS;IACT,aAAa;IACb,QAAQ;IACR,SAAS;IACT,MAAM;IACN,WAAW;CACZ,CAAC,CAAC;AACH,MAAM,eAAe,GAAG,IAAI,GAAG,CAAkC,CAAC,MAAM,EAAE,QAAQ,EAAE,KAAK,CAAC,CAAC,CAAC;AAE5F,SAAS,WAAW,CAAC,KAAc;IACjC,OAAO,KAAK,KAAK,IAAI,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC;QACzE,CAAC,CAAE,KAAiC;QACpC,CAAC,CAAC,EAAE,CAAC;AACT,CAAC;AAED,SAAS,WAAW,CAAC,KAAc;IACjC,OAAO,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,CAAC,IAAI,EAAE,KAAK,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC;AACzE,CAAC;AAED,SAAS,aAAa,CAAC,KAAc,EAAE,SAAkB;IACvD,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,aAAa,CAAC,GAAG,CAAC,KAAsC,CAAC,EAAE,CAAC;QAC3F,OAAO,KAAsC,CAAC;IAChD,CAAC;IACD,IAAI,KAAK,KAAK,SAAS,IAAI,KAAK,KAAK,IAAI,EAAE,CAAC;QAC1C,8FAA8F;QAC9F,MAAM,IAAI,KAAK,CAAC,qCAAqC,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;IAChF,CAAC;IACD,OAAO,SAAS,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,SAAS,CAAC;AAC7C,CAAC;AAED,SAAS,eAAe,CAAC,KAAc;IACrC,OAAO,OAAO,KAAK,KAAK,QAAQ,IAAI,eAAe,CAAC,GAAG,CAAC,KAAwC,CAAC;QAC/F,CAAC,CAAE,KAAyC;QAC5C,CAAC,CAAC,QAAQ,CAAC;AACf,CAAC;AAED,SAAS,SAAS,CAAC,KAAoB;IACrC,IAAI,KAAK,KAAK,IAAI,IAAI,CAAC,qBAAqB,CAAC,IAAI,CAAC,KAAK,CAAC;QAAE,OAAO,KAAK,CAAC;IACvE,MAAM,CAAC,IAAI,EAAE,KAAK,EAAE,GAAG,CAAC,GAAG,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;IACxD,MAAM,MAAM,GAAG,IAAI,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,EAAE,KAAK,GAAG,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC;IACxD,OAAO,CACL,MAAM,CAAC,cAAc,EAAE,KAAK,IAAI;QAChC,MAAM,CAAC,WAAW,EAAE,KAAK,KAAK,GAAG,CAAC;QAClC,MAAM,CAAC,UAAU,EAAE,KAAK,GAAG,CAC5B,CAAC;AACJ,CAAC;AAED,SAAS,cAAc,CAAC,KAAc;IACpC,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,CAAC,IAAI,EAAE,KAAK,EAAE;QAAE,OAAO,IAAI,CAAC;IAClE,MAAM,MAAM,GAAG,IAAI,IAAI,CAAC,KAAK,CAAC,CAAC;IAC/B,OAAO,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC;AACzE,CAAC;AAED,SAAS,aAAa,CACpB,MAAqC,EACrC,KAAoB,EACpB,OAAsB,EACtB,GAAW;IAEX,IAAI,MAAM,KAAK,MAAM,IAAI,MAAM,KAAK,WAAW;QAAE,OAAO,QAAQ,CAAC;IACjE,IAAI,KAAK,KAAK,IAAI;QAAE,OAAO,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,GAAG,GAAG,CAAC,CAAC,CAAC,gBAAgB,CAAC,CAAC,CAAC,eAAe,CAAC;IACxF,IAAI,OAAO,KAAK,IAAI,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC;QAAE,OAAO,aAAa,CAAC;IAClE,MAAM,KAAK,GAAG,IAAI,IAAI,CAAC,GAAG,CAAC,CAAC,WAAW,EAAE,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;IACvD,IAAI,OAAO,GAAG,KAAK;QAAE,OAAO,eAAe,CAAC;IAC5C,IAAI,OAAO,KAAK,KAAK;QAAE,OAAO,UAAU,CAAC;IACzC,OAAO,cAAc,CAAC;AACxB,CAAC;AAED,SAAS,sBAAsB,CAAC,IAAoB;IAClD,IAAI,IAAI,CAAC,OAAO,KAAK,SAAS,IAAI,IAAI,CAAC,OAAO,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QAC5D,OAAO,EAAE,SAAS,EAAE,IAAI,CAAC,SAAS,EAAE,SAAS,EAAE,IAAI,CAAC,SAAS,EAAE,CAAC;IAClE,CAAC;IACD,MAAM,SAAS,GAAG,CAAC,GAAG,IAAI,CAAC,OAAO,CAAC,CAAC,IAAI,CACtC,CAAC,IAAI,EAAE,KAAK,EAAE,EAAE,CACd,CAAC,IAAI,CAAC,aAAa,IAAI,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,KAAK,CAAC,aAAa,IAAI,KAAK,CAAC,SAAS,CAAC;QACjF,IAAI,CAAC,QAAQ,GAAG,KAAK,CAAC,QAAQ,CACjC,CAAC;IACF,OAAO;QACL,SAAS,EAAE,SAAS,CAAC,CAAC,CAAE,CAAC,aAAa,IAAI,SAAS,CAAC,CAAC,CAAE,CAAC,SAAS;QACjE,SAAS,EACP,SAAS,CAAC,SAAS,CAAC,MAAM,GAAG,CAAC,CAAE,CAAC,aAAa,IAAI,SAAS,CAAC,SAAS,CAAC,MAAM,GAAG,CAAC,CAAE,CAAC,SAAS;KAC/F,CAAC;AACJ,CAAC;AAED,SAAS,WAAW,CAAC,IAAoB,EAAE,GAAW;IACpD,MAAM,MAAM,GAAG,WAAW,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;IACxC,MAAM,UAAU,GAAG,sBAAsB,CAAC,IAAI,CAAC,CAAC;IAChD,MAAM,MAAM,GAAG,aAAa,CAAC,MAAM,CAAC,MAAM,EAAE,IAAI,CAAC,SAAS,CAAC,CAAC;IAC5D,MAAM,OAAO,GAAG,WAAW,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;IAC7C,MAAM,KAAK,GAAG,cAAc,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;IAC3C,MAAM,MAAM,GACV,OAAO,MAAM,CAAC,qBAAqB,KAAK,QAAQ;QAChD,MAAM,CAAC,aAAa,CAAC,MAAM,CAAC,qBAAqB,CAAC;QAChD,CAAC,CAAC,MAAM,CAAC,qBAAqB;QAC9B,CAAC,CAAC,IAAI,CAAC;IACX,OAAO;QACL,EAAE,EAAE,IAAI,CAAC,KAAK;QACd,aAAa,EAAE,IAAI,CAAC,YAAY;QAChC,KAAK,EAAE,WAAW,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,EAAE;QACtC,MAAM;QACN,QAAQ,EAAE,eAAe,CAAC,MAAM,CAAC,QAAQ,CAAC;QAC1C,QAAQ,EAAE,WAAW,CAAC,MAAM,CAAC,QAAQ,IAAI,MAAM,CAAC,YAAY,CAAC;QAC7D,QAAQ,EAAE,OAAO,KAAK,IAAI,IAAI,SAAS,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI;QACjE,MAAM,EAAE,KAAK;QACb,uBAAuB,EAAE,MAAM;QAC/B,QAAQ,EAAE,IAAI,CAAC,QAAQ;QACvB,cAAc,EAAE,aAAa,CAAC,MAAM,EAAE,KAAK,EAAE,OAAO,EAAE,GAAG,CAAC;QAC1D,cAAc,EAAE,WAAW,CAAC,MAAM,CAAC,aAAa,IAAI,MAAM,CAAC,cAAc,CAAC;QAC1E,YAAY,EAAE,WAAW,CAAC,MAAM,CAAC,WAAW,IAAI,MAAM,CAAC,YAAY,CAAC;QACpE,YAAY,EAAE,MAAM,CAAC,WAAW,KAAK,IAAI,IAAI,MAAM,CAAC,YAAY,KAAK,IAAI;QACzE,SAAS,EAAE,MAAM,CAAC,SAAS,KAAK,IAAI;QACpC,UAAU,EAAE,UAAU,CAAC,SAAS;QAChC,UAAU,EAAE,UAAU,CAAC,SAAS;KACjC,CAAC;AACJ,CAAC;AAED,SAAgB,kBAAkB,CAChC,IAAoB,EACpB,UAAqF,EAAE;IAEvF,MAAM,GAAG,GAAG,OAAO,CAAC,GAAG,IAAI,IAAI,CAAC,GAAG,EAAE,CAAC;IACtC,IAAI,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,WAAW,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC,CAAC;IAC7D,IAAI,OAAO,CAAC,MAAM,KAAK,SAAS;QAAE,KAAK,GAAG,KAAK,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,MAAM,KAAK,OAAO,CAAC,MAAM,CAAC,CAAC;IACjG,IAAI,OAAO,CAAC,aAAa,KAAK,SAAS,EAAE,CAAC;QACxC,KAAK,GAAG,KAAK,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,cAAc,KAAK,OAAO,CAAC,aAAa,CAAC,CAAC;IAChF,CAAC;IACD,IAAI,OAAO,CAAC,KAAK,KAAK,SAAS;QAAE,KAAK,GAAG,KAAK,CAAC,KAAK,CAAC,CAAC,EAAE,OAAO,CAAC,KAAK,CAAC,CAAC;IACvE,OAAO,EAAE,KAAK,EAAE,CAAC;AACnB,CAAC;AAED,SAAS,sBAAsB,CAAC,GAA4B;IAC1D,MAAM,EAAE,GAAG,GAAG,CAAC,EAAE,CAAC;IAClB,MAAM,YAAY,GAAG,GAAG,CAAC,YAAY,CAAC;IACtC,MAAM,QAAQ,GAAG,GAAG,CAAC,QAAQ,CAAC;IAC9B,MAAM,SAAS,GAAG,GAAG,CAAC,SAAS,IAAI,GAAG,CAAC,UAAU,CAAC;IAClD,IACE,CAAC,MAAM,CAAC,aAAa,CAAC,EAAE,CAAC;QACzB,OAAO,YAAY,KAAK,QAAQ;QAChC,CAAC,MAAM,CAAC,aAAa,CAAC,QAAQ,CAAC;QAC/B,CAAC,MAAM,CAAC,aAAa,CAAC,SAAS,CAAC,EAChC,CAAC;QACD,MAAM,IAAI,KAAK,CAAC,kDAAkD,CAAC,CAAC;IACtE,CAAC;IACD,MAAM,MAAM,GAAG,GAAG,CAAC,MAAM,CAAC;IAC1B,MAAM,QAAQ,GAAG,GAAG,CAAC,QAAQ,IAAI,QAAQ,CAAC;IAC1C,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,MAAuC,CAAC,EAAE,CAAC;QAChE,MAAM,IAAI,KAAK,CAAC,wDAAwD,CAAC,CAAC;IAC5E,CAAC;IACD,IAAI,CAAC,eAAe,CAAC,GAAG,CAAC,QAA2C,CAAC,EAAE,CAAC;QACtE,MAAM,IAAI,KAAK,CAAC,0DAA0D,CAAC,CAAC;IAC9E,CAAC;IACD,MAAM,IAAI,GAAG,CAAC,KAAc,EAAiB,EAAE,CAAC,CAAC,OAAO,KAAK,KAAK,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;IAC3F,MAAM,MAAM,GAAG,CAAC,KAAc,EAAiB,EAAE,CAC/C,OAAO,KAAK,KAAK,QAAQ,IAAI,MAAM,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC;IAC1E,MAAM,QAAQ,GAAG,GAAG,CAAC,cAAc,CAAC;IACpC,MAAM,aAAa,GAAG,IAAI,GAAG,CAAwC;QACnE,QAAQ;QACR,gBAAgB;QAChB,eAAe;QACf,eAAe;QACf,UAAU;QACV,cAAc;QACd,aAAa;KACd,CAAC,CAAC;IACH,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,QAAiD,CAAC,EAAE,CAAC;QAC1E,MAAM,IAAI,KAAK,CAAC,oDAAoD,CAAC,CAAC;IACxE,CAAC;IACD,OAAO;QACL,EAAE,EAAE,EAAY;QAChB,aAAa,EAAE,YAAY;QAC3B,KAAK,EAAE,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,EAAE;QAC5B,MAAM,EAAE,MAAuC;QAC/C,QAAQ,EAAE,QAA2C;QACrD,QAAQ,EAAE,IAAI,CAAC,GAAG,CAAC,QAAQ,CAAC;QAC5B,QAAQ,EAAE,IAAI,CAAC,GAAG,CAAC,QAAQ,CAAC;QAC5B,MAAM,EAAE,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC;QACxB,uBAAuB,EAAE,MAAM,CAAC,GAAG,CAAC,uBAAuB,CAAC;QAC5D,QAAQ,EAAE,QAAkB;QAC5B,cAAc,EAAE,QAAiD;QACjE,cAAc,EAAE,IAAI,CAAC,GAAG,CAAC,aAAa,CAAC;QACvC,YAAY,EAAE,IAAI,CAAC,GAAG,CAAC,YAAY,CAAC;QACpC,YAAY,EAAE,GAAG,CAAC,YAAY,KAAK,IAAI;QACvC,SAAS,EAAE,GAAG,CAAC,SAAS,KAAK,IAAI;QACjC,UAAU,EAAE,MAAM,CAAC,GAAG,CAAC,SAAS,IAAI,GAAG,CAAC,UAAU,CAAC,IAAK,SAAoB;QAC5E,UAAU,EAAE,SAAmB;KAChC,CAAC;AACJ,CAAC;AAED,SAAgB,2BAA2B,CACzC,IAAa,EACb,UAAuD,EAAE;IAMzD,MAAM,MAAM,GAAG,WAAW,CAAC,IAAI,CAAC,CAAC;IACjC,IAAI,MAAM,CAAC,IAAI,KAAK,OAAO,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,CAAC;QAC5D,MAAM,IAAI,KAAK,CAAC,wCAAwC,CAAC,CAAC;IAC5D,CAAC;IACD,MAAM,UAAU,GAAG,MAAM,CAAC,UAAU,CAAC;IACrC,IAAI,UAAU,KAAK,IAAI,IAAI,OAAO,UAAU,KAAK,QAAQ,EAAE,CAAC;QAC1D,MAAM,IAAI,KAAK,CAAC,4CAA4C,CAAC,CAAC;IAChE,CAAC;IACD,IAAI,KAAK,GAAG,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,sBAAsB,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;IAChF,IAAI,OAAO,CAAC,MAAM,KAAK,SAAS;QAAE,KAAK,GAAG,KAAK,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,MAAM,KAAK,OAAO,CAAC,MAAM,CAAC,CAAC;IACjG,IAAI,OAAO,CAAC,aAAa,KAAK,SAAS,EAAE,CAAC;QACxC,KAAK,GAAG,KAAK,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,cAAc,KAAK,OAAO,CAAC,aAAa,CAAC,CAAC;IAChF,CAAC;IACD,MAAM,KAAK,GAAG,MAAM,CAAC,KAAK,CAAC;IAC3B,IAAI,CAAC,MAAM,CAAC,aAAa,CAAC,KAAK,CAAC;QAAE,MAAM,IAAI,KAAK,CAAC,2CAA2C,CAAC,CAAC;IAC/F,OAAO;QACL,KAAK;QACL,UAAU;QACV,QAAQ,EAAE;YACR,QAAQ,EAAE,KAAK,CAAC,MAAM;YACtB,KAAK,EAAE,KAAe;YACtB,QAAQ,EAAE,UAAU,KAAK,IAAI;YAC7B,OAAO,EAAE,UAAU,KAAK,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,6BAA6B,CAAC;SACpE;KACF,CAAC;AACJ,CAAC;AAED,SAAS,QAAQ,CAAC,GAAiC;IACjD,OAAO,GAAG,GAAG,CAAC,IAAI,IAAI,GAAG,CAAC,EAAE,EAAE,CAAC;AACjC,CAAC;AAED,SAAS,OAAO,CAAC,KAAa;IAC5B,MAAM,UAAU,GAAG,KAAK,CAAC,OAAO,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC,IAAI,EAAE,CAAC;IACrD,OAAO,UAAU,CAAC,MAAM,IAAI,GAAG,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,GAAG,UAAU,CAAC,KAAK,CAAC,CAAC,EAAE,GAAG,CAAC,KAAK,CAAC;AAClF,CAAC;AAED,SAAgB,mBAAmB,CACjC,IAAoC,EACpC,QAAgB;IAEhB,MAAM,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC;IACvB,MAAM,MAAM,GAAG,IAAI,CAAC,IAAI,KAAK,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC;IACpD,yFAAyF;IACzF,qDAAqD;IACrD,MAAM,gBAAgB,GACpB,IAAI,CAAC,IAAI,KAAK,aAAa;QACzB,CAAC,CAAC,GAAG,IAAI,IAAI,CAAC,IAAI,CAAC,QAAQ,IAAI,IAAI,CAAC,UAAU,CAAC,CAAC,cAAc,CAAC,OAAO,EAAE,EAAE,QAAQ,EAAE,CAAC,KAAK,QAAQ,OAAO,IAAI,CAAC,SAAS,EAAE;QACzH,CAAC,CAAC,IAAI,CAAC;IACX,MAAM,OAAO,GAAG,MAAM,EAAE,OAAO,IAAI,gBAAgB,IAAI,IAAI,CAAC,KAAK,CAAC;IAClE,MAAM,OAAO,GAAG,MAAM,EAAE,OAAO,IAAI,IAAI,CAAC;IACxC,OAAO;QACL,EAAE,EAAE,QAAQ,CAAC,IAAI,CAAC,GAAG,CAAC;QACtB,IAAI,EAAE,MAAM,EAAE,UAAU,KAAK,YAAY,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,MAAM,EAAE,UAAU,IAAI,IAAI,CAAC,IAAI,CAAC;QAC5F,KAAK,EAAE,MAAM,EAAE,eAAe;QAC9B,KAAK,EAAE,gBAAgB,IAAI,IAAI,CAAC,KAAK;QACrC,KAAK,EAAE,MAAM,EAAE,KAAK,IAAI,IAAI,CAAC,IAAI;QACjC,gBAAgB,EAAE,OAAO,CAAC,OAAO,CAAC;QAClC,QAAQ,EAAE,OAAO;QACjB,SAAS,EAAE,OAAO,IAAI,OAAO,OAAO,CAAC,SAAS,KAAK,QAAQ,CAAC,CAAC,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC,CAAC,SAAS;QAC3F,OAAO,EAAE,OAAO,IAAI,OAAO,OAAO,CAAC,OAAO,KAAK,QAAQ,CAAC,CAAC,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI;QAChF,UAAU,EAAE,IAAI;QAChB,UAAU,EAAE,MAAM,EAAE,UAAU,IAAI,CAAC,IAAI,CAAC,IAAI,KAAK,aAAa,CAAC,CAAC,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC;KACtF,CAAC;AACJ,CAAC;AAED,SAAgB,mBAAmB,CAAC,IAAoC;IACtE,MAAM,KAAK,GAAG,WAAW,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;IACtC,OAAO;QACL,EAAE,EAAE,IAAI,CAAC,EAAE;QACX,IAAI,EAAE,QAAQ,CAAC,IAAI,CAAC,YAAY,CAAC;QACjC,EAAE,EAAE,QAAQ,CAAC,IAAI,CAAC,UAAU,CAAC;QAC7B,YAAY,EAAE,IAAI,CAAC,QAAQ;QAC3B,MAAM,EAAE,OAAO,KAAK,CAAC,WAAW,KAAK,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC,WAAW,CAAC,CAAC,CAAC,IAAI;KACzE,CAAC;AACJ,CAAC;AAED,SAAgB,iBAAiB,CAC/B,IAAmB,EACnB,OAAe,EACf,QAA2B,EAAE,EAC7B,QAAgB;IAEhB,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,mBAAmB,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC,CAAC;IAC5E,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,mBAAmB,CAAC,CAAC;IAClD,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACvB,OAAO;YACL,KAAK;YACL,KAAK;YACL,eAAe,EAAE,EAAE;YACnB,IAAI,EAAE;gBACJ,WAAW,EAAE,KAAK,CAAC,MAAM;gBACzB,WAAW,EAAE,KAAK,CAAC,MAAM;gBACzB,gBAAgB,EAAE,CAAC;gBACnB,OAAO,EAAE,IAAI,CAAC,UAAU,KAAK,IAAI;gBACjC,WAAW,EAAE,IAAI,CAAC,UAAU;gBAC5B,MAAM,EAAE,oBAAoB;aAC7B;YACD,OAAO;SACR,CAAC;IACJ,CAAC;IACD,MAAM,MAAM,GAAG,IAAI,GAAG,CAAC,KAAK,CAAC,CAAC;IAC9B,MAAM,OAAO,GAAG,IAAI,GAAG,CACrB,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,MAAM,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,QAAQ,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CACzF,CAAC;IACF,MAAM,aAAa,GAAG,KAAK,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC;IACnE,MAAM,aAAa,GAAG,KAAK,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC;IAC7F,OAAO;QACL,KAAK,EAAE,aAAa;QACpB,KAAK,EAAE,aAAa;QACpB,eAAe,EAAE,EAAE;QACnB,IAAI,EAAE;YACJ,WAAW,EAAE,aAAa,CAAC,MAAM;YACjC,WAAW,EAAE,aAAa,CAAC,MAAM;YACjC,gBAAgB,EAAE,CAAC;YACnB,OAAO,EAAE,IAAI,CAAC,UAAU,KAAK,IAAI;YACjC,WAAW,EAAE,IAAI,CAAC,UAAU;YAC5B,MAAM,EAAE,oBAAoB;SAC7B;QACD,OAAO;KACR,CAAC;AACJ,CAAC"}
|
|
1
|
+
{"version":3,"file":"viewer-data.js","sourceRoot":"","sources":["../../src/api/viewer-data.ts"],"names":[],"mappings":"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"}
|
|
@@ -2,7 +2,7 @@ import { type Server, type ServerResponse } from 'node:http';
|
|
|
2
2
|
import type { ActionDispatcher } from '@jungjaehoon/mama-core';
|
|
3
3
|
import type { JudgmentAccess } from '@jungjaehoon/mama-core/knowledge';
|
|
4
4
|
import { type SecurityEventOptions } from './security-events.js';
|
|
5
|
-
import type
|
|
5
|
+
import { type TimeZoneSetting } from '../runtime/timezone.js';
|
|
6
6
|
import type { ReportStore } from './report-handler.js';
|
|
7
7
|
import { type ViewerMemoryStats } from './viewer-data.js';
|
|
8
8
|
export interface ViewerConnectorStatus {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"viewer-server.d.ts","sourceRoot":"","sources":["../../src/api/viewer-server.ts"],"names":[],"mappings":"AAUA,OAAO,EAAsC,KAAK,MAAM,EAAE,KAAK,cAAc,EAAE,MAAM,WAAW,CAAC;AAEjG,OAAO,KAAK,EAGV,gBAAgB,EAGjB,MAAM,wBAAwB,CAAC;AAChC,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,kCAAkC,CAAC;AAOvE,OAAO,EAA+B,KAAK,oBAAoB,EAAE,MAAM,sBAAsB,CAAC;AAC9F,OAAO,KAAK,
|
|
1
|
+
{"version":3,"file":"viewer-server.d.ts","sourceRoot":"","sources":["../../src/api/viewer-server.ts"],"names":[],"mappings":"AAUA,OAAO,EAAsC,KAAK,MAAM,EAAE,KAAK,cAAc,EAAE,MAAM,WAAW,CAAC;AAEjG,OAAO,KAAK,EAGV,gBAAgB,EAGjB,MAAM,wBAAwB,CAAC;AAChC,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,kCAAkC,CAAC;AAOvE,OAAO,EAA+B,KAAK,oBAAoB,EAAE,MAAM,sBAAsB,CAAC;AAC9F,OAAO,EAAsC,KAAK,eAAe,EAAE,MAAM,wBAAwB,CAAC;AAMlG,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,qBAAqB,CAAC;AAQvD,OAAO,EAcL,KAAK,iBAAiB,EACvB,MAAM,kBAAkB,CAAC;AAsB1B,MAAM,WAAW,qBAAqB;IACpC,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,OAAO,CAAC;IACjB,OAAO,EAAE,OAAO,CAAC;IACjB,QAAQ,EAAE,MAAM,GAAG,IAAI,CAAC;IACxB,YAAY,EAAE,MAAM,GAAG,IAAI,CAAC;CAC7B;AAED,MAAM,WAAW,sBAAsB;IACrC,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,OAAO,CAAC;IACjB,KAAK,EAAE,WAAW,GAAG,cAAc,GAAG,SAAS,CAAC;CACjD;AAED,MAAM,WAAW,mBAAmB;IAClC,OAAO,EAAE,OAAO,CAAC;IACjB,OAAO,EAAE,MAAM,CAAC;IAChB,OAAO,EAAE,MAAM,CAAC;IAChB,KAAK,EAAE,MAAM,CAAC;IACd,SAAS,EAAE,MAAM,CAAC;IAClB,MAAM,EAAE;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,CAAA;KAAE,GAAG,IAAI,CAAC;IACjD,UAAU,EAAE,sBAAsB,EAAE,CAAC;CACtC;AAED,MAAM,WAAW,mBAAmB;IAClC,QAAQ,EAAE,gBAAgB,CAAC;IAC3B,WAAW,EAAE,cAAc,CAAC;IAC5B,WAAW,CAAC,EAAE,WAAW,GAAG,IAAI,CAAC;IACjC,gBAAgB,CAAC,EAAE,GAAG,CAAC,cAAc,CAAC,CAAC;IACvC,QAAQ,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACzB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,kBAAkB,CAAC,EAAE,MAAM,qBAAqB,EAAE,GAAG,OAAO,CAAC,qBAAqB,EAAE,CAAC,CAAC;IACtF,gBAAgB,CAAC,EAAE,MAAM,mBAAmB,GAAG,OAAO,CAAC,mBAAmB,CAAC,CAAC;IAC5E,cAAc,CAAC,EAAE,MAAM,iBAAiB,GAAG,OAAO,CAAC,iBAAiB,CAAC,CAAC;IACtE,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,cAAc,CAAC,EAAE,oBAAoB,CAAC;IACtC,QAAQ,EAAE,eAAe,CAAC;CAC3B;AAED,MAAM,WAAW,YAAY;IAC3B,QAAQ,CAAC,MAAM,EAAE,MAAM,GAAG,IAAI,CAAC;IAC/B,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;IACvB,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;CACvB;AA+FD,wBAAsB,iBAAiB,CACrC,MAAM,EAAE,eAAe,EACvB,UAAU,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,KAAK,OAAO,CAAC,OAAO,CAAC,GAC/E,OAAO,CAAC,OAAO,CAAC,CAkBlB;AAqTD,wBAAgB,kBAAkB,CAAC,OAAO,EAAE,mBAAmB,GAAG,YAAY,CAkpB7E"}
|
|
@@ -9,7 +9,9 @@ const node_path_1 = require("node:path");
|
|
|
9
9
|
const auth_middleware_js_1 = require("./auth-middleware.js");
|
|
10
10
|
const cf_access_js_1 = require("./cf-access.js");
|
|
11
11
|
const security_events_js_1 = require("./security-events.js");
|
|
12
|
+
const timezone_js_1 = require("../runtime/timezone.js");
|
|
12
13
|
const viewer_request_security_js_1 = require("./viewer-request-security.js");
|
|
14
|
+
const work_actions_js_1 = require("./work-actions.js");
|
|
13
15
|
const wiki_read_js_1 = require("../wiki/wiki-read.js");
|
|
14
16
|
const viewer_data_js_1 = require("./viewer-data.js");
|
|
15
17
|
const GRAPH_KINDS = new Set([
|
|
@@ -139,7 +141,43 @@ function graphRef(value) {
|
|
|
139
141
|
return null;
|
|
140
142
|
return { kind, id: value.slice(split + 1) };
|
|
141
143
|
}
|
|
142
|
-
|
|
144
|
+
/** The memory view's named periods, in local days ending today. */
|
|
145
|
+
const TIMELINE_PERIOD_DAYS = new Map([
|
|
146
|
+
['today', 1],
|
|
147
|
+
['7d', 7],
|
|
148
|
+
['30d', 30],
|
|
149
|
+
]);
|
|
150
|
+
const TIMELINE_MAX_DAYS = 31;
|
|
151
|
+
function shiftLocalDate(day, days) {
|
|
152
|
+
return new Date(Date.parse(`${day}T00:00:00Z`) + days * 86_400_000).toISOString().slice(0, 10);
|
|
153
|
+
}
|
|
154
|
+
function isLocalDate(value) {
|
|
155
|
+
return (value !== null &&
|
|
156
|
+
/^\d{4}-\d{2}-\d{2}$/.test(value) &&
|
|
157
|
+
Number.isFinite(Date.parse(`${value}T00:00:00Z`)) &&
|
|
158
|
+
shiftLocalDate(value, 0) === value);
|
|
159
|
+
}
|
|
160
|
+
/** The local days a memory timeline covers: from and to as given, or a named period ending today. */
|
|
161
|
+
function timelineDays(params, timeZone) {
|
|
162
|
+
const from = params.get('from');
|
|
163
|
+
const to = params.get('to');
|
|
164
|
+
if (from !== null || to !== null) {
|
|
165
|
+
if (!isLocalDate(from) || !isLocalDate(to) || from > to) {
|
|
166
|
+
throw new ViewerHttpError(400, 'INVALID_TIMELINE_WINDOW', 'from and to must be local dates (YYYY-MM-DD), from on or before to');
|
|
167
|
+
}
|
|
168
|
+
// Every search or kind change re-reads the whole window, and the view asks for 30 days at most.
|
|
169
|
+
if (shiftLocalDate(from, TIMELINE_MAX_DAYS - 1) < to) {
|
|
170
|
+
throw new ViewerHttpError(400, 'INVALID_TIMELINE_WINDOW', `a timeline window covers at most ${TIMELINE_MAX_DAYS} days`);
|
|
171
|
+
}
|
|
172
|
+
return { from, to };
|
|
173
|
+
}
|
|
174
|
+
const days = TIMELINE_PERIOD_DAYS.get(params.get('period') ?? '7d');
|
|
175
|
+
if (days === undefined) {
|
|
176
|
+
throw new ViewerHttpError(400, 'INVALID_TIMELINE_PERIOD', 'period must be today, 7d or 30d');
|
|
177
|
+
}
|
|
178
|
+
const today = (0, timezone_js_1.localDateKey)(Date.now(), timeZone);
|
|
179
|
+
return { from: shiftLocalDate(today, 1 - days), to: today };
|
|
180
|
+
}
|
|
143
181
|
/** The ledger records "unconfirmed" when no observation points to an assignee. */
|
|
144
182
|
function confirmedAssignee(value) {
|
|
145
183
|
return (typeof value === 'string' && value.trim() !== '' && value.trim().toLowerCase() !== 'unconfirmed');
|
|
@@ -487,7 +525,7 @@ function createViewerServer(options) {
|
|
|
487
525
|
do {
|
|
488
526
|
const page = (await callAction('work.list', {
|
|
489
527
|
view: 'items',
|
|
490
|
-
status: [...OPEN_WORK_STATUSES],
|
|
528
|
+
status: [...work_actions_js_1.OPEN_WORK_STATUSES],
|
|
491
529
|
limit: 50,
|
|
492
530
|
...(cursor === null ? {} : { cursor }),
|
|
493
531
|
}));
|
|
@@ -506,7 +544,7 @@ function createViewerServer(options) {
|
|
|
506
544
|
updatedAt: slots.length === 0 ? null : Math.max(...slots.map((slot) => slot.updatedAt)),
|
|
507
545
|
},
|
|
508
546
|
work: {
|
|
509
|
-
open: OPEN_WORK_STATUSES.reduce((sum, status) => sum + (overview.status[status] ?? 0), 0),
|
|
547
|
+
open: work_actions_js_1.OPEN_WORK_STATUSES.reduce((sum, status) => sum + (overview.status[status] ?? 0), 0),
|
|
510
548
|
review: overview.status.review ?? 0,
|
|
511
549
|
overdue: overview.due.overdue,
|
|
512
550
|
unassigned,
|
|
@@ -538,6 +576,46 @@ function createViewerServer(options) {
|
|
|
538
576
|
} while (cursor !== null && nodes.size < limit && pageCount < 20);
|
|
539
577
|
return (0, viewer_data_js_1.shapeArchiveGraph)(archiveGraphPage(pages, cursor), Date.now() - started, parseKinds(params), options.timeZone.get());
|
|
540
578
|
};
|
|
579
|
+
// The memory view draws one record and what it links to, never the whole graph at once.
|
|
580
|
+
const graphNeighbors = async (params) => {
|
|
581
|
+
const started = Date.now();
|
|
582
|
+
const ref = graphRef(params.get('id') ?? '');
|
|
583
|
+
if (!ref)
|
|
584
|
+
throw new ViewerHttpError(400, 'INVALID_ID', 'id must be a graph reference');
|
|
585
|
+
const page = (await callAction('graph.query', {
|
|
586
|
+
view: 'neighbors',
|
|
587
|
+
seeds: [ref],
|
|
588
|
+
maxDepth: 1,
|
|
589
|
+
history: 'all',
|
|
590
|
+
}));
|
|
591
|
+
return (0, viewer_data_js_1.shapeArchiveGraph)(page, Date.now() - started, [], options.timeZone.get());
|
|
592
|
+
};
|
|
593
|
+
// What was saved when, read whole for the chosen days: the view groups by day, kind and item,
|
|
594
|
+
// so it needs every record in the window rather than one page of them.
|
|
595
|
+
const memoryTimeline = async (params) => {
|
|
596
|
+
const timeZone = options.timeZone.get();
|
|
597
|
+
const window = timelineDays(params, timeZone);
|
|
598
|
+
const since = (0, timezone_js_1.epochAtLocalDateTime)(`${window.from}T00:00:00`, timeZone);
|
|
599
|
+
const until = (0, timezone_js_1.epochAtLocalDateTime)(`${shiftLocalDate(window.to, 1)}T00:00:00`, timeZone);
|
|
600
|
+
const records = [];
|
|
601
|
+
let cursor = null;
|
|
602
|
+
do {
|
|
603
|
+
const page = (0, viewer_data_js_1.savedTimelinePage)(await callAction('memory.read:timeline', {
|
|
604
|
+
since,
|
|
605
|
+
until,
|
|
606
|
+
limit: 500,
|
|
607
|
+
...(cursor === null ? {} : { cursor }),
|
|
608
|
+
}));
|
|
609
|
+
records.push(...page.records);
|
|
610
|
+
cursor = page.nextCursor;
|
|
611
|
+
} while (cursor !== null);
|
|
612
|
+
const query = params.get('q')?.trim() ?? '';
|
|
613
|
+
const groups = params.get('groups');
|
|
614
|
+
return (0, viewer_data_js_1.shapeSavedTimeline)(records, { ...window, timeZone }, {
|
|
615
|
+
query: query === '' ? null : query,
|
|
616
|
+
groups: groups === null ? null : new Set(groups.split(',').filter((group) => group !== '')),
|
|
617
|
+
});
|
|
618
|
+
};
|
|
541
619
|
const graphDetail = async (params) => {
|
|
542
620
|
const id = params.get('id');
|
|
543
621
|
if (!id)
|
|
@@ -745,6 +823,12 @@ function createViewerServer(options) {
|
|
|
745
823
|
if (url.pathname === '/graph' || url.pathname === '/api/graph') {
|
|
746
824
|
result = await graph(url.searchParams);
|
|
747
825
|
}
|
|
826
|
+
else if (url.pathname === '/api/graph/neighbors') {
|
|
827
|
+
result = await graphNeighbors(url.searchParams);
|
|
828
|
+
}
|
|
829
|
+
else if (url.pathname === '/api/memory/timeline') {
|
|
830
|
+
result = await memoryTimeline(url.searchParams);
|
|
831
|
+
}
|
|
748
832
|
else if (url.pathname === '/graph/detail' || url.pathname === '/api/graph/detail') {
|
|
749
833
|
result = await graphDetail(url.searchParams);
|
|
750
834
|
}
|