@jsonstudio/rcc 0.89.932 → 0.89.942

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.
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/manager/modules/token/index.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,WAAW,EAAE,MAAM,uCAAuC,CAAC;AACpE,OAAO,EACL,yBAAyB,EACzB,4BAA4B,EAC7B,MAAM,sCAAsC,CAAC;AAE9C,MAAM,OAAO,kBAAkB;IACpB,EAAE,GAAG,OAAO,CAAC;IACd,MAAM,GAAuB,IAAI,CAAC;IAClC,OAAO,GAAkB,IAAI,CAAC;IAC9B,QAAQ,GAAY,KAAK,CAAC;IAElC,KAAK,CAAC,IAAI,CAAC,OAAuB;QAChC,wCAAwC;QACxC,IAAI,CAAC,OAAO,GAAG,UAAU,OAAO,CAAC,QAAQ,EAAE,CAAC;IAC9C,CAAC;IAED,KAAK,CAAC,KAAK;QACT,IAAI,IAAI,CAAC,MAAM,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,CAAC;YACjC,OAAO;QACT,CAAC;QAED,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,GAAG,MAAM,4BAA4B,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;QAC9E,IAAI,CAAC,QAAQ,EAAE,CAAC;YACd,MAAM,KAAK,GAAG,MAAM,EAAE,OAAO,IAAI,SAAS,CAAC;YAC3C,MAAM,GAAG,GAAG,MAAM,EAAE,GAAG,IAAI,SAAS,CAAC;YACrC,yBAAyB;YACzB,sCAAsC;YACtC,OAAO,CAAC,GAAG,CACT,mEAAmE,KAAK,SAAS,GAAG,0CAA0C,CAC/H,CAAC;YACF,IAAI,CAAC,QAAQ,GAAG,KAAK,CAAC;YACtB,OAAO;QACT,CAAC;QAED,MAAM,WAAW,GAAG,yBAAyB,CAAC,+BAA+B,EAAE,EAAE,CAAC,CAAC;QACnF,2BAA2B;QAC3B,MAAM,YAAY,GAAG,yBAAyB,CAAC,oCAAoC,EAAE,CAAC,CAAC,CAAC;QACxF,IAAI,CAAC,MAAM,GAAG,IAAI,WAAW,CAAC;YAC5B,UAAU,EAAE,WAAW,GAAG,IAAI;YAC9B,mBAAmB,EAAE,YAAY;SAClC,CAAC,CAAC;QACH,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC;QACrB,MAAM,IAAI,CAAC,MAAM,CAAC,KAAK,EAAE,CAAC;IAC5B,CAAC;IAED,KAAK,CAAC,IAAI;QACR,IAAI,IAAI,CAAC,MAAM,EAAE,CAAC;YAChB,IAAI,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC;YACnB,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC;QACrB,CAAC;QACD,IAAI,IAAI,CAAC,QAAQ,IAAI,IAAI,CAAC,OAAO,EAAE,CAAC;YAClC,MAAM,yBAAyB,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;YAC9C,IAAI,CAAC,QAAQ,GAAG,KAAK,CAAC;QACxB,CAAC;IACH,CAAC;CACF;AAED,SAAS,yBAAyB,CAAC,IAAY,EAAE,QAAgB;IAC/D,MAAM,GAAG,GAAG,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;IAC9B,IAAI,CAAC,GAAG,EAAE,CAAC;QACT,OAAO,QAAQ,CAAC;IAClB,CAAC;IACD,MAAM,MAAM,GAAG,MAAM,CAAC,GAAG,CAAC,CAAC;IAC3B,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC,IAAI,MAAM,IAAI,CAAC,EAAE,CAAC;QAC5C,OAAO,QAAQ,CAAC;IAClB,CAAC;IACD,OAAO,MAAM,CAAC;AAChB,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/manager/modules/token/index.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,WAAW,EAAE,MAAM,uCAAuC,CAAC;AACpE,OAAO,EACL,yBAAyB,EACzB,4BAA4B,EAC7B,MAAM,sCAAsC,CAAC;AAE9C,MAAM,OAAO,kBAAkB;IACpB,EAAE,GAAG,OAAO,CAAC;IACd,MAAM,GAAuB,IAAI,CAAC;IAClC,OAAO,GAAkB,IAAI,CAAC;IAC9B,QAAQ,GAAY,KAAK,CAAC;IAElC,KAAK,CAAC,IAAI,CAAC,OAAuB;QAChC,wCAAwC;QACxC,IAAI,CAAC,OAAO,GAAG,UAAU,OAAO,CAAC,QAAQ,EAAE,CAAC;IAC9C,CAAC;IAED,KAAK,CAAC,KAAK;QACT,IAAI,IAAI,CAAC,MAAM,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,CAAC;YACjC,OAAO;QACT,CAAC;QAED,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,GAAG,MAAM,4BAA4B,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;QAC9E,IAAI,CAAC,QAAQ,EAAE,CAAC;YACd,MAAM,KAAK,GAAG,MAAM,EAAE,OAAO,IAAI,SAAS,CAAC;YAC3C,MAAM,GAAG,GAAG,MAAM,EAAE,GAAG,IAAI,SAAS,CAAC;YACrC,yBAAyB;YACzB,sCAAsC;YACtC,OAAO,CAAC,GAAG,CACT,mEAAmE,KAAK,SAAS,GAAG,0CAA0C,CAC/H,CAAC;YACF,IAAI,CAAC,QAAQ,GAAG,KAAK,CAAC;YACtB,OAAO;QACT,CAAC;QAED,MAAM,WAAW,GAAG,yBAAyB,CAAC,+BAA+B,EAAE,EAAE,CAAC,CAAC;QACnF,2BAA2B;QAC3B,MAAM,YAAY,GAAG,yBAAyB,CAAC,oCAAoC,EAAE,CAAC,CAAC,CAAC;QACxF,IAAI,CAAC,MAAM,GAAG,IAAI,WAAW,CAAC;YAC5B,UAAU,EAAE,WAAW,GAAG,IAAI;YAC9B,mBAAmB,EAAE,YAAY;SAClC,CAAC,CAAC;QACH,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC;QACrB,MAAM,IAAI,CAAC,MAAM,CAAC,KAAK,EAAE,CAAC;IAC5B,CAAC;IAED,KAAK,CAAC,IAAI;QACR,IAAI,IAAI,CAAC,MAAM,EAAE,CAAC;YAChB,MAAM,IAAI,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC;YACzB,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC;QACrB,CAAC;QACD,IAAI,IAAI,CAAC,QAAQ,IAAI,IAAI,CAAC,OAAO,EAAE,CAAC;YAClC,MAAM,yBAAyB,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;YAC9C,IAAI,CAAC,QAAQ,GAAG,KAAK,CAAC;QACxB,CAAC;IACH,CAAC;CACF;AAED,SAAS,yBAAyB,CAAC,IAAY,EAAE,QAAgB;IAC/D,MAAM,GAAG,GAAG,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;IAC9B,IAAI,CAAC,GAAG,EAAE,CAAC;QACT,OAAO,QAAQ,CAAC;IAClB,CAAC;IACD,MAAM,MAAM,GAAG,MAAM,CAAC,GAAG,CAAC,CAAC;IAC3B,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC,IAAI,MAAM,IAAI,CAAC,EAAE,CAAC;QAC5C,OAAO,QAAQ,CAAC;IAClB,CAAC;IACD,OAAO,MAAM,CAAC;AAChB,CAAC"}
@@ -11,9 +11,10 @@ export declare class TokenDaemon {
11
11
  private timer;
12
12
  private lastRefreshAttempt;
13
13
  private antigravityMetadataEnsureTimestamps;
14
+ private sessionStatsByProvider;
14
15
  constructor(options?: Partial<TokenDaemonOptions>);
15
16
  start(): Promise<void>;
16
- stop(): void;
17
+ stop(): Promise<void>;
17
18
  private tick;
18
19
  private trySilentRefresh;
19
20
  private runIflowAutoAuthorization;
@@ -28,4 +29,5 @@ export declare class TokenDaemon {
28
29
  private logDebug;
29
30
  private ensurePortalEnvironment;
30
31
  private recordHistoryEvent;
32
+ private printSessionAndHistorySummary;
31
33
  }
@@ -49,6 +49,7 @@ export class TokenDaemon {
49
49
  timer = null;
50
50
  lastRefreshAttempt = new Map();
51
51
  antigravityMetadataEnsureTimestamps = new Map();
52
+ sessionStatsByProvider = new Map();
52
53
  constructor(options) {
53
54
  this.intervalMs = options?.intervalMs && options.intervalMs > 0 ? options.intervalMs : DEFAULT_INTERVAL_MS;
54
55
  this.refreshAheadMinutes =
@@ -69,11 +70,17 @@ export class TokenDaemon {
69
70
  });
70
71
  }, this.intervalMs);
71
72
  }
72
- stop() {
73
+ async stop() {
73
74
  if (this.timer) {
74
75
  clearInterval(this.timer);
75
76
  this.timer = null;
76
77
  }
78
+ try {
79
+ await this.printSessionAndHistorySummary();
80
+ }
81
+ catch {
82
+ // summary printing must never block shutdown
83
+ }
77
84
  console.log(chalk.blue('ℹ'), 'Token Refresh Daemon stopped');
78
85
  }
79
86
  async tick() {
@@ -373,6 +380,26 @@ export class TokenDaemon {
373
380
  async recordHistoryEvent(token, outcome, startedAt, meta) {
374
381
  try {
375
382
  const completedAt = Date.now();
383
+ // update in-memory session stats (per provider, auto mode only for this daemon)
384
+ try {
385
+ const providerType = token.provider;
386
+ const current = this.sessionStatsByProvider.get(providerType) ?? {
387
+ autoAttempts: 0,
388
+ autoSuccesses: 0,
389
+ autoFailures: 0
390
+ };
391
+ current.autoAttempts += 1;
392
+ if (outcome === 'success') {
393
+ current.autoSuccesses += 1;
394
+ }
395
+ else {
396
+ current.autoFailures += 1;
397
+ }
398
+ this.sessionStatsByProvider.set(providerType, current);
399
+ }
400
+ catch {
401
+ // best-effort; do not block history persistence
402
+ }
376
403
  await this.historyStore.recordRefreshResult(token, outcome, {
377
404
  startedAt,
378
405
  completedAt,
@@ -388,6 +415,56 @@ export class TokenDaemon {
388
415
  this.logDebug(`[daemon] history persistence failed: ${historyError instanceof Error ? historyError.message : String(historyError)}`);
389
416
  }
390
417
  }
418
+ async printSessionAndHistorySummary() {
419
+ const snapshot = await this.historyStore.getSnapshot();
420
+ const history = snapshot.data;
421
+ const aggregatedByProvider = new Map();
422
+ for (const entry of Object.values(history.tokens)) {
423
+ const provider = entry.provider;
424
+ const current = aggregatedByProvider.get(provider) ?? {
425
+ providersTokens: 0,
426
+ totalAttempts: 0,
427
+ totalSuccesses: 0,
428
+ totalFailures: 0,
429
+ suspendedTokens: 0
430
+ };
431
+ current.providersTokens += 1;
432
+ current.totalAttempts += entry.totalAttempts ?? 0;
433
+ current.totalSuccesses += entry.refreshSuccesses ?? 0;
434
+ current.totalFailures += entry.refreshFailures ?? 0;
435
+ if (entry.autoSuspended) {
436
+ current.suspendedTokens += 1;
437
+ }
438
+ aggregatedByProvider.set(provider, current);
439
+ }
440
+ const providers = new Set([
441
+ ...this.sessionStatsByProvider.keys(),
442
+ ...aggregatedByProvider.keys()
443
+ ]);
444
+ if (!providers.size) {
445
+ // nothing to report
446
+ return;
447
+ }
448
+ console.log(chalk.blue('ℹ'), '[TokenDaemon] Auto-refresh summary for this server process:');
449
+ for (const provider of Array.from(providers).sort()) {
450
+ const session = this.sessionStatsByProvider.get(provider) ?? {
451
+ autoAttempts: 0,
452
+ autoSuccesses: 0,
453
+ autoFailures: 0
454
+ };
455
+ const historyAgg = aggregatedByProvider.get(provider) ?? {
456
+ providersTokens: 0,
457
+ totalAttempts: 0,
458
+ totalSuccesses: 0,
459
+ totalFailures: 0,
460
+ suspendedTokens: 0
461
+ };
462
+ console.log(chalk.gray('◉'), `[TokenDaemon] provider=${provider} ` +
463
+ `session(auto): attempts=${session.autoAttempts}, success=${session.autoSuccesses}, failure=${session.autoFailures}; ` +
464
+ `history: tokens=${historyAgg.providersTokens}, attempts=${historyAgg.totalAttempts}, ` +
465
+ `success=${historyAgg.totalSuccesses}, failure=${historyAgg.totalFailures}, suspended=${historyAgg.suspendedTokens}`);
466
+ }
467
+ }
391
468
  }
392
469
  async function getTokenFileMtime(filePath) {
393
470
  try {
@@ -1 +1 @@
1
- {"version":3,"file":"token-daemon.js","sourceRoot":"","sources":["../../src/token-daemon/token-daemon.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"token-daemon.js","sourceRoot":"","sources":["../../src/token-daemon/token-daemon.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@jsonstudio/rcc",
3
- "version": "0.89.932",
3
+ "version": "0.89.942",
4
4
  "description": "Multi-provider OpenAI proxy server with anthropic/responses/chat support (release)",
5
5
  "type": "module",
6
6
  "main": "dist/index.js",
@@ -130,7 +130,7 @@
130
130
  },
131
131
  "dependencies": {
132
132
  "@anthropic-ai/sdk": "^0.65.0",
133
- "@jsonstudio/llms": "^0.6.626",
133
+ "@jsonstudio/llms": "^0.6.633",
134
134
  "@jsonstudio/rcc": "^0.89.555",
135
135
  "@lmstudio/sdk": "^1.5.0",
136
136
  "@radix-ui/react-switch": "^1.2.6",
@@ -0,0 +1,153 @@
1
+ #!/usr/bin/env node
2
+
3
+ import fs from 'node:fs/promises';
4
+ import path from 'node:path';
5
+ import os from 'node:os';
6
+
7
+ const HOME = os.homedir();
8
+ const RESPONSES_DIR = path.join(HOME, '.routecodex', 'codex-samples', 'openai-responses');
9
+
10
+ async function fileExists(p) {
11
+ try {
12
+ await fs.access(p);
13
+ return true;
14
+ } catch {
15
+ return false;
16
+ }
17
+ }
18
+
19
+ async function* walkJsonFiles(root) {
20
+ const stack = [root];
21
+ while (stack.length) {
22
+ const current = stack.pop();
23
+ let entries;
24
+ try {
25
+ entries = await fs.readdir(current, { withFileTypes: true });
26
+ } catch {
27
+ continue;
28
+ }
29
+ for (const entry of entries) {
30
+ const full = path.join(current, entry.name);
31
+ if (entry.isDirectory()) {
32
+ stack.push(full);
33
+ } else if (entry.isFile() && entry.name.toLowerCase().endsWith('.json')) {
34
+ yield full;
35
+ }
36
+ }
37
+ }
38
+ }
39
+
40
+ function extractApplyPatchResults(doc) {
41
+ const results = [];
42
+ function visit(node) {
43
+ if (!node) return;
44
+ if (Array.isArray(node)) {
45
+ for (const item of node) visit(item);
46
+ return;
47
+ }
48
+ if (typeof node !== 'object') return;
49
+ const any = node;
50
+
51
+ if (any.name === 'apply_patch' && any.response && typeof any.response === 'object') {
52
+ const resp = any.response;
53
+ let text = '';
54
+ if (typeof resp.result === 'string') text = resp.result;
55
+ else if (typeof resp.output === 'string') text = resp.output;
56
+ results.push(text);
57
+ }
58
+
59
+ if (any.type === 'tool_result' && any.name === 'apply_patch') {
60
+ let text = '';
61
+ if (typeof any.result === 'string') text = any.result;
62
+ else if (typeof any.output === 'string') text = any.output;
63
+ else if (Array.isArray(any.output)) {
64
+ text = any.output
65
+ .map((entry) => {
66
+ if (typeof entry === 'string') return entry;
67
+ if (entry && typeof entry === 'object') {
68
+ if (typeof entry.text === 'string') return entry.text;
69
+ if (typeof entry.content === 'string') return entry.content;
70
+ }
71
+ return '';
72
+ })
73
+ .filter(Boolean)
74
+ .join('\n');
75
+ }
76
+ results.push(text);
77
+ }
78
+
79
+ for (const value of Object.values(any)) visit(value);
80
+ }
81
+ visit(doc);
82
+ return results;
83
+ }
84
+
85
+ function isExecutionFailure(text) {
86
+ if (!text || typeof text !== 'string') return false;
87
+ const lower = text.toLowerCase();
88
+ if (text.includes('apply_patch verification failed')) return false;
89
+ if (!lower.includes('failed') && !lower.includes('error') && !lower.includes('exception')) return false;
90
+ return true;
91
+ }
92
+
93
+ function normalizeKey(text) {
94
+ if (!text) return '<empty>';
95
+ const firstLine = text.split('\n')[0].trim();
96
+ return firstLine.length > 200 ? firstLine.slice(0, 200) : firstLine;
97
+ }
98
+
99
+ async function main() {
100
+ if (!(await fileExists(RESPONSES_DIR))) {
101
+ console.error('[analyze-apply-patch-exec-failures] no openai-responses dir at', RESPONSES_DIR);
102
+ process.exit(0);
103
+ }
104
+
105
+ const byKey = new Map();
106
+ let total = 0;
107
+
108
+ for await (const filePath of walkJsonFiles(RESPONSES_DIR)) {
109
+ let doc;
110
+ try {
111
+ const raw = await fs.readFile(filePath, 'utf-8');
112
+ doc = JSON.parse(raw);
113
+ } catch {
114
+ continue;
115
+ }
116
+ const results = extractApplyPatchResults(doc);
117
+ if (!results.length) continue;
118
+ for (const text of results) {
119
+ if (!isExecutionFailure(text)) continue;
120
+ total += 1;
121
+ const key = normalizeKey(text);
122
+ const current = byKey.get(key) || { count: 0, examples: [] };
123
+ current.count += 1;
124
+ if (current.examples.length < 3) {
125
+ current.examples.push(path.basename(filePath));
126
+ }
127
+ byKey.set(key, current);
128
+ }
129
+ }
130
+
131
+ console.log(`[analyze-apply-patch-exec-failures] total execution-like failures: ${total}`);
132
+
133
+ const sorted = Array.from(byKey.entries()).sort((a, b) => b[1].count - a[1].count);
134
+ const top = sorted.slice(0, 30);
135
+
136
+ for (const [key, value] of top) {
137
+ console.log('\n--- pattern ---');
138
+ console.log(`count=${value.count}`);
139
+ console.log(`firstLine=${JSON.stringify(key)}`);
140
+ if (value.examples.length) {
141
+ console.log('examples:');
142
+ for (const ex of value.examples) {
143
+ console.log(` - ${ex}`);
144
+ }
145
+ }
146
+ }
147
+ }
148
+
149
+ main().catch((err) => {
150
+ console.error('[analyze-apply-patch-exec-failures] failed:', err);
151
+ process.exit(1);
152
+ });
153
+
@@ -0,0 +1,242 @@
1
+ #!/usr/bin/env node
2
+
3
+ /**
4
+ * Scan ~/.routecodex/codex-samples for apply_patch usage and
5
+ * count successful vs failed invocations.
6
+ *
7
+ * We look for apply_patch tool *results* in any JSON snapshot:
8
+ * - Gemini-style functionResponse.response.result
9
+ * - OpenAI-style tool_result with name === "apply_patch"
10
+ *
11
+ * Classification:
12
+ * - validationFailure: message contains "apply_patch verification failed"
13
+ * - executionFailure: message contains generic "failed"/"error"/"exception"
14
+ * but not the verification pattern
15
+ * - success: there is a result string and it doesn't look like a failure
16
+ * - unknown: no textual result payload
17
+ *
18
+ * Note: counts are per snapshot occurrence, not de-duplicated by requestId.
19
+ */
20
+
21
+ import fs from 'node:fs/promises';
22
+ import path from 'node:path';
23
+ import os from 'node:os';
24
+
25
+ const HOME = os.homedir();
26
+ const ROOT = path.join(HOME, '.routecodex', 'codex-samples');
27
+ const ENTRIES = ['openai-responses', 'openai-chat', 'anthropic-messages'];
28
+
29
+ async function fileExists(p) {
30
+ try {
31
+ await fs.access(p);
32
+ return true;
33
+ } catch {
34
+ return false;
35
+ }
36
+ }
37
+
38
+ async function* walkJsonFiles(root) {
39
+ const stack = [root];
40
+ while (stack.length) {
41
+ const current = stack.pop();
42
+ let entries;
43
+ try {
44
+ entries = await fs.readdir(current, { withFileTypes: true });
45
+ } catch {
46
+ continue;
47
+ }
48
+ for (const entry of entries) {
49
+ const full = path.join(current, entry.name);
50
+ if (entry.isDirectory()) {
51
+ stack.push(full);
52
+ } else if (entry.isFile() && entry.name.toLowerCase().endsWith('.json')) {
53
+ yield full;
54
+ }
55
+ }
56
+ }
57
+ }
58
+
59
+ function extractApplyPatchResults(doc) {
60
+ const results = [];
61
+
62
+ function visit(node) {
63
+ if (!node) return;
64
+ if (Array.isArray(node)) {
65
+ for (const item of node) visit(item);
66
+ return;
67
+ }
68
+ if (typeof node !== 'object') {
69
+ return;
70
+ }
71
+ const any = node;
72
+
73
+ // Gemini-style: functionResponse { name: "apply_patch", response: { result: "..." } }
74
+ if (any.name === 'apply_patch' && any.response && typeof any.response === 'object') {
75
+ const resp = any.response;
76
+ let text = '';
77
+ if (typeof resp.result === 'string') {
78
+ text = resp.result;
79
+ } else if (typeof resp.output === 'string') {
80
+ text = resp.output;
81
+ }
82
+ results.push({ kind: 'result', text });
83
+ }
84
+
85
+ // OpenAI-style tool_result: { type: "tool_result", name: "apply_patch", result/output: ... }
86
+ if (any.type === 'tool_result' && any.name === 'apply_patch') {
87
+ let text = '';
88
+ if (typeof any.result === 'string') {
89
+ text = any.result;
90
+ } else if (typeof any.output === 'string') {
91
+ text = any.output;
92
+ } else if (Array.isArray(any.output)) {
93
+ text = any.output
94
+ .map((entry) => {
95
+ if (typeof entry === 'string') return entry;
96
+ if (entry && typeof entry === 'object') {
97
+ if (typeof entry.text === 'string') return entry.text;
98
+ if (typeof entry.content === 'string') return entry.content;
99
+ }
100
+ return '';
101
+ })
102
+ .filter(Boolean)
103
+ .join('\n');
104
+ }
105
+ results.push({ kind: 'result', text });
106
+ }
107
+
108
+ // Function-call style apply_patch invocation
109
+ if (
110
+ (any.type === 'function_call' || any.type === 'functionCall') &&
111
+ any.name === 'apply_patch'
112
+ ) {
113
+ results.push({ kind: 'call', text: '' });
114
+ }
115
+
116
+ // Provider tool_calls: { function: { name: "apply_patch", ... } }
117
+ if (any.function && typeof any.function === 'object' && any.function.name === 'apply_patch') {
118
+ results.push({ kind: 'call', text: '' });
119
+ }
120
+
121
+ for (const value of Object.values(any)) {
122
+ visit(value);
123
+ }
124
+ }
125
+
126
+ visit(doc);
127
+ return results;
128
+ }
129
+
130
+ function classifyResultText(text) {
131
+ if (!text || typeof text !== 'string') {
132
+ return 'unknown';
133
+ }
134
+ const lower = text.toLowerCase();
135
+ if (text.includes('apply_patch verification failed')) {
136
+ return 'validationFailure';
137
+ }
138
+ if (lower.includes('verification failed')) {
139
+ return 'validationFailure';
140
+ }
141
+ if (lower.includes('failed') || lower.includes('error') || lower.includes('exception')) {
142
+ return 'executionFailure';
143
+ }
144
+ return 'success';
145
+ }
146
+
147
+ async function main() {
148
+ if (!(await fileExists(ROOT))) {
149
+ console.error('[analyze-apply-patch-samples] codex-samples not found at', ROOT);
150
+ process.exit(0);
151
+ }
152
+
153
+ const totals = {
154
+ filesScanned: 0,
155
+ calls: 0,
156
+ results: 0,
157
+ success: 0,
158
+ validationFailure: 0,
159
+ executionFailure: 0,
160
+ unknown: 0
161
+ };
162
+
163
+ const byEntry = {};
164
+
165
+ for (const entry of ENTRIES) {
166
+ const entryDir = path.join(ROOT, entry);
167
+ if (!(await fileExists(entryDir))) {
168
+ continue;
169
+ }
170
+ const stats = {
171
+ filesScanned: 0,
172
+ calls: 0,
173
+ results: 0,
174
+ success: 0,
175
+ validationFailure: 0,
176
+ executionFailure: 0,
177
+ unknown: 0
178
+ };
179
+
180
+ for await (const filePath of walkJsonFiles(entryDir)) {
181
+ stats.filesScanned += 1;
182
+ totals.filesScanned += 1;
183
+ let doc;
184
+ try {
185
+ const raw = await fs.readFile(filePath, 'utf-8');
186
+ doc = JSON.parse(raw);
187
+ } catch {
188
+ continue;
189
+ }
190
+ const results = extractApplyPatchResults(doc);
191
+ if (!results.length) continue;
192
+
193
+ for (const item of results) {
194
+ if (item.kind === 'call') {
195
+ stats.calls += 1;
196
+ totals.calls += 1;
197
+ continue;
198
+ }
199
+ if (item.kind === 'result') {
200
+ stats.results += 1;
201
+ totals.results += 1;
202
+ const bucket = classifyResultText(item.text);
203
+ if (bucket === 'success') {
204
+ stats.success += 1;
205
+ totals.success += 1;
206
+ } else if (bucket === 'validationFailure') {
207
+ stats.validationFailure += 1;
208
+ totals.validationFailure += 1;
209
+ } else if (bucket === 'executionFailure') {
210
+ stats.executionFailure += 1;
211
+ totals.executionFailure += 1;
212
+ } else {
213
+ stats.unknown += 1;
214
+ totals.unknown += 1;
215
+ }
216
+ }
217
+ }
218
+ }
219
+
220
+ byEntry[entry] = stats;
221
+ }
222
+
223
+ console.log('[analyze-apply-patch-samples] summary (per snapshot, not de-duplicated by reqId):');
224
+ console.log(
225
+ `TOTAL files=${totals.filesScanned}, calls=${totals.calls}, results=${totals.results},` +
226
+ ` success=${totals.success}, validationFailure=${totals.validationFailure},` +
227
+ ` executionFailure=${totals.executionFailure}, unknown=${totals.unknown}`
228
+ );
229
+ for (const [entry, s] of Object.entries(byEntry)) {
230
+ console.log(
231
+ `${entry}: files=${s.filesScanned}, calls=${s.calls}, results=${s.results},` +
232
+ ` success=${s.success}, validationFailure=${s.validationFailure},` +
233
+ ` executionFailure=${s.executionFailure}, unknown=${s.unknown}`
234
+ );
235
+ }
236
+ }
237
+
238
+ main().catch((error) => {
239
+ console.error('[analyze-apply-patch-samples] failed:', error);
240
+ process.exit(1);
241
+ });
242
+
@@ -170,6 +170,21 @@ async function extractPair(entryName, entryDir, file, registry, seqMap, filters
170
170
  await fs.writeFile(path.join(targetDir, 'request.json'), JSON.stringify(enrichedRequest, null, 2));
171
171
  await fs.writeFile(path.join(targetDir, 'response.json'), JSON.stringify(enrichedResponse, null, 2));
172
172
 
173
+ // 可选:如果存在入口层的 client-request 快照,一并抽取,便于端到端重放。
174
+ const clientSnapshotPath = path.join(entryDir, `${prefix}_client-request.json`);
175
+ if (await fileExists(clientSnapshotPath)) {
176
+ try {
177
+ const client = JSON.parse(await fs.readFile(clientSnapshotPath, 'utf-8'));
178
+ const enrichedClient = { ...client, reqId, entryEndpoint: client?.endpoint };
179
+ await fs.writeFile(
180
+ path.join(targetDir, 'client-request.json'),
181
+ JSON.stringify(enrichedClient, null, 2)
182
+ );
183
+ } catch {
184
+ // client-request 仅用于重放,解析失败不阻断样本注册。
185
+ }
186
+ }
187
+
173
188
  registry.samples = registry.samples.filter((sample) => sample.reqId !== reqId);
174
189
  registry.samples.push({
175
190
  reqId,