code-session-memory 0.10.0 → 0.11.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +17 -1
- package/dist/src/cli-sessions.d.ts.map +1 -1
- package/dist/src/cli-sessions.js +65 -0
- package/dist/src/cli-sessions.js.map +1 -1
- package/dist/src/clipboard.d.ts +24 -0
- package/dist/src/clipboard.d.ts.map +1 -0
- package/dist/src/clipboard.js +48 -0
- package/dist/src/clipboard.js.map +1 -0
- package/dist/src/restart-launchers.d.ts +37 -0
- package/dist/src/restart-launchers.d.ts.map +1 -0
- package/dist/src/restart-launchers.js +68 -0
- package/dist/src/restart-launchers.js.map +1 -0
- package/dist/src/session-compactor.d.ts +48 -0
- package/dist/src/session-compactor.d.ts.map +1 -0
- package/dist/src/session-compactor.js +203 -0
- package/dist/src/session-compactor.js.map +1 -0
- package/package.json +1 -1
package/README.md
CHANGED
|
@@ -214,9 +214,23 @@ npx code-session-memory sessions # interactive browser (source → dat
|
|
|
214
214
|
|
|
215
215
|
The interactive browser lists all sessions with their title, date, source tool, and chunk count. Select a session to:
|
|
216
216
|
- **Print** — dump all chunks to stdout (useful for piping or inspection)
|
|
217
|
+
- **Compact for restart** — summarize the session with OpenAI and copy the result to your clipboard, ready to paste into a new session of any tool
|
|
217
218
|
- **Delete** — remove the session from the DB (with confirmation)
|
|
218
219
|
- **Back** — return to the session list
|
|
219
220
|
|
|
221
|
+
#### Compact for restart
|
|
222
|
+
|
|
223
|
+
The "Compact for restart" action generates a structured restart document containing:
|
|
224
|
+
- **Context** — what was being built or fixed
|
|
225
|
+
- **Key Decisions** — architectural and implementation choices
|
|
226
|
+
- **Current State** — what is completed and what is in progress
|
|
227
|
+
- **Unresolved Issues** — blockers and open questions
|
|
228
|
+
|
|
229
|
+
For long sessions the compactor uses a map-reduce strategy: it splits the transcript into windows, summarizes each independently, then merges the partial summaries into a final digest.
|
|
230
|
+
|
|
231
|
+
Requires `OPENAI_API_KEY`. Uses `gpt-5-nano` by default (override with `OPENAI_SUMMARY_MODEL`).
|
|
232
|
+
After compaction, the CLI prints total token usage (`input`, `output`, `total`).
|
|
233
|
+
|
|
220
234
|
You can also `print` or `delete` directly. Without an ID, an interactive picker opens:
|
|
221
235
|
|
|
222
236
|
```bash
|
|
@@ -265,7 +279,7 @@ Show me how we solved the TypeScript config issue.
|
|
|
265
279
|
|
|
266
280
|
| Variable | Default | Description |
|
|
267
281
|
|---|---|---|
|
|
268
|
-
| `OPENAI_API_KEY` | — | **Required.** Used for embedding generation. |
|
|
282
|
+
| `OPENAI_API_KEY` | — | **Required.** Used for embedding generation and session compaction. |
|
|
269
283
|
| `OPENCODE_MEMORY_DB_PATH` | `~/.local/share/code-session-memory/sessions.db` | Override the database path. |
|
|
270
284
|
| `OPENCODE_CONFIG_DIR` | `~/.config/opencode` | Override the OpenCode config directory. |
|
|
271
285
|
| `CLAUDE_CONFIG_DIR` | `~/.claude` | Override the Claude Code config directory. |
|
|
@@ -273,6 +287,8 @@ Show me how we solved the TypeScript config issue.
|
|
|
273
287
|
| `VSCODE_CONFIG_DIR` | `~/.config/Code/User` (Linux) / `~/Library/Application Support/Code/User` (macOS) | Override the VS Code config directory. |
|
|
274
288
|
| `CODEX_HOME` | `~/.codex` | Override the Codex home directory. |
|
|
275
289
|
| `OPENAI_MODEL` | `text-embedding-3-large` | Override the embedding model. |
|
|
290
|
+
| `OPENAI_SUMMARY_MODEL` | `gpt-5-nano` | Override the model used for session compaction (Compact for restart). |
|
|
291
|
+
| `CSM_SUMMARY_MAX_OUTPUT_TOKENS` | `5000` | Override the max output token budget for session compaction. |
|
|
276
292
|
|
|
277
293
|
### Database path
|
|
278
294
|
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"cli-sessions.d.ts","sourceRoot":"","sources":["../../src/cli-sessions.ts"],"names":[],"mappings":";AACA;;;;;;;GAOG;
|
|
1
|
+
{"version":3,"file":"cli-sessions.d.ts","sourceRoot":"","sources":["../../src/cli-sessions.ts"],"names":[],"mappings":";AACA;;;;;;;GAOG;AAwWH,wBAAsB,eAAe,IAAI,OAAO,CAAC,IAAI,CAAC,CAuBrD;AAqBD,wBAAsB,gBAAgB,CAAC,SAAS,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAcxE;AAqDD,wBAAsB,iBAAiB,CAAC,SAAS,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAiDzE;AAMD,wBAAsB,gBAAgB,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC,CAgFpE;AA6CD,wBAAsB,WAAW,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC,CAsC/D"}
|
package/dist/src/cli-sessions.js
CHANGED
|
@@ -50,6 +50,8 @@ exports.cmdSessions = cmdSessions;
|
|
|
50
50
|
const clack = __importStar(require("@clack/prompts"));
|
|
51
51
|
const database_1 = require("./database");
|
|
52
52
|
const database_2 = require("./database");
|
|
53
|
+
const session_compactor_1 = require("./session-compactor");
|
|
54
|
+
const clipboard_1 = require("./clipboard");
|
|
53
55
|
// ---------------------------------------------------------------------------
|
|
54
56
|
// Formatting helpers
|
|
55
57
|
// ---------------------------------------------------------------------------
|
|
@@ -249,6 +251,7 @@ async function sessionActionLoop(session) {
|
|
|
249
251
|
message: "What would you like to do?",
|
|
250
252
|
options: [
|
|
251
253
|
{ value: "print", label: "Print session", hint: "output all chunks to stdout" },
|
|
254
|
+
{ value: "compact", label: "Compact for restart", hint: "summarize and copy to clipboard" },
|
|
252
255
|
{ value: "delete", label: "Delete session", hint: "remove from DB" },
|
|
253
256
|
{ value: "back", label: "Back to list" },
|
|
254
257
|
],
|
|
@@ -260,6 +263,12 @@ async function sessionActionLoop(session) {
|
|
|
260
263
|
printSession(session.session_id);
|
|
261
264
|
return "exit";
|
|
262
265
|
}
|
|
266
|
+
if (action === "compact") {
|
|
267
|
+
const result = await runCompact(session);
|
|
268
|
+
if (result === "exit")
|
|
269
|
+
return "exit";
|
|
270
|
+
continue;
|
|
271
|
+
}
|
|
263
272
|
if (action === "delete") {
|
|
264
273
|
const confirmed = await clack.confirm({
|
|
265
274
|
message: `Delete "${fmtTitle(session.session_title)}" (${fmtChunks(session.chunk_count)})?`,
|
|
@@ -277,6 +286,53 @@ async function sessionActionLoop(session) {
|
|
|
277
286
|
}
|
|
278
287
|
}
|
|
279
288
|
// ---------------------------------------------------------------------------
|
|
289
|
+
// Compact flow
|
|
290
|
+
// ---------------------------------------------------------------------------
|
|
291
|
+
/**
|
|
292
|
+
* Runs the compact-for-restart flow for a session.
|
|
293
|
+
* Summarizes the session with OpenAI and copies the result to the clipboard.
|
|
294
|
+
* Returns "continue" (stay in action loop) or "exit" (done).
|
|
295
|
+
*/
|
|
296
|
+
async function runCompact(session) {
|
|
297
|
+
// Guard: OPENAI_API_KEY must be set.
|
|
298
|
+
if (!process.env.OPENAI_API_KEY) {
|
|
299
|
+
clack.log.error("OPENAI_API_KEY is not set. Please export it and try again.");
|
|
300
|
+
return "continue";
|
|
301
|
+
}
|
|
302
|
+
// Load chunks from DB.
|
|
303
|
+
const chunks = withDb((db) => (0, database_2.getSessionChunksOrdered)(db, session.session_id));
|
|
304
|
+
if (chunks.length === 0) {
|
|
305
|
+
clack.log.warn("Session has no indexed chunks to compact.");
|
|
306
|
+
return "continue";
|
|
307
|
+
}
|
|
308
|
+
// Summarize.
|
|
309
|
+
const spinner = clack.spinner();
|
|
310
|
+
spinner.start(`Compacting ${fmtChunks(chunks.length)} with OpenAI…`);
|
|
311
|
+
let compactResult;
|
|
312
|
+
try {
|
|
313
|
+
compactResult = await (0, session_compactor_1.compactSession)(chunks);
|
|
314
|
+
spinner.stop(`Compacted in ${compactResult.passes} pass${compactResult.passes !== 1 ? "es" : ""} (${compactResult.model}).`);
|
|
315
|
+
clack.log.info(`Token usage: input ${compactResult.usage.inputTokens}, output ${compactResult.usage.outputTokens}, total ${compactResult.usage.totalTokens}.`);
|
|
316
|
+
}
|
|
317
|
+
catch (err) {
|
|
318
|
+
spinner.stop("Compaction failed.");
|
|
319
|
+
const msg = err instanceof Error ? err.message : String(err);
|
|
320
|
+
clack.log.error(`OpenAI error: ${msg}`);
|
|
321
|
+
return "continue";
|
|
322
|
+
}
|
|
323
|
+
// Copy to clipboard.
|
|
324
|
+
const clipResult = (0, clipboard_1.copyToClipboard)(compactResult.summary);
|
|
325
|
+
if (clipResult.ok) {
|
|
326
|
+
clack.log.success("Compact summary copied to clipboard.");
|
|
327
|
+
}
|
|
328
|
+
else {
|
|
329
|
+
clack.log.warn(`Could not copy to clipboard (${clipResult.error}).\nPrinting summary to stdout instead:\n`);
|
|
330
|
+
console.log(compactResult.summary);
|
|
331
|
+
clack.log.info("Copy the output above and paste it into a new session.");
|
|
332
|
+
}
|
|
333
|
+
return "continue";
|
|
334
|
+
}
|
|
335
|
+
// ---------------------------------------------------------------------------
|
|
280
336
|
// sessions list
|
|
281
337
|
// ---------------------------------------------------------------------------
|
|
282
338
|
async function cmdSessionsList() {
|
|
@@ -504,6 +560,15 @@ ${b("Usage:")}
|
|
|
504
560
|
npx code-session-memory sessions purge --days <n> Non-interactive, prompts for confirmation
|
|
505
561
|
npx code-session-memory sessions purge --days <n> --yes Fully non-interactive (no confirmation)
|
|
506
562
|
|
|
563
|
+
${b("Interactive actions (available after selecting a session):")}
|
|
564
|
+
Compact for restart Summarize the session with OpenAI and copy the result
|
|
565
|
+
to the clipboard, ready to paste into a new session.
|
|
566
|
+
|
|
567
|
+
${b("Environment variables (compact):")}
|
|
568
|
+
OPENAI_API_KEY Required for compaction.
|
|
569
|
+
OPENAI_SUMMARY_MODEL Override the summarizer model (default: gpt-5-nano).
|
|
570
|
+
CSM_SUMMARY_MAX_OUTPUT_TOKENS Override max output tokens (default: 5000).
|
|
571
|
+
|
|
507
572
|
${b("Notes:")}
|
|
508
573
|
- Deleting a session only removes it from the DB. If the source files still
|
|
509
574
|
exist, the session will be re-indexed on the next agent turn.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"cli-sessions.js","sourceRoot":"","sources":["../../src/cli-sessions.ts"],"names":[],"mappings":";;AACA;;;;;;;GAOG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AA6RH,0CAuBC;AAqBD,4CAcC;AAqDD,8CAiDC;AAMD,4CAgFC;AAoCD,kCAsCC;AA3lBD,sDAAwC;AACxC,yCAAyD;AACzD,yCAOoB;AAGpB,8EAA8E;AAC9E,qBAAqB;AACrB,8EAA8E;AAE9E,SAAS,IAAI,CAAC,CAAS,IAAc,OAAO,UAAU,CAAC,SAAS,CAAC,CAAC,CAAC;AACnE,SAAS,KAAK,CAAC,CAAS,IAAa,OAAO,WAAW,CAAC,SAAS,CAAC,CAAC,CAAC;AACpE,SAAS,GAAG,CAAC,CAAS,IAAe,OAAO,WAAW,CAAC,SAAS,CAAC,CAAC,CAAC;AACpE,SAAS,GAAG,CAAC,CAAS,IAAe,OAAO,UAAU,CAAC,SAAS,CAAC,CAAC,CAAC;AACnE,SAAS,IAAI,CAAC,CAAS,IAAc,OAAO,WAAW,CAAC,SAAS,CAAC,CAAC,CAAC;AACpE,SAAS,MAAM,CAAC,CAAS,IAAY,OAAO,WAAW,CAAC,SAAS,CAAC,CAAC,CAAC;AAEpE,SAAS,OAAO,CAAC,MAAc;IAC7B,IAAI,CAAC,MAAM;QAAE,OAAO,GAAG,CAAC,cAAc,CAAC,CAAC;IACxC,OAAO,IAAI,IAAI,CAAC,MAAM,CAAC,CAAC,WAAW,EAAE,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;AACrD,CAAC;AAED,SAAS,SAAS,CAAC,MAAc;IAC/B,IAAI,MAAM,KAAK,UAAU;QAAK,OAAO,IAAI,CAAC,UAAU,CAAC,CAAC;IACtD,IAAI,MAAM,KAAK,QAAQ;QAAO,OAAO,KAAK,CAAC,QAAQ,CAAC,CAAC;IACrD,IAAI,MAAM,KAAK,QAAQ;QAAO,OAAO,MAAM,CAAC,QAAQ,CAAC,CAAC;IACtD,IAAI,MAAM,KAAK,OAAO;QAAQ,OAAO,MAAM,CAAC,OAAO,CAAC,CAAC;IACrD,OAAO,MAAM,CAAC,aAAa,CAAC,CAAC;AAC/B,CAAC;AAED,SAAS,QAAQ,CAAC,KAAa;IAC7B,OAAO,KAAK,IAAI,GAAG,CAAC,YAAY,CAAC,CAAC;AACpC,CAAC;AAED,SAAS,UAAU,CAAC,OAAe;IACjC,IAAI,CAAC,OAAO;QAAE,OAAO,GAAG,CAAC,GAAG,CAAC,CAAC;IAC9B,MAAM,KAAK,GAAG,OAAO,CAAC,OAAO,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;IACrE,OAAO,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,IAAI,GAAG,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;AACjF,CAAC;AAED,SAAS,SAAS,CAAC,CAAS;IAC1B,OAAO,GAAG,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC;AAC3C,CAAC;AAED,SAAS,EAAE,CAAC,IAAI,GAAG,GAAG,EAAE,KAAK,GAAG,EAAE;IAChC,OAAO,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;AAC5B,CAAC;AAED,8EAA8E;AAC9E,aAAa;AACb,8EAA8E;AAE9E,SAAS,MAAM,CAAI,EAA8C;IAC/D,MAAM,MAAM,GAAG,IAAA,wBAAa,GAAE,CAAC;IAC/B,MAAM,EAAE,GAAG,IAAA,uBAAY,EAAC,EAAE,MAAM,EAAE,CAAC,CAAC;IACpC,IAAI,CAAC;QACH,OAAO,EAAE,CAAC,EAAE,CAAC,CAAC;IAChB,CAAC;YAAS,CAAC;QACT,EAAE,CAAC,KAAK,EAAE,CAAC;IACb,CAAC;AACH,CAAC;AAED,8EAA8E;AAC9E,iBAAiB;AACjB,8EAA8E;AAE9E,SAAS,YAAY,CAAC,CAAa;IACjC,MAAM,MAAM,GAAG,SAAS,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC;IACxC,MAAM,KAAK,GAAI,QAAQ,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;IACpD,OAAO,GAAG,KAAK,KAAK,MAAM,EAAE,CAAC;AAC/B,CAAC;AAED,SAAS,WAAW,CAAC,CAAa;IAChC,OAAO,GAAG,SAAS,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,UAAU,CAAC,CAAC,CAAC,OAAO,CAAC,EAAE,CAAC;AAC5D,CAAC;AAUD,KAAK,UAAU,eAAe,CAAC,WAAyB;IACtD,IAAI,WAAW,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,IAAI,CAAC;IAE1C,2EAA2E;IAE3E,2CAA2C;IAC3C,MAAM,SAAS,GAAG,IAAI,GAAG,EAAwB,CAAC;IAClD,KAAK,MAAM,CAAC,IAAI,WAAW,EAAE,CAAC;QAC5B,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC,CAAC,MAAM,CAAC;YAAE,SAAS,CAAC,GAAG,CAAC,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC;QAC1D,SAAS,CAAC,GAAG,CAAC,CAAC,CAAC,MAAM,CAAE,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IACnC,CAAC;IAED,2CAA2C;IAC3C,MAAM,OAAO,GAAG,CAAC,GAAG,SAAS,CAAC,OAAO,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC;IAEnF,MAAM,aAAa,GAAG;QACpB,GAAG,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,EAAE,IAAI,CAAC,EAAE,EAAE,CAAC,CAAC;YAC/B,KAAK,EAAE,GAAG;YACV,KAAK,EAAE,eAAe,CAAC,GAAG,CAAC;YAC3B,IAAI,EAAG,GAAG,IAAI,CAAC,MAAM,WAAW,IAAI,CAAC,MAAM,KAAK,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,KAAK,SAAS,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC,EAAE;SAC1H,CAAC,CAAC;QACH,EAAE,KAAK,EAAE,SAAS,EAAG,KAAK,EAAE,GAAG,CAAC,cAAc,CAAC,EAAE,IAAI,EAAE,GAAG,WAAW,CAAC,MAAM,QAAQ,EAAE;QACtF,EAAE,KAAK,EAAE,UAAU,EAAE,KAAK,EAAE,GAAG,CAAC,MAAM,CAAC,EAAE;KAC1C,CAAC;IAEF,MAAM,SAAS,GAAG,MAAM,KAAK,CAAC,MAAM,CAAS;QAC3C,OAAO,EAAE,QAAQ;QACjB,OAAO,EAAE,aAAa;QACtB,QAAQ,EAAE,CAAC;KACZ,CAAC,CAAC;IAEH,IAAI,KAAK,CAAC,QAAQ,CAAC,SAAS,CAAC,IAAI,SAAS,KAAK,UAAU;QAAE,OAAO,IAAI,CAAC;IAEvE,MAAM,aAAa,GACjB,SAAS,KAAK,SAAS,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,SAAS,CAAC,GAAG,CAAC,SAAS,CAAE,CAAC;IAEpE,2EAA2E;IAE3E,IAAI,cAA4B,CAAC;IAEjC,IAAI,SAAS,KAAK,SAAS,EAAE,CAAC;QAC5B,gDAAgD;QAChD,cAAc,GAAG,aAAa,CAAC;IACjC,CAAC;SAAM,CAAC;QACN,sBAAsB;QACtB,MAAM,OAAO,GAAG,IAAI,GAAG,EAAwB,CAAC;QAChD,KAAK,MAAM,CAAC,IAAI,aAAa,EAAE,CAAC;YAC9B,MAAM,CAAC,GAAG,OAAO,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC;YAChC,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC;gBAAE,OAAO,CAAC,GAAG,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;YACxC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAE,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAC1B,CAAC;QAED,IAAI,OAAO,CAAC,IAAI,KAAK,CAAC,EAAE,CAAC;YACvB,+BAA+B;YAC/B,cAAc,GAAG,aAAa,CAAC;QACjC,CAAC;aAAM,CAAC;YACN,MAAM,KAAK,GAAG,CAAC,GAAG,OAAO,CAAC,OAAO,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;YAC9E,MAAM,WAAW,GAAG;gBAClB,GAAG,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,EAAE,IAAI,CAAC,EAAE,EAAE,CAAC,CAAC;oBAC9B,KAAK,EAAE,IAAI;oBACX,KAAK,EAAE,IAAI;oBACX,IAAI,EAAG,GAAG,IAAI,CAAC,MAAM,WAAW,IAAI,CAAC,MAAM,KAAK,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE;iBAC/D,CAAC,CAAC;gBACH,EAAE,KAAK,EAAE,UAAU,EAAE,KAAK,EAAE,GAAG,CAAC,MAAM,CAAC,EAAE;aAC1C,CAAC;YAEF,MAAM,UAAU,GAAG,MAAM,KAAK,CAAC,MAAM,CAAS;gBAC5C,OAAO,EAAE,SAAS,GAAG,CAAC,GAAG,GAAG,eAAe,CAAC,SAAS,CAAC,GAAG,GAAG,CAAC,EAAE;gBAC/D,OAAO,EAAE,WAAW;gBACpB,QAAQ,EAAE,EAAE;aACb,CAAC,CAAC;YAEH,IAAI,KAAK,CAAC,QAAQ,CAAC,UAAU,CAAC,IAAI,UAAU,KAAK,UAAU,EAAE,CAAC;gBAC5D,qBAAqB;gBACrB,OAAO,eAAe,CAAC,WAAW,CAAC,CAAC;YACtC,CAAC;YAED,cAAc,GAAG,OAAO,CAAC,GAAG,CAAC,UAAU,CAAE,CAAC;QAC5C,CAAC;IACH,CAAC;IAED,4EAA4E;IAE5E,MAAM,cAAc,GAAG;QACrB,GAAG,cAAc,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;YAC5B,KAAK,EAAE,CAAC,CAAC,UAAU;YACnB,KAAK,EAAE,YAAY,CAAC,CAAC,CAAC;YACtB,IAAI,EAAG,WAAW,CAAC,CAAC,CAAC;SACtB,CAAC,CAAC;QACH,EAAE,KAAK,EAAE,UAAU,EAAE,KAAK,EAAE,GAAG,CAAC,MAAM,CAAC,EAAE;KAC1C,CAAC;IAEF,MAAM,SAAS,GAAG,SAAS,KAAK,SAAS;QACvC,CAAC,CAAC,QAAQ;QACV,CAAC,CAAC,YAAY,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC;IAE1D,MAAM,eAAe,GAAG,cAAc,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAC/C,CAAC,CAAC,KAAK,KAAK,UAAU,CAAC,CAAC,CAAC,EAAE,GAAG,CAAC,EAAE,IAAI,EAAE,WAAW,SAAS,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,CACpE,CAAC;IAEF,MAAM,aAAa,GAAG,MAAM,KAAK,CAAC,MAAM,CAAS;QAC/C,OAAO,EAAE,SAAS,KAAK,SAAS;YAC9B,CAAC,CAAC,YAAY,GAAG,CAAC,eAAe,CAAC,EAAE;YACpC,CAAC,CAAC,YAAY,GAAG,CAAC,GAAG,GAAG,eAAe,CAAC,SAAS,CAAC,GAAG,GAAG,CAAC,EAAE;QAC7D,OAAO,EAAE,eAAe;QACxB,QAAQ,EAAE,EAAE;KACb,CAAC,CAAC;IAEH,IAAI,KAAK,CAAC,QAAQ,CAAC,aAAa,CAAC,IAAI,aAAa,KAAK,UAAU,EAAE,CAAC;QAClE,IAAI,SAAS,KAAK,SAAS,IAAI,YAAY,CAAC,aAAa,CAAC,KAAK,CAAC,EAAE,CAAC;YACjE,kBAAkB;YAClB,OAAO,eAAe,CAAC,WAAW,CAAC,CAAC;QACtC,CAAC;QACD,4EAA4E;QAC5E,gEAAgE;QAChE,OAAO,eAAe,CAAC,WAAW,CAAC,CAAC;IACtC,CAAC;IAED,OAAO,cAAc,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,UAAU,KAAK,aAAa,CAAC,IAAI,IAAI,CAAC;AAC5E,CAAC;AAED,sEAAsE;AACtE,SAAS,eAAe,CAAC,MAAc;IACrC,IAAI,MAAM,KAAK,UAAU;QAAK,OAAO,UAAU,CAAC;IAChD,IAAI,MAAM,KAAK,QAAQ;QAAO,OAAO,QAAQ,CAAC;IAC9C,IAAI,MAAM,KAAK,QAAQ;QAAO,OAAO,SAAS,CAAC;IAC/C,IAAI,MAAM,KAAK,OAAO;QAAQ,OAAO,OAAO,CAAC;IAC7C,IAAI,MAAM,KAAK,aAAa;QAAE,OAAO,aAAa,CAAC;IACnD,OAAO,MAAM,CAAC;AAChB,CAAC;AAED,2EAA2E;AAC3E,SAAS,YAAY,CAAC,QAAsB;IAC1C,OAAO,IAAI,GAAG,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,OAAO,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;AAClE,CAAC;AAED,8EAA8E;AAC9E,6DAA6D;AAC7D,8EAA8E;AAE9E,KAAK,UAAU,iBAAiB,CAAC,OAAmB;IAClD,OAAO,IAAI,EAAE,CAAC;QACZ,KAAK,CAAC,GAAG,CAAC,OAAO,CACf;YACE,GAAG,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,aAAa,CAAC,CAAC,EAAE;YAC1C,GAAG,SAAS,CAAC,OAAO,CAAC,MAAM,CAAC,KAAK,OAAO,CAAC,OAAO,CAAC,UAAU,CAAC,KAAK,SAAS,CAAC,OAAO,CAAC,WAAW,CAAC,EAAE;YACjG,YAAY,OAAO,CAAC,OAAO,IAAI,GAAG,CAAC,GAAG,CAAC,EAAE;YACzC,OAAO,GAAG,CAAC,OAAO,CAAC,UAAU,CAAC,EAAE;SACjC,CAAC,IAAI,CAAC,IAAI,CAAC,EACZ,EAAE,MAAM,EAAE,GAAG,EAAE,CAChB,CAAC;QAEF,MAAM,MAAM,GAAG,MAAM,KAAK,CAAC,MAAM,CAAS;YACxC,OAAO,EAAE,4BAA4B;YACrC,OAAO,EAAE;gBACP,EAAE,KAAK,EAAE,OAAO,EAAG,KAAK,EAAE,eAAe,EAAG,IAAI,EAAE,6BAA6B,EAAE;gBACjF,EAAE,KAAK,EAAE,QAAQ,EAAE,KAAK,EAAE,gBAAgB,EAAG,IAAI,EAAE,gBAAgB,EAAE;gBACrE,EAAE,KAAK,EAAE,MAAM,EAAI,KAAK,EAAE,cAAc,EAAE;aAC3C;SACF,CAAC,CAAC;QAEH,IAAI,KAAK,CAAC,QAAQ,CAAC,MAAM,CAAC,IAAI,MAAM,KAAK,MAAM;YAAE,OAAO,MAAM,CAAC;QAE/D,IAAI,MAAM,KAAK,OAAO,EAAE,CAAC;YACvB,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,mBAAmB,CAAC,CAAC,CAAC;YACtC,YAAY,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC;YACjC,OAAO,MAAM,CAAC;QAChB,CAAC;QAED,IAAI,MAAM,KAAK,QAAQ,EAAE,CAAC;YACxB,MAAM,SAAS,GAAG,MAAM,KAAK,CAAC,OAAO,CAAC;gBACpC,OAAO,EAAE,WAAW,QAAQ,CAAC,OAAO,CAAC,aAAa,CAAC,MAAM,SAAS,CAAC,OAAO,CAAC,WAAW,CAAC,IAAI;gBAC3F,YAAY,EAAE,KAAK;aACpB,CAAC,CAAC;YACH,IAAI,KAAK,CAAC,QAAQ,CAAC,SAAS,CAAC,IAAI,CAAC,SAAS,EAAE,CAAC;gBAC5C,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,qBAAqB,CAAC,CAAC;gBACtC,SAAS;YACX,CAAC;YAED,MAAM,OAAO,GAAG,MAAM,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,IAAA,wBAAa,EAAC,EAAE,EAAE,OAAO,CAAC,UAAU,CAAC,CAAC,CAAC;YACtE,KAAK,CAAC,GAAG,CAAC,OAAO,CAAC,WAAW,OAAO,UAAU,CAAC,CAAC;YAChD,KAAK,CAAC,GAAG,CAAC,IAAI,CACZ,iGAAiG,CAClG,CAAC;YACF,OAAO,MAAM,CAAC;QAChB,CAAC;IACH,CAAC;AACH,CAAC;AAED,8EAA8E;AAC9E,gBAAgB;AAChB,8EAA8E;AAEvE,KAAK,UAAU,eAAe;IACnC,KAAK,CAAC,KAAK,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC;IAE9B,OAAO,IAAI,EAAE,CAAC;QACZ,MAAM,QAAQ,GAAG,MAAM,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,IAAA,uBAAY,EAAC,EAAE,CAAC,CAAC,CAAC;QAElD,IAAI,QAAQ,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YAC1B,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,0BAA0B,CAAC,CAAC;YAC3C,KAAK,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;YACrB,OAAO;QACT,CAAC;QAED,MAAM,OAAO,GAAG,MAAM,eAAe,CAAC,QAAQ,CAAC,CAAC;QAEhD,IAAI,CAAC,OAAO,EAAE,CAAC;YACb,KAAK,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;YACrB,OAAO;QACT,CAAC;QAED,MAAM,MAAM,GAAG,MAAM,iBAAiB,CAAC,OAAO,CAAC,CAAC;QAChD,IAAI,MAAM,KAAK,MAAM;YAAE,OAAO;QAC9B,kEAAkE;IACpE,CAAC;AACH,CAAC;AAED,8EAA8E;AAC9E,0DAA0D;AAC1D,8EAA8E;AAE9E,KAAK,UAAU,WAAW;IACxB,MAAM,QAAQ,GAAG,MAAM,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,IAAA,uBAAY,EAAC,EAAE,CAAC,CAAC,CAAC;IAElD,IAAI,QAAQ,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QAC1B,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,0BAA0B,CAAC,CAAC;QAC3C,OAAO,IAAI,CAAC;IACd,CAAC;IAED,OAAO,eAAe,CAAC,QAAQ,CAAC,CAAC;AACnC,CAAC;AAED,8EAA8E;AAC9E,sBAAsB;AACtB,8EAA8E;AAEvE,KAAK,UAAU,gBAAgB,CAAC,SAAkB;IACvD,IAAI,CAAC,SAAS,EAAE,CAAC;QACf,KAAK,CAAC,KAAK,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC,CAAC;QACnC,MAAM,OAAO,GAAG,MAAM,WAAW,EAAE,CAAC;QACpC,IAAI,CAAC,OAAO,EAAE,CAAC;YACb,KAAK,CAAC,KAAK,CAAC,YAAY,CAAC,CAAC;YAC1B,OAAO;QACT,CAAC;QACD,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,mBAAmB,CAAC,CAAC,CAAC;QACtC,YAAY,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC;QACjC,OAAO;IACT,CAAC;IAED,YAAY,CAAC,SAAS,CAAC,CAAC;AAC1B,CAAC;AAED,SAAS,YAAY,CAAC,SAAiB;IACrC,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,GAAG,MAAM,CAAC,CAAC,EAAE,EAAE,EAAE;QACxC,MAAM,IAAI,GAAM,IAAA,uBAAY,EAAC,EAAE,EAAE,EAAE,CAAC,CAAC;QACrC,MAAM,OAAO,GAAG,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,UAAU,KAAK,SAAS,CAAC,CAAC;QAC7D,MAAM,MAAM,GAAI,IAAA,kCAAuB,EAAC,EAAE,EAAE,SAAS,CAAC,CAAC;QACvD,OAAO,EAAE,OAAO,EAAE,MAAM,EAAE,CAAC;IAC7B,CAAC,CAAC,CAAC;IAEH,IAAI,CAAC,OAAO,IAAI,MAAM,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACpC,OAAO,CAAC,KAAK,CAAC,6BAA6B,SAAS,EAAE,CAAC,CAAC;QACxD,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC;IAED,MAAM,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC;IACpC,MAAM,CAAC,GAAG,CAAC,CAAS,EAAE,EAAE,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAG,CAAC,CAAC,CAAC,CAAC;IAChD,MAAM,CAAC,GAAG,CAAC,CAAS,EAAE,EAAE,CAAC,MAAM,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAI,CAAC,CAAC,CAAC,CAAC;IAChD,MAAM,MAAM,GAAG,CAAC,GAAW,EAAE,EAAE;QAC7B,IAAI,CAAC,MAAM;YAAE,OAAO,GAAG,CAAC;QACxB,OAAO,SAAS,CAAC,GAAG,CAAC,CAAC;IACxB,CAAC,CAAC;IAEF,MAAM,KAAK,GAAK,OAAO,EAAE,aAAa,IAAI,YAAY,CAAC;IACvD,MAAM,MAAM,GAAI,OAAO,EAAE,MAAM,IAAW,SAAS,CAAC;IACpD,MAAM,IAAI,GAAM,OAAO,CAAC,CAAC,CAAC,OAAO,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;IAClE,MAAM,OAAO,GAAG,OAAO,EAAE,OAAO,IAAU,GAAG,CAAC;IAE9C,OAAO,CAAC,GAAG,CAAC,EAAE,EAAE,CAAC,CAAC;IAClB,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,UAAU,CAAC,IAAI,KAAK,EAAE,CAAC,CAAC;IACzC,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,SAAS,CAAC,KAAK,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IAC9D,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,UAAU,CAAC,IAAI,OAAO,EAAE,CAAC,CAAC;IAC3C,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC,SAAS,CAAC,EAAE,CAAC,CAAC;IAChD,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,SAAS,CAAC,KAAK,MAAM,CAAC,MAAM,EAAE,CAAC,CAAC;IACjD,OAAO,CAAC,GAAG,CAAC,EAAE,EAAE,CAAC,CAAC;IAElB,MAAM,KAAK,GAAG,MAAM,CAAC,MAAM,CAAC;IAC5B,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;QACvC,MAAM,KAAK,GAAG,MAAM,CAAC,CAAC,CAAC,CAAC;QACxB,OAAO,CAAC,GAAG,EAAE,CAAC;QACd,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,YAAY,CAAC,GAAG,CAAC,IAAI,KAAK,EAAE,CAAC,GAAG,KAAK,CAAC,CAAC,GAAG,CAAC,cAAc,KAAK,CAAC,OAAO,IAAI,CAAC,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC;QACvG,OAAO,CAAC,GAAG,EAAE,CAAC;QACd,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;IAC7B,CAAC;IAED,OAAO,CAAC,GAAG,EAAE,CAAC;IACd,OAAO,CAAC,GAAG,CAAC,EAAE,EAAE,CAAC,CAAC;AACpB,CAAC;AAED,8EAA8E;AAC9E,uBAAuB;AACvB,8EAA8E;AAEvE,KAAK,UAAU,iBAAiB,CAAC,SAAkB;IACxD,KAAK,CAAC,KAAK,CAAC,IAAI,CAAC,gBAAgB,CAAC,CAAC,CAAC;IAEpC,IAAI,OAAO,GAAsB,IAAI,CAAC;IAEtC,IAAI,CAAC,SAAS,EAAE,CAAC;QACf,OAAO,GAAG,MAAM,WAAW,EAAE,CAAC;QAC9B,IAAI,CAAC,OAAO,EAAE,CAAC;YACb,KAAK,CAAC,KAAK,CAAC,YAAY,CAAC,CAAC;YAC1B,OAAO;QACT,CAAC;IACH,CAAC;SAAM,CAAC;QACN,OAAO,GAAG,MAAM,CAAC,CAAC,EAAE,EAAE,EAAE;YACtB,MAAM,IAAI,GAAG,IAAA,uBAAY,EAAC,EAAE,EAAE,EAAE,CAAC,CAAC;YAClC,OAAO,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,UAAU,KAAK,SAAS,CAAC,IAAI,IAAI,CAAC;QAC9D,CAAC,CAAC,CAAC;QAEH,IAAI,CAAC,OAAO,EAAE,CAAC;YACb,OAAO,CAAC,KAAK,CAAC,6BAA6B,SAAS,EAAE,CAAC,CAAC;YACxD,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAClB,CAAC;IACH,CAAC;IAED,KAAK,CAAC,GAAG,CAAC,OAAO,CACf;QACE,GAAG,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,aAAa,CAAC,CAAC,EAAE;QAC1C,GAAG,SAAS,CAAC,OAAO,CAAC,MAAM,CAAC,KAAK,OAAO,CAAC,OAAO,CAAC,UAAU,CAAC,KAAK,SAAS,CAAC,OAAO,CAAC,WAAW,CAAC,EAAE;QACjG,YAAY,OAAO,CAAC,OAAO,IAAI,GAAG,CAAC,GAAG,CAAC,EAAE;QACzC,OAAO,GAAG,CAAC,OAAO,CAAC,UAAU,CAAC,EAAE;KACjC,CAAC,IAAI,CAAC,IAAI,CAAC,EACZ,EAAE,MAAM,EAAE,GAAG,EAAE,CAChB,CAAC;IAEF,MAAM,SAAS,GAAG,MAAM,KAAK,CAAC,OAAO,CAAC;QACpC,OAAO,EAAE,wBAAwB,SAAS,CAAC,OAAO,CAAC,WAAW,CAAC,IAAI;QACnE,YAAY,EAAE,KAAK;KACpB,CAAC,CAAC;IAEH,IAAI,KAAK,CAAC,QAAQ,CAAC,SAAS,CAAC,IAAI,CAAC,SAAS,EAAE,CAAC;QAC5C,KAAK,CAAC,MAAM,CAAC,iDAAiD,CAAC,CAAC;QAChE,OAAO;IACT,CAAC;IAED,MAAM,OAAO,GAAG,MAAM,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,IAAA,wBAAa,EAAC,EAAE,EAAE,OAAQ,CAAC,UAAU,CAAC,CAAC,CAAC;IACvE,KAAK,CAAC,GAAG,CAAC,OAAO,CAAC,WAAW,OAAO,UAAU,CAAC,CAAC;IAChD,KAAK,CAAC,GAAG,CAAC,IAAI,CACZ,iGAAiG,CAClG,CAAC;IACF,KAAK,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;AACvB,CAAC;AAED,8EAA8E;AAC9E,sCAAsC;AACtC,8EAA8E;AAEvE,KAAK,UAAU,gBAAgB,CAAC,IAAc;IACnD,MAAM,MAAM,GAAG,KAAK,GAAG,IAAI,CAAC;IAE5B,mBAAmB;IACnB,IAAI,IAAwB,CAAC;IAC7B,MAAM,OAAO,GAAG,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC;IACvC,IAAI,OAAO,KAAK,CAAC,CAAC,IAAI,IAAI,CAAC,OAAO,GAAG,CAAC,CAAC,EAAE,CAAC;QACxC,MAAM,MAAM,GAAG,MAAM,CAAC,IAAI,CAAC,OAAO,GAAG,CAAC,CAAC,CAAC,CAAC;QACzC,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,MAAM,CAAC,IAAI,MAAM,IAAI,CAAC,EAAE,CAAC;YAC7C,OAAO,CAAC,KAAK,CAAC,mCAAmC,CAAC,CAAC;YACnD,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAClB,CAAC;QACD,IAAI,GAAG,MAAM,CAAC;IAChB,CAAC;IAED,MAAM,WAAW,GAAG,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC;IAE3C,IAAI,CAAC,WAAW,EAAE,CAAC;QACjB,KAAK,CAAC,KAAK,CAAC,IAAI,CAAC,oBAAoB,CAAC,CAAC,CAAC;IAC1C,CAAC;IAED,kCAAkC;IAClC,IAAI,IAAI,KAAK,SAAS,EAAE,CAAC;QACvB,MAAM,MAAM,GAAG,MAAM,KAAK,CAAC,IAAI,CAAC;YAC9B,OAAO,EAAE,2CAA2C;YACpD,WAAW,EAAE,IAAI;YACjB,QAAQ,CAAC,CAAC;gBACR,MAAM,CAAC,GAAG,MAAM,CAAC,CAAC,CAAC,CAAC;gBACpB,IAAI,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC;oBAAE,OAAO,kCAAkC,CAAC;YACtF,CAAC;SACF,CAAC,CAAC;QACH,IAAI,KAAK,CAAC,QAAQ,CAAC,MAAM,CAAC,EAAE,CAAC;YAC3B,KAAK,CAAC,MAAM,CAAC,YAAY,CAAC,CAAC;YAC3B,OAAO;QACT,CAAC;QACD,IAAI,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC;IACxB,CAAC;IAED,MAAM,MAAM,GAAG,IAAI,CAAC,GAAG,EAAE,GAAG,IAAI,GAAG,MAAM,CAAC;IAC1C,MAAM,UAAU,GAAG,MAAM,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,IAAA,uBAAY,EAAC,EAAE,EAAE,EAAE,MAAM,EAAE,MAAM,EAAE,CAAC,CAAC,CAAC;IAExE,IAAI,UAAU,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QAC5B,MAAM,GAAG,GAAG,0BAA0B,IAAI,OAAO,IAAI,KAAK,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,SAAS,CAAC;QAChF,IAAI,WAAW,EAAE,CAAC;YAChB,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;QACnB,CAAC;aAAM,CAAC;YACN,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;YACpB,KAAK,CAAC,KAAK,CAAC,mBAAmB,CAAC,CAAC;QACnC,CAAC;QACD,OAAO;IACT,CAAC;IAED,MAAM,WAAW,GAAG,UAAU,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC;IACtE,MAAM,OAAO,GAAG,GAAG,UAAU,CAAC,MAAM,WAAW,UAAU,CAAC,MAAM,KAAK,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,KAAK,WAAW,uBAAuB,IAAI,OAAO,IAAI,KAAK,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC;IAE3J,IAAI,WAAW,EAAE,CAAC;QAChB,8BAA8B;QAC9B,MAAM,MAAM,GAAG,MAAM,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,IAAA,kCAAuB,EAAC,EAAE,EAAE,MAAM,CAAC,CAAC,CAAC;QACnE,OAAO,CAAC,GAAG,CAAC,WAAW,MAAM,CAAC,QAAQ,cAAc,MAAM,CAAC,MAAM,WAAW,CAAC,CAAC;QAC9E,OAAO;IACT,CAAC;IAED,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,SAAS,OAAO,GAAG,CAAC,CAAC;IAEpC,MAAM,SAAS,GAAG,MAAM,KAAK,CAAC,OAAO,CAAC;QACpC,OAAO,EAAE,sBAAsB,OAAO,GAAG;QACzC,YAAY,EAAE,KAAK;KACpB,CAAC,CAAC;IAEH,IAAI,KAAK,CAAC,QAAQ,CAAC,SAAS,CAAC,IAAI,CAAC,SAAS,EAAE,CAAC;QAC5C,KAAK,CAAC,MAAM,CAAC,8CAA8C,CAAC,CAAC;QAC7D,OAAO;IACT,CAAC;IAED,MAAM,MAAM,GAAG,MAAM,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,IAAA,kCAAuB,EAAC,EAAE,EAAE,MAAM,CAAC,CAAC,CAAC;IACnE,KAAK,CAAC,GAAG,CAAC,OAAO,CAAC,WAAW,MAAM,CAAC,QAAQ,cAAc,MAAM,CAAC,MAAM,WAAW,CAAC,CAAC;IACpF,KAAK,CAAC,GAAG,CAAC,IAAI,CACZ,uFAAuF,CACxF,CAAC;IACF,KAAK,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;AACvB,CAAC;AAED,8EAA8E;AAC9E,OAAO;AACP,8EAA8E;AAE9E,SAAS,YAAY;IACnB,MAAM,CAAC,GAAG,CAAC,CAAS,EAAE,EAAE,CAAC,UAAU,CAAC,SAAS,CAAC;IAC9C,OAAO,CAAC,GAAG,CAAC;EACZ,CAAC,CAAC,UAAU,CAAC;;EAEb,CAAC,CAAC,QAAQ,CAAC;;;;;;;;;;;;;;EAcX,CAAC,CAAC,QAAQ,CAAC;;;;CAIZ,CAAC,CAAC;AACH,CAAC;AAED,8EAA8E;AAC9E,cAAc;AACd,8EAA8E;AAEvE,KAAK,UAAU,WAAW,CAAC,IAAc;IAC9C,MAAM,GAAG,GAAG,IAAI,CAAC,CAAC,CAAC,IAAI,MAAM,CAAC;IAE9B,IAAI,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,IAAI,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC;QACnD,YAAY,EAAE,CAAC;QACf,OAAO;IACT,CAAC;IAED,QAAQ,GAAG,EAAE,CAAC;QACZ,KAAK,MAAM;YACT,MAAM,eAAe,EAAE,CAAC;YACxB,MAAM;QAER,KAAK,OAAO,CAAC,CAAC,CAAC;YACb,MAAM,OAAO,GAAG,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;YAC1E,MAAM,gBAAgB,CAAC,OAAO,CAAC,CAAC;YAChC,MAAM;QACR,CAAC;QAED,KAAK,QAAQ,CAAC,CAAC,CAAC;YACd,MAAM,OAAO,GAAG,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;YAC1E,MAAM,iBAAiB,CAAC,OAAO,CAAC,CAAC;YACjC,MAAM;QACR,CAAC;QAED,KAAK,OAAO;YACV,MAAM,gBAAgB,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;YACtC,MAAM;QAER;YACE,IAAI,GAAG,CAAC,UAAU,CAAC,GAAG,CAAC,EAAE,CAAC;gBACxB,MAAM,eAAe,EAAE,CAAC;YAC1B,CAAC;iBAAM,CAAC;gBACN,OAAO,CAAC,KAAK,CAAC,iCAAiC,GAAG,EAAE,CAAC,CAAC;gBACtD,OAAO,CAAC,KAAK,CAAC,0DAA0D,CAAC,CAAC;gBAC1E,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;YAClB,CAAC;IACL,CAAC;AACH,CAAC"}
|
|
1
|
+
{"version":3,"file":"cli-sessions.js","sourceRoot":"","sources":["../../src/cli-sessions.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* clipboard.ts — cross-platform clipboard copy utility
|
|
3
|
+
*
|
|
4
|
+
* Platform priority:
|
|
5
|
+
* macOS → pbcopy
|
|
6
|
+
* Linux → wl-copy (Wayland), then xclip fallback
|
|
7
|
+
* Windows → clip
|
|
8
|
+
*
|
|
9
|
+
* Returns `{ ok: true }` on success or `{ ok: false, error }` on failure.
|
|
10
|
+
* Never throws — callers print the content and give manual-copy instructions
|
|
11
|
+
* if clipboard is unavailable.
|
|
12
|
+
*/
|
|
13
|
+
export type ClipboardResult = {
|
|
14
|
+
ok: true;
|
|
15
|
+
} | {
|
|
16
|
+
ok: false;
|
|
17
|
+
error: string;
|
|
18
|
+
};
|
|
19
|
+
/**
|
|
20
|
+
* Copies `text` to the system clipboard.
|
|
21
|
+
* Returns `{ ok: true }` on success, or `{ ok: false, error }` on failure.
|
|
22
|
+
*/
|
|
23
|
+
export declare function copyToClipboard(text: string): ClipboardResult;
|
|
24
|
+
//# sourceMappingURL=clipboard.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"clipboard.d.ts","sourceRoot":"","sources":["../../src/clipboard.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAIH,MAAM,MAAM,eAAe,GACvB;IAAE,EAAE,EAAE,IAAI,CAAA;CAAE,GACZ;IAAE,EAAE,EAAE,KAAK,CAAC;IAAC,KAAK,EAAE,MAAM,CAAA;CAAE,CAAC;AAEjC;;;GAGG;AACH,wBAAgB,eAAe,CAAC,IAAI,EAAE,MAAM,GAAG,eAAe,CAmB7D"}
|
|
@@ -0,0 +1,48 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
/**
|
|
3
|
+
* clipboard.ts — cross-platform clipboard copy utility
|
|
4
|
+
*
|
|
5
|
+
* Platform priority:
|
|
6
|
+
* macOS → pbcopy
|
|
7
|
+
* Linux → wl-copy (Wayland), then xclip fallback
|
|
8
|
+
* Windows → clip
|
|
9
|
+
*
|
|
10
|
+
* Returns `{ ok: true }` on success or `{ ok: false, error }` on failure.
|
|
11
|
+
* Never throws — callers print the content and give manual-copy instructions
|
|
12
|
+
* if clipboard is unavailable.
|
|
13
|
+
*/
|
|
14
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
15
|
+
exports.copyToClipboard = copyToClipboard;
|
|
16
|
+
const child_process_1 = require("child_process");
|
|
17
|
+
/**
|
|
18
|
+
* Copies `text` to the system clipboard.
|
|
19
|
+
* Returns `{ ok: true }` on success, or `{ ok: false, error }` on failure.
|
|
20
|
+
*/
|
|
21
|
+
function copyToClipboard(text) {
|
|
22
|
+
const platform = process.platform;
|
|
23
|
+
if (platform === "darwin") {
|
|
24
|
+
return runClipboard("pbcopy", [], text);
|
|
25
|
+
}
|
|
26
|
+
if (platform === "linux") {
|
|
27
|
+
// Try Wayland first, then X11 fallback
|
|
28
|
+
const wayland = runClipboard("wl-copy", [], text);
|
|
29
|
+
if (wayland.ok)
|
|
30
|
+
return wayland;
|
|
31
|
+
return runClipboard("xclip", ["-selection", "clipboard"], text);
|
|
32
|
+
}
|
|
33
|
+
if (platform === "win32") {
|
|
34
|
+
return runClipboard("clip", [], text);
|
|
35
|
+
}
|
|
36
|
+
return { ok: false, error: `Unsupported platform: ${platform}` };
|
|
37
|
+
}
|
|
38
|
+
function runClipboard(cmd, args, text) {
|
|
39
|
+
try {
|
|
40
|
+
(0, child_process_1.execFileSync)(cmd, args, { input: text, encoding: "utf8" });
|
|
41
|
+
return { ok: true };
|
|
42
|
+
}
|
|
43
|
+
catch (err) {
|
|
44
|
+
const msg = err instanceof Error ? err.message : String(err);
|
|
45
|
+
return { ok: false, error: `${cmd}: ${msg}` };
|
|
46
|
+
}
|
|
47
|
+
}
|
|
48
|
+
//# sourceMappingURL=clipboard.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"clipboard.js","sourceRoot":"","sources":["../../src/clipboard.ts"],"names":[],"mappings":";AAAA;;;;;;;;;;;GAWG;;AAYH,0CAmBC;AA7BD,iDAA6C;AAM7C;;;GAGG;AACH,SAAgB,eAAe,CAAC,IAAY;IAC1C,MAAM,QAAQ,GAAG,OAAO,CAAC,QAAQ,CAAC;IAElC,IAAI,QAAQ,KAAK,QAAQ,EAAE,CAAC;QAC1B,OAAO,YAAY,CAAC,QAAQ,EAAE,EAAE,EAAE,IAAI,CAAC,CAAC;IAC1C,CAAC;IAED,IAAI,QAAQ,KAAK,OAAO,EAAE,CAAC;QACzB,uCAAuC;QACvC,MAAM,OAAO,GAAG,YAAY,CAAC,SAAS,EAAE,EAAE,EAAE,IAAI,CAAC,CAAC;QAClD,IAAI,OAAO,CAAC,EAAE;YAAE,OAAO,OAAO,CAAC;QAC/B,OAAO,YAAY,CAAC,OAAO,EAAE,CAAC,YAAY,EAAE,WAAW,CAAC,EAAE,IAAI,CAAC,CAAC;IAClE,CAAC;IAED,IAAI,QAAQ,KAAK,OAAO,EAAE,CAAC;QACzB,OAAO,YAAY,CAAC,MAAM,EAAE,EAAE,EAAE,IAAI,CAAC,CAAC;IACxC,CAAC;IAED,OAAO,EAAE,EAAE,EAAE,KAAK,EAAE,KAAK,EAAE,yBAAyB,QAAQ,EAAE,EAAE,CAAC;AACnE,CAAC;AAED,SAAS,YAAY,CAAC,GAAW,EAAE,IAAc,EAAE,IAAY;IAC7D,IAAI,CAAC;QACH,IAAA,4BAAY,EAAC,GAAG,EAAE,IAAI,EAAE,EAAE,KAAK,EAAE,IAAI,EAAE,QAAQ,EAAE,MAAM,EAAE,CAAC,CAAC;QAC3D,OAAO,EAAE,EAAE,EAAE,IAAI,EAAE,CAAC;IACtB,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,MAAM,GAAG,GAAG,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;QAC7D,OAAO,EAAE,EAAE,EAAE,KAAK,EAAE,KAAK,EAAE,GAAG,GAAG,KAAK,GAAG,EAAE,EAAE,CAAC;IAChD,CAAC;AACH,CAAC"}
|
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* restart-launchers.ts — per-tool CLI launch adapters for "Restart from..."
|
|
3
|
+
*
|
|
4
|
+
* Supported tools and their CLI arguments:
|
|
5
|
+
* codex → codex "<prompt>"
|
|
6
|
+
* claude-code → claude "<prompt>"
|
|
7
|
+
* cursor → cursor agent "<prompt>"
|
|
8
|
+
* opencode → opencode run "<prompt>"
|
|
9
|
+
* vscode → fallback-only (no reliable session-create CLI)
|
|
10
|
+
*
|
|
11
|
+
* Contract: if compaction succeeded, the operation is still considered a
|
|
12
|
+
* success even if the launch fails — the compact summary is already on the
|
|
13
|
+
* clipboard for manual use.
|
|
14
|
+
*/
|
|
15
|
+
import type { CompactTarget } from "./session-compactor";
|
|
16
|
+
export interface LaunchResult {
|
|
17
|
+
ok: boolean;
|
|
18
|
+
/** Human-readable error message when ok === false. */
|
|
19
|
+
error?: string;
|
|
20
|
+
/** True when the target has no supported launch path (e.g. vscode). */
|
|
21
|
+
isUnsupported?: boolean;
|
|
22
|
+
}
|
|
23
|
+
/**
|
|
24
|
+
* Spawns the target tool's CLI with the compact prompt as an argument.
|
|
25
|
+
*
|
|
26
|
+
* The child process inherits stdio so the user sees its output.
|
|
27
|
+
* The process is detached so the CLI can exit without waiting.
|
|
28
|
+
*
|
|
29
|
+
* Returns immediately after spawning (does not wait for the child to exit).
|
|
30
|
+
*/
|
|
31
|
+
export declare function launchTool(target: CompactTarget, prompt: string): LaunchResult;
|
|
32
|
+
/**
|
|
33
|
+
* Returns [command, args] for the given target.
|
|
34
|
+
* Exported for unit testing without spawning a process.
|
|
35
|
+
*/
|
|
36
|
+
export declare function resolveCommand(target: Exclude<CompactTarget, "vscode">, prompt: string): [string, string[]];
|
|
37
|
+
//# sourceMappingURL=restart-launchers.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"restart-launchers.d.ts","sourceRoot":"","sources":["../../src/restart-launchers.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;GAaG;AAGH,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AAEzD,MAAM,WAAW,YAAY;IAC3B,EAAE,EAAE,OAAO,CAAC;IACZ,sDAAsD;IACtD,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,uEAAuE;IACvE,aAAa,CAAC,EAAE,OAAO,CAAC;CACzB;AAED;;;;;;;GAOG;AACH,wBAAgB,UAAU,CACxB,MAAM,EAAE,aAAa,EACrB,MAAM,EAAE,MAAM,GACb,YAAY,CAyBd;AAED;;;GAGG;AACH,wBAAgB,cAAc,CAC5B,MAAM,EAAE,OAAO,CAAC,aAAa,EAAE,QAAQ,CAAC,EACxC,MAAM,EAAE,MAAM,GACb,CAAC,MAAM,EAAE,MAAM,EAAE,CAAC,CAWpB"}
|
|
@@ -0,0 +1,68 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
/**
|
|
3
|
+
* restart-launchers.ts — per-tool CLI launch adapters for "Restart from..."
|
|
4
|
+
*
|
|
5
|
+
* Supported tools and their CLI arguments:
|
|
6
|
+
* codex → codex "<prompt>"
|
|
7
|
+
* claude-code → claude "<prompt>"
|
|
8
|
+
* cursor → cursor agent "<prompt>"
|
|
9
|
+
* opencode → opencode run "<prompt>"
|
|
10
|
+
* vscode → fallback-only (no reliable session-create CLI)
|
|
11
|
+
*
|
|
12
|
+
* Contract: if compaction succeeded, the operation is still considered a
|
|
13
|
+
* success even if the launch fails — the compact summary is already on the
|
|
14
|
+
* clipboard for manual use.
|
|
15
|
+
*/
|
|
16
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
17
|
+
exports.launchTool = launchTool;
|
|
18
|
+
exports.resolveCommand = resolveCommand;
|
|
19
|
+
const child_process_1 = require("child_process");
|
|
20
|
+
/**
|
|
21
|
+
* Spawns the target tool's CLI with the compact prompt as an argument.
|
|
22
|
+
*
|
|
23
|
+
* The child process inherits stdio so the user sees its output.
|
|
24
|
+
* The process is detached so the CLI can exit without waiting.
|
|
25
|
+
*
|
|
26
|
+
* Returns immediately after spawning (does not wait for the child to exit).
|
|
27
|
+
*/
|
|
28
|
+
function launchTool(target, prompt) {
|
|
29
|
+
if (target === "vscode") {
|
|
30
|
+
return {
|
|
31
|
+
ok: false,
|
|
32
|
+
isUnsupported: true,
|
|
33
|
+
error: "VS Code has no reliable session-create CLI path. " +
|
|
34
|
+
"Paste the continuation prompt into a new Copilot Chat window manually.",
|
|
35
|
+
};
|
|
36
|
+
}
|
|
37
|
+
const [cmd, args] = resolveCommand(target, prompt);
|
|
38
|
+
try {
|
|
39
|
+
const child = (0, child_process_1.spawn)(cmd, args, {
|
|
40
|
+
stdio: "inherit",
|
|
41
|
+
detached: true,
|
|
42
|
+
shell: false,
|
|
43
|
+
});
|
|
44
|
+
child.unref();
|
|
45
|
+
return { ok: true };
|
|
46
|
+
}
|
|
47
|
+
catch (err) {
|
|
48
|
+
const msg = err instanceof Error ? err.message : String(err);
|
|
49
|
+
return { ok: false, error: `Failed to launch ${cmd}: ${msg}` };
|
|
50
|
+
}
|
|
51
|
+
}
|
|
52
|
+
/**
|
|
53
|
+
* Returns [command, args] for the given target.
|
|
54
|
+
* Exported for unit testing without spawning a process.
|
|
55
|
+
*/
|
|
56
|
+
function resolveCommand(target, prompt) {
|
|
57
|
+
switch (target) {
|
|
58
|
+
case "codex":
|
|
59
|
+
return ["codex", [prompt]];
|
|
60
|
+
case "claude-code":
|
|
61
|
+
return ["claude", [prompt]];
|
|
62
|
+
case "cursor":
|
|
63
|
+
return ["cursor", ["agent", prompt]];
|
|
64
|
+
case "opencode":
|
|
65
|
+
return ["opencode", ["run", prompt]];
|
|
66
|
+
}
|
|
67
|
+
}
|
|
68
|
+
//# sourceMappingURL=restart-launchers.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"restart-launchers.js","sourceRoot":"","sources":["../../src/restart-launchers.ts"],"names":[],"mappings":";AAAA;;;;;;;;;;;;;GAaG;;AAqBH,gCA4BC;AAMD,wCAcC;AAnED,iDAAsC;AAWtC;;;;;;;GAOG;AACH,SAAgB,UAAU,CACxB,MAAqB,EACrB,MAAc;IAEd,IAAI,MAAM,KAAK,QAAQ,EAAE,CAAC;QACxB,OAAO;YACL,EAAE,EAAE,KAAK;YACT,aAAa,EAAE,IAAI;YACnB,KAAK,EACH,mDAAmD;gBACnD,wEAAwE;SAC3E,CAAC;IACJ,CAAC;IAED,MAAM,CAAC,GAAG,EAAE,IAAI,CAAC,GAAG,cAAc,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAEnD,IAAI,CAAC;QACH,MAAM,KAAK,GAAG,IAAA,qBAAK,EAAC,GAAG,EAAE,IAAI,EAAE;YAC7B,KAAK,EAAE,SAAS;YAChB,QAAQ,EAAE,IAAI;YACd,KAAK,EAAE,KAAK;SACb,CAAC,CAAC;QACH,KAAK,CAAC,KAAK,EAAE,CAAC;QACd,OAAO,EAAE,EAAE,EAAE,IAAI,EAAE,CAAC;IACtB,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,MAAM,GAAG,GAAG,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;QAC7D,OAAO,EAAE,EAAE,EAAE,KAAK,EAAE,KAAK,EAAE,oBAAoB,GAAG,KAAK,GAAG,EAAE,EAAE,CAAC;IACjE,CAAC;AACH,CAAC;AAED;;;GAGG;AACH,SAAgB,cAAc,CAC5B,MAAwC,EACxC,MAAc;IAEd,QAAQ,MAAM,EAAE,CAAC;QACf,KAAK,OAAO;YACV,OAAO,CAAC,OAAO,EAAE,CAAC,MAAM,CAAC,CAAC,CAAC;QAC7B,KAAK,aAAa;YAChB,OAAO,CAAC,QAAQ,EAAE,CAAC,MAAM,CAAC,CAAC,CAAC;QAC9B,KAAK,QAAQ;YACX,OAAO,CAAC,QAAQ,EAAE,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC,CAAC;QACvC,KAAK,UAAU;YACb,OAAO,CAAC,UAAU,EAAE,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC,CAAC;IACzC,CAAC;AACH,CAAC"}
|
|
@@ -0,0 +1,48 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* session-compactor.ts — summarize a session's chunks into a compact restart document.
|
|
3
|
+
*
|
|
4
|
+
* Uses OpenAI chat completions with a map-reduce strategy for long sessions:
|
|
5
|
+
* 1. Single-pass for sessions whose estimated token count fits within the limit.
|
|
6
|
+
* 2. Multi-pass for longer sessions: map each window → reduce all partials → final format.
|
|
7
|
+
*
|
|
8
|
+
* Environment variables:
|
|
9
|
+
* OPENAI_API_KEY Required. Passed to the OpenAI client.
|
|
10
|
+
* OPENAI_SUMMARY_MODEL Override model (default: "gpt-5-nano").
|
|
11
|
+
* CSM_SUMMARY_MAX_OUTPUT_TOKENS Override max output tokens (default: 5000).
|
|
12
|
+
*/
|
|
13
|
+
import type { ChunkRow } from "./database";
|
|
14
|
+
export interface CompactOptions {
|
|
15
|
+
/** Override the summarizer model. Default: OPENAI_SUMMARY_MODEL env var or "gpt-5-nano". */
|
|
16
|
+
model?: string;
|
|
17
|
+
/** Override the max output token budget. Default: CSM_SUMMARY_MAX_OUTPUT_TOKENS env var or 5000. */
|
|
18
|
+
maxOutputTokens?: number;
|
|
19
|
+
}
|
|
20
|
+
export interface CompactResult {
|
|
21
|
+
summary: string;
|
|
22
|
+
model: string;
|
|
23
|
+
/** Total number of LLM passes performed (map passes + reduce + final format). */
|
|
24
|
+
passes: number;
|
|
25
|
+
usage: {
|
|
26
|
+
inputTokens: number;
|
|
27
|
+
outputTokens: number;
|
|
28
|
+
totalTokens: number;
|
|
29
|
+
};
|
|
30
|
+
}
|
|
31
|
+
/**
|
|
32
|
+
* Summarizes the given ordered chunks into a restart document ready to paste
|
|
33
|
+
* into a new AI coding session.
|
|
34
|
+
*
|
|
35
|
+
* @throws Error if OPENAI_API_KEY is missing or any OpenAI call fails.
|
|
36
|
+
*/
|
|
37
|
+
export declare function compactSession(chunks: ChunkRow[], options?: CompactOptions): Promise<CompactResult>;
|
|
38
|
+
/**
|
|
39
|
+
* Builds a human-readable transcript from ordered chunk rows.
|
|
40
|
+
* Groups consecutive chunks with the same section label under a single header.
|
|
41
|
+
*/
|
|
42
|
+
export declare function buildTranscript(chunks: ChunkRow[]): string;
|
|
43
|
+
/**
|
|
44
|
+
* Splits `text` into windows of at most `windowChars` characters.
|
|
45
|
+
* Splits on newline boundaries when possible.
|
|
46
|
+
*/
|
|
47
|
+
export declare function splitIntoWindows(text: string, windowChars: number): string[];
|
|
48
|
+
//# sourceMappingURL=session-compactor.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"session-compactor.d.ts","sourceRoot":"","sources":["../../src/session-compactor.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAGH,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AAM3C,MAAM,WAAW,cAAc;IAC7B,4FAA4F;IAC5F,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,oGAAoG;IACpG,eAAe,CAAC,EAAE,MAAM,CAAC;CAC1B;AAED,MAAM,WAAW,aAAa;IAC5B,OAAO,EAAE,MAAM,CAAC;IAChB,KAAK,EAAE,MAAM,CAAC;IACd,iFAAiF;IACjF,MAAM,EAAE,MAAM,CAAC;IACf,KAAK,EAAE;QACL,WAAW,EAAE,MAAM,CAAC;QACpB,YAAY,EAAE,MAAM,CAAC;QACrB,WAAW,EAAE,MAAM,CAAC;KACrB,CAAC;CACH;AAED;;;;;GAKG;AACH,wBAAsB,cAAc,CAClC,MAAM,EAAE,QAAQ,EAAE,EAClB,OAAO,GAAE,cAAmB,GAC3B,OAAO,CAAC,aAAa,CAAC,CA6GxB;AAgED;;;GAGG;AACH,wBAAgB,eAAe,CAAC,MAAM,EAAE,QAAQ,EAAE,GAAG,MAAM,CAgB1D;AAED;;;GAGG;AACH,wBAAgB,gBAAgB,CAAC,IAAI,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,GAAG,MAAM,EAAE,CAoB5E"}
|
|
@@ -0,0 +1,203 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
/**
|
|
3
|
+
* session-compactor.ts — summarize a session's chunks into a compact restart document.
|
|
4
|
+
*
|
|
5
|
+
* Uses OpenAI chat completions with a map-reduce strategy for long sessions:
|
|
6
|
+
* 1. Single-pass for sessions whose estimated token count fits within the limit.
|
|
7
|
+
* 2. Multi-pass for longer sessions: map each window → reduce all partials → final format.
|
|
8
|
+
*
|
|
9
|
+
* Environment variables:
|
|
10
|
+
* OPENAI_API_KEY Required. Passed to the OpenAI client.
|
|
11
|
+
* OPENAI_SUMMARY_MODEL Override model (default: "gpt-5-nano").
|
|
12
|
+
* CSM_SUMMARY_MAX_OUTPUT_TOKENS Override max output tokens (default: 5000).
|
|
13
|
+
*/
|
|
14
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
15
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
16
|
+
};
|
|
17
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
18
|
+
exports.compactSession = compactSession;
|
|
19
|
+
exports.buildTranscript = buildTranscript;
|
|
20
|
+
exports.splitIntoWindows = splitIntoWindows;
|
|
21
|
+
const openai_1 = __importDefault(require("openai"));
|
|
22
|
+
/**
|
|
23
|
+
* Summarizes the given ordered chunks into a restart document ready to paste
|
|
24
|
+
* into a new AI coding session.
|
|
25
|
+
*
|
|
26
|
+
* @throws Error if OPENAI_API_KEY is missing or any OpenAI call fails.
|
|
27
|
+
*/
|
|
28
|
+
async function compactSession(chunks, options = {}) {
|
|
29
|
+
const model = options.model ??
|
|
30
|
+
process.env.OPENAI_SUMMARY_MODEL ??
|
|
31
|
+
"gpt-5-nano";
|
|
32
|
+
const maxOutputTokens = options.maxOutputTokens ??
|
|
33
|
+
Number(process.env.CSM_SUMMARY_MAX_OUTPUT_TOKENS ?? "5000");
|
|
34
|
+
const apiKey = process.env.OPENAI_API_KEY;
|
|
35
|
+
if (!apiKey) {
|
|
36
|
+
throw new Error("OPENAI_API_KEY environment variable is required for session compaction.");
|
|
37
|
+
}
|
|
38
|
+
const client = new openai_1.default({ apiKey });
|
|
39
|
+
const useLowReasoningEffort = supportsLowReasoningEffort(model);
|
|
40
|
+
const usageTotals = {
|
|
41
|
+
inputTokens: 0,
|
|
42
|
+
outputTokens: 0,
|
|
43
|
+
totalTokens: 0,
|
|
44
|
+
};
|
|
45
|
+
async function runCompletion(messages, maxCompletionTokens) {
|
|
46
|
+
const response = await client.chat.completions.create({
|
|
47
|
+
model,
|
|
48
|
+
max_completion_tokens: maxCompletionTokens,
|
|
49
|
+
...(useLowReasoningEffort ? { reasoning_effort: "low" } : {}),
|
|
50
|
+
messages,
|
|
51
|
+
});
|
|
52
|
+
const promptTokens = response.usage?.prompt_tokens ?? 0;
|
|
53
|
+
const completionTokens = response.usage?.completion_tokens ?? 0;
|
|
54
|
+
const totalTokens = response.usage?.total_tokens ?? (promptTokens + completionTokens);
|
|
55
|
+
usageTotals.inputTokens += promptTokens;
|
|
56
|
+
usageTotals.outputTokens += completionTokens;
|
|
57
|
+
usageTotals.totalTokens += totalTokens;
|
|
58
|
+
return response.choices[0]?.message?.content ?? "";
|
|
59
|
+
}
|
|
60
|
+
const transcript = buildTranscript(chunks);
|
|
61
|
+
// Single-pass threshold: ~100k tokens (≈ 400k chars).
|
|
62
|
+
const SINGLE_PASS_CHAR_LIMIT = 400000;
|
|
63
|
+
let digest;
|
|
64
|
+
let passes;
|
|
65
|
+
if (transcript.length <= SINGLE_PASS_CHAR_LIMIT) {
|
|
66
|
+
// Single pass: summarize the whole transcript at once.
|
|
67
|
+
digest = await runCompletion([
|
|
68
|
+
{ role: "system", content: MAP_SYSTEM_PROMPT },
|
|
69
|
+
{ role: "user", content: transcript },
|
|
70
|
+
], maxOutputTokens);
|
|
71
|
+
passes = 1;
|
|
72
|
+
}
|
|
73
|
+
else {
|
|
74
|
+
// Multi-pass: split into ~80k-token windows (~320k chars), map then reduce.
|
|
75
|
+
const WINDOW_CHARS = 320000;
|
|
76
|
+
const windows = splitIntoWindows(transcript, WINDOW_CHARS);
|
|
77
|
+
// Map phase: summarize each window independently.
|
|
78
|
+
const partials = [];
|
|
79
|
+
const perWindowTokens = Math.max(500, Math.ceil(maxOutputTokens / windows.length));
|
|
80
|
+
for (const window of windows) {
|
|
81
|
+
const partial = await runCompletion([
|
|
82
|
+
{ role: "system", content: MAP_SYSTEM_PROMPT },
|
|
83
|
+
{ role: "user", content: window },
|
|
84
|
+
], perWindowTokens);
|
|
85
|
+
partials.push(partial);
|
|
86
|
+
}
|
|
87
|
+
// Reduce phase: merge all partial summaries.
|
|
88
|
+
const combined = partials.join("\n\n---\n\n");
|
|
89
|
+
digest = await runCompletion([
|
|
90
|
+
{ role: "system", content: REDUCE_SYSTEM_PROMPT },
|
|
91
|
+
{ role: "user", content: combined },
|
|
92
|
+
], maxOutputTokens);
|
|
93
|
+
passes = windows.length + 1; // N map passes + 1 reduce pass
|
|
94
|
+
}
|
|
95
|
+
// Final formatting pass: structure the digest into a restart document.
|
|
96
|
+
const summary = await runCompletion([
|
|
97
|
+
{
|
|
98
|
+
role: "system",
|
|
99
|
+
content: finalSystemPrompt(maxOutputTokens),
|
|
100
|
+
},
|
|
101
|
+
{ role: "user", content: digest },
|
|
102
|
+
], maxOutputTokens);
|
|
103
|
+
passes += 1;
|
|
104
|
+
return { summary, model, passes, usage: usageTotals };
|
|
105
|
+
}
|
|
106
|
+
// ---------------------------------------------------------------------------
|
|
107
|
+
// Prompts
|
|
108
|
+
// ---------------------------------------------------------------------------
|
|
109
|
+
const MAP_SYSTEM_PROMPT = `\
|
|
110
|
+
You are summarizing a segment of an AI coding session transcript.
|
|
111
|
+
|
|
112
|
+
Extract a concise faithful digest that preserves, in chronological order:
|
|
113
|
+
- Key decisions made and their rationale
|
|
114
|
+
- Failed attempts and why they failed
|
|
115
|
+
- Constraints and requirements discovered during the session
|
|
116
|
+
- Code file paths, function names, and data structures mentioned
|
|
117
|
+
- Unresolved issues or open questions
|
|
118
|
+
|
|
119
|
+
Be concise and structured. Use bullet points. Preserve technical specifics.
|
|
120
|
+
Do NOT add opinions or filler. Only what's in the transcript.`;
|
|
121
|
+
const REDUCE_SYSTEM_PROMPT = `\
|
|
122
|
+
You are merging partial summaries of an AI coding session into a single coherent digest.
|
|
123
|
+
|
|
124
|
+
Combine the summaries into one continuous narrative that:
|
|
125
|
+
- Preserves chronological order
|
|
126
|
+
- Includes all unique key decisions and rationale
|
|
127
|
+
- Includes all failed attempts and lessons learned
|
|
128
|
+
- Includes all constraints and requirements
|
|
129
|
+
- Includes all code file paths, function names, and data structures
|
|
130
|
+
- Includes all unresolved issues and remaining work
|
|
131
|
+
|
|
132
|
+
Remove redundancy. Preserve all unique technical details.
|
|
133
|
+
Output bullet-point lists, not prose paragraphs.`;
|
|
134
|
+
function finalSystemPrompt(maxOutputTokens) {
|
|
135
|
+
return `\
|
|
136
|
+
You are creating a "session restart document" for an AI coding session.
|
|
137
|
+
|
|
138
|
+
Transform the session digest into a structured document with these sections:
|
|
139
|
+
|
|
140
|
+
## Context
|
|
141
|
+
What was being built or fixed, and why.
|
|
142
|
+
|
|
143
|
+
## Key Decisions
|
|
144
|
+
Architectural and implementation choices made during the session.
|
|
145
|
+
|
|
146
|
+
## Current State
|
|
147
|
+
What was completed, what is in progress, and what files/code exist now.
|
|
148
|
+
|
|
149
|
+
## Unresolved Issues
|
|
150
|
+
Blockers, open questions, or known bugs not yet fixed.
|
|
151
|
+
|
|
152
|
+
Keep the total output under ${maxOutputTokens} tokens. Be precise and actionable.
|
|
153
|
+
Preserve every technical detail (file paths, function names, error messages).`;
|
|
154
|
+
}
|
|
155
|
+
function supportsLowReasoningEffort(model) {
|
|
156
|
+
const normalized = model.toLowerCase();
|
|
157
|
+
return normalized.startsWith("gpt-5") || normalized.startsWith("o1") || normalized.startsWith("o3") || normalized.startsWith("o4");
|
|
158
|
+
}
|
|
159
|
+
// ---------------------------------------------------------------------------
|
|
160
|
+
// Helpers
|
|
161
|
+
// ---------------------------------------------------------------------------
|
|
162
|
+
/**
|
|
163
|
+
* Builds a human-readable transcript from ordered chunk rows.
|
|
164
|
+
* Groups consecutive chunks with the same section label under a single header.
|
|
165
|
+
*/
|
|
166
|
+
function buildTranscript(chunks) {
|
|
167
|
+
if (chunks.length === 0)
|
|
168
|
+
return "";
|
|
169
|
+
const lines = [];
|
|
170
|
+
let lastSection = "";
|
|
171
|
+
for (const chunk of chunks) {
|
|
172
|
+
const section = chunk.section || "Unknown";
|
|
173
|
+
if (section !== lastSection) {
|
|
174
|
+
lines.push(`\n### ${section}`);
|
|
175
|
+
lastSection = section;
|
|
176
|
+
}
|
|
177
|
+
lines.push(chunk.content);
|
|
178
|
+
}
|
|
179
|
+
return lines.join("\n").trimStart();
|
|
180
|
+
}
|
|
181
|
+
/**
|
|
182
|
+
* Splits `text` into windows of at most `windowChars` characters.
|
|
183
|
+
* Splits on newline boundaries when possible.
|
|
184
|
+
*/
|
|
185
|
+
function splitIntoWindows(text, windowChars) {
|
|
186
|
+
if (text.length <= windowChars)
|
|
187
|
+
return [text];
|
|
188
|
+
const windows = [];
|
|
189
|
+
let offset = 0;
|
|
190
|
+
while (offset < text.length) {
|
|
191
|
+
let end = Math.min(offset + windowChars, text.length);
|
|
192
|
+
// Try to find the last newline before the hard boundary.
|
|
193
|
+
if (end < text.length) {
|
|
194
|
+
const lastNl = text.lastIndexOf("\n", end);
|
|
195
|
+
if (lastNl > offset)
|
|
196
|
+
end = lastNl + 1;
|
|
197
|
+
}
|
|
198
|
+
windows.push(text.slice(offset, end));
|
|
199
|
+
offset = end;
|
|
200
|
+
}
|
|
201
|
+
return windows;
|
|
202
|
+
}
|
|
203
|
+
//# sourceMappingURL=session-compactor.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"session-compactor.js","sourceRoot":"","sources":["../../src/session-compactor.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "code-session-memory",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.11.0",
|
|
4
4
|
"description": "Automatically index OpenCode, Claude Code, Cursor, VS Code, and Codex sessions into a shared sqlite-vec vector database for semantic search across your AI coding history",
|
|
5
5
|
"type": "commonjs",
|
|
6
6
|
"main": "dist/src/indexer.js",
|