{"record":{"id":"13201b39c39c9beb","repo":"mastra-ai/mastra","slug":"observability-storage-get-tags-not-implemented","errorCode":"OBSERVABILITY_STORAGE_GET_TAGS_NOT_IMPLEMENTED","errorMessage":"This storage provider does not support tag discovery","messagePattern":"This storage provider does not support tag discovery","errorType":"error_code","errorClass":"MastraError","httpStatus":null,"severity":"warning","filePath":"packages/core/src/storage/domains/observability/base.ts","lineNumber":553,"sourceCode":"    throw new MastraError({\n      id: 'OBSERVABILITY_STORAGE_GET_SERVICE_NAMES_NOT_IMPLEMENTED',\n      domain: ErrorDomain.MASTRA_OBSERVABILITY,\n      category: ErrorCategory.SYSTEM,\n      text: 'This storage provider does not support service name discovery',\n    });\n  }\n\n  async getEnvironments(_args: GetEnvironmentsArgs): Promise<GetEnvironmentsResponse> {\n    throw new MastraError({\n      id: 'OBSERVABILITY_STORAGE_GET_ENVIRONMENTS_NOT_IMPLEMENTED',\n      domain: ErrorDomain.MASTRA_OBSERVABILITY,\n      category: ErrorCategory.SYSTEM,\n      text: 'This storage provider does not support environment discovery',\n    });\n  }\n\n  async getTags(_args: GetTagsArgs): Promise<GetTagsResponse> {\n    throw new MastraError({\n      id: 'OBSERVABILITY_STORAGE_GET_TAGS_NOT_IMPLEMENTED',\n      domain: ErrorDomain.MASTRA_OBSERVABILITY,\n      category: ErrorCategory.SYSTEM,\n      text: 'This storage provider does not support tag discovery',\n    });\n  }\n\n  // ============================================================================\n  // Scores\n  // ============================================================================\n\n  /**\n   * Creates a single score record.\n   */\n  async createScore(_args: CreateScoreArgs): Promise<void> {\n    throw new MastraError({\n      id: 'OBSERVABILITY_STORAGE_CREATE_SCORE_NOT_IMPLEMENTED',\n      domain: ErrorDomain.MASTRA_OBSERVABILITY,","sourceCodeStart":535,"sourceCodeEnd":571,"githubUrl":"https://github.com/mastra-ai/mastra/blob/75dd419e613fe9c39f846ffc500716141b74fda6/packages/core/src/storage/domains/observability/base.ts#L535-L571","documentation":"MastraError OBSERVABILITY_STORAGE_GET_TAGS_NOT_IMPLEMENTED. The base getTags method in the observability storage domain always throws, meaning tag discovery is optional and unimplemented in the configured provider. Callers should treat it as 'this backend cannot enumerate tags'.","triggerScenarios":"Calling getTags(args) on a storage instance that relies on the base class default.","commonSituations":"Tag filter UIs against minimal storage adapters; custom providers missing the newer discovery methods; swapping backends (e.g. from a full Postgres observability store to a lightweight one) without updating feature expectations.","solutions":["Use a storage provider that implements tag discovery","Override getTags in your storage class to return persisted tags","Catch and degrade (empty tags, hide filter) when the backend lacks support"],"exampleFix":"// before\nconst tags = await storage.getTags({});\n// after\nlet tags = [];\ntry {\n  tags = (await storage.getTags({})).tags ?? [];\n} catch (e) {\n  if (e.id !== 'OBSERVABILITY_STORAGE_GET_TAGS_NOT_IMPLEMENTED') throw e;\n}","handlingStrategy":"fallback","validationCode":"async function supportsTags(storage) {\n  try { await storage.getTags({}); return true; }\n  catch (e) { return e?.id === 'OBSERVABILITY_STORAGE_GET_TAGS_NOT_IMPLEMENTED' ? false : true; }\n}","typeGuard":"function isNotImplementedError(e: unknown): e is MastraError {\n  return e instanceof MastraError && e.id === 'OBSERVABILITY_STORAGE_GET_TAGS_NOT_IMPLEMENTED';\n}","tryCatchPattern":"try {\n  const res = await storage.getTags(args);\n} catch (e) {\n  if (isNotImplementedError(e)) return { tags: [] };\n  throw e;\n}","preventionTips":["Check tag discovery support before enabling tag-based filtering in UIs","Hide or disable tag features when the capability probe fails","Keep storage adapter implementations current with the MastraStorage interface","Write CI tests covering every storage method your app calls"],"tags":["storage","observability","not-implemented","telemetry"],"backgroundTag":"storage-method-not-implemented","analyzedSha":"75dd419e613fe9c39f846ffc500716141b74fda6","analyzedAt":"2026-08-30T00:15:31.844Z","schemaVersion":2},"datasetVersion":"2026-08-30T03:17:51.788Z"}