@objectstack/cli 5.0.0 → 5.2.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.
@@ -19,6 +19,13 @@ export default class PackagePublish extends Command {
19
19
  install: import("@oclif/core/interfaces").BooleanFlag<boolean>;
20
20
  'seed-sample-data': import("@oclif/core/interfaces").BooleanFlag<boolean>;
21
21
  'pre-release': import("@oclif/core/interfaces").BooleanFlag<boolean>;
22
+ submit: import("@oclif/core/interfaces").BooleanFlag<boolean>;
23
+ 'auto-approve': import("@oclif/core/interfaces").BooleanFlag<boolean>;
24
+ readme: import("@oclif/core/interfaces").OptionFlag<string | undefined, import("@oclif/core/interfaces").CustomOptions>;
25
+ 'readme-file': import("@oclif/core/interfaces").OptionFlag<string | undefined, import("@oclif/core/interfaces").CustomOptions>;
26
+ 'icon-url': import("@oclif/core/interfaces").OptionFlag<string | undefined, import("@oclif/core/interfaces").CustomOptions>;
27
+ 'homepage-url': import("@oclif/core/interfaces").OptionFlag<string | undefined, import("@oclif/core/interfaces").CustomOptions>;
28
+ license: import("@oclif/core/interfaces").OptionFlag<string | undefined, import("@oclif/core/interfaces").CustomOptions>;
22
29
  note: import("@oclif/core/interfaces").OptionFlag<string | undefined, import("@oclif/core/interfaces").CustomOptions>;
23
30
  timeout: import("@oclif/core/interfaces").OptionFlag<number, import("@oclif/core/interfaces").CustomOptions>;
24
31
  };
@@ -1 +1 @@
1
- {"version":3,"file":"publish.d.ts","sourceRoot":"","sources":["../../../src/commands/package/publish.ts"],"names":[],"mappings":"AAsBA,OAAO,EAAQ,OAAO,EAAS,MAAM,aAAa,CAAC;AAiDnD,MAAM,CAAC,OAAO,OAAO,cAAe,SAAQ,OAAO;IACjD,OAAgB,WAAW,SACuE;IAElG,OAAgB,QAAQ,WAMtB;IAEF,OAAgB,IAAI;;MAKlB;IAEF,OAAgB,KAAK;;;;;;;;;;;;;;;;MA+DnB;IAEI,GAAG,IAAI,OAAO,CAAC,IAAI,CAAC;IA+I1B;;;OAGG;YACW,QAAQ;CAuCvB"}
1
+ {"version":3,"file":"publish.d.ts","sourceRoot":"","sources":["../../../src/commands/package/publish.ts"],"names":[],"mappings":"AAsBA,OAAO,EAAQ,OAAO,EAAS,MAAM,aAAa,CAAC;AAiDnD,MAAM,CAAC,OAAO,OAAO,cAAe,SAAQ,OAAO;IACjD,OAAgB,WAAW,SACuE;IAElG,OAAgB,QAAQ,WAMtB;IAEF,OAAgB,IAAI;;MAKlB;IAEF,OAAgB,KAAK;;;;;;;;;;;;;;;;;;;;;;;MA8FnB;IAEI,GAAG,IAAI,OAAO,CAAC,IAAI,CAAC;IAsN1B;;;OAGG;YACW,QAAQ;CAuCvB"}
@@ -133,6 +133,33 @@ export default class PackagePublish extends Command {
133
133
  description: 'Mark this version as a pre-release',
134
134
  default: false,
135
135
  }),
136
+ submit: Flags.boolean({
137
+ description: 'After publishing, submit the new version for marketplace review ' +
138
+ '(requires --visibility=marketplace and a complete listing).',
139
+ default: false,
140
+ }),
141
+ 'auto-approve': Flags.boolean({
142
+ description: 'Platform admin only: skip the review queue and publish straight to the ' +
143
+ 'marketplace catalog. Used by first-party CI / dogfood publishes.',
144
+ default: false,
145
+ }),
146
+ readme: Flags.string({
147
+ description: 'Inline marketplace README (markdown). Required for marketplace listings unless ' +
148
+ 'already stored on the package row. Mutually exclusive with --readme-file.',
149
+ }),
150
+ 'readme-file': Flags.string({
151
+ description: 'Path to a marketplace README file (markdown). Read at publish time.',
152
+ }),
153
+ 'icon-url': Flags.string({
154
+ description: 'Public http(s) icon URL shown in the marketplace catalog. Required for ' +
155
+ 'marketplace listings unless already stored on the package row.',
156
+ }),
157
+ 'homepage-url': Flags.string({
158
+ description: 'Public project / docs URL (optional, surfaced in the catalog).',
159
+ }),
160
+ license: Flags.string({
161
+ description: 'SPDX license identifier (e.g. Apache-2.0, MIT).',
162
+ }),
136
163
  note: Flags.string({
137
164
  char: 'n',
138
165
  description: 'Release notes (markdown ok)',
@@ -220,6 +247,33 @@ export default class PackagePublish extends Command {
220
247
  pkgBody.category = flags.category;
221
248
  if (flags.org)
222
249
  pkgBody.owner_org_id = flags.org;
250
+ if (flags['icon-url'])
251
+ pkgBody.icon_url = flags['icon-url'];
252
+ if (flags['homepage-url'])
253
+ pkgBody.homepage_url = flags['homepage-url'];
254
+ if (flags.license)
255
+ pkgBody.license = flags.license;
256
+ // Resolve readme: --readme wins, then --readme-file. Don't auto-discover
257
+ // a README.md in cwd — that often leaks dev notes into the catalog.
258
+ if (flags.readme && flags['readme-file']) {
259
+ printError('Pass either --readme or --readme-file, not both.');
260
+ this.exit(1);
261
+ return;
262
+ }
263
+ if (flags.readme) {
264
+ pkgBody.readme = flags.readme;
265
+ }
266
+ else if (flags['readme-file']) {
267
+ const readmePath = resolvePath(process.cwd(), flags['readme-file']);
268
+ try {
269
+ pkgBody.readme = await readFile(readmePath, 'utf-8');
270
+ }
271
+ catch (err) {
272
+ printError(`Cannot read --readme-file '${readmePath}': ${err.message}`);
273
+ this.exit(1);
274
+ return;
275
+ }
276
+ }
223
277
  const pkgRes = await this.postJson(`${baseUrl}/api/v1/cloud/packages`, pkgBody, token, flags.timeout);
224
278
  if (!pkgRes.ok) {
225
279
  printError(`Register package failed (${pkgRes.status}): ${pkgRes.error}`);
@@ -237,6 +291,10 @@ export default class PackagePublish extends Command {
237
291
  };
238
292
  if (flags.note)
239
293
  verBody.release_notes = flags.note;
294
+ if (flags.submit)
295
+ verBody.submit_for_review = true;
296
+ if (flags['auto-approve'])
297
+ verBody.auto_approve = true;
240
298
  const shouldInstall = flags.install && flags.env;
241
299
  if (shouldInstall) {
242
300
  verBody.install_env_id = flags.env;
@@ -248,10 +306,24 @@ export default class PackagePublish extends Command {
248
306
  const verRes = await this.postJson(`${baseUrl}/api/v1/cloud/packages/${encodeURIComponent(pkg.id)}/versions`, verBody, token, flags.timeout);
249
307
  if (!verRes.ok) {
250
308
  printError(`Publish version failed (${verRes.status}): ${verRes.error}`);
309
+ // 422 surfaces marketplace policy violations — show them so the author
310
+ // knows what to fix without crawling the server log.
311
+ const failViolations = Array.isArray(verRes.body?.violations) ? verRes.body.violations : [];
312
+ if (failViolations.length > 0) {
313
+ console.log('');
314
+ console.log(' Marketplace policy violations:');
315
+ for (const v of failViolations)
316
+ console.log(` • ${v}`);
317
+ console.log('');
318
+ console.log(' Fix the items above on the sys_package row (use --readme / --readme-file,\n' +
319
+ ' --icon-url, --description, --category) and re-run with --submit or --auto-approve.');
320
+ }
251
321
  this.exit(1);
252
322
  return;
253
323
  }
254
324
  const ver = verRes.body?.data ?? verRes.body;
325
+ const violations = Array.isArray(verRes.body?.violations) ? verRes.body.violations : [];
326
+ const warnings = Array.isArray(ver?.warnings) ? ver.warnings : [];
255
327
  console.log('');
256
328
  printSuccess('Package published');
257
329
  printKV(' Package', manifestId);
@@ -270,6 +342,37 @@ export default class PackagePublish extends Command {
270
342
  printKV(' Installation', String(ver.installation.installation_id ?? '—'));
271
343
  }
272
344
  printKV(' Server', baseUrl);
345
+ // Surface the listing state so authors know whether their package is
346
+ // public yet. With --submit it lands in pending_review; with
347
+ // --auto-approve it goes straight to approved (admins only).
348
+ if (ver?.listing_status) {
349
+ console.log('');
350
+ printKV(' Listing', String(ver.listing_status));
351
+ if (ver.listing_status === 'draft' && flags.visibility === 'marketplace') {
352
+ console.log('');
353
+ console.log(' Hint: visibility is marketplace but the version is still draft. Pass --submit on the\n' +
354
+ ' next publish (or POST /cloud/packages/:id/versions/:vid/submit) to request review.');
355
+ }
356
+ if (ver.listing_status === 'pending_review') {
357
+ console.log('');
358
+ console.log(' A platform admin will review this version and either approve or reject it.');
359
+ }
360
+ if (ver.listing_status === 'approved') {
361
+ console.log('');
362
+ console.log(' Version is live in the public marketplace catalog.');
363
+ }
364
+ }
365
+ if (warnings.length > 0) {
366
+ console.log('');
367
+ for (const w of warnings)
368
+ console.log(` ⚠️ ${w}`);
369
+ }
370
+ if (violations.length > 0) {
371
+ console.log('');
372
+ console.log(' Marketplace policy violations:');
373
+ for (const v of violations)
374
+ console.log(` • ${v}`);
375
+ }
273
376
  }
274
377
  catch (error) {
275
378
  printError(error.message);
@@ -1 +1 @@
1
- {"version":3,"file":"publish.js","sourceRoot":"","sources":["../../../src/commands/package/publish.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"publish.js","sourceRoot":"","sources":["../../../src/commands/package/publish.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;AA8DnD,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;CAq1C3B"}
1
+ {"version":3,"file":"serve.d.ts","sourceRoot":"","sources":["../../src/commands/serve.ts"],"names":[],"mappings":"AAEA,OAAO,EAAQ,OAAO,EAAS,MAAM,aAAa,CAAC;AAkJnD,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;CAy5C3B"}
@@ -7,10 +7,102 @@ import chalk from 'chalk';
7
7
  import { bundleRequire } from 'bundle-require';
8
8
  import { shouldBootWithLibrary } from '../utils/plugin-detection.js';
9
9
  import { printError, printServerReady, } from '../utils/format.js';
10
- import { STUDIO_PATH, resolveStudioPath, hasStudioDist, createStudioStaticPlugin, } from '../utils/studio.js';
10
+ import { STUDIO_PATH, resolveStudioPath, hasStudioDist, createStudioStaticPlugin, createStudioWriteApiPlugin, } from '../utils/studio.js';
11
11
  import { ACCOUNT_PATH, resolveAccountPath, hasAccountDist, createAccountStaticPlugin, } from '../utils/account.js';
12
12
  import { CONSOLE_PATH, resolveConsolePath, hasConsoleDist, createConsoleStaticPlugin, } from '../utils/console.js';
13
13
  import dotenvFlow from 'dotenv-flow';
14
+ // ---------------------------------------------------------------------------
15
+ // Observability bootstrap for `objectstack serve`
16
+ //
17
+ // Reads OS_OBS_* env vars and returns a `{ metrics, errorReporter }` block
18
+ // to hand off to `createDispatcherPlugin`. Default is fully noop so the
19
+ // CLI imposes no runtime cost when observability isn't configured.
20
+ //
21
+ // Env knobs (also documented in apps/cloud/server/observability.ts — keep
22
+ // the two in sync if you tweak names):
23
+ // OS_OBS_EXPORTER noop (default) | console | json | otlp
24
+ // OS_OTLP_ENDPOINT OTLP/HTTP root, e.g. https://otlp.grafana.net/otlp
25
+ // OS_OTLP_HEADERS comma-separated Key=Value; values may be URL-encoded
26
+ // (Grafana ships `Authorization=Basic%20<base64>`)
27
+ // OS_OBS_SERVICE_NAME resource attr, default `objectstack`
28
+ // OS_OBS_DEPLOYMENT_ENV resource attr, default `production`
29
+ // OS_OTLP_FLUSH_MS buffer flush interval (default 10000)
30
+ // ---------------------------------------------------------------------------
31
+ function parseObsHeaders(spec) {
32
+ if (!spec)
33
+ return {};
34
+ const out = {};
35
+ for (const pair of spec.split(',')) {
36
+ const i = pair.indexOf('=');
37
+ if (i < 0)
38
+ continue;
39
+ const k = pair.slice(0, i).trim();
40
+ const raw = pair.slice(i + 1).trim();
41
+ if (!k)
42
+ continue;
43
+ let v = raw;
44
+ try {
45
+ v = decodeURIComponent(raw);
46
+ }
47
+ catch { /* keep raw */ }
48
+ out[k] = v;
49
+ }
50
+ return out;
51
+ }
52
+ async function buildServeObservability() {
53
+ const exporter = (process.env.OS_OBS_EXPORTER ?? 'noop').toLowerCase();
54
+ if (exporter === 'noop')
55
+ return undefined; // dispatcher falls back to its own NoopMetricsRegistry
56
+ let mod;
57
+ try {
58
+ mod = await import('@objectstack/observability');
59
+ }
60
+ catch {
61
+ return undefined; // observability pkg not installed — silently skip
62
+ }
63
+ try {
64
+ let metrics;
65
+ if (exporter === 'console' || exporter === 'json') {
66
+ metrics = new mod.ConsoleMetricsRegistry();
67
+ }
68
+ else if (exporter === 'otlp') {
69
+ const endpoint = process.env.OS_OTLP_ENDPOINT;
70
+ if (!endpoint) {
71
+ console.warn('[observability] OS_OBS_EXPORTER=otlp but OS_OTLP_ENDPOINT is empty — falling back to noop');
72
+ return undefined;
73
+ }
74
+ const resource = {
75
+ 'service.name': process.env.OS_OBS_SERVICE_NAME ?? 'objectstack',
76
+ 'deployment.environment': process.env.OS_OBS_DEPLOYMENT_ENV ?? 'production',
77
+ };
78
+ metrics = new mod.OtlpHttpMetricsRegistry({
79
+ endpoint,
80
+ headers: parseObsHeaders(process.env.OS_OTLP_HEADERS),
81
+ resource,
82
+ onError: (err) => {
83
+ console.warn('[observability] OTLP export failed:', err?.message ?? err);
84
+ },
85
+ });
86
+ const flushMs = Number(process.env.OS_OTLP_FLUSH_MS ?? '10000');
87
+ if (flushMs > 0) {
88
+ const timer = setInterval(() => {
89
+ metrics.flush?.().catch(() => { });
90
+ }, flushMs);
91
+ if (typeof timer.unref === 'function')
92
+ timer.unref();
93
+ }
94
+ }
95
+ else {
96
+ return undefined;
97
+ }
98
+ const errorReporter = new mod.ConsoleErrorReporter();
99
+ return { metrics, errorReporter };
100
+ }
101
+ catch (err) {
102
+ console.warn('[observability] init failed; falling back to noop:', err?.message ?? err);
103
+ return undefined;
104
+ }
105
+ }
14
106
  // Helper to find available port
15
107
  const getAvailablePort = async (startPort) => {
16
108
  const isPortAvailable = (port) => {
@@ -775,7 +867,47 @@ export default class Serve extends Command {
775
867
  // to multi-project mode (org/project picker visible).
776
868
  }
777
869
  }
778
- // 5b. Auto-register AuthPlugin (and paired Security/Audit) when the
870
+ // 5b. Auto-register MarketplaceProxyPlugin so the runtime console's
871
+ // marketplace browse UI works in `objectstack dev` without manually
872
+ // wiring the plugin into every user's objectstack.config.ts.
873
+ //
874
+ // The default control-plane URL is the public ObjectStack cloud —
875
+ // users get a working marketplace out of the box. Override with
876
+ // OS_CLOUD_URL=<your-cloud>, or opt out with OS_CLOUD_URL=off
877
+ // / =local for fully air-gapped setups.
878
+ const hasMarketplaceProxy = plugins.some((p) => p?.name === 'com.objectstack.runtime.marketplace-proxy'
879
+ || p?.constructor?.name === 'MarketplaceProxyPlugin');
880
+ if (!hasMarketplaceProxy) {
881
+ try {
882
+ const runtimePkg = '@objectstack/runtime';
883
+ const { MarketplaceProxyPlugin, MarketplaceInstallLocalPlugin, resolveCloudUrl } = await import(/* webpackIgnore: true */ runtimePkg);
884
+ const effectiveCloudUrl = (typeof resolveCloudUrl === 'function'
885
+ ? resolveCloudUrl()
886
+ : (process.env.OS_CLOUD_URL?.trim() || 'https://cloud.objectos.app'));
887
+ if (effectiveCloudUrl) {
888
+ await kernel.use(new MarketplaceProxyPlugin({ controlPlaneUrl: effectiveCloudUrl }));
889
+ trackPlugin('MarketplaceProxy');
890
+ // Pair the catalog proxy with the install-local handler. The two
891
+ // share the same /api/v1/marketplace prefix; the proxy delegates
892
+ // /install-local to this plugin (see proxy `next()` check).
893
+ try {
894
+ await kernel.use(new MarketplaceInstallLocalPlugin({ controlPlaneUrl: effectiveCloudUrl }));
895
+ trackPlugin('MarketplaceInstallLocal');
896
+ }
897
+ catch (err) {
898
+ console.warn(chalk.yellow(` ⚠ MarketplaceInstallLocalPlugin auto-inject failed: ${err?.message ?? err}`));
899
+ }
900
+ if (!process.env.OS_CLOUD_URL) {
901
+ console.log(chalk.dim(` · Marketplace pointed at default cloud (${effectiveCloudUrl}). Override with OS_CLOUD_URL, or disable with OS_CLOUD_URL=off.`));
902
+ }
903
+ }
904
+ // else: user disabled cloud via OS_CLOUD_URL=off/local — skip.
905
+ }
906
+ catch (err) {
907
+ console.warn(chalk.yellow(` ⚠ MarketplaceProxyPlugin auto-inject failed: ${err?.message ?? err}`));
908
+ }
909
+ }
910
+ // 5c. Auto-register AuthPlugin (and paired Security/Audit) when the
779
911
  // 'auth' tier is enabled and no auth plugin is already configured.
780
912
  // The Studio + Account portals expect /api/v1/auth/* to be served by
781
913
  // better-auth via @objectstack/plugin-auth. Without this block,
@@ -799,10 +931,16 @@ export default class Serve extends Command {
799
931
  // AuthPlugin here would compete with the per-project one — its
800
932
  // shared OS_AUTH_SECRET would erroneously validate cookies across
801
933
  // unrelated projects. Refuse to inject in runtime mode.
802
- const cloudUrl = process.env.OS_CLOUD_URL?.trim();
803
- const isRuntimeMode = !!cloudUrl && cloudUrl.toLowerCase() !== 'local' && cloudUrl.toLowerCase() !== 'off';
804
- if (isRuntimeMode) {
805
- console.warn(chalk.yellow(' ⚠ AuthPlugin skipped on host kernel runtime mode (OS_CLOUD_URL set).\n' +
934
+ //
935
+ // Detect runtime mode by the presence of ObjectOSProjectPlugin
936
+ // (added by createObjectOSStack). OS_CLOUD_URL alone is NOT a
937
+ // reliable signal a regular `objectstack dev` app may set it
938
+ // just to enable the marketplace proxy yet still want its own
939
+ // local AuthPlugin.
940
+ const isHostKernel = plugins.some((p) => p?.name === 'com.objectstack.runtime.objectos-project'
941
+ || p?.constructor?.name === 'ObjectOSProjectPlugin');
942
+ if (isHostKernel) {
943
+ console.warn(chalk.yellow(' ⚠ AuthPlugin skipped on host kernel — runtime mode (ObjectOSProjectPlugin detected).\n' +
806
944
  ' Auth is owned per-project by ArtifactKernelFactory (see service-cloud).'));
807
945
  }
808
946
  else if (!secret) {
@@ -1035,7 +1173,16 @@ export default class Serve extends Command {
1035
1173
  // Register Dispatcher plugin (auth, graphql, analytics, packages, hub, storage, automation)
1036
1174
  try {
1037
1175
  const { createDispatcherPlugin } = await import('@objectstack/runtime');
1038
- await kernel.use(createDispatcherPlugin({ scoping: { enableProjectScoping, projectResolution } }));
1176
+ // Auto-wire observability from env so production deployments
1177
+ // can ship metrics / errors to OTLP backends (Grafana Cloud,
1178
+ // Honeycomb, etc.) without app-level glue. Falls back to noop
1179
+ // when OS_OBS_EXPORTER is unset / unknown — zero-cost when
1180
+ // off, and never crashes boot if exporter init throws.
1181
+ const observability = await buildServeObservability();
1182
+ await kernel.use(createDispatcherPlugin({
1183
+ scoping: { enableProjectScoping, projectResolution },
1184
+ observability,
1185
+ }));
1039
1186
  trackPlugin('Dispatcher');
1040
1187
  }
1041
1188
  catch (e) {
@@ -1157,6 +1304,11 @@ export default class Serve extends Command {
1157
1304
  export: 'SettingsServicePlugin',
1158
1305
  nameMatch: ['service-settings', 'SettingsServicePlugin'],
1159
1306
  },
1307
+ webhooks: {
1308
+ pkg: '@objectstack/plugin-webhooks',
1309
+ export: 'WebhookOutboxPlugin',
1310
+ nameMatch: ['plugin-webhook-outbox', 'WebhookOutboxPlugin'],
1311
+ },
1160
1312
  };
1161
1313
  const hasPluginMatching = (fragments) => plugins.some((p) => {
1162
1314
  const n = String(p?.name ?? '');
@@ -1306,6 +1458,10 @@ export default class Serve extends Command {
1306
1458
  }
1307
1459
  else if (hasStudioDist(studioPath)) {
1308
1460
  const distPath = path.join(studioPath, 'dist');
1461
+ // Write API must register BEFORE the static plugin so its POST
1462
+ // routes win over `/_studio/*` GET fallback (Hono matches by
1463
+ // method, but registering first keeps semantics obvious).
1464
+ await kernel.use(createStudioWriteApiPlugin(process.cwd(), { isDev }));
1309
1465
  await kernel.use(createStudioStaticPlugin(distPath, {
1310
1466
  isDev,
1311
1467
  rootRedirect: !consoleWillMount,
@@ -1333,11 +1489,12 @@ export default class Serve extends Command {
1333
1489
  console.warn(chalk.yellow(` ⚠ Account dist not found — run "pnpm --filter @objectstack/account build" first`));
1334
1490
  }
1335
1491
  // ── Console portal ──────────────────────────────────────────
1336
- // The opinionated, fork-ready runtime console (`@objectstack/console`)
1337
- // mounts under `/_console/` exactly like Studio/Account. When
1338
- // present, it owns root `/` redirect (preferred default UI). It
1339
- // is optional we only mount it when the package resolves and
1340
- // a pre-built `dist/` is present.
1492
+ // The opinionated, fork-ready runtime console (`@object-ui/console`,
1493
+ // published from the objectstack-ai/objectui monorepo) mounts under
1494
+ // `/_console/` exactly like Studio/Account. When present, it owns
1495
+ // root `/` redirect (preferred default UI). It is optional we
1496
+ // only mount it when the package resolves and a pre-built `dist/`
1497
+ // is present.
1341
1498
  if (consolePath) {
1342
1499
  if (consoleWillMount) {
1343
1500
  const consoleDistPath = path.join(consolePath, 'dist');
@@ -1345,7 +1502,7 @@ export default class Serve extends Command {
1345
1502
  trackPlugin('ConsoleUI');
1346
1503
  }
1347
1504
  else {
1348
- console.warn(chalk.yellow(` ⚠ Console dist not found — run "pnpm --filter @objectstack/console build" first`));
1505
+ console.warn(chalk.yellow(` ⚠ Console dist not found — install \`@object-ui/console\` (already built) or run \`pnpm --filter @object-ui/console build\` in the objectui workspace`));
1349
1506
  }
1350
1507
  }
1351
1508
  }