@lssm/lib.contracts 1.7.3 → 1.9.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/README.md +62 -325
- package/dist/app-config/contracts.d.ts +51 -49
- package/dist/app-config/contracts.d.ts.map +1 -1
- package/dist/app-config/contracts.js +1 -1
- package/dist/app-config/contracts.js.map +1 -1
- package/dist/app-config/events.d.ts +28 -26
- package/dist/app-config/events.d.ts.map +1 -1
- package/dist/app-config/events.js +1 -1
- package/dist/app-config/events.js.map +1 -1
- package/dist/app-config/lifecycle-contracts.d.ts +81 -79
- package/dist/app-config/lifecycle-contracts.d.ts.map +1 -1
- package/dist/app-config/lifecycle-contracts.js +1 -1
- package/dist/app-config/lifecycle-contracts.js.map +1 -1
- package/dist/app-config/runtime.d.ts.map +1 -1
- package/dist/app-config/runtime.js.map +1 -1
- package/dist/app-config/spec.d.ts +2 -2
- package/dist/app-config/spec.d.ts.map +1 -1
- package/dist/app-config/spec.js.map +1 -1
- package/dist/app-config/validation.d.ts.map +1 -1
- package/dist/app-config/validation.js.map +1 -1
- package/dist/capabilities/openbanking.d.ts.map +1 -1
- package/dist/capabilities/openbanking.js.map +1 -1
- package/dist/capabilities.d.ts +2 -1
- package/dist/capabilities.d.ts.map +1 -1
- package/dist/capabilities.js +1 -1
- package/dist/capabilities.js.map +1 -1
- package/dist/client/react/form-render.d.ts +1 -0
- package/dist/client/react/form-render.d.ts.map +1 -1
- package/dist/contracts-adapter-input.d.ts +1 -0
- package/dist/contracts-adapter-input.d.ts.map +1 -1
- package/dist/data-views/query-generator.d.ts +40 -0
- package/dist/data-views/query-generator.d.ts.map +1 -0
- package/dist/data-views/query-generator.js +2 -0
- package/dist/data-views/query-generator.js.map +1 -0
- package/dist/data-views/runtime.d.ts +27 -0
- package/dist/data-views/runtime.d.ts.map +1 -0
- package/dist/data-views/runtime.js +2 -0
- package/dist/data-views/runtime.js.map +1 -0
- package/dist/data-views.js.map +1 -1
- package/dist/events.d.ts +1 -0
- package/dist/events.d.ts.map +1 -1
- package/dist/events.js +1 -1
- package/dist/events.js.map +1 -1
- package/dist/experiments/evaluator.d.ts.map +1 -1
- package/dist/experiments/evaluator.js.map +1 -1
- package/dist/experiments/spec-resolver.d.ts +17 -0
- package/dist/experiments/spec-resolver.d.ts.map +1 -0
- package/dist/experiments/spec-resolver.js +0 -0
- package/dist/experiments/spec.js.map +1 -1
- package/dist/forms.d.ts +1 -0
- package/dist/forms.d.ts.map +1 -1
- package/dist/graphql-federation/dist/index.js +2 -0
- package/dist/graphql-federation/dist/index.js.map +1 -0
- package/dist/index.d.ts +4 -3
- package/dist/index.js +1 -1
- package/dist/install.d.ts +1 -0
- package/dist/install.d.ts.map +1 -1
- package/dist/integrations/connection.d.ts.map +1 -1
- package/dist/integrations/contracts.d.ts +103 -101
- package/dist/integrations/contracts.d.ts.map +1 -1
- package/dist/integrations/contracts.js +1 -1
- package/dist/integrations/contracts.js.map +1 -1
- package/dist/integrations/health.d.ts.map +1 -1
- package/dist/integrations/health.js.map +1 -1
- package/dist/integrations/openbanking/contracts/accounts.d.ts +67 -65
- package/dist/integrations/openbanking/contracts/accounts.d.ts.map +1 -1
- package/dist/integrations/openbanking/contracts/accounts.js +1 -1
- package/dist/integrations/openbanking/contracts/accounts.js.map +1 -1
- package/dist/integrations/openbanking/contracts/balances.d.ts +35 -33
- package/dist/integrations/openbanking/contracts/balances.d.ts.map +1 -1
- package/dist/integrations/openbanking/contracts/balances.js +1 -1
- package/dist/integrations/openbanking/contracts/balances.js.map +1 -1
- package/dist/integrations/openbanking/contracts/index.js.map +1 -1
- package/dist/integrations/openbanking/contracts/transactions.d.ts +49 -47
- package/dist/integrations/openbanking/contracts/transactions.d.ts.map +1 -1
- package/dist/integrations/openbanking/contracts/transactions.js +1 -1
- package/dist/integrations/openbanking/contracts/transactions.js.map +1 -1
- package/dist/integrations/openbanking/guards.js.map +1 -1
- package/dist/integrations/openbanking/models.d.ts +57 -54
- package/dist/integrations/openbanking/models.d.ts.map +1 -1
- package/dist/integrations/openbanking/models.js +1 -1
- package/dist/integrations/openbanking/models.js.map +1 -1
- package/dist/integrations/openbanking/telemetry.js.map +1 -1
- package/dist/integrations/providers/elevenlabs.d.ts.map +1 -1
- package/dist/integrations/providers/elevenlabs.js.map +1 -1
- package/dist/integrations/providers/gcs-storage.js.map +1 -1
- package/dist/integrations/providers/gmail.d.ts.map +1 -1
- package/dist/integrations/providers/gmail.js.map +1 -1
- package/dist/integrations/providers/google-calendar.js.map +1 -1
- package/dist/integrations/providers/impls/elevenlabs-voice.js.map +1 -1
- package/dist/integrations/providers/impls/gcs-storage.js.map +1 -1
- package/dist/integrations/providers/impls/gmail-inbound.js.map +1 -1
- package/dist/integrations/providers/impls/gmail-outbound.d.ts.map +1 -1
- package/dist/integrations/providers/impls/gmail-outbound.js.map +1 -1
- package/dist/integrations/providers/impls/google-calendar.d.ts.map +1 -1
- package/dist/integrations/providers/impls/google-calendar.js.map +1 -1
- package/dist/integrations/providers/impls/mistral-embedding.js.map +1 -1
- package/dist/integrations/providers/impls/mistral-llm.js.map +1 -1
- package/dist/integrations/providers/impls/postmark-email.js.map +1 -1
- package/dist/integrations/providers/impls/powens-client.d.ts.map +1 -1
- package/dist/integrations/providers/impls/powens-client.js.map +1 -1
- package/dist/integrations/providers/impls/powens-openbanking.d.ts.map +1 -1
- package/dist/integrations/providers/impls/powens-openbanking.js.map +1 -1
- package/dist/integrations/providers/impls/provider-factory.d.ts.map +1 -1
- package/dist/integrations/providers/impls/provider-factory.js.map +1 -1
- package/dist/integrations/providers/impls/qdrant-vector.d.ts.map +1 -1
- package/dist/integrations/providers/impls/qdrant-vector.js.map +1 -1
- package/dist/integrations/providers/impls/stripe-payments.d.ts.map +1 -1
- package/dist/integrations/providers/impls/stripe-payments.js.map +1 -1
- package/dist/integrations/providers/impls/twilio-sms.js.map +1 -1
- package/dist/integrations/providers/llm.d.ts.map +1 -1
- package/dist/integrations/providers/mistral.d.ts.map +1 -1
- package/dist/integrations/providers/mistral.js.map +1 -1
- package/dist/integrations/providers/payments.d.ts.map +1 -1
- package/dist/integrations/providers/postmark.d.ts.map +1 -1
- package/dist/integrations/providers/postmark.js.map +1 -1
- package/dist/integrations/providers/powens.js.map +1 -1
- package/dist/integrations/providers/qdrant.d.ts.map +1 -1
- package/dist/integrations/providers/qdrant.js.map +1 -1
- package/dist/integrations/providers/stripe.js.map +1 -1
- package/dist/integrations/providers/twilio-sms.js.map +1 -1
- package/dist/integrations/runtime.d.ts.map +1 -1
- package/dist/integrations/runtime.js.map +1 -1
- package/dist/integrations/secrets/env-secret-provider.js.map +1 -1
- package/dist/integrations/secrets/gcp-secret-manager.d.ts.map +1 -1
- package/dist/integrations/secrets/gcp-secret-manager.js.map +1 -1
- package/dist/integrations/secrets/manager.d.ts +2 -2
- package/dist/integrations/secrets/manager.d.ts.map +1 -1
- package/dist/integrations/secrets/manager.js.map +1 -1
- package/dist/integrations/secrets/provider.js.map +1 -1
- package/dist/integrations/spec.d.ts.map +1 -1
- package/dist/integrations/spec.js.map +1 -1
- package/dist/jobs/gcp-cloud-tasks.js.map +1 -1
- package/dist/jobs/gcp-pubsub.d.ts.map +1 -1
- package/dist/jobs/gcp-pubsub.js.map +1 -1
- package/dist/jobs/handlers/gmail-sync-handler.js.map +1 -1
- package/dist/jobs/handlers/storage-document-handler.js.map +1 -1
- package/dist/jobs/memory-queue.d.ts.map +1 -1
- package/dist/jobs/memory-queue.js.map +1 -1
- package/dist/jobs/queue.d.ts.map +1 -1
- package/dist/jsonschema.d.ts +1 -1
- package/dist/jsonschema.d.ts.map +1 -1
- package/dist/knowledge/contracts.d.ts +67 -65
- package/dist/knowledge/contracts.d.ts.map +1 -1
- package/dist/knowledge/contracts.js +1 -1
- package/dist/knowledge/contracts.js.map +1 -1
- package/dist/knowledge/ingestion/document-processor.js.map +1 -1
- package/dist/knowledge/ingestion/embedding-service.d.ts.map +1 -1
- package/dist/knowledge/ingestion/embedding-service.js.map +1 -1
- package/dist/knowledge/ingestion/gmail-adapter.d.ts.map +1 -1
- package/dist/knowledge/ingestion/gmail-adapter.js.map +1 -1
- package/dist/knowledge/ingestion/storage-adapter.js.map +1 -1
- package/dist/knowledge/ingestion/vector-indexer.js.map +1 -1
- package/dist/knowledge/query/service.d.ts +2 -2
- package/dist/knowledge/query/service.d.ts.map +1 -1
- package/dist/knowledge/query/service.js.map +1 -1
- package/dist/knowledge/runtime.d.ts.map +1 -1
- package/dist/knowledge/runtime.js.map +1 -1
- package/dist/knowledge/spaces/email-threads.js.map +1 -1
- package/dist/knowledge/spaces/financial-docs.js.map +1 -1
- package/dist/knowledge/spaces/financial-overview.js.map +1 -1
- package/dist/knowledge/spaces/product-canon.js.map +1 -1
- package/dist/knowledge/spaces/support-faq.js.map +1 -1
- package/dist/knowledge/spaces/uploaded-docs.js.map +1 -1
- package/dist/knowledge/spec.js.map +1 -1
- package/dist/migrations.d.ts.map +1 -1
- package/dist/migrations.js.map +1 -1
- package/dist/onboarding-base.d.ts +30 -28
- package/dist/onboarding-base.d.ts.map +1 -1
- package/dist/onboarding-base.js +1 -1
- package/dist/onboarding-base.js.map +1 -1
- package/dist/policy/engine.js.map +1 -1
- package/dist/policy/opa-adapter.d.ts.map +1 -1
- package/dist/policy/opa-adapter.js.map +1 -1
- package/dist/policy/spec.d.ts.map +1 -1
- package/dist/policy/spec.js.map +1 -1
- package/dist/presentations.d.ts +1 -0
- package/dist/presentations.d.ts.map +1 -1
- package/dist/presentations.v2.d.ts +1 -0
- package/dist/presentations.v2.d.ts.map +1 -1
- package/dist/regenerator/executor.d.ts.map +1 -1
- package/dist/regenerator/executor.js.map +1 -1
- package/dist/regenerator/service.d.ts.map +1 -1
- package/dist/regenerator/service.js.map +1 -1
- package/dist/regenerator/sinks.d.ts.map +1 -1
- package/dist/regenerator/sinks.js.map +1 -1
- package/dist/regenerator/types.d.ts.map +1 -1
- package/dist/regenerator/utils.js.map +1 -1
- package/dist/registry.d.ts +37 -9
- package/dist/registry.d.ts.map +1 -1
- package/dist/registry.js +1 -1
- package/dist/registry.js.map +1 -1
- package/dist/schema/dist/FieldType.js +2 -0
- package/dist/schema/dist/FieldType.js.map +1 -0
- package/dist/schema/dist/ScalarTypeEnum.js +2 -0
- package/dist/schema/dist/ScalarTypeEnum.js.map +1 -0
- package/dist/schema/{src → dist}/SchemaModel.js +1 -1
- package/dist/schema/dist/SchemaModel.js.map +1 -0
- package/dist/schema/dist/index.js +1 -0
- package/dist/server/graphql-pothos.d.ts +15 -2
- package/dist/server/graphql-pothos.d.ts.map +1 -1
- package/dist/server/graphql-pothos.js.map +1 -1
- package/dist/server/graphql-schema-export.js +1 -1
- package/dist/server/graphql-schema-export.js.map +1 -1
- package/dist/server/provider-mcp.d.ts +22 -4
- package/dist/server/provider-mcp.d.ts.map +1 -1
- package/dist/server/provider-mcp.js.map +1 -1
- package/dist/server/rest-next-app.d.ts +23 -3
- package/dist/server/rest-next-app.d.ts.map +1 -1
- package/dist/server/rest-next-app.js.map +1 -1
- package/dist/spec.d.ts +23 -0
- package/dist/spec.d.ts.map +1 -1
- package/dist/spec.js.map +1 -1
- package/dist/telemetry/anomaly.js.map +1 -1
- package/dist/telemetry/spec.d.ts.map +1 -1
- package/dist/telemetry/spec.js.map +1 -1
- package/dist/telemetry/tracker.d.ts.map +1 -1
- package/dist/telemetry/tracker.js.map +1 -1
- package/dist/tests/runner.js.map +1 -1
- package/dist/tests/spec.js.map +1 -1
- package/dist/themes.d.ts.map +1 -1
- package/dist/themes.js.map +1 -1
- package/dist/types/all.d.ts +2 -2
- package/dist/types.d.ts +3 -0
- package/dist/types.d.ts.map +1 -1
- package/dist/workflow/adapters/db-adapter.d.ts +30 -10
- package/dist/workflow/adapters/db-adapter.d.ts.map +1 -1
- package/dist/workflow/adapters/db-adapter.js +1 -1
- package/dist/workflow/adapters/db-adapter.js.map +1 -1
- package/dist/workflow/adapters/file-adapter.js.map +1 -1
- package/dist/workflow/adapters/index.d.ts +2 -2
- package/dist/workflow/adapters/index.js +1 -1
- package/dist/workflow/adapters/memory-store.d.ts.map +1 -1
- package/dist/workflow/adapters/memory-store.js.map +1 -1
- package/dist/workflow/expression.js.map +1 -1
- package/dist/workflow/index.d.ts +2 -2
- package/dist/workflow/index.js +1 -1
- package/dist/workflow/runner.d.ts +1 -0
- package/dist/workflow/runner.d.ts.map +1 -1
- package/dist/workflow/runner.js +1 -1
- package/dist/workflow/runner.js.map +1 -1
- package/dist/workflow/sla-monitor.d.ts +21 -0
- package/dist/workflow/sla-monitor.d.ts.map +1 -0
- package/dist/workflow/sla-monitor.js +2 -0
- package/dist/workflow/sla-monitor.js.map +1 -0
- package/dist/workflow/spec.d.ts.map +1 -1
- package/dist/workflow/spec.js.map +1 -1
- package/dist/workflow/state.d.ts +1 -0
- package/dist/workflow/state.d.ts.map +1 -1
- package/dist/workflow/validation.d.ts.map +1 -1
- package/dist/workflow/validation.js.map +1 -1
- package/package.json +181 -177
- package/dist/graphql-federation/src/index.js +0 -2
- package/dist/graphql-federation/src/index.js.map +0 -1
- package/dist/schema/src/FieldType.js +0 -2
- package/dist/schema/src/FieldType.js.map +0 -1
- package/dist/schema/src/ScalarTypeEnum.js +0 -2
- package/dist/schema/src/ScalarTypeEnum.js.map +0 -1
- package/dist/schema/src/SchemaModel.js.map +0 -1
- package/dist/schema/src/index.js +0 -1
- /package/dist/schema/{src → dist}/EnumType.js +0 -0
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"storage-document-handler.js","names":[],"sources":["../../../src/jobs/handlers/storage-document-handler.ts"],"sourcesContent":["import type { ObjectStorageProvider } from '../../integrations/providers/storage';\nimport type { StorageIngestionAdapter } from '../../knowledge/ingestion/storage-adapter';\nimport type { JobHandler } from '../queue';\n\nexport interface StorageDocumentJobPayload {\n bucket: string;\n key: string;\n}\n\nexport function createStorageDocumentHandler(\n storage: ObjectStorageProvider,\n adapter: StorageIngestionAdapter\n): JobHandler<StorageDocumentJobPayload> {\n return async (job) => {\n const object = await storage.getObject({\n bucket: job.payload.bucket,\n key: job.payload.key,\n });\n if (!object) {\n throw new Error(\n `Object ${job.payload.bucket}/${job.payload.key} not found`\n );\n }\n await adapter.ingestObject(object);\n };\n}\n
|
|
1
|
+
{"version":3,"file":"storage-document-handler.js","names":[],"sources":["../../../src/jobs/handlers/storage-document-handler.ts"],"sourcesContent":["import type { ObjectStorageProvider } from '../../integrations/providers/storage';\nimport type { StorageIngestionAdapter } from '../../knowledge/ingestion/storage-adapter';\nimport type { JobHandler } from '../queue';\n\nexport interface StorageDocumentJobPayload {\n bucket: string;\n key: string;\n}\n\nexport function createStorageDocumentHandler(\n storage: ObjectStorageProvider,\n adapter: StorageIngestionAdapter\n): JobHandler<StorageDocumentJobPayload> {\n return async (job) => {\n const object = await storage.getObject({\n bucket: job.payload.bucket,\n key: job.payload.key,\n });\n if (!object) {\n throw new Error(\n `Object ${job.payload.bucket}/${job.payload.key} not found`\n );\n }\n await adapter.ingestObject(object);\n };\n}\n"],"mappings":"AASA,SAAgB,EACd,EACA,EACuC,CACvC,OAAO,KAAO,IAAQ,CACpB,IAAM,EAAS,MAAM,EAAQ,UAAU,CACrC,OAAQ,EAAI,QAAQ,OACpB,IAAK,EAAI,QAAQ,IAClB,CAAC,CACF,GAAI,CAAC,EACH,MAAU,MACR,UAAU,EAAI,QAAQ,OAAO,GAAG,EAAI,QAAQ,IAAI,YACjD,CAEH,MAAM,EAAQ,aAAa,EAAO"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"memory-queue.d.ts","names":[],"sources":["../../src/jobs/memory-queue.ts"],"sourcesContent":[],"mappings":";;;
|
|
1
|
+
{"version":3,"file":"memory-queue.d.ts","names":[],"sources":["../../src/jobs/memory-queue.ts"],"sourcesContent":[],"mappings":";;;cAIa,cAAA,YAA0B;;EAA1B,iBAAe,IAAA;EAUf,iBAAA,QAAA;EACA,QAAA,KAAA;EACI,QAAA,UAAA;EAAJ,WAAA,CAAA,cAAA,CAAA,EAAA,MAAA;EAAR,OAAA,CAAA,QAAA,CAAA,CAAA,OAAA,EAAA,MAAA,EAAA,OAAA,EAFQ,QAER,EAAA,OAAA,CAAA,EADQ,cACR,CAAA,EAAA,OAAA,CAAQ,GAAR,CAAY,QAAZ,CAAA,CAAA;EAiBqD,QAAA,CAAA,QAAA,CAAA,CAAA,OAAA,EAAA,MAAA,EAAA,OAAA,EAAX,UAAW,CAAA,QAAA,CAAA,CAAA,EAAA,IAAA;EAAX,KAAA,CAAA,CAAA,EAAA,IAAA;EAW/B,IAAA,CAAA,CAAA,EAAA,OAAA,CAAA,IAAA,CAAA;EAxCuB,QAAA,WAAA"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"memory-queue.js","names":["job: Job<TPayload>"],"sources":["../../src/jobs/memory-queue.ts"],"sourcesContent":["import { randomUUID } from 'node:crypto';\n\nimport type {
|
|
1
|
+
{"version":3,"file":"memory-queue.js","names":["job: Job<TPayload>"],"sources":["../../src/jobs/memory-queue.ts"],"sourcesContent":["import { randomUUID } from 'node:crypto';\n\nimport type { EnqueueOptions, Job, JobHandler, JobQueue } from './queue';\n\nexport class MemoryJobQueue implements JobQueue {\n private readonly jobs: Job[] = [];\n private readonly handlers = new Map<string, JobHandler>();\n private timer?: NodeJS.Timeout;\n private processing = false;\n\n constructor(private readonly pollIntervalMs = 200) {}\n\n async enqueue<TPayload>(\n jobType: string,\n payload: TPayload,\n options: EnqueueOptions = {}\n ): Promise<Job<TPayload>> {\n const job: Job<TPayload> = {\n id: randomUUID(),\n type: jobType,\n payload,\n status: 'pending',\n attempts: 0,\n createdAt: new Date(),\n updatedAt: new Date(),\n };\n if (options.delaySeconds) {\n job.updatedAt = new Date(Date.now() + options.delaySeconds * 1000);\n }\n this.jobs.push(job);\n return job;\n }\n\n register<TPayload>(jobType: string, handler: JobHandler<TPayload>): void {\n this.handlers.set(jobType, handler as JobHandler);\n }\n\n start(): void {\n if (this.timer) return;\n this.timer = setInterval(() => {\n void this.processNext();\n }, this.pollIntervalMs);\n }\n\n async stop(): Promise<void> {\n if (this.timer) {\n clearInterval(this.timer);\n this.timer = undefined;\n }\n while (this.processing) {\n await new Promise((resolve) => setTimeout(resolve, 10));\n }\n }\n\n private async processNext() {\n if (this.processing) return;\n const job = this.jobs.find(\n (j) => j.status === 'pending' && j.updatedAt <= new Date()\n );\n if (!job) return;\n const handler = this.handlers.get(job.type);\n if (!handler) return;\n\n this.processing = true;\n job.status = 'running';\n job.updatedAt = new Date();\n job.attempts += 1;\n\n try {\n await handler(job);\n job.status = 'completed';\n job.updatedAt = new Date();\n } catch (error) {\n job.status = 'failed';\n job.lastError =\n error instanceof Error ? error.message : 'Unknown job error';\n job.updatedAt = new Date();\n } finally {\n this.processing = false;\n }\n }\n}\n"],"mappings":"yCAIA,IAAa,EAAb,KAAgD,CAC9C,KAA+B,EAAE,CACjC,SAA4B,IAAI,IAChC,MACA,WAAqB,GAErB,YAAY,EAAkC,IAAK,CAAtB,KAAA,eAAA,EAE7B,MAAM,QACJ,EACA,EACA,EAA0B,EAAE,CACJ,CACxB,IAAMA,EAAqB,CACzB,GAAI,GAAY,CAChB,KAAM,EACN,UACA,OAAQ,UACR,SAAU,EACV,UAAW,IAAI,KACf,UAAW,IAAI,KAChB,CAKD,OAJI,EAAQ,eACV,EAAI,UAAY,IAAI,KAAK,KAAK,KAAK,CAAG,EAAQ,aAAe,IAAK,EAEpE,KAAK,KAAK,KAAK,EAAI,CACZ,EAGT,SAAmB,EAAiB,EAAqC,CACvE,KAAK,SAAS,IAAI,EAAS,EAAsB,CAGnD,OAAc,CACR,AACJ,KAAK,QAAQ,gBAAkB,CACxB,KAAK,aAAa,EACtB,KAAK,eAAe,CAGzB,MAAM,MAAsB,CAK1B,IAJA,AAEE,KAAK,SADL,cAAc,KAAK,MAAM,CACZ,IAAA,IAER,KAAK,YACV,MAAM,IAAI,QAAS,GAAY,WAAW,EAAS,GAAG,CAAC,CAI3D,MAAc,aAAc,CAC1B,GAAI,KAAK,WAAY,OACrB,IAAM,EAAM,KAAK,KAAK,KACnB,GAAM,EAAE,SAAW,WAAa,EAAE,WAAa,IAAI,KACrD,CACD,GAAI,CAAC,EAAK,OACV,IAAM,EAAU,KAAK,SAAS,IAAI,EAAI,KAAK,CACtC,KAKL,CAHA,KAAK,WAAa,GAClB,EAAI,OAAS,UACb,EAAI,UAAY,IAAI,KACpB,EAAI,UAAY,EAEhB,GAAI,CACF,MAAM,EAAQ,EAAI,CAClB,EAAI,OAAS,YACb,EAAI,UAAY,IAAI,WACb,EAAO,CACd,EAAI,OAAS,SACb,EAAI,UACF,aAAiB,MAAQ,EAAM,QAAU,oBAC3C,EAAI,UAAY,IAAI,YACZ,CACR,KAAK,WAAa"}
|
package/dist/jobs/queue.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"queue.d.ts","names":[],"sources":["../../src/jobs/queue.ts"],"sourcesContent":[],"mappings":";KAAY,SAAA;AAAA,
|
|
1
|
+
{"version":3,"file":"queue.d.ts","names":[],"sources":["../../src/jobs/queue.ts"],"sourcesContent":[],"mappings":";KAAY,SAAA;AAAA,UAEK,GAFI,CAAA,WAAA,OAAA,CAAA,CAAA;EAEJ,EAAA,EAAA,MAAG;EAGT,IAAA,EAAA,MAAA;EACD,OAAA,EADC,QACD;EAEG,MAAA,EAFH,SAEG;EACA,QAAA,EAAA,MAAA;EAAI,SAAA,EADJ,IACI;EAIA,SAAA,EAJJ,IAII;EAML,SAAA,CAAA,EAAA,MAAU;;AACf,UAPU,cAAA,CAOV;EACF,YAAA,CAAA,EAAA,MAAA;EAAO,SAAA,CAAA,EAAA,MAAA;EAEK,WAAQ,CAAA,EAAA,MAAA;;AAIX,KARF,UAQE,CAAA,WAAA,OAAA,CAAA,GAAA,CAAA,GAAA,EAPP,GAOO,CAPH,QAOG,CAAA,EAAA,GANT,OAMS,CAAA,IAAA,CAAA;AACG,UALA,QAAA,CAKA;EAAJ,OAAA,CAAA,QAAA,CAAA,CAAA,OAAA,EAAA,MAAA,EAAA,OAAA,EAFA,QAEA,EAAA,OAAA,CAAA,EADC,cACD,CAAA,EAAR,OAAQ,CAAA,GAAA,CAAI,QAAJ,CAAA,CAAA;EAAR,QAAA,CAAA,QAAA,CAAA,CAAA,OAAA,EAAA,MAAA,EAAA,OAAA,EAC0C,UAD1C,CACqD,QADrD,CAAA,CAAA,EAAA,IAAA;EACqD,KAAA,EAAA,EAAA,IAAA;EAAX,IAAA,EAAA,EAErC,OAFqC,CAAA,IAAA,CAAA"}
|
package/dist/jsonschema.d.ts
CHANGED
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
import { Stability, Tag } from "./ownership.js";
|
|
2
2
|
import { ContractSpec, OpKind } from "./spec.js";
|
|
3
3
|
import z$1 from "zod";
|
|
4
|
+
import { AnySchemaModel } from "@lssm/lib.schema";
|
|
4
5
|
|
|
5
6
|
//#region src/jsonschema.d.ts
|
|
6
|
-
|
|
7
7
|
declare function jsonSchemaForSpec(spec: ContractSpec<AnySchemaModel, AnySchemaModel>): {
|
|
8
8
|
input: z$1.core.JSONSchema.JSONSchema | null;
|
|
9
9
|
output: z$1.core.JSONSchema.JSONSchema | null;
|
package/dist/jsonschema.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"jsonschema.d.ts","names":[],"sources":["../src/jsonschema.ts"],"sourcesContent":[],"mappings":";;;;;;
|
|
1
|
+
{"version":3,"file":"jsonschema.d.ts","names":[],"sources":["../src/jsonschema.ts"],"sourcesContent":[],"mappings":";;;;;;AAOgB,iBAAA,iBAAA,CAAiB,IAAA,EACzB,YADyB,CACZ,cADY,EACI,cADJ,CAAA,CAAA,EAAA;EACZ,KAAA,gCAAA,GAAA,IAAA;EAAgB,MAAA,gCAAA,GAAA,IAAA;EAA7B,IAAA,EAAA;;;;;;;EAiBQ,CAAA;AAKhB,CAAA;AAKA;iBAVgB,eAAA;;iBAKA,cAAA;;iBAKA,eAAA"}
|
|
@@ -1,44 +1,46 @@
|
|
|
1
1
|
import { ContractSpec } from "../spec.js";
|
|
2
2
|
import { SpecRegistry } from "../registry.js";
|
|
3
|
+
import * as _lssm_lib_schema132 from "@lssm/lib.schema";
|
|
4
|
+
import { SchemaModel } from "@lssm/lib.schema";
|
|
3
5
|
|
|
4
6
|
//#region src/knowledge/contracts.d.ts
|
|
5
7
|
declare const CreateKnowledgeSource: ContractSpec<SchemaModel<{
|
|
6
8
|
tenantId: {
|
|
7
|
-
type:
|
|
9
|
+
type: _lssm_lib_schema132.FieldType<string, string>;
|
|
8
10
|
isOptional: false;
|
|
9
11
|
};
|
|
10
12
|
spaceKey: {
|
|
11
|
-
type:
|
|
13
|
+
type: _lssm_lib_schema132.FieldType<string, string>;
|
|
12
14
|
isOptional: false;
|
|
13
15
|
};
|
|
14
16
|
spaceVersion: {
|
|
15
|
-
type:
|
|
17
|
+
type: _lssm_lib_schema132.FieldType<number, number>;
|
|
16
18
|
isOptional: false;
|
|
17
19
|
};
|
|
18
20
|
label: {
|
|
19
|
-
type:
|
|
21
|
+
type: _lssm_lib_schema132.FieldType<string, string>;
|
|
20
22
|
isOptional: false;
|
|
21
23
|
};
|
|
22
24
|
sourceType: {
|
|
23
|
-
type:
|
|
25
|
+
type: _lssm_lib_schema132.FieldType<string, string>;
|
|
24
26
|
isOptional: false;
|
|
25
27
|
};
|
|
26
28
|
config: {
|
|
27
|
-
type:
|
|
29
|
+
type: _lssm_lib_schema132.FieldType<Record<string, unknown>, Record<string, unknown>>;
|
|
28
30
|
isOptional: false;
|
|
29
31
|
};
|
|
30
32
|
syncSchedule: {
|
|
31
33
|
type: SchemaModel<{
|
|
32
34
|
enabled: {
|
|
33
|
-
type:
|
|
35
|
+
type: _lssm_lib_schema132.FieldType<boolean, boolean>;
|
|
34
36
|
isOptional: false;
|
|
35
37
|
};
|
|
36
38
|
cron: {
|
|
37
|
-
type:
|
|
39
|
+
type: _lssm_lib_schema132.FieldType<string, string>;
|
|
38
40
|
isOptional: true;
|
|
39
41
|
};
|
|
40
42
|
intervalMs: {
|
|
41
|
-
type:
|
|
43
|
+
type: _lssm_lib_schema132.FieldType<number, number>;
|
|
42
44
|
isOptional: true;
|
|
43
45
|
};
|
|
44
46
|
}>;
|
|
@@ -46,92 +48,92 @@ declare const CreateKnowledgeSource: ContractSpec<SchemaModel<{
|
|
|
46
48
|
};
|
|
47
49
|
}>, SchemaModel<{
|
|
48
50
|
id: {
|
|
49
|
-
type:
|
|
51
|
+
type: _lssm_lib_schema132.FieldType<string, string>;
|
|
50
52
|
isOptional: false;
|
|
51
53
|
};
|
|
52
54
|
tenantId: {
|
|
53
|
-
type:
|
|
55
|
+
type: _lssm_lib_schema132.FieldType<string, string>;
|
|
54
56
|
isOptional: false;
|
|
55
57
|
};
|
|
56
58
|
spaceKey: {
|
|
57
|
-
type:
|
|
59
|
+
type: _lssm_lib_schema132.FieldType<string, string>;
|
|
58
60
|
isOptional: false;
|
|
59
61
|
};
|
|
60
62
|
spaceVersion: {
|
|
61
|
-
type:
|
|
63
|
+
type: _lssm_lib_schema132.FieldType<number, number>;
|
|
62
64
|
isOptional: false;
|
|
63
65
|
};
|
|
64
66
|
label: {
|
|
65
|
-
type:
|
|
67
|
+
type: _lssm_lib_schema132.FieldType<string, string>;
|
|
66
68
|
isOptional: false;
|
|
67
69
|
};
|
|
68
70
|
sourceType: {
|
|
69
|
-
type:
|
|
71
|
+
type: _lssm_lib_schema132.FieldType<string, string>;
|
|
70
72
|
isOptional: false;
|
|
71
73
|
};
|
|
72
74
|
syncSchedule: {
|
|
73
75
|
type: SchemaModel<{
|
|
74
76
|
enabled: {
|
|
75
|
-
type:
|
|
77
|
+
type: _lssm_lib_schema132.FieldType<boolean, boolean>;
|
|
76
78
|
isOptional: false;
|
|
77
79
|
};
|
|
78
80
|
cron: {
|
|
79
|
-
type:
|
|
81
|
+
type: _lssm_lib_schema132.FieldType<string, string>;
|
|
80
82
|
isOptional: true;
|
|
81
83
|
};
|
|
82
84
|
intervalMs: {
|
|
83
|
-
type:
|
|
85
|
+
type: _lssm_lib_schema132.FieldType<number, number>;
|
|
84
86
|
isOptional: true;
|
|
85
87
|
};
|
|
86
88
|
}>;
|
|
87
89
|
isOptional: true;
|
|
88
90
|
};
|
|
89
91
|
lastSyncStatus: {
|
|
90
|
-
type:
|
|
92
|
+
type: _lssm_lib_schema132.FieldType<string, string>;
|
|
91
93
|
isOptional: true;
|
|
92
94
|
};
|
|
93
95
|
lastSyncAt: {
|
|
94
|
-
type:
|
|
96
|
+
type: _lssm_lib_schema132.FieldType<Date, string>;
|
|
95
97
|
isOptional: true;
|
|
96
98
|
};
|
|
97
99
|
itemsProcessed: {
|
|
98
|
-
type:
|
|
100
|
+
type: _lssm_lib_schema132.FieldType<number, number>;
|
|
99
101
|
isOptional: true;
|
|
100
102
|
};
|
|
101
103
|
createdAt: {
|
|
102
|
-
type:
|
|
104
|
+
type: _lssm_lib_schema132.FieldType<Date, string>;
|
|
103
105
|
isOptional: true;
|
|
104
106
|
};
|
|
105
107
|
updatedAt: {
|
|
106
|
-
type:
|
|
108
|
+
type: _lssm_lib_schema132.FieldType<Date, string>;
|
|
107
109
|
isOptional: true;
|
|
108
110
|
};
|
|
109
111
|
}>, undefined>;
|
|
110
112
|
declare const UpdateKnowledgeSource: ContractSpec<SchemaModel<{
|
|
111
113
|
sourceId: {
|
|
112
|
-
type:
|
|
114
|
+
type: _lssm_lib_schema132.FieldType<string, string>;
|
|
113
115
|
isOptional: false;
|
|
114
116
|
};
|
|
115
117
|
label: {
|
|
116
|
-
type:
|
|
118
|
+
type: _lssm_lib_schema132.FieldType<string, string>;
|
|
117
119
|
isOptional: true;
|
|
118
120
|
};
|
|
119
121
|
config: {
|
|
120
|
-
type:
|
|
122
|
+
type: _lssm_lib_schema132.FieldType<Record<string, unknown>, Record<string, unknown>>;
|
|
121
123
|
isOptional: true;
|
|
122
124
|
};
|
|
123
125
|
syncSchedule: {
|
|
124
126
|
type: SchemaModel<{
|
|
125
127
|
enabled: {
|
|
126
|
-
type:
|
|
128
|
+
type: _lssm_lib_schema132.FieldType<boolean, boolean>;
|
|
127
129
|
isOptional: false;
|
|
128
130
|
};
|
|
129
131
|
cron: {
|
|
130
|
-
type:
|
|
132
|
+
type: _lssm_lib_schema132.FieldType<string, string>;
|
|
131
133
|
isOptional: true;
|
|
132
134
|
};
|
|
133
135
|
intervalMs: {
|
|
134
|
-
type:
|
|
136
|
+
type: _lssm_lib_schema132.FieldType<number, number>;
|
|
135
137
|
isOptional: true;
|
|
136
138
|
};
|
|
137
139
|
}>;
|
|
@@ -139,149 +141,149 @@ declare const UpdateKnowledgeSource: ContractSpec<SchemaModel<{
|
|
|
139
141
|
};
|
|
140
142
|
}>, SchemaModel<{
|
|
141
143
|
id: {
|
|
142
|
-
type:
|
|
144
|
+
type: _lssm_lib_schema132.FieldType<string, string>;
|
|
143
145
|
isOptional: false;
|
|
144
146
|
};
|
|
145
147
|
tenantId: {
|
|
146
|
-
type:
|
|
148
|
+
type: _lssm_lib_schema132.FieldType<string, string>;
|
|
147
149
|
isOptional: false;
|
|
148
150
|
};
|
|
149
151
|
spaceKey: {
|
|
150
|
-
type:
|
|
152
|
+
type: _lssm_lib_schema132.FieldType<string, string>;
|
|
151
153
|
isOptional: false;
|
|
152
154
|
};
|
|
153
155
|
spaceVersion: {
|
|
154
|
-
type:
|
|
156
|
+
type: _lssm_lib_schema132.FieldType<number, number>;
|
|
155
157
|
isOptional: false;
|
|
156
158
|
};
|
|
157
159
|
label: {
|
|
158
|
-
type:
|
|
160
|
+
type: _lssm_lib_schema132.FieldType<string, string>;
|
|
159
161
|
isOptional: false;
|
|
160
162
|
};
|
|
161
163
|
sourceType: {
|
|
162
|
-
type:
|
|
164
|
+
type: _lssm_lib_schema132.FieldType<string, string>;
|
|
163
165
|
isOptional: false;
|
|
164
166
|
};
|
|
165
167
|
syncSchedule: {
|
|
166
168
|
type: SchemaModel<{
|
|
167
169
|
enabled: {
|
|
168
|
-
type:
|
|
170
|
+
type: _lssm_lib_schema132.FieldType<boolean, boolean>;
|
|
169
171
|
isOptional: false;
|
|
170
172
|
};
|
|
171
173
|
cron: {
|
|
172
|
-
type:
|
|
174
|
+
type: _lssm_lib_schema132.FieldType<string, string>;
|
|
173
175
|
isOptional: true;
|
|
174
176
|
};
|
|
175
177
|
intervalMs: {
|
|
176
|
-
type:
|
|
178
|
+
type: _lssm_lib_schema132.FieldType<number, number>;
|
|
177
179
|
isOptional: true;
|
|
178
180
|
};
|
|
179
181
|
}>;
|
|
180
182
|
isOptional: true;
|
|
181
183
|
};
|
|
182
184
|
lastSyncStatus: {
|
|
183
|
-
type:
|
|
185
|
+
type: _lssm_lib_schema132.FieldType<string, string>;
|
|
184
186
|
isOptional: true;
|
|
185
187
|
};
|
|
186
188
|
lastSyncAt: {
|
|
187
|
-
type:
|
|
189
|
+
type: _lssm_lib_schema132.FieldType<Date, string>;
|
|
188
190
|
isOptional: true;
|
|
189
191
|
};
|
|
190
192
|
itemsProcessed: {
|
|
191
|
-
type:
|
|
193
|
+
type: _lssm_lib_schema132.FieldType<number, number>;
|
|
192
194
|
isOptional: true;
|
|
193
195
|
};
|
|
194
196
|
createdAt: {
|
|
195
|
-
type:
|
|
197
|
+
type: _lssm_lib_schema132.FieldType<Date, string>;
|
|
196
198
|
isOptional: true;
|
|
197
199
|
};
|
|
198
200
|
updatedAt: {
|
|
199
|
-
type:
|
|
201
|
+
type: _lssm_lib_schema132.FieldType<Date, string>;
|
|
200
202
|
isOptional: true;
|
|
201
203
|
};
|
|
202
204
|
}>, undefined>;
|
|
203
205
|
declare const DeleteKnowledgeSource: ContractSpec<SchemaModel<{
|
|
204
206
|
sourceId: {
|
|
205
|
-
type:
|
|
207
|
+
type: _lssm_lib_schema132.FieldType<string, string>;
|
|
206
208
|
isOptional: false;
|
|
207
209
|
};
|
|
208
210
|
}>, SchemaModel<{
|
|
209
211
|
success: {
|
|
210
|
-
type:
|
|
212
|
+
type: _lssm_lib_schema132.FieldType<boolean, boolean>;
|
|
211
213
|
isOptional: false;
|
|
212
214
|
};
|
|
213
215
|
}>, undefined>;
|
|
214
216
|
declare const ListKnowledgeSources: ContractSpec<SchemaModel<{
|
|
215
217
|
tenantId: {
|
|
216
|
-
type:
|
|
218
|
+
type: _lssm_lib_schema132.FieldType<string, string>;
|
|
217
219
|
isOptional: false;
|
|
218
220
|
};
|
|
219
221
|
spaceKey: {
|
|
220
|
-
type:
|
|
222
|
+
type: _lssm_lib_schema132.FieldType<string, string>;
|
|
221
223
|
isOptional: true;
|
|
222
224
|
};
|
|
223
225
|
}>, SchemaModel<{
|
|
224
226
|
sources: {
|
|
225
227
|
type: SchemaModel<{
|
|
226
228
|
id: {
|
|
227
|
-
type:
|
|
229
|
+
type: _lssm_lib_schema132.FieldType<string, string>;
|
|
228
230
|
isOptional: false;
|
|
229
231
|
};
|
|
230
232
|
tenantId: {
|
|
231
|
-
type:
|
|
233
|
+
type: _lssm_lib_schema132.FieldType<string, string>;
|
|
232
234
|
isOptional: false;
|
|
233
235
|
};
|
|
234
236
|
spaceKey: {
|
|
235
|
-
type:
|
|
237
|
+
type: _lssm_lib_schema132.FieldType<string, string>;
|
|
236
238
|
isOptional: false;
|
|
237
239
|
};
|
|
238
240
|
spaceVersion: {
|
|
239
|
-
type:
|
|
241
|
+
type: _lssm_lib_schema132.FieldType<number, number>;
|
|
240
242
|
isOptional: false;
|
|
241
243
|
};
|
|
242
244
|
label: {
|
|
243
|
-
type:
|
|
245
|
+
type: _lssm_lib_schema132.FieldType<string, string>;
|
|
244
246
|
isOptional: false;
|
|
245
247
|
};
|
|
246
248
|
sourceType: {
|
|
247
|
-
type:
|
|
249
|
+
type: _lssm_lib_schema132.FieldType<string, string>;
|
|
248
250
|
isOptional: false;
|
|
249
251
|
};
|
|
250
252
|
syncSchedule: {
|
|
251
253
|
type: SchemaModel<{
|
|
252
254
|
enabled: {
|
|
253
|
-
type:
|
|
255
|
+
type: _lssm_lib_schema132.FieldType<boolean, boolean>;
|
|
254
256
|
isOptional: false;
|
|
255
257
|
};
|
|
256
258
|
cron: {
|
|
257
|
-
type:
|
|
259
|
+
type: _lssm_lib_schema132.FieldType<string, string>;
|
|
258
260
|
isOptional: true;
|
|
259
261
|
};
|
|
260
262
|
intervalMs: {
|
|
261
|
-
type:
|
|
263
|
+
type: _lssm_lib_schema132.FieldType<number, number>;
|
|
262
264
|
isOptional: true;
|
|
263
265
|
};
|
|
264
266
|
}>;
|
|
265
267
|
isOptional: true;
|
|
266
268
|
};
|
|
267
269
|
lastSyncStatus: {
|
|
268
|
-
type:
|
|
270
|
+
type: _lssm_lib_schema132.FieldType<string, string>;
|
|
269
271
|
isOptional: true;
|
|
270
272
|
};
|
|
271
273
|
lastSyncAt: {
|
|
272
|
-
type:
|
|
274
|
+
type: _lssm_lib_schema132.FieldType<Date, string>;
|
|
273
275
|
isOptional: true;
|
|
274
276
|
};
|
|
275
277
|
itemsProcessed: {
|
|
276
|
-
type:
|
|
278
|
+
type: _lssm_lib_schema132.FieldType<number, number>;
|
|
277
279
|
isOptional: true;
|
|
278
280
|
};
|
|
279
281
|
createdAt: {
|
|
280
|
-
type:
|
|
282
|
+
type: _lssm_lib_schema132.FieldType<Date, string>;
|
|
281
283
|
isOptional: true;
|
|
282
284
|
};
|
|
283
285
|
updatedAt: {
|
|
284
|
-
type:
|
|
286
|
+
type: _lssm_lib_schema132.FieldType<Date, string>;
|
|
285
287
|
isOptional: true;
|
|
286
288
|
};
|
|
287
289
|
}>;
|
|
@@ -291,20 +293,20 @@ declare const ListKnowledgeSources: ContractSpec<SchemaModel<{
|
|
|
291
293
|
}>, undefined>;
|
|
292
294
|
declare const TriggerKnowledgeSourceSync: ContractSpec<SchemaModel<{
|
|
293
295
|
sourceId: {
|
|
294
|
-
type:
|
|
296
|
+
type: _lssm_lib_schema132.FieldType<string, string>;
|
|
295
297
|
isOptional: false;
|
|
296
298
|
};
|
|
297
299
|
}>, SchemaModel<{
|
|
298
300
|
success: {
|
|
299
|
-
type:
|
|
301
|
+
type: _lssm_lib_schema132.FieldType<boolean, boolean>;
|
|
300
302
|
isOptional: false;
|
|
301
303
|
};
|
|
302
304
|
itemsProcessed: {
|
|
303
|
-
type:
|
|
305
|
+
type: _lssm_lib_schema132.FieldType<number, number>;
|
|
304
306
|
isOptional: true;
|
|
305
307
|
};
|
|
306
308
|
error: {
|
|
307
|
-
type:
|
|
309
|
+
type: _lssm_lib_schema132.FieldType<string, string>;
|
|
308
310
|
isOptional: true;
|
|
309
311
|
};
|
|
310
312
|
}>, undefined>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"contracts.d.ts","names":[],"sources":["../../src/knowledge/contracts.ts"],"sourcesContent":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"contracts.d.ts","names":[],"sources":["../../src/knowledge/contracts.ts"],"sourcesContent":[],"mappings":";;;;;;cA0Ga,uBAAqB,aAAA;;UAoBhC,mBAAA,CAAA;IApBW,UAAA,EAAA,KAAA;EAoBX,CAAA;;;;;;;;;;;;EApBgC,CAAA;EAAA,UAAA,EAAA;;;;;;;;;;;;;;;;;;;QAAA,IAAA,+BAAA,CAAA,MAAA,EAAA,MAAA,CAAA;QAAA,UAAA,EAAA,IAAA;MAsBrB,CAAA;IAoBX,CAAA,CAAA;;;;;UA1CgC,mBAAA,CAAA;;;;IAsBA,IAAA,+BAAA,CAAA,MAAA,EAAA,MAAA,CAAA;IAAA,UAAA,EAAA,KAAA;;;;;;;;;;;;;;;;;;;IAAA,IAAA,aAAA,CAAA;MAAA,OAAA,EAAA;QAsBrB,IAAA,+BAoBX,CAAA,OAAA,EAAA,OAAA,CAAA;QAAA,UAAA,EAAA,KAAA;MApBgC,CAAA;MAAA,IAAA,EAAA;;QAAA,UAAA,EAAA,IAAA;MAAA,CAAA;MAsBrB,UAAA,EAAA;QAoBX,IAAA,+BAAA,CAAA,MAAA,EAAA,MAAA,CAAA;;MApB+B,CAAA;IAAA,CAAA,CAAA;;;;;;;;;;;;;;;;;;;;IAAA,IAAA,+BAAA,KAAA,EAAA,MAAA,CAAA;IAAA,UAAA,EAAA,IAAA;EAsBpB,CAAA;CAoBX,CAAA,EAAA,SAAA,CAAA;AApBqC,cAlE1B,qBAkE0B,EAlEL,YAkEK,CAlEL,WAkEK,CAAA;EAAA,QAAA,EAAA;UA9CrC,mBAAA,CAAA;;;EA8CqC,KAAA,EAAA;IAAA,IAAA,+BAAA,CAAA,MAAA,EAAA,MAAA,CAAA;IAsB1B,UAAA,EAAA,IAAA;EAQG,CAAA;;;;;;;;;;;;;;;;;;;;;;;;UAhGkB,mBAAA,CAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;cAsBrB,uBAAqB,aAAA;;UAoBhC,mBAAA,CAAA;;;;;UApBgC,mBAAA,CAAA;;;;cAsBrB,sBAAoB,aAAA;;UAoB/B,mBAAA,CAAA;;;;;;;;;;;cApB+B,mBAAA,CAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;cAsBpB,4BAA0B,aAAA;;UAoBrC,mBAAA,CAAA;;;;;UApBqC,mBAAA,CAAA;;;;;;;;;;;;cAsB1B,oBAAoB,eAAe;iBAQhC,0BAAA,WAAqC,eAAY"}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import{
|
|
1
|
+
import{l as e}from"../schema/dist/ScalarTypeEnum.js";import{t}from"../schema/dist/SchemaModel.js";import"../schema/dist/index.js";import{defineCommand as n,defineQuery as r}from"../spec.js";const i=new t({name:`KnowledgeSyncSchedule`,fields:{enabled:{type:e.Boolean(),isOptional:!1},cron:{type:e.String_unsecure(),isOptional:!0},intervalMs:{type:e.Int_unsecure(),isOptional:!0}}}),a=new t({name:`KnowledgeSourceRecord`,fields:{id:{type:e.ID(),isOptional:!1},tenantId:{type:e.ID(),isOptional:!1},spaceKey:{type:e.NonEmptyString(),isOptional:!1},spaceVersion:{type:e.Int_unsecure(),isOptional:!1},label:{type:e.String_unsecure(),isOptional:!1},sourceType:{type:e.String_unsecure(),isOptional:!1},syncSchedule:{type:i,isOptional:!0},lastSyncStatus:{type:e.String_unsecure(),isOptional:!0},lastSyncAt:{type:e.DateTime(),isOptional:!0},itemsProcessed:{type:e.Int_unsecure(),isOptional:!0},createdAt:{type:e.DateTime(),isOptional:!0},updatedAt:{type:e.DateTime(),isOptional:!0}}}),o=new t({name:`CreateKnowledgeSourceInput`,fields:{tenantId:{type:e.ID(),isOptional:!1},spaceKey:{type:e.NonEmptyString(),isOptional:!1},spaceVersion:{type:e.Int_unsecure(),isOptional:!1},label:{type:e.String_unsecure(),isOptional:!1},sourceType:{type:e.NonEmptyString(),isOptional:!1},config:{type:e.JSONObject(),isOptional:!1},syncSchedule:{type:i,isOptional:!0}}}),s=new t({name:`UpdateKnowledgeSourceInput`,fields:{sourceId:{type:e.ID(),isOptional:!1},label:{type:e.String_unsecure(),isOptional:!0},config:{type:e.JSONObject(),isOptional:!0},syncSchedule:{type:i,isOptional:!0}}}),c=new t({name:`DeleteKnowledgeSourceInput`,fields:{sourceId:{type:e.ID(),isOptional:!1}}}),l=new t({name:`DeleteKnowledgeSourceOutput`,fields:{success:{type:e.Boolean(),isOptional:!1}}}),u=new t({name:`ListKnowledgeSourcesInput`,fields:{tenantId:{type:e.ID(),isOptional:!1},spaceKey:{type:e.NonEmptyString(),isOptional:!0}}}),d=new t({name:`ListKnowledgeSourcesOutput`,fields:{sources:{type:a,isOptional:!1,isArray:!0}}}),f=new t({name:`TriggerKnowledgeSyncInput`,fields:{sourceId:{type:e.ID(),isOptional:!1}}}),p=new t({name:`TriggerKnowledgeSyncOutput`,fields:{success:{type:e.Boolean(),isOptional:!1},itemsProcessed:{type:e.Int_unsecure(),isOptional:!0},error:{type:e.String_unsecure(),isOptional:!0}}}),m=n({meta:{name:`knowledge.source.create`,version:1,description:`Create a knowledge source binding for a tenant.`,goal:`Onboard a new knowledge ingestion source such as Notion or uploads.`,context:`Used by Ops and App Studio to configure knowledge ingestion per tenant and space.`,owners:[`platform.knowledge`],tags:[`knowledge`,`sources`],stability:`experimental`},io:{input:o,output:a},policy:{auth:`admin`,policies:[{name:`platform.knowledge.manage`,version:1}]}}),h=n({meta:{name:`knowledge.source.update`,version:1,description:`Update metadata or configuration for a knowledge source.`,goal:`Allow rotation of credentials, sync schedules, and labels.`,context:`Supports editing how a tenant ingests knowledge (e.g., toggling sync cadence).`,owners:[`platform.knowledge`],tags:[`knowledge`,`sources`],stability:`experimental`},io:{input:s,output:a},policy:{auth:`admin`,policies:[{name:`platform.knowledge.manage`,version:1}]}}),g=n({meta:{name:`knowledge.source.delete`,version:1,description:`Delete a knowledge source binding for a tenant.`,goal:`Remove obsolete or compromised knowledge ingestion paths.`,context:`Ensures ephemeral or external sources can be removed cleanly without leaving residual bindings.`,owners:[`platform.knowledge`],tags:[`knowledge`,`sources`],stability:`experimental`},io:{input:c,output:l},policy:{auth:`admin`,policies:[{name:`platform.knowledge.manage`,version:1}]}}),_=r({meta:{name:`knowledge.source.list`,version:1,description:`List knowledge sources configured for a tenant.`,goal:`Provide visibility into knowledge ingest configuration and schedules.`,context:`Used by App Studio and Ops flows to surface knowledge sources and their health.`,owners:[`platform.knowledge`],tags:[`knowledge`,`sources`],stability:`experimental`},io:{input:u,output:d},policy:{auth:`admin`,policies:[{name:`platform.knowledge.read`,version:1}]}}),v=n({meta:{name:`knowledge.source.triggerSync`,version:1,description:`Trigger an immediate sync for a knowledge source.`,goal:`Support manual or automated sync retries for knowledge ingestion.`,context:`Invoked by Ops tooling or monitors when knowledge content must be refreshed or reprocessed.`,owners:[`platform.knowledge`],tags:[`knowledge`,`sources`],stability:`experimental`},io:{input:f,output:p},policy:{auth:`admin`,policies:[{name:`platform.knowledge.manage`,version:1}]}}),y={CreateKnowledgeSource:m,UpdateKnowledgeSource:h,DeleteKnowledgeSource:g,ListKnowledgeSources:_,TriggerKnowledgeSourceSync:v};function b(e){return e.register(m).register(h).register(g).register(_).register(v)}export{m as CreateKnowledgeSource,g as DeleteKnowledgeSource,_ as ListKnowledgeSources,v as TriggerKnowledgeSourceSync,h as UpdateKnowledgeSource,y as knowledgeContracts,b as registerKnowledgeContracts};
|
|
2
2
|
//# sourceMappingURL=contracts.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"contracts.js","names":["knowledgeContracts: Record<string, ContractSpec<any, any>>"],"sources":["../../src/knowledge/contracts.ts"],"sourcesContent":["import {\n ScalarTypeEnum,\n SchemaModel,\n} from '@lssm/lib.schema';\nimport {\n defineCommand,\n defineQuery,\n type ContractSpec,\n} from '../spec';\nimport type { SpecRegistry } from '../registry';\n\nconst KnowledgeSyncSchedule = new SchemaModel({\n name: 'KnowledgeSyncSchedule',\n fields: {\n enabled: { type: ScalarTypeEnum.Boolean(), isOptional: false },\n cron: { type: ScalarTypeEnum.String_unsecure(), isOptional: true },\n intervalMs: { type: ScalarTypeEnum.Int_unsecure(), isOptional: true },\n },\n});\n\nconst KnowledgeSourceRecord = new SchemaModel({\n name: 'KnowledgeSourceRecord',\n fields: {\n id: { type: ScalarTypeEnum.ID(), isOptional: false },\n tenantId: { type: ScalarTypeEnum.ID(), isOptional: false },\n spaceKey: { type: ScalarTypeEnum.NonEmptyString(), isOptional: false },\n spaceVersion: { type: ScalarTypeEnum.Int_unsecure(), isOptional: false },\n label: { type: ScalarTypeEnum.String_unsecure(), isOptional: false },\n sourceType: { type: ScalarTypeEnum.String_unsecure(), isOptional: false },\n syncSchedule: { type: KnowledgeSyncSchedule, isOptional: true },\n lastSyncStatus: { type: ScalarTypeEnum.String_unsecure(), isOptional: true },\n lastSyncAt: { type: ScalarTypeEnum.DateTime(), isOptional: true },\n itemsProcessed: { type: ScalarTypeEnum.Int_unsecure(), isOptional: true },\n createdAt: { type: ScalarTypeEnum.DateTime(), isOptional: true },\n updatedAt: { type: ScalarTypeEnum.DateTime(), isOptional: true },\n },\n});\n\nconst CreateKnowledgeSourceInput = new SchemaModel({\n name: 'CreateKnowledgeSourceInput',\n fields: {\n tenantId: { type: ScalarTypeEnum.ID(), isOptional: false },\n spaceKey: { type: ScalarTypeEnum.NonEmptyString(), isOptional: false },\n spaceVersion: { type: ScalarTypeEnum.Int_unsecure(), isOptional: false },\n label: { type: ScalarTypeEnum.String_unsecure(), isOptional: false },\n sourceType: { type: ScalarTypeEnum.NonEmptyString(), isOptional: false },\n config: { type: ScalarTypeEnum.JSONObject(), isOptional: false },\n syncSchedule: { type: KnowledgeSyncSchedule, isOptional: true },\n },\n});\n\nconst UpdateKnowledgeSourceInput = new SchemaModel({\n name: 'UpdateKnowledgeSourceInput',\n fields: {\n sourceId: { type: ScalarTypeEnum.ID(), isOptional: false },\n label: { type: ScalarTypeEnum.String_unsecure(), isOptional: true },\n config: { type: ScalarTypeEnum.JSONObject(), isOptional: true },\n syncSchedule: { type: KnowledgeSyncSchedule, isOptional: true },\n },\n});\n\nconst DeleteKnowledgeSourceInput = new SchemaModel({\n name: 'DeleteKnowledgeSourceInput',\n fields: {\n sourceId: { type: ScalarTypeEnum.ID(), isOptional: false },\n },\n});\n\nconst DeleteKnowledgeSourceOutput = new SchemaModel({\n name: 'DeleteKnowledgeSourceOutput',\n fields: {\n success: { type: ScalarTypeEnum.Boolean(), isOptional: false },\n },\n});\n\nconst ListKnowledgeSourcesInput = new SchemaModel({\n name: 'ListKnowledgeSourcesInput',\n fields: {\n tenantId: { type: ScalarTypeEnum.ID(), isOptional: false },\n spaceKey: { type: ScalarTypeEnum.NonEmptyString(), isOptional: true },\n },\n});\n\nconst ListKnowledgeSourcesOutput = new SchemaModel({\n name: 'ListKnowledgeSourcesOutput',\n fields: {\n sources: {\n type: KnowledgeSourceRecord,\n isOptional: false,\n isArray: true,\n },\n },\n});\n\nconst TriggerKnowledgeSyncInput = new SchemaModel({\n name: 'TriggerKnowledgeSyncInput',\n fields: {\n sourceId: { type: ScalarTypeEnum.ID(), isOptional: false },\n },\n});\n\nconst TriggerKnowledgeSyncOutput = new SchemaModel({\n name: 'TriggerKnowledgeSyncOutput',\n fields: {\n success: { type: ScalarTypeEnum.Boolean(), isOptional: false },\n itemsProcessed: { type: ScalarTypeEnum.Int_unsecure(), isOptional: true },\n error: { type: ScalarTypeEnum.String_unsecure(), isOptional: true },\n },\n});\n\nexport const CreateKnowledgeSource = defineCommand({\n meta: {\n name: 'knowledge.source.create',\n version: 1,\n description: 'Create a knowledge source binding for a tenant.',\n goal: 'Onboard a new knowledge ingestion source such as Notion or uploads.',\n context:\n 'Used by Ops and App Studio to configure knowledge ingestion per tenant and space.',\n owners: ['platform.knowledge'],\n tags: ['knowledge', 'sources'],\n stability: 'experimental',\n },\n io: {\n input: CreateKnowledgeSourceInput,\n output: KnowledgeSourceRecord,\n },\n policy: {\n auth: 'admin',\n policies: [{ name: 'platform.knowledge.manage', version: 1 }],\n },\n});\n\nexport const UpdateKnowledgeSource = defineCommand({\n meta: {\n name: 'knowledge.source.update',\n version: 1,\n description: 'Update metadata or configuration for a knowledge source.',\n goal: 'Allow rotation of credentials, sync schedules, and labels.',\n context:\n 'Supports editing how a tenant ingests knowledge (e.g., toggling sync cadence).',\n owners: ['platform.knowledge'],\n tags: ['knowledge', 'sources'],\n stability: 'experimental',\n },\n io: {\n input: UpdateKnowledgeSourceInput,\n output: KnowledgeSourceRecord,\n },\n policy: {\n auth: 'admin',\n policies: [{ name: 'platform.knowledge.manage', version: 1 }],\n },\n});\n\nexport const DeleteKnowledgeSource = defineCommand({\n meta: {\n name: 'knowledge.source.delete',\n version: 1,\n description: 'Delete a knowledge source binding for a tenant.',\n goal: 'Remove obsolete or compromised knowledge ingestion paths.',\n context:\n 'Ensures ephemeral or external sources can be removed cleanly without leaving residual bindings.',\n owners: ['platform.knowledge'],\n tags: ['knowledge', 'sources'],\n stability: 'experimental',\n },\n io: {\n input: DeleteKnowledgeSourceInput,\n output: DeleteKnowledgeSourceOutput,\n },\n policy: {\n auth: 'admin',\n policies: [{ name: 'platform.knowledge.manage', version: 1 }],\n },\n});\n\nexport const ListKnowledgeSources = defineQuery({\n meta: {\n name: 'knowledge.source.list',\n version: 1,\n description: 'List knowledge sources configured for a tenant.',\n goal: 'Provide visibility into knowledge ingest configuration and schedules.',\n context:\n 'Used by App Studio and Ops flows to surface knowledge sources and their health.',\n owners: ['platform.knowledge'],\n tags: ['knowledge', 'sources'],\n stability: 'experimental',\n },\n io: {\n input: ListKnowledgeSourcesInput,\n output: ListKnowledgeSourcesOutput,\n },\n policy: {\n auth: 'admin',\n policies: [{ name: 'platform.knowledge.read', version: 1 }],\n },\n});\n\nexport const TriggerKnowledgeSourceSync = defineCommand({\n meta: {\n name: 'knowledge.source.triggerSync',\n version: 1,\n description: 'Trigger an immediate sync for a knowledge source.',\n goal: 'Support manual or automated sync retries for knowledge ingestion.',\n context:\n 'Invoked by Ops tooling or monitors when knowledge content must be refreshed or reprocessed.',\n owners: ['platform.knowledge'],\n tags: ['knowledge', 'sources'],\n stability: 'experimental',\n },\n io: {\n input: TriggerKnowledgeSyncInput,\n output: TriggerKnowledgeSyncOutput,\n },\n policy: {\n auth: 'admin',\n policies: [{ name: 'platform.knowledge.manage', version: 1 }],\n },\n});\n\nexport const knowledgeContracts: Record<string, ContractSpec<any, any>> = {\n CreateKnowledgeSource,\n UpdateKnowledgeSource,\n DeleteKnowledgeSource,\n ListKnowledgeSources,\n TriggerKnowledgeSourceSync,\n};\n\nexport function registerKnowledgeContracts(registry: SpecRegistry) {\n return registry\n .register(CreateKnowledgeSource)\n .register(UpdateKnowledgeSource)\n .register(DeleteKnowledgeSource)\n .register(ListKnowledgeSources)\n .register(TriggerKnowledgeSourceSync);\n}\n\n\n\n\n\n\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"contracts.js","names":["SchemaModel","ScalarTypeEnum","knowledgeContracts: Record<string, ContractSpec<any, any>>"],"sources":["../../src/knowledge/contracts.ts"],"sourcesContent":["import { ScalarTypeEnum, SchemaModel } from '@lssm/lib.schema';\nimport { defineCommand, defineQuery, type ContractSpec } from '../spec';\nimport type { SpecRegistry } from '../registry';\n\nconst KnowledgeSyncSchedule = new SchemaModel({\n name: 'KnowledgeSyncSchedule',\n fields: {\n enabled: { type: ScalarTypeEnum.Boolean(), isOptional: false },\n cron: { type: ScalarTypeEnum.String_unsecure(), isOptional: true },\n intervalMs: { type: ScalarTypeEnum.Int_unsecure(), isOptional: true },\n },\n});\n\nconst KnowledgeSourceRecord = new SchemaModel({\n name: 'KnowledgeSourceRecord',\n fields: {\n id: { type: ScalarTypeEnum.ID(), isOptional: false },\n tenantId: { type: ScalarTypeEnum.ID(), isOptional: false },\n spaceKey: { type: ScalarTypeEnum.NonEmptyString(), isOptional: false },\n spaceVersion: { type: ScalarTypeEnum.Int_unsecure(), isOptional: false },\n label: { type: ScalarTypeEnum.String_unsecure(), isOptional: false },\n sourceType: { type: ScalarTypeEnum.String_unsecure(), isOptional: false },\n syncSchedule: { type: KnowledgeSyncSchedule, isOptional: true },\n lastSyncStatus: {\n type: ScalarTypeEnum.String_unsecure(),\n isOptional: true,\n },\n lastSyncAt: { type: ScalarTypeEnum.DateTime(), isOptional: true },\n itemsProcessed: { type: ScalarTypeEnum.Int_unsecure(), isOptional: true },\n createdAt: { type: ScalarTypeEnum.DateTime(), isOptional: true },\n updatedAt: { type: ScalarTypeEnum.DateTime(), isOptional: true },\n },\n});\n\nconst CreateKnowledgeSourceInput = new SchemaModel({\n name: 'CreateKnowledgeSourceInput',\n fields: {\n tenantId: { type: ScalarTypeEnum.ID(), isOptional: false },\n spaceKey: { type: ScalarTypeEnum.NonEmptyString(), isOptional: false },\n spaceVersion: { type: ScalarTypeEnum.Int_unsecure(), isOptional: false },\n label: { type: ScalarTypeEnum.String_unsecure(), isOptional: false },\n sourceType: { type: ScalarTypeEnum.NonEmptyString(), isOptional: false },\n config: { type: ScalarTypeEnum.JSONObject(), isOptional: false },\n syncSchedule: { type: KnowledgeSyncSchedule, isOptional: true },\n },\n});\n\nconst UpdateKnowledgeSourceInput = new SchemaModel({\n name: 'UpdateKnowledgeSourceInput',\n fields: {\n sourceId: { type: ScalarTypeEnum.ID(), isOptional: false },\n label: { type: ScalarTypeEnum.String_unsecure(), isOptional: true },\n config: { type: ScalarTypeEnum.JSONObject(), isOptional: true },\n syncSchedule: { type: KnowledgeSyncSchedule, isOptional: true },\n },\n});\n\nconst DeleteKnowledgeSourceInput = new SchemaModel({\n name: 'DeleteKnowledgeSourceInput',\n fields: {\n sourceId: { type: ScalarTypeEnum.ID(), isOptional: false },\n },\n});\n\nconst DeleteKnowledgeSourceOutput = new SchemaModel({\n name: 'DeleteKnowledgeSourceOutput',\n fields: {\n success: { type: ScalarTypeEnum.Boolean(), isOptional: false },\n },\n});\n\nconst ListKnowledgeSourcesInput = new SchemaModel({\n name: 'ListKnowledgeSourcesInput',\n fields: {\n tenantId: { type: ScalarTypeEnum.ID(), isOptional: false },\n spaceKey: { type: ScalarTypeEnum.NonEmptyString(), isOptional: true },\n },\n});\n\nconst ListKnowledgeSourcesOutput = new SchemaModel({\n name: 'ListKnowledgeSourcesOutput',\n fields: {\n sources: {\n type: KnowledgeSourceRecord,\n isOptional: false,\n isArray: true,\n },\n },\n});\n\nconst TriggerKnowledgeSyncInput = new SchemaModel({\n name: 'TriggerKnowledgeSyncInput',\n fields: {\n sourceId: { type: ScalarTypeEnum.ID(), isOptional: false },\n },\n});\n\nconst TriggerKnowledgeSyncOutput = new SchemaModel({\n name: 'TriggerKnowledgeSyncOutput',\n fields: {\n success: { type: ScalarTypeEnum.Boolean(), isOptional: false },\n itemsProcessed: { type: ScalarTypeEnum.Int_unsecure(), isOptional: true },\n error: { type: ScalarTypeEnum.String_unsecure(), isOptional: true },\n },\n});\n\nexport const CreateKnowledgeSource = defineCommand({\n meta: {\n name: 'knowledge.source.create',\n version: 1,\n description: 'Create a knowledge source binding for a tenant.',\n goal: 'Onboard a new knowledge ingestion source such as Notion or uploads.',\n context:\n 'Used by Ops and App Studio to configure knowledge ingestion per tenant and space.',\n owners: ['platform.knowledge'],\n tags: ['knowledge', 'sources'],\n stability: 'experimental',\n },\n io: {\n input: CreateKnowledgeSourceInput,\n output: KnowledgeSourceRecord,\n },\n policy: {\n auth: 'admin',\n policies: [{ name: 'platform.knowledge.manage', version: 1 }],\n },\n});\n\nexport const UpdateKnowledgeSource = defineCommand({\n meta: {\n name: 'knowledge.source.update',\n version: 1,\n description: 'Update metadata or configuration for a knowledge source.',\n goal: 'Allow rotation of credentials, sync schedules, and labels.',\n context:\n 'Supports editing how a tenant ingests knowledge (e.g., toggling sync cadence).',\n owners: ['platform.knowledge'],\n tags: ['knowledge', 'sources'],\n stability: 'experimental',\n },\n io: {\n input: UpdateKnowledgeSourceInput,\n output: KnowledgeSourceRecord,\n },\n policy: {\n auth: 'admin',\n policies: [{ name: 'platform.knowledge.manage', version: 1 }],\n },\n});\n\nexport const DeleteKnowledgeSource = defineCommand({\n meta: {\n name: 'knowledge.source.delete',\n version: 1,\n description: 'Delete a knowledge source binding for a tenant.',\n goal: 'Remove obsolete or compromised knowledge ingestion paths.',\n context:\n 'Ensures ephemeral or external sources can be removed cleanly without leaving residual bindings.',\n owners: ['platform.knowledge'],\n tags: ['knowledge', 'sources'],\n stability: 'experimental',\n },\n io: {\n input: DeleteKnowledgeSourceInput,\n output: DeleteKnowledgeSourceOutput,\n },\n policy: {\n auth: 'admin',\n policies: [{ name: 'platform.knowledge.manage', version: 1 }],\n },\n});\n\nexport const ListKnowledgeSources = defineQuery({\n meta: {\n name: 'knowledge.source.list',\n version: 1,\n description: 'List knowledge sources configured for a tenant.',\n goal: 'Provide visibility into knowledge ingest configuration and schedules.',\n context:\n 'Used by App Studio and Ops flows to surface knowledge sources and their health.',\n owners: ['platform.knowledge'],\n tags: ['knowledge', 'sources'],\n stability: 'experimental',\n },\n io: {\n input: ListKnowledgeSourcesInput,\n output: ListKnowledgeSourcesOutput,\n },\n policy: {\n auth: 'admin',\n policies: [{ name: 'platform.knowledge.read', version: 1 }],\n },\n});\n\nexport const TriggerKnowledgeSourceSync = defineCommand({\n meta: {\n name: 'knowledge.source.triggerSync',\n version: 1,\n description: 'Trigger an immediate sync for a knowledge source.',\n goal: 'Support manual or automated sync retries for knowledge ingestion.',\n context:\n 'Invoked by Ops tooling or monitors when knowledge content must be refreshed or reprocessed.',\n owners: ['platform.knowledge'],\n tags: ['knowledge', 'sources'],\n stability: 'experimental',\n },\n io: {\n input: TriggerKnowledgeSyncInput,\n output: TriggerKnowledgeSyncOutput,\n },\n policy: {\n auth: 'admin',\n policies: [{ name: 'platform.knowledge.manage', version: 1 }],\n },\n});\n\nexport const knowledgeContracts: Record<string, ContractSpec<any, any>> = {\n CreateKnowledgeSource,\n UpdateKnowledgeSource,\n DeleteKnowledgeSource,\n ListKnowledgeSources,\n TriggerKnowledgeSourceSync,\n};\n\nexport function registerKnowledgeContracts(registry: SpecRegistry) {\n return registry\n .register(CreateKnowledgeSource)\n .register(UpdateKnowledgeSource)\n .register(DeleteKnowledgeSource)\n .register(ListKnowledgeSources)\n .register(TriggerKnowledgeSourceSync);\n}\n"],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"document-processor.js","names":[],"sources":["../../../src/knowledge/ingestion/document-processor.ts"],"sourcesContent":["import { Buffer } from 'node:buffer';\n\nexport interface RawDocument {\n id: string;\n mimeType: string;\n data: Uint8Array;\n metadata?: Record<string, string>;\n}\n\nexport interface DocumentFragment {\n id: string;\n documentId: string;\n text: string;\n metadata?: Record<string, string>;\n}\n\ntype Extractor = (input: RawDocument) => Promise<DocumentFragment[]>;\n\nexport class DocumentProcessor {\n private readonly extractors = new Map<string, Extractor>();\n\n constructor() {\n this.registerExtractor('text/plain', this.extractText);\n this.registerExtractor('application/json', this.extractJson);\n }\n\n registerExtractor(mimeType: string, extractor: Extractor): void {\n this.extractors.set(mimeType.toLowerCase(), extractor);\n }\n\n async process(document: RawDocument): Promise<DocumentFragment[]> {\n const extractor =\n this.extractors.get(document.mimeType.toLowerCase()) ??\n this.extractors.get('*/*');\n if (!extractor) {\n throw new Error(`No extractor registered for mime type ${document.mimeType}
|
|
1
|
+
{"version":3,"file":"document-processor.js","names":[],"sources":["../../../src/knowledge/ingestion/document-processor.ts"],"sourcesContent":["import { Buffer } from 'node:buffer';\n\nexport interface RawDocument {\n id: string;\n mimeType: string;\n data: Uint8Array;\n metadata?: Record<string, string>;\n}\n\nexport interface DocumentFragment {\n id: string;\n documentId: string;\n text: string;\n metadata?: Record<string, string>;\n}\n\ntype Extractor = (input: RawDocument) => Promise<DocumentFragment[]>;\n\nexport class DocumentProcessor {\n private readonly extractors = new Map<string, Extractor>();\n\n constructor() {\n this.registerExtractor('text/plain', this.extractText);\n this.registerExtractor('application/json', this.extractJson);\n }\n\n registerExtractor(mimeType: string, extractor: Extractor): void {\n this.extractors.set(mimeType.toLowerCase(), extractor);\n }\n\n async process(document: RawDocument): Promise<DocumentFragment[]> {\n const extractor =\n this.extractors.get(document.mimeType.toLowerCase()) ??\n this.extractors.get('*/*');\n if (!extractor) {\n throw new Error(\n `No extractor registered for mime type ${document.mimeType}`\n );\n }\n const fragments = await extractor(document);\n if (fragments.length === 0) {\n return [\n {\n id: `${document.id}:0`,\n documentId: document.id,\n text: '',\n metadata: document.metadata,\n },\n ];\n }\n return fragments;\n }\n\n private async extractText(\n document: RawDocument\n ): Promise<DocumentFragment[]> {\n const text = Buffer.from(document.data).toString('utf-8');\n return [\n {\n id: `${document.id}:0`,\n documentId: document.id,\n text,\n metadata: document.metadata,\n },\n ];\n }\n\n private async extractJson(\n document: RawDocument\n ): Promise<DocumentFragment[]> {\n const text = Buffer.from(document.data).toString('utf-8');\n try {\n const json = JSON.parse(text);\n return [\n {\n id: `${document.id}:0`,\n documentId: document.id,\n text: JSON.stringify(json, null, 2),\n metadata: {\n ...document.metadata,\n contentType: 'application/json',\n },\n },\n ];\n } catch {\n return this.extractText(document);\n }\n }\n}\n"],"mappings":"qCAkBA,IAAa,EAAb,KAA+B,CAC7B,WAA8B,IAAI,IAElC,aAAc,CACZ,KAAK,kBAAkB,aAAc,KAAK,YAAY,CACtD,KAAK,kBAAkB,mBAAoB,KAAK,YAAY,CAG9D,kBAAkB,EAAkB,EAA4B,CAC9D,KAAK,WAAW,IAAI,EAAS,aAAa,CAAE,EAAU,CAGxD,MAAM,QAAQ,EAAoD,CAChE,IAAM,EACJ,KAAK,WAAW,IAAI,EAAS,SAAS,aAAa,CAAC,EACpD,KAAK,WAAW,IAAI,MAAM,CAC5B,GAAI,CAAC,EACH,MAAU,MACR,yCAAyC,EAAS,WACnD,CAEH,IAAM,EAAY,MAAM,EAAU,EAAS,CAW3C,OAVI,EAAU,SAAW,EAChB,CACL,CACE,GAAI,GAAG,EAAS,GAAG,IACnB,WAAY,EAAS,GACrB,KAAM,GACN,SAAU,EAAS,SACpB,CACF,CAEI,EAGT,MAAc,YACZ,EAC6B,CAC7B,IAAM,EAAO,EAAO,KAAK,EAAS,KAAK,CAAC,SAAS,QAAQ,CACzD,MAAO,CACL,CACE,GAAI,GAAG,EAAS,GAAG,IACnB,WAAY,EAAS,GACrB,OACA,SAAU,EAAS,SACpB,CACF,CAGH,MAAc,YACZ,EAC6B,CAC7B,IAAM,EAAO,EAAO,KAAK,EAAS,KAAK,CAAC,SAAS,QAAQ,CACzD,GAAI,CACF,IAAM,EAAO,KAAK,MAAM,EAAK,CAC7B,MAAO,CACL,CACE,GAAI,GAAG,EAAS,GAAG,IACnB,WAAY,EAAS,GACrB,KAAM,KAAK,UAAU,EAAM,KAAM,EAAE,CACnC,SAAU,CACR,GAAG,EAAS,SACZ,YAAa,mBACd,CACF,CACF,MACK,CACN,OAAO,KAAK,YAAY,EAAS"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"embedding-service.d.ts","names":[],"sources":["../../../src/knowledge/ingestion/embedding-service.ts"],"sourcesContent":[],"mappings":";;;;cAOa,gBAAA;;EAAA,iBAAA,SAAgB;EAIL,WAAA,CAAA,QAAA,EAAA,iBAAA,EAAA,SAAA,CAAA,EAAA,MAAA;
|
|
1
|
+
{"version":3,"file":"embedding-service.d.ts","names":[],"sources":["../../../src/knowledge/ingestion/embedding-service.ts"],"sourcesContent":[],"mappings":";;;;cAOa,gBAAA;;EAAA,iBAAA,SAAgB;EAIL,WAAA,CAAA,QAAA,EAAA,iBAAA,EAAA,SAAA,CAAA,EAAA,MAAA;EAMT,cAAA,CAAA,SAAA,EAAA,gBAAA,EAAA,CAAA,EACV,OADU,CACF,eADE,EAAA,CAAA"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"embedding-service.js","names":["results: EmbeddingResult[]","documents: EmbeddingDocument[]"],"sources":["../../../src/knowledge/ingestion/embedding-service.ts"],"sourcesContent":["import type {\n EmbeddingDocument,\n EmbeddingProvider,\n EmbeddingResult,\n} from '../../integrations/providers/embedding';\nimport type { DocumentFragment } from './document-processor';\n\nexport class EmbeddingService {\n private readonly provider: EmbeddingProvider;\n private readonly batchSize: number;\n\n constructor(provider: EmbeddingProvider, batchSize = 16) {\n this.provider = provider;\n this.batchSize = batchSize;\n }\n\n async embedFragments(fragments: DocumentFragment[]): Promise<EmbeddingResult[]> {\n const results: EmbeddingResult[] = [];\n for (let i = 0; i < fragments.length; i += this.batchSize) {\n const slice = fragments.slice(i, i + this.batchSize);\n const documents: EmbeddingDocument[] = slice.map((fragment) => ({\n id: fragment.id,\n text: fragment.text,\n metadata: fragment.metadata,\n }));\n const embeddings = await this.provider.embedDocuments(documents);\n results.push(...embeddings);\n }\n return results;\n }\n}\n
|
|
1
|
+
{"version":3,"file":"embedding-service.js","names":["results: EmbeddingResult[]","documents: EmbeddingDocument[]"],"sources":["../../../src/knowledge/ingestion/embedding-service.ts"],"sourcesContent":["import type {\n EmbeddingDocument,\n EmbeddingProvider,\n EmbeddingResult,\n} from '../../integrations/providers/embedding';\nimport type { DocumentFragment } from './document-processor';\n\nexport class EmbeddingService {\n private readonly provider: EmbeddingProvider;\n private readonly batchSize: number;\n\n constructor(provider: EmbeddingProvider, batchSize = 16) {\n this.provider = provider;\n this.batchSize = batchSize;\n }\n\n async embedFragments(\n fragments: DocumentFragment[]\n ): Promise<EmbeddingResult[]> {\n const results: EmbeddingResult[] = [];\n for (let i = 0; i < fragments.length; i += this.batchSize) {\n const slice = fragments.slice(i, i + this.batchSize);\n const documents: EmbeddingDocument[] = slice.map((fragment) => ({\n id: fragment.id,\n text: fragment.text,\n metadata: fragment.metadata,\n }));\n const embeddings = await this.provider.embedDocuments(documents);\n results.push(...embeddings);\n }\n return results;\n }\n}\n"],"mappings":"AAOA,IAAa,EAAb,KAA8B,CAC5B,SACA,UAEA,YAAY,EAA6B,EAAY,GAAI,CACvD,KAAK,SAAW,EAChB,KAAK,UAAY,EAGnB,MAAM,eACJ,EAC4B,CAC5B,IAAMA,EAA6B,EAAE,CACrC,IAAK,IAAI,EAAI,EAAG,EAAI,EAAU,OAAQ,GAAK,KAAK,UAAW,CAEzD,IAAMC,EADQ,EAAU,MAAM,EAAG,EAAI,KAAK,UAAU,CACP,IAAK,IAAc,CAC9D,GAAI,EAAS,GACb,KAAM,EAAS,KACf,SAAU,EAAS,SACpB,EAAE,CACG,EAAa,MAAM,KAAK,SAAS,eAAe,EAAU,CAChE,EAAQ,KAAK,GAAG,EAAW,CAE7B,OAAO"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"gmail-adapter.d.ts","names":[],"sources":["../../../src/knowledge/ingestion/gmail-adapter.ts"],"sourcesContent":[],"mappings":";;;;;;cAQa,qBAAA;;EAAA,iBAAA,SAAqB;EAEN,iBAAA,UAAA;EACI,iBAAA,OAAA;EACC,WAAA,CAAA,KAAA,EAFL,oBAEK,EAAA,SAAA,EADD,iBACC,EAAA,UAAA,EAAA,gBAAA,EAAA,OAAA,EACH,aADG;EACH,WAAA,CAAA,KAAA,CAAA,
|
|
1
|
+
{"version":3,"file":"gmail-adapter.d.ts","names":[],"sources":["../../../src/knowledge/ingestion/gmail-adapter.ts"],"sourcesContent":[],"mappings":";;;;;;cAQa,qBAAA;;EAAA,iBAAA,SAAqB;EAEN,iBAAA,UAAA;EACI,iBAAA,OAAA;EACC,WAAA,CAAA,KAAA,EAFL,oBAEK,EAAA,SAAA,EADD,iBACC,EAAA,UAAA,EAAA,gBAAA,EAAA,OAAA,EACH,aADG;EACH,WAAA,CAAA,KAAA,CAAA,EAIlB,UAJkB,CAIP,oBAJO,CAAA,aAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,EAIgC,OAJhC,CAAA,IAAA,CAAA;EAIP,YAAA,CAAA,MAAA,EAQM,WARN,CAAA,EAQiB,OARjB,CAAA,IAAA,CAAA;EAAX,QAAA,aAAA"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"gmail-adapter.js","names":["gmail: EmailInboundProvider","processor: DocumentProcessor","embeddings: EmbeddingService","indexer: VectorIndexer"],"sources":["../../../src/knowledge/ingestion/gmail-adapter.ts"],"sourcesContent":["import type {\n EmailInboundProvider,\n EmailThread,\n} from '../../integrations/providers/email';\nimport type { DocumentProcessor, RawDocument } from './document-processor';\nimport type { EmbeddingService } from './embedding-service';\nimport type { VectorIndexer } from './vector-indexer';\n\nexport class GmailIngestionAdapter {\n constructor(\n private readonly gmail: EmailInboundProvider,\n private readonly processor: DocumentProcessor,\n private readonly embeddings: EmbeddingService,\n private readonly indexer: VectorIndexer\n ) {}\n\n async syncThreads(query?: Parameters<EmailInboundProvider['listThreads']>[0]) {\n const threads = await this.gmail.listThreads(query);\n for (const thread of threads) {\n await this.ingestThread(thread);\n }\n }\n\n async ingestThread(thread: EmailThread) {\n const document = this.toRawDocument(thread);\n const fragments = await this.processor.process(document);\n const embeddings = await this.embeddings.embedFragments(fragments);\n await this.indexer.upsert(fragments, embeddings);\n }\n\n private toRawDocument(thread: EmailThread): RawDocument {\n const content = composeThreadText(thread);\n return {\n id: thread.id,\n mimeType: 'text/plain',\n data: Buffer.from(content, 'utf-8'),\n metadata: {\n subject: thread.subject ?? '',\n participants: thread.participants.map((p) => p.email).join(', '),\n updatedAt: thread.updatedAt.toISOString(),\n },\n };\n }\n}\n\nfunction composeThreadText(thread: EmailThread): string {\n const header = [`Subject: ${thread.subject ?? ''}
|
|
1
|
+
{"version":3,"file":"gmail-adapter.js","names":["gmail: EmailInboundProvider","processor: DocumentProcessor","embeddings: EmbeddingService","indexer: VectorIndexer"],"sources":["../../../src/knowledge/ingestion/gmail-adapter.ts"],"sourcesContent":["import type {\n EmailInboundProvider,\n EmailThread,\n} from '../../integrations/providers/email';\nimport type { DocumentProcessor, RawDocument } from './document-processor';\nimport type { EmbeddingService } from './embedding-service';\nimport type { VectorIndexer } from './vector-indexer';\n\nexport class GmailIngestionAdapter {\n constructor(\n private readonly gmail: EmailInboundProvider,\n private readonly processor: DocumentProcessor,\n private readonly embeddings: EmbeddingService,\n private readonly indexer: VectorIndexer\n ) {}\n\n async syncThreads(\n query?: Parameters<EmailInboundProvider['listThreads']>[0]\n ) {\n const threads = await this.gmail.listThreads(query);\n for (const thread of threads) {\n await this.ingestThread(thread);\n }\n }\n\n async ingestThread(thread: EmailThread) {\n const document = this.toRawDocument(thread);\n const fragments = await this.processor.process(document);\n const embeddings = await this.embeddings.embedFragments(fragments);\n await this.indexer.upsert(fragments, embeddings);\n }\n\n private toRawDocument(thread: EmailThread): RawDocument {\n const content = composeThreadText(thread);\n return {\n id: thread.id,\n mimeType: 'text/plain',\n data: Buffer.from(content, 'utf-8'),\n metadata: {\n subject: thread.subject ?? '',\n participants: thread.participants.map((p) => p.email).join(', '),\n updatedAt: thread.updatedAt.toISOString(),\n },\n };\n }\n}\n\nfunction composeThreadText(thread: EmailThread): string {\n const header = [\n `Subject: ${thread.subject ?? ''}`,\n `Snippet: ${thread.snippet ?? ''}`,\n ];\n const messageTexts = thread.messages.map((message) => {\n const parts = [\n `From: ${formatAddress(message.from)}`,\n `To: ${message.to.map(formatAddress).join(', ')}`,\n ];\n if (message.sentAt) {\n parts.push(`Date: ${message.sentAt.toISOString()}`);\n }\n const body = message.textBody ?? stripHtml(message.htmlBody ?? '');\n return `${parts.join('\\n')}\\n\\n${body ?? ''}`;\n });\n return [...header, ...messageTexts].join('\\n\\n---\\n\\n');\n}\n\nfunction formatAddress(address: { email: string; name?: string }): string {\n return address.name ? `${address.name} <${address.email}>` : address.email;\n}\n\nfunction stripHtml(html: string): string {\n return html.replace(/<[^>]+>/g, ' ');\n}\n"],"mappings":"AAQA,IAAa,EAAb,KAAmC,CACjC,YACE,EACA,EACA,EACA,EACA,CAJiB,KAAA,MAAA,EACA,KAAA,UAAA,EACA,KAAA,WAAA,EACA,KAAA,QAAA,EAGnB,MAAM,YACJ,EACA,CACA,IAAM,EAAU,MAAM,KAAK,MAAM,YAAY,EAAM,CACnD,IAAK,IAAM,KAAU,EACnB,MAAM,KAAK,aAAa,EAAO,CAInC,MAAM,aAAa,EAAqB,CACtC,IAAM,EAAW,KAAK,cAAc,EAAO,CACrC,EAAY,MAAM,KAAK,UAAU,QAAQ,EAAS,CAClD,EAAa,MAAM,KAAK,WAAW,eAAe,EAAU,CAClE,MAAM,KAAK,QAAQ,OAAO,EAAW,EAAW,CAGlD,cAAsB,EAAkC,CACtD,IAAM,EAAU,EAAkB,EAAO,CACzC,MAAO,CACL,GAAI,EAAO,GACX,SAAU,aACV,KAAM,OAAO,KAAK,EAAS,QAAQ,CACnC,SAAU,CACR,QAAS,EAAO,SAAW,GAC3B,aAAc,EAAO,aAAa,IAAK,GAAM,EAAE,MAAM,CAAC,KAAK,KAAK,CAChE,UAAW,EAAO,UAAU,aAAa,CAC1C,CACF,GAIL,SAAS,EAAkB,EAA6B,CACtD,IAAM,EAAS,CACb,YAAY,EAAO,SAAW,KAC9B,YAAY,EAAO,SAAW,KAC/B,CACK,EAAe,EAAO,SAAS,IAAK,GAAY,CACpD,IAAM,EAAQ,CACZ,SAAS,EAAc,EAAQ,KAAK,GACpC,OAAO,EAAQ,GAAG,IAAI,EAAc,CAAC,KAAK,KAAK,GAChD,CACG,EAAQ,QACV,EAAM,KAAK,SAAS,EAAQ,OAAO,aAAa,GAAG,CAErD,IAAM,EAAO,EAAQ,UAAY,EAAU,EAAQ,UAAY,GAAG,CAClE,MAAO,GAAG,EAAM,KAAK;EAAK,CAAC,MAAM,GAAQ,MACzC,CACF,MAAO,CAAC,GAAG,EAAQ,GAAG,EAAa,CAAC,KAAK;;;;EAAc,CAGzD,SAAS,EAAc,EAAmD,CACxE,OAAO,EAAQ,KAAO,GAAG,EAAQ,KAAK,IAAI,EAAQ,MAAM,GAAK,EAAQ,MAGvE,SAAS,EAAU,EAAsB,CACvC,OAAO,EAAK,QAAQ,WAAY,IAAI"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"storage-adapter.js","names":["processor: DocumentProcessor","embeddings: EmbeddingService","indexer: VectorIndexer"],"sources":["../../../src/knowledge/ingestion/storage-adapter.ts"],"sourcesContent":["import type { GetObjectResult } from '../../integrations/providers/storage';\nimport type { DocumentProcessor } from './document-processor';\nimport type { EmbeddingService } from './embedding-service';\nimport type { VectorIndexer } from './vector-indexer';\n\nexport class StorageIngestionAdapter {\n constructor(\n private readonly processor: DocumentProcessor,\n private readonly embeddings: EmbeddingService,\n private readonly indexer: VectorIndexer\n ) {}\n\n async ingestObject(object: GetObjectResult): Promise<void> {\n if (!('data' in object) || !object.data) {\n throw new Error('Storage ingestion requires object data');\n }\n\n const raw = {\n id: object.key,\n mimeType: object.contentType ?? 'application/octet-stream',\n data: object.data,\n metadata: {\n bucket: object.bucket,\n checksum: object.checksum ?? '',\n },\n };\n\n const fragments = await this.processor.process(raw);\n const embeddings = await this.embeddings.embedFragments(fragments);\n await this.indexer.upsert(fragments, embeddings);\n }\n}\n
|
|
1
|
+
{"version":3,"file":"storage-adapter.js","names":["processor: DocumentProcessor","embeddings: EmbeddingService","indexer: VectorIndexer"],"sources":["../../../src/knowledge/ingestion/storage-adapter.ts"],"sourcesContent":["import type { GetObjectResult } from '../../integrations/providers/storage';\nimport type { DocumentProcessor } from './document-processor';\nimport type { EmbeddingService } from './embedding-service';\nimport type { VectorIndexer } from './vector-indexer';\n\nexport class StorageIngestionAdapter {\n constructor(\n private readonly processor: DocumentProcessor,\n private readonly embeddings: EmbeddingService,\n private readonly indexer: VectorIndexer\n ) {}\n\n async ingestObject(object: GetObjectResult): Promise<void> {\n if (!('data' in object) || !object.data) {\n throw new Error('Storage ingestion requires object data');\n }\n\n const raw = {\n id: object.key,\n mimeType: object.contentType ?? 'application/octet-stream',\n data: object.data,\n metadata: {\n bucket: object.bucket,\n checksum: object.checksum ?? '',\n },\n };\n\n const fragments = await this.processor.process(raw);\n const embeddings = await this.embeddings.embedFragments(fragments);\n await this.indexer.upsert(fragments, embeddings);\n }\n}\n"],"mappings":"AAKA,IAAa,EAAb,KAAqC,CACnC,YACE,EACA,EACA,EACA,CAHiB,KAAA,UAAA,EACA,KAAA,WAAA,EACA,KAAA,QAAA,EAGnB,MAAM,aAAa,EAAwC,CACzD,GAAI,EAAE,SAAU,IAAW,CAAC,EAAO,KACjC,MAAU,MAAM,yCAAyC,CAG3D,IAAM,EAAM,CACV,GAAI,EAAO,IACX,SAAU,EAAO,aAAe,2BAChC,KAAM,EAAO,KACb,SAAU,CACR,OAAQ,EAAO,OACf,SAAU,EAAO,UAAY,GAC9B,CACF,CAEK,EAAY,MAAM,KAAK,UAAU,QAAQ,EAAI,CAC7C,EAAa,MAAM,KAAK,WAAW,eAAe,EAAU,CAClE,MAAM,KAAK,QAAQ,OAAO,EAAW,EAAW"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"vector-indexer.js","names":["request: VectorUpsertRequest"],"sources":["../../../src/knowledge/ingestion/vector-indexer.ts"],"sourcesContent":["import type {\n VectorStoreProvider,\n VectorUpsertRequest,\n} from '../../integrations/providers/vector-store';\nimport type { EmbeddingResult } from '../../integrations/providers/embedding';\nimport type { DocumentFragment } from './document-processor';\n\nexport interface VectorIndexConfig {\n collection: string;\n namespace?: string;\n metadata?: Record<string, string>;\n}\n\nexport class VectorIndexer {\n private readonly provider: VectorStoreProvider;\n private readonly config: VectorIndexConfig;\n\n constructor(provider: VectorStoreProvider, config: VectorIndexConfig) {\n this.provider = provider;\n this.config = config;\n }\n\n async upsert(\n fragments: DocumentFragment[],\n embeddings: EmbeddingResult[]\n ): Promise<void> {\n const documents = embeddings.map((embedding) => {\n const fragment = fragments.find((f) => f.id === embedding.id);\n return {\n id: embedding.id,\n vector: embedding.vector,\n payload: {\n ...this.config.metadata,\n ...(fragment?.metadata ?? {}),\n documentId: fragment?.documentId,\n },\n namespace: this.config.namespace,\n };\n });\n\n const request: VectorUpsertRequest = {\n collection: this.config.collection,\n documents,\n };\n\n await this.provider.upsert(request);\n }\n}\n
|
|
1
|
+
{"version":3,"file":"vector-indexer.js","names":["request: VectorUpsertRequest"],"sources":["../../../src/knowledge/ingestion/vector-indexer.ts"],"sourcesContent":["import type {\n VectorStoreProvider,\n VectorUpsertRequest,\n} from '../../integrations/providers/vector-store';\nimport type { EmbeddingResult } from '../../integrations/providers/embedding';\nimport type { DocumentFragment } from './document-processor';\n\nexport interface VectorIndexConfig {\n collection: string;\n namespace?: string;\n metadata?: Record<string, string>;\n}\n\nexport class VectorIndexer {\n private readonly provider: VectorStoreProvider;\n private readonly config: VectorIndexConfig;\n\n constructor(provider: VectorStoreProvider, config: VectorIndexConfig) {\n this.provider = provider;\n this.config = config;\n }\n\n async upsert(\n fragments: DocumentFragment[],\n embeddings: EmbeddingResult[]\n ): Promise<void> {\n const documents = embeddings.map((embedding) => {\n const fragment = fragments.find((f) => f.id === embedding.id);\n return {\n id: embedding.id,\n vector: embedding.vector,\n payload: {\n ...this.config.metadata,\n ...(fragment?.metadata ?? {}),\n documentId: fragment?.documentId,\n },\n namespace: this.config.namespace,\n };\n });\n\n const request: VectorUpsertRequest = {\n collection: this.config.collection,\n documents,\n };\n\n await this.provider.upsert(request);\n }\n}\n"],"mappings":"AAaA,IAAa,EAAb,KAA2B,CACzB,SACA,OAEA,YAAY,EAA+B,EAA2B,CACpE,KAAK,SAAW,EAChB,KAAK,OAAS,EAGhB,MAAM,OACJ,EACA,EACe,CACf,IAAM,EAAY,EAAW,IAAK,GAAc,CAC9C,IAAM,EAAW,EAAU,KAAM,GAAM,EAAE,KAAO,EAAU,GAAG,CAC7D,MAAO,CACL,GAAI,EAAU,GACd,OAAQ,EAAU,OAClB,QAAS,CACP,GAAG,KAAK,OAAO,SACf,GAAI,GAAU,UAAY,EAAE,CAC5B,WAAY,GAAU,WACvB,CACD,UAAW,KAAK,OAAO,UACxB,EACD,CAEIA,EAA+B,CACnC,WAAY,KAAK,OAAO,WACxB,YACD,CAED,MAAM,KAAK,SAAS,OAAO,EAAQ"}
|