@ninenity/neutrun 1.0.0 → 1.2.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 (94) hide show
  1. package/README.md +3 -2
  2. package/dist/Emojis/Pool.d.ts.map +1 -1
  3. package/dist/Emojis/Pool.js +3 -0
  4. package/dist/Emojis/Pool.js.map +1 -1
  5. package/dist/Logger/index.js +1 -1
  6. package/dist/Shared/ChannelLoader.d.ts.map +1 -1
  7. package/dist/Shared/ChannelLoader.js +22 -8
  8. package/dist/Shared/ChannelLoader.js.map +1 -1
  9. package/dist/Shared/Client.d.ts +4 -0
  10. package/dist/Shared/Client.d.ts.map +1 -1
  11. package/dist/Shared/Client.js +32 -43
  12. package/dist/Shared/Client.js.map +1 -1
  13. package/dist/Shared/ComponentRuntime.d.ts.map +1 -1
  14. package/dist/Shared/ComponentRuntime.js +14 -3
  15. package/dist/Shared/ComponentRuntime.js.map +1 -1
  16. package/dist/Shared/ConfigLoader.d.ts.map +1 -1
  17. package/dist/Shared/ConfigLoader.js +33 -8
  18. package/dist/Shared/ConfigLoader.js.map +1 -1
  19. package/dist/Shared/CooldownManager.d.ts.map +1 -1
  20. package/dist/Shared/CooldownManager.js +6 -0
  21. package/dist/Shared/CooldownManager.js.map +1 -1
  22. package/dist/Shared/Definer.d.ts.map +1 -1
  23. package/dist/Shared/Definer.js +0 -9
  24. package/dist/Shared/Definer.js.map +1 -1
  25. package/dist/Shared/EventBus.d.ts.map +1 -1
  26. package/dist/Shared/EventBus.js +4 -1
  27. package/dist/Shared/EventBus.js.map +1 -1
  28. package/dist/Shared/ExpressApi.d.ts +67 -0
  29. package/dist/Shared/ExpressApi.d.ts.map +1 -0
  30. package/dist/Shared/ExpressApi.js +676 -0
  31. package/dist/Shared/ExpressApi.js.map +1 -0
  32. package/dist/Shared/InteractionManager.d.ts.map +1 -1
  33. package/dist/Shared/InteractionManager.js +28 -4
  34. package/dist/Shared/InteractionManager.js.map +1 -1
  35. package/dist/Shared/LogTransport.d.ts +3 -1
  36. package/dist/Shared/LogTransport.d.ts.map +1 -1
  37. package/dist/Shared/LogTransport.js +19 -5
  38. package/dist/Shared/LogTransport.js.map +1 -1
  39. package/dist/Shared/Neutrun.d.ts +9 -9
  40. package/dist/Shared/Neutrun.d.ts.map +1 -1
  41. package/dist/Shared/Neutrun.js +87 -37
  42. package/dist/Shared/Neutrun.js.map +1 -1
  43. package/dist/Shared/NinenityApi.d.ts +50 -0
  44. package/dist/Shared/NinenityApi.d.ts.map +1 -0
  45. package/dist/Shared/NinenityApi.js +206 -0
  46. package/dist/Shared/NinenityApi.js.map +1 -0
  47. package/dist/Shared/Plugin.d.ts +1 -1
  48. package/dist/Shared/Plugin.d.ts.map +1 -1
  49. package/dist/Shared/Pool.d.ts.map +1 -1
  50. package/dist/Shared/Pool.js +3 -0
  51. package/dist/Shared/Pool.js.map +1 -1
  52. package/dist/Shared/ProcessManager.d.ts +2 -1
  53. package/dist/Shared/ProcessManager.d.ts.map +1 -1
  54. package/dist/Shared/ProcessManager.js +56 -26
  55. package/dist/Shared/ProcessManager.js.map +1 -1
  56. package/dist/Shared/QueueManager.d.ts.map +1 -1
  57. package/dist/Shared/QueueManager.js +35 -13
  58. package/dist/Shared/QueueManager.js.map +1 -1
  59. package/dist/Shared/RoleLoader.d.ts.map +1 -1
  60. package/dist/Shared/RoleLoader.js +22 -8
  61. package/dist/Shared/RoleLoader.js.map +1 -1
  62. package/dist/Shared/RuntimeAliases.d.ts +10 -0
  63. package/dist/Shared/RuntimeAliases.d.ts.map +1 -0
  64. package/dist/Shared/RuntimeAliases.js +29 -0
  65. package/dist/Shared/RuntimeAliases.js.map +1 -0
  66. package/dist/Shared/Supervisor.d.ts.map +1 -1
  67. package/dist/Shared/Supervisor.js +59 -6
  68. package/dist/Shared/Supervisor.js.map +1 -1
  69. package/dist/Shared/TelemetryService.js +1 -1
  70. package/dist/Shared/TelemetryService.js.map +1 -1
  71. package/dist/Shared/WebSocket.d.ts +1 -1
  72. package/dist/Shared/WebSocket.d.ts.map +1 -1
  73. package/dist/Shared/WebSocket.js +59 -32
  74. package/dist/Shared/WebSocket.js.map +1 -1
  75. package/dist/Types/Client.Type.d.ts +3 -3
  76. package/dist/Types/Client.Type.d.ts.map +1 -1
  77. package/dist/Types/Client.Type.js.map +1 -1
  78. package/dist/api.d.ts +3 -0
  79. package/dist/api.d.ts.map +1 -0
  80. package/dist/api.js +8 -0
  81. package/dist/api.js.map +1 -0
  82. package/dist/discordjs.d.ts +8 -0
  83. package/dist/discordjs.d.ts.map +1 -0
  84. package/dist/discordjs.js +24 -0
  85. package/dist/discordjs.js.map +1 -0
  86. package/dist/express.d.ts +11 -0
  87. package/dist/express.d.ts.map +1 -0
  88. package/dist/express.js +16 -0
  89. package/dist/express.js.map +1 -0
  90. package/dist/index.d.ts +9 -2
  91. package/dist/index.d.ts.map +1 -1
  92. package/dist/index.js +20 -2
  93. package/dist/index.js.map +1 -1
  94. package/package.json +22 -5
@@ -10,10 +10,15 @@ const ConsoleLog_1 = require("./ConsoleLog");
10
10
  const Color_1 = __importDefault(require("../Logger/Color"));
11
11
  const Utils_1 = __importDefault(require("./Utils"));
12
12
  const Client_1 = require("./Client");
13
+ const ExpressApi_1 = require("./ExpressApi");
13
14
  const I18n_1 = __importDefault(require("../I18n"));
14
15
  const Supervisor_1 = require("./Supervisor");
16
+ const ProcessManager_1 = __importDefault(require("./ProcessManager"));
15
17
  let neutrunPath = null;
16
18
  let initCalled = false;
19
+ const MAX_STORAGE_FILE_BYTES = 10 * 1024 * 1024;
20
+ const MAX_CACHE_APPEND_ITEMS = 10_000;
21
+ const STORAGE_NAME_PATTERN = /^[a-zA-Z0-9][a-zA-Z0-9_.-]{0,127}$/;
17
22
  // O ComponentBuilder só é carregado no primeiro acesso a Neutrun.component.
18
23
  let componentModule = null;
19
24
  const getComponentModule = () => {
@@ -40,10 +45,26 @@ const init = (options) => {
40
45
  Supervisor_1.Supervisor.throwParentHandoff();
41
46
  }
42
47
  Supervisor_1.Supervisor.startChildDuties(options.settings?.supervisor);
48
+ // O supervisor pai não deve registrar os handlers de shutdown do bot;
49
+ // somente o processo que realmente executa Discord/API gerencia os recursos.
50
+ ProcessManager_1.default.init();
43
51
  const botInstance = options.bot;
44
52
  const baseDir = options.settings?.baseDir ?? process.cwd();
45
53
  const plugins = options.plugins ?? {};
54
+ const apiSettings = options.settings?.api;
55
+ if (apiSettings !== undefined) {
56
+ ExpressApi_1.Api.configureNeutrun(apiSettings);
57
+ }
46
58
  Utils_1.default.init(botInstance);
59
+ for (const [pluginName, plugin] of Object.entries(plugins)) {
60
+ if (!plugin)
61
+ continue;
62
+ if (typeof plugin !== 'object') {
63
+ throw new TypeError(`Plugin [${pluginName}] precisa implementar o contrato de plugin do Neutrun.`);
64
+ }
65
+ if (!botInstance.plugins.includes(plugin))
66
+ botInstance.plugins.push(plugin);
67
+ }
47
68
  const botRoot = path_1.default.dirname(baseDir);
48
69
  neutrunPath = path_1.default.join(botRoot, '.ninenity');
49
70
  const generatedPath = path_1.default.join(neutrunPath, 'Generated');
@@ -63,40 +84,21 @@ const init = (options) => {
63
84
  fs_1.default.writeFileSync(path_1.default.join(neutrunPath, 'telemetry.json'), '[]');
64
85
  }
65
86
  (0, ConsoleLog_1.logSuccess)(`Diretório ${(0, Color_1.default)('.ninenity/', 'cyan', 'bold')} preparado em: ${(0, Color_1.default)(neutrunPath, 'gray')}`);
66
- // Inicializar todos os plugins registrados no bot único
67
- for (const [pluginName, pluginInstance] of Object.entries(plugins)) {
68
- if (!pluginInstance)
69
- continue;
70
- try {
71
- if (typeof pluginInstance === 'function') {
72
- pluginInstance(botInstance);
73
- }
74
- else if (typeof pluginInstance === 'object') {
75
- if (typeof pluginInstance.onPreLogin === 'function') {
76
- pluginInstance.onPreLogin(botInstance);
77
- }
78
- else if (typeof pluginInstance.init === 'function') {
79
- pluginInstance.init(botInstance);
80
- }
81
- else if (typeof pluginInstance.load === 'function') {
82
- pluginInstance.load(botInstance);
83
- }
84
- else if (typeof pluginInstance.default === 'function') {
85
- pluginInstance.default(botInstance);
86
- }
87
- }
88
- }
89
- catch (err) {
90
- (0, ConsoleLog_1.logError)(`Erro ao inicializar plugin [${pluginName}]: ${err?.message || err}`);
91
- }
92
- }
93
87
  autoLoad(baseDir);
88
+ if (apiSettings !== undefined && apiSettings !== false && apiSettings.enabled !== false) {
89
+ botInstance.plugins.push({
90
+ name: 'NeutrunApi',
91
+ onPreLogin: () => ExpressApi_1.Api.start()
92
+ });
93
+ }
94
94
  };
95
95
  const autoLoad = (baseDir) => {
96
96
  if (!fs_1.default.existsSync(baseDir))
97
97
  return;
98
+ const failures = [];
98
99
  const loadFilesRecursively = (dir) => {
99
- const entries = fs_1.default.readdirSync(dir, { withFileTypes: true });
100
+ const entries = fs_1.default.readdirSync(dir, { withFileTypes: true })
101
+ .sort((left, right) => left.name.localeCompare(right.name, 'en'));
100
102
  for (const entry of entries) {
101
103
  const fullPath = path_1.default.join(dir, entry.name);
102
104
  if (entry.isDirectory()) {
@@ -122,6 +124,8 @@ const autoLoad = (baseDir) => {
122
124
  }
123
125
  }
124
126
  catch (error) {
127
+ const failure = new Error(`Falha ao carregar ${fullPath}`, { cause: error });
128
+ failures.push(failure);
125
129
  (0, ConsoleLog_1.logError)(`Erro ao carregar arquivo ${(0, Color_1.default)(entry.name, 'cyan', 'bold')}: ${error}`);
126
130
  }
127
131
  }
@@ -134,6 +138,7 @@ const autoLoad = (baseDir) => {
134
138
  path_1.default.join(baseDir, 'Shared', 'Settings'),
135
139
  path_1.default.join(baseDir, 'Shared', 'Translate'),
136
140
  path_1.default.join(baseDir, 'Shared', 'Translations'),
141
+ path_1.default.join(baseDir, 'Api'),
137
142
  path_1.default.join(baseDir, 'Discord', 'Commands'),
138
143
  path_1.default.join(baseDir, 'Discord', 'Events'),
139
144
  path_1.default.join(baseDir, 'Discord', 'Interactions'),
@@ -147,6 +152,9 @@ const autoLoad = (baseDir) => {
147
152
  loadFilesRecursively(fullTargetDir);
148
153
  }
149
154
  }
155
+ if (failures.length > 0) {
156
+ throw new AggregateError(failures, `Neutrun interrompeu a inicialização porque ${failures.length} arquivo(s) falharam no auto-loader.`);
157
+ }
150
158
  };
151
159
  const getPath = () => {
152
160
  if (!neutrunPath) {
@@ -167,10 +175,10 @@ const getGeneratedPath = (filename) => {
167
175
  return filename ? path_1.default.join(genDir, filename) : genDir;
168
176
  };
169
177
  const filePath = (name) => {
170
- return path_1.default.join(getPath(), `${name}.json`);
178
+ return path_1.default.join(getPath(), `${normalizeStorageName(name)}.json`);
171
179
  };
172
180
  const cachePath = (name) => {
173
- return path_1.default.join(getPath(), 'cache', `${name}.json`);
181
+ return path_1.default.join(getPath(), 'cache', `${normalizeStorageName(name)}.json`);
174
182
  };
175
183
  // ────────────────────────────────────────────────────────────────────────────────
176
184
  const read = (name) => {
@@ -178,16 +186,22 @@ const read = (name) => {
178
186
  if (!fs_1.default.existsSync(file))
179
187
  return null;
180
188
  try {
189
+ const stats = fs_1.default.statSync(file);
190
+ if (!stats.isFile() || stats.size > MAX_STORAGE_FILE_BYTES) {
191
+ (0, ConsoleLog_1.logWarn)(`Arquivo de storage ignorado por tamanho/tipo inválido: ${path_1.default.basename(file)}`, 'Storage');
192
+ return null;
193
+ }
181
194
  const content = fs_1.default.readFileSync(file, 'utf-8');
182
195
  return JSON.parse(content);
183
196
  }
184
- catch {
197
+ catch (error) {
198
+ (0, ConsoleLog_1.logWarn)(`Falha ao ler ${path_1.default.basename(file)}: ${error}`, 'Storage');
185
199
  return null;
186
200
  }
187
201
  };
188
202
  const write = (name, data) => {
189
203
  const file = filePath(name);
190
- fs_1.default.writeFileSync(file, JSON.stringify(data, null, 2));
204
+ writeJsonAtomic(file, data);
191
205
  };
192
206
  // ────────────────────────────────────────────────────────────────────────────────
193
207
  const cacheRead = (name) => {
@@ -195,10 +209,16 @@ const cacheRead = (name) => {
195
209
  if (!fs_1.default.existsSync(file))
196
210
  return null;
197
211
  try {
212
+ const stats = fs_1.default.statSync(file);
213
+ if (!stats.isFile() || stats.size > MAX_STORAGE_FILE_BYTES) {
214
+ (0, ConsoleLog_1.logWarn)(`Cache ignorado por tamanho/tipo inválido: ${path_1.default.basename(file)}`, 'Storage');
215
+ return null;
216
+ }
198
217
  const content = fs_1.default.readFileSync(file, 'utf-8');
199
218
  return JSON.parse(content);
200
219
  }
201
- catch {
220
+ catch (error) {
221
+ (0, ConsoleLog_1.logWarn)(`Falha ao ler cache ${path_1.default.basename(file)}: ${error}`, 'Storage');
202
222
  return null;
203
223
  }
204
224
  };
@@ -207,18 +227,44 @@ const cacheWrite = (name, data) => {
207
227
  const dir = path_1.default.dirname(file);
208
228
  if (!fs_1.default.existsSync(dir))
209
229
  fs_1.default.mkdirSync(dir, { recursive: true });
210
- fs_1.default.writeFileSync(file, JSON.stringify(data, null, 2));
230
+ writeJsonAtomic(file, data);
211
231
  };
212
232
  const cacheAppend = (name, item) => {
213
233
  const existing = cacheRead(name) ?? [];
214
234
  existing.push(item);
215
- cacheWrite(name, existing);
235
+ cacheWrite(name, existing.slice(-MAX_CACHE_APPEND_ITEMS));
216
236
  };
217
237
  const cacheClear = (name) => {
218
238
  const file = cachePath(name);
219
239
  if (fs_1.default.existsSync(file))
220
240
  fs_1.default.unlinkSync(file);
221
241
  };
242
+ const normalizeStorageName = (name) => {
243
+ const normalized = String(name || '').trim();
244
+ if (!STORAGE_NAME_PATTERN.test(normalized) ||
245
+ normalized.includes('..')) {
246
+ throw new TypeError('Nome de storage inválido. Use apenas letras, números, ponto, hífen e underscore.');
247
+ }
248
+ return normalized;
249
+ };
250
+ const writeJsonAtomic = (file, data) => {
251
+ const serialized = JSON.stringify(data, null, 2);
252
+ if (serialized === undefined) {
253
+ throw new TypeError('Storage precisa receber um valor serializável em JSON.');
254
+ }
255
+ if (Buffer.byteLength(serialized, 'utf8') > MAX_STORAGE_FILE_BYTES) {
256
+ throw new RangeError(`Storage excede o limite de ${MAX_STORAGE_FILE_BYTES} bytes.`);
257
+ }
258
+ const temporaryPath = `${file}.${process.pid}.${Date.now()}.tmp`;
259
+ try {
260
+ fs_1.default.writeFileSync(temporaryPath, serialized, 'utf8');
261
+ fs_1.default.renameSync(temporaryPath, file);
262
+ }
263
+ finally {
264
+ if (fs_1.default.existsSync(temporaryPath))
265
+ fs_1.default.unlinkSync(temporaryPath);
266
+ }
267
+ };
222
268
  // ────────────────────────────────────────────────────────────────────────────────
223
269
  const isInitialized = () => {
224
270
  return neutrunPath !== null;
@@ -239,17 +285,21 @@ const Neutrun = {
239
285
  * O getter é sempre atual — `const { bot } = Neutrun` captura o valor do
240
286
  * momento da desestruturação, então prefira o acesso direto em módulos
241
287
  * carregados antes do init. A instância passa a existir no momento do
242
- * `new Bot({...})`; acessar antes disso é erro de programação e lança
288
+ * `new BotClient({...})`; acessar antes disso é erro de programação e lança
243
289
  * com uma mensagem orientando o fluxo correto.
244
290
  */
245
291
  get bot() {
246
292
  const instance = Client_1.Bot.Instance;
247
293
  if (!instance) {
248
294
  throw new Error('Neutrun.bot foi acessado antes da criação do bot. Crie a instância ' +
249
- 'com new Bot({...}) na settings file e chame Neutrun.init({ bot }) no entry.');
295
+ 'com new BotClient({...}) na settings file e chame Neutrun.init({ bot }) no entry.');
250
296
  }
251
297
  return instance;
252
298
  },
299
+ /** Aplicação Express embutida no processo do bot. */
300
+ get api() {
301
+ return ExpressApi_1.Api;
302
+ },
253
303
  init,
254
304
  isInitialized,
255
305
  getPath,
@@ -1 +1 @@
1
- {"version":3,"file":"Neutrun.js","sourceRoot":"","sources":["../../src/Shared/Neutrun.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"Neutrun.js","sourceRoot":"","sources":["../../src/Shared/Neutrun.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,50 @@
1
+ type NinenityHeaders = ConstructorParameters<typeof Headers>[0];
2
+ export interface NinenityClientOptions {
3
+ baseUrl?: string;
4
+ apiKey?: string;
5
+ apiSecret?: string;
6
+ botId?: string;
7
+ installationId?: string;
8
+ timeoutMs?: number;
9
+ maxResponseBytes?: number;
10
+ fetch?: typeof globalThis.fetch;
11
+ }
12
+ export interface NinenityRequestOptions extends Omit<RequestInit, 'body' | 'headers' | 'method'> {
13
+ body?: unknown;
14
+ headers?: NinenityHeaders;
15
+ query?: Record<string, string | number | boolean | null | undefined>;
16
+ }
17
+ export interface NinenityResponse<T> {
18
+ data: T;
19
+ status: number;
20
+ ok: boolean;
21
+ headers: Headers;
22
+ }
23
+ export declare class NinenityError<T = unknown> extends Error {
24
+ readonly status: number;
25
+ readonly data: T;
26
+ readonly url: string;
27
+ readonly response: NinenityResponse<T>;
28
+ constructor(message: string, response: NinenityResponse<T>, url: string);
29
+ }
30
+ export declare class NinenityClient {
31
+ readonly baseUrl: string;
32
+ private readonly apiKey;
33
+ private readonly apiSecret;
34
+ private readonly botId?;
35
+ private readonly installationId?;
36
+ private readonly timeoutMs;
37
+ private readonly maxResponseBytes;
38
+ private readonly fetchImpl;
39
+ constructor(options?: NinenityClientOptions);
40
+ get isConfigured(): boolean;
41
+ get<T>(path: string, options?: NinenityRequestOptions): Promise<NinenityResponse<T>>;
42
+ post<T>(path: string, body?: unknown, options?: Omit<NinenityRequestOptions, 'body'>): Promise<NinenityResponse<T>>;
43
+ put<T>(path: string, body?: unknown, options?: Omit<NinenityRequestOptions, 'body'>): Promise<NinenityResponse<T>>;
44
+ patch<T>(path: string, body?: unknown, options?: Omit<NinenityRequestOptions, 'body'>): Promise<NinenityResponse<T>>;
45
+ delete<T>(path: string, options?: NinenityRequestOptions): Promise<NinenityResponse<T>>;
46
+ request<T = unknown>(method: string, path: string, options?: NinenityRequestOptions): Promise<NinenityResponse<T>>;
47
+ }
48
+ export declare const Ninenity: NinenityClient;
49
+ export {};
50
+ //# sourceMappingURL=NinenityApi.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"NinenityApi.d.ts","sourceRoot":"","sources":["../../src/Shared/NinenityApi.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,206 @@
1
+ "use strict";
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ exports.Ninenity = exports.NinenityClient = exports.NinenityError = void 0;
7
+ const Config_1 = __importDefault(require("./Config"));
8
+ const DEFAULT_TIMEOUT_MS = 10_000;
9
+ const DEFAULT_MAX_RESPONSE_BYTES = 2 * 1024 * 1024;
10
+ class NinenityError extends Error {
11
+ status;
12
+ data;
13
+ url;
14
+ response;
15
+ constructor(message, response, url) {
16
+ super(message);
17
+ this.name = 'NinenityError';
18
+ this.status = response.status;
19
+ this.data = response.data;
20
+ this.response = response;
21
+ this.url = url;
22
+ }
23
+ }
24
+ exports.NinenityError = NinenityError;
25
+ class NinenityClient {
26
+ baseUrl;
27
+ apiKey;
28
+ apiSecret;
29
+ botId;
30
+ installationId;
31
+ timeoutMs;
32
+ maxResponseBytes;
33
+ fetchImpl;
34
+ constructor(options = {}) {
35
+ this.baseUrl = normalizeBaseUrl(options.baseUrl ?? Config_1.default.API_URL);
36
+ this.apiKey = options.apiKey ?? process.env.API_KEY?.trim() ?? '';
37
+ this.apiSecret = options.apiSecret ?? process.env.API_SECRET?.trim() ?? '';
38
+ this.botId = options.botId ?? (process.env.BOT_ID?.trim() || undefined);
39
+ this.installationId = options.installationId ?? (process.env.TEFUTAKI_HUB_INSTALLATION_ID?.trim() || undefined);
40
+ this.timeoutMs = Math.max(1_000, options.timeoutMs ?? DEFAULT_TIMEOUT_MS);
41
+ this.maxResponseBytes = Math.max(1_024, options.maxResponseBytes ?? DEFAULT_MAX_RESPONSE_BYTES);
42
+ const fetchImpl = options.fetch ?? globalThis.fetch;
43
+ if (typeof fetchImpl !== 'function') {
44
+ throw new Error('NinenityClient exige Node.js com fetch global ou a opção fetch.');
45
+ }
46
+ this.fetchImpl = fetchImpl.bind(globalThis);
47
+ }
48
+ get isConfigured() {
49
+ return Boolean(this.apiKey && this.apiSecret);
50
+ }
51
+ get(path, options) {
52
+ return this.request('GET', path, options);
53
+ }
54
+ post(path, body, options) {
55
+ return this.request('POST', path, { ...options, body });
56
+ }
57
+ put(path, body, options) {
58
+ return this.request('PUT', path, { ...options, body });
59
+ }
60
+ patch(path, body, options) {
61
+ return this.request('PATCH', path, { ...options, body });
62
+ }
63
+ delete(path, options) {
64
+ return this.request('DELETE', path, options);
65
+ }
66
+ async request(method, path, options = {}) {
67
+ const url = createUrl(this.baseUrl, path, options.query);
68
+ if (new URL(url).origin !== new URL(this.baseUrl).origin) {
69
+ throw new Error('NinenityClient aceita apenas URLs da origem configurada em baseUrl.');
70
+ }
71
+ const headers = new Headers(options.headers);
72
+ headers.set('Accept', headers.get('Accept') ?? 'application/json');
73
+ if (this.apiKey)
74
+ headers.set('x-api-key', this.apiKey);
75
+ if (this.apiSecret)
76
+ headers.set('x-api-secret', this.apiSecret);
77
+ if (this.botId && !headers.has('x-bot-id'))
78
+ headers.set('x-bot-id', this.botId);
79
+ if (this.installationId && !headers.has('x-installation-id')) {
80
+ headers.set('x-installation-id', this.installationId);
81
+ }
82
+ const body = serializeBody(options.body, headers);
83
+ const { body: _body, headers: _headers, query: _query, signal: callerSignal, ...requestInit } = options;
84
+ const controller = new AbortController();
85
+ const timeout = setTimeout(() => controller.abort(), this.timeoutMs);
86
+ timeout.unref?.();
87
+ const onAbort = () => controller.abort();
88
+ if (callerSignal) {
89
+ if (callerSignal.aborted)
90
+ controller.abort();
91
+ else
92
+ callerSignal.addEventListener('abort', onAbort, { once: true });
93
+ }
94
+ try {
95
+ const response = await this.fetchImpl(url, {
96
+ ...requestInit,
97
+ method,
98
+ headers,
99
+ body,
100
+ signal: controller.signal
101
+ });
102
+ const data = await parseResponse(response, this.maxResponseBytes);
103
+ const result = {
104
+ data,
105
+ status: response.status,
106
+ ok: response.ok,
107
+ headers: response.headers
108
+ };
109
+ if (!response.ok) {
110
+ throw new NinenityError(`Ninenity API request failed with HTTP ${response.status}.`, result, url);
111
+ }
112
+ return result;
113
+ }
114
+ finally {
115
+ clearTimeout(timeout);
116
+ callerSignal?.removeEventListener('abort', onAbort);
117
+ }
118
+ }
119
+ }
120
+ exports.NinenityClient = NinenityClient;
121
+ exports.Ninenity = new NinenityClient();
122
+ function normalizeBaseUrl(value) {
123
+ const normalized = value.trim();
124
+ if (!normalized)
125
+ throw new Error('Ninenity API base URL cannot be empty.');
126
+ const parsed = new URL(normalized);
127
+ if (parsed.protocol !== 'http:' && parsed.protocol !== 'https:') {
128
+ throw new TypeError('Ninenity API base URL must use http:// or https://.');
129
+ }
130
+ parsed.hash = '';
131
+ parsed.search = '';
132
+ parsed.pathname = parsed.pathname.replace(/\/+$/, '') || '/';
133
+ return parsed.toString().replace(/\/$/, '');
134
+ }
135
+ function createUrl(baseUrl, path, query) {
136
+ const url = /^https?:\/\//i.test(path)
137
+ ? new URL(path)
138
+ : new URL(path.replace(/^\/+/, ''), `${baseUrl}/`);
139
+ for (const [key, value] of Object.entries(query ?? {})) {
140
+ if (value !== undefined && value !== null)
141
+ url.searchParams.set(key, String(value));
142
+ }
143
+ return url.toString();
144
+ }
145
+ function serializeBody(body, headers) {
146
+ if (body === undefined)
147
+ return undefined;
148
+ if (typeof body === 'string')
149
+ return body;
150
+ if (body instanceof URLSearchParams || body instanceof FormData || body instanceof Blob)
151
+ return body;
152
+ if (body instanceof ArrayBuffer || ArrayBuffer.isView(body))
153
+ return body;
154
+ if (!headers.has('Content-Type'))
155
+ headers.set('Content-Type', 'application/json');
156
+ return JSON.stringify(body);
157
+ }
158
+ async function parseResponse(response, maxBytes) {
159
+ const text = await readResponseText(response, maxBytes);
160
+ if (!text)
161
+ return undefined;
162
+ const contentType = response.headers.get('content-type') ?? '';
163
+ if (contentType.includes('application/json')) {
164
+ try {
165
+ return JSON.parse(text);
166
+ }
167
+ catch {
168
+ return text;
169
+ }
170
+ }
171
+ try {
172
+ return JSON.parse(text);
173
+ }
174
+ catch {
175
+ return text;
176
+ }
177
+ }
178
+ async function readResponseText(response, maxBytes) {
179
+ const contentLength = Number(response.headers.get('content-length'));
180
+ if (Number.isFinite(contentLength) && contentLength > maxBytes) {
181
+ throw new RangeError(`Ninenity API response exceeded ${maxBytes} bytes.`);
182
+ }
183
+ if (!response.body)
184
+ return '';
185
+ const reader = response.body.getReader();
186
+ const chunks = [];
187
+ let total = 0;
188
+ try {
189
+ while (true) {
190
+ const { done, value } = await reader.read();
191
+ if (done)
192
+ break;
193
+ total += value.byteLength;
194
+ if (total > maxBytes) {
195
+ await reader.cancel();
196
+ throw new RangeError(`Ninenity API response exceeded ${maxBytes} bytes.`);
197
+ }
198
+ chunks.push(value);
199
+ }
200
+ }
201
+ finally {
202
+ reader.releaseLock();
203
+ }
204
+ return Buffer.concat(chunks.map((chunk) => Buffer.from(chunk))).toString('utf8');
205
+ }
206
+ //# sourceMappingURL=NinenityApi.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"NinenityApi.js","sourceRoot":"","sources":["../../src/Shared/NinenityApi.ts"],"names":[],"mappings":"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"}
@@ -1,5 +1,5 @@
1
1
  import { Bot } from './Client';
2
- export interface LibsPlugin {
2
+ export interface NeutrunPlugin {
3
3
  name: string;
4
4
  onPreLogin?: (client: Bot) => Promise<void> | void;
5
5
  onReady?: (client: Bot) => Promise<void> | void;
@@ -1 +1 @@
1
- {"version":3,"file":"Plugin.d.ts","sourceRoot":"","sources":["../../src/Shared/Plugin.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,GAAG,EAAE,MAAM,UAAU,CAAA;AAE9B,MAAM,WAAW,UAAU;IACzB,IAAI,EAAE,MAAM,CAAA;IACZ,UAAU,CAAC,EAAE,CAAC,MAAM,EAAE,GAAG,KAAK,OAAO,CAAC,IAAI,CAAC,GAAG,IAAI,CAAA;IAClD,OAAO,CAAC,EAAE,CAAC,MAAM,EAAE,GAAG,KAAK,OAAO,CAAC,IAAI,CAAC,GAAG,IAAI,CAAA;IAC/C,SAAS,CAAC,EAAE,CAAC,MAAM,EAAE,GAAG,KAAK,OAAO,CAAC,IAAI,CAAC,GAAG,IAAI,CAAA;CAClD"}
1
+ {"version":3,"file":"Plugin.d.ts","sourceRoot":"","sources":["../../src/Shared/Plugin.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,GAAG,EAAE,MAAM,UAAU,CAAA;AAE9B,MAAM,WAAW,aAAa;IAC5B,IAAI,EAAE,MAAM,CAAA;IACZ,UAAU,CAAC,EAAE,CAAC,MAAM,EAAE,GAAG,KAAK,OAAO,CAAC,IAAI,CAAC,GAAG,IAAI,CAAA;IAClD,OAAO,CAAC,EAAE,CAAC,MAAM,EAAE,GAAG,KAAK,OAAO,CAAC,IAAI,CAAC,GAAG,IAAI,CAAA;IAC/C,SAAS,CAAC,EAAE,CAAC,MAAM,EAAE,GAAG,KAAK,OAAO,CAAC,IAAI,CAAC,GAAG,IAAI,CAAA;CAClD"}
@@ -1 +1 @@
1
- {"version":3,"file":"Pool.d.ts","sourceRoot":"","sources":["../../src/Shared/Pool.ts"],"names":[],"mappings":"AAAA,QAAA,MAAM,UAAU,GAAI,aAAa,MAAM,MAU7B,CAAC,EAAE,IAAI,MAAM,OAAO,CAAC,CAAC,CAAC,KAAG,OAAO,CAAC,CAAC,CAc5C,CAAA;AAED,eAAe,UAAU,CAAA"}
1
+ {"version":3,"file":"Pool.d.ts","sourceRoot":"","sources":["../../src/Shared/Pool.ts"],"names":[],"mappings":"AAAA,QAAA,MAAM,UAAU,GAAI,aAAa,MAAM,MAa7B,CAAC,EAAE,IAAI,MAAM,OAAO,CAAC,CAAC,CAAC,KAAG,OAAO,CAAC,CAAC,CAc5C,CAAA;AAED,eAAe,UAAU,CAAA"}
@@ -1,6 +1,9 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  const CreatePool = (concurrency) => {
4
+ if (!Number.isInteger(concurrency) || concurrency <= 0) {
5
+ throw new RangeError('A concorrência do pool precisa ser um inteiro positivo.');
6
+ }
4
7
  let Active = 0;
5
8
  const Queue = [];
6
9
  const Next = () => {
@@ -1 +1 @@
1
- {"version":3,"file":"Pool.js","sourceRoot":"","sources":["../../src/Shared/Pool.ts"],"names":[],"mappings":";;AAAA,MAAM,UAAU,GAAG,CAAC,WAAmB,EAAE,EAAE;IACzC,IAAI,MAAM,GAAG,CAAC,CAAA;IACd,MAAM,KAAK,GAAsB,EAAE,CAAA;IAEnC,MAAM,IAAI,GAAG,GAAG,EAAE;QAChB,IAAI,MAAM,IAAI,WAAW,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC;YAAE,OAAM;QACvD,MAAM,EAAE,CAAA;QACR,KAAK,CAAC,KAAK,EAAG,EAAE,CAAA;IAClB,CAAC,CAAA;IAED,OAAO,CAAI,EAAoB,EAAc,EAAE,CAC7C,IAAI,OAAO,CAAI,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;QACjC,KAAK,CAAC,IAAI,CAAC,KAAK,IAAI,EAAE;YACpB,IAAI,CAAC;gBACH,OAAO,CAAC,MAAM,EAAE,EAAE,CAAC,CAAA;YACrB,CAAC;YAAC,OAAO,GAAG,EAAE,CAAC;gBACb,MAAM,CAAC,GAAG,CAAC,CAAA;YACb,CAAC;oBAAS,CAAC;gBACT,MAAM,EAAE,CAAA;gBACR,IAAI,EAAE,CAAA;YACR,CAAC;QACH,CAAC,CAAC,CAAA;QACF,IAAI,EAAE,CAAA;IACR,CAAC,CAAC,CAAA;AACN,CAAC,CAAA;AAED,kBAAe,UAAU,CAAA"}
1
+ {"version":3,"file":"Pool.js","sourceRoot":"","sources":["../../src/Shared/Pool.ts"],"names":[],"mappings":";;AAAA,MAAM,UAAU,GAAG,CAAC,WAAmB,EAAE,EAAE;IACzC,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,WAAW,CAAC,IAAI,WAAW,IAAI,CAAC,EAAE,CAAC;QACvD,MAAM,IAAI,UAAU,CAAC,yDAAyD,CAAC,CAAA;IACjF,CAAC;IACD,IAAI,MAAM,GAAG,CAAC,CAAA;IACd,MAAM,KAAK,GAAsB,EAAE,CAAA;IAEnC,MAAM,IAAI,GAAG,GAAG,EAAE;QAChB,IAAI,MAAM,IAAI,WAAW,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC;YAAE,OAAM;QACvD,MAAM,EAAE,CAAA;QACR,KAAK,CAAC,KAAK,EAAG,EAAE,CAAA;IAClB,CAAC,CAAA;IAED,OAAO,CAAI,EAAoB,EAAc,EAAE,CAC7C,IAAI,OAAO,CAAI,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;QACjC,KAAK,CAAC,IAAI,CAAC,KAAK,IAAI,EAAE;YACpB,IAAI,CAAC;gBACH,OAAO,CAAC,MAAM,EAAE,EAAE,CAAC,CAAA;YACrB,CAAC;YAAC,OAAO,GAAG,EAAE,CAAC;gBACb,MAAM,CAAC,GAAG,CAAC,CAAA;YACb,CAAC;oBAAS,CAAC;gBACT,MAAM,EAAE,CAAA;gBACR,IAAI,EAAE,CAAA;YACR,CAAC;QACH,CAAC,CAAC,CAAA;QACF,IAAI,EAAE,CAAA;IACR,CAAC,CAAC,CAAA;AACN,CAAC,CAAA;AAED,kBAAe,UAAU,CAAA"}
@@ -3,8 +3,9 @@ declare class ProcessManagerImpl {
3
3
  private isShuttingDown;
4
4
  private cleanupTasks;
5
5
  private initialized;
6
- registerCleanupTask(task: CleanupTask): void;
6
+ registerCleanupTask(task: CleanupTask, name?: string): () => void;
7
7
  init(): void;
8
+ private shutdown;
8
9
  }
9
10
  declare const ProcessManager: ProcessManagerImpl;
10
11
  export default ProcessManager;
@@ -1 +1 @@
1
- {"version":3,"file":"ProcessManager.d.ts","sourceRoot":"","sources":["../../src/Shared/ProcessManager.ts"],"names":[],"mappings":"AAGA,KAAK,WAAW,GAAG,MAAM,OAAO,CAAC,IAAI,CAAC,GAAG,IAAI,CAAA;AAE7C,cAAM,kBAAkB;IACtB,OAAO,CAAC,cAAc,CAAQ;IAC9B,OAAO,CAAC,YAAY,CAAoB;IACxC,OAAO,CAAC,WAAW,CAAQ;IAEpB,mBAAmB,CAAC,IAAI,EAAE,WAAW;IAIrC,IAAI;CA4DZ;AAED,QAAA,MAAM,cAAc,oBAA2B,CAAA;AAC/C,eAAe,cAAc,CAAA"}
1
+ {"version":3,"file":"ProcessManager.d.ts","sourceRoot":"","sources":["../../src/Shared/ProcessManager.ts"],"names":[],"mappings":"AAGA,KAAK,WAAW,GAAG,MAAM,OAAO,CAAC,IAAI,CAAC,GAAG,IAAI,CAAA;AAU7C,cAAM,kBAAkB;IACtB,OAAO,CAAC,cAAc,CAAQ;IAC9B,OAAO,CAAC,YAAY,CAA0B;IAC9C,OAAO,CAAC,WAAW,CAAQ;IAEpB,mBAAmB,CAAC,IAAI,EAAE,WAAW,EAAE,IAAI,SAAY,GAAG,MAAM,IAAI;IAUpE,IAAI,IAAI,IAAI;YA0BL,QAAQ;CAoDvB;AAoBD,QAAA,MAAM,cAAc,oBAA2B,CAAA;AAC/C,eAAe,cAAc,CAAA"}