@supacloud/lite 0.29.1 → 0.29.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +7 -0
- package/dist/cli.js +31 -19
- package/dist/index.js +31 -19
- package/dist/runtime/db/database.d.ts +2 -0
- package/dist/runtime/db/database.d.ts.map +1 -1
- package/package.json +1 -1
package/CHANGELOG.md
CHANGED
|
@@ -1,5 +1,12 @@
|
|
|
1
1
|
# Changelog
|
|
2
2
|
|
|
3
|
+
## [0.29.2](https://github.com/vibeunion/supacloud/compare/supacloud-lite-v0.29.1...supacloud-lite-v0.29.2) (2026-10-15)
|
|
4
|
+
|
|
5
|
+
|
|
6
|
+
### Bug Fixes
|
|
7
|
+
|
|
8
|
+
* **lite:** resolve RPC overloads using required arguments ([#1967](https://github.com/vibeunion/supacloud/issues/1967)) ([e00ffaf](https://github.com/vibeunion/supacloud/commit/e00ffafd41aa52c8f14c2e81f3bb8a8914b336c8))
|
|
9
|
+
|
|
3
10
|
## [0.29.1](https://github.com/vibeunion/supacloud/compare/supacloud-lite-v0.29.0...supacloud-lite-v0.29.1) (2026-10-15)
|
|
4
11
|
|
|
5
12
|
|
package/dist/cli.js
CHANGED
|
@@ -8,7 +8,7 @@ import { dirname as dirname8, join as join10, resolve as resolve6 } from "path";
|
|
|
8
8
|
// package.json
|
|
9
9
|
var package_default = {
|
|
10
10
|
name: "@supacloud/lite",
|
|
11
|
-
version: "0.29.
|
|
11
|
+
version: "0.29.2",
|
|
12
12
|
description: "Bun-native, single-project Supabase-compatible backend powered by PGlite or native PostgreSQL",
|
|
13
13
|
type: "module",
|
|
14
14
|
license: "Apache-2.0",
|
|
@@ -6822,7 +6822,17 @@ class Database {
|
|
|
6822
6822
|
const res = await this.engine.query(`select p.proname as name, p.proretset as returns_set,
|
|
6823
6823
|
t.typname as return_type, t.typtype as return_typtype,
|
|
6824
6824
|
p.provolatile as volatility,
|
|
6825
|
-
|
|
6825
|
+
p.pronargs - p.pronargdefaults as required_arg_count,
|
|
6826
|
+
coalesce((
|
|
6827
|
+
select json_agg(json_build_object(
|
|
6828
|
+
'name', coalesce(a.name, ''),
|
|
6829
|
+
'type', format_type(a.type, null)
|
|
6830
|
+
) order by a.ordinal)
|
|
6831
|
+
from unnest(coalesce(p.proallargtypes, p.proargtypes::oid[]),
|
|
6832
|
+
p.proargnames, p.proargmodes)
|
|
6833
|
+
with ordinality as a(type, name, mode, ordinal)
|
|
6834
|
+
where a.mode is null or a.mode in ('i', 'b', 'v')
|
|
6835
|
+
), '[]'::json) as input_args
|
|
6826
6836
|
from pg_proc p
|
|
6827
6837
|
join pg_namespace n on n.oid = p.pronamespace
|
|
6828
6838
|
join pg_type t on t.oid = p.prorettype
|
|
@@ -6834,7 +6844,8 @@ class Database {
|
|
|
6834
6844
|
returnType: r.return_type,
|
|
6835
6845
|
returnTypType: r.return_typtype,
|
|
6836
6846
|
volatility: r.volatility,
|
|
6837
|
-
|
|
6847
|
+
requiredArgCount: r.required_arg_count,
|
|
6848
|
+
args: r.input_args
|
|
6838
6849
|
}));
|
|
6839
6850
|
this.fnCache.set(key, fns);
|
|
6840
6851
|
return fns;
|
|
@@ -8717,7 +8728,7 @@ class RestHandler {
|
|
|
8717
8728
|
}
|
|
8718
8729
|
}
|
|
8719
8730
|
}
|
|
8720
|
-
const fn = pickOverload(fns, Object.keys(args));
|
|
8731
|
+
const fn = pickOverload(schema, fnName, fns, Object.keys(args));
|
|
8721
8732
|
const call = renderCall(schema, fn, args);
|
|
8722
8733
|
const q = parseQuery(searchParams);
|
|
8723
8734
|
if (method === "GET" || method === "HEAD")
|
|
@@ -8803,22 +8814,14 @@ function assertObjectCardinality(rows) {
|
|
|
8803
8814
|
});
|
|
8804
8815
|
}
|
|
8805
8816
|
}
|
|
8806
|
-
function pickOverload(fns, providedNames) {
|
|
8817
|
+
function pickOverload(schema, name, fns, providedNames) {
|
|
8807
8818
|
const provided = new Set(providedNames);
|
|
8808
|
-
const
|
|
8809
|
-
let best = null;
|
|
8810
|
-
for (const fn of fns) {
|
|
8819
|
+
const matches = fns.filter((fn) => {
|
|
8811
8820
|
const names = new Set(fn.args.map((a) => a.name));
|
|
8812
|
-
|
|
8813
|
-
|
|
8814
|
-
|
|
8815
|
-
|
|
8816
|
-
exact.push(fn);
|
|
8817
|
-
if (!best)
|
|
8818
|
-
best = fn;
|
|
8819
|
-
}
|
|
8820
|
-
if (exact.length > 1) {
|
|
8821
|
-
const candidates = exact.map((fn) => `${fn.schema}.${fn.name}(${fn.args.map((arg) => `${arg.name} => ${arg.type}`).join(", ")})`);
|
|
8821
|
+
return [...provided].every((p) => names.has(p)) && fn.args.slice(0, fn.requiredArgCount).every((arg) => provided.has(arg.name));
|
|
8822
|
+
});
|
|
8823
|
+
if (matches.length > 1) {
|
|
8824
|
+
const candidates = matches.map((fn) => `${fn.schema}.${fn.name}(${fn.args.map((arg) => `${arg.name} => ${arg.type}`).join(", ")})`);
|
|
8822
8825
|
throw new ApiError(300, {
|
|
8823
8826
|
code: "PGRST203",
|
|
8824
8827
|
message: `Could not choose the best candidate function between: ${candidates.join(", ")}`,
|
|
@@ -8826,7 +8829,16 @@ function pickOverload(fns, providedNames) {
|
|
|
8826
8829
|
hint: "Try renaming the parameters or the function itself in the database so function overloading can be resolved"
|
|
8827
8830
|
});
|
|
8828
8831
|
}
|
|
8829
|
-
|
|
8832
|
+
const match = matches[0];
|
|
8833
|
+
if (!match) {
|
|
8834
|
+
throw new ApiError(404, {
|
|
8835
|
+
code: "PGRST202",
|
|
8836
|
+
message: `Could not find the function ${schema}.${name}(${[...provided].sort().join(", ")}) in the schema cache`,
|
|
8837
|
+
details: null,
|
|
8838
|
+
hint: null
|
|
8839
|
+
});
|
|
8840
|
+
}
|
|
8841
|
+
return match;
|
|
8830
8842
|
}
|
|
8831
8843
|
function renderCall(schema, fn, args) {
|
|
8832
8844
|
const parts = [];
|
package/dist/index.js
CHANGED
|
@@ -88,7 +88,7 @@ function randomToken(bytes = 32) {
|
|
|
88
88
|
// package.json
|
|
89
89
|
var package_default = {
|
|
90
90
|
name: "@supacloud/lite",
|
|
91
|
-
version: "0.29.
|
|
91
|
+
version: "0.29.2",
|
|
92
92
|
description: "Bun-native, single-project Supabase-compatible backend powered by PGlite or native PostgreSQL",
|
|
93
93
|
type: "module",
|
|
94
94
|
license: "Apache-2.0",
|
|
@@ -6816,7 +6816,17 @@ class Database {
|
|
|
6816
6816
|
const res = await this.engine.query(`select p.proname as name, p.proretset as returns_set,
|
|
6817
6817
|
t.typname as return_type, t.typtype as return_typtype,
|
|
6818
6818
|
p.provolatile as volatility,
|
|
6819
|
-
|
|
6819
|
+
p.pronargs - p.pronargdefaults as required_arg_count,
|
|
6820
|
+
coalesce((
|
|
6821
|
+
select json_agg(json_build_object(
|
|
6822
|
+
'name', coalesce(a.name, ''),
|
|
6823
|
+
'type', format_type(a.type, null)
|
|
6824
|
+
) order by a.ordinal)
|
|
6825
|
+
from unnest(coalesce(p.proallargtypes, p.proargtypes::oid[]),
|
|
6826
|
+
p.proargnames, p.proargmodes)
|
|
6827
|
+
with ordinality as a(type, name, mode, ordinal)
|
|
6828
|
+
where a.mode is null or a.mode in ('i', 'b', 'v')
|
|
6829
|
+
), '[]'::json) as input_args
|
|
6820
6830
|
from pg_proc p
|
|
6821
6831
|
join pg_namespace n on n.oid = p.pronamespace
|
|
6822
6832
|
join pg_type t on t.oid = p.prorettype
|
|
@@ -6828,7 +6838,8 @@ class Database {
|
|
|
6828
6838
|
returnType: r.return_type,
|
|
6829
6839
|
returnTypType: r.return_typtype,
|
|
6830
6840
|
volatility: r.volatility,
|
|
6831
|
-
|
|
6841
|
+
requiredArgCount: r.required_arg_count,
|
|
6842
|
+
args: r.input_args
|
|
6832
6843
|
}));
|
|
6833
6844
|
this.fnCache.set(key, fns);
|
|
6834
6845
|
return fns;
|
|
@@ -8711,7 +8722,7 @@ class RestHandler {
|
|
|
8711
8722
|
}
|
|
8712
8723
|
}
|
|
8713
8724
|
}
|
|
8714
|
-
const fn = pickOverload(fns, Object.keys(args));
|
|
8725
|
+
const fn = pickOverload(schema, fnName, fns, Object.keys(args));
|
|
8715
8726
|
const call = renderCall(schema, fn, args);
|
|
8716
8727
|
const q = parseQuery(searchParams);
|
|
8717
8728
|
if (method === "GET" || method === "HEAD")
|
|
@@ -8797,22 +8808,14 @@ function assertObjectCardinality(rows) {
|
|
|
8797
8808
|
});
|
|
8798
8809
|
}
|
|
8799
8810
|
}
|
|
8800
|
-
function pickOverload(fns, providedNames) {
|
|
8811
|
+
function pickOverload(schema, name, fns, providedNames) {
|
|
8801
8812
|
const provided = new Set(providedNames);
|
|
8802
|
-
const
|
|
8803
|
-
let best = null;
|
|
8804
|
-
for (const fn of fns) {
|
|
8813
|
+
const matches = fns.filter((fn) => {
|
|
8805
8814
|
const names = new Set(fn.args.map((a) => a.name));
|
|
8806
|
-
|
|
8807
|
-
|
|
8808
|
-
|
|
8809
|
-
|
|
8810
|
-
exact.push(fn);
|
|
8811
|
-
if (!best)
|
|
8812
|
-
best = fn;
|
|
8813
|
-
}
|
|
8814
|
-
if (exact.length > 1) {
|
|
8815
|
-
const candidates = exact.map((fn) => `${fn.schema}.${fn.name}(${fn.args.map((arg) => `${arg.name} => ${arg.type}`).join(", ")})`);
|
|
8815
|
+
return [...provided].every((p) => names.has(p)) && fn.args.slice(0, fn.requiredArgCount).every((arg) => provided.has(arg.name));
|
|
8816
|
+
});
|
|
8817
|
+
if (matches.length > 1) {
|
|
8818
|
+
const candidates = matches.map((fn) => `${fn.schema}.${fn.name}(${fn.args.map((arg) => `${arg.name} => ${arg.type}`).join(", ")})`);
|
|
8816
8819
|
throw new ApiError(300, {
|
|
8817
8820
|
code: "PGRST203",
|
|
8818
8821
|
message: `Could not choose the best candidate function between: ${candidates.join(", ")}`,
|
|
@@ -8820,7 +8823,16 @@ function pickOverload(fns, providedNames) {
|
|
|
8820
8823
|
hint: "Try renaming the parameters or the function itself in the database so function overloading can be resolved"
|
|
8821
8824
|
});
|
|
8822
8825
|
}
|
|
8823
|
-
|
|
8826
|
+
const match = matches[0];
|
|
8827
|
+
if (!match) {
|
|
8828
|
+
throw new ApiError(404, {
|
|
8829
|
+
code: "PGRST202",
|
|
8830
|
+
message: `Could not find the function ${schema}.${name}(${[...provided].sort().join(", ")}) in the schema cache`,
|
|
8831
|
+
details: null,
|
|
8832
|
+
hint: null
|
|
8833
|
+
});
|
|
8834
|
+
}
|
|
8835
|
+
return match;
|
|
8824
8836
|
}
|
|
8825
8837
|
function renderCall(schema, fn, args) {
|
|
8826
8838
|
const parts = [];
|
|
@@ -48,6 +48,8 @@ export interface FunctionInfo {
|
|
|
48
48
|
returnTypType: string;
|
|
49
49
|
/** pg_proc.provolatile: v=volatile, s=stable, i=immutable. Volatile calls may run DDL. */
|
|
50
50
|
volatility: string;
|
|
51
|
+
/** Leading input arguments without a PostgreSQL default. */
|
|
52
|
+
requiredArgCount: number;
|
|
51
53
|
args: FunctionArg[];
|
|
52
54
|
}
|
|
53
55
|
/** Introspected shape of one schema: tables keyed by name, plus its foreign keys. */
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"database.d.ts","sourceRoot":"","sources":["../../../src/runtime/db/database.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"database.d.ts","sourceRoot":"","sources":["../../../src/runtime/db/database.ts"],"names":[],"mappings":"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"}
|