@tryglen/cli 0.42.1 → 0.42.3
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/_generated/contract/zod.gen.js +1 -0
- package/dist/_generated/contract/zod.gen.js.map +1 -1
- package/dist/clients/glen-api/glen-api.js +24 -27
- package/dist/clients/glen-api/glen-api.js.map +1 -1
- package/dist/clients/npm/update.js +5 -10
- package/dist/clients/npm/update.js.map +1 -1
- package/dist/commands/_utils/bound-segments.js +89 -0
- package/dist/commands/_utils/bound-segments.js.map +1 -0
- package/dist/commands/_utils/fails-until-fixed.js +7 -0
- package/dist/commands/_utils/fails-until-fixed.js.map +1 -0
- package/dist/commands/_utils/truncate-to-cap.js +6 -0
- package/dist/commands/_utils/truncate-to-cap.js.map +1 -0
- package/dist/commands/doctor/index.js +2 -1
- package/dist/commands/doctor/index.js.map +1 -1
- package/dist/commands/import/_utils/transcript-turns.js +2 -93
- package/dist/commands/import/_utils/transcript-turns.js.map +1 -1
- package/dist/commands/import/index.js +21 -20
- package/dist/commands/import/index.js.map +1 -1
- package/dist/commands/ingest/_utils/fit-turn-body.js +34 -0
- package/dist/commands/ingest/_utils/fit-turn-body.js.map +1 -0
- package/dist/commands/ingest/index.js +88 -43
- package/dist/commands/ingest/index.js.map +1 -1
- package/dist/commands/install/_utils/finish-install.js +3 -2
- package/dist/commands/install/_utils/finish-install.js.map +1 -1
- package/dist/commands/login/index.js +2 -1
- package/dist/commands/login/index.js.map +1 -1
- package/dist/commands/org/_utils/fetch-orgs.js +2 -1
- package/dist/commands/org/_utils/fetch-orgs.js.map +1 -1
- package/dist/commands/pr-link/index.js +2 -1
- package/dist/commands/pr-link/index.js.map +1 -1
- package/dist/commands/session-start/index.js +5 -5
- package/dist/commands/session-start/index.js.map +1 -1
- package/dist/commands/set-mode/index.js +2 -1
- package/dist/commands/set-mode/index.js.map +1 -1
- package/dist/commands/status/index.js +7 -4
- package/dist/commands/status/index.js.map +1 -1
- package/dist/commands/suggestions/index.js +2 -1
- package/dist/commands/suggestions/index.js.map +1 -1
- package/dist/core/errors/fixes.js +8 -0
- package/dist/core/errors/fixes.js.map +1 -0
- package/dist/core/state/import-job.js +4 -0
- package/dist/core/state/import-job.js.map +1 -1
- package/dist/core/state/session-memo.js +92 -0
- package/dist/core/state/session-memo.js.map +1 -0
- package/dist/core/state/state.js +5 -2
- package/dist/core/state/state.js.map +1 -1
- package/package.json +2 -2
- package/dist/commands/ingest/_utils/ingest-failure-memo.js +0 -57
- package/dist/commands/ingest/_utils/ingest-failure-memo.js.map +0 -1
- package/dist/core/state/paused-line.js +0 -3
- package/dist/core/state/paused-line.js.map +0 -1
- package/dist/core/state/state-line-memo.js +0 -52
- package/dist/core/state/state-line-memo.js.map +0 -1
|
@@ -1,100 +1,9 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { boundSegments } from "../../_utils/bound-segments.js";
|
|
2
2
|
const MAX_MESSAGE_CHARS = 30_000;
|
|
3
3
|
const MAX_IDEMPOTENCY_KEYS = 8;
|
|
4
4
|
const truncate = (text) => text.length <= MAX_MESSAGE_CHARS
|
|
5
5
|
? text
|
|
6
6
|
: `${text.slice(0, MAX_MESSAGE_CHARS)}\n… [truncated by glen import]`;
|
|
7
|
-
const MAX_SEGMENT_CHARS = 30_000;
|
|
8
|
-
const MAX_PAYLOAD_CHARS = 1_000_000;
|
|
9
|
-
const TRUNCATION_MARKER = "… [truncated by glen]";
|
|
10
|
-
const truncateToCap = (text, maxChars) => text.length <= maxChars
|
|
11
|
-
? text
|
|
12
|
-
: `${text.slice(0, Math.max(0, maxChars - TRUNCATION_MARKER.length - 1))}\n${TRUNCATION_MARKER}`;
|
|
13
|
-
const truncateJsonStrings = (value, maxChars) => {
|
|
14
|
-
if (typeof value === "string")
|
|
15
|
-
return truncateToCap(value, maxChars);
|
|
16
|
-
if (Array.isArray(value))
|
|
17
|
-
return value.map((v) => truncateJsonStrings(v, maxChars));
|
|
18
|
-
if (isRecord(value))
|
|
19
|
-
return truncateRecord(value, maxChars);
|
|
20
|
-
return value;
|
|
21
|
-
};
|
|
22
|
-
const truncateRecord = (value, maxChars) => Object.fromEntries(Object.entries(value).map(([k, v]) => [
|
|
23
|
-
k,
|
|
24
|
-
truncateJsonStrings(v, maxChars),
|
|
25
|
-
]));
|
|
26
|
-
const truncateSegment = (s) => {
|
|
27
|
-
const withText = s.text !== undefined && s.text.length > MAX_SEGMENT_CHARS
|
|
28
|
-
? {
|
|
29
|
-
...s,
|
|
30
|
-
text: truncateToCap(s.text, MAX_SEGMENT_CHARS),
|
|
31
|
-
}
|
|
32
|
-
: s;
|
|
33
|
-
return withText.jsonContent !== undefined
|
|
34
|
-
? {
|
|
35
|
-
...withText,
|
|
36
|
-
jsonContent: truncateRecord(withText.jsonContent, MAX_SEGMENT_CHARS),
|
|
37
|
-
}
|
|
38
|
-
: withText;
|
|
39
|
-
};
|
|
40
|
-
const dropRawFromSegments = (segments) => segments.map((s) => {
|
|
41
|
-
if (s.jsonContent === undefined || !("raw" in s.jsonContent))
|
|
42
|
-
return s;
|
|
43
|
-
const { raw: _raw, ...rest } = s.jsonContent;
|
|
44
|
-
return { ...s, jsonContent: rest };
|
|
45
|
-
});
|
|
46
|
-
const RECAP_FLOOR_CHARS = 1_000;
|
|
47
|
-
const recapSegments = (segments, capChars) => segments.map((s) => {
|
|
48
|
-
const withJson = s.jsonContent !== undefined
|
|
49
|
-
? { ...s, jsonContent: truncateRecord(s.jsonContent, capChars) }
|
|
50
|
-
: s;
|
|
51
|
-
return withJson.kind === "thinking" &&
|
|
52
|
-
withJson.text !== undefined &&
|
|
53
|
-
withJson.text.length > capChars
|
|
54
|
-
? {
|
|
55
|
-
...withJson,
|
|
56
|
-
text: truncateToCap(withJson.text, capChars),
|
|
57
|
-
}
|
|
58
|
-
: withJson;
|
|
59
|
-
});
|
|
60
|
-
const fitsBudget = (segments) => JSON.stringify(segments).length <= MAX_PAYLOAD_CHARS;
|
|
61
|
-
const shrinkToFit = (segments, capChars) => {
|
|
62
|
-
const recapped = recapSegments(segments, capChars);
|
|
63
|
-
if (fitsBudget(recapped) || capChars <= RECAP_FLOOR_CHARS)
|
|
64
|
-
return recapped;
|
|
65
|
-
return shrinkToFit(recapped, Math.floor(capChars / 2));
|
|
66
|
-
};
|
|
67
|
-
const DROP_ORDER = [
|
|
68
|
-
"tool_result",
|
|
69
|
-
"compaction",
|
|
70
|
-
"thinking",
|
|
71
|
-
"tool_call",
|
|
72
|
-
];
|
|
73
|
-
const dropByKind = (segments, kinds) => {
|
|
74
|
-
if (fitsBudget(segments))
|
|
75
|
-
return [...segments];
|
|
76
|
-
const [kind, ...rest] = kinds;
|
|
77
|
-
if (!kind)
|
|
78
|
-
return truncateFromEnd(segments);
|
|
79
|
-
const dropped = segments.filter((s) => s.kind !== kind);
|
|
80
|
-
return dropByKind(dropped, rest);
|
|
81
|
-
};
|
|
82
|
-
const truncateFromEnd = (segments) => {
|
|
83
|
-
if (segments.length === 0 || fitsBudget(segments))
|
|
84
|
-
return [...segments];
|
|
85
|
-
return truncateFromEnd(segments.slice(0, -1));
|
|
86
|
-
};
|
|
87
|
-
const boundSegmentsPayload = (segments) => {
|
|
88
|
-
if (fitsBudget(segments))
|
|
89
|
-
return [...segments];
|
|
90
|
-
const withoutRaw = dropRawFromSegments(segments);
|
|
91
|
-
if (fitsBudget(withoutRaw))
|
|
92
|
-
return withoutRaw;
|
|
93
|
-
const shrunk = shrinkToFit(withoutRaw, MAX_SEGMENT_CHARS / 2);
|
|
94
|
-
if (fitsBudget(shrunk))
|
|
95
|
-
return shrunk;
|
|
96
|
-
return dropByKind(shrunk, DROP_ORDER);
|
|
97
|
-
};
|
|
98
7
|
const earliestTimestamp = (a, b) => (!a ? b : !b ? a : a < b ? a : b);
|
|
99
8
|
const foldSameRole = (messages) => messages.reduce((folded, m) => {
|
|
100
9
|
const text = m.content.trim();
|
|
@@ -134,7 +43,7 @@ const buildTranscriptTurns = (messages) => foldSameRole(messages)
|
|
|
134
43
|
content: truncate(f.content),
|
|
135
44
|
...(f.occurredAt ? { occurredAt: f.occurredAt } : {}),
|
|
136
45
|
...(f.segments && f.segments.length > 0
|
|
137
|
-
? { segments:
|
|
46
|
+
? { segments: boundSegments(f.segments).segments }
|
|
138
47
|
: {}),
|
|
139
48
|
...(f.idempotencyKeys ? { idempotencyKeys: f.idempotencyKeys } : {}),
|
|
140
49
|
}))
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"transcript-turns.js","sourceRoot":"","sources":["../../../../src/commands/import/_utils/transcript-turns.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"transcript-turns.js","sourceRoot":"","sources":["../../../../src/commands/import/_utils/transcript-turns.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import { randomUUID } from "node:crypto";
|
|
2
|
+
import { failsUntilFixed } from "../_utils/fails-until-fixed.js";
|
|
2
3
|
import { basename, dirname, join, resolve } from "node:path";
|
|
3
4
|
import { cliErr } from "../../core/errors/cli-error.js";
|
|
4
5
|
import { files } from "../../core/system/files.js";
|
|
@@ -223,9 +224,6 @@ const importSession = async (session, onChunk) => {
|
|
|
223
224
|
}
|
|
224
225
|
return tally;
|
|
225
226
|
};
|
|
226
|
-
const stopsTheRun = (e) => e._tag === "Auth" ||
|
|
227
|
-
e.code === "api.cli_outdated" ||
|
|
228
|
-
e.code === "api.not_allowed";
|
|
229
227
|
const writeImportReport = async (path, sessions) => mapErr(await files.writeAtomic(path, `${JSON.stringify({ sessions }, null, 2)}\n`), (f) => files.toError(f, {
|
|
230
228
|
code: "import.report_write_failed",
|
|
231
229
|
what: "could not write the import report",
|
|
@@ -240,15 +238,12 @@ const printDryRun = (sessions, totalTurns) => {
|
|
|
240
238
|
: `• ${s.transcript.agent} ${shortId(s.transcript.sessionId)}: ${s.turns.length} turn(s) (${s.file})`);
|
|
241
239
|
out.info(`dry run: ${sessions.length} conversation(s), ${totalTurns} turn(s); nothing imported`);
|
|
242
240
|
};
|
|
243
|
-
const REMEDY_BY_CODE = {
|
|
244
|
-
"api.auth_expired": "run `glen login`, then re-run the same `glen import`",
|
|
245
|
-
"api.not_connected": "run `glen login`, then re-run the same `glen import`",
|
|
246
|
-
"api.no_active_org": "run `glen org switch`, then re-run the same `glen import`",
|
|
247
|
-
"api.forbidden": "run `glen login`, then re-run the same `glen import`",
|
|
248
|
-
"api.cli_outdated": "run `glen update`, then re-run the same `glen import`",
|
|
249
|
-
"api.not_allowed": "upgrade the workspace's plan in Billing, then re-run the same `glen import`",
|
|
250
|
-
};
|
|
251
241
|
const RESUME_HINT = "re-run the same `glen import` to resume (already-imported turns are skipped automatically)";
|
|
242
|
+
const stoppedFields = (e) => ({
|
|
243
|
+
stoppedBy: e.code,
|
|
244
|
+
stoppedWhat: e.what,
|
|
245
|
+
stoppedRemedy: e.remedy,
|
|
246
|
+
});
|
|
252
247
|
const saveProgress = async (job, total, end) => {
|
|
253
248
|
if (!job)
|
|
254
249
|
return;
|
|
@@ -262,7 +257,7 @@ const saveProgress = async (job, total, end) => {
|
|
|
262
257
|
imported: total.imported,
|
|
263
258
|
existing: total.existing,
|
|
264
259
|
failedConversations: total.failedConversations,
|
|
265
|
-
...(end.stoppedBy ?
|
|
260
|
+
...(end.stoppedBy ? stoppedFields(end.stoppedBy) : {}),
|
|
266
261
|
});
|
|
267
262
|
if (!saved.ok)
|
|
268
263
|
out.warn(saved.error);
|
|
@@ -301,12 +296,12 @@ const runImport = async (sessions, totalTurns, skippedFiles, options) => {
|
|
|
301
296
|
total.imported += result.imported;
|
|
302
297
|
total.existing += result.existing;
|
|
303
298
|
total.backfilled += result.backfilled;
|
|
304
|
-
if (result.failure &&
|
|
299
|
+
if (result.failure && failsUntilFixed(result.failure)) {
|
|
305
300
|
out.info(`imported ${total.imported} of ${totalTurns} turn(s) before failing`);
|
|
306
301
|
out.hint(RESUME_HINT);
|
|
307
302
|
await saveProgress(job, total, {
|
|
308
303
|
finished: true,
|
|
309
|
-
stoppedBy: result.failure
|
|
304
|
+
stoppedBy: result.failure,
|
|
310
305
|
});
|
|
311
306
|
return err(result.failure);
|
|
312
307
|
}
|
|
@@ -417,10 +412,16 @@ const printStatus = async () => {
|
|
|
417
412
|
: ""} (started ${new Date(job.startedAt).toISOString()})`);
|
|
418
413
|
if (job.status === "running" && !stale)
|
|
419
414
|
return ok(undefined);
|
|
420
|
-
|
|
421
|
-
(
|
|
422
|
-
|
|
423
|
-
|
|
415
|
+
if (job.stoppedWhat)
|
|
416
|
+
out.info(job.stoppedWhat);
|
|
417
|
+
if (job.stoppedRemedy) {
|
|
418
|
+
out.hint(job.stoppedRemedy);
|
|
419
|
+
out.hint(RESUME_HINT);
|
|
420
|
+
return ok(undefined);
|
|
421
|
+
}
|
|
422
|
+
out.hint(stale || job.stoppedBy || job.failedConversations > 0
|
|
423
|
+
? RESUME_HINT
|
|
424
|
+
: "nothing left to do");
|
|
424
425
|
return ok(undefined);
|
|
425
426
|
};
|
|
426
427
|
const closeJobIfStillRunning = async (id, stoppedBy) => {
|
|
@@ -431,7 +432,7 @@ const closeJobIfStillRunning = async (id, stoppedBy) => {
|
|
|
431
432
|
...job,
|
|
432
433
|
status: "finished",
|
|
433
434
|
updatedAt: Date.now(),
|
|
434
|
-
stoppedBy,
|
|
435
|
+
...stoppedFields(stoppedBy),
|
|
435
436
|
});
|
|
436
437
|
if (!closed.ok)
|
|
437
438
|
out.warn(closed.error);
|
|
@@ -475,7 +476,7 @@ const importFrom = async ({ path: paths, ...options }) => {
|
|
|
475
476
|
const importTranscripts = importOptions.handle(async (input) => {
|
|
476
477
|
const result = await importFrom(input);
|
|
477
478
|
if (input.job && !result.ok)
|
|
478
|
-
await closeJobIfStillRunning(input.job, result.error
|
|
479
|
+
await closeJobIfStillRunning(input.job, result.error);
|
|
479
480
|
return result;
|
|
480
481
|
});
|
|
481
482
|
export { importTranscripts };
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/commands/import/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AACzC,OAAO,EAAE,QAAQ,EAAE,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAG7D,OAAO,EAAiB,MAAM,EAAE,MAAM,gCAAgC,CAAC;AACvE,OAAO,EAAE,KAAK,EAAE,MAAM,4BAA4B,CAAC;AACnD,OAAO,EAAE,QAAQ,EAAE,MAAM,oCAAoC,CAAC;AAC9D,OAAO,EAAE,GAAG,EAAE,MAAM,4BAA4B,CAAC;AACjD,OAAO,EAAE,qBAAqB,EAAE,MAAM,iDAAiD,CAAC;AACxF,OAAO,EAAE,oBAAoB,EAAE,MAAM,+CAA+C,CAAC;AACrF,OAAO,EAAE,aAAa,EAAE,MAAM,yCAAyC,CAAC;AACxE,OAAO,EAAE,SAAS,EAAE,MAAM,+BAA+B,CAAC;AAC1D,OAAO,EAAE,iBAAiB,EAAE,MAAM,yCAAyC,CAAC;AAC5E,OAAO,EAAe,GAAG,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,6BAA6B,CAAC;AAC3E,OAAO,EAAE,kBAAkB,EAAE,MAAM,kCAAkC,CAAC;AACtE,OAAO,EAAE,sBAAsB,EAAE,MAAM,sCAAsC,CAAC;AAC9E,OAAO,EAAE,eAAe,EAAE,MAAM,+BAA+B,CAAC;AAChE,OAAO,EAAE,sBAAsB,EAAE,MAAM,sCAAsC,CAAC;AAC9E,OAAO,EAAE,oBAAoB,EAAE,MAAM,8BAA8B,CAAC;AACpE,OAAO,EAAE,UAAU,EAAE,MAAM,yBAAyB,CAAC;AACrD,OAAO,EAAE,aAAa,EAAE,MAAM,6BAA6B,CAAC;AAC5D,OAAO,EAAE,SAAS,EAAE,MAAM,gCAAgC,CAAC;AAC3D,OAAO,EAAE,iBAAiB,EAAE,MAAM,iCAAiC,CAAC;AACpE,OAAO,EAAE,sBAAsB,EAAE,MAAM,oBAAoB,CAAC;AAC5D,OAAO,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AAGpD,MAAM,iBAAiB,GAAG,OAAO,CAAC;AAElC,MAAM,sBAAsB,GAC1B,iMAAiM,CAAC;AA2BpM,MAAM,OAAO,GAAG,CAAC,EAAU,EAAU,EAAE,CACrC,EAAE,CAAC,MAAM,GAAG,EAAE,CAAC,CAAC,CAAC,GAAG,EAAE,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC;AAE9C,MAAM,iBAAiB,GAAG,CAAC,CAAa,EAAU,EAAE,CAClD,GAAG,CAAC,CAAC,MAAM,KAAK,aAAa,CAAC,CAAC,CAAC,gBAAgB,CAAC,CAAC,CAAC,SAAS,GAAG,CAAC,CAAC,SAAS,EAAE,CAAC;AAE/E,MAAM,UAAU,GAAG,CAAC,CAAa,EAAE,EAAE;IACnC,MAAM,SAAS,GAAG,CAAC,CAAC,SAAS;QAC3B,CAAC,CAAC,IAAI;QACN,CAAC,CAAC,sBAAsB,CAAC,CAAC,CAAC,GAAG,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC;IAC5C,MAAM,QAAQ,GAAG,CAAC,CAAC,QAAQ,IAAI,SAAS,EAAE,QAAQ,CAAC;IACnD,MAAM,SAAS,GAAG,CAAC,CAAC,SAAS,IAAI,SAAS,EAAE,SAAS,CAAC;IACtD,MAAM,SAAS,GAAG;QAChB,GAAG,CAAC,CAAC,CAAC,GAAG,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,GAAG,EAAE,CAAC,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QAC9C,GAAG,CAAC,CAAC,CAAC,MAAM,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QACvD,GAAG,CAAC,QAAQ,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,QAAQ,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QAC/C,GAAG,CAAC,CAAC,CAAC,MAAM,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QACvD,GAAG,CAAC,SAAS,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,SAAS,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QACjD,GAAG,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,iBAAiB,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;KACnD,CAAC;IACF,OAAO;QACL,KAAK,EAAE;YACL,IAAI,EAAE,CAAC,CAAC,KAAK;YACb,GAAG,CAAC,CAAC,CAAC,YAAY,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,CAAC,CAAC,YAAY,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;SACrE;QACD,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,SAAS,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QAC3D,OAAO,EAAE;YACP,MAAM,EAAE,CAAC,CAAC,MAAM,KAAK,aAAa,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC,mBAAmB;YACxE,GAAG,CAAC,CAAC,CAAC,KAAK,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;SACrD;KACF,CAAC;AACJ,CAAC,CAAC;AAEF,MAAM,aAAa,GAAG,CAAC,IAAY,EAAE,IAAY,EAAY,EAAE,CAC7D,MAAM,CAAC,OAAO,EAAE;IACd,IAAI,EAAE,uBAAuB;IAC7B,IAAI;IACJ,IAAI,EAAE,IAAI;IACV,MAAM,EAAE,gCAAgC,sBAAsB,GAAG;CAClE,CAAC,CAAC;AAEL,MAAM,UAAU,GAAG,CAAC,IAAY,EAAY,EAAE,CAC5C,MAAM,CAAC,OAAO,EAAE;IACd,IAAI,EAAE,oBAAoB;IAC1B,IAAI,EAAE,wBAAwB;IAC9B,IAAI,EAAE,IAAI;IACV,MAAM,EAAE,oDAAoD;CAC7D,CAAC,CAAC;AAEL,MAAM,kBAAkB,GAAG,KAAK,EAC9B,IAAY,EACuB,EAAE,CACrC,MAAM,CAAC,MAAM,KAAK,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,EAAE,EAAE,CACvC,KAAK,CAAC,OAAO,CAAC,CAAC,EAAE;IACf,IAAI,EAAE,wBAAwB;IAC9B,IAAI,EAAE,kCAAkC;IACxC,MAAM,EAAE,wCAAwC;CACjD,CAAC,CACH,CAAC;AAEJ,MAAM,aAAa,GAAG,CAAC,IAAY,EAAU,EAAE,CAC7C,QAAQ,CAAC,IAAI,CAAC;KACX,OAAO,CAAC,UAAU,EAAE,EAAE,CAAC;KACvB,OAAO,CAAC,oCAAoC,EAAE,EAAE,CAAC;KACjD,OAAO,CAAC,4BAA4B,EAAE,EAAE,CAAC,CAAC;AAE/C,MAAM,cAAc,GAAG,KAAK,EAC1B,IAAY,EACkC,EAAE;IAChD,MAAM,GAAG,GAAG,MAAM,kBAAkB,CAAC,IAAI,CAAC,CAAC;IAC3C,IAAI,CAAC,GAAG,CAAC,EAAE;QAAE,OAAO,GAAG,CAAC;IACxB,MAAM,KAAK,GAAG,GAAG,CAAC,KAAK,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,EAAE,KAAK,EAAE,CAAC,CAAC;IACtE,MAAM,UAAU,GAAG,aAAa,CAAC,IAAI,CAAC,CAAC;IACvC,QAAQ,sBAAsB,CAAC,IAAI,EAAE,KAAK,CAAC,EAAE,CAAC;QAC5C,KAAK,aAAa;YAChB,OAAO,EAAE,CAAC,qBAAqB,CAAC,KAAK,EAAE,UAAU,CAAC,CAAC,CAAC;QACtD,KAAK,OAAO;YACV,OAAO,EAAE,CAAC,oBAAoB,CAAC,KAAK,EAAE,UAAU,CAAC,CAAC,CAAC;QACrD,KAAK,IAAI;YACP,OAAO,EAAE,CAAC,iBAAiB,CAAC,KAAK,EAAE,UAAU,CAAC,CAAC,CAAC;QAClD;YACE,OAAO,GAAG,CACR,aAAa,CACX,IAAI,EACJ,uDAAuD,CACxD,CACF,CAAC;IACN,CAAC;AACH,CAAC,CAAC;AAEF,MAAM,WAAW,GAAG,KAAK,EACvB,IAAY,EAGZ,EAAE;IACF,MAAM,IAAI,GAAG,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,oBAAoB,CAAC,CAAC;IACvD,MAAM,GAAG,GAAG,MAAM,KAAK,CAAC,gBAAgB,CAAC,IAAI,CAAC,CAAC;IAC/C,IAAI,CAAC,GAAG,CAAC,EAAE;QACT,OAAO,GAAG,CACR,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,KAAK,EAAE;YACvB,IAAI,EAAE,2BAA2B;YACjC,IAAI,EAAE,mCAAmC;YACzC,MAAM,EAAE,wCAAwC;SACjD,CAAC,CACH,CAAC;IACJ,IAAI,GAAG,CAAC,KAAK,KAAK,IAAI;QAAE,OAAO,EAAE,CAAC,IAAI,CAAC,CAAC;IACxC,MAAM,IAAI,GAAG,SAAS,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;IAClC,MAAM,MAAM,GAAG,IAAI,CAAC,EAAE;QACpB,CAAC,CAAC,sBAAsB,CAAC,SAAS,CAAC,IAAI,CAAC,KAAK,CAAC;QAC9C,CAAC,CAAC,EAAE,OAAO,EAAE,KAAc,EAAE,KAAK,EAAE,IAAI,CAAC,KAAK,EAAE,CAAC;IACnD,IAAI,CAAC,MAAM,CAAC,OAAO;QACjB,OAAO,GAAG,CACR,MAAM,CAAC,OAAO,EAAE;YACd,IAAI,EAAE,wBAAwB;YAC9B,IAAI,EAAE,4EAA4E;YAClF,IAAI;YACJ,KAAK,EAAE,MAAM,CAAC,KAAK;YACnB,MAAM,EAAE,8CAA8C;SACvD,CAAC,CACH,CAAC;IACJ,OAAO,EAAE,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;AACzB,CAAC,CAAC;AAEF,MAAM,eAAe,GAAG,KAAK,EAC3B,IAAY,EAC2B,EAAE;IACzC,MAAM,GAAG,GAAG,MAAM,kBAAkB,CAAC,IAAI,CAAC,CAAC;IAC3C,IAAI,CAAC,GAAG,CAAC,EAAE;QAAE,OAAO,GAAG,CAAC;IACxB,MAAM,IAAI,GAAG,SAAS,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;IAClC,MAAM,UAAU,GAAG,IAAI,CAAC,EAAE;QACxB,CAAC,CAAC,eAAe,CAAC,IAAI,CAAC,KAAK,EAAE,QAAQ,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC;QACtD,CAAC,CAAC,IAAI,CAAC;IACT,IAAI,CAAC,UAAU;QACb,OAAO,GAAG,CAAC,aAAa,CAAC,IAAI,EAAE,yCAAyC,CAAC,CAAC,CAAC;IAC7E,MAAM,OAAO,GAAG,MAAM,WAAW,CAAC,IAAI,CAAC,CAAC;IACxC,IAAI,CAAC,OAAO,CAAC,EAAE;QAAE,OAAO,OAAO,CAAC;IAChC,IAAI,CAAC,OAAO,CAAC,KAAK;QAAE,OAAO,EAAE,CAAC,UAAU,CAAC,CAAC;IAC1C,MAAM,EAAE,UAAU,EAAE,YAAY,EAAE,GAAG,YAAY,EAAE,GAAG,OAAO,CAAC,KAAK,CAAC;IACpE,OAAO,EAAE,CAAC;QACR,GAAG,UAAU;QACb,QAAQ,EAAE,UAAU,CAAC,QAAQ;QAC7B,MAAM,EAAE,UAAU,CAAC,MAAM;QACzB,SAAS,EAAE,UAAU,CAAC,SAAS;QAC/B,YAAY;QACZ,YAAY;KACb,CAAC,CAAC;AACL,CAAC,CAAC;AAEF,MAAM,UAAU,GAAG,CAAC,IAAY,EAAE,WAAkC,EAAE,EAAE,CACtE,WAAW;KACR,GAAG,CAAC,CAAC,UAAU,EAAE,EAAE,CAAC,CAAC;IACpB,IAAI;IACJ,UAAU;IACV,KAAK,EAAE,oBAAoB,CAAC,UAAU,CAAC,QAAQ,CAAC;CACjD,CAAC,CAAC;KACF,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;AAEvC,MAAM,SAAS,GAAG,KAAK,EAAE,IAAY,EAAuB,EAAE;IAC5D,IAAI,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,EAAE,CAAC;QAC5B,MAAM,MAAM,GAAG,MAAM,aAAa,CAAC,IAAI,CAAC,CAAC;QACzC,IAAI,CAAC,MAAM,CAAC,EAAE;YAAE,OAAO,EAAE,QAAQ,EAAE,EAAE,EAAE,OAAO,EAAE,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,CAAC;QACjE,IAAI,MAAM,CAAC,KAAK,CAAC,UAAU,GAAG,CAAC;YAC7B,cAAc,CAAC,IAAI,EAAE,MAAM,CAAC,KAAK,CAAC,UAAU,EAAE,cAAc,CAAC,CAAC;QAChE,OAAO;YACL,QAAQ,EAAE,UAAU,CAAC,IAAI,EAAE,MAAM,CAAC,KAAK,CAAC,WAAW,CAAC;YACpD,OAAO,EAAE,EAAE;SACZ,CAAC;IACJ,CAAC;IACD,MAAM,MAAM,GACV,QAAQ,CAAC,IAAI,CAAC,KAAK,iBAAiB;QAClC,CAAC,CAAC,MAAM,eAAe,CAAC,IAAI,CAAC;QAC7B,CAAC,CAAC,MAAM,cAAc,CAAC,IAAI,CAAC,CAAC;IACjC,IAAI,CAAC,MAAM,CAAC,EAAE;QAAE,OAAO,EAAE,QAAQ,EAAE,EAAE,EAAE,OAAO,EAAE,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,CAAC;IACjE,MAAM,QAAQ,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,UAAU,CAAC,IAAI,EAAE,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;IACtE,IAAI,QAAQ,CAAC,MAAM,KAAK,CAAC;QACvB,OAAO;YACL,QAAQ,EAAE,EAAE;YACZ,OAAO,EAAE,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC;SAC5B,CAAC;IACJ,OAAO,EAAE,QAAQ,EAAE,OAAO,EAAE,EAAE,EAAE,CAAC;AACnC,CAAC,CAAC;AAEF,MAAM,cAAc,GAAG,CAAC,IAAY,EAAE,KAAa,EAAE,IAAY,EAAE,EAAE,CACnE,GAAG,CAAC,IAAI,CACN,MAAM,CAAC,OAAO,EAAE;IACd,IAAI,EAAE,2BAA2B;IACjC,IAAI,EAAE,YAAY,KAAK,eAAe,IAAI,QAAQ,KAAK,KAAK,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,KAAK,EAAE;IAC7E,IAAI,EAAE,IAAI;IACV,MAAM,EACJ,2GAA2G;CAC9G,CAAC,CACH,CAAC;AAEJ,MAAM,UAAU,GAAG,KAAK,EAAE,KAAwB,EAAuB,EAAE;IACzE,MAAM,OAAO,GAAG,MAAM,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC,CAAC;IACxD,MAAM,QAAQ,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC;IACpD,KAAK,MAAM,CAAC,IAAI,QAAQ;QACtB,IAAI,CAAC,CAAC,UAAU,CAAC,UAAU,GAAG,CAAC;YAC7B,cAAc,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,UAAU,CAAC,UAAU,EAAE,YAAY,CAAC,CAAC;IAClE,OAAO,EAAE,QAAQ,EAAE,OAAO,EAAE,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,EAAE,CAAC;AAClE,CAAC,CAAC;AAIF,MAAM,SAAS,GAAG,CAAC,OAAgB,EAAE,KAAY,EAAE,EAAE;IACnD,MAAM,cAAc,GAAG,iBAAiB,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC;IAC7D,OAAO,QAAQ,CACb,uBAAuB,EACvB;QACE,cAAc;QACd,KAAK,EAAE,KAAK,CAAC,GAAG,CAAC,CAAC,EAAE,KAAK,EAAE,IAAI,EAAE,EAAE,EAAE,CAAC,CAAC;YACrC,cAAc,EAAE,GAAG,cAAc,IAAI,KAAK,EAAE;YAC5C,QAAQ,EAAE,IAAI;SACf,CAAC,CAAC;QACH,iBAAiB,EAAE,UAAU,CAAC,OAAO,CAAC,UAAU,CAAC;QACjD,GAAG,CAAC,OAAO,CAAC,UAAU,CAAC,YAAY;YACjC,CAAC,CAAC,EAAE,YAAY,EAAE,OAAO,CAAC,UAAU,CAAC,YAAY,EAAE;YACnD,CAAC,CAAC,EAAE,CAAC;KACR,EAED,EAAE,SAAS,EAAE,iBAAiB,EAAE,cAAc,EAAE,IAAI,EAAE,CACvD,CAAC;AACJ,CAAC,CAAC;AAIF,MAAM,aAAa,GAAG,KAAK,EACzB,OAAgB,EAChB,OAAyE,EACzE,EAAE;IACF,MAAM,KAAK,GAAG;QACZ,QAAQ,EAAE,CAAC;QACX,QAAQ,EAAE,CAAC;QACX,UAAU,EAAE,CAAC;QACb,UAAU,EAAE,EAAc;QAC1B,OAAO,EAAE,IAAuB;KACjC,CAAC;IACF,KAAK,MAAM,KAAK,IAAI,UAAU,CAC5B,OAAO,CAAC,KAAK,EACb,CAAC,CAAC,EAAE,EAAE,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,MAAM,CAChC,EAAE,CAAC;QACF,MAAM,IAAI,GAAG,MAAM,aAAa,CAAC,GAAG,EAAE,CAAC,SAAS,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC,CAAC;QAClE,IAAI,CAAC,IAAI,CAAC,EAAE;YAAE,OAAO,EAAE,GAAG,KAAK,EAAE,OAAO,EAAE,IAAI,CAAC,KAAK,EAAE,CAAC;QACvD,KAAK,MAAM,IAAI,IAAI,IAAI,CAAC,KAAK,CAAC,KAAK,EAAE,CAAC;YACpC,IAAI,IAAI,CAAC,eAAe;gBAAE,KAAK,CAAC,QAAQ,IAAI,CAAC,CAAC;;gBACzC,KAAK,CAAC,QAAQ,IAAI,CAAC,CAAC;YACzB,KAAK,CAAC,UAAU,IAAI,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,CAAC,oBAAoB,CAAC,CAAC;YAC3D,KAAK,CAAC,UAAU,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC,UAAU,CAAC,CAAC;QAC5C,CAAC;QACD,MAAM,OAAO,CAAC,KAAK,CAAC,CAAC;IACvB,CAAC;IACD,OAAO,KAAK,CAAC;AACf,CAAC,CAAC;AAGF,MAAM,WAAW,GAAG,CAAC,CAAW,EAAW,EAAE,CAC3C,CAAC,CAAC,IAAI,KAAK,MAAM;IACjB,CAAC,CAAC,IAAI,KAAK,kBAAkB;IAC7B,CAAC,CAAC,IAAI,KAAK,iBAAiB,CAAC;AAE/B,MAAM,iBAAiB,GAAG,KAAK,EAC7B,IAAY,EACZ,QAAqE,EACpC,EAAE,CACnC,MAAM,CACJ,MAAM,KAAK,CAAC,WAAW,CAAC,IAAI,EAAE,GAAG,IAAI,CAAC,SAAS,CAAC,EAAE,QAAQ,EAAE,EAAE,IAAI,EAAE,CAAC,CAAC,IAAI,CAAC,EAC3E,CAAC,CAAC,EAAE,EAAE,CACJ,KAAK,CAAC,OAAO,CAAC,CAAC,EAAE;IACf,IAAI,EAAE,4BAA4B;IAClC,IAAI,EAAE,mCAAmC;IACzC,MAAM,EAAE,2CAA2C;CACpD,CAAC,CACL,CAAC;AAEJ,MAAM,WAAW,GAAG,CAAC,QAA4B,EAAE,UAAkB,EAAE,EAAE;IACvE,KAAK,MAAM,CAAC,IAAI,QAAQ;QACtB,GAAG,CAAC,IAAI,CACN,CAAC,CAAC,UAAU,CAAC,MAAM,KAAK,aAAa;YACnC,CAAC,CAAC,KAAK,CAAC,CAAC,UAAU,CAAC,KAAK,IAAI,OAAO,CAAC,CAAC,CAAC,UAAU,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC,KAAK,CAAC,MAAM,wBAC3E,CAAC,CAAC,UAAU,CAAC,YAAY;gBACvB,CAAC,CAAC,UAAU,CAAC,CAAC,UAAU,CAAC,YAAY,CAAC,MAAM,EAAE;gBAC9C,CAAC,CAAC,EACN,EAAE;YACJ,CAAC,CAAC,KAAK,CAAC,CAAC,UAAU,CAAC,KAAK,IAAI,OAAO,CAAC,CAAC,CAAC,UAAU,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC,KAAK,CAAC,MAAM,aAAa,CAAC,CAAC,IAAI,GAAG,CACxG,CAAC;IACJ,GAAG,CAAC,IAAI,CACN,YAAY,QAAQ,CAAC,MAAM,qBAAqB,UAAU,4BAA4B,CACvF,CAAC;AACJ,CAAC,CAAC;AAEF,MAAM,cAAc,GAA2B;IAC7C,kBAAkB,EAAE,sDAAsD;IAC1E,mBAAmB,EAAE,sDAAsD;IAC3E,mBAAmB,EACjB,2DAA2D;IAC7D,eAAe,EAAE,sDAAsD;IACvE,kBAAkB,EAAE,uDAAuD;IAC3E,iBAAiB,EACf,6EAA6E;CAChF,CAAC;AACF,MAAM,WAAW,GACf,4FAA4F,CAAC;AAgB/F,MAAM,YAAY,GAAG,KAAK,EACxB,GAAkB,EAClB,KAAa,EACb,GAAwD,EACxD,EAAE;IACF,IAAI,CAAC,GAAG;QAAE,OAAO;IACjB,MAAM,KAAK,GAAG,MAAM,SAAS,CAAC,KAAK,CAAC;QAClC,EAAE,EAAE,GAAG,CAAC,EAAE;QACV,MAAM,EAAE,GAAG,CAAC,QAAQ,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,SAAS;QAC7C,SAAS,EAAE,GAAG,CAAC,SAAS;QACxB,SAAS,EAAE,IAAI,CAAC,GAAG,EAAE;QACrB,aAAa,EAAE,GAAG,CAAC,aAAa;QAChC,UAAU,EAAE,GAAG,CAAC,UAAU;QAC1B,QAAQ,EAAE,KAAK,CAAC,QAAQ;QACxB,QAAQ,EAAE,KAAK,CAAC,QAAQ;QACxB,mBAAmB,EAAE,KAAK,CAAC,mBAAmB;QAC9C,GAAG,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,SAAS,EAAE,GAAG,CAAC,SAAS,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;KACvD,CAAC,CAAC;IACH,IAAI,CAAC,KAAK,CAAC,EAAE;QAAE,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;AACvC,CAAC,CAAC;AAEF,MAAM,kBAAkB,GAAG,CAAC,OAAgB,EAAE,KAAe,EAAY,EAAE,CACzE,MAAM,CAAC,UAAU,EAAE;IACjB,IAAI,EAAE,4BAA4B;IAClC,IAAI,EAAE,GAAG,OAAO,CAAC,UAAU,CAAC,KAAK,IAAI,OAAO,CAAC,OAAO,CAAC,UAAU,CAAC,SAAS,CAAC,kDAAkD;IAC5H,GAAG,EAAE,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,KAAK,CAAC,IAAI,KAAK,KAAK,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI;IAC3D,GAAG,CAAC,KAAK,CAAC,UAAU,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,UAAU,EAAE,KAAK,CAAC,UAAU,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;IAC3E,IAAI,EAAE,OAAO,CAAC,IAAI;IAClB,MAAM,EAAE,2CAA2C;CACpD,CAAC,CAAC;AAEL,MAAM,SAAS,GAAG,KAAK,EACrB,QAA4B,EAC5B,UAAkB,EAClB,YAAoB,EACpB,OAAgE,EAC/B,EAAE;IACnC,MAAM,GAAG,GAAG,OAAO,CAAC,GAAG;QACrB,CAAC,CAAC;YACE,EAAE,EAAE,OAAO,CAAC,GAAG;YACf,SAAS,EAAE,IAAI,CAAC,GAAG,EAAE;YACrB,aAAa,EAAE,QAAQ,CAAC,MAAM;YAC9B,UAAU;SACX;QACH,CAAC,CAAC,IAAI,CAAC;IACT,MAAM,KAAK,GAAW;QACpB,QAAQ,EAAE,CAAC;QACX,QAAQ,EAAE,CAAC;QACX,UAAU,EAAE,CAAC;QACb,mBAAmB,EAAE,CAAC;KACvB,CAAC;IACF,MAAM,cAAc,GAAuD,EAAE,CAAC;IAC9E,MAAM,YAAY,CAAC,GAAG,EAAE,KAAK,EAAE,EAAE,QAAQ,EAAE,KAAK,EAAE,CAAC,CAAC;IACpD,KAAK,MAAM,OAAO,IAAI,QAAQ,EAAE,CAAC;QAC/B,MAAM,MAAM,GAAG,MAAM,aAAa,CAAC,OAAO,EAAE,CAAC,OAAO,EAAE,EAAE,CACtD,YAAY,CACV,GAAG,EACH;YACE,GAAG,KAAK;YACR,QAAQ,EAAE,KAAK,CAAC,QAAQ,GAAG,OAAO,CAAC,QAAQ;YAC3C,QAAQ,EAAE,KAAK,CAAC,QAAQ,GAAG,OAAO,CAAC,QAAQ;SAC5C,EACD,EAAE,QAAQ,EAAE,KAAK,EAAE,CACpB,CACF,CAAC;QACF,KAAK,CAAC,QAAQ,IAAI,MAAM,CAAC,QAAQ,CAAC;QAClC,KAAK,CAAC,QAAQ,IAAI,MAAM,CAAC,QAAQ,CAAC;QAClC,KAAK,CAAC,UAAU,IAAI,MAAM,CAAC,UAAU,CAAC;QACtC,IAAI,MAAM,CAAC,OAAO,IAAI,WAAW,CAAC,MAAM,CAAC,OAAO,CAAC,EAAE,CAAC;YAClD,GAAG,CAAC,IAAI,CACN,YAAY,KAAK,CAAC,QAAQ,OAAO,UAAU,yBAAyB,CACrE,CAAC;YACF,GAAG,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;YACtB,MAAM,YAAY,CAAC,GAAG,EAAE,KAAK,EAAE;gBAC7B,QAAQ,EAAE,IAAI;gBACd,SAAS,EAAE,MAAM,CAAC,OAAO,CAAC,IAAI;aAC/B,CAAC,CAAC;YACH,OAAO,GAAG,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;QAC7B,CAAC;QACD,IAAI,MAAM,CAAC,OAAO,EAAE,CAAC;YACnB,KAAK,CAAC,mBAAmB,IAAI,CAAC,CAAC;YAC/B,GAAG,CAAC,IAAI,CAAC,kBAAkB,CAAC,OAAO,EAAE,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC;QACxD,CAAC;aAAM,CAAC;YACN,cAAc,CAAC,IAAI,CAAC;gBAClB,cAAc,EAAE,iBAAiB,CAAC,OAAO,CAAC,UAAU,CAAC;gBACrD,UAAU,EAAE,MAAM,CAAC,UAAU;aAC9B,CAAC,CAAC;YACH,GAAG,CAAC,OAAO,CACT,GAAG,OAAO,CAAC,UAAU,CAAC,KAAK,IAAI,OAAO,CAAC,OAAO,CAAC,UAAU,CAAC,SAAS,CAAC,KAAK,MAAM,CAAC,QAAQ,oBACtF,MAAM,CAAC,QAAQ,GAAG,CAAC,CAAC,CAAC,CAAC,KAAK,MAAM,CAAC,QAAQ,mBAAmB,CAAC,CAAC,CAAC,EAClE,GACE,MAAM,CAAC,UAAU,GAAG,CAAC;gBACnB,CAAC,CAAC,KAAK,MAAM,CAAC,UAAU,gCAAgC;gBACxD,CAAC,CAAC,EACN,EAAE,CACH,CAAC;QACJ,CAAC;QACD,MAAM,YAAY,CAAC,GAAG,EAAE,KAAK,EAAE,EAAE,QAAQ,EAAE,KAAK,EAAE,CAAC,CAAC;IACtD,CAAC;IACD,MAAM,YAAY,CAAC,GAAG,EAAE,KAAK,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC,CAAC;IAEnD,GAAG,CAAC,IAAI,CACN,SAAS,KAAK,CAAC,QAAQ,sBAAsB,KAAK,CAAC,QAAQ,qBAAqB,KAAK,CAAC,UAAU,0CAA0C,QAAQ,CAAC,MAAM,mBACvJ,KAAK,CAAC,mBAAmB,GAAG,CAAC;QAC3B,CAAC,CAAC,KAAK,KAAK,CAAC,mBAAmB,yBAAyB;QACzD,CAAC,CAAC,EACN,GAAG,YAAY,GAAG,CAAC,CAAC,CAAC,CAAC,KAAK,YAAY,kBAAkB,CAAC,CAAC,CAAC,EAAE,EAAE,CACjE,CAAC;IACF,MAAM,MAAM,GAAG,OAAO,CAAC,MAAM;QAC3B,CAAC,CAAC,MAAM,iBAAiB,CAAC,OAAO,CAAC,MAAM,EAAE,cAAc,CAAC;QACzD,CAAC,CAAC,EAAE,CAAC,SAAS,CAAC,CAAC;IAClB,IAAI,CAAC,MAAM,CAAC,EAAE;QAAE,OAAO,MAAM,CAAC;IAC9B,OAAO,KAAK,CAAC,mBAAmB,GAAG,CAAC;QAClC,CAAC,CAAC,GAAG,CACD,MAAM,CAAC,UAAU,EAAE;YACjB,IAAI,EAAE,oBAAoB;YAC1B,IAAI,EAAE,GAAG,KAAK,CAAC,mBAAmB,8CAA8C;YAChF,MAAM,EAAE,6CAA6C;SACtD,CAAC,CACH;QACH,CAAC,CAAC,EAAE,CAAC,SAAS,CAAC,CAAC;AACpB,CAAC,CAAC;AAEF,MAAM,iBAAiB,GAAG,KAAK,EAC7B,KAAwB,EACxB,QAA4B,EAC5B,UAAkB,EAClB,MAA0B,EACO,EAAE;IACnC,MAAM,OAAO,GAAG,MAAM,SAAS,CAAC,IAAI,EAAE,CAAC;IACvC,IAAI,OAAO,EAAE,MAAM,KAAK,SAAS,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,OAAO,CAAC;QAC9D,OAAO,GAAG,CACR,MAAM,CAAC,OAAO,EAAE;YACd,IAAI,EAAE,wBAAwB;YAC9B,IAAI,EAAE,gDAAgD;YACtD,MAAM,EACJ,yHAAyH;SAC5H,CAAC,CACH,CAAC;IACJ,MAAM,EAAE,GAAG,UAAU,EAAE,CAAC;IACxB,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;IACvB,MAAM,KAAK,GAAG,MAAM,SAAS,CAAC,KAAK,CAAC;QAClC,EAAE;QACF,MAAM,EAAE,SAAS;QACjB,SAAS,EAAE,GAAG;QACd,SAAS,EAAE,GAAG;QACd,aAAa,EAAE,QAAQ,CAAC,MAAM;QAC9B,UAAU;QACV,QAAQ,EAAE,CAAC;QACX,QAAQ,EAAE,CAAC;QACX,mBAAmB,EAAE,CAAC;KACvB,CAAC,CAAC;IACH,IAAI,CAAC,KAAK,CAAC,EAAE;QAAE,OAAO,KAAK,CAAC;IAC5B,MAAM,OAAO,GAAG,iBAAiB,CAAC;QAChC,QAAQ;QACR,QAAQ;QACR,OAAO;QACP,EAAE;QACF,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,UAAU,EAAE,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;QAChD,GAAG,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;KAChC,CAAC,CAAC;IACH,IAAI,CAAC,OAAO,EAAE,CAAC;QACb,MAAM,MAAM,GAAG,MAAM,SAAS,CAAC,KAAK,CAAC;YACnC,EAAE;YACF,MAAM,EAAE,UAAU;YAClB,SAAS,EAAE,GAAG;YACd,SAAS,EAAE,IAAI,CAAC,GAAG,EAAE;YACrB,aAAa,EAAE,QAAQ,CAAC,MAAM;YAC9B,UAAU;YACV,QAAQ,EAAE,CAAC;YACX,QAAQ,EAAE,CAAC;YACX,mBAAmB,EAAE,CAAC;YACtB,SAAS,EAAE,qBAAqB;SACjC,CAAC,CAAC;QACH,IAAI,CAAC,MAAM,CAAC,EAAE;YAAE,GAAG,CAAC,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;QACvC,OAAO,GAAG,CACR,MAAM,CAAC,MAAM,EAAE;YACb,IAAI,EAAE,qBAAqB;YAC3B,IAAI,EAAE,uCAAuC;YAC7C,MAAM,EACJ,gEAAgE;SACnE,CAAC,CACH,CAAC;IACJ,CAAC;IACD,GAAG,CAAC,OAAO,CACT,aAAa,QAAQ,CAAC,MAAM,qBAAqB,UAAU,4BAA4B,CACxF,CAAC;IACF,GAAG,CAAC,IAAI,CAAC,mEAAmE,CAAC,CAAC;IAC9E,OAAO,EAAE,CAAC,SAAS,CAAC,CAAC;AACvB,CAAC,CAAC;AAEF,MAAM,WAAW,GAAG,KAAK,IAAqC,EAAE;IAC9D,MAAM,GAAG,GAAG,MAAM,SAAS,CAAC,IAAI,EAAE,CAAC;IACnC,IAAI,CAAC,GAAG,EAAE,CAAC;QACT,GAAG,CAAC,IAAI,CAAC,8CAA8C,CAAC,CAAC;QACzD,OAAO,EAAE,CAAC,SAAS,CAAC,CAAC;IACvB,CAAC;IACD,MAAM,KAAK,GAAG,SAAS,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;IACrC,MAAM,KAAK,GAAG,KAAK;QACjB,CAAC,CAAC,0BAA0B;QAC5B,CAAC,CAAC,GAAG,CAAC,MAAM,KAAK,SAAS;YACxB,CAAC,CAAC,SAAS;YACX,CAAC,CAAC,GAAG,CAAC,SAAS;gBACb,CAAC,CAAC,kBAAkB,GAAG,CAAC,SAAS,GAAG;gBACpC,CAAC,CAAC,UAAU,CAAC;IACnB,GAAG,CAAC,IAAI,CACN,UAAU,KAAK,KAAK,GAAG,CAAC,QAAQ,sBAAsB,GAAG,CAAC,QAAQ,wBAAwB,GAAG,CAAC,UAAU,eAAe,GAAG,CAAC,aAAa,mBACtI,GAAG,CAAC,mBAAmB,GAAG,CAAC;QACzB,CAAC,CAAC,KAAK,GAAG,CAAC,mBAAmB,yBAAyB;QACvD,CAAC,CAAC,EACN,aAAa,IAAI,IAAI,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC,WAAW,EAAE,GAAG,CACtD,CAAC;IACF,IAAI,GAAG,CAAC,MAAM,KAAK,SAAS,IAAI,CAAC,KAAK;QAAE,OAAO,EAAE,CAAC,SAAS,CAAC,CAAC;IAC7D,GAAG,CAAC,IAAI,CACN,CAAC,GAAG,CAAC,SAAS,IAAI,cAAc,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;QAC9C,CAAC,KAAK,IAAI,GAAG,CAAC,SAAS,IAAI,GAAG,CAAC,mBAAmB,GAAG,CAAC;YACpD,CAAC,CAAC,WAAW;YACb,CAAC,CAAC,oBAAoB,CAAC,CAC5B,CAAC;IACF,OAAO,EAAE,CAAC,SAAS,CAAC,CAAC;AACvB,CAAC,CAAC;AAGF,MAAM,sBAAsB,GAAG,KAAK,EAClC,EAAU,EACV,SAA2B,EAC3B,EAAE;IACF,MAAM,GAAG,GAAG,MAAM,SAAS,CAAC,IAAI,EAAE,CAAC;IACnC,IAAI,GAAG,EAAE,EAAE,KAAK,EAAE,IAAI,GAAG,CAAC,MAAM,KAAK,SAAS;QAAE,OAAO;IACvD,MAAM,MAAM,GAAG,MAAM,SAAS,CAAC,KAAK,CAAC;QACnC,GAAG,GAAG;QACN,MAAM,EAAE,UAAU;QAClB,SAAS,EAAE,IAAI,CAAC,GAAG,EAAE;QACrB,SAAS;KACV,CAAC,CAAC;IACH,IAAI,CAAC,MAAM,CAAC,EAAE;QAAE,GAAG,CAAC,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;AACzC,CAAC,CAAC;AAIF,MAAM,UAAU,GAAG,KAAK,EAAE,EACxB,IAAI,EAAE,KAAK,EACX,GAAG,OAAO,EACJ,EAAmC,EAAE;IAC3C,IAAI,OAAO,CAAC,MAAM;QAAE,OAAO,WAAW,EAAE,CAAC;IACzC,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC;QACpB,OAAO,GAAG,CACR,MAAM,CAAC,OAAO,EAAE;YACd,IAAI,EAAE,iBAAiB;YACvB,IAAI,EAAE,2BAA2B;YACjC,MAAM,EAAE,oCAAoC,sBAAsB,GAAG;SACtE,CAAC,CACH,CAAC;IACJ,MAAM,KAAK,GAAG,MAAM,kBAAkB,CAAC,KAAK,CAAC,CAAC;IAC9C,IAAI,CAAC,KAAK,CAAC,EAAE;QAAE,OAAO,KAAK,CAAC;IAC5B,IAAI,KAAK,CAAC,KAAK,CAAC,MAAM,KAAK,CAAC;QAC1B,OAAO,GAAG,CACR,MAAM,CAAC,OAAO,EAAE;YACd,IAAI,EAAE,iBAAiB;YACvB,IAAI,EAAE,2BAA2B;YACjC,MAAM,EAAE,yBAAyB,sBAAsB,GAAG;SAC3D,CAAC,CACH,CAAC;IAEJ,MAAM,EAAE,QAAQ,EAAE,OAAO,EAAE,GAAG,MAAM,UAAU,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;IAC5D,KAAK,MAAM,CAAC,IAAI,OAAO;QAAE,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IACrC,IAAI,QAAQ,CAAC,MAAM,KAAK,CAAC;QACvB,OAAO,GAAG,CACR,MAAM,CAAC,OAAO,EAAE;YACd,IAAI,EAAE,2BAA2B;YACjC,IAAI,EAAE,mCAAmC;YACzC,MAAM,EACJ,gGAAgG;SACnG,CAAC,CACH,CAAC;IAEJ,MAAM,UAAU,GAAG,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,KAAK,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC;IACpE,IAAI,OAAO,CAAC,MAAM,EAAE,CAAC;QACnB,WAAW,CAAC,QAAQ,EAAE,UAAU,CAAC,CAAC;QAClC,OAAO,EAAE,CAAC,SAAS,CAAC,CAAC;IACvB,CAAC;IACD,IAAI,CAAC,OAAO,CAAC,IAAI;QACf,OAAO,iBAAiB,CAAC,KAAK,EAAE,QAAQ,EAAE,UAAU,EAAE,OAAO,CAAC,MAAM,CAAC,CAAC;IACxE,OAAO,SAAS,CAAC,QAAQ,EAAE,UAAU,EAAE,OAAO,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;AAClE,CAAC,CAAC;AAEF,MAAM,iBAAiB,GAAG,aAAa,CAAC,MAAM,CAC5C,KAAK,EAAE,KAAK,EAAmC,EAAE;IAC/C,MAAM,MAAM,GAAG,MAAM,UAAU,CAAC,KAAK,CAAC,CAAC;IACvC,IAAI,KAAK,CAAC,GAAG,IAAI,CAAC,MAAM,CAAC,EAAE;QACzB,MAAM,sBAAsB,CAAC,KAAK,CAAC,GAAG,EAAE,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;IAC7D,OAAO,MAAM,CAAC;AAChB,CAAC,CACF,CAAC;AAEF,OAAO,EAAE,iBAAiB,EAAE,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/commands/import/index.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
import { boundSegments } from "../../_utils/bound-segments.js";
|
|
2
|
+
import { truncateToCap } from "../../_utils/truncate-to-cap.js";
|
|
3
|
+
const MAX_CONTENT_CHARS = 100_000;
|
|
4
|
+
const TRIM_RANK = [
|
|
5
|
+
"none",
|
|
6
|
+
"truncated",
|
|
7
|
+
"shrunk",
|
|
8
|
+
"dropped",
|
|
9
|
+
];
|
|
10
|
+
const heavier = (a, b) => TRIM_RANK.indexOf(a) >= TRIM_RANK.indexOf(b) ? a : b;
|
|
11
|
+
const fitMessage = (m) => {
|
|
12
|
+
const bounded = m.segments ? boundSegments(m.segments) : null;
|
|
13
|
+
return {
|
|
14
|
+
message: {
|
|
15
|
+
...m,
|
|
16
|
+
content: truncateToCap(m.content, MAX_CONTENT_CHARS),
|
|
17
|
+
...(bounded ? { segments: bounded.segments } : {}),
|
|
18
|
+
},
|
|
19
|
+
contentTruncated: m.content.length > MAX_CONTENT_CHARS,
|
|
20
|
+
segmentTrim: bounded?.trim ?? "none",
|
|
21
|
+
};
|
|
22
|
+
};
|
|
23
|
+
const fitTurnBody = (body) => {
|
|
24
|
+
const fitted = body.messages.map(fitMessage);
|
|
25
|
+
return {
|
|
26
|
+
body: { ...body, messages: fitted.map((f) => f.message) },
|
|
27
|
+
contentTruncated: fitted.some((f) => f.contentTruncated),
|
|
28
|
+
segmentTrim: fitted
|
|
29
|
+
.map((f) => f.segmentTrim)
|
|
30
|
+
.reduce(heavier, "none"),
|
|
31
|
+
};
|
|
32
|
+
};
|
|
33
|
+
export { fitTurnBody };
|
|
34
|
+
//# sourceMappingURL=fit-turn-body.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"fit-turn-body.js","sourceRoot":"","sources":["../../../../src/commands/ingest/_utils/fit-turn-body.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,aAAa,EAAE,MAAM,gCAAgC,CAAC;AAC/D,OAAO,EAAE,aAAa,EAAE,MAAM,iCAAiC,CAAC;AAOhE,MAAM,iBAAiB,GAAG,OAAO,CAAC;AAElC,MAAM,SAAS,GAA2B;IACxC,MAAM;IACN,WAAW;IACX,QAAQ;IACR,SAAS;CACV,CAAC;AAEF,MAAM,OAAO,GAAG,CAAC,CAAc,EAAE,CAAc,EAAe,EAAE,CAC9D,SAAS,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,SAAS,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AAEvD,MAAM,UAAU,GAAG,CAAC,CAAU,EAAE,EAAE;IAChC,MAAM,OAAO,GAAG,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;IAC9D,OAAO;QACL,OAAO,EAAE;YACP,GAAG,CAAC;YACJ,OAAO,EAAE,aAAa,CAAC,CAAC,CAAC,OAAO,EAAE,iBAAiB,CAAC;YACpD,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,QAAQ,EAAE,OAAO,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;SACnD;QACD,gBAAgB,EAAE,CAAC,CAAC,OAAO,CAAC,MAAM,GAAG,iBAAiB;QACtD,WAAW,EAAE,OAAO,EAAE,IAAI,IAAK,MAAgB;KAChD,CAAC;AACJ,CAAC,CAAC;AAGF,MAAM,WAAW,GAAG,CAAC,IAAe,EAAE,EAAE;IACtC,MAAM,MAAM,GAAG,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC;IAC7C,OAAO;QACL,IAAI,EAAE,EAAE,GAAG,IAAI,EAAE,QAAQ,EAAE,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,EAAE;QACzD,gBAAgB,EAAE,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,gBAAgB,CAAC;QACxD,WAAW,EAAE,MAAM;aAChB,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,WAAW,CAAC;aACzB,MAAM,CAAc,OAAO,EAAE,MAAM,CAAC;KACxC,CAAC;AACJ,CAAC,CAAC;AAEF,OAAO,EAAE,WAAW,EAAE,CAAC"}
|
|
@@ -14,9 +14,8 @@ import { hookProfile } from "../../core/run/hook-profile.js";
|
|
|
14
14
|
import { refreshControlState } from "../../clients/glen-api/refresh-control-state.js";
|
|
15
15
|
import { err, ok } from "../../core/errors/result.js";
|
|
16
16
|
import { sessionMap } from "../../core/state/session-map.js";
|
|
17
|
-
import {
|
|
17
|
+
import { sessionMemo } from "../../core/state/session-memo.js";
|
|
18
18
|
import { formatStateLine } from "../../core/state/state-line.js";
|
|
19
|
-
import { pausedLine } from "../../core/state/paused-line.js";
|
|
20
19
|
import { glenState } from "../../core/state/state.js";
|
|
21
20
|
import { syncModeFromServer } from "../../clients/glen-api/sync-mode-from-server.js";
|
|
22
21
|
import { recordEvent } from "../../core/telemetry/record-event.js";
|
|
@@ -25,14 +24,46 @@ import { selfUpdate } from "../../clients/npm/update.js";
|
|
|
25
24
|
import { cliVersion } from "../../core/system/version.js";
|
|
26
25
|
import { adaptAgentEvent } from "./_utils/agent-adapter.js";
|
|
27
26
|
import { buildTurnBody } from "./_utils/build-turn-body.js";
|
|
27
|
+
import { fitTurnBody } from "./_utils/fit-turn-body.js";
|
|
28
28
|
import { formatTurnNudges } from "./_utils/format-turn-nudges.js";
|
|
29
|
-
import { recordIngestCaptureOutcome } from "./_utils/ingest-failure-memo.js";
|
|
30
29
|
import { parseTranscript } from "./_utils/parse-transcript.js";
|
|
31
30
|
import { turnCache } from "./_utils/turn-cache.js";
|
|
32
31
|
import { ingestOptions } from "./ingest.options.js";
|
|
33
32
|
import { idempotencyKey } from "../../clients/agents/idempotency-key.js";
|
|
34
33
|
import { textField } from "../../core/json/text-field.js";
|
|
34
|
+
import { fixes } from "../../core/errors/fixes.js";
|
|
35
|
+
import { failsUntilFixed } from "../_utils/fails-until-fixed.js";
|
|
35
36
|
const INGEST_TIMEOUT_MS = 8000;
|
|
37
|
+
const TRIM_REMEDY = "nothing to do: the turn was saved without the oversized part";
|
|
38
|
+
const SEGMENT_TRIM_EVENTS = {
|
|
39
|
+
none: null,
|
|
40
|
+
truncated: cliErr("Contract", {
|
|
41
|
+
code: "ingest.turn_segments_truncated",
|
|
42
|
+
what: "cut a turn block over the server's size limit",
|
|
43
|
+
remedy: TRIM_REMEDY,
|
|
44
|
+
}),
|
|
45
|
+
shrunk: cliErr("Contract", {
|
|
46
|
+
code: "ingest.turn_segments_shrunk",
|
|
47
|
+
what: "shortened a turn's blocks to fit the server's size limit",
|
|
48
|
+
remedy: TRIM_REMEDY,
|
|
49
|
+
}),
|
|
50
|
+
dropped: cliErr("Contract", {
|
|
51
|
+
code: "ingest.turn_segments_dropped",
|
|
52
|
+
what: "dropped some of a turn's blocks to fit the server's size limit",
|
|
53
|
+
remedy: TRIM_REMEDY,
|
|
54
|
+
}),
|
|
55
|
+
};
|
|
56
|
+
const recordTurnTrims = (fitted) => {
|
|
57
|
+
if (fitted.contentTruncated)
|
|
58
|
+
recordEvent("warn", cliErr("Contract", {
|
|
59
|
+
code: "ingest.turn_content_truncated",
|
|
60
|
+
what: "cut a turn message over the server's size limit",
|
|
61
|
+
remedy: TRIM_REMEDY,
|
|
62
|
+
}));
|
|
63
|
+
const segmentEvent = SEGMENT_TRIM_EVENTS[fitted.segmentTrim];
|
|
64
|
+
if (segmentEvent)
|
|
65
|
+
recordEvent("warn", segmentEvent);
|
|
66
|
+
};
|
|
36
67
|
const str = (v) => (typeof v === "string" ? v : null);
|
|
37
68
|
const readEvent = async (agent) => hookProfile(agent).eventSource === "jcode"
|
|
38
69
|
? ok(await jcodeEvent.readStop())
|
|
@@ -40,7 +71,7 @@ const readEvent = async (agent) => hookProfile(agent).eventSource === "jcode"
|
|
|
40
71
|
code: "ingest.invalid_event",
|
|
41
72
|
what: "the hook event on stdin is not a JSON object",
|
|
42
73
|
cause,
|
|
43
|
-
remedy:
|
|
74
|
+
remedy: fixes.updatePlugin,
|
|
44
75
|
}));
|
|
45
76
|
const normalizeCursor = (event) => {
|
|
46
77
|
const conversationId = field(event, "conversation_id");
|
|
@@ -111,16 +142,31 @@ const makeEmitters = (context, hookEventName, stopReviewHint) => {
|
|
|
111
142
|
},
|
|
112
143
|
});
|
|
113
144
|
};
|
|
145
|
+
const emitNotice = (text) => {
|
|
146
|
+
out.hookNotice(text.replace(/^\[glen\] /, ""));
|
|
147
|
+
emitStop("");
|
|
148
|
+
};
|
|
114
149
|
const emitHint = (text) => {
|
|
115
|
-
if (hookEventName === "Stop")
|
|
116
|
-
|
|
117
|
-
emitStop("");
|
|
118
|
-
}
|
|
150
|
+
if (hookEventName === "Stop")
|
|
151
|
+
emitNotice(text);
|
|
119
152
|
else
|
|
120
153
|
emit(text);
|
|
121
154
|
};
|
|
122
|
-
|
|
155
|
+
const hintAudience = () => hookEventName === "Stop" ? "user" : silent ? null : "agent";
|
|
156
|
+
return { emit, emitStop, emitHint, emitNotice, hintAudience };
|
|
123
157
|
};
|
|
158
|
+
const hintOnce = async (emitters, sessionId, text) => {
|
|
159
|
+
const audience = emitters.hintAudience();
|
|
160
|
+
const fresh = audience
|
|
161
|
+
? await sessionMemo.rememberNotice(sessionId, `${audience}:${text}`)
|
|
162
|
+
: ok(false);
|
|
163
|
+
noteIfErr(fresh);
|
|
164
|
+
if (!fresh.ok || fresh.value)
|
|
165
|
+
emitters.emitHint(text);
|
|
166
|
+
else
|
|
167
|
+
emitters.emitStop("");
|
|
168
|
+
};
|
|
169
|
+
const NOT_CONNECTED = `[glen] not connected: ${fixes.login}`;
|
|
124
170
|
const additionalContextOf = (agentName, cwd, sessionFields) => {
|
|
125
171
|
const workspace = gitContext(cwd);
|
|
126
172
|
return {
|
|
@@ -262,50 +308,47 @@ const saveRecordingPaused = async (state, paused) => {
|
|
|
262
308
|
return ok(undefined);
|
|
263
309
|
const saved = state.recordingPaused ?? null;
|
|
264
310
|
if (saved?.limit === paused?.limit &&
|
|
265
|
-
saved?.upgradeUrl === paused?.upgradeUrl
|
|
311
|
+
saved?.upgradeUrl === paused?.upgradeUrl &&
|
|
312
|
+
saved?.message === paused?.message)
|
|
266
313
|
return ok(undefined);
|
|
267
314
|
return glenState.write({ ...state, recordingPaused: paused });
|
|
268
315
|
};
|
|
269
|
-
const
|
|
270
|
-
if (e.code === "api.cli_outdated")
|
|
271
|
-
|
|
272
|
-
ctx.emitters.emitHint(e.remedy.startsWith("glen is updating")
|
|
316
|
+
const lastingFailureNotice = (e) => {
|
|
317
|
+
if (e.code === "api.cli_outdated")
|
|
318
|
+
return e.remedy.startsWith("glen is updating")
|
|
273
319
|
? "[glen] glen is updating itself in the background. This turn was not recorded; retry your prompt in a minute."
|
|
274
|
-
:
|
|
275
|
-
|
|
276
|
-
|
|
277
|
-
if (e.code === "api.
|
|
278
|
-
|
|
279
|
-
|
|
280
|
-
|
|
281
|
-
|
|
282
|
-
|
|
283
|
-
|
|
320
|
+
: `[glen] glen needs an update before memories can be captured. Tell the user to ${fixes.update}.`;
|
|
321
|
+
if (e.code === "api.not_connected")
|
|
322
|
+
return NOT_CONNECTED;
|
|
323
|
+
if (e.code === "api.no_active_org")
|
|
324
|
+
return `[glen] no active organization: ${fixes.orgSwitch}`;
|
|
325
|
+
if (e.httpStatus === 401)
|
|
326
|
+
return `[glen] ACTION NEEDED: this machine's glen connection expired or was revoked, so memories are NOT being captured. Tell the user to ${fixes.login} to reconnect.${updateAddendum()}`;
|
|
327
|
+
return `[glen] ${/[.!?]$/.test(e.what) ? e.what : `${e.what}.`} ${e.remedy}`;
|
|
328
|
+
};
|
|
329
|
+
const handleTurnFailure = async (e, ctx) => {
|
|
330
|
+
if (failsUntilFixed(e)) {
|
|
331
|
+
noteIfErr(await ingestHeartbeat.recordOutcome(ctx.heartbeatAgent, e.code === "api.cli_outdated" ? "426" : "auth"));
|
|
332
|
+
const text = lastingFailureNotice(e);
|
|
333
|
+
if (e.httpStatus === 401 && e.code !== "api.no_active_org")
|
|
334
|
+
ctx.emitters.emitHint(text);
|
|
284
335
|
else
|
|
285
|
-
ctx.emitters.
|
|
286
|
-
return err(e);
|
|
287
|
-
}
|
|
288
|
-
if (e.httpStatus === 401 || e.httpStatus === 403) {
|
|
289
|
-
noteIfErr(await ingestHeartbeat.recordOutcome(ctx.heartbeatAgent, "auth"));
|
|
290
|
-
if (e.code === "api.no_active_org") {
|
|
291
|
-
out.hookNotice("no active organization: run `glen org switch`");
|
|
292
|
-
ctx.emitters.emitHint("[glen] no active organization: run `glen org switch`");
|
|
293
|
-
return err(e);
|
|
294
|
-
}
|
|
295
|
-
ctx.emitters.emitHint(`[glen] ACTION NEEDED: this machine's glen connection expired or was revoked, so memories are NOT being captured. Tell the user to run \`glen login\` to reconnect.${updateAddendum()}`);
|
|
336
|
+
await hintOnce(ctx.emitters, ctx.sessionId, text);
|
|
296
337
|
return err(e);
|
|
297
338
|
}
|
|
298
339
|
if (e.code === "api.unexpected_response") {
|
|
299
|
-
noteIfErr(await
|
|
340
|
+
noteIfErr(await sessionMemo.recordCaptureOutcome(ctx.sessionId, "success"));
|
|
300
341
|
noteIfErr(await ingestHeartbeat.recordOutcome(ctx.heartbeatAgent, "success"));
|
|
301
342
|
ctx.emitters.emitStop("");
|
|
302
343
|
return err(e);
|
|
303
344
|
}
|
|
304
345
|
noteIfErr(await ingestHeartbeat.recordOutcome(ctx.heartbeatAgent, "failure"));
|
|
305
|
-
const warn = await
|
|
346
|
+
const warn = await sessionMemo.recordCaptureOutcome(ctx.sessionId, "failure");
|
|
306
347
|
noteIfErr(warn);
|
|
307
348
|
if (warn.ok && warn.value)
|
|
308
|
-
|
|
349
|
+
ctx.emitters.emitNotice("memory capture is temporarily unavailable; continuing without it. Run `glen status` if this continues.");
|
|
350
|
+
else
|
|
351
|
+
ctx.emitters.emitStop("");
|
|
309
352
|
return err(e);
|
|
310
353
|
};
|
|
311
354
|
const ingest = ingestOptions.handle(async ({ agent: agentName }) => {
|
|
@@ -330,7 +373,7 @@ const ingest = ingestOptions.handle(async ({ agent: agentName }) => {
|
|
|
330
373
|
const heartbeatAgent = agentName ?? "unknown";
|
|
331
374
|
noteIfErr(await ingestHeartbeat.recordRun(heartbeatAgent));
|
|
332
375
|
if (!(await credentials.read())) {
|
|
333
|
-
makeEmitters(profile.ingestContext, hookEventName, "")
|
|
376
|
+
await hintOnce(makeEmitters(profile.ingestContext, hookEventName, ""), sessionId, NOT_CONNECTED);
|
|
334
377
|
return ok(undefined);
|
|
335
378
|
}
|
|
336
379
|
const localState = await glenState.read();
|
|
@@ -382,7 +425,9 @@ const ingest = ingestOptions.handle(async ({ agent: agentName }) => {
|
|
|
382
425
|
emitters.emitStop("");
|
|
383
426
|
return ok(undefined);
|
|
384
427
|
}
|
|
385
|
-
const
|
|
428
|
+
const fitted = fitTurnBody(body);
|
|
429
|
+
recordTurnTrims(fitted);
|
|
430
|
+
const turn = await callGlen("turn", fitted.body, {
|
|
386
431
|
timeoutMs: INGEST_TIMEOUT_MS,
|
|
387
432
|
context: "hook",
|
|
388
433
|
});
|
|
@@ -392,17 +437,17 @@ const ingest = ingestOptions.handle(async ({ agent: agentName }) => {
|
|
|
392
437
|
heartbeatAgent,
|
|
393
438
|
emitters,
|
|
394
439
|
});
|
|
395
|
-
noteIfErr(await
|
|
440
|
+
noteIfErr(await sessionMemo.recordCaptureOutcome(sessionId, "success"));
|
|
396
441
|
noteIfErr(await ingestHeartbeat.recordOutcome(heartbeatAgent, "success"));
|
|
397
442
|
const effectiveState = (await syncModeFromServer(turn.value)) ?? state;
|
|
398
443
|
const paused = turn.value.recordingPaused ?? null;
|
|
399
444
|
noteIfErr(await saveRecordingPaused(effectiveState, paused));
|
|
400
445
|
const stateLine = formatStateLine(effectiveState && { ...effectiveState, recordingPaused: paused });
|
|
401
446
|
const memoLine = stateLine !== null && paused
|
|
402
|
-
? `${stateLine}\n${
|
|
447
|
+
? `${stateLine}\n${paused.message}`
|
|
403
448
|
: stateLine;
|
|
404
449
|
const remembered = memoLine !== null && hookEventName !== "Stop"
|
|
405
|
-
? await rememberStateLine(sessionId, memoLine)
|
|
450
|
+
? await sessionMemo.rememberStateLine(sessionId, memoLine)
|
|
406
451
|
: ok(false);
|
|
407
452
|
noteIfErr(remembered);
|
|
408
453
|
const stateLineChanged = remembered.ok ? remembered.value : true;
|