@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,183 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Vector store for semantic search.
|
|
3
|
+
* Stores embedding vectors in a .vectors.json file per knowledge group.
|
|
4
|
+
* Uses brute-force cosine similarity for search (fast at 50-500 entries).
|
|
5
|
+
* Write operations are serialized via a mutex to prevent corruption.
|
|
6
|
+
*/
|
|
7
|
+
import fs from "fs-extra";
|
|
8
|
+
import path from "path";
|
|
9
|
+
export function cosineSimilarity(a, b) {
|
|
10
|
+
let dot = 0;
|
|
11
|
+
let normA = 0;
|
|
12
|
+
let normB = 0;
|
|
13
|
+
for (let i = 0; i < a.length; i++) {
|
|
14
|
+
dot += a[i] * b[i];
|
|
15
|
+
normA += a[i] * a[i];
|
|
16
|
+
normB += b[i] * b[i];
|
|
17
|
+
}
|
|
18
|
+
const denom = Math.sqrt(normA) * Math.sqrt(normB);
|
|
19
|
+
if (denom === 0)
|
|
20
|
+
return 0;
|
|
21
|
+
return dot / denom;
|
|
22
|
+
}
|
|
23
|
+
export function truncateForSnippet(text, maxLen = 150) {
|
|
24
|
+
if (text.length <= maxLen)
|
|
25
|
+
return text;
|
|
26
|
+
return text.slice(0, maxLen) + "...";
|
|
27
|
+
}
|
|
28
|
+
export class VectorStore {
|
|
29
|
+
data;
|
|
30
|
+
filePath;
|
|
31
|
+
engine;
|
|
32
|
+
writeLock = false;
|
|
33
|
+
writeQueue = [];
|
|
34
|
+
constructor(filePath, engine) {
|
|
35
|
+
this.filePath = filePath;
|
|
36
|
+
this.engine = engine;
|
|
37
|
+
this.data = {
|
|
38
|
+
model: engine.modelName,
|
|
39
|
+
dimensions: engine.dimensions,
|
|
40
|
+
entries: [],
|
|
41
|
+
};
|
|
42
|
+
}
|
|
43
|
+
get entryCount() {
|
|
44
|
+
return this.data.entries.length;
|
|
45
|
+
}
|
|
46
|
+
has(id) {
|
|
47
|
+
return this.data.entries.some(e => e.id === id);
|
|
48
|
+
}
|
|
49
|
+
async load(onRebuildNeeded) {
|
|
50
|
+
try {
|
|
51
|
+
if (!(await fs.pathExists(this.filePath))) {
|
|
52
|
+
if (onRebuildNeeded && this.engine.isReady) {
|
|
53
|
+
const entries = await onRebuildNeeded();
|
|
54
|
+
await this.rebuild(entries);
|
|
55
|
+
}
|
|
56
|
+
return;
|
|
57
|
+
}
|
|
58
|
+
const raw = await fs.readFile(this.filePath, "utf-8");
|
|
59
|
+
const parsed = JSON.parse(raw);
|
|
60
|
+
if (parsed.model !== this.engine.modelName || parsed.dimensions !== this.engine.dimensions) {
|
|
61
|
+
process.stderr.write("Vector model mismatch, rebuilding...\n");
|
|
62
|
+
if (onRebuildNeeded && this.engine.isReady) {
|
|
63
|
+
const entries = await onRebuildNeeded();
|
|
64
|
+
await this.rebuild(entries);
|
|
65
|
+
}
|
|
66
|
+
return;
|
|
67
|
+
}
|
|
68
|
+
const validEntries = parsed.entries.filter(e => e.vector && e.vector.length === this.engine.dimensions);
|
|
69
|
+
if (validEntries.length !== parsed.entries.length) {
|
|
70
|
+
process.stderr.write("Some vector entries have invalid dimensions, filtered " +
|
|
71
|
+
(parsed.entries.length - validEntries.length) + " entries.\n");
|
|
72
|
+
}
|
|
73
|
+
this.data = { ...parsed, entries: validEntries };
|
|
74
|
+
}
|
|
75
|
+
catch (err) {
|
|
76
|
+
const message = err instanceof Error ? err.message : String(err);
|
|
77
|
+
process.stderr.write(".vectors.json corrupt or unreadable (" + message + "), rebuilding...\n");
|
|
78
|
+
if (onRebuildNeeded && this.engine.isReady) {
|
|
79
|
+
const entries = await onRebuildNeeded();
|
|
80
|
+
await this.rebuild(entries);
|
|
81
|
+
}
|
|
82
|
+
}
|
|
83
|
+
}
|
|
84
|
+
async save() {
|
|
85
|
+
await this.acquireLock();
|
|
86
|
+
try {
|
|
87
|
+
const dir = path.dirname(this.filePath);
|
|
88
|
+
await fs.ensureDir(dir);
|
|
89
|
+
const tmpPath = this.filePath + ".tmp." + Date.now();
|
|
90
|
+
await fs.writeFile(tmpPath, JSON.stringify(this.data, null, 2), "utf-8");
|
|
91
|
+
await fs.rename(tmpPath, this.filePath);
|
|
92
|
+
}
|
|
93
|
+
finally {
|
|
94
|
+
this.releaseLock();
|
|
95
|
+
}
|
|
96
|
+
}
|
|
97
|
+
async add(id, vector, metadata) {
|
|
98
|
+
const existing = this.data.entries.findIndex(e => e.id === id);
|
|
99
|
+
const entry = {
|
|
100
|
+
id,
|
|
101
|
+
vector,
|
|
102
|
+
category: metadata.category,
|
|
103
|
+
title: metadata.title,
|
|
104
|
+
snippetText: truncateForSnippet(metadata.content),
|
|
105
|
+
};
|
|
106
|
+
if (existing >= 0) {
|
|
107
|
+
this.data.entries[existing] = entry;
|
|
108
|
+
}
|
|
109
|
+
else {
|
|
110
|
+
this.data.entries.push(entry);
|
|
111
|
+
}
|
|
112
|
+
await this.save();
|
|
113
|
+
}
|
|
114
|
+
async remove(id) {
|
|
115
|
+
const before = this.data.entries.length;
|
|
116
|
+
this.data.entries = this.data.entries.filter(e => e.id !== id);
|
|
117
|
+
if (this.data.entries.length < before) {
|
|
118
|
+
await this.save();
|
|
119
|
+
}
|
|
120
|
+
}
|
|
121
|
+
search(queryVector, topK = 5) {
|
|
122
|
+
if (this.data.entries.length === 0)
|
|
123
|
+
return [];
|
|
124
|
+
const scored = this.data.entries.map(entry => ({
|
|
125
|
+
id: entry.id,
|
|
126
|
+
title: entry.title,
|
|
127
|
+
category: entry.category,
|
|
128
|
+
snippet: entry.snippetText,
|
|
129
|
+
score: cosineSimilarity(queryVector, entry.vector),
|
|
130
|
+
}));
|
|
131
|
+
scored.sort((a, b) => b.score - a.score);
|
|
132
|
+
return scored.slice(0, topK);
|
|
133
|
+
}
|
|
134
|
+
async rebuild(entries) {
|
|
135
|
+
if (!this.engine.isReady) {
|
|
136
|
+
process.stderr.write("Cannot rebuild vector store: embedding engine not ready.\n");
|
|
137
|
+
return;
|
|
138
|
+
}
|
|
139
|
+
const newEntries = [];
|
|
140
|
+
for (const entry of entries) {
|
|
141
|
+
try {
|
|
142
|
+
const textToEmbed = entry.title + " " + entry.content;
|
|
143
|
+
const vector = await this.engine.embed(textToEmbed);
|
|
144
|
+
newEntries.push({
|
|
145
|
+
id: entry.id,
|
|
146
|
+
vector,
|
|
147
|
+
category: entry.category,
|
|
148
|
+
title: entry.title,
|
|
149
|
+
snippetText: truncateForSnippet(entry.content),
|
|
150
|
+
});
|
|
151
|
+
}
|
|
152
|
+
catch (err) {
|
|
153
|
+
process.stderr.write("Failed to embed entry " + entry.id + ": " +
|
|
154
|
+
(err instanceof Error ? err.message : String(err)) + "\n");
|
|
155
|
+
}
|
|
156
|
+
}
|
|
157
|
+
this.data = {
|
|
158
|
+
model: this.engine.modelName,
|
|
159
|
+
dimensions: this.engine.dimensions,
|
|
160
|
+
entries: newEntries,
|
|
161
|
+
};
|
|
162
|
+
await this.save();
|
|
163
|
+
}
|
|
164
|
+
async acquireLock() {
|
|
165
|
+
if (!this.writeLock) {
|
|
166
|
+
this.writeLock = true;
|
|
167
|
+
return;
|
|
168
|
+
}
|
|
169
|
+
return new Promise(resolve => {
|
|
170
|
+
this.writeQueue.push(resolve);
|
|
171
|
+
});
|
|
172
|
+
}
|
|
173
|
+
releaseLock() {
|
|
174
|
+
const next = this.writeQueue.shift();
|
|
175
|
+
if (next) {
|
|
176
|
+
next();
|
|
177
|
+
}
|
|
178
|
+
else {
|
|
179
|
+
this.writeLock = false;
|
|
180
|
+
}
|
|
181
|
+
}
|
|
182
|
+
}
|
|
183
|
+
//# sourceMappingURL=vector-store.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"vector-store.js","sourceRoot":"","sources":["../../src/mcp/vector-store.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"copy-core-agents.d.ts","sourceRoot":"","sources":["../../src/scaffold/copy-core-agents.ts"],"names":[],"mappings":"AA0BA,wBAAsB,cAAc,IAAI,OAAO,CAAC,IAAI,CAAC,CAsEpD"}
|
|
@@ -0,0 +1,90 @@
|
|
|
1
|
+
import fs from 'fs-extra';
|
|
2
|
+
import path from 'path';
|
|
3
|
+
import { fileURLToPath } from 'url';
|
|
4
|
+
const __filename = fileURLToPath(import.meta.url);
|
|
5
|
+
const __dirname = path.dirname(__filename);
|
|
6
|
+
// Core agents that are always installed
|
|
7
|
+
const CORE_AGENTS = [
|
|
8
|
+
'maestro-agent',
|
|
9
|
+
'maestro-headless-agent',
|
|
10
|
+
'boss-agent',
|
|
11
|
+
'deep-analyst',
|
|
12
|
+
'plan-validator',
|
|
13
|
+
'tdd-designer',
|
|
14
|
+
'critical-reviewer',
|
|
15
|
+
'implementation-agent',
|
|
16
|
+
'code-reviewer',
|
|
17
|
+
'cleanup-agent',
|
|
18
|
+
'finalization-agent',
|
|
19
|
+
'task-orchestrator',
|
|
20
|
+
'task-prep',
|
|
21
|
+
'quick-fix',
|
|
22
|
+
'git-coordinator',
|
|
23
|
+
];
|
|
24
|
+
export async function copyCoreAgents() {
|
|
25
|
+
// Find templates directory (relative to compiled JS location)
|
|
26
|
+
// In dev: src/scaffold/copy-core-agents.ts -> templates/
|
|
27
|
+
// In dist: dist/scaffold/copy-core-agents.js -> templates/
|
|
28
|
+
const templatesDir = path.resolve(__dirname, '../../templates/core-agents');
|
|
29
|
+
// Ensure target directory exists
|
|
30
|
+
await fs.ensureDir('.claude/agents');
|
|
31
|
+
// Copy each core agent
|
|
32
|
+
for (const agent of CORE_AGENTS) {
|
|
33
|
+
const sourcePath = path.join(templatesDir, `${agent}.md`);
|
|
34
|
+
const targetPath = `.claude/agents/${agent}.md`;
|
|
35
|
+
if (await fs.pathExists(sourcePath)) {
|
|
36
|
+
await fs.copy(sourcePath, targetPath);
|
|
37
|
+
}
|
|
38
|
+
else {
|
|
39
|
+
// If template doesn't exist, create a placeholder
|
|
40
|
+
console.warn(`Warning: Template for ${agent} not found at ${sourcePath}`);
|
|
41
|
+
}
|
|
42
|
+
}
|
|
43
|
+
// Copy specialist meta-template
|
|
44
|
+
const metaSource = path.join(templatesDir, '../specialist-meta.md');
|
|
45
|
+
if (await fs.pathExists(metaSource)) {
|
|
46
|
+
await fs.copy(metaSource, '.claude/templates/specialist-meta.md');
|
|
47
|
+
}
|
|
48
|
+
// Create README for agents folder
|
|
49
|
+
const readmeContent = `# Agent Definitions
|
|
50
|
+
|
|
51
|
+
This folder contains the agent definitions for the archai multi-agent system.
|
|
52
|
+
|
|
53
|
+
## Core Agents (15)
|
|
54
|
+
|
|
55
|
+
| Agent | Purpose |
|
|
56
|
+
|-------|---------|
|
|
57
|
+
| maestro-agent | Orchestrates the 3-phase workflow |
|
|
58
|
+
| maestro-headless-agent | Headless orchestration for boss dispatch |
|
|
59
|
+
| boss-agent | Batch task dispatch & supervision |
|
|
60
|
+
| deep-analyst | Deep analysis before implementation |
|
|
61
|
+
| plan-validator | Validates plans, finds gaps |
|
|
62
|
+
| tdd-designer | Designs tests before code |
|
|
63
|
+
| critical-reviewer | Reviews plans for blind spots (SDK session) |
|
|
64
|
+
| implementation-agent | Autonomous code implementation |
|
|
65
|
+
| code-reviewer | Post-implementation review |
|
|
66
|
+
| cleanup-agent | Pre-commit cleanup |
|
|
67
|
+
| finalization-agent | Commit, push, CI/CD |
|
|
68
|
+
| task-orchestrator | Epic/task lifecycle |
|
|
69
|
+
| task-prep | Architect-level task preparation |
|
|
70
|
+
| quick-fix | Fast single-pass for small fixes |
|
|
71
|
+
| git-coordinator | Git coordination & merging |
|
|
72
|
+
|
|
73
|
+
## Specialist Agents
|
|
74
|
+
|
|
75
|
+
Generated by \`archai generate\` based on your project configuration.
|
|
76
|
+
|
|
77
|
+
## Usage
|
|
78
|
+
|
|
79
|
+
In Claude Code:
|
|
80
|
+
\`\`\`
|
|
81
|
+
# Manual mode (default) - user approves at gates
|
|
82
|
+
Use maestro-agent for: [your task]
|
|
83
|
+
|
|
84
|
+
# Critical review mode - auto-approve with SDK review
|
|
85
|
+
Use maestro-agent with critical-review for: [your task]
|
|
86
|
+
\`\`\`
|
|
87
|
+
`;
|
|
88
|
+
await fs.writeFile('.claude/agents/README.md', readmeContent);
|
|
89
|
+
}
|
|
90
|
+
//# sourceMappingURL=copy-core-agents.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"copy-core-agents.js","sourceRoot":"","sources":["../../src/scaffold/copy-core-agents.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,UAAU,CAAC;AAC1B,OAAO,IAAI,MAAM,MAAM,CAAC;AACxB,OAAO,EAAE,aAAa,EAAE,MAAM,KAAK,CAAC;AAEpC,MAAM,UAAU,GAAG,aAAa,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;AAClD,MAAM,SAAS,GAAG,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC;AAE3C,wCAAwC;AACxC,MAAM,WAAW,GAAG;IAClB,eAAe;IACf,wBAAwB;IACxB,YAAY;IACZ,cAAc;IACd,gBAAgB;IAChB,cAAc;IACd,mBAAmB;IACnB,sBAAsB;IACtB,eAAe;IACf,eAAe;IACf,oBAAoB;IACpB,mBAAmB;IACnB,WAAW;IACX,WAAW;IACX,iBAAiB;CAClB,CAAC;AAEF,MAAM,CAAC,KAAK,UAAU,cAAc;IAClC,8DAA8D;IAC9D,yDAAyD;IACzD,2DAA2D;IAC3D,MAAM,YAAY,GAAG,IAAI,CAAC,OAAO,CAAC,SAAS,EAAE,6BAA6B,CAAC,CAAC;IAE5E,iCAAiC;IACjC,MAAM,EAAE,CAAC,SAAS,CAAC,gBAAgB,CAAC,CAAC;IAErC,uBAAuB;IACvB,KAAK,MAAM,KAAK,IAAI,WAAW,EAAE,CAAC;QAChC,MAAM,UAAU,GAAG,IAAI,CAAC,IAAI,CAAC,YAAY,EAAE,GAAG,KAAK,KAAK,CAAC,CAAC;QAC1D,MAAM,UAAU,GAAG,kBAAkB,KAAK,KAAK,CAAC;QAEhD,IAAI,MAAM,EAAE,CAAC,UAAU,CAAC,UAAU,CAAC,EAAE,CAAC;YACpC,MAAM,EAAE,CAAC,IAAI,CAAC,UAAU,EAAE,UAAU,CAAC,CAAC;QACxC,CAAC;aAAM,CAAC;YACN,kDAAkD;YAClD,OAAO,CAAC,IAAI,CAAC,yBAAyB,KAAK,iBAAiB,UAAU,EAAE,CAAC,CAAC;QAC5E,CAAC;IACH,CAAC;IAED,gCAAgC;IAChC,MAAM,UAAU,GAAG,IAAI,CAAC,IAAI,CAAC,YAAY,EAAE,uBAAuB,CAAC,CAAC;IACpE,IAAI,MAAM,EAAE,CAAC,UAAU,CAAC,UAAU,CAAC,EAAE,CAAC;QACpC,MAAM,EAAE,CAAC,IAAI,CAAC,UAAU,EAAE,sCAAsC,CAAC,CAAC;IACpE,CAAC;IAED,kCAAkC;IAClC,MAAM,aAAa,GAAG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAsCvB,CAAC;IAEA,MAAM,EAAE,CAAC,SAAS,CAAC,0BAA0B,EAAE,aAAa,CAAC,CAAC;AAChE,CAAC"}
|
|
@@ -0,0 +1,40 @@
|
|
|
1
|
+
export type PermissionPreset = 'permissive' | 'strict' | 'custom' | 'skip';
|
|
2
|
+
export interface PermissionConfig {
|
|
3
|
+
preset: PermissionPreset;
|
|
4
|
+
packageManager: string;
|
|
5
|
+
customAllowCommands?: string[];
|
|
6
|
+
customDenyCommands?: string[];
|
|
7
|
+
}
|
|
8
|
+
/**
|
|
9
|
+
* Get the list of commands for a preset
|
|
10
|
+
*/
|
|
11
|
+
export declare function getPresetCommands(preset: PermissionPreset, packageManager: string): {
|
|
12
|
+
allow: string[];
|
|
13
|
+
deny: string[];
|
|
14
|
+
};
|
|
15
|
+
/**
|
|
16
|
+
* Get human-readable description of a preset
|
|
17
|
+
*/
|
|
18
|
+
export declare function getPresetDescription(preset: PermissionPreset): string;
|
|
19
|
+
/**
|
|
20
|
+
* Generate .claude/settings.local.json content
|
|
21
|
+
*/
|
|
22
|
+
export declare function generateSettingsJson(config: PermissionConfig): string;
|
|
23
|
+
/**
|
|
24
|
+
* Generate permissions section for archai.config.md
|
|
25
|
+
*/
|
|
26
|
+
export declare function generatePermissionsMarkdown(config: PermissionConfig): string;
|
|
27
|
+
/**
|
|
28
|
+
* Create or update .claude/settings.local.json
|
|
29
|
+
*/
|
|
30
|
+
export declare function createClaudeSettings(config: PermissionConfig): Promise<void>;
|
|
31
|
+
/**
|
|
32
|
+
* Validate a command against allow/deny lists
|
|
33
|
+
* Handles && chained commands
|
|
34
|
+
*/
|
|
35
|
+
export declare function validateCommand(fullCommand: string, allow: string[], deny: string[]): {
|
|
36
|
+
allowed: boolean;
|
|
37
|
+
reason?: string;
|
|
38
|
+
blockedSegment?: string;
|
|
39
|
+
};
|
|
40
|
+
//# sourceMappingURL=create-claude-settings.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"create-claude-settings.d.ts","sourceRoot":"","sources":["../../src/scaffold/create-claude-settings.ts"],"names":[],"mappings":"AAGA,MAAM,MAAM,gBAAgB,GAAG,YAAY,GAAG,QAAQ,GAAG,QAAQ,GAAG,MAAM,CAAC;AAE3E,MAAM,WAAW,gBAAgB;IAC/B,MAAM,EAAE,gBAAgB,CAAC;IACzB,cAAc,EAAE,MAAM,CAAC;IACvB,mBAAmB,CAAC,EAAE,MAAM,EAAE,CAAC;IAC/B,kBAAkB,CAAC,EAAE,MAAM,EAAE,CAAC;CAC/B;AAsMD;;GAEG;AACH,wBAAgB,iBAAiB,CAAC,MAAM,EAAE,gBAAgB,EAAE,cAAc,EAAE,MAAM,GAAG;IAAE,KAAK,EAAE,MAAM,EAAE,CAAC;IAAC,IAAI,EAAE,MAAM,EAAE,CAAA;CAAE,CAqBvH;AAED;;GAEG;AACH,wBAAgB,oBAAoB,CAAC,MAAM,EAAE,gBAAgB,GAAG,MAAM,CAarE;AA+DD;;GAEG;AACH,wBAAgB,oBAAoB,CAAC,MAAM,EAAE,gBAAgB,GAAG,MAAM,CAoBrE;AAED;;GAEG;AACH,wBAAgB,2BAA2B,CAAC,MAAM,EAAE,gBAAgB,GAAG,MAAM,CAkE5E;AAED;;GAEG;AACH,wBAAsB,oBAAoB,CAAC,MAAM,EAAE,gBAAgB,GAAG,OAAO,CAAC,IAAI,CAAC,CAYlF;AAED;;;GAGG;AACH,wBAAgB,eAAe,CAC7B,WAAW,EAAE,MAAM,EACnB,KAAK,EAAE,MAAM,EAAE,EACf,IAAI,EAAE,MAAM,EAAE,GACb;IAAE,OAAO,EAAE,OAAO,CAAC;IAAC,MAAM,CAAC,EAAE,MAAM,CAAC;IAAC,cAAc,CAAC,EAAE,MAAM,CAAA;CAAE,CAiChE"}
|