import { fileURLToPath as __fileURLToPath } from 'url';
import { dirname as __pathDirname } from 'path';
const __filename = __fileURLToPath(import.meta.url);
const __dirname = __pathDirname(__filename);
var TraceType = /* @__PURE__ */ ((TraceType2) => {
  TraceType2["SEARCH_DRIVEN"] = "search_driven";
  TraceType2["ERROR_RECOVERY"] = "error_recovery";
  TraceType2["FEATURE_IMPLEMENTATION"] = "feature_implementation";
  TraceType2["REFACTORING"] = "refactoring";
  TraceType2["TESTING"] = "testing";
  TraceType2["EXPLORATION"] = "exploration";
  TraceType2["DEBUGGING"] = "debugging";
  TraceType2["DOCUMENTATION"] = "documentation";
  TraceType2["BUILD_DEPLOY"] = "build_deploy";
  TraceType2["UNKNOWN"] = "unknown";
  return TraceType2;
})(TraceType || {});
const DEFAULT_TRACE_CONFIG = {
  timeProximityMs: 3e4,
  // 30 seconds
  sameDirThreshold: true,
  causalRelationship: true,
  maxTraceSize: 50,
  compressionThreshold: 24
  // Compress after 24 hours
};
const TRACE_PATTERNS = [
  {
    pattern: ["search", "grep", "read", "edit"],
    type: "search_driven" /* SEARCH_DRIVEN */,
    description: "Search-driven code modification"
  },
  {
    pattern: ["bash", "error", "edit", "bash"],
    type: "error_recovery" /* ERROR_RECOVERY */,
    description: "Error recovery sequence"
  },
  {
    pattern: ["write", "edit", "test"],
    type: "feature_implementation" /* FEATURE_IMPLEMENTATION */,
    description: "New feature implementation"
  },
  {
    pattern: ["read", "edit", "edit", "test"],
    type: "refactoring" /* REFACTORING */,
    description: "Code refactoring"
  },
  {
    pattern: ["test", "bash", "test"],
    type: "testing" /* TESTING */,
    description: "Test execution and validation"
  },
  {
    pattern: ["grep", "search", "read"],
    type: "exploration" /* EXPLORATION */,
    description: "Codebase exploration"
  },
  {
    pattern: ["bash", "build", "deploy"],
    type: "build_deploy" /* BUILD_DEPLOY */,
    description: "Build and deployment"
  }
];
var CompressionStrategy = /* @__PURE__ */ ((CompressionStrategy2) => {
  CompressionStrategy2["SUMMARY_ONLY"] = "summary_only";
  CompressionStrategy2["PATTERN_BASED"] = "pattern_based";
  CompressionStrategy2["SELECTIVE"] = "selective";
  CompressionStrategy2["FULL_COMPRESSION"] = "full_compression";
  return CompressionStrategy2;
})(CompressionStrategy || {});
export {
  CompressionStrategy,
  DEFAULT_TRACE_CONFIG,
  TRACE_PATTERNS,
  TraceType
};
//# sourceMappingURL=types.js.map
