@selvajs/platform 0.14.3-beta.0 → 0.15.0-beta.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.
Files changed (154) hide show
  1. package/LICENSE +1 -1
  2. package/dist/computeServer/index.d.ts +1 -1
  3. package/dist/computeServer/index.d.ts.map +1 -1
  4. package/dist/computeServer/interface.d.ts +29 -1
  5. package/dist/computeServer/interface.d.ts.map +1 -1
  6. package/dist/computeServer/types.d.ts +12 -1
  7. package/dist/computeServer/types.d.ts.map +1 -1
  8. package/dist/computeServer/types.js.map +1 -1
  9. package/dist/data/index.d.ts +2 -1
  10. package/dist/data/index.d.ts.map +1 -1
  11. package/dist/data/index.js +1 -1
  12. package/dist/data/index.js.map +1 -1
  13. package/dist/data/interface.d.ts +69 -8
  14. package/dist/data/interface.d.ts.map +1 -1
  15. package/dist/data/interface.js +7 -1
  16. package/dist/data/interface.js.map +1 -1
  17. package/dist/definitions/interface.d.ts +16 -1
  18. package/dist/definitions/interface.d.ts.map +1 -1
  19. package/dist/definitions/schemas.d.ts +1 -0
  20. package/dist/definitions/schemas.d.ts.map +1 -1
  21. package/dist/definitions/schemas.js +8 -0
  22. package/dist/definitions/schemas.js.map +1 -1
  23. package/dist/definitions/types.d.ts +24 -1
  24. package/dist/definitions/types.d.ts.map +1 -1
  25. package/dist/events/index.d.ts +1 -1
  26. package/dist/events/index.d.ts.map +1 -1
  27. package/dist/events/index.js +1 -1
  28. package/dist/events/index.js.map +1 -1
  29. package/dist/events/interface.d.ts +30 -0
  30. package/dist/events/interface.d.ts.map +1 -1
  31. package/dist/events/interface.js +7 -0
  32. package/dist/events/interface.js.map +1 -1
  33. package/dist/index.d.ts +9 -4
  34. package/dist/index.d.ts.map +1 -1
  35. package/dist/index.js +5 -2
  36. package/dist/index.js.map +1 -1
  37. package/dist/logging/interface.d.ts +82 -0
  38. package/dist/logging/interface.d.ts.map +1 -0
  39. package/dist/logging/interface.js +33 -0
  40. package/dist/logging/interface.js.map +1 -0
  41. package/dist/metrics/interface.d.ts +6 -0
  42. package/dist/metrics/interface.d.ts.map +1 -1
  43. package/dist/metrics/interface.js.map +1 -1
  44. package/dist/organizations/__tests__/slug-schema.test.d.ts +2 -0
  45. package/dist/organizations/__tests__/slug-schema.test.d.ts.map +1 -0
  46. package/dist/organizations/__tests__/slug-schema.test.js +38 -0
  47. package/dist/organizations/__tests__/slug-schema.test.js.map +1 -0
  48. package/dist/organizations/index.d.ts +1 -1
  49. package/dist/organizations/index.d.ts.map +1 -1
  50. package/dist/organizations/index.js +1 -1
  51. package/dist/organizations/index.js.map +1 -1
  52. package/dist/organizations/schemas.d.ts +16 -2
  53. package/dist/organizations/schemas.d.ts.map +1 -1
  54. package/dist/organizations/schemas.js +32 -2
  55. package/dist/organizations/schemas.js.map +1 -1
  56. package/dist/solveCache/interface.d.ts +86 -0
  57. package/dist/solveCache/interface.d.ts.map +1 -0
  58. package/dist/solveCache/interface.js +12 -0
  59. package/dist/solveCache/interface.js.map +1 -0
  60. package/dist/testing/suites/definitionStoreSuite.d.ts.map +1 -1
  61. package/dist/testing/suites/definitionStoreSuite.js +57 -0
  62. package/dist/testing/suites/definitionStoreSuite.js.map +1 -1
  63. package/dist/testing/suites/eventSinkSuite.js +1 -0
  64. package/dist/testing/suites/eventSinkSuite.js.map +1 -1
  65. package/dist/testing/suites/platformPermissionStoreSuite.d.ts +9 -0
  66. package/dist/testing/suites/platformPermissionStoreSuite.d.ts.map +1 -1
  67. package/dist/testing/suites/platformPermissionStoreSuite.js +34 -1
  68. package/dist/testing/suites/platformPermissionStoreSuite.js.map +1 -1
  69. package/dist/testing/suites/solveMetricSinkSuite.d.ts +5 -0
  70. package/dist/testing/suites/solveMetricSinkSuite.d.ts.map +1 -1
  71. package/dist/testing/suites/solveMetricSinkSuite.js +17 -8
  72. package/dist/testing/suites/solveMetricSinkSuite.js.map +1 -1
  73. package/dist/testing/suites/storageProviderSuite.d.ts.map +1 -1
  74. package/dist/testing/suites/storageProviderSuite.js +23 -2
  75. package/dist/testing/suites/storageProviderSuite.js.map +1 -1
  76. package/package.json +9 -24
  77. package/src/access/index.ts +0 -23
  78. package/src/access/rules.ts +0 -276
  79. package/src/auth/index.ts +0 -8
  80. package/src/auth/interface.ts +0 -279
  81. package/src/auth/types.ts +0 -32
  82. package/src/bindings/index.ts +0 -2
  83. package/src/bindings/interface.ts +0 -61
  84. package/src/computeServer/index.ts +0 -28
  85. package/src/computeServer/interface.ts +0 -73
  86. package/src/computeServer/secrets.ts +0 -102
  87. package/src/computeServer/types.ts +0 -74
  88. package/src/computeServer/utils.ts +0 -112
  89. package/src/config.ts +0 -99
  90. package/src/context.ts +0 -80
  91. package/src/data/index.ts +0 -1
  92. package/src/data/interface.ts +0 -70
  93. package/src/definitions/index.ts +0 -26
  94. package/src/definitions/interface.ts +0 -87
  95. package/src/definitions/paths.ts +0 -31
  96. package/src/definitions/schemas.ts +0 -64
  97. package/src/definitions/types.ts +0 -111
  98. package/src/errors/interface.ts +0 -45
  99. package/src/errors.ts +0 -16
  100. package/src/events/audit.ts +0 -67
  101. package/src/events/index.ts +0 -9
  102. package/src/events/interface.ts +0 -102
  103. package/src/index.ts +0 -247
  104. package/src/invites/index.ts +0 -2
  105. package/src/invites/interface.ts +0 -38
  106. package/src/invites/types.ts +0 -39
  107. package/src/metrics/interface.ts +0 -86
  108. package/src/organizations/index.ts +0 -23
  109. package/src/organizations/interface.ts +0 -68
  110. package/src/organizations/paths.ts +0 -45
  111. package/src/organizations/schemas.ts +0 -61
  112. package/src/organizations/types.ts +0 -41
  113. package/src/pagination.ts +0 -45
  114. package/src/permissions/index.ts +0 -3
  115. package/src/permissions/interface.ts +0 -60
  116. package/src/permissions/types.ts +0 -21
  117. package/src/platformProjects/index.ts +0 -3
  118. package/src/platformProjects/interface.ts +0 -27
  119. package/src/platformProjects/schemas.ts +0 -13
  120. package/src/platformProjects/types.ts +0 -22
  121. package/src/projects/index.ts +0 -4
  122. package/src/projects/interface.ts +0 -58
  123. package/src/projects/schemas.ts +0 -28
  124. package/src/projects/types.ts +0 -36
  125. package/src/shareLinks/index.ts +0 -5
  126. package/src/shareLinks/interface.ts +0 -35
  127. package/src/shareLinks/schemas.ts +0 -21
  128. package/src/shareLinks/types.ts +0 -34
  129. package/src/storage/assetClasses.ts +0 -134
  130. package/src/storage/cacheBust.ts +0 -26
  131. package/src/storage/image.ts +0 -82
  132. package/src/storage/index.ts +0 -12
  133. package/src/storage/interface.ts +0 -27
  134. package/src/testing/index.ts +0 -47
  135. package/src/testing/suites/authProviderSuite.ts +0 -207
  136. package/src/testing/suites/computeServerStoreSuite.ts +0 -195
  137. package/src/testing/suites/definitionStoreSuite.ts +0 -630
  138. package/src/testing/suites/emailLinkAuthSuite.ts +0 -83
  139. package/src/testing/suites/eventSinkSuite.ts +0 -379
  140. package/src/testing/suites/helpers.ts +0 -87
  141. package/src/testing/suites/inviteStoreSuite.ts +0 -143
  142. package/src/testing/suites/orgStoreSuite.ts +0 -429
  143. package/src/testing/suites/platformPermissionStoreSuite.ts +0 -196
  144. package/src/testing/suites/platformProjectGrantStoreSuite.ts +0 -166
  145. package/src/testing/suites/projectStoreSuite.ts +0 -381
  146. package/src/testing/suites/shareLinkStoreSuite.ts +0 -203
  147. package/src/testing/suites/solveMetricSinkSuite.ts +0 -135
  148. package/src/testing/suites/storageProviderSuite.ts +0 -196
  149. package/src/testing/suites/userProfileStoreSuite.ts +0 -134
  150. package/src/userProfile/index.ts +0 -3
  151. package/src/userProfile/interface.ts +0 -48
  152. package/src/userProfile/types.ts +0 -24
  153. package/src/utils/audit.ts +0 -46
  154. package/src/utils/index.ts +0 -2
@@ -1,48 +0,0 @@
1
- import type { UserManagementResult } from '../auth/types.js';
2
- import type { RequestContext } from '../context.js';
3
- import type { RecentRun, UserProfile } from './types.js';
4
-
5
- /**
6
- * Mutable per-user profile state — separate from `IAuthProvider` so OAuth
7
- * providers (Entra, Supabase Auth) don't have to model fields they can't
8
- * persist.
9
- *
10
- * Adapters MUST scope by `ctx`: a caller cannot read or modify another
11
- * user's profile via the `userId` argument. SQL adapters delegate to RLS;
12
- * document-store adapters check `ctx.userId === userId` (or
13
- * `instance_admin` for admin tooling). Pass `SYSTEM_CONTEXT` for trusted
14
- * server flows (auto-seed on signup, janitors).
15
- */
16
- export interface IUserProfileStore {
17
- /** Returns null when no profile row exists — treat as `emptyProfile(id)`. */
18
- getProfile(ctx: RequestContext, userId: string): Promise<UserProfile | null>;
19
-
20
- /** Missing users are omitted; order is not guaranteed. */
21
- getProfiles(ctx: RequestContext, userIds: readonly string[]): Promise<UserProfile[]>;
22
-
23
- updateProfile(
24
- ctx: RequestContext,
25
- userId: string,
26
- patch: { displayName?: string }
27
- ): Promise<UserManagementResult>;
28
-
29
- /** No-op if already starred. */
30
- starDefinition(
31
- ctx: RequestContext,
32
- userId: string,
33
- definitionId: string
34
- ): Promise<UserManagementResult>;
35
-
36
- /** No-op if not starred. */
37
- unstarDefinition(
38
- ctx: RequestContext,
39
- userId: string,
40
- definitionId: string
41
- ): Promise<UserManagementResult>;
42
-
43
- /**
44
- * Record a solve run. Adapters cap the list (e.g. 20) and dedupe by
45
- * `definitionId`.
46
- */
47
- recordRun(ctx: RequestContext, userId: string, run: RecentRun): Promise<UserManagementResult>;
48
- }
@@ -1,24 +0,0 @@
1
- export interface RecentRun {
2
- definitionId: string;
3
- runId: string;
4
- definitionName: string;
5
- timestamp: string;
6
- }
7
-
8
- /**
9
- * Mutable per-user profile state. Owned by `IUserProfileStore` so OIDC
10
- * providers (Supabase Auth, Entra, Firebase) don't have to model fields they
11
- * can't persist — identity from the IdP, profile state from your DB.
12
- */
13
- export interface UserProfile {
14
- userId: string;
15
- displayName?: string;
16
- /** Definition GUIDs pinned by this user. */
17
- starredDefinitions: string[];
18
- /** Last N solve runs, newest first. Capped by the adapter. */
19
- recentRuns: RecentRun[];
20
- }
21
-
22
- export function emptyProfile(userId: string): UserProfile {
23
- return { userId, starredDefinitions: [], recentRuns: [] };
24
- }
@@ -1,46 +0,0 @@
1
- import type { RequestContext } from '../context.js';
2
-
3
- /**
4
- * Audit-field stamping helpers. Every mutable entity carries `createdAt` /
5
- * `createdBy` / `updatedAt` / `updatedBy` / `deletedAt`.
6
- *
7
- * `createdAt` / `createdBy` are stamped by the consumer when constructing
8
- * the record. `updatedAt` / `updatedBy` and `deletedAt` are stamped by
9
- * stores on every mutation.
10
- *
11
- * `fallbackActor` is used when `ctx.userId` is empty (system contexts) —
12
- * pass the record's prior `updatedBy` (or `ownerId` / `createdBy` if unset).
13
- */
14
-
15
- const nowIso = (): string => new Date().toISOString();
16
-
17
- export interface AuditUpdate {
18
- updatedAt: string;
19
- updatedBy: string;
20
- }
21
-
22
- export function auditUpdate(
23
- ctx: RequestContext,
24
- fallbackActor: string | null | undefined
25
- ): AuditUpdate {
26
- return {
27
- updatedAt: nowIso(),
28
- updatedBy: ctx.userId || fallbackActor || ''
29
- };
30
- }
31
-
32
- export interface AuditSoftDelete extends AuditUpdate {
33
- deletedAt: string;
34
- }
35
-
36
- export function auditSoftDelete(
37
- ctx: RequestContext,
38
- fallbackActor: string | null | undefined
39
- ): AuditSoftDelete {
40
- const now = nowIso();
41
- return {
42
- deletedAt: now,
43
- updatedAt: now,
44
- updatedBy: ctx.userId || fallbackActor || ''
45
- };
46
- }
@@ -1,2 +0,0 @@
1
- export type { AuditUpdate, AuditSoftDelete } from './audit.js';
2
- export { auditUpdate, auditSoftDelete } from './audit.js';