@objectstack/platform-objects 6.7.1 → 6.8.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.
@@ -23,6 +23,36 @@ var SETUP_APP = {
23
23
  { id: "nav_system_overview", type: "dashboard", label: "System Overview", dashboardName: "system_overview", icon: "activity" }
24
24
  ]
25
25
  },
26
+ {
27
+ // App Marketplace — browse + install packages. The browse page is
28
+ // always available: single-environment runtimes use the
29
+ // `MarketplaceProxy` plugin to browse the remote catalog;
30
+ // control-plane (cloud) deployments add `sys_package_installation`
31
+ // to track per-env installs. The "Installed Apps" entry is gated
32
+ // on that object so it only appears when the catalog backend
33
+ // exposes installations (i.e. control-plane / multi-tenant).
34
+ id: "group_apps",
35
+ type: "group",
36
+ label: "Apps",
37
+ icon: "package",
38
+ children: [
39
+ {
40
+ id: "nav_marketplace_browse",
41
+ type: "url",
42
+ label: "Browse Marketplace",
43
+ url: "/apps/setup/system/marketplace",
44
+ icon: "store"
45
+ },
46
+ {
47
+ id: "nav_marketplace_installed",
48
+ type: "url",
49
+ label: "Installed Apps",
50
+ url: "/apps/setup/system/marketplace/installed",
51
+ icon: "package-check",
52
+ requiresObject: "sys_package_installation"
53
+ }
54
+ ]
55
+ },
26
56
  {
27
57
  id: "group_people_org",
28
58
  type: "group",
@@ -152,18 +182,272 @@ var SETUP_APP = {
152
182
  // from sys_user / org members.
153
183
  // - Demoted "All Metadata" from the (now-deleted) Platform group
154
184
  // to this Advanced/debug bucket.
155
- // - The marketplace-only `sys_app` / `sys_package` /
156
- // `sys_package_installation` menus have been removed entirely;
157
- // they are contributed by `@objectstack/service-tenant`
158
- // (control-plane) and are not present in single-environment runtimes.
185
+ // - The raw `sys_app` / `sys_package` / `sys_package_installation`
186
+ // object-list menus stay removed (they are control-plane admin
187
+ // surfaces and live in `cloud-control.app.ts`). End-user
188
+ // marketplace access lives in the top-level `Apps` group above,
189
+ // pointing at the React browse/installed pages.
159
190
  { id: "nav_oauth_apps", type: "object", label: "OAuth Applications", objectName: "sys_oauth_application", icon: "app-window" },
160
191
  { id: "nav_jwks", type: "object", label: "Signing Keys (JWKS)", objectName: "sys_jwks", icon: "key-round" },
161
192
  { id: "nav_verifications", type: "object", label: "Verifications", objectName: "sys_verification", icon: "mail-check" },
162
193
  { id: "nav_two_factor", type: "object", label: "Two-Factor", objectName: "sys_two_factor", icon: "smartphone" },
163
194
  { id: "nav_device_codes", type: "object", label: "Device Codes", objectName: "sys_device_code", icon: "qr-code" },
164
195
  { id: "nav_accounts", type: "object", label: "Identity Links", objectName: "sys_account", icon: "link-2" },
165
- { id: "nav_user_preferences", type: "object", label: "User Preferences", objectName: "sys_user_preference", icon: "sliders" },
166
- { id: "nav_metadata", type: "object", label: "All Metadata", objectName: "sys_metadata", icon: "file-cog" }
196
+ { id: "nav_user_preferences", type: "object", label: "User Preferences", objectName: "sys_user_preference", icon: "sliders" }
197
+ ]
198
+ }
199
+ ]
200
+ };
201
+
202
+ // src/apps/studio.app.ts
203
+ var STUDIO_APP = {
204
+ name: "studio",
205
+ label: "Studio",
206
+ description: "Metadata workbench for developers, analysts, and implementers",
207
+ icon: "hammer",
208
+ active: true,
209
+ isDefault: false,
210
+ branding: {
211
+ primaryColor: "#6366f1"
212
+ // Indigo-500 — distinct from Setup's slate
213
+ },
214
+ requiredPermissions: ["studio.access"],
215
+ navigation: [
216
+ {
217
+ id: "group_overview",
218
+ type: "group",
219
+ label: "Overview",
220
+ icon: "layout-dashboard",
221
+ children: [
222
+ {
223
+ id: "nav_metadata_directory",
224
+ type: "component",
225
+ label: "All Metadata Types",
226
+ componentRef: "metadata:directory",
227
+ icon: "layers"
228
+ }
229
+ ]
230
+ },
231
+ {
232
+ // Data Model — schema-design surfaces. Objects are the primary
233
+ // entry; field management happens in-context on each object's
234
+ // detail form (master-detail), so no top-level field link.
235
+ id: "group_data_model",
236
+ type: "group",
237
+ label: "Data Model",
238
+ icon: "database",
239
+ children: [
240
+ {
241
+ id: "nav_objects",
242
+ type: "component",
243
+ label: "Objects",
244
+ componentRef: "metadata:resource",
245
+ params: { type: "object" },
246
+ icon: "box"
247
+ },
248
+ {
249
+ id: "nav_validations",
250
+ type: "component",
251
+ label: "Validations",
252
+ componentRef: "metadata:resource",
253
+ params: { type: "validation" },
254
+ icon: "check-square"
255
+ }
256
+ ]
257
+ },
258
+ {
259
+ // User Experience — the metadata that shapes what end users see.
260
+ id: "group_ux",
261
+ type: "group",
262
+ label: "User Experience",
263
+ icon: "layout",
264
+ children: [
265
+ {
266
+ id: "nav_apps",
267
+ type: "component",
268
+ label: "Apps",
269
+ componentRef: "metadata:resource",
270
+ params: { type: "app" },
271
+ icon: "app-window"
272
+ },
273
+ {
274
+ id: "nav_views",
275
+ type: "component",
276
+ label: "Views",
277
+ componentRef: "metadata:resource",
278
+ params: { type: "view" },
279
+ icon: "table"
280
+ },
281
+ {
282
+ id: "nav_pages",
283
+ type: "component",
284
+ label: "Pages",
285
+ componentRef: "metadata:resource",
286
+ params: { type: "page" },
287
+ icon: "file-text"
288
+ },
289
+ {
290
+ id: "nav_dashboards",
291
+ type: "component",
292
+ label: "Dashboards",
293
+ componentRef: "metadata:resource",
294
+ params: { type: "dashboard" },
295
+ icon: "layout-dashboard"
296
+ },
297
+ {
298
+ id: "nav_reports",
299
+ type: "component",
300
+ label: "Reports",
301
+ componentRef: "metadata:resource",
302
+ params: { type: "report" },
303
+ icon: "bar-chart-3"
304
+ }
305
+ ]
306
+ },
307
+ {
308
+ // Logic — declarative + scripted business rules.
309
+ id: "group_logic",
310
+ type: "group",
311
+ label: "Logic",
312
+ icon: "function-square",
313
+ children: [
314
+ {
315
+ id: "nav_actions",
316
+ type: "component",
317
+ label: "Actions",
318
+ componentRef: "metadata:resource",
319
+ params: { type: "action" },
320
+ icon: "mouse-pointer-click"
321
+ },
322
+ {
323
+ id: "nav_hooks",
324
+ type: "component",
325
+ label: "Hooks",
326
+ componentRef: "metadata:resource",
327
+ params: { type: "hook" },
328
+ icon: "webhook"
329
+ }
330
+ ]
331
+ },
332
+ {
333
+ // Automation — flows, declarative workflow rules, approval processes.
334
+ id: "group_automation",
335
+ type: "group",
336
+ label: "Automation",
337
+ icon: "workflow",
338
+ children: [
339
+ {
340
+ id: "nav_flows",
341
+ type: "component",
342
+ label: "Flows",
343
+ componentRef: "metadata:resource",
344
+ params: { type: "flow" },
345
+ icon: "git-branch"
346
+ },
347
+ {
348
+ id: "nav_workflows",
349
+ type: "component",
350
+ label: "Workflow Rules",
351
+ componentRef: "metadata:resource",
352
+ params: { type: "workflow" },
353
+ icon: "zap"
354
+ },
355
+ {
356
+ id: "nav_approvals",
357
+ type: "component",
358
+ label: "Approval Processes",
359
+ componentRef: "metadata:resource",
360
+ params: { type: "approval" },
361
+ icon: "check-circle"
362
+ }
363
+ ]
364
+ },
365
+ {
366
+ // AI — agent/tool/skill metadata. Configured together by the
367
+ // same team in practice; runtime conversations live in their
368
+ // own app surface, not here.
369
+ id: "group_ai",
370
+ type: "group",
371
+ label: "AI",
372
+ icon: "sparkles",
373
+ children: [
374
+ {
375
+ id: "nav_agents",
376
+ type: "component",
377
+ label: "Agents",
378
+ componentRef: "metadata:resource",
379
+ params: { type: "agent" },
380
+ icon: "bot"
381
+ },
382
+ {
383
+ id: "nav_tools",
384
+ type: "component",
385
+ label: "Tools",
386
+ componentRef: "metadata:resource",
387
+ params: { type: "tool" },
388
+ icon: "wrench"
389
+ },
390
+ {
391
+ id: "nav_skills",
392
+ type: "component",
393
+ label: "Skills",
394
+ componentRef: "metadata:resource",
395
+ params: { type: "skill" },
396
+ icon: "brain"
397
+ }
398
+ ]
399
+ },
400
+ {
401
+ // Developer — first-party developer tooling surfaces hosted by the
402
+ // console (API console, flow run inspector, public forms registry).
403
+ // Registered as built-in components in the console's
404
+ // ComponentRegistry under the `developer:*` namespace.
405
+ id: "group_developer",
406
+ type: "group",
407
+ label: "Developer",
408
+ icon: "terminal",
409
+ children: [
410
+ {
411
+ id: "nav_api_console",
412
+ type: "component",
413
+ label: "API Console",
414
+ componentRef: "developer:api-console",
415
+ icon: "terminal"
416
+ },
417
+ {
418
+ id: "nav_flow_runs",
419
+ type: "component",
420
+ label: "Flow Runs",
421
+ componentRef: "developer:flow-runs",
422
+ icon: "activity"
423
+ },
424
+ {
425
+ id: "nav_public_forms",
426
+ type: "component",
427
+ label: "Public Forms",
428
+ componentRef: "developer:public-forms",
429
+ icon: "file-text"
430
+ }
431
+ ]
432
+ },
433
+ {
434
+ // Integration — outbound shapes: datasources, email templates,
435
+ // routes/functions/services live here too once they have CRUD
436
+ // surfaces. Email templates are a developer artefact (templates
437
+ // referenced by transactional sends), not a Setup item.
438
+ id: "group_integration",
439
+ type: "group",
440
+ label: "Integration",
441
+ icon: "plug",
442
+ children: [
443
+ {
444
+ id: "nav_email_templates",
445
+ type: "component",
446
+ label: "Email Templates",
447
+ componentRef: "metadata:resource",
448
+ params: { type: "email_template" },
449
+ icon: "mail"
450
+ }
167
451
  ]
168
452
  }
169
453
  ]
@@ -3232,6 +3516,7 @@ var en = {
3232
3516
  navigation: {
3233
3517
  // Groups
3234
3518
  group_overview: { label: "Overview" },
3519
+ group_apps: { label: "Apps" },
3235
3520
  group_people_org: { label: "People & Organization" },
3236
3521
  group_access_control: { label: "Access Control" },
3237
3522
  group_approvals: { label: "Approvals" },
@@ -3240,6 +3525,9 @@ var en = {
3240
3525
  group_advanced: { label: "Advanced" },
3241
3526
  // Overview
3242
3527
  nav_system_overview: { label: "System Overview" },
3528
+ // Apps / Marketplace
3529
+ nav_marketplace_browse: { label: "Browse Marketplace" },
3530
+ nav_marketplace_installed: { label: "Installed Apps" },
3243
3531
  // People & Organization
3244
3532
  nav_users: { label: "Users" },
3245
3533
  nav_departments: { label: "Departments" },
@@ -6247,6 +6535,9 @@ var zhCN = {
6247
6535
  description: "\u5E73\u53F0\u8BBE\u7F6E\u4E0E\u7BA1\u7406",
6248
6536
  navigation: {
6249
6537
  group_overview: { label: "\u603B\u89C8" },
6538
+ group_apps: { label: "\u5E94\u7528" },
6539
+ nav_marketplace_browse: { label: "\u6D4F\u89C8\u5E94\u7528\u5E02\u573A" },
6540
+ nav_marketplace_installed: { label: "\u5DF2\u5B89\u88C5\u5E94\u7528" },
6250
6541
  group_people_org: { label: "\u4EBA\u5458\u4E0E\u7EC4\u7EC7" },
6251
6542
  group_access_control: { label: "\u8BBF\u95EE\u63A7\u5236" },
6252
6543
  group_approvals: { label: "\u5BA1\u6279" },
@@ -9221,6 +9512,9 @@ var jaJP = {
9221
9512
  description: "\u30D7\u30E9\u30C3\u30C8\u30D5\u30A9\u30FC\u30E0\u8A2D\u5B9A\u3068\u7BA1\u7406",
9222
9513
  navigation: {
9223
9514
  group_overview: { label: "\u6982\u8981" },
9515
+ group_apps: { label: "\u30A2\u30D7\u30EA" },
9516
+ nav_marketplace_browse: { label: "\u30DE\u30FC\u30B1\u30C3\u30C8\u30D7\u30EC\u30A4\u30B9\u3092\u95B2\u89A7" },
9517
+ nav_marketplace_installed: { label: "\u30A4\u30F3\u30B9\u30C8\u30FC\u30EB\u6E08\u307F\u30A2\u30D7\u30EA" },
9224
9518
  group_people_org: { label: "\u30E6\u30FC\u30B6\u30FC\u3068\u7D44\u7E54" },
9225
9519
  group_access_control: { label: "\u30A2\u30AF\u30BB\u30B9\u5236\u5FA1" },
9226
9520
  group_approvals: { label: "\u627F\u8A8D" },
@@ -12195,6 +12489,9 @@ var esES = {
12195
12489
  description: "Configuraci\xF3n y administraci\xF3n de la plataforma",
12196
12490
  navigation: {
12197
12491
  group_overview: { label: "Resumen" },
12492
+ group_apps: { label: "Aplicaciones" },
12493
+ nav_marketplace_browse: { label: "Explorar Marketplace" },
12494
+ nav_marketplace_installed: { label: "Aplicaciones instaladas" },
12198
12495
  group_people_org: { label: "Personas y Organizaci\xF3n" },
12199
12496
  group_access_control: { label: "Control de Acceso" },
12200
12497
  group_approvals: { label: "Aprobaciones" },
@@ -12261,6 +12558,6 @@ var SetupAppTranslations = {
12261
12558
  "es-ES": esES
12262
12559
  };
12263
12560
 
12264
- export { SETUP_APP, SetupAppTranslations, SystemOverviewDashboard, en, esES, jaJP, zhCN };
12561
+ export { SETUP_APP, STUDIO_APP, SetupAppTranslations, SystemOverviewDashboard, en, esES, jaJP, zhCN };
12265
12562
  //# sourceMappingURL=index.mjs.map
12266
12563
  //# sourceMappingURL=index.mjs.map