{"version":3,"sources":["../src/severity.ts","../src/testing.ts"],"names":[],"mappings":"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","file":"testing.cjs","sourcesContent":["/**\n * Severity heuristic for Domicilio Electrónico notifications.\n *\n * The DEC inbox is a noisy stream — courtesy notices, acuses de recibo,\n * actual binding notifications. The agent needs a triage signal so it can\n * prioritise responses to legally-binding deadlines and ignore informational\n * spam.\n *\n * The heuristic is intentionally conservative: when in doubt, escalate.\n * False positives (calling something critical when it's only important)\n * waste agent cycles; false negatives (missing a critical deadline) cost\n * the sociedad-IA real money or its registration.\n */\n\nconst ORGANISM_RULES: Array<{ match: RegExp; level: \"critical\" | \"important\" }> = [\n  { match: /\\b(arca|afip)\\b/i, level: \"critical\" },\n  { match: /\\b(igj|registro\\s+publico|inspeccion)\\b/i, level: \"critical\" },\n  { match: /\\baduana\\b/i, level: \"critical\" },\n  { match: /\\b(ministerio\\s+de\\s+trabajo|trabajo)\\b/i, level: \"important\" },\n  { match: /\\banses\\b/i, level: \"important\" },\n  { match: /\\bbcra\\b/i, level: \"important\" },\n];\n\nconst SUBJECT_KEYWORDS_CRITICAL: RegExp[] = [\n  /intimaci[oó]n/i,\n  /vista\\s+previa/i,\n  /requerimiento/i,\n  /sumario/i,\n  /clausura/i,\n  /multa/i,\n  /sanci[oó]n/i,\n  /audiencia/i,\n  /apercibimiento/i,\n  /traslado/i,\n  /baja\\s+(de\\s+)?inscripci[oó]n/i,\n];\n\nconst SUBJECT_KEYWORDS_IMPORTANT: RegExp[] = [\n  /resoluci[oó]n/i,\n  /providencia/i,\n  /constataci[oó]n/i,\n  /verificaci[oó]n/i,\n  /informe/i,\n  /vencimiento/i,\n];\n\nconst SUBJECT_KEYWORDS_INFO: RegExp[] = [\n  /acuse\\s+de\\s+recibo/i,\n  /confirmaci[oó]n/i,\n  /notificaci[oó]n\\s+de\\s+cortes[ií]a/i,\n  /aviso\\s+(de\\s+)?lectura/i,\n  /circular/i,\n];\n\n/**\n * Compute a severity given the issuing organism, subject, and (optionally)\n * an explicit response-due date.\n */\nexport function computeSeverity(input: {\n  organism: string;\n  subject: string;\n  responseDueBy: string | null;\n}): \"critical\" | \"important\" | \"info\" {\n  const { organism, subject, responseDueBy } = input;\n\n  // 1. Hard signals: explicit response deadline → at least important.\n  const hasDeadline =\n    !!responseDueBy && !Number.isNaN(Date.parse(responseDueBy));\n\n  // 2. Subject-keyword scan.\n  if (SUBJECT_KEYWORDS_CRITICAL.some((rx) => rx.test(subject))) {\n    return \"critical\";\n  }\n  if (SUBJECT_KEYWORDS_INFO.some((rx) => rx.test(subject)) && !hasDeadline) {\n    return \"info\";\n  }\n\n  // 3. Organism-level prior.\n  const organismRule = ORGANISM_RULES.find((r) => r.match.test(organism));\n  const organismLevel = organismRule?.level;\n\n  // 4. Combine.\n  if (organismLevel === \"critical\" && hasDeadline) return \"critical\";\n  if (organismLevel === \"critical\") return \"important\";\n  if (SUBJECT_KEYWORDS_IMPORTANT.some((rx) => rx.test(subject))) {\n    return hasDeadline ? \"important\" : \"info\";\n  }\n  if (organismLevel === \"important\") return hasDeadline ? \"important\" : \"info\";\n  if (hasDeadline) return \"important\";\n  return \"info\";\n}\n","/**\n * `@ar-agents/gde-tad/testing` — fixtures + mock adapters for tests.\n *\n *   - **`MockDomicilioAdapter`** — drop-in for `DomicilioAdapter`. Seed\n *     CUIT → DomicilioInboxResult mappings; `.calls` records every lookup.\n *   - **`MockTramitesAdapter`** — drop-in for `TramitesAdapter`.\n *   - **Factories** for the result shapes:\n *     `mockNotification`, `mockCriticalIntimacionArca`,\n *     `mockInfoCircularBcra`, `mockTramite`, `mockTramiteResuelto`.\n */\n\nimport { computeSeverity } from \"./severity\";\nimport type {\n  DomicilioAdapter,\n  DomicilioInboxResult,\n  DomicilioNotification,\n  MisTramitesResult,\n  Tramite,\n  TramitesAdapter,\n} from \"./types\";\n\nconst todayIso = (offsetDays = 0): string => {\n  const d = new Date();\n  d.setDate(d.getDate() + offsetDays);\n  return d.toISOString();\n};\n\nconst synthId = (seed: string): string =>\n  `NOT-${new Date().getFullYear()}-${seed}-APN-DEC`;\n\n// ─────────────────────────────────────────────────────────────────────────────\n// Notification factories\n// ─────────────────────────────────────────────────────────────────────────────\n\nexport function mockNotification(\n  overrides: Partial<DomicilioNotification> = {},\n): DomicilioNotification {\n  const subject = overrides.subject ?? \"Notificación de cortesía\";\n  const organism = overrides.organism ?? \"ARCA\";\n  const responseDueBy = overrides.responseDueBy ?? null;\n  return {\n    id: overrides.id ?? synthId(Math.floor(Math.random() * 100000).toString()),\n    organism,\n    subject,\n    notifiedAt: overrides.notifiedAt ?? todayIso(0),\n    responseDueBy,\n    body: overrides.body ?? \"—\",\n    acknowledged: overrides.acknowledged ?? false,\n    severity:\n      overrides.severity ?? computeSeverity({ organism, subject, responseDueBy }),\n  };\n}\n\nexport function mockCriticalIntimacionArca(\n  overrides: Partial<DomicilioNotification> = {},\n): DomicilioNotification {\n  return mockNotification({\n    organism: \"ARCA\",\n    subject:\n      \"Intimación por incumplimiento de deber formal — Resolución General 4291\",\n    notifiedAt: todayIso(-2),\n    responseDueBy: todayIso(15),\n    body:\n      \"Se intima al contribuyente a presentar la declaración jurada de IVA del período 2026-04 en un plazo de 15 días corridos, bajo apercibimiento de aplicar las sanciones previstas en la ley 11.683.\",\n    ...overrides,\n  });\n}\n\nexport function mockInfoCircularBcra(\n  overrides: Partial<DomicilioNotification> = {},\n): DomicilioNotification {\n  return mockNotification({\n    organism: \"BCRA\",\n    subject: \"Circular informativa — Modificación de tasas de referencia\",\n    notifiedAt: todayIso(-5),\n    responseDueBy: null,\n    body:\n      \"El BCRA informa que a partir del próximo período mensual modificará las tasas de referencia. Notificación de cortesía — no requiere acción.\",\n    ...overrides,\n  });\n}\n\n// ─────────────────────────────────────────────────────────────────────────────\n// Trámite factories\n// ─────────────────────────────────────────────────────────────────────────────\n\nexport function mockTramite(overrides: Partial<Tramite> = {}): Tramite {\n  return {\n    numero:\n      overrides.numero ??\n      `EX-${new Date().getFullYear()}-${Math.floor(Math.random() * 100000)}-APN-DGD#MI`,\n    type: overrides.type ?? \"Inscripción de Sociedad\",\n    organism: overrides.organism ?? \"IGJ\",\n    status: overrides.status ?? \"tramitacion\",\n    startedAt: overrides.startedAt ?? todayIso(-15),\n    lastUpdatedAt: overrides.lastUpdatedAt ?? todayIso(-1),\n    lastStatusNote:\n      overrides.lastStatusNote ?? \"En análisis por el área de inscripciones.\",\n    publicUrl: overrides.publicUrl ?? null,\n  };\n}\n\nexport function mockTramiteResuelto(overrides: Partial<Tramite> = {}): Tramite {\n  return mockTramite({\n    status: \"resuelto-favorable\",\n    lastStatusNote:\n      \"Trámite resuelto favorablemente. Se emite el documento correspondiente.\",\n    lastUpdatedAt: todayIso(-3),\n    ...overrides,\n  });\n}\n\n// ─────────────────────────────────────────────────────────────────────────────\n// Mock adapters\n// ─────────────────────────────────────────────────────────────────────────────\n\nexport class MockDomicilioAdapter implements DomicilioAdapter {\n  private readonly store = new Map<string, DomicilioInboxResult>();\n  /** Append-only log of every list call. */\n  readonly calls: string[] = [];\n\n  seed(cuit: string, result: DomicilioInboxResult): this {\n    const normalized = cuit.replace(/[^\\d]/g, \"\");\n    this.store.set(normalized, { ...result, cuit: normalized });\n    return this;\n  }\n\n  seedNotifications(cuit: string, notifications: DomicilioNotification[]): this {\n    const normalized = cuit.replace(/[^\\d]/g, \"\");\n    this.store.set(normalized, {\n      cuit: normalized,\n      available: true,\n      error: null,\n      notifications,\n    });\n    return this;\n  }\n\n  reset(): this {\n    this.calls.length = 0;\n    return this;\n  }\n\n  clear(): this {\n    this.store.clear();\n    this.calls.length = 0;\n    return this;\n  }\n\n  async list(cuit: string): Promise<DomicilioInboxResult> {\n    const normalized = cuit.replace(/[^\\d]/g, \"\");\n    this.calls.push(normalized);\n    const seeded = this.store.get(normalized);\n    if (seeded) return seeded;\n    return {\n      cuit: normalized,\n      available: true,\n      error: null,\n      notifications: [],\n    };\n  }\n}\n\nexport class MockTramitesAdapter implements TramitesAdapter {\n  private readonly store = new Map<string, MisTramitesResult>();\n  readonly calls: string[] = [];\n\n  seed(cuit: string, result: MisTramitesResult): this {\n    const normalized = cuit.replace(/[^\\d]/g, \"\");\n    this.store.set(normalized, { ...result, cuit: normalized });\n    return this;\n  }\n\n  seedTramites(cuit: string, tramites: Tramite[]): this {\n    const normalized = cuit.replace(/[^\\d]/g, \"\");\n    this.store.set(normalized, {\n      cuit: normalized,\n      available: true,\n      error: null,\n      tramites,\n    });\n    return this;\n  }\n\n  reset(): this {\n    this.calls.length = 0;\n    return this;\n  }\n\n  clear(): this {\n    this.store.clear();\n    this.calls.length = 0;\n    return this;\n  }\n\n  async list(cuit: string): Promise<MisTramitesResult> {\n    const normalized = cuit.replace(/[^\\d]/g, \"\");\n    this.calls.push(normalized);\n    const seeded = this.store.get(normalized);\n    if (seeded) return seeded;\n    return {\n      cuit: normalized,\n      available: true,\n      error: null,\n      tramites: [],\n    };\n  }\n}\n"]}