@tekki-forge/runtime-api 0.3.0 → 0.3.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.
@@ -42,6 +42,45 @@ export declare function setupForge(options: ForgeApiOptions): Promise<{
42
42
  export declare function backupJob(app: AppIR, service: ForgeService): JobDefinition;
43
43
  export declare function createForgeApi(options: ForgeApiOptions): Promise<INestApplication>;
44
44
  export declare function createForge(options: ForgeApiOptions): Promise<ForgeApi>;
45
+ /**
46
+ * Tekki Cloud wakes sleeping apps by restoring a VM snapshot; every TCP connection in that memory is dead.
47
+ * Prisma reconnects lazily after $disconnect, plugins reopen theirs in onResume.
48
+ * The SIGUSR2 handlers that call this are only registered when TEKKI=1 (set by tekki-init), so apps elsewhere
49
+ * (e.g. under nodemon, which restarts on SIGUSR2) behave as before. A hung $disconnect is abandoned after
50
+ * `disconnectTimeoutMs` (default 5 s) so plugins still reconnect.
51
+ */
52
+ export declare function resumeAfterSnapshot(prisma: {
53
+ $disconnect(): Promise<void>;
54
+ }, plugins: {
55
+ runtime: {
56
+ onResume?(ctx: PluginContext): void | Promise<void>;
57
+ };
58
+ ctx: PluginContext;
59
+ }[], { disconnectTimeoutMs }?: {
60
+ disconnectTimeoutMs?: number;
61
+ }): Promise<void>;
62
+ /**
63
+ * Returns a trigger that runs `fn` at most once at a time: a call during a run schedules exactly one rerun
64
+ * after it finishes, and further calls in the meantime do not queue more.
65
+ */
66
+ export declare function coalesce(fn: () => Promise<void>): () => Promise<void>;
67
+ /**
68
+ * Signals Nest's shutdown hooks listen to. Nest's default list includes SIGUSR2: it closes the app and re-raises
69
+ * the signal, which would kill the API on every wake from a Tekki snapshot. On Tekki (TEKKI=1) SIGUSR2 means
70
+ * "resumed" and belongs to resumeAfterSnapshot; elsewhere the default list (`[]`) is kept, so e.g. nodemon's
71
+ * SIGUSR2 still closes the app gracefully.
72
+ */
73
+ export declare function shutdownSignals(env?: NodeJS.ProcessEnv): string[];
74
+ /**
75
+ * The API's process signals: Nest's shutdown hooks (see shutdownSignals), plugin onStop on SIGTERM/SIGINT and,
76
+ * on Tekki (TEKKI=1), resumeAfterSnapshot on SIGUSR2. Exported for tests.
77
+ */
78
+ export declare function handleApiSignals(app: Pick<INestApplication, "enableShutdownHooks">, prisma: {
79
+ $disconnect(): Promise<void>;
80
+ }, plugins: {
81
+ runtime: ForgeApiPlugin;
82
+ ctx: PluginContext;
83
+ }[], env?: NodeJS.ProcessEnv): void;
45
84
  export declare function startForgeApi(options: ForgeApiOptions & {
46
85
  port?: number;
47
86
  host?: string;
package/dist/bootstrap.js CHANGED
@@ -5,7 +5,7 @@ var __decorate = (this && this.__decorate) || function (decorators, target, key,
5
5
  return c > 3 && r && Object.defineProperty(target, key, r), r;
6
6
  };
7
7
  import "reflect-metadata";
8
- import { Module } from "@nestjs/common";
8
+ import { Module, ShutdownSignal } from "@nestjs/common";
9
9
  import { NestFactory } from "@nestjs/core";
10
10
  import { SwaggerModule } from "@nestjs/swagger";
11
11
  import { fromNodeHeaders, toNodeHandler } from "better-auth/node";
@@ -144,15 +144,89 @@ export async function createForge(options) {
144
144
  }
145
145
  return { app, service, plugins };
146
146
  }
147
- export async function startForgeApi(options) {
148
- const { app, plugins } = await createForge(options);
149
- app.enableShutdownHooks();
147
+ /**
148
+ * Tekki Cloud wakes sleeping apps by restoring a VM snapshot; every TCP connection in that memory is dead.
149
+ * Prisma reconnects lazily after $disconnect, plugins reopen theirs in onResume.
150
+ * The SIGUSR2 handlers that call this are only registered when TEKKI=1 (set by tekki-init), so apps elsewhere
151
+ * (e.g. under nodemon, which restarts on SIGUSR2) behave as before. A hung $disconnect is abandoned after
152
+ * `disconnectTimeoutMs` (default 5 s) so plugins still reconnect.
153
+ */
154
+ export async function resumeAfterSnapshot(prisma, plugins, { disconnectTimeoutMs = 5000 } = {}) {
155
+ let timer;
156
+ const timedOut = new Promise((resolve) => {
157
+ timer = setTimeout(() => {
158
+ console.error(`[forge] resume: prisma: $disconnect did not finish within ${disconnectTimeoutMs} ms, continuing`);
159
+ resolve();
160
+ }, disconnectTimeoutMs);
161
+ });
162
+ await Promise.race([prisma.$disconnect().catch((e) => console.error(`[forge] resume: prisma: ${e.message}`)), timedOut]);
163
+ clearTimeout(timer);
164
+ for (const p of plugins) {
165
+ try {
166
+ await p.runtime.onResume?.(p.ctx);
167
+ }
168
+ catch (e) {
169
+ console.error(`[forge] resume: plugin failed: ${e.message}`);
170
+ }
171
+ }
172
+ }
173
+ /**
174
+ * Returns a trigger that runs `fn` at most once at a time: a call during a run schedules exactly one rerun
175
+ * after it finishes, and further calls in the meantime do not queue more.
176
+ */
177
+ export function coalesce(fn) {
178
+ let running;
179
+ let rerun = false;
180
+ const run = () => {
181
+ running = fn()
182
+ .catch((e) => console.error(`[forge] resume: ${e.message}`))
183
+ .then(() => {
184
+ if (!rerun)
185
+ return void (running = undefined);
186
+ rerun = false;
187
+ return run();
188
+ });
189
+ return running;
190
+ };
191
+ return () => {
192
+ if (running) {
193
+ rerun = true;
194
+ return running;
195
+ }
196
+ return run();
197
+ };
198
+ }
199
+ /**
200
+ * Signals Nest's shutdown hooks listen to. Nest's default list includes SIGUSR2: it closes the app and re-raises
201
+ * the signal, which would kill the API on every wake from a Tekki snapshot. On Tekki (TEKKI=1) SIGUSR2 means
202
+ * "resumed" and belongs to resumeAfterSnapshot; elsewhere the default list (`[]`) is kept, so e.g. nodemon's
203
+ * SIGUSR2 still closes the app gracefully.
204
+ */
205
+ export function shutdownSignals(env = process.env) {
206
+ if (env.TEKKI !== "1")
207
+ return [];
208
+ return Object.values(ShutdownSignal).filter((s) => s !== ShutdownSignal.SIGUSR2);
209
+ }
210
+ /**
211
+ * The API's process signals: Nest's shutdown hooks (see shutdownSignals), plugin onStop on SIGTERM/SIGINT and,
212
+ * on Tekki (TEKKI=1), resumeAfterSnapshot on SIGUSR2. Exported for tests.
213
+ */
214
+ export function handleApiSignals(app, prisma, plugins, env = process.env) {
215
+ app.enableShutdownHooks(shutdownSignals(env));
150
216
  const stop = async () => {
151
217
  for (const p of plugins)
152
218
  await p.runtime.onStop?.(p.ctx);
153
219
  };
154
220
  process.once("SIGTERM", () => void stop());
155
221
  process.once("SIGINT", () => void stop());
222
+ if (env.TEKKI === "1") {
223
+ const resume = coalesce(() => resumeAfterSnapshot(prisma, plugins));
224
+ process.on("SIGUSR2", () => void resume());
225
+ }
226
+ }
227
+ export async function startForgeApi(options) {
228
+ const { app, plugins } = await createForge(options);
229
+ handleApiSignals(app, options.prisma, plugins);
156
230
  const port = options.port ?? Number(process.env.API_PORT ?? process.env.PORT ?? 4000);
157
231
  await app.listen(port, options.host ?? "0.0.0.0");
158
232
  console.log(`[forge] ${options.app.name} API listening on http://localhost:${port}${options.app.api.prefix}`);
@@ -201,6 +275,10 @@ export async function startForgeWorker(options) {
201
275
  };
202
276
  process.once("SIGTERM", () => void stop().then(() => process.exit(0)));
203
277
  process.once("SIGINT", () => void stop().then(() => process.exit(0)));
278
+ if (process.env.TEKKI === "1") {
279
+ const resume = coalesce(() => resumeAfterSnapshot(options.prisma, [...contexts, ...plugins]));
280
+ process.on("SIGUSR2", () => void resume());
281
+ }
204
282
  return { stop };
205
283
  }
206
284
  //# sourceMappingURL=bootstrap.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"bootstrap.js","sourceRoot":"","sources":["../src/bootstrap.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"bootstrap.js","sourceRoot":"","sources":["../src/bootstrap.ts"],"names":[],"mappings":"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"}
package/dist/plugin.d.ts CHANGED
@@ -31,6 +31,8 @@ export interface ForgeApiPlugin {
31
31
  onStart?(ctx: PluginContext): void | Promise<void>;
32
32
  /** Called on shutdown (SIGTERM). */
33
33
  onStop?(ctx: PluginContext): void | Promise<void>;
34
+ /** Called after the process resumes from a VM snapshot (Tekki Cloud sends SIGUSR2): reopen network connections. */
35
+ onResume?(ctx: PluginContext): void | Promise<void>;
34
36
  }
35
37
  export declare function definePluginRuntime<O = Record<string, unknown>>(factory: (options: O) => ForgeApiPlugin): (options?: O) => ForgeApiPlugin;
36
38
  /** The worker half of a plugin, exported from "<package>/worker" (background jobs process). */
@@ -40,4 +42,6 @@ export interface ForgeWorkerPlugin {
40
42
  /** After every worker plugin's setup (handlers registered). */
41
43
  onStart?(ctx: PluginContext): void | Promise<void>;
42
44
  onStop?(ctx: PluginContext): void | Promise<void>;
45
+ /** Called after the process resumes from a VM snapshot (Tekki Cloud sends SIGUSR2): reopen network connections. */
46
+ onResume?(ctx: PluginContext): void | Promise<void>;
43
47
  }
@@ -1 +1 @@
1
- {"version":3,"file":"plugin.js","sourceRoot":"","sources":["../src/plugin.ts"],"names":[],"mappings":"AAqCA,MAAM,UAAU,mBAAmB,CAA8B,OAAuC;IACtG,OAAO,CAAC,OAAW,EAAE,EAAE,CAAC,OAAO,CAAC,CAAC,OAAO,IAAI,EAAE,CAAM,CAAC,CAAC;AACxD,CAAC"}
1
+ {"version":3,"file":"plugin.js","sourceRoot":"","sources":["../src/plugin.ts"],"names":[],"mappings":"AAuCA,MAAM,UAAU,mBAAmB,CAA8B,OAAuC;IACtG,OAAO,CAAC,OAAW,EAAE,EAAE,CAAC,OAAO,CAAC,CAAC,OAAO,IAAI,EAAE,CAAM,CAAC,CAAC;AACxD,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@tekki-forge/runtime-api",
3
- "version": "0.3.0",
3
+ "version": "0.3.2",
4
4
  "description": "Forge API runtime: generic, IR-driven CRUD on NestJS with auth, RBAC, tenancy, audit and hooks",
5
5
  "keywords": [
6
6
  "code-generator",
@@ -46,10 +46,10 @@
46
46
  "reflect-metadata": "^0.2.2",
47
47
  "rxjs": "^7.8.2",
48
48
  "decimal.js": "^10.6.0",
49
- "@tekki-forge/compiler": "^0.3.0",
50
- "@tekki-forge/runtime-schema": "^0.3.0",
51
- "@tekki-forge/runtime-permissions": "^0.3.0",
52
- "@tekki-forge/expression": "^0.3.0"
49
+ "@tekki-forge/runtime-permissions": "^0.3.2",
50
+ "@tekki-forge/compiler": "^0.3.2",
51
+ "@tekki-forge/runtime-schema": "^0.3.2",
52
+ "@tekki-forge/expression": "^0.3.2"
53
53
  },
54
54
  "devDependencies": {
55
55
  "@types/express": "^5.0.3"