@happyvertical/smrt-core 0.30.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/AGENTS.md +124 -0
- package/CLAUDE.md +1 -0
- package/LICENSE +7 -0
- package/README.md +265 -0
- package/bin/smrt-prebuild.js +26 -0
- package/dist/__tests__/fixtures/advisor-test-classes.d.ts +28 -0
- package/dist/__tests__/fixtures/advisor-test-classes.d.ts.map +1 -0
- package/dist/__tests__/fixtures/collection-coverage-fixtures.d.ts +12 -0
- package/dist/__tests__/fixtures/collection-coverage-fixtures.d.ts.map +1 -0
- package/dist/__tests__/fixtures/inheritance-resolver-fixtures.d.ts +28 -0
- package/dist/__tests__/fixtures/inheritance-resolver-fixtures.d.ts.map +1 -0
- package/dist/__tests__/fixtures/inheritance-test-classes.d.ts +43 -0
- package/dist/__tests__/fixtures/inheritance-test-classes.d.ts.map +1 -0
- package/dist/__tests__/fixtures/mcp-integration-test-classes.d.ts +18 -0
- package/dist/__tests__/fixtures/mcp-integration-test-classes.d.ts.map +1 -0
- package/dist/__tests__/fixtures/object-ai-memory-fixtures.d.ts +15 -0
- package/dist/__tests__/fixtures/object-ai-memory-fixtures.d.ts.map +1 -0
- package/dist/__tests__/fixtures/object-spec-test-classes.d.ts +13 -0
- package/dist/__tests__/fixtures/object-spec-test-classes.d.ts.map +1 -0
- package/dist/__tests__/fixtures/registry-test-classes.d.ts +23 -0
- package/dist/__tests__/fixtures/registry-test-classes.d.ts.map +1 -0
- package/dist/adapters/ai-usage.d.ts +23 -0
- package/dist/adapters/ai-usage.d.ts.map +1 -0
- package/dist/adapters/ai-usage.js +105 -0
- package/dist/adapters/ai-usage.js.map +1 -0
- package/dist/adapters/cost-rates.d.ts +20 -0
- package/dist/adapters/cost-rates.d.ts.map +1 -0
- package/dist/adapters/cost-rates.js +40 -0
- package/dist/adapters/cost-rates.js.map +1 -0
- package/dist/adapters/index.d.ts +19 -0
- package/dist/adapters/index.d.ts.map +1 -0
- package/dist/adapters/metrics.d.ts +111 -0
- package/dist/adapters/metrics.d.ts.map +1 -0
- package/dist/adapters/metrics.js +169 -0
- package/dist/adapters/metrics.js.map +1 -0
- package/dist/adapters/pubsub.d.ts +124 -0
- package/dist/adapters/pubsub.d.ts.map +1 -0
- package/dist/adapters/pubsub.js +121 -0
- package/dist/adapters/pubsub.js.map +1 -0
- package/dist/browser.d.ts +32 -0
- package/dist/browser.d.ts.map +1 -0
- package/dist/browser.js +68 -0
- package/dist/browser.js.map +1 -0
- package/dist/child-accessors.d.ts +27 -0
- package/dist/child-accessors.d.ts.map +1 -0
- package/dist/child-accessors.js +35 -0
- package/dist/child-accessors.js.map +1 -0
- package/dist/class.d.ts +313 -0
- package/dist/class.d.ts.map +1 -0
- package/dist/class.js +896 -0
- package/dist/class.js.map +1 -0
- package/dist/collection-cache.d.ts +110 -0
- package/dist/collection-cache.d.ts.map +1 -0
- package/dist/collection-cache.js +187 -0
- package/dist/collection-cache.js.map +1 -0
- package/dist/collection.d.ts +894 -0
- package/dist/collection.d.ts.map +1 -0
- package/dist/collection.js +1987 -0
- package/dist/collection.js.map +1 -0
- package/dist/config/global-config.d.ts +3 -0
- package/dist/config/global-config.d.ts.map +1 -0
- package/dist/config/global-config.js +19 -0
- package/dist/config/global-config.js.map +1 -0
- package/dist/config.d.ts +145 -0
- package/dist/config.d.ts.map +1 -0
- package/dist/config.js +57 -0
- package/dist/config.js.map +1 -0
- package/dist/consumer-plugin/index.d.ts +22 -0
- package/dist/consumer-plugin/index.d.ts.map +1 -0
- package/dist/consumer-plugin/index.js +452 -0
- package/dist/consumer-plugin/index.js.map +1 -0
- package/dist/consumer-plugin.d.ts +8 -0
- package/dist/consumer-plugin.d.ts.map +1 -0
- package/dist/consumer-plugin.js +5 -0
- package/dist/consumer-plugin.js.map +1 -0
- package/dist/database.d.ts +95 -0
- package/dist/database.d.ts.map +1 -0
- package/dist/database.js +32 -0
- package/dist/database.js.map +1 -0
- package/dist/decorators/compatibility.d.ts +14 -0
- package/dist/decorators/compatibility.d.ts.map +1 -0
- package/dist/decorators/compatibility.js +111 -0
- package/dist/decorators/compatibility.js.map +1 -0
- package/dist/decorators/index.d.ts +381 -0
- package/dist/decorators/index.d.ts.map +1 -0
- package/dist/decorators/index.js +104 -0
- package/dist/decorators/index.js.map +1 -0
- package/dist/dispatch/bus.d.ts +306 -0
- package/dist/dispatch/bus.d.ts.map +1 -0
- package/dist/dispatch/bus.js +583 -0
- package/dist/dispatch/bus.js.map +1 -0
- package/dist/dispatch/collections/DispatchSubscriptions.d.ts +79 -0
- package/dist/dispatch/collections/DispatchSubscriptions.d.ts.map +1 -0
- package/dist/dispatch/collections/DispatchSubscriptions.js +243 -0
- package/dist/dispatch/collections/DispatchSubscriptions.js.map +1 -0
- package/dist/dispatch/collections/Dispatches.d.ts +98 -0
- package/dist/dispatch/collections/Dispatches.d.ts.map +1 -0
- package/dist/dispatch/collections/Dispatches.js +358 -0
- package/dist/dispatch/collections/Dispatches.js.map +1 -0
- package/dist/dispatch/index.d.ts +47 -0
- package/dist/dispatch/index.d.ts.map +1 -0
- package/dist/dispatch/models/Dispatch.d.ts +101 -0
- package/dist/dispatch/models/Dispatch.d.ts.map +1 -0
- package/dist/dispatch/models/Dispatch.js +162 -0
- package/dist/dispatch/models/Dispatch.js.map +1 -0
- package/dist/dispatch/models/DispatchSubscription.d.ts +83 -0
- package/dist/dispatch/models/DispatchSubscription.d.ts.map +1 -0
- package/dist/dispatch/models/DispatchSubscription.js +112 -0
- package/dist/dispatch/models/DispatchSubscription.js.map +1 -0
- package/dist/dispatch/tenant-resolver.d.ts +98 -0
- package/dist/dispatch/tenant-resolver.d.ts.map +1 -0
- package/dist/dispatch/tenant-resolver.js +32 -0
- package/dist/dispatch/tenant-resolver.js.map +1 -0
- package/dist/dispatch/types.d.ts +149 -0
- package/dist/dispatch/types.d.ts.map +1 -0
- package/dist/embeddings/hash.d.ts +33 -0
- package/dist/embeddings/hash.d.ts.map +1 -0
- package/dist/embeddings/hash.js +37 -0
- package/dist/embeddings/hash.js.map +1 -0
- package/dist/embeddings/index.d.ts +36 -0
- package/dist/embeddings/index.d.ts.map +1 -0
- package/dist/embeddings/provider.d.ts +75 -0
- package/dist/embeddings/provider.d.ts.map +1 -0
- package/dist/embeddings/provider.js +170 -0
- package/dist/embeddings/provider.js.map +1 -0
- package/dist/embeddings/similarity.d.ts +47 -0
- package/dist/embeddings/similarity.d.ts.map +1 -0
- package/dist/embeddings/similarity.js +64 -0
- package/dist/embeddings/similarity.js.map +1 -0
- package/dist/embeddings/storage.d.ts +125 -0
- package/dist/embeddings/storage.d.ts.map +1 -0
- package/dist/embeddings/storage.js +283 -0
- package/dist/embeddings/storage.js.map +1 -0
- package/dist/embeddings/types.d.ts +250 -0
- package/dist/embeddings/types.d.ts.map +1 -0
- package/dist/errors.d.ts +363 -0
- package/dist/errors.d.ts.map +1 -0
- package/dist/errors.js +669 -0
- package/dist/errors.js.map +1 -0
- package/dist/generators/cli.d.ts +162 -0
- package/dist/generators/cli.d.ts.map +1 -0
- package/dist/generators/cli.js +462 -0
- package/dist/generators/cli.js.map +1 -0
- package/dist/generators/index.d.ts +13 -0
- package/dist/generators/index.d.ts.map +1 -0
- package/dist/generators/mcp-runtime-template.d.ts +60 -0
- package/dist/generators/mcp-runtime-template.d.ts.map +1 -0
- package/dist/generators/mcp-runtime-template.js +509 -0
- package/dist/generators/mcp-runtime-template.js.map +1 -0
- package/dist/generators/mcp.d.ts +231 -0
- package/dist/generators/mcp.d.ts.map +1 -0
- package/dist/generators/mcp.js +1220 -0
- package/dist/generators/mcp.js.map +1 -0
- package/dist/generators/rest.d.ts +171 -0
- package/dist/generators/rest.d.ts.map +1 -0
- package/dist/generators/rest.js +591 -0
- package/dist/generators/rest.js.map +1 -0
- package/dist/generators/swagger.d.ts +21 -0
- package/dist/generators/swagger.d.ts.map +1 -0
- package/dist/generators/swagger.js +307 -0
- package/dist/generators/swagger.js.map +1 -0
- package/dist/generators/tenant-gate.d.ts +74 -0
- package/dist/generators/tenant-gate.d.ts.map +1 -0
- package/dist/generators/tenant-gate.js +15 -0
- package/dist/generators/tenant-gate.js.map +1 -0
- package/dist/generators.d.ts +8 -0
- package/dist/generators.d.ts.map +1 -0
- package/dist/generators.js +19 -0
- package/dist/generators.js.map +1 -0
- package/dist/hierarchical.d.ts +103 -0
- package/dist/hierarchical.d.ts.map +1 -0
- package/dist/hierarchical.js +184 -0
- package/dist/hierarchical.js.map +1 -0
- package/dist/index.d.ts +57 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +202 -0
- package/dist/index.js.map +1 -0
- package/dist/interceptors.d.ts +251 -0
- package/dist/interceptors.d.ts.map +1 -0
- package/dist/interceptors.js +259 -0
- package/dist/interceptors.js.map +1 -0
- package/dist/junction.d.ts +99 -0
- package/dist/junction.d.ts.map +1 -0
- package/dist/junction.js +136 -0
- package/dist/junction.js.map +1 -0
- package/dist/knowledge.d.ts +11 -0
- package/dist/knowledge.d.ts.map +1 -0
- package/dist/knowledge.js +310 -0
- package/dist/knowledge.js.map +1 -0
- package/dist/lazy-config.d.ts +160 -0
- package/dist/lazy-config.d.ts.map +1 -0
- package/dist/lazy-config.js +146 -0
- package/dist/lazy-config.js.map +1 -0
- package/dist/manifest/discover-base-classes.d.ts +78 -0
- package/dist/manifest/discover-base-classes.d.ts.map +1 -0
- package/dist/manifest/discover-base-classes.js +85 -0
- package/dist/manifest/discover-base-classes.js.map +1 -0
- package/dist/manifest/discover-smrt-packages.d.ts +48 -0
- package/dist/manifest/discover-smrt-packages.d.ts.map +1 -0
- package/dist/manifest/discover-smrt-packages.js +361 -0
- package/dist/manifest/discover-smrt-packages.js.map +1 -0
- package/dist/manifest/generator.d.ts +93 -0
- package/dist/manifest/generator.d.ts.map +1 -0
- package/dist/manifest/generator.js +380 -0
- package/dist/manifest/generator.js.map +1 -0
- package/dist/manifest/index.d.ts +16 -0
- package/dist/manifest/index.d.ts.map +1 -0
- package/dist/manifest/index.js +51 -0
- package/dist/manifest/index.js.map +1 -0
- package/dist/manifest/manager.d.ts +51 -0
- package/dist/manifest/manager.d.ts.map +1 -0
- package/dist/manifest/manager.js +89 -0
- package/dist/manifest/manager.js.map +1 -0
- package/dist/manifest/manifest-loader.d.ts +187 -0
- package/dist/manifest/manifest-loader.d.ts.map +1 -0
- package/dist/manifest/manifest-loader.js +847 -0
- package/dist/manifest/manifest-loader.js.map +1 -0
- package/dist/manifest/sources/composite.d.ts +22 -0
- package/dist/manifest/sources/composite.d.ts.map +1 -0
- package/dist/manifest/sources/composite.js +60 -0
- package/dist/manifest/sources/composite.js.map +1 -0
- package/dist/manifest/sources/embedded.d.ts +7 -0
- package/dist/manifest/sources/embedded.d.ts.map +1 -0
- package/dist/manifest/sources/embedded.js +30 -0
- package/dist/manifest/sources/embedded.js.map +1 -0
- package/dist/manifest/sources/explicit-paths.d.ts +17 -0
- package/dist/manifest/sources/explicit-paths.d.ts.map +1 -0
- package/dist/manifest/sources/explicit-paths.js +35 -0
- package/dist/manifest/sources/explicit-paths.js.map +1 -0
- package/dist/manifest/sources/fallback.d.ts +25 -0
- package/dist/manifest/sources/fallback.d.ts.map +1 -0
- package/dist/manifest/sources/fallback.js +63 -0
- package/dist/manifest/sources/fallback.js.map +1 -0
- package/dist/manifest/sources/index.d.ts +17 -0
- package/dist/manifest/sources/index.d.ts.map +1 -0
- package/dist/manifest/sources/local-test.d.ts +7 -0
- package/dist/manifest/sources/local-test.d.ts.map +1 -0
- package/dist/manifest/sources/local-test.js +21 -0
- package/dist/manifest/sources/local-test.js.map +1 -0
- package/dist/manifest/sources/static.d.ts +7 -0
- package/dist/manifest/sources/static.d.ts.map +1 -0
- package/dist/manifest/sources/static.js +19 -0
- package/dist/manifest/sources/static.js.map +1 -0
- package/dist/manifest/sources/test.d.ts +7 -0
- package/dist/manifest/sources/test.d.ts.map +1 -0
- package/dist/manifest/sources/test.js +21 -0
- package/dist/manifest/sources/test.js.map +1 -0
- package/dist/manifest/sources/types.d.ts +79 -0
- package/dist/manifest/sources/types.d.ts.map +1 -0
- package/dist/manifest/sources/types.js +61 -0
- package/dist/manifest/sources/types.js.map +1 -0
- package/dist/manifest/static-manifest.d.ts +4 -0
- package/dist/manifest/static-manifest.d.ts.map +1 -0
- package/dist/manifest/static-manifest.js +1535 -0
- package/dist/manifest/static-manifest.js.map +1 -0
- package/dist/manifest/store.d.ts +111 -0
- package/dist/manifest/store.d.ts.map +1 -0
- package/dist/manifest/store.js +431 -0
- package/dist/manifest/store.js.map +1 -0
- package/dist/manifest/test-manifest-loader.d.ts +3 -0
- package/dist/manifest/test-manifest-loader.d.ts.map +1 -0
- package/dist/manifest/test-manifest-stub.d.ts +4 -0
- package/dist/manifest/test-manifest-stub.d.ts.map +1 -0
- package/dist/manifest/test-manifest-stub.js +80013 -0
- package/dist/manifest/test-manifest-stub.js.map +1 -0
- package/dist/manifest.d.ts +8 -0
- package/dist/manifest.d.ts.map +1 -0
- package/dist/manifest.js +20 -0
- package/dist/manifest.js.map +1 -0
- package/dist/manifest.json +1489 -0
- package/dist/mcp-advisor/index.d.ts +499 -0
- package/dist/mcp-advisor/index.d.ts.map +1 -0
- package/dist/mcp-advisor/tools/add-ai-methods.d.ts +6 -0
- package/dist/mcp-advisor/tools/add-ai-methods.d.ts.map +1 -0
- package/dist/mcp-advisor/tools/configure-decorators.d.ts +6 -0
- package/dist/mcp-advisor/tools/configure-decorators.d.ts.map +1 -0
- package/dist/mcp-advisor/tools/generate-collection.d.ts +6 -0
- package/dist/mcp-advisor/tools/generate-collection.d.ts.map +1 -0
- package/dist/mcp-advisor/tools/generate-field-definitions.d.ts +6 -0
- package/dist/mcp-advisor/tools/generate-field-definitions.d.ts.map +1 -0
- package/dist/mcp-advisor/tools/generate-smrt-class.d.ts +6 -0
- package/dist/mcp-advisor/tools/generate-smrt-class.d.ts.map +1 -0
- package/dist/mcp-advisor/tools/get-object-config.d.ts +6 -0
- package/dist/mcp-advisor/tools/get-object-config.d.ts.map +1 -0
- package/dist/mcp-advisor/tools/get-object-schema.d.ts +10 -0
- package/dist/mcp-advisor/tools/get-object-schema.d.ts.map +1 -0
- package/dist/mcp-advisor/tools/list-registered-objects.d.ts +9 -0
- package/dist/mcp-advisor/tools/list-registered-objects.d.ts.map +1 -0
- package/dist/mcp-advisor/tools/preview-api-endpoints.d.ts +9 -0
- package/dist/mcp-advisor/tools/preview-api-endpoints.d.ts.map +1 -0
- package/dist/mcp-advisor/tools/preview-mcp-tools.d.ts +9 -0
- package/dist/mcp-advisor/tools/preview-mcp-tools.d.ts.map +1 -0
- package/dist/mcp-advisor/tools/validate-smrt-object.d.ts +6 -0
- package/dist/mcp-advisor/tools/validate-smrt-object.d.ts.map +1 -0
- package/dist/mcp-advisor/types.d.ts +209 -0
- package/dist/mcp-advisor/types.d.ts.map +1 -0
- package/dist/migrations/backfill-tracker.d.ts +84 -0
- package/dist/migrations/backfill-tracker.d.ts.map +1 -0
- package/dist/migrations/backfill-tracker.js +118 -0
- package/dist/migrations/backfill-tracker.js.map +1 -0
- package/dist/migrations/checksum.d.ts +43 -0
- package/dist/migrations/checksum.d.ts.map +1 -0
- package/dist/migrations/checksum.js +32 -0
- package/dist/migrations/checksum.js.map +1 -0
- package/dist/migrations/differ.d.ts +186 -0
- package/dist/migrations/differ.d.ts.map +1 -0
- package/dist/migrations/differ.js +601 -0
- package/dist/migrations/differ.js.map +1 -0
- package/dist/migrations/generator.d.ts +133 -0
- package/dist/migrations/generator.d.ts.map +1 -0
- package/dist/migrations/generator.js +328 -0
- package/dist/migrations/generator.js.map +1 -0
- package/dist/migrations/index.d.ts +20 -0
- package/dist/migrations/index.d.ts.map +1 -0
- package/dist/migrations/orchestrate.d.ts +148 -0
- package/dist/migrations/orchestrate.d.ts.map +1 -0
- package/dist/migrations/orchestrate.js +118 -0
- package/dist/migrations/orchestrate.js.map +1 -0
- package/dist/migrations/tracker.d.ts +134 -0
- package/dist/migrations/tracker.d.ts.map +1 -0
- package/dist/migrations/tracker.js +624 -0
- package/dist/migrations/tracker.js.map +1 -0
- package/dist/migrations/types.d.ts +221 -0
- package/dist/migrations/types.d.ts.map +1 -0
- package/dist/migrations.d.ts +7 -0
- package/dist/migrations.d.ts.map +1 -0
- package/dist/migrations.js +26 -0
- package/dist/migrations.js.map +1 -0
- package/dist/node_modules/.pnpm/balanced-match@4.0.4/node_modules/balanced-match/dist/esm/index.js +56 -0
- package/dist/node_modules/.pnpm/balanced-match@4.0.4/node_modules/balanced-match/dist/esm/index.js.map +1 -0
- package/dist/node_modules/.pnpm/brace-expansion@5.0.5/node_modules/brace-expansion/dist/esm/index.js +163 -0
- package/dist/node_modules/.pnpm/brace-expansion@5.0.5/node_modules/brace-expansion/dist/esm/index.js.map +1 -0
- package/dist/node_modules/.pnpm/minimatch@10.2.3/node_modules/minimatch/dist/esm/assert-valid-pattern.js +13 -0
- package/dist/node_modules/.pnpm/minimatch@10.2.3/node_modules/minimatch/dist/esm/assert-valid-pattern.js.map +1 -0
- package/dist/node_modules/.pnpm/minimatch@10.2.3/node_modules/minimatch/dist/esm/ast.js +654 -0
- package/dist/node_modules/.pnpm/minimatch@10.2.3/node_modules/minimatch/dist/esm/ast.js.map +1 -0
- package/dist/node_modules/.pnpm/minimatch@10.2.3/node_modules/minimatch/dist/esm/brace-expressions.js +111 -0
- package/dist/node_modules/.pnpm/minimatch@10.2.3/node_modules/minimatch/dist/esm/brace-expressions.js.map +1 -0
- package/dist/node_modules/.pnpm/minimatch@10.2.3/node_modules/minimatch/dist/esm/escape.js +10 -0
- package/dist/node_modules/.pnpm/minimatch@10.2.3/node_modules/minimatch/dist/esm/escape.js.map +1 -0
- package/dist/node_modules/.pnpm/minimatch@10.2.3/node_modules/minimatch/dist/esm/index.js +824 -0
- package/dist/node_modules/.pnpm/minimatch@10.2.3/node_modules/minimatch/dist/esm/index.js.map +1 -0
- package/dist/node_modules/.pnpm/minimatch@10.2.3/node_modules/minimatch/dist/esm/unescape.js +10 -0
- package/dist/node_modules/.pnpm/minimatch@10.2.3/node_modules/minimatch/dist/esm/unescape.js.map +1 -0
- package/dist/object.d.ts +1202 -0
- package/dist/object.d.ts.map +1 -0
- package/dist/object.js +2731 -0
- package/dist/object.js.map +1 -0
- package/dist/polymorphic-association.d.ts +69 -0
- package/dist/polymorphic-association.d.ts.map +1 -0
- package/dist/polymorphic-association.js +96 -0
- package/dist/polymorphic-association.js.map +1 -0
- package/dist/prebuild/cli.d.ts +7 -0
- package/dist/prebuild/cli.d.ts.map +1 -0
- package/dist/prebuild/cli.js +29 -0
- package/dist/prebuild/cli.js.map +1 -0
- package/dist/prebuild/index.d.ts +22 -0
- package/dist/prebuild/index.d.ts.map +1 -0
- package/dist/prebuild/index.js +239 -0
- package/dist/prebuild/index.js.map +1 -0
- package/dist/prebuild.d.ts +8 -0
- package/dist/prebuild.d.ts.map +1 -0
- package/dist/prebuild.js +6 -0
- package/dist/prebuild.js.map +1 -0
- package/dist/registry/cache-config.d.ts +13 -0
- package/dist/registry/cache-config.d.ts.map +1 -0
- package/dist/registry/cache-config.js +17 -0
- package/dist/registry/cache-config.js.map +1 -0
- package/dist/registry/class-registration.d.ts +31 -0
- package/dist/registry/class-registration.d.ts.map +1 -0
- package/dist/registry/class-registration.js +1074 -0
- package/dist/registry/class-registration.js.map +1 -0
- package/dist/registry/collection-resolution.d.ts +45 -0
- package/dist/registry/collection-resolution.d.ts.map +1 -0
- package/dist/registry/collection-resolution.js +121 -0
- package/dist/registry/collection-resolution.js.map +1 -0
- package/dist/registry/collision-policy.d.ts +179 -0
- package/dist/registry/collision-policy.d.ts.map +1 -0
- package/dist/registry/collision-policy.js +153 -0
- package/dist/registry/collision-policy.js.map +1 -0
- package/dist/registry/diagnostics.d.ts +58 -0
- package/dist/registry/diagnostics.d.ts.map +1 -0
- package/dist/registry/diagnostics.js +54 -0
- package/dist/registry/diagnostics.js.map +1 -0
- package/dist/registry/embedding-manager.d.ts +23 -0
- package/dist/registry/embedding-manager.d.ts.map +1 -0
- package/dist/registry/embedding-manager.js +62 -0
- package/dist/registry/embedding-manager.js.map +1 -0
- package/dist/registry/index.d.ts +13 -0
- package/dist/registry/index.d.ts.map +1 -0
- package/dist/registry/inheritance-resolver.d.ts +13 -0
- package/dist/registry/inheritance-resolver.d.ts.map +1 -0
- package/dist/registry/inheritance-resolver.js +244 -0
- package/dist/registry/inheritance-resolver.js.map +1 -0
- package/dist/registry/manifest-field-merge.d.ts +4 -0
- package/dist/registry/manifest-field-merge.d.ts.map +1 -0
- package/dist/registry/manifest-field-merge.js +82 -0
- package/dist/registry/manifest-field-merge.js.map +1 -0
- package/dist/registry/name-resolver.d.ts +102 -0
- package/dist/registry/name-resolver.d.ts.map +1 -0
- package/dist/registry/name-resolver.js +241 -0
- package/dist/registry/name-resolver.js.map +1 -0
- package/dist/registry/relationship-graph.d.ts +16 -0
- package/dist/registry/relationship-graph.d.ts.map +1 -0
- package/dist/registry/relationship-graph.js +79 -0
- package/dist/registry/relationship-graph.js.map +1 -0
- package/dist/registry/schema-builder.d.ts +113 -0
- package/dist/registry/schema-builder.d.ts.map +1 -0
- package/dist/registry/schema-builder.js +474 -0
- package/dist/registry/schema-builder.js.map +1 -0
- package/dist/registry/shared-state.d.ts +62 -0
- package/dist/registry/shared-state.d.ts.map +1 -0
- package/dist/registry/shared-state.js +135 -0
- package/dist/registry/shared-state.js.map +1 -0
- package/dist/registry/types.d.ts +667 -0
- package/dist/registry/types.d.ts.map +1 -0
- package/dist/registry/validator.d.ts +13 -0
- package/dist/registry/validator.d.ts.map +1 -0
- package/dist/registry/validator.js +138 -0
- package/dist/registry/validator.js.map +1 -0
- package/dist/registry.d.ts +1358 -0
- package/dist/registry.d.ts.map +1 -0
- package/dist/registry.js +2301 -0
- package/dist/registry.js.map +1 -0
- package/dist/runtime/client.d.ts +34 -0
- package/dist/runtime/client.d.ts.map +1 -0
- package/dist/runtime/client.js +104 -0
- package/dist/runtime/client.js.map +1 -0
- package/dist/runtime/index.d.ts +10 -0
- package/dist/runtime/index.d.ts.map +1 -0
- package/dist/runtime/mcp.d.ts +47 -0
- package/dist/runtime/mcp.d.ts.map +1 -0
- package/dist/runtime/mcp.js +72 -0
- package/dist/runtime/mcp.js.map +1 -0
- package/dist/runtime/server.d.ts +92 -0
- package/dist/runtime/server.d.ts.map +1 -0
- package/dist/runtime/server.js +390 -0
- package/dist/runtime/server.js.map +1 -0
- package/dist/runtime/types.d.ts +58 -0
- package/dist/runtime/types.d.ts.map +1 -0
- package/dist/runtime.d.ts +8 -0
- package/dist/runtime.d.ts.map +1 -0
- package/dist/runtime.js +10 -0
- package/dist/runtime.js.map +1 -0
- package/dist/scanner/import-scanner.d.ts +7 -0
- package/dist/scanner/import-scanner.d.ts.map +1 -0
- package/dist/scanner/index.d.ts +12 -0
- package/dist/scanner/index.d.ts.map +1 -0
- package/dist/scanner/manifest-generator.d.ts +304 -0
- package/dist/scanner/manifest-generator.d.ts.map +1 -0
- package/dist/scanner/manifest-generator.js +1707 -0
- package/dist/scanner/manifest-generator.js.map +1 -0
- package/dist/scanner/test-file-patterns.d.ts +18 -0
- package/dist/scanner/test-file-patterns.d.ts.map +1 -0
- package/dist/scanner/test-file-patterns.js +16 -0
- package/dist/scanner/test-file-patterns.js.map +1 -0
- package/dist/scanner/types.d.ts +313 -0
- package/dist/scanner/types.d.ts.map +1 -0
- package/dist/scanner/types.js +2 -0
- package/dist/scanner/types.js.map +1 -0
- package/dist/scanner.d.ts +6 -0
- package/dist/scanner.d.ts.map +1 -0
- package/dist/scanner.js +6 -0
- package/dist/scanner.js.map +1 -0
- package/dist/schema/code-generator.d.ts +53 -0
- package/dist/schema/code-generator.d.ts.map +1 -0
- package/dist/schema/ddl/base-strategy.d.ts +80 -0
- package/dist/schema/ddl/base-strategy.d.ts.map +1 -0
- package/dist/schema/ddl/base-strategy.js +240 -0
- package/dist/schema/ddl/base-strategy.js.map +1 -0
- package/dist/schema/ddl/duckdb-strategy.d.ts +33 -0
- package/dist/schema/ddl/duckdb-strategy.d.ts.map +1 -0
- package/dist/schema/ddl/duckdb-strategy.js +74 -0
- package/dist/schema/ddl/duckdb-strategy.js.map +1 -0
- package/dist/schema/ddl/index.d.ts +53 -0
- package/dist/schema/ddl/index.d.ts.map +1 -0
- package/dist/schema/ddl/index.js +80 -0
- package/dist/schema/ddl/index.js.map +1 -0
- package/dist/schema/ddl/json-duckdb-strategy.d.ts +8 -0
- package/dist/schema/ddl/json-duckdb-strategy.d.ts.map +1 -0
- package/dist/schema/ddl/json-duckdb-strategy.js +14 -0
- package/dist/schema/ddl/json-duckdb-strategy.js.map +1 -0
- package/dist/schema/ddl/postgres-strategy.d.ts +29 -0
- package/dist/schema/ddl/postgres-strategy.d.ts.map +1 -0
- package/dist/schema/ddl/postgres-strategy.js +102 -0
- package/dist/schema/ddl/postgres-strategy.js.map +1 -0
- package/dist/schema/ddl/sqlite-strategy.d.ts +38 -0
- package/dist/schema/ddl/sqlite-strategy.d.ts.map +1 -0
- package/dist/schema/ddl/sqlite-strategy.js +74 -0
- package/dist/schema/ddl/sqlite-strategy.js.map +1 -0
- package/dist/schema/ddl/types.d.ts +114 -0
- package/dist/schema/ddl/types.d.ts.map +1 -0
- package/dist/schema/generator.d.ts +176 -0
- package/dist/schema/generator.d.ts.map +1 -0
- package/dist/schema/generator.js +1076 -0
- package/dist/schema/generator.js.map +1 -0
- package/dist/schema/index-utils.d.ts +19 -0
- package/dist/schema/index-utils.d.ts.map +1 -0
- package/dist/schema/index-utils.js +32 -0
- package/dist/schema/index-utils.js.map +1 -0
- package/dist/schema/index.d.ts +13 -0
- package/dist/schema/index.d.ts.map +1 -0
- package/dist/schema/override-system.d.ts +43 -0
- package/dist/schema/override-system.d.ts.map +1 -0
- package/dist/schema/schema-aggregator.d.ts +112 -0
- package/dist/schema/schema-aggregator.d.ts.map +1 -0
- package/dist/schema/schema-manager.d.ts +95 -0
- package/dist/schema/schema-manager.d.ts.map +1 -0
- package/dist/schema/schema-manager.js +283 -0
- package/dist/schema/schema-manager.js.map +1 -0
- package/dist/schema/sql-identifiers.d.ts +107 -0
- package/dist/schema/sql-identifiers.d.ts.map +1 -0
- package/dist/schema/sql-identifiers.js +190 -0
- package/dist/schema/sql-identifiers.js.map +1 -0
- package/dist/schema/table-verifier.d.ts +10 -0
- package/dist/schema/table-verifier.d.ts.map +1 -0
- package/dist/schema/table-verifier.js +37 -0
- package/dist/schema/table-verifier.js.map +1 -0
- package/dist/schema/types.d.ts +241 -0
- package/dist/schema/types.d.ts.map +1 -0
- package/dist/schema/utils.d.ts +32 -0
- package/dist/schema/utils.d.ts.map +1 -0
- package/dist/schema/utils.js +134 -0
- package/dist/schema/utils.js.map +1 -0
- package/dist/scripts/create-wrappers.js +89 -0
- package/dist/scripts/generate-manifest.js +155 -0
- package/dist/scripts/generate-test-manifest.js +77 -0
- package/dist/scripts/migrate-datetime-to-timestamp.ts +310 -0
- package/dist/scripts/prepack.js +49 -0
- package/dist/signals/bus.d.ts +64 -0
- package/dist/signals/bus.d.ts.map +1 -0
- package/dist/signals/bus.js +102 -0
- package/dist/signals/bus.js.map +1 -0
- package/dist/signals/index.d.ts +11 -0
- package/dist/signals/index.d.ts.map +1 -0
- package/dist/signals/sanitizer.d.ts +54 -0
- package/dist/signals/sanitizer.d.ts.map +1 -0
- package/dist/signals/sanitizer.js +111 -0
- package/dist/signals/sanitizer.js.map +1 -0
- package/dist/smrt-knowledge.json +335 -0
- package/dist/system/compatibility.d.ts +8 -0
- package/dist/system/compatibility.d.ts.map +1 -0
- package/dist/system/compatibility.js +409 -0
- package/dist/system/compatibility.js.map +1 -0
- package/dist/system/index.d.ts +9 -0
- package/dist/system/index.d.ts.map +1 -0
- package/dist/system/schema.d.ts +69 -0
- package/dist/system/schema.d.ts.map +1 -0
- package/dist/system/schema.js +271 -0
- package/dist/system/schema.js.map +1 -0
- package/dist/system/types.d.ts +135 -0
- package/dist/system/types.d.ts.map +1 -0
- package/dist/system-fields.d.ts +44 -0
- package/dist/system-fields.d.ts.map +1 -0
- package/dist/system-fields.js +55 -0
- package/dist/system-fields.js.map +1 -0
- package/dist/table-cache.d.ts +28 -0
- package/dist/table-cache.d.ts.map +1 -0
- package/dist/table-cache.js +21 -0
- package/dist/table-cache.js.map +1 -0
- package/dist/test-utils.d.ts +140 -0
- package/dist/test-utils.d.ts.map +1 -0
- package/dist/testing/database.d.ts +73 -0
- package/dist/testing/database.d.ts.map +1 -0
- package/dist/testing/database.js +204 -0
- package/dist/testing/database.js.map +1 -0
- package/dist/testing/index.d.ts +21 -0
- package/dist/testing/index.d.ts.map +1 -0
- package/dist/testing.d.ts +6 -0
- package/dist/testing.d.ts.map +1 -0
- package/dist/testing.js +5 -0
- package/dist/testing.js.map +1 -0
- package/dist/tools/index.d.ts +8 -0
- package/dist/tools/index.d.ts.map +1 -0
- package/dist/tools/tool-executor.d.ts +101 -0
- package/dist/tools/tool-executor.d.ts.map +1 -0
- package/dist/tools/tool-executor.js +142 -0
- package/dist/tools/tool-executor.js.map +1 -0
- package/dist/tools/tool-generator.d.ts +54 -0
- package/dist/tools/tool-generator.d.ts.map +1 -0
- package/dist/tools/tool-generator.js +121 -0
- package/dist/tools/tool-generator.js.map +1 -0
- package/dist/utils/chunk.d.ts +32 -0
- package/dist/utils/chunk.d.ts.map +1 -0
- package/dist/utils/chunk.js +14 -0
- package/dist/utils/chunk.js.map +1 -0
- package/dist/utils/import-workspace-module.d.ts +8 -0
- package/dist/utils/import-workspace-module.d.ts.map +1 -0
- package/dist/utils/import-workspace-module.js +81 -0
- package/dist/utils/import-workspace-module.js.map +1 -0
- package/dist/utils/json.d.ts +102 -0
- package/dist/utils/json.d.ts.map +1 -0
- package/dist/utils/json.js +43 -0
- package/dist/utils/json.js.map +1 -0
- package/dist/utils/lru-cache.d.ts +69 -0
- package/dist/utils/lru-cache.d.ts.map +1 -0
- package/dist/utils/lru-cache.js +100 -0
- package/dist/utils/lru-cache.js.map +1 -0
- package/dist/utils/naming.d.ts +16 -0
- package/dist/utils/naming.d.ts.map +1 -0
- package/dist/utils/naming.js +23 -0
- package/dist/utils/naming.js.map +1 -0
- package/dist/utils/qualified-names.d.ts +122 -0
- package/dist/utils/qualified-names.d.ts.map +1 -0
- package/dist/utils/qualified-names.js +82 -0
- package/dist/utils/qualified-names.js.map +1 -0
- package/dist/utils/scanner-module.d.ts +37 -0
- package/dist/utils/scanner-module.d.ts.map +1 -0
- package/dist/utils.d.ts +177 -0
- package/dist/utils.d.ts.map +1 -0
- package/dist/utils.js +185 -0
- package/dist/utils.js.map +1 -0
- package/dist/vite-plugin/import-build-aware.d.ts +68 -0
- package/dist/vite-plugin/import-build-aware.d.ts.map +1 -0
- package/dist/vite-plugin/import-build-aware.js +72 -0
- package/dist/vite-plugin/import-build-aware.js.map +1 -0
- package/dist/vite-plugin/index.d.ts +59 -0
- package/dist/vite-plugin/index.d.ts.map +1 -0
- package/dist/vite-plugin/index.js +1400 -0
- package/dist/vite-plugin/index.js.map +1 -0
- package/dist/vite-plugin/sveltekit-generator.d.ts +66 -0
- package/dist/vite-plugin/sveltekit-generator.d.ts.map +1 -0
- package/dist/vite-plugin/sveltekit-generator.js +1375 -0
- package/dist/vite-plugin/sveltekit-generator.js.map +1 -0
- package/dist/vite-plugin/templates/default-ui.ts +432 -0
- package/dist/vite-plugin/templates/default.html +206 -0
- package/dist/vite-plugin.d.ts +8 -0
- package/dist/vite-plugin.d.ts.map +1 -0
- package/dist/vite-plugin.js +11 -0
- package/dist/vite-plugin.js.map +1 -0
- package/package.json +208 -0
|
@@ -0,0 +1,250 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Embedding Types for SMRT Framework
|
|
3
|
+
*
|
|
4
|
+
* Types for centralized embedding storage and semantic search.
|
|
5
|
+
*/
|
|
6
|
+
/**
|
|
7
|
+
* Embedding provider type
|
|
8
|
+
*/
|
|
9
|
+
export type EmbeddingProviderType = 'local' | 'ai' | 'auto';
|
|
10
|
+
/**
|
|
11
|
+
* Project-level embedding configuration (from smrt.config)
|
|
12
|
+
*/
|
|
13
|
+
export interface ProjectEmbeddingConfig {
|
|
14
|
+
/**
|
|
15
|
+
* Standard dimensions for the project
|
|
16
|
+
* @default 768
|
|
17
|
+
*/
|
|
18
|
+
dimensions: number;
|
|
19
|
+
/**
|
|
20
|
+
* Embedding provider type
|
|
21
|
+
* - 'local': Use local Node.js model (@huggingface/transformers or
|
|
22
|
+
* @xenova/transformers)
|
|
23
|
+
* - 'ai': Use AI library (OpenAI, etc.)
|
|
24
|
+
* - 'auto': Prefer configured AI embeddings, otherwise use local embeddings
|
|
25
|
+
* when explicitly invoked
|
|
26
|
+
* @default 'local'
|
|
27
|
+
*/
|
|
28
|
+
provider: EmbeddingProviderType;
|
|
29
|
+
/**
|
|
30
|
+
* Local model to use (when provider is 'local' or 'auto')
|
|
31
|
+
* @default 'Xenova/bge-base-en-v1.5'
|
|
32
|
+
*/
|
|
33
|
+
localModel?: string;
|
|
34
|
+
/**
|
|
35
|
+
* AI model to use (when provider is 'ai' or fallback)
|
|
36
|
+
* @default 'text-embedding-3-small'
|
|
37
|
+
*/
|
|
38
|
+
aiModel?: string;
|
|
39
|
+
/**
|
|
40
|
+
* Legacy local-first auto fallback option.
|
|
41
|
+
*
|
|
42
|
+
* @deprecated `auto` now selects AI first when available and otherwise uses
|
|
43
|
+
* local embeddings. This option is accepted for backwards compatibility but
|
|
44
|
+
* no longer changes provider selection.
|
|
45
|
+
*/
|
|
46
|
+
fallbackToAI?: boolean;
|
|
47
|
+
/**
|
|
48
|
+
* Storage mode for embeddings
|
|
49
|
+
* - 'json': Store as JSON text, in-memory similarity (works everywhere)
|
|
50
|
+
* - 'native': Use database vector operations when available, fallback to json
|
|
51
|
+
* @default 'json'
|
|
52
|
+
*/
|
|
53
|
+
storage?: 'json' | 'native';
|
|
54
|
+
}
|
|
55
|
+
/**
|
|
56
|
+
* Per-class embedding configuration (from @smrt decorator)
|
|
57
|
+
*/
|
|
58
|
+
export interface ClassEmbeddingConfig {
|
|
59
|
+
/**
|
|
60
|
+
* Fields to generate embeddings for
|
|
61
|
+
*/
|
|
62
|
+
fields: string[];
|
|
63
|
+
/**
|
|
64
|
+
* Override provider for this class
|
|
65
|
+
*/
|
|
66
|
+
provider?: EmbeddingProviderType;
|
|
67
|
+
/**
|
|
68
|
+
* Auto-generate embeddings on save
|
|
69
|
+
* @default true
|
|
70
|
+
*/
|
|
71
|
+
autoGenerate?: boolean;
|
|
72
|
+
/**
|
|
73
|
+
* Only regenerate if content changed (hash-based detection)
|
|
74
|
+
* @default true
|
|
75
|
+
*/
|
|
76
|
+
regenerateOnChange?: boolean;
|
|
77
|
+
/**
|
|
78
|
+
* Combined field for semantic search
|
|
79
|
+
* Creates a virtual embedding from multiple fields
|
|
80
|
+
*/
|
|
81
|
+
combinedField?: {
|
|
82
|
+
/**
|
|
83
|
+
* Name of the virtual field (e.g., 'content')
|
|
84
|
+
*/
|
|
85
|
+
name: string;
|
|
86
|
+
/**
|
|
87
|
+
* Template for combining fields (e.g., '{title}\n\n{body}')
|
|
88
|
+
*/
|
|
89
|
+
template: string;
|
|
90
|
+
};
|
|
91
|
+
}
|
|
92
|
+
/**
|
|
93
|
+
* Resolved embedding configuration (project + class merged)
|
|
94
|
+
*/
|
|
95
|
+
export interface ResolvedEmbeddingConfig extends ClassEmbeddingConfig {
|
|
96
|
+
/**
|
|
97
|
+
* Dimensions for this class (from project or override)
|
|
98
|
+
*/
|
|
99
|
+
dimensions: number;
|
|
100
|
+
/**
|
|
101
|
+
* Resolved provider
|
|
102
|
+
*/
|
|
103
|
+
provider: EmbeddingProviderType;
|
|
104
|
+
/**
|
|
105
|
+
* Local model to use
|
|
106
|
+
*/
|
|
107
|
+
localModel: string;
|
|
108
|
+
/**
|
|
109
|
+
* AI model to use
|
|
110
|
+
*/
|
|
111
|
+
aiModel: string;
|
|
112
|
+
/**
|
|
113
|
+
* Legacy fallback behavior retained for compatibility
|
|
114
|
+
*/
|
|
115
|
+
fallbackToAI: boolean;
|
|
116
|
+
}
|
|
117
|
+
/**
|
|
118
|
+
* Stored embedding record in _smrt_embeddings table
|
|
119
|
+
*/
|
|
120
|
+
export interface StoredEmbedding {
|
|
121
|
+
/**
|
|
122
|
+
* Unique identifier
|
|
123
|
+
*/
|
|
124
|
+
id: string;
|
|
125
|
+
/**
|
|
126
|
+
* Class name of the source object
|
|
127
|
+
*/
|
|
128
|
+
object_class: string;
|
|
129
|
+
/**
|
|
130
|
+
* ID of the source object
|
|
131
|
+
*/
|
|
132
|
+
object_id: string;
|
|
133
|
+
/**
|
|
134
|
+
* Field name that was embedded
|
|
135
|
+
*/
|
|
136
|
+
field_name: string;
|
|
137
|
+
/**
|
|
138
|
+
* SHA-256 hash of the source content
|
|
139
|
+
*/
|
|
140
|
+
content_hash: string;
|
|
141
|
+
/**
|
|
142
|
+
* Embedding vector (as number array)
|
|
143
|
+
*/
|
|
144
|
+
embedding: number[];
|
|
145
|
+
/**
|
|
146
|
+
* Model used to generate the embedding
|
|
147
|
+
*/
|
|
148
|
+
model: string;
|
|
149
|
+
/**
|
|
150
|
+
* Number of dimensions
|
|
151
|
+
*/
|
|
152
|
+
dimensions: number;
|
|
153
|
+
/**
|
|
154
|
+
* Provider used ('local' or 'ai')
|
|
155
|
+
*/
|
|
156
|
+
provider?: string;
|
|
157
|
+
/**
|
|
158
|
+
* Creation timestamp
|
|
159
|
+
*/
|
|
160
|
+
created_at: Date;
|
|
161
|
+
/**
|
|
162
|
+
* Last update timestamp
|
|
163
|
+
*/
|
|
164
|
+
updated_at: Date;
|
|
165
|
+
}
|
|
166
|
+
/**
|
|
167
|
+
* Options for embedding generation
|
|
168
|
+
*/
|
|
169
|
+
export interface GenerateEmbeddingsOptions {
|
|
170
|
+
/**
|
|
171
|
+
* Override which fields to embed
|
|
172
|
+
*/
|
|
173
|
+
fields?: string[];
|
|
174
|
+
/**
|
|
175
|
+
* Override provider
|
|
176
|
+
*/
|
|
177
|
+
provider?: EmbeddingProviderType;
|
|
178
|
+
/**
|
|
179
|
+
* Force regeneration even if content unchanged
|
|
180
|
+
*/
|
|
181
|
+
force?: boolean;
|
|
182
|
+
}
|
|
183
|
+
/**
|
|
184
|
+
* Options for semantic search
|
|
185
|
+
*/
|
|
186
|
+
export interface SemanticSearchOptions {
|
|
187
|
+
/**
|
|
188
|
+
* Field to search (default: combined field or first configured field)
|
|
189
|
+
*/
|
|
190
|
+
field?: string;
|
|
191
|
+
/**
|
|
192
|
+
* Maximum results
|
|
193
|
+
* @default 10
|
|
194
|
+
*/
|
|
195
|
+
limit?: number;
|
|
196
|
+
/**
|
|
197
|
+
* Minimum cosine similarity (0-1)
|
|
198
|
+
* @default 0
|
|
199
|
+
*/
|
|
200
|
+
minSimilarity?: number;
|
|
201
|
+
/**
|
|
202
|
+
* Additional SQL filters
|
|
203
|
+
*/
|
|
204
|
+
where?: Record<string, unknown>;
|
|
205
|
+
}
|
|
206
|
+
/**
|
|
207
|
+
* Options for finding similar objects
|
|
208
|
+
*/
|
|
209
|
+
export interface FindSimilarOptions extends Omit<SemanticSearchOptions, 'where'> {
|
|
210
|
+
/**
|
|
211
|
+
* Exclude the source object from results
|
|
212
|
+
* @default true
|
|
213
|
+
*/
|
|
214
|
+
excludeSelf?: boolean;
|
|
215
|
+
}
|
|
216
|
+
/**
|
|
217
|
+
* Result of batch embedding generation
|
|
218
|
+
*/
|
|
219
|
+
export interface BatchGenerateResult {
|
|
220
|
+
/**
|
|
221
|
+
* Number of objects that had embeddings generated
|
|
222
|
+
*/
|
|
223
|
+
generated: number;
|
|
224
|
+
/**
|
|
225
|
+
* Number of objects skipped (unchanged content)
|
|
226
|
+
*/
|
|
227
|
+
skipped: number;
|
|
228
|
+
}
|
|
229
|
+
/**
|
|
230
|
+
* Progress callback for batch operations
|
|
231
|
+
*/
|
|
232
|
+
export type BatchProgressCallback = (progress: {
|
|
233
|
+
completed: number;
|
|
234
|
+
total: number;
|
|
235
|
+
}) => void;
|
|
236
|
+
/**
|
|
237
|
+
* Options for batch embedding generation
|
|
238
|
+
*/
|
|
239
|
+
export interface BatchGenerateOptions {
|
|
240
|
+
/**
|
|
241
|
+
* Number of objects to process at once
|
|
242
|
+
* @default 50
|
|
243
|
+
*/
|
|
244
|
+
batchSize?: number;
|
|
245
|
+
/**
|
|
246
|
+
* Progress callback
|
|
247
|
+
*/
|
|
248
|
+
onProgress?: BatchProgressCallback;
|
|
249
|
+
}
|
|
250
|
+
//# sourceMappingURL=types.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/embeddings/types.ts"],"names":[],"mappings":"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"}
|
package/dist/errors.d.ts
ADDED
|
@@ -0,0 +1,363 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Comprehensive error handling system for SMRT framework
|
|
3
|
+
*
|
|
4
|
+
* Provides specialized error types for different failure scenarios
|
|
5
|
+
* with proper error codes, messages, and debugging information.
|
|
6
|
+
*/
|
|
7
|
+
export declare abstract class SmrtError extends Error {
|
|
8
|
+
readonly code: string;
|
|
9
|
+
readonly category: 'database' | 'ai' | 'filesystem' | 'validation' | 'network' | 'configuration' | 'runtime';
|
|
10
|
+
readonly details?: Record<string, any>;
|
|
11
|
+
readonly cause?: Error;
|
|
12
|
+
constructor(message: string, code: string, category: SmrtError['category'], details?: Record<string, any>, cause?: Error);
|
|
13
|
+
/**
|
|
14
|
+
* Converts error to a serializable object for logging/debugging
|
|
15
|
+
*/
|
|
16
|
+
toJSON(): {
|
|
17
|
+
name: string;
|
|
18
|
+
message: string;
|
|
19
|
+
code: string;
|
|
20
|
+
category: "ai" | "database" | "filesystem" | "validation" | "network" | "configuration" | "runtime";
|
|
21
|
+
details: Record<string, any> | undefined;
|
|
22
|
+
stack: string | undefined;
|
|
23
|
+
cause: {
|
|
24
|
+
name: string;
|
|
25
|
+
message: string;
|
|
26
|
+
stack: string | undefined;
|
|
27
|
+
} | undefined;
|
|
28
|
+
};
|
|
29
|
+
}
|
|
30
|
+
/**
|
|
31
|
+
* Errors originating from database operations.
|
|
32
|
+
*
|
|
33
|
+
* Use the static factory methods rather than the constructor directly:
|
|
34
|
+
* - `DatabaseError.connectionFailed(url, cause)` — DB connection failure
|
|
35
|
+
* - `DatabaseError.queryFailed(query, cause)` — SQL execution error
|
|
36
|
+
* - `DatabaseError.schemaError(table, op, cause)` — DDL/migration error
|
|
37
|
+
* - `DatabaseError.constraintViolation(constraint, value, cause)` — FK/CHECK/UNIQUE
|
|
38
|
+
* - `DatabaseError.corruptedData(field, class, cause)` — unparse-able column data
|
|
39
|
+
* - `DatabaseError.missingDiscriminator(class, rowId)` — STI row missing `_meta_type`
|
|
40
|
+
* - `DatabaseError.stiDiscriminatorConflict(...)` — legacy STI discriminator collides during qualification
|
|
41
|
+
* - `DatabaseError.schemaMissing(table, class)` — table not yet migrated
|
|
42
|
+
*
|
|
43
|
+
* All errors have `category: 'database'` and codes prefixed with `DB_`.
|
|
44
|
+
*/
|
|
45
|
+
export declare class DatabaseError extends SmrtError {
|
|
46
|
+
constructor(message: string, code: string, details?: Record<string, any>, cause?: Error);
|
|
47
|
+
static connectionFailed(dbUrl: string, cause?: Error): DatabaseError;
|
|
48
|
+
static queryFailed(query: string, cause?: Error): DatabaseError;
|
|
49
|
+
static schemaError(tableName: string, operation: string, cause?: Error): DatabaseError;
|
|
50
|
+
static constraintViolation(constraint: string, value: any, cause?: Error): DatabaseError;
|
|
51
|
+
static corruptedData(fieldName: string, className: string, cause?: Error): DatabaseError;
|
|
52
|
+
static missingDiscriminator(className: string, rowId?: string): DatabaseError;
|
|
53
|
+
static stiDiscriminatorConflict(details: {
|
|
54
|
+
className: string;
|
|
55
|
+
tableName: string;
|
|
56
|
+
id: string;
|
|
57
|
+
slug: string;
|
|
58
|
+
context: string;
|
|
59
|
+
conflictIdentity: Record<string, any>;
|
|
60
|
+
legacyMetaType: string;
|
|
61
|
+
qualifiedMetaType: string;
|
|
62
|
+
duplicateId: string;
|
|
63
|
+
}): DatabaseError;
|
|
64
|
+
static schemaMissing(tableName: string, className: string): DatabaseError;
|
|
65
|
+
}
|
|
66
|
+
/**
|
|
67
|
+
* Errors from AI provider integrations.
|
|
68
|
+
*
|
|
69
|
+
* Use the static factory methods:
|
|
70
|
+
* - `AIError.providerError(provider, operation, cause)` — generic provider failure
|
|
71
|
+
* - `AIError.rateLimitExceeded(provider, retryAfter)` — rate limit hit
|
|
72
|
+
* - `AIError.invalidResponse(provider, response)` — unexpected response shape
|
|
73
|
+
* - `AIError.authenticationFailed(provider)` — bad API key / credentials
|
|
74
|
+
*
|
|
75
|
+
* All errors have `category: 'ai'` and codes prefixed with `AI_`.
|
|
76
|
+
* AI errors are considered retryable by `ErrorUtils.isRetryable()`.
|
|
77
|
+
*/
|
|
78
|
+
export declare class AIError extends SmrtError {
|
|
79
|
+
constructor(message: string, code: string, details?: Record<string, any>, cause?: Error);
|
|
80
|
+
static providerError(provider: string, operation: string, cause?: Error): AIError;
|
|
81
|
+
static rateLimitExceeded(provider: string, retryAfter?: number): AIError;
|
|
82
|
+
static invalidResponse(provider: string, response: any): AIError;
|
|
83
|
+
static authenticationFailed(provider: string): AIError;
|
|
84
|
+
}
|
|
85
|
+
/**
|
|
86
|
+
* Errors from filesystem operations.
|
|
87
|
+
*
|
|
88
|
+
* Use the static factory methods:
|
|
89
|
+
* - `FilesystemError.fileNotFound(path)` — file does not exist
|
|
90
|
+
* - `FilesystemError.permissionDenied(path, operation)` — access denied
|
|
91
|
+
* - `FilesystemError.diskSpaceExceeded(path, requiredBytes)` — insufficient space
|
|
92
|
+
*
|
|
93
|
+
* All errors have `category: 'filesystem'` and codes prefixed with `FS_`.
|
|
94
|
+
*/
|
|
95
|
+
export declare class FilesystemError extends SmrtError {
|
|
96
|
+
constructor(message: string, code: string, details?: Record<string, any>, cause?: Error);
|
|
97
|
+
static fileNotFound(path: string): FilesystemError;
|
|
98
|
+
static permissionDenied(path: string, operation: string): FilesystemError;
|
|
99
|
+
static diskSpaceExceeded(path: string, requiredBytes: number): FilesystemError;
|
|
100
|
+
}
|
|
101
|
+
/**
|
|
102
|
+
* Input/data validation errors thrown before or during a database operation.
|
|
103
|
+
*
|
|
104
|
+
* `save()` throws `ValidationError` when field validation fails. The collection's
|
|
105
|
+
* `convertWhereKeys()` throws it for invalid WHERE clause operators or field names.
|
|
106
|
+
* `ValidationError` is **not** retried by `ErrorUtils.withRetry()`.
|
|
107
|
+
*
|
|
108
|
+
* Use the static factory methods:
|
|
109
|
+
* - `ValidationError.requiredField(field, objectType)` — missing required field
|
|
110
|
+
* - `ValidationError.invalidValue(field, value, expected)` — wrong type/format
|
|
111
|
+
* - `ValidationError.uniqueConstraint(field, value)` — duplicate unique value
|
|
112
|
+
* - `ValidationError.rangeError(field, value, min?, max?)` — out of allowed range
|
|
113
|
+
*
|
|
114
|
+
* All errors have `category: 'validation'` and codes prefixed with `VALIDATION_`.
|
|
115
|
+
*/
|
|
116
|
+
export declare class ValidationError extends SmrtError {
|
|
117
|
+
constructor(message: string, code: string, details?: Record<string, any>, cause?: Error);
|
|
118
|
+
static requiredField(fieldName: string, objectType: string): ValidationError;
|
|
119
|
+
static invalidValue(fieldName: string, value: any, expectedType: string): ValidationError;
|
|
120
|
+
static uniqueConstraint(fieldName: string, value: any): ValidationError;
|
|
121
|
+
static rangeError(fieldName: string, value: number, min?: number, max?: number): ValidationError;
|
|
122
|
+
}
|
|
123
|
+
/**
|
|
124
|
+
* Errors from HTTP and external network operations.
|
|
125
|
+
*
|
|
126
|
+
* Use the static factory methods:
|
|
127
|
+
* - `NetworkError.requestFailed(url, status?, body?)` — non-2xx response or connection failure
|
|
128
|
+
* - `NetworkError.timeout(url, timeoutMs)` — request exceeded timeout
|
|
129
|
+
* - `NetworkError.serviceUnavailable(service, reason?)` — external service down
|
|
130
|
+
*
|
|
131
|
+
* All errors have `category: 'network'` and codes prefixed with `NETWORK_`.
|
|
132
|
+
* Network errors are considered retryable by `ErrorUtils.isRetryable()`.
|
|
133
|
+
*/
|
|
134
|
+
export declare class NetworkError extends SmrtError {
|
|
135
|
+
constructor(message: string, code: string, details?: Record<string, any>, cause?: Error);
|
|
136
|
+
static requestFailed(url: string, status?: number, responseBody?: string | Error): NetworkError;
|
|
137
|
+
static timeout(url: string, timeoutMs: number): NetworkError;
|
|
138
|
+
static serviceUnavailable(service: string, reason?: string): NetworkError;
|
|
139
|
+
}
|
|
140
|
+
/**
|
|
141
|
+
* Errors from misconfigured or incompatible class/framework setup.
|
|
142
|
+
*
|
|
143
|
+
* These are typically thrown during class registration (i.e. at module load time),
|
|
144
|
+
* not during normal request handling.
|
|
145
|
+
*
|
|
146
|
+
* Use the static factory methods:
|
|
147
|
+
* - `ConfigurationError.missingConfiguration(key, context?)` — missing required config
|
|
148
|
+
* - `ConfigurationError.invalidConfiguration(key, value, expected)` — wrong config type/value
|
|
149
|
+
* - `ConfigurationError.initializationFailed(component, cause?)` — component failed to start
|
|
150
|
+
* - `ConfigurationError.circularInheritance(class, chain)` — circular class inheritance
|
|
151
|
+
* - `ConfigurationError.incompatibleStrategy(class, strategy, parent, parentStrategy)` — STI mismatch
|
|
152
|
+
* - `ConfigurationError.unregisteredBaseClass(child, base)` — STI base not yet registered
|
|
153
|
+
*
|
|
154
|
+
* All errors have `category: 'configuration'` and codes prefixed with `CONFIG_`.
|
|
155
|
+
* Configuration errors are **not** retried by `ErrorUtils.withRetry()`.
|
|
156
|
+
*/
|
|
157
|
+
export declare class ConfigurationError extends SmrtError {
|
|
158
|
+
constructor(message: string, code: string, details?: Record<string, any>, cause?: Error);
|
|
159
|
+
static missingConfiguration(configKey: string, context?: string): ConfigurationError;
|
|
160
|
+
static invalidConfiguration(configKey: string, value: any, expected: string): ConfigurationError;
|
|
161
|
+
static initializationFailed(component: string, cause?: Error): ConfigurationError;
|
|
162
|
+
static circularInheritance(className: string, inheritanceChain: string[]): ConfigurationError;
|
|
163
|
+
static incompatibleStrategy(className: string, classStrategy: string, parentClass: string, parentStrategy: string): ConfigurationError;
|
|
164
|
+
static unregisteredBaseClass(childClass: string, baseClass: string): ConfigurationError;
|
|
165
|
+
}
|
|
166
|
+
/**
|
|
167
|
+
* Errors representing unexpected runtime failures not covered by other categories.
|
|
168
|
+
*
|
|
169
|
+
* `RuntimeError` is the catch-all for internal framework errors — invalid object
|
|
170
|
+
* state, exhausted resources, or failures in operations like `save()` and `loadFromId()`
|
|
171
|
+
* that propagate from an unknown cause.
|
|
172
|
+
*
|
|
173
|
+
* Use the static factory methods:
|
|
174
|
+
* - `RuntimeError.operationFailed(operation, context?, cause?)` — generic operation failure
|
|
175
|
+
* - `RuntimeError.invalidState(message, context?)` — unexpected object/system state
|
|
176
|
+
* - `RuntimeError.resourceExhausted(resource, limit)` — limit exceeded (e.g. connections)
|
|
177
|
+
*
|
|
178
|
+
* All errors have `category: 'runtime'` and codes prefixed with `RUNTIME_`.
|
|
179
|
+
*/
|
|
180
|
+
export declare class RuntimeError extends SmrtError {
|
|
181
|
+
constructor(message: string, code: string, details?: Record<string, any>, cause?: Error);
|
|
182
|
+
static operationFailed(operation: string, context?: string, cause?: Error): RuntimeError;
|
|
183
|
+
static invalidState(message: string, context?: Record<string, any>): RuntimeError;
|
|
184
|
+
static resourceExhausted(resource: string, limit: number): RuntimeError;
|
|
185
|
+
}
|
|
186
|
+
/**
|
|
187
|
+
* Error thrown when a tenant isolation boundary is crossed while resolving a
|
|
188
|
+
* relationship.
|
|
189
|
+
*
|
|
190
|
+
* Raised by {@link SmrtObject.loadRelated} / {@link SmrtObject.loadRelatedMany}
|
|
191
|
+
* (and {@link SmrtObject.getRelated}, which delegates to them) when a
|
|
192
|
+
* tenant-scoped object resolves a relationship to an object belonging to a
|
|
193
|
+
* *different*, non-null tenant — the genuine cross-tenant data leak. The guard
|
|
194
|
+
* is a no-op when either side has a `null` tenant (global / non-tenant-scoped
|
|
195
|
+
* models) and when both sides share the same tenant, so it only fires on real
|
|
196
|
+
* leaks. Pass `{ allowCrossTenant: true }` to the loader to deliberately opt out.
|
|
197
|
+
*
|
|
198
|
+
* The `code` is always `'TENANT_ISOLATION_VIOLATION'` and the category is
|
|
199
|
+
* `'validation'`. It is never retried — `ErrorUtils.withRetry()` rethrows it
|
|
200
|
+
* immediately and `ErrorUtils.isRetryable()` returns `false` — because a tenant
|
|
201
|
+
* boundary violation is deterministic. `tenantId` is the owning object's tenant
|
|
202
|
+
* and `attemptedTenantId` is the tenant of the object that was reached.
|
|
203
|
+
*
|
|
204
|
+
* This shares its stable `code`, `name`, `tenantId`, and `attemptedTenantId`
|
|
205
|
+
* shape with the interceptor-level `TenantIsolationError` in
|
|
206
|
+
* `@happyvertical/smrt-tenancy`, so cross-cutting handlers can match either via
|
|
207
|
+
* `err.code === 'TENANT_ISOLATION_VIOLATION'`. They are intentionally distinct
|
|
208
|
+
* classes because `@happyvertical/smrt-core` cannot depend on the tenancy
|
|
209
|
+
* package (the dependency runs the other way).
|
|
210
|
+
*
|
|
211
|
+
* @example
|
|
212
|
+
* ```typescript
|
|
213
|
+
* try {
|
|
214
|
+
* await order.loadRelated('customerId');
|
|
215
|
+
* } catch (err) {
|
|
216
|
+
* if (err instanceof TenantIsolationError) {
|
|
217
|
+
* // err.tenantId — the order's tenant
|
|
218
|
+
* // err.attemptedTenantId — the customer's tenant
|
|
219
|
+
* }
|
|
220
|
+
* }
|
|
221
|
+
* ```
|
|
222
|
+
*
|
|
223
|
+
* @see SmrtObject.loadRelated
|
|
224
|
+
* @see SmrtObject.loadRelatedMany
|
|
225
|
+
*/
|
|
226
|
+
export declare class TenantIsolationError extends SmrtError {
|
|
227
|
+
/** The tenant ID of the object that owns the relationship. */
|
|
228
|
+
readonly tenantId?: string;
|
|
229
|
+
/** The tenant ID of the related object that was reached (and rejected). */
|
|
230
|
+
readonly attemptedTenantId?: string;
|
|
231
|
+
constructor(message: string, details?: {
|
|
232
|
+
tenantId?: string;
|
|
233
|
+
attemptedTenantId?: string;
|
|
234
|
+
[key: string]: any;
|
|
235
|
+
}, cause?: Error);
|
|
236
|
+
/**
|
|
237
|
+
* Builds a {@link TenantIsolationError} for a blocked cross-tenant
|
|
238
|
+
* relationship resolution, with a descriptive message and structured details.
|
|
239
|
+
*/
|
|
240
|
+
static crossTenantReference(details: {
|
|
241
|
+
sourceClass: string;
|
|
242
|
+
fieldName: string;
|
|
243
|
+
sourceTenantId: string;
|
|
244
|
+
targetClass?: string;
|
|
245
|
+
targetTenantId: string;
|
|
246
|
+
}): TenantIsolationError;
|
|
247
|
+
}
|
|
248
|
+
/**
|
|
249
|
+
* Utility functions for error handling
|
|
250
|
+
*/
|
|
251
|
+
export declare class ErrorUtils {
|
|
252
|
+
/**
|
|
253
|
+
* Wraps a function with error handling and automatic retry logic
|
|
254
|
+
*/
|
|
255
|
+
static withRetry<T>(operation: () => Promise<T>, maxRetries?: number, delay?: number, backoffMultiplier?: number): Promise<T>;
|
|
256
|
+
/**
|
|
257
|
+
* Checks if an error is retryable
|
|
258
|
+
*/
|
|
259
|
+
static isRetryable(error: Error): boolean;
|
|
260
|
+
/**
|
|
261
|
+
* Sanitizes an error for safe logging (removes sensitive information)
|
|
262
|
+
*/
|
|
263
|
+
static sanitizeError(error: Error): Record<string, any>;
|
|
264
|
+
}
|
|
265
|
+
/**
|
|
266
|
+
* Validation report that collects multiple validation errors
|
|
267
|
+
*
|
|
268
|
+
* Useful for validating an entire object and reporting all errors
|
|
269
|
+
* at once rather than stopping at the first error.
|
|
270
|
+
*
|
|
271
|
+
* @example
|
|
272
|
+
* ```typescript
|
|
273
|
+
* const report = new ValidationReport('Product');
|
|
274
|
+
* report.addError(ValidationError.requiredField('name', 'Product'));
|
|
275
|
+
* report.addError(ValidationError.rangeError('price', -10, 0));
|
|
276
|
+
*
|
|
277
|
+
* if (report.hasErrors()) {
|
|
278
|
+
* console.error(report.toString());
|
|
279
|
+
* // Output:
|
|
280
|
+
* // Validation failed for Product with 2 errors:
|
|
281
|
+
* // - name: Required field 'name' is missing for Product
|
|
282
|
+
* // - price: Value -10 for field 'price' is outside allowed range [0, undefined]
|
|
283
|
+
* }
|
|
284
|
+
* ```
|
|
285
|
+
*/
|
|
286
|
+
export declare class ValidationReport {
|
|
287
|
+
private errors;
|
|
288
|
+
private objectType;
|
|
289
|
+
constructor(objectType: string);
|
|
290
|
+
/**
|
|
291
|
+
* Add a validation error to the report
|
|
292
|
+
*/
|
|
293
|
+
addError(error: ValidationError): void;
|
|
294
|
+
/**
|
|
295
|
+
* Check if there are any validation errors
|
|
296
|
+
*/
|
|
297
|
+
hasErrors(): boolean;
|
|
298
|
+
/**
|
|
299
|
+
* Get all validation errors
|
|
300
|
+
*/
|
|
301
|
+
getErrors(): ValidationError[];
|
|
302
|
+
/**
|
|
303
|
+
* Get the number of validation errors
|
|
304
|
+
*/
|
|
305
|
+
getErrorCount(): number;
|
|
306
|
+
/**
|
|
307
|
+
* Convert to a human-readable string
|
|
308
|
+
*/
|
|
309
|
+
toString(): string;
|
|
310
|
+
/**
|
|
311
|
+
* Convert to JSON format
|
|
312
|
+
*/
|
|
313
|
+
toJSON(): object;
|
|
314
|
+
/**
|
|
315
|
+
* Throw the first error if there are any errors
|
|
316
|
+
*/
|
|
317
|
+
throwIfErrors(): void;
|
|
318
|
+
/**
|
|
319
|
+
* Clear all errors
|
|
320
|
+
*/
|
|
321
|
+
clear(): void;
|
|
322
|
+
}
|
|
323
|
+
/**
|
|
324
|
+
* Validation utility functions
|
|
325
|
+
*/
|
|
326
|
+
export declare class ValidationUtils {
|
|
327
|
+
/**
|
|
328
|
+
* Validate a single field value
|
|
329
|
+
*
|
|
330
|
+
* @param fieldName - Name of the field
|
|
331
|
+
* @param value - Value to validate
|
|
332
|
+
* @param options - Validation options (required, min, max, etc.)
|
|
333
|
+
* @returns ValidationError if validation fails, null otherwise
|
|
334
|
+
*/
|
|
335
|
+
static validateField(fieldName: string, value: any, options: {
|
|
336
|
+
required?: boolean;
|
|
337
|
+
min?: number;
|
|
338
|
+
max?: number;
|
|
339
|
+
minLength?: number;
|
|
340
|
+
maxLength?: number;
|
|
341
|
+
pattern?: string | RegExp;
|
|
342
|
+
type?: string;
|
|
343
|
+
customValidator?: (value: any) => boolean | Promise<boolean>;
|
|
344
|
+
customMessage?: string;
|
|
345
|
+
}, objectType?: string): Promise<ValidationError | null>;
|
|
346
|
+
/**
|
|
347
|
+
* Validate required field
|
|
348
|
+
*/
|
|
349
|
+
static validateRequired(fieldName: string, value: any, objectType?: string): ValidationError | null;
|
|
350
|
+
/**
|
|
351
|
+
* Validate numeric range
|
|
352
|
+
*/
|
|
353
|
+
static validateRange(fieldName: string, value: number, min?: number, max?: number): ValidationError | null;
|
|
354
|
+
/**
|
|
355
|
+
* Validate string length
|
|
356
|
+
*/
|
|
357
|
+
static validateLength(fieldName: string, value: string, minLength?: number, maxLength?: number): ValidationError | null;
|
|
358
|
+
/**
|
|
359
|
+
* Validate string pattern
|
|
360
|
+
*/
|
|
361
|
+
static validatePattern(fieldName: string, value: string, pattern: string | RegExp): ValidationError | null;
|
|
362
|
+
}
|
|
363
|
+
//# sourceMappingURL=errors.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"errors.d.ts","sourceRoot":"","sources":["../src/errors.ts"],"names":[],"mappings":"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"}
|