@notty/modules 1.0.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.
@@ -0,0 +1,690 @@
1
+ "use strict";
2
+ var __defProp = Object.defineProperty;
3
+ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
4
+ var __getOwnPropNames = Object.getOwnPropertyNames;
5
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
6
+ var __export = (target, all) => {
7
+ for (var name in all)
8
+ __defProp(target, name, { get: all[name], enumerable: true });
9
+ };
10
+ var __copyProps = (to, from, except, desc) => {
11
+ if (from && typeof from === "object" || typeof from === "function") {
12
+ for (let key of __getOwnPropNames(from))
13
+ if (!__hasOwnProp.call(to, key) && key !== except)
14
+ __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
15
+ }
16
+ return to;
17
+ };
18
+ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
19
+
20
+ // src/core/index.ts
21
+ var core_exports = {};
22
+ __export(core_exports, {
23
+ coreCmsModule: () => coreCmsModule,
24
+ coreDeveloperModule: () => coreDeveloperModule,
25
+ coreModules: () => coreModules
26
+ });
27
+ module.exports = __toCommonJS(core_exports);
28
+
29
+ // src/catalog.ts
30
+ var coreCmsModule = {
31
+ module: {
32
+ key: "core.cms",
33
+ displayName: "Core CMS",
34
+ description: "Schema builder, content editor, media library, delivery APIs and base RBAC.",
35
+ firstParty: true,
36
+ commercial: false,
37
+ addOn: false,
38
+ packageName: "@notty/module-cms",
39
+ configKey: "cms"
40
+ },
41
+ features: [
42
+ {
43
+ key: "content.schema-builder",
44
+ displayName: "Schema Builder",
45
+ description: "Create and manage content schemas.",
46
+ owningModule: "core.cms",
47
+ commercial: false
48
+ },
49
+ {
50
+ key: "content.editor",
51
+ displayName: "Content Editor",
52
+ description: "Create and edit content entries in the admin panel.",
53
+ owningModule: "core.cms",
54
+ commercial: false
55
+ },
56
+ {
57
+ key: "media.library",
58
+ displayName: "Media Library",
59
+ description: "Upload, organize and deliver media assets.",
60
+ owningModule: "core.cms",
61
+ commercial: false
62
+ },
63
+ {
64
+ key: "api.rest",
65
+ displayName: "REST API",
66
+ description: "Deliver content through REST endpoints.",
67
+ owningModule: "core.cms",
68
+ commercial: false
69
+ },
70
+ {
71
+ key: "api.graphql",
72
+ displayName: "GraphQL API",
73
+ description: "Deliver content through GraphQL.",
74
+ owningModule: "core.cms",
75
+ commercial: false
76
+ },
77
+ {
78
+ key: "auth.basic-rbac",
79
+ displayName: "Basic RBAC",
80
+ description: "Base roles and permission controls.",
81
+ owningModule: "core.cms",
82
+ commercial: false
83
+ }
84
+ ]
85
+ };
86
+ var coreDeveloperModule = {
87
+ module: {
88
+ key: "core.developer",
89
+ displayName: "Developer Platform",
90
+ description: "Plugin runtime, admin extensions and generated application contracts.",
91
+ firstParty: true,
92
+ commercial: false,
93
+ addOn: false,
94
+ requiredModules: ["core.cms"],
95
+ packageName: "@notty/module-developer",
96
+ configKey: "developer"
97
+ },
98
+ features: [
99
+ {
100
+ key: "plugins.runtime",
101
+ displayName: "Plugin Runtime",
102
+ description: "Load app-local and reusable plugins.",
103
+ owningModule: "core.developer",
104
+ commercial: false
105
+ },
106
+ {
107
+ key: "plugins.admin-extensions",
108
+ displayName: "Admin Extensions",
109
+ description: "Render plugin-provided admin navigation, pages and widgets.",
110
+ owningModule: "core.developer",
111
+ commercial: false
112
+ },
113
+ {
114
+ key: "sdk.codegen",
115
+ displayName: "Generated App Contract",
116
+ description: "Use generated project structure and extension contracts.",
117
+ owningModule: "core.developer",
118
+ commercial: false
119
+ }
120
+ ],
121
+ adminRouteGates: {
122
+ "admin:extensions:get": "plugins.admin-extensions"
123
+ }
124
+ };
125
+ var proProductionModule = {
126
+ module: {
127
+ key: "pro.production",
128
+ displayName: "Production Use",
129
+ description: "Commercial production use, white-label branding, preview tokens and backups.",
130
+ firstParty: true,
131
+ commercial: true,
132
+ addOn: false,
133
+ requiredModules: ["core.cms", "core.developer"],
134
+ packageName: "@notty/module-production",
135
+ configKey: "production"
136
+ },
137
+ features: [
138
+ {
139
+ key: "deployment.production-use",
140
+ displayName: "Production Use",
141
+ description: "Run Notty for commercial production projects.",
142
+ owningModule: "pro.production",
143
+ commercial: true
144
+ },
145
+ {
146
+ key: "branding.white-label",
147
+ displayName: "White-label Branding",
148
+ description: "Customize admin branding for commercial projects.",
149
+ owningModule: "pro.production",
150
+ commercial: true
151
+ },
152
+ {
153
+ key: "preview.tokens",
154
+ displayName: "Preview Tokens",
155
+ description: "Generate secure preview links for unpublished content.",
156
+ owningModule: "pro.production",
157
+ commercial: true
158
+ },
159
+ {
160
+ key: "backups.manual",
161
+ displayName: "Manual Backups",
162
+ description: "Create and restore backups manually.",
163
+ owningModule: "pro.production",
164
+ commercial: true
165
+ }
166
+ ],
167
+ adminRouteGates: {
168
+ "admin:backups:list": "backups.manual",
169
+ "admin:backups:get": "backups.manual",
170
+ "admin:backups:create": "backups.manual",
171
+ "admin:backups:delete": "backups.manual",
172
+ "admin:backups:restore": "backups.manual",
173
+ "admin:preview-tokens:list": "preview.tokens",
174
+ "admin:preview-tokens:create": "preview.tokens",
175
+ "admin:preview-tokens:delete": "preview.tokens"
176
+ },
177
+ adminScopeGates: {
178
+ "admin:backups:read": "backups.manual",
179
+ "admin:backups:write": "backups.manual",
180
+ "preview:read": "preview.tokens",
181
+ "preview:write": "preview.tokens"
182
+ }
183
+ };
184
+ var businessWorkflowModule = {
185
+ module: {
186
+ key: "business.workflow",
187
+ displayName: "Workflow",
188
+ description: "Approvals, releases, assignments and editorial collaboration.",
189
+ firstParty: true,
190
+ commercial: true,
191
+ addOn: false,
192
+ requiredModules: ["pro.production"],
193
+ packageName: "@notty/module-workflow",
194
+ configKey: "workflow"
195
+ },
196
+ features: [
197
+ {
198
+ key: "workflow.approvals",
199
+ displayName: "Approvals",
200
+ description: "Route content through editorial approval states.",
201
+ owningModule: "business.workflow",
202
+ commercial: true
203
+ },
204
+ {
205
+ key: "workflow.releases",
206
+ displayName: "Content Releases",
207
+ description: "Group, schedule and roll back coordinated releases.",
208
+ owningModule: "business.workflow",
209
+ commercial: true
210
+ },
211
+ {
212
+ key: "workflow.assignments",
213
+ displayName: "Assignments",
214
+ description: "Assign editorial work to users.",
215
+ owningModule: "business.workflow",
216
+ commercial: true
217
+ },
218
+ {
219
+ key: "collaboration.comments",
220
+ displayName: "Comments",
221
+ description: "Discuss content with editorial comments.",
222
+ owningModule: "business.workflow",
223
+ commercial: true
224
+ }
225
+ ],
226
+ adminRouteGates: {
227
+ "admin:assignments:mine": "workflow.assignments",
228
+ "admin:releases:list": "workflow.releases",
229
+ "admin:releases:get": "workflow.releases",
230
+ "admin:releases:create": "workflow.releases",
231
+ "admin:releases:update": "workflow.releases",
232
+ "admin:releases:delete": "workflow.releases",
233
+ "admin:releases:add-item": "workflow.releases",
234
+ "admin:releases:remove-item": "workflow.releases",
235
+ "admin:releases:publish": "workflow.releases",
236
+ "admin:releases:schedule": "workflow.releases",
237
+ "admin:releases:unschedule": "workflow.releases",
238
+ "admin:releases:rollback": "workflow.releases"
239
+ },
240
+ adminScopeGates: {
241
+ "releases:read": "workflow.releases",
242
+ "releases:write": "workflow.releases"
243
+ }
244
+ };
245
+ var businessOperationsModule = {
246
+ module: {
247
+ key: "business.operations",
248
+ displayName: "Operations",
249
+ description: "Webhooks, job queue, scheduled jobs, backup automation and delivery insights.",
250
+ firstParty: true,
251
+ commercial: true,
252
+ addOn: false,
253
+ requiredModules: ["pro.production"],
254
+ packageName: "@notty/module-operations",
255
+ configKey: "operations"
256
+ },
257
+ features: [
258
+ {
259
+ key: "operations.webhooks",
260
+ displayName: "Webhooks",
261
+ description: "Send event-driven integrations.",
262
+ owningModule: "business.operations",
263
+ commercial: true
264
+ },
265
+ {
266
+ key: "operations.jobs",
267
+ displayName: "Job Queue",
268
+ description: "Run background jobs and retries.",
269
+ owningModule: "business.operations",
270
+ commercial: true
271
+ },
272
+ {
273
+ key: "operations.scheduled-jobs",
274
+ displayName: "Scheduled Jobs",
275
+ description: "Run cron-like operational jobs.",
276
+ owningModule: "business.operations",
277
+ commercial: true
278
+ },
279
+ {
280
+ key: "operations.backup-automation",
281
+ displayName: "Backup Automation",
282
+ description: "Schedule recurring backups and retention.",
283
+ owningModule: "business.operations",
284
+ commercial: true
285
+ },
286
+ {
287
+ key: "operations.delivery-observability",
288
+ displayName: "Delivery Observability",
289
+ description: "Inspect delivery API, search and cache state.",
290
+ owningModule: "business.operations",
291
+ commercial: true
292
+ },
293
+ {
294
+ key: "operations.alerts",
295
+ displayName: "Operational Alerts",
296
+ description: "Configure, acknowledge and resolve operational alerts.",
297
+ owningModule: "business.operations",
298
+ commercial: true
299
+ }
300
+ ],
301
+ adminRouteGates: {
302
+ "admin:backups:schedule:get": "operations.backup-automation",
303
+ "admin:backups:schedule:update": "operations.backup-automation",
304
+ "admin:alerts:list": "operations.alerts",
305
+ "admin:alerts:stats": "operations.alerts",
306
+ "admin:alerts:config:get": "operations.alerts",
307
+ "admin:alerts:config:update": "operations.alerts",
308
+ "admin:alerts:acknowledge": "operations.alerts",
309
+ "admin:alerts:resolve": "operations.alerts",
310
+ "admin:jobs:list": "operations.jobs",
311
+ "admin:jobs:get": "operations.jobs",
312
+ "admin:jobs:stats": "operations.jobs",
313
+ "admin:jobs:retry": "operations.jobs",
314
+ "admin:jobs:cancel": "operations.jobs",
315
+ "admin:jobs:cleanup": "operations.jobs",
316
+ "admin:scheduled-jobs:list": "operations.scheduled-jobs",
317
+ "admin:scheduled-jobs:get": "operations.scheduled-jobs",
318
+ "admin:scheduled-jobs:create": "operations.scheduled-jobs",
319
+ "admin:scheduled-jobs:update": "operations.scheduled-jobs",
320
+ "admin:scheduled-jobs:delete": "operations.scheduled-jobs",
321
+ "admin:scheduled-jobs:trigger": "operations.scheduled-jobs",
322
+ "admin:delivery:overview": "operations.delivery-observability",
323
+ "admin:delivery:reindex": "operations.delivery-observability",
324
+ "admin:observability:overview": "operations.delivery-observability",
325
+ "admin:observability:cache:clear": "operations.delivery-observability"
326
+ },
327
+ adminScopeGates: {
328
+ "webhooks:read": "operations.webhooks",
329
+ "webhooks:write": "operations.webhooks",
330
+ "jobs:read": "operations.jobs",
331
+ "jobs:write": "operations.jobs",
332
+ "scheduled-jobs:read": "operations.scheduled-jobs",
333
+ "scheduled-jobs:write": "operations.scheduled-jobs",
334
+ "admin:alerts:read": "operations.alerts",
335
+ "admin:alerts:write": "operations.alerts"
336
+ }
337
+ };
338
+ var businessComplianceModule = {
339
+ module: {
340
+ key: "business.compliance",
341
+ displayName: "Compliance",
342
+ description: "Audit logs, retention policies, legal holds and subject request workflows.",
343
+ firstParty: true,
344
+ commercial: true,
345
+ addOn: false,
346
+ requiredModules: ["pro.production"],
347
+ optionalModules: ["business.workflow"],
348
+ packageName: "@notty/module-compliance",
349
+ configKey: "compliance"
350
+ },
351
+ features: [
352
+ {
353
+ key: "compliance.audit-log",
354
+ displayName: "Audit Log",
355
+ description: "Track administrative and content activity.",
356
+ owningModule: "business.compliance",
357
+ commercial: true
358
+ },
359
+ {
360
+ key: "compliance.governance",
361
+ displayName: "Governance",
362
+ description: "Configure compliance governance controls.",
363
+ owningModule: "business.compliance",
364
+ commercial: true
365
+ },
366
+ {
367
+ key: "compliance.retention",
368
+ displayName: "Retention Policies",
369
+ description: "Manage data retention policy execution.",
370
+ owningModule: "business.compliance",
371
+ commercial: true
372
+ },
373
+ {
374
+ key: "compliance.legal-holds",
375
+ displayName: "Legal Holds",
376
+ description: "Protect records from retention deletion.",
377
+ owningModule: "business.compliance",
378
+ commercial: true
379
+ },
380
+ {
381
+ key: "compliance.subject-requests",
382
+ displayName: "Subject Requests",
383
+ description: "Handle privacy export and erasure workflows.",
384
+ owningModule: "business.compliance",
385
+ commercial: true
386
+ }
387
+ ],
388
+ adminRouteGates: {
389
+ "admin:audit-logs:list": "compliance.audit-log",
390
+ "admin:audit-logs:get": "compliance.audit-log",
391
+ "admin:activity:list": "compliance.audit-log",
392
+ "admin:activity:stream": "compliance.audit-log",
393
+ "admin:compliance:governance:get": "compliance.governance",
394
+ "admin:compliance:governance:upsert": "compliance.governance",
395
+ "admin:compliance:legal-holds:list": "compliance.legal-holds",
396
+ "admin:compliance:legal-holds:get": "compliance.legal-holds",
397
+ "admin:compliance:legal-holds:create": "compliance.legal-holds",
398
+ "admin:compliance:legal-holds:release": "compliance.legal-holds",
399
+ "admin:compliance:retention:list": "compliance.retention",
400
+ "admin:compliance:retention:get": "compliance.retention",
401
+ "admin:compliance:retention:create": "compliance.retention",
402
+ "admin:compliance:retention:update": "compliance.retention",
403
+ "admin:compliance:retention:delete": "compliance.retention",
404
+ "admin:compliance:retention:run": "compliance.retention",
405
+ "admin:compliance:subject-requests:list": "compliance.subject-requests",
406
+ "admin:compliance:subject-requests:get": "compliance.subject-requests",
407
+ "admin:compliance:subject-requests:create": "compliance.subject-requests",
408
+ "admin:compliance:subject-requests:download": "compliance.subject-requests"
409
+ },
410
+ adminScopeGates: {
411
+ "audit-logs:read": "compliance.audit-log",
412
+ "activity:read": "compliance.audit-log"
413
+ }
414
+ };
415
+ var businessAiModule = {
416
+ module: {
417
+ key: "business.ai",
418
+ displayName: "AI Assistants",
419
+ description: "Schema, editorial and governance assistants with operational guardrails.",
420
+ firstParty: true,
421
+ commercial: true,
422
+ addOn: false,
423
+ requiredModules: ["core.developer"],
424
+ optionalModules: ["business.workflow", "business.compliance"],
425
+ packageName: "@notty/module-ai",
426
+ configKey: "ai"
427
+ },
428
+ features: [
429
+ {
430
+ key: "ai.schema-assistant",
431
+ displayName: "Schema Assistant",
432
+ description: "Use AI to propose schema improvements.",
433
+ owningModule: "business.ai",
434
+ commercial: true
435
+ },
436
+ {
437
+ key: "ai.editorial-qa",
438
+ displayName: "Editorial QA",
439
+ description: "Use AI to review content quality.",
440
+ owningModule: "business.ai",
441
+ commercial: true
442
+ },
443
+ {
444
+ key: "ai.guardrails",
445
+ displayName: "AI Guardrails",
446
+ description: "Apply AI action policy and governance checks.",
447
+ owningModule: "business.ai",
448
+ commercial: true
449
+ }
450
+ ],
451
+ adminRouteGates: {
452
+ "admin:ai:schema-assistant": "ai.schema-assistant",
453
+ "admin:ai:migration-advisor": "ai.schema-assistant",
454
+ "admin:ai:scaffolding-assistant": "ai.schema-assistant",
455
+ "admin:ai:editorial-qa": "ai.editorial-qa",
456
+ "admin:ai:query-advisor": "ai.guardrails",
457
+ "admin:ai:automation-advisor": "ai.guardrails",
458
+ "admin:ai:actions:list": "ai.guardrails",
459
+ "admin:ai:actions:get": "ai.guardrails",
460
+ "admin:ai:actions:propose": "ai.guardrails",
461
+ "admin:ai:actions:approve": "ai.guardrails",
462
+ "admin:ai:actions:reject": "ai.guardrails",
463
+ "admin:ai:actions:apply": "ai.guardrails"
464
+ },
465
+ adminScopeGates: {
466
+ "admin:ai:read": "ai.guardrails",
467
+ "admin:ai:write": "ai.guardrails"
468
+ }
469
+ };
470
+ var businessPluginTrustModule = {
471
+ module: {
472
+ key: "business.plugin-trust",
473
+ displayName: "Plugin Trust",
474
+ description: "First-party plugin allowlists, integrity checks and production trust policy.",
475
+ firstParty: true,
476
+ commercial: true,
477
+ addOn: false,
478
+ requiredModules: ["core.developer"],
479
+ packageName: "@notty/module-plugin-trust",
480
+ configKey: "pluginTrust"
481
+ },
482
+ features: [
483
+ {
484
+ key: "plugins.trust-policy",
485
+ displayName: "Plugin Trust Policy",
486
+ description: "Enforce plugin allowlists and integrity checks.",
487
+ owningModule: "business.plugin-trust",
488
+ commercial: true
489
+ }
490
+ ]
491
+ };
492
+ var enterpriseAuthModule = {
493
+ module: {
494
+ key: "enterprise.auth",
495
+ displayName: "Enterprise Identity",
496
+ description: "SSO and SCIM automation for corporate identity providers.",
497
+ firstParty: true,
498
+ commercial: true,
499
+ addOn: false,
500
+ requiredModules: ["pro.production"],
501
+ packageName: "@notty/module-enterprise-auth",
502
+ configKey: "enterpriseAuth"
503
+ },
504
+ features: [
505
+ {
506
+ key: "enterprise.sso",
507
+ displayName: "SSO",
508
+ description: "Authenticate admins through enterprise identity providers.",
509
+ owningModule: "enterprise.auth",
510
+ commercial: true
511
+ },
512
+ {
513
+ key: "enterprise.scim",
514
+ displayName: "SCIM",
515
+ description: "Automate identity provisioning and deprovisioning.",
516
+ owningModule: "enterprise.auth",
517
+ commercial: true
518
+ }
519
+ ],
520
+ adminRouteGates: {
521
+ "admin:sso:providers:list": "enterprise.sso",
522
+ "admin:sso:providers:show": "enterprise.sso",
523
+ "admin:sso:providers:create": "enterprise.sso",
524
+ "admin:sso:providers:update": "enterprise.sso",
525
+ "admin:sso:providers:delete": "enterprise.sso"
526
+ },
527
+ adminScopeGates: {
528
+ "admin:scim:read": "enterprise.scim",
529
+ "admin:scim:write": "enterprise.scim"
530
+ }
531
+ };
532
+ var enterpriseScaleModule = {
533
+ module: {
534
+ key: "enterprise.scale",
535
+ displayName: "Enterprise Scale",
536
+ description: "Multi-tenancy, workspaces, quotas and scale-oriented isolation controls.",
537
+ firstParty: true,
538
+ commercial: true,
539
+ addOn: false,
540
+ requiredModules: ["pro.production"],
541
+ optionalModules: ["enterprise.auth"],
542
+ packageName: "@notty/module-enterprise-scale",
543
+ configKey: "enterpriseScale"
544
+ },
545
+ features: [
546
+ {
547
+ key: "enterprise.multi-tenancy",
548
+ displayName: "Multi-tenancy",
549
+ description: "Isolate tenants in a single deployment.",
550
+ owningModule: "enterprise.scale",
551
+ commercial: true
552
+ },
553
+ {
554
+ key: "enterprise.workspaces",
555
+ displayName: "Workspaces",
556
+ description: "Segment content and users by workspace.",
557
+ owningModule: "enterprise.scale",
558
+ commercial: true
559
+ },
560
+ {
561
+ key: "enterprise.quotas",
562
+ displayName: "Quotas",
563
+ description: "Limit tenant and workspace resource usage.",
564
+ owningModule: "enterprise.scale",
565
+ commercial: true
566
+ }
567
+ ],
568
+ adminRouteGates: {
569
+ "admin:workspaces:list": "enterprise.workspaces",
570
+ "admin:workspaces:get": "enterprise.workspaces",
571
+ "admin:workspaces:create": "enterprise.workspaces",
572
+ "admin:workspaces:update": "enterprise.workspaces",
573
+ "admin:workspaces:delete": "enterprise.workspaces"
574
+ },
575
+ adminScopeGates: {
576
+ "admin:workspaces:read": "enterprise.workspaces",
577
+ "admin:workspaces:write": "enterprise.workspaces"
578
+ }
579
+ };
580
+ var enterpriseDeploymentModule = {
581
+ module: {
582
+ key: "enterprise.deployment",
583
+ displayName: "Enterprise Deployment",
584
+ description: "High-availability deployment and operations controls.",
585
+ firstParty: true,
586
+ commercial: true,
587
+ addOn: false,
588
+ requiredModules: ["pro.production"],
589
+ optionalModules: ["business.operations"],
590
+ packageName: "@notty/module-enterprise-deployment",
591
+ configKey: "enterpriseDeployment"
592
+ },
593
+ features: [
594
+ {
595
+ key: "enterprise.ha",
596
+ displayName: "High Availability",
597
+ description: "Run Notty in highly available production topologies.",
598
+ owningModule: "enterprise.deployment",
599
+ commercial: true
600
+ }
601
+ ]
602
+ };
603
+ var commerceBundleModule = {
604
+ module: {
605
+ key: "commerce.bundle",
606
+ displayName: "Commerce Bundle",
607
+ description: "First-party commerce domain modules for catalogs and checkout integrations.",
608
+ firstParty: true,
609
+ commercial: true,
610
+ addOn: true,
611
+ requiredModules: ["pro.production"],
612
+ optionalModules: ["business.workflow"],
613
+ packageName: "@notty/module-commerce",
614
+ configKey: "commerce"
615
+ },
616
+ features: [
617
+ {
618
+ key: "commerce.catalog",
619
+ displayName: "Commerce Catalog",
620
+ description: "Model products, variants and commerce content.",
621
+ owningModule: "commerce.bundle",
622
+ commercial: true
623
+ },
624
+ {
625
+ key: "commerce.checkout-integrations",
626
+ displayName: "Checkout Integrations",
627
+ description: "Connect commerce content to checkout providers.",
628
+ owningModule: "commerce.bundle",
629
+ commercial: true
630
+ }
631
+ ]
632
+ };
633
+ var portalBundleModule = {
634
+ module: {
635
+ key: "portal.bundle",
636
+ displayName: "Portal Bundle",
637
+ description: "First-party portal modules for intranet and authenticated member areas.",
638
+ firstParty: true,
639
+ commercial: true,
640
+ addOn: true,
641
+ requiredModules: ["pro.production"],
642
+ optionalModules: ["enterprise.auth"],
643
+ packageName: "@notty/module-portal",
644
+ configKey: "portal"
645
+ },
646
+ features: [
647
+ {
648
+ key: "portal.intranet",
649
+ displayName: "Intranet Portal",
650
+ description: "Build internal portals on top of Notty content.",
651
+ owningModule: "portal.bundle",
652
+ commercial: true
653
+ },
654
+ {
655
+ key: "portal.member-areas",
656
+ displayName: "Member Areas",
657
+ description: "Build authenticated portal experiences.",
658
+ owningModule: "portal.bundle",
659
+ commercial: true
660
+ }
661
+ ]
662
+ };
663
+ var coreModules = [coreCmsModule, coreDeveloperModule];
664
+ var proModules = [proProductionModule];
665
+ var businessModules = [
666
+ businessWorkflowModule,
667
+ businessOperationsModule,
668
+ businessComplianceModule,
669
+ businessAiModule,
670
+ businessPluginTrustModule
671
+ ];
672
+ var enterpriseModules = [
673
+ enterpriseAuthModule,
674
+ enterpriseScaleModule,
675
+ enterpriseDeploymentModule
676
+ ];
677
+ var addOnModules = [commerceBundleModule, portalBundleModule];
678
+ var firstPartyModuleManifests = [
679
+ ...coreModules,
680
+ ...proModules,
681
+ ...businessModules,
682
+ ...enterpriseModules,
683
+ ...addOnModules
684
+ ];
685
+ // Annotate the CommonJS export names for ESM import in node:
686
+ 0 && (module.exports = {
687
+ coreCmsModule,
688
+ coreDeveloperModule,
689
+ coreModules
690
+ });
@@ -0,0 +1,2 @@
1
+ export { g as coreCmsModule, h as coreDeveloperModule, i as coreModules } from '../addons/index.cjs';
2
+ import '@notty/module-api';
@@ -0,0 +1,2 @@
1
+ export { g as coreCmsModule, h as coreDeveloperModule, i as coreModules } from '../addons/index.js';
2
+ import '@notty/module-api';