@ai-support-agent/cli 0.0.1 → 0.0.3-beta.0

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 (96) hide show
  1. package/dist/agent-runner.d.ts +7 -4
  2. package/dist/agent-runner.d.ts.map +1 -1
  3. package/dist/agent-runner.js +49 -121
  4. package/dist/agent-runner.js.map +1 -1
  5. package/dist/api-client.d.ts +9 -5
  6. package/dist/api-client.d.ts.map +1 -1
  7. package/dist/api-client.js +46 -8
  8. package/dist/api-client.js.map +1 -1
  9. package/dist/appsync-subscriber.d.ts +36 -0
  10. package/dist/appsync-subscriber.d.ts.map +1 -0
  11. package/dist/appsync-subscriber.js +234 -0
  12. package/dist/appsync-subscriber.js.map +1 -0
  13. package/dist/auto-updater.d.ts +15 -0
  14. package/dist/auto-updater.d.ts.map +1 -0
  15. package/dist/auto-updater.js +110 -0
  16. package/dist/auto-updater.js.map +1 -0
  17. package/dist/chat-mode-detector.d.ts +19 -0
  18. package/dist/chat-mode-detector.d.ts.map +1 -0
  19. package/dist/chat-mode-detector.js +83 -0
  20. package/dist/chat-mode-detector.js.map +1 -0
  21. package/dist/cli/auth-commands.d.ts +3 -0
  22. package/dist/cli/auth-commands.d.ts.map +1 -0
  23. package/dist/cli/auth-commands.js +123 -0
  24. package/dist/cli/auth-commands.js.map +1 -0
  25. package/dist/cli/status-command.d.ts +5 -0
  26. package/dist/cli/status-command.d.ts.map +1 -0
  27. package/dist/cli/status-command.js +57 -0
  28. package/dist/cli/status-command.js.map +1 -0
  29. package/dist/cli/validators.d.ts +4 -0
  30. package/dist/cli/validators.d.ts.map +1 -0
  31. package/dist/cli/validators.js +26 -0
  32. package/dist/cli/validators.js.map +1 -0
  33. package/dist/command-executor.d.ts +2 -2
  34. package/dist/command-executor.d.ts.map +1 -1
  35. package/dist/command-executor.js +15 -303
  36. package/dist/command-executor.js.map +1 -1
  37. package/dist/commands/api-chat-executor.d.ts +8 -0
  38. package/dist/commands/api-chat-executor.d.ts.map +1 -0
  39. package/dist/commands/api-chat-executor.js +117 -0
  40. package/dist/commands/api-chat-executor.js.map +1 -0
  41. package/dist/commands/chat-executor.d.ts +11 -0
  42. package/dist/commands/chat-executor.d.ts.map +1 -0
  43. package/dist/commands/chat-executor.js +127 -0
  44. package/dist/commands/chat-executor.js.map +1 -0
  45. package/dist/commands/file-executor.d.ts +5 -0
  46. package/dist/commands/file-executor.d.ts.map +1 -0
  47. package/dist/commands/file-executor.js +97 -0
  48. package/dist/commands/file-executor.js.map +1 -0
  49. package/dist/commands/index.d.ts +16 -0
  50. package/dist/commands/index.d.ts.map +1 -0
  51. package/dist/commands/index.js +80 -0
  52. package/dist/commands/index.js.map +1 -0
  53. package/dist/commands/process-executor.d.ts +4 -0
  54. package/dist/commands/process-executor.d.ts.map +1 -0
  55. package/dist/commands/process-executor.js +66 -0
  56. package/dist/commands/process-executor.js.map +1 -0
  57. package/dist/commands/shared-chat-utils.d.ts +20 -0
  58. package/dist/commands/shared-chat-utils.d.ts.map +1 -0
  59. package/dist/commands/shared-chat-utils.js +35 -0
  60. package/dist/commands/shared-chat-utils.js.map +1 -0
  61. package/dist/commands/shell-executor.d.ts +3 -0
  62. package/dist/commands/shell-executor.d.ts.map +1 -0
  63. package/dist/commands/shell-executor.js +125 -0
  64. package/dist/commands/shell-executor.js.map +1 -0
  65. package/dist/config-manager.d.ts.map +1 -1
  66. package/dist/config-manager.js +5 -0
  67. package/dist/config-manager.js.map +1 -1
  68. package/dist/constants.d.ts +9 -2
  69. package/dist/constants.d.ts.map +1 -1
  70. package/dist/constants.js +50 -3
  71. package/dist/constants.js.map +1 -1
  72. package/dist/index.js +12 -160
  73. package/dist/index.js.map +1 -1
  74. package/dist/locales/en.json +19 -1
  75. package/dist/locales/ja.json +19 -1
  76. package/dist/locales/locales/en.json +19 -1
  77. package/dist/locales/locales/ja.json +19 -1
  78. package/dist/project-agent.d.ts +32 -0
  79. package/dist/project-agent.d.ts.map +1 -0
  80. package/dist/project-agent.js +296 -0
  81. package/dist/project-agent.js.map +1 -0
  82. package/dist/security.d.ts +13 -0
  83. package/dist/security.d.ts.map +1 -0
  84. package/dist/security.js +123 -0
  85. package/dist/security.js.map +1 -0
  86. package/dist/system-info.d.ts +4 -0
  87. package/dist/system-info.d.ts.map +1 -0
  88. package/dist/system-info.js +60 -0
  89. package/dist/system-info.js.map +1 -0
  90. package/dist/types.d.ts +80 -1
  91. package/dist/types.d.ts.map +1 -1
  92. package/dist/update-checker.d.ts +24 -0
  93. package/dist/update-checker.d.ts.map +1 -0
  94. package/dist/update-checker.js +89 -0
  95. package/dist/update-checker.js.map +1 -0
  96. package/package.json +5 -3
@@ -1,21 +1,24 @@
1
- import type { ProjectRegistration, SystemInfo } from './types';
1
+ import { type AutoUpdaterHandle } from './auto-updater';
2
+ import type { AgentChatMode, ProjectRegistration, ReleaseChannel } from './types';
2
3
  export interface RunnerOptions {
3
4
  token?: string;
4
5
  apiUrl?: string;
5
6
  pollInterval?: number;
6
7
  heartbeatInterval?: number;
7
8
  verbose?: boolean;
9
+ autoUpdate?: boolean;
10
+ updateChannel?: ReleaseChannel;
8
11
  }
9
- export declare function getSystemInfo(): SystemInfo;
10
- export declare function getLocalIpAddress(): string | undefined;
11
12
  export declare function startProjectAgent(project: ProjectRegistration, agentId: string, options: {
12
13
  pollInterval: number;
13
14
  heartbeatInterval: number;
15
+ agentChatMode?: AgentChatMode;
14
16
  }): {
15
17
  stop: () => void;
18
+ client: import('./api-client').ApiClient;
16
19
  };
17
20
  export declare function setupShutdownHandlers(agents: {
18
21
  stop: () => void;
19
- }[]): void;
22
+ }[], updater?: AutoUpdaterHandle): void;
20
23
  export declare function startAgent(options: RunnerOptions): Promise<void>;
21
24
  //# sourceMappingURL=agent-runner.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"agent-runner.d.ts","sourceRoot":"","sources":["../src/agent-runner.ts"],"names":[],"mappings":"AAQA,OAAO,KAAK,EAAE,mBAAmB,EAAE,UAAU,EAAE,MAAM,SAAS,CAAA;AAG9D,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;CAClB;AAED,wBAAgB,aAAa,IAAI,UAAU,CAS1C;AAED,wBAAgB,iBAAiB,IAAI,MAAM,GAAG,SAAS,CAUtD;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;CAC1B,GACA;IAAE,IAAI,EAAE,MAAM,IAAI,CAAA;CAAE,CAmGtB;AAYD,wBAAgB,qBAAqB,CAAC,MAAM,EAAE;IAAE,IAAI,EAAE,MAAM,IAAI,CAAA;CAAE,EAAE,GAAG,IAAI,CAS1E;AAiBD,wBAAsB,UAAU,CAAC,OAAO,EAAE,aAAa,GAAG,OAAO,CAAC,IAAI,CAAC,CAgFtE"}
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;AAOzE,OAAO,KAAK,EAAE,aAAa,EAAoB,mBAAmB,EAAE,cAAc,EAAE,MAAM,SAAS,CAAA;AAGnG,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;CAC9B,GACA;IAAE,IAAI,EAAE,MAAM,IAAI,CAAC;IAAC,MAAM,EAAE,OAAO,cAAc,EAAE,SAAS,CAAA;CAAE,CAOhE;AAYD,wBAAgB,qBAAqB,CACnC,MAAM,EAAE;IAAE,IAAI,EAAE,MAAM,IAAI,CAAA;CAAE,EAAE,EAC9B,OAAO,CAAC,EAAE,iBAAiB,GAC1B,IAAI,CAUN;AA2CD,wBAAsB,UAAU,CAAC,OAAO,EAAE,aAAa,GAAG,OAAO,CAAC,IAAI,CAAC,CAuGtE"}
@@ -33,131 +33,24 @@ var __importStar = (this && this.__importStar) || (function () {
33
33
  };
34
34
  })();
35
35
  Object.defineProperty(exports, "__esModule", { value: true });
36
- exports.getSystemInfo = getSystemInfo;
37
- exports.getLocalIpAddress = getLocalIpAddress;
38
36
  exports.startProjectAgent = startProjectAgent;
39
37
  exports.setupShutdownHandlers = setupShutdownHandlers;
40
38
  exports.startAgent = startAgent;
41
39
  const os = __importStar(require("os"));
42
- const api_client_1 = require("./api-client");
40
+ const auto_updater_1 = require("./auto-updater");
43
41
  const constants_1 = require("./constants");
44
- const command_executor_1 = require("./command-executor");
45
42
  const config_manager_1 = require("./config-manager");
46
43
  const i18n_1 = require("./i18n");
47
44
  const logger_1 = require("./logger");
45
+ const project_agent_1 = require("./project-agent");
46
+ const system_info_1 = require("./system-info");
48
47
  const utils_1 = require("./utils");
49
- function getSystemInfo() {
50
- const cpus = os.cpus();
51
- return {
52
- platform: os.platform(),
53
- arch: os.arch(),
54
- cpuUsage: cpus.length > 0 ? (os.loadavg()[0] / cpus.length) * 100 : 0,
55
- memoryUsage: (1 - os.freemem() / os.totalmem()) * 100,
56
- uptime: os.uptime(),
57
- };
58
- }
59
- function getLocalIpAddress() {
60
- const interfaces = os.networkInterfaces();
61
- for (const name of Object.keys(interfaces)) {
62
- for (const iface of interfaces[name] ?? []) {
63
- if (iface.family === 'IPv4' && !iface.internal) {
64
- return iface.address;
65
- }
66
- }
67
- }
68
- return undefined;
69
- }
70
48
  function startProjectAgent(project, agentId, options) {
71
- const client = new api_client_1.ApiClient(project.apiUrl, project.token);
72
- const prefix = `[${project.projectCode}]`;
73
- let heartbeatTimer = null;
74
- let pollTimer = null;
75
- let processing = false;
76
- // 1. Register
77
- const registerAndStart = async () => {
78
- try {
79
- const result = await client.register({
80
- agentId,
81
- hostname: os.hostname(),
82
- os: os.platform(),
83
- arch: os.arch(),
84
- ipAddress: getLocalIpAddress(),
85
- });
86
- logger_1.logger.success((0, i18n_1.t)('runner.registered', { prefix, agentId: result.agentId }));
87
- }
88
- catch (error) {
89
- logger_1.logger.error((0, i18n_1.t)('runner.registerFailed', { prefix, message: (0, utils_1.getErrorMessage)(error) }));
90
- return;
91
- }
92
- // 2. Heartbeat loop
93
- const sendHeartbeat = async () => {
94
- try {
95
- await client.heartbeat(agentId, getSystemInfo());
96
- logger_1.logger.debug(`${prefix} Heartbeat sent`);
97
- }
98
- catch (error) {
99
- logger_1.logger.warn((0, i18n_1.t)('runner.heartbeatFailed', { prefix, message: (0, utils_1.getErrorMessage)(error) }));
100
- }
101
- };
102
- heartbeatTimer = setInterval(() => {
103
- void sendHeartbeat();
104
- }, options.heartbeatInterval);
105
- void sendHeartbeat();
106
- // 3. Command polling loop
107
- const pollCommands = async () => {
108
- if (processing)
109
- return;
110
- processing = true;
111
- try {
112
- const pending = await client.getPendingCommands();
113
- for (const cmd of pending) {
114
- logger_1.logger.info((0, i18n_1.t)('runner.commandReceived', { prefix, type: cmd.type, commandId: cmd.commandId }));
115
- try {
116
- const detail = await client.getCommand(cmd.commandId);
117
- const result = await (0, command_executor_1.executeCommand)(detail.type, detail.payload);
118
- await client.submitResult(cmd.commandId, result);
119
- logger_1.logger.info((0, i18n_1.t)('runner.commandDone', {
120
- prefix,
121
- commandId: cmd.commandId,
122
- result: result.success ? 'success' : 'failed',
123
- }));
124
- }
125
- catch (error) {
126
- const message = (0, utils_1.getErrorMessage)(error);
127
- logger_1.logger.error((0, i18n_1.t)('runner.commandError', { prefix, commandId: cmd.commandId, message }));
128
- try {
129
- await client.submitResult(cmd.commandId, {
130
- success: false,
131
- error: message,
132
- });
133
- }
134
- catch {
135
- logger_1.logger.error((0, i18n_1.t)('runner.resultSendFailed', { prefix }));
136
- }
137
- }
138
- }
139
- }
140
- catch (error) {
141
- logger_1.logger.debug(`${prefix} Polling error: ${(0, utils_1.getErrorMessage)(error)}`);
142
- }
143
- finally {
144
- processing = false;
145
- }
146
- };
147
- pollTimer = setInterval(() => {
148
- void pollCommands();
149
- }, options.pollInterval);
150
- };
151
- registerAndStart().catch((error) => {
152
- logger_1.logger.error((0, i18n_1.t)('runner.unexpectedError', { message: (0, utils_1.getErrorMessage)(error) }));
153
- });
49
+ const agent = new project_agent_1.ProjectAgent(project, agentId, options, undefined, options.agentChatMode);
50
+ agent.start();
154
51
  return {
155
- stop: () => {
156
- if (heartbeatTimer)
157
- clearInterval(heartbeatTimer);
158
- if (pollTimer)
159
- clearInterval(pollTimer);
160
- },
52
+ stop: () => agent.stop(),
53
+ client: agent.getClient(),
161
54
  };
162
55
  }
163
56
  function resolveIntervals(options) {
@@ -166,9 +59,10 @@ function resolveIntervals(options) {
166
59
  heartbeatInterval: options.heartbeatInterval ?? constants_1.DEFAULT_HEARTBEAT_INTERVAL,
167
60
  };
168
61
  }
169
- function setupShutdownHandlers(agents) {
62
+ function setupShutdownHandlers(agents, updater) {
170
63
  const shutdown = () => {
171
64
  logger_1.logger.info((0, i18n_1.t)('runner.shuttingDown'));
65
+ updater?.stop();
172
66
  agents.forEach((a) => a.stop());
173
67
  logger_1.logger.success((0, i18n_1.t)('runner.stopped'));
174
68
  process.exit(0);
@@ -176,15 +70,41 @@ function setupShutdownHandlers(agents) {
176
70
  process.on('SIGINT', shutdown);
177
71
  process.on('SIGTERM', shutdown);
178
72
  }
179
- function runSingleProject(project, agentId, options) {
73
+ function resolveAutoUpdateConfig(options, config) {
74
+ return {
75
+ enabled: options.autoUpdate !== false,
76
+ autoRestart: true,
77
+ channel: options.updateChannel ?? config?.autoUpdate?.channel ?? 'latest',
78
+ ...config?.autoUpdate,
79
+ // CLI flags override config
80
+ ...(options.autoUpdate === false && { enabled: false }),
81
+ ...(options.updateChannel && { channel: options.updateChannel }),
82
+ };
83
+ }
84
+ function runSingleProject(project, agentId, options, agentChatMode) {
180
85
  const { pollInterval, heartbeatInterval } = resolveIntervals(options);
181
86
  logger_1.logger.info((0, i18n_1.t)('runner.starting'));
182
- const agent = startProjectAgent(project, agentId, { pollInterval, heartbeatInterval });
87
+ const agent = startProjectAgent(project, agentId, { pollInterval, heartbeatInterval, agentChatMode });
88
+ const autoUpdateConfig = resolveAutoUpdateConfig(options);
89
+ let updater;
90
+ if (autoUpdateConfig.enabled) {
91
+ updater = (0, auto_updater_1.startAutoUpdater)([agent.client], autoUpdateConfig, () => agent.stop(), (error) => {
92
+ void agent.client.heartbeat(agentId, (0, system_info_1.getSystemInfo)(), error).catch(() => { });
93
+ });
94
+ }
183
95
  logger_1.logger.info((0, i18n_1.t)('runner.startedSingle', { pollInterval, heartbeatInterval }));
184
96
  logger_1.logger.info((0, i18n_1.t)('runner.stopHint'));
185
- setupShutdownHandlers([agent]);
97
+ setupShutdownHandlers([agent], updater);
186
98
  }
187
99
  async function startAgent(options) {
100
+ // グローバルエラーハンドラ(非同期エラーでの静かなクラッシュを防止)
101
+ process.on('uncaughtException', (error) => {
102
+ logger_1.logger.error(`Uncaught exception: ${error.message}${error.stack ? `\n${error.stack}` : ''}`);
103
+ process.exit(1);
104
+ });
105
+ process.on('unhandledRejection', (reason) => {
106
+ logger_1.logger.error(`Unhandled rejection: ${reason}`);
107
+ });
188
108
  if (options.verbose) {
189
109
  logger_1.logger.setVerbose(true);
190
110
  }
@@ -206,7 +126,7 @@ async function startAgent(options) {
206
126
  token: options.token,
207
127
  apiUrl: options.apiUrl,
208
128
  };
209
- runSingleProject(project, agentId, options);
129
+ runSingleProject(project, agentId, options, config?.agentChatMode);
210
130
  (0, config_manager_1.saveConfig)({ lastConnected: new Date().toISOString() });
211
131
  return;
212
132
  }
@@ -239,13 +159,21 @@ async function startAgent(options) {
239
159
  const agentId = config.agentId ?? os.hostname();
240
160
  const { pollInterval, heartbeatInterval } = resolveIntervals(options);
241
161
  logger_1.logger.info((0, i18n_1.t)('runner.startingMulti', { count: projects.length }));
242
- const agents = projects.map((project) => startProjectAgent(project, agentId, { pollInterval, heartbeatInterval }));
162
+ const agents = projects.map((project) => startProjectAgent(project, agentId, { pollInterval, heartbeatInterval, agentChatMode: config.agentChatMode }));
243
163
  (0, config_manager_1.saveConfig)({ lastConnected: new Date().toISOString() });
164
+ const autoUpdateConfig = resolveAutoUpdateConfig(options, config);
165
+ let updater;
166
+ if (autoUpdateConfig.enabled) {
167
+ const clients = agents.map((a) => a.client);
168
+ updater = (0, auto_updater_1.startAutoUpdater)(clients, autoUpdateConfig, () => agents.forEach((a) => a.stop()), (error) => {
169
+ void agents[0]?.client.heartbeat(agentId, (0, system_info_1.getSystemInfo)(), error).catch(() => { });
170
+ });
171
+ }
244
172
  logger_1.logger.info((0, i18n_1.t)('runner.startedMulti', { count: projects.length, pollInterval, heartbeatInterval }));
245
173
  for (const p of projects) {
246
174
  logger_1.logger.info(` - ${p.projectCode} (${p.apiUrl})`);
247
175
  }
248
176
  logger_1.logger.info((0, i18n_1.t)('runner.stopHint'));
249
- setupShutdownHandlers(agents);
177
+ setupShutdownHandlers(agents, updater);
250
178
  }
251
179
  //# sourceMappingURL=agent-runner.js.map
@@ -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,14 +1,18 @@
1
- import type { AgentCommand, CommandResult, PendingCommand, RegisterRequest, RegisterResponse, SystemInfo } from './types';
1
+ import type { AgentCommand, AgentServerConfig, ChatChunk, CommandResult, PendingCommand, ReleaseChannel, RegisterRequest, RegisterResponse, SystemInfo, VersionInfo } from './types';
2
2
  export declare class ApiClient {
3
3
  private readonly client;
4
4
  constructor(apiUrl: string, token: string);
5
5
  private shouldRetry;
6
6
  private withRetry;
7
7
  register(request: RegisterRequest): Promise<RegisterResponse>;
8
- heartbeat(agentId: string, systemInfo: SystemInfo): Promise<void>;
9
- getPendingCommands(): Promise<PendingCommand[]>;
8
+ heartbeat(agentId: string, systemInfo: SystemInfo, updateError?: string, availableChatModes?: string[], activeChatMode?: string): Promise<void>;
9
+ getVersionInfo(channel?: ReleaseChannel): Promise<VersionInfo>;
10
+ getPendingCommands(agentId: string): Promise<PendingCommand[]>;
10
11
  private validateCommandId;
11
- getCommand(commandId: string): Promise<AgentCommand>;
12
- submitResult(commandId: string, result: CommandResult): Promise<void>;
12
+ getCommand(commandId: string, agentId: string): Promise<AgentCommand>;
13
+ submitResult(commandId: string, result: CommandResult, agentId: string): Promise<void>;
14
+ reportConnectionStatus(agentId: string, status: 'connected' | 'disconnected'): Promise<void>;
15
+ getConfig(): Promise<AgentServerConfig>;
16
+ submitChatChunk(commandId: string, chunk: ChatChunk, agentId: string): Promise<void>;
13
17
  }
14
18
  //# sourceMappingURL=api-client.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"api-client.d.ts","sourceRoot":"","sources":["../src/api-client.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EACV,YAAY,EACZ,aAAa,EACb,cAAc,EACd,eAAe,EACf,gBAAgB,EAChB,UAAU,EACX,MAAM,SAAS,CAAA;AAEhB,qBAAa,SAAS;IACpB,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAe;gBAE1B,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM;IAgBzC,OAAO,CAAC,WAAW;YAcL,SAAS;IAqBjB,QAAQ,CAAC,OAAO,EAAE,eAAe,GAAG,OAAO,CAAC,gBAAgB,CAAC;IAgB7D,SAAS,CAAC,OAAO,EAAE,MAAM,EAAE,UAAU,EAAE,UAAU,GAAG,OAAO,CAAC,IAAI,CAAC;IAYjE,kBAAkB,IAAI,OAAO,CAAC,cAAc,EAAE,CAAC;IAUrD,OAAO,CAAC,iBAAiB;IAMnB,UAAU,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,YAAY,CAAC;IAWpD,YAAY,CAChB,SAAS,EAAE,MAAM,EACjB,MAAM,EAAE,aAAa,GACpB,OAAO,CAAC,IAAI,CAAC;CAOjB"}
1
+ {"version":3,"file":"api-client.d.ts","sourceRoot":"","sources":["../src/api-client.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EACV,YAAY,EACZ,iBAAiB,EACjB,SAAS,EACT,aAAa,EACb,cAAc,EACd,cAAc,EACd,eAAe,EACf,gBAAgB,EAChB,UAAU,EACV,WAAW,EACZ,MAAM,SAAS,CAAA;AAEhB,qBAAa,SAAS;IACpB,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAe;gBAE1B,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM;IAgBzC,OAAO,CAAC,WAAW;YAcL,SAAS;IAqBjB,QAAQ,CAAC,OAAO,EAAE,eAAe,GAAG,OAAO,CAAC,gBAAgB,CAAC;IAkB7D,SAAS,CACb,OAAO,EAAE,MAAM,EACf,UAAU,EAAE,UAAU,EACtB,WAAW,CAAC,EAAE,MAAM,EACpB,kBAAkB,CAAC,EAAE,MAAM,EAAE,EAC7B,cAAc,CAAC,EAAE,MAAM,GACtB,OAAO,CAAC,IAAI,CAAC;IAeV,cAAc,CAAC,OAAO,GAAE,cAAyB,GAAG,OAAO,CAAC,WAAW,CAAC;IASxE,kBAAkB,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,cAAc,EAAE,CAAC;IAWpE,OAAO,CAAC,iBAAiB;IAMnB,UAAU,CAAC,SAAS,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,YAAY,CAAC;IAYrE,YAAY,CAChB,SAAS,EAAE,MAAM,EACjB,MAAM,EAAE,aAAa,EACrB,OAAO,EAAE,MAAM,GACd,OAAO,CAAC,IAAI,CAAC;IAUV,sBAAsB,CAC1B,OAAO,EAAE,MAAM,EACf,MAAM,EAAE,WAAW,GAAG,cAAc,GACnC,OAAO,CAAC,IAAI,CAAC;IAUV,SAAS,IAAI,OAAO,CAAC,iBAAiB,CAAC;IAUvC,eAAe,CACnB,SAAS,EAAE,MAAM,EACjB,KAAK,EAAE,SAAS,EAChB,OAAO,EAAE,MAAM,GACd,OAAO,CAAC,IAAI,CAAC;CASjB"}
@@ -60,16 +60,18 @@ class ApiClient {
60
60
  async register(request) {
61
61
  logger_1.logger.debug(`Registering agent: ${request.agentId}`);
62
62
  return this.withRetry(async () => {
63
- const { ipAddress, ...rest } = request;
63
+ const { ipAddress, availableChatModes, activeChatMode, ...rest } = request;
64
64
  const { data } = await this.client.post(constants_1.API_ENDPOINTS.REGISTER, {
65
65
  ...rest,
66
66
  version: constants_1.AGENT_VERSION,
67
67
  ...(ipAddress && { ipAddress }),
68
+ ...(availableChatModes !== undefined && { availableChatModes }),
69
+ ...(activeChatMode !== undefined && { activeChatMode }),
68
70
  });
69
71
  return data;
70
72
  });
71
73
  }
72
- async heartbeat(agentId, systemInfo) {
74
+ async heartbeat(agentId, systemInfo, updateError, availableChatModes, activeChatMode) {
73
75
  logger_1.logger.debug('Sending heartbeat');
74
76
  await this.withRetry(async () => {
75
77
  await this.client.post(constants_1.API_ENDPOINTS.HEARTBEAT, {
@@ -77,13 +79,22 @@ class ApiClient {
77
79
  timestamp: Date.now(),
78
80
  version: constants_1.AGENT_VERSION,
79
81
  systemInfo,
82
+ ...(updateError && { updateError }),
83
+ ...(availableChatModes !== undefined && { availableChatModes }),
84
+ ...(activeChatMode !== undefined && { activeChatMode }),
80
85
  });
81
86
  });
82
87
  }
83
- async getPendingCommands() {
88
+ async getVersionInfo(channel = 'latest') {
89
+ return this.withRetry(async () => {
90
+ const { data } = await this.client.get(`${constants_1.API_ENDPOINTS.VERSION}?channel=${channel}`);
91
+ return data;
92
+ });
93
+ }
94
+ async getPendingCommands(agentId) {
84
95
  logger_1.logger.debug('Polling for pending commands');
85
96
  return this.withRetry(async () => {
86
- const { data } = await this.client.get(constants_1.API_ENDPOINTS.COMMANDS_PENDING);
97
+ const { data } = await this.client.get(constants_1.API_ENDPOINTS.COMMANDS_PENDING, { params: { agentId } });
87
98
  return data;
88
99
  });
89
100
  }
@@ -92,19 +103,46 @@ class ApiClient {
92
103
  throw new Error(`Invalid command ID format: ${commandId}`);
93
104
  }
94
105
  }
95
- async getCommand(commandId) {
106
+ async getCommand(commandId, agentId) {
96
107
  this.validateCommandId(commandId);
97
108
  logger_1.logger.debug(`Fetching command: ${commandId}`);
98
109
  return this.withRetry(async () => {
99
- const { data } = await this.client.get(constants_1.API_ENDPOINTS.COMMAND(commandId));
110
+ const { data } = await this.client.get(constants_1.API_ENDPOINTS.COMMAND(commandId), { params: { agentId } });
100
111
  return data;
101
112
  });
102
113
  }
103
- async submitResult(commandId, result) {
114
+ async submitResult(commandId, result, agentId) {
104
115
  this.validateCommandId(commandId);
105
116
  logger_1.logger.debug(`Submitting result for command: ${commandId}`);
106
117
  await this.withRetry(async () => {
107
- await this.client.post(constants_1.API_ENDPOINTS.COMMAND_RESULT(commandId), result);
118
+ await this.client.post(constants_1.API_ENDPOINTS.COMMAND_RESULT(commandId), result, {
119
+ params: { agentId },
120
+ });
121
+ });
122
+ }
123
+ async reportConnectionStatus(agentId, status) {
124
+ await this.withRetry(async () => {
125
+ await this.client.post(constants_1.API_ENDPOINTS.CONNECTION_STATUS, {
126
+ agentId,
127
+ status,
128
+ timestamp: Date.now(),
129
+ });
130
+ });
131
+ }
132
+ async getConfig() {
133
+ logger_1.logger.debug('Fetching agent config from server');
134
+ return this.withRetry(async () => {
135
+ const { data } = await this.client.get(constants_1.API_ENDPOINTS.CONFIG);
136
+ return data;
137
+ });
138
+ }
139
+ async submitChatChunk(commandId, chunk, agentId) {
140
+ this.validateCommandId(commandId);
141
+ logger_1.logger.debug(`Submitting chat chunk ${chunk.index} (${chunk.type}) for command: ${commandId}`);
142
+ await this.withRetry(async () => {
143
+ await this.client.post(constants_1.API_ENDPOINTS.COMMAND_CHUNKS(commandId), chunk, {
144
+ params: { agentId },
145
+ });
108
146
  });
109
147
  }
110
148
  }
@@ -1 +1 @@
1
- {"version":3,"file":"api-client.js","sourceRoot":"","sources":["../src/api-client.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"api-client.js","sourceRoot":"","sources":["../src/api-client.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,36 @@
1
+ export interface AppSyncNotification {
2
+ id: string;
3
+ table: string;
4
+ pk: string;
5
+ sk: string;
6
+ tenantCode: string;
7
+ action: string;
8
+ content: Record<string, unknown>;
9
+ }
10
+ export declare class AppSyncSubscriber {
11
+ private ws;
12
+ private readonly realtimeUrl;
13
+ private readonly host;
14
+ private readonly apiKey;
15
+ private subscriptionId;
16
+ private tenantCode;
17
+ private messageHandler;
18
+ private reconnectCallback;
19
+ private reconnectAttempts;
20
+ private closed;
21
+ private keepAliveTimer;
22
+ private keepAliveTimeoutMs;
23
+ constructor(appsyncUrl: string, apiKey: string);
24
+ connect(): Promise<void>;
25
+ subscribe(tenantCode: string, onMessage: (notification: AppSyncNotification) => void): void;
26
+ onReconnect(callback: () => void): void;
27
+ disconnect(): void;
28
+ private buildConnectionUrl;
29
+ private doConnect;
30
+ private handleMessage;
31
+ private sendSubscription;
32
+ private attemptReconnect;
33
+ private resetKeepAliveTimer;
34
+ private clearKeepAliveTimer;
35
+ }
36
+ //# sourceMappingURL=appsync-subscriber.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"appsync-subscriber.d.ts","sourceRoot":"","sources":["../src/appsync-subscriber.ts"],"names":[],"mappings":"AAKA,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,iBAAiB,CAAI;IAC7B,OAAO,CAAC,MAAM,CAAQ;IACtB,OAAO,CAAC,cAAc,CAA6C;IACnE,OAAO,CAAC,kBAAkB,CAAI;gBAElB,UAAU,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM;IAU9C,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,gBAAgB;IA6B9B,OAAO,CAAC,mBAAmB;IAY3B,OAAO,CAAC,mBAAmB;CAM5B"}