@happyvertical/smrt-core 0.55.3 → 0.55.4

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/AGENTS.md CHANGED
@@ -170,6 +170,13 @@ and repository rules.
170
170
  `src/filesystem-loader.ts`, not a static files-SDK import. Fully bundled apps
171
171
  import `@happyvertical/smrt-core/filesystem` at startup. Use
172
172
  `importOptionalDependency()` for similarly heavy optional dependencies.
173
+ - `src/browser.ts` is the `browser`-condition entry of the package root: the
174
+ Node entry (`index.ts`) minus HTTP servers, manifest/knowledge discovery, run-once,
175
+ the Vite plugin, and the test helper. A new export added to `index.ts` must also
176
+ go to `browser.ts` unless it is Node-only; `src/__tests__/browser-entry-parity.test.ts`
177
+ fails otherwise (allowlist: `NODE_ONLY_GROUPS` in that test, each with a reason; the browser
178
+ entry may not publish a name the Node entry lacks), and also
179
+ fails when a workspace package imports a root value the browser entry lacks.
173
180
  - `exports['.'].browser` (`dist/browser.js`) is the browser surface. Model
174
181
  package roots are bundled for browsers by the bundle-gate browser fixture
175
182
  (#3621): anything a model root imports from core must be exported by the
package/dist/browser.d.ts CHANGED
@@ -1,39 +1,104 @@
1
1
  /**
2
2
  * @smrt/core - Browser-safe entry point
3
3
  *
4
- * This entry point excludes Node.js-only code generators (CLI, REST, MCP)
5
- * that contain shebangs and Node.js-specific APIs. Use this for browser
6
- * builds, federation, and client-side applications.
4
+ * Package `exports["."].browser` resolves here, so every model package that is
5
+ * bundled for a browser (`@field`/`@foreignKey` decorators, `resolveDatabase`,
6
+ * the embedded-write helpers, the change feed, ...) must find the same value
7
+ * exports it finds on the Node entry (#3614). The Node entry stays
8
+ * `index.ts`; this file is that surface minus the modules that serve HTTP,
9
+ * walk the filesystem, or run build tooling.
7
10
  *
8
- * Excluded:
9
- * - Code generators (APIGenerator, MCPGenerator; the local CLI transport
10
- * lives outside core in packages/cli/src/cli-generator.ts)
11
- * - Runtime manifest utilities (Node.js-only)
12
- * - Prebuild utilities (Node.js-only)
11
+ * Keep the two entries in sync: `src/__tests__/browser-entry-parity.test.ts`
12
+ * fails when a value exported from `index.ts` is neither exported here nor
13
+ * listed with a reason in `BROWSER_ENTRY_NODE_ONLY`, and when a value a
14
+ * workspace package imports from the package root is unreachable here.
15
+ *
16
+ * From `generators/` only the pure helpers are exported (custom-action metadata,
17
+ * the tenant-gate slot, typed 4xx normalization), as the same named lists
18
+ * `generators/index.ts` uses, so this entry never publishes a name the Node
19
+ * entry does not (the parity test checks both directions).
20
+ *
21
+ * Node-only (not exported here; use the named subpath instead):
22
+ * - Code generators and HTTP servers: `generators/index` (APIGenerator,
23
+ * MCPGenerator, startRestServer, ...) -> `/generators`, `/generators/rest`,
24
+ * `/generators/mcp`; `runtime/index` server half -> `/runtime`
25
+ * - Manifest discovery and static manifest loading (`node:fs`/`node:url`):
26
+ * `manifest/index` -> `/manifest`
27
+ * - Knowledge graph -> `/knowledge`; run-once claims have no subpath (they
28
+ * need node:crypto and the knowledge graph) and are Node-entry only
29
+ * - Vite plugin, prebuild utilities, test-database helper -> `/vite-plugin`,
30
+ * `/prebuild`, `/testing`
13
31
  *
14
32
  * For Node.js applications, use the main entry point instead:
15
33
  * import { ... } from '@happyvertical/smrt-core';
16
34
  */
17
35
  export * from "./adapters/index.js";
18
36
  export * from './audit.js';
37
+ export { withAuditContext } from './audit-context.js';
38
+ export { buildCascadePlan, type CascadePlan, type CascadePolymorphicReference, type CascadeReference, type CascadeRegistryView, type CascadeResult, cascadeReferencesTo, normalizeOnDelete, type OnDeleteAction, runCascadeDelete, } from "./cascade.js";
39
+ export { type AppendChangeBatch, type AppendChangeInput, appendChange, appendChanges, bumpChangeFeed, CHANGE_FEED_INTERCEPTOR_NAME, CHANGE_FEED_TABLE, type ChangeFeedEntry, type ChangeFeedPage, type ChangeFeedRetention, type ChangeOperation, DEFAULT_CHANGES_LIMIT, drainChangeFeed, ensureChangeFeedTable, type GetChangesOptions, getChangesSince, getTableVersion, getTenantScopedChangesSince, MAX_CHANGES_LIMIT, pruneChangeFeed, registerChangeFeedWriter, resetChangeFeedWarnings, unregisterChangeFeedWriter, } from "./change-feed.js";
40
+ export { type ChangeFeedEntryVisibility, type ChangeFeedEntryVisibilityRequest, type ChangeFeedTableAuthorizationRequest, type ChangeFeedTableAuthorizer, type ChangeFeedVisibilityEntry, filterVisibleChangeFeedEntries, getAuthorizedChangesSince, getAuthorizedTenantScopedChangesSince, hasChangeFeedEntryVisibilityHook, hasChangeFeedTableAuthorizerHook, isChangeFeedDenyAll, isChangeFeedEntryVisible, resolveAuthorizedChangeFeedTables, setChangeFeedAuthorizer, setChangeFeedEntryVisibility, } from "./change-feed-authz.js";
41
+ export { CHANGE_FEED_CREDENTIAL_TABLES, declareChangeFeedSensitiveTable, getChangeFeedSensitiveTables, isChangeFeedSensitiveTable, } from "./change-feed-sensitivity.js";
42
+ export { CHANGE_SIGNAL_CHANNEL, type ChangeSignal, type ChangeSignalListener, resetChangeSignals, stopChangeSignalListeners, subscribeToChangeSignals, } from "./change-signals.js";
43
+ export { applyOneToManyChildAccessors, childAccessorName, } from "./child-accessors.js";
19
44
  export * from "./class.js";
20
45
  export * from "./collection.js";
46
+ export { broadcastCacheInvalidation, CACHE_INVALIDATION_CHANNEL, type CollectionCacheConfig, ensureCacheInvalidationListener, getCacheGeneration, invalidateCollectionCache, resetCollectionCache, resolveDbCacheKey, stopCacheInvalidationListeners, } from "./collection-cache.js";
47
+ export * from "./collection-read-plan.js";
21
48
  export type { AiUsageConfig, GlobalSignalConfig, MetricsConfig, PubSubConfig, } from "./config.js";
22
49
  export { config } from "./config.js";
50
+ export { canonicalizeDataQuery, createDataQueryFingerprint, DataQueryValidationError, DEFAULT_DATA_QUERY_PAGE_LIMIT, DEFAULT_DATA_QUERY_RESULT_BYTES, MAX_DATA_QUERY_CURSOR_LENGTH, MAX_DATA_QUERY_FACETS, MAX_DATA_QUERY_FILTER_DEPTH, MAX_DATA_QUERY_FILTERS, MAX_DATA_QUERY_IN_VALUES, MAX_DATA_QUERY_OFFSET, MAX_DATA_QUERY_PAGE_LIMIT, MAX_DATA_QUERY_REQUEST_BYTES, MAX_DATA_QUERY_RESULT_BYTES, MAX_DATA_QUERY_WARNINGS, normalizeDataQueryRequest, normalizeDataQueryResult, normalizeDataQuerySchema, } from "./data-query.js";
51
+ export { type DatabaseConfig, isDatabaseInterface, type ResolveDatabaseOptions, resolveDatabase, } from "./database.js";
23
52
  export { classifyDatabaseError, classifyDialectMessage, type DatabaseErrorClassification, type DatabaseErrorKind, isAbortedTransactionError, isDeterministicDatabaseError, isNotNullViolationError, isTransientDatabaseError, isUniqueViolationError, } from "./db-errors.js";
24
53
  export * from "./decisions.js";
54
+ export { applyPendingDecoratorRegistrations, type CompatibleMethodDecorator, type CompatibleMethodDecoratorContext, type CompatiblePropertyDecorator, type CompatiblePropertyDecoratorContext, type LegacyPropertyDecoratorTarget, registerCompatibleFieldDecorator, registerCompatibleMethodDecorator, } from "./decorators/compatibility.js";
55
+ export { type CrossPackageRefOptions, crossPackageRef, type FieldOptions, type FieldUIHints, field, foreignKey, type Meta, type MethodOptions, manyToMany, meta, method, type NumericFieldOptions, oneToMany, type RelationshipFieldOptions, type TextFieldOptions, } from "./decorators/index.js";
56
+ export * from "./dispatch/index.js";
57
+ export { isEmbeddedDatabase, isPostgresDatabase, usesEmbeddedRevisionFallback, withEmbeddedWriteQueue, withEmbeddedWriteTransaction, } from "./embedded-write-queue.js";
58
+ export * from "./embeddings/index.js";
25
59
  export * from "./errors.js";
60
+ export { createFilesystemAdapter, type FilesystemAdapterFactory, registerFilesystemAdapterFactory, } from "./filesystem-loader.js";
61
+ export { createGeneratedCollectionAccess, type GeneratedCollectionAccess, type GeneratedCollectionRuntime, } from "./generated-collection-access.js";
62
+ export { type ApiMethodExposure, type ApiMethodRejectionCode, buildCustomActionInputSchema, buildCustomActionInvocationArgs, CRUD_OPERATIONS, type CustomActionFailure, type CustomActionMetadata, type CustomActionScope, classifyMethodWireability, classifyParameterWireability, coerceCustomActionArgument, createClassNamePredicate, createManifestClassNamePredicate, customActionParameterInputName, declaredTypeAcceptsDate, declaresRuntimeRestRoute, declaresRuntimeRestRouteShape, type EffectiveActionMetadata, type ExposableMethod, isCrudOperation, isCrudToolAction, type MethodDecoratorConfig, normalizeCustomActionFailure, queryStringDecoderFor, type ResolveApiMethodExposureOptions, type ResolveCustomActionMetadataOptions, type ResolvedCustomActionMetadata, readMethodDecoratorConfig, resolveApiMethodExposure, resolveCustomActionMetadata, resolveDeclaredScopeMismatch, resolveEffectiveActionMetadata, SMRT_CUSTOM_ACTION_ERROR_METADATA_KEY, type ToolEffect, toCustomActionBoolean, toCustomActionDate, toCustomActionNumber, type WireabilityOptions, type WireabilityVerdict, type WireableParameter, } from "./generators/custom-action.js";
63
+ export { runWithTenantGate, setTenantEntryPointRunner, type TenantEntryPointRunner, type TenantGateOptions, } from "./generators/tenant-gate.js";
64
+ export { normalizeTypedHttpError, type TypedHttpFailure, } from "./generators/typed-http-error.js";
26
65
  export { type HierarchyView, SmrtHierarchical } from "./hierarchical.js";
66
+ export * from "./interceptors.js";
27
67
  export { type JunctionAttachOptions, type JunctionFilterOptions, SmrtJunction, SmrtJunctionBase, } from "./junction.js";
68
+ export type { ConfigResolver, LazyConfigSentinel, ResolveLazyConfigOptions, } from "./lazy-config.js";
69
+ export { getClassConfigResolvers, getConfigResolver, isLazyConfigSentinel, listConfigResolvers, registerConfigResolver, resetConfigResolvers, resolveLazyConfig, unregisterConfigResolver, } from "./lazy-config.js";
70
+ export { importOptionalDependency, registerOptionalDependency, } from "./lazy-external.js";
71
+ export { DEFAULT_LEARNING_CONFIG, type LearningEpisode, LearningMemory, type LearningMemoryConfig, type LearningMemoryOptions, type LearningMemoryRecord, type LearningOutcome, type LearningRecallOptions, type LearningSemanticSearch, } from "./learning/index.js";
72
+ export type { DiffOptions } from "./migrations/differ.js";
73
+ export { generateSchemaDiff, getSQLFromDiff, hasActionableChanges, isAdvisoryOnlyChange, isManualOrAdvisoryChange, SchemaComparer, } from "./migrations/differ.js";
28
74
  export * from "./object.js";
29
75
  export { SmrtPolymorphicAssociation, type SmrtPolymorphicAssociationOptions, } from "./polymorphic-association.js";
76
+ export { applyPostgresPermissions, type PostgresPermissionContract, type PostgresPermissionDiagnostic, type PostgresPermissionPlan, planPostgresPermissions, validatePostgresPermissionContract, } from './postgres-permissions.js';
77
+ export { applyPostgresRuntimeTimeouts, DEFAULT_POSTGRES_TIMEOUTS, POSTGRES_TIMEOUT_ENV_VARS, type PostgresTimeoutConfig, type ResolvedPostgresTimeouts, resolvePostgresTimeouts, } from "./postgres-timeouts.js";
78
+ export { buildDefaultListOrderBy, DEFAULT_LIST_LIMIT, DEFAULT_LIST_ORDER_BY, type ListBoundOptions, MAX_LIST_LIMIT, QueryBoundsError, QueryOrderByError, resolveListLimit, resolveListOffset, } from "./query-bounds.js";
30
79
  export { SmrtRecipe, type SmrtRecipeModel, type SmrtRecipeModelOptions, type SmrtRecipeNavEntry, } from "./recipe.js";
31
80
  export { buildConnectSection, buildGlossary, type ConnectSection, type ConnectSurface, createRecipeHelp, extractFieldRefs, findField, type GlossaryEntry, type HelpBlock, type HelpField, type HelpModel, helpToMarkdown, type Inline, parseHelp, type RecipeHelp, type RenderedHelp, type RenderHelpOptions, renderHelp, resolveHelp, validateHelp, } from "./recipe-help.js";
32
81
  export * from "./registry.js";
33
82
  export { smrt as smrtRegistry } from "./registry.js";
83
+ export type { RuntimeRegistrationOverride } from "./registry/runtime-overrides.js";
84
+ export { POSTGRES_REVISION_GUARD_EXPRESSION, postgresRevisionCandidates, postgresRevisionCondition, } from "./revision-guard.js";
85
+ export { createSmrtClient } from "./runtime/client.js";
86
+ export { detectEngine, generateDDLForEngine } from "./schema/ddl/index.js";
87
+ export { type CollectForeignKeyOrphanCountsOptions, collectForeignKeyOrphanCounts, type ForeignKeyOrphanCount, type ForeignKeyOrphanCountReport, type ForeignKeyOrphanSkipped, } from "./schema/foreign-key-orphan-report.js";
88
+ export { planForeignKeyCreation } from "./schema/foreign-key-planner.js";
89
+ export { type ConflictTargetInput, checkLiveSchemaParity, type ExpectedTableOrigin, type LiveParityFinding, type LiveParityFindingKind, type LiveParitySeverity, LiveSchemaParityError, type LiveSchemaParityOptions, type LiveSchemaParityReport, } from "./schema/live-parity.js";
90
+ export { getSystemTableShapes, SYSTEM_TABLE_NAMES, type SystemTableShape, } from "./schema/system-table-shapes.js";
91
+ export type { SchemaDefinition } from "./schema/types.js";
34
92
  export * from "./signals/index.js";
93
+ export * from "./sync/apply.js";
35
94
  export * from "./system/index.js";
36
95
  export type { DiscoveryStrategy, ForgetOptions, ForgetScopeOptions, NoteMetadata, NoteOptions, RecallAllOptions, RecallOptions, SystemTableConfig, } from "./system/types.js";
96
+ export { resetVerifiedTables } from "./table-cache.js";
37
97
  export * from "./tools/index.js";
98
+ export { chunkArray, IN_LIST_CHUNK_SIZE } from "./utils/chunk.js";
99
+ export { isSensitiveConnectionParam, redactDatabaseUrl, redactDatabaseUrlsInText, } from "./utils/database-url.js";
100
+ export { clone, getAdapterInfo, isValid, type JSONAdapter, type ParseError, parse, type Result, type StringifyError, safeParse, safeStringify, stringify, } from "./utils/json.js";
101
+ export { toSnakeCase } from "./utils/naming.js";
102
+ export { assertScopedPackageName, createQualifiedName, getClassName, getPackageFromQualifiedName, isFromPackage, isQualifiedName, isScopedPackageName, isType, type ParsedQualifiedName, parseQualifiedName, qualifiedNamesEqual, } from "./utils/qualified-names.js";
38
103
  export * from './ui-metadata.js';
39
104
  //# sourceMappingURL=browser.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"browser.d.ts","sourceRoot":"","sources":["../src/browser.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AAGH,cAAc,qBAAkB,CAAC;AACjC,cAAc,YAAY,CAAC;AAE3B,cAAc,YAAS,CAAC;AACxB,cAAc,iBAAc,CAAC;AAC7B,YAAY,EACV,aAAa,EACb,kBAAkB,EAClB,aAAa,EACb,YAAY,GACb,MAAM,aAAU,CAAC;AAElB,OAAO,EAAE,MAAM,EAAE,MAAM,aAAU,CAAC;AAOlC,OAAO,EACL,qBAAqB,EACrB,sBAAsB,EACtB,KAAK,2BAA2B,EAChC,KAAK,iBAAiB,EACtB,yBAAyB,EACzB,4BAA4B,EAC5B,uBAAuB,EACvB,wBAAwB,EACxB,sBAAsB,GACvB,MAAM,gBAAa,CAAC;AAIrB,cAAc,gBAAa,CAAC;AAC5B,cAAc,aAAU,CAAC;AACzB,OAAO,EAAE,KAAK,aAAa,EAAE,gBAAgB,EAAE,MAAM,mBAAgB,CAAC;AACtE,OAAO,EACL,KAAK,qBAAqB,EAC1B,KAAK,qBAAqB,EAC1B,YAAY,EACZ,gBAAgB,GACjB,MAAM,eAAY,CAAC;AACpB,cAAc,aAAU,CAAC;AACzB,OAAO,EACL,0BAA0B,EAC1B,KAAK,iCAAiC,GACvC,MAAM,8BAA2B,CAAC;AACnC,OAAO,EACL,UAAU,EACV,KAAK,eAAe,EACpB,KAAK,sBAAsB,EAC3B,KAAK,kBAAkB,GACxB,MAAM,aAAU,CAAC;AAClB,OAAO,EACL,mBAAmB,EACnB,aAAa,EACb,KAAK,cAAc,EACnB,KAAK,cAAc,EACnB,gBAAgB,EAChB,gBAAgB,EAChB,SAAS,EACT,KAAK,aAAa,EAClB,KAAK,SAAS,EACd,KAAK,SAAS,EACd,KAAK,SAAS,EACd,cAAc,EACd,KAAK,MAAM,EACX,SAAS,EACT,KAAK,UAAU,EACf,KAAK,YAAY,EACjB,KAAK,iBAAiB,EACtB,UAAU,EACV,WAAW,EACX,YAAY,GACb,MAAM,kBAAe,CAAC;AACvB,cAAc,eAAY,CAAC;AAC3B,OAAO,EAAE,IAAI,IAAI,YAAY,EAAE,MAAM,eAAY,CAAC;AAElD,cAAc,oBAAiB,CAAC;AAEhC,cAAc,mBAAgB,CAAC;AAC/B,YAAY,EACV,iBAAiB,EACjB,aAAa,EACb,kBAAkB,EAClB,YAAY,EACZ,WAAW,EACX,gBAAgB,EAChB,aAAa,EACb,iBAAiB,GAClB,MAAM,mBAAgB,CAAC;AAExB,cAAc,kBAAe,CAAC;AAO9B,cAAc,kBAAkB,CAAC"}
1
+ {"version":3,"file":"browser.d.ts","sourceRoot":"","sources":["../src/browser.ts"],"names":[],"mappings":"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"}
package/dist/browser.js CHANGED
@@ -4,33 +4,86 @@ import { MetricsAdapter } from "./adapters/metrics.js";
4
4
  import { PubSubAdapter } from "./adapters/pubsub.js";
5
5
  import "./adapters/index.js";
6
6
  import { classifyDatabaseError, classifyDialectMessage, isAbortedTransactionError, isDeterministicDatabaseError, isNotNullViolationError, isTransientDatabaseError, isUniqueViolationError } from "./db-errors.js";
7
+ import { isEmbeddedDatabase, isPostgresDatabase, usesEmbeddedRevisionFallback, withEmbeddedWriteQueue, withEmbeddedWriteTransaction } from "./embedded-write-queue.js";
8
+ import { isSensitiveConnectionParam, redactDatabaseUrl, redactDatabaseUrlsInText } from "./utils/database-url.js";
7
9
  import { AIError, ConfigurationError, DatabaseError, ErrorUtils, FilesystemError, NetworkError, RunOnceClaimError, RuntimeError, SmrtError, TenantIsolationError, ValidationError, ValidationReport, ValidationUtils } from "./errors.js";
10
+ import { IN_LIST_CHUNK_SIZE, chunkArray } from "./utils/chunk.js";
11
+ import { toSnakeCase } from "./utils/naming.js";
12
+ import { buildCascadePlan, cascadeReferencesTo, normalizeOnDelete, runCascadeDelete } from "./cascade.js";
13
+ import { applyOneToManyChildAccessors, childAccessorName } from "./child-accessors.js";
14
+ import { CHANGE_FEED_CREDENTIAL_TABLES, declareChangeFeedSensitiveTable, getChangeFeedSensitiveTables, isChangeFeedSensitiveTable } from "./change-feed-sensitivity.js";
15
+ import { CACHE_INVALIDATION_CHANNEL, broadcastCacheInvalidation, ensureCacheInvalidationListener, getCacheGeneration, invalidateCollectionCache, resetCollectionCache, resolveDbCacheKey, stopCacheInvalidationListeners } from "./collection-cache.js";
16
+ import { CHANGE_SIGNAL_CHANNEL, resetChangeSignals, stopChangeSignalListeners, subscribeToChangeSignals } from "./change-signals.js";
17
+ import { isTenantScopedClassResolved, resolveDispatchTenantId, resolveDispatchTenantScope, setDispatchTenantResolver, setTenantScopedClassResolver } from "./dispatch/tenant-resolver.js";
18
+ import { GlobalInterceptors, createInterceptorContext, resolveGetStringFilter } from "./interceptors.js";
19
+ import { detectEngine, generateDDLForEngine } from "./schema/ddl/index.js";
8
20
  import { SMRT_SCHEMA_VERSION } from "./system/schema.js";
21
+ import { SYSTEM_TABLE_NAMES, getSystemTableShapes } from "./schema/system-table-shapes.js";
22
+ import { CHANGE_FEED_INTERCEPTOR_NAME, CHANGE_FEED_TABLE, DEFAULT_CHANGES_LIMIT, MAX_CHANGES_LIMIT, appendChange, appendChanges, bumpChangeFeed, drainChangeFeed, ensureChangeFeedTable, getChangesSince, getTableVersion, getTenantScopedChangesSince, pruneChangeFeed, registerChangeFeedWriter, resetChangeFeedWarnings, unregisterChangeFeedWriter } from "./change-feed.js";
9
23
  import { config } from "./config.js";
10
24
  import { assertFiniteUnitInterval, executeDecision } from "./decisions.js";
25
+ import { importOptionalDependency, registerOptionalDependency } from "./lazy-external.js";
26
+ import { createFilesystemAdapter, registerFilesystemAdapterFactory } from "./filesystem-loader.js";
27
+ import { DEFAULT_POSTGRES_TIMEOUTS, POSTGRES_TIMEOUT_ENV_VARS, applyPostgresRuntimeTimeouts, resolvePostgresTimeouts } from "./postgres-timeouts.js";
11
28
  import { SignalSanitizer } from "./signals/sanitizer.js";
12
29
  import { SignalBus } from "./signals/bus.js";
13
30
  import { assertPostgresSystemTimestampsCurrent, ensureBootstrapSystemTableCompatibility, ensureDeferredSystemTableCompatibility, ensureDispatchSubscriptionsSystemTableCompatibility, ensureDispatchSystemTableCompatibility, ensureJobEventsSystemTableCompatibility, ensureJobsSystemTableCompatibility, ensureLegacySystemTableCompatibility, getDatabaseEngine, migratePostgresSystemTimestamps, planPostgresSystemTimestampMigrations, tableExists } from "./system/compatibility.js";
14
31
  import { ensureSystemTables } from "./system/bootstrap.js";
15
32
  import { SmrtClass } from "./class.js";
33
+ import { DEFAULT_EMBEDDING_CONFIG, EmbeddingProvider } from "./embeddings/provider.js";
34
+ import { CosineSimilarity } from "./embeddings/similarity.js";
35
+ import { EmbeddingStorage } from "./embeddings/storage.js";
36
+ import { DEFAULT_LIST_LIMIT, DEFAULT_LIST_ORDER_BY, MAX_LIST_LIMIT, QueryBoundsError, QueryOrderByError, buildDefaultListOrderBy, resolveListLimit, resolveListOffset } from "./query-bounds.js";
37
+ import { resetVerifiedTables } from "./table-cache.js";
16
38
  import { DEFAULT_FACET_LIMIT, EmbeddingUnavailableError, MAX_FACET_FIELDS, MAX_FACET_LIMIT, MAX_STI_READ_SCOPE_TYPES, SmrtCollection } from "./collection.js";
39
+ import { applyPendingDecoratorRegistrations, registerCompatibleFieldDecorator, registerCompatibleMethodDecorator } from "./decorators/compatibility.js";
40
+ import { clone, getAdapterInfo, isValid, parse, safeParse, safeStringify, stringify } from "./utils/json.js";
41
+ import { assertScopedPackageName, createQualifiedName, getClassName, getPackageFromQualifiedName, isFromPackage, isQualifiedName, isScopedPackageName, isType, parseQualifiedName, qualifiedNamesEqual } from "./utils/qualified-names.js";
17
42
  import { convertTypeToJsonSchema, generateToolFromMethod, generateToolManifest, shouldIncludeMethod } from "./tools/tool-generator.js";
43
+ import { CRUD_OPERATIONS, SMRT_CUSTOM_ACTION_ERROR_METADATA_KEY, buildCustomActionInputSchema, buildCustomActionInvocationArgs, classifyMethodWireability, classifyParameterWireability, coerceCustomActionArgument, createClassNamePredicate, createManifestClassNamePredicate, customActionParameterInputName, declaredTypeAcceptsDate, declaresRuntimeRestRoute, declaresRuntimeRestRouteShape, isCrudOperation, isCrudToolAction, normalizeCustomActionFailure, queryStringDecoderFor, readMethodDecoratorConfig, resolveApiMethodExposure, resolveCustomActionMetadata, resolveDeclaredScopeMismatch, resolveEffectiveActionMetadata, toCustomActionBoolean, toCustomActionDate, toCustomActionNumber } from "./generators/custom-action.js";
18
44
  import { buildConnectSection, buildGlossary, createRecipeHelp, extractFieldRefs, findField, helpToMarkdown, parseHelp, renderHelp, resolveHelp, validateHelp } from "./recipe-help.js";
19
45
  import { DEFAULT_DISPLAY_LABEL_FIELDS, FIELD_UI_WIDGETS, FIELD_UI_WIDGET_TYPES, describeDisplayLabel, displayLabelFieldProblem, findSelectorFor, isFieldUIWidget, resolveDisplayLabelField } from "./ui-metadata.js";
46
+ import { ContentHasher } from "./embeddings/hash.js";
47
+ import { POSTGRES_REVISION_GUARD_EXPRESSION, postgresRevisionCandidates, postgresRevisionCondition } from "./revision-guard.js";
20
48
  import { executeToolCall, executeToolCalls, formatToolResults, validateToolCall } from "./tools/tool-executor.js";
21
49
  import { SmrtObject } from "./object.js";
22
50
  import { isFrameworkBaseClass } from "./registry/framework-base-classes.js";
51
+ import { isDatabaseInterface, resolveDatabase } from "./database.js";
23
52
  import { SMRT_COLLECTION_BASE_NAMES, isSmrtCollectionExtendsName } from "./registry/collection-resolution.js";
24
53
  import { ObjectRegistry, smrt } from "./registry.js";
25
54
  import { auditChanges, auditSnapshot, getActiveAuditOptions, isAudited, requireAuditOptions, writeAudit } from "./audit.js";
55
+ import { withAuditContext } from "./audit-context.js";
56
+ import { filterVisibleChangeFeedEntries, getAuthorizedChangesSince, getAuthorizedTenantScopedChangesSince, hasChangeFeedEntryVisibilityHook, hasChangeFeedTableAuthorizerHook, isChangeFeedDenyAll, isChangeFeedEntryVisible, resolveAuthorizedChangeFeedTables, setChangeFeedAuthorizer, setChangeFeedEntryVisibility } from "./change-feed-authz.js";
57
+ import { executeCollectionReadPlan } from "./collection-read-plan.js";
58
+ import { DEFAULT_DATA_QUERY_PAGE_LIMIT, DEFAULT_DATA_QUERY_RESULT_BYTES, DataQueryValidationError, MAX_DATA_QUERY_CURSOR_LENGTH, MAX_DATA_QUERY_FACETS, MAX_DATA_QUERY_FILTERS, MAX_DATA_QUERY_FILTER_DEPTH, MAX_DATA_QUERY_IN_VALUES, MAX_DATA_QUERY_OFFSET, MAX_DATA_QUERY_PAGE_LIMIT, MAX_DATA_QUERY_REQUEST_BYTES, MAX_DATA_QUERY_RESULT_BYTES, MAX_DATA_QUERY_WARNINGS, canonicalizeDataQuery, createDataQueryFingerprint, normalizeDataQueryRequest, normalizeDataQueryResult, normalizeDataQuerySchema } from "./data-query.js";
59
+ import { crossPackageRef, field, foreignKey, manyToMany, meta, method, oneToMany } from "./decorators/index.js";
60
+ import { Dispatch } from "./dispatch/models/Dispatch.js";
61
+ import { DispatchCollection } from "./dispatch/collections/Dispatches.js";
62
+ import { DispatchSubscription } from "./dispatch/models/DispatchSubscription.js";
63
+ import { DispatchSubscriptionCollection } from "./dispatch/collections/DispatchSubscriptions.js";
64
+ import { DispatchBus, createDispatchBus } from "./dispatch/bus.js";
65
+ import "./dispatch/index.js";
66
+ import "./embeddings/index.js";
67
+ import { createGeneratedCollectionAccess } from "./generated-collection-access.js";
68
+ import { runWithTenantGate, setTenantEntryPointRunner } from "./generators/tenant-gate.js";
69
+ import { MAX_SYNC_APPLY_BATCH_SIZE, SYNC_APPLY_ROUTE_SEGMENTS, SYNC_APPLY_UUID_PATTERN, applySyncWritablePolicy, isStaleWrite, parseSyncApplyBatch, payloadMatchesRow, processSyncApplyBatch, validateSyncApplyItem } from "./sync/apply.js";
70
+ import { normalizeTypedHttpError } from "./generators/typed-http-error.js";
26
71
  import { SmrtHierarchical } from "./hierarchical.js";
27
72
  import { SmrtJunction, SmrtJunctionBase } from "./junction.js";
73
+ import { getClassConfigResolvers, getConfigResolver, isLazyConfigSentinel, listConfigResolvers, registerConfigResolver, resetConfigResolvers, resolveLazyConfig, unregisterConfigResolver } from "./lazy-config.js";
74
+ import { DEFAULT_LEARNING_CONFIG, LearningMemory } from "./learning/memory.js";
75
+ import { planForeignKeyCreation } from "./schema/foreign-key-planner.js";
76
+ import { SchemaComparer, generateSchemaDiff, getSQLFromDiff, hasActionableChanges, isAdvisoryOnlyChange, isManualOrAdvisoryChange } from "./migrations/differ.js";
28
77
  import { SmrtPolymorphicAssociation } from "./polymorphic-association.js";
78
+ import { applyPostgresPermissions, planPostgresPermissions, validatePostgresPermissionContract } from "./postgres-permissions.js";
29
79
  import { SmrtRecipe } from "./recipe.js";
80
+ import { createSmrtClient } from "./runtime/client.js";
81
+ import { collectForeignKeyOrphanCounts } from "./schema/foreign-key-orphan-report.js";
82
+ import { LiveSchemaParityError, checkLiveSchemaParity } from "./schema/live-parity.js";
30
83
  import "./signals/index.js";
31
84
  import { DIAGNOSTICS_DEFAULT_LIMIT, SYSTEM_DIAGNOSTICS_TABLES, readDispatchHealth, readJobHealth, readMigrationStatus, readRecentChanges, readRegistryDrift, readScheduleHealth, readSystemDiagnostics } from "./system/diagnostics.js";
32
85
  import { BOOTED_PROVENANCE, assertPlainJson, sanitizeMessagePaths, snapshotRegistry } from "./system/registry-snapshot.js";
33
86
  import { DEFAULT_RETENTION_POLICY, clearRetentionTasks, getRetentionTasks, pruneAiUsage, pruneExpiredContexts, pruneRunOnceClaims, registerRetentionTask, runRetentionSweep, unregisterRetentionTask } from "./system/retention.js";
34
87
  import "./system/index.js";
35
88
  import "./tools/index.js";
36
- export { AIError, AiUsageCollector, AiUsagePersistenceHandler, BOOTED_PROVENANCE, ConfigurationError, DEFAULT_AI_COST_RATES, DEFAULT_DISPLAY_LABEL_FIELDS, DEFAULT_FACET_LIMIT, DEFAULT_RETENTION_POLICY, DIAGNOSTICS_DEFAULT_LIMIT, DatabaseError, EmbeddingUnavailableError, ErrorUtils, FIELD_UI_WIDGETS, FIELD_UI_WIDGET_TYPES, FilesystemError, MAX_FACET_FIELDS, MAX_FACET_LIMIT, MAX_STI_READ_SCOPE_TYPES, MetricsAdapter, NetworkError, ObjectRegistry, PubSubAdapter, RunOnceClaimError, RuntimeError, SMRT_COLLECTION_BASE_NAMES, SMRT_SCHEMA_VERSION, SYSTEM_DIAGNOSTICS_TABLES, SignalBus, SignalSanitizer, SmrtClass, SmrtCollection, SmrtError, SmrtHierarchical, SmrtJunction, SmrtJunctionBase, SmrtObject, SmrtPolymorphicAssociation, SmrtRecipe, TenantIsolationError, ValidationError, ValidationReport, ValidationUtils, assertFiniteUnitInterval, assertPlainJson, assertPostgresSystemTimestampsCurrent, auditChanges, auditSnapshot, buildConnectSection, buildGlossary, classifyDatabaseError, classifyDialectMessage, clearRetentionTasks, config, convertTypeToJsonSchema, createRecipeHelp, describeDisplayLabel, displayLabelFieldProblem, ensureBootstrapSystemTableCompatibility, ensureDeferredSystemTableCompatibility, ensureDispatchSubscriptionsSystemTableCompatibility, ensureDispatchSystemTableCompatibility, ensureJobEventsSystemTableCompatibility, ensureJobsSystemTableCompatibility, ensureLegacySystemTableCompatibility, ensureSystemTables, estimateAiUsageCost, executeDecision, executeToolCall, executeToolCalls, extractFieldRefs, findField, findSelectorFor, formatToolResults, generateToolFromMethod, generateToolManifest, getActiveAuditOptions, getDatabaseEngine, getRetentionTasks, helpToMarkdown, isAbortedTransactionError, isAudited, isDeterministicDatabaseError, isFieldUIWidget, isFrameworkBaseClass, isNotNullViolationError, isSmrtCollectionExtendsName, isTransientDatabaseError, isUniqueViolationError, migratePostgresSystemTimestamps, parseHelp, planPostgresSystemTimestampMigrations, pruneAiUsage, pruneExpiredContexts, pruneRunOnceClaims, readDispatchHealth, readJobHealth, readMigrationStatus, readRecentChanges, readRegistryDrift, readScheduleHealth, readSystemDiagnostics, registerRetentionTask, renderHelp, requireAuditOptions, resolveDisplayLabelField, resolveHelp, runRetentionSweep, sanitizeMessagePaths, shouldIncludeMethod, smrt, smrt as smrtRegistry, snapshotRegistry, tableExists, unregisterRetentionTask, validateHelp, validateToolCall, writeAudit };
89
+ export { AIError, AiUsageCollector, AiUsagePersistenceHandler, BOOTED_PROVENANCE, CACHE_INVALIDATION_CHANNEL, CHANGE_FEED_CREDENTIAL_TABLES, CHANGE_FEED_INTERCEPTOR_NAME, CHANGE_FEED_TABLE, CHANGE_SIGNAL_CHANNEL, CRUD_OPERATIONS, ConfigurationError, ContentHasher, CosineSimilarity, DEFAULT_AI_COST_RATES, DEFAULT_CHANGES_LIMIT, DEFAULT_DATA_QUERY_PAGE_LIMIT, DEFAULT_DATA_QUERY_RESULT_BYTES, DEFAULT_DISPLAY_LABEL_FIELDS, DEFAULT_EMBEDDING_CONFIG, DEFAULT_FACET_LIMIT, DEFAULT_LEARNING_CONFIG, DEFAULT_LIST_LIMIT, DEFAULT_LIST_ORDER_BY, DEFAULT_POSTGRES_TIMEOUTS, DEFAULT_RETENTION_POLICY, DIAGNOSTICS_DEFAULT_LIMIT, DataQueryValidationError, DatabaseError, Dispatch, DispatchBus, DispatchCollection, DispatchSubscription, DispatchSubscriptionCollection, EmbeddingProvider, EmbeddingStorage, EmbeddingUnavailableError, ErrorUtils, FIELD_UI_WIDGETS, FIELD_UI_WIDGET_TYPES, FilesystemError, GlobalInterceptors, IN_LIST_CHUNK_SIZE, LearningMemory, LiveSchemaParityError, MAX_CHANGES_LIMIT, MAX_DATA_QUERY_CURSOR_LENGTH, MAX_DATA_QUERY_FACETS, MAX_DATA_QUERY_FILTERS, MAX_DATA_QUERY_FILTER_DEPTH, MAX_DATA_QUERY_IN_VALUES, MAX_DATA_QUERY_OFFSET, MAX_DATA_QUERY_PAGE_LIMIT, MAX_DATA_QUERY_REQUEST_BYTES, MAX_DATA_QUERY_RESULT_BYTES, MAX_DATA_QUERY_WARNINGS, MAX_FACET_FIELDS, MAX_FACET_LIMIT, MAX_LIST_LIMIT, MAX_STI_READ_SCOPE_TYPES, MAX_SYNC_APPLY_BATCH_SIZE, MetricsAdapter, NetworkError, ObjectRegistry, POSTGRES_REVISION_GUARD_EXPRESSION, POSTGRES_TIMEOUT_ENV_VARS, PubSubAdapter, QueryBoundsError, QueryOrderByError, RunOnceClaimError, RuntimeError, SMRT_COLLECTION_BASE_NAMES, SMRT_CUSTOM_ACTION_ERROR_METADATA_KEY, SMRT_SCHEMA_VERSION, SYNC_APPLY_ROUTE_SEGMENTS, SYNC_APPLY_UUID_PATTERN, SYSTEM_DIAGNOSTICS_TABLES, SYSTEM_TABLE_NAMES, SchemaComparer, SignalBus, SignalSanitizer, SmrtClass, SmrtCollection, SmrtError, SmrtHierarchical, SmrtJunction, SmrtJunctionBase, SmrtObject, SmrtPolymorphicAssociation, SmrtRecipe, TenantIsolationError, ValidationError, ValidationReport, ValidationUtils, appendChange, appendChanges, applyOneToManyChildAccessors, applyPendingDecoratorRegistrations, applyPostgresPermissions, applyPostgresRuntimeTimeouts, applySyncWritablePolicy, assertFiniteUnitInterval, assertPlainJson, assertPostgresSystemTimestampsCurrent, assertScopedPackageName, auditChanges, auditSnapshot, broadcastCacheInvalidation, buildCascadePlan, buildConnectSection, buildCustomActionInputSchema, buildCustomActionInvocationArgs, buildDefaultListOrderBy, buildGlossary, bumpChangeFeed, canonicalizeDataQuery, cascadeReferencesTo, checkLiveSchemaParity, childAccessorName, chunkArray, classifyDatabaseError, classifyDialectMessage, classifyMethodWireability, classifyParameterWireability, clearRetentionTasks, clone, coerceCustomActionArgument, collectForeignKeyOrphanCounts, config, convertTypeToJsonSchema, createClassNamePredicate, createDataQueryFingerprint, createDispatchBus, createFilesystemAdapter, createGeneratedCollectionAccess, createInterceptorContext, createManifestClassNamePredicate, createQualifiedName, createRecipeHelp, createSmrtClient, crossPackageRef, customActionParameterInputName, declareChangeFeedSensitiveTable, declaredTypeAcceptsDate, declaresRuntimeRestRoute, declaresRuntimeRestRouteShape, describeDisplayLabel, detectEngine, displayLabelFieldProblem, drainChangeFeed, ensureBootstrapSystemTableCompatibility, ensureCacheInvalidationListener, ensureChangeFeedTable, ensureDeferredSystemTableCompatibility, ensureDispatchSubscriptionsSystemTableCompatibility, ensureDispatchSystemTableCompatibility, ensureJobEventsSystemTableCompatibility, ensureJobsSystemTableCompatibility, ensureLegacySystemTableCompatibility, ensureSystemTables, estimateAiUsageCost, executeCollectionReadPlan, executeDecision, executeToolCall, executeToolCalls, extractFieldRefs, field, filterVisibleChangeFeedEntries, findField, findSelectorFor, foreignKey, formatToolResults, generateDDLForEngine, generateSchemaDiff, generateToolFromMethod, generateToolManifest, getActiveAuditOptions, getAdapterInfo, getAuthorizedChangesSince, getAuthorizedTenantScopedChangesSince, getCacheGeneration, getChangeFeedSensitiveTables, getChangesSince, getClassConfigResolvers, getClassName, getConfigResolver, getDatabaseEngine, getPackageFromQualifiedName, getRetentionTasks, getSQLFromDiff, getSystemTableShapes, getTableVersion, getTenantScopedChangesSince, hasActionableChanges, hasChangeFeedEntryVisibilityHook, hasChangeFeedTableAuthorizerHook, helpToMarkdown, importOptionalDependency, invalidateCollectionCache, isAbortedTransactionError, isAdvisoryOnlyChange, isAudited, isChangeFeedDenyAll, isChangeFeedEntryVisible, isChangeFeedSensitiveTable, isCrudOperation, isCrudToolAction, isDatabaseInterface, isDeterministicDatabaseError, isEmbeddedDatabase, isFieldUIWidget, isFrameworkBaseClass, isFromPackage, isLazyConfigSentinel, isManualOrAdvisoryChange, isNotNullViolationError, isPostgresDatabase, isQualifiedName, isScopedPackageName, isSensitiveConnectionParam, isSmrtCollectionExtendsName, isStaleWrite, isTenantScopedClassResolved, isTransientDatabaseError, isType, isUniqueViolationError, isValid, listConfigResolvers, manyToMany, meta, method, migratePostgresSystemTimestamps, normalizeCustomActionFailure, normalizeDataQueryRequest, normalizeDataQueryResult, normalizeDataQuerySchema, normalizeOnDelete, normalizeTypedHttpError, oneToMany, parse, parseHelp, parseQualifiedName, parseSyncApplyBatch, payloadMatchesRow, planForeignKeyCreation, planPostgresPermissions, planPostgresSystemTimestampMigrations, postgresRevisionCandidates, postgresRevisionCondition, processSyncApplyBatch, pruneAiUsage, pruneChangeFeed, pruneExpiredContexts, pruneRunOnceClaims, qualifiedNamesEqual, queryStringDecoderFor, readDispatchHealth, readJobHealth, readMethodDecoratorConfig, readMigrationStatus, readRecentChanges, readRegistryDrift, readScheduleHealth, readSystemDiagnostics, redactDatabaseUrl, redactDatabaseUrlsInText, registerChangeFeedWriter, registerCompatibleFieldDecorator, registerCompatibleMethodDecorator, registerConfigResolver, registerFilesystemAdapterFactory, registerOptionalDependency, registerRetentionTask, renderHelp, requireAuditOptions, resetChangeFeedWarnings, resetChangeSignals, resetCollectionCache, resetConfigResolvers, resetVerifiedTables, resolveApiMethodExposure, resolveAuthorizedChangeFeedTables, resolveCustomActionMetadata, resolveDatabase, resolveDbCacheKey, resolveDeclaredScopeMismatch, resolveDispatchTenantId, resolveDispatchTenantScope, resolveDisplayLabelField, resolveEffectiveActionMetadata, resolveGetStringFilter, resolveHelp, resolveLazyConfig, resolveListLimit, resolveListOffset, resolvePostgresTimeouts, runCascadeDelete, runRetentionSweep, runWithTenantGate, safeParse, safeStringify, sanitizeMessagePaths, setChangeFeedAuthorizer, setChangeFeedEntryVisibility, setDispatchTenantResolver, setTenantEntryPointRunner, setTenantScopedClassResolver, shouldIncludeMethod, smrt, smrt as smrtRegistry, snapshotRegistry, stopCacheInvalidationListeners, stopChangeSignalListeners, stringify, subscribeToChangeSignals, tableExists, toCustomActionBoolean, toCustomActionDate, toCustomActionNumber, toSnakeCase, unregisterChangeFeedWriter, unregisterConfigResolver, unregisterRetentionTask, usesEmbeddedRevisionFallback, validateHelp, validatePostgresPermissionContract, validateSyncApplyItem, validateToolCall, withAuditContext, withEmbeddedWriteQueue, withEmbeddedWriteTransaction, writeAudit };
@@ -3,7 +3,7 @@ var staticManifest = {
3
3
  "version": "1.0.0",
4
4
  "timestamp": 0,
5
5
  "packageName": "@happyvertical/smrt-core",
6
- "packageVersion": "0.55.3",
6
+ "packageVersion": "0.55.4",
7
7
  "objects": {
8
8
  "@happyvertical/smrt-core:SmrtClass": {
9
9
  "name": "smrtclass",