@akaanakbaik/pterodactyl-gateway 1.0.1 → 1.0.2

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.
package/README.md CHANGED
@@ -1,50 +1,75 @@
1
1
  # Akadev Pterodactyl Gateway
2
2
 
3
3
  <p align="center">
4
- <b>SDK TypeScript + CLI modern untuk mengelola Pterodactyl Panel dari bot, dashboard, backend, dan terminal.</b>
4
+ <b>SDK TypeScript + CLI modern untuk mengelola Pterodactyl Panel dari bot, dashboard, backend, website, dan terminal.</b>
5
5
  </p>
6
6
 
7
7
  <p align="center">
8
- <code>@akaanakbaik/pterodactyl-gateway</code> · <code>v1.0.0</code> · <code>Node.js &gt;=18</code> · <code>MIT</code>
8
+ <code>@akaanakbaik/pterodactyl-gateway</code> · <code>v1.0.2</code> · <code>Node.js &gt;=18</code> · <code>MIT</code>
9
9
  </p>
10
10
 
11
- Akadev Pterodactyl Gateway membantu kamu menghubungkan aplikasi Node.js ke Pterodactyl Panel dengan flow yang lebih aman dan cepat: cek koneksi, membuat user, membuat server, dry-run payload, mengelola file, startup variables, backup, schedule, power action, sampai CLI admin yang mudah dipakai.
11
+ <p align="center">
12
+ <a href="https://web-docs-pterodacty-gateway.vercel.app"><b>Web Docs</b></a>
13
+ ·
14
+ <a href="https://www.npmjs.com/package/@akaanakbaik/pterodactyl-gateway"><b>npm</b></a>
15
+ ·
16
+ <a href="https://github.com/akaanakbaik/pterodactyl-gateway"><b>GitHub</b></a>
17
+ </p>
18
+
19
+ Akadev Pterodactyl Gateway membantu kamu menghubungkan aplikasi Node.js ke Pterodactyl Panel dengan flow yang lebih aman, cepat, dan mudah diuji: cek koneksi, membuat user, membuat server, dry-run payload, mengelola file, startup variables, backups, schedules, power action, sampai helper integrasi bot/website.
12
20
 
13
21
  > Package ini bukan package resmi dari Pterodactyl dan tidak berafiliasi dengan Pterodactyl Software.
14
22
 
23
+ ## Web Docs
24
+
25
+ Dokumentasi lengkap versi web tersedia di:
26
+
27
+ ```txt
28
+ https://web-docs-pterodacty-gateway.vercel.app
29
+ ```
30
+
31
+ Web docs berisi tutorial per halaman/path agar mudah dipahami pemula:
32
+
33
+ ```txt
34
+ /docs/overview
35
+ /docs/install
36
+ /docs/config
37
+ /docs/cli-create-server
38
+ /docs/sdk
39
+ /docs/integrations/telegram-bot
40
+ /docs/integrations/whatsapp-bot
41
+ /docs/integrations/discord-bot
42
+ /docs/integrations/website-api
43
+ /docs/security
44
+ /docs/troubleshooting
45
+ /privacy
46
+ /terms
47
+ ```
48
+
49
+ Fitur web docs:
50
+
51
+ - Search lokal cepat.
52
+ - Floating AI assistant untuk pertanyaan seputar gateway.
53
+ - Tutorial step-by-step.
54
+ - Simulasi animasi penggunaan.
55
+ - Contoh integrasi Telegram bot, WhatsApp bot, Discord bot, website/API, SDK, CLI, dan troubleshooting.
56
+ - Privacy Policy dan Terms.
57
+ - SEO lengkap: sitemap, robots, canonical, OpenGraph, Twitter card, JSON-LD, manifest, dan SVG icon.
58
+
15
59
  ## Navigasi
16
60
 
17
- - [Fitur utama](#fitur-utama)
18
61
  - [Install](#install)
19
- - [Quick start](#quick-start)
20
- - [Konfigurasi API key](#konfigurasi-api-key)
21
- - [Config profile lokal](#config-profile-lokal)
62
+ - [Quick start CLI](#quick-start-cli)
63
+ - [SDK usage](#sdk-usage)
64
+ - [Environment](#environment)
22
65
  - [CLI reference](#cli-reference)
23
66
  - [Preset dan template](#preset-dan-template)
24
- - [Wizard interaktif](#wizard-interaktif)
25
- - [SDK usage](#sdk-usage)
26
67
  - [Integration helpers](#integration-helpers)
27
- - [Contoh integrasi bot WhatsApp](#contoh-integrasi-bot-whatsapp)
28
- - [Contoh integrasi bot Telegram](#contoh-integrasi-bot-telegram)
29
- - [Contoh integrasi bot Discord](#contoh-integrasi-bot-discord)
30
- - [Contoh integrasi website atau API](#contoh-integrasi-website-atau-api)
31
- - [Tips produksi](#tips-produksi)
68
+ - [Contoh integrasi](#contoh-integrasi)
32
69
  - [Keamanan](#keamanan)
33
70
  - [Troubleshooting](#troubleshooting)
34
71
  - [Release dan testing](#release-dan-testing)
35
72
 
36
- ## Fitur utama
37
-
38
- - SDK TypeScript untuk Application API dan Client API Pterodactyl.
39
- - CLI global: `ptero-gateway`, alias singkat `ptg`, dan wizard `ptero-wizard`.
40
- - Config profile lokal agar tidak perlu export env berulang-ulang.
41
- - Smart user creation dengan password otomatis.
42
- - Smart server creation dengan dry-run, preset, auto docker image, auto startup, environment, dan allocation.
43
- - Helper integrasi untuk WhatsApp bot, Telegram bot, Discord bot, Node.js API, website, Python bot, dan blank server.
44
- - File manager, JSON helper, startup variables, network/ports, databases, backups, schedules, probe, resources, dan power action.
45
- - Guard keamanan untuk aksi tulis via CLI dan command berbahaya.
46
- - Release guard, self-check, release-check, dan pack dry-run untuk menjaga package tetap stabil.
47
-
48
73
  ## Install
49
74
 
50
75
  Install sebagai dependency project:
@@ -67,7 +92,7 @@ ptero-gateway self-check
67
92
  ptero-gateway release-check
68
93
  ```
69
94
 
70
- ## Quick start
95
+ ## Quick start CLI
71
96
 
72
97
  ```bash
73
98
  ptero-gateway config init \
@@ -77,12 +102,43 @@ ptero-gateway config init \
77
102
  --ptlc ptlc_xxx
78
103
 
79
104
  ptero-gateway doctor
80
- ptero-gateway servers
105
+ ptero-gateway ids --nest 5
81
106
  ptero-gateway admin users
82
107
  ptero-gateway admin servers
108
+ ptero-gateway servers
83
109
  ```
84
110
 
85
- SDK minimal:
111
+ Create server dengan dry-run:
112
+
113
+ ```bash
114
+ ptero-gateway admin create-server \
115
+ --name "aka test" \
116
+ --email user@example.com \
117
+ --username aka_test \
118
+ --password "password aman" \
119
+ --node 1 \
120
+ --nest 5 \
121
+ --egg 18 \
122
+ --preset basic \
123
+ --dry-run
124
+ ```
125
+
126
+ Create server asli:
127
+
128
+ ```bash
129
+ ptero-gateway admin create-server \
130
+ --name "aka test" \
131
+ --email user@example.com \
132
+ --username aka_test \
133
+ --password "password aman" \
134
+ --node 1 \
135
+ --nest 5 \
136
+ --egg 18 \
137
+ --preset basic \
138
+ --yes
139
+ ```
140
+
141
+ ## SDK usage
86
142
 
87
143
  ```ts
88
144
  import { createPtero } from "@akaanakbaik/pterodactyl-gateway";
@@ -92,7 +148,43 @@ const doctor = await ptero.doctor();
92
148
  console.log(doctor);
93
149
  ```
94
150
 
95
- ## Konfigurasi API key
151
+ Create server dari SDK:
152
+
153
+ ```ts
154
+ const server = await ptero.servers.createSmart({
155
+ name: "Bot User",
156
+ email: "user@example.com",
157
+ username: "user_bot",
158
+ password: "auto",
159
+ autoCreateUser: true,
160
+ description: "Server bot user",
161
+ nodeId: 1,
162
+ nestId: 5,
163
+ eggId: 18,
164
+ specs: {
165
+ memory: "1GB",
166
+ disk: "2GB",
167
+ cpu: "100%",
168
+ databases: 0,
169
+ allocations: 1,
170
+ backups: 0
171
+ }
172
+ });
173
+ ```
174
+
175
+ Client server handle:
176
+
177
+ ```ts
178
+ const serverHandle = ptero.server("311d56b7");
179
+
180
+ await serverHandle.resources();
181
+ await serverHandle.files.list("/");
182
+ await serverHandle.files.write("/tmp/hello.txt", "halo");
183
+ await serverHandle.startup.set("CMD_RUN", "node index.js");
184
+ await serverHandle.start();
185
+ ```
186
+
187
+ ## Environment
96
188
 
97
189
  Gunakan environment variable untuk deployment:
98
190
 
@@ -110,47 +202,10 @@ PTERO_PTLC=ptlc_xxxxxxxxxxxxxxxxx
110
202
 
111
203
  Tips:
112
204
 
113
- - Pakai PTLA hanya di backend/admin service.
114
- - Pakai PTLC untuk aksi client server yang memang diperlukan.
115
- - Jangan pernah hardcode key ke source code, repo, atau pesan bot.
116
- - Pisahkan key production dan development.
117
-
118
- ## Config profile lokal
119
-
120
- Config profile memudahkan penggunaan CLI di VPS pribadi.
121
-
122
- ```bash
123
- ptero-gateway config init \
124
- --profile main \
125
- --domain https://panel.example.com \
126
- --ptla ptla_xxx \
127
- --ptlc ptlc_xxx
128
- ```
129
-
130
- File config disimpan di:
131
-
132
- ```txt
133
- ~/.pterodactyl-gateway/config.json
134
- ```
135
-
136
- Command config:
137
-
138
- ```bash
139
- ptero-gateway config path
140
- ptero-gateway config list
141
- ptero-gateway config show main
142
- ptero-gateway config use main
143
- ptero-gateway config rename main production
144
- ptero-gateway config delete production --yes
145
- ptero-gateway config env main
146
- ptero-gateway config doctor
147
- ```
148
-
149
- Catatan:
150
-
151
- - File config mengandung API key, jangan upload atau screenshot penuh.
152
- - Permission file otomatis dibuat `600` jika filesystem mendukung.
153
- - CLI akan memakai active profile jika env belum tersedia.
205
+ - PTLA hanya untuk backend/admin service.
206
+ - PTLC hanya untuk fitur client server yang diperlukan.
207
+ - Jangan hardcode key ke source code, repo, frontend, pesan bot, atau log publik.
208
+ - Pisahkan key development dan production.
154
209
 
155
210
  ## CLI reference
156
211
 
@@ -167,62 +222,11 @@ ptero-gateway ids
167
222
  ptero-gateway ids --nest 5
168
223
  ```
169
224
 
170
- Admin list:
225
+ Admin:
171
226
 
172
227
  ```bash
173
228
  ptero-gateway admin users
174
229
  ptero-gateway admin servers
175
- ```
176
-
177
- Client list:
178
-
179
- ```bash
180
- ptero-gateway servers
181
- ```
182
-
183
- Create user:
184
-
185
- ```bash
186
- ptero-gateway admin create-user \
187
- --username aka_test \
188
- --email user@example.com \
189
- --password "password aman" \
190
- --yes
191
- ```
192
-
193
- Create server dengan dry-run:
194
-
195
- ```bash
196
- ptero-gateway admin create-server \
197
- --name "aka test" \
198
- --email "user@example.com" \
199
- --username "aka_test" \
200
- --password "password aman" \
201
- --node 1 \
202
- --nest 5 \
203
- --egg 18 \
204
- --preset basic \
205
- --dry-run
206
- ```
207
-
208
- Create server asli:
209
-
210
- ```bash
211
- ptero-gateway admin create-server \
212
- --name "aka test" \
213
- --email "user@example.com" \
214
- --username "aka_test" \
215
- --password "password aman" \
216
- --node 1 \
217
- --nest 5 \
218
- --egg 18 \
219
- --preset basic \
220
- --yes
221
- ```
222
-
223
- Admin server:
224
-
225
- ```bash
226
230
  ptero-gateway admin server 5 detail
227
231
  ptero-gateway admin server 5 limits
228
232
  ptero-gateway admin server 5 update-limits --backups 1 --yes
@@ -246,14 +250,7 @@ ptero-gateway server 311d56b7 backups
246
250
  ptero-gateway server 311d56b7 schedules
247
251
  ```
248
252
 
249
- Write file:
250
-
251
- ```bash
252
- ptero-gateway server 311d56b7 write /tmp/test.txt "halo" --yes
253
- ptero-gateway server 311d56b7 write /index.js "console.log('halo')" --yes --allow-any-path
254
- ```
255
-
256
- Power action:
253
+ Power dan command:
257
254
 
258
255
  ```bash
259
256
  ptero-gateway server 311d56b7 start --yes
@@ -265,151 +262,37 @@ ptero-gateway server 311d56b7 command "npm start" --yes
265
262
 
266
263
  ## Preset dan template
267
264
 
268
- Lihat preset resource:
269
-
270
265
  ```bash
271
266
  ptero-gateway presets
272
- ```
273
-
274
- | Preset | Memory | Disk | CPU | Database | Allocation | Backup | Cocok untuk |
275
- |---|---:|---:|---:|---:|---:|---:|---|
276
- | `mini` | 512MB | 1GB | 50% | 0 | 1 | 0 | Testing dan bot kecil. |
277
- | `basic` | 1GB | 2GB | 100% | 0 | 1 | 0 | Bot Telegram/Discord sederhana. |
278
- | `standard` | 2GB | 5GB | 200% | 1 | 1 | 1 | Bot WhatsApp, API, website kecil. |
279
- | `premium` | 4GB | 10GB | 300% | 2 | 2 | 2 | Project lebih aktif. |
280
- | `unlimited` | 0 | 0 | 0 | 5 | 3 | 3 | Resource unlimited sesuai aturan panel. |
281
-
282
- Lihat template:
283
-
284
- ```bash
285
267
  ptero-gateway templates list
286
268
  ptero-gateway templates show nodejs-bot
287
269
  ptero-gateway templates command nodejs-bot --name "bot saya" --email user@example.com --node 1 --nest 5 --egg 18
288
270
  ```
289
271
 
290
- Template bawaan:
291
-
292
- - `nodejs-bot`
293
- - `nodejs-api`
294
- - `wa-bot`
295
- - `python-bot`
296
- - `blank`
297
-
298
- ## Wizard interaktif
299
-
300
- ```bash
301
- ptero-wizard help
302
- ptero-wizard create-user --dry-run
303
- ptero-wizard create-server --dry-run
304
- ptero-wizard create-server --yes
305
- ```
306
-
307
- Wizard tidak mengelola node, location, atau allocation. Node ID, Nest ID, dan Egg ID tetap harus dipilih oleh admin.
308
-
309
- ## SDK usage
272
+ Preset bawaan:
310
273
 
311
- ```ts
312
- import { createPtero } from "@akaanakbaik/pterodactyl-gateway";
313
-
314
- const ptero = createPtero({
315
- domain: process.env.PTERO_DOMAIN,
316
- ptla: process.env.PTERO_PTLA,
317
- ptlc: process.env.PTERO_PTLC
318
- });
319
-
320
- await ptero.connect();
321
- ```
322
-
323
- Create user:
324
-
325
- ```ts
326
- const user = await ptero.users.createSmart({
327
- username: "aka_test",
328
- email: "user@example.com",
329
- password: "auto",
330
- administrator: "no"
331
- });
332
- ```
333
-
334
- Create server:
335
-
336
- ```ts
337
- const server = await ptero.servers.createSmart({
338
- name: "Bot Aka",
339
- email: "user@example.com",
340
- username: "aka_test",
341
- password: "auto",
342
- autoCreateUser: true,
343
- description: "Server bot untuk user",
344
- nodeId: 1,
345
- nestId: 5,
346
- eggId: 18,
347
- specs: {
348
- memory: "1GB",
349
- disk: "2GB",
350
- cpu: "100%",
351
- databases: 0,
352
- allocations: 1,
353
- backups: 0
354
- }
355
- });
356
- ```
357
-
358
- Preview dan dry-run:
359
-
360
- ```ts
361
- const preview = await ptero.servers.previewCreate(input);
362
- const dryRun = await ptero.servers.createSmart(input, { dryRun: true });
363
- console.log(preview.payload, dryRun.payload);
364
- ```
365
-
366
- Client server:
367
-
368
- ```ts
369
- const server = ptero.server("311d56b7");
370
-
371
- await server.resources();
372
- await server.files.list("/");
373
- await server.files.read("/package.json");
374
- await server.files.write("/tmp/test.txt", "halo");
375
- await server.startup.variables();
376
- await server.startup.set("CMD_RUN", "node index.js");
377
- await server.backups.list();
378
- await server.start();
379
- ```
274
+ | Preset | Cocok untuk |
275
+ |---|---|
276
+ | `mini` | Testing dan bot kecil. |
277
+ | `basic` | Bot Telegram/Discord sederhana. |
278
+ | `standard` | Bot WhatsApp, API, website kecil. |
279
+ | `premium` | Project lebih aktif. |
280
+ | `unlimited` | Resource unlimited sesuai aturan panel. |
380
281
 
381
- Raw request:
282
+ Template bawaan:
382
283
 
383
- ```ts
384
- await ptero.raw.application.get("/users");
385
- await ptero.raw.client.get("/servers/311d56b7/resources");
284
+ ```txt
285
+ nodejs-bot
286
+ nodejs-api
287
+ wa-bot
288
+ python-bot
289
+ blank
386
290
  ```
387
291
 
388
292
  ## Integration helpers
389
293
 
390
294
  Helper integrasi membuat input server lebih konsisten untuk bot dan website.
391
295
 
392
- ```ts
393
- import { createIntegrationServerInput } from "@akaanakbaik/pterodactyl-gateway";
394
-
395
- const input = createIntegrationServerInput({
396
- kind: "whatsapp-bot",
397
- name: "WA Bot Aka",
398
- email: "user@example.com",
399
- username: "aka_wa",
400
- password: "auto",
401
- autoCreateUser: true,
402
- nodeId: 1,
403
- nestId: 5,
404
- eggId: 18,
405
- environment: {
406
- OWNER: "aka"
407
- }
408
- });
409
- ```
410
-
411
- Service helper:
412
-
413
296
  ```ts
414
297
  import { createIntegrationService } from "@akaanakbaik/pterodactyl-gateway";
415
298
 
@@ -440,212 +323,63 @@ Kind yang tersedia:
440
323
  "whatsapp-bot" | "telegram-bot" | "discord-bot" | "nodejs-api" | "website" | "python-bot" | "blank"
441
324
  ```
442
325
 
443
- ## Contoh integrasi bot WhatsApp
326
+ ## Contoh integrasi
444
327
 
445
- Contoh flow untuk bot store panel WhatsApp:
328
+ Telegram bot:
446
329
 
447
330
  ```ts
448
- import { createIntegrationService, explainError } from "@akaanakbaik/pterodactyl-gateway";
449
-
450
- const pterodactyl = createIntegrationService({
451
- domain: process.env.PTERO_DOMAIN,
452
- ptla: process.env.PTERO_PTLA,
453
- ptlc: process.env.PTERO_PTLC
454
- }, {
455
- nodeId: Number(process.env.PTERO_NODE_ID),
456
- nestId: Number(process.env.PTERO_NEST_ID),
457
- eggId: Number(process.env.PTERO_EGG_ID),
458
- preset: "standard",
459
- autoCreateUser: true
331
+ const result = await service.create({
332
+ kind: "telegram-bot",
333
+ name: `tg-${ctx.from.id}`,
334
+ email: `${ctx.from.id}@telegram.local`,
335
+ username: `tg_${ctx.from.id}`,
336
+ password: "auto"
460
337
  });
461
-
462
- export async function createWaBotPanel(order) {
463
- try {
464
- const result = await pterodactyl.create({
465
- kind: "whatsapp-bot",
466
- name: `wa-${order.username}`,
467
- email: order.email,
468
- username: order.username,
469
- password: "auto",
470
- environment: {
471
- OWNER_NUMBER: order.ownerNumber,
472
- BOT_NAME: order.botName
473
- }
474
- });
475
- return { ok: true, result };
476
- } catch (error) {
477
- return { ok: false, message: explainError(error) };
478
- }
479
- }
480
338
  ```
481
339
 
482
- Saran untuk bot WhatsApp:
483
-
484
- - Simpan session WhatsApp di volume server, bukan di memory.
485
- - Jangan kirim password panel ke grup publik.
486
- - Gunakan queue agar create server tidak bentrok saat order ramai.
487
- - Selalu dry-run payload untuk paket baru sebelum digunakan production.
488
-
489
- ## Contoh integrasi bot Telegram
490
-
491
- Contoh handler command Telegram:
340
+ WhatsApp bot:
492
341
 
493
342
  ```ts
494
- import { Bot } from "grammy";
495
- import { createIntegrationService, explainError } from "@akaanakbaik/pterodactyl-gateway";
496
-
497
- const bot = new Bot(process.env.TELEGRAM_BOT_TOKEN);
498
-
499
- const pterodactyl = createIntegrationService({
500
- domain: process.env.PTERO_DOMAIN,
501
- ptla: process.env.PTERO_PTLA,
502
- ptlc: process.env.PTERO_PTLC
503
- }, {
504
- nodeId: Number(process.env.PTERO_NODE_ID),
505
- nestId: Number(process.env.PTERO_NEST_ID),
506
- eggId: Number(process.env.PTERO_EGG_ID),
507
- preset: "basic",
508
- autoCreateUser: true
509
- });
510
-
511
- bot.command("createpanel", async ctx => {
512
- try {
513
- const email = `${ctx.from.id}@telegram.local`;
514
- const result = await pterodactyl.create({
515
- kind: "telegram-bot",
516
- name: `tg-${ctx.from.id}`,
517
- email,
518
- username: `tg_${ctx.from.id}`,
519
- password: "auto"
520
- });
521
- await ctx.reply(`Panel berhasil dibuat: ${result.identifier ?? result.id}`);
522
- } catch (error) {
523
- await ctx.reply(explainError(error));
343
+ const result = await service.create({
344
+ kind: "whatsapp-bot",
345
+ name: `wa-${order.username}`,
346
+ email: order.email,
347
+ username: order.username,
348
+ password: "auto",
349
+ environment: {
350
+ OWNER_NUMBER: order.phone,
351
+ BOT_NAME: order.botName
524
352
  }
525
353
  });
526
-
527
- bot.start();
528
- ```
529
-
530
- Saran untuk bot Telegram:
531
-
532
- - Batasi command create panel hanya untuk admin atau user yang sudah bayar.
533
- - Simpan riwayat transaksi di database sendiri.
534
- - Gunakan `dryRun` saat testing paket baru.
535
- - Pakai `ctx.from.id` sebagai referensi unik, bukan username Telegram yang bisa berubah.
536
-
537
- ## Contoh integrasi bot Discord
538
-
539
- ```ts
540
- import { Client, GatewayIntentBits } from "discord.js";
541
- import { createIntegrationService, explainError } from "@akaanakbaik/pterodactyl-gateway";
542
-
543
- const client = new Client({ intents: [GatewayIntentBits.Guilds] });
544
-
545
- const pterodactyl = createIntegrationService({
546
- domain: process.env.PTERO_DOMAIN,
547
- ptla: process.env.PTERO_PTLA,
548
- ptlc: process.env.PTERO_PTLC
549
- }, {
550
- nodeId: Number(process.env.PTERO_NODE_ID),
551
- nestId: Number(process.env.PTERO_NEST_ID),
552
- eggId: Number(process.env.PTERO_EGG_ID),
553
- preset: "basic",
554
- autoCreateUser: true
555
- });
556
-
557
- async function createDiscordPanel(interaction) {
558
- try {
559
- const result = await pterodactyl.create({
560
- kind: "discord-bot",
561
- name: `dc-${interaction.user.id}`,
562
- email: `${interaction.user.id}@discord.local`,
563
- username: `dc_${interaction.user.id}`,
564
- password: "auto"
565
- });
566
- await interaction.reply({ content: `Server dibuat: ${result.identifier ?? result.id}`, ephemeral: true });
567
- } catch (error) {
568
- await interaction.reply({ content: explainError(error), ephemeral: true });
569
- }
570
- }
571
-
572
- client.login(process.env.DISCORD_TOKEN);
573
354
  ```
574
355
 
575
- Saran untuk bot Discord:
576
-
577
- - Gunakan ephemeral reply untuk data sensitif.
578
- - Jangan menampilkan password/API key di channel publik.
579
- - Batasi role yang boleh create server.
580
-
581
- ## Contoh integrasi website atau API
582
-
583
- Contoh Express API:
356
+ Website/API:
584
357
 
585
358
  ```ts
586
- import express from "express";
587
- import { createIntegrationService, explainError } from "@akaanakbaik/pterodactyl-gateway";
588
-
589
- const app = express();
590
- app.use(express.json());
591
-
592
- const pterodactyl = createIntegrationService({
593
- domain: process.env.PTERO_DOMAIN,
594
- ptla: process.env.PTERO_PTLA,
595
- ptlc: process.env.PTERO_PTLC
596
- }, {
597
- nodeId: Number(process.env.PTERO_NODE_ID),
598
- nestId: Number(process.env.PTERO_NEST_ID),
599
- eggId: Number(process.env.PTERO_EGG_ID),
600
- preset: "standard",
601
- autoCreateUser: true
602
- });
359
+ app.post("/api/panel/create", async (req, res) => {
360
+ const paid = await checkPayment(req.body.orderId);
361
+ if (!paid) return res.status(403).json({ ok: false, error: "Belum dibayar" });
603
362
 
604
- app.post("/api/panel/preview", async (req, res) => {
605
- const preview = await pterodactyl.dryRun({
363
+ const result = await service.create({
606
364
  kind: "website",
607
365
  name: req.body.name,
608
366
  email: req.body.email,
609
367
  username: req.body.username,
610
368
  password: "auto"
611
369
  });
612
- res.json(preview);
613
- });
614
370
 
615
- app.post("/api/panel/create", async (req, res) => {
616
- try {
617
- const result = await pterodactyl.create({
618
- kind: "website",
619
- name: req.body.name,
620
- email: req.body.email,
621
- username: req.body.username,
622
- password: "auto"
623
- });
624
- res.json({ ok: true, result });
625
- } catch (error) {
626
- res.status(400).json({ ok: false, error: explainError(error) });
627
- }
371
+ res.json({ ok: true, result });
628
372
  });
629
-
630
- app.listen(3000);
631
373
  ```
632
374
 
633
- Saran untuk website:
634
-
635
- - Endpoint create panel wajib dilindungi auth admin atau status pembayaran.
636
- - Jangan menjalankan create server langsung dari frontend.
637
- - Simpan audit log order, Telegram ID/Discord ID/user ID, email, server ID, dan identifier.
638
- - Gunakan rate limit per user/IP.
375
+ Dokumentasi contoh lengkap ada di web docs:
639
376
 
640
- ## Tips produksi
641
-
642
- - Jalankan `ptero-gateway doctor` setelah deploy.
643
- - Jalankan `ptero-gateway ids --nest <id>` untuk memastikan egg yang dipakai benar.
644
- - Gunakan `dryRun` untuk semua paket baru.
645
- - Pisahkan preset produk: mini/basic/standard/premium.
646
- - Buat queue job untuk create server agar transaksi tidak race condition.
647
- - Simpan hasil `identifier`, `uuid`, `id`, dan password yang generated hanya sekali.
648
- - Untuk server bot, start manual setelah file source siap agar status tidak gagal.
377
+ ```txt
378
+ https://web-docs-pterodacty-gateway.vercel.app/docs/integrations/telegram-bot
379
+ https://web-docs-pterodacty-gateway.vercel.app/docs/integrations/whatsapp-bot
380
+ https://web-docs-pterodacty-gateway.vercel.app/docs/integrations/discord-bot
381
+ https://web-docs-pterodacty-gateway.vercel.app/docs/integrations/website-api
382
+ ```
649
383
 
650
384
  ## Keamanan
651
385
 
@@ -654,14 +388,13 @@ Saran untuk website:
654
388
  - Jangan log password generated ke public log.
655
389
  - Semua aksi tulis/ubah via CLI wajib `--yes`.
656
390
  - Write file CLI default hanya boleh ke `/tmp`; path lain wajib `--allow-any-path`.
657
- - Command berbahaya seperti `rm -rf /` diblokir oleh guard command.
391
+ - Command berbahaya diblokir oleh guard command.
658
392
  - Delete user/server permanen tidak dibuka di CLI stabil.
659
393
  - Command node/location/allocation management tidak dibuka di CLI stabil.
394
+ - Frontend tidak boleh memegang API key panel. Gunakan backend untuk semua aksi create server.
660
395
 
661
396
  ## Troubleshooting
662
397
 
663
- Lihat daftar error:
664
-
665
398
  ```bash
666
399
  ptero-gateway explain DOMAIN_REQUIRED
667
400
  ptero-gateway explain DOCKER_IMAGE_NOT_FOUND
@@ -677,13 +410,17 @@ Masalah umum:
677
410
  | PTLA tidak valid | Buat ulang Application API Key dan pastikan permission cukup. |
678
411
  | PTLC tidak valid | Buat ulang Client API Key dari account panel. |
679
412
  | Docker image tidak ditemukan | Cek egg Docker Images atau isi `--docker-image`. |
680
- | Tidak ada allocation kosong | Tambahkan allocation di panel admin node. |
413
+ | Tidak ada allocation kosong | Tambahkan allocation dari panel admin node. |
681
414
  | Backup gagal limit 0 | Naikkan limit backup server dulu. |
682
415
  | Binary global konflik | Hapus `/usr/bin/ptero-gateway`, `/usr/bin/ptg`, lalu install ulang. |
683
416
 
684
- ## Release dan testing
417
+ Tutorial lengkap troubleshooting:
685
418
 
686
- Clone dan test lokal:
419
+ ```txt
420
+ https://web-docs-pterodacty-gateway.vercel.app/docs/troubleshooting
421
+ ```
422
+
423
+ ## Release dan testing
687
424
 
688
425
  ```bash
689
426
  git clone https://github.com/akaanakbaik/pterodactyl-gateway.git
@@ -697,8 +434,8 @@ Checklist publish:
697
434
  ```bash
698
435
  npm run verify
699
436
  npm publish --access public
700
- npm view @akaanakbaik/pterodactyl-gateway@1.0.1 version --prefer-online --registry=https://registry.npmjs.org/
701
- npm i -g @akaanakbaik/pterodactyl-gateway@1.0.1 --force --prefer-online --registry=https://registry.npmjs.org/
437
+ npm view @akaanakbaik/pterodactyl-gateway@1.0.2 version --prefer-online --registry=https://registry.npmjs.org/
438
+ npm i -g @akaanakbaik/pterodactyl-gateway@1.0.2 --force --prefer-online --registry=https://registry.npmjs.org/
702
439
  ptero-gateway self-check
703
440
  ptero-gateway release-check
704
441
  ptero-gateway doctor
@@ -706,12 +443,12 @@ ptero-gateway doctor
706
443
 
707
444
  ## Versi npm lama
708
445
 
709
- Rilis utama yang direkomendasikan adalah `1.0.0` dan tag `latest` harus mengarah ke versi tersebut. Versi lama di npm tidak dipromosikan lagi di dokumentasi ini. Jika perlu menyembunyikan versi lama dari pemakaian user, gunakan `npm deprecate` pada versi lama dengan pesan yang mengarahkan ke `1.0.0`.
446
+ Rilis utama yang direkomendasikan adalah `1.0.2` atau `latest`. Versi lama tidak dipromosikan lagi di dokumentasi.
710
447
 
711
- Contoh:
448
+ Contoh deprecate versi lama:
712
449
 
713
450
  ```bash
714
- npm deprecate @akaanakbaik/pterodactyl-gateway@"<1.0.0" "Versi lama tidak direkomendasikan. Gunakan @akaanakbaik/pterodactyl-gateway@1.0.1 atau latest."
451
+ npm deprecate @akaanakbaik/pterodactyl-gateway@"<1.0.0" "Versi lama tidak direkomendasikan. Gunakan @akaanakbaik/pterodactyl-gateway@latest."
715
452
  ```
716
453
 
717
454
  ## Lisensi
package/dist/gateway.js CHANGED
@@ -19,7 +19,7 @@ export class PteroGateway {
19
19
  this.applicationKey = config.ptla ?? config.applicationKey;
20
20
  this.clientKey = config.ptlc ?? config.clientKey;
21
21
  this.timeout = config.timeout ?? 15000;
22
- this.userAgent = config.userAgent ?? "AkadevPterodactylGateway/0.2.7";
22
+ this.userAgent = config.userAgent ?? "AkadevPterodactylGateway/1.0.0";
23
23
  this.safeMode = config.safeMode ?? true;
24
24
  this.presets = config.presets ?? {};
25
25
  this.http = new HttpCore({
@@ -355,8 +355,8 @@ export class PteroServerHandle {
355
355
  return this.power("kill");
356
356
  }
357
357
  command(command, options) {
358
- if (!options?.allowDangerous && isDangerousCommand(command))
359
- throw new PteroError({ code: "DANGEROUS_COMMAND_BLOCKED", message: "Command terlihat berbahaya dan diblokir oleh safe mode.", hint: "Gunakan allowDangerous: true hanya jika benar-benar paham risikonya." });
358
+ if (this.gateway.safeMode && !options?.allowDangerous && isDangerousCommand(command))
359
+ throw new PteroError({ code: "DANGEROUS_COMMAND_BLOCKED", message: "Command terlihat berbahaya dan diblokir oleh safe mode.", hint: "Gunakan allowDangerous: true atau safeMode: false hanya jika benar-benar paham risikonya." });
360
360
  return this.gateway.raw.client.post(`/servers/${this.identifier}/command`, { command });
361
361
  }
362
362
  }
@@ -407,10 +407,14 @@ function mapTaskInput(input) {
407
407
  return output;
408
408
  }
409
409
  function isDangerousCommand(command) {
410
- const value = command.toLowerCase();
411
- const destructiveRemove = ["r", "m", " ", "-", "r", "f", " ", "/"].join("");
412
- const rawDiskWrite = ["d", "d", " ", "i", "f", "="].join("");
413
- const forkPattern = [":", "(", ")", "{"].join("");
414
- return [destructiveRemove, "mkfs", rawDiskWrite, "shutdown", "reboot", forkPattern].some(pattern => value.includes(pattern));
410
+ const value = command.toLowerCase().trim();
411
+ const patterns = [
412
+ /(^|[;&|`$()\s])rm\s+-[a-z]*r[a-z]*f[a-z]*\s+(\/|\/\*|~|~\/|\.\.)(\s|$)/,
413
+ /(^|[;&|`$()\s])mkfs(\.|\s|$)/,
414
+ /(^|[;&|`$()\s])dd\s+.*\bof=\/(dev|boot|etc|usr|var|home|root)\b/,
415
+ /(^|[;&|`$()\s])(shutdown|poweroff|halt|reboot)(\s|$)/,
416
+ /:\s*\(\s*\)\s*\{\s*:\s*\|\s*:\s*&\s*}\s*;/
417
+ ];
418
+ return patterns.some(pattern => pattern.test(value));
415
419
  }
416
420
  //# sourceMappingURL=gateway.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"gateway.js","sourceRoot":"","sources":["../src/gateway.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"gateway.js","sourceRoot":"","sources":["../src/gateway.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AACzC,OAAO,EAAE,QAAQ,EAAE,MAAM,WAAW,CAAC;AACrC,OAAO,EAAE,kBAAkB,EAAE,gBAAgB,EAAE,cAAc,EAAE,qBAAqB,EAAE,QAAQ,EAAE,iBAAiB,EAAE,mBAAmB,EAAE,MAAM,YAAY,CAAC;AAE3J,OAAO,EAAE,QAAQ,EAAE,aAAa,EAAE,iBAAiB,EAAE,UAAU,EAAE,eAAe,EAAE,MAAM,YAAY,CAAC;AAErG,MAAM,OAAO,YAAY;IACd,MAAM,CAAS;IACf,cAAc,CAAU;IACxB,SAAS,CAAU;IACnB,OAAO,CAAS;IAChB,SAAS,CAAS;IAClB,QAAQ,CAAU;IAClB,OAAO,CAAsC;IAC9C,IAAI,CAAW;IAEvB,YAAY,MAAmB;QAC7B,MAAM,MAAM,GAAG,MAAM,CAAC,MAAM,IAAI,MAAM,CAAC,QAAQ,CAAC;QAChD,IAAI,CAAC,MAAM;YAAE,MAAM,IAAI,UAAU,CAAC,EAAE,IAAI,EAAE,iBAAiB,EAAE,OAAO,EAAE,mCAAmC,EAAE,CAAC,CAAC;QAC7G,IAAI,CAAC,MAAM,GAAG,eAAe,CAAC,MAAM,CAAC,CAAC;QACtC,IAAI,CAAC,cAAc,GAAG,MAAM,CAAC,IAAI,IAAI,MAAM,CAAC,cAAc,CAAC;QAC3D,IAAI,CAAC,SAAS,GAAG,MAAM,CAAC,IAAI,IAAI,MAAM,CAAC,SAAS,CAAC;QACjD,IAAI,CAAC,OAAO,GAAG,MAAM,CAAC,OAAO,IAAI,KAAK,CAAC;QACvC,IAAI,CAAC,SAAS,GAAG,MAAM,CAAC,SAAS,IAAI,gCAAgC,CAAC;QACtE,IAAI,CAAC,QAAQ,GAAG,MAAM,CAAC,QAAQ,IAAI,IAAI,CAAC;QACxC,IAAI,CAAC,OAAO,GAAG,MAAM,CAAC,OAAO,IAAI,EAAE,CAAC;QACpC,IAAI,CAAC,IAAI,GAAG,IAAI,QAAQ,CAAC;YACvB,MAAM,EAAE,IAAI,CAAC,MAAM;YACnB,cAAc,EAAE,IAAI,CAAC,cAAc;YACnC,SAAS,EAAE,IAAI,CAAC,SAAS;YACzB,OAAO,EAAE,IAAI,CAAC,OAAO;YACrB,SAAS,EAAE,IAAI,CAAC,SAAS;YACzB,OAAO,EAAE,MAAM,CAAC,OAAO,IAAI,KAAK;SACjC,CAAC,CAAC;IACL,CAAC;IAED,MAAM,CAAC,OAAO,CAAC,MAAyB,OAAO,CAAC,GAAG;QACjD,OAAO,IAAI,YAAY,CAAC;YACtB,MAAM,EAAE,GAAG,CAAC,YAAY,IAAI,GAAG,CAAC,eAAe;YAC/C,IAAI,EAAE,GAAG,CAAC,UAAU,IAAI,GAAG,CAAC,qBAAqB;YACjD,IAAI,EAAE,GAAG,CAAC,UAAU,IAAI,GAAG,CAAC,gBAAgB;SAC7C,CAAC,CAAC;IACL,CAAC;IAED,IAAI,GAAG;QACL,OAAO;YACL,WAAW,EAAE;gBACX,GAAG,EAAE,CAAc,IAAY,EAAE,EAAE,CAAC,IAAI,CAAC,OAAO,CAAI,EAAE,GAAG,EAAE,aAAa,EAAE,IAAI,EAAE,CAAC;gBACjF,IAAI,EAAE,CAAc,IAAY,EAAE,IAAc,EAAE,EAAE,CAAC,IAAI,CAAC,OAAO,CAAI,EAAE,GAAG,EAAE,aAAa,EAAE,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC;gBACxH,KAAK,EAAE,CAAc,IAAY,EAAE,IAAc,EAAE,EAAE,CAAC,IAAI,CAAC,OAAO,CAAI,EAAE,GAAG,EAAE,aAAa,EAAE,MAAM,EAAE,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC;gBAC1H,MAAM,EAAE,CAAc,IAAY,EAAE,EAAE,CAAC,IAAI,CAAC,OAAO,CAAI,EAAE,GAAG,EAAE,aAAa,EAAE,MAAM,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;aACvG;YACD,MAAM,EAAE;gBACN,GAAG,EAAE,CAAc,IAAY,EAAE,EAAE,CAAC,IAAI,CAAC,OAAO,CAAI,EAAE,GAAG,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;gBAC5E,OAAO,EAAE,CAAC,IAAY,EAAE,EAAE,CAAC,IAAI,CAAC,OAAO,CAAS,EAAE,GAAG,EAAE,QAAQ,EAAE,IAAI,EAAE,YAAY,EAAE,MAAM,EAAE,CAAC;gBAC9F,IAAI,EAAE,CAAc,IAAY,EAAE,IAAc,EAAE,EAAE,CAAC,IAAI,CAAC,OAAO,CAAI,EAAE,GAAG,EAAE,QAAQ,EAAE,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC;gBACnH,QAAQ,EAAE,CAAc,IAAY,EAAE,IAAY,EAAE,EAAE,CAAC,IAAI,CAAC,OAAO,CAAI,EAAE,GAAG,EAAE,QAAQ,EAAE,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,IAAI,EAAE,WAAW,EAAE,MAAM,EAAE,CAAC;gBAC1I,GAAG,EAAE,CAAc,IAAY,EAAE,IAAc,EAAE,EAAE,CAAC,IAAI,CAAC,OAAO,CAAI,EAAE,GAAG,EAAE,QAAQ,EAAE,MAAM,EAAE,KAAK,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC;gBACjH,OAAO,EAAE,CAAc,IAAY,EAAE,IAAY,EAAE,EAAE,CAAC,IAAI,CAAC,OAAO,CAAI,EAAE,GAAG,EAAE,QAAQ,EAAE,MAAM,EAAE,KAAK,EAAE,IAAI,EAAE,IAAI,EAAE,WAAW,EAAE,MAAM,EAAE,CAAC;gBACxI,MAAM,EAAE,CAAc,IAAY,EAAE,EAAE,CAAC,IAAI,CAAC,OAAO,CAAI,EAAE,GAAG,EAAE,QAAQ,EAAE,MAAM,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;aAClG;SACF,CAAC;IACJ,CAAC;IAED,IAAI,KAAK;QACP,OAAO;YACL,WAAW,EAAE,CAAC,KAA2B,EAAE,OAA0B,EAAE,EAAE,CAAC,IAAI,CAAC,eAAe,CAAC,KAAK,EAAE,OAAO,CAAC;YAC9G,WAAW,EAAE,CAAC,KAA2B,EAAE,OAA0B,EAAE,EAAE,CAAC,IAAI,CAAC,eAAe,CAAC,KAAK,EAAE,OAAO,CAAC;YAC9G,WAAW,EAAE,CAAC,KAAa,EAAE,EAAE,CAAC,IAAI,CAAC,eAAe,CAAC,KAAK,CAAC;SAC5D,CAAC;IACJ,CAAC;IAED,IAAI,OAAO;QACT,OAAO;YACL,aAAa,EAAE,CAAC,KAA6B,EAAE,OAA0B,EAAE,EAAE,CAAC,IAAI,CAAC,mBAAmB,CAAC,KAAK,EAAE,OAAO,CAAC;YACtH,WAAW,EAAE,CAAC,KAA6B,EAAE,OAA0B,EAAE,EAAE,CAAC,IAAI,CAAC,iBAAiB,CAAC,KAAK,EAAE,OAAO,CAAC;YAClH,gBAAgB,EAAE,CAAC,MAAc,EAAE,KAAuD,EAAE,OAA0B,EAAE,EAAE,CAAC,IAAI,CAAC,iBAAiB,CAAC,EAAE,GAAG,KAAK,EAAE,MAAM,EAAE,EAAE,OAAO,CAAC;YAChL,SAAS,EAAE,CAAC,OAAgC,EAAE,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,WAAW,CAAC,IAAI,CAAC,UAAU,EAAE,OAAO,CAAC;SAChG,CAAC;IACJ,CAAC;IAED,MAAM,CAAC,UAAkB;QACvB,OAAO,IAAI,iBAAiB,CAAC,IAAI,EAAE,UAAU,CAAC,CAAC;IACjD,CAAC;IAED,KAAK,CAAC,OAAO,CAAc,OAA2C;QACpE,OAAO,IAAI,CAAC,IAAI,CAAC,OAAO,CAAI,OAAO,CAAC,CAAC;IACvC,CAAC;IAED,KAAK,CAAC,OAAO;QACX,MAAM,OAAO,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;QAC3B,MAAM,WAAW,GAAG,MAAM,IAAI,CAAC,mBAAmB,EAAE,CAAC;QACrD,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,cAAc,EAAE,CAAC;QAC3C,MAAM,IAAI,GAAG,IAAI,CAAC,WAAW,CAAC,WAAW,CAAC,KAAK,EAAE,MAAM,CAAC,KAAK,CAAC,CAAC;QAC/D,OAAO,EAAE,EAAE,EAAE,IAAI,KAAK,SAAS,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,CAAC,MAAM,EAAE,OAAO,EAAE,IAAI,CAAC,GAAG,EAAE,GAAG,OAAO,EAAE,WAAW,EAAE,MAAM,EAAE,CAAC;IACnH,CAAC;IAED,KAAK,CAAC,MAAM;QACV,OAAO,IAAI,CAAC,OAAO,EAAE,CAAC;IACxB,CAAC;IAED,KAAK,CAAC,MAAM;QACV,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,OAAO,EAAE,CAAC;QACrC,MAAM,MAAM,GAAG;YACb,EAAE,IAAI,EAAE,QAAQ,EAAE,EAAE,EAAE,IAAI,EAAE,OAAO,EAAE,IAAI,CAAC,MAAM,EAAE;YAClD,EAAE,IAAI,EAAE,eAAe,EAAE,EAAE,EAAE,OAAO,CAAC,IAAI,CAAC,cAAc,CAAC,EAAE,OAAO,EAAE,IAAI,CAAC,cAAc,CAAC,CAAC,CAAC,UAAU,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC,aAAa,EAAE;YAC3I,EAAE,IAAI,EAAE,eAAe,EAAE,EAAE,EAAE,OAAO,CAAC,IAAI,CAAC,SAAS,CAAC,EAAE,OAAO,EAAE,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,UAAU,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,aAAa,EAAE;YAC5H,EAAE,IAAI,EAAE,iBAAiB,EAAE,EAAE,EAAE,OAAO,CAAC,WAAW,CAAC,KAAK,EAAE,OAAO,EAAE,OAAO,CAAC,WAAW,CAAC,OAAO,EAAE,GAAG,EAAE,0CAA0C,EAAE;YACjJ,EAAE,IAAI,EAAE,YAAY,EAAE,EAAE,EAAE,OAAO,CAAC,MAAM,CAAC,KAAK,EAAE,OAAO,EAAE,OAAO,CAAC,MAAM,CAAC,OAAO,EAAE,GAAG,EAAE,qCAAqC,EAAE;SAC9H,CAAC;QACF,OAAO,EAAE,EAAE,EAAE,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,EAAE,CAAC,KAAK,CAAC,EAAE,IAAI,KAAK,CAAC,IAAI,CAAC,QAAQ,CAAC,UAAU,CAAC,CAAC,EAAE,IAAI,EAAE,OAAO,CAAC,IAAI,EAAE,MAAM,EAAE,CAAC;IAChH,CAAC;IAED,KAAK,CAAC,aAAa;QACjB,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,OAAO,EAAE,CAAC;QACrC,OAAO,EAAE,cAAc,EAAE,OAAO,CAAC,WAAW,CAAC,KAAK,EAAE,SAAS,EAAE,OAAO,CAAC,MAAM,CAAC,KAAK,EAAE,SAAS,EAAE,OAAO,CAAC,MAAM,CAAC,KAAK,EAAE,UAAU,EAAE,OAAO,CAAC,MAAM,CAAC,KAAK,EAAE,SAAS,EAAE,OAAO,CAAC,MAAM,CAAC,KAAK,EAAE,iBAAiB,EAAE,KAAK,EAAE,kBAAkB,EAAE,KAAK,EAAE,CAAC;IACjP,CAAC;IAED,KAAK,CAAC,OAAO,CAAC,MAAe;QAC3B,MAAM,KAAK,GAAG,MAAM,IAAI,CAAC,GAAG,CAAC,WAAW,CAAC,GAAG,CAAC,qBAAqB,CAAC,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,SAAS,CAAC,CAAC;QAC3F,MAAM,KAAK,GAAG,MAAM,IAAI,CAAC,GAAG,CAAC,WAAW,CAAC,GAAG,CAAC,qBAAqB,CAAC,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,SAAS,CAAC,CAAC;QAC3F,MAAM,IAAI,GAAG,MAAM,CAAC,CAAC,CAAC,MAAM,IAAI,CAAC,GAAG,CAAC,WAAW,CAAC,GAAG,CAAC,UAAU,MAAM,oBAAoB,CAAC,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;QAC9H,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC;IAChC,CAAC;IAEO,KAAK,CAAC,eAAe,CAAC,KAA2B,EAAE,OAA0B;QACnF,QAAQ,CAAC,OAAO,EAAE,UAAU,EAAE,EAAE,EAAE,mBAAmB,CAAC,CAAC;QACvD,MAAM,KAAK,GAAG,gBAAgB,CAAC,KAAK,CAAC,CAAC;QACtC,IAAI,OAAO,EAAE,MAAM;YAAE,OAAO,EAAE,MAAM,EAAE,IAAI,EAAE,OAAO,EAAE,KAAK,CAAC,OAAO,EAAE,iBAAiB,EAAE,KAAK,CAAC,iBAAiB,EAAE,CAAC;QACjH,QAAQ,CAAC,OAAO,EAAE,SAAS,EAAE,EAAE,EAAE,8BAA8B,CAAC,CAAC;QACjE,MAAM,GAAG,GAAG,MAAM,IAAI,CAAC,GAAG,CAAC,WAAW,CAAC,IAAI,CAAC,QAAQ,EAAE,KAAK,CAAC,OAAO,CAAC,CAAC;QACrE,QAAQ,CAAC,OAAO,EAAE,MAAM,EAAE,GAAG,EAAE,uBAAuB,CAAC,CAAC;QACxD,OAAO,qBAAqB,CAAC,GAAG,EAAE,KAAK,CAAC,iBAAiB,CAAC,CAAC;IAC7D,CAAC;IAEO,KAAK,CAAC,eAAe,CAAC,KAA2B,EAAE,OAA0B;QACnF,MAAM,KAAK,GAAG,MAAM,IAAI,CAAC,eAAe,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;QACtD,IAAI,KAAK;YAAE,OAAO,EAAE,GAAG,KAAK,EAAE,OAAO,EAAE,KAAK,EAAE,CAAC;QAC/C,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,eAAe,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC;QAC3D,OAAO,EAAE,GAAG,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;IACvC,CAAC;IAEO,KAAK,CAAC,eAAe,CAAC,KAAa;QACzC,MAAM,GAAG,GAAG,MAAM,IAAI,CAAC,GAAG,CAAC,WAAW,CAAC,GAAG,CAAC,wBAAwB,kBAAkB,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,SAAS,CAAC,CAAC;QACvH,MAAM,IAAI,GAAG,KAAK,CAAC,OAAO,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,IAAiB,CAAC,CAAC,CAAC,EAAE,CAAC;QACtF,MAAM,KAAK,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC;QACtB,IAAI,CAAC,KAAK;YAAE,OAAO,SAAS,CAAC;QAC7B,MAAM,UAAU,GAAG,QAAQ,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,UAAU,CAAC,CAAC;QACxD,OAAO,EAAE,EAAE,EAAE,MAAM,CAAC,UAAU,CAAC,EAAE,IAAI,CAAC,CAAC,EAAE,QAAQ,EAAE,MAAM,CAAC,UAAU,CAAC,QAAQ,IAAI,EAAE,CAAC,EAAE,KAAK,EAAE,MAAM,CAAC,UAAU,CAAC,KAAK,IAAI,KAAK,CAAC,EAAE,GAAG,EAAE,KAAK,EAAE,CAAC;IAC/I,CAAC;IAEO,KAAK,CAAC,oBAAoB,CAAC,KAA6B;QAC9D,IAAI,KAAK,CAAC,MAAM;YAAE,OAAO,EAAE,EAAE,EAAE,KAAK,CAAC,MAAM,EAAE,OAAO,EAAE,KAAK,EAAE,CAAC;QAC9D,IAAI,CAAC,KAAK,CAAC,KAAK;YAAE,MAAM,IAAI,UAAU,CAAC,EAAE,IAAI,EAAE,gBAAgB,EAAE,OAAO,EAAE,uCAAuC,EAAE,CAAC,CAAC;QACrH,MAAM,KAAK,GAAG,MAAM,IAAI,CAAC,eAAe,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;QACtD,IAAI,KAAK;YAAE,OAAO,EAAE,EAAE,EAAE,KAAK,CAAC,EAAE,EAAE,KAAK,EAAE,KAAK,CAAC,KAAK,EAAE,QAAQ,EAAE,KAAK,CAAC,QAAQ,EAAE,OAAO,EAAE,KAAK,EAAE,CAAC;QACjG,IAAI,CAAC,KAAK,CAAC,cAAc;YAAE,MAAM,IAAI,UAAU,CAAC,EAAE,IAAI,EAAE,gBAAgB,EAAE,OAAO,EAAE,qBAAqB,KAAK,CAAC,KAAK,mBAAmB,EAAE,IAAI,EAAE,yDAAyD,EAAE,CAAC,CAAC;QAC3M,IAAI,CAAC,KAAK,CAAC,QAAQ;YAAE,MAAM,IAAI,UAAU,CAAC,EAAE,IAAI,EAAE,wCAAwC,EAAE,OAAO,EAAE,iDAAiD,EAAE,CAAC,CAAC;QAC1J,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,eAAe,CAAC,EAAE,QAAQ,EAAE,KAAK,CAAC,QAAQ,EAAE,KAAK,EAAE,KAAK,CAAC,KAAK,EAAE,QAAQ,EAAE,KAAK,CAAC,QAAQ,IAAI,MAAM,EAAE,aAAa,EAAE,KAAK,CAAC,aAAa,IAAI,KAAK,EAAE,CAAC,CAAC;QAC3K,IAAI,QAAQ,IAAI,IAAI;YAAE,MAAM,IAAI,UAAU,CAAC,EAAE,IAAI,EAAE,uBAAuB,EAAE,OAAO,EAAE,mDAAmD,EAAE,CAAC,CAAC;QAC5I,OAAO,EAAE,EAAE,EAAE,IAAI,CAAC,EAAE,EAAE,KAAK,EAAE,IAAI,CAAC,KAAK,EAAE,QAAQ,EAAE,IAAI,CAAC,QAAQ,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;IACpF,CAAC;IAEO,KAAK,CAAC,mBAAmB,CAAC,KAA6B,EAAE,OAA0B;QACzF,QAAQ,CAAC,OAAO,EAAE,UAAU,EAAE,CAAC,EAAE,2BAA2B,CAAC,CAAC;QAC9D,MAAM,UAAU,GAAG,mBAAmB,CAAC,KAAK,EAAE,KAAK,CAAC,KAAK,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC;QACtH,MAAM,KAAK,GAAG,cAAc,CAAC,UAAU,CAAC,CAAC;QACzC,QAAQ,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE,EAAE,qBAAqB,CAAC,CAAC;QACrD,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,oBAAoB,CAAC,KAAK,CAAC,CAAC;QACpD,QAAQ,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE,EAAE,sBAAsB,CAAC,CAAC;QACtD,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,GAAG,CAAC,WAAW,CAAC,GAAG,CAAC,UAAU,KAAK,CAAC,MAAM,EAAE,CAAC,CAAC;QACzE,QAAQ,CAAC,OAAO,EAAE,KAAK,EAAE,EAAE,EAAE,8BAA8B,CAAC,CAAC;QAC7D,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,GAAG,CAAC,WAAW,CAAC,GAAG,CAAC,UAAU,KAAK,CAAC,MAAM,EAAE,CAAC,CAAC;QACzE,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,GAAG,CAAC,WAAW,CAAC,GAAG,CAAC,UAAU,KAAK,CAAC,MAAM,SAAS,KAAK,CAAC,KAAK,oBAAoB,CAAC,CAAC;QAC9G,QAAQ,CAAC,OAAO,EAAE,YAAY,EAAE,EAAE,EAAE,4BAA4B,CAAC,CAAC;QAClE,MAAM,eAAe,GAAG,KAAK,CAAC,aAAa,CAAC,WAAW,IAAI,CAAC,CAAC;QAC7D,MAAM,cAAc,GAAG,MAAM,IAAI,CAAC,GAAG,CAAC,WAAW,CAAC,GAAG,CAAC,UAAU,KAAK,CAAC,MAAM,2BAA2B,CAAC,CAAC;QACzG,IAAI,UAAU,CAAC;QACf,IAAI,CAAC;YACH,UAAU,GAAG,iBAAiB,CAAC,cAAc,EAAE,eAAe,EAAE,KAAK,CAAC,UAAU,IAAI,MAAM,CAAC,CAAC;QAC9F,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,IAAI,KAAK,YAAY,UAAU,IAAI,KAAK,CAAC,IAAI,KAAK,oBAAoB;gBAAE,MAAM,IAAI,UAAU,CAAC,EAAE,IAAI,EAAE,oBAAoB,EAAE,OAAO,EAAE,0CAA0C,KAAK,CAAC,MAAM,GAAG,EAAE,IAAI,EAAE,KAAK,CAAC,IAAI,EAAE,KAAK,EAAE,KAAK,CAAC,KAAK,EAAE,OAAO,EAAE,KAAK,CAAC,OAAO,EAAE,GAAG,EAAE,KAAK,CAAC,GAAG,EAAE,CAAC,CAAC;YAC/Q,MAAM,KAAK,CAAC;QACd,CAAC;QACD,QAAQ,CAAC,OAAO,EAAE,SAAS,EAAE,EAAE,EAAE,2BAA2B,CAAC,CAAC;QAC9D,MAAM,OAAO,GAAG,kBAAkB,CAAC,KAAK,EAAE,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,EAAE,MAAM,EAAE,UAAU,EAAE,KAAK,EAAE,CAAC,CAAC;QAC1F,MAAM,QAAQ,GAAG,iBAAiB,CAAC,OAAO,CAAC,CAAC;QAC5C,MAAM,QAAQ,GAAG,iBAAiB,CAAC,OAAO,CAAC,CAAC;QAC5C,MAAM,OAAO,GAAG,iBAAiB,CAAC,MAAM,CAAC,CAAC;QAC1C,MAAM,OAAO,GAAwB;YACnC,EAAE,EAAE,IAAI;YACR,IAAI;YACJ,IAAI,EAAE,EAAE,EAAE,EAAE,KAAK,CAAC,MAAM,EAAE,IAAI,EAAE,OAAO,QAAQ,CAAC,IAAI,KAAK,QAAQ,CAAC,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,SAAS,EAAE,GAAG,EAAE,OAAO,EAAE;YAC7G,IAAI,EAAE,EAAE,EAAE,EAAE,KAAK,CAAC,MAAM,EAAE,IAAI,EAAE,OAAO,QAAQ,CAAC,IAAI,KAAK,QAAQ,CAAC,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,SAAS,EAAE,GAAG,EAAE,OAAO,EAAE;YAC7G,GAAG,EAAE,EAAE,EAAE,EAAE,KAAK,CAAC,KAAK,EAAE,IAAI,EAAE,OAAO,OAAO,CAAC,IAAI,KAAK,QAAQ,CAAC,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,SAAS,EAAE,GAAG,EAAE,MAAM,EAAE;YACxG,WAAW,EAAE,MAAM,CAAC,OAAO,CAAC,YAAY,CAAC;YACzC,OAAO,EAAE,MAAM,CAAC,OAAO,CAAC,OAAO,CAAC;YAChC,WAAW,EAAE,OAAO,CAAC,WAAqC;YAC1D,UAAU;YACV,MAAM,EAAE,OAAO,CAAC,MAAiC;YACjD,aAAa,EAAE,KAAK,CAAC,aAAa;YAClC,OAAO;SACR,CAAC;QACF,QAAQ,CAAC,OAAO,EAAE,MAAM,EAAE,GAAG,EAAE,yBAAyB,CAAC,CAAC;QAC1D,OAAO,OAAO,CAAC;IACjB,CAAC;IAEO,KAAK,CAAC,iBAAiB,CAAC,KAA6B,EAAE,OAA0B;QACvF,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,mBAAmB,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC;QAC/D,IAAI,OAAO,EAAE,MAAM;YAAE,OAAO,EAAE,MAAM,EAAE,IAAI,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,CAAC,OAAO,EAAE,CAAC;QAChF,QAAQ,CAAC,OAAO,EAAE,SAAS,EAAE,EAAE,EAAE,gCAAgC,CAAC,CAAC;QACnE,MAAM,GAAG,GAAG,MAAM,IAAI,CAAC,GAAG,CAAC,WAAW,CAAC,IAAI,CAAC,UAAU,EAAE,OAAO,CAAC,OAAO,CAAC,CAAC;QACzE,QAAQ,CAAC,OAAO,EAAE,MAAM,EAAE,GAAG,EAAE,yBAAyB,CAAC,CAAC;QAC1D,MAAM,UAAU,GAAG,iBAAiB,CAAC,GAAG,CAAC,CAAC;QAC1C,OAAO,EAAE,EAAE,EAAE,OAAO,UAAU,CAAC,EAAE,KAAK,QAAQ,CAAC,CAAC,CAAC,UAAU,CAAC,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,UAAU,CAAC,EAAE,IAAI,CAAC,CAAC,IAAI,SAAS,EAAE,UAAU,EAAE,OAAO,UAAU,CAAC,UAAU,KAAK,QAAQ,CAAC,CAAC,CAAC,UAAU,CAAC,UAAU,CAAC,CAAC,CAAC,SAAS,EAAE,IAAI,EAAE,OAAO,UAAU,CAAC,IAAI,KAAK,QAAQ,CAAC,CAAC,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC,CAAC,SAAS,EAAE,IAAI,EAAE,OAAO,UAAU,CAAC,IAAI,KAAK,QAAQ,CAAC,CAAC,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC,CAAC,SAAS,EAAE,GAAG,EAAE,CAAC;IAC/V,CAAC;IAEO,KAAK,CAAC,mBAAmB;QAC/B,IAAI,CAAC,IAAI,CAAC,cAAc;YAAE,OAAO,EAAE,QAAQ,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,OAAO,EAAE,cAAc,EAAE,CAAC;QAC5F,IAAI,CAAC;YACH,MAAM,IAAI,CAAC,GAAG,CAAC,WAAW,CAAC,GAAG,CAAC,mBAAmB,CAAC,CAAC;YACpD,OAAO,EAAE,QAAQ,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,OAAO,EAAE,aAAa,EAAE,CAAC;QACjE,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,OAAO,EAAE,QAAQ,EAAE,IAAI,EAAE,KAAK,EAAE,KAAK,EAAE,OAAO,EAAE,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,mBAAmB,EAAE,CAAC;QACjH,CAAC;IACH,CAAC;IAEO,KAAK,CAAC,cAAc;QAC1B,IAAI,CAAC,IAAI,CAAC,SAAS;YAAE,OAAO,EAAE,QAAQ,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,OAAO,EAAE,cAAc,EAAE,CAAC;QACvF,IAAI,CAAC;YACH,MAAM,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC;YACtC,OAAO,EAAE,QAAQ,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,OAAO,EAAE,aAAa,EAAE,CAAC;QACjE,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,OAAO,EAAE,QAAQ,EAAE,IAAI,EAAE,KAAK,EAAE,KAAK,EAAE,OAAO,EAAE,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,mBAAmB,EAAE,CAAC;QACjH,CAAC;IACH,CAAC;IAEO,WAAW,CAAC,gBAAyB,EAAE,WAAoB;QACjE,IAAI,gBAAgB,IAAI,WAAW;YAAE,OAAO,MAAM,CAAC;QACnD,IAAI,gBAAgB;YAAE,OAAO,OAAO,CAAC;QACrC,IAAI,WAAW;YAAE,OAAO,QAAQ,CAAC;QACjC,IAAI,CAAC,IAAI,CAAC,cAAc,IAAI,CAAC,IAAI,CAAC,SAAS;YAAE,OAAO,KAAK,CAAC;QAC1D,OAAO,SAAS,CAAC;IACnB,CAAC;CACF;AAED,MAAM,OAAO,iBAAiB;IACpB,OAAO,CAAe;IACtB,UAAU,CAAS;IAE3B,YAAY,OAAqB,EAAE,UAAkB;QACnD,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC;QACvB,IAAI,CAAC,UAAU,GAAG,UAAU,CAAC;IAC/B,CAAC;IAED,IAAI,KAAK;QACP,OAAO;YACL,IAAI,EAAE,CAAC,SAAS,GAAG,GAAG,EAAE,EAAE,CAAC,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,YAAY,IAAI,CAAC,UAAU,yBAAyB,kBAAkB,CAAC,SAAS,CAAC,EAAE,CAAC;YAC3I,IAAI,EAAE,CAAC,IAAY,EAAE,EAAE,CAAC,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,OAAO,CAAC,YAAY,IAAI,CAAC,UAAU,wBAAwB,kBAAkB,CAAC,IAAI,CAAC,EAAE,CAAC;YACtI,KAAK,EAAE,CAAC,IAAY,EAAE,OAAe,EAAE,EAAE,CAAC,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,QAAQ,CAAC,YAAY,IAAI,CAAC,UAAU,qBAAqB,kBAAkB,CAAC,IAAI,CAAC,EAAE,EAAE,OAAO,CAAC;YAC/J,MAAM,EAAE,CAAC,IAAY,EAAE,KAAe,EAAE,EAAE,CAAC,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,YAAY,IAAI,CAAC,UAAU,eAAe,EAAE,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC;YACpI,KAAK,EAAE,CAAC,IAAY,EAAE,IAAY,EAAE,EAAE,CAAC,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,YAAY,IAAI,CAAC,UAAU,sBAAsB,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC;YACtI,MAAM,EAAE,CAAC,IAAY,EAAE,KAA0C,EAAE,EAAE,CAAC,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,YAAY,IAAI,CAAC,UAAU,eAAe,EAAE,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC;YAC9J,QAAQ,EAAE,CAAC,IAAY,EAAE,KAAe,EAAE,EAAE,CAAC,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,YAAY,IAAI,CAAC,UAAU,iBAAiB,EAAE,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC;YACxI,UAAU,EAAE,CAAC,IAAY,EAAE,IAAY,EAAE,EAAE,CAAC,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,YAAY,IAAI,CAAC,UAAU,mBAAmB,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC;YACxI,IAAI,EAAE;gBACJ,IAAI,EAAE,KAAK,EAAe,IAAY,EAAE,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,OAAO,CAAC,YAAY,IAAI,CAAC,UAAU,wBAAwB,kBAAkB,CAAC,IAAI,CAAC,EAAE,CAAC,CAAM;gBAChL,KAAK,EAAE,CAAC,IAAY,EAAE,IAAa,EAAE,KAAK,GAAG,CAAC,EAAE,EAAE,CAAC,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,QAAQ,CAAC,YAAY,IAAI,CAAC,UAAU,qBAAqB,kBAAkB,CAAC,IAAI,CAAC,EAAE,EAAE,IAAI,CAAC,SAAS,CAAC,IAAI,EAAE,IAAI,EAAE,KAAK,CAAC,CAAC;aACnM;SACF,CAAC;IACJ,CAAC;IAED,IAAI,OAAO;QACT,OAAO;YACL,SAAS,EAAE,GAAG,EAAE,CAAC,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,YAAY,IAAI,CAAC,UAAU,UAAU,CAAC;YACnF,GAAG,EAAE,KAAK,EAAE,GAAW,EAAE,KAAgC,EAAE,EAAE;gBAC3D,MAAM,GAAG,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,YAAY,IAAI,CAAC,UAAU,UAAU,CAAC,CAAC;gBACrF,MAAM,aAAa,GAAG,QAAQ,CAAC,iBAAiB,CAAC,GAAG,CAAC,CAAC,aAAa,CAAC,CAAC;gBACrE,MAAM,SAAS,GAAG,CAAC,GAAG,aAAa,CAAC,GAAG,CAAC,EAAE,GAAG,aAAa,CAAC,aAAa,CAAC,SAAS,CAAC,CAAC,CAAC;gBACrF,MAAM,QAAQ,GAAG,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC,UAAU,IAAI,IAAI,CAAC,CAAC,YAAY,CAAC,KAAK,GAAG,CAAC,CAAC;gBACxG,IAAI,CAAC,QAAQ;oBAAE,MAAM,IAAI,UAAU,CAAC,EAAE,IAAI,EAAE,4BAA4B,EAAE,OAAO,EAAE,YAAY,GAAG,mBAAmB,EAAE,IAAI,EAAE,+CAA+C,EAAE,CAAC,CAAC;gBAChL,OAAO,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,YAAY,IAAI,CAAC,UAAU,mBAAmB,EAAE,EAAE,GAAG,EAAE,MAAM,CAAC,GAAG,CAAC,EAAE,KAAK,EAAE,MAAM,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;YACjI,CAAC;YACD,OAAO,EAAE,KAAK,EAAE,MAAiD,EAAE,EAAE;gBACnE,MAAM,OAAO,GAA4B,EAAE,CAAC;gBAC5C,KAAK,MAAM,CAAC,GAAG,EAAE,KAAK,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC;oBAAE,OAAO,CAAC,GAAG,CAAC,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC;gBACrG,OAAO,OAAO,CAAC;YACjB,CAAC;SACF,CAAC;IACJ,CAAC;IAED,IAAI,OAAO;QACT,OAAO;YACL,IAAI,EAAE,GAAG,EAAE,CAAC,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,YAAY,IAAI,CAAC,UAAU,sBAAsB,CAAC;YAC1F,MAAM,EAAE,GAAG,EAAE,CAAC,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,YAAY,IAAI,CAAC,UAAU,sBAAsB,CAAC;YAC7F,OAAO,EAAE,CAAC,YAAoB,EAAE,IAAY,EAAE,EAAE,CAAC,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,YAAY,IAAI,CAAC,UAAU,wBAAwB,YAAY,EAAE,EAAE,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC;YACjK,UAAU,EAAE,CAAC,YAAoB,EAAE,EAAE,CAAC,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,YAAY,IAAI,CAAC,UAAU,wBAAwB,YAAY,UAAU,CAAC;YAC7I,MAAM,EAAE,CAAC,YAAoB,EAAE,EAAE,CAAC,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,MAAM,CAAC,YAAY,IAAI,CAAC,UAAU,wBAAwB,YAAY,EAAE,CAAC;SACpI,CAAC;IACJ,CAAC;IAED,IAAI,SAAS;QACX,OAAO;YACL,IAAI,EAAE,GAAG,EAAE,CAAC,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,YAAY,IAAI,CAAC,UAAU,YAAY,CAAC;YAChF,MAAM,EAAE,CAAC,KAA4C,EAAE,EAAE,CAAC,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,YAAY,IAAI,CAAC,UAAU,YAAY,EAAE,EAAE,QAAQ,EAAE,KAAK,CAAC,QAAQ,EAAE,MAAM,EAAE,KAAK,CAAC,MAAM,IAAI,GAAG,EAAE,CAAC;YAC1L,cAAc,EAAE,CAAC,UAAkB,EAAE,EAAE,CAAC,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,YAAY,IAAI,CAAC,UAAU,cAAc,UAAU,kBAAkB,CAAC;YAC3I,MAAM,EAAE,CAAC,UAAkB,EAAE,EAAE,CAAC,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,MAAM,CAAC,YAAY,IAAI,CAAC,UAAU,cAAc,UAAU,EAAE,CAAC;SACtH,CAAC;IACJ,CAAC;IAED,IAAI,OAAO;QACT,OAAO;YACL,IAAI,EAAE,GAAG,EAAE,CAAC,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,YAAY,IAAI,CAAC,UAAU,UAAU,CAAC;YAC9E,MAAM,EAAE,CAAC,QAA4E,EAAE,EAAE,EAAE,CAAC,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,YAAY,IAAI,CAAC,UAAU,UAAU,EAAE,EAAE,IAAI,EAAE,KAAK,CAAC,IAAI,EAAE,OAAO,EAAE,gBAAgB,CAAC,KAAK,CAAC,OAAO,CAAC,EAAE,SAAS,EAAE,KAAK,CAAC,QAAQ,IAAI,KAAK,EAAE,CAAC;YACnQ,OAAO,EAAE,CAAC,QAAgB,EAAE,EAAE,CAAC,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,YAAY,IAAI,CAAC,UAAU,YAAY,QAAQ,EAAE,CAAC;YAC7G,QAAQ,EAAE,CAAC,QAAgB,EAAE,EAAE,CAAC,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,YAAY,IAAI,CAAC,UAAU,YAAY,QAAQ,WAAW,CAAC;YACvH,MAAM,EAAE,CAAC,QAAgB,EAAE,EAAE,CAAC,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,MAAM,CAAC,YAAY,IAAI,CAAC,UAAU,YAAY,QAAQ,EAAE,CAAC;SAChH,CAAC;IACJ,CAAC;IAED,IAAI,SAAS;QACX,OAAO;YACL,IAAI,EAAE,GAAG,EAAE,CAAC,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,YAAY,IAAI,CAAC,UAAU,YAAY,CAAC;YAChF,MAAM,EAAE,CAAC,KAAyJ,EAAE,EAAE,CAAC,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,YAAY,IAAI,CAAC,UAAU,YAAY,EAAE,EAAE,IAAI,EAAE,KAAK,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,CAAC,MAAM,EAAE,IAAI,EAAE,KAAK,CAAC,IAAI,EAAE,YAAY,EAAE,KAAK,CAAC,UAAU,EAAE,KAAK,EAAE,KAAK,CAAC,KAAK,EAAE,WAAW,EAAE,KAAK,CAAC,SAAS,EAAE,SAAS,EAAE,KAAK,CAAC,QAAQ,IAAI,IAAI,EAAE,gBAAgB,EAAE,KAAK,CAAC,cAAc,IAAI,KAAK,EAAE,CAAC;YAChd,OAAO,EAAE,CAAC,UAAkB,EAAE,EAAE,CAAC,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,YAAY,IAAI,CAAC,UAAU,cAAc,UAAU,EAAE,CAAC;YACnH,MAAM,EAAE,CAAC,UAAkB,EAAE,KAA+J,EAAE,EAAE,CAAC,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,YAAY,IAAI,CAAC,UAAU,cAAc,UAAU,EAAE,EAAE,gBAAgB,CAAC,KAAK,CAAC,CAAC;YAC7S,GAAG,EAAE,CAAC,UAAkB,EAAE,EAAE,CAAC,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,YAAY,IAAI,CAAC,UAAU,cAAc,UAAU,UAAU,CAAC;YACxH,MAAM,EAAE,CAAC,UAAkB,EAAE,EAAE,CAAC,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,MAAM,CAAC,YAAY,IAAI,CAAC,UAAU,cAAc,UAAU,EAAE,CAAC;YACrH,KAAK,EAAE;gBACL,MAAM,EAAE,CAAC,UAAkB,EAAE,KAA4F,EAAE,EAAE,CAAC,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,YAAY,IAAI,CAAC,UAAU,cAAc,UAAU,QAAQ,EAAE,EAAE,MAAM,EAAE,KAAK,CAAC,MAAM,EAAE,OAAO,EAAE,KAAK,CAAC,OAAO,EAAE,WAAW,EAAE,KAAK,CAAC,UAAU,IAAI,CAAC,EAAE,mBAAmB,EAAE,KAAK,CAAC,iBAAiB,IAAI,KAAK,EAAE,CAAC;gBACpW,MAAM,EAAE,CAAC,UAAkB,EAAE,MAAc,EAAE,KAA8F,EAAE,EAAE,CAAC,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,YAAY,IAAI,CAAC,UAAU,cAAc,UAAU,UAAU,MAAM,EAAE,EAAE,YAAY,CAAC,KAAK,CAAC,CAAC;gBACxQ,MAAM,EAAE,CAAC,UAAkB,EAAE,MAAc,EAAE,EAAE,CAAC,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,MAAM,CAAC,YAAY,IAAI,CAAC,UAAU,cAAc,UAAU,UAAU,MAAM,EAAE,CAAC;aACtJ;SACF,CAAC;IACJ,CAAC;IAED,KAAK,CAAC,KAAK;QACT,MAAM,MAAM,GAAqD,EAAE,CAAC;QACpE,MAAM,SAAS,CAAC,MAAM,EAAE,WAAW,EAAE,GAAG,EAAE,CAAC,IAAI,CAAC,SAAS,EAAE,CAAC,CAAC;QAC7D,MAAM,SAAS,CAAC,MAAM,EAAE,YAAY,EAAE,GAAG,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC;QAClE,MAAM,SAAS,CAAC,MAAM,EAAE,mBAAmB,EAAE,GAAG,EAAE,CAAC,IAAI,CAAC,OAAO,CAAC,SAAS,EAAE,CAAC,CAAC;QAC7E,MAAM,SAAS,CAAC,MAAM,EAAE,cAAc,EAAE,GAAG,EAAE,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,EAAE,CAAC,CAAC;QACnE,MAAM,SAAS,CAAC,MAAM,EAAE,gBAAgB,EAAE,GAAG,EAAE,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,EAAE,CAAC,CAAC;QACvE,MAAM,SAAS,CAAC,MAAM,EAAE,cAAc,EAAE,GAAG,EAAE,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,EAAE,CAAC,CAAC;QACnE,MAAM,SAAS,CAAC,MAAM,EAAE,gBAAgB,EAAE,GAAG,EAAE,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,EAAE,CAAC,CAAC;QACvE,OAAO,EAAE,EAAE,EAAE,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,KAAK,CAAC,KAAK,CAAC,EAAE,CAAC,KAAK,CAAC,EAAE,CAAC,EAAE,UAAU,EAAE,IAAI,CAAC,UAAU,EAAE,MAAM,EAAE,CAAC;IACrG,CAAC;IAED,SAAS;QACP,OAAO,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,YAAY,IAAI,CAAC,UAAU,YAAY,CAAC,CAAC;IAC9E,CAAC;IAED,KAAK,CAAC,MAAyB;QAC7B,OAAO,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,YAAY,IAAI,CAAC,UAAU,QAAQ,EAAE,EAAE,MAAM,EAAE,CAAC,CAAC;IACvF,CAAC;IAED,KAAK;QACH,OAAO,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;IAC7B,CAAC;IAED,IAAI;QACF,OAAO,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;IAC5B,CAAC;IAED,OAAO;QACL,OAAO,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC;IAC/B,CAAC;IAED,IAAI;QACF,OAAO,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;IAC5B,CAAC;IAED,OAAO,CAAC,OAAe,EAAE,OAAsC;QAC7D,IAAI,IAAI,CAAC,OAAO,CAAC,QAAQ,IAAI,CAAC,OAAO,EAAE,cAAc,IAAI,kBAAkB,CAAC,OAAO,CAAC;YAAE,MAAM,IAAI,UAAU,CAAC,EAAE,IAAI,EAAE,2BAA2B,EAAE,OAAO,EAAE,yDAAyD,EAAE,IAAI,EAAE,2FAA2F,EAAE,CAAC,CAAC;QACzT,OAAO,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,YAAY,IAAI,CAAC,UAAU,UAAU,EAAE,EAAE,OAAO,EAAE,CAAC,CAAC;IAC1F,CAAC;CACF;AAED,KAAK,UAAU,SAAS,CAAC,MAAwD,EAAE,IAAY,EAAE,GAA2B;IAC1H,IAAI,CAAC;QACH,MAAM,GAAG,EAAE,CAAC;QACZ,MAAM,CAAC,IAAI,CAAC,GAAG,EAAE,EAAE,EAAE,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;IAC7C,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,MAAM,CAAC,IAAI,CAAC,GAAG,EAAE,EAAE,EAAE,KAAK,EAAE,OAAO,EAAE,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,CAAC;IAChG,CAAC;AACH,CAAC;AAED,SAAS,gBAAgB,CAAC,KAAoC;IAC5D,IAAI,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC;QAAE,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAClD,OAAO,KAAK,IAAI,EAAE,CAAC;AACrB,CAAC;AAED,SAAS,gBAAgB,CAAC,KAA+J;IACvL,MAAM,MAAM,GAA4B,EAAE,CAAC;IAC3C,IAAI,KAAK,CAAC,IAAI,KAAK,SAAS;QAAE,MAAM,CAAC,IAAI,GAAG,KAAK,CAAC,IAAI,CAAC;IACvD,IAAI,KAAK,CAAC,MAAM,KAAK,SAAS;QAAE,MAAM,CAAC,MAAM,GAAG,KAAK,CAAC,MAAM,CAAC;IAC7D,IAAI,KAAK,CAAC,IAAI,KAAK,SAAS;QAAE,MAAM,CAAC,IAAI,GAAG,KAAK,CAAC,IAAI,CAAC;IACvD,IAAI,KAAK,CAAC,UAAU,KAAK,SAAS;QAAE,MAAM,CAAC,YAAY,GAAG,KAAK,CAAC,UAAU,CAAC;IAC3E,IAAI,KAAK,CAAC,KAAK,KAAK,SAAS;QAAE,MAAM,CAAC,KAAK,GAAG,KAAK,CAAC,KAAK,CAAC;IAC1D,IAAI,KAAK,CAAC,SAAS,KAAK,SAAS;QAAE,MAAM,CAAC,WAAW,GAAG,KAAK,CAAC,SAAS,CAAC;IACxE,IAAI,KAAK,CAAC,QAAQ,KAAK,SAAS;QAAE,MAAM,CAAC,SAAS,GAAG,KAAK,CAAC,QAAQ,CAAC;IACpE,IAAI,KAAK,CAAC,cAAc,KAAK,SAAS;QAAE,MAAM,CAAC,gBAAgB,GAAG,KAAK,CAAC,cAAc,CAAC;IACvF,OAAO,MAAM,CAAC;AAChB,CAAC;AAED,SAAS,YAAY,CAAC,KAA8F;IAClH,MAAM,MAAM,GAA4B,EAAE,CAAC;IAC3C,IAAI,KAAK,CAAC,MAAM,KAAK,SAAS;QAAE,MAAM,CAAC,MAAM,GAAG,KAAK,CAAC,MAAM,CAAC;IAC7D,IAAI,KAAK,CAAC,OAAO,KAAK,SAAS;QAAE,MAAM,CAAC,OAAO,GAAG,KAAK,CAAC,OAAO,CAAC;IAChE,IAAI,KAAK,CAAC,UAAU,KAAK,SAAS;QAAE,MAAM,CAAC,WAAW,GAAG,KAAK,CAAC,UAAU,CAAC;IAC1E,IAAI,KAAK,CAAC,iBAAiB,KAAK,SAAS;QAAE,MAAM,CAAC,mBAAmB,GAAG,KAAK,CAAC,iBAAiB,CAAC;IAChG,OAAO,MAAM,CAAC;AAChB,CAAC;AAED,SAAS,kBAAkB,CAAC,OAAe;IACzC,MAAM,KAAK,GAAG,OAAO,CAAC,WAAW,EAAE,CAAC,IAAI,EAAE,CAAC;IAC3C,MAAM,QAAQ,GAAG;QACf,wEAAwE;QACxE,8BAA8B;QAC9B,iEAAiE;QACjE,sDAAsD;QACtD,2CAA2C;KAC5C,CAAC;IACF,OAAO,QAAQ,CAAC,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC;AACvD,CAAC"}
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@akaanakbaik/pterodactyl-gateway",
3
- "version": "1.0.1",
4
- "description": "SDK, CLI, dan smart gateway TypeScript untuk Pterodactyl Panel.",
3
+ "version": "1.0.2",
4
+ "description": "TypeScript SDK dan CLI untuk Pterodactyl Panel: create user/server, bot integration, dashboard automation, file manager, backups, schedules, dan server control.",
5
5
  "type": "module",
6
6
  "main": "./dist/index.js",
7
7
  "types": "./dist/index.d.ts",
@@ -23,6 +23,7 @@
23
23
  "add-promt.md",
24
24
  "LICENSE"
25
25
  ],
26
+ "sideEffects": false,
26
27
  "scripts": {
27
28
  "clean": "node -e \"require('fs').rmSync('dist',{recursive:true,force:true})\"",
28
29
  "build": "npm run clean && tsc -p tsconfig.json && npm run chmod:bin",
@@ -32,6 +33,8 @@
32
33
  "test:cli": "npm run build && node dist/cli-entry.js help && ./dist/cli-entry.js help && node dist/cli-entry.js version && node dist/cli-entry.js self-check && node dist/cli-entry.js release-check && node dist/cli-entry.js presets && node dist/cli-entry.js templates list && node dist/cli-entry.js config help && node dist/cli-entry.js config doctor && node dist/cli-entry.js explain DOMAIN_REQUIRED && node dist/cli-entry.js env-template && node dist/wizard-cli.js help && ./dist/wizard-cli.js help",
33
34
  "test:pack": "npm run build && npm pack --dry-run",
34
35
  "test:release": "node scripts/release-guard.js",
36
+ "security:audit": "npm audit --audit-level=high",
37
+ "ci": "npm run verify && npm run security:audit",
35
38
  "cli": "node dist/cli-entry.js",
36
39
  "wizard": "node dist/wizard-cli.js",
37
40
  "verify": "npm run typecheck && npm test && npm run test:cli && npm run test:release && npm run test:pack",
@@ -42,12 +45,42 @@
42
45
  "pterodactyl-panel",
43
46
  "pterodactyl-api",
44
47
  "pterodactyl-sdk",
48
+ "pterodactyl-cli",
49
+ "pterodactyl-client",
50
+ "pterodactyl-application-api",
51
+ "pterodactyl-client-api",
45
52
  "pterodactyl-gateway",
46
53
  "server-control",
47
- "typescript"
54
+ "server-management",
55
+ "game-panel",
56
+ "hosting-panel",
57
+ "panel-automation",
58
+ "bot-hosting",
59
+ "whatsapp-bot",
60
+ "telegram-bot",
61
+ "discord-bot",
62
+ "baileys",
63
+ "grammy",
64
+ "discordjs",
65
+ "dashboard",
66
+ "typescript",
67
+ "nodejs",
68
+ "sdk",
69
+ "cli"
48
70
  ],
49
71
  "author": "akaanakbaik",
50
72
  "license": "MIT",
73
+ "homepage": "https://github.com/akaanakbaik/pterodactyl-gateway#readme",
74
+ "repository": {
75
+ "type": "git",
76
+ "url": "git+https://github.com/akaanakbaik/pterodactyl-gateway.git"
77
+ },
78
+ "bugs": {
79
+ "url": "https://github.com/akaanakbaik/pterodactyl-gateway/issues"
80
+ },
81
+ "publishConfig": {
82
+ "access": "public"
83
+ },
51
84
  "engines": {
52
85
  "node": ">=18"
53
86
  },