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