@objectstack/spec 1.0.6 → 1.0.7
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/ai/index.d.mts +1 -1
- package/dist/ai/index.d.ts +1 -1
- package/dist/api/index.d.mts +1 -1
- package/dist/api/index.d.ts +1 -1
- package/dist/api/index.js +1869 -1780
- package/dist/api/index.js.map +1 -1
- package/dist/api/index.mjs +1869 -1780
- package/dist/api/index.mjs.map +1 -1
- package/dist/automation/index.d.mts +1 -1
- package/dist/automation/index.d.ts +1 -1
- package/dist/hub/index.d.mts +1 -1
- package/dist/hub/index.d.ts +1 -1
- package/dist/hub/index.js +796 -707
- package/dist/hub/index.js.map +1 -1
- package/dist/hub/index.mjs +796 -707
- package/dist/hub/index.mjs.map +1 -1
- package/dist/{index-CQ2ZwxNr.d.ts → index-CyognKSZ.d.ts} +146 -146
- package/dist/{index-BqQd0BcZ.d.mts → index-DE_lJ11p.d.mts} +146 -146
- package/dist/{index-C34qbBQr.d.mts → index-DLcySG7U.d.mts} +262 -241
- package/dist/{index-C34qbBQr.d.ts → index-DLcySG7U.d.ts} +262 -241
- package/dist/{index-D8XFyX0x.d.mts → index-Os7lItRe.d.mts} +108 -108
- package/dist/{index-D8XFyX0x.d.ts → index-Os7lItRe.d.ts} +108 -108
- package/dist/{index-CsF8m5Wj.d.mts → index-l6WIlmOD.d.mts} +39 -39
- package/dist/{index-CsF8m5Wj.d.ts → index-l6WIlmOD.d.ts} +39 -39
- package/dist/index.d.mts +158 -158
- package/dist/index.d.ts +158 -158
- package/dist/index.js +703 -668
- package/dist/index.js.map +1 -1
- package/dist/index.mjs +703 -668
- package/dist/index.mjs.map +1 -1
- package/dist/kernel/index.d.mts +1 -1
- package/dist/kernel/index.d.ts +1 -1
- package/dist/kernel/index.js +705 -669
- package/dist/kernel/index.js.map +1 -1
- package/dist/kernel/index.mjs +704 -669
- package/dist/kernel/index.mjs.map +1 -1
- package/json-schema/api/CompileManifestResponse.json +6 -2
- package/json-schema/hub/ComposerResponse.json +6 -2
- package/json-schema/kernel/Manifest.json +6 -2
- package/json-schema/kernel/Plugin.json +28 -0
- package/package.json +1 -1
- package/dist/{index-iGrpxfqq.d.mts → index-D12rNohm.d.mts} +1 -1
- package/dist/{index-iGrpxfqq.d.ts → index-D12rNohm.d.ts} +1 -1
package/dist/kernel/index.js
CHANGED
|
@@ -22,6 +22,7 @@ var kernel_exports = {};
|
|
|
22
22
|
__export(kernel_exports, {
|
|
23
23
|
AdvancedPluginLifecycleConfigSchema: () => AdvancedPluginLifecycleConfigSchema,
|
|
24
24
|
BreakingChangeSchema: () => BreakingChangeSchema,
|
|
25
|
+
CORE_PLUGIN_TYPES: () => CORE_PLUGIN_TYPES,
|
|
25
26
|
CapabilityConformanceLevelSchema: () => CapabilityConformanceLevelSchema,
|
|
26
27
|
CompatibilityLevelSchema: () => CompatibilityLevelSchema,
|
|
27
28
|
CompatibilityMatrixEntrySchema: () => CompatibilityMatrixEntrySchema,
|
|
@@ -665,7 +666,7 @@ var FeatureFlag = Object.assign(FeatureFlagSchema, {
|
|
|
665
666
|
});
|
|
666
667
|
|
|
667
668
|
// src/kernel/manifest.zod.ts
|
|
668
|
-
var
|
|
669
|
+
var import_zod8 = require("zod");
|
|
669
670
|
|
|
670
671
|
// src/kernel/plugin-capability.zod.ts
|
|
671
672
|
var import_zod5 = require("zod");
|
|
@@ -1480,8 +1481,90 @@ var PluginLoadingStateSchema = import_zod6.z.object({
|
|
|
1480
1481
|
retryCount: import_zod6.z.number().int().min(0).default(0)
|
|
1481
1482
|
}).describe("Plugin loading state");
|
|
1482
1483
|
|
|
1484
|
+
// src/kernel/plugin.zod.ts
|
|
1485
|
+
var import_zod7 = require("zod");
|
|
1486
|
+
var PluginContextSchema = import_zod7.z.object({
|
|
1487
|
+
ql: import_zod7.z.object({
|
|
1488
|
+
object: import_zod7.z.function().returns(import_zod7.z.any()),
|
|
1489
|
+
// Return any to allow method chaining
|
|
1490
|
+
query: import_zod7.z.function().returns(import_zod7.z.any())
|
|
1491
|
+
}).passthrough().describe("ObjectQL Engine Interface"),
|
|
1492
|
+
os: import_zod7.z.object({
|
|
1493
|
+
getCurrentUser: import_zod7.z.function().returns(import_zod7.z.any()),
|
|
1494
|
+
getConfig: import_zod7.z.function().returns(import_zod7.z.any())
|
|
1495
|
+
}).passthrough().describe("ObjectStack Kernel Interface"),
|
|
1496
|
+
logger: import_zod7.z.object({
|
|
1497
|
+
debug: import_zod7.z.function().returns(import_zod7.z.void()),
|
|
1498
|
+
info: import_zod7.z.function().returns(import_zod7.z.void()),
|
|
1499
|
+
warn: import_zod7.z.function().returns(import_zod7.z.void()),
|
|
1500
|
+
error: import_zod7.z.function().returns(import_zod7.z.void())
|
|
1501
|
+
}).passthrough().describe("Logger Interface"),
|
|
1502
|
+
storage: import_zod7.z.object({
|
|
1503
|
+
get: import_zod7.z.function().returns(import_zod7.z.any()),
|
|
1504
|
+
set: import_zod7.z.function().returns(import_zod7.z.promise(import_zod7.z.void())),
|
|
1505
|
+
delete: import_zod7.z.function().returns(import_zod7.z.promise(import_zod7.z.void()))
|
|
1506
|
+
}).passthrough().describe("Storage Interface"),
|
|
1507
|
+
i18n: import_zod7.z.object({
|
|
1508
|
+
t: import_zod7.z.function().returns(import_zod7.z.string()),
|
|
1509
|
+
getLocale: import_zod7.z.function().returns(import_zod7.z.string())
|
|
1510
|
+
}).passthrough().describe("Internationalization Interface"),
|
|
1511
|
+
metadata: import_zod7.z.record(import_zod7.z.string(), import_zod7.z.any()),
|
|
1512
|
+
events: import_zod7.z.record(import_zod7.z.string(), import_zod7.z.any()),
|
|
1513
|
+
app: import_zod7.z.object({
|
|
1514
|
+
router: import_zod7.z.object({
|
|
1515
|
+
get: import_zod7.z.function().returns(import_zod7.z.any()),
|
|
1516
|
+
post: import_zod7.z.function().returns(import_zod7.z.any()),
|
|
1517
|
+
use: import_zod7.z.function().returns(import_zod7.z.any())
|
|
1518
|
+
}).passthrough()
|
|
1519
|
+
}).passthrough().describe("App Framework Interface"),
|
|
1520
|
+
drivers: import_zod7.z.object({
|
|
1521
|
+
register: import_zod7.z.function().returns(import_zod7.z.void())
|
|
1522
|
+
}).passthrough().describe("Driver Registry")
|
|
1523
|
+
});
|
|
1524
|
+
var PluginLifecycleSchema = import_zod7.z.object({
|
|
1525
|
+
onInstall: import_zod7.z.function().args(PluginContextSchema).returns(import_zod7.z.promise(import_zod7.z.void())).optional(),
|
|
1526
|
+
onEnable: import_zod7.z.function().args(PluginContextSchema).returns(import_zod7.z.promise(import_zod7.z.void())).optional(),
|
|
1527
|
+
onDisable: import_zod7.z.function().args(PluginContextSchema).returns(import_zod7.z.promise(import_zod7.z.void())).optional(),
|
|
1528
|
+
onUninstall: import_zod7.z.function().args(PluginContextSchema).returns(import_zod7.z.promise(import_zod7.z.void())).optional(),
|
|
1529
|
+
onUpgrade: import_zod7.z.function().args(PluginContextSchema, import_zod7.z.string(), import_zod7.z.string()).returns(import_zod7.z.promise(import_zod7.z.void())).optional()
|
|
1530
|
+
});
|
|
1531
|
+
var CORE_PLUGIN_TYPES = [
|
|
1532
|
+
"ui",
|
|
1533
|
+
// Frontend: Serves static assets/SPA (e.g. Console, Studio)
|
|
1534
|
+
"driver",
|
|
1535
|
+
// Connectivity: Database or Storage adapters (e.g. SQL, S3)
|
|
1536
|
+
"server",
|
|
1537
|
+
// Protocol: HTTP/RPC Servers (e.g. Hono, GraphQL)
|
|
1538
|
+
"app",
|
|
1539
|
+
// Business: Vertical Solution Bundle (Metadata + Logic)
|
|
1540
|
+
"theme",
|
|
1541
|
+
// Appearance: UI Overrides & CSS Variables
|
|
1542
|
+
"agent",
|
|
1543
|
+
// AI: Autonomous Agent & Tool Definitions
|
|
1544
|
+
"objectql"
|
|
1545
|
+
// Core: ObjectQL Engine Data Provider
|
|
1546
|
+
];
|
|
1547
|
+
var PluginSchema = PluginLifecycleSchema.extend({
|
|
1548
|
+
id: import_zod7.z.string().min(1).optional().describe("Unique Plugin ID (e.g. com.example.crm)"),
|
|
1549
|
+
type: import_zod7.z.enum([
|
|
1550
|
+
"standard",
|
|
1551
|
+
// Default: General purpose backend logic (Service, Hook, etc.)
|
|
1552
|
+
...CORE_PLUGIN_TYPES
|
|
1553
|
+
]).default("standard").optional().describe("Plugin Type categorization for runtime behavior"),
|
|
1554
|
+
staticPath: import_zod7.z.string().optional().describe('Absolute path to static assets (Required for type="ui-plugin")'),
|
|
1555
|
+
slug: import_zod7.z.string().regex(/^[a-z0-9-_]+$/).optional().describe('URL path segment (Required for type="ui-plugin")'),
|
|
1556
|
+
default: import_zod7.z.boolean().optional().describe('Serve at root path (Only one "ui-plugin" can be default)'),
|
|
1557
|
+
version: import_zod7.z.string().regex(/^\d+\.\d+\.\d+$/).optional().describe("Semantic Version"),
|
|
1558
|
+
description: import_zod7.z.string().optional(),
|
|
1559
|
+
author: import_zod7.z.string().optional(),
|
|
1560
|
+
homepage: import_zod7.z.string().url().optional()
|
|
1561
|
+
});
|
|
1562
|
+
function definePlugin(config) {
|
|
1563
|
+
return config;
|
|
1564
|
+
}
|
|
1565
|
+
|
|
1483
1566
|
// src/kernel/manifest.zod.ts
|
|
1484
|
-
var ManifestSchema =
|
|
1567
|
+
var ManifestSchema = import_zod8.z.object({
|
|
1485
1568
|
/**
|
|
1486
1569
|
* Unique package identifier using reverse domain notation.
|
|
1487
1570
|
* Must be unique across the entire ecosystem.
|
|
@@ -1489,65 +1572,75 @@ var ManifestSchema = import_zod7.z.object({
|
|
|
1489
1572
|
* @example "com.steedos.crm"
|
|
1490
1573
|
* @example "org.apache.superset"
|
|
1491
1574
|
*/
|
|
1492
|
-
id:
|
|
1575
|
+
id: import_zod8.z.string().describe("Unique package identifier (reverse domain style)"),
|
|
1493
1576
|
/**
|
|
1494
1577
|
* Package version following semantic versioning (major.minor.patch).
|
|
1495
1578
|
*
|
|
1496
1579
|
* @example "1.0.0"
|
|
1497
1580
|
* @example "2.1.0-beta.1"
|
|
1498
1581
|
*/
|
|
1499
|
-
version:
|
|
1582
|
+
version: import_zod8.z.string().regex(/^\d+\.\d+\.\d+$/).describe("Package version (semantic versioning)"),
|
|
1500
1583
|
/**
|
|
1501
1584
|
* Type of the package in the ObjectStack ecosystem.
|
|
1502
|
-
* -
|
|
1503
|
-
* -
|
|
1504
|
-
* - driver:
|
|
1585
|
+
* - plugin: General-purpose functionality extension (Runtime: standard)
|
|
1586
|
+
* - app: Business application package
|
|
1587
|
+
* - driver: Connectivity adapter
|
|
1588
|
+
* - server: Protocol gateway (Hono, GraphQL)
|
|
1589
|
+
* - ui: Frontend package (Static/SPA)
|
|
1590
|
+
* - theme: UI Theme
|
|
1591
|
+
* - agent: AI Agent
|
|
1505
1592
|
* - module: Reusable code library/shared module
|
|
1506
|
-
* - objectql: Core engine
|
|
1507
|
-
* -
|
|
1508
|
-
|
|
1509
|
-
|
|
1510
|
-
|
|
1593
|
+
* - objectql: Core engine
|
|
1594
|
+
* - adapter: Host adapter (Express, Fastify)
|
|
1595
|
+
*/
|
|
1596
|
+
type: import_zod8.z.enum([
|
|
1597
|
+
"plugin",
|
|
1598
|
+
...CORE_PLUGIN_TYPES,
|
|
1599
|
+
"module",
|
|
1600
|
+
"gateway",
|
|
1601
|
+
// Deprecated: use 'server'
|
|
1602
|
+
"adapter"
|
|
1603
|
+
]).describe("Type of package"),
|
|
1511
1604
|
/**
|
|
1512
1605
|
* Human-readable name of the package.
|
|
1513
1606
|
* Displayed in the UI for users.
|
|
1514
1607
|
*
|
|
1515
1608
|
* @example "Project Management"
|
|
1516
1609
|
*/
|
|
1517
|
-
name:
|
|
1610
|
+
name: import_zod8.z.string().describe("Human-readable package name"),
|
|
1518
1611
|
/**
|
|
1519
1612
|
* Brief description of the package functionality.
|
|
1520
1613
|
* Displayed in the marketplace and plugin manager.
|
|
1521
1614
|
*/
|
|
1522
|
-
description:
|
|
1615
|
+
description: import_zod8.z.string().optional().describe("Package description"),
|
|
1523
1616
|
/**
|
|
1524
1617
|
* Array of permission strings that the package requires.
|
|
1525
1618
|
* These form the "Scope" requested by the package at installation.
|
|
1526
1619
|
*
|
|
1527
1620
|
* @example ["system.user.read", "system.data.write"]
|
|
1528
1621
|
*/
|
|
1529
|
-
permissions:
|
|
1622
|
+
permissions: import_zod8.z.array(import_zod8.z.string()).optional().describe("Array of required permission strings"),
|
|
1530
1623
|
/**
|
|
1531
1624
|
* Glob patterns specifying ObjectQL schemas files.
|
|
1532
1625
|
* Matches `*.object.yml` or `*.object.ts` files to load business objects.
|
|
1533
1626
|
*
|
|
1534
1627
|
* @example ["./src/objects/*.object.yml"]
|
|
1535
1628
|
*/
|
|
1536
|
-
objects:
|
|
1629
|
+
objects: import_zod8.z.array(import_zod8.z.string()).optional().describe("Glob patterns for ObjectQL schemas files"),
|
|
1537
1630
|
/**
|
|
1538
1631
|
* Defines system level DataSources.
|
|
1539
1632
|
* Matches `*.datasource.yml` files.
|
|
1540
1633
|
*
|
|
1541
1634
|
* @example ["./src/datasources/*.datasource.mongo.yml"]
|
|
1542
1635
|
*/
|
|
1543
|
-
datasources:
|
|
1636
|
+
datasources: import_zod8.z.array(import_zod8.z.string()).optional().describe("Glob patterns for Datasource definitions"),
|
|
1544
1637
|
/**
|
|
1545
1638
|
* Package Dependencies.
|
|
1546
1639
|
* Map of package IDs to version requirements.
|
|
1547
1640
|
*
|
|
1548
1641
|
* @example { "@steedos/plugin-auth": "^2.0.0" }
|
|
1549
1642
|
*/
|
|
1550
|
-
dependencies:
|
|
1643
|
+
dependencies: import_zod8.z.record(import_zod8.z.string(), import_zod8.z.string()).optional().describe("Package dependencies"),
|
|
1551
1644
|
/**
|
|
1552
1645
|
* Plugin Configuration Schema.
|
|
1553
1646
|
* Defines the settings this plugin exposes to the user via UI/ENV.
|
|
@@ -1562,109 +1655,109 @@ var ManifestSchema = import_zod7.z.object({
|
|
|
1562
1655
|
* }
|
|
1563
1656
|
* }
|
|
1564
1657
|
*/
|
|
1565
|
-
configuration:
|
|
1566
|
-
title:
|
|
1567
|
-
properties:
|
|
1568
|
-
type:
|
|
1569
|
-
default:
|
|
1570
|
-
description:
|
|
1571
|
-
required:
|
|
1572
|
-
secret:
|
|
1573
|
-
enum:
|
|
1658
|
+
configuration: import_zod8.z.object({
|
|
1659
|
+
title: import_zod8.z.string().optional(),
|
|
1660
|
+
properties: import_zod8.z.record(import_zod8.z.string(), import_zod8.z.object({
|
|
1661
|
+
type: import_zod8.z.enum(["string", "number", "boolean", "array", "object"]).describe("Data type of the setting"),
|
|
1662
|
+
default: import_zod8.z.any().optional().describe("Default value"),
|
|
1663
|
+
description: import_zod8.z.string().optional().describe("Tooltip description"),
|
|
1664
|
+
required: import_zod8.z.boolean().optional().describe("Is this setting required?"),
|
|
1665
|
+
secret: import_zod8.z.boolean().optional().describe("If true, value is encrypted/masked (e.g. API Keys)"),
|
|
1666
|
+
enum: import_zod8.z.array(import_zod8.z.string()).optional().describe("Allowed values for select inputs")
|
|
1574
1667
|
})).describe("Map of configuration keys to their definitions")
|
|
1575
1668
|
}).optional().describe("Plugin configuration settings"),
|
|
1576
1669
|
/**
|
|
1577
1670
|
* Contribution Points (VS Code Style).
|
|
1578
1671
|
* formalized way to extend the platform capabilities.
|
|
1579
1672
|
*/
|
|
1580
|
-
contributes:
|
|
1673
|
+
contributes: import_zod8.z.object({
|
|
1581
1674
|
/**
|
|
1582
1675
|
* Register new Metadata Kinds (CRDs).
|
|
1583
1676
|
* Enables the system to parse and validate new file types.
|
|
1584
1677
|
* Example: Registering a BI plugin to handle *.report.ts
|
|
1585
1678
|
*/
|
|
1586
|
-
kinds:
|
|
1587
|
-
id:
|
|
1588
|
-
globs:
|
|
1589
|
-
description:
|
|
1679
|
+
kinds: import_zod8.z.array(import_zod8.z.object({
|
|
1680
|
+
id: import_zod8.z.string().describe('The generic identifier of the kind (e.g., "sys.bi.report")'),
|
|
1681
|
+
globs: import_zod8.z.array(import_zod8.z.string()).describe('File patterns to watch (e.g., ["**/*.report.ts"])'),
|
|
1682
|
+
description: import_zod8.z.string().optional().describe("Description of what this kind represents")
|
|
1590
1683
|
})).optional().describe("New Metadata Types to recognize"),
|
|
1591
1684
|
/**
|
|
1592
1685
|
* Register System Hooks.
|
|
1593
1686
|
* Declares that this plugin listens to specific system events.
|
|
1594
1687
|
*/
|
|
1595
|
-
events:
|
|
1688
|
+
events: import_zod8.z.array(import_zod8.z.string()).optional().describe("Events this plugin listens to"),
|
|
1596
1689
|
/**
|
|
1597
1690
|
* Register UI Menus.
|
|
1598
1691
|
*/
|
|
1599
|
-
menus:
|
|
1600
|
-
id:
|
|
1601
|
-
label:
|
|
1602
|
-
command:
|
|
1692
|
+
menus: import_zod8.z.record(import_zod8.z.string(), import_zod8.z.array(import_zod8.z.object({
|
|
1693
|
+
id: import_zod8.z.string(),
|
|
1694
|
+
label: import_zod8.z.string(),
|
|
1695
|
+
command: import_zod8.z.string().optional()
|
|
1603
1696
|
}))).optional().describe("UI Menu contributions"),
|
|
1604
1697
|
/**
|
|
1605
1698
|
* Register Custom Themes.
|
|
1606
1699
|
*/
|
|
1607
|
-
themes:
|
|
1608
|
-
id:
|
|
1609
|
-
label:
|
|
1610
|
-
path:
|
|
1700
|
+
themes: import_zod8.z.array(import_zod8.z.object({
|
|
1701
|
+
id: import_zod8.z.string(),
|
|
1702
|
+
label: import_zod8.z.string(),
|
|
1703
|
+
path: import_zod8.z.string()
|
|
1611
1704
|
})).optional().describe("Theme contributions"),
|
|
1612
1705
|
/**
|
|
1613
1706
|
* Register Translations.
|
|
1614
1707
|
* Path to translation files (e.g. "locales/en.json").
|
|
1615
1708
|
*/
|
|
1616
|
-
translations:
|
|
1617
|
-
locale:
|
|
1618
|
-
path:
|
|
1709
|
+
translations: import_zod8.z.array(import_zod8.z.object({
|
|
1710
|
+
locale: import_zod8.z.string(),
|
|
1711
|
+
path: import_zod8.z.string()
|
|
1619
1712
|
})).optional().describe("Translation resources"),
|
|
1620
1713
|
/**
|
|
1621
1714
|
* Register Server Actions.
|
|
1622
1715
|
* Invocable functions exposed to Flows or API.
|
|
1623
1716
|
*/
|
|
1624
|
-
actions:
|
|
1625
|
-
name:
|
|
1626
|
-
label:
|
|
1627
|
-
description:
|
|
1628
|
-
input:
|
|
1629
|
-
output:
|
|
1717
|
+
actions: import_zod8.z.array(import_zod8.z.object({
|
|
1718
|
+
name: import_zod8.z.string().describe("Unique action name"),
|
|
1719
|
+
label: import_zod8.z.string().optional(),
|
|
1720
|
+
description: import_zod8.z.string().optional(),
|
|
1721
|
+
input: import_zod8.z.any().optional().describe("Input validation schema"),
|
|
1722
|
+
output: import_zod8.z.any().optional().describe("Output schema")
|
|
1630
1723
|
})).optional().describe("Exposed server actions"),
|
|
1631
1724
|
/**
|
|
1632
1725
|
* Register Storage Drivers.
|
|
1633
1726
|
* Enables connecting to new types of datasources.
|
|
1634
1727
|
*/
|
|
1635
|
-
drivers:
|
|
1636
|
-
id:
|
|
1637
|
-
label:
|
|
1638
|
-
description:
|
|
1728
|
+
drivers: import_zod8.z.array(import_zod8.z.object({
|
|
1729
|
+
id: import_zod8.z.string().describe('Driver unique identifier (e.g. "postgres", "mongo")'),
|
|
1730
|
+
label: import_zod8.z.string().describe("Human readable name"),
|
|
1731
|
+
description: import_zod8.z.string().optional()
|
|
1639
1732
|
})).optional().describe("Driver contributions"),
|
|
1640
1733
|
/**
|
|
1641
1734
|
* Register Custom Field Types.
|
|
1642
1735
|
* Extends the data model with new widget types.
|
|
1643
1736
|
*/
|
|
1644
|
-
fieldTypes:
|
|
1645
|
-
name:
|
|
1646
|
-
label:
|
|
1647
|
-
description:
|
|
1737
|
+
fieldTypes: import_zod8.z.array(import_zod8.z.object({
|
|
1738
|
+
name: import_zod8.z.string().describe('Unique field type name (e.g. "vector")'),
|
|
1739
|
+
label: import_zod8.z.string().describe("Display label"),
|
|
1740
|
+
description: import_zod8.z.string().optional()
|
|
1648
1741
|
})).optional().describe("Field Type contributions"),
|
|
1649
1742
|
/**
|
|
1650
1743
|
* Register Custom Query Operators/Functions.
|
|
1651
1744
|
* Extends ObjectQL with new functions (e.g. distance()).
|
|
1652
1745
|
*/
|
|
1653
|
-
functions:
|
|
1654
|
-
name:
|
|
1655
|
-
description:
|
|
1656
|
-
args:
|
|
1657
|
-
returnType:
|
|
1746
|
+
functions: import_zod8.z.array(import_zod8.z.object({
|
|
1747
|
+
name: import_zod8.z.string().describe('Function name (e.g. "distance")'),
|
|
1748
|
+
description: import_zod8.z.string().optional(),
|
|
1749
|
+
args: import_zod8.z.array(import_zod8.z.string()).optional().describe("Argument types"),
|
|
1750
|
+
returnType: import_zod8.z.string().optional()
|
|
1658
1751
|
})).optional().describe("Query Function contributions")
|
|
1659
1752
|
}).optional().describe("Platform contributions"),
|
|
1660
1753
|
/**
|
|
1661
1754
|
* Initial data seeding configuration.
|
|
1662
1755
|
* Defines default records to be inserted when the package is installed.
|
|
1663
1756
|
*/
|
|
1664
|
-
data:
|
|
1665
|
-
object:
|
|
1666
|
-
records:
|
|
1667
|
-
mode:
|
|
1757
|
+
data: import_zod8.z.array(import_zod8.z.object({
|
|
1758
|
+
object: import_zod8.z.string().describe("Target Object Name"),
|
|
1759
|
+
records: import_zod8.z.array(import_zod8.z.record(import_zod8.z.string(), import_zod8.z.any())).describe("List of records to insert"),
|
|
1760
|
+
mode: import_zod8.z.enum(["upsert", "insert", "ignore"]).default("upsert").describe("Seeding mode")
|
|
1668
1761
|
})).optional().describe("Initial seed data"),
|
|
1669
1762
|
/**
|
|
1670
1763
|
* Plugin Capability Manifest.
|
|
@@ -1676,7 +1769,7 @@ var ManifestSchema = import_zod7.z.object({
|
|
|
1676
1769
|
* Extension points contributed by this package.
|
|
1677
1770
|
* Allows packages to extend UI components, add functionality, etc.
|
|
1678
1771
|
*/
|
|
1679
|
-
extensions:
|
|
1772
|
+
extensions: import_zod8.z.record(import_zod8.z.string(), import_zod8.z.any()).optional().describe("Extension points and contributions"),
|
|
1680
1773
|
/**
|
|
1681
1774
|
* Plugin Loading Configuration.
|
|
1682
1775
|
* Configures how the plugin is loaded, initialized, and managed at runtime.
|
|
@@ -1686,22 +1779,22 @@ var ManifestSchema = import_zod7.z.object({
|
|
|
1686
1779
|
});
|
|
1687
1780
|
|
|
1688
1781
|
// src/kernel/metadata-loader.zod.ts
|
|
1689
|
-
var
|
|
1690
|
-
var MetadataFormatSchema =
|
|
1691
|
-
var MetadataStatsSchema =
|
|
1782
|
+
var import_zod9 = require("zod");
|
|
1783
|
+
var MetadataFormatSchema = import_zod9.z.enum(["json", "yaml", "typescript", "javascript"]);
|
|
1784
|
+
var MetadataStatsSchema = import_zod9.z.object({
|
|
1692
1785
|
/**
|
|
1693
1786
|
* Size of the metadata file in bytes
|
|
1694
1787
|
*/
|
|
1695
|
-
size:
|
|
1788
|
+
size: import_zod9.z.number().int().min(0).describe("File size in bytes"),
|
|
1696
1789
|
/**
|
|
1697
1790
|
* Last modification timestamp
|
|
1698
1791
|
*/
|
|
1699
|
-
modifiedAt:
|
|
1792
|
+
modifiedAt: import_zod9.z.date().describe("Last modified date"),
|
|
1700
1793
|
/**
|
|
1701
1794
|
* ETag for cache validation
|
|
1702
1795
|
* Used for conditional requests (If-None-Match header)
|
|
1703
1796
|
*/
|
|
1704
|
-
etag:
|
|
1797
|
+
etag: import_zod9.z.string().describe("Entity tag for cache validation"),
|
|
1705
1798
|
/**
|
|
1706
1799
|
* Serialization format
|
|
1707
1800
|
*/
|
|
@@ -1709,50 +1802,50 @@ var MetadataStatsSchema = import_zod8.z.object({
|
|
|
1709
1802
|
/**
|
|
1710
1803
|
* Full file path (if applicable)
|
|
1711
1804
|
*/
|
|
1712
|
-
path:
|
|
1805
|
+
path: import_zod9.z.string().optional().describe("File system path"),
|
|
1713
1806
|
/**
|
|
1714
1807
|
* Additional metadata provider-specific properties
|
|
1715
1808
|
*/
|
|
1716
|
-
metadata:
|
|
1809
|
+
metadata: import_zod9.z.record(import_zod9.z.string(), import_zod9.z.any()).optional().describe("Provider-specific metadata")
|
|
1717
1810
|
});
|
|
1718
|
-
var MetadataLoadOptionsSchema =
|
|
1811
|
+
var MetadataLoadOptionsSchema = import_zod9.z.object({
|
|
1719
1812
|
/**
|
|
1720
1813
|
* Glob patterns to match files
|
|
1721
1814
|
* Example: ["**\/*.object.ts", "**\/*.object.json"]
|
|
1722
1815
|
*/
|
|
1723
|
-
patterns:
|
|
1816
|
+
patterns: import_zod9.z.array(import_zod9.z.string()).optional().describe("File glob patterns"),
|
|
1724
1817
|
/**
|
|
1725
1818
|
* If-None-Match header for conditional loading
|
|
1726
1819
|
* Only load if ETag doesn't match
|
|
1727
1820
|
*/
|
|
1728
|
-
ifNoneMatch:
|
|
1821
|
+
ifNoneMatch: import_zod9.z.string().optional().describe("ETag for conditional request"),
|
|
1729
1822
|
/**
|
|
1730
1823
|
* If-Modified-Since header for conditional loading
|
|
1731
1824
|
*/
|
|
1732
|
-
ifModifiedSince:
|
|
1825
|
+
ifModifiedSince: import_zod9.z.date().optional().describe("Only load if modified after this date"),
|
|
1733
1826
|
/**
|
|
1734
1827
|
* Whether to validate against Zod schema
|
|
1735
1828
|
*/
|
|
1736
|
-
validate:
|
|
1829
|
+
validate: import_zod9.z.boolean().default(true).describe("Validate against schema"),
|
|
1737
1830
|
/**
|
|
1738
1831
|
* Whether to use cache if available
|
|
1739
1832
|
*/
|
|
1740
|
-
useCache:
|
|
1833
|
+
useCache: import_zod9.z.boolean().default(true).describe("Enable caching"),
|
|
1741
1834
|
/**
|
|
1742
1835
|
* Filter function (serialized as string)
|
|
1743
1836
|
* Example: "(item) => item.name.startsWith('sys_')"
|
|
1744
1837
|
*/
|
|
1745
|
-
filter:
|
|
1838
|
+
filter: import_zod9.z.string().optional().describe("Filter predicate as string"),
|
|
1746
1839
|
/**
|
|
1747
1840
|
* Maximum number of items to load
|
|
1748
1841
|
*/
|
|
1749
|
-
limit:
|
|
1842
|
+
limit: import_zod9.z.number().int().min(1).optional().describe("Maximum items to load"),
|
|
1750
1843
|
/**
|
|
1751
1844
|
* Recursively search subdirectories
|
|
1752
1845
|
*/
|
|
1753
|
-
recursive:
|
|
1846
|
+
recursive: import_zod9.z.boolean().default(true).describe("Search subdirectories")
|
|
1754
1847
|
});
|
|
1755
|
-
var MetadataSaveOptionsSchema =
|
|
1848
|
+
var MetadataSaveOptionsSchema = import_zod9.z.object({
|
|
1756
1849
|
/**
|
|
1757
1850
|
* Serialization format
|
|
1758
1851
|
*/
|
|
@@ -1760,41 +1853,41 @@ var MetadataSaveOptionsSchema = import_zod8.z.object({
|
|
|
1760
1853
|
/**
|
|
1761
1854
|
* Prettify output (formatted with indentation)
|
|
1762
1855
|
*/
|
|
1763
|
-
prettify:
|
|
1856
|
+
prettify: import_zod9.z.boolean().default(true).describe("Format with indentation"),
|
|
1764
1857
|
/**
|
|
1765
1858
|
* Indentation size (spaces)
|
|
1766
1859
|
*/
|
|
1767
|
-
indent:
|
|
1860
|
+
indent: import_zod9.z.number().int().min(0).max(8).default(2).describe("Indentation spaces"),
|
|
1768
1861
|
/**
|
|
1769
1862
|
* Sort object keys alphabetically
|
|
1770
1863
|
*/
|
|
1771
|
-
sortKeys:
|
|
1864
|
+
sortKeys: import_zod9.z.boolean().default(false).describe("Sort object keys"),
|
|
1772
1865
|
/**
|
|
1773
1866
|
* Include default values in output
|
|
1774
1867
|
*/
|
|
1775
|
-
includeDefaults:
|
|
1868
|
+
includeDefaults: import_zod9.z.boolean().default(false).describe("Include default values"),
|
|
1776
1869
|
/**
|
|
1777
1870
|
* Create backup before overwriting
|
|
1778
1871
|
*/
|
|
1779
|
-
backup:
|
|
1872
|
+
backup: import_zod9.z.boolean().default(false).describe("Create backup file"),
|
|
1780
1873
|
/**
|
|
1781
1874
|
* Overwrite if exists
|
|
1782
1875
|
*/
|
|
1783
|
-
overwrite:
|
|
1876
|
+
overwrite: import_zod9.z.boolean().default(true).describe("Overwrite existing file"),
|
|
1784
1877
|
/**
|
|
1785
1878
|
* Atomic write (write to temp file, then rename)
|
|
1786
1879
|
*/
|
|
1787
|
-
atomic:
|
|
1880
|
+
atomic: import_zod9.z.boolean().default(true).describe("Use atomic write operation"),
|
|
1788
1881
|
/**
|
|
1789
1882
|
* Custom file path (overrides default location)
|
|
1790
1883
|
*/
|
|
1791
|
-
path:
|
|
1884
|
+
path: import_zod9.z.string().optional().describe("Custom output path")
|
|
1792
1885
|
});
|
|
1793
|
-
var MetadataExportOptionsSchema =
|
|
1886
|
+
var MetadataExportOptionsSchema = import_zod9.z.object({
|
|
1794
1887
|
/**
|
|
1795
1888
|
* Output file path
|
|
1796
1889
|
*/
|
|
1797
|
-
output:
|
|
1890
|
+
output: import_zod9.z.string().describe("Output file path"),
|
|
1798
1891
|
/**
|
|
1799
1892
|
* Export format
|
|
1800
1893
|
*/
|
|
@@ -1802,60 +1895,60 @@ var MetadataExportOptionsSchema = import_zod8.z.object({
|
|
|
1802
1895
|
/**
|
|
1803
1896
|
* Filter predicate as string
|
|
1804
1897
|
*/
|
|
1805
|
-
filter:
|
|
1898
|
+
filter: import_zod9.z.string().optional().describe("Filter items to export"),
|
|
1806
1899
|
/**
|
|
1807
1900
|
* Include statistics in export
|
|
1808
1901
|
*/
|
|
1809
|
-
includeStats:
|
|
1902
|
+
includeStats: import_zod9.z.boolean().default(false).describe("Include metadata statistics"),
|
|
1810
1903
|
/**
|
|
1811
1904
|
* Compress output
|
|
1812
1905
|
*/
|
|
1813
|
-
compress:
|
|
1906
|
+
compress: import_zod9.z.boolean().default(false).describe("Compress output (gzip)"),
|
|
1814
1907
|
/**
|
|
1815
1908
|
* Pretty print output
|
|
1816
1909
|
*/
|
|
1817
|
-
prettify:
|
|
1910
|
+
prettify: import_zod9.z.boolean().default(true).describe("Pretty print output")
|
|
1818
1911
|
});
|
|
1819
|
-
var MetadataImportOptionsSchema =
|
|
1912
|
+
var MetadataImportOptionsSchema = import_zod9.z.object({
|
|
1820
1913
|
/**
|
|
1821
1914
|
* Conflict resolution strategy
|
|
1822
1915
|
*/
|
|
1823
|
-
conflictResolution:
|
|
1916
|
+
conflictResolution: import_zod9.z.enum(["skip", "overwrite", "merge", "fail"]).default("merge").describe("How to handle existing items"),
|
|
1824
1917
|
/**
|
|
1825
1918
|
* Validate items against schema
|
|
1826
1919
|
*/
|
|
1827
|
-
validate:
|
|
1920
|
+
validate: import_zod9.z.boolean().default(true).describe("Validate before import"),
|
|
1828
1921
|
/**
|
|
1829
1922
|
* Dry run (don't actually save)
|
|
1830
1923
|
*/
|
|
1831
|
-
dryRun:
|
|
1924
|
+
dryRun: import_zod9.z.boolean().default(false).describe("Simulate import without saving"),
|
|
1832
1925
|
/**
|
|
1833
1926
|
* Continue on errors
|
|
1834
1927
|
*/
|
|
1835
|
-
continueOnError:
|
|
1928
|
+
continueOnError: import_zod9.z.boolean().default(false).describe("Continue if validation fails"),
|
|
1836
1929
|
/**
|
|
1837
1930
|
* Transform function (as string)
|
|
1838
1931
|
* Example: "(item) => ({ ...item, imported: true })"
|
|
1839
1932
|
*/
|
|
1840
|
-
transform:
|
|
1933
|
+
transform: import_zod9.z.string().optional().describe("Transform items before import")
|
|
1841
1934
|
});
|
|
1842
|
-
var MetadataLoadResultSchema =
|
|
1935
|
+
var MetadataLoadResultSchema = import_zod9.z.object({
|
|
1843
1936
|
/**
|
|
1844
1937
|
* Loaded data
|
|
1845
1938
|
*/
|
|
1846
|
-
data:
|
|
1939
|
+
data: import_zod9.z.any().nullable().describe("Loaded metadata"),
|
|
1847
1940
|
/**
|
|
1848
1941
|
* Whether data came from cache (304 Not Modified)
|
|
1849
1942
|
*/
|
|
1850
|
-
fromCache:
|
|
1943
|
+
fromCache: import_zod9.z.boolean().default(false).describe("Loaded from cache"),
|
|
1851
1944
|
/**
|
|
1852
1945
|
* Not modified (conditional request matched)
|
|
1853
1946
|
*/
|
|
1854
|
-
notModified:
|
|
1947
|
+
notModified: import_zod9.z.boolean().default(false).describe("Not modified since last request"),
|
|
1855
1948
|
/**
|
|
1856
1949
|
* ETag of loaded data
|
|
1857
1950
|
*/
|
|
1858
|
-
etag:
|
|
1951
|
+
etag: import_zod9.z.string().optional().describe("Entity tag"),
|
|
1859
1952
|
/**
|
|
1860
1953
|
* Statistics about loaded data
|
|
1861
1954
|
*/
|
|
@@ -1863,166 +1956,166 @@ var MetadataLoadResultSchema = import_zod8.z.object({
|
|
|
1863
1956
|
/**
|
|
1864
1957
|
* Load time in milliseconds
|
|
1865
1958
|
*/
|
|
1866
|
-
loadTime:
|
|
1959
|
+
loadTime: import_zod9.z.number().min(0).optional().describe("Load duration in ms")
|
|
1867
1960
|
});
|
|
1868
|
-
var MetadataSaveResultSchema =
|
|
1961
|
+
var MetadataSaveResultSchema = import_zod9.z.object({
|
|
1869
1962
|
/**
|
|
1870
1963
|
* Whether save was successful
|
|
1871
1964
|
*/
|
|
1872
|
-
success:
|
|
1965
|
+
success: import_zod9.z.boolean().describe("Save successful"),
|
|
1873
1966
|
/**
|
|
1874
1967
|
* Path where file was saved
|
|
1875
1968
|
*/
|
|
1876
|
-
path:
|
|
1969
|
+
path: import_zod9.z.string().describe("Output path"),
|
|
1877
1970
|
/**
|
|
1878
1971
|
* Generated ETag
|
|
1879
1972
|
*/
|
|
1880
|
-
etag:
|
|
1973
|
+
etag: import_zod9.z.string().optional().describe("Generated entity tag"),
|
|
1881
1974
|
/**
|
|
1882
1975
|
* File size in bytes
|
|
1883
1976
|
*/
|
|
1884
|
-
size:
|
|
1977
|
+
size: import_zod9.z.number().int().min(0).optional().describe("File size"),
|
|
1885
1978
|
/**
|
|
1886
1979
|
* Save time in milliseconds
|
|
1887
1980
|
*/
|
|
1888
|
-
saveTime:
|
|
1981
|
+
saveTime: import_zod9.z.number().min(0).optional().describe("Save duration in ms"),
|
|
1889
1982
|
/**
|
|
1890
1983
|
* Backup path (if created)
|
|
1891
1984
|
*/
|
|
1892
|
-
backupPath:
|
|
1985
|
+
backupPath: import_zod9.z.string().optional().describe("Backup file path")
|
|
1893
1986
|
});
|
|
1894
|
-
var MetadataWatchEventSchema =
|
|
1987
|
+
var MetadataWatchEventSchema = import_zod9.z.object({
|
|
1895
1988
|
/**
|
|
1896
1989
|
* Event type
|
|
1897
1990
|
*/
|
|
1898
|
-
type:
|
|
1991
|
+
type: import_zod9.z.enum(["added", "changed", "deleted"]).describe("Event type"),
|
|
1899
1992
|
/**
|
|
1900
1993
|
* Metadata type (e.g., 'object', 'view', 'app')
|
|
1901
1994
|
*/
|
|
1902
|
-
metadataType:
|
|
1995
|
+
metadataType: import_zod9.z.string().describe("Type of metadata"),
|
|
1903
1996
|
/**
|
|
1904
1997
|
* Item name/identifier
|
|
1905
1998
|
*/
|
|
1906
|
-
name:
|
|
1999
|
+
name: import_zod9.z.string().describe("Item identifier"),
|
|
1907
2000
|
/**
|
|
1908
2001
|
* Full file path
|
|
1909
2002
|
*/
|
|
1910
|
-
path:
|
|
2003
|
+
path: import_zod9.z.string().describe("File path"),
|
|
1911
2004
|
/**
|
|
1912
2005
|
* Loaded item data (for added/changed events)
|
|
1913
2006
|
*/
|
|
1914
|
-
data:
|
|
2007
|
+
data: import_zod9.z.any().optional().describe("Item data"),
|
|
1915
2008
|
/**
|
|
1916
2009
|
* Timestamp
|
|
1917
2010
|
*/
|
|
1918
|
-
timestamp:
|
|
2011
|
+
timestamp: import_zod9.z.date().describe("Event timestamp")
|
|
1919
2012
|
});
|
|
1920
|
-
var MetadataCollectionInfoSchema =
|
|
2013
|
+
var MetadataCollectionInfoSchema = import_zod9.z.object({
|
|
1921
2014
|
/**
|
|
1922
2015
|
* Collection type (e.g., 'object', 'view', 'app')
|
|
1923
2016
|
*/
|
|
1924
|
-
type:
|
|
2017
|
+
type: import_zod9.z.string().describe("Collection type"),
|
|
1925
2018
|
/**
|
|
1926
2019
|
* Total items in collection
|
|
1927
2020
|
*/
|
|
1928
|
-
count:
|
|
2021
|
+
count: import_zod9.z.number().int().min(0).describe("Number of items"),
|
|
1929
2022
|
/**
|
|
1930
2023
|
* Formats found in collection
|
|
1931
2024
|
*/
|
|
1932
|
-
formats:
|
|
2025
|
+
formats: import_zod9.z.array(MetadataFormatSchema).describe("Formats in collection"),
|
|
1933
2026
|
/**
|
|
1934
2027
|
* Total size in bytes
|
|
1935
2028
|
*/
|
|
1936
|
-
totalSize:
|
|
2029
|
+
totalSize: import_zod9.z.number().int().min(0).optional().describe("Total size in bytes"),
|
|
1937
2030
|
/**
|
|
1938
2031
|
* Last modified timestamp
|
|
1939
2032
|
*/
|
|
1940
|
-
lastModified:
|
|
2033
|
+
lastModified: import_zod9.z.date().optional().describe("Last modification date"),
|
|
1941
2034
|
/**
|
|
1942
2035
|
* Collection location (path or URL)
|
|
1943
2036
|
*/
|
|
1944
|
-
location:
|
|
2037
|
+
location: import_zod9.z.string().optional().describe("Collection location")
|
|
1945
2038
|
});
|
|
1946
|
-
var MetadataLoaderContractSchema =
|
|
2039
|
+
var MetadataLoaderContractSchema = import_zod9.z.object({
|
|
1947
2040
|
/**
|
|
1948
2041
|
* Loader name/identifier
|
|
1949
2042
|
*/
|
|
1950
|
-
name:
|
|
2043
|
+
name: import_zod9.z.string().describe("Loader identifier"),
|
|
1951
2044
|
/**
|
|
1952
2045
|
* Protocol handled by this loader (e.g. 'file', 'http', 's3')
|
|
1953
2046
|
*/
|
|
1954
|
-
protocol:
|
|
2047
|
+
protocol: import_zod9.z.string().describe("Protocol identifier"),
|
|
1955
2048
|
/**
|
|
1956
2049
|
* Detailed capabilities
|
|
1957
2050
|
*/
|
|
1958
|
-
capabilities:
|
|
1959
|
-
read:
|
|
1960
|
-
write:
|
|
1961
|
-
watch:
|
|
1962
|
-
list:
|
|
2051
|
+
capabilities: import_zod9.z.object({
|
|
2052
|
+
read: import_zod9.z.boolean().default(true),
|
|
2053
|
+
write: import_zod9.z.boolean().default(false),
|
|
2054
|
+
watch: import_zod9.z.boolean().default(false),
|
|
2055
|
+
list: import_zod9.z.boolean().default(true)
|
|
1963
2056
|
}).describe("Loader capabilities"),
|
|
1964
2057
|
/**
|
|
1965
2058
|
* Supported formats
|
|
1966
2059
|
*/
|
|
1967
|
-
supportedFormats:
|
|
2060
|
+
supportedFormats: import_zod9.z.array(MetadataFormatSchema).describe("Supported formats"),
|
|
1968
2061
|
/**
|
|
1969
2062
|
* Whether loader supports watching for changes
|
|
1970
2063
|
*/
|
|
1971
|
-
supportsWatch:
|
|
2064
|
+
supportsWatch: import_zod9.z.boolean().default(false).describe("Supports file watching"),
|
|
1972
2065
|
/**
|
|
1973
2066
|
* Whether loader supports saving
|
|
1974
2067
|
*/
|
|
1975
|
-
supportsWrite:
|
|
2068
|
+
supportsWrite: import_zod9.z.boolean().default(true).describe("Supports write operations"),
|
|
1976
2069
|
/**
|
|
1977
2070
|
* Whether loader supports caching
|
|
1978
2071
|
*/
|
|
1979
|
-
supportsCache:
|
|
2072
|
+
supportsCache: import_zod9.z.boolean().default(true).describe("Supports caching")
|
|
1980
2073
|
});
|
|
1981
|
-
var MetadataManagerConfigSchema =
|
|
2074
|
+
var MetadataManagerConfigSchema = import_zod9.z.object({
|
|
1982
2075
|
/**
|
|
1983
2076
|
* Root directory for metadata (for filesystem loaders)
|
|
1984
2077
|
*/
|
|
1985
|
-
rootDir:
|
|
2078
|
+
rootDir: import_zod9.z.string().optional().describe("Root directory path"),
|
|
1986
2079
|
/**
|
|
1987
2080
|
* Enabled serialization formats
|
|
1988
2081
|
*/
|
|
1989
|
-
formats:
|
|
2082
|
+
formats: import_zod9.z.array(MetadataFormatSchema).default(["typescript", "json", "yaml"]).describe("Enabled formats"),
|
|
1990
2083
|
/**
|
|
1991
2084
|
* Cache configuration
|
|
1992
2085
|
*/
|
|
1993
|
-
cache:
|
|
1994
|
-
enabled:
|
|
1995
|
-
ttl:
|
|
1996
|
-
maxSize:
|
|
2086
|
+
cache: import_zod9.z.object({
|
|
2087
|
+
enabled: import_zod9.z.boolean().default(true).describe("Enable caching"),
|
|
2088
|
+
ttl: import_zod9.z.number().int().min(0).default(3600).describe("Cache TTL in seconds"),
|
|
2089
|
+
maxSize: import_zod9.z.number().int().min(0).optional().describe("Max cache size in bytes")
|
|
1997
2090
|
}).optional().describe("Cache settings"),
|
|
1998
2091
|
/**
|
|
1999
2092
|
* Watch for file changes
|
|
2000
2093
|
*/
|
|
2001
|
-
watch:
|
|
2094
|
+
watch: import_zod9.z.boolean().default(false).describe("Enable file watching"),
|
|
2002
2095
|
/**
|
|
2003
2096
|
* Watch options
|
|
2004
2097
|
*/
|
|
2005
|
-
watchOptions:
|
|
2006
|
-
ignored:
|
|
2007
|
-
persistent:
|
|
2008
|
-
ignoreInitial:
|
|
2098
|
+
watchOptions: import_zod9.z.object({
|
|
2099
|
+
ignored: import_zod9.z.array(import_zod9.z.string()).optional().describe("Patterns to ignore"),
|
|
2100
|
+
persistent: import_zod9.z.boolean().default(true).describe("Keep process running"),
|
|
2101
|
+
ignoreInitial: import_zod9.z.boolean().default(true).describe("Ignore initial add events")
|
|
2009
2102
|
}).optional().describe("File watcher options"),
|
|
2010
2103
|
/**
|
|
2011
2104
|
* Validation settings
|
|
2012
2105
|
*/
|
|
2013
|
-
validation:
|
|
2014
|
-
strict:
|
|
2015
|
-
throwOnError:
|
|
2106
|
+
validation: import_zod9.z.object({
|
|
2107
|
+
strict: import_zod9.z.boolean().default(true).describe("Strict validation"),
|
|
2108
|
+
throwOnError: import_zod9.z.boolean().default(true).describe("Throw on validation error")
|
|
2016
2109
|
}).optional().describe("Validation settings"),
|
|
2017
2110
|
/**
|
|
2018
2111
|
* Loader-specific options
|
|
2019
2112
|
*/
|
|
2020
|
-
loaderOptions:
|
|
2113
|
+
loaderOptions: import_zod9.z.record(import_zod9.z.string(), import_zod9.z.any()).optional().describe("Loader-specific configuration")
|
|
2021
2114
|
});
|
|
2022
2115
|
|
|
2023
2116
|
// src/kernel/plugin-lifecycle-advanced.zod.ts
|
|
2024
|
-
var
|
|
2025
|
-
var PluginHealthStatusSchema =
|
|
2117
|
+
var import_zod10 = require("zod");
|
|
2118
|
+
var PluginHealthStatusSchema = import_zod10.z.enum([
|
|
2026
2119
|
"healthy",
|
|
2027
2120
|
// Plugin is operating normally
|
|
2028
2121
|
"degraded",
|
|
@@ -2036,41 +2129,41 @@ var PluginHealthStatusSchema = import_zod9.z.enum([
|
|
|
2036
2129
|
"unknown"
|
|
2037
2130
|
// Health status cannot be determined
|
|
2038
2131
|
]).describe("Current health status of the plugin");
|
|
2039
|
-
var PluginHealthCheckSchema =
|
|
2132
|
+
var PluginHealthCheckSchema = import_zod10.z.object({
|
|
2040
2133
|
/**
|
|
2041
2134
|
* Health check interval in milliseconds
|
|
2042
2135
|
*/
|
|
2043
|
-
interval:
|
|
2136
|
+
interval: import_zod10.z.number().int().min(1e3).default(3e4).describe("How often to perform health checks (default: 30s)"),
|
|
2044
2137
|
/**
|
|
2045
2138
|
* Timeout for health check in milliseconds
|
|
2046
2139
|
*/
|
|
2047
|
-
timeout:
|
|
2140
|
+
timeout: import_zod10.z.number().int().min(100).default(5e3).describe("Maximum time to wait for health check response"),
|
|
2048
2141
|
/**
|
|
2049
2142
|
* Number of consecutive failures before marking as unhealthy
|
|
2050
2143
|
*/
|
|
2051
|
-
failureThreshold:
|
|
2144
|
+
failureThreshold: import_zod10.z.number().int().min(1).default(3).describe("Consecutive failures needed to mark unhealthy"),
|
|
2052
2145
|
/**
|
|
2053
2146
|
* Number of consecutive successes to recover from unhealthy state
|
|
2054
2147
|
*/
|
|
2055
|
-
successThreshold:
|
|
2148
|
+
successThreshold: import_zod10.z.number().int().min(1).default(1).describe("Consecutive successes needed to mark healthy"),
|
|
2056
2149
|
/**
|
|
2057
2150
|
* Custom health check function name or endpoint
|
|
2058
2151
|
*/
|
|
2059
|
-
checkMethod:
|
|
2152
|
+
checkMethod: import_zod10.z.string().optional().describe("Method name to call for health check"),
|
|
2060
2153
|
/**
|
|
2061
2154
|
* Enable automatic restart on failure
|
|
2062
2155
|
*/
|
|
2063
|
-
autoRestart:
|
|
2156
|
+
autoRestart: import_zod10.z.boolean().default(false).describe("Automatically restart plugin on health check failure"),
|
|
2064
2157
|
/**
|
|
2065
2158
|
* Maximum number of restart attempts
|
|
2066
2159
|
*/
|
|
2067
|
-
maxRestartAttempts:
|
|
2160
|
+
maxRestartAttempts: import_zod10.z.number().int().min(0).default(3).describe("Maximum restart attempts before giving up"),
|
|
2068
2161
|
/**
|
|
2069
2162
|
* Backoff strategy for restarts
|
|
2070
2163
|
*/
|
|
2071
|
-
restartBackoff:
|
|
2164
|
+
restartBackoff: import_zod10.z.enum(["fixed", "linear", "exponential"]).default("exponential").describe("Backoff strategy for restart delays")
|
|
2072
2165
|
});
|
|
2073
|
-
var PluginHealthReportSchema =
|
|
2166
|
+
var PluginHealthReportSchema = import_zod10.z.object({
|
|
2074
2167
|
/**
|
|
2075
2168
|
* Overall health status
|
|
2076
2169
|
*/
|
|
@@ -2078,99 +2171,99 @@ var PluginHealthReportSchema = import_zod9.z.object({
|
|
|
2078
2171
|
/**
|
|
2079
2172
|
* Timestamp of the health check
|
|
2080
2173
|
*/
|
|
2081
|
-
timestamp:
|
|
2174
|
+
timestamp: import_zod10.z.string().datetime(),
|
|
2082
2175
|
/**
|
|
2083
2176
|
* Human-readable message about health status
|
|
2084
2177
|
*/
|
|
2085
|
-
message:
|
|
2178
|
+
message: import_zod10.z.string().optional(),
|
|
2086
2179
|
/**
|
|
2087
2180
|
* Detailed metrics
|
|
2088
2181
|
*/
|
|
2089
|
-
metrics:
|
|
2090
|
-
uptime:
|
|
2091
|
-
memoryUsage:
|
|
2092
|
-
cpuUsage:
|
|
2093
|
-
activeConnections:
|
|
2094
|
-
errorRate:
|
|
2095
|
-
responseTime:
|
|
2182
|
+
metrics: import_zod10.z.object({
|
|
2183
|
+
uptime: import_zod10.z.number().describe("Plugin uptime in milliseconds"),
|
|
2184
|
+
memoryUsage: import_zod10.z.number().optional().describe("Memory usage in bytes"),
|
|
2185
|
+
cpuUsage: import_zod10.z.number().optional().describe("CPU usage percentage"),
|
|
2186
|
+
activeConnections: import_zod10.z.number().optional().describe("Number of active connections"),
|
|
2187
|
+
errorRate: import_zod10.z.number().optional().describe("Error rate (errors per minute)"),
|
|
2188
|
+
responseTime: import_zod10.z.number().optional().describe("Average response time in ms")
|
|
2096
2189
|
}).partial().optional(),
|
|
2097
2190
|
/**
|
|
2098
2191
|
* List of checks performed
|
|
2099
2192
|
*/
|
|
2100
|
-
checks:
|
|
2101
|
-
name:
|
|
2102
|
-
status:
|
|
2103
|
-
message:
|
|
2104
|
-
data:
|
|
2193
|
+
checks: import_zod10.z.array(import_zod10.z.object({
|
|
2194
|
+
name: import_zod10.z.string().describe("Check name"),
|
|
2195
|
+
status: import_zod10.z.enum(["passed", "failed", "warning"]),
|
|
2196
|
+
message: import_zod10.z.string().optional(),
|
|
2197
|
+
data: import_zod10.z.record(import_zod10.z.string(), import_zod10.z.any()).optional()
|
|
2105
2198
|
})).optional(),
|
|
2106
2199
|
/**
|
|
2107
2200
|
* Dependencies health
|
|
2108
2201
|
*/
|
|
2109
|
-
dependencies:
|
|
2110
|
-
pluginId:
|
|
2202
|
+
dependencies: import_zod10.z.array(import_zod10.z.object({
|
|
2203
|
+
pluginId: import_zod10.z.string(),
|
|
2111
2204
|
status: PluginHealthStatusSchema,
|
|
2112
|
-
message:
|
|
2205
|
+
message: import_zod10.z.string().optional()
|
|
2113
2206
|
})).optional()
|
|
2114
2207
|
});
|
|
2115
|
-
var DistributedStateConfigSchema =
|
|
2208
|
+
var DistributedStateConfigSchema = import_zod10.z.object({
|
|
2116
2209
|
/**
|
|
2117
2210
|
* Distributed cache provider
|
|
2118
2211
|
*/
|
|
2119
|
-
provider:
|
|
2212
|
+
provider: import_zod10.z.enum(["redis", "etcd", "custom"]).describe("Distributed state backend provider"),
|
|
2120
2213
|
/**
|
|
2121
2214
|
* Connection URL or endpoints
|
|
2122
2215
|
*/
|
|
2123
|
-
endpoints:
|
|
2216
|
+
endpoints: import_zod10.z.array(import_zod10.z.string()).optional().describe("Backend connection endpoints"),
|
|
2124
2217
|
/**
|
|
2125
2218
|
* Key prefix for namespacing
|
|
2126
2219
|
*/
|
|
2127
|
-
keyPrefix:
|
|
2220
|
+
keyPrefix: import_zod10.z.string().optional().describe('Prefix for all keys (e.g., "plugin:my-plugin:")'),
|
|
2128
2221
|
/**
|
|
2129
2222
|
* Time to live in seconds
|
|
2130
2223
|
*/
|
|
2131
|
-
ttl:
|
|
2224
|
+
ttl: import_zod10.z.number().int().min(0).optional().describe("State expiration time in seconds"),
|
|
2132
2225
|
/**
|
|
2133
2226
|
* Authentication configuration
|
|
2134
2227
|
*/
|
|
2135
|
-
auth:
|
|
2136
|
-
username:
|
|
2137
|
-
password:
|
|
2138
|
-
token:
|
|
2139
|
-
certificate:
|
|
2228
|
+
auth: import_zod10.z.object({
|
|
2229
|
+
username: import_zod10.z.string().optional(),
|
|
2230
|
+
password: import_zod10.z.string().optional(),
|
|
2231
|
+
token: import_zod10.z.string().optional(),
|
|
2232
|
+
certificate: import_zod10.z.string().optional()
|
|
2140
2233
|
}).optional(),
|
|
2141
2234
|
/**
|
|
2142
2235
|
* Replication settings
|
|
2143
2236
|
*/
|
|
2144
|
-
replication:
|
|
2145
|
-
enabled:
|
|
2146
|
-
minReplicas:
|
|
2237
|
+
replication: import_zod10.z.object({
|
|
2238
|
+
enabled: import_zod10.z.boolean().default(true),
|
|
2239
|
+
minReplicas: import_zod10.z.number().int().min(1).default(1)
|
|
2147
2240
|
}).optional(),
|
|
2148
2241
|
/**
|
|
2149
2242
|
* Custom provider configuration
|
|
2150
2243
|
*/
|
|
2151
|
-
customConfig:
|
|
2244
|
+
customConfig: import_zod10.z.record(import_zod10.z.string(), import_zod10.z.any()).optional().describe("Provider-specific configuration")
|
|
2152
2245
|
});
|
|
2153
|
-
var HotReloadConfigSchema =
|
|
2246
|
+
var HotReloadConfigSchema = import_zod10.z.object({
|
|
2154
2247
|
/**
|
|
2155
2248
|
* Enable hot reload capability
|
|
2156
2249
|
*/
|
|
2157
|
-
enabled:
|
|
2250
|
+
enabled: import_zod10.z.boolean().default(false),
|
|
2158
2251
|
/**
|
|
2159
2252
|
* Watch file patterns for auto-reload
|
|
2160
2253
|
*/
|
|
2161
|
-
watchPatterns:
|
|
2254
|
+
watchPatterns: import_zod10.z.array(import_zod10.z.string()).optional().describe("Glob patterns to watch for changes"),
|
|
2162
2255
|
/**
|
|
2163
2256
|
* Debounce delay before reloading (milliseconds)
|
|
2164
2257
|
*/
|
|
2165
|
-
debounceDelay:
|
|
2258
|
+
debounceDelay: import_zod10.z.number().int().min(0).default(1e3).describe("Wait time after change detection before reload"),
|
|
2166
2259
|
/**
|
|
2167
2260
|
* Preserve plugin state during reload
|
|
2168
2261
|
*/
|
|
2169
|
-
preserveState:
|
|
2262
|
+
preserveState: import_zod10.z.boolean().default(true).describe("Keep plugin state across reloads"),
|
|
2170
2263
|
/**
|
|
2171
2264
|
* State serialization strategy
|
|
2172
2265
|
*/
|
|
2173
|
-
stateStrategy:
|
|
2266
|
+
stateStrategy: import_zod10.z.enum(["memory", "disk", "distributed", "none"]).default("memory").describe("How to preserve state during reload"),
|
|
2174
2267
|
/**
|
|
2175
2268
|
* Distributed state configuration (required when stateStrategy is "distributed")
|
|
2176
2269
|
*/
|
|
@@ -2178,25 +2271,25 @@ var HotReloadConfigSchema = import_zod9.z.object({
|
|
|
2178
2271
|
/**
|
|
2179
2272
|
* Graceful shutdown timeout
|
|
2180
2273
|
*/
|
|
2181
|
-
shutdownTimeout:
|
|
2274
|
+
shutdownTimeout: import_zod10.z.number().int().min(0).default(3e4).describe("Maximum time to wait for graceful shutdown"),
|
|
2182
2275
|
/**
|
|
2183
2276
|
* Pre-reload hooks
|
|
2184
2277
|
*/
|
|
2185
|
-
beforeReload:
|
|
2278
|
+
beforeReload: import_zod10.z.array(import_zod10.z.string()).optional().describe("Hook names to call before reload"),
|
|
2186
2279
|
/**
|
|
2187
2280
|
* Post-reload hooks
|
|
2188
2281
|
*/
|
|
2189
|
-
afterReload:
|
|
2282
|
+
afterReload: import_zod10.z.array(import_zod10.z.string()).optional().describe("Hook names to call after reload")
|
|
2190
2283
|
});
|
|
2191
|
-
var GracefulDegradationSchema =
|
|
2284
|
+
var GracefulDegradationSchema = import_zod10.z.object({
|
|
2192
2285
|
/**
|
|
2193
2286
|
* Enable graceful degradation
|
|
2194
2287
|
*/
|
|
2195
|
-
enabled:
|
|
2288
|
+
enabled: import_zod10.z.boolean().default(true),
|
|
2196
2289
|
/**
|
|
2197
2290
|
* Fallback mode when dependencies fail
|
|
2198
2291
|
*/
|
|
2199
|
-
fallbackMode:
|
|
2292
|
+
fallbackMode: import_zod10.z.enum([
|
|
2200
2293
|
"minimal",
|
|
2201
2294
|
// Provide minimal functionality
|
|
2202
2295
|
"cached",
|
|
@@ -2211,33 +2304,33 @@ var GracefulDegradationSchema = import_zod9.z.object({
|
|
|
2211
2304
|
/**
|
|
2212
2305
|
* Critical dependencies that must be available
|
|
2213
2306
|
*/
|
|
2214
|
-
criticalDependencies:
|
|
2307
|
+
criticalDependencies: import_zod10.z.array(import_zod10.z.string()).optional().describe("Plugin IDs that are required for operation"),
|
|
2215
2308
|
/**
|
|
2216
2309
|
* Optional dependencies that can fail
|
|
2217
2310
|
*/
|
|
2218
|
-
optionalDependencies:
|
|
2311
|
+
optionalDependencies: import_zod10.z.array(import_zod10.z.string()).optional().describe("Plugin IDs that are nice to have but not required"),
|
|
2219
2312
|
/**
|
|
2220
2313
|
* Feature flags for degraded mode
|
|
2221
2314
|
*/
|
|
2222
|
-
degradedFeatures:
|
|
2223
|
-
feature:
|
|
2224
|
-
enabled:
|
|
2225
|
-
reason:
|
|
2315
|
+
degradedFeatures: import_zod10.z.array(import_zod10.z.object({
|
|
2316
|
+
feature: import_zod10.z.string().describe("Feature name"),
|
|
2317
|
+
enabled: import_zod10.z.boolean().describe("Whether feature is available in degraded mode"),
|
|
2318
|
+
reason: import_zod10.z.string().optional()
|
|
2226
2319
|
})).optional(),
|
|
2227
2320
|
/**
|
|
2228
2321
|
* Automatic recovery attempts
|
|
2229
2322
|
*/
|
|
2230
|
-
autoRecovery:
|
|
2231
|
-
enabled:
|
|
2232
|
-
retryInterval:
|
|
2233
|
-
maxAttempts:
|
|
2323
|
+
autoRecovery: import_zod10.z.object({
|
|
2324
|
+
enabled: import_zod10.z.boolean().default(true),
|
|
2325
|
+
retryInterval: import_zod10.z.number().int().min(1e3).default(6e4).describe("Interval between recovery attempts (ms)"),
|
|
2326
|
+
maxAttempts: import_zod10.z.number().int().min(0).default(5).describe("Maximum recovery attempts before giving up")
|
|
2234
2327
|
}).optional()
|
|
2235
2328
|
});
|
|
2236
|
-
var PluginUpdateStrategySchema =
|
|
2329
|
+
var PluginUpdateStrategySchema = import_zod10.z.object({
|
|
2237
2330
|
/**
|
|
2238
2331
|
* Update mode
|
|
2239
2332
|
*/
|
|
2240
|
-
mode:
|
|
2333
|
+
mode: import_zod10.z.enum([
|
|
2241
2334
|
"manual",
|
|
2242
2335
|
// Manual updates only
|
|
2243
2336
|
"automatic",
|
|
@@ -2250,91 +2343,91 @@ var PluginUpdateStrategySchema = import_zod9.z.object({
|
|
|
2250
2343
|
/**
|
|
2251
2344
|
* Version constraints for automatic updates
|
|
2252
2345
|
*/
|
|
2253
|
-
autoUpdateConstraints:
|
|
2254
|
-
major:
|
|
2255
|
-
minor:
|
|
2256
|
-
patch:
|
|
2346
|
+
autoUpdateConstraints: import_zod10.z.object({
|
|
2347
|
+
major: import_zod10.z.boolean().default(false).describe("Allow major version updates"),
|
|
2348
|
+
minor: import_zod10.z.boolean().default(true).describe("Allow minor version updates"),
|
|
2349
|
+
patch: import_zod10.z.boolean().default(true).describe("Allow patch version updates")
|
|
2257
2350
|
}).optional(),
|
|
2258
2351
|
/**
|
|
2259
2352
|
* Update schedule (for scheduled mode)
|
|
2260
2353
|
*/
|
|
2261
|
-
schedule:
|
|
2354
|
+
schedule: import_zod10.z.object({
|
|
2262
2355
|
/**
|
|
2263
2356
|
* Cron expression for update window
|
|
2264
2357
|
*/
|
|
2265
|
-
cron:
|
|
2358
|
+
cron: import_zod10.z.string().optional(),
|
|
2266
2359
|
/**
|
|
2267
2360
|
* Timezone for schedule
|
|
2268
2361
|
*/
|
|
2269
|
-
timezone:
|
|
2362
|
+
timezone: import_zod10.z.string().default("UTC"),
|
|
2270
2363
|
/**
|
|
2271
2364
|
* Maintenance window duration in minutes
|
|
2272
2365
|
*/
|
|
2273
|
-
maintenanceWindow:
|
|
2366
|
+
maintenanceWindow: import_zod10.z.number().int().min(1).default(60)
|
|
2274
2367
|
}).optional(),
|
|
2275
2368
|
/**
|
|
2276
2369
|
* Rollback configuration
|
|
2277
2370
|
*/
|
|
2278
|
-
rollback:
|
|
2279
|
-
enabled:
|
|
2371
|
+
rollback: import_zod10.z.object({
|
|
2372
|
+
enabled: import_zod10.z.boolean().default(true),
|
|
2280
2373
|
/**
|
|
2281
2374
|
* Automatic rollback on failure
|
|
2282
2375
|
*/
|
|
2283
|
-
automatic:
|
|
2376
|
+
automatic: import_zod10.z.boolean().default(true),
|
|
2284
2377
|
/**
|
|
2285
2378
|
* Keep N previous versions for rollback
|
|
2286
2379
|
*/
|
|
2287
|
-
keepVersions:
|
|
2380
|
+
keepVersions: import_zod10.z.number().int().min(1).default(3),
|
|
2288
2381
|
/**
|
|
2289
2382
|
* Rollback timeout in milliseconds
|
|
2290
2383
|
*/
|
|
2291
|
-
timeout:
|
|
2384
|
+
timeout: import_zod10.z.number().int().min(1e3).default(3e4)
|
|
2292
2385
|
}).optional(),
|
|
2293
2386
|
/**
|
|
2294
2387
|
* Pre-update validation
|
|
2295
2388
|
*/
|
|
2296
|
-
validation:
|
|
2389
|
+
validation: import_zod10.z.object({
|
|
2297
2390
|
/**
|
|
2298
2391
|
* Run compatibility checks before update
|
|
2299
2392
|
*/
|
|
2300
|
-
checkCompatibility:
|
|
2393
|
+
checkCompatibility: import_zod10.z.boolean().default(true),
|
|
2301
2394
|
/**
|
|
2302
2395
|
* Run tests before applying update
|
|
2303
2396
|
*/
|
|
2304
|
-
runTests:
|
|
2397
|
+
runTests: import_zod10.z.boolean().default(false),
|
|
2305
2398
|
/**
|
|
2306
2399
|
* Test suite to run
|
|
2307
2400
|
*/
|
|
2308
|
-
testSuite:
|
|
2401
|
+
testSuite: import_zod10.z.string().optional()
|
|
2309
2402
|
}).optional()
|
|
2310
2403
|
});
|
|
2311
|
-
var PluginStateSnapshotSchema =
|
|
2404
|
+
var PluginStateSnapshotSchema = import_zod10.z.object({
|
|
2312
2405
|
/**
|
|
2313
2406
|
* Plugin identifier
|
|
2314
2407
|
*/
|
|
2315
|
-
pluginId:
|
|
2408
|
+
pluginId: import_zod10.z.string(),
|
|
2316
2409
|
/**
|
|
2317
2410
|
* Version at time of snapshot
|
|
2318
2411
|
*/
|
|
2319
|
-
version:
|
|
2412
|
+
version: import_zod10.z.string(),
|
|
2320
2413
|
/**
|
|
2321
2414
|
* Snapshot timestamp
|
|
2322
2415
|
*/
|
|
2323
|
-
timestamp:
|
|
2416
|
+
timestamp: import_zod10.z.string().datetime(),
|
|
2324
2417
|
/**
|
|
2325
2418
|
* Serialized state data
|
|
2326
2419
|
*/
|
|
2327
|
-
state:
|
|
2420
|
+
state: import_zod10.z.record(import_zod10.z.string(), import_zod10.z.any()),
|
|
2328
2421
|
/**
|
|
2329
2422
|
* State metadata
|
|
2330
2423
|
*/
|
|
2331
|
-
metadata:
|
|
2332
|
-
checksum:
|
|
2333
|
-
compressed:
|
|
2334
|
-
encryption:
|
|
2424
|
+
metadata: import_zod10.z.object({
|
|
2425
|
+
checksum: import_zod10.z.string().optional().describe("State checksum for verification"),
|
|
2426
|
+
compressed: import_zod10.z.boolean().default(false),
|
|
2427
|
+
encryption: import_zod10.z.string().optional().describe("Encryption algorithm if encrypted")
|
|
2335
2428
|
}).optional()
|
|
2336
2429
|
});
|
|
2337
|
-
var AdvancedPluginLifecycleConfigSchema =
|
|
2430
|
+
var AdvancedPluginLifecycleConfigSchema = import_zod10.z.object({
|
|
2338
2431
|
/**
|
|
2339
2432
|
* Health monitoring configuration
|
|
2340
2433
|
*/
|
|
@@ -2354,47 +2447,47 @@ var AdvancedPluginLifecycleConfigSchema = import_zod9.z.object({
|
|
|
2354
2447
|
/**
|
|
2355
2448
|
* Resource limits
|
|
2356
2449
|
*/
|
|
2357
|
-
resources:
|
|
2358
|
-
maxMemory:
|
|
2359
|
-
maxCpu:
|
|
2360
|
-
maxConnections:
|
|
2361
|
-
timeout:
|
|
2450
|
+
resources: import_zod10.z.object({
|
|
2451
|
+
maxMemory: import_zod10.z.number().int().optional().describe("Maximum memory in bytes"),
|
|
2452
|
+
maxCpu: import_zod10.z.number().min(0).max(100).optional().describe("Maximum CPU percentage"),
|
|
2453
|
+
maxConnections: import_zod10.z.number().int().optional().describe("Maximum concurrent connections"),
|
|
2454
|
+
timeout: import_zod10.z.number().int().optional().describe("Operation timeout in milliseconds")
|
|
2362
2455
|
}).optional(),
|
|
2363
2456
|
/**
|
|
2364
2457
|
* Monitoring and observability
|
|
2365
2458
|
*/
|
|
2366
|
-
observability:
|
|
2367
|
-
enableMetrics:
|
|
2368
|
-
enableTracing:
|
|
2369
|
-
enableProfiling:
|
|
2370
|
-
metricsInterval:
|
|
2459
|
+
observability: import_zod10.z.object({
|
|
2460
|
+
enableMetrics: import_zod10.z.boolean().default(true),
|
|
2461
|
+
enableTracing: import_zod10.z.boolean().default(true),
|
|
2462
|
+
enableProfiling: import_zod10.z.boolean().default(false),
|
|
2463
|
+
metricsInterval: import_zod10.z.number().int().min(1e3).default(6e4).describe("Metrics collection interval in ms")
|
|
2371
2464
|
}).optional()
|
|
2372
2465
|
});
|
|
2373
2466
|
|
|
2374
2467
|
// src/kernel/plugin-lifecycle-events.zod.ts
|
|
2375
|
-
var
|
|
2376
|
-
var EventPhaseSchema =
|
|
2377
|
-
var PluginEventBaseSchema =
|
|
2468
|
+
var import_zod11 = require("zod");
|
|
2469
|
+
var EventPhaseSchema = import_zod11.z.enum(["init", "start", "destroy"]).describe("Plugin lifecycle phase");
|
|
2470
|
+
var PluginEventBaseSchema = import_zod11.z.object({
|
|
2378
2471
|
/**
|
|
2379
2472
|
* Plugin name
|
|
2380
2473
|
*/
|
|
2381
|
-
pluginName:
|
|
2474
|
+
pluginName: import_zod11.z.string().describe("Name of the plugin"),
|
|
2382
2475
|
/**
|
|
2383
2476
|
* Event timestamp (Unix milliseconds)
|
|
2384
2477
|
*/
|
|
2385
|
-
timestamp:
|
|
2478
|
+
timestamp: import_zod11.z.number().int().describe("Unix timestamp in milliseconds when event occurred")
|
|
2386
2479
|
});
|
|
2387
2480
|
var PluginRegisteredEventSchema = PluginEventBaseSchema.extend({
|
|
2388
2481
|
/**
|
|
2389
2482
|
* Plugin version (optional)
|
|
2390
2483
|
*/
|
|
2391
|
-
version:
|
|
2484
|
+
version: import_zod11.z.string().optional().describe("Plugin version")
|
|
2392
2485
|
});
|
|
2393
2486
|
var PluginLifecyclePhaseEventSchema = PluginEventBaseSchema.extend({
|
|
2394
2487
|
/**
|
|
2395
2488
|
* Duration of the phase (milliseconds)
|
|
2396
2489
|
*/
|
|
2397
|
-
duration:
|
|
2490
|
+
duration: import_zod11.z.number().min(0).optional().describe("Duration of the lifecycle phase in milliseconds"),
|
|
2398
2491
|
/**
|
|
2399
2492
|
* Lifecycle phase
|
|
2400
2493
|
*/
|
|
@@ -2404,7 +2497,7 @@ var PluginErrorEventSchema = PluginEventBaseSchema.extend({
|
|
|
2404
2497
|
/**
|
|
2405
2498
|
* Error object
|
|
2406
2499
|
*/
|
|
2407
|
-
error:
|
|
2500
|
+
error: import_zod11.z.instanceof(Error).describe("Error object"),
|
|
2408
2501
|
/**
|
|
2409
2502
|
* Lifecycle phase where error occurred
|
|
2410
2503
|
*/
|
|
@@ -2412,91 +2505,91 @@ var PluginErrorEventSchema = PluginEventBaseSchema.extend({
|
|
|
2412
2505
|
/**
|
|
2413
2506
|
* Error message (for serialization)
|
|
2414
2507
|
*/
|
|
2415
|
-
errorMessage:
|
|
2508
|
+
errorMessage: import_zod11.z.string().optional().describe("Error message"),
|
|
2416
2509
|
/**
|
|
2417
2510
|
* Error stack trace (for debugging)
|
|
2418
2511
|
*/
|
|
2419
|
-
errorStack:
|
|
2512
|
+
errorStack: import_zod11.z.string().optional().describe("Error stack trace")
|
|
2420
2513
|
});
|
|
2421
|
-
var ServiceRegisteredEventSchema =
|
|
2514
|
+
var ServiceRegisteredEventSchema = import_zod11.z.object({
|
|
2422
2515
|
/**
|
|
2423
2516
|
* Service name
|
|
2424
2517
|
*/
|
|
2425
|
-
serviceName:
|
|
2518
|
+
serviceName: import_zod11.z.string().describe("Name of the registered service"),
|
|
2426
2519
|
/**
|
|
2427
2520
|
* Event timestamp (Unix milliseconds)
|
|
2428
2521
|
*/
|
|
2429
|
-
timestamp:
|
|
2522
|
+
timestamp: import_zod11.z.number().int().describe("Unix timestamp in milliseconds"),
|
|
2430
2523
|
/**
|
|
2431
2524
|
* Service type (optional)
|
|
2432
2525
|
*/
|
|
2433
|
-
serviceType:
|
|
2526
|
+
serviceType: import_zod11.z.string().optional().describe("Type or interface name of the service")
|
|
2434
2527
|
});
|
|
2435
|
-
var ServiceUnregisteredEventSchema =
|
|
2528
|
+
var ServiceUnregisteredEventSchema = import_zod11.z.object({
|
|
2436
2529
|
/**
|
|
2437
2530
|
* Service name
|
|
2438
2531
|
*/
|
|
2439
|
-
serviceName:
|
|
2532
|
+
serviceName: import_zod11.z.string().describe("Name of the unregistered service"),
|
|
2440
2533
|
/**
|
|
2441
2534
|
* Event timestamp (Unix milliseconds)
|
|
2442
2535
|
*/
|
|
2443
|
-
timestamp:
|
|
2536
|
+
timestamp: import_zod11.z.number().int().describe("Unix timestamp in milliseconds")
|
|
2444
2537
|
});
|
|
2445
|
-
var HookRegisteredEventSchema =
|
|
2538
|
+
var HookRegisteredEventSchema = import_zod11.z.object({
|
|
2446
2539
|
/**
|
|
2447
2540
|
* Hook name
|
|
2448
2541
|
*/
|
|
2449
|
-
hookName:
|
|
2542
|
+
hookName: import_zod11.z.string().describe("Name of the hook"),
|
|
2450
2543
|
/**
|
|
2451
2544
|
* Event timestamp (Unix milliseconds)
|
|
2452
2545
|
*/
|
|
2453
|
-
timestamp:
|
|
2546
|
+
timestamp: import_zod11.z.number().int().describe("Unix timestamp in milliseconds"),
|
|
2454
2547
|
/**
|
|
2455
2548
|
* Number of handlers registered for this hook
|
|
2456
2549
|
*/
|
|
2457
|
-
handlerCount:
|
|
2550
|
+
handlerCount: import_zod11.z.number().int().min(0).describe("Number of handlers registered for this hook")
|
|
2458
2551
|
});
|
|
2459
|
-
var HookTriggeredEventSchema =
|
|
2552
|
+
var HookTriggeredEventSchema = import_zod11.z.object({
|
|
2460
2553
|
/**
|
|
2461
2554
|
* Hook name
|
|
2462
2555
|
*/
|
|
2463
|
-
hookName:
|
|
2556
|
+
hookName: import_zod11.z.string().describe("Name of the hook"),
|
|
2464
2557
|
/**
|
|
2465
2558
|
* Event timestamp (Unix milliseconds)
|
|
2466
2559
|
*/
|
|
2467
|
-
timestamp:
|
|
2560
|
+
timestamp: import_zod11.z.number().int().describe("Unix timestamp in milliseconds"),
|
|
2468
2561
|
/**
|
|
2469
2562
|
* Arguments passed to the hook
|
|
2470
2563
|
*/
|
|
2471
|
-
args:
|
|
2564
|
+
args: import_zod11.z.array(import_zod11.z.any()).describe("Arguments passed to the hook handlers"),
|
|
2472
2565
|
/**
|
|
2473
2566
|
* Number of handlers that will handle this event
|
|
2474
2567
|
*/
|
|
2475
|
-
handlerCount:
|
|
2568
|
+
handlerCount: import_zod11.z.number().int().min(0).optional().describe("Number of handlers that will handle this event")
|
|
2476
2569
|
});
|
|
2477
|
-
var KernelEventBaseSchema =
|
|
2570
|
+
var KernelEventBaseSchema = import_zod11.z.object({
|
|
2478
2571
|
/**
|
|
2479
2572
|
* Event timestamp (Unix milliseconds)
|
|
2480
2573
|
*/
|
|
2481
|
-
timestamp:
|
|
2574
|
+
timestamp: import_zod11.z.number().int().describe("Unix timestamp in milliseconds")
|
|
2482
2575
|
});
|
|
2483
2576
|
var KernelReadyEventSchema = KernelEventBaseSchema.extend({
|
|
2484
2577
|
/**
|
|
2485
2578
|
* Total initialization duration (milliseconds)
|
|
2486
2579
|
*/
|
|
2487
|
-
duration:
|
|
2580
|
+
duration: import_zod11.z.number().min(0).optional().describe("Total initialization duration in milliseconds"),
|
|
2488
2581
|
/**
|
|
2489
2582
|
* Number of plugins initialized
|
|
2490
2583
|
*/
|
|
2491
|
-
pluginCount:
|
|
2584
|
+
pluginCount: import_zod11.z.number().int().min(0).optional().describe("Number of plugins initialized")
|
|
2492
2585
|
});
|
|
2493
2586
|
var KernelShutdownEventSchema = KernelEventBaseSchema.extend({
|
|
2494
2587
|
/**
|
|
2495
2588
|
* Shutdown reason (optional)
|
|
2496
2589
|
*/
|
|
2497
|
-
reason:
|
|
2590
|
+
reason: import_zod11.z.string().optional().describe("Reason for kernel shutdown")
|
|
2498
2591
|
});
|
|
2499
|
-
var PluginLifecycleEventType =
|
|
2592
|
+
var PluginLifecycleEventType = import_zod11.z.enum([
|
|
2500
2593
|
"kernel:ready",
|
|
2501
2594
|
"kernel:shutdown",
|
|
2502
2595
|
"kernel:before-init",
|
|
@@ -2519,8 +2612,8 @@ var PluginLifecycleEventType = import_zod10.z.enum([
|
|
|
2519
2612
|
]).describe("Plugin lifecycle event type");
|
|
2520
2613
|
|
|
2521
2614
|
// src/kernel/plugin-security-advanced.zod.ts
|
|
2522
|
-
var
|
|
2523
|
-
var PermissionScopeSchema =
|
|
2615
|
+
var import_zod12 = require("zod");
|
|
2616
|
+
var PermissionScopeSchema = import_zod12.z.enum([
|
|
2524
2617
|
"global",
|
|
2525
2618
|
// Applies to entire system
|
|
2526
2619
|
"tenant",
|
|
@@ -2532,7 +2625,7 @@ var PermissionScopeSchema = import_zod11.z.enum([
|
|
|
2532
2625
|
"plugin"
|
|
2533
2626
|
// Applies within plugin boundaries
|
|
2534
2627
|
]).describe("Scope of permission application");
|
|
2535
|
-
var PermissionActionSchema =
|
|
2628
|
+
var PermissionActionSchema = import_zod12.z.enum([
|
|
2536
2629
|
"create",
|
|
2537
2630
|
// Create new resources
|
|
2538
2631
|
"read",
|
|
@@ -2556,7 +2649,7 @@ var PermissionActionSchema = import_zod11.z.enum([
|
|
|
2556
2649
|
"admin"
|
|
2557
2650
|
// Administrative access
|
|
2558
2651
|
]).describe("Type of action being permitted");
|
|
2559
|
-
var ResourceTypeSchema =
|
|
2652
|
+
var ResourceTypeSchema = import_zod12.z.enum([
|
|
2560
2653
|
"data.object",
|
|
2561
2654
|
// ObjectQL objects
|
|
2562
2655
|
"data.record",
|
|
@@ -2590,11 +2683,11 @@ var ResourceTypeSchema = import_zod11.z.enum([
|
|
|
2590
2683
|
"process.env"
|
|
2591
2684
|
// Environment variables
|
|
2592
2685
|
]).describe("Type of resource being accessed");
|
|
2593
|
-
var PermissionSchema =
|
|
2686
|
+
var PermissionSchema = import_zod12.z.object({
|
|
2594
2687
|
/**
|
|
2595
2688
|
* Permission identifier
|
|
2596
2689
|
*/
|
|
2597
|
-
id:
|
|
2690
|
+
id: import_zod12.z.string().describe("Unique permission identifier"),
|
|
2598
2691
|
/**
|
|
2599
2692
|
* Resource type
|
|
2600
2693
|
*/
|
|
@@ -2602,7 +2695,7 @@ var PermissionSchema = import_zod11.z.object({
|
|
|
2602
2695
|
/**
|
|
2603
2696
|
* Allowed actions
|
|
2604
2697
|
*/
|
|
2605
|
-
actions:
|
|
2698
|
+
actions: import_zod12.z.array(PermissionActionSchema),
|
|
2606
2699
|
/**
|
|
2607
2700
|
* Permission scope
|
|
2608
2701
|
*/
|
|
@@ -2610,50 +2703,50 @@ var PermissionSchema = import_zod11.z.object({
|
|
|
2610
2703
|
/**
|
|
2611
2704
|
* Resource filter
|
|
2612
2705
|
*/
|
|
2613
|
-
filter:
|
|
2706
|
+
filter: import_zod12.z.object({
|
|
2614
2707
|
/**
|
|
2615
2708
|
* Specific resource IDs
|
|
2616
2709
|
*/
|
|
2617
|
-
resourceIds:
|
|
2710
|
+
resourceIds: import_zod12.z.array(import_zod12.z.string()).optional(),
|
|
2618
2711
|
/**
|
|
2619
2712
|
* Filter condition
|
|
2620
2713
|
*/
|
|
2621
|
-
condition:
|
|
2714
|
+
condition: import_zod12.z.string().optional().describe("Filter expression (e.g., owner = currentUser)"),
|
|
2622
2715
|
/**
|
|
2623
2716
|
* Field-level access
|
|
2624
2717
|
*/
|
|
2625
|
-
fields:
|
|
2718
|
+
fields: import_zod12.z.array(import_zod12.z.string()).optional().describe("Allowed fields for data resources")
|
|
2626
2719
|
}).optional(),
|
|
2627
2720
|
/**
|
|
2628
2721
|
* Human-readable description
|
|
2629
2722
|
*/
|
|
2630
|
-
description:
|
|
2723
|
+
description: import_zod12.z.string(),
|
|
2631
2724
|
/**
|
|
2632
2725
|
* Whether this permission is required or optional
|
|
2633
2726
|
*/
|
|
2634
|
-
required:
|
|
2727
|
+
required: import_zod12.z.boolean().default(true),
|
|
2635
2728
|
/**
|
|
2636
2729
|
* Justification for permission
|
|
2637
2730
|
*/
|
|
2638
|
-
justification:
|
|
2731
|
+
justification: import_zod12.z.string().optional().describe("Why this permission is needed")
|
|
2639
2732
|
});
|
|
2640
|
-
var PermissionSetSchema =
|
|
2733
|
+
var PermissionSetSchema = import_zod12.z.object({
|
|
2641
2734
|
/**
|
|
2642
2735
|
* All permissions required by plugin
|
|
2643
2736
|
*/
|
|
2644
|
-
permissions:
|
|
2737
|
+
permissions: import_zod12.z.array(PermissionSchema),
|
|
2645
2738
|
/**
|
|
2646
2739
|
* Permission groups for easier management
|
|
2647
2740
|
*/
|
|
2648
|
-
groups:
|
|
2649
|
-
name:
|
|
2650
|
-
description:
|
|
2651
|
-
permissions:
|
|
2741
|
+
groups: import_zod12.z.array(import_zod12.z.object({
|
|
2742
|
+
name: import_zod12.z.string().describe("Group name"),
|
|
2743
|
+
description: import_zod12.z.string(),
|
|
2744
|
+
permissions: import_zod12.z.array(import_zod12.z.string()).describe("Permission IDs in this group")
|
|
2652
2745
|
})).optional(),
|
|
2653
2746
|
/**
|
|
2654
2747
|
* Default grant strategy
|
|
2655
2748
|
*/
|
|
2656
|
-
defaultGrant:
|
|
2749
|
+
defaultGrant: import_zod12.z.enum([
|
|
2657
2750
|
"prompt",
|
|
2658
2751
|
// Always prompt user
|
|
2659
2752
|
"allow",
|
|
@@ -2664,11 +2757,11 @@ var PermissionSetSchema = import_zod11.z.object({
|
|
|
2664
2757
|
// Inherit from parent
|
|
2665
2758
|
]).default("prompt")
|
|
2666
2759
|
});
|
|
2667
|
-
var RuntimeConfigSchema =
|
|
2760
|
+
var RuntimeConfigSchema = import_zod12.z.object({
|
|
2668
2761
|
/**
|
|
2669
2762
|
* Runtime engine type
|
|
2670
2763
|
*/
|
|
2671
|
-
engine:
|
|
2764
|
+
engine: import_zod12.z.enum([
|
|
2672
2765
|
"v8-isolate",
|
|
2673
2766
|
// V8 isolate-based isolation (lightweight, fast)
|
|
2674
2767
|
"wasm",
|
|
@@ -2681,97 +2774,97 @@ var RuntimeConfigSchema = import_zod11.z.object({
|
|
|
2681
2774
|
/**
|
|
2682
2775
|
* Engine-specific configuration
|
|
2683
2776
|
*/
|
|
2684
|
-
engineConfig:
|
|
2777
|
+
engineConfig: import_zod12.z.object({
|
|
2685
2778
|
/**
|
|
2686
2779
|
* WASM-specific settings (when engine is "wasm")
|
|
2687
2780
|
*/
|
|
2688
|
-
wasm:
|
|
2781
|
+
wasm: import_zod12.z.object({
|
|
2689
2782
|
/**
|
|
2690
2783
|
* Maximum memory pages (64KB per page)
|
|
2691
2784
|
*/
|
|
2692
|
-
maxMemoryPages:
|
|
2785
|
+
maxMemoryPages: import_zod12.z.number().int().min(1).max(65536).optional().describe("Maximum WASM memory pages (64KB each)"),
|
|
2693
2786
|
/**
|
|
2694
2787
|
* Instruction execution limit
|
|
2695
2788
|
*/
|
|
2696
|
-
instructionLimit:
|
|
2789
|
+
instructionLimit: import_zod12.z.number().int().min(1).optional().describe("Maximum instructions before timeout"),
|
|
2697
2790
|
/**
|
|
2698
2791
|
* Enable SIMD instructions
|
|
2699
2792
|
*/
|
|
2700
|
-
enableSimd:
|
|
2793
|
+
enableSimd: import_zod12.z.boolean().default(false).describe("Enable WebAssembly SIMD support"),
|
|
2701
2794
|
/**
|
|
2702
2795
|
* Enable threads
|
|
2703
2796
|
*/
|
|
2704
|
-
enableThreads:
|
|
2797
|
+
enableThreads: import_zod12.z.boolean().default(false).describe("Enable WebAssembly threads"),
|
|
2705
2798
|
/**
|
|
2706
2799
|
* Enable bulk memory operations
|
|
2707
2800
|
*/
|
|
2708
|
-
enableBulkMemory:
|
|
2801
|
+
enableBulkMemory: import_zod12.z.boolean().default(true).describe("Enable bulk memory operations")
|
|
2709
2802
|
}).optional(),
|
|
2710
2803
|
/**
|
|
2711
2804
|
* Container-specific settings (when engine is "container")
|
|
2712
2805
|
*/
|
|
2713
|
-
container:
|
|
2806
|
+
container: import_zod12.z.object({
|
|
2714
2807
|
/**
|
|
2715
2808
|
* Container image
|
|
2716
2809
|
*/
|
|
2717
|
-
image:
|
|
2810
|
+
image: import_zod12.z.string().optional().describe("Container image to use"),
|
|
2718
2811
|
/**
|
|
2719
2812
|
* Container runtime
|
|
2720
2813
|
*/
|
|
2721
|
-
runtime:
|
|
2814
|
+
runtime: import_zod12.z.enum(["docker", "podman", "containerd"]).default("docker"),
|
|
2722
2815
|
/**
|
|
2723
2816
|
* Resource limits
|
|
2724
2817
|
*/
|
|
2725
|
-
resources:
|
|
2726
|
-
cpuLimit:
|
|
2727
|
-
memoryLimit:
|
|
2818
|
+
resources: import_zod12.z.object({
|
|
2819
|
+
cpuLimit: import_zod12.z.string().optional().describe('CPU limit (e.g., "0.5", "2")'),
|
|
2820
|
+
memoryLimit: import_zod12.z.string().optional().describe('Memory limit (e.g., "512m", "1g")')
|
|
2728
2821
|
}).optional(),
|
|
2729
2822
|
/**
|
|
2730
2823
|
* Network mode
|
|
2731
2824
|
*/
|
|
2732
|
-
networkMode:
|
|
2825
|
+
networkMode: import_zod12.z.enum(["none", "bridge", "host"]).default("bridge")
|
|
2733
2826
|
}).optional(),
|
|
2734
2827
|
/**
|
|
2735
2828
|
* V8 Isolate-specific settings (when engine is "v8-isolate")
|
|
2736
2829
|
*/
|
|
2737
|
-
v8Isolate:
|
|
2830
|
+
v8Isolate: import_zod12.z.object({
|
|
2738
2831
|
/**
|
|
2739
2832
|
* Heap size limit in MB
|
|
2740
2833
|
*/
|
|
2741
|
-
heapSizeMb:
|
|
2834
|
+
heapSizeMb: import_zod12.z.number().int().min(1).optional(),
|
|
2742
2835
|
/**
|
|
2743
2836
|
* Enable snapshot
|
|
2744
2837
|
*/
|
|
2745
|
-
enableSnapshot:
|
|
2838
|
+
enableSnapshot: import_zod12.z.boolean().default(true)
|
|
2746
2839
|
}).optional()
|
|
2747
2840
|
}).optional(),
|
|
2748
2841
|
/**
|
|
2749
2842
|
* General resource limits (applies to all engines)
|
|
2750
2843
|
*/
|
|
2751
|
-
resourceLimits:
|
|
2844
|
+
resourceLimits: import_zod12.z.object({
|
|
2752
2845
|
/**
|
|
2753
2846
|
* Maximum memory in bytes
|
|
2754
2847
|
*/
|
|
2755
|
-
maxMemory:
|
|
2848
|
+
maxMemory: import_zod12.z.number().int().optional().describe("Maximum memory allocation"),
|
|
2756
2849
|
/**
|
|
2757
2850
|
* Maximum CPU percentage
|
|
2758
2851
|
*/
|
|
2759
|
-
maxCpu:
|
|
2852
|
+
maxCpu: import_zod12.z.number().min(0).max(100).optional().describe("Maximum CPU usage percentage"),
|
|
2760
2853
|
/**
|
|
2761
2854
|
* Execution timeout in milliseconds
|
|
2762
2855
|
*/
|
|
2763
|
-
timeout:
|
|
2856
|
+
timeout: import_zod12.z.number().int().min(0).optional().describe("Maximum execution time")
|
|
2764
2857
|
}).optional()
|
|
2765
2858
|
});
|
|
2766
|
-
var SandboxConfigSchema =
|
|
2859
|
+
var SandboxConfigSchema = import_zod12.z.object({
|
|
2767
2860
|
/**
|
|
2768
2861
|
* Enable sandboxing
|
|
2769
2862
|
*/
|
|
2770
|
-
enabled:
|
|
2863
|
+
enabled: import_zod12.z.boolean().default(true),
|
|
2771
2864
|
/**
|
|
2772
2865
|
* Sandboxing level
|
|
2773
2866
|
*/
|
|
2774
|
-
level:
|
|
2867
|
+
level: import_zod12.z.enum([
|
|
2775
2868
|
"none",
|
|
2776
2869
|
// No sandboxing
|
|
2777
2870
|
"minimal",
|
|
@@ -2790,239 +2883,239 @@ var SandboxConfigSchema = import_zod11.z.object({
|
|
|
2790
2883
|
/**
|
|
2791
2884
|
* File system access
|
|
2792
2885
|
*/
|
|
2793
|
-
filesystem:
|
|
2794
|
-
mode:
|
|
2795
|
-
allowedPaths:
|
|
2796
|
-
deniedPaths:
|
|
2797
|
-
maxFileSize:
|
|
2886
|
+
filesystem: import_zod12.z.object({
|
|
2887
|
+
mode: import_zod12.z.enum(["none", "readonly", "restricted", "full"]).default("restricted"),
|
|
2888
|
+
allowedPaths: import_zod12.z.array(import_zod12.z.string()).optional().describe("Whitelisted paths"),
|
|
2889
|
+
deniedPaths: import_zod12.z.array(import_zod12.z.string()).optional().describe("Blacklisted paths"),
|
|
2890
|
+
maxFileSize: import_zod12.z.number().int().optional().describe("Maximum file size in bytes")
|
|
2798
2891
|
}).optional(),
|
|
2799
2892
|
/**
|
|
2800
2893
|
* Network access
|
|
2801
2894
|
*/
|
|
2802
|
-
network:
|
|
2803
|
-
mode:
|
|
2804
|
-
allowedHosts:
|
|
2805
|
-
deniedHosts:
|
|
2806
|
-
allowedPorts:
|
|
2807
|
-
maxConnections:
|
|
2895
|
+
network: import_zod12.z.object({
|
|
2896
|
+
mode: import_zod12.z.enum(["none", "local", "restricted", "full"]).default("restricted"),
|
|
2897
|
+
allowedHosts: import_zod12.z.array(import_zod12.z.string()).optional().describe("Whitelisted hosts"),
|
|
2898
|
+
deniedHosts: import_zod12.z.array(import_zod12.z.string()).optional().describe("Blacklisted hosts"),
|
|
2899
|
+
allowedPorts: import_zod12.z.array(import_zod12.z.number()).optional().describe("Allowed port numbers"),
|
|
2900
|
+
maxConnections: import_zod12.z.number().int().optional()
|
|
2808
2901
|
}).optional(),
|
|
2809
2902
|
/**
|
|
2810
2903
|
* Process execution
|
|
2811
2904
|
*/
|
|
2812
|
-
process:
|
|
2813
|
-
allowSpawn:
|
|
2814
|
-
allowedCommands:
|
|
2815
|
-
timeout:
|
|
2905
|
+
process: import_zod12.z.object({
|
|
2906
|
+
allowSpawn: import_zod12.z.boolean().default(false).describe("Allow spawning child processes"),
|
|
2907
|
+
allowedCommands: import_zod12.z.array(import_zod12.z.string()).optional().describe("Whitelisted commands"),
|
|
2908
|
+
timeout: import_zod12.z.number().int().optional().describe("Process timeout in ms")
|
|
2816
2909
|
}).optional(),
|
|
2817
2910
|
/**
|
|
2818
2911
|
* Memory limits
|
|
2819
2912
|
*/
|
|
2820
|
-
memory:
|
|
2821
|
-
maxHeap:
|
|
2822
|
-
maxStack:
|
|
2913
|
+
memory: import_zod12.z.object({
|
|
2914
|
+
maxHeap: import_zod12.z.number().int().optional().describe("Maximum heap size in bytes"),
|
|
2915
|
+
maxStack: import_zod12.z.number().int().optional().describe("Maximum stack size in bytes")
|
|
2823
2916
|
}).optional(),
|
|
2824
2917
|
/**
|
|
2825
2918
|
* CPU limits
|
|
2826
2919
|
*/
|
|
2827
|
-
cpu:
|
|
2828
|
-
maxCpuPercent:
|
|
2829
|
-
maxThreads:
|
|
2920
|
+
cpu: import_zod12.z.object({
|
|
2921
|
+
maxCpuPercent: import_zod12.z.number().min(0).max(100).optional(),
|
|
2922
|
+
maxThreads: import_zod12.z.number().int().optional()
|
|
2830
2923
|
}).optional(),
|
|
2831
2924
|
/**
|
|
2832
2925
|
* Environment variables
|
|
2833
2926
|
*/
|
|
2834
|
-
environment:
|
|
2835
|
-
mode:
|
|
2836
|
-
allowedVars:
|
|
2837
|
-
deniedVars:
|
|
2927
|
+
environment: import_zod12.z.object({
|
|
2928
|
+
mode: import_zod12.z.enum(["none", "readonly", "restricted", "full"]).default("readonly"),
|
|
2929
|
+
allowedVars: import_zod12.z.array(import_zod12.z.string()).optional(),
|
|
2930
|
+
deniedVars: import_zod12.z.array(import_zod12.z.string()).optional()
|
|
2838
2931
|
}).optional()
|
|
2839
2932
|
});
|
|
2840
|
-
var SecurityVulnerabilitySchema =
|
|
2933
|
+
var SecurityVulnerabilitySchema = import_zod12.z.object({
|
|
2841
2934
|
/**
|
|
2842
2935
|
* CVE identifier
|
|
2843
2936
|
*/
|
|
2844
|
-
cve:
|
|
2937
|
+
cve: import_zod12.z.string().optional(),
|
|
2845
2938
|
/**
|
|
2846
2939
|
* Vulnerability identifier
|
|
2847
2940
|
*/
|
|
2848
|
-
id:
|
|
2941
|
+
id: import_zod12.z.string(),
|
|
2849
2942
|
/**
|
|
2850
2943
|
* Severity level
|
|
2851
2944
|
*/
|
|
2852
|
-
severity:
|
|
2945
|
+
severity: import_zod12.z.enum(["critical", "high", "medium", "low", "info"]),
|
|
2853
2946
|
/**
|
|
2854
2947
|
* Category (e.g., SAST, DAST, Dependency)
|
|
2855
2948
|
*/
|
|
2856
|
-
category:
|
|
2949
|
+
category: import_zod12.z.string().optional(),
|
|
2857
2950
|
/**
|
|
2858
2951
|
* Title
|
|
2859
2952
|
*/
|
|
2860
|
-
title:
|
|
2953
|
+
title: import_zod12.z.string(),
|
|
2861
2954
|
/**
|
|
2862
2955
|
* Location of the vulnerability
|
|
2863
2956
|
*/
|
|
2864
|
-
location:
|
|
2957
|
+
location: import_zod12.z.string().optional(),
|
|
2865
2958
|
/**
|
|
2866
2959
|
* Remediation steps
|
|
2867
2960
|
*/
|
|
2868
|
-
remediation:
|
|
2961
|
+
remediation: import_zod12.z.string().optional(),
|
|
2869
2962
|
/**
|
|
2870
2963
|
* Description
|
|
2871
2964
|
*/
|
|
2872
|
-
description:
|
|
2965
|
+
description: import_zod12.z.string(),
|
|
2873
2966
|
/**
|
|
2874
2967
|
* Affected versions
|
|
2875
2968
|
*/
|
|
2876
|
-
affectedVersions:
|
|
2969
|
+
affectedVersions: import_zod12.z.array(import_zod12.z.string()),
|
|
2877
2970
|
/**
|
|
2878
2971
|
* Fixed in versions
|
|
2879
2972
|
*/
|
|
2880
|
-
fixedIn:
|
|
2973
|
+
fixedIn: import_zod12.z.array(import_zod12.z.string()).optional(),
|
|
2881
2974
|
/**
|
|
2882
2975
|
* CVSS score
|
|
2883
2976
|
*/
|
|
2884
|
-
cvssScore:
|
|
2977
|
+
cvssScore: import_zod12.z.number().min(0).max(10).optional(),
|
|
2885
2978
|
/**
|
|
2886
2979
|
* Exploit availability
|
|
2887
2980
|
*/
|
|
2888
|
-
exploitAvailable:
|
|
2981
|
+
exploitAvailable: import_zod12.z.boolean().default(false),
|
|
2889
2982
|
/**
|
|
2890
2983
|
* Patch available
|
|
2891
2984
|
*/
|
|
2892
|
-
patchAvailable:
|
|
2985
|
+
patchAvailable: import_zod12.z.boolean().default(false),
|
|
2893
2986
|
/**
|
|
2894
2987
|
* Workaround
|
|
2895
2988
|
*/
|
|
2896
|
-
workaround:
|
|
2989
|
+
workaround: import_zod12.z.string().optional(),
|
|
2897
2990
|
/**
|
|
2898
2991
|
* References
|
|
2899
2992
|
*/
|
|
2900
|
-
references:
|
|
2993
|
+
references: import_zod12.z.array(import_zod12.z.string()).optional(),
|
|
2901
2994
|
/**
|
|
2902
2995
|
* Discovered date
|
|
2903
2996
|
*/
|
|
2904
|
-
discoveredDate:
|
|
2997
|
+
discoveredDate: import_zod12.z.string().datetime().optional(),
|
|
2905
2998
|
/**
|
|
2906
2999
|
* Published date
|
|
2907
3000
|
*/
|
|
2908
|
-
publishedDate:
|
|
3001
|
+
publishedDate: import_zod12.z.string().datetime().optional()
|
|
2909
3002
|
});
|
|
2910
|
-
var SecurityScanResultSchema =
|
|
3003
|
+
var SecurityScanResultSchema = import_zod12.z.object({
|
|
2911
3004
|
/**
|
|
2912
3005
|
* Scan timestamp
|
|
2913
3006
|
*/
|
|
2914
|
-
timestamp:
|
|
3007
|
+
timestamp: import_zod12.z.string().datetime(),
|
|
2915
3008
|
/**
|
|
2916
3009
|
* Scanner information
|
|
2917
3010
|
*/
|
|
2918
|
-
scanner:
|
|
2919
|
-
name:
|
|
2920
|
-
version:
|
|
3011
|
+
scanner: import_zod12.z.object({
|
|
3012
|
+
name: import_zod12.z.string(),
|
|
3013
|
+
version: import_zod12.z.string()
|
|
2921
3014
|
}),
|
|
2922
3015
|
/**
|
|
2923
3016
|
* Overall status
|
|
2924
3017
|
*/
|
|
2925
|
-
status:
|
|
3018
|
+
status: import_zod12.z.enum(["passed", "failed", "warning"]),
|
|
2926
3019
|
/**
|
|
2927
3020
|
* Vulnerabilities found
|
|
2928
3021
|
*/
|
|
2929
|
-
vulnerabilities:
|
|
3022
|
+
vulnerabilities: import_zod12.z.array(SecurityVulnerabilitySchema).optional(),
|
|
2930
3023
|
/**
|
|
2931
3024
|
* Code quality issues
|
|
2932
3025
|
*/
|
|
2933
|
-
codeIssues:
|
|
2934
|
-
severity:
|
|
2935
|
-
type:
|
|
2936
|
-
file:
|
|
2937
|
-
line:
|
|
2938
|
-
message:
|
|
2939
|
-
suggestion:
|
|
3026
|
+
codeIssues: import_zod12.z.array(import_zod12.z.object({
|
|
3027
|
+
severity: import_zod12.z.enum(["error", "warning", "info"]),
|
|
3028
|
+
type: import_zod12.z.string().describe("Issue type (e.g., sql-injection, xss)"),
|
|
3029
|
+
file: import_zod12.z.string(),
|
|
3030
|
+
line: import_zod12.z.number().int().optional(),
|
|
3031
|
+
message: import_zod12.z.string(),
|
|
3032
|
+
suggestion: import_zod12.z.string().optional()
|
|
2940
3033
|
})).optional(),
|
|
2941
3034
|
/**
|
|
2942
3035
|
* Dependency vulnerabilities
|
|
2943
3036
|
*/
|
|
2944
|
-
dependencyVulnerabilities:
|
|
2945
|
-
package:
|
|
2946
|
-
version:
|
|
3037
|
+
dependencyVulnerabilities: import_zod12.z.array(import_zod12.z.object({
|
|
3038
|
+
package: import_zod12.z.string(),
|
|
3039
|
+
version: import_zod12.z.string(),
|
|
2947
3040
|
vulnerability: SecurityVulnerabilitySchema
|
|
2948
3041
|
})).optional(),
|
|
2949
3042
|
/**
|
|
2950
3043
|
* License compliance
|
|
2951
3044
|
*/
|
|
2952
|
-
licenseCompliance:
|
|
2953
|
-
status:
|
|
2954
|
-
issues:
|
|
2955
|
-
package:
|
|
2956
|
-
license:
|
|
2957
|
-
reason:
|
|
3045
|
+
licenseCompliance: import_zod12.z.object({
|
|
3046
|
+
status: import_zod12.z.enum(["compliant", "non-compliant", "unknown"]),
|
|
3047
|
+
issues: import_zod12.z.array(import_zod12.z.object({
|
|
3048
|
+
package: import_zod12.z.string(),
|
|
3049
|
+
license: import_zod12.z.string(),
|
|
3050
|
+
reason: import_zod12.z.string()
|
|
2958
3051
|
})).optional()
|
|
2959
3052
|
}).optional(),
|
|
2960
3053
|
/**
|
|
2961
3054
|
* Summary statistics
|
|
2962
3055
|
*/
|
|
2963
|
-
summary:
|
|
2964
|
-
totalVulnerabilities:
|
|
2965
|
-
criticalCount:
|
|
2966
|
-
highCount:
|
|
2967
|
-
mediumCount:
|
|
2968
|
-
lowCount:
|
|
2969
|
-
infoCount:
|
|
3056
|
+
summary: import_zod12.z.object({
|
|
3057
|
+
totalVulnerabilities: import_zod12.z.number().int(),
|
|
3058
|
+
criticalCount: import_zod12.z.number().int(),
|
|
3059
|
+
highCount: import_zod12.z.number().int(),
|
|
3060
|
+
mediumCount: import_zod12.z.number().int(),
|
|
3061
|
+
lowCount: import_zod12.z.number().int(),
|
|
3062
|
+
infoCount: import_zod12.z.number().int()
|
|
2970
3063
|
})
|
|
2971
3064
|
});
|
|
2972
|
-
var SecurityPolicySchema =
|
|
3065
|
+
var SecurityPolicySchema = import_zod12.z.object({
|
|
2973
3066
|
/**
|
|
2974
3067
|
* Content Security Policy
|
|
2975
3068
|
*/
|
|
2976
|
-
csp:
|
|
2977
|
-
directives:
|
|
2978
|
-
reportOnly:
|
|
3069
|
+
csp: import_zod12.z.object({
|
|
3070
|
+
directives: import_zod12.z.record(import_zod12.z.string(), import_zod12.z.array(import_zod12.z.string())).optional(),
|
|
3071
|
+
reportOnly: import_zod12.z.boolean().default(false)
|
|
2979
3072
|
}).optional(),
|
|
2980
3073
|
/**
|
|
2981
3074
|
* CORS policy
|
|
2982
3075
|
*/
|
|
2983
|
-
cors:
|
|
2984
|
-
allowedOrigins:
|
|
2985
|
-
allowedMethods:
|
|
2986
|
-
allowedHeaders:
|
|
2987
|
-
allowCredentials:
|
|
2988
|
-
maxAge:
|
|
3076
|
+
cors: import_zod12.z.object({
|
|
3077
|
+
allowedOrigins: import_zod12.z.array(import_zod12.z.string()),
|
|
3078
|
+
allowedMethods: import_zod12.z.array(import_zod12.z.string()),
|
|
3079
|
+
allowedHeaders: import_zod12.z.array(import_zod12.z.string()),
|
|
3080
|
+
allowCredentials: import_zod12.z.boolean().default(false),
|
|
3081
|
+
maxAge: import_zod12.z.number().int().optional()
|
|
2989
3082
|
}).optional(),
|
|
2990
3083
|
/**
|
|
2991
3084
|
* Rate limiting
|
|
2992
3085
|
*/
|
|
2993
|
-
rateLimit:
|
|
2994
|
-
enabled:
|
|
2995
|
-
maxRequests:
|
|
2996
|
-
windowMs:
|
|
2997
|
-
strategy:
|
|
3086
|
+
rateLimit: import_zod12.z.object({
|
|
3087
|
+
enabled: import_zod12.z.boolean().default(true),
|
|
3088
|
+
maxRequests: import_zod12.z.number().int(),
|
|
3089
|
+
windowMs: import_zod12.z.number().int().describe("Time window in milliseconds"),
|
|
3090
|
+
strategy: import_zod12.z.enum(["fixed", "sliding", "token-bucket"]).default("sliding")
|
|
2998
3091
|
}).optional(),
|
|
2999
3092
|
/**
|
|
3000
3093
|
* Authentication requirements
|
|
3001
3094
|
*/
|
|
3002
|
-
authentication:
|
|
3003
|
-
required:
|
|
3004
|
-
methods:
|
|
3005
|
-
tokenExpiration:
|
|
3095
|
+
authentication: import_zod12.z.object({
|
|
3096
|
+
required: import_zod12.z.boolean().default(true),
|
|
3097
|
+
methods: import_zod12.z.array(import_zod12.z.enum(["jwt", "oauth2", "api-key", "session", "certificate"])),
|
|
3098
|
+
tokenExpiration: import_zod12.z.number().int().optional().describe("Token expiration in seconds")
|
|
3006
3099
|
}).optional(),
|
|
3007
3100
|
/**
|
|
3008
3101
|
* Encryption requirements
|
|
3009
3102
|
*/
|
|
3010
|
-
encryption:
|
|
3011
|
-
dataAtRest:
|
|
3012
|
-
dataInTransit:
|
|
3013
|
-
algorithm:
|
|
3014
|
-
minKeyLength:
|
|
3103
|
+
encryption: import_zod12.z.object({
|
|
3104
|
+
dataAtRest: import_zod12.z.boolean().default(false).describe("Encrypt data at rest"),
|
|
3105
|
+
dataInTransit: import_zod12.z.boolean().default(true).describe("Enforce HTTPS/TLS"),
|
|
3106
|
+
algorithm: import_zod12.z.string().optional().describe("Encryption algorithm"),
|
|
3107
|
+
minKeyLength: import_zod12.z.number().int().optional().describe("Minimum key length in bits")
|
|
3015
3108
|
}).optional(),
|
|
3016
3109
|
/**
|
|
3017
3110
|
* Audit logging
|
|
3018
3111
|
*/
|
|
3019
|
-
auditLog:
|
|
3020
|
-
enabled:
|
|
3021
|
-
events:
|
|
3022
|
-
retention:
|
|
3112
|
+
auditLog: import_zod12.z.object({
|
|
3113
|
+
enabled: import_zod12.z.boolean().default(true),
|
|
3114
|
+
events: import_zod12.z.array(import_zod12.z.string()).optional().describe("Events to log"),
|
|
3115
|
+
retention: import_zod12.z.number().int().optional().describe("Log retention in days")
|
|
3023
3116
|
}).optional()
|
|
3024
3117
|
});
|
|
3025
|
-
var PluginTrustLevelSchema =
|
|
3118
|
+
var PluginTrustLevelSchema = import_zod12.z.enum([
|
|
3026
3119
|
"verified",
|
|
3027
3120
|
// Official/verified plugin
|
|
3028
3121
|
"trusted",
|
|
@@ -3034,11 +3127,11 @@ var PluginTrustLevelSchema = import_zod11.z.enum([
|
|
|
3034
3127
|
"blocked"
|
|
3035
3128
|
// Blocked/malicious
|
|
3036
3129
|
]).describe("Trust level of the plugin");
|
|
3037
|
-
var PluginSecurityManifestSchema =
|
|
3130
|
+
var PluginSecurityManifestSchema = import_zod12.z.object({
|
|
3038
3131
|
/**
|
|
3039
3132
|
* Plugin identifier
|
|
3040
3133
|
*/
|
|
3041
|
-
pluginId:
|
|
3134
|
+
pluginId: import_zod12.z.string(),
|
|
3042
3135
|
/**
|
|
3043
3136
|
* Trust level
|
|
3044
3137
|
*/
|
|
@@ -3058,54 +3151,54 @@ var PluginSecurityManifestSchema = import_zod11.z.object({
|
|
|
3058
3151
|
/**
|
|
3059
3152
|
* Security scan results
|
|
3060
3153
|
*/
|
|
3061
|
-
scanResults:
|
|
3154
|
+
scanResults: import_zod12.z.array(SecurityScanResultSchema).optional(),
|
|
3062
3155
|
/**
|
|
3063
3156
|
* Known vulnerabilities
|
|
3064
3157
|
*/
|
|
3065
|
-
vulnerabilities:
|
|
3158
|
+
vulnerabilities: import_zod12.z.array(SecurityVulnerabilitySchema).optional(),
|
|
3066
3159
|
/**
|
|
3067
3160
|
* Code signing
|
|
3068
3161
|
*/
|
|
3069
|
-
codeSigning:
|
|
3070
|
-
signed:
|
|
3071
|
-
signature:
|
|
3072
|
-
certificate:
|
|
3073
|
-
algorithm:
|
|
3074
|
-
timestamp:
|
|
3162
|
+
codeSigning: import_zod12.z.object({
|
|
3163
|
+
signed: import_zod12.z.boolean(),
|
|
3164
|
+
signature: import_zod12.z.string().optional(),
|
|
3165
|
+
certificate: import_zod12.z.string().optional(),
|
|
3166
|
+
algorithm: import_zod12.z.string().optional(),
|
|
3167
|
+
timestamp: import_zod12.z.string().datetime().optional()
|
|
3075
3168
|
}).optional(),
|
|
3076
3169
|
/**
|
|
3077
3170
|
* Security certifications
|
|
3078
3171
|
*/
|
|
3079
|
-
certifications:
|
|
3080
|
-
name:
|
|
3081
|
-
issuer:
|
|
3082
|
-
issuedDate:
|
|
3083
|
-
expiryDate:
|
|
3084
|
-
certificateUrl:
|
|
3172
|
+
certifications: import_zod12.z.array(import_zod12.z.object({
|
|
3173
|
+
name: import_zod12.z.string().describe("Certification name (e.g., SOC 2, ISO 27001)"),
|
|
3174
|
+
issuer: import_zod12.z.string(),
|
|
3175
|
+
issuedDate: import_zod12.z.string().datetime(),
|
|
3176
|
+
expiryDate: import_zod12.z.string().datetime().optional(),
|
|
3177
|
+
certificateUrl: import_zod12.z.string().url().optional()
|
|
3085
3178
|
})).optional(),
|
|
3086
3179
|
/**
|
|
3087
3180
|
* Security contact
|
|
3088
3181
|
*/
|
|
3089
|
-
securityContact:
|
|
3090
|
-
email:
|
|
3091
|
-
url:
|
|
3092
|
-
pgpKey:
|
|
3182
|
+
securityContact: import_zod12.z.object({
|
|
3183
|
+
email: import_zod12.z.string().email().optional(),
|
|
3184
|
+
url: import_zod12.z.string().url().optional(),
|
|
3185
|
+
pgpKey: import_zod12.z.string().optional()
|
|
3093
3186
|
}).optional(),
|
|
3094
3187
|
/**
|
|
3095
3188
|
* Vulnerability disclosure policy
|
|
3096
3189
|
*/
|
|
3097
|
-
vulnerabilityDisclosure:
|
|
3098
|
-
policyUrl:
|
|
3099
|
-
responseTime:
|
|
3100
|
-
bugBounty:
|
|
3190
|
+
vulnerabilityDisclosure: import_zod12.z.object({
|
|
3191
|
+
policyUrl: import_zod12.z.string().url().optional(),
|
|
3192
|
+
responseTime: import_zod12.z.number().int().optional().describe("Expected response time in hours"),
|
|
3193
|
+
bugBounty: import_zod12.z.boolean().default(false)
|
|
3101
3194
|
}).optional()
|
|
3102
3195
|
});
|
|
3103
3196
|
|
|
3104
3197
|
// src/kernel/plugin-structure.zod.ts
|
|
3105
|
-
var
|
|
3198
|
+
var import_zod13 = require("zod");
|
|
3106
3199
|
var SNAKE_CASE_REGEX = /^[a-z][a-z0-9_]*$/;
|
|
3107
3200
|
var OPS_FILE_SUFFIX_REGEX = /\.(object|field|trigger|function|view|page|dashboard|flow|app|router|service)\.ts$/;
|
|
3108
|
-
var OpsFilePathSchema =
|
|
3201
|
+
var OpsFilePathSchema = import_zod13.z.string().superRefine((path, ctx) => {
|
|
3109
3202
|
if (!path.startsWith("src/")) {
|
|
3110
3203
|
return;
|
|
3111
3204
|
}
|
|
@@ -3114,7 +3207,7 @@ var OpsFilePathSchema = import_zod12.z.string().superRefine((path, ctx) => {
|
|
|
3114
3207
|
const domainDir = parts[1];
|
|
3115
3208
|
if (!SNAKE_CASE_REGEX.test(domainDir)) {
|
|
3116
3209
|
ctx.addIssue({
|
|
3117
|
-
code:
|
|
3210
|
+
code: import_zod13.z.ZodIssueCode.custom,
|
|
3118
3211
|
message: `Domain directory '${domainDir}' must be lowercase snake_case`
|
|
3119
3212
|
});
|
|
3120
3213
|
}
|
|
@@ -3123,31 +3216,31 @@ var OpsFilePathSchema = import_zod12.z.string().superRefine((path, ctx) => {
|
|
|
3123
3216
|
if (filename === "index.ts" || filename === "main.ts") return;
|
|
3124
3217
|
if (!SNAKE_CASE_REGEX.test(filename.split(".")[0])) {
|
|
3125
3218
|
ctx.addIssue({
|
|
3126
|
-
code:
|
|
3219
|
+
code: import_zod13.z.ZodIssueCode.custom,
|
|
3127
3220
|
message: `Filename '${filename}' base name must be lowercase snake_case`
|
|
3128
3221
|
});
|
|
3129
3222
|
}
|
|
3130
3223
|
if (!OPS_FILE_SUFFIX_REGEX.test(filename)) {
|
|
3131
3224
|
}
|
|
3132
3225
|
});
|
|
3133
|
-
var OpsDomainModuleSchema =
|
|
3134
|
-
name:
|
|
3135
|
-
files:
|
|
3226
|
+
var OpsDomainModuleSchema = import_zod13.z.object({
|
|
3227
|
+
name: import_zod13.z.string().regex(SNAKE_CASE_REGEX),
|
|
3228
|
+
files: import_zod13.z.array(import_zod13.z.string())
|
|
3136
3229
|
}).superRefine((module2, ctx) => {
|
|
3137
3230
|
if (!module2.files.includes("index.ts")) {
|
|
3138
3231
|
ctx.addIssue({
|
|
3139
|
-
code:
|
|
3232
|
+
code: import_zod13.z.ZodIssueCode.custom,
|
|
3140
3233
|
message: `Module '${module2.name}' is missing an 'index.ts' entry point.`
|
|
3141
3234
|
});
|
|
3142
3235
|
}
|
|
3143
3236
|
});
|
|
3144
|
-
var OpsPluginStructureSchema =
|
|
3145
|
-
root:
|
|
3146
|
-
files:
|
|
3237
|
+
var OpsPluginStructureSchema = import_zod13.z.object({
|
|
3238
|
+
root: import_zod13.z.string(),
|
|
3239
|
+
files: import_zod13.z.array(import_zod13.z.string()).describe("List of all file paths relative to root")
|
|
3147
3240
|
}).superRefine((project, ctx) => {
|
|
3148
3241
|
if (!project.files.includes("objectstack.config.ts")) {
|
|
3149
3242
|
ctx.addIssue({
|
|
3150
|
-
code:
|
|
3243
|
+
code: import_zod13.z.ZodIssueCode.custom,
|
|
3151
3244
|
message: "Missing 'objectstack.config.ts' configuration file."
|
|
3152
3245
|
});
|
|
3153
3246
|
}
|
|
@@ -3162,93 +3255,93 @@ var OpsPluginStructureSchema = import_zod12.z.object({
|
|
|
3162
3255
|
});
|
|
3163
3256
|
|
|
3164
3257
|
// src/kernel/plugin-validator.zod.ts
|
|
3165
|
-
var
|
|
3166
|
-
var ValidationErrorSchema =
|
|
3258
|
+
var import_zod14 = require("zod");
|
|
3259
|
+
var ValidationErrorSchema = import_zod14.z.object({
|
|
3167
3260
|
/**
|
|
3168
3261
|
* Field that failed validation
|
|
3169
3262
|
*/
|
|
3170
|
-
field:
|
|
3263
|
+
field: import_zod14.z.string().describe("Field name that failed validation"),
|
|
3171
3264
|
/**
|
|
3172
3265
|
* Human-readable error message
|
|
3173
3266
|
*/
|
|
3174
|
-
message:
|
|
3267
|
+
message: import_zod14.z.string().describe("Human-readable error message"),
|
|
3175
3268
|
/**
|
|
3176
3269
|
* Machine-readable error code (optional)
|
|
3177
3270
|
*/
|
|
3178
|
-
code:
|
|
3271
|
+
code: import_zod14.z.string().optional().describe("Machine-readable error code")
|
|
3179
3272
|
});
|
|
3180
|
-
var ValidationWarningSchema =
|
|
3273
|
+
var ValidationWarningSchema = import_zod14.z.object({
|
|
3181
3274
|
/**
|
|
3182
3275
|
* Field with warning
|
|
3183
3276
|
*/
|
|
3184
|
-
field:
|
|
3277
|
+
field: import_zod14.z.string().describe("Field name with warning"),
|
|
3185
3278
|
/**
|
|
3186
3279
|
* Human-readable warning message
|
|
3187
3280
|
*/
|
|
3188
|
-
message:
|
|
3281
|
+
message: import_zod14.z.string().describe("Human-readable warning message"),
|
|
3189
3282
|
/**
|
|
3190
3283
|
* Machine-readable warning code (optional)
|
|
3191
3284
|
*/
|
|
3192
|
-
code:
|
|
3285
|
+
code: import_zod14.z.string().optional().describe("Machine-readable warning code")
|
|
3193
3286
|
});
|
|
3194
|
-
var ValidationResultSchema =
|
|
3287
|
+
var ValidationResultSchema = import_zod14.z.object({
|
|
3195
3288
|
/**
|
|
3196
3289
|
* Whether validation passed
|
|
3197
3290
|
*/
|
|
3198
|
-
valid:
|
|
3291
|
+
valid: import_zod14.z.boolean().describe("Whether the plugin passed validation"),
|
|
3199
3292
|
/**
|
|
3200
3293
|
* Validation errors (if any)
|
|
3201
3294
|
*/
|
|
3202
|
-
errors:
|
|
3295
|
+
errors: import_zod14.z.array(ValidationErrorSchema).optional().describe("Validation errors"),
|
|
3203
3296
|
/**
|
|
3204
3297
|
* Validation warnings (non-fatal issues)
|
|
3205
3298
|
*/
|
|
3206
|
-
warnings:
|
|
3299
|
+
warnings: import_zod14.z.array(ValidationWarningSchema).optional().describe("Validation warnings")
|
|
3207
3300
|
});
|
|
3208
|
-
var PluginMetadataSchema =
|
|
3301
|
+
var PluginMetadataSchema = import_zod14.z.object({
|
|
3209
3302
|
/**
|
|
3210
3303
|
* Unique plugin identifier (snake_case)
|
|
3211
3304
|
*/
|
|
3212
|
-
name:
|
|
3305
|
+
name: import_zod14.z.string().min(1).describe("Unique plugin identifier"),
|
|
3213
3306
|
/**
|
|
3214
3307
|
* Plugin version (semver)
|
|
3215
3308
|
*/
|
|
3216
|
-
version:
|
|
3309
|
+
version: import_zod14.z.string().regex(/^\d+\.\d+\.\d+$/).optional().describe("Semantic version (e.g., 1.0.0)"),
|
|
3217
3310
|
/**
|
|
3218
3311
|
* Plugin dependencies (array of plugin names)
|
|
3219
3312
|
*/
|
|
3220
|
-
dependencies:
|
|
3313
|
+
dependencies: import_zod14.z.array(import_zod14.z.string()).optional().describe("Array of plugin names this plugin depends on"),
|
|
3221
3314
|
/**
|
|
3222
3315
|
* Plugin signature for cryptographic verification (optional)
|
|
3223
3316
|
*/
|
|
3224
|
-
signature:
|
|
3317
|
+
signature: import_zod14.z.string().optional().describe("Cryptographic signature for plugin verification")
|
|
3225
3318
|
/**
|
|
3226
3319
|
* Additional plugin metadata
|
|
3227
3320
|
*/
|
|
3228
3321
|
}).passthrough().describe("Plugin metadata for validation");
|
|
3229
3322
|
|
|
3230
3323
|
// src/kernel/plugin-versioning.zod.ts
|
|
3231
|
-
var
|
|
3232
|
-
var SemanticVersionSchema =
|
|
3233
|
-
major:
|
|
3234
|
-
minor:
|
|
3235
|
-
patch:
|
|
3236
|
-
preRelease:
|
|
3237
|
-
build:
|
|
3324
|
+
var import_zod15 = require("zod");
|
|
3325
|
+
var SemanticVersionSchema = import_zod15.z.object({
|
|
3326
|
+
major: import_zod15.z.number().int().min(0).describe("Major version (breaking changes)"),
|
|
3327
|
+
minor: import_zod15.z.number().int().min(0).describe("Minor version (backward compatible features)"),
|
|
3328
|
+
patch: import_zod15.z.number().int().min(0).describe("Patch version (backward compatible fixes)"),
|
|
3329
|
+
preRelease: import_zod15.z.string().optional().describe("Pre-release identifier (alpha, beta, rc.1)"),
|
|
3330
|
+
build: import_zod15.z.string().optional().describe("Build metadata")
|
|
3238
3331
|
}).describe("Semantic version number");
|
|
3239
|
-
var VersionConstraintSchema =
|
|
3240
|
-
|
|
3241
|
-
|
|
3242
|
-
|
|
3243
|
-
|
|
3244
|
-
|
|
3245
|
-
|
|
3246
|
-
|
|
3247
|
-
|
|
3248
|
-
|
|
3249
|
-
|
|
3332
|
+
var VersionConstraintSchema = import_zod15.z.union([
|
|
3333
|
+
import_zod15.z.string().regex(/^[\d.]+$/).describe("Exact version: `1.2.3`"),
|
|
3334
|
+
import_zod15.z.string().regex(/^\^[\d.]+$/).describe("Compatible with: `^1.2.3` (`>=1.2.3 <2.0.0`)"),
|
|
3335
|
+
import_zod15.z.string().regex(/^~[\d.]+$/).describe("Approximately: `~1.2.3` (`>=1.2.3 <1.3.0`)"),
|
|
3336
|
+
import_zod15.z.string().regex(/^>=[\d.]+$/).describe("Greater than or equal: `>=1.2.3`"),
|
|
3337
|
+
import_zod15.z.string().regex(/^>[\d.]+$/).describe("Greater than: `>1.2.3`"),
|
|
3338
|
+
import_zod15.z.string().regex(/^<=[\d.]+$/).describe("Less than or equal: `<=1.2.3`"),
|
|
3339
|
+
import_zod15.z.string().regex(/^<[\d.]+$/).describe("Less than: `<1.2.3`"),
|
|
3340
|
+
import_zod15.z.string().regex(/^[\d.]+ - [\d.]+$/).describe("Range: `1.2.3 - 2.3.4`"),
|
|
3341
|
+
import_zod15.z.literal("*").describe("Any version"),
|
|
3342
|
+
import_zod15.z.literal("latest").describe("Latest stable version")
|
|
3250
3343
|
]);
|
|
3251
|
-
var CompatibilityLevelSchema =
|
|
3344
|
+
var CompatibilityLevelSchema = import_zod15.z.enum([
|
|
3252
3345
|
"fully-compatible",
|
|
3253
3346
|
// 100% compatible, drop-in replacement
|
|
3254
3347
|
"backward-compatible",
|
|
@@ -3260,15 +3353,15 @@ var CompatibilityLevelSchema = import_zod14.z.enum([
|
|
|
3260
3353
|
"incompatible"
|
|
3261
3354
|
// Completely incompatible
|
|
3262
3355
|
]).describe("Compatibility level between versions");
|
|
3263
|
-
var BreakingChangeSchema =
|
|
3356
|
+
var BreakingChangeSchema = import_zod15.z.object({
|
|
3264
3357
|
/**
|
|
3265
3358
|
* Version where the change was introduced
|
|
3266
3359
|
*/
|
|
3267
|
-
introducedIn:
|
|
3360
|
+
introducedIn: import_zod15.z.string().describe("Version that introduced this breaking change"),
|
|
3268
3361
|
/**
|
|
3269
3362
|
* Type of breaking change
|
|
3270
3363
|
*/
|
|
3271
|
-
type:
|
|
3364
|
+
type: import_zod15.z.enum([
|
|
3272
3365
|
"api-removed",
|
|
3273
3366
|
// API removed
|
|
3274
3367
|
"api-renamed",
|
|
@@ -3287,63 +3380,63 @@ var BreakingChangeSchema = import_zod14.z.object({
|
|
|
3287
3380
|
/**
|
|
3288
3381
|
* What was changed
|
|
3289
3382
|
*/
|
|
3290
|
-
description:
|
|
3383
|
+
description: import_zod15.z.string(),
|
|
3291
3384
|
/**
|
|
3292
3385
|
* Migration guide
|
|
3293
3386
|
*/
|
|
3294
|
-
migrationGuide:
|
|
3387
|
+
migrationGuide: import_zod15.z.string().optional().describe("How to migrate from old to new"),
|
|
3295
3388
|
/**
|
|
3296
3389
|
* Deprecated in version
|
|
3297
3390
|
*/
|
|
3298
|
-
deprecatedIn:
|
|
3391
|
+
deprecatedIn: import_zod15.z.string().optional().describe("Version where old API was deprecated"),
|
|
3299
3392
|
/**
|
|
3300
3393
|
* Will be removed in version
|
|
3301
3394
|
*/
|
|
3302
|
-
removedIn:
|
|
3395
|
+
removedIn: import_zod15.z.string().optional().describe("Version where old API will be removed"),
|
|
3303
3396
|
/**
|
|
3304
3397
|
* Automated migration available
|
|
3305
3398
|
*/
|
|
3306
|
-
automatedMigration:
|
|
3399
|
+
automatedMigration: import_zod15.z.boolean().default(false).describe("Whether automated migration tool is available"),
|
|
3307
3400
|
/**
|
|
3308
3401
|
* Impact severity
|
|
3309
3402
|
*/
|
|
3310
|
-
severity:
|
|
3403
|
+
severity: import_zod15.z.enum(["critical", "major", "minor"]).describe("Impact severity")
|
|
3311
3404
|
});
|
|
3312
|
-
var DeprecationNoticeSchema =
|
|
3405
|
+
var DeprecationNoticeSchema = import_zod15.z.object({
|
|
3313
3406
|
/**
|
|
3314
3407
|
* Feature or API being deprecated
|
|
3315
3408
|
*/
|
|
3316
|
-
feature:
|
|
3409
|
+
feature: import_zod15.z.string().describe("Deprecated feature identifier"),
|
|
3317
3410
|
/**
|
|
3318
3411
|
* Version when deprecated
|
|
3319
3412
|
*/
|
|
3320
|
-
deprecatedIn:
|
|
3413
|
+
deprecatedIn: import_zod15.z.string(),
|
|
3321
3414
|
/**
|
|
3322
3415
|
* Planned removal version
|
|
3323
3416
|
*/
|
|
3324
|
-
removeIn:
|
|
3417
|
+
removeIn: import_zod15.z.string().optional(),
|
|
3325
3418
|
/**
|
|
3326
3419
|
* Reason for deprecation
|
|
3327
3420
|
*/
|
|
3328
|
-
reason:
|
|
3421
|
+
reason: import_zod15.z.string(),
|
|
3329
3422
|
/**
|
|
3330
3423
|
* Recommended alternative
|
|
3331
3424
|
*/
|
|
3332
|
-
alternative:
|
|
3425
|
+
alternative: import_zod15.z.string().optional().describe("What to use instead"),
|
|
3333
3426
|
/**
|
|
3334
3427
|
* Migration path
|
|
3335
3428
|
*/
|
|
3336
|
-
migrationPath:
|
|
3429
|
+
migrationPath: import_zod15.z.string().optional().describe("How to migrate to alternative")
|
|
3337
3430
|
});
|
|
3338
|
-
var CompatibilityMatrixEntrySchema =
|
|
3431
|
+
var CompatibilityMatrixEntrySchema = import_zod15.z.object({
|
|
3339
3432
|
/**
|
|
3340
3433
|
* Source version
|
|
3341
3434
|
*/
|
|
3342
|
-
from:
|
|
3435
|
+
from: import_zod15.z.string().describe("Version being upgraded from"),
|
|
3343
3436
|
/**
|
|
3344
3437
|
* Target version
|
|
3345
3438
|
*/
|
|
3346
|
-
to:
|
|
3439
|
+
to: import_zod15.z.string().describe("Version being upgraded to"),
|
|
3347
3440
|
/**
|
|
3348
3441
|
* Compatibility level
|
|
3349
3442
|
*/
|
|
@@ -3351,60 +3444,60 @@ var CompatibilityMatrixEntrySchema = import_zod14.z.object({
|
|
|
3351
3444
|
/**
|
|
3352
3445
|
* Breaking changes list
|
|
3353
3446
|
*/
|
|
3354
|
-
breakingChanges:
|
|
3447
|
+
breakingChanges: import_zod15.z.array(BreakingChangeSchema).optional(),
|
|
3355
3448
|
/**
|
|
3356
3449
|
* Migration required
|
|
3357
3450
|
*/
|
|
3358
|
-
migrationRequired:
|
|
3451
|
+
migrationRequired: import_zod15.z.boolean().default(false),
|
|
3359
3452
|
/**
|
|
3360
3453
|
* Migration complexity
|
|
3361
3454
|
*/
|
|
3362
|
-
migrationComplexity:
|
|
3455
|
+
migrationComplexity: import_zod15.z.enum(["trivial", "simple", "moderate", "complex", "major"]).optional(),
|
|
3363
3456
|
/**
|
|
3364
3457
|
* Estimated migration time in hours
|
|
3365
3458
|
*/
|
|
3366
|
-
estimatedMigrationTime:
|
|
3459
|
+
estimatedMigrationTime: import_zod15.z.number().optional(),
|
|
3367
3460
|
/**
|
|
3368
3461
|
* Migration script available
|
|
3369
3462
|
*/
|
|
3370
|
-
migrationScript:
|
|
3463
|
+
migrationScript: import_zod15.z.string().optional().describe("Path to migration script"),
|
|
3371
3464
|
/**
|
|
3372
3465
|
* Test coverage for migration
|
|
3373
3466
|
*/
|
|
3374
|
-
testCoverage:
|
|
3467
|
+
testCoverage: import_zod15.z.number().min(0).max(100).optional().describe("Percentage of migration covered by tests")
|
|
3375
3468
|
});
|
|
3376
|
-
var PluginCompatibilityMatrixSchema =
|
|
3469
|
+
var PluginCompatibilityMatrixSchema = import_zod15.z.object({
|
|
3377
3470
|
/**
|
|
3378
3471
|
* Plugin identifier
|
|
3379
3472
|
*/
|
|
3380
|
-
pluginId:
|
|
3473
|
+
pluginId: import_zod15.z.string(),
|
|
3381
3474
|
/**
|
|
3382
3475
|
* Current version
|
|
3383
3476
|
*/
|
|
3384
|
-
currentVersion:
|
|
3477
|
+
currentVersion: import_zod15.z.string(),
|
|
3385
3478
|
/**
|
|
3386
3479
|
* Compatibility entries
|
|
3387
3480
|
*/
|
|
3388
|
-
compatibilityMatrix:
|
|
3481
|
+
compatibilityMatrix: import_zod15.z.array(CompatibilityMatrixEntrySchema),
|
|
3389
3482
|
/**
|
|
3390
3483
|
* Supported versions
|
|
3391
3484
|
*/
|
|
3392
|
-
supportedVersions:
|
|
3393
|
-
version:
|
|
3394
|
-
supported:
|
|
3395
|
-
endOfLife:
|
|
3396
|
-
securitySupport:
|
|
3485
|
+
supportedVersions: import_zod15.z.array(import_zod15.z.object({
|
|
3486
|
+
version: import_zod15.z.string(),
|
|
3487
|
+
supported: import_zod15.z.boolean(),
|
|
3488
|
+
endOfLife: import_zod15.z.string().datetime().optional().describe("End of support date"),
|
|
3489
|
+
securitySupport: import_zod15.z.boolean().default(false).describe("Still receives security updates")
|
|
3397
3490
|
})),
|
|
3398
3491
|
/**
|
|
3399
3492
|
* Minimum compatible version
|
|
3400
3493
|
*/
|
|
3401
|
-
minimumCompatibleVersion:
|
|
3494
|
+
minimumCompatibleVersion: import_zod15.z.string().optional().describe("Oldest version that can be directly upgraded")
|
|
3402
3495
|
});
|
|
3403
|
-
var DependencyConflictSchema =
|
|
3496
|
+
var DependencyConflictSchema = import_zod15.z.object({
|
|
3404
3497
|
/**
|
|
3405
3498
|
* Type of conflict
|
|
3406
3499
|
*/
|
|
3407
|
-
type:
|
|
3500
|
+
type: import_zod15.z.enum([
|
|
3408
3501
|
"version-mismatch",
|
|
3409
3502
|
// Different versions required
|
|
3410
3503
|
"missing-dependency",
|
|
@@ -3419,20 +3512,20 @@ var DependencyConflictSchema = import_zod14.z.object({
|
|
|
3419
3512
|
/**
|
|
3420
3513
|
* Plugins involved in conflict
|
|
3421
3514
|
*/
|
|
3422
|
-
plugins:
|
|
3423
|
-
pluginId:
|
|
3424
|
-
version:
|
|
3425
|
-
requirement:
|
|
3515
|
+
plugins: import_zod15.z.array(import_zod15.z.object({
|
|
3516
|
+
pluginId: import_zod15.z.string(),
|
|
3517
|
+
version: import_zod15.z.string(),
|
|
3518
|
+
requirement: import_zod15.z.string().optional().describe("What this plugin requires")
|
|
3426
3519
|
})),
|
|
3427
3520
|
/**
|
|
3428
3521
|
* Conflict description
|
|
3429
3522
|
*/
|
|
3430
|
-
description:
|
|
3523
|
+
description: import_zod15.z.string(),
|
|
3431
3524
|
/**
|
|
3432
3525
|
* Possible resolutions
|
|
3433
3526
|
*/
|
|
3434
|
-
resolutions:
|
|
3435
|
-
strategy:
|
|
3527
|
+
resolutions: import_zod15.z.array(import_zod15.z.object({
|
|
3528
|
+
strategy: import_zod15.z.enum([
|
|
3436
3529
|
"upgrade",
|
|
3437
3530
|
// Upgrade one or more plugins
|
|
3438
3531
|
"downgrade",
|
|
@@ -3444,58 +3537,58 @@ var DependencyConflictSchema = import_zod14.z.object({
|
|
|
3444
3537
|
"manual"
|
|
3445
3538
|
// Manual intervention required
|
|
3446
3539
|
]),
|
|
3447
|
-
description:
|
|
3448
|
-
automaticResolution:
|
|
3449
|
-
riskLevel:
|
|
3540
|
+
description: import_zod15.z.string(),
|
|
3541
|
+
automaticResolution: import_zod15.z.boolean().default(false),
|
|
3542
|
+
riskLevel: import_zod15.z.enum(["low", "medium", "high"])
|
|
3450
3543
|
})).optional(),
|
|
3451
3544
|
/**
|
|
3452
3545
|
* Severity of conflict
|
|
3453
3546
|
*/
|
|
3454
|
-
severity:
|
|
3547
|
+
severity: import_zod15.z.enum(["critical", "error", "warning", "info"])
|
|
3455
3548
|
});
|
|
3456
|
-
var DependencyResolutionResultSchema =
|
|
3549
|
+
var DependencyResolutionResultSchema = import_zod15.z.object({
|
|
3457
3550
|
/**
|
|
3458
3551
|
* Resolution successful
|
|
3459
3552
|
*/
|
|
3460
|
-
success:
|
|
3553
|
+
success: import_zod15.z.boolean(),
|
|
3461
3554
|
/**
|
|
3462
3555
|
* Resolved plugin versions
|
|
3463
3556
|
*/
|
|
3464
|
-
resolved:
|
|
3465
|
-
pluginId:
|
|
3466
|
-
version:
|
|
3467
|
-
resolvedVersion:
|
|
3557
|
+
resolved: import_zod15.z.array(import_zod15.z.object({
|
|
3558
|
+
pluginId: import_zod15.z.string(),
|
|
3559
|
+
version: import_zod15.z.string(),
|
|
3560
|
+
resolvedVersion: import_zod15.z.string()
|
|
3468
3561
|
})).optional(),
|
|
3469
3562
|
/**
|
|
3470
3563
|
* Conflicts found
|
|
3471
3564
|
*/
|
|
3472
|
-
conflicts:
|
|
3565
|
+
conflicts: import_zod15.z.array(DependencyConflictSchema).optional(),
|
|
3473
3566
|
/**
|
|
3474
3567
|
* Warnings
|
|
3475
3568
|
*/
|
|
3476
|
-
warnings:
|
|
3569
|
+
warnings: import_zod15.z.array(import_zod15.z.string()).optional(),
|
|
3477
3570
|
/**
|
|
3478
3571
|
* Installation order (topologically sorted)
|
|
3479
3572
|
*/
|
|
3480
|
-
installationOrder:
|
|
3573
|
+
installationOrder: import_zod15.z.array(import_zod15.z.string()).optional().describe("Plugin IDs in order they should be installed"),
|
|
3481
3574
|
/**
|
|
3482
3575
|
* Dependency graph
|
|
3483
3576
|
*/
|
|
3484
|
-
dependencyGraph:
|
|
3577
|
+
dependencyGraph: import_zod15.z.record(import_zod15.z.string(), import_zod15.z.array(import_zod15.z.string())).optional().describe("Map of plugin ID to its dependencies")
|
|
3485
3578
|
});
|
|
3486
|
-
var MultiVersionSupportSchema =
|
|
3579
|
+
var MultiVersionSupportSchema = import_zod15.z.object({
|
|
3487
3580
|
/**
|
|
3488
3581
|
* Enable multi-version support
|
|
3489
3582
|
*/
|
|
3490
|
-
enabled:
|
|
3583
|
+
enabled: import_zod15.z.boolean().default(false),
|
|
3491
3584
|
/**
|
|
3492
3585
|
* Maximum concurrent versions
|
|
3493
3586
|
*/
|
|
3494
|
-
maxConcurrentVersions:
|
|
3587
|
+
maxConcurrentVersions: import_zod15.z.number().int().min(1).default(2).describe("How many versions can run at the same time"),
|
|
3495
3588
|
/**
|
|
3496
3589
|
* Version selection strategy
|
|
3497
3590
|
*/
|
|
3498
|
-
selectionStrategy:
|
|
3591
|
+
selectionStrategy: import_zod15.z.enum([
|
|
3499
3592
|
"latest",
|
|
3500
3593
|
// Always use latest version
|
|
3501
3594
|
"stable",
|
|
@@ -3512,26 +3605,26 @@ var MultiVersionSupportSchema = import_zod14.z.object({
|
|
|
3512
3605
|
/**
|
|
3513
3606
|
* Version routing rules
|
|
3514
3607
|
*/
|
|
3515
|
-
routing:
|
|
3516
|
-
condition:
|
|
3517
|
-
version:
|
|
3518
|
-
priority:
|
|
3608
|
+
routing: import_zod15.z.array(import_zod15.z.object({
|
|
3609
|
+
condition: import_zod15.z.string().describe("Routing condition (e.g., tenant, user, feature flag)"),
|
|
3610
|
+
version: import_zod15.z.string().describe("Version to use when condition matches"),
|
|
3611
|
+
priority: import_zod15.z.number().int().default(100).describe("Rule priority")
|
|
3519
3612
|
})).optional(),
|
|
3520
3613
|
/**
|
|
3521
3614
|
* Gradual rollout configuration
|
|
3522
3615
|
*/
|
|
3523
|
-
rollout:
|
|
3524
|
-
enabled:
|
|
3525
|
-
strategy:
|
|
3526
|
-
percentage:
|
|
3527
|
-
duration:
|
|
3616
|
+
rollout: import_zod15.z.object({
|
|
3617
|
+
enabled: import_zod15.z.boolean().default(false),
|
|
3618
|
+
strategy: import_zod15.z.enum(["percentage", "blue-green", "canary"]),
|
|
3619
|
+
percentage: import_zod15.z.number().min(0).max(100).optional().describe("Percentage of traffic to new version"),
|
|
3620
|
+
duration: import_zod15.z.number().int().optional().describe("Rollout duration in milliseconds")
|
|
3528
3621
|
}).optional()
|
|
3529
3622
|
});
|
|
3530
|
-
var PluginVersionMetadataSchema =
|
|
3623
|
+
var PluginVersionMetadataSchema = import_zod15.z.object({
|
|
3531
3624
|
/**
|
|
3532
3625
|
* Plugin identifier
|
|
3533
3626
|
*/
|
|
3534
|
-
pluginId:
|
|
3627
|
+
pluginId: import_zod15.z.string(),
|
|
3535
3628
|
/**
|
|
3536
3629
|
* Version number
|
|
3537
3630
|
*/
|
|
@@ -3539,112 +3632,54 @@ var PluginVersionMetadataSchema = import_zod14.z.object({
|
|
|
3539
3632
|
/**
|
|
3540
3633
|
* Version string (computed)
|
|
3541
3634
|
*/
|
|
3542
|
-
versionString:
|
|
3635
|
+
versionString: import_zod15.z.string().describe("Full version string (e.g., 1.2.3-beta.1+build.123)"),
|
|
3543
3636
|
/**
|
|
3544
3637
|
* Release date
|
|
3545
3638
|
*/
|
|
3546
|
-
releaseDate:
|
|
3639
|
+
releaseDate: import_zod15.z.string().datetime(),
|
|
3547
3640
|
/**
|
|
3548
3641
|
* Release notes
|
|
3549
3642
|
*/
|
|
3550
|
-
releaseNotes:
|
|
3643
|
+
releaseNotes: import_zod15.z.string().optional(),
|
|
3551
3644
|
/**
|
|
3552
3645
|
* Breaking changes
|
|
3553
3646
|
*/
|
|
3554
|
-
breakingChanges:
|
|
3647
|
+
breakingChanges: import_zod15.z.array(BreakingChangeSchema).optional(),
|
|
3555
3648
|
/**
|
|
3556
3649
|
* Deprecations
|
|
3557
3650
|
*/
|
|
3558
|
-
deprecations:
|
|
3651
|
+
deprecations: import_zod15.z.array(DeprecationNoticeSchema).optional(),
|
|
3559
3652
|
/**
|
|
3560
3653
|
* Compatibility matrix
|
|
3561
3654
|
*/
|
|
3562
|
-
compatibilityMatrix:
|
|
3655
|
+
compatibilityMatrix: import_zod15.z.array(CompatibilityMatrixEntrySchema).optional(),
|
|
3563
3656
|
/**
|
|
3564
3657
|
* Security vulnerabilities fixed
|
|
3565
3658
|
*/
|
|
3566
|
-
securityFixes:
|
|
3567
|
-
cve:
|
|
3568
|
-
severity:
|
|
3569
|
-
description:
|
|
3570
|
-
fixedIn:
|
|
3659
|
+
securityFixes: import_zod15.z.array(import_zod15.z.object({
|
|
3660
|
+
cve: import_zod15.z.string().optional().describe("CVE identifier"),
|
|
3661
|
+
severity: import_zod15.z.enum(["critical", "high", "medium", "low"]),
|
|
3662
|
+
description: import_zod15.z.string(),
|
|
3663
|
+
fixedIn: import_zod15.z.string().describe("Version where vulnerability was fixed")
|
|
3571
3664
|
})).optional(),
|
|
3572
3665
|
/**
|
|
3573
3666
|
* Download statistics
|
|
3574
3667
|
*/
|
|
3575
|
-
statistics:
|
|
3576
|
-
downloads:
|
|
3577
|
-
installations:
|
|
3578
|
-
ratings:
|
|
3668
|
+
statistics: import_zod15.z.object({
|
|
3669
|
+
downloads: import_zod15.z.number().int().min(0).optional(),
|
|
3670
|
+
installations: import_zod15.z.number().int().min(0).optional(),
|
|
3671
|
+
ratings: import_zod15.z.number().min(0).max(5).optional()
|
|
3579
3672
|
}).optional(),
|
|
3580
3673
|
/**
|
|
3581
3674
|
* Support status
|
|
3582
3675
|
*/
|
|
3583
|
-
support:
|
|
3584
|
-
status:
|
|
3585
|
-
endOfLife:
|
|
3586
|
-
securitySupport:
|
|
3676
|
+
support: import_zod15.z.object({
|
|
3677
|
+
status: import_zod15.z.enum(["active", "maintenance", "deprecated", "eol"]),
|
|
3678
|
+
endOfLife: import_zod15.z.string().datetime().optional(),
|
|
3679
|
+
securitySupport: import_zod15.z.boolean().default(true)
|
|
3587
3680
|
})
|
|
3588
3681
|
});
|
|
3589
3682
|
|
|
3590
|
-
// src/kernel/plugin.zod.ts
|
|
3591
|
-
var import_zod15 = require("zod");
|
|
3592
|
-
var PluginContextSchema = import_zod15.z.object({
|
|
3593
|
-
ql: import_zod15.z.object({
|
|
3594
|
-
object: import_zod15.z.function().returns(import_zod15.z.any()),
|
|
3595
|
-
// Return any to allow method chaining
|
|
3596
|
-
query: import_zod15.z.function().returns(import_zod15.z.any())
|
|
3597
|
-
}).passthrough().describe("ObjectQL Engine Interface"),
|
|
3598
|
-
os: import_zod15.z.object({
|
|
3599
|
-
getCurrentUser: import_zod15.z.function().returns(import_zod15.z.any()),
|
|
3600
|
-
getConfig: import_zod15.z.function().returns(import_zod15.z.any())
|
|
3601
|
-
}).passthrough().describe("ObjectStack Kernel Interface"),
|
|
3602
|
-
logger: import_zod15.z.object({
|
|
3603
|
-
debug: import_zod15.z.function().returns(import_zod15.z.void()),
|
|
3604
|
-
info: import_zod15.z.function().returns(import_zod15.z.void()),
|
|
3605
|
-
warn: import_zod15.z.function().returns(import_zod15.z.void()),
|
|
3606
|
-
error: import_zod15.z.function().returns(import_zod15.z.void())
|
|
3607
|
-
}).passthrough().describe("Logger Interface"),
|
|
3608
|
-
storage: import_zod15.z.object({
|
|
3609
|
-
get: import_zod15.z.function().returns(import_zod15.z.any()),
|
|
3610
|
-
set: import_zod15.z.function().returns(import_zod15.z.promise(import_zod15.z.void())),
|
|
3611
|
-
delete: import_zod15.z.function().returns(import_zod15.z.promise(import_zod15.z.void()))
|
|
3612
|
-
}).passthrough().describe("Storage Interface"),
|
|
3613
|
-
i18n: import_zod15.z.object({
|
|
3614
|
-
t: import_zod15.z.function().returns(import_zod15.z.string()),
|
|
3615
|
-
getLocale: import_zod15.z.function().returns(import_zod15.z.string())
|
|
3616
|
-
}).passthrough().describe("Internationalization Interface"),
|
|
3617
|
-
metadata: import_zod15.z.record(import_zod15.z.string(), import_zod15.z.any()),
|
|
3618
|
-
events: import_zod15.z.record(import_zod15.z.string(), import_zod15.z.any()),
|
|
3619
|
-
app: import_zod15.z.object({
|
|
3620
|
-
router: import_zod15.z.object({
|
|
3621
|
-
get: import_zod15.z.function().returns(import_zod15.z.any()),
|
|
3622
|
-
post: import_zod15.z.function().returns(import_zod15.z.any()),
|
|
3623
|
-
use: import_zod15.z.function().returns(import_zod15.z.any())
|
|
3624
|
-
}).passthrough()
|
|
3625
|
-
}).passthrough().describe("App Framework Interface"),
|
|
3626
|
-
drivers: import_zod15.z.object({
|
|
3627
|
-
register: import_zod15.z.function().returns(import_zod15.z.void())
|
|
3628
|
-
}).passthrough().describe("Driver Registry")
|
|
3629
|
-
});
|
|
3630
|
-
var PluginLifecycleSchema = import_zod15.z.object({
|
|
3631
|
-
onInstall: import_zod15.z.function().args(PluginContextSchema).returns(import_zod15.z.promise(import_zod15.z.void())).optional(),
|
|
3632
|
-
onEnable: import_zod15.z.function().args(PluginContextSchema).returns(import_zod15.z.promise(import_zod15.z.void())).optional(),
|
|
3633
|
-
onDisable: import_zod15.z.function().args(PluginContextSchema).returns(import_zod15.z.promise(import_zod15.z.void())).optional(),
|
|
3634
|
-
onUninstall: import_zod15.z.function().args(PluginContextSchema).returns(import_zod15.z.promise(import_zod15.z.void())).optional(),
|
|
3635
|
-
onUpgrade: import_zod15.z.function().args(PluginContextSchema, import_zod15.z.string(), import_zod15.z.string()).returns(import_zod15.z.promise(import_zod15.z.void())).optional()
|
|
3636
|
-
});
|
|
3637
|
-
var PluginSchema = PluginLifecycleSchema.extend({
|
|
3638
|
-
id: import_zod15.z.string().min(1).optional().describe("Unique Plugin ID (e.g. com.example.crm)"),
|
|
3639
|
-
version: import_zod15.z.string().regex(/^\d+\.\d+\.\d+$/).optional().describe("Semantic Version"),
|
|
3640
|
-
description: import_zod15.z.string().optional(),
|
|
3641
|
-
author: import_zod15.z.string().optional(),
|
|
3642
|
-
homepage: import_zod15.z.string().url().optional()
|
|
3643
|
-
});
|
|
3644
|
-
function definePlugin(config) {
|
|
3645
|
-
return config;
|
|
3646
|
-
}
|
|
3647
|
-
|
|
3648
3683
|
// src/kernel/service-registry.zod.ts
|
|
3649
3684
|
var import_zod16 = require("zod");
|
|
3650
3685
|
var ServiceScopeType = import_zod16.z.enum([
|
|
@@ -3851,6 +3886,7 @@ var StartupOrchestrationResultSchema = import_zod17.z.object({
|
|
|
3851
3886
|
0 && (module.exports = {
|
|
3852
3887
|
AdvancedPluginLifecycleConfigSchema,
|
|
3853
3888
|
BreakingChangeSchema,
|
|
3889
|
+
CORE_PLUGIN_TYPES,
|
|
3854
3890
|
CapabilityConformanceLevelSchema,
|
|
3855
3891
|
CompatibilityLevelSchema,
|
|
3856
3892
|
CompatibilityMatrixEntrySchema,
|