tellaro-query-language 0.2.10__py3-none-any.whl → 0.2.12__py3-none-any.whl

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.
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: tellaro-query-language
3
- Version: 0.2.10
3
+ Version: 0.2.12
4
4
  Summary: A flexible, human-friendly query language for searching and filtering structured data
5
5
  License: Proprietary
6
6
  License-File: LICENSE
@@ -46,14 +46,14 @@ tql/parser_components/ast_builder.py,sha256=erHoeKAMzobswoRIXB9xcsZbzQ5-2ZwaYfQg
46
46
  tql/parser_components/error_analyzer.py,sha256=qlCD9vKyW73aeKQYI33P1OjIWSJ3LPd08wuN9cis2fU,4012
47
47
  tql/parser_components/field_extractor.py,sha256=eUEkmiYWX2OexanFqhHeX8hcIkRlfIcgMB667e0HRYs,4629
48
48
  tql/parser_components/grammar.py,sha256=vEPiYOMMk-a6Xzz0y6kjRzyq4slwBG5T9YDeBg1txAk,21460
49
- tql/post_processor.py,sha256=5w_rP0V-t3AC7iAFLnlDxUtawcDFovbhbRsoZxt9yP4,51787
49
+ tql/post_processor.py,sha256=lv3dLMyXCfi-_PN6WXgtdrpzu2P8Ul6n_Iy5d-v8TeQ,52383
50
50
  tql/scripts.py,sha256=DUY0H5IoGs_CNdG_oxITvLiCNVsogb2RJqUs2xXOs24,4319
51
51
  tql/stats_evaluator.py,sha256=2qnjeH5Qx14qpHDS_YJn9jRPeoPUfkeiYJabBagdfRs,36126
52
52
  tql/stats_transformer.py,sha256=MT-4rDWZSySgn4Fuq9H0c-mvwFYLM6FqWpPv2rHX-rE,7588
53
53
  tql/streaming_file_processor.py,sha256=cftWhYcvUo984P3ALf2CO3FoCQPJPe_2s2HLcXTp5UQ,12437
54
54
  tql/validators.py,sha256=e9MlX-zQ_O3M8YP8vXyMjKU8iiJMTh6mMK0iv0_4gTY,3771
55
- tellaro_query_language-0.2.10.dist-info/METADATA,sha256=4hZ9XRUa0FjMZi6URvcfy5Iapazvj8Mn17o-q-UspM4,21892
56
- tellaro_query_language-0.2.10.dist-info/WHEEL,sha256=3ny-bZhpXrU6vSQ1UPG34FoxZBp3lVcvK0LkgUz6VLk,88
57
- tellaro_query_language-0.2.10.dist-info/entry_points.txt,sha256=D0lbIGUYuDyfcYeqju1rWcMBFzft4sZtfIlw5uPNx5g,181
58
- tellaro_query_language-0.2.10.dist-info/licenses/LICENSE,sha256=eWf8lkuXlVX_8WiDpUgQvzxc1cxCeVne_e6P-pVJpwM,3038
59
- tellaro_query_language-0.2.10.dist-info/RECORD,,
55
+ tellaro_query_language-0.2.12.dist-info/METADATA,sha256=RoDiW3dCxiaoBu39n0Xp9oBH3NWez8nZDjpL9gVhCNY,21892
56
+ tellaro_query_language-0.2.12.dist-info/WHEEL,sha256=3ny-bZhpXrU6vSQ1UPG34FoxZBp3lVcvK0LkgUz6VLk,88
57
+ tellaro_query_language-0.2.12.dist-info/entry_points.txt,sha256=D0lbIGUYuDyfcYeqju1rWcMBFzft4sZtfIlw5uPNx5g,181
58
+ tellaro_query_language-0.2.12.dist-info/licenses/LICENSE,sha256=eWf8lkuXlVX_8WiDpUgQvzxc1cxCeVne_e6P-pVJpwM,3038
59
+ tellaro_query_language-0.2.12.dist-info/RECORD,,
tql/post_processor.py CHANGED
@@ -701,19 +701,24 @@ class QueryPostProcessor:
701
701
  # Check if this is an enrichment mutator first
702
702
  from .mutators import ENRICHMENT_MUTATORS
703
703
 
704
- # Check if we have geo/geoip_lookup enrichment mutator
704
+ # Check if we have geo/geoip_lookup or nslookup enrichment mutator
705
705
  is_geo_enrichment = False
706
+ is_nslookup_enrichment = False
706
707
  for mutator in requirement.mutators:
707
708
  mutator_name = mutator.get("name", "").lower()
708
709
  if mutator_name in ["geo", "geoip_lookup"]:
709
710
  is_geo_enrichment = True
710
- break
711
+ elif mutator_name == "nslookup":
712
+ is_nslookup_enrichment = True
713
+
714
+ # Skip field transformation for enrichment mutators (they add data, not transform)
715
+ is_any_enrichment = is_geo_enrichment or is_nslookup_enrichment
711
716
 
712
- if should_transform_output and not is_geo_enrichment:
717
+ if should_transform_output and not is_any_enrichment:
713
718
  # Update the result with the mutated value
714
719
  # Use the original field name for the output
715
720
  self._set_field_value(result, requirement.field_name, mutated_value)
716
- elif not is_geo_enrichment:
721
+ elif not is_any_enrichment:
717
722
  # For type-changing mutators with filtering operations, store in temp field
718
723
  temp_field_name = self._get_mutated_field_name(requirement.field_name)
719
724
  self._set_field_value(result, temp_field_name, mutated_value)
@@ -750,6 +755,10 @@ class QueryPostProcessor:
750
755
  if "as" in mutated_value:
751
756
  result["enrichment"]["as"] = mutated_value["as"]
752
757
 
758
+ # Handle nslookup enrichment - the mutator already adds domain/dns via append_to_result
759
+ # We just need to ensure the original field value is preserved (don't overwrite)
760
+ # The nslookup mutator's apply() method handles enrichment storage via append_to_result()
761
+
753
762
  return enrichment_mutator_found
754
763
 
755
764
  except Exception: