koneck 2.128.64 → 2.128.66
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/ink-chat.d.ts.map +1 -1
- package/dist/ink-chat.js +31 -1
- package/dist/ink-chat.js.map +1 -1
- package/dist/memory-watch.d.ts +29 -0
- package/dist/memory-watch.d.ts.map +1 -0
- package/dist/memory-watch.js +75 -0
- package/dist/memory-watch.js.map +1 -0
- package/dist/providers.d.ts.map +1 -1
- package/dist/providers.js +4 -0
- package/dist/providers.js.map +1 -1
- package/dist/startup-trace.d.ts +8 -0
- package/dist/startup-trace.d.ts.map +1 -1
- package/dist/startup-trace.js +17 -0
- package/dist/startup-trace.js.map +1 -1
- package/dist/stream-guard.d.ts +36 -0
- package/dist/stream-guard.d.ts.map +1 -0
- package/dist/stream-guard.js +102 -0
- package/dist/stream-guard.js.map +1 -0
- package/dist/web/sessions.d.ts +2 -0
- package/dist/web/sessions.d.ts.map +1 -1
- package/dist/web/sessions.js +30 -1
- package/dist/web/sessions.js.map +1 -1
- package/package.json +1 -1
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* A turn that is eating memory is stopped, with a diagnosis, before it takes KONECK down.
|
|
3
|
+
*
|
|
4
|
+
* Reported from Windows: waiting on gemma4 through Ollama, KONECK grew to 4GB in nine and a half
|
|
5
|
+
* minutes — about 7MB a second — and died with "JavaScript heap out of memory", taking the session
|
|
6
|
+
* with it. It could not be reproduced here: a silent stream, a stream that never forms an event,
|
|
7
|
+
* a slow terminal and a small window were all measured and none grows like that. So this does two
|
|
8
|
+
* things where it happens. It stops the turn while there is still memory to stop it with, and it
|
|
9
|
+
* writes down — to ~/.koneck/trace.log, whether tracing is on or not — what was going on: the step
|
|
10
|
+
* the engine was on, the reply stream's bytes and events, the output waiting for the terminal, the
|
|
11
|
+
* kinds of work still pending, and the heap. None of it is the conversation or the code.
|
|
12
|
+
*/
|
|
13
|
+
/**
|
|
14
|
+
* Past this share of the heap limit, the turn is stopped. KONECK_MEMORY_STOP_SHARE overrides it —
|
|
15
|
+
* for a test to exercise the stop without filling the heap, not a setting anyone needs.
|
|
16
|
+
*/
|
|
17
|
+
export declare const HEAP_SHARE_LIMIT = 0.6;
|
|
18
|
+
export declare function heapShareLimit(): number;
|
|
19
|
+
export interface MemoryReport {
|
|
20
|
+
heapMB: number;
|
|
21
|
+
limitMB: number;
|
|
22
|
+
share: number;
|
|
23
|
+
text: string;
|
|
24
|
+
}
|
|
25
|
+
/** What the process looks like now, in words, with nothing of the session's content in it. */
|
|
26
|
+
export declare function memoryReport(phase: string, elapsedMs: number): MemoryReport;
|
|
27
|
+
/** Written whatever the trace setting: this is the record of a crash that did not happen. */
|
|
28
|
+
export declare function recordMemoryReport(report: MemoryReport, why: string): void;
|
|
29
|
+
//# sourceMappingURL=memory-watch.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"memory-watch.d.ts","sourceRoot":"","sources":["../src/memory-watch.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAQH;;;GAGG;AACH,eAAO,MAAM,gBAAgB,MAAM,CAAC;AACpC,wBAAgB,cAAc,IAAI,MAAM,CAGvC;AAED,MAAM,WAAW,YAAY;IAAG,MAAM,EAAE,MAAM,CAAC;IAAC,OAAO,EAAE,MAAM,CAAC;IAAC,KAAK,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,MAAM,CAAA;CAAE;AAE9F,8FAA8F;AAC9F,wBAAgB,YAAY,CAAC,KAAK,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,GAAG,YAAY,CA+B3E;AAED,6FAA6F;AAC7F,wBAAgB,kBAAkB,CAAC,MAAM,EAAE,YAAY,EAAE,GAAG,EAAE,MAAM,GAAG,IAAI,CAK1E"}
|
|
@@ -0,0 +1,75 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* A turn that is eating memory is stopped, with a diagnosis, before it takes KONECK down.
|
|
3
|
+
*
|
|
4
|
+
* Reported from Windows: waiting on gemma4 through Ollama, KONECK grew to 4GB in nine and a half
|
|
5
|
+
* minutes — about 7MB a second — and died with "JavaScript heap out of memory", taking the session
|
|
6
|
+
* with it. It could not be reproduced here: a silent stream, a stream that never forms an event,
|
|
7
|
+
* a slow terminal and a small window were all measured and none grows like that. So this does two
|
|
8
|
+
* things where it happens. It stops the turn while there is still memory to stop it with, and it
|
|
9
|
+
* writes down — to ~/.koneck/trace.log, whether tracing is on or not — what was going on: the step
|
|
10
|
+
* the engine was on, the reply stream's bytes and events, the output waiting for the terminal, the
|
|
11
|
+
* kinds of work still pending, and the heap. None of it is the conversation or the code.
|
|
12
|
+
*/
|
|
13
|
+
import v8 from 'node:v8';
|
|
14
|
+
import { appendFileSync, mkdirSync } from 'node:fs';
|
|
15
|
+
import path from 'node:path';
|
|
16
|
+
import { TRACE_FILE } from './startup-trace.js';
|
|
17
|
+
import { streamNow } from './stream-guard.js';
|
|
18
|
+
/**
|
|
19
|
+
* Past this share of the heap limit, the turn is stopped. KONECK_MEMORY_STOP_SHARE overrides it —
|
|
20
|
+
* for a test to exercise the stop without filling the heap, not a setting anyone needs.
|
|
21
|
+
*/
|
|
22
|
+
export const HEAP_SHARE_LIMIT = 0.6;
|
|
23
|
+
export function heapShareLimit() {
|
|
24
|
+
const set = Number(process.env.KONECK_MEMORY_STOP_SHARE);
|
|
25
|
+
return Number.isFinite(set) && set > 0 && set < 1 ? set : HEAP_SHARE_LIMIT;
|
|
26
|
+
}
|
|
27
|
+
/** What the process looks like now, in words, with nothing of the session's content in it. */
|
|
28
|
+
export function memoryReport(phase, elapsedMs) {
|
|
29
|
+
const heap = v8.getHeapStatistics();
|
|
30
|
+
const mem = process.memoryUsage();
|
|
31
|
+
const mb = (n) => Math.round(n / 1048576);
|
|
32
|
+
const resources = (() => {
|
|
33
|
+
try {
|
|
34
|
+
const counts = new Map();
|
|
35
|
+
for (const r of process.getActiveResourcesInfo())
|
|
36
|
+
counts.set(r, (counts.get(r) ?? 0) + 1);
|
|
37
|
+
return [...counts].map(([k, v]) => `${k}×${v}`).join(', ');
|
|
38
|
+
}
|
|
39
|
+
catch {
|
|
40
|
+
return 'unknown';
|
|
41
|
+
}
|
|
42
|
+
})();
|
|
43
|
+
const out = process.stdout;
|
|
44
|
+
const text = [
|
|
45
|
+
`memory: heap ${mb(mem.heapUsed)}MB of limit ${mb(heap.heap_size_limit)}MB, rss ${mb(mem.rss)}MB, `
|
|
46
|
+
+ `external ${mb(mem.external)}MB, array buffers ${mb(mem.arrayBuffers)}MB`,
|
|
47
|
+
`turn: ${Math.round(elapsedMs / 1000)}s, engine step "${phase || 'none'}"`,
|
|
48
|
+
`reply stream: ${streamNow.open ? 'open' : 'closed'}, ${streamNow.bytes} bytes, ${streamNow.events} events, `
|
|
49
|
+
+ `${streamNow.bytesSinceEvent} bytes since the last event${streamNow.url ? `, from ${streamNow.url.replace(/\?.*$/, '')}` : ''}`,
|
|
50
|
+
`terminal: ${out.writableLength ?? 0} bytes waiting to be written, ${process.stdout.columns}x${process.stdout.rows}`,
|
|
51
|
+
`pending: ${resources}`,
|
|
52
|
+
// Which part of the heap is full: large-object space is big strings and buffers (something being
|
|
53
|
+
// downloaded or accumulated), old space is many small objects (something created in a loop).
|
|
54
|
+
`heap spaces: ${(() => {
|
|
55
|
+
try {
|
|
56
|
+
return v8.getHeapSpaceStatistics().filter(s => s.space_used_size > 1048576)
|
|
57
|
+
.map(s => `${s.space_name.replace(/_space$/, '')} ${mb(s.space_used_size)}MB`).join(', ');
|
|
58
|
+
}
|
|
59
|
+
catch {
|
|
60
|
+
return 'unknown';
|
|
61
|
+
}
|
|
62
|
+
})()}`,
|
|
63
|
+
`node ${process.version} on ${process.platform} ${process.arch}`,
|
|
64
|
+
].join('\n ');
|
|
65
|
+
return { heapMB: mb(mem.heapUsed), limitMB: mb(heap.heap_size_limit), share: mem.heapUsed / heap.heap_size_limit, text };
|
|
66
|
+
}
|
|
67
|
+
/** Written whatever the trace setting: this is the record of a crash that did not happen. */
|
|
68
|
+
export function recordMemoryReport(report, why) {
|
|
69
|
+
try {
|
|
70
|
+
mkdirSync(path.dirname(TRACE_FILE), { recursive: true });
|
|
71
|
+
appendFileSync(TRACE_FILE, `\n=== ${new Date().toISOString()} ${why}\n ${report.text}\n`);
|
|
72
|
+
}
|
|
73
|
+
catch { /* nowhere to write it: the warning on screen still stands */ }
|
|
74
|
+
}
|
|
75
|
+
//# sourceMappingURL=memory-watch.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"memory-watch.js","sourceRoot":"","sources":["../src/memory-watch.ts"],"names":[],"mappings":"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"}
|
package/dist/providers.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"providers.d.ts","sourceRoot":"","sources":["../src/providers.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"providers.d.ts","sourceRoot":"","sources":["../src/providers.ts"],"names":[],"mappings":"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"}
|
package/dist/providers.js
CHANGED
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import { readFileSync, writeFileSync, mkdirSync, existsSync } from 'fs';
|
|
2
|
+
import { guardedFetch } from './stream-guard.js';
|
|
2
3
|
import os from 'os';
|
|
3
4
|
import path from 'path';
|
|
4
5
|
import { resolveEndpoint } from './endpoints.js';
|
|
@@ -652,6 +653,9 @@ export function buildClient(config) {
|
|
|
652
653
|
baseURL: provider.baseURL,
|
|
653
654
|
apiKey,
|
|
654
655
|
defaultHeaders: provider.extraHeaders,
|
|
656
|
+
// A reply that never forms a message is stopped instead of buffered without limit — see
|
|
657
|
+
// stream-guard.ts, and the 4GB out-of-memory crash it was written for.
|
|
658
|
+
fetch: guardedFetch(config.provider),
|
|
655
659
|
});
|
|
656
660
|
}
|
|
657
661
|
//# sourceMappingURL=providers.js.map
|
package/dist/providers.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"providers.js","sourceRoot":"","sources":["../src/providers.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"providers.js","sourceRoot":"","sources":["../src/providers.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,aAAa,EAAE,SAAS,EAAE,UAAU,EAAE,MAAM,IAAI,CAAC;AACxE,OAAO,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AACjD,OAAO,EAAE,MAAM,IAAI,CAAC;AACpB,OAAO,IAAI,MAAM,MAAM,CAAC;AACxB,OAAO,EAAE,eAAe,EAA6C,MAAM,gBAAgB,CAAC;AAC5F,OAAO,EAAE,YAAY,EAAE,eAAe,EAAE,MAAM,kBAAkB,CAAC;AACjE,OAAO,EAAE,UAAU,EAAE,MAAM,QAAQ,CAAC;AACpC,OAAO,MAAM,MAAM,QAAQ,CAAC;AAiB5B;;;;;;;;;;;;;;;;;;GAkBG;AACH,MAAM,UAAU,iBAAiB,CAAC,IAAI,GAAG,EAAE,CAAC,OAAO,EAAE;IACnD,OAAO,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,SAAS,EAAE,gBAAgB,CAAC,CAAC;AACtD,CAAC;AAED,wFAAwF;AACxF,MAAM,UAAU,iBAAiB,CAAC,IAAa;IAC7C,MAAM,IAAI,GAAG,iBAAiB,CAAC,IAAI,CAAC,CAAC;IACrC,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC;QAAE,OAAO,EAAE,CAAC;IACjC,IAAI,MAAe,CAAC;IACpB,IAAI,CAAC;QAAC,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC,CAAC;IAAC,CAAC;IAAC,MAAM,CAAC;QAAC,OAAO,EAAE,CAAC;IAAC,CAAC;IAC9E,IAAI,MAAM,IAAI,IAAI,IAAI,OAAO,MAAM,KAAK,QAAQ,IAAI,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC;QAAE,OAAO,EAAE,CAAC;IAErF,MAAM,GAAG,GAAgC,EAAE,CAAC;IAC5C,KAAK,MAAM,CAAC,OAAO,EAAE,MAAM,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,MAAiC,CAAC,EAAE,CAAC;QAClF,MAAM,IAAI,GAAG,OAAO,CAAC,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC;QAC1C,IAAI,IAAI,KAAK,EAAE,IAAI,MAAM,IAAI,IAAI,IAAI,OAAO,MAAM,KAAK,QAAQ;YAAE,SAAS;QAC1E,MAAM,CAAC,GAAG,MAA8B,CAAC;QACzC,+EAA+E;QAC/E,IAAI,OAAO,CAAC,CAAC,OAAO,KAAK,QAAQ,IAAI,CAAC,CAAC,OAAO,CAAC,IAAI,EAAE,KAAK,EAAE;YAAE,SAAS;QACvE,GAAG,CAAC,IAAI,CAAC,GAAG;YACV,IAAI;YACJ,WAAW,EAAE,OAAO,CAAC,CAAC,WAAW,KAAK,QAAQ,IAAI,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,OAAO;YACzF,OAAO,EAAE,CAAC,CAAC,OAAO,CAAC,IAAI,EAAE;YACzB,yEAAyE;YACzE,SAAS,EAAE,OAAO,CAAC,CAAC,SAAS,KAAK,QAAQ,IAAI,CAAC,CAAC,SAAS;gBACvD,CAAC,CAAC,CAAC,CAAC,SAAS;gBACb,CAAC,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC,OAAO,CAAC,aAAa,EAAE,GAAG,CAAC,GAAG,UAAU;YAC/D,YAAY,EAAE,OAAO,CAAC,CAAC,YAAY,KAAK,QAAQ,IAAI,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,SAAS;YAC/F,GAAG,CAAC,CAAC,CAAC,YAAY,IAAI,OAAO,CAAC,CAAC,YAAY,KAAK,QAAQ;gBACtD,CAAC,CAAC,EAAE,YAAY,EAAE,CAAC,CAAC,YAAsC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;YACpE,GAAG,CAAC,OAAO,CAAC,CAAC,UAAU,KAAK,QAAQ,IAAI,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,EAAE,UAAU,EAAE,CAAC,CAAC,UAAU,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;YACzF,WAAW,EAAE,IAAI;SAClB,CAAC;IACJ,CAAC;IACD,OAAO,GAAG,CAAC;AACb,CAAC;AAED;;;;;;;GAOG;AACH,MAAM,UAAU,mBAAmB,CACjC,QAAgB,EAChB,MAAgC;IAEhC,MAAM,GAAG,GAAG,SAAS,CAAC,QAAQ,CAAC,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC,CAAC;IACrD,OAAO,eAAe,CAAC,QAAQ,EAAE,MAAM,EAAE;QACvC,QAAQ,EAAE,GAAG,EAAE,OAAO,IAAI,EAAE;QAC5B,GAAG,CAAC,GAAG,EAAE,UAAU,CAAC,CAAC,CAAC,EAAE,UAAU,EAAE,GAAG,CAAC,UAAU,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QAC1D,sBAAsB,EAAE,GAAG,EAAE,WAAW,KAAK,IAAI;KAClD,CAAC,CAAC;AACL,CAAC;AAED,sFAAsF;AACtF,MAAM,UAAU,eAAe,CAAC,GAAqC,EAAE,IAAa;IAClF,MAAM,IAAI,GAAG,iBAAiB,CAAC,IAAI,CAAC,CAAC;IACrC,SAAS,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;IACnD,MAAM,QAAQ,GAAG,UAAU,CAAC,IAAI,CAAC;QAC/B,CAAC,CAAC,CAAC,GAAG,EAAE,GAAG,IAAI,CAAC;YAAC,OAAO,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,IAAI,EAAE,OAAO,CAAC,CAA4B,CAAC;QAAC,CAAC;QAAC,MAAM,CAAC;YAAC,OAAO,EAAE,CAAC;QAAC,CAAC,CAAC,CAAC,CAAC,EAAE;QACvH,CAAC,CAAC,EAAE,CAAC;IACP,MAAM,IAAI,GAAG,GAAG,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC;IAC3C,QAAQ,CAAC,IAAI,CAAC,GAAG;QACf,WAAW,EAAE,GAAG,CAAC,WAAW;QAC5B,OAAO,EAAE,GAAG,CAAC,OAAO;QACpB,SAAS,EAAE,GAAG,CAAC,SAAS;QACxB,YAAY,EAAE,GAAG,CAAC,YAAY;QAC9B,GAAG,CAAC,GAAG,CAAC,YAAY,CAAC,CAAC,CAAC,EAAE,YAAY,EAAE,GAAG,CAAC,YAAY,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;KAChE,CAAC;IACF,aAAa,CAAC,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,QAAQ,EAAE,IAAI,EAAE,CAAC,CAAC,GAAG,IAAI,EAAE,EAAE,QAAQ,EAAE,OAAO,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC,CAAC;IAClG,MAAM,MAAM,GAAgB,EAAE,GAAG,GAAG,EAAE,IAAI,EAAE,WAAW,EAAE,IAAI,EAAE,CAAC;IAChE,SAAS,CAAC,IAAI,CAAC,GAAG,MAAM,CAAC;IACzB,OAAO,MAAM,CAAC;AAChB,CAAC;AAED;;;;;;GAMG;AACH,MAAM,UAAU,kBAAkB,CAAC,IAAY,EAAE,IAAa;IAC5D,MAAM,GAAG,GAAG,IAAI,CAAC,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC;IACtC,MAAM,IAAI,GAAG,iBAAiB,CAAC,IAAI,CAAC,CAAC;IACrC,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC;QAAE,OAAO,KAAK,CAAC;IACpC,IAAI,QAAiC,CAAC;IACtC,IAAI,CAAC;QAAC,QAAQ,GAAG,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,IAAI,EAAE,OAAO,CAAC,CAA4B,CAAC;IAAC,CAAC;IACtF,MAAM,CAAC;QAAC,OAAO,KAAK,CAAC;IAAC,CAAC;IACvB,IAAI,CAAC,CAAC,GAAG,IAAI,QAAQ,CAAC;QAAE,OAAO,KAAK,CAAC;IACrC,OAAO,QAAQ,CAAC,GAAG,CAAC,CAAC;IACrB,aAAa,CAAC,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,QAAQ,EAAE,IAAI,EAAE,CAAC,CAAC,GAAG,IAAI,EAAE,EAAE,QAAQ,EAAE,OAAO,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC,CAAC;IAElG,2FAA2F;IAC3F,gFAAgF;IAChF,MAAM,OAAO,GAAG,SAAS,CAAC,GAAG,CAAC,CAAC;IAC/B,IAAI,OAAO;QAAE,SAAS,CAAC,GAAG,CAAC,GAAG,OAAO,CAAC;;QACjC,OAAO,SAAS,CAAC,GAAG,CAAC,CAAC;IAC3B,OAAO,IAAI,CAAC;AACd,CAAC;AAED;;;;;;;;;;;;;;GAcG;AACH,MAAM,CAAC,MAAM,SAAS,GAAgC;IACpD,MAAM,EAAE;QACN,IAAI,EAAE,QAAQ;QACd,WAAW,EAAE,QAAQ;QACrB,OAAO,EAAE,2BAA2B;QACpC,SAAS,EAAE,gBAAgB;QAC3B,YAAY,EAAE,QAAQ;KACvB;IACD,SAAS,EAAE;QACT,IAAI,EAAE,WAAW;QACjB,WAAW,EAAE,WAAW;QACxB,OAAO,EAAE,8BAA8B;QACvC,SAAS,EAAE,mBAAmB;QAC9B,YAAY,EAAE,iBAAiB;QAC/B,YAAY,EAAE,EAAE,mBAAmB,EAAE,YAAY,EAAE;KACpD;IACD,QAAQ,EAAE;QACR,IAAI,EAAE,UAAU;QAChB,WAAW,EAAE,UAAU;QACvB,OAAO,EAAE,6BAA6B;QACtC,SAAS,EAAE,kBAAkB;QAC7B,YAAY,EAAE,gBAAgB;KAC/B;IACD,IAAI,EAAE;QACJ,IAAI,EAAE,MAAM;QACZ,WAAW,EAAE,MAAM;QACnB,OAAO,EAAE,gCAAgC;QACzC,SAAS,EAAE,cAAc;QACzB,YAAY,EAAE,yBAAyB;KACxC;IACD,QAAQ,EAAE;QACR,IAAI,EAAE,UAAU;QAChB,WAAW,EAAE,aAAa;QAC1B,OAAO,EAAE,6BAA6B;QACtC,SAAS,EAAE,kBAAkB;QAC7B,YAAY,EAAE,gCAAgC;KAC/C;IACD,MAAM,EAAE;QACN,IAAI,EAAE,QAAQ;QACd,WAAW,EAAE,QAAQ;QACrB,OAAO,EAAE,2BAA2B;QACpC,SAAS,EAAE,gBAAgB;QAC3B,UAAU,EAAE,iBAAiB;QAC7B,YAAY,EAAE,WAAW;KAC1B;IACD,MAAM,EAAE;QACN,IAAI,EAAE,QAAQ;QACd,WAAW,EAAE,eAAe;QAC5B,OAAO,EAAE,yDAAyD;QAClE,SAAS,EAAE,gBAAgB;QAC3B,YAAY,EAAE,kBAAkB;KACjC;IACD,IAAI,EAAE;QACJ,IAAI,EAAE,MAAM;QACZ,WAAW,EAAE,iBAAiB;QAC9B,OAAO,EAAE,4BAA4B;QACrC,SAAS,EAAE,kBAAkB;QAC7B,YAAY,EAAE,kBAAkB;KACjC;IACD,OAAO,EAAE;QACP,IAAI,EAAE,SAAS;QACf,WAAW,EAAE,YAAY;QACzB,OAAO,EAAE,2BAA2B;QACpC,SAAS,EAAE,iBAAiB;QAC5B,YAAY,EAAE,sBAAsB;KACrC;IACD,MAAM,EAAE;QACN,IAAI,EAAE,QAAQ;QACd,WAAW,EAAE,QAAQ;QACrB,OAAO,EAAE,yCAAyC;QAClD,SAAS,EAAE,gBAAgB;QAC3B,YAAY,EAAE,gBAAgB;KAC/B;IACD,GAAG,EAAE;QACH,IAAI,EAAE,KAAK;QACX,WAAW,EAAE,YAAY;QACzB,OAAO,EAAE,qBAAqB;QAC9B,SAAS,EAAE,aAAa;QACxB,YAAY,EAAE,QAAQ;KACvB;IACD,UAAU,EAAE;QACV,IAAI,EAAE,YAAY;QAClB,WAAW,EAAE,YAAY;QACzB,OAAO,EAAE,2BAA2B;QACpC,SAAS,EAAE,oBAAoB;QAC/B,YAAY,EAAE,WAAW;KAC1B;IAED;;;;OAIG;IACH,UAAU,EAAE;QACV,IAAI,EAAE,YAAY;QAClB,WAAW,EAAE,YAAY;QACzB,OAAO,EAAE,8BAA8B;QACvC,SAAS,EAAE,oBAAoB;QAC/B,YAAY,EAAE,6BAA6B;KAC5C;IAED;;OAEG;IACH,SAAS,EAAE;QACT,IAAI,EAAE,WAAW;QACjB,WAAW,EAAE,cAAc;QAC3B,OAAO,EAAE,uCAAuC;QAChD,SAAS,EAAE,mBAAmB;QAC9B,YAAY,EAAE,0DAA0D;KACzE;IACD,SAAS,EAAE;QACT,IAAI,EAAE,WAAW;QACjB,WAAW,EAAE,WAAW;QACxB,OAAO,EAAE,qCAAqC;QAC9C,SAAS,EAAE,mBAAmB;QAC9B,YAAY,EAAE,qCAAqC;KACpD;IACD,QAAQ,EAAE;QACR,IAAI,EAAE,UAAU;QAChB,WAAW,EAAE,UAAU;QACvB,OAAO,EAAE,4BAA4B;QACrC,SAAS,EAAE,kBAAkB;QAC7B,YAAY,EAAE,mBAAmB;KAClC;IACD,SAAS,EAAE;QACT,IAAI,EAAE,WAAW;QACjB,WAAW,EAAE,WAAW;QACxB,OAAO,EAAE,6BAA6B;QACtC,SAAS,EAAE,mBAAmB;QAC9B,YAAY,EAAE,6BAA6B;KAC5C;IACD,UAAU,EAAE;QACV,IAAI,EAAE,YAAY;QAClB,WAAW,EAAE,YAAY;QACzB,OAAO,EAAE,+BAA+B;QACxC,SAAS,EAAE,oBAAoB;QAC/B,YAAY,EAAE,iCAAiC;KAChD;IACD,MAAM,EAAE;QACN,IAAI,EAAE,QAAQ;QACd,WAAW,EAAE,kBAAkB;QAC/B,OAAO,EAAE,kCAAkC;QAC3C,SAAS,EAAE,gBAAgB;QAC3B,YAAY,EAAE,iCAAiC;KAChD;IACD,MAAM,EAAE;QACN,IAAI,EAAE,QAAQ;QACd,WAAW,EAAE,WAAW;QACxB,OAAO,EAAE,iCAAiC;QAC1C,SAAS,EAAE,gBAAgB;QAC3B,YAAY,EAAE,iCAAiC;KAChD;IACD,MAAM,EAAE;QACN,IAAI,EAAE,QAAQ;QACd,WAAW,EAAE,YAAY;QACzB,OAAO,EAAE,qCAAqC;QAC9C,SAAS,EAAE,gBAAgB;QAC3B,YAAY,EAAE,iCAAiC;KAChD;IAED,iGAAiG;IACjG,IAAI,EAAE;QACJ,IAAI,EAAE,MAAM;QACZ,WAAW,EAAE,0BAA0B;QACvC,8FAA8F;QAC9F,wFAAwF;QACxF,OAAO,EAAE,wDAAwD;QACjE,SAAS,EAAE,mBAAmB;QAC9B,YAAY,EAAE,kBAAkB;KACjC;IACD,KAAK,EAAE;QACL,IAAI,EAAE,OAAO;QACb,WAAW,EAAE,gBAAgB;QAC7B,OAAO,EAAE,sCAAsC;QAC/C,SAAS,EAAE,iBAAiB;QAC5B,YAAY,EAAE,SAAS;KACxB;IAED;;;;OAIG;IACH,QAAQ,EAAE;QACR,IAAI,EAAE,UAAU;QAChB,WAAW,EAAE,WAAW;QACxB,OAAO,EAAE,0BAA0B;QACnC,SAAS,EAAE,kBAAkB;QAC7B,UAAU,EAAE,mBAAmB;QAC/B,YAAY,EAAE,SAAS;KACxB;IACD,QAAQ,EAAE;QACR,IAAI,EAAE,UAAU;QAChB,WAAW,EAAE,kBAAkB;QAC/B,OAAO,EAAE,0BAA0B;QACnC,SAAS,EAAE,kBAAkB;QAC7B,UAAU,EAAE,mBAAmB;QAC/B,YAAY,EAAE,SAAS;KACxB;IACD,IAAI,EAAE;QACJ,IAAI,EAAE,MAAM;QACZ,WAAW,EAAE,MAAM;QACnB,OAAO,EAAE,0BAA0B;QACnC,SAAS,EAAE,cAAc;QACzB,UAAU,EAAE,eAAe;QAC3B,YAAY,EAAE,SAAS;KACxB;CACF,CAAC;AAEF;;;;;;GAMG;AACH,MAAM,CAAC,MAAM,SAAS,GAA0C,EAAE,GAAG,SAAS,EAAE,CAAC;AAEjF;;;;;;;;;;;;;;;;;;;;GAoBG;AACH,MAAM,UAAU,oBAAoB,CAAC,IAAa;IAChD,KAAK,MAAM,CAAC,IAAI,EAAE,GAAG,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,SAAS,CAAC,EAAE,CAAC;QACpD,IAAI,CAAC,GAAG,CAAC,WAAW;YAAE,SAAS;QAC/B,MAAM,OAAO,GAAG,SAAS,CAAC,IAAI,CAAC,CAAC;QAChC,IAAI,OAAO;YAAE,SAAS,CAAC,IAAI,CAAC,GAAG,OAAO,CAAC;;YAClC,OAAO,SAAS,CAAC,IAAI,CAAC,CAAC;IAC9B,CAAC;IACD,KAAK,MAAM,CAAC,IAAI,EAAE,GAAG,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,iBAAiB,CAAC,IAAI,CAAC,CAAC;QAAE,SAAS,CAAC,IAAI,CAAC,GAAG,GAAG,CAAC;AAC3F,CAAC;AAED,oBAAoB,EAAE,CAAC;AAEvB;;;;;;;GAOG;AACH,MAAM,gBAAgB,GAA2B;IAC/C,0FAA0F;IAC1F,iGAAiG;IACjG,SAAS,EAAE,MAAM;IACjB,YAAY,EAAE,MAAM;IACpB,MAAM,EAAE,WAAW;IACnB,MAAM,EAAE,QAAQ;IAChB,QAAQ,EAAE,MAAM;IAChB,IAAI,EAAE,KAAK;IACX,EAAE,EAAE,UAAU;IACd,EAAE,EAAE,YAAY;CACjB,CAAC;AAEF,MAAM,UAAU,eAAe,CAAC,IAAY,EAAE,eAAwB;IACpE,MAAM,KAAK,GAAG,IAAI,CAAC,WAAW,EAAE,CAAC;IACjC,2FAA2F;IAC3F,mEAAmE;IACnE,MAAM,GAAG,GAAG,SAAS,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,gBAAgB,CAAC,KAAK,CAAC,IAAI,KAAK,CAAC,CAAC;IAC1E,MAAM,GAAG,GAAG,SAAS,CAAC,GAAG,CAAC,CAAC;IAE3B,IAAI,CAAC,GAAG,EAAE,CAAC;QACT,IAAI,eAAe,EAAE,CAAC;YACpB,OAAO;gBACL,IAAI,EAAE,QAAQ;gBACd,WAAW,EAAE,QAAQ;gBACrB,OAAO,EAAE,eAAe;gBACxB,SAAS,EAAE,gBAAgB;gBAC3B,YAAY,EAAE,SAAS;aACxB,CAAC;QACJ,CAAC;QACD,MAAM,KAAK,GAAG,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAChD,MAAM,IAAI,KAAK,CACb,qBAAqB,IAAI,aAAa,KAAK,IAAI;YAC/C,+BAA+B,IAAI,kCAAkC;YACrE,0BAA0B,IAAI,QAAQ,iBAAiB,EAAE,IAAI;YAC7D,wBAAwB,IAAI,0DAA0D,CACvF,CAAC;IACJ,CAAC;IAED,MAAM,OAAO,GACX,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC,CAAC,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,IAAI,OAAO,CAAC,GAAG,CAAC,iBAAiB,CAAC,CAAC;IAC/F,MAAM,OAAO,GAAG,eAAe,IAAI,OAAO,IAAI,GAAG,CAAC,OAAO,CAAC;IAC1D,OAAO,OAAO,KAAK,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,GAAG,GAAG,EAAE,OAAO,EAAE,CAAC;AAC7D,CAAC;AAED;;;;;;;;;;;GAWG;AACH,MAAM,UAAU,aAAa,CAAC,GAAW;IACvC,IAAI,IAAY,CAAC;IACjB,IAAI,CAAC;QAAC,IAAI,GAAG,IAAI,GAAG,CAAC,GAAG,CAAC,CAAC,QAAQ,CAAC,WAAW,EAAE,CAAC,OAAO,CAAC,UAAU,EAAE,EAAE,CAAC,CAAC;IAAC,CAAC;IAC3E,MAAM,CAAC;QAAC,OAAO,KAAK,CAAC;IAAC,CAAC;IAEvB,IAAI,IAAI,KAAK,WAAW,IAAI,IAAI,KAAK,WAAW,IAAI,IAAI,KAAK,KAAK,IAAI,IAAI,KAAK,SAAS;QAAE,OAAO,IAAI,CAAC;IACtG,6FAA6F;IAC7F,sEAAsE;IACtE,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC;QAAE,OAAO,IAAI,CAAC;IAC5D,KAAK,MAAM,MAAM,IAAI,CAAC,QAAQ,EAAE,MAAM,EAAE,OAAO,EAAE,WAAW,EAAE,YAAY,EAAE,cAAc,CAAC,EAAE,CAAC;QAC5F,IAAI,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC;YAAE,OAAO,IAAI,CAAC;IACzC,CAAC;IAED,MAAM,EAAE,GAAG,8CAA8C,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IACrE,IAAI,EAAE,EAAE,CAAC;QACP,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,MAAM,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QAC9C,IAAI,CAAC,KAAK,EAAE;YAAE,OAAO,IAAI,CAAC,CAAkC,aAAa;QACzE,IAAI,CAAC,KAAK,GAAG;YAAE,OAAO,IAAI,CAAC,CAAiC,WAAW;QACvE,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,IAAI,EAAE;YAAE,OAAO,IAAI,CAAC,CAAW,gBAAgB;QAC5E,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,KAAK,GAAG;YAAE,OAAO,IAAI,CAAC,CAAoB,iBAAiB;QAC7E,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,KAAK,GAAG;YAAE,OAAO,IAAI,CAAC,CAAoB,aAAa;QACzE,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,IAAI,GAAG;YAAE,OAAO,IAAI,CAAC,CAAU,6BAA6B;QACzF,OAAO,KAAK,CAAC;IACf,CAAC;IACD,2DAA2D;IAC3D,IAAI,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC;QAAE,OAAO,IAAI,CAAC;IAC/D,OAAO,KAAK,CAAC;AACf,CAAC;AAED;;;;;GAKG;AACH,MAAM,gBAAgB,GAAG,IAAI,GAAG,CAAC;IAC/B,QAAQ,EAAE,UAAU,EAAE,WAAW,EAAE,UAAU,EAAE,WAAW,EAAE,SAAS;IACrE,MAAM,EAAE,WAAW,EAAE,SAAS,EAAE,KAAK,EAAE,SAAS;CACjD,CAAC,CAAC;AAEH;;;;;;;;;;GAUG;AACH,MAAM,UAAU,gBAAgB,CAAC,YAAoB;IACnD,OAAO,gBAAgB,CAAC,GAAG,CAAC,YAAY,CAAC,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC,CAAC;AACjE,CAAC;AAED;;;;;;GAMG;AACH,MAAM,UAAU,SAAS,CAAC,YAAoB;IAC5C,MAAM,IAAI,GAAG,YAAY,CAAC,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC;IAC/C,MAAM,GAAG,GAAG,SAAS,CAAC,IAAI,CAAC,CAAC;IAC5B,IAAI,GAAG,EAAE,SAAS;QAAE,OAAO,GAAG,CAAC,SAAS,CAAC;IACzC,MAAM,OAAO,GAAG,IAAI,CAAC,WAAW,EAAE,CAAC,OAAO,CAAC,aAAa,EAAE,GAAG,CAAC,CAAC,OAAO,CAAC,UAAU,EAAE,EAAE,CAAC,CAAC;IACvF,OAAO,OAAO,CAAC,CAAC,CAAC,OAAO,GAAG,UAAU,CAAC,CAAC,CAAC,gBAAgB,CAAC;AAC3D,CAAC;AAED,8DAA8D;AAC9D,MAAM,UAAU,iBAAiB,CAAC,GAAgB;IAChD,OAAO,aAAa,CAAC,GAAG,CAAC,OAAO,CAAC,IAAI,gBAAgB,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC,CAAC;AACpF,CAAC;AAED;;;;;;;GAOG;AACH,MAAM,UAAU,aAAa,CAAC,YAAoB,EAAE,OAAe;IACjE,OAAO,gBAAgB,CAAC,GAAG,CAAC,YAAY,CAAC,WAAW,EAAE,CAAC,IAAI,aAAa,CAAC,OAAO,CAAC,CAAC;AACpF,CAAC;AAED,6DAA6D;AAC7D,MAAM,UAAU,wBAAwB;IACtC,OAAO,MAAM,CAAC,MAAM,CAAC,SAAS,CAAC;SAC5B,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,SAAS,CAAC,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,KAAK,EAAE,CAAC;SAC3D,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;AACtB,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,aAAa;IAC3B,MAAM,UAAU,GAAG,wBAAwB,EAAE,CAAC;IAC9C,IAAI,UAAU,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,UAAU,CAAC,CAAC,CAAC,CAAC;IAClD,IAAI,OAAO,CAAC,GAAG,CAAC,gBAAgB,CAAC;QAAE,OAAO,SAAS,CAAC,CAAG,uCAAuC;IAC9F,OAAO,SAAS,CAAC;AACnB,CAAC;AAuBD,MAAM,UAAU,aAAa,CAC3B,GAAgB,EAAE,QAAiB,EAAE,SAAkB;IAEvD,MAAM,UAAU,GAAwC;QACtD,CAAC,wBAAwB,EAAE,QAAQ,CAAC;QACpC,CAAC,IAAI,GAAG,CAAC,SAAS,EAAE,EAAE,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;QACjD,CAAC,iBAAiB,EAAE,OAAO,CAAC,GAAG,CAAC,gBAAgB,CAAC,CAAC;QAClD,CAAC,iBAAiB,eAAe,CAAC,SAAS,CAAC,EAAE,EAAE,YAAY,CAAC,GAAG,CAAC,IAAI,EAAE,SAAS,CAAC,CAAC;KACnF,CAAC;IACF,KAAK,MAAM,CAAC,MAAM,EAAE,KAAK,CAAC,IAAI,UAAU,EAAE,CAAC;QACzC,IAAI,CAAC,KAAK;YAAE,SAAS;QACrB,OAAO,EAAE,MAAM,EAAE,WAAW,EAAE,aAAa,CAAC,KAAK,CAAC,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC;IACpE,CAAC;IACD,OAAO;QACL,MAAM,EAAE,iBAAiB,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,8BAA8B,CAAC,CAAC,CAAC,yBAAyB;QAC3F,WAAW,EAAE,GAAG;QAChB,KAAK,EAAE,KAAK;KACb,CAAC;AACJ,CAAC;AAED,yEAAyE;AACzE,MAAM,UAAU,aAAa,CAAC,GAAW;IACvC,MAAM,MAAM,GAAG,UAAU,CAAC,QAAQ,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;IAC1E,MAAM,IAAI,GAAG,GAAG,CAAC,MAAM,IAAI,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;IACtE,OAAO,IAAI,IAAI,MAAM,GAAG,CAAC,MAAM,mBAAmB,MAAM,EAAE,CAAC;AAC7D,CAAC;AAED,MAAM,UAAU,SAAS,CACvB,GAAgB,EAAE,QAAiB;AACnC;;;;GAIG;AACH,SAAkB;IAElB;;;;;;;OAOG;IACH,MAAM,GAAG,GACP,QAAQ;QACR,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,SAAS,CAAC;QAC1B,OAAO,CAAC,GAAG,CAAC,gBAAgB,CAAC;QAC7B,YAAY,CAAC,GAAG,CAAC,IAAI,EAAE,SAAS,CAAC,CAAC;IAEpC,IAAI,GAAG;QAAE,OAAO,GAAG,CAAC;IAEpB,IAAI,iBAAiB,CAAC,GAAG,CAAC,EAAE,CAAC;QAC3B,2FAA2F;QAC3F,0FAA0F;QAC1F,OAAO,OAAO,CAAC;IACjB,CAAC;IAED,MAAM,IAAI,KAAK,CACb,wBAAwB,GAAG,CAAC,WAAW,KAAK,GAAG,CAAC,OAAO,MAAM;QAC7D,OAAO,GAAG,CAAC,SAAS,sCAAsC;QAC1D,YAAY,GAAG,CAAC,SAAS,sCAAsC;QAC/D,+DAA+D;QAC/D,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC,CAAC,0CAA0C,GAAG,CAAC,UAAU,kBAAkB,CAAC,CAAC,CAAC,EAAE,CAAC,CACnG,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,aAAa;IAC3B,MAAM,IAAI,GAAG,MAAM,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAC5C,KAAK,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,WAAW,CAAC,MAAM,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,YAAY,CAAC,MAAM,CAAC,EAAE,CAAC,EAAE;QAC/E,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,iBAAiB,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;IAC5C,OAAO,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC;QACpB,2BAA2B,iBAAiB,EAAE,KAAK;QACnD,kEAAkE;QAClE,uEAAuE,CAAC;AAC5E,CAAC;AAGD;;;;;;GAMG;AACH,MAAM,UAAU,WAAW,CAAC,MAAmB;IAC7C,MAAM,QAAQ,GAAG,eAAe,CAAC,MAAM,CAAC,QAAQ,EAAE,MAAM,CAAC,OAAO,CAAC,CAAC;IAClE,MAAM,MAAM,GAAG,SAAS,CAAC,QAAQ,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,SAAS,CAAC,CAAC;IACpE,OAAO,IAAI,MAAM,CAAC;QAChB,OAAO,EAAE,QAAQ,CAAC,OAAO;QACzB,MAAM;QACN,cAAc,EAAE,QAAQ,CAAC,YAAY;QACrC,wFAAwF;QACxF,uEAAuE;QACvE,KAAK,EAAE,YAAY,CAAC,MAAM,CAAC,QAAQ,CAAU;KAC9C,CAAC,CAAC;AACL,CAAC"}
|
package/dist/startup-trace.d.ts
CHANGED
|
@@ -27,4 +27,12 @@ export declare function startupMarks(): ReadonlyArray<{
|
|
|
27
27
|
* for more than 80ms — the time in which keys arrive and nothing answers them.
|
|
28
28
|
*/
|
|
29
29
|
export declare function traceBlocking(forMs?: number): void;
|
|
30
|
+
/**
|
|
31
|
+
* With the trace on, the process's memory every ten seconds for as long as it runs.
|
|
32
|
+
*
|
|
33
|
+
* Written after a Windows session died of "JavaScript heap out of memory" at 4GB while waiting on a
|
|
34
|
+
* reply: a leak shows in this line as a number that only goes up, and when it started shows which
|
|
35
|
+
* step it belongs to.
|
|
36
|
+
*/
|
|
37
|
+
export declare function traceMemory(everyMs?: number): void;
|
|
30
38
|
//# sourceMappingURL=startup-trace.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"startup-trace.d.ts","sourceRoot":"","sources":["../src/startup-trace.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAUH;;;GAGG;AACH,eAAO,MAAM,UAAU,QAAkD,CAAC;AAc1E,wBAAgB,YAAY,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI,CAOhD;AAED,2FAA2F;AAC3F,wBAAgB,eAAe,IAAI,IAAI,CAAwB;AAE/D,yFAAyF;AACzF,wBAAgB,OAAO,IAAI,OAAO,CAAe;AAEjD,4CAA4C;AAC5C,wBAAgB,YAAY,IAAI,aAAa,CAAC;IAAE,KAAK,EAAE,MAAM,CAAC;IAAC,EAAE,EAAE,MAAM,CAAA;CAAE,CAAC,CAAkB;AAE9F;;;GAGG;AACH,wBAAgB,aAAa,CAAC,KAAK,SAAQ,GAAG,IAAI,CAYjD"}
|
|
1
|
+
{"version":3,"file":"startup-trace.d.ts","sourceRoot":"","sources":["../src/startup-trace.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAUH;;;GAGG;AACH,eAAO,MAAM,UAAU,QAAkD,CAAC;AAc1E,wBAAgB,YAAY,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI,CAOhD;AAED,2FAA2F;AAC3F,wBAAgB,eAAe,IAAI,IAAI,CAAwB;AAE/D,yFAAyF;AACzF,wBAAgB,OAAO,IAAI,OAAO,CAAe;AAEjD,4CAA4C;AAC5C,wBAAgB,YAAY,IAAI,aAAa,CAAC;IAAE,KAAK,EAAE,MAAM,CAAC;IAAC,EAAE,EAAE,MAAM,CAAA;CAAE,CAAC,CAAkB;AAE9F;;;GAGG;AACH,wBAAgB,aAAa,CAAC,KAAK,SAAQ,GAAG,IAAI,CAYjD;AAED;;;;;;GAMG;AACH,wBAAgB,WAAW,CAAC,OAAO,SAAS,GAAG,IAAI,CAQlD"}
|
package/dist/startup-trace.js
CHANGED
|
@@ -67,4 +67,21 @@ export function traceBlocking(forMs = 8_000) {
|
|
|
67
67
|
}, 20);
|
|
68
68
|
timer.unref();
|
|
69
69
|
}
|
|
70
|
+
/**
|
|
71
|
+
* With the trace on, the process's memory every ten seconds for as long as it runs.
|
|
72
|
+
*
|
|
73
|
+
* Written after a Windows session died of "JavaScript heap out of memory" at 4GB while waiting on a
|
|
74
|
+
* reply: a leak shows in this line as a number that only goes up, and when it started shows which
|
|
75
|
+
* step it belongs to.
|
|
76
|
+
*/
|
|
77
|
+
export function traceMemory(everyMs = 10_000) {
|
|
78
|
+
if (!on)
|
|
79
|
+
return;
|
|
80
|
+
const timer = setInterval(() => {
|
|
81
|
+
const m = process.memoryUsage();
|
|
82
|
+
const mb = (n) => Math.round(n / 1048576);
|
|
83
|
+
traceStartup(`memory: heap ${mb(m.heapUsed)}MB of ${mb(m.heapTotal)}MB, rss ${mb(m.rss)}MB, external ${mb(m.external)}MB`);
|
|
84
|
+
}, everyMs);
|
|
85
|
+
timer.unref();
|
|
86
|
+
}
|
|
70
87
|
//# sourceMappingURL=startup-trace.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"startup-trace.js","sourceRoot":"","sources":["../src/startup-trace.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"startup-trace.js","sourceRoot":"","sources":["../src/startup-trace.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* A reply stream that never forms a message is stopped, not buffered until memory runs out.
|
|
3
|
+
*
|
|
4
|
+
* Reported from Windows with gemma4 on Ollama: nine and a half minutes of "sent — no response
|
|
5
|
+
* from ollama yet", then "FATAL ERROR: JavaScript heap out of memory" at 4GB. The reply had
|
|
6
|
+
* started — the connection was open and the server was sending — but nothing in it ever became a
|
|
7
|
+
* message KONECK could read, so the stream reader kept everything it was given, waiting for the
|
|
8
|
+
* blank line that ends a server-sent event, and the idle guard never fired because bytes kept
|
|
9
|
+
* arriving. A chat stream is small events, each ended by a blank line; megabytes without one are
|
|
10
|
+
* not a chat stream, whatever they are.
|
|
11
|
+
*
|
|
12
|
+
* So every response body passes through here. It counts bytes, notices each event boundary, and
|
|
13
|
+
* fails the stream with an explanation — including how the stream began, which is the part that
|
|
14
|
+
* says what the server was actually sending — once too much has arrived without one. With
|
|
15
|
+
* KONECK_TRACE=1 the same facts go to ~/.koneck/trace.log as the stream runs.
|
|
16
|
+
*/
|
|
17
|
+
/** The reply stream in progress, for a diagnosis taken while it runs (see memory-watch.ts). */
|
|
18
|
+
export declare const streamNow: {
|
|
19
|
+
url: string;
|
|
20
|
+
bytes: number;
|
|
21
|
+
events: number;
|
|
22
|
+
bytesSinceEvent: number;
|
|
23
|
+
open: boolean;
|
|
24
|
+
};
|
|
25
|
+
/** More than this without an event boundary is not a chat stream. Real events are kilobytes. */
|
|
26
|
+
export declare const MAX_BYTES_WITHOUT_EVENT: number;
|
|
27
|
+
export declare class StreamNotUnderstood extends Error {
|
|
28
|
+
readonly bytes: number;
|
|
29
|
+
readonly began: string;
|
|
30
|
+
constructor(bytes: number, began: string, provider: string);
|
|
31
|
+
}
|
|
32
|
+
/** The body of a response, checked as it is read. Responses that are not streams pass untouched. */
|
|
33
|
+
export declare function guardResponse(res: Response, provider: string, url: string): Response;
|
|
34
|
+
/** A fetch that guards every streamed body, for the OpenAI client. */
|
|
35
|
+
export declare function guardedFetch(provider: string): typeof fetch;
|
|
36
|
+
//# sourceMappingURL=stream-guard.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"stream-guard.d.ts","sourceRoot":"","sources":["../src/stream-guard.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AAIH,+FAA+F;AAC/F,eAAO,MAAM,SAAS;;;;;;CAAoE,CAAC;AAE3F,gGAAgG;AAChG,eAAO,MAAM,uBAAuB,QAAkB,CAAC;AAEvD,qBAAa,mBAAoB,SAAQ,KAAK;IAChC,QAAQ,CAAC,KAAK,EAAE,MAAM;IAAE,QAAQ,CAAC,KAAK,EAAE,MAAM;gBAArC,KAAK,EAAE,MAAM,EAAW,KAAK,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM;CAQ7E;AAED,oGAAoG;AACpG,wBAAgB,aAAa,CAAC,GAAG,EAAE,QAAQ,EAAE,QAAQ,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,GAAG,QAAQ,CA+CpF;AAED,sEAAsE;AACtE,wBAAgB,YAAY,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,KAAK,CAM3D"}
|
|
@@ -0,0 +1,102 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* A reply stream that never forms a message is stopped, not buffered until memory runs out.
|
|
3
|
+
*
|
|
4
|
+
* Reported from Windows with gemma4 on Ollama: nine and a half minutes of "sent — no response
|
|
5
|
+
* from ollama yet", then "FATAL ERROR: JavaScript heap out of memory" at 4GB. The reply had
|
|
6
|
+
* started — the connection was open and the server was sending — but nothing in it ever became a
|
|
7
|
+
* message KONECK could read, so the stream reader kept everything it was given, waiting for the
|
|
8
|
+
* blank line that ends a server-sent event, and the idle guard never fired because bytes kept
|
|
9
|
+
* arriving. A chat stream is small events, each ended by a blank line; megabytes without one are
|
|
10
|
+
* not a chat stream, whatever they are.
|
|
11
|
+
*
|
|
12
|
+
* So every response body passes through here. It counts bytes, notices each event boundary, and
|
|
13
|
+
* fails the stream with an explanation — including how the stream began, which is the part that
|
|
14
|
+
* says what the server was actually sending — once too much has arrived without one. With
|
|
15
|
+
* KONECK_TRACE=1 the same facts go to ~/.koneck/trace.log as the stream runs.
|
|
16
|
+
*/
|
|
17
|
+
import { traceStartup, tracing } from './startup-trace.js';
|
|
18
|
+
/** The reply stream in progress, for a diagnosis taken while it runs (see memory-watch.ts). */
|
|
19
|
+
export const streamNow = { url: '', bytes: 0, events: 0, bytesSinceEvent: 0, open: false };
|
|
20
|
+
/** More than this without an event boundary is not a chat stream. Real events are kilobytes. */
|
|
21
|
+
export const MAX_BYTES_WITHOUT_EVENT = 4 * 1024 * 1024;
|
|
22
|
+
export class StreamNotUnderstood extends Error {
|
|
23
|
+
bytes;
|
|
24
|
+
began;
|
|
25
|
+
constructor(bytes, began, provider) {
|
|
26
|
+
super(`${provider} sent ${(bytes / 1048576).toFixed(1)}MB without a single complete message, `
|
|
27
|
+
+ `so KONECK stopped reading rather than keep it all in memory. This is not the chat stream it `
|
|
28
|
+
+ `expects. The reply began: ${JSON.stringify(began.slice(0, 240))}. Check that the endpoint is `
|
|
29
|
+
+ `the OpenAI-compatible one (for Ollama, it ends in /v1), and see ~/.koneck/trace.log with `
|
|
30
|
+
+ `KONECK_TRACE=1 for more.`);
|
|
31
|
+
this.bytes = bytes;
|
|
32
|
+
this.began = began;
|
|
33
|
+
this.name = 'StreamNotUnderstood';
|
|
34
|
+
}
|
|
35
|
+
}
|
|
36
|
+
/** The body of a response, checked as it is read. Responses that are not streams pass untouched. */
|
|
37
|
+
export function guardResponse(res, provider, url) {
|
|
38
|
+
const type = res.headers.get('content-type') ?? '';
|
|
39
|
+
// Every chat reply, whatever it claims to be, and anything else that looks like a stream.
|
|
40
|
+
const streamish = /event-stream|ndjson|octet-stream|text\/plain/i.test(type) || /\/chat\/completions|\/api\/chat/i.test(url);
|
|
41
|
+
if (!res.body || !streamish)
|
|
42
|
+
return res;
|
|
43
|
+
let total = 0;
|
|
44
|
+
let sinceEvent = 0;
|
|
45
|
+
let events = 0;
|
|
46
|
+
let lastNewline = false; // the last byte seen was \n (a \r between two \n is allowed)
|
|
47
|
+
let began = '';
|
|
48
|
+
let nextTrace = 1024 * 1024;
|
|
49
|
+
const decoder = new TextDecoder();
|
|
50
|
+
if (tracing())
|
|
51
|
+
traceStartup(`stream: ${res.status} ${type || '(no content-type)'} from ${url}`);
|
|
52
|
+
Object.assign(streamNow, { url, bytes: 0, events: 0, bytesSinceEvent: 0, open: true });
|
|
53
|
+
const guard = new TransformStream({
|
|
54
|
+
transform(chunk, control) {
|
|
55
|
+
total += chunk.byteLength;
|
|
56
|
+
if (began.length < 400)
|
|
57
|
+
began += decoder.decode(chunk.subarray(0, 400 - began.length), { stream: true });
|
|
58
|
+
for (let i = 0; i < chunk.length; i++) {
|
|
59
|
+
const b = chunk[i];
|
|
60
|
+
if (b === 10) {
|
|
61
|
+
if (lastNewline) {
|
|
62
|
+
events++;
|
|
63
|
+
sinceEvent = 0;
|
|
64
|
+
}
|
|
65
|
+
lastNewline = true;
|
|
66
|
+
}
|
|
67
|
+
else if (b !== 13) {
|
|
68
|
+
lastNewline = false;
|
|
69
|
+
sinceEvent++;
|
|
70
|
+
}
|
|
71
|
+
}
|
|
72
|
+
Object.assign(streamNow, { bytes: total, events, bytesSinceEvent: sinceEvent });
|
|
73
|
+
if (tracing() && total >= nextTrace) {
|
|
74
|
+
traceStartup(`stream: ${(total / 1048576).toFixed(1)}MB received, ${events} events`);
|
|
75
|
+
nextTrace += 1024 * 1024;
|
|
76
|
+
}
|
|
77
|
+
if (sinceEvent > MAX_BYTES_WITHOUT_EVENT) {
|
|
78
|
+
if (tracing())
|
|
79
|
+
traceStartup(`stream: stopped — ${total} bytes, ${events} events; began ${JSON.stringify(began.slice(0, 400))}`);
|
|
80
|
+
control.error(new StreamNotUnderstood(total, began, provider));
|
|
81
|
+
return;
|
|
82
|
+
}
|
|
83
|
+
control.enqueue(chunk);
|
|
84
|
+
},
|
|
85
|
+
flush() {
|
|
86
|
+
streamNow.open = false;
|
|
87
|
+
if (tracing())
|
|
88
|
+
traceStartup(`stream: ended — ${total} bytes, ${events} events`
|
|
89
|
+
+ (events === 0 ? `; began ${JSON.stringify(began.slice(0, 400))}` : ''));
|
|
90
|
+
},
|
|
91
|
+
});
|
|
92
|
+
return new Response(res.body.pipeThrough(guard), { status: res.status, statusText: res.statusText, headers: res.headers });
|
|
93
|
+
}
|
|
94
|
+
/** A fetch that guards every streamed body, for the OpenAI client. */
|
|
95
|
+
export function guardedFetch(provider) {
|
|
96
|
+
return (async (input, init) => {
|
|
97
|
+
const res = await fetch(input, init);
|
|
98
|
+
const url = typeof input === 'string' ? input : input instanceof URL ? input.href : input.url;
|
|
99
|
+
return guardResponse(res, provider, url);
|
|
100
|
+
});
|
|
101
|
+
}
|
|
102
|
+
//# sourceMappingURL=stream-guard.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"stream-guard.js","sourceRoot":"","sources":["../src/stream-guard.ts"],"names":[],"mappings":"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"}
|
package/dist/web/sessions.d.ts
CHANGED
|
@@ -149,6 +149,8 @@ export declare class WebSession {
|
|
|
149
149
|
effort: string;
|
|
150
150
|
/** What this session leaves behind, as of its last turn. */
|
|
151
151
|
handoff: string | null;
|
|
152
|
+
/** The engine's step before the reply, for a memory diagnosis — see memory-watch.ts. */
|
|
153
|
+
private phaseNow;
|
|
152
154
|
/** The last thing the user asked, so it can be asked again. */
|
|
153
155
|
private lastText;
|
|
154
156
|
/** The last request's size and the window the engine compacts at — see onContextFill. */
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"sessions.d.ts","sourceRoot":"","sources":["../../src/web/sessions.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAIH,OAAO,KAAK,EAAE,WAAW,EAAiB,MAAM,aAAa,CAAC;AAE9D,OAAO,EAAE,QAAQ,EAAiB,MAAM,aAAa,CAAC;AACtD,OAAO,EAAqB,SAAS,IAAI,gBAAgB,EACjC,KAAK,UAAU,EAAE,MAAM,cAAc,CAAC;AAC9D,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,kBAAkB,CAAC;AAExD,OAAO,EAAoC,KAAK,QAAQ,EAAE,MAAM,mBAAmB,CAAC;AAGpF,OAAO,EAAmC,KAAK,QAAQ,EAAE,KAAK,WAAW,EAAE,MAAM,mBAAmB,CAAC;
|
|
1
|
+
{"version":3,"file":"sessions.d.ts","sourceRoot":"","sources":["../../src/web/sessions.ts"],"names":[],"mappings":"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"}
|
package/dist/web/sessions.js
CHANGED
|
@@ -19,6 +19,8 @@ import { redactSecrets } from '../redact.js';
|
|
|
19
19
|
import os from 'node:os';
|
|
20
20
|
import { modeLine, nextMode, statusFacts } from '../status-line.js';
|
|
21
21
|
import { KONECK_VERSION } from '../version.js';
|
|
22
|
+
import { memoryReport, recordMemoryReport, heapShareLimit } from '../memory-watch.js';
|
|
23
|
+
import { TRACE_FILE } from '../startup-trace.js';
|
|
22
24
|
import { messageWithElements, elementLabel } from '../element-ref.js';
|
|
23
25
|
import { contextLimitWithSource } from '../context-limit.js';
|
|
24
26
|
import { SessionChanges, totalsOf } from '../session-changes.js';
|
|
@@ -119,6 +121,8 @@ export class WebSession {
|
|
|
119
121
|
effort = 'medium'; // replaced in the constructor by whatever the config carries
|
|
120
122
|
/** What this session leaves behind, as of its last turn. */
|
|
121
123
|
handoff = null;
|
|
124
|
+
/** The engine's step before the reply, for a memory diagnosis — see memory-watch.ts. */
|
|
125
|
+
phaseNow = '';
|
|
122
126
|
/** The last thing the user asked, so it can be asked again. */
|
|
123
127
|
lastText = null;
|
|
124
128
|
/** The last request's size and the window the engine compacts at — see onContextFill. */
|
|
@@ -380,7 +384,7 @@ export class WebSession {
|
|
|
380
384
|
// Shown like any other thing worth knowing about a run in progress.
|
|
381
385
|
onReading: (said) => bus.emit({ t: 'notice', level: 'warn', text: said }),
|
|
382
386
|
onThinking: (text, chars) => bus.emit({ t: 'thinking', text, chars }),
|
|
383
|
-
onPhase: (phase) => bus.emit({ t: 'phase', phase }),
|
|
387
|
+
onPhase: (phase) => { this.phaseNow = phase; bus.emit({ t: 'phase', phase }); },
|
|
384
388
|
onToolCall: (name, detail) => {
|
|
385
389
|
// `detail` is the call's arguments, which is what the change record needs to know which
|
|
386
390
|
// files are about to be touched. The same step the terminal takes before every tool.
|
|
@@ -656,6 +660,7 @@ export class WebSession {
|
|
|
656
660
|
if (this.busy)
|
|
657
661
|
throw new Error('This session is already working. Wait for it to finish.');
|
|
658
662
|
this.busy = true;
|
|
663
|
+
let memoryTimer = null;
|
|
659
664
|
const started = Date.now();
|
|
660
665
|
/*
|
|
661
666
|
* Named from the substance, and renamed as the substance arrives.
|
|
@@ -703,6 +708,28 @@ export class WebSession {
|
|
|
703
708
|
// AbortSignal — so passing undefined here meant stop had nothing to act on: the button
|
|
704
709
|
// called an optional method that did not exist, and silently did nothing at all.
|
|
705
710
|
this.stopping = new AbortController();
|
|
711
|
+
// The same guard the terminal has: a turn eating memory is stopped, with a diagnosis, before
|
|
712
|
+
// it takes the server down — see memory-watch.ts.
|
|
713
|
+
const started = Date.now();
|
|
714
|
+
let warned = false;
|
|
715
|
+
const stopping = this.stopping;
|
|
716
|
+
memoryTimer = setInterval(() => {
|
|
717
|
+
const report = memoryReport(this.phaseNow, Date.now() - started);
|
|
718
|
+
if (!warned && report.share > 0.3) {
|
|
719
|
+
warned = true;
|
|
720
|
+
recordMemoryReport(report, 'memory rising during a turn (web)');
|
|
721
|
+
}
|
|
722
|
+
if (report.share > heapShareLimit()) {
|
|
723
|
+
if (memoryTimer)
|
|
724
|
+
clearInterval(memoryTimer);
|
|
725
|
+
recordMemoryReport(report, 'turn stopped: memory (web)');
|
|
726
|
+
stopping.abort();
|
|
727
|
+
this.bus.emit({ t: 'notice', level: 'warn', text: `Stopped this turn: KONECK was using ${report.heapMB} MB of `
|
|
728
|
+
+ `memory (its limit is ${report.limitMB} MB) while waiting, and would have crashed. What it was doing is `
|
|
729
|
+
+ `written to ${TRACE_FILE}, which holds no conversation or code.` });
|
|
730
|
+
}
|
|
731
|
+
}, 5_000);
|
|
732
|
+
memoryTimer.unref();
|
|
706
733
|
const completed = await agent.send(prefix + messageWithElements(referenced.text, elements), this.stopping.signal, imagePaths.length ? imagePaths : undefined);
|
|
707
734
|
this.turns++;
|
|
708
735
|
const ms = Date.now() - started;
|
|
@@ -734,6 +761,8 @@ export class WebSession {
|
|
|
734
761
|
}
|
|
735
762
|
finally {
|
|
736
763
|
this.busy = false;
|
|
764
|
+
if (memoryTimer)
|
|
765
|
+
clearInterval(memoryTimer);
|
|
737
766
|
// Anything still waiting on an answer cannot be answered now, and a promise left unresolved
|
|
738
767
|
// holds the turn open for ever.
|
|
739
768
|
for (const [askId, p] of this.pending) {
|