@objectstack/platform-objects 7.1.0 → 7.2.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.
@@ -8,6 +8,13 @@ var SETUP_APP = {
8
8
  icon: "settings",
9
9
  active: true,
10
10
  isDefault: false,
11
+ // ADR-0010 §3.7 — author-facing protection block. Loader translates
12
+ // this into the `_lock` envelope at registration time.
13
+ protection: {
14
+ lock: "full",
15
+ reason: "Core admin UI shipped by @objectstack/platform-objects \u2014 see ADR-0010.",
16
+ docsUrl: "https://docs.objectstack.ai/adr/0010-metadata-protection"
17
+ },
11
18
  branding: {
12
19
  primaryColor: "#475569"
13
20
  // Slate-600 — neutral admin palette
@@ -239,6 +246,31 @@ var STUDIO_APP = {
239
246
  // Indigo-500 — distinct from Setup's slate
240
247
  },
241
248
  requiredPermissions: ["studio.access"],
249
+ contextSelectors: [
250
+ {
251
+ // Package scope — pinned to the sidebar header. Selecting a package
252
+ // injects `{active_package}` into every `metadata:resource` nav
253
+ // item below, so the whole workbench filters to that package in
254
+ // one click. Options come from the installed-packages REST surface,
255
+ // narrowed to project-scoped packages: this dropdown exists so
256
+ // third-party developers can scope to *their* custom package, so we
257
+ // deliberately hide the platform's own system/cloud kernel packages
258
+ // (auth, security, audit, queue, …) which are not user-authored.
259
+ id: "active_package",
260
+ label: "Package",
261
+ icon: "package",
262
+ optionsSource: {
263
+ endpoint: "/api/v1/packages",
264
+ valueKey: "manifest.id",
265
+ labelKey: "manifest.name",
266
+ filter: [{ key: "manifest.scope", op: "nin", value: ["system", "cloud"] }]
267
+ },
268
+ includeAll: true,
269
+ allValue: "",
270
+ persist: "query",
271
+ placement: "sidebar_header"
272
+ }
273
+ ],
242
274
  navigation: [
243
275
  {
244
276
  id: "group_overview",
@@ -269,7 +301,7 @@ var STUDIO_APP = {
269
301
  type: "component",
270
302
  label: "Objects",
271
303
  componentRef: "metadata:resource",
272
- params: { type: "object" },
304
+ params: { type: "object", package: "{active_package}" },
273
305
  icon: "box"
274
306
  },
275
307
  {
@@ -277,7 +309,7 @@ var STUDIO_APP = {
277
309
  type: "component",
278
310
  label: "Validations",
279
311
  componentRef: "metadata:resource",
280
- params: { type: "validation" },
312
+ params: { type: "validation", package: "{active_package}" },
281
313
  icon: "check-square"
282
314
  }
283
315
  ]
@@ -294,7 +326,7 @@ var STUDIO_APP = {
294
326
  type: "component",
295
327
  label: "Apps",
296
328
  componentRef: "metadata:resource",
297
- params: { type: "app" },
329
+ params: { type: "app", package: "{active_package}" },
298
330
  icon: "app-window"
299
331
  },
300
332
  {
@@ -302,7 +334,7 @@ var STUDIO_APP = {
302
334
  type: "component",
303
335
  label: "Views",
304
336
  componentRef: "metadata:resource",
305
- params: { type: "view" },
337
+ params: { type: "view", package: "{active_package}" },
306
338
  icon: "table"
307
339
  },
308
340
  {
@@ -310,7 +342,7 @@ var STUDIO_APP = {
310
342
  type: "component",
311
343
  label: "Pages",
312
344
  componentRef: "metadata:resource",
313
- params: { type: "page" },
345
+ params: { type: "page", package: "{active_package}" },
314
346
  icon: "file-text"
315
347
  },
316
348
  {
@@ -318,7 +350,7 @@ var STUDIO_APP = {
318
350
  type: "component",
319
351
  label: "Dashboards",
320
352
  componentRef: "metadata:resource",
321
- params: { type: "dashboard" },
353
+ params: { type: "dashboard", package: "{active_package}" },
322
354
  icon: "layout-dashboard"
323
355
  },
324
356
  {
@@ -326,7 +358,7 @@ var STUDIO_APP = {
326
358
  type: "component",
327
359
  label: "Reports",
328
360
  componentRef: "metadata:resource",
329
- params: { type: "report" },
361
+ params: { type: "report", package: "{active_package}" },
330
362
  icon: "bar-chart-3"
331
363
  }
332
364
  ]
@@ -343,7 +375,7 @@ var STUDIO_APP = {
343
375
  type: "component",
344
376
  label: "Actions",
345
377
  componentRef: "metadata:resource",
346
- params: { type: "action" },
378
+ params: { type: "action", package: "{active_package}" },
347
379
  icon: "mouse-pointer-click"
348
380
  },
349
381
  {
@@ -351,7 +383,7 @@ var STUDIO_APP = {
351
383
  type: "component",
352
384
  label: "Hooks",
353
385
  componentRef: "metadata:resource",
354
- params: { type: "hook" },
386
+ params: { type: "hook", package: "{active_package}" },
355
387
  icon: "webhook"
356
388
  }
357
389
  ]
@@ -368,7 +400,7 @@ var STUDIO_APP = {
368
400
  type: "component",
369
401
  label: "Flows",
370
402
  componentRef: "metadata:resource",
371
- params: { type: "flow" },
403
+ params: { type: "flow", package: "{active_package}" },
372
404
  icon: "git-branch"
373
405
  },
374
406
  {
@@ -376,7 +408,7 @@ var STUDIO_APP = {
376
408
  type: "component",
377
409
  label: "Workflow Rules",
378
410
  componentRef: "metadata:resource",
379
- params: { type: "workflow" },
411
+ params: { type: "workflow", package: "{active_package}" },
380
412
  icon: "zap"
381
413
  },
382
414
  {
@@ -384,7 +416,7 @@ var STUDIO_APP = {
384
416
  type: "component",
385
417
  label: "Approval Processes",
386
418
  componentRef: "metadata:resource",
387
- params: { type: "approval" },
419
+ params: { type: "approval", package: "{active_package}" },
388
420
  icon: "check-circle"
389
421
  }
390
422
  ]
@@ -403,7 +435,7 @@ var STUDIO_APP = {
403
435
  type: "component",
404
436
  label: "Agents",
405
437
  componentRef: "metadata:resource",
406
- params: { type: "agent" },
438
+ params: { type: "agent", package: "{active_package}" },
407
439
  icon: "bot"
408
440
  },
409
441
  {
@@ -411,7 +443,7 @@ var STUDIO_APP = {
411
443
  type: "component",
412
444
  label: "Tools",
413
445
  componentRef: "metadata:resource",
414
- params: { type: "tool" },
446
+ params: { type: "tool", package: "{active_package}" },
415
447
  icon: "wrench"
416
448
  },
417
449
  {
@@ -419,7 +451,7 @@ var STUDIO_APP = {
419
451
  type: "component",
420
452
  label: "Skills",
421
453
  componentRef: "metadata:resource",
422
- params: { type: "skill" },
454
+ params: { type: "skill", package: "{active_package}" },
423
455
  icon: "brain"
424
456
  }
425
457
  ]
@@ -472,7 +504,7 @@ var STUDIO_APP = {
472
504
  type: "component",
473
505
  label: "Email Templates",
474
506
  componentRef: "metadata:resource",
475
- params: { type: "email_template" },
507
+ params: { type: "email_template", package: "{active_package}" },
476
508
  icon: "mail"
477
509
  }
478
510
  ]