@ai-support-agent/cli 0.0.5 → 0.0.6

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 (63) hide show
  1. package/dist/agent-runner.d.ts +2 -2
  2. package/dist/agent-runner.d.ts.map +1 -1
  3. package/dist/agent-runner.js +2 -2
  4. package/dist/agent-runner.js.map +1 -1
  5. package/dist/appsync-subscriber.d.ts +15 -9
  6. package/dist/appsync-subscriber.d.ts.map +1 -1
  7. package/dist/appsync-subscriber.js +47 -89
  8. package/dist/appsync-subscriber.js.map +1 -1
  9. package/dist/base-websocket.d.ts +40 -0
  10. package/dist/base-websocket.d.ts.map +1 -0
  11. package/dist/base-websocket.js +95 -0
  12. package/dist/base-websocket.js.map +1 -0
  13. package/dist/child-process-manager.d.ts +20 -0
  14. package/dist/child-process-manager.d.ts.map +1 -0
  15. package/dist/child-process-manager.js +125 -0
  16. package/dist/child-process-manager.js.map +1 -0
  17. package/dist/commands/api-chat-executor.d.ts.map +1 -1
  18. package/dist/commands/api-chat-executor.js +46 -56
  19. package/dist/commands/api-chat-executor.js.map +1 -1
  20. package/dist/commands/chat-executor.d.ts.map +1 -1
  21. package/dist/commands/chat-executor.js +1 -2
  22. package/dist/commands/chat-executor.js.map +1 -1
  23. package/dist/commands/claude-code-args.d.ts +12 -0
  24. package/dist/commands/claude-code-args.d.ts.map +1 -0
  25. package/dist/commands/claude-code-args.js +78 -0
  26. package/dist/commands/claude-code-args.js.map +1 -0
  27. package/dist/commands/claude-code-runner.d.ts +3 -72
  28. package/dist/commands/claude-code-runner.d.ts.map +1 -1
  29. package/dist/commands/claude-code-runner.js +24 -288
  30. package/dist/commands/claude-code-runner.js.map +1 -1
  31. package/dist/commands/claude-code-stream.d.ts +63 -0
  32. package/dist/commands/claude-code-stream.d.ts.map +1 -0
  33. package/dist/commands/claude-code-stream.js +179 -0
  34. package/dist/commands/claude-code-stream.js.map +1 -0
  35. package/dist/commands/shared-chat-utils.d.ts +4 -0
  36. package/dist/commands/shared-chat-utils.d.ts.map +1 -1
  37. package/dist/commands/shared-chat-utils.js +7 -0
  38. package/dist/commands/shared-chat-utils.js.map +1 -1
  39. package/dist/constants.d.ts +2 -0
  40. package/dist/constants.d.ts.map +1 -1
  41. package/dist/constants.js +4 -1
  42. package/dist/constants.js.map +1 -1
  43. package/dist/process-manager.d.ts +1 -19
  44. package/dist/process-manager.d.ts.map +1 -1
  45. package/dist/process-manager.js +3 -121
  46. package/dist/process-manager.js.map +1 -1
  47. package/dist/terminal/terminal-websocket.d.ts +8 -9
  48. package/dist/terminal/terminal-websocket.d.ts.map +1 -1
  49. package/dist/terminal/terminal-websocket.js +30 -70
  50. package/dist/terminal/terminal-websocket.js.map +1 -1
  51. package/dist/utils/activity-timeout.d.ts +19 -0
  52. package/dist/utils/activity-timeout.d.ts.map +1 -0
  53. package/dist/utils/activity-timeout.js +28 -0
  54. package/dist/utils/activity-timeout.js.map +1 -0
  55. package/dist/utils/json-parse.d.ts +5 -0
  56. package/dist/utils/json-parse.d.ts.map +1 -0
  57. package/dist/utils/json-parse.js +15 -0
  58. package/dist/utils/json-parse.js.map +1 -0
  59. package/dist/utils/stream-parser.d.ts +14 -0
  60. package/dist/utils/stream-parser.d.ts.map +1 -0
  61. package/dist/utils/stream-parser.js +31 -0
  62. package/dist/utils/stream-parser.js.map +1 -0
  63. package/package.json +1 -1
@@ -1,5 +1,5 @@
1
1
  import { type AutoUpdaterHandle } from './auto-updater';
2
- import { ProcessManager } from './process-manager';
2
+ import { ChildProcessManager } from './child-process-manager';
3
3
  import type { AgentChatMode, AutoUpdateConfig, ProjectRegistration, ReleaseChannel } from './types';
4
4
  export interface RunnerOptions {
5
5
  token?: string;
@@ -26,7 +26,7 @@ export type ShutdownTarget = {
26
26
  }[];
27
27
  } | {
28
28
  kind: 'processManager';
29
- processManager: ProcessManager;
29
+ processManager: ChildProcessManager;
30
30
  };
31
31
  export declare function setupShutdownHandlers(target: ShutdownTarget, updater?: AutoUpdaterHandle): void;
32
32
  export declare function resolveAutoUpdateConfig(options: RunnerOptions, config?: {
@@ -1 +1 @@
1
- {"version":3,"file":"agent-runner.d.ts","sourceRoot":"","sources":["../src/agent-runner.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,KAAK,iBAAiB,EAAoB,MAAM,gBAAgB,CAAA;AAKzE,OAAO,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAA;AAIlD,OAAO,KAAK,EAAE,aAAa,EAAE,gBAAgB,EAAE,mBAAmB,EAAE,cAAc,EAAE,MAAM,SAAS,CAAA;AAKnG,MAAM,WAAW,aAAa;IAC5B,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,MAAM,CAAC,EAAE,MAAM,CAAA;IACf,YAAY,CAAC,EAAE,MAAM,CAAA;IACrB,iBAAiB,CAAC,EAAE,MAAM,CAAA;IAC1B,OAAO,CAAC,EAAE,OAAO,CAAA;IACjB,UAAU,CAAC,EAAE,OAAO,CAAA;IACpB,aAAa,CAAC,EAAE,cAAc,CAAA;CAC/B;AAED,wBAAgB,iBAAiB,CAC/B,OAAO,EAAE,mBAAmB,EAC5B,OAAO,EAAE,MAAM,EACf,OAAO,EAAE;IACP,YAAY,EAAE,MAAM,CAAA;IACpB,iBAAiB,EAAE,MAAM,CAAA;IACzB,aAAa,CAAC,EAAE,aAAa,CAAA;IAC7B,iBAAiB,CAAC,EAAE,MAAM,CAAA;CAC3B,GACA;IAAE,IAAI,EAAE,MAAM,IAAI,CAAC;IAAC,MAAM,EAAE,OAAO,cAAc,EAAE,SAAS,CAAA;CAAE,CAOhE;AAYD,MAAM,MAAM,cAAc,GACtB;IAAE,IAAI,EAAE,QAAQ,CAAC;IAAC,MAAM,EAAE;QAAE,IAAI,EAAE,MAAM,IAAI,CAAA;KAAE,EAAE,CAAA;CAAE,GAClD;IAAE,IAAI,EAAE,gBAAgB,CAAC;IAAC,cAAc,EAAE,cAAc,CAAA;CAAE,CAAA;AAE9D,wBAAgB,qBAAqB,CACnC,MAAM,EAAE,cAAc,EACtB,OAAO,CAAC,EAAE,iBAAiB,GAC1B,IAAI,CAkBN;AAiCD,wBAAgB,uBAAuB,CAAC,OAAO,EAAE,aAAa,EAAE,MAAM,CAAC,EAAE;IAAE,UAAU,CAAC,EAAE,gBAAgB,CAAA;CAAE,GAAG,IAAI,GAAG,gBAAgB,CAWnI;AAqBD,wBAAsB,UAAU,CAAC,OAAO,EAAE,aAAa,GAAG,OAAO,CAAC,IAAI,CAAC,CA6GtE"}
1
+ {"version":3,"file":"agent-runner.d.ts","sourceRoot":"","sources":["../src/agent-runner.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,KAAK,iBAAiB,EAAoB,MAAM,gBAAgB,CAAA;AAKzE,OAAO,EAAE,mBAAmB,EAAE,MAAM,yBAAyB,CAAA;AAI7D,OAAO,KAAK,EAAE,aAAa,EAAE,gBAAgB,EAAE,mBAAmB,EAAE,cAAc,EAAE,MAAM,SAAS,CAAA;AAKnG,MAAM,WAAW,aAAa;IAC5B,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,MAAM,CAAC,EAAE,MAAM,CAAA;IACf,YAAY,CAAC,EAAE,MAAM,CAAA;IACrB,iBAAiB,CAAC,EAAE,MAAM,CAAA;IAC1B,OAAO,CAAC,EAAE,OAAO,CAAA;IACjB,UAAU,CAAC,EAAE,OAAO,CAAA;IACpB,aAAa,CAAC,EAAE,cAAc,CAAA;CAC/B;AAED,wBAAgB,iBAAiB,CAC/B,OAAO,EAAE,mBAAmB,EAC5B,OAAO,EAAE,MAAM,EACf,OAAO,EAAE;IACP,YAAY,EAAE,MAAM,CAAA;IACpB,iBAAiB,EAAE,MAAM,CAAA;IACzB,aAAa,CAAC,EAAE,aAAa,CAAA;IAC7B,iBAAiB,CAAC,EAAE,MAAM,CAAA;CAC3B,GACA;IAAE,IAAI,EAAE,MAAM,IAAI,CAAC;IAAC,MAAM,EAAE,OAAO,cAAc,EAAE,SAAS,CAAA;CAAE,CAOhE;AAYD,MAAM,MAAM,cAAc,GACtB;IAAE,IAAI,EAAE,QAAQ,CAAC;IAAC,MAAM,EAAE;QAAE,IAAI,EAAE,MAAM,IAAI,CAAA;KAAE,EAAE,CAAA;CAAE,GAClD;IAAE,IAAI,EAAE,gBAAgB,CAAC;IAAC,cAAc,EAAE,mBAAmB,CAAA;CAAE,CAAA;AAEnE,wBAAgB,qBAAqB,CACnC,MAAM,EAAE,cAAc,EACtB,OAAO,CAAC,EAAE,iBAAiB,GAC1B,IAAI,CAkBN;AAiCD,wBAAgB,uBAAuB,CAAC,OAAO,EAAE,aAAa,EAAE,MAAM,CAAC,EAAE;IAAE,UAAU,CAAC,EAAE,gBAAgB,CAAA;CAAE,GAAG,IAAI,GAAG,gBAAgB,CAWnI;AAqBD,wBAAsB,UAAU,CAAC,OAAO,EAAE,aAAa,GAAG,OAAO,CAAC,IAAI,CAAC,CA6GtE"}
@@ -43,7 +43,7 @@ const constants_1 = require("./constants");
43
43
  const config_manager_1 = require("./config-manager");
44
44
  const i18n_1 = require("./i18n");
45
45
  const logger_1 = require("./logger");
46
- const process_manager_1 = require("./process-manager");
46
+ const child_process_manager_1 = require("./child-process-manager");
47
47
  const project_agent_1 = require("./project-agent");
48
48
  const sentry_1 = require("./sentry");
49
49
  const system_info_1 = require("./system-info");
@@ -197,7 +197,7 @@ async function startAgent(options) {
197
197
  return;
198
198
  }
199
199
  // Multiple projects: fork child processes for isolation
200
- const processManager = new process_manager_1.ProcessManager();
200
+ const processManager = new child_process_manager_1.ChildProcessManager();
201
201
  for (const project of projects) {
202
202
  processManager.forkProject(project, agentId, {
203
203
  pollInterval,
@@ -1 +1 @@
1
- {"version":3,"file":"agent-runner.js","sourceRoot":"","sources":["../src/agent-runner.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"agent-runner.js","sourceRoot":"","sources":["../src/agent-runner.ts"],"names":[],"mappings":"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"}
@@ -1,3 +1,5 @@
1
+ import WebSocket from 'ws';
2
+ import { BaseWebSocketConnection } from './base-websocket';
1
3
  export interface AppSyncNotification {
2
4
  id: string;
3
5
  table: string;
@@ -7,8 +9,12 @@ export interface AppSyncNotification {
7
9
  action: string;
8
10
  content: Record<string, unknown>;
9
11
  }
10
- export declare class AppSyncSubscriber {
11
- private ws;
12
+ interface AppSyncMessage {
13
+ id?: string;
14
+ type: string;
15
+ payload?: Record<string, unknown>;
16
+ }
17
+ export declare class AppSyncSubscriber extends BaseWebSocketConnection<AppSyncMessage> {
12
18
  private readonly realtimeUrl;
13
19
  private readonly host;
14
20
  private readonly apiKey;
@@ -16,21 +22,21 @@ export declare class AppSyncSubscriber {
16
22
  private tenantCode;
17
23
  private messageHandler;
18
24
  private reconnectCallback;
19
- private readonly reconnectAttemptsRef;
20
- private closed;
21
25
  private keepAliveTimer;
22
26
  private keepAliveTimeoutMs;
23
27
  constructor(appsyncUrl: string, apiKey: string);
24
- connect(): Promise<void>;
25
28
  subscribe(tenantCode: string, onMessage: (notification: AppSyncNotification) => void): void;
26
29
  onReconnect(callback: () => void): void;
27
- disconnect(): void;
30
+ protected createWebSocket(): WebSocket;
31
+ protected onOpen(ws: WebSocket): void;
32
+ protected onParsedMessage(msg: AppSyncMessage, resolveConnect?: (value: void) => void): void;
33
+ protected onDisconnect(): void;
34
+ protected onWebSocketClose(): void;
35
+ protected onReconnected(): void;
28
36
  private buildConnectionUrl;
29
- private doConnect;
30
- private handleMessage;
31
37
  private sendSubscription;
32
- private doReconnect;
33
38
  private resetKeepAliveTimer;
34
39
  private clearKeepAliveTimer;
35
40
  }
41
+ export {};
36
42
  //# sourceMappingURL=appsync-subscriber.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"appsync-subscriber.d.ts","sourceRoot":"","sources":["../src/appsync-subscriber.ts"],"names":[],"mappings":"AAOA,MAAM,WAAW,mBAAmB;IAClC,EAAE,EAAE,MAAM,CAAA;IACV,KAAK,EAAE,MAAM,CAAA;IACb,EAAE,EAAE,MAAM,CAAA;IACV,EAAE,EAAE,MAAM,CAAA;IACV,UAAU,EAAE,MAAM,CAAA;IAClB,MAAM,EAAE,MAAM,CAAA;IACd,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;CACjC;AAuBD,qBAAa,iBAAiB;IAC5B,OAAO,CAAC,EAAE,CAAyB;IACnC,OAAO,CAAC,QAAQ,CAAC,WAAW,CAAQ;IACpC,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAQ;IAC7B,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAQ;IAC/B,OAAO,CAAC,cAAc,CAAsB;IAC5C,OAAO,CAAC,UAAU,CAAsB;IACxC,OAAO,CAAC,cAAc,CAA6D;IACnF,OAAO,CAAC,iBAAiB,CAA4B;IACrD,OAAO,CAAC,QAAQ,CAAC,oBAAoB,CAAiB;IACtD,OAAO,CAAC,MAAM,CAAQ;IACtB,OAAO,CAAC,cAAc,CAA6C;IACnE,OAAO,CAAC,kBAAkB,CAAI;gBAElB,UAAU,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM;IAa9C,OAAO,IAAI,OAAO,CAAC,IAAI,CAAC;IAMxB,SAAS,CACP,UAAU,EAAE,MAAM,EAClB,SAAS,EAAE,CAAC,YAAY,EAAE,mBAAmB,KAAK,IAAI,GACrD,IAAI;IAQP,WAAW,CAAC,QAAQ,EAAE,MAAM,IAAI,GAAG,IAAI;IAIvC,UAAU,IAAI,IAAI;IAqBlB,OAAO,CAAC,kBAAkB;IAW1B,OAAO,CAAC,SAAS;IAyCjB,OAAO,CAAC,aAAa;IA8CrB,OAAO,CAAC,gBAAgB;YA6BV,WAAW;IAWzB,OAAO,CAAC,mBAAmB;IAY3B,OAAO,CAAC,mBAAmB;CAM5B"}
1
+ {"version":3,"file":"appsync-subscriber.d.ts","sourceRoot":"","sources":["../src/appsync-subscriber.ts"],"names":[],"mappings":"AAAA,OAAO,SAAS,MAAM,IAAI,CAAA;AAE1B,OAAO,EAAE,uBAAuB,EAAE,MAAM,kBAAkB,CAAA;AAI1D,MAAM,WAAW,mBAAmB;IAClC,EAAE,EAAE,MAAM,CAAA;IACV,KAAK,EAAE,MAAM,CAAA;IACb,EAAE,EAAE,MAAM,CAAA;IACV,EAAE,EAAE,MAAM,CAAA;IACV,UAAU,EAAE,MAAM,CAAA;IAClB,MAAM,EAAE,MAAM,CAAA;IACd,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;CACjC;AAED,UAAU,cAAc;IACtB,EAAE,CAAC,EAAE,MAAM,CAAA;IACX,IAAI,EAAE,MAAM,CAAA;IACZ,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;CAClC;AAcD,qBAAa,iBAAkB,SAAQ,uBAAuB,CAAC,cAAc,CAAC;IAC5E,OAAO,CAAC,QAAQ,CAAC,WAAW,CAAQ;IACpC,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAQ;IAC7B,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAQ;IAC/B,OAAO,CAAC,cAAc,CAAsB;IAC5C,OAAO,CAAC,UAAU,CAAsB;IACxC,OAAO,CAAC,cAAc,CAA6D;IACnF,OAAO,CAAC,iBAAiB,CAA4B;IACrD,OAAO,CAAC,cAAc,CAA6C;IACnE,OAAO,CAAC,kBAAkB,CAAI;gBAElB,UAAU,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM;IAkB9C,SAAS,CACP,UAAU,EAAE,MAAM,EAClB,SAAS,EAAE,CAAC,YAAY,EAAE,mBAAmB,KAAK,IAAI,GACrD,IAAI;IAQP,WAAW,CAAC,QAAQ,EAAE,MAAM,IAAI,GAAG,IAAI;IAIvC,SAAS,CAAC,eAAe,IAAI,SAAS;IAKtC,SAAS,CAAC,MAAM,CAAC,EAAE,EAAE,SAAS,GAAG,IAAI;IAKrC,SAAS,CAAC,eAAe,CAAC,GAAG,EAAE,cAAc,EAAE,cAAc,CAAC,EAAE,CAAC,KAAK,EAAE,IAAI,KAAK,IAAI,GAAG,IAAI;IA8C5F,SAAS,CAAC,YAAY,IAAI,IAAI;IAgB9B,SAAS,CAAC,gBAAgB,IAAI,IAAI;IAIlC,SAAS,CAAC,aAAa,IAAI,IAAI;IAI/B,OAAO,CAAC,kBAAkB;IAW1B,OAAO,CAAC,gBAAgB;IA6BxB,OAAO,CAAC,mBAAmB;IAY3B,OAAO,CAAC,mBAAmB;CAM5B"}
@@ -5,10 +5,9 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
5
5
  Object.defineProperty(exports, "__esModule", { value: true });
6
6
  exports.AppSyncSubscriber = void 0;
7
7
  const ws_1 = __importDefault(require("ws"));
8
+ const base_websocket_1 = require("./base-websocket");
8
9
  const constants_1 = require("./constants");
9
10
  const logger_1 = require("./logger");
10
- const utils_1 = require("./utils");
11
- const ws_reconnect_1 = require("./ws-reconnect");
12
11
  const SUBSCRIPTION_QUERY = `subscription OnMessage($tenantCode: String!) {
13
12
  onMessage(tenantCode: $tenantCode) {
14
13
  id
@@ -20,10 +19,7 @@ const SUBSCRIPTION_QUERY = `subscription OnMessage($tenantCode: String!) {
20
19
  content
21
20
  }
22
21
  }`;
23
- const MAX_RECONNECT_RETRIES = 5;
24
- const RECONNECT_BASE_DELAY_MS = 1000;
25
- class AppSyncSubscriber {
26
- ws = null;
22
+ class AppSyncSubscriber extends base_websocket_1.BaseWebSocketConnection {
27
23
  realtimeUrl;
28
24
  host;
29
25
  apiKey;
@@ -31,11 +27,14 @@ class AppSyncSubscriber {
31
27
  tenantCode = null;
32
28
  messageHandler = null;
33
29
  reconnectCallback = null;
34
- reconnectAttemptsRef = { current: 0 };
35
- closed = false;
36
30
  keepAliveTimer = null;
37
31
  keepAliveTimeoutMs = 0;
38
32
  constructor(appsyncUrl, apiKey) {
33
+ super({
34
+ maxReconnectRetries: constants_1.APPSYNC_MAX_RECONNECT_RETRIES,
35
+ reconnectBaseDelayMs: constants_1.APPSYNC_RECONNECT_BASE_DELAY_MS,
36
+ logPrefix: 'AppSync:',
37
+ });
39
38
  this.apiKey = apiKey;
40
39
  const url = new URL(appsyncUrl);
41
40
  if (url.protocol !== 'https:' && url.protocol !== 'http:') {
@@ -45,12 +44,7 @@ class AppSyncSubscriber {
45
44
  this.realtimeUrl = appsyncUrl
46
45
  .replace('https://', 'wss://')
47
46
  .replace('http://', 'ws://')
48
- + '/realtime';
49
- }
50
- connect() {
51
- this.closed = false;
52
- this.reconnectAttemptsRef.current = 0;
53
- return this.doConnect();
47
+ .replace('.appsync-api.', '.appsync-realtime-api.');
54
48
  }
55
49
  subscribe(tenantCode, onMessage) {
56
50
  this.tenantCode = tenantCode;
@@ -62,73 +56,15 @@ class AppSyncSubscriber {
62
56
  onReconnect(callback) {
63
57
  this.reconnectCallback = callback;
64
58
  }
65
- disconnect() {
66
- this.closed = true;
67
- this.clearKeepAliveTimer();
68
- if (this.ws) {
69
- if (this.subscriptionId) {
70
- const stopMessage = {
71
- id: this.subscriptionId,
72
- type: 'stop',
73
- };
74
- try {
75
- this.ws.send(JSON.stringify(stopMessage));
76
- }
77
- catch {
78
- // ignore send errors during disconnect
79
- }
80
- }
81
- this.ws.close();
82
- this.ws = null;
83
- }
84
- this.subscriptionId = null;
59
+ createWebSocket() {
60
+ const url = this.buildConnectionUrl();
61
+ return new ws_1.default(url, ['graphql-ws']);
85
62
  }
86
- buildConnectionUrl() {
87
- const header = {
88
- host: this.host,
89
- 'x-api-key': this.apiKey,
90
- 'content-type': 'application/json',
91
- };
92
- const encodedHeader = Buffer.from(JSON.stringify(header)).toString('base64');
93
- const encodedPayload = Buffer.from(JSON.stringify({})).toString('base64');
94
- return `${this.realtimeUrl}?header=${encodedHeader}&payload=${encodedPayload}`;
95
- }
96
- doConnect() {
97
- return new Promise((resolve, reject) => {
98
- const url = this.buildConnectionUrl();
99
- const ws = new ws_1.default(url, ['graphql-ws']);
100
- ws.on('open', () => {
101
- const initMessage = { type: 'connection_init' };
102
- ws.send(JSON.stringify(initMessage));
103
- });
104
- ws.on('message', (data) => {
105
- let msg;
106
- try {
107
- msg = JSON.parse(data.toString());
108
- }
109
- catch {
110
- logger_1.logger.debug('AppSync: Failed to parse message');
111
- return;
112
- }
113
- this.handleMessage(msg, resolve);
114
- });
115
- ws.on('error', (error) => {
116
- logger_1.logger.debug(`AppSync WebSocket error: ${(0, utils_1.getErrorMessage)(error)}`);
117
- if (this.reconnectAttemptsRef.current === 0 && !this.ws) {
118
- reject(error);
119
- }
120
- });
121
- ws.on('close', () => {
122
- this.clearKeepAliveTimer();
123
- if (!this.closed) {
124
- logger_1.logger.debug('AppSync WebSocket closed unexpectedly');
125
- void this.doReconnect();
126
- }
127
- });
128
- this.ws = ws;
129
- });
63
+ onOpen(ws) {
64
+ const initMessage = { type: 'connection_init' };
65
+ ws.send(JSON.stringify(initMessage));
130
66
  }
131
- handleMessage(msg, resolveConnect) {
67
+ onParsedMessage(msg, resolveConnect) {
132
68
  switch (msg.type) {
133
69
  case 'connection_ack': {
134
70
  const timeoutMs = msg.payload?.connectionTimeoutMs ?? constants_1.DEFAULT_APPSYNC_TIMEOUT_MS;
@@ -166,6 +102,38 @@ class AppSyncSubscriber {
166
102
  break;
167
103
  }
168
104
  }
105
+ onDisconnect() {
106
+ this.clearKeepAliveTimer();
107
+ if (this.ws && this.subscriptionId) {
108
+ const stopMessage = {
109
+ id: this.subscriptionId,
110
+ type: 'stop',
111
+ };
112
+ try {
113
+ this.ws.send(JSON.stringify(stopMessage));
114
+ }
115
+ catch {
116
+ // ignore send errors during disconnect
117
+ }
118
+ }
119
+ this.subscriptionId = null;
120
+ }
121
+ onWebSocketClose() {
122
+ this.clearKeepAliveTimer();
123
+ }
124
+ onReconnected() {
125
+ this.reconnectCallback?.();
126
+ }
127
+ buildConnectionUrl() {
128
+ const header = {
129
+ host: this.host,
130
+ 'x-api-key': this.apiKey,
131
+ 'content-type': 'application/json',
132
+ };
133
+ const encodedHeader = Buffer.from(JSON.stringify(header)).toString('base64');
134
+ const encodedPayload = Buffer.from(JSON.stringify({})).toString('base64');
135
+ return `${this.realtimeUrl}?header=${encodedHeader}&payload=${encodedPayload}`;
136
+ }
169
137
  sendSubscription(tenantCode) {
170
138
  if (!this.ws || this.ws.readyState !== ws_1.default.OPEN)
171
139
  return;
@@ -191,16 +159,6 @@ class AppSyncSubscriber {
191
159
  };
192
160
  this.ws.send(JSON.stringify(startMessage));
193
161
  }
194
- async doReconnect() {
195
- await (0, ws_reconnect_1.attemptReconnect)(this.reconnectAttemptsRef, {
196
- maxRetries: MAX_RECONNECT_RETRIES,
197
- baseDelayMs: RECONNECT_BASE_DELAY_MS,
198
- logPrefix: 'AppSync:',
199
- connectFn: () => this.doConnect(),
200
- onReconnectedFn: this.reconnectCallback ?? undefined,
201
- isClosedFn: () => this.closed,
202
- });
203
- }
204
162
  resetKeepAliveTimer() {
205
163
  this.clearKeepAliveTimer();
206
164
  if (this.keepAliveTimeoutMs > 0) {
@@ -1 +1 @@
1
- {"version":3,"file":"appsync-subscriber.js","sourceRoot":"","sources":["../src/appsync-subscriber.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"appsync-subscriber.js","sourceRoot":"","sources":["../src/appsync-subscriber.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,40 @@
1
+ import WebSocket from 'ws';
2
+ export interface BaseWebSocketOptions {
3
+ maxReconnectRetries: number;
4
+ reconnectBaseDelayMs: number;
5
+ logPrefix: string;
6
+ }
7
+ /**
8
+ * WebSocket 接続の共通ライフサイクル管理
9
+ * - 接続 / 再接続 / 切断
10
+ * - JSON メッセージパース
11
+ * - 再接続時のコールバック
12
+ */
13
+ export declare abstract class BaseWebSocketConnection<TMessage> {
14
+ protected ws: WebSocket | null;
15
+ protected closed: boolean;
16
+ protected readonly reconnectAttemptsRef: {
17
+ current: number;
18
+ };
19
+ private readonly options;
20
+ constructor(options: BaseWebSocketOptions);
21
+ connect(): Promise<void>;
22
+ disconnect(): void;
23
+ /** WebSocket URL とオプションを返す */
24
+ protected abstract createWebSocket(): WebSocket;
25
+ /** 接続成功時の処理。Promise を resolve するタイミングはサブクラスが決める */
26
+ protected abstract onOpen(ws: WebSocket, resolve: (value: void) => void): void;
27
+ /** パースされたメッセージを処理する */
28
+ protected abstract onParsedMessage(msg: TMessage, resolve?: (value: void) => void): void;
29
+ /** 切断時のクリーンアップ(サブクラスでオーバーライド) */
30
+ protected onDisconnect(): void;
31
+ /** WebSocket を閉じる(サブクラスでオーバーライド可能) */
32
+ protected closeWebSocket(ws: WebSocket): void;
33
+ /** 再接続成功時のコールバック(サブクラスでオーバーライド可能) */
34
+ protected onReconnected(): void;
35
+ protected doConnect(): Promise<void>;
36
+ /** WebSocket close イベント時の追加処理(サブクラスでオーバーライド可能) */
37
+ protected onWebSocketClose(): void;
38
+ private doReconnect;
39
+ }
40
+ //# sourceMappingURL=base-websocket.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"base-websocket.d.ts","sourceRoot":"","sources":["../src/base-websocket.ts"],"names":[],"mappings":"AAAA,OAAO,SAAS,MAAM,IAAI,CAAA;AAM1B,MAAM,WAAW,oBAAoB;IACnC,mBAAmB,EAAE,MAAM,CAAA;IAC3B,oBAAoB,EAAE,MAAM,CAAA;IAC5B,SAAS,EAAE,MAAM,CAAA;CAClB;AAED;;;;;GAKG;AACH,8BAAsB,uBAAuB,CAAC,QAAQ;IACpD,SAAS,CAAC,EAAE,EAAE,SAAS,GAAG,IAAI,CAAO;IACrC,SAAS,CAAC,MAAM,UAAQ;IACxB,SAAS,CAAC,QAAQ,CAAC,oBAAoB;;MAAiB;IACxD,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAsB;gBAElC,OAAO,EAAE,oBAAoB;IAIzC,OAAO,IAAI,OAAO,CAAC,IAAI,CAAC;IAMxB,UAAU,IAAI,IAAI;IASlB,8BAA8B;IAC9B,SAAS,CAAC,QAAQ,CAAC,eAAe,IAAI,SAAS;IAE/C,mDAAmD;IACnD,SAAS,CAAC,QAAQ,CAAC,MAAM,CAAC,EAAE,EAAE,SAAS,EAAE,OAAO,EAAE,CAAC,KAAK,EAAE,IAAI,KAAK,IAAI,GAAG,IAAI;IAE9E,uBAAuB;IACvB,SAAS,CAAC,QAAQ,CAAC,eAAe,CAAC,GAAG,EAAE,QAAQ,EAAE,OAAO,CAAC,EAAE,CAAC,KAAK,EAAE,IAAI,KAAK,IAAI,GAAG,IAAI;IAExF,iCAAiC;IACjC,SAAS,CAAC,YAAY,IAAI,IAAI;IAI9B,sCAAsC;IACtC,SAAS,CAAC,cAAc,CAAC,EAAE,EAAE,SAAS,GAAG,IAAI;IAI7C,qCAAqC;IACrC,SAAS,CAAC,aAAa,IAAI,IAAI;IAI/B,SAAS,CAAC,SAAS,IAAI,OAAO,CAAC,IAAI,CAAC;IAsCpC,kDAAkD;IAClD,SAAS,CAAC,gBAAgB,IAAI,IAAI;YAIpB,WAAW;CAU1B"}
@@ -0,0 +1,95 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.BaseWebSocketConnection = void 0;
4
+ const logger_1 = require("./logger");
5
+ const utils_1 = require("./utils");
6
+ const ws_reconnect_1 = require("./ws-reconnect");
7
+ /**
8
+ * WebSocket 接続の共通ライフサイクル管理
9
+ * - 接続 / 再接続 / 切断
10
+ * - JSON メッセージパース
11
+ * - 再接続時のコールバック
12
+ */
13
+ class BaseWebSocketConnection {
14
+ ws = null;
15
+ closed = false;
16
+ reconnectAttemptsRef = { current: 0 };
17
+ options;
18
+ constructor(options) {
19
+ this.options = options;
20
+ }
21
+ connect() {
22
+ this.closed = false;
23
+ this.reconnectAttemptsRef.current = 0;
24
+ return this.doConnect();
25
+ }
26
+ disconnect() {
27
+ this.closed = true;
28
+ this.onDisconnect();
29
+ if (this.ws) {
30
+ this.closeWebSocket(this.ws);
31
+ this.ws = null;
32
+ }
33
+ }
34
+ /** 切断時のクリーンアップ(サブクラスでオーバーライド) */
35
+ onDisconnect() {
36
+ // default: no-op
37
+ }
38
+ /** WebSocket を閉じる(サブクラスでオーバーライド可能) */
39
+ closeWebSocket(ws) {
40
+ ws.close();
41
+ }
42
+ /** 再接続成功時のコールバック(サブクラスでオーバーライド可能) */
43
+ onReconnected() {
44
+ // default: no-op
45
+ }
46
+ doConnect() {
47
+ return new Promise((resolve, reject) => {
48
+ const ws = this.createWebSocket();
49
+ ws.on('open', () => {
50
+ this.onOpen(ws, resolve);
51
+ });
52
+ ws.on('message', (data) => {
53
+ let msg;
54
+ try {
55
+ msg = JSON.parse(data.toString());
56
+ }
57
+ catch {
58
+ logger_1.logger.debug(`${this.options.logPrefix} Failed to parse message`);
59
+ return;
60
+ }
61
+ this.onParsedMessage(msg, resolve);
62
+ });
63
+ ws.on('error', (error) => {
64
+ logger_1.logger.debug(`${this.options.logPrefix} WebSocket error: ${(0, utils_1.getErrorMessage)(error)}`);
65
+ if (this.reconnectAttemptsRef.current === 0 && !this.ws) {
66
+ reject(error);
67
+ }
68
+ });
69
+ ws.on('close', () => {
70
+ this.onWebSocketClose();
71
+ if (!this.closed) {
72
+ logger_1.logger.debug(`${this.options.logPrefix} Connection closed unexpectedly`);
73
+ void this.doReconnect();
74
+ }
75
+ });
76
+ this.ws = ws;
77
+ });
78
+ }
79
+ /** WebSocket close イベント時の追加処理(サブクラスでオーバーライド可能) */
80
+ onWebSocketClose() {
81
+ // default: no-op
82
+ }
83
+ async doReconnect() {
84
+ await (0, ws_reconnect_1.attemptReconnect)(this.reconnectAttemptsRef, {
85
+ maxRetries: this.options.maxReconnectRetries,
86
+ baseDelayMs: this.options.reconnectBaseDelayMs,
87
+ logPrefix: this.options.logPrefix,
88
+ connectFn: () => this.doConnect(),
89
+ onReconnectedFn: () => this.onReconnected(),
90
+ isClosedFn: () => this.closed,
91
+ });
92
+ }
93
+ }
94
+ exports.BaseWebSocketConnection = BaseWebSocketConnection;
95
+ //# sourceMappingURL=base-websocket.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"base-websocket.js","sourceRoot":"","sources":["../src/base-websocket.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,20 @@
1
+ import type { AgentChatMode, ProjectRegistration } from './types';
2
+ export declare class ChildProcessManager {
3
+ private readonly processes;
4
+ private readonly restartTimers;
5
+ private stopping;
6
+ forkProject(project: ProjectRegistration, agentId: string, options: {
7
+ pollInterval: number;
8
+ heartbeatInterval: number;
9
+ agentChatMode?: AgentChatMode;
10
+ defaultProjectDir?: string;
11
+ }): void;
12
+ private spawnChild;
13
+ private resetRestartCount;
14
+ private handleChildMessage;
15
+ private handleChildExit;
16
+ sendUpdateToAll(): void;
17
+ stopAll(timeoutMs?: number): Promise<void>;
18
+ getRunningCount(): number;
19
+ }
20
+ //# sourceMappingURL=child-process-manager.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"child-process-manager.d.ts","sourceRoot":"","sources":["../src/child-process-manager.ts"],"names":[],"mappings":"AAWA,OAAO,KAAK,EAAE,aAAa,EAAE,mBAAmB,EAAE,MAAM,SAAS,CAAA;AASjE,qBAAa,mBAAmB;IAC9B,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAoC;IAC9D,OAAO,CAAC,QAAQ,CAAC,aAAa,CAAmD;IACjF,OAAO,CAAC,QAAQ,CAAQ;IAExB,WAAW,CACT,OAAO,EAAE,mBAAmB,EAC5B,OAAO,EAAE,MAAM,EACf,OAAO,EAAE;QACP,YAAY,EAAE,MAAM,CAAA;QACpB,iBAAiB,EAAE,MAAM,CAAA;QACzB,aAAa,CAAC,EAAE,aAAa,CAAA;QAC7B,iBAAiB,CAAC,EAAE,MAAM,CAAA;KAC3B,GACA,IAAI;IAWP,OAAO,CAAC,UAAU;IAgClB,OAAO,CAAC,iBAAiB;IAKzB,OAAO,CAAC,kBAAkB;IAe1B,OAAO,CAAC,eAAe;IAyBvB,eAAe,IAAI,IAAI;IASjB,OAAO,CAAC,SAAS,GAAE,MAAsC,GAAG,OAAO,CAAC,IAAI,CAAC;IAkC/E,eAAe,IAAI,MAAM;CAG1B"}