@anthropic-field/core 0.3.0 → 0.3.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/src/cognitive/index.d.ts +2 -0
- package/dist/src/cognitive/index.js +13 -0
- package/dist/src/cognitive/index.js.map +1 -1
- package/dist/src/cognitive/installer.d.ts +56 -0
- package/dist/src/cognitive/installer.js +236 -0
- package/dist/src/cognitive/installer.js.map +1 -0
- package/dist/src/cognitive/paths.d.ts +82 -0
- package/dist/src/cognitive/paths.js +142 -0
- package/dist/src/cognitive/paths.js.map +1 -0
- package/dist/src/cognitive/tool/cognitive-registry.js +2 -7
- package/dist/src/cognitive/tool/cognitive-registry.js.map +1 -1
- package/dist/src/config/config.d.ts +4 -0
- package/dist/src/config/config.js +21 -0
- package/dist/src/config/config.js.map +1 -1
- package/dist/tsconfig.tsbuildinfo +1 -1
- package/package.json +1 -1
|
@@ -20,4 +20,6 @@ export { executeModule, runModule, parseLLMResponse, setDefaultLLMCaller, getDef
|
|
|
20
20
|
export { CognitiveTool, createCognitiveTool, createCognitiveTools, CognitiveModuleRegistry, getGlobalRegistry, initGlobalRegistry, resetGlobalRegistry, getDefaultConfig, type CognitiveToolParams, type CognitiveToolResult, type CognitiveConfig, } from './tool/index.js';
|
|
21
21
|
export { discoverAndRegisterCognitiveTools, registerCognitiveModule, getCognitiveTools, isCognitiveTool, getCognitiveConfigFromSettings, createLLMCallerFromGeminiClient, type GeminiClientAdapter, } from './integration.js';
|
|
22
22
|
export { createLLMCallerFromContentGenerator, createSimpleLLMCaller, } from './gemini-adapter.js';
|
|
23
|
+
export { GLOBAL_MODULES_DIR, GLOBAL_CONFIG_DIR, INSTALLED_MANIFEST, getModuleSearchPaths, getExistingModuleSearchPaths, getProjectModulesDir, getGlobalModulesDir, findModulePath, isGlobalModule, isProjectModule, loadInstalledManifest, saveInstalledManifest, recordInstall, removeFromManifest, getInstallInfo, type InstalledModuleInfo, type InstalledManifest, } from './paths.js';
|
|
24
|
+
export { installModule, removeModule, updateModule, parseGitHubUrl, type InstallOptions, type ModuleInstallResult, } from './installer.js';
|
|
23
25
|
export { OpenAICompatibleClient, createLLMCallerFromOpenAI, createLLMCallerFromPreset, createLLMCallerFromEnv, PROVIDER_PRESETS, createLLMCaller, createDefaultLLMCaller, detectProviderFromEnv, DEFAULT_PROVIDER, DEFAULT_MODELS, API_KEY_ENV_VARS, type ProviderType, type ProviderSettings, } from '../providers/index.js';
|
|
@@ -48,6 +48,19 @@ export { discoverAndRegisterCognitiveTools, registerCognitiveModule, getCognitiv
|
|
|
48
48
|
// =============================================================================
|
|
49
49
|
export { createLLMCallerFromContentGenerator, createSimpleLLMCaller, } from './gemini-adapter.js';
|
|
50
50
|
// =============================================================================
|
|
51
|
+
// Paths & Installation
|
|
52
|
+
// =============================================================================
|
|
53
|
+
export {
|
|
54
|
+
// Path constants
|
|
55
|
+
GLOBAL_MODULES_DIR, GLOBAL_CONFIG_DIR, INSTALLED_MANIFEST,
|
|
56
|
+
// Path functions
|
|
57
|
+
getModuleSearchPaths, getExistingModuleSearchPaths, getProjectModulesDir, getGlobalModulesDir, findModulePath, isGlobalModule, isProjectModule,
|
|
58
|
+
// Manifest functions
|
|
59
|
+
loadInstalledManifest, saveInstalledManifest, recordInstall, removeFromManifest, getInstallInfo, } from './paths.js';
|
|
60
|
+
export {
|
|
61
|
+
// Installation
|
|
62
|
+
installModule, removeModule, updateModule, parseGitHubUrl, } from './installer.js';
|
|
63
|
+
// =============================================================================
|
|
51
64
|
// OpenAI-Compatible Providers (MiniMax, DeepSeek, Qwen, etc.)
|
|
52
65
|
// =============================================================================
|
|
53
66
|
export {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/cognitive/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AA2CH,gFAAgF;AAChF,SAAS;AACT,gFAAgF;AAEhF,OAAO,EACL,UAAU,EACV,UAAU,EACV,eAAe,EACf,YAAY,EACZ,eAAe,EACf,iBAAiB,EACjB,aAAa,EACb,iBAAiB,EACjB,cAAc,GAEf,MAAM,mBAAmB,CAAC;AAE3B,gFAAgF;AAChF,YAAY;AACZ,gFAAgF;AAEhF,OAAO,EACL,aAAa,EACb,YAAY,EACZ,YAAY,EACZ,aAAa,EACb,gBAAgB,EAChB,gBAAgB,EAChB,YAAY,EACZ,kBAAkB,EAClB,aAAa,EACb,iBAAiB,EACjB,iBAAiB,EACjB,yBAAyB,EACzB,kBAAkB,GAGnB,MAAM,sBAAsB,CAAC;AAE9B,gFAAgF;AAChF,UAAU;AACV,gFAAgF;AAEhF,OAAO;AACL,WAAW;AACX,aAAa,EACb,SAAS,EACT,gBAAgB,EAChB,mBAAmB,EACnB,mBAAmB,EACnB,WAAW,EACX,cAAc,EACd,oBAAoB;AAIpB,mBAAmB;AACnB,YAAY,EACZ,uBAAuB,EACvB,qBAAqB,EACrB,qBAAqB,EACrB,gBAAgB,EAChB,uBAAuB,EACvB,yBAAyB,EACzB,2BAA2B,EAC3B,mBAAmB;AAEnB,OAAO;AACP,aAAa,EACb,qBAAqB,EACrB,WAAW,EACX,OAAO,EACP,cAAc;AAEd,SAAS;AACT,cAAc,EACd,mBAAmB,EACnB,SAAS,EACT,gBAAgB;AAGhB,SAAS;AACT,WAAW,EACX,iBAAiB,EACjB,mBAAmB,EACnB,iBAAiB,GAElB,MAAM,oBAAoB,CAAC;AAE5B,gFAAgF;AAChF,mBAAmB;AACnB,gFAAgF;AAEhF,OAAO,EACL,aAAa,EACb,mBAAmB,EACnB,oBAAoB,EACpB,uBAAuB,EACvB,iBAAiB,EACjB,kBAAkB,EAClB,mBAAmB,EACnB,gBAAgB,GAIjB,MAAM,iBAAiB,CAAC;AAEzB,gFAAgF;AAChF,cAAc;AACd,gFAAgF;AAEhF,OAAO,EACL,iCAAiC,EACjC,uBAAuB,EACvB,iBAAiB,EACjB,eAAe,EACf,8BAA8B,EAC9B,+BAA+B,GAEhC,MAAM,kBAAkB,CAAC;AAE1B,gFAAgF;AAChF,iBAAiB;AACjB,gFAAgF;AAEhF,OAAO,EACL,mCAAmC,EACnC,qBAAqB,GACtB,MAAM,qBAAqB,CAAC;AAE7B,gFAAgF;AAChF,8DAA8D;AAC9D,gFAAgF;AAEhF,OAAO;AACL,2BAA2B;AAC3B,sBAAsB,EACtB,yBAAyB,EACzB,yBAAyB,EACzB,sBAAsB,EACtB,gBAAgB;AAChB,2CAA2C;AAC3C,eAAe,EACf,sBAAsB,EACtB,qBAAqB,EACrB,gBAAgB,EAChB,cAAc,EACd,gBAAgB,GAGjB,MAAM,uBAAuB,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/cognitive/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AA2CH,gFAAgF;AAChF,SAAS;AACT,gFAAgF;AAEhF,OAAO,EACL,UAAU,EACV,UAAU,EACV,eAAe,EACf,YAAY,EACZ,eAAe,EACf,iBAAiB,EACjB,aAAa,EACb,iBAAiB,EACjB,cAAc,GAEf,MAAM,mBAAmB,CAAC;AAE3B,gFAAgF;AAChF,YAAY;AACZ,gFAAgF;AAEhF,OAAO,EACL,aAAa,EACb,YAAY,EACZ,YAAY,EACZ,aAAa,EACb,gBAAgB,EAChB,gBAAgB,EAChB,YAAY,EACZ,kBAAkB,EAClB,aAAa,EACb,iBAAiB,EACjB,iBAAiB,EACjB,yBAAyB,EACzB,kBAAkB,GAGnB,MAAM,sBAAsB,CAAC;AAE9B,gFAAgF;AAChF,UAAU;AACV,gFAAgF;AAEhF,OAAO;AACL,WAAW;AACX,aAAa,EACb,SAAS,EACT,gBAAgB,EAChB,mBAAmB,EACnB,mBAAmB,EACnB,WAAW,EACX,cAAc,EACd,oBAAoB;AAIpB,mBAAmB;AACnB,YAAY,EACZ,uBAAuB,EACvB,qBAAqB,EACrB,qBAAqB,EACrB,gBAAgB,EAChB,uBAAuB,EACvB,yBAAyB,EACzB,2BAA2B,EAC3B,mBAAmB;AAEnB,OAAO;AACP,aAAa,EACb,qBAAqB,EACrB,WAAW,EACX,OAAO,EACP,cAAc;AAEd,SAAS;AACT,cAAc,EACd,mBAAmB,EACnB,SAAS,EACT,gBAAgB;AAGhB,SAAS;AACT,WAAW,EACX,iBAAiB,EACjB,mBAAmB,EACnB,iBAAiB,GAElB,MAAM,oBAAoB,CAAC;AAE5B,gFAAgF;AAChF,mBAAmB;AACnB,gFAAgF;AAEhF,OAAO,EACL,aAAa,EACb,mBAAmB,EACnB,oBAAoB,EACpB,uBAAuB,EACvB,iBAAiB,EACjB,kBAAkB,EAClB,mBAAmB,EACnB,gBAAgB,GAIjB,MAAM,iBAAiB,CAAC;AAEzB,gFAAgF;AAChF,cAAc;AACd,gFAAgF;AAEhF,OAAO,EACL,iCAAiC,EACjC,uBAAuB,EACvB,iBAAiB,EACjB,eAAe,EACf,8BAA8B,EAC9B,+BAA+B,GAEhC,MAAM,kBAAkB,CAAC;AAE1B,gFAAgF;AAChF,iBAAiB;AACjB,gFAAgF;AAEhF,OAAO,EACL,mCAAmC,EACnC,qBAAqB,GACtB,MAAM,qBAAqB,CAAC;AAE7B,gFAAgF;AAChF,uBAAuB;AACvB,gFAAgF;AAEhF,OAAO;AACL,iBAAiB;AACjB,kBAAkB,EAClB,iBAAiB,EACjB,kBAAkB;AAClB,iBAAiB;AACjB,oBAAoB,EACpB,4BAA4B,EAC5B,oBAAoB,EACpB,mBAAmB,EACnB,cAAc,EACd,cAAc,EACd,eAAe;AACf,qBAAqB;AACrB,qBAAqB,EACrB,qBAAqB,EACrB,aAAa,EACb,kBAAkB,EAClB,cAAc,GAGf,MAAM,YAAY,CAAC;AAEpB,OAAO;AACL,eAAe;AACf,aAAa,EACb,YAAY,EACZ,YAAY,EACZ,cAAc,GAGf,MAAM,gBAAgB,CAAC;AAExB,gFAAgF;AAChF,8DAA8D;AAC9D,gFAAgF;AAEhF,OAAO;AACL,2BAA2B;AAC3B,sBAAsB,EACtB,yBAAyB,EACzB,yBAAyB,EACzB,sBAAsB,EACtB,gBAAgB;AAChB,2CAA2C;AAC3C,eAAe,EACf,sBAAsB,EACtB,qBAAqB,EACrB,gBAAgB,EAChB,cAAc,EACd,gBAAgB,GAGjB,MAAM,uBAAuB,CAAC"}
|
|
@@ -0,0 +1,56 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @license
|
|
3
|
+
* Copyright 2025 Google LLC
|
|
4
|
+
* SPDX-License-Identifier: Apache-2.0
|
|
5
|
+
*
|
|
6
|
+
* Cognitive Module Installer
|
|
7
|
+
* Install modules from GitHub repositories.
|
|
8
|
+
*/
|
|
9
|
+
export interface InstallOptions {
|
|
10
|
+
/** Module name within the repository */
|
|
11
|
+
module?: string;
|
|
12
|
+
/** Custom name for the installed module */
|
|
13
|
+
name?: string;
|
|
14
|
+
/** Git branch (default: main) */
|
|
15
|
+
branch?: string;
|
|
16
|
+
/** Git tag (takes priority over branch) */
|
|
17
|
+
tag?: string;
|
|
18
|
+
/** Install globally (default) or to project */
|
|
19
|
+
global?: boolean;
|
|
20
|
+
}
|
|
21
|
+
export interface ModuleInstallResult {
|
|
22
|
+
success: boolean;
|
|
23
|
+
moduleName?: string;
|
|
24
|
+
version?: string;
|
|
25
|
+
location?: string;
|
|
26
|
+
error?: string;
|
|
27
|
+
}
|
|
28
|
+
interface GitHubInfo {
|
|
29
|
+
org: string;
|
|
30
|
+
repo: string;
|
|
31
|
+
fullUrl: string;
|
|
32
|
+
}
|
|
33
|
+
/**
|
|
34
|
+
* Parse GitHub URL or shorthand.
|
|
35
|
+
* Supports:
|
|
36
|
+
* - github:org/repo
|
|
37
|
+
* - org/repo
|
|
38
|
+
* - https://github.com/org/repo
|
|
39
|
+
*/
|
|
40
|
+
export declare function parseGitHubUrl(url: string): GitHubInfo;
|
|
41
|
+
/**
|
|
42
|
+
* Install a module from GitHub.
|
|
43
|
+
*/
|
|
44
|
+
export declare function installModule(url: string, options?: InstallOptions): Promise<ModuleInstallResult>;
|
|
45
|
+
/**
|
|
46
|
+
* Remove an installed module.
|
|
47
|
+
*/
|
|
48
|
+
export declare function removeModule(moduleName: string, cwd?: string): {
|
|
49
|
+
success: boolean;
|
|
50
|
+
error?: string;
|
|
51
|
+
};
|
|
52
|
+
/**
|
|
53
|
+
* Update a module (reinstall from source).
|
|
54
|
+
*/
|
|
55
|
+
export declare function updateModule(moduleName: string, cwd?: string): Promise<ModuleInstallResult>;
|
|
56
|
+
export {};
|
|
@@ -0,0 +1,236 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @license
|
|
3
|
+
* Copyright 2025 Google LLC
|
|
4
|
+
* SPDX-License-Identifier: Apache-2.0
|
|
5
|
+
*
|
|
6
|
+
* Cognitive Module Installer
|
|
7
|
+
* Install modules from GitHub repositories.
|
|
8
|
+
*/
|
|
9
|
+
import * as fs from 'node:fs';
|
|
10
|
+
import * as path from 'node:path';
|
|
11
|
+
import { execSync } from 'node:child_process';
|
|
12
|
+
import { tmpdir } from 'node:os';
|
|
13
|
+
import { getGlobalModulesDir, getProjectModulesDir, recordInstall, removeFromManifest, findModulePath, } from './paths.js';
|
|
14
|
+
import { loadModule, isValidModulePath } from './loader/module-loader.js';
|
|
15
|
+
/**
|
|
16
|
+
* Parse GitHub URL or shorthand.
|
|
17
|
+
* Supports:
|
|
18
|
+
* - github:org/repo
|
|
19
|
+
* - org/repo
|
|
20
|
+
* - https://github.com/org/repo
|
|
21
|
+
*/
|
|
22
|
+
export function parseGitHubUrl(url) {
|
|
23
|
+
// Handle github: prefix
|
|
24
|
+
if (url.startsWith('github:')) {
|
|
25
|
+
url = url.slice(7);
|
|
26
|
+
}
|
|
27
|
+
// Handle shorthand: org/repo
|
|
28
|
+
if (!url.startsWith('http')) {
|
|
29
|
+
url = `https://github.com/${url}`;
|
|
30
|
+
}
|
|
31
|
+
const match = url.match(/https:\/\/github\.com\/([^\/]+)\/([^\/]+)\/?/);
|
|
32
|
+
if (!match) {
|
|
33
|
+
throw new Error(`Invalid GitHub URL: ${url}`);
|
|
34
|
+
}
|
|
35
|
+
const org = match[1];
|
|
36
|
+
const repo = match[2].replace(/\.git$/, '');
|
|
37
|
+
return {
|
|
38
|
+
org,
|
|
39
|
+
repo,
|
|
40
|
+
fullUrl: `https://github.com/${org}/${repo}`,
|
|
41
|
+
};
|
|
42
|
+
}
|
|
43
|
+
// =============================================================================
|
|
44
|
+
// Download & Extract
|
|
45
|
+
// =============================================================================
|
|
46
|
+
/**
|
|
47
|
+
* Download and extract a GitHub repository.
|
|
48
|
+
*/
|
|
49
|
+
async function downloadAndExtract(org, repo, ref, isTag) {
|
|
50
|
+
const zipUrl = isTag
|
|
51
|
+
? `https://github.com/${org}/${repo}/archive/refs/tags/${ref}.zip`
|
|
52
|
+
: `https://github.com/${org}/${repo}/archive/refs/heads/${ref}.zip`;
|
|
53
|
+
// Create temp directory
|
|
54
|
+
const tempDir = path.join(tmpdir(), `cog-install-${Date.now()}`);
|
|
55
|
+
fs.mkdirSync(tempDir, { recursive: true });
|
|
56
|
+
const zipPath = path.join(tempDir, 'repo.zip');
|
|
57
|
+
// Download ZIP
|
|
58
|
+
const response = await fetch(zipUrl, {
|
|
59
|
+
headers: { 'User-Agent': 'field-cli/1.0' },
|
|
60
|
+
});
|
|
61
|
+
if (!response.ok) {
|
|
62
|
+
throw new Error(`Failed to download: ${response.status} ${response.statusText}`);
|
|
63
|
+
}
|
|
64
|
+
// Save to file
|
|
65
|
+
const buffer = await response.arrayBuffer();
|
|
66
|
+
fs.writeFileSync(zipPath, Buffer.from(buffer));
|
|
67
|
+
// Extract using unzip command
|
|
68
|
+
try {
|
|
69
|
+
execSync(`unzip -q "${zipPath}" -d "${tempDir}"`, { stdio: 'pipe' });
|
|
70
|
+
}
|
|
71
|
+
catch {
|
|
72
|
+
throw new Error('Failed to extract ZIP. Make sure unzip is installed.');
|
|
73
|
+
}
|
|
74
|
+
// Find extracted directory
|
|
75
|
+
const entries = fs.readdirSync(tempDir).filter(e => e !== 'repo.zip' && fs.statSync(path.join(tempDir, e)).isDirectory());
|
|
76
|
+
if (entries.length === 0) {
|
|
77
|
+
throw new Error('ZIP file was empty');
|
|
78
|
+
}
|
|
79
|
+
return path.join(tempDir, entries[0]);
|
|
80
|
+
}
|
|
81
|
+
/**
|
|
82
|
+
* Find module within repository.
|
|
83
|
+
*/
|
|
84
|
+
function findModuleInRepo(repoRoot, modulePath) {
|
|
85
|
+
const possiblePaths = [
|
|
86
|
+
path.join(repoRoot, modulePath),
|
|
87
|
+
path.join(repoRoot, 'cognitive', 'modules', modulePath),
|
|
88
|
+
path.join(repoRoot, 'cognitive_modules', modulePath),
|
|
89
|
+
path.join(repoRoot, 'modules', modulePath),
|
|
90
|
+
];
|
|
91
|
+
for (const p of possiblePaths) {
|
|
92
|
+
if (fs.existsSync(p) && isValidModulePath(p)) {
|
|
93
|
+
return p;
|
|
94
|
+
}
|
|
95
|
+
}
|
|
96
|
+
throw new Error(`Module not found: ${modulePath}\n` +
|
|
97
|
+
`Searched in: ${possiblePaths.map(p => p.replace(repoRoot, '.')).join(', ')}`);
|
|
98
|
+
}
|
|
99
|
+
/**
|
|
100
|
+
* Copy directory recursively.
|
|
101
|
+
*/
|
|
102
|
+
function copyDir(src, dest) {
|
|
103
|
+
fs.mkdirSync(dest, { recursive: true });
|
|
104
|
+
for (const entry of fs.readdirSync(src)) {
|
|
105
|
+
const srcPath = path.join(src, entry);
|
|
106
|
+
const destPath = path.join(dest, entry);
|
|
107
|
+
if (fs.statSync(srcPath).isDirectory()) {
|
|
108
|
+
copyDir(srcPath, destPath);
|
|
109
|
+
}
|
|
110
|
+
else {
|
|
111
|
+
fs.copyFileSync(srcPath, destPath);
|
|
112
|
+
}
|
|
113
|
+
}
|
|
114
|
+
}
|
|
115
|
+
// =============================================================================
|
|
116
|
+
// Install / Remove
|
|
117
|
+
// =============================================================================
|
|
118
|
+
/**
|
|
119
|
+
* Install a module from GitHub.
|
|
120
|
+
*/
|
|
121
|
+
export async function installModule(url, options = {}) {
|
|
122
|
+
const { org, repo, fullUrl } = parseGitHubUrl(url);
|
|
123
|
+
const { module: modulePath, name, branch = 'main', tag, global = true } = options;
|
|
124
|
+
// Determine ref (tag takes priority)
|
|
125
|
+
const ref = tag || branch;
|
|
126
|
+
const isTag = !!tag;
|
|
127
|
+
let repoRoot;
|
|
128
|
+
let sourcePath;
|
|
129
|
+
let moduleName;
|
|
130
|
+
try {
|
|
131
|
+
// Download repository
|
|
132
|
+
repoRoot = await downloadAndExtract(org, repo, ref, isTag);
|
|
133
|
+
// Find module
|
|
134
|
+
if (modulePath) {
|
|
135
|
+
sourcePath = findModuleInRepo(repoRoot, modulePath);
|
|
136
|
+
}
|
|
137
|
+
else {
|
|
138
|
+
// Use repo root as module
|
|
139
|
+
if (!isValidModulePath(repoRoot)) {
|
|
140
|
+
throw new Error('Repository root is not a valid module. Use --module to specify the module path.');
|
|
141
|
+
}
|
|
142
|
+
sourcePath = repoRoot;
|
|
143
|
+
}
|
|
144
|
+
// Determine module name
|
|
145
|
+
moduleName = name || path.basename(sourcePath);
|
|
146
|
+
// Get version from module
|
|
147
|
+
let version;
|
|
148
|
+
try {
|
|
149
|
+
const mod = loadModule(sourcePath);
|
|
150
|
+
version = mod.version;
|
|
151
|
+
}
|
|
152
|
+
catch {
|
|
153
|
+
// Ignore version detection errors
|
|
154
|
+
}
|
|
155
|
+
// Determine target directory
|
|
156
|
+
const targetDir = global ? getGlobalModulesDir() : getProjectModulesDir();
|
|
157
|
+
const targetPath = path.join(targetDir, moduleName);
|
|
158
|
+
// Remove existing
|
|
159
|
+
if (fs.existsSync(targetPath)) {
|
|
160
|
+
fs.rmSync(targetPath, { recursive: true, force: true });
|
|
161
|
+
}
|
|
162
|
+
// Copy module
|
|
163
|
+
copyDir(sourcePath, targetPath);
|
|
164
|
+
// Record installation info
|
|
165
|
+
const installInfo = {
|
|
166
|
+
source: `github:${org}/${repo}`,
|
|
167
|
+
githubUrl: fullUrl,
|
|
168
|
+
modulePath,
|
|
169
|
+
tag,
|
|
170
|
+
branch,
|
|
171
|
+
version,
|
|
172
|
+
installedAt: targetPath,
|
|
173
|
+
installedTime: new Date().toISOString(),
|
|
174
|
+
};
|
|
175
|
+
recordInstall(moduleName, installInfo);
|
|
176
|
+
// Cleanup temp directory
|
|
177
|
+
const tempDir = path.dirname(repoRoot);
|
|
178
|
+
fs.rmSync(tempDir, { recursive: true, force: true });
|
|
179
|
+
return {
|
|
180
|
+
success: true,
|
|
181
|
+
moduleName,
|
|
182
|
+
version,
|
|
183
|
+
location: targetPath,
|
|
184
|
+
};
|
|
185
|
+
}
|
|
186
|
+
catch (error) {
|
|
187
|
+
return {
|
|
188
|
+
success: false,
|
|
189
|
+
error: error instanceof Error ? error.message : String(error),
|
|
190
|
+
};
|
|
191
|
+
}
|
|
192
|
+
}
|
|
193
|
+
/**
|
|
194
|
+
* Remove an installed module.
|
|
195
|
+
*/
|
|
196
|
+
export function removeModule(moduleName, cwd = process.cwd()) {
|
|
197
|
+
const modulePath = findModulePath(moduleName, cwd);
|
|
198
|
+
if (!modulePath) {
|
|
199
|
+
return {
|
|
200
|
+
success: false,
|
|
201
|
+
error: `Module not found: ${moduleName}`,
|
|
202
|
+
};
|
|
203
|
+
}
|
|
204
|
+
try {
|
|
205
|
+
fs.rmSync(modulePath, { recursive: true, force: true });
|
|
206
|
+
removeFromManifest(moduleName);
|
|
207
|
+
return { success: true };
|
|
208
|
+
}
|
|
209
|
+
catch (error) {
|
|
210
|
+
return {
|
|
211
|
+
success: false,
|
|
212
|
+
error: error instanceof Error ? error.message : String(error),
|
|
213
|
+
};
|
|
214
|
+
}
|
|
215
|
+
}
|
|
216
|
+
/**
|
|
217
|
+
* Update a module (reinstall from source).
|
|
218
|
+
*/
|
|
219
|
+
export async function updateModule(moduleName, cwd = process.cwd()) {
|
|
220
|
+
const manifest = await import('./paths.js').then(m => m.loadInstalledManifest());
|
|
221
|
+
const info = manifest[moduleName];
|
|
222
|
+
if (!info) {
|
|
223
|
+
return {
|
|
224
|
+
success: false,
|
|
225
|
+
error: `Module not found in manifest: ${moduleName}. Try installing it first.`,
|
|
226
|
+
};
|
|
227
|
+
}
|
|
228
|
+
// Reinstall from source
|
|
229
|
+
return installModule(info.source, {
|
|
230
|
+
module: info.modulePath,
|
|
231
|
+
name: moduleName,
|
|
232
|
+
tag: info.tag,
|
|
233
|
+
branch: info.branch,
|
|
234
|
+
});
|
|
235
|
+
}
|
|
236
|
+
//# sourceMappingURL=installer.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"installer.js","sourceRoot":"","sources":["../../../src/cognitive/installer.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,OAAO,KAAK,EAAE,MAAM,SAAS,CAAC;AAC9B,OAAO,KAAK,IAAI,MAAM,WAAW,CAAC;AAClC,OAAO,EAAE,QAAQ,EAAE,MAAM,oBAAoB,CAAC;AAC9C,OAAO,EAAE,MAAM,EAAE,MAAM,SAAS,CAAC;AACjC,OAAO,EACL,mBAAmB,EACnB,oBAAoB,EACpB,aAAa,EACb,kBAAkB,EAClB,cAAc,GAEf,MAAM,YAAY,CAAC;AACpB,OAAO,EAAE,UAAU,EAAE,iBAAiB,EAAE,MAAM,2BAA2B,CAAC;AAqC1E;;;;;;GAMG;AACH,MAAM,UAAU,cAAc,CAAC,GAAW;IACxC,wBAAwB;IACxB,IAAI,GAAG,CAAC,UAAU,CAAC,SAAS,CAAC,EAAE,CAAC;QAC9B,GAAG,GAAG,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;IACrB,CAAC;IAED,6BAA6B;IAC7B,IAAI,CAAC,GAAG,CAAC,UAAU,CAAC,MAAM,CAAC,EAAE,CAAC;QAC5B,GAAG,GAAG,sBAAsB,GAAG,EAAE,CAAC;IACpC,CAAC;IAED,MAAM,KAAK,GAAG,GAAG,CAAC,KAAK,CAAC,8CAA8C,CAAC,CAAC;IACxE,IAAI,CAAC,KAAK,EAAE,CAAC;QACX,MAAM,IAAI,KAAK,CAAC,uBAAuB,GAAG,EAAE,CAAC,CAAC;IAChD,CAAC;IAED,MAAM,GAAG,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC;IACrB,MAAM,IAAI,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAC;IAE5C,OAAO;QACL,GAAG;QACH,IAAI;QACJ,OAAO,EAAE,sBAAsB,GAAG,IAAI,IAAI,EAAE;KAC7C,CAAC;AACJ,CAAC;AAED,gFAAgF;AAChF,qBAAqB;AACrB,gFAAgF;AAEhF;;GAEG;AACH,KAAK,UAAU,kBAAkB,CAC/B,GAAW,EACX,IAAY,EACZ,GAAW,EACX,KAAc;IAEd,MAAM,MAAM,GAAG,KAAK;QAClB,CAAC,CAAC,sBAAsB,GAAG,IAAI,IAAI,sBAAsB,GAAG,MAAM;QAClE,CAAC,CAAC,sBAAsB,GAAG,IAAI,IAAI,uBAAuB,GAAG,MAAM,CAAC;IAEtE,wBAAwB;IACxB,MAAM,OAAO,GAAG,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,EAAE,eAAe,IAAI,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC;IACjE,EAAE,CAAC,SAAS,CAAC,OAAO,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;IAE3C,MAAM,OAAO,GAAG,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,UAAU,CAAC,CAAC;IAE/C,eAAe;IACf,MAAM,QAAQ,GAAG,MAAM,KAAK,CAAC,MAAM,EAAE;QACnC,OAAO,EAAE,EAAE,YAAY,EAAE,eAAe,EAAE;KAC3C,CAAC,CAAC;IAEH,IAAI,CAAC,QAAQ,CAAC,EAAE,EAAE,CAAC;QACjB,MAAM,IAAI,KAAK,CAAC,uBAAuB,QAAQ,CAAC,MAAM,IAAI,QAAQ,CAAC,UAAU,EAAE,CAAC,CAAC;IACnF,CAAC;IAED,eAAe;IACf,MAAM,MAAM,GAAG,MAAM,QAAQ,CAAC,WAAW,EAAE,CAAC;IAC5C,EAAE,CAAC,aAAa,CAAC,OAAO,EAAE,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC;IAE/C,8BAA8B;IAC9B,IAAI,CAAC;QACH,QAAQ,CAAC,aAAa,OAAO,SAAS,OAAO,GAAG,EAAE,EAAE,KAAK,EAAE,MAAM,EAAE,CAAC,CAAC;IACvE,CAAC;IAAC,MAAM,CAAC;QACP,MAAM,IAAI,KAAK,CAAC,sDAAsD,CAAC,CAAC;IAC1E,CAAC;IAED,2BAA2B;IAC3B,MAAM,OAAO,GAAG,EAAE,CAAC,WAAW,CAAC,OAAO,CAAC,CAAC,MAAM,CAC5C,CAAC,CAAC,EAAE,CAAC,CAAC,KAAK,UAAU,IAAI,EAAE,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC,CAAC,WAAW,EAAE,CAC1E,CAAC;IAEF,IAAI,OAAO,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACzB,MAAM,IAAI,KAAK,CAAC,oBAAoB,CAAC,CAAC;IACxC,CAAC;IAED,OAAO,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC;AACxC,CAAC;AAED;;GAEG;AACH,SAAS,gBAAgB,CAAC,QAAgB,EAAE,UAAkB;IAC5D,MAAM,aAAa,GAAG;QACpB,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,UAAU,CAAC;QAC/B,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,WAAW,EAAE,SAAS,EAAE,UAAU,CAAC;QACvD,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,mBAAmB,EAAE,UAAU,CAAC;QACpD,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,SAAS,EAAE,UAAU,CAAC;KAC3C,CAAC;IAEF,KAAK,MAAM,CAAC,IAAI,aAAa,EAAE,CAAC;QAC9B,IAAI,EAAE,CAAC,UAAU,CAAC,CAAC,CAAC,IAAI,iBAAiB,CAAC,CAAC,CAAC,EAAE,CAAC;YAC7C,OAAO,CAAC,CAAC;QACX,CAAC;IACH,CAAC;IAED,MAAM,IAAI,KAAK,CACb,qBAAqB,UAAU,IAAI;QACnC,gBAAgB,aAAa,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,QAAQ,EAAE,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAC9E,CAAC;AACJ,CAAC;AAED;;GAEG;AACH,SAAS,OAAO,CAAC,GAAW,EAAE,IAAY;IACxC,EAAE,CAAC,SAAS,CAAC,IAAI,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;IAExC,KAAK,MAAM,KAAK,IAAI,EAAE,CAAC,WAAW,CAAC,GAAG,CAAC,EAAE,CAAC;QACxC,MAAM,OAAO,GAAG,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC;QACtC,MAAM,QAAQ,GAAG,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;QAExC,IAAI,EAAE,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC,WAAW,EAAE,EAAE,CAAC;YACvC,OAAO,CAAC,OAAO,EAAE,QAAQ,CAAC,CAAC;QAC7B,CAAC;aAAM,CAAC;YACN,EAAE,CAAC,YAAY,CAAC,OAAO,EAAE,QAAQ,CAAC,CAAC;QACrC,CAAC;IACH,CAAC;AACH,CAAC;AAED,gFAAgF;AAChF,mBAAmB;AACnB,gFAAgF;AAEhF;;GAEG;AACH,MAAM,CAAC,KAAK,UAAU,aAAa,CACjC,GAAW,EACX,UAA0B,EAAE;IAE5B,MAAM,EAAE,GAAG,EAAE,IAAI,EAAE,OAAO,EAAE,GAAG,cAAc,CAAC,GAAG,CAAC,CAAC;IACnD,MAAM,EAAE,MAAM,EAAE,UAAU,EAAE,IAAI,EAAE,MAAM,GAAG,MAAM,EAAE,GAAG,EAAE,MAAM,GAAG,IAAI,EAAE,GAAG,OAAO,CAAC;IAElF,qCAAqC;IACrC,MAAM,GAAG,GAAG,GAAG,IAAI,MAAM,CAAC;IAC1B,MAAM,KAAK,GAAG,CAAC,CAAC,GAAG,CAAC;IAEpB,IAAI,QAAgB,CAAC;IACrB,IAAI,UAAkB,CAAC;IACvB,IAAI,UAAkB,CAAC;IAEvB,IAAI,CAAC;QACH,sBAAsB;QACtB,QAAQ,GAAG,MAAM,kBAAkB,CAAC,GAAG,EAAE,IAAI,EAAE,GAAG,EAAE,KAAK,CAAC,CAAC;QAE3D,cAAc;QACd,IAAI,UAAU,EAAE,CAAC;YACf,UAAU,GAAG,gBAAgB,CAAC,QAAQ,EAAE,UAAU,CAAC,CAAC;QACtD,CAAC;aAAM,CAAC;YACN,0BAA0B;YAC1B,IAAI,CAAC,iBAAiB,CAAC,QAAQ,CAAC,EAAE,CAAC;gBACjC,MAAM,IAAI,KAAK,CACb,iFAAiF,CAClF,CAAC;YACJ,CAAC;YACD,UAAU,GAAG,QAAQ,CAAC;QACxB,CAAC;QAED,wBAAwB;QACxB,UAAU,GAAG,IAAI,IAAI,IAAI,CAAC,QAAQ,CAAC,UAAU,CAAC,CAAC;QAE/C,0BAA0B;QAC1B,IAAI,OAA2B,CAAC;QAChC,IAAI,CAAC;YACH,MAAM,GAAG,GAAG,UAAU,CAAC,UAAU,CAAC,CAAC;YACnC,OAAO,GAAG,GAAG,CAAC,OAAO,CAAC;QACxB,CAAC;QAAC,MAAM,CAAC;YACP,kCAAkC;QACpC,CAAC;QAED,6BAA6B;QAC7B,MAAM,SAAS,GAAG,MAAM,CAAC,CAAC,CAAC,mBAAmB,EAAE,CAAC,CAAC,CAAC,oBAAoB,EAAE,CAAC;QAC1E,MAAM,UAAU,GAAG,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,UAAU,CAAC,CAAC;QAEpD,kBAAkB;QAClB,IAAI,EAAE,CAAC,UAAU,CAAC,UAAU,CAAC,EAAE,CAAC;YAC9B,EAAE,CAAC,MAAM,CAAC,UAAU,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC;QAC1D,CAAC;QAED,cAAc;QACd,OAAO,CAAC,UAAU,EAAE,UAAU,CAAC,CAAC;QAEhC,2BAA2B;QAC3B,MAAM,WAAW,GAAwB;YACvC,MAAM,EAAE,UAAU,GAAG,IAAI,IAAI,EAAE;YAC/B,SAAS,EAAE,OAAO;YAClB,UAAU;YACV,GAAG;YACH,MAAM;YACN,OAAO;YACP,WAAW,EAAE,UAAU;YACvB,aAAa,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE;SACxC,CAAC;QACF,aAAa,CAAC,UAAU,EAAE,WAAW,CAAC,CAAC;QAEvC,yBAAyB;QACzB,MAAM,OAAO,GAAG,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC;QACvC,EAAE,CAAC,MAAM,CAAC,OAAO,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC;QAErD,OAAO;YACL,OAAO,EAAE,IAAI;YACb,UAAU;YACV,OAAO;YACP,QAAQ,EAAE,UAAU;SACrB,CAAC;IACJ,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,OAAO;YACL,OAAO,EAAE,KAAK;YACd,KAAK,EAAE,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC;SAC9D,CAAC;IACJ,CAAC;AACH,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,YAAY,CAC1B,UAAkB,EAClB,MAAc,OAAO,CAAC,GAAG,EAAE;IAE3B,MAAM,UAAU,GAAG,cAAc,CAAC,UAAU,EAAE,GAAG,CAAC,CAAC;IAEnD,IAAI,CAAC,UAAU,EAAE,CAAC;QAChB,OAAO;YACL,OAAO,EAAE,KAAK;YACd,KAAK,EAAE,qBAAqB,UAAU,EAAE;SACzC,CAAC;IACJ,CAAC;IAED,IAAI,CAAC;QACH,EAAE,CAAC,MAAM,CAAC,UAAU,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC;QACxD,kBAAkB,CAAC,UAAU,CAAC,CAAC;QAC/B,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;IAC3B,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,OAAO;YACL,OAAO,EAAE,KAAK;YACd,KAAK,EAAE,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC;SAC9D,CAAC;IACJ,CAAC;AACH,CAAC;AAED;;GAEG;AACH,MAAM,CAAC,KAAK,UAAU,YAAY,CAChC,UAAkB,EAClB,MAAc,OAAO,CAAC,GAAG,EAAE;IAE3B,MAAM,QAAQ,GAAG,MAAM,MAAM,CAAC,YAAY,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,qBAAqB,EAAE,CAAC,CAAC;IACjF,MAAM,IAAI,GAAG,QAAQ,CAAC,UAAU,CAAC,CAAC;IAElC,IAAI,CAAC,IAAI,EAAE,CAAC;QACV,OAAO;YACL,OAAO,EAAE,KAAK;YACd,KAAK,EAAE,iCAAiC,UAAU,4BAA4B;SAC/E,CAAC;IACJ,CAAC;IAED,wBAAwB;IACxB,OAAO,aAAa,CAAC,IAAI,CAAC,MAAM,EAAE;QAChC,MAAM,EAAE,IAAI,CAAC,UAAU;QACvB,IAAI,EAAE,UAAU;QAChB,GAAG,EAAE,IAAI,CAAC,GAAG;QACb,MAAM,EAAE,IAAI,CAAC,MAAM;KACpB,CAAC,CAAC;AACL,CAAC"}
|
|
@@ -0,0 +1,82 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @license
|
|
3
|
+
* Copyright 2025 Google LLC
|
|
4
|
+
* SPDX-License-Identifier: Apache-2.0
|
|
5
|
+
*
|
|
6
|
+
* Cognitive Module Paths
|
|
7
|
+
* Manages module search paths and installation directories.
|
|
8
|
+
*/
|
|
9
|
+
/** Global modules directory (user-level) */
|
|
10
|
+
export declare const GLOBAL_MODULES_DIR: string;
|
|
11
|
+
/** Global config directory */
|
|
12
|
+
export declare const GLOBAL_CONFIG_DIR: string;
|
|
13
|
+
/** Installed modules manifest file */
|
|
14
|
+
export declare const INSTALLED_MANIFEST: string;
|
|
15
|
+
/**
|
|
16
|
+
* Get all module search paths for a given working directory.
|
|
17
|
+
*
|
|
18
|
+
* Search order (higher priority first):
|
|
19
|
+
* 1. Project-level: ./cognitive_modules/
|
|
20
|
+
* 2. Project-level: ./cognitive/modules/
|
|
21
|
+
* 3. Global: ~/.cognitive/modules/
|
|
22
|
+
*/
|
|
23
|
+
export declare function getModuleSearchPaths(cwd?: string): string[];
|
|
24
|
+
/**
|
|
25
|
+
* Get only existing module search paths.
|
|
26
|
+
*/
|
|
27
|
+
export declare function getExistingModuleSearchPaths(cwd?: string): string[];
|
|
28
|
+
/**
|
|
29
|
+
* Get the project-level modules directory.
|
|
30
|
+
* Creates it if it doesn't exist.
|
|
31
|
+
*/
|
|
32
|
+
export declare function getProjectModulesDir(cwd?: string): string;
|
|
33
|
+
/**
|
|
34
|
+
* Get the global modules directory.
|
|
35
|
+
* Creates it if it doesn't exist.
|
|
36
|
+
*/
|
|
37
|
+
export declare function getGlobalModulesDir(): string;
|
|
38
|
+
export interface InstalledModuleInfo {
|
|
39
|
+
source: string;
|
|
40
|
+
githubUrl?: string;
|
|
41
|
+
modulePath?: string;
|
|
42
|
+
tag?: string;
|
|
43
|
+
branch?: string;
|
|
44
|
+
version?: string;
|
|
45
|
+
installedAt: string;
|
|
46
|
+
installedTime: string;
|
|
47
|
+
}
|
|
48
|
+
export interface InstalledManifest {
|
|
49
|
+
[moduleName: string]: InstalledModuleInfo;
|
|
50
|
+
}
|
|
51
|
+
/**
|
|
52
|
+
* Load the installed modules manifest.
|
|
53
|
+
*/
|
|
54
|
+
export declare function loadInstalledManifest(): InstalledManifest;
|
|
55
|
+
/**
|
|
56
|
+
* Save the installed modules manifest.
|
|
57
|
+
*/
|
|
58
|
+
export declare function saveInstalledManifest(manifest: InstalledManifest): void;
|
|
59
|
+
/**
|
|
60
|
+
* Record a module installation.
|
|
61
|
+
*/
|
|
62
|
+
export declare function recordInstall(moduleName: string, info: InstalledModuleInfo): void;
|
|
63
|
+
/**
|
|
64
|
+
* Remove a module from the manifest.
|
|
65
|
+
*/
|
|
66
|
+
export declare function removeFromManifest(moduleName: string): void;
|
|
67
|
+
/**
|
|
68
|
+
* Get installation info for a module.
|
|
69
|
+
*/
|
|
70
|
+
export declare function getInstallInfo(moduleName: string): InstalledModuleInfo | null;
|
|
71
|
+
/**
|
|
72
|
+
* Find a module by name in all search paths.
|
|
73
|
+
*/
|
|
74
|
+
export declare function findModulePath(moduleName: string, cwd?: string): string | null;
|
|
75
|
+
/**
|
|
76
|
+
* Check if a module is installed globally.
|
|
77
|
+
*/
|
|
78
|
+
export declare function isGlobalModule(modulePath: string): boolean;
|
|
79
|
+
/**
|
|
80
|
+
* Check if a module is installed in the project.
|
|
81
|
+
*/
|
|
82
|
+
export declare function isProjectModule(modulePath: string, cwd?: string): boolean;
|
|
@@ -0,0 +1,142 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @license
|
|
3
|
+
* Copyright 2025 Google LLC
|
|
4
|
+
* SPDX-License-Identifier: Apache-2.0
|
|
5
|
+
*
|
|
6
|
+
* Cognitive Module Paths
|
|
7
|
+
* Manages module search paths and installation directories.
|
|
8
|
+
*/
|
|
9
|
+
import * as fs from 'node:fs';
|
|
10
|
+
import * as path from 'node:path';
|
|
11
|
+
import { homedir } from 'node:os';
|
|
12
|
+
// =============================================================================
|
|
13
|
+
// Directory Constants
|
|
14
|
+
// =============================================================================
|
|
15
|
+
/** Global modules directory (user-level) */
|
|
16
|
+
export const GLOBAL_MODULES_DIR = path.join(homedir(), '.cognitive', 'modules');
|
|
17
|
+
/** Global config directory */
|
|
18
|
+
export const GLOBAL_CONFIG_DIR = path.join(homedir(), '.cognitive');
|
|
19
|
+
/** Installed modules manifest file */
|
|
20
|
+
export const INSTALLED_MANIFEST = path.join(GLOBAL_CONFIG_DIR, 'installed.json');
|
|
21
|
+
// =============================================================================
|
|
22
|
+
// Search Paths
|
|
23
|
+
// =============================================================================
|
|
24
|
+
/**
|
|
25
|
+
* Get all module search paths for a given working directory.
|
|
26
|
+
*
|
|
27
|
+
* Search order (higher priority first):
|
|
28
|
+
* 1. Project-level: ./cognitive_modules/
|
|
29
|
+
* 2. Project-level: ./cognitive/modules/
|
|
30
|
+
* 3. Global: ~/.cognitive/modules/
|
|
31
|
+
*/
|
|
32
|
+
export function getModuleSearchPaths(cwd = process.cwd()) {
|
|
33
|
+
const paths = [];
|
|
34
|
+
// Project-level paths
|
|
35
|
+
paths.push(path.join(cwd, 'cognitive_modules'));
|
|
36
|
+
paths.push(path.join(cwd, 'cognitive', 'modules'));
|
|
37
|
+
// Global path
|
|
38
|
+
paths.push(GLOBAL_MODULES_DIR);
|
|
39
|
+
return paths;
|
|
40
|
+
}
|
|
41
|
+
/**
|
|
42
|
+
* Get only existing module search paths.
|
|
43
|
+
*/
|
|
44
|
+
export function getExistingModuleSearchPaths(cwd = process.cwd()) {
|
|
45
|
+
return getModuleSearchPaths(cwd).filter(p => fs.existsSync(p));
|
|
46
|
+
}
|
|
47
|
+
/**
|
|
48
|
+
* Get the project-level modules directory.
|
|
49
|
+
* Creates it if it doesn't exist.
|
|
50
|
+
*/
|
|
51
|
+
export function getProjectModulesDir(cwd = process.cwd()) {
|
|
52
|
+
const dir = path.join(cwd, 'cognitive_modules');
|
|
53
|
+
if (!fs.existsSync(dir)) {
|
|
54
|
+
fs.mkdirSync(dir, { recursive: true });
|
|
55
|
+
}
|
|
56
|
+
return dir;
|
|
57
|
+
}
|
|
58
|
+
/**
|
|
59
|
+
* Get the global modules directory.
|
|
60
|
+
* Creates it if it doesn't exist.
|
|
61
|
+
*/
|
|
62
|
+
export function getGlobalModulesDir() {
|
|
63
|
+
if (!fs.existsSync(GLOBAL_MODULES_DIR)) {
|
|
64
|
+
fs.mkdirSync(GLOBAL_MODULES_DIR, { recursive: true });
|
|
65
|
+
}
|
|
66
|
+
return GLOBAL_MODULES_DIR;
|
|
67
|
+
}
|
|
68
|
+
/**
|
|
69
|
+
* Load the installed modules manifest.
|
|
70
|
+
*/
|
|
71
|
+
export function loadInstalledManifest() {
|
|
72
|
+
if (!fs.existsSync(INSTALLED_MANIFEST)) {
|
|
73
|
+
return {};
|
|
74
|
+
}
|
|
75
|
+
try {
|
|
76
|
+
const content = fs.readFileSync(INSTALLED_MANIFEST, 'utf-8');
|
|
77
|
+
return JSON.parse(content);
|
|
78
|
+
}
|
|
79
|
+
catch {
|
|
80
|
+
return {};
|
|
81
|
+
}
|
|
82
|
+
}
|
|
83
|
+
/**
|
|
84
|
+
* Save the installed modules manifest.
|
|
85
|
+
*/
|
|
86
|
+
export function saveInstalledManifest(manifest) {
|
|
87
|
+
if (!fs.existsSync(GLOBAL_CONFIG_DIR)) {
|
|
88
|
+
fs.mkdirSync(GLOBAL_CONFIG_DIR, { recursive: true });
|
|
89
|
+
}
|
|
90
|
+
fs.writeFileSync(INSTALLED_MANIFEST, JSON.stringify(manifest, null, 2));
|
|
91
|
+
}
|
|
92
|
+
/**
|
|
93
|
+
* Record a module installation.
|
|
94
|
+
*/
|
|
95
|
+
export function recordInstall(moduleName, info) {
|
|
96
|
+
const manifest = loadInstalledManifest();
|
|
97
|
+
manifest[moduleName] = info;
|
|
98
|
+
saveInstalledManifest(manifest);
|
|
99
|
+
}
|
|
100
|
+
/**
|
|
101
|
+
* Remove a module from the manifest.
|
|
102
|
+
*/
|
|
103
|
+
export function removeFromManifest(moduleName) {
|
|
104
|
+
const manifest = loadInstalledManifest();
|
|
105
|
+
delete manifest[moduleName];
|
|
106
|
+
saveInstalledManifest(manifest);
|
|
107
|
+
}
|
|
108
|
+
/**
|
|
109
|
+
* Get installation info for a module.
|
|
110
|
+
*/
|
|
111
|
+
export function getInstallInfo(moduleName) {
|
|
112
|
+
const manifest = loadInstalledManifest();
|
|
113
|
+
return manifest[moduleName] || null;
|
|
114
|
+
}
|
|
115
|
+
// =============================================================================
|
|
116
|
+
// Module Location
|
|
117
|
+
// =============================================================================
|
|
118
|
+
/**
|
|
119
|
+
* Find a module by name in all search paths.
|
|
120
|
+
*/
|
|
121
|
+
export function findModulePath(moduleName, cwd = process.cwd()) {
|
|
122
|
+
for (const searchPath of getModuleSearchPaths(cwd)) {
|
|
123
|
+
const modulePath = path.join(searchPath, moduleName);
|
|
124
|
+
if (fs.existsSync(modulePath)) {
|
|
125
|
+
return modulePath;
|
|
126
|
+
}
|
|
127
|
+
}
|
|
128
|
+
return null;
|
|
129
|
+
}
|
|
130
|
+
/**
|
|
131
|
+
* Check if a module is installed globally.
|
|
132
|
+
*/
|
|
133
|
+
export function isGlobalModule(modulePath) {
|
|
134
|
+
return modulePath.startsWith(GLOBAL_MODULES_DIR);
|
|
135
|
+
}
|
|
136
|
+
/**
|
|
137
|
+
* Check if a module is installed in the project.
|
|
138
|
+
*/
|
|
139
|
+
export function isProjectModule(modulePath, cwd = process.cwd()) {
|
|
140
|
+
return modulePath.startsWith(cwd);
|
|
141
|
+
}
|
|
142
|
+
//# sourceMappingURL=paths.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"paths.js","sourceRoot":"","sources":["../../../src/cognitive/paths.ts"],"names":[],"mappings":"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"}
|
|
@@ -11,19 +11,14 @@ import * as path from 'node:path';
|
|
|
11
11
|
import * as os from 'node:os';
|
|
12
12
|
import { discoverModules, loadModule } from '../loader/index.js';
|
|
13
13
|
import { CognitiveTool, createCognitiveTool } from './cognitive-tool.js';
|
|
14
|
+
import { getModuleSearchPaths } from '../paths.js';
|
|
14
15
|
/**
|
|
15
16
|
* Default configuration.
|
|
16
17
|
*/
|
|
17
18
|
export function getDefaultConfig() {
|
|
18
|
-
const homeDir = os.homedir();
|
|
19
19
|
return {
|
|
20
20
|
enabled: true,
|
|
21
|
-
modulePaths:
|
|
22
|
-
path.join(homeDir, '.cognitive', 'modules'),
|
|
23
|
-
path.join(homeDir, '.gemini', 'cognitive', 'modules'),
|
|
24
|
-
'./cognitive/modules',
|
|
25
|
-
'./cognitive',
|
|
26
|
-
],
|
|
21
|
+
modulePaths: getModuleSearchPaths(),
|
|
27
22
|
};
|
|
28
23
|
}
|
|
29
24
|
// =============================================================================
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"cognitive-registry.js","sourceRoot":"","sources":["../../../../src/cognitive/tool/cognitive-registry.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,OAAO,KAAK,EAAE,MAAM,SAAS,CAAC;AAC9B,OAAO,KAAK,IAAI,MAAM,WAAW,CAAC;AAClC,OAAO,KAAK,EAAE,MAAM,SAAS,CAAC;AAG9B,OAAO,EAAE,eAAe,EAAE,UAAU,EAAE,MAAM,oBAAoB,CAAC;AACjE,OAAO,EAAE,aAAa,EAAE,mBAAmB,EAAE,MAAM,qBAAqB,CAAC;
|
|
1
|
+
{"version":3,"file":"cognitive-registry.js","sourceRoot":"","sources":["../../../../src/cognitive/tool/cognitive-registry.ts"],"names":[],"mappings":"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"}
|
|
@@ -719,6 +719,10 @@ export declare class Config {
|
|
|
719
719
|
getEnableHooks(): boolean;
|
|
720
720
|
getEnableHooksUI(): boolean;
|
|
721
721
|
createToolRegistry(): Promise<ToolRegistry>;
|
|
722
|
+
/**
|
|
723
|
+
* Registers Cognitive Modules as tools.
|
|
724
|
+
*/
|
|
725
|
+
private registerCognitiveTools;
|
|
722
726
|
/**
|
|
723
727
|
* Registers SubAgentTools for all available agents.
|
|
724
728
|
*/
|