devrage 0.5.3 → 0.5.5
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/cli.js +95 -25
- package/dist/cli.js.map +2 -2
- package/dist/lib/adapters/codex.d.ts.map +1 -1
- package/dist/lib/adapters/codex.js +38 -4
- package/dist/lib/adapters/codex.js.map +1 -1
- package/package.json +1 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"codex.d.ts","sourceRoot":"","sources":["../../../src/adapters/codex.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAE,OAAO,EAAwC,MAAM,SAAS,CAAC;AAiB7E,wBAAgB,YAAY,IAAI,OAAO,
|
|
1
|
+
{"version":3,"file":"codex.d.ts","sourceRoot":"","sources":["../../../src/adapters/codex.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAE,OAAO,EAAwC,MAAM,SAAS,CAAC;AAiB7E,wBAAgB,YAAY,IAAI,OAAO,CAyBtC"}
|
|
@@ -25,11 +25,19 @@ export function codexAdapter() {
|
|
|
25
25
|
}
|
|
26
26
|
},
|
|
27
27
|
async *usage(options) {
|
|
28
|
+
const seenUsage = new Set();
|
|
28
29
|
for await (const file of discoverCodexSessionFiles(CODEX_SESSIONS_DIR)) {
|
|
29
|
-
|
|
30
|
+
for await (const record of parseCodexUsageJsonl(file.filePath, {
|
|
30
31
|
session: file.session,
|
|
31
32
|
since: options?.since,
|
|
32
|
-
})
|
|
33
|
+
})) {
|
|
34
|
+
const key = codexUsageRecordKey(record);
|
|
35
|
+
if (seenUsage.has(key)) {
|
|
36
|
+
continue;
|
|
37
|
+
}
|
|
38
|
+
seenUsage.add(key);
|
|
39
|
+
yield record;
|
|
40
|
+
}
|
|
33
41
|
}
|
|
34
42
|
},
|
|
35
43
|
};
|
|
@@ -49,10 +57,13 @@ async function* discoverCodexSessionFiles(dir) {
|
|
|
49
57
|
yield* discoverCodexSessionFiles(fullPath);
|
|
50
58
|
}
|
|
51
59
|
else if (entry.endsWith(".jsonl")) {
|
|
52
|
-
yield { filePath: fullPath, session: entry
|
|
60
|
+
yield { filePath: fullPath, session: sessionFromRolloutFileName(entry) };
|
|
53
61
|
}
|
|
54
62
|
}
|
|
55
63
|
}
|
|
64
|
+
function sessionFromRolloutFileName(fileName) {
|
|
65
|
+
return (fileName.match(/([0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12})\.jsonl$/i)?.[1] ?? fileName.replace(".jsonl", ""));
|
|
66
|
+
}
|
|
56
67
|
async function* parseCodexJsonl(filePath, context) {
|
|
57
68
|
const rl = createInterface({
|
|
58
69
|
input: createReadStream(filePath, { encoding: "utf-8" }),
|
|
@@ -122,6 +133,8 @@ async function* parseCodexUsageJsonl(filePath, context) {
|
|
|
122
133
|
let model;
|
|
123
134
|
let previousTotal = null;
|
|
124
135
|
let previousUsageSignature = null;
|
|
136
|
+
let session = context.session;
|
|
137
|
+
let sawSessionMeta = false;
|
|
125
138
|
for await (const line of rl) {
|
|
126
139
|
if (!line.trim()) {
|
|
127
140
|
continue;
|
|
@@ -129,6 +142,14 @@ async function* parseCodexUsageJsonl(filePath, context) {
|
|
|
129
142
|
try {
|
|
130
143
|
const entry = JSON.parse(line);
|
|
131
144
|
const payload = asRecord(entry["payload"]);
|
|
145
|
+
if (entry["type"] === "session_meta") {
|
|
146
|
+
const metaSession = stringValue(payload?.["id"]) ?? stringValue(entry["id"]);
|
|
147
|
+
if (metaSession && !sawSessionMeta) {
|
|
148
|
+
session = metaSession;
|
|
149
|
+
sawSessionMeta = true;
|
|
150
|
+
}
|
|
151
|
+
continue;
|
|
152
|
+
}
|
|
132
153
|
if (entry["type"] === "turn_context") {
|
|
133
154
|
model = stringValue(payload?.["model"]) ?? model;
|
|
134
155
|
continue;
|
|
@@ -178,7 +199,7 @@ async function* parseCodexUsageJsonl(filePath, context) {
|
|
|
178
199
|
provider: "openai",
|
|
179
200
|
model,
|
|
180
201
|
timestamp,
|
|
181
|
-
session
|
|
202
|
+
session,
|
|
182
203
|
inputTokens: Math.max(usage.inputTokens - usage.cachedInputTokens, 0),
|
|
183
204
|
outputTokens: Math.max(usage.outputTokens - reasoningTokens, 0),
|
|
184
205
|
reasoningTokens,
|
|
@@ -191,6 +212,19 @@ async function* parseCodexUsageJsonl(filePath, context) {
|
|
|
191
212
|
}
|
|
192
213
|
}
|
|
193
214
|
}
|
|
215
|
+
function codexUsageRecordKey(record) {
|
|
216
|
+
return JSON.stringify([
|
|
217
|
+
record.session ?? "",
|
|
218
|
+
record.timestamp ?? "",
|
|
219
|
+
record.provider ?? "",
|
|
220
|
+
record.model ?? "",
|
|
221
|
+
record.inputTokens,
|
|
222
|
+
record.outputTokens,
|
|
223
|
+
record.reasoningTokens,
|
|
224
|
+
record.cacheReadTokens,
|
|
225
|
+
record.cacheWriteTokens,
|
|
226
|
+
]);
|
|
227
|
+
}
|
|
194
228
|
function parseCodexTokenUsage(value) {
|
|
195
229
|
const usage = asRecord(value);
|
|
196
230
|
if (!usage) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"codex.js","sourceRoot":"","sources":["../../../src/adapters/codex.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAE,MAAM,SAAS,CAAC;AAC3C,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,kBAAkB,CAAC;AACjD,OAAO,EAAE,eAAe,EAAE,MAAM,eAAe,CAAC;AAChD,OAAO,EAAE,OAAO,EAAE,MAAM,SAAS,CAAC;AAClC,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AAGjC;;;;;;;;;;;GAWG;AAEH,MAAM,kBAAkB,GAAG,IAAI,CAAC,OAAO,EAAE,EAAE,QAAQ,EAAE,UAAU,CAAC,CAAC;AAEjE,MAAM,UAAU,YAAY;IAC1B,OAAO;QACL,IAAI,EAAE,OAAO;QACb,KAAK,CAAC,CAAC,QAAQ,CAAC,OAAwB;YACtC,IAAI,KAAK,EAAE,MAAM,IAAI,IAAI,yBAAyB,CAAC,kBAAkB,CAAC,EAAE,CAAC;gBACvE,KAAK,CAAC,CAAC,eAAe,CAAC,IAAI,CAAC,QAAQ,EAAE,EAAE,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE,KAAK,EAAE,OAAO,EAAE,KAAK,EAAE,CAAC,CAAC;YAC1F,CAAC;QACH,CAAC;QACD,KAAK,CAAC,CAAC,KAAK,CAAC,OAAwB;YACnC,IAAI,KAAK,EAAE,MAAM,IAAI,IAAI,yBAAyB,CAAC,kBAAkB,CAAC,EAAE,CAAC;gBACvE,KAAK,
|
|
1
|
+
{"version":3,"file":"codex.js","sourceRoot":"","sources":["../../../src/adapters/codex.ts"],"names":[],"mappings":"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"}
|