@jsonstudio/rcc 0.90.252 → 0.90.323

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 (95) hide show
  1. package/config/providers/ali-coding-plan.json +73 -0
  2. package/dist/build-info.js +2 -2
  3. package/dist/cli/commands/launcher-kernel.js +21 -5
  4. package/dist/cli/commands/launcher-kernel.js.map +1 -1
  5. package/dist/cli/commands/session-admin.js +46 -8
  6. package/dist/cli/commands/session-admin.js.map +1 -1
  7. package/dist/cli/commands/session-inject.js +43 -4
  8. package/dist/cli/commands/session-inject.js.map +1 -1
  9. package/dist/config/unified-config-paths.js +22 -2
  10. package/dist/config/unified-config-paths.js.map +1 -1
  11. package/dist/daemon-admin-ui/assets/index-Bnx13Byl.js +15 -0
  12. package/dist/daemon-admin-ui/index.html +1 -1
  13. package/dist/index.js +59 -8
  14. package/dist/index.js.map +1 -1
  15. package/dist/manager/quota/provider-quota-center.js +33 -25
  16. package/dist/manager/quota/provider-quota-center.js.map +1 -1
  17. package/dist/modules/llmswitch/bridge/index.d.ts +1 -1
  18. package/dist/modules/llmswitch/bridge/index.js +1 -1
  19. package/dist/modules/llmswitch/bridge/index.js.map +1 -1
  20. package/dist/modules/llmswitch/bridge/native-exports.d.ts +1 -0
  21. package/dist/modules/llmswitch/bridge/native-exports.js +27 -0
  22. package/dist/modules/llmswitch/bridge/native-exports.js.map +1 -1
  23. package/dist/modules/llmswitch/bridge/snapshot-recorder.js +95 -24
  24. package/dist/modules/llmswitch/bridge/snapshot-recorder.js.map +1 -1
  25. package/dist/modules/llmswitch/bridge/state-integrations.d.ts +18 -0
  26. package/dist/modules/llmswitch/bridge/state-integrations.js +28 -0
  27. package/dist/modules/llmswitch/bridge/state-integrations.js.map +1 -1
  28. package/dist/modules/llmswitch/bridge.d.ts +2 -2
  29. package/dist/modules/llmswitch/bridge.js +2 -2
  30. package/dist/modules/llmswitch/bridge.js.map +1 -1
  31. package/dist/modules/pipeline/utils/colored-logger.d.ts +1 -0
  32. package/dist/modules/pipeline/utils/colored-logger.js +13 -9
  33. package/dist/modules/pipeline/utils/colored-logger.js.map +1 -1
  34. package/dist/providers/profile/families/anthropic-profile.js +32 -0
  35. package/dist/providers/profile/families/anthropic-profile.js.map +1 -1
  36. package/dist/server/handlers/handler-response-utils.js +9 -4
  37. package/dist/server/handlers/handler-response-utils.js.map +1 -1
  38. package/dist/server/runtime/http-server/clock-runtime-hooks.d.ts +2 -0
  39. package/dist/server/runtime/http-server/clock-runtime-hooks.js +91 -0
  40. package/dist/server/runtime/http-server/clock-runtime-hooks.js.map +1 -0
  41. package/dist/server/runtime/http-server/daemon-admin/auth-handler.js +51 -13
  42. package/dist/server/runtime/http-server/daemon-admin/auth-handler.js.map +1 -1
  43. package/dist/server/runtime/http-server/daemon-admin/auth-store.d.ts +1 -9
  44. package/dist/server/runtime/http-server/daemon-admin/auth-store.js +0 -16
  45. package/dist/server/runtime/http-server/daemon-admin/auth-store.js.map +1 -1
  46. package/dist/server/runtime/http-server/daemon-admin-routes.d.ts +2 -0
  47. package/dist/server/runtime/http-server/daemon-admin-routes.js +11 -8
  48. package/dist/server/runtime/http-server/daemon-admin-routes.js.map +1 -1
  49. package/dist/server/runtime/http-server/executor/client-injection-flow.js +9 -1
  50. package/dist/server/runtime/http-server/executor/client-injection-flow.js.map +1 -1
  51. package/dist/server/runtime/http-server/executor/provider-response-converter.js +119 -26
  52. package/dist/server/runtime/http-server/executor/provider-response-converter.js.map +1 -1
  53. package/dist/server/runtime/http-server/executor/request-retry-helpers.d.ts +1 -0
  54. package/dist/server/runtime/http-server/executor/request-retry-helpers.js +26 -0
  55. package/dist/server/runtime/http-server/executor/request-retry-helpers.js.map +1 -1
  56. package/dist/server/runtime/http-server/http-server-lifecycle.js +2 -0
  57. package/dist/server/runtime/http-server/http-server-lifecycle.js.map +1 -1
  58. package/dist/server/runtime/http-server/http-server-runtime-setup.js +2 -0
  59. package/dist/server/runtime/http-server/http-server-runtime-setup.js.map +1 -1
  60. package/dist/server/runtime/http-server/http-server-session-daemon.js +9 -299
  61. package/dist/server/runtime/http-server/http-server-session-daemon.js.map +1 -1
  62. package/dist/server/runtime/http-server/middleware.d.ts +7 -0
  63. package/dist/server/runtime/http-server/middleware.js +1 -1
  64. package/dist/server/runtime/http-server/middleware.js.map +1 -1
  65. package/dist/server/runtime/http-server/request-executor.js +36 -2
  66. package/dist/server/runtime/http-server/request-executor.js.map +1 -1
  67. package/dist/server/runtime/http-server/routes.js +9 -2
  68. package/dist/server/runtime/http-server/routes.js.map +1 -1
  69. package/dist/server/runtime/http-server/servertool-admin-state.d.ts +1 -0
  70. package/dist/server/runtime/http-server/servertool-admin-state.js +5 -0
  71. package/dist/server/runtime/http-server/servertool-admin-state.js.map +1 -1
  72. package/dist/server/runtime/http-server/session-client-route-utils.d.ts +1 -0
  73. package/dist/server/runtime/http-server/session-client-route-utils.js +49 -4
  74. package/dist/server/runtime/http-server/session-client-route-utils.js.map +1 -1
  75. package/dist/server/runtime/http-server/session-client-routes.d.ts +5 -1
  76. package/dist/server/runtime/http-server/session-client-routes.js +60 -30
  77. package/dist/server/runtime/http-server/session-client-routes.js.map +1 -1
  78. package/dist/server/runtime/http-server/stats-manager.js +2 -2
  79. package/dist/server/runtime/http-server/stats-manager.js.map +1 -1
  80. package/dist/server/utils/request-log-color.js +10 -3
  81. package/dist/server/utils/request-log-color.js.map +1 -1
  82. package/dist/server/utils/stage-logger.js +71 -9
  83. package/dist/server/utils/stage-logger.js.map +1 -1
  84. package/dist/utils/session-log-color.js +31 -5
  85. package/dist/utils/session-log-color.js.map +1 -1
  86. package/package.json +3 -2
  87. package/scripts/build-core.mjs +2 -7
  88. package/scripts/ensure-llmswitch-mode.mjs +7 -1
  89. package/scripts/pack-mode.mjs +14 -1
  90. package/scripts/pack-rcc.mjs +9 -4
  91. package/scripts/publish-rcc.mjs +8 -3
  92. package/scripts/vendor-core.mjs +12 -7
  93. package/dist/daemon-admin-ui/assets/index-C8vP_c5E.js +0 -15
  94. package/docs/rccx-wasm-migration.md +0 -74
  95. package/scripts/compare-codex-rccx.mjs +0 -326
@@ -92,13 +92,8 @@ if (!fs.existsSync(proj)) {
92
92
  process.exit(0);
93
93
  }
94
94
 
95
- // 标准流程:release 构建必须依赖 npm 包(@jsonstudio/llms),禁止编译本地 sharedmodule。
96
- if (buildMode !== 'dev') {
97
- console.log('[build-core] BUILD_MODE=release: skip local llmswitch-core build (use npm @jsonstudio/llms)');
98
- process.exit(0);
99
- }
100
-
101
- // Allow skip via env or if dist already present
95
+ // 有本地 sharedmodule/llmswitch-core 时,无论 dev/release 都以本地源码为唯一构建真源。
96
+ // 仅当 sharedmodule 缺失时,release 才允许退回 npm 包。
102
97
  if (skip === '1' || skip === 'true' || skip === 'yes') {
103
98
  console.log('[build-core] skip requested by env (ROUTECODEX_SKIP_CORE_BUILD/SKIP_CORE_BUILD)');
104
99
  process.exit(0);
@@ -88,7 +88,13 @@ function ensureReleasePackage() {
88
88
  console.log('[llmswitch:ensure] release package ok: using npm-installed @jsonstudio/llms');
89
89
  }
90
90
 
91
- if (mode === 'dev') {
91
+ if (exists(sharedCoreDir)) {
92
+ const banner = mode === 'dev'
93
+ ? '[llmswitch:ensure] BUILD_MODE=dev: prefer local sharedmodule/llmswitch-core'
94
+ : '[llmswitch:ensure] BUILD_MODE=release but local sharedmodule/llmswitch-core exists; prefer local core';
95
+ console.log(banner);
96
+ ensureDevLink();
97
+ } else if (mode === 'dev') {
92
98
  ensureDevLink();
93
99
  } else {
94
100
  ensureReleasePackage();
@@ -25,6 +25,7 @@ const pkgPath = path.join(projectRoot, 'package.json');
25
25
  const backupPath = pkgPath + '.bak.pack';
26
26
  const ensureScriptPath = path.join(projectRoot, 'scripts', 'ensure-llmswitch-mode.mjs');
27
27
  const llmsPath = path.join(projectRoot, 'node_modules', '@jsonstudio', 'llms');
28
+ const localLlmsPkgPath = path.join(projectRoot, 'sharedmodule', 'llmswitch-core', 'package.json');
28
29
 
29
30
  function runEnsureMode(mode) {
30
31
  const env = { ...process.env, BUILD_MODE: mode };
@@ -42,6 +43,15 @@ function isSymlink(p) {
42
43
  }
43
44
  }
44
45
 
46
+ function readLocalLlmsVersion() {
47
+ try {
48
+ const pkg = JSON.parse(fs.readFileSync(localLlmsPkgPath, 'utf-8'));
49
+ return String(pkg.version || '').trim();
50
+ } catch {
51
+ return '';
52
+ }
53
+ }
54
+
45
55
  const isDevPkg = args.name === 'routecodex';
46
56
  const isRcc = args.name === 'rcc' || args.name === '@jsonstudio/rcc';
47
57
  const isRccx = args.name === '@jsonstudio/rccx';
@@ -70,7 +80,10 @@ try {
70
80
  mutated.bundledDependencies = [];
71
81
  mutated.bundleDependencies = [];
72
82
  const llmsOverride = String(process.env.RCC_LLMS_VERSION || process.env.ROUTECODEX_PACK_LLMS_VERSION || '').trim();
73
- const llmsVersion = (isRcc && llmsOverride) ? llmsOverride : (original.dependencies?.['@jsonstudio/llms'] || '^0.6.230');
83
+ const localLlmsVersion = readLocalLlmsVersion();
84
+ const llmsVersion = (isRcc && llmsOverride)
85
+ ? llmsOverride
86
+ : (localLlmsVersion || original.dependencies?.['@jsonstudio/llms'] || '^0.6.230');
74
87
  if (isRcc && llmsOverride) {
75
88
  console.log(`[pack-mode] using RCC_LLMS_VERSION override: @jsonstudio/llms=${llmsVersion}`);
76
89
  }
@@ -10,6 +10,7 @@ const PROJECT_ROOT = path.resolve(__dirname, '..');
10
10
  const pkgPath = path.join(PROJECT_ROOT, 'package.json');
11
11
  const PACK_SCRIPT = path.join(PROJECT_ROOT, 'scripts', 'pack-mode.mjs');
12
12
  const llmsPath = path.join(PROJECT_ROOT, 'node_modules', '@jsonstudio', 'llms');
13
+ const localLlmsPkgPath = path.join(PROJECT_ROOT, 'sharedmodule', 'llmswitch-core', 'package.json');
13
14
 
14
15
  function parseArgs(argv) {
15
16
  const out = {};
@@ -48,7 +49,11 @@ function exists(p) {
48
49
  try {
49
50
  const args = parseArgs(process.argv);
50
51
  const llmsTgz = String(args.llmsTgz || process.env.RCC_LLMS_TGZ || '').trim();
51
- const llmsVersion = String(args.llmsVersion || process.env.RCC_LLMS_VERSION || '').trim();
52
+ const llmsVersion = String(
53
+ args.llmsVersion ||
54
+ process.env.RCC_LLMS_VERSION ||
55
+ (exists(localLlmsPkgPath) ? JSON.parse(fs.readFileSync(localLlmsPkgPath, 'utf-8')).version : '')
56
+ ).trim();
52
57
 
53
58
  const hadDevLink = isSymlink(llmsPath);
54
59
 
@@ -64,13 +69,13 @@ try {
64
69
  run('npm', ['install', '--no-audit', '--no-fund', '--no-save', llmsTgz], { cwd: PROJECT_ROOT });
65
70
  }
66
71
 
67
- // 1) release 模式构建 dist(依赖 npm 上的 @jsonstudio/llms)
72
+ // 1) release 模式构建 dist。若存在本地 sharedmodule/llmswitch-core,则 release 也以其为唯一真源。
68
73
  run('npm', ['run', 'build:min'], {
69
74
  cwd: PROJECT_ROOT,
70
75
  env: { ...process.env, BUILD_MODE: 'release', ...(llmsVersion ? { RCC_LLMS_VERSION: llmsVersion } : {}) }
71
76
  });
72
77
 
73
- // 2) 通过 pack-mode 生成 rcc tarball(内部会临时切换 package.json.name/bin 并确保 llms 为 release 包)
78
+ // 2) 通过 pack-mode 生成 rcc tarball(内部会临时切换 package.json.name/bin,并同步 llms 版本声明)
74
79
  run(
75
80
  process.execPath,
76
81
  [PACK_SCRIPT, '--name', '@jsonstudio/rcc', '--bin', 'rcc'],
@@ -88,7 +93,7 @@ try {
88
93
 
89
94
  console.log(`[pack-rcc] ✅ tarball ready: ${tarballPath}`);
90
95
 
91
- // 3) pack 结束后恢复 dev 模式(routecodex 约定始终为 dev CLI;rcc 打包时才切 release)。
96
+ // 3) pack 结束后恢复 dev 模式。
92
97
  if (hadDevLink) {
93
98
  run('npm', ['run', 'llmswitch:ensure'], {
94
99
  cwd: PROJECT_ROOT,
@@ -9,6 +9,7 @@ const PROJECT_ROOT = path.resolve(__dirname, '..');
9
9
  const PACK_SCRIPT = path.join(PROJECT_ROOT, 'scripts', 'pack-mode.mjs');
10
10
  const pkgPath = path.join(PROJECT_ROOT, 'package.json');
11
11
  const llmsPath = path.join(PROJECT_ROOT, 'node_modules', '@jsonstudio', 'llms');
12
+ const localLlmsPkgPath = path.join(PROJECT_ROOT, 'sharedmodule', 'llmswitch-core', 'package.json');
12
13
 
13
14
  function parseArgs(argv) {
14
15
  const out = {};
@@ -39,7 +40,11 @@ function run(command, args, options = {}) {
39
40
  try {
40
41
  const args = parseArgs(process.argv);
41
42
  const llmsTgz = String(args.llmsTgz || process.env.RCC_LLMS_TGZ || '').trim();
42
- const llmsVersion = String(args.llmsVersion || process.env.RCC_LLMS_VERSION || '').trim();
43
+ const llmsVersion = String(
44
+ args.llmsVersion ||
45
+ process.env.RCC_LLMS_VERSION ||
46
+ (exists(localLlmsPkgPath) ? JSON.parse(fs.readFileSync(localLlmsPkgPath, 'utf-8')).version : '')
47
+ ).trim();
43
48
 
44
49
  const hadDevLink = (() => {
45
50
  try {
@@ -59,13 +64,13 @@ try {
59
64
  run('npm', ['install', '--no-audit', '--no-fund', '--no-save', llmsTgz], { cwd: PROJECT_ROOT });
60
65
  }
61
66
 
62
- // 1) 使用 release 模式构建 dist(依赖 npm 上的 @jsonstudio/llms)
67
+ // 1) 使用 release 模式构建 dist。若存在本地 sharedmodule/llmswitch-core,则 release 也以其为唯一真源。
63
68
  run('npm', ['run', 'build:min'], {
64
69
  cwd: PROJECT_ROOT,
65
70
  env: { ...process.env, BUILD_MODE: 'release', ...(llmsVersion ? { RCC_LLMS_VERSION: llmsVersion } : {}) }
66
71
  });
67
72
 
68
- // 2) 通过 pack-mode 生成 rcc tarball(内部会临时切换 package.json.name/bin 并确保 llms 为 release 包)
73
+ // 2) 通过 pack-mode 生成 rcc tarball(内部会临时切换 package.json.name/bin,并同步 llms 版本声明)
69
74
  run(
70
75
  process.execPath,
71
76
  [PACK_SCRIPT, '--name', '@jsonstudio/rcc', '--bin', 'rcc'],
@@ -18,11 +18,11 @@ async function main() {
18
18
  const legacyVendorDir = path.join(root, 'vendor', 'rcc-llmswitch-core');
19
19
  const scopedVendorDir = path.join(root, 'vendor', '@jsonstudio', 'llms');
20
20
 
21
- // In release mode we rely on npm-installed `@jsonstudio/llms`, so the local sharedmodule dist
22
- // is optional and must not block CI (where sharedmodule often doesn't exist).
23
- // In dev mode, `node_modules/@jsonstudio/llms` is typically symlinked to sharedmodule/llmswitch-core,
24
- // so we keep a hard requirement for the dist output.
25
- if (mode === 'dev' && !await exists(sharedDist)) {
21
+ const hasLocalSharedDist = await exists(sharedDist);
22
+
23
+ // 当本地 sharedmodule/llmswitch-core 存在时,dev/release 都以它为唯一真源。
24
+ // 仅在 release 且本地 sharedmodule 缺失时,才允许退回 npm-installed @jsonstudio/llms。
25
+ if (!hasLocalSharedDist && mode === 'dev') {
26
26
  console.error('[vendor-core] ERROR: 未找到 sharedmodule/llmswitch-core/dist (BUILD_MODE=dev)');
27
27
  console.error('[vendor-core] 请先进入 sharedmodule/llmswitch-core 并运行 `npm run build`。');
28
28
  process.exit(2);
@@ -37,10 +37,15 @@ async function main() {
37
37
  console.log('[vendor-core] removed legacy vendor/@jsonstudio/llms directory');
38
38
  }
39
39
 
40
- if (mode === 'dev') {
40
+ if (hasLocalSharedDist) {
41
+ const banner = mode === 'dev'
42
+ ? '[vendor-core] BUILD_MODE=dev: direct-use local sharedmodule/llmswitch-core/dist (no vendor copy).'
43
+ : '[vendor-core] BUILD_MODE=release with local sharedmodule/llmswitch-core/dist: direct-use local core (no vendor copy).';
44
+ console.log(banner);
45
+ } else if (mode === 'dev') {
41
46
  console.log('[vendor-core] sharedmodule/llmswitch-core/dist 将被直接引用,已停止生成 vendor 副本。');
42
47
  } else {
43
- console.log('[vendor-core] BUILD_MODE=release: using npm-installed @jsonstudio/llms (no vendor copy).');
48
+ console.log('[vendor-core] BUILD_MODE=release without local sharedmodule: using npm-installed @jsonstudio/llms (no vendor copy).');
44
49
  }
45
50
  }
46
51