mirror of
https://github.com/AutoMaker-Org/automaker.git
synced 2026-01-30 22:32:04 +00:00
173 lines
3.7 KiB
TypeScript
173 lines
3.7 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,
|
|
getExecutionStatePath,
|
|
ensureAutomakerDir,
|
|
getGlobalSettingsPath,
|
|
getCredentialsPath,
|
|
getProjectSettingsPath,
|
|
ensureDataDir,
|
|
// Ideation paths
|
|
getIdeationDir,
|
|
getIdeasDir,
|
|
getIdeaDir,
|
|
getIdeaPath,
|
|
getIdeaAttachmentsDir,
|
|
getIdeationSessionsDir,
|
|
getIdeationSessionPath,
|
|
getIdeationDraftsDir,
|
|
getIdeationAnalysisPath,
|
|
ensureIdeationDir,
|
|
} 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';
|
|
|
|
// WSL (Windows Subsystem for Linux) utilities
|
|
export {
|
|
isWslAvailable,
|
|
clearWslCache,
|
|
getDefaultWslDistribution,
|
|
getWslDistributions,
|
|
findCliInWsl,
|
|
execInWsl,
|
|
createWslCommand,
|
|
windowsToWslPath,
|
|
wslToWindowsPath,
|
|
type WslCliResult,
|
|
type WslOptions,
|
|
} from './wsl.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,
|
|
getCodexCliPaths,
|
|
getCodexConfigDir,
|
|
getCodexAuthPath,
|
|
getGitBashPaths,
|
|
getOpenCodeCliPaths,
|
|
getOpenCodeConfigDir,
|
|
getOpenCodeAuthPath,
|
|
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,
|
|
findCodexCliPath,
|
|
getCodexAuthIndicators,
|
|
type CodexAuthIndicators,
|
|
findGitBashPath,
|
|
findOpenCodeCliPath,
|
|
getOpenCodeAuthIndicators,
|
|
type OpenCodeAuthIndicators,
|
|
// 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';
|
|
|
|
// Editor detection and launching (cross-platform)
|
|
export {
|
|
commandExists,
|
|
clearEditorCache,
|
|
detectAllEditors,
|
|
detectDefaultEditor,
|
|
findEditorByCommand,
|
|
openInEditor,
|
|
openInFileManager,
|
|
} from './editor.js';
|