@abloatai/ablo 0.3.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/CHANGELOG.md +208 -0
- package/LICENSE +201 -0
- package/NOTICE +12 -0
- package/README.md +230 -0
- package/dist/BaseSyncedStore.d.ts +709 -0
- package/dist/BaseSyncedStore.js +1843 -0
- package/dist/Database.d.ts +344 -0
- package/dist/Database.js +1259 -0
- package/dist/LazyReferenceCollection.d.ts +181 -0
- package/dist/LazyReferenceCollection.js +460 -0
- package/dist/Model.d.ts +339 -0
- package/dist/Model.js +715 -0
- package/dist/ModelRegistry.d.ts +200 -0
- package/dist/ModelRegistry.js +535 -0
- package/dist/NetworkMonitor.d.ts +27 -0
- package/dist/NetworkMonitor.js +73 -0
- package/dist/ObjectPool.d.ts +202 -0
- package/dist/ObjectPool.js +1106 -0
- package/dist/SyncClient.d.ts +489 -0
- package/dist/SyncClient.js +1555 -0
- package/dist/SyncEngineContext.d.ts +46 -0
- package/dist/SyncEngineContext.js +74 -0
- package/dist/adapters/alwaysOnline.d.ts +16 -0
- package/dist/adapters/alwaysOnline.js +19 -0
- package/dist/adapters/inMemoryStorage.d.ts +30 -0
- package/dist/adapters/inMemoryStorage.js +94 -0
- package/dist/agent/Agent.d.ts +358 -0
- package/dist/agent/Agent.js +500 -0
- package/dist/agent/index.d.ts +115 -0
- package/dist/agent/index.js +128 -0
- package/dist/agent/session.d.ts +90 -0
- package/dist/agent/session.js +156 -0
- package/dist/agent/types.d.ts +73 -0
- package/dist/agent/types.js +10 -0
- package/dist/ai-sdk/coordination-context.d.ts +51 -0
- package/dist/ai-sdk/coordination-context.js +107 -0
- package/dist/ai-sdk/index.d.ts +68 -0
- package/dist/ai-sdk/index.js +68 -0
- package/dist/ai-sdk/intent-broadcast.d.ts +77 -0
- package/dist/ai-sdk/intent-broadcast.js +72 -0
- package/dist/ai-sdk/wrap.d.ts +67 -0
- package/dist/ai-sdk/wrap.js +45 -0
- package/dist/api/index.d.ts +10 -0
- package/dist/api/index.js +9 -0
- package/dist/auth/index.d.ts +137 -0
- package/dist/auth/index.js +246 -0
- package/dist/client/Ablo.d.ts +835 -0
- package/dist/client/Ablo.js +1440 -0
- package/dist/client/ApiClient.d.ts +200 -0
- package/dist/client/ApiClient.js +659 -0
- package/dist/client/auth.d.ts +79 -0
- package/dist/client/auth.js +81 -0
- package/dist/client/createInternalComponents.d.ts +44 -0
- package/dist/client/createInternalComponents.js +88 -0
- package/dist/client/createModelProxy.d.ts +152 -0
- package/dist/client/createModelProxy.js +199 -0
- package/dist/client/identity.d.ts +63 -0
- package/dist/client/identity.js +156 -0
- package/dist/client/index.d.ts +36 -0
- package/dist/client/index.js +33 -0
- package/dist/client/persistence.d.ts +7 -0
- package/dist/client/persistence.js +11 -0
- package/dist/client/validateAbloOptions.d.ts +42 -0
- package/dist/client/validateAbloOptions.js +43 -0
- package/dist/config/index.d.ts +10 -0
- package/dist/config/index.js +12 -0
- package/dist/context.d.ts +27 -0
- package/dist/context.js +58 -0
- package/dist/core/DatabaseManager.d.ts +108 -0
- package/dist/core/DatabaseManager.js +361 -0
- package/dist/core/QueryProcessor.d.ts +77 -0
- package/dist/core/QueryProcessor.js +262 -0
- package/dist/core/QueryView.d.ts +64 -0
- package/dist/core/QueryView.js +219 -0
- package/dist/core/StoreManager.d.ts +131 -0
- package/dist/core/StoreManager.js +334 -0
- package/dist/core/ViewRegistry.d.ts +20 -0
- package/dist/core/ViewRegistry.js +55 -0
- package/dist/core/index.d.ts +34 -0
- package/dist/core/index.js +59 -0
- package/dist/core/openIDBWithTimeout.d.ts +27 -0
- package/dist/core/openIDBWithTimeout.js +63 -0
- package/dist/core/query-utils.d.ts +37 -0
- package/dist/core/query-utils.js +60 -0
- package/dist/errors.d.ts +235 -0
- package/dist/errors.js +243 -0
- package/dist/index.d.ts +41 -0
- package/dist/index.js +82 -0
- package/dist/interfaces/headless.d.ts +95 -0
- package/dist/interfaces/headless.js +41 -0
- package/dist/interfaces/index.d.ts +321 -0
- package/dist/interfaces/index.js +8 -0
- package/dist/mutators/RecordingTransaction.d.ts +36 -0
- package/dist/mutators/RecordingTransaction.js +216 -0
- package/dist/mutators/Transaction.d.ts +48 -0
- package/dist/mutators/Transaction.js +64 -0
- package/dist/mutators/UndoManager.d.ts +114 -0
- package/dist/mutators/UndoManager.js +143 -0
- package/dist/mutators/defineMutators.d.ts +55 -0
- package/dist/mutators/defineMutators.js +28 -0
- package/dist/policy/index.d.ts +19 -0
- package/dist/policy/index.js +18 -0
- package/dist/policy/types.d.ts +74 -0
- package/dist/policy/types.js +17 -0
- package/dist/principal.d.ts +44 -0
- package/dist/principal.js +49 -0
- package/dist/query/client.d.ts +43 -0
- package/dist/query/client.js +84 -0
- package/dist/query/index.d.ts +6 -0
- package/dist/query/index.js +5 -0
- package/dist/query/types.d.ts +143 -0
- package/dist/query/types.js +36 -0
- package/dist/react/AbloProvider.d.ts +205 -0
- package/dist/react/AbloProvider.js +398 -0
- package/dist/react/ClientSideSuspense.d.ts +36 -0
- package/dist/react/ClientSideSuspense.js +17 -0
- package/dist/react/DefaultFallback.d.ts +24 -0
- package/dist/react/DefaultFallback.js +43 -0
- package/dist/react/SyncGroupProvider.d.ts +19 -0
- package/dist/react/SyncGroupProvider.js +44 -0
- package/dist/react/context.d.ts +161 -0
- package/dist/react/context.js +35 -0
- package/dist/react/index.d.ts +64 -0
- package/dist/react/index.js +73 -0
- package/dist/react/internalContext.d.ts +35 -0
- package/dist/react/internalContext.js +3 -0
- package/dist/react/useAblo.d.ts +72 -0
- package/dist/react/useAblo.js +63 -0
- package/dist/react/useCurrentUserId.d.ts +21 -0
- package/dist/react/useCurrentUserId.js +33 -0
- package/dist/react/useErrorListener.d.ts +20 -0
- package/dist/react/useErrorListener.js +39 -0
- package/dist/react/useIntent.d.ts +29 -0
- package/dist/react/useIntent.js +42 -0
- package/dist/react/useMutate.d.ts +83 -0
- package/dist/react/useMutate.js +122 -0
- package/dist/react/useMutationFailureListener.d.ts +26 -0
- package/dist/react/useMutationFailureListener.js +38 -0
- package/dist/react/useMutators.d.ts +56 -0
- package/dist/react/useMutators.js +66 -0
- package/dist/react/usePresence.d.ts +32 -0
- package/dist/react/usePresence.js +41 -0
- package/dist/react/useQuery.d.ts +123 -0
- package/dist/react/useQuery.js +145 -0
- package/dist/react/useReactive.d.ts +35 -0
- package/dist/react/useReactive.js +111 -0
- package/dist/react/useReader.d.ts +69 -0
- package/dist/react/useReader.js +73 -0
- package/dist/react/useSyncStatus.d.ts +61 -0
- package/dist/react/useSyncStatus.js +76 -0
- package/dist/react/useUndoScope.d.ts +36 -0
- package/dist/react/useUndoScope.js +73 -0
- package/dist/realtime/index.d.ts +10 -0
- package/dist/realtime/index.js +9 -0
- package/dist/schema/field.d.ts +134 -0
- package/dist/schema/field.js +264 -0
- package/dist/schema/index.d.ts +29 -0
- package/dist/schema/index.js +38 -0
- package/dist/schema/model.d.ts +326 -0
- package/dist/schema/model.js +89 -0
- package/dist/schema/queries.d.ts +203 -0
- package/dist/schema/queries.js +145 -0
- package/dist/schema/relation.d.ts +172 -0
- package/dist/schema/relation.js +104 -0
- package/dist/schema/schema.d.ts +259 -0
- package/dist/schema/schema.js +188 -0
- package/dist/schema/sugar.d.ts +129 -0
- package/dist/schema/sugar.js +94 -0
- package/dist/source/index.d.ts +423 -0
- package/dist/source/index.js +320 -0
- package/dist/source/pushQueue.d.ts +112 -0
- package/dist/source/pushQueue.js +249 -0
- package/dist/stores/ObjectStore.d.ts +103 -0
- package/dist/stores/ObjectStore.js +371 -0
- package/dist/stores/ObjectStoreContract.d.ts +39 -0
- package/dist/stores/ObjectStoreContract.js +1 -0
- package/dist/stores/SyncActionStore.d.ts +101 -0
- package/dist/stores/SyncActionStore.js +481 -0
- package/dist/sync/BootstrapHelper.d.ts +127 -0
- package/dist/sync/BootstrapHelper.js +434 -0
- package/dist/sync/ConnectionManager.d.ts +136 -0
- package/dist/sync/ConnectionManager.js +465 -0
- package/dist/sync/HydrationCoordinator.d.ts +137 -0
- package/dist/sync/HydrationCoordinator.js +468 -0
- package/dist/sync/NetworkProbe.d.ts +43 -0
- package/dist/sync/NetworkProbe.js +113 -0
- package/dist/sync/OfflineFlush.d.ts +9 -0
- package/dist/sync/OfflineFlush.js +22 -0
- package/dist/sync/OfflineTransactionStore.d.ts +37 -0
- package/dist/sync/OfflineTransactionStore.js +263 -0
- package/dist/sync/SyncWebSocket.d.ts +663 -0
- package/dist/sync/SyncWebSocket.js +1336 -0
- package/dist/sync/createIntentStream.d.ts +33 -0
- package/dist/sync/createIntentStream.js +243 -0
- package/dist/sync/createPresenceStream.d.ts +46 -0
- package/dist/sync/createPresenceStream.js +192 -0
- package/dist/sync/createSnapshot.d.ts +33 -0
- package/dist/sync/createSnapshot.js +124 -0
- package/dist/sync/participants.d.ts +114 -0
- package/dist/sync/participants.js +336 -0
- package/dist/sync/schemas.d.ts +79 -0
- package/dist/sync/schemas.js +78 -0
- package/dist/testing/fixtures/bootstrap.d.ts +45 -0
- package/dist/testing/fixtures/bootstrap.js +53 -0
- package/dist/testing/fixtures/deltas.d.ts +86 -0
- package/dist/testing/fixtures/deltas.js +139 -0
- package/dist/testing/fixtures/models.d.ts +82 -0
- package/dist/testing/fixtures/models.js +270 -0
- package/dist/testing/helpers/react-wrapper.d.ts +66 -0
- package/dist/testing/helpers/react-wrapper.js +64 -0
- package/dist/testing/helpers/sync-engine-harness.d.ts +55 -0
- package/dist/testing/helpers/sync-engine-harness.js +70 -0
- package/dist/testing/helpers/wait.d.ts +25 -0
- package/dist/testing/helpers/wait.js +44 -0
- package/dist/testing/index.d.ts +21 -0
- package/dist/testing/index.js +32 -0
- package/dist/testing/mocks/MockMutationExecutor.d.ts +65 -0
- package/dist/testing/mocks/MockMutationExecutor.js +139 -0
- package/dist/testing/mocks/MockNetworkMonitor.d.ts +20 -0
- package/dist/testing/mocks/MockNetworkMonitor.js +46 -0
- package/dist/testing/mocks/MockSyncContext.d.ts +64 -0
- package/dist/testing/mocks/MockSyncContext.js +100 -0
- package/dist/testing/mocks/MockSyncStore.d.ts +88 -0
- package/dist/testing/mocks/MockSyncStore.js +171 -0
- package/dist/testing/mocks/MockWebSocket.d.ts +66 -0
- package/dist/testing/mocks/MockWebSocket.js +117 -0
- package/dist/transactions/OptimisticEchoTracker.d.ts +82 -0
- package/dist/transactions/OptimisticEchoTracker.js +104 -0
- package/dist/transactions/TransactionQueue.d.ts +499 -0
- package/dist/transactions/TransactionQueue.js +1895 -0
- package/dist/transactions/index.d.ts +16 -0
- package/dist/transactions/index.js +7 -0
- package/dist/transactions/mutation-error-handler.d.ts +5 -0
- package/dist/transactions/mutation-error-handler.js +39 -0
- package/dist/types/global.d.ts +107 -0
- package/dist/types/global.js +38 -0
- package/dist/types/index.d.ts +241 -0
- package/dist/types/index.js +70 -0
- package/dist/types/streams.d.ts +495 -0
- package/dist/types/streams.js +11 -0
- package/dist/utils/asyncIterator.d.ts +41 -0
- package/dist/utils/asyncIterator.js +142 -0
- package/dist/utils/duration.d.ts +28 -0
- package/dist/utils/duration.js +47 -0
- package/dist/utils/mobx-setup.d.ts +42 -0
- package/dist/utils/mobx-setup.js +381 -0
- package/docs/api-keys.md +24 -0
- package/docs/api.md +230 -0
- package/docs/audit.md +81 -0
- package/docs/capabilities.md +163 -0
- package/docs/client-behavior.md +202 -0
- package/docs/data-sources.md +214 -0
- package/docs/examples/agent-human.md +84 -0
- package/docs/examples/ai-sdk-tool.md +92 -0
- package/docs/examples/existing-python-backend.md +249 -0
- package/docs/examples/nextjs.md +88 -0
- package/docs/examples/server-agent.md +86 -0
- package/docs/guarantees.md +148 -0
- package/docs/index.md +97 -0
- package/docs/integration-guide.md +493 -0
- package/docs/interaction-model.md +140 -0
- package/docs/mcp/claude-code.md +43 -0
- package/docs/mcp/cursor.md +53 -0
- package/docs/mcp/windsurf.md +46 -0
- package/docs/mcp.md +59 -0
- package/docs/quickstart.md +152 -0
- package/docs/react.md +115 -0
- package/docs/roadmap.md +45 -0
- package/examples/README.md +54 -0
- package/examples/data-source/README.md +102 -0
- package/examples/data-source/ablo-driver.ts +89 -0
- package/examples/data-source/customer-server.ts +208 -0
- package/examples/data-source/run.ts +101 -0
- package/examples/data-source/schema.ts +25 -0
- package/examples/quickstart.ts +54 -0
- package/examples/tsconfig.json +16 -0
- package/llms.txt +143 -0
- package/package.json +147 -0
|
@@ -0,0 +1,200 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* ModelRegistry - Type-safe model metadata management
|
|
3
|
+
*
|
|
4
|
+
* Key improvements:
|
|
5
|
+
* - Instance-based for better testing
|
|
6
|
+
* - Validation at registration
|
|
7
|
+
* - Lazy reference resolution
|
|
8
|
+
* - Crypto-based schema hashing
|
|
9
|
+
* - Comprehensive error reporting
|
|
10
|
+
* - Best practices from Linear Sync Engine
|
|
11
|
+
*/
|
|
12
|
+
import { ModelMetadata, PropertyMetadata, ReferenceMetadata, LoadStrategy } from './types/index.js';
|
|
13
|
+
/**
|
|
14
|
+
* Extended ReferenceMetadata with additional Linear-style options
|
|
15
|
+
*/
|
|
16
|
+
export interface ExtendedReferenceMetadata extends ReferenceMetadata {
|
|
17
|
+
onDelete?: 'cascade' | 'nullify' | 'restrict';
|
|
18
|
+
onArchive?: 'cascade' | 'nullify';
|
|
19
|
+
}
|
|
20
|
+
/**
|
|
21
|
+
* Reference metadata in its serialized form — `referencedModel` is
|
|
22
|
+
* resolved to the model NAME (string), not the lazy constructor
|
|
23
|
+
* thunk. Produced by `exportRegistryData()` and other debug-side
|
|
24
|
+
* paths. A class function would be unserializable JSON; the name is
|
|
25
|
+
* what consumers (devtools, schema-hash inputs) actually want.
|
|
26
|
+
*/
|
|
27
|
+
export interface SerializedReferenceMetadata extends Omit<ExtendedReferenceMetadata, 'referencedModel'> {
|
|
28
|
+
referencedModel: string;
|
|
29
|
+
}
|
|
30
|
+
/**
|
|
31
|
+
* BackReference metadata for cascade-aware transaction handling
|
|
32
|
+
* Linear pattern: When parent is deleted, cancel pending transactions for children
|
|
33
|
+
*/
|
|
34
|
+
export interface BackReferenceMetadata {
|
|
35
|
+
/** The parent model name (e.g., 'SlideDeck') */
|
|
36
|
+
parentModel: string;
|
|
37
|
+
/** The foreign key property on this model (e.g., 'deckId') */
|
|
38
|
+
foreignKey: string;
|
|
39
|
+
/** Whether to cascade-cancel transactions when parent is deleted */
|
|
40
|
+
cascadeDelete: boolean;
|
|
41
|
+
}
|
|
42
|
+
interface RegistryConfig {
|
|
43
|
+
validateOnRegister?: boolean;
|
|
44
|
+
allowLateReferences?: boolean;
|
|
45
|
+
}
|
|
46
|
+
/** Set the active ModelRegistry instance (called by createSyncEngine) */
|
|
47
|
+
export declare function setActiveRegistry(registry: ModelRegistry): void;
|
|
48
|
+
/** Get the active ModelRegistry. Throws if none set. */
|
|
49
|
+
export declare function getActiveRegistry(): ModelRegistry;
|
|
50
|
+
/** Whether an active ModelRegistry has been set. */
|
|
51
|
+
export declare function hasActiveRegistry(): boolean;
|
|
52
|
+
/** Clear the active ModelRegistry (tests only). */
|
|
53
|
+
export declare function clearActiveRegistry(): void;
|
|
54
|
+
export declare class ModelRegistry {
|
|
55
|
+
private models;
|
|
56
|
+
private modelMetadata;
|
|
57
|
+
private properties;
|
|
58
|
+
private references;
|
|
59
|
+
private pendingReferences;
|
|
60
|
+
private constructorToModelName;
|
|
61
|
+
private backReferences;
|
|
62
|
+
private schemaHash?;
|
|
63
|
+
private config;
|
|
64
|
+
private registeredModels;
|
|
65
|
+
private batchMode;
|
|
66
|
+
private pendingHashUpdate;
|
|
67
|
+
constructor(config?: RegistryConfig);
|
|
68
|
+
private validateModelConstructor;
|
|
69
|
+
private arePropertiesCompatible;
|
|
70
|
+
private addPendingReference;
|
|
71
|
+
private resolvePendingReferences;
|
|
72
|
+
private completeReferenceRegistration;
|
|
73
|
+
/**
|
|
74
|
+
* Register a model with validation
|
|
75
|
+
*/
|
|
76
|
+
registerModel(name: string, constructor: any, metadata?: ModelMetadata): void;
|
|
77
|
+
/**
|
|
78
|
+
* Register property with validation
|
|
79
|
+
*/
|
|
80
|
+
registerProperty(modelName: string, propertyName: string, metadata: PropertyMetadata): void;
|
|
81
|
+
/**
|
|
82
|
+
* Register reference with lazy resolution
|
|
83
|
+
*/
|
|
84
|
+
registerReference(modelName: string, propertyName: string, metadata: ExtendedReferenceMetadata): void;
|
|
85
|
+
/**
|
|
86
|
+
* LINEAR PATTERN: Register a back-reference for cascade-aware transaction handling
|
|
87
|
+
*
|
|
88
|
+
* When a parent model is deleted, the TransactionQueue will cancel pending
|
|
89
|
+
* transactions for all child models that have a backReference to that parent.
|
|
90
|
+
*
|
|
91
|
+
* @param childModelName - The model that has a FK to the parent (e.g., 'Slide')
|
|
92
|
+
* @param metadata - BackReference configuration
|
|
93
|
+
*/
|
|
94
|
+
registerBackReference(childModelName: string, metadata: BackReferenceMetadata): void;
|
|
95
|
+
/** Get all models with specific load strategy. */
|
|
96
|
+
getModelsByLoadStrategy(strategy: LoadStrategy): string[];
|
|
97
|
+
/** Get model name from constructor (production-safe). */
|
|
98
|
+
getModelNameFromConstructor(constructor: any): string | undefined;
|
|
99
|
+
/** Get properties for a model. */
|
|
100
|
+
getPropertiesForModel(modelName: string): Map<string, PropertyMetadata>;
|
|
101
|
+
/**
|
|
102
|
+
* Get all registered model names for this instance
|
|
103
|
+
*/
|
|
104
|
+
getRegisteredModelNames(): string[];
|
|
105
|
+
/** Get model constructor by name */
|
|
106
|
+
getModelByName(name: string): any;
|
|
107
|
+
/** Check if model is registered */
|
|
108
|
+
hasModel(name: string): boolean;
|
|
109
|
+
/** Get model metadata by name */
|
|
110
|
+
getMetadata(name: string): ModelMetadata | undefined;
|
|
111
|
+
/** Get properties for a model */
|
|
112
|
+
getProperties(name: string): Map<string, PropertyMetadata>;
|
|
113
|
+
/** Get references for a model */
|
|
114
|
+
getReferences(name: string): Map<string, ExtendedReferenceMetadata>;
|
|
115
|
+
/** Get indexed properties for a model */
|
|
116
|
+
getIndexedProperties(modelName: string): string[];
|
|
117
|
+
/** Get back-references for a child model */
|
|
118
|
+
getBackReferences(childModelName: string): BackReferenceMetadata[];
|
|
119
|
+
/** Get child models for a parent */
|
|
120
|
+
getChildModels(parentModelName: string): Array<{
|
|
121
|
+
childModel: string;
|
|
122
|
+
foreignKey: string;
|
|
123
|
+
}>;
|
|
124
|
+
/**
|
|
125
|
+
* Calculate schema hash using crypto
|
|
126
|
+
*/
|
|
127
|
+
getSchemaHash(): string;
|
|
128
|
+
/**
|
|
129
|
+
* Browser-compatible hash function
|
|
130
|
+
*/
|
|
131
|
+
private simpleHash;
|
|
132
|
+
/**
|
|
133
|
+
* Static wrapper for backward compatibility
|
|
134
|
+
*/
|
|
135
|
+
/**
|
|
136
|
+
* Validate all references
|
|
137
|
+
*/
|
|
138
|
+
validateReferences(): {
|
|
139
|
+
valid: boolean;
|
|
140
|
+
errors: string[];
|
|
141
|
+
};
|
|
142
|
+
/**
|
|
143
|
+
* Static wrapper for backward compatibility
|
|
144
|
+
*/
|
|
145
|
+
/**
|
|
146
|
+
* Start batch registration mode to optimize performance
|
|
147
|
+
*/
|
|
148
|
+
startBatch(): void;
|
|
149
|
+
/**
|
|
150
|
+
* Static wrapper for backward compatibility
|
|
151
|
+
*/
|
|
152
|
+
/**
|
|
153
|
+
* End batch registration mode and update schema hash if needed
|
|
154
|
+
*/
|
|
155
|
+
endBatch(): void;
|
|
156
|
+
/**
|
|
157
|
+
* Static wrapper for backward compatibility
|
|
158
|
+
*/
|
|
159
|
+
/**
|
|
160
|
+
* Clear registry
|
|
161
|
+
*/
|
|
162
|
+
clear(): void;
|
|
163
|
+
/**
|
|
164
|
+
* Static wrapper for backward compatibility
|
|
165
|
+
*/
|
|
166
|
+
/**
|
|
167
|
+
* Export for debugging
|
|
168
|
+
*/
|
|
169
|
+
export(): {
|
|
170
|
+
models: string[];
|
|
171
|
+
metadata: {
|
|
172
|
+
[k: string]: ModelMetadata;
|
|
173
|
+
};
|
|
174
|
+
properties: {
|
|
175
|
+
[k: string]: {
|
|
176
|
+
[k: string]: PropertyMetadata;
|
|
177
|
+
};
|
|
178
|
+
};
|
|
179
|
+
references: {
|
|
180
|
+
[k: string]: {
|
|
181
|
+
[k: string]: ExtendedReferenceMetadata;
|
|
182
|
+
};
|
|
183
|
+
};
|
|
184
|
+
pending: {
|
|
185
|
+
[k: string]: string[];
|
|
186
|
+
};
|
|
187
|
+
schemaHash: string;
|
|
188
|
+
};
|
|
189
|
+
/**
|
|
190
|
+
* Export registry data for debugging (backward compatibility)
|
|
191
|
+
*/
|
|
192
|
+
exportRegistryData(): {
|
|
193
|
+
models: Record<string, string>;
|
|
194
|
+
properties: Record<string, Record<string, PropertyMetadata>>;
|
|
195
|
+
references: Record<string, Record<string, SerializedReferenceMetadata>>;
|
|
196
|
+
metadata: Record<string, ModelMetadata>;
|
|
197
|
+
schemaHash: string;
|
|
198
|
+
};
|
|
199
|
+
}
|
|
200
|
+
export {};
|