expxagents 0.24.2 → 0.25.1
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/dist/cli/src/commands/info.d.ts +1 -2
- package/dist/cli/src/commands/login.d.ts +1 -2
- package/dist/cli/src/commands/logout.d.ts +1 -2
- package/dist/cli/src/commands/outdated.d.ts +1 -2
- package/dist/cli/src/commands/publish.d.ts +1 -2
- package/dist/cli/src/commands/registry-install.d.ts +1 -2
- package/dist/cli/src/commands/search.d.ts +1 -2
- package/dist/cli/src/commands/update.d.ts +1 -2
- package/dist/cli/src/commands/whoami.d.ts +1 -2
- package/package.json +1 -1
- package/assets/agents/_catalog.yaml +0 -35
- package/assets/agents/accounting/accountant.agent.md +0 -41
- package/assets/agents/accounting/audit-analyst.agent.md +0 -41
- package/assets/agents/accounting/financial-reporting.agent.md +0 -41
- package/assets/agents/accounting/fiscal-analyst.agent.md +0 -41
- package/assets/agents/accounting/payroll-specialist.agent.md +0 -41
- package/assets/agents/accounting/tax-compliance.agent.md +0 -41
- package/assets/agents/administrative/document-controller.agent.md +0 -41
- package/assets/agents/administrative/office-manager.agent.md +0 -41
- package/assets/agents/administrative/process-documentation-officer.agent.md +0 -41
- package/assets/agents/administrative/procurement-specialist.agent.md +0 -41
- package/assets/agents/board/board-report-writer.agent.md +0 -41
- package/assets/agents/board/business-intelligence.agent.md +0 -41
- package/assets/agents/board/governance-officer.agent.md +0 -41
- package/assets/agents/board/okr-manager.agent.md +0 -41
- package/assets/agents/board/risk-analyst.agent.md +0 -41
- package/assets/agents/board/strategic-advisor.agent.md +0 -41
- package/assets/agents/commercial/account-executive.agent.md +0 -41
- package/assets/agents/commercial/crm-manager.agent.md +0 -41
- package/assets/agents/commercial/pricing-strategist.agent.md +0 -41
- package/assets/agents/commercial/proposal-writer.agent.md +0 -41
- package/assets/agents/commercial/sdr.agent.md +0 -41
- package/assets/agents/compliance/compliance-officer.agent.md +0 -41
- package/assets/agents/compliance/data-privacy-specialist.agent.md +0 -41
- package/assets/agents/compliance/internal-auditor.agent.md +0 -41
- package/assets/agents/compliance/regulatory-monitor.agent.md +0 -41
- package/assets/agents/customer-success/churn-prevention.agent.md +0 -41
- package/assets/agents/customer-success/csm.agent.md +0 -41
- package/assets/agents/customer-success/expansion-manager.agent.md +0 -41
- package/assets/agents/customer-success/nps-analyst.agent.md +0 -41
- package/assets/agents/customer-success/renewal-manager.agent.md +0 -41
- package/assets/agents/development/android-developer.agent.md +0 -41
- package/assets/agents/development/backend-developer.agent.md +0 -42
- package/assets/agents/development/business-analyst.agent.md +0 -41
- package/assets/agents/development/code-reviewer.agent.md +0 -41
- package/assets/agents/development/cross-platform-mobile.agent.md +0 -41
- package/assets/agents/development/dba.agent.md +0 -41
- package/assets/agents/development/desktop-developer.agent.md +0 -41
- package/assets/agents/development/devops-engineer.agent.md +0 -41
- package/assets/agents/development/frontend-developer.agent.md +0 -103
- package/assets/agents/development/ios-developer.agent.md +0 -41
- package/assets/agents/development/product-manager.agent.md +0 -41
- package/assets/agents/development/qa-engineer.agent.md +0 -41
- package/assets/agents/development/scrum-master.agent.md +0 -41
- package/assets/agents/development/security-analyst.agent.md +0 -41
- package/assets/agents/development/tech-lead.agent.md +0 -42
- package/assets/agents/development/tech-writer.agent.md +0 -41
- package/assets/agents/development/ux-design-expert.agent.md +0 -108
- package/assets/agents/development/ux-designer.agent.md +0 -41
- package/assets/agents/finance/accounts-manager.agent.md +0 -41
- package/assets/agents/finance/billing-analyst.agent.md +0 -41
- package/assets/agents/finance/budget-planner.agent.md +0 -41
- package/assets/agents/finance/financial-controller.agent.md +0 -41
- package/assets/agents/hr/benefits-manager.agent.md +0 -41
- package/assets/agents/hr/hr-onboarding.agent.md +0 -41
- package/assets/agents/hr/interview-coordinator.agent.md +0 -41
- package/assets/agents/hr/people-culture.agent.md +0 -41
- package/assets/agents/hr/performance-analyst.agent.md +0 -41
- package/assets/agents/hr/recruiter.agent.md +0 -41
- package/assets/agents/implantation/deployment-manager.agent.md +0 -41
- package/assets/agents/implantation/environment-specialist.agent.md +0 -41
- package/assets/agents/implantation/go-live-coordinator.agent.md +0 -41
- package/assets/agents/implantation/integration-specialist.agent.md +0 -41
- package/assets/agents/implantation/migration-specialist.agent.md +0 -41
- package/assets/agents/legal/contract-manager.agent.md +0 -41
- package/assets/agents/legal/ip-specialist.agent.md +0 -41
- package/assets/agents/legal/labor-attorney.agent.md +0 -41
- package/assets/agents/legal/legal-counsel.agent.md +0 -41
- package/assets/agents/marketing/brand-guardian.agent.md +0 -40
- package/assets/agents/marketing/content-creator.agent.md +0 -41
- package/assets/agents/marketing/email-marketing.agent.md +0 -41
- package/assets/agents/marketing/landing-page-builder.agent.md +0 -138
- package/assets/agents/marketing/marketing-analyst.agent.md +0 -41
- package/assets/agents/marketing/paid-ads-manager.agent.md +0 -41
- package/assets/agents/marketing/seo-specialist.agent.md +0 -41
- package/assets/agents/marketing/social-media-manager.agent.md +0 -41
- package/assets/agents/rnd/benchmark-analyst.agent.md +0 -41
- package/assets/agents/rnd/innovation-scout.agent.md +0 -41
- package/assets/agents/rnd/market-researcher.agent.md +0 -41
- package/assets/agents/rnd/product-analyst.agent.md +0 -41
- package/assets/agents/rnd/prototype-builder.agent.md +0 -41
- package/assets/agents/support/knowledge-base-manager.agent.md +0 -41
- package/assets/agents/support/l1-support.agent.md +0 -41
- package/assets/agents/support/l2-support.agent.md +0 -41
- package/assets/agents/support/l3-support.agent.md +0 -41
- package/assets/agents/support/sla-monitor.agent.md +0 -41
- package/assets/agents/training/assessment-creator.agent.md +0 -41
- package/assets/agents/training/onboarding-coach.agent.md +0 -41
- package/assets/agents/training/training-designer.agent.md +0 -41
- package/assets/agents/training/workshop-facilitator.agent.md +0 -41
- package/assets/core/best-practices/_catalog.yaml +0 -91
- package/assets/core/best-practices/api-documentation.md +0 -137
- package/assets/core/best-practices/blog-post.md +0 -86
- package/assets/core/best-practices/blog-seo.md +0 -91
- package/assets/core/best-practices/code-review.md +0 -97
- package/assets/core/best-practices/copywriting.md +0 -75
- package/assets/core/best-practices/data-analysis.md +0 -93
- package/assets/core/best-practices/deploy-checklist.md +0 -99
- package/assets/core/best-practices/email-newsletter.md +0 -84
- package/assets/core/best-practices/email-sales.md +0 -91
- package/assets/core/best-practices/fullstack-page-generation.md +0 -936
- package/assets/core/best-practices/image-design.md +0 -78
- package/assets/core/best-practices/instagram-feed.md +0 -70
- package/assets/core/best-practices/instagram-reels.md +0 -75
- package/assets/core/best-practices/instagram-stories.md +0 -68
- package/assets/core/best-practices/landing-page-react.md +0 -2263
- package/assets/core/best-practices/landing-page.md +0 -279
- package/assets/core/best-practices/linkedin-article.md +0 -83
- package/assets/core/best-practices/linkedin-post.md +0 -84
- package/assets/core/best-practices/researching.md +0 -89
- package/assets/core/best-practices/review.md +0 -95
- package/assets/core/best-practices/sprint-planning.md +0 -91
- package/assets/core/best-practices/strategist.md +0 -95
- package/assets/core/best-practices/technical-writing.md +0 -104
- package/assets/core/best-practices/twitter-post.md +0 -75
- package/assets/core/best-practices/twitter-thread.md +0 -92
- package/assets/core/best-practices/whatsapp-broadcast.md +0 -95
- package/assets/core/best-practices/youtube-script.md +0 -80
- package/assets/core/best-practices/youtube-shorts.md +0 -76
- package/assets/core/prompts/insight-hunter.prompt.md +0 -62
- package/assets/core/runner.pipeline.md +0 -200
- package/assets/core/skills.engine.md +0 -65
- package/assets/core/solution-architect.agent.md +0 -329
- package/assets/mcps/_catalog.yaml +0 -17
- package/assets/mcps/figma.mcp.yaml +0 -35
- package/assets/mcps/github.mcp.yaml +0 -44
- package/assets/mcps/linear.mcp.yaml +0 -37
- package/assets/mcps/notion.mcp.yaml +0 -37
- package/assets/mcps/pencil.mcp.yaml +0 -32
- package/assets/mcps/postgresql.mcp.yaml +0 -39
- package/assets/mcps/sentry.mcp.yaml +0 -41
- package/assets/mcps/slack.mcp.yaml +0 -37
- package/assets/mcps/vercel.mcp.yaml +0 -39
- package/assets/templates/_expxagents/_memory/company.md +0 -25
- package/assets/templates/_expxagents/_memory/preferences.md +0 -6
- package/assets/templates/squads/_memory/memories.md +0 -16
- package/dist/cli/src/__tests__/cli.test.d.ts +0 -1
- package/dist/cli/src/__tests__/cli.test.js +0 -23
- package/dist/cli/src/commands/__tests__/outdated.test.d.ts +0 -1
- package/dist/cli/src/commands/__tests__/outdated.test.js +0 -76
- package/dist/cli/src/mcp/__tests__/catalog.test.d.ts +0 -1
- package/dist/cli/src/mcp/__tests__/catalog.test.js +0 -101
- package/dist/cli/src/mcp/__tests__/detect.test.d.ts +0 -1
- package/dist/cli/src/mcp/__tests__/detect.test.js +0 -84
- package/dist/cli/src/mcp/__tests__/setup.test.d.ts +0 -1
- package/dist/cli/src/mcp/__tests__/setup.test.js +0 -75
- package/dist/cli/src/mcp/__tests__/validate.test.d.ts +0 -1
- package/dist/cli/src/mcp/__tests__/validate.test.js +0 -42
- package/dist/cli/src/pencil/__tests__/detect.test.d.ts +0 -1
- package/dist/cli/src/pencil/__tests__/detect.test.js +0 -71
- package/dist/cli/src/pencil/__tests__/property-mapper.test.d.ts +0 -1
- package/dist/cli/src/pencil/__tests__/property-mapper.test.js +0 -120
- package/dist/cli/src/pencil/__tests__/template-sync.test.d.ts +0 -1
- package/dist/cli/src/pencil/__tests__/template-sync.test.js +0 -95
- package/dist/cli/src/runners/__tests__/provider-registry.test.d.ts +0 -1
- package/dist/cli/src/runners/__tests__/provider-registry.test.js +0 -31
- package/dist/cli/src/runners/__tests__/provider-runner.test.d.ts +0 -1
- package/dist/cli/src/runners/__tests__/provider-runner.test.js +0 -86
- package/dist/cli/src/utils/__tests__/command-prefix.test.d.ts +0 -1
- package/dist/cli/src/utils/__tests__/command-prefix.test.js +0 -35
- package/dist/cli/src/utils/__tests__/global-install.test.d.ts +0 -1
- package/dist/cli/src/utils/__tests__/global-install.test.js +0 -25
- package/dist/dashboard/assets/BufferResource-RMf3hLtL.js +0 -185
- package/dist/dashboard/assets/CanvasRenderer-By9CeUeH.js +0 -1
- package/dist/dashboard/assets/JarvisView-DCkJVL5f.js +0 -1
- package/dist/dashboard/assets/RenderTargetSystem-Du3lfljq.js +0 -172
- package/dist/dashboard/assets/ThreeBackground-m9EgwJVc.js +0 -1
- package/dist/dashboard/assets/WebGLRenderer-BfDYJhYQ.js +0 -156
- package/dist/dashboard/assets/WebGPURenderer-CYzaDyV_.js +0 -41
- package/dist/dashboard/assets/browserAll-CFQKTPw8.js +0 -14
- package/dist/dashboard/assets/index-DPwnElYV.js +0 -1195
- package/dist/dashboard/assets/index-DtbIzZ5n.css +0 -1
- package/dist/dashboard/assets/three-BZk_I9Ly.js +0 -4057
- package/dist/dashboard/assets/webworkerAll-Cti2tnMb.js +0 -83
- package/dist/dashboard/index.html +0 -13
- package/dist/data/opensquad.db +0 -0
- package/dist/data/opensquad.db-shm +0 -0
- package/dist/data/opensquad.db-wal +0 -0
- package/dist/server/api/__tests__/cost-routes.test.d.ts +0 -2
- package/dist/server/api/__tests__/cost-routes.test.d.ts.map +0 -1
- package/dist/server/api/__tests__/cost-routes.test.js +0 -54
- package/dist/server/api/__tests__/cost-routes.test.js.map +0 -1
- package/dist/server/api/__tests__/files-routes.test.d.ts +0 -2
- package/dist/server/api/__tests__/files-routes.test.d.ts.map +0 -1
- package/dist/server/api/__tests__/files-routes.test.js +0 -85
- package/dist/server/api/__tests__/files-routes.test.js.map +0 -1
- package/dist/server/api/__tests__/graph-routes.test.d.ts +0 -2
- package/dist/server/api/__tests__/graph-routes.test.d.ts.map +0 -1
- package/dist/server/api/__tests__/graph-routes.test.js +0 -105
- package/dist/server/api/__tests__/graph-routes.test.js.map +0 -1
- package/dist/server/api/__tests__/health-routes.test.d.ts +0 -2
- package/dist/server/api/__tests__/health-routes.test.d.ts.map +0 -1
- package/dist/server/api/__tests__/health-routes.test.js +0 -22
- package/dist/server/api/__tests__/health-routes.test.js.map +0 -1
- package/dist/server/api/__tests__/integration-routes.test.d.ts +0 -2
- package/dist/server/api/__tests__/integration-routes.test.d.ts.map +0 -1
- package/dist/server/api/__tests__/integration-routes.test.js +0 -243
- package/dist/server/api/__tests__/integration-routes.test.js.map +0 -1
- package/dist/server/api/__tests__/kanban-routes.test.d.ts +0 -2
- package/dist/server/api/__tests__/kanban-routes.test.d.ts.map +0 -1
- package/dist/server/api/__tests__/kanban-routes.test.js +0 -316
- package/dist/server/api/__tests__/kanban-routes.test.js.map +0 -1
- package/dist/server/api/__tests__/log-routes.test.d.ts +0 -2
- package/dist/server/api/__tests__/log-routes.test.d.ts.map +0 -1
- package/dist/server/api/__tests__/log-routes.test.js +0 -35
- package/dist/server/api/__tests__/log-routes.test.js.map +0 -1
- package/dist/server/api/__tests__/orgchart-routes.test.d.ts +0 -2
- package/dist/server/api/__tests__/orgchart-routes.test.d.ts.map +0 -1
- package/dist/server/api/__tests__/orgchart-routes.test.js +0 -161
- package/dist/server/api/__tests__/orgchart-routes.test.js.map +0 -1
- package/dist/server/api/__tests__/settings-routes.test.d.ts +0 -2
- package/dist/server/api/__tests__/settings-routes.test.d.ts.map +0 -1
- package/dist/server/api/__tests__/settings-routes.test.js +0 -177
- package/dist/server/api/__tests__/settings-routes.test.js.map +0 -1
- package/dist/server/api/__tests__/system-routes.test.d.ts +0 -2
- package/dist/server/api/__tests__/system-routes.test.d.ts.map +0 -1
- package/dist/server/api/__tests__/system-routes.test.js +0 -79
- package/dist/server/api/__tests__/system-routes.test.js.map +0 -1
- package/dist/server/api/__tests__/team-routes.test.d.ts +0 -2
- package/dist/server/api/__tests__/team-routes.test.d.ts.map +0 -1
- package/dist/server/api/__tests__/team-routes.test.js +0 -116
- package/dist/server/api/__tests__/team-routes.test.js.map +0 -1
- package/dist/server/api/__tests__/webhook-routes.test.d.ts +0 -2
- package/dist/server/api/__tests__/webhook-routes.test.d.ts.map +0 -1
- package/dist/server/api/__tests__/webhook-routes.test.js +0 -111
- package/dist/server/api/__tests__/webhook-routes.test.js.map +0 -1
- package/dist/server/api/activity-routes.d.ts +0 -8
- package/dist/server/api/activity-routes.d.ts.map +0 -1
- package/dist/server/api/activity-routes.js +0 -34
- package/dist/server/api/activity-routes.js.map +0 -1
- package/dist/server/api/chat-api-routes.d.ts +0 -4
- package/dist/server/api/chat-api-routes.d.ts.map +0 -1
- package/dist/server/api/chat-api-routes.js +0 -28
- package/dist/server/api/chat-api-routes.js.map +0 -1
- package/dist/server/api/cost-routes.d.ts +0 -8
- package/dist/server/api/cost-routes.d.ts.map +0 -1
- package/dist/server/api/cost-routes.js +0 -39
- package/dist/server/api/cost-routes.js.map +0 -1
- package/dist/server/api/dashboard-routes.d.ts +0 -10
- package/dist/server/api/dashboard-routes.d.ts.map +0 -1
- package/dist/server/api/dashboard-routes.js +0 -128
- package/dist/server/api/dashboard-routes.js.map +0 -1
- package/dist/server/api/files-routes.d.ts +0 -5
- package/dist/server/api/files-routes.d.ts.map +0 -1
- package/dist/server/api/files-routes.js +0 -218
- package/dist/server/api/files-routes.js.map +0 -1
- package/dist/server/api/graph-routes.d.ts +0 -24
- package/dist/server/api/graph-routes.d.ts.map +0 -1
- package/dist/server/api/graph-routes.js +0 -208
- package/dist/server/api/graph-routes.js.map +0 -1
- package/dist/server/api/health-routes.d.ts +0 -9
- package/dist/server/api/health-routes.d.ts.map +0 -1
- package/dist/server/api/health-routes.js +0 -46
- package/dist/server/api/health-routes.js.map +0 -1
- package/dist/server/api/integration-routes.d.ts +0 -23
- package/dist/server/api/integration-routes.d.ts.map +0 -1
- package/dist/server/api/integration-routes.js +0 -326
- package/dist/server/api/integration-routes.js.map +0 -1
- package/dist/server/api/kanban-routes.d.ts +0 -8
- package/dist/server/api/kanban-routes.d.ts.map +0 -1
- package/dist/server/api/kanban-routes.js +0 -128
- package/dist/server/api/kanban-routes.js.map +0 -1
- package/dist/server/api/knowledge-routes.d.ts +0 -8
- package/dist/server/api/knowledge-routes.d.ts.map +0 -1
- package/dist/server/api/knowledge-routes.js +0 -82
- package/dist/server/api/knowledge-routes.js.map +0 -1
- package/dist/server/api/log-routes.d.ts +0 -8
- package/dist/server/api/log-routes.d.ts.map +0 -1
- package/dist/server/api/log-routes.js +0 -31
- package/dist/server/api/log-routes.js.map +0 -1
- package/dist/server/api/orgchart-routes.d.ts +0 -7
- package/dist/server/api/orgchart-routes.d.ts.map +0 -1
- package/dist/server/api/orgchart-routes.js +0 -154
- package/dist/server/api/orgchart-routes.js.map +0 -1
- package/dist/server/api/registry-routes.d.ts +0 -7
- package/dist/server/api/registry-routes.d.ts.map +0 -1
- package/dist/server/api/registry-routes.js +0 -51
- package/dist/server/api/registry-routes.js.map +0 -1
- package/dist/server/api/settings-routes.d.ts +0 -11
- package/dist/server/api/settings-routes.d.ts.map +0 -1
- package/dist/server/api/settings-routes.js +0 -167
- package/dist/server/api/settings-routes.js.map +0 -1
- package/dist/server/api/squads-routes.d.ts +0 -7
- package/dist/server/api/squads-routes.d.ts.map +0 -1
- package/dist/server/api/squads-routes.js +0 -165
- package/dist/server/api/squads-routes.js.map +0 -1
- package/dist/server/api/system-routes.d.ts +0 -9
- package/dist/server/api/system-routes.d.ts.map +0 -1
- package/dist/server/api/system-routes.js +0 -241
- package/dist/server/api/system-routes.js.map +0 -1
- package/dist/server/api/team-routes.d.ts +0 -8
- package/dist/server/api/team-routes.d.ts.map +0 -1
- package/dist/server/api/team-routes.js +0 -55
- package/dist/server/api/team-routes.js.map +0 -1
- package/dist/server/api/users-routes.d.ts +0 -8
- package/dist/server/api/users-routes.d.ts.map +0 -1
- package/dist/server/api/users-routes.js +0 -65
- package/dist/server/api/users-routes.js.map +0 -1
- package/dist/server/api/webhook-routes.d.ts +0 -9
- package/dist/server/api/webhook-routes.d.ts.map +0 -1
- package/dist/server/api/webhook-routes.js +0 -82
- package/dist/server/api/webhook-routes.js.map +0 -1
- package/dist/server/app.d.ts +0 -9
- package/dist/server/app.d.ts.map +0 -1
- package/dist/server/app.js +0 -263
- package/dist/server/app.js.map +0 -1
- package/dist/server/auth/auth-middleware.d.ts +0 -13
- package/dist/server/auth/auth-middleware.d.ts.map +0 -1
- package/dist/server/auth/auth-middleware.js +0 -25
- package/dist/server/auth/auth-middleware.js.map +0 -1
- package/dist/server/auth/auth-routes.d.ts +0 -9
- package/dist/server/auth/auth-routes.d.ts.map +0 -1
- package/dist/server/auth/auth-routes.js +0 -149
- package/dist/server/auth/auth-routes.js.map +0 -1
- package/dist/server/auth/jwt.d.ts +0 -14
- package/dist/server/auth/jwt.d.ts.map +0 -1
- package/dist/server/auth/jwt.js +0 -16
- package/dist/server/auth/jwt.js.map +0 -1
- package/dist/server/auth/password.d.ts +0 -3
- package/dist/server/auth/password.d.ts.map +0 -1
- package/dist/server/auth/password.js +0 -9
- package/dist/server/auth/password.js.map +0 -1
- package/dist/server/bridge/__tests__/chat-handler.test.d.ts +0 -2
- package/dist/server/bridge/__tests__/chat-handler.test.d.ts.map +0 -1
- package/dist/server/bridge/__tests__/chat-handler.test.js +0 -143
- package/dist/server/bridge/__tests__/chat-handler.test.js.map +0 -1
- package/dist/server/bridge/__tests__/chat-integration.test.d.ts +0 -2
- package/dist/server/bridge/__tests__/chat-integration.test.d.ts.map +0 -1
- package/dist/server/bridge/__tests__/chat-integration.test.js +0 -129
- package/dist/server/bridge/__tests__/chat-integration.test.js.map +0 -1
- package/dist/server/bridge/__tests__/claude-bridge.test.d.ts +0 -2
- package/dist/server/bridge/__tests__/claude-bridge.test.d.ts.map +0 -1
- package/dist/server/bridge/__tests__/claude-bridge.test.js +0 -300
- package/dist/server/bridge/__tests__/claude-bridge.test.js.map +0 -1
- package/dist/server/bridge/__tests__/conversation.test.d.ts +0 -2
- package/dist/server/bridge/__tests__/conversation.test.d.ts.map +0 -1
- package/dist/server/bridge/__tests__/conversation.test.js +0 -168
- package/dist/server/bridge/__tests__/conversation.test.js.map +0 -1
- package/dist/server/bridge/__tests__/registry.test.d.ts +0 -2
- package/dist/server/bridge/__tests__/registry.test.d.ts.map +0 -1
- package/dist/server/bridge/__tests__/registry.test.js +0 -45
- package/dist/server/bridge/__tests__/registry.test.js.map +0 -1
- package/dist/server/bridge/__tests__/stream-parser.test.d.ts +0 -2
- package/dist/server/bridge/__tests__/stream-parser.test.d.ts.map +0 -1
- package/dist/server/bridge/__tests__/stream-parser.test.js +0 -66
- package/dist/server/bridge/__tests__/stream-parser.test.js.map +0 -1
- package/dist/server/bridge/chat-handler.d.ts +0 -32
- package/dist/server/bridge/chat-handler.d.ts.map +0 -1
- package/dist/server/bridge/chat-handler.js +0 -356
- package/dist/server/bridge/chat-handler.js.map +0 -1
- package/dist/server/bridge/claude-bridge.d.ts +0 -21
- package/dist/server/bridge/claude-bridge.d.ts.map +0 -1
- package/dist/server/bridge/claude-bridge.js +0 -273
- package/dist/server/bridge/claude-bridge.js.map +0 -1
- package/dist/server/bridge/conversation.d.ts +0 -45
- package/dist/server/bridge/conversation.d.ts.map +0 -1
- package/dist/server/bridge/conversation.js +0 -78
- package/dist/server/bridge/conversation.js.map +0 -1
- package/dist/server/bridge/engine-manager.d.ts +0 -13
- package/dist/server/bridge/engine-manager.d.ts.map +0 -1
- package/dist/server/bridge/engine-manager.js +0 -54
- package/dist/server/bridge/engine-manager.js.map +0 -1
- package/dist/server/bridge/engine.d.ts +0 -37
- package/dist/server/bridge/engine.d.ts.map +0 -1
- package/dist/server/bridge/engine.js +0 -2
- package/dist/server/bridge/engine.js.map +0 -1
- package/dist/server/bridge/factory.d.ts +0 -4
- package/dist/server/bridge/factory.d.ts.map +0 -1
- package/dist/server/bridge/factory.js +0 -18
- package/dist/server/bridge/factory.js.map +0 -1
- package/dist/server/bridge/opencode-bridge.d.ts +0 -27
- package/dist/server/bridge/opencode-bridge.d.ts.map +0 -1
- package/dist/server/bridge/opencode-bridge.js +0 -163
- package/dist/server/bridge/opencode-bridge.js.map +0 -1
- package/dist/server/bridge/registry.d.ts +0 -19
- package/dist/server/bridge/registry.d.ts.map +0 -1
- package/dist/server/bridge/registry.js +0 -29
- package/dist/server/bridge/registry.js.map +0 -1
- package/dist/server/bridge/session-journal.d.ts +0 -25
- package/dist/server/bridge/session-journal.d.ts.map +0 -1
- package/dist/server/bridge/session-journal.js +0 -69
- package/dist/server/bridge/session-journal.js.map +0 -1
- package/dist/server/bridge/stream-parser.d.ts +0 -14
- package/dist/server/bridge/stream-parser.d.ts.map +0 -1
- package/dist/server/bridge/stream-parser.js +0 -26
- package/dist/server/bridge/stream-parser.js.map +0 -1
- package/dist/server/config/engine-config.d.ts +0 -4
- package/dist/server/config/engine-config.d.ts.map +0 -1
- package/dist/server/config/engine-config.js +0 -24
- package/dist/server/config/engine-config.js.map +0 -1
- package/dist/server/config.d.ts +0 -17
- package/dist/server/config.d.ts.map +0 -1
- package/dist/server/config.js +0 -39
- package/dist/server/config.js.map +0 -1
- package/dist/server/db/__tests__/chat-tables.test.d.ts +0 -2
- package/dist/server/db/__tests__/chat-tables.test.d.ts.map +0 -1
- package/dist/server/db/__tests__/chat-tables.test.js +0 -82
- package/dist/server/db/__tests__/chat-tables.test.js.map +0 -1
- package/dist/server/db/__tests__/email-schema.test.d.ts +0 -2
- package/dist/server/db/__tests__/email-schema.test.d.ts.map +0 -1
- package/dist/server/db/__tests__/email-schema.test.js +0 -53
- package/dist/server/db/__tests__/email-schema.test.js.map +0 -1
- package/dist/server/db/__tests__/scheduler-schema.test.d.ts +0 -2
- package/dist/server/db/__tests__/scheduler-schema.test.d.ts.map +0 -1
- package/dist/server/db/__tests__/scheduler-schema.test.js +0 -52
- package/dist/server/db/__tests__/scheduler-schema.test.js.map +0 -1
- package/dist/server/db/connection.d.ts +0 -4
- package/dist/server/db/connection.d.ts.map +0 -1
- package/dist/server/db/connection.js +0 -40
- package/dist/server/db/connection.js.map +0 -1
- package/dist/server/db/migrations.d.ts +0 -4
- package/dist/server/db/migrations.d.ts.map +0 -1
- package/dist/server/db/migrations.js +0 -47
- package/dist/server/db/migrations.js.map +0 -1
- package/dist/server/db/schema.d.ts +0 -2
- package/dist/server/db/schema.d.ts.map +0 -1
- package/dist/server/db/schema.js +0 -276
- package/dist/server/db/schema.js.map +0 -1
- package/dist/server/email/__tests__/campaign-routes.test.d.ts +0 -2
- package/dist/server/email/__tests__/campaign-routes.test.d.ts.map +0 -1
- package/dist/server/email/__tests__/campaign-routes.test.js +0 -216
- package/dist/server/email/__tests__/campaign-routes.test.js.map +0 -1
- package/dist/server/email/__tests__/campaign-service.test.d.ts +0 -2
- package/dist/server/email/__tests__/campaign-service.test.d.ts.map +0 -1
- package/dist/server/email/__tests__/campaign-service.test.js +0 -79
- package/dist/server/email/__tests__/campaign-service.test.js.map +0 -1
- package/dist/server/email/__tests__/email-queue-worker.test.d.ts +0 -2
- package/dist/server/email/__tests__/email-queue-worker.test.d.ts.map +0 -1
- package/dist/server/email/__tests__/email-queue-worker.test.js +0 -93
- package/dist/server/email/__tests__/email-queue-worker.test.js.map +0 -1
- package/dist/server/email/__tests__/email-utils.test.d.ts +0 -2
- package/dist/server/email/__tests__/email-utils.test.d.ts.map +0 -1
- package/dist/server/email/__tests__/email-utils.test.js +0 -36
- package/dist/server/email/__tests__/email-utils.test.js.map +0 -1
- package/dist/server/email/__tests__/lead-routes.test.d.ts +0 -2
- package/dist/server/email/__tests__/lead-routes.test.d.ts.map +0 -1
- package/dist/server/email/__tests__/lead-routes.test.js +0 -180
- package/dist/server/email/__tests__/lead-routes.test.js.map +0 -1
- package/dist/server/email/__tests__/lead-service.test.d.ts +0 -2
- package/dist/server/email/__tests__/lead-service.test.d.ts.map +0 -1
- package/dist/server/email/__tests__/lead-service.test.js +0 -113
- package/dist/server/email/__tests__/lead-service.test.js.map +0 -1
- package/dist/server/email/__tests__/ses-client.test.d.ts +0 -2
- package/dist/server/email/__tests__/ses-client.test.d.ts.map +0 -1
- package/dist/server/email/__tests__/ses-client.test.js +0 -48
- package/dist/server/email/__tests__/ses-client.test.js.map +0 -1
- package/dist/server/email/__tests__/sns-webhook.test.d.ts +0 -2
- package/dist/server/email/__tests__/sns-webhook.test.d.ts.map +0 -1
- package/dist/server/email/__tests__/sns-webhook.test.js +0 -40
- package/dist/server/email/__tests__/sns-webhook.test.js.map +0 -1
- package/dist/server/email/campaign-routes.d.ts +0 -8
- package/dist/server/email/campaign-routes.d.ts.map +0 -1
- package/dist/server/email/campaign-routes.js +0 -65
- package/dist/server/email/campaign-routes.js.map +0 -1
- package/dist/server/email/campaign-service.d.ts +0 -55
- package/dist/server/email/campaign-service.d.ts.map +0 -1
- package/dist/server/email/campaign-service.js +0 -89
- package/dist/server/email/campaign-service.js.map +0 -1
- package/dist/server/email/email-queue-worker.d.ts +0 -27
- package/dist/server/email/email-queue-worker.d.ts.map +0 -1
- package/dist/server/email/email-queue-worker.js +0 -119
- package/dist/server/email/email-queue-worker.js.map +0 -1
- package/dist/server/email/email-utils.d.ts +0 -5
- package/dist/server/email/email-utils.d.ts.map +0 -1
- package/dist/server/email/email-utils.js +0 -24
- package/dist/server/email/email-utils.js.map +0 -1
- package/dist/server/email/lead-routes.d.ts +0 -8
- package/dist/server/email/lead-routes.d.ts.map +0 -1
- package/dist/server/email/lead-routes.js +0 -56
- package/dist/server/email/lead-routes.js.map +0 -1
- package/dist/server/email/lead-service.d.ts +0 -66
- package/dist/server/email/lead-service.d.ts.map +0 -1
- package/dist/server/email/lead-service.js +0 -138
- package/dist/server/email/lead-service.js.map +0 -1
- package/dist/server/email/ses-client.d.ts +0 -27
- package/dist/server/email/ses-client.d.ts.map +0 -1
- package/dist/server/email/ses-client.js +0 -44
- package/dist/server/email/ses-client.js.map +0 -1
- package/dist/server/email/sns-webhook.d.ts +0 -10
- package/dist/server/email/sns-webhook.d.ts.map +0 -1
- package/dist/server/email/sns-webhook.js +0 -73
- package/dist/server/email/sns-webhook.js.map +0 -1
- package/dist/server/index.d.ts +0 -2
- package/dist/server/index.d.ts.map +0 -1
- package/dist/server/index.js +0 -36
- package/dist/server/index.js.map +0 -1
- package/dist/server/mcp/expxagents-mcp.d.ts +0 -2
- package/dist/server/mcp/expxagents-mcp.d.ts.map +0 -1
- package/dist/server/mcp/expxagents-mcp.js +0 -230
- package/dist/server/mcp/expxagents-mcp.js.map +0 -1
- package/dist/server/routes/__tests__/conversations.test.d.ts +0 -2
- package/dist/server/routes/__tests__/conversations.test.d.ts.map +0 -1
- package/dist/server/routes/__tests__/conversations.test.js +0 -111
- package/dist/server/routes/__tests__/conversations.test.js.map +0 -1
- package/dist/server/routes/conversations.d.ts +0 -8
- package/dist/server/routes/conversations.d.ts.map +0 -1
- package/dist/server/routes/conversations.js +0 -36
- package/dist/server/routes/conversations.js.map +0 -1
- package/dist/server/scheduler/__tests__/job-runner.test.d.ts +0 -2
- package/dist/server/scheduler/__tests__/job-runner.test.d.ts.map +0 -1
- package/dist/server/scheduler/__tests__/job-runner.test.js +0 -488
- package/dist/server/scheduler/__tests__/job-runner.test.js.map +0 -1
- package/dist/server/scheduler/__tests__/scheduler-routes.test.d.ts +0 -2
- package/dist/server/scheduler/__tests__/scheduler-routes.test.d.ts.map +0 -1
- package/dist/server/scheduler/__tests__/scheduler-routes.test.js +0 -167
- package/dist/server/scheduler/__tests__/scheduler-routes.test.js.map +0 -1
- package/dist/server/scheduler/__tests__/scheduler-service.test.d.ts +0 -2
- package/dist/server/scheduler/__tests__/scheduler-service.test.d.ts.map +0 -1
- package/dist/server/scheduler/__tests__/scheduler-service.test.js +0 -207
- package/dist/server/scheduler/__tests__/scheduler-service.test.js.map +0 -1
- package/dist/server/scheduler/job-runner.d.ts +0 -73
- package/dist/server/scheduler/job-runner.d.ts.map +0 -1
- package/dist/server/scheduler/job-runner.js +0 -407
- package/dist/server/scheduler/job-runner.js.map +0 -1
- package/dist/server/scheduler/scheduler-routes.d.ts +0 -10
- package/dist/server/scheduler/scheduler-routes.d.ts.map +0 -1
- package/dist/server/scheduler/scheduler-routes.js +0 -105
- package/dist/server/scheduler/scheduler-routes.js.map +0 -1
- package/dist/server/scheduler/scheduler-service.d.ts +0 -55
- package/dist/server/scheduler/scheduler-service.d.ts.map +0 -1
- package/dist/server/scheduler/scheduler-service.js +0 -271
- package/dist/server/scheduler/scheduler-service.js.map +0 -1
- package/dist/server/services/__tests__/cost-service.test.d.ts +0 -2
- package/dist/server/services/__tests__/cost-service.test.d.ts.map +0 -1
- package/dist/server/services/__tests__/cost-service.test.js +0 -72
- package/dist/server/services/__tests__/cost-service.test.js.map +0 -1
- package/dist/server/services/__tests__/execution-log-service.test.d.ts +0 -2
- package/dist/server/services/__tests__/execution-log-service.test.d.ts.map +0 -1
- package/dist/server/services/__tests__/execution-log-service.test.js +0 -40
- package/dist/server/services/__tests__/execution-log-service.test.js.map +0 -1
- package/dist/server/services/__tests__/integration-registry.test.d.ts +0 -2
- package/dist/server/services/__tests__/integration-registry.test.d.ts.map +0 -1
- package/dist/server/services/__tests__/integration-registry.test.js +0 -28
- package/dist/server/services/__tests__/integration-registry.test.js.map +0 -1
- package/dist/server/services/__tests__/log-service.test.d.ts +0 -2
- package/dist/server/services/__tests__/log-service.test.d.ts.map +0 -1
- package/dist/server/services/__tests__/log-service.test.js +0 -49
- package/dist/server/services/__tests__/log-service.test.js.map +0 -1
- package/dist/server/services/__tests__/pipeline-task-service.test.d.ts +0 -2
- package/dist/server/services/__tests__/pipeline-task-service.test.d.ts.map +0 -1
- package/dist/server/services/__tests__/pipeline-task-service.test.js +0 -268
- package/dist/server/services/__tests__/pipeline-task-service.test.js.map +0 -1
- package/dist/server/services/__tests__/state-service.test.d.ts +0 -2
- package/dist/server/services/__tests__/state-service.test.d.ts.map +0 -1
- package/dist/server/services/__tests__/state-service.test.js +0 -136
- package/dist/server/services/__tests__/state-service.test.js.map +0 -1
- package/dist/server/services/activity-service.d.ts +0 -35
- package/dist/server/services/activity-service.d.ts.map +0 -1
- package/dist/server/services/activity-service.js +0 -92
- package/dist/server/services/activity-service.js.map +0 -1
- package/dist/server/services/cost-service.d.ts +0 -55
- package/dist/server/services/cost-service.d.ts.map +0 -1
- package/dist/server/services/cost-service.js +0 -59
- package/dist/server/services/cost-service.js.map +0 -1
- package/dist/server/services/execution-log-service.d.ts +0 -20
- package/dist/server/services/execution-log-service.d.ts.map +0 -1
- package/dist/server/services/execution-log-service.js +0 -17
- package/dist/server/services/execution-log-service.js.map +0 -1
- package/dist/server/services/integration-registry.d.ts +0 -9
- package/dist/server/services/integration-registry.d.ts.map +0 -1
- package/dist/server/services/integration-registry.js +0 -14
- package/dist/server/services/integration-registry.js.map +0 -1
- package/dist/server/services/log-service.d.ts +0 -28
- package/dist/server/services/log-service.d.ts.map +0 -1
- package/dist/server/services/log-service.js +0 -34
- package/dist/server/services/log-service.js.map +0 -1
- package/dist/server/services/pipeline-task-service.d.ts +0 -79
- package/dist/server/services/pipeline-task-service.d.ts.map +0 -1
- package/dist/server/services/pipeline-task-service.js +0 -122
- package/dist/server/services/pipeline-task-service.js.map +0 -1
- package/dist/server/services/squad-registry.d.ts +0 -35
- package/dist/server/services/squad-registry.d.ts.map +0 -1
- package/dist/server/services/squad-registry.js +0 -141
- package/dist/server/services/squad-registry.js.map +0 -1
- package/dist/server/services/state-service.d.ts +0 -22
- package/dist/server/services/state-service.d.ts.map +0 -1
- package/dist/server/services/state-service.js +0 -114
- package/dist/server/services/state-service.js.map +0 -1
- package/dist/server/types/a2ui.d.ts +0 -27
- package/dist/server/types/a2ui.d.ts.map +0 -1
- package/dist/server/types/a2ui.js +0 -2
- package/dist/server/types/a2ui.js.map +0 -1
- package/dist/server/utils/find-free-port.d.ts +0 -2
- package/dist/server/utils/find-free-port.d.ts.map +0 -1
- package/dist/server/utils/find-free-port.js +0 -17
- package/dist/server/utils/find-free-port.js.map +0 -1
- package/dist/server/watcher/__tests__/file-watcher.test.d.ts +0 -2
- package/dist/server/watcher/__tests__/file-watcher.test.d.ts.map +0 -1
- package/dist/server/watcher/__tests__/file-watcher.test.js +0 -81
- package/dist/server/watcher/__tests__/file-watcher.test.js.map +0 -1
- package/dist/server/watcher/file-watcher.d.ts +0 -19
- package/dist/server/watcher/file-watcher.d.ts.map +0 -1
- package/dist/server/watcher/file-watcher.js +0 -105
- package/dist/server/watcher/file-watcher.js.map +0 -1
- package/dist/server/watcher/state-parser.d.ts +0 -77
- package/dist/server/watcher/state-parser.d.ts.map +0 -1
- package/dist/server/watcher/state-parser.js +0 -78
- package/dist/server/watcher/state-parser.js.map +0 -1
- package/dist/server/ws/ws-auth.d.ts +0 -4
- package/dist/server/ws/ws-auth.d.ts.map +0 -1
- package/dist/server/ws/ws-auth.js +0 -42
- package/dist/server/ws/ws-auth.js.map +0 -1
- package/dist/server/ws/ws-handler.d.ts +0 -12
- package/dist/server/ws/ws-handler.d.ts.map +0 -1
- package/dist/server/ws/ws-handler.js +0 -171
- package/dist/server/ws/ws-handler.js.map +0 -1
- package/dist/server/ws/ws-rooms.d.ts +0 -12
- package/dist/server/ws/ws-rooms.d.ts.map +0 -1
- package/dist/server/ws/ws-rooms.js +0 -52
- package/dist/server/ws/ws-rooms.js.map +0 -1
- package/node_modules/expxagents-knowledge/dist/config.d.ts +0 -4
- package/node_modules/expxagents-knowledge/dist/config.d.ts.map +0 -1
- package/node_modules/expxagents-knowledge/dist/config.js +0 -37
- package/node_modules/expxagents-knowledge/dist/config.js.map +0 -1
- package/node_modules/expxagents-knowledge/dist/db/connection.d.ts +0 -6
- package/node_modules/expxagents-knowledge/dist/db/connection.d.ts.map +0 -1
- package/node_modules/expxagents-knowledge/dist/db/connection.js +0 -69
- package/node_modules/expxagents-knowledge/dist/db/connection.js.map +0 -1
- package/node_modules/expxagents-knowledge/dist/db/migrations.d.ts +0 -3
- package/node_modules/expxagents-knowledge/dist/db/migrations.d.ts.map +0 -1
- package/node_modules/expxagents-knowledge/dist/db/migrations.js +0 -46
- package/node_modules/expxagents-knowledge/dist/db/migrations.js.map +0 -1
- package/node_modules/expxagents-knowledge/dist/db/schema.d.ts +0 -3
- package/node_modules/expxagents-knowledge/dist/db/schema.d.ts.map +0 -1
- package/node_modules/expxagents-knowledge/dist/db/schema.js +0 -79
- package/node_modules/expxagents-knowledge/dist/db/schema.js.map +0 -1
- package/node_modules/expxagents-knowledge/dist/index.d.ts +0 -16
- package/node_modules/expxagents-knowledge/dist/index.d.ts.map +0 -1
- package/node_modules/expxagents-knowledge/dist/index.js +0 -16
- package/node_modules/expxagents-knowledge/dist/index.js.map +0 -1
- package/node_modules/expxagents-knowledge/dist/ingest/chunker.d.ts +0 -10
- package/node_modules/expxagents-knowledge/dist/ingest/chunker.d.ts.map +0 -1
- package/node_modules/expxagents-knowledge/dist/ingest/chunker.js +0 -221
- package/node_modules/expxagents-knowledge/dist/ingest/chunker.js.map +0 -1
- package/node_modules/expxagents-knowledge/dist/ingest/document-loader.d.ts +0 -4
- package/node_modules/expxagents-knowledge/dist/ingest/document-loader.d.ts.map +0 -1
- package/node_modules/expxagents-knowledge/dist/ingest/document-loader.js +0 -56
- package/node_modules/expxagents-knowledge/dist/ingest/document-loader.js.map +0 -1
- package/node_modules/expxagents-knowledge/dist/ingest/embedder.d.ts +0 -4
- package/node_modules/expxagents-knowledge/dist/ingest/embedder.d.ts.map +0 -1
- package/node_modules/expxagents-knowledge/dist/ingest/embedder.js +0 -25
- package/node_modules/expxagents-knowledge/dist/ingest/embedder.js.map +0 -1
- package/node_modules/expxagents-knowledge/dist/ingest/entity-extractor.d.ts +0 -21
- package/node_modules/expxagents-knowledge/dist/ingest/entity-extractor.d.ts.map +0 -1
- package/node_modules/expxagents-knowledge/dist/ingest/entity-extractor.js +0 -54
- package/node_modules/expxagents-knowledge/dist/ingest/entity-extractor.js.map +0 -1
- package/node_modules/expxagents-knowledge/dist/ingest/extraction-queue.d.ts +0 -16
- package/node_modules/expxagents-knowledge/dist/ingest/extraction-queue.d.ts.map +0 -1
- package/node_modules/expxagents-knowledge/dist/ingest/extraction-queue.js +0 -49
- package/node_modules/expxagents-knowledge/dist/ingest/extraction-queue.js.map +0 -1
- package/node_modules/expxagents-knowledge/dist/ingest/pdf-extractor.d.ts +0 -9
- package/node_modules/expxagents-knowledge/dist/ingest/pdf-extractor.d.ts.map +0 -1
- package/node_modules/expxagents-knowledge/dist/ingest/pdf-extractor.js +0 -116
- package/node_modules/expxagents-knowledge/dist/ingest/pdf-extractor.js.map +0 -1
- package/node_modules/expxagents-knowledge/dist/ingest/pipeline.d.ts +0 -27
- package/node_modules/expxagents-knowledge/dist/ingest/pipeline.d.ts.map +0 -1
- package/node_modules/expxagents-knowledge/dist/ingest/pipeline.js +0 -92
- package/node_modules/expxagents-knowledge/dist/ingest/pipeline.js.map +0 -1
- package/node_modules/expxagents-knowledge/dist/query/graph-traversal.d.ts +0 -41
- package/node_modules/expxagents-knowledge/dist/query/graph-traversal.d.ts.map +0 -1
- package/node_modules/expxagents-knowledge/dist/query/graph-traversal.js +0 -62
- package/node_modules/expxagents-knowledge/dist/query/graph-traversal.js.map +0 -1
- package/node_modules/expxagents-knowledge/dist/query/knowledge-query.d.ts +0 -31
- package/node_modules/expxagents-knowledge/dist/query/knowledge-query.d.ts.map +0 -1
- package/node_modules/expxagents-knowledge/dist/query/knowledge-query.js +0 -106
- package/node_modules/expxagents-knowledge/dist/query/knowledge-query.js.map +0 -1
- package/node_modules/expxagents-knowledge/dist/query/vector-search.d.ts +0 -26
- package/node_modules/expxagents-knowledge/dist/query/vector-search.d.ts.map +0 -1
- package/node_modules/expxagents-knowledge/dist/query/vector-search.js +0 -57
- package/node_modules/expxagents-knowledge/dist/query/vector-search.js.map +0 -1
- package/node_modules/expxagents-knowledge/dist/sources/agent-output.d.ts +0 -10
- package/node_modules/expxagents-knowledge/dist/sources/agent-output.d.ts.map +0 -1
- package/node_modules/expxagents-knowledge/dist/sources/agent-output.js +0 -29
- package/node_modules/expxagents-knowledge/dist/sources/agent-output.js.map +0 -1
- package/node_modules/expxagents-knowledge/dist/sources/watcher.d.ts +0 -6
- package/node_modules/expxagents-knowledge/dist/sources/watcher.d.ts.map +0 -1
- package/node_modules/expxagents-knowledge/dist/sources/watcher.js +0 -42
- package/node_modules/expxagents-knowledge/dist/sources/watcher.js.map +0 -1
- package/node_modules/expxagents-knowledge/dist/types.d.ts +0 -138
- package/node_modules/expxagents-knowledge/dist/types.d.ts.map +0 -1
- package/node_modules/expxagents-knowledge/dist/types.js +0 -2
- package/node_modules/expxagents-knowledge/dist/types.js.map +0 -1
- package/node_modules/expxagents-knowledge/package.json +0 -7
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"entity-extractor.js","sourceRoot":"","sources":["../../src/ingest/entity-extractor.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAGxB,MAAM,kBAAkB,GAAiB,CAAC,YAAY,EAAE,QAAQ,EAAE,UAAU,EAAE,SAAS,EAAE,OAAO,EAAE,OAAO,EAAE,UAAU,CAAC,CAAC;AACvH,MAAM,oBAAoB,GAAmB,CAAC,UAAU,EAAE,YAAY,EAAE,cAAc,EAAE,aAAa,EAAE,SAAS,EAAE,MAAM,EAAE,UAAU,CAAC,CAAC;AAEtI,MAAM,eAAe,GAAG,CAAC,CAAC,MAAM,CAAC;IAC/B,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE;IAChB,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE;IAChB,WAAW,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;CACnC,CAAC,CAAC;AAEH,MAAM,iBAAiB,GAAG,CAAC,CAAC,MAAM,CAAC;IACjC,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE;IAClB,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE;IAClB,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE;IAChB,WAAW,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;CACnC,CAAC,CAAC;AAEH,MAAM,wBAAwB,GAAG,CAAC,CAAC,MAAM,CAAC;IACxC,QAAQ,EAAE,CAAC,CAAC,KAAK,CAAC,eAAe,CAAC,CAAC,OAAO,CAAC,EAAE,CAAC;IAC9C,SAAS,EAAE,CAAC,CAAC,KAAK,CAAC,iBAAiB,CAAC,CAAC,OAAO,CAAC,EAAE,CAAC;CAClD,CAAC,CAAC;AAoBH,MAAM,UAAU,uBAAuB,CAAC,QAAgB;IACtD,MAAM,cAAc,GAAG,QAAQ,CAAC,KAAK,CAAC,oCAAoC,CAAC,CAAC;IAC5E,MAAM,OAAO,GAAG,cAAc,CAAC,CAAC,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,QAAQ,CAAC,IAAI,EAAE,CAAC;IAE5E,IAAI,CAAC;QACH,MAAM,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;QACnC,MAAM,SAAS,GAAG,wBAAwB,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;QACzD,OAAO,SAAS,CAAC;IACnB,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,EAAE,QAAQ,EAAE,EAAE,EAAE,SAAS,EAAE,EAAE,EAAE,CAAC;IACzC,CAAC;AACH,CAAC;AAED,MAAM,UAAU,gBAAgB,CAAC,QAAqB;IACpD,OAAO,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,kBAAkB,CAAC,QAAQ,CAAC,CAAC,CAAC,IAAkB,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC;AACrG,CAAC;AAED,MAAM,UAAU,iBAAiB,CAAC,SAAwB;IACxD,OAAO,SAAS,CAAC,MAAM,CACrB,CAAC,CAAC,EAAE,EAAE,CAAC,oBAAoB,CAAC,QAAQ,CAAC,CAAC,CAAC,IAAoB,CAAC,IAAI,CAAC,CAAC,MAAM,EAAE,IAAI,EAAE,IAAI,CAAC,CAAC,MAAM,EAAE,IAAI,EAAE,CACrG,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,qBAAqB,CAAC,OAAe;IACnD,OAAO;;;;sBAIa,kBAAkB,CAAC,IAAI,CAAC,IAAI,CAAC;wBAC3B,oBAAoB,CAAC,IAAI,CAAC,IAAI,CAAC;;;;;;;;;EASrD,OAAO,EAAE,CAAC;AACZ,CAAC"}
|
|
@@ -1,16 +0,0 @@
|
|
|
1
|
-
import type Database from 'better-sqlite3';
|
|
2
|
-
export declare class ExtractionQueue {
|
|
3
|
-
private db;
|
|
4
|
-
constructor(db: Database.Database);
|
|
5
|
-
enqueue(documentId: string): void;
|
|
6
|
-
dequeue(): {
|
|
7
|
-
id: string;
|
|
8
|
-
document_id: string;
|
|
9
|
-
attempts: number;
|
|
10
|
-
} | null;
|
|
11
|
-
markComplete(jobId: string): void;
|
|
12
|
-
markFailed(jobId: string, error: string): void;
|
|
13
|
-
private cleanupStaleJobs;
|
|
14
|
-
pendingCount(): number;
|
|
15
|
-
}
|
|
16
|
-
//# sourceMappingURL=extraction-queue.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"extraction-queue.d.ts","sourceRoot":"","sources":["../../src/ingest/extraction-queue.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,QAAQ,MAAM,gBAAgB,CAAC;AAK3C,qBAAa,eAAe;IACd,OAAO,CAAC,EAAE;gBAAF,EAAE,EAAE,QAAQ,CAAC,QAAQ;IAIzC,OAAO,CAAC,UAAU,EAAE,MAAM,GAAG,IAAI;IAOjC,OAAO,IAAI;QAAE,EAAE,EAAE,MAAM,CAAC;QAAC,WAAW,EAAE,MAAM,CAAC;QAAC,QAAQ,EAAE,MAAM,CAAA;KAAE,GAAG,IAAI;IAWvE,YAAY,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI;IASjC,UAAU,CAAC,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,IAAI;IAa9C,OAAO,CAAC,gBAAgB;IAIxB,YAAY,IAAI,MAAM;CAGvB"}
|
|
@@ -1,49 +0,0 @@
|
|
|
1
|
-
import { nanoid } from 'nanoid';
|
|
2
|
-
const MAX_RETRIES = 2;
|
|
3
|
-
export class ExtractionQueue {
|
|
4
|
-
db;
|
|
5
|
-
constructor(db) {
|
|
6
|
-
this.db = db;
|
|
7
|
-
this.cleanupStaleJobs();
|
|
8
|
-
}
|
|
9
|
-
enqueue(documentId) {
|
|
10
|
-
const now = new Date().toISOString();
|
|
11
|
-
this.db.prepare('INSERT OR IGNORE INTO extraction_jobs (id, document_id, status, attempts, created_at, updated_at) VALUES (?, ?, ?, 0, ?, ?)').run(nanoid(), documentId, 'pending', now, now);
|
|
12
|
-
}
|
|
13
|
-
dequeue() {
|
|
14
|
-
const job = this.db.prepare("SELECT id, document_id, attempts FROM extraction_jobs WHERE status = 'pending' ORDER BY created_at ASC LIMIT 1").get();
|
|
15
|
-
if (!job)
|
|
16
|
-
return null;
|
|
17
|
-
this.db.prepare("UPDATE extraction_jobs SET status = 'running', updated_at = ? WHERE id = ?")
|
|
18
|
-
.run(new Date().toISOString(), job.id);
|
|
19
|
-
return job;
|
|
20
|
-
}
|
|
21
|
-
markComplete(jobId) {
|
|
22
|
-
const now = new Date().toISOString();
|
|
23
|
-
this.db.prepare("UPDATE extraction_jobs SET status = 'complete', updated_at = ? WHERE id = ?").run(now, jobId);
|
|
24
|
-
const job = this.db.prepare('SELECT document_id FROM extraction_jobs WHERE id = ?').get(jobId);
|
|
25
|
-
if (job) {
|
|
26
|
-
this.db.prepare("UPDATE documents SET extraction_status = 'complete', updated_at = ? WHERE id = ?").run(now, job.document_id);
|
|
27
|
-
}
|
|
28
|
-
}
|
|
29
|
-
markFailed(jobId, error) {
|
|
30
|
-
const now = new Date().toISOString();
|
|
31
|
-
const job = this.db.prepare('SELECT document_id, attempts FROM extraction_jobs WHERE id = ?').get(jobId);
|
|
32
|
-
if (!job)
|
|
33
|
-
return;
|
|
34
|
-
if (job.attempts >= MAX_RETRIES) {
|
|
35
|
-
this.db.prepare("UPDATE extraction_jobs SET status = 'failed', error = ?, updated_at = ? WHERE id = ?").run(error, now, jobId);
|
|
36
|
-
this.db.prepare("UPDATE documents SET extraction_status = 'failed', updated_at = ? WHERE id = ?").run(now, job.document_id);
|
|
37
|
-
}
|
|
38
|
-
else {
|
|
39
|
-
this.db.prepare("UPDATE extraction_jobs SET status = 'pending', attempts = attempts + 1, error = ?, updated_at = ? WHERE id = ?").run(error, now, jobId);
|
|
40
|
-
}
|
|
41
|
-
}
|
|
42
|
-
cleanupStaleJobs() {
|
|
43
|
-
this.db.prepare("UPDATE extraction_jobs SET status = 'pending' WHERE status = 'running'").run();
|
|
44
|
-
}
|
|
45
|
-
pendingCount() {
|
|
46
|
-
return this.db.prepare("SELECT COUNT(*) as count FROM extraction_jobs WHERE status = 'pending'").get().count;
|
|
47
|
-
}
|
|
48
|
-
}
|
|
49
|
-
//# sourceMappingURL=extraction-queue.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"extraction-queue.js","sourceRoot":"","sources":["../../src/ingest/extraction-queue.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAC;AAEhC,MAAM,WAAW,GAAG,CAAC,CAAC;AAEtB,MAAM,OAAO,eAAe;IACN;IAApB,YAAoB,EAAqB;QAArB,OAAE,GAAF,EAAE,CAAmB;QACvC,IAAI,CAAC,gBAAgB,EAAE,CAAC;IAC1B,CAAC;IAED,OAAO,CAAC,UAAkB;QACxB,MAAM,GAAG,GAAG,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC;QACrC,IAAI,CAAC,EAAE,CAAC,OAAO,CACb,6HAA6H,CAC9H,CAAC,GAAG,CAAC,MAAM,EAAE,EAAE,UAAU,EAAE,SAAS,EAAE,GAAG,EAAE,GAAG,CAAC,CAAC;IACnD,CAAC;IAED,OAAO;QACL,MAAM,GAAG,GAAG,IAAI,CAAC,EAAE,CAAC,OAAO,CACzB,gHAAgH,CACjH,CAAC,GAAG,EAAuE,CAAC;QAC7E,IAAI,CAAC,GAAG;YAAE,OAAO,IAAI,CAAC;QAEtB,IAAI,CAAC,EAAE,CAAC,OAAO,CAAC,4EAA4E,CAAC;aAC1F,GAAG,CAAC,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,EAAE,GAAG,CAAC,EAAE,CAAC,CAAC;QACzC,OAAO,GAAG,CAAC;IACb,CAAC;IAED,YAAY,CAAC,KAAa;QACxB,MAAM,GAAG,GAAG,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC;QACrC,IAAI,CAAC,EAAE,CAAC,OAAO,CAAC,6EAA6E,CAAC,CAAC,GAAG,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC;QAC/G,MAAM,GAAG,GAAG,IAAI,CAAC,EAAE,CAAC,OAAO,CAAC,sDAAsD,CAAC,CAAC,GAAG,CAAC,KAAK,CAAwC,CAAC;QACtI,IAAI,GAAG,EAAE,CAAC;YACR,IAAI,CAAC,EAAE,CAAC,OAAO,CAAC,kFAAkF,CAAC,CAAC,GAAG,CAAC,GAAG,EAAE,GAAG,CAAC,WAAW,CAAC,CAAC;QAChI,CAAC;IACH,CAAC;IAED,UAAU,CAAC,KAAa,EAAE,KAAa;QACrC,MAAM,GAAG,GAAG,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC;QACrC,MAAM,GAAG,GAAG,IAAI,CAAC,EAAE,CAAC,OAAO,CAAC,gEAAgE,CAAC,CAAC,GAAG,CAAC,KAAK,CAA0D,CAAC;QAClK,IAAI,CAAC,GAAG;YAAE,OAAO;QAEjB,IAAI,GAAG,CAAC,QAAQ,IAAI,WAAW,EAAE,CAAC;YAChC,IAAI,CAAC,EAAE,CAAC,OAAO,CAAC,sFAAsF,CAAC,CAAC,GAAG,CAAC,KAAK,EAAE,GAAG,EAAE,KAAK,CAAC,CAAC;YAC/H,IAAI,CAAC,EAAE,CAAC,OAAO,CAAC,gFAAgF,CAAC,CAAC,GAAG,CAAC,GAAG,EAAE,GAAG,CAAC,WAAW,CAAC,CAAC;QAC9H,CAAC;aAAM,CAAC;YACN,IAAI,CAAC,EAAE,CAAC,OAAO,CAAC,gHAAgH,CAAC,CAAC,GAAG,CAAC,KAAK,EAAE,GAAG,EAAE,KAAK,CAAC,CAAC;QAC3J,CAAC;IACH,CAAC;IAEO,gBAAgB;QACtB,IAAI,CAAC,EAAE,CAAC,OAAO,CAAC,wEAAwE,CAAC,CAAC,GAAG,EAAE,CAAC;IAClG,CAAC;IAED,YAAY;QACV,OAAQ,IAAI,CAAC,EAAE,CAAC,OAAO,CAAC,wEAAwE,CAAC,CAAC,GAAG,EAAwB,CAAC,KAAK,CAAC;IACtI,CAAC;CACF"}
|
|
@@ -1,9 +0,0 @@
|
|
|
1
|
-
import type { PdfConfig, PdfMetadata } from '../types.js';
|
|
2
|
-
interface PdfExtractionResult {
|
|
3
|
-
content: string;
|
|
4
|
-
metadata: PdfMetadata;
|
|
5
|
-
}
|
|
6
|
-
export declare function extractPdf(filePath: string, config: PdfConfig): Promise<PdfExtractionResult>;
|
|
7
|
-
export declare function terminateOcrWorker(): Promise<void>;
|
|
8
|
-
export {};
|
|
9
|
-
//# sourceMappingURL=pdf-extractor.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"pdf-extractor.d.ts","sourceRoot":"","sources":["../../src/ingest/pdf-extractor.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,SAAS,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AAE1D,UAAU,mBAAmB;IAC3B,OAAO,EAAE,MAAM,CAAC;IAChB,QAAQ,EAAE,WAAW,CAAC;CACvB;AAID,wBAAsB,UAAU,CAC9B,QAAQ,EAAE,MAAM,EAChB,MAAM,EAAE,SAAS,GAChB,OAAO,CAAC,mBAAmB,CAAC,CA6E9B;AAqCD,wBAAsB,kBAAkB,IAAI,OAAO,CAAC,IAAI,CAAC,CASxD"}
|
|
@@ -1,116 +0,0 @@
|
|
|
1
|
-
import fs from 'node:fs';
|
|
2
|
-
let ocrWorker = null;
|
|
3
|
-
export async function extractPdf(filePath, config) {
|
|
4
|
-
const data = new Uint8Array(fs.readFileSync(filePath));
|
|
5
|
-
const pdfjsLib = await import('pdfjs-dist/legacy/build/pdf.mjs');
|
|
6
|
-
let doc;
|
|
7
|
-
try {
|
|
8
|
-
doc = await pdfjsLib.getDocument({ data, useSystemFonts: true }).promise;
|
|
9
|
-
}
|
|
10
|
-
catch (err) {
|
|
11
|
-
const message = err instanceof Error ? err.message : String(err);
|
|
12
|
-
if (message.includes('password') || message.includes('encrypted')) {
|
|
13
|
-
throw new Error(`Password-protected PDF: ${filePath}`);
|
|
14
|
-
}
|
|
15
|
-
throw new Error(`Failed to parse PDF ${filePath}: ${message}`);
|
|
16
|
-
}
|
|
17
|
-
const pageCount = doc.numPages;
|
|
18
|
-
if (pageCount === 0) {
|
|
19
|
-
throw new Error(`Zero-page PDF: ${filePath}`);
|
|
20
|
-
}
|
|
21
|
-
const pagesToProcess = Math.min(pageCount, config.max_pages);
|
|
22
|
-
const truncated = pagesToProcess < pageCount;
|
|
23
|
-
const pageTexts = [];
|
|
24
|
-
const ocrPages = [];
|
|
25
|
-
for (let i = 1; i <= pagesToProcess; i++) {
|
|
26
|
-
const page = await doc.getPage(i);
|
|
27
|
-
const textContent = await page.getTextContent();
|
|
28
|
-
const text = textContent.items
|
|
29
|
-
.map(item => ('str' in item ? item.str : ''))
|
|
30
|
-
.join(' ')
|
|
31
|
-
.trim();
|
|
32
|
-
if (text.length >= config.ocr_threshold) {
|
|
33
|
-
pageTexts.push(text);
|
|
34
|
-
}
|
|
35
|
-
else if (config.ocr_enabled) {
|
|
36
|
-
try {
|
|
37
|
-
const ocrText = await ocrPage(page, config);
|
|
38
|
-
pageTexts.push(ocrText || text);
|
|
39
|
-
if (ocrText)
|
|
40
|
-
ocrPages.push(i);
|
|
41
|
-
}
|
|
42
|
-
catch {
|
|
43
|
-
pageTexts.push(text);
|
|
44
|
-
}
|
|
45
|
-
}
|
|
46
|
-
else {
|
|
47
|
-
pageTexts.push(text);
|
|
48
|
-
}
|
|
49
|
-
page.cleanup();
|
|
50
|
-
}
|
|
51
|
-
let content;
|
|
52
|
-
if (pageTexts.length <= 1) {
|
|
53
|
-
content = pageTexts[0] ?? '';
|
|
54
|
-
}
|
|
55
|
-
else {
|
|
56
|
-
content = pageTexts
|
|
57
|
-
.map((text, i) => (i > 0 ? `[PAGE ${i + 1}]\n\n${text}` : text))
|
|
58
|
-
.join('\n\n');
|
|
59
|
-
}
|
|
60
|
-
const extraction_method = ocrPages.length === 0
|
|
61
|
-
? 'native'
|
|
62
|
-
: ocrPages.length === pagesToProcess
|
|
63
|
-
? 'ocr'
|
|
64
|
-
: 'mixed';
|
|
65
|
-
return {
|
|
66
|
-
content,
|
|
67
|
-
metadata: {
|
|
68
|
-
page_count: pageCount,
|
|
69
|
-
ocr_pages: ocrPages,
|
|
70
|
-
languages: ocrPages.length > 0 ? config.ocr_languages : [],
|
|
71
|
-
extraction_method,
|
|
72
|
-
...(truncated ? { truncated: true } : {}),
|
|
73
|
-
},
|
|
74
|
-
};
|
|
75
|
-
}
|
|
76
|
-
async function ocrPage(page, config) {
|
|
77
|
-
try {
|
|
78
|
-
const Tesseract = await import('tesseract.js');
|
|
79
|
-
if (!ocrWorker) {
|
|
80
|
-
ocrWorker = await Tesseract.createWorker(config.ocr_languages.join('+'));
|
|
81
|
-
}
|
|
82
|
-
const worker = ocrWorker;
|
|
83
|
-
const viewport = page.getViewport({ scale: 2.0 });
|
|
84
|
-
// Dynamic import for optional native dependency — canvas is only needed for OCR
|
|
85
|
-
const { createCanvas } = await import(/* webpackIgnore: true */ 'canvas');
|
|
86
|
-
const canvas = createCanvas(viewport.width, viewport.height);
|
|
87
|
-
const context = canvas.getContext('2d');
|
|
88
|
-
await page.render({
|
|
89
|
-
canvasContext: context,
|
|
90
|
-
viewport,
|
|
91
|
-
}).promise;
|
|
92
|
-
const imageBuffer = canvas.toBuffer('image/png');
|
|
93
|
-
const result = await worker.recognize(imageBuffer);
|
|
94
|
-
return result.data.text.trim();
|
|
95
|
-
}
|
|
96
|
-
catch (err) {
|
|
97
|
-
const message = err instanceof Error ? err.message : String(err);
|
|
98
|
-
if (message.includes('Cannot find module') || message.includes('MODULE_NOT_FOUND')) {
|
|
99
|
-
console.warn('[pdf-extractor] OCR dependencies not available — skipping OCR');
|
|
100
|
-
return '';
|
|
101
|
-
}
|
|
102
|
-
throw err;
|
|
103
|
-
}
|
|
104
|
-
}
|
|
105
|
-
export async function terminateOcrWorker() {
|
|
106
|
-
if (ocrWorker) {
|
|
107
|
-
try {
|
|
108
|
-
await ocrWorker.terminate();
|
|
109
|
-
}
|
|
110
|
-
catch {
|
|
111
|
-
// Ignore termination errors
|
|
112
|
-
}
|
|
113
|
-
ocrWorker = null;
|
|
114
|
-
}
|
|
115
|
-
}
|
|
116
|
-
//# sourceMappingURL=pdf-extractor.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"pdf-extractor.js","sourceRoot":"","sources":["../../src/ingest/pdf-extractor.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,27 +0,0 @@
|
|
|
1
|
-
import type Database from 'better-sqlite3';
|
|
2
|
-
import type { Embedder, SourceType } from '../types.js';
|
|
3
|
-
interface ChunkerConfig {
|
|
4
|
-
max_tokens: number;
|
|
5
|
-
overlap: number;
|
|
6
|
-
}
|
|
7
|
-
interface IngestOptions {
|
|
8
|
-
squad_code?: string;
|
|
9
|
-
agent_id?: string;
|
|
10
|
-
source_type?: SourceType;
|
|
11
|
-
tags?: string[];
|
|
12
|
-
}
|
|
13
|
-
interface IngestResult {
|
|
14
|
-
document_id: string;
|
|
15
|
-
chunks_count: number;
|
|
16
|
-
skipped: boolean;
|
|
17
|
-
}
|
|
18
|
-
export declare class IngestPipeline {
|
|
19
|
-
private db;
|
|
20
|
-
private embedder;
|
|
21
|
-
private chunkerConfig;
|
|
22
|
-
constructor(db: Database.Database, embedder: Embedder, chunkerConfig: ChunkerConfig);
|
|
23
|
-
ingest(filePath: string, options?: IngestOptions): Promise<IngestResult>;
|
|
24
|
-
ingestText(content: string, title: string, options?: IngestOptions): Promise<IngestResult>;
|
|
25
|
-
}
|
|
26
|
-
export {};
|
|
27
|
-
//# sourceMappingURL=pipeline.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"pipeline.d.ts","sourceRoot":"","sources":["../../src/ingest/pipeline.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,QAAQ,MAAM,gBAAgB,CAAC;AAI3C,OAAO,KAAK,EAAE,QAAQ,EAAE,UAAU,EAAe,MAAM,aAAa,CAAC;AAErE,UAAU,aAAa;IACrB,UAAU,EAAE,MAAM,CAAC;IACnB,OAAO,EAAE,MAAM,CAAC;CACjB;AAED,UAAU,aAAa;IACrB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,WAAW,CAAC,EAAE,UAAU,CAAC;IACzB,IAAI,CAAC,EAAE,MAAM,EAAE,CAAC;CACjB;AAED,UAAU,YAAY;IACpB,WAAW,EAAE,MAAM,CAAC;IACpB,YAAY,EAAE,MAAM,CAAC;IACrB,OAAO,EAAE,OAAO,CAAC;CAClB;AAED,qBAAa,cAAc;IAEvB,OAAO,CAAC,EAAE;IACV,OAAO,CAAC,QAAQ;IAChB,OAAO,CAAC,aAAa;gBAFb,EAAE,EAAE,QAAQ,CAAC,QAAQ,EACrB,QAAQ,EAAE,QAAQ,EAClB,aAAa,EAAE,aAAa;IAGhC,MAAM,CAAC,QAAQ,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,aAAa,GAAG,OAAO,CAAC,YAAY,CAAC;IAmFxE,UAAU,CACd,OAAO,EAAE,MAAM,EACf,KAAK,EAAE,MAAM,EACb,OAAO,CAAC,EAAE,aAAa,GACtB,OAAO,CAAC,YAAY,CAAC;CA6CzB"}
|
|
@@ -1,92 +0,0 @@
|
|
|
1
|
-
import fs from 'node:fs';
|
|
2
|
-
import { nanoid } from 'nanoid';
|
|
3
|
-
import { loadDocument, computeHash } from './document-loader.js';
|
|
4
|
-
import { chunkMarkdown, chunkPlainText } from './chunker.js';
|
|
5
|
-
export class IngestPipeline {
|
|
6
|
-
db;
|
|
7
|
-
embedder;
|
|
8
|
-
chunkerConfig;
|
|
9
|
-
constructor(db, embedder, chunkerConfig) {
|
|
10
|
-
this.db = db;
|
|
11
|
-
this.embedder = embedder;
|
|
12
|
-
this.chunkerConfig = chunkerConfig;
|
|
13
|
-
}
|
|
14
|
-
async ingest(filePath, options) {
|
|
15
|
-
const parsed = await loadDocument(filePath);
|
|
16
|
-
const contentHash = parsed.mime_type === 'application/pdf'
|
|
17
|
-
? computeHash(fs.readFileSync(filePath))
|
|
18
|
-
: computeHash(parsed.content);
|
|
19
|
-
const sourceType = options?.source_type ?? 'external';
|
|
20
|
-
// Check for existing document with same path and hash
|
|
21
|
-
const existing = this.db
|
|
22
|
-
.prepare('SELECT id FROM documents WHERE source_path = ? AND content_hash = ?')
|
|
23
|
-
.get(filePath, contentHash);
|
|
24
|
-
if (existing) {
|
|
25
|
-
return { document_id: existing.id, chunks_count: 0, skipped: true };
|
|
26
|
-
}
|
|
27
|
-
// Upsert: delete old document with same source_path (CASCADE deletes chunks)
|
|
28
|
-
this.db.prepare('DELETE FROM documents WHERE source_path = ?').run(filePath);
|
|
29
|
-
const docId = nanoid();
|
|
30
|
-
const now = new Date().toISOString();
|
|
31
|
-
const docMetadata = {
|
|
32
|
-
...(options?.tags ? { tags: options.tags } : {}),
|
|
33
|
-
...(parsed.metadata ? parsed.metadata : {}),
|
|
34
|
-
};
|
|
35
|
-
const metadata = Object.keys(docMetadata).length > 0 ? JSON.stringify(docMetadata) : null;
|
|
36
|
-
this.db
|
|
37
|
-
.prepare(`INSERT INTO documents (id, source_type, source_path, squad_code, agent_id, title, mime_type, content_hash, extraction_status, metadata, ingested_at, updated_at)
|
|
38
|
-
VALUES (?, ?, ?, ?, ?, ?, ?, ?, 'pending', ?, ?, ?)`)
|
|
39
|
-
.run(docId, sourceType, filePath, options?.squad_code ?? null, options?.agent_id ?? null, parsed.title, parsed.mime_type, contentHash, metadata, now, now);
|
|
40
|
-
// Chunk
|
|
41
|
-
const chunks = parsed.mime_type === 'application/pdf'
|
|
42
|
-
? chunkPlainText(parsed.content, this.chunkerConfig)
|
|
43
|
-
: chunkMarkdown(parsed.content, this.chunkerConfig);
|
|
44
|
-
// Store chunks + embeddings
|
|
45
|
-
const insertChunk = this.db.prepare('INSERT INTO chunks (id, document_id, content, chunk_index, token_count, metadata, created_at) VALUES (?, ?, ?, ?, ?, ?, ?)');
|
|
46
|
-
const insertEmbedding = this.db.prepare('INSERT INTO chunk_embeddings_store (chunk_id, embedding) VALUES (?, ?)');
|
|
47
|
-
// Batch embed
|
|
48
|
-
const texts = chunks.map((c) => c.content);
|
|
49
|
-
const embeddings = texts.length > 0 ? await this.embedder.embed(texts) : [];
|
|
50
|
-
const transaction = this.db.transaction(() => {
|
|
51
|
-
for (let i = 0; i < chunks.length; i++) {
|
|
52
|
-
const chunkId = nanoid();
|
|
53
|
-
insertChunk.run(chunkId, docId, chunks[i].content, chunks[i].chunk_index, chunks[i].token_count, JSON.stringify(chunks[i].metadata), now);
|
|
54
|
-
insertEmbedding.run(chunkId, JSON.stringify(embeddings[i]));
|
|
55
|
-
}
|
|
56
|
-
});
|
|
57
|
-
transaction();
|
|
58
|
-
return { document_id: docId, chunks_count: chunks.length, skipped: false };
|
|
59
|
-
}
|
|
60
|
-
async ingestText(content, title, options) {
|
|
61
|
-
const contentHash = computeHash(content);
|
|
62
|
-
const existing = this.db
|
|
63
|
-
.prepare('SELECT id FROM documents WHERE content_hash = ? AND source_path IS NULL AND title = ?')
|
|
64
|
-
.get(contentHash, title);
|
|
65
|
-
if (existing) {
|
|
66
|
-
return { document_id: existing.id, chunks_count: 0, skipped: true };
|
|
67
|
-
}
|
|
68
|
-
const docId = nanoid();
|
|
69
|
-
const now = new Date().toISOString();
|
|
70
|
-
const sourceType = options?.source_type ?? 'external';
|
|
71
|
-
const metadata = options?.tags ? JSON.stringify({ tags: options.tags }) : null;
|
|
72
|
-
this.db
|
|
73
|
-
.prepare(`INSERT INTO documents (id, source_type, source_path, squad_code, agent_id, title, mime_type, content_hash, extraction_status, metadata, ingested_at, updated_at)
|
|
74
|
-
VALUES (?, ?, NULL, ?, ?, ?, 'text/markdown', ?, 'pending', ?, ?, ?)`)
|
|
75
|
-
.run(docId, sourceType, options?.squad_code ?? null, options?.agent_id ?? null, title, contentHash, metadata, now, now);
|
|
76
|
-
const chunks = chunkMarkdown(content, this.chunkerConfig);
|
|
77
|
-
const texts = chunks.map((c) => c.content);
|
|
78
|
-
const embeddings = texts.length > 0 ? await this.embedder.embed(texts) : [];
|
|
79
|
-
const insertChunk = this.db.prepare('INSERT INTO chunks (id, document_id, content, chunk_index, token_count, metadata, created_at) VALUES (?, ?, ?, ?, ?, ?, ?)');
|
|
80
|
-
const insertEmbedding = this.db.prepare('INSERT INTO chunk_embeddings_store (chunk_id, embedding) VALUES (?, ?)');
|
|
81
|
-
const transaction = this.db.transaction(() => {
|
|
82
|
-
for (let i = 0; i < chunks.length; i++) {
|
|
83
|
-
const chunkId = nanoid();
|
|
84
|
-
insertChunk.run(chunkId, docId, chunks[i].content, chunks[i].chunk_index, chunks[i].token_count, JSON.stringify(chunks[i].metadata), now);
|
|
85
|
-
insertEmbedding.run(chunkId, JSON.stringify(embeddings[i]));
|
|
86
|
-
}
|
|
87
|
-
});
|
|
88
|
-
transaction();
|
|
89
|
-
return { document_id: docId, chunks_count: chunks.length, skipped: false };
|
|
90
|
-
}
|
|
91
|
-
}
|
|
92
|
-
//# sourceMappingURL=pipeline.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"pipeline.js","sourceRoot":"","sources":["../../src/ingest/pipeline.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,41 +0,0 @@
|
|
|
1
|
-
import type Database from 'better-sqlite3';
|
|
2
|
-
import type { RelationType } from '../types.js';
|
|
3
|
-
interface TraversalOptions {
|
|
4
|
-
maxDepth: number;
|
|
5
|
-
relationType?: RelationType;
|
|
6
|
-
}
|
|
7
|
-
interface TraversalResult {
|
|
8
|
-
source: {
|
|
9
|
-
id: string;
|
|
10
|
-
name: string;
|
|
11
|
-
entity_type: string;
|
|
12
|
-
};
|
|
13
|
-
target: {
|
|
14
|
-
id: string;
|
|
15
|
-
name: string;
|
|
16
|
-
entity_type: string;
|
|
17
|
-
};
|
|
18
|
-
relation_type: string;
|
|
19
|
-
description: string | null;
|
|
20
|
-
weight: number;
|
|
21
|
-
depth: number;
|
|
22
|
-
}
|
|
23
|
-
export declare class GraphTraversal {
|
|
24
|
-
private db;
|
|
25
|
-
constructor(db: Database.Database);
|
|
26
|
-
findEntityByName(name: string): {
|
|
27
|
-
id: string;
|
|
28
|
-
name: string;
|
|
29
|
-
entity_type: string;
|
|
30
|
-
} | null;
|
|
31
|
-
findEntitiesByType(type: string): Array<{
|
|
32
|
-
id: string;
|
|
33
|
-
name: string;
|
|
34
|
-
entity_type: string;
|
|
35
|
-
}>;
|
|
36
|
-
traverse(entityId: string, options: TraversalOptions): TraversalResult[];
|
|
37
|
-
private dfs;
|
|
38
|
-
buildNarrative(results: TraversalResult[]): string;
|
|
39
|
-
}
|
|
40
|
-
export {};
|
|
41
|
-
//# sourceMappingURL=graph-traversal.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"graph-traversal.d.ts","sourceRoot":"","sources":["../../src/query/graph-traversal.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,QAAQ,MAAM,gBAAgB,CAAC;AAC3C,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAEhD,UAAU,gBAAgB;IACxB,QAAQ,EAAE,MAAM,CAAC;IACjB,YAAY,CAAC,EAAE,YAAY,CAAC;CAC7B;AAED,UAAU,eAAe;IACvB,MAAM,EAAE;QAAE,EAAE,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAC;QAAC,WAAW,EAAE,MAAM,CAAA;KAAE,CAAC;IAC1D,MAAM,EAAE;QAAE,EAAE,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAC;QAAC,WAAW,EAAE,MAAM,CAAA;KAAE,CAAC;IAC1D,aAAa,EAAE,MAAM,CAAC;IACtB,WAAW,EAAE,MAAM,GAAG,IAAI,CAAC;IAC3B,MAAM,EAAE,MAAM,CAAC;IACf,KAAK,EAAE,MAAM,CAAC;CACf;AAED,qBAAa,cAAc;IACb,OAAO,CAAC,EAAE;gBAAF,EAAE,EAAE,QAAQ,CAAC,QAAQ;IAEzC,gBAAgB,CAAC,IAAI,EAAE,MAAM,GAAG;QAAE,EAAE,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAC;QAAC,WAAW,EAAE,MAAM,CAAA;KAAE,GAAG,IAAI;IAOxF,kBAAkB,CAAC,IAAI,EAAE,MAAM,GAAG,KAAK,CAAC;QAAE,EAAE,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAC;QAAC,WAAW,EAAE,MAAM,CAAA;KAAE,CAAC;IAM1F,QAAQ,CAAC,QAAQ,EAAE,MAAM,EAAE,OAAO,EAAE,gBAAgB,GAAG,eAAe,EAAE;IAOxE,OAAO,CAAC,GAAG;IAsDX,cAAc,CAAC,OAAO,EAAE,eAAe,EAAE,GAAG,MAAM;CAUnD"}
|
|
@@ -1,62 +0,0 @@
|
|
|
1
|
-
export class GraphTraversal {
|
|
2
|
-
db;
|
|
3
|
-
constructor(db) {
|
|
4
|
-
this.db = db;
|
|
5
|
-
}
|
|
6
|
-
findEntityByName(name) {
|
|
7
|
-
const row = this.db
|
|
8
|
-
.prepare('SELECT id, name, entity_type FROM entities WHERE name = ? COLLATE NOCASE')
|
|
9
|
-
.get(name);
|
|
10
|
-
return row ?? null;
|
|
11
|
-
}
|
|
12
|
-
findEntitiesByType(type) {
|
|
13
|
-
return this.db
|
|
14
|
-
.prepare('SELECT id, name, entity_type FROM entities WHERE entity_type = ?')
|
|
15
|
-
.all(type);
|
|
16
|
-
}
|
|
17
|
-
traverse(entityId, options) {
|
|
18
|
-
const results = [];
|
|
19
|
-
const visited = new Set();
|
|
20
|
-
this.dfs(entityId, options, results, visited, 1);
|
|
21
|
-
return results;
|
|
22
|
-
}
|
|
23
|
-
dfs(entityId, options, results, visited, depth) {
|
|
24
|
-
if (depth > options.maxDepth)
|
|
25
|
-
return;
|
|
26
|
-
visited.add(entityId);
|
|
27
|
-
let sql = `
|
|
28
|
-
SELECT r.relation_type, r.description, r.weight,
|
|
29
|
-
s.id as source_id, s.name as source_name, s.entity_type as source_type,
|
|
30
|
-
t.id as target_id, t.name as target_name, t.entity_type as target_type
|
|
31
|
-
FROM relations r
|
|
32
|
-
JOIN entities s ON s.id = r.source_id
|
|
33
|
-
JOIN entities t ON t.id = r.target_id
|
|
34
|
-
WHERE r.source_id = ?`;
|
|
35
|
-
const params = [entityId];
|
|
36
|
-
if (options.relationType) {
|
|
37
|
-
sql += ' AND r.relation_type = ?';
|
|
38
|
-
params.push(options.relationType);
|
|
39
|
-
}
|
|
40
|
-
const rows = this.db.prepare(sql).all(...params);
|
|
41
|
-
for (const row of rows) {
|
|
42
|
-
results.push({
|
|
43
|
-
source: { id: row.source_id, name: row.source_name, entity_type: row.source_type },
|
|
44
|
-
target: { id: row.target_id, name: row.target_name, entity_type: row.target_type },
|
|
45
|
-
relation_type: row.relation_type,
|
|
46
|
-
description: row.description,
|
|
47
|
-
weight: row.weight,
|
|
48
|
-
depth,
|
|
49
|
-
});
|
|
50
|
-
if (!visited.has(row.target_id)) {
|
|
51
|
-
this.dfs(row.target_id, options, results, visited, depth + 1);
|
|
52
|
-
}
|
|
53
|
-
}
|
|
54
|
-
}
|
|
55
|
-
buildNarrative(results) {
|
|
56
|
-
if (results.length === 0)
|
|
57
|
-
return 'No relationships found.';
|
|
58
|
-
const lines = results.map((r) => `${r.source.name} (${r.source.entity_type}) —[${r.relation_type}]→ ${r.target.name} (${r.target.entity_type})${r.description ? `: ${r.description}` : ''}`);
|
|
59
|
-
return lines.join('\n');
|
|
60
|
-
}
|
|
61
|
-
}
|
|
62
|
-
//# sourceMappingURL=graph-traversal.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"graph-traversal.js","sourceRoot":"","sources":["../../src/query/graph-traversal.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,31 +0,0 @@
|
|
|
1
|
-
import type Database from 'better-sqlite3';
|
|
2
|
-
import type { Embedder, QueryScope, QueryMode, KnowledgeResult } from '../types.js';
|
|
3
|
-
interface QueryOptions {
|
|
4
|
-
mode?: QueryMode;
|
|
5
|
-
scope?: QueryScope;
|
|
6
|
-
limit?: number;
|
|
7
|
-
}
|
|
8
|
-
interface KnowledgeStats {
|
|
9
|
-
documents: number;
|
|
10
|
-
chunks: number;
|
|
11
|
-
entities: number;
|
|
12
|
-
relations: number;
|
|
13
|
-
}
|
|
14
|
-
export declare class KnowledgeQuery {
|
|
15
|
-
private db;
|
|
16
|
-
private vectorSearch;
|
|
17
|
-
private graphTraversal;
|
|
18
|
-
constructor(db: Database.Database, embedder: Embedder);
|
|
19
|
-
query(queryText: string, options?: QueryOptions): Promise<KnowledgeResult>;
|
|
20
|
-
private graphMode;
|
|
21
|
-
private autoMode;
|
|
22
|
-
private searchMode;
|
|
23
|
-
getStats(): KnowledgeStats;
|
|
24
|
-
listDocuments(limit?: number, offset?: number): unknown[];
|
|
25
|
-
getDocument(id: string): unknown;
|
|
26
|
-
deleteDocument(id: string): boolean;
|
|
27
|
-
listEntities(type?: string, limit?: number): unknown[];
|
|
28
|
-
getEntityRelations(entityId: string): unknown[];
|
|
29
|
-
}
|
|
30
|
-
export {};
|
|
31
|
-
//# sourceMappingURL=knowledge-query.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"knowledge-query.d.ts","sourceRoot":"","sources":["../../src/query/knowledge-query.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,QAAQ,MAAM,gBAAgB,CAAC;AAC3C,OAAO,KAAK,EAAE,QAAQ,EAAE,UAAU,EAAE,SAAS,EAAE,eAAe,EAAE,MAAM,aAAa,CAAC;AAIpF,UAAU,YAAY;IACpB,IAAI,CAAC,EAAE,SAAS,CAAC;IACjB,KAAK,CAAC,EAAE,UAAU,CAAC;IACnB,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAED,UAAU,cAAc;IACtB,SAAS,EAAE,MAAM,CAAC;IAClB,MAAM,EAAE,MAAM,CAAC;IACf,QAAQ,EAAE,MAAM,CAAC;IACjB,SAAS,EAAE,MAAM,CAAC;CACnB;AAED,qBAAa,cAAc;IAKvB,OAAO,CAAC,EAAE;IAJZ,OAAO,CAAC,YAAY,CAAe;IACnC,OAAO,CAAC,cAAc,CAAiB;gBAG7B,EAAE,EAAE,QAAQ,CAAC,QAAQ,EAC7B,QAAQ,EAAE,QAAQ;IAMd,KAAK,CAAC,SAAS,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,YAAY,GAAG,OAAO,CAAC,eAAe,CAAC;YAalE,SAAS;YAYT,QAAQ;YAaR,UAAU;IAkBxB,QAAQ,IAAI,cAAc;IAgB1B,aAAa,CAAC,KAAK,SAAK,EAAE,MAAM,SAAI,GAAG,OAAO,EAAE;IAUhD,WAAW,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO;IAIhC,cAAc,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO;IAKnC,YAAY,CAAC,IAAI,CAAC,EAAE,MAAM,EAAE,KAAK,SAAK,GAAG,OAAO,EAAE;IAOlD,kBAAkB,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,EAAE;CAUhD"}
|
|
@@ -1,106 +0,0 @@
|
|
|
1
|
-
import { VectorSearch } from './vector-search.js';
|
|
2
|
-
import { GraphTraversal } from './graph-traversal.js';
|
|
3
|
-
export class KnowledgeQuery {
|
|
4
|
-
db;
|
|
5
|
-
vectorSearch;
|
|
6
|
-
graphTraversal;
|
|
7
|
-
constructor(db, embedder) {
|
|
8
|
-
this.db = db;
|
|
9
|
-
this.vectorSearch = new VectorSearch(db, embedder);
|
|
10
|
-
this.graphTraversal = new GraphTraversal(db);
|
|
11
|
-
}
|
|
12
|
-
async query(queryText, options) {
|
|
13
|
-
const mode = options?.mode ?? 'auto';
|
|
14
|
-
const limit = options?.limit ?? 10;
|
|
15
|
-
if (mode === 'graph') {
|
|
16
|
-
return this.graphMode(queryText, limit, options?.scope);
|
|
17
|
-
}
|
|
18
|
-
if (mode === 'auto') {
|
|
19
|
-
return this.autoMode(queryText, limit, options?.scope);
|
|
20
|
-
}
|
|
21
|
-
return this.searchMode(queryText, limit, options?.scope);
|
|
22
|
-
}
|
|
23
|
-
async graphMode(queryText, limit, scope) {
|
|
24
|
-
const entity = this.graphTraversal.findEntityByName(queryText);
|
|
25
|
-
if (entity) {
|
|
26
|
-
const traversal = this.graphTraversal.traverse(entity.id, { maxDepth: 2 });
|
|
27
|
-
return {
|
|
28
|
-
results: [],
|
|
29
|
-
graph_context: this.graphTraversal.buildNarrative(traversal),
|
|
30
|
-
};
|
|
31
|
-
}
|
|
32
|
-
return this.searchMode(queryText, limit, scope);
|
|
33
|
-
}
|
|
34
|
-
async autoMode(queryText, limit, scope) {
|
|
35
|
-
const GRAPH_KEYWORDS = ['depende', 'depends', 'impacta', 'impacts', 'contradiz', 'contradicts', 'relação', 'relationship', 'levou a', 'led to'];
|
|
36
|
-
const isGraphQuery = GRAPH_KEYWORDS.some(kw => queryText.toLowerCase().includes(kw));
|
|
37
|
-
if (isGraphQuery) {
|
|
38
|
-
const graphResult = await this.graphMode(queryText, limit, scope);
|
|
39
|
-
if (graphResult.graph_context && graphResult.graph_context !== 'No relationships found.') {
|
|
40
|
-
return graphResult;
|
|
41
|
-
}
|
|
42
|
-
}
|
|
43
|
-
return this.searchMode(queryText, limit, scope);
|
|
44
|
-
}
|
|
45
|
-
async searchMode(queryText, limit, scope) {
|
|
46
|
-
const searchResults = await this.vectorSearch.search(queryText, { limit, scope });
|
|
47
|
-
return {
|
|
48
|
-
results: searchResults.map((r) => ({
|
|
49
|
-
content: r.content,
|
|
50
|
-
source: {
|
|
51
|
-
document_title: r.document_title,
|
|
52
|
-
source_type: r.source_type,
|
|
53
|
-
squad_code: r.squad_code ?? undefined,
|
|
54
|
-
agent_id: r.agent_id ?? undefined,
|
|
55
|
-
path: r.source_path ?? undefined,
|
|
56
|
-
},
|
|
57
|
-
score: r.score,
|
|
58
|
-
})),
|
|
59
|
-
};
|
|
60
|
-
}
|
|
61
|
-
getStats() {
|
|
62
|
-
const docs = this.db.prepare('SELECT COUNT(*) as count FROM documents').get().count;
|
|
63
|
-
const chunks = this.db.prepare('SELECT COUNT(*) as count FROM chunks').get().count;
|
|
64
|
-
let entities = 0;
|
|
65
|
-
let relations = 0;
|
|
66
|
-
try {
|
|
67
|
-
entities = this.db.prepare('SELECT COUNT(*) as count FROM entities').get().count;
|
|
68
|
-
relations = this.db.prepare('SELECT COUNT(*) as count FROM relations').get().count;
|
|
69
|
-
}
|
|
70
|
-
catch {
|
|
71
|
-
// Tables may not exist yet (Phase 1 only)
|
|
72
|
-
}
|
|
73
|
-
return { documents: docs, chunks, entities, relations };
|
|
74
|
-
}
|
|
75
|
-
listDocuments(limit = 50, offset = 0) {
|
|
76
|
-
return this.db
|
|
77
|
-
.prepare(`SELECT id, source_type, source_path, squad_code, title, content_hash,
|
|
78
|
-
extraction_status, ingested_at, updated_at
|
|
79
|
-
FROM documents ORDER BY ingested_at DESC LIMIT ? OFFSET ?`)
|
|
80
|
-
.all(limit, offset);
|
|
81
|
-
}
|
|
82
|
-
getDocument(id) {
|
|
83
|
-
return this.db.prepare('SELECT * FROM documents WHERE id = ?').get(id);
|
|
84
|
-
}
|
|
85
|
-
deleteDocument(id) {
|
|
86
|
-
const result = this.db.prepare('DELETE FROM documents WHERE id = ?').run(id);
|
|
87
|
-
return result.changes > 0;
|
|
88
|
-
}
|
|
89
|
-
listEntities(type, limit = 50) {
|
|
90
|
-
if (type) {
|
|
91
|
-
return this.db.prepare('SELECT * FROM entities WHERE entity_type = ? ORDER BY mention_count DESC LIMIT ?').all(type, limit);
|
|
92
|
-
}
|
|
93
|
-
return this.db.prepare('SELECT * FROM entities ORDER BY mention_count DESC LIMIT ?').all(limit);
|
|
94
|
-
}
|
|
95
|
-
getEntityRelations(entityId) {
|
|
96
|
-
return this.db.prepare(`
|
|
97
|
-
SELECT r.*, s.name as source_name, s.entity_type as source_type,
|
|
98
|
-
t.name as target_name, t.entity_type as target_type
|
|
99
|
-
FROM relations r
|
|
100
|
-
JOIN entities s ON s.id = r.source_id
|
|
101
|
-
JOIN entities t ON t.id = r.target_id
|
|
102
|
-
WHERE r.source_id = ? OR r.target_id = ?
|
|
103
|
-
`).all(entityId, entityId);
|
|
104
|
-
}
|
|
105
|
-
}
|
|
106
|
-
//# sourceMappingURL=knowledge-query.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"knowledge-query.js","sourceRoot":"","sources":["../../src/query/knowledge-query.ts"],"names":[],"mappings":"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"}
|