@sentzunhat/zacatl
Version:
A modular, high-performance TypeScript microservice framework for Node.js, featuring layered architecture, dependency injection, and robust validation for building scalable APIs and distributed systems.
25 lines (24 loc) • 929 B
JavaScript
/**
* Structured command specification and result types (scripts-only).
*
* Simplified versions designed for build scripts that cannot depend on src/.
* For production code, use types from `src/utils/command-runner`.
*/
/** Default safe values for RunnerPolicy */
export const DEFAULT_RUNNER_POLICY = {
timeoutMs: 30000,
maxOutputBytes: 1048576,
maxConcurrency: 4,
inheritEnv: false,
};
/**
* Applies defaults to a partial policy object.
* @param input - Partial policy with some or all fields
* @returns - Full RunnerPolicy with defaults applied
*/
export const applyPolicyDefaults = (input) => ({
timeoutMs: input.timeoutMs ?? DEFAULT_RUNNER_POLICY.timeoutMs,
maxOutputBytes: input.maxOutputBytes ?? DEFAULT_RUNNER_POLICY.maxOutputBytes,
maxConcurrency: input.maxConcurrency ?? DEFAULT_RUNNER_POLICY.maxConcurrency,
inheritEnv: input.inheritEnv ?? DEFAULT_RUNNER_POLICY.inheritEnv,
});