"use strict";
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
    if (k2 === undefined) k2 = k;
    var desc = Object.getOwnPropertyDescriptor(m, k);
    if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
      desc = { enumerable: true, get: function() { return m[k]; } };
    }
    Object.defineProperty(o, k2, desc);
}) : (function(o, m, k, k2) {
    if (k2 === undefined) k2 = k;
    o[k2] = m[k];
}));
var __exportStar = (this && this.__exportStar) || function(m, exports) {
    for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
};
Object.defineProperty(exports, "__esModule", { value: true });
exports.CONTAINER_RUNTIMES = exports.CONTAINER_INTERNAL_PORT = exports.DOCKERFILE_NAME = exports.ONE_GB = exports.DEFAULT_PYTHON_PLATFORM = exports.NPM_INSTALL_HINT = exports.UV_INSTALL_HINT = exports.ENV_FILE = exports.CONFIG_FILES = exports.CLI_LOGS_DIR = exports.CLI_SYSTEM_DIR = exports.MCP_APP_SUBDIR = exports.APP_DIR = exports.CONFIG_DIR = void 0;
exports.getArtifactZipName = getArtifactZipName;
exports.getDockerfilePath = getDockerfilePath;
const path_1 = require("path");
// Re-export all schema constants from schema
__exportStar(require("../schema"), exports);
// Configuration directory and file names
exports.CONFIG_DIR = 'agentcore';
// Application code directory (for generated agents and MCP tools)
exports.APP_DIR = 'app';
exports.MCP_APP_SUBDIR = 'mcp';
// CLI system subdirectory (inside CONFIG_DIR)
exports.CLI_SYSTEM_DIR = '.cli';
exports.CLI_LOGS_DIR = 'logs';
exports.CONFIG_FILES = {
    AGENT_ENV: 'agentcore.json',
    AWS_TARGETS: 'aws-targets.json',
    DEPLOYED_STATE: 'deployed-state.json',
    MCP_DEFS: 'mcp-defs.json',
};
/** Environment file for secrets (API keys, etc.) - local only, not committed */
exports.ENV_FILE = '.env.local';
/**
 * Get the artifact zip name for a bundle
 * @param name Name for the artifact (agent or tool name)
 * @returns <name>.zip
 */
function getArtifactZipName(name) {
    return `${name}.zip`;
}
exports.UV_INSTALL_HINT = 'Install uv from https://github.com/astral-sh/uv#installation and ensure it is on your PATH.';
exports.NPM_INSTALL_HINT = 'Install npm from https://nodejs.org/ and ensure it is on your PATH.';
exports.DEFAULT_PYTHON_PLATFORM = 'aarch64-manylinux2014';
// Container constants
exports.ONE_GB = 1024 * 1024 * 1024;
exports.DOCKERFILE_NAME = 'Dockerfile';
exports.CONTAINER_INTERNAL_PORT = 8080;
exports.CONTAINER_RUNTIMES = ['docker', 'podman', 'finch'];
/**
 * Get the Dockerfile path for a given code location.
 * @param codeLocation - Directory containing the Dockerfile
 * @param dockerfile - Custom Dockerfile name (default: 'Dockerfile')
 */
function getDockerfilePath(codeLocation, dockerfile) {
    const name = dockerfile ?? exports.DOCKERFILE_NAME;
    if (name.includes('/') || name.includes('\\') || name.includes('..')) {
        throw new Error(`Invalid dockerfile name: must be a filename without path separators or traversal`);
    }
    return (0, path_1.join)(codeLocation, name);
}
//# sourceMappingURL=constants.js.map