ssh-mcp-pro 1.1.5 → 1.2.3

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 (135) hide show
  1. package/CHANGELOG.md +46 -0
  2. package/README.md +47 -7
  3. package/SECURITY.md +4 -0
  4. package/SECURITY_DECISIONS.md +32 -1
  5. package/dist/agent-bin.js +0 -0
  6. package/dist/connector-profile.d.ts +19 -2
  7. package/dist/connector-profile.d.ts.map +1 -1
  8. package/dist/connector-profile.js +36 -14
  9. package/dist/connector-profile.js.map +1 -1
  10. package/dist/http-security.d.ts.map +1 -1
  11. package/dist/http-security.js +19 -4
  12. package/dist/http-security.js.map +1 -1
  13. package/dist/http-server-lifecycle.d.ts +17 -0
  14. package/dist/http-server-lifecycle.d.ts.map +1 -0
  15. package/dist/http-server-lifecycle.js +122 -0
  16. package/dist/http-server-lifecycle.js.map +1 -0
  17. package/dist/http-server-router.d.ts +28 -0
  18. package/dist/http-server-router.d.ts.map +1 -0
  19. package/dist/http-server-router.js +108 -0
  20. package/dist/http-server-router.js.map +1 -0
  21. package/dist/http-server-runtime.d.ts +21 -0
  22. package/dist/http-server-runtime.d.ts.map +1 -0
  23. package/dist/http-server-runtime.js +415 -0
  24. package/dist/http-server-runtime.js.map +1 -0
  25. package/dist/http-session-registry.d.ts.map +1 -1
  26. package/dist/http-session-registry.js.map +1 -1
  27. package/dist/index.js +12 -5
  28. package/dist/index.js.map +1 -1
  29. package/dist/mcp.d.ts +1 -1
  30. package/dist/mcp.js +1 -1
  31. package/dist/prompts.d.ts +2 -11
  32. package/dist/prompts.d.ts.map +1 -1
  33. package/dist/prompts.js +8 -1
  34. package/dist/prompts.js.map +1 -1
  35. package/dist/remote/agent-cli.d.ts.map +1 -1
  36. package/dist/remote/agent-cli.js +20 -1
  37. package/dist/remote/agent-cli.js.map +1 -1
  38. package/dist/remote/agent-connection-lifecycle.d.ts +47 -0
  39. package/dist/remote/agent-connection-lifecycle.d.ts.map +1 -0
  40. package/dist/remote/agent-connection-lifecycle.js +304 -0
  41. package/dist/remote/agent-connection-lifecycle.js.map +1 -0
  42. package/dist/remote/agent-executor.d.ts.map +1 -1
  43. package/dist/remote/agent-executor.js +89 -67
  44. package/dist/remote/agent-executor.js.map +1 -1
  45. package/dist/remote/agent-handler.d.ts +22 -8
  46. package/dist/remote/agent-handler.d.ts.map +1 -1
  47. package/dist/remote/agent-handler.js +151 -98
  48. package/dist/remote/agent-handler.js.map +1 -1
  49. package/dist/remote/config.d.ts.map +1 -1
  50. package/dist/remote/config.js +14 -0
  51. package/dist/remote/config.js.map +1 -1
  52. package/dist/remote/control-plane.d.ts.map +1 -1
  53. package/dist/remote/control-plane.js +16 -0
  54. package/dist/remote/control-plane.js.map +1 -1
  55. package/dist/remote/oauth-handler.d.ts +6 -0
  56. package/dist/remote/oauth-handler.d.ts.map +1 -1
  57. package/dist/remote/oauth-handler.js +61 -1
  58. package/dist/remote/oauth-handler.js.map +1 -1
  59. package/dist/remote/policy-update-guard.d.ts +14 -0
  60. package/dist/remote/policy-update-guard.d.ts.map +1 -0
  61. package/dist/remote/policy-update-guard.js +27 -0
  62. package/dist/remote/policy-update-guard.js.map +1 -0
  63. package/dist/remote/policy.d.ts.map +1 -1
  64. package/dist/remote/policy.js +13 -2
  65. package/dist/remote/policy.js.map +1 -1
  66. package/dist/remote/safe-file.d.ts +6 -0
  67. package/dist/remote/safe-file.d.ts.map +1 -0
  68. package/dist/remote/safe-file.js +192 -0
  69. package/dist/remote/safe-file.js.map +1 -0
  70. package/dist/remote/store.d.ts.map +1 -1
  71. package/dist/remote/store.js.map +1 -1
  72. package/dist/remote/types.d.ts +5 -0
  73. package/dist/remote/types.d.ts.map +1 -1
  74. package/dist/remote/websocket.d.ts +38 -13
  75. package/dist/remote/websocket.d.ts.map +1 -1
  76. package/dist/remote/websocket.js +90 -126
  77. package/dist/remote/websocket.js.map +1 -1
  78. package/dist/render-http.js +2 -1
  79. package/dist/render-http.js.map +1 -1
  80. package/dist/resources.d.ts +2 -7
  81. package/dist/resources.d.ts.map +1 -1
  82. package/dist/resources.js.map +1 -1
  83. package/dist/retry.d.ts.map +1 -1
  84. package/dist/retry.js +4 -2
  85. package/dist/retry.js.map +1 -1
  86. package/dist/server-http.d.ts +1 -1
  87. package/dist/server-http.d.ts.map +1 -1
  88. package/dist/server-http.js +1 -421
  89. package/dist/server-http.js.map +1 -1
  90. package/dist/session.d.ts +4 -0
  91. package/dist/session.d.ts.map +1 -1
  92. package/dist/session.js +38 -15
  93. package/dist/session.js.map +1 -1
  94. package/dist/tools/connector.provider.d.ts.map +1 -1
  95. package/dist/tools/connector.provider.js +2 -1
  96. package/dist/tools/connector.provider.js.map +1 -1
  97. package/dist/types.d.ts.map +1 -1
  98. package/dist/types.js.map +1 -1
  99. package/docs/agent-runtime-config.md +34 -0
  100. package/docs/development/api-stability.md +44 -0
  101. package/docs/development/coding-standards.md +41 -0
  102. package/docs/development/commit-conventions.md +35 -0
  103. package/docs/development/dependency-management.md +60 -0
  104. package/docs/development/deprecation-policy.md +29 -0
  105. package/docs/development/local-setup.md +46 -0
  106. package/docs/development/release-process.md +31 -0
  107. package/docs/development/testing-policy.md +47 -0
  108. package/docs/explanation/architecture.md +44 -0
  109. package/docs/how-to/README.md +14 -0
  110. package/docs/how-to/configure-ssh-policy.md +50 -0
  111. package/docs/openssf-evidence.md +75 -0
  112. package/docs/openssf-gap-analysis.md +63 -0
  113. package/docs/openssf-proposal-links.md +37 -0
  114. package/docs/professionalization-plan.md +81 -0
  115. package/docs/reference/README.md +21 -0
  116. package/docs/reference/cli.md +41 -0
  117. package/docs/reference/compatibility.md +46 -0
  118. package/docs/reference/configuration.md +72 -0
  119. package/docs/remote-mcp-hardening.md +27 -0
  120. package/docs/repo-maturity-report.md +565 -0
  121. package/docs/security/assurance-case.md +58 -0
  122. package/docs/security/dependency-audit-exceptions.json +4 -0
  123. package/docs/security/dependency-audit-exceptions.md +15 -0
  124. package/docs/security/input-validation.md +54 -0
  125. package/docs/security/release-integrity.md +28 -0
  126. package/docs/security/scanning-policy.md +50 -0
  127. package/docs/security/secrets-management.md +49 -0
  128. package/docs/security/threat-model.md +65 -0
  129. package/docs/testing.md +24 -0
  130. package/docs/troubleshooting.md +56 -0
  131. package/docs/tutorials/getting-started.md +84 -0
  132. package/mcp.json +1 -1
  133. package/package.json +86 -70
  134. package/registry/ssh-mcp-pro/mcp.json +1 -1
  135. package/server.json +3 -3
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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"}
package/dist/mcp.d.ts CHANGED
@@ -1,6 +1,6 @@
1
1
  import type { Transport } from "@modelcontextprotocol/sdk/shared/transport.js";
2
2
  import type { AppContainer } from "./container.js";
3
- export declare const SERVER_VERSION = "1.1.5";
3
+ export declare const SERVER_VERSION = "1.2.3";
4
4
  export declare const SERVER_NAME = "io.github.oaslananka/ssh-mcp-pro";
5
5
  export declare class SSHMCPServer {
6
6
  private readonly container;
package/dist/mcp.js CHANGED
@@ -6,7 +6,7 @@ import { listResources, readResource } from "./resources.js";
6
6
  import { getMCPPrompt, listMCPPrompts } from "./prompts.js";
7
7
  import { withSpan } from "./telemetry.js";
8
8
  import { createToolRegistry } from "./tools/index.js";
9
- export const SERVER_VERSION = "1.1.5"; // x-release-please-version
9
+ export const SERVER_VERSION = "1.2.3"; // x-release-please-version
10
10
  export const SERVER_NAME = "io.github.oaslananka/ssh-mcp-pro";
11
11
  function getSessionIdFromArgs(args) {
12
12
  if (typeof args !== "object" || args === null || Array.isArray(args)) {
package/dist/prompts.d.ts CHANGED
@@ -1,4 +1,4 @@
1
- import { type ToolProfile } from "./connector-profile.js";
1
+ import { type ToolProfile, type MCPPromptDefinition } from "./connector-profile.js";
2
2
  /**
3
3
  * Prompt suggestions for AI assistants (ChatGPT, Claude, etc.)
4
4
  * These help users understand what they can do with the SSH MCP tool
@@ -9,16 +9,7 @@ export interface PromptSuggestion {
9
9
  prompt: string;
10
10
  category: "session" | "command" | "file" | "system" | "package";
11
11
  }
12
- export interface MCPPromptDefinition {
13
- name: string;
14
- title: string;
15
- description: string;
16
- arguments?: Array<{
17
- name: string;
18
- description: string;
19
- required?: boolean;
20
- }>;
21
- }
12
+ export type { MCPPromptDefinition } from "./connector-profile.js";
22
13
  export declare const PROMPT_SUGGESTIONS: PromptSuggestion[];
23
14
  export declare const MCP_PROMPTS: MCPPromptDefinition[];
24
15
  export declare function listMCPPrompts(profile?: ToolProfile): {
@@ -1 +1 @@
1
- {"version":3,"file":"prompts.d.ts","sourceRoot":"","sources":["../src/prompts.ts"],"names":[],"mappings":"AAAA,OAAO,EAGL,KAAK,WAAW,EACjB,MAAM,wBAAwB,CAAC;AAEhC;;;GAGG;AAEH,MAAM,WAAW,gBAAgB;IAC/B,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,EAAE,MAAM,CAAC;IACpB,MAAM,EAAE,MAAM,CAAC;IACf,QAAQ,EAAE,SAAS,GAAG,SAAS,GAAG,MAAM,GAAG,QAAQ,GAAG,SAAS,CAAC;CACjE;AAED,MAAM,WAAW,mBAAmB;IAClC,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,MAAM,CAAC;IACd,WAAW,EAAE,MAAM,CAAC;IACpB,SAAS,CAAC,EAAE,KAAK,CAAC;QAChB,IAAI,EAAE,MAAM,CAAC;QACb,WAAW,EAAE,MAAM,CAAC;QACpB,QAAQ,CAAC,EAAE,OAAO,CAAC;KACpB,CAAC,CAAC;CACJ;AAED,eAAO,MAAM,kBAAkB,EAAE,gBAAgB,EA0EhD,CAAC;AAEF,eAAO,MAAM,WAAW,EAAE,mBAAmB,EA6B5C,CAAC;AAEF,wBAAgB,cAAc,CAAC,OAAO,GAAE,WAAoB;;EAO3D;AAED,wBAAgB,YAAY,CAC1B,IAAI,EAAE,MAAM,EACZ,IAAI,GAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAM,EACjC,OAAO,GAAE,WAAoB;;;;;;;;;EAwB9B;AAkCD;;GAEG;AACH,wBAAgB,oBAAoB,CAAC,QAAQ,EAAE,gBAAgB,CAAC,UAAU,CAAC,GAAG,gBAAgB,EAAE,CAE/F;AAED;;GAEG;AACH,wBAAgB,gBAAgB,CAAC,KAAK,SAAI,GAAG,gBAAgB,EAAE,CAG9D;AAED;;GAEG;AACH,wBAAgB,uBAAuB,IAAI,MAAM,CAgBhD"}
1
+ {"version":3,"file":"prompts.d.ts","sourceRoot":"","sources":["../src/prompts.ts"],"names":[],"mappings":"AACA,OAAO,EAGL,KAAK,WAAW,EAChB,KAAK,mBAAmB,EACzB,MAAM,wBAAwB,CAAC;AAEhC;;;GAGG;AAEH,MAAM,WAAW,gBAAgB;IAC/B,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,EAAE,MAAM,CAAC;IACpB,MAAM,EAAE,MAAM,CAAC;IACf,QAAQ,EAAE,SAAS,GAAG,SAAS,GAAG,MAAM,GAAG,QAAQ,GAAG,SAAS,CAAC;CACjE;AAED,YAAY,EAAE,mBAAmB,EAAE,MAAM,wBAAwB,CAAC;AAElE,eAAO,MAAM,kBAAkB,EAAE,gBAAgB,EA0EhD,CAAC;AAEF,eAAO,MAAM,WAAW,EAAE,mBAAmB,EA6B5C,CAAC;AAEF,wBAAgB,cAAc,CAAC,OAAO,GAAE,WAAoB;;EAO3D;AAED,wBAAgB,YAAY,CAC1B,IAAI,EAAE,MAAM,EACZ,IAAI,GAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAM,EACjC,OAAO,GAAE,WAAoB;;;;;;;;;EAwB9B;AAkCD;;GAEG;AACH,wBAAgB,oBAAoB,CAAC,QAAQ,EAAE,gBAAgB,CAAC,UAAU,CAAC,GAAG,gBAAgB,EAAE,CAE/F;AAED;;GAEG;AACH,wBAAgB,gBAAgB,CAAC,KAAK,SAAI,GAAG,gBAAgB,EAAE,CAS9D;AAED;;GAEG;AACH,wBAAgB,uBAAuB,IAAI,MAAM,CAgBhD"}
package/dist/prompts.js CHANGED
@@ -1,3 +1,4 @@
1
+ import { randomInt } from "node:crypto";
1
2
  import { filterPromptsForProfile, isPromptAllowedForProfile, } from "./connector-profile.js";
2
3
  export const PROMPT_SUGGESTIONS = [
3
4
  // Session management
@@ -167,7 +168,13 @@ export function getPromptsByCategory(category) {
167
168
  * Get a random subset of prompts for initial suggestions
168
169
  */
169
170
  export function getRandomPrompts(count = 5) {
170
- const shuffled = [...PROMPT_SUGGESTIONS].sort(() => Math.random() - 0.5);
171
+ const shuffled = [...PROMPT_SUGGESTIONS];
172
+ for (let i = shuffled.length - 1; i > 0; i--) {
173
+ const j = randomInt(i + 1);
174
+ const temp = shuffled[i];
175
+ shuffled[i] = shuffled[j];
176
+ shuffled[j] = temp;
177
+ }
171
178
  return shuffled.slice(0, count);
172
179
  }
173
180
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"prompts.js","sourceRoot":"","sources":["../src/prompts.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"prompts.js","sourceRoot":"","sources":["../src/prompts.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"agent-cli.d.ts","sourceRoot":"","sources":["../../src/remote/agent-cli.ts"],"names":[],"mappings":"AA2TA,wBAAsB,WAAW,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC,CA0B/D"}
1
+ {"version":3,"file":"agent-cli.d.ts","sourceRoot":"","sources":["../../src/remote/agent-cli.ts"],"names":[],"mappings":"AAyVA,wBAAsB,WAAW,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC,CA0B/D"}
@@ -3,10 +3,21 @@ import os from "node:os";
3
3
  import path from "node:path";
4
4
  import { AgentExecutor, defaultHostMetadata } from "./agent-executor.js";
5
5
  import { ensurePemKeyPair, nowIso, randomToken, signEnvelope, verifyEnvelope, } from "./crypto.js";
6
+ import { rememberAcceptedPolicyUpdate, validatePolicyUpdate, } from "./policy-update-guard.js";
6
7
  import { parseControlPlaneEnvelope, parseAgentPolicy } from "./schemas.js";
7
8
  function output(line) {
8
9
  process.stdout.write(`${line}\n`);
9
10
  }
11
+ const POLICY_UPDATE_REJECTION_EVENTS = {
12
+ replay: "policy_update_replay",
13
+ stale: "policy_update_stale",
14
+ future: "policy_update_future",
15
+ version_mismatch: "policy_version_mismatch",
16
+ not_newer: "policy_version_not_newer",
17
+ };
18
+ function recordPolicyUpdateRejection(reason) {
19
+ process.stderr.write(`Agent policy update rejected: ${POLICY_UPDATE_REJECTION_EVENTS[reason]}\n`);
20
+ }
10
21
  function configPath() {
11
22
  return (process.env.SSHAUTOMATOR_AGENT_CONFIG ?? path.join(os.homedir(), ".sshautomator", "agent.json"));
12
23
  }
@@ -107,6 +118,7 @@ async function runAgent() {
107
118
  const WebSocketCtor = runtimeWebSocket();
108
119
  const executor = new AgentExecutor(config.policy, config.privateKeyPem);
109
120
  const seenActions = new Map();
121
+ const seenPolicyUpdateNonces = new Map();
110
122
  function rememberAction(actionId, deadline) {
111
123
  const now = Date.now();
112
124
  for (const [seenActionId, expiresAt] of seenActions.entries()) {
@@ -170,9 +182,16 @@ async function runAgent() {
170
182
  }
171
183
  if (envelope.type === "policy.update") {
172
184
  const update = envelope;
185
+ const validation = validatePolicyUpdate(update, config.policy.version, seenPolicyUpdateNonces);
186
+ if (!validation.accepted) {
187
+ recordPolicyUpdateRejection(validation.reason);
188
+ return;
189
+ }
190
+ const nextConfig = { ...config, policy: update.policy };
191
+ saveConfig(nextConfig);
192
+ rememberAcceptedPolicyUpdate(seenPolicyUpdateNonces, update.nonce);
173
193
  config.policy = update.policy;
174
194
  executor.updatePolicy(update.policy);
175
- saveConfig(config);
176
195
  return;
177
196
  }
178
197
  const action = envelope;
@@ -1 +1 @@
1
- {"version":3,"file":"agent-cli.js","sourceRoot":"","sources":["../../src/remote/agent-cli.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"agent-cli.js","sourceRoot":"","sources":["../../src/remote/agent-cli.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,SAAS,EAAE,YAAY,EAAE,aAAa,EAAE,MAAM,SAAS,CAAC;AAC7E,OAAO,EAAE,MAAM,SAAS,CAAC;AACzB,OAAO,IAAI,MAAM,WAAW,CAAC;AAC7B,OAAO,EAAE,aAAa,EAAE,mBAAmB,EAAE,MAAM,qBAAqB,CAAC;AACzE,OAAO,EACL,gBAAgB,EAChB,MAAM,EACN,WAAW,EACX,YAAY,EACZ,cAAc,GAEf,MAAM,aAAa,CAAC;AACrB,OAAO,EACL,4BAA4B,EAC5B,oBAAoB,GAErB,MAAM,0BAA0B,CAAC;AAClC,OAAO,EAAE,yBAAyB,EAAE,gBAAgB,EAAE,MAAM,cAAc,CAAC;AA0B3E,SAAS,MAAM,CAAC,IAAY;IAC1B,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,GAAG,IAAI,IAAI,CAAC,CAAC;AACpC,CAAC;AAED,MAAM,8BAA8B,GAAgD;IAClF,MAAM,EAAE,sBAAsB;IAC9B,KAAK,EAAE,qBAAqB;IAC5B,MAAM,EAAE,sBAAsB;IAC9B,gBAAgB,EAAE,yBAAyB;IAC3C,SAAS,EAAE,0BAA0B;CACtC,CAAC;AAEF,SAAS,2BAA2B,CAAC,MAAmC;IACtE,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,iCAAiC,8BAA8B,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;AACpG,CAAC;AAED,SAAS,UAAU;IACjB,OAAO,CACL,OAAO,CAAC,GAAG,CAAC,yBAAyB,IAAI,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,OAAO,EAAE,EAAE,eAAe,EAAE,YAAY,CAAC,CAChG,CAAC;AACJ,CAAC;AAED,SAAS,OAAO;IACd,OAAO,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,UAAU,EAAE,CAAC,EAAE,oBAAoB,CAAC,CAAC;AACrE,CAAC;AAED,SAAS,UAAU;IACjB,OAAO,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,UAAU,EAAE,EAAE,MAAM,CAAC,CAAoB,CAAC;AAC3E,CAAC;AAED,SAAS,aAAa;IACpB,IAAI,CAAC,UAAU,CAAC,UAAU,EAAE,CAAC,EAAE,CAAC;QAC9B,MAAM,IAAI,KAAK,CACb;YACE,wBAAwB;YACxB,8BAA8B;YAC9B,2HAA2H;SAC5H,CAAC,IAAI,CAAC,IAAI,CAAC,CACb,CAAC;IACJ,CAAC;IACD,OAAO,UAAU,EAAE,CAAC;AACtB,CAAC;AAED,SAAS,UAAU,CAAC,MAAuB;IACzC,MAAM,MAAM,GAAG,UAAU,EAAE,CAAC;IAC5B,SAAS,CAAC,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;IACrD,aAAa,CAAC,MAAM,EAAE,IAAI,CAAC,SAAS,CAAC,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC,EAAE,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC,CAAC;AAC1E,CAAC;AAED,SAAS,SAAS,CAAC,IAAc,EAAE,IAAY;IAC7C,MAAM,KAAK,GAAG,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;IACjC,OAAO,KAAK,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;AAClD,CAAC;AAED,KAAK,UAAU,QAAQ,CACrB,GAAW,EACX,OAAgC;IAEhC,MAAM,QAAQ,GAAG,MAAM,KAAK,CAAC,GAAG,EAAE;QAChC,MAAM,EAAE,MAAM;QACd,OAAO,EAAE,EAAE,cAAc,EAAE,kBAAkB,EAAE;QAC/C,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC;KAC9B,CAAC,CAAC;IACH,MAAM,IAAI,GAAG,MAAM,QAAQ,CAAC,IAAI,EAAE,CAAC;IACnC,IAAI,CAAC,QAAQ,CAAC,EAAE,EAAE,CAAC;QACjB,MAAM,IAAI,KAAK,CAAC,QAAQ,QAAQ,CAAC,MAAM,KAAK,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IACtE,CAAC;IACD,IAAI,CAAC,IAAI,IAAI,OAAO,IAAI,KAAK,QAAQ,IAAI,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,CAAC;QAC7D,MAAM,IAAI,KAAK,CAAC,+BAA+B,CAAC,CAAC;IACnD,CAAC;IACD,OAAO,IAA+B,CAAC;AACzC,CAAC;AAED,SAAS,aAAa,CAAC,KAAc,EAAE,IAAY;IACjD,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACpD,MAAM,IAAI,KAAK,CAAC,GAAG,IAAI,cAAc,CAAC,CAAC;IACzC,CAAC;IACD,OAAO,KAAK,CAAC;AACf,CAAC;AAED,SAAS,aAAa,CAAC,KAAc;IACnC,IAAI,CAAC;QACH,OAAO,gBAAgB,CAAC,KAAK,CAAC,CAAC;IACjC,CAAC;IAAC,MAAM,CAAC;QACP,MAAM,IAAI,KAAK,CAAC,kDAAkD,CAAC,CAAC;IACtE,CAAC;AACH,CAAC;AAED,SAAS,gBAAgB;IACvB,MAAM,SAAS,GAAI,UAAqE;SACrF,SAAS,CAAC;IACb,IAAI,CAAC,SAAS,EAAE,CAAC;QACf,MAAM,IAAI,KAAK,CAAC,6EAA6E,CAAC,CAAC;IACjG,CAAC;IACD,OAAO,SAAS,CAAC;AACnB,CAAC;AAED,KAAK,UAAU,MAAM,CAAC,IAAc;IAClC,MAAM,MAAM,GAAG,SAAS,CAAC,IAAI,EAAE,UAAU,CAAC,EAAE,OAAO,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC;IACjE,MAAM,KAAK,GAAG,SAAS,CAAC,IAAI,EAAE,SAAS,CAAC,CAAC;IACzC,MAAM,KAAK,GAAG,SAAS,CAAC,IAAI,EAAE,SAAS,CAAC,IAAI,EAAE,CAAC,QAAQ,EAAE,CAAC;IAC1D,IAAI,CAAC,MAAM,IAAI,CAAC,KAAK,EAAE,CAAC;QACtB,MAAM,IAAI,KAAK,CACb,gFAAgF,CACjF,CAAC;IACJ,CAAC;IACD,MAAM,OAAO,GAAe,gBAAgB,CAAC,OAAO,EAAE,CAAC,CAAC;IACxD,MAAM,QAAQ,GAAG,MAAM,QAAQ,CAAC,GAAG,MAAM,oBAAoB,EAAE;QAC7D,KAAK;QACL,UAAU,EAAE,OAAO,CAAC,YAAY;QAChC,KAAK;QACL,aAAa,EAAE,OAAO,CAAC,GAAG,CAAC,mBAAmB,IAAI,SAAS;QAC3D,IAAI,EAAE,mBAAmB,EAA8B;KACxD,CAAC,CAAC;IACH,MAAM,MAAM,GAAoB;QAC9B,MAAM;QACN,OAAO,EAAE,aAAa,CAAC,QAAQ,CAAC,QAAQ,EAAE,UAAU,CAAC;QACrD,KAAK,EAAE,aAAa,CAAC,QAAQ,CAAC,KAAK,EAAE,OAAO,CAAC;QAC7C,YAAY,EAAE,OAAO,CAAC,YAAY;QAClC,aAAa,EAAE,OAAO,CAAC,aAAa;QACpC,wBAAwB,EAAE,aAAa,CACrC,QAAQ,CAAC,wBAAwB,EACjC,0BAA0B,CAC3B;QACD,MAAM,EAAE,aAAa,CAAC,QAAQ,CAAC,MAAM,CAAC;QACtC,YAAY,EAAE,aAAa,CAAC,QAAQ,CAAC,aAAa,EAAE,eAAe,CAAC;QACpE,UAAU,EAAE,MAAM,EAAE;KACrB,CAAC;IACF,UAAU,CAAC,MAAM,CAAC,CAAC;IACnB,MAAM,CAAC,mBAAmB,MAAM,CAAC,OAAO,KAAK,MAAM,CAAC,KAAK,GAAG,CAAC,CAAC;IAC9D,MAAM,CAAC,WAAW,UAAU,EAAE,EAAE,CAAC,CAAC;AACpC,CAAC;AAED,KAAK,UAAU,QAAQ;IACrB,MAAM,MAAM,GAAG,aAAa,EAAE,CAAC;IAC/B,MAAM,aAAa,GAAG,gBAAgB,EAAE,CAAC;IACzC,MAAM,QAAQ,GAAG,IAAI,aAAa,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,aAAa,CAAC,CAAC;IACxE,MAAM,WAAW,GAAG,IAAI,GAAG,EAAkB,CAAC;IAC9C,MAAM,sBAAsB,GAAG,IAAI,GAAG,EAAkB,CAAC;IAEzD,SAAS,cAAc,CAAC,QAAgB,EAAE,QAAgB;QACxD,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;QACvB,KAAK,MAAM,CAAC,YAAY,EAAE,SAAS,CAAC,IAAI,WAAW,CAAC,OAAO,EAAE,EAAE,CAAC;YAC9D,IAAI,SAAS,IAAI,GAAG,EAAE,CAAC;gBACrB,WAAW,CAAC,MAAM,CAAC,YAAY,CAAC,CAAC;YACnC,CAAC;QACH,CAAC;QACD,IAAI,WAAW,CAAC,GAAG,CAAC,QAAQ,CAAC,EAAE,CAAC;YAC9B,OAAO,KAAK,CAAC;QACf,CAAC;QACD,WAAW,CAAC,GAAG,CAAC,QAAQ,EAAE,IAAI,IAAI,CAAC,QAAQ,CAAC,CAAC,OAAO,EAAE,CAAC,CAAC;QACxD,OAAO,WAAW,CAAC,IAAI,GAAG,MAAM,EAAE,CAAC;YACjC,MAAM,MAAM,GAAG,WAAW,CAAC,IAAI,EAAE,CAAC,IAAI,EAAE,CAAC,KAAK,CAAC;YAC/C,IAAI,CAAC,MAAM,EAAE,CAAC;gBACZ,MAAM;YACR,CAAC;YACD,WAAW,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;QAC7B,CAAC;QACD,OAAO,IAAI,CAAC;IACd,CAAC;IAED,MAAM,IAAI,OAAO,CAAO,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;QAC1C,MAAM,EAAE,GAAG,IAAI,aAAa,CAAC,MAAM,CAAC,YAAY,CAAC,CAAC;QAClD,EAAE,CAAC,MAAM,GAAG,GAAG,EAAE;YACf,MAAM,KAAK,GAAuB;gBAChC,IAAI,EAAE,aAAa;gBACnB,QAAQ,EAAE,MAAM,CAAC,OAAO;gBACxB,SAAS,EAAE,MAAM,EAAE;gBACnB,KAAK,EAAE,WAAW,CAAC,EAAE,CAAC;gBACtB,YAAY,EAAE,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,MAAM,CAAC,YAAY,CAAC;qBACrD,MAAM,CAAC,CAAC,CAAC,EAAE,OAAO,CAAC,EAAE,EAAE,CAAC,OAAO,CAAC;qBAChC,GAAG,CAAC,CAAC,CAAC,UAAU,CAAC,EAAE,EAAE,CAAC,UAAwD,CAAC;gBAClF,aAAa,EAAE,OAAO,CAAC,GAAG,CAAC,mBAAmB,IAAI,SAAS;gBAC3D,IAAI,EAAE,mBAAmB,EAAE;gBAC3B,SAAS,EAAE,EAAE;aACd,CAAC;YACF,KAAK,CAAC,SAAS,GAAG,YAAY,CAC5B,KAA2C,EAC3C,MAAM,CAAC,aAAa,CACrB,CAAC;YACF,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC,CAAC;YAC/B,MAAM,CAAC,oBAAoB,MAAM,CAAC,OAAO,EAAE,CAAC,CAAC;QAC/C,CAAC,CAAC;QACF,EAAE,CAAC,SAAS,GAAG,CAAC,KAAK,EAAE,EAAE;YACvB,KAAK,CAAC,KAAK,IAAI,EAAE;gBACf,MAAM,GAAG,GACP,OAAO,KAAK,CAAC,IAAI,KAAK,QAAQ;oBAC5B,CAAC,CAAC,KAAK,CAAC,IAAI;oBACZ,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,IAAmB,CAAC,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC;gBAC9D,MAAM,OAAO,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAY,CAAC;gBAC3C,IAAI,CAAC,OAAO,IAAI,OAAO,OAAO,KAAK,QAAQ,IAAI,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,EAAE,CAAC;oBACtE,OAAO;gBACT,CAAC;gBACD,IAAI,QAAsD,CAAC;gBAC3D,IAAI,CAAC;oBACH,QAAQ,GAAG,yBAAyB,CAAC,OAAO,CAAC,CAAC;gBAChD,CAAC;gBAAC,MAAM,CAAC;oBACP,OAAO;gBACT,CAAC;gBACD,IAAI,QAAQ,CAAC,QAAQ,KAAK,MAAM,CAAC,OAAO,EAAE,CAAC;oBACzC,OAAO;gBACT,CAAC;gBACD,IACE,CAAC,cAAc,CACb,QAA8C,EAC9C,MAAM,CAAC,wBAAwB,CAChC,EACD,CAAC;oBACD,OAAO;gBACT,CAAC;gBACD,IAAI,QAAQ,CAAC,IAAI,KAAK,eAAe,EAAE,CAAC;oBACtC,MAAM,MAAM,GAAG,QAAQ,CAAC;oBACxB,MAAM,UAAU,GAAG,oBAAoB,CACrC,MAAM,EACN,MAAM,CAAC,MAAM,CAAC,OAAO,EACrB,sBAAsB,CACvB,CAAC;oBACF,IAAI,CAAC,UAAU,CAAC,QAAQ,EAAE,CAAC;wBACzB,2BAA2B,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC;wBAC/C,OAAO;oBACT,CAAC;oBAED,MAAM,UAAU,GAAoB,EAAE,GAAG,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,CAAC;oBACzE,UAAU,CAAC,UAAU,CAAC,CAAC;oBACvB,4BAA4B,CAAC,sBAAsB,EAAE,MAAM,CAAC,KAAK,CAAC,CAAC;oBACnE,MAAM,CAAC,MAAM,GAAG,MAAM,CAAC,MAAM,CAAC;oBAC9B,QAAQ,CAAC,YAAY,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;oBACrC,OAAO;gBACT,CAAC;gBACD,MAAM,MAAM,GAAG,QAAQ,CAAC;gBACxB,IAAI,WAAW,CAAC,GAAG,CAAC,MAAM,CAAC,SAAS,CAAC,EAAE,CAAC;oBACtC,OAAO;gBACT,CAAC;gBACD,IAAI,IAAI,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,OAAO,EAAE,GAAG,IAAI,CAAC,GAAG,EAAE,EAAE,CAAC;oBACrD,OAAO;gBACT,CAAC;gBACD,IACE,MAAM,CAAC,cAAc,KAAK,MAAM,CAAC,MAAM,CAAC,OAAO;oBAC/C,MAAM,CAAC,cAAc,KAAK,MAAM,CAAC,MAAM,CAAC,OAAO,GAAG,CAAC,EACnD,CAAC;oBACD,OAAO;gBACT,CAAC;gBACD,cAAc,CAAC,MAAM,CAAC,SAAS,EAAE,MAAM,CAAC,QAAQ,CAAC,CAAC;gBAClD,MAAM,MAAM,GAAG,MAAM,QAAQ,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;gBAC9C,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC,CAAC;YAClC,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC,KAAK,EAAE,EAAE;gBACnB,OAAO,CAAC,MAAM,CAAC,KAAK,CAClB,wBAAwB,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,CACnF,CAAC;YACJ,CAAC,CAAC,CAAC;QACL,CAAC,CAAC;QACF,EAAE,CAAC,OAAO,GAAG,CAAC,KAAK,EAAE,EAAE,CAAC,MAAM,CAAC,IAAI,KAAK,CAAC,oBAAoB,MAAM,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,CAAC;QAC/E,EAAE,CAAC,OAAO,GAAG,GAAG,EAAE,CAAC,OAAO,EAAE,CAAC;IAC/B,CAAC,CAAC,CAAC;AACL,CAAC;AAED,SAAS,MAAM;IACb,IAAI,CAAC,UAAU,CAAC,UAAU,EAAE,CAAC,EAAE,CAAC;QAC9B,MAAM,CAAC,wBAAwB,CAAC,CAAC;QACjC,OAAO;IACT,CAAC;IACD,MAAM,MAAM,GAAG,UAAU,EAAE,CAAC;IAC5B,MAAM,CAAC,aAAa,MAAM,CAAC,OAAO,EAAE,CAAC,CAAC;IACtC,MAAM,CAAC,UAAU,MAAM,CAAC,KAAK,EAAE,CAAC,CAAC;IACjC,MAAM,CAAC,WAAW,MAAM,CAAC,MAAM,EAAE,CAAC,CAAC;IACnC,MAAM,CAAC,YAAY,MAAM,CAAC,MAAM,CAAC,OAAO,EAAE,CAAC,CAAC;IAC5C,MAAM,CAAC,WAAW,UAAU,EAAE,EAAE,CAAC,CAAC;AACpC,CAAC;AAED,SAAS,cAAc;IACrB,MAAM,MAAM,GAAG,UAAU,CAAC,UAAU,EAAE,CAAC,CAAC,CAAC,CAAC,UAAU,EAAE,CAAC,CAAC,CAAC,SAAS,CAAC;IACnE,MAAM,OAAO,GAAG,uBAAuB,CAAC;IACxC,IAAI,OAAO,CAAC,QAAQ,KAAK,OAAO,EAAE,CAAC;QACjC,MAAM,CAAC,uEAAuE,CAAC,CAAC;QAChF,MAAM,CAAC,2EAA2E,OAAO,EAAE,CAAC,CAAC;QAC7F,MAAM,CAAC,iBAAiB,UAAU,EAAE,EAAE,CAAC,CAAC;QACxC,OAAO;IACT,CAAC;IACD,IAAI,OAAO,CAAC,QAAQ,KAAK,QAAQ,EAAE,CAAC;QAClC,MAAM,CAAC,mCAAmC,CAAC,CAAC;QAC5C,MAAM,CAAC,OAAO,CAAC,CAAC;QAChB,MAAM,CAAC,iBAAiB,UAAU,EAAE,EAAE,CAAC,CAAC;QACxC,OAAO;IACT,CAAC;IACD,MAAM,CAAC,0CAA0C,CAAC,CAAC;IACnD,MAAM,CAAC,OAAO,CAAC,CAAC;IAChB,MAAM,CAAC,QAAQ,OAAO,CAAC,GAAG,CAAC,IAAI,IAAI,cAAc,EAAE,CAAC,CAAC;IACrD,MAAM,CAAC,SAAS,MAAM,EAAE,OAAO,IAAI,cAAc,EAAE,CAAC,CAAC;AACvD,CAAC;AAED,SAAS,gBAAgB;IACvB,IAAI,OAAO,CAAC,QAAQ,KAAK,OAAO,EAAE,CAAC;QACjC,MAAM,CAAC,+EAA+E,CAAC,CAAC;QACxF,OAAO;IACT,CAAC;IACD,IAAI,OAAO,CAAC,QAAQ,KAAK,QAAQ,EAAE,CAAC;QAClC,MAAM,CAAC,sEAAsE,CAAC,CAAC;QAC/E,OAAO;IACT,CAAC;IACD,MAAM,CAAC,yEAAyE,CAAC,CAAC;AACpF,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,WAAW,CAAC,IAAc;IAC9C,MAAM,OAAO,GAAG,IAAI,CAAC,CAAC,CAAC,IAAI,MAAM,CAAC;IAClC,QAAQ,OAAO,EAAE,CAAC;QAChB,KAAK,QAAQ;YACX,MAAM,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;YAC5B,MAAM;QACR,KAAK,KAAK;YACR,MAAM,QAAQ,EAAE,CAAC;YACjB,MAAM;QACR,KAAK,QAAQ;YACX,MAAM,EAAE,CAAC;YACT,MAAM;QACR,KAAK,iBAAiB;YACpB,cAAc,EAAE,CAAC;YACjB,MAAM;QACR,KAAK,mBAAmB;YACtB,gBAAgB,EAAE,CAAC;YACnB,MAAM;QACR;YACE,MAAM,CAAC,QAAQ,CAAC,CAAC;YACjB,MAAM,CAAC,2EAA2E,CAAC,CAAC;YACpF,MAAM,CAAC,yBAAyB,CAAC,CAAC;YAClC,MAAM,CAAC,4BAA4B,CAAC,CAAC;YACrC,MAAM,CAAC,qCAAqC,CAAC,CAAC;YAC9C,MAAM,CAAC,uCAAuC,CAAC,CAAC;IACpD,CAAC;AACH,CAAC"}
@@ -0,0 +1,47 @@
1
+ import type { IncomingMessage } from "node:http";
2
+ import type { Duplex } from "node:stream";
3
+ import type { AuditEvent, RemoteAgentRecord, RemoteConfig } from "./types.js";
4
+ import { type WebSocketConnection } from "./websocket.js";
5
+ type LifecycleConfig = Pick<RemoteConfig, "agentHelloTimeoutMs" | "agentHeartbeatIntervalMs" | "agentIdleTimeoutMs" | "maxAgentConnections" | "maxAgentConnectionsPerAgent">;
6
+ interface AgentConnectionLifecycleCallbacks {
7
+ onMessage(connection: WebSocketConnection, message: string): Promise<void>;
8
+ onAuthenticatedClose(agentId: string, connection: WebSocketConnection, code: number): boolean;
9
+ getAgent(agentId: string): RemoteAgentRecord | undefined;
10
+ }
11
+ /** Owns bounded WebSocket resource and timeout state independently of agent message handling. */
12
+ export declare class AgentConnectionLifecycle {
13
+ private readonly config;
14
+ private readonly callbacks;
15
+ private readonly audit;
16
+ private readonly managedConnections;
17
+ private readonly agentClaims;
18
+ private readonly pendingUpgradeSockets;
19
+ private readonly heartbeatInterval;
20
+ private shuttingDown;
21
+ constructor(config: LifecycleConfig, callbacks: AgentConnectionLifecycleCallbacks, audit: (event: Omit<AuditEvent, "id" | "createdAt">) => void);
22
+ handleUpgrade(req: IncomingMessage, socket: Duplex, head: Buffer<ArrayBufferLike>): void;
23
+ attach(connection: WebSocketConnection, now?: number): boolean;
24
+ claim(connection: WebSocketConnection, agent: RemoteAgentRecord): boolean;
25
+ markAuthenticated(connection: WebSocketConnection, agentId: string): void;
26
+ isManaged(connection: WebSocketConnection): boolean;
27
+ isAuthenticated(connection: WebSocketConnection): boolean;
28
+ agentIdFor(connection: WebSocketConnection): string | undefined;
29
+ closeConnection(connection: WebSocketConnection, code: number, reason: string): void;
30
+ runHeartbeat(now?: number): void;
31
+ close(): void;
32
+ get openConnectionCount(): number;
33
+ get unauthenticatedConnectionCount(): number;
34
+ private receiveMessage;
35
+ private recordActivity;
36
+ private handleHelloTimeout;
37
+ private handleClose;
38
+ private hasGlobalCapacity;
39
+ private rejectRawUpgrade;
40
+ private rejectAcceptedConnection;
41
+ private auditGlobalLimit;
42
+ private releaseAgentClaim;
43
+ private get maxConnections();
44
+ private get maxConnectionsPerAgent();
45
+ }
46
+ export {};
47
+ //# sourceMappingURL=agent-connection-lifecycle.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"agent-connection-lifecycle.d.ts","sourceRoot":"","sources":["../../src/remote/agent-connection-lifecycle.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,WAAW,CAAC;AACjD,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AAC1C,OAAO,KAAK,EAAE,UAAU,EAAE,iBAAiB,EAAE,YAAY,EAAE,MAAM,YAAY,CAAC;AAC9E,OAAO,EAA0B,KAAK,mBAAmB,EAAE,MAAM,gBAAgB,CAAC;AASlF,KAAK,eAAe,GAAG,IAAI,CACzB,YAAY,EACV,qBAAqB,GACrB,0BAA0B,GAC1B,oBAAoB,GACpB,qBAAqB,GACrB,6BAA6B,CAChC,CAAC;AAWF,UAAU,iCAAiC;IACzC,SAAS,CAAC,UAAU,EAAE,mBAAmB,EAAE,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAC3E,oBAAoB,CAAC,OAAO,EAAE,MAAM,EAAE,UAAU,EAAE,mBAAmB,EAAE,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC;IAC9F,QAAQ,CAAC,OAAO,EAAE,MAAM,GAAG,iBAAiB,GAAG,SAAS,CAAC;CAC1D;AAED,iGAAiG;AACjG,qBAAa,wBAAwB;IAQjC,OAAO,CAAC,QAAQ,CAAC,MAAM;IACvB,OAAO,CAAC,QAAQ,CAAC,SAAS;IAC1B,OAAO,CAAC,QAAQ,CAAC,KAAK;IATxB,OAAO,CAAC,QAAQ,CAAC,kBAAkB,CAA0D;IAC7F,OAAO,CAAC,QAAQ,CAAC,WAAW,CAA+C;IAC3E,OAAO,CAAC,QAAQ,CAAC,qBAAqB,CAAqB;IAC3D,OAAO,CAAC,QAAQ,CAAC,iBAAiB,CAAiB;IACnD,OAAO,CAAC,YAAY,CAAS;gBAGV,MAAM,EAAE,eAAe,EACvB,SAAS,EAAE,iCAAiC,EAC5C,KAAK,EAAE,CAAC,KAAK,EAAE,IAAI,CAAC,UAAU,EAAE,IAAI,GAAG,WAAW,CAAC,KAAK,IAAI;IAS/E,aAAa,CAAC,GAAG,EAAE,eAAe,EAAE,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,CAAC,eAAe,CAAC,GAAG,IAAI;IA0BxF,MAAM,CAAC,UAAU,EAAE,mBAAmB,EAAE,GAAG,SAAa,GAAG,OAAO;IA6BlE,KAAK,CAAC,UAAU,EAAE,mBAAmB,EAAE,KAAK,EAAE,iBAAiB,GAAG,OAAO;IAsCzE,iBAAiB,CAAC,UAAU,EAAE,mBAAmB,EAAE,OAAO,EAAE,MAAM,GAAG,IAAI;IAazE,SAAS,CAAC,UAAU,EAAE,mBAAmB,GAAG,OAAO;IAInD,eAAe,CAAC,UAAU,EAAE,mBAAmB,GAAG,OAAO;IAIzD,UAAU,CAAC,UAAU,EAAE,mBAAmB,GAAG,MAAM,GAAG,SAAS;IAI/D,eAAe,CAAC,UAAU,EAAE,mBAAmB,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,IAAI;IASpF,YAAY,CAAC,GAAG,SAAa,GAAG,IAAI;IAsBpC,KAAK,IAAI,IAAI;IAwBb,IAAI,mBAAmB,IAAI,MAAM,CAEhC;IAED,IAAI,8BAA8B,IAAI,MAAM,CAQ3C;IAED,OAAO,CAAC,cAAc;IAgBtB,OAAO,CAAC,cAAc;IAOtB,OAAO,CAAC,kBAAkB;IAqB1B,OAAO,CAAC,WAAW;IAgCnB,OAAO,CAAC,iBAAiB;IAIzB,OAAO,CAAC,gBAAgB;IAaxB,OAAO,CAAC,wBAAwB;IAOhC,OAAO,CAAC,gBAAgB;IAQxB,OAAO,CAAC,iBAAiB;IAWzB,OAAO,KAAK,cAAc,GAEzB;IAED,OAAO,KAAK,sBAAsB,GAEjC;CACF"}
@@ -0,0 +1,304 @@
1
+ import { acceptWebSocketUpgrade } from "./websocket.js";
2
+ const DEFAULT_AGENT_HELLO_TIMEOUT_MS = 10_000;
3
+ const DEFAULT_AGENT_HEARTBEAT_INTERVAL_MS = 30_000;
4
+ const DEFAULT_AGENT_IDLE_TIMEOUT_MS = 90_000;
5
+ const DEFAULT_MAX_AGENT_CONNECTIONS = 128;
6
+ const DEFAULT_MAX_AGENT_CONNECTIONS_PER_AGENT = 2;
7
+ const CLOSE_GRACE_MS = 1_000;
8
+ /** Owns bounded WebSocket resource and timeout state independently of agent message handling. */
9
+ export class AgentConnectionLifecycle {
10
+ config;
11
+ callbacks;
12
+ audit;
13
+ managedConnections = new Map();
14
+ agentClaims = new Map();
15
+ pendingUpgradeSockets = new Set();
16
+ heartbeatInterval;
17
+ shuttingDown = false;
18
+ constructor(config, callbacks, audit) {
19
+ this.config = config;
20
+ this.callbacks = callbacks;
21
+ this.audit = audit;
22
+ this.heartbeatInterval = setInterval(() => this.runHeartbeat(), this.config.agentHeartbeatIntervalMs ?? DEFAULT_AGENT_HEARTBEAT_INTERVAL_MS);
23
+ this.heartbeatInterval.unref?.();
24
+ }
25
+ handleUpgrade(req, socket, head) {
26
+ if (this.shuttingDown) {
27
+ this.rejectRawUpgrade(socket, false);
28
+ return;
29
+ }
30
+ if (!this.hasGlobalCapacity()) {
31
+ this.rejectRawUpgrade(socket, true);
32
+ return;
33
+ }
34
+ this.pendingUpgradeSockets.add(socket);
35
+ const releasePending = () => this.pendingUpgradeSockets.delete(socket);
36
+ socket.once("close", releasePending);
37
+ socket.once("error", releasePending);
38
+ try {
39
+ acceptWebSocketUpgrade(req, socket, head, (connection) => {
40
+ releasePending();
41
+ this.attach(connection);
42
+ });
43
+ }
44
+ catch {
45
+ releasePending();
46
+ socket.destroy();
47
+ }
48
+ }
49
+ attach(connection, now = Date.now()) {
50
+ if (this.shuttingDown) {
51
+ this.rejectAcceptedConnection(connection);
52
+ return false;
53
+ }
54
+ if (this.managedConnections.size >= this.maxConnections) {
55
+ this.auditGlobalLimit();
56
+ this.rejectAcceptedConnection(connection);
57
+ return false;
58
+ }
59
+ const managed = {
60
+ connection,
61
+ lastActivityAt: now,
62
+ authenticated: false,
63
+ };
64
+ this.managedConnections.set(connection, managed);
65
+ managed.helloTimeout = setTimeout(() => this.handleHelloTimeout(connection), this.config.agentHelloTimeoutMs ?? DEFAULT_AGENT_HELLO_TIMEOUT_MS);
66
+ managed.helloTimeout.unref?.();
67
+ connection.onText((message) => this.receiveMessage(connection, message));
68
+ connection.onPong(() => this.recordActivity(connection));
69
+ connection.onClose((code) => this.handleClose(connection, code));
70
+ return true;
71
+ }
72
+ claim(connection, agent) {
73
+ const managed = this.managedConnections.get(connection);
74
+ if (!managed) {
75
+ return true;
76
+ }
77
+ if (managed.agentId && managed.agentId !== agent.id) {
78
+ connection.sendJson({
79
+ type: "error",
80
+ code: "FORBIDDEN",
81
+ message: "Connection is already bound to another agent",
82
+ });
83
+ this.closeConnection(connection, 1008, "agent binding mismatch");
84
+ return false;
85
+ }
86
+ const claims = this.agentClaims.get(agent.id) ?? new Set();
87
+ if (!claims.has(connection) && claims.size >= this.maxConnectionsPerAgent) {
88
+ this.audit({
89
+ userId: agent.userId,
90
+ agentId: agent.id,
91
+ eventType: "agent_connection_limit_rejected",
92
+ severity: "warn",
93
+ metadata: { scope: "agent", max_connections: this.maxConnectionsPerAgent },
94
+ });
95
+ connection.sendJson({
96
+ type: "error",
97
+ code: "FORBIDDEN",
98
+ message: "Agent connection limit reached",
99
+ });
100
+ this.closeConnection(connection, 1008, "agent connection limit reached");
101
+ return false;
102
+ }
103
+ claims.add(connection);
104
+ this.agentClaims.set(agent.id, claims);
105
+ managed.agentId = agent.id;
106
+ return true;
107
+ }
108
+ markAuthenticated(connection, agentId) {
109
+ const managed = this.managedConnections.get(connection);
110
+ if (!managed) {
111
+ return;
112
+ }
113
+ managed.authenticated = true;
114
+ managed.agentId = agentId;
115
+ if (managed.helloTimeout) {
116
+ clearTimeout(managed.helloTimeout);
117
+ managed.helloTimeout = undefined;
118
+ }
119
+ }
120
+ isManaged(connection) {
121
+ return this.managedConnections.has(connection);
122
+ }
123
+ isAuthenticated(connection) {
124
+ return this.managedConnections.get(connection)?.authenticated ?? false;
125
+ }
126
+ agentIdFor(connection) {
127
+ return this.managedConnections.get(connection)?.agentId;
128
+ }
129
+ closeConnection(connection, code, reason) {
130
+ const managed = this.managedConnections.get(connection);
131
+ if (managed && !managed.terminationTimeout) {
132
+ managed.terminationTimeout = setTimeout(() => connection.terminate(), CLOSE_GRACE_MS);
133
+ managed.terminationTimeout.unref?.();
134
+ }
135
+ connection.close(code, reason);
136
+ }
137
+ runHeartbeat(now = Date.now()) {
138
+ if (this.shuttingDown) {
139
+ return;
140
+ }
141
+ const idleTimeoutMs = this.config.agentIdleTimeoutMs ?? DEFAULT_AGENT_IDLE_TIMEOUT_MS;
142
+ for (const managed of this.managedConnections.values()) {
143
+ if (now - managed.lastActivityAt >= idleTimeoutMs) {
144
+ const agent = managed.agentId ? this.callbacks.getAgent(managed.agentId) : undefined;
145
+ this.audit({
146
+ userId: agent?.userId,
147
+ agentId: agent?.id,
148
+ eventType: "agent_connection_idle_timeout",
149
+ severity: "warn",
150
+ metadata: { idle_timeout_ms: idleTimeoutMs, authenticated: managed.authenticated },
151
+ });
152
+ this.closeConnection(managed.connection, 1001, "idle timeout");
153
+ }
154
+ else {
155
+ managed.connection.ping();
156
+ }
157
+ }
158
+ }
159
+ close() {
160
+ if (this.shuttingDown) {
161
+ return;
162
+ }
163
+ this.shuttingDown = true;
164
+ clearInterval(this.heartbeatInterval);
165
+ for (const socket of this.pendingUpgradeSockets) {
166
+ socket.destroy();
167
+ }
168
+ this.pendingUpgradeSockets.clear();
169
+ const managed = [...this.managedConnections.values()];
170
+ this.managedConnections.clear();
171
+ this.agentClaims.clear();
172
+ for (const entry of managed) {
173
+ if (entry.helloTimeout) {
174
+ clearTimeout(entry.helloTimeout);
175
+ }
176
+ if (entry.terminationTimeout) {
177
+ clearTimeout(entry.terminationTimeout);
178
+ }
179
+ entry.connection.terminate();
180
+ }
181
+ }
182
+ get openConnectionCount() {
183
+ return this.managedConnections.size;
184
+ }
185
+ get unauthenticatedConnectionCount() {
186
+ let count = 0;
187
+ for (const managed of this.managedConnections.values()) {
188
+ if (!managed.authenticated) {
189
+ count += 1;
190
+ }
191
+ }
192
+ return count;
193
+ }
194
+ receiveMessage(connection, message) {
195
+ const managed = this.managedConnections.get(connection);
196
+ if (!managed) {
197
+ return;
198
+ }
199
+ managed.lastActivityAt = Date.now();
200
+ void this.callbacks.onMessage(connection, message).catch(() => {
201
+ connection.sendJson({
202
+ type: "error",
203
+ code: "INTERNAL_ERROR",
204
+ message: "Agent message failed",
205
+ });
206
+ this.closeConnection(connection, 1008, "invalid agent message");
207
+ });
208
+ }
209
+ recordActivity(connection) {
210
+ const managed = this.managedConnections.get(connection);
211
+ if (managed) {
212
+ managed.lastActivityAt = Date.now();
213
+ }
214
+ }
215
+ handleHelloTimeout(connection) {
216
+ const managed = this.managedConnections.get(connection);
217
+ if (!managed || managed.authenticated) {
218
+ return;
219
+ }
220
+ const agent = managed.agentId ? this.callbacks.getAgent(managed.agentId) : undefined;
221
+ this.audit({
222
+ userId: agent?.userId,
223
+ agentId: agent?.id,
224
+ eventType: "agent_hello_timeout",
225
+ severity: "warn",
226
+ metadata: { timeout_ms: this.config.agentHelloTimeoutMs ?? DEFAULT_AGENT_HELLO_TIMEOUT_MS },
227
+ });
228
+ connection.sendJson({
229
+ type: "error",
230
+ code: "AGENT_TIMEOUT",
231
+ message: "Agent hello deadline exceeded",
232
+ });
233
+ this.closeConnection(connection, 1008, "agent hello deadline exceeded");
234
+ }
235
+ handleClose(connection, code) {
236
+ const managed = this.managedConnections.get(connection);
237
+ if (!managed) {
238
+ return;
239
+ }
240
+ this.managedConnections.delete(connection);
241
+ if (managed.helloTimeout) {
242
+ clearTimeout(managed.helloTimeout);
243
+ }
244
+ if (managed.terminationTimeout) {
245
+ clearTimeout(managed.terminationTimeout);
246
+ }
247
+ this.releaseAgentClaim(managed.agentId, connection);
248
+ if (this.shuttingDown) {
249
+ return;
250
+ }
251
+ if (managed.authenticated &&
252
+ managed.agentId &&
253
+ this.callbacks.onAuthenticatedClose(managed.agentId, connection, code)) {
254
+ return;
255
+ }
256
+ this.audit({
257
+ agentId: managed.agentId,
258
+ eventType: "agent_connection_closed",
259
+ severity: code === 1000 ? "info" : "warn",
260
+ metadata: { authenticated: managed.authenticated, close_code: code },
261
+ });
262
+ }
263
+ hasGlobalCapacity() {
264
+ return this.managedConnections.size + this.pendingUpgradeSockets.size < this.maxConnections;
265
+ }
266
+ rejectRawUpgrade(socket, auditCapacity) {
267
+ if (auditCapacity) {
268
+ this.auditGlobalLimit();
269
+ }
270
+ if (!socket.destroyed) {
271
+ socket.end(["HTTP/1.1 503 Service Unavailable", "Connection: close", "Content-Length: 0", "", ""].join("\r\n"));
272
+ }
273
+ }
274
+ rejectAcceptedConnection(connection) {
275
+ const terminationTimeout = setTimeout(() => connection.terminate(), CLOSE_GRACE_MS);
276
+ terminationTimeout.unref?.();
277
+ connection.onClose(() => clearTimeout(terminationTimeout));
278
+ connection.close(1013, "connection limit reached");
279
+ }
280
+ auditGlobalLimit() {
281
+ this.audit({
282
+ eventType: "agent_connection_limit_rejected",
283
+ severity: "warn",
284
+ metadata: { scope: "global", max_connections: this.maxConnections },
285
+ });
286
+ }
287
+ releaseAgentClaim(agentId, connection) {
288
+ if (!agentId) {
289
+ return;
290
+ }
291
+ const claims = this.agentClaims.get(agentId);
292
+ claims?.delete(connection);
293
+ if (claims?.size === 0) {
294
+ this.agentClaims.delete(agentId);
295
+ }
296
+ }
297
+ get maxConnections() {
298
+ return this.config.maxAgentConnections ?? DEFAULT_MAX_AGENT_CONNECTIONS;
299
+ }
300
+ get maxConnectionsPerAgent() {
301
+ return this.config.maxAgentConnectionsPerAgent ?? DEFAULT_MAX_AGENT_CONNECTIONS_PER_AGENT;
302
+ }
303
+ }
304
+ //# sourceMappingURL=agent-connection-lifecycle.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"agent-connection-lifecycle.js","sourceRoot":"","sources":["../../src/remote/agent-connection-lifecycle.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,sBAAsB,EAA4B,MAAM,gBAAgB,CAAC;AAElF,MAAM,8BAA8B,GAAG,MAAM,CAAC;AAC9C,MAAM,mCAAmC,GAAG,MAAM,CAAC;AACnD,MAAM,6BAA6B,GAAG,MAAM,CAAC;AAC7C,MAAM,6BAA6B,GAAG,GAAG,CAAC;AAC1C,MAAM,uCAAuC,GAAG,CAAC,CAAC;AAClD,MAAM,cAAc,GAAG,KAAK,CAAC;AA0B7B,iGAAiG;AACjG,MAAM,OAAO,wBAAwB;IAQhB;IACA;IACA;IATF,kBAAkB,GAAG,IAAI,GAAG,EAA+C,CAAC;IAC5E,WAAW,GAAG,IAAI,GAAG,EAAoC,CAAC;IAC1D,qBAAqB,GAAG,IAAI,GAAG,EAAU,CAAC;IAC1C,iBAAiB,CAAiB;IAC3C,YAAY,GAAG,KAAK,CAAC;IAE7B,YACmB,MAAuB,EACvB,SAA4C,EAC5C,KAA4D;QAF5D,WAAM,GAAN,MAAM,CAAiB;QACvB,cAAS,GAAT,SAAS,CAAmC;QAC5C,UAAK,GAAL,KAAK,CAAuD;QAE7E,IAAI,CAAC,iBAAiB,GAAG,WAAW,CAClC,GAAG,EAAE,CAAC,IAAI,CAAC,YAAY,EAAE,EACzB,IAAI,CAAC,MAAM,CAAC,wBAAwB,IAAI,mCAAmC,CAC5E,CAAC;QACF,IAAI,CAAC,iBAAiB,CAAC,KAAK,EAAE,EAAE,CAAC;IACnC,CAAC;IAED,aAAa,CAAC,GAAoB,EAAE,MAAc,EAAE,IAA6B;QAC/E,IAAI,IAAI,CAAC,YAAY,EAAE,CAAC;YACtB,IAAI,CAAC,gBAAgB,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC;YACrC,OAAO;QACT,CAAC;QACD,IAAI,CAAC,IAAI,CAAC,iBAAiB,EAAE,EAAE,CAAC;YAC9B,IAAI,CAAC,gBAAgB,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC;YACpC,OAAO;QACT,CAAC;QAED,IAAI,CAAC,qBAAqB,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;QACvC,MAAM,cAAc,GAAG,GAAG,EAAE,CAAC,IAAI,CAAC,qBAAqB,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;QACvE,MAAM,CAAC,IAAI,CAAC,OAAO,EAAE,cAAc,CAAC,CAAC;QACrC,MAAM,CAAC,IAAI,CAAC,OAAO,EAAE,cAAc,CAAC,CAAC;QAErC,IAAI,CAAC;YACH,sBAAsB,CAAC,GAAG,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC,UAAU,EAAE,EAAE;gBACvD,cAAc,EAAE,CAAC;gBACjB,IAAI,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC;YAC1B,CAAC,CAAC,CAAC;QACL,CAAC;QAAC,MAAM,CAAC;YACP,cAAc,EAAE,CAAC;YACjB,MAAM,CAAC,OAAO,EAAE,CAAC;QACnB,CAAC;IACH,CAAC;IAED,MAAM,CAAC,UAA+B,EAAE,GAAG,GAAG,IAAI,CAAC,GAAG,EAAE;QACtD,IAAI,IAAI,CAAC,YAAY,EAAE,CAAC;YACtB,IAAI,CAAC,wBAAwB,CAAC,UAAU,CAAC,CAAC;YAC1C,OAAO,KAAK,CAAC;QACf,CAAC;QACD,IAAI,IAAI,CAAC,kBAAkB,CAAC,IAAI,IAAI,IAAI,CAAC,cAAc,EAAE,CAAC;YACxD,IAAI,CAAC,gBAAgB,EAAE,CAAC;YACxB,IAAI,CAAC,wBAAwB,CAAC,UAAU,CAAC,CAAC;YAC1C,OAAO,KAAK,CAAC;QACf,CAAC;QAED,MAAM,OAAO,GAA2B;YACtC,UAAU;YACV,cAAc,EAAE,GAAG;YACnB,aAAa,EAAE,KAAK;SACrB,CAAC;QACF,IAAI,CAAC,kBAAkB,CAAC,GAAG,CAAC,UAAU,EAAE,OAAO,CAAC,CAAC;QACjD,OAAO,CAAC,YAAY,GAAG,UAAU,CAC/B,GAAG,EAAE,CAAC,IAAI,CAAC,kBAAkB,CAAC,UAAU,CAAC,EACzC,IAAI,CAAC,MAAM,CAAC,mBAAmB,IAAI,8BAA8B,CAClE,CAAC;QACF,OAAO,CAAC,YAAY,CAAC,KAAK,EAAE,EAAE,CAAC;QAE/B,UAAU,CAAC,MAAM,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,IAAI,CAAC,cAAc,CAAC,UAAU,EAAE,OAAO,CAAC,CAAC,CAAC;QACzE,UAAU,CAAC,MAAM,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,cAAc,CAAC,UAAU,CAAC,CAAC,CAAC;QACzD,UAAU,CAAC,OAAO,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,WAAW,CAAC,UAAU,EAAE,IAAI,CAAC,CAAC,CAAC;QACjE,OAAO,IAAI,CAAC;IACd,CAAC;IAED,KAAK,CAAC,UAA+B,EAAE,KAAwB;QAC7D,MAAM,OAAO,GAAG,IAAI,CAAC,kBAAkB,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC;QACxD,IAAI,CAAC,OAAO,EAAE,CAAC;YACb,OAAO,IAAI,CAAC;QACd,CAAC;QACD,IAAI,OAAO,CAAC,OAAO,IAAI,OAAO,CAAC,OAAO,KAAK,KAAK,CAAC,EAAE,EAAE,CAAC;YACpD,UAAU,CAAC,QAAQ,CAAC;gBAClB,IAAI,EAAE,OAAO;gBACb,IAAI,EAAE,WAAW;gBACjB,OAAO,EAAE,8CAA8C;aACxD,CAAC,CAAC;YACH,IAAI,CAAC,eAAe,CAAC,UAAU,EAAE,IAAI,EAAE,wBAAwB,CAAC,CAAC;YACjE,OAAO,KAAK,CAAC;QACf,CAAC;QAED,MAAM,MAAM,GAAG,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,CAAC,IAAI,IAAI,GAAG,EAAuB,CAAC;QAChF,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,UAAU,CAAC,IAAI,MAAM,CAAC,IAAI,IAAI,IAAI,CAAC,sBAAsB,EAAE,CAAC;YAC1E,IAAI,CAAC,KAAK,CAAC;gBACT,MAAM,EAAE,KAAK,CAAC,MAAM;gBACpB,OAAO,EAAE,KAAK,CAAC,EAAE;gBACjB,SAAS,EAAE,iCAAiC;gBAC5C,QAAQ,EAAE,MAAM;gBAChB,QAAQ,EAAE,EAAE,KAAK,EAAE,OAAO,EAAE,eAAe,EAAE,IAAI,CAAC,sBAAsB,EAAE;aAC3E,CAAC,CAAC;YACH,UAAU,CAAC,QAAQ,CAAC;gBAClB,IAAI,EAAE,OAAO;gBACb,IAAI,EAAE,WAAW;gBACjB,OAAO,EAAE,gCAAgC;aAC1C,CAAC,CAAC;YACH,IAAI,CAAC,eAAe,CAAC,UAAU,EAAE,IAAI,EAAE,gCAAgC,CAAC,CAAC;YACzE,OAAO,KAAK,CAAC;QACf,CAAC;QACD,MAAM,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC;QACvB,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,EAAE,MAAM,CAAC,CAAC;QACvC,OAAO,CAAC,OAAO,GAAG,KAAK,CAAC,EAAE,CAAC;QAC3B,OAAO,IAAI,CAAC;IACd,CAAC;IAED,iBAAiB,CAAC,UAA+B,EAAE,OAAe;QAChE,MAAM,OAAO,GAAG,IAAI,CAAC,kBAAkB,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC;QACxD,IAAI,CAAC,OAAO,EAAE,CAAC;YACb,OAAO;QACT,CAAC;QACD,OAAO,CAAC,aAAa,GAAG,IAAI,CAAC;QAC7B,OAAO,CAAC,OAAO,GAAG,OAAO,CAAC;QAC1B,IAAI,OAAO,CAAC,YAAY,EAAE,CAAC;YACzB,YAAY,CAAC,OAAO,CAAC,YAAY,CAAC,CAAC;YACnC,OAAO,CAAC,YAAY,GAAG,SAAS,CAAC;QACnC,CAAC;IACH,CAAC;IAED,SAAS,CAAC,UAA+B;QACvC,OAAO,IAAI,CAAC,kBAAkB,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC;IACjD,CAAC;IAED,eAAe,CAAC,UAA+B;QAC7C,OAAO,IAAI,CAAC,kBAAkB,CAAC,GAAG,CAAC,UAAU,CAAC,EAAE,aAAa,IAAI,KAAK,CAAC;IACzE,CAAC;IAED,UAAU,CAAC,UAA+B;QACxC,OAAO,IAAI,CAAC,kBAAkB,CAAC,GAAG,CAAC,UAAU,CAAC,EAAE,OAAO,CAAC;IAC1D,CAAC;IAED,eAAe,CAAC,UAA+B,EAAE,IAAY,EAAE,MAAc;QAC3E,MAAM,OAAO,GAAG,IAAI,CAAC,kBAAkB,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC;QACxD,IAAI,OAAO,IAAI,CAAC,OAAO,CAAC,kBAAkB,EAAE,CAAC;YAC3C,OAAO,CAAC,kBAAkB,GAAG,UAAU,CAAC,GAAG,EAAE,CAAC,UAAU,CAAC,SAAS,EAAE,EAAE,cAAc,CAAC,CAAC;YACtF,OAAO,CAAC,kBAAkB,CAAC,KAAK,EAAE,EAAE,CAAC;QACvC,CAAC;QACD,UAAU,CAAC,KAAK,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;IACjC,CAAC;IAED,YAAY,CAAC,GAAG,GAAG,IAAI,CAAC,GAAG,EAAE;QAC3B,IAAI,IAAI,CAAC,YAAY,EAAE,CAAC;YACtB,OAAO;QACT,CAAC;QACD,MAAM,aAAa,GAAG,IAAI,CAAC,MAAM,CAAC,kBAAkB,IAAI,6BAA6B,CAAC;QACtF,KAAK,MAAM,OAAO,IAAI,IAAI,CAAC,kBAAkB,CAAC,MAAM,EAAE,EAAE,CAAC;YACvD,IAAI,GAAG,GAAG,OAAO,CAAC,cAAc,IAAI,aAAa,EAAE,CAAC;gBAClD,MAAM,KAAK,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;gBACrF,IAAI,CAAC,KAAK,CAAC;oBACT,MAAM,EAAE,KAAK,EAAE,MAAM;oBACrB,OAAO,EAAE,KAAK,EAAE,EAAE;oBAClB,SAAS,EAAE,+BAA+B;oBAC1C,QAAQ,EAAE,MAAM;oBAChB,QAAQ,EAAE,EAAE,eAAe,EAAE,aAAa,EAAE,aAAa,EAAE,OAAO,CAAC,aAAa,EAAE;iBACnF,CAAC,CAAC;gBACH,IAAI,CAAC,eAAe,CAAC,OAAO,CAAC,UAAU,EAAE,IAAI,EAAE,cAAc,CAAC,CAAC;YACjE,CAAC;iBAAM,CAAC;gBACN,OAAO,CAAC,UAAU,CAAC,IAAI,EAAE,CAAC;YAC5B,CAAC;QACH,CAAC;IACH,CAAC;IAED,KAAK;QACH,IAAI,IAAI,CAAC,YAAY,EAAE,CAAC;YACtB,OAAO;QACT,CAAC;QACD,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC;QACzB,aAAa,CAAC,IAAI,CAAC,iBAAiB,CAAC,CAAC;QACtC,KAAK,MAAM,MAAM,IAAI,IAAI,CAAC,qBAAqB,EAAE,CAAC;YAChD,MAAM,CAAC,OAAO,EAAE,CAAC;QACnB,CAAC;QACD,IAAI,CAAC,qBAAqB,CAAC,KAAK,EAAE,CAAC;QACnC,MAAM,OAAO,GAAG,CAAC,GAAG,IAAI,CAAC,kBAAkB,CAAC,MAAM,EAAE,CAAC,CAAC;QACtD,IAAI,CAAC,kBAAkB,CAAC,KAAK,EAAE,CAAC;QAChC,IAAI,CAAC,WAAW,CAAC,KAAK,EAAE,CAAC;QACzB,KAAK,MAAM,KAAK,IAAI,OAAO,EAAE,CAAC;YAC5B,IAAI,KAAK,CAAC,YAAY,EAAE,CAAC;gBACvB,YAAY,CAAC,KAAK,CAAC,YAAY,CAAC,CAAC;YACnC,CAAC;YACD,IAAI,KAAK,CAAC,kBAAkB,EAAE,CAAC;gBAC7B,YAAY,CAAC,KAAK,CAAC,kBAAkB,CAAC,CAAC;YACzC,CAAC;YACD,KAAK,CAAC,UAAU,CAAC,SAAS,EAAE,CAAC;QAC/B,CAAC;IACH,CAAC;IAED,IAAI,mBAAmB;QACrB,OAAO,IAAI,CAAC,kBAAkB,CAAC,IAAI,CAAC;IACtC,CAAC;IAED,IAAI,8BAA8B;QAChC,IAAI,KAAK,GAAG,CAAC,CAAC;QACd,KAAK,MAAM,OAAO,IAAI,IAAI,CAAC,kBAAkB,CAAC,MAAM,EAAE,EAAE,CAAC;YACvD,IAAI,CAAC,OAAO,CAAC,aAAa,EAAE,CAAC;gBAC3B,KAAK,IAAI,CAAC,CAAC;YACb,CAAC;QACH,CAAC;QACD,OAAO,KAAK,CAAC;IACf,CAAC;IAEO,cAAc,CAAC,UAA+B,EAAE,OAAe;QACrE,MAAM,OAAO,GAAG,IAAI,CAAC,kBAAkB,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC;QACxD,IAAI,CAAC,OAAO,EAAE,CAAC;YACb,OAAO;QACT,CAAC;QACD,OAAO,CAAC,cAAc,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;QACpC,KAAK,IAAI,CAAC,SAAS,CAAC,SAAS,CAAC,UAAU,EAAE,OAAO,CAAC,CAAC,KAAK,CAAC,GAAG,EAAE;YAC5D,UAAU,CAAC,QAAQ,CAAC;gBAClB,IAAI,EAAE,OAAO;gBACb,IAAI,EAAE,gBAAgB;gBACtB,OAAO,EAAE,sBAAsB;aAChC,CAAC,CAAC;YACH,IAAI,CAAC,eAAe,CAAC,UAAU,EAAE,IAAI,EAAE,uBAAuB,CAAC,CAAC;QAClE,CAAC,CAAC,CAAC;IACL,CAAC;IAEO,cAAc,CAAC,UAA+B;QACpD,MAAM,OAAO,GAAG,IAAI,CAAC,kBAAkB,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC;QACxD,IAAI,OAAO,EAAE,CAAC;YACZ,OAAO,CAAC,cAAc,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;QACtC,CAAC;IACH,CAAC;IAEO,kBAAkB,CAAC,UAA+B;QACxD,MAAM,OAAO,GAAG,IAAI,CAAC,kBAAkB,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC;QACxD,IAAI,CAAC,OAAO,IAAI,OAAO,CAAC,aAAa,EAAE,CAAC;YACtC,OAAO;QACT,CAAC;QACD,MAAM,KAAK,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;QACrF,IAAI,CAAC,KAAK,CAAC;YACT,MAAM,EAAE,KAAK,EAAE,MAAM;YACrB,OAAO,EAAE,KAAK,EAAE,EAAE;YAClB,SAAS,EAAE,qBAAqB;YAChC,QAAQ,EAAE,MAAM;YAChB,QAAQ,EAAE,EAAE,UAAU,EAAE,IAAI,CAAC,MAAM,CAAC,mBAAmB,IAAI,8BAA8B,EAAE;SAC5F,CAAC,CAAC;QACH,UAAU,CAAC,QAAQ,CAAC;YAClB,IAAI,EAAE,OAAO;YACb,IAAI,EAAE,eAAe;YACrB,OAAO,EAAE,+BAA+B;SACzC,CAAC,CAAC;QACH,IAAI,CAAC,eAAe,CAAC,UAAU,EAAE,IAAI,EAAE,+BAA+B,CAAC,CAAC;IAC1E,CAAC;IAEO,WAAW,CAAC,UAA+B,EAAE,IAAY;QAC/D,MAAM,OAAO,GAAG,IAAI,CAAC,kBAAkB,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC;QACxD,IAAI,CAAC,OAAO,EAAE,CAAC;YACb,OAAO;QACT,CAAC;QACD,IAAI,CAAC,kBAAkB,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC;QAC3C,IAAI,OAAO,CAAC,YAAY,EAAE,CAAC;YACzB,YAAY,CAAC,OAAO,CAAC,YAAY,CAAC,CAAC;QACrC,CAAC;QACD,IAAI,OAAO,CAAC,kBAAkB,EAAE,CAAC;YAC/B,YAAY,CAAC,OAAO,CAAC,kBAAkB,CAAC,CAAC;QAC3C,CAAC;QACD,IAAI,CAAC,iBAAiB,CAAC,OAAO,CAAC,OAAO,EAAE,UAAU,CAAC,CAAC;QACpD,IAAI,IAAI,CAAC,YAAY,EAAE,CAAC;YACtB,OAAO;QACT,CAAC;QAED,IACE,OAAO,CAAC,aAAa;YACrB,OAAO,CAAC,OAAO;YACf,IAAI,CAAC,SAAS,CAAC,oBAAoB,CAAC,OAAO,CAAC,OAAO,EAAE,UAAU,EAAE,IAAI,CAAC,EACtE,CAAC;YACD,OAAO;QACT,CAAC;QACD,IAAI,CAAC,KAAK,CAAC;YACT,OAAO,EAAE,OAAO,CAAC,OAAO;YACxB,SAAS,EAAE,yBAAyB;YACpC,QAAQ,EAAE,IAAI,KAAK,IAAI,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM;YACzC,QAAQ,EAAE,EAAE,aAAa,EAAE,OAAO,CAAC,aAAa,EAAE,UAAU,EAAE,IAAI,EAAE;SACrE,CAAC,CAAC;IACL,CAAC;IAEO,iBAAiB;QACvB,OAAO,IAAI,CAAC,kBAAkB,CAAC,IAAI,GAAG,IAAI,CAAC,qBAAqB,CAAC,IAAI,GAAG,IAAI,CAAC,cAAc,CAAC;IAC9F,CAAC;IAEO,gBAAgB,CAAC,MAAc,EAAE,aAAsB;QAC7D,IAAI,aAAa,EAAE,CAAC;YAClB,IAAI,CAAC,gBAAgB,EAAE,CAAC;QAC1B,CAAC;QACD,IAAI,CAAC,MAAM,CAAC,SAAS,EAAE,CAAC;YACtB,MAAM,CAAC,GAAG,CACR,CAAC,kCAAkC,EAAE,mBAAmB,EAAE,mBAAmB,EAAE,EAAE,EAAE,EAAE,CAAC,CAAC,IAAI,CACzF,MAAM,CACP,CACF,CAAC;QACJ,CAAC;IACH,CAAC;IAEO,wBAAwB,CAAC,UAA+B;QAC9D,MAAM,kBAAkB,GAAG,UAAU,CAAC,GAAG,EAAE,CAAC,UAAU,CAAC,SAAS,EAAE,EAAE,cAAc,CAAC,CAAC;QACpF,kBAAkB,CAAC,KAAK,EAAE,EAAE,CAAC;QAC7B,UAAU,CAAC,OAAO,CAAC,GAAG,EAAE,CAAC,YAAY,CAAC,kBAAkB,CAAC,CAAC,CAAC;QAC3D,UAAU,CAAC,KAAK,CAAC,IAAI,EAAE,0BAA0B,CAAC,CAAC;IACrD,CAAC;IAEO,gBAAgB;QACtB,IAAI,CAAC,KAAK,CAAC;YACT,SAAS,EAAE,iCAAiC;YAC5C,QAAQ,EAAE,MAAM;YAChB,QAAQ,EAAE,EAAE,KAAK,EAAE,QAAQ,EAAE,eAAe,EAAE,IAAI,CAAC,cAAc,EAAE;SACpE,CAAC,CAAC;IACL,CAAC;IAEO,iBAAiB,CAAC,OAA2B,EAAE,UAA+B;QACpF,IAAI,CAAC,OAAO,EAAE,CAAC;YACb,OAAO;QACT,CAAC;QACD,MAAM,MAAM,GAAG,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;QAC7C,MAAM,EAAE,MAAM,CAAC,UAAU,CAAC,CAAC;QAC3B,IAAI,MAAM,EAAE,IAAI,KAAK,CAAC,EAAE,CAAC;YACvB,IAAI,CAAC,WAAW,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;QACnC,CAAC;IACH,CAAC;IAED,IAAY,cAAc;QACxB,OAAO,IAAI,CAAC,MAAM,CAAC,mBAAmB,IAAI,6BAA6B,CAAC;IAC1E,CAAC;IAED,IAAY,sBAAsB;QAChC,OAAO,IAAI,CAAC,MAAM,CAAC,2BAA2B,IAAI,uCAAuC,CAAC;IAC5F,CAAC;CACF"}
@@ -1 +1 @@
1
- {"version":3,"file":"agent-executor.d.ts","sourceRoot":"","sources":["../../src/remote/agent-executor.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EACV,qBAAqB,EACrB,oBAAoB,EACpB,WAAW,EAEZ,MAAM,YAAY,CAAC;AAiNpB,qBAAa,aAAa;IAEtB,OAAO,CAAC,MAAM;IACd,OAAO,CAAC,QAAQ,CAAC,aAAa;gBADtB,MAAM,EAAE,WAAW,EACV,aAAa,EAAE,MAAM;IAGxC,YAAY,CAAC,MAAM,EAAE,WAAW,GAAG,IAAI;IAIjC,OAAO,CAAC,MAAM,EAAE,qBAAqB,GAAG,OAAO,CAAC,oBAAoB,CAAC;YAwC7D,cAAc;IAsD5B,OAAO,CAAC,eAAe;IAYvB,OAAO,CAAC,QAAQ;IA4DhB,OAAO,CAAC,cAAc;IAiBtB,OAAO,CAAC,UAAU;IAiBlB,OAAO,CAAC,aAAa;YAaP,QAAQ;YAeR,SAAS;YAUT,QAAQ;IAgBtB,OAAO,CAAC,cAAc;IAqBtB,OAAO,CAAC,UAAU;CAMnB;AAED,wBAAgB,mBAAmB;;;;;EAOlC"}
1
+ {"version":3,"file":"agent-executor.d.ts","sourceRoot":"","sources":["../../src/remote/agent-executor.ts"],"names":[],"mappings":"AAOA,OAAO,KAAK,EACV,qBAAqB,EACrB,oBAAoB,EACpB,WAAW,EAEZ,MAAM,YAAY,CAAC;AA+QpB,qBAAa,aAAa;IAEtB,OAAO,CAAC,MAAM;IACd,OAAO,CAAC,QAAQ,CAAC,aAAa;gBADtB,MAAM,EAAE,WAAW,EACV,aAAa,EAAE,MAAM;IAGxC,YAAY,CAAC,MAAM,EAAE,WAAW,GAAG,IAAI;IAIjC,OAAO,CAAC,MAAM,EAAE,qBAAqB,GAAG,OAAO,CAAC,oBAAoB,CAAC;YAwC7D,cAAc;IAoE5B,OAAO,CAAC,eAAe;YAYT,QAAQ;IAiDtB,OAAO,CAAC,cAAc;IAiBtB,OAAO,CAAC,UAAU;IAiBlB,OAAO,CAAC,aAAa;YAaP,QAAQ;YAkBR,SAAS;YAWT,QAAQ;IAgBtB,OAAO,CAAC,cAAc;IAqBtB,OAAO,CAAC,UAAU;CAMnB;AAED,wBAAgB,mBAAmB;;;;;EAOlC"}