@plures/praxis 1.1.2 → 1.2.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/FRAMEWORK.md +106 -15
- package/README.md +275 -53
- package/dist/browser/adapter-TM4IS5KT.js +12 -0
- package/dist/browser/chunk-JQ64KMLN.js +141 -0
- package/dist/browser/chunk-LE2ZJYFC.js +154 -0
- package/dist/browser/chunk-VOMLVI6V.js +197 -0
- package/dist/browser/engine-YJZV4SLD.js +8 -0
- package/dist/browser/index.d.ts +300 -11
- package/dist/browser/index.js +334 -325
- package/dist/browser/integrations/svelte.d.ts +3 -1
- package/dist/browser/integrations/svelte.js +8 -0
- package/dist/browser/{engine-BjdqxeXG.d.ts → reactive-engine.svelte-C9OpcTHf.d.ts} +87 -1
- package/dist/node/adapter-K6DOX6XS.js +13 -0
- package/dist/node/chunk-JQ64KMLN.js +141 -0
- package/dist/node/chunk-LE2ZJYFC.js +154 -0
- package/dist/node/chunk-S54337I5.js +446 -0
- package/dist/node/chunk-VOMLVI6V.js +197 -0
- package/dist/node/cli/index.cjs +1444 -889
- package/dist/node/cli/index.js +9 -0
- package/dist/node/components/index.d.cts +2 -2
- package/dist/node/components/index.d.ts +2 -2
- package/dist/node/docs-JFNYTOJA.js +102 -0
- package/dist/node/engine-2DQBKBJC.js +9 -0
- package/dist/node/index.cjs +747 -234
- package/dist/node/index.d.cts +237 -15
- package/dist/node/index.d.ts +237 -15
- package/dist/node/index.js +339 -767
- package/dist/node/integrations/svelte.cjs +357 -2
- package/dist/node/integrations/svelte.d.cts +3 -1
- package/dist/node/integrations/svelte.d.ts +3 -1
- package/dist/node/integrations/svelte.js +7 -0
- package/dist/node/{engine-CVJobhHm.d.cts → reactive-engine.svelte-1M4m_C_v.d.cts} +87 -1
- package/dist/node/{engine-1iqLe6_P.d.ts → reactive-engine.svelte-ChNFn4Hj.d.ts} +87 -1
- package/dist/node/{terminal-adapter-XLtCjjb_.d.cts → terminal-adapter-CDzxoLKR.d.cts} +68 -1
- package/dist/node/{terminal-adapter-07HGftGQ.d.ts → terminal-adapter-CWka-yL8.d.ts} +68 -1
- package/package.json +3 -2
- package/src/__tests__/reactive-engine.test.ts +516 -0
- package/src/cli/commands/docs.ts +147 -0
- package/src/cli/index.ts +21 -0
- package/src/core/pluresdb/README.md +156 -0
- package/src/core/pluresdb/adapter.ts +165 -0
- package/src/core/pluresdb/index.ts +3 -3
- package/src/core/reactive-engine.svelte.ts +93 -19
- package/src/core/reactive-engine.ts +284 -22
- package/src/index.browser.ts +16 -0
- package/src/index.ts +16 -0
- package/src/integrations/pluresdb.ts +2 -2
- package/src/integrations/svelte.ts +8 -0
- package/src/integrations/unified.ts +350 -0
package/dist/browser/index.d.ts
CHANGED
|
@@ -1,36 +1,85 @@
|
|
|
1
|
-
import { L as LogicEngine, P as PraxisState, a as PraxisEvent, b as PraxisRegistry, R as RuleDescriptor, C as ConstraintDescriptor, c as PraxisFact, d as RuleFn, e as ConstraintFn, f as PraxisModule } from './engine-
|
|
2
|
-
export { m as ConstraintId, k as PRAXIS_PROTOCOL_VERSION, g as PraxisDiagnostics, n as PraxisEngineOptions, h as PraxisStepConfig, j as PraxisStepFn, i as PraxisStepResult, l as RuleId, o as createPraxisEngine } from './engine-
|
|
1
|
+
import { L as LogicEngine, P as PraxisState, a as PraxisEvent, b as PraxisRegistry, R as RuleDescriptor, C as ConstraintDescriptor, c as PraxisFact, d as RuleFn, e as ConstraintFn, f as PraxisModule } from './reactive-engine.svelte-C9OpcTHf.js';
|
|
2
|
+
export { m as ConstraintId, k as PRAXIS_PROTOCOL_VERSION, g as PraxisDiagnostics, n as PraxisEngineOptions, h as PraxisStepConfig, j as PraxisStepFn, i as PraxisStepResult, p as ReactiveEngineOptions, q as ReactiveLogicEngine, l as RuleId, o as createPraxisEngine, r as createReactiveEngine } from './reactive-engine.svelte-C9OpcTHf.js';
|
|
3
3
|
|
|
4
4
|
/**
|
|
5
5
|
* Praxis Reactive Logic Engine
|
|
6
6
|
*
|
|
7
|
-
* A
|
|
8
|
-
* Uses
|
|
7
|
+
* A framework-agnostic reactive implementation of the Praxis Logic Engine.
|
|
8
|
+
* Uses JavaScript Proxies to provide reactivity without Svelte-specific primitives.
|
|
9
|
+
*
|
|
10
|
+
* This implementation provides:
|
|
11
|
+
* - Proxy-based state tracking for automatic reactivity
|
|
12
|
+
* - Subscription-based change notifications
|
|
13
|
+
* - Computed/derived values support
|
|
14
|
+
* - Compatible API with Svelte-based implementation
|
|
9
15
|
*/
|
|
10
16
|
interface ReactiveEngineOptions<TContext> {
|
|
11
17
|
initialContext: TContext;
|
|
12
18
|
initialFacts?: any[];
|
|
13
19
|
initialMeta?: Record<string, unknown>;
|
|
14
20
|
}
|
|
21
|
+
/**
|
|
22
|
+
* Callback type for state change subscribers
|
|
23
|
+
*/
|
|
24
|
+
type StateChangeCallback<TContext> = (state: {
|
|
25
|
+
context: TContext;
|
|
26
|
+
facts: any[];
|
|
27
|
+
meta: Record<string, unknown>;
|
|
28
|
+
}) => void;
|
|
29
|
+
/**
|
|
30
|
+
* Callback type for unsubscribe function
|
|
31
|
+
*/
|
|
32
|
+
type UnsubscribeFn$1 = () => void;
|
|
33
|
+
/**
|
|
34
|
+
* Framework-agnostic reactive logic engine using JavaScript Proxies
|
|
35
|
+
*/
|
|
15
36
|
declare class ReactiveLogicEngine<TContext extends object> {
|
|
16
|
-
|
|
37
|
+
private _state;
|
|
38
|
+
private _subscribers;
|
|
39
|
+
private _contextProxy;
|
|
40
|
+
private _factsProxy;
|
|
41
|
+
private _metaProxy;
|
|
42
|
+
private _batchDepth;
|
|
43
|
+
private _pendingNotification;
|
|
44
|
+
private _proxyCache;
|
|
45
|
+
private static readonly ARRAY_MUTATORS;
|
|
46
|
+
constructor(options: ReactiveEngineOptions<TContext>);
|
|
47
|
+
/**
|
|
48
|
+
* Create a reactive proxy that notifies subscribers on changes.
|
|
49
|
+
* Uses a WeakMap cache to avoid creating multiple proxies for the same object.
|
|
50
|
+
*/
|
|
51
|
+
private _createReactiveProxy;
|
|
52
|
+
/**
|
|
53
|
+
* Notify all subscribers of state changes
|
|
54
|
+
*/
|
|
55
|
+
private _notify;
|
|
56
|
+
/**
|
|
57
|
+
* Get the full state object
|
|
58
|
+
*/
|
|
59
|
+
get state(): {
|
|
17
60
|
context: TContext;
|
|
18
61
|
facts: any[];
|
|
19
62
|
meta: Record<string, unknown>;
|
|
20
63
|
};
|
|
21
|
-
constructor(options: ReactiveEngineOptions<TContext>);
|
|
22
64
|
/**
|
|
23
|
-
* Access the reactive context
|
|
24
|
-
*
|
|
65
|
+
* Access the reactive context.
|
|
66
|
+
* Changes to this object will trigger subscriber notifications.
|
|
25
67
|
*/
|
|
26
68
|
get context(): TContext;
|
|
27
69
|
/**
|
|
28
70
|
* Access the reactive facts list.
|
|
71
|
+
* Changes to this array will trigger subscriber notifications.
|
|
29
72
|
*/
|
|
30
73
|
get facts(): any[];
|
|
74
|
+
/**
|
|
75
|
+
* Access the reactive metadata.
|
|
76
|
+
* Changes to this object will trigger subscriber notifications.
|
|
77
|
+
*/
|
|
78
|
+
get meta(): Record<string, unknown>;
|
|
31
79
|
/**
|
|
32
80
|
* Apply a mutation to the state.
|
|
33
81
|
* This is the "Action" or "Rule" equivalent.
|
|
82
|
+
* Mutations are batched - notifications only happen once per apply call.
|
|
34
83
|
*
|
|
35
84
|
* @param mutator A function that receives the state and modifies it.
|
|
36
85
|
*/
|
|
@@ -40,10 +89,54 @@ declare class ReactiveLogicEngine<TContext extends object> {
|
|
|
40
89
|
meta: Record<string, unknown>;
|
|
41
90
|
}) => void): void;
|
|
42
91
|
/**
|
|
43
|
-
*
|
|
92
|
+
* Subscribe to state changes.
|
|
93
|
+
* Returns an unsubscribe function.
|
|
94
|
+
*
|
|
95
|
+
* @param callback Function to call when state changes
|
|
96
|
+
* @returns Unsubscribe function
|
|
44
97
|
*/
|
|
45
|
-
|
|
98
|
+
subscribe(callback: StateChangeCallback<TContext>): UnsubscribeFn$1;
|
|
99
|
+
/**
|
|
100
|
+
* Create a derived/computed value from the state.
|
|
101
|
+
* The selector function will be called whenever the state changes.
|
|
102
|
+
*
|
|
103
|
+
* @param selector Function to extract derived value from state
|
|
104
|
+
* @returns Object with subscribe method for reactive updates
|
|
105
|
+
*/
|
|
106
|
+
$derived<TDerived>(selector: (state: {
|
|
107
|
+
context: TContext;
|
|
108
|
+
facts: any[];
|
|
109
|
+
meta: Record<string, unknown>;
|
|
110
|
+
}) => TDerived): {
|
|
111
|
+
subscribe: (callback: (value: TDerived) => void) => UnsubscribeFn$1;
|
|
112
|
+
};
|
|
46
113
|
}
|
|
114
|
+
/**
|
|
115
|
+
* Create a new reactive logic engine instance.
|
|
116
|
+
*
|
|
117
|
+
* @param options Configuration options for the reactive engine
|
|
118
|
+
* @returns A new ReactiveLogicEngine instance
|
|
119
|
+
*
|
|
120
|
+
* @example
|
|
121
|
+
* ```typescript
|
|
122
|
+
* const engine = createReactiveEngine({
|
|
123
|
+
* initialContext: { count: 0 },
|
|
124
|
+
* initialFacts: [],
|
|
125
|
+
* initialMeta: {}
|
|
126
|
+
* });
|
|
127
|
+
*
|
|
128
|
+
* // Subscribe to changes
|
|
129
|
+
* engine.subscribe((state) => {
|
|
130
|
+
* console.log('State changed:', state);
|
|
131
|
+
* });
|
|
132
|
+
*
|
|
133
|
+
* // Mutate state (will trigger subscribers)
|
|
134
|
+
* engine.apply((state) => {
|
|
135
|
+
* state.context.count++;
|
|
136
|
+
* });
|
|
137
|
+
* ```
|
|
138
|
+
*/
|
|
139
|
+
declare function createReactiveEngine<TContext extends object>(options: ReactiveEngineOptions<TContext>): ReactiveLogicEngine<TContext>;
|
|
47
140
|
|
|
48
141
|
/**
|
|
49
142
|
* Actors System
|
|
@@ -915,6 +1008,73 @@ declare class InMemoryPraxisDB implements PraxisDB {
|
|
|
915
1008
|
* ```
|
|
916
1009
|
*/
|
|
917
1010
|
declare function createInMemoryDB(): InMemoryPraxisDB;
|
|
1011
|
+
/**
|
|
1012
|
+
* PluresDB instance type - represents either PluresNode or SQLiteCompatibleAPI
|
|
1013
|
+
*/
|
|
1014
|
+
type PluresDBInstance = {
|
|
1015
|
+
get(key: string): Promise<any>;
|
|
1016
|
+
put(key: string, value: any): Promise<void>;
|
|
1017
|
+
};
|
|
1018
|
+
/**
|
|
1019
|
+
* Configuration options for PluresDBPraxisAdapter
|
|
1020
|
+
*/
|
|
1021
|
+
interface PluresDBAdapterConfig {
|
|
1022
|
+
/** PluresDB instance */
|
|
1023
|
+
db: PluresDBInstance;
|
|
1024
|
+
/** Polling interval in milliseconds for watch functionality (default: 1000ms) */
|
|
1025
|
+
pollInterval?: number;
|
|
1026
|
+
}
|
|
1027
|
+
/**
|
|
1028
|
+
* PluresDB-backed implementation of PraxisDB
|
|
1029
|
+
*
|
|
1030
|
+
* Wraps the official PluresDB package from NPM to provide
|
|
1031
|
+
* the PraxisDB interface for production use.
|
|
1032
|
+
*/
|
|
1033
|
+
declare class PluresDBPraxisAdapter implements PraxisDB {
|
|
1034
|
+
private db;
|
|
1035
|
+
private watchers;
|
|
1036
|
+
private pollIntervals;
|
|
1037
|
+
private lastValues;
|
|
1038
|
+
private pollInterval;
|
|
1039
|
+
constructor(config: PluresDBAdapterConfig | PluresDBInstance);
|
|
1040
|
+
get<T>(key: string): Promise<T | undefined>;
|
|
1041
|
+
set<T>(key: string, value: T): Promise<void>;
|
|
1042
|
+
watch<T>(key: string, callback: (val: T) => void): UnsubscribeFn;
|
|
1043
|
+
/**
|
|
1044
|
+
* Clean up all resources
|
|
1045
|
+
*/
|
|
1046
|
+
dispose(): void;
|
|
1047
|
+
}
|
|
1048
|
+
/**
|
|
1049
|
+
* Create a PluresDB-backed PraxisDB instance
|
|
1050
|
+
*
|
|
1051
|
+
* Wraps the official PluresDB package from NPM.
|
|
1052
|
+
*
|
|
1053
|
+
* @param config PluresDB instance or configuration object
|
|
1054
|
+
* @returns PluresDBPraxisAdapter instance
|
|
1055
|
+
*
|
|
1056
|
+
* @example
|
|
1057
|
+
* ```typescript
|
|
1058
|
+
* import { PluresNode } from 'pluresdb';
|
|
1059
|
+
* import { createPluresDB } from '@plures/praxis';
|
|
1060
|
+
*
|
|
1061
|
+
* const pluresdb = new PluresNode({ autoStart: true });
|
|
1062
|
+
* const db = createPluresDB(pluresdb);
|
|
1063
|
+
*
|
|
1064
|
+
* await db.set('user:1', { name: 'Alice' });
|
|
1065
|
+
* const user = await db.get('user:1');
|
|
1066
|
+
* ```
|
|
1067
|
+
*
|
|
1068
|
+
* @example
|
|
1069
|
+
* ```typescript
|
|
1070
|
+
* // With custom polling interval
|
|
1071
|
+
* const db = createPluresDB({
|
|
1072
|
+
* db: pluresdb,
|
|
1073
|
+
* pollInterval: 500, // Poll every 500ms
|
|
1074
|
+
* });
|
|
1075
|
+
* ```
|
|
1076
|
+
*/
|
|
1077
|
+
declare function createPluresDB(config: PluresDBAdapterConfig | PluresDBInstance): PluresDBPraxisAdapter;
|
|
918
1078
|
|
|
919
1079
|
/**
|
|
920
1080
|
* PraxisDB Store
|
|
@@ -3001,4 +3161,133 @@ declare function attachTauriToEngine<TContext>(engine: LogicEngine<TContext>, ad
|
|
|
3001
3161
|
*/
|
|
3002
3162
|
declare function generateTauriConfig(config: TauriAppConfig): Record<string, unknown>;
|
|
3003
3163
|
|
|
3004
|
-
|
|
3164
|
+
/**
|
|
3165
|
+
* Unified Integration Helpers
|
|
3166
|
+
*
|
|
3167
|
+
* Convenience functions for setting up Praxis with all ecosystem integrations
|
|
3168
|
+
* (PluresDB, Unum, State-Docs, CodeCanvas) in a single call.
|
|
3169
|
+
*/
|
|
3170
|
+
|
|
3171
|
+
/**
|
|
3172
|
+
* Configuration for unified Praxis application
|
|
3173
|
+
*/
|
|
3174
|
+
interface UnifiedAppConfig<TContext = unknown> {
|
|
3175
|
+
/** Praxis registry with rules and constraints */
|
|
3176
|
+
registry: PraxisRegistry<TContext>;
|
|
3177
|
+
/** Initial context for the engine */
|
|
3178
|
+
initialContext: TContext;
|
|
3179
|
+
/** PluresDB instance (if not provided, creates in-memory DB) */
|
|
3180
|
+
db?: PraxisDB;
|
|
3181
|
+
/** Enable Unum for distributed communication */
|
|
3182
|
+
enableUnum?: boolean;
|
|
3183
|
+
/** Unum identity configuration (without id and createdAt which are auto-generated) */
|
|
3184
|
+
unumIdentity?: Omit<UnumIdentity, 'id' | 'createdAt'>;
|
|
3185
|
+
/** Enable State-Docs documentation generation */
|
|
3186
|
+
enableDocs?: boolean;
|
|
3187
|
+
/** State-Docs configuration */
|
|
3188
|
+
docsConfig?: {
|
|
3189
|
+
projectTitle: string;
|
|
3190
|
+
target?: string;
|
|
3191
|
+
};
|
|
3192
|
+
/** Praxis schema for CodeCanvas integration */
|
|
3193
|
+
schema?: PraxisSchema;
|
|
3194
|
+
}
|
|
3195
|
+
/**
|
|
3196
|
+
* Unified application instance with all integrations
|
|
3197
|
+
*/
|
|
3198
|
+
interface UnifiedApp<TContext = unknown> {
|
|
3199
|
+
/** Praxis logic engine */
|
|
3200
|
+
engine: LogicEngine<TContext>;
|
|
3201
|
+
/** PluresDB adapter for persistence */
|
|
3202
|
+
pluresdb: PluresDBAdapter<TContext>;
|
|
3203
|
+
/** Unum adapter for distributed communication (if enabled) */
|
|
3204
|
+
unum?: UnumAdapter;
|
|
3205
|
+
/** Default Unum channel (if Unum enabled) */
|
|
3206
|
+
channel?: UnumChannel;
|
|
3207
|
+
/** State-Docs generator (if enabled) */
|
|
3208
|
+
docs?: StateDocsGenerator;
|
|
3209
|
+
/** CodeCanvas document (if schema provided) */
|
|
3210
|
+
canvas?: CanvasDocument;
|
|
3211
|
+
/** Generate documentation from current state */
|
|
3212
|
+
generateDocs?: () => GeneratedDoc[];
|
|
3213
|
+
/** Cleanup function to dispose all integrations */
|
|
3214
|
+
dispose: () => void;
|
|
3215
|
+
}
|
|
3216
|
+
/**
|
|
3217
|
+
* Create a unified Praxis application with all integrations
|
|
3218
|
+
*
|
|
3219
|
+
* This is a convenience function that sets up:
|
|
3220
|
+
* - Praxis logic engine
|
|
3221
|
+
* - PluresDB for persistence (auto-attaches to engine)
|
|
3222
|
+
* - Unum for distributed communication (optional)
|
|
3223
|
+
* - State-Docs for documentation generation (optional)
|
|
3224
|
+
* - CodeCanvas for visual schema editing (optional)
|
|
3225
|
+
*
|
|
3226
|
+
* @example
|
|
3227
|
+
* ```typescript
|
|
3228
|
+
* import { createUnifiedApp } from '@plures/praxis';
|
|
3229
|
+
*
|
|
3230
|
+
* const app = await createUnifiedApp({
|
|
3231
|
+
* registry: myRegistry,
|
|
3232
|
+
* initialContext: { count: 0 },
|
|
3233
|
+
* enableUnum: true,
|
|
3234
|
+
* unumIdentity: { name: 'node-1' },
|
|
3235
|
+
* enableDocs: true,
|
|
3236
|
+
* docsConfig: { projectTitle: 'My App' },
|
|
3237
|
+
* schema: mySchema,
|
|
3238
|
+
* });
|
|
3239
|
+
*
|
|
3240
|
+
* // Use the engine
|
|
3241
|
+
* app.engine.step([myEvent]);
|
|
3242
|
+
*
|
|
3243
|
+
* // Broadcast to other nodes
|
|
3244
|
+
* if (app.channel) {
|
|
3245
|
+
* await app.unum?.broadcastEvent(app.channel.id, myEvent);
|
|
3246
|
+
* }
|
|
3247
|
+
*
|
|
3248
|
+
* // Generate documentation
|
|
3249
|
+
* const docs = app.generateDocs?.();
|
|
3250
|
+
*
|
|
3251
|
+
* // Cleanup
|
|
3252
|
+
* app.dispose();
|
|
3253
|
+
* ```
|
|
3254
|
+
*/
|
|
3255
|
+
declare function createUnifiedApp<TContext = unknown>(config: UnifiedAppConfig<TContext>): Promise<UnifiedApp<TContext>>;
|
|
3256
|
+
/**
|
|
3257
|
+
* Attach all available integrations to an existing Praxis engine
|
|
3258
|
+
*
|
|
3259
|
+
* This is useful when you already have an engine and want to add integrations.
|
|
3260
|
+
*
|
|
3261
|
+
* @example
|
|
3262
|
+
* ```typescript
|
|
3263
|
+
* import { createPraxisEngine, attachAllIntegrations } from '@plures/praxis';
|
|
3264
|
+
*
|
|
3265
|
+
* const engine = createPraxisEngine({ initialContext: {}, registry });
|
|
3266
|
+
*
|
|
3267
|
+
* const integrations = await attachAllIntegrations(engine, registry, {
|
|
3268
|
+
* enableUnum: true,
|
|
3269
|
+
* enableDocs: true,
|
|
3270
|
+
* });
|
|
3271
|
+
*
|
|
3272
|
+
* // Later cleanup
|
|
3273
|
+
* integrations.dispose();
|
|
3274
|
+
* ```
|
|
3275
|
+
*/
|
|
3276
|
+
declare function attachAllIntegrations<TContext = unknown>(engine: LogicEngine<TContext>, registry: PraxisRegistry<TContext>, options?: {
|
|
3277
|
+
db?: PraxisDB;
|
|
3278
|
+
enableUnum?: boolean;
|
|
3279
|
+
unumIdentity?: Omit<UnumIdentity, 'id' | 'createdAt'>;
|
|
3280
|
+
enableDocs?: boolean;
|
|
3281
|
+
docsConfig?: {
|
|
3282
|
+
projectTitle: string;
|
|
3283
|
+
target?: string;
|
|
3284
|
+
};
|
|
3285
|
+
}): Promise<{
|
|
3286
|
+
pluresdb: PluresDBAdapter<TContext>;
|
|
3287
|
+
unum?: UnumAdapter;
|
|
3288
|
+
channel?: UnumChannel;
|
|
3289
|
+
docs?: StateDocsGenerator;
|
|
3290
|
+
dispose: () => void;
|
|
3291
|
+
}>;
|
|
3292
|
+
|
|
3293
|
+
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, 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, 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 };
|