@digimuza/system-core 0.1.0 → 0.2.0-rc.1

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 (53) hide show
  1. package/INTEGRATION.md +75 -11
  2. package/README.md +8 -0
  3. package/dist/convex/functions.d.ts +28 -3
  4. package/dist/convex/functions.d.ts.map +1 -1
  5. package/dist/convex/functions.js +23 -4
  6. package/dist/convex/functions.js.map +1 -1
  7. package/dist/convex/index.d.ts +1 -1
  8. package/dist/convex/index.d.ts.map +1 -1
  9. package/dist/convex/index.js +1 -1
  10. package/dist/convex/index.js.map +1 -1
  11. package/dist/convex/schema.d.ts +12 -0
  12. package/dist/convex/schema.d.ts.map +1 -1
  13. package/dist/convex/schema.js +2 -0
  14. package/dist/convex/schema.js.map +1 -1
  15. package/dist/core/access.d.ts +13 -0
  16. package/dist/core/access.d.ts.map +1 -1
  17. package/dist/core/access.js +42 -7
  18. package/dist/core/access.js.map +1 -1
  19. package/dist/core/index.d.ts +1 -0
  20. package/dist/core/index.d.ts.map +1 -1
  21. package/dist/core/index.js +1 -0
  22. package/dist/core/index.js.map +1 -1
  23. package/dist/core/modules-service.d.ts +5 -0
  24. package/dist/core/modules-service.d.ts.map +1 -1
  25. package/dist/core/modules-service.js +5 -3
  26. package/dist/core/modules-service.js.map +1 -1
  27. package/dist/core/role-view.d.ts +19 -0
  28. package/dist/core/role-view.d.ts.map +1 -0
  29. package/dist/core/role-view.js +41 -0
  30. package/dist/core/role-view.js.map +1 -0
  31. package/dist/core/store.d.ts +8 -0
  32. package/dist/core/store.d.ts.map +1 -1
  33. package/dist/core/store.js +1 -0
  34. package/dist/core/store.js.map +1 -1
  35. package/dist/finance/index.d.ts +118 -0
  36. package/dist/finance/index.d.ts.map +1 -0
  37. package/dist/finance/index.js +144 -0
  38. package/dist/finance/index.js.map +1 -0
  39. package/dist/react/index.d.ts +7 -4
  40. package/dist/react/index.d.ts.map +1 -1
  41. package/dist/react/index.js +10 -1
  42. package/dist/react/index.js.map +1 -1
  43. package/package.json +7 -7
  44. package/src/convex/functions.ts +28 -5
  45. package/src/convex/index.ts +1 -1
  46. package/src/convex/schema.ts +3 -0
  47. package/src/core/access.ts +41 -8
  48. package/src/core/index.ts +1 -0
  49. package/src/core/modules-service.ts +9 -3
  50. package/src/core/role-view.ts +43 -0
  51. package/src/core/store.ts +5 -0
  52. package/src/finance/index.ts +189 -0
  53. package/src/react/index.tsx +12 -2
package/INTEGRATION.md CHANGED
@@ -19,7 +19,8 @@ Pin the version per tenant app (`"@digimuza/system-core": "0.1.0"`, or `~0.1.0`)
19
19
  | `@digimuza/system-core/modules` | Any | `defineModule()`, manifest types, `PermissionOf<>`. |
20
20
  | `@digimuza/system-core/convex` | Convex | `systemTables`, `defineConvexSystem()`, `requirePermission`, all core services. |
21
21
  | `@digimuza/system-core/next` | Next.js server | `createSystemServerClient()` (session token, tracing, typed errors), `createAgentClient()`. |
22
- | `@digimuza/system-core/react` | Client components | `<SystemProvider>`, `useCan`, `useVisibleModules`, `useCurrentUser`, `useFeatureFlag`, `<Can>`. |
22
+ | `@digimuza/system-core/react` | Client components | `<SystemProvider>`, `useCan`, `useVisibleModules`, `useCurrentUser`, `useFeatureFlag`, `useRoleView`, `<Can>`. |
23
+ | `@digimuza/system-core/finance` | Convex | The finance business module: `finance` manifest, `financeTables`, `defineFinance(system)` functions, `FinancePermissions`, `InvoiceView`. |
23
24
  | `@digimuza/system-core` | Any | `SystemError`, redaction, logger, tracer, shared types. |
24
25
  | `@digimuza/system-core/testing` | Tests | `MemoryStore` (same semantics as Convex, serializable transactions). |
25
26
 
@@ -86,9 +87,53 @@ export const {
86
87
  listInvites, getInvite, revokeInvite, createInvite, resendInvite, _createInvite, _resendInvite, _recordInviteDelivery,
87
88
  listMyApiKeys, setApiKeyRoles, revokeApiKey, createApiKey, rotateApiKey, _createApiKey, _rotateApiKey,
88
89
  listFeatureFlags, setFeatureFlag, resetFeatureFlag, listAudit,
90
+ roleViewStatus, startRoleView, stopRoleView,
89
91
  } = system.functions
90
92
  ```
91
93
 
94
+ `system.requirePermission(ctx, …)` and `system.context(ctx)` take the app's own
95
+ generated `QueryCtx` / `MutationCtx` directly; no cast is needed.
96
+
97
+ The default identity mapping reads `email`, and `emailVerified` or the raw
98
+ `email_verified` claim, so custom JWT providers (WorkOS AuthKit with a JWT
99
+ template, most OIDC setups) work without `identityFromJwt`. Pass
100
+ `identityFromJwt` only to change the provider name or claims.
101
+
102
+ ### Business modules shipped in the package
103
+
104
+ ```ts
105
+ // convex/schema.ts
106
+ import { systemTables } from "@digimuza/system-core/convex"
107
+ import { financeTables } from "@digimuza/system-core/finance"
108
+ export default defineSchema({ ...systemTables, ...financeTables })
109
+
110
+ // convex/system.ts
111
+ import { finance } from "@digimuza/system-core/finance"
112
+ export const system = defineConvexSystem({ modules: [finance] })
113
+
114
+ // convex/finance.ts
115
+ import { defineFinance } from "@digimuza/system-core/finance"
116
+ import { system } from "./system"
117
+ export const { listInvoices, createInvoice, approveInvoice, bulkApproveInvoices } = defineFinance(system)
118
+ ```
119
+
120
+ Each function guards itself (permission, module enabled, role view), checks the
121
+ object (existence, state transition), writes, and records an audit event in one
122
+ transaction. The UI stays in the app.
123
+
124
+ ### View as role (Super)
125
+
126
+ A real Super (verified email in `SUPER_USER_EMAILS`) can preview the system as
127
+ a holder of one role: `startRoleView({ roleId })`, `stopRoleView()`,
128
+ `roleViewStatus()`. While a preview is active, every decision treats the Super
129
+ as that role: business permissions, module state (disabled modules stay off),
130
+ Super-only actions (`setModuleEnabled`, …), the core's admin functions,
131
+ delegation and invites. `session` returns `actor.isSuper: false`, the role's
132
+ permissions, `canViewAs: true` and `roleView: { roleId, roleName }`. The
133
+ Super's own API keys keep the owner's real Super status, so a preview never
134
+ breaks running agents. Starting and stopping are audited
135
+ (`super.role_view.start` / `.stop`); an archived role ends the preview.
136
+
92
137
  Business functions guard themselves on the server, in the same transaction as
93
138
  the change:
94
139
 
@@ -177,15 +222,34 @@ npm run lint # biome lint
177
222
 
178
223
  ## Releasing
179
224
 
180
- Releases are cut by [Changesets](https://github.com/changesets/changesets) and published from
181
- GitHub Actions (`.github/workflows/release.yml`) with npm trusted publishing (OIDC, no long-lived token).
225
+ Branch-based release cycle (same for every digimuza project). The version comes from the release branch name.
182
226
 
183
- 1. In each PR that changes the package, run `npx changeset`, choose patch/minor/major and describe the change.
184
- 2. On merge to `main`, the Release workflow opens or updates a **"chore: version packages"** PR
185
- (it bumps `package.json` and writes `CHANGELOG.md`).
186
- 3. Merging that PR publishes the new version to npm, tags `vX.Y.Z` and creates a GitHub release.
187
-
188
- Publishing is gated by the repository variable `NPM_PUBLISH_ENABLED=true`. Without it, and on manual
189
- runs with `dry_run`, the workflow only runs `npm publish --dry-run`. CI (`.github/workflows/ci.yml`)
190
- runs typecheck, lint, test, build and `check:pack` on Node 22, 24 and 26 for every PR and push to `main`.
227
+ ```
228
+ feature/DIG-123-x ──PR──▶ main ──cut──▶ release/X.Y.Z ──PR (merge commit)──▶ production
229
+ (dev) npm X.Y.Z-rc.N @next npm X.Y.Z @latest
230
+ ```
191
231
 
232
+ | Branch | npm | Who consumes it |
233
+ | - | - | - |
234
+ | `main` | nothing | development |
235
+ | `release/X.Y.Z`, `hotfix/X.Y.Z` | `X.Y.Z-rc.N` under dist-tag `next`, one rc per push | staging: `npm install @digimuza/system-core@next` (or pin `X.Y.Z-rc.N`) |
236
+ | `production` | `X.Y.Z` under dist-tag `latest` | production tenant apps |
237
+
238
+ 1. **Cut**: `npm run release:cut -- 0.2.0` creates `release/0.2.0` from `origin/main`, bumps `package.json` and pushes.
239
+ After the cut only fixes go into the release branch.
240
+ 2. **Stage**: every push to `release/0.2.0` runs `.github/workflows/release.yml` → verify → publish
241
+ `0.2.0-rc.1`, `-rc.2`, … with tag `next`. Linear issues (`DIG-n` in commit messages) move to **In Staging**
242
+ and onto project milestone `v0.2.0`.
243
+ 3. **Release**: open a PR `release/0.2.0 → production` and merge it **with a merge commit** (not squash).
244
+ CI checks the source branch and version. The push to `production` publishes `0.2.0` as `latest`,
245
+ tags `v0.2.0`, creates a GitHub Release, moves the issues to **Done**, posts a Linear project update
246
+ and opens and auto-merges a PR `production → main` so fixes reach `main`.
247
+ 4. **Hotfix**: `hotfix/0.2.1` from `production`, bump `package.json`, push (publishes `0.2.1-rc.N`), then PR to `production`.
248
+
249
+ Guards: the release branch version must match `package.json`, a version already on npm is never republished,
250
+ and `production` refuses to publish `X.Y.Z` unless an `X.Y.Z-rc.N` was staged first. A manual run
251
+ (Actions → Release → Run workflow, `dry_run` on) does everything with `npm publish --dry-run` and skips tags,
252
+ releases and Linear.
253
+
254
+ Publishing uses npm trusted publishing (OIDC) bound to `digimuza/system-core` + `release.yml`, so no npm token is stored.
255
+ Linear updates need the `LINEAR_API_KEY` repo secret (sourced from Infisical); without it they are skipped.
package/README.md CHANGED
@@ -90,6 +90,14 @@ Priėmimo bandyme operatorius pakviečia darbuotoją, darbuotojas prisijungia ir
90
90
 
91
91
  Next.js ir Convex vykdymo aplinkoms konfigūracija pateikiama atskirai. Convex užklausos ir mutacijos prieigos patikrą atlieka naudodamos lokaliai prieinamą aktyvios versijos konfigūraciją. Diegimas laikomas baigtu, kai ankstesnės versijos instancijos nebeaptarnauja užklausų. Naršyklė gauna tik aiškiai viešomis paskelbtas reikšmes.
92
92
 
93
+ # Peržiūra kaip rolė
94
+
95
+ Tikras `Super` (patvirtintas el. paštas `SUPER_USER_EMAILS` sąraše) gali laikinai peržiūrėti sistemą kaip vienos rolės turėtojas. Peržiūros metu kiekvienas prieigos sprendimas taikomas kaip tai rolei: verslo teisės, modulių būsena, tik `Super` leidžiami veiksmai, administravimo funkcijos, delegavimas ir kvietimai. Sesija rodo `isSuper: false` ir rolės teises. `Super` savo API raktams lieka tikruoju `Super`. Pradžia ir pabaiga įrašomos į auditą; archyvuota rolė peržiūrą užbaigia.
96
+
97
+ # Verslo moduliai pakete
98
+
99
+ `@digimuza/system-core/finance` yra pirmasis pakartotinai naudojamas verslo modulis: manifestas, `financeTables`, `defineFinance(system)` funkcijos ir teisės. Aplikacija tik įtraukia lenteles į schemą ir eksportuoja funkcijas; vartotojo sąsaja lieka aplikacijoje.
100
+
93
101
  # Rolės ir modulio registracija
94
102
 
95
103
  Vienintelė įmonės valdomų suteikimų grandinė yra gavėjas → rolė → subrolė → teisė. Gavėjas yra vartotojas arba agento API raktas. Kiekviename lygyje leidžiama turėti kelias sąsajas. Viena subrolė priklauso vienam moduliui. Rolė gali sujungti kelių modulių subroles. Tiesioginis subrolės ar teisės suteikimas gavėjui yra neleistina operacija.
@@ -1,4 +1,4 @@
1
- import { type Auth, type GenericDatabaseReader, type GenericDatabaseWriter, type GenericDataModel, type UserIdentity } from "convex/server";
1
+ import { type Auth, type GenericDatabaseReader, type GenericDatabaseWriter, type UserIdentity } from "convex/server";
2
2
  import { type ObjectType } from "convex/values";
3
3
  import { type Actor, type Decision, type VerifiedIdentity } from "../core/access.js";
4
4
  import * as apiKeys from "../core/api-keys.js";
@@ -6,10 +6,11 @@ import { type SystemContext, type SystemDefinition, type SystemOptions } from ".
6
6
  import * as flags from "../core/feature-flags.js";
7
7
  import * as invites from "../core/invites.js";
8
8
  import * as mods from "../core/modules-service.js";
9
+ import * as roleView from "../core/role-view.js";
9
10
  import * as roles from "../core/roles.js";
10
11
  import * as users from "../core/users.js";
11
- type Db = GenericDatabaseReader<GenericDataModel> | GenericDatabaseWriter<GenericDataModel>;
12
- /** The subset of a Convex query/mutation ctx the system needs. */
12
+ type Db = GenericDatabaseReader<any> | GenericDatabaseWriter<any>;
13
+ /** The subset of a Convex query/mutation ctx the system needs. Any app's ctx fits. */
13
14
  export interface DbCtx {
14
15
  db: Db;
15
16
  auth: Auth;
@@ -31,6 +32,12 @@ export interface ContextOptions {
31
32
  apiKey?: string | undefined;
32
33
  operationId?: string | undefined;
33
34
  }
35
+ /**
36
+ * Default mapping. Convex sets `emailVerified` only for OIDC providers; custom
37
+ * JWT providers (WorkOS, Better Auth, most OIDC setups through customJwt) pass
38
+ * the claim through raw as `email_verified`, so read both.
39
+ */
40
+ export declare const defaultIdentity: (i: UserIdentity) => VerifiedIdentity;
34
41
  /** Re-throws SystemErrors as ConvexError with client-safe data (stable code + operation ID). */
35
42
  export declare function toConvexError(e: unknown, operationId?: string): unknown;
36
43
  declare const actorArgs: {
@@ -359,6 +366,24 @@ export declare function defineConvexSystem(options?: ConvexSystemOptions): {
359
366
  }, Promise<{
360
367
  prefix: string;
361
368
  }>>;
369
+ /** `{ canViewAs, roleView }` for the caller. */
370
+ roleViewStatus: import("convex/server").RegisteredQuery<"public", {
371
+ apiKey?: string | undefined;
372
+ operationId?: string | undefined;
373
+ }, Promise<roleView.RoleViewStatus>>;
374
+ /** A real Super previews the system as `roleId`. Human sessions only; audited. */
375
+ startRoleView: import("convex/server").RegisteredMutation<"public", {
376
+ operationId?: string | undefined;
377
+ roleId: string;
378
+ }, Promise<{
379
+ roleId: string;
380
+ roleName: string;
381
+ }>>;
382
+ stopRoleView: import("convex/server").RegisteredMutation<"public", {
383
+ operationId?: string | undefined;
384
+ }, Promise<{
385
+ stopped: boolean;
386
+ }>>;
362
387
  listFeatureFlags: import("convex/server").RegisteredQuery<"public", {
363
388
  apiKey?: string | undefined;
364
389
  operationId?: string | undefined;
@@ -1 +1 @@
1
- {"version":3,"file":"functions.d.ts","sourceRoot":"","sources":["../../src/convex/functions.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"functions.d.ts","sourceRoot":"","sources":["../../src/convex/functions.ts"],"names":[],"mappings":"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"}
@@ -9,17 +9,24 @@ import * as flags from "../core/feature-flags.js";
9
9
  import * as invites from "../core/invites.js";
10
10
  import * as mods from "../core/modules-service.js";
11
11
  import { registerCatalog } from "../core/registry.js";
12
+ import * as roleView from "../core/role-view.js";
12
13
  import * as roles from "../core/roles.js";
13
14
  import * as users from "../core/users.js";
14
15
  import { createLogger } from "../diagnostics/logging.js";
15
16
  import { createConvexStore } from "./store.js";
16
17
  const OPERATION_ID = /^[A-Za-z0-9_-]{8,64}$/;
17
- const defaultIdentity = (i) => {
18
+ /**
19
+ * Default mapping. Convex sets `emailVerified` only for OIDC providers; custom
20
+ * JWT providers (WorkOS, Better Auth, most OIDC setups through customJwt) pass
21
+ * the claim through raw as `email_verified`, so read both.
22
+ */
23
+ export const defaultIdentity = (i) => {
18
24
  const out = { provider: i.issuer, subject: i.subject };
19
- if (i.email)
25
+ if (typeof i.email === "string" && i.email)
20
26
  out.email = i.email;
21
- if (i.emailVerified !== undefined)
22
- out.emailVerified = i.emailVerified;
27
+ const verified = i.emailVerified ?? i.email_verified;
28
+ if (typeof verified === "boolean")
29
+ out.emailVerified = verified;
23
30
  return out;
24
31
  };
25
32
  /** Re-throws SystemErrors as ConvexError with client-safe data (stable code + operation ID). */
@@ -213,6 +220,18 @@ export function defineConvexSystem(options = {}) {
213
220
  }),
214
221
  _createApiKey: internal({ name: v.string(), roleIds: v.array(v.string()), expiresAt: v.optional(v.number()), prefix: v.string(), hash: v.string() }, (sys, actor, a) => apiKeys.createApiKey(sys, actor, defined({ name: a.name, roleIds: a.roleIds, expiresAt: a.expiresAt }), { prefix: a.prefix, hash: a.hash })),
215
222
  _rotateApiKey: internal({ apiKeyId: v.string(), prefix: v.string(), hash: v.string() }, (sys, actor, a) => apiKeys.rotateApiKey(sys, actor, a.apiKeyId, { prefix: a.prefix, hash: a.hash })),
223
+ // --- Super tools: view as role -----------------------------------------------------------
224
+ /** `{ canViewAs, roleView }` for the caller. */
225
+ roleViewStatus: query({}, (sys, actor) => roleView.roleViewStatus(sys, actor)),
226
+ /** A real Super previews the system as `roleId`. Human sessions only; audited. */
227
+ startRoleView: mutationGeneric({
228
+ args: { roleId: v.string(), operationId: v.optional(v.string()) },
229
+ handler: (ctx, a) => run(ctx, { operationId: a.operationId }, (sys, actor) => roleView.startRoleView(sys, actor, a.roleId)),
230
+ }),
231
+ stopRoleView: mutationGeneric({
232
+ args: { operationId: v.optional(v.string()) },
233
+ handler: (ctx, a) => run(ctx, { operationId: a.operationId }, (sys, actor) => roleView.stopRoleView(sys, actor)),
234
+ }),
216
235
  // --- Feature flags & audit ------------------------------------------------------------
217
236
  listFeatureFlags: query({}, (sys, actor) => flags.listFlags(sys, actor)),
218
237
  setFeatureFlag: mutation({ flagId: v.string(), value: v.boolean() }, (sys, actor, a) => flags.setFlag(sys, actor, a.flagId, a.value)),
@@ -1 +1 @@
1
- {"version":3,"file":"functions.js","sourceRoot":"","sources":["../../src/convex/functions.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"functions.js","sourceRoot":"","sources":["../../src/convex/functions.ts"],"names":[],"mappings":"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"}
@@ -1,6 +1,6 @@
1
1
  export { systemTables } from "./schema.js";
2
2
  export { createConvexStore } from "./store.js";
3
- export { defineConvexSystem, toConvexError, type ConvexSystem, type ConvexSystemOptions, type ContextOptions, type DbCtx } from "./functions.js";
3
+ export { defaultIdentity, defineConvexSystem, toConvexError, type ConvexSystem, type ConvexSystemOptions, type ContextOptions, type DbCtx } from "./functions.js";
4
4
  export * from "../core/index.js";
5
5
  export { createLogger, consoleExporter, silentLogger, type Logger, type LogExporter, type LogEvent } from "../diagnostics/logging.js";
6
6
  export { createTracer, type Tracer, type Span, type TraceContext, type TraceExporter } from "../diagnostics/tracing.js";
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/convex/index.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,YAAY,EAAE,MAAM,aAAa,CAAA;AAC1C,OAAO,EAAE,iBAAiB,EAAE,MAAM,YAAY,CAAA;AAC9C,OAAO,EAAE,kBAAkB,EAAE,aAAa,EAAE,KAAK,YAAY,EAAE,KAAK,mBAAmB,EAAE,KAAK,cAAc,EAAE,KAAK,KAAK,EAAE,MAAM,gBAAgB,CAAA;AAGhJ,cAAc,kBAAkB,CAAA;AAChC,OAAO,EAAE,YAAY,EAAE,eAAe,EAAE,YAAY,EAAE,KAAK,MAAM,EAAE,KAAK,WAAW,EAAE,KAAK,QAAQ,EAAE,MAAM,2BAA2B,CAAA;AACrI,OAAO,EAAE,YAAY,EAAE,KAAK,MAAM,EAAE,KAAK,IAAI,EAAE,KAAK,YAAY,EAAE,KAAK,aAAa,EAAE,MAAM,2BAA2B,CAAA"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/convex/index.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,YAAY,EAAE,MAAM,aAAa,CAAA;AAC1C,OAAO,EAAE,iBAAiB,EAAE,MAAM,YAAY,CAAA;AAC9C,OAAO,EAAE,eAAe,EAAE,kBAAkB,EAAE,aAAa,EAAE,KAAK,YAAY,EAAE,KAAK,mBAAmB,EAAE,KAAK,cAAc,EAAE,KAAK,KAAK,EAAE,MAAM,gBAAgB,CAAA;AAGjK,cAAc,kBAAkB,CAAA;AAChC,OAAO,EAAE,YAAY,EAAE,eAAe,EAAE,YAAY,EAAE,KAAK,MAAM,EAAE,KAAK,WAAW,EAAE,KAAK,QAAQ,EAAE,MAAM,2BAA2B,CAAA;AACrI,OAAO,EAAE,YAAY,EAAE,KAAK,MAAM,EAAE,KAAK,IAAI,EAAE,KAAK,YAAY,EAAE,KAAK,aAAa,EAAE,MAAM,2BAA2B,CAAA"}
@@ -1,7 +1,7 @@
1
1
  // Convex integration: schema tables, store adapter, system functions and guards.
2
2
  export { systemTables } from "./schema.js";
3
3
  export { createConvexStore } from "./store.js";
4
- export { defineConvexSystem, toConvexError } from "./functions.js";
4
+ export { defaultIdentity, defineConvexSystem, toConvexError } from "./functions.js";
5
5
  // Runtime-agnostic services, for custom Convex functions built on `system.context(ctx)`.
6
6
  export * from "../core/index.js";
7
7
  export { createLogger, consoleExporter, silentLogger } from "../diagnostics/logging.js";
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/convex/index.ts"],"names":[],"mappings":"AAAA,iFAAiF;AACjF,OAAO,EAAE,YAAY,EAAE,MAAM,aAAa,CAAA;AAC1C,OAAO,EAAE,iBAAiB,EAAE,MAAM,YAAY,CAAA;AAC9C,OAAO,EAAE,kBAAkB,EAAE,aAAa,EAAgF,MAAM,gBAAgB,CAAA;AAEhJ,yFAAyF;AACzF,cAAc,kBAAkB,CAAA;AAChC,OAAO,EAAE,YAAY,EAAE,eAAe,EAAE,YAAY,EAAgD,MAAM,2BAA2B,CAAA;AACrI,OAAO,EAAE,YAAY,EAAiE,MAAM,2BAA2B,CAAA"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/convex/index.ts"],"names":[],"mappings":"AAAA,iFAAiF;AACjF,OAAO,EAAE,YAAY,EAAE,MAAM,aAAa,CAAA;AAC1C,OAAO,EAAE,iBAAiB,EAAE,MAAM,YAAY,CAAA;AAC9C,OAAO,EAAE,eAAe,EAAE,kBAAkB,EAAE,aAAa,EAAgF,MAAM,gBAAgB,CAAA;AAEjK,yFAAyF;AACzF,cAAc,kBAAkB,CAAA;AAChC,OAAO,EAAE,YAAY,EAAE,eAAe,EAAE,YAAY,EAAgD,MAAM,2BAA2B,CAAA;AACrI,OAAO,EAAE,YAAY,EAAiE,MAAM,2BAA2B,CAAA"}
@@ -334,5 +334,17 @@ export declare const systemTables: {
334
334
  }, "required", "catalogVersion" | "key" | "registeredAt">, {
335
335
  by_key: ["key", "_creationTime"];
336
336
  }, {}, {}>;
337
+ /** "View as role": one row per Super previewing a role (key = user ID). */
338
+ roleViews: import("convex/server").TableDefinition<import("convex/values").VObject<{
339
+ key: string;
340
+ roleId: string;
341
+ startedAt: number;
342
+ }, {
343
+ key: import("convex/values").VString<string, "required">;
344
+ roleId: import("convex/values").VString<string, "required">;
345
+ startedAt: import("convex/values").VFloat64<number, "required">;
346
+ }, "required", "key" | "roleId" | "startedAt">, {
347
+ by_key: ["key", "_creationTime"];
348
+ }, {}, {}>;
337
349
  };
338
350
  //# sourceMappingURL=schema.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"schema.d.ts","sourceRoot":"","sources":["../../src/convex/schema.ts"],"names":[],"mappings":"AAKA;;;;;;;;;GASG;AACH,eAAO,MAAM,YAAY;IACvB,KAAK;;;;;;;;;;;;;;;;;;;;;;;;IAcL,UAAU;;;;;;;;;;;;;;;;IAIV,OAAO;;;;;;;;;;;;;;;;;;;IAUP,WAAW;;;;;;;;;;;;;;;;;;IAWX,QAAQ;;;;;;;;;;;;;;;;;;;;IAYR,KAAK;;;;;;;;;;;;;;;;;;;IAUL,SAAS;;;;;;;;;;;;;;;;;IAKT,WAAW;;;;;;;;;;;;;;;IAKX,YAAY;;;;;;;;;;;;;IAKZ,kBAAkB;;;;;;;;;;;;;IAKlB,gBAAgB;;;;;;;;;;;;IAIhB,OAAO;;;;;;;;;;;;;;;;;;;;;;;;;IAeP,OAAO;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;IAqBP,YAAY;;;;;;;;;;;;;;;;IAIZ,WAAW;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;IAoBX,gBAAgB;;;;;;;;;;;;;;;;;IAShB,UAAU;;;;;;;;;;;CACX,CAAA"}
1
+ {"version":3,"file":"schema.d.ts","sourceRoot":"","sources":["../../src/convex/schema.ts"],"names":[],"mappings":"AAKA;;;;;;;;;GASG;AACH,eAAO,MAAM,YAAY;IACvB,KAAK;;;;;;;;;;;;;;;;;;;;;;;;IAcL,UAAU;;;;;;;;;;;;;;;;IAIV,OAAO;;;;;;;;;;;;;;;;;;;IAUP,WAAW;;;;;;;;;;;;;;;;;;IAWX,QAAQ;;;;;;;;;;;;;;;;;;;;IAYR,KAAK;;;;;;;;;;;;;;;;;;;IAUL,SAAS;;;;;;;;;;;;;;;;;IAKT,WAAW;;;;;;;;;;;;;;;IAKX,YAAY;;;;;;;;;;;;;IAKZ,kBAAkB;;;;;;;;;;;;;IAKlB,gBAAgB;;;;;;;;;;;;IAIhB,OAAO;;;;;;;;;;;;;;;;;;;;;;;;;IAeP,OAAO;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;IAqBP,YAAY;;;;;;;;;;;;;;;;IAIZ,WAAW;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;IAoBX,gBAAgB;;;;;;;;;;;;;;;;;IAShB,UAAU;;;;;;;;;;;IAEV,2EAA2E;IAC3E,SAAS;;;;;;;;;;;CACV,CAAA"}
@@ -151,5 +151,7 @@ export const systemTables = {
151
151
  result: v.optional(v.any()),
152
152
  }).index("by_key", ["key"]),
153
153
  systemMeta: defineTable({ key: v.string(), catalogVersion: v.string(), registeredAt: v.number() }).index("by_key", ["key"]),
154
+ /** "View as role": one row per Super previewing a role (key = user ID). */
155
+ roleViews: defineTable({ key: v.string(), roleId: v.string(), startedAt: v.number() }).index("by_key", ["key"]),
154
156
  };
155
157
  //# sourceMappingURL=schema.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"schema.js","sourceRoot":"","sources":["../../src/convex/schema.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"schema.js","sourceRoot":"","sources":["../../src/convex/schema.ts"],"names":[],"mappings":"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"}
@@ -41,7 +41,20 @@ export declare function rehydrateActor(sys: SystemContext, ref: ActorRef): Promi
41
41
  * A DB role named "Super" grants nothing.
42
42
  */
43
43
  export declare function isSuperUser(sys: SystemContext, user: UserRow | null | undefined): boolean;
44
+ /**
45
+ * The role a Super is previewing ("view as role"), or null. Only a real Super
46
+ * can have one; an archived or deleted role ends the preview.
47
+ */
48
+ export declare function activeRoleView(sys: SystemContext, user: UserRow | null | undefined): Promise<string | null>;
49
+ /** Super with Super rights in effect: false while previewing a role. */
50
+ export declare function isEffectiveSuperUser(sys: SystemContext, user: UserRow | null | undefined): Promise<boolean>;
51
+ /**
52
+ * Whether the actor acts as Super right now. A Super previewing a role does
53
+ * not: every check then treats them as a holder of that role.
54
+ */
44
55
  export declare function isSuperActor(sys: SystemContext, actor: Actor | null): Promise<boolean>;
56
+ /** Super by account and deployment list, ignoring a role preview (to start or stop one). */
57
+ export declare function isRealSuperActor(sys: SystemContext, actor: Actor | null): Promise<boolean>;
45
58
  export type DenyReason = "unauthenticated" | "unknown_permission" | "unknown_module" | "module_disabled" | "account_inactive" | "not_granted" | "key_inactive" | "owner_inactive" | "owner_not_granted" | "human_only" | "evaluation_error";
46
59
  export type GrantReason = "granted" | "super";
47
60
  export interface GrantPath {
@@ -1 +1 @@
1
- {"version":3,"file":"access.d.ts","sourceRoot":"","sources":["../../src/core/access.ts"],"names":[],"mappings":"AAAA,OAAO,EAAa,WAAW,EAAmB,MAAM,aAAa,CAAA;AAErE,OAAO,EAAkB,KAAK,aAAa,EAAE,MAAM,cAAc,CAAA;AACjE,OAAO,EAAW,KAAK,SAAS,EAAE,KAAK,SAAS,EAAE,KAAK,OAAO,EAAE,MAAM,YAAY,CAAA;AAKlF,MAAM,WAAW,SAAS;IAAG,IAAI,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,MAAM,CAAA;CAAE;AAC3D,MAAM,WAAW,UAAU;IAAG,IAAI,EAAE,OAAO,CAAC;IAAC,QAAQ,EAAE,MAAM,CAAC;IAAC,OAAO,EAAE,MAAM,CAAA;CAAE;AAChF,MAAM,MAAM,KAAK,GAAG,SAAS,GAAG,UAAU,CAAA;AAE1C,sFAAsF;AACtF,MAAM,MAAM,QAAQ,GAAG;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,MAAM,CAAA;CAAE,GAAG;IAAE,IAAI,EAAE,OAAO,CAAC;IAAC,QAAQ,EAAE,MAAM,CAAA;CAAE,CAAA;AAE7F,oEAAoE;AACpE,MAAM,WAAW,gBAAgB;IAC/B,QAAQ,EAAE,MAAM,CAAA;IAChB,OAAO,EAAE,MAAM,CAAA;IACf,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,aAAa,CAAC,EAAE,OAAO,CAAA;CACxB;AAED,eAAO,MAAM,UAAU,MAAO,KAAK,KAAG,QAC4D,CAAA;AAElG,wBAAsB,gBAAgB,CAAC,GAAG,EAAE,aAAa,EAAE,QAAQ,EAAE,gBAAgB,GAAG,IAAI,GAAG,SAAS,GAAG,OAAO,CAAC,SAAS,GAAG,IAAI,CAAC,CAInI;AAED,eAAO,MAAM,eAAe,QAAgD,CAAA;AAE5E,wBAAsB,UAAU,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAE7D;AAED,wBAAgB,YAAY,CAAC,GAAG,EAAE,SAAS,EAAE,GAAG,EAAE,MAAM,GAAG,QAAQ,GAAG,SAAS,GAAG,SAAS,CAI1F;AAED,4FAA4F;AAC5F,wBAAsB,kBAAkB,CAAC,GAAG,EAAE,aAAa,EAAE,GAAG,EAAE,MAAM,GAAG,IAAI,GAAG,SAAS,GAAG,OAAO,CAAC,UAAU,GAAG,IAAI,CAAC,CASvH;AAED,gGAAgG;AAChG,wBAAsB,cAAc,CAAC,GAAG,EAAE,aAAa,EAAE,GAAG,EAAE,QAAQ,GAAG,OAAO,CAAC,KAAK,GAAG,IAAI,CAAC,CAQ7F;AAED;;;;GAIG;AACH,wBAAgB,WAAW,CAAC,GAAG,EAAE,aAAa,EAAE,IAAI,EAAE,OAAO,GAAG,IAAI,GAAG,SAAS,GAAG,OAAO,CAEzF;AAED,wBAAsB,YAAY,CAAC,GAAG,EAAE,aAAa,EAAE,KAAK,EAAE,KAAK,GAAG,IAAI,GAAG,OAAO,CAAC,OAAO,CAAC,CAG5F;AAID,MAAM,MAAM,UAAU,GAClB,iBAAiB,GACjB,oBAAoB,GACpB,gBAAgB,GAChB,iBAAiB,GACjB,kBAAkB,GAClB,aAAa,GACb,cAAc,GACd,gBAAgB,GAChB,mBAAmB,GACnB,YAAY,GACZ,kBAAkB,CAAA;AAEtB,MAAM,MAAM,WAAW,GAAG,SAAS,GAAG,OAAO,CAAA;AAE7C,MAAM,WAAW,SAAS;IAAG,MAAM,EAAE,MAAM,CAAC;IAAC,SAAS,EAAE,MAAM,CAAA;CAAE;AAEhE,MAAM,WAAW,QAAQ;IACvB,OAAO,EAAE,OAAO,CAAA;IAChB,UAAU,EAAE,MAAM,CAAA;IAClB,MAAM,EAAE,UAAU,GAAG,WAAW,CAAA;IAChC,QAAQ,CAAC,EAAE,MAAM,CAAA;IACjB,yEAAyE;IACzE,KAAK,CAAC,EAAE,SAAS,EAAE,CAAA;CACpB;AAKD,wBAAgB,eAAe,CAAC,GAAG,EAAE,aAAa,EAAE,GAAG,EAAE,SAAS,GAAG,IAAI,GAAG,OAAO,CAGlF;AAMD,KAAK,OAAO,GAAG;IAAE,MAAM,EAAE,MAAM,CAAA;CAAE,GAAG;IAAE,QAAQ,EAAE,MAAM,CAAA;CAAE,CAAA;AAExD,iGAAiG;AACjG,wBAAsB,WAAW,CAAC,GAAG,EAAE,aAAa,EAAE,OAAO,EAAE,OAAO,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC,CAWzF;AAED;;;GAGG;AACH,wBAAsB,UAAU,CAAC,GAAG,EAAE,aAAa,EAAE,OAAO,EAAE,OAAO,EAAE,UAAU,EAAE,MAAM,GAAG,OAAO,CAAC,SAAS,EAAE,CAAC,CAc/G;AAoCD,sDAAsD;AACtD,wBAAsB,MAAM,CAAC,GAAG,EAAE,aAAa,EAAE,KAAK,EAAE,KAAK,GAAG,IAAI,EAAE,UAAU,EAAE,MAAM,GAAG,OAAO,CAAC,QAAQ,CAAC,CAO3G;AAED,+EAA+E;AAC/E,wBAAsB,iBAAiB,CAAC,GAAG,EAAE,aAAa,EAAE,KAAK,EAAE,KAAK,GAAG,IAAI,EAAE,UAAU,EAAE,MAAM,GAAG,OAAO,CAAC,QAAQ,CAAC,CAOtH;AAED,wBAAgB,YAAY,CAAC,CAAC,SAAS,KAAK,EAAE,GAAG,EAAE,aAAa,EAAE,KAAK,EAAE,CAAC,GAAG,IAAI,GAAG,CAAC,CAKpF;AAED,wBAAgB,YAAY,CAAC,GAAG,EAAE,aAAa,EAAE,KAAK,EAAE,KAAK,GAAG,IAAI,GAAG,SAAS,CAQ/E;AAED,wDAAwD;AACxD,wBAAsB,YAAY,CAAC,GAAG,EAAE,aAAa,EAAE,KAAK,EAAE,KAAK,GAAG,IAAI,GAAG,OAAO,CAAC,SAAS,CAAC,CAQ9F;AAID,kGAAkG;AAClG,wBAAsB,kBAAkB,CAAC,GAAG,EAAE,aAAa,EAAE,OAAO,EAAE,QAAQ,CAAC,MAAM,CAAC,GAAG,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,CAU5G;AAED,wBAAsB,oBAAoB,CAAC,GAAG,EAAE,aAAa,EAAE,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,CAWtG;AAED;;;;GAIG;AACH,wBAAsB,YAAY,CAAC,GAAG,EAAE,aAAa,EAAE,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,CAQ3F;AAED,qFAAqF;AACrF,wBAAsB,oBAAoB,CAAC,GAAG,EAAE,aAAa,EAAE,KAAK,EAAE,KAAK,GAAG,IAAI,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC,CAOrG;AAED,6EAA6E;AAC7E,wBAAsB,cAAc,CAAC,GAAG,EAAE,aAAa,EAAE,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,CAM7F;AAED,eAAO,MAAM,WAAW,UAAW,WAAW,CAAC,MAAM,CAAC,UAAU,MAAM,YAAmD,CAAA;AAEzH,wBAAgB,aAAa,CAAC,CAAC,SAAS,WAAW,EAAE,GAAG,EAAE,aAAa,EAAE,CAAC,EAAE,CAAC,GAAG,CAAC,CAGhF"}
1
+ {"version":3,"file":"access.d.ts","sourceRoot":"","sources":["../../src/core/access.ts"],"names":[],"mappings":"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"}
@@ -54,7 +54,34 @@ export async function rehydrateActor(sys, ref) {
54
54
  export function isSuperUser(sys, user) {
55
55
  return !!user && user.status === "active" && user.emailVerified && sys.superEmails.has(normalizeEmail(user.email));
56
56
  }
57
+ /**
58
+ * The role a Super is previewing ("view as role"), or null. Only a real Super
59
+ * can have one; an archived or deleted role ends the preview.
60
+ */
61
+ export async function activeRoleView(sys, user) {
62
+ if (!user || !isSuperUser(sys, user))
63
+ return null;
64
+ const view = await sys.store.get("roleViews", user.key);
65
+ if (!view)
66
+ return null;
67
+ const role = await sys.store.get("roles", view.roleId);
68
+ return role && !role.archived ? view.roleId : null;
69
+ }
70
+ /** Super with Super rights in effect: false while previewing a role. */
71
+ export async function isEffectiveSuperUser(sys, user) {
72
+ return isSuperUser(sys, user) && !(await activeRoleView(sys, user));
73
+ }
74
+ /**
75
+ * Whether the actor acts as Super right now. A Super previewing a role does
76
+ * not: every check then treats them as a holder of that role.
77
+ */
57
78
  export async function isSuperActor(sys, actor) {
79
+ if (!actor || actor.kind !== "user")
80
+ return false;
81
+ return isEffectiveSuperUser(sys, await sys.store.get("users", actor.userId));
82
+ }
83
+ /** Super by account and deployment list, ignoring a role preview (to start or stop one). */
84
+ export async function isRealSuperActor(sys, actor) {
58
85
  if (!actor || actor.kind !== "user")
59
86
  return false;
60
87
  return isSuperUser(sys, await sys.store.get("users", actor.userId));
@@ -70,9 +97,15 @@ function implicitRoleIds(sys) {
70
97
  }
71
98
  /** Roles currently held by a grantee (excluding archived). Includes implicit roles for users. */
72
99
  export async function heldRoleIds(sys, grantee) {
73
- const ids = "userId" in grantee
74
- ? [...(await sys.store.findBy("userRoles", "userId", grantee.userId)).map((r) => r.roleId), ...implicitRoleIds(sys)]
75
- : (await sys.store.findBy("apiKeyRoles", "apiKeyId", grantee.apiKeyId)).map((r) => r.roleId);
100
+ let ids;
101
+ if ("userId" in grantee) {
102
+ // A Super previewing a role holds exactly that role (plus implicit ones).
103
+ const view = await activeRoleView(sys, await sys.store.get("users", grantee.userId));
104
+ ids = [...(view ? [view] : (await sys.store.findBy("userRoles", "userId", grantee.userId)).map((r) => r.roleId)), ...implicitRoleIds(sys)];
105
+ }
106
+ else {
107
+ ids = (await sys.store.findBy("apiKeyRoles", "apiKeyId", grantee.apiKeyId)).map((r) => r.roleId);
108
+ }
76
109
  const out = [];
77
110
  for (const id of new Set(ids)) {
78
111
  const role = await sys.store.get("roles", id);
@@ -119,8 +152,9 @@ async function decideUnsafe(sys, actor, permission) {
119
152
  const user = await sys.store.get("users", actor.userId);
120
153
  if (!user || user.status !== "active")
121
154
  return deny(permission, "account_inactive", moduleId);
122
- // Active Super may use every registered module and permission, including disabled modules.
123
- if (isSuperUser(sys, user))
155
+ // Active Super may use every registered module and permission, including disabled
156
+ // modules, unless previewing a role: then the role's grants below apply.
157
+ if (await isEffectiveSuperUser(sys, user))
124
158
  return { allowed: true, permission, reason: "super", moduleId };
125
159
  if (!isModuleEnabled(sys, moduleRow))
126
160
  return deny(permission, "module_disabled", moduleId);
@@ -128,7 +162,8 @@ async function decideUnsafe(sys, actor, permission) {
128
162
  return paths.length ? { allowed: true, permission, reason: "granted", moduleId, paths } : deny(permission, "not_granted", moduleId);
129
163
  }
130
164
  // Agent: active key, active owner, enabled module (no Super exception),
131
- // permission through key roles AND the owner's current permission.
165
+ // permission through key roles AND the owner's current permission. The owner's
166
+ // real Super status counts here: a role preview never breaks their agents.
132
167
  const key = await sys.store.get("apiKeys", actor.apiKeyId);
133
168
  if (!key || key.ownerId !== actor.ownerId || apiKeyStatus(key, sys.now()) !== "active")
134
169
  return deny(permission, "key_inactive", moduleId);
@@ -232,7 +267,7 @@ export async function entitlements(sys, userId) {
232
267
  const user = await sys.store.get("users", userId);
233
268
  if (!user || user.status !== "active")
234
269
  return new Set();
235
- if (isSuperUser(sys, user)) {
270
+ if (await isEffectiveSuperUser(sys, user)) {
236
271
  const rows = await sys.store.all("permissions");
237
272
  return new Set(rows.filter((r) => r.status === "active" && sys.def.catalog.permissions.has(r.key)).map((r) => r.key));
238
273
  }