@oktis-works/core 0.5.15 → 0.7.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.
- package/dist/cache/tags.d.ts +12 -0
- package/dist/cache/tags.d.ts.map +1 -0
- package/dist/cache/tags.js +55 -0
- package/dist/cache/tags.js.map +1 -0
- package/dist/comments/service.d.ts +54 -0
- package/dist/comments/service.d.ts.map +1 -0
- package/dist/comments/service.js +166 -0
- package/dist/comments/service.js.map +1 -0
- package/dist/content/service.d.ts.map +1 -1
- package/dist/content/service.js +24 -14
- package/dist/content/service.js.map +1 -1
- package/dist/fields/location-rules.d.ts +3 -1
- package/dist/fields/location-rules.d.ts.map +1 -1
- package/dist/fields/location-rules.js +1 -0
- package/dist/fields/location-rules.js.map +1 -1
- package/dist/fields/service.d.ts +41 -0
- package/dist/fields/service.d.ts.map +1 -1
- package/dist/fields/service.js +134 -0
- package/dist/fields/service.js.map +1 -1
- package/dist/fields/types/registry.d.ts +18 -0
- package/dist/fields/types/registry.d.ts.map +1 -1
- package/dist/fields/types/registry.js +13 -0
- package/dist/fields/types/registry.js.map +1 -1
- package/dist/hooks/points.d.ts +6 -0
- package/dist/hooks/points.d.ts.map +1 -1
- package/dist/hooks/points.js +7 -0
- package/dist/hooks/points.js.map +1 -1
- package/dist/index.d.ts +6 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +6 -1
- package/dist/index.js.map +1 -1
- package/dist/mail/service.d.ts +26 -0
- package/dist/mail/service.d.ts.map +1 -0
- package/dist/mail/service.js +117 -0
- package/dist/mail/service.js.map +1 -0
- package/dist/plugin/load.d.ts +80 -13
- package/dist/plugin/load.d.ts.map +1 -1
- package/dist/plugin/load.js +315 -50
- package/dist/plugin/load.js.map +1 -1
- package/dist/plugin/service.d.ts.map +1 -1
- package/dist/plugin/service.js +5 -1
- package/dist/plugin/service.js.map +1 -1
- package/dist/queue/producer.d.ts +12 -1
- package/dist/queue/producer.d.ts.map +1 -1
- package/dist/queue/producer.js +92 -0
- package/dist/queue/producer.js.map +1 -1
- package/dist/role/plugin-roles.d.ts +39 -0
- package/dist/role/plugin-roles.d.ts.map +1 -0
- package/dist/role/plugin-roles.js +161 -0
- package/dist/role/plugin-roles.js.map +1 -0
- package/dist/webhooks/service.d.ts +33 -0
- package/dist/webhooks/service.d.ts.map +1 -0
- package/dist/webhooks/service.js +57 -0
- package/dist/webhooks/service.js.map +1 -0
- package/package.json +6 -6
package/dist/fields/service.js
CHANGED
|
@@ -469,5 +469,139 @@ export class FieldGroupService {
|
|
|
469
469
|
};
|
|
470
470
|
}
|
|
471
471
|
}
|
|
472
|
+
/**
|
|
473
|
+
* Service for managing plugin-registered field type extensions.
|
|
474
|
+
* Handles persistence and retrieval of custom field types from the database.
|
|
475
|
+
*/
|
|
476
|
+
export class FieldTypeExtensionService {
|
|
477
|
+
/**
|
|
478
|
+
* Register a new field type from a plugin.
|
|
479
|
+
*/
|
|
480
|
+
async register(definition) {
|
|
481
|
+
const sql = getConnection();
|
|
482
|
+
await sql.unsafe(`INSERT INTO field_type_extensions (plugin_name, type, label, category, icon, supports_conditions, is_layout, admin_component_path, admin_renderer_path, config_schema, lazy)
|
|
483
|
+
VALUES ($1, $2, $3, $4, $5, $6, $7, $8, $9, $10::jsonb, $11)
|
|
484
|
+
ON CONFLICT (type) DO UPDATE SET
|
|
485
|
+
plugin_name = EXCLUDED.plugin_name,
|
|
486
|
+
label = EXCLUDED.label,
|
|
487
|
+
category = EXCLUDED.category,
|
|
488
|
+
icon = EXCLUDED.icon,
|
|
489
|
+
supports_conditions = EXCLUDED.supports_conditions,
|
|
490
|
+
is_layout = EXCLUDED.is_layout,
|
|
491
|
+
admin_component_path = EXCLUDED.admin_component_path,
|
|
492
|
+
admin_renderer_path = EXCLUDED.admin_renderer_path,
|
|
493
|
+
config_schema = EXCLUDED.config_schema,
|
|
494
|
+
lazy = EXCLUDED.lazy,
|
|
495
|
+
updated_at = NOW()`, [
|
|
496
|
+
definition.pluginName,
|
|
497
|
+
definition.type,
|
|
498
|
+
definition.label,
|
|
499
|
+
definition.category,
|
|
500
|
+
definition.icon,
|
|
501
|
+
definition.supportsConditions,
|
|
502
|
+
definition.isLayout,
|
|
503
|
+
definition.adminComponentPath ?? null,
|
|
504
|
+
definition.adminRendererPath ?? null,
|
|
505
|
+
definition.configSchema ? JSON.stringify(definition.configSchema) : null,
|
|
506
|
+
definition.lazy ?? false,
|
|
507
|
+
]);
|
|
508
|
+
}
|
|
509
|
+
/**
|
|
510
|
+
* Unregister a field type by plugin name and type.
|
|
511
|
+
*/
|
|
512
|
+
async unregister(pluginName, type) {
|
|
513
|
+
const sql = getConnection();
|
|
514
|
+
const result = await sql.unsafe('DELETE FROM field_type_extensions WHERE plugin_name = $1 AND type = $2', [pluginName, type]);
|
|
515
|
+
return result.length > 0;
|
|
516
|
+
}
|
|
517
|
+
/**
|
|
518
|
+
* Unregister all field types for a plugin.
|
|
519
|
+
*/
|
|
520
|
+
async unregisterAllForPlugin(pluginName) {
|
|
521
|
+
const sql = getConnection();
|
|
522
|
+
const result = await sql.unsafe('DELETE FROM field_type_extensions WHERE plugin_name = $1', [pluginName]);
|
|
523
|
+
return result.length;
|
|
524
|
+
}
|
|
525
|
+
/**
|
|
526
|
+
* Get all registered plugin field types.
|
|
527
|
+
*/
|
|
528
|
+
async listAll() {
|
|
529
|
+
const sql = getConnection();
|
|
530
|
+
const rows = await sql.unsafe('SELECT * FROM field_type_extensions ORDER BY category, label');
|
|
531
|
+
return rows.map((row) => ({
|
|
532
|
+
type: String(row['type']),
|
|
533
|
+
label: String(row['label']),
|
|
534
|
+
category: String(row['category']),
|
|
535
|
+
icon: String(row['icon']),
|
|
536
|
+
supportsConditions: Boolean(row['supports_conditions']),
|
|
537
|
+
isLayout: Boolean(row['is_layout']),
|
|
538
|
+
adminComponentPath: String(row['admin_component_path']),
|
|
539
|
+
adminRendererPath: row['admin_renderer_path'] ? String(row['admin_renderer_path']) : undefined,
|
|
540
|
+
configSchema: row['config_schema'],
|
|
541
|
+
lazy: Boolean(row['lazy']),
|
|
542
|
+
isPluginType: true,
|
|
543
|
+
pluginName: String(row['plugin_name']),
|
|
544
|
+
}));
|
|
545
|
+
}
|
|
546
|
+
/**
|
|
547
|
+
* Get field types for a specific plugin.
|
|
548
|
+
*/
|
|
549
|
+
async listForPlugin(pluginName) {
|
|
550
|
+
const sql = getConnection();
|
|
551
|
+
const rows = await sql.unsafe('SELECT * FROM field_type_extensions WHERE plugin_name = $1 ORDER BY category, label', [pluginName]);
|
|
552
|
+
return rows.map((row) => ({
|
|
553
|
+
type: String(row['type']),
|
|
554
|
+
label: String(row['label']),
|
|
555
|
+
category: String(row['category']),
|
|
556
|
+
icon: String(row['icon']),
|
|
557
|
+
supportsConditions: Boolean(row['supports_conditions']),
|
|
558
|
+
isLayout: Boolean(row['is_layout']),
|
|
559
|
+
adminComponentPath: String(row['admin_component_path']),
|
|
560
|
+
adminRendererPath: row['admin_renderer_path'] ? String(row['admin_renderer_path']) : undefined,
|
|
561
|
+
configSchema: row['config_schema'],
|
|
562
|
+
isPluginType: true,
|
|
563
|
+
pluginName: String(row['plugin_name']),
|
|
564
|
+
}));
|
|
565
|
+
}
|
|
566
|
+
/**
|
|
567
|
+
* Get a specific field type by type name.
|
|
568
|
+
*/
|
|
569
|
+
async getByType(type) {
|
|
570
|
+
const sql = getConnection();
|
|
571
|
+
const rows = await sql.unsafe('SELECT * FROM field_type_extensions WHERE type = $1', [type]);
|
|
572
|
+
const row = rows[0];
|
|
573
|
+
if (!row)
|
|
574
|
+
return null;
|
|
575
|
+
return {
|
|
576
|
+
type: String(row['type']),
|
|
577
|
+
label: String(row['label']),
|
|
578
|
+
category: String(row['category']),
|
|
579
|
+
icon: String(row['icon']),
|
|
580
|
+
supportsConditions: Boolean(row['supports_conditions']),
|
|
581
|
+
isLayout: Boolean(row['is_layout']),
|
|
582
|
+
adminComponentPath: String(row['admin_component_path']),
|
|
583
|
+
adminRendererPath: row['admin_renderer_path'] ? String(row['admin_renderer_path']) : undefined,
|
|
584
|
+
configSchema: row['config_schema'],
|
|
585
|
+
isPluginType: true,
|
|
586
|
+
pluginName: String(row['plugin_name']),
|
|
587
|
+
};
|
|
588
|
+
}
|
|
589
|
+
/**
|
|
590
|
+
* Sync plugin field types to the in-memory registry.
|
|
591
|
+
* Called during plugin bootstrap to make types available globally.
|
|
592
|
+
* Item 25: types flagged `lazy` only sync on first use — pass
|
|
593
|
+
* `{ includeLazy: true }` from the field-types endpoint (the first use).
|
|
594
|
+
*/
|
|
595
|
+
async syncToRegistry(options) {
|
|
596
|
+
const types = await this.listAll();
|
|
597
|
+
const { registerFieldType } = await import('./types/registry.js');
|
|
598
|
+
for (const type of types) {
|
|
599
|
+
if (type.lazy && !options?.includeLazy)
|
|
600
|
+
continue;
|
|
601
|
+
registerFieldType(type);
|
|
602
|
+
}
|
|
603
|
+
}
|
|
604
|
+
}
|
|
605
|
+
export const fieldTypeExtensionService = new FieldTypeExtensionService();
|
|
472
606
|
export const fieldGroupService = new FieldGroupService();
|
|
473
607
|
//# sourceMappingURL=service.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"service.js","sourceRoot":"","sources":["../../src/fields/service.ts"],"names":[],"mappings":"AAAA,0CAA0C;AAE1C,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AACzC,OAAO,EAAE,aAAa,EAAE,MAAM,uBAAuB,CAAC;AAEtD,OAAO,EAAE,kBAAkB,EAAE,MAAM,qBAAqB,CAAC;AACzD,OAAO,EAAE,qBAAqB,EAAE,MAAM,kBAAkB,CAAC;AAGzD,OAAO,EAAE,mBAAmB,EAAE,MAAM,iBAAiB,CAAC;AA4DtD,MAAM,oBAAoB,GAAG,IAAI,GAAG,CAAC,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC,CAAC;AACxD,MAAM,mBAAmB,GAAG;IAC1B,OAAO;IACP,MAAM;IACN,SAAS;IACT,SAAS;IACT,gBAAgB;IAChB,WAAW;IACX,iBAAiB;IACjB,QAAQ;IACR,QAAQ;CACT,CAAC;AAEF,SAAS,UAAU,CAAC,KAAa;IAC/B,OAAO,KAAK;SACT,WAAW,EAAE;SACb,SAAS,CAAC,KAAK,CAAC;SAChB,OAAO,CAAC,QAAQ,EAAE,EAAE,CAAC;SACrB,OAAO,CAAC,aAAa,EAAE,GAAG,CAAC;SAC3B,OAAO,CAAC,UAAU,EAAE,EAAE,CAAC,CAAC;AAC7B,CAAC;AAED,MAAM,OAAO,iBAAiB;IAC5B,KAAK,CAAC,IAAI;QACR,MAAM,GAAG,GAAG,aAAa,EAAE,CAAC;QAC5B,MAAM,IAAI,GAAG,MAAM,GAAG,CAAC,MAAM,CAC3B;kDAC4C,CAC7C,CAAC;QAEF,OAAQ,IAAkD,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC;YACvE,EAAE,EAAE,MAAM,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;YACrB,KAAK,EAAE,MAAM,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;YAC3B,GAAG,EAAE,MAAM,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;YACvB,aAAa,EAAG,GAAG,CAAC,gBAAgB,CAAsB,IAAI,EAAE;YAChE,QAAQ,EAAE,GAAG,CAAC,UAAU,CAA2B;YACnD,YAAY,EAAE,GAAG,CAAC,eAAe,CAA+B;YAChE,MAAM,EAAE,OAAO,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;YAC9B,QAAQ,EAAG,GAAG,CAAC,UAAU,CAA6B,IAAI,EAAE;YAC5D,UAAU,EAAE,MAAM,CAAC,GAAG,CAAC,aAAa,CAAC,IAAI,CAAC,CAAC;SAC5C,CAAC,CAAC,CAAC;IACN,CAAC;IAED,KAAK,CAAC,OAAO,CAAC,EAAU;QACtB,MAAM,GAAG,GAAG,aAAa,EAAE,CAAC;QAC5B,MAAM,IAAI,GAAG,MAAM,GAAG,CAAC,MAAM,CAAC,0CAA0C,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;QAChF,MAAM,KAAK,GAAG,IAAI,CAAC,CAAC,CAAwC,CAAC;QAC7D,IAAI,CAAC,KAAK;YAAE,OAAO,IAAI,CAAC;QAExB,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,iBAAiB,CAAC,EAAE,CAAC,CAAC;QAEhD,OAAO,IAAI,CAAC,UAAU,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC;IACxC,CAAC;IAED,KAAK,CAAC,QAAQ,CAAC,GAAW;QACxB,MAAM,GAAG,GAAG,aAAa,EAAE,CAAC;QAC5B,MAAM,IAAI,GAAG,MAAM,GAAG,CAAC,MAAM,CAAC,2CAA2C,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC;QAClF,MAAM,KAAK,GAAG,IAAI,CAAC,CAAC,CAAwC,CAAC;QAC7D,IAAI,CAAC,KAAK;YAAE,OAAO,IAAI,CAAC;QAExB,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,iBAAiB,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAEjE,OAAO,IAAI,CAAC,UAAU,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC;IACxC,CAAC;IAED,KAAK,CAAC,MAAM,CAAC,KAAsB;QACjC,MAAM,GAAG,GAAG,aAAa,EAAE,CAAC;QAE5B,IAAI,CAAC,cAAc,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;QAElC,MAAM,EAAE,GAAG,UAAU,EAAE,CAAC;QACxB,MAAM,GAAG,GAAG,KAAK,CAAC,GAAG,IAAI,SAAS,UAAU,CAAC,KAAK,CAAC,KAAK,CAAC,IAAI,IAAI,CAAC,GAAG,EAAE,CAAC,QAAQ,CAAC,EAAE,CAAC,EAAE,CAAC;QAEvF,MAAM,GAAG,CAAC,MAAM,CACd;6DACuD,EACvD;YACE,EAAE;YACF,KAAK,CAAC,KAAK;YACX,GAAG;YACH,KAAK,CAAC,aAAa,IAAI,EAAE;YACzB,KAAK,CAAC,QAAQ,IAAI,QAAQ;YAC1B,KAAK,CAAC,YAAY,IAAI,UAAU;YAChC,KAAK,CAAC,MAAM,IAAI,IAAI;YACpB,KAAK,CAAC,QAAQ,IAAI,EAAE;SACrB,CACF,CAAC;QAEF,IAAI,KAAK,CAAC,MAAM,IAAI,KAAK,CAAC,MAAM,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YAC5C,2EAA2E;YAC3E,MAAM,IAAI,CAAC,eAAe,CAAC,EAAE,EAAE,KAAK,CAAC,MAAM,CAAC,CAAC;QAC/C,CAAC;QAED,OAAO,CAAC,MAAM,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC,CAAE,CAAC;IACnC,CAAC;IAED,KAAK,CAAC,MAAM,CAAC,EAAU,EAAE,KAA+B;QACtD,MAAM,GAAG,GAAG,aAAa,EAAE,CAAC;QAC5B,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;QACxC,IAAI,CAAC,QAAQ;YAAE,OAAO,IAAI,CAAC;QAE3B,IAAI,CAAC,cAAc,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;QAElC,MAAM,GAAG,CAAC,MAAM,CACd;;;;;;;;qBAQe,EACf;YACE,KAAK,CAAC,KAAK,IAAI,QAAQ,CAAC,KAAK;YAC7B,KAAK,CAAC,aAAa,IAAI,QAAQ,CAAC,aAAa,IAAI,EAAE;YACnD,KAAK,CAAC,QAAQ,IAAI,QAAQ,CAAC,QAAQ,IAAI,QAAQ;YAC/C,KAAK,CAAC,YAAY,IAAI,QAAQ,CAAC,YAAY,IAAI,UAAU;YACzD,KAAK,CAAC,MAAM,IAAI,QAAQ,CAAC,MAAM,IAAI,IAAI;YACvC,KAAK,CAAC,QAAQ,IAAI,QAAQ,CAAC,QAAQ,IAAI,EAAE;YACzC,EAAE;SACH,CACF,CAAC;QAEF,IAAI,KAAK,CAAC,MAAM,KAAK,SAAS,EAAE,CAAC;YAC/B,kEAAkE;YAClE,kEAAkE;YAClE,0EAA0E;YAC1E,6CAA6C;YAC7C,MAAM,IAAI,CAAC,eAAe,CAAC,EAAE,EAAE,KAAK,CAAC,MAAM,CAAC,CAAC;QAC/C,CAAC;QAED,OAAO,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;IAC1B,CAAC;IAED,KAAK,CAAC,MAAM,CAAC,EAAU;QACrB,MAAM,GAAG,GAAG,aAAa,EAAE,CAAC;QAC5B,MAAM,MAAM,GAAG,MAAM,GAAG,CAAC,MAAM,CAAC,qDAAqD,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;QAC7F,OAAO,MAAM,CAAC,MAAM,GAAG,CAAC,CAAC;IAC3B,CAAC;IAED,KAAK,CAAC,uBAAuB,CAAC,OAAwB;QACpD,MAAM,GAAG,GAAG,MAAM,IAAI,CAAC,IAAI,EAAE,CAAC;QAC9B,MAAM,QAAQ,GAAiB,EAAE,CAAC;QAClC,MAAM,iBAAiB,GAAG,OAAO,CAAC,WAAW;YAC3C,CAAC,CAAC,MAAM,IAAI,CAAC,oBAAoB,CAAC,OAAO,CAAC,WAAW,CAAC;YACtD,CAAC,CAAC,IAAI,CAAC;QAET,KAAK,MAAM,OAAO,IAAI,GAAG,EAAE,CAAC;YAC1B,IAAI,CAAC,OAAO,CAAC,MAAM;gBAAE,SAAS;YAC9B,IAAI,CAAC,kBAAkB,CAAC,OAAO,CAAC,aAAa,IAAI,EAAE,EAAE,OAAO,CAAC;gBAAE,SAAS;YAExE,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;YAC5C,IAAI,IAAI;gBAAE,QAAQ,CAAC,IAAI,CAAC,iBAAiB,CAAC,CAAC,CAAC,IAAI,CAAC,gBAAgB,CAAC,IAAI,EAAE,iBAAiB,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;QACrG,CAAC;QAED,OAAO,QAAQ,CAAC;IAClB,CAAC;IAED,KAAK,CAAC,mBAAmB,CAAC,MAAoB;QAC5C,MAAM,MAAM,GAAuB,EAAE,CAAC;QAEtC,KAAK,MAAM,KAAK,IAAI,MAAM,EAAE,CAAC;YAC3B,MAAM,CAAC,IAAI,CAAC,GAAG,KAAK,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,IAAI,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;QACzE,CAAC;QAED,OAAO,MAAM,CAAC;IAChB,CAAC;IAED;;;;;;;OAOG;IACH,KAAK,CAAC,cAAc,CAAC,OAAwB,EAAE,MAA+B;QAC5E,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,uBAAuB,CAAC,OAAO,CAAC,CAAC;QAC3D,MAAM,MAAM,GAAG,MAAM,CAAC,OAAO,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,IAAI,CAAC,eAAe,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC;QAE7E,MAAM,EAAE,MAAM,EAAE,GAAG,mBAAmB,CACpC,MAAM,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,IAAI,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC,EAChD,MAAM,CACP,CAAC;QAEF,OAAO,MAAM,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;IAC9C,CAAC;IAED,qEAAqE;IAC7D,eAAe,CAAC,MAAiC;QACvD,OAAO,MAAM;aACV,MAAM,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC,KAAK,CAAC,WAAW,CAAC;aACrC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC;YACf,GAAG,KAAK;YACR,SAAS,EAAE,IAAI,CAAC,eAAe,CAAC,KAAK,CAAC,SAAS,CAAC;YAChD,OAAO,EAAE,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC;gBACtC,GAAG,MAAM;gBACT,SAAS,EAAE,IAAI,CAAC,eAAe,CAAC,MAAM,CAAC,SAAS,CAAC;aAClD,CAAC,CAAC;SACJ,CAAC,CAAC,CAAC;IACR,CAAC;IAEO,aAAa,CAAC,KAA8B;QAClD,OAAO;YACL,IAAI,EAAE,KAAK,CAAC,IAAI;YAChB,IAAI,EAAE,KAAK,CAAC,IAAI;YAChB,KAAK,EAAE,KAAK,CAAC,KAAK;YAClB,QAAQ,EAAE,KAAK,CAAC,QAAQ;YACxB,MAAM,EAAE,KAAK,CAAC,MAAM;YACpB,gBAAgB,EAAE,KAAK,CAAC,gBAAwD;YAChF,SAAS,EAAE,KAAK,CAAC,SAAS,EAAE,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,CAAC;YACjE,OAAO,EAAE,KAAK,CAAC,OAAO,EAAE,GAAG,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC;gBACvC,IAAI,EAAE,MAAM,CAAC,IAAI;gBACjB,KAAK,EAAE,MAAM,CAAC,KAAK;gBACnB,SAAS,EAAE,MAAM,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,CAAC;aAClE,CAAC,CAAC;SACJ,CAAC;IACJ,CAAC;IAEO,oBAAoB,CAAC,MAA8B;QACzD,MAAM,IAAI,GAAmB,EAAE,CAAC;QAEhC,MAAM,IAAI,GAAG,CAAC,KAA6B,EAAQ,EAAE;YACnD,KAAK,MAAM,KAAK,IAAI,KAAK,EAAE,CAAC;gBAC1B,IAAI,CAAC,IAAI,CAAC;oBACR,IAAI,EAAE,KAAK,CAAC,IAAI;oBAChB,gBAAgB,EAAG,KAAK,CAAC,gBAAqD,IAAI,IAAI;iBACvF,CAAC,CAAC;gBACH,IAAI,KAAK,CAAC,SAAS;oBAAE,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC;gBAC3C,IAAI,KAAK,CAAC,OAAO,EAAE,CAAC;oBAClB,KAAK,MAAM,MAAM,IAAI,KAAK,CAAC,OAAO;wBAAE,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC;gBAC7D,CAAC;YACH,CAAC;QACH,CAAC,CAAC;QAEF,IAAI,CAAC,MAAM,CAAC,CAAC;QACb,OAAO,IAAI,CAAC;IACd,CAAC;IAEO,cAAc,CAAC,MAA+B;QACpD,IAAI,CAAC,MAAM;YAAE,OAAO;QAEpB,MAAM,IAAI,GAAG,IAAI,CAAC,oBAAoB,CAAC,MAAM,CAAC,CAAC;QAC/C,MAAM,MAAM,GAAG,qBAAqB,CAAC,IAAI,CAAC,CAAC;QAC3C,IAAI,MAAM,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YACtB,MAAM,IAAI,KAAK,CAAC,+BAA+B,MAAM,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,GAAG,KAAK,CAAC,KAAK,KAAK,KAAK,CAAC,KAAK,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QACvH,CAAC;IACH,CAAC;IAEO,KAAK,CAAC,oBAAoB,CAAC,WAAmB;QACpD,MAAM,GAAG,GAAG,aAAa,EAAE,CAAC;QAC5B,MAAM,IAAI,GAAG,MAAM,GAAG,CAAC,MAAM,CAAC,0DAA0D,EAAE,CAAC,WAAW,CAAC,CAAC,CAAC;QACzG,MAAM,GAAG,GAAG,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,gBAAgB,CAAC,CAAC;QACxC,MAAM,UAAU,GAAG,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC;YACnC,CAAC,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,KAAK,EAAmB,EAAE,CAAC,OAAO,KAAK,KAAK,QAAQ,CAAC;YACnE,CAAC,CAAC,mBAAmB,CAAC;QAExB,+EAA+E;QAC/E,OAAO,IAAI,GAAG,CAAC,CAAC,GAAG,UAAU,EAAE,GAAG,oBAAoB,CAAC,CAAC,CAAC;IAC3D,CAAC;IAEO,gBAAgB,CAAC,KAAiB,EAAE,iBAA8B;QACxE,MAAM,MAAM,GAAG,KAAK,CAAC,MAAM,CAAC,MAAM,CAChC,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC,KAAK,CAAC,WAAW,IAAI,CAAC,KAAK,CAAC,YAAY,IAAI,iBAAiB,CAAC,GAAG,CAAC,KAAK,CAAC,YAAY,CAAC,CAClG,CAAC;QAEF,OAAO,EAAE,GAAG,KAAK,EAAE,MAAM,EAAE,CAAC;IAC9B,CAAC;IAED;;;;;;;;;;;;OAYG;IACK,KAAK,CAAC,eAAe,CAAC,OAAe,EAAE,MAA8B;QAC3E,MAAM,GAAG,GAAG,aAAa,EAAE,CAAC;QAE5B,MAAM,YAAY,GAAG,CAAC,MAAM,GAAG,CAAC,MAAM,CAAC,sDAAsD,EAAE;YAC7F,OAAO;SACR,CAAC,CAA8C,CAAC;QAEjD,MAAM,WAAW,GAAG,IAAI,GAAG,CAAC,YAAY,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,MAAM,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC;QAC1E,MAAM,OAAO,GAAG,IAAI,GAAG,EAAU,CAAC;QAElC,MAAM,IAAI,GAAG,KAAK,EAChB,IAA4B,EAC5B,aAA4B,EAC5B,QAAuB,EACR,EAAE;YACjB,KAAK,MAAM,CAAC,KAAK,EAAE,KAAK,CAAC,IAAI,IAAI,CAAC,OAAO,EAAE,EAAE,CAAC;gBAC5C,MAAM,SAAS,GAAG,KAAK,CAAC,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;gBACrD,kEAAkE;gBAClE,8DAA8D;gBAC9D,MAAM,UAAU,GACd,SAAS,IAAI,WAAW,CAAC,GAAG,CAAC,SAAS,CAAC,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC;gBAExF,MAAM,WAAW,GAAG;oBAClB,GAAG,CAAC,KAAK,CAAC,MAAM,IAAI,EAAE,CAAC;oBACvB,GAAG,CAAC,KAAK,CAAC,gBAAgB,CAAC,CAAC,CAAC,EAAE,gBAAgB,EAAE,KAAK,CAAC,gBAAgB,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;iBAChF,CAAC;gBAEF,IAAI,SAAiB,CAAC;gBAEtB,IAAI,UAAU,EAAE,CAAC;oBACf,MAAM,GAAG,CAAC,MAAM,CACd;;;;+CAImC,EACnC;wBACE,KAAK,CAAC,IAAI;wBACV,KAAK,CAAC,IAAI;wBACV,KAAK,CAAC,KAAK;wBACX,KAAK,CAAC,YAAY,IAAI,IAAI;wBAC1B,KAAK,CAAC,QAAQ,IAAI,KAAK;wBACvB,WAAW;wBACX,KAAK;wBACL,aAAa;wBACb,QAAQ;wBACR,UAAU;wBACV,OAAO;qBACR,CACF,CAAC;oBACF,SAAS,GAAG,UAAU,CAAC;gBACzB,CAAC;qBAAM,CAAC;oBACN,SAAS,GAAG,MAAM,IAAI,CAAC,SAAS,CAAC,OAAO,EAAE,KAAK,EAAE,aAAa,EAAE,QAAQ,EAAE,KAAK,CAAC,CAAC;gBACnF,CAAC;gBAED,OAAO,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;gBAEvB,IAAI,KAAK,CAAC,SAAS,IAAI,KAAK,CAAC,SAAS,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;oBAClD,MAAM,IAAI,CAAC,KAAK,CAAC,SAAS,EAAE,SAAS,EAAE,IAAI,CAAC,CAAC;gBAC/C,CAAC;gBAED,IAAI,KAAK,CAAC,IAAI,KAAK,kBAAkB,IAAI,KAAK,CAAC,OAAO,IAAI,KAAK,CAAC,OAAO,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;oBACnF,MAAM,UAAU,GAAG,CAAC,MAAM,GAAG,CAAC,MAAM,CAClC,2DAA2D,EAC3D,CAAC,SAAS,CAAC,CACZ,CAA8C,CAAC;oBAEhD,MAAM,cAAc,GAAG,IAAI,GAAG,CAC5B,UAAU,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,EAAE,MAAM,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAClE,CAAC;oBACF,MAAM,aAAa,GAAG,IAAI,GAAG,EAAU,CAAC;oBAExC,KAAK,MAAM,CAAC,WAAW,EAAE,MAAM,CAAC,IAAI,KAAK,CAAC,OAAO,CAAC,OAAO,EAAE,EAAE,CAAC;wBAC5D,MAAM,gBAAgB,GAAG,cAAc,CAAC,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,IAAI,CAAC;wBACjE,IAAI,eAAuB,CAAC;wBAE5B,IAAI,gBAAgB,EAAE,CAAC;4BACrB,MAAM,GAAG,CAAC,MAAM,CACd;;kDAEkC,EAClC;gCACE,MAAM,CAAC,KAAK;gCACZ,MAAM,CAAC,OAAO,IAAI,OAAO;gCACzB,MAAM,CAAC,GAAG,IAAI,IAAI;gCAClB,MAAM,CAAC,GAAG,IAAI,IAAI;gCAClB,WAAW;gCACX,gBAAgB;gCAChB,SAAS;6BACV,CACF,CAAC;4BACF,eAAe,GAAG,gBAAgB,CAAC;wBACrC,CAAC;6BAAM,CAAC;4BACN,eAAe,GAAG,UAAU,EAAE,CAAC;4BAC/B,MAAM,GAAG,CAAC,MAAM,CACd;yDACyC,EACzC;gCACE,eAAe;gCACf,SAAS;gCACT,MAAM,CAAC,IAAI;gCACX,MAAM,CAAC,KAAK;gCACZ,MAAM,CAAC,OAAO,IAAI,OAAO;gCACzB,MAAM,CAAC,GAAG,IAAI,IAAI;gCAClB,MAAM,CAAC,GAAG,IAAI,IAAI;gCAClB,WAAW;6BACZ,CACF,CAAC;wBACJ,CAAC;wBAED,aAAa,CAAC,GAAG,CAAC,eAAe,CAAC,CAAC;wBACnC,MAAM,IAAI,CAAC,MAAM,CAAC,SAAS,EAAE,IAAI,EAAE,eAAe,CAAC,CAAC;oBACtD,CAAC;oBAED,MAAM,cAAc,GAAG,UAAU;yBAC9B,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,MAAM,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC;yBAC/B,MAAM,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC,aAAa,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC;oBAC1C,IAAI,cAAc,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;wBAC9B,MAAM,GAAG,CAAC,MAAM,CAAC,yDAAyD,EAAE;4BAC1E,cAAc;yBACf,CAAC,CAAC;oBACL,CAAC;gBACH,CAAC;YACH,CAAC;QACH,CAAC,CAAC;QAEF,MAAM,IAAI,CAAC,MAAM,EAAE,IAAI,EAAE,IAAI,CAAC,CAAC;QAE/B,uEAAuE;QACvE,kEAAkE;QAClE,MAAM,QAAQ,GAAG,YAAY;aAC1B,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,MAAM,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC;aAC/B,MAAM,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC;QACpC,IAAI,QAAQ,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YACxB,MAAM,GAAG,CAAC,MAAM,CACd,4EAA4E,EAC5E,CAAC,OAAO,EAAE,QAAQ,CAAC,CACpB,CAAC;QACJ,CAAC;IACH,CAAC;IAED,iFAAiF;IACzE,KAAK,CAAC,SAAS,CACrB,OAAe,EACf,KAA2B,EAC3B,aAA4B,EAC5B,QAAuB,EACvB,SAAiB;QAEjB,MAAM,GAAG,GAAG,aAAa,EAAE,CAAC;QAC5B,MAAM,EAAE,GAAG,UAAU,EAAE,CAAC;QAExB,sEAAsE;QACtE,0EAA0E;QAC1E,IAAI,GAAG,GAAG,KAAK,CAAC,GAAG,IAAI,SAAS,UAAU,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,IAAI,CAAC,GAAG,EAAE,CAAC,QAAQ,CAAC,EAAE,CAAC,EAAE,CAAC;QACpF,OAAO,CAAC,MAAM,GAAG,CAAC,MAAM,CAAC,gDAAgD,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YAC9F,GAAG,GAAG,GAAG,GAAG,IAAI,UAAU,EAAE,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC;QAC7C,CAAC;QAED,MAAM,GAAG,CAAC,MAAM,CACd;yEACmE,EACnE;YACE,EAAE;YACF,OAAO;YACP,aAAa;YACb,QAAQ;YACR,KAAK,CAAC,IAAI;YACV,KAAK,CAAC,IAAI;YACV,GAAG;YACH,KAAK,CAAC,KAAK;YACX,KAAK,CAAC,YAAY,IAAI,IAAI;YAC1B,KAAK,CAAC,QAAQ,IAAI,KAAK;YACvB;gBACE,GAAG,CAAC,KAAK,CAAC,MAAM,IAAI,EAAE,CAAC;gBACvB,GAAG,CAAC,KAAK,CAAC,gBAAgB,CAAC,CAAC,CAAC,EAAE,gBAAgB,EAAE,KAAK,CAAC,gBAAgB,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;aAChF;YACD,SAAS;SACV,CACF,CAAC;QAEF,OAAO,EAAE,CAAC;IACZ,CAAC;IAEO,KAAK,CAAC,iBAAiB,CAAC,OAAe;QAC7C,MAAM,GAAG,GAAG,aAAa,EAAE,CAAC;QAC5B,MAAM,IAAI,GAAG,MAAM,GAAG,CAAC,MAAM,CAC3B,6EAA6E,EAC7E,CAAC,OAAO,CAAC,CACV,CAAC;QAEF,MAAM,cAAc,GAAG,IAAiD,CAAC;QAEzE,MAAM,eAAe,GAAG,IAAI,GAAG,EAAmC,CAAC;QACnE,MAAM,eAAe,GAAG,IAAI,GAAG,EAAyB,CAAC;QACzD,MAAM,gBAAgB,GAAG,IAAI,GAAG,EAAyB,CAAC;QAE1D,KAAK,MAAM,GAAG,IAAI,cAAc,EAAE,CAAC;YACjC,MAAM,EAAE,GAAG,MAAM,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC;YAC7B,eAAe,CAAC,GAAG,CAAC,EAAE,EAAE,IAAI,CAAC,eAAe,CAAC,GAAG,CAAC,CAAC,CAAC;YACnD,eAAe,CAAC,GAAG,CAAC,EAAE,EAAE,GAAG,CAAC,iBAAiB,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,iBAAiB,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;YACxF,gBAAgB,CAAC,GAAG,CAAC,EAAE,EAAE,GAAG,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;QAC/E,CAAC;QAED,MAAM,UAAU,GAAG,MAAM,GAAG,CAAC,MAAM,CACjC;;;kCAG4B,EAC5B,CAAC,OAAO,CAAC,CACmC,CAAC;QAE/C,MAAM,cAAc,GAAG,IAAI,GAAG,EAAmC,CAAC;QAClE,MAAM,iBAAiB,GAAG,IAAI,GAAG,EAAkB,CAAC;QAEpD,KAAK,MAAM,GAAG,IAAI,UAAU,EAAE,CAAC;YAC7B,MAAM,QAAQ,GAAG,MAAM,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC;YACnC,cAAc,CAAC,GAAG,CAAC,QAAQ,EAAE,GAAG,CAAC,CAAC;YAClC,iBAAiB,CAAC,GAAG,CAAC,QAAQ,EAAE,MAAM,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC;QAC3D,CAAC;QAED,MAAM,KAAK,GAA8B,EAAE,CAAC;QAE5C,KAAK,MAAM,GAAG,IAAI,cAAc,EAAE,CAAC;YACjC,MAAM,EAAE,GAAG,MAAM,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC;YAC7B,MAAM,UAAU,GAAG,eAAe,CAAC,GAAG,CAAC,EAAE,CAAE,CAAC;YAC5C,MAAM,QAAQ,GAAG,eAAe,CAAC,GAAG,CAAC,EAAE,CAAC,IAAI,IAAI,CAAC;YACjD,MAAM,SAAS,GAAG,gBAAgB,CAAC,GAAG,CAAC,EAAE,CAAC,IAAI,IAAI,CAAC;YAEnD,IAAI,QAAQ,IAAI,eAAe,CAAC,GAAG,CAAC,QAAQ,CAAC,EAAE,CAAC;gBAC9C,eAAe,CAAC,GAAG,CAAC,QAAQ,CAAE,CAAC,SAAS,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;gBAC1D,SAAS;YACX,CAAC;YAED,IAAI,SAAS,IAAI,cAAc,CAAC,GAAG,CAAC,SAAS,CAAC,EAAE,CAAC;gBAC/C,MAAM,OAAO,GAAG,iBAAiB,CAAC,GAAG,CAAC,SAAS,CAAE,CAAC;gBAClD,MAAM,KAAK,GAAG,eAAe,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;gBAE3C,IAAI,KAAK,EAAE,CAAC;oBACV,MAAM,IAAI,GAAG,cAAc,CAAC,GAAG,CAAC,SAAS,CAAE,CAAC;oBAC5C,MAAM,UAAU,GAAG,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC;oBAExC,IAAI,WAAW,GAAG,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,IAAI,KAAK,UAAU,CAAC,CAAC;oBAC3E,IAAI,CAAC,WAAW,EAAE,CAAC;wBACjB,WAAW,GAAG;4BACZ,IAAI,EAAE,UAAU;4BAChB,KAAK,EAAE,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;4BAC5B,OAAO,EAAE,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,OAAO,CAAC;4BAC3C,GAAG,EAAG,IAAI,CAAC,KAAK,CAAwB,IAAI,SAAS;4BACrD,GAAG,EAAG,IAAI,CAAC,KAAK,CAAwB,IAAI,SAAS;4BACrD,SAAS,EAAE,EAAE;yBACd,CAAC;wBACF,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;oBAClC,CAAC;oBACD,WAAW,CAAC,SAAS,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;oBACvC,SAAS;gBACX,CAAC;YACH,CAAC;YAED,KAAK,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;QACzB,CAAC;QAED,OAAO,KAAK,CAAC;IACf,CAAC;IAEO,eAAe,CAAC,GAA4B;QAClD,MAAM,SAAS,GAAI,GAAG,CAAC,QAAQ,CAA6B,IAAI,EAAE,CAAC;QACnE,MAAM,EAAE,gBAAgB,EAAE,GAAG,MAAM,EAAE,GAAG,SAA2C,CAAC;QAEpF,OAAO;YACL,EAAE,EAAE,MAAM,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;YACrB,IAAI,EAAE,MAAM,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;YACzB,IAAI,EAAE,MAAM,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;YACzB,GAAG,EAAE,MAAM,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;YACvB,KAAK,EAAE,MAAM,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;YAC3B,YAAY,EAAG,GAAG,CAAC,cAAc,CAAmB,IAAI,SAAS;YACjE,QAAQ,EAAE,OAAO,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC;YAClC,MAAM;YACN,gBAAgB,EAAE,gBAAgB,IAAI,IAAI;YAC1C,SAAS,EAAE,MAAM,CAAC,GAAG,CAAC,YAAY,CAAC,IAAI,CAAC,CAAC;YACzC,SAAS,EAAE,EAAE;YACb,OAAO,EAAE,EAAE;YACX,WAAW,EAAE,OAAO,CAAC,GAAG,CAAC,eAAe,CAAC,CAAC;YAC1C,QAAQ,EAAE,OAAO,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC;YACnC,YAAY,EAAG,GAAG,CAAC,gBAAgB,CAAmB,IAAI,SAAS;SACpE,CAAC;IACJ,CAAC;IAEO,UAAU,CAAC,GAA4B,EAAE,MAAiC;QAChF,OAAO;YACL,EAAE,EAAE,MAAM,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;YACrB,KAAK,EAAE,MAAM,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;YAC3B,GAAG,EAAE,MAAM,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;YACvB,aAAa,EAAG,GAAG,CAAC,gBAAgB,CAAsB,IAAI,EAAE;YAChE,QAAQ,EAAE,GAAG,CAAC,UAAU,CAA2B;YACnD,YAAY,EAAE,GAAG,CAAC,eAAe,CAA+B;YAChE,MAAM,EAAE,OAAO,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;YAC9B,QAAQ,EAAG,GAAG,CAAC,UAAU,CAA6B,IAAI,EAAE;YAC5D,MAAM;SACP,CAAC;IACJ,CAAC;CACF;AAED,MAAM,CAAC,MAAM,iBAAiB,GAAG,IAAI,iBAAiB,EAAE,CAAC"}
|
|
1
|
+
{"version":3,"file":"service.js","sourceRoot":"","sources":["../../src/fields/service.ts"],"names":[],"mappings":"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"}
|
|
@@ -6,6 +6,20 @@ export interface FieldTypeDefinition {
|
|
|
6
6
|
icon: string;
|
|
7
7
|
supportsConditions: boolean;
|
|
8
8
|
isLayout: boolean;
|
|
9
|
+
adminComponentPath?: string;
|
|
10
|
+
adminRendererPath?: string;
|
|
11
|
+
configSchema?: Record<string, unknown>;
|
|
12
|
+
isPluginType?: boolean;
|
|
13
|
+
pluginName?: string;
|
|
14
|
+
}
|
|
15
|
+
export interface PluginFieldTypeDefinition extends FieldTypeDefinition {
|
|
16
|
+
adminComponentPath: string;
|
|
17
|
+
adminRendererPath?: string;
|
|
18
|
+
configSchema?: Record<string, unknown>;
|
|
19
|
+
/** Item 25: sync ao registry adiado até o primeiro uso. */
|
|
20
|
+
lazy?: boolean;
|
|
21
|
+
isPluginType: true;
|
|
22
|
+
pluginName: string;
|
|
9
23
|
}
|
|
10
24
|
export declare const FIELD_TYPE_CATEGORIES: Array<{
|
|
11
25
|
id: FieldCategory;
|
|
@@ -17,4 +31,8 @@ export declare function getFieldType(type: string): FieldTypeDefinition | null;
|
|
|
17
31
|
export declare function listFieldTypes(): FieldTypeDefinition[];
|
|
18
32
|
export declare function listFieldTypesByCategory(): Record<FieldCategory, FieldTypeDefinition[]>;
|
|
19
33
|
export declare function registerFieldType(definition: FieldTypeDefinition): void;
|
|
34
|
+
export declare function unregisterFieldType(type: string): boolean;
|
|
35
|
+
export declare function isPluginFieldType(type: string): boolean;
|
|
36
|
+
export declare function getPluginFieldTypes(): FieldTypeDefinition[];
|
|
37
|
+
export declare function getBuiltinFieldTypes(): FieldTypeDefinition[];
|
|
20
38
|
//# sourceMappingURL=registry.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"registry.d.ts","sourceRoot":"","sources":["../../../src/fields/types/registry.ts"],"names":[],"mappings":"AAEA,MAAM,MAAM,aAAa,GAAG,QAAQ,GAAG,UAAU,GAAG,SAAS,GAAG,YAAY,GAAG,WAAW,CAAC;AAE3F,MAAM,WAAW,mBAAmB;IAClC,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,MAAM,CAAC;IACd,QAAQ,EAAE,aAAa,CAAC;IACxB,IAAI,EAAE,MAAM,CAAC;IACb,kBAAkB,EAAE,OAAO,CAAC;IAC5B,QAAQ,EAAE,OAAO,CAAC;
|
|
1
|
+
{"version":3,"file":"registry.d.ts","sourceRoot":"","sources":["../../../src/fields/types/registry.ts"],"names":[],"mappings":"AAEA,MAAM,MAAM,aAAa,GAAG,QAAQ,GAAG,UAAU,GAAG,SAAS,GAAG,YAAY,GAAG,WAAW,CAAC;AAE3F,MAAM,WAAW,mBAAmB;IAClC,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,MAAM,CAAC;IACd,QAAQ,EAAE,aAAa,CAAC;IACxB,IAAI,EAAE,MAAM,CAAC;IACb,kBAAkB,EAAE,OAAO,CAAC;IAC5B,QAAQ,EAAE,OAAO,CAAC;IAElB,kBAAkB,CAAC,EAAE,MAAM,CAAC;IAC5B,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B,YAAY,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IACvC,YAAY,CAAC,EAAE,OAAO,CAAC;IACvB,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB;AAED,MAAM,WAAW,yBAA0B,SAAQ,mBAAmB;IACpE,kBAAkB,EAAE,MAAM,CAAC;IAC3B,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B,YAAY,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IACvC,2DAA2D;IAC3D,IAAI,CAAC,EAAE,OAAO,CAAC;IACf,YAAY,EAAE,IAAI,CAAC;IACnB,UAAU,EAAE,MAAM,CAAC;CACpB;AAED,eAAO,MAAM,qBAAqB,EAAE,KAAK,CAAC;IAAE,EAAE,EAAE,aAAa,CAAC;IAAC,KAAK,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,MAAM,CAAA;CAAE,CAM3F,CAAC;AA4CF,eAAO,MAAM,iBAAiB,kCAE7B,CAAC;AAEF,wBAAgB,YAAY,CAAC,IAAI,EAAE,MAAM,GAAG,mBAAmB,GAAG,IAAI,CAErE;AAED,wBAAgB,cAAc,IAAI,mBAAmB,EAAE,CAEtD;AAED,wBAAgB,wBAAwB,IAAI,MAAM,CAAC,aAAa,EAAE,mBAAmB,EAAE,CAAC,CAcvF;AAED,wBAAgB,iBAAiB,CAAC,UAAU,EAAE,mBAAmB,GAAG,IAAI,CAEvE;AAED,wBAAgB,mBAAmB,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAEzD;AAED,wBAAgB,iBAAiB,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAGvD;AAED,wBAAgB,mBAAmB,IAAI,mBAAmB,EAAE,CAE3D;AAED,wBAAgB,oBAAoB,IAAI,mBAAmB,EAAE,CAE5D"}
|
|
@@ -66,4 +66,17 @@ export function listFieldTypesByCategory() {
|
|
|
66
66
|
export function registerFieldType(definition) {
|
|
67
67
|
fieldTypeRegistry.set(definition.type, definition);
|
|
68
68
|
}
|
|
69
|
+
export function unregisterFieldType(type) {
|
|
70
|
+
return fieldTypeRegistry.delete(type);
|
|
71
|
+
}
|
|
72
|
+
export function isPluginFieldType(type) {
|
|
73
|
+
const def = fieldTypeRegistry.get(type);
|
|
74
|
+
return def?.isPluginType === true;
|
|
75
|
+
}
|
|
76
|
+
export function getPluginFieldTypes() {
|
|
77
|
+
return [...fieldTypeRegistry.values()].filter(d => d.isPluginType === true);
|
|
78
|
+
}
|
|
79
|
+
export function getBuiltinFieldTypes() {
|
|
80
|
+
return [...fieldTypeRegistry.values()].filter(d => d.isPluginType !== true);
|
|
81
|
+
}
|
|
69
82
|
//# sourceMappingURL=registry.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"registry.js","sourceRoot":"","sources":["../../../src/fields/types/registry.ts"],"names":[],"mappings":"AAAA,0CAA0C;
|
|
1
|
+
{"version":3,"file":"registry.js","sourceRoot":"","sources":["../../../src/fields/types/registry.ts"],"names":[],"mappings":"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"}
|
package/dist/hooks/points.d.ts
CHANGED
|
@@ -21,6 +21,12 @@ export declare const HOOK_POINTS: {
|
|
|
21
21
|
readonly THEME_BEFORE_RENDER: "theme:before:render";
|
|
22
22
|
readonly THEME_AFTER_RENDER: "theme:after:render";
|
|
23
23
|
readonly THEME_HEAD: "theme:head";
|
|
24
|
+
readonly COMMENT_BEFORE_SAVE: "comment:before_save";
|
|
25
|
+
readonly COMMENT_AFTER_SAVE: "comment:after_save";
|
|
26
|
+
readonly COMMENT_APPROVED: "comment:approved";
|
|
27
|
+
readonly COMMENT_SPAMMED: "comment:spammed";
|
|
28
|
+
readonly COMMENT_BEFORE_DELETE: "comment:before_delete";
|
|
29
|
+
readonly COMMENT_DELETED: "comment:deleted";
|
|
24
30
|
};
|
|
25
31
|
export declare function hooks(): import("@oktis-works/plugin-runtime").HookRegistry;
|
|
26
32
|
//# sourceMappingURL=points.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"points.d.ts","sourceRoot":"","sources":["../../src/hooks/points.ts"],"names":[],"mappings":"AAIA,eAAO,MAAM,WAAW;;;;;oCAMC,MAAM,KAAG,MAAM;2CACR,MAAM,OAAO,MAAM,KAAG,MAAM;;wCAI/B,MAAM,KAAG,MAAM;yCACd,MAAM,KAAG,MAAM;wCAChB,MAAM,KAAG,MAAM;4CACX,MAAM,KAAG,MAAM;2CAChB,MAAM,KAAG,MAAM;2CACf,MAAM,KAAG,MAAM;0CAChB,MAAM,KAAG,MAAM;;;;uCAIlB,MAAM,KAAG,MAAM;kCAGpB,MAAM,KAAG,MAAM
|
|
1
|
+
{"version":3,"file":"points.d.ts","sourceRoot":"","sources":["../../src/hooks/points.ts"],"names":[],"mappings":"AAIA,eAAO,MAAM,WAAW;;;;;oCAMC,MAAM,KAAG,MAAM;2CACR,MAAM,OAAO,MAAM,KAAG,MAAM;;wCAI/B,MAAM,KAAG,MAAM;yCACd,MAAM,KAAG,MAAM;wCAChB,MAAM,KAAG,MAAM;4CACX,MAAM,KAAG,MAAM;2CAChB,MAAM,KAAG,MAAM;2CACf,MAAM,KAAG,MAAM;0CAChB,MAAM,KAAG,MAAM;;;;uCAIlB,MAAM,KAAG,MAAM;kCAGpB,MAAM,KAAG,MAAM;;;;;;;;;;CAY5B,CAAC;AAEX,wBAAgB,KAAK,uDAEpB"}
|
package/dist/hooks/points.js
CHANGED
|
@@ -26,6 +26,13 @@ export const HOOK_POINTS = {
|
|
|
26
26
|
THEME_BEFORE_RENDER: 'theme:before:render',
|
|
27
27
|
THEME_AFTER_RENDER: 'theme:after:render',
|
|
28
28
|
THEME_HEAD: 'theme:head',
|
|
29
|
+
// Comments (Item 11 — antispam via filter, moderação via actions)
|
|
30
|
+
COMMENT_BEFORE_SAVE: 'comment:before_save',
|
|
31
|
+
COMMENT_AFTER_SAVE: 'comment:after_save',
|
|
32
|
+
COMMENT_APPROVED: 'comment:approved',
|
|
33
|
+
COMMENT_SPAMMED: 'comment:spammed',
|
|
34
|
+
COMMENT_BEFORE_DELETE: 'comment:before_delete',
|
|
35
|
+
COMMENT_DELETED: 'comment:deleted',
|
|
29
36
|
};
|
|
30
37
|
export function hooks() {
|
|
31
38
|
return getHookRegistry();
|
package/dist/hooks/points.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"points.js","sourceRoot":"","sources":["../../src/hooks/points.ts"],"names":[],"mappings":"AAAA,sEAAsE;AAEtE,OAAO,EAAE,eAAe,EAAE,MAAM,6BAA6B,CAAC;AAE9D,MAAM,CAAC,MAAM,WAAW,GAAG;IACzB,sBAAsB;IACtB,UAAU,EAAE,kBAAkB;IAC9B,qBAAqB,EAAE,8BAA8B;IACrD,eAAe,EAAE,wBAAwB;IACzC,aAAa,EAAE,eAAe;IAC9B,cAAc,EAAE,CAAC,IAAY,EAAU,EAAE,CAAC,UAAU,IAAI,UAAU;IAClE,qBAAqB,EAAE,CAAC,IAAY,EAAE,GAAW,EAAU,EAAE,CAAC,UAAU,IAAI,kBAAkB,GAAG,EAAE;IACnG,mBAAmB,EAAE,qBAAqB;IAE1C,0BAA0B;IAC1B,iBAAiB,EAAE,CAAC,KAAa,EAAU,EAAE,CAAC,qBAAqB,KAAK,EAAE;IAC1E,mBAAmB,EAAE,CAAC,IAAY,EAAU,EAAE,CAAC,uBAAuB,IAAI,EAAE;IAC5E,kBAAkB,EAAE,CAAC,IAAY,EAAU,EAAE,CAAC,sBAAsB,IAAI,EAAE;IAC1E,sBAAsB,EAAE,CAAC,IAAY,EAAU,EAAE,CAAC,0BAA0B,IAAI,EAAE;IAClF,qBAAqB,EAAE,CAAC,IAAY,EAAU,EAAE,CAAC,yBAAyB,IAAI,EAAE;IAChF,qBAAqB,EAAE,CAAC,IAAY,EAAU,EAAE,CAAC,yBAAyB,IAAI,EAAE;IAChF,oBAAoB,EAAE,CAAC,IAAY,EAAU,EAAE,CAAC,wBAAwB,IAAI,EAAE;IAC9E,aAAa,EAAE,eAAe;IAC9B,UAAU,EAAE,YAAY;IACxB,mBAAmB,EAAE,qBAAqB;IAC1C,aAAa,EAAE,CAAC,QAAgB,EAAU,EAAE,CAAC,QAAQ,QAAQ,WAAW;IAExE,4BAA4B;IAC5B,UAAU,EAAE,CAAC,MAAc,EAAU,EAAE,CAAC,cAAc,MAAM,EAAE;IAC9D,mBAAmB,EAAE,qBAAqB;IAC1C,kBAAkB,EAAE,oBAAoB;IACxC,UAAU,EAAE,YAAY;
|
|
1
|
+
{"version":3,"file":"points.js","sourceRoot":"","sources":["../../src/hooks/points.ts"],"names":[],"mappings":"AAAA,sEAAsE;AAEtE,OAAO,EAAE,eAAe,EAAE,MAAM,6BAA6B,CAAC;AAE9D,MAAM,CAAC,MAAM,WAAW,GAAG;IACzB,sBAAsB;IACtB,UAAU,EAAE,kBAAkB;IAC9B,qBAAqB,EAAE,8BAA8B;IACrD,eAAe,EAAE,wBAAwB;IACzC,aAAa,EAAE,eAAe;IAC9B,cAAc,EAAE,CAAC,IAAY,EAAU,EAAE,CAAC,UAAU,IAAI,UAAU;IAClE,qBAAqB,EAAE,CAAC,IAAY,EAAE,GAAW,EAAU,EAAE,CAAC,UAAU,IAAI,kBAAkB,GAAG,EAAE;IACnG,mBAAmB,EAAE,qBAAqB;IAE1C,0BAA0B;IAC1B,iBAAiB,EAAE,CAAC,KAAa,EAAU,EAAE,CAAC,qBAAqB,KAAK,EAAE;IAC1E,mBAAmB,EAAE,CAAC,IAAY,EAAU,EAAE,CAAC,uBAAuB,IAAI,EAAE;IAC5E,kBAAkB,EAAE,CAAC,IAAY,EAAU,EAAE,CAAC,sBAAsB,IAAI,EAAE;IAC1E,sBAAsB,EAAE,CAAC,IAAY,EAAU,EAAE,CAAC,0BAA0B,IAAI,EAAE;IAClF,qBAAqB,EAAE,CAAC,IAAY,EAAU,EAAE,CAAC,yBAAyB,IAAI,EAAE;IAChF,qBAAqB,EAAE,CAAC,IAAY,EAAU,EAAE,CAAC,yBAAyB,IAAI,EAAE;IAChF,oBAAoB,EAAE,CAAC,IAAY,EAAU,EAAE,CAAC,wBAAwB,IAAI,EAAE;IAC9E,aAAa,EAAE,eAAe;IAC9B,UAAU,EAAE,YAAY;IACxB,mBAAmB,EAAE,qBAAqB;IAC1C,aAAa,EAAE,CAAC,QAAgB,EAAU,EAAE,CAAC,QAAQ,QAAQ,WAAW;IAExE,4BAA4B;IAC5B,UAAU,EAAE,CAAC,MAAc,EAAU,EAAE,CAAC,cAAc,MAAM,EAAE;IAC9D,mBAAmB,EAAE,qBAAqB;IAC1C,kBAAkB,EAAE,oBAAoB;IACxC,UAAU,EAAE,YAAY;IAExB,kEAAkE;IAClE,mBAAmB,EAAE,qBAAqB;IAC1C,kBAAkB,EAAE,oBAAoB;IACxC,gBAAgB,EAAE,kBAAkB;IACpC,eAAe,EAAE,iBAAiB;IAClC,qBAAqB,EAAE,uBAAuB;IAC9C,eAAe,EAAE,iBAAiB;CAC1B,CAAC;AAEX,MAAM,UAAU,KAAK;IACnB,OAAO,eAAe,EAAE,CAAC;AAC3B,CAAC"}
|
package/dist/index.d.ts
CHANGED
|
@@ -17,6 +17,10 @@ export type { TenantContext } from './tenant/context.js';
|
|
|
17
17
|
export { tenantService, TenantService } from './tenant/service.js';
|
|
18
18
|
export { userService, UserService } from './user/service.js';
|
|
19
19
|
export { roleService, RoleService } from './role/service.js';
|
|
20
|
+
export { pluginRolesService, PluginRolesService, RESERVED_ROLE_SLUGS, roleSlugFromName, parseRolePermission } from './role/plugin-roles.js';
|
|
21
|
+
export { commentService, CommentService, type CreateCommentInput, type CommentListFilter } from './comments/service.js';
|
|
22
|
+
export { mailService, MailService, type MailSendInput } from './mail/service.js';
|
|
23
|
+
export { webhookSecretService, WebhookSecretService, type WebhookSecretVersion } from './webhooks/service.js';
|
|
20
24
|
export { contentService, ContentService } from './content/service.js';
|
|
21
25
|
export type { CreateContentInput, UpdateContentInput } from './content/service.js';
|
|
22
26
|
export { postTypeRegistry, PostTypeRegistry } from './content/post-types.js';
|
|
@@ -32,6 +36,7 @@ export type { FieldError, ValidationResult } from './fields/validation.js';
|
|
|
32
36
|
export { matchLocationRules } from './fields/location-rules.js';
|
|
33
37
|
export type { LocationRule, LocationContext, LocationParam } from './fields/location-rules.js';
|
|
34
38
|
export { fieldGroupService, FieldGroupService } from './fields/service.js';
|
|
39
|
+
export { fieldTypeExtensionService, FieldTypeExtensionService } from './fields/service.js';
|
|
35
40
|
export type { FieldGroup, FieldGroupInput, FieldDefinitionInput, FlexibleLayoutInput } from './fields/service.js';
|
|
36
41
|
export { createStorageDriver, storage, StorageMigrator, createMigrator } from './storage/index.js';
|
|
37
42
|
export type { StorageDriver, StorageDriverName, StorageObject, MigrationResult } from './storage/index.js';
|
|
@@ -50,7 +55,7 @@ export { settingsService, SettingsService } from './settings/service.js';
|
|
|
50
55
|
export { categoryService, CategoryService } from './category/service.js';
|
|
51
56
|
export { tagService, TagService } from './tag/service.js';
|
|
52
57
|
export { pluginService, PluginService } from './plugin/service.js';
|
|
53
|
-
export { syncEnabledPlugins, ensureTenantPluginsLoaded, invalidateTenantPlugins, invalidatePlatformPlugins, getPluginsRuntimeState, getRegisteredPluginRoutes, registerPluginRoutes, unregisterPluginRoutes, type PluginRouteEntry } from './plugin/load.js';
|
|
58
|
+
export { syncEnabledPlugins, ensureTenantPluginsLoaded, invalidateTenantPlugins, invalidatePlatformPlugins, getPluginsRuntimeState, getRegisteredPluginRoutes, registerPluginRoutes, unregisterPluginRoutes, getPluginJobHandler, getPluginAdminExtensions, getPluginBlocks, getPluginPatterns, getPluginAssets, getPluginHealthChecks, type PluginRouteEntry, type PluginJobHandlerFn } from './plugin/load.js';
|
|
54
59
|
export type { PluginsRuntimeState, PluginsScopeState } from './plugin/load.js';
|
|
55
60
|
export { themeService, ThemeService } from './theme/service.js';
|
|
56
61
|
export { resolveExtensionDirectory } from './extensions/project-directories.js';
|
package/dist/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|
package/dist/index.js
CHANGED
|
@@ -18,6 +18,10 @@ export { establishTenantContext, runWithTenantContext, getCurrentContext, clearC
|
|
|
18
18
|
export { tenantService, TenantService } from './tenant/service.js';
|
|
19
19
|
export { userService, UserService } from './user/service.js';
|
|
20
20
|
export { roleService, RoleService } from './role/service.js';
|
|
21
|
+
export { pluginRolesService, PluginRolesService, RESERVED_ROLE_SLUGS, roleSlugFromName, parseRolePermission } from './role/plugin-roles.js';
|
|
22
|
+
export { commentService, CommentService } from './comments/service.js';
|
|
23
|
+
export { mailService, MailService } from './mail/service.js';
|
|
24
|
+
export { webhookSecretService, WebhookSecretService } from './webhooks/service.js';
|
|
21
25
|
export { contentService, ContentService } from './content/service.js';
|
|
22
26
|
export { postTypeRegistry, PostTypeRegistry } from './content/post-types.js';
|
|
23
27
|
export { taxonomyService, TaxonomyService } from './taxonomies/service.js';
|
|
@@ -26,6 +30,7 @@ export { evaluateConditionalLogic, isVisibleField, findConditionalIssues, } from
|
|
|
26
30
|
export { validateContentData, validateFieldValue, validateFields, } from './fields/validation.js';
|
|
27
31
|
export { matchLocationRules } from './fields/location-rules.js';
|
|
28
32
|
export { fieldGroupService, FieldGroupService } from './fields/service.js';
|
|
33
|
+
export { fieldTypeExtensionService, FieldTypeExtensionService } from './fields/service.js';
|
|
29
34
|
// Storage
|
|
30
35
|
export { createStorageDriver, storage, StorageMigrator, createMigrator } from './storage/index.js';
|
|
31
36
|
export { LocalStorageDriver } from './storage/drivers/local.js';
|
|
@@ -43,7 +48,7 @@ export { settingsService, SettingsService } from './settings/service.js';
|
|
|
43
48
|
export { categoryService, CategoryService } from './category/service.js';
|
|
44
49
|
export { tagService, TagService } from './tag/service.js';
|
|
45
50
|
export { pluginService, PluginService } from './plugin/service.js';
|
|
46
|
-
export { syncEnabledPlugins, ensureTenantPluginsLoaded, invalidateTenantPlugins, invalidatePlatformPlugins, getPluginsRuntimeState, getRegisteredPluginRoutes, registerPluginRoutes, unregisterPluginRoutes } from './plugin/load.js';
|
|
51
|
+
export { syncEnabledPlugins, ensureTenantPluginsLoaded, invalidateTenantPlugins, invalidatePlatformPlugins, getPluginsRuntimeState, getRegisteredPluginRoutes, registerPluginRoutes, unregisterPluginRoutes, getPluginJobHandler, getPluginAdminExtensions, getPluginBlocks, getPluginPatterns, getPluginAssets, getPluginHealthChecks } from './plugin/load.js';
|
|
47
52
|
export { themeService, ThemeService } from './theme/service.js';
|
|
48
53
|
export { resolveExtensionDirectory } from './extensions/project-directories.js';
|
|
49
54
|
export { buildService, BuildService } from './build/service.js';
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,uCAAuC;AAEvC,wBAAwB;AACxB,OAAO,EAAE,SAAS,EAAE,kBAAkB,EAAE,MAAM,sBAAsB,CAAC;AAErE,OAAO,EAAE,oBAAoB,EAAE,MAAM,sBAAsB,CAAC;AAG5D,SAAS;AACT,OAAO,EAAE,QAAQ,EAAE,cAAc,EAAE,WAAW,EAAE,MAAM,iBAAiB,CAAC;AAGxE,8DAA8D;AAC9D,OAAO,EAAE,aAAa,EAAE,aAAa,EAAE,UAAU,EAAE,MAAM,qBAAqB,CAAC;AAE/E,OAAO,EAAE,uBAAuB,EAAE,yBAAyB,EAAE,MAAM,sBAAsB,CAAC;AAE1F,gBAAgB;AAChB,OAAO,EAAE,OAAO,EAAE,uBAAuB,EAAE,eAAe,EAAE,qBAAqB,EAAE,MAAM,0BAA0B,CAAC;AACpH,OAAO,EAAE,YAAY,EAAE,YAAY,EAAE,YAAY,EAAE,MAAM,0BAA0B,CAAC;AAGpF,QAAQ;AACR,OAAO,EAAE,WAAW,EAAE,WAAW,EAAE,QAAQ,EAAE,MAAM,kBAAkB,CAAC;AAGtE,iBAAiB;AACjB,OAAO,EAAE,sBAAsB,EAAE,oBAAoB,EAAE,iBAAiB,EAAE,mBAAmB,EAAE,oBAAoB,EAAE,sBAAsB,EAAE,oBAAoB,EAAE,uBAAuB,EAAE,MAAM,qBAAqB,CAAC;AAGxN,gBAAgB;AAChB,OAAO,EAAE,aAAa,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AACnE,OAAO,EAAE,WAAW,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAC7D,OAAO,EAAE,WAAW,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAC7D,OAAO,EAAE,cAAc,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AAEtE,OAAO,EAAE,gBAAgB,EAAE,gBAAgB,EAAE,MAAM,yBAAyB,CAAC;AAE7E,OAAO,EAAE,eAAe,EAAE,eAAe,EAAE,MAAM,yBAAyB,CAAC;AAE3E,OAAO,EACL,iBAAiB,EACjB,YAAY,EACZ,cAAc,EACd,wBAAwB,EACxB,iBAAiB,EACjB,qBAAqB,GACtB,MAAM,4BAA4B,CAAC;AAEpC,OAAO,EACL,wBAAwB,EACxB,cAAc,EACd,qBAAqB,GACtB,MAAM,yBAAyB,CAAC;AAEjC,OAAO,EACL,mBAAmB,EACnB,kBAAkB,EAClB,cAAc,GACf,MAAM,wBAAwB,CAAC;AAEhC,OAAO,EAAE,kBAAkB,EAAE,MAAM,4BAA4B,CAAC;AAEhE,OAAO,EAAE,iBAAiB,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAC;
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
export interface MailSendInput {
|
|
2
|
+
tenantId: string | null;
|
|
3
|
+
pluginName: string;
|
|
4
|
+
to: string;
|
|
5
|
+
subject: string;
|
|
6
|
+
html?: string;
|
|
7
|
+
text?: string;
|
|
8
|
+
template?: string;
|
|
9
|
+
params?: Record<string, unknown>;
|
|
10
|
+
}
|
|
11
|
+
export declare class MailService {
|
|
12
|
+
private buckets;
|
|
13
|
+
/** Per plugin+tenant minute window (env MAIL_RATE_PER_MINUTE, default 60). */
|
|
14
|
+
private rateLimited;
|
|
15
|
+
/** Validates + persists + audits + enqueues delivery. Returns false when refused. */
|
|
16
|
+
enqueue(input: MailSendInput): Promise<boolean>;
|
|
17
|
+
/**
|
|
18
|
+
* Worker delivery pass: loads the row, hands it to the configured transport
|
|
19
|
+
* and marks SENT/FAILED. Transport: MAIL_TRANSPORT ('log' default — no SMTP
|
|
20
|
+
* dependency; adapters can hook the same contract later).
|
|
21
|
+
*/
|
|
22
|
+
deliver(mailId: string): Promise<boolean>;
|
|
23
|
+
private audit;
|
|
24
|
+
}
|
|
25
|
+
export declare const mailService: MailService;
|
|
26
|
+
//# sourceMappingURL=service.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"service.d.ts","sourceRoot":"","sources":["../../src/mail/service.ts"],"names":[],"mappings":"AAuBA,MAAM,WAAW,aAAa;IAC5B,QAAQ,EAAE,MAAM,GAAG,IAAI,CAAC;IACxB,UAAU,EAAE,MAAM,CAAC;IACnB,EAAE,EAAE,MAAM,CAAC;IACX,OAAO,EAAE,MAAM,CAAC;IAChB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,MAAM,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CAClC;AAED,qBAAa,WAAW;IACtB,OAAO,CAAC,OAAO,CAAiC;IAEhD,8EAA8E;IAC9E,OAAO,CAAC,WAAW;IAYnB,qFAAqF;IAC/E,OAAO,CAAC,KAAK,EAAE,aAAa,GAAG,OAAO,CAAC,OAAO,CAAC;IAiDrD;;;;OAIG;IACG,OAAO,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC;YA4BjC,KAAK;CAmBpB;AAED,eAAO,MAAM,WAAW,aAAoB,CAAC"}
|
|
@@ -0,0 +1,117 @@
|
|
|
1
|
+
// @oktis-works/core - Mail service (Item 12 do plugin-parity-plan)
|
|
2
|
+
//
|
|
3
|
+
// Durable outbox for `api.mail.send`: rows land in `mails` (QUEUED), the
|
|
4
|
+
// worker's mail.deliver job delivers through the configured transport
|
|
5
|
+
// (MAIL_TRANSPORT, default 'log') and marks SENT/FAILED. Rate limit is
|
|
6
|
+
// per plugin+tenant (default 60/min, env MAIL_RATE_PER_MINUTE) — over the
|
|
7
|
+
// cap the send is refused with an audit entry (never throws to the plugin).
|
|
8
|
+
// Queue unavailable → the outbox row stays QUEUED (never lost).
|
|
9
|
+
import { randomUUID } from 'node:crypto';
|
|
10
|
+
import { getConnection } from '@oktis-works/database';
|
|
11
|
+
import { auditService } from '../observability/audit.js';
|
|
12
|
+
import { queueProducer } from '../queue/producer.js';
|
|
13
|
+
const EMAIL_PATTERN = /^[^\s@]+@[^\s@]+\.[^\s@]+$/;
|
|
14
|
+
const RATE_WINDOW_MS = 60_000;
|
|
15
|
+
const DEFAULT_RATE_PER_MINUTE = 60;
|
|
16
|
+
export class MailService {
|
|
17
|
+
buckets = new Map();
|
|
18
|
+
/** Per plugin+tenant minute window (env MAIL_RATE_PER_MINUTE, default 60). */
|
|
19
|
+
rateLimited(key) {
|
|
20
|
+
const max = Number(process.env['MAIL_RATE_PER_MINUTE'] ?? DEFAULT_RATE_PER_MINUTE) || DEFAULT_RATE_PER_MINUTE;
|
|
21
|
+
const now = Date.now();
|
|
22
|
+
const bucket = this.buckets.get(key);
|
|
23
|
+
if (!bucket || now - bucket.windowStart >= RATE_WINDOW_MS) {
|
|
24
|
+
this.buckets.set(key, { windowStart: now, count: 1 });
|
|
25
|
+
return false;
|
|
26
|
+
}
|
|
27
|
+
bucket.count += 1;
|
|
28
|
+
return bucket.count > max;
|
|
29
|
+
}
|
|
30
|
+
/** Validates + persists + audits + enqueues delivery. Returns false when refused. */
|
|
31
|
+
async enqueue(input) {
|
|
32
|
+
if (typeof input.to !== 'string' || !EMAIL_PATTERN.test(input.to)) {
|
|
33
|
+
throw new Error(`Invalid recipient email "${String(input.to)}"`);
|
|
34
|
+
}
|
|
35
|
+
if (typeof input.subject !== 'string' || input.subject.trim().length === 0) {
|
|
36
|
+
throw new Error('Mail "subject" is required');
|
|
37
|
+
}
|
|
38
|
+
if (input.subject.length > 998) {
|
|
39
|
+
throw new Error('Mail "subject" too long (max 998 chars)');
|
|
40
|
+
}
|
|
41
|
+
if (!input.html && !input.text) {
|
|
42
|
+
throw new Error('Mail requires html or text body');
|
|
43
|
+
}
|
|
44
|
+
const sql = getConnection();
|
|
45
|
+
const rateKey = `${input.tenantId ?? 'platform'}:${input.pluginName}`;
|
|
46
|
+
if (this.rateLimited(rateKey)) {
|
|
47
|
+
await this.audit(input.tenantId, input.pluginName, 'plugin.mail.rate_limited', input.to, { subject: input.subject });
|
|
48
|
+
return false;
|
|
49
|
+
}
|
|
50
|
+
const id = randomUUID();
|
|
51
|
+
await sql.unsafe(`INSERT INTO mails (id, tenant_id, plugin_name, to_email, subject, html, text, template, params, status)
|
|
52
|
+
VALUES ($1, $2, $3, $4, $5, $6, $7, $8, $9::jsonb, 'QUEUED')`, [
|
|
53
|
+
id,
|
|
54
|
+
input.tenantId,
|
|
55
|
+
input.pluginName,
|
|
56
|
+
input.to,
|
|
57
|
+
input.subject,
|
|
58
|
+
input.html ?? null,
|
|
59
|
+
input.text ?? null,
|
|
60
|
+
input.template ?? null,
|
|
61
|
+
input.params ?? null,
|
|
62
|
+
]);
|
|
63
|
+
await this.audit(input.tenantId, input.pluginName, 'plugin.mail.send', input.to, {
|
|
64
|
+
subject: input.subject,
|
|
65
|
+
template: input.template ?? null,
|
|
66
|
+
});
|
|
67
|
+
// Delivery job — outbox semantics: enqueue failure leaves the row QUEUED.
|
|
68
|
+
await queueProducer.enqueue('mail.deliver', { mailId: id }, { tenantId: input.tenantId ?? 'default' });
|
|
69
|
+
return true;
|
|
70
|
+
}
|
|
71
|
+
/**
|
|
72
|
+
* Worker delivery pass: loads the row, hands it to the configured transport
|
|
73
|
+
* and marks SENT/FAILED. Transport: MAIL_TRANSPORT ('log' default — no SMTP
|
|
74
|
+
* dependency; adapters can hook the same contract later).
|
|
75
|
+
*/
|
|
76
|
+
async deliver(mailId) {
|
|
77
|
+
const sql = getConnection();
|
|
78
|
+
const rows = await sql.unsafe('SELECT * FROM mails WHERE id = $1', [mailId]);
|
|
79
|
+
const mail = rows[0];
|
|
80
|
+
if (!mail || mail.status !== 'QUEUED')
|
|
81
|
+
return false;
|
|
82
|
+
const transport = (process.env['MAIL_TRANSPORT'] ?? 'log').toLowerCase();
|
|
83
|
+
try {
|
|
84
|
+
if (transport === 'log') {
|
|
85
|
+
console.log(`[mail:log-transport] to=${mail.to_email} subject="${mail.subject}" bytes=${(mail.html ?? mail.text ?? '').length}`);
|
|
86
|
+
}
|
|
87
|
+
else {
|
|
88
|
+
throw new Error(`Unknown MAIL_TRANSPORT "${transport}" (supported: log)`);
|
|
89
|
+
}
|
|
90
|
+
await sql.unsafe(`UPDATE mails SET status = 'SENT', attempts = attempts + 1, sent_at = NOW() WHERE id = $1`, [mailId]);
|
|
91
|
+
return true;
|
|
92
|
+
}
|
|
93
|
+
catch (error) {
|
|
94
|
+
await sql.unsafe(`UPDATE mails SET status = 'FAILED', attempts = attempts + 1, error = $2 WHERE id = $1`, [
|
|
95
|
+
mailId,
|
|
96
|
+
error instanceof Error ? error.message : String(error),
|
|
97
|
+
]);
|
|
98
|
+
return false;
|
|
99
|
+
}
|
|
100
|
+
}
|
|
101
|
+
async audit(tenantId, pluginName, action, resource, changes) {
|
|
102
|
+
try {
|
|
103
|
+
await auditService.record({
|
|
104
|
+
tenantId: tenantId ?? undefined,
|
|
105
|
+
action,
|
|
106
|
+
resourceType: 'mail',
|
|
107
|
+
resourceId: resource,
|
|
108
|
+
changes: { plugin: pluginName, ...changes },
|
|
109
|
+
});
|
|
110
|
+
}
|
|
111
|
+
catch {
|
|
112
|
+
// audit failures never block the operation (logged inside the service)
|
|
113
|
+
}
|
|
114
|
+
}
|
|
115
|
+
}
|
|
116
|
+
export const mailService = new MailService();
|
|
117
|
+
//# sourceMappingURL=service.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"service.js","sourceRoot":"","sources":["../../src/mail/service.ts"],"names":[],"mappings":"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"}
|