@supacloud/lite 0.9.1 → 0.10.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.
package/CHANGELOG.md CHANGED
@@ -1,5 +1,19 @@
1
1
  # Changelog
2
2
 
3
+ ## [0.10.0](https://github.com/vibeunion/supacloud/compare/supacloud-lite-v0.9.2...supacloud-lite-v0.10.0) (2026-09-02)
4
+
5
+
6
+ ### Features
7
+
8
+ * **lite:** support Elysia/Hono framework functions with function-local routing ([#1093](https://github.com/vibeunion/supacloud/issues/1093)) ([e92dbea](https://github.com/vibeunion/supacloud/commit/e92dbeaacb4386d17f64985b74f97b146090bbf9))
9
+
10
+ ## [0.9.2](https://github.com/vibeunion/supacloud/compare/supacloud-lite-v0.9.1...supacloud-lite-v0.9.2) (2026-08-29)
11
+
12
+
13
+ ### Miscellaneous Chores
14
+
15
+ * **deps:** upgrade workspace dependencies and svadmin ([#1067](https://github.com/vibeunion/supacloud/issues/1067)) ([9cd8ed6](https://github.com/vibeunion/supacloud/commit/9cd8ed6e81f11da1b26bf491ca745b5599115cc0))
16
+
3
17
  ## [0.9.1](https://github.com/vibeunion/supacloud/compare/supacloud-lite-v0.9.0...supacloud-lite-v0.9.1) (2026-08-23)
4
18
 
5
19
 
package/README.md CHANGED
@@ -74,6 +74,28 @@ supabase/
74
74
 
75
75
  `config.toml` 当前支持 Auth、API schema/max rows、Storage bucket/size limit、seed 和 function entrypoint 等常用配置。
76
76
 
77
+ #### Function 框架契约(Elysia / Hono)
78
+
79
+ Function 默认导出除 fetch 函数与 `Deno.serve()` 外,也支持框架路由器对象——Elysia 实例(`handle()`)与 Hono 应用(`fetch()`),与 SupaCloud Edge Runtime 的契约一致:
80
+
81
+ ```ts
82
+ // functions/api/index.ts
83
+ import { Elysia } from 'elysia'
84
+
85
+ export default new Elysia()
86
+ .get('/', () => ({ ok: true }))
87
+ .get('/cases/:id', ({ params }) => params)
88
+ ```
89
+
90
+ 框架路由器按 function-local 路径接收请求(`/functions/v1/api/cases/42` → `/cases/42`),与生产 Edge Runtime 的 `toFunctionLocalUrl` 行为一致;普通 fetch 函数与不带 `routes` 的 `{ fetch }` 对象保持原有完整 URL 不变。也可在 `config.toml` 显式声明:
91
+
92
+ ```toml
93
+ [functions.api]
94
+ framework = "elysia" # fetch(默认)| elysia | hono
95
+ ```
96
+
97
+ 注意:浏览器预检(OPTIONS)会转发给框架应用,框架函数应自行挂载 CORS(如 `@elysiajs/cors`),与生产 Edge Runtime 行为一致。
98
+
77
99
  #### Auth 运行方式
78
100
 
79
101
  Lite 不下载、安装或启动独立的 GoTrue 进程。`/auth/v1/*` 由同一个 Bun 进程中的内置 Auth 实现处理,并与该 Lite 项目的 PGlite `auth` schema 共享生命周期;这避免了 sidecar 的配置、端口和会话一致性负担。
package/dist/cli.js CHANGED
@@ -9,7 +9,7 @@ import { dirname as dirname7, join as join10, resolve as resolve5 } from "path";
9
9
  // package.json
10
10
  var package_default = {
11
11
  name: "@supacloud/lite",
12
- version: "0.9.1",
12
+ version: "0.10.0",
13
13
  description: "Bun-native, single-project Supabase-compatible backend powered by PGlite or native PostgreSQL",
14
14
  type: "module",
15
15
  license: "Apache-2.0",
@@ -58,12 +58,13 @@ var package_default = {
58
58
  typecheck: "bun x tsc --noEmit -p tsconfig.json"
59
59
  },
60
60
  dependencies: {
61
- "@electric-sql/pglite": "0.5.4",
61
+ "@electric-sql/pglite": "0.5.8",
62
62
  tar: "^7.5.22"
63
63
  },
64
64
  devDependencies: {
65
- "@supabase/supabase-js": "^2.112.2",
65
+ "@supabase/supabase-js": "^2.112.4",
66
66
  "@types/bun": "^1.4.0",
67
+ elysia: "^1.4.30",
67
68
  typescript: "^7.0.2"
68
69
  },
69
70
  engines: {
@@ -2692,6 +2693,36 @@ async function upsertWithoutTtl(query, key, serializedValue) {
2692
2693
  }
2693
2694
 
2694
2695
  // src/runtime/functions/handler.ts
2696
+ function isLoadedFunction(value) {
2697
+ return typeof value === "object" && value !== null && "handler" in value;
2698
+ }
2699
+ function normalizeEntry(value) {
2700
+ return isLoadedFunction(value) ? value : { handler: value };
2701
+ }
2702
+ function isFrameworkRouterHandler(handler) {
2703
+ if (!handler || typeof handler !== "object")
2704
+ return false;
2705
+ const candidate = handler;
2706
+ if (candidate.__supacloud?.routeAware === true)
2707
+ return true;
2708
+ if (typeof candidate.handle === "function")
2709
+ return true;
2710
+ return Array.isArray(candidate.routes) && typeof candidate.fetch === "function";
2711
+ }
2712
+ function toFunctionLocalUrl(requestUrl) {
2713
+ const url = new URL(requestUrl);
2714
+ const publicRoute = url.pathname.match(/^\/functions\/v1\/[^/]+(\/.*)?$/);
2715
+ if (publicRoute) {
2716
+ url.pathname = publicRoute[1] || "/";
2717
+ return url.toString();
2718
+ }
2719
+ const internalRoute = url.pathname.match(/^\/[^/]+(\/.*)?$/);
2720
+ if (internalRoute) {
2721
+ url.pathname = internalRoute[1] || "/";
2722
+ }
2723
+ return url.toString();
2724
+ }
2725
+
2695
2726
  class FunctionsHandler {
2696
2727
  functions;
2697
2728
  env;
@@ -2712,12 +2743,15 @@ class FunctionsHandler {
2712
2743
  if (!name) {
2713
2744
  return json2(404, { error: "function name required: /functions/v1/<name>" });
2714
2745
  }
2715
- const fn = this.functions.get(name);
2716
- if (!fn) {
2746
+ const value = this.functions.get(name);
2747
+ if (!value) {
2717
2748
  return json2(404, { error: `function "${name}" not found` });
2718
2749
  }
2750
+ const entry = normalizeEntry(value);
2751
+ const routeAware = entry.framework !== undefined && entry.framework !== "fetch" || isFrameworkRouterHandler(entry.handler);
2752
+ const target = routeAware ? new Request(toFunctionLocalUrl(req.url), req) : req;
2719
2753
  try {
2720
- const invoke = () => Promise.resolve(fn(req, { auth: ctx, env: this.env }));
2754
+ const invoke = () => this.invoke(entry.handler, target, ctx);
2721
2755
  const res = await runWithDenoEnv(this.env, () => runWithPgredisCache(this.pgredis, invoke));
2722
2756
  if (!(res instanceof Response)) {
2723
2757
  return json2(500, { error: `function "${name}" did not return a Response` });
@@ -2728,6 +2762,18 @@ class FunctionsHandler {
2728
2762
  return json2(500, { error: message });
2729
2763
  }
2730
2764
  }
2765
+ invoke(handler, req, ctx) {
2766
+ if (typeof handler === "function") {
2767
+ return Promise.resolve(handler(req, { auth: ctx, env: this.env }));
2768
+ }
2769
+ if (typeof handler.handle === "function") {
2770
+ return Promise.resolve(handler.handle.call(handler, req));
2771
+ }
2772
+ if (typeof handler.fetch === "function") {
2773
+ return Promise.resolve(handler.fetch.call(handler, req));
2774
+ }
2775
+ throw new Error("function handler must be a function or an object with handle()/fetch()");
2776
+ }
2731
2777
  }
2732
2778
  function json2(status, body) {
2733
2779
  return new Response(JSON.stringify(body), {
@@ -12656,6 +12702,14 @@ function readFunctions(root) {
12656
12702
  const entrypoint = getString(t, "entrypoint");
12657
12703
  if (entrypoint !== undefined)
12658
12704
  opts.entrypoint = entrypoint;
12705
+ const framework = getString(t, "framework");
12706
+ if (framework !== undefined) {
12707
+ if (framework === "fetch" || framework === "elysia" || framework === "hono") {
12708
+ opts.framework = framework;
12709
+ } else {
12710
+ console.warn(` warning: [functions.${name}] framework "${framework}" is not one of fetch/elysia/hono; falling back to fetch`);
12711
+ }
12712
+ }
12659
12713
  out[name] = opts;
12660
12714
  }
12661
12715
  return out;
@@ -12766,6 +12820,15 @@ async function loadFunctionEnv(projectDir) {
12766
12820
  }
12767
12821
  return env;
12768
12822
  }
12823
+ var FUNCTION_FRAMEWORKS = new Set(["fetch", "elysia", "hono"]);
12824
+ function resolveFramework(name, value) {
12825
+ if (value === undefined)
12826
+ return;
12827
+ if (FUNCTION_FRAMEWORKS.has(value))
12828
+ return value;
12829
+ console.warn(` warning: function "${name}" has unsupported framework "${value}", expected one of fetch/elysia/hono; falling back to fetch`);
12830
+ return;
12831
+ }
12769
12832
  var loadQueue = Promise.resolve();
12770
12833
  async function loadFunctions2(projectDir, options = {}) {
12771
12834
  let releaseQueue;
@@ -12820,11 +12883,14 @@ async function loadFunctionsUnlocked(projectDir, options) {
12820
12883
  const mod = await import(importUrl);
12821
12884
  const denoHandler = takeCapturedHandler();
12822
12885
  const defaultExport = mod.default;
12823
- const handler = typeof defaultExport === "function" ? defaultExport : defaultExport && typeof defaultExport.fetch === "function" ? defaultExport.fetch.bind(defaultExport) : denoHandler ? (req) => denoHandler(req) : undefined;
12886
+ const handler = typeof defaultExport === "function" ? defaultExport : defaultExport && (typeof defaultExport.handle === "function" || typeof defaultExport.fetch === "function") ? defaultExport : denoHandler ? (req) => denoHandler(req) : undefined;
12824
12887
  if (handler) {
12825
- functions.set(name, handler);
12888
+ functions.set(name, {
12889
+ handler,
12890
+ framework: resolveFramework(name, options[name]?.framework)
12891
+ });
12826
12892
  } else {
12827
- console.warn(` warning: function "${name}" has no default function, fetch object, or Deno.serve() handler, skipped`);
12893
+ console.warn(` warning: function "${name}" has no default function, handle/fetch object, or Deno.serve() handler, skipped`);
12828
12894
  }
12829
12895
  } catch (e) {
12830
12896
  const msg = e instanceof Error ? e.message : String(e);
package/dist/index.js CHANGED
@@ -85,7 +85,7 @@ function randomToken(bytes = 32) {
85
85
  // package.json
86
86
  var package_default = {
87
87
  name: "@supacloud/lite",
88
- version: "0.9.1",
88
+ version: "0.10.0",
89
89
  description: "Bun-native, single-project Supabase-compatible backend powered by PGlite or native PostgreSQL",
90
90
  type: "module",
91
91
  license: "Apache-2.0",
@@ -134,12 +134,13 @@ var package_default = {
134
134
  typecheck: "bun x tsc --noEmit -p tsconfig.json"
135
135
  },
136
136
  dependencies: {
137
- "@electric-sql/pglite": "0.5.4",
137
+ "@electric-sql/pglite": "0.5.8",
138
138
  tar: "^7.5.22"
139
139
  },
140
140
  devDependencies: {
141
- "@supabase/supabase-js": "^2.112.2",
141
+ "@supabase/supabase-js": "^2.112.4",
142
142
  "@types/bun": "^1.4.0",
143
+ elysia: "^1.4.30",
143
144
  typescript: "^7.0.2"
144
145
  },
145
146
  engines: {
@@ -2696,6 +2697,36 @@ async function upsertWithoutTtl(query, key, serializedValue) {
2696
2697
  }
2697
2698
 
2698
2699
  // src/runtime/functions/handler.ts
2700
+ function isLoadedFunction(value) {
2701
+ return typeof value === "object" && value !== null && "handler" in value;
2702
+ }
2703
+ function normalizeEntry(value) {
2704
+ return isLoadedFunction(value) ? value : { handler: value };
2705
+ }
2706
+ function isFrameworkRouterHandler(handler) {
2707
+ if (!handler || typeof handler !== "object")
2708
+ return false;
2709
+ const candidate = handler;
2710
+ if (candidate.__supacloud?.routeAware === true)
2711
+ return true;
2712
+ if (typeof candidate.handle === "function")
2713
+ return true;
2714
+ return Array.isArray(candidate.routes) && typeof candidate.fetch === "function";
2715
+ }
2716
+ function toFunctionLocalUrl(requestUrl) {
2717
+ const url = new URL(requestUrl);
2718
+ const publicRoute = url.pathname.match(/^\/functions\/v1\/[^/]+(\/.*)?$/);
2719
+ if (publicRoute) {
2720
+ url.pathname = publicRoute[1] || "/";
2721
+ return url.toString();
2722
+ }
2723
+ const internalRoute = url.pathname.match(/^\/[^/]+(\/.*)?$/);
2724
+ if (internalRoute) {
2725
+ url.pathname = internalRoute[1] || "/";
2726
+ }
2727
+ return url.toString();
2728
+ }
2729
+
2699
2730
  class FunctionsHandler {
2700
2731
  functions;
2701
2732
  env;
@@ -2716,12 +2747,15 @@ class FunctionsHandler {
2716
2747
  if (!name) {
2717
2748
  return json2(404, { error: "function name required: /functions/v1/<name>" });
2718
2749
  }
2719
- const fn = this.functions.get(name);
2720
- if (!fn) {
2750
+ const value = this.functions.get(name);
2751
+ if (!value) {
2721
2752
  return json2(404, { error: `function "${name}" not found` });
2722
2753
  }
2754
+ const entry = normalizeEntry(value);
2755
+ const routeAware = entry.framework !== undefined && entry.framework !== "fetch" || isFrameworkRouterHandler(entry.handler);
2756
+ const target = routeAware ? new Request(toFunctionLocalUrl(req.url), req) : req;
2723
2757
  try {
2724
- const invoke = () => Promise.resolve(fn(req, { auth: ctx, env: this.env }));
2758
+ const invoke = () => this.invoke(entry.handler, target, ctx);
2725
2759
  const res = await runWithDenoEnv(this.env, () => runWithPgredisCache(this.pgredis, invoke));
2726
2760
  if (!(res instanceof Response)) {
2727
2761
  return json2(500, { error: `function "${name}" did not return a Response` });
@@ -2732,6 +2766,18 @@ class FunctionsHandler {
2732
2766
  return json2(500, { error: message });
2733
2767
  }
2734
2768
  }
2769
+ invoke(handler, req, ctx) {
2770
+ if (typeof handler === "function") {
2771
+ return Promise.resolve(handler(req, { auth: ctx, env: this.env }));
2772
+ }
2773
+ if (typeof handler.handle === "function") {
2774
+ return Promise.resolve(handler.handle.call(handler, req));
2775
+ }
2776
+ if (typeof handler.fetch === "function") {
2777
+ return Promise.resolve(handler.fetch.call(handler, req));
2778
+ }
2779
+ throw new Error("function handler must be a function or an object with handle()/fetch()");
2780
+ }
2735
2781
  }
2736
2782
  function json2(status, body) {
2737
2783
  return new Response(JSON.stringify(body), {
@@ -12404,6 +12450,14 @@ function readFunctions(root) {
12404
12450
  const entrypoint = getString(t, "entrypoint");
12405
12451
  if (entrypoint !== undefined)
12406
12452
  opts.entrypoint = entrypoint;
12453
+ const framework = getString(t, "framework");
12454
+ if (framework !== undefined) {
12455
+ if (framework === "fetch" || framework === "elysia" || framework === "hono") {
12456
+ opts.framework = framework;
12457
+ } else {
12458
+ console.warn(` warning: [functions.${name}] framework "${framework}" is not one of fetch/elysia/hono; falling back to fetch`);
12459
+ }
12460
+ }
12407
12461
  out[name] = opts;
12408
12462
  }
12409
12463
  return out;
@@ -12514,6 +12568,15 @@ async function loadFunctionEnv(projectDir) {
12514
12568
  }
12515
12569
  return env;
12516
12570
  }
12571
+ var FUNCTION_FRAMEWORKS = new Set(["fetch", "elysia", "hono"]);
12572
+ function resolveFramework(name, value) {
12573
+ if (value === undefined)
12574
+ return;
12575
+ if (FUNCTION_FRAMEWORKS.has(value))
12576
+ return value;
12577
+ console.warn(` warning: function "${name}" has unsupported framework "${value}", expected one of fetch/elysia/hono; falling back to fetch`);
12578
+ return;
12579
+ }
12517
12580
  var loadQueue = Promise.resolve();
12518
12581
  async function loadFunctions2(projectDir, options = {}) {
12519
12582
  let releaseQueue;
@@ -12568,11 +12631,14 @@ async function loadFunctionsUnlocked(projectDir, options) {
12568
12631
  const mod = await import(importUrl);
12569
12632
  const denoHandler = takeCapturedHandler();
12570
12633
  const defaultExport = mod.default;
12571
- const handler = typeof defaultExport === "function" ? defaultExport : defaultExport && typeof defaultExport.fetch === "function" ? defaultExport.fetch.bind(defaultExport) : denoHandler ? (req) => denoHandler(req) : undefined;
12634
+ const handler = typeof defaultExport === "function" ? defaultExport : defaultExport && (typeof defaultExport.handle === "function" || typeof defaultExport.fetch === "function") ? defaultExport : denoHandler ? (req) => denoHandler(req) : undefined;
12572
12635
  if (handler) {
12573
- functions.set(name, handler);
12636
+ functions.set(name, {
12637
+ handler,
12638
+ framework: resolveFramework(name, options[name]?.framework)
12639
+ });
12574
12640
  } else {
12575
- console.warn(` warning: function "${name}" has no default function, fetch object, or Deno.serve() handler, skipped`);
12641
+ console.warn(` warning: function "${name}" has no default function, handle/fetch object, or Deno.serve() handler, skipped`);
12576
12642
  }
12577
12643
  } catch (e) {
12578
12644
  const msg = e instanceof Error ? e.message : String(e);
@@ -2,14 +2,43 @@
2
2
  * Edge Functions (/functions/v1/*) - supabase.functions.invoke() support.
3
3
  *
4
4
  * A "function" is any fetch handler: (Request) => Response | Promise<Response>.
5
+ * Framework router objects (Elysia `app.handle()`, Hono `app.fetch()`) are
6
+ * supported too, aligned with the SupaCloud Edge Runtime contract: route-aware
7
+ * handlers receive a function-local URL (`/functions/v1/<name>/a/b` -> `/a/b`).
5
8
  * The core takes a name → handler map (portable, works in the browser); the
6
9
  * Node CLI populates it from supabase/functions/<name>/index.{ts,js,mjs}
7
- * modules that `export default` a fetch handler.
10
+ * modules that `export default` a handler.
8
11
  */
9
12
  import type { RequestContext } from '../types.js';
10
13
  import { type PgredisCache } from './pgredis.js';
11
14
  /** An edge function: a fetch handler invoked with the resolved request context. */
12
15
  export type EdgeFunction = (req: Request, ctx: FunctionContext) => Response | Promise<Response>;
16
+ /** Frameworks whose router objects own the path below /functions/v1/<name>. */
17
+ export type FunctionFramework = 'fetch' | 'elysia' | 'hono';
18
+ /**
19
+ * A framework router export, e.g. an Elysia instance (`handle()`) or a Hono /
20
+ * Itty router (`fetch()`). Object handlers receive only the Request.
21
+ */
22
+ export interface FrameworkObjectHandler {
23
+ handle?: (req: Request) => Response | Promise<Response>;
24
+ fetch?: (req: Request) => Response | Promise<Response>;
25
+ /** Router route table (Elysia exposes one); marks the handler route-aware. */
26
+ routes?: unknown;
27
+ /** Explicit marker emitted by framework adapters. */
28
+ __supacloud?: {
29
+ routeAware?: boolean;
30
+ };
31
+ }
32
+ /** Anything registerable as a function: plain fetch handler or router object. */
33
+ export type FunctionHandler = EdgeFunction | FrameworkObjectHandler;
34
+ /** A loaded function plus its declared framework profile. */
35
+ export interface LoadedFunction {
36
+ handler: FunctionHandler;
37
+ /** config.toml [functions.<name>].framework; `fetch` keeps legacy routing. */
38
+ framework?: FunctionFramework;
39
+ }
40
+ /** Registry value: a bare handler or a {@link LoadedFunction} entry. */
41
+ export type FunctionRegistryValue = FunctionHandler | LoadedFunction;
13
42
  /** Second argument passed to every {@link EdgeFunction} invocation. */
14
43
  export interface FunctionContext {
15
44
  /** verified request context (role + JWT claims) resolved by the router */
@@ -22,17 +51,26 @@ export interface FunctionContext {
22
51
  [key: string]: string;
23
52
  };
24
53
  }
54
+ /** Mirrors the Edge Runtime: router objects and marked handlers own sub-paths. */
55
+ export declare function isFrameworkRouterHandler(handler: unknown): boolean;
56
+ /**
57
+ * Strip the function prefix so framework routers see their own route table:
58
+ * /functions/v1/<name>/a/b -> /a/b (and /functions/v1/<name> -> /).
59
+ * Matches the Edge Runtime's toFunctionLocalUrl().
60
+ */
61
+ export declare function toFunctionLocalUrl(requestUrl: string): string;
25
62
  /** Registry and dispatcher for edge functions, backing supabase.functions.invoke(). */
26
63
  export declare class FunctionsHandler {
27
64
  private functions;
28
65
  private env;
29
66
  private pgredis;
30
- constructor(functions: Map<string, EdgeFunction>, env: FunctionContext['env'], pgredis: PgredisCache);
67
+ constructor(functions: Map<string, FunctionRegistryValue>, env: FunctionContext['env'], pgredis: PgredisCache);
31
68
  /** Register (or replace) a function under `name`, served at /functions/v1/<name>. */
32
- register(name: string, fn: EdgeFunction): void;
69
+ register(name: string, fn: FunctionRegistryValue): void;
33
70
  /** Names of all registered functions. */
34
71
  list(): string[];
35
72
  /** Dispatch a /functions/v1/<name> request to its handler, returning a 404 when unknown and a 500 when the handler throws or returns a non-Response. */
36
73
  handle(req: Request, ctx: RequestContext, url: URL): Promise<Response>;
74
+ private invoke;
37
75
  }
38
76
  //# sourceMappingURL=handler.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"handler.d.ts","sourceRoot":"","sources":["../../../src/runtime/functions/handler.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AACH,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,aAAa,CAAA;AAEjD,OAAO,EAAE,KAAK,YAAY,EAAuB,MAAM,cAAc,CAAA;AAErE,mFAAmF;AACnF,MAAM,MAAM,YAAY,GAAG,CAAC,GAAG,EAAE,OAAO,EAAE,GAAG,EAAE,eAAe,KAAK,QAAQ,GAAG,OAAO,CAAC,QAAQ,CAAC,CAAA;AAE/F,uEAAuE;AACvE,MAAM,WAAW,eAAe;IAC9B,0EAA0E;IAC1E,IAAI,EAAE,cAAc,CAAA;IACpB,4HAA4H;IAC5H,GAAG,EAAE;QACH,YAAY,EAAE,MAAM,CAAA;QACpB,iBAAiB,EAAE,MAAM,CAAA;QACzB,yBAAyB,EAAE,MAAM,CAAA;QACjC,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAAA;KACtB,CAAA;CACF;AAED,uFAAuF;AACvF,qBAAa,gBAAgB;IAEzB,OAAO,CAAC,SAAS;IACjB,OAAO,CAAC,GAAG;IACX,OAAO,CAAC,OAAO;IAHjB,YACU,SAAS,EAAE,GAAG,CAAC,MAAM,EAAE,YAAY,CAAC,EACpC,GAAG,EAAE,eAAe,CAAC,KAAK,CAAC,EAC3B,OAAO,EAAE,YAAY,EAC3B;IAEJ,qFAAqF;IACrF,QAAQ,CAAC,IAAI,EAAE,MAAM,EAAE,EAAE,EAAE,YAAY,GAAG,IAAI,CAE7C;IAED,yCAAyC;IACzC,IAAI,IAAI,MAAM,EAAE,CAEf;IAED,wJAAwJ;IAClJ,MAAM,CAAC,GAAG,EAAE,OAAO,EAAE,GAAG,EAAE,cAAc,EAAE,GAAG,EAAE,GAAG,GAAG,OAAO,CAAC,QAAQ,CAAC,CAuB3E;CACF"}
1
+ {"version":3,"file":"handler.d.ts","sourceRoot":"","sources":["../../../src/runtime/functions/handler.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AACH,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,aAAa,CAAA;AAEjD,OAAO,EAAE,KAAK,YAAY,EAAuB,MAAM,cAAc,CAAA;AAErE,mFAAmF;AACnF,MAAM,MAAM,YAAY,GAAG,CAAC,GAAG,EAAE,OAAO,EAAE,GAAG,EAAE,eAAe,KAAK,QAAQ,GAAG,OAAO,CAAC,QAAQ,CAAC,CAAA;AAE/F,+EAA+E;AAC/E,MAAM,MAAM,iBAAiB,GAAG,OAAO,GAAG,QAAQ,GAAG,MAAM,CAAA;AAE3D;;;GAGG;AACH,MAAM,WAAW,sBAAsB;IACrC,MAAM,CAAC,EAAE,CAAC,GAAG,EAAE,OAAO,KAAK,QAAQ,GAAG,OAAO,CAAC,QAAQ,CAAC,CAAA;IACvD,KAAK,CAAC,EAAE,CAAC,GAAG,EAAE,OAAO,KAAK,QAAQ,GAAG,OAAO,CAAC,QAAQ,CAAC,CAAA;IACtD,8EAA8E;IAC9E,MAAM,CAAC,EAAE,OAAO,CAAA;IAChB,qDAAqD;IACrD,WAAW,CAAC,EAAE;QAAE,UAAU,CAAC,EAAE,OAAO,CAAA;KAAE,CAAA;CACvC;AAED,iFAAiF;AACjF,MAAM,MAAM,eAAe,GAAG,YAAY,GAAG,sBAAsB,CAAA;AAEnE,6DAA6D;AAC7D,MAAM,WAAW,cAAc;IAC7B,OAAO,EAAE,eAAe,CAAA;IACxB,8EAA8E;IAC9E,SAAS,CAAC,EAAE,iBAAiB,CAAA;CAC9B;AAED,wEAAwE;AACxE,MAAM,MAAM,qBAAqB,GAAG,eAAe,GAAG,cAAc,CAAA;AAEpE,uEAAuE;AACvE,MAAM,WAAW,eAAe;IAC9B,0EAA0E;IAC1E,IAAI,EAAE,cAAc,CAAA;IACpB,4HAA4H;IAC5H,GAAG,EAAE;QACH,YAAY,EAAE,MAAM,CAAA;QACpB,iBAAiB,EAAE,MAAM,CAAA;QACzB,yBAAyB,EAAE,MAAM,CAAA;QACjC,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAAA;KACtB,CAAA;CACF;AAUD,kFAAkF;AAClF,wBAAgB,wBAAwB,CAAC,OAAO,EAAE,OAAO,GAAG,OAAO,CAMlE;AAED;;;;GAIG;AACH,wBAAgB,kBAAkB,CAAC,UAAU,EAAE,MAAM,GAAG,MAAM,CAY7D;AAED,uFAAuF;AACvF,qBAAa,gBAAgB;IAEzB,OAAO,CAAC,SAAS;IACjB,OAAO,CAAC,GAAG;IACX,OAAO,CAAC,OAAO;IAHjB,YACU,SAAS,EAAE,GAAG,CAAC,MAAM,EAAE,qBAAqB,CAAC,EAC7C,GAAG,EAAE,eAAe,CAAC,KAAK,CAAC,EAC3B,OAAO,EAAE,YAAY,EAC3B;IAEJ,qFAAqF;IACrF,QAAQ,CAAC,IAAI,EAAE,MAAM,EAAE,EAAE,EAAE,qBAAqB,GAAG,IAAI,CAEtD;IAED,yCAAyC;IACzC,IAAI,IAAI,MAAM,EAAE,CAEf;IAED,wJAAwJ;IAClJ,MAAM,CAAC,GAAG,EAAE,OAAO,EAAE,GAAG,EAAE,cAAc,EAAE,GAAG,EAAE,GAAG,GAAG,OAAO,CAAC,QAAQ,CAAC,CA4B3E;IAED,OAAO,CAAC,MAAM;CAYf"}
@@ -18,7 +18,7 @@ export { SmsInbox, type SmsInboxEntry } from './auth/sms-inbox.js';
18
18
  export { LogBuffer, type LogEntry, type LogLevel } from './log-buffer.js';
19
19
  export { RealtimeEngine, type RealtimeSocketLike } from './realtime/engine.js';
20
20
  export { signJwt, verifyJwt, decodeJwt } from './jwt.js';
21
- export { FunctionsHandler, type EdgeFunction, type FunctionContext } from './functions/handler.js';
21
+ export { FunctionsHandler, isFrameworkRouterHandler, toFunctionLocalUrl, type EdgeFunction, type FrameworkObjectHandler, type FunctionContext, type FunctionFramework, type FunctionHandler, type FunctionRegistryValue, type LoadedFunction, } from './functions/handler.js';
22
22
  export { type PgredisCacheBinding } from './functions/pgredis.js';
23
23
  export { generateTypes } from './gen-types.js';
24
24
  export { installDenoShim } from './functions/deno-shim.js';
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/runtime/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/runtime/index.ts"],"names":[],"mappings":"AAWA,OAAO,EAAE,WAAW,EAAE,MAAM,iBAAiB,CAAA;AAC7C,OAAO,EAAE,QAAQ,EAAE,MAAM,qBAAqB,CAAA;AAE9C,OAAO,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAA;AAC3C,OAAO,EAAE,gBAAgB,EAA8B,MAAM,wBAAwB,CAAA;AAGrF,OAAO,EAAE,QAAQ,EAAE,MAAM,kBAAkB,CAAA;AAE3C,OAAO,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAA;AAIrD,OAAO,EAAE,eAAe,EAAwB,MAAM,uBAAuB,CAAA;AAC7E,OAAO,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAA;AAC/C,OAAO,EAAE,UAAU,EAAoB,MAAM,kBAAkB,CAAA;AAC/D,OAAO,EAAE,gBAAgB,EAAE,MAAM,wBAAwB,CAAA;AACzD,OAAO,KAAK,EAAE,aAAa,EAAU,aAAa,EAA6B,MAAM,YAAY,CAAA;AAGjG,cAAc,YAAY,CAAA;AAC1B,OAAO,EAAE,QAAQ,EAAE,MAAM,kBAAkB,CAAA;AAC3C,OAAO,EAAE,kBAAkB,EAAE,MAAM,uBAAuB,CAAA;AAC1D,OAAO,EAAE,mBAAmB,EAAE,MAAM,qBAAqB,CAAA;AACzD,OAAO,EAAE,WAAW,EAAE,KAAK,UAAU,EAAE,MAAM,iBAAiB,CAAA;AAC9D,OAAO,EAAE,QAAQ,EAAE,KAAK,aAAa,EAAE,MAAM,qBAAqB,CAAA;AAClE,OAAO,EAAE,SAAS,EAAE,KAAK,QAAQ,EAAE,KAAK,QAAQ,EAAE,MAAM,iBAAiB,CAAA;AACzE,OAAO,EAAE,cAAc,EAAE,KAAK,kBAAkB,EAAE,MAAM,sBAAsB,CAAA;AAC9E,OAAO,EAAE,OAAO,EAAE,SAAS,EAAE,SAAS,EAAE,MAAM,UAAU,CAAA;AACxD,OAAO,EACL,gBAAgB,EAChB,wBAAwB,EACxB,kBAAkB,EAClB,KAAK,YAAY,EACjB,KAAK,sBAAsB,EAC3B,KAAK,eAAe,EACpB,KAAK,iBAAiB,EACtB,KAAK,eAAe,EACpB,KAAK,qBAAqB,EAC1B,KAAK,cAAc,GACpB,MAAM,wBAAwB,CAAA;AAC/B,OAAO,EAAE,KAAK,mBAAmB,EAAE,MAAM,wBAAwB,CAAA;AACjE,OAAO,EAAE,aAAa,EAAE,MAAM,gBAAgB,CAAA;AAC9C,OAAO,EAAE,eAAe,EAAE,MAAM,0BAA0B,CAAA;AAC1D,OAAO,EAAE,eAAe,EAAE,KAAK,aAAa,EAAE,KAAK,eAAe,EAAE,MAAM,uBAAuB,CAAA;AACjG,OAAO,EAAE,WAAW,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAA;AAC5D,OAAO,EAAE,UAAU,EAAE,KAAK,WAAW,EAAE,MAAM,kBAAkB,CAAA;AAC/D,OAAO,EAAE,gBAAgB,EAAE,KAAK,eAAe,EAAE,MAAM,wBAAwB,CAAA;AAC/E,OAAO,EAAE,cAAc,EAAE,WAAW,EAAE,KAAK,cAAc,EAAE,MAAM,qBAAqB,CAAA;AACtF,OAAO,EAAE,SAAS,EAAE,KAAK,SAAS,EAAE,MAAM,iBAAiB,CAAA;AAE3D;;;;;GAKG;AACH,MAAM,WAAW,oBAAoB;IACnC,oGAAoG;IACpG,KAAK,EAAE,OAAO,KAAK,CAAA;IACnB,mFAAmF;IACnF,EAAE,EAAE,QAAQ,CAAA;IACZ,6EAA6E;IAC7E,QAAQ,EAAE,cAAc,CAAA;IACxB,6EAA6E;IAC7E,SAAS,EAAE,gBAAgB,CAAA;IAC3B,qEAAqE;IACrE,QAAQ,EAAE,eAAe,CAAA;IACzB,mCAAmC;IACnC,IAAI,EAAE,WAAW,CAAA;IACjB,wDAAwD;IACxD,GAAG,EAAE,UAAU,CAAA;IACf,6EAA6E;IAC7E,SAAS,EAAE,gBAAgB,CAAA;IAC3B,gEAAgE;IAChE,OAAO,EAAE,MAAM,CAAA;IACf,+CAA+C;IAC/C,cAAc,EAAE,MAAM,CAAA;IACtB,oFAAoF;IACpF,SAAS,EAAE,MAAM,CAAA;IACjB,kEAAkE;IAClE,IAAI,EAAE,SAAS,CAAA;IACf,4FAA4F;IAC5F,KAAK,EAAE,WAAW,GAAG,IAAI,CAAA;IACzB,gHAAgH;IAChH,QAAQ,EAAE,QAAQ,GAAG,IAAI,CAAA;IACzB,8CAA8C;IAC9C,OAAO,EAAE,CAAC,UAAU,EAAE,aAAa,EAAE,EAAE,OAAO,CAAC,EAAE,MAAM,KAAK,OAAO,CAAC,MAAM,EAAE,CAAC,CAAA;IAC7E,gGAAgG;IAChG,KAAK,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,CAAA;CAC3B;AAWD;;;;;;;;;;;;;;GAcG;AACH,wBAAsB,aAAa,CAAC,MAAM,GAAE,aAAkB,GAAG,OAAO,CAAC,oBAAoB,CAAC,CA+W7F"}
@@ -76,6 +76,8 @@ export interface FunctionOptions {
76
76
  verifyJwt?: boolean;
77
77
  /** [functions.<name>].entrypoint, relative to the project root */
78
78
  entrypoint?: string;
79
+ /** [functions.<name>].framework: fetch (default), elysia, or hono */
80
+ framework?: import('../functions/handler.js').FunctionFramework;
79
81
  }
80
82
  /** Parse supabase/config.toml once and project it into a {@link ProjectConfig}. */
81
83
  export declare function loadProjectConfig(projectDir: string, env?: Environment): ProjectConfig;
@@ -1 +1 @@
1
- {"version":3,"file":"load-config.d.ts","sourceRoot":"","sources":["../../../src/runtime/node/load-config.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AACH,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAA;AACvD,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,kBAAkB,CAAA;AAC3D,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,uBAAuB,CAAA;AAC1D,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,aAAa,CAAA;AAC7C,OAAO,EAUL,KAAK,WAAW,EACjB,MAAM,kBAAkB,CAAA;AAEzB,oFAAoF;AACpF,MAAM,WAAW,aAAa;IAC5B,0EAA0E;IAC1E,IAAI,EAAE,UAAU,CAAA;IAChB,mDAAmD;IACnD,GAAG,EAAE,SAAS,CAAA;IACd,kEAAkE;IAClE,OAAO,EAAE,aAAa,CAAA;IACtB,gDAAgD;IAChD,IAAI,EAAE,UAAU,CAAA;IAChB,uEAAuE;IACvE,SAAS,EAAE,MAAM,CAAC,MAAM,EAAE,eAAe,CAAC,CAAA;CAC3C;AAED,yFAAyF;AACzF,MAAM,WAAW,UAAU;IACzB,uDAAuD;IACvD,OAAO,CAAC,EAAE,OAAO,CAAA;IACjB,4EAA4E;IAC5E,QAAQ,EAAE,OAAO,CAAC,YAAY,CAAC,CAAA;IAC/B,sBAAsB;IACtB,OAAO,CAAC,EAAE,MAAM,CAAA;IAChB,iCAAiC;IACjC,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,sCAAsC;IACtC,YAAY,CAAC,EAAE,MAAM,EAAE,CAAA;IACvB,6DAA6D;IAC7D,UAAU,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,aAAa,CAAC,CAAA;IAC1C,uCAAuC;IACvC,qBAAqB,CAAC,EAAE,MAAM,CAAA;IAC9B,kDAAkD;IAClD,wBAAwB,CAAC,EAAE,MAAM,CAAA;IACjC,mEAAmE;IACnE,cAAc,EAAE,MAAM,CAAC,MAAM,EAAE,mBAAmB,CAAC,CAAA;CACpD;AAED,wCAAwC;AACxC,MAAM,WAAW,SAAS;IACxB,uEAAuE;IACvE,OAAO,CAAC,EAAE,MAAM,EAAE,CAAA;IAClB,wCAAwC;IACxC,OAAO,CAAC,EAAE,MAAM,CAAA;CACjB;AAED,4CAA4C;AAC5C,MAAM,WAAW,aAAa;IAC5B,+DAA+D;IAC/D,aAAa,CAAC,EAAE,MAAM,CAAA;IACtB,qDAAqD;IACrD,OAAO,CAAC,EAAE,UAAU,EAAE,CAAA;CACvB;AAED,4CAA4C;AAC5C,MAAM,WAAW,UAAU;IACzB,wBAAwB;IACxB,OAAO,CAAC,EAAE,OAAO,CAAA;IACjB,kEAAkE;IAClE,KAAK,CAAC,EAAE,MAAM,EAAE,CAAA;CACjB;AAED,iDAAiD;AACjD,MAAM,WAAW,eAAe;IAC9B,iCAAiC;IACjC,OAAO,CAAC,EAAE,OAAO,CAAA;IACjB,oCAAoC;IACpC,SAAS,CAAC,EAAE,OAAO,CAAA;IACnB,kEAAkE;IAClE,UAAU,CAAC,EAAE,MAAM,CAAA;CACpB;AAED,mFAAmF;AACnF,wBAAgB,iBAAiB,CAAC,UAAU,EAAE,MAAM,EAAE,GAAG,GAAE,WAAyB,GAAG,aAAa,CASnG"}
1
+ {"version":3,"file":"load-config.d.ts","sourceRoot":"","sources":["../../../src/runtime/node/load-config.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AACH,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAA;AACvD,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,kBAAkB,CAAA;AAC3D,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,uBAAuB,CAAA;AAC1D,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,aAAa,CAAA;AAC7C,OAAO,EAUL,KAAK,WAAW,EACjB,MAAM,kBAAkB,CAAA;AAEzB,oFAAoF;AACpF,MAAM,WAAW,aAAa;IAC5B,0EAA0E;IAC1E,IAAI,EAAE,UAAU,CAAA;IAChB,mDAAmD;IACnD,GAAG,EAAE,SAAS,CAAA;IACd,kEAAkE;IAClE,OAAO,EAAE,aAAa,CAAA;IACtB,gDAAgD;IAChD,IAAI,EAAE,UAAU,CAAA;IAChB,uEAAuE;IACvE,SAAS,EAAE,MAAM,CAAC,MAAM,EAAE,eAAe,CAAC,CAAA;CAC3C;AAED,yFAAyF;AACzF,MAAM,WAAW,UAAU;IACzB,uDAAuD;IACvD,OAAO,CAAC,EAAE,OAAO,CAAA;IACjB,4EAA4E;IAC5E,QAAQ,EAAE,OAAO,CAAC,YAAY,CAAC,CAAA;IAC/B,sBAAsB;IACtB,OAAO,CAAC,EAAE,MAAM,CAAA;IAChB,iCAAiC;IACjC,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,sCAAsC;IACtC,YAAY,CAAC,EAAE,MAAM,EAAE,CAAA;IACvB,6DAA6D;IAC7D,UAAU,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,aAAa,CAAC,CAAA;IAC1C,uCAAuC;IACvC,qBAAqB,CAAC,EAAE,MAAM,CAAA;IAC9B,kDAAkD;IAClD,wBAAwB,CAAC,EAAE,MAAM,CAAA;IACjC,mEAAmE;IACnE,cAAc,EAAE,MAAM,CAAC,MAAM,EAAE,mBAAmB,CAAC,CAAA;CACpD;AAED,wCAAwC;AACxC,MAAM,WAAW,SAAS;IACxB,uEAAuE;IACvE,OAAO,CAAC,EAAE,MAAM,EAAE,CAAA;IAClB,wCAAwC;IACxC,OAAO,CAAC,EAAE,MAAM,CAAA;CACjB;AAED,4CAA4C;AAC5C,MAAM,WAAW,aAAa;IAC5B,+DAA+D;IAC/D,aAAa,CAAC,EAAE,MAAM,CAAA;IACtB,qDAAqD;IACrD,OAAO,CAAC,EAAE,UAAU,EAAE,CAAA;CACvB;AAED,4CAA4C;AAC5C,MAAM,WAAW,UAAU;IACzB,wBAAwB;IACxB,OAAO,CAAC,EAAE,OAAO,CAAA;IACjB,kEAAkE;IAClE,KAAK,CAAC,EAAE,MAAM,EAAE,CAAA;CACjB;AAED,iDAAiD;AACjD,MAAM,WAAW,eAAe;IAC9B,iCAAiC;IACjC,OAAO,CAAC,EAAE,OAAO,CAAA;IACjB,oCAAoC;IACpC,SAAS,CAAC,EAAE,OAAO,CAAA;IACnB,kEAAkE;IAClE,UAAU,CAAC,EAAE,MAAM,CAAA;IACnB,qEAAqE;IACrE,SAAS,CAAC,EAAE,OAAO,yBAAyB,EAAE,iBAAiB,CAAA;CAChE;AAED,mFAAmF;AACnF,wBAAgB,iBAAiB,CAAC,UAAU,EAAE,MAAM,EAAE,GAAG,GAAE,WAAyB,GAAG,aAAa,CASnG"}
@@ -1,4 +1,4 @@
1
- import type { EdgeFunction } from '../functions/handler.js';
1
+ import type { FunctionFramework, LoadedFunction } from '../functions/handler.js';
2
2
  /**
3
3
  * Load edge-function secrets from supabase/functions/.env (KEY=VALUE lines,
4
4
  * `#` comments). These are exposed to functions via Deno.env and ctx.env -
@@ -11,15 +11,18 @@ export interface LoadFunctionOptions {
11
11
  enabled?: boolean;
12
12
  /** Custom entrypoint path, relative to the project root. */
13
13
  entrypoint?: string;
14
+ /** Framework profile: fetch (default, legacy routing), elysia, or hono. */
15
+ framework?: FunctionFramework;
14
16
  }
15
17
  /**
16
18
  * Discover and load every edge function under supabase/functions/, keyed by
17
19
  * directory name. Dirs starting with `_` or `.` are skipped (shared code), as
18
20
  * are functions disabled in config.toml. Each function is bundled with esbuild
19
21
  * when available (falling back to a plain import), then its handler is taken
20
- * from a default function export, a default `{ fetch() }` export, or a captured
21
- * `Deno.serve()` call. Load failures warn and skip rather than throwing, so one
22
- * broken function can't block startup.
22
+ * from a default function export, a default `{ fetch() }` / `{ handle() }`
23
+ * object export (Elysia/Hono routers), or a captured `Deno.serve()` call.
24
+ * Load failures warn and skip rather than throwing, so one broken function
25
+ * can't block startup.
23
26
  */
24
- export declare function loadFunctions(projectDir: string, options?: Record<string, LoadFunctionOptions>): Promise<Map<string, EdgeFunction>>;
27
+ export declare function loadFunctions(projectDir: string, options?: Record<string, LoadFunctionOptions>): Promise<Map<string, LoadedFunction>>;
25
28
  //# sourceMappingURL=load-functions.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"load-functions.d.ts","sourceRoot":"","sources":["../../../src/runtime/node/load-functions.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,yBAAyB,CAAA;AAI3D;;;;GAIG;AACH,wBAAsB,eAAe,CAAC,UAAU,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,CAqBzF;AAED,gEAAgE;AAChE,MAAM,WAAW,mBAAmB;IAClC,6CAA6C;IAC7C,OAAO,CAAC,EAAE,OAAO,CAAA;IACjB,4DAA4D;IAC5D,UAAU,CAAC,EAAE,MAAM,CAAA;CACpB;AAID;;;;;;;;GAQG;AACH,wBAAsB,aAAa,CACjC,UAAU,EAAE,MAAM,EAClB,OAAO,GAAE,MAAM,CAAC,MAAM,EAAE,mBAAmB,CAAM,GAChD,OAAO,CAAC,GAAG,CAAC,MAAM,EAAE,YAAY,CAAC,CAAC,CAYpC"}
1
+ {"version":3,"file":"load-functions.d.ts","sourceRoot":"","sources":["../../../src/runtime/node/load-functions.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAwC,iBAAiB,EAAE,cAAc,EAAE,MAAM,yBAAyB,CAAA;AAItH;;;;GAIG;AACH,wBAAsB,eAAe,CAAC,UAAU,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,CAqBzF;AAED,gEAAgE;AAChE,MAAM,WAAW,mBAAmB;IAClC,6CAA6C;IAC7C,OAAO,CAAC,EAAE,OAAO,CAAA;IACjB,4DAA4D;IAC5D,UAAU,CAAC,EAAE,MAAM,CAAA;IACnB,2EAA2E;IAC3E,SAAS,CAAC,EAAE,iBAAiB,CAAA;CAC9B;AAaD;;;;;;;;;GASG;AACH,wBAAsB,aAAa,CACjC,UAAU,EAAE,MAAM,EAClB,OAAO,GAAE,MAAM,CAAC,MAAM,EAAE,mBAAmB,CAAM,GAChD,OAAO,CAAC,GAAG,CAAC,MAAM,EAAE,cAAc,CAAC,CAAC,CAYtC"}
@@ -75,8 +75,8 @@ export interface BackendConfig {
75
75
  seedSql?: string;
76
76
  /** Where object storage bytes live. Default: in-memory. Node CLI passes a fs driver. */
77
77
  storageDriver?: StorageDriver;
78
- /** Edge functions: name → fetch handler, served at /functions/v1/<name>. */
79
- functions?: Map<string, import('./functions/handler.js').EdgeFunction> | Record<string, import('./functions/handler.js').EdgeFunction>;
78
+ /** Edge functions: name → fetch handler or framework router (Elysia/Hono), served at /functions/v1/<name>. */
79
+ functions?: Map<string, import('./functions/handler.js').FunctionRegistryValue> | Record<string, import('./functions/handler.js').FunctionRegistryValue>;
80
80
  /** Per-function JWT verification setting from config.toml; false makes the function public. */
81
81
  functionVerifyJwt?: Record<string, boolean>;
82
82
  /** Extra env/secrets exposed to functions via Deno.env and ctx.env (e.g. from supabase/functions/.env). */
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/runtime/types.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/runtime/types.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@supacloud/lite",
3
- "version": "0.9.1",
3
+ "version": "0.10.0",
4
4
  "description": "Bun-native, single-project Supabase-compatible backend powered by PGlite or native PostgreSQL",
5
5
  "type": "module",
6
6
  "license": "Apache-2.0",
@@ -49,12 +49,13 @@
49
49
  "typecheck": "bun x tsc --noEmit -p tsconfig.json"
50
50
  },
51
51
  "dependencies": {
52
- "@electric-sql/pglite": "0.5.4",
52
+ "@electric-sql/pglite": "0.5.8",
53
53
  "tar": "^7.5.22"
54
54
  },
55
55
  "devDependencies": {
56
- "@supabase/supabase-js": "^2.112.2",
56
+ "@supabase/supabase-js": "^2.112.4",
57
57
  "@types/bun": "^1.4.0",
58
+ "elysia": "^1.4.30",
58
59
  "typescript": "^7.0.2"
59
60
  },
60
61
  "engines": {