@debian777/kairos-mcp 3.0.1-beta.14
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/LICENSE +22 -0
- package/README.md +108 -0
- package/dist/.tsbuildinfo +1 -0
- package/dist/cli/api-client.d.ts +31 -0
- package/dist/cli/api-client.d.ts.map +1 -0
- package/dist/cli/api-client.js +110 -0
- package/dist/cli/api-client.js.map +1 -0
- package/dist/cli/commands/attest.d.ts +6 -0
- package/dist/cli/commands/attest.d.ts.map +1 -0
- package/dist/cli/commands/attest.js +52 -0
- package/dist/cli/commands/attest.js.map +1 -0
- package/dist/cli/commands/begin.d.ts +6 -0
- package/dist/cli/commands/begin.d.ts.map +1 -0
- package/dist/cli/commands/begin.js +32 -0
- package/dist/cli/commands/begin.js.map +1 -0
- package/dist/cli/commands/delete.d.ts +6 -0
- package/dist/cli/commands/delete.d.ts.map +1 -0
- package/dist/cli/commands/delete.js +32 -0
- package/dist/cli/commands/delete.js.map +1 -0
- package/dist/cli/commands/mint.d.ts +6 -0
- package/dist/cli/commands/mint.d.ts.map +1 -0
- package/dist/cli/commands/mint.js +48 -0
- package/dist/cli/commands/mint.js.map +1 -0
- package/dist/cli/commands/next.d.ts +6 -0
- package/dist/cli/commands/next.d.ts.map +1 -0
- package/dist/cli/commands/next.js +89 -0
- package/dist/cli/commands/next.js.map +1 -0
- package/dist/cli/commands/search.d.ts +6 -0
- package/dist/cli/commands/search.d.ts.map +1 -0
- package/dist/cli/commands/search.js +32 -0
- package/dist/cli/commands/search.js.map +1 -0
- package/dist/cli/commands/update.d.ts +6 -0
- package/dist/cli/commands/update.d.ts.map +1 -0
- package/dist/cli/commands/update.js +72 -0
- package/dist/cli/commands/update.js.map +1 -0
- package/dist/cli/config.d.ts +9 -0
- package/dist/cli/config.d.ts.map +1 -0
- package/dist/cli/config.js +14 -0
- package/dist/cli/config.js.map +1 -0
- package/dist/cli/index.d.ts +6 -0
- package/dist/cli/index.d.ts.map +1 -0
- package/dist/cli/index.js +40 -0
- package/dist/cli/index.js.map +1 -0
- package/dist/cli/output.d.ts +10 -0
- package/dist/cli/output.d.ts.map +1 -0
- package/dist/cli/output.js +20 -0
- package/dist/cli/output.js.map +1 -0
- package/dist/config.d.ts +58 -0
- package/dist/config.d.ts.map +1 -0
- package/dist/config.js +165 -0
- package/dist/config.js.map +1 -0
- package/dist/embed-docs/mem/00000000-0000-0000-0000-000000002001.md +324 -0
- package/dist/embed-docs/mem/00000000-0000-0000-0000-000000002002.md +48 -0
- package/dist/http/bearer-validate.d.ts +14 -0
- package/dist/http/bearer-validate.d.ts.map +1 -0
- package/dist/http/bearer-validate.js +111 -0
- package/dist/http/bearer-validate.js.map +1 -0
- package/dist/http/http-api-attest.d.ts +7 -0
- package/dist/http/http-api-attest.d.ts.map +1 -0
- package/dist/http/http-api-attest.js +103 -0
- package/dist/http/http-api-attest.js.map +1 -0
- package/dist/http/http-api-begin-step.d.ts +8 -0
- package/dist/http/http-api-begin-step.d.ts.map +1 -0
- package/dist/http/http-api-begin-step.js +108 -0
- package/dist/http/http-api-begin-step.js.map +1 -0
- package/dist/http/http-api-begin.d.ts +8 -0
- package/dist/http/http-api-begin.d.ts.map +1 -0
- package/dist/http/http-api-begin.js +167 -0
- package/dist/http/http-api-begin.js.map +1 -0
- package/dist/http/http-api-delete.d.ts +9 -0
- package/dist/http/http-api-delete.d.ts.map +1 -0
- package/dist/http/http-api-delete.js +67 -0
- package/dist/http/http-api-delete.js.map +1 -0
- package/dist/http/http-api-dump.d.ts +8 -0
- package/dist/http/http-api-dump.d.ts.map +1 -0
- package/dist/http/http-api-dump.js +34 -0
- package/dist/http/http-api-dump.js.map +1 -0
- package/dist/http/http-api-mint.d.ts +9 -0
- package/dist/http/http-api-mint.d.ts.map +1 -0
- package/dist/http/http-api-mint.js +100 -0
- package/dist/http/http-api-mint.js.map +1 -0
- package/dist/http/http-api-next.d.ts +9 -0
- package/dist/http/http-api-next.d.ts.map +1 -0
- package/dist/http/http-api-next.js +237 -0
- package/dist/http/http-api-next.js.map +1 -0
- package/dist/http/http-api-routes.d.ts +13 -0
- package/dist/http/http-api-routes.d.ts.map +1 -0
- package/dist/http/http-api-routes.js +28 -0
- package/dist/http/http-api-routes.js.map +1 -0
- package/dist/http/http-api-snapshot.d.ts +4 -0
- package/dist/http/http-api-snapshot.d.ts.map +1 -0
- package/dist/http/http-api-snapshot.js +36 -0
- package/dist/http/http-api-snapshot.js.map +1 -0
- package/dist/http/http-api-update.d.ts +9 -0
- package/dist/http/http-api-update.d.ts.map +1 -0
- package/dist/http/http-api-update.js +105 -0
- package/dist/http/http-api-update.js.map +1 -0
- package/dist/http/http-auth-callback.d.ts +6 -0
- package/dist/http/http-auth-callback.d.ts.map +1 -0
- package/dist/http/http-auth-callback.js +183 -0
- package/dist/http/http-auth-callback.js.map +1 -0
- package/dist/http/http-auth-middleware.d.ts +30 -0
- package/dist/http/http-auth-middleware.d.ts.map +1 -0
- package/dist/http/http-auth-middleware.js +224 -0
- package/dist/http/http-auth-middleware.js.map +1 -0
- package/dist/http/http-error-handlers.d.ts +7 -0
- package/dist/http/http-error-handlers.d.ts.map +1 -0
- package/dist/http/http-error-handlers.js +35 -0
- package/dist/http/http-error-handlers.js.map +1 -0
- package/dist/http/http-health-routes.d.ts +9 -0
- package/dist/http/http-health-routes.d.ts.map +1 -0
- package/dist/http/http-health-routes.js +117 -0
- package/dist/http/http-health-routes.js.map +1 -0
- package/dist/http/http-mcp-handler.d.ts +8 -0
- package/dist/http/http-mcp-handler.d.ts.map +1 -0
- package/dist/http/http-mcp-handler.js +136 -0
- package/dist/http/http-mcp-handler.js.map +1 -0
- package/dist/http/http-metrics-middleware.d.ts +7 -0
- package/dist/http/http-metrics-middleware.d.ts.map +1 -0
- package/dist/http/http-metrics-middleware.js +56 -0
- package/dist/http/http-metrics-middleware.js.map +1 -0
- package/dist/http/http-server-config.d.ts +11 -0
- package/dist/http/http-server-config.d.ts.map +1 -0
- package/dist/http/http-server-config.js +15 -0
- package/dist/http/http-server-config.js.map +1 -0
- package/dist/http/http-server-startup.d.ts +9 -0
- package/dist/http/http-server-startup.d.ts.map +1 -0
- package/dist/http/http-server-startup.js +26 -0
- package/dist/http/http-server-startup.js.map +1 -0
- package/dist/http/http-server.d.ts +4 -0
- package/dist/http/http-server.d.ts.map +1 -0
- package/dist/http/http-server.js +39 -0
- package/dist/http/http-server.js.map +1 -0
- package/dist/http/http-well-known.d.ts +13 -0
- package/dist/http/http-well-known.d.ts.map +1 -0
- package/dist/http/http-well-known.js +32 -0
- package/dist/http/http-well-known.js.map +1 -0
- package/dist/index.d.ts +7 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +100 -0
- package/dist/index.js.map +1 -0
- package/dist/metrics-server.d.ts +14 -0
- package/dist/metrics-server.d.ts.map +1 -0
- package/dist/metrics-server.js +41 -0
- package/dist/metrics-server.js.map +1 -0
- package/dist/resources/docs-resources.d.ts +2 -0
- package/dist/resources/docs-resources.d.ts.map +1 -0
- package/dist/resources/docs-resources.js +47 -0
- package/dist/resources/docs-resources.js.map +1 -0
- package/dist/resources/embedded-mcp-resources.d.ts +73 -0
- package/dist/resources/embedded-mcp-resources.d.ts.map +1 -0
- package/dist/resources/embedded-mcp-resources.js +132 -0
- package/dist/resources/embedded-mcp-resources.js.map +1 -0
- package/dist/resources/mem-resources-boot.d.ts +10 -0
- package/dist/resources/mem-resources-boot.d.ts.map +1 -0
- package/dist/resources/mem-resources-boot.js +164 -0
- package/dist/resources/mem-resources-boot.js.map +1 -0
- package/dist/resources/prompt-resources.d.ts +5 -0
- package/dist/resources/prompt-resources.d.ts.map +1 -0
- package/dist/resources/prompt-resources.js +42 -0
- package/dist/resources/prompt-resources.js.map +1 -0
- package/dist/resources/resource-bootstrap.d.ts +7 -0
- package/dist/resources/resource-bootstrap.d.ts.map +1 -0
- package/dist/resources/resource-bootstrap.js +33 -0
- package/dist/resources/resource-bootstrap.js.map +1 -0
- package/dist/server.d.ts +4 -0
- package/dist/server.d.ts.map +1 -0
- package/dist/server.js +79 -0
- package/dist/server.js.map +1 -0
- package/dist/services/chain-utils.d.ts +22 -0
- package/dist/services/chain-utils.d.ts.map +1 -0
- package/dist/services/chain-utils.js +95 -0
- package/dist/services/chain-utils.js.map +1 -0
- package/dist/services/code-block-processor.d.ts +40 -0
- package/dist/services/code-block-processor.d.ts.map +1 -0
- package/dist/services/code-block-processor.js +169 -0
- package/dist/services/code-block-processor.js.map +1 -0
- package/dist/services/embedding/config.d.ts +5 -0
- package/dist/services/embedding/config.d.ts.map +1 -0
- package/dist/services/embedding/config.js +13 -0
- package/dist/services/embedding/config.js.map +1 -0
- package/dist/services/embedding/providers.d.ts +5 -0
- package/dist/services/embedding/providers.d.ts.map +1 -0
- package/dist/services/embedding/providers.js +141 -0
- package/dist/services/embedding/providers.js.map +1 -0
- package/dist/services/embedding/service.d.ts +39 -0
- package/dist/services/embedding/service.d.ts.map +1 -0
- package/dist/services/embedding/service.js +302 -0
- package/dist/services/embedding/service.js.map +1 -0
- package/dist/services/embedding/types.d.ts +17 -0
- package/dist/services/embedding/types.d.ts.map +1 -0
- package/dist/services/embedding/types.js +2 -0
- package/dist/services/embedding/types.js.map +1 -0
- package/dist/services/id-generator.d.ts +63 -0
- package/dist/services/id-generator.d.ts.map +1 -0
- package/dist/services/id-generator.js +101 -0
- package/dist/services/id-generator.js.map +1 -0
- package/dist/services/key-value-store-factory.d.ts +7 -0
- package/dist/services/key-value-store-factory.d.ts.map +1 -0
- package/dist/services/key-value-store-factory.js +15 -0
- package/dist/services/key-value-store-factory.js.map +1 -0
- package/dist/services/key-value-store.d.ts +24 -0
- package/dist/services/key-value-store.d.ts.map +1 -0
- package/dist/services/key-value-store.js +6 -0
- package/dist/services/key-value-store.js.map +1 -0
- package/dist/services/memory/chain-builder-proof.d.ts +18 -0
- package/dist/services/memory/chain-builder-proof.d.ts.map +1 -0
- package/dist/services/memory/chain-builder-proof.js +78 -0
- package/dist/services/memory/chain-builder-proof.js.map +1 -0
- package/dist/services/memory/chain-builder.d.ts +4 -0
- package/dist/services/memory/chain-builder.d.ts.map +1 -0
- package/dist/services/memory/chain-builder.js +185 -0
- package/dist/services/memory/chain-builder.js.map +1 -0
- package/dist/services/memory/store-chain-default-handler.d.ts +9 -0
- package/dist/services/memory/store-chain-default-handler.d.ts.map +1 -0
- package/dist/services/memory/store-chain-default-handler.js +118 -0
- package/dist/services/memory/store-chain-default-handler.js.map +1 -0
- package/dist/services/memory/store-chain-header-handler.d.ts +8 -0
- package/dist/services/memory/store-chain-header-handler.d.ts.map +1 -0
- package/dist/services/memory/store-chain-header-handler.js +98 -0
- package/dist/services/memory/store-chain-header-handler.js.map +1 -0
- package/dist/services/memory/store-chain-helpers.d.ts +27 -0
- package/dist/services/memory/store-chain-helpers.d.ts.map +1 -0
- package/dist/services/memory/store-chain-helpers.js +102 -0
- package/dist/services/memory/store-chain-helpers.js.map +1 -0
- package/dist/services/memory/store-chain.d.ts +15 -0
- package/dist/services/memory/store-chain.d.ts.map +1 -0
- package/dist/services/memory/store-chain.js +56 -0
- package/dist/services/memory/store-chain.js.map +1 -0
- package/dist/services/memory/store-init.d.ts +3 -0
- package/dist/services/memory/store-init.d.ts.map +1 -0
- package/dist/services/memory/store-init.js +127 -0
- package/dist/services/memory/store-init.js.map +1 -0
- package/dist/services/memory/store-methods.d.ts +35 -0
- package/dist/services/memory/store-methods.d.ts.map +1 -0
- package/dist/services/memory/store-methods.js +308 -0
- package/dist/services/memory/store-methods.js.map +1 -0
- package/dist/services/memory/store.d.ts +36 -0
- package/dist/services/memory/store.d.ts.map +1 -0
- package/dist/services/memory/store.js +119 -0
- package/dist/services/memory/store.js.map +1 -0
- package/dist/services/memory-store.d.ts +33 -0
- package/dist/services/memory-store.d.ts.map +1 -0
- package/dist/services/memory-store.js +158 -0
- package/dist/services/memory-store.js.map +1 -0
- package/dist/services/metrics/agent-metrics.d.ts +12 -0
- package/dist/services/metrics/agent-metrics.d.ts.map +1 -0
- package/dist/services/metrics/agent-metrics.js +34 -0
- package/dist/services/metrics/agent-metrics.js.map +1 -0
- package/dist/services/metrics/embedding-metrics.d.ts +12 -0
- package/dist/services/metrics/embedding-metrics.d.ts.map +1 -0
- package/dist/services/metrics/embedding-metrics.js +41 -0
- package/dist/services/metrics/embedding-metrics.js.map +1 -0
- package/dist/services/metrics/http-metrics.d.ts +12 -0
- package/dist/services/metrics/http-metrics.d.ts.map +1 -0
- package/dist/services/metrics/http-metrics.js +41 -0
- package/dist/services/metrics/http-metrics.js.map +1 -0
- package/dist/services/metrics/mcp-metrics.d.ts +16 -0
- package/dist/services/metrics/mcp-metrics.d.ts.map +1 -0
- package/dist/services/metrics/mcp-metrics.js +55 -0
- package/dist/services/metrics/mcp-metrics.js.map +1 -0
- package/dist/services/metrics/memory-metrics.d.ts +10 -0
- package/dist/services/metrics/memory-metrics.d.ts.map +1 -0
- package/dist/services/metrics/memory-metrics.js +28 -0
- package/dist/services/metrics/memory-metrics.js.map +1 -0
- package/dist/services/metrics/qdrant-metrics.d.ts +11 -0
- package/dist/services/metrics/qdrant-metrics.d.ts.map +1 -0
- package/dist/services/metrics/qdrant-metrics.js +35 -0
- package/dist/services/metrics/qdrant-metrics.js.map +1 -0
- package/dist/services/metrics/registry.d.ts +9 -0
- package/dist/services/metrics/registry.d.ts.map +1 -0
- package/dist/services/metrics/registry.js +19 -0
- package/dist/services/metrics/registry.js.map +1 -0
- package/dist/services/metrics/system-metrics.d.ts +10 -0
- package/dist/services/metrics/system-metrics.d.ts.map +1 -0
- package/dist/services/metrics/system-metrics.js +35 -0
- package/dist/services/metrics/system-metrics.js.map +1 -0
- package/dist/services/proof-of-work-store.d.ts +66 -0
- package/dist/services/proof-of-work-store.d.ts.map +1 -0
- package/dist/services/proof-of-work-store.js +141 -0
- package/dist/services/proof-of-work-store.js.map +1 -0
- package/dist/services/qdrant/connection.d.ts +24 -0
- package/dist/services/qdrant/connection.d.ts.map +1 -0
- package/dist/services/qdrant/connection.js +126 -0
- package/dist/services/qdrant/connection.js.map +1 -0
- package/dist/services/qdrant/index.d.ts +3 -0
- package/dist/services/qdrant/index.d.ts.map +1 -0
- package/dist/services/qdrant/index.js +4 -0
- package/dist/services/qdrant/index.js.map +1 -0
- package/dist/services/qdrant/initialization.d.ts +25 -0
- package/dist/services/qdrant/initialization.d.ts.map +1 -0
- package/dist/services/qdrant/initialization.js +170 -0
- package/dist/services/qdrant/initialization.js.map +1 -0
- package/dist/services/qdrant/listing.d.ts +26 -0
- package/dist/services/qdrant/listing.d.ts.map +1 -0
- package/dist/services/qdrant/listing.js +88 -0
- package/dist/services/qdrant/listing.js.map +1 -0
- package/dist/services/qdrant/memory-retrieval.d.ts +14 -0
- package/dist/services/qdrant/memory-retrieval.d.ts.map +1 -0
- package/dist/services/qdrant/memory-retrieval.js +110 -0
- package/dist/services/qdrant/memory-retrieval.js.map +1 -0
- package/dist/services/qdrant/memory-store.d.ts +16 -0
- package/dist/services/qdrant/memory-store.d.ts.map +1 -0
- package/dist/services/qdrant/memory-store.js +108 -0
- package/dist/services/qdrant/memory-store.js.map +1 -0
- package/dist/services/qdrant/memory-updates.d.ts +8 -0
- package/dist/services/qdrant/memory-updates.d.ts.map +1 -0
- package/dist/services/qdrant/memory-updates.js +206 -0
- package/dist/services/qdrant/memory-updates.js.map +1 -0
- package/dist/services/qdrant/protocol.d.ts +16 -0
- package/dist/services/qdrant/protocol.d.ts.map +1 -0
- package/dist/services/qdrant/protocol.js +48 -0
- package/dist/services/qdrant/protocol.js.map +1 -0
- package/dist/services/qdrant/quality.d.ts +14 -0
- package/dist/services/qdrant/quality.d.ts.map +1 -0
- package/dist/services/qdrant/quality.js +101 -0
- package/dist/services/qdrant/quality.js.map +1 -0
- package/dist/services/qdrant/resources.d.ts +7 -0
- package/dist/services/qdrant/resources.d.ts.map +1 -0
- package/dist/services/qdrant/resources.js +108 -0
- package/dist/services/qdrant/resources.js.map +1 -0
- package/dist/services/qdrant/search.d.ts +22 -0
- package/dist/services/qdrant/search.d.ts.map +1 -0
- package/dist/services/qdrant/search.js +75 -0
- package/dist/services/qdrant/search.js.map +1 -0
- package/dist/services/qdrant/service.d.ts +90 -0
- package/dist/services/qdrant/service.d.ts.map +1 -0
- package/dist/services/qdrant/service.js +95 -0
- package/dist/services/qdrant/service.js.map +1 -0
- package/dist/services/qdrant/snapshots.d.ts +19 -0
- package/dist/services/qdrant/snapshots.d.ts.map +1 -0
- package/dist/services/qdrant/snapshots.js +130 -0
- package/dist/services/qdrant/snapshots.js.map +1 -0
- package/dist/services/qdrant/types.d.ts +39 -0
- package/dist/services/qdrant/types.d.ts.map +1 -0
- package/dist/services/qdrant/types.js +2 -0
- package/dist/services/qdrant/types.js.map +1 -0
- package/dist/services/qdrant/utils.d.ts +20 -0
- package/dist/services/qdrant/utils.d.ts.map +1 -0
- package/dist/services/qdrant/utils.js +121 -0
- package/dist/services/qdrant/utils.js.map +1 -0
- package/dist/services/redis-cache.d.ts +43 -0
- package/dist/services/redis-cache.d.ts.map +1 -0
- package/dist/services/redis-cache.js +214 -0
- package/dist/services/redis-cache.js.map +1 -0
- package/dist/services/redis.d.ts +43 -0
- package/dist/services/redis.d.ts.map +1 -0
- package/dist/services/redis.js +234 -0
- package/dist/services/redis.js.map +1 -0
- package/dist/services/stats/bonuses.d.ts +28 -0
- package/dist/services/stats/bonuses.d.ts.map +1 -0
- package/dist/services/stats/bonuses.js +96 -0
- package/dist/services/stats/bonuses.js.map +1 -0
- package/dist/services/stats/healer.d.ts +6 -0
- package/dist/services/stats/healer.d.ts.map +1 -0
- package/dist/services/stats/healer.js +24 -0
- package/dist/services/stats/healer.js.map +1 -0
- package/dist/services/stats/model-stats.d.ts +53 -0
- package/dist/services/stats/model-stats.d.ts.map +1 -0
- package/dist/services/stats/model-stats.js +238 -0
- package/dist/services/stats/model-stats.js.map +1 -0
- package/dist/services/stats/protocol.d.ts +11 -0
- package/dist/services/stats/protocol.d.ts.map +1 -0
- package/dist/services/stats/protocol.js +55 -0
- package/dist/services/stats/protocol.js.map +1 -0
- package/dist/services/stats/scoring.d.ts +19 -0
- package/dist/services/stats/scoring.d.ts.map +1 -0
- package/dist/services/stats/scoring.js +102 -0
- package/dist/services/stats/scoring.js.map +1 -0
- package/dist/services/stats/types.d.ts +39 -0
- package/dist/services/stats/types.d.ts.map +1 -0
- package/dist/services/stats/types.js +8 -0
- package/dist/services/stats/types.js.map +1 -0
- package/dist/tools/kairos_attest.d.ts +7 -0
- package/dist/tools/kairos_attest.d.ts.map +1 -0
- package/dist/tools/kairos_attest.js +179 -0
- package/dist/tools/kairos_attest.js.map +1 -0
- package/dist/tools/kairos_begin.d.ts +9 -0
- package/dist/tools/kairos_begin.d.ts.map +1 -0
- package/dist/tools/kairos_begin.js +149 -0
- package/dist/tools/kairos_begin.js.map +1 -0
- package/dist/tools/kairos_begin_schema.d.ts +48 -0
- package/dist/tools/kairos_begin_schema.d.ts.map +1 -0
- package/dist/tools/kairos_begin_schema.js +48 -0
- package/dist/tools/kairos_begin_schema.js.map +1 -0
- package/dist/tools/kairos_delete.d.ts +2 -0
- package/dist/tools/kairos_delete.d.ts.map +1 -0
- package/dist/tools/kairos_delete.js +113 -0
- package/dist/tools/kairos_delete.js.map +1 -0
- package/dist/tools/kairos_dump.d.ts +14 -0
- package/dist/tools/kairos_dump.d.ts.map +1 -0
- package/dist/tools/kairos_dump.js +148 -0
- package/dist/tools/kairos_dump.js.map +1 -0
- package/dist/tools/kairos_mint.d.ts +7 -0
- package/dist/tools/kairos_mint.d.ts.map +1 -0
- package/dist/tools/kairos_mint.js +233 -0
- package/dist/tools/kairos_mint.js.map +1 -0
- package/dist/tools/kairos_next-missing-proof-payload.d.ts +24 -0
- package/dist/tools/kairos_next-missing-proof-payload.d.ts.map +1 -0
- package/dist/tools/kairos_next-missing-proof-payload.js +32 -0
- package/dist/tools/kairos_next-missing-proof-payload.js.map +1 -0
- package/dist/tools/kairos_next-pow-helpers.d.ts +57 -0
- package/dist/tools/kairos_next-pow-helpers.d.ts.map +1 -0
- package/dist/tools/kairos_next-pow-helpers.js +271 -0
- package/dist/tools/kairos_next-pow-helpers.js.map +1 -0
- package/dist/tools/kairos_next-previous-step.d.ts +36 -0
- package/dist/tools/kairos_next-previous-step.d.ts.map +1 -0
- package/dist/tools/kairos_next-previous-step.js +121 -0
- package/dist/tools/kairos_next-previous-step.js.map +1 -0
- package/dist/tools/kairos_next.d.ts +12 -0
- package/dist/tools/kairos_next.d.ts.map +1 -0
- package/dist/tools/kairos_next.js +285 -0
- package/dist/tools/kairos_next.js.map +1 -0
- package/dist/tools/kairos_next_schema.d.ts +80 -0
- package/dist/tools/kairos_next_schema.d.ts.map +1 -0
- package/dist/tools/kairos_next_schema.js +82 -0
- package/dist/tools/kairos_next_schema.js.map +1 -0
- package/dist/tools/kairos_search.d.ts +15 -0
- package/dist/tools/kairos_search.d.ts.map +1 -0
- package/dist/tools/kairos_search.js +262 -0
- package/dist/tools/kairos_search.js.map +1 -0
- package/dist/tools/kairos_spaces.d.ts +10 -0
- package/dist/tools/kairos_spaces.d.ts.map +1 -0
- package/dist/tools/kairos_spaces.js +129 -0
- package/dist/tools/kairos_spaces.js.map +1 -0
- package/dist/tools/kairos_update.d.ts +2 -0
- package/dist/tools/kairos_update.d.ts.map +1 -0
- package/dist/tools/kairos_update.js +158 -0
- package/dist/tools/kairos_update.js.map +1 -0
- package/dist/types/index.d.ts +60 -0
- package/dist/types/index.d.ts.map +1 -0
- package/dist/types/index.js +21 -0
- package/dist/types/index.js.map +1 -0
- package/dist/types/memory.d.ts +38 -0
- package/dist/types/memory.d.ts.map +1 -0
- package/dist/types/memory.js +2 -0
- package/dist/types/memory.js.map +1 -0
- package/dist/utils/build-version.d.ts +15 -0
- package/dist/utils/build-version.d.ts.map +1 -0
- package/dist/utils/build-version.js +46 -0
- package/dist/utils/build-version.js.map +1 -0
- package/dist/utils/global-error-handlers.d.ts +7 -0
- package/dist/utils/global-error-handlers.d.ts.map +1 -0
- package/dist/utils/global-error-handlers.js +61 -0
- package/dist/utils/global-error-handlers.js.map +1 -0
- package/dist/utils/log-core.d.ts +11 -0
- package/dist/utils/log-core.d.ts.map +1 -0
- package/dist/utils/log-core.js +78 -0
- package/dist/utils/log-core.js.map +1 -0
- package/dist/utils/logger.d.ts +22 -0
- package/dist/utils/logger.d.ts.map +1 -0
- package/dist/utils/logger.js +63 -0
- package/dist/utils/logger.js.map +1 -0
- package/dist/utils/memory-body.d.ts +6 -0
- package/dist/utils/memory-body.d.ts.map +1 -0
- package/dist/utils/memory-body.js +21 -0
- package/dist/utils/memory-body.js.map +1 -0
- package/dist/utils/memory-store-utils.d.ts +14 -0
- package/dist/utils/memory-store-utils.d.ts.map +1 -0
- package/dist/utils/memory-store-utils.js +83 -0
- package/dist/utils/memory-store-utils.js.map +1 -0
- package/dist/utils/qdrant-collection-utils.d.ts +11 -0
- package/dist/utils/qdrant-collection-utils.d.ts.map +1 -0
- package/dist/utils/qdrant-collection-utils.js +62 -0
- package/dist/utils/qdrant-collection-utils.js.map +1 -0
- package/dist/utils/qdrant-query-utils.d.ts +6 -0
- package/dist/utils/qdrant-query-utils.d.ts.map +1 -0
- package/dist/utils/qdrant-query-utils.js +23 -0
- package/dist/utils/qdrant-query-utils.js.map +1 -0
- package/dist/utils/qdrant-utils.d.ts +5 -0
- package/dist/utils/qdrant-utils.d.ts.map +1 -0
- package/dist/utils/qdrant-utils.js +5 -0
- package/dist/utils/qdrant-utils.js.map +1 -0
- package/dist/utils/qdrant-vector-management.d.ts +25 -0
- package/dist/utils/qdrant-vector-management.d.ts.map +1 -0
- package/dist/utils/qdrant-vector-management.js +284 -0
- package/dist/utils/qdrant-vector-management.js.map +1 -0
- package/dist/utils/qdrant-vector-types.d.ts +35 -0
- package/dist/utils/qdrant-vector-types.d.ts.map +1 -0
- package/dist/utils/qdrant-vector-types.js +42 -0
- package/dist/utils/qdrant-vector-types.js.map +1 -0
- package/dist/utils/space-display.d.ts +11 -0
- package/dist/utils/space-display.d.ts.map +1 -0
- package/dist/utils/space-display.js +25 -0
- package/dist/utils/space-display.js.map +1 -0
- package/dist/utils/space-filter.d.ts +15 -0
- package/dist/utils/space-filter.d.ts.map +1 -0
- package/dist/utils/space-filter.js +18 -0
- package/dist/utils/space-filter.js.map +1 -0
- package/dist/utils/structured-logger.d.ts +41 -0
- package/dist/utils/structured-logger.d.ts.map +1 -0
- package/dist/utils/structured-logger.js +133 -0
- package/dist/utils/structured-logger.js.map +1 -0
- package/dist/utils/tenant-context.d.ts +67 -0
- package/dist/utils/tenant-context.d.ts.map +1 -0
- package/dist/utils/tenant-context.js +154 -0
- package/dist/utils/tenant-context.js.map +1 -0
- package/dist/utils/uri-builder.d.ts +37 -0
- package/dist/utils/uri-builder.d.ts.map +1 -0
- package/dist/utils/uri-builder.js +60 -0
- package/dist/utils/uri-builder.js.map +1 -0
- package/package.json +121 -0
|
@@ -0,0 +1,169 @@
|
|
|
1
|
+
// logger import removed because not used
|
|
2
|
+
/**
|
|
3
|
+
* Service for extracting and processing code blocks from markdown content
|
|
4
|
+
* to enhance searchability of technical documentation
|
|
5
|
+
*/
|
|
6
|
+
export class CodeBlockProcessor {
|
|
7
|
+
/**
|
|
8
|
+
* Extract code blocks from markdown content
|
|
9
|
+
*/
|
|
10
|
+
extractCodeBlocks(markdown) {
|
|
11
|
+
const codeBlocks = [];
|
|
12
|
+
const lines = markdown.split(/\r?\n/);
|
|
13
|
+
let inCodeBlock = false;
|
|
14
|
+
let currentBlock = null;
|
|
15
|
+
for (const line of lines) {
|
|
16
|
+
if (line.trim().startsWith('```')) {
|
|
17
|
+
if (!inCodeBlock) {
|
|
18
|
+
// Start of code block
|
|
19
|
+
inCodeBlock = true;
|
|
20
|
+
const language = line.trim().substring(3).trim() || 'text';
|
|
21
|
+
currentBlock = { language, content: [] };
|
|
22
|
+
}
|
|
23
|
+
else {
|
|
24
|
+
// End of code block
|
|
25
|
+
if (currentBlock) {
|
|
26
|
+
const content = currentBlock.content.join('\n');
|
|
27
|
+
const identifiers = this.extractIdentifiers(content, currentBlock.language);
|
|
28
|
+
codeBlocks.push({
|
|
29
|
+
language: currentBlock.language,
|
|
30
|
+
content,
|
|
31
|
+
identifiers
|
|
32
|
+
});
|
|
33
|
+
}
|
|
34
|
+
inCodeBlock = false;
|
|
35
|
+
currentBlock = null;
|
|
36
|
+
}
|
|
37
|
+
}
|
|
38
|
+
else if (inCodeBlock && currentBlock) {
|
|
39
|
+
currentBlock.content.push(line);
|
|
40
|
+
}
|
|
41
|
+
}
|
|
42
|
+
return codeBlocks;
|
|
43
|
+
}
|
|
44
|
+
/**
|
|
45
|
+
* Extract searchable identifiers from code content
|
|
46
|
+
*/
|
|
47
|
+
extractIdentifiers(code, language) {
|
|
48
|
+
const identifiers = new Set();
|
|
49
|
+
// Language-specific patterns
|
|
50
|
+
const patterns = this.getLanguagePatterns(language);
|
|
51
|
+
for (const pattern of patterns) {
|
|
52
|
+
const matches = code.matchAll(pattern.regex);
|
|
53
|
+
for (const match of matches) {
|
|
54
|
+
const identifier = match[1] || match[0];
|
|
55
|
+
if (identifier && identifier.length > 2 && identifier.length < 50) {
|
|
56
|
+
// Filter out common keywords and short fragments
|
|
57
|
+
if (!this.isCommonKeyword(identifier, language)) {
|
|
58
|
+
identifiers.add(identifier.toLowerCase());
|
|
59
|
+
}
|
|
60
|
+
}
|
|
61
|
+
}
|
|
62
|
+
}
|
|
63
|
+
return Array.from(identifiers);
|
|
64
|
+
}
|
|
65
|
+
/**
|
|
66
|
+
* Get regex patterns for extracting identifiers from different languages
|
|
67
|
+
*/
|
|
68
|
+
getLanguagePatterns(language) {
|
|
69
|
+
const basePatterns = [
|
|
70
|
+
// Function names (various languages)
|
|
71
|
+
{ regex: /\bfunction\s+([a-zA-Z_$][a-zA-Z0-9_$]*)\s*\(/g, type: 'function' },
|
|
72
|
+
{ regex: /\bdef\s+([a-zA-Z_$][a-zA-Z0-9_$]*)\s*\(/g, type: 'function' },
|
|
73
|
+
{ regex: /\b([a-zA-Z_$][a-zA-Z0-9_$]*)\s*\([^)]*\)\s*{/g, type: 'function' }, // C-style functions
|
|
74
|
+
// Class names
|
|
75
|
+
{ regex: /\bclass\s+([a-zA-Z_$][a-zA-Z0-9_$]*)/g, type: 'class' },
|
|
76
|
+
// Variable/constant declarations
|
|
77
|
+
{ regex: /\b(?:const|let|var)\s+([a-zA-Z_$][a-zA-Z0-9_$]*)\s*[:=]/g, type: 'variable' },
|
|
78
|
+
{ regex: /\b([a-zA-Z_$][a-zA-Z0-9_$]*)\s*[:=]\s*function/g, type: 'variable' },
|
|
79
|
+
// Interface/type names
|
|
80
|
+
{ regex: /\binterface\s+([a-zA-Z_$][a-zA-Z0-9_$]*)/g, type: 'interface' },
|
|
81
|
+
{ regex: /\btype\s+([a-zA-Z_$][a-zA-Z0-9_$]*)/g, type: 'type' },
|
|
82
|
+
// Method calls (potential API methods)
|
|
83
|
+
{ regex: /\.([a-zA-Z_$][a-zA-Z0-9_$]*)\s*\(/g, type: 'method' },
|
|
84
|
+
// Import/require statements
|
|
85
|
+
{ regex: /(?:import|from|require)\s+['"]([^'"]+)['"]/g, type: 'import' },
|
|
86
|
+
{ regex: /(?:import|require)\s*\(\s*['"]([^'"]+)['"]\s*\)/g, type: 'import' },
|
|
87
|
+
];
|
|
88
|
+
// Language-specific additions
|
|
89
|
+
switch (language.toLowerCase()) {
|
|
90
|
+
case 'javascript':
|
|
91
|
+
case 'typescript':
|
|
92
|
+
case 'js':
|
|
93
|
+
case 'ts':
|
|
94
|
+
return [
|
|
95
|
+
...basePatterns,
|
|
96
|
+
// Arrow functions
|
|
97
|
+
{ regex: /\b([a-zA-Z_$][a-zA-Z0-9_$]*)\s*=>/g, type: 'function' },
|
|
98
|
+
// Export statements
|
|
99
|
+
{ regex: /\bexport\s+(?:const|function|class)\s+([a-zA-Z_$][a-zA-Z0-9_$]*)/g, type: 'export' },
|
|
100
|
+
];
|
|
101
|
+
case 'python':
|
|
102
|
+
case 'py':
|
|
103
|
+
return [
|
|
104
|
+
...basePatterns,
|
|
105
|
+
// Class methods
|
|
106
|
+
{ regex: /\bdef\s+([a-zA-Z_$][a-zA-Z0-9_$]*)\s*\(self/g, type: 'method' },
|
|
107
|
+
];
|
|
108
|
+
case 'java':
|
|
109
|
+
return [
|
|
110
|
+
...basePatterns,
|
|
111
|
+
// Package declarations
|
|
112
|
+
{ regex: /\bpackage\s+([a-zA-Z_$][a-zA-Z0-9_$.]*)/g, type: 'package' },
|
|
113
|
+
];
|
|
114
|
+
case 'csharp':
|
|
115
|
+
case 'c#':
|
|
116
|
+
return [
|
|
117
|
+
...basePatterns,
|
|
118
|
+
// Namespace
|
|
119
|
+
{ regex: /\bnamespace\s+([a-zA-Z_$][a-zA-Z0-9_$.]*)/g, type: 'namespace' },
|
|
120
|
+
];
|
|
121
|
+
default:
|
|
122
|
+
return basePatterns;
|
|
123
|
+
}
|
|
124
|
+
}
|
|
125
|
+
/**
|
|
126
|
+
* Check if an identifier is a common keyword that shouldn't be indexed
|
|
127
|
+
*/
|
|
128
|
+
isCommonKeyword(identifier, language) {
|
|
129
|
+
const commonKeywords = new Set([
|
|
130
|
+
'function', 'class', 'const', 'let', 'var', 'if', 'else', 'for', 'while',
|
|
131
|
+
'return', 'import', 'export', 'from', 'require', 'interface', 'type',
|
|
132
|
+
'public', 'private', 'protected', 'static', 'final', 'void', 'int',
|
|
133
|
+
'string', 'boolean', 'object', 'array', 'null', 'undefined', 'true', 'false'
|
|
134
|
+
]);
|
|
135
|
+
// Language-specific keywords
|
|
136
|
+
const languageKeywords = {
|
|
137
|
+
'javascript': new Set(['console', 'log', 'error', 'warn', 'info', 'document', 'window']),
|
|
138
|
+
'typescript': new Set(['console', 'log', 'error', 'warn', 'info', 'document', 'window', 'any']),
|
|
139
|
+
'python': new Set(['self', 'print', 'len', 'str', 'int', 'list', 'dict', 'set']),
|
|
140
|
+
'java': new Set(['System', 'out', 'println', 'String', 'Integer', 'List', 'Map']),
|
|
141
|
+
};
|
|
142
|
+
const langKeywords = languageKeywords[language.toLowerCase()] || new Set();
|
|
143
|
+
return commonKeywords.has(identifier.toLowerCase()) || langKeywords.has(identifier);
|
|
144
|
+
}
|
|
145
|
+
/**
|
|
146
|
+
* Process markdown content and return code processing results
|
|
147
|
+
*/
|
|
148
|
+
processMarkdown(markdown) {
|
|
149
|
+
const codeBlocks = this.extractCodeBlocks(markdown);
|
|
150
|
+
const allIdentifiers = codeBlocks.flatMap(block => block.identifiers);
|
|
151
|
+
return {
|
|
152
|
+
codeBlocks,
|
|
153
|
+
allIdentifiers: [...new Set(allIdentifiers)] // Remove duplicates
|
|
154
|
+
};
|
|
155
|
+
}
|
|
156
|
+
/**
|
|
157
|
+
* Enhance text content with code identifiers for better searchability
|
|
158
|
+
*/
|
|
159
|
+
enhanceContentForSearch(originalText, codeResult) {
|
|
160
|
+
if (codeResult.allIdentifiers.length === 0) {
|
|
161
|
+
return originalText;
|
|
162
|
+
}
|
|
163
|
+
// Add code identifiers to the end of the text for search purposes
|
|
164
|
+
// This ensures they're included in embeddings and text search
|
|
165
|
+
const identifierText = codeResult.allIdentifiers.join(' ');
|
|
166
|
+
return `${originalText}\n\n[CODE_IDENTIFIERS: ${identifierText}]`;
|
|
167
|
+
}
|
|
168
|
+
}
|
|
169
|
+
//# sourceMappingURL=code-block-processor.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"code-block-processor.js","sourceRoot":"","sources":["../../src/services/code-block-processor.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../../../src/services/embedding/config.ts"],"names":[],"mappings":"AAGA,eAAO,MAAM,aAAa,QAAyB,CAAC;AACpD,eAAO,MAAM,iBAAiB,QAA0B,CAAC;AACzD,eAAO,MAAM,eAAe,yCAAyC,CAAC;AAGtE,eAAO,MAAM,sBAAsB,QAE3B,CAAC"}
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import { logger } from '../../utils/logger.js';
|
|
2
|
+
import { OPENAI_EMBEDDING_MODEL, getEmbeddingDimension, OPENAI_API_KEY, TEI_BASE_URL } from '../../config.js';
|
|
3
|
+
export const DEFAULT_MODEL = OPENAI_EMBEDDING_MODEL;
|
|
4
|
+
export const DEFAULT_DIMENSION = getEmbeddingDimension();
|
|
5
|
+
export const OPENAI_ENDPOINT = 'https://api.openai.com/v1/embeddings';
|
|
6
|
+
// TEI (Text Embeddings Inference) configuration
|
|
7
|
+
export const TEI_EMBEDDING_ENDPOINT = TEI_BASE_URL
|
|
8
|
+
? (TEI_BASE_URL.endsWith('/') ? TEI_BASE_URL.slice(0, -1) : TEI_BASE_URL) + '/v1/embeddings'
|
|
9
|
+
: '';
|
|
10
|
+
if (!OPENAI_API_KEY) {
|
|
11
|
+
logger.debug('OPENAI_API_KEY not configured; OpenAI usage will be disabled unless explicitly requested.');
|
|
12
|
+
}
|
|
13
|
+
//# sourceMappingURL=config.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"config.js","sourceRoot":"","sources":["../../../src/services/embedding/config.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,uBAAuB,CAAC;AAC/C,OAAO,EAAE,sBAAsB,EAAE,qBAAqB,EAAE,cAAc,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAC;AAE9G,MAAM,CAAC,MAAM,aAAa,GAAG,sBAAsB,CAAC;AACpD,MAAM,CAAC,MAAM,iBAAiB,GAAG,qBAAqB,EAAE,CAAC;AACzD,MAAM,CAAC,MAAM,eAAe,GAAG,sCAAsC,CAAC;AAEtE,gDAAgD;AAChD,MAAM,CAAC,MAAM,sBAAsB,GAAG,YAAY;IAC9C,CAAC,CAAC,CAAC,YAAY,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,YAAY,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,YAAY,CAAC,GAAG,gBAAgB;IAC5F,CAAC,CAAC,EAAE,CAAC;AAET,IAAI,CAAC,cAAc,EAAE,CAAC;IAClB,MAAM,CAAC,KAAK,CAAC,2FAA2F,CAAC,CAAC;AAC9G,CAAC"}
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
declare function postEmbeddingsOpenAI(input: string[] | string): Promise<number[][]>;
|
|
2
|
+
declare function postEmbeddingsTEI(input: string[] | string): Promise<number[][]>;
|
|
3
|
+
declare function postEmbeddings(input: string[] | string): Promise<number[][]>;
|
|
4
|
+
export { postEmbeddings, postEmbeddingsOpenAI, postEmbeddingsTEI };
|
|
5
|
+
//# sourceMappingURL=providers.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"providers.d.ts","sourceRoot":"","sources":["../../../src/services/embedding/providers.ts"],"names":[],"mappings":"AAIA,iBAAe,oBAAoB,CAAC,KAAK,EAAE,MAAM,EAAE,GAAG,MAAM,GAAG,OAAO,CAAC,MAAM,EAAE,EAAE,CAAC,CAuDjF;AAED,iBAAe,iBAAiB,CAAC,KAAK,EAAE,MAAM,EAAE,GAAG,MAAM,GAAG,OAAO,CAAC,MAAM,EAAE,EAAE,CAAC,CAuD9E;AAED,iBAAe,cAAc,CAAC,KAAK,EAAE,MAAM,EAAE,GAAG,MAAM,GAAG,OAAO,CAAC,MAAM,EAAE,EAAE,CAAC,CA2B3E;AAED,OAAO,EAAE,cAAc,EAAE,oBAAoB,EAAE,iBAAiB,EAAE,CAAC"}
|
|
@@ -0,0 +1,141 @@
|
|
|
1
|
+
import { logger } from '../../utils/logger.js';
|
|
2
|
+
import { OPENAI_API_KEY, EMBEDDING_PROVIDER, TEI_BASE_URL, TEI_MODEL, TEI_API_KEY } from '../../config.js';
|
|
3
|
+
import { DEFAULT_MODEL, DEFAULT_DIMENSION, OPENAI_ENDPOINT, TEI_EMBEDDING_ENDPOINT } from './config.js';
|
|
4
|
+
async function postEmbeddingsOpenAI(input) {
|
|
5
|
+
if (!OPENAI_API_KEY || !DEFAULT_MODEL)
|
|
6
|
+
throw new Error('OpenAI requires OPENAI_API_KEY and OPENAI_EMBEDDING_MODEL to be configured');
|
|
7
|
+
const inputArray = Array.isArray(input) ? input : [input];
|
|
8
|
+
const body = {
|
|
9
|
+
model: DEFAULT_MODEL,
|
|
10
|
+
input: inputArray,
|
|
11
|
+
};
|
|
12
|
+
const headers = {
|
|
13
|
+
'Content-Type': 'application/json',
|
|
14
|
+
'Authorization': `Bearer ${OPENAI_API_KEY}`,
|
|
15
|
+
};
|
|
16
|
+
const res = await fetch(OPENAI_ENDPOINT, {
|
|
17
|
+
method: 'POST',
|
|
18
|
+
headers,
|
|
19
|
+
body: JSON.stringify(body),
|
|
20
|
+
});
|
|
21
|
+
const data = await res.json().catch((err) => {
|
|
22
|
+
logger.error('[EmbeddingService] Failed to parse OpenAI response as JSON', err);
|
|
23
|
+
throw new Error(`OpenAI embeddings returned non-JSON response (HTTP ${res.status})`);
|
|
24
|
+
});
|
|
25
|
+
if (!res.ok) {
|
|
26
|
+
const errMsg = data?.error?.message || data?.message || `OpenAI embeddings HTTP ${res.status}`;
|
|
27
|
+
if (res.status === 401) {
|
|
28
|
+
throw new Error(`OpenAI authentication failed (401). Check OPENAI_API_KEY: ${errMsg}`);
|
|
29
|
+
}
|
|
30
|
+
if (res.status === 429) {
|
|
31
|
+
throw new Error(`OpenAI rate limit (429): ${errMsg}`);
|
|
32
|
+
}
|
|
33
|
+
throw new Error(`OpenAI embeddings error (HTTP ${res.status}): ${errMsg}`);
|
|
34
|
+
}
|
|
35
|
+
if (!Array.isArray(data?.data)) {
|
|
36
|
+
logger.error('[EmbeddingService] Unexpected OpenAI response shape', data);
|
|
37
|
+
throw new Error('Unexpected OpenAI embeddings response shape');
|
|
38
|
+
}
|
|
39
|
+
const embeddings = data.data.map((d) => {
|
|
40
|
+
if (!Array.isArray(d?.embedding))
|
|
41
|
+
throw new Error('OpenAI returned invalid embedding shape');
|
|
42
|
+
return d.embedding;
|
|
43
|
+
});
|
|
44
|
+
// Basic dimension validation
|
|
45
|
+
if (embeddings.length > 0 && embeddings[0]) {
|
|
46
|
+
const dim = embeddings[0].length;
|
|
47
|
+
if (dim !== DEFAULT_DIMENSION) {
|
|
48
|
+
logger.warn(`[EmbeddingService] Embedding dimension mismatch: got ${dim}, expected ${DEFAULT_DIMENSION}`);
|
|
49
|
+
throw new Error(`Embedding dimension mismatch: got ${dim}, expected ${DEFAULT_DIMENSION}`);
|
|
50
|
+
}
|
|
51
|
+
}
|
|
52
|
+
logger.info(`[EmbeddingService] Received ${embeddings.length} embeddings (dim=${DEFAULT_DIMENSION}) [provider=openai]`);
|
|
53
|
+
return embeddings;
|
|
54
|
+
}
|
|
55
|
+
async function postEmbeddingsTEI(input) {
|
|
56
|
+
if (!TEI_BASE_URL || !TEI_MODEL)
|
|
57
|
+
throw new Error('TEI requires TEI_BASE_URL and TEI_MODEL to be configured');
|
|
58
|
+
const inputArray = Array.isArray(input) ? input : [input];
|
|
59
|
+
const body = { input: inputArray, model: TEI_MODEL };
|
|
60
|
+
const headers = { 'Content-Type': 'application/json' };
|
|
61
|
+
if (TEI_API_KEY)
|
|
62
|
+
headers['x-api-key'] = TEI_API_KEY;
|
|
63
|
+
const url = TEI_EMBEDDING_ENDPOINT || TEI_BASE_URL;
|
|
64
|
+
const res = await fetch(url, {
|
|
65
|
+
method: 'POST',
|
|
66
|
+
headers,
|
|
67
|
+
body: JSON.stringify(body)
|
|
68
|
+
});
|
|
69
|
+
const data = await res.json().catch((err) => {
|
|
70
|
+
logger.error('[EmbeddingService] Failed to parse TEI response as JSON', err);
|
|
71
|
+
throw new Error(`TEI embeddings returned non-JSON response (HTTP ${res.status})`);
|
|
72
|
+
});
|
|
73
|
+
if (!res.ok) {
|
|
74
|
+
if (res.status === 401) {
|
|
75
|
+
throw new Error('TEI authentication failed (401)');
|
|
76
|
+
}
|
|
77
|
+
if (res.status === 429) {
|
|
78
|
+
throw new Error('TEI rate limit (429)');
|
|
79
|
+
}
|
|
80
|
+
throw new Error(`TEI embeddings error (HTTP ${res.status})`);
|
|
81
|
+
}
|
|
82
|
+
// Different TEI servers return different shapes; try to extract embeddings
|
|
83
|
+
let embeddings = null;
|
|
84
|
+
if (Array.isArray(data?.embeddings)) {
|
|
85
|
+
embeddings = data.embeddings.map((e) => Array.isArray(e) ? e : e?.embedding || e);
|
|
86
|
+
}
|
|
87
|
+
else if (Array.isArray(data?.data)) {
|
|
88
|
+
embeddings = data.data.map((d) => d?.embedding ?? d);
|
|
89
|
+
}
|
|
90
|
+
else if (Array.isArray(data?.result)) {
|
|
91
|
+
embeddings = data.result;
|
|
92
|
+
}
|
|
93
|
+
else if (Array.isArray(data)) {
|
|
94
|
+
embeddings = data;
|
|
95
|
+
}
|
|
96
|
+
if (!embeddings || embeddings.length === 0 || !Array.isArray(embeddings[0])) {
|
|
97
|
+
logger.error('[EmbeddingService] TEI returned unexpected embedding shape', data);
|
|
98
|
+
throw new Error('TEI returned unexpected embedding shape');
|
|
99
|
+
}
|
|
100
|
+
// Validate dimensions
|
|
101
|
+
const dim = embeddings[0].length;
|
|
102
|
+
if (dim !== DEFAULT_DIMENSION) {
|
|
103
|
+
logger.warn(`[EmbeddingService] TEI embedding dimension mismatch: got ${dim}, expected ${DEFAULT_DIMENSION}`);
|
|
104
|
+
throw new Error(`TEI embedding dimension mismatch: got ${dim}, expected ${DEFAULT_DIMENSION}`);
|
|
105
|
+
}
|
|
106
|
+
logger.info(`[EmbeddingService] Received ${embeddings.length} embeddings (dim=${DEFAULT_DIMENSION}) [provider=tei]`);
|
|
107
|
+
return embeddings;
|
|
108
|
+
}
|
|
109
|
+
async function postEmbeddings(input) {
|
|
110
|
+
// Choose provider based on explicit ENV override or auto-discovery
|
|
111
|
+
const providerPref = EMBEDDING_PROVIDER; // 'auto' | 'openai' | 'tei'
|
|
112
|
+
if (providerPref === 'openai') {
|
|
113
|
+
if (!OPENAI_API_KEY || !DEFAULT_MODEL)
|
|
114
|
+
throw new Error('OpenAI requires OPENAI_API_KEY and OPENAI_EMBEDDING_MODEL to be configured');
|
|
115
|
+
return await postEmbeddingsOpenAI(input);
|
|
116
|
+
}
|
|
117
|
+
if (providerPref === 'tei') {
|
|
118
|
+
if (!TEI_BASE_URL || !TEI_MODEL)
|
|
119
|
+
throw new Error('TEI requires TEI_BASE_URL and TEI_MODEL to be configured');
|
|
120
|
+
return await postEmbeddingsTEI(input);
|
|
121
|
+
}
|
|
122
|
+
// Auto detection: prefer OpenAI if both OPENAI vars present, otherwise TEI
|
|
123
|
+
if (OPENAI_API_KEY && DEFAULT_MODEL) {
|
|
124
|
+
try {
|
|
125
|
+
return await postEmbeddingsOpenAI(input);
|
|
126
|
+
}
|
|
127
|
+
catch (err) {
|
|
128
|
+
logger.warn('[EmbeddingService] OpenAI failed, attempting TEI fallback: ' + (err instanceof Error ? err.message : String(err)));
|
|
129
|
+
if (TEI_BASE_URL && TEI_MODEL) {
|
|
130
|
+
return await postEmbeddingsTEI(input);
|
|
131
|
+
}
|
|
132
|
+
throw err;
|
|
133
|
+
}
|
|
134
|
+
}
|
|
135
|
+
if (TEI_BASE_URL && TEI_MODEL) {
|
|
136
|
+
return await postEmbeddingsTEI(input);
|
|
137
|
+
}
|
|
138
|
+
throw new Error('No embedding provider configured (OPENAI_API_KEY+OPENAI_EMBEDDING_MODEL or TEI_BASE_URL+TEI_MODEL required)');
|
|
139
|
+
}
|
|
140
|
+
export { postEmbeddings, postEmbeddingsOpenAI, postEmbeddingsTEI };
|
|
141
|
+
//# sourceMappingURL=providers.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"providers.js","sourceRoot":"","sources":["../../../src/services/embedding/providers.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,39 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Embedding Service using OpenAI embeddings
|
|
3
|
+
*
|
|
4
|
+
* Implements pure OpenAI embedding support.
|
|
5
|
+
* Uses environment variables:
|
|
6
|
+
* - OPENAI_API_KEY
|
|
7
|
+
* - OPENAI_EMBEDDING_MODEL
|
|
8
|
+
* - EMBEDDING_DIMENSION
|
|
9
|
+
*
|
|
10
|
+
* Supports OpenAI and TEI (Text Embeddings Inference) providers. Selection:
|
|
11
|
+
* - If OPENAI_API_KEY is set, OpenAI is used.
|
|
12
|
+
* - Otherwise, TEI_BASE_URL + TEI_MODEL will be used if configured.
|
|
13
|
+
*/
|
|
14
|
+
import type { EmbeddingResult, BatchEmbeddingResult } from './types.js';
|
|
15
|
+
export type { EmbeddingResult, BatchEmbeddingResult } from './types.js';
|
|
16
|
+
export declare class EmbeddingService {
|
|
17
|
+
private readonly embeddingDimension;
|
|
18
|
+
constructor();
|
|
19
|
+
generateEmbedding(text: string): Promise<EmbeddingResult>;
|
|
20
|
+
generateBatchEmbeddings(texts: string[]): Promise<BatchEmbeddingResult>;
|
|
21
|
+
calculateCosineSimilarity(embedding1: number[] | undefined, embedding2: number[] | undefined): number;
|
|
22
|
+
generateMemoryEmbedding(memory: any): Promise<number[]>;
|
|
23
|
+
estimateCost(): number;
|
|
24
|
+
healthCheck(): Promise<{
|
|
25
|
+
healthy: boolean;
|
|
26
|
+
message: string;
|
|
27
|
+
}>;
|
|
28
|
+
getProvider(): 'openai' | 'tei' | 'local';
|
|
29
|
+
getConfig(): {
|
|
30
|
+
model: string;
|
|
31
|
+
dimension: number;
|
|
32
|
+
provider: "none" | "openai" | "tei";
|
|
33
|
+
apiKeyConfigured: boolean;
|
|
34
|
+
teiConfigured: boolean;
|
|
35
|
+
providerPref: string;
|
|
36
|
+
};
|
|
37
|
+
}
|
|
38
|
+
export declare const embeddingService: EmbeddingService;
|
|
39
|
+
//# sourceMappingURL=service.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"service.d.ts","sourceRoot":"","sources":["../../../src/services/embedding/service.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AAMH,OAAO,KAAK,EAAE,eAAe,EAAE,oBAAoB,EAAE,MAAM,YAAY,CAAC;AAWxE,YAAY,EAAE,eAAe,EAAE,oBAAoB,EAAE,MAAM,YAAY,CAAC;AAExE,qBAAa,gBAAgB;IACzB,OAAO,CAAC,QAAQ,CAAC,kBAAkB,CAAS;;IAMtC,iBAAiB,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,eAAe,CAAC;IA6CzD,uBAAuB,CAAC,KAAK,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,oBAAoB,CAAC;IAyD7E,yBAAyB,CAAC,UAAU,EAAE,MAAM,EAAE,GAAG,SAAS,EAAE,UAAU,EAAE,MAAM,EAAE,GAAG,SAAS,GAAG,MAAM;IAa/F,uBAAuB,CAAC,MAAM,EAAE,GAAG,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC;IAa7D,YAAY,IAAI,MAAM;IAKhB,WAAW,IAAI,OAAO,CAAC;QAAE,OAAO,EAAE,OAAO,CAAC;QAAC,OAAO,EAAE,MAAM,CAAA;KAAE,CAAC;IAoHnE,WAAW,IAAI,QAAQ,GAAG,KAAK,GAAG,OAAO;IASzC,SAAS;;;;;;;;CAiBZ;AAED,eAAO,MAAM,gBAAgB,kBAAyB,CAAC"}
|