@excitedjs/agent-runtime-codex 0.4.0 → 0.5.0-alpha.gfd00db650f43
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/activity/budget.d.ts +8 -0
- package/dist/activity/budget.d.ts.map +1 -0
- package/dist/activity/budget.js +9 -0
- package/dist/activity/budget.js.map +1 -0
- package/dist/{transcript → activity}/cursor.d.ts +2 -2
- package/dist/activity/cursor.d.ts.map +1 -0
- package/dist/{transcript → activity}/cursor.js +10 -10
- package/dist/activity/cursor.js.map +1 -0
- package/dist/activity/error.d.ts +16 -0
- package/dist/activity/error.d.ts.map +1 -0
- package/dist/activity/error.js +22 -0
- package/dist/activity/error.js.map +1 -0
- package/dist/activity/opened-file.d.ts +10 -0
- package/dist/activity/opened-file.d.ts.map +1 -0
- package/dist/{transcript → activity}/opened-file.js +10 -10
- package/dist/activity/opened-file.js.map +1 -0
- package/dist/activity/path.d.ts +27 -0
- package/dist/activity/path.d.ts.map +1 -0
- package/dist/{transcript → activity}/path.js +49 -119
- package/dist/activity/path.js.map +1 -0
- package/dist/activity/projection.d.ts +34 -0
- package/dist/activity/projection.d.ts.map +1 -0
- package/dist/activity/projection.js +191 -0
- package/dist/activity/projection.js.map +1 -0
- package/dist/activity/reader.d.ts +14 -0
- package/dist/activity/reader.d.ts.map +1 -0
- package/dist/activity/reader.js +314 -0
- package/dist/activity/reader.js.map +1 -0
- package/dist/diagnostic.d.ts +2 -2
- package/dist/diagnostic.d.ts.map +1 -1
- package/dist/index.d.ts +1 -2
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +4 -1
- package/dist/index.js.map +1 -1
- package/dist/mcp-config.d.ts +27 -3
- package/dist/mcp-config.d.ts.map +1 -1
- package/dist/mcp-config.js +55 -9
- package/dist/mcp-config.js.map +1 -1
- package/dist/provider.d.ts +28 -42
- package/dist/provider.d.ts.map +1 -1
- package/dist/provider.js +37 -56
- package/dist/provider.js.map +1 -1
- package/dist/runtime-deps.d.ts +43 -0
- package/dist/runtime-deps.d.ts.map +1 -0
- package/dist/runtime-deps.js +2 -0
- package/dist/runtime-deps.js.map +1 -0
- package/dist/runtime.d.ts +69 -47
- package/dist/runtime.d.ts.map +1 -1
- package/dist/runtime.js +188 -131
- package/dist/runtime.js.map +1 -1
- package/dist/turn-manager.d.ts +14 -19
- package/dist/turn-manager.d.ts.map +1 -1
- package/dist/turn-manager.js +80 -108
- package/dist/turn-manager.js.map +1 -1
- package/package.json +4 -4
- package/dist/transcript/budget.d.ts +0 -8
- package/dist/transcript/budget.d.ts.map +0 -1
- package/dist/transcript/budget.js +0 -9
- package/dist/transcript/budget.js.map +0 -1
- package/dist/transcript/cursor.d.ts.map +0 -1
- package/dist/transcript/cursor.js.map +0 -1
- package/dist/transcript/error.d.ts +0 -9
- package/dist/transcript/error.d.ts.map +0 -1
- package/dist/transcript/error.js +0 -9
- package/dist/transcript/error.js.map +0 -1
- package/dist/transcript/opened-file.d.ts +0 -10
- package/dist/transcript/opened-file.d.ts.map +0 -1
- package/dist/transcript/opened-file.js.map +0 -1
- package/dist/transcript/path.d.ts +0 -28
- package/dist/transcript/path.d.ts.map +0 -1
- package/dist/transcript/path.js.map +0 -1
- package/dist/transcript/projection.d.ts +0 -6
- package/dist/transcript/projection.d.ts.map +0 -1
- package/dist/transcript/projection.js +0 -170
- package/dist/transcript/projection.js.map +0 -1
- package/dist/transcript/reader.d.ts +0 -7
- package/dist/transcript/reader.d.ts.map +0 -1
- package/dist/transcript/reader.js +0 -421
- package/dist/transcript/reader.js.map +0 -1
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"path.js","sourceRoot":"","sources":["../../src/activity/path.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
import type { AgentActivityRecord } from '@excitedjs/dreamux-types';
|
|
2
|
+
/** One parsed native line, positioned inside its own rollout segment. */
|
|
3
|
+
export interface CodexActivityLine {
|
|
4
|
+
start: number;
|
|
5
|
+
boundaryBytes: Buffer;
|
|
6
|
+
value: Record<string, unknown>;
|
|
7
|
+
}
|
|
8
|
+
/** One neutral record, anchored to the native line that produced it. */
|
|
9
|
+
export interface CodexPositionedRecord {
|
|
10
|
+
start: number;
|
|
11
|
+
boundaryBytes: Buffer;
|
|
12
|
+
record: AgentActivityRecord;
|
|
13
|
+
}
|
|
14
|
+
/**
|
|
15
|
+
* Project chronological native lines into chronological neutral records.
|
|
16
|
+
*
|
|
17
|
+
* The projection is deliberately flat: it does not require a completed turn, so
|
|
18
|
+
* an actively growing session yields records as soon as its lines are written.
|
|
19
|
+
* Only assistant text and tool name/status cross the seam — never tool
|
|
20
|
+
* arguments, tool results, or any native line shape.
|
|
21
|
+
*
|
|
22
|
+
* Codex writes an assistant message twice: a live `event_msg`/`agent_message`
|
|
23
|
+
* first, then a finalized `response_item` message. They are two representations
|
|
24
|
+
* of one fact, so exactly one is emitted — the live one, which is what makes an
|
|
25
|
+
* in-progress turn visible before its response item exists.
|
|
26
|
+
*
|
|
27
|
+
* Pairing is therefore *directional*, matching the order Codex writes in: a
|
|
28
|
+
* finalized record is dropped only when an earlier live record in this window
|
|
29
|
+
* already stands for it. A live record is never suppressed, so an older
|
|
30
|
+
* finalized message can never hide the active turn that happens to repeat its
|
|
31
|
+
* text; the cost is that such a repeat is shown twice, once per real message.
|
|
32
|
+
*/
|
|
33
|
+
export declare function projectCodexActivity(lines: readonly CodexActivityLine[], includeTools: boolean): CodexPositionedRecord[];
|
|
34
|
+
//# sourceMappingURL=projection.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"projection.d.ts","sourceRoot":"","sources":["../../src/activity/projection.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,0BAA0B,CAAC;AAEpE,yEAAyE;AACzE,MAAM,WAAW,iBAAiB;IAChC,KAAK,EAAE,MAAM,CAAC;IACd,aAAa,EAAE,MAAM,CAAC;IACtB,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CAChC;AAED,wEAAwE;AACxE,MAAM,WAAW,qBAAqB;IACpC,KAAK,EAAE,MAAM,CAAC;IACd,aAAa,EAAE,MAAM,CAAC;IACtB,MAAM,EAAE,mBAAmB,CAAC;CAC7B;AAED;;;;;;;;;;;;;;;;;;GAkBG;AACH,wBAAgB,oBAAoB,CAClC,KAAK,EAAE,SAAS,iBAAiB,EAAE,EACnC,YAAY,EAAE,OAAO,GACpB,qBAAqB,EAAE,CAmFzB"}
|
|
@@ -0,0 +1,191 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Project chronological native lines into chronological neutral records.
|
|
3
|
+
*
|
|
4
|
+
* The projection is deliberately flat: it does not require a completed turn, so
|
|
5
|
+
* an actively growing session yields records as soon as its lines are written.
|
|
6
|
+
* Only assistant text and tool name/status cross the seam — never tool
|
|
7
|
+
* arguments, tool results, or any native line shape.
|
|
8
|
+
*
|
|
9
|
+
* Codex writes an assistant message twice: a live `event_msg`/`agent_message`
|
|
10
|
+
* first, then a finalized `response_item` message. They are two representations
|
|
11
|
+
* of one fact, so exactly one is emitted — the live one, which is what makes an
|
|
12
|
+
* in-progress turn visible before its response item exists.
|
|
13
|
+
*
|
|
14
|
+
* Pairing is therefore *directional*, matching the order Codex writes in: a
|
|
15
|
+
* finalized record is dropped only when an earlier live record in this window
|
|
16
|
+
* already stands for it. A live record is never suppressed, so an older
|
|
17
|
+
* finalized message can never hide the active turn that happens to repeat its
|
|
18
|
+
* text; the cost is that such a repeat is shown twice, once per real message.
|
|
19
|
+
*/
|
|
20
|
+
export function projectCodexActivity(lines, includeTools) {
|
|
21
|
+
const records = [];
|
|
22
|
+
const calls = new Map();
|
|
23
|
+
const live = new LiveAssistantMessages();
|
|
24
|
+
for (const line of lines) {
|
|
25
|
+
const occurredAt = timestampIso(line.value['timestamp']);
|
|
26
|
+
const type = stringValue(line.value['type']);
|
|
27
|
+
const payload = recordValue(line.value['payload']);
|
|
28
|
+
if (type === 'event_msg') {
|
|
29
|
+
const eventType = stringValue(payload?.['type']);
|
|
30
|
+
if (eventType === 'agent_message') {
|
|
31
|
+
const text = stringValue(payload?.['message']) ?? stringValue(payload?.['text']);
|
|
32
|
+
if (text !== null && text !== '') {
|
|
33
|
+
live.observe(text);
|
|
34
|
+
records.push(positioned(line, {
|
|
35
|
+
kind: 'assistant_message',
|
|
36
|
+
text,
|
|
37
|
+
...(occurredAt !== null ? { occurredAt } : {}),
|
|
38
|
+
}));
|
|
39
|
+
}
|
|
40
|
+
}
|
|
41
|
+
continue;
|
|
42
|
+
}
|
|
43
|
+
if (type !== 'response_item' || payload === null)
|
|
44
|
+
continue;
|
|
45
|
+
const itemType = stringValue(payload['type']);
|
|
46
|
+
if (itemType === 'message') {
|
|
47
|
+
if (payload['role'] !== 'assistant')
|
|
48
|
+
continue;
|
|
49
|
+
const text = contentText(payload['content']);
|
|
50
|
+
if (text === '')
|
|
51
|
+
continue;
|
|
52
|
+
if (!live.acceptFinalized(text))
|
|
53
|
+
continue;
|
|
54
|
+
records.push(positioned(line, {
|
|
55
|
+
kind: 'assistant_message',
|
|
56
|
+
text,
|
|
57
|
+
...(occurredAt !== null ? { occurredAt } : {}),
|
|
58
|
+
}));
|
|
59
|
+
continue;
|
|
60
|
+
}
|
|
61
|
+
if (itemType === 'function_call' || itemType === 'custom_tool_call') {
|
|
62
|
+
if (!includeTools)
|
|
63
|
+
continue;
|
|
64
|
+
const callId = stringValue(payload['call_id']);
|
|
65
|
+
const name = stringValue(payload['name']);
|
|
66
|
+
if (callId === null || name === null)
|
|
67
|
+
continue;
|
|
68
|
+
const entry = positioned(line, {
|
|
69
|
+
kind: 'tool',
|
|
70
|
+
name,
|
|
71
|
+
status: 'started',
|
|
72
|
+
...(occurredAt !== null ? { occurredAt } : {}),
|
|
73
|
+
});
|
|
74
|
+
calls.set(callId, entry);
|
|
75
|
+
records.push(entry);
|
|
76
|
+
continue;
|
|
77
|
+
}
|
|
78
|
+
if (itemType === 'function_call_output' ||
|
|
79
|
+
itemType === 'custom_tool_call_output') {
|
|
80
|
+
if (!includeTools)
|
|
81
|
+
continue;
|
|
82
|
+
const callId = stringValue(payload['call_id']);
|
|
83
|
+
if (callId === null)
|
|
84
|
+
continue;
|
|
85
|
+
const entry = calls.get(callId);
|
|
86
|
+
// An output whose call fell outside this window has no record to settle;
|
|
87
|
+
// the call keeps its own 'started' record on the page that holds it.
|
|
88
|
+
if (entry === undefined || entry.record.kind !== 'tool')
|
|
89
|
+
continue;
|
|
90
|
+
entry.record = {
|
|
91
|
+
kind: 'tool',
|
|
92
|
+
name: entry.record.name,
|
|
93
|
+
status: nativeOutputHasError(payload) ? 'failed' : 'completed',
|
|
94
|
+
...(entry.record.occurredAt !== undefined
|
|
95
|
+
? { occurredAt: entry.record.occurredAt }
|
|
96
|
+
: {}),
|
|
97
|
+
};
|
|
98
|
+
}
|
|
99
|
+
}
|
|
100
|
+
// Emission followed line order, so the result is already ascending by offset,
|
|
101
|
+
// which is what the reader's newest-first walk assumes.
|
|
102
|
+
return records;
|
|
103
|
+
}
|
|
104
|
+
/**
|
|
105
|
+
* The live assistant messages seen so far that no finalized record has claimed.
|
|
106
|
+
*
|
|
107
|
+
* Chronology is directional: Codex always writes the live representation before
|
|
108
|
+
* the finalized one, so only a *later* finalized record may be dropped, and only
|
|
109
|
+
* when an *earlier* live record with the same text is still unclaimed. Nothing
|
|
110
|
+
* a finalized record does can suppress a live record that comes after it.
|
|
111
|
+
*
|
|
112
|
+
* Text is the only identity the two native shapes share, so claims are counted
|
|
113
|
+
* per text and consumed first-come. A window boundary can split a pair, leaving
|
|
114
|
+
* the finalized half unclaimed on its own page — the same window-local artifact
|
|
115
|
+
* the reader already tolerates, and the safe direction to err in.
|
|
116
|
+
*/
|
|
117
|
+
class LiveAssistantMessages {
|
|
118
|
+
unclaimed = new Map();
|
|
119
|
+
/** Record a live representation. Live records are always emitted. */
|
|
120
|
+
observe(text) {
|
|
121
|
+
this.unclaimed.set(text, (this.unclaimed.get(text) ?? 0) + 1);
|
|
122
|
+
}
|
|
123
|
+
/** True when no earlier live record already stands for this message. */
|
|
124
|
+
acceptFinalized(text) {
|
|
125
|
+
const outstanding = this.unclaimed.get(text) ?? 0;
|
|
126
|
+
if (outstanding === 0)
|
|
127
|
+
return true;
|
|
128
|
+
if (outstanding === 1)
|
|
129
|
+
this.unclaimed.delete(text);
|
|
130
|
+
else
|
|
131
|
+
this.unclaimed.set(text, outstanding - 1);
|
|
132
|
+
return false;
|
|
133
|
+
}
|
|
134
|
+
}
|
|
135
|
+
function positioned(line, record) {
|
|
136
|
+
return { start: line.start, boundaryBytes: line.boundaryBytes, record };
|
|
137
|
+
}
|
|
138
|
+
function contentText(value) {
|
|
139
|
+
if (!Array.isArray(value))
|
|
140
|
+
return '';
|
|
141
|
+
return value
|
|
142
|
+
.flatMap((entry) => {
|
|
143
|
+
const item = recordValue(entry);
|
|
144
|
+
const type = stringValue(item?.['type']);
|
|
145
|
+
const text = stringValue(item?.['text']);
|
|
146
|
+
return (type === 'input_text' ||
|
|
147
|
+
type === 'output_text' ||
|
|
148
|
+
type === 'text') &&
|
|
149
|
+
text !== null
|
|
150
|
+
? [text]
|
|
151
|
+
: [];
|
|
152
|
+
})
|
|
153
|
+
.join('');
|
|
154
|
+
}
|
|
155
|
+
function nativeOutputHasError(value) {
|
|
156
|
+
if (value['is_error'] === true)
|
|
157
|
+
return true;
|
|
158
|
+
const status = stringValue(value['status']);
|
|
159
|
+
if (status === 'error' || status === 'failed')
|
|
160
|
+
return true;
|
|
161
|
+
const output = value['output'];
|
|
162
|
+
return (Array.isArray(output) &&
|
|
163
|
+
output.some((entry) => recordValue(entry)?.['is_error'] === true));
|
|
164
|
+
}
|
|
165
|
+
function timestampIso(value) {
|
|
166
|
+
const millis = timestampMs(value);
|
|
167
|
+
if (millis === null)
|
|
168
|
+
return null;
|
|
169
|
+
const date = new Date(millis);
|
|
170
|
+
return Number.isNaN(date.getTime()) ? null : date.toISOString();
|
|
171
|
+
}
|
|
172
|
+
function timestampMs(value) {
|
|
173
|
+
if (typeof value === 'number') {
|
|
174
|
+
if (!Number.isFinite(value))
|
|
175
|
+
return null;
|
|
176
|
+
return value < 10_000_000_000 ? value * 1000 : value;
|
|
177
|
+
}
|
|
178
|
+
if (typeof value !== 'string')
|
|
179
|
+
return null;
|
|
180
|
+
const parsed = Date.parse(value);
|
|
181
|
+
return Number.isNaN(parsed) ? null : parsed;
|
|
182
|
+
}
|
|
183
|
+
function recordValue(value) {
|
|
184
|
+
return value !== null && typeof value === 'object' && !Array.isArray(value)
|
|
185
|
+
? value
|
|
186
|
+
: null;
|
|
187
|
+
}
|
|
188
|
+
function stringValue(value) {
|
|
189
|
+
return typeof value === 'string' ? value : null;
|
|
190
|
+
}
|
|
191
|
+
//# sourceMappingURL=projection.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"projection.js","sourceRoot":"","sources":["../../src/activity/projection.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
import type { AgentActivityPage, AgentActivityQuery, AgentActivityReadContext, AgentRuntimeSessionRef } from '@excitedjs/dreamux-types';
|
|
2
|
+
import type { DispatcherCodexConfig } from '../config.js';
|
|
3
|
+
/**
|
|
4
|
+
* Read the recent tail of one Codex session's activity.
|
|
5
|
+
*
|
|
6
|
+
* The read works against an actively growing session and against the same
|
|
7
|
+
* session after its live runtime has closed: it discovers the rollout lineage
|
|
8
|
+
* from the session id alone, and never depends on a persisted native path.
|
|
9
|
+
*/
|
|
10
|
+
export declare function readCodexRecentActivity(query: AgentActivityQuery<AgentRuntimeSessionRef>, context: AgentActivityReadContext<DispatcherCodexConfig>, testHooks?: {
|
|
11
|
+
afterLocate?: () => void | Promise<void>;
|
|
12
|
+
maxReadChunkBytes?: number;
|
|
13
|
+
}): Promise<AgentActivityPage>;
|
|
14
|
+
//# sourceMappingURL=reader.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"reader.d.ts","sourceRoot":"","sources":["../../src/activity/reader.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,iBAAiB,EACjB,kBAAkB,EAClB,wBAAwB,EACxB,sBAAsB,EACvB,MAAM,0BAA0B,CAAC;AAGlC,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,cAAc,CAAC;AAoD1D;;;;;;GAMG;AACH,wBAAsB,uBAAuB,CAC3C,KAAK,EAAE,kBAAkB,CAAC,sBAAsB,CAAC,EACjD,OAAO,EAAE,wBAAwB,CAAC,qBAAqB,CAAC,EACxD,SAAS,GAAE;IACT,WAAW,CAAC,EAAE,MAAM,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IACzC,iBAAiB,CAAC,EAAE,MAAM,CAAC;CACvB,GACL,OAAO,CAAC,iBAAiB,CAAC,CA0E5B"}
|
|
@@ -0,0 +1,314 @@
|
|
|
1
|
+
import { readBytesAt } from '@excitedjs/dreamux-utils';
|
|
2
|
+
import { createCodexScanBudget } from './budget.js';
|
|
3
|
+
import { codexQueryFingerprint, decodeCodexCursor, digest, encodeCodexCursor, } from './cursor.js';
|
|
4
|
+
import { CodexActivityError } from './error.js';
|
|
5
|
+
import { openCodexRollout } from './opened-file.js';
|
|
6
|
+
import { findCodexRolloutById, locateCodexRollout, readCodexRolloutText, resolveCodexRolloutRoots, } from './path.js';
|
|
7
|
+
import { projectCodexActivity, } from './projection.js';
|
|
8
|
+
/** Native read bounds. The provider enforces these and reports truncation. */
|
|
9
|
+
const MAX_DECODED_BYTES = 8_388_608;
|
|
10
|
+
const MAX_NATIVE_RECORDS = 20_000;
|
|
11
|
+
const MAX_ELAPSED_MS = 2_000;
|
|
12
|
+
/** Page-size bounds. Core validates the returned page independently. */
|
|
13
|
+
const DEFAULT_RECORD_LIMIT = 50;
|
|
14
|
+
const MAX_RECORD_LIMIT = 200;
|
|
15
|
+
/**
|
|
16
|
+
* Read the recent tail of one Codex session's activity.
|
|
17
|
+
*
|
|
18
|
+
* The read works against an actively growing session and against the same
|
|
19
|
+
* session after its live runtime has closed: it discovers the rollout lineage
|
|
20
|
+
* from the session id alone, and never depends on a persisted native path.
|
|
21
|
+
*/
|
|
22
|
+
export async function readCodexRecentActivity(query, context, testHooks = {}) {
|
|
23
|
+
const limit = resolveLimit(query.limit);
|
|
24
|
+
const includeTools = query.includeTools ?? true;
|
|
25
|
+
const roots = await resolveCodexRolloutRoots(effectiveEnvironment(context));
|
|
26
|
+
const discoveryBudget = createCodexScanBudget();
|
|
27
|
+
const tail = await locateCodexRollout(null, query.session.id, roots, discoveryBudget);
|
|
28
|
+
const lineage = await buildLineage(tail, roots, discoveryBudget);
|
|
29
|
+
await testHooks.afterLocate?.();
|
|
30
|
+
const generation = lineageGeneration(lineage);
|
|
31
|
+
const fingerprint = codexQueryFingerprint(includeTools);
|
|
32
|
+
const cursor = query.cursor === undefined
|
|
33
|
+
? null
|
|
34
|
+
: decodeCodexCursor(query.cursor, fingerprint);
|
|
35
|
+
if (cursor !== null && cursor.gen !== generation) {
|
|
36
|
+
throw new CodexActivityError('cursor_stale', 'Codex activity cursor is no longer valid');
|
|
37
|
+
}
|
|
38
|
+
if (cursor !== null) {
|
|
39
|
+
await verifyBoundaryDigest(lineage, cursor.pos, cursor.bd, testHooks.maxReadChunkBytes);
|
|
40
|
+
}
|
|
41
|
+
const scan = await scanRecords({
|
|
42
|
+
lineage,
|
|
43
|
+
startPosition: cursor?.pos ?? null,
|
|
44
|
+
limit,
|
|
45
|
+
includeTools,
|
|
46
|
+
...(testHooks.maxReadChunkBytes !== undefined
|
|
47
|
+
? { maxReadChunkBytes: testHooks.maxReadChunkBytes }
|
|
48
|
+
: {}),
|
|
49
|
+
});
|
|
50
|
+
const anchor = scan.hasOlder
|
|
51
|
+
? (scan.collected.at(-1) ?? scan.fallbackAnchor)
|
|
52
|
+
: null;
|
|
53
|
+
let nextCursor;
|
|
54
|
+
if (anchor !== null && anchor !== undefined) {
|
|
55
|
+
const position = {
|
|
56
|
+
segment: anchor.segment,
|
|
57
|
+
offset: anchor.entry.start,
|
|
58
|
+
};
|
|
59
|
+
if (cursor !== null && !isStrictlyOlder(position, cursor.pos)) {
|
|
60
|
+
throw new CodexActivityError('scan_unsupported', 'Codex activity pagination cannot make safe progress');
|
|
61
|
+
}
|
|
62
|
+
nextCursor = encodeCodexCursor({
|
|
63
|
+
fingerprint,
|
|
64
|
+
generation,
|
|
65
|
+
position,
|
|
66
|
+
boundaryDigest: digest(anchor.entry.boundaryBytes),
|
|
67
|
+
});
|
|
68
|
+
}
|
|
69
|
+
return {
|
|
70
|
+
records: scan.collected
|
|
71
|
+
.map((entry) => entry.entry.record)
|
|
72
|
+
.reverse(),
|
|
73
|
+
...(nextCursor !== undefined ? { nextCursor } : {}),
|
|
74
|
+
truncated: scan.truncated,
|
|
75
|
+
};
|
|
76
|
+
}
|
|
77
|
+
function resolveLimit(limit) {
|
|
78
|
+
if (limit === undefined)
|
|
79
|
+
return DEFAULT_RECORD_LIMIT;
|
|
80
|
+
if (!Number.isInteger(limit) ||
|
|
81
|
+
limit < 1 ||
|
|
82
|
+
limit > MAX_RECORD_LIMIT) {
|
|
83
|
+
throw new CodexActivityError('invalid', `Codex activity limit must be an integer in 1..${MAX_RECORD_LIMIT}`);
|
|
84
|
+
}
|
|
85
|
+
return limit;
|
|
86
|
+
}
|
|
87
|
+
async function buildLineage(tail, roots, budget) {
|
|
88
|
+
const lineage = [{ transcript: tail, endOffset: null }];
|
|
89
|
+
const visited = new Set([tail.rolloutId]);
|
|
90
|
+
let current = tail;
|
|
91
|
+
while (current.historyBase !== null) {
|
|
92
|
+
if (visited.has(current.historyBase.rolloutId)) {
|
|
93
|
+
throw new CodexActivityError('invalid', 'Codex activity history contains a cycle');
|
|
94
|
+
}
|
|
95
|
+
const parent = await findCodexRolloutById(roots, current.historyBase.rolloutId, budget);
|
|
96
|
+
visited.add(parent.rolloutId);
|
|
97
|
+
lineage.push({
|
|
98
|
+
transcript: parent,
|
|
99
|
+
endOffset: current.historyBase.endByteOffset,
|
|
100
|
+
});
|
|
101
|
+
current = parent;
|
|
102
|
+
if (lineage.length > 64) {
|
|
103
|
+
throw new CodexActivityError('scan_unsupported', 'Codex activity history exceeds the bounded depth');
|
|
104
|
+
}
|
|
105
|
+
}
|
|
106
|
+
return lineage;
|
|
107
|
+
}
|
|
108
|
+
function lineageGeneration(lineage) {
|
|
109
|
+
return digest(JSON.stringify({
|
|
110
|
+
lineage: lineage.map((segment) => ({
|
|
111
|
+
rollout: digest(segment.transcript.rolloutId),
|
|
112
|
+
end: segment.endOffset,
|
|
113
|
+
})),
|
|
114
|
+
}));
|
|
115
|
+
}
|
|
116
|
+
async function scanRecords(input) {
|
|
117
|
+
if (input.startPosition !== null &&
|
|
118
|
+
input.startPosition.segment >= input.lineage.length) {
|
|
119
|
+
throw new CodexActivityError('cursor_stale', 'Codex activity cursor is no longer valid');
|
|
120
|
+
}
|
|
121
|
+
const deadline = Date.now() + MAX_ELAPSED_MS;
|
|
122
|
+
let bytesRemaining = MAX_DECODED_BYTES;
|
|
123
|
+
let recordsRemaining = MAX_NATIVE_RECORDS;
|
|
124
|
+
const collected = [];
|
|
125
|
+
let hasOlder = false;
|
|
126
|
+
let boundsHit = false;
|
|
127
|
+
let fallbackAnchor = null;
|
|
128
|
+
const firstSegment = input.startPosition?.segment ?? 0;
|
|
129
|
+
for (let segmentIndex = firstSegment; segmentIndex < input.lineage.length; segmentIndex += 1) {
|
|
130
|
+
if (Date.now() > deadline ||
|
|
131
|
+
bytesRemaining <= 0 ||
|
|
132
|
+
recordsRemaining <= 0) {
|
|
133
|
+
boundsHit = true;
|
|
134
|
+
break;
|
|
135
|
+
}
|
|
136
|
+
const segment = input.lineage[segmentIndex];
|
|
137
|
+
const endOffset = segmentIndex === firstSegment && input.startPosition !== null
|
|
138
|
+
? input.startPosition.offset
|
|
139
|
+
: segment.endOffset;
|
|
140
|
+
const window = await loadLineWindow(segment.transcript, endOffset, bytesRemaining, input.maxReadChunkBytes);
|
|
141
|
+
bytesRemaining -= window.bytesRead;
|
|
142
|
+
recordsRemaining -= window.lines.length;
|
|
143
|
+
const projected = projectCodexActivity(window.lines, input.includeTools);
|
|
144
|
+
const oldestLine = window.lines[0];
|
|
145
|
+
if (oldestLine !== undefined) {
|
|
146
|
+
fallbackAnchor = {
|
|
147
|
+
segment: segmentIndex,
|
|
148
|
+
entry: {
|
|
149
|
+
start: oldestLine.start,
|
|
150
|
+
boundaryBytes: oldestLine.boundaryBytes,
|
|
151
|
+
record: { kind: 'assistant_message', text: '' },
|
|
152
|
+
},
|
|
153
|
+
};
|
|
154
|
+
}
|
|
155
|
+
for (let index = projected.length - 1; index >= 0; index -= 1) {
|
|
156
|
+
if (collected.length >= input.limit) {
|
|
157
|
+
hasOlder = true;
|
|
158
|
+
break;
|
|
159
|
+
}
|
|
160
|
+
collected.push({ segment: segmentIndex, entry: projected[index] });
|
|
161
|
+
}
|
|
162
|
+
if (collected.length >= input.limit) {
|
|
163
|
+
hasOlder ||=
|
|
164
|
+
window.startOffset > 0 || segmentIndex + 1 < input.lineage.length;
|
|
165
|
+
break;
|
|
166
|
+
}
|
|
167
|
+
if (window.startOffset > 0) {
|
|
168
|
+
boundsHit = true;
|
|
169
|
+
break;
|
|
170
|
+
}
|
|
171
|
+
}
|
|
172
|
+
return {
|
|
173
|
+
collected,
|
|
174
|
+
hasOlder: hasOlder || boundsHit,
|
|
175
|
+
truncated: boundsHit,
|
|
176
|
+
fallbackAnchor,
|
|
177
|
+
};
|
|
178
|
+
}
|
|
179
|
+
async function loadLineWindow(transcript, requestedEndOffset, maxBytes, maxReadChunkBytes) {
|
|
180
|
+
if (maxBytes <= 0) {
|
|
181
|
+
return { lines: [], startOffset: 0, endOffset: 0, bytesRead: 0 };
|
|
182
|
+
}
|
|
183
|
+
const opened = await openValidatedSegment(transcript);
|
|
184
|
+
try {
|
|
185
|
+
if (opened.path.endsWith('.zst')) {
|
|
186
|
+
const text = await readCodexRolloutText(opened, maxBytes);
|
|
187
|
+
const bytes = Buffer.from(text, 'utf8');
|
|
188
|
+
const end = Math.min(requestedEndOffset ?? bytes.length, bytes.length);
|
|
189
|
+
const limited = bytes.subarray(0, end);
|
|
190
|
+
return {
|
|
191
|
+
lines: parseLines(limited, 0, true),
|
|
192
|
+
startOffset: 0,
|
|
193
|
+
endOffset: end,
|
|
194
|
+
bytesRead: limited.length,
|
|
195
|
+
};
|
|
196
|
+
}
|
|
197
|
+
const end = Math.min(requestedEndOffset ?? opened.size, opened.size);
|
|
198
|
+
const start = Math.max(0, end - maxBytes);
|
|
199
|
+
const length = end - start;
|
|
200
|
+
const data = await readBytesAt(opened.handle, start, length, {
|
|
201
|
+
...(maxReadChunkBytes !== undefined
|
|
202
|
+
? { maxChunkBytes: maxReadChunkBytes }
|
|
203
|
+
: {}),
|
|
204
|
+
});
|
|
205
|
+
return {
|
|
206
|
+
lines: parseLines(data, start, start === 0),
|
|
207
|
+
startOffset: start,
|
|
208
|
+
endOffset: start + data.length,
|
|
209
|
+
bytesRead: data.length,
|
|
210
|
+
};
|
|
211
|
+
}
|
|
212
|
+
finally {
|
|
213
|
+
await opened.handle.close();
|
|
214
|
+
}
|
|
215
|
+
}
|
|
216
|
+
function parseLines(bytes, baseOffset, startsAtBoundary) {
|
|
217
|
+
let localStart = 0;
|
|
218
|
+
if (!startsAtBoundary) {
|
|
219
|
+
const firstNewline = bytes.indexOf(0x0a);
|
|
220
|
+
if (firstNewline < 0)
|
|
221
|
+
return [];
|
|
222
|
+
localStart = firstNewline + 1;
|
|
223
|
+
}
|
|
224
|
+
const lines = [];
|
|
225
|
+
let cursor = localStart;
|
|
226
|
+
while (cursor < bytes.length) {
|
|
227
|
+
const newline = bytes.indexOf(0x0a, cursor);
|
|
228
|
+
if (newline < 0)
|
|
229
|
+
break;
|
|
230
|
+
const raw = bytes.subarray(cursor, newline).toString('utf8');
|
|
231
|
+
if (raw.trim() !== '') {
|
|
232
|
+
let value;
|
|
233
|
+
try {
|
|
234
|
+
value = JSON.parse(raw);
|
|
235
|
+
}
|
|
236
|
+
catch (error) {
|
|
237
|
+
throw new CodexActivityError('invalid', 'Codex activity contains an unreadable record', { cause: error });
|
|
238
|
+
}
|
|
239
|
+
if (isRecord(value)) {
|
|
240
|
+
lines.push({
|
|
241
|
+
start: baseOffset + cursor,
|
|
242
|
+
boundaryBytes: bytes.subarray(cursor, newline + 1),
|
|
243
|
+
value,
|
|
244
|
+
});
|
|
245
|
+
}
|
|
246
|
+
}
|
|
247
|
+
cursor = newline + 1;
|
|
248
|
+
}
|
|
249
|
+
return lines;
|
|
250
|
+
}
|
|
251
|
+
async function verifyBoundaryDigest(lineage, position, expectedDigest, maxReadChunkBytes) {
|
|
252
|
+
const segment = lineage[position.segment];
|
|
253
|
+
if (segment === undefined) {
|
|
254
|
+
throw new CodexActivityError('cursor_stale', 'Codex activity cursor is no longer valid');
|
|
255
|
+
}
|
|
256
|
+
const boundaryBytes = await readBoundaryRecordBytes(segment.transcript, position.offset, maxReadChunkBytes);
|
|
257
|
+
if (digest(boundaryBytes) !== expectedDigest) {
|
|
258
|
+
throw new CodexActivityError('cursor_stale', 'Codex activity cursor is no longer valid');
|
|
259
|
+
}
|
|
260
|
+
}
|
|
261
|
+
async function readBoundaryRecordBytes(transcript, offset, maxReadChunkBytes) {
|
|
262
|
+
const opened = await openValidatedSegment(transcript);
|
|
263
|
+
try {
|
|
264
|
+
if (opened.path.endsWith('.zst')) {
|
|
265
|
+
const text = await readCodexRolloutText(opened, MAX_DECODED_BYTES);
|
|
266
|
+
return boundaryRecordFromBuffer(Buffer.from(text, 'utf8'), offset);
|
|
267
|
+
}
|
|
268
|
+
if (offset >= opened.size) {
|
|
269
|
+
throw new CodexActivityError('cursor_stale', 'Codex activity cursor is no longer valid');
|
|
270
|
+
}
|
|
271
|
+
const length = Math.min(MAX_DECODED_BYTES, opened.size - offset);
|
|
272
|
+
const bytes = await readBytesAt(opened.handle, offset, length, {
|
|
273
|
+
...(maxReadChunkBytes !== undefined
|
|
274
|
+
? { maxChunkBytes: maxReadChunkBytes }
|
|
275
|
+
: {}),
|
|
276
|
+
});
|
|
277
|
+
return boundaryRecordFromBuffer(bytes, 0);
|
|
278
|
+
}
|
|
279
|
+
finally {
|
|
280
|
+
await opened.handle.close();
|
|
281
|
+
}
|
|
282
|
+
}
|
|
283
|
+
async function openValidatedSegment(transcript) {
|
|
284
|
+
const opened = await openCodexRollout(transcript.path, [transcript.root]);
|
|
285
|
+
if (transcript.dev !== -1 &&
|
|
286
|
+
(opened.dev !== transcript.dev || opened.ino !== transcript.ino)) {
|
|
287
|
+
await opened.handle.close();
|
|
288
|
+
throw new CodexActivityError('unreadable', 'Codex activity source changed after validation');
|
|
289
|
+
}
|
|
290
|
+
return opened;
|
|
291
|
+
}
|
|
292
|
+
function boundaryRecordFromBuffer(bytes, offset) {
|
|
293
|
+
const newline = bytes.indexOf(0x0a, offset);
|
|
294
|
+
if (newline < 0) {
|
|
295
|
+
throw new CodexActivityError('scan_unsupported', 'Codex activity cursor boundary exceeds the bounded limit');
|
|
296
|
+
}
|
|
297
|
+
return bytes.subarray(offset, newline + 1);
|
|
298
|
+
}
|
|
299
|
+
function effectiveEnvironment(context) {
|
|
300
|
+
return {
|
|
301
|
+
...process.env,
|
|
302
|
+
...(context.injectEnv ?? {}),
|
|
303
|
+
...context.config.extra_env,
|
|
304
|
+
};
|
|
305
|
+
}
|
|
306
|
+
function isRecord(value) {
|
|
307
|
+
return value !== null && typeof value === 'object' && !Array.isArray(value);
|
|
308
|
+
}
|
|
309
|
+
function isStrictlyOlder(candidate, previous) {
|
|
310
|
+
return (candidate.segment > previous.segment ||
|
|
311
|
+
(candidate.segment === previous.segment &&
|
|
312
|
+
candidate.offset < previous.offset));
|
|
313
|
+
}
|
|
314
|
+
//# sourceMappingURL=reader.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"reader.js","sourceRoot":"","sources":["../../src/activity/reader.ts"],"names":[],"mappings":"AAMA,OAAO,EAAE,WAAW,EAAE,MAAM,0BAA0B,CAAC;AAGvD,OAAO,EAAE,qBAAqB,EAAE,MAAM,aAAa,CAAC;AACpD,OAAO,EACL,qBAAqB,EACrB,iBAAiB,EACjB,MAAM,EACN,iBAAiB,GAElB,MAAM,aAAa,CAAC;AACrB,OAAO,EAAE,kBAAkB,EAAE,MAAM,YAAY,CAAC;AAChD,OAAO,EAAE,gBAAgB,EAA2B,MAAM,kBAAkB,CAAC;AAC7E,OAAO,EACL,oBAAoB,EACpB,kBAAkB,EAClB,oBAAoB,EACpB,wBAAwB,GAGzB,MAAM,WAAW,CAAC;AACnB,OAAO,EACL,oBAAoB,GAGrB,MAAM,iBAAiB,CAAC;AAEzB,8EAA8E;AAC9E,MAAM,iBAAiB,GAAG,SAAS,CAAC;AACpC,MAAM,kBAAkB,GAAG,MAAM,CAAC;AAClC,MAAM,cAAc,GAAG,KAAK,CAAC;AAE7B,wEAAwE;AACxE,MAAM,oBAAoB,GAAG,EAAE,CAAC;AAChC,MAAM,gBAAgB,GAAG,GAAG,CAAC;AAoB7B;;;;;;GAMG;AACH,MAAM,CAAC,KAAK,UAAU,uBAAuB,CAC3C,KAAiD,EACjD,OAAwD,EACxD,YAGI,EAAE;IAEN,MAAM,KAAK,GAAG,YAAY,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;IACxC,MAAM,YAAY,GAAG,KAAK,CAAC,YAAY,IAAI,IAAI,CAAC;IAChD,MAAM,KAAK,GAAG,MAAM,wBAAwB,CAAC,oBAAoB,CAAC,OAAO,CAAC,CAAC,CAAC;IAC5E,MAAM,eAAe,GAAG,qBAAqB,EAAE,CAAC;IAChD,MAAM,IAAI,GAAG,MAAM,kBAAkB,CACnC,IAAI,EACJ,KAAK,CAAC,OAAO,CAAC,EAAE,EAChB,KAAK,EACL,eAAe,CAChB,CAAC;IACF,MAAM,OAAO,GAAG,MAAM,YAAY,CAAC,IAAI,EAAE,KAAK,EAAE,eAAe,CAAC,CAAC;IACjE,MAAM,SAAS,CAAC,WAAW,EAAE,EAAE,CAAC;IAChC,MAAM,UAAU,GAAG,iBAAiB,CAAC,OAAO,CAAC,CAAC;IAC9C,MAAM,WAAW,GAAG,qBAAqB,CAAC,YAAY,CAAC,CAAC;IACxD,MAAM,MAAM,GACV,KAAK,CAAC,MAAM,KAAK,SAAS;QACxB,CAAC,CAAC,IAAI;QACN,CAAC,CAAC,iBAAiB,CAAC,KAAK,CAAC,MAAM,EAAE,WAAW,CAAC,CAAC;IACnD,IAAI,MAAM,KAAK,IAAI,IAAI,MAAM,CAAC,GAAG,KAAK,UAAU,EAAE,CAAC;QACjD,MAAM,IAAI,kBAAkB,CAC1B,cAAc,EACd,0CAA0C,CAC3C,CAAC;IACJ,CAAC;IACD,IAAI,MAAM,KAAK,IAAI,EAAE,CAAC;QACpB,MAAM,oBAAoB,CACxB,OAAO,EACP,MAAM,CAAC,GAAG,EACV,MAAM,CAAC,EAAE,EACT,SAAS,CAAC,iBAAiB,CAC5B,CAAC;IACJ,CAAC;IAED,MAAM,IAAI,GAAG,MAAM,WAAW,CAAC;QAC7B,OAAO;QACP,aAAa,EAAE,MAAM,EAAE,GAAG,IAAI,IAAI;QAClC,KAAK;QACL,YAAY;QACZ,GAAG,CAAC,SAAS,CAAC,iBAAiB,KAAK,SAAS;YAC3C,CAAC,CAAC,EAAE,iBAAiB,EAAE,SAAS,CAAC,iBAAiB,EAAE;YACpD,CAAC,CAAC,EAAE,CAAC;KACR,CAAC,CAAC;IAEH,MAAM,MAAM,GAAG,IAAI,CAAC,QAAQ;QAC1B,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,IAAI,CAAC,cAAc,CAAC;QAChD,CAAC,CAAC,IAAI,CAAC;IACT,IAAI,UAA8B,CAAC;IACnC,IAAI,MAAM,KAAK,IAAI,IAAI,MAAM,KAAK,SAAS,EAAE,CAAC;QAC5C,MAAM,QAAQ,GAAwB;YACpC,OAAO,EAAE,MAAM,CAAC,OAAO;YACvB,MAAM,EAAE,MAAM,CAAC,KAAK,CAAC,KAAK;SAC3B,CAAC;QACF,IAAI,MAAM,KAAK,IAAI,IAAI,CAAC,eAAe,CAAC,QAAQ,EAAE,MAAM,CAAC,GAAG,CAAC,EAAE,CAAC;YAC9D,MAAM,IAAI,kBAAkB,CAC1B,kBAAkB,EAClB,qDAAqD,CACtD,CAAC;QACJ,CAAC;QACD,UAAU,GAAG,iBAAiB,CAAC;YAC7B,WAAW;YACX,UAAU;YACV,QAAQ;YACR,cAAc,EAAE,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,aAAa,CAAC;SACnD,CAAC,CAAC;IACL,CAAC;IAED,OAAO;QACL,OAAO,EAAE,IAAI,CAAC,SAAS;aACpB,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,KAAK,CAAC,MAAM,CAAC;aAClC,OAAO,EAAE;QACZ,GAAG,CAAC,UAAU,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,UAAU,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QACnD,SAAS,EAAE,IAAI,CAAC,SAAS;KAC1B,CAAC;AACJ,CAAC;AAED,SAAS,YAAY,CAAC,KAAyB;IAC7C,IAAI,KAAK,KAAK,SAAS;QAAE,OAAO,oBAAoB,CAAC;IACrD,IACE,CAAC,MAAM,CAAC,SAAS,CAAC,KAAK,CAAC;QACxB,KAAK,GAAG,CAAC;QACT,KAAK,GAAG,gBAAgB,EACxB,CAAC;QACD,MAAM,IAAI,kBAAkB,CAC1B,SAAS,EACT,iDAAiD,gBAAgB,EAAE,CACpE,CAAC;IACJ,CAAC;IACD,OAAO,KAAK,CAAC;AACf,CAAC;AAED,KAAK,UAAU,YAAY,CACzB,IAA2B,EAC3B,KAAwB,EACxB,MAAgD;IAEhD,MAAM,OAAO,GAAqB,CAAC,EAAE,UAAU,EAAE,IAAI,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;IAC1E,MAAM,OAAO,GAAG,IAAI,GAAG,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC;IAC1C,IAAI,OAAO,GAAG,IAAI,CAAC;IACnB,OAAO,OAAO,CAAC,WAAW,KAAK,IAAI,EAAE,CAAC;QACpC,IAAI,OAAO,CAAC,GAAG,CAAC,OAAO,CAAC,WAAW,CAAC,SAAS,CAAC,EAAE,CAAC;YAC/C,MAAM,IAAI,kBAAkB,CAC1B,SAAS,EACT,yCAAyC,CAC1C,CAAC;QACJ,CAAC;QACD,MAAM,MAAM,GAAG,MAAM,oBAAoB,CACvC,KAAK,EACL,OAAO,CAAC,WAAW,CAAC,SAAS,EAC7B,MAAM,CACP,CAAC;QACF,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC;QAC9B,OAAO,CAAC,IAAI,CAAC;YACX,UAAU,EAAE,MAAM;YAClB,SAAS,EAAE,OAAO,CAAC,WAAW,CAAC,aAAa;SAC7C,CAAC,CAAC;QACH,OAAO,GAAG,MAAM,CAAC;QACjB,IAAI,OAAO,CAAC,MAAM,GAAG,EAAE,EAAE,CAAC;YACxB,MAAM,IAAI,kBAAkB,CAC1B,kBAAkB,EAClB,kDAAkD,CACnD,CAAC;QACJ,CAAC;IACH,CAAC;IACD,OAAO,OAAO,CAAC;AACjB,CAAC;AAED,SAAS,iBAAiB,CAAC,OAAkC;IAC3D,OAAO,MAAM,CACX,IAAI,CAAC,SAAS,CAAC;QACb,OAAO,EAAE,OAAO,CAAC,GAAG,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC;YACjC,OAAO,EAAE,MAAM,CAAC,OAAO,CAAC,UAAU,CAAC,SAAS,CAAC;YAC7C,GAAG,EAAE,OAAO,CAAC,SAAS;SACvB,CAAC,CAAC;KACJ,CAAC,CACH,CAAC;AACJ,CAAC;AAED,KAAK,UAAU,WAAW,CAAC,KAM1B;IACC,IACE,KAAK,CAAC,aAAa,KAAK,IAAI;QAC5B,KAAK,CAAC,aAAa,CAAC,OAAO,IAAI,KAAK,CAAC,OAAO,CAAC,MAAM,EACnD,CAAC;QACD,MAAM,IAAI,kBAAkB,CAC1B,cAAc,EACd,0CAA0C,CAC3C,CAAC;IACJ,CAAC;IACD,MAAM,QAAQ,GAAG,IAAI,CAAC,GAAG,EAAE,GAAG,cAAc,CAAC;IAC7C,IAAI,cAAc,GAAG,iBAAiB,CAAC;IACvC,IAAI,gBAAgB,GAAG,kBAAkB,CAAC;IAC1C,MAAM,SAAS,GAA0B,EAAE,CAAC;IAC5C,IAAI,QAAQ,GAAG,KAAK,CAAC;IACrB,IAAI,SAAS,GAAG,KAAK,CAAC;IACtB,IAAI,cAAc,GAA+B,IAAI,CAAC;IACtD,MAAM,YAAY,GAAG,KAAK,CAAC,aAAa,EAAE,OAAO,IAAI,CAAC,CAAC;IAEvD,KACE,IAAI,YAAY,GAAG,YAAY,EAC/B,YAAY,GAAG,KAAK,CAAC,OAAO,CAAC,MAAM,EACnC,YAAY,IAAI,CAAC,EACjB,CAAC;QACD,IACE,IAAI,CAAC,GAAG,EAAE,GAAG,QAAQ;YACrB,cAAc,IAAI,CAAC;YACnB,gBAAgB,IAAI,CAAC,EACrB,CAAC;YACD,SAAS,GAAG,IAAI,CAAC;YACjB,MAAM;QACR,CAAC;QACD,MAAM,OAAO,GAAG,KAAK,CAAC,OAAO,CAAC,YAAY,CAAE,CAAC;QAC7C,MAAM,SAAS,GACb,YAAY,KAAK,YAAY,IAAI,KAAK,CAAC,aAAa,KAAK,IAAI;YAC3D,CAAC,CAAC,KAAK,CAAC,aAAa,CAAC,MAAM;YAC5B,CAAC,CAAC,OAAO,CAAC,SAAS,CAAC;QACxB,MAAM,MAAM,GAAG,MAAM,cAAc,CACjC,OAAO,CAAC,UAAU,EAClB,SAAS,EACT,cAAc,EACd,KAAK,CAAC,iBAAiB,CACxB,CAAC;QACF,cAAc,IAAI,MAAM,CAAC,SAAS,CAAC;QACnC,gBAAgB,IAAI,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC;QACxC,MAAM,SAAS,GAAG,oBAAoB,CAAC,MAAM,CAAC,KAAK,EAAE,KAAK,CAAC,YAAY,CAAC,CAAC;QACzE,MAAM,UAAU,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;QACnC,IAAI,UAAU,KAAK,SAAS,EAAE,CAAC;YAC7B,cAAc,GAAG;gBACf,OAAO,EAAE,YAAY;gBACrB,KAAK,EAAE;oBACL,KAAK,EAAE,UAAU,CAAC,KAAK;oBACvB,aAAa,EAAE,UAAU,CAAC,aAAa;oBACvC,MAAM,EAAE,EAAE,IAAI,EAAE,mBAAmB,EAAE,IAAI,EAAE,EAAE,EAAE;iBAChD;aACF,CAAC;QACJ,CAAC;QACD,KAAK,IAAI,KAAK,GAAG,SAAS,CAAC,MAAM,GAAG,CAAC,EAAE,KAAK,IAAI,CAAC,EAAE,KAAK,IAAI,CAAC,EAAE,CAAC;YAC9D,IAAI,SAAS,CAAC,MAAM,IAAI,KAAK,CAAC,KAAK,EAAE,CAAC;gBACpC,QAAQ,GAAG,IAAI,CAAC;gBAChB,MAAM;YACR,CAAC;YACD,SAAS,CAAC,IAAI,CAAC,EAAE,OAAO,EAAE,YAAY,EAAE,KAAK,EAAE,SAAS,CAAC,KAAK,CAAE,EAAE,CAAC,CAAC;QACtE,CAAC;QACD,IAAI,SAAS,CAAC,MAAM,IAAI,KAAK,CAAC,KAAK,EAAE,CAAC;YACpC,QAAQ;gBACN,MAAM,CAAC,WAAW,GAAG,CAAC,IAAI,YAAY,GAAG,CAAC,GAAG,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC;YACpE,MAAM;QACR,CAAC;QACD,IAAI,MAAM,CAAC,WAAW,GAAG,CAAC,EAAE,CAAC;YAC3B,SAAS,GAAG,IAAI,CAAC;YACjB,MAAM;QACR,CAAC;IACH,CAAC;IAED,OAAO;QACL,SAAS;QACT,QAAQ,EAAE,QAAQ,IAAI,SAAS;QAC/B,SAAS,EAAE,SAAS;QACpB,cAAc;KACf,CAAC;AACJ,CAAC;AAED,KAAK,UAAU,cAAc,CAC3B,UAAiC,EACjC,kBAAiC,EACjC,QAAgB,EAChB,iBAA0B;IAO1B,IAAI,QAAQ,IAAI,CAAC,EAAE,CAAC;QAClB,OAAO,EAAE,KAAK,EAAE,EAAE,EAAE,WAAW,EAAE,CAAC,EAAE,SAAS,EAAE,CAAC,EAAE,SAAS,EAAE,CAAC,EAAE,CAAC;IACnE,CAAC;IACD,MAAM,MAAM,GAAG,MAAM,oBAAoB,CAAC,UAAU,CAAC,CAAC;IACtD,IAAI,CAAC;QACH,IAAI,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,EAAE,CAAC;YACjC,MAAM,IAAI,GAAG,MAAM,oBAAoB,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAC;YAC1D,MAAM,KAAK,GAAG,MAAM,CAAC,IAAI,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;YACxC,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,CAAC,kBAAkB,IAAI,KAAK,CAAC,MAAM,EAAE,KAAK,CAAC,MAAM,CAAC,CAAC;YACvE,MAAM,OAAO,GAAG,KAAK,CAAC,QAAQ,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC;YACvC,OAAO;gBACL,KAAK,EAAE,UAAU,CAAC,OAAO,EAAE,CAAC,EAAE,IAAI,CAAC;gBACnC,WAAW,EAAE,CAAC;gBACd,SAAS,EAAE,GAAG;gBACd,SAAS,EAAE,OAAO,CAAC,MAAM;aAC1B,CAAC;QACJ,CAAC;QACD,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,CAAC,kBAAkB,IAAI,MAAM,CAAC,IAAI,EAAE,MAAM,CAAC,IAAI,CAAC,CAAC;QACrE,MAAM,KAAK,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,GAAG,GAAG,QAAQ,CAAC,CAAC;QAC1C,MAAM,MAAM,GAAG,GAAG,GAAG,KAAK,CAAC;QAC3B,MAAM,IAAI,GAAG,MAAM,WAAW,CAAC,MAAM,CAAC,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE;YAC3D,GAAG,CAAC,iBAAiB,KAAK,SAAS;gBACjC,CAAC,CAAC,EAAE,aAAa,EAAE,iBAAiB,EAAE;gBACtC,CAAC,CAAC,EAAE,CAAC;SACR,CAAC,CAAC;QACH,OAAO;YACL,KAAK,EAAE,UAAU,CAAC,IAAI,EAAE,KAAK,EAAE,KAAK,KAAK,CAAC,CAAC;YAC3C,WAAW,EAAE,KAAK;YAClB,SAAS,EAAE,KAAK,GAAG,IAAI,CAAC,MAAM;YAC9B,SAAS,EAAE,IAAI,CAAC,MAAM;SACvB,CAAC;IACJ,CAAC;YAAS,CAAC;QACT,MAAM,MAAM,CAAC,MAAM,CAAC,KAAK,EAAE,CAAC;IAC9B,CAAC;AACH,CAAC;AAED,SAAS,UAAU,CACjB,KAAa,EACb,UAAkB,EAClB,gBAAyB;IAEzB,IAAI,UAAU,GAAG,CAAC,CAAC;IACnB,IAAI,CAAC,gBAAgB,EAAE,CAAC;QACtB,MAAM,YAAY,GAAG,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;QACzC,IAAI,YAAY,GAAG,CAAC;YAAE,OAAO,EAAE,CAAC;QAChC,UAAU,GAAG,YAAY,GAAG,CAAC,CAAC;IAChC,CAAC;IACD,MAAM,KAAK,GAAwB,EAAE,CAAC;IACtC,IAAI,MAAM,GAAG,UAAU,CAAC;IACxB,OAAO,MAAM,GAAG,KAAK,CAAC,MAAM,EAAE,CAAC;QAC7B,MAAM,OAAO,GAAG,KAAK,CAAC,OAAO,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;QAC5C,IAAI,OAAO,GAAG,CAAC;YAAE,MAAM;QACvB,MAAM,GAAG,GAAG,KAAK,CAAC,QAAQ,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC;QAC7D,IAAI,GAAG,CAAC,IAAI,EAAE,KAAK,EAAE,EAAE,CAAC;YACtB,IAAI,KAAc,CAAC;YACnB,IAAI,CAAC;gBACH,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;YAC1B,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBACf,MAAM,IAAI,kBAAkB,CAC1B,SAAS,EACT,8CAA8C,EAC9C,EAAE,KAAK,EAAE,KAAK,EAAE,CACjB,CAAC;YACJ,CAAC;YACD,IAAI,QAAQ,CAAC,KAAK,CAAC,EAAE,CAAC;gBACpB,KAAK,CAAC,IAAI,CAAC;oBACT,KAAK,EAAE,UAAU,GAAG,MAAM;oBAC1B,aAAa,EAAE,KAAK,CAAC,QAAQ,CAAC,MAAM,EAAE,OAAO,GAAG,CAAC,CAAC;oBAClD,KAAK;iBACN,CAAC,CAAC;YACL,CAAC;QACH,CAAC;QACD,MAAM,GAAG,OAAO,GAAG,CAAC,CAAC;IACvB,CAAC;IACD,OAAO,KAAK,CAAC;AACf,CAAC;AAED,KAAK,UAAU,oBAAoB,CACjC,OAAkC,EAClC,QAA6B,EAC7B,cAAsB,EACtB,iBAA0B;IAE1B,MAAM,OAAO,GAAG,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC;IAC1C,IAAI,OAAO,KAAK,SAAS,EAAE,CAAC;QAC1B,MAAM,IAAI,kBAAkB,CAC1B,cAAc,EACd,0CAA0C,CAC3C,CAAC;IACJ,CAAC;IACD,MAAM,aAAa,GAAG,MAAM,uBAAuB,CACjD,OAAO,CAAC,UAAU,EAClB,QAAQ,CAAC,MAAM,EACf,iBAAiB,CAClB,CAAC;IACF,IAAI,MAAM,CAAC,aAAa,CAAC,KAAK,cAAc,EAAE,CAAC;QAC7C,MAAM,IAAI,kBAAkB,CAC1B,cAAc,EACd,0CAA0C,CAC3C,CAAC;IACJ,CAAC;AACH,CAAC;AAED,KAAK,UAAU,uBAAuB,CACpC,UAAiC,EACjC,MAAc,EACd,iBAA0B;IAE1B,MAAM,MAAM,GAAG,MAAM,oBAAoB,CAAC,UAAU,CAAC,CAAC;IACtD,IAAI,CAAC;QACH,IAAI,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,EAAE,CAAC;YACjC,MAAM,IAAI,GAAG,MAAM,oBAAoB,CAAC,MAAM,EAAE,iBAAiB,CAAC,CAAC;YACnE,OAAO,wBAAwB,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,EAAE,MAAM,CAAC,EAAE,MAAM,CAAC,CAAC;QACrE,CAAC;QACD,IAAI,MAAM,IAAI,MAAM,CAAC,IAAI,EAAE,CAAC;YAC1B,MAAM,IAAI,kBAAkB,CAC1B,cAAc,EACd,0CAA0C,CAC3C,CAAC;QACJ,CAAC;QACD,MAAM,MAAM,GAAG,IAAI,CAAC,GAAG,CAAC,iBAAiB,EAAE,MAAM,CAAC,IAAI,GAAG,MAAM,CAAC,CAAC;QACjE,MAAM,KAAK,GAAG,MAAM,WAAW,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE;YAC7D,GAAG,CAAC,iBAAiB,KAAK,SAAS;gBACjC,CAAC,CAAC,EAAE,aAAa,EAAE,iBAAiB,EAAE;gBACtC,CAAC,CAAC,EAAE,CAAC;SACR,CAAC,CAAC;QACH,OAAO,wBAAwB,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC;IAC5C,CAAC;YAAS,CAAC;QACT,MAAM,MAAM,CAAC,MAAM,CAAC,KAAK,EAAE,CAAC;IAC9B,CAAC;AACH,CAAC;AAED,KAAK,UAAU,oBAAoB,CACjC,UAAiC;IAEjC,MAAM,MAAM,GAAG,MAAM,gBAAgB,CAAC,UAAU,CAAC,IAAI,EAAE,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC,CAAC;IAC1E,IACE,UAAU,CAAC,GAAG,KAAK,CAAC,CAAC;QACrB,CAAC,MAAM,CAAC,GAAG,KAAK,UAAU,CAAC,GAAG,IAAI,MAAM,CAAC,GAAG,KAAK,UAAU,CAAC,GAAG,CAAC,EAChE,CAAC;QACD,MAAM,MAAM,CAAC,MAAM,CAAC,KAAK,EAAE,CAAC;QAC5B,MAAM,IAAI,kBAAkB,CAC1B,YAAY,EACZ,gDAAgD,CACjD,CAAC;IACJ,CAAC;IACD,OAAO,MAAM,CAAC;AAChB,CAAC;AAED,SAAS,wBAAwB,CAAC,KAAa,EAAE,MAAc;IAC7D,MAAM,OAAO,GAAG,KAAK,CAAC,OAAO,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;IAC5C,IAAI,OAAO,GAAG,CAAC,EAAE,CAAC;QAChB,MAAM,IAAI,kBAAkB,CAC1B,kBAAkB,EAClB,0DAA0D,CAC3D,CAAC;IACJ,CAAC;IACD,OAAO,KAAK,CAAC,QAAQ,CAAC,MAAM,EAAE,OAAO,GAAG,CAAC,CAAC,CAAC;AAC7C,CAAC;AAED,SAAS,oBAAoB,CAC3B,OAAwD;IAExD,OAAO;QACL,GAAG,OAAO,CAAC,GAAG;QACd,GAAG,CAAC,OAAO,CAAC,SAAS,IAAI,EAAE,CAAC;QAC5B,GAAG,OAAO,CAAC,MAAM,CAAC,SAAS;KAC5B,CAAC;AACJ,CAAC;AAED,SAAS,QAAQ,CAAC,KAAc;IAC9B,OAAO,KAAK,KAAK,IAAI,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;AAC9E,CAAC;AAED,SAAS,eAAe,CACtB,SAA8B,EAC9B,QAA6B;IAE7B,OAAO,CACL,SAAS,CAAC,OAAO,GAAG,QAAQ,CAAC,OAAO;QACpC,CAAC,SAAS,CAAC,OAAO,KAAK,QAAQ,CAAC,OAAO;YACrC,SAAS,CAAC,MAAM,GAAG,QAAQ,CAAC,MAAM,CAAC,CACtC,CAAC;AACJ,CAAC"}
|
package/dist/diagnostic.d.ts
CHANGED
|
@@ -8,7 +8,7 @@
|
|
|
8
8
|
* representative app-server socket sample is derived from the neutral path
|
|
9
9
|
* context's `runtimeSocketDirs()`, so the package never names `~/.dreamux`.
|
|
10
10
|
*/
|
|
11
|
-
import type {
|
|
11
|
+
import type { AgentRuntimeDiagnosticCapability } from '@excitedjs/dreamux-types';
|
|
12
12
|
import { type DispatcherCodexConfig } from './config.js';
|
|
13
|
-
export declare const codexAgentRuntimeDiagnostic:
|
|
13
|
+
export declare const codexAgentRuntimeDiagnostic: AgentRuntimeDiagnosticCapability<DispatcherCodexConfig>;
|
|
14
14
|
//# sourceMappingURL=diagnostic.d.ts.map
|
package/dist/diagnostic.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"diagnostic.d.ts","sourceRoot":"","sources":["../src/diagnostic.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AACH,OAAO,KAAK,EAEV,
|
|
1
|
+
{"version":3,"file":"diagnostic.d.ts","sourceRoot":"","sources":["../src/diagnostic.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AACH,OAAO,KAAK,EAEV,gCAAgC,EAIjC,MAAM,0BAA0B,CAAC;AAGlC,OAAO,EAAE,KAAK,qBAAqB,EAAE,MAAM,aAAa,CAAC;AAkCzD,eAAO,MAAM,2BAA2B,EAAE,gCAAgC,CAAC,qBAAqB,CAiC7F,CAAC"}
|
package/dist/index.d.ts
CHANGED
|
@@ -4,9 +4,8 @@
|
|
|
4
4
|
* `@excitedjs/dreamux-types` `AgentRuntimeProvider` contract; never imports
|
|
5
5
|
* `@excitedjs/dreamux` core.
|
|
6
6
|
*/
|
|
7
|
-
export { default, createCodexAgentRuntimeProvider, codexSystemPromptReplace, codexRuntimeArgsForMcpServers, dispatcherCodexConfig, CODEX_AGENT_RUNTIME_CAPABILITIES, type CodexAgentRuntimeProviderOptions,
|
|
7
|
+
export { default, createCodexAgentRuntimeProvider, codexSystemPromptReplace, codexRuntimeArgsForMcpServers, dispatcherCodexConfig, CODEX_AGENT_RUNTIME_CAPABILITIES, type CodexAgentRuntimeProviderOptions, } from './provider.js';
|
|
8
8
|
export { resolveCodexBinPath } from './bin.js';
|
|
9
|
-
export { CodexRuntime, type CodexRuntimeDeps, } from './runtime.js';
|
|
10
9
|
export { CodexProcess, type CodexProcessOptions, type CodexProcessExit, type CodexProcessExitHandler, } from './supervisor.js';
|
|
11
10
|
export { CodexWsClient, type CodexWsClientOptions, type NotificationHandler, } from './rpc.js';
|
|
12
11
|
export type { ServerNotification, ServerRequest, ThreadStartResponse, TurnStartResponse, } from './types.js';
|