@vreko/cli 3.0.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/LICENSE +201 -0
- package/README.md +45 -0
- package/dist/CeremonyView-LQS7FTMK.js +134 -0
- package/dist/CeremonyView-LQS7FTMK.js.map +1 -0
- package/dist/InitApp-7K5DTYSW.js +1479 -0
- package/dist/InitApp-7K5DTYSW.js.map +1 -0
- package/dist/SkippedTestDetector-PJSKSOZR.js +7 -0
- package/dist/SkippedTestDetector-PJSKSOZR.js.map +1 -0
- package/dist/TuiApp-FX23XQBK.js +8 -0
- package/dist/TuiApp-FX23XQBK.js.map +1 -0
- package/dist/analysis-ABEO6RTN.js +8 -0
- package/dist/analysis-ABEO6RTN.js.map +1 -0
- package/dist/auth-XNBEBNPY.js +7669 -0
- package/dist/auth-XNBEBNPY.js.map +1 -0
- package/dist/ceremony-M7CXVBVA.js +45 -0
- package/dist/ceremony-M7CXVBVA.js.map +1 -0
- package/dist/chunk-A3QSZJPD.js +3147 -0
- package/dist/chunk-A3QSZJPD.js.map +1 -0
- package/dist/chunk-ASGZ5B6C.js +3969 -0
- package/dist/chunk-ASGZ5B6C.js.map +1 -0
- package/dist/chunk-DMXC2JTC.js +58 -0
- package/dist/chunk-DMXC2JTC.js.map +1 -0
- package/dist/chunk-EEBSK2IH.js +161 -0
- package/dist/chunk-EEBSK2IH.js.map +1 -0
- package/dist/chunk-EWOJGXRX.js +22 -0
- package/dist/chunk-EWOJGXRX.js.map +1 -0
- package/dist/chunk-F7GEJLP7.js +2389 -0
- package/dist/chunk-F7GEJLP7.js.map +1 -0
- package/dist/chunk-GOYL3F4T.js +605 -0
- package/dist/chunk-GOYL3F4T.js.map +1 -0
- package/dist/chunk-GRMRYWYS.js +17 -0
- package/dist/chunk-GRMRYWYS.js.map +1 -0
- package/dist/chunk-GSUGROXB.js +1951 -0
- package/dist/chunk-GSUGROXB.js.map +1 -0
- package/dist/chunk-H7773ONB.js +50 -0
- package/dist/chunk-H7773ONB.js.map +1 -0
- package/dist/chunk-HFQHU5LC.js +445 -0
- package/dist/chunk-HFQHU5LC.js.map +1 -0
- package/dist/chunk-IVHUBLJD.js +318 -0
- package/dist/chunk-IVHUBLJD.js.map +1 -0
- package/dist/chunk-KJWKY4L4.js +14 -0
- package/dist/chunk-KJWKY4L4.js.map +1 -0
- package/dist/chunk-MJVY2XUN.js +1793 -0
- package/dist/chunk-MJVY2XUN.js.map +1 -0
- package/dist/chunk-QWZVCJII.js +1797 -0
- package/dist/chunk-QWZVCJII.js.map +1 -0
- package/dist/chunk-VTSNRV3V.js +3237 -0
- package/dist/chunk-VTSNRV3V.js.map +1 -0
- package/dist/chunk-W5B4GTXR.js +1466 -0
- package/dist/chunk-W5B4GTXR.js.map +1 -0
- package/dist/chunk-WZEZLVOW.js +4995 -0
- package/dist/chunk-WZEZLVOW.js.map +1 -0
- package/dist/chunk-YPTTIXKC.js +199 -0
- package/dist/chunk-YPTTIXKC.js.map +1 -0
- package/dist/chunk-Z55UGM6X.js +6360 -0
- package/dist/chunk-Z55UGM6X.js.map +1 -0
- package/dist/chunk-ZIIRQODJ.js +110 -0
- package/dist/chunk-ZIIRQODJ.js.map +1 -0
- package/dist/chunk-ZSUQ4FMB.js +77 -0
- package/dist/chunk-ZSUQ4FMB.js.map +1 -0
- package/dist/client-JMTSZS3V.js +10 -0
- package/dist/client-JMTSZS3V.js.map +1 -0
- package/dist/deprecated-snap.js +19 -0
- package/dist/deprecated-snap.js.map +1 -0
- package/dist/dist-2KWBZFLA.js +14 -0
- package/dist/dist-2KWBZFLA.js.map +1 -0
- package/dist/dist-5ZYKNNU3.js +7 -0
- package/dist/dist-5ZYKNNU3.js.map +1 -0
- package/dist/dist-CP3RFHPI.js +11 -0
- package/dist/dist-CP3RFHPI.js.map +1 -0
- package/dist/gecko-53ITAGG6.js +56 -0
- package/dist/gecko-53ITAGG6.js.map +1 -0
- package/dist/guards-QAFC64NO.js +7 -0
- package/dist/guards-QAFC64NO.js.map +1 -0
- package/dist/index.js +57785 -0
- package/dist/index.js.map +1 -0
- package/dist/init-command-246JIVXM.js +7 -0
- package/dist/init-command-246JIVXM.js.map +1 -0
- package/dist/init-core-KAI7LCXZ.js +12 -0
- package/dist/init-core-KAI7LCXZ.js.map +1 -0
- package/dist/init-scan-RZNYDTUV.js +1919 -0
- package/dist/init-scan-RZNYDTUV.js.map +1 -0
- package/dist/local-service-adapter-6KNN6WQL.js +8 -0
- package/dist/local-service-adapter-6KNN6WQL.js.map +1 -0
- package/dist/secure-credentials-JXWAQLS2.js +306 -0
- package/dist/secure-credentials-JXWAQLS2.js.map +1 -0
- package/dist/tui-TPJPUS2R.js +111 -0
- package/dist/tui-TPJPUS2R.js.map +1 -0
- package/dist/vreko-dir-O3RLG7PI.js +8 -0
- package/dist/vreko-dir-O3RLG7PI.js.map +1 -0
- package/package.json +132 -0
- package/scripts/check-banned-words.ts +152 -0
- package/scripts/hooks/posttooluse-file-notify.sh +108 -0
- package/scripts/hooks/pretooluse-fragile-guard.sh +82 -0
- package/scripts/post-install-notice.js +24 -0
- package/scripts/postinstall.mjs +84 -0
- package/scripts/preuninstall.mjs +34 -0
- package/scripts/verify-jsx-transform.mjs +55 -0
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../../packages/contracts/dist/local-service/protocol.js","../../../packages/contracts/dist/types/learning.js","../../../packages/contracts/dist/local-service/schemas/baseline.js","../../../packages/contracts/dist/local-service/schemas/workspace-base.js","../../../packages/contracts/dist/local-service/schemas/context.js","../../../packages/contracts/dist/local-service/schemas/daemon.js","../../../packages/contracts/dist/local-service/schemas/detection.js","../../../packages/contracts/dist/local-service/schemas/digest.js","../../../packages/contracts/dist/local-service/schemas/primitives.js","../../../packages/contracts/dist/local-service/schemas/entities.js","../../../packages/contracts/dist/local-service/schemas/guard.js","../../../packages/contracts/dist/local-service/schemas/intelligence.js","../../../packages/contracts/dist/local-service/schemas/intelligence-pillars.js","../../../packages/contracts/dist/local-service/schemas/learning.js","../../../packages/contracts/dist/local-service/schemas/ledger.js","../../../packages/contracts/dist/local-service/schemas/mcp.js","../../../packages/contracts/dist/local-service/schemas/memory.js","../../../packages/contracts/dist/local-service/schemas/momentum.js","../../../packages/contracts/dist/local-service/schemas/protection.js","../../../packages/contracts/dist/local-service/schemas/refactoring.js","../../../packages/contracts/dist/local-service/schemas/boot-profile.js","../../../packages/contracts/dist/local-service/schemas/session.js","../../../packages/contracts/dist/local-service/schemas/metrics.js","../../../packages/contracts/dist/local-service/schemas/snapshot.js","../../../packages/contracts/dist/local-service/schemas/sync.js","../../../packages/contracts/dist/local-service/schemas/task.js","../../../packages/contracts/dist/local-service/schemas/validation.js","../../../packages/contracts/dist/local-service/schemas/watch.js","../../../packages/contracts/dist/local-service/schemas/workspace.js","../../../packages/contracts/dist/local-service/schemas/registry.js","../../../packages/contracts/dist/protocol/METHOD_REGISTRY.js"],"names":["JsonRpcRequestSchema","z","object","jsonrpc","literal","id","union","string","number","method","params","unknown","optional","JsonRpcErrorSchema","code","message","data","JsonRpcSuccessResponseSchema","result","JsonRpcErrorResponseSchema","error","JsonRpcResponseSchema","JsonRpcNotificationSchema","JsonRpcMessageSchema","ProtocolErrorCode","ParseError","InvalidRequest","MethodNotFound","InvalidParams","InternalError","ServerError","NotInitialized","AlreadyInitialized","ShuttingDown","NotAuthenticated","TierRequired","ApiUnavailable","QuotaExceeded","SessionNotFound","SessionEnded","SnapshotNotFound","ContentHashMismatch","RestoreFailed","FileNotFound","FileAccessDenied","InvalidPath","WorkspaceNotFound","WorkspaceAlreadyExists","LearningNotFound","LearningEvaluationFailed","SyncUnavailable","SyncAuthRequired","ValidationTimeout","IntelligenceUnavailable","PatternNotFound","LearningTypeSchema","enum","LearningIntentSchema","WarnSeveritySchema","AddFlagPayloadSchema","flag","min","describe","value","boolean","reason","SetEnvPayloadSchema","key","regex","InjectValidationPayloadSchema","validationType","targetFile","WarnPayloadSchema","severity","SuggestFilePayloadSchema","filePath","LearningTriggerSchema","commands","array","intent","filePatterns","flags","description","LearningActionSchema","discriminatedUnion","type","payload","LearningSchema","trigger","action","confidence","max","created","int","positive","lastUsed","usageCount","nonnegative","default","tags","archived","omit","extend","workspaceId","startedAt","lastCommandAt","appliedLearnings","commandName","args","record","filesOrPaths","SelectedLearningSchema","title","score","selectedLearnings","debug","evaluatedCount","durationMs","skippedReason","LearningTierSchema","LearningPrioritySchema","LearningStorageTypeSchema","LearningStorageSchema","context","problem","solution","related","source","timestamp","tier","domain","priority","keywords","accessCount","lastAccessed","relevanceScore","appliedDate","ChunkSourceTypeSchema","ChunkStatusSchema","source_type","source_id","chunk_text","context_text","authority","status","created_at","updated_at","metadata","OutcomeTypeSchema","chunk_id","outcome_type","LearningApiSchema","normalizeLearningType","elevateLearningToApi","storage","options","Date","now","Math","random","toString","slice","normalizedType","Array","isArray","join","parsed","Number","isNaN","getTime","relevanceBoost","round","transform","pipe","FileRecord","path","category","sizeBytes","lineCount","extension","ChurnRecord","changes30d","changes90d","lastChangedAt","uniqueAuthors","CoChangeCluster","files","coOccurrenceRate","sampleSize","FragileFileRecord","compositeScore","churnScore","blastRadiusScore","rollbackScore","dependentCount","rank","DomainHealthScore","fileCount","avgChurn","fragileFileCount","trend","trendComputedAt","nullable","BaselineNarrative","domainSummaries","topRisks","file","agentContextTemplate","DependencyGraph","nodes","edges","from","to","blastRadii","BaselineRecord","workspacePath","computedAt","version","fileInventory","domainMap","totalFiles","totalLines","churnRates","coChangeClusters","rollbackHotspots","fragileFiles","domainHealthScores","overallHealthScore","dependencyGraph","aiConfigFiles","any","aiConfigConflicts","narrative","narrativeComputedAt","BaselineStatus","progress","stage","workspace","WorkspaceBase","task","pid","restartStrategy","verbose","content","previousContent","editorInfo","diff","language","projectType","snapshotIds","uuid","direction","force","SnapshotTrigger","ProtectionLevel","RiskLevel","SessionState","LearningType","TaskIntent","MemoryEntryType","WarningSeverity","CoChangeRelationship","or","ClientType","FileConflict","sessionId","clientType","detectedAt","datetime","lastActivityAt","state","aiToolsDetected","highestRiskLevel","triggerCounts","clientId","endedAt","learningIds","coherenceScore","riskPeakScore","concurrentSessionIds","fileConflicts","touchedFiles","Snapshot","relativePath","contentHash","startsWith","createdAt","fileSize","aiToolDetected","aiConfidence","riskLevel","level","automatic","name","weight","details","strength","location","startLine","endLine","factors","suggestion","recommendation","explanation","detected","signals","toolName","fragilityScore","rollbackCount","aiChurnCount","blastRadius","lastModified","fileA","fileB","frequency","occurrences","relationship","lastObserved","RiskFactorStorageSchema","meta","riskScore","allowed","alternativeActions","tool","correlationId","learningsCount","patternsCount","fragileFilesCount","coChangePatternsCount","totalSessions","linesAnalyzed","totalSnapshots","totalRestores","snapshotsToday","snapshotsThisWeek","linesAnalyzedToday","restoresThisWeek","patternsThisWeek","healthScore","healthTrajectory","assessment","clusterCount","primaryFocus","outlierFiles","SnapshotAIAttribution","risk","aiAttribution","sessionClusterId","wasRestored","direct","transitive","directCount","transitiveCount","crossPackageCount","GuardStatus","GuardFile","line","GuardResult","guard","guards","staleMs","profile","refreshing","changed","current","relatedTo","outcome","fileCategories","aiTool","patternId","notes","revertedWithin5Min","decisionId","minScore","limit","minFrequency","minLevel","days","weeks","window","minConfidence","coChangePairs","temporalRiskWindows","weightOverrides","lockedInsights","scanCache","insightId","linesChanged","aiAttributed","patterns","total","recorded","accuracyImpact","risksPrevented","risksPreventedContext","dailyPrevented","day","prevented","timelineEvents","hour","blast","totalDecisions","velocity","week","learnings","accuracy","overallAccuracy","coherencePercent","preventedToRecoveredRatio","preventedCount","recoveredCount","GitRiskFactor","label","contribution","multiplier","hasGitContext","evaluatedAt","fileExt","fileCategory","hourBucket","sessionMinutes","clusterSize","dominantFactors","riskBoost","totalRollbacks","clusters","largestCluster","rapidAcceptRatio","velocityPerMinute","AnnotationTag","snapshotHash","tag","note","riskSignal","magnitude","since","netAdjustment","annotationCount","breakdown","isPoisoned","distinctSessions","warning","fingerprint","trackedPatterns","poisonedPatterns","topTools","SafeToWriteAction","SafeToWriteFactor","AlternativeAction","retryable","proposedDiff","mode","operation","dryRun","patternKey","patternType","maxBatchSize","syncedIds","failedIds","success","learningId","captureMethod","LearningEntryItem","pruned","remaining","categories","lowConfidence","stale","duplicates","collected","malformed","invalidType","emptyContent","applicable","updated","seeded","learningsAdded","tiers","hot","warm","cold","alreadySeeded","framework","originalCount","consolidatedCount","duplicatesFound","reductionPercent","archivePath","newConfidence","promoted","observationCount","CanonicalVerb","surfaceId","workspaceFingerprint","seq","ts","verb","offset","acked","VerbSummary","LedgerRecoverResult","sessionStartTs","expiryTs","expiryReason","lastHeartbeatTs","lastEventTs","eventCount","verbSummary","ceremonyAvailable","ceremony","disposition","recovery","ttlDays","ids","minRelevance","full","quick","recentChanges","timeSinceLastSave","aiToolActive","filePaths","scope","pattern","levels","targetComponentId","minTestCoverage","maxDependencyCount","includeAllCandidates","minPriority","componentId","gate","actions","priorities","BootProfile","lastSessionAge","integrityErrors","cleanShutdown","protocolVersion","clientVersion","clientInfo","capabilities","notifications","binaryContent","serverInfo","health","isFirstRun","bootProfile","SessionWorkspacePathBase","SessionCreateParamsBase","editorName","editorVersion","before","includeEnded","createSnapshot","acceptLearnings","includeCommitMessage","skipPatterns","includeDiff","filterFiles","includeAIAttribution","cursor","pulse","pressure","trajectory","snapshotRecommended","filesModified","snapshotsCreated","learningsCaptured","toolVersion","acknowledged","TimingSpan","startMs","endMs","SavePathMetrics","requestId","totalMs","spans","snapshotCreated","ShouldCreateReason","customTags","byteSize","shouldCreate","metrics","snapshotId","includeContent","SnapshotListParams","until","orderBy","orderDir","targetPath","createBackup","baseSnapshotId","compareSnapshotId","contextLines","format","olderThan","olderThanDays","keepProtected","newName","includeRisk","includeAttribution","groupBySessions","authToken","completionPercent","runTests","skipTypeScript","skipTests","skipLint","whatHappened","whyItHappened","prevention","skipBaseline","skipLearnings","forceSeedLearnings","globalDbPath","fallbackUserId","autoPersist","targetState","METHOD_NAME_MAP","normalizeMethodName","event","timeSinceLastChange","isRecoveryTriggered","requestTime","completionTime","filesRestored","failureReason","max_files","include_deviations","include_behavioral","workspaceRoot","text","permanent","includeDependencies","includeMetrics","port","configPath","publicKey","challengeId","signature","learning","config","includeUptime","checks","eventType","subscriptionId","cacheKey"],"mappings":"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","file":"chunk-VTSNRV3V.js","sourcesContent":["/**\n * Vreko Local Service Protocol - Core Protocol Types\n *\n * JSON-RPC 2.0 base types, method definitions, and error codes for the\n * Vreko local coordination service (vrekod).\n *\n * @module @vreko/contracts/local-service/protocol\n *\n * @example\n * ```typescript\n * import { JsonRpcRequest, LocalServiceMethod, ProtocolErrorCode } from '@vreko/contracts/local-service';\n *\n * const request: JsonRpcRequest = {\n * jsonrpc: \"2.0\",\n * id: \"req-1\",\n * method: \"snapshot/create\",\n * params: { filePath: \"/path/to/file.ts\", content: \"...\", trigger: \"save\" }\n * };\n * ```\n */\n// =============================================================================\n// Protocol Version\n// =============================================================================\n/**\n * Current protocol version (semantic versioning)\n */\nexport const PROTOCOL_VERSION = \"1.0.0\";\n// =============================================================================\n// ZOD SCHEMAS FOR RUNTIME VALIDATION (P1-D: IPC Parse Boundary)\n// =============================================================================\nimport { z } from \"zod\";\n/**\n * JSON-RPC 2.0 request schema for runtime validation\n */\nexport const JsonRpcRequestSchema = z.object({\n jsonrpc: z.literal(\"2.0\"),\n id: z.union([z.string(), z.number()]),\n method: z.string(),\n params: z.unknown().optional(),\n});\n/**\n * JSON-RPC 2.0 error object schema\n */\nexport const JsonRpcErrorSchema = z.object({\n code: z.number(),\n message: z.string(),\n data: z.unknown().optional(),\n});\n/**\n * JSON-RPC 2.0 success response schema\n */\nconst JsonRpcSuccessResponseSchema = z.object({\n jsonrpc: z.literal(\"2.0\"),\n id: z.union([z.string(), z.number()]).optional(),\n result: z.unknown(),\n});\n/**\n * JSON-RPC 2.0 error response schema\n */\nconst JsonRpcErrorResponseSchema = z.object({\n jsonrpc: z.literal(\"2.0\"),\n id: z.union([z.string(), z.number()]).optional(),\n error: JsonRpcErrorSchema,\n});\n/**\n * JSON-RPC 2.0 response schema (union of success and error)\n */\nexport const JsonRpcResponseSchema = z.union([JsonRpcSuccessResponseSchema, JsonRpcErrorResponseSchema]);\n/**\n * JSON-RPC 2.0 notification schema (no id field)\n */\nexport const JsonRpcNotificationSchema = z.object({\n jsonrpc: z.literal(\"2.0\"),\n method: z.string(),\n params: z.unknown().optional(),\n});\n/**\n * Unified JSON-RPC message schema (request, response, or notification)\n * Used for IPC parse boundary validation (P1-D requirement)\n */\nexport const JsonRpcMessageSchema = z.union([JsonRpcRequestSchema, JsonRpcResponseSchema, JsonRpcNotificationSchema]);\n/**\n * Type guards for runtime validation\n */\nexport function isJsonRpcRequest(message) {\n const result = JsonRpcRequestSchema.safeParse(message);\n return result.success;\n}\nexport function isJsonRpcResponse(message) {\n const result = JsonRpcResponseSchema.safeParse(message);\n return result.success;\n}\nexport function isJsonRpcNotification(message) {\n const result = JsonRpcNotificationSchema.safeParse(message);\n return result.success;\n}\n// =============================================================================\n// Error Codes\n// =============================================================================\n/**\n * Protocol error codes\n *\n * Categories:\n * - -32xxx: JSON-RPC 2.0 standard errors\n * - 1xxx: Authentication and tier errors\n * - 2xxx: Session errors\n * - 3xxx: Snapshot errors\n * - 4xxx: File system errors\n */\nexport var ProtocolErrorCode;\n(function (ProtocolErrorCode) {\n // JSON-RPC 2.0 Standard Errors (-32700 to -32600)\n /** Invalid JSON was received */\n ProtocolErrorCode[ProtocolErrorCode[\"ParseError\"] = -32700] = \"ParseError\";\n /** The JSON sent is not a valid JSON-RPC 2.0 request */\n ProtocolErrorCode[ProtocolErrorCode[\"InvalidRequest\"] = -32600] = \"InvalidRequest\";\n /** The method does not exist */\n ProtocolErrorCode[ProtocolErrorCode[\"MethodNotFound\"] = -32601] = \"MethodNotFound\";\n /** Invalid method parameters */\n ProtocolErrorCode[ProtocolErrorCode[\"InvalidParams\"] = -32602] = \"InvalidParams\";\n /** Internal service error */\n ProtocolErrorCode[ProtocolErrorCode[\"InternalError\"] = -32603] = \"InternalError\";\n // Custom Server Errors (-32000 to -32099)\n /** Generic server error */\n ProtocolErrorCode[ProtocolErrorCode[\"ServerError\"] = -32000] = \"ServerError\";\n /** Client sent request before initialize */\n ProtocolErrorCode[ProtocolErrorCode[\"NotInitialized\"] = -32001] = \"NotInitialized\";\n /** Client sent initialize twice */\n ProtocolErrorCode[ProtocolErrorCode[\"AlreadyInitialized\"] = -32002] = \"AlreadyInitialized\";\n /** Service is shutting down */\n ProtocolErrorCode[ProtocolErrorCode[\"ShuttingDown\"] = -32003] = \"ShuttingDown\";\n // Authentication & Authorization (1000-1999)\n /** Authentication required for this method */\n ProtocolErrorCode[ProtocolErrorCode[\"NotAuthenticated\"] = 1000] = \"NotAuthenticated\";\n /** PRO tier required for this method */\n ProtocolErrorCode[ProtocolErrorCode[\"TierRequired\"] = 1001] = \"TierRequired\";\n /** Cannot reach api.vreko.dev */\n ProtocolErrorCode[ProtocolErrorCode[\"ApiUnavailable\"] = 1002] = \"ApiUnavailable\";\n /** Storage or API quota exceeded */\n ProtocolErrorCode[ProtocolErrorCode[\"QuotaExceeded\"] = 1003] = \"QuotaExceeded\";\n // Workspace Errors (1500-1999)\n /** Workspace not found or not initialized */\n ProtocolErrorCode[ProtocolErrorCode[\"WorkspaceNotFound\"] = 1500] = \"WorkspaceNotFound\";\n /** Workspace already exists */\n ProtocolErrorCode[ProtocolErrorCode[\"WorkspaceAlreadyExists\"] = 1501] = \"WorkspaceAlreadyExists\";\n // Session Errors (2000-2999)\n /** Session does not exist */\n ProtocolErrorCode[ProtocolErrorCode[\"SessionNotFound\"] = 2000] = \"SessionNotFound\";\n /** Session has already ended */\n ProtocolErrorCode[ProtocolErrorCode[\"SessionEnded\"] = 2001] = \"SessionEnded\";\n // Snapshot Errors (3000-3999)\n /** Snapshot does not exist */\n ProtocolErrorCode[ProtocolErrorCode[\"SnapshotNotFound\"] = 3000] = \"SnapshotNotFound\";\n /** Content integrity check failed */\n ProtocolErrorCode[ProtocolErrorCode[\"ContentHashMismatch\"] = 3001] = \"ContentHashMismatch\";\n /** Could not write restored file */\n ProtocolErrorCode[ProtocolErrorCode[\"RestoreFailed\"] = 3002] = \"RestoreFailed\";\n // File System Errors (4000-4999)\n /** File does not exist */\n ProtocolErrorCode[ProtocolErrorCode[\"FileNotFound\"] = 4000] = \"FileNotFound\";\n /** Cannot read/write file */\n ProtocolErrorCode[ProtocolErrorCode[\"FileAccessDenied\"] = 4001] = \"FileAccessDenied\";\n /** Path is outside allowed directories */\n ProtocolErrorCode[ProtocolErrorCode[\"InvalidPath\"] = 4002] = \"InvalidPath\";\n // Learning Errors (5000-5999)\n /** Learning not found */\n ProtocolErrorCode[ProtocolErrorCode[\"LearningNotFound\"] = 5000] = \"LearningNotFound\";\n /** Learning evaluation failed */\n ProtocolErrorCode[ProtocolErrorCode[\"LearningEvaluationFailed\"] = 5001] = \"LearningEvaluationFailed\";\n // Sync Errors (6000-6999)\n /** Sync worker not available */\n ProtocolErrorCode[ProtocolErrorCode[\"SyncUnavailable\"] = 6000] = \"SyncUnavailable\";\n /** Sync authentication required */\n ProtocolErrorCode[ProtocolErrorCode[\"SyncAuthRequired\"] = 6001] = \"SyncAuthRequired\";\n // Validation Errors (7000-7999)\n /** Validation timed out */\n ProtocolErrorCode[ProtocolErrorCode[\"ValidationTimeout\"] = 7000] = \"ValidationTimeout\";\n // Intelligence Errors (8000-8999)\n /** Intelligence service not available */\n ProtocolErrorCode[ProtocolErrorCode[\"IntelligenceUnavailable\"] = 8000] = \"IntelligenceUnavailable\";\n /** Pattern not found */\n ProtocolErrorCode[ProtocolErrorCode[\"PatternNotFound\"] = 8001] = \"PatternNotFound\";\n})(ProtocolErrorCode || (ProtocolErrorCode = {}));\n/**\n * Error code to message mapping\n */\nexport const ERROR_MESSAGES = {\n [ProtocolErrorCode.ParseError]: \"Invalid JSON\",\n [ProtocolErrorCode.InvalidRequest]: \"Invalid JSON-RPC request\",\n [ProtocolErrorCode.MethodNotFound]: \"Method does not exist\",\n [ProtocolErrorCode.InvalidParams]: \"Invalid method parameters\",\n [ProtocolErrorCode.InternalError]: \"Internal service error\",\n [ProtocolErrorCode.ServerError]: \"Server error\",\n [ProtocolErrorCode.NotInitialized]: \"Client must call initialize before other methods\",\n [ProtocolErrorCode.AlreadyInitialized]: \"Client has already called initialize\",\n [ProtocolErrorCode.ShuttingDown]: \"Service is shutting down\",\n [ProtocolErrorCode.NotAuthenticated]: \"Authentication required for this method\",\n [ProtocolErrorCode.TierRequired]: \"PRO tier required for this method\",\n [ProtocolErrorCode.ApiUnavailable]: \"Cannot reach api.vreko.dev\",\n [ProtocolErrorCode.QuotaExceeded]: \"Storage or API quota exceeded\",\n [ProtocolErrorCode.SessionNotFound]: \"Session does not exist\",\n [ProtocolErrorCode.SessionEnded]: \"Session has already ended\",\n [ProtocolErrorCode.SnapshotNotFound]: \"Snapshot does not exist\",\n [ProtocolErrorCode.ContentHashMismatch]: \"Content integrity check failed\",\n [ProtocolErrorCode.RestoreFailed]: \"Could not write restored file\",\n [ProtocolErrorCode.FileNotFound]: \"File does not exist\",\n [ProtocolErrorCode.FileAccessDenied]: \"Cannot read/write file\",\n [ProtocolErrorCode.InvalidPath]: \"Path is outside allowed directories\",\n [ProtocolErrorCode.WorkspaceNotFound]: \"Workspace not found or not initialized\",\n [ProtocolErrorCode.WorkspaceAlreadyExists]: \"Workspace already exists\",\n [ProtocolErrorCode.LearningNotFound]: \"Learning not found\",\n [ProtocolErrorCode.LearningEvaluationFailed]: \"Learning evaluation failed\",\n [ProtocolErrorCode.SyncUnavailable]: \"Sync worker not available\",\n [ProtocolErrorCode.SyncAuthRequired]: \"Sync authentication required\",\n [ProtocolErrorCode.ValidationTimeout]: \"Validation timed out\",\n [ProtocolErrorCode.IntelligenceUnavailable]: \"Intelligence service not available\",\n [ProtocolErrorCode.PatternNotFound]: \"Pattern not found\",\n};\n","import { z } from \"zod\";\n// =============================================================================\n// LEARNING DATA MODEL (Phase 0 - Proactive Learning System)\n// =============================================================================\n/**\n * Learning types - categorical classification of captured learnings\n * - pattern: Reusable code/workflow patterns\n * - pitfall: Anti-patterns and bugs to avoid\n * - efficiency: Performance/optimization insights\n * - workflow: Process/tooling improvements\n * - discovery: New capabilities/features found\n */\nexport const LearningTypeSchema = z.enum([\n \"pattern\",\n \"pitfall\",\n \"efficiency\",\n \"workflow\",\n \"discovery\",\n \"architecture\",\n \"performance\",\n]);\n/**\n * Intent classification for command context matching\n */\nexport const LearningIntentSchema = z.enum([\"implement\", \"debug\", \"refactor\", \"review\"]);\n/**\n * Action types - concrete, deterministic operations\n * Each learning maps to exactly one executable action\n */\nexport const LearningActionTypeSchema = z.enum([\"add-flag\", \"set-env\", \"inject-validation\", \"warn\", \"suggest-file\"]);\n/**\n * Warning severity levels\n */\nexport const WarnSeveritySchema = z.enum([\"info\", \"warning\", \"error\"]);\n// =============================================================================\n// ACTION PAYLOAD SCHEMAS\n// =============================================================================\n/**\n * Payload for add-flag action\n * Adds CLI flag to command invocation\n */\nexport const AddFlagPayloadSchema = z.object({\n flag: z.string().min(1).describe(\"CLI flag to add, e.g. '--validate-expiry'\"),\n value: z.union([z.string(), z.boolean()]).optional().describe(\"Flag value if applicable\"),\n reason: z.string().min(1).describe(\"Human-readable reason shown in verbose mode\"),\n});\n/**\n * Payload for set-env action\n * Sets environment variable for command execution\n */\nexport const SetEnvPayloadSchema = z.object({\n key: z\n .string()\n .min(1)\n .regex(/^[A-Z_][A-Z0-9_]*$/, \"Must be valid env var name\"),\n value: z.string().describe(\"Environment variable value\"),\n reason: z.string().min(1).describe(\"Human-readable reason shown in verbose mode\"),\n});\n/**\n * Payload for inject-validation action\n * Triggers validation logic during command execution\n */\nexport const InjectValidationPayloadSchema = z.object({\n validationType: z.string().min(1).describe(\"Validation type identifier, e.g. 'jwt-expiry', 'silent-catch'\"),\n targetFile: z.string().optional().describe(\"Optional file to target for validation\"),\n reason: z.string().min(1).describe(\"Human-readable reason shown in verbose mode\"),\n});\n/**\n * Payload for warn action\n * Displays warning/info message to user\n */\nexport const WarnPayloadSchema = z.object({\n message: z.string().min(1).describe(\"Warning message to display\"),\n severity: WarnSeveritySchema.describe(\"Severity level affects display styling\"),\n});\n/**\n * Payload for suggest-file action\n * Suggests file creation based on established patterns\n */\nexport const SuggestFilePayloadSchema = z.object({\n filePath: z.string().min(1).describe(\"Suggested file path, may contain {feature} placeholder\"),\n reason: z.string().min(1).describe(\"Human-readable reason for suggestion\"),\n});\n// =============================================================================\n// TRIGGER SCHEMA\n// =============================================================================\n/**\n * LearningTrigger - defines when a learning should be matched\n * All fields are optional; matching uses OR logic across populated fields\n */\nexport const LearningTriggerSchema = z.object({\n commands: z\n .array(z.string())\n .optional()\n .describe(\"Command names that trigger this learning, e.g. ['auth', 'deploy']\"),\n intent: z.array(LearningIntentSchema).optional().describe(\"Intent types that trigger this learning\"),\n filePatterns: z.array(z.string()).optional().describe(\"Glob patterns for file matching, e.g. ['**/*auth*.ts']\"),\n flags: z.array(z.string()).optional().describe(\"CLI flags that trigger this learning, e.g. ['--provider']\"),\n description: z.string().min(1).describe(\"Human-readable description for fuzzy matching\"),\n});\n// =============================================================================\n// ACTION SCHEMA (DISCRIMINATED UNION)\n// =============================================================================\n/**\n * LearningAction - concrete action to execute when learning is applied\n * Discriminated union ensures type-safe payload access\n */\nexport const LearningActionSchema = z.discriminatedUnion(\"type\", [\n z.object({\n type: z.literal(\"add-flag\"),\n payload: AddFlagPayloadSchema,\n }),\n z.object({\n type: z.literal(\"set-env\"),\n payload: SetEnvPayloadSchema,\n }),\n z.object({\n type: z.literal(\"inject-validation\"),\n payload: InjectValidationPayloadSchema,\n }),\n z.object({\n type: z.literal(\"warn\"),\n payload: WarnPayloadSchema,\n }),\n z.object({\n type: z.literal(\"suggest-file\"),\n payload: SuggestFilePayloadSchema,\n }),\n]);\n// =============================================================================\n// MAIN LEARNING SCHEMA\n// =============================================================================\n/**\n * Learning - core data model for proactive learning system\n * Each learning represents a captured insight that can be applied to future commands\n */\nexport const LearningSchema = z.object({\n id: z.string().min(1).describe(\"Unique identifier for this learning\"),\n type: LearningTypeSchema.describe(\"Categorical classification\"),\n trigger: LearningTriggerSchema.describe(\"Conditions that activate this learning\"),\n action: LearningActionSchema.describe(\"Concrete action to execute\"),\n confidence: z.number().min(0).max(1).describe(\"Confidence score (0.0-1.0), static at creation\"),\n created: z.number().int().positive().describe(\"Creation timestamp (ms since epoch)\"),\n lastUsed: z.number().int().positive().optional().describe(\"Last usage timestamp (ms since epoch)\"),\n usageCount: z.number().int().nonnegative().default(0).describe(\"Number of times this learning was applied\"),\n tags: z.array(z.string()).default([]).describe(\"Searchable tags for categorization\"),\n archived: z.boolean().default(false).describe(\"Whether this learning is archived (excluded from matching)\"),\n});\n/**\n * Input type for creating new learnings\n * Omits auto-generated fields (id, created, lastUsed, usageCount)\n */\nexport const LearningInputSchema = LearningSchema.omit({\n id: true,\n created: true,\n lastUsed: true,\n usageCount: true,\n archived: true,\n}).extend({\n tags: z.array(z.string()).optional().default([]),\n archived: z.boolean().optional(),\n});\n// =============================================================================\n// LEARNING MODE & SESSION\n// =============================================================================\n/**\n * Learning evaluation modes - phased rollout support\n * - observe: Log matches only, no modification (Phase 1)\n * - warn: Apply warn-type actions only (Phase 2)\n * - apply-safe: Apply add-flag and warn only (Phase 3)\n * - apply-all: Apply all action types (opt-in)\n * - off: Skip evaluation entirely\n */\nexport const LearningModeSchema = z.enum([\"observe\", \"warn\", \"apply-safe\", \"apply-all\", \"off\"]);\n/**\n * LearningSession - daemon-tracked session for repetition avoidance\n */\nexport const LearningSessionSchema = z.object({\n workspaceId: z.string().min(1),\n startedAt: z.number().int().positive(),\n lastCommandAt: z.number().int().positive(),\n appliedLearnings: z.array(z.string()).describe(\"Learning IDs applied in this session\"),\n});\n// =============================================================================\n// COMMAND TRIGGER SCOPE\n// =============================================================================\n/**\n * HIGH_VALUE_COMMANDS - commands that trigger learning evaluation by default\n */\nexport const HIGH_VALUE_COMMANDS = [\"auth\", \"deploy\", \"verify\", \"migrate\", \"validate\"];\n/**\n * NEVER_EVALUATE_COMMANDS - commands that never trigger learning evaluation\n */\nexport const NEVER_EVALUATE_COMMANDS = [\"help\", \"version\", \"status\", \"list\"];\n// =============================================================================\n// EVALUATION TYPES\n// =============================================================================\n/**\n * Input for learning evaluation\n */\nexport const LearningEvaluationInputSchema = z.object({\n workspaceId: z.string().min(1),\n commandName: z.string().min(1),\n args: z.record(z.unknown()).optional().describe(\"Parsed command arguments/flags\"),\n filesOrPaths: z.array(z.string()).optional().describe(\"Files involved in command\"),\n intent: LearningIntentSchema.optional().describe(\"User intent if known\"),\n});\n/**\n * Selected learning with score for evaluation result\n */\nexport const SelectedLearningSchema = z.object({\n id: z.string(),\n title: z.string().describe(\"Human-readable title derived from trigger.description\"),\n type: LearningTypeSchema,\n score: z.number().min(0).max(1),\n action: LearningActionSchema,\n tags: z.array(z.string()),\n});\n/**\n * Result of learning evaluation\n */\nexport const LearningEvaluationResultSchema = z.object({\n selectedLearnings: z.array(SelectedLearningSchema),\n debug: z\n .object({\n evaluatedCount: z.number().int().nonnegative(),\n durationMs: z.number().nonnegative(),\n skippedReason: z.string().optional(),\n })\n .optional(),\n});\n// =============================================================================\n// SENSITIVE DATA PATTERNS (for validation)\n// =============================================================================\n/**\n * Patterns that indicate sensitive data - learnings must not contain these\n */\nexport const SENSITIVE_DATA_PATTERNS = [\n /api[_-]?key/i,\n /secret/i,\n /password/i,\n /token/i,\n /credential/i,\n /private[_-]?key/i,\n /auth[_-]?token/i,\n /bearer/i,\n /ssh[_-]?key/i,\n /aws[_-]?access/i,\n /database[_-]?url/i,\n /connection[_-]?string/i,\n];\n/**\n * Check if a string contains sensitive data patterns\n */\nexport function containsSensitiveData(text) {\n return SENSITIVE_DATA_PATTERNS.some((pattern) => pattern.test(text));\n}\n// =============================================================================\n// VALIDATION UTILITIES\n// =============================================================================\n/**\n * Validate a learning for sensitive data\n * Returns array of field paths containing sensitive data\n */\nexport function validateLearningForSensitiveData(learning) {\n const violations = [];\n // Check trigger description\n if (containsSensitiveData(learning.trigger.description)) {\n violations.push(\"trigger.description\");\n }\n // Check trigger file patterns\n learning.trigger.filePatterns?.forEach((pattern, i) => {\n if (containsSensitiveData(pattern)) {\n violations.push(`trigger.filePatterns[${i}]`);\n }\n });\n // Check action payload reason fields\n const payload = learning.action.payload;\n if (\"reason\" in payload && typeof payload.reason === \"string\" && containsSensitiveData(payload.reason)) {\n violations.push(\"action.payload.reason\");\n }\n if (\"message\" in payload && typeof payload.message === \"string\" && containsSensitiveData(payload.message)) {\n violations.push(\"action.payload.message\");\n }\n if (\"filePath\" in payload && typeof payload.filePath === \"string\" && containsSensitiveData(payload.filePath)) {\n violations.push(\"action.payload.filePath\");\n }\n // Check tags\n learning.tags?.forEach((tag, i) => {\n if (containsSensitiveData(tag)) {\n violations.push(`tags[${i}]`);\n }\n });\n return violations;\n}\n/**\n * Safe learning creation with validation\n * Throws if learning contains sensitive data\n */\nexport function createLearning(input, idGenerator) {\n // Validate input schema\n const parsed = LearningInputSchema.parse(input);\n // Check for sensitive data\n const violations = validateLearningForSensitiveData(parsed);\n if (violations.length > 0) {\n throw new Error(`Learning contains sensitive data in: ${violations.join(\", \")}`);\n }\n // Create full learning\n return {\n ...parsed,\n id: idGenerator(),\n created: Date.now(),\n usageCount: 0,\n archived: parsed.archived ?? false,\n };\n}\n// =============================================================================\n// LEARNING STORAGE SCHEMA (Phase 1 - Store Contract)\n// =============================================================================\n/**\n * LearningTier - storage tier classification for loading strategy\n * - hot: Always loaded (~10-15 entries, critical patterns)\n * - warm: Loaded based on intent/domain match (~20-30 per domain)\n * - cold: Query-only, never auto-loaded (archived learnings)\n */\nexport const LearningTierSchema = z.enum([\"hot\", \"warm\", \"cold\"]);\n/**\n * LearningPriority - priority for tier promotion decisions\n */\nexport const LearningPrioritySchema = z.enum([\"critical\", \"high\", \"medium\", \"low\"]);\n/**\n * LearningStorageType - extended learning types for storage layer\n * Includes all types from LearningTypeSchema plus storage-specific and legacy types\n */\nexport const LearningStorageTypeSchema = z.enum([\n \"pattern\",\n \"pitfall\",\n \"pit\", // Legacy alias for pitfall\n \"architecture\",\n \"performance\",\n \"efficiency\",\n \"discovery\",\n \"workflow\",\n \"best-practice\", // Legacy type\n]);\n/**\n * LearningStorageSchema - validates what stores actually return\n *\n * This is the Phase 1 store contract. It guards the boundary between\n * Intelligence and its backing stores (JSONL on disk).\n *\n * This schema is permanent - JSONL on disk is the simple format.\n * The transformation to rich LearningSchema happens in context/get.\n */\nexport const LearningStorageSchema = z.object({\n id: z.string().min(1).optional(), // Optional in older JSONL records - generated on read if missing\n type: LearningStorageTypeSchema,\n trigger: z.union([z.string(), z.array(z.string())]),\n context: z.string().optional(),\n problem: z.string().optional(),\n solution: z.string().optional(), // Optional in JSONL storage - some learnings only have action\n action: z.string(),\n related: z.array(z.string()).optional(),\n source: z.string(),\n timestamp: z.union([z.string(), z.number()]).describe(\"ISO 8601 string or epoch number from storage\"),\n // Tiering metadata (optional)\n tier: LearningTierSchema.optional(),\n domain: z.string().optional(),\n priority: LearningPrioritySchema.optional(),\n keywords: z.array(z.string()).optional(),\n // Usage tracking (optional)\n accessCount: z.number().int().nonnegative().optional(),\n lastAccessed: z.string().optional(),\n relevanceScore: z.number().min(0).max(1).optional(),\n appliedDate: z.string().optional(),\n});\n// =============================================================================\n// KNOWLEDGE CHUNK SCHEMA\n// =============================================================================\n/**\n * Source types for knowledge chunks\n */\nexport const ChunkSourceTypeSchema = z.enum([\"learning\", \"adr\", \"pattern\", \"violation\"]);\n/**\n * Status of a knowledge chunk\n */\nexport const ChunkStatusSchema = z.enum([\"active\", \"deprecated\", \"superseded\"]);\n/**\n * Knowledge chunk - a unit of captured insight stored in KnowledgeStore\n * Maps directly from packages/intelligence/src/knowledge/store.ts Chunk interface\n */\nexport const ChunkSchema = z.object({\n id: z.string().describe(\"Unique chunk identifier\"),\n source_type: ChunkSourceTypeSchema.describe(\"Type of source this chunk came from\"),\n source_id: z.string().describe(\"ID of the source record\"),\n chunk_text: z.string().describe(\"The actual content text\"),\n context_text: z.string().optional().describe(\"Optional context surrounding the chunk\"),\n authority: z.number().min(0).max(1).describe(\"Authority score (0-1)\"),\n status: ChunkStatusSchema.describe(\"Current status of the chunk\"),\n created_at: z.string().describe(\"ISO 8601 creation timestamp\"),\n updated_at: z.string().describe(\"ISO 8601 update timestamp\"),\n metadata: z.record(z.unknown()).optional().describe(\"Optional JSON metadata\"),\n});\n/**\n * Outcome types for confidence feedback loop\n */\nexport const OutcomeTypeSchema = z.enum([\"accepted\", \"ignored\", \"test_pass\", \"test_fail\", \"violation_prevented\"]);\n/**\n * Outcome record for tracking chunk effectiveness\n */\nexport const OutcomeSchema = z.object({\n id: z.string(),\n chunk_id: z.string(),\n outcome_type: OutcomeTypeSchema,\n context: z.record(z.unknown()).optional(),\n created_at: z.string(),\n});\n// =============================================================================\n// API SCHEMA FOR context/get (Phase 2 - Format Elevation)\n// =============================================================================\n/**\n * LearningApiSchema - the format returned by context/get for LLM consumption\n *\n * This is a normalized, LLM-friendly format that sits between:\n * - LearningStorageSchema (storage format, flexible, union types)\n * - LearningSchema (full schema with complex discriminated union actions)\n *\n * The elevation transform converts storage format to API format.\n */\nexport const LearningApiSchema = z.object({\n id: z.string().min(1).describe(\"Unique identifier\"),\n type: LearningTypeSchema.describe(\"Categorical classification\"),\n trigger: z.string().describe(\"Normalized trigger condition\"),\n action: z.string().describe(\"Action to take (human-readable)\"),\n confidence: z.number().min(0).max(1).describe(\"Confidence score (0.0-1.0)\"),\n created: z.number().int().positive().describe(\"Creation timestamp (ms since epoch)\"),\n source: z.string().describe(\"Where this learning originated\"),\n tags: z.array(z.string()).default([]).describe(\"Searchable tags\"),\n usageCount: z.number().int().nonnegative().default(0).describe(\"Times applied\"),\n});\n/**\n * Elevate LearningStorage to LearningApi format\n *\n * This is the format elevation that happens in context/get assembly.\n * It normalizes storage format (flexible, union types) to API format\n * (deterministic, LLM-friendly).\n *\n * @param storage - Learning from storage (JSONL, SQLite, Hot tier)\n * @param options - Optional overrides for confidence computation\n */\n/**\n * Normalize learning storage type to canonical API type.\n * Uses exhaustive checking to ensure all types are handled.\n */\nfunction normalizeLearningType(type) {\n // Map all storage types (including legacy aliases) to canonical types\n switch (type) {\n case \"pattern\":\n return \"pattern\";\n case \"pitfall\":\n case \"pit\": // Legacy alias\n return \"pitfall\";\n case \"efficiency\":\n case \"performance\": // Legacy alias\n return \"efficiency\";\n case \"workflow\":\n case \"best-practice\": // Legacy alias\n return \"workflow\";\n case \"discovery\":\n return \"discovery\";\n case \"architecture\":\n return \"pattern\"; // Architecture patterns map to pattern\n default: {\n // Exhaustive check - TypeScript will error if any LearningStorageType is unhandled\n const _exhaustive = type;\n return \"pattern\"; // Safe fallback\n }\n }\n}\nexport function elevateLearningToApi(storage, options) {\n // Generate ID if missing (older JSONL records)\n const id = storage.id ?? `learning-${Date.now()}-${Math.random().toString(36).slice(2, 9)}`;\n // Normalize type with exhaustive checking\n const normalizedType = normalizeLearningType(storage.type);\n // Normalize trigger: array to comma-separated string\n const trigger = Array.isArray(storage.trigger) ? storage.trigger.join(\", \") : storage.trigger;\n // Normalize timestamp: string or number to epoch ms\n let created;\n if (typeof storage.timestamp === \"string\") {\n const parsed = new Date(storage.timestamp);\n created = Number.isNaN(parsed.getTime()) ? Date.now() : parsed.getTime();\n }\n else {\n created = storage.timestamp;\n }\n // Compute confidence: use relevanceScore if present, otherwise derive\n const confidence = storage.relevanceScore ??\n (options?.relevanceBoost ?? 0.7) * (storage.accessCount ? Math.min(1, storage.accessCount / 10) : 0.5);\n return {\n id,\n type: normalizedType,\n trigger,\n action: storage.action,\n confidence: Math.round(confidence * 1000) / 1000, // Round to 3 decimals\n created,\n source: storage.source,\n tags: storage.keywords ?? [],\n usageCount: storage.accessCount ?? 0,\n };\n}\n/**\n * Schema transformation pipeline: Storage → API\n * Uses Zod transform for validation + transformation in one step.\n */\nexport const LearningStorageToApiSchema = LearningStorageSchema.transform((storage) => elevateLearningToApi(storage)).pipe(LearningApiSchema);\n/**\n * Elevate array of learnings with deduplication\n *\n * Deduplication strategy:\n * 1. Same trigger+action = same learning (regardless of source)\n * 2. Keep highest confidence among duplicates\n * 3. Merge usage counts\n *\n * @param learnings - Array of storage-format learnings\n * @param maxResults - Maximum results to return (default 10)\n */\nexport function elevateAndDeduplicateLearnings(learnings, maxResults = 10) {\n const elevated = learnings.map((l) => elevateLearningToApi(l));\n // Deduplicate by trigger+action key\n const byKey = new Map();\n for (const learning of elevated) {\n const key = `${learning.trigger} → ${learning.action}`;\n const existing = byKey.get(key);\n if (!existing) {\n byKey.set(key, learning);\n }\n else {\n // Merge: keep higher confidence, sum usage counts\n byKey.set(key, {\n ...existing,\n confidence: Math.max(existing.confidence, learning.confidence),\n usageCount: existing.usageCount + learning.usageCount,\n });\n }\n }\n // Sort by confidence descending, limit results\n return Array.from(byKey.values())\n .sort((a, b) => b.confidence - a.confidence)\n .slice(0, maxResults);\n}\n// =============================================================================\n// SCORING UTILITIES\n// =============================================================================\n/**\n * Calculate recency decay factor (0.5-1.0)\n * Newer learnings get higher scores\n * @param lastUsed - Last usage timestamp (ms)\n * @param maxAgeDays - Age at which decay reaches minimum (default 90 days)\n */\nexport function calculateRecencyDecay(lastUsed, maxAgeDays = 90) {\n if (!lastUsed) {\n return 0.5; // Never used = minimum multiplier\n }\n const ageMs = Date.now() - lastUsed;\n const ageDays = ageMs / (1000 * 60 * 60 * 24);\n const decay = 1 - (ageDays / maxAgeDays) * 0.5;\n return Math.max(0.5, Math.min(1, decay));\n}\n/**\n * Calculate learning score for ranking\n * Simple formula: confidence × recency_decay\n */\nexport function calculateLearningScore(learning) {\n const recencyDecay = calculateRecencyDecay(learning.lastUsed);\n return learning.confidence * recencyDecay;\n}\n/**\n * Calculate learning API score for ranking\n * Uses confidence and usage count\n */\nexport function calculateLearningApiScore(learning) {\n const recencyDecay = calculateRecencyDecay(learning.created);\n const usageBoost = Math.min(0.2, learning.usageCount * 0.02); // Up to +0.2 for heavy use\n return Math.min(1, learning.confidence * recencyDecay + usageBoost);\n}\n","/**\n * Baseline Zod Schemas\n *\n * Phase 5-A: BaselineRecord Schema + Storage\n * Phase 6-A: Uses enhanced AI config types from ai-config.ts\n *\n * @module @vreko/contracts/local-service/schemas/baseline\n */\nimport { z } from \"zod\";\n// =============================================================================\n// Baseline Entity Schemas\n// =============================================================================\n/**\n * File record in baseline\n */\nexport const FileRecord = z.object({\n path: z.string(),\n category: z.enum([\"config\", \"source\", \"test\", \"build\", \"docs\", \"other\"]),\n domain: z.string(),\n sizeBytes: z.number(),\n lineCount: z.number(),\n extension: z.string(),\n});\n/**\n * Churn record for a file\n */\nexport const ChurnRecord = z.object({\n filePath: z.string(),\n changes30d: z.number(),\n changes90d: z.number(),\n lastChangedAt: z.number(),\n uniqueAuthors: z.number(),\n});\n/**\n * Co-change cluster\n */\nexport const CoChangeCluster = z.object({\n files: z.array(z.string()),\n coOccurrenceRate: z.number().min(0).max(1),\n sampleSize: z.number(),\n});\n/**\n * Fragile file score\n */\nexport const FragileFileRecord = z.object({\n path: z.string(),\n compositeScore: z.number().min(0).max(100),\n churnScore: z.number(),\n blastRadiusScore: z.number(),\n rollbackScore: z.number(),\n dependentCount: z.number(),\n rank: z.number(),\n});\n/**\n * Domain health score\n */\nexport const DomainHealthScore = z.object({\n domain: z.string(),\n score: z.number().min(0).max(100),\n fileCount: z.number(),\n avgChurn: z.number(),\n fragileFileCount: z.number(),\n trend: z.enum([\"improving\", \"stable\", \"degrading\", \"unknown\"]),\n trendComputedAt: z.number().nullable(),\n});\n/**\n * Baseline narrative\n */\nexport const BaselineNarrative = z.object({\n domainSummaries: z.record(z.string()),\n topRisks: z.array(z.object({\n file: z.string(),\n reason: z.string(),\n severity: z.enum([\"high\", \"medium\"]),\n })),\n agentContextTemplate: z.string(),\n});\n/**\n * Dependency graph\n */\nexport const DependencyGraph = z.object({\n nodes: z.array(z.string()),\n edges: z.array(z.object({\n from: z.string(),\n to: z.string(),\n })),\n blastRadii: z.record(z.number()),\n});\n// =============================================================================\n// Full Baseline Record (references ai-config types)\n// =============================================================================\n/**\n * Full baseline record - uses lazy imports to avoid circular dependencies\n * The actual ParsedAIConfig and AIConfigConflict types come from ai-config.ts\n */\nexport const BaselineRecord = z.object({\n workspacePath: z.string(),\n computedAt: z.number(),\n version: z.string(),\n // Tier 1: Structural\n fileInventory: z.array(FileRecord),\n domainMap: z.record(z.array(z.string())),\n totalFiles: z.number(),\n totalLines: z.number(),\n // Tier 2: Historical\n churnRates: z.record(ChurnRecord),\n coChangeClusters: z.array(CoChangeCluster),\n rollbackHotspots: z.array(z.string()),\n // Tier 3: Computed scores\n fragileFiles: z.array(FragileFileRecord),\n domainHealthScores: z.array(DomainHealthScore),\n overallHealthScore: z.number().min(0).max(100),\n // Dependency graph\n dependencyGraph: DependencyGraph,\n // AI config files (imported from ai-config.ts for enhanced types)\n aiConfigFiles: z.array(z.any()), // ParsedAIConfig - use z.any() to avoid circular import\n aiConfigConflicts: z.array(z.any()), // AIConfigConflict - use z.any() to avoid circular import\n // AI synthesis\n narrative: BaselineNarrative.nullable(),\n narrativeComputedAt: z.number().nullable(),\n});\n// =============================================================================\n// Baseline Status\n// =============================================================================\nexport const BaselineStatus = z.enum([\"ready\", \"stale\", \"computing\", \"not_computed\"]);\nexport const BaselineComputeProgress = z.object({\n status: BaselineStatus,\n progress: z.number().min(0).max(100),\n stage: z.string().optional(),\n error: z.string().optional(),\n});\n// =============================================================================\n// Method Params\n// =============================================================================\n/**\n * baseline/get params\n */\nexport const BaselineGetParams = z.object({\n workspace: z.string(),\n});\n/**\n * baseline/compute params\n */\nexport const BaselineComputeParams = z.object({\n workspace: z.string(),\n});\n/**\n * baseline/status params\n */\nexport const BaselineStatusParams = z.object({\n workspace: z.string(),\n});\n/**\n * baseline/invalidate params\n */\nexport const BaselineInvalidateParams = z.object({\n workspace: z.string(),\n});\n/**\n * baseline/update params (internal use)\n */\nexport const BaselineUpdateParams = z.object({\n workspace: z.string(),\n record: BaselineRecord,\n});\n","/**\n * Workspace Base Schema\n *\n * Base params that carry workspace identity.\n * All daemon methods that target a specific workspace extend this.\n *\n * @module @vreko/contracts/local-service/schemas/workspace-base\n */\nimport { z } from \"zod\";\n/**\n * Base params that carry workspace identity.\n * All daemon methods that target a specific workspace extend this.\n */\nexport const WorkspaceBase = z.object({\n /** Absolute path to workspace root */\n workspace: z.string().min(1),\n});\n","// ESM imports fixed for Node.js v22+\n/**\n * Context Parameter Schemas\n *\n * Context-related request parameters.\n *\n * @module @vreko/contracts/local-service/schemas/context\n */\nimport { z } from \"zod\";\nimport { WorkspaceBase } from \"./workspace-base.js\";\n/**\n * Get context parameters\n */\nexport const ContextGetParams = WorkspaceBase.extend({\n /** Task description */\n task: z.string().min(1),\n /** Files involved */\n files: z.array(z.string()).optional(),\n /** Keywords for context matching */\n keywords: z.array(z.string()).optional(),\n});\n/**\n * Validate context parameters\n */\nexport const ContextValidateParams = WorkspaceBase;\n/**\n * Check patterns parameters\n */\nexport const ContextCheckPatternsParams = WorkspaceBase.extend({\n /** Code to check */\n code: z.string(),\n /** File path */\n filePath: z.string().min(1),\n});\n","/**\n * Daemon Lifecycle Parameter Schemas\n *\n * Daemon lifecycle and supervisor related request parameters.\n *\n * @module @vreko/contracts/local-service/schemas/daemon\n */\nimport { z } from \"zod\";\n// =============================================================================\n// Daemon Lifecycle Params\n// =============================================================================\n/**\n * Daemon ping parameters (empty)\n */\nexport const DaemonPingParams = z.object({});\n/**\n * Daemon status parameters (empty)\n */\nexport const DaemonStatusParams = z.object({});\n/**\n * Daemon shutdown parameters (empty)\n */\nexport const DaemonShutdownParams = z.object({});\n/**\n * Daemon reload parameters (empty)\n */\nexport const DaemonReloadParams = z.object({});\n// =============================================================================\n// Supervisor Params\n// =============================================================================\n/**\n * Supervisor register parameters\n */\nexport const SupervisorRegisterParams = z.object({\n /** Absolute path to workspace root */\n workspace: z.string().min(1),\n /** Component type */\n type: z.enum([\"mcp-stdio\", \"mcp-http\"]),\n /** Process ID of the component */\n pid: z.number().int().positive(),\n /** Restart strategy */\n restartStrategy: z.enum([\"one-for-one\", \"one-for-all\"]).default(\"one-for-one\"),\n});\n/**\n * Supervisor heartbeat parameters\n */\nexport const SupervisorHeartbeatParams = z.object({\n /** Process ID of the component */\n pid: z.number().int().positive(),\n});\n/**\n * System health parameters\n */\nexport const SystemHealthParams = z.object({\n /** Include verbose details */\n verbose: z.boolean().optional(),\n});\n","/**\n * Detection Parameter Schemas\n *\n * Detection and analysis related request parameters.\n *\n * @module @vreko/contracts/local-service/schemas/detection\n */\nimport { z } from \"zod\";\n/**\n * Detection check parameters\n */\nexport const DetectionCheckParams = z.object({\n /** File path being checked */\n filePath: z.string().min(1),\n /** Current file content */\n content: z.string(),\n /** Previous content for comparison (optional) */\n previousContent: z.string().optional(),\n /** Additional metadata (optional) */\n metadata: z\n .object({\n /** Editor information string */\n editorInfo: z.string().optional(),\n /** Timestamp in milliseconds since epoch */\n timestamp: z.number().int().positive().optional(),\n })\n .optional(),\n});\n/**\n * Analyze risk parameters (PRO tier)\n */\nexport const AnalyzeRiskParams = z.object({\n /** Unified diff string to analyze */\n diff: z.string(),\n /** Context about the change */\n context: z.object({\n /** File path being changed */\n filePath: z.string(),\n /** Programming language (optional) */\n language: z.string().optional(),\n /** Project type (e.g., \"web\", \"mobile\", \"backend\") (optional) */\n projectType: z.string().optional(),\n }),\n});\n/**\n * Analyze grouping parameters (PRO tier)\n */\nexport const AnalyzeGroupingParams = z.object({\n /** Snapshot IDs to analyze for grouping */\n snapshotIds: z.array(z.string().uuid()).min(1),\n});\n/**\n * Sync trigger parameters (PRO tier)\n */\nexport const SyncTriggerParams = z.object({\n /** Sync direction */\n direction: z.enum([\"push\", \"pull\", \"both\"]).default(\"both\"),\n /** Specific snapshot IDs to sync (optional, syncs all if omitted) */\n snapshotIds: z.array(z.string().uuid()).optional(),\n});\n","/**\n * Digest Service Schemas\n *\n * Parameter schemas for the Digest service (Pioneer Dashboard).\n *\n * @module @vreko/contracts/local-service/schemas/digest\n */\nimport { z } from \"zod\";\n// =============================================================================\n// Digest Compute Params\n// =============================================================================\n/**\n * Parameters for digest/compute method\n */\nexport const DigestComputeParams = z.object({\n /** Workspace root path */\n workspace: z.string().min(1).describe(\"Workspace root path\"),\n /** Force refresh cache */\n force: z.boolean().optional().default(false).describe(\"Force refresh cache\"),\n});\n// =============================================================================\n// Digest Invalidate Params\n// =============================================================================\n/**\n * Parameters for digest/invalidate method\n */\nexport const DigestInvalidateParams = z.object({\n /** Workspace root path */\n workspace: z.string().min(1).describe(\"Workspace root path\"),\n});\n// =============================================================================\n// Digest Stats Params\n// =============================================================================\n/**\n * Parameters for digest/stats method\n */\nexport const DigestStatsParams = z.object({});\n","/**\n * Primitive Schemas\n *\n * Base enum and primitive type definitions for the local-service protocol.\n *\n * @module @vreko/contracts/local-service/schemas/primitives\n */\nimport { z } from \"zod\";\n// =============================================================================\n// Protocol Primitives\n// =============================================================================\n/**\n * Protocol version schema (semantic versioning)\n *\n * Format: MAJOR.MINOR.PATCH (e.g., \"1.0.0\")\n */\nexport const ProtocolVersion = z.string().regex(/^\\d+\\.\\d+\\.\\d+$/);\n/**\n * Snapshot trigger type\n *\n * Indicates what action caused the snapshot to be created:\n * - save: Normal file save\n * - ai_burst: Rapid AI-generated changes detected\n * - manual: User explicitly requested snapshot\n * - timer: Automatic periodic snapshot\n * - pre_restore: Backup before restoring another snapshot\n * - external: Created by external tool/integration\n */\nexport const SnapshotTrigger = z.enum([\"save\", \"ai_burst\", \"manual\", \"timer\", \"pre_restore\", \"external\"]);\n/**\n * Protection level\n *\n * Determines how aggressively to protect a file:\n * - watch: Monitor only, no interruptions\n * - warn: Show warnings but allow changes\n * - block: Prevent changes until user confirms\n */\nexport const ProtectionLevel = z.enum([\"watch\", \"warn\", \"block\"]);\n/**\n * Risk level\n *\n * Assessment of change risk:\n * - low: Minor changes, low impact\n * - medium: Moderate changes, some risk\n * - high: Significant changes, considerable risk\n * - critical: Breaking changes, high risk\n */\nexport const RiskLevel = z.enum([\"low\", \"medium\", \"high\", \"critical\"]);\n/**\n * Session state\n *\n * Current lifecycle state of a session:\n * - active: User actively working\n * - idle: No activity for a period\n * - ended: Session explicitly closed\n */\nexport const SessionState = z.enum([\"active\", \"idle\", \"ended\"]);\n/**\n * User tier\n *\n * Subscription level:\n * - free: Basic features\n * - pro: Advanced features\n * - enterprise: Full features + support\n */\nexport const Tier = z.enum([\"free\", \"pro\", \"enterprise\"]);\n// =============================================================================\n// Type Primitives\n// =============================================================================\n/**\n * Learning type enum\n */\nexport const LearningType = z.enum([\"pattern\", \"pitfall\", \"efficiency\", \"discovery\", \"workflow\"]);\n/**\n * Task intent classification\n */\nexport const TaskIntent = z.enum([\"implement\", \"debug\", \"refactor\", \"review\", \"explore\"]);\n/**\n * Memory entry type\n */\nexport const MemoryEntryType = z.enum([\"learning\", \"pattern\", \"violation\", \"context\", \"task\", \"session\"]);\n/**\n * Warning severity level with defined ordering.\n *\n * v2 FIX (M2): Severity ordering is explicit and machine-comparable.\n */\nexport const WarningSeverity = z.enum([\"info\", \"warning\", \"error\"]);\n/**\n * Co-change pattern entry\n *\n * Two files that are frequently modified together, indicating a dependency\n * relationship that the developer should be aware of.\n *\n * v2 FIX (M1): `relationship` uses a known enum with `z.string()` fallback\n * for extensibility. New relationship types don't require schema changes.\n */\nexport const CoChangeRelationship = z\n .enum([\"import_dependency\", \"test_coverage\", \"config_pair\", \"co_change_historical\", \"type_definition\"])\n .or(z.string());\n// =============================================================================\n// Client Identity Primitives\n// =============================================================================\n/**\n * Client type enum\n *\n * Identifies the type of client connecting to the local-service daemon:\n * - vscode: VS Code extension via DaemonBridge\n * - mcp-stdio: MCP server running as CLI subprocess\n * - mcp-remote: MCP server on Fly.io\n * - cli: Direct CLI commands\n * - api: API backend server\n * - unknown: Pre-initialize or unidentified\n */\nexport const ClientType = z.enum([\"vscode\", \"mcp-stdio\", \"mcp-remote\", \"cli\", \"api\", \"unknown\"]);\n","// ESM imports fixed for Node.js v22+\n/**\n * Entity Schemas\n *\n * Core entity definitions for the local-service protocol.\n *\n * @module @vreko/contracts/local-service/schemas/entities\n */\nimport { z } from \"zod\";\nimport { CoChangeRelationship, ProtectionLevel, RiskLevel, SessionState, SnapshotTrigger, WarningSeverity, } from \"./primitives.js\";\n// =============================================================================\n// Core Entities\n// =============================================================================\n/**\n * File conflict between concurrent sessions\n *\n * Tracks overlapping file modifications between two sessions\n * running on the same workspace.\n */\nexport const FileConflict = z.object({\n /** The OTHER session ID involved in the conflict */\n sessionId: z.string(),\n /** Client type of the other session */\n clientType: z.enum([\"vscode\", \"mcp-stdio\", \"mcp-remote\", \"cli\", \"api\", \"unknown\"]),\n /** Overlapping file paths */\n files: z.array(z.string()),\n /** When the conflict was detected */\n detectedAt: z.number(),\n /** Severity level */\n severity: z.enum([\"info\", \"warn\"]),\n});\n/**\n * Session entity\n *\n * Represents a work session in the editor. Sessions group related snapshots\n * and track workspace activity.\n *\n * Phase 1 additions: clientId, clientType, endedAt, snapshotIds, learningIds,\n * coherenceScore, riskPeakScore, concurrentSessionIds, fileConflicts, touchedFiles.\n */\nexport const Session = z.object({\n /** Unique session identifier (UUID v4) */\n id: z.string().uuid(),\n /** Absolute path to the workspace root */\n workspacePath: z.string(),\n /** ISO 8601 timestamp when session started */\n startedAt: z.string().datetime(),\n /** ISO 8601 timestamp of last activity */\n lastActivityAt: z.string().datetime(),\n /** Current session state */\n state: SessionState,\n /** Session metadata */\n metadata: z.object({\n /** AI tools detected during this session */\n aiToolsDetected: z.array(z.string()),\n /** Highest risk level seen in this session */\n highestRiskLevel: RiskLevel,\n /** Count of snapshots by trigger type */\n triggerCounts: z.record(z.string(), z.number()),\n }),\n // === Phase 1 Additions ===\n /** Client ID that owns this session (populated from ClientRegistry) */\n clientId: z.string().optional(),\n /** Client type (vscode, mcp-stdio, mcp-remote, cli, api, unknown) */\n clientType: z.enum([\"vscode\", \"mcp-stdio\", \"mcp-remote\", \"cli\", \"api\", \"unknown\"]).optional(),\n /** Unix ms timestamp when session ended (null if active) */\n endedAt: z.number().nullable().optional(),\n /** Snapshot IDs created during this session */\n snapshotIds: z.array(z.string()).optional(),\n /** Learning IDs captured during this session */\n learningIds: z.array(z.string()).optional(),\n /** Coherence score computed at session end */\n coherenceScore: z.enum([\"high\", \"medium\", \"low\", \"scattered\"]).nullable().optional(),\n /** Maximum risk score observed during session */\n riskPeakScore: z.number().nullable().optional(),\n /** Other active sessions on same workspace */\n concurrentSessionIds: z.array(z.string()).optional(),\n /** Cross-session file overlap detections */\n fileConflicts: z.array(FileConflict).optional(),\n /** Files touched during this session */\n touchedFiles: z.array(z.string()).optional(),\n});\n/**\n * Snapshot entity\n *\n * Represents a point-in-time capture of a file's state. Snapshots are the\n * core unit of protection in Vreko.\n */\nexport const Snapshot = z.object({\n /** Unique snapshot identifier (UUID v4) */\n id: z.string().uuid(),\n /** Session that created this snapshot */\n sessionId: z.string().min(1),\n /** Absolute path to the file */\n filePath: z.string(),\n /** Path relative to workspace root */\n relativePath: z.string(),\n /** Content hash (SHA-256, prefixed with \"sha256:\") */\n contentHash: z.string().startsWith(\"sha256:\"),\n /** What triggered this snapshot */\n trigger: SnapshotTrigger,\n /** ISO 8601 timestamp when snapshot was created */\n createdAt: z.string().datetime(),\n /** Snapshot metadata */\n metadata: z.object({\n /** File size in bytes */\n fileSize: z.number().int().nonnegative(),\n /** Number of lines in the file */\n lineCount: z.number().int().nonnegative(),\n /** Programming language (optional) */\n language: z.string().optional(),\n /** AI tool that was active (if detected) */\n aiToolDetected: z.string().optional(),\n /** Confidence score for AI detection (0-1) */\n aiConfidence: z.number().min(0).max(1).optional(),\n /** Risk level assessment (optional) */\n riskLevel: RiskLevel.optional(),\n }),\n});\n/**\n * Protection decision\n *\n * Result of evaluating protection policy for a file.\n */\nexport const ProtectionDecision = z.object({\n /** Determined protection level */\n level: ProtectionLevel,\n /** Whether this was automatically determined */\n automatic: z.boolean(),\n /** Source of the decision */\n source: z.enum([\"auto\", \"user\", \"config\", \"default\"]),\n /** Confidence in the decision (0-1) */\n confidence: z.number().min(0).max(1),\n});\n/**\n * Protection factor\n *\n * Individual factor contributing to a protection decision.\n */\nexport const ProtectionFactor = z.object({\n /** Factor name/description */\n name: z.string(),\n /** Factor score (0-1, higher = more protection needed) */\n score: z.number().min(0).max(1),\n /** Factor weight in overall decision (0-1) */\n weight: z.number().min(0).max(1),\n /** Additional details (optional) */\n details: z.string().optional(),\n});\n/**\n * Detection signal\n *\n * Evidence of AI tool activity.\n */\nexport const DetectionSignal = z.object({\n /** Type of detection signal */\n type: z.enum([\"pattern\", \"timing\", \"volume\", \"style\"]),\n /** Human-readable description */\n description: z.string(),\n /** Signal strength (0-1, higher = stronger evidence) */\n strength: z.number().min(0).max(1),\n});\n/**\n * Risk factor\n *\n * Individual risk identified in code changes.\n */\nexport const RiskFactor = z.object({\n /** Risk category */\n category: z.enum([\"security\", \"stability\", \"data\", \"infrastructure\"]),\n /** Human-readable description */\n description: z.string(),\n /** Severity level */\n severity: z.enum([\"low\", \"medium\", \"high\"]),\n /** Location in code (optional) */\n location: z\n .object({\n /** Starting line number (1-indexed) */\n startLine: z.number().int().positive(),\n /** Ending line number (1-indexed) */\n endLine: z.number().int().positive(),\n })\n .optional(),\n});\n// =============================================================================\n// Intelligence Insights Response Entities\n// =============================================================================\n/**\n * Risk assessment result returned by protection/evaluate\n *\n * Maps directly from RiskAssessment in packages/intelligence/src/types/integrations.ts\n * Serialized for IPC transport (no class instances, no functions).\n */\nexport const RiskAssessmentResponse = z.object({\n /** Overall risk score: 0-100 */\n score: z.number().int().min(0).max(100),\n /** Risk level classification (reuses existing RiskLevel from local-service) */\n level: RiskLevel,\n /** All identified risk factors */\n factors: z.array(z.object({\n /** Factor name */\n name: z.string(),\n /** Score contribution: -100 to 100 */\n score: z.number().min(-100).max(100),\n /** Human-readable description */\n description: z.string(),\n /** Source system */\n source: z.enum([\"github\", \"context7\", \"sentry\", \"local\", \"ai_detection\"]),\n /** Optional mitigation suggestion */\n suggestion: z.string().optional(),\n })),\n /** Recommended action */\n recommendation: z.enum([\"proceed\", \"warn\", \"block\"]),\n /** Confidence in assessment: 0-100 */\n confidence: z.number().int().min(0).max(100),\n /** Human-readable explanation */\n explanation: z.string(),\n});\n/**\n * AI detection result returned by detection/check\n *\n * v2 FIX (M6): Uses discriminated union instead of nullable toolName.\n * `detected: false` = checked and clean. `detected: true` = AI tool found.\n * Eliminates ambiguity between \"not checked\" and \"checked, not found\".\n */\nexport const AIDetectionResult = z.discriminatedUnion(\"detected\", [\n z.object({\n detected: z.literal(false),\n /** Detection confidence: 0-1 (confidence that no AI was involved) */\n confidence: z.number().min(0).max(1),\n /** Detection signals evaluated */\n signals: z.array(z.object({\n type: z.enum([\"pattern\", \"timing\", \"volume\", \"style\"]),\n description: z.string(),\n strength: z.number().min(0).max(1),\n })),\n }),\n z.object({\n detected: z.literal(true),\n /** Detected AI tool name */\n toolName: z.string(),\n /** Detection confidence: 0-1 */\n confidence: z.number().min(0).max(1),\n /** Detection signals that contributed to the result */\n signals: z.array(z.object({\n type: z.enum([\"pattern\", \"timing\", \"volume\", \"style\"]),\n description: z.string(),\n strength: z.number().min(0).max(1),\n })),\n }),\n]);\n/**\n * Fragile file entry\n *\n * A file identified as having high rollback risk based on historical patterns.\n */\nexport const FragileFile = z.object({\n /** Relative file path */\n filePath: z.string(),\n /** Fragility score: 0-1 (1 = very fragile) */\n fragilityScore: z.number().min(0).max(1),\n /** Severity classification */\n severity: z.enum([\"moderate\", \"high\", \"critical\"]),\n /** Why this file is fragile */\n reason: z.string(),\n /** Suggested action */\n suggestion: z.string(),\n /** Number of rollbacks in recent history */\n rollbackCount: z.number().int().nonnegative(),\n /** Number of AI-triggered modifications */\n aiChurnCount: z.number().int().nonnegative(),\n /** Blast radius (number of dependent files) */\n blastRadius: z.number().int().nonnegative().optional(),\n /** Last modified timestamp (ISO 8601) */\n lastModified: z.string().datetime().optional(),\n});\n/**\n * Co-change pattern entry\n *\n * Two files that are frequently modified together, indicating a dependency\n * relationship that the developer should be aware of.\n */\nexport const CoChangePattern = z.object({\n /** Primary file path */\n fileA: z.string(),\n /** Co-changed file path */\n fileB: z.string(),\n /** Co-occurrence frequency: 0-1 (1 = always changed together) */\n frequency: z.number().min(0).max(1),\n /** Number of times these files were changed together */\n occurrences: z.number().int().positive(),\n /** Relationship type - extensible union */\n relationship: CoChangeRelationship,\n /** Human-readable description of why they co-change */\n reason: z.string(),\n /** When this pattern was last observed (ISO 8601) */\n lastObserved: z.string().datetime(),\n});\n// =============================================================================\n// STORAGE SCHEMAS (Phase 1 - Service Layer Contracts)\n// =============================================================================\n/**\n * FragileFileStorageSchema - validates what baseline.ts actually returns\n *\n * This is the Phase 1 service contract for the BaselineService.\n * Uses 0-100 scale for compositeScore (not 0-1 like the API schema).\n */\nexport const FragileFileStorageSchema = z.object({\n /** Relative file path */\n path: z.string().min(1),\n /** Composite fragility score: 0-100 (100 = most fragile) */\n compositeScore: z.number().min(0).max(100),\n /** Weighted churn rate contribution */\n churnScore: z.number().min(0),\n /** Weighted dependency count contribution */\n blastRadiusScore: z.number().min(0),\n /** How often restores involve this file */\n rollbackScore: z.number().min(0),\n /** Files that import this file */\n dependentCount: z.number().int().nonnegative(),\n /** Ranking: 1 = most fragile */\n rank: z.number().int().positive(),\n});\n/**\n * CoChangePatternStorageSchema - validates what CoChangeDetector.ts actually returns\n *\n * This is the Phase 1 service contract for the CoChangeDetector.\n * Uses epoch number for lastObserved (not ISO string like the API schema).\n */\nexport const CoChangePatternStorageSchema = z.object({\n /** Primary file path */\n fileA: z.string().min(1),\n /** Co-changed file path */\n fileB: z.string().min(1),\n /** Co-occurrence frequency: 0-1 (1 = always changed together) */\n frequency: z.number().min(0).max(1),\n /** Number of times these files were changed together */\n occurrences: z.number().int().positive(),\n /** Relationship type - extensible string */\n relationship: z.string().min(1),\n /** Human-readable description of why they co-change */\n reason: z.string().min(1),\n /** When this pattern was last observed (epoch timestamp) */\n lastObserved: z.number().int().positive(),\n});\n/**\n * RiskFactorStorageSchema - validates the RiskFactor shape returned by the risk assessment service\n */\nexport const RiskFactorStorageSchema = z.object({\n /** Pillar source */\n source: z.enum([\n \"git-risk\",\n \"rollback-patterns\",\n \"fatigue\",\n \"annotations\",\n \"poisoning\",\n \"history\",\n \"structural\",\n \"co-change\",\n ]),\n /** Risk score contribution */\n score: z.number(),\n /** Human-readable description */\n description: z.string().min(1),\n /** Severity level */\n severity: z.enum([\"info\", \"warning\", \"critical\"]),\n /** Additional metadata */\n meta: z.record(z.unknown()).optional(),\n});\n/**\n * RiskAssessmentStorageSchema - validates what the risk assessment service actually returns\n *\n * This is the Phase 2 service contract for the risk assessment service.\n * Uses epoch number for timestamp (not ISO string).\n */\nexport const RiskAssessmentStorageSchema = z.object({\n /** Overall risk score (1.0 = neutral, higher = riskier) */\n riskScore: z.number().min(0),\n /** Action recommendation */\n action: z.enum([\"PROCEED\", \"PROCEED_WITH_SNAPSHOT\", \"WARN\", \"BLOCK\"]),\n /** All contributing factors */\n factors: z.array(RiskFactorStorageSchema),\n /** Whether write is allowed */\n allowed: z.boolean(),\n /** Human-readable recommendation */\n recommendation: z.string().min(1),\n /** Alternative actions if blocked */\n alternativeActions: z\n .array(z.object({\n tool: z.string(),\n description: z.string(),\n params: z.record(z.unknown()).optional(),\n }))\n .optional(),\n /** Assessment timestamp (epoch) */\n timestamp: z.number().int().positive(),\n /** Correlation ID for tracing */\n correlationId: z.string().optional(),\n});\n/**\n * Workspace intelligence summary\n *\n * Aggregated intelligence state for a workspace - the \"headline\" data\n * that tells users what Vreko knows about their codebase.\n *\n * v2 FIX (Finding 10): Added time-windowed counters alongside cumulative totals.\n * Cumulative totals retained for Pioneer Program / gamification; windowed counters\n * provide meaningful recency signals in the UI.\n */\nexport const WorkspaceIntelligenceSummary = z.object({\n /** Total learnings captured for this workspace */\n learningsCount: z.number().int().nonnegative(),\n /** Total patterns detected */\n patternsCount: z.number().int().nonnegative(),\n /** Number of fragile files identified */\n fragileFilesCount: z.number().int().nonnegative(),\n /** Number of co-change relationships detected */\n coChangePatternsCount: z.number().int().nonnegative(),\n /** Total sessions recorded (cumulative) */\n totalSessions: z.number().int().nonnegative(),\n /** Total lines analyzed (cumulative - retained for Pioneer Program) */\n linesAnalyzed: z.number().int().nonnegative(),\n /** Total snapshots created (cumulative) */\n totalSnapshots: z.number().int().nonnegative(),\n /** Total restores performed (cumulative) */\n totalRestores: z.number().int().nonnegative(),\n // ── Time-windowed counters (v2 - meaningful recency) ──\n /** Snapshots created in the last 24 hours */\n snapshotsToday: z.number().int().nonnegative(),\n /** Snapshots created in the last 7 days */\n snapshotsThisWeek: z.number().int().nonnegative(),\n /** Lines analyzed in the last 24 hours */\n linesAnalyzedToday: z.number().int().nonnegative(),\n /** Restores performed in the last 7 days */\n restoresThisWeek: z.number().int().nonnegative(),\n /** Patterns detected in the last 7 days */\n patternsThisWeek: z.number().int().nonnegative(),\n // ── Health summary ──\n /** Workspace health score: 0-100 */\n healthScore: z.number().int().min(0).max(100),\n /** Health trajectory */\n healthTrajectory: z.enum([\"improving\", \"stable\", \"declining\"]),\n});\n/**\n * Active warning from the advisory engine\n */\nexport const ActiveWarning = z.object({\n /** Warning code (e.g., 'FRAGILE_FILE', 'LOOP_DETECTED') */\n code: z.string(),\n /** Severity level (ordered: info < warning < error) */\n level: WarningSeverity,\n /** Human-readable message */\n message: z.string(),\n /** Affected file (optional) */\n file: z.string().optional(),\n /** Suggested action */\n suggestion: z.string().optional(),\n});\n/**\n * Session coherence assessment\n */\nexport const SessionCoherence = z.object({\n /** Coherence score: 0-100 (100 = highly focused session) */\n score: z.number().int().min(0).max(100),\n /** Assessment */\n assessment: z.enum([\"focused\", \"moderate\", \"scattered\", \"chaotic\"]),\n /** Number of distinct file clusters in the session */\n clusterCount: z.number().int().nonnegative(),\n /** Primary focus area (most-edited directory or module) */\n primaryFocus: z.string().nullable(),\n /** Files that seem unrelated to the main session focus */\n outlierFiles: z.array(z.string()),\n});\n/**\n * AI attribution for a snapshot.\n *\n * v2 FIX (M6): Discriminated union eliminates null ambiguity.\n * `detected: false` = AI check ran, nothing found.\n * `detected: true` = AI tool was identified.\n * Field is optional on EnrichedSnapshot - absent = not yet checked.\n */\nexport const SnapshotAIAttribution = z.discriminatedUnion(\"detected\", [\n z.object({ detected: z.literal(false) }),\n z.object({\n detected: z.literal(true),\n toolName: z.string(),\n confidence: z.number().min(0).max(1),\n }),\n]);\n/**\n * Enriched snapshot for timeline display\n *\n * Standard Snapshot entity + intelligence annotations.\n * This is what the webview renders in the Activity timeline.\n */\nexport const EnrichedSnapshot = Snapshot.extend({\n /** Risk assessment at time of creation */\n risk: z\n .object({\n score: z.number().int().min(0).max(100),\n level: RiskLevel,\n })\n .optional(),\n /** AI tool attribution (absent = not checked, present = checked) */\n aiAttribution: SnapshotAIAttribution.optional(),\n /** Session cluster ID (for grouping in timeline) */\n sessionClusterId: z.string().uuid().nullable(),\n /** Whether this snapshot has been restored */\n wasRestored: z.boolean(),\n});\n// =============================================================================\n// DataSection<T> - v4 Addition for Webview State Management\n// =============================================================================\n/**\n * Status envelope for data sections with loading/error/stale states.\n * Enables per-section graceful degradation in webview.\n *\n * v4 FIX (C1.3): DataSection<T> not in contracts - now added.\n *\n * @example\n * ```typescript\n * const section: DataSection<FragileFile[]> = {\n * status: \"ready\",\n * data: [{ filePath: \"auth.ts\", fragilityScore: 0.8 }],\n * fetchedAt: Date.now()\n * };\n * ```\n */\nexport const DataSectionSchema = (dataSchema) => z.discriminatedUnion(\"status\", [\n z.object({ status: z.literal(\"loading\") }),\n z.object({\n status: z.literal(\"ready\"),\n data: dataSchema,\n fetchedAt: z.number(),\n }),\n z.object({\n status: z.literal(\"error\"),\n error: z.string(),\n staleData: dataSchema.optional(),\n fetchedAt: z.number().optional(),\n }),\n z.object({\n status: z.literal(\"stale\"),\n data: dataSchema,\n fetchedAt: z.number(),\n }),\n]);\n// =============================================================================\n// Topology - blast radius RPC (Project Bedrock Phase 1)\n// =============================================================================\n/**\n * Params for `topology/blast-radius`.\n *\n * Canonical principle (spec §1.3): every topology query carries the\n * workspace path so the daemon can route to the correct per-workspace\n * TopologyService singleton.\n */\nexport const topologyBlastRadiusParams = z.object({\n /** Workspace root (absolute path) */\n workspace: z.string().min(1),\n /** Workspace-relative file path (I-9) */\n filePath: z.string().min(1),\n});\n/**\n * Result shape of `topology/blast-radius`.\n *\n * When the TopologyService has not yet populated its scan cache, the\n * `result` field is `null` - callers should fall back to baseline data\n * rather than treating this as an error (spec §3 Phase 1 Step 1.5).\n */\nexport const topologyBlastRadiusResult = z.object({\n result: z\n .object({\n /** 1-hop importers (workspace-relative paths) */\n direct: z.array(z.string()),\n /** 2-hop importers, excluding anything in `direct` */\n transitive: z.array(z.string()),\n directCount: z.number().int().nonnegative(),\n transitiveCount: z.number().int().nonnegative(),\n /** Count of affected files living in a different module */\n crossPackageCount: z.number().int().nonnegative(),\n /** Log-scale normalised blast radius score in [0, 1] */\n score: z.number().min(0).max(1),\n })\n .nullable(),\n});\n","// ESM imports fixed for Node.js v22+\n/**\n * Guard Health Schemas\n *\n * Zod schemas for the guard health intelligence system (SB-HEALTH-001).\n * Matches the NDJSON output contract from scripts/guards/*.sh\n *\n * @module @vreko/contracts/local-service/schemas/guard\n */\nimport { z } from \"zod\";\nimport { WorkspaceBase } from \"./workspace-base.js\";\n// =============================================================================\n// Guard Status Enum\n// =============================================================================\n/**\n * Guard execution status\n *\n * Matches the exit codes from guard shell scripts:\n * - pass: Guard completed successfully, no issues found (exit 0)\n * - warn: Guard found issues but they are not blocking (exit 0 with warnings)\n * - fail: Guard found critical issues or execution failed (exit 1)\n */\nexport const GuardStatus = z.enum([\"pass\", \"warn\", \"fail\"]);\n// =============================================================================\n// Guard File\n// =============================================================================\n/**\n * A file flagged by a guard with optional line number and message\n *\n * Corresponds to individual violation records from guard output.\n */\nexport const GuardFile = z.object({\n /** Absolute or workspace-relative path to the flagged file */\n path: z.string().min(1),\n /** Line number where the issue was found (optional) */\n line: z.number().int().positive().optional(),\n /** Human-readable description of the issue */\n message: z.string().min(1),\n});\n// =============================================================================\n// Guard Result\n// =============================================================================\n/**\n * Result from a single guard execution\n *\n * Matches the NDJSON line format from `run-guards.sh --format json`.\n * Each line of stdout represents one guard's results.\n */\nexport const GuardResult = z.object({\n /** Guard name (e.g., \"console-logs\", \"test-pollution\") */\n guard: z.string().min(1),\n /** Execution status */\n status: GuardStatus,\n /** Files flagged by this guard (empty array if status is \"pass\") */\n files: z.array(GuardFile).default([]),\n /** Execution duration in milliseconds */\n durationMs: z.number().nonnegative(),\n});\n// =============================================================================\n// Guard Run Result\n// =============================================================================\n/**\n * Complete guard run result for a workspace\n *\n * Returned by the `health/workspace` IPC method.\n * Combines all guard results with metadata about cache staleness.\n */\nexport const GuardRunResult = z.object({\n /** Results from all guards in the run */\n guards: z.array(GuardResult).default([]),\n /** Unix timestamp (ms) when this run completed */\n timestamp: z.number().nonnegative(),\n /** Age of cached results in milliseconds (Date.now() - timestamp) */\n staleMs: z.number().nonnegative(),\n /** Profile used for this run (\"fast\" or \"full\") */\n profile: z.enum([\"fast\", \"full\"]),\n /** Whether a background refresh is in progress */\n refreshing: z.boolean(),\n});\n// =============================================================================\n// IPC Method Params\n// =============================================================================\n/**\n * Parameters for health/workspace IPC method\n */\nexport const HealthWorkspaceParams = WorkspaceBase.extend({\n /** Guard profile to run (optional, defaults to \"fast\") */\n profile: z.enum([\"fast\", \"full\"]).optional().default(\"fast\"),\n});\n// =============================================================================\n// Notification Payload\n// =============================================================================\n/**\n * Payload for health.guard.changed notification\n *\n * Emitted when guard statuses change (e.g., pass→fail, warn→pass).\n * Only includes guards whose status actually changed.\n */\nexport const GuardChangedPayload = z.object({\n /** Guards that changed status since last run */\n changed: z.array(GuardResult),\n /** Current state of all guards */\n current: z.array(GuardResult),\n /** Unix timestamp (ms) when the change was detected */\n timestamp: z.number().nonnegative(),\n});\n","// ESM imports fixed for Node.js v22+\n/**\n * Intelligence Parameter Schemas\n *\n * Intelligence-related request parameters.\n *\n * @module @vreko/contracts/local-service/schemas/intelligence\n */\nimport { z } from \"zod\";\nimport { WarningSeverity } from \"./primitives.js\";\nimport { WorkspaceBase } from \"./workspace-base.js\";\n// =============================================================================\n// Intelligence Params\n// =============================================================================\n/**\n * Intelligence capture parameters\n * Gap Fields: Added outcome tracking for prevention metrics\n */\nexport const IntelligenceCaptureParams = WorkspaceBase.extend({\n /** Pattern content */\n content: z.string().min(1),\n /** Knowledge domain */\n domain: z\n .enum([\"architecture\", \"testing\", \"documentation\", \"performance\", \"security\", \"workflow\", \"tooling\"])\n .optional(),\n /** Pattern type */\n type: z.enum([\"pattern\", \"anti-pattern\", \"best-practice\", \"constraint\", \"heuristic\"]).optional(),\n /** Severity */\n severity: z.enum([\"info\", \"warning\", \"error\"]).optional(),\n /** Related pattern IDs */\n relatedTo: z.array(z.string()).optional(),\n /** Gap Fields: Outcome type for dashboard tracking (prevented/recovered/monitored) */\n outcome: z.enum([\"prevented\", \"recovered\", \"monitored\"]).optional(),\n /** Gap Fields: File categories involved (for risksPreventedContext) */\n fileCategories: z.array(z.string()).optional(),\n /** Gap Fields: Blast radius count for the decision */\n blastRadius: z.number().int().nonnegative().optional(),\n /** Gap Fields: File path for the event */\n filePath: z.string().optional(),\n /** Gap Fields: AI tool detected (cursor/copilot/claude) */\n aiTool: z.enum([\"cursor\", \"copilot\", \"claude\"]).optional(),\n /** Gap Fields: Risk level (high/medium/low) */\n risk: z.enum([\"high\", \"medium\", \"low\"]).optional(),\n});\n/**\n * Intelligence outcome parameters\n * Gap Fields: Extended with prevention tracking outcomes\n */\nexport const IntelligenceOutcomeParams = WorkspaceBase.extend({\n /** Pattern ID or Decision ID */\n patternId: z.string().min(1),\n /**\n * Outcome type\n * - resolved/regressed/ignored: Original pattern outcomes\n * - prevented/recovered/monitored: Gap Fields dashboard outcomes\n */\n outcome: z.enum([\"resolved\", \"regressed\", \"ignored\", \"prevented\", \"recovered\", \"monitored\"]),\n /** Notes */\n notes: z.string().optional(),\n /** Gap Fields: Whether decision was reverted within 5min (for accuracy calc) */\n revertedWithin5Min: z.boolean().optional(),\n /** Gap Fields: File categories involved */\n fileCategories: z.array(z.string()).optional(),\n});\n/**\n * Gap Fields: Decision outcome recording with 5min revert window tracking\n * Used for rolling accuracy calculation\n */\nexport const IntelligenceDecisionOutcomeParams = WorkspaceBase.extend({\n /** Unique decision ID */\n decisionId: z.string().min(1),\n /** Decision outcome */\n outcome: z.enum([\"prevented\", \"recovered\", \"monitored\", \"reverted\"]),\n /** Whether the decision was reverted within 5 minutes */\n revertedWithin5Min: z.boolean().optional(),\n /** File categories involved in the decision */\n fileCategories: z.array(z.string()).optional(),\n /** Human-readable action taken */\n action: z.string().optional(),\n /** Notes */\n notes: z.string().optional(),\n});\n// =============================================================================\n// Intelligence Insights Params\n// =============================================================================\n/**\n * Get fragile files for a workspace\n */\nexport const IntelligenceFragileFilesParams = WorkspaceBase.extend({\n /** Minimum fragility score to include (0-1) */\n minScore: z.number().min(0).max(1).default(0.5),\n /** Maximum results */\n limit: z.number().int().min(1).max(50).default(20),\n});\n/**\n * Get co-change patterns for a workspace\n */\nexport const IntelligenceCoChangesParams = WorkspaceBase.extend({\n /** Minimum co-occurrence frequency to include (0-1) */\n minFrequency: z.number().min(0).max(1).default(0.5),\n /** Filter to patterns involving this file */\n filePath: z.string().optional(),\n /** Maximum results */\n limit: z.number().int().min(1).max(50).default(20),\n});\n/**\n * Get workspace intelligence summary\n * Gap Fields: Now includes prevention metrics\n */\nexport const IntelligenceSummaryParams = WorkspaceBase;\n/**\n * Get active warnings for a workspace\n */\nexport const IntelligenceWarningsParams = WorkspaceBase.extend({\n /** Filter by minimum severity (uses WARNING_SEVERITY_ORDER for comparison) */\n minLevel: WarningSeverity.default(\"info\"),\n /** Maximum results */\n limit: z.number().int().min(1).max(20).default(10),\n});\n/**\n * Get workspace health score (migrated from extension VitalsService)\n */\nexport const IntelligenceHealthParams = WorkspaceBase;\n/**\n * Gap Fields: Get prevention metrics for dashboard\n */\nexport const IntelligencePreventionMetricsParams = WorkspaceBase.extend({\n /** Days to look back (default: 7) */\n days: z.number().int().min(1).max(30).default(7),\n});\n/**\n * Gap Fields: Get rolling accuracy metrics\n */\nexport const IntelligenceAccuracyMetricsParams = WorkspaceBase.extend({\n /** Weeks to look back (default: 8) */\n weeks: z.number().int().min(1).max(12).default(8),\n});\n/**\n * Get recurrence candidates for a workspace (Phase 4 - INTEL-11, INTEL-12, INTEL-13)\n */\nexport const IntelligenceRecurrenceCandidatesParams = WorkspaceBase.extend({\n /** Filter to specific files (omit to scan all files in window) */\n files: z.array(z.string()).optional(),\n /** Time window to query from the aggregate store */\n window: z.enum([\"7d\", \"30d\", \"90d\", \"all\"]).default(\"30d\"),\n /** Minimum calibrated confidence floor (default: 0.55 = MIN_SURFACE_SCORE) */\n minConfidence: z.number().min(0).max(1).default(0.55),\n /** Maximum candidates to return */\n limit: z.number().int().min(1).max(20).default(10),\n});\nexport const IntelligenceSeedParams = WorkspaceBase.extend({\n profile: z.any().optional(),\n fragileFiles: z.array(z.any()).optional(),\n coChangePairs: z.array(z.any()).optional(),\n temporalRiskWindows: z.array(z.any()).optional(),\n weightOverrides: z.any().optional(),\n lockedInsights: z.array(z.any()).optional(),\n scanCache: z.any().optional(),\n});\nexport const IntelligenceUnlockParams = WorkspaceBase.extend({\n insightId: z.string(),\n});\n// =============================================================================\n// Intelligence Snapshot (Intelligence Projection Architecture Phase 1)\n// =============================================================================\n/**\n * Parameters for the `intelligence/snapshot` IPC method.\n *\n * Returns the per-workspace IntelligenceSnapshot maintained by the\n * IntelligenceProjectionAggregator. See:\n * packages/contracts/src/local-service/intelligence.ts\n */\nexport const IntelligenceSnapshotParams = WorkspaceBase;\n/**\n * Parameters for the `intelligence/file-modified` IPC method.\n *\n * Records file modification observations to intelligence regardless of session context.\n * Session tracking is secondary - updates session if active, but never gates recording.\n */\nexport const IntelligenceFileModifiedParams = WorkspaceBase.extend({\n /** File path (relative to workspace root) */\n path: z.string().min(1),\n /** Lines changed */\n linesChanged: z.number().int().nonnegative().optional(),\n /** AI-attributed change */\n aiAttributed: z.boolean().optional(),\n /** Optional AI tool name if attributed */\n aiTool: z.enum([\"cursor\", \"copilot\", \"claude\", \"windsurf\", \"burst-pattern\"]).optional(),\n});\n/**\n * intelligence/ensureEmbeddingsReady - checks whether the per-workspace\n * intelligence service has loaded enough chunks/embeddings to answer queries.\n * Handler: apps/local-service/src/server/protocol.ts case \"intelligence\" then \"ensureEmbeddingsReady\"\n * Caller: packages/mcp/src/daemon/local-service-adapter.ts ensureEmbeddingsReadyViaDaemon()\n */\nexport const IntelligenceEnsureEmbeddingsReadyParams = z.object({\n workspace: z.string().optional(),\n});\n/**\n * intelligence/indexPatterns - parameters\n *\n * Requests the daemon to index or return indexed code patterns for the workspace.\n * Handler: apps/local-service/src/server/protocol.ts case \"intelligence\" → \"indexPatterns\"\n * Returns { patterns: [], total: 0 } stub (handler is a no-op stub, Phase 1 resolution is schema-only).\n * Callers: packages/mcp/src/daemon/intelligence-adapter.ts indexPatternsViaDaemon()\n *\n * Phantom resolved: method was routed but absent from MethodSchemas (blocked at isValidMethod).\n * Refs: deep-daemon-audit-2026-05-11.md Phase 1, implementation-prompt-2026-05-11.md Phase 1\n */\nexport const IntelligenceIndexPatternsParams = WorkspaceBase.extend({\n /** Factors or signals to index (optional, passed by MCP adapter).\n * Shape: Array<{ name: string; score: number; source: string; description?: string }>\n */\n factors: z\n .array(z.object({\n name: z.string(),\n score: z.number(),\n source: z.string(),\n description: z.string().optional(),\n }))\n .optional(),\n});\n/**\n * intelligence/indexPatterns - result\n */\nexport const IntelligenceIndexPatternsResult = z.object({\n /** Indexed patterns (currently an empty stub - full implementation deferred) */\n patterns: z.array(z.unknown()),\n /** Total pattern count */\n total: z.number().int().nonnegative(),\n});\n// =============================================================================\n// Rules-File Projection IPC Params (Phase 2 - intelligence-projection-architecture)\n// =============================================================================\n/**\n * projections/rules-file/status - query projection status for a workspace.\n */\nexport const ProjectionsRulesFileStatusParams = WorkspaceBase;\n/**\n * projections/rules-file/enable - enable rules-file projection for a workspace.\n */\nexport const ProjectionsRulesFileEnableParams = WorkspaceBase;\n/**\n * projections/rules-file/disable - disable rules-file projection for a workspace.\n */\nexport const ProjectionsRulesFileDisableParams = WorkspaceBase;\n/**\n * projections/rules-file/dry-run - preview what would be written without writing.\n */\nexport const ProjectionsRulesFileDryRunParams = WorkspaceBase;\n// =============================================================================\n// VALID-04: Intelligence Result Schemas (decision-outcome, prevention-metrics,\n// accuracy-metrics)\n// =============================================================================\n/**\n * Result for intelligence/decision-outcome\n * Shape derived from createIntelligenceService().decisionOutcome() return value.\n */\nexport const IntelligenceDecisionOutcomeResult = z.object({\n /** Whether the outcome was recorded */\n recorded: z.boolean(),\n /** The decision ID */\n decisionId: z.string(),\n /** The outcome type */\n outcome: z.string(),\n /** Whether the decision was reverted within 5 minutes */\n revertedWithin5Min: z.boolean().optional(),\n /** Impact on accuracy metric */\n accuracyImpact: z.enum([\"reduced\", \"maintained\"]),\n /** Optional notes */\n notes: z.string().optional(),\n});\n/**\n * Result for intelligence/prevention-metrics\n * Shape derived from createIntelligenceService().preventionMetrics() return value.\n */\nexport const IntelligencePreventionMetricsResult = z.object({\n /** Number of days in the window */\n days: z.number().int(),\n /** Number of risks prevented */\n risksPrevented: z.number().int(),\n /** Human-readable context about what was prevented */\n risksPreventedContext: z.string(),\n /** Daily prevented counts by day of week */\n dailyPrevented: z.array(z.object({\n day: z.string(),\n prevented: z.number().int(),\n })),\n /** Timeline events within the window */\n timelineEvents: z.array(z.object({\n hour: z.number().int(),\n type: z.enum([\"recovery\", \"ai_detected\", \"snapshot\"]),\n tool: z.string().optional(),\n file: z.string(),\n risk: z.string(),\n action: z.string(),\n blast: z.number().optional(),\n })),\n /** Total decisions in the window */\n totalDecisions: z.number().int(),\n});\n/**\n * Result for intelligence/accuracy-metrics\n * Shape derived from createIntelligenceService().accuracyMetrics() return value.\n */\nexport const IntelligenceAccuracyMetricsResult = z.object({\n /** Number of weeks in the window */\n weeks: z.number().int(),\n /** Weekly velocity data */\n velocity: z.array(z.object({\n week: z.string(),\n learnings: z.number().int(),\n accuracy: z.number().int(),\n })),\n /** Overall accuracy percentage (0-100) */\n overallAccuracy: z.number().int(),\n /** Session coherence percentage (0-100) */\n coherencePercent: z.number().int(),\n /** Ratio string e.g. \"3 : 1\" */\n preventedToRecoveredRatio: z.string(),\n /** Number of prevented decisions */\n preventedCount: z.number().int(),\n /** Number of recovered decisions */\n recoveredCount: z.number().int(),\n /** Total decisions in the window */\n totalDecisions: z.number().int(),\n});\n","// ESM imports fixed for Node.js v22+\n/**\n * Intelligence Pillars - Schemas for 6 Intelligence Pillars\n *\n * Phase 1: Production Implementation of Detection Enhancement\n * - Pillar 01: Git State as Risk Multiplier\n * - Pillar 02: Rollback Clustering (The Moat)\n * - Pillar 03: Copilot Fatigue Detection\n * - Pillar 04: Zero-Friction Checkpoint Annotations\n * - Pillar 05: Context Poisoning Detection\n * - Pillar 06: Pre-Write MCP Interception (composite)\n *\n * @module @vreko/contracts/local-service/schemas/intelligence-pillars\n */\nimport { z } from \"zod\";\nimport { WorkspaceBase } from \"./workspace-base.js\";\n// =============================================================================\n// Pillar 01: Git State as Risk Multiplier\n// =============================================================================\n/**\n * Git Risk Factor - individual contributing factor to git risk score\n */\nexport const GitRiskFactor = z.object({\n /** Unique identifier for this risk factor */\n id: z.string(),\n /** Human-readable label */\n label: z.string(),\n /** Contribution to risk multiplier (additive) */\n contribution: z.number(),\n /** Severity level */\n severity: z.enum([\"info\", \"warning\", \"critical\"]),\n});\n/**\n * Git Risk Score - result of git state evaluation\n *\n * The multiplier is applied to base risk scores to amplify risk\n * when working in dangerous git states (e.g., on main branch, during rebase)\n */\nexport const GitRiskScore = z.object({\n /** Multiplicative factor applied to base risk score (1.0 = neutral) */\n multiplier: z.number(),\n /** Contributing factors that built up the multiplier */\n factors: z.array(GitRiskFactor),\n /** Whether git context was available */\n hasGitContext: z.boolean(),\n /** Timestamp of evaluation for caching */\n evaluatedAt: z.number(),\n});\n/**\n * Git Risk Context Params - parameters for risk/git-context method\n */\nexport const GitRiskContextParams = z.object({\n /** Workspace path to evaluate */\n workspace: z.string(),\n});\n// =============================================================================\n// Pillar 02: Rollback Clustering (The Moat)\n// =============================================================================\n/**\n * Rollback Event - single rollback occurrence for pattern learning\n */\nexport const RollbackEvent = z.object({\n /** AI tool that was active when rollback happened */\n tool: z.string(),\n /** File extension involved */\n fileExt: z.string(),\n /** Number of lines in the rolled-back change */\n linesChanged: z.number(),\n /** Programming language */\n language: z.string(),\n /** File category classification */\n fileCategory: z.enum([\"config\", \"code\", \"test\", \"docs\", \"build\", \"other\"]),\n /** Was it a multi-file change? */\n fileCount: z.number(),\n /** Time of day bucket (0-23) for fatigue correlation */\n hourBucket: z.number().int().min(0).max(23),\n /** Session duration at rollback time (minutes) */\n sessionMinutes: z.number(),\n /** Workspace where rollback occurred */\n workspace: z.string(),\n /** Timestamp of rollback */\n timestamp: z.number(),\n});\n/**\n * Rollback Warning - warning that a proposed change matches a known failure pattern\n */\nexport const RollbackWarning = z.object({\n /** Confidence that this matches a known failure pattern (0-1) */\n confidence: z.number().min(0).max(1),\n /** Human-readable warning message */\n message: z.string(),\n /** Number of similar rollbacks in the cluster */\n clusterSize: z.number(),\n /** Dominant factors in the cluster */\n dominantFactors: z.array(z.string()),\n /** Risk boost to apply (additive) */\n riskBoost: z.number(),\n});\n/**\n * Record Rollback Params - parameters for risk/rollback-record method\n */\nexport const RollbackRecordParams = z.object({\n /** Workspace where rollback occurred */\n workspace: z.string(),\n /** AI tool that was active */\n tool: z.string(),\n /** File extension */\n fileExt: z.string(),\n /** Lines changed */\n linesChanged: z.number(),\n /** Programming language */\n language: z.string(),\n /** File category */\n fileCategory: z.enum([\"config\", \"code\", \"test\", \"docs\", \"build\", \"other\"]),\n /** File count */\n fileCount: z.number(),\n /** Session duration in minutes */\n sessionMinutes: z.number(),\n});\n/**\n * Rollback Warning Params - parameters for risk/rollback-warning method\n */\nexport const RollbackWarningParams = z.object({\n /** Workspace to check */\n workspace: z.string(),\n /** AI tool making the change */\n tool: z.string(),\n /** File extension */\n fileExt: z.string(),\n /** Lines being changed */\n linesChanged: z.number(),\n /** Programming language */\n language: z.string(),\n /** File category */\n fileCategory: z.enum([\"config\", \"code\", \"test\", \"docs\", \"build\", \"other\"]),\n /** File count in change */\n fileCount: z.number(),\n /** Current session duration */\n sessionMinutes: z.number(),\n});\n/**\n * Rollback Stats Params - parameters for risk/rollback-stats method\n */\nexport const RollbackStatsParams = z.object({\n /** Workspace to get stats for */\n workspace: z.string(),\n});\n/**\n * Rollback Stats - statistics about rollback patterns in a workspace\n */\nexport const RollbackStats = z.object({\n /** Total rollbacks recorded */\n totalRollbacks: z.number(),\n /** Number of distinct clusters */\n clusters: z.number(),\n /** Size of largest cluster */\n largestCluster: z.number(),\n});\n// =============================================================================\n// Pillar 03: Copilot Fatigue Detection\n// =============================================================================\n/**\n * Fatigue Assessment - result of fatigue detection analysis\n *\n * Detects \"rubber-stamping\" when developers accept AI suggestions\n * faster than they could read them.\n */\nexport const FatigueAssessment = z.object({\n /** Additive risk boost (0.0 - 0.5) */\n riskBoost: z.number().min(0).max(0.5),\n /** Human-readable fatigue level */\n level: z.enum([\"rested\", \"normal\", \"elevated\", \"fatigued\"]),\n /** Ratio of rapid accepts in the window (0-1) */\n rapidAcceptRatio: z.number().min(0).max(1),\n /** Current accept velocity (accepts per minute) */\n velocityPerMinute: z.number(),\n /** Session duration contributing to assessment */\n sessionMinutes: z.number(),\n /** Contributing factors to the assessment */\n factors: z.array(z.string()),\n});\n/**\n * Fatigue Params - parameters for risk/fatigue method\n */\nexport const FatigueParams = z.object({\n /** Workspace to assess */\n workspace: z.string(),\n});\n// =============================================================================\n// Pillar 04: Zero-Friction Checkpoint Annotations\n// =============================================================================\n/**\n * Annotation Tag - classification of checkpoint state\n */\nexport const AnnotationTag = z.enum([\n \"good_state\", // Developer affirms: this code was correct\n \"before_refactor\", // About to make structural changes\n \"it_broke_here\", // Marks the point of failure\n \"uncertain\", // Developer unsure - higher protection warranted\n \"ai_diverged\", // AI went in wrong direction\n \"manual_recovery\", // Developer manually fixed something\n \"shipped\", // This state was deployed\n]);\n/**\n * Checkpoint Annotation - annotation of a snapshot state\n */\nexport const CheckpointAnnotation = z.object({\n /** Snapshot hash (content-addressable ID) */\n snapshotHash: z.string(),\n /** Annotation tag */\n tag: AnnotationTag,\n /** Optional freeform note (max 280 chars) */\n note: z.string().max(280).optional(),\n /** Active AI tool at time of annotation */\n aiTool: z.string().optional(),\n /** Files in the snapshot */\n fileCount: z.number(),\n /** Risk score at time of annotation */\n riskScore: z.number().optional(),\n /** Timestamp */\n timestamp: z.number(),\n /** Workspace */\n workspace: z.string(),\n});\n/**\n * Annotate Params - parameters for intelligence/annotate method\n */\nexport const IntelligenceAnnotateParams = z.object({\n /** Snapshot hash to annotate */\n snapshotHash: z.string(),\n /** Annotation tag */\n tag: AnnotationTag,\n /** Optional note */\n note: z.string().max(280).optional(),\n /** AI tool active */\n aiTool: z.string().optional(),\n /** File count */\n fileCount: z.number(),\n /** Risk score at time */\n riskScore: z.number().optional(),\n /** Workspace */\n workspace: z.string(),\n});\n/**\n * Annotate Result - result of annotation operation\n */\nexport const AnnotateResult = z.object({\n /** Whether annotation was recorded */\n recorded: z.boolean(),\n /** Risk signal from the annotation */\n riskSignal: z.object({\n direction: z.enum([\"increase\", \"decrease\", \"neutral\"]),\n magnitude: z.number(),\n }),\n});\n/**\n * Query Annotations Params - parameters for intelligence/annotations-query method\n */\nexport const QueryAnnotationsParams = z.object({\n /** Workspace to query */\n workspace: z.string(),\n /** Filter by timestamp (ms since epoch) */\n since: z.number().optional(),\n /** Filter by tags */\n tags: z.array(AnnotationTag).optional(),\n /** Limit number of results */\n limit: z.number().optional(),\n});\n/**\n * Risk Calibration Params - parameters for intelligence/risk-calibration method\n */\nexport const RiskCalibrationParams = z.object({\n /** Workspace to get calibration for */\n workspace: z.string(),\n});\n/**\n * Risk Calibration - net risk adjustment from annotations\n */\nexport const RiskCalibration = z.object({\n /** Net risk adjustment from historical annotations */\n netAdjustment: z.number().min(-0.5).max(0.5),\n /** Number of annotations considered */\n annotationCount: z.number(),\n /** Breakdown by tag */\n breakdown: z.record(AnnotationTag, z.number()),\n});\n// =============================================================================\n// Pillar 05: Context Poisoning Detection\n// =============================================================================\n/**\n * Poisoning Check Result - result of checking for context poisoning\n *\n * Detects when AI repeatedly generates the same incorrect pattern,\n * indicating stale or corrupted context model.\n */\nexport const PoisoningCheckResult = z.object({\n /** Whether poisoning was detected */\n isPoisoned: z.boolean(),\n /** How many times this pattern has been rejected */\n occurrences: z.number(),\n /** How many distinct sessions it appeared in */\n distinctSessions: z.number(),\n /** Risk boost to apply if poisoned */\n riskBoost: z.number(),\n /** Human-readable warning */\n warning: z.string().optional(),\n /** Structural fingerprint (for debugging) */\n fingerprint: z.string().optional(),\n});\n/**\n * Poisoning Check Params - parameters for risk/poisoning-check method\n */\nexport const PoisoningCheckParams = z.object({\n /** Workspace to check */\n workspace: z.string(),\n /** Unified diff of proposed change */\n diff: z.string(),\n});\n/**\n * Poisoning Log Rejection Params - parameters for risk/poisoning-log-rejection method\n */\nexport const PoisoningLogRejectionParams = z.object({\n /** Workspace where rejection occurred */\n workspace: z.string(),\n /** Diff that was rejected */\n diff: z.string(),\n /** Session ID */\n sessionId: z.string(),\n /** AI tool involved */\n tool: z.string().optional(),\n /** File extension */\n fileExt: z.string().optional(),\n});\n/**\n * Poisoning Stats Params - parameters for risk/poisoning-stats method\n */\nexport const PoisoningStatsParams = z.object({\n /** Workspace to get stats for */\n workspace: z.string(),\n});\n/**\n * Poisoning Stats - statistics about poisoning detection\n */\nexport const PoisoningStats = z.object({\n /** Number of patterns being tracked */\n trackedPatterns: z.number(),\n /** Number of poisoned patterns (>= threshold) */\n poisonedPatterns: z.number(),\n /** Top tools involved in poisoning */\n topTools: z.array(z.string()),\n});\n// =============================================================================\n// Pillar 06: Pre-Write MCP Interception (Composite)\n// =============================================================================\n/**\n * Safe To Write Action - decision from pre-write evaluation\n */\nexport const SafeToWriteAction = z.enum([\n \"PROCEED\", // Safe - auto-snapshot and write\n \"PROCEED_WITH_SNAPSHOT\", // Elevated risk - explicit snapshot first\n \"WARN\", // High risk - surface warning to user\n \"BLOCK\", // Critical risk - require manual review\n]);\n/**\n * Safe To Write Factor - individual risk factor contributing to decision\n */\nexport const SafeToWriteFactor = z.object({\n /** Source of the factor (which pillar) */\n source: z.string(),\n /** Score contribution */\n score: z.number(),\n /** Description of the factor */\n description: z.string(),\n});\n/**\n * Alternative Action - suggested alternative when write is blocked\n */\nexport const AlternativeAction = z.object({\n /** Tool to use instead */\n tool: z.string(),\n /** Description of what to do */\n description: z.string(),\n /** Optional parameters for the tool */\n params: z.record(z.string(), z.unknown()).optional(),\n});\n/**\n * Safe To Write Result - result of pre-write safety check\n *\n * This is the composite result from all 5 intelligence pillars,\n * used by MCP tools before writing files.\n */\nexport const SafeToWriteResult = z.object({\n /** Whether the write is allowed */\n allowed: z.boolean(),\n /** Action to take */\n action: SafeToWriteAction,\n /** Composite risk score (capped at 2.5) */\n riskScore: z.number(),\n /** Contributing factors from all pillars */\n factors: z.array(SafeToWriteFactor),\n /** Human-readable recommendation */\n recommendation: z.string(),\n /** Snapshot hash if auto-created */\n snapshotHash: z.string().optional(),\n /** Whether the operation can be retried */\n retryable: z.boolean(),\n /** Alternative actions to take instead */\n alternativeActions: z.array(AlternativeAction),\n});\n/**\n * Safe To Write Params - parameters for protection/safe-to-write method\n * (used by MCP tools)\n */\nexport const SafeToWriteParams = z.object({\n /** Workspace path */\n workspace: z.string(),\n /** File path being written */\n filePath: z.string(),\n /** Proposed diff */\n proposedDiff: z.string(),\n /** AI tool making the change */\n tool: z.string().optional(),\n /** Intent of the change */\n intent: z.string().optional(),\n});\n// =============================================================================\n// Risk Assess (MCP → Daemon bridge - accepts both MCP and daemon param shapes)\n// =============================================================================\n/**\n * Risk Assess Params - parameters for risk/assess method\n *\n * The MCP tool sends { workspace, files, context: { task, sessionId } }\n * but the daemon routing destructures { workspace, filePath, proposedDiff, tool, intent, sessionId }.\n * This schema accepts BOTH shapes; the daemon routing code handles the union.\n */\nexport const RiskAssessParams = WorkspaceBase.extend({\n /** Single file path (daemon shape) */\n filePath: z.string().optional(),\n /** Array of file paths (MCP shape) */\n files: z.array(z.string()).optional(),\n /** Proposed diff content */\n proposedDiff: z.string().optional(),\n /** AI tool making the request */\n tool: z.string().optional(),\n /** Intent of the change */\n intent: z.string().optional(),\n /** Session ID (daemon shape - top-level) */\n sessionId: z.string().optional(),\n /** Context object (MCP shape - nested) */\n context: z\n .object({\n task: z.string().optional(),\n sessionId: z.string().optional(),\n })\n .optional(),\n});\n","// ESM imports fixed for Node.js v22+\n/**\n * Learning Parameter Schemas\n *\n * All learning-related request parameters.\n *\n * @module @vreko/contracts/local-service/schemas/learning\n */\nimport { z } from \"zod\";\nimport { LearningType } from \"./primitives.js\";\nimport { WorkspaceBase } from \"./workspace-base.js\";\n/**\n * Add learning parameters\n */\nexport const LearningAddParams = WorkspaceBase.extend({\n /** Learning type */\n type: LearningType,\n /** Trigger condition */\n trigger: z.string().min(1),\n /** Action to take */\n action: z.string().min(1),\n /** Source of the learning */\n source: z.string().optional(),\n});\n/**\n * Search learnings parameters\n */\nexport const LearningSearchParams = WorkspaceBase.extend({\n /** Keywords to search */\n keywords: z.array(z.string()).min(1),\n /** Max results */\n limit: z.number().int().min(1).max(100).optional(),\n});\n/**\n * List learnings parameters\n */\nexport const LearningListParams = WorkspaceBase.extend({\n /** Max results */\n limit: z.number().int().min(1).max(200).optional(),\n});\n/**\n * Prune learnings parameters\n */\nexport const LearningPruneParams = WorkspaceBase;\n/**\n * Evaluate learnings parameters\n */\nexport const LearningEvaluateParams = WorkspaceBase.extend({\n /** Command being evaluated */\n commandName: z.string().min(1),\n /** Command arguments */\n args: z.record(z.unknown()).optional(),\n /** Files or paths involved */\n filesOrPaths: z.array(z.string()).optional(),\n /** Intent of the command */\n intent: z.enum([\"implement\", \"debug\", \"refactor\", \"review\"]).optional(),\n /** Learning mode */\n mode: z.enum([\"observe\", \"warn\", \"apply-safe\", \"apply-all\", \"off\"]).optional(),\n});\n/**\n * Update session learnings parameters\n */\nexport const LearningUpdateSessionParams = WorkspaceBase.extend({\n /** Session ID */\n sessionId: z.string().min(1),\n /** Learning IDs to associate */\n learningIds: z.array(z.string()),\n});\n/**\n * Learning GC parameters\n */\nexport const LearningGCParams = WorkspaceBase.extend({\n /** GC operation */\n operation: z.enum([\"archive\", \"delete\", \"all\"]).optional(),\n /** Dry run (audit only) */\n dryRun: z.boolean().default(true),\n});\n/**\n * Queue a learning for cloud sync (F1: routes through daemon IPC instead of direct StateStore)\n */\nexport const LearningQueueParams = z.object({\n workspace: z.string().min(1),\n patternKey: z.string().min(1),\n patternType: z.string().min(1),\n confidence: z.number().min(0).max(1),\n});\n/**\n * Get pending sync items from daemon's StateStore\n */\nexport const LearningQueueSyncParams = z.object({\n workspace: z.string().min(1),\n maxBatchSize: z.number().int().positive().max(1000).optional(),\n});\n/**\n * Mark synced/failed items after cloud sync attempt\n */\nexport const LearningQueueSyncCompleteParams = z.object({\n workspace: z.string().min(1),\n syncedIds: z.array(z.string()),\n failedIds: z.array(z.string()),\n});\n// =============================================================================\n// VALID-04: Learning Result Schemas\n// =============================================================================\n/**\n * Result for learning/add\n * Shape derived from createLearningService().add() return value.\n */\nexport const LearningAddResultV4 = z.object({\n success: z.boolean(),\n learningId: z.string(),\n type: z.string(),\n trigger: z.string(),\n action: z.string(),\n confidence: z.number(),\n captureMethod: z.string(),\n});\n/**\n * Learning entry shape shared by search and evaluate responses.\n */\nconst LearningEntryItem = z.object({\n type: z.string(),\n trigger: z.string(),\n action: z.string(),\n relevanceScore: z.number().optional(),\n});\n/**\n * Result for learning/search\n */\nexport const LearningSearchResultV4 = z.object({\n learnings: z.array(LearningEntryItem),\n total: z.number().int(),\n});\n/**\n * Result for learning/list\n */\nexport const LearningListResultV4 = z.object({\n learnings: z.array(z.object({\n type: z.string(),\n trigger: z.string(),\n action: z.string(),\n })),\n total: z.number().int(),\n});\n/**\n * Result for learning/prune\n * Shape from intelligence.pruneLearnings() return type.\n */\nexport const LearningPruneResult = z.object({\n pruned: z.number().int(),\n remaining: z.number().int(),\n categories: z.object({\n lowConfidence: z.number().int(),\n stale: z.number().int(),\n duplicates: z.number().int(),\n }),\n});\n/**\n * Result for learning/gc\n * Shape from learning service gc() return value (wraps intelligence.gcLearnings()).\n */\nexport const LearningGCResult = z.object({\n operation: z.string(),\n dryRun: z.boolean(),\n collected: z.number().int(),\n remaining: z.number().int(),\n categories: z.object({\n malformed: z.number().int(),\n invalidType: z.number().int(),\n emptyContent: z.number().int(),\n }),\n});\n/**\n * Result for learning/evaluate\n */\nexport const LearningEvaluateResultV4 = z.object({\n applicable: z.array(LearningEntryItem),\n mode: z.string(),\n commandName: z.string(),\n});\n/**\n * Result for learning/update-session\n */\nexport const LearningUpdateSessionResult = z.object({\n success: z.boolean(),\n sessionId: z.string(),\n updated: z.number().int(),\n});\n/**\n * Result for learning/seed\n * Shape from createLearningService().seed() explicit return type.\n */\nexport const LearningSeedResult = z.object({\n seeded: z.boolean(),\n learningsAdded: z.number().int(),\n tiers: z.object({\n hot: z.number().int(),\n warm: z.number().int(),\n cold: z.number().int(),\n }),\n alreadySeeded: z.boolean(),\n framework: z.string().nullable(),\n});\n/**\n * Result for learning/consolidate\n */\nexport const LearningConsolidateResult = z.object({\n success: z.boolean(),\n originalCount: z.number().int(),\n consolidatedCount: z.number().int(),\n duplicatesFound: z.number().int(),\n reductionPercent: z.number(),\n archivePath: z.string(),\n dryRun: z.boolean(),\n});\n/**\n * Result for learning/track-applied\n * Shape from createLearningService().trackApplied() explicit return type.\n */\nexport const LearningTrackAppliedResult = z.object({\n success: z.boolean(),\n newConfidence: z.number().optional(),\n error: z.string().optional(),\n});\n/**\n * Result for learning/observe-pattern\n * Shape from createLearningService().observePattern() explicit return type.\n */\nexport const LearningObservePatternResult = z.object({\n promoted: z.boolean(),\n observationCount: z.number().int(),\n patternId: z.string(),\n});\n","/**\n * WAL Ledger Event Schemas\n *\n * Defines the LedgerEvent schema for the per-workspace Write-Ahead Log (WAL).\n * Every action event is appended to the per-workspace WAL as a LedgerEvent.\n *\n * Privacy invariant: NO file content in LedgerEvent — metadata and hashes only (ARCH-03).\n *\n * @module @vreko/contracts/local-service/schemas/ledger\n */\nimport { z } from \"zod\";\n// =============================================================================\n// CanonicalVerb — action vocabulary for WAL events\n// =============================================================================\n/**\n * Canonical verb vocabulary for LedgerEvent actions.\n * Aligns with AgentAction enum in @vreko/infrastructure/observability/vocabulary.ts\n * but expressed as a Zod enum for IPC schema validation.\n */\nexport const CanonicalVerb = z.enum([\n // File operations\n \"WRITE_FILE\",\n \"EDIT_FILE\",\n \"DELETE_FILE\",\n \"READ_FILE\",\n // Reasoning\n \"PLAN\",\n \"REVIEW\",\n \"DECIDE\",\n // Verification\n \"VERIFY_GATE\",\n // Session lifecycle\n \"SESSION_START\",\n \"SESSION_END\",\n \"SESSION_HEARTBEAT\",\n // Snapshot operations\n \"SNAPSHOT_CREATE\",\n \"SNAPSHOT_RESTORE\",\n \"SNAPSHOT_ROLLBACK\",\n // Phase events\n \"PHASE_START\",\n \"PHASE_END\",\n // Catchall for extension\n \"OTHER\",\n]);\n// =============================================================================\n// LedgerEvent\n// =============================================================================\n/**\n * A single action event in the per-workspace WAL.\n *\n * Privacy invariant (ARCH-03): meta MUST NOT contain file content.\n * Only metadata (file paths, hashes, counts) is permitted.\n *\n * seq: per-surface monotonic counter for interleave ordering (WAL-06).\n */\nexport const LedgerEvent = z.object({\n /** Surface identifier (e.g. \"vscode:session-abc123\", \"cli:run-xyz\") */\n surfaceId: z.string(),\n /** Workspace fingerprint: sha256(\"gitRemote:userId\") from sync-client.ts */\n workspaceFingerprint: z.string(),\n /** Per-surface monotonic sequence number for ordering (WAL-06 interleave resolution) */\n seq: z.number().int().min(0),\n /** Epoch milliseconds */\n ts: z.number().int().positive(),\n /** Canonical action verb */\n verb: CanonicalVerb,\n /**\n * Event metadata — NO file content permitted (ARCH-03).\n * Allowed: file paths (relative), hashes, counts, durations, error codes.\n */\n meta: z.record(z.unknown()),\n});\n// =============================================================================\n// ledger/append params + result\n// =============================================================================\n/**\n * Parameters for ledger/append IPC method.\n * Appends a LedgerEvent to the per-workspace WAL.\n */\nexport const LedgerAppendParams = LedgerEvent;\nexport const LedgerAppendResult = z.object({\n /** WAL file offset after the appended entry (byte position) */\n offset: z.number().int().min(0),\n /** Acknowledged: true if write was confirmed synchronous (appendFileSync) */\n acked: z.boolean(),\n});\n// =============================================================================\n// ledger/recover params + result\n// =============================================================================\n/**\n * Parameters for ledger/recover IPC method.\n * Reconstructs a session ceremony from the WAL for expired/crashed sessions.\n *\n * WAL-04: The critical fix for the 73-minute swarm failure.\n * vreko_end on an expired session calls this to reconstruct ceremony from disk.\n */\nexport const LedgerRecoverParams = z.object({\n /** Session ID to recover */\n sessionId: z.string(),\n /** Workspace fingerprint (routing key to the correct WAL file) */\n workspaceFingerprint: z.string(),\n});\n/**\n * Verb summary: count per verb in the recovered session.\n */\nexport const VerbSummary = z.record(z.number().int().min(0));\n/**\n * Recovery result — the ceremony reconstructed from WAL events.\n *\n * This is what vreko_end returns when the session handle has expired:\n * instead of \"no active session\", it returns this ceremony.\n */\nexport const LedgerRecoverResult = z.object({\n /** Session ID that was recovered */\n sessionId: z.string(),\n /** Session start timestamp (epoch ms) */\n sessionStartTs: z.number().int().positive(),\n /** Handle expiry timestamp (epoch ms) — when the in-memory cursor closed */\n expiryTs: z.number().int().positive().nullable(),\n /** Expiry reason */\n expiryReason: z.enum([\"idle-timeout\", \"daemon-restart\", \"explicit-end\", \"unknown\"]),\n /** Timestamp of last heartbeat event in WAL (epoch ms) */\n lastHeartbeatTs: z.number().int().positive().nullable(),\n /** Timestamp of last event in WAL (epoch ms) */\n lastEventTs: z.number().int().positive().nullable(),\n /** Total event count captured before expiry */\n eventCount: z.number().int().min(0),\n /** Per-verb count summary */\n verbSummary: VerbSummary,\n /** Whether a ceremony was computed from the recovered events */\n ceremonyAvailable: z.boolean(),\n /** Ceremony payload (null if insufficient events for ceremony) */\n ceremony: z.record(z.unknown()).nullable(),\n});\n// =============================================================================\n// session/reconcile params + result\n// =============================================================================\n/**\n * Parameters for session/reconcile IPC method.\n * Called when vreko_end fires on an expired or unknown session ID.\n * Routes to ledger/recover internally.\n */\nexport const SessionReconcileParams = z.object({\n /** Session ID that may be expired */\n sessionId: z.string(),\n /** Surface that is calling end */\n surfaceId: z.string(),\n /** Workspace fingerprint */\n workspaceFingerprint: z.string(),\n});\nexport const SessionReconcileResult = z.object({\n /** Whether the session was found active, recovered from WAL, or not found at all */\n disposition: z.enum([\"active\", \"recovered-from-wal\", \"not-found\"]),\n /** Recovery result if disposition is \"recovered-from-wal\" */\n recovery: LedgerRecoverResult.nullable(),\n});\n","// ESM imports fixed for Node.js v22+\n/**\n * MCP Coordination Parameter Schemas\n *\n * MCP coordination related request parameters.\n *\n * @module @vreko/contracts/local-service/schemas/mcp\n */\nimport { z } from \"zod\";\nimport { WorkspaceBase } from \"./workspace-base.js\";\n/**\n * Snapshot created notification parameters\n */\nexport const MCPSnapshotCreatedParams = WorkspaceBase.extend({\n /** Snapshot ID */\n id: z.string().min(1),\n /** File path */\n filePath: z.string().optional(),\n /** Trigger type */\n trigger: z.enum([\"manual\", \"auto\", \"ai-detection\"]).optional(),\n /** Source surface */\n source: z.enum([\"mcp\", \"cli\", \"extension\"]).optional(),\n});\n/**\n * File modified notification parameters\n */\nexport const MCPFileModifiedParams = WorkspaceBase.extend({\n /** File path */\n path: z.string().min(1),\n /** Lines changed */\n linesChanged: z.number().int().nonnegative().optional(),\n /** AI-attributed change */\n aiAttributed: z.boolean().optional(),\n /** AI tool that made the change */\n aiTool: z.enum([\"cursor\", \"copilot\", \"claude\", \"windsurf\", \"burst-pattern\"]).optional(),\n});\n","// ESM imports fixed for Node.js v22+\n/**\n * Memory Hub Parameter Schemas\n *\n * Memory hub related request parameters.\n *\n * @module @vreko/contracts/local-service/schemas/memory\n */\nimport { z } from \"zod\";\nimport { MemoryEntryType } from \"./primitives.js\";\nimport { WorkspaceBase } from \"./workspace-base.js\";\n/**\n * Memory store parameters\n */\nexport const MemoryStoreParams = WorkspaceBase.extend({\n /** Entry type */\n type: MemoryEntryType,\n /** Entry data */\n data: z.record(z.unknown()),\n /** TTL in days (0 = permanent) */\n ttlDays: z.number().int().min(0).default(0),\n});\n/**\n * Memory retrieve parameters\n */\nexport const MemoryRetrieveParams = WorkspaceBase.extend({\n /** Entry IDs to retrieve */\n ids: z.array(z.string().min(1)).min(1),\n});\n/**\n * Memory search parameters\n */\nexport const MemorySearchParams = WorkspaceBase.extend({\n /** Filter by type */\n type: MemoryEntryType.optional(),\n /** Keywords to match */\n keywords: z.array(z.string()).optional(),\n /** Minimum relevance score (0-1) */\n minRelevance: z.number().min(0).max(1).default(0.3),\n /** Maximum results */\n limit: z.number().int().min(1).max(100).default(50),\n /** Created after timestamp */\n since: z.number().optional(),\n});\n/**\n * Memory stats parameters\n */\nexport const MemoryStatsParams = WorkspaceBase;\n/**\n * Memory compact parameters\n */\nexport const MemoryCompactParams = WorkspaceBase.extend({\n /** Preview only (don't modify) */\n dryRun: z.boolean().default(false),\n});\n","// ESM imports fixed for Node.js v22+\n/**\n * Momentum Parameter Schemas\n *\n * Momentum-related request parameters.\n *\n * @module @vreko/contracts/local-service/schemas/momentum\n */\nimport { z } from \"zod\";\nimport { WorkspaceBase } from \"./workspace-base.js\";\n/**\n * Momentum refresh parameters\n */\nexport const MomentumRefreshParams = WorkspaceBase.extend({\n /** Compare against this commit (default HEAD~10) */\n since: z.string().optional(),\n /** Force full re-fit */\n full: z.boolean().optional(),\n});\n/**\n * Momentum score parameters\n */\nexport const MomentumScoreParams = WorkspaceBase.extend({\n /** File path to score */\n filePath: z.string().min(1),\n});\n/**\n * Momentum sync parameters\n */\nexport const MomentumSyncParams = WorkspaceBase.extend({\n /** Quick mode (git + AST only) */\n quick: z.boolean().optional(),\n});\n/**\n * Momentum status parameters\n */\nexport const MomentumStatusParams = WorkspaceBase;\n","// ESM imports fixed for Node.js v22+\n/**\n * Protection Parameter Schemas\n *\n * All protection-related request parameters.\n *\n * @module @vreko/contracts/local-service/schemas/protection\n */\nimport { z } from \"zod\";\nimport { ProtectionLevel } from \"./primitives.js\";\nimport { WorkspaceBase } from \"./workspace-base.js\";\n// =============================================================================\n// Protection Params (Original Local-Service Style)\n// =============================================================================\n/**\n * Protection evaluate parameters\n */\nexport const ProtectionEvaluateParams = z.object({\n /** File path to evaluate */\n filePath: z.string().min(1),\n /** Current file content (optional, reads from disk if omitted) */\n content: z.string().optional(),\n /** Additional context for evaluation (optional) */\n context: z\n .object({\n /** Number of recent changes to the file */\n recentChanges: z.number().int().nonnegative().optional(),\n /** Milliseconds since last save */\n timeSinceLastSave: z.number().int().nonnegative().optional(),\n /** Whether an AI tool is currently active */\n aiToolActive: z.boolean().optional(),\n })\n .optional(),\n});\n/**\n * Protection levels parameters\n */\nexport const ProtectionLevelsParams = z.object({\n /** File paths to get protection levels for */\n filePaths: z.array(z.string().min(1)).min(1).max(100),\n});\n/**\n * Protection set parameters\n */\nexport const ProtectionSetParams = z.object({\n /** File path to set protection for */\n filePath: z.string().min(1),\n /** Protection level to set (\"auto\" to reset to automatic) */\n level: z.enum([\"watch\", \"warn\", \"block\", \"auto\"]),\n /** Scope of the protection rule */\n scope: z.enum([\"file\", \"directory\", \"pattern\"]).default(\"file\"),\n /** Pattern for pattern-based rules (glob syntax) (optional) */\n pattern: z.string().optional(),\n});\n// =============================================================================\n// Protection Params (Daemon-style)\n// =============================================================================\n/**\n * Protection get level parameters (daemon-style)\n */\nexport const ProtectionGetLevelParams = WorkspaceBase.extend({\n /** File path */\n filePath: z.string().min(1),\n});\n/**\n * Protection set level parameters (daemon-style)\n */\nexport const ProtectionSetLevelParams = WorkspaceBase.extend({\n /** File path */\n filePath: z.string().min(1),\n /** Protection level */\n level: ProtectionLevel,\n /** Reason for setting level */\n reason: z.string().optional(),\n});\n/**\n * Protection list parameters (daemon-style)\n */\nexport const ProtectionListParams = WorkspaceBase.extend({\n /** Filter by level */\n level: ProtectionLevel.optional(),\n /** Max results */\n limit: z.number().int().min(1).max(500).optional(),\n});\n// =============================================================================\n// VALID-04: Protection Result Schemas\n// =============================================================================\n/**\n * Result for protection/evaluate\n * Shape derived from createProtectionService().evaluate() return value.\n */\nexport const ProtectionEvaluateResult = z.object({\n /** Protection level assigned */\n level: ProtectionLevel,\n /** Whether protection was assigned automatically */\n automatic: z.boolean(),\n /** Source of the protection decision */\n source: z.string(),\n /** Confidence score (0-1) */\n confidence: z.number().min(0).max(1),\n /** Risk score (0-100) */\n riskScore: z.number().min(0).max(100),\n /** Recommended action */\n recommendation: z.string(),\n /** Contributing risk factors */\n factors: z.array(z.object({\n name: z.string(),\n score: z.number(),\n description: z.string(),\n source: z.string(),\n suggestion: z.string().optional(),\n })),\n});\n/**\n * Result for protection/levels\n * Shape derived from createProtectionService().levels() return value.\n */\nexport const ProtectionLevelsResult = z.object({\n /** Map of level name to level descriptor */\n levels: z.record(z.object({\n description: z.string(),\n automatic: z.boolean(),\n })),\n});\n/**\n * Result for protection/set\n * Shape derived from createProtectionService().set() return value.\n */\nexport const ProtectionSetResult = z.object({\n /** Whether the protection level was set successfully */\n success: z.boolean(),\n});\n/**\n * Result for protection/get-level (optional method — falls through to notImpl if absent)\n * Conservative schema: level field, optional.\n */\nexport const ProtectionGetLevelResult = z.object({\n /** Protection level, if retrievable */\n level: ProtectionLevel.optional(),\n});\n/**\n * Result for protection/set-level (optional method — falls through to notImpl if absent)\n */\nexport const ProtectionSetLevelResult = z.object({\n /** Whether the level was set */\n success: z.boolean(),\n});\n/**\n * Result for protection/list-daemon (optional method — falls through to notImpl if absent)\n */\nexport const ProtectionListDaemonResult = z.array(z.object({\n filePath: z.string(),\n level: ProtectionLevel,\n}));\n","// ESM imports fixed for Node.js v22+\n/**\n * Refactoring Intelligence Parameter Schemas\n *\n * Refactoring intelligence related request parameters.\n *\n * @module @vreko/contracts/local-service/schemas/refactoring\n */\nimport { z } from \"zod\";\nimport { WorkspaceBase } from \"./workspace-base.js\";\n/**\n * Refactoring assessment parameters\n */\nexport const RefactoringAssessParams = WorkspaceBase.extend({\n /** Optional: specific component ID to assess */\n targetComponentId: z.string().optional(),\n /** Optional: minimum test coverage threshold (0.0-1.0) */\n minTestCoverage: z.number().min(0).max(1).optional(),\n /** Optional: maximum dependency count threshold */\n maxDependencyCount: z.number().int().positive().optional(),\n /** Optional: minimum confidence threshold (0.0-1.0) */\n minConfidence: z.number().min(0).max(1).optional(),\n});\n/**\n * Refactoring report parameters\n */\nexport const RefactoringReportParams = WorkspaceBase.extend({\n /** Include all candidates in report (not just recommendations) */\n includeAllCandidates: z.boolean().optional(),\n});\n/**\n * Get top recommendations parameters\n */\nexport const RefactoringGetTopRecommendationsParams = WorkspaceBase.extend({\n /** Maximum number of recommendations to return */\n limit: z.number().int().positive().optional(),\n /** Minimum priority level to include */\n minPriority: z.enum([\"critical\", \"high\", \"medium\", \"low\"]).optional(),\n});\n/**\n * Get component analysis parameters\n */\nexport const RefactoringGetComponentAnalysisParams = WorkspaceBase.extend({\n /** Component ID to analyze */\n componentId: z.string(),\n});\n/**\n * Set manual gate parameters\n */\nexport const RefactoringSetGateParams = WorkspaceBase.extend({\n /** Component ID to set gate for */\n componentId: z.string(),\n /** Gate to set */\n gate: z.enum([\"migrationPlan\", \"rollbackStrategy\", \"ownerAssigned\", \"stakeholderSignoff\"]),\n /** Gate status */\n status: z.enum([\"pass\", \"fail\", \"warn\", \"pending\"]),\n});\n/**\n * Get gates parameters\n */\nexport const RefactoringGetGatesParams = WorkspaceBase.extend({\n /** Component ID to get gates for */\n componentId: z.string(),\n});\n/**\n * Filter recommendations parameters\n */\nexport const RefactoringFilterRecommendationsParams = WorkspaceBase.extend({\n /** Filter by actions */\n actions: z.array(z.enum([\"refactor-now\", \"schedule\", \"defer\", \"monitor\", \"reject\"])).optional(),\n /** Filter by priorities */\n priorities: z.array(z.enum([\"critical\", \"high\", \"medium\", \"low\"])).optional(),\n /** Minimum confidence threshold */\n minConfidence: z.number().min(0).max(1).optional(),\n});\n/**\n * Get stats parameters\n */\nexport const RefactoringGetStatsParams = WorkspaceBase;\n","import { z } from \"zod\";\n/**\n * Deterministic boot profile selection for vrekod startup.\n * Selected by reading local state - no heuristics.\n */\nexport const BootProfile = z.enum([\"VIRGIN\", \"NEW_WORKSPACE\", \"COLD_RETURN\", \"WARM_RETURN\", \"HOT_RECONNECT\"]);\nexport const BootProfileSelection = z.object({\n profile: BootProfile,\n workspaceId: z.string().optional(),\n lastSessionAge: z.number().nonnegative().optional(),\n integrityErrors: z.number().nonnegative().optional(),\n cleanShutdown: z.boolean().optional(),\n});\nexport const CleanShutdownFlag = z.object({\n cleanShutdown: z.literal(true),\n timestamp: z.string().datetime(),\n});\n","// ESM imports fixed for Node.js v22+\n/**\n * Session Parameter Schemas\n *\n * All session-related request parameters.\n *\n * @module @vreko/contracts/local-service/schemas/session\n */\nimport { z } from \"zod\";\nimport { BootProfile } from \"./boot-profile.js\";\nimport { ClientType } from \"./primitives.js\";\n// =============================================================================\n// Session Params (Original Local-Service Style)\n// =============================================================================\n/**\n * Initialize request parameters\n *\n * First request sent by client to establish connection.\n */\nexport const InitializeParams = z.object({\n /** Protocol version the client supports */\n protocolVersion: z.string().regex(/^\\d+\\.\\d+\\.\\d+$/),\n /** Client type identifying the connecting surface */\n clientType: ClientType.optional().default(\"unknown\"),\n /** Client version (semantic versioning) */\n clientVersion: z.string().optional().default(\"0.0.0\"),\n /** Client identification (legacy field, kept for backward compatibility) */\n clientInfo: z\n .object({\n /** Client name (e.g., \"vscode-extension\", \"cli\") */\n name: z.string().min(1).max(100),\n /** Client version (semantic versioning) */\n version: z.string(),\n })\n .optional(),\n /** Client capabilities (optional) */\n capabilities: z\n .object({\n /** Client accepts server-sent notifications */\n notifications: z.boolean().default(true),\n /** Client can handle base64-encoded binary content */\n binaryContent: z.boolean().default(false),\n })\n .optional(),\n});\n/**\n * Initialize response - returned by the daemon on successful initialize handshake.\n */\nexport const InitializeResponse = z.object({\n protocolVersion: z.string(),\n serverInfo: z.object({\n name: z.string(),\n version: z.string(),\n }),\n capabilities: z\n .object({\n notifications: z.boolean().optional(),\n binaryContent: z.boolean().optional(),\n health: z.record(z.boolean()).optional(),\n })\n .optional(),\n /** True when the daemon is starting for the first time (VIRGIN boot profile) */\n isFirstRun: z.boolean().default(false),\n /** Boot profile selected for this startup */\n bootProfile: BootProfile.optional(),\n});\n/**\n * Health check parameters\n */\nexport const HealthCheckParams = z.object({\n /** Include detailed health information */\n verbose: z.boolean().optional(),\n});\n/**\n * Session current parameters\n */\nexport const SessionCurrentParams = z.object({\n /** Filter by workspace path (optional) */\n workspacePath: z.string().optional(),\n});\n/**\n * Session workspace-scoped base parameters.\n *\n * Session RPCs use workspacePath rather than the older workspace key so the\n * daemon/client contract stays consistent across surfaces.\n */\nconst SessionWorkspacePathBase = z.object({\n /** Absolute path to workspace root */\n workspacePath: z.string().min(1),\n});\n/**\n * Shared session creation parameters.\n *\n * Canonical payload for session/start.\n */\nconst SessionCreateParamsBase = SessionWorkspacePathBase.extend({\n /** Optional task description */\n task: z.string().min(1).optional(),\n /** Files involved in this task */\n files: z.array(z.string()).optional(),\n /** Keywords for context matching */\n keywords: z.array(z.string()).optional(),\n /** Files touched during session creation */\n touchedFiles: z.array(z.string()).optional(),\n});\n/**\n * Session start parameters\n */\nexport const SessionStartParams = SessionCreateParamsBase.extend({\n /** Additional session metadata (optional) */\n metadata: z\n .object({\n /** Editor name (e.g., \"Visual Studio Code\") */\n editorName: z.string().optional(),\n /** Editor version */\n editorVersion: z.string().optional(),\n })\n .optional(),\n});\n/**\n * Session end parameters\n */\nexport const SessionEndParams = z.object({\n /** Session to end (defaults to current session if omitted) */\n sessionId: z.string().min(1).optional(),\n /** Reason for ending session */\n reason: z.enum([\"user\", \"idle\", \"workspace_closed\", \"recovered-abandoned\"]).optional(),\n});\n/**\n * Session list parameters\n */\nexport const SessionListParams = z.object({\n /** Filter by workspace path (optional) */\n workspacePath: z.string().optional(),\n /** Maximum number of sessions to return */\n limit: z.number().int().min(1).max(100).default(20),\n /** Pagination cursor (session ID to start after) */\n before: z.string().min(1).optional(),\n /** Include ended sessions in results */\n includeEnded: z.boolean().default(true),\n});\n// =============================================================================\n// Session Extended Params (Daemon-style session.start / session.end)\n// =============================================================================\n/**\n * Session end parameters (daemon-style)\n */\nexport const SessionEndDaemonParams = SessionWorkspacePathBase.extend({\n /** Session to end (optional; defaults to current workspace session) */\n sessionId: z.string().min(1).optional(),\n /**\n * Free-text outcome description - what was accomplished, what remains, decisions made.\n * Becomes the opening context for the next session briefing.\n * Do NOT constrain to an enum: the MCP tool description promises free-text paragraphs.\n */\n outcome: z.string().min(1).max(2000).optional(),\n /** Additional notes */\n notes: z.string().optional(),\n /** Create a snapshot on end */\n createSnapshot: z.boolean().optional(),\n /** Learning IDs to accept */\n acceptLearnings: z.array(z.number()).optional(),\n});\n/**\n * Session status parameters (daemon-style)\n */\nexport const SessionStatusParams = SessionWorkspacePathBase.extend({\n /** Session to inspect (optional; defaults to current workspace session) */\n sessionId: z.string().min(1).optional(),\n});\n/**\n * Session review parameters\n */\nexport const SessionReviewParams = SessionWorkspacePathBase.extend({\n /** Session ID to review */\n sessionId: z.string().min(1).optional(),\n /** Files to review */\n files: z.array(z.string()).optional(),\n /** Include commit message suggestion */\n includeCommitMessage: z.boolean().optional(),\n /** Skip pattern checking */\n skipPatterns: z.boolean().optional(),\n});\n/**\n * Session changes parameters\n */\nexport const SessionChangesParams = SessionWorkspacePathBase.extend({\n /** Session to inspect (optional; defaults to current workspace session) */\n sessionId: z.string().min(1).optional(),\n /** Include diff in results */\n includeDiff: z.boolean().optional(),\n /** Filter to specific files */\n filterFiles: z.array(z.string()).optional(),\n /** Include AI attribution info */\n includeAIAttribution: z.boolean().default(true),\n});\n/**\n * Session vitals parameters (Pass 2 - Single Source of Truth)\n */\nexport const SessionVitalsParams = SessionWorkspacePathBase;\n/**\n * Session list-ceremonies parameters\n * Returns sessions in ceremony format for the Closing Ceremony Theater WebView\n */\nexport const SessionListCeremoniesParams = z.object({\n /** Filter by workspace path */\n workspacePath: z.string().min(1),\n /** Pagination cursor (session ID) */\n cursor: z.string().optional(),\n /** Max number of sessions to return (default 20) */\n limit: z.number().optional(),\n});\n/**\n * Session vitals result\n * Computed from session registry (touchedFiles, snapshotIds, learningIds)\n */\nexport const SessionVitalsResult = z.object({\n /** Pulse level based on file count thresholds */\n pulse: z.enum([\"resting\", \"elevated\", \"racing\", \"critical\"]),\n /** Pressure: ratio of unprotected changes (0-100) */\n pressure: z.number().min(0).max(100),\n /** Trajectory based on pressure level */\n trajectory: z.enum([\"stable\", \"increasing\", \"decreasing\"]),\n /** Whether a snapshot is recommended */\n snapshotRecommended: z.boolean(),\n /** Files modified during session */\n filesModified: z.number(),\n /** Snapshots created during session */\n snapshotsCreated: z.number(),\n /** Learnings captured during session */\n learningsCaptured: z.number(),\n});\n/**\n * Session update-task parameters (update the active task description mid-session)\n */\nexport const SessionUpdateTaskParams = SessionWorkspacePathBase.extend({\n /** Session to update (optional; defaults to current workspace session) */\n sessionId: z.string().min(1).optional(),\n /** New task description */\n task: z.string().min(1),\n});\n/**\n * session/report-ai-tool - parameters\n *\n * Reports detection of an AI coding tool in the active session.\n * Handler: apps/local-service/src/server/protocol.ts case \"session\" → \"report-ai-tool\"\n * Callers: apps/vscode/src/services/daemon-bridge/DaemonOperations.ts reportAiTool()\n *\n * Phantom resolved: method was routed but absent from MethodSchemas (blocked at isValidMethod).\n * Refs: deep-daemon-audit-2026-05-11.md Phase 1, implementation-prompt-2026-05-11.md Phase 1\n */\nexport const SessionReportAiToolParams = z.object({\n /** Absolute path to the workspace root */\n workspacePath: z.string().min(1),\n /** Session to update (optional; defaults to current workspace session) */\n sessionId: z.string().optional(),\n /** The AI tool detected */\n tool: z.enum([\"cursor\", \"copilot\", \"claude-code\", \"windsurf\", \"continue\", \"other\"]),\n /** Tool version string if available */\n toolVersion: z.string().optional(),\n /** ISO 8601 timestamp of detection */\n detectedAt: z.string().datetime().optional(),\n});\n/**\n * session/report-ai-tool - result\n */\nexport const SessionReportAiToolResult = z.object({\n /** Whether the daemon acknowledged and recorded the detection */\n acknowledged: z.boolean(),\n /** The session that was updated (null if no active session) */\n sessionId: z.string().nullable(),\n});\n","/**\n * Metrics Schemas\n *\n * Performance timing and metrics schemas for save path optimization.\n *\n * @module @vreko/contracts/local-service/schemas/metrics\n */\nimport { z } from \"zod\";\n// =============================================================================\n// Save Path Timing & Metrics (Phase 0.1 - Latency Instrumentation)\n// =============================================================================\n/**\n * A single timing span within a request\n * Used for detailed performance analysis of the save path\n */\nexport const TimingSpan = z.object({\n /** Name of the span (e.g., \"ipc_receive\", \"service_dispatch\", \"decision\") */\n name: z.string(),\n /** Start time in milliseconds relative to request start */\n startMs: z.number(),\n /** End time in milliseconds relative to request start */\n endMs: z.number(),\n});\n/**\n * Complete metrics for a save path operation\n * Tracks end-to-end timing with breakdown by span\n */\nexport const SavePathMetrics = z.object({\n /** Unique identifier for this request */\n requestId: z.string(),\n /** Total time from request receive to response send */\n totalMs: z.number(),\n /** Breakdown of time spent in each phase */\n spans: z.array(TimingSpan),\n /** Whether a snapshot was actually created */\n snapshotCreated: z.boolean(),\n});\n/**\n * Reason why a snapshot should or should not be created\n *\n * - no_previous: No previous snapshot exists for this file\n * - hash_changed: Content hash differs from last snapshot\n * - time_threshold: Time since last snapshot exceeds threshold\n * - size_threshold: File size change exceeds threshold\n * - no_change: No changes detected, skip snapshot\n * - cooldown: Within cooldown period, skip snapshot\n */\nexport const ShouldCreateReason = z.enum([\n \"no_previous\",\n \"hash_changed\",\n \"time_threshold\",\n \"size_threshold\",\n \"no_change\",\n \"cooldown\",\n]);\n","// ESM imports fixed for Node.js v22+\n/**\n * Snapshot Parameter Schemas\n *\n * All snapshot-related request parameters.\n *\n * @module @vreko/contracts/local-service/schemas/snapshot\n */\nimport { z } from \"zod\";\nimport { SavePathMetrics, ShouldCreateReason } from \"./metrics.js\";\nimport { RiskLevel, SnapshotTrigger } from \"./primitives.js\";\nimport { WorkspaceBase } from \"./workspace-base.js\";\n// =============================================================================\n// Snapshot Params (Original Local-Service Style)\n// =============================================================================\n/**\n * Snapshot create parameters\n */\nexport const SnapshotCreateParams = z.object({\n /** Absolute path to the file */\n filePath: z.string().min(1),\n /** File content to snapshot */\n content: z.string(),\n /** What triggered this snapshot */\n trigger: SnapshotTrigger,\n /** Additional snapshot metadata (optional) */\n metadata: z\n .object({\n /** AI tool that was active */\n aiToolDetected: z.string().optional(),\n /** Confidence score for AI detection (0-1) */\n aiConfidence: z.number().min(0).max(1).optional(),\n /** Risk level assessment */\n riskLevel: RiskLevel.optional(),\n /** Custom tags for organization */\n customTags: z.array(z.string()).optional(),\n })\n .optional(),\n});\n/**\n * Snapshot should-create parameters (fast-path decision)\n *\n * Used for save-path latency optimization. Target: P95 <50ms\n */\nexport const SnapshotShouldCreateParams = z.object({\n /** Absolute path to the file being saved */\n filePath: z.string().min(1),\n /** SHA-256 hash of the file content (optional, for deduplication) */\n contentHash: z.string().optional(),\n /** Last modification timestamp in milliseconds */\n lastModified: z.number().optional(),\n /** File size in bytes */\n byteSize: z.number().optional(),\n});\n/**\n * Snapshot should-create response\n */\nexport const SnapshotShouldCreateResponse = z.object({\n /** Whether a snapshot should be created */\n shouldCreate: z.boolean(),\n /** Reason for the decision */\n reason: ShouldCreateReason,\n /** Optional timing metrics for performance analysis */\n metrics: SavePathMetrics.optional(),\n});\n/**\n * Snapshot get parameters\n */\nexport const SnapshotGetParams = z.object({\n /** Snapshot ID to retrieve */\n snapshotId: z.string().min(1),\n /** Include full content in response (expensive) */\n includeContent: z.boolean().default(false),\n});\n/**\n * Snapshot list parameters\n */\nexport const SnapshotListParams = z.object({\n /** Filter by session ID (optional) */\n sessionId: z.string().min(1).optional(),\n /** Filter by file path (optional) */\n filePath: z.string().optional(),\n /** Filter by trigger types (optional) */\n trigger: z.array(SnapshotTrigger).optional(),\n /** Filter by created after timestamp (ISO 8601) */\n since: z.string().datetime().optional(),\n /** Filter by created before timestamp (ISO 8601) */\n until: z.string().datetime().optional(),\n /** Maximum number of snapshots to return */\n limit: z.number().int().min(1).max(200).default(50),\n /** Pagination cursor (opaque string) */\n cursor: z.string().optional(),\n /** Sort field */\n orderBy: z.enum([\"createdAt\", \"filePath\"]).default(\"createdAt\"),\n /** Sort direction */\n orderDir: z.enum([\"asc\", \"desc\"]).default(\"desc\"),\n});\n/**\n * Snapshot restore parameters\n */\nexport const SnapshotRestoreParams = z.object({\n /** Snapshot ID to restore */\n snapshotId: z.string().min(1),\n /** Target path (defaults to original path if omitted) */\n targetPath: z.string().optional(),\n /** Create backup snapshot before restoring */\n createBackup: z.boolean().default(true),\n /** Preview restore without writing (dry run) */\n dryRun: z.boolean().default(false),\n});\n/**\n * Snapshot diff parameters\n */\nexport const SnapshotDiffParams = z.object({\n /** Base snapshot ID for comparison */\n baseSnapshotId: z.string().min(1),\n /** Snapshot to compare against (defaults to current file if omitted) */\n compareSnapshotId: z.string().min(1).optional(),\n /** Number of context lines around changes */\n contextLines: z.number().int().min(0).max(10).default(3),\n /** Diff output format */\n format: z.enum([\"unified\", \"split\"]).default(\"unified\"),\n});\n/**\n * Snapshot delete parameters\n */\nexport const SnapshotDeleteParams = z.object({\n /** Specific snapshot IDs to delete (optional) */\n snapshotIds: z.array(z.string().min(1)).optional(),\n /** Delete all snapshots older than timestamp (ISO 8601) (optional) */\n olderThan: z.string().datetime().optional(),\n /** Delete all snapshots in session (optional) */\n sessionId: z.string().min(1).optional(),\n /** Preview deletion without removing (dry run) */\n dryRun: z.boolean().default(false),\n});\n// =============================================================================\n// Snapshot Extended Params (Daemon-style workspace-scoped)\n// =============================================================================\n/**\n * Snapshot create parameters (daemon-style, workspace-scoped)\n */\nexport const SnapshotCreateDaemonParams = WorkspaceBase.extend({\n /** Files to snapshot (relative paths) */\n files: z.array(z.string().min(1)).min(1),\n /** Reason for snapshot */\n reason: z.string().optional(),\n /** Snapshot trigger */\n trigger: z.enum([\"manual\", \"mcp\", \"ai_assist\", \"session_end\"]).optional(),\n});\n/**\n * Snapshot bulk delete parameters\n */\nexport const SnapshotBulkDeleteParams = WorkspaceBase.extend({\n /** Delete snapshots older than N days */\n olderThanDays: z.number().int().positive().optional(),\n /** Keep protected snapshots */\n keepProtected: z.boolean().default(true),\n});\n/**\n * Snapshot protect/unprotect parameters\n */\nexport const SnapshotProtectParams = WorkspaceBase.extend({\n /** Snapshot ID */\n snapshotId: z.string().min(1),\n});\n/**\n * Snapshot rename parameters\n */\nexport const SnapshotRenameParams = WorkspaceBase.extend({\n /** Snapshot ID */\n snapshotId: z.string().min(1),\n /** New name */\n newName: z.string().min(1),\n});\n/**\n * Get enriched snapshot list (snapshots + intelligence annotations)\n *\n * v2 FIX (M3): Cursor is opaque to consumers. Internally it's a\n * base64-encoded `{timestamp}:{snapshotId}` pair. Consumers must\n * not parse it - pass it back verbatim in subsequent requests.\n */\nexport const SnapshotListEnrichedParams = SnapshotListParams.extend({\n /** Include risk assessment per snapshot */\n includeRisk: z.boolean().default(true),\n /** Include AI attribution per snapshot */\n includeAttribution: z.boolean().default(true),\n /** Group by session cluster */\n groupBySessions: z.boolean().default(false),\n});\n","// ESM imports fixed for Node.js v22+\n/**\n * Sync Parameter Schemas\n *\n * All sync-related request parameters.\n *\n * @module @vreko/contracts/local-service/schemas/sync\n */\nimport { z } from \"zod\";\nimport { WorkspaceBase } from \"./workspace-base.js\";\n/**\n * Sync status parameters\n */\nexport const SyncStatusParams = WorkspaceBase;\n/**\n * Sync force parameters\n */\nexport const SyncForceParams = WorkspaceBase;\n/**\n * Sync stop parameters\n */\nexport const SyncStopParams = WorkspaceBase;\n/**\n * Sync start parameters\n */\nexport const SyncStartParams = WorkspaceBase.extend({\n /** Optional auth token for platform sync */\n authToken: z.string().optional(),\n});\n/**\n * Sync queue parameters\n */\nexport const SyncQueueParams = WorkspaceBase;\n","// ESM imports fixed for Node.js v22+\n/**\n * Task Coordinator Parameter Schemas\n *\n * Task coordinator related request parameters.\n *\n * @module @vreko/contracts/local-service/schemas/task\n */\nimport { z } from \"zod\";\nimport { TaskIntent } from \"./primitives.js\";\nimport { WorkspaceBase } from \"./workspace-base.js\";\n/**\n * Task start parameters\n */\nexport const TaskStartParams = WorkspaceBase.extend({\n /** Task summary/description */\n task: z.string().min(1),\n /** Files involved in the task */\n files: z.array(z.string()).optional(),\n /** Keywords for context matching */\n keywords: z.array(z.string()).optional(),\n /** Task intent classification */\n intent: TaskIntent.optional(),\n});\n/**\n * Task progress parameters\n */\nexport const TaskProgressParams = WorkspaceBase.extend({\n /** Progress message */\n message: z.string().min(1),\n /** Files modified in this progress */\n filesModified: z.array(z.string()).optional(),\n /** Partial completion percentage */\n completionPercent: z.number().min(0).max(100).optional(),\n});\n/**\n * Task end parameters\n */\nexport const TaskEndParams = WorkspaceBase.extend({\n /**\n * Free-text outcome. Do NOT constrain to enum - snap_end promises free-text paragraphs.\n */\n outcome: z.string().min(1).max(2000),\n /** Outcome notes */\n notes: z.string().optional(),\n /** Learnings captured during task */\n learnings: z.array(z.string()).optional(),\n});\n/**\n * Task status parameters\n */\nexport const TaskStatusParams = WorkspaceBase;\n/**\n * Task context parameters\n */\nexport const TaskContextParams = WorkspaceBase;\n","// ESM imports fixed for Node.js v22+\n/**\n * Validation Parameter Schemas\n *\n * Validation and violation related request parameters.\n *\n * @module @vreko/contracts/local-service/schemas/validation\n */\nimport { z } from \"zod\";\nimport { WorkspaceBase } from \"./workspace-base.js\";\n// =============================================================================\n// Validation Params\n// =============================================================================\n/**\n * Quick validate parameters\n */\nexport const ValidateQuickParams = WorkspaceBase.extend({\n /** Single file */\n file: z.string().optional(),\n /** Multiple files */\n files: z.array(z.string()).optional(),\n /** Run tests */\n runTests: z.boolean().optional(),\n /** Skip TypeScript check */\n skipTypeScript: z.boolean().optional(),\n /** Skip tests */\n skipTests: z.boolean().optional(),\n /** Skip lint */\n skipLint: z.boolean().optional(),\n});\n/**\n * Comprehensive validate parameters\n */\nexport const ValidateComprehensiveParams = WorkspaceBase.extend({\n /** Code to validate */\n code: z.string(),\n /** File path */\n filePath: z.string().min(1),\n});\n// =============================================================================\n// Violation Params\n// =============================================================================\n/**\n * Report violation parameters\n */\nexport const ViolationReportParams = WorkspaceBase.extend({\n /** Violation type */\n type: z.string().min(1),\n /** File where violation occurred */\n file: z.string().min(1),\n /** What happened */\n whatHappened: z.string().min(1),\n /** Why it happened */\n whyItHappened: z.string().min(1),\n /** How to prevent it */\n prevention: z.string().min(1),\n});\n/**\n * Check path safety parameters\n */\nexport const ValidationCheckPathParams = z.object({\n /** Absolute path to check */\n path: z.string().min(1),\n /** Absolute workspace root to check against */\n workspace: z.string().min(1),\n});\n/**\n * List violations parameters\n */\nexport const ViolationListParams = WorkspaceBase;\n","// ESM imports fixed for Node.js v22+\n/**\n * Watch Parameter Schemas\n *\n * File watcher related request parameters.\n *\n * @module @vreko/contracts/local-service/schemas/watch\n */\nimport { z } from \"zod\";\nimport { WorkspaceBase } from \"./workspace-base.js\";\n/**\n * Watch subscribe parameters\n */\nexport const WatchSubscribeParams = WorkspaceBase.extend({\n /** Glob patterns to watch */\n patterns: z.array(z.string()).optional(),\n});\n/**\n * Watch unsubscribe parameters\n */\nexport const WatchUnsubscribeParams = WorkspaceBase;\n/**\n * File changed notification parameters\n */\nexport const WatchFileChangedParams = WorkspaceBase.extend({\n /** File that changed */\n file: z.string().min(1),\n /** Timestamp of change */\n timestamp: z.number().int().positive(),\n});\n","// ESM imports fixed for Node.js v22+\n/**\n * Workspace Parameter Schemas\n *\n * All workspace-level operation request parameters.\n *\n * @module @vreko/contracts/local-service/schemas/workspace\n */\nimport { z } from \"zod\";\nimport { WorkspaceBase } from \"./workspace-base.js\";\n/**\n * Workspace analyze parameters (5-phase composite operation)\n */\nexport const WorkspaceAnalyzeParams = WorkspaceBase.extend({\n /** Skip baseline computation (faster, less complete) */\n skipBaseline: z.boolean().optional(),\n /** Skip learning seeding */\n skipLearnings: z.boolean().optional(),\n /** Force re-seed learnings even if already seeded */\n forceSeedLearnings: z.boolean().optional(),\n});\n/**\n * Workspace status parameters (quick check without full analysis)\n */\nexport const WorkspaceStatusParams = WorkspaceBase;\n/**\n * Workspace seed-knowledge parameters\n */\nexport const WorkspaceSeedKnowledgeParams = WorkspaceBase.extend({\n /** Optional path to global knowledge DB (defaults to ~/.vreko/knowledge.db) */\n globalDbPath: z.string().optional(),\n});\n/**\n * Workspace fingerprint parameters\n *\n * Fingerprints the workspace to classify activity level and detect AI tool configs.\n * Called during extension activation to determine onboarding path.\n */\nexport const WorkspaceFingerprintParams = WorkspaceBase;\n/**\n * Workspace hydrate parameters\n *\n * Hydrates workspace state from persisted daemon context.\n * Called when the extension reconnects to an already-running daemon\n * to restore session state, refresh configs, and report knowledge entries.\n */\nexport const WorkspaceHydrateParams = WorkspaceBase;\n/**\n * Workspace resolve-id parameters\n *\n * Resolves the stable workspace ID from git remote, local hash, or fallback.\n * Called by the VS Code extension to obtain the workspace identity used for\n * cloud sync and session scoping.\n */\nexport const WorkspaceResolveIdParams = WorkspaceBase.extend({\n /** Optional existing user-supplied ID to use as a fallback */\n fallbackUserId: z.string().optional(),\n /** Whether to persist the resolved ID back to .vreko/config.json */\n autoPersist: z.boolean().optional().default(true),\n});\n/**\n * Workspace init parameters\n *\n * Initialises the .vreko directory structure for a workspace.\n * Called by the VS Code extension after the user triggers \"Init Workspace\"\n * so the extension never needs direct filesystem access.\n */\nexport const WorkspaceInitParams = WorkspaceBase;\n/**\n * Workspace trigger-workspace-json-write parameters\n *\n * Triggers immediate workspace.json write for a workspace.\n * Emits a synthetic workspace.initialized event to bypass the 5-minute debounce.\n * Called by vreko init to ensure workspace.json exists immediately after setup.\n */\nexport const WorkspaceTriggerWorkspaceJsonWriteParams = WorkspaceBase;\n/**\n * Workspace write-from-scan-profile parameters\n *\n * Triggers a daemon-side runInitScan and writes workspace.json with the result.\n * Default (force absent/false): additive merge — scan-derived coChange/fragility\n * arrays are overlaid onto existing live observations without resetting counters.\n * With force=true: full overwrite, resets to BOOTSTRAP state (observationCount=0).\n * Use force only when you need a clean slate (broken file, major git history rewrite).\n *\n * Security: no numeric inputs from CLI - profile is produced by daemon's own scan.\n * Trust boundary: local Unix socket / named pipe only.\n */\nexport const WorkspaceWriteFromScanProfileParams = WorkspaceBase.extend({\n force: z.boolean().optional(),\n});\n/**\n * Workspace run-init-scan parameters\n *\n * Triggers a daemon-side runInitScan via the scan-service (24h cache + mutex dedup).\n * Called by the CLI Scanning TUI frame via IPC instead of importing intelligence directly.\n * Returns RecoveryRiskProfile | null (null = cache hit or concurrent scan in progress).\n *\n * ARCH-01: CLI must NOT import @vreko/intelligence directly. This IPC method is the\n * approved delegation path.\n */\nexport const WorkspaceRunInitScanParams = WorkspaceBase;\n// =============================================================================\n// Workspace State Machine (C2 activation lifecycle)\n// =============================================================================\n/**\n * workspace/state - parameters\n *\n * Returns the current activation state for a workspace.\n * Handler: apps/local-service/src/server/protocol.ts case \"workspace\" → \"state\"\n * No external callers; only exercised in protocol-phantom.test.ts.\n * Decision: REGISTER (keep handler, add schema - delete deferred pending C2 phase).\n */\nexport const WorkspaceStateParams = WorkspaceBase;\n/**\n * workspace/transition - parameters\n *\n * Triggers a state machine transition for a workspace.\n * Handler: apps/local-service/src/server/protocol.ts case \"workspace\" → \"transition\"\n * No external callers; only exercised in protocol-phantom.test.ts.\n */\nexport const WorkspaceTransitionParams = WorkspaceBase.extend({\n /** Target state to transition to */\n targetState: z.string().optional(),\n /** Reason for the transition */\n reason: z.string().optional(),\n});\n/**\n * workspace/should-scan - parameters\n *\n * Returns whether the workspace should run an init scan (scan-once enforcement).\n * Handler: apps/local-service/src/server/protocol.ts case \"workspace\" → \"should-scan\"\n * No external callers; only exercised in protocol-phantom.test.ts.\n */\nexport const WorkspaceShouldScanParams = WorkspaceBase;\n","// ESM imports fixed for Node.js v22+\n/**\n * Method Registry\n *\n * Method name mapping and schema registry for runtime validation.\n *\n * @module @vreko/contracts/local-service/schemas/registry\n */\nimport { z } from \"zod\";\nimport { BaselineComputeParams, BaselineGetParams, BaselineInvalidateParams, BaselineStatusParams, BaselineUpdateParams, } from \"./baseline.js\";\nimport { ContextCheckPatternsParams, ContextGetParams, ContextValidateParams } from \"./context.js\";\nimport { DaemonPingParams, DaemonReloadParams, DaemonShutdownParams, DaemonStatusParams, SupervisorHeartbeatParams, SupervisorRegisterParams, SystemHealthParams, } from \"./daemon.js\";\nimport { DetectionCheckParams, SyncTriggerParams } from \"./detection.js\";\nimport { DigestComputeParams, DigestInvalidateParams, DigestStatsParams } from \"./digest.js\";\nimport { topologyBlastRadiusParams } from \"./entities.js\";\nimport { HealthWorkspaceParams } from \"./guard.js\";\nimport { IntelligenceAccuracyMetricsParams, IntelligenceCaptureParams, IntelligenceCoChangesParams, IntelligenceDecisionOutcomeParams, IntelligenceEnsureEmbeddingsReadyParams, IntelligenceFileModifiedParams, IntelligenceFragileFilesParams, IntelligenceHealthParams, IntelligenceIndexPatternsParams, IntelligenceOutcomeParams, IntelligencePreventionMetricsParams, IntelligenceRecurrenceCandidatesParams, IntelligenceSnapshotParams, IntelligenceSummaryParams, IntelligenceWarningsParams, ProjectionsRulesFileDisableParams, ProjectionsRulesFileDryRunParams, ProjectionsRulesFileEnableParams, ProjectionsRulesFileStatusParams, } from \"./intelligence.js\";\nimport { FatigueParams, GitRiskContextParams, IntelligenceAnnotateParams, PoisoningCheckParams, PoisoningLogRejectionParams, PoisoningStatsParams, QueryAnnotationsParams, RiskAssessParams, RiskCalibrationParams, RollbackRecordParams, RollbackStatsParams, RollbackWarningParams, SafeToWriteParams, } from \"./intelligence-pillars.js\";\nimport { LearningAddParams, LearningEvaluateParams, LearningGCParams, LearningListParams, LearningPruneParams, LearningQueueParams, LearningQueueSyncCompleteParams, LearningQueueSyncParams, LearningSearchParams, LearningUpdateSessionParams, } from \"./learning.js\";\nimport { LedgerAppendParams, LedgerRecoverParams, SessionReconcileParams } from \"./ledger.js\";\nimport { MCPFileModifiedParams, MCPSnapshotCreatedParams } from \"./mcp.js\";\nimport { MemoryCompactParams, MemoryRetrieveParams, MemorySearchParams, MemoryStatsParams, MemoryStoreParams, } from \"./memory.js\";\nimport { MomentumRefreshParams, MomentumScoreParams, MomentumStatusParams, MomentumSyncParams } from \"./momentum.js\";\nimport { ProtectionEvaluateParams, ProtectionGetLevelParams, ProtectionLevelsParams, ProtectionListParams, ProtectionSetLevelParams, ProtectionSetParams, } from \"./protection.js\";\nimport { RefactoringAssessParams, RefactoringFilterRecommendationsParams, RefactoringGetComponentAnalysisParams, RefactoringGetGatesParams, RefactoringGetStatsParams, RefactoringGetTopRecommendationsParams, RefactoringReportParams, RefactoringSetGateParams, } from \"./refactoring.js\";\n// Import all parameter schemas\nimport { HealthCheckParams, InitializeParams, SessionChangesParams, SessionCurrentParams, SessionEndDaemonParams, SessionEndParams, SessionListCeremoniesParams, SessionListParams, SessionReportAiToolParams, SessionReviewParams, SessionStartParams, SessionStatusParams, SessionUpdateTaskParams, SessionVitalsParams, } from \"./session.js\";\nimport { SnapshotBulkDeleteParams, SnapshotCreateDaemonParams, SnapshotCreateParams, SnapshotDeleteParams, SnapshotDiffParams, SnapshotGetParams, SnapshotListParams, SnapshotProtectParams, SnapshotRenameParams, SnapshotRestoreParams, SnapshotShouldCreateParams, } from \"./snapshot.js\";\nimport { SyncForceParams, SyncQueueParams, SyncStartParams, SyncStatusParams, SyncStopParams } from \"./sync.js\";\nimport { TaskContextParams, TaskEndParams, TaskProgressParams, TaskStartParams, TaskStatusParams } from \"./task.js\";\nimport { ValidateComprehensiveParams, ValidateQuickParams, ValidationCheckPathParams, ViolationListParams, ViolationReportParams, } from \"./validation.js\";\nimport { WatchFileChangedParams, WatchSubscribeParams, WatchUnsubscribeParams } from \"./watch.js\";\nimport { WorkspaceAnalyzeParams, WorkspaceFingerprintParams, WorkspaceHydrateParams, WorkspaceInitParams, WorkspaceResolveIdParams, WorkspaceRunInitScanParams, WorkspaceSeedKnowledgeParams, WorkspaceShouldScanParams, WorkspaceStateParams, WorkspaceStatusParams, WorkspaceTransitionParams, WorkspaceTriggerWorkspaceJsonWriteParams, WorkspaceWriteFromScanProfileParams, } from \"./workspace.js\";\n// =============================================================================\n// Method Name Normalizer\n// =============================================================================\n/**\n * Map dot-notation method names (CLI daemon) to slash-notation (local-service protocol).\n * Enables backward compatibility during migration.\n */\nexport const METHOD_NAME_MAP = {\n \"daemon.ping\": \"daemon/ping\",\n \"daemon.status\": \"daemon/status\",\n \"daemon.shutdown\": \"daemon/shutdown\",\n \"daemon.reload\": \"daemon/reload\",\n \"session.end\": \"session/end-daemon\",\n \"session.status\": \"session/status\",\n \"session.review\": \"session/review\",\n \"session.listCeremonies\": \"session/list-ceremonies\",\n \"session.changes\": \"session/changes\",\n \"session.updateTask\": \"session/update-task\",\n \"snapshot.create\": \"snapshot/create\",\n \"snapshot.list\": \"snapshot/list\",\n \"snapshot.restore\": \"snapshot/restore\",\n \"snapshot.delete\": \"snapshot/delete\",\n \"snapshot.bulkDelete\": \"snapshot/bulk-delete\",\n \"snapshot.protect\": \"snapshot/protect\",\n \"snapshot.unprotect\": \"snapshot/unprotect\",\n \"snapshot.rename\": \"snapshot/rename\",\n \"learning.add\": \"learning/add\",\n \"learning.queue\": \"learning/queue\",\n \"learning.queueSync\": \"learning/queue-sync\",\n \"learning.queueSyncComplete\": \"learning/queue-sync-complete\",\n \"learning.search\": \"learning/search\",\n \"learning.list\": \"learning/list\",\n \"learning.prune\": \"learning/prune\",\n \"learning.evaluate\": \"learning/evaluate\",\n \"learning.updateSession\": \"learning/update-session\",\n \"learning.gc\": \"learning/gc\",\n \"sync.status\": \"sync/status-daemon\",\n \"sync.force\": \"sync/force\",\n \"sync.stop\": \"sync/stop\",\n \"sync.start\": \"sync/start\",\n \"sync.queue\": \"sync/queue\",\n \"context.get\": \"context/get\",\n \"context.validate\": \"context/validate\",\n \"context.check_patterns\": \"context/check-patterns\",\n \"validate.quick\": \"validate/quick\",\n \"validate.comprehensive\": \"validate/comprehensive\",\n \"violation.report\": \"violation/report\",\n \"violation.list\": \"violation/list\",\n \"protection.getLevel\": \"protection/get-level\",\n \"protection.setLevel\": \"protection/set-level\",\n \"protection.list\": \"protection/list-daemon\",\n \"watch.subscribe\": \"watch/subscribe\",\n \"watch.unsubscribe\": \"watch/unsubscribe\",\n \"watch.file_changed\": \"watch/file-changed\",\n \"snapshot.created\": \"mcp/snapshot-created\",\n \"file.modified\": \"mcp/file-modified\",\n \"intelligence.capture\": \"intelligence/capture\",\n \"intelligence.outcome\": \"intelligence/outcome\",\n \"intelligence.fragileFiles\": \"intelligence/fragile-files\",\n \"intelligence.recurrenceCandidates\": \"intelligence/recurrence-candidates\",\n \"intelligence.coChanges\": \"intelligence/co-changes\",\n \"intelligence.summary\": \"intelligence/summary\",\n \"intelligence.warnings\": \"intelligence/warnings\",\n \"intelligence.health\": \"intelligence/health\",\n \"intelligence.decisionOutcome\": \"intelligence/decision-outcome\",\n \"intelligence.preventionMetrics\": \"intelligence/prevention-metrics\",\n \"intelligence.accuracyMetrics\": \"intelligence/accuracy-metrics\",\n \"intelligence.snapshot\": \"intelligence/snapshot\",\n \"projectionsRulesFile.status\": \"projections/rules-file/status\",\n \"projectionsRulesFile.enable\": \"projections/rules-file/enable\",\n \"projectionsRulesFile.disable\": \"projections/rules-file/disable\",\n \"projectionsRulesFile.dryRun\": \"projections/rules-file/dry-run\",\n \"supervisor.register\": \"supervisor/register\",\n \"supervisor.heartbeat\": \"supervisor/heartbeat\",\n \"system.health\": \"system/health\",\n \"momentum.refresh\": \"momentum/refresh\",\n \"momentum.score\": \"momentum/score\",\n \"momentum.sync\": \"momentum/sync\",\n \"momentum.status\": \"momentum/status\",\n \"vitals.health\": \"vitals/health\",\n \"vitals.warnings\": \"vitals/warnings\",\n \"workspace.analyze\": \"workspace/analyze\",\n \"workspace.status\": \"workspace/status\",\n \"workspace.seedKnowledge\": \"workspace/seed-knowledge\",\n \"workspace.fingerprint\": \"workspace/fingerprint\",\n \"workspace.hydrate\": \"workspace/hydrate\",\n \"workspace.triggerWorkspaceJsonWrite\": \"workspace/trigger-workspace-json-write\",\n \"workspace.writeFromScanProfile\": \"workspace/write-from-scan-profile\",\n \"dora.recordSnapshot\": \"dora/record-snapshot\",\n \"dora.recordRecovery\": \"dora/record-recovery\",\n \"dora.getMetrics\": \"dora/get-metrics\",\n \"dora.getTrends\": \"dora/get-trends\",\n \"risk.assess\": \"risk/assess\",\n // Phantom methods: dot-notation entries for documentation; no daemon handler exists yet\n \"intelligence.getDecision\": \"intelligence/get-decision\",\n \"analytics.track\": \"analytics/track\",\n};\n/**\n * Normalize a method name from dot-notation to slash-notation.\n * Returns the input unchanged if already in slash-notation or not found in the map.\n */\nexport function normalizeMethodName(method) {\n return METHOD_NAME_MAP[method] ?? method;\n}\n// =============================================================================\n// Method Registry\n// =============================================================================\n/**\n * Method name to parameter schema mapping\n *\n * This registry is used for runtime parameter validation and provides\n * type-safe access to the correct schema for each method.\n *\n * Covers ALL 55+ daemon methods organized by namespace.\n */\nexport const MethodSchemas = {\n // Core initialization\n initialize: InitializeParams,\n // Health namespace\n \"health/check\": HealthCheckParams,\n \"health/ping\": z.object({}),\n \"health/workspace\": HealthWorkspaceParams, // SB-HEALTH-001 Phase 1\n // Session namespace (original local-service style)\n \"session/current\": SessionCurrentParams,\n \"session/start\": SessionStartParams,\n \"session/end\": SessionEndParams,\n \"session/list\": SessionListParams,\n \"session/end-daemon\": SessionEndDaemonParams,\n \"session/status\": SessionStatusParams,\n \"session/review\": SessionReviewParams,\n \"session/changes\": SessionChangesParams,\n \"session/vitals\": SessionVitalsParams,\n \"session/list-ceremonies\": SessionListCeremoniesParams,\n \"session/update-task\": SessionUpdateTaskParams,\n // Phantom resolved - Phase 1: session/report-ai-tool was routed but absent from MethodSchemas\n // Handler: protocol.ts case \"session\" → \"report-ai-tool\"; Caller: vscode/DaemonOperations.ts\n \"session/report-ai-tool\": SessionReportAiToolParams,\n // Snapshot namespace (original local-service style)\n \"snapshot/create\": SnapshotCreateParams,\n \"snapshot/get\": SnapshotGetParams,\n \"snapshot/list\": SnapshotListParams,\n \"snapshot/restore\": SnapshotRestoreParams,\n \"snapshot/diff\": SnapshotDiffParams,\n \"snapshot/delete\": SnapshotDeleteParams,\n \"snapshot/should-create\": SnapshotShouldCreateParams, // Fast-path decision (Phase 0.1)\n // Snapshot namespace (daemon-style workspace-scoped)\n \"snapshot/create-daemon\": SnapshotCreateDaemonParams,\n \"snapshot/bulk-delete\": SnapshotBulkDeleteParams,\n \"snapshot/protect\": SnapshotProtectParams,\n \"snapshot/unprotect\": SnapshotProtectParams,\n \"snapshot/rename\": SnapshotRenameParams,\n // Protection namespace (original local-service style)\n \"protection/evaluate\": ProtectionEvaluateParams,\n \"protection/levels\": ProtectionLevelsParams,\n \"protection/set\": ProtectionSetParams,\n // Protection namespace (daemon-style)\n \"protection/get-level\": ProtectionGetLevelParams,\n \"protection/set-level\": ProtectionSetLevelParams,\n \"protection/list-daemon\": ProtectionListParams,\n // Pillar 06: Pre-Write MCP Interception (composite of all pillars)\n \"protection/safe-to-write\": SafeToWriteParams,\n // Detection namespace\n \"detection/check\": DetectionCheckParams,\n // Sync namespace (original local-service style)\n \"sync/status\": z.object({}),\n \"sync/trigger\": SyncTriggerParams,\n // Sync namespace (daemon-style workspace-scoped)\n \"sync/status-daemon\": SyncStatusParams,\n \"sync/force\": SyncForceParams,\n \"sync/stop\": SyncStopParams,\n \"sync/start\": SyncStartParams,\n \"sync/queue\": SyncQueueParams,\n // Learning namespace\n \"learning/add\": LearningAddParams,\n \"learning/queue\": LearningQueueParams,\n \"learning/queue-sync\": LearningQueueSyncParams,\n \"learning/queue-sync-complete\": LearningQueueSyncCompleteParams,\n \"learning/search\": LearningSearchParams,\n \"learning/list\": LearningListParams,\n \"learning/prune\": LearningPruneParams,\n \"learning/evaluate\": LearningEvaluateParams,\n \"learning/update-session\": LearningUpdateSessionParams,\n \"learning/gc\": LearningGCParams,\n // Context namespace\n \"context/get\": ContextGetParams,\n \"context/validate\": ContextValidateParams,\n \"context/check-patterns\": ContextCheckPatternsParams,\n // Validation namespace\n \"validate/quick\": ValidateQuickParams,\n \"validate/comprehensive\": ValidateComprehensiveParams,\n \"validation/check-path\": ValidationCheckPathParams,\n // Violation namespace\n \"violation/report\": ViolationReportParams,\n \"violation/list\": ViolationListParams,\n // Watch namespace (file watcher)\n \"watch/subscribe\": WatchSubscribeParams,\n \"watch/unsubscribe\": WatchUnsubscribeParams,\n \"watch/file-changed\": WatchFileChangedParams,\n // MCP coordination namespace\n \"mcp/snapshot-created\": MCPSnapshotCreatedParams,\n \"mcp/file-modified\": MCPFileModifiedParams,\n // Intelligence namespace\n \"intelligence/capture\": IntelligenceCaptureParams,\n \"intelligence/outcome\": IntelligenceOutcomeParams,\n // Intelligence insights namespace (NEW - Phase 0)\n \"intelligence/fragile-files\": IntelligenceFragileFilesParams,\n \"intelligence/co-changes\": IntelligenceCoChangesParams,\n \"intelligence/summary\": IntelligenceSummaryParams,\n \"intelligence/warnings\": IntelligenceWarningsParams,\n \"intelligence/health\": IntelligenceHealthParams,\n // Recurrence/doom-loop detector (Phase 4 - INTEL-11, INTEL-12, INTEL-13)\n \"intelligence/recurrence-candidates\": IntelligenceRecurrenceCandidatesParams,\n // Gap Fields: Prevention and Accuracy metrics\n \"intelligence/decision-outcome\": IntelligenceDecisionOutcomeParams,\n \"intelligence/prevention-metrics\": IntelligencePreventionMetricsParams,\n \"intelligence/accuracy-metrics\": IntelligenceAccuracyMetricsParams,\n // Intelligence Projection Architecture Phase 1\n \"intelligence/snapshot\": IntelligenceSnapshotParams,\n // Rules-file projection IPC methods (Phase 2 - intelligence-projection-architecture)\n \"projections/rules-file/status\": ProjectionsRulesFileStatusParams,\n \"projections/rules-file/enable\": ProjectionsRulesFileEnableParams,\n \"projections/rules-file/disable\": ProjectionsRulesFileDisableParams,\n \"projections/rules-file/dry-run\": ProjectionsRulesFileDryRunParams,\n // File modification observation recording (session-independent)\n \"intelligence/file-modified\": IntelligenceFileModifiedParams,\n // Phantom resolved - Phase 1: intelligence/indexPatterns was routed but absent from MethodSchemas\n // Handler: protocol.ts case \"intelligence\" → \"indexPatterns\"; Caller: mcp/src/daemon/intelligence-adapter.ts\n \"intelligence/indexPatterns\": IntelligenceIndexPatternsParams,\n // Enriched snapshot (NEW - Phase 0) - REMOVED: no snapshot service method and no callers\n // \"snapshot/list-enriched\": SnapshotListEnrichedParams,\n // Supervisor namespace\n \"supervisor/register\": SupervisorRegisterParams,\n \"supervisor/heartbeat\": SupervisorHeartbeatParams,\n // System namespace\n \"system/health\": SystemHealthParams,\n // Momentum namespace\n \"momentum/refresh\": MomentumRefreshParams,\n \"momentum/score\": MomentumScoreParams,\n \"momentum/sync\": MomentumSyncParams,\n \"momentum/status\": MomentumStatusParams,\n // Vitals namespace (Phase 1B - routes to IntelligenceService)\n \"vitals/health\": IntelligenceHealthParams,\n \"vitals/warnings\": IntelligenceWarningsParams,\n // Risk namespace (6 Intelligence Pillars - P0)\n \"risk/assess\": RiskAssessParams,\n \"risk/git-context\": GitRiskContextParams,\n \"risk/fatigue\": FatigueParams,\n \"risk/poisoning-check\": PoisoningCheckParams,\n // Intelligence namespace (6 Intelligence Pillars - P1)\n \"intelligence/annotate\": IntelligenceAnnotateParams,\n \"intelligence/rollback-patterns\": RollbackWarningParams,\n \"intelligence/annotations-query\": QueryAnnotationsParams,\n \"intelligence/risk-calibration\": RiskCalibrationParams,\n // CONTRACT-05: phantom method handler exists at protocol.ts line 1021 - adding schema unblocks isValidMethod()\n \"intelligence/ensureEmbeddingsReady\": IntelligenceEnsureEmbeddingsReadyParams,\n // Risk namespace - additional pillar methods\n \"risk/poisoning-log-rejection\": PoisoningLogRejectionParams,\n \"risk/poisoning-stats\": PoisoningStatsParams,\n \"risk/rollback-record\": RollbackRecordParams,\n \"risk/rollback-warning\": RollbackWarningParams,\n \"risk/rollback-stats\": RollbackStatsParams,\n // Memory hub namespace (Phase 1.1)\n \"memory/store\": MemoryStoreParams,\n \"memory/retrieve\": MemoryRetrieveParams,\n \"memory/search\": MemorySearchParams,\n \"memory/stats\": MemoryStatsParams,\n \"memory/compact\": MemoryCompactParams,\n // Task coordinator namespace (Phase 2.1)\n \"task/start\": TaskStartParams,\n \"task/progress\": TaskProgressParams,\n \"task/end\": TaskEndParams,\n \"task/status\": TaskStatusParams,\n \"task/context\": TaskContextParams,\n // Refactoring Intelligence namespace (v2.1)\n \"refactoring/assess\": RefactoringAssessParams,\n \"refactoring/report\": RefactoringReportParams,\n \"refactoring/getTopRecommendations\": RefactoringGetTopRecommendationsParams,\n \"refactoring/getComponentAnalysis\": RefactoringGetComponentAnalysisParams,\n \"refactoring/setGate\": RefactoringSetGateParams,\n \"refactoring/getGates\": RefactoringGetGatesParams,\n \"refactoring/filterRecommendations\": RefactoringFilterRecommendationsParams,\n \"refactoring/getStats\": RefactoringGetStatsParams,\n // Digest namespace (Pioneer Dashboard)\n \"digest/compute\": DigestComputeParams,\n \"digest/invalidate\": DigestInvalidateParams,\n \"digest/stats\": DigestStatsParams,\n // DORA metrics namespace (routed through daemon)\n \"dora/record-snapshot\": z.object({\n workspace: z.string(),\n event: z.object({\n snapshotId: z.string(),\n timestamp: z.number(),\n timeSinceLastChange: z.number(),\n isRecoveryTriggered: z.boolean(),\n trigger: z.enum([\"manual\", \"auto\", \"ai-detected\", \"recovery\"]),\n }),\n }),\n \"dora/record-recovery\": z.object({\n workspace: z.string(),\n event: z.object({\n snapshotId: z.string(),\n requestTime: z.number(),\n completionTime: z.number(),\n success: z.boolean(),\n filesRestored: z.number(),\n failureReason: z.string().optional(),\n }),\n }),\n \"dora/get-metrics\": z.object({\n workspace: z.string(),\n }),\n \"dora/get-trends\": z.object({\n workspace: z.string(),\n }),\n // Baseline namespace (Phase 5-A)\n \"baseline/get\": BaselineGetParams,\n \"baseline/compute\": BaselineComputeParams,\n \"baseline/status\": BaselineStatusParams,\n \"baseline/invalidate\": BaselineInvalidateParams,\n \"baseline/update\": BaselineUpdateParams,\n // Workspace namespace (composite operations)\n \"workspace/analyze\": WorkspaceAnalyzeParams,\n \"workspace/status\": WorkspaceStatusParams,\n \"workspace/seed-knowledge\": WorkspaceSeedKnowledgeParams,\n \"workspace/fingerprint\": WorkspaceFingerprintParams,\n \"workspace/hydrate\": WorkspaceHydrateParams,\n // Workspace identity & initialisation (called by VS Code extension)\n \"workspace/resolve-id\": WorkspaceResolveIdParams,\n \"workspace/init\": WorkspaceInitParams,\n \"workspace/trigger-workspace-json-write\": WorkspaceTriggerWorkspaceJsonWriteParams,\n \"workspace/write-from-scan-profile\": WorkspaceWriteFromScanProfileParams,\n // ARCH-01: IPC delegation path for CLI Scanning TUI - avoids direct @vreko/intelligence import\n \"workspace/run-init-scan\": WorkspaceRunInitScanParams,\n // Workspace state machine (C2 activation lifecycle - handlers present, no external callers)\n // Registered (not deleted) per Phase 1 decision: keep handler, add schema, defer C2 phase delete.\n \"workspace/state\": WorkspaceStateParams,\n \"workspace/transition\": WorkspaceTransitionParams,\n \"workspace/should-scan\": WorkspaceShouldScanParams,\n // Daemon lifecycle namespace\n \"daemon/ping\": DaemonPingParams,\n \"daemon/status\": DaemonStatusParams,\n \"daemon/shutdown\": DaemonShutdownParams,\n \"daemon/reload\": DaemonReloadParams,\n // daemon/stop routes to svc.shutdown() (protocol.ts line 1175) - alias with same empty schema\n \"daemon/stop\": DaemonShutdownParams,\n // CTI: Codebase Topology Intelligence namespace (Phase A)\n \"topology/scan\": z.object({\n workspace: z.string(),\n force: z.boolean().optional().default(false),\n }),\n \"topology/status\": z.object({\n workspace: z.string(),\n }),\n \"topology/query\": z.object({\n workspace: z.string(),\n task: z.string().min(1, \"task description required for topology query\"),\n max_files: z.number().int().positive().optional().default(15),\n include_deviations: z.boolean().optional().default(true),\n include_behavioral: z.boolean().optional().default(true),\n }),\n // Project Bedrock Phase 1: hot-path blast radius query\n \"topology/blast-radius\": topologyBlastRadiusParams,\n // Provenance namespace (AI attribution via daemon session data)\n \"provenance/query\": z.object({\n workspaceRoot: z.string(),\n files: z.array(z.string()),\n }),\n // Knowledge namespace (CONTRACT-04: phantom method handler exists at protocol.ts line 1071)\n \"knowledge/ingest\": z.object({\n workspace: z.string(),\n text: z.string(),\n source: z.string(),\n metadata: z.record(z.unknown()).optional(),\n }),\n // WAL Ledger (WAL-01, WAL-04) -- ratchet-ok: MERGE -- per-workspace NDJSON append, not a canonical artifact overwrite\n \"ledger/append\": LedgerAppendParams,\n \"ledger/recover\": LedgerRecoverParams,\n \"session/reconcile\": SessionReconcileParams,\n};\n","// ESM imports fixed for Node.js v22+\nimport { z } from \"zod\";\nimport { MethodSchemas } from \"../local-service/schemas/registry.js\";\n// ============================================================================\n// Schema Definitions (one per method)\n// ============================================================================\nexport const SnapshotCreateSchema = z.object({\n filePath: z.string(),\n content: z.string().optional(),\n trigger: z.enum([\"save\", \"manual\", \"auto\"]),\n});\nexport const SnapshotRestoreSchema = z.object({\n snapshotId: z.string(),\n filePath: z.string().optional(),\n});\nexport const SnapshotListSchema = z.object({\n filePath: z.string().optional(),\n limit: z.number().optional(),\n});\nexport const SnapshotDeleteSchema = z.object({\n snapshotId: z.string(),\n permanent: z.boolean().optional(),\n});\nexport const SnapshotBulkDeleteSchema = z.object({\n snapshotIds: z.array(z.string()),\n});\nexport const SnapshotProtectSchema = z.object({\n snapshotId: z.string(),\n});\nexport const SnapshotUnprotectSchema = z.object({\n snapshotId: z.string(),\n});\nexport const SnapshotRenameSchema = z.object({\n snapshotId: z.string(),\n newName: z.string(),\n});\nexport const ContextCompileSchema = z.object({\n filePaths: z.array(z.string()),\n includeDependencies: z.boolean().optional(),\n});\nexport const ContextCheckPatternsSchema = z.object({\n filePaths: z.array(z.string()),\n});\nexport const ContextGetSchema = z.object({\n workspace: z.string(),\n});\nexport const DaemonStatusSchema = z.object({\n includeMetrics: z.boolean().optional(),\n});\nexport const DaemonStartSchema = z.object({\n port: z.number().optional(),\n configPath: z.string().optional(),\n});\nexport const DaemonStopSchema = z.object({\n force: z.boolean().optional(),\n});\nexport const AuthHandshakeInitiateSchema = z.object({\n clientId: z.string(),\n publicKey: z.string(),\n});\nexport const AuthHandshakeCompleteSchema = z.object({\n challengeId: z.string(),\n signature: z.string(),\n});\n// Learning methods\nexport const LearningPruneSchema = z.object({\n workspace: z.string(),\n olderThanDays: z.number().optional(),\n});\nexport const LearningGcSchema = z.object({\n workspace: z.string(),\n operation: z.enum([\"all\", \"stale\", \"orphaned\"]).optional(),\n dryRun: z.boolean().optional(),\n});\nexport const LearningListSchema = z.object({\n workspace: z.string(),\n limit: z.number().optional(),\n type: z.string().optional(),\n});\nexport const LearningSearchSchema = z.object({\n workspace: z.string(),\n keywords: z.array(z.string()),\n limit: z.number().optional(),\n});\nexport const LearningAddSchema = z.object({\n workspace: z.string(),\n learning: z.record(z.unknown()),\n});\n// Violation methods (VSUI-03 FIX)\nexport const ViolationListSchema = z.object({\n workspace: z.string(),\n});\nexport const ViolationReportSchema = z.object({\n workspace: z.string(),\n type: z.string(),\n file: z.string(),\n whatHappened: z.string(),\n whyItHappened: z.string(),\n prevention: z.string(),\n});\n// Core initialization\nexport const InitializeSchema = z.object({\n config: z.record(z.unknown()).optional(),\n});\n// Health methods\nexport const HealthPingSchema = z.object({\n includeUptime: z.boolean().optional(),\n});\n// Daemon lifecycle methods\nexport const DaemonPingSchema = z.object({});\nexport const DaemonShutdownSchema = z.object({\n force: z.boolean().optional(),\n});\n// Session methods (additional)\nexport const SessionChangesSchema = z.object({\n sessionId: z.string(),\n since: z.string().optional(),\n});\n// Validation methods\nexport const ValidateQuickSchema = z.object({\n filePaths: z.array(z.string()),\n checks: z.array(z.string()).optional(),\n});\nexport const ValidateComprehensiveSchema = z.object({\n filePaths: z.array(z.string()),\n checks: z.array(z.string()).optional(),\n});\n// Watch methods\nexport const WatchFileChangedSchema = z.object({\n filePath: z.string(),\n eventType: z.enum([\"create\", \"modify\", \"delete\"]),\n content: z.string().optional(),\n});\nexport const WatchSubscribeSchema = z.object({\n workspace: z.string(),\n filePaths: z.array(z.string()),\n});\nexport const WatchUnsubscribeSchema = z.object({\n workspace: z.string(),\n subscriptionId: z.string(),\n});\nexport const MpcFileModifiedSchema = z.object({\n workspace: z.string(),\n path: z.string(),\n linesChanged: z.number().optional(),\n aiAttributed: z.boolean().optional(),\n aiTool: z.string().optional(),\n});\nexport const IntelligenceFileModifiedSchema = z.object({\n workspace: z.string(),\n path: z.string(),\n linesChanged: z.number().optional(),\n aiAttributed: z.boolean().optional(),\n aiTool: z.string().optional(),\n});\n// Baseline methods\nexport const BaselineWorkspaceSchema = z.object({\n workspace: z.string(),\n});\nexport const BaselineInvalidateSchema = z.object({\n cacheKey: z.string().optional(),\n});\n// Protection methods\nexport const ProtectionSetLevelSchema = z.object({\n workspace: z.string(),\n level: z.enum([\"none\", \"read-only\", \"full\"]),\n});\nexport const ProtectionListDaemonSchema = z.object({});\nexport const ProtectionGetLevelSchema = z.object({\n workspace: z.string(),\n});\n// Session methods\nexport const SessionStartSchema = z.object({\n workspacePath: z.string(),\n task: z.string().optional(),\n files: z.array(z.string()).optional(),\n keywords: z.array(z.string()).optional(),\n metadata: z.record(z.unknown()).optional(),\n touchedFiles: z.array(z.string()).optional(),\n});\nexport const SessionEndSchema = z.object({\n sessionId: z.string().optional(),\n reason: z.enum([\"user\", \"idle\", \"workspace_closed\", \"recovered-abandoned\"]).optional(),\n});\nexport const SessionListSchema = z.object({\n workspacePath: z.string().optional(),\n limit: z.number().int().min(1).max(100).default(20),\n before: z.string().optional(),\n includeEnded: z.boolean().default(true),\n});\nexport const SessionVitalsSchema = z.object({\n workspacePath: z.string(),\n});\nexport const SessionReviewSchema = z.object({\n workspacePath: z.string(),\n sessionId: z.string().optional(),\n files: z.array(z.string()).optional(),\n includeCommitMessage: z.boolean().optional(),\n skipPatterns: z.boolean().optional(),\n});\n// Snapshot methods\nexport const SnapshotGetSchema = z.object({\n snapshotId: z.string(),\n includeContent: z.boolean().default(false),\n});\nexport const SnapshotDiffSchema = z.object({\n baseSnapshotId: z.string(),\n compareSnapshotId: z.string().optional(),\n contextLines: z.number().int().min(0).max(10).default(3),\n format: z.enum([\"unified\", \"split\"]).default(\"unified\"),\n});\n// Protection methods\nexport const ProtectionEvaluateSchema = z.object({\n filePath: z.string().min(1),\n content: z.string().optional(),\n context: z\n .object({\n recentChanges: z.number().int().nonnegative().optional(),\n timeSinceLastSave: z.number().int().nonnegative().optional(),\n aiToolActive: z.boolean().optional(),\n })\n .optional(),\n});\n// Detection methods\nexport const DetectionCheckSchema = z.object({\n filePath: z.string().min(1),\n content: z.string(),\n previousContent: z.string().optional(),\n metadata: z\n .object({\n editorInfo: z.string().optional(),\n timestamp: z.number().int().positive().optional(),\n })\n .optional(),\n});\nexport const SessionCurrentSchema = z.object({\n workspacePath: z.string().optional(),\n});\nexport const SessionEndDaemonSchema = z.object({\n sessionId: z.string(),\n});\nexport const SessionStatusSchema = z.object({\n sessionId: z.string(),\n});\n// ============================================================================\n// Legacy Alias Map (for migration from dot-notation to slash-notation)\n// ============================================================================\nexport const LEGACY_ALIAS_MAP = {\n // Dot-notation to slash-notation migration (pre-v1.0 legacy)\n \"snapshot.create\": \"snapshot/create\",\n \"snapshot.list\": \"snapshot/list\",\n \"snapshot.restore\": \"snapshot/restore\",\n // \"daemon.start\": removed - daemon/start has no protocol.ts handler\n \"daemon.stop\": \"daemon/stop\",\n \"daemon.status\": \"daemon/status\",\n \"violation.list\": \"violation/list\",\n \"violation.report\": \"violation/report\",\n // \"context.compile\": removed - context/compile has no protocol.ts handler\n \"learning.prune\": \"learning/prune\",\n \"learning.gc\": \"learning/gc\",\n \"learning.list\": \"learning/list\",\n \"learning.search\": \"learning/search\",\n \"session.start\": \"session/start\",\n \"session.end\": \"session/end-daemon\",\n \"session.status\": \"session/status\",\n \"session.changes\": \"session/changes\",\n // Additional mappings from DaemonOperations METHOD_MAP\n \"daemon.ping\": \"health/ping\",\n \"snapshot.delete\": \"snapshot/delete\",\n \"snapshot.bulkDelete\": \"snapshot/bulk-delete\",\n \"snapshot.protect\": \"snapshot/protect\",\n \"snapshot.unprotect\": \"snapshot/unprotect\",\n \"snapshot.rename\": \"snapshot/rename\",\n \"context.check_patterns\": \"context/check-patterns\",\n \"context.get\": \"context/get\",\n \"validate.comprehensive\": \"validate/comprehensive\",\n \"validate.quick\": \"validate/quick\",\n \"protection.setLevel\": \"protection/set-level\",\n \"protection.list\": \"protection/list-daemon\",\n \"protection.getLevel\": \"protection/get-level\",\n \"learning.add\": \"learning/add\",\n \"watch.subscribe\": \"watch/subscribe\",\n \"watch.unsubscribe\": \"watch/unsubscribe\",\n};\n// ============================================================================\n// Method Registry (single source of truth)\n// ============================================================================\nexport const METHOD_REGISTRY = {\n \"snapshot/create\": {\n schema: SnapshotCreateSchema,\n handler: \"SnapshotService.create\",\n surfaces: [\"vscode\", \"cli\"],\n authRequired: true,\n },\n \"snapshot/restore\": {\n schema: SnapshotRestoreSchema,\n handler: \"SnapshotService.restore\",\n surfaces: [\"vscode\", \"cli\"],\n authRequired: true,\n },\n \"snapshot/list\": {\n schema: SnapshotListSchema,\n handler: \"SnapshotService.list\",\n surfaces: [\"vscode\", \"cli\", \"web\"],\n authRequired: false,\n },\n \"snapshot/delete\": {\n schema: SnapshotDeleteSchema,\n handler: \"SnapshotService.delete\",\n surfaces: [\"vscode\", \"cli\"],\n authRequired: true,\n },\n // context/compile: REMOVED - protocol.ts context block has no \"compile\" case (only get/validate/check-patterns)\n \"daemon/status\": {\n schema: DaemonStatusSchema,\n handler: \"DaemonService.status\",\n surfaces: [\"vscode\", \"cli\"],\n authRequired: false,\n },\n // daemon/start: REMOVED - protocol.ts daemon block has no \"start\" case (only ping/status/shutdown/stop/reload)\n \"daemon/ping\": {\n schema: DaemonPingSchema,\n handler: \"LifecycleService.ping\",\n surfaces: [\"vscode\", \"cli\"],\n authRequired: false,\n },\n \"daemon/shutdown\": {\n schema: DaemonShutdownSchema,\n handler: \"LifecycleService.shutdown\",\n surfaces: [\"cli\"],\n authRequired: false,\n },\n \"daemon/stop\": {\n schema: MethodSchemas[\"daemon/stop\"],\n handler: \"LifecycleService.shutdown\",\n surfaces: [\"cli\"],\n authRequired: true,\n },\n // auth/handshake/initiate: REMOVED - protocol.ts has no \"auth\" namespace case block (auth deferred to Phase 33)\n // auth/handshake/complete: REMOVED - same reason\n \"learning/prune\": {\n schema: LearningPruneSchema,\n handler: \"LearningService.prune\",\n surfaces: [\"cli\"],\n authRequired: true,\n },\n \"learning/gc\": {\n schema: LearningGcSchema,\n handler: \"LearningService.gc\",\n surfaces: [\"cli\"],\n authRequired: true,\n },\n \"learning/list\": {\n schema: LearningListSchema,\n handler: \"LearningService.list\",\n surfaces: [\"cli\"],\n authRequired: false,\n },\n \"learning/search\": {\n schema: LearningSearchSchema,\n handler: \"LearningService.search\",\n surfaces: [\"cli\"],\n authRequired: false,\n },\n \"violation/list\": {\n schema: ViolationListSchema,\n handler: \"ViolationService.list\",\n surfaces: [\"vscode\", \"cli\"],\n authRequired: false,\n },\n \"violation/report\": {\n schema: ViolationReportSchema,\n handler: \"ViolationService.report\",\n surfaces: [\"vscode\", \"cli\"],\n authRequired: false,\n },\n \"session/current\": {\n schema: SessionCurrentSchema,\n handler: \"SessionService.current\",\n surfaces: [\"vscode\", \"cli\", \"mcp\"],\n authRequired: false,\n },\n \"session/start\": {\n schema: SessionStartSchema,\n handler: \"SessionService.start\",\n surfaces: [\"vscode\", \"cli\"],\n authRequired: true,\n },\n \"session/end-daemon\": {\n schema: SessionEndDaemonSchema,\n handler: \"SessionService.endDaemon\",\n surfaces: [\"cli\"],\n authRequired: true,\n },\n \"session/status\": {\n schema: SessionStatusSchema,\n handler: \"SessionService.status\",\n surfaces: [\"cli\"],\n authRequired: false,\n },\n // Additional methods from LocalServiceMethod\n initialize: {\n schema: InitializeSchema,\n handler: \"DaemonService.initialize\",\n surfaces: [\"cli\"],\n authRequired: false,\n },\n \"health/ping\": {\n schema: HealthPingSchema,\n handler: \"HealthService.ping\",\n surfaces: [\"vscode\", \"cli\", \"mcp\"],\n authRequired: false,\n },\n \"session/changes\": {\n schema: SessionChangesSchema,\n handler: \"SessionService.changes\",\n surfaces: [\"cli\"],\n authRequired: true,\n },\n \"validate/quick\": {\n schema: ValidateQuickSchema,\n handler: \"ValidationService.quick\",\n surfaces: [\"cli\"],\n authRequired: false,\n },\n \"watch/file-changed\": {\n schema: WatchFileChangedSchema,\n handler: \"WatchService.fileChanged\",\n surfaces: [\"mcp\"],\n authRequired: false,\n },\n \"mcp/file-modified\": {\n schema: MpcFileModifiedSchema,\n handler: \"MCPCoordinationService.fileModified\",\n surfaces: [\"mcp\", \"vscode\"],\n authRequired: false,\n },\n \"intelligence/file-modified\": {\n schema: IntelligenceFileModifiedSchema,\n handler: \"IntelligenceService.recordFileModificationObservation\",\n surfaces: [\"vscode\", \"mcp\"],\n authRequired: false,\n },\n \"baseline/compute\": {\n schema: BaselineWorkspaceSchema,\n handler: \"BaselineService.compute\",\n surfaces: [\"cli\"],\n authRequired: false,\n },\n \"baseline/status\": {\n schema: BaselineWorkspaceSchema,\n handler: \"BaselineService.status\",\n surfaces: [\"cli\"],\n authRequired: false,\n },\n \"baseline/get\": {\n schema: BaselineWorkspaceSchema,\n handler: \"BaselineService.get\",\n surfaces: [\"cli\"],\n authRequired: false,\n },\n \"baseline/invalidate\": {\n schema: BaselineInvalidateSchema,\n handler: \"BaselineService.invalidate\",\n surfaces: [\"cli\"],\n authRequired: true,\n },\n \"snapshot/bulk-delete\": {\n schema: SnapshotBulkDeleteSchema,\n handler: \"SnapshotService.bulkDelete\",\n surfaces: [\"cli\"],\n authRequired: true,\n },\n \"snapshot/protect\": {\n schema: SnapshotProtectSchema,\n handler: \"SnapshotService.protect\",\n surfaces: [\"cli\"],\n authRequired: true,\n },\n \"snapshot/unprotect\": {\n schema: SnapshotUnprotectSchema,\n handler: \"SnapshotService.unprotect\",\n surfaces: [\"cli\"],\n authRequired: true,\n },\n \"snapshot/rename\": {\n schema: SnapshotRenameSchema,\n handler: \"SnapshotService.rename\",\n surfaces: [\"cli\"],\n authRequired: true,\n },\n \"context/check-patterns\": {\n schema: ContextCheckPatternsSchema,\n handler: \"ContextService.checkPatterns\",\n surfaces: [\"cli\"],\n authRequired: false,\n },\n \"context/get\": {\n schema: ContextGetSchema,\n handler: \"ContextService.get\",\n surfaces: [\"cli\"],\n authRequired: false,\n },\n \"validate/comprehensive\": {\n schema: ValidateComprehensiveSchema,\n handler: \"ValidationService.comprehensive\",\n surfaces: [\"cli\"],\n authRequired: false,\n },\n \"protection/set-level\": {\n schema: ProtectionSetLevelSchema,\n handler: \"ProtectionService.setLevel\",\n surfaces: [\"cli\"],\n authRequired: true,\n },\n \"protection/list-daemon\": {\n schema: ProtectionListDaemonSchema,\n handler: \"ProtectionService.listDaemon\",\n surfaces: [\"cli\"],\n authRequired: false,\n },\n \"protection/get-level\": {\n schema: ProtectionGetLevelSchema,\n handler: \"ProtectionService.getLevel\",\n surfaces: [\"cli\"],\n authRequired: false,\n },\n \"learning/add\": {\n schema: LearningAddSchema,\n handler: \"LearningService.add\",\n surfaces: [\"cli\"],\n authRequired: true,\n },\n \"watch/subscribe\": {\n schema: WatchSubscribeSchema,\n handler: \"WatchService.subscribe\",\n surfaces: [\"cli\"],\n authRequired: true,\n },\n \"watch/unsubscribe\": {\n schema: WatchUnsubscribeSchema,\n handler: \"WatchService.unsubscribe\",\n surfaces: [\"cli\"],\n authRequired: true,\n },\n // === CONTRACT-01 (Phase 29 Plan 04): mirror all MethodSchemas keys into METHOD_REGISTRY ===\n // --- Health namespace ---\n \"health/check\": {\n schema: MethodSchemas[\"health/check\"],\n handler: \"HealthService.check\",\n surfaces: [\"vscode\", \"cli\", \"mcp\"],\n authRequired: false,\n },\n \"health/workspace\": {\n schema: MethodSchemas[\"health/workspace\"],\n handler: \"HealthService.workspace\",\n surfaces: [\"vscode\"],\n authRequired: false,\n },\n // --- Session namespace (additional) ---\n \"session/list-ceremonies\": {\n schema: MethodSchemas[\"session/list-ceremonies\"],\n handler: \"SessionService.listCeremonies\",\n surfaces: [\"vscode\", \"cli\"],\n authRequired: false,\n },\n \"session/update-task\": {\n schema: MethodSchemas[\"session/update-task\"],\n handler: \"SessionService.updateTask\",\n surfaces: [\"vscode\", \"cli\"],\n authRequired: true,\n },\n // --- Snapshot namespace (additional) ---\n \"snapshot/should-create\": {\n schema: MethodSchemas[\"snapshot/should-create\"],\n handler: \"SnapshotService.shouldCreate\",\n surfaces: [\"vscode\", \"mcp\"],\n authRequired: false,\n },\n \"snapshot/create-daemon\": {\n schema: MethodSchemas[\"snapshot/create-daemon\"],\n handler: \"SnapshotService.createDaemon\",\n surfaces: [\"vscode\", \"cli\"],\n authRequired: true,\n },\n // --- Protection namespace (additional) ---\n \"protection/levels\": {\n schema: MethodSchemas[\"protection/levels\"],\n handler: \"ProtectionService.levels\",\n surfaces: [\"vscode\", \"cli\"],\n authRequired: false,\n },\n \"protection/set\": {\n schema: MethodSchemas[\"protection/set\"],\n handler: \"ProtectionService.set\",\n surfaces: [\"vscode\", \"cli\"],\n authRequired: true,\n },\n \"protection/safe-to-write\": {\n schema: MethodSchemas[\"protection/safe-to-write\"],\n handler: \"WorkspaceManager.evaluateSafeToWrite\",\n surfaces: [\"vscode\", \"mcp\"],\n authRequired: false,\n },\n // --- Sync namespace ---\n \"sync/status\": {\n schema: MethodSchemas[\"sync/status\"],\n handler: \"SyncService.status\",\n surfaces: [\"vscode\", \"cli\"],\n authRequired: false,\n },\n \"sync/trigger\": {\n schema: MethodSchemas[\"sync/trigger\"],\n handler: \"SyncService.force\",\n surfaces: [\"cli\"],\n authRequired: true,\n },\n \"sync/status-daemon\": {\n schema: MethodSchemas[\"sync/status-daemon\"],\n handler: \"SyncService.status\",\n surfaces: [\"cli\"],\n authRequired: false,\n },\n \"sync/force\": {\n schema: MethodSchemas[\"sync/force\"],\n handler: \"SyncService.force\",\n surfaces: [\"cli\"],\n authRequired: true,\n },\n \"sync/stop\": {\n schema: MethodSchemas[\"sync/stop\"],\n handler: \"SyncService.stop\",\n surfaces: [\"cli\"],\n authRequired: true,\n },\n \"sync/start\": {\n schema: MethodSchemas[\"sync/start\"],\n handler: \"SyncService.start\",\n surfaces: [\"cli\"],\n authRequired: true,\n },\n \"sync/queue\": {\n schema: MethodSchemas[\"sync/queue\"],\n handler: \"SyncService.queue\",\n surfaces: [\"cli\", \"mcp\"],\n authRequired: true,\n },\n // --- Learning namespace (additional) ---\n \"learning/queue\": {\n schema: MethodSchemas[\"learning/queue\"],\n handler: \"LearningService.queue\",\n surfaces: [\"mcp\", \"vscode\"],\n authRequired: true,\n },\n \"learning/queue-sync\": {\n schema: MethodSchemas[\"learning/queue-sync\"],\n handler: \"LearningService.queueSync\",\n surfaces: [\"mcp\"],\n authRequired: true,\n },\n \"learning/queue-sync-complete\": {\n schema: MethodSchemas[\"learning/queue-sync-complete\"],\n handler: \"LearningService.queueSyncComplete\",\n surfaces: [\"mcp\"],\n authRequired: true,\n },\n \"learning/evaluate\": {\n schema: MethodSchemas[\"learning/evaluate\"],\n handler: \"LearningService.evaluate\",\n surfaces: [\"cli\"],\n authRequired: false,\n },\n \"learning/update-session\": {\n schema: MethodSchemas[\"learning/update-session\"],\n handler: \"LearningService.updateSession\",\n surfaces: [\"vscode\", \"mcp\"],\n authRequired: true,\n },\n // --- Context namespace (additional) ---\n \"context/validate\": {\n schema: MethodSchemas[\"context/validate\"],\n handler: \"ContextService.validate\",\n surfaces: [\"vscode\", \"cli\", \"mcp\"],\n authRequired: false,\n },\n // --- Validation namespace (additional) ---\n \"validation/check-path\": {\n schema: MethodSchemas[\"validation/check-path\"],\n handler: \"ValidationService.checkPath\",\n surfaces: [\"vscode\", \"cli\", \"mcp\"],\n authRequired: false,\n },\n // --- MCP coordination namespace ---\n \"mcp/snapshot-created\": {\n schema: MethodSchemas[\"mcp/snapshot-created\"],\n handler: \"MCPCoordinationService.snapshotCreated\",\n surfaces: [\"mcp\"],\n authRequired: false,\n },\n // --- Intelligence namespace ---\n \"intelligence/capture\": {\n schema: MethodSchemas[\"intelligence/capture\"],\n handler: \"IntelligenceService.capture\",\n surfaces: [\"vscode\", \"mcp\"],\n authRequired: true,\n },\n \"intelligence/outcome\": {\n schema: MethodSchemas[\"intelligence/outcome\"],\n handler: \"IntelligenceService.outcome\",\n surfaces: [\"vscode\", \"mcp\"],\n authRequired: true,\n },\n \"intelligence/fragile-files\": {\n schema: MethodSchemas[\"intelligence/fragile-files\"],\n handler: \"IntelligenceService.fragileFiles\",\n surfaces: [\"vscode\", \"cli\", \"mcp\"],\n authRequired: false,\n },\n \"intelligence/co-changes\": {\n schema: MethodSchemas[\"intelligence/co-changes\"],\n handler: \"IntelligenceService.coChanges\",\n surfaces: [\"vscode\", \"cli\", \"mcp\"],\n authRequired: false,\n },\n \"intelligence/summary\": {\n schema: MethodSchemas[\"intelligence/summary\"],\n handler: \"IntelligenceService.summary\",\n surfaces: [\"vscode\", \"cli\", \"mcp\"],\n authRequired: false,\n },\n \"intelligence/warnings\": {\n schema: MethodSchemas[\"intelligence/warnings\"],\n handler: \"IntelligenceService.warnings\",\n surfaces: [\"vscode\", \"cli\", \"mcp\"],\n authRequired: false,\n },\n \"intelligence/health\": {\n schema: MethodSchemas[\"intelligence/health\"],\n handler: \"IntelligenceService.health\",\n surfaces: [\"vscode\", \"cli\", \"mcp\"],\n authRequired: false,\n },\n \"intelligence/recurrence-candidates\": {\n schema: MethodSchemas[\"intelligence/recurrence-candidates\"],\n handler: \"IntelligenceService.recurrenceCandidates\",\n surfaces: [\"vscode\", \"cli\", \"mcp\"],\n authRequired: false,\n },\n \"intelligence/decision-outcome\": {\n schema: MethodSchemas[\"intelligence/decision-outcome\"],\n handler: \"IntelligenceService.decisionOutcome\",\n surfaces: [\"vscode\", \"mcp\"],\n authRequired: true,\n },\n \"intelligence/prevention-metrics\": {\n schema: MethodSchemas[\"intelligence/prevention-metrics\"],\n handler: \"IntelligenceService.preventionMetrics\",\n surfaces: [\"vscode\", \"cli\"],\n authRequired: false,\n },\n \"intelligence/accuracy-metrics\": {\n schema: MethodSchemas[\"intelligence/accuracy-metrics\"],\n handler: \"IntelligenceService.accuracyMetrics\",\n surfaces: [\"vscode\", \"cli\"],\n authRequired: false,\n },\n \"intelligence/snapshot\": {\n schema: MethodSchemas[\"intelligence/snapshot\"],\n handler: \"IntelligenceProjectionAggregator.getSnapshot\",\n surfaces: [\"vscode\", \"cli\"],\n authRequired: false,\n },\n // Rules-file projection methods (Phase 2 - intelligence-projection-architecture)\n \"projections/rules-file/status\": {\n schema: MethodSchemas[\"projections/rules-file/status\"],\n handler: \"RulesFileProjector.status\",\n surfaces: [\"vscode\", \"cli\"],\n authRequired: false,\n },\n \"projections/rules-file/enable\": {\n schema: MethodSchemas[\"projections/rules-file/enable\"],\n handler: \"RulesFileProjector.enable\",\n surfaces: [\"vscode\", \"cli\"],\n authRequired: false,\n },\n \"projections/rules-file/disable\": {\n schema: MethodSchemas[\"projections/rules-file/disable\"],\n handler: \"RulesFileProjector.disable\",\n surfaces: [\"vscode\", \"cli\"],\n authRequired: false,\n },\n \"projections/rules-file/dry-run\": {\n schema: MethodSchemas[\"projections/rules-file/dry-run\"],\n handler: \"RulesFileProjector.dryRun\",\n surfaces: [\"vscode\", \"cli\"],\n authRequired: false,\n },\n \"intelligence/annotate\": {\n schema: MethodSchemas[\"intelligence/annotate\"],\n handler: \"WorkspaceManager.annotations.annotate\",\n surfaces: [\"vscode\", \"mcp\"],\n authRequired: true,\n },\n \"intelligence/rollback-patterns\": {\n schema: MethodSchemas[\"intelligence/rollback-patterns\"],\n handler: \"WorkspaceManager.rollbackAnalyzer.checkForWarning\",\n surfaces: [\"vscode\", \"mcp\"],\n authRequired: false,\n },\n \"intelligence/annotations-query\": {\n schema: MethodSchemas[\"intelligence/annotations-query\"],\n handler: \"WorkspaceManager.annotations.queryAnnotations\",\n surfaces: [\"vscode\", \"cli\"],\n authRequired: false,\n },\n \"intelligence/risk-calibration\": {\n schema: MethodSchemas[\"intelligence/risk-calibration\"],\n handler: \"WorkspaceManager.annotations.getRiskCalibration\",\n surfaces: [\"vscode\", \"cli\"],\n authRequired: false,\n },\n \"intelligence/ensureEmbeddingsReady\": {\n schema: MethodSchemas[\"intelligence/ensureEmbeddingsReady\"],\n handler: \"IntelligenceService.ensureEmbeddingsReady\",\n surfaces: [\"mcp\"],\n authRequired: false,\n },\n // --- Risk namespace ---\n \"risk/assess\": {\n schema: MethodSchemas[\"risk/assess\"],\n handler: \"WorkspaceManager.riskProvider.assess\",\n surfaces: [\"vscode\", \"mcp\"],\n authRequired: false,\n },\n \"risk/git-context\": {\n schema: MethodSchemas[\"risk/git-context\"],\n handler: \"WorkspaceManager.gitRisk.evaluate\",\n surfaces: [\"vscode\", \"mcp\"],\n authRequired: false,\n },\n \"risk/fatigue\": {\n schema: MethodSchemas[\"risk/fatigue\"],\n handler: \"WorkspaceManager.fatigue.assess\",\n surfaces: [\"vscode\", \"mcp\"],\n authRequired: false,\n },\n \"risk/poisoning-check\": {\n schema: MethodSchemas[\"risk/poisoning-check\"],\n handler: \"WorkspaceManager.poisoning.check\",\n surfaces: [\"vscode\", \"mcp\"],\n authRequired: false,\n },\n \"risk/poisoning-log-rejection\": {\n schema: MethodSchemas[\"risk/poisoning-log-rejection\"],\n handler: \"WorkspaceManager.poisoning.logRejection\",\n surfaces: [\"vscode\", \"mcp\"],\n authRequired: true,\n },\n \"risk/poisoning-stats\": {\n schema: MethodSchemas[\"risk/poisoning-stats\"],\n handler: \"WorkspaceManager.poisoning.getStats\",\n surfaces: [\"cli\"],\n authRequired: false,\n },\n \"risk/rollback-record\": {\n schema: MethodSchemas[\"risk/rollback-record\"],\n handler: \"WorkspaceManager.riskProvider.recordRollback\",\n surfaces: [\"vscode\", \"mcp\"],\n authRequired: true,\n },\n \"risk/rollback-warning\": {\n schema: MethodSchemas[\"risk/rollback-warning\"],\n handler: \"WorkspaceManager.rollbackAnalyzer.checkForWarning\",\n surfaces: [\"vscode\", \"mcp\"],\n authRequired: false,\n },\n \"risk/rollback-stats\": {\n schema: MethodSchemas[\"risk/rollback-stats\"],\n handler: \"WorkspaceManager.rollbackAnalyzer.getStats\",\n surfaces: [\"cli\"],\n authRequired: false,\n },\n // --- Memory hub namespace ---\n \"memory/store\": {\n schema: MethodSchemas[\"memory/store\"],\n handler: \"MemoryHubService.store\",\n surfaces: [\"vscode\", \"cli\", \"mcp\"],\n authRequired: true,\n },\n \"memory/retrieve\": {\n schema: MethodSchemas[\"memory/retrieve\"],\n handler: \"MemoryHubService.retrieve\",\n surfaces: [\"vscode\", \"cli\", \"mcp\"],\n authRequired: false,\n },\n \"memory/search\": {\n schema: MethodSchemas[\"memory/search\"],\n handler: \"MemoryHubService.search\",\n surfaces: [\"vscode\", \"cli\", \"mcp\"],\n authRequired: false,\n },\n \"memory/stats\": {\n schema: MethodSchemas[\"memory/stats\"],\n handler: \"MemoryHubService.stats\",\n surfaces: [\"cli\"],\n authRequired: false,\n },\n \"memory/compact\": {\n schema: MethodSchemas[\"memory/compact\"],\n handler: \"MemoryHubService.compact\",\n surfaces: [\"cli\"],\n authRequired: true,\n },\n // --- Task coordinator namespace ---\n \"task/start\": {\n schema: MethodSchemas[\"task/start\"],\n handler: \"TaskCoordinatorService.start\",\n surfaces: [\"vscode\", \"cli\", \"mcp\"],\n authRequired: true,\n },\n \"task/progress\": {\n schema: MethodSchemas[\"task/progress\"],\n handler: \"TaskCoordinatorService.progress\",\n surfaces: [\"vscode\", \"mcp\"],\n authRequired: true,\n },\n \"task/end\": {\n schema: MethodSchemas[\"task/end\"],\n handler: \"TaskCoordinatorService.end\",\n surfaces: [\"vscode\", \"cli\", \"mcp\"],\n authRequired: true,\n },\n \"task/status\": {\n schema: MethodSchemas[\"task/status\"],\n handler: \"TaskCoordinatorService.status\",\n surfaces: [\"vscode\", \"cli\"],\n authRequired: false,\n },\n \"task/context\": {\n schema: MethodSchemas[\"task/context\"],\n handler: \"TaskCoordinatorService.getContext\",\n surfaces: [\"vscode\", \"mcp\"],\n authRequired: false,\n },\n // --- Refactoring Intelligence namespace ---\n \"refactoring/assess\": {\n schema: MethodSchemas[\"refactoring/assess\"],\n handler: \"RefactoringService.assess\",\n surfaces: [\"vscode\", \"cli\"],\n authRequired: false,\n },\n \"refactoring/report\": {\n schema: MethodSchemas[\"refactoring/report\"],\n handler: \"RefactoringService.report\",\n surfaces: [\"vscode\", \"cli\"],\n authRequired: false,\n },\n \"refactoring/getTopRecommendations\": {\n schema: MethodSchemas[\"refactoring/getTopRecommendations\"],\n handler: \"RefactoringService.getTopRecommendations\",\n surfaces: [\"vscode\", \"cli\"],\n authRequired: false,\n },\n \"refactoring/getComponentAnalysis\": {\n schema: MethodSchemas[\"refactoring/getComponentAnalysis\"],\n handler: \"RefactoringService.getComponentAnalysis\",\n surfaces: [\"vscode\", \"cli\"],\n authRequired: false,\n },\n \"refactoring/setGate\": {\n schema: MethodSchemas[\"refactoring/setGate\"],\n handler: \"RefactoringService.setGate\",\n surfaces: [\"cli\"],\n authRequired: true,\n },\n \"refactoring/getGates\": {\n schema: MethodSchemas[\"refactoring/getGates\"],\n handler: \"RefactoringService.getGates\",\n surfaces: [\"vscode\", \"cli\"],\n authRequired: false,\n },\n \"refactoring/filterRecommendations\": {\n schema: MethodSchemas[\"refactoring/filterRecommendations\"],\n handler: \"RefactoringService.filterRecommendations\",\n surfaces: [\"vscode\", \"cli\"],\n authRequired: false,\n },\n \"refactoring/getStats\": {\n schema: MethodSchemas[\"refactoring/getStats\"],\n handler: \"RefactoringService.getStats\",\n surfaces: [\"vscode\", \"cli\"],\n authRequired: false,\n },\n // --- Digest namespace ---\n \"digest/compute\": {\n schema: MethodSchemas[\"digest/compute\"],\n handler: \"DigestService.compute\",\n surfaces: [\"vscode\", \"cli\"],\n authRequired: false,\n },\n \"digest/invalidate\": {\n schema: MethodSchemas[\"digest/invalidate\"],\n handler: \"DigestService.invalidate\",\n surfaces: [\"cli\"],\n authRequired: true,\n },\n \"digest/stats\": {\n schema: MethodSchemas[\"digest/stats\"],\n handler: \"DigestService.getCacheStats\",\n surfaces: [\"cli\"],\n authRequired: false,\n },\n // --- DORA metrics namespace ---\n \"dora/record-snapshot\": {\n schema: MethodSchemas[\"dora/record-snapshot\"],\n handler: \"DORAMetrics.recordSnapshot\",\n surfaces: [\"vscode\", \"mcp\"],\n authRequired: true,\n },\n \"dora/record-recovery\": {\n schema: MethodSchemas[\"dora/record-recovery\"],\n handler: \"DORAMetrics.recordRecovery\",\n surfaces: [\"vscode\", \"mcp\"],\n authRequired: true,\n },\n \"dora/get-metrics\": {\n schema: MethodSchemas[\"dora/get-metrics\"],\n handler: \"DORAMetrics.getMetrics\",\n surfaces: [\"vscode\", \"cli\"],\n authRequired: false,\n },\n \"dora/get-trends\": {\n schema: MethodSchemas[\"dora/get-trends\"],\n handler: \"DORAMetrics.getTrends\",\n surfaces: [\"vscode\", \"cli\"],\n authRequired: false,\n },\n // --- Baseline namespace (additional) ---\n \"baseline/update\": {\n schema: MethodSchemas[\"baseline/update\"],\n handler: \"BaselineService.update\",\n surfaces: [\"cli\"],\n authRequired: true,\n },\n // --- Workspace namespace ---\n \"workspace/analyze\": {\n schema: MethodSchemas[\"workspace/analyze\"],\n handler: \"WorkspaceService.analyze\",\n surfaces: [\"vscode\", \"cli\"],\n authRequired: false,\n },\n \"workspace/status\": {\n schema: MethodSchemas[\"workspace/status\"],\n handler: \"WorkspaceService.status\",\n surfaces: [\"vscode\", \"cli\"],\n authRequired: false,\n },\n \"workspace/seed-knowledge\": {\n schema: MethodSchemas[\"workspace/seed-knowledge\"],\n handler: \"WorkspaceService.seedKnowledge\",\n surfaces: [\"vscode\", \"cli\"],\n authRequired: true,\n },\n \"workspace/fingerprint\": {\n schema: MethodSchemas[\"workspace/fingerprint\"],\n handler: \"WorkspaceService.fingerprint\",\n surfaces: [\"vscode\", \"cli\"],\n authRequired: false,\n },\n \"workspace/hydrate\": {\n schema: MethodSchemas[\"workspace/hydrate\"],\n handler: \"WorkspaceService.hydrate\",\n surfaces: [\"vscode\", \"cli\"],\n authRequired: true,\n },\n \"workspace/resolve-id\": {\n schema: MethodSchemas[\"workspace/resolve-id\"],\n handler: \"WorkspaceService.resolveId\",\n surfaces: [\"vscode\"],\n authRequired: false,\n },\n \"workspace/init\": {\n schema: MethodSchemas[\"workspace/init\"],\n handler: \"WorkspaceService.init\",\n surfaces: [\"vscode\"],\n authRequired: true,\n },\n \"workspace/trigger-workspace-json-write\": {\n schema: MethodSchemas[\"workspace/trigger-workspace-json-write\"],\n handler: \"WorkspaceService.triggerWorkspaceJsonWrite\",\n surfaces: [\"vscode\"],\n authRequired: true,\n },\n \"workspace/write-from-scan-profile\": {\n schema: MethodSchemas[\"workspace/write-from-scan-profile\"],\n handler: \"WorkspaceService.writeFromScanProfile\",\n surfaces: [\"vscode\"],\n authRequired: true,\n },\n \"workspace/run-init-scan\": {\n schema: MethodSchemas[\"workspace/run-init-scan\"],\n handler: \"ScanService.runScan\",\n surfaces: [\"cli\"],\n authRequired: false,\n },\n // --- Daemon namespace (additional) ---\n \"daemon/reload\": {\n schema: MethodSchemas[\"daemon/reload\"],\n handler: \"LifecycleService.reload\",\n surfaces: [\"cli\"],\n authRequired: true,\n },\n // --- Supervisor namespace ---\n \"supervisor/register\": {\n schema: MethodSchemas[\"supervisor/register\"],\n handler: \"SupervisorService.register\",\n surfaces: [\"vscode\", \"cli\"],\n authRequired: true,\n },\n \"supervisor/heartbeat\": {\n schema: MethodSchemas[\"supervisor/heartbeat\"],\n handler: \"SupervisorService.heartbeat\",\n surfaces: [\"vscode\", \"cli\"],\n authRequired: false,\n },\n // --- System namespace ---\n \"system/health\": {\n schema: MethodSchemas[\"system/health\"],\n handler: \"SupervisorService.systemHealth\",\n surfaces: [\"vscode\", \"cli\"],\n authRequired: false,\n },\n // --- Momentum namespace ---\n \"momentum/refresh\": {\n schema: MethodSchemas[\"momentum/refresh\"],\n handler: \"MomentumService.refresh\",\n surfaces: [\"vscode\"],\n authRequired: true,\n },\n \"momentum/score\": {\n schema: MethodSchemas[\"momentum/score\"],\n handler: \"MomentumService.score\",\n surfaces: [\"vscode\", \"cli\"],\n authRequired: false,\n },\n \"momentum/sync\": {\n schema: MethodSchemas[\"momentum/sync\"],\n handler: \"MomentumService.sync\",\n surfaces: [\"vscode\"],\n authRequired: true,\n },\n \"momentum/status\": {\n schema: MethodSchemas[\"momentum/status\"],\n handler: \"MomentumService.status\",\n surfaces: [\"vscode\", \"cli\"],\n authRequired: false,\n },\n // --- Vitals namespace ---\n \"vitals/health\": {\n schema: MethodSchemas[\"vitals/health\"],\n handler: \"IntelligenceService.health\",\n surfaces: [\"vscode\"],\n authRequired: false,\n },\n \"vitals/warnings\": {\n schema: MethodSchemas[\"vitals/warnings\"],\n handler: \"IntelligenceService.warnings\",\n surfaces: [\"vscode\"],\n authRequired: false,\n },\n // --- Topology namespace ---\n \"topology/scan\": {\n schema: MethodSchemas[\"topology/scan\"],\n handler: \"TopologyService.scan\",\n surfaces: [\"vscode\", \"cli\", \"mcp\"],\n authRequired: true,\n },\n \"topology/status\": {\n schema: MethodSchemas[\"topology/status\"],\n handler: \"TopologyService.status\",\n surfaces: [\"vscode\", \"cli\", \"mcp\"],\n authRequired: false,\n },\n \"topology/query\": {\n schema: MethodSchemas[\"topology/query\"],\n handler: \"TopologyService.query\",\n surfaces: [\"vscode\", \"cli\", \"mcp\"],\n authRequired: false,\n },\n \"topology/blast-radius\": {\n schema: MethodSchemas[\"topology/blast-radius\"],\n handler: \"TopologyService.getBlastRadius\",\n surfaces: [\"vscode\", \"mcp\"],\n authRequired: false,\n },\n // --- Provenance namespace ---\n \"provenance/query\": {\n schema: MethodSchemas[\"provenance/query\"],\n handler: \"SessionService.current\",\n surfaces: [\"vscode\", \"mcp\"],\n authRequired: false,\n },\n // --- Knowledge namespace ---\n \"knowledge/ingest\": {\n schema: MethodSchemas[\"knowledge/ingest\"],\n handler: \"IntelligenceService.ingestKnowledge\",\n surfaces: [\"mcp\"],\n authRequired: true,\n },\n // W1A: phantom methods added to METHOD_REGISTRY (were in MethodSchemas but unreachable)\n \"session/end\": {\n schema: SessionEndSchema,\n handler: \"SessionService.end\",\n surfaces: [\"vscode\", \"cli\", \"mcp\"],\n authRequired: true,\n },\n \"session/list\": {\n schema: SessionListSchema,\n handler: \"SessionService.list\",\n surfaces: [\"vscode\", \"cli\"],\n authRequired: false,\n },\n \"session/vitals\": {\n schema: SessionVitalsSchema,\n handler: \"SessionService.vitals\",\n surfaces: [\"vscode\", \"cli\", \"mcp\"],\n authRequired: false,\n },\n \"session/review\": {\n schema: SessionReviewSchema,\n handler: \"SessionService.review\",\n surfaces: [\"vscode\", \"cli\", \"mcp\"],\n authRequired: false,\n },\n \"snapshot/get\": {\n schema: SnapshotGetSchema,\n handler: \"SnapshotService.get\",\n surfaces: [\"vscode\", \"cli\"],\n authRequired: false,\n },\n \"snapshot/diff\": {\n schema: SnapshotDiffSchema,\n handler: \"SnapshotService.diff\",\n surfaces: [\"vscode\", \"cli\"],\n authRequired: false,\n },\n \"protection/evaluate\": {\n schema: ProtectionEvaluateSchema,\n handler: \"ProtectionService.evaluate\",\n surfaces: [\"vscode\"],\n authRequired: false,\n },\n \"detection/check\": {\n schema: DetectionCheckSchema,\n handler: \"DetectionService.check\",\n surfaces: [\"vscode\"],\n authRequired: false,\n },\n // Phantom methods resolved - Phase 1\n // session/report-ai-tool: handler at protocol.ts:612, callers in vscode/DaemonOperations.ts\n \"session/report-ai-tool\": {\n schema: MethodSchemas[\"session/report-ai-tool\"],\n handler: \"SessionService.reportAiTool\",\n surfaces: [\"vscode\"],\n authRequired: false,\n },\n // intelligence/indexPatterns: handler at protocol.ts:886, callers in mcp/daemon/intelligence-adapter.ts\n \"intelligence/indexPatterns\": {\n schema: MethodSchemas[\"intelligence/indexPatterns\"],\n handler: \"IntelligenceService.indexPatterns\",\n surfaces: [\"mcp\"],\n authRequired: false,\n },\n // workspace/state, workspace/transition, workspace/should-scan:\n // C2 activation lifecycle handlers, no external callers (orphan → registered per Phase 1)\n \"workspace/state\": {\n schema: MethodSchemas[\"workspace/state\"],\n handler: \"WorkspaceService.getState\",\n surfaces: [],\n authRequired: false,\n },\n \"workspace/transition\": {\n schema: MethodSchemas[\"workspace/transition\"],\n handler: \"WorkspaceService.transition\",\n surfaces: [],\n authRequired: false,\n },\n \"workspace/should-scan\": {\n schema: MethodSchemas[\"workspace/should-scan\"],\n handler: \"WorkspaceService.shouldScan\",\n surfaces: [],\n authRequired: false,\n },\n // WAL Ledger (WAL-01, WAL-04)\n \"ledger/append\": {\n schema: MethodSchemas[\"ledger/append\"],\n handler: \"WorkspaceWal.append\",\n surfaces: [\"vscode\", \"cli\", \"mcp\"],\n authRequired: false,\n },\n \"ledger/recover\": {\n schema: MethodSchemas[\"ledger/recover\"],\n handler: \"WorkspaceWal.recover\",\n surfaces: [\"vscode\", \"cli\", \"mcp\"],\n authRequired: false,\n },\n \"session/reconcile\": {\n schema: MethodSchemas[\"session/reconcile\"],\n handler: \"SessionService.reconcile\",\n surfaces: [\"vscode\", \"cli\", \"mcp\"],\n authRequired: false,\n },\n};\n// ============================================================================\n// Runtime Validation\n// ============================================================================\nexport function isRegisteredMethod(method) {\n return method in METHOD_REGISTRY;\n}\nexport function validateMethodParams(method, params) {\n const schema = METHOD_REGISTRY[method].schema;\n return schema.parse(params);\n}\nexport function getMethodDefinition(method) {\n return METHOD_REGISTRY[method];\n}\n/**\n * Type-safe RPC method call helper\n * Validates method is registered and params match schema at compile time\n */\nexport function callMethod(method, params) {\n // Runtime validation\n if (!isRegisteredMethod(method)) {\n return {\n success: false,\n error: `Unregistered method: ${method}`,\n };\n }\n try {\n // Validate params against schema\n const validated = validateMethodParams(method, params);\n return {\n success: true,\n data: validated,\n };\n }\n catch (error) {\n return {\n success: false,\n error: error instanceof Error ? error.message : String(error),\n };\n }\n}\n/**\n * Async version for actual RPC calls\n * Use this when making actual network/daemon calls\n */\nexport async function callMethodAsync(client, method, params) {\n if (!isRegisteredMethod(method)) {\n throw new Error(`Unregistered method: ${method}`);\n }\n // Validate before sending\n validateMethodParams(method, params);\n // Make the actual call\n return client.call(method, params);\n}\n// ============================================================================\n// Legacy Method Name Normalization\n// ============================================================================\n/**\n * Normalize a method name to its canonical form\n * - If already registered: return as-is\n * - If in legacy alias map: log warning and return canonical name\n * - Otherwise: throw error\n */\nexport function normalizeMethod(method, warn) {\n // Already canonical\n if (isRegisteredMethod(method)) {\n return method;\n }\n // Legacy alias\n if (method in LEGACY_ALIAS_MAP) {\n const canonical = LEGACY_ALIAS_MAP[method];\n if (warn) {\n warn(`Deprecated method name: ${method}, use ${canonical}`);\n }\n return canonical;\n }\n throw new Error(`Unknown method: ${method}`);\n}\n"]}
|