@selvajs/supabase-provider 0.17.0-beta.4 → 0.18.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 (78) hide show
  1. package/README.md +26 -39
  2. package/dist/auth/SupabaseAuthProvider.d.ts +37 -82
  3. package/dist/auth/SupabaseAuthProvider.d.ts.map +1 -1
  4. package/dist/auth/SupabaseAuthProvider.js +62 -114
  5. package/dist/auth/SupabaseAuthProvider.js.map +1 -1
  6. package/dist/cli/sync-migrations.js +4 -6
  7. package/dist/cli/sync-migrations.js.map +1 -1
  8. package/dist/data/SupabaseAuditQuery.d.ts +3 -3
  9. package/dist/data/SupabaseAuditQuery.d.ts.map +1 -1
  10. package/dist/data/SupabaseAuditQuery.js +8 -14
  11. package/dist/data/SupabaseAuditQuery.js.map +1 -1
  12. package/dist/data/SupabaseComputeServerStore.d.ts +7 -13
  13. package/dist/data/SupabaseComputeServerStore.d.ts.map +1 -1
  14. package/dist/data/SupabaseComputeServerStore.js +15 -39
  15. package/dist/data/SupabaseComputeServerStore.js.map +1 -1
  16. package/dist/data/SupabaseDataProvider.d.ts +30 -46
  17. package/dist/data/SupabaseDataProvider.d.ts.map +1 -1
  18. package/dist/data/SupabaseDataProvider.js +39 -66
  19. package/dist/data/SupabaseDataProvider.js.map +1 -1
  20. package/dist/data/SupabaseDefinitionStore.d.ts +3 -10
  21. package/dist/data/SupabaseDefinitionStore.d.ts.map +1 -1
  22. package/dist/data/SupabaseDefinitionStore.js +29 -39
  23. package/dist/data/SupabaseDefinitionStore.js.map +1 -1
  24. package/dist/data/SupabaseInviteStore.d.ts +6 -6
  25. package/dist/data/SupabaseInviteStore.d.ts.map +1 -1
  26. package/dist/data/SupabaseInviteStore.js +16 -15
  27. package/dist/data/SupabaseInviteStore.js.map +1 -1
  28. package/dist/data/SupabaseOrgStore.d.ts +0 -4
  29. package/dist/data/SupabaseOrgStore.d.ts.map +1 -1
  30. package/dist/data/SupabaseOrgStore.js +19 -29
  31. package/dist/data/SupabaseOrgStore.js.map +1 -1
  32. package/dist/data/SupabaseProjectStore.d.ts +4 -8
  33. package/dist/data/SupabaseProjectStore.d.ts.map +1 -1
  34. package/dist/data/SupabaseProjectStore.js +15 -26
  35. package/dist/data/SupabaseProjectStore.js.map +1 -1
  36. package/dist/data/SupabaseShareLinkStore.d.ts +4 -9
  37. package/dist/data/SupabaseShareLinkStore.d.ts.map +1 -1
  38. package/dist/data/SupabaseShareLinkStore.js +9 -18
  39. package/dist/data/SupabaseShareLinkStore.js.map +1 -1
  40. package/dist/data/SupabaseSolveMetricSink.d.ts +13 -14
  41. package/dist/data/SupabaseSolveMetricSink.d.ts.map +1 -1
  42. package/dist/data/SupabaseSolveMetricSink.js +13 -14
  43. package/dist/data/SupabaseSolveMetricSink.js.map +1 -1
  44. package/dist/data/client.d.ts +25 -54
  45. package/dist/data/client.d.ts.map +1 -1
  46. package/dist/data/client.js +6 -14
  47. package/dist/data/client.js.map +1 -1
  48. package/dist/data/errors.d.ts.map +1 -1
  49. package/dist/data/errors.js.map +1 -1
  50. package/dist/data/migrationHead.d.ts +4 -11
  51. package/dist/data/migrationHead.d.ts.map +1 -1
  52. package/dist/data/migrationHead.js +4 -11
  53. package/dist/data/migrationHead.js.map +1 -1
  54. package/dist/data/pagination.d.ts +5 -16
  55. package/dist/data/pagination.d.ts.map +1 -1
  56. package/dist/data/pagination.js +5 -16
  57. package/dist/data/pagination.js.map +1 -1
  58. package/dist/data/query.d.ts +2 -14
  59. package/dist/data/query.d.ts.map +1 -1
  60. package/dist/data/query.js +1 -9
  61. package/dist/data/query.js.map +1 -1
  62. package/dist/data/rowStamp.d.ts +8 -24
  63. package/dist/data/rowStamp.d.ts.map +1 -1
  64. package/dist/data/rowStamp.js +8 -24
  65. package/dist/data/rowStamp.js.map +1 -1
  66. package/dist/permissions/SupabasePlatformPermissionStore.d.ts +8 -10
  67. package/dist/permissions/SupabasePlatformPermissionStore.d.ts.map +1 -1
  68. package/dist/permissions/SupabasePlatformPermissionStore.js +9 -15
  69. package/dist/permissions/SupabasePlatformPermissionStore.js.map +1 -1
  70. package/dist/storage/SupabaseStorageProvider.d.ts +14 -35
  71. package/dist/storage/SupabaseStorageProvider.d.ts.map +1 -1
  72. package/dist/storage/SupabaseStorageProvider.js +10 -25
  73. package/dist/storage/SupabaseStorageProvider.js.map +1 -1
  74. package/dist/userProfile/SupabaseUserProfileProvider.d.ts.map +1 -1
  75. package/dist/userProfile/SupabaseUserProfileProvider.js +8 -15
  76. package/dist/userProfile/SupabaseUserProfileProvider.js.map +1 -1
  77. package/package.json +6 -6
  78. package/supabase/migrations/20260817120000_invite_platform_permissions.sql +16 -0
@@ -1 +1 @@
1
- {"version":3,"file":"SupabaseUserProfileProvider.d.ts","sourceRoot":"","sources":["../../src/userProfile/SupabaseUserProfileProvider.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACX,iBAAiB,EACjB,SAAS,EACT,cAAc,EACd,oBAAoB,EACpB,WAAW,EACX,MAAM,mBAAmB,CAAC;AAE3B,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AAetD,qBAAa,2BAA4B,YAAW,iBAAiB;IACxD,OAAO,CAAC,QAAQ,CAAC,OAAO;gBAAP,OAAO,EAAE,YAAY;IAElD,OAAO,CAAC,MAAM;IAIR,UAAU,CAAC,GAAG,EAAE,cAAc,EAAE,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,WAAW,GAAG,IAAI,CAAC;IAW5E,WAAW,CAAC,IAAI,EAAE,cAAc,EAAE,OAAO,EAAE,SAAS,MAAM,EAAE,GAAG,OAAO,CAAC,WAAW,EAAE,CAAC;IAYrF,aAAa,CAClB,GAAG,EAAE,cAAc,EACnB,MAAM,EAAE,MAAM,EACd,KAAK,EAAE;QAAE,WAAW,CAAC,EAAE,MAAM,CAAA;KAAE,GAC7B,OAAO,CAAC,oBAAoB,CAAC;IAe1B,cAAc,CACnB,GAAG,EAAE,cAAc,EACnB,MAAM,EAAE,MAAM,EACd,YAAY,EAAE,MAAM,GAClB,OAAO,CAAC,oBAAoB,CAAC;IAmB1B,gBAAgB,CACrB,GAAG,EAAE,cAAc,EACnB,MAAM,EAAE,MAAM,EACd,YAAY,EAAE,MAAM,GAClB,OAAO,CAAC,oBAAoB,CAAC;IAgB1B,SAAS,CACd,GAAG,EAAE,cAAc,EACnB,MAAM,EAAE,MAAM,EACd,GAAG,EAAE,SAAS,GACZ,OAAO,CAAC,oBAAoB,CAAC;CAiBhC"}
1
+ {"version":3,"file":"SupabaseUserProfileProvider.d.ts","sourceRoot":"","sources":["../../src/userProfile/SupabaseUserProfileProvider.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACX,iBAAiB,EACjB,SAAS,EACT,cAAc,EACd,oBAAoB,EACpB,WAAW,EACX,MAAM,mBAAmB,CAAC;AAE3B,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AAWtD,qBAAa,2BAA4B,YAAW,iBAAiB;IACxD,OAAO,CAAC,QAAQ,CAAC,OAAO;gBAAP,OAAO,EAAE,YAAY;IAElD,OAAO,CAAC,MAAM;IAIR,UAAU,CAAC,GAAG,EAAE,cAAc,EAAE,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,WAAW,GAAG,IAAI,CAAC;IAW5E,WAAW,CAAC,IAAI,EAAE,cAAc,EAAE,OAAO,EAAE,SAAS,MAAM,EAAE,GAAG,OAAO,CAAC,WAAW,EAAE,CAAC;IAWrF,aAAa,CAClB,GAAG,EAAE,cAAc,EACnB,MAAM,EAAE,MAAM,EACd,KAAK,EAAE;QAAE,WAAW,CAAC,EAAE,MAAM,CAAA;KAAE,GAC7B,OAAO,CAAC,oBAAoB,CAAC;IAe1B,cAAc,CACnB,GAAG,EAAE,cAAc,EACnB,MAAM,EAAE,MAAM,EACd,YAAY,EAAE,MAAM,GAClB,OAAO,CAAC,oBAAoB,CAAC;IAkB1B,gBAAgB,CACrB,GAAG,EAAE,cAAc,EACnB,MAAM,EAAE,MAAM,EACd,YAAY,EAAE,MAAM,GAClB,OAAO,CAAC,oBAAoB,CAAC;IAgB1B,SAAS,CACd,GAAG,EAAE,cAAc,EACnB,MAAM,EAAE,MAAM,EACd,GAAG,EAAE,SAAS,GACZ,OAAO,CAAC,oBAAoB,CAAC;CAgBhC"}
@@ -1,14 +1,10 @@
1
1
  import { ProviderError, hasPermission } from '@selvajs/platform';
2
2
  /**
3
- * User profile backed by `public.user_profiles` (one row per `auth.users.id`).
4
- * The row is auto-seeded by the `handle_new_auth_user` trigger on signup, so
5
- * the store never inserts — only reads/updates.
6
- *
7
- * Uses the service-role client throughout (RLS on `user_profiles` is
8
- * coarse-grained — server-side flows like the hooks.server.ts profile load
9
- * need access regardless of the caller's identity). The `assertCanAccess`
10
- * check enforces "you can only see/modify your own profile" at the app layer
11
- * to match the `IUserProfileStore` contract.
3
+ * Backed by `public.user_profiles` (one row per `auth.users.id`), auto-seeded
4
+ * by the `handle_new_auth_user` trigger on signup — this store never inserts,
5
+ * only reads/updates. Service-role throughout since RLS here is too coarse
6
+ * for server-side flows like the hooks.server.ts profile load; `assertCanAccess`
7
+ * enforces "own profile only" at the app layer instead.
12
8
  */
13
9
  const MAX_RECENT_RUNS = 20;
14
10
  export class SupabaseUserProfileProvider {
@@ -31,8 +27,7 @@ export class SupabaseUserProfileProvider {
31
27
  return data ? rowToProfile(data) : null;
32
28
  }
33
29
  async getProfiles(_ctx, userIds) {
34
- // Batch read serves display-name lookups across the UI; scoping to one
35
- // user defeats the purpose. No assertCanAccess.
30
+ // No assertCanAccess: this serves display-name lookups across other users.
36
31
  if (userIds.length === 0)
37
32
  return [];
38
33
  const { data, error } = await this.client()
@@ -61,9 +56,8 @@ export class SupabaseUserProfileProvider {
61
56
  }
62
57
  async starDefinition(ctx, userId, definitionId) {
63
58
  assertCanAccess(ctx, userId);
64
- // Read-modify-write is fine for the local scale here; if concurrent
65
- // starring ever becomes a hotspot, a SECURITY DEFINER RPC using
66
- // `array_append` + `array_distinct` closes the race.
59
+ // Read-modify-write races under concurrent starring; a SECURITY DEFINER
60
+ // RPC using array_append + array_distinct would close it if that matters.
67
61
  const existing = await this.getProfile(ctx, userId);
68
62
  if (!existing)
69
63
  return 'not_found';
@@ -101,7 +95,6 @@ export class SupabaseUserProfileProvider {
101
95
  const existing = await this.getProfile(ctx, userId);
102
96
  if (!existing)
103
97
  return 'not_found';
104
- // Prepend newest, de-dupe by definitionId, cap at MAX_RECENT_RUNS.
105
98
  const filtered = existing.recentRuns.filter((r) => r.definitionId !== run.definitionId);
106
99
  const next = [run, ...filtered].slice(0, MAX_RECENT_RUNS);
107
100
  const { data, error } = await this.client()
@@ -1 +1 @@
1
- {"version":3,"file":"SupabaseUserProfileProvider.js","sourceRoot":"","sources":["../../src/userProfile/SupabaseUserProfileProvider.ts"],"names":[],"mappings":"AAOA,OAAO,EAAE,aAAa,EAAE,aAAa,EAAE,MAAM,mBAAmB,CAAC;AAGjE;;;;;;;;;;GAUG;AACH,MAAM,eAAe,GAAG,EAAE,CAAC;AAE3B,MAAM,OAAO,2BAA2B;IACV;IAA7B,YAA6B,OAAqB;QAArB,YAAO,GAAP,OAAO,CAAc;IAAG,CAAC;IAE9C,MAAM;QACb,OAAO,IAAI,CAAC,OAAO,CAAC,aAAa,CAAC;IACnC,CAAC;IAED,KAAK,CAAC,UAAU,CAAC,GAAmB,EAAE,MAAc;QACnD,eAAe,CAAC,GAAG,EAAE,MAAM,CAAC,CAAC;QAC7B,MAAM,EAAE,IAAI,EAAE,KAAK,EAAE,GAAG,MAAM,IAAI,CAAC,MAAM,EAAE;aACzC,IAAI,CAAC,eAAe,CAAC;aACrB,MAAM,CAAC,yDAAyD,CAAC;aACjE,EAAE,CAAC,SAAS,EAAE,MAAM,CAAC;aACrB,WAAW,EAAE,CAAC;QAChB,IAAI,KAAK;YAAE,MAAM,QAAQ,CAAC,KAAK,CAAC,CAAC;QACjC,OAAO,IAAI,CAAC,CAAC,CAAC,YAAY,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;IACzC,CAAC;IAED,KAAK,CAAC,WAAW,CAAC,IAAoB,EAAE,OAA0B;QACjE,uEAAuE;QACvE,gDAAgD;QAChD,IAAI,OAAO,CAAC,MAAM,KAAK,CAAC;YAAE,OAAO,EAAE,CAAC;QACpC,MAAM,EAAE,IAAI,EAAE,KAAK,EAAE,GAAG,MAAM,IAAI,CAAC,MAAM,EAAE;aACzC,IAAI,CAAC,eAAe,CAAC;aACrB,MAAM,CAAC,yDAAyD,CAAC;aACjE,EAAE,CAAC,SAAS,EAAE,CAAC,GAAG,OAAO,CAAC,CAAC,CAAC;QAC9B,IAAI,KAAK;YAAE,MAAM,QAAQ,CAAC,KAAK,CAAC,CAAC;QACjC,OAAO,CAAC,IAAI,IAAI,EAAE,CAAC,CAAC,GAAG,CAAC,YAAY,CAAC,CAAC;IACvC,CAAC;IAED,KAAK,CAAC,aAAa,CAClB,GAAmB,EACnB,MAAc,EACd,KAA+B;QAE/B,eAAe,CAAC,GAAG,EAAE,MAAM,CAAC,CAAC;QAC7B,MAAM,GAAG,GAA4B,EAAE,CAAC;QACxC,IAAI,KAAK,CAAC,WAAW,KAAK,SAAS;YAAE,GAAG,CAAC,YAAY,GAAG,KAAK,CAAC,WAAW,CAAC;QAC1E,IAAI,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,MAAM,KAAK,CAAC;YAAE,OAAO,IAAI,CAAC;QAE/C,MAAM,EAAE,IAAI,EAAE,KAAK,EAAE,GAAG,MAAM,IAAI,CAAC,MAAM,EAAE;aACzC,IAAI,CAAC,eAAe,CAAC;aACrB,MAAM,CAAC,GAAG,CAAC;aACX,EAAE,CAAC,SAAS,EAAE,MAAM,CAAC;aACrB,MAAM,CAAC,SAAS,CAAC,CAAC;QACpB,IAAI,KAAK;YAAE,MAAM,QAAQ,CAAC,KAAK,CAAC,CAAC;QACjC,OAAO,IAAI,IAAI,IAAI,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,WAAW,CAAC;IACrD,CAAC;IAED,KAAK,CAAC,cAAc,CACnB,GAAmB,EACnB,MAAc,EACd,YAAoB;QAEpB,eAAe,CAAC,GAAG,EAAE,MAAM,CAAC,CAAC;QAC7B,oEAAoE;QACpE,gEAAgE;QAChE,qDAAqD;QACrD,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,UAAU,CAAC,GAAG,EAAE,MAAM,CAAC,CAAC;QACpD,IAAI,CAAC,QAAQ;YAAE,OAAO,WAAW,CAAC;QAClC,IAAI,QAAQ,CAAC,kBAAkB,CAAC,QAAQ,CAAC,YAAY,CAAC;YAAE,OAAO,IAAI,CAAC;QAEpE,MAAM,IAAI,GAAG,CAAC,GAAG,QAAQ,CAAC,kBAAkB,EAAE,YAAY,CAAC,CAAC;QAC5D,MAAM,EAAE,IAAI,EAAE,KAAK,EAAE,GAAG,MAAM,IAAI,CAAC,MAAM,EAAE;aACzC,IAAI,CAAC,eAAe,CAAC;aACrB,MAAM,CAAC,EAAE,mBAAmB,EAAE,IAAI,EAAE,CAAC;aACrC,EAAE,CAAC,SAAS,EAAE,MAAM,CAAC;aACrB,MAAM,CAAC,SAAS,CAAC,CAAC;QACpB,IAAI,KAAK;YAAE,MAAM,QAAQ,CAAC,KAAK,CAAC,CAAC;QACjC,OAAO,IAAI,IAAI,IAAI,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,WAAW,CAAC;IACrD,CAAC;IAED,KAAK,CAAC,gBAAgB,CACrB,GAAmB,EACnB,MAAc,EACd,YAAoB;QAEpB,eAAe,CAAC,GAAG,EAAE,MAAM,CAAC,CAAC;QAC7B,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,UAAU,CAAC,GAAG,EAAE,MAAM,CAAC,CAAC;QACpD,IAAI,CAAC,QAAQ;YAAE,OAAO,WAAW,CAAC;QAClC,IAAI,CAAC,QAAQ,CAAC,kBAAkB,CAAC,QAAQ,CAAC,YAAY,CAAC;YAAE,OAAO,IAAI,CAAC;QAErE,MAAM,IAAI,GAAG,QAAQ,CAAC,kBAAkB,CAAC,MAAM,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,KAAK,YAAY,CAAC,CAAC;QAC7E,MAAM,EAAE,IAAI,EAAE,KAAK,EAAE,GAAG,MAAM,IAAI,CAAC,MAAM,EAAE;aACzC,IAAI,CAAC,eAAe,CAAC;aACrB,MAAM,CAAC,EAAE,mBAAmB,EAAE,IAAI,EAAE,CAAC;aACrC,EAAE,CAAC,SAAS,EAAE,MAAM,CAAC;aACrB,MAAM,CAAC,SAAS,CAAC,CAAC;QACpB,IAAI,KAAK;YAAE,MAAM,QAAQ,CAAC,KAAK,CAAC,CAAC;QACjC,OAAO,IAAI,IAAI,IAAI,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,WAAW,CAAC;IACrD,CAAC;IAED,KAAK,CAAC,SAAS,CACd,GAAmB,EACnB,MAAc,EACd,GAAc;QAEd,eAAe,CAAC,GAAG,EAAE,MAAM,CAAC,CAAC;QAC7B,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,UAAU,CAAC,GAAG,EAAE,MAAM,CAAC,CAAC;QACpD,IAAI,CAAC,QAAQ;YAAE,OAAO,WAAW,CAAC;QAElC,mEAAmE;QACnE,MAAM,QAAQ,GAAG,QAAQ,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,YAAY,KAAK,GAAG,CAAC,YAAY,CAAC,CAAC;QACxF,MAAM,IAAI,GAAG,CAAC,GAAG,EAAE,GAAG,QAAQ,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,eAAe,CAAC,CAAC;QAE1D,MAAM,EAAE,IAAI,EAAE,KAAK,EAAE,GAAG,MAAM,IAAI,CAAC,MAAM,EAAE;aACzC,IAAI,CAAC,eAAe,CAAC;aACrB,MAAM,CAAC,EAAE,WAAW,EAAE,IAAI,EAAE,CAAC;aAC7B,EAAE,CAAC,SAAS,EAAE,MAAM,CAAC;aACrB,MAAM,CAAC,SAAS,CAAC,CAAC;QACpB,IAAI,KAAK;YAAE,MAAM,QAAQ,CAAC,KAAK,CAAC,CAAC;QACjC,OAAO,IAAI,IAAI,IAAI,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,WAAW,CAAC;IACrD,CAAC;CACD;AAED,SAAS,eAAe,CAAC,GAAmB,EAAE,MAAc;IAC3D,IAAI,GAAG,CAAC,MAAM;QAAE,OAAO;IACvB,IAAI,GAAG,CAAC,MAAM,KAAK,MAAM;QAAE,OAAO;IAClC,IAAI,aAAa,CAAC,GAAG,EAAE,gBAAgB,CAAC;QAAE,OAAO;IACjD,MAAM,IAAI,aAAa,CAAC,iDAAiD,EAAE,GAAG,CAAC,CAAC;AACjF,CAAC;AASD,SAAS,YAAY,CAAC,GAAe;IACpC,OAAO;QACN,MAAM,EAAE,GAAG,CAAC,OAAO;QACnB,WAAW,EAAE,GAAG,CAAC,YAAY,IAAI,SAAS;QAC1C,kBAAkB,EAAE,GAAG,CAAC,mBAAmB,IAAI,EAAE;QACjD,UAAU,EAAE,GAAG,CAAC,WAAW,IAAI,EAAE;KACjC,CAAC;AACH,CAAC;AAOD,SAAS,QAAQ,CAAC,CAAU;IAC3B,MAAM,EAAE,GAAG,CAAmB,CAAC;IAC/B,IAAI,EAAE,EAAE,IAAI,KAAK,OAAO;QAAE,OAAO,IAAI,aAAa,CAAC,EAAE,CAAC,OAAO,IAAI,kBAAkB,EAAE,GAAG,CAAC,CAAC;IAC1F,IAAI,EAAE,EAAE,IAAI,KAAK,OAAO;QAAE,OAAO,IAAI,aAAa,CAAC,EAAE,CAAC,OAAO,IAAI,uBAAuB,EAAE,GAAG,CAAC,CAAC;IAC/F,IAAI,CAAC,YAAY,KAAK;QAAE,OAAO,CAAC,CAAC;IACjC,IAAI,CAAC,IAAI,OAAO,CAAC,KAAK,QAAQ,EAAE,CAAC;QAChC,MAAM,GAAG,GAAG,CAAwC,CAAC;QACrD,OAAO,IAAI,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,GAAG,CAAC,IAAI,KAAK,GAAG,CAAC,OAAO,IAAI,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,IAAI,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;IAChG,CAAC;IACD,OAAO,IAAI,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC;AAC7B,CAAC"}
1
+ {"version":3,"file":"SupabaseUserProfileProvider.js","sourceRoot":"","sources":["../../src/userProfile/SupabaseUserProfileProvider.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@selvajs/supabase-provider",
3
- "version": "0.17.0-beta.4",
3
+ "version": "0.18.0",
4
4
  "description": "Supabase (Auth + Postgres + Storage) implementations of @selvajs/platform interfaces",
5
5
  "license": "MIT",
6
6
  "author": "VektorNode",
@@ -70,16 +70,16 @@
70
70
  "!**/*.spec.*"
71
71
  ],
72
72
  "dependencies": {
73
- "@supabase/supabase-js": "^2.111.0",
73
+ "@supabase/supabase-js": "^2.112.2",
74
74
  "sharp": "^0.35.3",
75
- "@selvajs/platform": "^0.17.0-beta.3"
75
+ "@selvajs/platform": "^0.18.0"
76
76
  },
77
77
  "devDependencies": {
78
- "@types/node": "^26.1.2",
79
- "supabase": "^2.110.0",
78
+ "@types/node": "^24.13.3",
79
+ "supabase": "^2.112.0",
80
80
  "typescript": "~6.0.3",
81
81
  "vitest": "^4.1.10",
82
- "@selvajs/config": "0.0.3"
82
+ "@selvajs/config": "0.0.4"
83
83
  },
84
84
  "scripts": {
85
85
  "build": "tsc",
@@ -0,0 +1,16 @@
1
+ -- ============================================================================
2
+ -- selva.invites.platform_permissions — instance-wide grants carried by an invite
3
+ -- ============================================================================
4
+ --
5
+ -- Invites could only ever grant org scope, so the sole way to create a second
6
+ -- instance admin was the admin-sets-password form on /admin/users — a form that
7
+ -- cannot exist under a header-auth/IdP deployment, where Selva never holds a
8
+ -- credential. Removing that form without this column would leave such a
9
+ -- deployment permanently stuck at one admin.
10
+ --
11
+ -- Empty for virtually every row: the mint route rejects a non-empty value unless
12
+ -- the caller already holds instance_admin, since anyone who can write here can
13
+ -- escalate past org scope.
14
+
15
+ alter table selva.invites
16
+ add column if not exists platform_permissions text[] not null default '{}';