{"record":{"id":"1d475120421c0cc1","repo":"earendil-works/pi","slug":"deprecation-warning-message","errorCode":null,"errorMessage":"Deprecation warning: ${message}","messagePattern":"Deprecation warning: (.+?)","errorType":"console","errorClass":null,"httpStatus":null,"severity":"error","filePath":"packages/coding-agent/src/utils/deprecation.ts","lineNumber":8,"sourceCode":"import chalk from \"chalk\";\n\nconst emittedDeprecationWarnings = new Set<string>();\n\nexport function warnDeprecation(message: string): void {\n\tif (emittedDeprecationWarnings.has(message)) return;\n\temittedDeprecationWarnings.add(message);\n\tconsole.warn(chalk.yellow(`Deprecation warning: ${message}`));\n}\n\n/** Clear deprecation warning state. Exported for tests. */\nexport function clearDeprecationWarningsForTests(): void {\n\temittedDeprecationWarnings.clear();\n}\n","sourceCodeStart":1,"sourceCodeEnd":15,"githubUrl":"https://github.com/earendil-works/pi/blob/4af9d21d3b4d664e4a29fcabfec85171077248e3/packages/coding-agent/src/utils/deprecation.ts#L1-L15","documentation":"Not an exception: the deprecation-warning format used by warnDeprecation, which prints a yellow-highlighted warning to stderr once per unique message (tracked in a module-level set to avoid spam). It signals the calling code path is deprecated and should be migrated; execution continues normally afterwards.","triggerScenarios":"Thrown at packages/coding-agent/src/utils/deprecation.ts:8 when the library encounters an invalid state.","commonSituations":"See trigger scenarios.","solutions":["A deprecated feature is in use; migrate as the warning message indicates."],"exampleFix":null,"handlingStrategy":"fallback","validationCode":null,"typeGuard":null,"tryCatchPattern":null,"preventionTips":[],"tags":[],"backgroundTag":null,"analyzedSha":"4af9d21d3b4d664e4a29fcabfec85171077248e3","analyzedAt":"2026-08-24T13:07:14.692Z","contentChangedAt":null,"schemaVersion":2},"datasetVersion":"2026-09-23T08:17:48.524Z"}