@objectstack/cli 6.9.0 → 7.1.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.
@@ -17,6 +17,10 @@ export default class Dev extends Command {
17
17
  'database-driver': import("@oclif/core/interfaces").OptionFlag<string | undefined, import("@oclif/core/interfaces").CustomOptions>;
18
18
  'database-auth-token': import("@oclif/core/interfaces").OptionFlag<string | undefined, import("@oclif/core/interfaces").CustomOptions>;
19
19
  'auth-secret': import("@oclif/core/interfaces").OptionFlag<string | undefined, import("@oclif/core/interfaces").CustomOptions>;
20
+ fresh: import("@oclif/core/interfaces").BooleanFlag<boolean>;
21
+ 'seed-admin': import("@oclif/core/interfaces").BooleanFlag<boolean>;
22
+ 'admin-email': import("@oclif/core/interfaces").OptionFlag<string, import("@oclif/core/interfaces").CustomOptions>;
23
+ 'admin-password': import("@oclif/core/interfaces").OptionFlag<string, import("@oclif/core/interfaces").CustomOptions>;
20
24
  };
21
25
  run(): Promise<void>;
22
26
  /**
@@ -33,5 +37,15 @@ export default class Dev extends Command {
33
37
  * The watcher runs in this parent process; the serve child stays untouched.
34
38
  */
35
39
  private startWatchRecompile;
40
+ /**
41
+ * Poll `/api/v1/health` until 200, then POST `/api/v1/auth/sign-up/email`
42
+ * to provision an admin account. Best-effort: any failure is logged
43
+ * but does not bring down the dev server.
44
+ *
45
+ * Pairs naturally with `--fresh`: an ephemeral DB has zero users, so
46
+ * the first sign-up is automatically the platform admin (promoted by
47
+ * `bootstrapPlatformAdmin` in @objectstack/plugin-security).
48
+ */
49
+ private seedAdminAccount;
36
50
  }
37
51
  //# sourceMappingURL=dev.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"dev.d.ts","sourceRoot":"","sources":["../../src/commands/dev.ts"],"names":[],"mappings":"AAEA,OAAO,EAAQ,OAAO,EAAS,MAAM,aAAa,CAAC;AAQnD,MAAM,CAAC,OAAO,OAAO,GAAI,SAAQ,OAAO;IACtC,OAAgB,WAAW,SAA4C;IAEvE,OAAgB,IAAI;;MAElB;IAEF,OAAgB,KAAK;;;;;;;;;;;;;MAwCnB;IAEI,GAAG,IAAI,OAAO,CAAC,IAAI,CAAC;IAqJ1B;;;;;;;;;;;;OAYG;IACH,OAAO,CAAC,mBAAmB;CA6F5B"}
1
+ {"version":3,"file":"dev.d.ts","sourceRoot":"","sources":["../../src/commands/dev.ts"],"names":[],"mappings":"AAEA,OAAO,EAAQ,OAAO,EAAS,MAAM,aAAa,CAAC;AASnD,MAAM,CAAC,OAAO,OAAO,GAAI,SAAQ,OAAO;IACtC,OAAgB,WAAW,SAA4C;IAEvE,OAAgB,IAAI;;MAElB;IAEF,OAAgB,KAAK;;;;;;;;;;;;;;;;;MA8DnB;IAEI,GAAG,IAAI,OAAO,CAAC,IAAI,CAAC;IA+L1B;;;;;;;;;;;;OAYG;IACH,OAAO,CAAC,mBAAmB;IA8F3B;;;;;;;;OAQG;YACW,gBAAgB;CA+C/B"}
@@ -4,6 +4,7 @@ import chalk from 'chalk';
4
4
  import { spawnSync, spawn } from 'child_process';
5
5
  import dotenvFlow from 'dotenv-flow';
6
6
  import fs from 'fs';
7
+ import os from 'os';
7
8
  import path from 'path';
8
9
  import { printHeader, printKV, printStep, printError } from '../utils/format.js';
9
10
  export default class Dev extends Command {
@@ -50,6 +51,27 @@ export default class Dev extends Command {
50
51
  'auth-secret': Flags.string({
51
52
  description: 'Secret for @objectstack/plugin-auth (overrides $AUTH_SECRET; dev mode injects an insecure default if neither is set)',
52
53
  }),
54
+ // ── Ephemeral / fresh-environment helpers ────────────────────────
55
+ // `--fresh` creates an isolated tempdir for OS_HOME / DB / uploads
56
+ // so every run starts from a clean slate. Combine with `--seed-admin`
57
+ // (default-on when --fresh) to also provision a logged-in admin
58
+ // account, so backend debugging never blocks on first-run wizards.
59
+ fresh: Flags.boolean({
60
+ description: 'Start with an ephemeral OS_HOME under the OS tempdir (clean DB, uploads, storage); auto-deletes on exit. Implies --seed-admin unless --no-seed-admin is given.',
61
+ default: false,
62
+ }),
63
+ 'seed-admin': Flags.boolean({
64
+ description: 'After the server is ready, POST /api/v1/auth/sign-up/email to seed an admin account. Default: on when --fresh.',
65
+ allowNo: true,
66
+ }),
67
+ 'admin-email': Flags.string({
68
+ description: 'Email for the seeded admin account.',
69
+ default: 'admin@dev.local',
70
+ }),
71
+ 'admin-password': Flags.string({
72
+ description: 'Password for the seeded admin account (min 8 chars).',
73
+ default: 'admin12345',
74
+ }),
53
75
  };
54
76
  async run() {
55
77
  const { args, flags } = await this.parse(Dev);
@@ -95,6 +117,31 @@ export default class Dev extends Command {
95
117
  }
96
118
  printStep('Starting dev server (local mode)...');
97
119
  const environmentId = flags['environment-id'] ?? process.env.OS_ENVIRONMENT_ID ?? 'env_local';
120
+ // ── --fresh: ephemeral OS_HOME under the OS tempdir ─────────────
121
+ // Creates a unique scratch dir that owns ALL persistent state for
122
+ // this run: the SQLite DB (via OS_HOME → <home>/data/...), the
123
+ // storage-service uploads root (OS_STORAGE_ROOT), and any other
124
+ // state plugins keyed off OS_HOME. Auto-deleted on exit.
125
+ let freshHome;
126
+ let freshDbUrl;
127
+ let freshStorageRoot;
128
+ if (flags.fresh) {
129
+ freshHome = fs.mkdtempSync(path.join(os.tmpdir(), 'objectstack-dev-'));
130
+ fs.mkdirSync(path.join(freshHome, 'data'), { recursive: true });
131
+ freshDbUrl = `file:${path.join(freshHome, 'data', 'dev.db')}`;
132
+ freshStorageRoot = path.join(freshHome, 'uploads');
133
+ fs.mkdirSync(freshStorageRoot, { recursive: true });
134
+ printKV('Fresh OS_HOME', freshHome, '🧪');
135
+ const cleanup = () => {
136
+ try {
137
+ fs.rmSync(freshHome, { recursive: true, force: true });
138
+ }
139
+ catch { /* noop */ }
140
+ };
141
+ process.on('exit', cleanup);
142
+ process.on('SIGINT', () => { cleanup(); process.exit(130); });
143
+ process.on('SIGTERM', () => { cleanup(); process.exit(143); });
144
+ }
98
145
  // NOTE: Do NOT set NODE_ENV='development' here. Oclif's tsx-based
99
146
  // TypeScript source loader (activated when NODE_ENV is 'test' or
100
147
  // 'development') currently mis-handles `.json` requires inside
@@ -104,19 +151,22 @@ export default class Dev extends Command {
104
151
  // flag below already opts the serve command into dev semantics,
105
152
  // and serve.ts will set NODE_ENV='development' internally before
106
153
  // any runtime modules are imported.
154
+ const effectiveDb = flags.database ?? freshDbUrl;
107
155
  const localEnv = {
108
156
  ...process.env,
109
157
  OS_ENVIRONMENT_ID: environmentId,
110
158
  OS_ARTIFACT_PATH: artifactPath,
111
- ...(flags.database ? { OS_DATABASE_URL: flags.database } : {}),
159
+ ...(freshHome ? { OS_HOME: freshHome } : {}),
160
+ ...(freshStorageRoot ? { OS_STORAGE_ROOT: freshStorageRoot } : {}),
161
+ ...(effectiveDb ? { OS_DATABASE_URL: effectiveDb } : {}),
112
162
  ...(flags['database-driver'] ? { OS_DATABASE_DRIVER: flags['database-driver'] } : {}),
113
163
  ...(flags['database-auth-token'] ? { OS_DATABASE_AUTH_TOKEN: flags['database-auth-token'] } : {}),
114
164
  ...(flags['auth-secret'] ? { AUTH_SECRET: flags['auth-secret'] } : {}),
115
165
  };
116
166
  printKV('Environment ID', environmentId, '🎯');
117
167
  printKV('Artifact', isUrl ? artifactPath : path.relative(process.cwd(), artifactPath), '📦');
118
- if (flags.database)
119
- printKV('Database', redactDbUrl(flags.database), '🗄️');
168
+ if (effectiveDb)
169
+ printKV('Database', redactDbUrl(effectiveDb), '🗄️');
120
170
  const port = flags.port ?? process.env.PORT;
121
171
  const binPath = process.argv[1];
122
172
  const serveChild = spawn(process.execPath, [
@@ -128,6 +178,20 @@ export default class Dev extends Command {
128
178
  ...(flags.verbose ? ['--verbose'] : []),
129
179
  ...(flags.preset ? ['--preset', flags.preset] : []),
130
180
  ], { stdio: 'inherit', env: localEnv });
181
+ // ── Seed admin account after the server is ready ────────────────
182
+ // `--seed-admin` defaults to ON when `--fresh` is set; otherwise
183
+ // OFF (so we don't surprise long-lived dev DBs with extra users).
184
+ // Uses better-auth's public sign-up endpoint, which the dev-mode
185
+ // bootstrap bypass (auth-manager.ts) lets through even when
186
+ // OS_DISABLE_SIGNUP=true for the very first user.
187
+ const seedAdmin = flags['seed-admin'] ?? flags.fresh;
188
+ if (seedAdmin) {
189
+ void this.seedAdminAccount({
190
+ port: port ?? '3000',
191
+ email: flags['admin-email'],
192
+ password: flags['admin-password'],
193
+ });
194
+ }
131
195
  // ── Watch-recompile loop ────────────────────────────────────────
132
196
  // When the agent edits an objectstack source file (config or
133
197
  // src/**), debounce-rebuild dist/objectstack.json. The server
@@ -279,6 +343,59 @@ export default class Dev extends Command {
279
343
  console.error(chalk.yellow(` ⚠ watch-recompile failed to start: ${e?.message ?? e}`));
280
344
  });
281
345
  }
346
+ /**
347
+ * Poll `/api/v1/health` until 200, then POST `/api/v1/auth/sign-up/email`
348
+ * to provision an admin account. Best-effort: any failure is logged
349
+ * but does not bring down the dev server.
350
+ *
351
+ * Pairs naturally with `--fresh`: an ephemeral DB has zero users, so
352
+ * the first sign-up is automatically the platform admin (promoted by
353
+ * `bootstrapPlatformAdmin` in @objectstack/plugin-security).
354
+ */
355
+ async seedAdminAccount(opts) {
356
+ const base = `http://localhost:${opts.port}`;
357
+ const deadline = Date.now() + 30_000;
358
+ while (Date.now() < deadline) {
359
+ try {
360
+ const r = await fetch(`${base}/api/v1/health`);
361
+ if (r.ok)
362
+ break;
363
+ }
364
+ catch { /* not ready */ }
365
+ await new Promise(r => setTimeout(r, 250));
366
+ }
367
+ try {
368
+ const r = await fetch(`${base}/api/v1/auth/sign-up/email`, {
369
+ method: 'POST',
370
+ headers: {
371
+ 'content-type': 'application/json',
372
+ // better-auth enforces a same-origin / trusted-origin check on
373
+ // POST. localhost is auto-trusted in dev (auth-manager.ts), but
374
+ // we still must send an Origin header for the check to fire.
375
+ 'origin': base,
376
+ },
377
+ body: JSON.stringify({
378
+ email: opts.email,
379
+ password: opts.password,
380
+ name: 'Dev Admin',
381
+ }),
382
+ });
383
+ if (r.ok) {
384
+ console.log(chalk.green(`\n🔑 Admin seeded: ${chalk.bold(opts.email)} / ${chalk.bold(opts.password)}`));
385
+ }
386
+ else if (r.status === 422 || r.status === 400) {
387
+ // User already exists — normal when reusing a non-fresh DB.
388
+ console.log(chalk.dim(` (admin ${opts.email} already exists — skipping seed)`));
389
+ }
390
+ else {
391
+ const body = await r.text().catch(() => '');
392
+ console.log(chalk.yellow(` ⚠ seed-admin failed (HTTP ${r.status}): ${body.slice(0, 200)}`));
393
+ }
394
+ }
395
+ catch (e) {
396
+ console.log(chalk.yellow(` ⚠ seed-admin request failed: ${e?.message ?? e}`));
397
+ }
398
+ }
282
399
  }
283
400
  function redactDbUrl(url) {
284
401
  try {
@@ -1 +1 @@
1
- {"version":3,"file":"dev.js","sourceRoot":"","sources":["../../src/commands/dev.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"dev.js","sourceRoot":"","sources":["../../src/commands/dev.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"extract.d.ts","sourceRoot":"","sources":["../../../src/commands/i18n/extract.ts"],"names":[],"mappings":"AAIA,OAAO,EAAQ,OAAO,EAAS,MAAM,aAAa,CAAC;AAgBnD;;;;;;GAMG;AACH,MAAM,CAAC,OAAO,OAAO,WAAY,SAAQ,OAAO;IAC9C,OAAgB,WAAW,SACkH;IAE7I,OAAgB,QAAQ,WAMtB;IAEF,OAAgB,IAAI;;MAElB;IAEF,OAAgB,KAAK;;;;;;;;;;MAiCnB;IAEI,GAAG,IAAI,OAAO,CAAC,IAAI,CAAC;CA8F3B"}
1
+ {"version":3,"file":"extract.d.ts","sourceRoot":"","sources":["../../../src/commands/i18n/extract.ts"],"names":[],"mappings":"AAIA,OAAO,EAAQ,OAAO,EAAS,MAAM,aAAa,CAAC;AA2BnD;;;;;;GAMG;AACH,MAAM,CAAC,OAAO,OAAO,WAAY,SAAQ,OAAO;IAC9C,OAAgB,WAAW,SACkH;IAE7I,OAAgB,QAAQ,WAMtB;IAEF,OAAgB,IAAI;;MAElB;IAEF,OAAgB,KAAK;;;;;;;;;;MAiCnB;IAEI,GAAG,IAAI,OAAO,CAAC,IAAI,CAAC;CA8H3B"}
@@ -8,6 +8,19 @@ import { loadConfig } from '../../utils/config.js';
8
8
  import { printHeader, printSuccess, printError, printInfo, printStep, createTimer, } from '../../utils/format.js';
9
9
  import { extractTranslations, renderTranslationModule } from '../../utils/i18n-extract.js';
10
10
  const FILL_STRATEGIES = ['empty', 'default', 'todo'];
11
+ /** Count string-leaf entries under a nested object — used for reporting. */
12
+ function countLeaves(obj) {
13
+ if (!obj || typeof obj !== 'object')
14
+ return 0;
15
+ let n = 0;
16
+ for (const v of Object.values(obj)) {
17
+ if (typeof v === 'string')
18
+ n += 1;
19
+ else if (v && typeof v === 'object')
20
+ n += countLeaves(v);
21
+ }
22
+ return n;
23
+ }
11
24
  /**
12
25
  * `os i18n extract` — scaffold translation skeletons.
13
26
  *
@@ -86,10 +99,18 @@ export default class I18nExtract extends Command {
86
99
  });
87
100
  const localesEmitted = Object.keys(result.bundles);
88
101
  const objectsOnly = flags['objects-only'];
102
+ // Count metadataForms keys per locale (computed separately so we
103
+ // can show users an honest summary even when --objects-only).
104
+ const metadataFormsCounts = {};
105
+ for (const locale of localesEmitted) {
106
+ metadataFormsCounts[locale] = countLeaves(result.bundles[locale]?.metadataForms);
107
+ }
108
+ const anyMetadataForms = Object.values(metadataFormsCounts).some((n) => n > 0);
89
109
  if (flags.json) {
90
110
  console.log(JSON.stringify({
91
111
  totalExpected: result.totalExpected,
92
112
  counts: result.counts,
113
+ metadataFormsCounts,
93
114
  bundles: objectsOnly
94
115
  ? Object.fromEntries(localesEmitted.map((l) => [l, result.bundles[l].objects ?? {}]))
95
116
  : result.bundles,
@@ -103,19 +124,28 @@ export default class I18nExtract extends Command {
103
124
  for (const locale of localesEmitted) {
104
125
  const n = result.counts[locale];
105
126
  const tone = n === 0 ? chalk.green : chalk.yellow;
127
+ const mfN = metadataFormsCounts[locale] ?? 0;
128
+ const mfTail = mfN > 0 ? chalk.dim(` + ${mfN} metadataForms key(s)`) : '';
106
129
  console.log(` ${locale.padEnd(nameWidth)} ${tone(String(n).padStart(5))} key(s)` +
107
- chalk.dim(` (of ${result.totalExpected} expected)`));
130
+ chalk.dim(` (of ${result.totalExpected} expected)`) + mfTail);
108
131
  }
109
132
  console.log('');
110
133
  if (flags['dry-run'] || !flags.out) {
111
134
  for (const locale of localesEmitted) {
112
- if (result.counts[locale] === 0)
135
+ if (result.counts[locale] === 0 && metadataFormsCounts[locale] === 0)
113
136
  continue;
114
- console.log(chalk.dim(`── ${locale} ──`));
137
+ console.log(chalk.dim(`── ${locale} (objects) ──`));
115
138
  console.log(renderTranslationModule(result.bundles[locale], {
116
139
  locale,
117
140
  objectsOnly,
118
141
  }));
142
+ if (metadataFormsCounts[locale] > 0) {
143
+ console.log(chalk.dim(`── ${locale} (metadataForms) ──`));
144
+ console.log(renderTranslationModule(result.bundles[locale], {
145
+ locale,
146
+ kind: 'metadataForms',
147
+ }));
148
+ }
119
149
  }
120
150
  printInfo('Dry run — no files written (pass --out=<dir> to write).');
121
151
  return;
@@ -124,12 +154,21 @@ export default class I18nExtract extends Command {
124
154
  fs.mkdirSync(outDir, { recursive: true });
125
155
  let written = 0;
126
156
  for (const locale of localesEmitted) {
127
- if (result.counts[locale] === 0)
128
- continue;
129
- const file = path.join(outDir, `${locale}.objects.generated.ts`);
130
- fs.writeFileSync(file, renderTranslationModule(result.bundles[locale], { locale, objectsOnly }), 'utf8');
131
- written += 1;
132
- printInfo(`Wrote ${chalk.white(path.relative(process.cwd(), file))} (${result.counts[locale]} keys)`);
157
+ if (result.counts[locale] > 0) {
158
+ const file = path.join(outDir, `${locale}.objects.generated.ts`);
159
+ fs.writeFileSync(file, renderTranslationModule(result.bundles[locale], { locale, objectsOnly }), 'utf8');
160
+ written += 1;
161
+ printInfo(`Wrote ${chalk.white(path.relative(process.cwd(), file))} (${result.counts[locale]} keys)`);
162
+ }
163
+ if (metadataFormsCounts[locale] > 0) {
164
+ const file = path.join(outDir, `${locale}.metadata-forms.generated.ts`);
165
+ fs.writeFileSync(file, renderTranslationModule(result.bundles[locale], { locale, kind: 'metadataForms' }), 'utf8');
166
+ written += 1;
167
+ printInfo(`Wrote ${chalk.white(path.relative(process.cwd(), file))} (${metadataFormsCounts[locale]} keys)`);
168
+ }
169
+ }
170
+ if (!anyMetadataForms) {
171
+ printInfo('(no metadataForms keys discovered for these locales)');
133
172
  }
134
173
  console.log('');
135
174
  printSuccess(`Generated ${written} file(s) ${chalk.dim(`(${timer.display()})`)}`);
@@ -1 +1 @@
1
- {"version":3,"file":"extract.js","sourceRoot":"","sources":["../../../src/commands/i18n/extract.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"extract.js","sourceRoot":"","sources":["../../../src/commands/i18n/extract.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"serve.d.ts","sourceRoot":"","sources":["../../src/commands/serve.ts"],"names":[],"mappings":"AAEA,OAAO,EAAQ,OAAO,EAAS,MAAM,aAAa,CAAC;AA2InD,MAAM,CAAC,OAAO,OAAO,KAAM,SAAQ,OAAO;IACxC,OAAgB,WAAW,SAAkM;IAE7N,OAAgB,IAAI;;MAElB;IAEF,OAAgB,KAAK;;;;;;;;MAenB;IAEF;;;;;;;;;;;OAWG;IACH,MAAM,CAAC,QAAQ,CAAC,sBAAsB,EAAE,SAAS,MAAM,EAAE,CAEtD;IAEH;;;;OAIG;IACH,MAAM,CAAC,QAAQ,CAAC,YAAY,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,EAAE,CAAC,CAIpD;IAEI,GAAG,IAAI,OAAO,CAAC,IAAI,CAAC;CA65C3B"}
1
+ {"version":3,"file":"serve.d.ts","sourceRoot":"","sources":["../../src/commands/serve.ts"],"names":[],"mappings":"AAEA,OAAO,EAAQ,OAAO,EAAS,MAAM,aAAa,CAAC;AA2InD,MAAM,CAAC,OAAO,OAAO,KAAM,SAAQ,OAAO;IACxC,OAAgB,WAAW,SAAkM;IAE7N,OAAgB,IAAI;;MAElB;IAEF,OAAgB,KAAK;;;;;;;;MAenB;IAEF;;;;;;;;;;;OAWG;IACH,MAAM,CAAC,QAAQ,CAAC,sBAAsB,EAAE,SAAS,MAAM,EAAE,CAEtD;IAEH;;;;OAIG;IACH,MAAM,CAAC,QAAQ,CAAC,YAAY,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,EAAE,CAAC,CAIpD;IAEI,GAAG,IAAI,OAAO,CAAC,IAAI,CAAC;CA46C3B"}
@@ -556,24 +556,6 @@ export default class Serve extends Command {
556
556
  resolvedDriverLabel = 'SqlDriver(mysql2)';
557
557
  resolvedDatabaseUrl = databaseUrl;
558
558
  }
559
- else if (driverType === 'turso' || driverType === 'libsql') {
560
- let TursoDriver;
561
- try {
562
- ({ TursoDriver } = await import('@objectstack/driver-turso'));
563
- }
564
- catch (err) {
565
- throw new Error(`libsql/turso driver selected but @objectstack/driver-turso is not installed. ` +
566
- `Install it with: npm install @objectstack/driver-turso (or use a file: URL to default to better-sqlite3). ` +
567
- `(${err?.message ?? err})`);
568
- }
569
- await kernel.use(new DriverPlugin(new TursoDriver({
570
- url: databaseUrl ?? 'file:./local.db',
571
- authToken: process.env.OS_DATABASE_AUTH_TOKEN,
572
- })));
573
- trackPlugin('TursoDriver');
574
- resolvedDriverLabel = 'TursoDriver';
575
- resolvedDatabaseUrl = databaseUrl ?? 'file:./local.db';
576
- }
577
559
  else if (isDev) {
578
560
  // Default in dev: in-memory driver
579
561
  const { InMemoryDriver } = await import('@objectstack/driver-memory');
@@ -938,7 +920,26 @@ export default class Serve extends Command {
938
920
  console.warn(chalk.yellow(` ⚠ RuntimeConfigPlugin auto-inject failed: ${err?.message ?? err}`));
939
921
  }
940
922
  }
941
- // 5c. Auto-register AuthPlugin (and paired Security/Audit) when the
923
+ // 5c. Auto-register PlatformObjectsPlugin so platform-default
924
+ // translation bundles (Setup App + metadata-type configuration
925
+ // forms shipped by @objectstack/platform-objects) are contributed
926
+ // into the kernel's i18n service. Without this, Setup nav labels
927
+ // and metadata-admin form labels fall back to English literals
928
+ // even when Accept-Language requests another locale.
929
+ const hasPlatformObjectsPlugin = plugins.some((p) => p?.name === 'com.objectstack.platform-objects'
930
+ || p?.constructor?.name === 'PlatformObjectsPlugin');
931
+ if (!hasPlatformObjectsPlugin) {
932
+ try {
933
+ const platformPkg = '@objectstack/platform-objects/plugin';
934
+ const { PlatformObjectsPlugin } = await import(/* webpackIgnore: true */ platformPkg);
935
+ await kernel.use(new PlatformObjectsPlugin());
936
+ trackPlugin('PlatformObjects');
937
+ }
938
+ catch (err) {
939
+ console.warn(chalk.yellow(` ⚠ PlatformObjectsPlugin auto-inject failed: ${err?.message ?? err}`));
940
+ }
941
+ }
942
+ // 5d. Auto-register AuthPlugin (and paired Security/Audit) when the
942
943
  // 'auth' tier is enabled and no auth plugin is already configured.
943
944
  // The Account portal expects /api/v1/auth/* to be served by
944
945
  // better-auth via @objectstack/plugin-auth. Without this block,
@@ -1109,17 +1110,29 @@ export default class Serve extends Command {
1109
1110
  : undefined,
1110
1111
  }));
1111
1112
  trackPlugin('Auth');
1113
+ // Pair: OrgScopingPlugin (multi-tenant) — optional, must register BEFORE SecurityPlugin
1114
+ // OrgScopingPlugin provides `organization_id` auto-stamp, per-org
1115
+ // seed-replay, and default-org bootstrap. SecurityPlugin probes
1116
+ // the `org-scoping` service at start() time and conditionally
1117
+ // strips the wildcard `tenant_isolation` RLS when this plugin
1118
+ // is absent — so registration order matters.
1119
+ const multiTenant = String(process.env.OS_MULTI_TENANT ?? 'false').toLowerCase() !== 'false';
1120
+ if (multiTenant) {
1121
+ try {
1122
+ const orgScopingPkg = '@objectstack/plugin-org-scoping';
1123
+ const { OrgScopingPlugin } = await import(/* webpackIgnore: true */ orgScopingPkg);
1124
+ await kernel.use(new OrgScopingPlugin());
1125
+ trackPlugin('OrgScoping');
1126
+ }
1127
+ catch {
1128
+ // optional — multi-tenant mode requested but plugin not installed
1129
+ }
1130
+ }
1112
1131
  // Pair: SecurityPlugin (RBAC) — optional
1113
1132
  try {
1114
1133
  const securityPkg = '@objectstack/plugin-security';
1115
1134
  const { SecurityPlugin } = await import(/* webpackIgnore: true */ securityPkg);
1116
- // `OS_MULTI_TENANT=true` enables wildcard tenant_isolation
1117
- // RLS policies and the `organization_id` auto-injection on
1118
- // insert. Default is off so local `dev`/`start` runs seed
1119
- // demo data inline at boot without requiring an org —
1120
- // enable explicitly for cloud / multi-org deployments.
1121
- const multiTenant = String(process.env.OS_MULTI_TENANT ?? 'false').toLowerCase() !== 'false';
1122
- await kernel.use(new SecurityPlugin({ multiTenant }));
1135
+ await kernel.use(new SecurityPlugin());
1123
1136
  trackPlugin('Security');
1124
1137
  }
1125
1138
  catch {