@objectstack/platform-objects 7.2.0 → 7.3.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.
@@ -223,6 +223,13 @@ declare const SystemOverviewDashboard: {
223
223
  role?: string | undefined;
224
224
  } | undefined;
225
225
  }[];
226
+ _lock?: "full" | "none" | "no-overlay" | "no-delete" | undefined;
227
+ _lockReason?: string | undefined;
228
+ _lockSource?: "artifact" | "package" | "env-forced" | undefined;
229
+ _provenance?: "package" | "env-forced" | "org" | undefined;
230
+ _packageId?: string | undefined;
231
+ _packageVersion?: string | undefined;
232
+ _lockDocsUrl?: string | undefined;
226
233
  description?: string | undefined;
227
234
  header?: {
228
235
  showTitle: boolean;
@@ -277,6 +284,11 @@ declare const SystemOverviewDashboard: {
277
284
  pageSize?: number | undefined;
278
285
  debounceMs?: number | undefined;
279
286
  } | undefined;
287
+ protection?: {
288
+ lock: "full" | "none" | "no-overlay" | "no-delete";
289
+ reason: string;
290
+ docsUrl?: string | undefined;
291
+ } | undefined;
280
292
  };
281
293
 
282
294
  /**
@@ -223,6 +223,13 @@ declare const SystemOverviewDashboard: {
223
223
  role?: string | undefined;
224
224
  } | undefined;
225
225
  }[];
226
+ _lock?: "full" | "none" | "no-overlay" | "no-delete" | undefined;
227
+ _lockReason?: string | undefined;
228
+ _lockSource?: "artifact" | "package" | "env-forced" | undefined;
229
+ _provenance?: "package" | "env-forced" | "org" | undefined;
230
+ _packageId?: string | undefined;
231
+ _packageVersion?: string | undefined;
232
+ _lockDocsUrl?: string | undefined;
226
233
  description?: string | undefined;
227
234
  header?: {
228
235
  showTitle: boolean;
@@ -277,6 +284,11 @@ declare const SystemOverviewDashboard: {
277
284
  pageSize?: number | undefined;
278
285
  debounceMs?: number | undefined;
279
286
  } | undefined;
287
+ protection?: {
288
+ lock: "full" | "none" | "no-overlay" | "no-delete";
289
+ reason: string;
290
+ docsUrl?: string | undefined;
291
+ } | undefined;
280
292
  };
281
293
 
282
294
  /**
@@ -10,9 +10,13 @@ var SETUP_APP = {
10
10
  icon: "settings",
11
11
  active: true,
12
12
  isDefault: false,
13
- // ADR-0010 — core admin UI must not be overlay-edited or deleted.
14
- _lock: "full",
15
- _lockReason: "Core admin UI shipped by @objectstack/platform-objects \u2014 see ADR-0010.",
13
+ // ADR-0010 §3.7 author-facing protection block. Loader translates
14
+ // this into the `_lock` envelope at registration time.
15
+ protection: {
16
+ lock: "full",
17
+ reason: "Core admin UI shipped by @objectstack/platform-objects \u2014 see ADR-0010.",
18
+ docsUrl: "https://docs.objectstack.ai/adr/0010-metadata-protection"
19
+ },
16
20
  branding: {
17
21
  primaryColor: "#475569"
18
22
  // Slate-600 — neutral admin palette
@@ -239,11 +243,41 @@ var STUDIO_APP = {
239
243
  icon: "hammer",
240
244
  active: true,
241
245
  isDefault: false,
246
+ // Studio is the metadata-authoring host, so its ambient copilot is
247
+ // pinned to the schema-architect agent. Resolved by the ambient chat
248
+ // endpoint via `app.defaultAgent` — no UI-side `?agent=` override
249
+ // needed. Every other app falls back to the data-query agent.
250
+ defaultAgent: "metadata_assistant",
242
251
  branding: {
243
252
  primaryColor: "#6366f1"
244
253
  // Indigo-500 — distinct from Setup's slate
245
254
  },
246
255
  requiredPermissions: ["studio.access"],
256
+ contextSelectors: [
257
+ {
258
+ // Package scope — pinned to the sidebar header. Selecting a package
259
+ // injects `{active_package}` into every `metadata:resource` nav
260
+ // item below, so the whole workbench filters to that package in
261
+ // one click. Options come from the installed-packages REST surface,
262
+ // narrowed to project-scoped packages: this dropdown exists so
263
+ // third-party developers can scope to *their* custom package, so we
264
+ // deliberately hide the platform's own system/cloud kernel packages
265
+ // (auth, security, audit, queue, …) which are not user-authored.
266
+ id: "active_package",
267
+ label: "Package",
268
+ icon: "package",
269
+ optionsSource: {
270
+ endpoint: "/api/v1/packages",
271
+ valueKey: "manifest.id",
272
+ labelKey: "manifest.name",
273
+ filter: [{ key: "manifest.scope", op: "nin", value: ["system", "cloud"] }]
274
+ },
275
+ includeAll: true,
276
+ allValue: "",
277
+ persist: "query",
278
+ placement: "sidebar_header"
279
+ }
280
+ ],
247
281
  navigation: [
248
282
  {
249
283
  id: "group_overview",
@@ -257,6 +291,13 @@ var STUDIO_APP = {
257
291
  label: "All Metadata Types",
258
292
  componentRef: "metadata:directory",
259
293
  icon: "layers"
294
+ },
295
+ {
296
+ id: "nav_packages",
297
+ type: "component",
298
+ label: "Packages",
299
+ componentRef: "developer:packages",
300
+ icon: "package"
260
301
  }
261
302
  ]
262
303
  },
@@ -274,7 +315,7 @@ var STUDIO_APP = {
274
315
  type: "component",
275
316
  label: "Objects",
276
317
  componentRef: "metadata:resource",
277
- params: { type: "object" },
318
+ params: { type: "object", package: "{active_package}" },
278
319
  icon: "box"
279
320
  },
280
321
  {
@@ -282,7 +323,7 @@ var STUDIO_APP = {
282
323
  type: "component",
283
324
  label: "Validations",
284
325
  componentRef: "metadata:resource",
285
- params: { type: "validation" },
326
+ params: { type: "validation", package: "{active_package}" },
286
327
  icon: "check-square"
287
328
  }
288
329
  ]
@@ -299,7 +340,7 @@ var STUDIO_APP = {
299
340
  type: "component",
300
341
  label: "Apps",
301
342
  componentRef: "metadata:resource",
302
- params: { type: "app" },
343
+ params: { type: "app", package: "{active_package}" },
303
344
  icon: "app-window"
304
345
  },
305
346
  {
@@ -307,7 +348,7 @@ var STUDIO_APP = {
307
348
  type: "component",
308
349
  label: "Views",
309
350
  componentRef: "metadata:resource",
310
- params: { type: "view" },
351
+ params: { type: "view", package: "{active_package}" },
311
352
  icon: "table"
312
353
  },
313
354
  {
@@ -315,7 +356,7 @@ var STUDIO_APP = {
315
356
  type: "component",
316
357
  label: "Pages",
317
358
  componentRef: "metadata:resource",
318
- params: { type: "page" },
359
+ params: { type: "page", package: "{active_package}" },
319
360
  icon: "file-text"
320
361
  },
321
362
  {
@@ -323,7 +364,7 @@ var STUDIO_APP = {
323
364
  type: "component",
324
365
  label: "Dashboards",
325
366
  componentRef: "metadata:resource",
326
- params: { type: "dashboard" },
367
+ params: { type: "dashboard", package: "{active_package}" },
327
368
  icon: "layout-dashboard"
328
369
  },
329
370
  {
@@ -331,7 +372,7 @@ var STUDIO_APP = {
331
372
  type: "component",
332
373
  label: "Reports",
333
374
  componentRef: "metadata:resource",
334
- params: { type: "report" },
375
+ params: { type: "report", package: "{active_package}" },
335
376
  icon: "bar-chart-3"
336
377
  }
337
378
  ]
@@ -348,7 +389,7 @@ var STUDIO_APP = {
348
389
  type: "component",
349
390
  label: "Actions",
350
391
  componentRef: "metadata:resource",
351
- params: { type: "action" },
392
+ params: { type: "action", package: "{active_package}" },
352
393
  icon: "mouse-pointer-click"
353
394
  },
354
395
  {
@@ -356,7 +397,7 @@ var STUDIO_APP = {
356
397
  type: "component",
357
398
  label: "Hooks",
358
399
  componentRef: "metadata:resource",
359
- params: { type: "hook" },
400
+ params: { type: "hook", package: "{active_package}" },
360
401
  icon: "webhook"
361
402
  }
362
403
  ]
@@ -373,7 +414,7 @@ var STUDIO_APP = {
373
414
  type: "component",
374
415
  label: "Flows",
375
416
  componentRef: "metadata:resource",
376
- params: { type: "flow" },
417
+ params: { type: "flow", package: "{active_package}" },
377
418
  icon: "git-branch"
378
419
  },
379
420
  {
@@ -381,7 +422,7 @@ var STUDIO_APP = {
381
422
  type: "component",
382
423
  label: "Workflow Rules",
383
424
  componentRef: "metadata:resource",
384
- params: { type: "workflow" },
425
+ params: { type: "workflow", package: "{active_package}" },
385
426
  icon: "zap"
386
427
  },
387
428
  {
@@ -389,7 +430,7 @@ var STUDIO_APP = {
389
430
  type: "component",
390
431
  label: "Approval Processes",
391
432
  componentRef: "metadata:resource",
392
- params: { type: "approval" },
433
+ params: { type: "approval", package: "{active_package}" },
393
434
  icon: "check-circle"
394
435
  }
395
436
  ]
@@ -408,7 +449,7 @@ var STUDIO_APP = {
408
449
  type: "component",
409
450
  label: "Agents",
410
451
  componentRef: "metadata:resource",
411
- params: { type: "agent" },
452
+ params: { type: "agent", package: "{active_package}" },
412
453
  icon: "bot"
413
454
  },
414
455
  {
@@ -416,7 +457,7 @@ var STUDIO_APP = {
416
457
  type: "component",
417
458
  label: "Tools",
418
459
  componentRef: "metadata:resource",
419
- params: { type: "tool" },
460
+ params: { type: "tool", package: "{active_package}" },
420
461
  icon: "wrench"
421
462
  },
422
463
  {
@@ -424,7 +465,7 @@ var STUDIO_APP = {
424
465
  type: "component",
425
466
  label: "Skills",
426
467
  componentRef: "metadata:resource",
427
- params: { type: "skill" },
468
+ params: { type: "skill", package: "{active_package}" },
428
469
  icon: "brain"
429
470
  }
430
471
  ]
@@ -477,7 +518,7 @@ var STUDIO_APP = {
477
518
  type: "component",
478
519
  label: "Email Templates",
479
520
  componentRef: "metadata:resource",
480
- params: { type: "email_template" },
521
+ params: { type: "email_template", package: "{active_package}" },
481
522
  icon: "mail"
482
523
  }
483
524
  ]