gemi 0.153.0 → 0.154.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.
@@ -0,0 +1,121 @@
1
+ import type { ModelSchema } from "./schema";
2
+ /**
3
+ * Typed `Json` columns (#995): a schema per column, declared once on the
4
+ * model's class, parsed on every read and validated on every write.
5
+ *
6
+ * ```ts
7
+ * export class PageBrief extends PageBriefModel {
8
+ * static $json = {
9
+ * heroes: s.array(HeroSchema),
10
+ * styles: { schema: s.array(StyleSchema), invalid: "null" },
11
+ * };
12
+ * }
13
+ * ```
14
+ *
15
+ * Applied in `Model.$exec` at the same two places as encrypted columns:
16
+ *
17
+ * - **Writes** validate the model's *own* columns in `data` (and an upsert's
18
+ * `create` / `update`), and write the parsed value. A nested write into a
19
+ * related model runs through that model's own `$exec`, which validates its
20
+ * own columns.
21
+ * - **Reads** parse the model's own rows after shaping, and the rows of a
22
+ * folded (lateral) include on the child's behalf, since those never enter
23
+ * the child's `$exec`.
24
+ *
25
+ * The schemas are read from the class *registered* under the model's name,
26
+ * not from `this`: the generated base, the app's subclass and every
27
+ * `Model.on(...)` variant share one set of columns, and a read through the
28
+ * generated base must not hand back an unparsed value the types call parsed.
29
+ *
30
+ * A schema is anything with gemi's `safeParse` (`s` from `gemi/ai`):
31
+ * `{ ok: true, value } | { ok: false, errors }`. Only the parsed `value` is
32
+ * written or returned, so keys the schema does not know are stripped.
33
+ */
34
+ /** What `safeParse` answers. The shape of gemi's `s` schemas. */
35
+ export type JsonSchemaResult<T> = {
36
+ ok: true;
37
+ value: T;
38
+ } | {
39
+ ok: false;
40
+ errors: string[];
41
+ };
42
+ /** A schema a `Json` column can be declared with: gemi's `s` builders, or anything shaped like them. */
43
+ export interface JsonColumnSchema<T = unknown> {
44
+ parse(value: unknown): T;
45
+ safeParse(value: unknown): JsonSchemaResult<T>;
46
+ }
47
+ /**
48
+ * What a read does with a stored value the schema refuses: `"throw"` (the
49
+ * default) raises `JsonColumnError`; `"null"` answers `null`; a function
50
+ * answers its own value (a fallback for rows written before the shape
51
+ * changed).
52
+ */
53
+ export type JsonColumnInvalid<T> = "throw" | "null" | ((value: unknown, errors: string[]) => T);
54
+ /** One column's declaration: a schema, or a schema with what to do with a stored value it refuses. */
55
+ export type JsonColumnSpec<T = any> = JsonColumnSchema<T> | {
56
+ schema: JsonColumnSchema<T>;
57
+ invalid?: JsonColumnInvalid<T>;
58
+ };
59
+ /** `static $json` on a model: a column name to its declaration. */
60
+ export type JsonColumnSpecs = Record<string, JsonColumnSpec>;
61
+ /**
62
+ * A stored `Json` value its column's schema refused on a read, with
63
+ * `invalid: "throw"` (the default).
64
+ */
65
+ export declare class JsonColumnError extends Error {
66
+ readonly column: {
67
+ model: string;
68
+ field: string;
69
+ };
70
+ readonly value: unknown;
71
+ readonly errors: string[];
72
+ constructor(column: {
73
+ model: string;
74
+ field: string;
75
+ }, value: unknown, errors: string[]);
76
+ }
77
+ interface Column {
78
+ field: string;
79
+ nullable: boolean;
80
+ schema: JsonColumnSchema;
81
+ invalid: JsonColumnInvalid<unknown>;
82
+ }
83
+ /**
84
+ * The model's typed `Json` columns, from the class registered under its name
85
+ * (else `fallback`, the class `$exec` was called on). Checked once per class:
86
+ * a key that is not a `Json` column of the model, or a value that is not a
87
+ * schema, throws.
88
+ */
89
+ export declare function jsonColumnsOf(schema: ModelSchema, fallback: object): readonly Column[];
90
+ export declare function markJsonLenient<T extends object>(options: T): T;
91
+ export declare function isJsonLenient(options: unknown): boolean;
92
+ /**
93
+ * Parses this model's typed `Json` columns on `rows`, in place. `lenient`:
94
+ * see `markJsonLenient`.
95
+ */
96
+ export declare function parseJsonRows(columns: readonly Column[], model: string, rows: readonly unknown[], lenient?: boolean): void;
97
+ /**
98
+ * Parses the rows a strategy folded into the parent's statement, which never
99
+ * passed through their own model's `$exec`. Recursive, because the fold is.
100
+ */
101
+ export declare function parseJsonFolded(relation: {
102
+ as: string;
103
+ model: string;
104
+ folded?: readonly {
105
+ as: string;
106
+ model: string;
107
+ folded?: readonly unknown[];
108
+ }[];
109
+ }, parents: readonly unknown[], lenient?: boolean): void;
110
+ /**
111
+ * `args` with this model's typed `Json` columns validated and replaced by
112
+ * their parsed values, or `args` itself when there is nothing to check. Never
113
+ * mutates the caller's objects. A value the schema refuses throws
114
+ * `InvalidArgumentError`. On a nullable column the null sentinels (`DbNull`,
115
+ * `JsonNull`) pass. On a non-nullable one `DbNull` is refused, and `JsonNull`
116
+ * only passes when the schema accepts `null`: otherwise the row could be
117
+ * written and then never read.
118
+ */
119
+ export declare function validateJsonWriteArgs(columns: readonly Column[], model: string, op: string, args: any): any;
120
+ export {};
121
+ //# sourceMappingURL=json-columns.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"json-columns.d.ts","sourceRoot":"","sources":["../../orm/json-columns.ts"],"names":[],"mappings":"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"}
@@ -46,6 +46,58 @@ export type JsonInput = Exclude<JsonValue, null> | DbNullValue | JsonNullValue;
46
46
  * where `{ equals: JsonNull }` is not a filter it accepts.
47
47
  */
48
48
  type IsJson<V> = [Exclude<JsonValue, null>] extends [NonNullable<V>] ? true : false;
49
+ /**
50
+ * The application's typed `Json` columns: `{ PageBrief: typeof PageBrief.$json }`.
51
+ *
52
+ * Augmented from the app's `app/models` barrel by the framework's own
53
+ * `gemi.d.ts`, the way `RPC` is from its routes, keyed by each exported
54
+ * class's name. Empty here, so every `Json` column keeps `JsonValue` until a
55
+ * model declares `static $json`.
56
+ */
57
+ export interface JsonColumns {
58
+ }
59
+ type JsonSpecSchema<S> = S extends {
60
+ schema: infer X;
61
+ } ? X : S;
62
+ type JsonSchemaOutput<S> = S extends {
63
+ parse(value: unknown): infer T;
64
+ } ? T : JsonValue;
65
+ type JsonSpecOutput<S> = JsonSchemaOutput<JsonSpecSchema<S>> | (S extends {
66
+ invalid: "null";
67
+ } ? null : never);
68
+ /**
69
+ * What the generated descriptor carries for each `Json` column: the type a
70
+ * read answers and the type a write takes. The schema's when the model
71
+ * declares one (`JsonColumns`), else `JsonValue` and `JsonInput`, which is
72
+ * what every `Json` column had before.
73
+ */
74
+ export type JsonColumnTypes<M extends string, F extends string, Nullable extends boolean> = M extends keyof JsonColumns ? F extends keyof JsonColumns[M] ? {
75
+ output: JsonSpecOutput<JsonColumns[M][F]> | (Nullable extends true ? null : never);
76
+ input: Exclude<JsonSchemaOutput<JsonSpecSchema<JsonColumns[M][F]>>, null> | (Nullable extends true ? DbNullValue | JsonNullValue : never);
77
+ } : {
78
+ output: JsonValue | (Nullable extends true ? null : never);
79
+ input: JsonInput;
80
+ } : {
81
+ output: JsonValue | (Nullable extends true ? null : never);
82
+ input: JsonInput;
83
+ };
84
+ /** A `Json` column's write type, for the generated `create` scalars. */
85
+ export type JsonColumnInput<M extends string, F extends string, Nullable extends boolean = true> = JsonColumnTypes<M, F, Nullable>["input"];
86
+ type JsonColumnPair = {
87
+ output: unknown;
88
+ input: unknown;
89
+ };
90
+ type JsonTypesOf<M> = M extends {
91
+ json: infer J extends Record<string, JsonColumnPair>;
92
+ } ? J : {};
93
+ /**
94
+ * The row's column types: `scalars` with each typed `Json` column replaced
95
+ * by its schema's output. `scalars` itself stays the raw column type, which
96
+ * is what filters, sorting and grouping are built from.
97
+ */
98
+ type Columns<M extends ModelTypeInfo> = [keyof JsonTypesOf<M>] extends [never] ? Scalars<M> : {
99
+ [K in keyof Scalars<M>]: K extends keyof JsonTypesOf<M> ? (JsonTypesOf<M>[K] & JsonColumnPair)["output"] : Scalars<M>[K];
100
+ };
49
101
  /** One relation, as the generated descriptor describes it. */
50
102
  export interface RelationInfo {
51
103
  kind: "one" | "many";
@@ -135,13 +187,13 @@ type RelationCountPayload<M extends ModelTypeInfo, A> = "select" extends keyof A
135
187
  [K in keyof Relations<M> as Relations<M>[K]["kind"] extends "many" ? K : never]: number;
136
188
  };
137
189
  type SelectPayload<M extends ModelTypeInfo, S> = {
138
- [K in Requested<S>]: K extends keyof Scalars<M> ? Scalars<M>[K] : K extends keyof Relations<M> ? RelationPayload<Relations<M>[K], S[K]> : K extends "_count" ? RelationCountPayload<M, S[K]> : never;
190
+ [K in Requested<S>]: K extends keyof Scalars<M> ? Columns<M>[K] : K extends keyof Relations<M> ? RelationPayload<Relations<M>[K], S[K]> : K extends "_count" ? RelationCountPayload<M, S[K]> : never;
139
191
  };
140
192
  type IncludePayload<M extends ModelTypeInfo, I> = {
141
193
  [K in Requested<I>]: K extends keyof Relations<M> ? RelationPayload<Relations<M>[K], I[K]> : K extends "_count" ? RelationCountPayload<M, I[K]> : never;
142
194
  };
143
195
  /** `omit: { email: true }` removes the column from the default selection. */
144
- type OmitPayload<M extends ModelTypeInfo, O> = Omit<Scalars<M>, Requested<O>>;
196
+ type OmitPayload<M extends ModelTypeInfo, O> = Omit<Columns<M>, Requested<O>>;
145
197
  /**
146
198
  * The result of an operation, narrowed by the arguments it was given.
147
199
  *
@@ -178,10 +230,10 @@ type OmitPayload<M extends ModelTypeInfo, O> = Omit<Scalars<M>, Requested<O>>;
178
230
  * rejects `orderBey` inside a relation's arguments, which nothing else catches.
179
231
  */
180
232
  export type Payload<M extends ModelTypeInfo, A> = "select" extends keyof A ? [A["select"]] extends [undefined] ? DefaultPayload<M, A> : SelectPayload<M, NonNullable<A["select"]>> : DefaultPayload<M, A>;
181
- type DefaultPayload<M extends ModelTypeInfo, A> = "omit" extends keyof A ? [A["omit"]] extends [undefined] ? WithInclude<M, A, Scalars<M>> : WithInclude<M, A, OmitPayload<M, NonNullable<A["omit"]>>> : WithInclude<M, A, Scalars<M>>;
233
+ type DefaultPayload<M extends ModelTypeInfo, A> = "omit" extends keyof A ? [A["omit"]] extends [undefined] ? WithInclude<M, A, Columns<M>> : WithInclude<M, A, OmitPayload<M, NonNullable<A["omit"]>>> : WithInclude<M, A, Columns<M>>;
182
234
  type WithInclude<M extends ModelTypeInfo, A, Base> = "include" extends keyof A ? [A["include"]] extends [undefined] ? Base : Base & IncludePayload<M, NonNullable<A["include"]>> : Base;
183
235
  /** Every column of the model, which is what `wrap` demands and `include` keeps. */
184
- export type Row<M extends ModelTypeInfo> = Scalars<M>;
236
+ export type Row<M extends ModelTypeInfo> = Columns<M>;
185
237
  /**
186
238
  * The scalar operators, from `compile/where.ts`'s own table.
187
239
  *
@@ -895,7 +947,7 @@ type UpdateField<V> = IsJson<V> extends true ? JsonInput : [NonNullable<V>] exte
895
947
  set?: V;
896
948
  };
897
949
  export type UpdateInput<M extends ModelTypeInfo> = {
898
- [K in keyof Scalars<M>]?: UpdateField<Scalars<M>[K]>;
950
+ [K in keyof Scalars<M>]?: K extends keyof JsonTypesOf<M> ? (JsonTypesOf<M>[K] & JsonColumnPair)["input"] : UpdateField<Scalars<M>[K]>;
899
951
  } & {
900
952
  [K in keyof Relations<M>]?: NestedUpdate<Relations<M>[K]>;
901
953
  };
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../orm/types.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../orm/types.ts"],"names":[],"mappings":"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"}
@@ -1,4 +1,4 @@
1
1
  // @bun
2
- import{Ca as f}from"../chunk-kk18xqgc.js";import{Da as S}from"../chunk-403b2rfp.js";import{fl as Q,hl as Z,il as P,jl as y,kl as U,ll as A}from"../chunk-mzkzgp2j.js";import{pl as H}from"../chunk-apga49vp.js";import"../chunk-6tkkvaqg.js";import{xl as F}from"../chunk-baj76zja.js";var x="/__gemi__/health",$=Symbol.for("gemi.server.health");function V(){let z=globalThis;return z[$]??={lagMs:0,consecutiveBreaches:0,degraded:!1,timer:void 0},z[$]}function W(){let z=V(),B=Q();return{healthy:!B&&!z.degraded,shuttingDown:B,lagMs:z.lagMs,consecutiveBreaches:z.consecutiveBreaches}}function E(z,B){let I=V();I.lagMs=z,I.consecutiveBreaches=z>B.maxLagMs?I.consecutiveBreaches+1:0;let J=I.consecutiveBreaches>=B.breaches;if(J&&!I.degraded)console.warn(`[gemi] Health: degraded (event-loop lag ${Math.round(z)}ms, ${I.consecutiveBreaches} samples in a row over ${B.maxLagMs}ms).`);else if(!J&&I.degraded)console.log(`[gemi] Health: recovered (event-loop lag ${Math.round(z)}ms).`);I.degraded=J}function G(z){let B=V();if(B.timer)return;let I=performance.now()+z.intervalMs;B.timer=setInterval(()=>{let J=performance.now();E(Math.max(0,J-I),z),I=J+z.intervalMs},z.intervalMs),B.timer.unref?.()}function _(z=process.env){return{paths:D(z.GEMI_HEALTH_PATH),intervalMs:O("GEMI_HEALTH_INTERVAL_MS",z.GEMI_HEALTH_INTERVAL_MS,500),maxLagMs:O("GEMI_HEALTH_MAX_LAG_MS",z.GEMI_HEALTH_MAX_LAG_MS,1000),breaches:Math.ceil(O("GEMI_HEALTH_BREACHES",z.GEMI_HEALTH_BREACHES,3))}}function D(z){if(z===void 0||z.trim()==="")return[x];if(z.trim().toLowerCase()==="off")return[];let B=z.split(",").map((J)=>J.trim()).filter(Boolean);if(B.filter((J)=>!J.startsWith("/")).length>0)throw Error(`GEMI_HEALTH_PATH: expected comma-separated paths starting with "/", or "off"; got ${JSON.stringify(z)}.`);return B}function O(z,B,I){if(B===void 0||B.trim()==="")return I;let J=Number(B);if(Number.isFinite(J)&&J>0)return J;return console.warn(`[gemi] Ignoring ${z}="${B}": expected a positive number.`),I}function j(z,B){if(B.length===0)return z;let I=new Set(B);return async(J,K)=>{if(!B.some((b)=>J.url.includes(b))||!I.has(new URL(J.url).pathname))return z(J,K);return y(R(J.method))}}function R(z){let B={"Cache-Control":"no-store","Content-Type":"text/plain; charset=utf-8"};if(z!=="GET"&&z!=="HEAD")return new Response("Method Not Allowed",{status:405,headers:{...B,Allow:"GET, HEAD"}});let{healthy:I,shuttingDown:J}=W();return new Response(z==="HEAD"?null:I?"ok":J?"shutting down":"degraded",{status:I?200:503,headers:B})}var L=Symbol.for("gemi.server.devGeneration"),X={graceMs:1e4,providerTimeoutMs:5000};class Y{app;inFlight=0;waiters=new Set;constructor(z){this.app=z}track(z){return async(B,I)=>{this.inFlight++;try{return await z(B,I)}finally{if(this.inFlight--,this.inFlight===0)this.wake()}}}get pending(){return this.inFlight}async retire({graceMs:z,providerTimeoutMs:B}){try{await this.idle(z),await Promise.resolve().then(()=>this.app.shutdown({timeoutMs:B}))}catch(I){C(I)}}idle(z){if(this.inFlight===0)return Promise.resolve();return new Promise((B)=>{let I=()=>{clearTimeout(J),this.waiters.delete(I),B()},J=setTimeout(I,z);this.waiters.add(I)})}wake(){for(let z of this.waiters)z()}}function N(z,B=X){let I=globalThis,J=I[L];if(I[L]=z,!J||J===z||typeof J.retire!=="function")return Promise.resolve();let K=J.retire.bind(J);return Promise.resolve().then(()=>K(B)).catch(C)}function C(z){console.error("[gemi] Shutting down the application a reload replaced failed:",z)}class k{app;instrumentation;handleSignals;server;stopping;settings;constructor(z){this.app=new S({kernel:z.kernel}),this.handleSignals=z.handleSignals??!0,this.instrumentation=U(z.instrumentation??((B,I)=>I(B)))}async start(){process.env.ROOT_DIR=H();let z=Bun.env.NODE_ENV==="production",B=_();if(z)G(B);let I=j(this.instrumentation,B.paths);if(z){if(this.handleSignals)A(()=>this.stop());this.settings=Z()}try{await this.app.waitForBoot()}catch(J){if(!z)this.app.shutdown({timeoutMs:X.providerTimeoutMs});throw J}if(z){let{httpProd:J}=await import("../chunk-wwck0xwn.js");this.server=await J(this.app,I)}else{f();let{httpDev:J}=await import("../chunk-2b6d1kaz.js"),K=new Y(this.app);this.server=await J(this.app,K.track(I)),N(K)}return this.server}stop(z={}){let B=this.app.sockets();return this.stopping??=P({server:this.server,closeSockets:B?()=>B.shutdown():void 0,shutdownProviders:(I)=>this.app.shutdown(I),settings:{...this.settings??Z(),...z}}),this.stopping}}export{W as liveness,Q as isShuttingDown,k as Server};
2
+ import{Ca as f}from"../chunk-kk18xqgc.js";import{Da as S}from"../chunk-403b2rfp.js";import{fl as Q,hl as Z,il as P,jl as y,kl as U,ll as A}from"../chunk-mzkzgp2j.js";import{pl as H}from"../chunk-apga49vp.js";import"../chunk-6tkkvaqg.js";import{xl as F}from"../chunk-baj76zja.js";var x="/__gemi__/health",$=Symbol.for("gemi.server.health");function V(){let z=globalThis;return z[$]??={lagMs:0,consecutiveBreaches:0,degraded:!1,timer:void 0},z[$]}function W(){let z=V(),B=Q();return{healthy:!B&&!z.degraded,shuttingDown:B,lagMs:z.lagMs,consecutiveBreaches:z.consecutiveBreaches}}function E(z,B){let I=V();I.lagMs=z,I.consecutiveBreaches=z>B.maxLagMs?I.consecutiveBreaches+1:0;let J=I.consecutiveBreaches>=B.breaches;if(J&&!I.degraded)console.warn(`[gemi] Health: degraded (event-loop lag ${Math.round(z)}ms, ${I.consecutiveBreaches} samples in a row over ${B.maxLagMs}ms).`);else if(!J&&I.degraded)console.log(`[gemi] Health: recovered (event-loop lag ${Math.round(z)}ms).`);I.degraded=J}function G(z){let B=V();if(B.timer)return;let I=performance.now()+z.intervalMs;B.timer=setInterval(()=>{let J=performance.now();E(Math.max(0,J-I),z),I=J+z.intervalMs},z.intervalMs),B.timer.unref?.()}function _(z=process.env){return{paths:D(z.GEMI_HEALTH_PATH),intervalMs:O("GEMI_HEALTH_INTERVAL_MS",z.GEMI_HEALTH_INTERVAL_MS,500),maxLagMs:O("GEMI_HEALTH_MAX_LAG_MS",z.GEMI_HEALTH_MAX_LAG_MS,1000),breaches:Math.ceil(O("GEMI_HEALTH_BREACHES",z.GEMI_HEALTH_BREACHES,3))}}function D(z){if(z===void 0||z.trim()==="")return[x];if(z.trim().toLowerCase()==="off")return[];let B=z.split(",").map((J)=>J.trim()).filter(Boolean);if(B.filter((J)=>!J.startsWith("/")).length>0)throw Error(`GEMI_HEALTH_PATH: expected comma-separated paths starting with "/", or "off"; got ${JSON.stringify(z)}.`);return B}function O(z,B,I){if(B===void 0||B.trim()==="")return I;let J=Number(B);if(Number.isFinite(J)&&J>0)return J;return console.warn(`[gemi] Ignoring ${z}="${B}": expected a positive number.`),I}function j(z,B){if(B.length===0)return z;let I=new Set(B);return async(J,K)=>{if(!B.some((b)=>J.url.includes(b))||!I.has(new URL(J.url).pathname))return z(J,K);return y(R(J.method))}}function R(z){let B={"Cache-Control":"no-store","Content-Type":"text/plain; charset=utf-8"};if(z!=="GET"&&z!=="HEAD")return new Response("Method Not Allowed",{status:405,headers:{...B,Allow:"GET, HEAD"}});let{healthy:I,shuttingDown:J}=W();return new Response(z==="HEAD"?null:I?"ok":J?"shutting down":"degraded",{status:I?200:503,headers:B})}var L=Symbol.for("gemi.server.devGeneration"),X={graceMs:1e4,providerTimeoutMs:5000};class Y{app;inFlight=0;waiters=new Set;constructor(z){this.app=z}track(z){return async(B,I)=>{this.inFlight++;try{return await z(B,I)}finally{if(this.inFlight--,this.inFlight===0)this.wake()}}}get pending(){return this.inFlight}async retire({graceMs:z,providerTimeoutMs:B}){try{await this.idle(z),await Promise.resolve().then(()=>this.app.shutdown({timeoutMs:B}))}catch(I){C(I)}}idle(z){if(this.inFlight===0)return Promise.resolve();return new Promise((B)=>{let I=()=>{clearTimeout(J),this.waiters.delete(I),B()},J=setTimeout(I,z);this.waiters.add(I)})}wake(){for(let z of this.waiters)z()}}function N(z,B=X){let I=globalThis,J=I[L];if(I[L]=z,!J||J===z||typeof J.retire!=="function")return Promise.resolve();let K=J.retire.bind(J);return Promise.resolve().then(()=>K(B)).catch(C)}function C(z){console.error("[gemi] Shutting down the application a reload replaced failed:",z)}class k{app;instrumentation;handleSignals;server;stopping;settings;constructor(z){this.app=new S({kernel:z.kernel}),this.handleSignals=z.handleSignals??!0,this.instrumentation=U(z.instrumentation??((B,I)=>I(B)))}async start(){process.env.ROOT_DIR=H();let z=Bun.env.NODE_ENV==="production",B=_();if(z)G(B);let I=j(this.instrumentation,B.paths);if(z){if(this.handleSignals)A(()=>this.stop());this.settings=Z()}try{await this.app.waitForBoot()}catch(J){if(!z)this.app.shutdown({timeoutMs:X.providerTimeoutMs});throw J}if(z){let{httpProd:J}=await import("../chunk-qeqwe5b1.js");this.server=await J(this.app,I)}else{f();let{httpDev:J}=await import("../chunk-g23xnzc1.js"),K=new Y(this.app);this.server=await J(this.app,K.track(I)),N(K)}return this.server}stop(z={}){let B=this.app.sockets();return this.stopping??=P({server:this.server,closeSockets:B?()=>B.shutdown():void 0,shutdownProviders:(I)=>this.app.shutdown(I),settings:{...this.settings??Z(),...z}}),this.stopping}}export{W as liveness,Q as isShuttingDown,k as Server};
3
3
 
4
4
  //# debugId=3B2C064BF807ADA964756E2164756E21
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "gemi",
3
- "version": "0.153.0",
3
+ "version": "0.154.0",
4
4
  "private": false,
5
5
  "license": "MIT",
6
6
  "author": "Enes Tufekci <enes@gemijs.dev>",