@agent-link/server 0.1.354 → 0.1.355

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 (190) hide show
  1. package/dist/http.js +7 -3
  2. package/dist/http.js.map +1 -1
  3. package/dist/index.js +2 -2
  4. package/dist/index.js.map +1 -1
  5. package/dist/message-relay.js +10 -1
  6. package/dist/message-relay.js.map +1 -1
  7. package/dist/session-manager.d.ts +2 -0
  8. package/dist/session-manager.js +30 -9
  9. package/dist/session-manager.js.map +1 -1
  10. package/dist/state-persistence.d.ts +9 -0
  11. package/dist/state-persistence.js +67 -7
  12. package/dist/state-persistence.js.map +1 -1
  13. package/package.json +2 -2
  14. package/web/dist/assets/{cssMode-CvtRf8ik.js → cssMode-Bwt3Nikz.js} +1 -1
  15. package/web/dist/assets/{editor.main-Dxfe1oPc.js → editor.main-D3OeexuM.js} +3 -3
  16. package/web/dist/assets/{freemarker2-CPtv7jKr.js → freemarker2-BPgG8rPV.js} +1 -1
  17. package/web/dist/assets/{handlebars-3s5P_czS.js → handlebars-D4KL215f.js} +1 -1
  18. package/web/dist/assets/{html-ec6iAqLS.js → html-k1jJdiks.js} +1 -1
  19. package/web/dist/assets/{htmlMode-Cia9jM9v.js → htmlMode-C6mnc_kw.js} +1 -1
  20. package/web/dist/assets/index-CN-QhK02.css +1 -0
  21. package/web/dist/assets/{index-C6O7KMd1.js → index-NKpYs0Ew.js} +7 -7
  22. package/web/dist/assets/{javascript--qohek8p.js → javascript-hG7aYraE.js} +1 -1
  23. package/web/dist/assets/{jsonMode-BTdfsfFh.js → jsonMode-Czv2JQtz.js} +1 -1
  24. package/web/dist/assets/{liquid-CzbVBOlg.js → liquid-E6E3rxVj.js} +1 -1
  25. package/web/dist/assets/{lspLanguageFeatures-B2Cm6wjs.js → lspLanguageFeatures-DPfu7xeZ.js} +1 -1
  26. package/web/dist/assets/{mdx-Cjr_8xQU.js → mdx-BPSgy9UN.js} +1 -1
  27. package/web/dist/assets/{python-C9D8YDyf.js → python-CDooYa57.js} +1 -1
  28. package/web/dist/assets/{razor-CfkGc1YD.js → razor-DcbDdNr2.js} +1 -1
  29. package/web/dist/assets/{tsMode-BrvXH7K3.js → tsMode-CWkEUZtH.js} +1 -1
  30. package/web/dist/assets/{typescript-C38sLfTZ.js → typescript-DbqazjVU.js} +1 -1
  31. package/web/dist/assets/{xml-WukFSM2r.js → xml-CYa24LBB.js} +1 -1
  32. package/web/dist/assets/{yaml-C1YNeyj8.js → yaml-oI6xmrQo.js} +1 -1
  33. package/web/dist/icons/default_file.svg +1 -0
  34. package/web/dist/icons/default_folder.svg +1 -0
  35. package/web/dist/icons/default_folder_opened.svg +1 -0
  36. package/web/dist/icons/default_root_folder.svg +1 -0
  37. package/web/dist/icons/default_root_folder_opened.svg +1 -0
  38. package/web/dist/icons/file_type_arduino.svg +1 -0
  39. package/web/dist/icons/file_type_bat.svg +1 -0
  40. package/web/dist/icons/file_type_browserslist.svg +1 -0
  41. package/web/dist/icons/file_type_c.svg +1 -0
  42. package/web/dist/icons/file_type_cheader.svg +1 -0
  43. package/web/dist/icons/file_type_cpp.svg +1 -0
  44. package/web/dist/icons/file_type_csharp.svg +1 -0
  45. package/web/dist/icons/file_type_css.svg +1 -0
  46. package/web/dist/icons/file_type_dartlang.svg +1 -0
  47. package/web/dist/icons/file_type_docker.svg +1 -0
  48. package/web/dist/icons/file_type_editorconfig.svg +1 -0
  49. package/web/dist/icons/file_type_elixir.svg +1 -0
  50. package/web/dist/icons/file_type_elm.svg +1 -0
  51. package/web/dist/icons/file_type_erlang.svg +1 -0
  52. package/web/dist/icons/file_type_eslint.svg +1 -0
  53. package/web/dist/icons/file_type_fsharp.svg +1 -0
  54. package/web/dist/icons/file_type_git.svg +1 -0
  55. package/web/dist/icons/file_type_go.svg +1 -0
  56. package/web/dist/icons/file_type_go_package.svg +1 -0
  57. package/web/dist/icons/file_type_haskell.svg +1 -0
  58. package/web/dist/icons/file_type_html.svg +1 -0
  59. package/web/dist/icons/file_type_image.svg +1 -0
  60. package/web/dist/icons/file_type_java.svg +1 -0
  61. package/web/dist/icons/file_type_jest.svg +1 -0
  62. package/web/dist/icons/file_type_jupyter.svg +1 -0
  63. package/web/dist/icons/file_type_kotlin.svg +1 -0
  64. package/web/dist/icons/file_type_less.svg +1 -0
  65. package/web/dist/icons/file_type_light_babel.svg +1 -0
  66. package/web/dist/icons/file_type_light_config.svg +1 -0
  67. package/web/dist/icons/file_type_light_ini.svg +1 -0
  68. package/web/dist/icons/file_type_light_js.svg +1 -0
  69. package/web/dist/icons/file_type_light_json.svg +1 -0
  70. package/web/dist/icons/file_type_light_pnpm.svg +1 -0
  71. package/web/dist/icons/file_type_light_prettier.svg +1 -0
  72. package/web/dist/icons/file_type_light_prisma.svg +1 -0
  73. package/web/dist/icons/file_type_light_rust.svg +1 -0
  74. package/web/dist/icons/file_type_light_toml.svg +1 -0
  75. package/web/dist/icons/file_type_light_yaml.svg +1 -0
  76. package/web/dist/icons/file_type_log.svg +1 -0
  77. package/web/dist/icons/file_type_lua.svg +1 -0
  78. package/web/dist/icons/file_type_markdown.svg +1 -0
  79. package/web/dist/icons/file_type_nim.svg +1 -0
  80. package/web/dist/icons/file_type_npm.svg +1 -0
  81. package/web/dist/icons/file_type_perl.svg +1 -0
  82. package/web/dist/icons/file_type_php.svg +1 -0
  83. package/web/dist/icons/file_type_powershell.svg +1 -0
  84. package/web/dist/icons/file_type_python.svg +1 -0
  85. package/web/dist/icons/file_type_r.svg +1 -0
  86. package/web/dist/icons/file_type_reactjs.svg +1 -0
  87. package/web/dist/icons/file_type_reactts.svg +1 -0
  88. package/web/dist/icons/file_type_rollup.svg +1 -0
  89. package/web/dist/icons/file_type_ruby.svg +1 -0
  90. package/web/dist/icons/file_type_sass.svg +1 -0
  91. package/web/dist/icons/file_type_scala.svg +1 -0
  92. package/web/dist/icons/file_type_scss.svg +1 -0
  93. package/web/dist/icons/file_type_shell.svg +1 -0
  94. package/web/dist/icons/file_type_sql.svg +1 -0
  95. package/web/dist/icons/file_type_svg.svg +1 -0
  96. package/web/dist/icons/file_type_swift.svg +1 -0
  97. package/web/dist/icons/file_type_terraform.svg +1 -0
  98. package/web/dist/icons/file_type_text.svg +1 -0
  99. package/web/dist/icons/file_type_tsconfig.svg +1 -0
  100. package/web/dist/icons/file_type_typescript.svg +1 -0
  101. package/web/dist/icons/file_type_verilog.svg +1 -0
  102. package/web/dist/icons/file_type_vite.svg +1 -0
  103. package/web/dist/icons/file_type_vue.svg +1 -0
  104. package/web/dist/icons/file_type_wasm.svg +1 -0
  105. package/web/dist/icons/file_type_webpack.svg +1 -0
  106. package/web/dist/icons/file_type_xml.svg +1 -0
  107. package/web/dist/icons/file_type_yarn.svg +1 -0
  108. package/web/dist/icons/file_type_zig.svg +1 -0
  109. package/web/dist/icons/folder_type_api.svg +1 -0
  110. package/web/dist/icons/folder_type_api_opened.svg +1 -0
  111. package/web/dist/icons/folder_type_asset.svg +1 -0
  112. package/web/dist/icons/folder_type_asset_opened.svg +1 -0
  113. package/web/dist/icons/folder_type_binary.svg +1 -0
  114. package/web/dist/icons/folder_type_binary_opened.svg +1 -0
  115. package/web/dist/icons/folder_type_cli.svg +1 -0
  116. package/web/dist/icons/folder_type_cli_opened.svg +1 -0
  117. package/web/dist/icons/folder_type_component.svg +1 -0
  118. package/web/dist/icons/folder_type_component_opened.svg +1 -0
  119. package/web/dist/icons/folder_type_config.svg +1 -0
  120. package/web/dist/icons/folder_type_config_opened.svg +1 -0
  121. package/web/dist/icons/folder_type_controller.svg +1 -0
  122. package/web/dist/icons/folder_type_controller_opened.svg +1 -0
  123. package/web/dist/icons/folder_type_coverage.svg +1 -0
  124. package/web/dist/icons/folder_type_coverage_opened.svg +1 -0
  125. package/web/dist/icons/folder_type_css.svg +1 -0
  126. package/web/dist/icons/folder_type_css_opened.svg +1 -0
  127. package/web/dist/icons/folder_type_db.svg +1 -0
  128. package/web/dist/icons/folder_type_db_opened.svg +1 -0
  129. package/web/dist/icons/folder_type_dist.svg +1 -0
  130. package/web/dist/icons/folder_type_dist_opened.svg +1 -0
  131. package/web/dist/icons/folder_type_docs.svg +1 -0
  132. package/web/dist/icons/folder_type_docs_opened.svg +1 -0
  133. package/web/dist/icons/folder_type_git.svg +1 -0
  134. package/web/dist/icons/folder_type_git_opened.svg +1 -0
  135. package/web/dist/icons/folder_type_github.svg +1 -0
  136. package/web/dist/icons/folder_type_github_opened.svg +1 -0
  137. package/web/dist/icons/folder_type_helper.svg +1 -0
  138. package/web/dist/icons/folder_type_helper_opened.svg +1 -0
  139. package/web/dist/icons/folder_type_hook.svg +1 -0
  140. package/web/dist/icons/folder_type_hook_opened.svg +1 -0
  141. package/web/dist/icons/folder_type_images.svg +1 -0
  142. package/web/dist/icons/folder_type_images_opened.svg +1 -0
  143. package/web/dist/icons/folder_type_library.svg +1 -0
  144. package/web/dist/icons/folder_type_library_opened.svg +1 -0
  145. package/web/dist/icons/folder_type_light_fonts.svg +1 -0
  146. package/web/dist/icons/folder_type_light_fonts_opened.svg +1 -0
  147. package/web/dist/icons/folder_type_light_node.svg +1 -0
  148. package/web/dist/icons/folder_type_light_node_opened.svg +1 -0
  149. package/web/dist/icons/folder_type_locale.svg +1 -0
  150. package/web/dist/icons/folder_type_locale_opened.svg +1 -0
  151. package/web/dist/icons/folder_type_log.svg +1 -0
  152. package/web/dist/icons/folder_type_log_opened.svg +1 -0
  153. package/web/dist/icons/folder_type_middleware.svg +1 -0
  154. package/web/dist/icons/folder_type_middleware_opened.svg +1 -0
  155. package/web/dist/icons/folder_type_mock.svg +1 -0
  156. package/web/dist/icons/folder_type_mock_opened.svg +1 -0
  157. package/web/dist/icons/folder_type_model.svg +1 -0
  158. package/web/dist/icons/folder_type_model_opened.svg +1 -0
  159. package/web/dist/icons/folder_type_module.svg +1 -0
  160. package/web/dist/icons/folder_type_module_opened.svg +1 -0
  161. package/web/dist/icons/folder_type_package.svg +1 -0
  162. package/web/dist/icons/folder_type_package_opened.svg +1 -0
  163. package/web/dist/icons/folder_type_plugin.svg +1 -0
  164. package/web/dist/icons/folder_type_plugin_opened.svg +1 -0
  165. package/web/dist/icons/folder_type_public.svg +1 -0
  166. package/web/dist/icons/folder_type_public_opened.svg +1 -0
  167. package/web/dist/icons/folder_type_route.svg +1 -0
  168. package/web/dist/icons/folder_type_route_opened.svg +1 -0
  169. package/web/dist/icons/folder_type_script.svg +1 -0
  170. package/web/dist/icons/folder_type_script_opened.svg +1 -0
  171. package/web/dist/icons/folder_type_services.svg +1 -0
  172. package/web/dist/icons/folder_type_services_opened.svg +1 -0
  173. package/web/dist/icons/folder_type_src.svg +1 -0
  174. package/web/dist/icons/folder_type_src_opened.svg +1 -0
  175. package/web/dist/icons/folder_type_style.svg +1 -0
  176. package/web/dist/icons/folder_type_style_opened.svg +1 -0
  177. package/web/dist/icons/folder_type_temp.svg +1 -0
  178. package/web/dist/icons/folder_type_temp_opened.svg +1 -0
  179. package/web/dist/icons/folder_type_template.svg +1 -0
  180. package/web/dist/icons/folder_type_template_opened.svg +1 -0
  181. package/web/dist/icons/folder_type_test.svg +1 -0
  182. package/web/dist/icons/folder_type_test_opened.svg +1 -0
  183. package/web/dist/icons/folder_type_tools.svg +1 -0
  184. package/web/dist/icons/folder_type_tools_opened.svg +1 -0
  185. package/web/dist/icons/folder_type_view.svg +1 -0
  186. package/web/dist/icons/folder_type_view_opened.svg +1 -0
  187. package/web/dist/icons/folder_type_vscode.svg +1 -0
  188. package/web/dist/icons/folder_type_vscode_opened.svg +1 -0
  189. package/web/dist/index.html +2 -2
  190. package/web/dist/assets/index-DZznXrlM.css +0 -1
package/dist/http.js CHANGED
@@ -30,13 +30,17 @@ export function createApp(webDir, pkg, startedAt) {
30
30
  res.sendFile(join(webDir, 'index.html'));
31
31
  };
32
32
  // Serve index.html with Entra config injected via <meta> tag
33
+ // Cache the injected HTML at startup — it's static content, no need to re-read on every request
34
+ let cachedEntraHtml = null;
33
35
  const sendIndexHtmlWithEntra = (_req, res) => {
34
36
  try {
35
- const html = readFileSync(join(webDir, 'index.html'), 'utf-8');
36
- const injected = html.replace('<head>', `<head>\n <meta name="entra-config" content="${entraConfigB64}">`);
37
+ if (!cachedEntraHtml) {
38
+ const html = readFileSync(join(webDir, 'index.html'), 'utf-8');
39
+ cachedEntraHtml = html.replace('<head>', `<head>\n <meta name="entra-config" content="${entraConfigB64}">`);
40
+ }
37
41
  res.setHeader('Cache-Control', 'no-store');
38
42
  res.setHeader('Content-Type', 'text/html');
39
- res.send(injected);
43
+ res.send(cachedEntraHtml);
40
44
  }
41
45
  catch {
42
46
  res.status(500).send('Internal server error');
package/dist/http.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"http.js","sourceRoot":"","sources":["../src/http.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"http.js","sourceRoot":"","sources":["../src/http.ts"],"names":[],"mappings":"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"}
package/dist/index.js CHANGED
@@ -64,9 +64,9 @@ const PORT_NUMBER = isNamedPipe ? undefined : LISTEN_TARGET;
64
64
  const webDir = join(__dirname, '../web/dist');
65
65
  const app = createApp(webDir, pkg, startedAt);
66
66
  const server = createServer(app);
67
- const wss = new WebSocketServer({ noServer: true });
67
+ const wss = new WebSocketServer({ noServer: true, maxPayload: 16 * 1024 * 1024 }); // 16MB (10MB file + base64 overhead)
68
68
  // A separate WSS for tunnel WebSocket upgrades (browser ↔ agent proxy)
69
- const tunnelWss = new WebSocketServer({ noServer: true });
69
+ const tunnelWss = new WebSocketServer({ noServer: true, maxPayload: 16 * 1024 * 1024 }); // 16MB
70
70
  // Handle HTTP upgrade: route proxy WS to tunnel handler, others to main WSS
71
71
  server.on('upgrade', (req, socket, head) => {
72
72
  // Check if this is a tunnel proxy WebSocket upgrade
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
@@ -11,7 +11,16 @@ export class MessageRelay {
11
11
  */
12
12
  enqueue(id, handler) {
13
13
  const prev = this.queues.get(id) || Promise.resolve();
14
- this.queues.set(id, prev.then(handler).catch(() => { }));
14
+ const next = prev.then(handler).catch(() => { });
15
+ this.queues.set(id, next);
16
+ // Reset chain after completion to prevent unbounded promise chain growth.
17
+ // Safe: if a new message was enqueued before this fires, the map entry
18
+ // will have moved on and the comparison will fail — no clobbering.
19
+ next.then(() => {
20
+ if (this.queues.get(id) === next) {
21
+ this.queues.set(id, Promise.resolve());
22
+ }
23
+ });
15
24
  }
16
25
  /**
17
26
  * Remove the queue for the given ID (call on disconnect).
@@ -1 +1 @@
1
- {"version":3,"file":"message-relay.js","sourceRoot":"","sources":["../src/message-relay.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AACH,MAAM,OAAO,YAAY;IACf,MAAM,GAAG,IAAI,GAAG,EAAyB,CAAC;IAElD;;;OAGG;IACH,OAAO,CAAC,EAAU,EAAE,OAA4B;QAC9C,MAAM,IAAI,GAAG,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE,CAAC,IAAI,OAAO,CAAC,OAAO,EAAE,CAAC;QACtD,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE,EAAE,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,KAAK,CAAC,GAAG,EAAE,GAAE,CAAC,CAAC,CAAC,CAAC;IAC1D,CAAC;IAED;;OAEG;IACH,OAAO,CAAC,EAAU;QAChB,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;IACzB,CAAC;CACF"}
1
+ {"version":3,"file":"message-relay.js","sourceRoot":"","sources":["../src/message-relay.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AACH,MAAM,OAAO,YAAY;IACf,MAAM,GAAG,IAAI,GAAG,EAAyB,CAAC;IAElD;;;OAGG;IACH,OAAO,CAAC,EAAU,EAAE,OAA4B;QAC9C,MAAM,IAAI,GAAG,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE,CAAC,IAAI,OAAO,CAAC,OAAO,EAAE,CAAC;QACtD,MAAM,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,KAAK,CAAC,GAAG,EAAE,GAAE,CAAC,CAAC,CAAC;QAChD,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE,EAAE,IAAI,CAAC,CAAC;QAC1B,0EAA0E;QAC1E,uEAAuE;QACvE,mEAAmE;QACnE,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE;YACb,IAAI,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE,CAAC,KAAK,IAAI,EAAE,CAAC;gBACjC,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE,EAAE,OAAO,CAAC,OAAO,EAAE,CAAC,CAAC;YACzC,CAAC;QACH,CAAC,CAAC,CAAC;IACL,CAAC;IAED;;OAEG;IACH,OAAO,CAAC,EAAU;QAChB,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;IACzB,CAAC;CACF"}
@@ -37,6 +37,8 @@ export declare class SessionManager {
37
37
  updatedAt: number;
38
38
  }>;
39
39
  readonly knownSessions: Map<string, KnownSession>;
40
+ /** Reverse index: sessionId → Set of clientIds for O(1) lookup */
41
+ private readonly sessionToClients;
40
42
  private static readonly SESSION_OWNER_TTL;
41
43
  private static readonly KNOWN_SESSION_TTL;
42
44
  onMutation?: () => void;
@@ -5,6 +5,8 @@ export class SessionManager {
5
5
  webClients = new Map();
6
6
  sessionOwners = new Map();
7
7
  knownSessions = new Map();
8
+ /** Reverse index: sessionId → Set of clientIds for O(1) lookup */
9
+ sessionToClients = new Map();
8
10
  static SESSION_OWNER_TTL = 24 * 60 * 60 * 1000; // 24 hours
9
11
  static KNOWN_SESSION_TTL = 7 * 24 * 60 * 60 * 1000; // 7 days
10
12
  onMutation;
@@ -63,19 +65,39 @@ export class SessionManager {
63
65
  // --- Client operations ---
64
66
  registerClient(clientId, client) {
65
67
  this.webClients.set(clientId, client);
68
+ // Maintain reverse index
69
+ let set = this.sessionToClients.get(client.sessionId);
70
+ if (!set) {
71
+ set = new Set();
72
+ this.sessionToClients.set(client.sessionId, set);
73
+ }
74
+ set.add(clientId);
66
75
  }
67
76
  removeClient(clientId) {
77
+ const client = this.webClients.get(clientId);
78
+ if (client) {
79
+ // Maintain reverse index
80
+ const set = this.sessionToClients.get(client.sessionId);
81
+ if (set) {
82
+ set.delete(clientId);
83
+ if (set.size === 0)
84
+ this.sessionToClients.delete(client.sessionId);
85
+ }
86
+ }
68
87
  this.webClients.delete(clientId);
69
88
  }
70
89
  getClient(clientId) {
71
90
  return this.webClients.get(clientId);
72
91
  }
73
92
  getClientsForSession(sessionId) {
93
+ const clientIds = this.sessionToClients.get(sessionId);
94
+ if (!clientIds)
95
+ return [];
74
96
  const result = [];
75
- for (const [, client] of this.webClients) {
76
- if (client.sessionId === sessionId) {
77
- result.push(client);
78
- }
97
+ for (const id of clientIds) {
98
+ const c = this.webClients.get(id);
99
+ if (c)
100
+ result.push(c);
79
101
  }
80
102
  return result;
81
103
  }
@@ -105,10 +127,9 @@ export class SessionManager {
105
127
  const known = this.knownSessions.get(agent.sessionId);
106
128
  if (known)
107
129
  known.lastSeen = Date.now();
108
- for (const [, client] of this.webClients) {
109
- if (client.sessionId === agent.sessionId) {
110
- notifyFn(client, { type: 'agent_disconnected' });
111
- }
130
+ // Use reverse index for O(1) client lookup
131
+ for (const client of this.getClientsForSession(agent.sessionId)) {
132
+ notifyFn(client, { type: 'agent_disconnected' });
112
133
  }
113
134
  continue;
114
135
  }
@@ -121,7 +142,7 @@ export class SessionManager {
121
142
  for (const [clientId, client] of this.webClients) {
122
143
  if (!client.isAlive) {
123
144
  client.ws.terminate();
124
- this.webClients.delete(clientId);
145
+ this.removeClient(clientId);
125
146
  removedClients.push(clientId);
126
147
  continue;
127
148
  }
@@ -1 +1 @@
1
- {"version":3,"file":"session-manager.js","sourceRoot":"","sources":["../src/session-manager.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,WAAW,EAAE,MAAM,QAAQ,CAAC;AAgCrC,MAAM,OAAO,cAAc;IAChB,MAAM,GAAG,IAAI,GAAG,EAAwB,CAAC;IACzC,cAAc,GAAG,IAAI,GAAG,EAAkB,CAAC;IAC3C,UAAU,GAAG,IAAI,GAAG,EAAqB,CAAC;IAC1C,aAAa,GAAG,IAAI,GAAG,EAA6D,CAAC;IACrF,aAAa,GAAG,IAAI,GAAG,EAAwB,CAAC;IACjD,MAAM,CAAU,iBAAiB,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,IAAI,CAAC,CAAC,WAAW;IACpE,MAAM,CAAU,iBAAiB,GAAG,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,IAAI,CAAC,CAAC,SAAS;IAE9E,UAAU,CAAc;IAExB,iBAAiB;QACf,OAAO,WAAW,CAAC,EAAE,CAAC,CAAC,QAAQ,CAAC,WAAW,CAAC,CAAC;IAC/C,CAAC;IAED,2BAA2B;IAE3B,aAAa,CAAC,OAAe,EAAE,KAAmB;QAChD,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC;QAChC,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC,KAAK,CAAC,SAAS,EAAE,OAAO,CAAC,CAAC;QAClD,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,KAAK,CAAC,SAAS,EAAE;YACtC,OAAO;YACP,IAAI,EAAE,KAAK,CAAC,IAAI;YAChB,QAAQ,EAAE,KAAK,CAAC,QAAQ;YACxB,OAAO,EAAE,KAAK,CAAC,OAAO;YACtB,OAAO,EAAE,KAAK,CAAC,OAAO;YACtB,KAAK,EAAE,KAAK,CAAC,KAAK;YAClB,QAAQ,EAAE,IAAI,CAAC,GAAG,EAAE;SACrB,CAAC,CAAC;QACH,IAAI,CAAC,UAAU,EAAE,EAAE,CAAC;IACtB,CAAC;IAED,WAAW,CAAC,OAAe;QACzB,MAAM,KAAK,GAAG,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;QACvC,IAAI,KAAK,EAAE,CAAC;YACV,IAAI,CAAC,cAAc,CAAC,MAAM,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC;YAC5C,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;YAC5B,2EAA2E;YAC3E,MAAM,KAAK,GAAG,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC;YACtD,IAAI,KAAK,EAAE,CAAC;gBACV,KAAK,CAAC,QAAQ,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;gBAC5B,IAAI,CAAC,UAAU,EAAE,EAAE,CAAC;YACtB,CAAC;QACH,CAAC;IACH,CAAC;IAED,QAAQ,CAAC,OAAe;QACtB,OAAO,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;IAClC,CAAC;IAED,iBAAiB,CAAC,SAAiB;QACjC,MAAM,OAAO,GAAG,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;QACnD,OAAO,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;IACxD,CAAC;IAED,eAAe,CAAC,SAAiB;QAC/B,OAAO,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;IAC3C,CAAC;IAED,8DAA8D;IAE9D,eAAe,CAAC,SAAiB,EAAE,GAAW,EAAE,KAAa;QAC3D,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,SAAS,EAAE,EAAE,GAAG,EAAE,KAAK,EAAE,SAAS,EAAE,IAAI,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC;QACzE,IAAI,CAAC,UAAU,EAAE,EAAE,CAAC;IACtB,CAAC;IAED,kBAAkB,CAAC,SAAiB;QAClC,IAAI,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,SAAS,CAAC,EAAE,CAAC;YACtC,IAAI,CAAC,aAAa,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC;YACrC,IAAI,CAAC,UAAU,EAAE,EAAE,CAAC;QACtB,CAAC;IACH,CAAC;IAED,4BAA4B;IAE5B,cAAc,CAAC,QAAgB,EAAE,MAAiB;QAChD,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAC;IACxC,CAAC;IAED,YAAY,CAAC,QAAgB;QAC3B,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;IACnC,CAAC;IAED,SAAS,CAAC,QAAgB;QACxB,OAAO,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;IACvC,CAAC;IAED,oBAAoB,CAAC,SAAiB;QACpC,MAAM,MAAM,GAAgB,EAAE,CAAC;QAC/B,KAAK,MAAM,CAAC,EAAE,MAAM,CAAC,IAAI,IAAI,CAAC,UAAU,EAAE,CAAC;YACzC,IAAI,MAAM,CAAC,SAAS,KAAK,SAAS,EAAE,CAAC;gBACnC,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;YACtB,CAAC;QACH,CAAC;QACD,OAAO,MAAM,CAAC;IAChB,CAAC;IAED,uCAAuC;IAEvC,iBAAiB,CAAC,IAAuE;QACvF,KAAK,MAAM,CAAC,SAAS,EAAE,KAAK,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,CAAC;YACtD,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,SAAS,EAAE,KAAK,CAAC,CAAC;QAC3C,CAAC;IACH,CAAC;IAED,iBAAiB,CAAC,IAAkC;QAClD,KAAK,MAAM,CAAC,SAAS,EAAE,OAAO,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,CAAC;YACxD,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,SAAS,EAAE,OAAO,CAAC,CAAC;QAC7C,CAAC;IACH,CAAC;IAED,oBAAoB;IAEpB,sBAAsB,CACpB,QAA4D;QAE5D,MAAM,aAAa,GAAa,EAAE,CAAC;QACnC,MAAM,cAAc,GAAa,EAAE,CAAC;QAEpC,KAAK,MAAM,CAAC,OAAO,EAAE,KAAK,CAAC,IAAI,IAAI,CAAC,MAAM,EAAE,CAAC;YAC3C,IAAI,CAAC,KAAK,CAAC,OAAO,EAAE,CAAC;gBACnB,OAAO,CAAC,GAAG,CAAC,qBAAqB,KAAK,CAAC,IAAI,YAAY,CAAC,CAAC;gBACzD,KAAK,CAAC,EAAE,CAAC,SAAS,EAAE,CAAC;gBACrB,IAAI,CAAC,cAAc,CAAC,MAAM,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC;gBAC5C,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;gBAC5B,aAAa,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;gBAE5B,mCAAmC;gBACnC,MAAM,KAAK,GAAG,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC;gBACtD,IAAI,KAAK;oBAAE,KAAK,CAAC,QAAQ,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;gBAEvC,KAAK,MAAM,CAAC,EAAE,MAAM,CAAC,IAAI,IAAI,CAAC,UAAU,EAAE,CAAC;oBACzC,IAAI,MAAM,CAAC,SAAS,KAAK,KAAK,CAAC,SAAS,EAAE,CAAC;wBACzC,QAAQ,CAAC,MAAM,EAAE,EAAE,IAAI,EAAE,oBAAoB,EAAE,CAAC,CAAC;oBACnD,CAAC;gBACH,CAAC;gBACD,SAAS;YACX,CAAC;YACD,KAAK,CAAC,OAAO,GAAG,KAAK,CAAC;YACtB,IAAI,CAAC;gBAAC,KAAK,CAAC,EAAE,CAAC,IAAI,EAAE,CAAC;YAAC,CAAC;YAAC,MAAM,CAAC,CAAC,aAAa,CAAC,CAAC;QAClD,CAAC;QAED,KAAK,MAAM,CAAC,QAAQ,EAAE,MAAM,CAAC,IAAI,IAAI,CAAC,UAAU,EAAE,CAAC;YACjD,IAAI,CAAC,MAAM,CAAC,OAAO,EAAE,CAAC;gBACpB,MAAM,CAAC,EAAE,CAAC,SAAS,EAAE,CAAC;gBACtB,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;gBACjC,cAAc,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;gBAC9B,SAAS;YACX,CAAC;YACD,MAAM,CAAC,OAAO,GAAG,KAAK,CAAC;YACvB,IAAI,CAAC;gBAAC,MAAM,CAAC,EAAE,CAAC,IAAI,EAAE,CAAC;YAAC,CAAC;YAAC,MAAM,CAAC,CAAC,aAAa,CAAC,CAAC;QACnD,CAAC;QAED,kEAAkE;QAClE,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;QACvB,IAAI,MAAM,GAAG,KAAK,CAAC;QACnB,KAAK,MAAM,CAAC,SAAS,EAAE,KAAK,CAAC,IAAI,IAAI,CAAC,aAAa,EAAE,CAAC;YACpD,IAAI,GAAG,GAAG,KAAK,CAAC,SAAS,GAAG,cAAc,CAAC,iBAAiB;mBACrD,CAAC,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC,SAAS,CAAC;mBACnC,CAAC,IAAI,CAAC,oBAAoB,CAAC,SAAS,CAAC,CAAC,MAAM,EAAE,CAAC;gBACpD,IAAI,CAAC,aAAa,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC;gBACrC,MAAM,GAAG,IAAI,CAAC;YAChB,CAAC;QACH,CAAC;QAED,0DAA0D;QAC1D,KAAK,MAAM,CAAC,SAAS,EAAE,OAAO,CAAC,IAAI,IAAI,CAAC,aAAa,EAAE,CAAC;YACtD,IAAI,GAAG,GAAG,OAAO,CAAC,QAAQ,GAAG,cAAc,CAAC,iBAAiB;mBACtD,CAAC,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC,SAAS,CAAC,EAAE,CAAC;gBAC3C,IAAI,CAAC,aAAa,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC;gBACrC,MAAM,GAAG,IAAI,CAAC;YAChB,CAAC;QACH,CAAC;QAED,IAAI,MAAM,IAAI,aAAa,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YACvC,IAAI,CAAC,UAAU,EAAE,EAAE,CAAC;QACtB,CAAC;QAED,OAAO,EAAE,aAAa,EAAE,cAAc,EAAE,CAAC;IAC3C,CAAC;;AAGH,gDAAgD;AAChD,MAAM,CAAC,MAAM,QAAQ,GAAG,IAAI,cAAc,EAAE,CAAC"}
1
+ {"version":3,"file":"session-manager.js","sourceRoot":"","sources":["../src/session-manager.ts"],"names":[],"mappings":"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"}
@@ -26,8 +26,17 @@ export interface PersistedState {
26
26
  knownSessions: Record<string, KnownSession>;
27
27
  }
28
28
  export declare function loadPersistedState(): PersistedState | null;
29
+ /** Synchronous save — used ONLY for SIGINT/SIGTERM shutdown handlers.
30
+ * Uses a distinct temp file suffix to avoid colliding with async saves. */
29
31
  export declare function savePersistedState(state: PersistedState): void;
32
+ /** Async save — used for debounced runtime persistence (non-blocking). */
33
+ export declare function savePersistedStateAsync(state: PersistedState): Promise<void>;
30
34
  export declare function clearPersistedState(): void;
31
35
  export declare function setStateCollector(fn: () => PersistedState): void;
32
36
  export declare function markDirty(): void;
37
+ /** Sync flush — for shutdown handlers only. */
33
38
  export declare function flushState(): void;
39
+ /** Async flush — for debounced runtime persistence (non-blocking).
40
+ * Serializes writes so concurrent calls don't overlap, and preserves
41
+ * the dirty flag if a mutation arrives during an in-flight save. */
42
+ export declare function flushStateAsync(): Promise<void>;
@@ -1,4 +1,5 @@
1
1
  import { readFileSync, writeFileSync, renameSync, unlinkSync } from 'fs';
2
+ import { writeFile, rename } from 'fs/promises';
2
3
  import { SESSION_STATE_FILE, CONFIG_DIR } from './config.js';
3
4
  import { mkdirSync, existsSync } from 'fs';
4
5
  function isEphemeral() {
@@ -18,31 +19,46 @@ export function loadPersistedState() {
18
19
  return null;
19
20
  }
20
21
  }
22
+ /** Synchronous save — used ONLY for SIGINT/SIGTERM shutdown handlers.
23
+ * Uses a distinct temp file suffix to avoid colliding with async saves. */
21
24
  export function savePersistedState(state) {
22
25
  if (isEphemeral())
23
26
  return;
24
27
  if (!existsSync(CONFIG_DIR)) {
25
28
  mkdirSync(CONFIG_DIR, { recursive: true });
26
29
  }
27
- const tmp = SESSION_STATE_FILE + '.tmp';
30
+ const tmp = SESSION_STATE_FILE + '.sync.tmp';
28
31
  const json = JSON.stringify(state, null, 2) + '\n';
29
32
  writeFileSync(tmp, json, { encoding: 'utf-8', mode: 0o600 });
30
33
  renameSync(tmp, SESSION_STATE_FILE);
31
34
  }
32
- export function clearPersistedState() {
35
+ /** Async save — used for debounced runtime persistence (non-blocking). */
36
+ export async function savePersistedStateAsync(state) {
33
37
  if (isEphemeral())
34
38
  return;
35
- try {
36
- unlinkSync(SESSION_STATE_FILE);
39
+ if (!existsSync(CONFIG_DIR)) {
40
+ mkdirSync(CONFIG_DIR, { recursive: true });
37
41
  }
38
- catch {
39
- // file may not exist
42
+ const tmp = SESSION_STATE_FILE + '.async.tmp';
43
+ const json = JSON.stringify(state, null, 2) + '\n';
44
+ await writeFile(tmp, json, { encoding: 'utf-8', mode: 0o600 });
45
+ await rename(tmp, SESSION_STATE_FILE);
46
+ }
47
+ export function clearPersistedState() {
48
+ if (isEphemeral())
49
+ return;
50
+ for (const f of [SESSION_STATE_FILE, SESSION_STATE_FILE + '.sync.tmp', SESSION_STATE_FILE + '.async.tmp']) {
51
+ try {
52
+ unlinkSync(f);
53
+ }
54
+ catch { /* file may not exist */ }
40
55
  }
41
56
  }
42
57
  // Debounced persistence manager
43
58
  let dirty = false;
44
59
  let debounceTimer = null;
45
60
  let collectState = null;
61
+ let flushInFlight = null;
46
62
  export function setStateCollector(fn) {
47
63
  collectState = fn;
48
64
  }
@@ -52,8 +68,13 @@ export function markDirty() {
52
68
  dirty = true;
53
69
  if (debounceTimer)
54
70
  clearTimeout(debounceTimer);
55
- debounceTimer = setTimeout(flushState, 500);
71
+ debounceTimer = setTimeout(() => {
72
+ void flushStateAsync().catch((err) => {
73
+ console.error('[Persistence] Failed to flush state:', err.message);
74
+ });
75
+ }, 500);
56
76
  }
77
+ /** Sync flush — for shutdown handlers only. */
57
78
  export function flushState() {
58
79
  if (debounceTimer) {
59
80
  clearTimeout(debounceTimer);
@@ -69,4 +90,43 @@ export function flushState() {
69
90
  console.error('[Persistence] Failed to save state:', err.message);
70
91
  }
71
92
  }
93
+ /** Async flush — for debounced runtime persistence (non-blocking).
94
+ * Serializes writes so concurrent calls don't overlap, and preserves
95
+ * the dirty flag if a mutation arrives during an in-flight save. */
96
+ export async function flushStateAsync() {
97
+ if (debounceTimer) {
98
+ clearTimeout(debounceTimer);
99
+ debounceTimer = null;
100
+ }
101
+ if (!dirty || !collectState)
102
+ return;
103
+ // Serialize: wait for any in-flight save to finish first
104
+ if (flushInFlight) {
105
+ try {
106
+ await flushInFlight;
107
+ }
108
+ catch {
109
+ // Previous save failed — proceed with our own save attempt
110
+ }
111
+ // After waiting, re-check — the previous save may have cleared dirty
112
+ if (!dirty || !collectState)
113
+ return;
114
+ }
115
+ // Snapshot state and clear dirty BEFORE the await so that any markDirty()
116
+ // during the write correctly re-sets the flag for a subsequent flush.
117
+ const state = collectState();
118
+ dirty = false;
119
+ try {
120
+ flushInFlight = savePersistedStateAsync(state);
121
+ await flushInFlight;
122
+ }
123
+ catch (err) {
124
+ // Restore dirty so the next flush retries
125
+ dirty = true;
126
+ console.error('[Persistence] Failed to save state:', err.message);
127
+ }
128
+ finally {
129
+ flushInFlight = null;
130
+ }
131
+ }
72
132
  //# sourceMappingURL=state-persistence.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"state-persistence.js","sourceRoot":"","sources":["../src/state-persistence.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,aAAa,EAAE,UAAU,EAAE,UAAU,EAAE,MAAM,IAAI,CAAC;AACzE,OAAO,EAAE,kBAAkB,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AAC7D,OAAO,EAAE,SAAS,EAAE,UAAU,EAAE,MAAM,IAAI,CAAC;AAqB3C,SAAS,WAAW;IAClB,OAAO,CAAC,CAAC,OAAO,CAAC,GAAG,CAAC,kBAAkB,CAAC;AAC1C,CAAC;AAED,MAAM,UAAU,kBAAkB;IAChC,IAAI,WAAW,EAAE;QAAE,OAAO,IAAI,CAAC;IAC/B,IAAI,CAAC;QACH,MAAM,GAAG,GAAG,YAAY,CAAC,kBAAkB,EAAE,OAAO,CAAC,CAAC;QACtD,MAAM,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;QAC7B,IAAI,IAAI,CAAC,OAAO,KAAK,CAAC;YAAE,OAAO,IAAI,CAAC;QACpC,OAAO,IAAsB,CAAC;IAChC,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,IAAI,CAAC;IACd,CAAC;AACH,CAAC;AAED,MAAM,UAAU,kBAAkB,CAAC,KAAqB;IACtD,IAAI,WAAW,EAAE;QAAE,OAAO;IAC1B,IAAI,CAAC,UAAU,CAAC,UAAU,CAAC,EAAE,CAAC;QAC5B,SAAS,CAAC,UAAU,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;IAC7C,CAAC;IACD,MAAM,GAAG,GAAG,kBAAkB,GAAG,MAAM,CAAC;IACxC,MAAM,IAAI,GAAG,IAAI,CAAC,SAAS,CAAC,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC,GAAG,IAAI,CAAC;IACnD,aAAa,CAAC,GAAG,EAAE,IAAI,EAAE,EAAE,QAAQ,EAAE,OAAO,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC,CAAC;IAC7D,UAAU,CAAC,GAAG,EAAE,kBAAkB,CAAC,CAAC;AACtC,CAAC;AAED,MAAM,UAAU,mBAAmB;IACjC,IAAI,WAAW,EAAE;QAAE,OAAO;IAC1B,IAAI,CAAC;QACH,UAAU,CAAC,kBAAkB,CAAC,CAAC;IACjC,CAAC;IAAC,MAAM,CAAC;QACP,qBAAqB;IACvB,CAAC;AACH,CAAC;AAED,gCAAgC;AAChC,IAAI,KAAK,GAAG,KAAK,CAAC;AAClB,IAAI,aAAa,GAAyC,IAAI,CAAC;AAC/D,IAAI,YAAY,GAAkC,IAAI,CAAC;AAEvD,MAAM,UAAU,iBAAiB,CAAC,EAAwB;IACxD,YAAY,GAAG,EAAE,CAAC;AACpB,CAAC;AAED,MAAM,UAAU,SAAS;IACvB,IAAI,WAAW,EAAE,IAAI,CAAC,YAAY;QAAE,OAAO;IAC3C,KAAK,GAAG,IAAI,CAAC;IACb,IAAI,aAAa;QAAE,YAAY,CAAC,aAAa,CAAC,CAAC;IAC/C,aAAa,GAAG,UAAU,CAAC,UAAU,EAAE,GAAG,CAAC,CAAC;AAC9C,CAAC;AAED,MAAM,UAAU,UAAU;IACxB,IAAI,aAAa,EAAE,CAAC;QAClB,YAAY,CAAC,aAAa,CAAC,CAAC;QAC5B,aAAa,GAAG,IAAI,CAAC;IACvB,CAAC;IACD,IAAI,CAAC,KAAK,IAAI,CAAC,YAAY;QAAE,OAAO;IACpC,IAAI,CAAC;QACH,kBAAkB,CAAC,YAAY,EAAE,CAAC,CAAC;QACnC,KAAK,GAAG,KAAK,CAAC;IAChB,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,OAAO,CAAC,KAAK,CAAC,qCAAqC,EAAG,GAAa,CAAC,OAAO,CAAC,CAAC;IAC/E,CAAC;AACH,CAAC"}
1
+ {"version":3,"file":"state-persistence.js","sourceRoot":"","sources":["../src/state-persistence.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@agent-link/server",
3
- "version": "0.1.354",
4
- "latestAgentVersion": "0.1.172",
3
+ "version": "0.1.355",
4
+ "latestAgentVersion": "0.1.158",
5
5
  "description": "AgentLink relay server",
6
6
  "license": "MIT",
7
7
  "repository": {
@@ -1 +1 @@
1
- import{c as e,l as t}from"./editor.main-Dxfe1oPc.js";import{C as s,H as r,D as i,a as n,R as o,b as a,c as h,d as g,F as l,e as u,S as d,f as c,g as p}from"./lspLanguageFeatures-B2Cm6wjs.js";import{h as m,i as _,j as w,t as f,k}from"./lspLanguageFeatures-B2Cm6wjs.js";import"./index-C6O7KMd1.js";class v{constructor(e){this._defaults=e,this._worker=null,this._client=null,this._idleCheckInterval=window.setInterval(()=>this._checkIfIdle(),3e4),this._lastUsedTime=0,this._configChangeListener=this._defaults.onDidChange(()=>this._stopWorker())}_stopWorker(){this._worker&&(this._worker.dispose(),this._worker=null),this._client=null}dispose(){clearInterval(this._idleCheckInterval),this._configChangeListener.dispose(),this._stopWorker()}_checkIfIdle(){if(!this._worker)return;Date.now()-this._lastUsedTime>12e4&&this._stopWorker()}_getClient(){return this._lastUsedTime=Date.now(),this._client||(this._worker=e({moduleId:"vs/language/css/cssWorker",createWorker:()=>new Worker(new URL(""+new URL("css.worker-CqmadvsI.js",import.meta.url).href,import.meta.url),{type:"module"}),label:this._defaults.languageId,createData:{options:this._defaults.options,languageId:this._defaults.languageId}}),this._client=this._worker.getProxy()),this._client}getLanguageServiceWorker(...e){let t;return this._getClient().then(e=>{t=e}).then(t=>{if(this._worker)return this._worker.withSyncedResources(e)}).then(e=>t)}}function I(e){const m=[],_=[],w=new v(e);m.push(w);const f=(...e)=>w.getLanguageServiceWorker(...e);return function(){const{languageId:m,modeConfiguration:w}=e;R(_),w.completionItems&&_.push(t.registerCompletionItemProvider(m,new s(f,["/","-",":"]))),w.hovers&&_.push(t.registerHoverProvider(m,new r(f))),w.documentHighlights&&_.push(t.registerDocumentHighlightProvider(m,new i(f))),w.definitions&&_.push(t.registerDefinitionProvider(m,new n(f))),w.references&&_.push(t.registerReferenceProvider(m,new o(f))),w.documentSymbols&&_.push(t.registerDocumentSymbolProvider(m,new a(f))),w.rename&&_.push(t.registerRenameProvider(m,new h(f))),w.colors&&_.push(t.registerColorProvider(m,new g(f))),w.foldingRanges&&_.push(t.registerFoldingRangeProvider(m,new l(f))),w.diagnostics&&_.push(new u(m,f,e.onDidChange)),w.selectionRanges&&_.push(t.registerSelectionRangeProvider(m,new d(f))),w.documentFormattingEdits&&_.push(t.registerDocumentFormattingEditProvider(m,new c(f))),w.documentRangeFormattingEdits&&_.push(t.registerDocumentRangeFormattingEditProvider(m,new p(f)))}(),m.push(P(_)),P(m)}function P(e){return{dispose:()=>R(e)}}function R(e){for(;e.length;)e.pop().dispose()}export{s as CompletionAdapter,n as DefinitionAdapter,u as DiagnosticsAdapter,g as DocumentColorAdapter,c as DocumentFormattingEditProvider,i as DocumentHighlightAdapter,m as DocumentLinkAdapter,p as DocumentRangeFormattingEditProvider,a as DocumentSymbolAdapter,l as FoldingRangeAdapter,r as HoverAdapter,o as ReferenceAdapter,h as RenameAdapter,d as SelectionRangeAdapter,v as WorkerManager,_ as fromPosition,w as fromRange,I as setupMode,f as toRange,k as toTextEdit};
1
+ import{c as e,l as t}from"./editor.main-D3OeexuM.js";import{C as s,H as r,D as i,a as n,R as o,b as a,c as h,d as g,F as l,e as u,S as d,f as c,g as p}from"./lspLanguageFeatures-DPfu7xeZ.js";import{h as m,i as _,j as w,t as f,k}from"./lspLanguageFeatures-DPfu7xeZ.js";import"./index-NKpYs0Ew.js";class v{constructor(e){this._defaults=e,this._worker=null,this._client=null,this._idleCheckInterval=window.setInterval(()=>this._checkIfIdle(),3e4),this._lastUsedTime=0,this._configChangeListener=this._defaults.onDidChange(()=>this._stopWorker())}_stopWorker(){this._worker&&(this._worker.dispose(),this._worker=null),this._client=null}dispose(){clearInterval(this._idleCheckInterval),this._configChangeListener.dispose(),this._stopWorker()}_checkIfIdle(){if(!this._worker)return;Date.now()-this._lastUsedTime>12e4&&this._stopWorker()}_getClient(){return this._lastUsedTime=Date.now(),this._client||(this._worker=e({moduleId:"vs/language/css/cssWorker",createWorker:()=>new Worker(new URL(""+new URL("css.worker-CqmadvsI.js",import.meta.url).href,import.meta.url),{type:"module"}),label:this._defaults.languageId,createData:{options:this._defaults.options,languageId:this._defaults.languageId}}),this._client=this._worker.getProxy()),this._client}getLanguageServiceWorker(...e){let t;return this._getClient().then(e=>{t=e}).then(t=>{if(this._worker)return this._worker.withSyncedResources(e)}).then(e=>t)}}function I(e){const m=[],_=[],w=new v(e);m.push(w);const f=(...e)=>w.getLanguageServiceWorker(...e);return function(){const{languageId:m,modeConfiguration:w}=e;R(_),w.completionItems&&_.push(t.registerCompletionItemProvider(m,new s(f,["/","-",":"]))),w.hovers&&_.push(t.registerHoverProvider(m,new r(f))),w.documentHighlights&&_.push(t.registerDocumentHighlightProvider(m,new i(f))),w.definitions&&_.push(t.registerDefinitionProvider(m,new n(f))),w.references&&_.push(t.registerReferenceProvider(m,new o(f))),w.documentSymbols&&_.push(t.registerDocumentSymbolProvider(m,new a(f))),w.rename&&_.push(t.registerRenameProvider(m,new h(f))),w.colors&&_.push(t.registerColorProvider(m,new g(f))),w.foldingRanges&&_.push(t.registerFoldingRangeProvider(m,new l(f))),w.diagnostics&&_.push(new u(m,f,e.onDidChange)),w.selectionRanges&&_.push(t.registerSelectionRangeProvider(m,new d(f))),w.documentFormattingEdits&&_.push(t.registerDocumentFormattingEditProvider(m,new c(f))),w.documentRangeFormattingEdits&&_.push(t.registerDocumentRangeFormattingEditProvider(m,new p(f)))}(),m.push(P(_)),P(m)}function P(e){return{dispose:()=>R(e)}}function R(e){for(;e.length;)e.pop().dispose()}export{s as CompletionAdapter,n as DefinitionAdapter,u as DiagnosticsAdapter,g as DocumentColorAdapter,c as DocumentFormattingEditProvider,i as DocumentHighlightAdapter,m as DocumentLinkAdapter,p as DocumentRangeFormattingEditProvider,a as DocumentSymbolAdapter,l as FoldingRangeAdapter,r as HoverAdapter,o as ReferenceAdapter,h as RenameAdapter,d as SelectionRangeAdapter,v as WorkerManager,_ as fromPosition,w as fromRange,I as setupMode,f as toRange,k as toTextEdit};