@jingyi0605/codingns 0.1.2 → 0.1.4

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 (71) hide show
  1. package/bin/codingns.mjs +47 -8
  2. package/dist/public/assets/{TerminalPage-Dr7knYq2.js → TerminalPage-4ulgBhv9.js} +19 -19
  3. package/dist/public/assets/index-C5lu52cQ.css +1 -0
  4. package/dist/public/assets/index-WpdUo_Vs.js +108 -0
  5. package/dist/public/index.html +2 -2
  6. package/dist/server/config/env.d.ts +1 -0
  7. package/dist/server/config/env.js +2 -1
  8. package/dist/server/config/env.js.map +1 -1
  9. package/dist/server/modules/auth/auth-service.d.ts +7 -1
  10. package/dist/server/modules/auth/auth-service.js +23 -3
  11. package/dist/server/modules/auth/auth-service.js.map +1 -1
  12. package/dist/server/modules/bootstrap/bootstrap-service.d.ts +3 -1
  13. package/dist/server/modules/bootstrap/bootstrap-service.js +7 -2
  14. package/dist/server/modules/bootstrap/bootstrap-service.js.map +1 -1
  15. package/dist/server/modules/demo/demo-cleanup-service.d.ts +41 -0
  16. package/dist/server/modules/demo/demo-cleanup-service.js +111 -0
  17. package/dist/server/modules/demo/demo-cleanup-service.js.map +1 -0
  18. package/dist/server/modules/sessions/codex-app-server-helper-client.d.ts +1 -0
  19. package/dist/server/modules/sessions/codex-app-server-helper-client.js +24 -1
  20. package/dist/server/modules/sessions/codex-app-server-helper-client.js.map +1 -1
  21. package/dist/server/modules/sessions/session-history-service.js +16 -15
  22. package/dist/server/modules/sessions/session-history-service.js.map +1 -1
  23. package/dist/server/modules/sessions/session-live-runtime-service.d.ts +2 -0
  24. package/dist/server/modules/sessions/session-live-runtime-service.js +13 -7
  25. package/dist/server/modules/sessions/session-live-runtime-service.js.map +1 -1
  26. package/dist/server/modules/terminal/command-template-service.d.ts +4 -0
  27. package/dist/server/modules/terminal/command-template-service.js +88 -2
  28. package/dist/server/modules/terminal/command-template-service.js.map +1 -1
  29. package/dist/server/modules/terminal/template-reverse-proxy-service.d.ts +10 -0
  30. package/dist/server/modules/terminal/template-reverse-proxy-service.js +320 -0
  31. package/dist/server/modules/terminal/template-reverse-proxy-service.js.map +1 -0
  32. package/dist/server/modules/terminal/terminal-controller.d.ts +1 -0
  33. package/dist/server/modules/terminal/terminal-controller.js +16 -0
  34. package/dist/server/modules/terminal/terminal-controller.js.map +1 -1
  35. package/dist/server/modules/terminal/terminal-service.js +2 -2
  36. package/dist/server/modules/terminal/terminal-service.js.map +1 -1
  37. package/dist/server/modules/workbench/workspace-panel-snapshot-service.js +7 -2
  38. package/dist/server/modules/workbench/workspace-panel-snapshot-service.js.map +1 -1
  39. package/dist/server/routes/proxy.d.ts +3 -0
  40. package/dist/server/routes/proxy.js +24 -0
  41. package/dist/server/routes/proxy.js.map +1 -0
  42. package/dist/server/routes/sessions.d.ts +1 -0
  43. package/dist/server/routes/sessions.js +12 -3
  44. package/dist/server/routes/sessions.js.map +1 -1
  45. package/dist/server/server/create-server.js +39 -6
  46. package/dist/server/server/create-server.js.map +1 -1
  47. package/dist/server/storage/repositories/terminal-command-template-repository.d.ts +1 -0
  48. package/dist/server/storage/repositories/terminal-command-template-repository.js +34 -3
  49. package/dist/server/storage/repositories/terminal-command-template-repository.js.map +1 -1
  50. package/dist/server/storage/sqlite/client.js +27 -0
  51. package/dist/server/storage/sqlite/client.js.map +1 -1
  52. package/dist/server/storage/sqlite/schema.sql +2 -0
  53. package/dist/server/types/domain.d.ts +2 -0
  54. package/dist/server/ws/ws-server.js +3 -1
  55. package/dist/server/ws/ws-server.js.map +1 -1
  56. package/node_modules/@codingns/session-sync-core/dist/providers/claude-code.js +165 -6
  57. package/node_modules/@codingns/session-sync-core/dist/providers/claude-code.js.map +1 -1
  58. package/node_modules/@codingns/session-sync-core/dist/runtime/active-run-registry.js +10 -0
  59. package/node_modules/@codingns/session-sync-core/dist/runtime/active-run-registry.js.map +1 -1
  60. package/node_modules/@codingns/session-sync-core/dist/runtime/claude-runtime.js +4 -1
  61. package/node_modules/@codingns/session-sync-core/dist/runtime/claude-runtime.js.map +1 -1
  62. package/node_modules/@codingns/session-sync-core/dist/runtime/codex-runtime.d.ts +2 -0
  63. package/node_modules/@codingns/session-sync-core/dist/runtime/codex-runtime.js +30 -0
  64. package/node_modules/@codingns/session-sync-core/dist/runtime/codex-runtime.js.map +1 -1
  65. package/node_modules/@codingns/session-sync-core/dist/runtime/provider-runtime-service.d.ts +2 -0
  66. package/node_modules/@codingns/session-sync-core/dist/runtime/provider-runtime-service.js +16 -0
  67. package/node_modules/@codingns/session-sync-core/dist/runtime/provider-runtime-service.js.map +1 -1
  68. package/node_modules/@codingns/session-sync-core/dist/runtime/types.d.ts +3 -0
  69. package/package.json +1 -1
  70. package/dist/public/assets/index-BpUi6zoT.js +0 -108
  71. package/dist/public/assets/index-NMtdQNda.css +0 -1
@@ -4,8 +4,8 @@
4
4
  <meta charset="UTF-8" />
5
5
  <meta name="viewport" content="width=device-width, initial-scale=1.0, viewport-fit=cover" />
6
6
  <title>CodingNS</title>
7
- <script type="module" crossorigin src="/assets/index-BpUi6zoT.js"></script>
8
- <link rel="stylesheet" crossorigin href="/assets/index-NMtdQNda.css">
7
+ <script type="module" crossorigin src="/assets/index-WpdUo_Vs.js"></script>
8
+ <link rel="stylesheet" crossorigin href="/assets/index-C5lu52cQ.css">
9
9
  </head>
10
10
  <body>
11
11
  <div id="root"></div>
@@ -20,5 +20,6 @@ export interface HostConfig {
20
20
  claudeHookBridgeToken: string;
21
21
  serverUpdatePackageName: string;
22
22
  npmRegistryBaseUrl: string;
23
+ demoMode: boolean;
23
24
  }
24
25
  export declare function resolveHostConfig(overrides?: Partial<HostConfig>): HostConfig;
@@ -61,7 +61,8 @@ export function resolveHostConfig(overrides = {}) {
61
61
  "@jingyi0605/codingns",
62
62
  npmRegistryBaseUrl: overrides.npmRegistryBaseUrl ??
63
63
  process.env.CODINGNS_NPM_REGISTRY_BASE_URL ??
64
- "https://registry.npmjs.org"
64
+ "https://registry.npmjs.org",
65
+ demoMode: overrides.demoMode ?? process.env.DEMO_MODE === "true"
65
66
  };
66
67
  }
67
68
  function resolveAppRootDir() {
@@ -1 +1 @@
1
- {"version":3,"file":"env.js","sourceRoot":"","sources":["../../../src/config/env.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"env.js","sourceRoot":"","sources":["../../../src/config/env.ts"],"names":[],"mappings":"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"}
@@ -1,4 +1,5 @@
1
1
  import type { HostConfig } from "../../config/env.js";
2
+ import type { DemoCleanupService, DemoOnlineTracker } from "../demo/demo-cleanup-service.js";
2
3
  import type { AuthTokenRepository } from "../../storage/repositories/auth-token-repository.js";
3
4
  import type { AuthUserRepository } from "../../storage/repositories/auth-user-repository.js";
4
5
  import type { BootstrapStateRepository } from "../../storage/repositories/bootstrap-state-repository.js";
@@ -32,7 +33,12 @@ export declare class AuthService {
32
33
  private readonly authUserRepository;
33
34
  private readonly authTokenRepository;
34
35
  private readonly config;
35
- constructor(bootstrapStateRepository: BootstrapStateRepository, authUserRepository: AuthUserRepository, authTokenRepository: AuthTokenRepository, config: HostConfig);
36
+ private readonly demoCleanupService?;
37
+ private readonly demoOnlineTracker?;
38
+ constructor(bootstrapStateRepository: BootstrapStateRepository, authUserRepository: AuthUserRepository, authTokenRepository: AuthTokenRepository, config: HostConfig, demoServices?: {
39
+ cleanupService: DemoCleanupService;
40
+ onlineTracker: DemoOnlineTracker;
41
+ });
36
42
  login(input: LoginInput): AuthResponse;
37
43
  refresh(input: RefreshInput): AuthResponse;
38
44
  logout(accessToken: string, input?: LogoutInput): {
@@ -8,11 +8,15 @@ export class AuthService {
8
8
  authUserRepository;
9
9
  authTokenRepository;
10
10
  config;
11
- constructor(bootstrapStateRepository, authUserRepository, authTokenRepository, config) {
11
+ demoCleanupService;
12
+ demoOnlineTracker;
13
+ constructor(bootstrapStateRepository, authUserRepository, authTokenRepository, config, demoServices) {
12
14
  this.bootstrapStateRepository = bootstrapStateRepository;
13
15
  this.authUserRepository = authUserRepository;
14
16
  this.authTokenRepository = authTokenRepository;
15
17
  this.config = config;
18
+ this.demoCleanupService = demoServices?.cleanupService;
19
+ this.demoOnlineTracker = demoServices?.onlineTracker;
16
20
  }
17
21
  login(input) {
18
22
  this.ensureInitialized();
@@ -24,7 +28,7 @@ export class AuthService {
24
28
  detail: "用户名或密码错误"
25
29
  });
26
30
  }
27
- return {
31
+ const result = {
28
32
  ...this.issueTokenPair(user.id),
29
33
  user: {
30
34
  userId: user.id,
@@ -32,6 +36,11 @@ export class AuthService {
32
36
  role: user.role
33
37
  }
34
38
  };
39
+ // Demo 模式:追踪在线会话
40
+ if (this.demoOnlineTracker) {
41
+ this.demoOnlineTracker.trackLogin(user.id, hashToken(result.accessToken));
42
+ }
43
+ return result;
35
44
  }
36
45
  refresh(input) {
37
46
  this.ensureInitialized();
@@ -73,10 +82,21 @@ export class AuthService {
73
82
  }
74
83
  logout(accessToken, input) {
75
84
  const revokedAt = nowIso();
76
- this.authTokenRepository.revokeByHash(hashToken(accessToken), revokedAt);
85
+ const accessHash = hashToken(accessToken);
86
+ // 先查出用户 ID(用于 demo 在线追踪)
87
+ const accessRecord = this.authTokenRepository.findByHash(accessHash, "access");
88
+ const userId = accessRecord?.userId;
89
+ this.authTokenRepository.revokeByHash(accessHash, revokedAt);
77
90
  if (input?.refreshToken) {
78
91
  this.authTokenRepository.revokeByHash(hashToken(input.refreshToken), revokedAt);
79
92
  }
93
+ // Demo 模式:最后一个在线会话注销时清理所有业务数据
94
+ if (userId && this.demoOnlineTracker && this.demoCleanupService) {
95
+ const isLastSession = this.demoOnlineTracker.trackLogout(userId, accessHash);
96
+ if (isLastSession) {
97
+ this.demoCleanupService.cleanupAllUserData();
98
+ }
99
+ }
80
100
  return { success: true };
81
101
  }
82
102
  authenticateAccessToken(accessToken) {
@@ -1 +1 @@
1
- {"version":3,"file":"auth-service.js","sourceRoot":"","sources":["../../../../src/modules/auth/auth-service.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"auth-service.js","sourceRoot":"","sources":["../../../../src/modules/auth/auth-service.ts"],"names":[],"mappings":"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"}
@@ -9,9 +9,11 @@ export declare class BootstrapService {
9
9
  private readonly db;
10
10
  private readonly bootstrapStateRepository;
11
11
  private readonly authUserRepository;
12
- constructor(db: Database.Database, bootstrapStateRepository: BootstrapStateRepository, authUserRepository: AuthUserRepository);
12
+ private readonly demoMode;
13
+ constructor(db: Database.Database, bootstrapStateRepository: BootstrapStateRepository, authUserRepository: AuthUserRepository, demoMode?: boolean);
13
14
  getStatus(): {
14
15
  initialized: boolean;
16
+ demoMode?: boolean;
15
17
  };
16
18
  setup(input: SetupInput): {
17
19
  initialized: true;
@@ -6,13 +6,18 @@ export class BootstrapService {
6
6
  db;
7
7
  bootstrapStateRepository;
8
8
  authUserRepository;
9
- constructor(db, bootstrapStateRepository, authUserRepository) {
9
+ demoMode;
10
+ constructor(db, bootstrapStateRepository, authUserRepository, demoMode = false) {
10
11
  this.db = db;
11
12
  this.bootstrapStateRepository = bootstrapStateRepository;
12
13
  this.authUserRepository = authUserRepository;
14
+ this.demoMode = demoMode;
13
15
  }
14
16
  getStatus() {
15
- return { initialized: this.bootstrapStateRepository.getState().initialized };
17
+ return {
18
+ initialized: this.bootstrapStateRepository.getState().initialized,
19
+ ...(this.demoMode ? { demoMode: true } : {})
20
+ };
16
21
  }
17
22
  setup(input) {
18
23
  const normalizedInput = validateSetupInput(input);
@@ -1 +1 @@
1
- {"version":3,"file":"bootstrap-service.js","sourceRoot":"","sources":["../../../../src/modules/bootstrap/bootstrap-service.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,QAAQ,EAAE,MAAM,kCAAkC,CAAC;AAC5D,OAAO,EAAE,YAAY,EAAE,MAAM,4BAA4B,CAAC;AAC1D,OAAO,EAAE,QAAQ,EAAE,MAAM,0BAA0B,CAAC;AACpD,OAAO,EAAE,MAAM,EAAE,MAAM,4BAA4B,CAAC;AASpD,MAAM,OAAO,gBAAgB;IAER;IACA;IACA;IAHnB,YACmB,EAAqB,EACrB,wBAAkD,EAClD,kBAAsC;QAFtC,OAAE,GAAF,EAAE,CAAmB;QACrB,6BAAwB,GAAxB,wBAAwB,CAA0B;QAClD,uBAAkB,GAAlB,kBAAkB,CAAoB;IACtD,CAAC;IAEJ,SAAS;QACP,OAAO,EAAE,WAAW,EAAE,IAAI,CAAC,wBAAwB,CAAC,QAAQ,EAAE,CAAC,WAAW,EAAE,CAAC;IAC/E,CAAC;IAED,KAAK,CAAC,KAAiB;QACrB,MAAM,eAAe,GAAG,kBAAkB,CAAC,KAAK,CAAC,CAAC;QAClD,MAAM,KAAK,GAAG,IAAI,CAAC,wBAAwB,CAAC,QAAQ,EAAE,CAAC;QAEvD,IAAI,KAAK,CAAC,WAAW,IAAI,IAAI,CAAC,kBAAkB,CAAC,KAAK,EAAE,GAAG,CAAC,EAAE,CAAC;YAC7D,MAAM,IAAI,QAAQ,CAAC;gBACjB,UAAU,EAAE,GAAG;gBACf,SAAS,EAAE,wBAAwB;gBACnC,MAAM,EAAE,wBAAwB;aACjC,CAAC,CAAC;QACL,CAAC;QAED,MAAM,MAAM,GAAG,QAAQ,EAAE,CAAC;QAC1B,MAAM,SAAS,GAAG,MAAM,EAAE,CAAC;QAE3B,8BAA8B;QAC9B,MAAM,WAAW,GAAG,IAAI,CAAC,EAAE,CAAC,WAAW,CAAC,GAAG,EAAE;YAC3C,IAAI,CAAC,kBAAkB,CAAC,MAAM,CAAC;gBAC7B,EAAE,EAAE,MAAM;gBACV,QAAQ,EAAE,eAAe,CAAC,QAAQ;gBAClC,YAAY,EAAE,YAAY,CAAC,eAAe,CAAC,QAAQ,CAAC;gBACpD,IAAI,EAAE,OAAO;gBACb,SAAS,EAAE,SAAS;gBACpB,SAAS,EAAE,SAAS;aACrB,CAAC,CAAC;YAEH,IAAI,CAAC,wBAAwB,CAAC,eAAe,CAAC,SAAS,EAAE,MAAM,CAAC,CAAC;QACnE,CAAC,CAAC,CAAC;QAEH,WAAW,EAAE,CAAC;QAEd,OAAO;YACL,WAAW,EAAE,IAAI;YACjB,MAAM;SACP,CAAC;IACJ,CAAC;CACF;AAED,SAAS,kBAAkB,CAAC,KAAiB;IAC3C,MAAM,UAAU,GAAG;QACjB,QAAQ,EAAE,KAAK,CAAC,QAAQ,CAAC,IAAI,EAAE;QAC/B,QAAQ,EAAE,KAAK,CAAC,QAAQ;KACzB,CAAC;IAEF,IAAI,UAAU,CAAC,QAAQ,CAAC,MAAM,GAAG,CAAC,IAAI,UAAU,CAAC,QAAQ,CAAC,MAAM,GAAG,EAAE,EAAE,CAAC;QACtE,MAAM,IAAI,QAAQ,CAAC;YACjB,UAAU,EAAE,GAAG;YACf,SAAS,EAAE,eAAe;YAC1B,MAAM,EAAE,uBAAuB;YAC/B,KAAK,EAAE,UAAU;SAClB,CAAC,CAAC;IACL,CAAC;IAED,IAAI,UAAU,CAAC,QAAQ,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACnC,MAAM,IAAI,QAAQ,CAAC;YACjB,UAAU,EAAE,GAAG;YACf,SAAS,EAAE,eAAe;YAC1B,MAAM,EAAE,aAAa;YACrB,KAAK,EAAE,UAAU;SAClB,CAAC,CAAC;IACL,CAAC;IAED,OAAO,UAAU,CAAC;AACpB,CAAC"}
1
+ {"version":3,"file":"bootstrap-service.js","sourceRoot":"","sources":["../../../../src/modules/bootstrap/bootstrap-service.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,41 @@
1
+ import type Database from "better-sqlite3";
2
+ /**
3
+ * Demo 模式清理服务。
4
+ *
5
+ * 职责单一:清空所有业务数据但保留 demo 用户账户和引导状态。
6
+ * 清理后 demo 用户可以继续登录使用,获得一个全新的环境。
7
+ */
8
+ export declare class DemoCleanupService {
9
+ private readonly db;
10
+ private readonly dataRootDir;
11
+ constructor(db: Database.Database, databasePath: string);
12
+ /**
13
+ * 清空所有业务数据。
14
+ * 按 FK 依赖顺序从子表到父表删除,最后清理磁盘文件。
15
+ * 保留 auth_users(demo 账户)和 bootstrap_state(已初始化标记)。
16
+ */
17
+ cleanupAllUserData(): void;
18
+ private cleanupDatabase;
19
+ private cleanupDiskFiles;
20
+ }
21
+ /**
22
+ * Demo 模式在线会话追踪器。
23
+ *
24
+ * 用内存 Map 记录每个用户当前有效的 access token 数量,
25
+ * 用于判断"最后一个会话注销"的时机。
26
+ * 进程重启时 Map 清空,所有计数归零,这是可接受的——
27
+ * 重启后旧 token 失效(数据库中已无记录),用户需要重新登录。
28
+ */
29
+ export declare class DemoOnlineTracker {
30
+ /** userId -> Set<accessTokenHash> */
31
+ private readonly onlineTokens;
32
+ /** 用户上线(登录成功后调用) */
33
+ trackLogin(userId: string, accessTokenHash: string): void;
34
+ /**
35
+ * 用户下线(登出时调用)。
36
+ * @returns true 如果这是该用户的最后一个在线会话
37
+ */
38
+ trackLogout(userId: string, accessTokenHash: string): boolean;
39
+ /** 获取某个用户的在线会话数 */
40
+ getOnlineCount(userId: string): number;
41
+ }
@@ -0,0 +1,111 @@
1
+ import { mkdirSync, rmSync } from "node:fs";
2
+ import path from "node:path";
3
+ /**
4
+ * Demo 模式清理服务。
5
+ *
6
+ * 职责单一:清空所有业务数据但保留 demo 用户账户和引导状态。
7
+ * 清理后 demo 用户可以继续登录使用,获得一个全新的环境。
8
+ */
9
+ export class DemoCleanupService {
10
+ db;
11
+ dataRootDir;
12
+ constructor(db, databasePath) {
13
+ this.db = db;
14
+ this.dataRootDir = path.dirname(databasePath);
15
+ }
16
+ /**
17
+ * 清空所有业务数据。
18
+ * 按 FK 依赖顺序从子表到父表删除,最后清理磁盘文件。
19
+ * 保留 auth_users(demo 账户)和 bootstrap_state(已初始化标记)。
20
+ */
21
+ cleanupAllUserData() {
22
+ this.cleanupDatabase();
23
+ this.cleanupDiskFiles();
24
+ }
25
+ cleanupDatabase() {
26
+ const deleteAll = (table) => this.db.prepare(`DELETE FROM ${table}`).run();
27
+ this.db.transaction(() => {
28
+ // 会话叶子表(无下游依赖)
29
+ deleteAll("session_file_context_bindings");
30
+ deleteAll("session_send_queue");
31
+ deleteAll("session_message_attachments");
32
+ deleteAll("session_changed_file_states");
33
+ deleteAll("session_changed_files");
34
+ deleteAll("session_status_snapshots");
35
+ deleteAll("session_states");
36
+ // 会话核心表
37
+ deleteAll("session_indices");
38
+ deleteAll("session_bindings");
39
+ // 终端叶子表(虽然 terminal_log 有 CASCADE,但手动删更清晰)
40
+ deleteAll("terminal_log_segments");
41
+ deleteAll("terminal_log_files");
42
+ deleteAll("terminal_runtime_sessions");
43
+ // 终端核心表
44
+ deleteAll("terminal_instances");
45
+ deleteAll("terminal_command_templates");
46
+ // 用户数据表
47
+ deleteAll("recent_files");
48
+ deleteAll("user_preference_profiles");
49
+ deleteAll("user_quick_phrase_preferences");
50
+ // 工作区子表 + 根表
51
+ deleteAll("commit_rule_profiles");
52
+ deleteAll("workspaces");
53
+ // 认证 token(保留用户账户)
54
+ deleteAll("auth_tokens");
55
+ })();
56
+ }
57
+ cleanupDiskFiles() {
58
+ const dirs = ["terminal-logs", "session-attachments"];
59
+ for (const dir of dirs) {
60
+ const fullPath = path.join(this.dataRootDir, dir);
61
+ try {
62
+ rmSync(fullPath, { recursive: true, force: true });
63
+ mkdirSync(fullPath, { recursive: true });
64
+ }
65
+ catch {
66
+ // 目录可能不存在,忽略
67
+ }
68
+ }
69
+ }
70
+ }
71
+ /**
72
+ * Demo 模式在线会话追踪器。
73
+ *
74
+ * 用内存 Map 记录每个用户当前有效的 access token 数量,
75
+ * 用于判断"最后一个会话注销"的时机。
76
+ * 进程重启时 Map 清空,所有计数归零,这是可接受的——
77
+ * 重启后旧 token 失效(数据库中已无记录),用户需要重新登录。
78
+ */
79
+ export class DemoOnlineTracker {
80
+ /** userId -> Set<accessTokenHash> */
81
+ onlineTokens = new Map();
82
+ /** 用户上线(登录成功后调用) */
83
+ trackLogin(userId, accessTokenHash) {
84
+ let tokens = this.onlineTokens.get(userId);
85
+ if (!tokens) {
86
+ tokens = new Set();
87
+ this.onlineTokens.set(userId, tokens);
88
+ }
89
+ tokens.add(accessTokenHash);
90
+ }
91
+ /**
92
+ * 用户下线(登出时调用)。
93
+ * @returns true 如果这是该用户的最后一个在线会话
94
+ */
95
+ trackLogout(userId, accessTokenHash) {
96
+ const tokens = this.onlineTokens.get(userId);
97
+ if (!tokens)
98
+ return true;
99
+ tokens.delete(accessTokenHash);
100
+ if (tokens.size === 0) {
101
+ this.onlineTokens.delete(userId);
102
+ return true;
103
+ }
104
+ return false;
105
+ }
106
+ /** 获取某个用户的在线会话数 */
107
+ getOnlineCount(userId) {
108
+ return this.onlineTokens.get(userId)?.size ?? 0;
109
+ }
110
+ }
111
+ //# sourceMappingURL=demo-cleanup-service.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"demo-cleanup-service.js","sourceRoot":"","sources":["../../../../src/modules/demo/demo-cleanup-service.ts"],"names":[],"mappings":"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"}
@@ -12,5 +12,6 @@ export declare class CodexAppServerHelperClient {
12
12
  private handleMessageLine;
13
13
  private sendMessage;
14
14
  private rejectTransportPending;
15
+ private notifyTransportClosed;
15
16
  private failAll;
16
17
  }
@@ -47,6 +47,7 @@ export class CodexAppServerHelperClient {
47
47
  serverRequestHandler: async () => {
48
48
  throw new Error("CODEX_APP_SERVER_REQUEST_NOT_SUPPORTED");
49
49
  },
50
+ closeHandler: null,
50
51
  closed: false
51
52
  };
52
53
  this.transports.set(transportId, state);
@@ -110,6 +111,12 @@ export class CodexAppServerHelperClient {
110
111
  setServerRequestHandler(handler) {
111
112
  state.serverRequestHandler = handler;
112
113
  },
114
+ setOnClose(handler) {
115
+ state.closeHandler = handler;
116
+ },
117
+ isClosed() {
118
+ return state.closed;
119
+ },
113
120
  close: () => {
114
121
  if (state.closed) {
115
122
  return;
@@ -122,6 +129,7 @@ export class CodexAppServerHelperClient {
122
129
  method: "close"
123
130
  });
124
131
  this.rejectTransportPending(state, new Error("CODEX_APP_SERVER_CLOSED"));
132
+ this.notifyTransportClosed(state, null);
125
133
  this.transports.delete(transportId);
126
134
  }
127
135
  };
@@ -194,6 +202,7 @@ export class CodexAppServerHelperClient {
194
202
  case "transport_closed":
195
203
  state.closed = true;
196
204
  this.rejectTransportPending(state, new Error(message.detail ?? "CODEX_APP_SERVER_CLOSED"));
205
+ this.notifyTransportClosed(state, message.detail ? new Error(message.detail) : null);
197
206
  this.transports.delete(message.transportId);
198
207
  }
199
208
  }
@@ -214,9 +223,23 @@ export class CodexAppServerHelperClient {
214
223
  }
215
224
  state.pendingResponses.clear();
216
225
  }
226
+ notifyTransportClosed(state, error) {
227
+ if (!state.closeHandler) {
228
+ return;
229
+ }
230
+ try {
231
+ state.closeHandler(error);
232
+ }
233
+ catch {
234
+ return;
235
+ }
236
+ }
217
237
  failAll(error) {
238
+ const normalizedError = error instanceof Error ? error : new Error(String(error));
218
239
  for (const state of this.transports.values()) {
219
- this.rejectTransportPending(state, error instanceof Error ? error : new Error(String(error)));
240
+ state.closed = true;
241
+ this.rejectTransportPending(state, normalizedError);
242
+ this.notifyTransportClosed(state, normalizedError);
220
243
  }
221
244
  this.transports.clear();
222
245
  }
@@ -1 +1 @@
1
- {"version":3,"file":"codex-app-server-helper-client.js","sourceRoot":"","sources":["../../../../src/modules/sessions/codex-app-server-helper-client.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAuC,MAAM,oBAAoB,CAAC;AAChF,OAAO,IAAI,MAAM,WAAW,CAAC;AAC7B,OAAO,QAAQ,MAAM,eAAe,CAAC;AACrC,OAAO,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC;AAiFzC,MAAM,OAAO,0BAA0B;IACpB,KAAK,CAAiC;IACtC,YAAY,CAAqB;IACjC,UAAU,GAAG,IAAI,GAAG,EAAiC,CAAC;IAC/D,eAAe,GAAG,CAAC,CAAC;IACpB,aAAa,GAAG,CAAC,CAAC;IAClB,QAAQ,GAAG,KAAK,CAAC;IAEzB,YAAY,WAAmB;QAC7B,MAAM,MAAM,GAAG,mBAAmB,CAAC,WAAW,CAAC,CAAC;QAChD,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC,MAAM,CAAC,OAAO,EAAE,MAAM,CAAC,IAAI,EAAE;YAC9C,GAAG,EAAE,OAAO,CAAC,GAAG,EAAE;YAClB,GAAG,EAAE,OAAO,CAAC,GAAG;YAChB,KAAK,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC;SAChC,CAAC,CAAC;QACH,IAAI,CAAC,YAAY,GAAG,QAAQ,CAAC,eAAe,CAAC;YAC3C,KAAK,EAAE,IAAI,CAAC,KAAK,CAAC,MAAM;SACzB,CAAC,CAAC;QAEH,IAAI,CAAC,YAAY,CAAC,EAAE,CAAC,MAAM,EAAE,CAAC,IAAI,EAAE,EAAE;YACpC,KAAK,IAAI,CAAC,iBAAiB,CAAC,IAAI,CAAC,CAAC;QACpC,CAAC,CAAC,CAAC;QACH,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,EAAE,CAAC,MAAM,EAAE,CAAC,KAAK,EAAE,EAAE;YACrC,MAAM,OAAO,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC,IAAI,EAAE,CAAC;YAErC,IAAI,CAAC,OAAO,EAAE,CAAC;gBACb,OAAO;YACT,CAAC;YAED,OAAO,CAAC,IAAI,CAAC,6BAA6B,OAAO,EAAE,CAAC,CAAC;QACvD,CAAC,CAAC,CAAC;QACH,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,OAAO,EAAE,CAAC,KAAK,EAAE,EAAE;YAC/B,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;QACtB,CAAC,CAAC,CAAC;QACH,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,MAAM,EAAE,CAAC,IAAI,EAAE,MAAM,EAAE,EAAE;YACrC,IAAI,IAAI,CAAC,QAAQ,IAAI,CAAC,IAAI,KAAK,CAAC,IAAI,MAAM,KAAK,SAAS,CAAC,EAAE,CAAC;gBAC1D,OAAO;YACT,CAAC;YAED,IAAI,CAAC,OAAO,CAAC,IAAI,KAAK,CAAC,oCAAoC,IAAI,IAAI,MAAM,WAAW,MAAM,IAAI,MAAM,EAAE,CAAC,CAAC,CAAC;QAC3G,CAAC,CAAC,CAAC;IACL,CAAC;IAED,eAAe;QACb,MAAM,WAAW,GAAG,MAAM,CAAC,IAAI,CAAC,eAAe,EAAE,CAAC,CAAC;QACnD,MAAM,KAAK,GAA0B;YACnC,gBAAgB,EAAE,IAAI,GAAG,EAAE;YAC3B,mBAAmB,EAAE,GAAG,EAAE,CAAC,SAAS;YACpC,oBAAoB,EAAE,KAAK,IAAI,EAAE;gBAC/B,MAAM,IAAI,KAAK,CAAC,wCAAwC,CAAC,CAAC;YAC5D,CAAC;YACD,MAAM,EAAE,KAAK;SACd,CAAC;QAEF,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,WAAW,EAAE,KAAK,CAAC,CAAC;QAExC,MAAM,OAAO,GAAG,KAAK,EACnB,MAA+E,EAC/E,QAGI,EAAE,EAC4B,EAAE;YACpC,IAAI,KAAK,CAAC,MAAM,EAAE,CAAC;gBACjB,MAAM,IAAI,KAAK,CAAC,yBAAyB,CAAC,CAAC;YAC7C,CAAC;YAED,MAAM,SAAS,GAAG,MAAM,CAAC,IAAI,CAAC,aAAa,EAAE,CAAC,CAAC;YAE/C,OAAO,MAAM,IAAI,OAAO,CAA0B,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;gBACpE,KAAK,CAAC,gBAAgB,CAAC,GAAG,CAAC,SAAS,EAAE;oBACpC,OAAO;oBACP,MAAM;iBACP,CAAC,CAAC;gBAEH,IAAI,CAAC,WAAW,CAAC;oBACf,IAAI,EAAE,mBAAmB;oBACzB,WAAW;oBACX,SAAS;oBACT,MAAM;oBACN,GAAG,KAAK;iBACT,CAAC,CAAC,KAAK,CAAC,CAAC,KAAK,EAAE,EAAE;oBACjB,KAAK,CAAC,gBAAgB,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC;oBACzC,MAAM,CAAC,KAAK,CAAC,CAAC;gBAChB,CAAC,CAAC,CAAC;YACL,CAAC,CAAC,CAAC;QACL,CAAC,CAAC;QAEF,OAAO;YACL,KAAK,CAAC,UAAU;gBACd,MAAM,OAAO,CAAC,YAAY,CAAC,CAAC;YAC9B,CAAC;YACD,KAAK,CAAC,WAAW,CAAC,cAAc;gBAC9B,MAAM,MAAM,GAAG,MAAM,OAAO,CAAC,aAAa,EAAE;oBAC1C,OAAO,EAAE,cAAc;iBACxB,CAAC,CAAC;gBACH,OAAO;oBACL,iBAAiB,EAAE,MAAM,CAAC,MAAM,CAAC,iBAAiB,IAAI,EAAE,CAAC;oBACzD,WAAW,EAAE,uBAAuB,CAAC,MAAM,CAAC,WAAW,CAAC;iBACzD,CAAC;YACJ,CAAC;YACD,KAAK,CAAC,YAAY,CAAC,cAAc,EAAE,iBAAiB;gBAClD,MAAM,MAAM,GAAG,MAAM,OAAO,CAAC,cAAc,EAAE;oBAC3C,OAAO,EAAE,cAAc;oBACvB,iBAAiB;iBAClB,CAAC,CAAC;gBACH,OAAO;oBACL,iBAAiB,EAAE,MAAM,CAAC,MAAM,CAAC,iBAAiB,IAAI,iBAAiB,CAAC;oBACxE,WAAW,EAAE,uBAAuB,CAAC,MAAM,CAAC,WAAW,CAAC;iBACzD,CAAC;YACJ,CAAC;YACD,KAAK,CAAC,SAAS,CAAC,cAAc,EAAE,iBAAiB;gBAC/C,MAAM,OAAO,CAAC,WAAW,EAAE;oBACzB,OAAO,EAAE,cAAc;oBACvB,iBAAiB;iBAClB,CAAC,CAAC;YACL,CAAC;YACD,KAAK,CAAC,aAAa;gBACjB,MAAM,OAAO,CAAC,eAAe,CAAC,CAAC;YACjC,CAAC;YACD,sBAAsB,CAAC,OAAO;gBAC5B,KAAK,CAAC,mBAAmB,GAAG,OAAO,CAAC;YACtC,CAAC;YACD,uBAAuB,CAAC,OAAO;gBAC7B,KAAK,CAAC,oBAAoB,GAAG,OAAO,CAAC;YACvC,CAAC;YACD,KAAK,EAAE,GAAG,EAAE;gBACV,IAAI,KAAK,CAAC,MAAM,EAAE,CAAC;oBACjB,OAAO;gBACT,CAAC;gBAED,KAAK,CAAC,MAAM,GAAG,IAAI,CAAC;gBACpB,KAAK,IAAI,CAAC,WAAW,CAAC;oBACpB,IAAI,EAAE,mBAAmB;oBACzB,WAAW;oBACX,SAAS,EAAE,MAAM,CAAC,IAAI,CAAC,aAAa,EAAE,CAAC;oBACvC,MAAM,EAAE,OAAO;iBAChB,CAAC,CAAC;gBACH,IAAI,CAAC,sBAAsB,CAAC,KAAK,EAAE,IAAI,KAAK,CAAC,yBAAyB,CAAC,CAAC,CAAC;gBACzE,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC;YACtC,CAAC;SACF,CAAC;IACJ,CAAC;IAED,OAAO;QACL,IAAI,IAAI,CAAC,QAAQ,EAAE,CAAC;YAClB,OAAO;QACT,CAAC;QAED,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC;QACrB,IAAI,CAAC,YAAY,CAAC,KAAK,EAAE,CAAC;QAC1B,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;QAC3B,IAAI,CAAC,OAAO,CAAC,IAAI,KAAK,CAAC,6BAA6B,CAAC,CAAC,CAAC;IACzD,CAAC;IAEO,KAAK,CAAC,iBAAiB,CAAC,IAAY;QAC1C,MAAM,OAAO,GAAG,IAAI,CAAC,IAAI,EAAE,CAAC;QAE5B,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,GAAG,CAAC,EAAE,CAAC;YAC7B,OAAO,CAAC,IAAI,CAAC,sCAAsC,OAAO,EAAE,CAAC,CAAC;YAC9D,OAAO;QACT,CAAC;QAED,IAAI,OAA8B,CAAC;QAEnC,IAAI,CAAC;YACH,OAAO,GAAG,IAAI,CAAC,KAAK,CAAC,OAAO,CAA0B,CAAC;QACzD,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,OAAO,CAAC,IAAI,CAAC,kCAAkC,EAAE,KAAK,CAAC,CAAC;YACxD,OAAO;QACT,CAAC;QAED,MAAM,KAAK,GAAG,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC;QAEvD,IAAI,CAAC,KAAK,EAAE,CAAC;YACX,OAAO;QACT,CAAC;QAED,QAAQ,OAAO,CAAC,IAAI,EAAE,CAAC;YACrB,KAAK,UAAU,CAAC,CAAC,CAAC;gBAChB,MAAM,OAAO,GAAG,KAAK,CAAC,gBAAgB,CAAC,GAAG,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;gBAE9D,IAAI,CAAC,OAAO,EAAE,CAAC;oBACb,OAAO;gBACT,CAAC;gBAED,KAAK,CAAC,gBAAgB,CAAC,MAAM,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;gBAEjD,IAAI,OAAO,CAAC,EAAE,EAAE,CAAC;oBACf,OAAO,CAAC,OAAO,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;oBAChC,OAAO;gBACT,CAAC;gBAED,OAAO,CAAC,MAAM,CAAC,IAAI,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC;gBACzC,OAAO;YACT,CAAC;YACD,KAAK,cAAc;gBACjB,MAAM,KAAK,CAAC,mBAAmB,CAAC,OAAO,CAAC,YAAY,CAAC,CAAC;gBACtD,OAAO;YACT,KAAK,gBAAgB;gBACnB,IAAI,CAAC;oBACH,MAAM,MAAM,GAAG,MAAM,KAAK,CAAC,oBAAoB,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;oBACjE,MAAM,IAAI,CAAC,WAAW,CAAC;wBACrB,IAAI,EAAE,uBAAuB;wBAC7B,WAAW,EAAE,OAAO,CAAC,WAAW;wBAChC,SAAS,EAAE,OAAO,CAAC,SAAS;wBAC5B,EAAE,EAAE,IAAI;wBACR,MAAM;qBACP,CAAC,CAAC;gBACL,CAAC;gBAAC,OAAO,KAAK,EAAE,CAAC;oBACf,MAAM,IAAI,CAAC,WAAW,CAAC;wBACrB,IAAI,EAAE,uBAAuB;wBAC7B,WAAW,EAAE,OAAO,CAAC,WAAW;wBAChC,SAAS,EAAE,OAAO,CAAC,SAAS;wBAC5B,EAAE,EAAE,KAAK;wBACT,KAAK,EAAE,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC;qBAC9D,CAAC,CAAC;gBACL,CAAC;gBACD,OAAO;YACT,KAAK,kBAAkB;gBACrB,KAAK,CAAC,MAAM,GAAG,IAAI,CAAC;gBACpB,IAAI,CAAC,sBAAsB,CAAC,KAAK,EAAE,IAAI,KAAK,CAAC,OAAO,CAAC,MAAM,IAAI,yBAAyB,CAAC,CAAC,CAAC;gBAC3F,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC;QAChD,CAAC;IACH,CAAC;IAEO,KAAK,CAAC,WAAW,CAAC,OAA8B;QACtD,MAAM,IAAI,OAAO,CAAO,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;YAC1C,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,KAAK,CAAC,GAAG,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,IAAI,EAAE,CAAC,KAAK,EAAE,EAAE;gBAC/D,IAAI,KAAK,EAAE,CAAC;oBACV,MAAM,CAAC,KAAK,CAAC,CAAC;oBACd,OAAO;gBACT,CAAC;gBAED,OAAO,EAAE,CAAC;YACZ,CAAC,CAAC,CAAC;QACL,CAAC,CAAC,CAAC;IACL,CAAC;IAEO,sBAAsB,CAAC,KAA4B,EAAE,KAAY;QACvE,KAAK,MAAM,OAAO,IAAI,KAAK,CAAC,gBAAgB,CAAC,MAAM,EAAE,EAAE,CAAC;YACtD,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;QACxB,CAAC;QACD,KAAK,CAAC,gBAAgB,CAAC,KAAK,EAAE,CAAC;IACjC,CAAC;IAEO,OAAO,CAAC,KAAc;QAC5B,KAAK,MAAM,KAAK,IAAI,IAAI,CAAC,UAAU,CAAC,MAAM,EAAE,EAAE,CAAC;YAC7C,IAAI,CAAC,sBAAsB,CACzB,KAAK,EACL,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAC1D,CAAC;QACJ,CAAC;QACD,IAAI,CAAC,UAAU,CAAC,KAAK,EAAE,CAAC;IAC1B,CAAC;CACF;AAED,SAAS,mBAAmB,CAAC,WAAmB;IAC9C,MAAM,eAAe,GAAG,aAAa,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;IACvD,MAAM,SAAS,GAAG,IAAI,CAAC,OAAO,CAAC,eAAe,CAAC,CAAC;IAChD,MAAM,UAAU,GAAG,eAAe,CAAC,OAAO,CACxC,0CAA0C,EAC1C,kCAAkC,SAAS,EAAE,CAC9C,CAAC;IACF,MAAM,QAAQ,GAAG,SAAS,KAAK,KAAK,CAAC,CAAC,CAAC,CAAC,UAAU,EAAE,KAAK,EAAE,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC;IAEtF,OAAO;QACL,OAAO,EAAE,OAAO,CAAC,QAAQ;QACzB,IAAI,EAAE,CAAC,GAAG,QAAQ,EAAE,gBAAgB,EAAE,WAAW,CAAC;KACnD,CAAC;AACJ,CAAC;AAED,SAAS,uBAAuB,CAAC,KAAc;IAC7C,OAAO,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC;AACtE,CAAC"}
1
+ {"version":3,"file":"codex-app-server-helper-client.js","sourceRoot":"","sources":["../../../../src/modules/sessions/codex-app-server-helper-client.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAuC,MAAM,oBAAoB,CAAC;AAChF,OAAO,IAAI,MAAM,WAAW,CAAC;AAC7B,OAAO,QAAQ,MAAM,eAAe,CAAC;AACrC,OAAO,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC;AAkFzC,MAAM,OAAO,0BAA0B;IACpB,KAAK,CAAiC;IACtC,YAAY,CAAqB;IACjC,UAAU,GAAG,IAAI,GAAG,EAAiC,CAAC;IAC/D,eAAe,GAAG,CAAC,CAAC;IACpB,aAAa,GAAG,CAAC,CAAC;IAClB,QAAQ,GAAG,KAAK,CAAC;IAEzB,YAAY,WAAmB;QAC7B,MAAM,MAAM,GAAG,mBAAmB,CAAC,WAAW,CAAC,CAAC;QAChD,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC,MAAM,CAAC,OAAO,EAAE,MAAM,CAAC,IAAI,EAAE;YAC9C,GAAG,EAAE,OAAO,CAAC,GAAG,EAAE;YAClB,GAAG,EAAE,OAAO,CAAC,GAAG;YAChB,KAAK,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC;SAChC,CAAC,CAAC;QACH,IAAI,CAAC,YAAY,GAAG,QAAQ,CAAC,eAAe,CAAC;YAC3C,KAAK,EAAE,IAAI,CAAC,KAAK,CAAC,MAAM;SACzB,CAAC,CAAC;QAEH,IAAI,CAAC,YAAY,CAAC,EAAE,CAAC,MAAM,EAAE,CAAC,IAAI,EAAE,EAAE;YACpC,KAAK,IAAI,CAAC,iBAAiB,CAAC,IAAI,CAAC,CAAC;QACpC,CAAC,CAAC,CAAC;QACH,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,EAAE,CAAC,MAAM,EAAE,CAAC,KAAK,EAAE,EAAE;YACrC,MAAM,OAAO,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC,IAAI,EAAE,CAAC;YAErC,IAAI,CAAC,OAAO,EAAE,CAAC;gBACb,OAAO;YACT,CAAC;YAED,OAAO,CAAC,IAAI,CAAC,6BAA6B,OAAO,EAAE,CAAC,CAAC;QACvD,CAAC,CAAC,CAAC;QACH,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,OAAO,EAAE,CAAC,KAAK,EAAE,EAAE;YAC/B,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;QACtB,CAAC,CAAC,CAAC;QACH,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,MAAM,EAAE,CAAC,IAAI,EAAE,MAAM,EAAE,EAAE;YACrC,IAAI,IAAI,CAAC,QAAQ,IAAI,CAAC,IAAI,KAAK,CAAC,IAAI,MAAM,KAAK,SAAS,CAAC,EAAE,CAAC;gBAC1D,OAAO;YACT,CAAC;YAED,IAAI,CAAC,OAAO,CAAC,IAAI,KAAK,CAAC,oCAAoC,IAAI,IAAI,MAAM,WAAW,MAAM,IAAI,MAAM,EAAE,CAAC,CAAC,CAAC;QAC3G,CAAC,CAAC,CAAC;IACL,CAAC;IAED,eAAe;QACb,MAAM,WAAW,GAAG,MAAM,CAAC,IAAI,CAAC,eAAe,EAAE,CAAC,CAAC;QACnD,MAAM,KAAK,GAA0B;YACnC,gBAAgB,EAAE,IAAI,GAAG,EAAE;YAC3B,mBAAmB,EAAE,GAAG,EAAE,CAAC,SAAS;YACpC,oBAAoB,EAAE,KAAK,IAAI,EAAE;gBAC/B,MAAM,IAAI,KAAK,CAAC,wCAAwC,CAAC,CAAC;YAC5D,CAAC;YACD,YAAY,EAAE,IAAI;YAClB,MAAM,EAAE,KAAK;SACd,CAAC;QAEF,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,WAAW,EAAE,KAAK,CAAC,CAAC;QAExC,MAAM,OAAO,GAAG,KAAK,EACnB,MAA+E,EAC/E,QAGI,EAAE,EAC4B,EAAE;YACpC,IAAI,KAAK,CAAC,MAAM,EAAE,CAAC;gBACjB,MAAM,IAAI,KAAK,CAAC,yBAAyB,CAAC,CAAC;YAC7C,CAAC;YAED,MAAM,SAAS,GAAG,MAAM,CAAC,IAAI,CAAC,aAAa,EAAE,CAAC,CAAC;YAE/C,OAAO,MAAM,IAAI,OAAO,CAA0B,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;gBACpE,KAAK,CAAC,gBAAgB,CAAC,GAAG,CAAC,SAAS,EAAE;oBACpC,OAAO;oBACP,MAAM;iBACP,CAAC,CAAC;gBAEH,IAAI,CAAC,WAAW,CAAC;oBACf,IAAI,EAAE,mBAAmB;oBACzB,WAAW;oBACX,SAAS;oBACT,MAAM;oBACN,GAAG,KAAK;iBACT,CAAC,CAAC,KAAK,CAAC,CAAC,KAAK,EAAE,EAAE;oBACjB,KAAK,CAAC,gBAAgB,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC;oBACzC,MAAM,CAAC,KAAK,CAAC,CAAC;gBAChB,CAAC,CAAC,CAAC;YACL,CAAC,CAAC,CAAC;QACL,CAAC,CAAC;QAEF,OAAO;YACL,KAAK,CAAC,UAAU;gBACd,MAAM,OAAO,CAAC,YAAY,CAAC,CAAC;YAC9B,CAAC;YACD,KAAK,CAAC,WAAW,CAAC,cAAc;gBAC9B,MAAM,MAAM,GAAG,MAAM,OAAO,CAAC,aAAa,EAAE;oBAC1C,OAAO,EAAE,cAAc;iBACxB,CAAC,CAAC;gBACH,OAAO;oBACL,iBAAiB,EAAE,MAAM,CAAC,MAAM,CAAC,iBAAiB,IAAI,EAAE,CAAC;oBACzD,WAAW,EAAE,uBAAuB,CAAC,MAAM,CAAC,WAAW,CAAC;iBACzD,CAAC;YACJ,CAAC;YACD,KAAK,CAAC,YAAY,CAAC,cAAc,EAAE,iBAAiB;gBAClD,MAAM,MAAM,GAAG,MAAM,OAAO,CAAC,cAAc,EAAE;oBAC3C,OAAO,EAAE,cAAc;oBACvB,iBAAiB;iBAClB,CAAC,CAAC;gBACH,OAAO;oBACL,iBAAiB,EAAE,MAAM,CAAC,MAAM,CAAC,iBAAiB,IAAI,iBAAiB,CAAC;oBACxE,WAAW,EAAE,uBAAuB,CAAC,MAAM,CAAC,WAAW,CAAC;iBACzD,CAAC;YACJ,CAAC;YACD,KAAK,CAAC,SAAS,CAAC,cAAc,EAAE,iBAAiB;gBAC/C,MAAM,OAAO,CAAC,WAAW,EAAE;oBACzB,OAAO,EAAE,cAAc;oBACvB,iBAAiB;iBAClB,CAAC,CAAC;YACL,CAAC;YACD,KAAK,CAAC,aAAa;gBACjB,MAAM,OAAO,CAAC,eAAe,CAAC,CAAC;YACjC,CAAC;YACD,sBAAsB,CAAC,OAAO;gBAC5B,KAAK,CAAC,mBAAmB,GAAG,OAAO,CAAC;YACtC,CAAC;YACD,uBAAuB,CAAC,OAAO;gBAC7B,KAAK,CAAC,oBAAoB,GAAG,OAAO,CAAC;YACvC,CAAC;YACD,UAAU,CAAC,OAAO;gBAChB,KAAK,CAAC,YAAY,GAAG,OAAO,CAAC;YAC/B,CAAC;YACD,QAAQ;gBACN,OAAO,KAAK,CAAC,MAAM,CAAC;YACtB,CAAC;YACD,KAAK,EAAE,GAAG,EAAE;gBACV,IAAI,KAAK,CAAC,MAAM,EAAE,CAAC;oBACjB,OAAO;gBACT,CAAC;gBAED,KAAK,CAAC,MAAM,GAAG,IAAI,CAAC;gBACpB,KAAK,IAAI,CAAC,WAAW,CAAC;oBACpB,IAAI,EAAE,mBAAmB;oBACzB,WAAW;oBACX,SAAS,EAAE,MAAM,CAAC,IAAI,CAAC,aAAa,EAAE,CAAC;oBACvC,MAAM,EAAE,OAAO;iBAChB,CAAC,CAAC;gBACH,IAAI,CAAC,sBAAsB,CAAC,KAAK,EAAE,IAAI,KAAK,CAAC,yBAAyB,CAAC,CAAC,CAAC;gBACzE,IAAI,CAAC,qBAAqB,CAAC,KAAK,EAAE,IAAI,CAAC,CAAC;gBACxC,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC;YACtC,CAAC;SACF,CAAC;IACJ,CAAC;IAED,OAAO;QACL,IAAI,IAAI,CAAC,QAAQ,EAAE,CAAC;YAClB,OAAO;QACT,CAAC;QAED,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC;QACrB,IAAI,CAAC,YAAY,CAAC,KAAK,EAAE,CAAC;QAC1B,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;QAC3B,IAAI,CAAC,OAAO,CAAC,IAAI,KAAK,CAAC,6BAA6B,CAAC,CAAC,CAAC;IACzD,CAAC;IAEO,KAAK,CAAC,iBAAiB,CAAC,IAAY;QAC1C,MAAM,OAAO,GAAG,IAAI,CAAC,IAAI,EAAE,CAAC;QAE5B,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,GAAG,CAAC,EAAE,CAAC;YAC7B,OAAO,CAAC,IAAI,CAAC,sCAAsC,OAAO,EAAE,CAAC,CAAC;YAC9D,OAAO;QACT,CAAC;QAED,IAAI,OAA8B,CAAC;QAEnC,IAAI,CAAC;YACH,OAAO,GAAG,IAAI,CAAC,KAAK,CAAC,OAAO,CAA0B,CAAC;QACzD,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,OAAO,CAAC,IAAI,CAAC,kCAAkC,EAAE,KAAK,CAAC,CAAC;YACxD,OAAO;QACT,CAAC;QAED,MAAM,KAAK,GAAG,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC;QAEvD,IAAI,CAAC,KAAK,EAAE,CAAC;YACX,OAAO;QACT,CAAC;QAED,QAAQ,OAAO,CAAC,IAAI,EAAE,CAAC;YACrB,KAAK,UAAU,CAAC,CAAC,CAAC;gBAChB,MAAM,OAAO,GAAG,KAAK,CAAC,gBAAgB,CAAC,GAAG,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;gBAE9D,IAAI,CAAC,OAAO,EAAE,CAAC;oBACb,OAAO;gBACT,CAAC;gBAED,KAAK,CAAC,gBAAgB,CAAC,MAAM,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;gBAEjD,IAAI,OAAO,CAAC,EAAE,EAAE,CAAC;oBACf,OAAO,CAAC,OAAO,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;oBAChC,OAAO;gBACT,CAAC;gBAED,OAAO,CAAC,MAAM,CAAC,IAAI,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC;gBACzC,OAAO;YACT,CAAC;YACD,KAAK,cAAc;gBACjB,MAAM,KAAK,CAAC,mBAAmB,CAAC,OAAO,CAAC,YAAY,CAAC,CAAC;gBACtD,OAAO;YACT,KAAK,gBAAgB;gBACnB,IAAI,CAAC;oBACH,MAAM,MAAM,GAAG,MAAM,KAAK,CAAC,oBAAoB,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;oBACjE,MAAM,IAAI,CAAC,WAAW,CAAC;wBACrB,IAAI,EAAE,uBAAuB;wBAC7B,WAAW,EAAE,OAAO,CAAC,WAAW;wBAChC,SAAS,EAAE,OAAO,CAAC,SAAS;wBAC5B,EAAE,EAAE,IAAI;wBACR,MAAM;qBACP,CAAC,CAAC;gBACL,CAAC;gBAAC,OAAO,KAAK,EAAE,CAAC;oBACf,MAAM,IAAI,CAAC,WAAW,CAAC;wBACrB,IAAI,EAAE,uBAAuB;wBAC7B,WAAW,EAAE,OAAO,CAAC,WAAW;wBAChC,SAAS,EAAE,OAAO,CAAC,SAAS;wBAC5B,EAAE,EAAE,KAAK;wBACT,KAAK,EAAE,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC;qBAC9D,CAAC,CAAC;gBACL,CAAC;gBACD,OAAO;YACT,KAAK,kBAAkB;gBACrB,KAAK,CAAC,MAAM,GAAG,IAAI,CAAC;gBACpB,IAAI,CAAC,sBAAsB,CAAC,KAAK,EAAE,IAAI,KAAK,CAAC,OAAO,CAAC,MAAM,IAAI,yBAAyB,CAAC,CAAC,CAAC;gBAC3F,IAAI,CAAC,qBAAqB,CACxB,KAAK,EACL,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,IAAI,CAClD,CAAC;gBACF,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC;QAChD,CAAC;IACH,CAAC;IAEO,KAAK,CAAC,WAAW,CAAC,OAA8B;QACtD,MAAM,IAAI,OAAO,CAAO,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;YAC1C,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,KAAK,CAAC,GAAG,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,IAAI,EAAE,CAAC,KAAK,EAAE,EAAE;gBAC/D,IAAI,KAAK,EAAE,CAAC;oBACV,MAAM,CAAC,KAAK,CAAC,CAAC;oBACd,OAAO;gBACT,CAAC;gBAED,OAAO,EAAE,CAAC;YACZ,CAAC,CAAC,CAAC;QACL,CAAC,CAAC,CAAC;IACL,CAAC;IAEO,sBAAsB,CAAC,KAA4B,EAAE,KAAY;QACvE,KAAK,MAAM,OAAO,IAAI,KAAK,CAAC,gBAAgB,CAAC,MAAM,EAAE,EAAE,CAAC;YACtD,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;QACxB,CAAC;QACD,KAAK,CAAC,gBAAgB,CAAC,KAAK,EAAE,CAAC;IACjC,CAAC;IAEO,qBAAqB,CAAC,KAA4B,EAAE,KAAmB;QAC7E,IAAI,CAAC,KAAK,CAAC,YAAY,EAAE,CAAC;YACxB,OAAO;QACT,CAAC;QAED,IAAI,CAAC;YACH,KAAK,CAAC,YAAY,CAAC,KAAK,CAAC,CAAC;QAC5B,CAAC;QAAC,MAAM,CAAC;YACP,OAAO;QACT,CAAC;IACH,CAAC;IAEO,OAAO,CAAC,KAAc;QAC5B,MAAM,eAAe,GAAG,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC;QAElF,KAAK,MAAM,KAAK,IAAI,IAAI,CAAC,UAAU,CAAC,MAAM,EAAE,EAAE,CAAC;YAC7C,KAAK,CAAC,MAAM,GAAG,IAAI,CAAC;YACpB,IAAI,CAAC,sBAAsB,CAAC,KAAK,EAAE,eAAe,CAAC,CAAC;YACpD,IAAI,CAAC,qBAAqB,CAAC,KAAK,EAAE,eAAe,CAAC,CAAC;QACrD,CAAC;QACD,IAAI,CAAC,UAAU,CAAC,KAAK,EAAE,CAAC;IAC1B,CAAC;CACF;AAED,SAAS,mBAAmB,CAAC,WAAmB;IAC9C,MAAM,eAAe,GAAG,aAAa,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;IACvD,MAAM,SAAS,GAAG,IAAI,CAAC,OAAO,CAAC,eAAe,CAAC,CAAC;IAChD,MAAM,UAAU,GAAG,eAAe,CAAC,OAAO,CACxC,0CAA0C,EAC1C,kCAAkC,SAAS,EAAE,CAC9C,CAAC;IACF,MAAM,QAAQ,GAAG,SAAS,KAAK,KAAK,CAAC,CAAC,CAAC,CAAC,UAAU,EAAE,KAAK,EAAE,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC;IAEtF,OAAO;QACL,OAAO,EAAE,OAAO,CAAC,QAAQ;QACzB,IAAI,EAAE,CAAC,GAAG,QAAQ,EAAE,gBAAgB,EAAE,WAAW,CAAC;KACnD,CAAC;AACJ,CAAC;AAED,SAAS,uBAAuB,CAAC,KAAc;IAC7C,OAAO,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC;AACtE,CAAC"}
@@ -110,8 +110,8 @@ export class SessionHistoryService {
110
110
  syncStatus: "syncing",
111
111
  syncCursor: current?.syncCursor ?? cursor,
112
112
  lastSyncAt: current?.lastSyncAt ?? null,
113
- lastErrorCode: null,
114
- lastErrorDetail: null,
113
+ lastErrorCode: current?.lastErrorCode ?? null,
114
+ lastErrorDetail: current?.lastErrorDetail ?? null,
115
115
  resumedAt: current?.resumedAt ?? null
116
116
  });
117
117
  try {
@@ -124,8 +124,8 @@ export class SessionHistoryService {
124
124
  ? current?.syncCursor ?? page.cursor
125
125
  : page.cursor,
126
126
  lastSyncAt: nowIso(),
127
- lastErrorCode: null,
128
- lastErrorDetail: null,
127
+ lastErrorCode: current?.lastErrorCode ?? null,
128
+ lastErrorDetail: current?.lastErrorDetail ?? null,
129
129
  resumedAt: current?.resumedAt ?? null
130
130
  });
131
131
  logPerformance("session.read_history", Date.now() - startedAt, {
@@ -263,8 +263,8 @@ export class SessionHistoryService {
263
263
  syncStatus: "idle",
264
264
  syncCursor: this.sessionStatusSnapshotRepository.findBySessionId(sessionId)?.syncCursor ?? null,
265
265
  lastSyncAt: result.resumedAt,
266
- lastErrorCode: null,
267
- lastErrorDetail: null,
266
+ lastErrorCode: this.sessionStatusSnapshotRepository.findBySessionId(sessionId)?.lastErrorCode ?? null,
267
+ lastErrorDetail: this.sessionStatusSnapshotRepository.findBySessionId(sessionId)?.lastErrorDetail ?? null,
268
268
  resumedAt: result.resumedAt
269
269
  });
270
270
  return {
@@ -375,8 +375,8 @@ export class SessionHistoryService {
375
375
  syncStatus: "idle",
376
376
  syncCursor: this.sessionStatusSnapshotRepository.findBySessionId(sessionId)?.syncCursor ?? null,
377
377
  lastSyncAt: result.acceptedAt,
378
- lastErrorCode: null,
379
- lastErrorDetail: null,
378
+ lastErrorCode: this.sessionStatusSnapshotRepository.findBySessionId(sessionId)?.lastErrorCode ?? null,
379
+ lastErrorDetail: this.sessionStatusSnapshotRepository.findBySessionId(sessionId)?.lastErrorDetail ?? null,
380
380
  resumedAt: this.sessionStatusSnapshotRepository.findBySessionId(sessionId)?.resumedAt ?? null
381
381
  });
382
382
  return {
@@ -395,8 +395,8 @@ export class SessionHistoryService {
395
395
  syncStatus: "syncing",
396
396
  syncCursor: current?.syncCursor ?? cursor,
397
397
  lastSyncAt: current?.lastSyncAt ?? null,
398
- lastErrorCode: null,
399
- lastErrorDetail: null,
398
+ lastErrorCode: current?.lastErrorCode ?? null,
399
+ lastErrorDetail: current?.lastErrorDetail ?? null,
400
400
  resumedAt: current?.resumedAt ?? null
401
401
  });
402
402
  try {
@@ -451,8 +451,8 @@ export class SessionHistoryService {
451
451
  syncStatus: "idle",
452
452
  syncCursor: page.cursor,
453
453
  lastSyncAt: nowIso(),
454
- lastErrorCode: null,
455
- lastErrorDetail: null,
454
+ lastErrorCode: this.sessionStatusSnapshotRepository.findBySessionId(sessionId)?.lastErrorCode ?? null,
455
+ lastErrorDetail: this.sessionStatusSnapshotRepository.findBySessionId(sessionId)?.lastErrorDetail ?? null,
456
456
  resumedAt: this.sessionStatusSnapshotRepository.findBySessionId(sessionId)?.resumedAt ?? null
457
457
  });
458
458
  return {
@@ -895,13 +895,14 @@ export class SessionHistoryService {
895
895
  return;
896
896
  }
897
897
  await this.syncSessionTitleFromProvider(sessionId, binding);
898
+ const snapshot = this.sessionStatusSnapshotRepository.findBySessionId(sessionId);
898
899
  this.upsertSnapshot(sessionId, {
899
900
  syncStatus: "idle",
900
901
  syncCursor: page.cursor,
901
902
  lastSyncAt: nowIso(),
902
- lastErrorCode: null,
903
- lastErrorDetail: null,
904
- resumedAt: this.sessionStatusSnapshotRepository.findBySessionId(sessionId)?.resumedAt ?? null
903
+ lastErrorCode: snapshot?.lastErrorCode ?? null,
904
+ lastErrorDetail: snapshot?.lastErrorDetail ?? null,
905
+ resumedAt: snapshot?.resumedAt ?? null
905
906
  });
906
907
  await onEnvelope({
907
908
  type: envelopeType,