@1mcp/agent 0.21.0 → 0.22.1

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 (196) hide show
  1. package/README.md +123 -148
  2. package/build/commands/app/backups.d.ts +13 -1
  3. package/build/commands/app/backups.d.ts.map +1 -1
  4. package/build/commands/app/backups.js +25 -0
  5. package/build/commands/app/backups.js.map +1 -1
  6. package/build/commands/app/consolidate.d.ts +21 -1
  7. package/build/commands/app/consolidate.d.ts.map +1 -1
  8. package/build/commands/app/consolidate.js +63 -0
  9. package/build/commands/app/consolidate.js.map +1 -1
  10. package/build/commands/app/discover.d.ts +11 -1
  11. package/build/commands/app/discover.d.ts.map +1 -1
  12. package/build/commands/app/discover.js +21 -0
  13. package/build/commands/app/discover.js.map +1 -1
  14. package/build/commands/app/index.d.ts.map +1 -1
  15. package/build/commands/app/index.js +15 -193
  16. package/build/commands/app/index.js.map +1 -1
  17. package/build/commands/app/list.d.ts +11 -1
  18. package/build/commands/app/list.d.ts.map +1 -1
  19. package/build/commands/app/list.js +21 -0
  20. package/build/commands/app/list.js.map +1 -1
  21. package/build/commands/app/restore.d.ts +21 -1
  22. package/build/commands/app/restore.d.ts.map +1 -1
  23. package/build/commands/app/restore.js +59 -0
  24. package/build/commands/app/restore.js.map +1 -1
  25. package/build/commands/app/status.d.ts +11 -1
  26. package/build/commands/app/status.d.ts.map +1 -1
  27. package/build/commands/app/status.js +21 -0
  28. package/build/commands/app/status.js.map +1 -1
  29. package/build/commands/mcp/add.d.ts +35 -2
  30. package/build/commands/mcp/add.d.ts.map +1 -1
  31. package/build/commands/mcp/add.js +86 -0
  32. package/build/commands/mcp/add.js.map +1 -1
  33. package/build/commands/mcp/enable.d.ts +15 -2
  34. package/build/commands/mcp/enable.d.ts.map +1 -1
  35. package/build/commands/mcp/enable.js +24 -0
  36. package/build/commands/mcp/enable.js.map +1 -1
  37. package/build/commands/mcp/index.d.ts.map +1 -1
  38. package/build/commands/mcp/index.js +18 -302
  39. package/build/commands/mcp/index.js.map +1 -1
  40. package/build/commands/mcp/list.d.ts +15 -2
  41. package/build/commands/mcp/list.d.ts.map +1 -1
  42. package/build/commands/mcp/list.js +35 -1
  43. package/build/commands/mcp/list.js.map +1 -1
  44. package/build/commands/mcp/remove.d.ts +11 -2
  45. package/build/commands/mcp/remove.d.ts.map +1 -1
  46. package/build/commands/mcp/remove.js +21 -0
  47. package/build/commands/mcp/remove.js.map +1 -1
  48. package/build/commands/mcp/status.d.ts +11 -2
  49. package/build/commands/mcp/status.d.ts.map +1 -1
  50. package/build/commands/mcp/status.js +23 -1
  51. package/build/commands/mcp/status.js.map +1 -1
  52. package/build/commands/mcp/tokens.d.ts +13 -3
  53. package/build/commands/mcp/tokens.d.ts.map +1 -1
  54. package/build/commands/mcp/tokens.js +31 -0
  55. package/build/commands/mcp/tokens.js.map +1 -1
  56. package/build/commands/mcp/update.d.ts +33 -2
  57. package/build/commands/mcp/update.d.ts.map +1 -1
  58. package/build/commands/mcp/update.js +72 -0
  59. package/build/commands/mcp/update.js.map +1 -1
  60. package/build/commands/preset/create.d.ts +26 -0
  61. package/build/commands/preset/create.d.ts.map +1 -0
  62. package/build/commands/preset/create.js +117 -0
  63. package/build/commands/preset/create.js.map +1 -0
  64. package/build/commands/preset/delete.d.ts +20 -0
  65. package/build/commands/preset/delete.d.ts.map +1 -0
  66. package/build/commands/preset/delete.js +46 -0
  67. package/build/commands/preset/delete.js.map +1 -0
  68. package/build/commands/preset/edit.d.ts +23 -0
  69. package/build/commands/preset/edit.d.ts.map +1 -0
  70. package/build/commands/preset/edit.js +68 -0
  71. package/build/commands/preset/edit.js.map +1 -0
  72. package/build/commands/preset/index.d.ts +6 -0
  73. package/build/commands/preset/index.d.ts.map +1 -0
  74. package/build/commands/preset/index.js +141 -0
  75. package/build/commands/preset/index.js.map +1 -0
  76. package/build/commands/preset/interactive.d.ts +12 -0
  77. package/build/commands/preset/interactive.d.ts.map +1 -0
  78. package/build/commands/preset/interactive.js +131 -0
  79. package/build/commands/preset/interactive.js.map +1 -0
  80. package/build/commands/preset/list.d.ts +16 -0
  81. package/build/commands/preset/list.d.ts.map +1 -0
  82. package/build/commands/preset/list.js +128 -0
  83. package/build/commands/preset/list.js.map +1 -0
  84. package/build/commands/preset/show.d.ts +19 -0
  85. package/build/commands/preset/show.d.ts.map +1 -0
  86. package/build/commands/preset/show.js +114 -0
  87. package/build/commands/preset/show.js.map +1 -0
  88. package/build/commands/preset/test.d.ts +20 -0
  89. package/build/commands/preset/test.d.ts.map +1 -0
  90. package/build/commands/preset/test.js +46 -0
  91. package/build/commands/preset/test.js.map +1 -0
  92. package/build/commands/preset/url.d.ts +20 -0
  93. package/build/commands/preset/url.d.ts.map +1 -0
  94. package/build/commands/preset/url.js +47 -0
  95. package/build/commands/preset/url.js.map +1 -0
  96. package/build/commands/serve/index.d.ts +106 -0
  97. package/build/commands/serve/index.d.ts.map +1 -0
  98. package/build/commands/serve/index.js +143 -0
  99. package/build/commands/serve/index.js.map +1 -0
  100. package/build/commands/serve/serve.d.ts +28 -0
  101. package/build/commands/serve/serve.d.ts.map +1 -0
  102. package/build/commands/serve/serve.js +213 -0
  103. package/build/commands/serve/serve.js.map +1 -0
  104. package/build/constants.d.ts +6 -1
  105. package/build/constants.d.ts.map +1 -1
  106. package/build/constants.js +13 -5
  107. package/build/constants.js.map +1 -1
  108. package/build/core/server/agentConfig.d.ts +6 -0
  109. package/build/core/server/agentConfig.d.ts.map +1 -1
  110. package/build/core/server/agentConfig.js +9 -1
  111. package/build/core/server/agentConfig.js.map +1 -1
  112. package/build/core/server/serverManager.d.ts.map +1 -1
  113. package/build/core/server/serverManager.js +41 -0
  114. package/build/core/server/serverManager.js.map +1 -1
  115. package/build/core/types/server.d.ts +4 -1
  116. package/build/core/types/server.d.ts.map +1 -1
  117. package/build/core/types/server.js.map +1 -1
  118. package/build/core/types/transport.d.ts +16 -77
  119. package/build/core/types/transport.d.ts.map +1 -1
  120. package/build/core/types/transport.js +2 -2
  121. package/build/core/types/transport.js.map +1 -1
  122. package/build/globalOptions.d.ts +46 -0
  123. package/build/globalOptions.d.ts.map +1 -0
  124. package/build/globalOptions.js +37 -0
  125. package/build/globalOptions.js.map +1 -0
  126. package/build/handlers/requestHandlers.d.ts.map +1 -1
  127. package/build/handlers/requestHandlers.js +23 -1
  128. package/build/handlers/requestHandlers.js.map +1 -1
  129. package/build/index.js +58 -347
  130. package/build/index.js.map +1 -1
  131. package/build/logger/logger.d.ts.map +1 -1
  132. package/build/logger/logger.js +4 -2
  133. package/build/logger/logger.js.map +1 -1
  134. package/build/logger/mcpLoggingEnhancer.d.ts.map +1 -1
  135. package/build/logger/mcpLoggingEnhancer.js +10 -6
  136. package/build/logger/mcpLoggingEnhancer.js.map +1 -1
  137. package/build/server.d.ts.map +1 -1
  138. package/build/server.js +26 -0
  139. package/build/server.js.map +1 -1
  140. package/build/transport/http/middlewares/scopeAuthMiddleware.d.ts +10 -1
  141. package/build/transport/http/middlewares/scopeAuthMiddleware.d.ts.map +1 -1
  142. package/build/transport/http/middlewares/scopeAuthMiddleware.js +12 -0
  143. package/build/transport/http/middlewares/scopeAuthMiddleware.js.map +1 -1
  144. package/build/transport/http/middlewares/tagsExtractor.d.ts +7 -3
  145. package/build/transport/http/middlewares/tagsExtractor.d.ts.map +1 -1
  146. package/build/transport/http/middlewares/tagsExtractor.js +128 -6
  147. package/build/transport/http/middlewares/tagsExtractor.js.map +1 -1
  148. package/build/transport/http/routes/sseRoutes.d.ts.map +1 -1
  149. package/build/transport/http/routes/sseRoutes.js +5 -1
  150. package/build/transport/http/routes/sseRoutes.js.map +1 -1
  151. package/build/transport/http/routes/streamableHttpRoutes.d.ts.map +1 -1
  152. package/build/transport/http/routes/streamableHttpRoutes.js +5 -1
  153. package/build/transport/http/routes/streamableHttpRoutes.js.map +1 -1
  154. package/build/transport/transportFactory.js +1 -1
  155. package/build/transport/transportFactory.js.map +1 -1
  156. package/build/utils/configureGlobalLogger.d.ts +12 -0
  157. package/build/utils/configureGlobalLogger.d.ts.map +1 -0
  158. package/build/utils/configureGlobalLogger.js +18 -0
  159. package/build/utils/configureGlobalLogger.js.map +1 -0
  160. package/build/utils/interactiveSelector.d.ts +88 -0
  161. package/build/utils/interactiveSelector.d.ts.map +1 -0
  162. package/build/utils/interactiveSelector.js +616 -0
  163. package/build/utils/interactiveSelector.js.map +1 -0
  164. package/build/utils/presetErrorHandler.d.ts +62 -0
  165. package/build/utils/presetErrorHandler.d.ts.map +1 -0
  166. package/build/utils/presetErrorHandler.js +159 -0
  167. package/build/utils/presetErrorHandler.js.map +1 -0
  168. package/build/utils/presetManager.d.ts +114 -0
  169. package/build/utils/presetManager.d.ts.map +1 -0
  170. package/build/utils/presetManager.js +565 -0
  171. package/build/utils/presetManager.js.map +1 -0
  172. package/build/utils/presetNotificationService.d.ts +62 -0
  173. package/build/utils/presetNotificationService.d.ts.map +1 -0
  174. package/build/utils/presetNotificationService.js +214 -0
  175. package/build/utils/presetNotificationService.js.map +1 -0
  176. package/build/utils/presetServerChangeDetector.d.ts +50 -0
  177. package/build/utils/presetServerChangeDetector.d.ts.map +1 -0
  178. package/build/utils/presetServerChangeDetector.js +100 -0
  179. package/build/utils/presetServerChangeDetector.js.map +1 -0
  180. package/build/utils/presetTypes.d.ts +52 -0
  181. package/build/utils/presetTypes.d.ts.map +1 -0
  182. package/build/utils/presetTypes.js +5 -0
  183. package/build/utils/presetTypes.js.map +1 -0
  184. package/build/utils/tagQueryEvaluator.d.ts +68 -0
  185. package/build/utils/tagQueryEvaluator.d.ts.map +1 -0
  186. package/build/utils/tagQueryEvaluator.js +292 -0
  187. package/build/utils/tagQueryEvaluator.js.map +1 -0
  188. package/build/utils/tagQueryParser.d.ts +11 -0
  189. package/build/utils/tagQueryParser.d.ts.map +1 -1
  190. package/build/utils/tagQueryParser.js +46 -0
  191. package/build/utils/tagQueryParser.js.map +1 -1
  192. package/build/utils/urlGenerator.d.ts +68 -0
  193. package/build/utils/urlGenerator.d.ts.map +1 -0
  194. package/build/utils/urlGenerator.js +208 -0
  195. package/build/utils/urlGenerator.js.map +1 -0
  196. package/package.json +21 -17
@@ -0,0 +1,208 @@
1
+ import { AgentConfigManager } from '../core/server/agentConfig.js';
2
+ import { PresetManager } from './presetManager.js';
3
+ import logger from '../logger/logger.js';
4
+ /**
5
+ * URL generator utility for MCP access URLs with preset support
6
+ */
7
+ export class UrlGenerator {
8
+ agentConfig;
9
+ presetManager;
10
+ constructor() {
11
+ this.agentConfig = AgentConfigManager.getInstance();
12
+ this.presetManager = PresetManager.getInstance();
13
+ }
14
+ /**
15
+ * Generate MCP access URL with preset parameter
16
+ */
17
+ generatePresetUrl(presetName) {
18
+ const baseUrl = this.agentConfig.getStreambleHttpUrl();
19
+ const url = new URL(baseUrl);
20
+ // Add preset parameter
21
+ url.searchParams.set('preset', presetName);
22
+ logger.debug('Generated preset URL', { presetName, url: url.toString() });
23
+ return url.toString();
24
+ }
25
+ /**
26
+ * Generate MCP access URL with tag filter
27
+ */
28
+ generateTagFilterUrl(tagFilter) {
29
+ const baseUrl = this.agentConfig.getUrl();
30
+ const url = new URL(baseUrl);
31
+ // Add tag-filter parameter
32
+ url.searchParams.set('tag-filter', tagFilter);
33
+ logger.debug('Generated tag filter URL', { tagFilter, url: url.toString() });
34
+ return url.toString();
35
+ }
36
+ /**
37
+ * Generate MCP access URL with legacy tags parameter (deprecated)
38
+ */
39
+ generateTagsUrl(tags) {
40
+ const baseUrl = this.agentConfig.getStreambleHttpUrl();
41
+ const url = new URL(baseUrl);
42
+ // Add tags parameter
43
+ url.searchParams.set('tags', tags.join(','));
44
+ logger.debug('Generated tags URL (deprecated)', { tags, url: url.toString() });
45
+ return url.toString();
46
+ }
47
+ /**
48
+ * Generate MCP access URL based on options
49
+ */
50
+ generateUrl(options = {}) {
51
+ const baseUrl = this.agentConfig.getStreambleHttpUrl();
52
+ const url = new URL(baseUrl);
53
+ // Priority: preset > tag-filter > tags (deprecated)
54
+ if (options.preset) {
55
+ // Validate preset exists
56
+ if (!this.presetManager.hasPreset(options.preset)) {
57
+ throw new Error(`Preset '${options.preset}' not found`);
58
+ }
59
+ url.searchParams.set('preset', options.preset);
60
+ }
61
+ else if (options.tagFilter) {
62
+ url.searchParams.set('tag-filter', options.tagFilter);
63
+ }
64
+ else if (options.tags && options.tags.length > 0) {
65
+ url.searchParams.set('tags', options.tags.join(','));
66
+ }
67
+ // Add custom parameters
68
+ if (options.customParams) {
69
+ for (const [key, value] of Object.entries(options.customParams)) {
70
+ url.searchParams.set(key, value);
71
+ }
72
+ }
73
+ // Add authentication parameters if needed
74
+ if (options.includeAuth && this.agentConfig.isAuthEnabled()) {
75
+ // Note: Auth parameters would be added here if needed
76
+ // This is a placeholder for future auth URL parameters
77
+ }
78
+ logger.debug('Generated URL', {
79
+ options,
80
+ url: url.toString(),
81
+ baseUrl,
82
+ });
83
+ return url.toString();
84
+ }
85
+ /**
86
+ * Get base server URL without parameters
87
+ */
88
+ getBaseUrl() {
89
+ return this.agentConfig.getUrl();
90
+ }
91
+ /**
92
+ * Validate and generate URL for preset
93
+ */
94
+ async validateAndGeneratePresetUrl(presetName) {
95
+ try {
96
+ // Check if preset exists
97
+ if (!this.presetManager.hasPreset(presetName)) {
98
+ return {
99
+ url: '',
100
+ valid: false,
101
+ error: `Preset '${presetName}' not found`,
102
+ };
103
+ }
104
+ // Test preset to ensure it has valid configuration
105
+ const preset = this.presetManager.getPreset(presetName);
106
+ if (!preset) {
107
+ return {
108
+ url: '',
109
+ valid: false,
110
+ error: `Preset '${presetName}' configuration is invalid`,
111
+ };
112
+ }
113
+ // Validate preset configuration
114
+ const validation = await this.presetManager.validatePreset(presetName, preset);
115
+ if (!validation.isValid) {
116
+ return {
117
+ url: '',
118
+ valid: false,
119
+ error: `Preset validation failed: ${validation.errors.join('; ')}`,
120
+ };
121
+ }
122
+ // Generate URL
123
+ const url = this.generatePresetUrl(presetName);
124
+ return {
125
+ url,
126
+ valid: true,
127
+ };
128
+ }
129
+ catch (error) {
130
+ logger.error('URL validation and generation failed', { presetName, error });
131
+ return {
132
+ url: '',
133
+ valid: false,
134
+ error: `Failed to generate URL: ${error instanceof Error ? error.message : 'Unknown error'}`,
135
+ };
136
+ }
137
+ }
138
+ /**
139
+ * Parse MCP URL to extract filtering parameters
140
+ */
141
+ parseUrl(url) {
142
+ try {
143
+ const urlObj = new URL(url);
144
+ const params = urlObj.searchParams;
145
+ const result = {
146
+ otherParams: {},
147
+ };
148
+ // Extract filtering parameters
149
+ if (params.has('preset')) {
150
+ result.preset = params.get('preset');
151
+ }
152
+ else if (params.has('tag-filter')) {
153
+ result.tagFilter = params.get('tag-filter');
154
+ }
155
+ else if (params.has('tags')) {
156
+ const tagsStr = params.get('tags');
157
+ if (tagsStr) {
158
+ result.tags = tagsStr
159
+ .split(',')
160
+ .map((tag) => tag.trim())
161
+ .filter((tag) => tag.length > 0);
162
+ }
163
+ }
164
+ // Extract other parameters
165
+ for (const [key, value] of params.entries()) {
166
+ if (!['preset', 'tag-filter', 'tags'].includes(key)) {
167
+ result.otherParams[key] = value;
168
+ }
169
+ }
170
+ return result;
171
+ }
172
+ catch (error) {
173
+ logger.error('Failed to parse URL', { url, error });
174
+ return { otherParams: {} };
175
+ }
176
+ }
177
+ /**
178
+ * Check if URL uses preset-based filtering
179
+ */
180
+ isPresetUrl(url) {
181
+ try {
182
+ const urlObj = new URL(url);
183
+ return urlObj.searchParams.has('preset');
184
+ }
185
+ catch {
186
+ return false;
187
+ }
188
+ }
189
+ /**
190
+ * Extract preset name from URL
191
+ */
192
+ extractPresetName(url) {
193
+ try {
194
+ const urlObj = new URL(url);
195
+ return urlObj.searchParams.get('preset');
196
+ }
197
+ catch {
198
+ return null;
199
+ }
200
+ }
201
+ /**
202
+ * Generate connection string for MCP clients (includes protocol and formatting)
203
+ */
204
+ generateConnectionString(options = {}) {
205
+ return this.generateUrl(options);
206
+ }
207
+ }
208
+ //# sourceMappingURL=urlGenerator.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"urlGenerator.js","sourceRoot":"","sources":["../../src/utils/urlGenerator.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@1mcp/agent",
3
- "version": "0.21.0",
3
+ "version": "0.22.1",
4
4
  "description": "One MCP server to aggregate them all - A unified Model Context Protocol server implementation",
5
5
  "keywords": [
6
6
  "mcp",
@@ -56,10 +56,13 @@
56
56
  "dependencies": {
57
57
  "@modelcontextprotocol/sdk": "^1.16.0",
58
58
  "body-parser": "^2.2.0",
59
+ "boxen": "^8.0.1",
60
+ "chalk": "^5.6.0",
59
61
  "cors": "^2.8.5",
60
62
  "express": "^5.1.0",
61
63
  "express-rate-limit": "^7.5.1",
62
64
  "json5": "^2.2.3",
65
+ "prompts": "^2.4.2",
63
66
  "source-map-support": "^0.5.21",
64
67
  "tiktoken": "^1.0.22",
65
68
  "uuid": "^11.1.0",
@@ -67,22 +70,25 @@
67
70
  "winston-transport": "^4.9.0",
68
71
  "yargs": "^18.0.0",
69
72
  "yargs-parser": "^22.0.0",
70
- "zod": "^3.24.2"
73
+ "zod": "^4.1.8"
71
74
  },
72
75
  "devDependencies": {
73
76
  "@braintree/sanitize-url": "^7.1.1",
74
77
  "@eslint/js": "^9.22.0",
75
78
  "@testing-library/jest-dom": "^6.6.3",
79
+ "@types/archiver": "^6.0.3",
76
80
  "@types/body-parser": "^1.19.5",
77
81
  "@types/cors": "^2.8.19",
78
82
  "@types/express": "^5.0.0",
79
83
  "@types/node": "^24.0.0",
84
+ "@types/prompts": "^2.4.9",
80
85
  "@types/supertest": "^6.0.3",
81
86
  "@types/uuid": "^10.0.0",
82
87
  "@types/yargs": "^17.0.33",
83
88
  "@typescript-eslint/eslint-plugin": "^8.27.0",
84
89
  "@typescript-eslint/parser": "^8.27.0",
85
90
  "@vitest/coverage-v8": "^1.4.0",
91
+ "archiver": "^7.0.1",
86
92
  "axios": "^1.10.0",
87
93
  "cytoscape": "^3.32.1",
88
94
  "cytoscape-cose-bilkent": "^4.1.0",
@@ -110,6 +116,7 @@
110
116
  },
111
117
  "scripts": {
112
118
  "dev": "tsc-watch --project tsconfig.build.json --onSuccess \"node --env-file=.env build/index.js\"",
119
+ "start": "node --env-file=.env build/index.js",
113
120
  "build": "tsc --project tsconfig.build.json && node -e \"require('fs').chmodSync('build/index.js', '755')\"",
114
121
  "clean": "rm -rf build",
115
122
  "clean:sea": "rm -f 1mcp 1mcp.exe sea-prep.blob build/bundled.cjs",
@@ -120,29 +127,26 @@
120
127
  "format": "prettier --write \"src/**/*.{js,ts}\" \"test/**/*.{js,ts}\"",
121
128
  "format:check": "prettier --check \"src/**/*.{js,ts}\" \"test/**/*.{js,ts}\"",
122
129
  "typecheck": "tsc --noEmit --project tsconfig.test.json",
123
- "test": "pnpm test:unit && pnpm test:e2e",
130
+ "test": "pnpm test:unit",
124
131
  "test:unit": "vitest run",
125
132
  "test:unit:watch": "vitest",
126
133
  "test:unit:coverage": "vitest run --coverage",
127
134
  "test:e2e": "vitest run --config vitest.e2e.config.ts",
128
135
  "test:e2e:watch": "vitest --config vitest.e2e.config.ts",
129
136
  "test:e2e:coverage": "vitest run --config vitest.e2e.config.ts --coverage",
130
- "test:e2e:commands": "vitest run --config vitest.e2e.config.ts test/e2e/commands/",
131
- "test:e2e:commands:watch": "vitest --config vitest.e2e.config.ts test/e2e/commands/",
132
- "test:e2e:mcp": "vitest run --config vitest.e2e.config.ts test/e2e/commands/mcp/",
133
- "test:e2e:app": "vitest run --config vitest.e2e.config.ts test/e2e/commands/app/",
134
- "test:e2e:integration": "vitest run --config vitest.e2e.config.ts test/e2e/commands/integration/",
135
- "test:e2e:errors": "vitest run --config vitest.e2e.config.ts test/e2e/commands/error-scenarios.test.ts",
136
137
  "docs:dev": "vitepress dev docs",
137
138
  "docs:build": "vitepress build docs",
138
139
  "docs:preview": "vitepress preview docs",
139
- "sea:bundle": "esbuild build/index.js --bundle --platform=node --format=cjs --outfile=build/bundled.cjs --external:fsevents --external:@esbuild/darwin-arm64",
140
- "sea:prep": "node --experimental-sea-config sea-config.json",
141
- "sea:build": "pnpm build && pnpm sea:bundle && pnpm sea:prep",
142
- "sea:binary:macos": "node -e \"require('fs').copyFileSync(process.execPath, '1mcp')\" && codesign --remove-signature 1mcp && npx postject 1mcp NODE_SEA_BLOB sea-prep.blob --sentinel-fuse NODE_SEA_FUSE_fce680ab2cc467b6e072b8b5df1996b2 --macho-segment-name NODE_SEA && codesign --sign - --entitlements entitlements.plist 1mcp && chmod +x 1mcp",
143
- "sea:binary:linux": "node -e \"require('fs').copyFileSync(process.execPath, '1mcp')\" && npx postject 1mcp NODE_SEA_BLOB sea-prep.blob --sentinel-fuse NODE_SEA_FUSE_fce680ab2cc467b6e072b8b5df1996b2 && chmod +x 1mcp",
144
- "sea:binary:win": "node -e \"require('fs').copyFileSync(process.execPath, '1mcp.exe')\" && npx postject 1mcp.exe NODE_SEA_BLOB sea-prep.blob --sentinel-fuse NODE_SEA_FUSE_fce680ab2cc467b6e072b8b5df1996b2",
145
- "sea:binary": "node -e \"const os = require('os'); const platform = os.platform(); const script = platform === 'darwin' ? 'sea:binary:macos' : platform === 'win32' ? 'sea:binary:win' : 'sea:binary:linux'; require('child_process').execSync('pnpm ' + script, {stdio: 'inherit'});\"",
146
- "build:binaries": "pnpm sea:build && pnpm sea:binary"
140
+ "sea:build": "node scripts/build-sea.cjs",
141
+ "sea:binary": "node scripts/build-binary.cjs",
142
+ "sea:binary:macos": "node scripts/build-binary.cjs darwin-arm64",
143
+ "sea:binary:macos:x64": "node scripts/build-binary.cjs darwin-x64",
144
+ "sea:binary:linux": "node scripts/build-binary.cjs linux-x64",
145
+ "sea:binary:linux:arm64": "node scripts/build-binary.cjs linux-arm64",
146
+ "sea:binary:win": "node scripts/build-binary.cjs win32-x64",
147
+ "sea:binary:win:arm64": "node scripts/build-binary.cjs win32-arm64",
148
+ "archive": "node scripts/archive.cjs",
149
+ "build:binaries": "pnpm sea:build && pnpm sea:binary",
150
+ "build:binaries:archived": "pnpm build:binaries && pnpm archive"
147
151
  }
148
152
  }