Skip to content

DLP: nested helper schemas still reject null from live API (v0.9.1 follow-up) #160

Description

@cdot65

Problem

v0.9.1 (#158) widened top-level Response fields to `.nullish()` but missed nested helpers. Re-running prisma-airs-cli PR #78 DLP list commands against live `api.dlp.paloaltonetworks.com` shows 2 of 4 list commands still fail Zod:

  • `data-patterns list` — `DataPatternMatchingRulesSchema` rejects null on nested rule fields
  • `data-profiles list` — `ExpressionTreeNodeSchema` (recursive) rejects null on `operator_type` / `rule_item` / `sub_expressions`

Scope

Defensive sweep across all dlp-*.ts nested helpers; widen `.optional()` → `.nullish()`:

  • `dlp-data-pattern.ts`: `DataPatternMatchingRules`, `MetadataCriterion`, `DataPatternDetectionConfig.supported_confidence_levels`, `DataPatternTags`
  • `dlp-data-profile.ts`: `ExpressionTreeNode` (recursive), `DetectionRuleItem` (23 fields), `MultiProfileDataNode`, both `DetectionRule` variants. Widen `ExpressionTreeNode` TS interface to allow null.
  • `dlp-data-filtering-profile.ts`: 8 exclusion / exception / rule helpers
  • `dlp-dictionary.ts`: `DictionaryMetaDataDTO`, `DictionaryTags`, `ResourceModelExtension`

Acceptance

  • All 4 DLP list commands pass Zod against live tenant
  • 1255+ tests pass
  • Hotfix released as v0.9.2 patch

Metadata

Metadata

Assignees

No one assigned

    Labels

    bugSomething isn't working

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions