synapse 2.173.1__tar.gz → 2.174.0__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.

Potentially problematic release.


This version of synapse might be problematic. Click here for more details.

Files changed (581) hide show
  1. {synapse-2.173.1/synapse.egg-info → synapse-2.174.0}/PKG-INFO +1 -1
  2. {synapse-2.173.1 → synapse-2.174.0}/pyproject.toml +1 -1
  3. {synapse-2.173.1 → synapse-2.174.0}/synapse/axon.py +1 -1
  4. {synapse-2.173.1 → synapse-2.174.0}/synapse/common.py +19 -5
  5. {synapse-2.173.1 → synapse-2.174.0}/synapse/cortex.py +46 -10
  6. {synapse-2.173.1 → synapse-2.174.0}/synapse/lib/agenda.py +6 -0
  7. {synapse-2.173.1 → synapse-2.174.0}/synapse/lib/ast.py +1 -1
  8. {synapse-2.173.1 → synapse-2.174.0}/synapse/lib/lmdbslab.py +11 -1
  9. {synapse-2.173.1 → synapse-2.174.0}/synapse/lib/modelrev.py +17 -1
  10. {synapse-2.173.1 → synapse-2.174.0}/synapse/lib/modules.py +1 -0
  11. {synapse-2.173.1 → synapse-2.174.0}/synapse/lib/msgpack.py +25 -3
  12. {synapse-2.173.1 → synapse-2.174.0}/synapse/lib/nexus.py +26 -22
  13. {synapse-2.173.1 → synapse-2.174.0}/synapse/lib/schemas.py +31 -0
  14. {synapse-2.173.1 → synapse-2.174.0}/synapse/lib/stormsvc.py +30 -11
  15. {synapse-2.173.1 → synapse-2.174.0}/synapse/lib/stormtypes.py +23 -9
  16. {synapse-2.173.1 → synapse-2.174.0}/synapse/lib/trigger.py +0 -4
  17. {synapse-2.173.1 → synapse-2.174.0}/synapse/lib/version.py +2 -2
  18. {synapse-2.173.1 → synapse-2.174.0}/synapse/lib/view.py +2 -0
  19. {synapse-2.173.1 → synapse-2.174.0}/synapse/models/crypto.py +22 -0
  20. {synapse-2.173.1 → synapse-2.174.0}/synapse/models/economic.py +23 -2
  21. synapse-2.174.0/synapse/models/entity.py +16 -0
  22. {synapse-2.173.1 → synapse-2.174.0}/synapse/models/files.py +4 -1
  23. {synapse-2.173.1 → synapse-2.174.0}/synapse/models/geopol.py +3 -0
  24. {synapse-2.173.1 → synapse-2.174.0}/synapse/models/orgs.py +3 -4
  25. {synapse-2.173.1 → synapse-2.174.0}/synapse/tests/test_cortex.py +13 -0
  26. {synapse-2.173.1 → synapse-2.174.0}/synapse/tests/test_lib_agenda.py +129 -1
  27. {synapse-2.173.1 → synapse-2.174.0}/synapse/tests/test_lib_ast.py +21 -0
  28. {synapse-2.173.1 → synapse-2.174.0}/synapse/tests/test_lib_grammar.py +4 -0
  29. {synapse-2.173.1 → synapse-2.174.0}/synapse/tests/test_lib_httpapi.py +1 -0
  30. {synapse-2.173.1 → synapse-2.174.0}/synapse/tests/test_lib_lmdbslab.py +16 -1
  31. {synapse-2.173.1 → synapse-2.174.0}/synapse/tests/test_lib_modelrev.py +57 -0
  32. {synapse-2.173.1 → synapse-2.174.0}/synapse/tests/test_lib_msgpack.py +58 -8
  33. {synapse-2.173.1 → synapse-2.174.0}/synapse/tests/test_lib_nexus.py +44 -1
  34. {synapse-2.173.1 → synapse-2.174.0}/synapse/tests/test_lib_storm.py +7 -7
  35. {synapse-2.173.1 → synapse-2.174.0}/synapse/tests/test_lib_stormsvc.py +128 -51
  36. {synapse-2.173.1 → synapse-2.174.0}/synapse/tests/test_lib_stormtypes.py +43 -4
  37. {synapse-2.173.1 → synapse-2.174.0}/synapse/tests/test_lib_trigger.py +23 -4
  38. {synapse-2.173.1 → synapse-2.174.0}/synapse/tests/test_model_crypto.py +6 -0
  39. {synapse-2.173.1 → synapse-2.174.0}/synapse/tests/test_model_economic.py +14 -1
  40. {synapse-2.173.1 → synapse-2.174.0}/synapse/tests/test_model_geopol.py +3 -0
  41. synapse-2.174.0/synapse/tools/changelog.py +236 -0
  42. {synapse-2.173.1 → synapse-2.174.0/synapse.egg-info}/PKG-INFO +1 -1
  43. {synapse-2.173.1 → synapse-2.174.0}/synapse.egg-info/SOURCES.txt +2 -0
  44. {synapse-2.173.1 → synapse-2.174.0}/LICENSE +0 -0
  45. {synapse-2.173.1 → synapse-2.174.0}/README.rst +0 -0
  46. {synapse-2.173.1 → synapse-2.174.0}/setup.cfg +0 -0
  47. {synapse-2.173.1 → synapse-2.174.0}/synapse/__init__.py +0 -0
  48. {synapse-2.173.1 → synapse-2.174.0}/synapse/cells.py +0 -0
  49. {synapse-2.173.1 → synapse-2.174.0}/synapse/cmds/__init__.py +0 -0
  50. {synapse-2.173.1 → synapse-2.174.0}/synapse/cmds/boss.py +0 -0
  51. {synapse-2.173.1 → synapse-2.174.0}/synapse/cmds/cortex.py +0 -0
  52. {synapse-2.173.1 → synapse-2.174.0}/synapse/cmds/hive.py +0 -0
  53. {synapse-2.173.1 → synapse-2.174.0}/synapse/cryotank.py +0 -0
  54. {synapse-2.173.1 → synapse-2.174.0}/synapse/daemon.py +0 -0
  55. {synapse-2.173.1 → synapse-2.174.0}/synapse/data/__init__.py +0 -0
  56. {synapse-2.173.1 → synapse-2.174.0}/synapse/data/attack-flow/LICENSE.txt +0 -0
  57. {synapse-2.173.1 → synapse-2.174.0}/synapse/data/attack-flow/README.md +0 -0
  58. {synapse-2.173.1 → synapse-2.174.0}/synapse/data/attack-flow/attack-flow-schema-2.0.0.json +0 -0
  59. {synapse-2.173.1 → synapse-2.174.0}/synapse/data/certs/cas/The Vertex Project Intermediate CA 00.crt +0 -0
  60. {synapse-2.173.1 → synapse-2.174.0}/synapse/data/certs/cas/The Vertex Project ROOT CA.crt +0 -0
  61. {synapse-2.173.1 → synapse-2.174.0}/synapse/data/certs/crls/The Vertex Project Intermediate CA 00.crl +0 -0
  62. {synapse-2.173.1 → synapse-2.174.0}/synapse/data/certs/crls/The Vertex Project ROOT CA.crl +0 -0
  63. {synapse-2.173.1 → synapse-2.174.0}/synapse/data/iana.tlds.mpk +0 -0
  64. {synapse-2.173.1 → synapse-2.174.0}/synapse/data/jsonschemas/README.md +0 -0
  65. {synapse-2.173.1 → synapse-2.174.0}/synapse/data/jsonschemas/raw.githubusercontent.com/oasis-open/LICENSE.txt +0 -0
  66. {synapse-2.173.1 → synapse-2.174.0}/synapse/data/jsonschemas/raw.githubusercontent.com/oasis-open/cti-stix2-json-schemas/stix2.1/schemas/common/binary.json +0 -0
  67. {synapse-2.173.1 → synapse-2.174.0}/synapse/data/jsonschemas/raw.githubusercontent.com/oasis-open/cti-stix2-json-schemas/stix2.1/schemas/common/bundle.json +0 -0
  68. {synapse-2.173.1 → synapse-2.174.0}/synapse/data/jsonschemas/raw.githubusercontent.com/oasis-open/cti-stix2-json-schemas/stix2.1/schemas/common/core.json +0 -0
  69. {synapse-2.173.1 → synapse-2.174.0}/synapse/data/jsonschemas/raw.githubusercontent.com/oasis-open/cti-stix2-json-schemas/stix2.1/schemas/common/cyber-observable-core.json +0 -0
  70. {synapse-2.173.1 → synapse-2.174.0}/synapse/data/jsonschemas/raw.githubusercontent.com/oasis-open/cti-stix2-json-schemas/stix2.1/schemas/common/dictionary.json +0 -0
  71. {synapse-2.173.1 → synapse-2.174.0}/synapse/data/jsonschemas/raw.githubusercontent.com/oasis-open/cti-stix2-json-schemas/stix2.1/schemas/common/extension-definition.json +0 -0
  72. {synapse-2.173.1 → synapse-2.174.0}/synapse/data/jsonschemas/raw.githubusercontent.com/oasis-open/cti-stix2-json-schemas/stix2.1/schemas/common/extension.json +0 -0
  73. {synapse-2.173.1 → synapse-2.174.0}/synapse/data/jsonschemas/raw.githubusercontent.com/oasis-open/cti-stix2-json-schemas/stix2.1/schemas/common/external-reference.json +0 -0
  74. {synapse-2.173.1 → synapse-2.174.0}/synapse/data/jsonschemas/raw.githubusercontent.com/oasis-open/cti-stix2-json-schemas/stix2.1/schemas/common/granular-marking.json +0 -0
  75. {synapse-2.173.1 → synapse-2.174.0}/synapse/data/jsonschemas/raw.githubusercontent.com/oasis-open/cti-stix2-json-schemas/stix2.1/schemas/common/hashes-type.json +0 -0
  76. {synapse-2.173.1 → synapse-2.174.0}/synapse/data/jsonschemas/raw.githubusercontent.com/oasis-open/cti-stix2-json-schemas/stix2.1/schemas/common/hex.json +0 -0
  77. {synapse-2.173.1 → synapse-2.174.0}/synapse/data/jsonschemas/raw.githubusercontent.com/oasis-open/cti-stix2-json-schemas/stix2.1/schemas/common/identifier.json +0 -0
  78. {synapse-2.173.1 → synapse-2.174.0}/synapse/data/jsonschemas/raw.githubusercontent.com/oasis-open/cti-stix2-json-schemas/stix2.1/schemas/common/kill-chain-phase.json +0 -0
  79. {synapse-2.173.1 → synapse-2.174.0}/synapse/data/jsonschemas/raw.githubusercontent.com/oasis-open/cti-stix2-json-schemas/stix2.1/schemas/common/language-content.json +0 -0
  80. {synapse-2.173.1 → synapse-2.174.0}/synapse/data/jsonschemas/raw.githubusercontent.com/oasis-open/cti-stix2-json-schemas/stix2.1/schemas/common/marking-definition.json +0 -0
  81. {synapse-2.173.1 → synapse-2.174.0}/synapse/data/jsonschemas/raw.githubusercontent.com/oasis-open/cti-stix2-json-schemas/stix2.1/schemas/common/properties.json +0 -0
  82. {synapse-2.173.1 → synapse-2.174.0}/synapse/data/jsonschemas/raw.githubusercontent.com/oasis-open/cti-stix2-json-schemas/stix2.1/schemas/common/timestamp.json +0 -0
  83. {synapse-2.173.1 → synapse-2.174.0}/synapse/data/jsonschemas/raw.githubusercontent.com/oasis-open/cti-stix2-json-schemas/stix2.1/schemas/common/url-regex.json +0 -0
  84. {synapse-2.173.1 → synapse-2.174.0}/synapse/data/jsonschemas/raw.githubusercontent.com/oasis-open/cti-stix2-json-schemas/stix2.1/schemas/observables/artifact.json +0 -0
  85. {synapse-2.173.1 → synapse-2.174.0}/synapse/data/jsonschemas/raw.githubusercontent.com/oasis-open/cti-stix2-json-schemas/stix2.1/schemas/observables/autonomous-system.json +0 -0
  86. {synapse-2.173.1 → synapse-2.174.0}/synapse/data/jsonschemas/raw.githubusercontent.com/oasis-open/cti-stix2-json-schemas/stix2.1/schemas/observables/directory.json +0 -0
  87. {synapse-2.173.1 → synapse-2.174.0}/synapse/data/jsonschemas/raw.githubusercontent.com/oasis-open/cti-stix2-json-schemas/stix2.1/schemas/observables/domain-name.json +0 -0
  88. {synapse-2.173.1 → synapse-2.174.0}/synapse/data/jsonschemas/raw.githubusercontent.com/oasis-open/cti-stix2-json-schemas/stix2.1/schemas/observables/email-addr.json +0 -0
  89. {synapse-2.173.1 → synapse-2.174.0}/synapse/data/jsonschemas/raw.githubusercontent.com/oasis-open/cti-stix2-json-schemas/stix2.1/schemas/observables/email-message.json +0 -0
  90. {synapse-2.173.1 → synapse-2.174.0}/synapse/data/jsonschemas/raw.githubusercontent.com/oasis-open/cti-stix2-json-schemas/stix2.1/schemas/observables/file.json +0 -0
  91. {synapse-2.173.1 → synapse-2.174.0}/synapse/data/jsonschemas/raw.githubusercontent.com/oasis-open/cti-stix2-json-schemas/stix2.1/schemas/observables/ipv4-addr.json +0 -0
  92. {synapse-2.173.1 → synapse-2.174.0}/synapse/data/jsonschemas/raw.githubusercontent.com/oasis-open/cti-stix2-json-schemas/stix2.1/schemas/observables/ipv6-addr.json +0 -0
  93. {synapse-2.173.1 → synapse-2.174.0}/synapse/data/jsonschemas/raw.githubusercontent.com/oasis-open/cti-stix2-json-schemas/stix2.1/schemas/observables/mac-addr.json +0 -0
  94. {synapse-2.173.1 → synapse-2.174.0}/synapse/data/jsonschemas/raw.githubusercontent.com/oasis-open/cti-stix2-json-schemas/stix2.1/schemas/observables/mutex.json +0 -0
  95. {synapse-2.173.1 → synapse-2.174.0}/synapse/data/jsonschemas/raw.githubusercontent.com/oasis-open/cti-stix2-json-schemas/stix2.1/schemas/observables/network-traffic.json +0 -0
  96. {synapse-2.173.1 → synapse-2.174.0}/synapse/data/jsonschemas/raw.githubusercontent.com/oasis-open/cti-stix2-json-schemas/stix2.1/schemas/observables/process.json +0 -0
  97. {synapse-2.173.1 → synapse-2.174.0}/synapse/data/jsonschemas/raw.githubusercontent.com/oasis-open/cti-stix2-json-schemas/stix2.1/schemas/observables/software.json +0 -0
  98. {synapse-2.173.1 → synapse-2.174.0}/synapse/data/jsonschemas/raw.githubusercontent.com/oasis-open/cti-stix2-json-schemas/stix2.1/schemas/observables/url.json +0 -0
  99. {synapse-2.173.1 → synapse-2.174.0}/synapse/data/jsonschemas/raw.githubusercontent.com/oasis-open/cti-stix2-json-schemas/stix2.1/schemas/observables/user-account.json +0 -0
  100. {synapse-2.173.1 → synapse-2.174.0}/synapse/data/jsonschemas/raw.githubusercontent.com/oasis-open/cti-stix2-json-schemas/stix2.1/schemas/observables/windows-registry-key.json +0 -0
  101. {synapse-2.173.1 → synapse-2.174.0}/synapse/data/jsonschemas/raw.githubusercontent.com/oasis-open/cti-stix2-json-schemas/stix2.1/schemas/observables/x509-certificate.json +0 -0
  102. {synapse-2.173.1 → synapse-2.174.0}/synapse/data/jsonschemas/raw.githubusercontent.com/oasis-open/cti-stix2-json-schemas/stix2.1/schemas/sdos/attack-pattern.json +0 -0
  103. {synapse-2.173.1 → synapse-2.174.0}/synapse/data/jsonschemas/raw.githubusercontent.com/oasis-open/cti-stix2-json-schemas/stix2.1/schemas/sdos/campaign.json +0 -0
  104. {synapse-2.173.1 → synapse-2.174.0}/synapse/data/jsonschemas/raw.githubusercontent.com/oasis-open/cti-stix2-json-schemas/stix2.1/schemas/sdos/course-of-action.json +0 -0
  105. {synapse-2.173.1 → synapse-2.174.0}/synapse/data/jsonschemas/raw.githubusercontent.com/oasis-open/cti-stix2-json-schemas/stix2.1/schemas/sdos/grouping.json +0 -0
  106. {synapse-2.173.1 → synapse-2.174.0}/synapse/data/jsonschemas/raw.githubusercontent.com/oasis-open/cti-stix2-json-schemas/stix2.1/schemas/sdos/identity.json +0 -0
  107. {synapse-2.173.1 → synapse-2.174.0}/synapse/data/jsonschemas/raw.githubusercontent.com/oasis-open/cti-stix2-json-schemas/stix2.1/schemas/sdos/incident.json +0 -0
  108. {synapse-2.173.1 → synapse-2.174.0}/synapse/data/jsonschemas/raw.githubusercontent.com/oasis-open/cti-stix2-json-schemas/stix2.1/schemas/sdos/indicator.json +0 -0
  109. {synapse-2.173.1 → synapse-2.174.0}/synapse/data/jsonschemas/raw.githubusercontent.com/oasis-open/cti-stix2-json-schemas/stix2.1/schemas/sdos/infrastructure.json +0 -0
  110. {synapse-2.173.1 → synapse-2.174.0}/synapse/data/jsonschemas/raw.githubusercontent.com/oasis-open/cti-stix2-json-schemas/stix2.1/schemas/sdos/intrusion-set.json +0 -0
  111. {synapse-2.173.1 → synapse-2.174.0}/synapse/data/jsonschemas/raw.githubusercontent.com/oasis-open/cti-stix2-json-schemas/stix2.1/schemas/sdos/location.json +0 -0
  112. {synapse-2.173.1 → synapse-2.174.0}/synapse/data/jsonschemas/raw.githubusercontent.com/oasis-open/cti-stix2-json-schemas/stix2.1/schemas/sdos/malware-analysis.json +0 -0
  113. {synapse-2.173.1 → synapse-2.174.0}/synapse/data/jsonschemas/raw.githubusercontent.com/oasis-open/cti-stix2-json-schemas/stix2.1/schemas/sdos/malware.json +0 -0
  114. {synapse-2.173.1 → synapse-2.174.0}/synapse/data/jsonschemas/raw.githubusercontent.com/oasis-open/cti-stix2-json-schemas/stix2.1/schemas/sdos/note.json +0 -0
  115. {synapse-2.173.1 → synapse-2.174.0}/synapse/data/jsonschemas/raw.githubusercontent.com/oasis-open/cti-stix2-json-schemas/stix2.1/schemas/sdos/observed-data.json +0 -0
  116. {synapse-2.173.1 → synapse-2.174.0}/synapse/data/jsonschemas/raw.githubusercontent.com/oasis-open/cti-stix2-json-schemas/stix2.1/schemas/sdos/opinion.json +0 -0
  117. {synapse-2.173.1 → synapse-2.174.0}/synapse/data/jsonschemas/raw.githubusercontent.com/oasis-open/cti-stix2-json-schemas/stix2.1/schemas/sdos/report.json +0 -0
  118. {synapse-2.173.1 → synapse-2.174.0}/synapse/data/jsonschemas/raw.githubusercontent.com/oasis-open/cti-stix2-json-schemas/stix2.1/schemas/sdos/threat-actor.json +0 -0
  119. {synapse-2.173.1 → synapse-2.174.0}/synapse/data/jsonschemas/raw.githubusercontent.com/oasis-open/cti-stix2-json-schemas/stix2.1/schemas/sdos/tool.json +0 -0
  120. {synapse-2.173.1 → synapse-2.174.0}/synapse/data/jsonschemas/raw.githubusercontent.com/oasis-open/cti-stix2-json-schemas/stix2.1/schemas/sdos/vulnerability.json +0 -0
  121. {synapse-2.173.1 → synapse-2.174.0}/synapse/data/jsonschemas/raw.githubusercontent.com/oasis-open/cti-stix2-json-schemas/stix2.1/schemas/sros/relationship.json +0 -0
  122. {synapse-2.173.1 → synapse-2.174.0}/synapse/data/jsonschemas/raw.githubusercontent.com/oasis-open/cti-stix2-json-schemas/stix2.1/schemas/sros/sighting.json +0 -0
  123. {synapse-2.173.1 → synapse-2.174.0}/synapse/datamodel.py +0 -0
  124. {synapse-2.173.1 → synapse-2.174.0}/synapse/exc.py +0 -0
  125. {synapse-2.173.1 → synapse-2.174.0}/synapse/glob.py +0 -0
  126. {synapse-2.173.1 → synapse-2.174.0}/synapse/lib/__init__.py +0 -0
  127. {synapse-2.173.1 → synapse-2.174.0}/synapse/lib/aha.py +0 -0
  128. {synapse-2.173.1 → synapse-2.174.0}/synapse/lib/autodoc.py +0 -0
  129. {synapse-2.173.1 → synapse-2.174.0}/synapse/lib/base.py +0 -0
  130. {synapse-2.173.1 → synapse-2.174.0}/synapse/lib/boss.py +0 -0
  131. {synapse-2.173.1 → synapse-2.174.0}/synapse/lib/cache.py +0 -0
  132. {synapse-2.173.1 → synapse-2.174.0}/synapse/lib/cell.py +0 -0
  133. {synapse-2.173.1 → synapse-2.174.0}/synapse/lib/certdir.py +0 -0
  134. {synapse-2.173.1 → synapse-2.174.0}/synapse/lib/chop.py +0 -0
  135. {synapse-2.173.1 → synapse-2.174.0}/synapse/lib/cli.py +0 -0
  136. {synapse-2.173.1 → synapse-2.174.0}/synapse/lib/cmd.py +0 -0
  137. {synapse-2.173.1 → synapse-2.174.0}/synapse/lib/cmdr.py +0 -0
  138. {synapse-2.173.1 → synapse-2.174.0}/synapse/lib/config.py +0 -0
  139. {synapse-2.173.1 → synapse-2.174.0}/synapse/lib/const.py +0 -0
  140. {synapse-2.173.1 → synapse-2.174.0}/synapse/lib/coro.py +0 -0
  141. {synapse-2.173.1 → synapse-2.174.0}/synapse/lib/crypto/__init__.py +0 -0
  142. {synapse-2.173.1 → synapse-2.174.0}/synapse/lib/crypto/coin.py +0 -0
  143. {synapse-2.173.1 → synapse-2.174.0}/synapse/lib/crypto/ecc.py +0 -0
  144. {synapse-2.173.1 → synapse-2.174.0}/synapse/lib/crypto/passwd.py +0 -0
  145. {synapse-2.173.1 → synapse-2.174.0}/synapse/lib/crypto/rsa.py +0 -0
  146. {synapse-2.173.1 → synapse-2.174.0}/synapse/lib/crypto/tinfoil.py +0 -0
  147. {synapse-2.173.1 → synapse-2.174.0}/synapse/lib/datfile.py +0 -0
  148. {synapse-2.173.1 → synapse-2.174.0}/synapse/lib/dyndeps.py +0 -0
  149. {synapse-2.173.1 → synapse-2.174.0}/synapse/lib/encoding.py +0 -0
  150. {synapse-2.173.1 → synapse-2.174.0}/synapse/lib/gis.py +0 -0
  151. {synapse-2.173.1 → synapse-2.174.0}/synapse/lib/grammar.py +0 -0
  152. {synapse-2.173.1 → synapse-2.174.0}/synapse/lib/hashitem.py +0 -0
  153. {synapse-2.173.1 → synapse-2.174.0}/synapse/lib/hashset.py +0 -0
  154. {synapse-2.173.1 → synapse-2.174.0}/synapse/lib/health.py +0 -0
  155. {synapse-2.173.1 → synapse-2.174.0}/synapse/lib/hive.py +0 -0
  156. {synapse-2.173.1 → synapse-2.174.0}/synapse/lib/hiveauth.py +0 -0
  157. {synapse-2.173.1 → synapse-2.174.0}/synapse/lib/httpapi.py +0 -0
  158. {synapse-2.173.1 → synapse-2.174.0}/synapse/lib/ingest.py +0 -0
  159. {synapse-2.173.1 → synapse-2.174.0}/synapse/lib/interval.py +0 -0
  160. {synapse-2.173.1 → synapse-2.174.0}/synapse/lib/jsonstor.py +0 -0
  161. {synapse-2.173.1 → synapse-2.174.0}/synapse/lib/jupyter.py +0 -0
  162. {synapse-2.173.1 → synapse-2.174.0}/synapse/lib/layer.py +0 -0
  163. {synapse-2.173.1 → synapse-2.174.0}/synapse/lib/link.py +0 -0
  164. {synapse-2.173.1 → synapse-2.174.0}/synapse/lib/module.py +0 -0
  165. {synapse-2.173.1 → synapse-2.174.0}/synapse/lib/multislabseqn.py +0 -0
  166. {synapse-2.173.1 → synapse-2.174.0}/synapse/lib/node.py +0 -0
  167. {synapse-2.173.1 → synapse-2.174.0}/synapse/lib/oauth.py +0 -0
  168. {synapse-2.173.1 → synapse-2.174.0}/synapse/lib/output.py +0 -0
  169. {synapse-2.173.1 → synapse-2.174.0}/synapse/lib/parser.py +0 -0
  170. {synapse-2.173.1 → synapse-2.174.0}/synapse/lib/platforms/__init__.py +0 -0
  171. {synapse-2.173.1 → synapse-2.174.0}/synapse/lib/platforms/common.py +0 -0
  172. {synapse-2.173.1 → synapse-2.174.0}/synapse/lib/platforms/darwin.py +0 -0
  173. {synapse-2.173.1 → synapse-2.174.0}/synapse/lib/platforms/freebsd.py +0 -0
  174. {synapse-2.173.1 → synapse-2.174.0}/synapse/lib/platforms/linux.py +0 -0
  175. {synapse-2.173.1 → synapse-2.174.0}/synapse/lib/platforms/windows.py +0 -0
  176. {synapse-2.173.1 → synapse-2.174.0}/synapse/lib/queue.py +0 -0
  177. {synapse-2.173.1 → synapse-2.174.0}/synapse/lib/ratelimit.py +0 -0
  178. {synapse-2.173.1 → synapse-2.174.0}/synapse/lib/reflect.py +0 -0
  179. {synapse-2.173.1 → synapse-2.174.0}/synapse/lib/rstorm.py +0 -0
  180. {synapse-2.173.1 → synapse-2.174.0}/synapse/lib/scope.py +0 -0
  181. {synapse-2.173.1 → synapse-2.174.0}/synapse/lib/scrape.py +0 -0
  182. {synapse-2.173.1 → synapse-2.174.0}/synapse/lib/share.py +0 -0
  183. {synapse-2.173.1 → synapse-2.174.0}/synapse/lib/slaboffs.py +0 -0
  184. {synapse-2.173.1 → synapse-2.174.0}/synapse/lib/slabseqn.py +0 -0
  185. {synapse-2.173.1 → synapse-2.174.0}/synapse/lib/snap.py +0 -0
  186. {synapse-2.173.1 → synapse-2.174.0}/synapse/lib/spooled.py +0 -0
  187. {synapse-2.173.1 → synapse-2.174.0}/synapse/lib/storm.lark +0 -0
  188. {synapse-2.173.1 → synapse-2.174.0}/synapse/lib/storm.py +0 -0
  189. {synapse-2.173.1 → synapse-2.174.0}/synapse/lib/storm_format.py +0 -0
  190. {synapse-2.173.1 → synapse-2.174.0}/synapse/lib/stormctrl.py +0 -0
  191. {synapse-2.173.1 → synapse-2.174.0}/synapse/lib/stormhttp.py +0 -0
  192. {synapse-2.173.1 → synapse-2.174.0}/synapse/lib/stormlib/__init__.py +0 -0
  193. {synapse-2.173.1 → synapse-2.174.0}/synapse/lib/stormlib/aha.py +0 -0
  194. {synapse-2.173.1 → synapse-2.174.0}/synapse/lib/stormlib/auth.py +0 -0
  195. {synapse-2.173.1 → synapse-2.174.0}/synapse/lib/stormlib/backup.py +0 -0
  196. {synapse-2.173.1 → synapse-2.174.0}/synapse/lib/stormlib/basex.py +0 -0
  197. {synapse-2.173.1 → synapse-2.174.0}/synapse/lib/stormlib/cache.py +0 -0
  198. {synapse-2.173.1 → synapse-2.174.0}/synapse/lib/stormlib/cell.py +0 -0
  199. {synapse-2.173.1 → synapse-2.174.0}/synapse/lib/stormlib/compression.py +0 -0
  200. {synapse-2.173.1 → synapse-2.174.0}/synapse/lib/stormlib/cortex.py +0 -0
  201. {synapse-2.173.1 → synapse-2.174.0}/synapse/lib/stormlib/easyperm.py +0 -0
  202. {synapse-2.173.1 → synapse-2.174.0}/synapse/lib/stormlib/env.py +0 -0
  203. {synapse-2.173.1 → synapse-2.174.0}/synapse/lib/stormlib/ethereum.py +0 -0
  204. {synapse-2.173.1 → synapse-2.174.0}/synapse/lib/stormlib/gen.py +0 -0
  205. {synapse-2.173.1 → synapse-2.174.0}/synapse/lib/stormlib/gis.py +0 -0
  206. {synapse-2.173.1 → synapse-2.174.0}/synapse/lib/stormlib/graph.py +0 -0
  207. {synapse-2.173.1 → synapse-2.174.0}/synapse/lib/stormlib/hashes.py +0 -0
  208. {synapse-2.173.1 → synapse-2.174.0}/synapse/lib/stormlib/hex.py +0 -0
  209. {synapse-2.173.1 → synapse-2.174.0}/synapse/lib/stormlib/imap.py +0 -0
  210. {synapse-2.173.1 → synapse-2.174.0}/synapse/lib/stormlib/infosec.py +0 -0
  211. {synapse-2.173.1 → synapse-2.174.0}/synapse/lib/stormlib/ipv6.py +0 -0
  212. {synapse-2.173.1 → synapse-2.174.0}/synapse/lib/stormlib/iters.py +0 -0
  213. {synapse-2.173.1 → synapse-2.174.0}/synapse/lib/stormlib/json.py +0 -0
  214. {synapse-2.173.1 → synapse-2.174.0}/synapse/lib/stormlib/log.py +0 -0
  215. {synapse-2.173.1 → synapse-2.174.0}/synapse/lib/stormlib/macro.py +0 -0
  216. {synapse-2.173.1 → synapse-2.174.0}/synapse/lib/stormlib/math.py +0 -0
  217. {synapse-2.173.1 → synapse-2.174.0}/synapse/lib/stormlib/mime.py +0 -0
  218. {synapse-2.173.1 → synapse-2.174.0}/synapse/lib/stormlib/model.py +0 -0
  219. {synapse-2.173.1 → synapse-2.174.0}/synapse/lib/stormlib/modelext.py +0 -0
  220. {synapse-2.173.1 → synapse-2.174.0}/synapse/lib/stormlib/notifications.py +0 -0
  221. {synapse-2.173.1 → synapse-2.174.0}/synapse/lib/stormlib/oauth.py +0 -0
  222. {synapse-2.173.1 → synapse-2.174.0}/synapse/lib/stormlib/pack.py +0 -0
  223. {synapse-2.173.1 → synapse-2.174.0}/synapse/lib/stormlib/project.py +0 -0
  224. {synapse-2.173.1 → synapse-2.174.0}/synapse/lib/stormlib/random.py +0 -0
  225. {synapse-2.173.1 → synapse-2.174.0}/synapse/lib/stormlib/scrape.py +0 -0
  226. {synapse-2.173.1 → synapse-2.174.0}/synapse/lib/stormlib/smtp.py +0 -0
  227. {synapse-2.173.1 → synapse-2.174.0}/synapse/lib/stormlib/spooled.py +0 -0
  228. {synapse-2.173.1 → synapse-2.174.0}/synapse/lib/stormlib/stats.py +0 -0
  229. {synapse-2.173.1 → synapse-2.174.0}/synapse/lib/stormlib/stix.py +0 -0
  230. {synapse-2.173.1 → synapse-2.174.0}/synapse/lib/stormlib/storm.py +0 -0
  231. {synapse-2.173.1 → synapse-2.174.0}/synapse/lib/stormlib/vault.py +0 -0
  232. {synapse-2.173.1 → synapse-2.174.0}/synapse/lib/stormlib/version.py +0 -0
  233. {synapse-2.173.1 → synapse-2.174.0}/synapse/lib/stormlib/xml.py +0 -0
  234. {synapse-2.173.1 → synapse-2.174.0}/synapse/lib/stormlib/yaml.py +0 -0
  235. {synapse-2.173.1 → synapse-2.174.0}/synapse/lib/stormwhois.py +0 -0
  236. {synapse-2.173.1 → synapse-2.174.0}/synapse/lib/structlog.py +0 -0
  237. {synapse-2.173.1 → synapse-2.174.0}/synapse/lib/task.py +0 -0
  238. {synapse-2.173.1 → synapse-2.174.0}/synapse/lib/thishost.py +0 -0
  239. {synapse-2.173.1 → synapse-2.174.0}/synapse/lib/thisplat.py +0 -0
  240. {synapse-2.173.1 → synapse-2.174.0}/synapse/lib/threads.py +0 -0
  241. {synapse-2.173.1 → synapse-2.174.0}/synapse/lib/time.py +0 -0
  242. {synapse-2.173.1 → synapse-2.174.0}/synapse/lib/types.py +0 -0
  243. {synapse-2.173.1 → synapse-2.174.0}/synapse/lib/urlhelp.py +0 -0
  244. {synapse-2.173.1 → synapse-2.174.0}/synapse/lookup/__init__.py +0 -0
  245. {synapse-2.173.1 → synapse-2.174.0}/synapse/lookup/cvss.py +0 -0
  246. {synapse-2.173.1 → synapse-2.174.0}/synapse/lookup/iana.py +0 -0
  247. {synapse-2.173.1 → synapse-2.174.0}/synapse/lookup/iso3166.py +0 -0
  248. {synapse-2.173.1 → synapse-2.174.0}/synapse/lookup/macho.py +0 -0
  249. {synapse-2.173.1 → synapse-2.174.0}/synapse/lookup/pe.py +0 -0
  250. {synapse-2.173.1 → synapse-2.174.0}/synapse/lookup/phonenum.py +0 -0
  251. {synapse-2.173.1 → synapse-2.174.0}/synapse/lookup/timezones.py +0 -0
  252. {synapse-2.173.1 → synapse-2.174.0}/synapse/mindmeld.py +0 -0
  253. {synapse-2.173.1 → synapse-2.174.0}/synapse/models/__init__.py +0 -0
  254. {synapse-2.173.1 → synapse-2.174.0}/synapse/models/auth.py +0 -0
  255. {synapse-2.173.1 → synapse-2.174.0}/synapse/models/base.py +0 -0
  256. {synapse-2.173.1 → synapse-2.174.0}/synapse/models/belief.py +0 -0
  257. {synapse-2.173.1 → synapse-2.174.0}/synapse/models/biz.py +0 -0
  258. {synapse-2.173.1 → synapse-2.174.0}/synapse/models/dns.py +0 -0
  259. {synapse-2.173.1 → synapse-2.174.0}/synapse/models/geospace.py +0 -0
  260. {synapse-2.173.1 → synapse-2.174.0}/synapse/models/gov/__init__.py +0 -0
  261. {synapse-2.173.1 → synapse-2.174.0}/synapse/models/gov/cn.py +0 -0
  262. {synapse-2.173.1 → synapse-2.174.0}/synapse/models/gov/intl.py +0 -0
  263. {synapse-2.173.1 → synapse-2.174.0}/synapse/models/gov/us.py +0 -0
  264. {synapse-2.173.1 → synapse-2.174.0}/synapse/models/inet.py +0 -0
  265. {synapse-2.173.1 → synapse-2.174.0}/synapse/models/infotech.py +0 -0
  266. {synapse-2.173.1 → synapse-2.174.0}/synapse/models/language.py +0 -0
  267. {synapse-2.173.1 → synapse-2.174.0}/synapse/models/material.py +0 -0
  268. {synapse-2.173.1 → synapse-2.174.0}/synapse/models/media.py +0 -0
  269. {synapse-2.173.1 → synapse-2.174.0}/synapse/models/person.py +0 -0
  270. {synapse-2.173.1 → synapse-2.174.0}/synapse/models/planning.py +0 -0
  271. {synapse-2.173.1 → synapse-2.174.0}/synapse/models/proj.py +0 -0
  272. {synapse-2.173.1 → synapse-2.174.0}/synapse/models/risk.py +0 -0
  273. {synapse-2.173.1 → synapse-2.174.0}/synapse/models/science.py +0 -0
  274. {synapse-2.173.1 → synapse-2.174.0}/synapse/models/syn.py +0 -0
  275. {synapse-2.173.1 → synapse-2.174.0}/synapse/models/telco.py +0 -0
  276. {synapse-2.173.1 → synapse-2.174.0}/synapse/models/transport.py +0 -0
  277. {synapse-2.173.1 → synapse-2.174.0}/synapse/servers/__init__.py +0 -0
  278. {synapse-2.173.1 → synapse-2.174.0}/synapse/servers/aha.py +0 -0
  279. {synapse-2.173.1 → synapse-2.174.0}/synapse/servers/axon.py +0 -0
  280. {synapse-2.173.1 → synapse-2.174.0}/synapse/servers/cell.py +0 -0
  281. {synapse-2.173.1 → synapse-2.174.0}/synapse/servers/cortex.py +0 -0
  282. {synapse-2.173.1 → synapse-2.174.0}/synapse/servers/cryotank.py +0 -0
  283. {synapse-2.173.1 → synapse-2.174.0}/synapse/servers/jsonstor.py +0 -0
  284. {synapse-2.173.1 → synapse-2.174.0}/synapse/servers/stemcell.py +0 -0
  285. {synapse-2.173.1 → synapse-2.174.0}/synapse/telepath.py +0 -0
  286. {synapse-2.173.1 → synapse-2.174.0}/synapse/tests/__init__.py +0 -0
  287. {synapse-2.173.1 → synapse-2.174.0}/synapse/tests/files/TestUtilsGetrefs.test_basics.yaml +0 -0
  288. {synapse-2.173.1 → synapse-2.174.0}/synapse/tests/files/__init__.py +0 -0
  289. {synapse-2.173.1 → synapse-2.174.0}/synapse/tests/files/attack_flow/CISA AA22-138B VMWare Workspace (Alt).json +0 -0
  290. {synapse-2.173.1 → synapse-2.174.0}/synapse/tests/files/attack_flow/CISA_Iranian_APT.json +0 -0
  291. {synapse-2.173.1 → synapse-2.174.0}/synapse/tests/files/certdir/cas/ca.crt +0 -0
  292. {synapse-2.173.1 → synapse-2.174.0}/synapse/tests/files/certdir/cas/ca.key +0 -0
  293. {synapse-2.173.1 → synapse-2.174.0}/synapse/tests/files/certdir/hosts/localhost.crt +0 -0
  294. {synapse-2.173.1 → synapse-2.174.0}/synapse/tests/files/certdir/hosts/localhost.key +0 -0
  295. {synapse-2.173.1 → synapse-2.174.0}/synapse/tests/files/certdir/users/root.crt +0 -0
  296. {synapse-2.173.1 → synapse-2.174.0}/synapse/tests/files/certdir/users/root.key +0 -0
  297. {synapse-2.173.1 → synapse-2.174.0}/synapse/tests/files/certdir/users/user.crt +0 -0
  298. {synapse-2.173.1 → synapse-2.174.0}/synapse/tests/files/certdir/users/user.key +0 -0
  299. {synapse-2.173.1 → synapse-2.174.0}/synapse/tests/files/cpedata.json +0 -0
  300. {synapse-2.173.1 → synapse-2.174.0}/synapse/tests/files/rstorm/httpresp1.json +0 -0
  301. {synapse-2.173.1 → synapse-2.174.0}/synapse/tests/files/rstorm/httpresp2.json +0 -0
  302. {synapse-2.173.1 → synapse-2.174.0}/synapse/tests/files/rstorm/httpresp3.json +0 -0
  303. {synapse-2.173.1 → synapse-2.174.0}/synapse/tests/files/rstorm/httprespmulti.yaml +0 -0
  304. {synapse-2.173.1 → synapse-2.174.0}/synapse/tests/files/rstorm/testsvc.py +0 -0
  305. {synapse-2.173.1 → synapse-2.174.0}/synapse/tests/files/stix_export/basic.json +0 -0
  306. {synapse-2.173.1 → synapse-2.174.0}/synapse/tests/files/stix_export/custom0.json +0 -0
  307. {synapse-2.173.1 → synapse-2.174.0}/synapse/tests/files/stix_export/risk0.json +0 -0
  308. {synapse-2.173.1 → synapse-2.174.0}/synapse/tests/files/stix_import/apt1.json +0 -0
  309. {synapse-2.173.1 → synapse-2.174.0}/synapse/tests/files/stix_import/oasis-example-00.json +0 -0
  310. {synapse-2.173.1 → synapse-2.174.0}/synapse/tests/files/stormcov/argvquery.storm +0 -0
  311. {synapse-2.173.1 → synapse-2.174.0}/synapse/tests/files/stormcov/dupesubs.storm +0 -0
  312. {synapse-2.173.1 → synapse-2.174.0}/synapse/tests/files/stormcov/lookup.storm +0 -0
  313. {synapse-2.173.1 → synapse-2.174.0}/synapse/tests/files/stormcov/pivot.storm +0 -0
  314. {synapse-2.173.1 → synapse-2.174.0}/synapse/tests/files/stormcov/spin.storm +0 -0
  315. {synapse-2.173.1 → synapse-2.174.0}/synapse/tests/files/stormcov/stormctrl.storm +0 -0
  316. {synapse-2.173.1 → synapse-2.174.0}/synapse/tests/files/stormmod/common +0 -0
  317. {synapse-2.173.1 → synapse-2.174.0}/synapse/tests/files/stormpkg/badapidef.yaml +0 -0
  318. {synapse-2.173.1 → synapse-2.174.0}/synapse/tests/files/stormpkg/badcmdname.yaml +0 -0
  319. {synapse-2.173.1 → synapse-2.174.0}/synapse/tests/files/stormpkg/badjsonpkg.yaml +0 -0
  320. {synapse-2.173.1 → synapse-2.174.0}/synapse/tests/files/stormpkg/docs/foobar.md +0 -0
  321. {synapse-2.173.1 → synapse-2.174.0}/synapse/tests/files/stormpkg/docs/foobar.svg +0 -0
  322. {synapse-2.173.1 → synapse-2.174.0}/synapse/tests/files/stormpkg/dotstorm/dotstorm.yaml +0 -0
  323. {synapse-2.173.1 → synapse-2.174.0}/synapse/tests/files/stormpkg/dotstorm/storm/commands/dotstorm.bar.storm +0 -0
  324. {synapse-2.173.1 → synapse-2.174.0}/synapse/tests/files/stormpkg/dotstorm/storm/modules/dotstorm.foo.storm +0 -0
  325. {synapse-2.173.1 → synapse-2.174.0}/synapse/tests/files/stormpkg/nocontent.yaml +0 -0
  326. {synapse-2.173.1 → synapse-2.174.0}/synapse/tests/files/stormpkg/nomime.yaml +0 -0
  327. {synapse-2.173.1 → synapse-2.174.0}/synapse/tests/files/stormpkg/nopath.yaml +0 -0
  328. {synapse-2.173.1 → synapse-2.174.0}/synapse/tests/files/stormpkg/nosuchfile.yaml +0 -0
  329. {synapse-2.173.1 → synapse-2.174.0}/synapse/tests/files/stormpkg/notitle.yaml +0 -0
  330. {synapse-2.173.1 → synapse-2.174.0}/synapse/tests/files/stormpkg/optic/index.html +0 -0
  331. {synapse-2.173.1 → synapse-2.174.0}/synapse/tests/files/stormpkg/storm/commands/invalidCMD +0 -0
  332. {synapse-2.173.1 → synapse-2.174.0}/synapse/tests/files/stormpkg/storm/commands/testpkg.baz +0 -0
  333. {synapse-2.173.1 → synapse-2.174.0}/synapse/tests/files/stormpkg/storm/commands/testpkgcmd +0 -0
  334. {synapse-2.173.1 → synapse-2.174.0}/synapse/tests/files/stormpkg/storm/modules/apimod +0 -0
  335. {synapse-2.173.1 → synapse-2.174.0}/synapse/tests/files/stormpkg/storm/modules/testmod +0 -0
  336. {synapse-2.173.1 → synapse-2.174.0}/synapse/tests/files/stormpkg/testpkg.yaml +0 -0
  337. {synapse-2.173.1 → synapse-2.174.0}/synapse/tests/files/stormpkg/workflows/testpkg-bam.newp +0 -0
  338. {synapse-2.173.1 → synapse-2.174.0}/synapse/tests/files/stormpkg/workflows/testpkg-baz.yaml +0 -0
  339. {synapse-2.173.1 → synapse-2.174.0}/synapse/tests/files/stormpkg/workflows/testpkg-foo.yaml +0 -0
  340. {synapse-2.173.1 → synapse-2.174.0}/synapse/tests/files/test.dat +0 -0
  341. {synapse-2.173.1 → synapse-2.174.0}/synapse/tests/files/testcore/cell.yaml +0 -0
  342. {synapse-2.173.1 → synapse-2.174.0}/synapse/tests/nopmod.py +0 -0
  343. {synapse-2.173.1 → synapse-2.174.0}/synapse/tests/test_axon.py +0 -0
  344. {synapse-2.173.1 → synapse-2.174.0}/synapse/tests/test_cmds_boss.py +0 -0
  345. {synapse-2.173.1 → synapse-2.174.0}/synapse/tests/test_cmds_cortex.py +0 -0
  346. {synapse-2.173.1 → synapse-2.174.0}/synapse/tests/test_cmds_hive.py +0 -0
  347. {synapse-2.173.1 → synapse-2.174.0}/synapse/tests/test_common.py +0 -0
  348. {synapse-2.173.1 → synapse-2.174.0}/synapse/tests/test_cryotank.py +0 -0
  349. {synapse-2.173.1 → synapse-2.174.0}/synapse/tests/test_daemon.py +0 -0
  350. {synapse-2.173.1 → synapse-2.174.0}/synapse/tests/test_data.py +0 -0
  351. {synapse-2.173.1 → synapse-2.174.0}/synapse/tests/test_datamodel.py +0 -0
  352. {synapse-2.173.1 → synapse-2.174.0}/synapse/tests/test_exc.py +0 -0
  353. {synapse-2.173.1 → synapse-2.174.0}/synapse/tests/test_glob.py +0 -0
  354. {synapse-2.173.1 → synapse-2.174.0}/synapse/tests/test_init.py +0 -0
  355. {synapse-2.173.1 → synapse-2.174.0}/synapse/tests/test_lib_aha.py +0 -0
  356. {synapse-2.173.1 → synapse-2.174.0}/synapse/tests/test_lib_autodoc.py +0 -0
  357. {synapse-2.173.1 → synapse-2.174.0}/synapse/tests/test_lib_base.py +0 -0
  358. {synapse-2.173.1 → synapse-2.174.0}/synapse/tests/test_lib_boss.py +0 -0
  359. {synapse-2.173.1 → synapse-2.174.0}/synapse/tests/test_lib_cache.py +0 -0
  360. {synapse-2.173.1 → synapse-2.174.0}/synapse/tests/test_lib_cell.py +0 -0
  361. {synapse-2.173.1 → synapse-2.174.0}/synapse/tests/test_lib_certdir.py +0 -0
  362. {synapse-2.173.1 → synapse-2.174.0}/synapse/tests/test_lib_chop.py +0 -0
  363. {synapse-2.173.1 → synapse-2.174.0}/synapse/tests/test_lib_cli.py +0 -0
  364. {synapse-2.173.1 → synapse-2.174.0}/synapse/tests/test_lib_config.py +0 -0
  365. {synapse-2.173.1 → synapse-2.174.0}/synapse/tests/test_lib_const.py +0 -0
  366. {synapse-2.173.1 → synapse-2.174.0}/synapse/tests/test_lib_coro.py +0 -0
  367. {synapse-2.173.1 → synapse-2.174.0}/synapse/tests/test_lib_crypto_coin.py +0 -0
  368. {synapse-2.173.1 → synapse-2.174.0}/synapse/tests/test_lib_crypto_ecc.py +0 -0
  369. {synapse-2.173.1 → synapse-2.174.0}/synapse/tests/test_lib_crypto_passwd.py +0 -0
  370. {synapse-2.173.1 → synapse-2.174.0}/synapse/tests/test_lib_crypto_tinfoil.py +0 -0
  371. {synapse-2.173.1 → synapse-2.174.0}/synapse/tests/test_lib_datfile.py +0 -0
  372. {synapse-2.173.1 → synapse-2.174.0}/synapse/tests/test_lib_dyndeps.py +0 -0
  373. {synapse-2.173.1 → synapse-2.174.0}/synapse/tests/test_lib_encoding.py +0 -0
  374. {synapse-2.173.1 → synapse-2.174.0}/synapse/tests/test_lib_gis.py +0 -0
  375. {synapse-2.173.1 → synapse-2.174.0}/synapse/tests/test_lib_hashitem.py +0 -0
  376. {synapse-2.173.1 → synapse-2.174.0}/synapse/tests/test_lib_hashset.py +0 -0
  377. {synapse-2.173.1 → synapse-2.174.0}/synapse/tests/test_lib_health.py +0 -0
  378. {synapse-2.173.1 → synapse-2.174.0}/synapse/tests/test_lib_hive.py +0 -0
  379. {synapse-2.173.1 → synapse-2.174.0}/synapse/tests/test_lib_hiveauth.py +0 -0
  380. {synapse-2.173.1 → synapse-2.174.0}/synapse/tests/test_lib_interval.py +0 -0
  381. {synapse-2.173.1 → synapse-2.174.0}/synapse/tests/test_lib_jsonstor.py +0 -0
  382. {synapse-2.173.1 → synapse-2.174.0}/synapse/tests/test_lib_jupyter.py +0 -0
  383. {synapse-2.173.1 → synapse-2.174.0}/synapse/tests/test_lib_layer.py +0 -0
  384. {synapse-2.173.1 → synapse-2.174.0}/synapse/tests/test_lib_link.py +0 -0
  385. {synapse-2.173.1 → synapse-2.174.0}/synapse/tests/test_lib_module.py +0 -0
  386. {synapse-2.173.1 → synapse-2.174.0}/synapse/tests/test_lib_multislabseqn.py +0 -0
  387. {synapse-2.173.1 → synapse-2.174.0}/synapse/tests/test_lib_node.py +0 -0
  388. {synapse-2.173.1 → synapse-2.174.0}/synapse/tests/test_lib_output.py +0 -0
  389. {synapse-2.173.1 → synapse-2.174.0}/synapse/tests/test_lib_platforms_linux.py +0 -0
  390. {synapse-2.173.1 → synapse-2.174.0}/synapse/tests/test_lib_queue.py +0 -0
  391. {synapse-2.173.1 → synapse-2.174.0}/synapse/tests/test_lib_ratelimit.py +0 -0
  392. {synapse-2.173.1 → synapse-2.174.0}/synapse/tests/test_lib_reflect.py +0 -0
  393. {synapse-2.173.1 → synapse-2.174.0}/synapse/tests/test_lib_rstorm.py +0 -0
  394. {synapse-2.173.1 → synapse-2.174.0}/synapse/tests/test_lib_scope.py +0 -0
  395. {synapse-2.173.1 → synapse-2.174.0}/synapse/tests/test_lib_scrape.py +0 -0
  396. {synapse-2.173.1 → synapse-2.174.0}/synapse/tests/test_lib_slaboffs.py +0 -0
  397. {synapse-2.173.1 → synapse-2.174.0}/synapse/tests/test_lib_slabseqn.py +0 -0
  398. {synapse-2.173.1 → synapse-2.174.0}/synapse/tests/test_lib_snap.py +0 -0
  399. {synapse-2.173.1 → synapse-2.174.0}/synapse/tests/test_lib_spooled.py +0 -0
  400. {synapse-2.173.1 → synapse-2.174.0}/synapse/tests/test_lib_storm_format.py +0 -0
  401. {synapse-2.173.1 → synapse-2.174.0}/synapse/tests/test_lib_stormhttp.py +0 -0
  402. {synapse-2.173.1 → synapse-2.174.0}/synapse/tests/test_lib_stormlib_aha.py +0 -0
  403. {synapse-2.173.1 → synapse-2.174.0}/synapse/tests/test_lib_stormlib_auth.py +0 -0
  404. {synapse-2.173.1 → synapse-2.174.0}/synapse/tests/test_lib_stormlib_backup.py +0 -0
  405. {synapse-2.173.1 → synapse-2.174.0}/synapse/tests/test_lib_stormlib_basex.py +0 -0
  406. {synapse-2.173.1 → synapse-2.174.0}/synapse/tests/test_lib_stormlib_cache.py +0 -0
  407. {synapse-2.173.1 → synapse-2.174.0}/synapse/tests/test_lib_stormlib_cell.py +0 -0
  408. {synapse-2.173.1 → synapse-2.174.0}/synapse/tests/test_lib_stormlib_compression.py +0 -0
  409. {synapse-2.173.1 → synapse-2.174.0}/synapse/tests/test_lib_stormlib_cortex.py +0 -0
  410. {synapse-2.173.1 → synapse-2.174.0}/synapse/tests/test_lib_stormlib_easyperm.py +0 -0
  411. {synapse-2.173.1 → synapse-2.174.0}/synapse/tests/test_lib_stormlib_env.py +0 -0
  412. {synapse-2.173.1 → synapse-2.174.0}/synapse/tests/test_lib_stormlib_ethereum.py +0 -0
  413. {synapse-2.173.1 → synapse-2.174.0}/synapse/tests/test_lib_stormlib_gen.py +0 -0
  414. {synapse-2.173.1 → synapse-2.174.0}/synapse/tests/test_lib_stormlib_gis.py +0 -0
  415. {synapse-2.173.1 → synapse-2.174.0}/synapse/tests/test_lib_stormlib_hashes.py +0 -0
  416. {synapse-2.173.1 → synapse-2.174.0}/synapse/tests/test_lib_stormlib_hex.py +0 -0
  417. {synapse-2.173.1 → synapse-2.174.0}/synapse/tests/test_lib_stormlib_imap.py +0 -0
  418. {synapse-2.173.1 → synapse-2.174.0}/synapse/tests/test_lib_stormlib_infosec.py +0 -0
  419. {synapse-2.173.1 → synapse-2.174.0}/synapse/tests/test_lib_stormlib_ipv6.py +0 -0
  420. {synapse-2.173.1 → synapse-2.174.0}/synapse/tests/test_lib_stormlib_iters.py +0 -0
  421. {synapse-2.173.1 → synapse-2.174.0}/synapse/tests/test_lib_stormlib_json.py +0 -0
  422. {synapse-2.173.1 → synapse-2.174.0}/synapse/tests/test_lib_stormlib_log.py +0 -0
  423. {synapse-2.173.1 → synapse-2.174.0}/synapse/tests/test_lib_stormlib_macro.py +0 -0
  424. {synapse-2.173.1 → synapse-2.174.0}/synapse/tests/test_lib_stormlib_mime.py +0 -0
  425. {synapse-2.173.1 → synapse-2.174.0}/synapse/tests/test_lib_stormlib_model.py +0 -0
  426. {synapse-2.173.1 → synapse-2.174.0}/synapse/tests/test_lib_stormlib_modelext.py +0 -0
  427. {synapse-2.173.1 → synapse-2.174.0}/synapse/tests/test_lib_stormlib_oauth.py +0 -0
  428. {synapse-2.173.1 → synapse-2.174.0}/synapse/tests/test_lib_stormlib_pack.py +0 -0
  429. {synapse-2.173.1 → synapse-2.174.0}/synapse/tests/test_lib_stormlib_random.py +0 -0
  430. {synapse-2.173.1 → synapse-2.174.0}/synapse/tests/test_lib_stormlib_scrape.py +0 -0
  431. {synapse-2.173.1 → synapse-2.174.0}/synapse/tests/test_lib_stormlib_smtp.py +0 -0
  432. {synapse-2.173.1 → synapse-2.174.0}/synapse/tests/test_lib_stormlib_spooled.py +0 -0
  433. {synapse-2.173.1 → synapse-2.174.0}/synapse/tests/test_lib_stormlib_stats.py +0 -0
  434. {synapse-2.173.1 → synapse-2.174.0}/synapse/tests/test_lib_stormlib_stix.py +0 -0
  435. {synapse-2.173.1 → synapse-2.174.0}/synapse/tests/test_lib_stormlib_storm.py +0 -0
  436. {synapse-2.173.1 → synapse-2.174.0}/synapse/tests/test_lib_stormlib_vault.py +0 -0
  437. {synapse-2.173.1 → synapse-2.174.0}/synapse/tests/test_lib_stormlib_xml.py +0 -0
  438. {synapse-2.173.1 → synapse-2.174.0}/synapse/tests/test_lib_stormlib_yaml.py +0 -0
  439. {synapse-2.173.1 → synapse-2.174.0}/synapse/tests/test_lib_stormwhois.py +0 -0
  440. {synapse-2.173.1 → synapse-2.174.0}/synapse/tests/test_lib_structlog.py +0 -0
  441. {synapse-2.173.1 → synapse-2.174.0}/synapse/tests/test_lib_task.py +0 -0
  442. {synapse-2.173.1 → synapse-2.174.0}/synapse/tests/test_lib_thishost.py +0 -0
  443. {synapse-2.173.1 → synapse-2.174.0}/synapse/tests/test_lib_time.py +0 -0
  444. {synapse-2.173.1 → synapse-2.174.0}/synapse/tests/test_lib_types.py +0 -0
  445. {synapse-2.173.1 → synapse-2.174.0}/synapse/tests/test_lib_urlhelp.py +0 -0
  446. {synapse-2.173.1 → synapse-2.174.0}/synapse/tests/test_lib_version.py +0 -0
  447. {synapse-2.173.1 → synapse-2.174.0}/synapse/tests/test_lib_view.py +0 -0
  448. {synapse-2.173.1 → synapse-2.174.0}/synapse/tests/test_lookup_iso3166.py +0 -0
  449. {synapse-2.173.1 → synapse-2.174.0}/synapse/tests/test_lookup_phonenum.py +0 -0
  450. {synapse-2.173.1 → synapse-2.174.0}/synapse/tests/test_mindmeld.py +0 -0
  451. {synapse-2.173.1 → synapse-2.174.0}/synapse/tests/test_model_auth.py +0 -0
  452. {synapse-2.173.1 → synapse-2.174.0}/synapse/tests/test_model_base.py +0 -0
  453. {synapse-2.173.1 → synapse-2.174.0}/synapse/tests/test_model_belief.py +0 -0
  454. {synapse-2.173.1 → synapse-2.174.0}/synapse/tests/test_model_biz.py +0 -0
  455. {synapse-2.173.1 → synapse-2.174.0}/synapse/tests/test_model_dns.py +0 -0
  456. {synapse-2.173.1 → synapse-2.174.0}/synapse/tests/test_model_files.py +0 -0
  457. {synapse-2.173.1 → synapse-2.174.0}/synapse/tests/test_model_geospace.py +0 -0
  458. {synapse-2.173.1 → synapse-2.174.0}/synapse/tests/test_model_gov_cn.py +0 -0
  459. {synapse-2.173.1 → synapse-2.174.0}/synapse/tests/test_model_gov_intl.py +0 -0
  460. {synapse-2.173.1 → synapse-2.174.0}/synapse/tests/test_model_gov_us.py +0 -0
  461. {synapse-2.173.1 → synapse-2.174.0}/synapse/tests/test_model_inet.py +0 -0
  462. {synapse-2.173.1 → synapse-2.174.0}/synapse/tests/test_model_infotech.py +0 -0
  463. {synapse-2.173.1 → synapse-2.174.0}/synapse/tests/test_model_language.py +0 -0
  464. {synapse-2.173.1 → synapse-2.174.0}/synapse/tests/test_model_material.py +0 -0
  465. {synapse-2.173.1 → synapse-2.174.0}/synapse/tests/test_model_media.py +0 -0
  466. {synapse-2.173.1 → synapse-2.174.0}/synapse/tests/test_model_orgs.py +0 -0
  467. {synapse-2.173.1 → synapse-2.174.0}/synapse/tests/test_model_person.py +0 -0
  468. {synapse-2.173.1 → synapse-2.174.0}/synapse/tests/test_model_planning.py +0 -0
  469. {synapse-2.173.1 → synapse-2.174.0}/synapse/tests/test_model_proj.py +0 -0
  470. {synapse-2.173.1 → synapse-2.174.0}/synapse/tests/test_model_risk.py +0 -0
  471. {synapse-2.173.1 → synapse-2.174.0}/synapse/tests/test_model_science.py +0 -0
  472. {synapse-2.173.1 → synapse-2.174.0}/synapse/tests/test_model_syn.py +0 -0
  473. {synapse-2.173.1 → synapse-2.174.0}/synapse/tests/test_model_telco.py +0 -0
  474. {synapse-2.173.1 → synapse-2.174.0}/synapse/tests/test_model_transport.py +0 -0
  475. {synapse-2.173.1 → synapse-2.174.0}/synapse/tests/test_servers_axon.py +0 -0
  476. {synapse-2.173.1 → synapse-2.174.0}/synapse/tests/test_servers_cortex.py +0 -0
  477. {synapse-2.173.1 → synapse-2.174.0}/synapse/tests/test_servers_cryotank.py +0 -0
  478. {synapse-2.173.1 → synapse-2.174.0}/synapse/tests/test_servers_stemcell.py +0 -0
  479. {synapse-2.173.1 → synapse-2.174.0}/synapse/tests/test_servers_univ.py +0 -0
  480. {synapse-2.173.1 → synapse-2.174.0}/synapse/tests/test_telepath.py +0 -0
  481. {synapse-2.173.1 → synapse-2.174.0}/synapse/tests/test_tools_aha.py +0 -0
  482. {synapse-2.173.1 → synapse-2.174.0}/synapse/tests/test_tools_autodoc.py +0 -0
  483. {synapse-2.173.1 → synapse-2.174.0}/synapse/tests/test_tools_axon2axon.py +0 -0
  484. {synapse-2.173.1 → synapse-2.174.0}/synapse/tests/test_tools_backup.py +0 -0
  485. {synapse-2.173.1 → synapse-2.174.0}/synapse/tests/test_tools_cellauth.py +0 -0
  486. {synapse-2.173.1 → synapse-2.174.0}/synapse/tests/test_tools_cryo_cat.py +0 -0
  487. {synapse-2.173.1 → synapse-2.174.0}/synapse/tests/test_tools_cryo_list.py +0 -0
  488. {synapse-2.173.1 → synapse-2.174.0}/synapse/tests/test_tools_csvtool.py +0 -0
  489. {synapse-2.173.1 → synapse-2.174.0}/synapse/tests/test_tools_docker_validate.py +0 -0
  490. {synapse-2.173.1 → synapse-2.174.0}/synapse/tests/test_tools_easycert.py +0 -0
  491. {synapse-2.173.1 → synapse-2.174.0}/synapse/tests/test_tools_feed.py +0 -0
  492. {synapse-2.173.1 → synapse-2.174.0}/synapse/tests/test_tools_genpkg.py +0 -0
  493. {synapse-2.173.1 → synapse-2.174.0}/synapse/tests/test_tools_guid.py +0 -0
  494. {synapse-2.173.1 → synapse-2.174.0}/synapse/tests/test_tools_healthcheck.py +0 -0
  495. {synapse-2.173.1 → synapse-2.174.0}/synapse/tests/test_tools_hiveload.py +0 -0
  496. {synapse-2.173.1 → synapse-2.174.0}/synapse/tests/test_tools_hivesave.py +0 -0
  497. {synapse-2.173.1 → synapse-2.174.0}/synapse/tests/test_tools_json2mpk.py +0 -0
  498. {synapse-2.173.1 → synapse-2.174.0}/synapse/tests/test_tools_livebackup.py +0 -0
  499. {synapse-2.173.1 → synapse-2.174.0}/synapse/tests/test_tools_modrole.py +0 -0
  500. {synapse-2.173.1 → synapse-2.174.0}/synapse/tests/test_tools_moduser.py +0 -0
  501. {synapse-2.173.1 → synapse-2.174.0}/synapse/tests/test_tools_pullfile.py +0 -0
  502. {synapse-2.173.1 → synapse-2.174.0}/synapse/tests/test_tools_pushfile.py +0 -0
  503. {synapse-2.173.1 → synapse-2.174.0}/synapse/tests/test_tools_reload.py +0 -0
  504. {synapse-2.173.1 → synapse-2.174.0}/synapse/tests/test_tools_rstorm.py +0 -0
  505. {synapse-2.173.1 → synapse-2.174.0}/synapse/tests/test_tools_storm.py +0 -0
  506. {synapse-2.173.1 → synapse-2.174.0}/synapse/tests/test_utils.py +0 -0
  507. {synapse-2.173.1 → synapse-2.174.0}/synapse/tests/test_utils_getrefs.py +0 -0
  508. {synapse-2.173.1 → synapse-2.174.0}/synapse/tests/test_utils_stormcov.py +0 -0
  509. {synapse-2.173.1 → synapse-2.174.0}/synapse/tests/utils.py +0 -0
  510. {synapse-2.173.1 → synapse-2.174.0}/synapse/tools/__init__.py +0 -0
  511. {synapse-2.173.1 → synapse-2.174.0}/synapse/tools/aha/__init__.py +0 -0
  512. {synapse-2.173.1 → synapse-2.174.0}/synapse/tools/aha/easycert.py +0 -0
  513. {synapse-2.173.1 → synapse-2.174.0}/synapse/tools/aha/enroll.py +0 -0
  514. {synapse-2.173.1 → synapse-2.174.0}/synapse/tools/aha/list.py +0 -0
  515. {synapse-2.173.1 → synapse-2.174.0}/synapse/tools/aha/provision/__init__.py +0 -0
  516. {synapse-2.173.1 → synapse-2.174.0}/synapse/tools/aha/provision/service.py +0 -0
  517. {synapse-2.173.1 → synapse-2.174.0}/synapse/tools/aha/provision/user.py +0 -0
  518. {synapse-2.173.1 → synapse-2.174.0}/synapse/tools/autodoc.py +0 -0
  519. {synapse-2.173.1 → synapse-2.174.0}/synapse/tools/axon2axon.py +0 -0
  520. {synapse-2.173.1 → synapse-2.174.0}/synapse/tools/backup.py +0 -0
  521. {synapse-2.173.1 → synapse-2.174.0}/synapse/tools/cellauth.py +0 -0
  522. {synapse-2.173.1 → synapse-2.174.0}/synapse/tools/cmdr.py +0 -0
  523. {synapse-2.173.1 → synapse-2.174.0}/synapse/tools/cryo/__init__.py +0 -0
  524. {synapse-2.173.1 → synapse-2.174.0}/synapse/tools/cryo/cat.py +0 -0
  525. {synapse-2.173.1 → synapse-2.174.0}/synapse/tools/cryo/list.py +0 -0
  526. {synapse-2.173.1 → synapse-2.174.0}/synapse/tools/csvtool.py +0 -0
  527. {synapse-2.173.1 → synapse-2.174.0}/synapse/tools/docker/__init__.py +0 -0
  528. {synapse-2.173.1 → synapse-2.174.0}/synapse/tools/docker/validate.py +0 -0
  529. {synapse-2.173.1 → synapse-2.174.0}/synapse/tools/easycert.py +0 -0
  530. {synapse-2.173.1 → synapse-2.174.0}/synapse/tools/feed.py +0 -0
  531. {synapse-2.173.1 → synapse-2.174.0}/synapse/tools/genpkg.py +0 -0
  532. {synapse-2.173.1 → synapse-2.174.0}/synapse/tools/guid.py +0 -0
  533. {synapse-2.173.1 → synapse-2.174.0}/synapse/tools/healthcheck.py +0 -0
  534. {synapse-2.173.1 → synapse-2.174.0}/synapse/tools/hive/__init__.py +0 -0
  535. {synapse-2.173.1 → synapse-2.174.0}/synapse/tools/hive/load.py +0 -0
  536. {synapse-2.173.1 → synapse-2.174.0}/synapse/tools/hive/save.py +0 -0
  537. {synapse-2.173.1 → synapse-2.174.0}/synapse/tools/json2mpk.py +0 -0
  538. {synapse-2.173.1 → synapse-2.174.0}/synapse/tools/livebackup.py +0 -0
  539. {synapse-2.173.1 → synapse-2.174.0}/synapse/tools/modrole.py +0 -0
  540. {synapse-2.173.1 → synapse-2.174.0}/synapse/tools/moduser.py +0 -0
  541. {synapse-2.173.1 → synapse-2.174.0}/synapse/tools/promote.py +0 -0
  542. {synapse-2.173.1 → synapse-2.174.0}/synapse/tools/pullfile.py +0 -0
  543. {synapse-2.173.1 → synapse-2.174.0}/synapse/tools/pushfile.py +0 -0
  544. {synapse-2.173.1 → synapse-2.174.0}/synapse/tools/reload.py +0 -0
  545. {synapse-2.173.1 → synapse-2.174.0}/synapse/tools/rstorm.py +0 -0
  546. {synapse-2.173.1 → synapse-2.174.0}/synapse/tools/storm.py +0 -0
  547. {synapse-2.173.1 → synapse-2.174.0}/synapse/utils/__init__.py +0 -0
  548. {synapse-2.173.1 → synapse-2.174.0}/synapse/utils/getrefs.py +0 -0
  549. {synapse-2.173.1 → synapse-2.174.0}/synapse/utils/stormcov/__init__.py +0 -0
  550. {synapse-2.173.1 → synapse-2.174.0}/synapse/utils/stormcov/plugin.py +0 -0
  551. {synapse-2.173.1 → synapse-2.174.0}/synapse/vendor/__init__.py +0 -0
  552. {synapse-2.173.1 → synapse-2.174.0}/synapse/vendor/cashaddress/LICENSE +0 -0
  553. {synapse-2.173.1 → synapse-2.174.0}/synapse/vendor/cashaddress/__init__.py +0 -0
  554. {synapse-2.173.1 → synapse-2.174.0}/synapse/vendor/cashaddress/base58.py +0 -0
  555. {synapse-2.173.1 → synapse-2.174.0}/synapse/vendor/cashaddress/convert.py +0 -0
  556. {synapse-2.173.1 → synapse-2.174.0}/synapse/vendor/cashaddress/crypto.py +0 -0
  557. {synapse-2.173.1 → synapse-2.174.0}/synapse/vendor/cashaddress/tests/__init__.py +0 -0
  558. {synapse-2.173.1 → synapse-2.174.0}/synapse/vendor/cashaddress/tests/test_cashaddress.py +0 -0
  559. {synapse-2.173.1 → synapse-2.174.0}/synapse/vendor/substrateinterface/LICENSE +0 -0
  560. {synapse-2.173.1 → synapse-2.174.0}/synapse/vendor/substrateinterface/__init__.py +0 -0
  561. {synapse-2.173.1 → synapse-2.174.0}/synapse/vendor/substrateinterface/tests/__init__.py +0 -0
  562. {synapse-2.173.1 → synapse-2.174.0}/synapse/vendor/substrateinterface/tests/test_ss58.py +0 -0
  563. {synapse-2.173.1 → synapse-2.174.0}/synapse/vendor/substrateinterface/utils/__init__.py +0 -0
  564. {synapse-2.173.1 → synapse-2.174.0}/synapse/vendor/substrateinterface/utils/ss58.py +0 -0
  565. {synapse-2.173.1 → synapse-2.174.0}/synapse/vendor/utils.py +0 -0
  566. {synapse-2.173.1 → synapse-2.174.0}/synapse/vendor/xrpl/LICENSE +0 -0
  567. {synapse-2.173.1 → synapse-2.174.0}/synapse/vendor/xrpl/__init__.py +0 -0
  568. {synapse-2.173.1 → synapse-2.174.0}/synapse/vendor/xrpl/constants.py +0 -0
  569. {synapse-2.173.1 → synapse-2.174.0}/synapse/vendor/xrpl/core/__init__.py +0 -0
  570. {synapse-2.173.1 → synapse-2.174.0}/synapse/vendor/xrpl/core/addresscodec/__init__.py +0 -0
  571. {synapse-2.173.1 → synapse-2.174.0}/synapse/vendor/xrpl/core/addresscodec/codec.py +0 -0
  572. {synapse-2.173.1 → synapse-2.174.0}/synapse/vendor/xrpl/core/addresscodec/exceptions.py +0 -0
  573. {synapse-2.173.1 → synapse-2.174.0}/synapse/vendor/xrpl/core/addresscodec/main.py +0 -0
  574. {synapse-2.173.1 → synapse-2.174.0}/synapse/vendor/xrpl/core/addresscodec/utils.py +0 -0
  575. {synapse-2.173.1 → synapse-2.174.0}/synapse/vendor/xrpl/tests/__init__.py +0 -0
  576. {synapse-2.173.1 → synapse-2.174.0}/synapse/vendor/xrpl/tests/test_codec.py +0 -0
  577. {synapse-2.173.1 → synapse-2.174.0}/synapse/vendor/xrpl/tests/test_main.py +0 -0
  578. {synapse-2.173.1 → synapse-2.174.0}/synapse/vendor/xrpl/tests/test_main_test_cases.py +0 -0
  579. {synapse-2.173.1 → synapse-2.174.0}/synapse.egg-info/dependency_links.txt +0 -0
  580. {synapse-2.173.1 → synapse-2.174.0}/synapse.egg-info/requires.txt +0 -0
  581. {synapse-2.173.1 → synapse-2.174.0}/synapse.egg-info/top_level.txt +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: synapse
3
- Version: 2.173.1
3
+ Version: 2.174.0
4
4
  Summary: Synapse Intelligence Analysis Framework
5
5
  Author-email: The Vertex Project LLC <root@vertex.link>
6
6
  License: Apache License 2.0
@@ -4,7 +4,7 @@ build-backend = 'setuptools.build_meta'
4
4
 
5
5
  [project]
6
6
  name = 'synapse'
7
- version = '2.173.1'
7
+ version = '2.174.0'
8
8
  authors = [
9
9
  { name = 'The Vertex Project LLC', email = 'root@vertex.link'},
10
10
  ]
@@ -493,7 +493,7 @@ class AxonApi(s_cell.CellApi, s_share.Share): # type: ignore
493
493
 
494
494
  async def wants(self, sha256s):
495
495
  '''
496
- Get a list of sha256 values the axon does not have from a input list.
496
+ Get a list of sha256 values the axon does not have from an input list.
497
497
 
498
498
  Args:
499
499
  sha256s (list): A list of sha256 values as bytes.
@@ -11,6 +11,7 @@ import types
11
11
  import base64
12
12
  import shutil
13
13
  import struct
14
+ import typing
14
15
  import asyncio
15
16
  import decimal
16
17
  import fnmatch
@@ -379,7 +380,7 @@ def reqbytes(*paths):
379
380
  with reqfile(*paths) as fd:
380
381
  return fd.read()
381
382
 
382
- def genfile(*paths):
383
+ def genfile(*paths) -> typing.BinaryIO:
383
384
  '''
384
385
  Create or open (for read/write) a file path join.
385
386
 
@@ -396,7 +397,7 @@ def genfile(*paths):
396
397
  to append.
397
398
 
398
399
  Returns:
399
- io.BufferedRandom: A file-object which can be read/written too.
400
+ A file-object which can be read/written too.
400
401
  '''
401
402
  path = genpath(*paths)
402
403
  gendir(os.path.dirname(path))
@@ -535,13 +536,26 @@ def yamlload(*paths):
535
536
  with io.open(path, 'rb') as fd:
536
537
  return yamlloads(fd)
537
538
 
539
+ def yamldump(obj, stream: typing.Optional[typing.BinaryIO] =None) -> bytes:
540
+ '''
541
+ Dump a object to yaml.
542
+
543
+ Args:
544
+ obj: The object to serialize.
545
+ stream: The optional stream to write the stream too.
546
+
547
+ Returns:
548
+ The raw yaml bytes if stream is not provided.
549
+ '''
550
+ return yaml.dump(obj, allow_unicode=True, default_flow_style=False,
551
+ default_style='', explicit_start=True, explicit_end=True,
552
+ encoding='utf8', stream=stream, Dumper=Dumper)
553
+
538
554
  def yamlsave(obj, *paths):
539
555
  path = genpath(*paths)
540
556
  with genfile(path) as fd:
541
557
  fd.truncate(0)
542
- yaml.dump(obj, allow_unicode=True, default_flow_style=False,
543
- default_style='', explicit_start=True, explicit_end=True,
544
- encoding='utf8', stream=fd, Dumper=Dumper)
558
+ yamldump(obj, stream=fd)
545
559
 
546
560
  def yamlmod(obj, *paths):
547
561
  '''
@@ -42,6 +42,7 @@ import synapse.lib.schemas as s_schemas
42
42
  import synapse.lib.spooled as s_spooled
43
43
  import synapse.lib.version as s_version
44
44
  import synapse.lib.urlhelp as s_urlhelp
45
+ import synapse.lib.hashitem as s_hashitem
45
46
  import synapse.lib.jsonstor as s_jsonstor
46
47
  import synapse.lib.modelrev as s_modelrev
47
48
  import synapse.lib.stormsvc as s_stormsvc
@@ -949,6 +950,7 @@ class Cortex(s_oauth.OAuthMixin, s_cell.Cell): # type: ignore
949
950
 
950
951
  # Initialize our storage and views
951
952
  await self._initCoreAxon()
953
+ await self._initJsonStor()
952
954
 
953
955
  await self._initCoreLayers()
954
956
  await self._initCoreViews()
@@ -1009,8 +1011,16 @@ class Cortex(s_oauth.OAuthMixin, s_cell.Cell): # type: ignore
1009
1011
  await self._bumpCellVers('cortex:storage', (
1010
1012
  (1, self._storUpdateMacros),
1011
1013
  (2, self._storLayrFeedDefaults),
1014
+ (3, self._updateTriggerViewIdens),
1012
1015
  ), nexs=False)
1013
1016
 
1017
+ async def _updateTriggerViewIdens(self):
1018
+ for view in self.views.values():
1019
+ for trigiden, trigger in await view.listTriggers():
1020
+ if trigger.get('view') != view.iden:
1021
+ trigger.tdef['view'] = view.iden
1022
+ await view.trigdict.set(trigiden, trigger.tdef)
1023
+
1014
1024
  async def _viewNomergeToProtected(self):
1015
1025
  for view in self.views.values():
1016
1026
  nomerge = view.info.get('nomerge', False)
@@ -1462,8 +1472,6 @@ class Cortex(s_oauth.OAuthMixin, s_cell.Cell): # type: ignore
1462
1472
  async def initServiceRuntime(self):
1463
1473
 
1464
1474
  # do any post-nexus initialization here...
1465
- await self._initJsonStor()
1466
-
1467
1475
  if self.isactive:
1468
1476
  await self._checkNexsIndx()
1469
1477
 
@@ -2550,7 +2558,10 @@ class Cortex(s_oauth.OAuthMixin, s_cell.Cell): # type: ignore
2550
2558
  name = pkgdef.get('name')
2551
2559
  olddef = self.pkghive.get(name, None)
2552
2560
  if olddef is not None:
2553
- await self._dropStormPkg(olddef)
2561
+ if s_hashitem.hashitem(pkgdef) != s_hashitem.hashitem(olddef):
2562
+ await self._dropStormPkg(olddef)
2563
+ else:
2564
+ return
2554
2565
 
2555
2566
  await self.loadStormPkg(pkgdef)
2556
2567
  await self.pkghive.set(name, pkgdef)
@@ -2965,17 +2976,19 @@ class Cortex(s_oauth.OAuthMixin, s_cell.Cell): # type: ignore
2965
2976
  '''
2966
2977
  Delete storm packages associated with a service.
2967
2978
  '''
2968
- oldpkgs = []
2969
- for _, pdef in self.pkghive.items():
2970
- pkgiden = pdef.get('svciden')
2971
- if pkgiden and pkgiden == iden:
2972
- oldpkgs.append(pdef)
2973
-
2974
- for pkg in oldpkgs:
2979
+ for pkg in self.getStormSvcPkgs(iden):
2975
2980
  name = pkg.get('name')
2976
2981
  if name:
2977
2982
  await self._delStormPkg(name)
2978
2983
 
2984
+ def getStormSvcPkgs(self, iden):
2985
+ pkgs = []
2986
+ for _, pdef in self.pkghive.items():
2987
+ pkgiden = pdef.get('svciden')
2988
+ if pkgiden and pkgiden == iden:
2989
+ pkgs.append(pdef)
2990
+ return pkgs
2991
+
2979
2992
  async def setStormSvcEvents(self, iden, edef):
2980
2993
  '''
2981
2994
  Set the event callbacks for a storm service. Extends the sdef dict.
@@ -6113,6 +6126,7 @@ class Cortex(s_oauth.OAuthMixin, s_cell.Cell): # type: ignore
6113
6126
  Args:
6114
6127
  iden (bytes): The iden of the cron job to be deleted
6115
6128
  '''
6129
+ await self._killCronTask(iden)
6116
6130
  try:
6117
6131
  await self.agenda.delete(iden)
6118
6132
  except s_exc.NoSuchIden:
@@ -6142,6 +6156,7 @@ class Cortex(s_oauth.OAuthMixin, s_cell.Cell): # type: ignore
6142
6156
  '''
6143
6157
  await self.agenda.enable(iden)
6144
6158
  await self.feedBeholder('cron:enable', {'iden': iden}, gates=[iden])
6159
+ logger.info(f'Enabled cron job {iden}', extra=await self.getLogExtra(iden=iden, status='MODIFY'))
6145
6160
 
6146
6161
  @s_nexus.Pusher.onPushAuto('cron:disable')
6147
6162
  async def disableCronJob(self, iden):
@@ -6152,7 +6167,28 @@ class Cortex(s_oauth.OAuthMixin, s_cell.Cell): # type: ignore
6152
6167
  iden (bytes): The iden of the cron job to be changed
6153
6168
  '''
6154
6169
  await self.agenda.disable(iden)
6170
+ await self._killCronTask(iden)
6155
6171
  await self.feedBeholder('cron:disable', {'iden': iden}, gates=[iden])
6172
+ logger.info(f'Disabled cron job {iden}', extra=await self.getLogExtra(iden=iden, status='MODIFY'))
6173
+
6174
+ async def killCronTask(self, iden):
6175
+ if self.agenda.appts.get(iden) is None:
6176
+ return False
6177
+ return await self._push('cron:task:kill', iden)
6178
+
6179
+ @s_nexus.Pusher.onPush('cron:task:kill')
6180
+ async def _killCronTask(self, iden):
6181
+
6182
+ appt = self.agenda.appts.get(iden)
6183
+ if appt is None:
6184
+ return False
6185
+
6186
+ task = appt.task
6187
+ if task is None:
6188
+ return False
6189
+
6190
+ self.schedCoro(task.kill())
6191
+ return True
6156
6192
 
6157
6193
  async def listCronJobs(self):
6158
6194
  '''
@@ -274,6 +274,7 @@ class _Appt:
274
274
  def __init__(self, stor, iden, recur, indx, query, creator, recs, nexttime=None, view=None, created=None, pool=False):
275
275
  self.doc = ''
276
276
  self.name = ''
277
+ self.task = None
277
278
  self.stor = stor
278
279
  self.pool = pool
279
280
  self.iden = iden
@@ -801,7 +802,12 @@ class Agenda(s_base.Base):
801
802
 
802
803
  coro = self._runJob(user, appt)
803
804
  task = self.core.runActiveTask(coro)
805
+
804
806
  appt.task = await self.core.boss.promotetask(task, f'Cron {appt.iden}', user, info=info)
807
+ async def fini():
808
+ appt.task = None
809
+
810
+ appt.task.onfini(fini)
805
811
 
806
812
  async def _markfailed(self, appt, reason):
807
813
  now = self._getNowTick()
@@ -3017,11 +3017,11 @@ class ArrayCond(Cond):
3017
3017
 
3018
3018
  async def getCondEval(self, runt):
3019
3019
 
3020
- name = await self.kids[0].compute(runt, None)
3021
3020
  cmpr = await self.kids[1].compute(runt, None)
3022
3021
 
3023
3022
  async def cond(node, path):
3024
3023
 
3024
+ name = await self.kids[0].compute(runt, None)
3025
3025
  prop = node.form.props.get(name)
3026
3026
  if prop is None:
3027
3027
  raise self.kids[0].addExcInfo(s_exc.NoSuchProp.init(name))
@@ -1623,7 +1623,17 @@ class Slab(s_base.Base):
1623
1623
  self.commitstats.append((starttime, xactopslen, delta))
1624
1624
 
1625
1625
  if self.WARN_COMMIT_TIME_MS and delta > self.WARN_COMMIT_TIME_MS:
1626
- logger.warning(f'Commit with {xactopslen} items in {self!r} took {delta} ms.')
1626
+
1627
+ extra = {
1628
+ 'delta': delta,
1629
+ 'path': self.path,
1630
+ 'sysctls': s_thisplat.getSysctls(),
1631
+ 'xactopslen': xactopslen,
1632
+ }
1633
+
1634
+ mesg = f'Commit with {xactopslen} items in {self!r} took {delta} ms - performance may be degraded.'
1635
+ logger.warning(mesg, extra={'synapse': extra})
1636
+
1627
1637
  self._initCoXact()
1628
1638
  return True
1629
1639
 
@@ -8,7 +8,7 @@ import synapse.lib.layer as s_layer
8
8
 
9
9
  logger = logging.getLogger(__name__)
10
10
 
11
- maxvers = (0, 2, 24)
11
+ maxvers = (0, 2, 25)
12
12
 
13
13
  class ModelRev:
14
14
 
@@ -38,6 +38,7 @@ class ModelRev:
38
38
  ((0, 2, 22), self.revModel_0_2_22),
39
39
  ((0, 2, 23), self.revModel_0_2_23),
40
40
  ((0, 2, 24), self.revModel_0_2_24),
41
+ ((0, 2, 25), self.revModel_0_2_25),
41
42
  )
42
43
 
43
44
  async def _uniqSortArray(self, todoprops, layers):
@@ -757,6 +758,17 @@ class ModelRev:
757
758
  for form, props in formprops.items():
758
759
  await self._normVelocityProps(layers, form, props)
759
760
 
761
+ async def revModel_0_2_25(self, layers):
762
+ await self._typeToForm(layers, 'econ:currency', 'econ:currency')
763
+ await self._normPropValu(layers, 'ou:position:title')
764
+ await self._propToForm(layers, 'ou:position:title', 'ou:jobtitle')
765
+
766
+ await self._normPropValu(layers, 'ou:conference:name')
767
+ await self._propToForm(layers, 'ou:conference:name', 'entity:name')
768
+
769
+ await self._normPropValu(layers, 'ou:conference:names')
770
+ await self._propArrayToForm(layers, 'ou:conference:names', 'entity:name')
771
+
760
772
  async def runStorm(self, text, opts=None):
761
773
  '''
762
774
  Run storm code in a schedcoro and log the output messages.
@@ -1116,6 +1128,10 @@ class ModelRev:
1116
1128
  '''
1117
1129
  await self.runStorm(storm, opts=opts)
1118
1130
 
1131
+ async def _typeToForm(self, layers, typename, formname):
1132
+ for prop in layers[0].core.model.getPropsByType(typename):
1133
+ await self._propToForm(layers, prop.full, formname)
1134
+
1119
1135
  async def _propArrayToForm(self, layers, propfull, formname):
1120
1136
 
1121
1137
  opts = {'vars': {
@@ -17,6 +17,7 @@ coremods = (
17
17
  'synapse.models.telco.TelcoModule',
18
18
  'synapse.models.inet.InetModule',
19
19
  'synapse.models.material.MatModule',
20
+ 'synapse.models.entity.EntityModule',
20
21
  'synapse.models.language.LangModule',
21
22
  'synapse.models.crypto.CryptoModule',
22
23
  'synapse.models.gov.cn.GovCnModule',
@@ -7,8 +7,27 @@ import synapse.exc as s_exc
7
7
 
8
8
  logger = logging.getLogger(__name__)
9
9
 
10
+ def _ext_un(code, byts):
11
+ if code == 0:
12
+ return int.from_bytes(byts, 'big')
13
+ elif code == 1:
14
+ return int.from_bytes(byts, 'big', signed=True)
15
+ else: # pragma: no cover
16
+ mesg = f'Invalid msgpack ext code: {code} ({repr(byts)[:20]})'
17
+ raise s_exc.SynErr(mesg=mesg)
18
+
19
+ def _ext_en(item):
20
+ if isinstance(item, int):
21
+ if item > 0xffffffffffffffff:
22
+ size = (item.bit_length() + 7) // 8
23
+ return msgpack.ExtType(0, item.to_bytes(size, 'big'))
24
+ if item < -0x8000000000000000:
25
+ size = (item.bit_length() // 8) + 1
26
+ return msgpack.ExtType(1, item.to_bytes(size, 'big', signed=True))
27
+ return item
28
+
10
29
  # Single Packer object which is reused for performance
11
- pakr = msgpack.Packer(use_bin_type=True, unicode_errors='surrogatepass')
30
+ pakr = msgpack.Packer(use_bin_type=True, unicode_errors='surrogatepass', default=_ext_en)
12
31
  if isinstance(pakr, m_fallback.Packer): # pragma: no cover
13
32
  logger.warning('******************************************************************************************************')
14
33
  logger.warning('* msgpack is using the pure python fallback implementation. This will impact performance negatively. *')
@@ -21,6 +40,7 @@ unpacker_kwargs = {
21
40
  'raw': False,
22
41
  'use_list': False,
23
42
  'strict_map_key': False,
43
+ 'ext_hook': _ext_un,
24
44
  'max_buffer_size': 2**32 - 1,
25
45
  'unicode_errors': 'surrogatepass'
26
46
  }
@@ -67,7 +87,8 @@ def _fallback_en(item):
67
87
  bytes: The serialized bytes in msgpack format.
68
88
  '''
69
89
  try:
70
- return msgpack.packb(item, use_bin_type=True, unicode_errors='surrogatepass')
90
+ return msgpack.packb(item, use_bin_type=True,
91
+ unicode_errors='surrogatepass', default=_ext_en)
71
92
  except TypeError as e:
72
93
  mesg = f'{e.args[0]}: {repr(item)[:20]}'
73
94
  raise s_exc.NotMsgpackSafe(mesg=mesg) from e
@@ -95,7 +116,8 @@ def un(byts, use_list=False):
95
116
  obj: The de-serialized object
96
117
  '''
97
118
  # This uses a subset of unpacker_kwargs
98
- return msgpack.loads(byts, use_list=use_list, raw=False, strict_map_key=False, unicode_errors='surrogatepass')
119
+ return msgpack.loads(byts, use_list=use_list, raw=False, strict_map_key=False,
120
+ unicode_errors='surrogatepass', ext_hook=_ext_un)
99
121
 
100
122
  def isok(item):
101
123
  '''
@@ -12,7 +12,6 @@ import synapse.common as s_common
12
12
  import synapse.telepath as s_telepath
13
13
 
14
14
  import synapse.lib.base as s_base
15
- import synapse.lib.version as s_version
16
15
 
17
16
  logger = logging.getLogger(__name__)
18
17
 
@@ -267,7 +266,7 @@ class NexsRoot(s_base.Base):
267
266
  raise
268
267
 
269
268
  except Exception:
270
- logger.exception('Exception while replaying log')
269
+ logger.exception(f'Exception while replaying log: {s_common.trimText(repr(indxitem))}')
271
270
 
272
271
  async def addWriteHold(self, reason):
273
272
 
@@ -497,27 +496,32 @@ class NexsRoot(s_base.Base):
497
496
 
498
497
  async def runMirrorLoop(self, proxy):
499
498
 
500
- cellinfo = await proxy.getCellInfo()
501
- features = cellinfo.get('features', {})
502
- if features.get('dynmirror'):
503
- await proxy.readyToMirror()
499
+ try:
500
+ cellinfo = await proxy.getCellInfo()
501
+ features = cellinfo.get('features', {})
502
+ if features.get('dynmirror'):
503
+ await proxy.readyToMirror()
504
+
505
+ cellvers = cellinfo['cell']['version']
506
+ if cellvers > self.cell.VERSION:
507
+ logger.error('Leader is a higher version than we are. Mirrors must be updated first. Entering read-only mode.')
508
+ await self.addWriteHold(leaderversion)
509
+ # this will fire again on reconnect...
510
+ return
504
511
 
505
- cellvers = cellinfo['cell']['version']
506
- if cellvers > self.cell.VERSION:
507
- logger.error('Leader is a higher version than we are. Mirrors must be updated first. Entering read-only mode.')
508
- await self.addWriteHold(leaderversion)
509
- # this will fire again on reconnect...
510
- return
512
+ # When we reconnect and the leader version has become ok...
513
+ await self.delWriteHold(leaderversion)
511
514
 
512
- # When we reconnect and the leader version has become ok...
513
- await self.delWriteHold(leaderversion)
515
+ if self.celliden is not None:
516
+ if self.celliden != await proxy.getCellIden():
517
+ logger.error('remote cell has different iden! Aborting mirror sync')
518
+ await proxy.fini()
519
+ await self.fini()
520
+ return
514
521
 
515
- if self.celliden is not None:
516
- if self.celliden != await proxy.getCellIden():
517
- logger.error('remote cell has different iden! Aborting mirror sync')
518
- await proxy.fini()
519
- await self.fini()
520
- return
522
+ except Exception as exc:
523
+ logger.exception(f'Unknown error during mirror loop startup: {exc}')
524
+ await proxy.fini()
521
525
 
522
526
  while not proxy.isfini:
523
527
 
@@ -573,8 +577,8 @@ class NexsRoot(s_base.Base):
573
577
  if respfutu is not None:
574
578
  respfutu.set_result(retn)
575
579
 
576
- except Exception: # pragma: no cover
577
- logger.exception('error in mirror loop')
580
+ except Exception as exc: # pragma: no cover
581
+ logger.exception(f'error in mirror loop: {exc}')
578
582
 
579
583
  # If we've left the mirror loop for some reason, we no longer know if we
580
584
  # will be in the realtime window or not. So we should try to set the ready
@@ -287,3 +287,34 @@ _stormPoolOptsSchema = {
287
287
  'additionalProperties': False,
288
288
  }
289
289
  reqValidStormPoolOpts = s_config.getJsValidator(_stormPoolOptsSchema)
290
+
291
+ # These types are order sensitive
292
+ _changelogTypes = {'migration': 'Automatic Migrations',
293
+ 'model': 'Model Changes',
294
+ 'feat': 'Features and Enhancements',
295
+ 'bug': 'Bugfixes',
296
+ 'doc': 'Improved documentation',
297
+ 'deprecation': 'Deprecations'}
298
+
299
+ _changelogSchema = {
300
+ 'type': 'object',
301
+ 'properties': {
302
+ 'type': {
303
+ 'type': 'string',
304
+ 'enum': list(_changelogTypes.keys()),
305
+ },
306
+ 'desc': {
307
+ 'type': 'string',
308
+ 'minLength': 1,
309
+ },
310
+ 'prs': {
311
+ 'type': 'array',
312
+ 'items': {
313
+ 'type': 'integer',
314
+ }
315
+ }
316
+ },
317
+ 'additionalProperties': False,
318
+ 'required': ['type', 'desc']
319
+ }
320
+ _reqChanglogSchema = s_config.getJsValidator(_changelogSchema)
@@ -4,6 +4,7 @@ import logging
4
4
  import synapse.telepath as s_telepath
5
5
 
6
6
  import synapse.lib.base as s_base
7
+ import synapse.lib.hashitem as s_hashitem
7
8
 
8
9
  logger = logging.getLogger(__name__)
9
10
 
@@ -139,32 +140,50 @@ class StormSvcClient(s_base.Base):
139
140
  self.core.svcsbysvcname[self.svcname] = self
140
141
 
141
142
  await self.core.feedBeholder('svc:set', {'name': self.name, 'iden': self.iden, 'svcname': self.svcname, 'version': self.svcvers})
143
+ # if the old service is the same as the new service, just skip
142
144
 
143
- try:
144
- await self.core._delStormSvcPkgs(self.iden)
145
-
146
- except asyncio.CancelledError: # pragma: no cover TODO: remove once >= py 3.8 only
147
- raise
148
-
149
- except Exception:
150
- logger.exception(f'_delStormSvcPkgs failed for service {self.name} ({self.iden})')
145
+ oldpkgs = self.core.getStormSvcPkgs(self.iden)
146
+ byname = {}
147
+ done = set()
148
+ for pdef in oldpkgs:
149
+ iden = s_hashitem.hashitem(pdef)
150
+ byname[pdef.get('name')] = iden
151
151
 
152
152
  # Register new packages
153
153
  for pdef in self.info.get('pkgs', ()):
154
-
155
154
  try:
156
- # push the svciden in the package metadata for later reference.
157
155
  pdef['svciden'] = self.iden
158
156
  await self.core._normStormPkg(pdef)
157
+ except Exception:
158
+ name = pdef.get('name')
159
+ logger.exception(f'normStormPkg ({name}) failed for service {self.name} ({self.iden})')
160
+ continue
161
+
162
+ name = pdef.get('name')
163
+ iden = s_hashitem.hashitem(pdef)
164
+
165
+ done.add(name)
166
+ if name in byname:
167
+ if byname[name] != iden:
168
+ await self.core._delStormPkg(name) # we're updating an old package, so delete the old and then re-add
169
+ else:
170
+ continue # pkg unchanged. Can skip.
171
+
172
+ try:
173
+ # push the svciden in the package metadata for later reference.
159
174
  await self.core._addStormPkg(pdef)
160
175
 
161
176
  except asyncio.CancelledError: # pragma: no cover TODO: remove once >= py 3.8 only
162
177
  raise
163
178
 
164
179
  except Exception:
165
- name = pdef.get('name')
166
180
  logger.exception(f'addStormPkg ({name}) failed for service {self.name} ({self.iden})')
167
181
 
182
+ # clean up any packages that no longer exist
183
+ for name in byname.keys():
184
+ if name not in done:
185
+ await self.core._delStormPkg(name)
186
+
168
187
  # Set events and fire as needed
169
188
  evts = self.info.get('evts')
170
189
  try:
@@ -18,7 +18,6 @@ import calendar
18
18
  import functools
19
19
  import contextlib
20
20
  import collections
21
- from typing import Any
22
21
 
23
22
  import synapse.exc as s_exc
24
23
  import synapse.common as s_common
@@ -8440,7 +8439,9 @@ class Trigger(Prim):
8440
8439
 
8441
8440
  async def set(self, name, valu):
8442
8441
  trigiden = self.valu.get('iden')
8443
- viewiden = self.runt.snap.view.iden
8442
+ viewiden = self.valu.get('view')
8443
+
8444
+ view = self.runt.snap.core.reqView(viewiden)
8444
8445
 
8445
8446
  name = await tostr(name)
8446
8447
  if name in ('async', 'enabled', ):
@@ -8449,11 +8450,11 @@ class Trigger(Prim):
8449
8450
  valu = await tostr(valu)
8450
8451
 
8451
8452
  if name == 'user':
8452
- self.runt.user.confirm(('trigger', 'set', 'user'))
8453
+ self.runt.confirm(('trigger', 'set', 'user'))
8453
8454
  else:
8454
- self.runt.user.confirm(('trigger', 'set', name), gateiden=viewiden)
8455
+ self.runt.confirm(('trigger', 'set', name), gateiden=viewiden)
8455
8456
 
8456
- await self.runt.snap.view.setTriggerInfo(trigiden, name, valu)
8457
+ await view.setTriggerInfo(trigiden, name, valu)
8457
8458
 
8458
8459
  self.valu[name] = valu
8459
8460
 
@@ -8825,6 +8826,8 @@ class LibCron(Lib):
8825
8826
  'desc': 'Permits a user to create a cron job.'},
8826
8827
  {'perm': ('cron', 'del'), 'gate': 'cronjob',
8827
8828
  'desc': 'Permits a user to remove a cron job.'},
8829
+ {'perm': ('cron', 'kill'), 'gate': 'cronjob',
8830
+ 'desc': 'Controls the ability to terminate a running cron job.'},
8828
8831
  {'perm': ('cron', 'get'), 'gate': 'cronjob',
8829
8832
  'desc': 'Permits a user to list cron jobs.'},
8830
8833
  {'perm': ('cron', 'set'), 'gate': 'cronjob',
@@ -9276,14 +9279,19 @@ class CronJob(Prim):
9276
9279
  {'name': 'valu', 'type': 'any', 'desc': 'The value to set on the definition.', },
9277
9280
  ),
9278
9281
  'returns': {'type': 'cronjob', 'desc': 'The ``cronjob``', }}},
9282
+
9283
+ {'name': 'kill', 'desc': 'If the job is currently running, terminate the task.',
9284
+ 'type': {'type': 'function', '_funcname': '_methCronJobKill',
9285
+ 'returns': {'type': 'boolean', 'desc': 'A boolean value which is true if the task was terminated.'}}},
9286
+
9279
9287
  {'name': 'pack', 'desc': 'Get the Cronjob definition.',
9280
9288
  'type': {'type': 'function', '_funcname': '_methCronJobPack',
9281
- 'returns': {'type': 'dict', 'desc': 'The definition.', }}},
9289
+ 'returns': {'type': 'dict', 'desc': 'The definition.'}}},
9282
9290
  {'name': 'pprint', 'desc': 'Get a dictionary containing user friendly strings for printing the CronJob.',
9283
9291
  'type': {'type': 'function', '_funcname': '_methCronJobPprint',
9284
9292
  'returns':
9285
9293
  {'type': 'dict',
9286
- 'desc': 'A dictionary containing structured data about a cronjob for display purposes.', }}},
9294
+ 'desc': 'A dictionary containing structured data about a cronjob for display purposes.'}}},
9287
9295
  )
9288
9296
  _storm_typename = 'cronjob'
9289
9297
  _ismutable = False
@@ -9300,10 +9308,16 @@ class CronJob(Prim):
9300
9308
  def getObjLocals(self):
9301
9309
  return {
9302
9310
  'set': self._methCronJobSet,
9311
+ 'kill': self._methCronJobKill,
9303
9312
  'pack': self._methCronJobPack,
9304
9313
  'pprint': self._methCronJobPprint,
9305
9314
  }
9306
9315
 
9316
+ async def _methCronJobKill(self):
9317
+ iden = self.valu.get('iden')
9318
+ self.runt.confirm(('cron', 'kill'), gateiden=iden)
9319
+ return await self.runt.snap.core.killCronTask(iden)
9320
+
9307
9321
  async def _methCronJobSet(self, name, valu):
9308
9322
  name = await tostr(name)
9309
9323
  valu = await toprim(valu)
@@ -9312,9 +9326,9 @@ class CronJob(Prim):
9312
9326
  if name == 'creator':
9313
9327
  # this permission must be granted cortex wide
9314
9328
  # to prevent abuse...
9315
- self.runt.user.confirm(('cron', 'set', 'creator'))
9329
+ self.runt.confirm(('cron', 'set', 'creator'))
9316
9330
  else:
9317
- self.runt.user.confirm(('cron', 'set', name), gateiden=iden)
9331
+ self.runt.confirm(('cron', 'set', name), gateiden=iden)
9318
9332
 
9319
9333
  self.valu = await self.runt.snap.core.editCronJob(iden, name, valu)
9320
9334
 
@@ -522,10 +522,6 @@ class Trigger:
522
522
  logger.warning(f'Skipping trigger execution because user {self.user.iden} is locked')
523
523
  return
524
524
 
525
- tag = self.tdef.get('tag')
526
- cond = self.tdef.get('cond')
527
- form = self.tdef.get('form')
528
- prop = self.tdef.get('prop')
529
525
  storm = self.tdef.get('storm')
530
526
 
531
527
  query = await self.view.core.getStormQuery(storm)