gemi 0.154.0 → 0.156.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (38) hide show
  1. package/dist/ai/Agent.d.ts +15 -0
  2. package/dist/ai/Agent.d.ts.map +1 -1
  3. package/dist/ai/AgentController.d.ts +25 -1
  4. package/dist/ai/AgentController.d.ts.map +1 -1
  5. package/dist/ai/contextCompaction.d.ts +9 -1
  6. package/dist/ai/contextCompaction.d.ts.map +1 -1
  7. package/dist/ai/index.js +11 -11
  8. package/dist/ai/index.js.map +3 -3
  9. package/dist/bin/orm/emit.d.ts.map +1 -1
  10. package/dist/bin/orm-generator.js +2 -1
  11. package/dist/bin/orm-generator.js.map +3 -3
  12. package/dist/{chunk-qkh0xagt.js → chunk-30gw44g9.js} +2 -2
  13. package/dist/{chunk-qkh0xagt.js.map → chunk-30gw44g9.js.map} +1 -1
  14. package/dist/{chunk-ae5ycktd.js → chunk-gmsst3fx.js} +1 -1
  15. package/dist/{chunk-qeqwe5b1.js → chunk-qned028z.js} +1 -1
  16. package/dist/{chunk-g23xnzc1.js → chunk-v1460k0a.js} +1 -1
  17. package/dist/chunk-y959p390.js +30 -0
  18. package/dist/{chunk-1q5eagpm.js.map → chunk-y959p390.js.map} +4 -4
  19. package/dist/gemi.d.ts +8 -0
  20. package/dist/kernel/index.js +1 -1
  21. package/dist/orm/Model.d.ts +17 -2
  22. package/dist/orm/Model.d.ts.map +1 -1
  23. package/dist/orm/index.d.ts +3 -3
  24. package/dist/orm/index.d.ts.map +1 -1
  25. package/dist/orm/index.js +3 -3
  26. package/dist/orm/index.js.map +5 -5
  27. package/dist/orm/{json-columns.d.ts → typed-columns.d.ts} +59 -18
  28. package/dist/orm/typed-columns.d.ts.map +1 -0
  29. package/dist/orm/types.d.ts +43 -8
  30. package/dist/orm/types.d.ts.map +1 -1
  31. package/dist/server/index.js +1 -1
  32. package/dist/services/index.js +1 -1
  33. package/package.json +1 -1
  34. package/dist/chunk-1q5eagpm.js +0 -30
  35. package/dist/orm/json-columns.d.ts.map +0 -1
  36. /package/dist/{chunk-ae5ycktd.js.map → chunk-gmsst3fx.js.map} +0 -0
  37. /package/dist/{chunk-qeqwe5b1.js.map → chunk-qned028z.js.map} +0 -0
  38. /package/dist/{chunk-g23xnzc1.js.map → chunk-v1460k0a.js.map} +0 -0
@@ -1,7 +1,14 @@
1
1
  import type { ModelSchema } from "./schema";
2
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.
3
+ * Typed columns: a schema per column, declared once on the model's class,
4
+ * parsed on every read and validated on every write. Two declarations share
5
+ * this module:
6
+ *
7
+ * - `static $json` (#995) for `Json` columns: documents, with Prisma's
8
+ * `DbNull` / `JsonNull` markers.
9
+ * - `static $columns` (#1001) for scalar (`String`) columns: ids into a
10
+ * code-side catalogue, read as the catalogue's union. `where` keeps the
11
+ * column's own filter, and an update's `{ set: value }` is validated too.
5
12
  *
6
13
  * ```ts
7
14
  * export class PageBrief extends PageBriefModel {
@@ -9,6 +16,9 @@ import type { ModelSchema } from "./schema";
9
16
  * heroes: s.array(HeroSchema),
10
17
  * styles: { schema: s.array(StyleSchema), invalid: "null" },
11
18
  * };
19
+ * static $columns = {
20
+ * designStyle: { schema: s.enum(DESIGN_STYLE_IDS), invalid: "null" },
21
+ * };
12
22
  * }
13
23
  * ```
14
24
  *
@@ -58,6 +68,13 @@ export type JsonColumnSpec<T = any> = JsonColumnSchema<T> | {
58
68
  };
59
69
  /** `static $json` on a model: a column name to its declaration. */
60
70
  export type JsonColumnSpecs = Record<string, JsonColumnSpec>;
71
+ /**
72
+ * One scalar column's declaration in `static $columns` (#1001): the same
73
+ * shape as a `Json` column's, a schema or `{ schema, invalid }`.
74
+ */
75
+ export type ScalarColumnSpec<T = any> = JsonColumnSpec<T>;
76
+ /** `static $columns` on a model: a column name to its declaration. */
77
+ export type ScalarColumnSpecs = Record<string, ScalarColumnSpec>;
61
78
  /**
62
79
  * A stored `Json` value its column's schema refused on a read, with
63
80
  * `invalid: "throw"` (the default).
@@ -74,31 +91,50 @@ export declare class JsonColumnError extends Error {
74
91
  field: string;
75
92
  }, value: unknown, errors: string[]);
76
93
  }
94
+ /**
95
+ * A stored value in a typed scalar column (`static $columns`) that its schema
96
+ * refused on a read, with `invalid: "throw"` (the default).
97
+ */
98
+ export declare class ScalarColumnError extends Error {
99
+ readonly column: {
100
+ model: string;
101
+ field: string;
102
+ };
103
+ readonly value: unknown;
104
+ readonly errors: string[];
105
+ constructor(column: {
106
+ model: string;
107
+ field: string;
108
+ }, value: unknown, errors: string[]);
109
+ }
110
+ /** Which declaration a column came from: `$json` or `$columns`. */
111
+ type Kind = "json" | "scalar";
77
112
  interface Column {
113
+ kind: Kind;
78
114
  field: string;
79
115
  nullable: boolean;
80
116
  schema: JsonColumnSchema;
81
117
  invalid: JsonColumnInvalid<unknown>;
82
118
  }
83
119
  /**
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.
120
+ * The model's typed columns (`$json` and `$columns`), from the class
121
+ * registered under its name (else `fallback`, the class `$exec` was called
122
+ * on). Checked once per class: a key that is not a column of the right type,
123
+ * or a value that is not a schema, throws.
88
124
  */
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;
125
+ export declare function typedColumnsOf(schema: ModelSchema, fallback: object): readonly Column[];
126
+ export declare function markLenient<T extends object>(options: T): T;
127
+ export declare function isLenient(options: unknown): boolean;
92
128
  /**
93
- * Parses this model's typed `Json` columns on `rows`, in place. `lenient`:
94
- * see `markJsonLenient`.
129
+ * Parses this model's typed columns on `rows`, in place. `lenient`: see
130
+ * `markLenient`.
95
131
  */
96
- export declare function parseJsonRows(columns: readonly Column[], model: string, rows: readonly unknown[], lenient?: boolean): void;
132
+ export declare function parseTypedRows(columns: readonly Column[], model: string, rows: readonly unknown[], lenient?: boolean): void;
97
133
  /**
98
134
  * Parses the rows a strategy folded into the parent's statement, which never
99
135
  * passed through their own model's `$exec`. Recursive, because the fold is.
100
136
  */
101
- export declare function parseJsonFolded(relation: {
137
+ export declare function parseTypedFolded(relation: {
102
138
  as: string;
103
139
  model: string;
104
140
  folded?: readonly {
@@ -108,14 +144,19 @@ export declare function parseJsonFolded(relation: {
108
144
  }[];
109
145
  }, parents: readonly unknown[], lenient?: boolean): void;
110
146
  /**
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
147
+ * `args` with this model's typed columns validated and replaced by their
148
+ * parsed values, or `args` itself when there is nothing to check. Never
113
149
  * mutates the caller's objects. A value the schema refuses throws
114
- * `InvalidArgumentError`. On a nullable column the null sentinels (`DbNull`,
150
+ * `InvalidArgumentError`.
151
+ *
152
+ * `Json` columns: on a nullable column the null sentinels (`DbNull`,
115
153
  * `JsonNull`) pass. On a non-nullable one `DbNull` is refused, and `JsonNull`
116
154
  * only passes when the schema accepts `null`: otherwise the row could be
117
155
  * written and then never read.
156
+ *
157
+ * Scalar columns: `null` passes on a nullable column and is refused on a
158
+ * non-nullable one. An update's `{ set: value }` is validated like `value`.
118
159
  */
119
- export declare function validateJsonWriteArgs(columns: readonly Column[], model: string, op: string, args: any): any;
160
+ export declare function validateTypedWriteArgs(columns: readonly Column[], model: string, op: string, args: any): any;
120
161
  export {};
121
- //# sourceMappingURL=json-columns.d.ts.map
162
+ //# sourceMappingURL=typed-columns.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"typed-columns.d.ts","sourceRoot":"","sources":["../../orm/typed-columns.ts"],"names":[],"mappings":"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"}
@@ -91,12 +91,38 @@ type JsonTypesOf<M> = M extends {
91
91
  json: infer J extends Record<string, JsonColumnPair>;
92
92
  } ? J : {};
93
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.
94
+ * The application's typed scalar columns: `{ Website: typeof Website.$columns }`.
95
+ *
96
+ * Augmented from the app's `app/models` barrel by the framework's own
97
+ * `gemi.d.ts`, like `JsonColumns`. Looked up by the model's `name`, which the
98
+ * generator emits on each descriptor, so a model without `$columns` costs
99
+ * nothing and a descriptor from an older generator keeps raw columns.
100
+ */
101
+ export interface ScalarColumns {
102
+ }
103
+ type ScalarSpecsOf<M> = M extends {
104
+ name: infer N;
105
+ } ? N extends keyof ScalarColumns ? ScalarColumns[N] : {} : {};
106
+ /**
107
+ * Each typed scalar column's read and write types, like `JsonColumnTypes`.
108
+ * Nullability is read off the raw column type: `null` stays in both on a
109
+ * nullable column, and `invalid: "null"` adds it to the read type only.
110
+ */
111
+ type ScalarTypesOf<M extends ModelTypeInfo> = {
112
+ [K in keyof ScalarSpecsOf<M> & keyof Scalars<M>]: {
113
+ output: JsonSpecOutput<ScalarSpecsOf<M>[K]> | (null extends Scalars<M>[K] ? null : never);
114
+ input: Exclude<JsonSchemaOutput<JsonSpecSchema<ScalarSpecsOf<M>[K]>>, null> | (null extends Scalars<M>[K] ? null : never);
115
+ };
116
+ };
117
+ /** Every typed column of the model, `Json` and scalar, as `{ output, input }`. */
118
+ type TypedColumnsOf<M extends ModelTypeInfo> = JsonTypesOf<M> & ScalarTypesOf<M>;
119
+ /**
120
+ * The row's column types: `scalars` with each typed column replaced by its
121
+ * schema's output. `scalars` itself stays the raw column type, which is what
122
+ * filters, sorting and grouping are built from.
97
123
  */
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];
124
+ type Columns<M extends ModelTypeInfo> = [keyof TypedColumnsOf<M>] extends [never] ? Scalars<M> : {
125
+ [K in keyof Scalars<M>]: K extends keyof TypedColumnsOf<M> ? (TypedColumnsOf<M>[K] & JsonColumnPair)["output"] : Scalars<M>[K];
100
126
  };
101
127
  /** One relation, as the generated descriptor describes it. */
102
128
  export interface RelationInfo {
@@ -130,6 +156,11 @@ export interface ModelTypeInfo {
130
156
  * rule here to re-derive it from information it does not have.
131
157
  */
132
158
  create: Record<string, unknown>;
159
+ /**
160
+ * The model's name, which `ScalarColumns` is keyed by (#1001). Optional, so
161
+ * a descriptor from an older generator still fits, with raw columns.
162
+ */
163
+ name?: string;
133
164
  }
134
165
  type Scalars<M extends ModelTypeInfo> = M["scalars"];
135
166
  type Relations<M extends ModelTypeInfo> = M["relations"];
@@ -927,11 +958,15 @@ interface NestedUpsert<M extends ModelTypeInfo> {
927
958
  }
928
959
  /**
929
960
  * `create`'s `data`: the generator's scalar split, with the relation half laid
930
- * over it.
961
+ * over it. A typed scalar column (#1001) takes its schema's type, keeping the
962
+ * generator's required/optional split (the mapping is homomorphic).
931
963
  */
932
- export type CreateInput<M extends ModelTypeInfo> = M["create"] & {
964
+ export type CreateInput<M extends ModelTypeInfo> = CreateScalarsOf<M> & {
933
965
  [K in keyof Relations<M>]?: NestedCreate<Relations<M>[K]>;
934
966
  };
967
+ type CreateScalarsOf<M extends ModelTypeInfo> = [keyof ScalarTypesOf<M>] extends [never] ? M["create"] : {
968
+ [K in keyof M["create"]]: K extends keyof ScalarTypesOf<M> ? (ScalarTypesOf<M>[K] & JsonColumnPair)["input"] : M["create"][K];
969
+ };
935
970
  /** Numeric columns accept Prisma's atomic update operators. */
936
971
  type AtomicNumber = {
937
972
  set?: number;
@@ -947,7 +982,7 @@ type UpdateField<V> = IsJson<V> extends true ? JsonInput : [NonNullable<V>] exte
947
982
  set?: V;
948
983
  };
949
984
  export type UpdateInput<M extends ModelTypeInfo> = {
950
- [K in keyof Scalars<M>]?: K extends keyof JsonTypesOf<M> ? (JsonTypesOf<M>[K] & JsonColumnPair)["input"] : UpdateField<Scalars<M>[K]>;
985
+ [K in keyof Scalars<M>]?: K extends keyof JsonTypesOf<M> ? (JsonTypesOf<M>[K] & JsonColumnPair)["input"] : K extends keyof ScalarTypesOf<M> ? UpdateField<(ScalarTypesOf<M>[K] & JsonColumnPair)["input"]> : UpdateField<Scalars<M>[K]>;
951
986
  } & {
952
987
  [K in keyof Relations<M>]?: NestedUpdate<Relations<M>[K]>;
953
988
  };
@@ -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-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};
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-qned028z.js");this.server=await J(this.app,I)}else{f();let{httpDev:J}=await import("../chunk-v1460k0a.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
@@ -1,5 +1,5 @@
1
1
  // @bun
2
- import{cb as A8}from"../chunk-fcqx2t0p.js";import{Ab as D8,Bb as F8,Cb as H8,Db as U8,Eb as C4,Fb as K6,Gb as C,Hb as O8,Ib as S8,Jb as R8,Kb as _8,Lb as f8,Mb as C8,Nb as k8,Ob as b8,Pb as T8,Qb as P8,Rb as V8,Sb as I8,Tb as v8,Ub as q8,Vb as w8,Wb as y8,db as yZ,eb as AZ,fb as hZ,gb as gZ,hb as EZ,ib as S4,jb as mZ,kb as F4,lb as H4,mb as v1,nb as cZ,ob as uZ,pb as K8,tb as G8,ub as z8,vb as X8,wb as B8,xb as L8,yb as N8,zb as x8}from"../chunk-ae5ycktd.js";import{Zb as _4}from"../chunk-1q5eagpm.js";import{Ad as J8,Bd as Q8,Cd as Y8,nd as pZ,od as dZ,pd as lZ,qd as nZ,rd as iZ,sd as oZ,td as aZ,ud as tZ,vd as rZ,wd as eZ,xd as W8,yd as Z8,zd as $8}from"../chunk-2b3hh9xw.js";import{Dd as sZ}from"../chunk-v9z4x5j2.js";import{Ed as HZ,Fd as UZ,Gd as OZ,Hd as SZ,Id as RZ,Jd as _Z,Kd as fZ,Ld as CZ,Md as kZ,Nd as bZ,Od as TZ,Pd as PZ,Qd as VZ,Rd as IZ,Sd as vZ,Td as qZ,Yd as wZ}from"../chunk-877yc341.js";import{Zd as j8,_d as M8}from"../chunk-ydkv9e8w.js";import"../chunk-eqv7yxk7.js";import{$f as a5,Ae as gW,Be as EW,Bf as v5,Ce as mW,Cf as q5,Cg as q1,De as cW,Df as y5,Ee as uW,Fe as pW,Ge as dW,Gf as A5,He as lW,Hf as h5,Ie as I0,If as g5,Je as nW,Jf as E5,Ke as iW,Le as sW,Lf as m5,Me as oW,Mf as c5,Ne as aW,Nf as u5,Ng as jZ,Of as p5,Og as MZ,Pf as d5,Qf as l5,Rf as n5,Sf as i5,Tf as s5,Uf as o5,Zf as k,_f as i,af as Q5,ag as t5,bf as Y5,bg as r5,cf as K5,cg as e5,df as G5,dg as WZ,ef as z5,ff as X5,fg as ZZ,gg as $Z,hg as JZ,ie as r0,ig as QZ,je as vW,jg as YZ,ke as qW,le as wW,lf as S5,mf as R5,mg as KZ,ne as yW,nf as _5,ng as GZ,of as f5,og as zZ,pf as C5,qf as k5,re as e0,rf as b5,se as h0,sf as T5,te as g0,tf as P5,tg as XZ,ue as X4,ve as AW,vf as V5,wf as Y6,xf as I5,xg as BZ,ze as hW}from"../chunk-fe9fvtvt.js";import"../chunk-hh5bs656.js";import"../chunk-3csz8pfk.js";import{Ai as J5,Ci as P1,Gh as z4,Hh as Y4,Ih as M1,Vh as D4,Yh as t,_h as d,ci as K4,di as L1,ei as T1,fi as tW,gi as rW,hi as eW,ii as W5,xi as Z5,yi as $5}from"../chunk-2r2j2nvq.js";import"../chunk-cee5gq7t.js";import{Mi as r}from"../chunk-a8n9ec43.js";import{Ui as D5,Vi as F5,Wi as b1,Xi as H5,Yi as P0,Zi as U5,_i as O5}from"../chunk-w6jff43c.js";import{ej as L5,fj as N5,gj as x5}from"../chunk-sbzqxtqg.js";import"../chunk-xv58jnpb.js";import{Pj as w5}from"../chunk-313593t3.js";import{Rj as B5,Sj as j5,Tj as M5}from"../chunk-86zhngpg.js";import"../chunk-attr793y.js";import"../chunk-2ery6a75.js";import"../chunk-73rzf7ys.js";import"../chunk-2x6cv37t.js";import{Jk as LZ,Kk as NZ,Lk as xZ,Mk as DZ,Ok as FZ}from"../chunk-m5f6ksqe.js";import"../chunk-mr3szvr3.js";import{Yk as w}from"../chunk-1fyn63ka.js";import"../chunk-e9z8p2fy.js";import"../chunk-g8sh9btf.js";import"../chunk-mzkzgp2j.js";import"../chunk-apga49vp.js";import"../chunk-6tkkvaqg.js";import{xl as q0}from"../chunk-baj76zja.js";import{Buffer as v0}from"buffer";class w0 extends L1{client;config;constructor(...W){super();this.config=W}async connect(){let W=await import("../chunk-nhhnkv0e.js");return this.client??=new W.S3Client(...this.config),{sdk:W,client:this.client}}async put(W,{signal:Z}={}){Z?.throwIfAborted();let $,J,Q,Y=process.env.BUCKET_NAME;if(W instanceof Blob)$=W,Q=`${Bun.randomUUIDv7()}.${W.type.split("/")[1].split(";")[0]}`,J=W.type;else $=W.body,Q=W.name,Y=W.bucket??Y,J=W.contentType||($ instanceof Blob||$ instanceof File?$.type:void 0);J=J||void 0;let K=$ instanceof v0?$:$ instanceof Blob||$ instanceof File?v0.from(await $.arrayBuffer()):"",{sdk:G,client:X}=await this.connect();return Z?.throwIfAborted(),await X.send(new G.PutObjectCommand({Bucket:Y,Key:Q,Body:K,ContentType:J}),{abortSignal:Z}),Q}async delete(W){let Z=typeof W==="string"?W:W.name,$=(typeof W==="string"?void 0:W.bucket)??process.env.BUCKET_NAME;if(!Z)throw Error("Object name has to be specified");let{sdk:J,client:Q}=await this.connect();try{await Q.send(new J.DeleteObjectCommand({Bucket:$,Key:Z}))}catch(Y){if(Y?.name==="NoSuchKey"||Y?.$metadata?.httpStatusCode===404)return;throw Y}}async*pages(W,{bucket:Z,signal:$}){let{sdk:J,client:Q}=await this.connect(),Y;do{$?.throwIfAborted();let K=await Q.send(new J.ListObjectsV2Command({Bucket:Z??process.env.BUCKET_NAME,Prefix:W,ContinuationToken:Y}),{abortSignal:$});yield(K.Contents??[]).map((G)=>({name:G.Key,size:G.Size??0,lastModified:G.LastModified??new Date(0)})),Y=K.IsTruncated?K.NextContinuationToken:void 0}while(Y)}async*objects(W,Z={}){for await(let $ of this.pages(W,Z))yield*$}async deletePrefix(W,Z={}){K4(W);let $=Z.bucket??process.env.BUCKET_NAME,{sdk:J,client:Q}=await this.connect(),Y=0;for await(let K of this.pages(W,{...Z,bucket:$})){if(K.length===0)continue;Z.signal?.throwIfAborted();let X=(await Q.send(new J.DeleteObjectsCommand({Bucket:$,Delete:{Objects:K.map((z)=>({Key:z.name})),Quiet:!0}}),{abortSignal:Z.signal}))?.Errors??[];if(X.length>0){let z=X[0];throw Error(`S3 could not delete ${X.length} object(s) under "${W}", e.g. "${z.Key}": ${z.Code??"unknown"} ${z.Message??""}`.trim())}Y+=K.length}return Y}async list(W){let{sdk:Z,client:$}=await this.connect();return await $.send(new Z.ListObjectsV2Command({Bucket:process.env.BUCKET_NAME,Prefix:W}))}async fetch(W,{signal:Z}={}){Z?.throwIfAborted();let $=process.env.BUCKET_NAME,J;if(typeof W==="string")J=W;else $=W.bucket??$,J=W.name;if(!J)throw Error("Object name has to be specified");let{sdk:Q,client:Y}=await this.connect();Z?.throwIfAborted();let K=await Y.send(new Q.GetObjectCommand({Bucket:$,Key:J}),{abortSignal:Z}),G=T1(K.Body.transformToWebStream(),Z);return Z?.throwIfAborted(),new Response(G,{headers:{"Content-Type":K.ContentType,"Content-Length":K.ContentLength.toString(),"Cache-Control":"private, max-age=12000, must-revalidate","Last-Modified":K.LastModified?.toUTCString()||"",ETag:K.ETag||""}})}async read(W){let Z=typeof W==="string"?{name:W}:W,$=Z.bucket??process.env.BUCKET_NAME,{name:J,range:Q=null}=Z;if(!J)throw Error("Object name has to be specified");let{sdk:Y,client:K}=await this.connect(),G;try{G=await K.send(new Y.GetObjectCommand({Bucket:$,Key:J,Range:Q?Y4(Q):void 0}))}catch(j){if(j?.name==="InvalidRange"||j?.$metadata?.httpStatusCode===416)throw new t(await this.size({name:J,bucket:$}));if(j?.name==="NoSuchKey"||j?.$metadata?.httpStatusCode===404)throw new d(J);throw j}let X=M1(G.ContentRange),z=Boolean(X)&&G.$metadata?.httpStatusCode===206,B=X?.total??G.ContentLength??0;return{body:G.Body.transformToWebStream(),start:X?.start??0,end:X?.end??B-1,total:B,partial:z,type:G.ContentType??"application/octet-stream",etag:G.ETag||void 0,lastModified:G.LastModified,name:J}}async size(W){let Z=typeof W==="string"?W:W.name,$=(typeof W==="string"?void 0:W.bucket)??process.env.BUCKET_NAME,{sdk:J,client:Q}=await this.connect();try{return(await Q.send(new J.HeadObjectCommand({Bucket:$,Key:Z}))).ContentLength??0}catch(Y){if(Y?.name==="NotFound"||Y?.$metadata?.httpStatusCode===404)throw new d(Z);throw Y}}}import{Buffer as y0}from"buffer";import{Readable as l6}from"stream";function G4(W){return W?.statusCode===404||W?.details?.errorCode==="BlobNotFound"||W?.code==="BlobNotFound"}function n6(W){return W?.statusCode===416||W?.details?.errorCode==="InvalidRange"||W?.code==="InvalidRange"}class A0 extends L1{config;serviceClientPromise=null;constructor(W={}){super();this.config=W}async serviceClient(){if(this.config.serviceClient)return this.config.serviceClient;return this.serviceClientPromise??=(async()=>{let W;try{W=await import("@azure/storage-blob")}catch{throw Error("AzureBlobDriver requires the '@azure/storage-blob' package. Install it with `bun add @azure/storage-blob`, or pass a pre-built `serviceClient`.")}let Z=this.config.connectionString??process.env.AZURE_STORAGE_CONNECTION_STRING;if(this.config.url)return new W.BlobServiceClient(this.config.url,this.config.credential);if(Z)return W.BlobServiceClient.fromConnectionString(Z);throw Error("AzureBlobDriver needs a connection string (AZURE_STORAGE_CONNECTION_STRING), a `url`, or a `serviceClient`.")})(),this.serviceClientPromise}async blob(W,Z){if(!W)throw Error("Object name has to be specified");let $=Z??this.config.container??process.env.BUCKET_NAME;if(!$)throw Error("AzureBlobDriver needs a container name, from `bucket`, the `container` config, or BUCKET_NAME.");return(await this.serviceClient()).getContainerClient($).getBlockBlobClient(W)}async put(W,{signal:Z}={}){Z?.throwIfAborted();let $,J,Q,Y;if(W instanceof Blob)$=W,Q=`${Bun.randomUUIDv7()}.${W.type.split("/")[1].split(";")[0]}`,J=W.type;else $=W.body,Q=W.name,Y=W.bucket,J=W.contentType??($ instanceof Blob||$ instanceof File?$.type:void 0);let K=$ instanceof y0?$:y0.from(await $.arrayBuffer()),G=await this.blob(Q,Y);return Z?.throwIfAborted(),await G.uploadData(K,{blobHTTPHeaders:J?{blobContentType:J}:void 0,abortSignal:Z}),Q}async*objects(W,{bucket:Z,signal:$}={}){$?.throwIfAborted();let J=Z??this.config.container??process.env.BUCKET_NAME;if(!J)throw Error("AzureBlobDriver needs a container name, from `bucket`, the `container` config, or BUCKET_NAME.");let Y=(await this.serviceClient()).getContainerClient(J);for await(let K of Y.listBlobsFlat({prefix:W}))$?.throwIfAborted(),yield{name:K.name,size:K.properties?.contentLength??0,lastModified:K.properties?.lastModified??new Date(0)}}async list(W){let Z=this.config.container??process.env.BUCKET_NAME,J=(await this.serviceClient()).getContainerClient(Z),Q=[];for await(let Y of J.listBlobsFlat({prefix:W}))Q.push(Y.name);return Q}async fetch(W,{signal:Z}={}){Z?.throwIfAborted();let $=await this.download(typeof W==="string"?{name:W}:{name:W.name,bucket:W.bucket},Z);return new Response($.body,{headers:{"Content-Type":$.type,"Content-Length":String($.total),"Cache-Control":"private, max-age=12000, must-revalidate","Last-Modified":$.lastModified?.toUTCString()??"",ETag:$.etag??""}})}async read(W){return this.download(typeof W==="string"?{name:W}:W)}async download(W,Z){let{name:$,bucket:J,range:Q=null}=W,Y=await this.blob($,J);Z?.throwIfAborted();let K,G,X=Q?.kind==="suffix"||Q?.kind==="offset"&&Q.end===null&&Q.start===0;if(Q&&X){let H=await this.size({name:$,bucket:J}),p=z4(Q,H);if(!p)throw new t(H);K=p.start,G=p.length}else if(Q?.kind==="offset")K=Q.start,G=Q.end===null?void 0:Q.end-Q.start+1;let z;try{z=await Y.download(K,G,Z?{abortSignal:Z}:void 0)}catch(H){if(n6(H))throw new t(await this.size({name:$,bucket:J}));if(G4(H))throw new d($);throw H}let B=M1(z.contentRange),j=Boolean(B),x=B?.total??z.contentLength??0,O=await i6(z);if(O instanceof ReadableStream)O=T1(O,Z);return Z?.throwIfAborted(),{body:O,start:B?.start??0,end:B?.end??x-1,total:x,partial:j,type:z.contentType??"application/octet-stream",etag:z.etag||void 0,lastModified:z.lastModified,name:$}}async size(W){let Z=typeof W==="string"?W:W.name,$=typeof W==="string"?void 0:W.bucket,J=await this.blob(Z,$);try{return(await J.getProperties()).contentLength??0}catch(Q){if(G4(Q))throw new d(Z);throw Q}}async delete(W){let Z=typeof W==="string"?W:W.name,$=typeof W==="string"?void 0:W.bucket,J=await this.blob(Z,$);try{await J.delete()}catch(Q){if(G4(Q))return;throw Q}}}async function i6(W){if(W.blobBody)return await W.blobBody;if(W.readableStreamBody)return l6.toWeb(W.readableStreamBody);return null}function s6(W){return W}class B4 extends Error{code="ERR_RATE_LIMITER_TIMEOUT";constructor(W){super(`RedisRateLimiter: Redis did not answer within ${W}ms.`);this.name="RedisRateLimiterTimeoutError"}}var o6=`
2
+ import{cb as A8}from"../chunk-fcqx2t0p.js";import{Ab as D8,Bb as F8,Cb as H8,Db as U8,Eb as C4,Fb as K6,Gb as C,Hb as O8,Ib as S8,Jb as R8,Kb as _8,Lb as f8,Mb as C8,Nb as k8,Ob as b8,Pb as T8,Qb as P8,Rb as V8,Sb as I8,Tb as v8,Ub as q8,Vb as w8,Wb as y8,db as yZ,eb as AZ,fb as hZ,gb as gZ,hb as EZ,ib as S4,jb as mZ,kb as F4,lb as H4,mb as v1,nb as cZ,ob as uZ,pb as K8,tb as G8,ub as z8,vb as X8,wb as B8,xb as L8,yb as N8,zb as x8}from"../chunk-gmsst3fx.js";import{Zb as _4}from"../chunk-y959p390.js";import{Ad as J8,Bd as Q8,Cd as Y8,nd as pZ,od as dZ,pd as lZ,qd as nZ,rd as iZ,sd as oZ,td as aZ,ud as tZ,vd as rZ,wd as eZ,xd as W8,yd as Z8,zd as $8}from"../chunk-2b3hh9xw.js";import{Dd as sZ}from"../chunk-v9z4x5j2.js";import{Ed as HZ,Fd as UZ,Gd as OZ,Hd as SZ,Id as RZ,Jd as _Z,Kd as fZ,Ld as CZ,Md as kZ,Nd as bZ,Od as TZ,Pd as PZ,Qd as VZ,Rd as IZ,Sd as vZ,Td as qZ,Yd as wZ}from"../chunk-877yc341.js";import{Zd as j8,_d as M8}from"../chunk-ydkv9e8w.js";import"../chunk-eqv7yxk7.js";import{$f as a5,Ae as gW,Be as EW,Bf as v5,Ce as mW,Cf as q5,Cg as q1,De as cW,Df as y5,Ee as uW,Fe as pW,Ge as dW,Gf as A5,He as lW,Hf as h5,Ie as I0,If as g5,Je as nW,Jf as E5,Ke as iW,Le as sW,Lf as m5,Me as oW,Mf as c5,Ne as aW,Nf as u5,Ng as jZ,Of as p5,Og as MZ,Pf as d5,Qf as l5,Rf as n5,Sf as i5,Tf as s5,Uf as o5,Zf as k,_f as i,af as Q5,ag as t5,bf as Y5,bg as r5,cf as K5,cg as e5,df as G5,dg as WZ,ef as z5,ff as X5,fg as ZZ,gg as $Z,hg as JZ,ie as r0,ig as QZ,je as vW,jg as YZ,ke as qW,le as wW,lf as S5,mf as R5,mg as KZ,ne as yW,nf as _5,ng as GZ,of as f5,og as zZ,pf as C5,qf as k5,re as e0,rf as b5,se as h0,sf as T5,te as g0,tf as P5,tg as XZ,ue as X4,ve as AW,vf as V5,wf as Y6,xf as I5,xg as BZ,ze as hW}from"../chunk-fe9fvtvt.js";import"../chunk-hh5bs656.js";import"../chunk-3csz8pfk.js";import{Ai as J5,Ci as P1,Gh as z4,Hh as Y4,Ih as M1,Vh as D4,Yh as t,_h as d,ci as K4,di as L1,ei as T1,fi as tW,gi as rW,hi as eW,ii as W5,xi as Z5,yi as $5}from"../chunk-2r2j2nvq.js";import"../chunk-cee5gq7t.js";import{Mi as r}from"../chunk-a8n9ec43.js";import{Ui as D5,Vi as F5,Wi as b1,Xi as H5,Yi as P0,Zi as U5,_i as O5}from"../chunk-w6jff43c.js";import{ej as L5,fj as N5,gj as x5}from"../chunk-sbzqxtqg.js";import"../chunk-xv58jnpb.js";import{Pj as w5}from"../chunk-313593t3.js";import{Rj as B5,Sj as j5,Tj as M5}from"../chunk-86zhngpg.js";import"../chunk-attr793y.js";import"../chunk-2ery6a75.js";import"../chunk-73rzf7ys.js";import"../chunk-2x6cv37t.js";import{Jk as LZ,Kk as NZ,Lk as xZ,Mk as DZ,Ok as FZ}from"../chunk-m5f6ksqe.js";import"../chunk-mr3szvr3.js";import{Yk as w}from"../chunk-1fyn63ka.js";import"../chunk-e9z8p2fy.js";import"../chunk-g8sh9btf.js";import"../chunk-mzkzgp2j.js";import"../chunk-apga49vp.js";import"../chunk-6tkkvaqg.js";import{xl as q0}from"../chunk-baj76zja.js";import{Buffer as v0}from"buffer";class w0 extends L1{client;config;constructor(...W){super();this.config=W}async connect(){let W=await import("../chunk-nhhnkv0e.js");return this.client??=new W.S3Client(...this.config),{sdk:W,client:this.client}}async put(W,{signal:Z}={}){Z?.throwIfAborted();let $,J,Q,Y=process.env.BUCKET_NAME;if(W instanceof Blob)$=W,Q=`${Bun.randomUUIDv7()}.${W.type.split("/")[1].split(";")[0]}`,J=W.type;else $=W.body,Q=W.name,Y=W.bucket??Y,J=W.contentType||($ instanceof Blob||$ instanceof File?$.type:void 0);J=J||void 0;let K=$ instanceof v0?$:$ instanceof Blob||$ instanceof File?v0.from(await $.arrayBuffer()):"",{sdk:G,client:X}=await this.connect();return Z?.throwIfAborted(),await X.send(new G.PutObjectCommand({Bucket:Y,Key:Q,Body:K,ContentType:J}),{abortSignal:Z}),Q}async delete(W){let Z=typeof W==="string"?W:W.name,$=(typeof W==="string"?void 0:W.bucket)??process.env.BUCKET_NAME;if(!Z)throw Error("Object name has to be specified");let{sdk:J,client:Q}=await this.connect();try{await Q.send(new J.DeleteObjectCommand({Bucket:$,Key:Z}))}catch(Y){if(Y?.name==="NoSuchKey"||Y?.$metadata?.httpStatusCode===404)return;throw Y}}async*pages(W,{bucket:Z,signal:$}){let{sdk:J,client:Q}=await this.connect(),Y;do{$?.throwIfAborted();let K=await Q.send(new J.ListObjectsV2Command({Bucket:Z??process.env.BUCKET_NAME,Prefix:W,ContinuationToken:Y}),{abortSignal:$});yield(K.Contents??[]).map((G)=>({name:G.Key,size:G.Size??0,lastModified:G.LastModified??new Date(0)})),Y=K.IsTruncated?K.NextContinuationToken:void 0}while(Y)}async*objects(W,Z={}){for await(let $ of this.pages(W,Z))yield*$}async deletePrefix(W,Z={}){K4(W);let $=Z.bucket??process.env.BUCKET_NAME,{sdk:J,client:Q}=await this.connect(),Y=0;for await(let K of this.pages(W,{...Z,bucket:$})){if(K.length===0)continue;Z.signal?.throwIfAborted();let X=(await Q.send(new J.DeleteObjectsCommand({Bucket:$,Delete:{Objects:K.map((z)=>({Key:z.name})),Quiet:!0}}),{abortSignal:Z.signal}))?.Errors??[];if(X.length>0){let z=X[0];throw Error(`S3 could not delete ${X.length} object(s) under "${W}", e.g. "${z.Key}": ${z.Code??"unknown"} ${z.Message??""}`.trim())}Y+=K.length}return Y}async list(W){let{sdk:Z,client:$}=await this.connect();return await $.send(new Z.ListObjectsV2Command({Bucket:process.env.BUCKET_NAME,Prefix:W}))}async fetch(W,{signal:Z}={}){Z?.throwIfAborted();let $=process.env.BUCKET_NAME,J;if(typeof W==="string")J=W;else $=W.bucket??$,J=W.name;if(!J)throw Error("Object name has to be specified");let{sdk:Q,client:Y}=await this.connect();Z?.throwIfAborted();let K=await Y.send(new Q.GetObjectCommand({Bucket:$,Key:J}),{abortSignal:Z}),G=T1(K.Body.transformToWebStream(),Z);return Z?.throwIfAborted(),new Response(G,{headers:{"Content-Type":K.ContentType,"Content-Length":K.ContentLength.toString(),"Cache-Control":"private, max-age=12000, must-revalidate","Last-Modified":K.LastModified?.toUTCString()||"",ETag:K.ETag||""}})}async read(W){let Z=typeof W==="string"?{name:W}:W,$=Z.bucket??process.env.BUCKET_NAME,{name:J,range:Q=null}=Z;if(!J)throw Error("Object name has to be specified");let{sdk:Y,client:K}=await this.connect(),G;try{G=await K.send(new Y.GetObjectCommand({Bucket:$,Key:J,Range:Q?Y4(Q):void 0}))}catch(j){if(j?.name==="InvalidRange"||j?.$metadata?.httpStatusCode===416)throw new t(await this.size({name:J,bucket:$}));if(j?.name==="NoSuchKey"||j?.$metadata?.httpStatusCode===404)throw new d(J);throw j}let X=M1(G.ContentRange),z=Boolean(X)&&G.$metadata?.httpStatusCode===206,B=X?.total??G.ContentLength??0;return{body:G.Body.transformToWebStream(),start:X?.start??0,end:X?.end??B-1,total:B,partial:z,type:G.ContentType??"application/octet-stream",etag:G.ETag||void 0,lastModified:G.LastModified,name:J}}async size(W){let Z=typeof W==="string"?W:W.name,$=(typeof W==="string"?void 0:W.bucket)??process.env.BUCKET_NAME,{sdk:J,client:Q}=await this.connect();try{return(await Q.send(new J.HeadObjectCommand({Bucket:$,Key:Z}))).ContentLength??0}catch(Y){if(Y?.name==="NotFound"||Y?.$metadata?.httpStatusCode===404)throw new d(Z);throw Y}}}import{Buffer as y0}from"buffer";import{Readable as l6}from"stream";function G4(W){return W?.statusCode===404||W?.details?.errorCode==="BlobNotFound"||W?.code==="BlobNotFound"}function n6(W){return W?.statusCode===416||W?.details?.errorCode==="InvalidRange"||W?.code==="InvalidRange"}class A0 extends L1{config;serviceClientPromise=null;constructor(W={}){super();this.config=W}async serviceClient(){if(this.config.serviceClient)return this.config.serviceClient;return this.serviceClientPromise??=(async()=>{let W;try{W=await import("@azure/storage-blob")}catch{throw Error("AzureBlobDriver requires the '@azure/storage-blob' package. Install it with `bun add @azure/storage-blob`, or pass a pre-built `serviceClient`.")}let Z=this.config.connectionString??process.env.AZURE_STORAGE_CONNECTION_STRING;if(this.config.url)return new W.BlobServiceClient(this.config.url,this.config.credential);if(Z)return W.BlobServiceClient.fromConnectionString(Z);throw Error("AzureBlobDriver needs a connection string (AZURE_STORAGE_CONNECTION_STRING), a `url`, or a `serviceClient`.")})(),this.serviceClientPromise}async blob(W,Z){if(!W)throw Error("Object name has to be specified");let $=Z??this.config.container??process.env.BUCKET_NAME;if(!$)throw Error("AzureBlobDriver needs a container name, from `bucket`, the `container` config, or BUCKET_NAME.");return(await this.serviceClient()).getContainerClient($).getBlockBlobClient(W)}async put(W,{signal:Z}={}){Z?.throwIfAborted();let $,J,Q,Y;if(W instanceof Blob)$=W,Q=`${Bun.randomUUIDv7()}.${W.type.split("/")[1].split(";")[0]}`,J=W.type;else $=W.body,Q=W.name,Y=W.bucket,J=W.contentType??($ instanceof Blob||$ instanceof File?$.type:void 0);let K=$ instanceof y0?$:y0.from(await $.arrayBuffer()),G=await this.blob(Q,Y);return Z?.throwIfAborted(),await G.uploadData(K,{blobHTTPHeaders:J?{blobContentType:J}:void 0,abortSignal:Z}),Q}async*objects(W,{bucket:Z,signal:$}={}){$?.throwIfAborted();let J=Z??this.config.container??process.env.BUCKET_NAME;if(!J)throw Error("AzureBlobDriver needs a container name, from `bucket`, the `container` config, or BUCKET_NAME.");let Y=(await this.serviceClient()).getContainerClient(J);for await(let K of Y.listBlobsFlat({prefix:W}))$?.throwIfAborted(),yield{name:K.name,size:K.properties?.contentLength??0,lastModified:K.properties?.lastModified??new Date(0)}}async list(W){let Z=this.config.container??process.env.BUCKET_NAME,J=(await this.serviceClient()).getContainerClient(Z),Q=[];for await(let Y of J.listBlobsFlat({prefix:W}))Q.push(Y.name);return Q}async fetch(W,{signal:Z}={}){Z?.throwIfAborted();let $=await this.download(typeof W==="string"?{name:W}:{name:W.name,bucket:W.bucket},Z);return new Response($.body,{headers:{"Content-Type":$.type,"Content-Length":String($.total),"Cache-Control":"private, max-age=12000, must-revalidate","Last-Modified":$.lastModified?.toUTCString()??"",ETag:$.etag??""}})}async read(W){return this.download(typeof W==="string"?{name:W}:W)}async download(W,Z){let{name:$,bucket:J,range:Q=null}=W,Y=await this.blob($,J);Z?.throwIfAborted();let K,G,X=Q?.kind==="suffix"||Q?.kind==="offset"&&Q.end===null&&Q.start===0;if(Q&&X){let H=await this.size({name:$,bucket:J}),p=z4(Q,H);if(!p)throw new t(H);K=p.start,G=p.length}else if(Q?.kind==="offset")K=Q.start,G=Q.end===null?void 0:Q.end-Q.start+1;let z;try{z=await Y.download(K,G,Z?{abortSignal:Z}:void 0)}catch(H){if(n6(H))throw new t(await this.size({name:$,bucket:J}));if(G4(H))throw new d($);throw H}let B=M1(z.contentRange),j=Boolean(B),x=B?.total??z.contentLength??0,O=await i6(z);if(O instanceof ReadableStream)O=T1(O,Z);return Z?.throwIfAborted(),{body:O,start:B?.start??0,end:B?.end??x-1,total:x,partial:j,type:z.contentType??"application/octet-stream",etag:z.etag||void 0,lastModified:z.lastModified,name:$}}async size(W){let Z=typeof W==="string"?W:W.name,$=typeof W==="string"?void 0:W.bucket,J=await this.blob(Z,$);try{return(await J.getProperties()).contentLength??0}catch(Q){if(G4(Q))throw new d(Z);throw Q}}async delete(W){let Z=typeof W==="string"?W:W.name,$=typeof W==="string"?void 0:W.bucket,J=await this.blob(Z,$);try{await J.delete()}catch(Q){if(G4(Q))return;throw Q}}}async function i6(W){if(W.blobBody)return await W.blobBody;if(W.readableStreamBody)return l6.toWeb(W.readableStreamBody);return null}function s6(W){return W}class B4 extends Error{code="ERR_RATE_LIMITER_TIMEOUT";constructor(W){super(`RedisRateLimiter: Redis did not answer within ${W}ms.`);this.name="RedisRateLimiterTimeoutError"}}var o6=`
3
3
  local currentKey = KEYS[1]
4
4
  local previousKey = KEYS[2]
5
5
  local limit = tonumber(ARGV[1])
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "gemi",
3
- "version": "0.154.0",
3
+ "version": "0.156.0",
4
4
  "private": false,
5
5
  "license": "MIT",
6
6
  "author": "Enes Tufekci <enes@gemijs.dev>",