oh-my-codex 0.21.8 → 0.21.9
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/Cargo.lock +8 -8
- package/Cargo.toml +1 -1
- package/README.md +14 -0
- package/dist/cli/__tests__/native-assets.test.js +1 -1
- package/dist/cli/__tests__/native-assets.test.js.map +1 -1
- package/dist/cli/__tests__/session-usage.test.d.ts +2 -0
- package/dist/cli/__tests__/session-usage.test.d.ts.map +1 -0
- package/dist/cli/__tests__/session-usage.test.js +88 -0
- package/dist/cli/__tests__/session-usage.test.js.map +1 -0
- package/dist/cli/session-search.d.ts.map +1 -1
- package/dist/cli/session-search.js +7 -0
- package/dist/cli/session-search.js.map +1 -1
- package/dist/cli/session-usage.d.ts +8 -0
- package/dist/cli/session-usage.d.ts.map +1 -0
- package/dist/cli/session-usage.js +100 -0
- package/dist/cli/session-usage.js.map +1 -0
- package/dist/evals/astra-defaults/__tests__/collector.test.d.ts +2 -0
- package/dist/evals/astra-defaults/__tests__/collector.test.d.ts.map +1 -0
- package/dist/evals/astra-defaults/__tests__/collector.test.js +139 -0
- package/dist/evals/astra-defaults/__tests__/collector.test.js.map +1 -0
- package/dist/evals/astra-defaults/collector.d.ts +31 -0
- package/dist/evals/astra-defaults/collector.d.ts.map +1 -0
- package/dist/evals/astra-defaults/collector.js +215 -0
- package/dist/evals/astra-defaults/collector.js.map +1 -0
- package/dist/native-assets/archive.js +2 -2
- package/dist/native-assets/archive.js.map +1 -1
- package/dist/scripts/__tests__/codex-native-hook.test.js +129 -0
- package/dist/scripts/__tests__/codex-native-hook.test.js.map +1 -1
- package/dist/scripts/__tests__/verify-native-release-assets.test.js +1 -1
- package/dist/scripts/__tests__/verify-native-release-assets.test.js.map +1 -1
- package/dist/scripts/codex-native-hook.d.ts.map +1 -1
- package/dist/scripts/codex-native-hook.js +29 -1
- package/dist/scripts/codex-native-hook.js.map +1 -1
- package/dist/scripts/eval/collect-astra-defaults.d.ts +2 -0
- package/dist/scripts/eval/collect-astra-defaults.d.ts.map +1 -0
- package/dist/scripts/eval/collect-astra-defaults.js +89 -0
- package/dist/scripts/eval/collect-astra-defaults.js.map +1 -0
- package/dist/session-history/__tests__/usage.test.d.ts +2 -0
- package/dist/session-history/__tests__/usage.test.d.ts.map +1 -0
- package/dist/session-history/__tests__/usage.test.js +216 -0
- package/dist/session-history/__tests__/usage.test.js.map +1 -0
- package/dist/session-history/search.d.ts +1 -1
- package/dist/session-history/search.d.ts.map +1 -1
- package/dist/session-history/search.js +6 -2
- package/dist/session-history/search.js.map +1 -1
- package/dist/session-history/usage.d.ts +44 -0
- package/dist/session-history/usage.d.ts.map +1 -0
- package/dist/session-history/usage.js +211 -0
- package/dist/session-history/usage.js.map +1 -0
- package/dist/verification/__tests__/native-release-manifest.test.js.map +1 -1
- package/package.json +3 -3
- package/plugins/oh-my-codex/.codex-plugin/plugin.json +1 -1
- package/src/scripts/__tests__/codex-native-hook.test.ts +182 -0
- package/src/scripts/__tests__/verify-native-release-assets.test.ts +3 -3
- package/src/scripts/codex-native-hook.ts +29 -0
- package/src/scripts/eval/collect-astra-defaults.ts +140 -0
|
@@ -0,0 +1,211 @@
|
|
|
1
|
+
import { createHash } from 'node:crypto';
|
|
2
|
+
import { open, realpath } from 'node:fs/promises';
|
|
3
|
+
import { basename, join, resolve } from 'node:path';
|
|
4
|
+
import { createInterface } from 'node:readline';
|
|
5
|
+
import { listRolloutFiles, parseSinceSpec, resolveSessionSearchCodexHomeDirs } from './search.js';
|
|
6
|
+
export const SESSION_TOKEN_FIELDS = [
|
|
7
|
+
'input_tokens', 'cached_input_tokens', 'output_tokens', 'reasoning_output_tokens', 'total_tokens',
|
|
8
|
+
];
|
|
9
|
+
function object(value) {
|
|
10
|
+
return value !== null && typeof value === 'object' && !Array.isArray(value) ? value : null;
|
|
11
|
+
}
|
|
12
|
+
function string(value) {
|
|
13
|
+
return typeof value === 'string' && value.trim() !== '' ? value : null;
|
|
14
|
+
}
|
|
15
|
+
function timestamp(value) {
|
|
16
|
+
return typeof value === 'string' && Number.isFinite(Date.parse(value)) ? new Date(value).toISOString() : null;
|
|
17
|
+
}
|
|
18
|
+
function time(value) {
|
|
19
|
+
return value === null ? Number.NEGATIVE_INFINITY : Date.parse(value);
|
|
20
|
+
}
|
|
21
|
+
function emptyUsage() {
|
|
22
|
+
return { input_tokens: null, cached_input_tokens: null, output_tokens: null, reasoning_output_tokens: null, total_tokens: null };
|
|
23
|
+
}
|
|
24
|
+
function hasUsage(usage) {
|
|
25
|
+
return SESSION_TOKEN_FIELDS.some((field) => usage[field] !== null);
|
|
26
|
+
}
|
|
27
|
+
function readUsage(value, diagnostics) {
|
|
28
|
+
const raw = object(value);
|
|
29
|
+
if (!raw)
|
|
30
|
+
return null;
|
|
31
|
+
const usage = emptyUsage();
|
|
32
|
+
for (const field of SESSION_TOKEN_FIELDS) {
|
|
33
|
+
const count = raw[field];
|
|
34
|
+
if (typeof count === 'number' && Number.isSafeInteger(count) && count >= 0)
|
|
35
|
+
usage[field] = count;
|
|
36
|
+
else if (count !== undefined && count !== null)
|
|
37
|
+
diagnostics.invalid_usage_fields++;
|
|
38
|
+
}
|
|
39
|
+
return hasUsage(usage) ? usage : null;
|
|
40
|
+
}
|
|
41
|
+
async function inspectTranscript(path, archived, diagnostics) {
|
|
42
|
+
const handle = await open(path, 'r').catch((error) => {
|
|
43
|
+
if (error.code === 'ENOENT')
|
|
44
|
+
return null;
|
|
45
|
+
throw error;
|
|
46
|
+
});
|
|
47
|
+
if (!handle)
|
|
48
|
+
return null;
|
|
49
|
+
try {
|
|
50
|
+
const info = await handle.stat();
|
|
51
|
+
if (!info.isFile() || info.size === 0)
|
|
52
|
+
return null;
|
|
53
|
+
// Bound the read to this snapshot even while the session keeps appending.
|
|
54
|
+
const stream = handle.createReadStream({ encoding: 'utf-8', end: info.size - 1, autoClose: false });
|
|
55
|
+
const reader = createInterface({ input: stream, crlfDelay: Infinity });
|
|
56
|
+
let candidate = null;
|
|
57
|
+
try {
|
|
58
|
+
for await (const line of reader) {
|
|
59
|
+
if (!line.trim())
|
|
60
|
+
continue;
|
|
61
|
+
let record = null;
|
|
62
|
+
try {
|
|
63
|
+
record = object(JSON.parse(line));
|
|
64
|
+
}
|
|
65
|
+
catch { /* Partial trailing records are ignored. */ }
|
|
66
|
+
if (!record) {
|
|
67
|
+
diagnostics.malformed_records++;
|
|
68
|
+
if (!candidate)
|
|
69
|
+
return null;
|
|
70
|
+
continue;
|
|
71
|
+
}
|
|
72
|
+
const payload = object(record.payload);
|
|
73
|
+
if (!candidate) {
|
|
74
|
+
const id = string(payload?.id);
|
|
75
|
+
if (record.type !== 'session_meta' || !id)
|
|
76
|
+
return null;
|
|
77
|
+
const project = string(payload?.cwd);
|
|
78
|
+
const startedAt = timestamp(payload?.timestamp) ?? timestamp(record.timestamp);
|
|
79
|
+
candidate = { project, row: {
|
|
80
|
+
session_id: id, started_at: startedAt, last_activity_at: startedAt, usage_at: null,
|
|
81
|
+
cwd_basename: project ? basename(project.replace(/\\/g, '/')) : null,
|
|
82
|
+
cwd_hash: project ? createHash('sha256').update(project).digest('hex').slice(0, 12) : null,
|
|
83
|
+
archived, transcript_copies: 1, usage: emptyUsage(),
|
|
84
|
+
} };
|
|
85
|
+
}
|
|
86
|
+
const at = timestamp(record.timestamp) ?? timestamp(payload?.timestamp);
|
|
87
|
+
if (time(at) > time(candidate.row.last_activity_at))
|
|
88
|
+
candidate.row.last_activity_at = at;
|
|
89
|
+
if (record.type !== 'event_msg' || payload?.type !== 'token_count')
|
|
90
|
+
continue;
|
|
91
|
+
const usage = readUsage(object(payload.info)?.total_token_usage, diagnostics);
|
|
92
|
+
if (usage) {
|
|
93
|
+
// The last cumulative snapshot replaces earlier counters; last_token_usage
|
|
94
|
+
// and repeated rate-limit events must never be summed into it.
|
|
95
|
+
candidate.row.usage = usage;
|
|
96
|
+
candidate.row.usage_at = at;
|
|
97
|
+
}
|
|
98
|
+
}
|
|
99
|
+
}
|
|
100
|
+
finally {
|
|
101
|
+
reader.close();
|
|
102
|
+
stream.destroy();
|
|
103
|
+
}
|
|
104
|
+
return candidate;
|
|
105
|
+
}
|
|
106
|
+
finally {
|
|
107
|
+
await handle.close();
|
|
108
|
+
}
|
|
109
|
+
}
|
|
110
|
+
function preferSnapshot(a, b) {
|
|
111
|
+
if (hasUsage(a.usage) !== hasUsage(b.usage))
|
|
112
|
+
return hasUsage(a.usage);
|
|
113
|
+
if (time(a.usage_at) !== time(b.usage_at))
|
|
114
|
+
return time(a.usage_at) > time(b.usage_at);
|
|
115
|
+
// Timestamp ties favor the more advanced recorded total, then field coverage.
|
|
116
|
+
if (a.usage.total_tokens !== b.usage.total_tokens)
|
|
117
|
+
return (a.usage.total_tokens ?? -1) > (b.usage.total_tokens ?? -1);
|
|
118
|
+
return SESSION_TOKEN_FIELDS.filter((field) => a.usage[field] !== null).length
|
|
119
|
+
> SESSION_TOKEN_FIELDS.filter((field) => b.usage[field] !== null).length;
|
|
120
|
+
}
|
|
121
|
+
async function matchesProject(project, filter, cwd) {
|
|
122
|
+
if (!filter || filter === 'all')
|
|
123
|
+
return true;
|
|
124
|
+
if (!project)
|
|
125
|
+
return false;
|
|
126
|
+
if (filter !== 'current')
|
|
127
|
+
return project.toLowerCase().includes(filter.toLowerCase());
|
|
128
|
+
const [actual, expected] = await Promise.all([
|
|
129
|
+
realpath(project).catch(() => resolve(project)),
|
|
130
|
+
realpath(cwd).catch(() => resolve(cwd)),
|
|
131
|
+
]);
|
|
132
|
+
return process.platform === 'win32' ? actual.toLowerCase() === expected.toLowerCase() : actual === expected;
|
|
133
|
+
}
|
|
134
|
+
export function summarizeSessionUsage(rows) {
|
|
135
|
+
return Object.fromEntries(SESSION_TOKEN_FIELDS.map((field) => {
|
|
136
|
+
let known = null;
|
|
137
|
+
let knownSessions = 0;
|
|
138
|
+
for (const row of rows) {
|
|
139
|
+
const value = row.usage[field];
|
|
140
|
+
if (value === null)
|
|
141
|
+
continue;
|
|
142
|
+
known = (known ?? 0) + value;
|
|
143
|
+
if (!Number.isSafeInteger(known))
|
|
144
|
+
throw new Error(`Session usage total exceeds the safe integer range: ${field}`);
|
|
145
|
+
knownSessions++;
|
|
146
|
+
}
|
|
147
|
+
return [field, { known, known_sessions: knownSessions, unknown_sessions: rows.length - knownSessions }];
|
|
148
|
+
}));
|
|
149
|
+
}
|
|
150
|
+
export async function buildSessionUsageReport(options = {}) {
|
|
151
|
+
const limit = options.limit ?? 20;
|
|
152
|
+
if (!Number.isSafeInteger(limit) || limit < 1 || limit > 500)
|
|
153
|
+
throw new Error('Session usage limit must be an integer between 1 and 500.');
|
|
154
|
+
const sort = options.sort ?? 'recent';
|
|
155
|
+
if (sort !== 'recent' && sort !== 'tokens')
|
|
156
|
+
throw new Error('Session usage sort must be recent or tokens.');
|
|
157
|
+
const now = options.now ?? Date.now();
|
|
158
|
+
const cutoff = parseSinceSpec(options.since, now);
|
|
159
|
+
if (cutoff !== null && !Number.isFinite(cutoff))
|
|
160
|
+
throw new Error('Invalid --since duration.');
|
|
161
|
+
const diagnostics = { scanned_files: 0, skipped_files: 0, malformed_records: 0, invalid_usage_fields: 0, duplicate_transcripts: 0 };
|
|
162
|
+
const sessions = new Map();
|
|
163
|
+
for (const home of await resolveSessionSearchCodexHomeDirs(options)) {
|
|
164
|
+
for (const archived of [false, true]) {
|
|
165
|
+
for (const path of await listRolloutFiles(join(home, archived ? 'archived_sessions' : 'sessions'), true)) {
|
|
166
|
+
diagnostics.scanned_files++;
|
|
167
|
+
const candidate = await inspectTranscript(path, archived, diagnostics);
|
|
168
|
+
if (!candidate) {
|
|
169
|
+
diagnostics.skipped_files++;
|
|
170
|
+
continue;
|
|
171
|
+
}
|
|
172
|
+
const row = candidate.row;
|
|
173
|
+
if (options.session && !row.session_id.toLowerCase().includes(options.session.toLowerCase()))
|
|
174
|
+
continue;
|
|
175
|
+
if (!await matchesProject(candidate.project, options.project, options.cwd ?? process.cwd()))
|
|
176
|
+
continue;
|
|
177
|
+
const existing = sessions.get(row.session_id);
|
|
178
|
+
if (!existing) {
|
|
179
|
+
sessions.set(row.session_id, row);
|
|
180
|
+
continue;
|
|
181
|
+
}
|
|
182
|
+
diagnostics.duplicate_transcripts++;
|
|
183
|
+
if (preferSnapshot(row, existing)) {
|
|
184
|
+
existing.usage = row.usage;
|
|
185
|
+
existing.usage_at = row.usage_at;
|
|
186
|
+
}
|
|
187
|
+
if (time(row.last_activity_at) > time(existing.last_activity_at))
|
|
188
|
+
existing.last_activity_at = row.last_activity_at;
|
|
189
|
+
if (row.started_at !== null && (existing.started_at === null || time(row.started_at) < time(existing.started_at)))
|
|
190
|
+
existing.started_at = row.started_at;
|
|
191
|
+
existing.archived = existing.archived && row.archived;
|
|
192
|
+
existing.transcript_copies++;
|
|
193
|
+
}
|
|
194
|
+
}
|
|
195
|
+
}
|
|
196
|
+
const rows = [...sessions.values()].filter((row) => cutoff === null || time(row.last_activity_at) >= cutoff);
|
|
197
|
+
rows.sort((a, b) => {
|
|
198
|
+
if (sort === 'tokens' && a.usage.total_tokens !== b.usage.total_tokens)
|
|
199
|
+
return (b.usage.total_tokens ?? -1) - (a.usage.total_tokens ?? -1);
|
|
200
|
+
if (time(a.last_activity_at) !== time(b.last_activity_at))
|
|
201
|
+
return time(b.last_activity_at) - time(a.last_activity_at);
|
|
202
|
+
return a.session_id.localeCompare(b.session_id);
|
|
203
|
+
});
|
|
204
|
+
return {
|
|
205
|
+
schema_version: 1, scope: 'session-cumulative', generated_at: new Date(now).toISOString(),
|
|
206
|
+
matched_sessions: rows.length, sessions_with_usage: rows.filter((row) => hasUsage(row.usage)).length,
|
|
207
|
+
truncated: rows.length > limit, totals: summarizeSessionUsage(rows), diagnostics,
|
|
208
|
+
sessions: rows.slice(0, limit),
|
|
209
|
+
};
|
|
210
|
+
}
|
|
211
|
+
//# sourceMappingURL=usage.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"usage.js","sourceRoot":"","sources":["../../src/session-history/usage.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AACzC,OAAO,EAAE,IAAI,EAAE,QAAQ,EAAE,MAAM,kBAAkB,CAAC;AAClD,OAAO,EAAE,QAAQ,EAAE,IAAI,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACpD,OAAO,EAAE,eAAe,EAAE,MAAM,eAAe,CAAC;AAChD,OAAO,EAAE,gBAAgB,EAAE,cAAc,EAAE,iCAAiC,EAA6B,MAAM,aAAa,CAAC;AAE7H,MAAM,CAAC,MAAM,oBAAoB,GAAG;IAClC,cAAc,EAAE,qBAAqB,EAAE,eAAe,EAAE,yBAAyB,EAAE,cAAc;CACzF,CAAC;AAoDX,SAAS,MAAM,CAAC,KAAc;IAC5B,OAAO,KAAK,KAAK,IAAI,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,KAAmB,CAAC,CAAC,CAAC,IAAI,CAAC;AAC3G,CAAC;AAED,SAAS,MAAM,CAAC,KAAc;IAC5B,OAAO,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,CAAC,IAAI,EAAE,KAAK,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC;AACzE,CAAC;AAED,SAAS,SAAS,CAAC,KAAc;IAC/B,OAAO,OAAO,KAAK,KAAK,QAAQ,IAAI,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,IAAI,CAAC,KAAK,CAAC,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC;AAChH,CAAC;AAED,SAAS,IAAI,CAAC,KAAoB;IAChC,OAAO,KAAK,KAAK,IAAI,CAAC,CAAC,CAAC,MAAM,CAAC,iBAAiB,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;AACvE,CAAC;AAED,SAAS,UAAU;IACjB,OAAO,EAAE,YAAY,EAAE,IAAI,EAAE,mBAAmB,EAAE,IAAI,EAAE,aAAa,EAAE,IAAI,EAAE,uBAAuB,EAAE,IAAI,EAAE,YAAY,EAAE,IAAI,EAAE,CAAC;AACnI,CAAC;AAED,SAAS,QAAQ,CAAC,KAAwB;IACxC,OAAO,oBAAoB,CAAC,IAAI,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,KAAK,CAAC,KAAK,IAAI,CAAC,CAAC;AACrE,CAAC;AAED,SAAS,SAAS,CAAC,KAAc,EAAE,WAAwB;IACzD,MAAM,GAAG,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC;IAC1B,IAAI,CAAC,GAAG;QAAE,OAAO,IAAI,CAAC;IACtB,MAAM,KAAK,GAAG,UAAU,EAAE,CAAC;IAC3B,KAAK,MAAM,KAAK,IAAI,oBAAoB,EAAE,CAAC;QACzC,MAAM,KAAK,GAAG,GAAG,CAAC,KAAK,CAAC,CAAC;QACzB,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,MAAM,CAAC,aAAa,CAAC,KAAK,CAAC,IAAI,KAAK,IAAI,CAAC;YAAE,KAAK,CAAC,KAAK,CAAC,GAAG,KAAK,CAAC;aAC5F,IAAI,KAAK,KAAK,SAAS,IAAI,KAAK,KAAK,IAAI;YAAE,WAAW,CAAC,oBAAoB,EAAE,CAAC;IACrF,CAAC;IACD,OAAO,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC;AACxC,CAAC;AAED,KAAK,UAAU,iBAAiB,CAAC,IAAY,EAAE,QAAiB,EAAE,WAAwB;IACxF,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC,KAAK,CAAC,CAAC,KAA4B,EAAE,EAAE;QAC1E,IAAI,KAAK,CAAC,IAAI,KAAK,QAAQ;YAAE,OAAO,IAAI,CAAC;QACzC,MAAM,KAAK,CAAC;IACd,CAAC,CAAC,CAAC;IACH,IAAI,CAAC,MAAM;QAAE,OAAO,IAAI,CAAC;IACzB,IAAI,CAAC;QACH,MAAM,IAAI,GAAG,MAAM,MAAM,CAAC,IAAI,EAAE,CAAC;QACjC,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,IAAI,IAAI,CAAC,IAAI,KAAK,CAAC;YAAE,OAAO,IAAI,CAAC;QACnD,0EAA0E;QAC1E,MAAM,MAAM,GAAG,MAAM,CAAC,gBAAgB,CAAC,EAAE,QAAQ,EAAE,OAAO,EAAE,GAAG,EAAE,IAAI,CAAC,IAAI,GAAG,CAAC,EAAE,SAAS,EAAE,KAAK,EAAE,CAAC,CAAC;QACpG,MAAM,MAAM,GAAG,eAAe,CAAC,EAAE,KAAK,EAAE,MAAM,EAAE,SAAS,EAAE,QAAQ,EAAE,CAAC,CAAC;QACvE,IAAI,SAAS,GAAqB,IAAI,CAAC;QACvC,IAAI,CAAC;YACH,IAAI,KAAK,EAAE,MAAM,IAAI,IAAI,MAAM,EAAE,CAAC;gBAChC,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE;oBAAE,SAAS;gBAC3B,IAAI,MAAM,GAAsB,IAAI,CAAC;gBACrC,IAAI,CAAC;oBAAC,MAAM,GAAG,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC;gBAAC,CAAC;gBAAC,MAAM,CAAC,CAAC,2CAA2C,CAAC,CAAC;gBAChG,IAAI,CAAC,MAAM,EAAE,CAAC;oBACZ,WAAW,CAAC,iBAAiB,EAAE,CAAC;oBAChC,IAAI,CAAC,SAAS;wBAAE,OAAO,IAAI,CAAC;oBAC5B,SAAS;gBACX,CAAC;gBACD,MAAM,OAAO,GAAG,MAAM,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;gBACvC,IAAI,CAAC,SAAS,EAAE,CAAC;oBACf,MAAM,EAAE,GAAG,MAAM,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC;oBAC/B,IAAI,MAAM,CAAC,IAAI,KAAK,cAAc,IAAI,CAAC,EAAE;wBAAE,OAAO,IAAI,CAAC;oBACvD,MAAM,OAAO,GAAG,MAAM,CAAC,OAAO,EAAE,GAAG,CAAC,CAAC;oBACrC,MAAM,SAAS,GAAG,SAAS,CAAC,OAAO,EAAE,SAAS,CAAC,IAAI,SAAS,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC;oBAC/E,SAAS,GAAG,EAAE,OAAO,EAAE,GAAG,EAAE;4BAC1B,UAAU,EAAE,EAAE,EAAE,UAAU,EAAE,SAAS,EAAE,gBAAgB,EAAE,SAAS,EAAE,QAAQ,EAAE,IAAI;4BAClF,YAAY,EAAE,OAAO,CAAC,CAAC,CAAC,QAAQ,CAAC,OAAO,CAAC,OAAO,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI;4BACpE,QAAQ,EAAE,OAAO,CAAC,CAAC,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI;4BAC1F,QAAQ,EAAE,iBAAiB,EAAE,CAAC,EAAE,KAAK,EAAE,UAAU,EAAE;yBACpD,EAAE,CAAC;gBACN,CAAC;gBACD,MAAM,EAAE,GAAG,SAAS,CAAC,MAAM,CAAC,SAAS,CAAC,IAAI,SAAS,CAAC,OAAO,EAAE,SAAS,CAAC,CAAC;gBACxE,IAAI,IAAI,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,gBAAgB,CAAC;oBAAE,SAAS,CAAC,GAAG,CAAC,gBAAgB,GAAG,EAAE,CAAC;gBACzF,IAAI,MAAM,CAAC,IAAI,KAAK,WAAW,IAAI,OAAO,EAAE,IAAI,KAAK,aAAa;oBAAE,SAAS;gBAC7E,MAAM,KAAK,GAAG,SAAS,CAAC,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,iBAAiB,EAAE,WAAW,CAAC,CAAC;gBAC9E,IAAI,KAAK,EAAE,CAAC;oBACV,2EAA2E;oBAC3E,+DAA+D;oBAC/D,SAAS,CAAC,GAAG,CAAC,KAAK,GAAG,KAAK,CAAC;oBAC5B,SAAS,CAAC,GAAG,CAAC,QAAQ,GAAG,EAAE,CAAC;gBAC9B,CAAC;YACH,CAAC;QACH,CAAC;gBAAS,CAAC;YACT,MAAM,CAAC,KAAK,EAAE,CAAC;YACf,MAAM,CAAC,OAAO,EAAE,CAAC;QACnB,CAAC;QACD,OAAO,SAAS,CAAC;IACnB,CAAC;YAAS,CAAC;QACT,MAAM,MAAM,CAAC,KAAK,EAAE,CAAC;IACvB,CAAC;AACH,CAAC;AAED,SAAS,cAAc,CAAC,CAAkB,EAAE,CAAkB;IAC5D,IAAI,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC,KAAK,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC;QAAE,OAAO,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC;IACtE,IAAI,IAAI,CAAC,CAAC,CAAC,QAAQ,CAAC,KAAK,IAAI,CAAC,CAAC,CAAC,QAAQ,CAAC;QAAE,OAAO,IAAI,CAAC,CAAC,CAAC,QAAQ,CAAC,GAAG,IAAI,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC;IACtF,8EAA8E;IAC9E,IAAI,CAAC,CAAC,KAAK,CAAC,YAAY,KAAK,CAAC,CAAC,KAAK,CAAC,YAAY;QAAE,OAAO,CAAC,CAAC,CAAC,KAAK,CAAC,YAAY,IAAI,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,KAAK,CAAC,YAAY,IAAI,CAAC,CAAC,CAAC,CAAC;IACtH,OAAO,oBAAoB,CAAC,MAAM,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,KAAK,CAAC,KAAK,IAAI,CAAC,CAAC,MAAM;UACzE,oBAAoB,CAAC,MAAM,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,KAAK,CAAC,KAAK,IAAI,CAAC,CAAC,MAAM,CAAC;AAC7E,CAAC;AAED,KAAK,UAAU,cAAc,CAAC,OAAsB,EAAE,MAA0B,EAAE,GAAW;IAC3F,IAAI,CAAC,MAAM,IAAI,MAAM,KAAK,KAAK;QAAE,OAAO,IAAI,CAAC;IAC7C,IAAI,CAAC,OAAO;QAAE,OAAO,KAAK,CAAC;IAC3B,IAAI,MAAM,KAAK,SAAS;QAAE,OAAO,OAAO,CAAC,WAAW,EAAE,CAAC,QAAQ,CAAC,MAAM,CAAC,WAAW,EAAE,CAAC,CAAC;IACtF,MAAM,CAAC,MAAM,EAAE,QAAQ,CAAC,GAAG,MAAM,OAAO,CAAC,GAAG,CAAC;QAC3C,QAAQ,CAAC,OAAO,CAAC,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;QAC/C,QAAQ,CAAC,GAAG,CAAC,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;KACxC,CAAC,CAAC;IACH,OAAO,OAAO,CAAC,QAAQ,KAAK,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,WAAW,EAAE,KAAK,QAAQ,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC,MAAM,KAAK,QAAQ,CAAC;AAC9G,CAAC;AAED,MAAM,UAAU,qBAAqB,CAAC,IAAuB;IAC3D,OAAO,MAAM,CAAC,WAAW,CAAC,oBAAoB,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE;QAC3D,IAAI,KAAK,GAAkB,IAAI,CAAC;QAChC,IAAI,aAAa,GAAG,CAAC,CAAC;QACtB,KAAK,MAAM,GAAG,IAAI,IAAI,EAAE,CAAC;YACvB,MAAM,KAAK,GAAG,GAAG,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;YAC/B,IAAI,KAAK,KAAK,IAAI;gBAAE,SAAS;YAC7B,KAAK,GAAG,CAAC,KAAK,IAAI,CAAC,CAAC,GAAG,KAAK,CAAC;YAC7B,IAAI,CAAC,MAAM,CAAC,aAAa,CAAC,KAAK,CAAC;gBAAE,MAAM,IAAI,KAAK,CAAC,uDAAuD,KAAK,EAAE,CAAC,CAAC;YAClH,aAAa,EAAE,CAAC;QAClB,CAAC;QACD,OAAO,CAAC,KAAK,EAAE,EAAE,KAAK,EAAE,cAAc,EAAE,aAAa,EAAE,gBAAgB,EAAE,IAAI,CAAC,MAAM,GAAG,aAAa,EAAE,CAAC,CAAC;IAC1G,CAAC,CAAC,CAAmD,CAAC;AACxD,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,uBAAuB,CAAC,OAAO,GAAwB,EAAE;IAC7E,MAAM,KAAK,GAAG,OAAO,CAAC,KAAK,IAAI,EAAE,CAAC;IAClC,IAAI,CAAC,MAAM,CAAC,aAAa,CAAC,KAAK,CAAC,IAAI,KAAK,GAAG,CAAC,IAAI,KAAK,GAAG,GAAG;QAAE,MAAM,IAAI,KAAK,CAAC,2DAA2D,CAAC,CAAC;IAC3I,MAAM,IAAI,GAAG,OAAO,CAAC,IAAI,IAAI,QAAQ,CAAC;IACtC,IAAI,IAAI,KAAK,QAAQ,IAAI,IAAI,KAAK,QAAQ;QAAE,MAAM,IAAI,KAAK,CAAC,8CAA8C,CAAC,CAAC;IAC5G,MAAM,GAAG,GAAG,OAAO,CAAC,GAAG,IAAI,IAAI,CAAC,GAAG,EAAE,CAAC;IACtC,MAAM,MAAM,GAAG,cAAc,CAAC,OAAO,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC;IAClD,IAAI,MAAM,KAAK,IAAI,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC;QAAE,MAAM,IAAI,KAAK,CAAC,2BAA2B,CAAC,CAAC;IAC9F,MAAM,WAAW,GAAgB,EAAE,aAAa,EAAE,CAAC,EAAE,aAAa,EAAE,CAAC,EAAE,iBAAiB,EAAE,CAAC,EAAE,oBAAoB,EAAE,CAAC,EAAE,qBAAqB,EAAE,CAAC,EAAE,CAAC;IACjJ,MAAM,QAAQ,GAAG,IAAI,GAAG,EAA2B,CAAC;IACpD,KAAK,MAAM,IAAI,IAAI,MAAM,iCAAiC,CAAC,OAAO,CAAC,EAAE,CAAC;QACpE,KAAK,MAAM,QAAQ,IAAI,CAAC,KAAK,EAAE,IAAI,CAAC,EAAE,CAAC;YACrC,KAAK,MAAM,IAAI,IAAI,MAAM,gBAAgB,CAAC,IAAI,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC,CAAC,mBAAmB,CAAC,CAAC,CAAC,UAAU,CAAC,EAAE,IAAI,CAAC,EAAE,CAAC;gBACzG,WAAW,CAAC,aAAa,EAAE,CAAC;gBAC5B,MAAM,SAAS,GAAG,MAAM,iBAAiB,CAAC,IAAI,EAAE,QAAQ,EAAE,WAAW,CAAC,CAAC;gBACvE,IAAI,CAAC,SAAS,EAAE,CAAC;oBAAC,WAAW,CAAC,aAAa,EAAE,CAAC;oBAAC,SAAS;gBAAC,CAAC;gBAC1D,MAAM,GAAG,GAAG,SAAS,CAAC,GAAG,CAAC;gBAC1B,IAAI,OAAO,CAAC,OAAO,IAAI,CAAC,GAAG,CAAC,UAAU,CAAC,WAAW,EAAE,CAAC,QAAQ,CAAC,OAAO,CAAC,OAAO,CAAC,WAAW,EAAE,CAAC;oBAAE,SAAS;gBACvG,IAAI,CAAC,MAAM,cAAc,CAAC,SAAS,CAAC,OAAO,EAAE,OAAO,CAAC,OAAO,EAAE,OAAO,CAAC,GAAG,IAAI,OAAO,CAAC,GAAG,EAAE,CAAC;oBAAE,SAAS;gBACtG,MAAM,QAAQ,GAAG,QAAQ,CAAC,GAAG,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC;gBAC9C,IAAI,CAAC,QAAQ,EAAE,CAAC;oBAAC,QAAQ,CAAC,GAAG,CAAC,GAAG,CAAC,UAAU,EAAE,GAAG,CAAC,CAAC;oBAAC,SAAS;gBAAC,CAAC;gBAC/D,WAAW,CAAC,qBAAqB,EAAE,CAAC;gBACpC,IAAI,cAAc,CAAC,GAAG,EAAE,QAAQ,CAAC,EAAE,CAAC;oBAAC,QAAQ,CAAC,KAAK,GAAG,GAAG,CAAC,KAAK,CAAC;oBAAC,QAAQ,CAAC,QAAQ,GAAG,GAAG,CAAC,QAAQ,CAAC;gBAAC,CAAC;gBACpG,IAAI,IAAI,CAAC,GAAG,CAAC,gBAAgB,CAAC,GAAG,IAAI,CAAC,QAAQ,CAAC,gBAAgB,CAAC;oBAAE,QAAQ,CAAC,gBAAgB,GAAG,GAAG,CAAC,gBAAgB,CAAC;gBACnH,IAAI,GAAG,CAAC,UAAU,KAAK,IAAI,IAAI,CAAC,QAAQ,CAAC,UAAU,KAAK,IAAI,IAAI,IAAI,CAAC,GAAG,CAAC,UAAU,CAAC,GAAG,IAAI,CAAC,QAAQ,CAAC,UAAU,CAAC,CAAC;oBAAE,QAAQ,CAAC,UAAU,GAAG,GAAG,CAAC,UAAU,CAAC;gBACxJ,QAAQ,CAAC,QAAQ,GAAG,QAAQ,CAAC,QAAQ,IAAI,GAAG,CAAC,QAAQ,CAAC;gBACtD,QAAQ,CAAC,iBAAiB,EAAE,CAAC;YAC/B,CAAC;QACH,CAAC;IACH,CAAC;IACD,MAAM,IAAI,GAAG,CAAC,GAAG,QAAQ,CAAC,MAAM,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,MAAM,KAAK,IAAI,IAAI,IAAI,CAAC,GAAG,CAAC,gBAAgB,CAAC,IAAI,MAAM,CAAC,CAAC;IAC7G,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE;QACjB,IAAI,IAAI,KAAK,QAAQ,IAAI,CAAC,CAAC,KAAK,CAAC,YAAY,KAAK,CAAC,CAAC,KAAK,CAAC,YAAY;YAAE,OAAO,CAAC,CAAC,CAAC,KAAK,CAAC,YAAY,IAAI,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,KAAK,CAAC,YAAY,IAAI,CAAC,CAAC,CAAC,CAAC;QAC3I,IAAI,IAAI,CAAC,CAAC,CAAC,gBAAgB,CAAC,KAAK,IAAI,CAAC,CAAC,CAAC,gBAAgB,CAAC;YAAE,OAAO,IAAI,CAAC,CAAC,CAAC,gBAAgB,CAAC,GAAG,IAAI,CAAC,CAAC,CAAC,gBAAgB,CAAC,CAAC;QACtH,OAAO,CAAC,CAAC,UAAU,CAAC,aAAa,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC;IAClD,CAAC,CAAC,CAAC;IACH,OAAO;QACL,cAAc,EAAE,CAAC,EAAE,KAAK,EAAE,oBAAoB,EAAE,YAAY,EAAE,IAAI,IAAI,CAAC,GAAG,CAAC,CAAC,WAAW,EAAE;QACzF,gBAAgB,EAAE,IAAI,CAAC,MAAM,EAAE,mBAAmB,EAAE,IAAI,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,QAAQ,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM;QACpG,SAAS,EAAE,IAAI,CAAC,MAAM,GAAG,KAAK,EAAE,MAAM,EAAE,qBAAqB,CAAC,IAAI,CAAC,EAAE,WAAW;QAChF,QAAQ,EAAE,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,KAAK,CAAC;KAC/B,CAAC;AACJ,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"native-release-manifest.test.js","sourceRoot":"","sources":["../../../src/verification/__tests__/native-release-manifest.test.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"native-release-manifest.test.js","sourceRoot":"","sources":["../../../src/verification/__tests__/native-release-manifest.test.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "oh-my-codex",
|
|
3
|
-
"version": "0.21.
|
|
3
|
+
"version": "0.21.9",
|
|
4
4
|
"description": "Multi-agent orchestration layer for OpenAI Codex CLI",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"main": "dist/index.js",
|
|
@@ -100,14 +100,14 @@
|
|
|
100
100
|
"@iarna/toml": "^2.2.5",
|
|
101
101
|
"@modelcontextprotocol/sdk": "^1.26.0",
|
|
102
102
|
"@napi-rs/lzma": "1.4.1",
|
|
103
|
-
"tar-stream": "3.2.
|
|
103
|
+
"tar-stream": "3.2.2",
|
|
104
104
|
"yauzl": "3.4.0",
|
|
105
105
|
"zod": "^4.3.6"
|
|
106
106
|
},
|
|
107
107
|
"devDependencies": {
|
|
108
108
|
"@biomejs/biome": "^2.4.4",
|
|
109
109
|
"@types/node": "^26.0.0",
|
|
110
|
-
"@types/tar-stream": "3.1.
|
|
110
|
+
"@types/tar-stream": "3.1.5",
|
|
111
111
|
"@types/yauzl": "3.4.0",
|
|
112
112
|
"@types/yazl": "3.3.1",
|
|
113
113
|
"c8": "^11.0.0",
|
|
@@ -66,6 +66,7 @@ import {
|
|
|
66
66
|
readUltragoalPlan,
|
|
67
67
|
} from "../../ultragoal/artifacts.js";
|
|
68
68
|
import { getBaseStateDir } from "../../state/paths.js";
|
|
69
|
+
import { recordNativeSubagentAuthorityObservation } from "../../subagents/tracker.js";
|
|
69
70
|
import { maybeNudgeLeaderForAllowedWorkerStop } from "../notify-hook/team-worker-stop.js";
|
|
70
71
|
import { MAX_NATIVE_STDIN_JSON_BYTES } from "../hook-payload-guard.js";
|
|
71
72
|
import {
|
|
@@ -1278,6 +1279,187 @@ describe("codex native hook dispatch", { concurrency: false }, () => {
|
|
|
1278
1279
|
}
|
|
1279
1280
|
});
|
|
1280
1281
|
|
|
1282
|
+
it("records bounded completion evidence for native subagent Stop events (#3729)", async () => {
|
|
1283
|
+
const cwd = await mkdtemp(
|
|
1284
|
+
join(tmpdir(), "omx-native-hook-stop-completion-evidence-"),
|
|
1285
|
+
);
|
|
1286
|
+
try {
|
|
1287
|
+
const stateDir = join(cwd, ".omx", "state");
|
|
1288
|
+
const sessionId = "sess-stop-subagent";
|
|
1289
|
+
const threadId = "thread-stop-subagent";
|
|
1290
|
+
const leaderThreadId = "leader-thread";
|
|
1291
|
+
await mkdir(join(stateDir, "sessions", sessionId), { recursive: true });
|
|
1292
|
+
await writeSessionStart(cwd, sessionId, { nativeSessionId: leaderThreadId, pid: process.pid });
|
|
1293
|
+
|
|
1294
|
+
// Create transcript with thread_spawn metadata to make dispatcher detect as subagent
|
|
1295
|
+
const stopTranscriptPath = join(cwd, "stop-transcript.jsonl");
|
|
1296
|
+
await writeFile(stopTranscriptPath, JSON.stringify({
|
|
1297
|
+
type: "session_meta",
|
|
1298
|
+
payload: { id: threadId, source: { subagent: { thread_spawn: { parent_thread_id: leaderThreadId } } } }
|
|
1299
|
+
}) + "\n");
|
|
1300
|
+
|
|
1301
|
+
// Initialize subagent tracking by recording the native subagent observation
|
|
1302
|
+
await recordNativeSubagentAuthorityObservation(cwd, {
|
|
1303
|
+
sessionIds: [sessionId],
|
|
1304
|
+
childThreadId: threadId,
|
|
1305
|
+
parentThreadId: leaderThreadId,
|
|
1306
|
+
rootNativeSessionId: leaderThreadId,
|
|
1307
|
+
authorityEvidence: "valid",
|
|
1308
|
+
});
|
|
1309
|
+
|
|
1310
|
+
// Send Stop event from subagent thread
|
|
1311
|
+
const result = await dispatchCodexNativeHook(
|
|
1312
|
+
{
|
|
1313
|
+
hook_event_name: "Stop",
|
|
1314
|
+
cwd,
|
|
1315
|
+
session_id: sessionId,
|
|
1316
|
+
thread_id: threadId,
|
|
1317
|
+
stop_hook_active: true,
|
|
1318
|
+
},
|
|
1319
|
+
{ cwd, sessionOwnerPid: process.pid },
|
|
1320
|
+
);
|
|
1321
|
+
|
|
1322
|
+
// Verify completion evidence was recorded
|
|
1323
|
+
const tracking = JSON.parse(
|
|
1324
|
+
await readFile(join(stateDir, "subagent-tracking.json"), "utf-8"),
|
|
1325
|
+
) as {
|
|
1326
|
+
sessions?: Record<
|
|
1327
|
+
string,
|
|
1328
|
+
{ threads?: Record<string, { completed_at?: string; completion_source?: string; turn_count?: number }> }
|
|
1329
|
+
>;
|
|
1330
|
+
};
|
|
1331
|
+
|
|
1332
|
+
const thread = tracking.sessions?.[sessionId]?.threads?.[threadId];
|
|
1333
|
+
assert.ok(thread?.completed_at, "completion evidence must record completed_at timestamp");
|
|
1334
|
+
assert.equal(thread?.completion_source, "native_stop_event", "completion evidence must mark completionSource as native_stop_event");
|
|
1335
|
+
} finally {
|
|
1336
|
+
await rm(cwd, { recursive: true, force: true });
|
|
1337
|
+
}
|
|
1338
|
+
});
|
|
1339
|
+
|
|
1340
|
+
it("records bounded delivery evidence for native subagent SessionStart events (#3729)", async () => {
|
|
1341
|
+
const cwd = await mkdtemp(
|
|
1342
|
+
join(tmpdir(), "omx-native-hook-sessionstart-delivery-evidence-"),
|
|
1343
|
+
);
|
|
1344
|
+
try {
|
|
1345
|
+
const stateDir = join(cwd, ".omx", "state");
|
|
1346
|
+
const sessionId = "sess-sessionstart-subagent";
|
|
1347
|
+
const threadId = "thread-sessionstart-subagent";
|
|
1348
|
+
const leaderThreadId = "leader-thread";
|
|
1349
|
+
await mkdir(join(stateDir, "sessions", sessionId), { recursive: true });
|
|
1350
|
+
await writeSessionStart(cwd, sessionId, { nativeSessionId: leaderThreadId, pid: process.pid });
|
|
1351
|
+
|
|
1352
|
+
// Create transcript with thread_spawn metadata to make dispatcher detect as subagent
|
|
1353
|
+
const transcriptPath = join(cwd, "sessionstart-transcript.jsonl");
|
|
1354
|
+
await writeFile(transcriptPath, JSON.stringify({
|
|
1355
|
+
type: "session_meta",
|
|
1356
|
+
payload: { id: threadId, source: { subagent: { thread_spawn: { parent_thread_id: leaderThreadId } } } }
|
|
1357
|
+
}) + "\n");
|
|
1358
|
+
|
|
1359
|
+
|
|
1360
|
+
|
|
1361
|
+
// Send SessionStart event from subagent thread
|
|
1362
|
+
// Note: session_id should be the child's thread ID, thread_id is required for evidence recording
|
|
1363
|
+
const result = await dispatchCodexNativeHook(
|
|
1364
|
+
{
|
|
1365
|
+
hook_event_name: "SessionStart",
|
|
1366
|
+
cwd,
|
|
1367
|
+
session_id: threadId,
|
|
1368
|
+
thread_id: threadId,
|
|
1369
|
+
transcript_path: transcriptPath,
|
|
1370
|
+
},
|
|
1371
|
+
{ cwd, sessionOwnerPid: process.pid },
|
|
1372
|
+
);
|
|
1373
|
+
|
|
1374
|
+
// Verify delivery evidence was recorded (without completion_source)
|
|
1375
|
+
// Note: Sessions are keyed by canonical session ID in tracking state
|
|
1376
|
+
const canonicalFromPointer = JSON.parse(
|
|
1377
|
+
await readFile(join(stateDir, "session.json"), "utf-8"),
|
|
1378
|
+
) as { session_id?: string };
|
|
1379
|
+
const canonicalSessionIdResult = canonicalFromPointer.session_id || sessionId;
|
|
1380
|
+
const tracking = JSON.parse(
|
|
1381
|
+
await readFile(join(stateDir, "subagent-tracking.json"), "utf-8"),
|
|
1382
|
+
) as {
|
|
1383
|
+
sessions?: Record<
|
|
1384
|
+
string,
|
|
1385
|
+
{ threads?: Record<string, { completed_at?: string; completion_source?: string; turn_count?: number }> }
|
|
1386
|
+
>;
|
|
1387
|
+
};
|
|
1388
|
+
|
|
1389
|
+
const thread = tracking.sessions?.[canonicalSessionIdResult]?.threads?.[threadId];
|
|
1390
|
+
assert.ok(thread, "thread should exist in tracking");
|
|
1391
|
+
// SessionStart should record the turn (turn_count should be incremented to 1)
|
|
1392
|
+
assert.equal(thread?.turn_count, 1, "SessionStart must record the turn (turn_count should be 1)");
|
|
1393
|
+
// SessionStart should NOT set completed_at
|
|
1394
|
+
assert.ok(!thread?.completed_at, "SessionStart must not set completed_at timestamp");
|
|
1395
|
+
// SessionStart should NOT set completion_source
|
|
1396
|
+
assert.ok(!thread?.completion_source, "SessionStart must not set completion_source");
|
|
1397
|
+
} finally {
|
|
1398
|
+
await rm(cwd, { recursive: true, force: true });
|
|
1399
|
+
}
|
|
1400
|
+
});
|
|
1401
|
+
|
|
1402
|
+
it("does NOT record completion evidence for leader Stop events (#3729)", async () => {
|
|
1403
|
+
const cwd = await mkdtemp(
|
|
1404
|
+
join(tmpdir(), "omx-native-hook-stop-leader-no-record-"),
|
|
1405
|
+
);
|
|
1406
|
+
try {
|
|
1407
|
+
const stateDir = join(cwd, ".omx", "state");
|
|
1408
|
+
const sessionId = "sess-stop-leader";
|
|
1409
|
+
const leaderThreadId = "leader-thread-stop";
|
|
1410
|
+
await mkdir(join(stateDir, "sessions", sessionId), { recursive: true });
|
|
1411
|
+
|
|
1412
|
+
// Initialize subagent tracking with only leader thread BEFORE writeSessionStart
|
|
1413
|
+
await writeJson(join(stateDir, "subagent-tracking.json"), {
|
|
1414
|
+
schemaVersion: 1,
|
|
1415
|
+
sessions: {
|
|
1416
|
+
[sessionId]: {
|
|
1417
|
+
session_id: sessionId,
|
|
1418
|
+
leader_thread_id: leaderThreadId,
|
|
1419
|
+
updated_at: new Date().toISOString(),
|
|
1420
|
+
threads: {
|
|
1421
|
+
[leaderThreadId]: {
|
|
1422
|
+
thread_id: leaderThreadId,
|
|
1423
|
+
kind: "leader",
|
|
1424
|
+
status: "available",
|
|
1425
|
+
first_seen_at: new Date().toISOString(),
|
|
1426
|
+
last_seen_at: new Date().toISOString(),
|
|
1427
|
+
},
|
|
1428
|
+
},
|
|
1429
|
+
},
|
|
1430
|
+
},
|
|
1431
|
+
});
|
|
1432
|
+
|
|
1433
|
+
// Send Stop event from leader thread
|
|
1434
|
+
const result = await dispatchCodexNativeHook(
|
|
1435
|
+
{
|
|
1436
|
+
hook_event_name: "Stop",
|
|
1437
|
+
cwd,
|
|
1438
|
+
session_id: sessionId,
|
|
1439
|
+
thread_id: leaderThreadId,
|
|
1440
|
+
stop_hook_active: true,
|
|
1441
|
+
},
|
|
1442
|
+
{ cwd },
|
|
1443
|
+
);
|
|
1444
|
+
|
|
1445
|
+
// Verify NO completion evidence was recorded for leader
|
|
1446
|
+
const tracking = JSON.parse(
|
|
1447
|
+
await readFile(join(stateDir, "subagent-tracking.json"), "utf-8"),
|
|
1448
|
+
) as {
|
|
1449
|
+
sessions?: Record<
|
|
1450
|
+
string,
|
|
1451
|
+
{ threads?: Record<string, { completed_at?: string; completion_source?: string; turn_count?: number }> }
|
|
1452
|
+
>;
|
|
1453
|
+
};
|
|
1454
|
+
|
|
1455
|
+
const thread = tracking.sessions?.[sessionId]?.threads?.[leaderThreadId];
|
|
1456
|
+
assert.ok(!thread?.completed_at, "leader Stop must not record completed_at timestamp");
|
|
1457
|
+
assert.ok(!thread?.completion_source, "leader Stop must not record completion_source");
|
|
1458
|
+
} finally {
|
|
1459
|
+
await rm(cwd, { recursive: true, force: true });
|
|
1460
|
+
}
|
|
1461
|
+
});
|
|
1462
|
+
|
|
1281
1463
|
it("emits no-op JSON for oversized Stop stdin without parsing or creating inactive state", async () => {
|
|
1282
1464
|
const cwd = await mkdtemp(
|
|
1283
1465
|
join(tmpdir(), "omx-native-hook-cli-stop-oversized-"),
|
|
@@ -20,16 +20,16 @@ function verify(manifest: string, artifacts: string) {
|
|
|
20
20
|
return spawnSync(process.execPath, [fileURLToPath(new URL('../verify-native-release-assets.js', import.meta.url)), '--manifest', manifest, '--artifacts-dir', artifacts], { encoding: 'utf-8' });
|
|
21
21
|
}
|
|
22
22
|
|
|
23
|
-
async function collect(stream:
|
|
23
|
+
async function collect(stream: AsyncIterable<any>): Promise<Buffer> {
|
|
24
24
|
const output: Buffer[] = [];
|
|
25
25
|
for await (const chunk of stream) output.push(Buffer.from(chunk));
|
|
26
26
|
return Buffer.concat(output);
|
|
27
27
|
}
|
|
28
28
|
|
|
29
|
-
async function tarArchive(entries: Array<{ name: string; data?: Buffer; type?: tar.
|
|
29
|
+
async function tarArchive(entries: Array<{ name: string; data?: Buffer; type?: tar.Header['type']; linkname?: string }>, format: 'tar.gz' | 'tar.xz'): Promise<Buffer> {
|
|
30
30
|
const archive = tar.pack();
|
|
31
31
|
for (const item of entries) {
|
|
32
|
-
const header
|
|
32
|
+
const header = { name: item.name, type: item.type ?? 'file', size: item.data?.length ?? 0, linkname: item.linkname ?? '' };
|
|
33
33
|
if ((item.type ?? 'file') === 'file') archive.entry(header, item.data ?? Buffer.alloc(0));
|
|
34
34
|
else archive.entry(header);
|
|
35
35
|
}
|
|
@@ -25,6 +25,7 @@ import {
|
|
|
25
25
|
readSubagentSessionSummary,
|
|
26
26
|
readSubagentTrackingState,
|
|
27
27
|
recordNativeSubagentAuthorityObservation,
|
|
28
|
+
recordSubagentTurnForSession,
|
|
28
29
|
repairPersistedRootIdentity,
|
|
29
30
|
quarantinePersistedRootAuthority,
|
|
30
31
|
revokeNativeSubagentAuthorities,
|
|
@@ -21957,6 +21958,7 @@ export async function dispatchCodexNativeHook(
|
|
|
21957
21958
|
let resolvedNativeSessionId = nativeSessionId;
|
|
21958
21959
|
let skipCanonicalSessionStartContext = false;
|
|
21959
21960
|
let isSubagentSessionStart = false;
|
|
21961
|
+
let recordedNativeSubagentSessionStart = false;
|
|
21960
21962
|
const authoritativeTeamWorker = authoritativeTeamWorkerEvidence !== null;
|
|
21961
21963
|
const authoritativeWorkerPayloadSessionId = authoritativeTeamWorker
|
|
21962
21964
|
&& candidateWorkerPayloadSessionId
|
|
@@ -21999,6 +22001,7 @@ export async function dispatchCodexNativeHook(
|
|
|
21999
22001
|
);
|
|
22000
22002
|
if (belongsToCanonicalSession) {
|
|
22001
22003
|
resolvedNativeSessionId = nativeSessionId;
|
|
22004
|
+
recordedNativeSubagentSessionStart = true;
|
|
22002
22005
|
await recordNativeSubagentSessionStart(
|
|
22003
22006
|
cwd,
|
|
22004
22007
|
canonicalSessionId,
|
|
@@ -22591,6 +22594,19 @@ export async function dispatchCodexNativeHook(
|
|
|
22591
22594
|
goalWorkflowAdditionalContext,
|
|
22592
22595
|
triageAdditionalContext,
|
|
22593
22596
|
].filter((entry): entry is string => Boolean(entry)).join("\n\n") || null;
|
|
22597
|
+
// Record bounded delivery evidence for native subagent SessionStart events
|
|
22598
|
+
// Skip if recordNativeSubagentSessionStart already recorded the turn (to avoid duplicate increment)
|
|
22599
|
+
if (hookEventName === "SessionStart" && isSubagentSessionStart && allowImplicitSessionSideEffects && !recordedNativeSubagentSessionStart) {
|
|
22600
|
+
const threadId = readPayloadThreadId(payload);
|
|
22601
|
+
if (canonicalSessionId?.trim() && threadId?.trim()) {
|
|
22602
|
+
await recordSubagentTurnForSession(cwd, {
|
|
22603
|
+
sessionId: canonicalSessionId.trim(),
|
|
22604
|
+
threadId: threadId.trim(),
|
|
22605
|
+
completed: false,
|
|
22606
|
+
timestamp: new Date().toISOString(),
|
|
22607
|
+
}).catch(() => {});
|
|
22608
|
+
}
|
|
22609
|
+
}
|
|
22594
22610
|
if (additionalContext) {
|
|
22595
22611
|
outputJson = {
|
|
22596
22612
|
hookSpecificOutput: {
|
|
@@ -22665,6 +22681,19 @@ export async function dispatchCodexNativeHook(
|
|
|
22665
22681
|
skipAutoNudge: isSubagentStop,
|
|
22666
22682
|
sessionScopedOnly: !allowGlobalSideEffects,
|
|
22667
22683
|
});
|
|
22684
|
+
// Record bounded completion evidence for native subagent Stop events
|
|
22685
|
+
if (isSubagentStop) {
|
|
22686
|
+
const threadId = readPayloadThreadId(payload);
|
|
22687
|
+
if (canonicalSessionId?.trim() && threadId?.trim()) {
|
|
22688
|
+
await recordSubagentTurnForSession(cwd, {
|
|
22689
|
+
sessionId: canonicalSessionId.trim(),
|
|
22690
|
+
threadId: threadId.trim(),
|
|
22691
|
+
completed: true,
|
|
22692
|
+
completionSource: 'native_stop_event',
|
|
22693
|
+
timestamp: new Date().toISOString(),
|
|
22694
|
+
}).catch(() => {});
|
|
22695
|
+
}
|
|
22696
|
+
}
|
|
22668
22697
|
outputJson = stopOutput ?? (
|
|
22669
22698
|
allowGlobalSideEffects
|
|
22670
22699
|
? await buildCompletedGoalCleanupStopOutput(payload, cwd)
|