mirror of
https://github.com/AutoMaker-Org/automaker.git
synced 2026-01-31 06:42:03 +00:00
- Introduced a new command for validating tests, providing detailed instructions for running tests and fixing failures based on code changes. - Updated the environment variable handling in the Claude provider to only allow explicitly defined variables, enhancing security and preventing leakage of sensitive information. - Improved feature loading to handle errors more gracefully and load features concurrently, optimizing performance. - Centralized port configuration for the Automaker application to prevent accidental termination of critical services.
121 lines
2.6 KiB
TypeScript
121 lines
2.6 KiB
TypeScript
/**
|
|
* @automaker/platform
|
|
* Platform-specific utilities for AutoMaker
|
|
*/
|
|
|
|
// Path utilities
|
|
export {
|
|
getAutomakerDir,
|
|
getFeaturesDir,
|
|
getFeatureDir,
|
|
getFeatureImagesDir,
|
|
getBoardDir,
|
|
getImagesDir,
|
|
getContextDir,
|
|
getWorktreesDir,
|
|
getValidationsDir,
|
|
getValidationDir,
|
|
getValidationPath,
|
|
getAppSpecPath,
|
|
getBranchTrackingPath,
|
|
ensureAutomakerDir,
|
|
getGlobalSettingsPath,
|
|
getCredentialsPath,
|
|
getProjectSettingsPath,
|
|
ensureDataDir,
|
|
} from './paths.js';
|
|
|
|
// Subprocess management
|
|
export {
|
|
spawnJSONLProcess,
|
|
spawnProcess,
|
|
type SubprocessOptions,
|
|
type SubprocessResult,
|
|
} from './subprocess.js';
|
|
|
|
// Security
|
|
export {
|
|
PathNotAllowedError,
|
|
initAllowedPaths,
|
|
isPathAllowed,
|
|
validatePath,
|
|
isPathWithinDirectory,
|
|
getAllowedRootDirectory,
|
|
getDataDirectory,
|
|
getAllowedPaths,
|
|
} from './security.js';
|
|
|
|
// Secure file system (validates paths before I/O operations)
|
|
export * as secureFs from './secure-fs.js';
|
|
|
|
// Node.js executable finder (cross-platform)
|
|
export {
|
|
findNodeExecutable,
|
|
buildEnhancedPath,
|
|
type NodeFinderResult,
|
|
type NodeFinderOptions,
|
|
} from './node-finder.js';
|
|
|
|
// System paths for tool detection (GitHub CLI, Claude CLI, Node.js, etc.)
|
|
export * as systemPaths from './system-paths.js';
|
|
export {
|
|
// CLI tool paths
|
|
getGitHubCliPaths,
|
|
getClaudeCliPaths,
|
|
getClaudeConfigDir,
|
|
getClaudeCredentialPaths,
|
|
getClaudeSettingsPath,
|
|
getClaudeStatsCachePath,
|
|
getClaudeProjectsDir,
|
|
getShellPaths,
|
|
getExtendedPath,
|
|
// Node.js paths
|
|
getNvmPaths,
|
|
getFnmPaths,
|
|
getNodeSystemPaths,
|
|
getScoopNodePath,
|
|
getChocolateyNodePath,
|
|
getWslVersionPath,
|
|
// System path operations
|
|
systemPathExists,
|
|
systemPathAccess,
|
|
systemPathIsExecutable,
|
|
systemPathReadFile,
|
|
systemPathReadFileSync,
|
|
systemPathWriteFileSync,
|
|
systemPathReaddir,
|
|
systemPathReaddirSync,
|
|
systemPathStatSync,
|
|
systemPathStat,
|
|
isAllowedSystemPath,
|
|
// High-level methods
|
|
findFirstExistingPath,
|
|
findGitHubCliPath,
|
|
findClaudeCliPath,
|
|
getClaudeAuthIndicators,
|
|
type ClaudeAuthIndicators,
|
|
// Electron userData operations
|
|
setElectronUserDataPath,
|
|
getElectronUserDataPath,
|
|
isElectronUserDataPath,
|
|
electronUserDataReadFileSync,
|
|
electronUserDataWriteFileSync,
|
|
electronUserDataExists,
|
|
// Script directory operations
|
|
setScriptBaseDir,
|
|
getScriptBaseDir,
|
|
scriptDirExists,
|
|
scriptDirMkdirSync,
|
|
scriptDirCreateWriteStream,
|
|
// Electron app bundle operations
|
|
setElectronAppPaths,
|
|
electronAppExists,
|
|
electronAppReadFileSync,
|
|
electronAppStatSync,
|
|
electronAppStat,
|
|
electronAppReadFile,
|
|
} from './system-paths.js';
|
|
|
|
// Port configuration
|
|
export { STATIC_PORT, SERVER_PORT, RESERVED_PORTS } from './config/ports.js';
|