@oimlsmart/platform-server 0.1.0 → 0.1.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.
@@ -0,0 +1,28 @@
1
+ -- Migration 0017 — the org-member DATA CONE (TODO.identity-features/09,
2
+ -- wave A). Every org membership gains a nullable cone: the org
3
+ -- administrator's answer to "what can this member see and do" —
4
+ -- org-wide (the default; every existing membership keeps it SILENTLY,
5
+ -- NULL reads as org-wide) / assigned (the member sees the org's rows
6
+ -- only where NAMED — the operator on the test run, the assignment's
7
+ -- performer, the engagement's inquirer) / read-only (the orthogonal
8
+ -- modifier, composable: the member reads per the scope, the write gate
9
+ -- refuses them). The canonical spellings: NULL | 'assigned' |
10
+ -- 'read-only' | 'assigned+read-only' (the kernel's parseOrgMemberCone
11
+ -- owns the grammar; a malformed cell fails CLOSED — the narrowest cone,
12
+ -- never a silent re-widen).
13
+ --
14
+ -- EXPAND-ONLY, as every file in this set: a new nullable column, never
15
+ -- a renumber, never a rewrite — wrangler keys the live registry's
16
+ -- bookkeeping on the file name.
17
+ --
18
+ -- THE MONOREPO MIRROR: this file is authored HERE (this repo owns the
19
+ -- live D1 since the wave-03 cutover); the byte-identical mirror in the
20
+ -- smart monorepo's browser/server/db/migrations/ + the kernel's
21
+ -- schema.sql end-state land as the coordinator's follow-up in the
22
+ -- kernel-extraction wave (agent-585's re-home of packages/platform-
23
+ -- server). Until then the kernel's defensive ensures (the
24
+ -- migrateAuthTables / ensureMembershipSupport posture) grow the column
25
+ -- on the platform's dev/test stores, and the byte-identity tripwire
26
+ -- (src/__tests__/id-migrations-ssot.test.ts) carries this file as a
27
+ -- dated, wave-referenced local-only allowance.
28
+ ALTER TABLE org_memberships ADD COLUMN cone TEXT;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@oimlsmart/platform-server",
3
- "version": "0.1.0",
3
+ "version": "0.1.1",
4
4
  "description": "The OIML SMART platform server kernel: the store seam (ServerStore + the D1 and SQLite implementations), the canonical D1 migration set both deployments apply, the instance profile, the mailer, the RBAC map, the OIDC/OAuth client cones, and the shared role/permission vocabulary. Consumed by the smart monorepo (browser/) and the identity service.",
5
5
  "type": "module",
6
6
  "repository": {
@@ -522,6 +522,12 @@ CREATE TABLE IF NOT EXISTS org_memberships (
522
522
  activated_at TEXT,
523
523
  disabled_at TEXT,
524
524
  disabled_by TEXT,
525
+ -- TODO.identity-features/09 wave A — the org-member DATA CONE
526
+ -- (migration 0017): NULL (org-wide, the default) | 'assigned' |
527
+ -- 'read-only' | 'assigned+read-only'; the kernel's
528
+ -- parseOrgMemberCone owns the grammar; a malformed cell fails
529
+ -- CLOSED to the narrowest cone.
530
+ cone TEXT,
525
531
  UNIQUE (user_id, org_id)
526
532
  );
527
533
  CREATE INDEX IF NOT EXISTS idx_org_memberships_org ON org_memberships (org_id, state);