botmux 2.12.0 → 2.12.1
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/services/codex-bridge-queue.d.ts +39 -0
- package/dist/services/codex-bridge-queue.d.ts.map +1 -0
- package/dist/services/codex-bridge-queue.js +116 -0
- package/dist/services/codex-bridge-queue.js.map +1 -0
- package/dist/services/codex-transcript.d.ts +35 -0
- package/dist/services/codex-transcript.d.ts.map +1 -0
- package/dist/services/codex-transcript.js +163 -0
- package/dist/services/codex-transcript.js.map +1 -0
- package/dist/worker.js +255 -6
- package/dist/worker.js.map +1 -1
- package/package.json +1 -1
|
@@ -0,0 +1,39 @@
|
|
|
1
|
+
import type { CodexBridgeEvent } from './codex-transcript.js';
|
|
2
|
+
export interface CodexPendingTurn {
|
|
3
|
+
turnId: string;
|
|
4
|
+
started: boolean;
|
|
5
|
+
contentFingerprint?: string;
|
|
6
|
+
/** Wall-clock millis when mark() was called. The emit gate uses this as
|
|
7
|
+
* the lower bound of the "did `botmux send` happen for this turn?"
|
|
8
|
+
* window. Optional only for legacy / test-injected turns. */
|
|
9
|
+
markTimeMs?: number;
|
|
10
|
+
/** Set once an assistant_final event closes this turn. */
|
|
11
|
+
finalText?: string;
|
|
12
|
+
}
|
|
13
|
+
export declare class CodexBridgeQueue {
|
|
14
|
+
private seen;
|
|
15
|
+
private queue;
|
|
16
|
+
private collecting;
|
|
17
|
+
/** Register events as historical without producing pending-turn side
|
|
18
|
+
* effects. Used at attach time when resume mode wants to swallow prior
|
|
19
|
+
* conversation as already-processed. */
|
|
20
|
+
absorb(events: CodexBridgeEvent[]): void;
|
|
21
|
+
/** Push a pending Lark turn anchored to the message text. The fingerprint
|
|
22
|
+
* derived from `message` is what the upcoming `user` event must contain
|
|
23
|
+
* to start this turn. Pre-path-known marking is allowed: the worker can
|
|
24
|
+
* call this before late-attach has located the rollout file, and the
|
|
25
|
+
* ingest call after attach will still match correctly. */
|
|
26
|
+
mark(turnId: string, message: string, markTimeMs?: number): void;
|
|
27
|
+
/** Drop all pending turns. Used when the worker decides it can't reliably
|
|
28
|
+
* attribute future events (e.g. a teardown). */
|
|
29
|
+
clearPending(): CodexPendingTurn[];
|
|
30
|
+
/** Process newly-appended events. Idempotent on uuid: events with seen
|
|
31
|
+
* uuids are skipped, so callers can replay safely. */
|
|
32
|
+
ingest(events: CodexBridgeEvent[]): void;
|
|
33
|
+
/** Pop FIFO any leading turn that is started AND has finalText. */
|
|
34
|
+
drainEmittable(): CodexPendingTurn[];
|
|
35
|
+
size(): number;
|
|
36
|
+
/** Test helper — peek the queue without mutating. */
|
|
37
|
+
peek(): readonly CodexPendingTurn[];
|
|
38
|
+
}
|
|
39
|
+
//# sourceMappingURL=codex-bridge-queue.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"codex-bridge-queue.d.ts","sourceRoot":"","sources":["../../src/services/codex-bridge-queue.ts"],"names":[],"mappings":"AAyBA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAC;AAE9D,MAAM,WAAW,gBAAgB;IAC/B,MAAM,EAAE,MAAM,CAAC;IACf,OAAO,EAAE,OAAO,CAAC;IACjB,kBAAkB,CAAC,EAAE,MAAM,CAAC;IAC5B;;kEAE8D;IAC9D,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,0DAA0D;IAC1D,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED,qBAAa,gBAAgB;IAC3B,OAAO,CAAC,IAAI,CAAqB;IACjC,OAAO,CAAC,KAAK,CAA0B;IACvC,OAAO,CAAC,UAAU,CAAiC;IAEnD;;6CAEyC;IACzC,MAAM,CAAC,MAAM,EAAE,gBAAgB,EAAE,GAAG,IAAI;IAIxC;;;;+DAI2D;IAC3D,IAAI,CAAC,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,UAAU,GAAE,MAAmB,GAAG,IAAI;IAS5E;qDACiD;IACjD,YAAY,IAAI,gBAAgB,EAAE;IAMlC;2DACuD;IACvD,MAAM,CAAC,MAAM,EAAE,gBAAgB,EAAE,GAAG,IAAI;IA8BxC,mEAAmE;IACnE,cAAc,IAAI,gBAAgB,EAAE;IAYpC,IAAI,IAAI,MAAM;IAId,qDAAqD;IACrD,IAAI,IAAI,SAAS,gBAAgB,EAAE;CAGpC"}
|
|
@@ -0,0 +1,116 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Codex bridge fallback's pending-turn queue.
|
|
3
|
+
*
|
|
4
|
+
* Lighter than Claude's BridgeTurnQueue because Codex's bridge has no /adopt
|
|
5
|
+
* surface and no local-terminal dual-write: the worker is the only writer,
|
|
6
|
+
* so any user_message in the rollout that doesn't match a pending Lark turn
|
|
7
|
+
* by fingerprint is either history (resume / late-attach) or somebody else's
|
|
8
|
+
* session — either way, ignore it. The Claude queue's "synthesise a local
|
|
9
|
+
* turn and forward to Lark" branch would just spam the thread here.
|
|
10
|
+
*
|
|
11
|
+
* Attribution rule:
|
|
12
|
+
* - mark() — push a pending turn entry (state: not started),
|
|
13
|
+
* anchored to a fingerprint of the Lark message.
|
|
14
|
+
* - ingest(events) —
|
|
15
|
+
* * 'user' event whose text matches the head pending turn's
|
|
16
|
+
* fingerprint → that turn becomes 'started' (collecting). User
|
|
17
|
+
* events with no fingerprint match are silently dropped (history
|
|
18
|
+
* or local input).
|
|
19
|
+
* * 'assistant_final' event → the currently-collecting turn closes
|
|
20
|
+
* with finalText set; eligible for emit on the next drain.
|
|
21
|
+
* - drainEmittable() — pop FIFO any leading turn that is started AND
|
|
22
|
+
* has finalText. Started turns that don't yet have finalText (model
|
|
23
|
+
* mid-turn at idle wakeup, e.g. between idle ticks) stay queued.
|
|
24
|
+
*/
|
|
25
|
+
import { makeFingerprint, normaliseForFingerprint } from './bridge-turn-queue.js';
|
|
26
|
+
export class CodexBridgeQueue {
|
|
27
|
+
seen = new Set();
|
|
28
|
+
queue = [];
|
|
29
|
+
collecting = null;
|
|
30
|
+
/** Register events as historical without producing pending-turn side
|
|
31
|
+
* effects. Used at attach time when resume mode wants to swallow prior
|
|
32
|
+
* conversation as already-processed. */
|
|
33
|
+
absorb(events) {
|
|
34
|
+
for (const ev of events)
|
|
35
|
+
this.seen.add(ev.uuid);
|
|
36
|
+
}
|
|
37
|
+
/** Push a pending Lark turn anchored to the message text. The fingerprint
|
|
38
|
+
* derived from `message` is what the upcoming `user` event must contain
|
|
39
|
+
* to start this turn. Pre-path-known marking is allowed: the worker can
|
|
40
|
+
* call this before late-attach has located the rollout file, and the
|
|
41
|
+
* ingest call after attach will still match correctly. */
|
|
42
|
+
mark(turnId, message, markTimeMs = Date.now()) {
|
|
43
|
+
this.queue.push({
|
|
44
|
+
turnId,
|
|
45
|
+
started: false,
|
|
46
|
+
contentFingerprint: makeFingerprint(message),
|
|
47
|
+
markTimeMs,
|
|
48
|
+
});
|
|
49
|
+
}
|
|
50
|
+
/** Drop all pending turns. Used when the worker decides it can't reliably
|
|
51
|
+
* attribute future events (e.g. a teardown). */
|
|
52
|
+
clearPending() {
|
|
53
|
+
const dropped = this.queue.splice(0);
|
|
54
|
+
if (this.collecting && dropped.includes(this.collecting))
|
|
55
|
+
this.collecting = null;
|
|
56
|
+
return dropped;
|
|
57
|
+
}
|
|
58
|
+
/** Process newly-appended events. Idempotent on uuid: events with seen
|
|
59
|
+
* uuids are skipped, so callers can replay safely. */
|
|
60
|
+
ingest(events) {
|
|
61
|
+
for (const ev of events) {
|
|
62
|
+
if (!ev.uuid || this.seen.has(ev.uuid))
|
|
63
|
+
continue;
|
|
64
|
+
this.seen.add(ev.uuid);
|
|
65
|
+
if (ev.kind === 'user') {
|
|
66
|
+
const next = this.queue.find(t => !t.started);
|
|
67
|
+
if (!next)
|
|
68
|
+
continue;
|
|
69
|
+
// Time lower bound: a user_message older than the turn's mark
|
|
70
|
+
// (minus a small skew tolerance) cannot have been triggered by
|
|
71
|
+
// this Lark turn. Without this, fresh-empty attach over a long
|
|
72
|
+
// resume rollout could let a historical prompt with the same
|
|
73
|
+
// fingerprint start the current pending turn and emit yesterday's
|
|
74
|
+
// assistant reply. 5s skew absorbs clock drift between worker
|
|
75
|
+
// mark() and Codex's transcript timestamp.
|
|
76
|
+
if (next.markTimeMs !== undefined && ev.timestampMs < next.markTimeMs - 5_000)
|
|
77
|
+
continue;
|
|
78
|
+
if (next.contentFingerprint) {
|
|
79
|
+
const userText = normaliseForFingerprint(ev.text);
|
|
80
|
+
if (!userText.includes(next.contentFingerprint))
|
|
81
|
+
continue;
|
|
82
|
+
}
|
|
83
|
+
next.started = true;
|
|
84
|
+
this.collecting = next;
|
|
85
|
+
}
|
|
86
|
+
else if (ev.kind === 'assistant_final') {
|
|
87
|
+
if (this.collecting) {
|
|
88
|
+
this.collecting.finalText = ev.text;
|
|
89
|
+
this.collecting = null;
|
|
90
|
+
}
|
|
91
|
+
}
|
|
92
|
+
}
|
|
93
|
+
}
|
|
94
|
+
/** Pop FIFO any leading turn that is started AND has finalText. */
|
|
95
|
+
drainEmittable() {
|
|
96
|
+
const out = [];
|
|
97
|
+
while (this.queue.length > 0) {
|
|
98
|
+
const head = this.queue[0];
|
|
99
|
+
if (!head.started || !head.finalText)
|
|
100
|
+
break;
|
|
101
|
+
this.queue.shift();
|
|
102
|
+
if (this.collecting === head)
|
|
103
|
+
this.collecting = null;
|
|
104
|
+
out.push(head);
|
|
105
|
+
}
|
|
106
|
+
return out;
|
|
107
|
+
}
|
|
108
|
+
size() {
|
|
109
|
+
return this.queue.length;
|
|
110
|
+
}
|
|
111
|
+
/** Test helper — peek the queue without mutating. */
|
|
112
|
+
peek() {
|
|
113
|
+
return this.queue;
|
|
114
|
+
}
|
|
115
|
+
}
|
|
116
|
+
//# sourceMappingURL=codex-bridge-queue.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"codex-bridge-queue.js","sourceRoot":"","sources":["../../src/services/codex-bridge-queue.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
export interface CodexBridgeEvent {
|
|
2
|
+
/** Synthetic uuid for dedup: `<absPath>:<byteOffset>` of the line start.
|
|
3
|
+
* Stable across re-drains because rollout files are append-only. */
|
|
4
|
+
uuid: string;
|
|
5
|
+
/** Wall-clock ms parsed from the event's `timestamp` field. Falls back
|
|
6
|
+
* to Date.now() if missing/unparseable so the gate's window math still
|
|
7
|
+
* has something to compare against. */
|
|
8
|
+
timestampMs: number;
|
|
9
|
+
/** Discriminator for the queue layer:
|
|
10
|
+
* - 'user' starts a pending Lark turn (fingerprint-matched)
|
|
11
|
+
* - 'assistant_final' closes the currently-collecting turn */
|
|
12
|
+
kind: 'user' | 'assistant_final';
|
|
13
|
+
/** Concatenated text from the message's content blocks (input_text for
|
|
14
|
+
* user, output_text for assistant). */
|
|
15
|
+
text: string;
|
|
16
|
+
}
|
|
17
|
+
export interface CodexDrainResult {
|
|
18
|
+
events: CodexBridgeEvent[];
|
|
19
|
+
/** Byte offset of the last fully-parsed line + its trailing \n. The next
|
|
20
|
+
* drain should pass this back as fromOffset. */
|
|
21
|
+
newOffset: number;
|
|
22
|
+
/** A line that was written without its terminating \n yet. Currently
|
|
23
|
+
* informational — only complete lines produce events. */
|
|
24
|
+
pendingTail: string;
|
|
25
|
+
}
|
|
26
|
+
/** Locate the rollout file for a given Codex sessionId. Codex names files
|
|
27
|
+
* `rollout-<ts>-<sid>.jsonl`, so a suffix match is unambiguous. The
|
|
28
|
+
* directory tree is small (year/month/day) — a one-shot recursive scan
|
|
29
|
+
* is cheap enough that we don't bother caching. */
|
|
30
|
+
export declare function findCodexRolloutBySessionId(cliSessionId: string): string | undefined;
|
|
31
|
+
/** Increment-read the rollout from `fromOffset`. Mirrors the byte-offset
|
|
32
|
+
* contract of claude-transcript.drainTranscript so callers can swap them
|
|
33
|
+
* out and reuse the existing fs.watch / poll wakeup machinery. */
|
|
34
|
+
export declare function drainCodexRollout(path: string, fromOffset: number): CodexDrainResult;
|
|
35
|
+
//# sourceMappingURL=codex-transcript.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"codex-transcript.d.ts","sourceRoot":"","sources":["../../src/services/codex-transcript.ts"],"names":[],"mappings":"AAgCA,MAAM,WAAW,gBAAgB;IAC/B;yEACqE;IACrE,IAAI,EAAE,MAAM,CAAC;IACb;;4CAEwC;IACxC,WAAW,EAAE,MAAM,CAAC;IACpB;;oEAEgE;IAChE,IAAI,EAAE,MAAM,GAAG,iBAAiB,CAAC;IACjC;4CACwC;IACxC,IAAI,EAAE,MAAM,CAAC;CACd;AAED,MAAM,WAAW,gBAAgB;IAC/B,MAAM,EAAE,gBAAgB,EAAE,CAAC;IAC3B;qDACiD;IACjD,SAAS,EAAE,MAAM,CAAC;IAClB;8DAC0D;IAC1D,WAAW,EAAE,MAAM,CAAC;CACrB;AAED;;;oDAGoD;AACpD,wBAAgB,2BAA2B,CAAC,YAAY,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS,CAoBpF;AAkBD;;mEAEmE;AACnE,wBAAgB,iBAAiB,CAAC,IAAI,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,GAAG,gBAAgB,CAqDpF"}
|
|
@@ -0,0 +1,163 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Reader for Codex's per-session rollout JSONL.
|
|
3
|
+
*
|
|
4
|
+
* Codex stores each session's full transcript at
|
|
5
|
+
* ~/.codex/sessions/<YYYY>/<MM>/<DD>/rollout-<ts>-<cliSessionId>.jsonl
|
|
6
|
+
* and creates the file lazily on the first user submit. Inside, the bridge
|
|
7
|
+
* fallback only cares about two `response_item.payload.type === 'message'`
|
|
8
|
+
* shapes:
|
|
9
|
+
*
|
|
10
|
+
* - role=user → the user's prompt text (input_text content)
|
|
11
|
+
* - role=assistant +
|
|
12
|
+
* phase=final_answer → the model's final reply (output_text content)
|
|
13
|
+
*
|
|
14
|
+
* Why these and not `event_msg`:
|
|
15
|
+
* - `response_item` is the canonical transcript record; `event_msg` is a
|
|
16
|
+
* UI-event stream that can carry the same final text via two channels
|
|
17
|
+
* (`agent_message phase=final_answer` AND `task_complete.last_agent_message`).
|
|
18
|
+
* Picking `response_item` keeps the reader to a single source of truth
|
|
19
|
+
* and avoids any chance of double-emit if both paths are present.
|
|
20
|
+
* - Skipping role=developer (system instructions), phase=commentary
|
|
21
|
+
* (mid-turn status), reasoning, and function_call* keeps the bridge
|
|
22
|
+
* focused on what the user actually said and what the model finally
|
|
23
|
+
* answered — same scope as the Claude bridge.
|
|
24
|
+
*
|
|
25
|
+
* Pure I/O. Attribution belongs in CodexBridgeQueue.
|
|
26
|
+
*/
|
|
27
|
+
import { existsSync, statSync, openSync, readSync, closeSync, readdirSync } from 'node:fs';
|
|
28
|
+
import { homedir } from 'node:os';
|
|
29
|
+
import { join } from 'node:path';
|
|
30
|
+
const CODEX_SESSIONS_ROOT = join(homedir(), '.codex', 'sessions');
|
|
31
|
+
/** Locate the rollout file for a given Codex sessionId. Codex names files
|
|
32
|
+
* `rollout-<ts>-<sid>.jsonl`, so a suffix match is unambiguous. The
|
|
33
|
+
* directory tree is small (year/month/day) — a one-shot recursive scan
|
|
34
|
+
* is cheap enough that we don't bother caching. */
|
|
35
|
+
export function findCodexRolloutBySessionId(cliSessionId) {
|
|
36
|
+
if (!cliSessionId || !existsSync(CODEX_SESSIONS_ROOT))
|
|
37
|
+
return undefined;
|
|
38
|
+
const suffix = `-${cliSessionId}.jsonl`;
|
|
39
|
+
const stack = [CODEX_SESSIONS_ROOT];
|
|
40
|
+
while (stack.length > 0) {
|
|
41
|
+
const dir = stack.pop();
|
|
42
|
+
let entries;
|
|
43
|
+
try {
|
|
44
|
+
entries = readdirSync(dir);
|
|
45
|
+
}
|
|
46
|
+
catch {
|
|
47
|
+
continue;
|
|
48
|
+
}
|
|
49
|
+
for (const name of entries) {
|
|
50
|
+
const full = join(dir, name);
|
|
51
|
+
let st;
|
|
52
|
+
try {
|
|
53
|
+
st = statSync(full);
|
|
54
|
+
}
|
|
55
|
+
catch {
|
|
56
|
+
continue;
|
|
57
|
+
}
|
|
58
|
+
if (st.isDirectory()) {
|
|
59
|
+
stack.push(full);
|
|
60
|
+
}
|
|
61
|
+
else if (st.isFile() && name.endsWith(suffix)) {
|
|
62
|
+
return full;
|
|
63
|
+
}
|
|
64
|
+
}
|
|
65
|
+
}
|
|
66
|
+
return undefined;
|
|
67
|
+
}
|
|
68
|
+
/** Concatenate all text blocks of a content array. Codex rollout content
|
|
69
|
+
* is always an array of `{type, text}`; the kinds we care about are
|
|
70
|
+
* `input_text` (user) and `output_text` (assistant). Other block types
|
|
71
|
+
* (image_url, audio, etc.) are ignored — the bridge only forwards text. */
|
|
72
|
+
function joinTextBlocks(content, kind) {
|
|
73
|
+
if (!Array.isArray(content))
|
|
74
|
+
return '';
|
|
75
|
+
const parts = [];
|
|
76
|
+
for (const block of content) {
|
|
77
|
+
if (block && typeof block === 'object' && block.type === kind) {
|
|
78
|
+
const text = block.text;
|
|
79
|
+
if (typeof text === 'string')
|
|
80
|
+
parts.push(text);
|
|
81
|
+
}
|
|
82
|
+
}
|
|
83
|
+
return parts.join('');
|
|
84
|
+
}
|
|
85
|
+
/** Increment-read the rollout from `fromOffset`. Mirrors the byte-offset
|
|
86
|
+
* contract of claude-transcript.drainTranscript so callers can swap them
|
|
87
|
+
* out and reuse the existing fs.watch / poll wakeup machinery. */
|
|
88
|
+
export function drainCodexRollout(path, fromOffset) {
|
|
89
|
+
if (!existsSync(path))
|
|
90
|
+
return { events: [], newOffset: 0, pendingTail: '' };
|
|
91
|
+
let size;
|
|
92
|
+
try {
|
|
93
|
+
size = statSync(path).size;
|
|
94
|
+
}
|
|
95
|
+
catch {
|
|
96
|
+
return { events: [], newOffset: fromOffset, pendingTail: '' };
|
|
97
|
+
}
|
|
98
|
+
let start = fromOffset;
|
|
99
|
+
// Truncated/rotated jsonl — re-read from the top. Codex doesn't normally
|
|
100
|
+
// rewrite rollouts, but mirror Claude's defensive handling.
|
|
101
|
+
if (size < start)
|
|
102
|
+
start = 0;
|
|
103
|
+
if (size === start)
|
|
104
|
+
return { events: [], newOffset: start, pendingTail: '' };
|
|
105
|
+
const len = size - start;
|
|
106
|
+
const buf = Buffer.alloc(len);
|
|
107
|
+
const fd = openSync(path, 'r');
|
|
108
|
+
try {
|
|
109
|
+
readSync(fd, buf, 0, len, start);
|
|
110
|
+
}
|
|
111
|
+
finally {
|
|
112
|
+
closeSync(fd);
|
|
113
|
+
}
|
|
114
|
+
const text = buf.toString('utf8');
|
|
115
|
+
const lastNl = text.lastIndexOf('\n');
|
|
116
|
+
const completeText = lastNl >= 0 ? text.slice(0, lastNl + 1) : '';
|
|
117
|
+
const pendingTail = lastNl >= 0 ? text.slice(lastNl + 1) : text;
|
|
118
|
+
const newOffset = start + Buffer.byteLength(completeText, 'utf8');
|
|
119
|
+
const events = [];
|
|
120
|
+
// Track byte offset within the file as we walk lines so synthetic uuids
|
|
121
|
+
// are stable across re-drains.
|
|
122
|
+
let cursor = start;
|
|
123
|
+
for (const line of completeText.split('\n')) {
|
|
124
|
+
if (line.length === 0) {
|
|
125
|
+
cursor += 1; // the \n after an empty line
|
|
126
|
+
continue;
|
|
127
|
+
}
|
|
128
|
+
const lineByteLen = Buffer.byteLength(line, 'utf8') + 1; // include \n
|
|
129
|
+
const lineStart = cursor;
|
|
130
|
+
cursor += lineByteLen;
|
|
131
|
+
let obj;
|
|
132
|
+
try {
|
|
133
|
+
obj = JSON.parse(line);
|
|
134
|
+
}
|
|
135
|
+
catch {
|
|
136
|
+
continue;
|
|
137
|
+
}
|
|
138
|
+
if (obj?.type !== 'response_item')
|
|
139
|
+
continue;
|
|
140
|
+
const p = obj.payload;
|
|
141
|
+
if (!p || typeof p !== 'object' || p.type !== 'message')
|
|
142
|
+
continue;
|
|
143
|
+
const ts = typeof obj.timestamp === 'string' ? Date.parse(obj.timestamp) : NaN;
|
|
144
|
+
const timestampMs = Number.isFinite(ts) ? ts : Date.now();
|
|
145
|
+
if (p.role === 'user') {
|
|
146
|
+
const text = joinTextBlocks(p.content, 'input_text');
|
|
147
|
+
if (!text)
|
|
148
|
+
continue;
|
|
149
|
+
events.push({ uuid: `${path}:${lineStart}`, timestampMs, kind: 'user', text });
|
|
150
|
+
}
|
|
151
|
+
else if (p.role === 'assistant' && p.phase === 'final_answer') {
|
|
152
|
+
const text = joinTextBlocks(p.content, 'output_text');
|
|
153
|
+
if (!text)
|
|
154
|
+
continue;
|
|
155
|
+
events.push({ uuid: `${path}:${lineStart}`, timestampMs, kind: 'assistant_final', text });
|
|
156
|
+
}
|
|
157
|
+
// Skip role=developer (instructions), phase=commentary (mid-turn
|
|
158
|
+
// status), and any reasoning / function_call* events — see file
|
|
159
|
+
// header for rationale.
|
|
160
|
+
}
|
|
161
|
+
return { events, newOffset, pendingTail };
|
|
162
|
+
}
|
|
163
|
+
//# sourceMappingURL=codex-transcript.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"codex-transcript.js","sourceRoot":"","sources":["../../src/services/codex-transcript.ts"],"names":[],"mappings":"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"}
|
package/dist/worker.js
CHANGED
|
@@ -18,6 +18,8 @@ import { join } from 'node:path';
|
|
|
18
18
|
import { drainTranscript, joinAssistantText, findJsonlContainingFingerprint, findLatestJsonl, extractLastAssistantTurn, stringifyUserContent } from './services/claude-transcript.js';
|
|
19
19
|
import { BridgeTurnQueue, makeFingerprint } from './services/bridge-turn-queue.js';
|
|
20
20
|
import { shouldSuppressBridgeEmit } from './services/bridge-fallback-gate.js';
|
|
21
|
+
import { CodexBridgeQueue } from './services/codex-bridge-queue.js';
|
|
22
|
+
import { drainCodexRollout, findCodexRolloutBySessionId } from './services/codex-transcript.js';
|
|
21
23
|
import { dirname } from 'node:path';
|
|
22
24
|
import { createServer as createHttpServer } from 'node:http';
|
|
23
25
|
import { WebSocketServer, WebSocket } from 'ws';
|
|
@@ -108,6 +110,25 @@ let bridgeBaselineDone = false;
|
|
|
108
110
|
/** Once-per-attach flag so a re-baseline after fs.watch lazy-fire doesn't
|
|
109
111
|
* re-send the preamble. Reset only when the bridge teardown happens. */
|
|
110
112
|
let bridgePreambleSent = false;
|
|
113
|
+
// ─── Codex bridge state ──────────────────────────────────────────────────
|
|
114
|
+
//
|
|
115
|
+
// Parallel to the Claude bridge above. Codex's transcript layout is
|
|
116
|
+
// different enough (separate file location, different event schema) that
|
|
117
|
+
// trying to share storage / readers would obscure both — so we keep state
|
|
118
|
+
// independent. Marker file (`<DATA_DIR>/turn-sends/<sid>.jsonl`) and the
|
|
119
|
+
// gate function are CLI-agnostic and shared.
|
|
120
|
+
let codexBridgeRolloutPath;
|
|
121
|
+
let codexBridgeOffset = 0;
|
|
122
|
+
let codexBridgePendingTail = '';
|
|
123
|
+
let codexBridgeBaselineDone = false;
|
|
124
|
+
const codexBridgeQueue = new CodexBridgeQueue();
|
|
125
|
+
let codexBridgeWatcher = null;
|
|
126
|
+
let codexBridgeTimer = null;
|
|
127
|
+
/** Codex sessionId we received via writeInput but haven't yet resolved a
|
|
128
|
+
* rollout file for. The poller keeps retrying — the file appears on
|
|
129
|
+
* Codex's first user submit, but with some race delay after our submit
|
|
130
|
+
* returns. Cleared once attached. */
|
|
131
|
+
let codexBridgePendingSessionId;
|
|
111
132
|
/** Cap the preamble text so an extremely long previous turn doesn't blow
|
|
112
133
|
* past Lark's per-message limit. The user only needs enough to recall
|
|
113
134
|
* context, not the entire transcript. */
|
|
@@ -823,6 +844,179 @@ function drainPathInto(path, fromOffset) {
|
|
|
823
844
|
bridgeQueue.ingest(result.events, path);
|
|
824
845
|
return { offset: result.newOffset, tail: result.pendingTail };
|
|
825
846
|
}
|
|
847
|
+
// ─── Codex bridge wiring ─────────────────────────────────────────────────
|
|
848
|
+
//
|
|
849
|
+
// Codex's bridge fallback is intentionally simpler than Claude's: no /adopt
|
|
850
|
+
// surface, no pid-resolver / quiet-rotation / fingerprint-jsonl-switch
|
|
851
|
+
// machinery. The reader watches one rollout file (located by cliSessionId)
|
|
852
|
+
// and the queue's only responsibility is "user fingerprint match → start;
|
|
853
|
+
// assistant_final → close". Everything else (mark / emit gate / send
|
|
854
|
+
// marker IO / type-ahead serialisation / one-write-per-idle break) is
|
|
855
|
+
// shared with the Claude path.
|
|
856
|
+
function codexBridgeFallbackActive() {
|
|
857
|
+
if (lastInitConfig?.adoptMode)
|
|
858
|
+
return false;
|
|
859
|
+
return lastInitConfig?.cliId === 'codex';
|
|
860
|
+
}
|
|
861
|
+
function codexBridgeStartTimer() {
|
|
862
|
+
if (codexBridgeTimer)
|
|
863
|
+
return;
|
|
864
|
+
// Single 1s ticker that handles three jobs: late-attach (poll for the
|
|
865
|
+
// rollout file once we know cliSessionId), ingest (fs.watch backup),
|
|
866
|
+
// and idle-window emit. The last is critical for the late-attach race:
|
|
867
|
+
// if the rollout path appears AFTER the CLI's idle event has fired,
|
|
868
|
+
// the idle callback's emit already ran (and saw an empty queue), so
|
|
869
|
+
// the next emit chance would be at the next idle — i.e. the user has
|
|
870
|
+
// to send another message before the previous turn's fallback shows
|
|
871
|
+
// up. Emitting here when isPromptReady=true closes that window.
|
|
872
|
+
// Codex's queue only releases turns on `assistant_final` (the model's
|
|
873
|
+
// declared end-of-turn), so a tick-driven emit can't accidentally
|
|
874
|
+
// publish a half-streamed response.
|
|
875
|
+
codexBridgeTimer = setInterval(() => {
|
|
876
|
+
try {
|
|
877
|
+
if (!codexBridgeRolloutPath && codexBridgePendingSessionId) {
|
|
878
|
+
const path = findCodexRolloutBySessionId(codexBridgePendingSessionId);
|
|
879
|
+
if (path) {
|
|
880
|
+
codexBridgePendingSessionId = undefined;
|
|
881
|
+
codexBridgeAttach(path, 'fresh-empty');
|
|
882
|
+
}
|
|
883
|
+
}
|
|
884
|
+
codexBridgeIngest();
|
|
885
|
+
if (isPromptReady)
|
|
886
|
+
emitReadyCodexTurns();
|
|
887
|
+
}
|
|
888
|
+
catch (err) {
|
|
889
|
+
log(`Codex bridge tick error: ${err.message}`);
|
|
890
|
+
}
|
|
891
|
+
}, 1000);
|
|
892
|
+
}
|
|
893
|
+
function codexBridgeAttach(rolloutPath, mode) {
|
|
894
|
+
codexBridgeRolloutPath = rolloutPath;
|
|
895
|
+
if (mode === 'fresh-empty') {
|
|
896
|
+
// Brand-new session OR late-attach right after first submit. Either
|
|
897
|
+
// way we want to ingest from offset 0 — pending turns marked before
|
|
898
|
+
// attach are still in the queue, so the user_message that just landed
|
|
899
|
+
// (or is about to land) will fingerprint-match them.
|
|
900
|
+
codexBridgeOffset = 0;
|
|
901
|
+
codexBridgePendingTail = '';
|
|
902
|
+
codexBridgeBaselineDone = true;
|
|
903
|
+
log(`Codex bridge fresh-empty: ${rolloutPath}`);
|
|
904
|
+
}
|
|
905
|
+
else if (existsSync(rolloutPath)) {
|
|
906
|
+
const result = drainCodexRollout(rolloutPath, 0);
|
|
907
|
+
codexBridgeOffset = result.newOffset;
|
|
908
|
+
codexBridgePendingTail = result.pendingTail;
|
|
909
|
+
codexBridgeQueue.absorb(result.events);
|
|
910
|
+
codexBridgeBaselineDone = true;
|
|
911
|
+
log(`Codex bridge baselined: ${rolloutPath} (offset=${codexBridgeOffset})`);
|
|
912
|
+
}
|
|
913
|
+
else {
|
|
914
|
+
// baseline-existing requested but file missing — degrade to fresh
|
|
915
|
+
// semantics so the lazy-appearing file isn't accidentally absorbed.
|
|
916
|
+
codexBridgeOffset = 0;
|
|
917
|
+
codexBridgePendingTail = '';
|
|
918
|
+
codexBridgeBaselineDone = true;
|
|
919
|
+
log(`Codex bridge transcript not yet present at ${rolloutPath}; treating as fresh`);
|
|
920
|
+
}
|
|
921
|
+
try {
|
|
922
|
+
codexBridgeWatcher = fsWatch(rolloutPath, { persistent: false }, () => {
|
|
923
|
+
try {
|
|
924
|
+
codexBridgeIngest();
|
|
925
|
+
}
|
|
926
|
+
catch (err) {
|
|
927
|
+
log(`Codex bridge ingest error: ${err.message}`);
|
|
928
|
+
}
|
|
929
|
+
});
|
|
930
|
+
}
|
|
931
|
+
catch (err) {
|
|
932
|
+
log(`Codex bridge fs.watch unavailable (${err.message}); relying on poller`);
|
|
933
|
+
}
|
|
934
|
+
}
|
|
935
|
+
/** Called from flushPending after writeInput first returns a cliSessionId.
|
|
936
|
+
* Tries to locate the rollout file immediately; if it's not on disk yet,
|
|
937
|
+
* remembers the sid so the 1s poller can keep retrying. */
|
|
938
|
+
function codexBridgeNotifyCliSessionId(cliSessionId) {
|
|
939
|
+
if (!codexBridgeFallbackActive() || codexBridgeRolloutPath)
|
|
940
|
+
return;
|
|
941
|
+
const path = findCodexRolloutBySessionId(cliSessionId);
|
|
942
|
+
if (path) {
|
|
943
|
+
codexBridgePendingSessionId = undefined;
|
|
944
|
+
codexBridgeAttach(path, 'fresh-empty');
|
|
945
|
+
}
|
|
946
|
+
else {
|
|
947
|
+
codexBridgePendingSessionId = cliSessionId;
|
|
948
|
+
codexBridgeStartTimer();
|
|
949
|
+
}
|
|
950
|
+
}
|
|
951
|
+
function codexBridgeIngest() {
|
|
952
|
+
if (!codexBridgeRolloutPath || !codexBridgeBaselineDone)
|
|
953
|
+
return;
|
|
954
|
+
const result = drainCodexRollout(codexBridgeRolloutPath, codexBridgeOffset);
|
|
955
|
+
codexBridgeOffset = result.newOffset;
|
|
956
|
+
codexBridgePendingTail = result.pendingTail;
|
|
957
|
+
codexBridgeQueue.ingest(result.events);
|
|
958
|
+
}
|
|
959
|
+
/** Mark a pending Lark turn for Codex. Crucially this works even before a
|
|
960
|
+
* rollout path is known — the queue is path-agnostic, and ingest after
|
|
961
|
+
* late-attach picks up the user_message and matches the fingerprint. */
|
|
962
|
+
function codexBridgeMarkPendingTurn(messageText) {
|
|
963
|
+
if (!codexBridgeFallbackActive())
|
|
964
|
+
return false;
|
|
965
|
+
const turnId = `codex-${randomBytes(8).toString('hex')}`;
|
|
966
|
+
codexBridgeQueue.mark(turnId, messageText);
|
|
967
|
+
return true;
|
|
968
|
+
}
|
|
969
|
+
function codexBridgeDrainAndMaybeEmit() {
|
|
970
|
+
if (!codexBridgeFallbackActive())
|
|
971
|
+
return;
|
|
972
|
+
if (codexBridgeRolloutPath && codexBridgeBaselineDone) {
|
|
973
|
+
try {
|
|
974
|
+
codexBridgeIngest();
|
|
975
|
+
}
|
|
976
|
+
catch (err) {
|
|
977
|
+
log(`Codex bridge ingest error: ${err.message}`);
|
|
978
|
+
}
|
|
979
|
+
}
|
|
980
|
+
emitReadyCodexTurns();
|
|
981
|
+
}
|
|
982
|
+
function emitReadyCodexTurns() {
|
|
983
|
+
const ready = codexBridgeQueue.drainEmittable();
|
|
984
|
+
if (ready.length === 0)
|
|
985
|
+
return;
|
|
986
|
+
const markers = readSendMarkers();
|
|
987
|
+
const remaining = codexBridgeQueue.peek();
|
|
988
|
+
const nextPendingMarkTimeMs = remaining.length > 0 ? remaining[0].markTimeMs : undefined;
|
|
989
|
+
for (let i = 0; i < ready.length; i++) {
|
|
990
|
+
const turn = ready[i];
|
|
991
|
+
const nextBoundaryMs = (i + 1 < ready.length ? ready[i + 1].markTimeMs : nextPendingMarkTimeMs);
|
|
992
|
+
if (shouldSuppressBridgeEmit({ markTimeMs: turn.markTimeMs, isLocal: false }, nextBoundaryMs, markers, false)) {
|
|
993
|
+
log(`Codex bridge fallback suppressed for turn ${turn.turnId.substring(0, 8)} (model called botmux send within window)`);
|
|
994
|
+
continue;
|
|
995
|
+
}
|
|
996
|
+
if (!turn.finalText)
|
|
997
|
+
continue;
|
|
998
|
+
send({ type: 'final_output', content: turn.finalText, lastUuid: turn.turnId, turnId: turn.turnId });
|
|
999
|
+
}
|
|
1000
|
+
}
|
|
1001
|
+
function stopCodexBridge() {
|
|
1002
|
+
if (codexBridgeWatcher) {
|
|
1003
|
+
try {
|
|
1004
|
+
codexBridgeWatcher.close();
|
|
1005
|
+
}
|
|
1006
|
+
catch { /* ignore */ }
|
|
1007
|
+
codexBridgeWatcher = null;
|
|
1008
|
+
}
|
|
1009
|
+
if (codexBridgeTimer) {
|
|
1010
|
+
clearInterval(codexBridgeTimer);
|
|
1011
|
+
codexBridgeTimer = null;
|
|
1012
|
+
}
|
|
1013
|
+
codexBridgeRolloutPath = undefined;
|
|
1014
|
+
codexBridgeOffset = 0;
|
|
1015
|
+
codexBridgePendingTail = '';
|
|
1016
|
+
codexBridgeBaselineDone = false;
|
|
1017
|
+
codexBridgeQueue.clearPending();
|
|
1018
|
+
codexBridgePendingSessionId = undefined;
|
|
1019
|
+
}
|
|
826
1020
|
/** When a rotation moves bridgeJsonlPath away from `oldPath`, queue turns
|
|
827
1021
|
* whose sourceJsonlPath equals oldPath may still be waiting on assistant
|
|
828
1022
|
* text that hasn't landed yet. Add oldPath to the secondary polling set
|
|
@@ -1340,10 +1534,17 @@ async function flushPending() {
|
|
|
1340
1534
|
// so BridgeTurnQueue.ingest never starts the pending turn for them and
|
|
1341
1535
|
// the assistant text would be dropped on the floor. Serialise instead —
|
|
1342
1536
|
// worker holds messages in pendingMessages until the CLI reaches idle.
|
|
1343
|
-
const
|
|
1537
|
+
const claudeBridgeActive = !!bridgeJsonlPath && !lastInitConfig?.adoptMode;
|
|
1538
|
+
const codexBridgeActive = codexBridgeFallbackActive();
|
|
1539
|
+
const bridgeFallbackActive = claudeBridgeActive || codexBridgeActive;
|
|
1540
|
+
// Type-ahead must be disabled for any active bridge fallback (claude or
|
|
1541
|
+
// codex). Claude type-ahead's queued submits never become role:user
|
|
1542
|
+
// events; Codex doesn't declare supportsTypeAhead so this is mostly a
|
|
1543
|
+
// belt-and-braces gate, but keep symmetry so future adapters with
|
|
1544
|
+
// type-ahead get the same protection automatically.
|
|
1545
|
+
const typeAheadAllowed = cliAdapter.supportsTypeAhead && !bridgeFallbackActive;
|
|
1344
1546
|
if (!isPromptReady && !typeAheadAllowed)
|
|
1345
1547
|
return;
|
|
1346
|
-
const bridgeFallbackActive = !!bridgeJsonlPath && !lastInitConfig?.adoptMode;
|
|
1347
1548
|
isFlushing = true;
|
|
1348
1549
|
if (isPromptReady) {
|
|
1349
1550
|
isPromptReady = false;
|
|
@@ -1359,21 +1560,34 @@ async function flushPending() {
|
|
|
1359
1560
|
// falls inside [markTimeMs(N), markTimeMs(N+1)). Marking earlier
|
|
1360
1561
|
// (at IPC arrival) would let a slow-finishing turn N's send leak
|
|
1361
1562
|
// into turn N+1's window and falsely suppress its emit.
|
|
1362
|
-
if (
|
|
1563
|
+
if (claudeBridgeActive) {
|
|
1363
1564
|
try {
|
|
1364
1565
|
bridgeIngest();
|
|
1365
1566
|
}
|
|
1366
1567
|
catch { /* best-effort */ }
|
|
1367
1568
|
bridgeMarkPendingTurn(msg);
|
|
1368
1569
|
}
|
|
1570
|
+
else if (codexBridgeActive) {
|
|
1571
|
+
// Codex mark works even before the rollout path is known: the
|
|
1572
|
+
// queue is path-agnostic, and the late-attach below will start
|
|
1573
|
+
// ingest from offset 0 so the user_message that lands shortly
|
|
1574
|
+
// after still fingerprint-matches this turn.
|
|
1575
|
+
codexBridgeMarkPendingTurn(msg);
|
|
1576
|
+
}
|
|
1369
1577
|
log(`Writing to PTY (flush): "${msg.substring(0, 80)}"`);
|
|
1370
1578
|
const result = await cliAdapter.writeInput(backend, msg);
|
|
1371
1579
|
// Persist any sessionId the adapter observed via authoritative sources
|
|
1372
1580
|
// (Claude's pid file, Codex's history). Done independently of submit
|
|
1373
1581
|
// outcome — the rotation is real even when the current Enter didn't
|
|
1374
1582
|
// land, and we want next-resume to use the right id.
|
|
1375
|
-
if (result?.cliSessionId)
|
|
1583
|
+
if (result?.cliSessionId) {
|
|
1376
1584
|
persistCliSessionId(result.cliSessionId);
|
|
1585
|
+
// First successful Codex submit also reveals the rollout path.
|
|
1586
|
+
// Late-attach now so subsequent assistant_final events get
|
|
1587
|
+
// attributed to this turn.
|
|
1588
|
+
if (codexBridgeActive)
|
|
1589
|
+
codexBridgeNotifyCliSessionId(result.cliSessionId);
|
|
1590
|
+
}
|
|
1377
1591
|
if (result && result.submitted === false) {
|
|
1378
1592
|
const preview = msg.length > 60 ? msg.slice(0, 60) + '…' : msg;
|
|
1379
1593
|
log(`writeInput: submit not confirmed after retries — notifying user. preview="${preview}"`);
|
|
@@ -1415,8 +1629,9 @@ function sendToPty(content) {
|
|
|
1415
1629
|
// Tear down the prompt card so the user doesn't see stale options.
|
|
1416
1630
|
send({ type: 'tui_prompt_resolved', selectedText: 'user-override' });
|
|
1417
1631
|
}
|
|
1418
|
-
// See flushPending: bridge fallback gates type-ahead off.
|
|
1419
|
-
const
|
|
1632
|
+
// See flushPending: bridge fallback gates type-ahead off (claude OR codex).
|
|
1633
|
+
const bridgeFallbackActive = (!!bridgeJsonlPath && !lastInitConfig?.adoptMode) || codexBridgeFallbackActive();
|
|
1634
|
+
const typeAheadAllowed = cliAdapter.supportsTypeAhead && !bridgeFallbackActive;
|
|
1420
1635
|
if (isPromptReady || isFlushing || typeAheadAllowed) {
|
|
1421
1636
|
log(`Writing to PTY: "${content.substring(0, 80)}"`);
|
|
1422
1637
|
flushPending(); // fire-and-forget async; no-op if already flushing
|
|
@@ -1621,6 +1836,31 @@ function spawnCli(cfg) {
|
|
|
1621
1836
|
mode: cfg.resume ? 'baseline-existing' : 'fresh-empty',
|
|
1622
1837
|
});
|
|
1623
1838
|
}
|
|
1839
|
+
// Codex bridge fallback: same intent as the Claude block above but a
|
|
1840
|
+
// different transcript layout. Resume-with-known-cliSessionId can attach
|
|
1841
|
+
// immediately; new sessions / resume-without-id rely on flushPending to
|
|
1842
|
+
// late-attach once writeInput returns the cliSessionId.
|
|
1843
|
+
if (cfg.cliId === 'codex') {
|
|
1844
|
+
if (cfg.cliSessionId) {
|
|
1845
|
+
const rolloutPath = findCodexRolloutBySessionId(cfg.cliSessionId);
|
|
1846
|
+
if (rolloutPath) {
|
|
1847
|
+
codexBridgeAttach(rolloutPath, 'baseline-existing');
|
|
1848
|
+
}
|
|
1849
|
+
else {
|
|
1850
|
+
// Resume but the rollout file isn't where we expected — start the
|
|
1851
|
+
// poller so we keep looking; if the user submits and a new file
|
|
1852
|
+
// appears, late-attach kicks in via writeInput's cliSessionId.
|
|
1853
|
+
codexBridgePendingSessionId = cfg.cliSessionId;
|
|
1854
|
+
codexBridgeStartTimer();
|
|
1855
|
+
}
|
|
1856
|
+
}
|
|
1857
|
+
else {
|
|
1858
|
+
// Brand-new Codex session: no path until first submit. Start the
|
|
1859
|
+
// poller anyway so the CLI is ready to attach the moment we have
|
|
1860
|
+
// a cliSessionId.
|
|
1861
|
+
codexBridgeStartTimer();
|
|
1862
|
+
}
|
|
1863
|
+
}
|
|
1624
1864
|
// Set up idle detection
|
|
1625
1865
|
idleDetector = new IdleDetector(cliAdapter);
|
|
1626
1866
|
idleDetector.onIdle(() => {
|
|
@@ -1637,6 +1877,14 @@ function spawnCli(cfg) {
|
|
|
1637
1877
|
log(`Bridge emit error: ${err.message}`);
|
|
1638
1878
|
}
|
|
1639
1879
|
}
|
|
1880
|
+
if (codexBridgeFallbackActive()) {
|
|
1881
|
+
try {
|
|
1882
|
+
codexBridgeDrainAndMaybeEmit();
|
|
1883
|
+
}
|
|
1884
|
+
catch (err) {
|
|
1885
|
+
log(`Codex bridge emit error: ${err.message}`);
|
|
1886
|
+
}
|
|
1887
|
+
}
|
|
1640
1888
|
markPromptReady();
|
|
1641
1889
|
});
|
|
1642
1890
|
backend.onData(onPtyData);
|
|
@@ -1670,6 +1918,7 @@ function killCli() {
|
|
|
1670
1918
|
// restart with the proper mode based on the new cfg. Leaving it running
|
|
1671
1919
|
// would dangle a watcher pinned to a stale jsonl path.
|
|
1672
1920
|
stopBridgeWatcher();
|
|
1921
|
+
stopCodexBridge();
|
|
1673
1922
|
// Clean up CLI PID marker
|
|
1674
1923
|
if (cliPidMarker) {
|
|
1675
1924
|
try {
|
package/dist/worker.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"worker.js","sourceRoot":"","sources":["../src/worker.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"worker.js","sourceRoot":"","sources":["../src/worker.ts"],"names":[],"mappings":"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"}
|