"use strict";
/**
 * src/retention -- Barrel export for the P4-RET retention engine.
 *
 * Implements:
 *   P4-RET-01 (data classification + pack-binding enforcement)
 *   P4-RET-02 (PolicyMatrix)
 *   P4-RET-03 (LegalHold)
 *   P4-RET-04 (multi-store enforcement: filesystem, DB, S3, log aggregators)
 *   P4-RET-05 (deletion audit + dashboard -- dashboard in next cycle)
 *
 * @connexum/ai-governance
 */
Object.defineProperty(exports, "__esModule", { value: true });
exports.buildRetentionSchedule = exports.SentinelRetentionAdapter = exports.DatadogRetentionAdapter = exports.SplunkRetentionAdapter = exports.noOpRetentionAdapter = exports.NoOpRetentionAdapter = exports.GLOBAL_DB_SWEEP_TENANT = exports.trackEnforcementRun = exports.InMemoryEnforcementLogStore = exports.PhiWithoutHipaaError = exports.__resetClassifierForTest = exports.getClassifier = exports.classifyAndTag = exports.InvalidPackRetentionError = exports.ConflictingContractTermsError = exports.MissingRetentionPolicyError = exports.PolicyMatrix = exports.LegalHoldConcurrencyError = exports.LegalHoldNotFoundError = exports.LegalHoldScopeEmptyError = exports.LegalHoldError = exports.makeNoOpAuditEmitter = exports.LegalHoldStore = exports.createRetentionWindowResolver = exports.defaultRetentionWindowResolver = exports.retentionWindowElapsed = exports.emitPackBindingChangedEvent = exports.UnboundDataError = exports.UnclassifiedWriteError = exports.RetentionError = exports.DataClassifier = exports.DEFAULT_CLASSIFICATION_RULES = exports.DataClass = void 0;
// --- P4-RET-01: Data classification ---
var data_class_1 = require("./data-class");
Object.defineProperty(exports, "DataClass", { enumerable: true, get: function () { return data_class_1.DataClass; } });
var classification_rules_1 = require("./classification-rules");
Object.defineProperty(exports, "DEFAULT_CLASSIFICATION_RULES", { enumerable: true, get: function () { return classification_rules_1.DEFAULT_CLASSIFICATION_RULES; } });
var classifier_1 = require("./classifier");
Object.defineProperty(exports, "DataClassifier", { enumerable: true, get: function () { return classifier_1.DataClassifier; } });
Object.defineProperty(exports, "RetentionError", { enumerable: true, get: function () { return classifier_1.RetentionError; } });
Object.defineProperty(exports, "UnclassifiedWriteError", { enumerable: true, get: function () { return classifier_1.UnclassifiedWriteError; } });
Object.defineProperty(exports, "UnboundDataError", { enumerable: true, get: function () { return classifier_1.UnboundDataError; } });
Object.defineProperty(exports, "emitPackBindingChangedEvent", { enumerable: true, get: function () { return classifier_1.emitPackBindingChangedEvent; } });
Object.defineProperty(exports, "retentionWindowElapsed", { enumerable: true, get: function () { return classifier_1.retentionWindowElapsed; } });
Object.defineProperty(exports, "defaultRetentionWindowResolver", { enumerable: true, get: function () { return classifier_1.defaultRetentionWindowResolver; } });
Object.defineProperty(exports, "createRetentionWindowResolver", { enumerable: true, get: function () { return classifier_1.createRetentionWindowResolver; } });
var legal_hold_store_1 = require("./legal-hold-store");
Object.defineProperty(exports, "LegalHoldStore", { enumerable: true, get: function () { return legal_hold_store_1.LegalHoldStore; } });
Object.defineProperty(exports, "makeNoOpAuditEmitter", { enumerable: true, get: function () { return legal_hold_store_1.makeNoOpAuditEmitter; } });
var legal_hold_errors_1 = require("./legal-hold-errors");
Object.defineProperty(exports, "LegalHoldError", { enumerable: true, get: function () { return legal_hold_errors_1.LegalHoldError; } });
Object.defineProperty(exports, "LegalHoldScopeEmptyError", { enumerable: true, get: function () { return legal_hold_errors_1.LegalHoldScopeEmptyError; } });
Object.defineProperty(exports, "LegalHoldNotFoundError", { enumerable: true, get: function () { return legal_hold_errors_1.LegalHoldNotFoundError; } });
Object.defineProperty(exports, "LegalHoldConcurrencyError", { enumerable: true, get: function () { return legal_hold_errors_1.LegalHoldConcurrencyError; } });
// --- P4-RET-02: PolicyMatrix ---
var policy_matrix_1 = require("./policy-matrix");
Object.defineProperty(exports, "PolicyMatrix", { enumerable: true, get: function () { return policy_matrix_1.PolicyMatrix; } });
var policy_matrix_errors_1 = require("./policy-matrix-errors");
Object.defineProperty(exports, "MissingRetentionPolicyError", { enumerable: true, get: function () { return policy_matrix_errors_1.MissingRetentionPolicyError; } });
Object.defineProperty(exports, "ConflictingContractTermsError", { enumerable: true, get: function () { return policy_matrix_errors_1.ConflictingContractTermsError; } });
Object.defineProperty(exports, "InvalidPackRetentionError", { enumerable: true, get: function () { return policy_matrix_errors_1.InvalidPackRetentionError; } });
// --- P4-RET-01: Ingress DataClassifier (classifyAndTag) ---
var ingest_classifier_1 = require("./ingest-classifier");
Object.defineProperty(exports, "classifyAndTag", { enumerable: true, get: function () { return ingest_classifier_1.classifyAndTag; } });
Object.defineProperty(exports, "getClassifier", { enumerable: true, get: function () { return ingest_classifier_1.getClassifier; } });
Object.defineProperty(exports, "__resetClassifierForTest", { enumerable: true, get: function () { return ingest_classifier_1.__resetClassifierForTest; } });
Object.defineProperty(exports, "PhiWithoutHipaaError", { enumerable: true, get: function () { return ingest_classifier_1.PhiWithoutHipaaError; } });
// --- F-NEW-RETENTION-ENFORCEMENT-TRACKER: enforcement run history ---
var enforcement_log_store_1 = require("./enforcement-log-store");
Object.defineProperty(exports, "InMemoryEnforcementLogStore", { enumerable: true, get: function () { return enforcement_log_store_1.InMemoryEnforcementLogStore; } });
Object.defineProperty(exports, "trackEnforcementRun", { enumerable: true, get: function () { return enforcement_log_store_1.trackEnforcementRun; } });
Object.defineProperty(exports, "GLOBAL_DB_SWEEP_TENANT", { enumerable: true, get: function () { return enforcement_log_store_1.GLOBAL_DB_SWEEP_TENANT; } });
var noop_1 = require("./log-aggregators/noop");
Object.defineProperty(exports, "NoOpRetentionAdapter", { enumerable: true, get: function () { return noop_1.NoOpRetentionAdapter; } });
Object.defineProperty(exports, "noOpRetentionAdapter", { enumerable: true, get: function () { return noop_1.noOpRetentionAdapter; } });
var splunk_1 = require("./log-aggregators/splunk");
Object.defineProperty(exports, "SplunkRetentionAdapter", { enumerable: true, get: function () { return splunk_1.SplunkRetentionAdapter; } });
var datadog_1 = require("./log-aggregators/datadog");
Object.defineProperty(exports, "DatadogRetentionAdapter", { enumerable: true, get: function () { return datadog_1.DatadogRetentionAdapter; } });
var sentinel_1 = require("./log-aggregators/sentinel");
Object.defineProperty(exports, "SentinelRetentionAdapter", { enumerable: true, get: function () { return sentinel_1.SentinelRetentionAdapter; } });
var backup_retention_adapter_1 = require("./backup-retention-adapter");
Object.defineProperty(exports, "buildRetentionSchedule", { enumerable: true, get: function () { return backup_retention_adapter_1.buildRetentionSchedule; } });
//# sourceMappingURL=index.js.map