@plures/praxis 1.4.0 → 2.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (72) hide show
  1. package/dist/browser/{chunk-N63K4KWS.js → chunk-4IRUGWR3.js} +1 -1
  2. package/dist/browser/chunk-6MVRT7CK.js +363 -0
  3. package/dist/browser/chunk-6SJ44Q64.js +473 -0
  4. package/dist/browser/chunk-BQOYZBWA.js +282 -0
  5. package/dist/browser/chunk-IG5BJ2MT.js +91 -0
  6. package/dist/browser/{chunk-MJK3IYTJ.js → chunk-JZDJU2DO.js} +4 -84
  7. package/dist/browser/chunk-ZEW4LJAJ.js +353 -0
  8. package/dist/browser/{engine-YIEGSX7U.js → engine-3B5WJPGT.js} +2 -1
  9. package/dist/browser/expectations/index.d.ts +180 -0
  10. package/dist/browser/expectations/index.js +14 -0
  11. package/dist/browser/factory/index.d.ts +150 -0
  12. package/dist/browser/factory/index.js +15 -0
  13. package/dist/browser/index.d.ts +277 -3
  14. package/dist/browser/index.js +425 -60
  15. package/dist/browser/integrations/svelte.d.ts +4 -2
  16. package/dist/browser/integrations/svelte.js +3 -2
  17. package/dist/browser/project/index.d.ts +177 -0
  18. package/dist/browser/project/index.js +19 -0
  19. package/dist/browser/reactive-engine.svelte-BwWadvAW.d.ts +224 -0
  20. package/dist/browser/rule-result-DcXWe9tn.d.ts +206 -0
  21. package/dist/browser/rules-BaWMqxuG.d.ts +277 -0
  22. package/dist/browser/unified/index.d.ts +239 -0
  23. package/dist/browser/unified/index.js +20 -0
  24. package/dist/node/chunk-6MVRT7CK.js +363 -0
  25. package/dist/node/chunk-AZLNISFI.js +1690 -0
  26. package/dist/node/chunk-IG5BJ2MT.js +91 -0
  27. package/dist/node/{chunk-KMJWAFZV.js → chunk-JZDJU2DO.js} +4 -89
  28. package/dist/node/{chunk-7M3HV4XR.js → chunk-WFRHXZBP.js} +3 -3
  29. package/dist/node/cli/index.cjs +48 -0
  30. package/dist/node/cli/index.js +2 -2
  31. package/dist/node/{engine-FEN5IYZ5.js → engine-VFHCIEM4.js} +2 -1
  32. package/dist/node/index.cjs +2114 -0
  33. package/dist/node/index.d.cts +964 -280
  34. package/dist/node/index.d.ts +964 -280
  35. package/dist/node/index.js +575 -10
  36. package/dist/node/integrations/svelte.d.cts +3 -2
  37. package/dist/node/integrations/svelte.d.ts +3 -2
  38. package/dist/node/integrations/svelte.js +3 -2
  39. package/dist/node/{reactive-engine.svelte-DekxqFu0.d.ts → reactive-engine.svelte-BBZLMzus.d.ts} +3 -79
  40. package/dist/node/{reactive-engine.svelte-Cg0Yc2Hs.d.cts → reactive-engine.svelte-Cbq_V20o.d.cts} +3 -79
  41. package/dist/node/rule-result-B9GMivAn.d.cts +80 -0
  42. package/dist/node/rule-result-Bo3sFMmN.d.ts +80 -0
  43. package/dist/node/{server-SYZPDULV.js → server-FKLVY57V.js} +4 -2
  44. package/dist/node/unified/index.cjs +484 -0
  45. package/dist/node/unified/index.d.cts +240 -0
  46. package/dist/node/unified/index.d.ts +240 -0
  47. package/dist/node/unified/index.js +21 -0
  48. package/dist/node/{validate-TQGVIG7G.js → validate-BY7JNY7H.js} +2 -1
  49. package/package.json +38 -11
  50. package/src/__tests__/chronos-project.test.ts +799 -0
  51. package/src/__tests__/decision-ledger.test.ts +857 -402
  52. package/src/chronos/diff.ts +336 -0
  53. package/src/chronos/hooks.ts +227 -0
  54. package/src/chronos/index.ts +83 -0
  55. package/src/chronos/project-chronicle.ts +198 -0
  56. package/src/chronos/timeline.ts +152 -0
  57. package/src/decision-ledger/analyzer-types.ts +280 -0
  58. package/src/decision-ledger/analyzer.ts +518 -0
  59. package/src/decision-ledger/contract-verification.ts +456 -0
  60. package/src/decision-ledger/derivation.ts +158 -0
  61. package/src/decision-ledger/index.ts +59 -0
  62. package/src/decision-ledger/report.ts +378 -0
  63. package/src/decision-ledger/suggestions.ts +287 -0
  64. package/src/index.browser.ts +103 -0
  65. package/src/index.ts +98 -0
  66. package/src/unified/__tests__/unified.test.ts +396 -0
  67. package/src/unified/core.ts +517 -0
  68. package/src/unified/index.ts +32 -0
  69. package/src/unified/rules.ts +66 -0
  70. package/src/unified/types.ts +148 -0
  71. package/dist/browser/reactive-engine.svelte-DjynI82A.d.ts +0 -688
  72. package/dist/node/chunk-FWOXU4MM.js +0 -487
@@ -0,0 +1,15 @@
1
+ import {
2
+ dataRules,
3
+ formRules,
4
+ inputRules,
5
+ navigationRules,
6
+ toastRules
7
+ } from "../chunk-6SJ44Q64.js";
8
+ import "../chunk-IG5BJ2MT.js";
9
+ export {
10
+ dataRules,
11
+ formRules,
12
+ inputRules,
13
+ navigationRules,
14
+ toastRules
15
+ };
@@ -1,6 +1,14 @@
1
- import { L as LogicEngine, P as PraxisState, a as PraxisEvent, b as PraxisRegistry, R as RuleDescriptor, C as ConstraintDescriptor, c as ConstraintFn, d as Contract, e as RuleFn, f as PraxisFact, g as PraxisModule } from './reactive-engine.svelte-DjynI82A.js';
2
- export { h as ConstraintId, i as PRAXIS_PROTOCOL_VERSION, j as PraxisDiagnostics, k as PraxisEngineOptions, l as PraxisStepConfig, m as PraxisStepFn, n as PraxisStepResult, o as ReactiveEngineOptions, p as ReactiveLogicEngine, q as RuleId, r as createPraxisEngine, s as createReactiveEngine } from './reactive-engine.svelte-DjynI82A.js';
1
+ import { P as PraxisState, a as PraxisEvent, b as PraxisFact } from './rule-result-DcXWe9tn.js';
2
+ export { f as PRAXIS_PROTOCOL_VERSION, e as PraxisDiagnostics, d as PraxisStepConfig, g as PraxisStepFn, c as PraxisStepResult, R as RuleResult, T as TypedRuleFn, h as fact } from './rule-result-DcXWe9tn.js';
3
+ import { P as PraxisRegistry, R as RuleDescriptor, C as ConstraintDescriptor, a as ConstraintFn, b as Contract, c as RuleFn, d as PraxisModule } from './rules-BaWMqxuG.js';
4
+ export { e as ConstraintId, f as RuleId } from './rules-BaWMqxuG.js';
5
+ import { L as LogicEngine } from './reactive-engine.svelte-BwWadvAW.js';
6
+ export { P as PraxisEngineOptions, R as ReactiveEngineOptions, a as ReactiveLogicEngine, b as createPraxisEngine, c as createReactiveEngine } from './reactive-engine.svelte-BwWadvAW.js';
3
7
  import { LocalFirstOptions } from '@plures/pluresdb/local-first';
8
+ export { ConditionResult, ConditionStatus, Expectation, ExpectationCondition, ExpectationResult, ExpectationSet, ExpectationSetOptions, VerifiableDescriptor, VerifiableRegistry, VerificationReport, expectBehavior, formatVerificationReport, verify } from './expectations/index.js';
9
+ export { DataRulesConfig, FormRulesConfig, InputRulesConfig, NavigationRulesConfig, SanitizationType, ToastRulesConfig, dataRules, formRules, inputRules, navigationRules, toastRules } from './factory/index.js';
10
+ export { BranchRulesConfig, GateConfig, GateState, GateStatus, PraxisDiff, PredefinedGateConfig, SemverContractConfig, SemverReport, branchRules, commitFromState, defineGate, expectationGate, formatGate, lintGate, semverContract } from './project/index.js';
11
+ export { LivenessConfig, MutationResult, PathSchema, PraxisApp, PraxisAppConfig, QueryOptions, ReactiveRef, UnifiedConstraint, UnifiedRule, createApp, definePath, defineConstraint as defineUnifiedConstraint, defineModule as defineUnifiedModule, defineRule as defineUnifiedRule } from './unified/index.js';
4
12
 
5
13
  /**
6
14
  * Praxis Reactive Logic Engine
@@ -3419,4 +3427,270 @@ declare function attachAllIntegrations<TContext = unknown>(engine: LogicEngine<T
3419
3427
  dispose: () => void;
3420
3428
  }>;
3421
3429
 
3422
- export { type ActivityState, type Actor, ActorManager, type CanvasDocument, type CanvasEdge, type CanvasEdgeStyle, type CanvasEditorConfig, type CanvasNode, type CanvasNodeStyle, type ComponentDefinition, ConstraintDescriptor, ConstraintFn, type ConstraintNode, type ConstraintSchema, type DefineConstraintOptions, type DefineModuleOptions, type DefineRuleOptions, type EventDefinition$1 as EventDefinition, type EventStreamEntry, type FactDefinition$1 as FactDefinition, ReactiveLogicEngine as FrameworkAgnosticReactiveEngine, type ReactiveEngineOptions as FrameworkAgnosticReactiveEngineOptions, type GeneratedDoc, type GeneratedPluresDBFile, type GraphEdge, type GuardianError, type GuardianResult, type GuardianWarning, InMemoryPraxisDB, type LifecycleState, type LoaderOptions, type LoaderResult, type LogicDefinition, LogicEngine, type ModelDefinition, type NodeBindings, type NodeDefinition, type OrchestrationDefinition, PRAXIS_PATHS, type PluresDBAdapter, type PluresDBAdapterConfig, type PluresDBAdapterOptions, PluresDBGenerator, type PluresDBGeneratorOptions, type PluresDBInstance, PluresDBPraxisAdapter, type PraxisDB, PraxisDBStore, type PraxisDBStoreOptions, PraxisEvent, PraxisFact, type PraxisLocalFirstOptions, PraxisModule, PraxisRegistry, type PraxisSchema, PraxisSchemaRegistry, PraxisState, type RegistryGraph, RegistryIntrospector, type RegistrySchema, type RegistryStats, RuleDescriptor, RuleFn, type RuleNode, type RuleSchema, type StateChangeCallback, type StateDoc, type StateDocsConfig, StateDocsGenerator, type StateMachineDoc, type StoredSchema, type TauriAppConfig, type TauriBridge, type TauriCommand, type TauriEvent, type TauriFS, type TauriFileEntry, type TauriMenuItem, type TauriNotification, type TauriNotificationOptions, type TauriPlugin, type TauriPraxisAdapter, type TauriSecurityConfig, type TauriTray, type TauriUpdateConfig, type TauriUpdateInfo, type TauriWindowConfig, type TerminalNodeProps, type TransitionDoc, type UnifiedApp, type UnifiedAppConfig, type UnsubscribeFn, type UnumAdapter, type UnumAdapterConfig, type UnumChannel, type UnumIdentity, type UnumMessage, type UnumStore, type ValidationError, type ValidationResult, attachAllIntegrations, attachTauriToEngine, attachToEngine, attachUnumToEngine, canvasToMermaid, canvasToSchema, canvasToYaml, createCanvasEditor, createReactiveEngine as createFrameworkAgnosticReactiveEngine, createInMemoryDB, createIntrospector, createMockTauriBridge, createPluresDB, createPluresDBAdapter, createPluresDBGenerator, createPraxisDBStore, createPraxisLocalFirst, createSchema, createSchemaRegistry, createSchemaTemplate, createStateDocsGenerator, createTauriPraxisAdapter, createTimerActor, createUnifiedApp, createUnumAdapter, defineConstraint, defineEvent, defineFact, defineModule, defineRule, filterEvents, filterFacts, findEvent, findFact, generateDocs, generateId, generateTauriConfig, getEventPath, getFactPath, getSchemaPath, loadSchemaFromJson, loadSchemaFromYaml, registerSchema, schemaToCanvas, validateForGeneration, validateSchema, validateWithGuardian };
3430
+ /**
3431
+ * Praxis UI Rules
3432
+ *
3433
+ * Lightweight, predefined UI-specific rules and constraints.
3434
+ * These govern UI behavior without muddying business logic rules.
3435
+ *
3436
+ * UI rules are separated from domain rules by convention:
3437
+ * - Domain rules: business decisions, data invariants, workflow logic
3438
+ * - UI rules: visibility, loading states, error display, navigation guards
3439
+ *
3440
+ * Ship predefined rules that apps can opt into. Every `if` in the UI
3441
+ * can be governed by Praxis — business rules stay clean, UI rules stay separate.
3442
+ */
3443
+
3444
+ /**
3445
+ * Standard UI state fields that UI rules can read from context.
3446
+ * Apps extend their context with these fields to enable UI rules.
3447
+ */
3448
+ interface UIContext {
3449
+ /** Whether the app is currently loading data */
3450
+ loading?: boolean;
3451
+ /** Current error message, if any */
3452
+ error?: string | null;
3453
+ /** Whether the app is in offline mode */
3454
+ offline?: boolean;
3455
+ /** Whether there are unsaved changes */
3456
+ dirty?: boolean;
3457
+ /** Current route/view name */
3458
+ route?: string;
3459
+ /** Whether the app has completed initialization */
3460
+ initialized?: boolean;
3461
+ /** Screen width category: 'mobile' | 'tablet' | 'desktop' */
3462
+ viewport?: 'mobile' | 'tablet' | 'desktop';
3463
+ /** Whether a modal/dialog is currently open */
3464
+ modalOpen?: boolean;
3465
+ /** Active panel/tab name */
3466
+ activePanel?: string | null;
3467
+ }
3468
+ /**
3469
+ * Loading gate: emits ui.loading-gate when data is loading.
3470
+ * UI components can subscribe to this fact to show loading indicators.
3471
+ */
3472
+ declare const loadingGateRule: RuleDescriptor<UIContext>;
3473
+ /**
3474
+ * Error display: emits ui.error-display with the error message.
3475
+ * Retracts when error clears.
3476
+ */
3477
+ declare const errorDisplayRule: RuleDescriptor<UIContext>;
3478
+ /**
3479
+ * Offline indicator: emits ui.offline-indicator when the app detects offline state.
3480
+ */
3481
+ declare const offlineIndicatorRule: RuleDescriptor<UIContext>;
3482
+ /**
3483
+ * Dirty guard: emits ui.unsaved-warning when there are unsaved changes.
3484
+ * Can be used to block navigation or show save prompts.
3485
+ */
3486
+ declare const dirtyGuardRule: RuleDescriptor<UIContext>;
3487
+ /**
3488
+ * Init gate: blocks UI interactions until app is initialized.
3489
+ */
3490
+ declare const initGateRule: RuleDescriptor<UIContext>;
3491
+ /**
3492
+ * Viewport-responsive: emits ui.viewport-class based on screen size.
3493
+ */
3494
+ declare const viewportRule: RuleDescriptor<UIContext>;
3495
+ /**
3496
+ * No interaction while loading: constraint that fails if actions are taken during loading.
3497
+ */
3498
+ declare const noInteractionWhileLoadingConstraint: ConstraintDescriptor<UIContext>;
3499
+ /**
3500
+ * Must be initialized: constraint that fails if app hasn't completed init.
3501
+ */
3502
+ declare const mustBeInitializedConstraint: ConstraintDescriptor<UIContext>;
3503
+ /**
3504
+ * The complete UI rules module.
3505
+ * Register this to get all predefined UI rules and constraints.
3506
+ *
3507
+ * @example
3508
+ * import { uiModule } from '@plures/praxis';
3509
+ * registry.registerModule(uiModule);
3510
+ */
3511
+ declare const uiModule: PraxisModule<UIContext>;
3512
+ /**
3513
+ * Create a customized UI module with only the rules you need.
3514
+ *
3515
+ * @example
3516
+ * const myUI = createUIModule({
3517
+ * rules: ['ui/loading-gate', 'ui/dirty-guard'],
3518
+ * constraints: ['ui/must-be-initialized'],
3519
+ * });
3520
+ * registry.registerModule(myUI);
3521
+ */
3522
+ declare function createUIModule<TContext extends UIContext>(options: {
3523
+ rules?: string[];
3524
+ constraints?: string[];
3525
+ extraRules?: RuleDescriptor<TContext>[];
3526
+ extraConstraints?: ConstraintDescriptor<TContext>[];
3527
+ }): PraxisModule<TContext>;
3528
+ /**
3529
+ * Create a UI state change event. Fire this when UIContext fields change.
3530
+ */
3531
+ declare function uiStateChanged(changes?: Record<string, unknown>): PraxisEvent;
3532
+ /**
3533
+ * Create a navigation request event. Used with dirty guard.
3534
+ */
3535
+ declare function navigationRequest(to: string): PraxisEvent;
3536
+ /**
3537
+ * Create a resize event. Used with viewport rule.
3538
+ */
3539
+ declare function resizeEvent(width: number, height: number): PraxisEvent;
3540
+
3541
+ /**
3542
+ * @plures/praxis — Completeness Analysis
3543
+ *
3544
+ * This module provides tools to measure and enforce "Praxis Completeness" —
3545
+ * the degree to which an application's logic is expressed through Praxis
3546
+ * rules, constraints, and contracts rather than scattered conditionals.
3547
+ *
3548
+ * ## Definition: Praxis Logic Completeness
3549
+ *
3550
+ * An application is "Praxis Complete" when:
3551
+ *
3552
+ * 1. **DOMAIN RULES (100%)** — Every business decision that produces user-visible
3553
+ * behavior change is expressed as a Praxis rule. "If the sprint is behind pace,
3554
+ * show a warning" is domain logic. It belongs in Praxis.
3555
+ *
3556
+ * 2. **INVARIANTS (100%)** — Every data validity assertion is a Praxis constraint.
3557
+ * "Sprint hours must not exceed 80" is an invariant. It belongs in Praxis.
3558
+ *
3559
+ * 3. **CONTRACTS (>80%)** — Rules that encode non-obvious behavior have contracts
3560
+ * (behavior description + examples + invariants). Contracts are documentation
3561
+ * AND test vectors — they prove the tool isn't the bug.
3562
+ *
3563
+ * 4. **CONTEXT COVERAGE (100%)** — Every piece of application state that rules
3564
+ * reason about is in the Praxis context. If a rule needs to know about
3565
+ * connection status, connection status must be in the context.
3566
+ *
3567
+ * 5. **EVENT COVERAGE (100%)** — Every state transition that should trigger rule
3568
+ * evaluation fires a Praxis event. If notes can be saved, there's a note.save
3569
+ * event. If sprint refreshes, there's a sprint.refresh event.
3570
+ *
3571
+ * ## What Is NOT Praxis Logic
3572
+ *
3573
+ * - **UI mechanics**: Panel toggle, scroll position, animation state, focus management
3574
+ * - **Data transport**: fetch() calls, WebSocket plumbing, file I/O
3575
+ * - **Framework wiring**: Svelte subscriptions, onMount, store creation
3576
+ * - **Data transformation**: Parsing, formatting, serialization
3577
+ * - **Routing/navigation**: URL handling, panel switching (unless it has business rules)
3578
+ *
3579
+ * The line: "Does this `if` statement encode a business decision or an app invariant?"
3580
+ * If yes → Praxis rule/constraint. If no → leave it.
3581
+ *
3582
+ * ## Measuring Completeness
3583
+ *
3584
+ * ### Quantitative Metrics
3585
+ * - **Rule Coverage**: (domain `if` branches in Praxis) / (total domain `if` branches)
3586
+ * - **Constraint Coverage**: (data invariants in Praxis) / (total data invariants)
3587
+ * - **Contract Coverage**: (rules with contracts) / (rules that need contracts)
3588
+ * - **Context Coverage**: (state fields wired to context) / (state fields rules need)
3589
+ * - **Event Coverage**: (state transitions with events) / (state transitions that matter)
3590
+ *
3591
+ * ### Qualitative Indicators
3592
+ * - Can you change a business rule by editing ONE rule definition? (single source of truth)
3593
+ * - Can you test a business rule without rendering UI? (Praxis engine is headless)
3594
+ * - Can you explain every business rule to a PM by reading the registry? (self-documenting)
3595
+ * - Does the PraxisPanel show all active concerns? (observable)
3596
+ *
3597
+ * ## The Completeness Score
3598
+ *
3599
+ * ```
3600
+ * Score = (
3601
+ * rulesCovered / totalDomainBranches * 40 + // Rules are king (40%)
3602
+ * constraintsCovered / totalInvariants * 20 + // Invariants matter (20%)
3603
+ * contractsCovered / rulesNeedingContracts * 15 + // Contracts prevent bugs (15%)
3604
+ * contextFieldsCovered / totalNeeded * 15 + // Context = visibility (15%)
3605
+ * eventsCovered / totalTransitions * 10 // Events = reactivity (10%)
3606
+ * )
3607
+ * ```
3608
+ *
3609
+ * 90+ = Complete | 70-89 = Good | 50-69 = Partial | <50 = Incomplete
3610
+ */
3611
+ interface LogicBranch {
3612
+ /** Source file + line */
3613
+ location: string;
3614
+ /** The condition expression */
3615
+ condition: string;
3616
+ /** Classification */
3617
+ kind: 'domain' | 'invariant' | 'ui' | 'transport' | 'wiring' | 'transform';
3618
+ /** If domain/invariant: the Praxis rule/constraint that covers it, or null */
3619
+ coveredBy: string | null;
3620
+ /** Human note */
3621
+ note?: string;
3622
+ }
3623
+ interface StateField {
3624
+ /** Store or source name */
3625
+ source: string;
3626
+ /** Field path */
3627
+ field: string;
3628
+ /** Whether it's in the Praxis context */
3629
+ inContext: boolean;
3630
+ /** Whether any rule references it */
3631
+ usedByRule: boolean;
3632
+ }
3633
+ interface StateTransition {
3634
+ /** What changes */
3635
+ description: string;
3636
+ /** The Praxis event tag, or null if missing */
3637
+ eventTag: string | null;
3638
+ /** Source location */
3639
+ location: string;
3640
+ }
3641
+ interface CompletenessReport {
3642
+ /** Overall score (0-100) */
3643
+ score: number;
3644
+ /** Rating */
3645
+ rating: 'complete' | 'good' | 'partial' | 'incomplete';
3646
+ rules: {
3647
+ total: number;
3648
+ covered: number;
3649
+ uncovered: LogicBranch[];
3650
+ };
3651
+ constraints: {
3652
+ total: number;
3653
+ covered: number;
3654
+ uncovered: LogicBranch[];
3655
+ };
3656
+ contracts: {
3657
+ total: number;
3658
+ withContracts: number;
3659
+ missing: string[];
3660
+ };
3661
+ context: {
3662
+ total: number;
3663
+ covered: number;
3664
+ missing: StateField[];
3665
+ };
3666
+ events: {
3667
+ total: number;
3668
+ covered: number;
3669
+ missing: StateTransition[];
3670
+ };
3671
+ }
3672
+ interface CompletenessConfig {
3673
+ /** Minimum score to pass (default: 90) */
3674
+ threshold?: number;
3675
+ /** Whether to throw on failure (for CI) */
3676
+ strict?: boolean;
3677
+ }
3678
+ /**
3679
+ * Run a completeness audit against a Praxis registry and app manifest.
3680
+ *
3681
+ * The manifest is a developer-authored declaration of all logic branches,
3682
+ * state fields, and state transitions in the app. The auditor checks which
3683
+ * ones are covered by Praxis.
3684
+ */
3685
+ declare function auditCompleteness(manifest: {
3686
+ branches: LogicBranch[];
3687
+ stateFields: StateField[];
3688
+ transitions: StateTransition[];
3689
+ rulesNeedingContracts: string[];
3690
+ }, registryRuleIds: string[], registryConstraintIds: string[], rulesWithContracts: string[], config?: CompletenessConfig): CompletenessReport;
3691
+ /**
3692
+ * Format a completeness report as human-readable text.
3693
+ */
3694
+ declare function formatReport(report: CompletenessReport): string;
3695
+
3696
+ export { type ActivityState, type Actor, ActorManager, type CanvasDocument, type CanvasEdge, type CanvasEdgeStyle, type CanvasEditorConfig, type CanvasNode, type CanvasNodeStyle, type CompletenessConfig, type CompletenessReport, type ComponentDefinition, ConstraintDescriptor, ConstraintFn, type ConstraintNode, type ConstraintSchema, type DefineConstraintOptions, type DefineModuleOptions, type DefineRuleOptions, type EventDefinition$1 as EventDefinition, type EventStreamEntry, type FactDefinition$1 as FactDefinition, ReactiveLogicEngine as FrameworkAgnosticReactiveEngine, type ReactiveEngineOptions as FrameworkAgnosticReactiveEngineOptions, type GeneratedDoc, type GeneratedPluresDBFile, type GraphEdge, type GuardianError, type GuardianResult, type GuardianWarning, InMemoryPraxisDB, type LifecycleState, type LoaderOptions, type LoaderResult, type LogicBranch, type LogicDefinition, LogicEngine, type ModelDefinition, type NodeBindings, type NodeDefinition, type OrchestrationDefinition, PRAXIS_PATHS, type PluresDBAdapter, type PluresDBAdapterConfig, type PluresDBAdapterOptions, PluresDBGenerator, type PluresDBGeneratorOptions, type PluresDBInstance, PluresDBPraxisAdapter, type PraxisDB, PraxisDBStore, type PraxisDBStoreOptions, PraxisEvent, PraxisFact, type PraxisLocalFirstOptions, PraxisModule, PraxisRegistry, type PraxisSchema, PraxisSchemaRegistry, PraxisState, type RegistryGraph, RegistryIntrospector, type RegistrySchema, type RegistryStats, RuleDescriptor, RuleFn, type RuleNode, type RuleSchema, type StateChangeCallback, type StateDoc, type StateDocsConfig, StateDocsGenerator, type StateField, type StateMachineDoc, type StateTransition, type StoredSchema, type TauriAppConfig, type TauriBridge, type TauriCommand, type TauriEvent, type TauriFS, type TauriFileEntry, type TauriMenuItem, type TauriNotification, type TauriNotificationOptions, type TauriPlugin, type TauriPraxisAdapter, type TauriSecurityConfig, type TauriTray, type TauriUpdateConfig, type TauriUpdateInfo, type TauriWindowConfig, type TerminalNodeProps, type TransitionDoc, type UIContext, type UnifiedApp, type UnifiedAppConfig, type UnsubscribeFn, type UnumAdapter, type UnumAdapterConfig, type UnumChannel, type UnumIdentity, type UnumMessage, type UnumStore, type ValidationError, type ValidationResult, attachAllIntegrations, attachTauriToEngine, attachToEngine, attachUnumToEngine, auditCompleteness, canvasToMermaid, canvasToSchema, canvasToYaml, createCanvasEditor, createReactiveEngine as createFrameworkAgnosticReactiveEngine, createInMemoryDB, createIntrospector, createMockTauriBridge, createPluresDB, createPluresDBAdapter, createPluresDBGenerator, createPraxisDBStore, createPraxisLocalFirst, createSchema, createSchemaRegistry, createSchemaTemplate, createStateDocsGenerator, createTauriPraxisAdapter, createTimerActor, createUIModule, createUnifiedApp, createUnumAdapter, defineConstraint, defineEvent, defineFact, defineModule, defineRule, dirtyGuardRule, errorDisplayRule, filterEvents, filterFacts, findEvent, findFact, formatReport, generateDocs, generateId, generateTauriConfig, getEventPath, getFactPath, getSchemaPath, initGateRule, loadSchemaFromJson, loadSchemaFromYaml, loadingGateRule, mustBeInitializedConstraint, navigationRequest, noInteractionWhileLoadingConstraint, offlineIndicatorRule, registerSchema, resizeEvent, schemaToCanvas, uiModule, uiStateChanged, validateForGeneration, validateSchema, validateWithGuardian, viewportRule };