@rubytech/create-maxy-code 0.1.550 → 0.1.552
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/package.json +1 -1
- package/payload/platform/lib/agent-dispatch-rule/dist/index.d.ts +22 -8
- package/payload/platform/lib/agent-dispatch-rule/dist/index.d.ts.map +1 -1
- package/payload/platform/lib/agent-dispatch-rule/dist/index.js +47 -13
- package/payload/platform/lib/agent-dispatch-rule/dist/index.js.map +1 -1
- package/payload/platform/lib/agent-dispatch-rule/src/__tests__/rule.test.ts +68 -9
- package/payload/platform/lib/agent-dispatch-rule/src/index.ts +60 -16
- package/payload/platform/plugins/admin/skills/platform-architecture/SKILL.md +3 -3
- package/payload/platform/plugins/admin/skills/whats-new/SKILL.md +9 -0
- package/payload/platform/plugins/docs/references/admin-ui.md +2 -2
- package/payload/platform/plugins/scheduling/PLUGIN.md +4 -0
- package/payload/platform/plugins/scheduling/mcp/dist/index.js +62 -0
- package/payload/platform/plugins/scheduling/mcp/dist/index.js.map +1 -1
- package/payload/platform/plugins/scheduling/mcp/dist/lib/__tests__/agent-dispatch.test.js +2 -2
- package/payload/platform/plugins/scheduling/mcp/dist/lib/__tests__/agent-dispatch.test.js.map +1 -1
- package/payload/platform/plugins/scheduling/mcp/dist/lib/__tests__/connector-sync-provision.test.js +2 -2
- package/payload/platform/plugins/scheduling/mcp/dist/lib/__tests__/connector-sync-provision.test.js.map +1 -1
- package/payload/platform/plugins/scheduling/mcp/dist/lib/__tests__/gate-audits.test.d.ts +2 -0
- package/payload/platform/plugins/scheduling/mcp/dist/lib/__tests__/gate-audits.test.d.ts.map +1 -0
- package/payload/platform/plugins/scheduling/mcp/dist/lib/__tests__/gate-audits.test.js +128 -0
- package/payload/platform/plugins/scheduling/mcp/dist/lib/__tests__/gate-audits.test.js.map +1 -0
- package/payload/platform/plugins/scheduling/mcp/dist/lib/__tests__/gate.test.d.ts +2 -0
- package/payload/platform/plugins/scheduling/mcp/dist/lib/__tests__/gate.test.d.ts.map +1 -0
- package/payload/platform/plugins/scheduling/mcp/dist/lib/__tests__/gate.test.js +135 -0
- package/payload/platform/plugins/scheduling/mcp/dist/lib/__tests__/gate.test.js.map +1 -0
- package/payload/platform/plugins/scheduling/mcp/dist/lib/connector-sync-provision.d.ts.map +1 -1
- package/payload/platform/plugins/scheduling/mcp/dist/lib/connector-sync-provision.js +21 -8
- package/payload/platform/plugins/scheduling/mcp/dist/lib/connector-sync-provision.js.map +1 -1
- package/payload/platform/plugins/scheduling/mcp/dist/lib/gate.d.ts +92 -0
- package/payload/platform/plugins/scheduling/mcp/dist/lib/gate.d.ts.map +1 -0
- package/payload/platform/plugins/scheduling/mcp/dist/lib/gate.js +185 -0
- package/payload/platform/plugins/scheduling/mcp/dist/lib/gate.js.map +1 -0
- package/payload/platform/plugins/scheduling/mcp/dist/lib/routine-run.d.ts +8 -1
- package/payload/platform/plugins/scheduling/mcp/dist/lib/routine-run.d.ts.map +1 -1
- package/payload/platform/plugins/scheduling/mcp/dist/lib/routine-run.js.map +1 -1
- package/payload/platform/plugins/scheduling/mcp/dist/lib/schedule-audit.d.ts +49 -1
- package/payload/platform/plugins/scheduling/mcp/dist/lib/schedule-audit.d.ts.map +1 -1
- package/payload/platform/plugins/scheduling/mcp/dist/lib/schedule-audit.js +165 -0
- package/payload/platform/plugins/scheduling/mcp/dist/lib/schedule-audit.js.map +1 -1
- package/payload/platform/plugins/scheduling/mcp/dist/scripts/__tests__/gate-dispatch-wiring.test.d.ts +2 -0
- package/payload/platform/plugins/scheduling/mcp/dist/scripts/__tests__/gate-dispatch-wiring.test.d.ts.map +1 -0
- package/payload/platform/plugins/scheduling/mcp/dist/scripts/__tests__/gate-dispatch-wiring.test.js +146 -0
- package/payload/platform/plugins/scheduling/mcp/dist/scripts/__tests__/gate-dispatch-wiring.test.js.map +1 -0
- package/payload/platform/plugins/scheduling/mcp/dist/scripts/agent-turn-dispatch.d.ts +27 -0
- package/payload/platform/plugins/scheduling/mcp/dist/scripts/agent-turn-dispatch.d.ts.map +1 -1
- package/payload/platform/plugins/scheduling/mcp/dist/scripts/agent-turn-dispatch.js +18 -0
- package/payload/platform/plugins/scheduling/mcp/dist/scripts/agent-turn-dispatch.js.map +1 -1
- package/payload/platform/plugins/scheduling/mcp/dist/scripts/check-due-events.js +106 -64
- package/payload/platform/plugins/scheduling/mcp/dist/scripts/check-due-events.js.map +1 -1
- package/payload/platform/plugins/scheduling/mcp/dist/tools/__tests__/schedule-gate-write.test.d.ts +2 -0
- package/payload/platform/plugins/scheduling/mcp/dist/tools/__tests__/schedule-gate-write.test.d.ts.map +1 -0
- package/payload/platform/plugins/scheduling/mcp/dist/tools/__tests__/schedule-gate-write.test.js +218 -0
- package/payload/platform/plugins/scheduling/mcp/dist/tools/__tests__/schedule-gate-write.test.js.map +1 -0
- package/payload/platform/plugins/scheduling/mcp/dist/tools/__tests__/scheduling-gate.test.d.ts +2 -0
- package/payload/platform/plugins/scheduling/mcp/dist/tools/__tests__/scheduling-gate.test.d.ts.map +1 -0
- package/payload/platform/plugins/scheduling/mcp/dist/tools/__tests__/scheduling-gate.test.js +291 -0
- package/payload/platform/plugins/scheduling/mcp/dist/tools/__tests__/scheduling-gate.test.js.map +1 -0
- package/payload/platform/plugins/scheduling/mcp/dist/tools/schedule-event.d.ts +31 -0
- package/payload/platform/plugins/scheduling/mcp/dist/tools/schedule-event.d.ts.map +1 -1
- package/payload/platform/plugins/scheduling/mcp/dist/tools/schedule-event.js +44 -1
- package/payload/platform/plugins/scheduling/mcp/dist/tools/schedule-event.js.map +1 -1
- package/payload/platform/plugins/scheduling/mcp/dist/tools/schedule-update.d.ts +3 -1
- package/payload/platform/plugins/scheduling/mcp/dist/tools/schedule-update.d.ts.map +1 -1
- package/payload/platform/plugins/scheduling/mcp/dist/tools/schedule-update.js +57 -3
- package/payload/platform/plugins/scheduling/mcp/dist/tools/schedule-update.js.map +1 -1
- package/payload/platform/plugins/scheduling/mcp/dist/tools/scheduling-gate.d.ts +148 -0
- package/payload/platform/plugins/scheduling/mcp/dist/tools/scheduling-gate.d.ts.map +1 -0
- package/payload/platform/plugins/scheduling/mcp/dist/tools/scheduling-gate.js +410 -0
- package/payload/platform/plugins/scheduling/mcp/dist/tools/scheduling-gate.js.map +1 -0
- package/payload/platform/plugins/scheduling/mcp/package.json +1 -0
- package/payload/platform/plugins/telegram/.claude-plugin/plugin.json +1 -1
- package/payload/platform/plugins/telegram/PLUGIN.md +6 -4
- package/payload/platform/plugins/telegram/mcp/dist/index.js +62 -38
- package/payload/platform/plugins/telegram/mcp/dist/index.js.map +1 -1
- package/payload/platform/plugins/telegram/mcp/dist/lib/account-token.d.ts +18 -5
- package/payload/platform/plugins/telegram/mcp/dist/lib/account-token.d.ts.map +1 -1
- package/payload/platform/plugins/telegram/mcp/dist/lib/account-token.js +34 -6
- package/payload/platform/plugins/telegram/mcp/dist/lib/account-token.js.map +1 -1
- package/payload/platform/plugins/telegram/mcp/dist/lib/account-write.d.ts +25 -8
- package/payload/platform/plugins/telegram/mcp/dist/lib/account-write.d.ts.map +1 -1
- package/payload/platform/plugins/telegram/mcp/dist/lib/account-write.js +28 -16
- package/payload/platform/plugins/telegram/mcp/dist/lib/account-write.js.map +1 -1
- package/payload/platform/plugins/telegram/mcp/dist/lib/agent-active.d.ts +12 -0
- package/payload/platform/plugins/telegram/mcp/dist/lib/agent-active.d.ts.map +1 -0
- package/payload/platform/plugins/telegram/mcp/dist/lib/agent-active.js +26 -0
- package/payload/platform/plugins/telegram/mcp/dist/lib/agent-active.js.map +1 -0
- package/payload/platform/plugins/telegram/mcp/dist/lib/secret-path.d.ts +16 -13
- package/payload/platform/plugins/telegram/mcp/dist/lib/secret-path.d.ts.map +1 -1
- package/payload/platform/plugins/telegram/mcp/dist/lib/secret-path.js +19 -23
- package/payload/platform/plugins/telegram/mcp/dist/lib/secret-path.js.map +1 -1
- package/payload/platform/plugins/telegram/mcp/dist/lib/webhook-url.d.ts +9 -7
- package/payload/platform/plugins/telegram/mcp/dist/lib/webhook-url.d.ts.map +1 -1
- package/payload/platform/plugins/telegram/mcp/dist/lib/webhook-url.js +11 -8
- package/payload/platform/plugins/telegram/mcp/dist/lib/webhook-url.js.map +1 -1
- package/payload/platform/plugins/telegram/mcp/dist/tools/message.d.ts +4 -0
- package/payload/platform/plugins/telegram/mcp/dist/tools/message.d.ts.map +1 -1
- package/payload/platform/plugins/telegram/mcp/dist/tools/message.js +13 -3
- package/payload/platform/plugins/telegram/mcp/dist/tools/message.js.map +1 -1
- package/payload/platform/plugins/telegram/references/setup-guide.md +16 -8
- package/payload/platform/plugins/telegram/skills/configure/SKILL.md +30 -32
- package/payload/platform/services/claude-session-manager/dist/canonical-tool-names.generated.d.ts.map +1 -1
- package/payload/platform/services/claude-session-manager/dist/canonical-tool-names.generated.js +1 -0
- package/payload/platform/services/claude-session-manager/dist/canonical-tool-names.generated.js.map +1 -1
- package/payload/platform/services/claude-session-manager/dist/pty-census.d.ts +51 -4
- package/payload/platform/services/claude-session-manager/dist/pty-census.d.ts.map +1 -1
- package/payload/platform/services/claude-session-manager/dist/pty-census.js +60 -10
- package/payload/platform/services/claude-session-manager/dist/pty-census.js.map +1 -1
- package/payload/platform/services/claude-session-manager/dist/slice-memory-policy.d.ts +64 -1
- package/payload/platform/services/claude-session-manager/dist/slice-memory-policy.d.ts.map +1 -1
- package/payload/platform/services/claude-session-manager/dist/slice-memory-policy.js +189 -6
- package/payload/platform/services/claude-session-manager/dist/slice-memory-policy.js.map +1 -1
- package/payload/server/server.js +510 -240
|
@@ -141,26 +141,57 @@ export function parseCgroupAnonBytes(blob) {
|
|
|
141
141
|
* match is load-bearing: `user_usec` and `system_usec` are siblings in the
|
|
142
142
|
* same file and each is a fraction of the total, so a loose match would
|
|
143
143
|
* silently understate every session's CPU. */
|
|
144
|
+
/** The `high` line of a cgroup's memory.events, as a COUNT — not bytes, so no
|
|
145
|
+
* kB conversion. Null when absent or unparseable.
|
|
146
|
+
*
|
|
147
|
+
* Task 2382 — the kernel increments this every time it throttles an
|
|
148
|
+
* allocation because the cgroup is over memory.high. Its GROWTH is the only
|
|
149
|
+
* signal that the cohort is being actively throttled right now; the level
|
|
150
|
+
* alone says nothing, being cumulative since the slice was created. Null
|
|
151
|
+
* rather than 0 on an unreadable file, because 0 is a real value meaning
|
|
152
|
+
* "never throttled" and would read as the counter having reset. */
|
|
153
|
+
export function parseCgroupHighEvents(blob) {
|
|
154
|
+
const m = blob.match(/^high (\d+)$/m);
|
|
155
|
+
return m ? Number(m[1]) : null;
|
|
156
|
+
}
|
|
144
157
|
export function parseCgroupUsageUsec(blob) {
|
|
145
158
|
const m = blob.match(/^usage_usec (\d+)$/m);
|
|
146
159
|
return m ? Number(m[1]) : null;
|
|
147
160
|
}
|
|
148
|
-
/** MemTotal / MemAvailable (kB) from /proc/meminfo
|
|
161
|
+
/** MemTotal / MemAvailable / SwapTotal / SwapFree (kB) from a /proc/meminfo
|
|
162
|
+
* blob. Missing field → 0.
|
|
149
163
|
*
|
|
150
|
-
* Task 1709 — the
|
|
151
|
-
*
|
|
164
|
+
* Task 1709 — the fallbacks are INDEPENDENT per field: a blob that parses for
|
|
165
|
+
* MemTotal but not MemAvailable yields a positive sysTotalKb beside a
|
|
152
166
|
* sysAvailKb of 0. A consumer that reads sysAvailKb as "free RAM" must
|
|
153
167
|
* therefore treat 0 as unmeasured, not as "no free RAM" — see the guard in
|
|
154
|
-
* slice-memory-policy.ts.
|
|
168
|
+
* slice-memory-policy.ts.
|
|
169
|
+
*
|
|
170
|
+
* Task 2382 — the same holds for the swap pair, with one addition: a box with
|
|
171
|
+
* swap disabled has no SwapTotal line at all, so swapTotalKb === 0 means NO
|
|
172
|
+
* SWAP CONFIGURED, and the swap tier declines to act on it rather than
|
|
173
|
+
* dividing by it. The pair exists because MemAvailable cannot see swap
|
|
174
|
+
* exhaustion: with zram fronting the swap devices the swapped pages are held
|
|
175
|
+
* compressed IN RAM, so swap filling RAISES MemAvailable. On realagency,
|
|
176
|
+
* 2026-08-02, swap went to 10156 of 10157 MB while MemAvailable rose to 35%. */
|
|
177
|
+
export function parseMeminfoKb(blob) {
|
|
178
|
+
const field = (name) => {
|
|
179
|
+
const m = blob.match(new RegExp(`^${name}:\\s+(\\d+)\\s+kB$`, 'm'));
|
|
180
|
+
return m ? Number(m[1]) : 0;
|
|
181
|
+
};
|
|
182
|
+
return {
|
|
183
|
+
sysTotalKb: field('MemTotal'),
|
|
184
|
+
sysAvailKb: field('MemAvailable'),
|
|
185
|
+
swapTotalKb: field('SwapTotal'),
|
|
186
|
+
swapFreeKb: field('SwapFree'),
|
|
187
|
+
};
|
|
188
|
+
}
|
|
155
189
|
function readMeminfoKb() {
|
|
156
190
|
try {
|
|
157
|
-
|
|
158
|
-
const total = info.match(/^MemTotal:\s+(\d+)\s+kB$/m);
|
|
159
|
-
const avail = info.match(/^MemAvailable:\s+(\d+)\s+kB$/m);
|
|
160
|
-
return { sysTotalKb: total ? Number(total[1]) : 0, sysAvailKb: avail ? Number(avail[1]) : 0 };
|
|
191
|
+
return parseMeminfoKb(readFileSync('/proc/meminfo', 'utf8'));
|
|
161
192
|
}
|
|
162
193
|
catch {
|
|
163
|
-
return { sysTotalKb: 0, sysAvailKb: 0 };
|
|
194
|
+
return { sysTotalKb: 0, sysAvailKb: 0, swapTotalKb: 0, swapFreeKb: 0 };
|
|
164
195
|
}
|
|
165
196
|
}
|
|
166
197
|
/** allocated + max file handles from /proc/sys/fs/file-nr ("alloc unused max"). */
|
|
@@ -224,6 +255,21 @@ export const defaultCensusIo = {
|
|
|
224
255
|
const bytes = readCgroupNumber(slice, 'memory.high');
|
|
225
256
|
return bytes === null ? null : bytesToKb(bytes);
|
|
226
257
|
},
|
|
258
|
+
sliceHighEvents(scopeCgroup) {
|
|
259
|
+
const slice = sliceCgroupPathFromScope(scopeCgroup);
|
|
260
|
+
if (!slice)
|
|
261
|
+
return null;
|
|
262
|
+
// A key-value file like memory.stat, not a bare number, so readCgroupNumber
|
|
263
|
+
// does not apply.
|
|
264
|
+
let blob;
|
|
265
|
+
try {
|
|
266
|
+
blob = readFileSync(`/sys/fs/cgroup${slice}/memory.events`, 'utf8');
|
|
267
|
+
}
|
|
268
|
+
catch {
|
|
269
|
+
return null;
|
|
270
|
+
}
|
|
271
|
+
return parseCgroupHighEvents(blob);
|
|
272
|
+
},
|
|
227
273
|
scopeCpuUsec(scopeCgroup) {
|
|
228
274
|
let blob;
|
|
229
275
|
try {
|
|
@@ -305,7 +351,8 @@ export function collectPtyCensus(io = defaultCensusIo, prior = new Map()) {
|
|
|
305
351
|
const sliceKb = firstCgroup === null ? null : io.sliceMem(firstCgroup);
|
|
306
352
|
const sliceAnonKb = firstCgroup === null ? null : io.sliceAnon(firstCgroup);
|
|
307
353
|
const sliceHighKb = firstCgroup === null ? null : io.sliceHigh(firstCgroup);
|
|
308
|
-
const
|
|
354
|
+
const sliceHighEvents = firstCgroup === null ? null : io.sliceHighEvents(firstCgroup);
|
|
355
|
+
const { sysTotalKb, sysAvailKb, swapTotalKb, swapFreeKb } = io.meminfoKb();
|
|
309
356
|
const { fdOpen, fdMax } = io.fileNr();
|
|
310
357
|
return {
|
|
311
358
|
snapshot: {
|
|
@@ -318,8 +365,11 @@ export function collectPtyCensus(io = defaultCensusIo, prior = new Map()) {
|
|
|
318
365
|
sliceKb,
|
|
319
366
|
sliceAnonKb,
|
|
320
367
|
sliceHighKb,
|
|
368
|
+
sliceHighEvents,
|
|
321
369
|
sysTotalKb,
|
|
322
370
|
sysAvailKb,
|
|
371
|
+
swapTotalKb,
|
|
372
|
+
swapFreeKb,
|
|
323
373
|
fdOpen,
|
|
324
374
|
fdMax,
|
|
325
375
|
},
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"pty-census.js","sourceRoot":"","sources":["../src/pty-census.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"pty-census.js","sourceRoot":"","sources":["../src/pty-census.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { type PtyCensusSnapshot, type Logger } from './pty-census.js';
|
|
1
|
+
import { type CensusSession, type PtyCensusSnapshot, type Logger } from './pty-census.js';
|
|
2
2
|
import { type SystemctlRunner } from './systemd-scope.js';
|
|
3
3
|
import type { FsWatcher, SessionRow } from './fs-watcher.js';
|
|
4
4
|
/** Reclaim an idle operator session when free RAM falls below this. Sits one
|
|
@@ -20,6 +20,17 @@ export declare const SLICE_MIN_HIGH_KB: number;
|
|
|
20
20
|
* population, and long enough not to take a session an operator is mid-thought
|
|
21
21
|
* on. A judgement call, not a measurement. */
|
|
22
22
|
export declare const IDLE_TTL_MS: number;
|
|
23
|
+
/** Task 2382 — swap free, as a percentage of swap total, below which the
|
|
24
|
+
* cohort is one reclaim away from having nowhere to put a page.
|
|
25
|
+
*
|
|
26
|
+
* A FOURTH tier, above the three above, because none of them can see this.
|
|
27
|
+
* All three key on MemAvailable, and with zram fronting the swap devices the
|
|
28
|
+
* swapped pages are held compressed IN RAM, so swap filling RAISES
|
|
29
|
+
* MemAvailable. On realagency, 2026-08-02, swap went to 10156 of 10157 MB
|
|
30
|
+
* while MemAvailable ROSE to 35% — every tier read healthy and the box
|
|
31
|
+
* stopped executing. earlyoom could not help either: its condition is
|
|
32
|
+
* `mem <= 10% AND swap <= 10%`, ANDed, and v1.7 has no swap-only mode. */
|
|
33
|
+
export declare const SWAP_FLOOR_PCT = 25;
|
|
23
34
|
/** RAM held by everything that is neither a session nor free: the co-resident
|
|
24
35
|
* Neo4j JVMs, Ollama, the brand servers, edge/manager, the OS.
|
|
25
36
|
*
|
|
@@ -108,6 +119,38 @@ export declare function shouldApplyMemoryHigh(desiredKb: number, currentKb: numb
|
|
|
108
119
|
* taken. No attachment signal is consulted; the one that exists (Task 1705's
|
|
109
120
|
* stream-lifecycle) lives in the UI server process, not this one. */
|
|
110
121
|
export declare function selectVictim(rows: readonly SessionRow[], nowMs: number, idleTtlMs: number): SessionRow | null;
|
|
122
|
+
/** Task 2382 — true when swap is nearly gone AND the kernel is actively
|
|
123
|
+
* throttling the cohort. Both halves are required, and the second is what
|
|
124
|
+
* keeps this off a healthy box: swap filling while the slice sits under its
|
|
125
|
+
* ceiling is ordinary use of swap, and stopping a session for it would be a
|
|
126
|
+
* false positive. The pair first holds on the realagency samples at 20:36:45Z,
|
|
127
|
+
* six minutes before the freeze.
|
|
128
|
+
*
|
|
129
|
+
* Declines in three measured-absence cases, each otherwise a false positive:
|
|
130
|
+
* no swap configured (swapTotalKb 0 — there is nothing to be exhausted, and
|
|
131
|
+
* the tier must not divide by it), an unreadable memory.events this tick, and
|
|
132
|
+
* the first tick after start() when no previous count exists. A measurement
|
|
133
|
+
* gap is never read as growth.
|
|
134
|
+
*
|
|
135
|
+
* Integer arithmetic throughout: a float ratio would put the boundary case at
|
|
136
|
+
* the mercy of rounding. */
|
|
137
|
+
export declare function shouldStopForSwap(swapTotalKb: number, swapFreeKb: number, highEvents: number | null, prevHighEvents: number | null): boolean;
|
|
138
|
+
/** Task 2382 — the live row of the largest session by scope memory.current,
|
|
139
|
+
* or null.
|
|
140
|
+
*
|
|
141
|
+
* NO IDLE PREDICATE, and that is the whole point. selectVictim above requires
|
|
142
|
+
* status:'idle' for 30 minutes, which is exactly why it logged victim=none on
|
|
143
|
+
* 14 of the 16 ticks while realagency died with ten busy sessions. Under swap
|
|
144
|
+
* exhaustion the alternative to stopping the largest is losing all of them
|
|
145
|
+
* plus a hand power-cycle. Safe on the same grounds selectVictim states: the
|
|
146
|
+
* transcript is the durable artifact and `--resume` reconstitutes the session.
|
|
147
|
+
*
|
|
148
|
+
* The rc-daemon is excluded because it is the spawner, not a user session. A
|
|
149
|
+
* census session with no live row is skipped rather than reported: it carries
|
|
150
|
+
* no scope token, so there is nothing to stop. When that skip empties the
|
|
151
|
+
* field the tick logs victim=none beside the live count, which is what makes
|
|
152
|
+
* the mismatch visible. */
|
|
153
|
+
export declare function selectLargestVictim(sessions: readonly CensusSession[], rows: readonly SessionRow[]): SessionRow | null;
|
|
111
154
|
export interface ReclaimLine {
|
|
112
155
|
sessionId: string;
|
|
113
156
|
/** The scope unit stopped, or 'none' when no tracker resolved. */
|
|
@@ -124,6 +167,26 @@ export declare function formatReclaim(a: ReclaimLine): string;
|
|
|
124
167
|
/** Pure — no I/O. Pressure with no reclaimable session is a real state and must
|
|
125
168
|
* not be silent; mirrors `[pty-cap] ... evicted=none`. */
|
|
126
169
|
export declare function formatPressureNoVictim(sysAvailKb: number, thresholdKb: number): string;
|
|
170
|
+
export interface SwapKillLine {
|
|
171
|
+
sessionId: string;
|
|
172
|
+
/** The scope unit stopped, or 'none' when no tracker resolved. */
|
|
173
|
+
unit: string;
|
|
174
|
+
/** The victim's scope-subtree memory.current, from the census row. */
|
|
175
|
+
rssKb: number;
|
|
176
|
+
swapFreeKb: number;
|
|
177
|
+
swapTotalKb: number;
|
|
178
|
+
highDelta: number;
|
|
179
|
+
}
|
|
180
|
+
/** Pure — no I/O. Names the session AND the two numbers that condemned it, so
|
|
181
|
+
* an automatic stop of a session that was mid-turn is as legible afterwards as
|
|
182
|
+
* an operator stop. */
|
|
183
|
+
export declare function formatSwapKill(a: SwapKillLine): string;
|
|
184
|
+
/** Pure — no I/O. The trigger holding with nothing to stop is this tier's blind
|
|
185
|
+
* spot: it emits no action, so without a line of its own it is
|
|
186
|
+
* indistinguishable from a healthy box. `live` is carried because victim=none
|
|
187
|
+
* beside a non-zero live count is what says the pressure is outside the slice.
|
|
188
|
+
* Mirrors formatPressureNoVictim. */
|
|
189
|
+
export declare function formatSwapNoVictim(swapFreeKb: number, swapTotalKb: number, highDelta: number, live: number): string;
|
|
127
190
|
/** Pure — no I/O. Names the baseline so an operator can see WHY the bound is
|
|
128
191
|
* what it is, not merely that it changed. */
|
|
129
192
|
export declare function formatSliceHighApplied(baselineKb: number, highKb: number, previousKb: number | null): string;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"slice-memory-policy.d.ts","sourceRoot":"","sources":["../src/slice-memory-policy.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"slice-memory-policy.d.ts","sourceRoot":"","sources":["../src/slice-memory-policy.ts"],"names":[],"mappings":"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"}
|
|
@@ -28,17 +28,28 @@
|
|
|
28
28
|
// constraint; a box-wide RAM signal does express it.
|
|
29
29
|
//
|
|
30
30
|
// Ordering against the existing gates, deliberate:
|
|
31
|
+
// swapFree < 25% AND high events growing -> stop the largest live session (2382)
|
|
31
32
|
// sysAvail < RECLAIM_AT (8G) -> reclaim idle-oldest operator session
|
|
32
33
|
// memAvail < MIN_ADMISSION_MB (4G) -> refuse new specialists (Task 600)
|
|
33
34
|
// slice > MemoryHigh -> kernel throttles the cohort
|
|
34
|
-
//
|
|
35
|
+
// Relieve, then recover, then refuse, then throttle.
|
|
36
|
+
//
|
|
37
|
+
// Task 2382 added the top tier, and it is the ONE TIER THAT DOES NOT KEY ON
|
|
38
|
+
// MemAvailable — which is exactly why it exists. The paragraph above is true of
|
|
39
|
+
// the three tiers below it, and false of this one: with zram fronting the swap
|
|
40
|
+
// devices the swapped pages are held compressed in RAM, so swap filling RAISES
|
|
41
|
+
// MemAvailable. On realagency, 2026-08-02, swap reached 10156 of 10157 MB while
|
|
42
|
+
// MemAvailable rose to 35%; every MemAvailable-keyed tier read healthy and the
|
|
43
|
+
// box stopped executing. This tier reads /proc/meminfo's swap pair and the
|
|
44
|
+
// slice's memory.events `high` counter instead.
|
|
35
45
|
//
|
|
36
46
|
// Shape mirrors pty-census.ts / session-cap-audit.ts: PURE derivations + PURE
|
|
37
47
|
// formatters (no I/O, unit-tested) + an impure collector + a start/stop factory
|
|
38
48
|
// whose setInterval is unref'd and cleared on shutdown.
|
|
39
|
-
import { collectPtyCensus } from './pty-census.js';
|
|
49
|
+
import { collectPtyCensus, } from './pty-census.js';
|
|
40
50
|
import { CLAUDE_PTYS_SLICE, scopeUnitName, defaultSystemctlRunner, } from './systemd-scope.js';
|
|
41
51
|
import { stopSession, getPtyTrackerForTests } from './pty-spawner.js';
|
|
52
|
+
import { isDaemonUnitToken } from './session-memory-cap.js';
|
|
42
53
|
/** Reclaim an idle operator session when free RAM falls below this. Sits one
|
|
43
54
|
* step above Task 600's MIN_ADMISSION_MB (4 GB) so reclaim precedes refusal:
|
|
44
55
|
* recovering RAM is preferable to refusing work. A judgement call, not a
|
|
@@ -58,6 +69,17 @@ export const SLICE_MIN_HIGH_KB = 2 * 1024 * 1024;
|
|
|
58
69
|
* population, and long enough not to take a session an operator is mid-thought
|
|
59
70
|
* on. A judgement call, not a measurement. */
|
|
60
71
|
export const IDLE_TTL_MS = 30 * 60 * 1000;
|
|
72
|
+
/** Task 2382 — swap free, as a percentage of swap total, below which the
|
|
73
|
+
* cohort is one reclaim away from having nowhere to put a page.
|
|
74
|
+
*
|
|
75
|
+
* A FOURTH tier, above the three above, because none of them can see this.
|
|
76
|
+
* All three key on MemAvailable, and with zram fronting the swap devices the
|
|
77
|
+
* swapped pages are held compressed IN RAM, so swap filling RAISES
|
|
78
|
+
* MemAvailable. On realagency, 2026-08-02, swap went to 10156 of 10157 MB
|
|
79
|
+
* while MemAvailable ROSE to 35% — every tier read healthy and the box
|
|
80
|
+
* stopped executing. earlyoom could not help either: its condition is
|
|
81
|
+
* `mem <= 10% AND swap <= 10%`, ANDed, and v1.7 has no swap-only mode. */
|
|
82
|
+
export const SWAP_FLOOR_PCT = 25;
|
|
61
83
|
/** RAM held by everything that is neither a session nor free: the co-resident
|
|
62
84
|
* Neo4j JVMs, Ollama, the brand servers, edge/manager, the OS.
|
|
63
85
|
*
|
|
@@ -162,6 +184,62 @@ export function selectVictim(rows, nowMs, idleTtlMs) {
|
|
|
162
184
|
return null;
|
|
163
185
|
return candidates.reduce((oldest, r) => (r.updatedAt < oldest.updatedAt ? r : oldest));
|
|
164
186
|
}
|
|
187
|
+
/** Task 2382 — true when swap is nearly gone AND the kernel is actively
|
|
188
|
+
* throttling the cohort. Both halves are required, and the second is what
|
|
189
|
+
* keeps this off a healthy box: swap filling while the slice sits under its
|
|
190
|
+
* ceiling is ordinary use of swap, and stopping a session for it would be a
|
|
191
|
+
* false positive. The pair first holds on the realagency samples at 20:36:45Z,
|
|
192
|
+
* six minutes before the freeze.
|
|
193
|
+
*
|
|
194
|
+
* Declines in three measured-absence cases, each otherwise a false positive:
|
|
195
|
+
* no swap configured (swapTotalKb 0 — there is nothing to be exhausted, and
|
|
196
|
+
* the tier must not divide by it), an unreadable memory.events this tick, and
|
|
197
|
+
* the first tick after start() when no previous count exists. A measurement
|
|
198
|
+
* gap is never read as growth.
|
|
199
|
+
*
|
|
200
|
+
* Integer arithmetic throughout: a float ratio would put the boundary case at
|
|
201
|
+
* the mercy of rounding. */
|
|
202
|
+
export function shouldStopForSwap(swapTotalKb, swapFreeKb, highEvents, prevHighEvents) {
|
|
203
|
+
if (swapTotalKb <= 0)
|
|
204
|
+
return false;
|
|
205
|
+
if (highEvents === null || prevHighEvents === null)
|
|
206
|
+
return false;
|
|
207
|
+
if (highEvents <= prevHighEvents)
|
|
208
|
+
return false;
|
|
209
|
+
return swapFreeKb * 100 < swapTotalKb * SWAP_FLOOR_PCT;
|
|
210
|
+
}
|
|
211
|
+
/** Task 2382 — the live row of the largest session by scope memory.current,
|
|
212
|
+
* or null.
|
|
213
|
+
*
|
|
214
|
+
* NO IDLE PREDICATE, and that is the whole point. selectVictim above requires
|
|
215
|
+
* status:'idle' for 30 minutes, which is exactly why it logged victim=none on
|
|
216
|
+
* 14 of the 16 ticks while realagency died with ten busy sessions. Under swap
|
|
217
|
+
* exhaustion the alternative to stopping the largest is losing all of them
|
|
218
|
+
* plus a hand power-cycle. Safe on the same grounds selectVictim states: the
|
|
219
|
+
* transcript is the durable artifact and `--resume` reconstitutes the session.
|
|
220
|
+
*
|
|
221
|
+
* The rc-daemon is excluded because it is the spawner, not a user session. A
|
|
222
|
+
* census session with no live row is skipped rather than reported: it carries
|
|
223
|
+
* no scope token, so there is nothing to stop. When that skip empties the
|
|
224
|
+
* field the tick logs victim=none beside the live count, which is what makes
|
|
225
|
+
* the mismatch visible. */
|
|
226
|
+
export function selectLargestVictim(sessions, rows) {
|
|
227
|
+
const liveById = new Map(rows.filter((r) => r.state === 'live').map((r) => [r.sessionId, r]));
|
|
228
|
+
let best = null;
|
|
229
|
+
let bestKb = -1;
|
|
230
|
+
for (const s of sessions) {
|
|
231
|
+
const r = liveById.get(s.sessionId);
|
|
232
|
+
if (!r)
|
|
233
|
+
continue;
|
|
234
|
+
if (r.scopeUnitToken !== null && isDaemonUnitToken(r.scopeUnitToken))
|
|
235
|
+
continue;
|
|
236
|
+
if (s.memKb > bestKb) {
|
|
237
|
+
best = r;
|
|
238
|
+
bestKb = s.memKb;
|
|
239
|
+
}
|
|
240
|
+
}
|
|
241
|
+
return best;
|
|
242
|
+
}
|
|
165
243
|
const TAG = '[session-reclaim]';
|
|
166
244
|
const kbToMb = (kb) => Math.round(kb / 1024);
|
|
167
245
|
/** Pure — no I/O. Carries what happened AND the numbers that caused it, so an
|
|
@@ -176,6 +254,24 @@ export function formatReclaim(a) {
|
|
|
176
254
|
export function formatPressureNoVictim(sysAvailKb, thresholdKb) {
|
|
177
255
|
return `${TAG} pressure memAvailMb=${kbToMb(sysAvailKb)} thresholdMb=${kbToMb(thresholdKb)} victim=none`;
|
|
178
256
|
}
|
|
257
|
+
const swapFreePct = (freeKb, totalKb) => totalKb > 0 ? Math.round((freeKb / totalKb) * 100) : 0;
|
|
258
|
+
/** Pure — no I/O. Names the session AND the two numbers that condemned it, so
|
|
259
|
+
* an automatic stop of a session that was mid-turn is as legible afterwards as
|
|
260
|
+
* an operator stop. */
|
|
261
|
+
export function formatSwapKill(a) {
|
|
262
|
+
return (`${TAG} op=swap-kill sessionId=${a.sessionId} unit=${a.unit} rssMb=${kbToMb(a.rssKb)} ` +
|
|
263
|
+
`swapFreePct=${swapFreePct(a.swapFreeKb, a.swapTotalKb)} highDelta=${a.highDelta} ` +
|
|
264
|
+
`reason=swap-exhaustion`);
|
|
265
|
+
}
|
|
266
|
+
/** Pure — no I/O. The trigger holding with nothing to stop is this tier's blind
|
|
267
|
+
* spot: it emits no action, so without a line of its own it is
|
|
268
|
+
* indistinguishable from a healthy box. `live` is carried because victim=none
|
|
269
|
+
* beside a non-zero live count is what says the pressure is outside the slice.
|
|
270
|
+
* Mirrors formatPressureNoVictim. */
|
|
271
|
+
export function formatSwapNoVictim(swapFreeKb, swapTotalKb, highDelta, live) {
|
|
272
|
+
return (`${TAG} op=swap-exhaustion swapFreePct=${swapFreePct(swapFreeKb, swapTotalKb)} ` +
|
|
273
|
+
`highDelta=${highDelta} victim=none live=${live}`);
|
|
274
|
+
}
|
|
179
275
|
/** Pure — no I/O. Names the baseline so an operator can see WHY the bound is
|
|
180
276
|
* what it is, not merely that it changed. */
|
|
181
277
|
export function formatSliceHighApplied(baselineKb, highKb, previousKb) {
|
|
@@ -191,6 +287,12 @@ export function createSliceMemoryPolicy(deps) {
|
|
|
191
287
|
const collect = deps.collect ?? (() => collectPtyCensus().snapshot);
|
|
192
288
|
const runSystemctl = deps.runSystemctl ?? defaultSystemctlRunner;
|
|
193
289
|
let timer = null;
|
|
290
|
+
// Task 2382 — the previous tick's memory.high event count. The swap tier
|
|
291
|
+
// reads the DELTA, so it must decline on the first tick, and it is assigned
|
|
292
|
+
// only on a measurable tick: the unmeasurable-tick guard returns before this
|
|
293
|
+
// is touched, leaving the last real count in place rather than clearing it
|
|
294
|
+
// or overwriting it from a snapshot the guard already rejected.
|
|
295
|
+
let prevHighEvents = null;
|
|
194
296
|
function sizeBound(snap) {
|
|
195
297
|
// sliceAnonKb null: no live scope resolved the slice path, or the memory
|
|
196
298
|
// cgroup controller is disabled — where MemoryHigh is a silent no-op
|
|
@@ -210,20 +312,83 @@ export function createSliceMemoryPolicy(deps) {
|
|
|
210
312
|
// process hoped was there.
|
|
211
313
|
if (!shouldApplyMemoryHigh(desiredKb, snap.sliceHighKb))
|
|
212
314
|
return;
|
|
315
|
+
const startedMs = Date.now();
|
|
213
316
|
const r = runSystemctl([
|
|
214
317
|
'--user',
|
|
215
318
|
'set-property',
|
|
216
319
|
CLAUDE_PTYS_SLICE,
|
|
217
320
|
`MemoryHigh=${kbToMb(desiredKb)}M`,
|
|
218
321
|
]);
|
|
322
|
+
const elapsedMs = Date.now() - startedMs;
|
|
219
323
|
if (r.exitCode !== 0) {
|
|
220
324
|
// Never discard the error body — it is the only account of why the bound
|
|
221
|
-
// this task exists to fix is not in force.
|
|
222
|
-
|
|
325
|
+
// this task exists to fix is not in force. Task 2382: on realagency,
|
|
326
|
+
// 2026-08-02 20:37:08.209Z, this line printed stderr alone, stderr was
|
|
327
|
+
// empty, and the call had taken 10.0 seconds. Both streams and the
|
|
328
|
+
// elapsed time, or the next failure is as mute as that one was.
|
|
329
|
+
deps.logger(`${TAG} op=slice-high-failed exitCode=${r.exitCode} ms=${elapsedMs} ` +
|
|
330
|
+
`stderr=${r.stderr.trim()} stdout=${r.stdout.trim()}`);
|
|
223
331
|
return;
|
|
224
332
|
}
|
|
225
333
|
deps.logger(formatSliceHighApplied(baselineKb, desiredKb, snap.sliceHighKb));
|
|
226
334
|
}
|
|
335
|
+
/** Task 2382 — the tier above reclaim. Returns true when it issued a stop,
|
|
336
|
+
* so the tick does not then reclaim as well: both tiers stop sessions and
|
|
337
|
+
* one per tick is the bound. Returning false when it merely declines is
|
|
338
|
+
* deliberate — a swap tier with no victim must not pre-empt the idle-oldest
|
|
339
|
+
* tier, which may well have one. */
|
|
340
|
+
function swapTier(snap) {
|
|
341
|
+
const highDelta = snap.sliceHighEvents !== null && prevHighEvents !== null
|
|
342
|
+
? snap.sliceHighEvents - prevHighEvents
|
|
343
|
+
: 0;
|
|
344
|
+
if (!shouldStopForSwap(snap.swapTotalKb, snap.swapFreeKb, snap.sliceHighEvents, prevHighEvents)) {
|
|
345
|
+
return false;
|
|
346
|
+
}
|
|
347
|
+
const victim = selectLargestVictim(snap.sessions, deps.watcher.all());
|
|
348
|
+
if (!victim) {
|
|
349
|
+
deps.logger(formatSwapNoVictim(snap.swapFreeKb, snap.swapTotalKb, highDelta, snap.live));
|
|
350
|
+
return false;
|
|
351
|
+
}
|
|
352
|
+
// From the census row rather than re-read: the snapshot is the measurement
|
|
353
|
+
// the decision was made on, and a second read would report a different
|
|
354
|
+
// number from the one that condemned the session.
|
|
355
|
+
const rssKb = snap.sessions.find((s) => s.sessionId === victim.sessionId)?.memKb ?? 0;
|
|
356
|
+
// Same two token sources as the reclaim: a session this manager spawned is
|
|
357
|
+
// in the tracker map, one that survived a manager restart is not and
|
|
358
|
+
// carries its token on the row.
|
|
359
|
+
const tracker = getPtyTrackerForTests(victim.sessionId);
|
|
360
|
+
const token = tracker ? tracker.scopeUnitToken : victim.scopeUnitToken;
|
|
361
|
+
const unit = token === null ? 'none' : scopeUnitName(token);
|
|
362
|
+
void stopSession({
|
|
363
|
+
killGraceMs: deps.killGraceMs,
|
|
364
|
+
logger: deps.logger,
|
|
365
|
+
runSystemctl: deps.runSystemctl,
|
|
366
|
+
rowScopeUnitToken: victim.scopeUnitToken,
|
|
367
|
+
rowPid: victim.pid,
|
|
368
|
+
}, victim.sessionId)
|
|
369
|
+
.then((outcome) => {
|
|
370
|
+
// Same rule as the reclaim: no scope resolved means no signal was sent,
|
|
371
|
+
// and the RAM a swap-kill line would claim to have freed is still held.
|
|
372
|
+
if (outcome.path === 'no-store-entry') {
|
|
373
|
+
deps.logger(`${TAG} op=swap-kill-no-op sessionId=${victim.sessionId} reason=no-scope-resolved ` +
|
|
374
|
+
`note=ram-still-held`);
|
|
375
|
+
return;
|
|
376
|
+
}
|
|
377
|
+
deps.logger(formatSwapKill({
|
|
378
|
+
sessionId: victim.sessionId,
|
|
379
|
+
unit,
|
|
380
|
+
rssKb,
|
|
381
|
+
swapFreeKb: snap.swapFreeKb,
|
|
382
|
+
swapTotalKb: snap.swapTotalKb,
|
|
383
|
+
highDelta,
|
|
384
|
+
}));
|
|
385
|
+
})
|
|
386
|
+
.catch((err) => {
|
|
387
|
+
deps.logger(`${TAG} op=swap-kill-failed sessionId=${victim.sessionId} ` +
|
|
388
|
+
`message=${err instanceof Error ? err.message : String(err)}`);
|
|
389
|
+
});
|
|
390
|
+
return true;
|
|
391
|
+
}
|
|
227
392
|
function reclaim(snap) {
|
|
228
393
|
if (snap.sysAvailKb >= RECLAIM_AT_KB)
|
|
229
394
|
return;
|
|
@@ -318,11 +483,29 @@ export function createSliceMemoryPolicy(deps) {
|
|
|
318
483
|
const heartbeatBaselineKb = snap.sliceAnonKb === null
|
|
319
484
|
? null
|
|
320
485
|
: resolveNonSessionBaselineKb(snap.sysTotalKb, snap.sysAvailKb, snap.sliceAnonKb);
|
|
486
|
+
// Task 2382 — swap and the throttle counter ride the same heartbeat.
|
|
487
|
+
// Without them the 2026-08-02 freeze had to be reconstructed from
|
|
488
|
+
// rss-sampler.log, because this line reported availMb RISING across the
|
|
489
|
+
// final four minutes while swap sat at 100%. swapTotalMb=0 renders as 0
|
|
490
|
+
// because no swap is a measured fact; "-" is reserved for a field that
|
|
491
|
+
// could not be read at all, which is a different claim.
|
|
492
|
+
const heartbeatHighDelta = snap.sliceHighEvents === null || prevHighEvents === null
|
|
493
|
+
? '-'
|
|
494
|
+
: String(snap.sliceHighEvents - prevHighEvents);
|
|
321
495
|
deps.logger(`${TAG} op=tick baselineMb=${heartbeatBaselineKb === null ? '-' : kbToMb(heartbeatBaselineKb)} ` +
|
|
322
496
|
`availMb=${kbToMb(snap.sysAvailKb)} totalMb=${kbToMb(snap.sysTotalKb)} ` +
|
|
323
|
-
`sliceAnonMb=${snap.sliceAnonKb === null ? '-' : kbToMb(snap.sliceAnonKb)}`
|
|
497
|
+
`sliceAnonMb=${snap.sliceAnonKb === null ? '-' : kbToMb(snap.sliceAnonKb)} ` +
|
|
498
|
+
`swapFreeMb=${kbToMb(snap.swapFreeKb)} swapTotalMb=${kbToMb(snap.swapTotalKb)} ` +
|
|
499
|
+
`highEvents=${snap.sliceHighEvents === null ? '-' : snap.sliceHighEvents} ` +
|
|
500
|
+
`highDelta=${heartbeatHighDelta}`);
|
|
324
501
|
sizeBound(snap);
|
|
325
|
-
|
|
502
|
+
// Task 2382 — swap exhaustion outranks the MemAvailable tiers, because it
|
|
503
|
+
// is the one condition none of them can see. A stop here pre-empts the
|
|
504
|
+
// reclaim below; a decline does not.
|
|
505
|
+
const stopped = swapTier(snap);
|
|
506
|
+
prevHighEvents = snap.sliceHighEvents;
|
|
507
|
+
if (!stopped)
|
|
508
|
+
reclaim(snap);
|
|
326
509
|
}
|
|
327
510
|
return {
|
|
328
511
|
tickOnce,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"slice-memory-policy.js","sourceRoot":"","sources":["../src/slice-memory-policy.ts"],"names":[],"mappings":"AAAA,sEAAsE;AACtE,kDAAkD;AAClD,EAAE;AACF,8EAA8E;AAC9E,6EAA6E;AAC7E,6EAA6E;AAC7E,oEAAoE;AACpE,6EAA6E;AAC7E,4EAA4E;AAC5E,2EAA2E;AAC3E,8EAA8E;AAC9E,0EAA0E;AAC1E,8EAA8E;AAC9E,MAAM;AACN,EAAE;AACF,0EAA0E;AAC1E,+EAA+E;AAC/E,+EAA+E;AAC/E,8DAA8D;AAC9D,EAAE;AACF,8EAA8E;AAC9E,yEAAyE;AACzE,+EAA+E;AAC/E,4EAA4E;AAC5E,6EAA6E;AAC7E,8EAA8E;AAC9E,gFAAgF;AAChF,qDAAqD;AACrD,EAAE;AACF,mDAAmD;AACnD,6EAA6E;AAC7E,0EAA0E;AAC1E,oEAAoE;AACpE,uCAAuC;AACvC,EAAE;AACF,8EAA8E;AAC9E,gFAAgF;AAChF,wDAAwD;AAExD,OAAO,EAAE,gBAAgB,EAAuC,MAAM,iBAAiB,CAAA;AACvF,OAAO,EACL,iBAAiB,EACjB,aAAa,EACb,sBAAsB,GAEvB,MAAM,oBAAoB,CAAA;AAC3B,OAAO,EAAE,WAAW,EAAE,qBAAqB,EAAE,MAAM,kBAAkB,CAAA;AAGrE;;;mBAGmB;AACnB,MAAM,CAAC,MAAM,aAAa,GAAG,CAAC,GAAG,IAAI,GAAG,IAAI,CAAA;AAE5C;wEACwE;AACxE,MAAM,CAAC,MAAM,kBAAkB,GAAG,CAAC,GAAG,IAAI,GAAG,IAAI,CAAA;AAEjD;0EAC0E;AAC1E,MAAM,CAAC,MAAM,aAAa,GAAG,CAAC,GAAG,IAAI,GAAG,IAAI,CAAA;AAE5C;wDACwD;AACxD,MAAM,CAAC,MAAM,iBAAiB,GAAG,CAAC,GAAG,IAAI,GAAG,IAAI,CAAA;AAEhD;;;+CAG+C;AAC/C,MAAM,CAAC,MAAM,WAAW,GAAG,EAAE,GAAG,EAAE,GAAG,IAAI,CAAA;AAEzC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;wEAiCwE;AACxE,MAAM,UAAU,2BAA2B,CACzC,UAAkB,EAClB,UAAkB,EAClB,WAAmB;IAEnB,OAAO,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,UAAU,GAAG,UAAU,GAAG,WAAW,CAAC,CAAA;AAC3D,CAAC;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8DA+B8D;AAC9D,MAAM,UAAU,wBAAwB,CACtC,UAAkB,EAClB,YAAoB,EACpB,QAAgB;IAEhB,OAAO,IAAI,CAAC,GAAG,CAAC,iBAAiB,EAAE,UAAU,GAAG,YAAY,GAAG,QAAQ,CAAC,CAAA;AAC1E,CAAC;AAED;;;sEAGsE;AACtE,MAAM,UAAU,qBAAqB,CAAC,SAAiB,EAAE,SAAwB;IAC/E,IAAI,SAAS,KAAK,IAAI;QAAE,OAAO,IAAI,CAAA;IACnC,OAAO,IAAI,CAAC,GAAG,CAAC,SAAS,GAAG,SAAS,CAAC,GAAG,aAAa,CAAA;AACxD,CAAC;AAED;;;;;;;;;;;;;sEAasE;AACtE,MAAM,UAAU,YAAY,CAC1B,IAA2B,EAC3B,KAAa,EACb,SAAiB;IAEjB,MAAM,UAAU,GAAG,IAAI,CAAC,MAAM,CAC5B,CAAC,CAAC,EAAE,EAAE,CACJ,CAAC,CAAC,KAAK,KAAK,IAAI;QAChB,CAAC,CAAC,KAAK,KAAK,MAAM;QAClB,CAAC,CAAC,MAAM,KAAK,MAAM;QACnB,KAAK,GAAG,CAAC,CAAC,SAAS,GAAG,SAAS,CAClC,CAAA;IACD,IAAI,UAAU,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,IAAI,CAAA;IACxC,OAAO,UAAU,CAAC,MAAM,CAAC,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,SAAS,GAAG,MAAM,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAA;AACxF,CAAC;AAED,MAAM,GAAG,GAAG,mBAAmB,CAAA;AAE/B,MAAM,MAAM,GAAG,CAAC,EAAU,EAAU,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,GAAG,IAAI,CAAC,CAAA;AAa5D;mDACmD;AACnD,MAAM,UAAU,aAAa,CAAC,CAAc;IAC1C,OAAO,CACL,GAAG,GAAG,wBAAwB,CAAC,CAAC,SAAS,SAAS,CAAC,CAAC,IAAI,YAAY,CAAC,CAAC,MAAM,GAAG;QAC/E,cAAc,MAAM,CAAC,CAAC,CAAC,UAAU,CAAC,gBAAgB,MAAM,CAAC,CAAC,CAAC,WAAW,CAAC,GAAG;QAC1E,WAAW,CAAC,CAAC,OAAO,KAAK,IAAI,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,OAAO,CAAC,yBAAyB,CACvF,CAAA;AACH,CAAC;AAED;2DAC2D;AAC3D,MAAM,UAAU,sBAAsB,CAAC,UAAkB,EAAE,WAAmB;IAC5E,OAAO,GAAG,GAAG,wBAAwB,MAAM,CAAC,UAAU,CAAC,gBAAgB,MAAM,CAAC,WAAW,CAAC,cAAc,CAAA;AAC1G,CAAC;AAED;8CAC8C;AAC9C,MAAM,UAAU,sBAAsB,CACpC,UAAkB,EAClB,MAAc,EACd,UAAyB;IAEzB,OAAO,CACL,GAAG,GAAG,kCAAkC,MAAM,CAAC,UAAU,CAAC,WAAW,MAAM,CAAC,MAAM,CAAC,GAAG;QACtF,cAAc,UAAU,KAAK,IAAI,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,UAAU,CAAC,EAAE,CAClE,CAAA;AACH,CAAC;AAuBD,MAAM,UAAU,uBAAuB,CAAC,IAA2B;IACjE,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC,CAAA;IAC1C,0EAA0E;IAC1E,4EAA4E;IAC5E,4EAA4E;IAC5E,wEAAwE;IACxE,MAAM,OAAO,GAAG,IAAI,CAAC,OAAO,IAAI,CAAC,GAAG,EAAE,CAAC,gBAAgB,EAAE,CAAC,QAAQ,CAAC,CAAA;IACnE,MAAM,YAAY,GAAG,IAAI,CAAC,YAAY,IAAI,sBAAsB,CAAA;IAChE,IAAI,KAAK,GAA0B,IAAI,CAAA;IAEvC,SAAS,SAAS,CAAC,IAAuB;QACxC,yEAAyE;QACzE,qEAAqE;QACrE,yEAAyE;QACzE,IAAI,IAAI,CAAC,WAAW,KAAK,IAAI;YAAE,OAAM;QACrC,MAAM,UAAU,GAAG,2BAA2B,CAC5C,IAAI,CAAC,UAAU,EACf,IAAI,CAAC,UAAU,EACf,IAAI,CAAC,WAAW,CACjB,CAAA;QACD,MAAM,SAAS,GAAG,wBAAwB,CAAC,IAAI,CAAC,UAAU,EAAE,UAAU,EAAE,kBAAkB,CAAC,CAAA;QAC3F,qEAAqE;QACrE,wEAAwE;QACxE,yEAAyE;QACzE,sEAAsE;QACtE,4EAA4E;QAC5E,qEAAqE;QACrE,iEAAiE;QACjE,sEAAsE;QACtE,2BAA2B;QAC3B,IAAI,CAAC,qBAAqB,CAAC,SAAS,EAAE,IAAI,CAAC,WAAW,CAAC;YAAE,OAAM;QAC/D,MAAM,CAAC,GAAG,YAAY,CAAC;YACrB,QAAQ;YACR,cAAc;YACd,iBAAiB;YACjB,cAAc,MAAM,CAAC,SAAS,CAAC,GAAG;SACnC,CAAC,CAAA;QACF,IAAI,CAAC,CAAC,QAAQ,KAAK,CAAC,EAAE,CAAC;YACrB,yEAAyE;YACzE,2CAA2C;YAC3C,IAAI,CAAC,MAAM,CAAC,GAAG,GAAG,kCAAkC,CAAC,CAAC,QAAQ,WAAW,CAAC,CAAC,MAAM,CAAC,IAAI,EAAE,EAAE,CAAC,CAAA;YAC3F,OAAM;QACR,CAAC;QACD,IAAI,CAAC,MAAM,CAAC,sBAAsB,CAAC,UAAU,EAAE,SAAS,EAAE,IAAI,CAAC,WAAW,CAAC,CAAC,CAAA;IAC9E,CAAC;IAED,SAAS,OAAO,CAAC,IAAuB;QACtC,IAAI,IAAI,CAAC,UAAU,IAAI,aAAa;YAAE,OAAM;QAC5C,MAAM,MAAM,GAAG,YAAY,CAAC,IAAI,CAAC,OAAO,CAAC,GAAG,EAAE,EAAE,GAAG,EAAE,EAAE,WAAW,CAAC,CAAA;QACnE,IAAI,CAAC,MAAM,EAAE,CAAC;YACZ,IAAI,CAAC,MAAM,CAAC,sBAAsB,CAAC,IAAI,CAAC,UAAU,EAAE,aAAa,CAAC,CAAC,CAAA;YACnE,OAAM;QACR,CAAC;QACD,2EAA2E;QAC3E,4EAA4E;QAC5E,0EAA0E;QAC1E,sEAAsE;QACtE,uEAAuE;QACvE,yEAAyE;QACzE,wEAAwE;QACxE,mCAAmC;QACnC,MAAM,OAAO,GAAG,qBAAqB,CAAC,MAAM,CAAC,SAAS,CAAC,CAAA;QACvD,MAAM,KAAK,GAAG,OAAO,CAAC,CAAC,CAAC,OAAO,CAAC,cAAc,CAAC,CAAC,CAAC,MAAM,CAAC,cAAc,CAAA;QACtE,MAAM,IAAI,GAAG,KAAK,KAAK,IAAI,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,aAAa,CAAC,KAAK,CAAC,CAAA;QAC3D,MAAM,MAAM,GAAG,GAAG,EAAE,GAAG,MAAM,CAAC,SAAS,CAAA;QACvC,sEAAsE;QACtE,oEAAoE;QACpE,yEAAyE;QACzE,2EAA2E;QAC3E,kEAAkE;QAClE,KAAK,WAAW,CACd;YACE,WAAW,EAAE,IAAI,CAAC,WAAW;YAC7B,MAAM,EAAE,IAAI,CAAC,MAAM;YACnB,YAAY,EAAE,IAAI,CAAC,YAAY;YAC/B,iBAAiB,EAAE,MAAM,CAAC,cAAc;YACxC,MAAM,EAAE,MAAM,CAAC,GAAG;SACnB,EACD,MAAM,CAAC,SAAS,CACjB;aACE,IAAI,CAAC,CAAC,OAAO,EAAE,EAAE;YAChB,wEAAwE;YACxE,oEAAoE;YACpE,qEAAqE;YACrE,oEAAoE;YACpE,gEAAgE;YAChE,IAAI,OAAO,CAAC,IAAI,KAAK,gBAAgB,EAAE,CAAC;gBACtC,IAAI,CAAC,MAAM,CACT,GAAG,GAAG,+BAA+B,MAAM,CAAC,SAAS,4BAA4B;oBAC/E,cAAc,MAAM,CAAC,IAAI,CAAC,UAAU,CAAC,sBAAsB,CAC9D,CAAA;gBACD,OAAM;YACR,CAAC;YACD,IAAI,CAAC,MAAM,CACT,aAAa,CAAC;gBACZ,SAAS,EAAE,MAAM,CAAC,SAAS;gBAC3B,IAAI;gBACJ,MAAM;gBACN,UAAU,EAAE,IAAI,CAAC,UAAU;gBAC3B,WAAW,EAAE,aAAa;gBAC1B,OAAO,EAAE,IAAI,CAAC,OAAO;aACtB,CAAC,CACH,CAAA;QACH,CAAC,CAAC;aACD,KAAK,CAAC,CAAC,GAAG,EAAE,EAAE;YACb,IAAI,CAAC,MAAM,CACT,GAAG,GAAG,gCAAgC,MAAM,CAAC,SAAS,GAAG;gBACvD,WAAW,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE,CAChE,CAAA;QACH,CAAC,CAAC,CAAA;IACN,CAAC;IAED,SAAS,QAAQ;QACf,MAAM,IAAI,GAAG,OAAO,EAAE,CAAA;QACtB,2CAA2C;QAC3C,EAAE;QACF,wEAAwE;QACxE,qEAAqE;QACrE,2EAA2E;QAC3E,gCAAgC;QAChC,EAAE;QACF,4DAA4D;QAC5D,6CAA6C;QAC7C,gEAAgE;QAChE,0EAA0E;QAC1E,EAAE;QACF,2EAA2E;QAC3E,0EAA0E;QAC1E,yEAAyE;QACzE,0EAA0E;QAC1E,4EAA4E;QAC5E,yEAAyE;QACzE,kDAAkD;QAClD,IAAI,IAAI,CAAC,UAAU,IAAI,CAAC,IAAI,IAAI,CAAC,UAAU,IAAI,CAAC,EAAE,CAAC;YACjD,IAAI,CAAC,MAAM,CACT,GAAG,GAAG,oCAAoC,IAAI,CAAC,UAAU,eAAe,IAAI,CAAC,UAAU,cAAc,CACtG,CAAA;YACD,OAAM;QACR,CAAC;QACD,4EAA4E;QAC5E,yEAAyE;QACzE,2EAA2E;QAC3E,yEAAyE;QACzE,oEAAoE;QACpE,4EAA4E;QAC5E,4EAA4E;QAC5E,wEAAwE;QACxE,wEAAwE;QACxE,MAAM,mBAAmB,GACvB,IAAI,CAAC,WAAW,KAAK,IAAI;YACvB,CAAC,CAAC,IAAI;YACN,CAAC,CAAC,2BAA2B,CAAC,IAAI,CAAC,UAAU,EAAE,IAAI,CAAC,UAAU,EAAE,IAAI,CAAC,WAAW,CAAC,CAAA;QACrF,IAAI,CAAC,MAAM,CACT,GAAG,GAAG,uBAAuB,mBAAmB,KAAK,IAAI,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,MAAM,CAAC,mBAAmB,CAAC,GAAG;YAC9F,WAAW,MAAM,CAAC,IAAI,CAAC,UAAU,CAAC,YAAY,MAAM,CAAC,IAAI,CAAC,UAAU,CAAC,GAAG;YACxE,eAAe,IAAI,CAAC,WAAW,KAAK,IAAI,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,WAAW,CAAC,EAAE,CAC9E,CAAA;QAED,SAAS,CAAC,IAAI,CAAC,CAAA;QACf,OAAO,CAAC,IAAI,CAAC,CAAA;IACf,CAAC;IAED,OAAO;QACL,QAAQ;QACR,KAAK;YACH,IAAI,KAAK;gBAAE,OAAM;YACjB,KAAK,GAAG,WAAW,CAAC,GAAG,EAAE;gBACvB,IAAI,CAAC;oBACH,QAAQ,EAAE,CAAA;gBACZ,CAAC;gBAAC,OAAO,GAAG,EAAE,CAAC;oBACb,IAAI,CAAC,MAAM,CACT,GAAG,GAAG,2BAA2B,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE,CACpF,CAAA;gBACH,CAAC;YACH,CAAC,EAAE,IAAI,CAAC,UAAU,CAAC,CAAA;YACnB,IAAI,OAAO,KAAK,CAAC,KAAK,KAAK,UAAU;gBAAE,KAAK,CAAC,KAAK,EAAE,CAAA;YACpD,IAAI,CAAC,MAAM,CACT,GAAG,GAAG,iCAAiC,IAAI,CAAC,UAAU,gBAAgB,MAAM,CAAC,aAAa,CAAC,cAAc,WAAW,EAAE,CACvH,CAAA;QACH,CAAC;QACD,IAAI;YACF,IAAI,KAAK,EAAE,CAAC;gBACV,aAAa,CAAC,KAAK,CAAC,CAAA;gBACpB,KAAK,GAAG,IAAI,CAAA;YACd,CAAC;QACH,CAAC;KACF,CAAA;AACH,CAAC"}
|
|
1
|
+
{"version":3,"file":"slice-memory-policy.js","sourceRoot":"","sources":["../src/slice-memory-policy.ts"],"names":[],"mappings":"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"}
|