synapse 2.222.0__tar.gz → 2.224.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 (662) hide show
  1. {synapse-2.222.0/synapse.egg-info → synapse-2.224.0}/PKG-INFO +1 -1
  2. {synapse-2.222.0 → synapse-2.224.0}/pyproject.toml +1 -1
  3. {synapse-2.222.0 → synapse-2.224.0}/synapse/common.py +2 -2
  4. {synapse-2.222.0 → synapse-2.224.0}/synapse/cortex.py +159 -31
  5. {synapse-2.222.0 → synapse-2.224.0}/synapse/cryotank.py +1 -1
  6. {synapse-2.222.0 → synapse-2.224.0}/synapse/datamodel.py +1 -1
  7. {synapse-2.222.0 → synapse-2.224.0}/synapse/lib/ast.py +5 -3
  8. {synapse-2.222.0 → synapse-2.224.0}/synapse/lib/layer.py +6 -6
  9. {synapse-2.222.0 → synapse-2.224.0}/synapse/lib/nexus.py +1 -1
  10. {synapse-2.222.0 → synapse-2.224.0}/synapse/lib/schemas.py +2 -0
  11. {synapse-2.222.0 → synapse-2.224.0}/synapse/lib/snap.py +15 -9
  12. {synapse-2.222.0 → synapse-2.224.0}/synapse/lib/storm.py +35 -191
  13. {synapse-2.222.0 → synapse-2.224.0}/synapse/lib/stormlib/auth.py +1 -1
  14. {synapse-2.222.0 → synapse-2.224.0}/synapse/lib/stormlib/imap.py +12 -4
  15. {synapse-2.222.0 → synapse-2.224.0}/synapse/lib/stormlib/mime.py +15 -5
  16. synapse-2.224.0/synapse/lib/stormlib/pkg.py +598 -0
  17. synapse-2.224.0/synapse/lib/stormlib/task.py +114 -0
  18. {synapse-2.222.0 → synapse-2.224.0}/synapse/lib/stormtypes.py +43 -175
  19. {synapse-2.222.0 → synapse-2.224.0}/synapse/lib/trigger.py +16 -14
  20. {synapse-2.222.0 → synapse-2.224.0}/synapse/lib/version.py +2 -2
  21. {synapse-2.222.0 → synapse-2.224.0}/synapse/lib/view.py +17 -14
  22. {synapse-2.222.0 → synapse-2.224.0}/synapse/models/files.py +1 -1
  23. {synapse-2.222.0 → synapse-2.224.0}/synapse/models/inet.py +25 -0
  24. {synapse-2.222.0 → synapse-2.224.0}/synapse/models/proj.py +3 -0
  25. {synapse-2.222.0 → synapse-2.224.0}/synapse/models/risk.py +6 -0
  26. {synapse-2.222.0 → synapse-2.224.0}/synapse/models/syn.py +8 -0
  27. {synapse-2.222.0 → synapse-2.224.0}/synapse/tests/test_common.py +4 -0
  28. {synapse-2.222.0 → synapse-2.224.0}/synapse/tests/test_cortex.py +52 -1
  29. {synapse-2.222.0 → synapse-2.224.0}/synapse/tests/test_lib_aha.py +68 -53
  30. {synapse-2.222.0 → synapse-2.224.0}/synapse/tests/test_lib_ast.py +3 -0
  31. {synapse-2.222.0 → synapse-2.224.0}/synapse/tests/test_lib_cell.py +12 -12
  32. {synapse-2.222.0 → synapse-2.224.0}/synapse/tests/test_lib_storm.py +128 -248
  33. {synapse-2.222.0 → synapse-2.224.0}/synapse/tests/test_lib_stormlib_imap.py +14 -0
  34. synapse-2.224.0/synapse/tests/test_lib_stormlib_mime.py +82 -0
  35. synapse-2.224.0/synapse/tests/test_lib_stormlib_pkg.py +456 -0
  36. synapse-2.224.0/synapse/tests/test_lib_stormlib_task.py +98 -0
  37. {synapse-2.222.0 → synapse-2.224.0}/synapse/tests/test_lib_stormtypes.py +12 -100
  38. {synapse-2.222.0 → synapse-2.224.0}/synapse/tests/test_lib_trigger.py +66 -3
  39. {synapse-2.222.0 → synapse-2.224.0}/synapse/tests/test_lib_view.py +53 -0
  40. {synapse-2.222.0 → synapse-2.224.0}/synapse/tests/test_model_files.py +11 -0
  41. {synapse-2.222.0 → synapse-2.224.0}/synapse/tests/test_model_inet.py +23 -0
  42. {synapse-2.222.0 → synapse-2.224.0}/synapse/tests/test_model_proj.py +3 -1
  43. {synapse-2.222.0 → synapse-2.224.0}/synapse/tests/test_model_risk.py +10 -0
  44. {synapse-2.222.0 → synapse-2.224.0}/synapse/tests/test_model_syn.py +54 -2
  45. {synapse-2.222.0 → synapse-2.224.0}/synapse/tools/cryo/cat.py +2 -1
  46. {synapse-2.222.0 → synapse-2.224.0}/synapse/tools/cryo/list.py +2 -0
  47. {synapse-2.222.0 → synapse-2.224.0/synapse.egg-info}/PKG-INFO +1 -1
  48. {synapse-2.222.0 → synapse-2.224.0}/synapse.egg-info/SOURCES.txt +4 -0
  49. synapse-2.222.0/synapse/tests/test_lib_stormlib_mime.py +0 -58
  50. {synapse-2.222.0 → synapse-2.224.0}/LICENSE +0 -0
  51. {synapse-2.222.0 → synapse-2.224.0}/README.rst +0 -0
  52. {synapse-2.222.0 → synapse-2.224.0}/setup.cfg +0 -0
  53. {synapse-2.222.0 → synapse-2.224.0}/synapse/__init__.py +0 -0
  54. {synapse-2.222.0 → synapse-2.224.0}/synapse/axon.py +0 -0
  55. {synapse-2.222.0 → synapse-2.224.0}/synapse/cells.py +0 -0
  56. {synapse-2.222.0 → synapse-2.224.0}/synapse/cmds/__init__.py +0 -0
  57. {synapse-2.222.0 → synapse-2.224.0}/synapse/cmds/boss.py +0 -0
  58. {synapse-2.222.0 → synapse-2.224.0}/synapse/cmds/cortex.py +0 -0
  59. {synapse-2.222.0 → synapse-2.224.0}/synapse/cmds/hive.py +0 -0
  60. {synapse-2.222.0 → synapse-2.224.0}/synapse/daemon.py +0 -0
  61. {synapse-2.222.0 → synapse-2.224.0}/synapse/data/__init__.py +0 -0
  62. {synapse-2.222.0 → synapse-2.224.0}/synapse/data/attack-flow/LICENSE.txt +0 -0
  63. {synapse-2.222.0 → synapse-2.224.0}/synapse/data/attack-flow/README.md +0 -0
  64. {synapse-2.222.0 → synapse-2.224.0}/synapse/data/attack-flow/attack-flow-schema-2.0.0.json +0 -0
  65. {synapse-2.222.0 → synapse-2.224.0}/synapse/data/certs/cas/The Vertex Project Intermediate CA 00.crt +0 -0
  66. {synapse-2.222.0 → synapse-2.224.0}/synapse/data/certs/cas/The Vertex Project ROOT CA.crt +0 -0
  67. {synapse-2.222.0 → synapse-2.224.0}/synapse/data/certs/crls/The Vertex Project Intermediate CA 00.crl +0 -0
  68. {synapse-2.222.0 → synapse-2.224.0}/synapse/data/certs/crls/The Vertex Project ROOT CA.crl +0 -0
  69. {synapse-2.222.0 → synapse-2.224.0}/synapse/data/iana.tlds.mpk +0 -0
  70. {synapse-2.222.0 → synapse-2.224.0}/synapse/data/iana.uris.mpk +0 -0
  71. {synapse-2.222.0 → synapse-2.224.0}/synapse/data/jsonschemas/README.md +0 -0
  72. {synapse-2.222.0 → synapse-2.224.0}/synapse/data/jsonschemas/raw.githubusercontent.com/oasis-open/LICENSE.txt +0 -0
  73. {synapse-2.222.0 → synapse-2.224.0}/synapse/data/jsonschemas/raw.githubusercontent.com/oasis-open/cti-stix2-json-schemas/stix2.1/schemas/common/binary.json +0 -0
  74. {synapse-2.222.0 → synapse-2.224.0}/synapse/data/jsonschemas/raw.githubusercontent.com/oasis-open/cti-stix2-json-schemas/stix2.1/schemas/common/bundle.json +0 -0
  75. {synapse-2.222.0 → synapse-2.224.0}/synapse/data/jsonschemas/raw.githubusercontent.com/oasis-open/cti-stix2-json-schemas/stix2.1/schemas/common/core.json +0 -0
  76. {synapse-2.222.0 → synapse-2.224.0}/synapse/data/jsonschemas/raw.githubusercontent.com/oasis-open/cti-stix2-json-schemas/stix2.1/schemas/common/cyber-observable-core.json +0 -0
  77. {synapse-2.222.0 → synapse-2.224.0}/synapse/data/jsonschemas/raw.githubusercontent.com/oasis-open/cti-stix2-json-schemas/stix2.1/schemas/common/dictionary.json +0 -0
  78. {synapse-2.222.0 → synapse-2.224.0}/synapse/data/jsonschemas/raw.githubusercontent.com/oasis-open/cti-stix2-json-schemas/stix2.1/schemas/common/extension-definition.json +0 -0
  79. {synapse-2.222.0 → synapse-2.224.0}/synapse/data/jsonschemas/raw.githubusercontent.com/oasis-open/cti-stix2-json-schemas/stix2.1/schemas/common/extension.json +0 -0
  80. {synapse-2.222.0 → synapse-2.224.0}/synapse/data/jsonschemas/raw.githubusercontent.com/oasis-open/cti-stix2-json-schemas/stix2.1/schemas/common/external-reference.json +0 -0
  81. {synapse-2.222.0 → synapse-2.224.0}/synapse/data/jsonschemas/raw.githubusercontent.com/oasis-open/cti-stix2-json-schemas/stix2.1/schemas/common/granular-marking.json +0 -0
  82. {synapse-2.222.0 → synapse-2.224.0}/synapse/data/jsonschemas/raw.githubusercontent.com/oasis-open/cti-stix2-json-schemas/stix2.1/schemas/common/hashes-type.json +0 -0
  83. {synapse-2.222.0 → synapse-2.224.0}/synapse/data/jsonschemas/raw.githubusercontent.com/oasis-open/cti-stix2-json-schemas/stix2.1/schemas/common/hex.json +0 -0
  84. {synapse-2.222.0 → synapse-2.224.0}/synapse/data/jsonschemas/raw.githubusercontent.com/oasis-open/cti-stix2-json-schemas/stix2.1/schemas/common/identifier.json +0 -0
  85. {synapse-2.222.0 → synapse-2.224.0}/synapse/data/jsonschemas/raw.githubusercontent.com/oasis-open/cti-stix2-json-schemas/stix2.1/schemas/common/kill-chain-phase.json +0 -0
  86. {synapse-2.222.0 → synapse-2.224.0}/synapse/data/jsonschemas/raw.githubusercontent.com/oasis-open/cti-stix2-json-schemas/stix2.1/schemas/common/language-content.json +0 -0
  87. {synapse-2.222.0 → synapse-2.224.0}/synapse/data/jsonschemas/raw.githubusercontent.com/oasis-open/cti-stix2-json-schemas/stix2.1/schemas/common/marking-definition.json +0 -0
  88. {synapse-2.222.0 → synapse-2.224.0}/synapse/data/jsonschemas/raw.githubusercontent.com/oasis-open/cti-stix2-json-schemas/stix2.1/schemas/common/properties.json +0 -0
  89. {synapse-2.222.0 → synapse-2.224.0}/synapse/data/jsonschemas/raw.githubusercontent.com/oasis-open/cti-stix2-json-schemas/stix2.1/schemas/common/timestamp.json +0 -0
  90. {synapse-2.222.0 → synapse-2.224.0}/synapse/data/jsonschemas/raw.githubusercontent.com/oasis-open/cti-stix2-json-schemas/stix2.1/schemas/common/url-regex.json +0 -0
  91. {synapse-2.222.0 → synapse-2.224.0}/synapse/data/jsonschemas/raw.githubusercontent.com/oasis-open/cti-stix2-json-schemas/stix2.1/schemas/observables/artifact.json +0 -0
  92. {synapse-2.222.0 → synapse-2.224.0}/synapse/data/jsonschemas/raw.githubusercontent.com/oasis-open/cti-stix2-json-schemas/stix2.1/schemas/observables/autonomous-system.json +0 -0
  93. {synapse-2.222.0 → synapse-2.224.0}/synapse/data/jsonschemas/raw.githubusercontent.com/oasis-open/cti-stix2-json-schemas/stix2.1/schemas/observables/directory.json +0 -0
  94. {synapse-2.222.0 → synapse-2.224.0}/synapse/data/jsonschemas/raw.githubusercontent.com/oasis-open/cti-stix2-json-schemas/stix2.1/schemas/observables/domain-name.json +0 -0
  95. {synapse-2.222.0 → synapse-2.224.0}/synapse/data/jsonschemas/raw.githubusercontent.com/oasis-open/cti-stix2-json-schemas/stix2.1/schemas/observables/email-addr.json +0 -0
  96. {synapse-2.222.0 → synapse-2.224.0}/synapse/data/jsonschemas/raw.githubusercontent.com/oasis-open/cti-stix2-json-schemas/stix2.1/schemas/observables/email-message.json +0 -0
  97. {synapse-2.222.0 → synapse-2.224.0}/synapse/data/jsonschemas/raw.githubusercontent.com/oasis-open/cti-stix2-json-schemas/stix2.1/schemas/observables/file.json +0 -0
  98. {synapse-2.222.0 → synapse-2.224.0}/synapse/data/jsonschemas/raw.githubusercontent.com/oasis-open/cti-stix2-json-schemas/stix2.1/schemas/observables/ipv4-addr.json +0 -0
  99. {synapse-2.222.0 → synapse-2.224.0}/synapse/data/jsonschemas/raw.githubusercontent.com/oasis-open/cti-stix2-json-schemas/stix2.1/schemas/observables/ipv6-addr.json +0 -0
  100. {synapse-2.222.0 → synapse-2.224.0}/synapse/data/jsonschemas/raw.githubusercontent.com/oasis-open/cti-stix2-json-schemas/stix2.1/schemas/observables/mac-addr.json +0 -0
  101. {synapse-2.222.0 → synapse-2.224.0}/synapse/data/jsonschemas/raw.githubusercontent.com/oasis-open/cti-stix2-json-schemas/stix2.1/schemas/observables/mutex.json +0 -0
  102. {synapse-2.222.0 → synapse-2.224.0}/synapse/data/jsonschemas/raw.githubusercontent.com/oasis-open/cti-stix2-json-schemas/stix2.1/schemas/observables/network-traffic.json +0 -0
  103. {synapse-2.222.0 → synapse-2.224.0}/synapse/data/jsonschemas/raw.githubusercontent.com/oasis-open/cti-stix2-json-schemas/stix2.1/schemas/observables/process.json +0 -0
  104. {synapse-2.222.0 → synapse-2.224.0}/synapse/data/jsonschemas/raw.githubusercontent.com/oasis-open/cti-stix2-json-schemas/stix2.1/schemas/observables/software.json +0 -0
  105. {synapse-2.222.0 → synapse-2.224.0}/synapse/data/jsonschemas/raw.githubusercontent.com/oasis-open/cti-stix2-json-schemas/stix2.1/schemas/observables/url.json +0 -0
  106. {synapse-2.222.0 → synapse-2.224.0}/synapse/data/jsonschemas/raw.githubusercontent.com/oasis-open/cti-stix2-json-schemas/stix2.1/schemas/observables/user-account.json +0 -0
  107. {synapse-2.222.0 → synapse-2.224.0}/synapse/data/jsonschemas/raw.githubusercontent.com/oasis-open/cti-stix2-json-schemas/stix2.1/schemas/observables/windows-registry-key.json +0 -0
  108. {synapse-2.222.0 → synapse-2.224.0}/synapse/data/jsonschemas/raw.githubusercontent.com/oasis-open/cti-stix2-json-schemas/stix2.1/schemas/observables/x509-certificate.json +0 -0
  109. {synapse-2.222.0 → synapse-2.224.0}/synapse/data/jsonschemas/raw.githubusercontent.com/oasis-open/cti-stix2-json-schemas/stix2.1/schemas/sdos/attack-pattern.json +0 -0
  110. {synapse-2.222.0 → synapse-2.224.0}/synapse/data/jsonschemas/raw.githubusercontent.com/oasis-open/cti-stix2-json-schemas/stix2.1/schemas/sdos/campaign.json +0 -0
  111. {synapse-2.222.0 → synapse-2.224.0}/synapse/data/jsonschemas/raw.githubusercontent.com/oasis-open/cti-stix2-json-schemas/stix2.1/schemas/sdos/course-of-action.json +0 -0
  112. {synapse-2.222.0 → synapse-2.224.0}/synapse/data/jsonschemas/raw.githubusercontent.com/oasis-open/cti-stix2-json-schemas/stix2.1/schemas/sdos/grouping.json +0 -0
  113. {synapse-2.222.0 → synapse-2.224.0}/synapse/data/jsonschemas/raw.githubusercontent.com/oasis-open/cti-stix2-json-schemas/stix2.1/schemas/sdos/identity.json +0 -0
  114. {synapse-2.222.0 → synapse-2.224.0}/synapse/data/jsonschemas/raw.githubusercontent.com/oasis-open/cti-stix2-json-schemas/stix2.1/schemas/sdos/incident.json +0 -0
  115. {synapse-2.222.0 → synapse-2.224.0}/synapse/data/jsonschemas/raw.githubusercontent.com/oasis-open/cti-stix2-json-schemas/stix2.1/schemas/sdos/indicator.json +0 -0
  116. {synapse-2.222.0 → synapse-2.224.0}/synapse/data/jsonschemas/raw.githubusercontent.com/oasis-open/cti-stix2-json-schemas/stix2.1/schemas/sdos/infrastructure.json +0 -0
  117. {synapse-2.222.0 → synapse-2.224.0}/synapse/data/jsonschemas/raw.githubusercontent.com/oasis-open/cti-stix2-json-schemas/stix2.1/schemas/sdos/intrusion-set.json +0 -0
  118. {synapse-2.222.0 → synapse-2.224.0}/synapse/data/jsonschemas/raw.githubusercontent.com/oasis-open/cti-stix2-json-schemas/stix2.1/schemas/sdos/location.json +0 -0
  119. {synapse-2.222.0 → synapse-2.224.0}/synapse/data/jsonschemas/raw.githubusercontent.com/oasis-open/cti-stix2-json-schemas/stix2.1/schemas/sdos/malware-analysis.json +0 -0
  120. {synapse-2.222.0 → synapse-2.224.0}/synapse/data/jsonschemas/raw.githubusercontent.com/oasis-open/cti-stix2-json-schemas/stix2.1/schemas/sdos/malware.json +0 -0
  121. {synapse-2.222.0 → synapse-2.224.0}/synapse/data/jsonschemas/raw.githubusercontent.com/oasis-open/cti-stix2-json-schemas/stix2.1/schemas/sdos/note.json +0 -0
  122. {synapse-2.222.0 → synapse-2.224.0}/synapse/data/jsonschemas/raw.githubusercontent.com/oasis-open/cti-stix2-json-schemas/stix2.1/schemas/sdos/observed-data.json +0 -0
  123. {synapse-2.222.0 → synapse-2.224.0}/synapse/data/jsonschemas/raw.githubusercontent.com/oasis-open/cti-stix2-json-schemas/stix2.1/schemas/sdos/opinion.json +0 -0
  124. {synapse-2.222.0 → synapse-2.224.0}/synapse/data/jsonschemas/raw.githubusercontent.com/oasis-open/cti-stix2-json-schemas/stix2.1/schemas/sdos/report.json +0 -0
  125. {synapse-2.222.0 → synapse-2.224.0}/synapse/data/jsonschemas/raw.githubusercontent.com/oasis-open/cti-stix2-json-schemas/stix2.1/schemas/sdos/threat-actor.json +0 -0
  126. {synapse-2.222.0 → synapse-2.224.0}/synapse/data/jsonschemas/raw.githubusercontent.com/oasis-open/cti-stix2-json-schemas/stix2.1/schemas/sdos/tool.json +0 -0
  127. {synapse-2.222.0 → synapse-2.224.0}/synapse/data/jsonschemas/raw.githubusercontent.com/oasis-open/cti-stix2-json-schemas/stix2.1/schemas/sdos/vulnerability.json +0 -0
  128. {synapse-2.222.0 → synapse-2.224.0}/synapse/data/jsonschemas/raw.githubusercontent.com/oasis-open/cti-stix2-json-schemas/stix2.1/schemas/sros/relationship.json +0 -0
  129. {synapse-2.222.0 → synapse-2.224.0}/synapse/data/jsonschemas/raw.githubusercontent.com/oasis-open/cti-stix2-json-schemas/stix2.1/schemas/sros/sighting.json +0 -0
  130. {synapse-2.222.0 → synapse-2.224.0}/synapse/data/lark/__init__.py +0 -0
  131. {synapse-2.222.0 → synapse-2.224.0}/synapse/data/lark/imap.lark +0 -0
  132. {synapse-2.222.0 → synapse-2.224.0}/synapse/data/lark/storm.lark +0 -0
  133. {synapse-2.222.0 → synapse-2.224.0}/synapse/exc.py +0 -0
  134. {synapse-2.222.0 → synapse-2.224.0}/synapse/glob.py +0 -0
  135. {synapse-2.222.0 → synapse-2.224.0}/synapse/lib/__init__.py +0 -0
  136. {synapse-2.222.0 → synapse-2.224.0}/synapse/lib/agenda.py +0 -0
  137. {synapse-2.222.0 → synapse-2.224.0}/synapse/lib/aha.py +0 -0
  138. {synapse-2.222.0 → synapse-2.224.0}/synapse/lib/auth.py +0 -0
  139. {synapse-2.222.0 → synapse-2.224.0}/synapse/lib/autodoc.py +0 -0
  140. {synapse-2.222.0 → synapse-2.224.0}/synapse/lib/base.py +0 -0
  141. {synapse-2.222.0 → synapse-2.224.0}/synapse/lib/boss.py +0 -0
  142. {synapse-2.222.0 → synapse-2.224.0}/synapse/lib/cache.py +0 -0
  143. {synapse-2.222.0 → synapse-2.224.0}/synapse/lib/cell.py +0 -0
  144. {synapse-2.222.0 → synapse-2.224.0}/synapse/lib/certdir.py +0 -0
  145. {synapse-2.222.0 → synapse-2.224.0}/synapse/lib/chop.py +0 -0
  146. {synapse-2.222.0 → synapse-2.224.0}/synapse/lib/cli.py +0 -0
  147. {synapse-2.222.0 → synapse-2.224.0}/synapse/lib/cmd.py +0 -0
  148. {synapse-2.222.0 → synapse-2.224.0}/synapse/lib/cmdr.py +0 -0
  149. {synapse-2.222.0 → synapse-2.224.0}/synapse/lib/config.py +0 -0
  150. {synapse-2.222.0 → synapse-2.224.0}/synapse/lib/const.py +0 -0
  151. {synapse-2.222.0 → synapse-2.224.0}/synapse/lib/coro.py +0 -0
  152. {synapse-2.222.0 → synapse-2.224.0}/synapse/lib/crypto/__init__.py +0 -0
  153. {synapse-2.222.0 → synapse-2.224.0}/synapse/lib/crypto/coin.py +0 -0
  154. {synapse-2.222.0 → synapse-2.224.0}/synapse/lib/crypto/ecc.py +0 -0
  155. {synapse-2.222.0 → synapse-2.224.0}/synapse/lib/crypto/passwd.py +0 -0
  156. {synapse-2.222.0 → synapse-2.224.0}/synapse/lib/crypto/rsa.py +0 -0
  157. {synapse-2.222.0 → synapse-2.224.0}/synapse/lib/crypto/tinfoil.py +0 -0
  158. {synapse-2.222.0 → synapse-2.224.0}/synapse/lib/datfile.py +0 -0
  159. {synapse-2.222.0 → synapse-2.224.0}/synapse/lib/drive.py +0 -0
  160. {synapse-2.222.0 → synapse-2.224.0}/synapse/lib/dyndeps.py +0 -0
  161. {synapse-2.222.0 → synapse-2.224.0}/synapse/lib/encoding.py +0 -0
  162. {synapse-2.222.0 → synapse-2.224.0}/synapse/lib/gis.py +0 -0
  163. {synapse-2.222.0 → synapse-2.224.0}/synapse/lib/grammar.py +0 -0
  164. {synapse-2.222.0 → synapse-2.224.0}/synapse/lib/hashitem.py +0 -0
  165. {synapse-2.222.0 → synapse-2.224.0}/synapse/lib/hashset.py +0 -0
  166. {synapse-2.222.0 → synapse-2.224.0}/synapse/lib/health.py +0 -0
  167. {synapse-2.222.0 → synapse-2.224.0}/synapse/lib/hive.py +0 -0
  168. {synapse-2.222.0 → synapse-2.224.0}/synapse/lib/httpapi.py +0 -0
  169. {synapse-2.222.0 → synapse-2.224.0}/synapse/lib/ingest.py +0 -0
  170. {synapse-2.222.0 → synapse-2.224.0}/synapse/lib/interval.py +0 -0
  171. {synapse-2.222.0 → synapse-2.224.0}/synapse/lib/json.py +0 -0
  172. {synapse-2.222.0 → synapse-2.224.0}/synapse/lib/jsonstor.py +0 -0
  173. {synapse-2.222.0 → synapse-2.224.0}/synapse/lib/link.py +0 -0
  174. {synapse-2.222.0 → synapse-2.224.0}/synapse/lib/lmdbslab.py +0 -0
  175. {synapse-2.222.0 → synapse-2.224.0}/synapse/lib/modelrev.py +0 -0
  176. {synapse-2.222.0 → synapse-2.224.0}/synapse/lib/module.py +0 -0
  177. {synapse-2.222.0 → synapse-2.224.0}/synapse/lib/modules.py +0 -0
  178. {synapse-2.222.0 → synapse-2.224.0}/synapse/lib/msgpack.py +0 -0
  179. {synapse-2.222.0 → synapse-2.224.0}/synapse/lib/multislabseqn.py +0 -0
  180. {synapse-2.222.0 → synapse-2.224.0}/synapse/lib/node.py +0 -0
  181. {synapse-2.222.0 → synapse-2.224.0}/synapse/lib/oauth.py +0 -0
  182. {synapse-2.222.0 → synapse-2.224.0}/synapse/lib/output.py +0 -0
  183. {synapse-2.222.0 → synapse-2.224.0}/synapse/lib/parser.py +0 -0
  184. {synapse-2.222.0 → synapse-2.224.0}/synapse/lib/platforms/__init__.py +0 -0
  185. {synapse-2.222.0 → synapse-2.224.0}/synapse/lib/platforms/common.py +0 -0
  186. {synapse-2.222.0 → synapse-2.224.0}/synapse/lib/platforms/darwin.py +0 -0
  187. {synapse-2.222.0 → synapse-2.224.0}/synapse/lib/platforms/freebsd.py +0 -0
  188. {synapse-2.222.0 → synapse-2.224.0}/synapse/lib/platforms/linux.py +0 -0
  189. {synapse-2.222.0 → synapse-2.224.0}/synapse/lib/platforms/windows.py +0 -0
  190. {synapse-2.222.0 → synapse-2.224.0}/synapse/lib/queue.py +0 -0
  191. {synapse-2.222.0 → synapse-2.224.0}/synapse/lib/ratelimit.py +0 -0
  192. {synapse-2.222.0 → synapse-2.224.0}/synapse/lib/reflect.py +0 -0
  193. {synapse-2.222.0 → synapse-2.224.0}/synapse/lib/rstorm.py +0 -0
  194. {synapse-2.222.0 → synapse-2.224.0}/synapse/lib/scope.py +0 -0
  195. {synapse-2.222.0 → synapse-2.224.0}/synapse/lib/scrape.py +0 -0
  196. {synapse-2.222.0 → synapse-2.224.0}/synapse/lib/share.py +0 -0
  197. {synapse-2.222.0 → synapse-2.224.0}/synapse/lib/slaboffs.py +0 -0
  198. {synapse-2.222.0 → synapse-2.224.0}/synapse/lib/slabseqn.py +0 -0
  199. {synapse-2.222.0 → synapse-2.224.0}/synapse/lib/spooled.py +0 -0
  200. {synapse-2.222.0 → synapse-2.224.0}/synapse/lib/storm_format.py +0 -0
  201. {synapse-2.222.0 → synapse-2.224.0}/synapse/lib/stormctrl.py +0 -0
  202. {synapse-2.222.0 → synapse-2.224.0}/synapse/lib/stormhttp.py +0 -0
  203. {synapse-2.222.0 → synapse-2.224.0}/synapse/lib/stormlib/__init__.py +0 -0
  204. {synapse-2.222.0 → synapse-2.224.0}/synapse/lib/stormlib/aha.py +0 -0
  205. {synapse-2.222.0 → synapse-2.224.0}/synapse/lib/stormlib/backup.py +0 -0
  206. {synapse-2.222.0 → synapse-2.224.0}/synapse/lib/stormlib/basex.py +0 -0
  207. {synapse-2.222.0 → synapse-2.224.0}/synapse/lib/stormlib/cache.py +0 -0
  208. {synapse-2.222.0 → synapse-2.224.0}/synapse/lib/stormlib/cell.py +0 -0
  209. {synapse-2.222.0 → synapse-2.224.0}/synapse/lib/stormlib/compression.py +0 -0
  210. {synapse-2.222.0 → synapse-2.224.0}/synapse/lib/stormlib/cortex.py +0 -0
  211. {synapse-2.222.0 → synapse-2.224.0}/synapse/lib/stormlib/easyperm.py +0 -0
  212. {synapse-2.222.0 → synapse-2.224.0}/synapse/lib/stormlib/env.py +0 -0
  213. {synapse-2.222.0 → synapse-2.224.0}/synapse/lib/stormlib/ethereum.py +0 -0
  214. {synapse-2.222.0 → synapse-2.224.0}/synapse/lib/stormlib/gen.py +0 -0
  215. {synapse-2.222.0 → synapse-2.224.0}/synapse/lib/stormlib/gis.py +0 -0
  216. {synapse-2.222.0 → synapse-2.224.0}/synapse/lib/stormlib/graph.py +0 -0
  217. {synapse-2.222.0 → synapse-2.224.0}/synapse/lib/stormlib/hashes.py +0 -0
  218. {synapse-2.222.0 → synapse-2.224.0}/synapse/lib/stormlib/hex.py +0 -0
  219. {synapse-2.222.0 → synapse-2.224.0}/synapse/lib/stormlib/index.py +0 -0
  220. {synapse-2.222.0 → synapse-2.224.0}/synapse/lib/stormlib/infosec.py +0 -0
  221. {synapse-2.222.0 → synapse-2.224.0}/synapse/lib/stormlib/ipv6.py +0 -0
  222. {synapse-2.222.0 → synapse-2.224.0}/synapse/lib/stormlib/iters.py +0 -0
  223. {synapse-2.222.0 → synapse-2.224.0}/synapse/lib/stormlib/json.py +0 -0
  224. {synapse-2.222.0 → synapse-2.224.0}/synapse/lib/stormlib/log.py +0 -0
  225. {synapse-2.222.0 → synapse-2.224.0}/synapse/lib/stormlib/macro.py +0 -0
  226. {synapse-2.222.0 → synapse-2.224.0}/synapse/lib/stormlib/math.py +0 -0
  227. {synapse-2.222.0 → synapse-2.224.0}/synapse/lib/stormlib/model.py +0 -0
  228. {synapse-2.222.0 → synapse-2.224.0}/synapse/lib/stormlib/modelext.py +0 -0
  229. {synapse-2.222.0 → synapse-2.224.0}/synapse/lib/stormlib/notifications.py +0 -0
  230. {synapse-2.222.0 → synapse-2.224.0}/synapse/lib/stormlib/oauth.py +0 -0
  231. {synapse-2.222.0 → synapse-2.224.0}/synapse/lib/stormlib/pack.py +0 -0
  232. {synapse-2.222.0 → synapse-2.224.0}/synapse/lib/stormlib/project.py +0 -0
  233. {synapse-2.222.0 → synapse-2.224.0}/synapse/lib/stormlib/random.py +0 -0
  234. {synapse-2.222.0 → synapse-2.224.0}/synapse/lib/stormlib/scrape.py +0 -0
  235. {synapse-2.222.0 → synapse-2.224.0}/synapse/lib/stormlib/smtp.py +0 -0
  236. {synapse-2.222.0 → synapse-2.224.0}/synapse/lib/stormlib/spooled.py +0 -0
  237. {synapse-2.222.0 → synapse-2.224.0}/synapse/lib/stormlib/stats.py +0 -0
  238. {synapse-2.222.0 → synapse-2.224.0}/synapse/lib/stormlib/stix.py +0 -0
  239. {synapse-2.222.0 → synapse-2.224.0}/synapse/lib/stormlib/storm.py +0 -0
  240. {synapse-2.222.0 → synapse-2.224.0}/synapse/lib/stormlib/tabular.py +0 -0
  241. {synapse-2.222.0 → synapse-2.224.0}/synapse/lib/stormlib/utils.py +0 -0
  242. {synapse-2.222.0 → synapse-2.224.0}/synapse/lib/stormlib/vault.py +0 -0
  243. {synapse-2.222.0 → synapse-2.224.0}/synapse/lib/stormlib/version.py +0 -0
  244. {synapse-2.222.0 → synapse-2.224.0}/synapse/lib/stormlib/xml.py +0 -0
  245. {synapse-2.222.0 → synapse-2.224.0}/synapse/lib/stormlib/yaml.py +0 -0
  246. {synapse-2.222.0 → synapse-2.224.0}/synapse/lib/stormsvc.py +0 -0
  247. {synapse-2.222.0 → synapse-2.224.0}/synapse/lib/stormwhois.py +0 -0
  248. {synapse-2.222.0 → synapse-2.224.0}/synapse/lib/structlog.py +0 -0
  249. {synapse-2.222.0 → synapse-2.224.0}/synapse/lib/task.py +0 -0
  250. {synapse-2.222.0 → synapse-2.224.0}/synapse/lib/thishost.py +0 -0
  251. {synapse-2.222.0 → synapse-2.224.0}/synapse/lib/thisplat.py +0 -0
  252. {synapse-2.222.0 → synapse-2.224.0}/synapse/lib/threads.py +0 -0
  253. {synapse-2.222.0 → synapse-2.224.0}/synapse/lib/time.py +0 -0
  254. {synapse-2.222.0 → synapse-2.224.0}/synapse/lib/types.py +0 -0
  255. {synapse-2.222.0 → synapse-2.224.0}/synapse/lib/urlhelp.py +0 -0
  256. {synapse-2.222.0 → synapse-2.224.0}/synapse/lookup/__init__.py +0 -0
  257. {synapse-2.222.0 → synapse-2.224.0}/synapse/lookup/cvss.py +0 -0
  258. {synapse-2.222.0 → synapse-2.224.0}/synapse/lookup/iana.py +0 -0
  259. {synapse-2.222.0 → synapse-2.224.0}/synapse/lookup/iso3166.py +0 -0
  260. {synapse-2.222.0 → synapse-2.224.0}/synapse/lookup/macho.py +0 -0
  261. {synapse-2.222.0 → synapse-2.224.0}/synapse/lookup/pe.py +0 -0
  262. {synapse-2.222.0 → synapse-2.224.0}/synapse/lookup/phonenum.py +0 -0
  263. {synapse-2.222.0 → synapse-2.224.0}/synapse/lookup/timezones.py +0 -0
  264. {synapse-2.222.0 → synapse-2.224.0}/synapse/mindmeld.py +0 -0
  265. {synapse-2.222.0 → synapse-2.224.0}/synapse/models/__init__.py +0 -0
  266. {synapse-2.222.0 → synapse-2.224.0}/synapse/models/auth.py +0 -0
  267. {synapse-2.222.0 → synapse-2.224.0}/synapse/models/base.py +0 -0
  268. {synapse-2.222.0 → synapse-2.224.0}/synapse/models/belief.py +0 -0
  269. {synapse-2.222.0 → synapse-2.224.0}/synapse/models/biz.py +0 -0
  270. {synapse-2.222.0 → synapse-2.224.0}/synapse/models/crypto.py +0 -0
  271. {synapse-2.222.0 → synapse-2.224.0}/synapse/models/dns.py +0 -0
  272. {synapse-2.222.0 → synapse-2.224.0}/synapse/models/doc.py +0 -0
  273. {synapse-2.222.0 → synapse-2.224.0}/synapse/models/economic.py +0 -0
  274. {synapse-2.222.0 → synapse-2.224.0}/synapse/models/entity.py +0 -0
  275. {synapse-2.222.0 → synapse-2.224.0}/synapse/models/geopol.py +0 -0
  276. {synapse-2.222.0 → synapse-2.224.0}/synapse/models/geospace.py +0 -0
  277. {synapse-2.222.0 → synapse-2.224.0}/synapse/models/gov/__init__.py +0 -0
  278. {synapse-2.222.0 → synapse-2.224.0}/synapse/models/gov/cn.py +0 -0
  279. {synapse-2.222.0 → synapse-2.224.0}/synapse/models/gov/intl.py +0 -0
  280. {synapse-2.222.0 → synapse-2.224.0}/synapse/models/gov/us.py +0 -0
  281. {synapse-2.222.0 → synapse-2.224.0}/synapse/models/infotech.py +0 -0
  282. {synapse-2.222.0 → synapse-2.224.0}/synapse/models/language.py +0 -0
  283. {synapse-2.222.0 → synapse-2.224.0}/synapse/models/material.py +0 -0
  284. {synapse-2.222.0 → synapse-2.224.0}/synapse/models/math.py +0 -0
  285. {synapse-2.222.0 → synapse-2.224.0}/synapse/models/media.py +0 -0
  286. {synapse-2.222.0 → synapse-2.224.0}/synapse/models/orgs.py +0 -0
  287. {synapse-2.222.0 → synapse-2.224.0}/synapse/models/person.py +0 -0
  288. {synapse-2.222.0 → synapse-2.224.0}/synapse/models/planning.py +0 -0
  289. {synapse-2.222.0 → synapse-2.224.0}/synapse/models/science.py +0 -0
  290. {synapse-2.222.0 → synapse-2.224.0}/synapse/models/telco.py +0 -0
  291. {synapse-2.222.0 → synapse-2.224.0}/synapse/models/transport.py +0 -0
  292. {synapse-2.222.0 → synapse-2.224.0}/synapse/servers/__init__.py +0 -0
  293. {synapse-2.222.0 → synapse-2.224.0}/synapse/servers/aha.py +0 -0
  294. {synapse-2.222.0 → synapse-2.224.0}/synapse/servers/axon.py +0 -0
  295. {synapse-2.222.0 → synapse-2.224.0}/synapse/servers/cell.py +0 -0
  296. {synapse-2.222.0 → synapse-2.224.0}/synapse/servers/cortex.py +0 -0
  297. {synapse-2.222.0 → synapse-2.224.0}/synapse/servers/cryotank.py +0 -0
  298. {synapse-2.222.0 → synapse-2.224.0}/synapse/servers/jsonstor.py +0 -0
  299. {synapse-2.222.0 → synapse-2.224.0}/synapse/servers/stemcell.py +0 -0
  300. {synapse-2.222.0 → synapse-2.224.0}/synapse/telepath.py +0 -0
  301. {synapse-2.222.0 → synapse-2.224.0}/synapse/tests/__init__.py +0 -0
  302. {synapse-2.222.0 → synapse-2.224.0}/synapse/tests/files/TestUtilsGetrefs.test_basics.yaml +0 -0
  303. {synapse-2.222.0 → synapse-2.224.0}/synapse/tests/files/__init__.py +0 -0
  304. {synapse-2.222.0 → synapse-2.224.0}/synapse/tests/files/aha/certs/cas/synapse.crt +0 -0
  305. {synapse-2.222.0 → synapse-2.224.0}/synapse/tests/files/aha/certs/cas/synapse.key +0 -0
  306. {synapse-2.222.0 → synapse-2.224.0}/synapse/tests/files/aha/certs/hosts/00.aha.loop.vertex.link.crt +0 -0
  307. {synapse-2.222.0 → synapse-2.224.0}/synapse/tests/files/aha/certs/hosts/00.aha.loop.vertex.link.key +0 -0
  308. {synapse-2.222.0 → synapse-2.224.0}/synapse/tests/files/aha/certs/users/root@synapse.crt +0 -0
  309. {synapse-2.222.0 → synapse-2.224.0}/synapse/tests/files/aha/certs/users/root@synapse.key +0 -0
  310. {synapse-2.222.0 → synapse-2.224.0}/synapse/tests/files/attack_flow/CISA AA22-138B VMWare Workspace (Alt).json +0 -0
  311. {synapse-2.222.0 → synapse-2.224.0}/synapse/tests/files/attack_flow/CISA_Iranian_APT.json +0 -0
  312. {synapse-2.222.0 → synapse-2.224.0}/synapse/tests/files/certdir/cas/ca.crt +0 -0
  313. {synapse-2.222.0 → synapse-2.224.0}/synapse/tests/files/certdir/cas/ca.key +0 -0
  314. {synapse-2.222.0 → synapse-2.224.0}/synapse/tests/files/certdir/hosts/localhost.crt +0 -0
  315. {synapse-2.222.0 → synapse-2.224.0}/synapse/tests/files/certdir/hosts/localhost.key +0 -0
  316. {synapse-2.222.0 → synapse-2.224.0}/synapse/tests/files/certdir/users/root.crt +0 -0
  317. {synapse-2.222.0 → synapse-2.224.0}/synapse/tests/files/certdir/users/root.key +0 -0
  318. {synapse-2.222.0 → synapse-2.224.0}/synapse/tests/files/certdir/users/user.crt +0 -0
  319. {synapse-2.222.0 → synapse-2.224.0}/synapse/tests/files/certdir/users/user.key +0 -0
  320. {synapse-2.222.0 → synapse-2.224.0}/synapse/tests/files/changelog/model_2.176.0_16ee721a6b7221344eaf946c3ab4602dda546b1a.yaml.gz +0 -0
  321. {synapse-2.222.0 → synapse-2.224.0}/synapse/tests/files/changelog/model_2.176.0_2a25c58bbd344716cd7cbc3f4304d8925b0f4ef2.yaml.gz +0 -0
  322. {synapse-2.222.0 → synapse-2.224.0}/synapse/tests/files/cpedata.json +0 -0
  323. {synapse-2.222.0 → synapse-2.224.0}/synapse/tests/files/rstorm/httpresp1.json +0 -0
  324. {synapse-2.222.0 → synapse-2.224.0}/synapse/tests/files/rstorm/httpresp2.json +0 -0
  325. {synapse-2.222.0 → synapse-2.224.0}/synapse/tests/files/rstorm/httpresp3.json +0 -0
  326. {synapse-2.222.0 → synapse-2.224.0}/synapse/tests/files/rstorm/httprespmulti.yaml +0 -0
  327. {synapse-2.222.0 → synapse-2.224.0}/synapse/tests/files/rstorm/testsvc.py +0 -0
  328. {synapse-2.222.0 → synapse-2.224.0}/synapse/tests/files/stix_export/basic.json +0 -0
  329. {synapse-2.222.0 → synapse-2.224.0}/synapse/tests/files/stix_export/custom0.json +0 -0
  330. {synapse-2.222.0 → synapse-2.224.0}/synapse/tests/files/stix_export/risk0.json +0 -0
  331. {synapse-2.222.0 → synapse-2.224.0}/synapse/tests/files/stix_import/apt1.json +0 -0
  332. {synapse-2.222.0 → synapse-2.224.0}/synapse/tests/files/stix_import/oasis-example-00.json +0 -0
  333. {synapse-2.222.0 → synapse-2.224.0}/synapse/tests/files/stormcov/argvquery.storm +0 -0
  334. {synapse-2.222.0 → synapse-2.224.0}/synapse/tests/files/stormcov/dupesubs.storm +0 -0
  335. {synapse-2.222.0 → synapse-2.224.0}/synapse/tests/files/stormcov/lookup.storm +0 -0
  336. {synapse-2.222.0 → synapse-2.224.0}/synapse/tests/files/stormcov/pivot.storm +0 -0
  337. {synapse-2.222.0 → synapse-2.224.0}/synapse/tests/files/stormcov/pragma-nocov.storm +0 -0
  338. {synapse-2.222.0 → synapse-2.224.0}/synapse/tests/files/stormcov/spin.storm +0 -0
  339. {synapse-2.222.0 → synapse-2.224.0}/synapse/tests/files/stormcov/stormctrl.storm +0 -0
  340. {synapse-2.222.0 → synapse-2.224.0}/synapse/tests/files/stormmod/common +0 -0
  341. {synapse-2.222.0 → synapse-2.224.0}/synapse/tests/files/stormpkg/badapidef.yaml +0 -0
  342. {synapse-2.222.0 → synapse-2.224.0}/synapse/tests/files/stormpkg/badcmdname.yaml +0 -0
  343. {synapse-2.222.0 → synapse-2.224.0}/synapse/tests/files/stormpkg/badendpoints.yaml +0 -0
  344. {synapse-2.222.0 → synapse-2.224.0}/synapse/tests/files/stormpkg/badinits.yaml +0 -0
  345. {synapse-2.222.0 → synapse-2.224.0}/synapse/tests/files/stormpkg/badjsonpkg.yaml +0 -0
  346. {synapse-2.222.0 → synapse-2.224.0}/synapse/tests/files/stormpkg/docs/foobar.md +0 -0
  347. {synapse-2.222.0 → synapse-2.224.0}/synapse/tests/files/stormpkg/docs/foobar.svg +0 -0
  348. {synapse-2.222.0 → synapse-2.224.0}/synapse/tests/files/stormpkg/dotstorm/dotstorm.yaml +0 -0
  349. {synapse-2.222.0 → synapse-2.224.0}/synapse/tests/files/stormpkg/dotstorm/storm/commands/dotstorm.bar.storm +0 -0
  350. {synapse-2.222.0 → synapse-2.224.0}/synapse/tests/files/stormpkg/dotstorm/storm/modules/dotstorm.foo.storm +0 -0
  351. {synapse-2.222.0 → synapse-2.224.0}/synapse/tests/files/stormpkg/nocontent.yaml +0 -0
  352. {synapse-2.222.0 → synapse-2.224.0}/synapse/tests/files/stormpkg/nomime.yaml +0 -0
  353. {synapse-2.222.0 → synapse-2.224.0}/synapse/tests/files/stormpkg/nopath.yaml +0 -0
  354. {synapse-2.222.0 → synapse-2.224.0}/synapse/tests/files/stormpkg/nosuchfile.yaml +0 -0
  355. {synapse-2.222.0 → synapse-2.224.0}/synapse/tests/files/stormpkg/notitle.yaml +0 -0
  356. {synapse-2.222.0 → synapse-2.224.0}/synapse/tests/files/stormpkg/optic/index.html +0 -0
  357. {synapse-2.222.0 → synapse-2.224.0}/synapse/tests/files/stormpkg/storm/commands/invalidCMD +0 -0
  358. {synapse-2.222.0 → synapse-2.224.0}/synapse/tests/files/stormpkg/storm/commands/testpkg.baz +0 -0
  359. {synapse-2.222.0 → synapse-2.224.0}/synapse/tests/files/stormpkg/storm/commands/testpkgcmd +0 -0
  360. {synapse-2.222.0 → synapse-2.224.0}/synapse/tests/files/stormpkg/storm/modules/apimod +0 -0
  361. {synapse-2.222.0 → synapse-2.224.0}/synapse/tests/files/stormpkg/storm/modules/testmod +0 -0
  362. {synapse-2.222.0 → synapse-2.224.0}/synapse/tests/files/stormpkg/testpkg.yaml +0 -0
  363. {synapse-2.222.0 → synapse-2.224.0}/synapse/tests/files/stormpkg/workflows/testpkg-bam.newp +0 -0
  364. {synapse-2.222.0 → synapse-2.224.0}/synapse/tests/files/stormpkg/workflows/testpkg-baz.yaml +0 -0
  365. {synapse-2.222.0 → synapse-2.224.0}/synapse/tests/files/stormpkg/workflows/testpkg-foo.yaml +0 -0
  366. {synapse-2.222.0 → synapse-2.224.0}/synapse/tests/files/test.dat +0 -0
  367. {synapse-2.222.0 → synapse-2.224.0}/synapse/tests/files/testcore/cell.yaml +0 -0
  368. {synapse-2.222.0 → synapse-2.224.0}/synapse/tests/files/testpkg_build_docs/docs/bar.rst +0 -0
  369. {synapse-2.222.0 → synapse-2.224.0}/synapse/tests/files/testpkg_build_docs/docs/foo.rst +0 -0
  370. {synapse-2.222.0 → synapse-2.224.0}/synapse/tests/files/testpkg_build_docs/storm/commands/testcmd.storm +0 -0
  371. {synapse-2.222.0 → synapse-2.224.0}/synapse/tests/files/testpkg_build_docs/storm/modules/apimod.storm +0 -0
  372. {synapse-2.222.0 → synapse-2.224.0}/synapse/tests/files/testpkg_build_docs/storm/modules/testmod.storm +0 -0
  373. {synapse-2.222.0 → synapse-2.224.0}/synapse/tests/files/testpkg_build_docs/storm/testcmd.storm +0 -0
  374. {synapse-2.222.0 → synapse-2.224.0}/synapse/tests/files/testpkg_build_docs/testpkg.yaml +0 -0
  375. {synapse-2.222.0 → synapse-2.224.0}/synapse/tests/nopmod.py +0 -0
  376. {synapse-2.222.0 → synapse-2.224.0}/synapse/tests/test_axon.py +0 -0
  377. {synapse-2.222.0 → synapse-2.224.0}/synapse/tests/test_cmds_boss.py +0 -0
  378. {synapse-2.222.0 → synapse-2.224.0}/synapse/tests/test_cmds_cortex.py +0 -0
  379. {synapse-2.222.0 → synapse-2.224.0}/synapse/tests/test_cmds_hive.py +0 -0
  380. {synapse-2.222.0 → synapse-2.224.0}/synapse/tests/test_cryotank.py +0 -0
  381. {synapse-2.222.0 → synapse-2.224.0}/synapse/tests/test_daemon.py +0 -0
  382. {synapse-2.222.0 → synapse-2.224.0}/synapse/tests/test_data.py +0 -0
  383. {synapse-2.222.0 → synapse-2.224.0}/synapse/tests/test_datamodel.py +0 -0
  384. {synapse-2.222.0 → synapse-2.224.0}/synapse/tests/test_exc.py +0 -0
  385. {synapse-2.222.0 → synapse-2.224.0}/synapse/tests/test_glob.py +0 -0
  386. {synapse-2.222.0 → synapse-2.224.0}/synapse/tests/test_init.py +0 -0
  387. {synapse-2.222.0 → synapse-2.224.0}/synapse/tests/test_lib_agenda.py +0 -0
  388. {synapse-2.222.0 → synapse-2.224.0}/synapse/tests/test_lib_auth.py +0 -0
  389. {synapse-2.222.0 → synapse-2.224.0}/synapse/tests/test_lib_autodoc.py +0 -0
  390. {synapse-2.222.0 → synapse-2.224.0}/synapse/tests/test_lib_base.py +0 -0
  391. {synapse-2.222.0 → synapse-2.224.0}/synapse/tests/test_lib_boss.py +0 -0
  392. {synapse-2.222.0 → synapse-2.224.0}/synapse/tests/test_lib_cache.py +0 -0
  393. {synapse-2.222.0 → synapse-2.224.0}/synapse/tests/test_lib_certdir.py +0 -0
  394. {synapse-2.222.0 → synapse-2.224.0}/synapse/tests/test_lib_chop.py +0 -0
  395. {synapse-2.222.0 → synapse-2.224.0}/synapse/tests/test_lib_cli.py +0 -0
  396. {synapse-2.222.0 → synapse-2.224.0}/synapse/tests/test_lib_config.py +0 -0
  397. {synapse-2.222.0 → synapse-2.224.0}/synapse/tests/test_lib_const.py +0 -0
  398. {synapse-2.222.0 → synapse-2.224.0}/synapse/tests/test_lib_coro.py +0 -0
  399. {synapse-2.222.0 → synapse-2.224.0}/synapse/tests/test_lib_crypto_coin.py +0 -0
  400. {synapse-2.222.0 → synapse-2.224.0}/synapse/tests/test_lib_crypto_ecc.py +0 -0
  401. {synapse-2.222.0 → synapse-2.224.0}/synapse/tests/test_lib_crypto_passwd.py +0 -0
  402. {synapse-2.222.0 → synapse-2.224.0}/synapse/tests/test_lib_crypto_tinfoil.py +0 -0
  403. {synapse-2.222.0 → synapse-2.224.0}/synapse/tests/test_lib_datfile.py +0 -0
  404. {synapse-2.222.0 → synapse-2.224.0}/synapse/tests/test_lib_dyndeps.py +0 -0
  405. {synapse-2.222.0 → synapse-2.224.0}/synapse/tests/test_lib_encoding.py +0 -0
  406. {synapse-2.222.0 → synapse-2.224.0}/synapse/tests/test_lib_gis.py +0 -0
  407. {synapse-2.222.0 → synapse-2.224.0}/synapse/tests/test_lib_grammar.py +0 -0
  408. {synapse-2.222.0 → synapse-2.224.0}/synapse/tests/test_lib_hashitem.py +0 -0
  409. {synapse-2.222.0 → synapse-2.224.0}/synapse/tests/test_lib_hashset.py +0 -0
  410. {synapse-2.222.0 → synapse-2.224.0}/synapse/tests/test_lib_health.py +0 -0
  411. {synapse-2.222.0 → synapse-2.224.0}/synapse/tests/test_lib_hive.py +0 -0
  412. {synapse-2.222.0 → synapse-2.224.0}/synapse/tests/test_lib_httpapi.py +0 -0
  413. {synapse-2.222.0 → synapse-2.224.0}/synapse/tests/test_lib_interval.py +0 -0
  414. {synapse-2.222.0 → synapse-2.224.0}/synapse/tests/test_lib_json.py +0 -0
  415. {synapse-2.222.0 → synapse-2.224.0}/synapse/tests/test_lib_jsonstor.py +0 -0
  416. {synapse-2.222.0 → synapse-2.224.0}/synapse/tests/test_lib_layer.py +0 -0
  417. {synapse-2.222.0 → synapse-2.224.0}/synapse/tests/test_lib_link.py +0 -0
  418. {synapse-2.222.0 → synapse-2.224.0}/synapse/tests/test_lib_lmdbslab.py +0 -0
  419. {synapse-2.222.0 → synapse-2.224.0}/synapse/tests/test_lib_modelrev.py +0 -0
  420. {synapse-2.222.0 → synapse-2.224.0}/synapse/tests/test_lib_module.py +0 -0
  421. {synapse-2.222.0 → synapse-2.224.0}/synapse/tests/test_lib_msgpack.py +0 -0
  422. {synapse-2.222.0 → synapse-2.224.0}/synapse/tests/test_lib_multislabseqn.py +0 -0
  423. {synapse-2.222.0 → synapse-2.224.0}/synapse/tests/test_lib_nexus.py +0 -0
  424. {synapse-2.222.0 → synapse-2.224.0}/synapse/tests/test_lib_node.py +0 -0
  425. {synapse-2.222.0 → synapse-2.224.0}/synapse/tests/test_lib_output.py +0 -0
  426. {synapse-2.222.0 → synapse-2.224.0}/synapse/tests/test_lib_platforms_linux.py +0 -0
  427. {synapse-2.222.0 → synapse-2.224.0}/synapse/tests/test_lib_queue.py +0 -0
  428. {synapse-2.222.0 → synapse-2.224.0}/synapse/tests/test_lib_ratelimit.py +0 -0
  429. {synapse-2.222.0 → synapse-2.224.0}/synapse/tests/test_lib_reflect.py +0 -0
  430. {synapse-2.222.0 → synapse-2.224.0}/synapse/tests/test_lib_rstorm.py +0 -0
  431. {synapse-2.222.0 → synapse-2.224.0}/synapse/tests/test_lib_scope.py +0 -0
  432. {synapse-2.222.0 → synapse-2.224.0}/synapse/tests/test_lib_scrape.py +0 -0
  433. {synapse-2.222.0 → synapse-2.224.0}/synapse/tests/test_lib_slaboffs.py +0 -0
  434. {synapse-2.222.0 → synapse-2.224.0}/synapse/tests/test_lib_slabseqn.py +0 -0
  435. {synapse-2.222.0 → synapse-2.224.0}/synapse/tests/test_lib_snap.py +0 -0
  436. {synapse-2.222.0 → synapse-2.224.0}/synapse/tests/test_lib_spooled.py +0 -0
  437. {synapse-2.222.0 → synapse-2.224.0}/synapse/tests/test_lib_storm_format.py +0 -0
  438. {synapse-2.222.0 → synapse-2.224.0}/synapse/tests/test_lib_stormctrl.py +0 -0
  439. {synapse-2.222.0 → synapse-2.224.0}/synapse/tests/test_lib_stormhttp.py +0 -0
  440. {synapse-2.222.0 → synapse-2.224.0}/synapse/tests/test_lib_stormlib_aha.py +0 -0
  441. {synapse-2.222.0 → synapse-2.224.0}/synapse/tests/test_lib_stormlib_auth.py +0 -0
  442. {synapse-2.222.0 → synapse-2.224.0}/synapse/tests/test_lib_stormlib_backup.py +0 -0
  443. {synapse-2.222.0 → synapse-2.224.0}/synapse/tests/test_lib_stormlib_basex.py +0 -0
  444. {synapse-2.222.0 → synapse-2.224.0}/synapse/tests/test_lib_stormlib_cache.py +0 -0
  445. {synapse-2.222.0 → synapse-2.224.0}/synapse/tests/test_lib_stormlib_cell.py +0 -0
  446. {synapse-2.222.0 → synapse-2.224.0}/synapse/tests/test_lib_stormlib_compression.py +0 -0
  447. {synapse-2.222.0 → synapse-2.224.0}/synapse/tests/test_lib_stormlib_cortex.py +0 -0
  448. {synapse-2.222.0 → synapse-2.224.0}/synapse/tests/test_lib_stormlib_easyperm.py +0 -0
  449. {synapse-2.222.0 → synapse-2.224.0}/synapse/tests/test_lib_stormlib_env.py +0 -0
  450. {synapse-2.222.0 → synapse-2.224.0}/synapse/tests/test_lib_stormlib_ethereum.py +0 -0
  451. {synapse-2.222.0 → synapse-2.224.0}/synapse/tests/test_lib_stormlib_gen.py +0 -0
  452. {synapse-2.222.0 → synapse-2.224.0}/synapse/tests/test_lib_stormlib_gis.py +0 -0
  453. {synapse-2.222.0 → synapse-2.224.0}/synapse/tests/test_lib_stormlib_hashes.py +0 -0
  454. {synapse-2.222.0 → synapse-2.224.0}/synapse/tests/test_lib_stormlib_hex.py +0 -0
  455. {synapse-2.222.0 → synapse-2.224.0}/synapse/tests/test_lib_stormlib_index.py +0 -0
  456. {synapse-2.222.0 → synapse-2.224.0}/synapse/tests/test_lib_stormlib_infosec.py +0 -0
  457. {synapse-2.222.0 → synapse-2.224.0}/synapse/tests/test_lib_stormlib_ipv6.py +0 -0
  458. {synapse-2.222.0 → synapse-2.224.0}/synapse/tests/test_lib_stormlib_iters.py +0 -0
  459. {synapse-2.222.0 → synapse-2.224.0}/synapse/tests/test_lib_stormlib_json.py +0 -0
  460. {synapse-2.222.0 → synapse-2.224.0}/synapse/tests/test_lib_stormlib_log.py +0 -0
  461. {synapse-2.222.0 → synapse-2.224.0}/synapse/tests/test_lib_stormlib_macro.py +0 -0
  462. {synapse-2.222.0 → synapse-2.224.0}/synapse/tests/test_lib_stormlib_model.py +0 -0
  463. {synapse-2.222.0 → synapse-2.224.0}/synapse/tests/test_lib_stormlib_modelext.py +0 -0
  464. {synapse-2.222.0 → synapse-2.224.0}/synapse/tests/test_lib_stormlib_oauth.py +0 -0
  465. {synapse-2.222.0 → synapse-2.224.0}/synapse/tests/test_lib_stormlib_pack.py +0 -0
  466. {synapse-2.222.0 → synapse-2.224.0}/synapse/tests/test_lib_stormlib_random.py +0 -0
  467. {synapse-2.222.0 → synapse-2.224.0}/synapse/tests/test_lib_stormlib_scrape.py +0 -0
  468. {synapse-2.222.0 → synapse-2.224.0}/synapse/tests/test_lib_stormlib_smtp.py +0 -0
  469. {synapse-2.222.0 → synapse-2.224.0}/synapse/tests/test_lib_stormlib_spooled.py +0 -0
  470. {synapse-2.222.0 → synapse-2.224.0}/synapse/tests/test_lib_stormlib_stats.py +0 -0
  471. {synapse-2.222.0 → synapse-2.224.0}/synapse/tests/test_lib_stormlib_stix.py +0 -0
  472. {synapse-2.222.0 → synapse-2.224.0}/synapse/tests/test_lib_stormlib_storm.py +0 -0
  473. {synapse-2.222.0 → synapse-2.224.0}/synapse/tests/test_lib_stormlib_tabular.py +0 -0
  474. {synapse-2.222.0 → synapse-2.224.0}/synapse/tests/test_lib_stormlib_utils.py +0 -0
  475. {synapse-2.222.0 → synapse-2.224.0}/synapse/tests/test_lib_stormlib_vault.py +0 -0
  476. {synapse-2.222.0 → synapse-2.224.0}/synapse/tests/test_lib_stormlib_xml.py +0 -0
  477. {synapse-2.222.0 → synapse-2.224.0}/synapse/tests/test_lib_stormlib_yaml.py +0 -0
  478. {synapse-2.222.0 → synapse-2.224.0}/synapse/tests/test_lib_stormsvc.py +0 -0
  479. {synapse-2.222.0 → synapse-2.224.0}/synapse/tests/test_lib_stormwhois.py +0 -0
  480. {synapse-2.222.0 → synapse-2.224.0}/synapse/tests/test_lib_structlog.py +0 -0
  481. {synapse-2.222.0 → synapse-2.224.0}/synapse/tests/test_lib_task.py +0 -0
  482. {synapse-2.222.0 → synapse-2.224.0}/synapse/tests/test_lib_thishost.py +0 -0
  483. {synapse-2.222.0 → synapse-2.224.0}/synapse/tests/test_lib_time.py +0 -0
  484. {synapse-2.222.0 → synapse-2.224.0}/synapse/tests/test_lib_types.py +0 -0
  485. {synapse-2.222.0 → synapse-2.224.0}/synapse/tests/test_lib_urlhelp.py +0 -0
  486. {synapse-2.222.0 → synapse-2.224.0}/synapse/tests/test_lib_version.py +0 -0
  487. {synapse-2.222.0 → synapse-2.224.0}/synapse/tests/test_lookup_iso3166.py +0 -0
  488. {synapse-2.222.0 → synapse-2.224.0}/synapse/tests/test_lookup_phonenum.py +0 -0
  489. {synapse-2.222.0 → synapse-2.224.0}/synapse/tests/test_mindmeld.py +0 -0
  490. {synapse-2.222.0 → synapse-2.224.0}/synapse/tests/test_model_auth.py +0 -0
  491. {synapse-2.222.0 → synapse-2.224.0}/synapse/tests/test_model_base.py +0 -0
  492. {synapse-2.222.0 → synapse-2.224.0}/synapse/tests/test_model_belief.py +0 -0
  493. {synapse-2.222.0 → synapse-2.224.0}/synapse/tests/test_model_biz.py +0 -0
  494. {synapse-2.222.0 → synapse-2.224.0}/synapse/tests/test_model_crypto.py +0 -0
  495. {synapse-2.222.0 → synapse-2.224.0}/synapse/tests/test_model_dns.py +0 -0
  496. {synapse-2.222.0 → synapse-2.224.0}/synapse/tests/test_model_doc.py +0 -0
  497. {synapse-2.222.0 → synapse-2.224.0}/synapse/tests/test_model_economic.py +0 -0
  498. {synapse-2.222.0 → synapse-2.224.0}/synapse/tests/test_model_entity.py +0 -0
  499. {synapse-2.222.0 → synapse-2.224.0}/synapse/tests/test_model_geopol.py +0 -0
  500. {synapse-2.222.0 → synapse-2.224.0}/synapse/tests/test_model_geospace.py +0 -0
  501. {synapse-2.222.0 → synapse-2.224.0}/synapse/tests/test_model_gov_cn.py +0 -0
  502. {synapse-2.222.0 → synapse-2.224.0}/synapse/tests/test_model_gov_intl.py +0 -0
  503. {synapse-2.222.0 → synapse-2.224.0}/synapse/tests/test_model_gov_us.py +0 -0
  504. {synapse-2.222.0 → synapse-2.224.0}/synapse/tests/test_model_infotech.py +0 -0
  505. {synapse-2.222.0 → synapse-2.224.0}/synapse/tests/test_model_language.py +0 -0
  506. {synapse-2.222.0 → synapse-2.224.0}/synapse/tests/test_model_material.py +0 -0
  507. {synapse-2.222.0 → synapse-2.224.0}/synapse/tests/test_model_math.py +0 -0
  508. {synapse-2.222.0 → synapse-2.224.0}/synapse/tests/test_model_media.py +0 -0
  509. {synapse-2.222.0 → synapse-2.224.0}/synapse/tests/test_model_orgs.py +0 -0
  510. {synapse-2.222.0 → synapse-2.224.0}/synapse/tests/test_model_person.py +0 -0
  511. {synapse-2.222.0 → synapse-2.224.0}/synapse/tests/test_model_planning.py +0 -0
  512. {synapse-2.222.0 → synapse-2.224.0}/synapse/tests/test_model_science.py +0 -0
  513. {synapse-2.222.0 → synapse-2.224.0}/synapse/tests/test_model_telco.py +0 -0
  514. {synapse-2.222.0 → synapse-2.224.0}/synapse/tests/test_model_transport.py +0 -0
  515. {synapse-2.222.0 → synapse-2.224.0}/synapse/tests/test_servers_axon.py +0 -0
  516. {synapse-2.222.0 → synapse-2.224.0}/synapse/tests/test_servers_cortex.py +0 -0
  517. {synapse-2.222.0 → synapse-2.224.0}/synapse/tests/test_servers_cryotank.py +0 -0
  518. {synapse-2.222.0 → synapse-2.224.0}/synapse/tests/test_servers_stemcell.py +0 -0
  519. {synapse-2.222.0 → synapse-2.224.0}/synapse/tests/test_servers_univ.py +0 -0
  520. {synapse-2.222.0 → synapse-2.224.0}/synapse/tests/test_telepath.py +0 -0
  521. {synapse-2.222.0 → synapse-2.224.0}/synapse/tests/test_tools_aha.py +0 -0
  522. {synapse-2.222.0 → synapse-2.224.0}/synapse/tests/test_tools_apikey.py +0 -0
  523. {synapse-2.222.0 → synapse-2.224.0}/synapse/tests/test_tools_autodoc.py +0 -0
  524. {synapse-2.222.0 → synapse-2.224.0}/synapse/tests/test_tools_axon.py +0 -0
  525. {synapse-2.222.0 → synapse-2.224.0}/synapse/tests/test_tools_axon2axon.py +0 -0
  526. {synapse-2.222.0 → synapse-2.224.0}/synapse/tests/test_tools_backup.py +0 -0
  527. {synapse-2.222.0 → synapse-2.224.0}/synapse/tests/test_tools_cellauth.py +0 -0
  528. {synapse-2.222.0 → synapse-2.224.0}/synapse/tests/test_tools_changelog.py +0 -0
  529. {synapse-2.222.0 → synapse-2.224.0}/synapse/tests/test_tools_cortex_layer.py +0 -0
  530. {synapse-2.222.0 → synapse-2.224.0}/synapse/tests/test_tools_cryo_cat.py +0 -0
  531. {synapse-2.222.0 → synapse-2.224.0}/synapse/tests/test_tools_cryo_list.py +0 -0
  532. {synapse-2.222.0 → synapse-2.224.0}/synapse/tests/test_tools_csvtool.py +0 -0
  533. {synapse-2.222.0 → synapse-2.224.0}/synapse/tests/test_tools_demote.py +0 -0
  534. {synapse-2.222.0 → synapse-2.224.0}/synapse/tests/test_tools_docker_validate.py +0 -0
  535. {synapse-2.222.0 → synapse-2.224.0}/synapse/tests/test_tools_easycert.py +0 -0
  536. {synapse-2.222.0 → synapse-2.224.0}/synapse/tests/test_tools_feed.py +0 -0
  537. {synapse-2.222.0 → synapse-2.224.0}/synapse/tests/test_tools_genpkg.py +0 -0
  538. {synapse-2.222.0 → synapse-2.224.0}/synapse/tests/test_tools_guid.py +0 -0
  539. {synapse-2.222.0 → synapse-2.224.0}/synapse/tests/test_tools_healthcheck.py +0 -0
  540. {synapse-2.222.0 → synapse-2.224.0}/synapse/tests/test_tools_hiveload.py +0 -0
  541. {synapse-2.222.0 → synapse-2.224.0}/synapse/tests/test_tools_hivesave.py +0 -0
  542. {synapse-2.222.0 → synapse-2.224.0}/synapse/tests/test_tools_json2mpk.py +0 -0
  543. {synapse-2.222.0 → synapse-2.224.0}/synapse/tests/test_tools_livebackup.py +0 -0
  544. {synapse-2.222.0 → synapse-2.224.0}/synapse/tests/test_tools_modrole.py +0 -0
  545. {synapse-2.222.0 → synapse-2.224.0}/synapse/tests/test_tools_moduser.py +0 -0
  546. {synapse-2.222.0 → synapse-2.224.0}/synapse/tests/test_tools_pkgs_gendocs.py +0 -0
  547. {synapse-2.222.0 → synapse-2.224.0}/synapse/tests/test_tools_promote.py +0 -0
  548. {synapse-2.222.0 → synapse-2.224.0}/synapse/tests/test_tools_pullfile.py +0 -0
  549. {synapse-2.222.0 → synapse-2.224.0}/synapse/tests/test_tools_pushfile.py +0 -0
  550. {synapse-2.222.0 → synapse-2.224.0}/synapse/tests/test_tools_reload.py +0 -0
  551. {synapse-2.222.0 → synapse-2.224.0}/synapse/tests/test_tools_rstorm.py +0 -0
  552. {synapse-2.222.0 → synapse-2.224.0}/synapse/tests/test_tools_shutdown.py +0 -0
  553. {synapse-2.222.0 → synapse-2.224.0}/synapse/tests/test_tools_snapshot.py +0 -0
  554. {synapse-2.222.0 → synapse-2.224.0}/synapse/tests/test_tools_storm.py +0 -0
  555. {synapse-2.222.0 → synapse-2.224.0}/synapse/tests/test_utils.py +0 -0
  556. {synapse-2.222.0 → synapse-2.224.0}/synapse/tests/test_utils_getrefs.py +0 -0
  557. {synapse-2.222.0 → synapse-2.224.0}/synapse/tests/test_utils_stormcov.py +0 -0
  558. {synapse-2.222.0 → synapse-2.224.0}/synapse/tests/utils.py +0 -0
  559. {synapse-2.222.0 → synapse-2.224.0}/synapse/tools/__init__.py +0 -0
  560. {synapse-2.222.0 → synapse-2.224.0}/synapse/tools/aha/__init__.py +0 -0
  561. {synapse-2.222.0 → synapse-2.224.0}/synapse/tools/aha/clone.py +0 -0
  562. {synapse-2.222.0 → synapse-2.224.0}/synapse/tools/aha/easycert.py +0 -0
  563. {synapse-2.222.0 → synapse-2.224.0}/synapse/tools/aha/enroll.py +0 -0
  564. {synapse-2.222.0 → synapse-2.224.0}/synapse/tools/aha/list.py +0 -0
  565. {synapse-2.222.0 → synapse-2.224.0}/synapse/tools/aha/mirror.py +0 -0
  566. {synapse-2.222.0 → synapse-2.224.0}/synapse/tools/aha/provision/__init__.py +0 -0
  567. {synapse-2.222.0 → synapse-2.224.0}/synapse/tools/aha/provision/service.py +0 -0
  568. {synapse-2.222.0 → synapse-2.224.0}/synapse/tools/aha/provision/user.py +0 -0
  569. {synapse-2.222.0 → synapse-2.224.0}/synapse/tools/apikey.py +0 -0
  570. {synapse-2.222.0 → synapse-2.224.0}/synapse/tools/autodoc.py +0 -0
  571. {synapse-2.222.0 → synapse-2.224.0}/synapse/tools/axon/__init__.py +0 -0
  572. {synapse-2.222.0 → synapse-2.224.0}/synapse/tools/axon/dump.py +0 -0
  573. {synapse-2.222.0 → synapse-2.224.0}/synapse/tools/axon/load.py +0 -0
  574. {synapse-2.222.0 → synapse-2.224.0}/synapse/tools/axon2axon.py +0 -0
  575. {synapse-2.222.0 → synapse-2.224.0}/synapse/tools/backup.py +0 -0
  576. {synapse-2.222.0 → synapse-2.224.0}/synapse/tools/cellauth.py +0 -0
  577. {synapse-2.222.0 → synapse-2.224.0}/synapse/tools/changelog.py +0 -0
  578. {synapse-2.222.0 → synapse-2.224.0}/synapse/tools/cmdr.py +0 -0
  579. {synapse-2.222.0 → synapse-2.224.0}/synapse/tools/cortex/__init__.py +0 -0
  580. {synapse-2.222.0 → synapse-2.224.0}/synapse/tools/cortex/layer/__init__.py +0 -0
  581. {synapse-2.222.0 → synapse-2.224.0}/synapse/tools/cortex/layer/dump.py +0 -0
  582. {synapse-2.222.0 → synapse-2.224.0}/synapse/tools/cortex/layer/load.py +0 -0
  583. {synapse-2.222.0 → synapse-2.224.0}/synapse/tools/cryo/__init__.py +0 -0
  584. {synapse-2.222.0 → synapse-2.224.0}/synapse/tools/csvtool.py +0 -0
  585. {synapse-2.222.0 → synapse-2.224.0}/synapse/tools/demote.py +0 -0
  586. {synapse-2.222.0 → synapse-2.224.0}/synapse/tools/docker/__init__.py +0 -0
  587. {synapse-2.222.0 → synapse-2.224.0}/synapse/tools/docker/validate.py +0 -0
  588. {synapse-2.222.0 → synapse-2.224.0}/synapse/tools/easycert.py +0 -0
  589. {synapse-2.222.0 → synapse-2.224.0}/synapse/tools/feed.py +0 -0
  590. {synapse-2.222.0 → synapse-2.224.0}/synapse/tools/genpkg.py +0 -0
  591. {synapse-2.222.0 → synapse-2.224.0}/synapse/tools/guid.py +0 -0
  592. {synapse-2.222.0 → synapse-2.224.0}/synapse/tools/healthcheck.py +0 -0
  593. {synapse-2.222.0 → synapse-2.224.0}/synapse/tools/hive/__init__.py +0 -0
  594. {synapse-2.222.0 → synapse-2.224.0}/synapse/tools/hive/load.py +0 -0
  595. {synapse-2.222.0 → synapse-2.224.0}/synapse/tools/hive/save.py +0 -0
  596. {synapse-2.222.0 → synapse-2.224.0}/synapse/tools/json2mpk.py +0 -0
  597. {synapse-2.222.0 → synapse-2.224.0}/synapse/tools/livebackup.py +0 -0
  598. {synapse-2.222.0 → synapse-2.224.0}/synapse/tools/modrole.py +0 -0
  599. {synapse-2.222.0 → synapse-2.224.0}/synapse/tools/moduser.py +0 -0
  600. {synapse-2.222.0 → synapse-2.224.0}/synapse/tools/pkgs/gendocs.py +0 -0
  601. {synapse-2.222.0 → synapse-2.224.0}/synapse/tools/pkgs/pandoc_filter.py +0 -0
  602. {synapse-2.222.0 → synapse-2.224.0}/synapse/tools/promote.py +0 -0
  603. {synapse-2.222.0 → synapse-2.224.0}/synapse/tools/pullfile.py +0 -0
  604. {synapse-2.222.0 → synapse-2.224.0}/synapse/tools/pushfile.py +0 -0
  605. {synapse-2.222.0 → synapse-2.224.0}/synapse/tools/reload.py +0 -0
  606. {synapse-2.222.0 → synapse-2.224.0}/synapse/tools/rstorm.py +0 -0
  607. {synapse-2.222.0 → synapse-2.224.0}/synapse/tools/shutdown.py +0 -0
  608. {synapse-2.222.0 → synapse-2.224.0}/synapse/tools/snapshot.py +0 -0
  609. {synapse-2.222.0 → synapse-2.224.0}/synapse/tools/storm.py +0 -0
  610. {synapse-2.222.0 → synapse-2.224.0}/synapse/utils/__init__.py +0 -0
  611. {synapse-2.222.0 → synapse-2.224.0}/synapse/utils/getrefs.py +0 -0
  612. {synapse-2.222.0 → synapse-2.224.0}/synapse/utils/stormcov/__init__.py +0 -0
  613. {synapse-2.222.0 → synapse-2.224.0}/synapse/utils/stormcov/plugin.py +0 -0
  614. {synapse-2.222.0 → synapse-2.224.0}/synapse/vendor/__init__.py +0 -0
  615. {synapse-2.222.0 → synapse-2.224.0}/synapse/vendor/cashaddress/LICENSE +0 -0
  616. {synapse-2.222.0 → synapse-2.224.0}/synapse/vendor/cashaddress/__init__.py +0 -0
  617. {synapse-2.222.0 → synapse-2.224.0}/synapse/vendor/cashaddress/base58.py +0 -0
  618. {synapse-2.222.0 → synapse-2.224.0}/synapse/vendor/cashaddress/convert.py +0 -0
  619. {synapse-2.222.0 → synapse-2.224.0}/synapse/vendor/cashaddress/crypto.py +0 -0
  620. {synapse-2.222.0 → synapse-2.224.0}/synapse/vendor/cashaddress/tests/__init__.py +0 -0
  621. {synapse-2.222.0 → synapse-2.224.0}/synapse/vendor/cashaddress/tests/test_cashaddress.py +0 -0
  622. {synapse-2.222.0 → synapse-2.224.0}/synapse/vendor/cpython/LICENSE +0 -0
  623. {synapse-2.222.0 → synapse-2.224.0}/synapse/vendor/cpython/__init__.py +0 -0
  624. {synapse-2.222.0 → synapse-2.224.0}/synapse/vendor/cpython/lib/__init__.py +0 -0
  625. {synapse-2.222.0 → synapse-2.224.0}/synapse/vendor/cpython/lib/email/__init__.py +0 -0
  626. {synapse-2.222.0 → synapse-2.224.0}/synapse/vendor/cpython/lib/email/_parseaddr.py +0 -0
  627. {synapse-2.222.0 → synapse-2.224.0}/synapse/vendor/cpython/lib/email/utils.py +0 -0
  628. {synapse-2.222.0 → synapse-2.224.0}/synapse/vendor/cpython/lib/http/__init__.py +0 -0
  629. {synapse-2.222.0 → synapse-2.224.0}/synapse/vendor/cpython/lib/http/cookies.py +0 -0
  630. {synapse-2.222.0 → synapse-2.224.0}/synapse/vendor/cpython/lib/ipaddress.py +0 -0
  631. {synapse-2.222.0 → synapse-2.224.0}/synapse/vendor/cpython/lib/json.py +0 -0
  632. {synapse-2.222.0 → synapse-2.224.0}/synapse/vendor/cpython/lib/test/__init__.py +0 -0
  633. {synapse-2.222.0 → synapse-2.224.0}/synapse/vendor/cpython/lib/test/support/__init__.py +0 -0
  634. {synapse-2.222.0 → synapse-2.224.0}/synapse/vendor/cpython/lib/test/test_email/__init__.py +0 -0
  635. {synapse-2.222.0 → synapse-2.224.0}/synapse/vendor/cpython/lib/test/test_email/test_email.py +0 -0
  636. {synapse-2.222.0 → synapse-2.224.0}/synapse/vendor/cpython/lib/test/test_email/test_utils.py +0 -0
  637. {synapse-2.222.0 → synapse-2.224.0}/synapse/vendor/cpython/lib/test/test_http_cookies.py +0 -0
  638. {synapse-2.222.0 → synapse-2.224.0}/synapse/vendor/cpython/lib/test/test_ipaddress.py +0 -0
  639. {synapse-2.222.0 → synapse-2.224.0}/synapse/vendor/cpython/lib/test/test_json.py +0 -0
  640. {synapse-2.222.0 → synapse-2.224.0}/synapse/vendor/substrateinterface/LICENSE +0 -0
  641. {synapse-2.222.0 → synapse-2.224.0}/synapse/vendor/substrateinterface/__init__.py +0 -0
  642. {synapse-2.222.0 → synapse-2.224.0}/synapse/vendor/substrateinterface/tests/__init__.py +0 -0
  643. {synapse-2.222.0 → synapse-2.224.0}/synapse/vendor/substrateinterface/tests/test_ss58.py +0 -0
  644. {synapse-2.222.0 → synapse-2.224.0}/synapse/vendor/substrateinterface/utils/__init__.py +0 -0
  645. {synapse-2.222.0 → synapse-2.224.0}/synapse/vendor/substrateinterface/utils/ss58.py +0 -0
  646. {synapse-2.222.0 → synapse-2.224.0}/synapse/vendor/utils.py +0 -0
  647. {synapse-2.222.0 → synapse-2.224.0}/synapse/vendor/xrpl/LICENSE +0 -0
  648. {synapse-2.222.0 → synapse-2.224.0}/synapse/vendor/xrpl/__init__.py +0 -0
  649. {synapse-2.222.0 → synapse-2.224.0}/synapse/vendor/xrpl/constants.py +0 -0
  650. {synapse-2.222.0 → synapse-2.224.0}/synapse/vendor/xrpl/core/__init__.py +0 -0
  651. {synapse-2.222.0 → synapse-2.224.0}/synapse/vendor/xrpl/core/addresscodec/__init__.py +0 -0
  652. {synapse-2.222.0 → synapse-2.224.0}/synapse/vendor/xrpl/core/addresscodec/codec.py +0 -0
  653. {synapse-2.222.0 → synapse-2.224.0}/synapse/vendor/xrpl/core/addresscodec/exceptions.py +0 -0
  654. {synapse-2.222.0 → synapse-2.224.0}/synapse/vendor/xrpl/core/addresscodec/main.py +0 -0
  655. {synapse-2.222.0 → synapse-2.224.0}/synapse/vendor/xrpl/core/addresscodec/utils.py +0 -0
  656. {synapse-2.222.0 → synapse-2.224.0}/synapse/vendor/xrpl/tests/__init__.py +0 -0
  657. {synapse-2.222.0 → synapse-2.224.0}/synapse/vendor/xrpl/tests/test_codec.py +0 -0
  658. {synapse-2.222.0 → synapse-2.224.0}/synapse/vendor/xrpl/tests/test_main.py +0 -0
  659. {synapse-2.222.0 → synapse-2.224.0}/synapse/vendor/xrpl/tests/test_main_test_cases.py +0 -0
  660. {synapse-2.222.0 → synapse-2.224.0}/synapse.egg-info/dependency_links.txt +0 -0
  661. {synapse-2.222.0 → synapse-2.224.0}/synapse.egg-info/requires.txt +0 -0
  662. {synapse-2.222.0 → synapse-2.224.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.222.0
3
+ Version: 2.224.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.222.0'
7
+ version = '2.224.0'
8
8
  authors = [
9
9
  { name = 'The Vertex Project LLC', email = 'root@vertex.link'},
10
10
  ]
@@ -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)):
@@ -61,6 +61,7 @@ import synapse.lib.stormlib.gen as s_stormlib_gen # NOQA
61
61
  import synapse.lib.stormlib.gis as s_stormlib_gis # NOQA
62
62
  import synapse.lib.stormlib.hex as s_stormlib_hex # NOQA
63
63
  import synapse.lib.stormlib.log as s_stormlib_log # NOQA
64
+ import synapse.lib.stormlib.pkg as s_stormlib_pkg # NOQA
64
65
  import synapse.lib.stormlib.xml as s_stormlib_xml # NOQA
65
66
  import synapse.lib.stormlib.auth as s_stormlib_auth # NOQA
66
67
  import synapse.lib.stormlib.cell as s_stormlib_cell # NOQA
@@ -72,6 +73,7 @@ import synapse.lib.stormlib.mime as s_stormlib_mime # NOQA
72
73
  import synapse.lib.stormlib.pack as s_stormlib_pack # NOQA
73
74
  import synapse.lib.stormlib.smtp as s_stormlib_smtp # NOQA
74
75
  import synapse.lib.stormlib.stix as s_stormlib_stix # NOQA
76
+ import synapse.lib.stormlib.task as s_stormlib_task # NOQA
75
77
  import synapse.lib.stormlib.yaml as s_stormlib_yaml # NOQA
76
78
  import synapse.lib.stormlib.basex as s_stormlib_basex # NOQA
77
79
  import synapse.lib.stormlib.cache as s_stormlib_cache # NOQA
@@ -462,6 +464,15 @@ class CoreApi(s_cell.CellApi):
462
464
  '''
463
465
  return await self.cell.getTypeNorm(name, valu, typeopts=typeopts)
464
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
+
465
476
  async def addForm(self, formname, basetype, typeopts, typeinfo):
466
477
  '''
467
478
  Add an extended form to the data model.
@@ -533,6 +544,15 @@ class CoreApi(s_cell.CellApi):
533
544
  self.user.confirm(('model', 'tagprop', 'del'))
534
545
  return await self.cell.delTagProp(name)
535
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
+
536
556
  async def addStormPkg(self, pkgdef, verify=False):
537
557
  self.user.confirm(('pkg', 'add'))
538
558
  return await self.cell.addStormPkg(pkgdef, verify=verify)
@@ -1438,6 +1458,11 @@ class Cortex(s_oauth.OAuthMixin, s_cell.Cell): # type: ignore
1438
1458
  {'perm': ('model', 'univ', 'del'), 'gate': 'cortex',
1439
1459
  'desc': 'Controls access to deleting extended model universal properties and values.'},
1440
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
+
1441
1466
  {'perm': ('node',), 'gate': 'layer',
1442
1467
  'desc': 'Controls all node edits in a layer.'},
1443
1468
  {'perm': ('node', 'add'), 'gate': 'layer',
@@ -2262,6 +2287,7 @@ class Cortex(s_oauth.OAuthMixin, s_cell.Cell): # type: ignore
2262
2287
  self.onfini(slab.fini)
2263
2288
 
2264
2289
  self.multiqueue = await slab.getMultiQueue('cortex:queue', nexsroot=self.nexsroot)
2290
+ self.stormpkgqueue = await slab.getMultiQueue('storm:pkg:queue', nexsroot=self.nexsroot)
2265
2291
 
2266
2292
  async def _initStormGraphs(self):
2267
2293
  path = os.path.join(self.dirn, 'slabs', 'graphs.lmdb')
@@ -2565,6 +2591,7 @@ class Cortex(s_oauth.OAuthMixin, s_cell.Cell): # type: ignore
2565
2591
  ctor.pkgname = cdef.get('pkgname')
2566
2592
  ctor.svciden = cdef.get('cmdconf', {}).get('svciden', '')
2567
2593
  ctor.forms = cdef.get('forms', {})
2594
+ ctor.deprecated = cdef.get('deprecated', {})
2568
2595
 
2569
2596
  def getStorNode(form):
2570
2597
  ndef = (form.name, form.type.norm(cdef.get('name'))[0])
@@ -2593,6 +2620,18 @@ class Cortex(s_oauth.OAuthMixin, s_cell.Cell): # type: ignore
2593
2620
  if ctor.pkgname:
2594
2621
  props['package'] = ctor.pkgname
2595
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
+
2596
2635
  pnorms = {}
2597
2636
  for prop, valu in props.items():
2598
2637
  formprop = form.props.get(prop)
@@ -3062,8 +3101,8 @@ class Cortex(s_oauth.OAuthMixin, s_cell.Cell): # type: ignore
3062
3101
  if not ok:
3063
3102
  break
3064
3103
 
3065
- curvers = vers
3066
- await self.setStormPkgVar(name, varname, vers)
3104
+ curvers = max(vers, await self.getStormPkgVar(name, varname, default=-1))
3105
+ await self.setStormPkgVar(name, varname, curvers)
3067
3106
  logger.info(f'{name} finished init vers={vers}: {vname}', extra=logextra)
3068
3107
 
3069
3108
  if onload is not None:
@@ -3348,6 +3387,91 @@ class Cortex(s_oauth.OAuthMixin, s_cell.Cell): # type: ignore
3348
3387
  for item in pkgvars.items():
3349
3388
  yield item
3350
3389
 
3390
+ async def addStormPkgQueue(self, pkgname, name):
3391
+ guid = s_common.guid((pkgname, name))
3392
+ if self.stormpkgqueue.exists(guid):
3393
+ mesg = f'Queue named {name} already exists for package {pkgname}!'
3394
+ raise s_exc.DupName(mesg=mesg)
3395
+
3396
+ info = {
3397
+ 'iden': guid,
3398
+ 'name': name,
3399
+ 'pkgname': pkgname,
3400
+ 'created': s_common.now()
3401
+ }
3402
+
3403
+ await self._push('storm:pkg:queue:add', pkgname, name, info)
3404
+
3405
+ @s_nexus.Pusher.onPush('storm:pkg:queue:add')
3406
+ async def _addStormPkgQueue(self, pkgname, name, info):
3407
+ guid = s_common.guid((pkgname, name))
3408
+ if self.stormpkgqueue.exists(guid):
3409
+ return
3410
+ await self.stormpkgqueue.add(guid, info)
3411
+
3412
+ async def listStormPkgQueues(self, pkgname=None):
3413
+ for pkginfo in self.stormpkgqueue.list():
3414
+ if pkgname is None or pkginfo['meta'].get('pkgname') == pkgname:
3415
+ yield pkginfo
3416
+
3417
+ async def getStormPkgQueue(self, pkgname, name):
3418
+ guid = s_common.guid((pkgname, name))
3419
+ return self.stormpkgqueue.status(guid)
3420
+
3421
+ async def delStormPkgQueue(self, pkgname, name):
3422
+ guid = s_common.guid((pkgname, name))
3423
+ if not self.stormpkgqueue.exists(guid):
3424
+ mesg = f'No queue named {name} exists for package {pkgname}!'
3425
+ raise s_exc.NoSuchName(mesg=mesg)
3426
+
3427
+ await self._push('storm:pkg:queue:del', pkgname, name)
3428
+
3429
+ @s_nexus.Pusher.onPush('storm:pkg:queue:del')
3430
+ async def _delStormPkgQueue(self, pkgname, name):
3431
+ guid = s_common.guid((pkgname, name))
3432
+ if not self.stormpkgqueue.exists(guid):
3433
+ return
3434
+ await self.stormpkgqueue.rem(guid)
3435
+
3436
+ async def stormPkgQueueGet(self, pkgname, name, offs=0, wait=False):
3437
+ guid = s_common.guid((pkgname, name))
3438
+ async for item in self.stormpkgqueue.gets(guid, offs, cull=False, wait=wait):
3439
+ return item
3440
+
3441
+ async def stormPkgQueueGets(self, pkgname, name, offs=0, wait=False, size=None):
3442
+ count = 0
3443
+ guid = s_common.guid((pkgname, name))
3444
+ async for item in self.stormpkgqueue.gets(guid, offs, cull=False, wait=wait):
3445
+
3446
+ yield item
3447
+
3448
+ count += 1
3449
+ if size is not None and count >= size:
3450
+ return
3451
+
3452
+ async def stormPkgQueuePuts(self, pkgname, name, items):
3453
+ return await self._push('storm:pkg:queue:puts', pkgname, name, items)
3454
+
3455
+ @s_nexus.Pusher.onPush('storm:pkg:queue:puts', passitem=True)
3456
+ async def _stormPkgQueuePuts(self, pkgname, name, items, nexsitem):
3457
+ nexsoff, nexsmesg = nexsitem
3458
+ guid = s_common.guid((pkgname, name))
3459
+ return await self.stormpkgqueue.puts(guid, items, reqid=nexsoff)
3460
+
3461
+ @s_nexus.Pusher.onPushAuto('storm:pkg:queue:cull')
3462
+ async def stormPkgQueueCull(self, pkgname, name, offs):
3463
+ guid = s_common.guid((pkgname, name))
3464
+ await self.stormpkgqueue.cull(guid, offs)
3465
+
3466
+ @s_nexus.Pusher.onPushAuto('storm:pkg:queue:pop')
3467
+ async def stormPkgQueuePop(self, pkgname, name, offs):
3468
+ guid = s_common.guid((pkgname, name))
3469
+ return await self.stormpkgqueue.pop(guid, offs)
3470
+
3471
+ async def stormPkgQueueSize(self, pkgname, name):
3472
+ guid = s_common.guid((pkgname, name))
3473
+ return self.stormpkgqueue.size(guid)
3474
+
3351
3475
  async def _cortexHealth(self, health):
3352
3476
  health.update('cortex', 'nominal')
3353
3477
 
@@ -3574,6 +3698,7 @@ class Cortex(s_oauth.OAuthMixin, s_cell.Cell): # type: ignore
3574
3698
 
3575
3699
  return True
3576
3700
 
3701
+ @s_cell.from_leader
3577
3702
  async def addUnivProp(self, name, tdef, info):
3578
3703
  if not isinstance(tdef, tuple):
3579
3704
  mesg = 'Universal property type definitions should be a tuple.'
@@ -3588,6 +3713,8 @@ class Cortex(s_oauth.OAuthMixin, s_cell.Cell): # type: ignore
3588
3713
  mesg = 'ext univ name must start with "_"'
3589
3714
  raise s_exc.BadPropDef(name=name, mesg=mesg)
3590
3715
 
3716
+ self.model.getTypeClone(tdef)
3717
+
3591
3718
  base = '.' + name
3592
3719
  if base in self.model.props:
3593
3720
  raise s_exc.DupPropName(mesg=f'Cannot add duplicate universal property {base}',
@@ -3609,6 +3736,7 @@ class Cortex(s_oauth.OAuthMixin, s_cell.Cell): # type: ignore
3609
3736
  if univ:
3610
3737
  await self.feedBeholder('model:univ:add', univ.pack())
3611
3738
 
3739
+ @s_cell.from_leader
3612
3740
  async def addForm(self, formname, basetype, typeopts, typeinfo):
3613
3741
  if not isinstance(typeopts, dict):
3614
3742
  mesg = 'Form type options should be a dict.'
@@ -3630,6 +3758,8 @@ class Cortex(s_oauth.OAuthMixin, s_cell.Cell): # type: ignore
3630
3758
  mesg = f'Type already exists: {formname}'
3631
3759
  raise s_exc.DupTypeName.init(formname)
3632
3760
 
3761
+ self.model.getTypeClone((basetype, typeopts))
3762
+
3633
3763
  return await self._push('model:form:add', formname, basetype, typeopts, typeinfo)
3634
3764
 
3635
3765
  @s_nexus.Pusher.onPush('model:form:add')
@@ -3684,6 +3814,7 @@ class Cortex(s_oauth.OAuthMixin, s_cell.Cell): # type: ignore
3684
3814
  await self.fire('core:extmodel:change', form=formname, act='del', type='form')
3685
3815
  await self.feedBeholder('model:form:del', {'form': formname})
3686
3816
 
3817
+ @s_cell.from_leader
3687
3818
  async def addType(self, typename, basetype, typeopts, typeinfo):
3688
3819
  if not isinstance(typeopts, dict):
3689
3820
  mesg = 'Type options should be a dict.'
@@ -3752,6 +3883,7 @@ class Cortex(s_oauth.OAuthMixin, s_cell.Cell): # type: ignore
3752
3883
  await self.fire('core:extmodel:change', name=typename, act='del', type='type')
3753
3884
  await self.feedBeholder('model:type:del', {'type': typename})
3754
3885
 
3886
+ @s_cell.from_leader
3755
3887
  async def addFormProp(self, form, prop, tdef, info):
3756
3888
  if not isinstance(tdef, tuple):
3757
3889
  mesg = 'Form property type definitions should be a tuple.'
@@ -3770,6 +3902,9 @@ class Cortex(s_oauth.OAuthMixin, s_cell.Cell): # type: ignore
3770
3902
  if _form.prop(prop):
3771
3903
  raise s_exc.DupPropName(mesg=f'Cannot add duplicate form prop {form} {prop}',
3772
3904
  form=form, prop=prop)
3905
+
3906
+ self.model.getTypeClone(tdef)
3907
+
3773
3908
  await self._push('model:prop:add', form, prop, tdef, info)
3774
3909
 
3775
3910
  @s_nexus.Pusher.onPush('model:prop:add')
@@ -3951,6 +4086,7 @@ class Cortex(s_oauth.OAuthMixin, s_cell.Cell): # type: ignore
3951
4086
  await self.fire('core:extmodel:change', name=prop, act='del', type='univ')
3952
4087
  await self.feedBeholder('model:univ:del', {'prop': univname})
3953
4088
 
4089
+ @s_cell.from_leader
3954
4090
  async def addTagProp(self, name, tdef, info):
3955
4091
  if not isinstance(tdef, tuple):
3956
4092
  mesg = 'Tag property type definitions should be a tuple.'
@@ -3963,6 +4099,8 @@ class Cortex(s_oauth.OAuthMixin, s_cell.Cell): # type: ignore
3963
4099
  if self.exttagprops.get(name) is not None:
3964
4100
  raise s_exc.DupPropName(name=name)
3965
4101
 
4102
+ self.model.getTypeClone(tdef)
4103
+
3966
4104
  return await self._push('model:tagprop:add', name, tdef, info)
3967
4105
 
3968
4106
  @s_nexus.Pusher.onPush('model:tagprop:add')
@@ -4000,6 +4138,7 @@ class Cortex(s_oauth.OAuthMixin, s_cell.Cell): # type: ignore
4000
4138
  await self.fire('core:tagprop:change', name=name, act='del')
4001
4139
  await self.feedBeholder('model:tagprop:del', {'tagprop': name})
4002
4140
 
4141
+ @s_cell.from_leader
4003
4142
  async def addEdge(self, edge, edgeinfo):
4004
4143
  if not isinstance(edgeinfo, dict):
4005
4144
  mesg = 'Edge info should be a dict.'
@@ -4568,35 +4707,24 @@ class Cortex(s_oauth.OAuthMixin, s_cell.Cell): # type: ignore
4568
4707
  self.addStormCmd(s_stormlib_cortex.StormPoolGetCmd)
4569
4708
  self.addStormCmd(s_stormlib_cortex.StormPoolSetCmd)
4570
4709
 
4571
- for cdef in s_stormsvc.stormcmds:
4572
- await self._trySetStormCmd(cdef.get('name'), cdef)
4573
-
4574
- for cdef in s_storm.stormcmds:
4575
- await self._trySetStormCmd(cdef.get('name'), cdef)
4576
-
4577
- for cdef in s_stormlib_aha.stormcmds:
4578
- await self._trySetStormCmd(cdef.get('name'), cdef)
4579
-
4580
- for cdef in s_stormlib_gen.stormcmds:
4581
- await self._trySetStormCmd(cdef.get('name'), cdef)
4582
-
4583
- for cdef in s_stormlib_auth.stormcmds:
4584
- await self._trySetStormCmd(cdef.get('name'), cdef)
4585
-
4586
- for cdef in s_stormlib_macro.stormcmds:
4587
- await self._trySetStormCmd(cdef.get('name'), cdef)
4588
-
4589
- for cdef in s_stormlib_model.stormcmds:
4590
- await self._trySetStormCmd(cdef.get('name'), cdef)
4591
-
4592
- for cdef in s_stormlib_cortex.stormcmds:
4593
- await self._trySetStormCmd(cdef.get('name'), cdef)
4594
-
4595
- for cdef in s_stormlib_vault.stormcmds:
4596
- await self._trySetStormCmd(cdef.get('name'), cdef)
4597
-
4598
- for cdef in s_stormlib_index.stormcmds:
4599
- await self._trySetStormCmd(cdef.get('name'), cdef)
4710
+ cmdmods = [
4711
+ s_storm,
4712
+ s_stormsvc,
4713
+ s_stormlib_aha,
4714
+ s_stormlib_auth,
4715
+ s_stormlib_cortex,
4716
+ s_stormlib_gen,
4717
+ s_stormlib_index,
4718
+ s_stormlib_macro,
4719
+ s_stormlib_model,
4720
+ s_stormlib_pkg,
4721
+ s_stormlib_task,
4722
+ s_stormlib_vault,
4723
+ ]
4724
+
4725
+ for cmod in cmdmods:
4726
+ for cdef in cmod.stormcmds:
4727
+ await self._trySetStormCmd(cdef.get('name'), cdef)
4600
4728
 
4601
4729
  async def _initPureStormCmds(self):
4602
4730
  oldcmds = []
@@ -39,7 +39,7 @@ class CryoTank(s_base.Base):
39
39
  A CryoTank implements a stream of structured data.
40
40
  '''
41
41
  async def __anit__(self, dirn, iden, conf=None):
42
-
42
+ s_common.deprecated('synapse.cryotank.CryoTank', curv='2.223.0')
43
43
  await s_base.Base.__anit__(self)
44
44
 
45
45
  if conf is None:
@@ -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
 
@@ -4527,9 +4527,6 @@ class N1Walk(Oper):
4527
4527
 
4528
4528
  def buildfilter(self, runt, destforms, cmpr):
4529
4529
 
4530
- if not isinstance(destforms, (tuple, list)):
4531
- destforms = (destforms,)
4532
-
4533
4530
  if '*' in destforms:
4534
4531
  if cmpr is not None:
4535
4532
  mesg = 'Wild card walk operations do not support comparison.'
@@ -4614,6 +4611,11 @@ class N1Walk(Oper):
4614
4611
  dest = await self.kids[1].compute(runt, path)
4615
4612
  dest = await s_stormtypes.toprim(dest)
4616
4613
 
4614
+ if isinstance(dest, (tuple, list)):
4615
+ dest = [await s_stormtypes.tostr(form) for form in dest]
4616
+ else:
4617
+ dest = (await s_stormtypes.tostr(dest),)
4618
+
4617
4619
  destfilt = self.buildfilter(runt, dest, cmpr)
4618
4620
 
4619
4621
  for verb in verbs:
@@ -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
 
@@ -572,7 +572,7 @@ class NexsRoot(s_base.Base):
572
572
 
573
573
  offs, args = item
574
574
  if offs != self.nexslog.index():
575
- logger.error('Local Nexus offset is out of sync from remote cell! Aborting mirror sync')
575
+ logger.error(f'Local Nexus offset is out of sync from remote cell! Aborting mirror sync. Local offs={self.nexslog.index()}, Remote {offs=}')
576
576
  await self.fini()
577
577
  return
578
578
 
@@ -954,6 +954,7 @@ _reqValidPkgdefSchema = {
954
954
  'items': {'type': 'array',
955
955
  'items': {'type': 'string'}},
956
956
  },
957
+ 'deprecated': {'$ref': '#/definitions/deprecatedItem'},
957
958
  },
958
959
  'additionalProperties': True,
959
960
  'required': ['name', 'storm']
@@ -980,6 +981,7 @@ _reqValidPkgdefSchema = {
980
981
  'type': 'string',
981
982
  'enum': s_msgpack.deepcopy(datamodel_basetypes),
982
983
  },
984
+ 'deprecated': {'$ref': '#/definitions/deprecatedItem'},
983
985
  },
984
986
  }
985
987
  ],
@@ -1305,6 +1305,11 @@ class Snap(s_base.Base):
1305
1305
  mesg = 'The snapshot is in read-only mode.'
1306
1306
  raise s_exc.IsReadOnly(mesg=mesg)
1307
1307
 
1308
+ useriden = meta.get('user')
1309
+ if useriden is None:
1310
+ mesg = 'meta is missing user key. Cannot process edits.'
1311
+ raise s_exc.BadArg(mesg=mesg, name='user')
1312
+
1308
1313
  wlyr = self.wlyr
1309
1314
  nodes = []
1310
1315
  callbacks = []
@@ -1344,12 +1349,12 @@ class Snap(s_base.Base):
1344
1349
  if etyp == s_layer.EDIT_NODE_ADD:
1345
1350
  node.bylayer['ndef'] = wlyr.iden
1346
1351
  callbacks.append((node.form.wasAdded, (node,)))
1347
- callbacks.append((self.view.runNodeAdd, (node,)))
1352
+ callbacks.append((self.view.runNodeAdd, (node, useriden)))
1348
1353
  continue
1349
1354
 
1350
1355
  if etyp == s_layer.EDIT_NODE_DEL:
1351
1356
  callbacks.append((node.form.wasDeleted, (node,)))
1352
- callbacks.append((self.view.runNodeDel, (node,)))
1357
+ callbacks.append((self.view.runNodeDel, (node, useriden)))
1353
1358
  continue
1354
1359
 
1355
1360
  if etyp == s_layer.EDIT_PROP_SET:
@@ -1365,7 +1370,7 @@ class Snap(s_base.Base):
1365
1370
  node.bylayer['props'][name] = wlyr.iden
1366
1371
 
1367
1372
  callbacks.append((prop.wasSet, (node, oldv)))
1368
- callbacks.append((self.view.runPropSet, (node, prop, oldv)))
1373
+ callbacks.append((self.view.runPropSet, (node, prop, oldv, useriden)))
1369
1374
  continue
1370
1375
 
1371
1376
  if etyp == s_layer.EDIT_PROP_DEL:
@@ -1381,7 +1386,7 @@ class Snap(s_base.Base):
1381
1386
  node.bylayer['props'].pop(name, None)
1382
1387
 
1383
1388
  callbacks.append((prop.wasDel, (node, oldv)))
1384
- callbacks.append((self.view.runPropSet, (node, prop, oldv)))
1389
+ callbacks.append((self.view.runPropSet, (node, prop, oldv, useriden)))
1385
1390
  continue
1386
1391
 
1387
1392
  if etyp == s_layer.EDIT_TAG_SET:
@@ -1391,7 +1396,7 @@ class Snap(s_base.Base):
1391
1396
  node.tags[tag] = valu
1392
1397
  node.bylayer['tags'][tag] = wlyr.iden
1393
1398
 
1394
- callbacks.append((self.view.runTagAdd, (node, tag, valu)))
1399
+ callbacks.append((self.view.runTagAdd, (node, tag, valu, useriden,)))
1395
1400
  continue
1396
1401
 
1397
1402
  if etyp == s_layer.EDIT_TAG_DEL:
@@ -1401,7 +1406,7 @@ class Snap(s_base.Base):
1401
1406
  node.tags.pop(tag, None)
1402
1407
  node.bylayer['tags'].pop(tag, None)
1403
1408
 
1404
- callbacks.append((self.view.runTagDel, (node, tag, oldv)))
1409
+ callbacks.append((self.view.runTagDel, (node, tag, oldv, useriden)))
1405
1410
  continue
1406
1411
 
1407
1412
  if etyp == s_layer.EDIT_TAGPROP_SET:
@@ -1436,14 +1441,15 @@ class Snap(s_base.Base):
1436
1441
  if etyp == s_layer.EDIT_EDGE_ADD:
1437
1442
  verb, n2iden = parms
1438
1443
  n2 = await self.getNodeByBuid(s_common.uhex(n2iden))
1439
- callbacks.append((self.view.runEdgeAdd, (node, verb, n2)))
1444
+ callbacks.append((self.view.runEdgeAdd, (node, verb, n2, useriden)))
1440
1445
 
1441
1446
  if etyp == s_layer.EDIT_EDGE_DEL:
1442
1447
  verb, n2iden = parms
1443
1448
  n2 = await self.getNodeByBuid(s_common.uhex(n2iden))
1444
- callbacks.append((self.view.runEdgeDel, (node, verb, n2)))
1449
+ callbacks.append((self.view.runEdgeDel, (node, verb, n2, useriden)))
1445
1450
 
1446
- [await func(*args) for (func, args) in callbacks]
1451
+ for func, args in callbacks:
1452
+ await func(*args)
1447
1453
 
1448
1454
  if actualedits:
1449
1455
  await self.fire('node:edits', edits=actualedits)