@lossless-claude/lcm 0.3.2 → 0.4.2
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/.claude-plugin/commands/lcm-compact.md +7 -7
- package/.claude-plugin/commands/lcm-curate.md +8 -6
- package/.claude-plugin/commands/lcm-import.md +4 -2
- package/.claude-plugin/commands/lcm-promote.md +6 -4
- package/.claude-plugin/marketplace.json +1 -1
- package/.claude-plugin/plugin.json +1 -1
- package/README.md +1 -1
- package/dist/bin/lcm.js +88 -8
- package/dist/bin/lcm.js.map +1 -1
- package/dist/src/batch-compact.d.ts +4 -2
- package/dist/src/batch-compact.js +7 -5
- package/dist/src/batch-compact.js.map +1 -1
- package/dist/src/cli-help.d.ts +8 -0
- package/dist/src/cli-help.js +333 -0
- package/dist/src/cli-help.js.map +1 -0
- package/dist/src/compaction.d.ts +5 -1
- package/dist/src/compaction.js +9 -0
- package/dist/src/compaction.js.map +1 -1
- package/dist/src/daemon/config.js +3 -0
- package/dist/src/daemon/config.js.map +1 -1
- package/dist/src/daemon/routes/compact.js +16 -2
- package/dist/src/daemon/routes/compact.js.map +1 -1
- package/dist/src/diagnose.js +2 -2
- package/dist/src/diagnose.js.map +1 -1
- package/dist/src/import.d.ts +2 -0
- package/dist/src/import.js +67 -12
- package/dist/src/import.js.map +1 -1
- package/package.json +1 -1
|
@@ -13,19 +13,19 @@ Compact unprocessed conversation messages into summarized DAG nodes.
|
|
|
13
13
|
Run the following command via Bash:
|
|
14
14
|
|
|
15
15
|
```bash
|
|
16
|
-
lcm compact
|
|
16
|
+
lcm compact
|
|
17
17
|
```
|
|
18
18
|
|
|
19
19
|
### Options
|
|
20
20
|
|
|
21
|
-
|
|
22
|
-
- `--
|
|
21
|
+
Pass user-specified flags through to the command:
|
|
22
|
+
- `--all` — Compact all projects (default: current project only). Forces batch compaction mode regardless of TTY environment, ensuring reliable behavior in automated tools.
|
|
23
23
|
- `--dry-run` — Preview without writing
|
|
24
|
+
- `--replay` — Re-compact sessions that already have summaries (by default, already-compacted sessions are skipped)
|
|
24
25
|
|
|
25
26
|
For example:
|
|
26
|
-
- `/lcm-compact --
|
|
27
|
-
- `/lcm-compact --dry-run` → `lcm compact --
|
|
27
|
+
- `/lcm-compact --all` → `lcm compact --all`
|
|
28
|
+
- `/lcm-compact --dry-run` → `lcm compact --dry-run`
|
|
29
|
+
- `/lcm-compact --replay` → `lcm compact --replay`
|
|
28
30
|
|
|
29
31
|
Display the output verbatim.
|
|
30
|
-
|
|
31
|
-
**Note:** `lcm compact` without `--all` falls through to hook dispatch (PreCompact). This command always uses the batch path with `--all`.
|
|
@@ -13,18 +13,20 @@ Run the full memory curation pipeline: import, compact, and promote.
|
|
|
13
13
|
Run the following commands sequentially via Bash:
|
|
14
14
|
|
|
15
15
|
```bash
|
|
16
|
-
lcm import
|
|
16
|
+
lcm import && lcm compact && lcm promote
|
|
17
17
|
```
|
|
18
18
|
|
|
19
19
|
### Options
|
|
20
20
|
|
|
21
|
-
|
|
22
|
-
- `--
|
|
23
|
-
- `--
|
|
21
|
+
Pass user-specified flags through to the commands that support them:
|
|
22
|
+
- `--all` — Process all projects (default: current project only); applies to all three commands
|
|
23
|
+
- `--verbose` — Show per-step details; applies to `import` and `promote` only (compact does not support `--verbose`)
|
|
24
|
+
- `--dry-run` — Preview without writing; applies to all three commands
|
|
24
25
|
|
|
25
26
|
For example:
|
|
26
|
-
- `/lcm-curate --
|
|
27
|
-
- `/lcm-curate --
|
|
27
|
+
- `/lcm-curate --all` → `lcm import --all && lcm compact --all && lcm promote --all`
|
|
28
|
+
- `/lcm-curate --all --verbose` → `lcm import --all --verbose && lcm compact --all && lcm promote --all --verbose`
|
|
29
|
+
- `/lcm-curate --dry-run` → `lcm import --dry-run && lcm compact --dry-run && lcm promote --dry-run`
|
|
28
30
|
|
|
29
31
|
The pipeline stops on the first failure and reports the result.
|
|
30
32
|
|
|
@@ -19,18 +19,20 @@ lcm import
|
|
|
19
19
|
### Options
|
|
20
20
|
|
|
21
21
|
If the user specifies options, append them to the command:
|
|
22
|
-
- `--all` — Import all projects
|
|
22
|
+
- `--all` — Import all projects instead of just the current project
|
|
23
23
|
- `--verbose` — Show per-session details
|
|
24
24
|
- `--dry-run` — Preview without writing
|
|
25
|
+
- `--replay` — Re-import all sessions in chronological order and compact each one immediately, threading context between sessions to build a temporal summary DAG. Use to rebuild memory from scratch.
|
|
25
26
|
|
|
26
27
|
For example:
|
|
27
28
|
- `/lcm-import --all` → `lcm import --all`
|
|
28
29
|
- `/lcm-import --all --verbose` → `lcm import --all --verbose`
|
|
29
30
|
- `/lcm-import --dry-run` → `lcm import --dry-run`
|
|
31
|
+
- `/lcm-import --replay` → `lcm import --replay`
|
|
30
32
|
|
|
31
33
|
Display the output verbatim.
|
|
32
34
|
|
|
33
|
-
After importing, suggest running `lcm compact
|
|
35
|
+
After importing, suggest running `lcm compact` to summarize the imported sessions (or `lcm compact --all` if `--all` was used with import). Note: when `--replay` is used, compaction is performed inline — no separate compact step is needed.
|
|
34
36
|
|
|
35
37
|
## When to use
|
|
36
38
|
|
|
@@ -13,17 +13,19 @@ Promote durable insights from summaries into cross-session memory.
|
|
|
13
13
|
Run the following command via Bash:
|
|
14
14
|
|
|
15
15
|
```bash
|
|
16
|
-
lcm promote
|
|
16
|
+
lcm promote
|
|
17
17
|
```
|
|
18
18
|
|
|
19
19
|
### Options
|
|
20
20
|
|
|
21
|
-
|
|
21
|
+
Pass user-specified flags through to the command:
|
|
22
|
+
- `--all` — Promote across all projects (default: current project only)
|
|
22
23
|
- `--verbose` — Show per-conversation details
|
|
23
24
|
- `--dry-run` — Preview without writing
|
|
24
25
|
|
|
25
26
|
For example:
|
|
26
|
-
- `/lcm-promote --
|
|
27
|
-
- `/lcm-promote --
|
|
27
|
+
- `/lcm-promote --all` → `lcm promote --all`
|
|
28
|
+
- `/lcm-promote --verbose` → `lcm promote --verbose`
|
|
29
|
+
- `/lcm-promote --dry-run` → `lcm promote --dry-run`
|
|
28
30
|
|
|
29
31
|
Display the output verbatim.
|
package/README.md
CHANGED
package/dist/bin/lcm.js
CHANGED
|
@@ -14,7 +14,7 @@ function readStdin() {
|
|
|
14
14
|
}
|
|
15
15
|
async function main() {
|
|
16
16
|
// Handle flags before switch
|
|
17
|
-
if (command === "--version" || command === "-
|
|
17
|
+
if (command === "--version" || command === "-V") {
|
|
18
18
|
const { readFileSync } = await import("node:fs");
|
|
19
19
|
const { join, dirname } = await import("node:path");
|
|
20
20
|
const { fileURLToPath } = await import("node:url");
|
|
@@ -23,8 +23,20 @@ async function main() {
|
|
|
23
23
|
stdout.write(pkg.version + "\n");
|
|
24
24
|
exit(0);
|
|
25
25
|
}
|
|
26
|
+
if (command === "--help" || command === "-h" || command === "help") {
|
|
27
|
+
const { printHelp } = await import("../src/cli-help.js");
|
|
28
|
+
// 'lcm help compact' or 'lcm compact --help' both show per-command help
|
|
29
|
+
const subcommand = argv[3] ?? undefined;
|
|
30
|
+
printHelp(subcommand);
|
|
31
|
+
exit(0);
|
|
32
|
+
}
|
|
26
33
|
switch (command) {
|
|
27
34
|
case "daemon": {
|
|
35
|
+
if (argv.includes("--help") || argv.includes("-h")) {
|
|
36
|
+
const { printHelp } = await import("../src/cli-help.js");
|
|
37
|
+
printHelp("daemon");
|
|
38
|
+
exit(0);
|
|
39
|
+
}
|
|
28
40
|
if (argv[3] === "start") {
|
|
29
41
|
if (argv.includes("--detach")) {
|
|
30
42
|
const { spawn } = await import("node:child_process");
|
|
@@ -58,7 +70,15 @@ async function main() {
|
|
|
58
70
|
break;
|
|
59
71
|
}
|
|
60
72
|
case "compact": {
|
|
61
|
-
if (argv.includes("--
|
|
73
|
+
if (argv.includes("--help") || argv.includes("-h")) {
|
|
74
|
+
const { printHelp } = await import("../src/cli-help.js");
|
|
75
|
+
printHelp("compact");
|
|
76
|
+
exit(0);
|
|
77
|
+
}
|
|
78
|
+
const all = argv.includes("--all");
|
|
79
|
+
// Interactive batch compact: --all (all projects) or TTY stdin (current project only).
|
|
80
|
+
// If stdin is piped (hook invocation), fall through to hook dispatch.
|
|
81
|
+
if (all || process.stdin.isTTY) {
|
|
62
82
|
const { batchCompact } = await import("../src/batch-compact.js");
|
|
63
83
|
const { loadDaemonConfig } = await import("../src/daemon/config.js");
|
|
64
84
|
const { join } = await import("node:path");
|
|
@@ -73,12 +93,14 @@ async function main() {
|
|
|
73
93
|
exit(1);
|
|
74
94
|
}
|
|
75
95
|
const dryRun = argv.includes("--dry-run");
|
|
96
|
+
const replay = argv.includes("--replay");
|
|
76
97
|
const minTokens = config.compaction.autoCompactMinTokens;
|
|
77
|
-
|
|
98
|
+
const cwd = all ? undefined : process.cwd();
|
|
99
|
+
await batchCompact({ minTokens, dryRun, port, cwd, replay });
|
|
78
100
|
break;
|
|
79
101
|
}
|
|
80
102
|
}
|
|
81
|
-
// falls through to hook dispatch
|
|
103
|
+
// falls through to hook dispatch (piped stdin = PreCompact hook invocation)
|
|
82
104
|
case "restore":
|
|
83
105
|
case "session-end":
|
|
84
106
|
case "user-prompt": {
|
|
@@ -96,6 +118,11 @@ async function main() {
|
|
|
96
118
|
break;
|
|
97
119
|
}
|
|
98
120
|
case "install": {
|
|
121
|
+
if (argv.includes("--help") || argv.includes("-h")) {
|
|
122
|
+
const { printHelp } = await import("../src/cli-help.js");
|
|
123
|
+
printHelp("install");
|
|
124
|
+
exit(0);
|
|
125
|
+
}
|
|
99
126
|
const dryRun = argv.includes("--dry-run");
|
|
100
127
|
const { install } = await import("../installer/install.js");
|
|
101
128
|
if (dryRun) {
|
|
@@ -110,6 +137,11 @@ async function main() {
|
|
|
110
137
|
break;
|
|
111
138
|
}
|
|
112
139
|
case "uninstall": {
|
|
140
|
+
if (argv.includes("--help") || argv.includes("-h")) {
|
|
141
|
+
const { printHelp } = await import("../src/cli-help.js");
|
|
142
|
+
printHelp("uninstall");
|
|
143
|
+
exit(0);
|
|
144
|
+
}
|
|
113
145
|
const dryRun = argv.includes("--dry-run");
|
|
114
146
|
const { uninstall } = await import("../installer/uninstall.js");
|
|
115
147
|
if (dryRun) {
|
|
@@ -124,6 +156,11 @@ async function main() {
|
|
|
124
156
|
break;
|
|
125
157
|
}
|
|
126
158
|
case "status": {
|
|
159
|
+
if (argv.includes("--help") || argv.includes("-h")) {
|
|
160
|
+
const { printHelp } = await import("../src/cli-help.js");
|
|
161
|
+
printHelp("status");
|
|
162
|
+
exit(0);
|
|
163
|
+
}
|
|
127
164
|
const { loadDaemonConfig } = await import("../src/daemon/config.js");
|
|
128
165
|
const { join } = await import("node:path");
|
|
129
166
|
const { homedir } = await import("node:os");
|
|
@@ -186,12 +223,22 @@ async function main() {
|
|
|
186
223
|
break;
|
|
187
224
|
}
|
|
188
225
|
case "stats": {
|
|
226
|
+
if (argv.includes("--help") || argv.includes("-h")) {
|
|
227
|
+
const { printHelp } = await import("../src/cli-help.js");
|
|
228
|
+
printHelp("stats");
|
|
229
|
+
exit(0);
|
|
230
|
+
}
|
|
189
231
|
const verbose = argv.includes("--verbose") || argv.includes("-v");
|
|
190
232
|
const { collectStats, printStats } = await import("../src/stats.js");
|
|
191
233
|
printStats(collectStats(), verbose);
|
|
192
234
|
break;
|
|
193
235
|
}
|
|
194
236
|
case "doctor": {
|
|
237
|
+
if (argv.includes("--help") || argv.includes("-h")) {
|
|
238
|
+
const { printHelp } = await import("../src/cli-help.js");
|
|
239
|
+
printHelp("doctor");
|
|
240
|
+
exit(0);
|
|
241
|
+
}
|
|
195
242
|
const { runDoctor, printResults } = await import("../src/doctor/doctor.js");
|
|
196
243
|
const results = await runDoctor();
|
|
197
244
|
printResults(results);
|
|
@@ -200,6 +247,11 @@ async function main() {
|
|
|
200
247
|
break;
|
|
201
248
|
}
|
|
202
249
|
case "diagnose": {
|
|
250
|
+
if (argv.includes("--help") || argv.includes("-h")) {
|
|
251
|
+
const { printHelp } = await import("../src/cli-help.js");
|
|
252
|
+
printHelp("diagnose");
|
|
253
|
+
exit(0);
|
|
254
|
+
}
|
|
203
255
|
const all = argv.includes("--all");
|
|
204
256
|
const verbose = argv.includes("--verbose");
|
|
205
257
|
const json = argv.includes("--json");
|
|
@@ -221,6 +273,11 @@ async function main() {
|
|
|
221
273
|
break;
|
|
222
274
|
}
|
|
223
275
|
case "connectors": {
|
|
276
|
+
if (argv.includes("--help") || argv.includes("-h")) {
|
|
277
|
+
const { printHelp } = await import("../src/cli-help.js");
|
|
278
|
+
printHelp("connectors");
|
|
279
|
+
exit(0);
|
|
280
|
+
}
|
|
224
281
|
const sub = argv[3];
|
|
225
282
|
switch (sub) {
|
|
226
283
|
case "list": {
|
|
@@ -340,6 +397,11 @@ async function main() {
|
|
|
340
397
|
break;
|
|
341
398
|
}
|
|
342
399
|
case "sensitive": {
|
|
400
|
+
if (argv.includes("--help") || argv.includes("-h")) {
|
|
401
|
+
const { printHelp } = await import("../src/cli-help.js");
|
|
402
|
+
printHelp("sensitive");
|
|
403
|
+
exit(0);
|
|
404
|
+
}
|
|
343
405
|
const { handleSensitive } = await import("../src/sensitive.js");
|
|
344
406
|
const { join } = await import("node:path");
|
|
345
407
|
const { homedir } = await import("node:os");
|
|
@@ -351,9 +413,15 @@ async function main() {
|
|
|
351
413
|
break;
|
|
352
414
|
}
|
|
353
415
|
case "import": {
|
|
416
|
+
if (argv.includes("--help") || argv.includes("-h")) {
|
|
417
|
+
const { printHelp } = await import("../src/cli-help.js");
|
|
418
|
+
printHelp("import");
|
|
419
|
+
exit(0);
|
|
420
|
+
}
|
|
354
421
|
const all = argv.includes("--all");
|
|
355
422
|
const verbose = argv.includes("--verbose");
|
|
356
423
|
const dryRun = argv.includes("--dry-run");
|
|
424
|
+
const replay = argv.includes("--replay");
|
|
357
425
|
const { ensureDaemon } = await import("../src/daemon/lifecycle.js");
|
|
358
426
|
const { DaemonClient } = await import("../src/daemon/client.js");
|
|
359
427
|
const { loadDaemonConfig } = await import("../src/daemon/config.js");
|
|
@@ -370,7 +438,7 @@ async function main() {
|
|
|
370
438
|
}
|
|
371
439
|
const client = new DaemonClient(`http://127.0.0.1:${port}`);
|
|
372
440
|
console.log(`\n Importing Claude Code sessions${all ? " (all projects)" : ""}...\n`);
|
|
373
|
-
const result = await importSessions(client, { all, verbose, dryRun });
|
|
441
|
+
const result = await importSessions(client, { all, verbose, dryRun, replay });
|
|
374
442
|
if (dryRun)
|
|
375
443
|
console.log(" [dry-run] No changes written.\n");
|
|
376
444
|
console.log(` ${result.imported} sessions imported (${result.totalMessages} messages)`);
|
|
@@ -378,10 +446,17 @@ async function main() {
|
|
|
378
446
|
console.log(` ${result.skippedEmpty} skipped (empty transcript)`);
|
|
379
447
|
if (result.failed > 0)
|
|
380
448
|
console.log(` ${result.failed} failed`);
|
|
449
|
+
if (replay)
|
|
450
|
+
console.log(" [replay] Sessions compacted sequentially with threaded context.\n");
|
|
381
451
|
console.log();
|
|
382
452
|
break;
|
|
383
453
|
}
|
|
384
454
|
case "promote": {
|
|
455
|
+
if (argv.includes("--help") || argv.includes("-h")) {
|
|
456
|
+
const { printHelp } = await import("../src/cli-help.js");
|
|
457
|
+
printHelp("promote");
|
|
458
|
+
exit(0);
|
|
459
|
+
}
|
|
385
460
|
const all = argv.includes("--all");
|
|
386
461
|
const verbose = argv.includes("--verbose");
|
|
387
462
|
const dryRun = argv.includes("--dry-run");
|
|
@@ -452,9 +527,14 @@ async function main() {
|
|
|
452
527
|
console.log();
|
|
453
528
|
break;
|
|
454
529
|
}
|
|
455
|
-
default:
|
|
456
|
-
|
|
457
|
-
|
|
530
|
+
default: {
|
|
531
|
+
const { printHelp } = await import("../src/cli-help.js");
|
|
532
|
+
if (command) {
|
|
533
|
+
process.stderr.write(`lcm: unknown command '${command}'\n\n`);
|
|
534
|
+
}
|
|
535
|
+
printHelp();
|
|
536
|
+
exit(command ? 1 : 0);
|
|
537
|
+
}
|
|
458
538
|
}
|
|
459
539
|
}
|
|
460
540
|
main().catch((err) => { console.error(err); exit(1); });
|
package/dist/bin/lcm.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"lcm.js","sourceRoot":"","sources":["../../bin/lcm.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"lcm.js","sourceRoot":"","sources":["../../bin/lcm.ts"],"names":[],"mappings":"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"}
|
|
@@ -6,11 +6,13 @@ export interface UncompactedConversation {
|
|
|
6
6
|
messages: number;
|
|
7
7
|
tokens: number;
|
|
8
8
|
}
|
|
9
|
-
/** Find
|
|
10
|
-
export declare function findUncompacted(minTokens: number, readOnly?: boolean): UncompactedConversation[];
|
|
9
|
+
/** Find conversations eligible for compaction, above the token threshold. */
|
|
10
|
+
export declare function findUncompacted(minTokens: number, readOnly?: boolean, cwdFilter?: string, replay?: boolean): UncompactedConversation[];
|
|
11
11
|
/** Compact all uncompacted conversations above threshold via the daemon. */
|
|
12
12
|
export declare function batchCompact(opts: {
|
|
13
13
|
minTokens: number;
|
|
14
14
|
dryRun: boolean;
|
|
15
15
|
port: number;
|
|
16
|
+
cwd?: string;
|
|
17
|
+
replay?: boolean;
|
|
16
18
|
}): Promise<void>;
|
|
@@ -3,8 +3,8 @@ import { join } from "node:path";
|
|
|
3
3
|
import { homedir } from "node:os";
|
|
4
4
|
import { DatabaseSync } from "node:sqlite";
|
|
5
5
|
import { runLcmMigrations } from "./db/migration.js";
|
|
6
|
-
/** Find
|
|
7
|
-
export function findUncompacted(minTokens, readOnly = false) {
|
|
6
|
+
/** Find conversations eligible for compaction, above the token threshold. */
|
|
7
|
+
export function findUncompacted(minTokens, readOnly = false, cwdFilter, replay = false) {
|
|
8
8
|
const baseDir = join(homedir(), ".lossless-claude", "projects");
|
|
9
9
|
if (!existsSync(baseDir))
|
|
10
10
|
return [];
|
|
@@ -26,6 +26,8 @@ export function findUncompacted(minTokens, readOnly = false) {
|
|
|
26
26
|
}
|
|
27
27
|
if (!cwd)
|
|
28
28
|
continue;
|
|
29
|
+
if (cwdFilter && cwd !== cwdFilter)
|
|
30
|
+
continue;
|
|
29
31
|
const db = new DatabaseSync(dbPath);
|
|
30
32
|
try {
|
|
31
33
|
db.exec("PRAGMA busy_timeout = 5000");
|
|
@@ -48,10 +50,10 @@ export function findUncompacted(minTokens, readOnly = false) {
|
|
|
48
50
|
FROM summaries GROUP BY conversation_id
|
|
49
51
|
) s ON s.conversation_id = c.conversation_id
|
|
50
52
|
WHERE COALESCE(m.msg_count, 0) > 0
|
|
51
|
-
AND COALESCE(s.sum_count, 0) = 0
|
|
53
|
+
AND (? OR COALESCE(s.sum_count, 0) = 0)
|
|
52
54
|
AND COALESCE(m.raw_tokens, 0) >= ?
|
|
53
55
|
ORDER BY COALESCE(m.raw_tokens, 0) DESC
|
|
54
|
-
`).all(minTokens);
|
|
56
|
+
`).all(replay ? 1 : 0, minTokens);
|
|
55
57
|
for (const row of rows) {
|
|
56
58
|
results.push({
|
|
57
59
|
projectDir: projDir,
|
|
@@ -72,7 +74,7 @@ export function findUncompacted(minTokens, readOnly = false) {
|
|
|
72
74
|
}
|
|
73
75
|
/** Compact all uncompacted conversations above threshold via the daemon. */
|
|
74
76
|
export async function batchCompact(opts) {
|
|
75
|
-
const conversations = findUncompacted(opts.minTokens, opts.dryRun);
|
|
77
|
+
const conversations = findUncompacted(opts.minTokens, opts.dryRun, opts.cwd, opts.replay);
|
|
76
78
|
if (conversations.length === 0) {
|
|
77
79
|
console.log("No uncompacted conversations above threshold.");
|
|
78
80
|
return;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"batch-compact.js","sourceRoot":"","sources":["../../src/batch-compact.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,YAAY,EAAE,UAAU,EAAE,MAAM,SAAS,CAAC;AAChE,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AACjC,OAAO,EAAE,OAAO,EAAE,MAAM,SAAS,CAAC;AAClC,OAAO,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAC3C,OAAO,EAAE,gBAAgB,EAAE,MAAM,mBAAmB,CAAC;AAWrD,
|
|
1
|
+
{"version":3,"file":"batch-compact.js","sourceRoot":"","sources":["../../src/batch-compact.ts"],"names":[],"mappings":"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"}
|