// ../initiatives/dist/initiative-constants.js
var INIT_STATUSES = ["draft", "open", "in_progress", "done", "archived"];
var PHASE_STATUSES = ["pending", "in_progress", "done", "blocked"];
var PRIORITIES = ["P0", "P1", "P2", "P3"];
var INIT_PATTERNS = {
  /** Initiative ID format (INIT-NNN where NNN is digits or INIT-NAME for named initiatives) */
  INIT_ID: /^INIT-[\dA-Z][\dA-Z-]*$/,
  /** Extract INIT ID from string */
  INIT_ID_EXTRACT: /INIT-[\dA-Z][\dA-Z-]*/,
  /** Kebab-case slug format */
  // eslint-disable-next-line security/detect-unsafe-regex -- static slug pattern; no backtracking risk
  SLUG: /^[a-z0-9]+(-[a-z0-9]+)*$/,
  /** Date format (YYYY-MM-DD) */
  DATE: /^\d{4}-\d{2}-\d{2}$/
};
var INIT_COMMIT_FORMATS = {
  /**
   * Create initiative commit message
   * @param id - Initiative ID
   * @param title - Initiative title
   * @returns Commit message
   */
  CREATE: (id, title) => {
    const shortTitle = title.length > 50 ? `${title.substring(0, 47)}...` : title;
    return `docs: create ${id.toLowerCase()} for ${shortTitle.toLowerCase()}`;
  },
  /**
   * Update initiative commit message
   * @param id - Initiative ID
   * @returns Commit message
   */
  UPDATE: (id) => `docs: update ${id.toLowerCase()}`,
  /**
   * Link WU to initiative commit message
   * @param wuId - WU ID
   * @param initId - Initiative ID
   * @returns Commit message
   */
  LINK_WU: (wuId, initId) => `docs: link ${wuId.toLowerCase()} to ${initId.toLowerCase()}`,
  /**
   * Unlink WU from initiative commit message (WU-1328)
   * @param wuId - WU ID
   * @param initId - Initiative ID
   * @returns Commit message
   */
  UNLINK_WU: (wuId, initId) => `docs: unlink ${wuId.toLowerCase()} from ${initId.toLowerCase()}`,
  /**
   * Edit initiative commit message (WU-1451)
   * @param id - Initiative ID
   * @returns Commit message
   */
  EDIT: (id) => `docs: edit ${id.toLowerCase()}`
};
var INIT_LOG_PREFIX = {
  CREATE: "[initiative:create]",
  LIST: "[initiative:list]",
  STATUS: "[initiative:status]",
  ADD_WU: "[initiative:add-wu]",
  REMOVE_WU: "[initiative:remove-wu]",
  // WU-1328: Remove WU from initiative
  EDIT: "[initiative:edit]"
  // WU-1451: Initiative edit operation
};
var INIT_DEFAULTS = {
  STATUS: "draft",
  PRIORITY: "P2"
};
var OUTPUT_FORMATS = {
  TABLE: "table",
  JSON: "json",
  ASCII: "ascii",
  MERMAID: "mermaid"
};

export {
  INIT_STATUSES,
  PHASE_STATUSES,
  PRIORITIES,
  INIT_PATTERNS,
  INIT_COMMIT_FORMATS,
  INIT_LOG_PREFIX,
  INIT_DEFAULTS,
  OUTPUT_FORMATS
};
