gemi 0.126.0 → 0.127.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 (34) hide show
  1. package/dist/{chunk-ravssmdy.js → chunk-3hndrc5z.js} +2 -2
  2. package/dist/{chunk-ravssmdy.js.map → chunk-3hndrc5z.js.map} +1 -1
  3. package/dist/{chunk-zbvdkh6q.js → chunk-3p9vj0h6.js} +1 -1
  4. package/dist/{chunk-cwpezdpw.js → chunk-6c8pn6hj.js} +13 -13
  5. package/dist/{chunk-cwpezdpw.js.map → chunk-6c8pn6hj.js.map} +3 -3
  6. package/dist/{chunk-mpt5jg4e.js → chunk-pxstrw29.js} +1 -1
  7. package/dist/{chunk-zy5gxk1g.js → chunk-yhxjhrvp.js} +1 -1
  8. package/dist/chunks/{ThemeProvider-CS2a1snV.js → ThemeProvider-BIrCSrFY.js} +2 -2
  9. package/dist/chunks/{ThemeProvider-CS2a1snV.js.map → ThemeProvider-BIrCSrFY.js.map} +1 -1
  10. package/dist/client/fetchFile.d.ts +66 -0
  11. package/dist/client/fetchFile.d.ts.map +1 -0
  12. package/dist/client/index.d.ts +3 -1
  13. package/dist/client/index.d.ts.map +1 -1
  14. package/dist/client/index.js +75 -2
  15. package/dist/client/index.js.map +1 -1
  16. package/dist/client/rpc.d.ts +11 -0
  17. package/dist/client/rpc.d.ts.map +1 -1
  18. package/dist/facades/index.js +1 -1
  19. package/dist/gemi.d.ts +4 -0
  20. package/dist/http/ApiRouter.d.ts +40 -3
  21. package/dist/http/ApiRouter.d.ts.map +1 -1
  22. package/dist/http/index.d.ts +1 -1
  23. package/dist/http/index.d.ts.map +1 -1
  24. package/dist/http/index.js +1 -1
  25. package/dist/i18n/index.js +1 -1
  26. package/dist/kernel/index.js +1 -1
  27. package/dist/server/index.js +1 -1
  28. package/dist/services/index.js +1 -1
  29. package/dist/testing/index.js +1 -1
  30. package/package.json +1 -1
  31. package/skills/gemi-react-best-practices/rules/query-no-hand-rolled-fetch.md +14 -0
  32. /package/dist/{chunk-zbvdkh6q.js.map → chunk-3p9vj0h6.js.map} +0 -0
  33. /package/dist/{chunk-mpt5jg4e.js.map → chunk-pxstrw29.js.map} +0 -0
  34. /package/dist/{chunk-zy5gxk1g.js.map → chunk-yhxjhrvp.js.map} +0 -0
@@ -4,6 +4,17 @@ export interface RPC extends CreateRPC<AuthApiRouter, "/auth"> {
4
4
  }
5
5
  export interface ViewRPC {
6
6
  }
7
+ /**
8
+ * The application's file routes: the path of every `GET` its api serves with
9
+ * `this.stream(...)` or `this.file(...)`, to `"stream"` or `"file"`. What
10
+ * `fetchBlob` and `fetchText` take.
11
+ *
12
+ * Generated from the app's `ApiRouter` by the framework's own `gemi.d.ts`
13
+ * (`CreateFileRPC`), the way `RPC` is. Empty for an app without file routes or
14
+ * without the app's types, and then those functions take any path.
15
+ */
16
+ export interface FileRPC {
17
+ }
7
18
  export interface I18nDictionary {
8
19
  }
9
20
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"rpc.d.ts","sourceRoot":"","sources":["../../client/rpc.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,aAAa,EAAE,MAAM,gBAAgB,CAAC;AACpD,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,mBAAmB,CAAC;AAEnD,MAAM,WAAW,GAAI,SAAQ,SAAS,CAAC,aAAa,EAAE,OAAO,CAAC;CAAG;AAEjE,MAAM,WAAW,OAAO;CAAG;AAE3B,MAAM,WAAW,cAAc;CAAG;AAElC;;;;;;;;GAQG;AACH,MAAM,WAAW,YAAY;CAAG;AAEhC;;;;;;;;;;;;;GAaG;AACH,MAAM,WAAW,QAAQ;CAAG;AAE5B;;;;;;;;;GASG;AACH,MAAM,MAAM,UAAU,GAAG,CAAC,MAAM,QAAQ,CAAC,SAAS,CAAC,KAAK,CAAC,GAAG,MAAM,GAAG,MAAM,QAAQ,CAAC;AAEpF;;;;;;;;;;;GAWG;AACH,MAAM,MAAM,gBAAgB,GAAG,CAAC,MAAM,QAAQ,CAAC,SAAS,CAAC,KAAK,CAAC,GAC3D,MAAM,GACN;KACG,CAAC,IAAI,MAAM,QAAQ,CAAC,CAAC,GAAG,QAAQ,CAAC,CAAC,CAAC,SAAS,OAAO,GAAG,CAAC,GAAG,KAAK;CACjE,CAAC,MAAM,QAAQ,CAAC,CAAC"}
1
+ {"version":3,"file":"rpc.d.ts","sourceRoot":"","sources":["../../client/rpc.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,aAAa,EAAE,MAAM,gBAAgB,CAAC;AACpD,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,mBAAmB,CAAC;AAEnD,MAAM,WAAW,GAAI,SAAQ,SAAS,CAAC,aAAa,EAAE,OAAO,CAAC;CAAG;AAEjE,MAAM,WAAW,OAAO;CAAG;AAE3B;;;;;;;;GAQG;AACH,MAAM,WAAW,OAAO;CAAG;AAE3B,MAAM,WAAW,cAAc;CAAG;AAElC;;;;;;;;GAQG;AACH,MAAM,WAAW,YAAY;CAAG;AAEhC;;;;;;;;;;;;;GAaG;AACH,MAAM,WAAW,QAAQ;CAAG;AAE5B;;;;;;;;;GASG;AACH,MAAM,MAAM,UAAU,GAAG,CAAC,MAAM,QAAQ,CAAC,SAAS,CAAC,KAAK,CAAC,GAAG,MAAM,GAAG,MAAM,QAAQ,CAAC;AAEpF;;;;;;;;;;;GAWG;AACH,MAAM,MAAM,gBAAgB,GAAG,CAAC,MAAM,QAAQ,CAAC,SAAS,CAAC,KAAK,CAAC,GAC3D,MAAM,GACN;KACG,CAAC,IAAI,MAAM,QAAQ,CAAC,CAAC,GAAG,QAAQ,CAAC,CAAC,CAAC,SAAS,OAAO,GAAG,CAAC,GAAG,KAAK;CACjE,CAAC,MAAM,QAAQ,CAAC,CAAC"}
@@ -1,4 +1,4 @@
1
1
  // @bun
2
- import{Be as a,Ge as c,He as e,Ie as f,Je as h,Ke as i,Le as j,Se as k,Te as l,Ue as m,Ve as n,We as o,_f as u,ef as p,uf as q,vf as r,wf as s,xf as t}from"../chunk-cwpezdpw.js";import"../chunk-n8mxsfc2.js";import"../chunk-1gd1ykgj.js";import{Vh as d,Xh as g,wh as b}from"../chunk-dm7mada7.js";import"../chunk-7eerqsg2.js";import"../chunk-15bmfr7f.js";import"../chunk-rtb64x14.js";import"../chunk-8df7fn7f.js";import"../chunk-yffm8nxa.js";import"../chunk-s2krqtwj.js";import"../chunk-0arss2xy.js";import"../chunk-nv2t87c3.js";import"../chunk-kzk5r6v4.js";import"../chunk-v7nw1g2n.js";import"../chunk-43faxwf5.js";import"../chunk-mj7h1dgh.js";import"../chunk-yg8se4vs.js";import"../chunk-84rbdyhe.js";import"../chunk-s2y2b8tz.js";import"../chunk-7nfprr9v.js";import"../chunk-9x0pgkns.js";import"../chunk-ecb8qggy.js";import"../chunk-89swy5aq.js";export{f as Url,d as Storage,j as Redis,a as Redirect,l as RateLimiter,e as Query,h as Meta,g as Log,m as Lock,c as Lang,r as Features,b as Facade,t as DB,n as Crypt,i as Cookie,o as Connections,s as ConnectionQueries,p as ChangeFeed,k as Cache,q as Broadcast,u as Auth};
2
+ import{Be as a,Ge as c,He as e,Ie as f,Je as h,Ke as i,Le as j,Se as k,Te as l,Ue as m,Ve as n,We as o,_f as u,ef as p,uf as q,vf as r,wf as s,xf as t}from"../chunk-6c8pn6hj.js";import"../chunk-n8mxsfc2.js";import"../chunk-1gd1ykgj.js";import{Vh as d,Xh as g,wh as b}from"../chunk-dm7mada7.js";import"../chunk-7eerqsg2.js";import"../chunk-15bmfr7f.js";import"../chunk-rtb64x14.js";import"../chunk-8df7fn7f.js";import"../chunk-yffm8nxa.js";import"../chunk-s2krqtwj.js";import"../chunk-0arss2xy.js";import"../chunk-nv2t87c3.js";import"../chunk-kzk5r6v4.js";import"../chunk-v7nw1g2n.js";import"../chunk-43faxwf5.js";import"../chunk-mj7h1dgh.js";import"../chunk-yg8se4vs.js";import"../chunk-84rbdyhe.js";import"../chunk-s2y2b8tz.js";import"../chunk-7nfprr9v.js";import"../chunk-9x0pgkns.js";import"../chunk-ecb8qggy.js";import"../chunk-89swy5aq.js";export{f as Url,d as Storage,j as Redis,a as Redirect,l as RateLimiter,e as Query,h as Meta,g as Log,m as Lock,c as Lang,r as Features,b as Facade,t as DB,n as Crypt,i as Cookie,o as Connections,s as ConnectionQueries,p as ChangeFeed,k as Cache,q as Broadcast,u as Auth};
3
3
 
4
4
  //# debugId=A221A32DF29607C464756E2164756E21
package/dist/gemi.d.ts CHANGED
@@ -8,6 +8,7 @@ import type {
8
8
  ApiRouter,
9
9
  ChannelRouter,
10
10
  CreateBroadcastRPC,
11
+ CreateFileRPC,
11
12
  CreateRPC,
12
13
  CreateViewRPC,
13
14
  ViewRouter,
@@ -47,6 +48,8 @@ type IsAny<T> = 0 extends 1 & T ? true : false;
47
48
 
48
49
  type AppRPC<T> = IsAny<T> extends true ? {} : T extends ApiRouter ? CreateRPC<T> : {};
49
50
 
51
+ type AppFileRPC<T> = IsAny<T> extends true ? {} : T extends ApiRouter ? CreateFileRPC<T> : {};
52
+
50
53
  type AppViewRPC<T> = IsAny<T> extends true ? {} : T extends ViewRouter ? CreateViewRPC<T> : {};
51
54
 
52
55
  type AppBroadcastRPC<T> =
@@ -59,6 +62,7 @@ type AppFeatureMap<T> =
59
62
 
60
63
  declare module "gemi/client" {
61
64
  export interface RPC extends AppRPC<Api> {}
65
+ export interface FileRPC extends AppFileRPC<Api> {}
62
66
  export interface ViewRPC extends AppViewRPC<View> {}
63
67
  export interface BroadcastRPC extends AppBroadcastRPC<Channels> {}
64
68
  export interface I18nDictionary extends AppDictionary<typeof I18nComponents> {}
@@ -108,6 +108,12 @@ export declare class FileHandler {
108
108
  * does not.
109
109
  */
110
110
  middleware: (middlewareList: string[]) => FileHandler;
111
+ /**
112
+ * Types only, never set: what `CreateFileRPC` finds a file route by, so
113
+ * `fetchBlob`/`fetchText` can take its path. It does not make the route a
114
+ * `RouteHandler`, so `CreateRPC` still leaves it out.
115
+ */
116
+ readonly __fileRoute: "file";
111
117
  }
112
118
  /**
113
119
  * A GET route that serves bytes and understands `Range`.
@@ -121,9 +127,11 @@ export declare class StreamRouteHandler extends RouteHandler<"GET", any, any, an
121
127
  run(_req?: HttpRequest<any, any>): Promise<Response>;
122
128
  }
123
129
  /**
124
- * Structurally `{}` at the type level, exactly like `FileHandler`, so a stream
125
- * route stays out of the generated RPC client types — a typed JSON client has
126
- * no way to consume a byte stream. At runtime it is a `StreamRouteHandler`.
130
+ * Not a `RouteHandler` at the type level, exactly like `FileHandler`, so a
131
+ * stream route stays out of the generated RPC client types — a typed JSON
132
+ * client has no way to consume a byte stream. `CreateFileRPC` lists it
133
+ * instead, for `fetchBlob`/`fetchText`. At runtime it is a
134
+ * `StreamRouteHandler`.
127
135
  */
128
136
  export declare class StreamHandler {
129
137
  constructor(...args: ConstructorParameters<typeof StreamRouteHandler>);
@@ -135,6 +143,8 @@ export declare class StreamHandler {
135
143
  * does not.
136
144
  */
137
145
  middleware: (middlewareList: string[]) => StreamHandler;
146
+ /** Types only, never set: see `FileHandler.__fileRoute`. */
147
+ readonly __fileRoute: "stream";
138
148
  }
139
149
  /**
140
150
  * A verb map: several methods on one path.
@@ -292,5 +302,32 @@ type RouteParser<T extends ApiRoutes, Prefix extends PropertyKey = "", K extends
292
302
  export type CreateRPC<T extends ApiRouter, Prefix extends PropertyKey = ""> = {
293
303
  [E in RouteParser<T["routes"], Prefix> as E["key"]]: RouteValue<E["route"]>;
294
304
  };
305
+ /** A path's `get` in a verb map, when it is a stream or file route. */
306
+ type FileVerbEntry<T, Path extends string> = T extends {
307
+ get?: infer G;
308
+ } ? NonNullable<G> extends {
309
+ readonly __fileRoute: infer Kind;
310
+ } ? RouteEntry<Path, Kind> : never : never;
311
+ type FileRouteParser<T extends ApiRoutes, Prefix extends PropertyKey = "", K extends keyof T = keyof T> = K extends any ? T[K] extends AgentRoute<any> ? never : T[K] extends ResourceRoutes<any> ? never : T[K] extends {
312
+ readonly __fileRoute: infer Kind;
313
+ } ? RouteEntry<ParsePrefixAndKey<Prefix, K>, Kind> : T[K] extends RouteHandler<any, any, any, any> ? never : T[K] extends new () => ApiRouter ? FileRouteParser<InstanceType<T[K]>["routes"], ParsePrefixAndKey<Prefix, K>> : T[K] extends RouteHandlers ? FileVerbEntry<T[K], `${Prefix & string}${K extends "/" ? "" : K & string}`> : never : never;
314
+ /**
315
+ * The api's file routes, for `fetchBlob` and `fetchText` from `gemi/client`:
316
+ * the path of every `GET` served by `this.stream(...)` or `this.file(...)` —
317
+ * on its own path or as a verb map's `get`, in nested routers too — to
318
+ * `"stream"` or `"file"`. The paths are spelled as `CreateRPC` spells its
319
+ * `GET:` keys, without the method.
320
+ *
321
+ * Separate from `CreateRPC`, which leaves these routes out: a JSON hook
322
+ * (`useQuery`) can't read their bytes, and the RPC map's keys are what the
323
+ * IDE plugin and `McpRoutes` read.
324
+ */
325
+ export type CreateFileRPC<T extends ApiRouter, Prefix extends PropertyKey = ""> = {
326
+ [E in FileRouteParser<T["routes"], Prefix> as E extends {
327
+ key: infer Key extends PropertyKey;
328
+ } ? Key : never]: E extends {
329
+ route: infer Kind;
330
+ } ? Kind : never;
331
+ };
295
332
  export {};
296
333
  //# sourceMappingURL=ApiRouter.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"ApiRouter.d.ts","sourceRoot":"","sources":["../../http/ApiRouter.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"ApiRouter.d.ts","sourceRoot":"","sources":["../../http/ApiRouter.ts"],"names":[],"mappings":"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"}
@@ -1,5 +1,5 @@
1
1
  export { Controller, ResourceController } from "./Controller";
2
- export { ApiRouter, type ControllerRouteHandler, type CreateRPC } from "./ApiRouter";
2
+ export { ApiRouter, type ControllerRouteHandler, type CreateFileRPC, type CreateRPC, } from "./ApiRouter";
3
3
  export { ChannelRouter, ChannelDeclaration, authorizeChannel, type BroadcastEventMap, type ChannelAuthorization, type ChannelAuthorizer, type ChannelPolicy, type ChannelRefusal, type ChannelRouterClass, type CreateBroadcastRPC, } from "./ChannelRouter";
4
4
  export { McpRouter, McpRouteDeclaration, type McpFileBinder, type McpMethod, McpModelParam, type McpModelParamOptions, type McpModelParamResolver, type McpNativeToolMeta, type McpNativeToolRemote, type McpParamBinder, type McpParamDeclaration, type McpRouteMeta, type McpRoutes, type McpToolInput, type McpToolOutput, McpToolDeclaration, } from "./McpRouter";
5
5
  export type { McpGrant, ProgressUpdate } from "./modelOriginated";
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../http/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../http/index.ts"],"names":[],"mappings":"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"}
@@ -1,4 +1,4 @@
1
1
  // @bun
2
- import{$d as F,$f as $,Ae as H,Ce as I,De as J,Ee as K,Fe as L,Ff as _,Nd as q,Od as r,Pd as s,Qd as t,Rd as u,Sd as B,Xd as C,Zd as D,_d as E,ag as aa,bg as ba,eg as ca,fg as da,gg as ea,hg as fa,ig as ga,jg as ha,kg as ia,lg as ja,mg as ka,ng as la,og as ma,pg as na,qg as oa,rg as pa,sg as qa,tg as ra,ug as sa,vg as ta,ze as G}from"../chunk-cwpezdpw.js";import"../chunk-n8mxsfc2.js";import"../chunk-1gd1ykgj.js";import{Fh as M,Gh as N,Hh as O,Ih as P,Jh as Q,Kh as R,Lh as S,Mh as T,Nh as U,Oh as V,Ph as W,Qh as X,Rh as Y,Sh as Z,Vg as a,Wg as b,Xg as d,ah as e,bh as f,ch as g,dh as h,eh as i,fh as j,kh as n,lh as o,ph as p,qh as v,rh as w,sh as x,th as y,uh as z,vh as A}from"../chunk-dm7mada7.js";import{di as c}from"../chunk-7eerqsg2.js";import{ii as k,ji as l,ki as m}from"../chunk-15bmfr7f.js";import"../chunk-rtb64x14.js";import"../chunk-8df7fn7f.js";import"../chunk-yffm8nxa.js";import"../chunk-s2krqtwj.js";import"../chunk-0arss2xy.js";import"../chunk-nv2t87c3.js";import"../chunk-kzk5r6v4.js";import"../chunk-v7nw1g2n.js";import"../chunk-43faxwf5.js";import"../chunk-mj7h1dgh.js";import"../chunk-yg8se4vs.js";import"../chunk-84rbdyhe.js";import"../chunk-s2y2b8tz.js";import"../chunk-7nfprr9v.js";import"../chunk-9x0pgkns.js";import"../chunk-ecb8qggy.js";import"../chunk-89swy5aq.js";export{g as toRangeHeaderValue,q as toMiddlewareList,k as stateKey,Z as safeFetch,f as resolveRange,e as parseRangeHeader,h as parseContentRange,u as parseByteSize,ha as middlewareConfigDefaults,J as httpError,d as getCookies,j as formatUnsatisfiedContentRange,i as formatContentRange,pa as defineResourcePolicy,ga as defineMiddlewareConfig,r as createUnsatisfiableResponse,s as createStreamResponse,K as createFileResponse,F as clientIp,X as classifyAddress,ba as authorizeChannel,L as ViewRouter,n as ValidationError,U as TooManyRedirectsError,S as TooLargeError,R as TimeoutError,qa as SitemapError,ra as Sitemap,H as SameSiteBounceMiddleware,Y as SafeResponse,M as SafeFetchError,G as SAME_SITE_BOUNCE_PARAM,sa as RobotsTxt,ta as Robots,oa as ResourcePolicy,b as ResourceController,m as RequestState,c as RequestBreakerError,E as RateLimitMiddleware,C as RateLimitExceededError,x as RangeNotSatisfiableError,ma as PoliciesServiceProvider,na as Policies,t as PayloadTooLargeError,y as NotFoundError,V as NetworkError,l as MissingRequestStateError,D as Middleware,ea as McpToolDeclaration,fa as McpRouter,da as McpRouteDeclaration,ca as McpModelParam,o as InvalidValidationRuleError,N as InvalidUrlError,w as InsufficientPermissionsError,W as HttpStatusError,I as HttpResponse,p as HttpRequest,z as FileNotFoundError,Q as DnsError,ka as CorsMiddleware,a as Controller,T as ContentTypeError,aa as ChannelRouter,$ as ChannelDeclaration,ja as CacheMiddleware,la as CSRFMiddleware,_ as BodyLimitMiddleware,O as BlockedHostError,P as BlockedAddressError,v as AuthorizationError,ia as AuthenticationMiddleware,A as AuthenticationError,B as ApiRouter};
2
+ import{$d as F,$f as $,Ae as H,Ce as I,De as J,Ee as K,Fe as L,Ff as _,Nd as q,Od as r,Pd as s,Qd as t,Rd as u,Sd as B,Xd as C,Zd as D,_d as E,ag as aa,bg as ba,eg as ca,fg as da,gg as ea,hg as fa,ig as ga,jg as ha,kg as ia,lg as ja,mg as ka,ng as la,og as ma,pg as na,qg as oa,rg as pa,sg as qa,tg as ra,ug as sa,vg as ta,ze as G}from"../chunk-6c8pn6hj.js";import"../chunk-n8mxsfc2.js";import"../chunk-1gd1ykgj.js";import{Fh as M,Gh as N,Hh as O,Ih as P,Jh as Q,Kh as R,Lh as S,Mh as T,Nh as U,Oh as V,Ph as W,Qh as X,Rh as Y,Sh as Z,Vg as a,Wg as b,Xg as d,ah as e,bh as f,ch as g,dh as h,eh as i,fh as j,kh as n,lh as o,ph as p,qh as v,rh as w,sh as x,th as y,uh as z,vh as A}from"../chunk-dm7mada7.js";import{di as c}from"../chunk-7eerqsg2.js";import{ii as k,ji as l,ki as m}from"../chunk-15bmfr7f.js";import"../chunk-rtb64x14.js";import"../chunk-8df7fn7f.js";import"../chunk-yffm8nxa.js";import"../chunk-s2krqtwj.js";import"../chunk-0arss2xy.js";import"../chunk-nv2t87c3.js";import"../chunk-kzk5r6v4.js";import"../chunk-v7nw1g2n.js";import"../chunk-43faxwf5.js";import"../chunk-mj7h1dgh.js";import"../chunk-yg8se4vs.js";import"../chunk-84rbdyhe.js";import"../chunk-s2y2b8tz.js";import"../chunk-7nfprr9v.js";import"../chunk-9x0pgkns.js";import"../chunk-ecb8qggy.js";import"../chunk-89swy5aq.js";export{g as toRangeHeaderValue,q as toMiddlewareList,k as stateKey,Z as safeFetch,f as resolveRange,e as parseRangeHeader,h as parseContentRange,u as parseByteSize,ha as middlewareConfigDefaults,J as httpError,d as getCookies,j as formatUnsatisfiedContentRange,i as formatContentRange,pa as defineResourcePolicy,ga as defineMiddlewareConfig,r as createUnsatisfiableResponse,s as createStreamResponse,K as createFileResponse,F as clientIp,X as classifyAddress,ba as authorizeChannel,L as ViewRouter,n as ValidationError,U as TooManyRedirectsError,S as TooLargeError,R as TimeoutError,qa as SitemapError,ra as Sitemap,H as SameSiteBounceMiddleware,Y as SafeResponse,M as SafeFetchError,G as SAME_SITE_BOUNCE_PARAM,sa as RobotsTxt,ta as Robots,oa as ResourcePolicy,b as ResourceController,m as RequestState,c as RequestBreakerError,E as RateLimitMiddleware,C as RateLimitExceededError,x as RangeNotSatisfiableError,ma as PoliciesServiceProvider,na as Policies,t as PayloadTooLargeError,y as NotFoundError,V as NetworkError,l as MissingRequestStateError,D as Middleware,ea as McpToolDeclaration,fa as McpRouter,da as McpRouteDeclaration,ca as McpModelParam,o as InvalidValidationRuleError,N as InvalidUrlError,w as InsufficientPermissionsError,W as HttpStatusError,I as HttpResponse,p as HttpRequest,z as FileNotFoundError,Q as DnsError,ka as CorsMiddleware,a as Controller,T as ContentTypeError,aa as ChannelRouter,$ as ChannelDeclaration,ja as CacheMiddleware,la as CSRFMiddleware,_ as BodyLimitMiddleware,O as BlockedHostError,P as BlockedAddressError,v as AuthorizationError,ia as AuthenticationMiddleware,A as AuthenticationError,B as ApiRouter};
3
3
 
4
4
  //# debugId=F9000C6214C7363D64756E2164756E21
@@ -1,4 +1,4 @@
1
1
  // @bun
2
- import{ca as T}from"../chunk-p7abyc0b.js";import"../chunk-epvpmakp.js";import{ab as D}from"../chunk-87bmhng2.js";import{Kd as b,Ld as w}from"../chunk-ych1dv5q.js";import"../chunk-1eb4p352.js";import{Ge as j}from"../chunk-cwpezdpw.js";import"../chunk-n8mxsfc2.js";import"../chunk-1gd1ykgj.js";import"../chunk-dm7mada7.js";import"../chunk-7eerqsg2.js";import"../chunk-15bmfr7f.js";import"../chunk-rtb64x14.js";import"../chunk-8df7fn7f.js";import"../chunk-yffm8nxa.js";import"../chunk-s2krqtwj.js";import"../chunk-0arss2xy.js";import"../chunk-nv2t87c3.js";import"../chunk-kzk5r6v4.js";import"../chunk-v7nw1g2n.js";import"../chunk-43faxwf5.js";import{jk as V,kk as X,lk as E,mk as L,nk as R,ok as S}from"../chunk-mj7h1dgh.js";import"../chunk-yg8se4vs.js";import"../chunk-84rbdyhe.js";import"../chunk-s2y2b8tz.js";import"../chunk-7nfprr9v.js";import"../chunk-9x0pgkns.js";import"../chunk-ecb8qggy.js";import"../chunk-89swy5aq.js";import{createElement as J,Fragment as M,isValidElement as U}from"react";function $(q,B){let G=Object.values(B).some((z)=>typeof z==="function"&&U(z(""))),Q=/{{([^{}]+?)(?::([^{}\[\]]+?))?(?:\[(.*?)\])?}}/g;if(!G)return q.replace(Q,(W,O,_,Z)=>{let C=O.includes(":")?O.split(":")[0]:O,H=B[C];if(H===void 0)return W;if(typeof H==="function"){let K=H(Z!==void 0?Z:"");if(U(K))throw Error("JSX returned in string context");return String(K)}if(_)switch(_.toLowerCase()){case"number":return Number(H).toString();case"string":return String(H);case"boolean":return Boolean(H).toString();default:return String(H)}return String(H)});else{let z=[],W=0,O=null;while((O=Q.exec(q))!==null){let[_,Z,C,H]=O,F=O.index,K=Z.includes(":")?Z.split(":")[0]:Z;if(F>W)z.push(q.substring(W,F));let Y=B[K];if(Y===void 0)z.push(_);else if(typeof Y==="function"){let A=Y(H!==void 0?H:"");z.push(A)}else if(C)switch(C.toLowerCase()){case"number":z.push(Number(Y).toString());break;case"string":z.push(String(Y));break;case"boolean":z.push(Boolean(Y).toString());break;default:z.push(String(Y))}else z.push(String(Y));W=F+_.length}if(W<q.length)z.push(q.substring(W));return J(M,{},...z)}}class P{name;dictionary;constructor(q,B){this.name=q;this.dictionary=B}reference(q){if(typeof window<"u")throw Error("Cannot use reference in the browser");if(!this.dictionary?.[q])throw Error(`Translation not found for ${String(q)}`);return this.dictionary[q]}render(q,...B){let{locale:G=j.locale(),params:Q}={params:{},...B[0]};if(typeof window<"u")throw Error("Cannot use render in the browser");if(!this.dictionary?.[q]?.[G])throw Error(`Translation not found for ${String(q)} in ${String(G)}`);return $(this.dictionary[q][G],Q??{})}static create(q,B){return new P(q,B)}static text(q,...B){let{locale:G=j.locale(),params:Q}={params:{},...B?.[0]};if(!q?.[G])throw Error(`Translation not found for ${String(G)}`);return $(q[G],Q??{})}}async function N(q,B,...G){let{locale:Q=j.locale(),params:z}={params:{},...G[0]},O=(await q.load(String(Q)))[B];if(typeof O!=="string")throw Error(`Translation not found for "${B}" in "${String(Q)}" (dictionary ${q.id})`);return $(O,z??{})}export{w as translationConfigDefaults,N as translate,V as resolveLocale,X as negotiateLocale,L as isValidTimeZone,b as defineTranslationConfig,T as defineDictionary,R as createFormatter,S as Translator,D as TranslationServiceProvider,P as Dictionary,E as DEFAULT_TIME_ZONE};
2
+ import{ca as T}from"../chunk-p7abyc0b.js";import"../chunk-epvpmakp.js";import{ab as D}from"../chunk-87bmhng2.js";import{Kd as b,Ld as w}from"../chunk-ych1dv5q.js";import"../chunk-1eb4p352.js";import{Ge as j}from"../chunk-6c8pn6hj.js";import"../chunk-n8mxsfc2.js";import"../chunk-1gd1ykgj.js";import"../chunk-dm7mada7.js";import"../chunk-7eerqsg2.js";import"../chunk-15bmfr7f.js";import"../chunk-rtb64x14.js";import"../chunk-8df7fn7f.js";import"../chunk-yffm8nxa.js";import"../chunk-s2krqtwj.js";import"../chunk-0arss2xy.js";import"../chunk-nv2t87c3.js";import"../chunk-kzk5r6v4.js";import"../chunk-v7nw1g2n.js";import"../chunk-43faxwf5.js";import{jk as V,kk as X,lk as E,mk as L,nk as R,ok as S}from"../chunk-mj7h1dgh.js";import"../chunk-yg8se4vs.js";import"../chunk-84rbdyhe.js";import"../chunk-s2y2b8tz.js";import"../chunk-7nfprr9v.js";import"../chunk-9x0pgkns.js";import"../chunk-ecb8qggy.js";import"../chunk-89swy5aq.js";import{createElement as J,Fragment as M,isValidElement as U}from"react";function $(q,B){let G=Object.values(B).some((z)=>typeof z==="function"&&U(z(""))),Q=/{{([^{}]+?)(?::([^{}\[\]]+?))?(?:\[(.*?)\])?}}/g;if(!G)return q.replace(Q,(W,O,_,Z)=>{let C=O.includes(":")?O.split(":")[0]:O,H=B[C];if(H===void 0)return W;if(typeof H==="function"){let K=H(Z!==void 0?Z:"");if(U(K))throw Error("JSX returned in string context");return String(K)}if(_)switch(_.toLowerCase()){case"number":return Number(H).toString();case"string":return String(H);case"boolean":return Boolean(H).toString();default:return String(H)}return String(H)});else{let z=[],W=0,O=null;while((O=Q.exec(q))!==null){let[_,Z,C,H]=O,F=O.index,K=Z.includes(":")?Z.split(":")[0]:Z;if(F>W)z.push(q.substring(W,F));let Y=B[K];if(Y===void 0)z.push(_);else if(typeof Y==="function"){let A=Y(H!==void 0?H:"");z.push(A)}else if(C)switch(C.toLowerCase()){case"number":z.push(Number(Y).toString());break;case"string":z.push(String(Y));break;case"boolean":z.push(Boolean(Y).toString());break;default:z.push(String(Y))}else z.push(String(Y));W=F+_.length}if(W<q.length)z.push(q.substring(W));return J(M,{},...z)}}class P{name;dictionary;constructor(q,B){this.name=q;this.dictionary=B}reference(q){if(typeof window<"u")throw Error("Cannot use reference in the browser");if(!this.dictionary?.[q])throw Error(`Translation not found for ${String(q)}`);return this.dictionary[q]}render(q,...B){let{locale:G=j.locale(),params:Q}={params:{},...B[0]};if(typeof window<"u")throw Error("Cannot use render in the browser");if(!this.dictionary?.[q]?.[G])throw Error(`Translation not found for ${String(q)} in ${String(G)}`);return $(this.dictionary[q][G],Q??{})}static create(q,B){return new P(q,B)}static text(q,...B){let{locale:G=j.locale(),params:Q}={params:{},...B?.[0]};if(!q?.[G])throw Error(`Translation not found for ${String(G)}`);return $(q[G],Q??{})}}async function N(q,B,...G){let{locale:Q=j.locale(),params:z}={params:{},...G[0]},O=(await q.load(String(Q)))[B];if(typeof O!=="string")throw Error(`Translation not found for "${B}" in "${String(Q)}" (dictionary ${q.id})`);return $(O,z??{})}export{w as translationConfigDefaults,N as translate,V as resolveLocale,X as negotiateLocale,L as isValidTimeZone,b as defineTranslationConfig,T as defineDictionary,R as createFormatter,S as Translator,D as TranslationServiceProvider,P as Dictionary,E as DEFAULT_TIME_ZONE};
3
3
 
4
4
  //# debugId=D51418EF91DADF2764756E2164756E21
@@ -1,5 +1,5 @@
1
1
  // @bun
2
- import{Ea as E}from"../chunk-5vvfcdpk.js";import{$a as g}from"../chunk-h4755p9h.js";import{ab as H}from"../chunk-87bmhng2.js";import{Bb as L,Cb as Q,Db as T,Hb as U,Ib as y,Jb as F,Kb as C,Nb as D,Ob as I,Rb as b,Ub as f,Vb as k,nb as h,ob as W,pb as _,qb as p,rb as l,sb as P,tb as $,ub as V,vb as q,wb as B,xb as K}from"../chunk-zbvdkh6q.js";import"../chunk-s0kns9q1.js";import"../chunk-0f0xxqhy.js";import"../chunk-t8kzaxaa.js";import{Ed as R}from"../chunk-b2pdqxj3.js";import"../chunk-ych1dv5q.js";import"../chunk-1eb4p352.js";import{Tf as M,Xf as w,Yf as A,ee as s,fe as n,xe as a,ye as d}from"../chunk-cwpezdpw.js";import"../chunk-n8mxsfc2.js";import"../chunk-1gd1ykgj.js";import"../chunk-dm7mada7.js";import"../chunk-7eerqsg2.js";import"../chunk-15bmfr7f.js";import"../chunk-rtb64x14.js";import{yi as m}from"../chunk-8df7fn7f.js";import"../chunk-yffm8nxa.js";import"../chunk-s2krqtwj.js";import"../chunk-0arss2xy.js";import"../chunk-nv2t87c3.js";import"../chunk-kzk5r6v4.js";import"../chunk-v7nw1g2n.js";import"../chunk-43faxwf5.js";import"../chunk-v1eeh7a7.js";import"../chunk-mj7h1dgh.js";import{pk as O,rk as z}from"../chunk-yg8se4vs.js";import"../chunk-84rbdyhe.js";import"../chunk-s2y2b8tz.js";import"../chunk-7nfprr9v.js";import"../chunk-9x0pgkns.js";import"../chunk-ecb8qggy.js";import"../chunk-89swy5aq.js";var N=[C,I,E,T,L,k,B,Q,D,y,_,U,f,V,F,H,b,K,q,$];class u{config={};providers=[];services=[];serviceInstances=[];serviceTokens=new Set;servicesBooted=!1;models=[];app=new z;boot(){if(this.models.length>0)g(...this.models);else S();this.app.config.merge(this.config),z.setInstance(this.app),this.app.registerMany([...N,...this.providers]),this.registerServices()}registerServices(){let j=this.serviceTokens;this.serviceInstances=[],this.serviceTokens=new Set,this.servicesBooted=!1;let X=new Map;for(let G of this.services){let J=typeof G==="function"?new G:G,x=J.constructor;if(!x.token)throw Error(`Service [${x.name}] is listed in \`services\` but does not declare a \`static token\`.`);let Y=X.get(x.token);if(Y)throw Error(`Services [${Y}] and [${x.name}] both declare the token "${x.token}". Tokens are the container's keys, so they must be unique.`);X.set(x.token,x.name);let Z=x;if(!j.has(x.token)&&this.app.bound(Z))throw Error(`Service [${x.name}] declares the token "${x.token}", which is already bound in the container by the framework or a provider. Binding it would replace that service everywhere, so pick a token nothing else owns.`);this.app.instance(Z,J),this.serviceInstances.push(J),this.serviceTokens.add(x.token)}}async waitForBoot(){await this.app.boot(),await this.bootServices(),p(this.app)}async bootServices(){if(this.servicesBooted)return;for(let j of this.serviceInstances)await j.boot();this.servicesBooted=!0}shutdown(j){return this.run(()=>this.app.shutdown(j))}run(j){return O.run(this.app,j)}resolve(j){return this.app.make(j)}apiRoutes(){return this.app.make(w)}viewRoutes(){return this.app.make(M)}domains(){return this.app.make(A)}queue(){return this.app.make(R)}mcpHttp(){return this.app.config.get("route.mcp.remote.enabled")===!0?this.app.make(h):null}sockets(){return this.app.config.get("route.channels")?this.app.make(P):null}globalMiddleware(j){return l(j)}destroy(){if(this.app.resolved(W))this.app.make(W).stop();if(this.app.flush(),z.getInstance()===this.app)z.setInstance(void 0);O.disable()}}function S(){if(Bun.env.NODE_ENV==="production")return;let j=m();if(j.length===0)return;console.warn(`[gemi] ${j.length} model${j.length===1?" is":"s are"} registered, but Kernel.models is empty.
2
+ import{Ea as E}from"../chunk-5vvfcdpk.js";import{$a as g}from"../chunk-h4755p9h.js";import{ab as H}from"../chunk-87bmhng2.js";import{Bb as L,Cb as Q,Db as T,Hb as U,Ib as y,Jb as F,Kb as C,Nb as D,Ob as I,Rb as b,Ub as f,Vb as k,nb as h,ob as W,pb as _,qb as p,rb as l,sb as P,tb as $,ub as V,vb as q,wb as B,xb as K}from"../chunk-3p9vj0h6.js";import"../chunk-s0kns9q1.js";import"../chunk-0f0xxqhy.js";import"../chunk-t8kzaxaa.js";import{Ed as R}from"../chunk-b2pdqxj3.js";import"../chunk-ych1dv5q.js";import"../chunk-1eb4p352.js";import{Tf as M,Xf as w,Yf as A,ee as s,fe as n,xe as a,ye as d}from"../chunk-6c8pn6hj.js";import"../chunk-n8mxsfc2.js";import"../chunk-1gd1ykgj.js";import"../chunk-dm7mada7.js";import"../chunk-7eerqsg2.js";import"../chunk-15bmfr7f.js";import"../chunk-rtb64x14.js";import{yi as m}from"../chunk-8df7fn7f.js";import"../chunk-yffm8nxa.js";import"../chunk-s2krqtwj.js";import"../chunk-0arss2xy.js";import"../chunk-nv2t87c3.js";import"../chunk-kzk5r6v4.js";import"../chunk-v7nw1g2n.js";import"../chunk-43faxwf5.js";import"../chunk-v1eeh7a7.js";import"../chunk-mj7h1dgh.js";import{pk as O,rk as z}from"../chunk-yg8se4vs.js";import"../chunk-84rbdyhe.js";import"../chunk-s2y2b8tz.js";import"../chunk-7nfprr9v.js";import"../chunk-9x0pgkns.js";import"../chunk-ecb8qggy.js";import"../chunk-89swy5aq.js";var N=[C,I,E,T,L,k,B,Q,D,y,_,U,f,V,F,H,b,K,q,$];class u{config={};providers=[];services=[];serviceInstances=[];serviceTokens=new Set;servicesBooted=!1;models=[];app=new z;boot(){if(this.models.length>0)g(...this.models);else S();this.app.config.merge(this.config),z.setInstance(this.app),this.app.registerMany([...N,...this.providers]),this.registerServices()}registerServices(){let j=this.serviceTokens;this.serviceInstances=[],this.serviceTokens=new Set,this.servicesBooted=!1;let X=new Map;for(let G of this.services){let J=typeof G==="function"?new G:G,x=J.constructor;if(!x.token)throw Error(`Service [${x.name}] is listed in \`services\` but does not declare a \`static token\`.`);let Y=X.get(x.token);if(Y)throw Error(`Services [${Y}] and [${x.name}] both declare the token "${x.token}". Tokens are the container's keys, so they must be unique.`);X.set(x.token,x.name);let Z=x;if(!j.has(x.token)&&this.app.bound(Z))throw Error(`Service [${x.name}] declares the token "${x.token}", which is already bound in the container by the framework or a provider. Binding it would replace that service everywhere, so pick a token nothing else owns.`);this.app.instance(Z,J),this.serviceInstances.push(J),this.serviceTokens.add(x.token)}}async waitForBoot(){await this.app.boot(),await this.bootServices(),p(this.app)}async bootServices(){if(this.servicesBooted)return;for(let j of this.serviceInstances)await j.boot();this.servicesBooted=!0}shutdown(j){return this.run(()=>this.app.shutdown(j))}run(j){return O.run(this.app,j)}resolve(j){return this.app.make(j)}apiRoutes(){return this.app.make(w)}viewRoutes(){return this.app.make(M)}domains(){return this.app.make(A)}queue(){return this.app.make(R)}mcpHttp(){return this.app.config.get("route.mcp.remote.enabled")===!0?this.app.make(h):null}sockets(){return this.app.config.get("route.channels")?this.app.make(P):null}globalMiddleware(j){return l(j)}destroy(){if(this.app.resolved(W))this.app.make(W).stop();if(this.app.flush(),z.getInstance()===this.app)z.setInstance(void 0);O.disable()}}function S(){if(Bun.env.NODE_ENV==="production")return;let j=m();if(j.length===0)return;console.warn(`[gemi] ${j.length} model${j.length===1?" is":"s are"} registered, but Kernel.models is empty.
3
3
  Nested relation reads resolve a model by name, so a policy on a subclass that does not own its
4
4
  `+" name is skipped inside every include \u2014 scoped at the root, "+`unscoped in an include, with nothing
5
5
  to notice it. Declaring the modules registers each class under its own name and audits the set:
@@ -1,4 +1,4 @@
1
1
  // @bun
2
- import{Ca as f}from"../chunk-kk18xqgc.js";import{Da as S}from"../chunk-w4111j5d.js";import{Bk as Q,Dk as Z,Ek as P,Fk as y,Gk as U,Hk as A}from"../chunk-7nfprr9v.js";import{Lk as H}from"../chunk-9x0pgkns.js";import"../chunk-ecb8qggy.js";import{Sk as F}from"../chunk-89swy5aq.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-zy5gxk1g.js");this.server=await J(this.app,I)}else{f();let{httpDev:J}=await import("../chunk-mpt5jg4e.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-w4111j5d.js";import{Bk as Q,Dk as Z,Ek as P,Fk as y,Gk as U,Hk as A}from"../chunk-7nfprr9v.js";import{Lk as H}from"../chunk-9x0pgkns.js";import"../chunk-ecb8qggy.js";import{Sk as F}from"../chunk-89swy5aq.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-yhxjhrvp.js");this.server=await J(this.app,I)}else{f();let{httpDev:J}=await import("../chunk-pxstrw29.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=C71BCA9E71EC4DB064756E2164756E21
@@ -1,5 +1,5 @@
1
1
  // @bun
2
- import{cb as U8}from"../chunk-fcqx2t0p.js";import{Ab as W8,Bb as Z8,Cb as $8,Db as J8,Eb as S4,Fb as Z6,Gb as k,Hb as Q8,Ib as Y8,Jb as K8,Kb as G8,Lb as z8,Mb as X8,Nb as B8,Ob as j8,Pb as M8,Qb as L8,Rb as N8,Sb as x8,Tb as D8,Ub as F8,Vb as H8,db as UZ,eb as OZ,fb as SZ,gb as RZ,hb as _Z,ib as H4,jb as fZ,kb as N4,lb as x4,mb as V1,nb as kZ,ob as CZ,pb as dZ,tb as lZ,ub as nZ,vb as iZ,wb as oZ,xb as tZ,yb as rZ,zb as eZ}from"../chunk-zbvdkh6q.js";import"../chunk-s0kns9q1.js";import{$c as TZ,_c as bZ,ad as IZ,bd as PZ,cd as wZ,dd as vZ,ed as qZ,fd as yZ,gd as AZ,hd as hZ,id as gZ,jd as EZ,kd as mZ,ld as cZ,md as uZ,nd as pZ}from"../chunk-0f0xxqhy.js";import{od as VZ}from"../chunk-t8kzaxaa.js";import{Ad as LZ,Bd as NZ,Cd as xZ,Dd as DZ,Ed as FZ,Jd as HZ,pd as $Z,qd as JZ,rd as QZ,sd as YZ,td as KZ,ud as GZ,vd as zZ,wd as XZ,xd as BZ,yd as jZ,zd as MZ}from"../chunk-b2pdqxj3.js";import{Kd as sZ,Ld as aZ}from"../chunk-ych1dv5q.js";import"../chunk-1eb4p352.js";import{$d as s0,$e as O5,Af as y5,Bf as A5,Cf as h5,Df as g5,Ef as E5,Gf as m5,Hf as c5,If as u5,Jf as p5,Kf as d5,Me as eW,Ne as W5,Nf as l5,Oe as Z5,Of as n5,Pe as $5,Qe as J5,Re as Q5,Td as o0,Tf as i5,Ud as bW,Vd as TW,Wd as IW,Xe as D5,Xf as o5,Yd as PW,Ye as F5,Ze as H5,Zf as v1,_e as U5,ae as v0,af as S5,be as q0,bf as R5,ce as G4,cf as _5,de as wW,df as f5,ff as k5,gf as W6,he as VW,ie as vW,if as C5,ig as s5,je as qW,jg as a5,ke as yW,le as AW,lf as b5,me as hW,mf as T5,ne as gW,nf as P5,oe as EW,pe as mW,qe as b0,qf as w5,re as cW,rf as V5,se as uW,sf as v5,te as pW,tf as q5,ue as dW,ve as lW,yf as C,zf as i}from"../chunk-cwpezdpw.js";import"../chunk-n8mxsfc2.js";import"../chunk-1gd1ykgj.js";import{Ah as T1,Bh as nW,Ch as iW,Dh as oW,Eh as sW,Th as aW,Uh as tW,Wh as rW,Yh as I1,bh as K4,ch as J4,dh as M1,ph as L4,sh as t,uh as d,yh as Q4,zh as L1}from"../chunk-dm7mada7.js";import"../chunk-7eerqsg2.js";import{gi as r}from"../chunk-15bmfr7f.js";import{oi as j5,pi as M5,qi as b1,ri as L5,si as k0,ti as N5,ui as x5}from"../chunk-rtb64x14.js";import{Ai as z5,Bi as X5,Ci as B5}from"../chunk-8df7fn7f.js";import"../chunk-yffm8nxa.js";import{jj as I5}from"../chunk-s2krqtwj.js";import{lj as Y5,mj as K5,nj as G5}from"../chunk-0arss2xy.js";import"../chunk-nv2t87c3.js";import"../chunk-kzk5r6v4.js";import"../chunk-v7nw1g2n.js";import"../chunk-43faxwf5.js";import{dk as t5,ek as r5,fk as e5,gk as WZ,ik as ZZ}from"../chunk-v1eeh7a7.js";import"../chunk-mj7h1dgh.js";import{sk as q}from"../chunk-yg8se4vs.js";import"../chunk-84rbdyhe.js";import"../chunk-s2y2b8tz.js";import"../chunk-7nfprr9v.js";import"../chunk-9x0pgkns.js";import"../chunk-ecb8qggy.js";import{Sk as I0}from"../chunk-89swy5aq.js";import{Buffer as T0}from"buffer";class P0 extends L1{client;config;constructor(...W){super();this.config=W}async connect(){let W=await import("../chunk-gxp48t81.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 T0?$:$ instanceof Blob||$ instanceof File?T0.from(await $.arrayBuffer()):"",{sdk:G,client:z}=await this.connect();return Z?.throwIfAborted(),await z.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={}){Q4(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 z=(await Q.send(new J.DeleteObjectsCommand({Bucket:$,Delete:{Objects:K.map((X)=>({Key:X.name})),Quiet:!0}}),{abortSignal:Z.signal}))?.Errors??[];if(z.length>0){let X=z[0];throw Error(`S3 could not delete ${z.length} object(s) under "${W}", e.g. "${X.Key}": ${X.Code??"unknown"} ${X.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?J4(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 z=M1(G.ContentRange),X=Boolean(z)&&G.$metadata?.httpStatusCode===206,B=z?.total??G.ContentLength??0;return{body:G.Body.transformToWebStream(),start:z?.start??0,end:z?.end??B-1,total:B,partial:X,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 w0}from"buffer";import{Readable as m6}from"stream";function Y4(W){return W?.statusCode===404||W?.details?.errorCode==="BlobNotFound"||W?.code==="BlobNotFound"}function c6(W){return W?.statusCode===416||W?.details?.errorCode==="InvalidRange"||W?.code==="InvalidRange"}class V0 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 w0?$:w0.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,z=Q?.kind==="suffix"||Q?.kind==="offset"&&Q.end===null&&Q.start===0;if(Q&&z){let H=await this.size({name:$,bucket:J}),p=K4(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 X;try{X=await Y.download(K,G,Z?{abortSignal:Z}:void 0)}catch(H){if(c6(H))throw new t(await this.size({name:$,bucket:J}));if(Y4(H))throw new d($);throw H}let B=M1(X.contentRange),j=Boolean(B),x=B?.total??X.contentLength??0,O=await u6(X);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:X.contentType??"application/octet-stream",etag:X.etag||void 0,lastModified:X.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(Y4(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(Y4(Q))return;throw Q}}}async function u6(W){if(W.blobBody)return await W.blobBody;if(W.readableStreamBody)return m6.toWeb(W.readableStreamBody);return null}function p6(W){return W}var d6=`
2
+ import{cb as U8}from"../chunk-fcqx2t0p.js";import{Ab as W8,Bb as Z8,Cb as $8,Db as J8,Eb as S4,Fb as Z6,Gb as k,Hb as Q8,Ib as Y8,Jb as K8,Kb as G8,Lb as z8,Mb as X8,Nb as B8,Ob as j8,Pb as M8,Qb as L8,Rb as N8,Sb as x8,Tb as D8,Ub as F8,Vb as H8,db as UZ,eb as OZ,fb as SZ,gb as RZ,hb as _Z,ib as H4,jb as fZ,kb as N4,lb as x4,mb as V1,nb as kZ,ob as CZ,pb as dZ,tb as lZ,ub as nZ,vb as iZ,wb as oZ,xb as tZ,yb as rZ,zb as eZ}from"../chunk-3p9vj0h6.js";import"../chunk-s0kns9q1.js";import{$c as TZ,_c as bZ,ad as IZ,bd as PZ,cd as wZ,dd as vZ,ed as qZ,fd as yZ,gd as AZ,hd as hZ,id as gZ,jd as EZ,kd as mZ,ld as cZ,md as uZ,nd as pZ}from"../chunk-0f0xxqhy.js";import{od as VZ}from"../chunk-t8kzaxaa.js";import{Ad as LZ,Bd as NZ,Cd as xZ,Dd as DZ,Ed as FZ,Jd as HZ,pd as $Z,qd as JZ,rd as QZ,sd as YZ,td as KZ,ud as GZ,vd as zZ,wd as XZ,xd as BZ,yd as jZ,zd as MZ}from"../chunk-b2pdqxj3.js";import{Kd as sZ,Ld as aZ}from"../chunk-ych1dv5q.js";import"../chunk-1eb4p352.js";import{$d as s0,$e as O5,Af as y5,Bf as A5,Cf as h5,Df as g5,Ef as E5,Gf as m5,Hf as c5,If as u5,Jf as p5,Kf as d5,Me as eW,Ne as W5,Nf as l5,Oe as Z5,Of as n5,Pe as $5,Qe as J5,Re as Q5,Td as o0,Tf as i5,Ud as bW,Vd as TW,Wd as IW,Xe as D5,Xf as o5,Yd as PW,Ye as F5,Ze as H5,Zf as v1,_e as U5,ae as v0,af as S5,be as q0,bf as R5,ce as G4,cf as _5,de as wW,df as f5,ff as k5,gf as W6,he as VW,ie as vW,if as C5,ig as s5,je as qW,jg as a5,ke as yW,le as AW,lf as b5,me as hW,mf as T5,ne as gW,nf as P5,oe as EW,pe as mW,qe as b0,qf as w5,re as cW,rf as V5,se as uW,sf as v5,te as pW,tf as q5,ue as dW,ve as lW,yf as C,zf as i}from"../chunk-6c8pn6hj.js";import"../chunk-n8mxsfc2.js";import"../chunk-1gd1ykgj.js";import{Ah as T1,Bh as nW,Ch as iW,Dh as oW,Eh as sW,Th as aW,Uh as tW,Wh as rW,Yh as I1,bh as K4,ch as J4,dh as M1,ph as L4,sh as t,uh as d,yh as Q4,zh as L1}from"../chunk-dm7mada7.js";import"../chunk-7eerqsg2.js";import{gi as r}from"../chunk-15bmfr7f.js";import{oi as j5,pi as M5,qi as b1,ri as L5,si as k0,ti as N5,ui as x5}from"../chunk-rtb64x14.js";import{Ai as z5,Bi as X5,Ci as B5}from"../chunk-8df7fn7f.js";import"../chunk-yffm8nxa.js";import{jj as I5}from"../chunk-s2krqtwj.js";import{lj as Y5,mj as K5,nj as G5}from"../chunk-0arss2xy.js";import"../chunk-nv2t87c3.js";import"../chunk-kzk5r6v4.js";import"../chunk-v7nw1g2n.js";import"../chunk-43faxwf5.js";import{dk as t5,ek as r5,fk as e5,gk as WZ,ik as ZZ}from"../chunk-v1eeh7a7.js";import"../chunk-mj7h1dgh.js";import{sk as q}from"../chunk-yg8se4vs.js";import"../chunk-84rbdyhe.js";import"../chunk-s2y2b8tz.js";import"../chunk-7nfprr9v.js";import"../chunk-9x0pgkns.js";import"../chunk-ecb8qggy.js";import{Sk as I0}from"../chunk-89swy5aq.js";import{Buffer as T0}from"buffer";class P0 extends L1{client;config;constructor(...W){super();this.config=W}async connect(){let W=await import("../chunk-gxp48t81.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 T0?$:$ instanceof Blob||$ instanceof File?T0.from(await $.arrayBuffer()):"",{sdk:G,client:z}=await this.connect();return Z?.throwIfAborted(),await z.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={}){Q4(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 z=(await Q.send(new J.DeleteObjectsCommand({Bucket:$,Delete:{Objects:K.map((X)=>({Key:X.name})),Quiet:!0}}),{abortSignal:Z.signal}))?.Errors??[];if(z.length>0){let X=z[0];throw Error(`S3 could not delete ${z.length} object(s) under "${W}", e.g. "${X.Key}": ${X.Code??"unknown"} ${X.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?J4(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 z=M1(G.ContentRange),X=Boolean(z)&&G.$metadata?.httpStatusCode===206,B=z?.total??G.ContentLength??0;return{body:G.Body.transformToWebStream(),start:z?.start??0,end:z?.end??B-1,total:B,partial:X,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 w0}from"buffer";import{Readable as m6}from"stream";function Y4(W){return W?.statusCode===404||W?.details?.errorCode==="BlobNotFound"||W?.code==="BlobNotFound"}function c6(W){return W?.statusCode===416||W?.details?.errorCode==="InvalidRange"||W?.code==="InvalidRange"}class V0 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 w0?$:w0.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,z=Q?.kind==="suffix"||Q?.kind==="offset"&&Q.end===null&&Q.start===0;if(Q&&z){let H=await this.size({name:$,bucket:J}),p=K4(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 X;try{X=await Y.download(K,G,Z?{abortSignal:Z}:void 0)}catch(H){if(c6(H))throw new t(await this.size({name:$,bucket:J}));if(Y4(H))throw new d($);throw H}let B=M1(X.contentRange),j=Boolean(B),x=B?.total??X.contentLength??0,O=await u6(X);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:X.contentType??"application/octet-stream",etag:X.etag||void 0,lastModified:X.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(Y4(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(Y4(Q))return;throw Q}}}async function u6(W){if(W.blobBody)return await W.blobBody;if(W.readableStreamBody)return m6.toWeb(W.readableStreamBody);return null}function p6(W){return W}var d6=`
3
3
  local currentKey = KEYS[1]
4
4
  local previousKey = KEYS[2]
5
5
  local limit = tonumber(ARGV[1])
@@ -1,4 +1,4 @@
1
- import { D as I18nProvider, F as createMemoryHistory, I as RealtimeContext, K as QueryManagerContext, L as channelKey, N as ProgressManager, O as ServerDataContext, P as Action, U as toVariantKey, W as applyParams, i as RouteTransitionProvider, o as ClientRouterContext, q as QueryManagerProvider, r as m, t as ThemeProvider, tt as Subject } from "../chunks/ThemeProvider-CS2a1snV.js";
1
+ import { D as I18nProvider, F as createMemoryHistory, I as RealtimeContext, K as QueryManagerContext, L as channelKey, N as ProgressManager, O as ServerDataContext, P as Action, U as toVariantKey, W as applyParams, i as RouteTransitionProvider, nt as Subject, o as ClientRouterContext, q as QueryManagerProvider, r as m, t as ThemeProvider } from "../chunks/ThemeProvider-BIrCSrFY.js";
2
2
  import { r as RouteStateProvider } from "../chunks/useParams-BN3XXfmG.js";
3
3
  import { Suspense, createElement, useContext, useMemo, useRef, useState } from "react";
4
4
  import { jsx } from "react/jsx-runtime";
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "gemi",
3
- "version": "0.126.0",
3
+ "version": "0.127.0",
4
4
  "private": false,
5
5
  "license": "MIT",
6
6
  "author": "Enes Tufekci <enes@gemijs.dev>",
@@ -52,6 +52,20 @@ Mutation errors arrive as tagged objects — `validation_error` (with per-field
52
52
  `insufficient_permissions` — so a controller should `throw new ValidationError(...)`
53
53
  rather than inventing a per-endpoint error shape.
54
54
 
55
+ **Downloading a file from a `this.stream(...)` or `this.file(...)` route goes through
56
+ `fetchBlob` / `fetchText`, not a raw `fetch`.** The path and params are typed, the
57
+ `Content-Disposition` file name is read for you, and a failure rejects with a
58
+ `QueryError` that `mutationErrorList(error, fallback)` turns into a message:
59
+
60
+ ```tsx
61
+ import { fetchBlob } from "gemi/client";
62
+
63
+ const { blob, filename } = await fetchBlob("/pages/:pageId/post/image", {
64
+ params: { pageId },
65
+ search: { format: "png" },
66
+ });
67
+ ```
68
+
55
69
  **The one documented exception is file upload.** `useUpload` is XHR-based (it needs
56
70
  progress events). That is also why it cannot be intercepted by MSW under happy-dom:
57
71
  a client file post that needs to be unit-testable should use `usePost` with