@jsonstudio/rcc 0.89.1086 → 0.89.1136

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.
Files changed (101) hide show
  1. package/dist/build-info.js +2 -2
  2. package/dist/cli.js +39 -1
  3. package/dist/cli.js.map +1 -1
  4. package/dist/client/gemini/gemini-protocol-client.js +5 -0
  5. package/dist/client/gemini/gemini-protocol-client.js.map +1 -1
  6. package/dist/commands/provider-update.js +355 -5
  7. package/dist/commands/provider-update.js.map +1 -1
  8. package/dist/docs/daemon-admin-ui.html +604 -91
  9. package/dist/index.js +33 -1
  10. package/dist/index.js.map +1 -1
  11. package/dist/manager/modules/quota/index.d.ts +37 -1
  12. package/dist/manager/modules/quota/index.js +378 -18
  13. package/dist/manager/modules/quota/index.js.map +1 -1
  14. package/dist/manager/quota/provider-quota-center.d.ts +3 -0
  15. package/dist/manager/quota/provider-quota-center.js +88 -24
  16. package/dist/manager/quota/provider-quota-center.js.map +1 -1
  17. package/dist/manager/quota/provider-quota-store.js +5 -2
  18. package/dist/manager/quota/provider-quota-store.js.map +1 -1
  19. package/dist/manager/types.d.ts +5 -0
  20. package/dist/providers/core/config/service-profiles.js +1 -1
  21. package/dist/providers/core/config/service-profiles.js.map +1 -1
  22. package/dist/providers/core/runtime/gemini-cli-http-provider.js +5 -0
  23. package/dist/providers/core/runtime/gemini-cli-http-provider.js.map +1 -1
  24. package/dist/providers/core/runtime/http-transport-provider.js +26 -38
  25. package/dist/providers/core/runtime/http-transport-provider.js.map +1 -1
  26. package/dist/providers/core/utils/http-client.js +10 -1
  27. package/dist/providers/core/utils/http-client.js.map +1 -1
  28. package/dist/server/handlers/handler-utils.d.ts +1 -1
  29. package/dist/server/handlers/handler-utils.js +82 -4
  30. package/dist/server/handlers/handler-utils.js.map +1 -1
  31. package/dist/server/handlers/responses-handler.js +26 -3
  32. package/dist/server/handlers/responses-handler.js.map +1 -1
  33. package/dist/server/handlers/sse-dispatcher.js +1 -4
  34. package/dist/server/handlers/sse-dispatcher.js.map +1 -1
  35. package/dist/server/runtime/http-server/colored-logger.d.ts +1 -1
  36. package/dist/server/runtime/http-server/colored-logger.js +22 -10
  37. package/dist/server/runtime/http-server/colored-logger.js.map +1 -1
  38. package/dist/server/runtime/http-server/daemon-admin/credentials-handler.d.ts +1 -1
  39. package/dist/server/runtime/http-server/daemon-admin/credentials-handler.js +10 -14
  40. package/dist/server/runtime/http-server/daemon-admin/credentials-handler.js.map +1 -1
  41. package/dist/server/runtime/http-server/daemon-admin/providers-handler.js +108 -115
  42. package/dist/server/runtime/http-server/daemon-admin/providers-handler.js.map +1 -1
  43. package/dist/server/runtime/http-server/daemon-admin/quota-handler.js +132 -7
  44. package/dist/server/runtime/http-server/daemon-admin/quota-handler.js.map +1 -1
  45. package/dist/server/runtime/http-server/daemon-admin/restart-handler.d.ts +3 -0
  46. package/dist/server/runtime/http-server/daemon-admin/restart-handler.js +22 -0
  47. package/dist/server/runtime/http-server/daemon-admin/restart-handler.js.map +1 -0
  48. package/dist/server/runtime/http-server/daemon-admin/stats-handler.d.ts +3 -0
  49. package/dist/server/runtime/http-server/daemon-admin/stats-handler.js +56 -0
  50. package/dist/server/runtime/http-server/daemon-admin/stats-handler.js.map +1 -0
  51. package/dist/server/runtime/http-server/daemon-admin/status-handler.js +100 -4
  52. package/dist/server/runtime/http-server/daemon-admin/status-handler.js.map +1 -1
  53. package/dist/server/runtime/http-server/daemon-admin-routes.d.ts +24 -0
  54. package/dist/server/runtime/http-server/daemon-admin-routes.js +25 -0
  55. package/dist/server/runtime/http-server/daemon-admin-routes.js.map +1 -1
  56. package/dist/server/runtime/http-server/executor-provider.js +74 -0
  57. package/dist/server/runtime/http-server/executor-provider.js.map +1 -1
  58. package/dist/server/runtime/http-server/index.d.ts +7 -1
  59. package/dist/server/runtime/http-server/index.js +171 -14
  60. package/dist/server/runtime/http-server/index.js.map +1 -1
  61. package/dist/server/runtime/http-server/middleware.d.ts +2 -1
  62. package/dist/server/runtime/http-server/middleware.js +7 -6
  63. package/dist/server/runtime/http-server/middleware.js.map +1 -1
  64. package/dist/server/runtime/http-server/provider-utils.d.ts +1 -1
  65. package/dist/server/runtime/http-server/provider-utils.js +19 -2
  66. package/dist/server/runtime/http-server/provider-utils.js.map +1 -1
  67. package/dist/server/runtime/http-server/request-executor.js +9 -10
  68. package/dist/server/runtime/http-server/request-executor.js.map +1 -1
  69. package/dist/server/runtime/http-server/routes.d.ts +10 -0
  70. package/dist/server/runtime/http-server/routes.js +14 -1
  71. package/dist/server/runtime/http-server/routes.js.map +1 -1
  72. package/dist/server/runtime/http-server/stats-manager.d.ts +7 -0
  73. package/dist/server/runtime/http-server/stats-manager.js +22 -3
  74. package/dist/server/runtime/http-server/stats-manager.js.map +1 -1
  75. package/dist/server/runtime/http-server/types.d.ts +10 -0
  76. package/dist/server/utils/http-error-mapper.js +85 -7
  77. package/dist/server/utils/http-error-mapper.js.map +1 -1
  78. package/dist/server/utils/request-id-manager.js +9 -5
  79. package/dist/server/utils/request-id-manager.js.map +1 -1
  80. package/dist/server/utils/sse-request-parser.js +2 -1
  81. package/dist/server/utils/sse-request-parser.js.map +1 -1
  82. package/dist/server/utils/utf8-chunk-buffer.d.ts +15 -30
  83. package/dist/server/utils/utf8-chunk-buffer.js +78 -88
  84. package/dist/server/utils/utf8-chunk-buffer.js.map +1 -1
  85. package/dist/server/utils/warmup-storm-tracker.js +1 -1
  86. package/dist/server/utils/warmup-storm-tracker.js.map +1 -1
  87. package/dist/token-daemon/token-daemon.js +7 -1
  88. package/dist/token-daemon/token-daemon.js.map +1 -1
  89. package/dist/tools/provider-update/fetch-models.js +8 -5
  90. package/dist/tools/provider-update/fetch-models.js.map +1 -1
  91. package/dist/tools/provider-update/probe-context.d.ts +24 -0
  92. package/dist/tools/provider-update/probe-context.js +199 -0
  93. package/dist/tools/provider-update/probe-context.js.map +1 -0
  94. package/dist/tools/provider-update/types.d.ts +1 -0
  95. package/package.json +6 -4
  96. package/scripts/scan-apply-patch-samples.mjs +362 -0
  97. package/scripts/scan-exec-command-samples.mjs +269 -0
  98. package/scripts/scan-tool-shape-samples.mjs +291 -0
  99. package/scripts/tools/sync-apply-patch-regressions.mjs +86 -0
  100. package/scripts/verify-apply-patch-regressions.mjs +119 -0
  101. package/scripts/verify-tool-arguments.mjs +1 -2
@@ -0,0 +1,119 @@
1
+ #!/usr/bin/env node
2
+
3
+ /**
4
+ * Verify that captured apply_patch regressions in repo stay parseable and correctly classified.
5
+ *
6
+ * Policy:
7
+ * - If a sample now validates OK, it's considered "fixed" (pass).
8
+ * - If it still fails, the failure reason must match sample.errorType (pass).
9
+ * - Any mismatch, missing fields, or crashes are failures.
10
+ */
11
+
12
+ import fs from 'node:fs/promises';
13
+ import path from 'node:path';
14
+ import { fileURLToPath, pathToFileURL } from 'node:url';
15
+
16
+ const __dirname = path.dirname(fileURLToPath(import.meta.url));
17
+ const repoRoot = path.resolve(__dirname, '..');
18
+
19
+ const REG_ROOT = path.join(repoRoot, 'samples', 'ci-goldens', '_regressions', 'apply_patch');
20
+ const coreLoaderPath = path.join(repoRoot, 'dist', 'modules', 'llmswitch', 'core-loader.js');
21
+ const coreLoaderUrl = pathToFileURL(coreLoaderPath).href;
22
+
23
+ async function fileExists(p) {
24
+ try {
25
+ await fs.access(p);
26
+ return true;
27
+ } catch {
28
+ return false;
29
+ }
30
+ }
31
+
32
+ async function* walkJsonFiles(root) {
33
+ const stack = [root];
34
+ while (stack.length) {
35
+ const current = stack.pop();
36
+ let entries;
37
+ try {
38
+ entries = await fs.readdir(current, { withFileTypes: true });
39
+ } catch {
40
+ continue;
41
+ }
42
+ for (const entry of entries) {
43
+ const full = path.join(current, entry.name);
44
+ if (entry.isDirectory()) stack.push(full);
45
+ else if (entry.isFile() && entry.name.toLowerCase().endsWith('.json')) yield full;
46
+ }
47
+ }
48
+ }
49
+
50
+ async function loadValidator() {
51
+ if (!(await fileExists(coreLoaderPath))) {
52
+ throw new Error(`core-loader missing at ${coreLoaderPath} (run npm run build:dev first)`);
53
+ }
54
+ const { importCoreModule } = await import(coreLoaderUrl);
55
+ const { validateToolCall } = await importCoreModule('tools/tool-registry');
56
+ return { validateToolCall };
57
+ }
58
+
59
+ async function main() {
60
+ if (!(await fileExists(REG_ROOT))) {
61
+ console.log(`[verify:apply-patch-regressions] skip (missing: ${REG_ROOT})`);
62
+ return;
63
+ }
64
+
65
+ const { validateToolCall } = await loadValidator();
66
+
67
+ let total = 0;
68
+ let fixed = 0;
69
+ let stillFailing = 0;
70
+ const mismatches = [];
71
+
72
+ for await (const filePath of walkJsonFiles(REG_ROOT)) {
73
+ total += 1;
74
+ let doc;
75
+ try {
76
+ doc = JSON.parse(await fs.readFile(filePath, 'utf-8'));
77
+ } catch {
78
+ mismatches.push({ filePath, reason: 'unparseable_json' });
79
+ continue;
80
+ }
81
+
82
+ const expected = typeof doc?.errorType === 'string' ? doc.errorType.trim() : '';
83
+ const args = typeof doc?.originalArgs === 'string' ? doc.originalArgs : '';
84
+ if (!expected || !args) {
85
+ mismatches.push({ filePath, reason: 'missing_errorType_or_originalArgs' });
86
+ continue;
87
+ }
88
+
89
+ const res = validateToolCall('apply_patch', args);
90
+ if (res?.ok) {
91
+ fixed += 1;
92
+ continue;
93
+ }
94
+ stillFailing += 1;
95
+ const actual = (res && res.reason) || 'unknown';
96
+ if (actual !== expected) {
97
+ mismatches.push({ filePath, reason: `reason_mismatch expected=${expected} actual=${actual}` });
98
+ }
99
+ }
100
+
101
+ console.log(
102
+ `[verify:apply-patch-regressions] total=${total} fixed=${fixed} stillFailing=${stillFailing} mismatches=${mismatches.length}`
103
+ );
104
+ if (mismatches.length) {
105
+ console.error('[verify:apply-patch-regressions] ❌ mismatches:');
106
+ for (const m of mismatches.slice(0, 20)) {
107
+ console.error(` - ${path.relative(repoRoot, m.filePath)} :: ${m.reason}`);
108
+ }
109
+ process.exitCode = 1;
110
+ } else {
111
+ console.log('[verify:apply-patch-regressions] ✅ ok');
112
+ }
113
+ }
114
+
115
+ main().catch((error) => {
116
+ console.error('[verify:apply-patch-regressions] failed:', error?.stack || error?.message || String(error ?? 'unknown'));
117
+ process.exit(2);
118
+ });
119
+
@@ -22,7 +22,7 @@ const SAMPLES_DIR = path.join(HOME, '.routecodex', 'codex-samples', 'openai-chat
22
22
 
23
23
  const ALLOWED_KEYS = {
24
24
  shell: new Set(['command','justification','timeout_ms','with_escalated_permissions','workdir']),
25
- apply_patch: new Set(['patch']),
25
+ apply_patch: new Set(['patch','input']),
26
26
  update_plan: new Set(['explanation','plan']),
27
27
  view_image: new Set(['path']),
28
28
  list_mcp_resources: new Set(['server','cursor','filter','root']),
@@ -175,4 +175,3 @@ async function main() {
175
175
  }
176
176
 
177
177
  main().catch(err => { console.error(err); process.exit(2); });
178
-