@serverkgg/bridge 0.1.3 → 0.1.5
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/package.json +1 -1
- package/rules/package.md +5 -0
- package/src/bot/botCauses.test.ts +284 -0
- package/src/bot/botCauses.ts +58 -0
- package/src/bot/botDeploy.test.ts +260 -1
- package/src/bot/botDeploy.ts +125 -6
- package/src/bot/botState.ts +6 -0
- package/src/bot/detect/botInspectWarning.ts +3 -1
- package/src/bot/detect/botPackageManager.ts +3 -0
- package/src/bot/detect/corpus/alexmubarakshin-ts-telegraf-boilerplate.json +37 -0
- package/src/bot/detect/corpus/alsarmad-discord-quran-bot.json +40 -0
- package/src/bot/detect/corpus/anasty17-mirror-leech-telegram-bot.json +50 -0
- package/src/bot/detect/corpus/anidiotsguide-guidebot.json +36 -0
- package/src/bot/detect/corpus/anonymousx1025-anonxmusic.json +45 -0
- package/src/bot/detect/corpus/bot-base-telegram-bot-template.json +35 -0
- package/src/bot/detect/corpus/bracketed-templates-discordjs.json +40 -0
- package/src/bot/detect/corpus/cog-creators-red-discordbot.json +49 -0
- package/src/bot/detect/corpus/cranberriez-discord.ts-bot-template.json +35 -0
- package/src/bot/detect/corpus/crazycat256-nextcord-bot-template.json +38 -0
- package/src/bot/detect/corpus/discord-tickets-bot.json +45 -0
- package/src/bot/detect/corpus/edjopato-telegram-typescript-bot-template.json +37 -0
- package/src/bot/detect/corpus/haniali3161-bot-adhkar-telegram.json +33 -0
- package/src/bot/detect/corpus/hellosverre-discord-ts-template.json +34 -0
- package/src/bot/detect/corpus/kevinnovak-discord-bot-typescript-template.json +43 -0
- package/src/bot/detect/corpus/kkrypt0nn-python-discord-bot-template.json +41 -0
- package/src/bot/detect/corpus/kolezka-telegram-grammy-template.json +37 -0
- package/src/bot/detect/corpus/latand-tgbot_template_v3.json +37 -0
- package/src/bot/detect/corpus/mahmoudbm77-zekr-telegram-bot.json +36 -0
- package/src/bot/detect/corpus/mericcan41-discordjs-v14-template-ts.json +33 -0
- package/src/bot/detect/corpus/modmail-dev-modmail.json +52 -0
- package/src/bot/detect/corpus/nezdemkovski-telegram-bot-boilerplate.json +39 -0
- package/src/bot/detect/corpus/notchum-discord-bot-template.json +39 -0
- package/src/bot/detect/corpus/python-discord-bot.json +44 -0
- package/src/bot/detect/corpus/python-telegram-bot-rules-bot.json +39 -0
- package/src/bot/detect/corpus/rajdave69-pycord-bot-template.json +31 -0
- package/src/bot/detect/corpus/rapptz-robodanny.json +36 -0
- package/src/bot/detect/corpus/ry2x-typescript-discord.js-v.14-template.json +35 -0
- package/src/bot/detect/corpus/saiteja-madha-discord-js-bot.json +45 -0
- package/src/bot/detect/corpus/seegreatness-discord.js-for-heroku.json +37 -0
- package/src/bot/detect/corpus/serverk-discord-node.json +36 -0
- package/src/bot/detect/corpus/serverk-discord-python.json +35 -0
- package/src/bot/detect/corpus/serverk-telegram-node.json +36 -0
- package/src/bot/detect/corpus/serverk-telegram-python.json +35 -0
- package/src/bot/detect/corpus/shuruhatik-quran-radio-bot-discord.json +33 -0
- package/src/bot/detect/corpus/skyra-project-skyra.json +46 -0
- package/src/bot/detect/corpus/tgbot-collection-ytdlbot.json +41 -0
- package/src/bot/detect/corpus/zeriodev-music-bot.json +38 -0
- package/src/bot/detect/detect.corpus.test.ts +77 -0
- package/src/bot/detect/detect.test.ts +414 -17
- package/src/bot/detect/detect.ts +347 -36
- package/src/bot/detect/detectResult.ts +4 -0
- package/src/bot/detect/detectTable.test.ts +22 -6
- package/src/bot/detect/detectTable.ts +187 -19
- package/src/bot/detect/detectedVersion.ts +5 -0
- package/src/bot/detect/envExample.test.ts +55 -1
- package/src/bot/detect/envExample.ts +14 -0
- package/src/bot/detect/index.ts +1 -0
- package/src/bot/detect/keys.test.ts +32 -1
- package/src/bot/detect/keys.ts +15 -0
- package/src/bot/detect/serverkJson.test.ts +2 -0
- package/src/bot/detect/serverkJson.ts +4 -1
- package/src/bot/index.ts +1 -0
- package/src/cli/validate.test.ts +127 -1
- package/src/cli/validate.ts +42 -0
- package/src/manifest/manifest.ts +2 -1
- package/src/modules/bridge.ts +2 -0
- package/src/modules/bridgeModule.ts +5 -0
- package/src/protocol/bridgeCrash.ts +49 -0
- package/src/protocol/bridgeEvents.ts +9 -0
- package/src/protocol/bridgePreview.ts +1 -0
- package/src/rcon/rconAccess.ts +1 -1
- package/src/runtime/bridgeDriver.test.ts +45 -0
- package/src/runtime/bridgeDriver.ts +25 -0
- package/src/runtime/bridgeEvents.ts +2 -0
- package/src/runtime/bridgeRegistry.test.ts +32 -0
- package/src/runtime/bridgeSupervisor.test.ts +163 -3
- package/src/runtime/bridgeSupervisor.ts +42 -1
- package/src/runtime/serve.ts +26 -5
package/src/runtime/serve.ts
CHANGED
|
@@ -98,6 +98,14 @@ export const serve = async (driver: BridgeDriver) => {
|
|
|
98
98
|
|
|
99
99
|
const setup = createSetupHandlers(driver, log, redact);
|
|
100
100
|
|
|
101
|
+
const runHook = (hook: string, run: () => Promise<void>) => {
|
|
102
|
+
void run().catch((error: unknown) => {
|
|
103
|
+
log.warn(`lifecycle ${hook} hook failed`, {
|
|
104
|
+
error: errorText(error),
|
|
105
|
+
});
|
|
106
|
+
});
|
|
107
|
+
};
|
|
108
|
+
|
|
101
109
|
const supervisor = createSupervisor({
|
|
102
110
|
cwd: config.cwd,
|
|
103
111
|
uid: config.gameUid,
|
|
@@ -108,6 +116,8 @@ export const serve = async (driver: BridgeDriver) => {
|
|
|
108
116
|
subject: driver.lifecycle.subject,
|
|
109
117
|
ready: driver.lifecycle.ready,
|
|
110
118
|
failed: driver.lifecycle.failed,
|
|
119
|
+
graceSeconds: driver.lifecycle.graceSeconds,
|
|
120
|
+
stableLine: driver.lifecycle.stableLine,
|
|
111
121
|
redact,
|
|
112
122
|
onLog: log,
|
|
113
123
|
async resolveCommand() {
|
|
@@ -124,20 +134,31 @@ export const serve = async (driver: BridgeDriver) => {
|
|
|
124
134
|
await driver.lifecycle.stop?.(context);
|
|
125
135
|
},
|
|
126
136
|
onReady() {
|
|
127
|
-
|
|
128
|
-
|
|
129
|
-
|
|
130
|
-
|
|
137
|
+
ring.discard();
|
|
138
|
+
|
|
139
|
+
runHook("ready", async () => {
|
|
140
|
+
await driver.lifecycle.onReady?.(context);
|
|
131
141
|
});
|
|
132
142
|
},
|
|
133
143
|
onStable() {
|
|
134
144
|
ring.discard();
|
|
145
|
+
|
|
146
|
+
runHook("stable", async () => {
|
|
147
|
+
await driver.lifecycle.onStable?.(context);
|
|
148
|
+
});
|
|
135
149
|
},
|
|
136
150
|
onStopped() {
|
|
137
151
|
ring.discard();
|
|
138
152
|
},
|
|
139
153
|
onExit(record) {
|
|
140
|
-
ring.crash(record);
|
|
154
|
+
const cause = ring.crash(record);
|
|
155
|
+
|
|
156
|
+
runHook("exit", async () => {
|
|
157
|
+
await driver.lifecycle.onExit?.(context, {
|
|
158
|
+
...record,
|
|
159
|
+
cause,
|
|
160
|
+
});
|
|
161
|
+
});
|
|
141
162
|
},
|
|
142
163
|
});
|
|
143
164
|
|