synapse 2.223.0__tar.gz → 2.225.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 (691) hide show
  1. {synapse-2.223.0/synapse.egg-info → synapse-2.225.0}/PKG-INFO +1 -1
  2. {synapse-2.223.0 → synapse-2.225.0}/pyproject.toml +1 -1
  3. {synapse-2.223.0 → synapse-2.225.0}/synapse/axon.py +10 -5
  4. {synapse-2.223.0 → synapse-2.225.0}/synapse/common.py +2 -2
  5. {synapse-2.223.0 → synapse-2.225.0}/synapse/cortex.py +52 -3
  6. {synapse-2.223.0 → synapse-2.225.0}/synapse/datamodel.py +1 -1
  7. {synapse-2.223.0 → synapse-2.225.0}/synapse/lib/cell.py +1 -1
  8. {synapse-2.223.0 → synapse-2.225.0}/synapse/lib/const.py +4 -0
  9. {synapse-2.223.0 → synapse-2.225.0}/synapse/lib/layer.py +6 -6
  10. {synapse-2.223.0 → synapse-2.225.0}/synapse/lib/multislabseqn.py +36 -1
  11. {synapse-2.223.0 → synapse-2.225.0}/synapse/lib/nexus.py +67 -8
  12. {synapse-2.223.0 → synapse-2.225.0}/synapse/lib/queue.py +4 -1
  13. {synapse-2.223.0 → synapse-2.225.0}/synapse/lib/rstorm.py +2 -2
  14. {synapse-2.223.0 → synapse-2.225.0}/synapse/lib/schemas.py +13 -1
  15. {synapse-2.223.0 → synapse-2.225.0}/synapse/lib/slabseqn.py +28 -0
  16. {synapse-2.223.0 → synapse-2.225.0}/synapse/lib/storm.py +40 -2
  17. {synapse-2.223.0 → synapse-2.225.0}/synapse/lib/stormhttp.py +7 -1
  18. {synapse-2.223.0 → synapse-2.225.0}/synapse/lib/stormlib/imap.py +12 -4
  19. {synapse-2.223.0 → synapse-2.225.0}/synapse/lib/stormlib/task.py +0 -1
  20. {synapse-2.223.0 → synapse-2.225.0}/synapse/lib/stormtypes.py +19 -1
  21. {synapse-2.223.0 → synapse-2.225.0}/synapse/lib/version.py +2 -2
  22. {synapse-2.223.0 → synapse-2.225.0}/synapse/models/inet.py +29 -0
  23. {synapse-2.223.0 → synapse-2.225.0}/synapse/models/media.py +4 -0
  24. {synapse-2.223.0 → synapse-2.225.0}/synapse/models/proj.py +3 -0
  25. {synapse-2.223.0 → synapse-2.225.0}/synapse/models/risk.py +9 -0
  26. {synapse-2.223.0 → synapse-2.225.0}/synapse/models/syn.py +8 -0
  27. {synapse-2.223.0 → synapse-2.225.0}/synapse/tests/test_common.py +4 -0
  28. {synapse-2.223.0 → synapse-2.225.0}/synapse/tests/test_cortex.py +53 -2
  29. {synapse-2.223.0 → synapse-2.225.0}/synapse/tests/test_lib_agenda.py +1 -1
  30. {synapse-2.223.0 → synapse-2.225.0}/synapse/tests/test_lib_cell.py +1 -1
  31. {synapse-2.223.0 → synapse-2.225.0}/synapse/tests/test_lib_certdir.py +1 -1
  32. {synapse-2.223.0 → synapse-2.225.0}/synapse/tests/test_lib_httpapi.py +1 -1
  33. {synapse-2.223.0 → synapse-2.225.0}/synapse/tests/test_lib_layer.py +1 -1
  34. {synapse-2.223.0 → synapse-2.225.0}/synapse/tests/test_lib_multislabseqn.py +22 -0
  35. {synapse-2.223.0 → synapse-2.225.0}/synapse/tests/test_lib_nexus.py +42 -1
  36. {synapse-2.223.0 → synapse-2.225.0}/synapse/tests/test_lib_slabseqn.py +30 -1
  37. {synapse-2.223.0 → synapse-2.225.0}/synapse/tests/test_lib_storm.py +156 -1
  38. {synapse-2.223.0 → synapse-2.225.0}/synapse/tests/test_lib_stormhttp.py +16 -0
  39. {synapse-2.223.0 → synapse-2.225.0}/synapse/tests/test_lib_stormlib_imap.py +14 -0
  40. {synapse-2.223.0 → synapse-2.225.0}/synapse/tests/test_lib_stormlib_oauth.py +1 -1
  41. {synapse-2.223.0 → synapse-2.225.0}/synapse/tests/test_lib_stormsvc.py +1 -1
  42. {synapse-2.223.0 → synapse-2.225.0}/synapse/tests/test_lib_stormtypes.py +12 -0
  43. {synapse-2.223.0 → synapse-2.225.0}/synapse/tests/test_lib_trigger.py +1 -1
  44. {synapse-2.223.0 → synapse-2.225.0}/synapse/tests/test_model_inet.py +29 -0
  45. {synapse-2.223.0 → synapse-2.225.0}/synapse/tests/test_model_media.py +4 -1
  46. {synapse-2.223.0 → synapse-2.225.0}/synapse/tests/test_model_proj.py +3 -1
  47. {synapse-2.223.0 → synapse-2.225.0}/synapse/tests/test_model_risk.py +12 -0
  48. {synapse-2.223.0 → synapse-2.225.0}/synapse/tests/test_model_syn.py +54 -2
  49. synapse-2.223.0/synapse/tests/test_tools_axon2axon.py → synapse-2.225.0/synapse/tests/test_tools_axon_copy.py +4 -4
  50. synapse-2.223.0/synapse/tests/test_tools_pullfile.py → synapse-2.225.0/synapse/tests/test_tools_axon_get.py +4 -4
  51. synapse-2.223.0/synapse/tests/test_tools_pushfile.py → synapse-2.225.0/synapse/tests/test_tools_axon_put.py +7 -7
  52. synapse-2.223.0/synapse/tests/test_tools_csvtool.py → synapse-2.225.0/synapse/tests/test_tools_cortex_csv.py +12 -3
  53. synapse-2.223.0/synapse/tests/test_tools_feed.py → synapse-2.225.0/synapse/tests/test_tools_cortex_feed.py +2 -2
  54. synapse-2.223.0/synapse/tests/test_tools_apikey.py → synapse-2.225.0/synapse/tests/test_tools_service_apikey.py +1 -4
  55. synapse-2.223.0/synapse/tests/test_tools_backup.py → synapse-2.225.0/synapse/tests/test_tools_service_backup.py +5 -5
  56. synapse-2.223.0/synapse/tests/test_tools_demote.py → synapse-2.225.0/synapse/tests/test_tools_service_demote.py +1 -1
  57. synapse-2.223.0/synapse/tests/test_tools_healthcheck.py → synapse-2.225.0/synapse/tests/test_tools_service_healthcheck.py +1 -1
  58. synapse-2.223.0/synapse/tests/test_tools_livebackup.py → synapse-2.225.0/synapse/tests/test_tools_service_livebackup.py +1 -1
  59. synapse-2.223.0/synapse/tests/test_tools_modrole.py → synapse-2.225.0/synapse/tests/test_tools_service_modrole.py +1 -1
  60. synapse-2.223.0/synapse/tests/test_tools_moduser.py → synapse-2.225.0/synapse/tests/test_tools_service_moduser.py +1 -1
  61. synapse-2.223.0/synapse/tests/test_tools_promote.py → synapse-2.225.0/synapse/tests/test_tools_service_promote.py +1 -1
  62. synapse-2.223.0/synapse/tests/test_tools_reload.py → synapse-2.225.0/synapse/tests/test_tools_service_reload.py +1 -1
  63. synapse-2.223.0/synapse/tests/test_tools_shutdown.py → synapse-2.225.0/synapse/tests/test_tools_service_shutdown.py +1 -1
  64. synapse-2.223.0/synapse/tests/test_tools_snapshot.py → synapse-2.225.0/synapse/tests/test_tools_service_snapshot.py +1 -1
  65. synapse-2.223.0/synapse/tests/test_tools_storm.py → synapse-2.225.0/synapse/tests/test_tools_storm_cli.py +1 -1
  66. synapse-2.223.0/synapse/tests/test_tools_pkgs_gendocs.py → synapse-2.225.0/synapse/tests/test_tools_storm_pkg_doc.py +12 -3
  67. synapse-2.223.0/synapse/tests/test_tools_genpkg.py → synapse-2.225.0/synapse/tests/test_tools_storm_pkg_gen.py +1 -1
  68. synapse-2.223.0/synapse/tests/test_tools_autodoc.py → synapse-2.225.0/synapse/tests/test_tools_utils_autodoc.py +1 -1
  69. synapse-2.225.0/synapse/tests/test_tools_utils_changelog.py +454 -0
  70. synapse-2.223.0/synapse/tests/test_tools_easycert.py → synapse-2.225.0/synapse/tests/test_tools_utils_easycert.py +48 -46
  71. synapse-2.223.0/synapse/tests/test_tools_guid.py → synapse-2.225.0/synapse/tests/test_tools_utils_guid.py +3 -3
  72. synapse-2.223.0/synapse/tests/test_tools_json2mpk.py → synapse-2.225.0/synapse/tests/test_tools_utils_json2mpk.py +3 -3
  73. synapse-2.223.0/synapse/tests/test_tools_rstorm.py → synapse-2.225.0/synapse/tests/test_tools_utils_rstorm.py +6 -1
  74. {synapse-2.223.0 → synapse-2.225.0}/synapse/tests/utils.py +3 -1
  75. synapse-2.225.0/synapse/tools/apikey.py +11 -0
  76. synapse-2.225.0/synapse/tools/autodoc.py +12 -0
  77. synapse-2.223.0/synapse/tools/axon2axon.py → synapse-2.225.0/synapse/tools/axon/copy.py +1 -1
  78. synapse-2.223.0/synapse/tools/pullfile.py → synapse-2.225.0/synapse/tools/axon/get.py +1 -1
  79. synapse-2.223.0/synapse/tools/pushfile.py → synapse-2.225.0/synapse/tools/axon/put.py +1 -1
  80. synapse-2.225.0/synapse/tools/axon2axon.py +11 -0
  81. synapse-2.225.0/synapse/tools/backup.py +12 -0
  82. synapse-2.225.0/synapse/tools/changelog.py +11 -0
  83. synapse-2.223.0/synapse/tools/csvtool.py → synapse-2.225.0/synapse/tools/cortex/csv.py +4 -3
  84. {synapse-2.223.0/synapse/tools → synapse-2.225.0/synapse/tools/cortex}/feed.py +4 -2
  85. synapse-2.225.0/synapse/tools/csvtool.py +11 -0
  86. synapse-2.225.0/synapse/tools/demote.py +11 -0
  87. {synapse-2.223.0 → synapse-2.225.0}/synapse/tools/docker/validate.py +3 -3
  88. synapse-2.225.0/synapse/tools/easycert.py +11 -0
  89. synapse-2.225.0/synapse/tools/feed.py +12 -0
  90. synapse-2.225.0/synapse/tools/genpkg.py +11 -0
  91. synapse-2.225.0/synapse/tools/guid.py +11 -0
  92. synapse-2.225.0/synapse/tools/healthcheck.py +11 -0
  93. synapse-2.225.0/synapse/tools/json2mpk.py +11 -0
  94. synapse-2.225.0/synapse/tools/livebackup.py +11 -0
  95. synapse-2.225.0/synapse/tools/modrole.py +11 -0
  96. synapse-2.225.0/synapse/tools/moduser.py +11 -0
  97. synapse-2.225.0/synapse/tools/pkgs/gendocs.py +15 -0
  98. synapse-2.225.0/synapse/tools/promote.py +11 -0
  99. synapse-2.225.0/synapse/tools/pullfile.py +11 -0
  100. synapse-2.225.0/synapse/tools/pushfile.py +11 -0
  101. synapse-2.225.0/synapse/tools/reload.py +11 -0
  102. synapse-2.225.0/synapse/tools/rstorm.py +12 -0
  103. {synapse-2.223.0/synapse/tools → synapse-2.225.0/synapse/tools/service}/apikey.py +1 -1
  104. {synapse-2.223.0/synapse/tools → synapse-2.225.0/synapse/tools/service}/backup.py +6 -7
  105. {synapse-2.223.0/synapse/tools → synapse-2.225.0/synapse/tools/service}/demote.py +2 -2
  106. {synapse-2.223.0/synapse/tools → synapse-2.225.0/synapse/tools/service}/healthcheck.py +1 -1
  107. {synapse-2.223.0/synapse/tools → synapse-2.225.0/synapse/tools/service}/livebackup.py +2 -2
  108. {synapse-2.223.0/synapse/tools → synapse-2.225.0/synapse/tools/service}/modrole.py +1 -1
  109. {synapse-2.223.0/synapse/tools → synapse-2.225.0/synapse/tools/service}/moduser.py +1 -4
  110. {synapse-2.223.0/synapse/tools → synapse-2.225.0/synapse/tools/service}/promote.py +2 -2
  111. {synapse-2.223.0/synapse/tools → synapse-2.225.0/synapse/tools/service}/reload.py +1 -1
  112. {synapse-2.223.0/synapse/tools → synapse-2.225.0/synapse/tools/service}/shutdown.py +1 -1
  113. {synapse-2.223.0/synapse/tools → synapse-2.225.0/synapse/tools/service}/snapshot.py +3 -3
  114. synapse-2.225.0/synapse/tools/shutdown.py +11 -0
  115. synapse-2.225.0/synapse/tools/snapshot.py +11 -0
  116. synapse-2.225.0/synapse/tools/storm/__main__.py +5 -0
  117. synapse-2.223.0/synapse/tools/storm.py → synapse-2.225.0/synapse/tools/storm/_cli.py +0 -3
  118. synapse-2.223.0/synapse/tools/pkgs/pandoc_filter.py → synapse-2.225.0/synapse/tools/storm/pkg/_pandoc_filter.py +1 -1
  119. synapse-2.223.0/synapse/tools/pkgs/gendocs.py → synapse-2.225.0/synapse/tools/storm/pkg/doc.py +4 -4
  120. synapse-2.223.0/synapse/tools/genpkg.py → synapse-2.225.0/synapse/tools/storm/pkg/gen.py +1 -1
  121. {synapse-2.223.0/synapse/tools → synapse-2.225.0/synapse/tools/utils}/autodoc.py +2 -2
  122. {synapse-2.223.0/synapse/tools → synapse-2.225.0/synapse/tools/utils}/changelog.py +40 -22
  123. {synapse-2.223.0/synapse/tools → synapse-2.225.0/synapse/tools/utils}/easycert.py +2 -2
  124. {synapse-2.223.0/synapse/tools → synapse-2.225.0/synapse/tools/utils}/guid.py +5 -4
  125. {synapse-2.223.0/synapse/tools → synapse-2.225.0/synapse/tools/utils}/json2mpk.py +7 -4
  126. {synapse-2.223.0/synapse/tools → synapse-2.225.0/synapse/tools/utils}/rstorm.py +1 -1
  127. synapse-2.225.0/synapse/vendor/cpython/lib/test/__init__.py +0 -0
  128. synapse-2.225.0/synapse/vendor/cpython/lib/test/test_email/__init__.py +0 -0
  129. synapse-2.225.0/synapse/vendor/substrateinterface/tests/__init__.py +0 -0
  130. synapse-2.225.0/synapse/vendor/xrpl/tests/__init__.py +0 -0
  131. {synapse-2.223.0 → synapse-2.225.0/synapse.egg-info}/PKG-INFO +1 -1
  132. {synapse-2.223.0 → synapse-2.225.0}/synapse.egg-info/SOURCES.txt +57 -28
  133. synapse-2.223.0/synapse/tests/test_tools_changelog.py +0 -196
  134. {synapse-2.223.0 → synapse-2.225.0}/LICENSE +0 -0
  135. {synapse-2.223.0 → synapse-2.225.0}/README.rst +0 -0
  136. {synapse-2.223.0 → synapse-2.225.0}/setup.cfg +0 -0
  137. {synapse-2.223.0 → synapse-2.225.0}/synapse/__init__.py +0 -0
  138. {synapse-2.223.0 → synapse-2.225.0}/synapse/cells.py +0 -0
  139. {synapse-2.223.0 → synapse-2.225.0}/synapse/cmds/__init__.py +0 -0
  140. {synapse-2.223.0 → synapse-2.225.0}/synapse/cmds/boss.py +0 -0
  141. {synapse-2.223.0 → synapse-2.225.0}/synapse/cmds/cortex.py +0 -0
  142. {synapse-2.223.0 → synapse-2.225.0}/synapse/cmds/hive.py +0 -0
  143. {synapse-2.223.0 → synapse-2.225.0}/synapse/cryotank.py +0 -0
  144. {synapse-2.223.0 → synapse-2.225.0}/synapse/daemon.py +0 -0
  145. {synapse-2.223.0 → synapse-2.225.0}/synapse/data/__init__.py +0 -0
  146. {synapse-2.223.0 → synapse-2.225.0}/synapse/data/attack-flow/LICENSE.txt +0 -0
  147. {synapse-2.223.0 → synapse-2.225.0}/synapse/data/attack-flow/README.md +0 -0
  148. {synapse-2.223.0 → synapse-2.225.0}/synapse/data/attack-flow/attack-flow-schema-2.0.0.json +0 -0
  149. {synapse-2.223.0 → synapse-2.225.0}/synapse/data/certs/cas/The Vertex Project Intermediate CA 00.crt +0 -0
  150. {synapse-2.223.0 → synapse-2.225.0}/synapse/data/certs/cas/The Vertex Project ROOT CA.crt +0 -0
  151. {synapse-2.223.0 → synapse-2.225.0}/synapse/data/certs/crls/The Vertex Project Intermediate CA 00.crl +0 -0
  152. {synapse-2.223.0 → synapse-2.225.0}/synapse/data/certs/crls/The Vertex Project ROOT CA.crl +0 -0
  153. {synapse-2.223.0 → synapse-2.225.0}/synapse/data/iana.tlds.mpk +0 -0
  154. {synapse-2.223.0 → synapse-2.225.0}/synapse/data/iana.uris.mpk +0 -0
  155. {synapse-2.223.0 → synapse-2.225.0}/synapse/data/jsonschemas/README.md +0 -0
  156. {synapse-2.223.0 → synapse-2.225.0}/synapse/data/jsonschemas/raw.githubusercontent.com/oasis-open/LICENSE.txt +0 -0
  157. {synapse-2.223.0 → synapse-2.225.0}/synapse/data/jsonschemas/raw.githubusercontent.com/oasis-open/cti-stix2-json-schemas/stix2.1/schemas/common/binary.json +0 -0
  158. {synapse-2.223.0 → synapse-2.225.0}/synapse/data/jsonschemas/raw.githubusercontent.com/oasis-open/cti-stix2-json-schemas/stix2.1/schemas/common/bundle.json +0 -0
  159. {synapse-2.223.0 → synapse-2.225.0}/synapse/data/jsonschemas/raw.githubusercontent.com/oasis-open/cti-stix2-json-schemas/stix2.1/schemas/common/core.json +0 -0
  160. {synapse-2.223.0 → synapse-2.225.0}/synapse/data/jsonschemas/raw.githubusercontent.com/oasis-open/cti-stix2-json-schemas/stix2.1/schemas/common/cyber-observable-core.json +0 -0
  161. {synapse-2.223.0 → synapse-2.225.0}/synapse/data/jsonschemas/raw.githubusercontent.com/oasis-open/cti-stix2-json-schemas/stix2.1/schemas/common/dictionary.json +0 -0
  162. {synapse-2.223.0 → synapse-2.225.0}/synapse/data/jsonschemas/raw.githubusercontent.com/oasis-open/cti-stix2-json-schemas/stix2.1/schemas/common/extension-definition.json +0 -0
  163. {synapse-2.223.0 → synapse-2.225.0}/synapse/data/jsonschemas/raw.githubusercontent.com/oasis-open/cti-stix2-json-schemas/stix2.1/schemas/common/extension.json +0 -0
  164. {synapse-2.223.0 → synapse-2.225.0}/synapse/data/jsonschemas/raw.githubusercontent.com/oasis-open/cti-stix2-json-schemas/stix2.1/schemas/common/external-reference.json +0 -0
  165. {synapse-2.223.0 → synapse-2.225.0}/synapse/data/jsonschemas/raw.githubusercontent.com/oasis-open/cti-stix2-json-schemas/stix2.1/schemas/common/granular-marking.json +0 -0
  166. {synapse-2.223.0 → synapse-2.225.0}/synapse/data/jsonschemas/raw.githubusercontent.com/oasis-open/cti-stix2-json-schemas/stix2.1/schemas/common/hashes-type.json +0 -0
  167. {synapse-2.223.0 → synapse-2.225.0}/synapse/data/jsonschemas/raw.githubusercontent.com/oasis-open/cti-stix2-json-schemas/stix2.1/schemas/common/hex.json +0 -0
  168. {synapse-2.223.0 → synapse-2.225.0}/synapse/data/jsonschemas/raw.githubusercontent.com/oasis-open/cti-stix2-json-schemas/stix2.1/schemas/common/identifier.json +0 -0
  169. {synapse-2.223.0 → synapse-2.225.0}/synapse/data/jsonschemas/raw.githubusercontent.com/oasis-open/cti-stix2-json-schemas/stix2.1/schemas/common/kill-chain-phase.json +0 -0
  170. {synapse-2.223.0 → synapse-2.225.0}/synapse/data/jsonschemas/raw.githubusercontent.com/oasis-open/cti-stix2-json-schemas/stix2.1/schemas/common/language-content.json +0 -0
  171. {synapse-2.223.0 → synapse-2.225.0}/synapse/data/jsonschemas/raw.githubusercontent.com/oasis-open/cti-stix2-json-schemas/stix2.1/schemas/common/marking-definition.json +0 -0
  172. {synapse-2.223.0 → synapse-2.225.0}/synapse/data/jsonschemas/raw.githubusercontent.com/oasis-open/cti-stix2-json-schemas/stix2.1/schemas/common/properties.json +0 -0
  173. {synapse-2.223.0 → synapse-2.225.0}/synapse/data/jsonschemas/raw.githubusercontent.com/oasis-open/cti-stix2-json-schemas/stix2.1/schemas/common/timestamp.json +0 -0
  174. {synapse-2.223.0 → synapse-2.225.0}/synapse/data/jsonschemas/raw.githubusercontent.com/oasis-open/cti-stix2-json-schemas/stix2.1/schemas/common/url-regex.json +0 -0
  175. {synapse-2.223.0 → synapse-2.225.0}/synapse/data/jsonschemas/raw.githubusercontent.com/oasis-open/cti-stix2-json-schemas/stix2.1/schemas/observables/artifact.json +0 -0
  176. {synapse-2.223.0 → synapse-2.225.0}/synapse/data/jsonschemas/raw.githubusercontent.com/oasis-open/cti-stix2-json-schemas/stix2.1/schemas/observables/autonomous-system.json +0 -0
  177. {synapse-2.223.0 → synapse-2.225.0}/synapse/data/jsonschemas/raw.githubusercontent.com/oasis-open/cti-stix2-json-schemas/stix2.1/schemas/observables/directory.json +0 -0
  178. {synapse-2.223.0 → synapse-2.225.0}/synapse/data/jsonschemas/raw.githubusercontent.com/oasis-open/cti-stix2-json-schemas/stix2.1/schemas/observables/domain-name.json +0 -0
  179. {synapse-2.223.0 → synapse-2.225.0}/synapse/data/jsonschemas/raw.githubusercontent.com/oasis-open/cti-stix2-json-schemas/stix2.1/schemas/observables/email-addr.json +0 -0
  180. {synapse-2.223.0 → synapse-2.225.0}/synapse/data/jsonschemas/raw.githubusercontent.com/oasis-open/cti-stix2-json-schemas/stix2.1/schemas/observables/email-message.json +0 -0
  181. {synapse-2.223.0 → synapse-2.225.0}/synapse/data/jsonschemas/raw.githubusercontent.com/oasis-open/cti-stix2-json-schemas/stix2.1/schemas/observables/file.json +0 -0
  182. {synapse-2.223.0 → synapse-2.225.0}/synapse/data/jsonschemas/raw.githubusercontent.com/oasis-open/cti-stix2-json-schemas/stix2.1/schemas/observables/ipv4-addr.json +0 -0
  183. {synapse-2.223.0 → synapse-2.225.0}/synapse/data/jsonschemas/raw.githubusercontent.com/oasis-open/cti-stix2-json-schemas/stix2.1/schemas/observables/ipv6-addr.json +0 -0
  184. {synapse-2.223.0 → synapse-2.225.0}/synapse/data/jsonschemas/raw.githubusercontent.com/oasis-open/cti-stix2-json-schemas/stix2.1/schemas/observables/mac-addr.json +0 -0
  185. {synapse-2.223.0 → synapse-2.225.0}/synapse/data/jsonschemas/raw.githubusercontent.com/oasis-open/cti-stix2-json-schemas/stix2.1/schemas/observables/mutex.json +0 -0
  186. {synapse-2.223.0 → synapse-2.225.0}/synapse/data/jsonschemas/raw.githubusercontent.com/oasis-open/cti-stix2-json-schemas/stix2.1/schemas/observables/network-traffic.json +0 -0
  187. {synapse-2.223.0 → synapse-2.225.0}/synapse/data/jsonschemas/raw.githubusercontent.com/oasis-open/cti-stix2-json-schemas/stix2.1/schemas/observables/process.json +0 -0
  188. {synapse-2.223.0 → synapse-2.225.0}/synapse/data/jsonschemas/raw.githubusercontent.com/oasis-open/cti-stix2-json-schemas/stix2.1/schemas/observables/software.json +0 -0
  189. {synapse-2.223.0 → synapse-2.225.0}/synapse/data/jsonschemas/raw.githubusercontent.com/oasis-open/cti-stix2-json-schemas/stix2.1/schemas/observables/url.json +0 -0
  190. {synapse-2.223.0 → synapse-2.225.0}/synapse/data/jsonschemas/raw.githubusercontent.com/oasis-open/cti-stix2-json-schemas/stix2.1/schemas/observables/user-account.json +0 -0
  191. {synapse-2.223.0 → synapse-2.225.0}/synapse/data/jsonschemas/raw.githubusercontent.com/oasis-open/cti-stix2-json-schemas/stix2.1/schemas/observables/windows-registry-key.json +0 -0
  192. {synapse-2.223.0 → synapse-2.225.0}/synapse/data/jsonschemas/raw.githubusercontent.com/oasis-open/cti-stix2-json-schemas/stix2.1/schemas/observables/x509-certificate.json +0 -0
  193. {synapse-2.223.0 → synapse-2.225.0}/synapse/data/jsonschemas/raw.githubusercontent.com/oasis-open/cti-stix2-json-schemas/stix2.1/schemas/sdos/attack-pattern.json +0 -0
  194. {synapse-2.223.0 → synapse-2.225.0}/synapse/data/jsonschemas/raw.githubusercontent.com/oasis-open/cti-stix2-json-schemas/stix2.1/schemas/sdos/campaign.json +0 -0
  195. {synapse-2.223.0 → synapse-2.225.0}/synapse/data/jsonschemas/raw.githubusercontent.com/oasis-open/cti-stix2-json-schemas/stix2.1/schemas/sdos/course-of-action.json +0 -0
  196. {synapse-2.223.0 → synapse-2.225.0}/synapse/data/jsonschemas/raw.githubusercontent.com/oasis-open/cti-stix2-json-schemas/stix2.1/schemas/sdos/grouping.json +0 -0
  197. {synapse-2.223.0 → synapse-2.225.0}/synapse/data/jsonschemas/raw.githubusercontent.com/oasis-open/cti-stix2-json-schemas/stix2.1/schemas/sdos/identity.json +0 -0
  198. {synapse-2.223.0 → synapse-2.225.0}/synapse/data/jsonschemas/raw.githubusercontent.com/oasis-open/cti-stix2-json-schemas/stix2.1/schemas/sdos/incident.json +0 -0
  199. {synapse-2.223.0 → synapse-2.225.0}/synapse/data/jsonschemas/raw.githubusercontent.com/oasis-open/cti-stix2-json-schemas/stix2.1/schemas/sdos/indicator.json +0 -0
  200. {synapse-2.223.0 → synapse-2.225.0}/synapse/data/jsonschemas/raw.githubusercontent.com/oasis-open/cti-stix2-json-schemas/stix2.1/schemas/sdos/infrastructure.json +0 -0
  201. {synapse-2.223.0 → synapse-2.225.0}/synapse/data/jsonschemas/raw.githubusercontent.com/oasis-open/cti-stix2-json-schemas/stix2.1/schemas/sdos/intrusion-set.json +0 -0
  202. {synapse-2.223.0 → synapse-2.225.0}/synapse/data/jsonschemas/raw.githubusercontent.com/oasis-open/cti-stix2-json-schemas/stix2.1/schemas/sdos/location.json +0 -0
  203. {synapse-2.223.0 → synapse-2.225.0}/synapse/data/jsonschemas/raw.githubusercontent.com/oasis-open/cti-stix2-json-schemas/stix2.1/schemas/sdos/malware-analysis.json +0 -0
  204. {synapse-2.223.0 → synapse-2.225.0}/synapse/data/jsonschemas/raw.githubusercontent.com/oasis-open/cti-stix2-json-schemas/stix2.1/schemas/sdos/malware.json +0 -0
  205. {synapse-2.223.0 → synapse-2.225.0}/synapse/data/jsonschemas/raw.githubusercontent.com/oasis-open/cti-stix2-json-schemas/stix2.1/schemas/sdos/note.json +0 -0
  206. {synapse-2.223.0 → synapse-2.225.0}/synapse/data/jsonschemas/raw.githubusercontent.com/oasis-open/cti-stix2-json-schemas/stix2.1/schemas/sdos/observed-data.json +0 -0
  207. {synapse-2.223.0 → synapse-2.225.0}/synapse/data/jsonschemas/raw.githubusercontent.com/oasis-open/cti-stix2-json-schemas/stix2.1/schemas/sdos/opinion.json +0 -0
  208. {synapse-2.223.0 → synapse-2.225.0}/synapse/data/jsonschemas/raw.githubusercontent.com/oasis-open/cti-stix2-json-schemas/stix2.1/schemas/sdos/report.json +0 -0
  209. {synapse-2.223.0 → synapse-2.225.0}/synapse/data/jsonschemas/raw.githubusercontent.com/oasis-open/cti-stix2-json-schemas/stix2.1/schemas/sdos/threat-actor.json +0 -0
  210. {synapse-2.223.0 → synapse-2.225.0}/synapse/data/jsonschemas/raw.githubusercontent.com/oasis-open/cti-stix2-json-schemas/stix2.1/schemas/sdos/tool.json +0 -0
  211. {synapse-2.223.0 → synapse-2.225.0}/synapse/data/jsonschemas/raw.githubusercontent.com/oasis-open/cti-stix2-json-schemas/stix2.1/schemas/sdos/vulnerability.json +0 -0
  212. {synapse-2.223.0 → synapse-2.225.0}/synapse/data/jsonschemas/raw.githubusercontent.com/oasis-open/cti-stix2-json-schemas/stix2.1/schemas/sros/relationship.json +0 -0
  213. {synapse-2.223.0 → synapse-2.225.0}/synapse/data/jsonschemas/raw.githubusercontent.com/oasis-open/cti-stix2-json-schemas/stix2.1/schemas/sros/sighting.json +0 -0
  214. {synapse-2.223.0 → synapse-2.225.0}/synapse/data/lark/__init__.py +0 -0
  215. {synapse-2.223.0 → synapse-2.225.0}/synapse/data/lark/imap.lark +0 -0
  216. {synapse-2.223.0 → synapse-2.225.0}/synapse/data/lark/storm.lark +0 -0
  217. {synapse-2.223.0 → synapse-2.225.0}/synapse/exc.py +0 -0
  218. {synapse-2.223.0 → synapse-2.225.0}/synapse/glob.py +0 -0
  219. {synapse-2.223.0 → synapse-2.225.0}/synapse/lib/__init__.py +0 -0
  220. {synapse-2.223.0 → synapse-2.225.0}/synapse/lib/agenda.py +0 -0
  221. {synapse-2.223.0 → synapse-2.225.0}/synapse/lib/aha.py +0 -0
  222. {synapse-2.223.0 → synapse-2.225.0}/synapse/lib/ast.py +0 -0
  223. {synapse-2.223.0 → synapse-2.225.0}/synapse/lib/auth.py +0 -0
  224. {synapse-2.223.0 → synapse-2.225.0}/synapse/lib/autodoc.py +0 -0
  225. {synapse-2.223.0 → synapse-2.225.0}/synapse/lib/base.py +0 -0
  226. {synapse-2.223.0 → synapse-2.225.0}/synapse/lib/boss.py +0 -0
  227. {synapse-2.223.0 → synapse-2.225.0}/synapse/lib/cache.py +0 -0
  228. {synapse-2.223.0 → synapse-2.225.0}/synapse/lib/certdir.py +0 -0
  229. {synapse-2.223.0 → synapse-2.225.0}/synapse/lib/chop.py +0 -0
  230. {synapse-2.223.0 → synapse-2.225.0}/synapse/lib/cli.py +0 -0
  231. {synapse-2.223.0 → synapse-2.225.0}/synapse/lib/cmd.py +0 -0
  232. {synapse-2.223.0 → synapse-2.225.0}/synapse/lib/cmdr.py +0 -0
  233. {synapse-2.223.0 → synapse-2.225.0}/synapse/lib/config.py +0 -0
  234. {synapse-2.223.0 → synapse-2.225.0}/synapse/lib/coro.py +0 -0
  235. {synapse-2.223.0 → synapse-2.225.0}/synapse/lib/crypto/__init__.py +0 -0
  236. {synapse-2.223.0 → synapse-2.225.0}/synapse/lib/crypto/coin.py +0 -0
  237. {synapse-2.223.0 → synapse-2.225.0}/synapse/lib/crypto/ecc.py +0 -0
  238. {synapse-2.223.0 → synapse-2.225.0}/synapse/lib/crypto/passwd.py +0 -0
  239. {synapse-2.223.0 → synapse-2.225.0}/synapse/lib/crypto/rsa.py +0 -0
  240. {synapse-2.223.0 → synapse-2.225.0}/synapse/lib/crypto/tinfoil.py +0 -0
  241. {synapse-2.223.0 → synapse-2.225.0}/synapse/lib/datfile.py +0 -0
  242. {synapse-2.223.0 → synapse-2.225.0}/synapse/lib/drive.py +0 -0
  243. {synapse-2.223.0 → synapse-2.225.0}/synapse/lib/dyndeps.py +0 -0
  244. {synapse-2.223.0 → synapse-2.225.0}/synapse/lib/encoding.py +0 -0
  245. {synapse-2.223.0 → synapse-2.225.0}/synapse/lib/gis.py +0 -0
  246. {synapse-2.223.0 → synapse-2.225.0}/synapse/lib/grammar.py +0 -0
  247. {synapse-2.223.0 → synapse-2.225.0}/synapse/lib/hashitem.py +0 -0
  248. {synapse-2.223.0 → synapse-2.225.0}/synapse/lib/hashset.py +0 -0
  249. {synapse-2.223.0 → synapse-2.225.0}/synapse/lib/health.py +0 -0
  250. {synapse-2.223.0 → synapse-2.225.0}/synapse/lib/hive.py +0 -0
  251. {synapse-2.223.0 → synapse-2.225.0}/synapse/lib/httpapi.py +0 -0
  252. {synapse-2.223.0 → synapse-2.225.0}/synapse/lib/ingest.py +0 -0
  253. {synapse-2.223.0 → synapse-2.225.0}/synapse/lib/interval.py +0 -0
  254. {synapse-2.223.0 → synapse-2.225.0}/synapse/lib/json.py +0 -0
  255. {synapse-2.223.0 → synapse-2.225.0}/synapse/lib/jsonstor.py +0 -0
  256. {synapse-2.223.0 → synapse-2.225.0}/synapse/lib/link.py +0 -0
  257. {synapse-2.223.0 → synapse-2.225.0}/synapse/lib/lmdbslab.py +0 -0
  258. {synapse-2.223.0 → synapse-2.225.0}/synapse/lib/modelrev.py +0 -0
  259. {synapse-2.223.0 → synapse-2.225.0}/synapse/lib/module.py +0 -0
  260. {synapse-2.223.0 → synapse-2.225.0}/synapse/lib/modules.py +0 -0
  261. {synapse-2.223.0 → synapse-2.225.0}/synapse/lib/msgpack.py +0 -0
  262. {synapse-2.223.0 → synapse-2.225.0}/synapse/lib/node.py +0 -0
  263. {synapse-2.223.0 → synapse-2.225.0}/synapse/lib/oauth.py +0 -0
  264. {synapse-2.223.0 → synapse-2.225.0}/synapse/lib/output.py +0 -0
  265. {synapse-2.223.0 → synapse-2.225.0}/synapse/lib/parser.py +0 -0
  266. {synapse-2.223.0 → synapse-2.225.0}/synapse/lib/platforms/__init__.py +0 -0
  267. {synapse-2.223.0 → synapse-2.225.0}/synapse/lib/platforms/common.py +0 -0
  268. {synapse-2.223.0 → synapse-2.225.0}/synapse/lib/platforms/darwin.py +0 -0
  269. {synapse-2.223.0 → synapse-2.225.0}/synapse/lib/platforms/freebsd.py +0 -0
  270. {synapse-2.223.0 → synapse-2.225.0}/synapse/lib/platforms/linux.py +0 -0
  271. {synapse-2.223.0 → synapse-2.225.0}/synapse/lib/platforms/windows.py +0 -0
  272. {synapse-2.223.0 → synapse-2.225.0}/synapse/lib/ratelimit.py +0 -0
  273. {synapse-2.223.0 → synapse-2.225.0}/synapse/lib/reflect.py +0 -0
  274. {synapse-2.223.0 → synapse-2.225.0}/synapse/lib/scope.py +0 -0
  275. {synapse-2.223.0 → synapse-2.225.0}/synapse/lib/scrape.py +0 -0
  276. {synapse-2.223.0 → synapse-2.225.0}/synapse/lib/share.py +0 -0
  277. {synapse-2.223.0 → synapse-2.225.0}/synapse/lib/slaboffs.py +0 -0
  278. {synapse-2.223.0 → synapse-2.225.0}/synapse/lib/snap.py +0 -0
  279. {synapse-2.223.0 → synapse-2.225.0}/synapse/lib/spooled.py +0 -0
  280. {synapse-2.223.0 → synapse-2.225.0}/synapse/lib/storm_format.py +0 -0
  281. {synapse-2.223.0 → synapse-2.225.0}/synapse/lib/stormctrl.py +0 -0
  282. {synapse-2.223.0 → synapse-2.225.0}/synapse/lib/stormlib/__init__.py +0 -0
  283. {synapse-2.223.0 → synapse-2.225.0}/synapse/lib/stormlib/aha.py +0 -0
  284. {synapse-2.223.0 → synapse-2.225.0}/synapse/lib/stormlib/auth.py +0 -0
  285. {synapse-2.223.0 → synapse-2.225.0}/synapse/lib/stormlib/backup.py +0 -0
  286. {synapse-2.223.0 → synapse-2.225.0}/synapse/lib/stormlib/basex.py +0 -0
  287. {synapse-2.223.0 → synapse-2.225.0}/synapse/lib/stormlib/cache.py +0 -0
  288. {synapse-2.223.0 → synapse-2.225.0}/synapse/lib/stormlib/cell.py +0 -0
  289. {synapse-2.223.0 → synapse-2.225.0}/synapse/lib/stormlib/compression.py +0 -0
  290. {synapse-2.223.0 → synapse-2.225.0}/synapse/lib/stormlib/cortex.py +0 -0
  291. {synapse-2.223.0 → synapse-2.225.0}/synapse/lib/stormlib/easyperm.py +0 -0
  292. {synapse-2.223.0 → synapse-2.225.0}/synapse/lib/stormlib/env.py +0 -0
  293. {synapse-2.223.0 → synapse-2.225.0}/synapse/lib/stormlib/ethereum.py +0 -0
  294. {synapse-2.223.0 → synapse-2.225.0}/synapse/lib/stormlib/gen.py +0 -0
  295. {synapse-2.223.0 → synapse-2.225.0}/synapse/lib/stormlib/gis.py +0 -0
  296. {synapse-2.223.0 → synapse-2.225.0}/synapse/lib/stormlib/graph.py +0 -0
  297. {synapse-2.223.0 → synapse-2.225.0}/synapse/lib/stormlib/hashes.py +0 -0
  298. {synapse-2.223.0 → synapse-2.225.0}/synapse/lib/stormlib/hex.py +0 -0
  299. {synapse-2.223.0 → synapse-2.225.0}/synapse/lib/stormlib/index.py +0 -0
  300. {synapse-2.223.0 → synapse-2.225.0}/synapse/lib/stormlib/infosec.py +0 -0
  301. {synapse-2.223.0 → synapse-2.225.0}/synapse/lib/stormlib/ipv6.py +0 -0
  302. {synapse-2.223.0 → synapse-2.225.0}/synapse/lib/stormlib/iters.py +0 -0
  303. {synapse-2.223.0 → synapse-2.225.0}/synapse/lib/stormlib/json.py +0 -0
  304. {synapse-2.223.0 → synapse-2.225.0}/synapse/lib/stormlib/log.py +0 -0
  305. {synapse-2.223.0 → synapse-2.225.0}/synapse/lib/stormlib/macro.py +0 -0
  306. {synapse-2.223.0 → synapse-2.225.0}/synapse/lib/stormlib/math.py +0 -0
  307. {synapse-2.223.0 → synapse-2.225.0}/synapse/lib/stormlib/mime.py +0 -0
  308. {synapse-2.223.0 → synapse-2.225.0}/synapse/lib/stormlib/model.py +0 -0
  309. {synapse-2.223.0 → synapse-2.225.0}/synapse/lib/stormlib/modelext.py +0 -0
  310. {synapse-2.223.0 → synapse-2.225.0}/synapse/lib/stormlib/notifications.py +0 -0
  311. {synapse-2.223.0 → synapse-2.225.0}/synapse/lib/stormlib/oauth.py +0 -0
  312. {synapse-2.223.0 → synapse-2.225.0}/synapse/lib/stormlib/pack.py +0 -0
  313. {synapse-2.223.0 → synapse-2.225.0}/synapse/lib/stormlib/pkg.py +0 -0
  314. {synapse-2.223.0 → synapse-2.225.0}/synapse/lib/stormlib/project.py +0 -0
  315. {synapse-2.223.0 → synapse-2.225.0}/synapse/lib/stormlib/random.py +0 -0
  316. {synapse-2.223.0 → synapse-2.225.0}/synapse/lib/stormlib/scrape.py +0 -0
  317. {synapse-2.223.0 → synapse-2.225.0}/synapse/lib/stormlib/smtp.py +0 -0
  318. {synapse-2.223.0 → synapse-2.225.0}/synapse/lib/stormlib/spooled.py +0 -0
  319. {synapse-2.223.0 → synapse-2.225.0}/synapse/lib/stormlib/stats.py +0 -0
  320. {synapse-2.223.0 → synapse-2.225.0}/synapse/lib/stormlib/stix.py +0 -0
  321. {synapse-2.223.0 → synapse-2.225.0}/synapse/lib/stormlib/storm.py +0 -0
  322. {synapse-2.223.0 → synapse-2.225.0}/synapse/lib/stormlib/tabular.py +0 -0
  323. {synapse-2.223.0 → synapse-2.225.0}/synapse/lib/stormlib/utils.py +0 -0
  324. {synapse-2.223.0 → synapse-2.225.0}/synapse/lib/stormlib/vault.py +0 -0
  325. {synapse-2.223.0 → synapse-2.225.0}/synapse/lib/stormlib/version.py +0 -0
  326. {synapse-2.223.0 → synapse-2.225.0}/synapse/lib/stormlib/xml.py +0 -0
  327. {synapse-2.223.0 → synapse-2.225.0}/synapse/lib/stormlib/yaml.py +0 -0
  328. {synapse-2.223.0 → synapse-2.225.0}/synapse/lib/stormsvc.py +0 -0
  329. {synapse-2.223.0 → synapse-2.225.0}/synapse/lib/stormwhois.py +0 -0
  330. {synapse-2.223.0 → synapse-2.225.0}/synapse/lib/structlog.py +0 -0
  331. {synapse-2.223.0 → synapse-2.225.0}/synapse/lib/task.py +0 -0
  332. {synapse-2.223.0 → synapse-2.225.0}/synapse/lib/thishost.py +0 -0
  333. {synapse-2.223.0 → synapse-2.225.0}/synapse/lib/thisplat.py +0 -0
  334. {synapse-2.223.0 → synapse-2.225.0}/synapse/lib/threads.py +0 -0
  335. {synapse-2.223.0 → synapse-2.225.0}/synapse/lib/time.py +0 -0
  336. {synapse-2.223.0 → synapse-2.225.0}/synapse/lib/trigger.py +0 -0
  337. {synapse-2.223.0 → synapse-2.225.0}/synapse/lib/types.py +0 -0
  338. {synapse-2.223.0 → synapse-2.225.0}/synapse/lib/urlhelp.py +0 -0
  339. {synapse-2.223.0 → synapse-2.225.0}/synapse/lib/view.py +0 -0
  340. {synapse-2.223.0 → synapse-2.225.0}/synapse/lookup/__init__.py +0 -0
  341. {synapse-2.223.0 → synapse-2.225.0}/synapse/lookup/cvss.py +0 -0
  342. {synapse-2.223.0 → synapse-2.225.0}/synapse/lookup/iana.py +0 -0
  343. {synapse-2.223.0 → synapse-2.225.0}/synapse/lookup/iso3166.py +0 -0
  344. {synapse-2.223.0 → synapse-2.225.0}/synapse/lookup/macho.py +0 -0
  345. {synapse-2.223.0 → synapse-2.225.0}/synapse/lookup/pe.py +0 -0
  346. {synapse-2.223.0 → synapse-2.225.0}/synapse/lookup/phonenum.py +0 -0
  347. {synapse-2.223.0 → synapse-2.225.0}/synapse/lookup/timezones.py +0 -0
  348. {synapse-2.223.0 → synapse-2.225.0}/synapse/mindmeld.py +0 -0
  349. {synapse-2.223.0 → synapse-2.225.0}/synapse/models/__init__.py +0 -0
  350. {synapse-2.223.0 → synapse-2.225.0}/synapse/models/auth.py +0 -0
  351. {synapse-2.223.0 → synapse-2.225.0}/synapse/models/base.py +0 -0
  352. {synapse-2.223.0 → synapse-2.225.0}/synapse/models/belief.py +0 -0
  353. {synapse-2.223.0 → synapse-2.225.0}/synapse/models/biz.py +0 -0
  354. {synapse-2.223.0 → synapse-2.225.0}/synapse/models/crypto.py +0 -0
  355. {synapse-2.223.0 → synapse-2.225.0}/synapse/models/dns.py +0 -0
  356. {synapse-2.223.0 → synapse-2.225.0}/synapse/models/doc.py +0 -0
  357. {synapse-2.223.0 → synapse-2.225.0}/synapse/models/economic.py +0 -0
  358. {synapse-2.223.0 → synapse-2.225.0}/synapse/models/entity.py +0 -0
  359. {synapse-2.223.0 → synapse-2.225.0}/synapse/models/files.py +0 -0
  360. {synapse-2.223.0 → synapse-2.225.0}/synapse/models/geopol.py +0 -0
  361. {synapse-2.223.0 → synapse-2.225.0}/synapse/models/geospace.py +0 -0
  362. {synapse-2.223.0 → synapse-2.225.0}/synapse/models/gov/__init__.py +0 -0
  363. {synapse-2.223.0 → synapse-2.225.0}/synapse/models/gov/cn.py +0 -0
  364. {synapse-2.223.0 → synapse-2.225.0}/synapse/models/gov/intl.py +0 -0
  365. {synapse-2.223.0 → synapse-2.225.0}/synapse/models/gov/us.py +0 -0
  366. {synapse-2.223.0 → synapse-2.225.0}/synapse/models/infotech.py +0 -0
  367. {synapse-2.223.0 → synapse-2.225.0}/synapse/models/language.py +0 -0
  368. {synapse-2.223.0 → synapse-2.225.0}/synapse/models/material.py +0 -0
  369. {synapse-2.223.0 → synapse-2.225.0}/synapse/models/math.py +0 -0
  370. {synapse-2.223.0 → synapse-2.225.0}/synapse/models/orgs.py +0 -0
  371. {synapse-2.223.0 → synapse-2.225.0}/synapse/models/person.py +0 -0
  372. {synapse-2.223.0 → synapse-2.225.0}/synapse/models/planning.py +0 -0
  373. {synapse-2.223.0 → synapse-2.225.0}/synapse/models/science.py +0 -0
  374. {synapse-2.223.0 → synapse-2.225.0}/synapse/models/telco.py +0 -0
  375. {synapse-2.223.0 → synapse-2.225.0}/synapse/models/transport.py +0 -0
  376. {synapse-2.223.0 → synapse-2.225.0}/synapse/servers/__init__.py +0 -0
  377. {synapse-2.223.0 → synapse-2.225.0}/synapse/servers/aha.py +0 -0
  378. {synapse-2.223.0 → synapse-2.225.0}/synapse/servers/axon.py +0 -0
  379. {synapse-2.223.0 → synapse-2.225.0}/synapse/servers/cell.py +0 -0
  380. {synapse-2.223.0 → synapse-2.225.0}/synapse/servers/cortex.py +0 -0
  381. {synapse-2.223.0 → synapse-2.225.0}/synapse/servers/cryotank.py +0 -0
  382. {synapse-2.223.0 → synapse-2.225.0}/synapse/servers/jsonstor.py +0 -0
  383. {synapse-2.223.0 → synapse-2.225.0}/synapse/servers/stemcell.py +0 -0
  384. {synapse-2.223.0 → synapse-2.225.0}/synapse/telepath.py +0 -0
  385. {synapse-2.223.0 → synapse-2.225.0}/synapse/tests/__init__.py +0 -0
  386. {synapse-2.223.0 → synapse-2.225.0}/synapse/tests/files/TestUtilsGetrefs.test_basics.yaml +0 -0
  387. {synapse-2.223.0 → synapse-2.225.0}/synapse/tests/files/__init__.py +0 -0
  388. {synapse-2.223.0 → synapse-2.225.0}/synapse/tests/files/aha/certs/cas/synapse.crt +0 -0
  389. {synapse-2.223.0 → synapse-2.225.0}/synapse/tests/files/aha/certs/cas/synapse.key +0 -0
  390. {synapse-2.223.0 → synapse-2.225.0}/synapse/tests/files/aha/certs/hosts/00.aha.loop.vertex.link.crt +0 -0
  391. {synapse-2.223.0 → synapse-2.225.0}/synapse/tests/files/aha/certs/hosts/00.aha.loop.vertex.link.key +0 -0
  392. {synapse-2.223.0 → synapse-2.225.0}/synapse/tests/files/aha/certs/users/root@synapse.crt +0 -0
  393. {synapse-2.223.0 → synapse-2.225.0}/synapse/tests/files/aha/certs/users/root@synapse.key +0 -0
  394. {synapse-2.223.0 → synapse-2.225.0}/synapse/tests/files/attack_flow/CISA AA22-138B VMWare Workspace (Alt).json +0 -0
  395. {synapse-2.223.0 → synapse-2.225.0}/synapse/tests/files/attack_flow/CISA_Iranian_APT.json +0 -0
  396. {synapse-2.223.0 → synapse-2.225.0}/synapse/tests/files/certdir/cas/ca.crt +0 -0
  397. {synapse-2.223.0 → synapse-2.225.0}/synapse/tests/files/certdir/cas/ca.key +0 -0
  398. {synapse-2.223.0 → synapse-2.225.0}/synapse/tests/files/certdir/hosts/localhost.crt +0 -0
  399. {synapse-2.223.0 → synapse-2.225.0}/synapse/tests/files/certdir/hosts/localhost.key +0 -0
  400. {synapse-2.223.0 → synapse-2.225.0}/synapse/tests/files/certdir/users/root.crt +0 -0
  401. {synapse-2.223.0 → synapse-2.225.0}/synapse/tests/files/certdir/users/root.key +0 -0
  402. {synapse-2.223.0 → synapse-2.225.0}/synapse/tests/files/certdir/users/user.crt +0 -0
  403. {synapse-2.223.0 → synapse-2.225.0}/synapse/tests/files/certdir/users/user.key +0 -0
  404. {synapse-2.223.0 → synapse-2.225.0}/synapse/tests/files/changelog/model_2.176.0_16ee721a6b7221344eaf946c3ab4602dda546b1a.yaml.gz +0 -0
  405. {synapse-2.223.0 → synapse-2.225.0}/synapse/tests/files/changelog/model_2.176.0_2a25c58bbd344716cd7cbc3f4304d8925b0f4ef2.yaml.gz +0 -0
  406. {synapse-2.223.0 → synapse-2.225.0}/synapse/tests/files/cpedata.json +0 -0
  407. {synapse-2.223.0 → synapse-2.225.0}/synapse/tests/files/rstorm/httpresp1.json +0 -0
  408. {synapse-2.223.0 → synapse-2.225.0}/synapse/tests/files/rstorm/httpresp2.json +0 -0
  409. {synapse-2.223.0 → synapse-2.225.0}/synapse/tests/files/rstorm/httpresp3.json +0 -0
  410. {synapse-2.223.0 → synapse-2.225.0}/synapse/tests/files/rstorm/httprespmulti.yaml +0 -0
  411. {synapse-2.223.0 → synapse-2.225.0}/synapse/tests/files/rstorm/testsvc.py +0 -0
  412. {synapse-2.223.0 → synapse-2.225.0}/synapse/tests/files/stix_export/basic.json +0 -0
  413. {synapse-2.223.0 → synapse-2.225.0}/synapse/tests/files/stix_export/custom0.json +0 -0
  414. {synapse-2.223.0 → synapse-2.225.0}/synapse/tests/files/stix_export/risk0.json +0 -0
  415. {synapse-2.223.0 → synapse-2.225.0}/synapse/tests/files/stix_import/apt1.json +0 -0
  416. {synapse-2.223.0 → synapse-2.225.0}/synapse/tests/files/stix_import/oasis-example-00.json +0 -0
  417. {synapse-2.223.0 → synapse-2.225.0}/synapse/tests/files/stormcov/argvquery.storm +0 -0
  418. {synapse-2.223.0 → synapse-2.225.0}/synapse/tests/files/stormcov/dupesubs.storm +0 -0
  419. {synapse-2.223.0 → synapse-2.225.0}/synapse/tests/files/stormcov/lookup.storm +0 -0
  420. {synapse-2.223.0 → synapse-2.225.0}/synapse/tests/files/stormcov/pivot.storm +0 -0
  421. {synapse-2.223.0 → synapse-2.225.0}/synapse/tests/files/stormcov/pragma-nocov.storm +0 -0
  422. {synapse-2.223.0 → synapse-2.225.0}/synapse/tests/files/stormcov/spin.storm +0 -0
  423. {synapse-2.223.0 → synapse-2.225.0}/synapse/tests/files/stormcov/stormctrl.storm +0 -0
  424. {synapse-2.223.0 → synapse-2.225.0}/synapse/tests/files/stormmod/common +0 -0
  425. {synapse-2.223.0 → synapse-2.225.0}/synapse/tests/files/stormpkg/badapidef.yaml +0 -0
  426. {synapse-2.223.0 → synapse-2.225.0}/synapse/tests/files/stormpkg/badcmdname.yaml +0 -0
  427. {synapse-2.223.0 → synapse-2.225.0}/synapse/tests/files/stormpkg/badendpoints.yaml +0 -0
  428. {synapse-2.223.0 → synapse-2.225.0}/synapse/tests/files/stormpkg/badinits.yaml +0 -0
  429. {synapse-2.223.0 → synapse-2.225.0}/synapse/tests/files/stormpkg/badjsonpkg.yaml +0 -0
  430. {synapse-2.223.0 → synapse-2.225.0}/synapse/tests/files/stormpkg/docs/foobar.md +0 -0
  431. {synapse-2.223.0 → synapse-2.225.0}/synapse/tests/files/stormpkg/docs/foobar.svg +0 -0
  432. {synapse-2.223.0 → synapse-2.225.0}/synapse/tests/files/stormpkg/dotstorm/dotstorm.yaml +0 -0
  433. {synapse-2.223.0 → synapse-2.225.0}/synapse/tests/files/stormpkg/dotstorm/storm/commands/dotstorm.bar.storm +0 -0
  434. {synapse-2.223.0 → synapse-2.225.0}/synapse/tests/files/stormpkg/dotstorm/storm/modules/dotstorm.foo.storm +0 -0
  435. {synapse-2.223.0 → synapse-2.225.0}/synapse/tests/files/stormpkg/nocontent.yaml +0 -0
  436. {synapse-2.223.0 → synapse-2.225.0}/synapse/tests/files/stormpkg/nomime.yaml +0 -0
  437. {synapse-2.223.0 → synapse-2.225.0}/synapse/tests/files/stormpkg/nopath.yaml +0 -0
  438. {synapse-2.223.0 → synapse-2.225.0}/synapse/tests/files/stormpkg/nosuchfile.yaml +0 -0
  439. {synapse-2.223.0 → synapse-2.225.0}/synapse/tests/files/stormpkg/notitle.yaml +0 -0
  440. {synapse-2.223.0 → synapse-2.225.0}/synapse/tests/files/stormpkg/optic/index.html +0 -0
  441. {synapse-2.223.0 → synapse-2.225.0}/synapse/tests/files/stormpkg/storm/commands/invalidCMD +0 -0
  442. {synapse-2.223.0 → synapse-2.225.0}/synapse/tests/files/stormpkg/storm/commands/testpkg.baz +0 -0
  443. {synapse-2.223.0 → synapse-2.225.0}/synapse/tests/files/stormpkg/storm/commands/testpkgcmd +0 -0
  444. {synapse-2.223.0 → synapse-2.225.0}/synapse/tests/files/stormpkg/storm/modules/apimod +0 -0
  445. {synapse-2.223.0 → synapse-2.225.0}/synapse/tests/files/stormpkg/storm/modules/testmod +0 -0
  446. {synapse-2.223.0 → synapse-2.225.0}/synapse/tests/files/stormpkg/testpkg.yaml +0 -0
  447. {synapse-2.223.0 → synapse-2.225.0}/synapse/tests/files/stormpkg/workflows/testpkg-bam.newp +0 -0
  448. {synapse-2.223.0 → synapse-2.225.0}/synapse/tests/files/stormpkg/workflows/testpkg-baz.yaml +0 -0
  449. {synapse-2.223.0 → synapse-2.225.0}/synapse/tests/files/stormpkg/workflows/testpkg-foo.yaml +0 -0
  450. {synapse-2.223.0 → synapse-2.225.0}/synapse/tests/files/test.dat +0 -0
  451. {synapse-2.223.0 → synapse-2.225.0}/synapse/tests/files/testcore/cell.yaml +0 -0
  452. {synapse-2.223.0 → synapse-2.225.0}/synapse/tests/files/testpkg_build_docs/docs/bar.rst +0 -0
  453. {synapse-2.223.0 → synapse-2.225.0}/synapse/tests/files/testpkg_build_docs/docs/foo.rst +0 -0
  454. {synapse-2.223.0 → synapse-2.225.0}/synapse/tests/files/testpkg_build_docs/storm/commands/testcmd.storm +0 -0
  455. {synapse-2.223.0 → synapse-2.225.0}/synapse/tests/files/testpkg_build_docs/storm/modules/apimod.storm +0 -0
  456. {synapse-2.223.0 → synapse-2.225.0}/synapse/tests/files/testpkg_build_docs/storm/modules/testmod.storm +0 -0
  457. {synapse-2.223.0 → synapse-2.225.0}/synapse/tests/files/testpkg_build_docs/storm/testcmd.storm +0 -0
  458. {synapse-2.223.0 → synapse-2.225.0}/synapse/tests/files/testpkg_build_docs/testpkg.yaml +0 -0
  459. {synapse-2.223.0 → synapse-2.225.0}/synapse/tests/nopmod.py +0 -0
  460. {synapse-2.223.0 → synapse-2.225.0}/synapse/tests/test_axon.py +0 -0
  461. {synapse-2.223.0 → synapse-2.225.0}/synapse/tests/test_cmds_boss.py +0 -0
  462. {synapse-2.223.0 → synapse-2.225.0}/synapse/tests/test_cmds_cortex.py +0 -0
  463. {synapse-2.223.0 → synapse-2.225.0}/synapse/tests/test_cmds_hive.py +0 -0
  464. {synapse-2.223.0 → synapse-2.225.0}/synapse/tests/test_cryotank.py +0 -0
  465. {synapse-2.223.0 → synapse-2.225.0}/synapse/tests/test_daemon.py +0 -0
  466. {synapse-2.223.0 → synapse-2.225.0}/synapse/tests/test_data.py +0 -0
  467. {synapse-2.223.0 → synapse-2.225.0}/synapse/tests/test_datamodel.py +0 -0
  468. {synapse-2.223.0 → synapse-2.225.0}/synapse/tests/test_exc.py +0 -0
  469. {synapse-2.223.0 → synapse-2.225.0}/synapse/tests/test_glob.py +0 -0
  470. {synapse-2.223.0 → synapse-2.225.0}/synapse/tests/test_init.py +0 -0
  471. {synapse-2.223.0 → synapse-2.225.0}/synapse/tests/test_lib_aha.py +0 -0
  472. {synapse-2.223.0 → synapse-2.225.0}/synapse/tests/test_lib_ast.py +0 -0
  473. {synapse-2.223.0 → synapse-2.225.0}/synapse/tests/test_lib_auth.py +0 -0
  474. {synapse-2.223.0 → synapse-2.225.0}/synapse/tests/test_lib_autodoc.py +0 -0
  475. {synapse-2.223.0 → synapse-2.225.0}/synapse/tests/test_lib_base.py +0 -0
  476. {synapse-2.223.0 → synapse-2.225.0}/synapse/tests/test_lib_boss.py +0 -0
  477. {synapse-2.223.0 → synapse-2.225.0}/synapse/tests/test_lib_cache.py +0 -0
  478. {synapse-2.223.0 → synapse-2.225.0}/synapse/tests/test_lib_chop.py +0 -0
  479. {synapse-2.223.0 → synapse-2.225.0}/synapse/tests/test_lib_cli.py +0 -0
  480. {synapse-2.223.0 → synapse-2.225.0}/synapse/tests/test_lib_config.py +0 -0
  481. {synapse-2.223.0 → synapse-2.225.0}/synapse/tests/test_lib_const.py +0 -0
  482. {synapse-2.223.0 → synapse-2.225.0}/synapse/tests/test_lib_coro.py +0 -0
  483. {synapse-2.223.0 → synapse-2.225.0}/synapse/tests/test_lib_crypto_coin.py +0 -0
  484. {synapse-2.223.0 → synapse-2.225.0}/synapse/tests/test_lib_crypto_ecc.py +0 -0
  485. {synapse-2.223.0 → synapse-2.225.0}/synapse/tests/test_lib_crypto_passwd.py +0 -0
  486. {synapse-2.223.0 → synapse-2.225.0}/synapse/tests/test_lib_crypto_tinfoil.py +0 -0
  487. {synapse-2.223.0 → synapse-2.225.0}/synapse/tests/test_lib_datfile.py +0 -0
  488. {synapse-2.223.0 → synapse-2.225.0}/synapse/tests/test_lib_dyndeps.py +0 -0
  489. {synapse-2.223.0 → synapse-2.225.0}/synapse/tests/test_lib_encoding.py +0 -0
  490. {synapse-2.223.0 → synapse-2.225.0}/synapse/tests/test_lib_gis.py +0 -0
  491. {synapse-2.223.0 → synapse-2.225.0}/synapse/tests/test_lib_grammar.py +0 -0
  492. {synapse-2.223.0 → synapse-2.225.0}/synapse/tests/test_lib_hashitem.py +0 -0
  493. {synapse-2.223.0 → synapse-2.225.0}/synapse/tests/test_lib_hashset.py +0 -0
  494. {synapse-2.223.0 → synapse-2.225.0}/synapse/tests/test_lib_health.py +0 -0
  495. {synapse-2.223.0 → synapse-2.225.0}/synapse/tests/test_lib_hive.py +0 -0
  496. {synapse-2.223.0 → synapse-2.225.0}/synapse/tests/test_lib_interval.py +0 -0
  497. {synapse-2.223.0 → synapse-2.225.0}/synapse/tests/test_lib_json.py +0 -0
  498. {synapse-2.223.0 → synapse-2.225.0}/synapse/tests/test_lib_jsonstor.py +0 -0
  499. {synapse-2.223.0 → synapse-2.225.0}/synapse/tests/test_lib_link.py +0 -0
  500. {synapse-2.223.0 → synapse-2.225.0}/synapse/tests/test_lib_lmdbslab.py +0 -0
  501. {synapse-2.223.0 → synapse-2.225.0}/synapse/tests/test_lib_modelrev.py +0 -0
  502. {synapse-2.223.0 → synapse-2.225.0}/synapse/tests/test_lib_module.py +0 -0
  503. {synapse-2.223.0 → synapse-2.225.0}/synapse/tests/test_lib_msgpack.py +0 -0
  504. {synapse-2.223.0 → synapse-2.225.0}/synapse/tests/test_lib_node.py +0 -0
  505. {synapse-2.223.0 → synapse-2.225.0}/synapse/tests/test_lib_output.py +0 -0
  506. {synapse-2.223.0 → synapse-2.225.0}/synapse/tests/test_lib_platforms_linux.py +0 -0
  507. {synapse-2.223.0 → synapse-2.225.0}/synapse/tests/test_lib_queue.py +0 -0
  508. {synapse-2.223.0 → synapse-2.225.0}/synapse/tests/test_lib_ratelimit.py +0 -0
  509. {synapse-2.223.0 → synapse-2.225.0}/synapse/tests/test_lib_reflect.py +0 -0
  510. {synapse-2.223.0 → synapse-2.225.0}/synapse/tests/test_lib_rstorm.py +0 -0
  511. {synapse-2.223.0 → synapse-2.225.0}/synapse/tests/test_lib_scope.py +0 -0
  512. {synapse-2.223.0 → synapse-2.225.0}/synapse/tests/test_lib_scrape.py +0 -0
  513. {synapse-2.223.0 → synapse-2.225.0}/synapse/tests/test_lib_slaboffs.py +0 -0
  514. {synapse-2.223.0 → synapse-2.225.0}/synapse/tests/test_lib_snap.py +0 -0
  515. {synapse-2.223.0 → synapse-2.225.0}/synapse/tests/test_lib_spooled.py +0 -0
  516. {synapse-2.223.0 → synapse-2.225.0}/synapse/tests/test_lib_storm_format.py +0 -0
  517. {synapse-2.223.0 → synapse-2.225.0}/synapse/tests/test_lib_stormctrl.py +0 -0
  518. {synapse-2.223.0 → synapse-2.225.0}/synapse/tests/test_lib_stormlib_aha.py +0 -0
  519. {synapse-2.223.0 → synapse-2.225.0}/synapse/tests/test_lib_stormlib_auth.py +0 -0
  520. {synapse-2.223.0 → synapse-2.225.0}/synapse/tests/test_lib_stormlib_backup.py +0 -0
  521. {synapse-2.223.0 → synapse-2.225.0}/synapse/tests/test_lib_stormlib_basex.py +0 -0
  522. {synapse-2.223.0 → synapse-2.225.0}/synapse/tests/test_lib_stormlib_cache.py +0 -0
  523. {synapse-2.223.0 → synapse-2.225.0}/synapse/tests/test_lib_stormlib_cell.py +0 -0
  524. {synapse-2.223.0 → synapse-2.225.0}/synapse/tests/test_lib_stormlib_compression.py +0 -0
  525. {synapse-2.223.0 → synapse-2.225.0}/synapse/tests/test_lib_stormlib_cortex.py +0 -0
  526. {synapse-2.223.0 → synapse-2.225.0}/synapse/tests/test_lib_stormlib_easyperm.py +0 -0
  527. {synapse-2.223.0 → synapse-2.225.0}/synapse/tests/test_lib_stormlib_env.py +0 -0
  528. {synapse-2.223.0 → synapse-2.225.0}/synapse/tests/test_lib_stormlib_ethereum.py +0 -0
  529. {synapse-2.223.0 → synapse-2.225.0}/synapse/tests/test_lib_stormlib_gen.py +0 -0
  530. {synapse-2.223.0 → synapse-2.225.0}/synapse/tests/test_lib_stormlib_gis.py +0 -0
  531. {synapse-2.223.0 → synapse-2.225.0}/synapse/tests/test_lib_stormlib_hashes.py +0 -0
  532. {synapse-2.223.0 → synapse-2.225.0}/synapse/tests/test_lib_stormlib_hex.py +0 -0
  533. {synapse-2.223.0 → synapse-2.225.0}/synapse/tests/test_lib_stormlib_index.py +0 -0
  534. {synapse-2.223.0 → synapse-2.225.0}/synapse/tests/test_lib_stormlib_infosec.py +0 -0
  535. {synapse-2.223.0 → synapse-2.225.0}/synapse/tests/test_lib_stormlib_ipv6.py +0 -0
  536. {synapse-2.223.0 → synapse-2.225.0}/synapse/tests/test_lib_stormlib_iters.py +0 -0
  537. {synapse-2.223.0 → synapse-2.225.0}/synapse/tests/test_lib_stormlib_json.py +0 -0
  538. {synapse-2.223.0 → synapse-2.225.0}/synapse/tests/test_lib_stormlib_log.py +0 -0
  539. {synapse-2.223.0 → synapse-2.225.0}/synapse/tests/test_lib_stormlib_macro.py +0 -0
  540. {synapse-2.223.0 → synapse-2.225.0}/synapse/tests/test_lib_stormlib_mime.py +0 -0
  541. {synapse-2.223.0 → synapse-2.225.0}/synapse/tests/test_lib_stormlib_model.py +0 -0
  542. {synapse-2.223.0 → synapse-2.225.0}/synapse/tests/test_lib_stormlib_modelext.py +0 -0
  543. {synapse-2.223.0 → synapse-2.225.0}/synapse/tests/test_lib_stormlib_pack.py +0 -0
  544. {synapse-2.223.0 → synapse-2.225.0}/synapse/tests/test_lib_stormlib_pkg.py +0 -0
  545. {synapse-2.223.0 → synapse-2.225.0}/synapse/tests/test_lib_stormlib_random.py +0 -0
  546. {synapse-2.223.0 → synapse-2.225.0}/synapse/tests/test_lib_stormlib_scrape.py +0 -0
  547. {synapse-2.223.0 → synapse-2.225.0}/synapse/tests/test_lib_stormlib_smtp.py +0 -0
  548. {synapse-2.223.0 → synapse-2.225.0}/synapse/tests/test_lib_stormlib_spooled.py +0 -0
  549. {synapse-2.223.0 → synapse-2.225.0}/synapse/tests/test_lib_stormlib_stats.py +0 -0
  550. {synapse-2.223.0 → synapse-2.225.0}/synapse/tests/test_lib_stormlib_stix.py +0 -0
  551. {synapse-2.223.0 → synapse-2.225.0}/synapse/tests/test_lib_stormlib_storm.py +0 -0
  552. {synapse-2.223.0 → synapse-2.225.0}/synapse/tests/test_lib_stormlib_tabular.py +0 -0
  553. {synapse-2.223.0 → synapse-2.225.0}/synapse/tests/test_lib_stormlib_task.py +0 -0
  554. {synapse-2.223.0 → synapse-2.225.0}/synapse/tests/test_lib_stormlib_utils.py +0 -0
  555. {synapse-2.223.0 → synapse-2.225.0}/synapse/tests/test_lib_stormlib_vault.py +0 -0
  556. {synapse-2.223.0 → synapse-2.225.0}/synapse/tests/test_lib_stormlib_xml.py +0 -0
  557. {synapse-2.223.0 → synapse-2.225.0}/synapse/tests/test_lib_stormlib_yaml.py +0 -0
  558. {synapse-2.223.0 → synapse-2.225.0}/synapse/tests/test_lib_stormwhois.py +0 -0
  559. {synapse-2.223.0 → synapse-2.225.0}/synapse/tests/test_lib_structlog.py +0 -0
  560. {synapse-2.223.0 → synapse-2.225.0}/synapse/tests/test_lib_task.py +0 -0
  561. {synapse-2.223.0 → synapse-2.225.0}/synapse/tests/test_lib_thishost.py +0 -0
  562. {synapse-2.223.0 → synapse-2.225.0}/synapse/tests/test_lib_time.py +0 -0
  563. {synapse-2.223.0 → synapse-2.225.0}/synapse/tests/test_lib_types.py +0 -0
  564. {synapse-2.223.0 → synapse-2.225.0}/synapse/tests/test_lib_urlhelp.py +0 -0
  565. {synapse-2.223.0 → synapse-2.225.0}/synapse/tests/test_lib_version.py +0 -0
  566. {synapse-2.223.0 → synapse-2.225.0}/synapse/tests/test_lib_view.py +0 -0
  567. {synapse-2.223.0 → synapse-2.225.0}/synapse/tests/test_lookup_iso3166.py +0 -0
  568. {synapse-2.223.0 → synapse-2.225.0}/synapse/tests/test_lookup_phonenum.py +0 -0
  569. {synapse-2.223.0 → synapse-2.225.0}/synapse/tests/test_mindmeld.py +0 -0
  570. {synapse-2.223.0 → synapse-2.225.0}/synapse/tests/test_model_auth.py +0 -0
  571. {synapse-2.223.0 → synapse-2.225.0}/synapse/tests/test_model_base.py +0 -0
  572. {synapse-2.223.0 → synapse-2.225.0}/synapse/tests/test_model_belief.py +0 -0
  573. {synapse-2.223.0 → synapse-2.225.0}/synapse/tests/test_model_biz.py +0 -0
  574. {synapse-2.223.0 → synapse-2.225.0}/synapse/tests/test_model_crypto.py +0 -0
  575. {synapse-2.223.0 → synapse-2.225.0}/synapse/tests/test_model_dns.py +0 -0
  576. {synapse-2.223.0 → synapse-2.225.0}/synapse/tests/test_model_doc.py +0 -0
  577. {synapse-2.223.0 → synapse-2.225.0}/synapse/tests/test_model_economic.py +0 -0
  578. {synapse-2.223.0 → synapse-2.225.0}/synapse/tests/test_model_entity.py +0 -0
  579. {synapse-2.223.0 → synapse-2.225.0}/synapse/tests/test_model_files.py +0 -0
  580. {synapse-2.223.0 → synapse-2.225.0}/synapse/tests/test_model_geopol.py +0 -0
  581. {synapse-2.223.0 → synapse-2.225.0}/synapse/tests/test_model_geospace.py +0 -0
  582. {synapse-2.223.0 → synapse-2.225.0}/synapse/tests/test_model_gov_cn.py +0 -0
  583. {synapse-2.223.0 → synapse-2.225.0}/synapse/tests/test_model_gov_intl.py +0 -0
  584. {synapse-2.223.0 → synapse-2.225.0}/synapse/tests/test_model_gov_us.py +0 -0
  585. {synapse-2.223.0 → synapse-2.225.0}/synapse/tests/test_model_infotech.py +0 -0
  586. {synapse-2.223.0 → synapse-2.225.0}/synapse/tests/test_model_language.py +0 -0
  587. {synapse-2.223.0 → synapse-2.225.0}/synapse/tests/test_model_material.py +0 -0
  588. {synapse-2.223.0 → synapse-2.225.0}/synapse/tests/test_model_math.py +0 -0
  589. {synapse-2.223.0 → synapse-2.225.0}/synapse/tests/test_model_orgs.py +0 -0
  590. {synapse-2.223.0 → synapse-2.225.0}/synapse/tests/test_model_person.py +0 -0
  591. {synapse-2.223.0 → synapse-2.225.0}/synapse/tests/test_model_planning.py +0 -0
  592. {synapse-2.223.0 → synapse-2.225.0}/synapse/tests/test_model_science.py +0 -0
  593. {synapse-2.223.0 → synapse-2.225.0}/synapse/tests/test_model_telco.py +0 -0
  594. {synapse-2.223.0 → synapse-2.225.0}/synapse/tests/test_model_transport.py +0 -0
  595. {synapse-2.223.0 → synapse-2.225.0}/synapse/tests/test_servers_axon.py +0 -0
  596. {synapse-2.223.0 → synapse-2.225.0}/synapse/tests/test_servers_cortex.py +0 -0
  597. {synapse-2.223.0 → synapse-2.225.0}/synapse/tests/test_servers_cryotank.py +0 -0
  598. {synapse-2.223.0 → synapse-2.225.0}/synapse/tests/test_servers_stemcell.py +0 -0
  599. {synapse-2.223.0 → synapse-2.225.0}/synapse/tests/test_servers_univ.py +0 -0
  600. {synapse-2.223.0 → synapse-2.225.0}/synapse/tests/test_telepath.py +0 -0
  601. {synapse-2.223.0 → synapse-2.225.0}/synapse/tests/test_tools_aha.py +0 -0
  602. /synapse-2.223.0/synapse/tests/test_tools_axon.py → /synapse-2.225.0/synapse/tests/test_tools_axon_dump_load.py +0 -0
  603. {synapse-2.223.0 → synapse-2.225.0}/synapse/tests/test_tools_cellauth.py +0 -0
  604. {synapse-2.223.0 → synapse-2.225.0}/synapse/tests/test_tools_cortex_layer.py +0 -0
  605. {synapse-2.223.0 → synapse-2.225.0}/synapse/tests/test_tools_cryo_cat.py +0 -0
  606. {synapse-2.223.0 → synapse-2.225.0}/synapse/tests/test_tools_cryo_list.py +0 -0
  607. {synapse-2.223.0 → synapse-2.225.0}/synapse/tests/test_tools_docker_validate.py +0 -0
  608. {synapse-2.223.0 → synapse-2.225.0}/synapse/tests/test_tools_hiveload.py +0 -0
  609. {synapse-2.223.0 → synapse-2.225.0}/synapse/tests/test_tools_hivesave.py +0 -0
  610. {synapse-2.223.0 → synapse-2.225.0}/synapse/tests/test_utils.py +0 -0
  611. {synapse-2.223.0 → synapse-2.225.0}/synapse/tests/test_utils_getrefs.py +0 -0
  612. {synapse-2.223.0 → synapse-2.225.0}/synapse/tests/test_utils_stormcov.py +0 -0
  613. {synapse-2.223.0 → synapse-2.225.0}/synapse/tools/__init__.py +0 -0
  614. {synapse-2.223.0 → synapse-2.225.0}/synapse/tools/aha/__init__.py +0 -0
  615. {synapse-2.223.0 → synapse-2.225.0}/synapse/tools/aha/clone.py +0 -0
  616. {synapse-2.223.0 → synapse-2.225.0}/synapse/tools/aha/easycert.py +0 -0
  617. {synapse-2.223.0 → synapse-2.225.0}/synapse/tools/aha/enroll.py +0 -0
  618. {synapse-2.223.0 → synapse-2.225.0}/synapse/tools/aha/list.py +0 -0
  619. {synapse-2.223.0 → synapse-2.225.0}/synapse/tools/aha/mirror.py +0 -0
  620. {synapse-2.223.0 → synapse-2.225.0}/synapse/tools/aha/provision/__init__.py +0 -0
  621. {synapse-2.223.0 → synapse-2.225.0}/synapse/tools/aha/provision/service.py +0 -0
  622. {synapse-2.223.0 → synapse-2.225.0}/synapse/tools/aha/provision/user.py +0 -0
  623. {synapse-2.223.0 → synapse-2.225.0}/synapse/tools/axon/__init__.py +0 -0
  624. {synapse-2.223.0 → synapse-2.225.0}/synapse/tools/axon/dump.py +0 -0
  625. {synapse-2.223.0 → synapse-2.225.0}/synapse/tools/axon/load.py +0 -0
  626. {synapse-2.223.0 → synapse-2.225.0}/synapse/tools/cellauth.py +0 -0
  627. {synapse-2.223.0 → synapse-2.225.0}/synapse/tools/cmdr.py +0 -0
  628. {synapse-2.223.0 → synapse-2.225.0}/synapse/tools/cortex/__init__.py +0 -0
  629. {synapse-2.223.0 → synapse-2.225.0}/synapse/tools/cortex/layer/__init__.py +0 -0
  630. {synapse-2.223.0 → synapse-2.225.0}/synapse/tools/cortex/layer/dump.py +0 -0
  631. {synapse-2.223.0 → synapse-2.225.0}/synapse/tools/cortex/layer/load.py +0 -0
  632. {synapse-2.223.0 → synapse-2.225.0}/synapse/tools/cryo/__init__.py +0 -0
  633. {synapse-2.223.0 → synapse-2.225.0}/synapse/tools/cryo/cat.py +0 -0
  634. {synapse-2.223.0 → synapse-2.225.0}/synapse/tools/cryo/list.py +0 -0
  635. {synapse-2.223.0 → synapse-2.225.0}/synapse/tools/docker/__init__.py +0 -0
  636. {synapse-2.223.0 → synapse-2.225.0}/synapse/tools/hive/__init__.py +0 -0
  637. {synapse-2.223.0 → synapse-2.225.0}/synapse/tools/hive/load.py +0 -0
  638. {synapse-2.223.0 → synapse-2.225.0}/synapse/tools/hive/save.py +0 -0
  639. {synapse-2.223.0/synapse/utils → synapse-2.225.0/synapse/tools/service}/__init__.py +0 -0
  640. {synapse-2.223.0/synapse/vendor → synapse-2.225.0/synapse/tools/storm}/__init__.py +0 -0
  641. {synapse-2.223.0/synapse/vendor/cashaddress/tests → synapse-2.225.0/synapse/tools/storm/pkg}/__init__.py +0 -0
  642. {synapse-2.223.0/synapse/vendor/cpython → synapse-2.225.0/synapse/tools/utils}/__init__.py +0 -0
  643. {synapse-2.223.0/synapse/vendor/cpython/lib → synapse-2.225.0/synapse/utils}/__init__.py +0 -0
  644. {synapse-2.223.0 → synapse-2.225.0}/synapse/utils/getrefs.py +0 -0
  645. {synapse-2.223.0 → synapse-2.225.0}/synapse/utils/stormcov/__init__.py +0 -0
  646. {synapse-2.223.0 → synapse-2.225.0}/synapse/utils/stormcov/plugin.py +0 -0
  647. {synapse-2.223.0/synapse/vendor/cpython/lib/email → synapse-2.225.0/synapse/vendor}/__init__.py +0 -0
  648. {synapse-2.223.0 → synapse-2.225.0}/synapse/vendor/cashaddress/LICENSE +0 -0
  649. {synapse-2.223.0 → synapse-2.225.0}/synapse/vendor/cashaddress/__init__.py +0 -0
  650. {synapse-2.223.0 → synapse-2.225.0}/synapse/vendor/cashaddress/base58.py +0 -0
  651. {synapse-2.223.0 → synapse-2.225.0}/synapse/vendor/cashaddress/convert.py +0 -0
  652. {synapse-2.223.0 → synapse-2.225.0}/synapse/vendor/cashaddress/crypto.py +0 -0
  653. {synapse-2.223.0/synapse/vendor/cpython/lib/http → synapse-2.225.0/synapse/vendor/cashaddress/tests}/__init__.py +0 -0
  654. {synapse-2.223.0 → synapse-2.225.0}/synapse/vendor/cashaddress/tests/test_cashaddress.py +0 -0
  655. {synapse-2.223.0 → synapse-2.225.0}/synapse/vendor/cpython/LICENSE +0 -0
  656. {synapse-2.223.0/synapse/vendor/cpython/lib/test → synapse-2.225.0/synapse/vendor/cpython}/__init__.py +0 -0
  657. {synapse-2.223.0/synapse/vendor/cpython/lib/test/test_email → synapse-2.225.0/synapse/vendor/cpython/lib}/__init__.py +0 -0
  658. {synapse-2.223.0/synapse/vendor/substrateinterface/tests → synapse-2.225.0/synapse/vendor/cpython/lib/email}/__init__.py +0 -0
  659. {synapse-2.223.0 → synapse-2.225.0}/synapse/vendor/cpython/lib/email/_parseaddr.py +0 -0
  660. {synapse-2.223.0 → synapse-2.225.0}/synapse/vendor/cpython/lib/email/utils.py +0 -0
  661. {synapse-2.223.0/synapse/vendor/xrpl/tests → synapse-2.225.0/synapse/vendor/cpython/lib/http}/__init__.py +0 -0
  662. {synapse-2.223.0 → synapse-2.225.0}/synapse/vendor/cpython/lib/http/cookies.py +0 -0
  663. {synapse-2.223.0 → synapse-2.225.0}/synapse/vendor/cpython/lib/ipaddress.py +0 -0
  664. {synapse-2.223.0 → synapse-2.225.0}/synapse/vendor/cpython/lib/json.py +0 -0
  665. {synapse-2.223.0 → synapse-2.225.0}/synapse/vendor/cpython/lib/test/support/__init__.py +0 -0
  666. {synapse-2.223.0 → synapse-2.225.0}/synapse/vendor/cpython/lib/test/test_email/test_email.py +0 -0
  667. {synapse-2.223.0 → synapse-2.225.0}/synapse/vendor/cpython/lib/test/test_email/test_utils.py +0 -0
  668. {synapse-2.223.0 → synapse-2.225.0}/synapse/vendor/cpython/lib/test/test_http_cookies.py +0 -0
  669. {synapse-2.223.0 → synapse-2.225.0}/synapse/vendor/cpython/lib/test/test_ipaddress.py +0 -0
  670. {synapse-2.223.0 → synapse-2.225.0}/synapse/vendor/cpython/lib/test/test_json.py +0 -0
  671. {synapse-2.223.0 → synapse-2.225.0}/synapse/vendor/substrateinterface/LICENSE +0 -0
  672. {synapse-2.223.0 → synapse-2.225.0}/synapse/vendor/substrateinterface/__init__.py +0 -0
  673. {synapse-2.223.0 → synapse-2.225.0}/synapse/vendor/substrateinterface/tests/test_ss58.py +0 -0
  674. {synapse-2.223.0 → synapse-2.225.0}/synapse/vendor/substrateinterface/utils/__init__.py +0 -0
  675. {synapse-2.223.0 → synapse-2.225.0}/synapse/vendor/substrateinterface/utils/ss58.py +0 -0
  676. {synapse-2.223.0 → synapse-2.225.0}/synapse/vendor/utils.py +0 -0
  677. {synapse-2.223.0 → synapse-2.225.0}/synapse/vendor/xrpl/LICENSE +0 -0
  678. {synapse-2.223.0 → synapse-2.225.0}/synapse/vendor/xrpl/__init__.py +0 -0
  679. {synapse-2.223.0 → synapse-2.225.0}/synapse/vendor/xrpl/constants.py +0 -0
  680. {synapse-2.223.0 → synapse-2.225.0}/synapse/vendor/xrpl/core/__init__.py +0 -0
  681. {synapse-2.223.0 → synapse-2.225.0}/synapse/vendor/xrpl/core/addresscodec/__init__.py +0 -0
  682. {synapse-2.223.0 → synapse-2.225.0}/synapse/vendor/xrpl/core/addresscodec/codec.py +0 -0
  683. {synapse-2.223.0 → synapse-2.225.0}/synapse/vendor/xrpl/core/addresscodec/exceptions.py +0 -0
  684. {synapse-2.223.0 → synapse-2.225.0}/synapse/vendor/xrpl/core/addresscodec/main.py +0 -0
  685. {synapse-2.223.0 → synapse-2.225.0}/synapse/vendor/xrpl/core/addresscodec/utils.py +0 -0
  686. {synapse-2.223.0 → synapse-2.225.0}/synapse/vendor/xrpl/tests/test_codec.py +0 -0
  687. {synapse-2.223.0 → synapse-2.225.0}/synapse/vendor/xrpl/tests/test_main.py +0 -0
  688. {synapse-2.223.0 → synapse-2.225.0}/synapse/vendor/xrpl/tests/test_main_test_cases.py +0 -0
  689. {synapse-2.223.0 → synapse-2.225.0}/synapse.egg-info/dependency_links.txt +0 -0
  690. {synapse-2.223.0 → synapse-2.225.0}/synapse.egg-info/requires.txt +0 -0
  691. {synapse-2.223.0 → synapse-2.225.0}/synapse.egg-info/top_level.txt +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: synapse
3
- Version: 2.223.0
3
+ Version: 2.225.0
4
4
  Summary: Synapse Intelligence Analysis Framework
5
5
  Author-email: The Vertex Project LLC <root@vertex.link>
6
6
  License-Expression: Apache-2.0
@@ -4,7 +4,7 @@ build-backend = 'setuptools.build_meta'
4
4
 
5
5
  [project]
6
6
  name = 'synapse'
7
- version = '2.223.0'
7
+ version = '2.225.0'
8
8
  authors = [
9
9
  { name = 'The Vertex Project LLC', email = 'root@vertex.link'},
10
10
  ]
@@ -1651,8 +1651,9 @@ class Axon(s_cell.Cell):
1651
1651
  filename=field.get('filename'),
1652
1652
  content_transfer_encoding=field.get('content_transfer_encoding'))
1653
1653
 
1654
- async with sess.request(method, url, headers=headers, params=params,
1655
- data=data, ssl=ssl) as resp:
1654
+ async with sess.request(method, url, headers=headers, params=params, data=data, ssl=ssl,
1655
+ max_line_size=s_const.MAX_LINE_SIZE,
1656
+ max_field_size=s_const.MAX_FIELD_SIZE) as resp:
1656
1657
  info = {
1657
1658
  'ok': True,
1658
1659
  'url': str(resp.url),
@@ -1698,8 +1699,10 @@ class Axon(s_cell.Cell):
1698
1699
  async with aiohttp.ClientSession(connector=connector, timeout=atimeout) as sess:
1699
1700
  try:
1700
1701
  await self._reqHas(sha256)
1701
- async with sess.request(method, url, headers=headers, params=params,
1702
- data=self.get(sha256), ssl=ssl) as resp:
1702
+ async with sess.request(method, url, headers=headers, params=params, ssl=ssl,
1703
+ data=self.get(sha256),
1704
+ max_line_size=s_const.MAX_LINE_SIZE,
1705
+ max_field_size=s_const.MAX_FIELD_SIZE) as resp:
1703
1706
 
1704
1707
  info = {
1705
1708
  'ok': True,
@@ -1827,7 +1830,9 @@ class Axon(s_cell.Cell):
1827
1830
  async with aiohttp.ClientSession(connector=connector, timeout=atimeout) as sess:
1828
1831
 
1829
1832
  try:
1830
- async with sess.request(method, url, headers=headers, params=params, json=json, data=body, ssl=ssl) as resp:
1833
+ async with sess.request(method, url, headers=headers, params=params, json=json, data=body, ssl=ssl,
1834
+ max_line_size=s_const.MAX_LINE_SIZE,
1835
+ max_field_size=s_const.MAX_FIELD_SIZE) as resp:
1831
1836
 
1832
1837
  info = self._flatten_clientresponse(resp)
1833
1838
 
@@ -144,7 +144,7 @@ def flatten(item):
144
144
  item: The python primitive object to normalize.
145
145
 
146
146
  Notes:
147
- Only None, bool, int, bytes, strings, lists, tuples and dictionaries are acceptable input.
147
+ Only None, bool, int, bytes, strings, floats, lists, tuples and dictionaries are acceptable input.
148
148
  List objects will be converted to tuples.
149
149
  Dictionary objects must have keys which can be sorted.
150
150
 
@@ -155,7 +155,7 @@ def flatten(item):
155
155
  if item is None:
156
156
  return None
157
157
 
158
- if isinstance(item, (str, int, bytes)):
158
+ if isinstance(item, (str, int, bytes, float)):
159
159
  return item
160
160
 
161
161
  if isinstance(item, (tuple, list)):
@@ -464,6 +464,15 @@ class CoreApi(s_cell.CellApi):
464
464
  '''
465
465
  return await self.cell.getTypeNorm(name, valu, typeopts=typeopts)
466
466
 
467
+ async def addType(self, typename, basetype, typeopts, typeinfo):
468
+ '''
469
+ Add an extended type to the data model.
470
+
471
+ Extended types must begin with _
472
+ '''
473
+ self.user.confirm(('model', 'type', 'add', typename))
474
+ return await self.cell.addType(typename, basetype, typeopts, typeinfo)
475
+
467
476
  async def addForm(self, formname, basetype, typeopts, typeinfo):
468
477
  '''
469
478
  Add an extended form to the data model.
@@ -535,6 +544,15 @@ class CoreApi(s_cell.CellApi):
535
544
  self.user.confirm(('model', 'tagprop', 'del'))
536
545
  return await self.cell.delTagProp(name)
537
546
 
547
+ async def addEdge(self, edge, edgeinfo):
548
+ '''
549
+ Add an extended edge definition to the data model.
550
+
551
+ Extended edge definitions must use a verb which begins with _
552
+ '''
553
+ self.user.confirm(('model', 'edge', 'add'))
554
+ return await self.cell.addEdge(edge, edgeinfo)
555
+
538
556
  async def addStormPkg(self, pkgdef, verify=False):
539
557
  self.user.confirm(('pkg', 'add'))
540
558
  return await self.cell.addStormPkg(pkgdef, verify=verify)
@@ -1440,6 +1458,11 @@ class Cortex(s_oauth.OAuthMixin, s_cell.Cell): # type: ignore
1440
1458
  {'perm': ('model', 'univ', 'del'), 'gate': 'cortex',
1441
1459
  'desc': 'Controls access to deleting extended model universal properties and values.'},
1442
1460
 
1461
+ {'perm': ('model', 'edge', 'add'), 'gate': 'cortex',
1462
+ 'desc': 'Controls access to adding extended model edges.'},
1463
+ {'perm': ('model', 'edge', 'del'), 'gate': 'cortex',
1464
+ 'desc': 'Controls access to deleting extended model edges.'},
1465
+
1443
1466
  {'perm': ('node',), 'gate': 'layer',
1444
1467
  'desc': 'Controls all node edits in a layer.'},
1445
1468
  {'perm': ('node', 'add'), 'gate': 'layer',
@@ -2568,6 +2591,7 @@ class Cortex(s_oauth.OAuthMixin, s_cell.Cell): # type: ignore
2568
2591
  ctor.pkgname = cdef.get('pkgname')
2569
2592
  ctor.svciden = cdef.get('cmdconf', {}).get('svciden', '')
2570
2593
  ctor.forms = cdef.get('forms', {})
2594
+ ctor.deprecated = cdef.get('deprecated', {})
2571
2595
 
2572
2596
  def getStorNode(form):
2573
2597
  ndef = (form.name, form.type.norm(cdef.get('name'))[0])
@@ -2596,6 +2620,18 @@ class Cortex(s_oauth.OAuthMixin, s_cell.Cell): # type: ignore
2596
2620
  if ctor.pkgname:
2597
2621
  props['package'] = ctor.pkgname
2598
2622
 
2623
+ if ctor.deprecated:
2624
+ props['deprecated'] = True
2625
+
2626
+ if (eolvers := ctor.deprecated.get('eolvers')) is not None:
2627
+ props['deprecated:version'] = eolvers
2628
+
2629
+ if (eoldate := ctor.deprecated.get('eoldate')) is not None:
2630
+ props['deprecated:date'] = eoldate
2631
+
2632
+ if (mesg := ctor.deprecated.get('mesg')) is not None:
2633
+ props['deprecated:mesg'] = mesg
2634
+
2599
2635
  pnorms = {}
2600
2636
  for prop, valu in props.items():
2601
2637
  formprop = form.props.get(prop)
@@ -3662,6 +3698,7 @@ class Cortex(s_oauth.OAuthMixin, s_cell.Cell): # type: ignore
3662
3698
 
3663
3699
  return True
3664
3700
 
3701
+ @s_cell.from_leader
3665
3702
  async def addUnivProp(self, name, tdef, info):
3666
3703
  if not isinstance(tdef, tuple):
3667
3704
  mesg = 'Universal property type definitions should be a tuple.'
@@ -3676,6 +3713,8 @@ class Cortex(s_oauth.OAuthMixin, s_cell.Cell): # type: ignore
3676
3713
  mesg = 'ext univ name must start with "_"'
3677
3714
  raise s_exc.BadPropDef(name=name, mesg=mesg)
3678
3715
 
3716
+ self.model.getTypeClone(tdef)
3717
+
3679
3718
  base = '.' + name
3680
3719
  if base in self.model.props:
3681
3720
  raise s_exc.DupPropName(mesg=f'Cannot add duplicate universal property {base}',
@@ -3697,6 +3736,7 @@ class Cortex(s_oauth.OAuthMixin, s_cell.Cell): # type: ignore
3697
3736
  if univ:
3698
3737
  await self.feedBeholder('model:univ:add', univ.pack())
3699
3738
 
3739
+ @s_cell.from_leader
3700
3740
  async def addForm(self, formname, basetype, typeopts, typeinfo):
3701
3741
  if not isinstance(typeopts, dict):
3702
3742
  mesg = 'Form type options should be a dict.'
@@ -3718,6 +3758,8 @@ class Cortex(s_oauth.OAuthMixin, s_cell.Cell): # type: ignore
3718
3758
  mesg = f'Type already exists: {formname}'
3719
3759
  raise s_exc.DupTypeName.init(formname)
3720
3760
 
3761
+ self.model.getTypeClone((basetype, typeopts))
3762
+
3721
3763
  return await self._push('model:form:add', formname, basetype, typeopts, typeinfo)
3722
3764
 
3723
3765
  @s_nexus.Pusher.onPush('model:form:add')
@@ -3772,6 +3814,7 @@ class Cortex(s_oauth.OAuthMixin, s_cell.Cell): # type: ignore
3772
3814
  await self.fire('core:extmodel:change', form=formname, act='del', type='form')
3773
3815
  await self.feedBeholder('model:form:del', {'form': formname})
3774
3816
 
3817
+ @s_cell.from_leader
3775
3818
  async def addType(self, typename, basetype, typeopts, typeinfo):
3776
3819
  if not isinstance(typeopts, dict):
3777
3820
  mesg = 'Type options should be a dict.'
@@ -3840,6 +3883,7 @@ class Cortex(s_oauth.OAuthMixin, s_cell.Cell): # type: ignore
3840
3883
  await self.fire('core:extmodel:change', name=typename, act='del', type='type')
3841
3884
  await self.feedBeholder('model:type:del', {'type': typename})
3842
3885
 
3886
+ @s_cell.from_leader
3843
3887
  async def addFormProp(self, form, prop, tdef, info):
3844
3888
  if not isinstance(tdef, tuple):
3845
3889
  mesg = 'Form property type definitions should be a tuple.'
@@ -3858,6 +3902,9 @@ class Cortex(s_oauth.OAuthMixin, s_cell.Cell): # type: ignore
3858
3902
  if _form.prop(prop):
3859
3903
  raise s_exc.DupPropName(mesg=f'Cannot add duplicate form prop {form} {prop}',
3860
3904
  form=form, prop=prop)
3905
+
3906
+ self.model.getTypeClone(tdef)
3907
+
3861
3908
  await self._push('model:prop:add', form, prop, tdef, info)
3862
3909
 
3863
3910
  @s_nexus.Pusher.onPush('model:prop:add')
@@ -4039,6 +4086,7 @@ class Cortex(s_oauth.OAuthMixin, s_cell.Cell): # type: ignore
4039
4086
  await self.fire('core:extmodel:change', name=prop, act='del', type='univ')
4040
4087
  await self.feedBeholder('model:univ:del', {'prop': univname})
4041
4088
 
4089
+ @s_cell.from_leader
4042
4090
  async def addTagProp(self, name, tdef, info):
4043
4091
  if not isinstance(tdef, tuple):
4044
4092
  mesg = 'Tag property type definitions should be a tuple.'
@@ -4051,6 +4099,8 @@ class Cortex(s_oauth.OAuthMixin, s_cell.Cell): # type: ignore
4051
4099
  if self.exttagprops.get(name) is not None:
4052
4100
  raise s_exc.DupPropName(name=name)
4053
4101
 
4102
+ self.model.getTypeClone(tdef)
4103
+
4054
4104
  return await self._push('model:tagprop:add', name, tdef, info)
4055
4105
 
4056
4106
  @s_nexus.Pusher.onPush('model:tagprop:add')
@@ -4088,6 +4138,7 @@ class Cortex(s_oauth.OAuthMixin, s_cell.Cell): # type: ignore
4088
4138
  await self.fire('core:tagprop:change', name=name, act='del')
4089
4139
  await self.feedBeholder('model:tagprop:del', {'tagprop': name})
4090
4140
 
4141
+ @s_cell.from_leader
4091
4142
  async def addEdge(self, edge, edgeinfo):
4092
4143
  if not isinstance(edgeinfo, dict):
4093
4144
  mesg = 'Edge info should be a dict.'
@@ -4667,6 +4718,7 @@ class Cortex(s_oauth.OAuthMixin, s_cell.Cell): # type: ignore
4667
4718
  s_stormlib_macro,
4668
4719
  s_stormlib_model,
4669
4720
  s_stormlib_pkg,
4721
+ s_stormlib_task,
4670
4722
  s_stormlib_vault,
4671
4723
  ]
4672
4724
 
@@ -4674,9 +4726,6 @@ class Cortex(s_oauth.OAuthMixin, s_cell.Cell): # type: ignore
4674
4726
  for cdef in cmod.stormcmds:
4675
4727
  await self._trySetStormCmd(cdef.get('name'), cdef)
4676
4728
 
4677
- for cdef in s_stormlib_task.stormcmds:
4678
- await self._trySetStormCmd(cdef.get('name'), cdef)
4679
-
4680
4729
  async def _initPureStormCmds(self):
4681
4730
  oldcmds = []
4682
4731
  for name, cdef in self.cmddefs.items():
@@ -738,7 +738,7 @@ class Model:
738
738
 
739
739
  base = self.types.get(typedef[0])
740
740
  if base is None:
741
- raise s_exc.NoSuchType(name=typedef[0])
741
+ raise s_exc.NoSuchType.init(typedef[0])
742
742
 
743
743
  return base.clone(typedef[1])
744
744
 
@@ -58,7 +58,7 @@ import synapse.lib.thisplat as s_thisplat
58
58
 
59
59
  import synapse.lib.crypto.passwd as s_passwd
60
60
 
61
- import synapse.tools.backup as s_t_backup
61
+ import synapse.tools.service.backup as s_t_backup
62
62
 
63
63
  logger = logging.getLogger(__name__)
64
64
 
@@ -47,3 +47,7 @@ layer_pdef_csize_max = 1_000
47
47
  layer_pdef_qsize_max = 10_000
48
48
  assert layer_pdef_csize <= layer_pdef_csize_max
49
49
  assert layer_pdef_qsize <= layer_pdef_qsize_max
50
+
51
+ # HTTP header constants
52
+ MAX_LINE_SIZE = kibibyte * 64
53
+ MAX_FIELD_SIZE = kibibyte * 64
@@ -127,7 +127,7 @@ class LayerApi(s_cell.CellApi):
127
127
  Scan the full layer and yield artificial nodeedit sets.
128
128
  '''
129
129
 
130
- if not self.allowed(self.liftperm):
130
+ if not await self.allowed(self.liftperm):
131
131
  await self._reqUserAllowed(self.readperm)
132
132
  async for item in self.layr.iterLayerNodeEdits():
133
133
  yield item
@@ -167,14 +167,14 @@ class LayerApi(s_cell.CellApi):
167
167
 
168
168
  Once caught up with storage, yield them in realtime.
169
169
  '''
170
- if not self.allowed(self.liftperm):
170
+ if not await self.allowed(self.liftperm):
171
171
  await self._reqUserAllowed(self.readperm)
172
172
  async for item in self.layr.syncNodeEdits(offs, wait=wait, reverse=reverse):
173
173
  yield item
174
174
  await asyncio.sleep(0)
175
175
 
176
176
  async def syncNodeEdits2(self, offs, wait=True):
177
- if not self.allowed(self.liftperm):
177
+ if not await self.allowed(self.liftperm):
178
178
  await self._reqUserAllowed(self.readperm)
179
179
  async for item in self.layr.syncNodeEdits2(offs, wait=wait):
180
180
  yield item
@@ -184,7 +184,7 @@ class LayerApi(s_cell.CellApi):
184
184
  '''
185
185
  Returns what will be the *next* nodeedit log index.
186
186
  '''
187
- if not self.allowed(self.liftperm):
187
+ if not await self.allowed(self.liftperm):
188
188
  await self._reqUserAllowed(self.readperm)
189
189
  return await self.layr.getEditIndx()
190
190
 
@@ -192,12 +192,12 @@ class LayerApi(s_cell.CellApi):
192
192
  '''
193
193
  Return the total number of (edits, meta) pairs in the layer changelog.
194
194
  '''
195
- if not self.allowed(self.liftperm):
195
+ if not await self.allowed(self.liftperm):
196
196
  await self._reqUserAllowed(self.readperm)
197
197
  return await self.layr.getEditSize()
198
198
 
199
199
  async def getIden(self):
200
- if not self.allowed(self.liftperm):
200
+ if not await self.allowed(self.liftperm):
201
201
  await self._reqUserAllowed(self.readperm)
202
202
  return self.layr.iden
203
203
 
@@ -353,7 +353,6 @@ class MultiSlabSeqn(s_base.Base):
353
353
  else:
354
354
  indx = self.indx
355
355
 
356
- assert self.tailseqn
357
356
  retn = self.tailseqn.add(item, indx=indx)
358
357
 
359
358
  if advances:
@@ -363,6 +362,42 @@ class MultiSlabSeqn(s_base.Base):
363
362
 
364
363
  return retn
365
364
 
365
+ async def addWithPackRetn(self, item, indx=None):
366
+ '''
367
+ Add a single item to the sequence, returning the offset and packed item.
368
+ '''
369
+ advances = True
370
+
371
+ if indx is not None:
372
+ if indx < self.firstindx:
373
+ raise s_exc.BadIndxValu(mesg=f'indx lower than first index in sequence {self.firstindx}')
374
+
375
+ if indx < self._ranges[-1]:
376
+ ridx = self._getRangeIndx(indx)
377
+ assert ridx is not None
378
+
379
+ async with self._getSeqn(ridx) as seqn:
380
+ retn = seqn.addWithPackRetn(item, indx=indx)
381
+
382
+ return retn
383
+
384
+ if indx >= self.indx:
385
+ self.indx = indx
386
+ else:
387
+ advances = False
388
+ else:
389
+ indx = self.indx
390
+
391
+ assert self.tailseqn
392
+ retn = self.tailseqn.addWithPackRetn(item, indx=indx)
393
+
394
+ if advances:
395
+ self.indx += 1
396
+
397
+ self._wake_waiters()
398
+
399
+ return retn
400
+
366
401
  async def last(self) -> Optional[Tuple[int, Any]]:
367
402
  ridx = self._getRangeIndx(self.indx - 1)
368
403
  if ridx is None:
@@ -12,6 +12,9 @@ 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.scope as s_scope
16
+ import synapse.lib.queue as s_queue
17
+ import synapse.lib.msgpack as s_msgpack
15
18
 
16
19
  logger = logging.getLogger(__name__)
17
20
 
@@ -20,6 +23,9 @@ leaderversion = 'Leader is a higher version than we are.'
20
23
  # As a mirror follower, amount of time before giving up on a write request
21
24
  FOLLOWER_WRITE_WAIT_S = 30.0
22
25
 
26
+ WINDOW_MAXSIZE = 10_000
27
+ YIELD_PREFIX = b'\x92\xa8t2:yield\x81\xa4retn\x92\xc3\x92'
28
+
23
29
  class RegMethType(type):
24
30
  '''
25
31
  Metaclass that collects all methods in class with _regme prop into a class member called _regclstupls
@@ -99,6 +105,8 @@ class NexsRoot(s_base.Base):
99
105
  self._mirready = asyncio.Event() # for testing
100
106
 
101
107
  self._mirrors: List[ChangeDist] = []
108
+ self._linkmirrors: List[s_queue.Window] = []
109
+
102
110
  self._nexskids: Dict[str, 'Pusher'] = {}
103
111
 
104
112
  # Used to match pending follower write requests with the responses arriving on the log
@@ -134,6 +142,11 @@ class NexsRoot(s_base.Base):
134
142
  self.nexslog.setIndex(maxindx)
135
143
 
136
144
  async def fini():
145
+ for wind in self._linkmirrors:
146
+ await wind.fini()
147
+
148
+ for dist in self._mirrors:
149
+ await dist.fini()
137
150
 
138
151
  for futu in self._futures.values(): # pragma: no cover
139
152
  futu.cancel()
@@ -389,8 +402,16 @@ class NexsRoot(s_base.Base):
389
402
  async def _eat(self, item, indx=None):
390
403
 
391
404
  if self.donexslog:
392
- saveindx = await self.nexslog.add(item, indx=indx)
393
- [dist.update() for dist in tuple(self._mirrors)]
405
+ saveindx, packitem = await self.nexslog.addWithPackRetn(item, indx=indx)
406
+
407
+ if self._linkmirrors:
408
+ tupl = (saveindx, YIELD_PREFIX + s_msgpack.en(saveindx) + packitem)
409
+ for wind in tuple(self._linkmirrors):
410
+ await wind.put(tupl)
411
+
412
+ if self._mirrors:
413
+ for dist in tuple(self._mirrors):
414
+ dist.update()
394
415
 
395
416
  else:
396
417
  saveindx = self.nexshot.get('nexs:indx')
@@ -415,7 +436,15 @@ class NexsRoot(s_base.Base):
415
436
 
416
437
  async def iter(self, offs: int, tellready=False, wait=True) -> AsyncIterator[Any]:
417
438
  '''
418
- Returns an iterator of change entries in the log
439
+ Returns an iterator of change entries in the log.
440
+
441
+ Notes:
442
+ If this method is being called in the context of a Telepath call,
443
+ it will directly send messages to the scope "link" object when it
444
+ has caught up to the realtime change window; instead of yielding
445
+ them as a generator. This is an optimization to avoid duplication
446
+ of msgpack'ing the same object over and over again as the number
447
+ of mirrors increases.
419
448
  '''
420
449
  if not self.donexslog:
421
450
  return
@@ -437,11 +466,41 @@ class NexsRoot(s_base.Base):
437
466
  if not wait:
438
467
  return
439
468
 
440
- async with self.getChangeDist(maxoffs) as dist:
441
- async for item in dist:
442
- if self.isfini:
443
- raise s_exc.IsFini()
444
- yield item
469
+ if (link := s_scope.get('link')) is None:
470
+ async with self.getChangeDist(maxoffs) as dist:
471
+ async for item in dist:
472
+ yield item
473
+
474
+ else:
475
+ async with self.getMirrorWindow() as wind:
476
+
477
+ # Ensure we are caught up after grabbing a window
478
+ sync = True
479
+
480
+ async for item in self.nexslog.iter(maxoffs):
481
+ maxoffs = item[0] + 1
482
+ yield item
483
+
484
+ async for offs, item in wind:
485
+ if sync:
486
+ if offs < maxoffs:
487
+ continue
488
+ sync = False
489
+
490
+ await link.send(item)
491
+
492
+ @contextlib.asynccontextmanager
493
+ async def getMirrorWindow(self):
494
+ async with await s_queue.Window.anit(maxsize=WINDOW_MAXSIZE, clearonfini=True) as wind:
495
+
496
+ async def fini():
497
+ self._linkmirrors.remove(wind)
498
+
499
+ wind.onfini(fini)
500
+
501
+ self._linkmirrors.append(wind)
502
+
503
+ yield wind
445
504
 
446
505
  @contextlib.asynccontextmanager
447
506
  async def getChangeDist(self, offs: int) -> AsyncIterator[ChangeDist]:
@@ -118,14 +118,17 @@ class Window(s_base.Base):
118
118
  its maxsize, it will be fini()d. On fini(), the Window will continue to
119
119
  yield results until empty and then return.
120
120
  '''
121
- async def __anit__(self, maxsize=None):
121
+ async def __anit__(self, maxsize=None, clearonfini=False):
122
122
  await s_base.Base.__anit__(self)
123
123
  self.maxsize = maxsize
124
124
  self.event = asyncio.Event()
125
125
 
126
126
  self.linklist = collections.deque()
127
+ self.clearonfini = clearonfini
127
128
 
128
129
  async def fini():
130
+ if self.clearonfini:
131
+ self.linklist.clear()
129
132
  self.event.set()
130
133
 
131
134
  self.onfini(fini)
@@ -25,8 +25,8 @@ import synapse.lib.stormhttp as s_stormhttp
25
25
 
26
26
  import synapse.cmds.cortex as s_cmds_cortex
27
27
 
28
- import synapse.tools.storm as s_storm
29
- import synapse.tools.genpkg as s_genpkg
28
+ import synapse.tools.storm._cli as s_storm
29
+ import synapse.tools.storm.pkg.gen as s_genpkg
30
30
 
31
31
 
32
32
  re_directive = regex.compile(r'^\.\.\s(shell.*|storm.*|[^:])::(?:\s(.*)$|$)')
@@ -393,7 +393,6 @@ _changelogTypes = {'migration': 'Automatic Migrations',
393
393
  'note': 'Notes',
394
394
  'doc': 'Improved documentation',
395
395
  'deprecation': 'Deprecations'}
396
-
397
396
  _changelogSchema = {
398
397
  'type': 'object',
399
398
  'properties': {
@@ -405,6 +404,10 @@ _changelogSchema = {
405
404
  'type': 'string',
406
405
  'minLength': 1,
407
406
  },
407
+ 'desc:literal': {
408
+ 'type': 'boolean',
409
+ 'default': False,
410
+ },
408
411
  'prs': {
409
412
  'type': 'array',
410
413
  'items': {
@@ -948,12 +951,20 @@ _reqValidPkgdefSchema = {
948
951
  'type': ['array', 'null'],
949
952
  'items': {'$ref': '#/definitions/cmdinput'},
950
953
  },
954
+ 'cmdconf': {
955
+ 'type': 'object',
956
+ 'properties': {
957
+ 'svciden': {'type': 'string', 'pattern': s_config.re_iden},
958
+ },
959
+ 'additionalProperties': True,
960
+ },
951
961
  'storm': {'type': 'string'},
952
962
  'forms': {'$ref': '#/definitions/cmdformhints'},
953
963
  'perms': {'type': 'array',
954
964
  'items': {'type': 'array',
955
965
  'items': {'type': 'string'}},
956
966
  },
967
+ 'deprecated': {'$ref': '#/definitions/deprecatedItem'},
957
968
  },
958
969
  'additionalProperties': True,
959
970
  'required': ['name', 'storm']
@@ -980,6 +991,7 @@ _reqValidPkgdefSchema = {
980
991
  'type': 'string',
981
992
  'enum': s_msgpack.deepcopy(datamodel_basetypes),
982
993
  },
994
+ 'deprecated': {'$ref': '#/definitions/deprecatedItem'},
983
995
  },
984
996
  }
985
997
  ],
@@ -87,6 +87,34 @@ class SlabSeqn:
87
87
 
88
88
  return indx
89
89
 
90
+ def addWithPackRetn(self, item, indx=None):
91
+ '''
92
+ Add a single item to the sequence, returning the offset and packed item.
93
+ '''
94
+ packitem = s_msgpack.en(item)
95
+ if indx is not None:
96
+ if indx >= self.indx:
97
+ self.slab.put(s_common.int64en(indx), packitem, append=True, db=self.db)
98
+ self.indx = indx + 1
99
+ self.size += 1
100
+ self._wake_waiters()
101
+ return indx, packitem
102
+
103
+ oldv = self.slab.replace(s_common.int64en(indx), packitem, db=self.db)
104
+ if oldv is None:
105
+ self.size += 1
106
+ return indx, packitem
107
+
108
+ indx = self.indx
109
+ self.slab.put(s_common.int64en(indx), packitem, append=True, db=self.db)
110
+
111
+ self.indx += 1
112
+ self.size += 1
113
+
114
+ self._wake_waiters()
115
+
116
+ return indx, packitem
117
+
90
118
  def first(self):
91
119
 
92
120
  for lkey, lval in self.slab.scanByFull(db=self.db):