@bhimudev/gnanai 0.4.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 +270 -0
- package/dist/bin/cli.d.ts +3 -0
- package/dist/bin/cli.d.ts.map +1 -0
- package/dist/bin/cli.js +188 -0
- package/dist/bin/cli.js.map +1 -0
- package/dist/commands/cleanup.d.ts +21 -0
- package/dist/commands/cleanup.d.ts.map +1 -0
- package/dist/commands/cleanup.js +380 -0
- package/dist/commands/cleanup.js.map +1 -0
- package/dist/commands/dispatch.d.ts +13 -0
- package/dist/commands/dispatch.d.ts.map +1 -0
- package/dist/commands/dispatch.js +85 -0
- package/dist/commands/dispatch.js.map +1 -0
- package/dist/commands/doctor.d.ts +2 -0
- package/dist/commands/doctor.d.ts.map +1 -0
- package/dist/commands/doctor.js +155 -0
- package/dist/commands/doctor.js.map +1 -0
- package/dist/commands/generate.d.ts +3 -0
- package/dist/commands/generate.d.ts.map +1 -0
- package/dist/commands/generate.js +167 -0
- package/dist/commands/generate.js.map +1 -0
- package/dist/commands/init.d.ts +10 -0
- package/dist/commands/init.d.ts.map +1 -0
- package/dist/commands/init.js +711 -0
- package/dist/commands/init.js.map +1 -0
- package/dist/commands/knowledge-sync.d.ts +69 -0
- package/dist/commands/knowledge-sync.d.ts.map +1 -0
- package/dist/commands/knowledge-sync.js +661 -0
- package/dist/commands/knowledge-sync.js.map +1 -0
- package/dist/commands/knowledge.d.ts +35 -0
- package/dist/commands/knowledge.d.ts.map +1 -0
- package/dist/commands/knowledge.js +254 -0
- package/dist/commands/knowledge.js.map +1 -0
- package/dist/commands/rollback.d.ts +13 -0
- package/dist/commands/rollback.d.ts.map +1 -0
- package/dist/commands/rollback.js +186 -0
- package/dist/commands/rollback.js.map +1 -0
- package/dist/commands/setup-config.d.ts +6 -0
- package/dist/commands/setup-config.d.ts.map +1 -0
- package/dist/commands/setup-config.js +663 -0
- package/dist/commands/setup-config.js.map +1 -0
- package/dist/commands/setup-project.d.ts +6 -0
- package/dist/commands/setup-project.d.ts.map +1 -0
- package/dist/commands/setup-project.js +361 -0
- package/dist/commands/setup-project.js.map +1 -0
- package/dist/commands/setup.d.ts +3 -0
- package/dist/commands/setup.d.ts.map +1 -0
- package/dist/commands/setup.js +293 -0
- package/dist/commands/setup.js.map +1 -0
- package/dist/commands/status.d.ts +51 -0
- package/dist/commands/status.d.ts.map +1 -0
- package/dist/commands/status.js +182 -0
- package/dist/commands/status.js.map +1 -0
- package/dist/commands/uninstall.d.ts +3 -0
- package/dist/commands/uninstall.d.ts.map +1 -0
- package/dist/commands/uninstall.js +173 -0
- package/dist/commands/uninstall.js.map +1 -0
- package/dist/commands/update.d.ts +10 -0
- package/dist/commands/update.d.ts.map +1 -0
- package/dist/commands/update.js +435 -0
- package/dist/commands/update.js.map +1 -0
- package/dist/commands/worktree.d.ts +30 -0
- package/dist/commands/worktree.d.ts.map +1 -0
- package/dist/commands/worktree.js +262 -0
- package/dist/commands/worktree.js.map +1 -0
- package/dist/generator/claude-cli.d.ts +24 -0
- package/dist/generator/claude-cli.d.ts.map +1 -0
- package/dist/generator/claude-cli.js +239 -0
- package/dist/generator/claude-cli.js.map +1 -0
- package/dist/generator/prompt-builder.d.ts +7 -0
- package/dist/generator/prompt-builder.d.ts.map +1 -0
- package/dist/generator/prompt-builder.js +144 -0
- package/dist/generator/prompt-builder.js.map +1 -0
- package/dist/index.d.ts +36 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +45 -0
- package/dist/index.js.map +1 -0
- package/dist/mcp/embeddings.d.ts +53 -0
- package/dist/mcp/embeddings.d.ts.map +1 -0
- package/dist/mcp/embeddings.js +68 -0
- package/dist/mcp/embeddings.js.map +1 -0
- package/dist/mcp/hybrid-search.d.ts +25 -0
- package/dist/mcp/hybrid-search.d.ts.map +1 -0
- package/dist/mcp/hybrid-search.js +72 -0
- package/dist/mcp/hybrid-search.js.map +1 -0
- package/dist/mcp/knowledge-server.d.ts +4 -0
- package/dist/mcp/knowledge-server.d.ts.map +1 -0
- package/dist/mcp/knowledge-server.js +294 -0
- package/dist/mcp/knowledge-server.js.map +1 -0
- package/dist/mcp/knowledge-utils.d.ts +65 -0
- package/dist/mcp/knowledge-utils.d.ts.map +1 -0
- package/dist/mcp/knowledge-utils.js +207 -0
- package/dist/mcp/knowledge-utils.js.map +1 -0
- package/dist/mcp/search-factory.d.ts +9 -0
- package/dist/mcp/search-factory.d.ts.map +1 -0
- package/dist/mcp/search-factory.js +23 -0
- package/dist/mcp/search-factory.js.map +1 -0
- package/dist/mcp/search-index.d.ts +45 -0
- package/dist/mcp/search-index.d.ts.map +1 -0
- package/dist/mcp/search-index.js +2 -0
- package/dist/mcp/search-index.js.map +1 -0
- package/dist/mcp/search-minisearch.d.ts +46 -0
- package/dist/mcp/search-minisearch.d.ts.map +1 -0
- package/dist/mcp/search-minisearch.js +99 -0
- package/dist/mcp/search-minisearch.js.map +1 -0
- package/dist/mcp/search-sqlite.d.ts +30 -0
- package/dist/mcp/search-sqlite.d.ts.map +1 -0
- package/dist/mcp/search-sqlite.js +188 -0
- package/dist/mcp/search-sqlite.js.map +1 -0
- package/dist/mcp/vector-store.d.ts +52 -0
- package/dist/mcp/vector-store.d.ts.map +1 -0
- package/dist/mcp/vector-store.js +183 -0
- package/dist/mcp/vector-store.js.map +1 -0
- package/dist/scaffold/copy-core-agents.d.ts +2 -0
- package/dist/scaffold/copy-core-agents.d.ts.map +1 -0
- package/dist/scaffold/copy-core-agents.js +90 -0
- package/dist/scaffold/copy-core-agents.js.map +1 -0
- package/dist/scaffold/create-claude-settings.d.ts +40 -0
- package/dist/scaffold/create-claude-settings.d.ts.map +1 -0
- package/dist/scaffold/create-claude-settings.js +422 -0
- package/dist/scaffold/create-claude-settings.js.map +1 -0
- package/dist/scaffold/create-config.d.ts +14 -0
- package/dist/scaffold/create-config.d.ts.map +1 -0
- package/dist/scaffold/create-config.js +199 -0
- package/dist/scaffold/create-config.js.map +1 -0
- package/dist/scaffold/create-project-description.d.ts +12 -0
- package/dist/scaffold/create-project-description.d.ts.map +1 -0
- package/dist/scaffold/create-project-description.js +104 -0
- package/dist/scaffold/create-project-description.js.map +1 -0
- package/dist/scaffold/create-structure.d.ts +2 -0
- package/dist/scaffold/create-structure.d.ts.map +1 -0
- package/dist/scaffold/create-structure.js +146 -0
- package/dist/scaffold/create-structure.js.map +1 -0
- package/dist/types/dependency-analysis.d.ts +11 -0
- package/dist/types/dependency-analysis.d.ts.map +1 -0
- package/dist/types/dependency-analysis.js +2 -0
- package/dist/types/dependency-analysis.js.map +1 -0
- package/dist/types/index.d.ts +526 -0
- package/dist/types/index.d.ts.map +1 -0
- package/dist/types/index.js +3 -0
- package/dist/types/index.js.map +1 -0
- package/dist/types/task.d.ts +25 -0
- package/dist/types/task.d.ts.map +1 -0
- package/dist/types/task.js +3 -0
- package/dist/types/task.js.map +1 -0
- package/dist/utils/analyze-files.d.ts +7 -0
- package/dist/utils/analyze-files.d.ts.map +1 -0
- package/dist/utils/analyze-files.js +27 -0
- package/dist/utils/analyze-files.js.map +1 -0
- package/dist/utils/backup.d.ts +102 -0
- package/dist/utils/backup.d.ts.map +1 -0
- package/dist/utils/backup.js +352 -0
- package/dist/utils/backup.js.map +1 -0
- package/dist/utils/ci-provider.d.ts +23 -0
- package/dist/utils/ci-provider.d.ts.map +1 -0
- package/dist/utils/ci-provider.js +525 -0
- package/dist/utils/ci-provider.js.map +1 -0
- package/dist/utils/ci-status.d.ts +57 -0
- package/dist/utils/ci-status.d.ts.map +1 -0
- package/dist/utils/ci-status.js +349 -0
- package/dist/utils/ci-status.js.map +1 -0
- package/dist/utils/dependency-analysis.d.ts +34 -0
- package/dist/utils/dependency-analysis.d.ts.map +1 -0
- package/dist/utils/dependency-analysis.js +298 -0
- package/dist/utils/dependency-analysis.js.map +1 -0
- package/dist/utils/detect-git.d.ts +57 -0
- package/dist/utils/detect-git.d.ts.map +1 -0
- package/dist/utils/detect-git.js +439 -0
- package/dist/utils/detect-git.js.map +1 -0
- package/dist/utils/detect-mcp.d.ts +32 -0
- package/dist/utils/detect-mcp.d.ts.map +1 -0
- package/dist/utils/detect-mcp.js +178 -0
- package/dist/utils/detect-mcp.js.map +1 -0
- package/dist/utils/detect-project.d.ts +3 -0
- package/dist/utils/detect-project.d.ts.map +1 -0
- package/dist/utils/detect-project.js +155 -0
- package/dist/utils/detect-project.js.map +1 -0
- package/dist/utils/file-comparison.d.ts +89 -0
- package/dist/utils/file-comparison.d.ts.map +1 -0
- package/dist/utils/file-comparison.js +301 -0
- package/dist/utils/file-comparison.js.map +1 -0
- package/dist/utils/file-merger.d.ts +74 -0
- package/dist/utils/file-merger.d.ts.map +1 -0
- package/dist/utils/file-merger.js +350 -0
- package/dist/utils/file-merger.js.map +1 -0
- package/dist/utils/logger.d.ts +26 -0
- package/dist/utils/logger.d.ts.map +1 -0
- package/dist/utils/logger.js +72 -0
- package/dist/utils/logger.js.map +1 -0
- package/dist/utils/managed-process.d.ts +109 -0
- package/dist/utils/managed-process.d.ts.map +1 -0
- package/dist/utils/managed-process.js +481 -0
- package/dist/utils/managed-process.js.map +1 -0
- package/dist/utils/merge-claude-settings.d.ts +65 -0
- package/dist/utils/merge-claude-settings.d.ts.map +1 -0
- package/dist/utils/merge-claude-settings.js +133 -0
- package/dist/utils/merge-claude-settings.js.map +1 -0
- package/dist/utils/migration.d.ts +74 -0
- package/dist/utils/migration.d.ts.map +1 -0
- package/dist/utils/migration.js +345 -0
- package/dist/utils/migration.js.map +1 -0
- package/dist/utils/process-health.d.ts +51 -0
- package/dist/utils/process-health.d.ts.map +1 -0
- package/dist/utils/process-health.js +123 -0
- package/dist/utils/process-health.js.map +1 -0
- package/dist/utils/process-registry.d.ts +20 -0
- package/dist/utils/process-registry.d.ts.map +1 -0
- package/dist/utils/process-registry.js +151 -0
- package/dist/utils/process-registry.js.map +1 -0
- package/dist/utils/process-tree.d.ts +51 -0
- package/dist/utils/process-tree.d.ts.map +1 -0
- package/dist/utils/process-tree.js +499 -0
- package/dist/utils/process-tree.js.map +1 -0
- package/dist/utils/repair-mcp-config.d.ts +15 -0
- package/dist/utils/repair-mcp-config.d.ts.map +1 -0
- package/dist/utils/repair-mcp-config.js +129 -0
- package/dist/utils/repair-mcp-config.js.map +1 -0
- package/dist/utils/task-lifecycle.d.ts +60 -0
- package/dist/utils/task-lifecycle.d.ts.map +1 -0
- package/dist/utils/task-lifecycle.js +310 -0
- package/dist/utils/task-lifecycle.js.map +1 -0
- package/dist/utils/update-agent-mcp.d.ts +7 -0
- package/dist/utils/update-agent-mcp.d.ts.map +1 -0
- package/dist/utils/update-agent-mcp.js +115 -0
- package/dist/utils/update-agent-mcp.js.map +1 -0
- package/dist/utils/update-agent-templates.d.ts +6 -0
- package/dist/utils/update-agent-templates.d.ts.map +1 -0
- package/dist/utils/update-agent-templates.js +56 -0
- package/dist/utils/update-agent-templates.js.map +1 -0
- package/dist/utils/update-config-ci.d.ts +7 -0
- package/dist/utils/update-config-ci.d.ts.map +1 -0
- package/dist/utils/update-config-ci.js +72 -0
- package/dist/utils/update-config-ci.js.map +1 -0
- package/dist/utils/update-config-git.d.ts +18 -0
- package/dist/utils/update-config-git.d.ts.map +1 -0
- package/dist/utils/update-config-git.js +146 -0
- package/dist/utils/update-config-git.js.map +1 -0
- package/dist/utils/update-config-mcp.d.ts +7 -0
- package/dist/utils/update-config-mcp.d.ts.map +1 -0
- package/dist/utils/update-config-mcp.js +98 -0
- package/dist/utils/update-config-mcp.js.map +1 -0
- package/dist/utils/validate-config.d.ts +3 -0
- package/dist/utils/validate-config.d.ts.map +1 -0
- package/dist/utils/validate-config.js +109 -0
- package/dist/utils/validate-config.js.map +1 -0
- package/dist/utils/version-tracker.d.ts +130 -0
- package/dist/utils/version-tracker.d.ts.map +1 -0
- package/dist/utils/version-tracker.js +298 -0
- package/dist/utils/version-tracker.js.map +1 -0
- package/dist/utils/worktree.d.ts +68 -0
- package/dist/utils/worktree.d.ts.map +1 -0
- package/dist/utils/worktree.js +446 -0
- package/dist/utils/worktree.js.map +1 -0
- package/package.json +77 -0
- package/templates/ARCHAI_README.md +329 -0
- package/templates/CLAUDE.md +67 -0
- package/templates/PROMPTS.md +506 -0
- package/templates/core-agents/boss-agent.md +671 -0
- package/templates/core-agents/cleanup-agent.md +145 -0
- package/templates/core-agents/code-reviewer.md +175 -0
- package/templates/core-agents/critical-reviewer.md +117 -0
- package/templates/core-agents/deep-analyst.md +216 -0
- package/templates/core-agents/finalization-agent.md +252 -0
- package/templates/core-agents/git-coordinator.md +240 -0
- package/templates/core-agents/implementation-agent.md +151 -0
- package/templates/core-agents/maestro-agent.md +413 -0
- package/templates/core-agents/maestro-headless-agent.md +422 -0
- package/templates/core-agents/plan-validator.md +198 -0
- package/templates/core-agents/quick-fix.md +56 -0
- package/templates/core-agents/routing-templates.md +338 -0
- package/templates/core-agents/task-orchestrator.md +143 -0
- package/templates/core-agents/task-prep.md +202 -0
- package/templates/core-agents/tdd-designer.md +143 -0
- package/templates/specialist-meta.md +275 -0
|
@@ -0,0 +1,144 @@
|
|
|
1
|
+
import fs from 'fs-extra';
|
|
2
|
+
import { logger } from '../utils/logger.js';
|
|
3
|
+
// Cache for project description to avoid repeated reads
|
|
4
|
+
let cachedProjectDescription = null;
|
|
5
|
+
/**
|
|
6
|
+
* Clear the cached project description (useful for testing).
|
|
7
|
+
*/
|
|
8
|
+
export function clearPromptCache() {
|
|
9
|
+
cachedProjectDescription = null;
|
|
10
|
+
}
|
|
11
|
+
export async function buildGenerationPrompt(config, specialist, projectDescription // Optional pre-loaded content
|
|
12
|
+
) {
|
|
13
|
+
// Use provided description or read from cache/file
|
|
14
|
+
let description;
|
|
15
|
+
if (projectDescription) {
|
|
16
|
+
description = projectDescription;
|
|
17
|
+
}
|
|
18
|
+
else if (cachedProjectDescription !== null) {
|
|
19
|
+
description = cachedProjectDescription;
|
|
20
|
+
logger.debug('Using cached project description');
|
|
21
|
+
}
|
|
22
|
+
else {
|
|
23
|
+
try {
|
|
24
|
+
description = await fs.readFile('.knowledge/context/project-description.md', 'utf-8');
|
|
25
|
+
cachedProjectDescription = description;
|
|
26
|
+
logger.debug('Loaded and cached project description');
|
|
27
|
+
}
|
|
28
|
+
catch (error) {
|
|
29
|
+
logger.debug('Failed to read project description', error);
|
|
30
|
+
description = 'Project description not found.';
|
|
31
|
+
}
|
|
32
|
+
}
|
|
33
|
+
// Read the full config for context
|
|
34
|
+
const configContent = config.rawContent || '';
|
|
35
|
+
if (specialist) {
|
|
36
|
+
return buildSpecialistPrompt(config, specialist, description, configContent);
|
|
37
|
+
}
|
|
38
|
+
// Overview prompt
|
|
39
|
+
return `
|
|
40
|
+
# Specialist Generation Request
|
|
41
|
+
|
|
42
|
+
## Project: ${config.projectName}
|
|
43
|
+
## Type: ${config.projectType}
|
|
44
|
+
## Languages: ${config.languages}
|
|
45
|
+
## Frameworks: ${config.frameworks}
|
|
46
|
+
|
|
47
|
+
## Project Description
|
|
48
|
+
${projectDescription}
|
|
49
|
+
|
|
50
|
+
## Specialists to Generate
|
|
51
|
+
${config.specialists.map(s => `- ${s.name}: ${s.focus}`).join('\n')}
|
|
52
|
+
`;
|
|
53
|
+
}
|
|
54
|
+
function buildSpecialistPrompt(config, specialist, projectDescription, configContent) {
|
|
55
|
+
return `
|
|
56
|
+
You are generating a specialist agent definition for the archai multi-agent system.
|
|
57
|
+
|
|
58
|
+
# Task
|
|
59
|
+
Generate a complete markdown agent definition file for a "${specialist.name}-specialist" agent.
|
|
60
|
+
|
|
61
|
+
# Project Context
|
|
62
|
+
- **Name**: ${config.projectName}
|
|
63
|
+
- **Type**: ${config.projectType}
|
|
64
|
+
- **Languages**: ${config.languages}
|
|
65
|
+
- **Frameworks**: ${config.frameworks}
|
|
66
|
+
- **Testing**: ${config.testing}
|
|
67
|
+
|
|
68
|
+
## Project Description
|
|
69
|
+
${projectDescription}
|
|
70
|
+
|
|
71
|
+
## Full Project Configuration
|
|
72
|
+
${configContent}
|
|
73
|
+
|
|
74
|
+
## Specialist Requirements
|
|
75
|
+
- **Name**: ${specialist.name}-specialist
|
|
76
|
+
- **Focus**: ${specialist.focus}
|
|
77
|
+
- **Key Concerns**:
|
|
78
|
+
${specialist.key_concerns.map(c => ` - ${c}`).join('\n') || ' - General best practices'}
|
|
79
|
+
|
|
80
|
+
---
|
|
81
|
+
|
|
82
|
+
# Output Format
|
|
83
|
+
|
|
84
|
+
Generate a complete agent definition following this structure:
|
|
85
|
+
|
|
86
|
+
\`\`\`markdown
|
|
87
|
+
---
|
|
88
|
+
name: ${specialist.name}-specialist
|
|
89
|
+
description: "[Brief description of when to use this specialist]"
|
|
90
|
+
tools: Read, Grep, Glob, Edit, Bash
|
|
91
|
+
model: sonnet
|
|
92
|
+
---
|
|
93
|
+
|
|
94
|
+
You are a {DOMAIN} expert specializing in {SPECIFIC_TECHNOLOGIES}.
|
|
95
|
+
|
|
96
|
+
## Project Context: ${config.projectName}
|
|
97
|
+
|
|
98
|
+
{Relevant project context}
|
|
99
|
+
|
|
100
|
+
**Stack relevant to this specialist:**
|
|
101
|
+
{List technologies this specialist works with}
|
|
102
|
+
|
|
103
|
+
**Key Files:**
|
|
104
|
+
{List files/directories this specialist focuses on}
|
|
105
|
+
|
|
106
|
+
## Domain Expertise
|
|
107
|
+
|
|
108
|
+
### Core Concepts
|
|
109
|
+
{Domain-specific concepts}
|
|
110
|
+
|
|
111
|
+
### Best Practices
|
|
112
|
+
{Patterns and practices}
|
|
113
|
+
|
|
114
|
+
### Common Pitfalls
|
|
115
|
+
{Things to avoid}
|
|
116
|
+
|
|
117
|
+
### Code Patterns
|
|
118
|
+
{Example patterns with code}
|
|
119
|
+
|
|
120
|
+
## When Working on {DOMAIN}
|
|
121
|
+
|
|
122
|
+
1. {Guidance 1}
|
|
123
|
+
2. {Guidance 2}
|
|
124
|
+
...
|
|
125
|
+
|
|
126
|
+
## Testing Approach
|
|
127
|
+
|
|
128
|
+
{How to test code in this domain}
|
|
129
|
+
|
|
130
|
+
## Output
|
|
131
|
+
|
|
132
|
+
When called for {DOMAIN} work, provide:
|
|
133
|
+
1. Domain-specific analysis
|
|
134
|
+
2. Recommended patterns
|
|
135
|
+
3. Pitfall warnings
|
|
136
|
+
4. Testing strategy
|
|
137
|
+
\`\`\`
|
|
138
|
+
|
|
139
|
+
IMPORTANT: Output ONLY the markdown content starting with --- frontmatter. Do not include any explanation before or after. The output should be ready to save directly to a .md file.
|
|
140
|
+
|
|
141
|
+
Generate the complete agent definition now. Be specific to the project and technologies. Include real, practical guidance.
|
|
142
|
+
`;
|
|
143
|
+
}
|
|
144
|
+
//# sourceMappingURL=prompt-builder.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"prompt-builder.js","sourceRoot":"","sources":["../../src/generator/prompt-builder.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,UAAU,CAAC;AAE1B,OAAO,EAAE,MAAM,EAAE,MAAM,oBAAoB,CAAC;AAE5C,wDAAwD;AACxD,IAAI,wBAAwB,GAAkB,IAAI,CAAC;AAEnD;;GAEG;AACH,MAAM,UAAU,gBAAgB;IAC9B,wBAAwB,GAAG,IAAI,CAAC;AAClC,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,qBAAqB,CACzC,MAAc,EACd,UAAuB,EACvB,kBAA2B,CAAE,8BAA8B;;IAE3D,mDAAmD;IACnD,IAAI,WAAmB,CAAC;IAExB,IAAI,kBAAkB,EAAE,CAAC;QACvB,WAAW,GAAG,kBAAkB,CAAC;IACnC,CAAC;SAAM,IAAI,wBAAwB,KAAK,IAAI,EAAE,CAAC;QAC7C,WAAW,GAAG,wBAAwB,CAAC;QACvC,MAAM,CAAC,KAAK,CAAC,kCAAkC,CAAC,CAAC;IACnD,CAAC;SAAM,CAAC;QACN,IAAI,CAAC;YACH,WAAW,GAAG,MAAM,EAAE,CAAC,QAAQ,CAAC,2CAA2C,EAAE,OAAO,CAAC,CAAC;YACtF,wBAAwB,GAAG,WAAW,CAAC;YACvC,MAAM,CAAC,KAAK,CAAC,uCAAuC,CAAC,CAAC;QACxD,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,MAAM,CAAC,KAAK,CAAC,oCAAoC,EAAE,KAAK,CAAC,CAAC;YAC1D,WAAW,GAAG,gCAAgC,CAAC;QACjD,CAAC;IACH,CAAC;IAED,mCAAmC;IACnC,MAAM,aAAa,GAAG,MAAM,CAAC,UAAU,IAAI,EAAE,CAAC;IAE9C,IAAI,UAAU,EAAE,CAAC;QACf,OAAO,qBAAqB,CAAC,MAAM,EAAE,UAAU,EAAE,WAAW,EAAE,aAAa,CAAC,CAAC;IAC/E,CAAC;IAED,kBAAkB;IAClB,OAAO;;;cAGK,MAAM,CAAC,WAAW;WACrB,MAAM,CAAC,WAAW;gBACb,MAAM,CAAC,SAAS;iBACf,MAAM,CAAC,UAAU;;;EAGhC,kBAAkB;;;EAGlB,MAAM,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC,IAAI,KAAK,CAAC,CAAC,KAAK,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC;CAClE,CAAC;AACF,CAAC;AAED,SAAS,qBAAqB,CAC5B,MAAc,EACd,UAAsB,EACtB,kBAA0B,EAC1B,aAAqB;IAErB,OAAO;;;;4DAImD,UAAU,CAAC,IAAI;;;cAG7D,MAAM,CAAC,WAAW;cAClB,MAAM,CAAC,WAAW;mBACb,MAAM,CAAC,SAAS;oBACf,MAAM,CAAC,UAAU;iBACpB,MAAM,CAAC,OAAO;;;EAG7B,kBAAkB;;;EAGlB,aAAa;;;cAGD,UAAU,CAAC,IAAI;eACd,UAAU,CAAC,KAAK;;EAE7B,UAAU,CAAC,YAAY,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,4BAA4B;;;;;;;;;;QAUjF,UAAU,CAAC,IAAI;;;;;;;;sBAQD,MAAM,CAAC,WAAW;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CA8CvC,CAAC;AACF,CAAC"}
|
package/dist/index.d.ts
ADDED
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
export { init } from './commands/init.js';
|
|
2
|
+
export { generate } from './commands/generate.js';
|
|
3
|
+
export { doctor } from './commands/doctor.js';
|
|
4
|
+
export { setupProject } from './commands/setup-project.js';
|
|
5
|
+
export { setupConfig } from './commands/setup-config.js';
|
|
6
|
+
export { uninstall } from './commands/uninstall.js';
|
|
7
|
+
export { update } from './commands/update.js';
|
|
8
|
+
export { rollback, type RollbackOptions } from './commands/rollback.js';
|
|
9
|
+
export { cleanup, type CleanupOptions } from './commands/cleanup.js';
|
|
10
|
+
export { dispatch } from './commands/dispatch.js';
|
|
11
|
+
export { worktreeCreate, worktreeList, worktreeCleanup, } from './commands/worktree.js';
|
|
12
|
+
export { knowledgeCreate, knowledgeJoin, knowledgeLeave, knowledgeList, validateGroupName, } from './commands/knowledge.js';
|
|
13
|
+
export { readClaudeSettings, writeClaudeSettings, readSettingsLocal, readMcpJson, addMcpServer, removeMcpServer, addAllowPermission, removeAllowPermission, } from './utils/merge-claude-settings.js';
|
|
14
|
+
export { startKnowledgeMcpServer } from './mcp/knowledge-server.js';
|
|
15
|
+
export { scaffoldProject } from './scaffold/create-structure.js';
|
|
16
|
+
export { copyCoreAgents } from './scaffold/copy-core-agents.js';
|
|
17
|
+
export { createConfigTemplate } from './scaffold/create-config.js';
|
|
18
|
+
export { createProjectDescription } from './scaffold/create-project-description.js';
|
|
19
|
+
export { createClaudeSettings } from './scaffold/create-claude-settings.js';
|
|
20
|
+
export { detectProject } from './utils/detect-project.js';
|
|
21
|
+
export { validateConfig } from './utils/validate-config.js';
|
|
22
|
+
export { logger } from './utils/logger.js';
|
|
23
|
+
export { backupIfExists, restoreFromBackup, cleanupOldBackups, createBackup, restoreBackupFull, listBackups, pruneOldBackups, getLatestBackup, backupExists, getBackupsDir, type BackupManifest, type BackupFileEntry, type BackupInfo, type BackupResult, type RestoreResult, } from './utils/backup.js';
|
|
24
|
+
export { loadVersionFile, saveVersionFile, createVersionFile, updateVersionInfo, updateFileHash, markAsGenerated, removeFile, getFileRecord, getBaseHash, isFileGenerated, getTrackedFiles, getExpectedFiles, setExpectedFiles, addExpectedFile, removeExpectedFile, getMissingFiles, getOrphanedFiles, getGeneratedFiles, versionFileExists, normalizePath, bulkUpdateFileHashes, createFromInstall, getVersionFilePath, CURRENT_SCHEMA_VERSION, VERSION_FILE, type FileRecord, type VersionFile, } from './utils/version-tracker.js';
|
|
25
|
+
export { detectLegacyInstall, hasExistingInstall, migrateFromLegacy, ensureMigrated, getTemplateHashes, getTemplateFiles, getTemplatePath, getArchaiVersion, getCustomFiles, getTemplatesDir, getCoreAgentsTemplatesDir, type MigrationResult, type TemplateFile, } from './utils/migration.js';
|
|
26
|
+
export { analyzeAllFiles } from './utils/analyze-files.js';
|
|
27
|
+
export { parseTaskFile, serializeTaskFile, sortByPriority, validateTransition, findTaskFile, moveTask, blockTask, listTasks, listInbox, getStatusForDirectory, getDirectoryForStatus, PRIORITY_ORDER, ALLOWED_TRANSITIONS, } from './utils/task-lifecycle.js';
|
|
28
|
+
export { buildGenerationPrompt, clearPromptCache } from './generator/prompt-builder.js';
|
|
29
|
+
export { runClaudeCli, checkClaudeCliAvailable, getClaudeVersion, getClaudeCliInfo } from './generator/claude-cli.js';
|
|
30
|
+
export { detectGitRepo, isWorktree, discoverGitDefaults, validateGitignore, fixGitignore, } from './utils/detect-git.js';
|
|
31
|
+
export { sanitize, bootstrapWorktree, createWorktree, removeWorktree, listWorktrees, isInsideWorktree, getMainWorktreePath, pruneWorktrees, detectStaleWorktrees, } from './utils/worktree.js';
|
|
32
|
+
export { detectCIProvider, createCIProvider, getCIProvider, normalizeGitHubStatus, normalizeGitLabStatus, } from './utils/ci-provider.js';
|
|
33
|
+
export type { Specialist, Config, ValidationResult, DetectedProject, WizardAnswers, PermissionPreset, PermissionConfig, ClaudeCliInfo, InitOptions, GenerateOptions, UninstallOptions, UpdateOptions, RollbackContext, KnowledgeGroup, WorktreeInfo, GitConfig, GitignoreValidation, SetupOptions, McpServer, TaskManagerProvider, McpBoard, McpConceptMapping, McpIntrospectionResult, McpConfig, DispatchOptions, } from './types/index.js';
|
|
34
|
+
export type { TaskPriority, TaskStatus, TaskFrontmatter, TaskSpec, } from './types/index.js';
|
|
35
|
+
export type { CIProviderName, CIPipelineStatusValue, CIDetectedVia, CIAuthMethod, CIProviderConfig, CIPipelineStatus, CIJobLog, CIPipelineLogs, CIWaitOptions, CIWaitResult, CIDetectionResult, CIProvider, } from './types/index.js';
|
|
36
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,IAAI,EAAE,MAAM,oBAAoB,CAAC;AAC1C,OAAO,EAAE,QAAQ,EAAE,MAAM,wBAAwB,CAAC;AAClD,OAAO,EAAE,MAAM,EAAE,MAAM,sBAAsB,CAAC;AAC9C,OAAO,EAAE,YAAY,EAAE,MAAM,6BAA6B,CAAC;AAC3D,OAAO,EAAE,WAAW,EAAE,MAAM,4BAA4B,CAAC;AACzD,OAAO,EAAE,SAAS,EAAE,MAAM,yBAAyB,CAAC;AACpD,OAAO,EAAE,MAAM,EAAE,MAAM,sBAAsB,CAAC;AAC9C,OAAO,EAAE,QAAQ,EAAE,KAAK,eAAe,EAAE,MAAM,wBAAwB,CAAC;AACxE,OAAO,EAAE,OAAO,EAAE,KAAK,cAAc,EAAE,MAAM,uBAAuB,CAAC;AACrE,OAAO,EAAE,QAAQ,EAAE,MAAM,wBAAwB,CAAC;AAGlD,OAAO,EACL,cAAc,EACd,YAAY,EACZ,eAAe,GAChB,MAAM,wBAAwB,CAAC;AAGhC,OAAO,EACL,eAAe,EACf,aAAa,EACb,cAAc,EACd,aAAa,EACb,iBAAiB,GAClB,MAAM,yBAAyB,CAAC;AAEjC,OAAO,EACL,kBAAkB,EAClB,mBAAmB,EACnB,iBAAiB,EACjB,WAAW,EACX,YAAY,EACZ,eAAe,EACf,kBAAkB,EAClB,qBAAqB,GACtB,MAAM,kCAAkC,CAAC;AAE1C,OAAO,EAAE,uBAAuB,EAAE,MAAM,2BAA2B,CAAC;AAGpE,OAAO,EAAE,eAAe,EAAE,MAAM,gCAAgC,CAAC;AACjE,OAAO,EAAE,cAAc,EAAE,MAAM,gCAAgC,CAAC;AAChE,OAAO,EAAE,oBAAoB,EAAE,MAAM,6BAA6B,CAAC;AACnE,OAAO,EAAE,wBAAwB,EAAE,MAAM,0CAA0C,CAAC;AACpF,OAAO,EAAE,oBAAoB,EAAE,MAAM,sCAAsC,CAAC;AAG5E,OAAO,EAAE,aAAa,EAAE,MAAM,2BAA2B,CAAC;AAC1D,OAAO,EAAE,cAAc,EAAE,MAAM,4BAA4B,CAAC;AAC5D,OAAO,EAAE,MAAM,EAAE,MAAM,mBAAmB,CAAC;AAC3C,OAAO,EACL,cAAc,EACd,iBAAiB,EACjB,iBAAiB,EACjB,YAAY,EACZ,iBAAiB,EACjB,WAAW,EACX,eAAe,EACf,eAAe,EACf,YAAY,EACZ,aAAa,EACb,KAAK,cAAc,EACnB,KAAK,eAAe,EACpB,KAAK,UAAU,EACf,KAAK,YAAY,EACjB,KAAK,aAAa,GACnB,MAAM,mBAAmB,CAAC;AAC3B,OAAO,EACL,eAAe,EACf,eAAe,EACf,iBAAiB,EACjB,iBAAiB,EACjB,cAAc,EACd,eAAe,EACf,UAAU,EACV,aAAa,EACb,WAAW,EACX,eAAe,EACf,eAAe,EACf,gBAAgB,EAChB,gBAAgB,EAChB,eAAe,EACf,kBAAkB,EAClB,eAAe,EACf,gBAAgB,EAChB,iBAAiB,EACjB,iBAAiB,EACjB,aAAa,EACb,oBAAoB,EACpB,iBAAiB,EACjB,kBAAkB,EAClB,sBAAsB,EACtB,YAAY,EACZ,KAAK,UAAU,EACf,KAAK,WAAW,GACjB,MAAM,4BAA4B,CAAC;AACpC,OAAO,EACL,mBAAmB,EACnB,kBAAkB,EAClB,iBAAiB,EACjB,cAAc,EACd,iBAAiB,EACjB,gBAAgB,EAChB,eAAe,EACf,gBAAgB,EAChB,cAAc,EACd,eAAe,EACf,yBAAyB,EACzB,KAAK,eAAe,EACpB,KAAK,YAAY,GAClB,MAAM,sBAAsB,CAAC;AAG9B,OAAO,EAAE,eAAe,EAAE,MAAM,0BAA0B,CAAC;AAC3D,OAAO,EACL,aAAa,EACb,iBAAiB,EACjB,cAAc,EACd,kBAAkB,EAClB,YAAY,EACZ,QAAQ,EACR,SAAS,EACT,SAAS,EACT,SAAS,EACT,qBAAqB,EACrB,qBAAqB,EACrB,cAAc,EACd,mBAAmB,GACpB,MAAM,2BAA2B,CAAC;AAGnC,OAAO,EAAE,qBAAqB,EAAE,gBAAgB,EAAE,MAAM,+BAA+B,CAAC;AACxF,OAAO,EAAE,YAAY,EAAE,uBAAuB,EAAE,gBAAgB,EAAE,gBAAgB,EAAE,MAAM,2BAA2B,CAAC;AAGtH,OAAO,EACL,aAAa,EACb,UAAU,EACV,mBAAmB,EACnB,iBAAiB,EACjB,YAAY,GACb,MAAM,uBAAuB,CAAC;AAG/B,OAAO,EACL,QAAQ,EACR,iBAAiB,EACjB,cAAc,EACd,cAAc,EACd,aAAa,EACb,gBAAgB,EAChB,mBAAmB,EACnB,cAAc,EACd,oBAAoB,GACrB,MAAM,qBAAqB,CAAC;AAG7B,OAAO,EACL,gBAAgB,EAChB,gBAAgB,EAChB,aAAa,EACb,qBAAqB,EACrB,qBAAqB,GACtB,MAAM,wBAAwB,CAAC;AAGhC,YAAY,EACV,UAAU,EACV,MAAM,EACN,gBAAgB,EAChB,eAAe,EACf,aAAa,EACb,gBAAgB,EAChB,gBAAgB,EAChB,aAAa,EACb,WAAW,EACX,eAAe,EACf,gBAAgB,EAChB,aAAa,EACb,eAAe,EACf,cAAc,EACd,YAAY,EACZ,SAAS,EACT,mBAAmB,EACnB,YAAY,EACZ,SAAS,EACT,mBAAmB,EACnB,QAAQ,EACR,iBAAiB,EACjB,sBAAsB,EACtB,SAAS,EACT,eAAe,GAChB,MAAM,kBAAkB,CAAC;AAE1B,YAAY,EACV,YAAY,EACZ,UAAU,EACV,eAAe,EACf,QAAQ,GACT,MAAM,kBAAkB,CAAC;AAE1B,YAAY,EACV,cAAc,EACd,qBAAqB,EACrB,aAAa,EACb,YAAY,EACZ,gBAAgB,EAChB,gBAAgB,EAChB,QAAQ,EACR,cAAc,EACd,aAAa,EACb,YAAY,EACZ,iBAAiB,EACjB,UAAU,GACX,MAAM,kBAAkB,CAAC"}
|
package/dist/index.js
ADDED
|
@@ -0,0 +1,45 @@
|
|
|
1
|
+
// archai - Multi-Agent Development Workflow Setup
|
|
2
|
+
// https://github.com/xxx/archai
|
|
3
|
+
// Commands
|
|
4
|
+
export { init } from './commands/init.js';
|
|
5
|
+
export { generate } from './commands/generate.js';
|
|
6
|
+
export { doctor } from './commands/doctor.js';
|
|
7
|
+
export { setupProject } from './commands/setup-project.js';
|
|
8
|
+
export { setupConfig } from './commands/setup-config.js';
|
|
9
|
+
export { uninstall } from './commands/uninstall.js';
|
|
10
|
+
export { update } from './commands/update.js';
|
|
11
|
+
export { rollback } from './commands/rollback.js';
|
|
12
|
+
export { cleanup } from './commands/cleanup.js';
|
|
13
|
+
export { dispatch } from './commands/dispatch.js';
|
|
14
|
+
// Worktree CLI commands
|
|
15
|
+
export { worktreeCreate, worktreeList, worktreeCleanup, } from './commands/worktree.js';
|
|
16
|
+
// Knowledge group management
|
|
17
|
+
export { knowledgeCreate, knowledgeJoin, knowledgeLeave, knowledgeList, validateGroupName, } from './commands/knowledge.js';
|
|
18
|
+
export { readClaudeSettings, writeClaudeSettings, readSettingsLocal, readMcpJson, addMcpServer, removeMcpServer, addAllowPermission, removeAllowPermission, } from './utils/merge-claude-settings.js';
|
|
19
|
+
export { startKnowledgeMcpServer } from './mcp/knowledge-server.js';
|
|
20
|
+
// Scaffold functions
|
|
21
|
+
export { scaffoldProject } from './scaffold/create-structure.js';
|
|
22
|
+
export { copyCoreAgents } from './scaffold/copy-core-agents.js';
|
|
23
|
+
export { createConfigTemplate } from './scaffold/create-config.js';
|
|
24
|
+
export { createProjectDescription } from './scaffold/create-project-description.js';
|
|
25
|
+
export { createClaudeSettings } from './scaffold/create-claude-settings.js';
|
|
26
|
+
// Utilities
|
|
27
|
+
export { detectProject } from './utils/detect-project.js';
|
|
28
|
+
export { validateConfig } from './utils/validate-config.js';
|
|
29
|
+
export { logger } from './utils/logger.js';
|
|
30
|
+
export { backupIfExists, restoreFromBackup, cleanupOldBackups, createBackup, restoreBackupFull, listBackups, pruneOldBackups, getLatestBackup, backupExists, getBackupsDir, } from './utils/backup.js';
|
|
31
|
+
export { loadVersionFile, saveVersionFile, createVersionFile, updateVersionInfo, updateFileHash, markAsGenerated, removeFile, getFileRecord, getBaseHash, isFileGenerated, getTrackedFiles, getExpectedFiles, setExpectedFiles, addExpectedFile, removeExpectedFile, getMissingFiles, getOrphanedFiles, getGeneratedFiles, versionFileExists, normalizePath, bulkUpdateFileHashes, createFromInstall, getVersionFilePath, CURRENT_SCHEMA_VERSION, VERSION_FILE, } from './utils/version-tracker.js';
|
|
32
|
+
export { detectLegacyInstall, hasExistingInstall, migrateFromLegacy, ensureMigrated, getTemplateHashes, getTemplateFiles, getTemplatePath, getArchaiVersion, getCustomFiles, getTemplatesDir, getCoreAgentsTemplatesDir, } from './utils/migration.js';
|
|
33
|
+
// Analysis
|
|
34
|
+
export { analyzeAllFiles } from './utils/analyze-files.js';
|
|
35
|
+
export { parseTaskFile, serializeTaskFile, sortByPriority, validateTransition, findTaskFile, moveTask, blockTask, listTasks, listInbox, getStatusForDirectory, getDirectoryForStatus, PRIORITY_ORDER, ALLOWED_TRANSITIONS, } from './utils/task-lifecycle.js';
|
|
36
|
+
// Generator
|
|
37
|
+
export { buildGenerationPrompt, clearPromptCache } from './generator/prompt-builder.js';
|
|
38
|
+
export { runClaudeCli, checkClaudeCliAvailable, getClaudeVersion, getClaudeCliInfo } from './generator/claude-cli.js';
|
|
39
|
+
// Git detection
|
|
40
|
+
export { detectGitRepo, isWorktree, discoverGitDefaults, validateGitignore, fixGitignore, } from './utils/detect-git.js';
|
|
41
|
+
// Worktree management
|
|
42
|
+
export { sanitize, bootstrapWorktree, createWorktree, removeWorktree, listWorktrees, isInsideWorktree, getMainWorktreePath, pruneWorktrees, detectStaleWorktrees, } from './utils/worktree.js';
|
|
43
|
+
// CI provider detection and management
|
|
44
|
+
export { detectCIProvider, createCIProvider, getCIProvider, normalizeGitHubStatus, normalizeGitLabStatus, } from './utils/ci-provider.js';
|
|
45
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,53 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Embedding engine for semantic search.
|
|
3
|
+
* Uses @huggingface/transformers with Xenova/all-MiniLM-L6-v2 for local embeddings.
|
|
4
|
+
* No API keys needed — runs entirely locally via WASM/ONNX.
|
|
5
|
+
*/
|
|
6
|
+
/**
|
|
7
|
+
* Abstract embedding engine interface.
|
|
8
|
+
* Implementations can use different models or backends.
|
|
9
|
+
*/
|
|
10
|
+
export interface EmbeddingEngine {
|
|
11
|
+
/** Embed a single text string into a vector. */
|
|
12
|
+
embed(text: string): Promise<number[]>;
|
|
13
|
+
/** Embed multiple texts into vectors. */
|
|
14
|
+
embedBatch(texts: string[]): Promise<number[][]>;
|
|
15
|
+
/** Number of dimensions in the output vectors. */
|
|
16
|
+
readonly dimensions: number;
|
|
17
|
+
/** Model identifier. */
|
|
18
|
+
readonly modelName: string;
|
|
19
|
+
/** Whether the engine is initialized and ready to embed. */
|
|
20
|
+
readonly isReady: boolean;
|
|
21
|
+
}
|
|
22
|
+
/**
|
|
23
|
+
* Local embedding engine using @huggingface/transformers.
|
|
24
|
+
*
|
|
25
|
+
* - Model: Xenova/all-MiniLM-L6-v2 (384-dimensional, ~25MB)
|
|
26
|
+
* - Pooling: mean, normalized
|
|
27
|
+
* - Loads via dynamic import — gracefully handles missing package
|
|
28
|
+
* - Model cached after first download (subsequent loads ~200ms)
|
|
29
|
+
*/
|
|
30
|
+
export declare class LocalEmbeddingEngine implements EmbeddingEngine {
|
|
31
|
+
private extractor;
|
|
32
|
+
readonly dimensions = 384;
|
|
33
|
+
readonly modelName = "all-MiniLM-L6-v2";
|
|
34
|
+
get isReady(): boolean;
|
|
35
|
+
/**
|
|
36
|
+
* Initialize the embedding engine.
|
|
37
|
+
* Downloads the model on first run (~25MB).
|
|
38
|
+
* Never throws — sets isReady=false on failure.
|
|
39
|
+
*/
|
|
40
|
+
initialize(): Promise<void>;
|
|
41
|
+
/**
|
|
42
|
+
* Embed a single text string.
|
|
43
|
+
* @throws if engine is not initialized
|
|
44
|
+
*/
|
|
45
|
+
embed(text: string): Promise<number[]>;
|
|
46
|
+
/**
|
|
47
|
+
* Embed multiple texts sequentially.
|
|
48
|
+
* At our scale (50-500 entries), sequential is fast enough and simpler.
|
|
49
|
+
* @throws if engine is not initialized
|
|
50
|
+
*/
|
|
51
|
+
embedBatch(texts: string[]): Promise<number[][]>;
|
|
52
|
+
}
|
|
53
|
+
//# sourceMappingURL=embeddings.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"embeddings.d.ts","sourceRoot":"","sources":["../../src/mcp/embeddings.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH;;;GAGG;AACH,MAAM,WAAW,eAAe;IAC9B,gDAAgD;IAChD,KAAK,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC,CAAC;IACvC,yCAAyC;IACzC,UAAU,CAAC,KAAK,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC;IACjD,kDAAkD;IAClD,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC;IAC5B,wBAAwB;IACxB,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;IAC3B,4DAA4D;IAC5D,QAAQ,CAAC,OAAO,EAAE,OAAO,CAAC;CAC3B;AAED;;;;;;;GAOG;AACH,qBAAa,oBAAqB,YAAW,eAAe;IAC1D,OAAO,CAAC,SAAS,CAAa;IAC9B,QAAQ,CAAC,UAAU,OAAO;IAC1B,QAAQ,CAAC,SAAS,sBAAsB;IAExC,IAAI,OAAO,IAAI,OAAO,CAErB;IAED;;;;OAIG;IACG,UAAU,IAAI,OAAO,CAAC,IAAI,CAAC;IAkBjC;;;OAGG;IACG,KAAK,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC;IAW5C;;;;OAIG;IACG,UAAU,CAAC,KAAK,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,MAAM,EAAE,EAAE,CAAC;CAUvD"}
|
|
@@ -0,0 +1,68 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Embedding engine for semantic search.
|
|
3
|
+
* Uses @huggingface/transformers with Xenova/all-MiniLM-L6-v2 for local embeddings.
|
|
4
|
+
* No API keys needed — runs entirely locally via WASM/ONNX.
|
|
5
|
+
*/
|
|
6
|
+
/**
|
|
7
|
+
* Local embedding engine using @huggingface/transformers.
|
|
8
|
+
*
|
|
9
|
+
* - Model: Xenova/all-MiniLM-L6-v2 (384-dimensional, ~25MB)
|
|
10
|
+
* - Pooling: mean, normalized
|
|
11
|
+
* - Loads via dynamic import — gracefully handles missing package
|
|
12
|
+
* - Model cached after first download (subsequent loads ~200ms)
|
|
13
|
+
*/
|
|
14
|
+
export class LocalEmbeddingEngine {
|
|
15
|
+
extractor = null;
|
|
16
|
+
dimensions = 384;
|
|
17
|
+
modelName = 'all-MiniLM-L6-v2';
|
|
18
|
+
get isReady() {
|
|
19
|
+
return this.extractor !== null;
|
|
20
|
+
}
|
|
21
|
+
/**
|
|
22
|
+
* Initialize the embedding engine.
|
|
23
|
+
* Downloads the model on first run (~25MB).
|
|
24
|
+
* Never throws — sets isReady=false on failure.
|
|
25
|
+
*/
|
|
26
|
+
async initialize() {
|
|
27
|
+
try {
|
|
28
|
+
const { pipeline } = await import('@huggingface/transformers');
|
|
29
|
+
this.extractor = await pipeline('feature-extraction', 'Xenova/all-MiniLM-L6-v2', { dtype: 'fp32' });
|
|
30
|
+
}
|
|
31
|
+
catch (err) {
|
|
32
|
+
const message = err instanceof Error ? err.message : String(err);
|
|
33
|
+
process.stderr.write('Embedding model initialization failed. Semantic search unavailable — using keyword search only. ' +
|
|
34
|
+
'Reason: ' + message + '\n');
|
|
35
|
+
this.extractor = null;
|
|
36
|
+
}
|
|
37
|
+
}
|
|
38
|
+
/**
|
|
39
|
+
* Embed a single text string.
|
|
40
|
+
* @throws if engine is not initialized
|
|
41
|
+
*/
|
|
42
|
+
async embed(text) {
|
|
43
|
+
if (!this.extractor) {
|
|
44
|
+
throw new Error('Embedding engine not initialized');
|
|
45
|
+
}
|
|
46
|
+
const result = await this.extractor(text, {
|
|
47
|
+
pooling: 'mean',
|
|
48
|
+
normalize: true,
|
|
49
|
+
});
|
|
50
|
+
return Array.from(result.data);
|
|
51
|
+
}
|
|
52
|
+
/**
|
|
53
|
+
* Embed multiple texts sequentially.
|
|
54
|
+
* At our scale (50-500 entries), sequential is fast enough and simpler.
|
|
55
|
+
* @throws if engine is not initialized
|
|
56
|
+
*/
|
|
57
|
+
async embedBatch(texts) {
|
|
58
|
+
if (!this.extractor) {
|
|
59
|
+
throw new Error('Embedding engine not initialized');
|
|
60
|
+
}
|
|
61
|
+
const vectors = [];
|
|
62
|
+
for (const text of texts) {
|
|
63
|
+
vectors.push(await this.embed(text));
|
|
64
|
+
}
|
|
65
|
+
return vectors;
|
|
66
|
+
}
|
|
67
|
+
}
|
|
68
|
+
//# sourceMappingURL=embeddings.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"embeddings.js","sourceRoot":"","sources":["../../src/mcp/embeddings.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAmBH;;;;;;;GAOG;AACH,MAAM,OAAO,oBAAoB;IACvB,SAAS,GAAQ,IAAI,CAAC;IACrB,UAAU,GAAG,GAAG,CAAC;IACjB,SAAS,GAAG,kBAAkB,CAAC;IAExC,IAAI,OAAO;QACT,OAAO,IAAI,CAAC,SAAS,KAAK,IAAI,CAAC;IACjC,CAAC;IAED;;;;OAIG;IACH,KAAK,CAAC,UAAU;QACd,IAAI,CAAC;YACH,MAAM,EAAE,QAAQ,EAAE,GAAG,MAAM,MAAM,CAAC,2BAA2B,CAAC,CAAC;YAC/D,IAAI,CAAC,SAAS,GAAG,MAAM,QAAQ,CAC7B,oBAAoB,EACpB,yBAAyB,EACzB,EAAE,KAAK,EAAE,MAAM,EAAS,CACzB,CAAC;QACJ,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,MAAM,OAAO,GAAG,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;YACjE,OAAO,CAAC,MAAM,CAAC,KAAK,CAClB,kGAAkG;gBAClG,UAAU,GAAG,OAAO,GAAG,IAAI,CAC5B,CAAC;YACF,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC;QACxB,CAAC;IACH,CAAC;IAED;;;OAGG;IACH,KAAK,CAAC,KAAK,CAAC,IAAY;QACtB,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,CAAC;YACpB,MAAM,IAAI,KAAK,CAAC,kCAAkC,CAAC,CAAC;QACtD,CAAC;QACD,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,SAAS,CAAC,IAAI,EAAE;YACxC,OAAO,EAAE,MAAM;YACf,SAAS,EAAE,IAAI;SAChB,CAAC,CAAC;QACH,OAAO,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,IAAoB,CAAC,CAAC;IACjD,CAAC;IAED;;;;OAIG;IACH,KAAK,CAAC,UAAU,CAAC,KAAe;QAC9B,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,CAAC;YACpB,MAAM,IAAI,KAAK,CAAC,kCAAkC,CAAC,CAAC;QACtD,CAAC;QACD,MAAM,OAAO,GAAe,EAAE,CAAC;QAC/B,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;YACzB,OAAO,CAAC,IAAI,CAAC,MAAM,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC;QACvC,CAAC;QACD,OAAO,OAAO,CAAC;IACjB,CAAC;CACF"}
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Hybrid search combining keyword (FTS5) and semantic (cosine similarity) results.
|
|
3
|
+
* Uses Reciprocal Rank Fusion (RRF) to merge rankings from both engines.
|
|
4
|
+
*/
|
|
5
|
+
import type { SearchIndex, SearchResult } from "./search-index.js";
|
|
6
|
+
import type { VectorStore } from "./vector-store.js";
|
|
7
|
+
import type { EmbeddingEngine } from "./embeddings.js";
|
|
8
|
+
/**
|
|
9
|
+
* Merge multiple ranked result lists using Reciprocal Rank Fusion.
|
|
10
|
+
* RRF score = sum(1 / (k + rank + 1)) across all lists containing the result.
|
|
11
|
+
* Higher k dampens the effect of high ranks (k=60 is standard).
|
|
12
|
+
*/
|
|
13
|
+
export declare function reciprocalRankFusion(resultSets: SearchResult[][], opts: {
|
|
14
|
+
k: number;
|
|
15
|
+
limit: number;
|
|
16
|
+
}): SearchResult[];
|
|
17
|
+
/**
|
|
18
|
+
* Perform hybrid search combining keyword and semantic results.
|
|
19
|
+
* Falls back gracefully to keyword-only if embedding engine is not ready.
|
|
20
|
+
*/
|
|
21
|
+
export declare function hybridSearch(query: string, searchIndex: SearchIndex, vectorStore: VectorStore, embeddingEngine: EmbeddingEngine, options: {
|
|
22
|
+
limit?: number;
|
|
23
|
+
category?: string;
|
|
24
|
+
}): Promise<SearchResult[]>;
|
|
25
|
+
//# sourceMappingURL=hybrid-search.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"hybrid-search.d.ts","sourceRoot":"","sources":["../../src/mcp/hybrid-search.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,KAAK,EAAE,WAAW,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AACnE,OAAO,KAAK,EAAE,WAAW,EAAsB,MAAM,mBAAmB,CAAC;AACzE,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,iBAAiB,CAAC;AAEvD;;;;GAIG;AACH,wBAAgB,oBAAoB,CAClC,UAAU,EAAE,YAAY,EAAE,EAAE,EAC5B,IAAI,EAAE;IAAE,CAAC,EAAE,MAAM,CAAC;IAAC,KAAK,EAAE,MAAM,CAAA;CAAE,GACjC,YAAY,EAAE,CAyBhB;AAeD;;;GAGG;AACH,wBAAsB,YAAY,CAChC,KAAK,EAAE,MAAM,EACb,WAAW,EAAE,WAAW,EACxB,WAAW,EAAE,WAAW,EACxB,eAAe,EAAE,eAAe,EAChC,OAAO,EAAE;IAAE,KAAK,CAAC,EAAE,MAAM,CAAC;IAAC,QAAQ,CAAC,EAAE,MAAM,CAAA;CAAE,GAC7C,OAAO,CAAC,YAAY,EAAE,CAAC,CAyBzB"}
|
|
@@ -0,0 +1,72 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Hybrid search combining keyword (FTS5) and semantic (cosine similarity) results.
|
|
3
|
+
* Uses Reciprocal Rank Fusion (RRF) to merge rankings from both engines.
|
|
4
|
+
*/
|
|
5
|
+
/**
|
|
6
|
+
* Merge multiple ranked result lists using Reciprocal Rank Fusion.
|
|
7
|
+
* RRF score = sum(1 / (k + rank + 1)) across all lists containing the result.
|
|
8
|
+
* Higher k dampens the effect of high ranks (k=60 is standard).
|
|
9
|
+
*/
|
|
10
|
+
export function reciprocalRankFusion(resultSets, opts) {
|
|
11
|
+
const scores = new Map();
|
|
12
|
+
for (const results of resultSets) {
|
|
13
|
+
results.forEach((result, rank) => {
|
|
14
|
+
const rrfScore = 1 / (opts.k + rank + 1);
|
|
15
|
+
const current = scores.get(result.id);
|
|
16
|
+
if (current) {
|
|
17
|
+
current.score += rrfScore;
|
|
18
|
+
// Prefer keyword snippet (has match context from FTS5)
|
|
19
|
+
if (!current.hasKeywordSnippet && result.snippet && result.snippet.includes(">>")) {
|
|
20
|
+
current.entry = { ...current.entry, snippet: result.snippet };
|
|
21
|
+
current.hasKeywordSnippet = true;
|
|
22
|
+
}
|
|
23
|
+
}
|
|
24
|
+
else {
|
|
25
|
+
const hasKeywordSnippet = !!(result.snippet && result.snippet.includes(">>"));
|
|
26
|
+
scores.set(result.id, { score: rrfScore, entry: result, hasKeywordSnippet });
|
|
27
|
+
}
|
|
28
|
+
});
|
|
29
|
+
}
|
|
30
|
+
return [...scores.values()]
|
|
31
|
+
.sort((a, b) => b.score - a.score)
|
|
32
|
+
.slice(0, opts.limit)
|
|
33
|
+
.map(({ entry, score }) => ({ ...entry, score }));
|
|
34
|
+
}
|
|
35
|
+
/**
|
|
36
|
+
* Convert vector search results to the standard SearchResult format.
|
|
37
|
+
*/
|
|
38
|
+
function vectorToSearchResults(results) {
|
|
39
|
+
return results.map(r => ({
|
|
40
|
+
id: r.id,
|
|
41
|
+
title: r.title,
|
|
42
|
+
category: r.category,
|
|
43
|
+
snippet: r.snippet,
|
|
44
|
+
score: r.score,
|
|
45
|
+
}));
|
|
46
|
+
}
|
|
47
|
+
/**
|
|
48
|
+
* Perform hybrid search combining keyword and semantic results.
|
|
49
|
+
* Falls back gracefully to keyword-only if embedding engine is not ready.
|
|
50
|
+
*/
|
|
51
|
+
export async function hybridSearch(query, searchIndex, vectorStore, embeddingEngine, options) {
|
|
52
|
+
const limit = options.limit ?? 5;
|
|
53
|
+
// 1. Keyword search (FTS5)
|
|
54
|
+
const keywordResults = searchIndex.search(query, { limit: 20, category: options.category });
|
|
55
|
+
// 2. Semantic search (embed query -> cosine sim)
|
|
56
|
+
if (!embeddingEngine.isReady) {
|
|
57
|
+
// Degrade gracefully: return keyword results with degraded flag
|
|
58
|
+
return keywordResults.slice(0, limit).map(r => ({ ...r, degraded: true }));
|
|
59
|
+
}
|
|
60
|
+
const queryVector = await embeddingEngine.embed(query);
|
|
61
|
+
let semanticResults = vectorToSearchResults(vectorStore.search(queryVector, 20));
|
|
62
|
+
// Apply category filter to semantic results
|
|
63
|
+
if (options.category) {
|
|
64
|
+
semanticResults = semanticResults.filter(r => r.category === options.category);
|
|
65
|
+
}
|
|
66
|
+
// 3. Merge with Reciprocal Rank Fusion (k=60)
|
|
67
|
+
return reciprocalRankFusion([keywordResults, semanticResults], {
|
|
68
|
+
k: 60,
|
|
69
|
+
limit,
|
|
70
|
+
});
|
|
71
|
+
}
|
|
72
|
+
//# sourceMappingURL=hybrid-search.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"hybrid-search.js","sourceRoot":"","sources":["../../src/mcp/hybrid-search.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"knowledge-server.d.ts","sourceRoot":"","sources":["../../src/mcp/knowledge-server.ts"],"names":[],"mappings":"AA0BA,wBAAsB,uBAAuB,CAAC,OAAO,EAAE;IAAE,KAAK,EAAE,MAAM,CAAA;CAAE,GAAG,OAAO,CAAC,IAAI,CAAC,CAyJvF"}
|