@tryglen/cli 0.17.1 → 0.19.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/_utils/config.d.ts +2 -0
- package/dist/_utils/config.js +2 -0
- package/dist/_utils/config.js.map +1 -1
- package/dist/_utils/state-line-memo.d.ts +8 -0
- package/dist/_utils/state-line-memo.js +62 -0
- package/dist/_utils/state-line-memo.js.map +1 -0
- package/dist/_utils/state.d.ts +1 -0
- package/dist/_utils/state.js +3 -0
- package/dist/_utils/state.js.map +1 -1
- package/dist/_utils/sync-mode-from-server.d.ts +19 -0
- package/dist/_utils/sync-mode-from-server.js +39 -0
- package/dist/_utils/sync-mode-from-server.js.map +1 -0
- package/dist/commands/ingest.js +20 -2
- package/dist/commands/ingest.js.map +1 -1
- package/dist/commands/session-start.js +6 -0
- package/dist/commands/session-start.js.map +1 -1
- package/dist/commands/set-mode.d.ts +7 -1
- package/dist/commands/set-mode.js +75 -5
- package/dist/commands/set-mode.js.map +1 -1
- package/package.json +1 -1
package/dist/_utils/config.d.ts
CHANGED
|
@@ -17,6 +17,7 @@ declare const config: {
|
|
|
17
17
|
commitAnchorUrl: string;
|
|
18
18
|
codeSearchUrl: string;
|
|
19
19
|
importUrl: string;
|
|
20
|
+
setRecordingUrl: string;
|
|
20
21
|
ingestTimeoutMs: number;
|
|
21
22
|
searchTimeoutMs: number;
|
|
22
23
|
forgetTimeoutMs: number;
|
|
@@ -24,5 +25,6 @@ declare const config: {
|
|
|
24
25
|
commitAnchorTimeoutMs: number;
|
|
25
26
|
codeSearchTimeoutMs: number;
|
|
26
27
|
importTimeoutMs: number;
|
|
28
|
+
setRecordingTimeoutMs: number;
|
|
27
29
|
};
|
|
28
30
|
export { config };
|
package/dist/_utils/config.js
CHANGED
|
@@ -20,6 +20,7 @@ const config = {
|
|
|
20
20
|
commitAnchorUrl: `${baseUrl}/api/mcp/route/commitAnchor`,
|
|
21
21
|
codeSearchUrl: `${baseUrl}/api/mcp/route/codeSearch`,
|
|
22
22
|
importUrl: `${baseUrl}/api/mcp/route/importTranscript`,
|
|
23
|
+
setRecordingUrl: `${baseUrl}/api/mcp/route/setRecording`,
|
|
23
24
|
ingestTimeoutMs: 8000,
|
|
24
25
|
searchTimeoutMs: 15_000,
|
|
25
26
|
forgetTimeoutMs: 15_000,
|
|
@@ -29,6 +30,7 @@ const config = {
|
|
|
29
30
|
codeSearchTimeoutMs: 30_000,
|
|
30
31
|
// Per-turn write; generous because imported turns can carry near-cap content.
|
|
31
32
|
importTimeoutMs: 15_000,
|
|
33
|
+
setRecordingTimeoutMs: 10_000,
|
|
32
34
|
};
|
|
33
35
|
export { config };
|
|
34
36
|
//# sourceMappingURL=config.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"config.js","sourceRoot":"","sources":["../../src/_utils/config.ts"],"names":[],"mappings":"AAAA,2EAA2E;AAC3E,gEAAgE;AAChE,MAAM,OAAO,GAAG,CACd,OAAO,CAAC,GAAG,CAAC,aAAa,IAAI,yBAAyB,CACvD,CAAC,OAAO,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC;AAEtB,MAAM,MAAM,GAAG;IACb,OAAO;IACP,UAAU,EAAE,GAAG,OAAO,cAAc;IACpC,WAAW,EAAE,GAAG,OAAO,2BAA2B;IAClD,OAAO,EAAE,GAAG,OAAO,qBAAqB;IACxC,SAAS,EAAE,GAAG,OAAO,uBAAuB;IAC5C,SAAS,EAAE,GAAG,OAAO,uBAAuB;IAC5C,SAAS,EAAE,GAAG,OAAO,6BAA6B;IAClD,WAAW,EAAE,GAAG,OAAO,yBAAyB;IAChD,cAAc,EAAE,GAAG,OAAO,4BAA4B;IACtD,WAAW,EAAE,GAAG,OAAO,yBAAyB;IAChD,cAAc,EAAE,GAAG,OAAO,4BAA4B;IACtD,mBAAmB,EAAE,GAAG,OAAO,iCAAiC;IAChE,iBAAiB,EAAE,GAAG,OAAO,+BAA+B;IAC5D,cAAc,EAAE,GAAG,OAAO,4BAA4B;IACtD,iBAAiB,EAAE,GAAG,OAAO,+BAA+B;IAC5D,eAAe,EAAE,GAAG,OAAO,6BAA6B;IACxD,aAAa,EAAE,GAAG,OAAO,2BAA2B;IACpD,SAAS,EAAE,GAAG,OAAO,iCAAiC;IACtD,eAAe,EAAE,IAAI;IACrB,eAAe,EAAE,MAAM;IACvB,eAAe,EAAE,MAAM;IACvB,iBAAiB,EAAE,MAAM;IACzB,qBAAqB,EAAE,IAAI;IAC3B,oFAAoF;IACpF,mBAAmB,EAAE,MAAM;IAC3B,8EAA8E;IAC9E,eAAe,EAAE,MAAM;
|
|
1
|
+
{"version":3,"file":"config.js","sourceRoot":"","sources":["../../src/_utils/config.ts"],"names":[],"mappings":"AAAA,2EAA2E;AAC3E,gEAAgE;AAChE,MAAM,OAAO,GAAG,CACd,OAAO,CAAC,GAAG,CAAC,aAAa,IAAI,yBAAyB,CACvD,CAAC,OAAO,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC;AAEtB,MAAM,MAAM,GAAG;IACb,OAAO;IACP,UAAU,EAAE,GAAG,OAAO,cAAc;IACpC,WAAW,EAAE,GAAG,OAAO,2BAA2B;IAClD,OAAO,EAAE,GAAG,OAAO,qBAAqB;IACxC,SAAS,EAAE,GAAG,OAAO,uBAAuB;IAC5C,SAAS,EAAE,GAAG,OAAO,uBAAuB;IAC5C,SAAS,EAAE,GAAG,OAAO,6BAA6B;IAClD,WAAW,EAAE,GAAG,OAAO,yBAAyB;IAChD,cAAc,EAAE,GAAG,OAAO,4BAA4B;IACtD,WAAW,EAAE,GAAG,OAAO,yBAAyB;IAChD,cAAc,EAAE,GAAG,OAAO,4BAA4B;IACtD,mBAAmB,EAAE,GAAG,OAAO,iCAAiC;IAChE,iBAAiB,EAAE,GAAG,OAAO,+BAA+B;IAC5D,cAAc,EAAE,GAAG,OAAO,4BAA4B;IACtD,iBAAiB,EAAE,GAAG,OAAO,+BAA+B;IAC5D,eAAe,EAAE,GAAG,OAAO,6BAA6B;IACxD,aAAa,EAAE,GAAG,OAAO,2BAA2B;IACpD,SAAS,EAAE,GAAG,OAAO,iCAAiC;IACtD,eAAe,EAAE,GAAG,OAAO,6BAA6B;IACxD,eAAe,EAAE,IAAI;IACrB,eAAe,EAAE,MAAM;IACvB,eAAe,EAAE,MAAM;IACvB,iBAAiB,EAAE,MAAM;IACzB,qBAAqB,EAAE,IAAI;IAC3B,oFAAoF;IACpF,mBAAmB,EAAE,MAAM;IAC3B,8EAA8E;IAC9E,eAAe,EAAE,MAAM;IACvB,qBAAqB,EAAE,MAAM;CAC9B,CAAC;AAEF,OAAO,EAAE,MAAM,EAAE,CAAC"}
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Record `line` as the latest state line shown to `sessionId` and report
|
|
3
|
+
* whether it differs from what was previously recorded. `true` = new or
|
|
4
|
+
* changed (caller should emit), `false` = identical to the last recorded
|
|
5
|
+
* line (caller may stay silent).
|
|
6
|
+
*/
|
|
7
|
+
declare const rememberStateLine: (sessionId: string, line: string) => Promise<boolean>;
|
|
8
|
+
export { rememberStateLine };
|
|
@@ -0,0 +1,62 @@
|
|
|
1
|
+
// Per-session dedup for the injected state line ("[glen] org: X · recording").
|
|
2
|
+
// SessionStart injects it once; the per-prompt ingest re-emits it only when it
|
|
3
|
+
// CHANGES (org switch / mode flip mid-session). Codex renders every injected
|
|
4
|
+
// hook context as a visible transcript card with no way to hide it, so an
|
|
5
|
+
// unchanged line every turn is pure noise there — and wasted context tokens
|
|
6
|
+
// everywhere else. Keyed by session id; lives next to state.json so
|
|
7
|
+
// GLEN_STATE_PATH overrides cover it (same pattern as update-check.json).
|
|
8
|
+
// Best-effort by design: every fs failure reports "changed" — fail toward
|
|
9
|
+
// showing the line, never toward hiding it.
|
|
10
|
+
import { mkdir, readFile, rename, writeFile } from "node:fs/promises";
|
|
11
|
+
import { homedir } from "node:os";
|
|
12
|
+
import { dirname, join } from "node:path";
|
|
13
|
+
const MAX_SESSIONS = 200;
|
|
14
|
+
const MAX_AGE_MS = 48 * 60 * 60 * 1000;
|
|
15
|
+
const memoPath = () => join(process.env.GLEN_STATE_PATH
|
|
16
|
+
? dirname(process.env.GLEN_STATE_PATH)
|
|
17
|
+
: join(homedir(), ".glen"), "state-line-memo.json");
|
|
18
|
+
const readMemo = async () => {
|
|
19
|
+
try {
|
|
20
|
+
const raw = await readFile(memoPath(), "utf8");
|
|
21
|
+
const parsed = JSON.parse(raw);
|
|
22
|
+
if (parsed && typeof parsed === "object")
|
|
23
|
+
return parsed;
|
|
24
|
+
return {};
|
|
25
|
+
}
|
|
26
|
+
catch {
|
|
27
|
+
return {};
|
|
28
|
+
}
|
|
29
|
+
};
|
|
30
|
+
const writeMemo = async (memo) => {
|
|
31
|
+
const now = Date.now();
|
|
32
|
+
const entries = Object.entries(memo)
|
|
33
|
+
.filter(([, e]) => now - e.updatedAt < MAX_AGE_MS)
|
|
34
|
+
.sort(([idA, a], [idB, b]) => b.updatedAt - a.updatedAt || (idA > idB ? -1 : idA < idB ? 1 : 0))
|
|
35
|
+
.slice(0, MAX_SESSIONS);
|
|
36
|
+
try {
|
|
37
|
+
const path = memoPath();
|
|
38
|
+
await mkdir(dirname(path), { recursive: true });
|
|
39
|
+
const tmp = `${path}.${process.pid}.tmp`;
|
|
40
|
+
await writeFile(tmp, JSON.stringify(Object.fromEntries(entries)));
|
|
41
|
+
await rename(tmp, path);
|
|
42
|
+
}
|
|
43
|
+
catch {
|
|
44
|
+
// best-effort — a hook must never fail on memo I/O
|
|
45
|
+
}
|
|
46
|
+
};
|
|
47
|
+
/**
|
|
48
|
+
* Record `line` as the latest state line shown to `sessionId` and report
|
|
49
|
+
* whether it differs from what was previously recorded. `true` = new or
|
|
50
|
+
* changed (caller should emit), `false` = identical to the last recorded
|
|
51
|
+
* line (caller may stay silent).
|
|
52
|
+
*/
|
|
53
|
+
const rememberStateLine = async (sessionId, line) => {
|
|
54
|
+
const memo = await readMemo();
|
|
55
|
+
if (memo[sessionId]?.line === line)
|
|
56
|
+
return false;
|
|
57
|
+
memo[sessionId] = { line, updatedAt: Date.now() };
|
|
58
|
+
await writeMemo(memo);
|
|
59
|
+
return true;
|
|
60
|
+
};
|
|
61
|
+
export { rememberStateLine };
|
|
62
|
+
//# sourceMappingURL=state-line-memo.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"state-line-memo.js","sourceRoot":"","sources":["../../src/_utils/state-line-memo.ts"],"names":[],"mappings":"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"}
|
package/dist/_utils/state.d.ts
CHANGED
|
@@ -5,6 +5,7 @@ type GlenState = {
|
|
|
5
5
|
readonly activeOrgSlug: string | null;
|
|
6
6
|
readonly activeOrgName: string | null;
|
|
7
7
|
readonly mode: GlenMode;
|
|
8
|
+
readonly modeUpdatedAt?: string;
|
|
8
9
|
};
|
|
9
10
|
declare const statePath: () => string;
|
|
10
11
|
declare const readState: () => Promise<GlenState | null>;
|
package/dist/_utils/state.js
CHANGED
|
@@ -26,6 +26,9 @@ const readState = async () => {
|
|
|
26
26
|
activeOrgSlug: typeof d.activeOrgSlug === "string" ? d.activeOrgSlug : null,
|
|
27
27
|
activeOrgName: typeof d.activeOrgName === "string" ? d.activeOrgName : null,
|
|
28
28
|
mode,
|
|
29
|
+
...(typeof d.modeUpdatedAt === "string"
|
|
30
|
+
? { modeUpdatedAt: d.modeUpdatedAt }
|
|
31
|
+
: {}),
|
|
29
32
|
};
|
|
30
33
|
};
|
|
31
34
|
const writeState = async (state) => {
|
package/dist/_utils/state.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"state.js","sourceRoot":"","sources":["../../src/_utils/state.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,QAAQ,EAAE,MAAM,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAC;AAC9E,OAAO,EAAE,OAAO,EAAE,MAAM,SAAS,CAAC;AAClC,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AAC1C,OAAO,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;
|
|
1
|
+
{"version":3,"file":"state.js","sourceRoot":"","sources":["../../src/_utils/state.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
import { type GlenState } from "./state.js";
|
|
2
|
+
/**
|
|
3
|
+
* Mirror the server-side recording preference (the source of truth, echoed on
|
|
4
|
+
* every turn response as serverIncognito/serverIncognitoUpdatedAt) into local
|
|
5
|
+
* state, so a dashboard or other-machine toggle reaches this machine within one
|
|
6
|
+
* turn. Returns the freshest state for display (re-read here — the state the
|
|
7
|
+
* caller read before its POST may be stale by now).
|
|
8
|
+
*
|
|
9
|
+
* Rules:
|
|
10
|
+
* - `off` is machine-local (hooks short-circuit) and is never overridden remotely.
|
|
11
|
+
* - Last-writer-wins on SERVER timestamps: only apply an echo strictly newer
|
|
12
|
+
* than the last value this machine pushed/applied, so a stale in-flight turn
|
|
13
|
+
* can't undo a `glen incognito|on` that just ran.
|
|
14
|
+
* - No stored preference server-side (updatedAt null) → nothing authoritative;
|
|
15
|
+
* leave local state alone.
|
|
16
|
+
* - Best-effort: a failed state write just keeps the current state.
|
|
17
|
+
*/
|
|
18
|
+
declare const syncModeFromServer: (json: unknown) => Promise<GlenState | null>;
|
|
19
|
+
export { syncModeFromServer };
|
|
@@ -0,0 +1,39 @@
|
|
|
1
|
+
import { readState, writeState } from "./state.js";
|
|
2
|
+
/**
|
|
3
|
+
* Mirror the server-side recording preference (the source of truth, echoed on
|
|
4
|
+
* every turn response as serverIncognito/serverIncognitoUpdatedAt) into local
|
|
5
|
+
* state, so a dashboard or other-machine toggle reaches this machine within one
|
|
6
|
+
* turn. Returns the freshest state for display (re-read here — the state the
|
|
7
|
+
* caller read before its POST may be stale by now).
|
|
8
|
+
*
|
|
9
|
+
* Rules:
|
|
10
|
+
* - `off` is machine-local (hooks short-circuit) and is never overridden remotely.
|
|
11
|
+
* - Last-writer-wins on SERVER timestamps: only apply an echo strictly newer
|
|
12
|
+
* than the last value this machine pushed/applied, so a stale in-flight turn
|
|
13
|
+
* can't undo a `glen incognito|on` that just ran.
|
|
14
|
+
* - No stored preference server-side (updatedAt null) → nothing authoritative;
|
|
15
|
+
* leave local state alone.
|
|
16
|
+
* - Best-effort: a failed state write just keeps the current state.
|
|
17
|
+
*/
|
|
18
|
+
const syncModeFromServer = async (json) => {
|
|
19
|
+
const state = await readState();
|
|
20
|
+
if (!state || state.mode === "off")
|
|
21
|
+
return state;
|
|
22
|
+
const d = json;
|
|
23
|
+
if (!d || typeof d.serverIncognito !== "boolean")
|
|
24
|
+
return state;
|
|
25
|
+
if (typeof d.serverIncognitoUpdatedAt !== "string")
|
|
26
|
+
return state;
|
|
27
|
+
const updatedAt = d.serverIncognitoUpdatedAt;
|
|
28
|
+
const desired = d.serverIncognito ? "incognito" : "on";
|
|
29
|
+
if (state.mode === desired)
|
|
30
|
+
return state;
|
|
31
|
+
// ISO-8601 UTC timestamps compare correctly as strings.
|
|
32
|
+
if (state.modeUpdatedAt !== undefined && updatedAt <= state.modeUpdatedAt)
|
|
33
|
+
return state;
|
|
34
|
+
const next = { ...state, mode: desired, modeUpdatedAt: updatedAt };
|
|
35
|
+
const w = await writeState(next);
|
|
36
|
+
return w.ok ? next : state;
|
|
37
|
+
};
|
|
38
|
+
export { syncModeFromServer };
|
|
39
|
+
//# sourceMappingURL=sync-mode-from-server.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"sync-mode-from-server.js","sourceRoot":"","sources":["../../src/_utils/sync-mode-from-server.ts"],"names":[],"mappings":"AAAA,OAAO,EAAkB,SAAS,EAAE,UAAU,EAAE,MAAM,YAAY,CAAC;AAEnE;;;;;;;;;;;;;;;GAeG;AACH,MAAM,kBAAkB,GAAG,KAAK,EAAE,IAAa,EAA6B,EAAE;IAC5E,MAAM,KAAK,GAAG,MAAM,SAAS,EAAE,CAAC;IAChC,IAAI,CAAC,KAAK,IAAI,KAAK,CAAC,IAAI,KAAK,KAAK;QAAE,OAAO,KAAK,CAAC;IACjD,MAAM,CAAC,GAAG,IAGF,CAAC;IACT,IAAI,CAAC,CAAC,IAAI,OAAO,CAAC,CAAC,eAAe,KAAK,SAAS;QAAE,OAAO,KAAK,CAAC;IAC/D,IAAI,OAAO,CAAC,CAAC,wBAAwB,KAAK,QAAQ;QAAE,OAAO,KAAK,CAAC;IACjE,MAAM,SAAS,GAAG,CAAC,CAAC,wBAAwB,CAAC;IAC7C,MAAM,OAAO,GAAsB,CAAC,CAAC,eAAe,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,IAAI,CAAC;IAC1E,IAAI,KAAK,CAAC,IAAI,KAAK,OAAO;QAAE,OAAO,KAAK,CAAC;IACzC,wDAAwD;IACxD,IAAI,KAAK,CAAC,aAAa,KAAK,SAAS,IAAI,SAAS,IAAI,KAAK,CAAC,aAAa;QACvE,OAAO,KAAK,CAAC;IACf,MAAM,IAAI,GAAG,EAAE,GAAG,KAAK,EAAE,IAAI,EAAE,OAAO,EAAE,aAAa,EAAE,SAAS,EAAE,CAAC;IACnE,MAAM,CAAC,GAAG,MAAM,UAAU,CAAC,IAAI,CAAC,CAAC;IACjC,OAAO,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,CAAC;AAC7B,CAAC,CAAC;AAEF,OAAO,EAAE,kBAAkB,EAAE,CAAC"}
|
package/dist/commands/ingest.js
CHANGED
|
@@ -11,8 +11,10 @@ import { parseTranscript } from "../_utils/parse-transcript.js";
|
|
|
11
11
|
import { buildReviewUrl, extractPrUrls } from "../_utils/pr-review-link.js";
|
|
12
12
|
import { fromPromise, ok } from "../_utils/result.js";
|
|
13
13
|
import { recordSession } from "../_utils/session-map.js";
|
|
14
|
+
import { rememberStateLine } from "../_utils/state-line-memo.js";
|
|
14
15
|
import { formatStateLine } from "../_utils/state-line.js";
|
|
15
16
|
import { readState } from "../_utils/state.js";
|
|
17
|
+
import { syncModeFromServer } from "../_utils/sync-mode-from-server.js";
|
|
16
18
|
import { readTurn, rememberAssistant, rememberPrompt, } from "../_utils/turn-cache.js";
|
|
17
19
|
import { cachedNewerVersion, handle426InHook, maybeSpawnBackgroundUpdate, } from "../_utils/update.js";
|
|
18
20
|
import { cliVersion } from "../_utils/version.js";
|
|
@@ -305,9 +307,25 @@ const ingest = async (agent) => {
|
|
|
305
307
|
`If this keeps happening, tell the user to check their connection.${updateAddendum()}`);
|
|
306
308
|
return ok(undefined);
|
|
307
309
|
}
|
|
308
|
-
|
|
310
|
+
// Mirror the server-side recording preference (the source of truth) into
|
|
311
|
+
// local state BEFORE rendering the state line, so a dashboard toggle shows up
|
|
312
|
+
// on this machine on the very next turn.
|
|
313
|
+
const syncedState = await syncModeFromServer(res.value.json);
|
|
314
|
+
const effectiveState = syncedState ?? state;
|
|
315
|
+
// Per-session state-line dedup: SessionStart already injected the state
|
|
316
|
+
// line, so re-emit it here only when it CHANGES (org switch / mode flip
|
|
317
|
+
// mid-session) — Codex renders every injected hook context as a visible
|
|
318
|
+
// transcript card with no way to hide it, so an unchanged line every turn
|
|
319
|
+
// is pure noise. Incognito is exempt and stays loud on every prompt: the
|
|
320
|
+
// user must never forget nothing is being recorded. rememberStateLine
|
|
321
|
+
// fails toward visibility (fs trouble → "changed").
|
|
322
|
+
const stateLine = formatStateLine(effectiveState);
|
|
323
|
+
const stateLineChanged = stateLine !== null && hookEventName !== "Stop"
|
|
324
|
+
? await rememberStateLine(event.session_id, stateLine)
|
|
325
|
+
: false;
|
|
326
|
+
const stateLineOut = stateLineChanged || effectiveState?.mode === "incognito" ? stateLine : null;
|
|
309
327
|
const questions = formatQuestions(res.value.json);
|
|
310
|
-
const out = [
|
|
328
|
+
const out = [stateLineOut, questions].filter(Boolean).join("\n\n");
|
|
311
329
|
if (out && hookEventName !== "Stop")
|
|
312
330
|
emit(out);
|
|
313
331
|
if (hookEventName === "Stop")
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ingest.js","sourceRoot":"","sources":["../../src/commands/ingest.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"ingest.js","sourceRoot":"","sources":["../../src/commands/ingest.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,kBAAkB,CAAC;AAC5C,OAAO,EAAE,eAAe,EAAE,MAAM,4BAA4B,CAAC;AAC7D,OAAO,EAAE,aAAa,EAAE,MAAM,8BAA8B,CAAC;AAC7D,OAAO,EAAE,MAAM,EAAE,MAAM,qBAAqB,CAAC;AAC7C,OAAO,EAAE,eAAe,EAAE,MAAM,0BAA0B,CAAC;AAC3D,OAAO,EAAE,eAAe,EAAE,MAAM,+BAA+B,CAAC;AAChE,OAAO,EAAE,UAAU,EAAE,MAAM,0BAA0B,CAAC;AACtD,OAAO,EAAE,gBAAgB,EAAE,MAAM,2BAA2B,CAAC;AAC7D,OAAO,EAAE,QAAQ,EAAE,MAAM,mBAAmB,CAAC;AAC7C,OAAO,EAAE,eAAe,EAAE,MAAM,+BAA+B,CAAC;AAChE,OAAO,EAAE,cAAc,EAAE,aAAa,EAAE,MAAM,6BAA6B,CAAC;AAC5E,OAAO,EAAe,WAAW,EAAE,EAAE,EAAE,MAAM,qBAAqB,CAAC;AACnE,OAAO,EAAE,aAAa,EAAE,MAAM,0BAA0B,CAAC;AACzD,OAAO,EAAE,iBAAiB,EAAE,MAAM,8BAA8B,CAAC;AACjE,OAAO,EAAE,eAAe,EAAE,MAAM,yBAAyB,CAAC;AAC1D,OAAO,EAAE,SAAS,EAAE,MAAM,oBAAoB,CAAC;AAC/C,OAAO,EAAE,kBAAkB,EAAE,MAAM,oCAAoC,CAAC;AACxE,OAAO,EACL,QAAQ,EACR,iBAAiB,EACjB,cAAc,GACf,MAAM,yBAAyB,CAAC;AACjC,OAAO,EACL,kBAAkB,EAClB,eAAe,EACf,0BAA0B,GAC3B,MAAM,qBAAqB,CAAC;AAC7B,OAAO,EAAE,UAAU,EAAE,MAAM,sBAAsB,CAAC;AAElD,MAAM,SAAS,GAAG,KAAK,IAAqB,EAAE;IAC5C,IAAI,OAAO,CAAC,KAAK,CAAC,KAAK;QAAE,OAAO,EAAE,CAAC,CAAC,wCAAwC;IAC5E,MAAM,MAAM,GAAa,EAAE,CAAC;IAC5B,IAAI,KAAK,EAAE,MAAM,KAAK,IAAI,OAAO,CAAC,KAAK;QAAE,MAAM,CAAC,IAAI,CAAC,KAAe,CAAC,CAAC;IACtE,OAAO,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC;AAChD,CAAC,CAAC;AAEF,4EAA4E;AAC5E,6EAA6E;AAC7E,mCAAmC;AACnC,MAAM,cAAc,GAAG,GAAW,EAAE;IAClC,MAAM,CAAC,GAAG,kBAAkB,EAAE,CAAC;IAC/B,OAAO,CAAC;QACN,CAAC,CAAC,gBAAgB,CAAC,4BAA4B,UAAU,mCAAmC;QAC5F,CAAC,CAAC,EAAE,CAAC;AACT,CAAC,CAAC;AAEF,MAAM,mBAAmB,GAAG,KAAK,EAC/B,IAAY,EACgB,EAAE;IAC9B,MAAM,CAAC,GAAG,MAAM,WAAW,CAAC,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC,CAAC;IACpD,IAAI,CAAC,CAAC,CAAC,EAAE;QAAE,OAAO,EAAE,CAAC;IACrB,OAAO,CAAC,CAAC,KAAK,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;AAC7C,CAAC,CAAC;AAEF,uEAAuE;AACvE,2EAA2E;AAC3E,oEAAoE;AACpE,gDAAgD;AAChD,MAAM,MAAM,GAAG,KAAK,EAAE,KAAc,EAAgC,EAAE;IACpE,KAAK,0BAA0B,EAAE,CAAC;IAClC,MAAM,QAAQ,GAAG,MAAM,SAAS,EAAE,CAAC;IACnC,MAAM,KAAK,GAAG,CAAC,GAAG,EAAE;QAClB,IAAI,CAAC;YACH,OAAO,IAAI,CAAC,KAAK,CAAC,QAAQ,CAA4B,CAAC;QACzD,CAAC;QAAC,MAAM,CAAC;YACP,OAAO,IAAI,CAAC;QACd,CAAC;IACH,CAAC,CAAC,EAAE,CAAC;IAEL,sEAAsE;IACtE,mEAAmE;IACnE,2DAA2D;IAC3D,IAAI,KAAK,KAAK,QAAQ,IAAI,KAAK,EAAE,CAAC;QAChC,IAAI,CAAC,KAAK,CAAC,UAAU,IAAI,OAAO,KAAK,CAAC,eAAe,KAAK,QAAQ;YAChE,KAAK,CAAC,UAAU,GAAG,KAAK,CAAC,eAAe,CAAC;QAC3C,IAAI,KAAK,CAAC,eAAe,KAAK,oBAAoB;YAChD,KAAK,CAAC,eAAe,GAAG,MAAM,CAAC;IACnC,CAAC;IAED,MAAM,aAAa,GACjB,OAAO,KAAK,EAAE,eAAe,KAAK,QAAQ;QACxC,CAAC,CAAC,KAAK,CAAC,eAAe;QACvB,CAAC,CAAC,kBAAkB,CAAC;IACzB,IAAI,CAAC,KAAK,EAAE,UAAU;QAAE,OAAO,EAAE,CAAC,SAAS,CAAC,CAAC;IAC7C,IAAI,aAAa,KAAK,MAAM,IAAI,OAAO,KAAK,CAAC,MAAM,KAAK,QAAQ;QAC9D,OAAO,EAAE,CAAC,SAAS,CAAC,CAAC;IAEvB,8DAA8D;IAC9D,MAAM,SAAS,GACb,KAAK,KAAK,aAAa,IAAI,KAAK,KAAK,OAAO,IAAI,KAAK,KAAK,QAAQ;QAChE,CAAC,CAAC,KAAK;QACP,CAAC,CAAC,SAAS,CAAC;IAEhB,qDAAqD;IACrD,6EAA6E;IAC7E,yEAAyE;IACzE,+DAA+D;IAC/D,wEAAwE;IACxE,2EAA2E;IAC3E,MAAM,IAAI,GAAG,CAAC,IAAY,EAAQ,EAAE;QAClC,IAAI,SAAS,KAAK,QAAQ;YAAE,OAAO,CAAC,uCAAuC;QAC3E,IAAI,SAAS,KAAK,OAAO,EAAE,CAAC;YAC1B,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;YAC3B,OAAO;QACT,CAAC;QACD,OAAO,CAAC,MAAM,CAAC,KAAK,CAClB,IAAI,CAAC,SAAS,CAAC;YACb,kBAAkB,EAAE;gBAClB,aAAa;gBACb,iBAAiB,EAAE,IAAI;aACxB;SACF,CAAC,CACH,CAAC;IACJ,CAAC,CAAC;IAEF,MAAM,KAAK,GAAG,MAAM,eAAe,EAAE,CAAC;IACtC,IAAI,CAAC,KAAK,EAAE,CAAC;QACX,sEAAsE;QACtE,uEAAuE;QACvE,+DAA+D;QAC/D,IAAI,CAAC,yCAAyC,CAAC,CAAC;QAChD,OAAO,EAAE,CAAC,SAAS,CAAC,CAAC;IACvB,CAAC;IACD,MAAM,KAAK,GAAG,MAAM,SAAS,EAAE,CAAC;IAEhC,yEAAyE;IACzE,+EAA+E;IAC/E,4EAA4E;IAC5E,IAAI,KAAK,EAAE,IAAI,KAAK,KAAK;QAAE,OAAO,EAAE,CAAC,SAAS,CAAC,CAAC;IAEhD,MAAM,cAAc,GAClB,OAAO,KAAK,CAAC,eAAe,KAAK,QAAQ;QACvC,CAAC,CAAC,KAAK,CAAC,eAAe;QACvB,CAAC,CAAC,SAAS,CAAC;IAChB,MAAM,eAAe,GAAG,cAAc;QACpC,CAAC,CAAC,MAAM,mBAAmB,CAAC,cAAc,CAAC;QAC3C,CAAC,CAAC,EAAE,CAAC;IACP,MAAM,UAAU,GAAG,eAAe,CAAC,eAAe,CAAC,CAAC;IAEpD,8EAA8E;IAC9E,8EAA8E;IAC9E,gEAAgE;IAChE,IACE,SAAS,KAAK,QAAQ;QACtB,aAAa,KAAK,MAAM;QACxB,OAAO,KAAK,CAAC,IAAI,KAAK,QAAQ;QAC9B,KAAK,CAAC,IAAI;QAEV,MAAM,iBAAiB,CAAC,KAAK,CAAC,UAAoB,EAAE,KAAK,CAAC,IAAI,CAAC,CAAC;IAClE,MAAM,UAAU,GACd,SAAS,KAAK,QAAQ,CAAC,CAAC,CAAC,MAAM,QAAQ,CAAC,KAAK,CAAC,UAAoB,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;IAE7E,6EAA6E;IAC7E,4EAA4E;IAC5E,2EAA2E;IAC3E,+EAA+E;IAC/E,6EAA6E;IAC7E,2DAA2D;IAC3D,MAAM,cAAc,GAClB,aAAa,KAAK,MAAM;QACtB,CAAC,CAAC,CAAC,GAAG,EAAE;YACJ,MAAM,aAAa,GACjB,SAAS,KAAK,OAAO;gBACnB,CAAC,CAAC,OAAO,KAAK,CAAC,sBAAsB,KAAK,QAAQ;oBAChD,CAAC,CAAC,KAAK,CAAC,sBAAsB;oBAC9B,CAAC,CAAC,EAAE;gBACN,CAAC,CAAC,SAAS,KAAK,QAAQ;oBACtB,CAAC,CAAC,CAAC,UAAU,EAAE,SAAS,IAAI,EAAE,CAAC;oBAC/B,CAAC,CAAC,CAAC,UAAU,CAAC,aAAa,EAAE,SAAS,IAAI,EAAE,CAAC,CAAC;YACpD,MAAM,GAAG,GAAG,aAAa,CAAC,aAAa,CAAC,CAAC,MAAM,CAC7C,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,aAAa,CAAC,QAAQ,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC,CAClD,CAAC;YACF,IAAI,GAAG,CAAC,MAAM,KAAK,CAAC;gBAAE,OAAO,EAAE,CAAC;YAChC,MAAM,KAAK,GAAG,GAAG;iBACd,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,iCAAiC,cAAc,CAAC,CAAC,CAAC,EAAE,CAAC;iBAChE,IAAI,CAAC,IAAI,CAAC,CAAC;YACd,OAAO,GAAG,KAAK,8DAA8D,CAAC;QAChF,CAAC,CAAC,EAAE;QACN,CAAC,CAAC,EAAE,CAAC;IAET,6EAA6E;IAC7E,6EAA6E;IAC7E,8EAA8E;IAC9E,MAAM,QAAQ,GAAG,CAAC,IAAY,EAAQ,EAAE;QACtC,IAAI,SAAS,KAAK,QAAQ;YAAE,OAAO,CAAC,uCAAuC;QAC3E,MAAM,QAAQ,GAAG,CAAC,cAAc,EAAE,IAAI,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;QACrE,IAAI,CAAC,QAAQ;YAAE,OAAO;QACtB,OAAO,CAAC,MAAM,CAAC,KAAK,CAClB,IAAI,CAAC,SAAS,CAAC;YACb,kBAAkB,EAAE;gBAClB,aAAa,EAAE,MAAM;gBACrB,iBAAiB,EAAE,QAAQ;aAC5B;SACF,CAAC,CACH,CAAC;IACJ,CAAC,CAAC;IAEF,6EAA6E;IAC7E,oDAAoD;IACpD,MAAM,QAAQ,GAAG,CAAC,IAAY,EAAQ,EAAE;QACtC,IAAI,aAAa,KAAK,MAAM;YAAE,QAAQ,CAAC,IAAI,CAAC,CAAC;;YACxC,IAAI,CAAC,IAAI,CAAC,CAAC;IAClB,CAAC,CAAC;IAEF,kEAAkE;IAClE,MAAM,QAAQ,GACZ,OAAO,KAAK,CAAC,GAAG,KAAK,QAAQ;QAC3B,CAAC,CAAC,KAAK,CAAC,GAAG;QACX,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,eAAe,CAAC;YAClC,OAAO,KAAK,CAAC,eAAe,CAAC,CAAC,CAAC,KAAK,QAAQ;YAC9C,CAAC,CAAC,KAAK,CAAC,eAAe,CAAC,CAAC,CAAC;YAC1B,CAAC,CAAC,OAAO,CAAC,GAAG,EAAE,CAAC;IAEtB,oFAAoF;IACpF,kDAAkD;IAClD,MAAM,aAAa,CAAC,QAAQ,EAAE,KAAK,CAAC,UAAoB,CAAC,CAAC;IAE1D,uCAAuC;IACvC,MAAM,OAAO,GAAG,eAAe,CAAC,SAAS,EAAE,KAAK,EAAE,eAAe,CAAC,CAAC;IAEnE,6EAA6E;IAC7E,4EAA4E;IAC5E,MAAM,oBAAoB,GACxB,SAAS,KAAK,QAAQ;QACpB,CAAC,CAAC,OAAO,KAAK,CAAC,aAAa,KAAK,QAAQ,IAAI,KAAK,CAAC,aAAa;YAC9D,CAAC,CAAC,KAAK,CAAC,aAAa;YACrB,CAAC,CAAC,UAAU,CAAC,oBAAoB;QACnC,CAAC,CAAC,SAAS,KAAK,OAAO,IAAI,CAAC,OAAO,CAAC,cAAc;YAChD,CAAC,CAAC,OAAO,KAAK,CAAC,OAAO,KAAK,QAAQ,IAAI,KAAK,CAAC,OAAO;gBAClD,CAAC,CAAC,KAAK,CAAC,OAAO;gBACf,CAAC,CAAC,UAAU,CAAC,oBAAoB;YACnC,CAAC,CAAC,UAAU,CAAC,oBAAoB,CAAC;IAExC,2EAA2E;IAC3E,kDAAkD;IAClD,MAAM,YAAY,GAAG,UAAU,CAAC,QAAQ,CAAC,CAAC;IAC1C,MAAM,gBAAgB,GAAG,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,aAAa,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC;IACvE,MAAM,iBAAiB,GAAwC,CAAC,GAAG,EAAE;QACnE,MAAM,GAAG,GAA4B,EAAE,CAAC;QACxC,IAAI,SAAS;YAAE,GAAG,CAAC,KAAK,GAAG,EAAE,IAAI,EAAE,SAAS,EAAE,CAAC;QAC/C,oDAAoD;QACpD,IAAI,MAAM,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC,MAAM,GAAG,CAAC;YAAE,GAAG,CAAC,SAAS,GAAG,YAAY,CAAC;QACvE,IAAI,gBAAgB;YAAE,GAAG,CAAC,OAAO,GAAG,OAAO,CAAC,aAAa,CAAC;QAC1D,OAAO,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,SAAS,CAAC;IACvD,CAAC,CAAC,EAAE,CAAC;IAEL,MAAM,IAAI,GACR,aAAa,KAAK,MAAM;QACtB,CAAC,CAAC,SAAS,KAAK,QAAQ;YACtB,CAAC,CAAC,UAAU,EAAE,MAAM,IAAI,OAAO,KAAK,CAAC,IAAI,KAAK,QAAQ,IAAI,KAAK,CAAC,IAAI;gBAClE,CAAC,CAAC,aAAa,CAAC;oBACZ,SAAS,EAAE,KAAK,CAAC,UAAoB;oBACrC,oBAAoB,EAAE,QACpB,OAAO,KAAK,CAAC,aAAa,KAAK,QAAQ,IAAI,KAAK,CAAC,aAAa;wBAC5D,CAAC,CAAC,KAAK,CAAC,aAAa;wBACrB,CAAC,CAAC,GACN,EAAE;oBACF,QAAQ,EAAE;wBACR,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,UAAU,CAAC,MAAM,EAAE;wBAC5C,EAAE,IAAI,EAAE,WAAW,EAAE,OAAO,EAAE,KAAK,CAAC,IAAI,EAAE;qBAC3C;oBACD,GAAG,CAAC,iBAAiB,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,iBAAiB,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;iBAClE,CAAC;gBACJ,CAAC,CAAC,IAAI;YACR,CAAC,CAAC,CAAC,GAAG,EAAE;gBACJ,IAAI,CAAC,UAAU,CAAC,aAAa;oBAAE,OAAO,IAAI,CAAC;gBAC3C,OAAO,aAAa,CAAC;oBACnB,SAAS,EAAE,KAAK,CAAC,UAAoB;oBACrC,oBAAoB,EAAE,QAAQ,UAAU,CAAC,aAAa,CAAC,gBAAgB,EAAE;oBACzE,QAAQ,EAAE;wBACR,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,UAAU,CAAC,aAAa,CAAC,IAAI,EAAE;wBACxD;4BACE,IAAI,EAAE,WAAW;4BACjB,OAAO,EAAE,UAAU,CAAC,aAAa,CAAC,SAAS;yBAC5C;qBACF;oBACD,GAAG,CAAC,iBAAiB,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,iBAAiB,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;iBAClE,CAAC,CAAC;YACL,CAAC,CAAC,EAAE;QACR,CAAC,CAAC,aAAa,CAAC;YACZ,SAAS,EAAE,KAAK,CAAC,UAAoB;YACrC,MAAM,EAAE,KAAK,CAAC,MAAgB;YAC9B,cAAc,EACZ,OAAO,CAAC,cAAc,IAAI,UAAU,EAAE,SAAS,IAAI,IAAI;YACzD,oBAAoB;YACpB,GAAG,CAAC,iBAAiB,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,iBAAiB,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;SAClE,CAAC,CAAC;IAET,2EAA2E;IAC3E,qEAAqE;IACrE,gEAAgE;IAChE,IAAI,SAAS,KAAK,QAAQ,IAAI,aAAa,KAAK,MAAM;QACpD,MAAM,cAAc,CAAC,KAAK,CAAC,UAAoB,EAAE,KAAK,CAAC,MAAgB,CAAC,CAAC;IAE3E,IAAI,CAAC,IAAI,EAAE,CAAC;QACV,IAAI,aAAa,KAAK,MAAM;YAAE,QAAQ,CAAC,EAAE,CAAC,CAAC;QAC3C,OAAO,EAAE,CAAC,SAAS,CAAC,CAAC;IACvB,CAAC;IAED,MAAM,GAAG,GAAG,MAAM,QAAQ,CAAC,MAAM,CAAC,OAAO,EAAE;QACzC,MAAM,EAAE,MAAM;QACd,OAAO,EAAE;YACP,cAAc,EAAE,kBAAkB;YAClC,GAAG,gBAAgB,CAAC,EAAE,GAAG,EAAE,KAAK,CAAC,GAAG,EAAE,KAAK,EAAE,OAAO,EAAE,UAAU,EAAE,CAAC;SACpE;QACD,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC;QAC1B,SAAS,EAAE,MAAM,CAAC,eAAe;KAClC,CAAC,CAAC;IAEH,IAAI,CAAC,GAAG,CAAC,EAAE,EAAE,CAAC;QACZ,uEAAuE;QACvE,OAAO,CAAC,MAAM,CAAC,KAAK,CAClB,wBAAwB,GAAG,CAAC,KAAK,CAAC,MAAM,yCAAyC,CAClF,CAAC;QACF,QAAQ,CACN,2CAA2C,GAAG,CAAC,KAAK,CAAC,MAAM,KAAK;YAC9D,oEAAoE,cAAc,EAAE,EAAE,CACzF,CAAC;QACF,OAAO,EAAE,CAAC,SAAS,CAAC,CAAC;IACvB,CAAC;IAED,IAAI,GAAG,CAAC,KAAK,CAAC,MAAM,KAAK,GAAG,EAAE,CAAC;QAC7B,0EAA0E;QAC1E,2EAA2E;QAC3E,0EAA0E;QAC1E,gEAAgE;QAChE,MAAM,OAAO,GAAG,eAAe,EAAE,CAAC;QAClC,QAAQ,CACN,OAAO;YACL,CAAC,CAAC,+GAA+G;YACjH,CAAC,CAAC,uIAAuI,CAC5I,CAAC;QACF,OAAO,EAAE,CAAC,SAAS,CAAC,CAAC;IACvB,CAAC;IAED,IAAI,GAAG,CAAC,KAAK,CAAC,MAAM,KAAK,GAAG,IAAI,GAAG,CAAC,KAAK,CAAC,MAAM,KAAK,GAAG,EAAE,CAAC;QACzD,IAAI,GAAG,CAAC,KAAK,CAAC,OAAO,CAAC,QAAQ,CAAC,wBAAwB,CAAC,EAAE,CAAC;YACzD,wEAAwE;YACxE,yBAAyB;YACzB,OAAO,CAAC,MAAM,CAAC,KAAK,CAClB,yDAAyD,CAC1D,CAAC;YACF,QAAQ,CAAC,uDAAuD,CAAC,CAAC;YAClE,OAAO,EAAE,CAAC,SAAS,CAAC,CAAC;QACvB,CAAC;QACD,mEAAmE;QACnE,oEAAoE;QACpE,QAAQ,CACN,mKAAmK,cAAc,EAAE,EAAE,CACtL,CAAC;QACF,OAAO,EAAE,CAAC,SAAS,CAAC,CAAC;IACvB,CAAC;IAED,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,EAAE,CAAC;QACpB,mFAAmF;QACnF,OAAO,CAAC,MAAM,CAAC,KAAK,CAClB,6BAA6B,GAAG,CAAC,KAAK,CAAC,MAAM,yCAAyC,CACvF,CAAC;QACF,QAAQ,CACN,gDAAgD,GAAG,CAAC,KAAK,CAAC,MAAM,KAAK;YACnE,oEAAoE,cAAc,EAAE,EAAE,CACzF,CAAC;QACF,OAAO,EAAE,CAAC,SAAS,CAAC,CAAC;IACvB,CAAC;IAED,yEAAyE;IACzE,8EAA8E;IAC9E,yCAAyC;IACzC,MAAM,WAAW,GAAG,MAAM,kBAAkB,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;IAC7D,MAAM,cAAc,GAAG,WAAW,IAAI,KAAK,CAAC;IAE5C,wEAAwE;IACxE,wEAAwE;IACxE,wEAAwE;IACxE,0EAA0E;IAC1E,yEAAyE;IACzE,sEAAsE;IACtE,oDAAoD;IACpD,MAAM,SAAS,GAAG,eAAe,CAAC,cAAc,CAAC,CAAC;IAClD,MAAM,gBAAgB,GACpB,SAAS,KAAK,IAAI,IAAI,aAAa,KAAK,MAAM;QAC5C,CAAC,CAAC,MAAM,iBAAiB,CAAC,KAAK,CAAC,UAAoB,EAAE,SAAS,CAAC;QAChE,CAAC,CAAC,KAAK,CAAC;IACZ,MAAM,YAAY,GAChB,gBAAgB,IAAI,cAAc,EAAE,IAAI,KAAK,WAAW,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC;IAC9E,MAAM,SAAS,GAAG,eAAe,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;IAClD,MAAM,GAAG,GAAG,CAAC,YAAY,EAAE,SAAS,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;IACnE,IAAI,GAAG,IAAI,aAAa,KAAK,MAAM;QAAE,IAAI,CAAC,GAAG,CAAC,CAAC;IAC/C,IAAI,aAAa,KAAK,MAAM;QAAE,QAAQ,CAAC,EAAE,CAAC,CAAC;IAE3C,OAAO,EAAE,CAAC,SAAS,CAAC,CAAC;AACvB,CAAC,CAAC;AAEF,OAAO,EAAE,MAAM,EAAE,CAAC"}
|
|
@@ -2,6 +2,7 @@ import { spawn } from "node:child_process";
|
|
|
2
2
|
import { config } from "../_utils/config.js";
|
|
3
3
|
import { readCredentials } from "../_utils/credentials.js";
|
|
4
4
|
import { recordSession } from "../_utils/session-map.js";
|
|
5
|
+
import { rememberStateLine } from "../_utils/state-line-memo.js";
|
|
5
6
|
import { formatStateLine } from "../_utils/state-line.js";
|
|
6
7
|
import { readState } from "../_utils/state.js";
|
|
7
8
|
// Reads stdin defensively (SessionStart hook event — parse lenient; may be empty
|
|
@@ -90,6 +91,11 @@ const sessionStart = async (agent) => {
|
|
|
90
91
|
: state.mode === "off"
|
|
91
92
|
? ""
|
|
92
93
|
: `${formatStateLine(state) ?? noOrgHint}\n\n${reviewLinkInstruction}`;
|
|
94
|
+
// Seed the per-session state-line memo so the first prompt's ingest doesn't
|
|
95
|
+
// repeat the line this hook just injected (ingest re-emits only on change).
|
|
96
|
+
const seededLine = credentials && state ? formatStateLine(state) : null;
|
|
97
|
+
if (sessionId && seededLine)
|
|
98
|
+
await rememberStateLine(sessionId, seededLine);
|
|
93
99
|
const systemMessage = state?.mode === "off"
|
|
94
100
|
? "glen: OFF — nothing is injected or recorded. Run `glen on` to resume."
|
|
95
101
|
: state?.mode === "incognito"
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"session-start.js","sourceRoot":"","sources":["../../src/commands/session-start.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"session-start.js","sourceRoot":"","sources":["../../src/commands/session-start.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,6 +1,12 @@
|
|
|
1
1
|
import { type CliError } from "../_utils/cli-error.js";
|
|
2
2
|
import { type Result } from "../_utils/result.js";
|
|
3
3
|
import { type GlenMode } from "../_utils/state.js";
|
|
4
|
-
/**
|
|
4
|
+
/**
|
|
5
|
+
* Set the recording/injection mode. Shared by `glen on|off|incognito`.
|
|
6
|
+
* `on`/`incognito` set the account-wide server preference FIRST (the source of
|
|
7
|
+
* truth, enforced server-side) and mirror it locally only on success; `off` is
|
|
8
|
+
* machine-local by definition (this machine's hooks stop injecting entirely)
|
|
9
|
+
* and never touches the server preference.
|
|
10
|
+
*/
|
|
5
11
|
declare const setMode: (mode: GlenMode) => Promise<Result<void, CliError>>;
|
|
6
12
|
export { setMode };
|
|
@@ -1,12 +1,71 @@
|
|
|
1
1
|
import { causeOf, cliErr } from "../_utils/cli-error.js";
|
|
2
|
+
import { config } from "../_utils/config.js";
|
|
3
|
+
import { readCredentials } from "../_utils/credentials.js";
|
|
4
|
+
import { buildGlenHeaders } from "../_utils/glen-headers.js";
|
|
5
|
+
import { httpJson, networkRemedy } from "../_utils/http.js";
|
|
2
6
|
import { err, ok } from "../_utils/result.js";
|
|
3
7
|
import { readState, statePath, writeState, } from "../_utils/state.js";
|
|
8
|
+
import { handle426AndReexec } from "../_utils/update.js";
|
|
9
|
+
import { cliVersion } from "../_utils/version.js";
|
|
4
10
|
const confirmation = {
|
|
5
|
-
on: "🏔️ glen is ON — injecting context and recording.\n",
|
|
6
|
-
off: "🏔️ glen is OFF — nothing is injected or recorded until you run `glen on`.\n",
|
|
7
|
-
incognito: "🏔️ Incognito ON — glen keeps recalling but records nothing until you run `glen on`.\n",
|
|
11
|
+
on: "🏔️ glen is ON — injecting context and recording (account-wide).\n",
|
|
12
|
+
off: "🏔️ glen is OFF — nothing is injected or recorded on this machine until you run `glen on`.\n",
|
|
13
|
+
incognito: "🏔️ Incognito ON — glen keeps recalling but records nothing, on every machine and agent, until you run `glen on`.\n",
|
|
8
14
|
};
|
|
9
|
-
|
|
15
|
+
// Push the account-wide recording preference to the server — the source of
|
|
16
|
+
// truth, enforced at the MCP edge for every machine, agent, and connected
|
|
17
|
+
// client. Hard-fails (mode unchanged) when the server can't be reached: local
|
|
18
|
+
// state must never claim a mode the server doesn't enforce. Returns the
|
|
19
|
+
// server's updatedAt stamp so local state can last-writer-wins against the
|
|
20
|
+
// per-turn echoes.
|
|
21
|
+
const pushServerPreference = async (state, incognito) => {
|
|
22
|
+
const creds = await readCredentials();
|
|
23
|
+
if (!creds)
|
|
24
|
+
return err(cliErr({ what: "not connected", remedy: "run `glen login` first" }));
|
|
25
|
+
const res = await httpJson(config.setRecordingUrl, {
|
|
26
|
+
method: "POST",
|
|
27
|
+
headers: {
|
|
28
|
+
"content-type": "application/json",
|
|
29
|
+
...buildGlenHeaders({ key: creds.key, state, version: cliVersion }),
|
|
30
|
+
},
|
|
31
|
+
body: JSON.stringify({ incognito }),
|
|
32
|
+
timeoutMs: config.setRecordingTimeoutMs,
|
|
33
|
+
});
|
|
34
|
+
if (!res.ok)
|
|
35
|
+
return err(cliErr({
|
|
36
|
+
what: "could not update the recording preference — mode unchanged",
|
|
37
|
+
why: res.error.detail,
|
|
38
|
+
remedy: networkRemedy(res.error),
|
|
39
|
+
}));
|
|
40
|
+
if (res.value.status === 426)
|
|
41
|
+
handle426AndReexec(process.argv.slice(2));
|
|
42
|
+
if (res.value.status === 401 || res.value.status === 403) {
|
|
43
|
+
if (res.value.rawText.includes("no active organization"))
|
|
44
|
+
return err(cliErr({
|
|
45
|
+
what: "no active organization",
|
|
46
|
+
remedy: "run `glen org switch`",
|
|
47
|
+
}));
|
|
48
|
+
return err(cliErr({
|
|
49
|
+
what: "your connection expired",
|
|
50
|
+
remedy: "run `glen login` to reconnect",
|
|
51
|
+
}));
|
|
52
|
+
}
|
|
53
|
+
if (!res.value.isOk)
|
|
54
|
+
return err(cliErr({
|
|
55
|
+
what: `could not update the recording preference (HTTP ${res.value.status}) — mode unchanged`,
|
|
56
|
+
why: res.value.rawText.slice(0, 200) || `HTTP ${res.value.status}`,
|
|
57
|
+
remedy: "try again in a minute — if it persists, check https://tryglen.com/status",
|
|
58
|
+
}));
|
|
59
|
+
const d = res.value.json;
|
|
60
|
+
return ok(typeof d?.updatedAt === "string" ? d.updatedAt : null);
|
|
61
|
+
};
|
|
62
|
+
/**
|
|
63
|
+
* Set the recording/injection mode. Shared by `glen on|off|incognito`.
|
|
64
|
+
* `on`/`incognito` set the account-wide server preference FIRST (the source of
|
|
65
|
+
* truth, enforced server-side) and mirror it locally only on success; `off` is
|
|
66
|
+
* machine-local by definition (this machine's hooks stop injecting entirely)
|
|
67
|
+
* and never touches the server preference.
|
|
68
|
+
*/
|
|
10
69
|
const setMode = async (mode) => {
|
|
11
70
|
const current = await readState();
|
|
12
71
|
if (!current)
|
|
@@ -14,7 +73,18 @@ const setMode = async (mode) => {
|
|
|
14
73
|
what: "no active organization",
|
|
15
74
|
remedy: "run `glen org switch` (or `glen login`) first",
|
|
16
75
|
}));
|
|
17
|
-
const
|
|
76
|
+
const pushed = mode === "off"
|
|
77
|
+
? null
|
|
78
|
+
: await pushServerPreference(current, mode === "incognito");
|
|
79
|
+
if (pushed && !pushed.ok)
|
|
80
|
+
return pushed;
|
|
81
|
+
const w = await writeState({
|
|
82
|
+
...current,
|
|
83
|
+
mode,
|
|
84
|
+
...(pushed?.ok && pushed.value !== null
|
|
85
|
+
? { modeUpdatedAt: pushed.value }
|
|
86
|
+
: {}),
|
|
87
|
+
});
|
|
18
88
|
if (!w.ok)
|
|
19
89
|
return err(cliErr({
|
|
20
90
|
what: "could not save glen mode",
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"set-mode.js","sourceRoot":"","sources":["../../src/commands/set-mode.ts"],"names":[],"mappings":"AAAA,OAAO,EAAiB,OAAO,EAAE,MAAM,EAAE,MAAM,wBAAwB,CAAC;AACxE,OAAO,EAAe,GAAG,EAAE,EAAE,EAAE,MAAM,qBAAqB,CAAC;AAC3D,OAAO,
|
|
1
|
+
{"version":3,"file":"set-mode.js","sourceRoot":"","sources":["../../src/commands/set-mode.ts"],"names":[],"mappings":"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"}
|