@walkhi/code-relax 0.1.0-beta.76 → 0.1.0-beta.79

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.
@@ -366,11 +366,29 @@ async function main() {
366
366
  if (!await desktopHost.desktopReady()) throw new Error('安装期间 Codex 窗口已启动,但未确认连接到工作站内核。');
367
367
  desktopRestarted = true;
368
368
  }
369
- bridge = await service.status();
370
- if (!bridge.running || bridge.managedAppServer?.state !== 'ready' || !bridge.execution?.ready
371
- || (!preserveCodex && (bridge.managedAppServer.updatePending || bridge.managedAppServer.launcherRestartRequired))) {
372
- throw new Error('安装文件已更新,但 Codex 内核更新或完整控制尚未就绪,安装未完成。');
373
- }
369
+ // Kernel restart completion can precede the next execution-health sample.
370
+ // Observe readiness only: never repeat installation or restart the kernel here.
371
+ const readinessDeadline = Date.now() + 35_000;
372
+ const installationReady = () => bridge.running && bridge.managedAppServer?.state === 'ready'
373
+ && bridge.execution?.ready === true
374
+ && (preserveCodex || (!bridge.managedAppServer.updatePending && !bridge.managedAppServer.launcherRestartRequired));
375
+ do {
376
+ bridge = await service.status();
377
+ if (installationReady()) break;
378
+ if (Date.now() >= readinessDeadline) {
379
+ const diagnostic = {
380
+ observedAt: new Date().toISOString(), running: bridge.running,
381
+ kernelState: bridge.managedAppServer?.state, kernelError: bridge.managedAppServer?.error,
382
+ kernelVersion: bridge.managedAppServer?.version, kernelPid: bridge.managedAppServer?.pid,
383
+ updatePending: bridge.managedAppServer?.updatePending,
384
+ launcherRestartRequired: bridge.managedAppServer?.launcherRestartRequired,
385
+ execution: bridge.execution, restart: bridge.managedAppServer?.restart,
386
+ migration: managedAppServerMigration, preserveCodex,
387
+ };
388
+ throw new Error(`安装文件已更新,但等待 35 秒后 Codex 内核更新或完整控制仍未就绪,安装未完成。状态:${JSON.stringify(diagnostic)}`);
389
+ }
390
+ await delay(250);
391
+ } while (true);
374
392
  installed.autostart = autostart;
375
393
  installed.skill = skill;
376
394
  installed.restarted = resumeAfterUpdate;
@@ -1 +1 @@
1
- {"layout":"npm-platform-packages","version":"0.1.0-beta.76"}
1
+ {"layout":"npm-platform-packages","version":"0.1.0-beta.79"}
@@ -65,7 +65,6 @@ export async function browseCode(rpc, operation, query) {
65
65
  try {
66
66
  const before = await handle.stat();
67
67
  if (!before.isFile()) protocol.fail('请选择普通文件。', 415);
68
- if (before.size > protocol.maxFileBytes) protocol.fail('文件超过预览上限(20 MiB)。', 413);
69
68
  if (!before.size) protocol.fail('文件为空。', 415);
70
69
  const revision = fileRevision(before);
71
70
  const { offset, length } = fileRange(query, before.size, revision);