@fabricorg/platform 0.9.0 → 0.11.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (61) hide show
  1. package/CHANGELOG.md +48 -2
  2. package/README.md +21 -0
  3. package/dist/actions/index.cjs +11 -11
  4. package/dist/actions/index.d.cts +2 -0
  5. package/dist/actions/index.d.ts +2 -0
  6. package/dist/actions/index.js +1 -1
  7. package/dist/chunk-3JQI3OFC.js +347 -0
  8. package/dist/chunk-3JQI3OFC.js.map +1 -0
  9. package/dist/chunk-3S6UTP4X.js +110 -0
  10. package/dist/chunk-3S6UTP4X.js.map +1 -0
  11. package/dist/{chunk-JSTGOT6P.js → chunk-7WASIL46.js} +58 -3
  12. package/dist/chunk-7WASIL46.js.map +1 -0
  13. package/dist/{chunk-BWNPGRRV.cjs → chunk-HLRIXNVG.cjs} +2 -2
  14. package/dist/chunk-HLRIXNVG.cjs.map +1 -0
  15. package/dist/{chunk-4SMPJPJ6.js → chunk-JM55UQWK.js} +2 -2
  16. package/dist/chunk-JM55UQWK.js.map +1 -0
  17. package/dist/chunk-NFP5DJBT.js +219 -0
  18. package/dist/chunk-NFP5DJBT.js.map +1 -0
  19. package/dist/{chunk-Q3WYIWCN.cjs → chunk-O7IHZ53Y.cjs} +63 -2
  20. package/dist/chunk-O7IHZ53Y.cjs.map +1 -0
  21. package/dist/chunk-ODP3DO6P.cjs +355 -0
  22. package/dist/chunk-ODP3DO6P.cjs.map +1 -0
  23. package/dist/chunk-RYCHDNHZ.cjs +226 -0
  24. package/dist/chunk-RYCHDNHZ.cjs.map +1 -0
  25. package/dist/chunk-XCL2HBMB.cjs +116 -0
  26. package/dist/chunk-XCL2HBMB.cjs.map +1 -0
  27. package/dist/index.cjs +92 -39
  28. package/dist/index.d.cts +4 -3
  29. package/dist/index.d.ts +4 -3
  30. package/dist/index.js +6 -5
  31. package/dist/manifest/index.cjs +40 -0
  32. package/dist/manifest/index.cjs.map +1 -0
  33. package/dist/manifest/index.d.cts +181 -0
  34. package/dist/manifest/index.d.ts +181 -0
  35. package/dist/manifest/index.js +11 -0
  36. package/dist/manifest/index.js.map +1 -0
  37. package/dist/modules/index.cjs +11 -10
  38. package/dist/modules/index.d.cts +49 -1
  39. package/dist/modules/index.d.ts +49 -1
  40. package/dist/modules/index.js +4 -3
  41. package/dist/objects/index.cjs +9 -5
  42. package/dist/objects/index.d.cts +45 -1
  43. package/dist/objects/index.d.ts +45 -1
  44. package/dist/objects/index.js +1 -1
  45. package/dist/projections/index.cjs +26 -2
  46. package/dist/projections/index.d.cts +38 -2
  47. package/dist/projections/index.d.ts +38 -2
  48. package/dist/projections/index.js +1 -1
  49. package/package.json +11 -1
  50. package/dist/chunk-35DD3H55.js +0 -187
  51. package/dist/chunk-35DD3H55.js.map +0 -1
  52. package/dist/chunk-4SMPJPJ6.js.map +0 -1
  53. package/dist/chunk-BWNPGRRV.cjs.map +0 -1
  54. package/dist/chunk-I35B576X.js +0 -30
  55. package/dist/chunk-I35B576X.js.map +0 -1
  56. package/dist/chunk-JSTGOT6P.js.map +0 -1
  57. package/dist/chunk-Q3WYIWCN.cjs.map +0 -1
  58. package/dist/chunk-QETQGAXJ.cjs +0 -35
  59. package/dist/chunk-QETQGAXJ.cjs.map +0 -1
  60. package/dist/chunk-SSYKDXR4.cjs +0 -195
  61. package/dist/chunk-SSYKDXR4.cjs.map +0 -1
package/dist/index.d.cts CHANGED
@@ -2,11 +2,12 @@ export { ACTOR_TYPES, ActionContext, ActionDefinition, ActionHandler, ActionId,
2
2
  export { AdapterAttempt, AdapterCircuitBreakerConfig, AdapterExecutionContext, AdapterExecutionResult, AdapterExecutor, AdapterImplementation, AdapterRegistry, AdapterRetryPolicy, ExecuteWithRetryOptions, MissingAdapterRegistrationError, ResolvedAdapterRetryPolicy, executeWithAdapterRetry, getRetryDelayMs, resolveAdapterRetryPolicy } from './adapters/index.cjs';
3
3
  export { AssetEventActorType, AssetEventEnvelope, AssetEventSubjectType, AssetEventType, EventTypeRegistry, createEventTypeRegistry, getRegisteredEventTypes, getRegisteredSubjectTypes, isValidEventType, isValidSubjectType, registerEventType, registerSubjectType } from './events/index.cjs';
4
4
  export { FABRIC_ID_PREFIXES, FabricIdPrefix, createFabricId, isFabricId, parseFabricId } from './ids/index.cjs';
5
- export { EventTypeRegistration, EventTypeRegistrationInput, FabricModule, IdPrefixRegistration, ModuleDependency, ModuleDependencyInput, ModuleDisplayRendererRegistration, ModuleRegistry, ObjectTypeRegistration, ObjectTypeRegistrationInput, PolicyRegistration, StateMachineRegistration, createModuleRegistry, getEventTypeName, getModuleDependencyNamespace, getObjectTypeName, registerFabricModule, registerFabricModules, validateModuleNamespace } from './modules/index.cjs';
6
- export { FabricObjectType, assertObjectType, getRegisteredObjectTypes, isValidObjectType, registerObjectType } from './objects/index.cjs';
5
+ export { JsonSchemaExportableValidator, MODULE_MANIFEST_VERSION, ModuleManifest, ModuleManifestAction, ModuleManifestActionStateMachine, ModuleManifestActionV1, ModuleManifestAdapterStep, ModuleManifestBundle, ModuleManifestBundleV1, ModuleManifestCodePolicy, ModuleManifestDataPolicy, ModuleManifestEventType, ModuleManifestIdPrefix, ModuleManifestObjectType, ModuleManifestObjectTypeV1, ModuleManifestPolicy, ModuleManifestStateMachine, ModuleManifestStateMachineTransition, ModuleManifestV1, ModuleManifestView, exportModuleManifest, exportModuleManifestBundle, isJsonSchemaExportableValidator, normalizeModuleManifest, normalizeModuleManifestBundle } from './manifest/index.cjs';
6
+ export { CapabilityMetadata, CapabilitySlotDefinition, DeclarativeInvariant, EventTypeRegistration, EventTypeRegistrationInput, FabricModule, IdPrefixRegistration, InvariantEnforcement, ModuleDependency, ModuleDependencyInput, ModuleDisplayRendererRegistration, ModuleRegistry, ObjectRelationCardinality, ObjectRelationDefinition, ObjectRelationDeleteBehavior, ObjectRelationSemantics, ObjectTypeRegistration, ObjectTypeRegistrationInput, PolicyRegistration, StateMachineRegistration, createModuleRegistry, getEventTypeName, getModuleDependencyNamespace, getObjectTypeName, registerFabricModule, registerFabricModules, validateModuleNamespace } from './modules/index.cjs';
7
+ export { FabricObjectType, JsonPrimitive, JsonValue, PortableJsonSchema, assertObjectType, assertPortableJsonSchema, getRegisteredObjectTypes, isValidObjectType, registerObjectType } from './objects/index.cjs';
7
8
  export { DataPolicyComparisonOperator, DataPolicyCondition, DataPolicyConditionResult, DataPolicyDefinition, DataPolicyLiteral, DataPolicySource, DataPolicySourceReference, DataPolicyValidationResult, PolicyContext, PolicyCorrectiveAction, PolicyCorrectiveActionBase, PolicyCorrectiveActionKind, PolicyDispatchEvidence, PolicyEvaluationMode, PolicyEvaluationResult, PolicyEvaluator, PolicyFact, PolicyFallbackDefinition, PolicyFallbackTrigger, PolicyGuidance, PolicyGuidanceValidationResult, PolicyId, PolicyInvokeActionCorrectiveAction, PolicyKind, PolicyManualCorrectiveAction, PolicyNavigateCorrectiveAction, PolicyOutcome, RuntimePolicyDefinition, aggregatePolicyOutcomes, assertPolicyId, evaluatePolicyDefinition, evaluatePolicyDefinitions, evaluateRegisteredPolicies, getRegisteredPolicyIds, registerPolicy, registerPolicyIfMissing, resolvePolicy, validateDataPolicyDefinition, validatePolicyGuidance } from './policies/index.cjs';
8
9
  export { StateClass, StateDefinition, StateMachineDatabaseClient, StateMachineDefinition, TransitionContext, getAllowedTransitions, getEntityStateClass, registerStateMachine, registerStateMachineIfMissing, resolveStateMachine, validateTransition } from './state-machines/index.cjs';
9
- export { ReplayEventsOptions, ReplayEventsResult, ReplayScope, ReplaySnapshot, ReplayWarning, ReplayWarningCode, ReplayableAssetEvent, replayEvents } from './projections/index.cjs';
10
+ export { ReplayEventsOptions, ReplayEventsResult, ReplayScope, ReplaySnapshot, ReplayViewOptions, ReplayWarning, ReplayWarningCode, ReplayableAssetEvent, ViewContract, ViewEventConsumption, getRegisteredViewContractKeys, registerViewContract, registerViewContractIfMissing, replayEvents, replayView, resolveViewContract, viewContractKey } from './projections/index.cjs';
10
11
  export { CachedDisplayDescriptor, DisplayContext, DisplayDatabaseClient, DisplayDescriptor, DisplayRenderer, DisplayRendererRegistration, denormalizeDisplaySnapshot, registerDisplayRenderer, renderEventDisplay, resolveDisplayRenderer } from './displays/index.cjs';
11
12
  export { ANONYMIZATION_POLICY_VERSION, AnalyticsDataContract, AnalyticsDataContractSource, AnalyticsEligibilityDecision, AnonymizationContext, AnonymizationEngine, AnonymizationFieldMetadata, AnonymizationLifecycleEvidence, AnonymizationMetadata, AnonymizationResult, AssetEventLike, DataClassificationRule, EvidencePacketLike, FieldRedactor, PLATFORM_PRIVACY_POLICY_VERSION, PlatformDataClass, RedactionMethod, RedactionRule, RetentionRule, anonymizeAssetEventPayload, anonymizeEvidencePacket, anonymizeJsonValue, buildAnonymizationLifecycleEvidence, stableChecksum } from './privacy/index.cjs';
12
13
  export { EvidenceGenerationContext, EvidencePacketEnvelope, EvidencePacketReference, EvidencePacketStatus, EvidencePacketSubject, EvidenceRenderer } from './evidence/index.cjs';
package/dist/index.d.ts CHANGED
@@ -2,11 +2,12 @@ export { ACTOR_TYPES, ActionContext, ActionDefinition, ActionHandler, ActionId,
2
2
  export { AdapterAttempt, AdapterCircuitBreakerConfig, AdapterExecutionContext, AdapterExecutionResult, AdapterExecutor, AdapterImplementation, AdapterRegistry, AdapterRetryPolicy, ExecuteWithRetryOptions, MissingAdapterRegistrationError, ResolvedAdapterRetryPolicy, executeWithAdapterRetry, getRetryDelayMs, resolveAdapterRetryPolicy } from './adapters/index.js';
3
3
  export { AssetEventActorType, AssetEventEnvelope, AssetEventSubjectType, AssetEventType, EventTypeRegistry, createEventTypeRegistry, getRegisteredEventTypes, getRegisteredSubjectTypes, isValidEventType, isValidSubjectType, registerEventType, registerSubjectType } from './events/index.js';
4
4
  export { FABRIC_ID_PREFIXES, FabricIdPrefix, createFabricId, isFabricId, parseFabricId } from './ids/index.js';
5
- export { EventTypeRegistration, EventTypeRegistrationInput, FabricModule, IdPrefixRegistration, ModuleDependency, ModuleDependencyInput, ModuleDisplayRendererRegistration, ModuleRegistry, ObjectTypeRegistration, ObjectTypeRegistrationInput, PolicyRegistration, StateMachineRegistration, createModuleRegistry, getEventTypeName, getModuleDependencyNamespace, getObjectTypeName, registerFabricModule, registerFabricModules, validateModuleNamespace } from './modules/index.js';
6
- export { FabricObjectType, assertObjectType, getRegisteredObjectTypes, isValidObjectType, registerObjectType } from './objects/index.js';
5
+ export { JsonSchemaExportableValidator, MODULE_MANIFEST_VERSION, ModuleManifest, ModuleManifestAction, ModuleManifestActionStateMachine, ModuleManifestActionV1, ModuleManifestAdapterStep, ModuleManifestBundle, ModuleManifestBundleV1, ModuleManifestCodePolicy, ModuleManifestDataPolicy, ModuleManifestEventType, ModuleManifestIdPrefix, ModuleManifestObjectType, ModuleManifestObjectTypeV1, ModuleManifestPolicy, ModuleManifestStateMachine, ModuleManifestStateMachineTransition, ModuleManifestV1, ModuleManifestView, exportModuleManifest, exportModuleManifestBundle, isJsonSchemaExportableValidator, normalizeModuleManifest, normalizeModuleManifestBundle } from './manifest/index.js';
6
+ export { CapabilityMetadata, CapabilitySlotDefinition, DeclarativeInvariant, EventTypeRegistration, EventTypeRegistrationInput, FabricModule, IdPrefixRegistration, InvariantEnforcement, ModuleDependency, ModuleDependencyInput, ModuleDisplayRendererRegistration, ModuleRegistry, ObjectRelationCardinality, ObjectRelationDefinition, ObjectRelationDeleteBehavior, ObjectRelationSemantics, ObjectTypeRegistration, ObjectTypeRegistrationInput, PolicyRegistration, StateMachineRegistration, createModuleRegistry, getEventTypeName, getModuleDependencyNamespace, getObjectTypeName, registerFabricModule, registerFabricModules, validateModuleNamespace } from './modules/index.js';
7
+ export { FabricObjectType, JsonPrimitive, JsonValue, PortableJsonSchema, assertObjectType, assertPortableJsonSchema, getRegisteredObjectTypes, isValidObjectType, registerObjectType } from './objects/index.js';
7
8
  export { DataPolicyComparisonOperator, DataPolicyCondition, DataPolicyConditionResult, DataPolicyDefinition, DataPolicyLiteral, DataPolicySource, DataPolicySourceReference, DataPolicyValidationResult, PolicyContext, PolicyCorrectiveAction, PolicyCorrectiveActionBase, PolicyCorrectiveActionKind, PolicyDispatchEvidence, PolicyEvaluationMode, PolicyEvaluationResult, PolicyEvaluator, PolicyFact, PolicyFallbackDefinition, PolicyFallbackTrigger, PolicyGuidance, PolicyGuidanceValidationResult, PolicyId, PolicyInvokeActionCorrectiveAction, PolicyKind, PolicyManualCorrectiveAction, PolicyNavigateCorrectiveAction, PolicyOutcome, RuntimePolicyDefinition, aggregatePolicyOutcomes, assertPolicyId, evaluatePolicyDefinition, evaluatePolicyDefinitions, evaluateRegisteredPolicies, getRegisteredPolicyIds, registerPolicy, registerPolicyIfMissing, resolvePolicy, validateDataPolicyDefinition, validatePolicyGuidance } from './policies/index.js';
8
9
  export { StateClass, StateDefinition, StateMachineDatabaseClient, StateMachineDefinition, TransitionContext, getAllowedTransitions, getEntityStateClass, registerStateMachine, registerStateMachineIfMissing, resolveStateMachine, validateTransition } from './state-machines/index.js';
9
- export { ReplayEventsOptions, ReplayEventsResult, ReplayScope, ReplaySnapshot, ReplayWarning, ReplayWarningCode, ReplayableAssetEvent, replayEvents } from './projections/index.js';
10
+ export { ReplayEventsOptions, ReplayEventsResult, ReplayScope, ReplaySnapshot, ReplayViewOptions, ReplayWarning, ReplayWarningCode, ReplayableAssetEvent, ViewContract, ViewEventConsumption, getRegisteredViewContractKeys, registerViewContract, registerViewContractIfMissing, replayEvents, replayView, resolveViewContract, viewContractKey } from './projections/index.js';
10
11
  export { CachedDisplayDescriptor, DisplayContext, DisplayDatabaseClient, DisplayDescriptor, DisplayRenderer, DisplayRendererRegistration, denormalizeDisplaySnapshot, registerDisplayRenderer, renderEventDisplay, resolveDisplayRenderer } from './displays/index.js';
11
12
  export { ANONYMIZATION_POLICY_VERSION, AnalyticsDataContract, AnalyticsDataContractSource, AnalyticsEligibilityDecision, AnonymizationContext, AnonymizationEngine, AnonymizationFieldMetadata, AnonymizationLifecycleEvidence, AnonymizationMetadata, AnonymizationResult, AssetEventLike, DataClassificationRule, EvidencePacketLike, FieldRedactor, PLATFORM_PRIVACY_POLICY_VERSION, PlatformDataClass, RedactionMethod, RedactionRule, RetentionRule, anonymizeAssetEventPayload, anonymizeEvidencePacket, anonymizeJsonValue, buildAnonymizationLifecycleEvidence, stableChecksum } from './privacy/index.js';
12
13
  export { EvidenceGenerationContext, EvidencePacketEnvelope, EvidencePacketReference, EvidencePacketStatus, EvidencePacketSubject, EvidenceRenderer } from './evidence/index.js';
package/dist/index.js CHANGED
@@ -1,12 +1,13 @@
1
+ export { createDeterministicIdFactory, createFakeActionContext, createInMemoryAdapterRegistry } from './chunk-IFMZPLM4.js';
1
2
  export { FABRIC_ID_PREFIXES, createFabricId, isFabricId, parseFabricId } from './chunk-RALMUSOX.js';
2
- export { createModuleRegistry, getEventTypeName, getModuleDependencyNamespace, getObjectTypeName, registerFabricModule, registerFabricModules, validateModuleNamespace } from './chunk-35DD3H55.js';
3
- export { assertObjectType, getRegisteredObjectTypes, isValidObjectType, registerObjectType } from './chunk-I35B576X.js';
3
+ export { MODULE_MANIFEST_VERSION, exportModuleManifest, exportModuleManifestBundle, isJsonSchemaExportableValidator, normalizeModuleManifest, normalizeModuleManifestBundle } from './chunk-NFP5DJBT.js';
4
+ export { createModuleRegistry, getEventTypeName, getModuleDependencyNamespace, getObjectTypeName, registerFabricModule, registerFabricModules, validateModuleNamespace } from './chunk-3JQI3OFC.js';
5
+ export { assertObjectType, assertPortableJsonSchema, getRegisteredObjectTypes, isValidObjectType, registerObjectType } from './chunk-3S6UTP4X.js';
4
6
  export { aggregatePolicyOutcomes, assertPolicyId, evaluatePolicyDefinition, evaluatePolicyDefinitions, evaluateRegisteredPolicies, getRegisteredPolicyIds, registerPolicy, registerPolicyIfMissing, resolvePolicy, validateDataPolicyDefinition, validatePolicyGuidance } from './chunk-6ER62UUN.js';
5
7
  export { ANONYMIZATION_POLICY_VERSION, AnonymizationEngine, FieldRedactor, PLATFORM_PRIVACY_POLICY_VERSION, anonymizeAssetEventPayload, anonymizeEvidencePacket, anonymizeJsonValue, buildAnonymizationLifecycleEvidence, stableChecksum } from './chunk-X7WC4AYC.js';
6
- export { replayEvents } from './chunk-JSTGOT6P.js';
8
+ export { getRegisteredViewContractKeys, registerViewContract, registerViewContractIfMissing, replayEvents, replayView, resolveViewContract, viewContractKey } from './chunk-7WASIL46.js';
7
9
  export { getAllowedTransitions, getEntityStateClass, registerStateMachine, registerStateMachineIfMissing, resolveStateMachine, validateTransition } from './chunk-T2JLSZN6.js';
8
- export { createDeterministicIdFactory, createFakeActionContext, createInMemoryAdapterRegistry } from './chunk-IFMZPLM4.js';
9
- export { ACTOR_TYPES, assertActionId, assertActorType, getRegisteredActionIds, isActorType, isRegisteredActionId, registerAction, registerActionIfMissing, resolveAction, resolveRegisteredAction } from './chunk-4SMPJPJ6.js';
10
+ export { ACTOR_TYPES, assertActionId, assertActorType, getRegisteredActionIds, isActorType, isRegisteredActionId, registerAction, registerActionIfMissing, resolveAction, resolveRegisteredAction } from './chunk-JM55UQWK.js';
10
11
  export { AdapterRegistry, MissingAdapterRegistrationError, executeWithAdapterRetry, getRetryDelayMs, resolveAdapterRetryPolicy } from './chunk-3ZW5USXF.js';
11
12
  export { AgentActionPolicyRegistry } from './chunk-OFCCZ27Z.js';
12
13
  export { denormalizeDisplaySnapshot, registerDisplayRenderer, renderEventDisplay, resolveDisplayRenderer } from './chunk-O5WVBQ7P.js';
@@ -0,0 +1,40 @@
1
+ 'use strict';
2
+
3
+ var chunkRYCHDNHZ_cjs = require('../chunk-RYCHDNHZ.cjs');
4
+ require('../chunk-ODP3DO6P.cjs');
5
+ require('../chunk-XCL2HBMB.cjs');
6
+ require('../chunk-NJL3US7H.cjs');
7
+ require('../chunk-O7IHZ53Y.cjs');
8
+ require('../chunk-UV252FLT.cjs');
9
+ require('../chunk-HLRIXNVG.cjs');
10
+ require('../chunk-EO4VSB2O.cjs');
11
+ require('../chunk-JAXDEK5Z.cjs');
12
+
13
+
14
+
15
+ Object.defineProperty(exports, "MODULE_MANIFEST_VERSION", {
16
+ enumerable: true,
17
+ get: function () { return chunkRYCHDNHZ_cjs.MODULE_MANIFEST_VERSION; }
18
+ });
19
+ Object.defineProperty(exports, "exportModuleManifest", {
20
+ enumerable: true,
21
+ get: function () { return chunkRYCHDNHZ_cjs.exportModuleManifest; }
22
+ });
23
+ Object.defineProperty(exports, "exportModuleManifestBundle", {
24
+ enumerable: true,
25
+ get: function () { return chunkRYCHDNHZ_cjs.exportModuleManifestBundle; }
26
+ });
27
+ Object.defineProperty(exports, "isJsonSchemaExportableValidator", {
28
+ enumerable: true,
29
+ get: function () { return chunkRYCHDNHZ_cjs.isJsonSchemaExportableValidator; }
30
+ });
31
+ Object.defineProperty(exports, "normalizeModuleManifest", {
32
+ enumerable: true,
33
+ get: function () { return chunkRYCHDNHZ_cjs.normalizeModuleManifest; }
34
+ });
35
+ Object.defineProperty(exports, "normalizeModuleManifestBundle", {
36
+ enumerable: true,
37
+ get: function () { return chunkRYCHDNHZ_cjs.normalizeModuleManifestBundle; }
38
+ });
39
+ //# sourceMappingURL=index.cjs.map
40
+ //# sourceMappingURL=index.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":[],"names":[],"mappings":"","file":"index.cjs"}
@@ -0,0 +1,181 @@
1
+ import { SchemaValidator, AdapterStepRetryPolicy } from '../actions/index.cjs';
2
+ import { CapabilityMetadata, ModuleDependency, ObjectRelationDefinition, DeclarativeInvariant, FabricModule } from '../modules/index.cjs';
3
+ import { PortableJsonSchema, JsonValue } from '../objects/index.cjs';
4
+ import { PolicyKind, DataPolicyDefinition, PolicyFallbackDefinition } from '../policies/index.cjs';
5
+ import { StateDefinition } from '../state-machines/index.cjs';
6
+ import '../displays/index.cjs';
7
+ import '../projections/index.cjs';
8
+
9
+ /**
10
+ * Version of the module manifest contract. Bump when the serialized shape
11
+ * changes in a way consumers must detect.
12
+ */
13
+ declare const MODULE_MANIFEST_VERSION: 2;
14
+ interface ModuleManifestObjectType {
15
+ type: string;
16
+ displayName?: string;
17
+ idPrefix?: string;
18
+ schema?: PortableJsonSchema;
19
+ semantics?: Record<string, JsonValue>;
20
+ relations?: ObjectRelationDefinition[];
21
+ invariants?: DeclarativeInvariant[];
22
+ }
23
+ interface ModuleManifestIdPrefix {
24
+ prefix: string;
25
+ name: string;
26
+ }
27
+ interface ModuleManifestEventType {
28
+ eventType: string;
29
+ schemaVersion: number;
30
+ description?: string;
31
+ }
32
+ interface ModuleManifestActionStateMachine {
33
+ entityType: string;
34
+ /** Present only when the binding declares a static target state. */
35
+ targetState?: string;
36
+ }
37
+ interface ModuleManifestAdapterStep {
38
+ adapterType: string;
39
+ operation: string;
40
+ retryPolicy?: AdapterStepRetryPolicy;
41
+ }
42
+ interface ModuleManifestAction {
43
+ actionId: string;
44
+ version: number;
45
+ kind: "atomic" | "saga";
46
+ idempotent: boolean;
47
+ mutatesDomain: boolean;
48
+ emitsEvents: string[];
49
+ policies?: string[];
50
+ requiredRoles?: string[];
51
+ requiredPermissions?: string[];
52
+ eventPhase?: "before_adapters" | "after_adapters";
53
+ /**
54
+ * JSON Schema for the action parameters, present only when the action's
55
+ * `schema` validator implements {@link JsonSchemaExportableValidator}.
56
+ */
57
+ parameterSchema?: unknown;
58
+ parameterSchemaFormat?: "json-schema";
59
+ resultSchema?: unknown;
60
+ resultSchemaFormat?: "json-schema";
61
+ stateMachine?: ModuleManifestActionStateMachine;
62
+ adapterSteps?: ModuleManifestAdapterStep[];
63
+ }
64
+ interface ModuleManifestCodePolicy {
65
+ type: "code";
66
+ policyId: string;
67
+ version: number;
68
+ previewSafe?: boolean;
69
+ }
70
+ interface ModuleManifestDataPolicy {
71
+ type: "data";
72
+ policyId: string;
73
+ policyVersion: number;
74
+ kind: PolicyKind;
75
+ dataDefinition?: DataPolicyDefinition;
76
+ codeEvaluatorPolicyId?: string;
77
+ fallback?: PolicyFallbackDefinition;
78
+ }
79
+ type ModuleManifestPolicy = ModuleManifestCodePolicy | ModuleManifestDataPolicy;
80
+ interface ModuleManifestStateMachineTransition {
81
+ from: string;
82
+ to: string;
83
+ causedByAction: string;
84
+ /** `true` when the transition declares a guard function. The guard itself is never serialized. */
85
+ hasGuard: boolean;
86
+ }
87
+ interface ModuleManifestStateMachine {
88
+ entityType: string;
89
+ /** States in declaration order (`Object.values` order of the definition record). */
90
+ states: StateDefinition[];
91
+ transitions: ModuleManifestStateMachineTransition[];
92
+ }
93
+ interface ModuleManifestView {
94
+ name: string;
95
+ version: string;
96
+ shape: PortableJsonSchema;
97
+ consumes: Array<{
98
+ eventType: string;
99
+ schemaVersions: number[];
100
+ }>;
101
+ scope: "tenant-space";
102
+ snapshotVersion: number;
103
+ compatibleSnapshotVersions?: number[];
104
+ }
105
+ /**
106
+ * Stable, JSON-serializable description of a {@link FabricModule}'s ontology:
107
+ * object types, subject types, id prefixes, event types, actions, policies,
108
+ * and state machines. Intended for downstream tooling (semantics exporters,
109
+ * docs generators, tool generators) that cannot consume live module code.
110
+ *
111
+ * The manifest contains definitions only — never raw parameter values,
112
+ * secrets, or runtime data. Function fields (`handler`, `evaluate`, `guard`,
113
+ * dynamic `targetState`, adapter `getInput`) are never serialized.
114
+ */
115
+ interface ModuleManifest {
116
+ manifestVersion: typeof MODULE_MANIFEST_VERSION;
117
+ namespace: string;
118
+ version?: string;
119
+ displayName?: string;
120
+ description?: string;
121
+ capability?: CapabilityMetadata;
122
+ dependencies: ModuleDependency[];
123
+ objectTypes: ModuleManifestObjectType[];
124
+ subjectTypes: string[];
125
+ idPrefixes: ModuleManifestIdPrefix[];
126
+ eventTypes: ModuleManifestEventType[];
127
+ actions: ModuleManifestAction[];
128
+ policies: ModuleManifestPolicy[];
129
+ stateMachines: ModuleManifestStateMachine[];
130
+ views: ModuleManifestView[];
131
+ }
132
+ interface ModuleManifestBundle {
133
+ manifestVersion: typeof MODULE_MANIFEST_VERSION;
134
+ /** Manifests in the input module order. */
135
+ modules: ModuleManifest[];
136
+ }
137
+ /** Manifest v1 remains accepted by v2 readers; missing v2 fields normalize to absence. */
138
+ type ModuleManifestObjectTypeV1 = Omit<ModuleManifestObjectType, "schema" | "semantics" | "relations" | "invariants">;
139
+ type ModuleManifestActionV1 = Omit<ModuleManifestAction, "resultSchema" | "resultSchemaFormat">;
140
+ type ModuleManifestV1 = Omit<ModuleManifest, "manifestVersion" | "objectTypes" | "actions" | "views"> & {
141
+ manifestVersion: 1;
142
+ objectTypes: ModuleManifestObjectTypeV1[];
143
+ actions: ModuleManifestActionV1[];
144
+ };
145
+ type ModuleManifestBundleV1 = Omit<ModuleManifestBundle, "manifestVersion" | "modules"> & {
146
+ manifestVersion: 1;
147
+ modules: ModuleManifestV1[];
148
+ };
149
+ declare function normalizeModuleManifest(manifest: ModuleManifest | ModuleManifestV1): ModuleManifest;
150
+ declare function normalizeModuleManifestBundle(bundle: ModuleManifestBundle | ModuleManifestBundleV1): ModuleManifestBundle;
151
+ /**
152
+ * A {@link SchemaValidator} that can also export its parameter schema as JSON
153
+ * Schema (for example a Zod 4 schema via `z.toJSONSchema`). Keeps the platform
154
+ * zero-dependency while letting schema-bearing actions flow into manifests.
155
+ */
156
+ interface JsonSchemaExportableValidator extends SchemaValidator {
157
+ toJSONSchema(): Record<string, unknown>;
158
+ }
159
+ declare function isJsonSchemaExportableValidator(schema: SchemaValidator): schema is JsonSchemaExportableValidator;
160
+ /**
161
+ * Export a stable, JSON-serializable manifest of a module's ontology.
162
+ *
163
+ * This is a pure function of the module object: it does not read or mutate the
164
+ * global module/action/policy/state-machine registries, and the module does
165
+ * not need to be registered first. Declaration order is preserved everywhere
166
+ * (nothing is sorted), so the same module object always produces a
167
+ * byte-identical `JSON.stringify` result.
168
+ *
169
+ * The manifest contains definitions only — never raw parameter values,
170
+ * secrets, or runtime data. Function fields are elided (`handler`,
171
+ * policy `evaluate`, transition `guard` → `hasGuard`, dynamic `targetState`,
172
+ * adapter `getInput`).
173
+ */
174
+ declare function exportModuleManifest(module: FabricModule<unknown>): ModuleManifest;
175
+ /**
176
+ * Export manifests for a set of modules, preserving the input order.
177
+ * Like {@link exportModuleManifest}, this is pure and registry-free.
178
+ */
179
+ declare function exportModuleManifestBundle(modules: FabricModule<unknown>[]): ModuleManifestBundle;
180
+
181
+ export { type JsonSchemaExportableValidator, MODULE_MANIFEST_VERSION, type ModuleManifest, type ModuleManifestAction, type ModuleManifestActionStateMachine, type ModuleManifestActionV1, type ModuleManifestAdapterStep, type ModuleManifestBundle, type ModuleManifestBundleV1, type ModuleManifestCodePolicy, type ModuleManifestDataPolicy, type ModuleManifestEventType, type ModuleManifestIdPrefix, type ModuleManifestObjectType, type ModuleManifestObjectTypeV1, type ModuleManifestPolicy, type ModuleManifestStateMachine, type ModuleManifestStateMachineTransition, type ModuleManifestV1, type ModuleManifestView, exportModuleManifest, exportModuleManifestBundle, isJsonSchemaExportableValidator, normalizeModuleManifest, normalizeModuleManifestBundle };
@@ -0,0 +1,181 @@
1
+ import { SchemaValidator, AdapterStepRetryPolicy } from '../actions/index.js';
2
+ import { CapabilityMetadata, ModuleDependency, ObjectRelationDefinition, DeclarativeInvariant, FabricModule } from '../modules/index.js';
3
+ import { PortableJsonSchema, JsonValue } from '../objects/index.js';
4
+ import { PolicyKind, DataPolicyDefinition, PolicyFallbackDefinition } from '../policies/index.js';
5
+ import { StateDefinition } from '../state-machines/index.js';
6
+ import '../displays/index.js';
7
+ import '../projections/index.js';
8
+
9
+ /**
10
+ * Version of the module manifest contract. Bump when the serialized shape
11
+ * changes in a way consumers must detect.
12
+ */
13
+ declare const MODULE_MANIFEST_VERSION: 2;
14
+ interface ModuleManifestObjectType {
15
+ type: string;
16
+ displayName?: string;
17
+ idPrefix?: string;
18
+ schema?: PortableJsonSchema;
19
+ semantics?: Record<string, JsonValue>;
20
+ relations?: ObjectRelationDefinition[];
21
+ invariants?: DeclarativeInvariant[];
22
+ }
23
+ interface ModuleManifestIdPrefix {
24
+ prefix: string;
25
+ name: string;
26
+ }
27
+ interface ModuleManifestEventType {
28
+ eventType: string;
29
+ schemaVersion: number;
30
+ description?: string;
31
+ }
32
+ interface ModuleManifestActionStateMachine {
33
+ entityType: string;
34
+ /** Present only when the binding declares a static target state. */
35
+ targetState?: string;
36
+ }
37
+ interface ModuleManifestAdapterStep {
38
+ adapterType: string;
39
+ operation: string;
40
+ retryPolicy?: AdapterStepRetryPolicy;
41
+ }
42
+ interface ModuleManifestAction {
43
+ actionId: string;
44
+ version: number;
45
+ kind: "atomic" | "saga";
46
+ idempotent: boolean;
47
+ mutatesDomain: boolean;
48
+ emitsEvents: string[];
49
+ policies?: string[];
50
+ requiredRoles?: string[];
51
+ requiredPermissions?: string[];
52
+ eventPhase?: "before_adapters" | "after_adapters";
53
+ /**
54
+ * JSON Schema for the action parameters, present only when the action's
55
+ * `schema` validator implements {@link JsonSchemaExportableValidator}.
56
+ */
57
+ parameterSchema?: unknown;
58
+ parameterSchemaFormat?: "json-schema";
59
+ resultSchema?: unknown;
60
+ resultSchemaFormat?: "json-schema";
61
+ stateMachine?: ModuleManifestActionStateMachine;
62
+ adapterSteps?: ModuleManifestAdapterStep[];
63
+ }
64
+ interface ModuleManifestCodePolicy {
65
+ type: "code";
66
+ policyId: string;
67
+ version: number;
68
+ previewSafe?: boolean;
69
+ }
70
+ interface ModuleManifestDataPolicy {
71
+ type: "data";
72
+ policyId: string;
73
+ policyVersion: number;
74
+ kind: PolicyKind;
75
+ dataDefinition?: DataPolicyDefinition;
76
+ codeEvaluatorPolicyId?: string;
77
+ fallback?: PolicyFallbackDefinition;
78
+ }
79
+ type ModuleManifestPolicy = ModuleManifestCodePolicy | ModuleManifestDataPolicy;
80
+ interface ModuleManifestStateMachineTransition {
81
+ from: string;
82
+ to: string;
83
+ causedByAction: string;
84
+ /** `true` when the transition declares a guard function. The guard itself is never serialized. */
85
+ hasGuard: boolean;
86
+ }
87
+ interface ModuleManifestStateMachine {
88
+ entityType: string;
89
+ /** States in declaration order (`Object.values` order of the definition record). */
90
+ states: StateDefinition[];
91
+ transitions: ModuleManifestStateMachineTransition[];
92
+ }
93
+ interface ModuleManifestView {
94
+ name: string;
95
+ version: string;
96
+ shape: PortableJsonSchema;
97
+ consumes: Array<{
98
+ eventType: string;
99
+ schemaVersions: number[];
100
+ }>;
101
+ scope: "tenant-space";
102
+ snapshotVersion: number;
103
+ compatibleSnapshotVersions?: number[];
104
+ }
105
+ /**
106
+ * Stable, JSON-serializable description of a {@link FabricModule}'s ontology:
107
+ * object types, subject types, id prefixes, event types, actions, policies,
108
+ * and state machines. Intended for downstream tooling (semantics exporters,
109
+ * docs generators, tool generators) that cannot consume live module code.
110
+ *
111
+ * The manifest contains definitions only — never raw parameter values,
112
+ * secrets, or runtime data. Function fields (`handler`, `evaluate`, `guard`,
113
+ * dynamic `targetState`, adapter `getInput`) are never serialized.
114
+ */
115
+ interface ModuleManifest {
116
+ manifestVersion: typeof MODULE_MANIFEST_VERSION;
117
+ namespace: string;
118
+ version?: string;
119
+ displayName?: string;
120
+ description?: string;
121
+ capability?: CapabilityMetadata;
122
+ dependencies: ModuleDependency[];
123
+ objectTypes: ModuleManifestObjectType[];
124
+ subjectTypes: string[];
125
+ idPrefixes: ModuleManifestIdPrefix[];
126
+ eventTypes: ModuleManifestEventType[];
127
+ actions: ModuleManifestAction[];
128
+ policies: ModuleManifestPolicy[];
129
+ stateMachines: ModuleManifestStateMachine[];
130
+ views: ModuleManifestView[];
131
+ }
132
+ interface ModuleManifestBundle {
133
+ manifestVersion: typeof MODULE_MANIFEST_VERSION;
134
+ /** Manifests in the input module order. */
135
+ modules: ModuleManifest[];
136
+ }
137
+ /** Manifest v1 remains accepted by v2 readers; missing v2 fields normalize to absence. */
138
+ type ModuleManifestObjectTypeV1 = Omit<ModuleManifestObjectType, "schema" | "semantics" | "relations" | "invariants">;
139
+ type ModuleManifestActionV1 = Omit<ModuleManifestAction, "resultSchema" | "resultSchemaFormat">;
140
+ type ModuleManifestV1 = Omit<ModuleManifest, "manifestVersion" | "objectTypes" | "actions" | "views"> & {
141
+ manifestVersion: 1;
142
+ objectTypes: ModuleManifestObjectTypeV1[];
143
+ actions: ModuleManifestActionV1[];
144
+ };
145
+ type ModuleManifestBundleV1 = Omit<ModuleManifestBundle, "manifestVersion" | "modules"> & {
146
+ manifestVersion: 1;
147
+ modules: ModuleManifestV1[];
148
+ };
149
+ declare function normalizeModuleManifest(manifest: ModuleManifest | ModuleManifestV1): ModuleManifest;
150
+ declare function normalizeModuleManifestBundle(bundle: ModuleManifestBundle | ModuleManifestBundleV1): ModuleManifestBundle;
151
+ /**
152
+ * A {@link SchemaValidator} that can also export its parameter schema as JSON
153
+ * Schema (for example a Zod 4 schema via `z.toJSONSchema`). Keeps the platform
154
+ * zero-dependency while letting schema-bearing actions flow into manifests.
155
+ */
156
+ interface JsonSchemaExportableValidator extends SchemaValidator {
157
+ toJSONSchema(): Record<string, unknown>;
158
+ }
159
+ declare function isJsonSchemaExportableValidator(schema: SchemaValidator): schema is JsonSchemaExportableValidator;
160
+ /**
161
+ * Export a stable, JSON-serializable manifest of a module's ontology.
162
+ *
163
+ * This is a pure function of the module object: it does not read or mutate the
164
+ * global module/action/policy/state-machine registries, and the module does
165
+ * not need to be registered first. Declaration order is preserved everywhere
166
+ * (nothing is sorted), so the same module object always produces a
167
+ * byte-identical `JSON.stringify` result.
168
+ *
169
+ * The manifest contains definitions only — never raw parameter values,
170
+ * secrets, or runtime data. Function fields are elided (`handler`,
171
+ * policy `evaluate`, transition `guard` → `hasGuard`, dynamic `targetState`,
172
+ * adapter `getInput`).
173
+ */
174
+ declare function exportModuleManifest(module: FabricModule<unknown>): ModuleManifest;
175
+ /**
176
+ * Export manifests for a set of modules, preserving the input order.
177
+ * Like {@link exportModuleManifest}, this is pure and registry-free.
178
+ */
179
+ declare function exportModuleManifestBundle(modules: FabricModule<unknown>[]): ModuleManifestBundle;
180
+
181
+ export { type JsonSchemaExportableValidator, MODULE_MANIFEST_VERSION, type ModuleManifest, type ModuleManifestAction, type ModuleManifestActionStateMachine, type ModuleManifestActionV1, type ModuleManifestAdapterStep, type ModuleManifestBundle, type ModuleManifestBundleV1, type ModuleManifestCodePolicy, type ModuleManifestDataPolicy, type ModuleManifestEventType, type ModuleManifestIdPrefix, type ModuleManifestObjectType, type ModuleManifestObjectTypeV1, type ModuleManifestPolicy, type ModuleManifestStateMachine, type ModuleManifestStateMachineTransition, type ModuleManifestV1, type ModuleManifestView, exportModuleManifest, exportModuleManifestBundle, isJsonSchemaExportableValidator, normalizeModuleManifest, normalizeModuleManifestBundle };
@@ -0,0 +1,11 @@
1
+ export { MODULE_MANIFEST_VERSION, exportModuleManifest, exportModuleManifestBundle, isJsonSchemaExportableValidator, normalizeModuleManifest, normalizeModuleManifestBundle } from '../chunk-NFP5DJBT.js';
2
+ import '../chunk-3JQI3OFC.js';
3
+ import '../chunk-3S6UTP4X.js';
4
+ import '../chunk-6ER62UUN.js';
5
+ import '../chunk-7WASIL46.js';
6
+ import '../chunk-T2JLSZN6.js';
7
+ import '../chunk-JM55UQWK.js';
8
+ import '../chunk-O5WVBQ7P.js';
9
+ import '../chunk-4YQOGV7H.js';
10
+ //# sourceMappingURL=index.js.map
11
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":[],"names":[],"mappings":"","file":"index.js"}
@@ -1,10 +1,11 @@
1
1
  'use strict';
2
2
 
3
- var chunkSSYKDXR4_cjs = require('../chunk-SSYKDXR4.cjs');
4
- require('../chunk-QETQGAXJ.cjs');
3
+ var chunkODP3DO6P_cjs = require('../chunk-ODP3DO6P.cjs');
4
+ require('../chunk-XCL2HBMB.cjs');
5
5
  require('../chunk-NJL3US7H.cjs');
6
+ require('../chunk-O7IHZ53Y.cjs');
6
7
  require('../chunk-UV252FLT.cjs');
7
- require('../chunk-BWNPGRRV.cjs');
8
+ require('../chunk-HLRIXNVG.cjs');
8
9
  require('../chunk-EO4VSB2O.cjs');
9
10
  require('../chunk-JAXDEK5Z.cjs');
10
11
 
@@ -12,31 +13,31 @@ require('../chunk-JAXDEK5Z.cjs');
12
13
 
13
14
  Object.defineProperty(exports, "createModuleRegistry", {
14
15
  enumerable: true,
15
- get: function () { return chunkSSYKDXR4_cjs.createModuleRegistry; }
16
+ get: function () { return chunkODP3DO6P_cjs.createModuleRegistry; }
16
17
  });
17
18
  Object.defineProperty(exports, "getEventTypeName", {
18
19
  enumerable: true,
19
- get: function () { return chunkSSYKDXR4_cjs.getEventTypeName; }
20
+ get: function () { return chunkODP3DO6P_cjs.getEventTypeName; }
20
21
  });
21
22
  Object.defineProperty(exports, "getModuleDependencyNamespace", {
22
23
  enumerable: true,
23
- get: function () { return chunkSSYKDXR4_cjs.getModuleDependencyNamespace; }
24
+ get: function () { return chunkODP3DO6P_cjs.getModuleDependencyNamespace; }
24
25
  });
25
26
  Object.defineProperty(exports, "getObjectTypeName", {
26
27
  enumerable: true,
27
- get: function () { return chunkSSYKDXR4_cjs.getObjectTypeName; }
28
+ get: function () { return chunkODP3DO6P_cjs.getObjectTypeName; }
28
29
  });
29
30
  Object.defineProperty(exports, "registerFabricModule", {
30
31
  enumerable: true,
31
- get: function () { return chunkSSYKDXR4_cjs.registerFabricModule; }
32
+ get: function () { return chunkODP3DO6P_cjs.registerFabricModule; }
32
33
  });
33
34
  Object.defineProperty(exports, "registerFabricModules", {
34
35
  enumerable: true,
35
- get: function () { return chunkSSYKDXR4_cjs.registerFabricModules; }
36
+ get: function () { return chunkODP3DO6P_cjs.registerFabricModules; }
36
37
  });
37
38
  Object.defineProperty(exports, "validateModuleNamespace", {
38
39
  enumerable: true,
39
- get: function () { return chunkSSYKDXR4_cjs.validateModuleNamespace; }
40
+ get: function () { return chunkODP3DO6P_cjs.validateModuleNamespace; }
40
41
  });
41
42
  //# sourceMappingURL=index.cjs.map
42
43
  //# sourceMappingURL=index.cjs.map
@@ -1,5 +1,7 @@
1
1
  import { ActionDefinition } from '../actions/index.cjs';
2
2
  import { DisplayRenderer } from '../displays/index.cjs';
3
+ import { PortableJsonSchema, JsonValue } from '../objects/index.cjs';
4
+ import { ViewContract } from '../projections/index.cjs';
3
5
 
4
6
  interface ModuleDependency {
5
7
  namespace: string;
@@ -23,6 +25,29 @@ interface ObjectTypeRegistration {
23
25
  displayName?: string;
24
26
  idPrefix?: string;
25
27
  isCoreModuleType?: boolean;
28
+ schema?: PortableJsonSchema;
29
+ semantics?: Record<string, JsonValue>;
30
+ relations?: ObjectRelationDefinition[];
31
+ invariants?: DeclarativeInvariant[];
32
+ }
33
+ type ObjectRelationCardinality = "one" | "many";
34
+ type ObjectRelationSemantics = "reference" | "owned";
35
+ type ObjectRelationDeleteBehavior = "restrict" | "cascade" | "set-null";
36
+ interface ObjectRelationDefinition {
37
+ name: string;
38
+ target: `${string}.${string}`;
39
+ cardinality: ObjectRelationCardinality;
40
+ required?: boolean;
41
+ semantics: ObjectRelationSemantics;
42
+ onTargetDelete: ObjectRelationDeleteBehavior;
43
+ }
44
+ type InvariantEnforcement = "json-schema" | "state-machine" | "policy" | "host-adapter" | "application";
45
+ interface DeclarativeInvariant {
46
+ id: string;
47
+ description: string;
48
+ required?: boolean;
49
+ enforcement: InvariantEnforcement;
50
+ enforcementRef?: string;
26
51
  }
27
52
  type ObjectTypeRegistrationInput = string | ObjectTypeRegistration;
28
53
  interface ModuleDisplayRendererRegistration {
@@ -38,11 +63,33 @@ interface StateMachineRegistration {
38
63
  entityType: string;
39
64
  states: string[];
40
65
  }
66
+ interface CapabilitySlotDefinition {
67
+ name: string;
68
+ description: string;
69
+ shape?: PortableJsonSchema;
70
+ }
71
+ interface CapabilityMetadata {
72
+ displayName: string;
73
+ description: string;
74
+ roles?: string[];
75
+ stability: "experimental" | "beta" | "stable" | "deprecated";
76
+ deprecated?: {
77
+ since: string;
78
+ replacement?: string;
79
+ message: string;
80
+ };
81
+ slots?: CapabilitySlotDefinition[];
82
+ certification?: {
83
+ profile: string;
84
+ required: boolean;
85
+ };
86
+ }
41
87
  interface FabricModule<TDb = unknown> {
42
88
  namespace: string;
43
89
  version?: string;
44
90
  displayName?: string;
45
91
  description?: string;
92
+ capability?: CapabilityMetadata;
46
93
  dependencies?: ModuleDependencyInput[];
47
94
  objectTypes?: ObjectTypeRegistrationInput[];
48
95
  subjectTypes?: string[];
@@ -59,6 +106,7 @@ interface FabricModule<TDb = unknown> {
59
106
  dataClassifications?: unknown[];
60
107
  retentionRules?: unknown[];
61
108
  evidenceRenderers?: unknown[];
109
+ views?: ViewContract[];
62
110
  }
63
111
  interface ModuleRegistry<TDb = unknown> {
64
112
  modules: ReadonlyMap<string, FabricModule<TDb>>;
@@ -71,4 +119,4 @@ declare function createModuleRegistry<TDb = unknown>(modules?: FabricModule<TDb>
71
119
  declare function registerFabricModule(module: FabricModule<unknown>): void;
72
120
  declare function registerFabricModules(modules: FabricModule<unknown>[]): FabricModule<unknown>[];
73
121
 
74
- export { type EventTypeRegistration, type EventTypeRegistrationInput, type FabricModule, type IdPrefixRegistration, type ModuleDependency, type ModuleDependencyInput, type ModuleDisplayRendererRegistration, type ModuleRegistry, type ObjectTypeRegistration, type ObjectTypeRegistrationInput, type PolicyRegistration, type StateMachineRegistration, createModuleRegistry, getEventTypeName, getModuleDependencyNamespace, getObjectTypeName, registerFabricModule, registerFabricModules, validateModuleNamespace };
122
+ export { type CapabilityMetadata, type CapabilitySlotDefinition, type DeclarativeInvariant, type EventTypeRegistration, type EventTypeRegistrationInput, type FabricModule, type IdPrefixRegistration, type InvariantEnforcement, type ModuleDependency, type ModuleDependencyInput, type ModuleDisplayRendererRegistration, type ModuleRegistry, type ObjectRelationCardinality, type ObjectRelationDefinition, type ObjectRelationDeleteBehavior, type ObjectRelationSemantics, type ObjectTypeRegistration, type ObjectTypeRegistrationInput, type PolicyRegistration, type StateMachineRegistration, createModuleRegistry, getEventTypeName, getModuleDependencyNamespace, getObjectTypeName, registerFabricModule, registerFabricModules, validateModuleNamespace };