@supersession/sup 0.1.2 → 0.1.4
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 +6 -3
- package/dist/cli.js +95 -37
- package/dist/cli.js.map +1 -1
- package/dist/cloud.d.ts +11 -1
- package/dist/cloud.js +6 -1
- package/dist/cloud.js.map +1 -1
- package/dist/config.js +25 -13
- package/dist/config.js.map +1 -1
- package/dist/discover.d.ts +19 -1
- package/dist/discover.js +90 -3
- package/dist/discover.js.map +1 -1
- package/dist/distill/template.d.ts +9 -0
- package/dist/distill/template.js +16 -0
- package/dist/distill/template.js.map +1 -1
- package/dist/engine.d.ts +1 -1
- package/dist/engine.js +5 -6
- package/dist/engine.js.map +1 -1
- package/dist/facts.d.ts +24 -0
- package/dist/facts.js +56 -0
- package/dist/facts.js.map +1 -0
- package/dist/greeting.d.ts +5 -0
- package/dist/greeting.js +38 -0
- package/dist/greeting.js.map +1 -0
- package/dist/nsf.d.ts +2 -0
- package/dist/parsers/codex.d.ts +25 -0
- package/dist/parsers/codex.js +212 -0
- package/dist/parsers/codex.js.map +1 -0
- package/dist/parsers/cursor.d.ts +33 -0
- package/dist/parsers/cursor.js +224 -0
- package/dist/parsers/cursor.js.map +1 -0
- package/dist/redact.d.ts +12 -0
- package/dist/redact.js +15 -0
- package/dist/redact.js.map +1 -1
- package/dist/tools.js +31 -1
- package/dist/tools.js.map +1 -1
- package/package.json +1 -1
package/README.md
CHANGED
|
@@ -45,9 +45,12 @@ never silently.
|
|
|
45
45
|
|
|
46
46
|
## Status
|
|
47
47
|
|
|
48
|
-
v0.1 — local handoff engine. Source
|
|
49
|
-
|
|
50
|
-
|
|
48
|
+
v0.1 — local handoff engine + cloud vault. Source parsers (verified): Claude
|
|
49
|
+
Code, Codex CLI, Cursor — `sup` reads whichever you worked in last. Targets:
|
|
50
|
+
Claude Code, Codex, Cursor, Gemini, Antigravity. Sessions carry a title +
|
|
51
|
+
summary and version on re-push (v1, v2, …), browsable in the web dashboard.
|
|
52
|
+
`sup facts` surfaces the credentials/URLs a session generated, locally.
|
|
53
|
+
Web-chat import and teams are on the roadmap (see `SPEC.md`).
|
|
51
54
|
|
|
52
55
|
## Develop
|
|
53
56
|
|
package/dist/cli.js
CHANGED
|
@@ -14,17 +14,22 @@
|
|
|
14
14
|
import { writeFileSync, existsSync } from "node:fs";
|
|
15
15
|
import { join } from "node:path";
|
|
16
16
|
import pc from "picocolors";
|
|
17
|
-
import {
|
|
18
|
-
import { parseClaudeCode } from "./parsers/claude-code.js";
|
|
17
|
+
import { findAllSessions } from "./discover.js";
|
|
19
18
|
import { redactSession } from "./redact.js";
|
|
19
|
+
import { sessionHeadline } from "./distill/template.js";
|
|
20
20
|
import { requireSession, distillSession } from "./engine.js";
|
|
21
21
|
import { resolveTool, TOOLS } from "./tools.js";
|
|
22
22
|
import { loadConfig, saveConfig, consoleUrl } from "./config.js";
|
|
23
23
|
import { whoami, pushSession, listSessions, pullSession, claimHandle, handoffTo, listInbox } from "./cloud.js";
|
|
24
24
|
import { importFromUrl, importFromFile, ImportError } from "./import.js";
|
|
25
25
|
import { loginViaBrowser } from "./login-browser.js";
|
|
26
|
+
import { printLoginSuccess } from "./greeting.js";
|
|
26
27
|
import { assessSession } from "./health.js";
|
|
27
|
-
|
|
28
|
+
import { extractFacts } from "./facts.js";
|
|
29
|
+
/** Human label for a session's source tool ("claude-code" -> "Claude Code"). */
|
|
30
|
+
function sourceLabel(nsf) {
|
|
31
|
+
return resolveTool(nsf.provenance.tool)?.label ?? nsf.provenance.tool;
|
|
32
|
+
}
|
|
28
33
|
function die(msg) {
|
|
29
34
|
console.error(pc.red(`✗ ${msg}`));
|
|
30
35
|
process.exit(1);
|
|
@@ -72,7 +77,8 @@ function currentSession() {
|
|
|
72
77
|
}
|
|
73
78
|
}
|
|
74
79
|
async function buildBrief(forceTemplate) {
|
|
75
|
-
|
|
80
|
+
const parsed = currentSession();
|
|
81
|
+
return { brief: await distillFrom(parsed, forceTemplate), source: sourceLabel(parsed) };
|
|
76
82
|
}
|
|
77
83
|
async function cmdHandoff(toolId, opts) {
|
|
78
84
|
const tool = resolveTool(toolId);
|
|
@@ -86,8 +92,8 @@ async function cmdHandoff(toolId, opts) {
|
|
|
86
92
|
console.log(pc.yellow(`⚠ ${tool.label}'s session format is not yet verified — receiving a handoff works, ` +
|
|
87
93
|
`but reading FROM it is not supported yet.`));
|
|
88
94
|
}
|
|
89
|
-
const { brief } = await buildBrief(opts.template);
|
|
90
|
-
const target = tool.writeTarget(brief,
|
|
95
|
+
const { brief, source } = await buildBrief(opts.template);
|
|
96
|
+
const target = tool.writeTarget(brief, source);
|
|
91
97
|
if (opts.preview) {
|
|
92
98
|
console.log(pc.dim(`# Would write to ${target.file}:\n`));
|
|
93
99
|
console.log(target.body);
|
|
@@ -104,18 +110,26 @@ async function cmdHandoff(toolId, opts) {
|
|
|
104
110
|
}
|
|
105
111
|
function cmdList() {
|
|
106
112
|
const cwd = process.cwd();
|
|
107
|
-
const found =
|
|
108
|
-
if (
|
|
109
|
-
console.log(pc.dim(`No sessions found for ${cwd}`));
|
|
113
|
+
const found = findAllSessions(cwd);
|
|
114
|
+
if (found.length === 0) {
|
|
115
|
+
console.log(pc.dim(`No sessions found for ${cwd} (Claude Code, Codex, Cursor)`));
|
|
110
116
|
return;
|
|
111
117
|
}
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
|
|
118
|
+
console.log(pc.bold(`Sessions for this directory (newest first):`));
|
|
119
|
+
found.forEach((f, i) => {
|
|
120
|
+
const mark = i === 0 ? pc.cyan("→") : " ";
|
|
121
|
+
try {
|
|
122
|
+
const parsed = f.parse();
|
|
123
|
+
const title = parsed.provenance.title ? ` ${pc.bold(parsed.provenance.title)}` : "";
|
|
124
|
+
console.log(` ${mark} ${f.tool.padEnd(12)} ${parsed.turns.length} turns, ${parsed.filesTouched.length} files, branch ${parsed.provenance.gitBranch ?? "—"}${title}`);
|
|
125
|
+
console.log(pc.dim(` ${f.filePath}`));
|
|
126
|
+
}
|
|
127
|
+
catch (e) {
|
|
128
|
+
console.log(` ${mark} ${f.tool.padEnd(12)} ${pc.dim(`(unreadable: ${e instanceof Error ? e.message : e})`)}`);
|
|
129
|
+
}
|
|
130
|
+
});
|
|
131
|
+
if (found.length > 1)
|
|
132
|
+
console.log(pc.dim(`\n sup uses the newest (→) for handoffs.`));
|
|
119
133
|
}
|
|
120
134
|
/** Distill an NSF and write the target tool's kickoff file. Shared by pull/import. */
|
|
121
135
|
async function writeHandoff(nsf, toolId, sourceLabel) {
|
|
@@ -186,6 +200,34 @@ function printHealth(session) {
|
|
|
186
200
|
function cmdStatus() {
|
|
187
201
|
printHealth(currentSession());
|
|
188
202
|
}
|
|
203
|
+
/**
|
|
204
|
+
* `sup facts` — the anti-scroll command. Surfaces credentials, URLs, and
|
|
205
|
+
* credential mentions from the local transcript. Never uploads anything;
|
|
206
|
+
* push-side redaction is untouched.
|
|
207
|
+
*/
|
|
208
|
+
function cmdFacts() {
|
|
209
|
+
const session = currentSession();
|
|
210
|
+
const facts = extractFacts(session);
|
|
211
|
+
const printGroup = (heading, items, color) => {
|
|
212
|
+
if (items.length === 0)
|
|
213
|
+
return;
|
|
214
|
+
console.log(pc.bold(`\n ${heading}`));
|
|
215
|
+
for (const f of items) {
|
|
216
|
+
console.log(` ${color(f.value)} ${pc.dim(`(${f.label}, turn ${f.turn})`)}`);
|
|
217
|
+
}
|
|
218
|
+
};
|
|
219
|
+
console.log(pc.bold("Session facts") + pc.dim(" — local only, never uploaded"));
|
|
220
|
+
printGroup("Secrets & keys the session touched", facts.secrets, pc.yellow);
|
|
221
|
+
printGroup("URLs & ports", facts.urls, pc.cyan);
|
|
222
|
+
printGroup("Credential mentions (verbatim lines)", facts.credentialLines, (s) => s);
|
|
223
|
+
const total = facts.secrets.length + facts.urls.length + facts.credentialLines.length;
|
|
224
|
+
if (total === 0) {
|
|
225
|
+
console.log(pc.dim("\n Nothing found — no secrets, URLs, or credential mentions in this session."));
|
|
226
|
+
}
|
|
227
|
+
else {
|
|
228
|
+
console.log(pc.dim(`\n ${total} fact(s). These stay on this machine — \`sup push\` still redacts secrets.`));
|
|
229
|
+
}
|
|
230
|
+
}
|
|
189
231
|
/**
|
|
190
232
|
* Refresh: continue THIS tool's work in a brand-new session. Same engine as a
|
|
191
233
|
* handoff, but the target is the source tool — and the distill reads the full
|
|
@@ -223,7 +265,7 @@ async function cmdHandoffTo(handle) {
|
|
|
223
265
|
// Push the current session, then hand it to the teammate.
|
|
224
266
|
const parsed = currentSession();
|
|
225
267
|
const { session } = redactSession(parsed);
|
|
226
|
-
const { id } = await pushSession(session);
|
|
268
|
+
const { id } = await pushSession(session, sessionHeadline(session));
|
|
227
269
|
const { to } = await handoffTo(handle, id);
|
|
228
270
|
console.log(pc.green(`✓ Handed off your session to ${pc.bold(to)}`));
|
|
229
271
|
console.log(pc.dim(` They'll see it with: sup inbox → sup accept <tool>`));
|
|
@@ -239,6 +281,8 @@ async function cmdInbox() {
|
|
|
239
281
|
const from = s.from_handle ? `@${s.from_handle}` : "someone";
|
|
240
282
|
const mark = i === 0 ? pc.cyan("→") : " ";
|
|
241
283
|
console.log(` ${mark} ${from.padEnd(14)} ${s.source_tool}, ${s.turns} turns ${pc.dim(s.id)}`);
|
|
284
|
+
if (s.title)
|
|
285
|
+
console.log(` ${pc.bold(s.title)}${s.summary ? pc.dim(` — ${s.summary}`) : ""}`);
|
|
242
286
|
});
|
|
243
287
|
console.log(pc.dim(`\n Accept the newest with: sup accept <tool>`));
|
|
244
288
|
}
|
|
@@ -266,14 +310,10 @@ async function cmdLogin(token) {
|
|
|
266
310
|
console.log(pc.dim("Opening browser to sign in…"));
|
|
267
311
|
try {
|
|
268
312
|
const { token: minted } = await loginViaBrowser(url);
|
|
269
|
-
saveConfig({ ...cfg, token: minted });
|
|
313
|
+
saveConfig({ ...cfg, token: minted, gatewayUrl: cfg.gatewayUrl, consoleUrl: url });
|
|
270
314
|
const acct = await whoami();
|
|
271
315
|
const who = acct.handle ? `@${acct.handle}` : acct.email ?? acct.id;
|
|
272
|
-
|
|
273
|
-
console.log(pc.dim(" Token saved to ~/.supersession/config.json"));
|
|
274
|
-
if (!acct.handle) {
|
|
275
|
-
console.log(pc.dim(` Pick a handle: ${url.replace(/\/$/, "")}/welcome`));
|
|
276
|
-
}
|
|
316
|
+
printLoginSuccess(who);
|
|
277
317
|
}
|
|
278
318
|
catch (e) {
|
|
279
319
|
die(e instanceof Error ? e.message : String(e));
|
|
@@ -291,25 +331,38 @@ async function cmdPush() {
|
|
|
291
331
|
const parsed = currentSession();
|
|
292
332
|
// Redact before it ever leaves the machine.
|
|
293
333
|
const { session, hits } = redactSession(parsed);
|
|
294
|
-
const
|
|
295
|
-
|
|
334
|
+
const headline = sessionHeadline(session);
|
|
335
|
+
const { id, bytes, version } = await pushSession(session, headline);
|
|
336
|
+
const vLabel = version > 1 ? pc.cyan(` v${version}`) : "";
|
|
337
|
+
console.log(pc.green(`✓ Pushed session ${pc.bold(id)}${vLabel} (${session.turns.length} turns, ${bytes} bytes)`));
|
|
338
|
+
console.log(` ${pc.bold(headline.title)}`);
|
|
339
|
+
if (version > 1)
|
|
340
|
+
console.log(pc.dim(` new checkpoint of this session — earlier versions kept`));
|
|
296
341
|
if (hits > 0)
|
|
297
342
|
console.log(pc.dim(` ${hits} secret(s) redacted before upload`));
|
|
298
343
|
console.log(pc.dim(` Pull it on another machine with: sup pull <tool>`));
|
|
299
344
|
}
|
|
300
|
-
async function cmdPull(toolId) {
|
|
345
|
+
async function cmdPull(toolId, sessionId) {
|
|
301
346
|
if (!toolId)
|
|
302
|
-
die("Usage: sup pull <tool> (e.g. sup pull codex)");
|
|
347
|
+
die("Usage: sup pull <tool> [session-id] (e.g. sup pull codex)");
|
|
303
348
|
const tool = resolveTool(toolId);
|
|
304
349
|
if (!tool?.writeTarget)
|
|
305
350
|
die(`Unknown or unsupported tool "${toolId}".`);
|
|
306
|
-
|
|
307
|
-
if (
|
|
308
|
-
|
|
309
|
-
|
|
310
|
-
|
|
311
|
-
|
|
312
|
-
|
|
351
|
+
let picked;
|
|
352
|
+
if (sessionId) {
|
|
353
|
+
picked = { id: sessionId };
|
|
354
|
+
}
|
|
355
|
+
else {
|
|
356
|
+
const sessions = await listSessions();
|
|
357
|
+
if (sessions.length === 0)
|
|
358
|
+
die("No sessions in your cloud vault yet. Run `sup push` first.");
|
|
359
|
+
picked = sessions[0];
|
|
360
|
+
}
|
|
361
|
+
const nsf = await pullSession(picked.id);
|
|
362
|
+
const label = picked.title ? ` — ${picked.title}` : "";
|
|
363
|
+
const v = picked.version && picked.version > 1 ? ` v${picked.version}` : "";
|
|
364
|
+
console.log(pc.green(`✓ Pulled ${picked.id}${v}${label} and handed off to ${tool.label}`));
|
|
365
|
+
await writeHandoff(nsf, toolId, sourceLabel(nsf));
|
|
313
366
|
}
|
|
314
367
|
function cmdHelp() {
|
|
315
368
|
console.log(`${pc.bold("supersession")} — hand off your AI coding session to any tool.
|
|
@@ -319,11 +372,13 @@ ${pc.bold("Usage")}
|
|
|
319
372
|
clean context window (beats /compact: distills the
|
|
320
373
|
complete on-disk transcript, not the degraded window)
|
|
321
374
|
sup status Session health: size + context-rot signals
|
|
375
|
+
sup facts Credentials, URLs & ports from this session — local
|
|
376
|
+
only, never uploaded (stop scrolling for that password)
|
|
322
377
|
sup <tool> Hand off this directory's latest session to <tool>
|
|
323
378
|
sup preview <tool> Show the brief that would be written (writes nothing)
|
|
324
379
|
sup import <src> <tool> Import a ChatGPT/Claude chat (link or export.json)
|
|
325
380
|
and hand it off to a coding tool
|
|
326
|
-
sup list Show
|
|
381
|
+
sup list Show sessions found here (Claude Code, Codex, Cursor)
|
|
327
382
|
sup --help This help
|
|
328
383
|
|
|
329
384
|
${pc.bold("Cloud (Pro)")}
|
|
@@ -331,7 +386,8 @@ ${pc.bold("Cloud (Pro)")}
|
|
|
331
386
|
sup login <token> Save a token manually (CI/scripts)
|
|
332
387
|
sup whoami Show account + credits
|
|
333
388
|
sup push Upload this directory's session to your vault
|
|
334
|
-
sup pull <tool>
|
|
389
|
+
sup pull <tool> [id] Fetch a vault session (latest, or a specific id/version)
|
|
390
|
+
and hand it off to <tool>
|
|
335
391
|
|
|
336
392
|
${pc.bold("Team handoff (Pro)")}
|
|
337
393
|
sup handle <name> Claim your @handle
|
|
@@ -369,6 +425,8 @@ async function main(argv) {
|
|
|
369
425
|
return cmdList();
|
|
370
426
|
case "status":
|
|
371
427
|
return cmdStatus();
|
|
428
|
+
case "facts":
|
|
429
|
+
return cmdFacts();
|
|
372
430
|
case "refresh":
|
|
373
431
|
return cmdRefresh({ template });
|
|
374
432
|
case "login":
|
|
@@ -378,7 +436,7 @@ async function main(argv) {
|
|
|
378
436
|
case "push":
|
|
379
437
|
return cmdPush();
|
|
380
438
|
case "pull":
|
|
381
|
-
return cmdPull(rest[0]);
|
|
439
|
+
return cmdPull(rest[0], rest[1]);
|
|
382
440
|
case "import":
|
|
383
441
|
return cmdImport(rest[0], rest[1]);
|
|
384
442
|
case "handle":
|
package/dist/cli.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"cli.js","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"cli.js","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":";AACA;;;;;;;;;;;GAWG;AAEH,OAAO,EAAE,aAAa,EAAE,UAAU,EAAE,MAAM,SAAS,CAAC;AACpD,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AACjC,OAAO,EAAE,MAAM,YAAY,CAAC;AAC5B,OAAO,EAAE,eAAe,EAAE,MAAM,eAAe,CAAC;AAChD,OAAO,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAC5C,OAAO,EAAE,eAAe,EAAc,MAAM,uBAAuB,CAAC;AACpE,OAAO,EAAE,cAAc,EAAE,cAAc,EAAE,MAAM,aAAa,CAAC;AAC7D,OAAO,EAAE,WAAW,EAAE,KAAK,EAAE,MAAM,YAAY,CAAC;AAChD,OAAO,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AACjE,OAAO,EAAE,MAAM,EAAE,WAAW,EAAE,YAAY,EAAE,WAAW,EAAE,WAAW,EAAE,SAAS,EAAE,SAAS,EAAE,MAAM,YAAY,CAAC;AAC/G,OAAO,EAAE,aAAa,EAAE,cAAc,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AACzE,OAAO,EAAE,eAAe,EAAE,MAAM,oBAAoB,CAAC;AACrD,OAAO,EAAE,iBAAiB,EAAE,MAAM,eAAe,CAAC;AAElD,OAAO,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAC5C,OAAO,EAAE,YAAY,EAAa,MAAM,YAAY,CAAC;AAErD,gFAAgF;AAChF,SAAS,WAAW,CAAC,GAAe;IAClC,OAAO,WAAW,CAAC,GAAG,CAAC,UAAU,CAAC,IAAI,CAAC,EAAE,KAAK,IAAI,GAAG,CAAC,UAAU,CAAC,IAAI,CAAC;AACxE,CAAC;AAED,SAAS,GAAG,CAAC,GAAW;IACtB,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC,GAAG,CAAC,KAAK,GAAG,EAAE,CAAC,CAAC,CAAC;IAClC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;AAClB,CAAC;AAED,SAAS,aAAa,CAAC,KAAY;IACjC,MAAM,CAAC,GAAG,KAAK,CAAC,QAAQ,CAAC;IACzB,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,IAAI,CAAC,qBAAqB,CAAC,CAAC,CAAC;IAC5C,MAAM,SAAS,GACb,KAAK,CAAC,IAAI,KAAK,OAAO;QACpB,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,2CAA2C,CAAC;QACvD,CAAC,CAAC,EAAE,CAAC,GAAG,CAAC,wCAAwC,CAAC,CAAC;IACvD,OAAO,CAAC,GAAG,CAAC,WAAW,SAAS,EAAE,CAAC,CAAC;IACpC,IAAI,KAAK,CAAC,IAAI,KAAK,OAAO,EAAE,CAAC;QAC3B,OAAO,CAAC,GAAG,CACT,KAAK,EAAE,CAAC,KAAK,CAAC,GAAG,CAAC,IAAI,KAAK,CAAC,SAAS,EAAE,MAAM,IAAI,CAAC,eAAe,KAAK,CAAC,QAAQ,EAAE,MAAM,IAAI,CAAC,sBAAsB,CACnH,CAAC;IACJ,CAAC;IACD,OAAO,CAAC,GAAG,CAAC,KAAK,EAAE,CAAC,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,aAAa,yBAAyB,CAAC,CAAC;IAC5E,IAAI,CAAC,CAAC,eAAe,GAAG,CAAC;QACvB,OAAO,CAAC,GAAG,CAAC,KAAK,EAAE,CAAC,MAAM,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,eAAe,6CAA6C,CAAC,CAAC;IACrG,IAAI,CAAC,CAAC,eAAe,GAAG,CAAC;QACvB,OAAO,CAAC,GAAG,CAAC,KAAK,EAAE,CAAC,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,eAAe,oCAAoC,CAAC,CAAC;IAC3F,IAAI,CAAC,CAAC,YAAY,CAAC,MAAM,EAAE,CAAC;QAC1B,MAAM,KAAK,GAAG,CAAC,CAAC,YAAY,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC;QAC9D,OAAO,CAAC,GAAG,CAAC,KAAK,EAAE,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,EAAE,CAAC,GAAG,CAAC,GAAG,KAAK,sCAAsC,CAAC,EAAE,CAAC,CAAC;QAC1F,KAAK,MAAM,CAAC,IAAI,CAAC,CAAC,YAAY;YAAE,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC,KAAK,KAAK,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC;IACvF,CAAC;AACH,CAAC;AAED;;;GAGG;AACH,4EAA4E;AAC5E,KAAK,UAAU,WAAW,CAAC,MAAkB,EAAE,aAAsB;IACnE,MAAM,EAAE,KAAK,EAAE,IAAI,EAAE,GAAG,MAAM,cAAc,CAAC,MAAM,EAAE,aAAa,CAAC,CAAC;IACpE,IAAI,IAAI;QAAE,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,KAAK,IAAI,EAAE,CAAC,CAAC,CAAC;IAC3C,OAAO,KAAK,CAAC;AACf,CAAC;AAED,wEAAwE;AACxE,SAAS,cAAc;IACrB,IAAI,CAAC;QACH,OAAO,cAAc,CAAC,OAAO,CAAC,GAAG,EAAE,CAAC,CAAC;IACvC,CAAC;IAAC,OAAO,CAAC,EAAE,CAAC;QACX,GAAG,CAAC,CAAC,YAAY,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC;IAClD,CAAC;AACH,CAAC;AAED,KAAK,UAAU,UAAU,CAAC,aAAsB;IAC9C,MAAM,MAAM,GAAG,cAAc,EAAE,CAAC;IAChC,OAAO,EAAE,KAAK,EAAE,MAAM,WAAW,CAAC,MAAM,EAAE,aAAa,CAAC,EAAE,MAAM,EAAE,WAAW,CAAC,MAAM,CAAC,EAAE,CAAC;AAC1F,CAAC;AAED,KAAK,UAAU,UAAU,CAAC,MAAc,EAAE,IAA6C;IACrF,MAAM,IAAI,GAAG,WAAW,CAAC,MAAM,CAAC,CAAC;IACjC,IAAI,CAAC,IAAI,EAAE,CAAC;QACV,MAAM,KAAK,GAAG,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAC5C,GAAG,CAAC,iBAAiB,MAAM,iBAAiB,KAAK,EAAE,CAAC,CAAC;IACvD,CAAC;IACD,IAAI,CAAC,IAAK,CAAC,WAAW;QAAE,GAAG,CAAC,SAAS,MAAM,gCAAgC,CAAC,CAAC;IAE7E,IAAI,CAAC,IAAK,CAAC,QAAQ,EAAE,CAAC;QACpB,OAAO,CAAC,GAAG,CACT,EAAE,CAAC,MAAM,CACP,KAAK,IAAK,CAAC,KAAK,qEAAqE;YACnF,2CAA2C,CAC9C,CACF,CAAC;IACJ,CAAC;IAED,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,GAAG,MAAM,UAAU,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;IAC1D,MAAM,MAAM,GAAG,IAAK,CAAC,WAAY,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC;IAEjD,IAAI,IAAI,CAAC,OAAO,EAAE,CAAC;QACjB,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,oBAAoB,MAAM,CAAC,IAAI,KAAK,CAAC,CAAC,CAAC;QAC1D,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;QACzB,aAAa,CAAC,KAAK,CAAC,CAAC;QACrB,OAAO;IACT,CAAC;IAED,MAAM,OAAO,GAAG,IAAI,CAAC,OAAO,CAAC,GAAG,EAAE,EAAE,MAAM,CAAC,IAAI,CAAC,CAAC;IACjD,aAAa,CAAC,OAAO,EAAE,MAAM,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;IAE5C,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,KAAK,CAAC,qBAAqB,IAAK,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC;IAC1D,OAAO,CAAC,GAAG,CAAC,WAAW,EAAE,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,KAAK,KAAK,CAAC,KAAK,CAAC,MAAM,WAAW,KAAK,CAAC,QAAQ,CAAC,MAAM,qBAAqB,CAAC,CAAC;IACzH,aAAa,CAAC,KAAK,CAAC,CAAC;IACrB,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,IAAI,CAAC,oBAAoB,CAAC,CAAC,CAAC;IAC3C,OAAO,CAAC,GAAG,CAAC,OAAO,EAAE,CAAC,IAAI,CAAC,MAAM,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC;AACrD,CAAC;AAED,SAAS,OAAO;IACd,MAAM,GAAG,GAAG,OAAO,CAAC,GAAG,EAAE,CAAC;IAC1B,MAAM,KAAK,GAAG,eAAe,CAAC,GAAG,CAAC,CAAC;IACnC,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACvB,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,yBAAyB,GAAG,+BAA+B,CAAC,CAAC,CAAC;QACjF,OAAO;IACT,CAAC;IACD,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,IAAI,CAAC,6CAA6C,CAAC,CAAC,CAAC;IACpE,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE;QACrB,MAAM,IAAI,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC;QAC1C,IAAI,CAAC;YACH,MAAM,MAAM,GAAG,CAAC,CAAC,KAAK,EAAE,CAAC;YACzB,MAAM,KAAK,GAAG,MAAM,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC,CAAC,KAAK,EAAE,CAAC,IAAI,CAAC,MAAM,CAAC,UAAU,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;YACrF,OAAO,CAAC,GAAG,CACT,KAAK,IAAI,IAAI,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,IAAI,MAAM,CAAC,KAAK,CAAC,MAAM,WAAW,MAAM,CAAC,YAAY,CAAC,MAAM,kBAAkB,MAAM,CAAC,UAAU,CAAC,SAAS,IAAI,GAAG,GAAG,KAAK,EAAE,CACzJ,CAAC;YACF,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC;QAC7C,CAAC;QAAC,OAAO,CAAC,EAAE,CAAC;YACX,OAAO,CAAC,GAAG,CAAC,KAAK,IAAI,IAAI,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,IAAI,EAAE,CAAC,GAAG,CAAC,gBAAgB,CAAC,YAAY,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;QACjH,CAAC;IACH,CAAC,CAAC,CAAC;IACH,IAAI,KAAK,CAAC,MAAM,GAAG,CAAC;QAAE,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,2CAA2C,CAAC,CAAC,CAAC;AACzF,CAAC;AAED,sFAAsF;AACtF,KAAK,UAAU,YAAY,CAAC,GAAe,EAAE,MAAc,EAAE,WAAmB;IAC9E,MAAM,IAAI,GAAG,WAAW,CAAC,MAAM,CAAC,CAAC;IACjC,IAAI,CAAC,IAAI,EAAE,WAAW;QAAE,GAAG,CAAC,gCAAgC,MAAM,WAAW,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IAC9G,MAAM,KAAK,GAAG,MAAM,WAAW,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC;IAC5C,MAAM,MAAM,GAAG,IAAK,CAAC,WAAY,CAAC,KAAK,EAAE,WAAW,CAAC,CAAC;IACtD,aAAa,CAAC,IAAI,CAAC,OAAO,CAAC,GAAG,EAAE,EAAE,MAAM,CAAC,IAAI,CAAC,EAAE,MAAM,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;IACrE,OAAO,CAAC,GAAG,CAAC,WAAW,EAAE,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IAC/C,aAAa,CAAC,KAAK,CAAC,CAAC;IACrB,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,IAAI,CAAC,oBAAoB,CAAC,CAAC,CAAC;IAC3C,OAAO,CAAC,GAAG,CAAC,OAAO,EAAE,CAAC,IAAI,CAAC,MAAM,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC;IACnD,OAAO,KAAK,CAAC;AACf,CAAC;AAED,KAAK,UAAU,SAAS,CAAC,MAA0B,EAAE,MAA0B;IAC7E,IAAI,CAAC,MAAM,IAAI,CAAC,MAAM;QACpB,GAAG,CAAC,2FAA2F,CAAC,CAAC;IAEnG,IAAI,GAAe,CAAC;IACpB,MAAM,KAAK,GAAG,eAAe,CAAC,IAAI,CAAC,MAAO,CAAC,CAAC;IAC5C,IAAI,CAAC;QACH,IAAI,KAAK,EAAE,CAAC;YACV,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,oBAAoB,MAAM,IAAI,CAAC,CAAC,CAAC;YACpD,GAAG,GAAG,MAAM,aAAa,CAAC,MAAO,CAAC,CAAC;QACrC,CAAC;aAAM,IAAI,UAAU,CAAC,MAAO,CAAC,EAAE,CAAC;YAC/B,GAAG,GAAG,cAAc,CAAC,MAAO,EAAE,SAAS,CAAC,CAAC;QAC3C,CAAC;aAAM,CAAC;YACN,GAAG,CAAC,+BAA+B,MAAM,EAAE,CAAC,CAAC;QAC/C,CAAC;IACH,CAAC;IAAC,OAAO,CAAC,EAAE,CAAC;QACX,IAAI,CAAC,YAAY,WAAW;YAAE,GAAG,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC;QAC7C,MAAM,CAAC,CAAC;IACV,CAAC;IAED,MAAM,KAAK,GAAG,GAAI,CAAC,UAAU,CAAC,IAAI,KAAK,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,GAAI,CAAC,UAAU,CAAC,IAAI,CAAC;IACpF,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,KAAK,CAAC,cAAc,GAAI,CAAC,KAAK,CAAC,MAAM,kBAAkB,KAAK,EAAE,CAAC,CAAC,CAAC;IAChF,MAAM,YAAY,CAAC,GAAI,EAAE,MAAO,EAAE,KAAK,CAAC,CAAC;AAC3C,CAAC;AAED,SAAS,WAAW,CAAC,OAAmB;IACtC,MAAM,CAAC,GAAG,aAAa,CAAC,OAAO,CAAC,CAAC;IACjC,MAAM,CAAC,GAAG,CAAC,CAAS,EAAE,EAAE,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC;IACpD,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,IAAI,CAAC,iBAAiB,CAAC,GAAG,EAAE,CAAC,GAAG,CAAC,4DAA4D,CAAC,CAAC,CAAC;IAC/G,OAAO,CAAC,GAAG,CAAC,mBAAmB,CAAC,CAAC,KAAK,EAAE,CAAC,CAAC;IAC1C,OAAO,CAAC,GAAG,CAAC,oBAAoB,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,uBAAuB,CAAC,CAAC;IACvE,OAAO,CAAC,GAAG,CAAC,oBAAoB,CAAC,CAAC,CAAC,CAAC,YAAY,CAAC,gCAAgC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,UAAU,CAAC,GAAG,GAAG,CAAC,IAAI,CAAC,CAAC;IAC3H,IAAI,CAAC,CAAC,WAAW,GAAG,CAAC;QAAE,OAAO,CAAC,GAAG,CAAC,mBAAmB,CAAC,CAAC,WAAW,yBAAyB,CAAC,CAAC;IAC9F,IAAI,CAAC,CAAC,SAAS,CAAC,MAAM,GAAG,CAAC;QAAE,OAAO,CAAC,GAAG,CAAC,mBAAmB,CAAC,CAAC,SAAS,CAAC,MAAM,uCAAuC,CAAC,CAAC;IAEtH,IAAI,CAAC,CAAC,OAAO,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QAC3B,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,KAAK,CAAC,kDAAkD,CAAC,CAAC,CAAC;QAC1E,OAAO;IACT,CAAC;IACD,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;IAChB,KAAK,MAAM,CAAC,IAAI,CAAC,CAAC,OAAO,EAAE,CAAC;QAC1B,MAAM,IAAI,GAAG,CAAC,CAAC,KAAK,KAAK,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;QAC/D,OAAO,CAAC,GAAG,CAAC,KAAK,IAAI,IAAI,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC;IACvC,CAAC;IACD,IAAI,CAAC,CAAC,cAAc,EAAE,CAAC;QACrB,MAAM,MAAM,GAAG,CAAC,CAAC,SAAS,GAAG,CAAC,CAAC,YAAY,CAAC;QAC5C,OAAO,CAAC,GAAG,CACT,EAAE,CAAC,IAAI,CAAC,+BAA+B,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,qBAAqB,CAAC,CAAC,CAAC,CAAC,YAAY,CAAC,kBAAkB,CAAC,CAC/G,CAAC;QACF,OAAO,CAAC,GAAG,CACT,OAAO,EAAE,CAAC,IAAI,CAAC,aAAa,CAAC,wCAAwC,CAAC,CAAC,MAAM,CAAC,mBAAmB,CAClG,CAAC;IACJ,CAAC;AACH,CAAC;AAED,SAAS,SAAS;IAChB,WAAW,CAAC,cAAc,EAAE,CAAC,CAAC;AAChC,CAAC;AAED;;;;GAIG;AACH,SAAS,QAAQ;IACf,MAAM,OAAO,GAAG,cAAc,EAAE,CAAC;IACjC,MAAM,KAAK,GAAG,YAAY,CAAC,OAAO,CAAC,CAAC;IACpC,MAAM,UAAU,GAAG,CAAC,OAAe,EAAE,KAAa,EAAE,KAA4B,EAAE,EAAE;QAClF,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC;YAAE,OAAO;QAC/B,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,IAAI,CAAC,OAAO,OAAO,EAAE,CAAC,CAAC,CAAC;QACvC,KAAK,MAAM,CAAC,IAAI,KAAK,EAAE,CAAC;YACtB,OAAO,CAAC,GAAG,CAAC,OAAO,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,KAAK,EAAE,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,KAAK,UAAU,CAAC,CAAC,IAAI,GAAG,CAAC,EAAE,CAAC,CAAC;QAClF,CAAC;IACH,CAAC,CAAC;IAEF,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,IAAI,CAAC,eAAe,CAAC,GAAG,EAAE,CAAC,GAAG,CAAC,gCAAgC,CAAC,CAAC,CAAC;IACjF,UAAU,CAAC,oCAAoC,EAAE,KAAK,CAAC,OAAO,EAAE,EAAE,CAAC,MAAM,CAAC,CAAC;IAC3E,UAAU,CAAC,cAAc,EAAE,KAAK,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,CAAC;IAChD,UAAU,CAAC,sCAAsC,EAAE,KAAK,CAAC,eAAe,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC;IAEpF,MAAM,KAAK,GAAG,KAAK,CAAC,OAAO,CAAC,MAAM,GAAG,KAAK,CAAC,IAAI,CAAC,MAAM,GAAG,KAAK,CAAC,eAAe,CAAC,MAAM,CAAC;IACtF,IAAI,KAAK,KAAK,CAAC,EAAE,CAAC;QAChB,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,+EAA+E,CAAC,CAAC,CAAC;IACvG,CAAC;SAAM,CAAC;QACN,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,OAAO,KAAK,4EAA4E,CAAC,CAAC,CAAC;IAChH,CAAC;AACH,CAAC;AAED;;;;;GAKG;AACH,KAAK,UAAU,UAAU,CAAC,IAA2B;IACnD,MAAM,MAAM,GAAG,cAAc,EAAE,CAAC;IAChC,MAAM,MAAM,GAAG,aAAa,CAAC,MAAM,CAAC,CAAC;IACrC,IAAI,MAAM,CAAC,cAAc,EAAE,CAAC;QAC1B,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,MAAM,CAAC,gDAAgD,CAAC,CAAC,CAAC;QACzE,KAAK,MAAM,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,KAAK,KAAK,MAAM,CAAC;YAAE,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC;IAC3G,CAAC;IACD,MAAM,KAAK,GAAG,MAAM,WAAW,CAAC,MAAM,EAAE,IAAI,CAAC,QAAQ,CAAC,CAAC;IACvD,MAAM,IAAI,GAAG,WAAW,CAAC,MAAM,CAAC,UAAU,CAAC,IAAI,CAAE,CAAC;IAClD,MAAM,MAAM,GAAG,IAAI,CAAC,WAAY,CAAC,KAAK,EAAE,GAAG,IAAI,CAAC,KAAK,qBAAqB,CAAC,CAAC;IAC5E,aAAa,CAAC,IAAI,CAAC,OAAO,CAAC,GAAG,EAAE,EAAE,MAAM,CAAC,IAAI,CAAC,EAAE,MAAM,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;IAErE,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,KAAK,CAAC,yCAAyC,CAAC,CAAC,CAAC;IACjE,OAAO,CAAC,GAAG,CAAC,WAAW,EAAE,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,2BAA2B,CAAC,CAAC;IACxE,aAAa,CAAC,KAAK,CAAC,CAAC;IACrB,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,IAAI,CAAC,uBAAuB,CAAC,CAAC,CAAC;IAC9C,OAAO,CAAC,GAAG,CAAC,OAAO,EAAE,CAAC,IAAI,CAAC,MAAM,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC;AACrD,CAAC;AAED,KAAK,UAAU,SAAS,CAAC,IAAwB;IAC/C,IAAI,CAAC,IAAI;QAAE,GAAG,CAAC,wEAAwE,CAAC,CAAC;IACzF,MAAM,MAAM,GAAG,MAAM,WAAW,CAAC,IAAK,CAAC,OAAO,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,CAAC;IAC1D,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,KAAK,CAAC,wBAAwB,EAAE,CAAC,IAAI,CAAC,GAAG,GAAG,MAAM,CAAC,EAAE,CAAC,CAAC,CAAC;IACvE,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,oDAAoD,MAAM,EAAE,CAAC,CAAC,CAAC;AACpF,CAAC;AAED,KAAK,UAAU,YAAY,CAAC,MAA0B;IACpD,IAAI,CAAC,MAAM;QAAE,GAAG,CAAC,8BAA8B,CAAC,CAAC;IACjD,0DAA0D;IAC1D,MAAM,MAAM,GAAG,cAAc,EAAE,CAAC;IAChC,MAAM,EAAE,OAAO,EAAE,GAAG,aAAa,CAAC,MAAM,CAAC,CAAC;IAC1C,MAAM,EAAE,EAAE,EAAE,GAAG,MAAM,WAAW,CAAC,OAAO,EAAE,eAAe,CAAC,OAAO,CAAC,CAAC,CAAC;IACpE,MAAM,EAAE,EAAE,EAAE,GAAG,MAAM,SAAS,CAAC,MAAO,EAAE,EAAE,CAAC,CAAC;IAC5C,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,KAAK,CAAC,gCAAgC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;IACrE,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,wDAAwD,CAAC,CAAC,CAAC;AAChF,CAAC;AAED,KAAK,UAAU,QAAQ;IACrB,MAAM,KAAK,GAAG,MAAM,SAAS,EAAE,CAAC;IAChC,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACvB,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,8CAA8C,CAAC,CAAC,CAAC;QACpE,OAAO;IACT,CAAC;IACD,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,IAAI,CAAC,gCAAgC,CAAC,CAAC,CAAC;IACvD,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE;QACrB,MAAM,IAAI,GAAG,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC,SAAS,CAAC;QAC7D,MAAM,IAAI,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC;QAC1C,OAAO,CAAC,GAAG,CAAC,KAAK,IAAI,IAAI,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,IAAI,CAAC,CAAC,WAAW,KAAK,CAAC,CAAC,KAAK,YAAY,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC;QACjG,IAAI,CAAC,CAAC,KAAK;YAAE,OAAO,CAAC,GAAG,CAAC,SAAS,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;IACrG,CAAC,CAAC,CAAC;IACH,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,+CAA+C,CAAC,CAAC,CAAC;AACvE,CAAC;AAED,KAAK,UAAU,SAAS,CAAC,MAA0B;IACjD,IAAI,CAAC,MAAM;QAAE,GAAG,CAAC,wEAAwE,CAAC,CAAC;IAC3F,MAAM,KAAK,GAAG,MAAM,SAAS,EAAE,CAAC;IAChC,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC;QAAE,GAAG,CAAC,kCAAkC,CAAC,CAAC;IAChE,MAAM,MAAM,GAAG,KAAK,CAAC,CAAC,CAAE,CAAC;IACzB,MAAM,GAAG,GAAG,MAAM,WAAW,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;IACzC,MAAM,IAAI,GAAG,MAAM,CAAC,WAAW,CAAC,CAAC,CAAC,IAAI,MAAM,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC,YAAY,CAAC;IAC1E,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,KAAK,CAAC,2BAA2B,IAAI,EAAE,CAAC,CAAC,CAAC;IACzD,MAAM,YAAY,CAAC,GAAG,EAAE,MAAO,EAAE,GAAG,IAAI,YAAY,CAAC,CAAC;AACxD,CAAC;AAED,KAAK,UAAU,QAAQ,CAAC,KAAyB;IAC/C,MAAM,GAAG,GAAG,UAAU,EAAE,CAAC;IAEzB,IAAI,KAAK,EAAE,CAAC;QACV,UAAU,CAAC,EAAE,GAAG,GAAG,EAAE,KAAK,EAAE,CAAC,CAAC;QAC9B,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,KAAK,CAAC,gBAAgB,CAAC,CAAC,CAAC;QACxC,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,cAAc,GAAG,CAAC,UAAU,EAAE,CAAC,CAAC,CAAC;QACpD,OAAO;IACT,CAAC;IAED,MAAM,GAAG,GAAG,UAAU,CAAC,GAAG,CAAC,CAAC;IAC5B,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,6BAA6B,CAAC,CAAC,CAAC;IACnD,IAAI,CAAC;QACH,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,GAAG,MAAM,eAAe,CAAC,GAAG,CAAC,CAAC;QACrD,UAAU,CAAC,EAAE,GAAG,GAAG,EAAE,KAAK,EAAE,MAAM,EAAE,UAAU,EAAE,GAAG,CAAC,UAAU,EAAE,UAAU,EAAE,GAAG,EAAE,CAAC,CAAC;QACnF,MAAM,IAAI,GAAG,MAAM,MAAM,EAAE,CAAC;QAC5B,MAAM,GAAG,GAAG,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,IAAI,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,IAAI,IAAI,CAAC,EAAE,CAAC;QACpE,iBAAiB,CAAC,GAAG,CAAC,CAAC;IACzB,CAAC;IAAC,OAAO,CAAC,EAAE,CAAC;QACX,GAAG,CAAC,CAAC,YAAY,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC;IAClD,CAAC;AACH,CAAC;AAED,KAAK,UAAU,SAAS;IACtB,MAAM,IAAI,GAAG,MAAM,MAAM,EAAE,CAAC;IAC5B,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC;IAChC,OAAO,CAAC,GAAG,CAAC,cAAc,IAAI,CAAC,EAAE,EAAE,CAAC,CAAC;IACrC,OAAO,CAAC,GAAG,CAAC,cAAc,IAAI,CAAC,KAAK,IAAI,GAAG,EAAE,CAAC,CAAC;IAC/C,OAAO,CAAC,GAAG,CAAC,cAAc,IAAI,CAAC,IAAI,KAAK,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IACpF,OAAO,CAAC,GAAG,CAAC,cAAc,IAAI,CAAC,OAAO,EAAE,CAAC,CAAC;AAC5C,CAAC;AAED,KAAK,UAAU,OAAO;IACpB,MAAM,MAAM,GAAG,cAAc,EAAE,CAAC;IAChC,4CAA4C;IAC5C,MAAM,EAAE,OAAO,EAAE,IAAI,EAAE,GAAG,aAAa,CAAC,MAAM,CAAC,CAAC;IAChD,MAAM,QAAQ,GAAG,eAAe,CAAC,OAAO,CAAC,CAAC;IAC1C,MAAM,EAAE,EAAE,EAAE,KAAK,EAAE,OAAO,EAAE,GAAG,MAAM,WAAW,CAAC,OAAO,EAAE,QAAQ,CAAC,CAAC;IACpE,MAAM,MAAM,GAAG,OAAO,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,KAAK,OAAO,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;IAC1D,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,KAAK,CAAC,oBAAoB,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,GAAG,MAAM,KAAK,OAAO,CAAC,KAAK,CAAC,MAAM,WAAW,KAAK,SAAS,CAAC,CAAC,CAAC;IAClH,OAAO,CAAC,GAAG,CAAC,KAAK,EAAE,CAAC,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;IAC5C,IAAI,OAAO,GAAG,CAAC;QAAE,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,0DAA0D,CAAC,CAAC,CAAC;IACjG,IAAI,IAAI,GAAG,CAAC;QAAE,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,KAAK,IAAI,mCAAmC,CAAC,CAAC,CAAC;IAChF,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,oDAAoD,CAAC,CAAC,CAAC;AAC5E,CAAC;AAED,KAAK,UAAU,OAAO,CAAC,MAA0B,EAAE,SAAkB;IACnE,IAAI,CAAC,MAAM;QAAE,GAAG,CAAC,6DAA6D,CAAC,CAAC;IAChF,MAAM,IAAI,GAAG,WAAW,CAAC,MAAO,CAAC,CAAC;IAClC,IAAI,CAAC,IAAI,EAAE,WAAW;QAAE,GAAG,CAAC,gCAAgC,MAAM,IAAI,CAAC,CAAC;IAExE,IAAI,MAA+D,CAAC;IACpE,IAAI,SAAS,EAAE,CAAC;QACd,MAAM,GAAG,EAAE,EAAE,EAAE,SAAS,EAAE,CAAC;IAC7B,CAAC;SAAM,CAAC;QACN,MAAM,QAAQ,GAAG,MAAM,YAAY,EAAE,CAAC;QACtC,IAAI,QAAQ,CAAC,MAAM,KAAK,CAAC;YAAE,GAAG,CAAC,4DAA4D,CAAC,CAAC;QAC7F,MAAM,GAAG,QAAQ,CAAC,CAAC,CAAE,CAAC;IACxB,CAAC;IAED,MAAM,GAAG,GAAG,MAAM,WAAW,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;IACzC,MAAM,KAAK,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,MAAM,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;IACvD,MAAM,CAAC,GAAG,MAAM,CAAC,OAAO,IAAI,MAAM,CAAC,OAAO,GAAG,CAAC,CAAC,CAAC,CAAC,KAAK,MAAM,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;IAC5E,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,KAAK,CAAC,YAAY,MAAM,CAAC,EAAE,GAAG,CAAC,GAAG,KAAK,sBAAsB,IAAK,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC;IAC5F,MAAM,YAAY,CAAC,GAAG,EAAE,MAAO,EAAE,WAAW,CAAC,GAAG,CAAC,CAAC,CAAC;AACrD,CAAC;AAED,SAAS,OAAO;IACd,OAAO,CAAC,GAAG,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,cAAc,CAAC;;EAEtC,EAAE,CAAC,IAAI,CAAC,OAAO,CAAC;;;;;;;;;;;;;;EAchB,EAAE,CAAC,IAAI,CAAC,aAAa,CAAC;;;;;;;;EAQtB,EAAE,CAAC,IAAI,CAAC,oBAAoB,CAAC;;;;;;EAM7B,EAAE,CAAC,IAAI,CAAC,OAAO,CAAC;;;EAGhB,EAAE,CAAC,IAAI,CAAC,eAAe,CAAC;;;;EAIxB,EAAE,CAAC,IAAI,CAAC,OAAO,CAAC;EAChB,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC;SACnB,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,MAAM,CAAC,EAAE,CAAC,IAAI,CAAC,CAAC,KAAK,GAAG,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,GAAG,CAAC,yBAAyB,CAAC,EAAE,CAAC;SACnG,IAAI,CAAC,IAAI,CAAC;;EAEX,EAAE,CAAC,IAAI,CAAC,SAAS,CAAC;IAChB,EAAE,CAAC,GAAG,CAAC,8CAA8C,CAAC;;CAEzD,CAAC,CAAC;AACH,CAAC;AAED,KAAK,UAAU,IAAI,CAAC,IAAc;IAChC,MAAM,GAAG,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;IAC1B,iDAAiD;IACjD,MAAM,QAAQ,GAAG,GAAG,CAAC,QAAQ,CAAC,YAAY,CAAC,CAAC;IAC5C,MAAM,IAAI,GAAG,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,KAAK,YAAY,CAAC,CAAC;IAEnD,IAAI,IAAI,CAAC,MAAM,KAAK,CAAC,IAAI,IAAI,CAAC,CAAC,CAAC,KAAK,QAAQ,IAAI,IAAI,CAAC,CAAC,CAAC,KAAK,IAAI;QAAE,OAAO,OAAO,EAAE,CAAC;IAEpF,MAAM,CAAC,GAAG,EAAE,GAAG,IAAI,CAAC,GAAG,IAAI,CAAC;IAC5B,QAAQ,GAAG,EAAE,CAAC;QACZ,KAAK,MAAM;YACT,OAAO,OAAO,EAAE,CAAC;QACnB,KAAK,QAAQ;YACX,OAAO,SAAS,EAAE,CAAC;QACrB,KAAK,OAAO;YACV,OAAO,QAAQ,EAAE,CAAC;QACpB,KAAK,SAAS;YACZ,OAAO,UAAU,CAAC,EAAE,QAAQ,EAAE,CAAC,CAAC;QAClC,KAAK,OAAO;YACV,OAAO,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC;QAC3B,KAAK,QAAQ;YACX,OAAO,SAAS,EAAE,CAAC;QACrB,KAAK,MAAM;YACT,OAAO,OAAO,EAAE,CAAC;QACnB,KAAK,MAAM;YACT,OAAO,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC;QACnC,KAAK,QAAQ;YACX,OAAO,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC;QACrC,KAAK,QAAQ;YACX,OAAO,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC;QAC5B,KAAK,SAAS;YACZ,OAAO,YAAY,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC;QAC/B,KAAK,OAAO;YACV,OAAO,QAAQ,EAAE,CAAC;QACpB,KAAK,QAAQ;YACX,OAAO,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC;QAC5B,KAAK,SAAS,CAAC,CAAC,CAAC;YACf,MAAM,MAAM,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC;YACvB,IAAI,CAAC,MAAM;gBAAE,GAAG,CAAC,2BAA2B,CAAC,CAAC;YAC9C,OAAO,UAAU,CAAC,MAAO,EAAE,EAAE,OAAO,EAAE,IAAI,EAAE,QAAQ,EAAE,CAAC,CAAC;QAC1D,CAAC;QACD;YACE,+BAA+B;YAC/B,OAAO,UAAU,CAAC,GAAI,EAAE,EAAE,OAAO,EAAE,KAAK,EAAE,QAAQ,EAAE,CAAC,CAAC;IAC1D,CAAC;AACH,CAAC;AAED,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,GAAG,CAAC,CAAC,YAAY,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC"}
|
package/dist/cloud.d.ts
CHANGED
|
@@ -18,11 +18,21 @@ export interface SessionRef {
|
|
|
18
18
|
turns: number;
|
|
19
19
|
from_handle?: string | null;
|
|
20
20
|
created_at: number;
|
|
21
|
+
title?: string | null;
|
|
22
|
+
summary?: string | null;
|
|
23
|
+
/** Groups re-pushes of the same local session into one thread. */
|
|
24
|
+
client_key?: string | null;
|
|
25
|
+
/** 1, 2, 3… within a thread. Highest = latest. */
|
|
26
|
+
version?: number;
|
|
21
27
|
}
|
|
22
28
|
export declare function whoami(): Promise<Account>;
|
|
23
|
-
export declare function pushSession(nsf: NsfSession
|
|
29
|
+
export declare function pushSession(nsf: NsfSession, meta: {
|
|
30
|
+
title: string;
|
|
31
|
+
summary: string;
|
|
32
|
+
}): Promise<{
|
|
24
33
|
id: string;
|
|
25
34
|
bytes: number;
|
|
35
|
+
version: number;
|
|
26
36
|
}>;
|
|
27
37
|
export declare function listSessions(): Promise<SessionRef[]>;
|
|
28
38
|
export declare function pullSession(id: string): Promise<NsfSession>;
|
package/dist/cloud.js
CHANGED
|
@@ -32,7 +32,7 @@ export async function whoami() {
|
|
|
32
32
|
const { user } = await req("/v1/me");
|
|
33
33
|
return user;
|
|
34
34
|
}
|
|
35
|
-
export async function pushSession(nsf) {
|
|
35
|
+
export async function pushSession(nsf, meta) {
|
|
36
36
|
return req("/v1/sessions", {
|
|
37
37
|
method: "POST",
|
|
38
38
|
body: JSON.stringify({
|
|
@@ -41,6 +41,11 @@ export async function pushSession(nsf) {
|
|
|
41
41
|
cwd: nsf.provenance.cwd,
|
|
42
42
|
git_branch: nsf.provenance.gitBranch,
|
|
43
43
|
turns: nsf.turns.length,
|
|
44
|
+
title: meta.title,
|
|
45
|
+
summary: meta.summary,
|
|
46
|
+
// The tool's own session id: stable across re-pushes of the same work,
|
|
47
|
+
// so the server can version instead of duplicating.
|
|
48
|
+
client_key: nsf.provenance.sessionId ?? null,
|
|
44
49
|
}),
|
|
45
50
|
});
|
|
46
51
|
}
|
package/dist/cloud.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"cloud.js","sourceRoot":"","sources":["../src/cloud.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAGH,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;
|
|
1
|
+
{"version":3,"file":"cloud.js","sourceRoot":"","sources":["../src/cloud.ts"],"names":[],"mappings":"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"}
|
package/dist/config.js
CHANGED
|
@@ -5,9 +5,23 @@
|
|
|
5
5
|
import { readFileSync, writeFileSync, mkdirSync, chmodSync } from "node:fs";
|
|
6
6
|
import { homedir } from "node:os";
|
|
7
7
|
import { join } from "node:path";
|
|
8
|
-
//
|
|
9
|
-
const DEFAULT_GATEWAY = "https://supersession.
|
|
10
|
-
const DEFAULT_CONSOLE = "https://supersession-web.
|
|
8
|
+
// Live workers.dev URLs — update if the account subdomain changes.
|
|
9
|
+
const DEFAULT_GATEWAY = "https://supersession.supersession.workers.dev";
|
|
10
|
+
const DEFAULT_CONSOLE = "https://supersession-web.supersession.workers.dev";
|
|
11
|
+
function migrateUrl(url, fallback) {
|
|
12
|
+
if (!url)
|
|
13
|
+
return fallback;
|
|
14
|
+
if (url.includes("gozeroing.workers.dev"))
|
|
15
|
+
return fallback;
|
|
16
|
+
return url;
|
|
17
|
+
}
|
|
18
|
+
function normalizeConfig(parsed) {
|
|
19
|
+
return {
|
|
20
|
+
gatewayUrl: migrateUrl(process.env.SUPERSESSION_GATEWAY_URL ?? parsed.gatewayUrl, DEFAULT_GATEWAY),
|
|
21
|
+
consoleUrl: migrateUrl(process.env.SUPERSESSION_CONSOLE_URL ?? parsed.consoleUrl, DEFAULT_CONSOLE),
|
|
22
|
+
token: process.env.SUPERSESSION_TOKEN ?? parsed.token,
|
|
23
|
+
};
|
|
24
|
+
}
|
|
11
25
|
export function consoleUrl(cfg) {
|
|
12
26
|
return process.env.SUPERSESSION_CONSOLE_URL ?? cfg.consoleUrl ?? DEFAULT_CONSOLE;
|
|
13
27
|
}
|
|
@@ -18,18 +32,16 @@ export function loadConfig() {
|
|
|
18
32
|
try {
|
|
19
33
|
const raw = readFileSync(configPath(), "utf8");
|
|
20
34
|
const parsed = JSON.parse(raw);
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
35
|
+
const cfg = normalizeConfig(parsed);
|
|
36
|
+
// Rewrite stale workers.dev hostnames (e.g. after a subdomain rename).
|
|
37
|
+
if (parsed.gatewayUrl?.includes("gozeroing.workers.dev") ||
|
|
38
|
+
parsed.consoleUrl?.includes("gozeroing.workers.dev")) {
|
|
39
|
+
saveConfig(cfg);
|
|
40
|
+
}
|
|
41
|
+
return cfg;
|
|
26
42
|
}
|
|
27
43
|
catch {
|
|
28
|
-
return {
|
|
29
|
-
gatewayUrl: process.env.SUPERSESSION_GATEWAY_URL ?? DEFAULT_GATEWAY,
|
|
30
|
-
consoleUrl: process.env.SUPERSESSION_CONSOLE_URL ?? DEFAULT_CONSOLE,
|
|
31
|
-
token: process.env.SUPERSESSION_TOKEN,
|
|
32
|
-
};
|
|
44
|
+
return normalizeConfig({});
|
|
33
45
|
}
|
|
34
46
|
}
|
|
35
47
|
export function saveConfig(cfg) {
|
package/dist/config.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"config.js","sourceRoot":"","sources":["../src/config.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAAE,YAAY,EAAE,aAAa,EAAE,SAAS,EAAE,SAAS,EAAE,MAAM,SAAS,CAAC;AAC5E,OAAO,EAAE,OAAO,EAAE,MAAM,SAAS,CAAC;AAClC,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AAQjC,
|
|
1
|
+
{"version":3,"file":"config.js","sourceRoot":"","sources":["../src/config.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAAE,YAAY,EAAE,aAAa,EAAE,SAAS,EAAE,SAAS,EAAE,MAAM,SAAS,CAAC;AAC5E,OAAO,EAAE,OAAO,EAAE,MAAM,SAAS,CAAC;AAClC,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AAQjC,mEAAmE;AACnE,MAAM,eAAe,GAAG,+CAA+C,CAAC;AACxE,MAAM,eAAe,GAAG,mDAAmD,CAAC;AAE5E,SAAS,UAAU,CAAC,GAAuB,EAAE,QAAgB;IAC3D,IAAI,CAAC,GAAG;QAAE,OAAO,QAAQ,CAAC;IAC1B,IAAI,GAAG,CAAC,QAAQ,CAAC,uBAAuB,CAAC;QAAE,OAAO,QAAQ,CAAC;IAC3D,OAAO,GAAG,CAAC;AACb,CAAC;AAED,SAAS,eAAe,CAAC,MAAuB;IAC9C,OAAO;QACL,UAAU,EAAE,UAAU,CACpB,OAAO,CAAC,GAAG,CAAC,wBAAwB,IAAI,MAAM,CAAC,UAAU,EACzD,eAAe,CAChB;QACD,UAAU,EAAE,UAAU,CACpB,OAAO,CAAC,GAAG,CAAC,wBAAwB,IAAI,MAAM,CAAC,UAAU,EACzD,eAAe,CAChB;QACD,KAAK,EAAE,OAAO,CAAC,GAAG,CAAC,kBAAkB,IAAI,MAAM,CAAC,KAAK;KACtD,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,UAAU,CAAC,GAAW;IACpC,OAAO,OAAO,CAAC,GAAG,CAAC,wBAAwB,IAAI,GAAG,CAAC,UAAU,IAAI,eAAe,CAAC;AACnF,CAAC;AAED,SAAS,UAAU;IACjB,OAAO,IAAI,CAAC,OAAO,EAAE,EAAE,eAAe,EAAE,aAAa,CAAC,CAAC;AACzD,CAAC;AAED,MAAM,UAAU,UAAU;IACxB,IAAI,CAAC;QACH,MAAM,GAAG,GAAG,YAAY,CAAC,UAAU,EAAE,EAAE,MAAM,CAAC,CAAC;QAC/C,MAAM,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAoB,CAAC;QAClD,MAAM,GAAG,GAAG,eAAe,CAAC,MAAM,CAAC,CAAC;QACpC,uEAAuE;QACvE,IACE,MAAM,CAAC,UAAU,EAAE,QAAQ,CAAC,uBAAuB,CAAC;YACpD,MAAM,CAAC,UAAU,EAAE,QAAQ,CAAC,uBAAuB,CAAC,EACpD,CAAC;YACD,UAAU,CAAC,GAAG,CAAC,CAAC;QAClB,CAAC;QACD,OAAO,GAAG,CAAC;IACb,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,eAAe,CAAC,EAAE,CAAC,CAAC;IAC7B,CAAC;AACH,CAAC;AAED,MAAM,UAAU,UAAU,CAAC,GAAW;IACpC,MAAM,GAAG,GAAG,IAAI,CAAC,OAAO,EAAE,EAAE,eAAe,CAAC,CAAC;IAC7C,SAAS,CAAC,GAAG,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;IACpC,MAAM,IAAI,GAAG,UAAU,EAAE,CAAC;IAC1B,aAAa,CAAC,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,GAAG,EAAE,IAAI,EAAE,CAAC,CAAC,EAAE,MAAM,CAAC,CAAC;IAC1D,SAAS,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;AACzB,CAAC"}
|
package/dist/discover.d.ts
CHANGED
|
@@ -1,14 +1,32 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* Session discovery: given the current working directory, find the source
|
|
3
|
-
* session to hand off.
|
|
3
|
+
* session to hand off. Sources: Claude Code (JSONL), Codex CLI (rollout
|
|
4
|
+
* JSONL), Cursor (global SQLite). Newest across all sources wins, so `sup`
|
|
5
|
+
* picks up whatever tool you actually worked in last.
|
|
4
6
|
*/
|
|
7
|
+
import type { NsfSession } from "./nsf.js";
|
|
5
8
|
export interface FoundSession {
|
|
6
9
|
tool: string;
|
|
10
|
+
/** Where the session lives (file path, or db path for Cursor). */
|
|
7
11
|
filePath: string;
|
|
8
12
|
mtimeMs: number;
|
|
13
|
+
/** Parse this specific session into NSF. */
|
|
14
|
+
parse: () => NsfSession;
|
|
9
15
|
}
|
|
10
16
|
/**
|
|
11
17
|
* Find the latest Claude Code session for a given working directory.
|
|
12
18
|
* @param cwd absolute working directory of the project
|
|
13
19
|
*/
|
|
14
20
|
export declare function findClaudeCodeSession(cwd: string): FoundSession | undefined;
|
|
21
|
+
/**
|
|
22
|
+
* Find the latest Codex CLI session for a working directory. Codex stores all
|
|
23
|
+
* projects together under ~/.codex/sessions/YYYY/MM/DD/, so we match each
|
|
24
|
+
* candidate's session_meta.cwd — newest files first, stop at first match.
|
|
25
|
+
*/
|
|
26
|
+
export declare function findCodexSession(cwd: string): FoundSession | undefined;
|
|
27
|
+
/** Find the latest Cursor conversation for a working directory. */
|
|
28
|
+
export declare function findCursorSession(cwd: string): FoundSession | undefined;
|
|
29
|
+
/** Every source that has a session for this directory, newest first. */
|
|
30
|
+
export declare function findAllSessions(cwd: string): FoundSession[];
|
|
31
|
+
/** The single newest session across all supported tools, or undefined. */
|
|
32
|
+
export declare function findLatestSession(cwd: string): FoundSession | undefined;
|
package/dist/discover.js
CHANGED
|
@@ -1,10 +1,16 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* Session discovery: given the current working directory, find the source
|
|
3
|
-
* session to hand off.
|
|
3
|
+
* session to hand off. Sources: Claude Code (JSONL), Codex CLI (rollout
|
|
4
|
+
* JSONL), Cursor (global SQLite). Newest across all sources wins, so `sup`
|
|
5
|
+
* picks up whatever tool you actually worked in last.
|
|
4
6
|
*/
|
|
5
|
-
import { readdirSync, statSync } from "node:fs";
|
|
7
|
+
import { readdirSync, statSync, openSync, readSync, closeSync } from "node:fs";
|
|
8
|
+
import { homedir } from "node:os";
|
|
6
9
|
import { join } from "node:path";
|
|
7
10
|
import { claudeCodeProjectDir } from "./tools.js";
|
|
11
|
+
import { parseClaudeCode } from "./parsers/claude-code.js";
|
|
12
|
+
import { parseCodex } from "./parsers/codex.js";
|
|
13
|
+
import { parseCursor, findCursorComposer, cursorDbPath } from "./parsers/cursor.js";
|
|
8
14
|
/** Most-recently-modified `.jsonl` in a directory, or undefined. */
|
|
9
15
|
function latestJsonl(dir) {
|
|
10
16
|
let best;
|
|
@@ -39,6 +45,87 @@ export function findClaudeCodeSession(cwd) {
|
|
|
39
45
|
const latest = latestJsonl(dir);
|
|
40
46
|
if (!latest)
|
|
41
47
|
return undefined;
|
|
42
|
-
return {
|
|
48
|
+
return {
|
|
49
|
+
tool: "claude-code",
|
|
50
|
+
filePath: latest.path,
|
|
51
|
+
mtimeMs: latest.mtimeMs,
|
|
52
|
+
parse: () => parseClaudeCode(latest.path),
|
|
53
|
+
};
|
|
54
|
+
}
|
|
55
|
+
/** First ~8KB of a file — enough for a rollout's session_meta first line. */
|
|
56
|
+
function headOf(path) {
|
|
57
|
+
const fd = openSync(path, "r");
|
|
58
|
+
try {
|
|
59
|
+
const buf = Buffer.alloc(8192);
|
|
60
|
+
const n = readSync(fd, buf, 0, buf.length, 0);
|
|
61
|
+
return buf.toString("utf8", 0, n);
|
|
62
|
+
}
|
|
63
|
+
finally {
|
|
64
|
+
closeSync(fd);
|
|
65
|
+
}
|
|
66
|
+
}
|
|
67
|
+
/**
|
|
68
|
+
* Find the latest Codex CLI session for a working directory. Codex stores all
|
|
69
|
+
* projects together under ~/.codex/sessions/YYYY/MM/DD/, so we match each
|
|
70
|
+
* candidate's session_meta.cwd — newest files first, stop at first match.
|
|
71
|
+
*/
|
|
72
|
+
export function findCodexSession(cwd) {
|
|
73
|
+
const root = join(homedir(), ".codex", "sessions");
|
|
74
|
+
let names;
|
|
75
|
+
try {
|
|
76
|
+
names = readdirSync(root, { recursive: true });
|
|
77
|
+
}
|
|
78
|
+
catch {
|
|
79
|
+
return undefined;
|
|
80
|
+
}
|
|
81
|
+
const candidates = [];
|
|
82
|
+
for (const name of names) {
|
|
83
|
+
if (!name.endsWith(".jsonl"))
|
|
84
|
+
continue;
|
|
85
|
+
const path = join(root, name);
|
|
86
|
+
try {
|
|
87
|
+
candidates.push({ path, mtimeMs: statSync(path).mtimeMs });
|
|
88
|
+
}
|
|
89
|
+
catch {
|
|
90
|
+
// skip unreadable
|
|
91
|
+
}
|
|
92
|
+
}
|
|
93
|
+
candidates.sort((a, b) => b.mtimeMs - a.mtimeMs);
|
|
94
|
+
for (const c of candidates) {
|
|
95
|
+
try {
|
|
96
|
+
const firstLine = headOf(c.path).split("\n")[0] ?? "";
|
|
97
|
+
const rec = JSON.parse(firstLine);
|
|
98
|
+
if (rec.type === "session_meta" && rec.payload?.cwd === cwd) {
|
|
99
|
+
return { tool: "codex", filePath: c.path, mtimeMs: c.mtimeMs, parse: () => parseCodex(c.path) };
|
|
100
|
+
}
|
|
101
|
+
}
|
|
102
|
+
catch {
|
|
103
|
+
// malformed first line — not a rollout we can use
|
|
104
|
+
}
|
|
105
|
+
}
|
|
106
|
+
return undefined;
|
|
107
|
+
}
|
|
108
|
+
/** Find the latest Cursor conversation for a working directory. */
|
|
109
|
+
export function findCursorSession(cwd) {
|
|
110
|
+
const found = findCursorComposer(cwd);
|
|
111
|
+
if (!found)
|
|
112
|
+
return undefined;
|
|
113
|
+
const db = cursorDbPath();
|
|
114
|
+
return {
|
|
115
|
+
tool: "cursor",
|
|
116
|
+
filePath: db,
|
|
117
|
+
mtimeMs: found.mtimeMs,
|
|
118
|
+
parse: () => parseCursor(db, found.composerId),
|
|
119
|
+
};
|
|
120
|
+
}
|
|
121
|
+
/** Every source that has a session for this directory, newest first. */
|
|
122
|
+
export function findAllSessions(cwd) {
|
|
123
|
+
return [findClaudeCodeSession(cwd), findCodexSession(cwd), findCursorSession(cwd)]
|
|
124
|
+
.filter((s) => s !== undefined)
|
|
125
|
+
.sort((a, b) => b.mtimeMs - a.mtimeMs);
|
|
126
|
+
}
|
|
127
|
+
/** The single newest session across all supported tools, or undefined. */
|
|
128
|
+
export function findLatestSession(cwd) {
|
|
129
|
+
return findAllSessions(cwd)[0];
|
|
43
130
|
}
|
|
44
131
|
//# sourceMappingURL=discover.js.map
|
package/dist/discover.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"discover.js","sourceRoot":"","sources":["../src/discover.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"discover.js","sourceRoot":"","sources":["../src/discover.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EAAE,WAAW,EAAE,QAAQ,EAAE,QAAQ,EAAE,QAAQ,EAAE,SAAS,EAAE,MAAM,SAAS,CAAC;AAC/E,OAAO,EAAE,OAAO,EAAE,MAAM,SAAS,CAAC;AAClC,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AACjC,OAAO,EAAE,oBAAoB,EAAE,MAAM,YAAY,CAAC;AAClD,OAAO,EAAE,eAAe,EAAE,MAAM,0BAA0B,CAAC;AAC3D,OAAO,EAAE,UAAU,EAAE,MAAM,oBAAoB,CAAC;AAChD,OAAO,EAAE,WAAW,EAAE,kBAAkB,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAC;AAYpF,oEAAoE;AACpE,SAAS,WAAW,CAAC,GAAW;IAC9B,IAAI,IAAmD,CAAC;IACxD,IAAI,OAAiB,CAAC;IACtB,IAAI,CAAC;QACH,OAAO,GAAG,WAAW,CAAC,GAAG,CAAC,CAAC;IAC7B,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,SAAS,CAAC;IACnB,CAAC;IACD,KAAK,MAAM,IAAI,IAAI,OAAO,EAAE,CAAC;QAC3B,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC;YAAE,SAAS;QACvC,MAAM,IAAI,GAAG,IAAI,CAAC,GAAG,EAAE,IAAI,CAAC,CAAC;QAC7B,IAAI,CAAC;YACH,MAAM,CAAC,GAAG,QAAQ,CAAC,IAAI,CAAC,CAAC,OAAO,CAAC;YACjC,IAAI,CAAC,IAAI,IAAI,CAAC,GAAG,IAAI,CAAC,OAAO;gBAAE,IAAI,GAAG,EAAE,IAAI,EAAE,OAAO,EAAE,CAAC,EAAE,CAAC;QAC7D,CAAC;QAAC,MAAM,CAAC;YACP,kBAAkB;QACpB,CAAC;IACH,CAAC;IACD,OAAO,IAAI,CAAC;AACd,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,qBAAqB,CAAC,GAAW;IAC/C,MAAM,GAAG,GAAG,oBAAoB,CAAC,GAAG,CAAC,CAAC;IACtC,MAAM,MAAM,GAAG,WAAW,CAAC,GAAG,CAAC,CAAC;IAChC,IAAI,CAAC,MAAM;QAAE,OAAO,SAAS,CAAC;IAC9B,OAAO;QACL,IAAI,EAAE,aAAa;QACnB,QAAQ,EAAE,MAAM,CAAC,IAAI;QACrB,OAAO,EAAE,MAAM,CAAC,OAAO;QACvB,KAAK,EAAE,GAAG,EAAE,CAAC,eAAe,CAAC,MAAM,CAAC,IAAI,CAAC;KAC1C,CAAC;AACJ,CAAC;AAED,6EAA6E;AAC7E,SAAS,MAAM,CAAC,IAAY;IAC1B,MAAM,EAAE,GAAG,QAAQ,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC;IAC/B,IAAI,CAAC;QACH,MAAM,GAAG,GAAG,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;QAC/B,MAAM,CAAC,GAAG,QAAQ,CAAC,EAAE,EAAE,GAAG,EAAE,CAAC,EAAE,GAAG,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC;QAC9C,OAAO,GAAG,CAAC,QAAQ,CAAC,MAAM,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;IACpC,CAAC;YAAS,CAAC;QACT,SAAS,CAAC,EAAE,CAAC,CAAC;IAChB,CAAC;AACH,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,gBAAgB,CAAC,GAAW;IAC1C,MAAM,IAAI,GAAG,IAAI,CAAC,OAAO,EAAE,EAAE,QAAQ,EAAE,UAAU,CAAC,CAAC;IACnD,IAAI,KAAe,CAAC;IACpB,IAAI,CAAC;QACH,KAAK,GAAG,WAAW,CAAC,IAAI,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAa,CAAC;IAC7D,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,SAAS,CAAC;IACnB,CAAC;IAED,MAAM,UAAU,GAAwC,EAAE,CAAC;IAC3D,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;QACzB,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC;YAAE,SAAS;QACvC,MAAM,IAAI,GAAG,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;QAC9B,IAAI,CAAC;YACH,UAAU,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,QAAQ,CAAC,IAAI,CAAC,CAAC,OAAO,EAAE,CAAC,CAAC;QAC7D,CAAC;QAAC,MAAM,CAAC;YACP,kBAAkB;QACpB,CAAC;IACH,CAAC;IACD,UAAU,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,OAAO,GAAG,CAAC,CAAC,OAAO,CAAC,CAAC;IAEjD,KAAK,MAAM,CAAC,IAAI,UAAU,EAAE,CAAC;QAC3B,IAAI,CAAC;YACH,MAAM,SAAS,GAAG,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;YACtD,MAAM,GAAG,GAAG,IAAI,CAAC,KAAK,CAAC,SAAS,CAAkD,CAAC;YACnF,IAAI,GAAG,CAAC,IAAI,KAAK,cAAc,IAAI,GAAG,CAAC,OAAO,EAAE,GAAG,KAAK,GAAG,EAAE,CAAC;gBAC5D,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,QAAQ,EAAE,CAAC,CAAC,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,OAAO,EAAE,KAAK,EAAE,GAAG,EAAE,CAAC,UAAU,CAAC,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC;YAClG,CAAC;QACH,CAAC;QAAC,MAAM,CAAC;YACP,kDAAkD;QACpD,CAAC;IACH,CAAC;IACD,OAAO,SAAS,CAAC;AACnB,CAAC;AAED,mEAAmE;AACnE,MAAM,UAAU,iBAAiB,CAAC,GAAW;IAC3C,MAAM,KAAK,GAAG,kBAAkB,CAAC,GAAG,CAAC,CAAC;IACtC,IAAI,CAAC,KAAK;QAAE,OAAO,SAAS,CAAC;IAC7B,MAAM,EAAE,GAAG,YAAY,EAAE,CAAC;IAC1B,OAAO;QACL,IAAI,EAAE,QAAQ;QACd,QAAQ,EAAE,EAAE;QACZ,OAAO,EAAE,KAAK,CAAC,OAAO;QACtB,KAAK,EAAE,GAAG,EAAE,CAAC,WAAW,CAAC,EAAE,EAAE,KAAK,CAAC,UAAU,CAAC;KAC/C,CAAC;AACJ,CAAC;AAED,wEAAwE;AACxE,MAAM,UAAU,eAAe,CAAC,GAAW;IACzC,OAAO,CAAC,qBAAqB,CAAC,GAAG,CAAC,EAAE,gBAAgB,CAAC,GAAG,CAAC,EAAE,iBAAiB,CAAC,GAAG,CAAC,CAAC;SAC/E,MAAM,CAAC,CAAC,CAAC,EAAqB,EAAE,CAAC,CAAC,KAAK,SAAS,CAAC;SACjD,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,OAAO,GAAG,CAAC,CAAC,OAAO,CAAC,CAAC;AAC3C,CAAC;AAED,0EAA0E;AAC1E,MAAM,UAAU,iBAAiB,CAAC,GAAW;IAC3C,OAAO,eAAe,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;AACjC,CAAC"}
|