@ai-support-agent/cli 0.0.4-beta.2 → 0.0.4-beta.21

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 (133) hide show
  1. package/dist/agent-runner.d.ts +1 -0
  2. package/dist/agent-runner.d.ts.map +1 -1
  3. package/dist/agent-runner.js +5 -5
  4. package/dist/agent-runner.js.map +1 -1
  5. package/dist/api-client.d.ts +8 -2
  6. package/dist/api-client.d.ts.map +1 -1
  7. package/dist/api-client.js +56 -53
  8. package/dist/api-client.js.map +1 -1
  9. package/dist/appsync-subscriber.d.ts.map +1 -1
  10. package/dist/appsync-subscriber.js +8 -2
  11. package/dist/appsync-subscriber.js.map +1 -1
  12. package/dist/auth-server.js +1 -1
  13. package/dist/auth-server.js.map +1 -1
  14. package/dist/aws-credential-builder.d.ts +24 -0
  15. package/dist/aws-credential-builder.d.ts.map +1 -0
  16. package/dist/aws-credential-builder.js +134 -0
  17. package/dist/aws-credential-builder.js.map +1 -0
  18. package/dist/aws-profile.d.ts +38 -0
  19. package/dist/aws-profile.d.ts.map +1 -0
  20. package/dist/aws-profile.js +162 -0
  21. package/dist/aws-profile.js.map +1 -0
  22. package/dist/chat-mode-detector.d.ts.map +1 -1
  23. package/dist/chat-mode-detector.js +2 -2
  24. package/dist/chat-mode-detector.js.map +1 -1
  25. package/dist/commands/api-chat-executor.d.ts.map +1 -1
  26. package/dist/commands/api-chat-executor.js +51 -18
  27. package/dist/commands/api-chat-executor.js.map +1 -1
  28. package/dist/commands/chat-executor.d.ts +3 -2
  29. package/dist/commands/chat-executor.d.ts.map +1 -1
  30. package/dist/commands/chat-executor.js +77 -107
  31. package/dist/commands/chat-executor.js.map +1 -1
  32. package/dist/commands/claude-code-runner.d.ts +26 -0
  33. package/dist/commands/claude-code-runner.d.ts.map +1 -0
  34. package/dist/commands/claude-code-runner.js +130 -0
  35. package/dist/commands/claude-code-runner.js.map +1 -0
  36. package/dist/commands/file-executor.js +1 -1
  37. package/dist/commands/file-executor.js.map +1 -1
  38. package/dist/commands/index.d.ts +6 -1
  39. package/dist/commands/index.d.ts.map +1 -1
  40. package/dist/commands/index.js +16 -3
  41. package/dist/commands/index.js.map +1 -1
  42. package/dist/commands/process-executor.js +1 -1
  43. package/dist/commands/process-executor.js.map +1 -1
  44. package/dist/commands/set-project-dir.d.ts +3 -0
  45. package/dist/commands/set-project-dir.d.ts.map +1 -0
  46. package/dist/commands/set-project-dir.js +42 -0
  47. package/dist/commands/set-project-dir.js.map +1 -0
  48. package/dist/commands/shared-chat-utils.d.ts +9 -1
  49. package/dist/commands/shared-chat-utils.d.ts.map +1 -1
  50. package/dist/commands/shared-chat-utils.js +26 -1
  51. package/dist/commands/shared-chat-utils.js.map +1 -1
  52. package/dist/commands/shell-executor.js +1 -1
  53. package/dist/commands/shell-executor.js.map +1 -1
  54. package/dist/config-manager.d.ts +9 -0
  55. package/dist/config-manager.d.ts.map +1 -1
  56. package/dist/config-manager.js +24 -0
  57. package/dist/config-manager.js.map +1 -1
  58. package/dist/constants.d.ts +31 -0
  59. package/dist/constants.d.ts.map +1 -1
  60. package/dist/constants.js +39 -2
  61. package/dist/constants.js.map +1 -1
  62. package/dist/docker/docker-runner.d.ts +19 -0
  63. package/dist/docker/docker-runner.d.ts.map +1 -0
  64. package/dist/docker/docker-runner.js +221 -0
  65. package/dist/docker/docker-runner.js.map +1 -0
  66. package/dist/docker/dockerfile-path.d.ts +10 -0
  67. package/dist/docker/dockerfile-path.d.ts.map +1 -0
  68. package/dist/docker/dockerfile-path.js +25 -0
  69. package/dist/docker/dockerfile-path.js.map +1 -0
  70. package/dist/index.js +74 -0
  71. package/dist/index.js.map +1 -1
  72. package/dist/locales/en.json +25 -1
  73. package/dist/locales/ja.json +25 -1
  74. package/dist/locales/locales/en.json +25 -1
  75. package/dist/locales/locales/ja.json +25 -1
  76. package/dist/logger.d.ts.map +1 -1
  77. package/dist/logger.js +8 -1
  78. package/dist/logger.js.map +1 -1
  79. package/dist/mcp/config-writer.d.ts +17 -0
  80. package/dist/mcp/config-writer.d.ts.map +1 -0
  81. package/dist/mcp/config-writer.js +63 -0
  82. package/dist/mcp/config-writer.js.map +1 -0
  83. package/dist/mcp/server.d.ts +11 -0
  84. package/dist/mcp/server.d.ts.map +1 -0
  85. package/dist/mcp/server.js +55 -0
  86. package/dist/mcp/server.js.map +1 -0
  87. package/dist/mcp/tools/credentials.d.ts +5 -0
  88. package/dist/mcp/tools/credentials.d.ts.map +1 -0
  89. package/dist/mcp/tools/credentials.js +33 -0
  90. package/dist/mcp/tools/credentials.js.map +1 -0
  91. package/dist/mcp/tools/db-query.d.ts +13 -0
  92. package/dist/mcp/tools/db-query.d.ts.map +1 -0
  93. package/dist/mcp/tools/db-query.js +129 -0
  94. package/dist/mcp/tools/db-query.js.map +1 -0
  95. package/dist/mcp/tools/db-schemas.d.ts +5 -0
  96. package/dist/mcp/tools/db-schemas.d.ts.map +1 -0
  97. package/dist/mcp/tools/db-schemas.js +61 -0
  98. package/dist/mcp/tools/db-schemas.js.map +1 -0
  99. package/dist/mcp/tools/mcp-response.d.ts +15 -0
  100. package/dist/mcp/tools/mcp-response.d.ts.map +1 -0
  101. package/dist/mcp/tools/mcp-response.js +15 -0
  102. package/dist/mcp/tools/mcp-response.js.map +1 -0
  103. package/dist/mcp/tools/project-info.d.ts +5 -0
  104. package/dist/mcp/tools/project-info.d.ts.map +1 -0
  105. package/dist/mcp/tools/project-info.js +43 -0
  106. package/dist/mcp/tools/project-info.js.map +1 -0
  107. package/dist/project-agent.d.ts +16 -1
  108. package/dist/project-agent.d.ts.map +1 -1
  109. package/dist/project-agent.js +174 -72
  110. package/dist/project-agent.js.map +1 -1
  111. package/dist/project-config-sync.d.ts +18 -0
  112. package/dist/project-config-sync.d.ts.map +1 -0
  113. package/dist/project-config-sync.js +126 -0
  114. package/dist/project-config-sync.js.map +1 -0
  115. package/dist/project-dir.d.ts +38 -0
  116. package/dist/project-dir.d.ts.map +1 -0
  117. package/dist/project-dir.js +150 -0
  118. package/dist/project-dir.js.map +1 -0
  119. package/dist/retry-strategy.d.ts +6 -0
  120. package/dist/retry-strategy.d.ts.map +1 -1
  121. package/dist/retry-strategy.js +10 -2
  122. package/dist/retry-strategy.js.map +1 -1
  123. package/dist/security.d.ts.map +1 -1
  124. package/dist/security.js +2 -1
  125. package/dist/security.js.map +1 -1
  126. package/dist/types.d.ts +105 -2
  127. package/dist/types.d.ts.map +1 -1
  128. package/dist/utils.d.ts +1 -0
  129. package/dist/utils.d.ts.map +1 -1
  130. package/dist/utils.js +6 -0
  131. package/dist/utils.js.map +1 -1
  132. package/docker/Dockerfile +39 -0
  133. package/package.json +6 -1
@@ -0,0 +1,150 @@
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
14
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
15
+ }) : function(o, v) {
16
+ o["default"] = v;
17
+ });
18
+ var __importStar = (this && this.__importStar) || (function () {
19
+ var ownKeys = function(o) {
20
+ ownKeys = Object.getOwnPropertyNames || function (o) {
21
+ var ar = [];
22
+ for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
23
+ return ar;
24
+ };
25
+ return ownKeys(o);
26
+ };
27
+ return function (mod) {
28
+ if (mod && mod.__esModule) return mod;
29
+ var result = {};
30
+ if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
31
+ __setModuleDefault(result, mod);
32
+ return result;
33
+ };
34
+ })();
35
+ Object.defineProperty(exports, "__esModule", { value: true });
36
+ exports.expandPath = expandPath;
37
+ exports.resolveProjectDir = resolveProjectDir;
38
+ exports.ensureProjectDirs = ensureProjectDirs;
39
+ exports.initProjectDir = initProjectDir;
40
+ exports.getAutoAddDirs = getAutoAddDirs;
41
+ exports.getCacheDir = getCacheDir;
42
+ exports.getAwsDir = getAwsDir;
43
+ exports.getMetadataDir = getMetadataDir;
44
+ const fs = __importStar(require("fs"));
45
+ const os = __importStar(require("os"));
46
+ const path = __importStar(require("path"));
47
+ const config_manager_1 = require("./config-manager");
48
+ const logger_1 = require("./logger");
49
+ const i18n_1 = require("./i18n");
50
+ function getDefaultProjectDirTemplate() {
51
+ return path.join((0, config_manager_1.getConfigDir)(), 'projects', '{projectCode}');
52
+ }
53
+ const PROJECT_SUBDIRS = ['repos', 'docs', 'artifacts', 'uploads'];
54
+ const METADATA_DIR = '.ai-support-agent';
55
+ const CACHE_DIR = 'cache';
56
+ const AWS_DIR = 'aws';
57
+ /**
58
+ * Expand ~ and {projectCode} in a path template
59
+ */
60
+ function expandPath(template, projectCode) {
61
+ return template
62
+ .replace(/^~(?=$|\/)/, os.homedir())
63
+ .replace(/\{projectCode\}/g, projectCode);
64
+ }
65
+ /**
66
+ * Resolve the project directory path.
67
+ * Priority: project.projectDir > defaultProjectDir template > default template
68
+ */
69
+ function resolveProjectDir(project, defaultProjectDir) {
70
+ if (project.projectDir) {
71
+ return expandPath(project.projectDir, project.projectCode);
72
+ }
73
+ const template = defaultProjectDir ?? getDefaultProjectDirTemplate();
74
+ return expandPath(template, project.projectCode);
75
+ }
76
+ /**
77
+ * Create project directory structure with proper permissions.
78
+ * Creates: repos/, docs/, artifacts/, uploads/, .ai-support-agent/cache/, .ai-support-agent/aws/
79
+ */
80
+ function ensureProjectDirs(projectDir) {
81
+ // Create project root
82
+ if (!fs.existsSync(projectDir)) {
83
+ fs.mkdirSync(projectDir, { recursive: true, mode: 0o700 });
84
+ }
85
+ // Create subdirectories
86
+ for (const subdir of PROJECT_SUBDIRS) {
87
+ const dirPath = path.join(projectDir, subdir);
88
+ if (!fs.existsSync(dirPath)) {
89
+ fs.mkdirSync(dirPath, { recursive: true });
90
+ }
91
+ }
92
+ // Create metadata directory
93
+ const metadataDir = path.join(projectDir, METADATA_DIR);
94
+ if (!fs.existsSync(metadataDir)) {
95
+ fs.mkdirSync(metadataDir, { recursive: true, mode: 0o700 });
96
+ }
97
+ // Create cache directory
98
+ const cacheDir = path.join(metadataDir, CACHE_DIR);
99
+ if (!fs.existsSync(cacheDir)) {
100
+ fs.mkdirSync(cacheDir, { recursive: true, mode: 0o700 });
101
+ }
102
+ // Create aws directory
103
+ const awsDir = path.join(metadataDir, AWS_DIR);
104
+ if (!fs.existsSync(awsDir)) {
105
+ fs.mkdirSync(awsDir, { recursive: true, mode: 0o700 });
106
+ }
107
+ }
108
+ /**
109
+ * Resolve and ensure project directory.
110
+ * Returns the resolved path.
111
+ */
112
+ function initProjectDir(project, defaultProjectDir) {
113
+ const projectDir = resolveProjectDir(project, defaultProjectDir);
114
+ ensureProjectDirs(projectDir);
115
+ logger_1.logger.info((0, i18n_1.t)('projectDir.initialized', { projectDir, projectCode: project.projectCode }));
116
+ return projectDir;
117
+ }
118
+ /**
119
+ * Get directories that should be auto-added to Claude Code's --add-dir.
120
+ * Only returns dirs that actually exist.
121
+ */
122
+ function getAutoAddDirs(projectDir) {
123
+ const dirs = [];
124
+ for (const subdir of ['repos', 'docs']) {
125
+ const dirPath = path.join(projectDir, subdir);
126
+ if (fs.existsSync(dirPath)) {
127
+ dirs.push(dirPath);
128
+ }
129
+ }
130
+ return dirs;
131
+ }
132
+ /**
133
+ * Get cache directory path
134
+ */
135
+ function getCacheDir(projectDir) {
136
+ return path.join(projectDir, METADATA_DIR, CACHE_DIR);
137
+ }
138
+ /**
139
+ * Get AWS directory path
140
+ */
141
+ function getAwsDir(projectDir) {
142
+ return path.join(projectDir, METADATA_DIR, AWS_DIR);
143
+ }
144
+ /**
145
+ * Get metadata directory path
146
+ */
147
+ function getMetadataDir(projectDir) {
148
+ return path.join(projectDir, METADATA_DIR);
149
+ }
150
+ //# sourceMappingURL=project-dir.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"project-dir.js","sourceRoot":"","sources":["../src/project-dir.ts"],"names":[],"mappings":"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"}
@@ -1,3 +1,9 @@
1
+ export interface BackoffOptions {
2
+ baseDelayMs: number;
3
+ attempt: number;
4
+ jitter?: boolean;
5
+ }
6
+ export declare function calculateBackoff(options: BackoffOptions): number;
1
7
  export interface RetryOptions {
2
8
  maxRetries: number;
3
9
  baseDelayMs: number;
@@ -1 +1 @@
1
- {"version":3,"file":"retry-strategy.d.ts","sourceRoot":"","sources":["../src/retry-strategy.ts"],"names":[],"mappings":"AAIA,MAAM,WAAW,YAAY;IAC3B,UAAU,EAAE,MAAM,CAAA;IAClB,WAAW,EAAE,MAAM,CAAA;CACpB;AAED,qBAAa,aAAa;IACZ,OAAO,CAAC,QAAQ,CAAC,OAAO;gBAAP,OAAO,EAAE,YAAY;IAElD,WAAW,CAAC,KAAK,EAAE,OAAO,GAAG,OAAO;IAc9B,SAAS,CAAC,CAAC,EAAE,EAAE,EAAE,MAAM,OAAO,CAAC,CAAC,CAAC,GAAG,OAAO,CAAC,CAAC,CAAC;CAqBrD"}
1
+ {"version":3,"file":"retry-strategy.d.ts","sourceRoot":"","sources":["../src/retry-strategy.ts"],"names":[],"mappings":"AAIA,MAAM,WAAW,cAAc;IAC7B,WAAW,EAAE,MAAM,CAAA;IACnB,OAAO,EAAE,MAAM,CAAA;IACf,MAAM,CAAC,EAAE,OAAO,CAAA;CACjB;AAED,wBAAgB,gBAAgB,CAAC,OAAO,EAAE,cAAc,GAAG,MAAM,CAOhE;AAED,MAAM,WAAW,YAAY;IAC3B,UAAU,EAAE,MAAM,CAAA;IAClB,WAAW,EAAE,MAAM,CAAA;CACpB;AAED,qBAAa,aAAa;IACZ,OAAO,CAAC,QAAQ,CAAC,OAAO;gBAAP,OAAO,EAAE,YAAY;IAElD,WAAW,CAAC,KAAK,EAAE,OAAO,GAAG,OAAO;IAc9B,SAAS,CAAC,CAAC,EAAE,EAAE,EAAE,MAAM,OAAO,CAAC,CAAC,CAAC,GAAG,OAAO,CAAC,CAAC,CAAC;CAoBrD"}
@@ -4,8 +4,17 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
4
4
  };
5
5
  Object.defineProperty(exports, "__esModule", { value: true });
6
6
  exports.RetryStrategy = void 0;
7
+ exports.calculateBackoff = calculateBackoff;
7
8
  const axios_1 = __importDefault(require("axios"));
8
9
  const logger_1 = require("./logger");
10
+ function calculateBackoff(options) {
11
+ const { baseDelayMs, attempt, jitter = true } = options;
12
+ const baseDelay = baseDelayMs * Math.pow(2, attempt);
13
+ if (!jitter) {
14
+ return baseDelay;
15
+ }
16
+ return Math.round(baseDelay * (0.5 + Math.random() * 0.5));
17
+ }
9
18
  class RetryStrategy {
10
19
  options;
11
20
  constructor(options) {
@@ -37,8 +46,7 @@ class RetryStrategy {
37
46
  throw error;
38
47
  }
39
48
  if (attempt < maxRetries - 1) {
40
- const baseDelay = baseDelayMs * Math.pow(2, attempt);
41
- const delay = Math.round(baseDelay * (0.5 + Math.random() * 0.5));
49
+ const delay = calculateBackoff({ baseDelayMs, attempt });
42
50
  logger_1.logger.debug(`Request failed (attempt ${attempt + 1}/${maxRetries}), retrying in ${delay}ms`);
43
51
  await new Promise((resolve) => setTimeout(resolve, delay));
44
52
  }
@@ -1 +1 @@
1
- {"version":3,"file":"retry-strategy.js","sourceRoot":"","sources":["../src/retry-strategy.ts"],"names":[],"mappings":";;;;;;AAAA,kDAAyB;AAEzB,qCAAiC;AAOjC,MAAa,aAAa;IACK;IAA7B,YAA6B,OAAqB;QAArB,YAAO,GAAP,OAAO,CAAc;IAAG,CAAC;IAEtD,WAAW,CAAC,KAAc;QACxB,IAAI,CAAC,eAAK,CAAC,YAAY,CAAC,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,QAAQ,EAAE,CAAC;YAClD,OAAO,IAAI,CAAA,CAAC,wBAAwB;QACtC,CAAC;QACD,MAAM,MAAM,GAAG,KAAK,CAAC,QAAQ,CAAC,MAAM,CAAA;QACpC,IAAI,MAAM,KAAK,GAAG,IAAI,MAAM,KAAK,GAAG,EAAE,CAAC;YACrC,OAAO,IAAI,CAAA,CAAC,+BAA+B;QAC7C,CAAC;QACD,IAAI,MAAM,IAAI,GAAG,EAAE,CAAC;YAClB,OAAO,IAAI,CAAA,CAAC,uBAAuB;QACrC,CAAC;QACD,OAAO,KAAK,CAAA,CAAC,2BAA2B;IAC1C,CAAC;IAED,KAAK,CAAC,SAAS,CAAI,EAAoB;QACrC,MAAM,EAAE,UAAU,EAAE,WAAW,EAAE,GAAG,IAAI,CAAC,OAAO,CAAA;QAChD,IAAI,SAAkB,CAAA;QACtB,KAAK,IAAI,OAAO,GAAG,CAAC,EAAE,OAAO,GAAG,UAAU,EAAE,OAAO,EAAE,EAAE,CAAC;YACtD,IAAI,CAAC;gBACH,OAAO,MAAM,EAAE,EAAE,CAAA;YACnB,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBACf,SAAS,GAAG,KAAK,CAAA;gBACjB,IAAI,CAAC,IAAI,CAAC,WAAW,CAAC,KAAK,CAAC,EAAE,CAAC;oBAC7B,MAAM,KAAK,CAAA;gBACb,CAAC;gBACD,IAAI,OAAO,GAAG,UAAU,GAAG,CAAC,EAAE,CAAC;oBAC7B,MAAM,SAAS,GAAG,WAAW,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,OAAO,CAAC,CAAA;oBACpD,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,SAAS,GAAG,CAAC,GAAG,GAAG,IAAI,CAAC,MAAM,EAAE,GAAG,GAAG,CAAC,CAAC,CAAA;oBACjE,eAAM,CAAC,KAAK,CAAC,2BAA2B,OAAO,GAAG,CAAC,IAAI,UAAU,kBAAkB,KAAK,IAAI,CAAC,CAAA;oBAC7F,MAAM,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,UAAU,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC,CAAA;gBAC5D,CAAC;YACH,CAAC;QACH,CAAC;QACD,MAAM,SAAS,CAAA;IACjB,CAAC;CACF;AAtCD,sCAsCC"}
1
+ {"version":3,"file":"retry-strategy.js","sourceRoot":"","sources":["../src/retry-strategy.ts"],"names":[],"mappings":";;;;;;AAUA,4CAOC;AAjBD,kDAAyB;AAEzB,qCAAiC;AAQjC,SAAgB,gBAAgB,CAAC,OAAuB;IACtD,MAAM,EAAE,WAAW,EAAE,OAAO,EAAE,MAAM,GAAG,IAAI,EAAE,GAAG,OAAO,CAAA;IACvD,MAAM,SAAS,GAAG,WAAW,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,OAAO,CAAC,CAAA;IACpD,IAAI,CAAC,MAAM,EAAE,CAAC;QACZ,OAAO,SAAS,CAAA;IAClB,CAAC;IACD,OAAO,IAAI,CAAC,KAAK,CAAC,SAAS,GAAG,CAAC,GAAG,GAAG,IAAI,CAAC,MAAM,EAAE,GAAG,GAAG,CAAC,CAAC,CAAA;AAC5D,CAAC;AAOD,MAAa,aAAa;IACK;IAA7B,YAA6B,OAAqB;QAArB,YAAO,GAAP,OAAO,CAAc;IAAG,CAAC;IAEtD,WAAW,CAAC,KAAc;QACxB,IAAI,CAAC,eAAK,CAAC,YAAY,CAAC,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,QAAQ,EAAE,CAAC;YAClD,OAAO,IAAI,CAAA,CAAC,wBAAwB;QACtC,CAAC;QACD,MAAM,MAAM,GAAG,KAAK,CAAC,QAAQ,CAAC,MAAM,CAAA;QACpC,IAAI,MAAM,KAAK,GAAG,IAAI,MAAM,KAAK,GAAG,EAAE,CAAC;YACrC,OAAO,IAAI,CAAA,CAAC,+BAA+B;QAC7C,CAAC;QACD,IAAI,MAAM,IAAI,GAAG,EAAE,CAAC;YAClB,OAAO,IAAI,CAAA,CAAC,uBAAuB;QACrC,CAAC;QACD,OAAO,KAAK,CAAA,CAAC,2BAA2B;IAC1C,CAAC;IAED,KAAK,CAAC,SAAS,CAAI,EAAoB;QACrC,MAAM,EAAE,UAAU,EAAE,WAAW,EAAE,GAAG,IAAI,CAAC,OAAO,CAAA;QAChD,IAAI,SAAkB,CAAA;QACtB,KAAK,IAAI,OAAO,GAAG,CAAC,EAAE,OAAO,GAAG,UAAU,EAAE,OAAO,EAAE,EAAE,CAAC;YACtD,IAAI,CAAC;gBACH,OAAO,MAAM,EAAE,EAAE,CAAA;YACnB,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBACf,SAAS,GAAG,KAAK,CAAA;gBACjB,IAAI,CAAC,IAAI,CAAC,WAAW,CAAC,KAAK,CAAC,EAAE,CAAC;oBAC7B,MAAM,KAAK,CAAA;gBACb,CAAC;gBACD,IAAI,OAAO,GAAG,UAAU,GAAG,CAAC,EAAE,CAAC;oBAC7B,MAAM,KAAK,GAAG,gBAAgB,CAAC,EAAE,WAAW,EAAE,OAAO,EAAE,CAAC,CAAA;oBACxD,eAAM,CAAC,KAAK,CAAC,2BAA2B,OAAO,GAAG,CAAC,IAAI,UAAU,kBAAkB,KAAK,IAAI,CAAC,CAAA;oBAC7F,MAAM,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,UAAU,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC,CAAA;gBAC5D,CAAC;YACH,CAAC;QACH,CAAC;QACD,MAAM,SAAS,CAAA;IACjB,CAAC;CACF;AArCD,sCAqCC"}
@@ -1 +1 @@
1
- {"version":3,"file":"security.d.ts","sourceRoot":"","sources":["../src/security.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,SAAS,CAAA;AAG5C,eAAO,MAAM,wBAAwB,UAMpC,CAAA;AAED,eAAO,MAAM,qBAAqB,UAIjC,CAAA;AAED,eAAO,MAAM,eAAe,EAAE,WAAW,CAAC,MAAM,CAE9C,CAAA;AAEF,eAAO,MAAM,aAAa,EAAE,SAAS,MAAM,EAK1C,CAAA;AAED,wBAAgB,qBAAqB,IAAI,MAAM,EAAE,CAKhD;AAED,wBAAgB,YAAY,IAAI,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAMrD;AAED,wBAAgB,eAAe,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CAO9D;AAED,wBAAsB,gBAAgB,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC,CAsB/E;AAED,wBAAsB,sBAAsB,CAC1C,OAAO,EAAE;IAAE,IAAI,CAAC,EAAE,OAAO,CAAA;CAAE,EAC3B,WAAW,CAAC,EAAE,MAAM,GACnB,OAAO,CAAC,MAAM,GAAG,aAAa,CAAC,CAUjC"}
1
+ {"version":3,"file":"security.d.ts","sourceRoot":"","sources":["../src/security.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,SAAS,CAAA;AAG5C,eAAO,MAAM,wBAAwB,UAMpC,CAAA;AAED,eAAO,MAAM,qBAAqB,UAIjC,CAAA;AAED,eAAO,MAAM,eAAe,EAAE,WAAW,CAAC,MAAM,CAE9C,CAAA;AAEF,eAAO,MAAM,aAAa,EAAE,SAAS,MAAM,EAK1C,CAAA;AAED,wBAAgB,qBAAqB,IAAI,MAAM,EAAE,CAKhD;AAED,wBAAgB,YAAY,IAAI,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAMrD;AAED,wBAAgB,eAAe,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CAO9D;AAED,wBAAsB,gBAAgB,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC,CAsB/E;AAED,wBAAsB,sBAAsB,CAC1C,OAAO,EAAE;IAAE,IAAI,CAAC,EAAE,OAAO,CAAA;CAAE,EAC3B,WAAW,CAAC,EAAE,MAAM,GACnB,OAAO,CAAC,MAAM,GAAG,aAAa,CAAC,CAUjC"}
package/dist/security.js CHANGED
@@ -42,6 +42,7 @@ exports.resolveAndValidatePath = resolveAndValidatePath;
42
42
  const fs = __importStar(require("fs"));
43
43
  const os = __importStar(require("os"));
44
44
  const path = __importStar(require("path"));
45
+ const constants_1 = require("./constants");
45
46
  const utils_1 = require("./utils");
46
47
  exports.BLOCKED_COMMAND_PATTERNS = [
47
48
  /\brm\s+-rf\s+\/(?!\w)/,
@@ -112,7 +113,7 @@ async function validateFilePath(filePath) {
112
113
  async function resolveAndValidatePath(payload, defaultPath) {
113
114
  const filePath = (0, utils_1.parseString)(payload.path) ?? defaultPath ?? null;
114
115
  if (!filePath) {
115
- return { success: false, error: 'No file path specified' };
116
+ return { success: false, error: constants_1.ERR_NO_FILE_PATH_SPECIFIED };
116
117
  }
117
118
  const pathError = await validateFilePath(filePath);
118
119
  if (pathError) {
@@ -1 +1 @@
1
- {"version":3,"file":"security.js","sourceRoot":"","sources":["../src/security.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"security.js","sourceRoot":"","sources":["../src/security.ts"],"names":[],"mappings":"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"}
package/dist/types.d.ts CHANGED
@@ -1,3 +1,7 @@
1
+ export interface HistoryMessage {
2
+ role: string;
3
+ content: string;
4
+ }
1
5
  export type ReleaseChannel = 'latest' | 'beta' | 'alpha';
2
6
  export interface VersionInfo {
3
7
  latestVersion: string;
@@ -14,6 +18,7 @@ export interface ProjectRegistration {
14
18
  projectCode: string;
15
19
  token: string;
16
20
  apiUrl: string;
21
+ projectDir?: string;
17
22
  }
18
23
  export interface AgentConfig {
19
24
  agentId: string;
@@ -23,6 +28,7 @@ export interface AgentConfig {
23
28
  projects?: ProjectRegistration[];
24
29
  autoUpdate?: AutoUpdateConfig;
25
30
  agentChatMode?: AgentChatMode;
31
+ defaultProjectDir?: string;
26
32
  }
27
33
  /**
28
34
  * Legacy config format (pre-multi-project).
@@ -32,7 +38,7 @@ export interface LegacyAgentConfig extends AgentConfig {
32
38
  token?: string;
33
39
  apiUrl?: string;
34
40
  }
35
- export type AgentCommandType = 'execute_command' | 'file_read' | 'file_write' | 'file_list' | 'process_list' | 'process_kill' | 'chat';
41
+ export type AgentCommandType = 'execute_command' | 'file_read' | 'file_write' | 'file_list' | 'process_list' | 'process_kill' | 'chat' | 'setup' | 'config_sync';
36
42
  export type AgentCommandStatus = 'PENDING' | 'RUNNING' | 'COMPLETED' | 'FAILED' | 'TIMEOUT';
37
43
  export interface AgentCommand {
38
44
  commandId: string;
@@ -104,6 +110,7 @@ export interface ChatPayload {
104
110
  projectCode?: unknown;
105
111
  history?: unknown;
106
112
  locale?: unknown;
113
+ awsAccountId?: unknown;
107
114
  }
108
115
  /**
109
116
  * チャットモード(ルーティング先)
@@ -132,7 +139,97 @@ export interface AgentServerConfig {
132
139
  addDirs?: string[];
133
140
  };
134
141
  }
135
- export type ChatChunkType = 'delta' | 'tool_call' | 'tool_result' | 'done' | 'error';
142
+ export interface AwsCredentials {
143
+ accessKeyId: string;
144
+ secretAccessKey: string;
145
+ sessionToken?: string;
146
+ region: string;
147
+ }
148
+ export interface ProjectConfigResponse {
149
+ configHash: string;
150
+ project: {
151
+ projectCode: string;
152
+ projectName: string;
153
+ description?: string;
154
+ };
155
+ agent: {
156
+ agentEnabled: boolean;
157
+ builtinAgentEnabled: boolean;
158
+ builtinFallbackEnabled: boolean;
159
+ externalAgentEnabled: boolean;
160
+ allowedTools: string[];
161
+ claudeCodeConfig?: {
162
+ additionalDirs?: string[];
163
+ appendSystemPrompt?: string;
164
+ };
165
+ };
166
+ aws?: {
167
+ accounts: Array<{
168
+ id: string;
169
+ name: string;
170
+ description?: string;
171
+ profileName?: string;
172
+ region: string;
173
+ accountId: string;
174
+ auth: {
175
+ method: 'access_key';
176
+ } | {
177
+ method: 'sso';
178
+ startUrl: string;
179
+ ssoRegion: string;
180
+ permissionSetName: string;
181
+ };
182
+ isDefault: boolean;
183
+ }>;
184
+ cli?: {
185
+ defaultProfile?: string;
186
+ };
187
+ };
188
+ databases?: Array<{
189
+ name: string;
190
+ host: string;
191
+ port: number;
192
+ database: string;
193
+ engine: string;
194
+ writePermissions?: {
195
+ insert: boolean;
196
+ update: boolean;
197
+ delete: boolean;
198
+ };
199
+ }>;
200
+ documentation?: {
201
+ sources: Array<{
202
+ type: 'url' | 's3';
203
+ url?: string;
204
+ bucket?: string;
205
+ prefix?: string;
206
+ }>;
207
+ };
208
+ }
209
+ export interface DbCredentials {
210
+ name: string;
211
+ engine: string;
212
+ host: string;
213
+ port: number;
214
+ database: string;
215
+ user: string;
216
+ password: string;
217
+ writePermissions?: {
218
+ insert: boolean;
219
+ update: boolean;
220
+ delete: boolean;
221
+ };
222
+ }
223
+ export interface CachedProjectConfig {
224
+ cachedAt: string;
225
+ configHash: string;
226
+ config: Omit<ProjectConfigResponse, 'aws'>;
227
+ }
228
+ export interface HeartbeatResponse {
229
+ success: true;
230
+ configHash?: string;
231
+ }
232
+ export type ChatChunkType = 'delta' | 'tool_call' | 'tool_result' | 'done' | 'error' | 'system';
136
233
  export interface ChatChunk {
137
234
  index: number;
138
235
  type: ChatChunkType;
@@ -159,5 +256,11 @@ export type CommandDispatch = {
159
256
  } | {
160
257
  type: 'chat';
161
258
  payload: ChatPayload;
259
+ } | {
260
+ type: 'setup';
261
+ payload: Record<string, never>;
262
+ } | {
263
+ type: 'config_sync';
264
+ payload: Record<string, never>;
162
265
  };
163
266
  //# sourceMappingURL=types.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,cAAc;IAC7B,IAAI,EAAE,MAAM,CAAA;IACZ,OAAO,EAAE,MAAM,CAAA;CAChB;AAED,MAAM,MAAM,cAAc,GAAG,QAAQ,GAAG,MAAM,GAAG,OAAO,CAAA;AAExD,MAAM,WAAW,WAAW;IAC1B,aAAa,EAAE,MAAM,CAAA;IACrB,cAAc,EAAE,MAAM,CAAA;IACtB,OAAO,EAAE,cAAc,CAAA;IACvB,QAAQ,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;CACjC;AAED,MAAM,WAAW,gBAAgB;IAC/B,OAAO,EAAE,OAAO,CAAA;IAChB,WAAW,EAAE,OAAO,CAAA;IACpB,OAAO,EAAE,cAAc,CAAA;CACxB;AAED,MAAM,WAAW,mBAAmB;IAClC,WAAW,EAAE,MAAM,CAAA;IACnB,KAAK,EAAE,MAAM,CAAA;IACb,MAAM,EAAE,MAAM,CAAA;IACd,UAAU,CAAC,EAAE,MAAM,CAAA;CACpB;AAED,MAAM,WAAW,WAAW;IAC1B,OAAO,EAAE,MAAM,CAAA;IACf,SAAS,EAAE,MAAM,CAAA;IACjB,aAAa,CAAC,EAAE,MAAM,CAAA;IACtB,QAAQ,CAAC,EAAE,MAAM,CAAA;IACjB,QAAQ,CAAC,EAAE,mBAAmB,EAAE,CAAA;IAChC,UAAU,CAAC,EAAE,gBAAgB,CAAA;IAC7B,aAAa,CAAC,EAAE,aAAa,CAAA;IAC7B,iBAAiB,CAAC,EAAE,MAAM,CAAA;CAC3B;AAED;;;GAGG;AACH,MAAM,WAAW,iBAAkB,SAAQ,WAAW;IACpD,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,MAAM,CAAC,EAAE,MAAM,CAAA;CAChB;AAED,MAAM,MAAM,gBAAgB,GACxB,iBAAiB,GACjB,WAAW,GACX,YAAY,GACZ,WAAW,GACX,cAAc,GACd,cAAc,GACd,MAAM,GACN,OAAO,GACP,aAAa,CAAA;AAEjB,MAAM,MAAM,kBAAkB,GAC1B,SAAS,GACT,SAAS,GACT,WAAW,GACX,QAAQ,GACR,SAAS,CAAA;AAEb,MAAM,WAAW,YAAY;IAC3B,SAAS,EAAE,MAAM,CAAA;IACjB,IAAI,EAAE,gBAAgB,CAAA;IACtB,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;IAChC,MAAM,EAAE,kBAAkB,CAAA;IAC1B,SAAS,EAAE,MAAM,CAAA;CAClB;AAED,MAAM,WAAW,cAAc;IAC7B,SAAS,EAAE,MAAM,CAAA;IACjB,IAAI,EAAE,gBAAgB,CAAA;IACtB,SAAS,EAAE,MAAM,CAAA;CAClB;AAED,MAAM,MAAM,aAAa,GACrB;IAAE,OAAO,EAAE,IAAI,CAAC;IAAC,IAAI,EAAE,OAAO,CAAA;CAAE,GAChC;IAAE,OAAO,EAAE,KAAK,CAAC;IAAC,KAAK,EAAE,MAAM,CAAC;IAAC,IAAI,CAAC,EAAE,OAAO,CAAA;CAAE,CAAA;AAErD,MAAM,WAAW,eAAe;IAC9B,OAAO,EAAE,MAAM,CAAA;IACf,QAAQ,EAAE,MAAM,CAAA;IAChB,EAAE,EAAE,MAAM,CAAA;IACV,IAAI,EAAE,MAAM,CAAA;IACZ,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,YAAY,CAAC,EAAE,MAAM,EAAE,CAAA;IACvB,kBAAkB,CAAC,EAAE,MAAM,EAAE,CAAA;IAC7B,cAAc,CAAC,EAAE,MAAM,CAAA;CACxB;AAED,MAAM,MAAM,aAAa,GAAG,SAAS,GAAG,UAAU,CAAA;AAElD,MAAM,WAAW,gBAAgB;IAC/B,OAAO,EAAE,MAAM,CAAA;IACf,UAAU,EAAE,MAAM,CAAA;IAClB,aAAa,EAAE,MAAM,CAAA;IACrB,aAAa,EAAE,aAAa,CAAA;CAC7B;AAED,MAAM,WAAW,UAAU;IACzB,QAAQ,EAAE,MAAM,CAAA;IAChB,IAAI,EAAE,MAAM,CAAA;IACZ,QAAQ,EAAE,MAAM,CAAA;IAChB,WAAW,EAAE,MAAM,CAAA;IACnB,MAAM,EAAE,MAAM,CAAA;CACf;AAMD,MAAM,WAAW,mBAAmB;IAClC,OAAO,CAAC,EAAE,OAAO,CAAA;IACjB,OAAO,CAAC,EAAE,OAAO,CAAA;IACjB,GAAG,CAAC,EAAE,OAAO,CAAA;CACd;AAED,MAAM,WAAW,eAAe;IAC9B,IAAI,CAAC,EAAE,OAAO,CAAA;CACf;AAED,MAAM,WAAW,gBAAgB;IAC/B,IAAI,CAAC,EAAE,OAAO,CAAA;IACd,OAAO,CAAC,EAAE,OAAO,CAAA;IACjB,iBAAiB,CAAC,EAAE,OAAO,CAAA;CAC5B;AAED,MAAM,WAAW,eAAe;IAC9B,IAAI,CAAC,EAAE,OAAO,CAAA;CACf;AAED,MAAM,WAAW,kBAAkB;IACjC,GAAG,CAAC,EAAE,OAAO,CAAA;IACb,MAAM,CAAC,EAAE,OAAO,CAAA;CACjB;AAED,MAAM,WAAW,WAAW;IAC1B,OAAO,CAAC,EAAE,OAAO,CAAA;IACjB,cAAc,CAAC,EAAE,OAAO,CAAA;IACxB,WAAW,CAAC,EAAE,OAAO,CAAA;IACrB,OAAO,CAAC,EAAE,OAAO,CAAA;IACjB,MAAM,CAAC,EAAE,OAAO,CAAA;IAChB,YAAY,CAAC,EAAE,OAAO,CAAA;CACvB;AAED;;;;GAIG;AACH,MAAM,MAAM,QAAQ,GAAG,OAAO,GAAG,SAAS,CAAA;AAE1C;;;;GAIG;AACH,MAAM,MAAM,aAAa,GAAG,aAAa,GAAG,KAAK,CAAA;AAEjD,MAAM,WAAW,iBAAiB;IAChC,YAAY,EAAE,OAAO,CAAA;IACrB,mBAAmB,EAAE,OAAO,CAAA;IAC5B,sBAAsB,EAAE,OAAO,CAAA;IAC/B,oBAAoB,EAAE,OAAO,CAAA;IAC7B,QAAQ,EAAE,QAAQ,CAAA;IAClB,oBAAoB,CAAC,EAAE,aAAa,CAAA;IACpC,gBAAgB,CAAC,EAAE;QACjB,KAAK,CAAC,EAAE,MAAM,CAAA;QACd,SAAS,CAAC,EAAE,MAAM,CAAA;QAClB,YAAY,CAAC,EAAE,MAAM,CAAA;QACrB,YAAY,CAAC,EAAE,MAAM,EAAE,CAAA;QACvB,OAAO,CAAC,EAAE,MAAM,EAAE,CAAA;KACnB,CAAA;CACF;AAED,MAAM,WAAW,cAAc;IAC7B,WAAW,EAAE,MAAM,CAAA;IACnB,eAAe,EAAE,MAAM,CAAA;IACvB,YAAY,CAAC,EAAE,MAAM,CAAA;IACrB,MAAM,EAAE,MAAM,CAAA;CACf;AAED,MAAM,WAAW,qBAAqB;IACpC,UAAU,EAAE,MAAM,CAAA;IAClB,OAAO,EAAE;QACP,WAAW,EAAE,MAAM,CAAA;QACnB,WAAW,EAAE,MAAM,CAAA;QACnB,WAAW,CAAC,EAAE,MAAM,CAAA;KACrB,CAAA;IACD,KAAK,EAAE;QACL,YAAY,EAAE,OAAO,CAAA;QACrB,mBAAmB,EAAE,OAAO,CAAA;QAC5B,sBAAsB,EAAE,OAAO,CAAA;QAC/B,oBAAoB,EAAE,OAAO,CAAA;QAC7B,YAAY,EAAE,MAAM,EAAE,CAAA;QACtB,gBAAgB,CAAC,EAAE;YACjB,cAAc,CAAC,EAAE,MAAM,EAAE,CAAA;YACzB,kBAAkB,CAAC,EAAE,MAAM,CAAA;SAC5B,CAAA;KACF,CAAA;IACD,GAAG,CAAC,EAAE;QACJ,QAAQ,EAAE,KAAK,CAAC;YACd,EAAE,EAAE,MAAM,CAAA;YACV,IAAI,EAAE,MAAM,CAAA;YACZ,WAAW,CAAC,EAAE,MAAM,CAAA;YACpB,WAAW,CAAC,EAAE,MAAM,CAAA;YACpB,MAAM,EAAE,MAAM,CAAA;YACd,SAAS,EAAE,MAAM,CAAA;YACjB,IAAI,EAAE;gBAAE,MAAM,EAAE,YAAY,CAAA;aAAE,GAAG;gBAAE,MAAM,EAAE,KAAK,CAAC;gBAAC,QAAQ,EAAE,MAAM,CAAC;gBAAC,SAAS,EAAE,MAAM,CAAC;gBAAC,iBAAiB,EAAE,MAAM,CAAA;aAAE,CAAA;YAClH,SAAS,EAAE,OAAO,CAAA;SACnB,CAAC,CAAA;QACF,GAAG,CAAC,EAAE;YACJ,cAAc,CAAC,EAAE,MAAM,CAAA;SACxB,CAAA;KACF,CAAA;IACD,SAAS,CAAC,EAAE,KAAK,CAAC;QAChB,IAAI,EAAE,MAAM,CAAA;QACZ,IAAI,EAAE,MAAM,CAAA;QACZ,IAAI,EAAE,MAAM,CAAA;QACZ,QAAQ,EAAE,MAAM,CAAA;QAChB,MAAM,EAAE,MAAM,CAAA;QACd,gBAAgB,CAAC,EAAE;YAAE,MAAM,EAAE,OAAO,CAAC;YAAC,MAAM,EAAE,OAAO,CAAC;YAAC,MAAM,EAAE,OAAO,CAAA;SAAE,CAAA;KACzE,CAAC,CAAA;IACF,aAAa,CAAC,EAAE;QACd,OAAO,EAAE,KAAK,CAAC;YACb,IAAI,EAAE,KAAK,GAAG,IAAI,CAAA;YAClB,GAAG,CAAC,EAAE,MAAM,CAAA;YACZ,MAAM,CAAC,EAAE,MAAM,CAAA;YACf,MAAM,CAAC,EAAE,MAAM,CAAA;SAChB,CAAC,CAAA;KACH,CAAA;CACF;AAED,MAAM,WAAW,aAAa;IAC5B,IAAI,EAAE,MAAM,CAAA;IACZ,MAAM,EAAE,MAAM,CAAA;IACd,IAAI,EAAE,MAAM,CAAA;IACZ,IAAI,EAAE,MAAM,CAAA;IACZ,QAAQ,EAAE,MAAM,CAAA;IAChB,IAAI,EAAE,MAAM,CAAA;IACZ,QAAQ,EAAE,MAAM,CAAA;IAChB,gBAAgB,CAAC,EAAE;QAAE,MAAM,EAAE,OAAO,CAAC;QAAC,MAAM,EAAE,OAAO,CAAC;QAAC,MAAM,EAAE,OAAO,CAAA;KAAE,CAAA;CACzE;AAED,MAAM,WAAW,mBAAmB;IAClC,QAAQ,EAAE,MAAM,CAAA;IAChB,UAAU,EAAE,MAAM,CAAA;IAClB,MAAM,EAAE,IAAI,CAAC,qBAAqB,EAAE,KAAK,CAAC,CAAA;CAC3C;AAED,MAAM,WAAW,iBAAiB;IAChC,OAAO,EAAE,IAAI,CAAA;IACb,UAAU,CAAC,EAAE,MAAM,CAAA;CACpB;AAED,MAAM,MAAM,aAAa,GACrB,OAAO,GACP,WAAW,GACX,aAAa,GACb,MAAM,GACN,OAAO,GACP,QAAQ,CAAA;AAEZ,MAAM,WAAW,SAAS;IACxB,KAAK,EAAE,MAAM,CAAA;IACb,IAAI,EAAE,aAAa,CAAA;IACnB,OAAO,EAAE,MAAM,CAAA;CAChB;AAGD,MAAM,MAAM,eAAe,GACvB;IAAE,IAAI,EAAE,iBAAiB,CAAC;IAAC,OAAO,EAAE,mBAAmB,CAAA;CAAE,GACzD;IAAE,IAAI,EAAE,WAAW,CAAC;IAAC,OAAO,EAAE,eAAe,CAAA;CAAE,GAC/C;IAAE,IAAI,EAAE,YAAY,CAAC;IAAC,OAAO,EAAE,gBAAgB,CAAA;CAAE,GACjD;IAAE,IAAI,EAAE,WAAW,CAAC;IAAC,OAAO,EAAE,eAAe,CAAA;CAAE,GAC/C;IAAE,IAAI,EAAE,cAAc,CAAC;IAAC,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,KAAK,CAAC,CAAA;CAAE,GACxD;IAAE,IAAI,EAAE,cAAc,CAAC;IAAC,OAAO,EAAE,kBAAkB,CAAA;CAAE,GACrD;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,OAAO,EAAE,WAAW,CAAA;CAAE,GACtC;IAAE,IAAI,EAAE,OAAO,CAAC;IAAC,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,KAAK,CAAC,CAAA;CAAE,GACjD;IAAE,IAAI,EAAE,aAAa,CAAC;IAAC,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,KAAK,CAAC,CAAA;CAAE,CAAA"}
package/dist/utils.d.ts CHANGED
@@ -1,5 +1,6 @@
1
1
  export declare function getErrorMessage(error: unknown): string;
2
2
  export declare function parseString(value: unknown): string | null;
3
3
  export declare function parseNumber(value: unknown): number | null;
4
+ export declare function truncateString(text: string, limit: number, suffix?: string): string;
4
5
  export declare function validateApiUrl(url: string): string | null;
5
6
  //# sourceMappingURL=utils.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../src/utils.ts"],"names":[],"mappings":"AAAA,wBAAgB,eAAe,CAAC,KAAK,EAAE,OAAO,GAAG,MAAM,CAEtD;AAED,wBAAgB,WAAW,CAAC,KAAK,EAAE,OAAO,GAAG,MAAM,GAAG,IAAI,CAGzD;AAED,wBAAgB,WAAW,CAAC,KAAK,EAAE,OAAO,GAAG,MAAM,GAAG,IAAI,CAGzD;AAED,wBAAgB,cAAc,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CAUzD"}
1
+ {"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../src/utils.ts"],"names":[],"mappings":"AAAA,wBAAgB,eAAe,CAAC,KAAK,EAAE,OAAO,GAAG,MAAM,CAEtD;AAED,wBAAgB,WAAW,CAAC,KAAK,EAAE,OAAO,GAAG,MAAM,GAAG,IAAI,CAGzD;AAED,wBAAgB,WAAW,CAAC,KAAK,EAAE,OAAO,GAAG,MAAM,GAAG,IAAI,CAGzD;AAED,wBAAgB,cAAc,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,SAAQ,GAAG,MAAM,CAGlF;AAED,wBAAgB,cAAc,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CAUzD"}
package/dist/utils.js CHANGED
@@ -3,6 +3,7 @@ Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.getErrorMessage = getErrorMessage;
4
4
  exports.parseString = parseString;
5
5
  exports.parseNumber = parseNumber;
6
+ exports.truncateString = truncateString;
6
7
  exports.validateApiUrl = validateApiUrl;
7
8
  function getErrorMessage(error) {
8
9
  return error instanceof Error ? error.message : String(error);
@@ -17,6 +18,11 @@ function parseNumber(value) {
17
18
  return value;
18
19
  return null;
19
20
  }
21
+ function truncateString(text, limit, suffix = '...') {
22
+ if (text.length <= limit)
23
+ return text;
24
+ return text.substring(0, limit) + suffix;
25
+ }
20
26
  function validateApiUrl(url) {
21
27
  try {
22
28
  const parsed = new URL(url);
package/dist/utils.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"utils.js","sourceRoot":"","sources":["../src/utils.ts"],"names":[],"mappings":";;AAAA,0CAEC;AAED,kCAGC;AAED,kCAGC;AAED,wCAUC;AAxBD,SAAgB,eAAe,CAAC,KAAc;IAC5C,OAAO,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAA;AAC/D,CAAC;AAED,SAAgB,WAAW,CAAC,KAAc;IACxC,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,CAAC,MAAM,GAAG,CAAC;QAAE,OAAO,KAAK,CAAA;IAC/D,OAAO,IAAI,CAAA;AACb,CAAC;AAED,SAAgB,WAAW,CAAC,KAAc;IACxC,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC;QAAE,OAAO,KAAK,CAAA;IAC5D,OAAO,IAAI,CAAA;AACb,CAAC;AAED,SAAgB,cAAc,CAAC,GAAW;IACxC,IAAI,CAAC;QACH,MAAM,MAAM,GAAG,IAAI,GAAG,CAAC,GAAG,CAAC,CAAA;QAC3B,IAAI,CAAC,CAAC,OAAO,EAAE,QAAQ,CAAC,CAAC,QAAQ,CAAC,MAAM,CAAC,QAAQ,CAAC,EAAE,CAAC;YACnD,OAAO,qBAAqB,MAAM,CAAC,QAAQ,qCAAqC,CAAA;QAClF,CAAC;QACD,OAAO,IAAI,CAAA;IACb,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,gBAAgB,GAAG,EAAE,CAAA;IAC9B,CAAC;AACH,CAAC"}
1
+ {"version":3,"file":"utils.js","sourceRoot":"","sources":["../src/utils.ts"],"names":[],"mappings":";;AAAA,0CAEC;AAED,kCAGC;AAED,kCAGC;AAED,wCAGC;AAED,wCAUC;AA7BD,SAAgB,eAAe,CAAC,KAAc;IAC5C,OAAO,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAA;AAC/D,CAAC;AAED,SAAgB,WAAW,CAAC,KAAc;IACxC,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,CAAC,MAAM,GAAG,CAAC;QAAE,OAAO,KAAK,CAAA;IAC/D,OAAO,IAAI,CAAA;AACb,CAAC;AAED,SAAgB,WAAW,CAAC,KAAc;IACxC,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC;QAAE,OAAO,KAAK,CAAA;IAC5D,OAAO,IAAI,CAAA;AACb,CAAC;AAED,SAAgB,cAAc,CAAC,IAAY,EAAE,KAAa,EAAE,MAAM,GAAG,KAAK;IACxE,IAAI,IAAI,CAAC,MAAM,IAAI,KAAK;QAAE,OAAO,IAAI,CAAA;IACrC,OAAO,IAAI,CAAC,SAAS,CAAC,CAAC,EAAE,KAAK,CAAC,GAAG,MAAM,CAAA;AAC1C,CAAC;AAED,SAAgB,cAAc,CAAC,GAAW;IACxC,IAAI,CAAC;QACH,MAAM,MAAM,GAAG,IAAI,GAAG,CAAC,GAAG,CAAC,CAAA;QAC3B,IAAI,CAAC,CAAC,OAAO,EAAE,QAAQ,CAAC,CAAC,QAAQ,CAAC,MAAM,CAAC,QAAQ,CAAC,EAAE,CAAC;YACnD,OAAO,qBAAqB,MAAM,CAAC,QAAQ,qCAAqC,CAAA;QAClF,CAAC;QACD,OAAO,IAAI,CAAA;IACb,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,gBAAgB,GAAG,EAAE,CAAA;IAC9B,CAAC;AACH,CAAC"}
@@ -0,0 +1,39 @@
1
+ FROM node:24-slim
2
+
3
+ RUN apt-get update && apt-get install -y --no-install-recommends \
4
+ ca-certificates curl unzip git openssh-client \
5
+ default-mysql-client postgresql-client \
6
+ gnupg apt-transport-https \
7
+ && rm -rf /var/lib/apt/lists/*
8
+
9
+ # AWS CLI v2
10
+ RUN curl "https://awscli.amazonaws.com/awscli-exe-linux-$(uname -m).zip" -o /tmp/awscliv2.zip \
11
+ && unzip /tmp/awscliv2.zip -d /tmp \
12
+ && /tmp/aws/install \
13
+ && rm -rf /tmp/aws /tmp/awscliv2.zip
14
+
15
+ # AWS Session Manager Plugin
16
+ RUN ARCH=$(dpkg --print-architecture) \
17
+ && curl "https://s3.amazonaws.com/session-manager-downloads/plugin/latest/ubuntu_${ARCH}/session-manager-plugin.deb" \
18
+ -o /tmp/session-manager-plugin.deb \
19
+ && dpkg -i /tmp/session-manager-plugin.deb \
20
+ && rm /tmp/session-manager-plugin.deb
21
+
22
+ # MSSQL tools (amd64 only)
23
+ RUN ARCH=$(dpkg --print-architecture) && \
24
+ if [ "$ARCH" = "amd64" ]; then \
25
+ curl https://packages.microsoft.com/keys/microsoft.asc | gpg --dearmor > /usr/share/keyrings/microsoft.gpg \
26
+ && echo "deb [arch=amd64 signed-by=/usr/share/keyrings/microsoft.gpg] https://packages.microsoft.com/debian/12/prod bookworm main" \
27
+ > /etc/apt/sources.list.d/mssql-release.list \
28
+ && apt-get update \
29
+ && ACCEPT_EULA=Y apt-get install -y --no-install-recommends mssql-tools18 unixodbc-dev \
30
+ && rm -rf /var/lib/apt/lists/*; \
31
+ fi
32
+ ENV PATH="$PATH:/opt/mssql-tools18/bin"
33
+
34
+ # Claude Code CLI + AI Support Agent CLI
35
+ ARG AGENT_VERSION=latest
36
+ RUN npm install -g @anthropic-ai/claude-code @ai-support-agent/cli@${AGENT_VERSION}
37
+
38
+ WORKDIR /workspace
39
+ ENTRYPOINT ["ai-support-agent"]
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@ai-support-agent/cli",
3
- "version": "0.0.4-beta.2",
3
+ "version": "0.0.4-beta.21",
4
4
  "description": "AI Support Agent CLI client",
5
5
  "main": "dist/index.js",
6
6
  "bin": {
@@ -23,6 +23,7 @@
23
23
  },
24
24
  "files": [
25
25
  "dist",
26
+ "docker",
26
27
  "LICENSE",
27
28
  "README.md",
28
29
  "CHANGELOG.md"
@@ -35,14 +36,18 @@
35
36
  "test:cov": "jest --coverage"
36
37
  },
37
38
  "dependencies": {
39
+ "@modelcontextprotocol/sdk": "^1.27.1",
38
40
  "axios": "^1.13.0",
39
41
  "commander": "^14.0.0",
42
+ "mysql2": "^3.18.2",
40
43
  "open": "^11.0.0",
44
+ "pg": "^8.19.0",
41
45
  "ws": "^8.19.0"
42
46
  },
43
47
  "devDependencies": {
44
48
  "@types/jest": "^30.0.0",
45
49
  "@types/node": "^22.0.0",
50
+ "@types/pg": "^8.18.0",
46
51
  "@types/ws": "^8.18.1",
47
52
  "jest": "^30.0.0",
48
53
  "jest-junit": "^16.0.0",