tellaro-query-language 0.2.10__tar.gz → 0.2.12__tar.gz

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.
Files changed (58) hide show
  1. {tellaro_query_language-0.2.10 → tellaro_query_language-0.2.12}/PKG-INFO +1 -1
  2. {tellaro_query_language-0.2.10 → tellaro_query_language-0.2.12}/pyproject.toml +1 -1
  3. {tellaro_query_language-0.2.10 → tellaro_query_language-0.2.12}/src/tql/post_processor.py +13 -4
  4. {tellaro_query_language-0.2.10 → tellaro_query_language-0.2.12}/LICENSE +0 -0
  5. {tellaro_query_language-0.2.10 → tellaro_query_language-0.2.12}/README.md +0 -0
  6. {tellaro_query_language-0.2.10 → tellaro_query_language-0.2.12}/src/tql/__init__.py +0 -0
  7. {tellaro_query_language-0.2.10 → tellaro_query_language-0.2.12}/src/tql/analyzer.py +0 -0
  8. {tellaro_query_language-0.2.10 → tellaro_query_language-0.2.12}/src/tql/cache/__init__.py +0 -0
  9. {tellaro_query_language-0.2.10 → tellaro_query_language-0.2.12}/src/tql/cache/base.py +0 -0
  10. {tellaro_query_language-0.2.10 → tellaro_query_language-0.2.12}/src/tql/cache/memory.py +0 -0
  11. {tellaro_query_language-0.2.10 → tellaro_query_language-0.2.12}/src/tql/cache/redis.py +0 -0
  12. {tellaro_query_language-0.2.10 → tellaro_query_language-0.2.12}/src/tql/cli.py +0 -0
  13. {tellaro_query_language-0.2.10 → tellaro_query_language-0.2.12}/src/tql/core.py +0 -0
  14. {tellaro_query_language-0.2.10 → tellaro_query_language-0.2.12}/src/tql/core_components/README.md +0 -0
  15. {tellaro_query_language-0.2.10 → tellaro_query_language-0.2.12}/src/tql/core_components/__init__.py +0 -0
  16. {tellaro_query_language-0.2.10 → tellaro_query_language-0.2.12}/src/tql/core_components/file_operations.py +0 -0
  17. {tellaro_query_language-0.2.10 → tellaro_query_language-0.2.12}/src/tql/core_components/opensearch_operations.py +0 -0
  18. {tellaro_query_language-0.2.10 → tellaro_query_language-0.2.12}/src/tql/core_components/stats_operations.py +0 -0
  19. {tellaro_query_language-0.2.10 → tellaro_query_language-0.2.12}/src/tql/core_components/validation_operations.py +0 -0
  20. {tellaro_query_language-0.2.10 → tellaro_query_language-0.2.12}/src/tql/evaluator.py +0 -0
  21. {tellaro_query_language-0.2.10 → tellaro_query_language-0.2.12}/src/tql/evaluator_components/README.md +0 -0
  22. {tellaro_query_language-0.2.10 → tellaro_query_language-0.2.12}/src/tql/evaluator_components/__init__.py +0 -0
  23. {tellaro_query_language-0.2.10 → tellaro_query_language-0.2.12}/src/tql/evaluator_components/field_access.py +0 -0
  24. {tellaro_query_language-0.2.10 → tellaro_query_language-0.2.12}/src/tql/evaluator_components/special_expressions.py +0 -0
  25. {tellaro_query_language-0.2.10 → tellaro_query_language-0.2.12}/src/tql/evaluator_components/value_comparison.py +0 -0
  26. {tellaro_query_language-0.2.10 → tellaro_query_language-0.2.12}/src/tql/exceptions.py +0 -0
  27. {tellaro_query_language-0.2.10 → tellaro_query_language-0.2.12}/src/tql/field_type_inference.py +0 -0
  28. {tellaro_query_language-0.2.10 → tellaro_query_language-0.2.12}/src/tql/geoip_normalizer.py +0 -0
  29. {tellaro_query_language-0.2.10 → tellaro_query_language-0.2.12}/src/tql/mutator_analyzer.py +0 -0
  30. {tellaro_query_language-0.2.10 → tellaro_query_language-0.2.12}/src/tql/mutators/__init__.py +0 -0
  31. {tellaro_query_language-0.2.10 → tellaro_query_language-0.2.12}/src/tql/mutators/base.py +0 -0
  32. {tellaro_query_language-0.2.10 → tellaro_query_language-0.2.12}/src/tql/mutators/dns.py +0 -0
  33. {tellaro_query_language-0.2.10 → tellaro_query_language-0.2.12}/src/tql/mutators/encoding.py +0 -0
  34. {tellaro_query_language-0.2.10 → tellaro_query_language-0.2.12}/src/tql/mutators/geo.py +0 -0
  35. {tellaro_query_language-0.2.10 → tellaro_query_language-0.2.12}/src/tql/mutators/list.py +0 -0
  36. {tellaro_query_language-0.2.10 → tellaro_query_language-0.2.12}/src/tql/mutators/network.py +0 -0
  37. {tellaro_query_language-0.2.10 → tellaro_query_language-0.2.12}/src/tql/mutators/security.py +0 -0
  38. {tellaro_query_language-0.2.10 → tellaro_query_language-0.2.12}/src/tql/mutators/string.py +0 -0
  39. {tellaro_query_language-0.2.10 → tellaro_query_language-0.2.12}/src/tql/opensearch.py +0 -0
  40. {tellaro_query_language-0.2.10 → tellaro_query_language-0.2.12}/src/tql/opensearch_components/README.md +0 -0
  41. {tellaro_query_language-0.2.10 → tellaro_query_language-0.2.12}/src/tql/opensearch_components/__init__.py +0 -0
  42. {tellaro_query_language-0.2.10 → tellaro_query_language-0.2.12}/src/tql/opensearch_components/field_mapping.py +0 -0
  43. {tellaro_query_language-0.2.10 → tellaro_query_language-0.2.12}/src/tql/opensearch_components/lucene_converter.py +0 -0
  44. {tellaro_query_language-0.2.10 → tellaro_query_language-0.2.12}/src/tql/opensearch_components/query_converter.py +0 -0
  45. {tellaro_query_language-0.2.10 → tellaro_query_language-0.2.12}/src/tql/opensearch_mappings.py +0 -0
  46. {tellaro_query_language-0.2.10 → tellaro_query_language-0.2.12}/src/tql/opensearch_stats.py +0 -0
  47. {tellaro_query_language-0.2.10 → tellaro_query_language-0.2.12}/src/tql/parser.py +0 -0
  48. {tellaro_query_language-0.2.10 → tellaro_query_language-0.2.12}/src/tql/parser_components/README.md +0 -0
  49. {tellaro_query_language-0.2.10 → tellaro_query_language-0.2.12}/src/tql/parser_components/__init__.py +0 -0
  50. {tellaro_query_language-0.2.10 → tellaro_query_language-0.2.12}/src/tql/parser_components/ast_builder.py +0 -0
  51. {tellaro_query_language-0.2.10 → tellaro_query_language-0.2.12}/src/tql/parser_components/error_analyzer.py +0 -0
  52. {tellaro_query_language-0.2.10 → tellaro_query_language-0.2.12}/src/tql/parser_components/field_extractor.py +0 -0
  53. {tellaro_query_language-0.2.10 → tellaro_query_language-0.2.12}/src/tql/parser_components/grammar.py +0 -0
  54. {tellaro_query_language-0.2.10 → tellaro_query_language-0.2.12}/src/tql/scripts.py +0 -0
  55. {tellaro_query_language-0.2.10 → tellaro_query_language-0.2.12}/src/tql/stats_evaluator.py +0 -0
  56. {tellaro_query_language-0.2.10 → tellaro_query_language-0.2.12}/src/tql/stats_transformer.py +0 -0
  57. {tellaro_query_language-0.2.10 → tellaro_query_language-0.2.12}/src/tql/streaming_file_processor.py +0 -0
  58. {tellaro_query_language-0.2.10 → tellaro_query_language-0.2.12}/src/tql/validators.py +0 -0
@@ -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
@@ -1,6 +1,6 @@
1
1
  [tool.poetry]
2
2
  name = "tellaro-query-language"
3
- version = "0.2.10"
3
+ version = "0.2.12"
4
4
  description = "A flexible, human-friendly query language for searching and filtering structured data"
5
5
  authors = ["Justin Henderson <justin@tellaro.io>"]
6
6
  license = "Proprietary"
@@ -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: