synapse 3.5.0__tar.gz → 3.6.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.
Files changed (712) hide show
  1. {synapse-3.5.0/synapse.egg-info → synapse-3.6.0}/PKG-INFO +1 -1
  2. {synapse-3.5.0 → synapse-3.6.0}/pyproject.toml +1 -1
  3. {synapse-3.5.0 → synapse-3.6.0}/synapse/axon.py +3 -0
  4. {synapse-3.5.0 → synapse-3.6.0}/synapse/data/skills/storm/SKILL.md +2 -1
  5. {synapse-3.5.0 → synapse-3.6.0}/synapse/lib/autodoc.py +25 -12
  6. {synapse-3.5.0 → synapse-3.6.0}/synapse/lib/cell.py +5 -9
  7. {synapse-3.5.0 → synapse-3.6.0}/synapse/lib/mddocs.py +9 -3
  8. {synapse-3.5.0 → synapse-3.6.0}/synapse/lib/schemas.py +77 -25
  9. synapse-3.6.0/synapse/lib/stormlint.py +914 -0
  10. {synapse-3.5.0 → synapse-3.6.0}/synapse/lib/types.py +1 -1
  11. {synapse-3.5.0 → synapse-3.6.0}/synapse/lib/version.py +2 -2
  12. {synapse-3.5.0 → synapse-3.6.0}/synapse/models/base.py +11 -0
  13. {synapse-3.5.0 → synapse-3.6.0}/synapse/models/economic.py +15 -0
  14. {synapse-3.5.0 → synapse-3.6.0}/synapse/models/entity.py +11 -0
  15. {synapse-3.5.0 → synapse-3.6.0}/synapse/models/inet.py +1 -1
  16. synapse-3.6.0/synapse/tests/files/stormcov/embed/embed.json +14 -0
  17. synapse-3.6.0/synapse/tests/files/stormcov/embed/embed.ts +13 -0
  18. {synapse-3.5.0 → synapse-3.6.0}/synapse/tests/files/stormcov/runtsafety.storm +1 -1
  19. {synapse-3.5.0 → synapse-3.6.0}/synapse/tests/files/stormcov/spin.storm +1 -1
  20. {synapse-3.5.0 → synapse-3.6.0}/synapse/tests/test_axon.py +13 -0
  21. {synapse-3.5.0 → synapse-3.6.0}/synapse/tests/test_lib_autodoc.py +104 -0
  22. {synapse-3.5.0 → synapse-3.6.0}/synapse/tests/test_lib_cell.py +12 -0
  23. {synapse-3.5.0 → synapse-3.6.0}/synapse/tests/test_lib_mddocs.py +5 -0
  24. {synapse-3.5.0 → synapse-3.6.0}/synapse/tests/test_lib_stormlib_markdown.py +1 -1
  25. synapse-3.6.0/synapse/tests/test_lib_stormlint.py +549 -0
  26. {synapse-3.5.0 → synapse-3.6.0}/synapse/tests/test_lib_types.py +50 -0
  27. {synapse-3.5.0 → synapse-3.6.0}/synapse/tests/test_model_base.py +5 -0
  28. {synapse-3.5.0 → synapse-3.6.0}/synapse/tests/test_model_economic.py +26 -0
  29. {synapse-3.5.0 → synapse-3.6.0}/synapse/tests/test_model_entity.py +36 -0
  30. {synapse-3.5.0 → synapse-3.6.0}/synapse/tests/test_model_inet.py +6 -1
  31. {synapse-3.5.0 → synapse-3.6.0}/synapse/tests/test_tools_service_demote.py +57 -0
  32. {synapse-3.5.0 → synapse-3.6.0}/synapse/tests/test_tools_service_shutdown.py +19 -4
  33. synapse-3.6.0/synapse/tests/test_tools_storm_lint.py +300 -0
  34. {synapse-3.5.0 → synapse-3.6.0}/synapse/tests/test_utils_stormcov.py +188 -0
  35. synapse-3.6.0/synapse/tools/storm/lint.py +238 -0
  36. {synapse-3.5.0 → synapse-3.6.0}/synapse/utils/stormcov.py +234 -19
  37. {synapse-3.5.0 → synapse-3.6.0/synapse.egg-info}/PKG-INFO +1 -1
  38. {synapse-3.5.0 → synapse-3.6.0}/synapse.egg-info/SOURCES.txt +6 -0
  39. {synapse-3.5.0 → synapse-3.6.0}/LICENSE +0 -0
  40. {synapse-3.5.0 → synapse-3.6.0}/README.md +0 -0
  41. {synapse-3.5.0 → synapse-3.6.0}/setup.cfg +0 -0
  42. {synapse-3.5.0 → synapse-3.6.0}/synapse/__init__.py +0 -0
  43. {synapse-3.5.0 → synapse-3.6.0}/synapse/assets/__init__.py +0 -0
  44. {synapse-3.5.0 → synapse-3.6.0}/synapse/cells.py +0 -0
  45. {synapse-3.5.0 → synapse-3.6.0}/synapse/common.py +0 -0
  46. {synapse-3.5.0 → synapse-3.6.0}/synapse/cortex.py +0 -0
  47. {synapse-3.5.0 → synapse-3.6.0}/synapse/daemon.py +0 -0
  48. {synapse-3.5.0 → synapse-3.6.0}/synapse/data/__init__.py +0 -0
  49. {synapse-3.5.0 → synapse-3.6.0}/synapse/data/attack-flow/LICENSE.txt +0 -0
  50. {synapse-3.5.0 → synapse-3.6.0}/synapse/data/attack-flow/README.md +0 -0
  51. {synapse-3.5.0 → synapse-3.6.0}/synapse/data/attack-flow/attack-flow-schema-2.0.0.json +0 -0
  52. {synapse-3.5.0 → synapse-3.6.0}/synapse/data/certs/cas/The Vertex Project Intermediate CA (2026).crt +0 -0
  53. {synapse-3.5.0 → synapse-3.6.0}/synapse/data/certs/cas/The Vertex Project ROOT CA (2026).crt +0 -0
  54. {synapse-3.5.0 → synapse-3.6.0}/synapse/data/certs/crls/The Vertex Project Intermediate CA (2026).crl +0 -0
  55. {synapse-3.5.0 → synapse-3.6.0}/synapse/data/certs/crls/The Vertex Project ROOT CA (2026).crl +0 -0
  56. {synapse-3.5.0 → synapse-3.6.0}/synapse/data/iana.tlds.mpk +0 -0
  57. {synapse-3.5.0 → synapse-3.6.0}/synapse/data/iana.uris.mpk +0 -0
  58. {synapse-3.5.0 → synapse-3.6.0}/synapse/data/jsonschemas/README.md +0 -0
  59. {synapse-3.5.0 → synapse-3.6.0}/synapse/data/jsonschemas/json-schema.org/draft-07/schema +0 -0
  60. {synapse-3.5.0 → synapse-3.6.0}/synapse/data/jsonschemas/raw.githubusercontent.com/oasis-open/LICENSE.txt +0 -0
  61. {synapse-3.5.0 → synapse-3.6.0}/synapse/data/jsonschemas/raw.githubusercontent.com/oasis-open/cti-stix2-json-schemas/stix2.1/schemas/common/binary.json +0 -0
  62. {synapse-3.5.0 → synapse-3.6.0}/synapse/data/jsonschemas/raw.githubusercontent.com/oasis-open/cti-stix2-json-schemas/stix2.1/schemas/common/bundle.json +0 -0
  63. {synapse-3.5.0 → synapse-3.6.0}/synapse/data/jsonschemas/raw.githubusercontent.com/oasis-open/cti-stix2-json-schemas/stix2.1/schemas/common/core.json +0 -0
  64. {synapse-3.5.0 → synapse-3.6.0}/synapse/data/jsonschemas/raw.githubusercontent.com/oasis-open/cti-stix2-json-schemas/stix2.1/schemas/common/cyber-observable-core.json +0 -0
  65. {synapse-3.5.0 → synapse-3.6.0}/synapse/data/jsonschemas/raw.githubusercontent.com/oasis-open/cti-stix2-json-schemas/stix2.1/schemas/common/dictionary.json +0 -0
  66. {synapse-3.5.0 → synapse-3.6.0}/synapse/data/jsonschemas/raw.githubusercontent.com/oasis-open/cti-stix2-json-schemas/stix2.1/schemas/common/extension-definition.json +0 -0
  67. {synapse-3.5.0 → synapse-3.6.0}/synapse/data/jsonschemas/raw.githubusercontent.com/oasis-open/cti-stix2-json-schemas/stix2.1/schemas/common/extension.json +0 -0
  68. {synapse-3.5.0 → synapse-3.6.0}/synapse/data/jsonschemas/raw.githubusercontent.com/oasis-open/cti-stix2-json-schemas/stix2.1/schemas/common/external-reference.json +0 -0
  69. {synapse-3.5.0 → synapse-3.6.0}/synapse/data/jsonschemas/raw.githubusercontent.com/oasis-open/cti-stix2-json-schemas/stix2.1/schemas/common/granular-marking.json +0 -0
  70. {synapse-3.5.0 → synapse-3.6.0}/synapse/data/jsonschemas/raw.githubusercontent.com/oasis-open/cti-stix2-json-schemas/stix2.1/schemas/common/hashes-type.json +0 -0
  71. {synapse-3.5.0 → synapse-3.6.0}/synapse/data/jsonschemas/raw.githubusercontent.com/oasis-open/cti-stix2-json-schemas/stix2.1/schemas/common/hex.json +0 -0
  72. {synapse-3.5.0 → synapse-3.6.0}/synapse/data/jsonschemas/raw.githubusercontent.com/oasis-open/cti-stix2-json-schemas/stix2.1/schemas/common/identifier.json +0 -0
  73. {synapse-3.5.0 → synapse-3.6.0}/synapse/data/jsonschemas/raw.githubusercontent.com/oasis-open/cti-stix2-json-schemas/stix2.1/schemas/common/kill-chain-phase.json +0 -0
  74. {synapse-3.5.0 → synapse-3.6.0}/synapse/data/jsonschemas/raw.githubusercontent.com/oasis-open/cti-stix2-json-schemas/stix2.1/schemas/common/language-content.json +0 -0
  75. {synapse-3.5.0 → synapse-3.6.0}/synapse/data/jsonschemas/raw.githubusercontent.com/oasis-open/cti-stix2-json-schemas/stix2.1/schemas/common/marking-definition.json +0 -0
  76. {synapse-3.5.0 → synapse-3.6.0}/synapse/data/jsonschemas/raw.githubusercontent.com/oasis-open/cti-stix2-json-schemas/stix2.1/schemas/common/properties.json +0 -0
  77. {synapse-3.5.0 → synapse-3.6.0}/synapse/data/jsonschemas/raw.githubusercontent.com/oasis-open/cti-stix2-json-schemas/stix2.1/schemas/common/timestamp.json +0 -0
  78. {synapse-3.5.0 → synapse-3.6.0}/synapse/data/jsonschemas/raw.githubusercontent.com/oasis-open/cti-stix2-json-schemas/stix2.1/schemas/common/url-regex.json +0 -0
  79. {synapse-3.5.0 → synapse-3.6.0}/synapse/data/jsonschemas/raw.githubusercontent.com/oasis-open/cti-stix2-json-schemas/stix2.1/schemas/observables/artifact.json +0 -0
  80. {synapse-3.5.0 → synapse-3.6.0}/synapse/data/jsonschemas/raw.githubusercontent.com/oasis-open/cti-stix2-json-schemas/stix2.1/schemas/observables/autonomous-system.json +0 -0
  81. {synapse-3.5.0 → synapse-3.6.0}/synapse/data/jsonschemas/raw.githubusercontent.com/oasis-open/cti-stix2-json-schemas/stix2.1/schemas/observables/directory.json +0 -0
  82. {synapse-3.5.0 → synapse-3.6.0}/synapse/data/jsonschemas/raw.githubusercontent.com/oasis-open/cti-stix2-json-schemas/stix2.1/schemas/observables/domain-name.json +0 -0
  83. {synapse-3.5.0 → synapse-3.6.0}/synapse/data/jsonschemas/raw.githubusercontent.com/oasis-open/cti-stix2-json-schemas/stix2.1/schemas/observables/email-addr.json +0 -0
  84. {synapse-3.5.0 → synapse-3.6.0}/synapse/data/jsonschemas/raw.githubusercontent.com/oasis-open/cti-stix2-json-schemas/stix2.1/schemas/observables/email-message.json +0 -0
  85. {synapse-3.5.0 → synapse-3.6.0}/synapse/data/jsonschemas/raw.githubusercontent.com/oasis-open/cti-stix2-json-schemas/stix2.1/schemas/observables/file.json +0 -0
  86. {synapse-3.5.0 → synapse-3.6.0}/synapse/data/jsonschemas/raw.githubusercontent.com/oasis-open/cti-stix2-json-schemas/stix2.1/schemas/observables/ipv4-addr.json +0 -0
  87. {synapse-3.5.0 → synapse-3.6.0}/synapse/data/jsonschemas/raw.githubusercontent.com/oasis-open/cti-stix2-json-schemas/stix2.1/schemas/observables/ipv6-addr.json +0 -0
  88. {synapse-3.5.0 → synapse-3.6.0}/synapse/data/jsonschemas/raw.githubusercontent.com/oasis-open/cti-stix2-json-schemas/stix2.1/schemas/observables/mac-addr.json +0 -0
  89. {synapse-3.5.0 → synapse-3.6.0}/synapse/data/jsonschemas/raw.githubusercontent.com/oasis-open/cti-stix2-json-schemas/stix2.1/schemas/observables/mutex.json +0 -0
  90. {synapse-3.5.0 → synapse-3.6.0}/synapse/data/jsonschemas/raw.githubusercontent.com/oasis-open/cti-stix2-json-schemas/stix2.1/schemas/observables/network-traffic.json +0 -0
  91. {synapse-3.5.0 → synapse-3.6.0}/synapse/data/jsonschemas/raw.githubusercontent.com/oasis-open/cti-stix2-json-schemas/stix2.1/schemas/observables/process.json +0 -0
  92. {synapse-3.5.0 → synapse-3.6.0}/synapse/data/jsonschemas/raw.githubusercontent.com/oasis-open/cti-stix2-json-schemas/stix2.1/schemas/observables/software.json +0 -0
  93. {synapse-3.5.0 → synapse-3.6.0}/synapse/data/jsonschemas/raw.githubusercontent.com/oasis-open/cti-stix2-json-schemas/stix2.1/schemas/observables/url.json +0 -0
  94. {synapse-3.5.0 → synapse-3.6.0}/synapse/data/jsonschemas/raw.githubusercontent.com/oasis-open/cti-stix2-json-schemas/stix2.1/schemas/observables/user-account.json +0 -0
  95. {synapse-3.5.0 → synapse-3.6.0}/synapse/data/jsonschemas/raw.githubusercontent.com/oasis-open/cti-stix2-json-schemas/stix2.1/schemas/observables/windows-registry-key.json +0 -0
  96. {synapse-3.5.0 → synapse-3.6.0}/synapse/data/jsonschemas/raw.githubusercontent.com/oasis-open/cti-stix2-json-schemas/stix2.1/schemas/observables/x509-certificate.json +0 -0
  97. {synapse-3.5.0 → synapse-3.6.0}/synapse/data/jsonschemas/raw.githubusercontent.com/oasis-open/cti-stix2-json-schemas/stix2.1/schemas/sdos/attack-pattern.json +0 -0
  98. {synapse-3.5.0 → synapse-3.6.0}/synapse/data/jsonschemas/raw.githubusercontent.com/oasis-open/cti-stix2-json-schemas/stix2.1/schemas/sdos/campaign.json +0 -0
  99. {synapse-3.5.0 → synapse-3.6.0}/synapse/data/jsonschemas/raw.githubusercontent.com/oasis-open/cti-stix2-json-schemas/stix2.1/schemas/sdos/course-of-action.json +0 -0
  100. {synapse-3.5.0 → synapse-3.6.0}/synapse/data/jsonschemas/raw.githubusercontent.com/oasis-open/cti-stix2-json-schemas/stix2.1/schemas/sdos/grouping.json +0 -0
  101. {synapse-3.5.0 → synapse-3.6.0}/synapse/data/jsonschemas/raw.githubusercontent.com/oasis-open/cti-stix2-json-schemas/stix2.1/schemas/sdos/identity.json +0 -0
  102. {synapse-3.5.0 → synapse-3.6.0}/synapse/data/jsonschemas/raw.githubusercontent.com/oasis-open/cti-stix2-json-schemas/stix2.1/schemas/sdos/incident.json +0 -0
  103. {synapse-3.5.0 → synapse-3.6.0}/synapse/data/jsonschemas/raw.githubusercontent.com/oasis-open/cti-stix2-json-schemas/stix2.1/schemas/sdos/indicator.json +0 -0
  104. {synapse-3.5.0 → synapse-3.6.0}/synapse/data/jsonschemas/raw.githubusercontent.com/oasis-open/cti-stix2-json-schemas/stix2.1/schemas/sdos/infrastructure.json +0 -0
  105. {synapse-3.5.0 → synapse-3.6.0}/synapse/data/jsonschemas/raw.githubusercontent.com/oasis-open/cti-stix2-json-schemas/stix2.1/schemas/sdos/intrusion-set.json +0 -0
  106. {synapse-3.5.0 → synapse-3.6.0}/synapse/data/jsonschemas/raw.githubusercontent.com/oasis-open/cti-stix2-json-schemas/stix2.1/schemas/sdos/location.json +0 -0
  107. {synapse-3.5.0 → synapse-3.6.0}/synapse/data/jsonschemas/raw.githubusercontent.com/oasis-open/cti-stix2-json-schemas/stix2.1/schemas/sdos/malware-analysis.json +0 -0
  108. {synapse-3.5.0 → synapse-3.6.0}/synapse/data/jsonschemas/raw.githubusercontent.com/oasis-open/cti-stix2-json-schemas/stix2.1/schemas/sdos/malware.json +0 -0
  109. {synapse-3.5.0 → synapse-3.6.0}/synapse/data/jsonschemas/raw.githubusercontent.com/oasis-open/cti-stix2-json-schemas/stix2.1/schemas/sdos/note.json +0 -0
  110. {synapse-3.5.0 → synapse-3.6.0}/synapse/data/jsonschemas/raw.githubusercontent.com/oasis-open/cti-stix2-json-schemas/stix2.1/schemas/sdos/observed-data.json +0 -0
  111. {synapse-3.5.0 → synapse-3.6.0}/synapse/data/jsonschemas/raw.githubusercontent.com/oasis-open/cti-stix2-json-schemas/stix2.1/schemas/sdos/opinion.json +0 -0
  112. {synapse-3.5.0 → synapse-3.6.0}/synapse/data/jsonschemas/raw.githubusercontent.com/oasis-open/cti-stix2-json-schemas/stix2.1/schemas/sdos/report.json +0 -0
  113. {synapse-3.5.0 → synapse-3.6.0}/synapse/data/jsonschemas/raw.githubusercontent.com/oasis-open/cti-stix2-json-schemas/stix2.1/schemas/sdos/threat-actor.json +0 -0
  114. {synapse-3.5.0 → synapse-3.6.0}/synapse/data/jsonschemas/raw.githubusercontent.com/oasis-open/cti-stix2-json-schemas/stix2.1/schemas/sdos/tool.json +0 -0
  115. {synapse-3.5.0 → synapse-3.6.0}/synapse/data/jsonschemas/raw.githubusercontent.com/oasis-open/cti-stix2-json-schemas/stix2.1/schemas/sdos/vulnerability.json +0 -0
  116. {synapse-3.5.0 → synapse-3.6.0}/synapse/data/jsonschemas/raw.githubusercontent.com/oasis-open/cti-stix2-json-schemas/stix2.1/schemas/sros/relationship.json +0 -0
  117. {synapse-3.5.0 → synapse-3.6.0}/synapse/data/jsonschemas/raw.githubusercontent.com/oasis-open/cti-stix2-json-schemas/stix2.1/schemas/sros/sighting.json +0 -0
  118. {synapse-3.5.0 → synapse-3.6.0}/synapse/data/lark/__init__.py +0 -0
  119. {synapse-3.5.0 → synapse-3.6.0}/synapse/data/lark/imap.lark +0 -0
  120. {synapse-3.5.0 → synapse-3.6.0}/synapse/data/lark/storm.lark +0 -0
  121. {synapse-3.5.0 → synapse-3.6.0}/synapse/data/v2modelmap.yaml +0 -0
  122. {synapse-3.5.0 → synapse-3.6.0}/synapse/datamodel.py +0 -0
  123. {synapse-3.5.0 → synapse-3.6.0}/synapse/exc.py +0 -0
  124. {synapse-3.5.0 → synapse-3.6.0}/synapse/glob.py +0 -0
  125. {synapse-3.5.0 → synapse-3.6.0}/synapse/lib/__init__.py +0 -0
  126. {synapse-3.5.0 → synapse-3.6.0}/synapse/lib/_http.py +0 -0
  127. {synapse-3.5.0 → synapse-3.6.0}/synapse/lib/agenda.py +0 -0
  128. {synapse-3.5.0 → synapse-3.6.0}/synapse/lib/aha.py +0 -0
  129. {synapse-3.5.0 → synapse-3.6.0}/synapse/lib/ast.py +0 -0
  130. {synapse-3.5.0 → synapse-3.6.0}/synapse/lib/auth.py +0 -0
  131. {synapse-3.5.0 → synapse-3.6.0}/synapse/lib/base.py +0 -0
  132. {synapse-3.5.0 → synapse-3.6.0}/synapse/lib/boss.py +0 -0
  133. {synapse-3.5.0 → synapse-3.6.0}/synapse/lib/cache.py +0 -0
  134. {synapse-3.5.0 → synapse-3.6.0}/synapse/lib/certdir.py +0 -0
  135. {synapse-3.5.0 → synapse-3.6.0}/synapse/lib/chop.py +0 -0
  136. {synapse-3.5.0 → synapse-3.6.0}/synapse/lib/cli.py +0 -0
  137. {synapse-3.5.0 → synapse-3.6.0}/synapse/lib/cluster.py +0 -0
  138. {synapse-3.5.0 → synapse-3.6.0}/synapse/lib/cmd.py +0 -0
  139. {synapse-3.5.0 → synapse-3.6.0}/synapse/lib/config.py +0 -0
  140. {synapse-3.5.0 → synapse-3.6.0}/synapse/lib/const.py +0 -0
  141. {synapse-3.5.0 → synapse-3.6.0}/synapse/lib/coro.py +0 -0
  142. {synapse-3.5.0 → synapse-3.6.0}/synapse/lib/crypto/__init__.py +0 -0
  143. {synapse-3.5.0 → synapse-3.6.0}/synapse/lib/crypto/coin.py +0 -0
  144. {synapse-3.5.0 → synapse-3.6.0}/synapse/lib/crypto/ecc.py +0 -0
  145. {synapse-3.5.0 → synapse-3.6.0}/synapse/lib/crypto/jwk.py +0 -0
  146. {synapse-3.5.0 → synapse-3.6.0}/synapse/lib/crypto/passwd.py +0 -0
  147. {synapse-3.5.0 → synapse-3.6.0}/synapse/lib/crypto/rsa.py +0 -0
  148. {synapse-3.5.0 → synapse-3.6.0}/synapse/lib/crypto/tinfoil.py +0 -0
  149. {synapse-3.5.0 → synapse-3.6.0}/synapse/lib/crypto/utils.py +0 -0
  150. {synapse-3.5.0 → synapse-3.6.0}/synapse/lib/datfile.py +0 -0
  151. {synapse-3.5.0 → synapse-3.6.0}/synapse/lib/drive.py +0 -0
  152. {synapse-3.5.0 → synapse-3.6.0}/synapse/lib/dyndeps.py +0 -0
  153. {synapse-3.5.0 → synapse-3.6.0}/synapse/lib/editor.py +0 -0
  154. {synapse-3.5.0 → synapse-3.6.0}/synapse/lib/gis.py +0 -0
  155. {synapse-3.5.0 → synapse-3.6.0}/synapse/lib/grammar.py +0 -0
  156. {synapse-3.5.0 → synapse-3.6.0}/synapse/lib/hashitem.py +0 -0
  157. {synapse-3.5.0 → synapse-3.6.0}/synapse/lib/hashset.py +0 -0
  158. {synapse-3.5.0 → synapse-3.6.0}/synapse/lib/health.py +0 -0
  159. {synapse-3.5.0 → synapse-3.6.0}/synapse/lib/httpapi.py +0 -0
  160. {synapse-3.5.0 → synapse-3.6.0}/synapse/lib/httpclient.py +0 -0
  161. {synapse-3.5.0 → synapse-3.6.0}/synapse/lib/json.py +0 -0
  162. {synapse-3.5.0 → synapse-3.6.0}/synapse/lib/jsonstor.py +0 -0
  163. {synapse-3.5.0 → synapse-3.6.0}/synapse/lib/jsrpc.py +0 -0
  164. {synapse-3.5.0 → synapse-3.6.0}/synapse/lib/layer.py +0 -0
  165. {synapse-3.5.0 → synapse-3.6.0}/synapse/lib/link.py +0 -0
  166. {synapse-3.5.0 → synapse-3.6.0}/synapse/lib/lmdbslab.py +0 -0
  167. {synapse-3.5.0 → synapse-3.6.0}/synapse/lib/logging.py +0 -0
  168. {synapse-3.5.0 → synapse-3.6.0}/synapse/lib/mcp.py +0 -0
  169. {synapse-3.5.0 → synapse-3.6.0}/synapse/lib/mdparse.py +0 -0
  170. {synapse-3.5.0 → synapse-3.6.0}/synapse/lib/mdstorm.py +0 -0
  171. {synapse-3.5.0 → synapse-3.6.0}/synapse/lib/modelrev.py +0 -0
  172. {synapse-3.5.0 → synapse-3.6.0}/synapse/lib/msgpack.py +0 -0
  173. {synapse-3.5.0 → synapse-3.6.0}/synapse/lib/multislabseqn.py +0 -0
  174. {synapse-3.5.0 → synapse-3.6.0}/synapse/lib/nexus.py +0 -0
  175. {synapse-3.5.0 → synapse-3.6.0}/synapse/lib/node.py +0 -0
  176. {synapse-3.5.0 → synapse-3.6.0}/synapse/lib/nodefuse.py +0 -0
  177. {synapse-3.5.0 → synapse-3.6.0}/synapse/lib/oauth.py +0 -0
  178. {synapse-3.5.0 → synapse-3.6.0}/synapse/lib/output.py +0 -0
  179. {synapse-3.5.0 → synapse-3.6.0}/synapse/lib/parser.py +0 -0
  180. {synapse-3.5.0 → synapse-3.6.0}/synapse/lib/platforms/__init__.py +0 -0
  181. {synapse-3.5.0 → synapse-3.6.0}/synapse/lib/platforms/common.py +0 -0
  182. {synapse-3.5.0 → synapse-3.6.0}/synapse/lib/platforms/darwin.py +0 -0
  183. {synapse-3.5.0 → synapse-3.6.0}/synapse/lib/platforms/freebsd.py +0 -0
  184. {synapse-3.5.0 → synapse-3.6.0}/synapse/lib/platforms/linux.py +0 -0
  185. {synapse-3.5.0 → synapse-3.6.0}/synapse/lib/platforms/windows.py +0 -0
  186. {synapse-3.5.0 → synapse-3.6.0}/synapse/lib/process.py +0 -0
  187. {synapse-3.5.0 → synapse-3.6.0}/synapse/lib/processpool.py +0 -0
  188. {synapse-3.5.0 → synapse-3.6.0}/synapse/lib/provision.py +0 -0
  189. {synapse-3.5.0 → synapse-3.6.0}/synapse/lib/queue.py +0 -0
  190. {synapse-3.5.0 → synapse-3.6.0}/synapse/lib/reflect.py +0 -0
  191. {synapse-3.5.0 → synapse-3.6.0}/synapse/lib/scope.py +0 -0
  192. {synapse-3.5.0 → synapse-3.6.0}/synapse/lib/scrape.py +0 -0
  193. {synapse-3.5.0 → synapse-3.6.0}/synapse/lib/share.py +0 -0
  194. {synapse-3.5.0 → synapse-3.6.0}/synapse/lib/slabseqn.py +0 -0
  195. {synapse-3.5.0 → synapse-3.6.0}/synapse/lib/spawner.py +0 -0
  196. {synapse-3.5.0 → synapse-3.6.0}/synapse/lib/spooled.py +0 -0
  197. {synapse-3.5.0 → synapse-3.6.0}/synapse/lib/storm.py +0 -0
  198. {synapse-3.5.0 → synapse-3.6.0}/synapse/lib/storm_format.py +0 -0
  199. {synapse-3.5.0 → synapse-3.6.0}/synapse/lib/stormctrl.py +0 -0
  200. {synapse-3.5.0 → synapse-3.6.0}/synapse/lib/stormhttp.py +0 -0
  201. {synapse-3.5.0 → synapse-3.6.0}/synapse/lib/stormlib/__init__.py +0 -0
  202. {synapse-3.5.0 → synapse-3.6.0}/synapse/lib/stormlib/aha.py +0 -0
  203. {synapse-3.5.0 → synapse-3.6.0}/synapse/lib/stormlib/auth.py +0 -0
  204. {synapse-3.5.0 → synapse-3.6.0}/synapse/lib/stormlib/basex.py +0 -0
  205. {synapse-3.5.0 → synapse-3.6.0}/synapse/lib/stormlib/bytes.py +0 -0
  206. {synapse-3.5.0 → synapse-3.6.0}/synapse/lib/stormlib/cache.py +0 -0
  207. {synapse-3.5.0 → synapse-3.6.0}/synapse/lib/stormlib/cell.py +0 -0
  208. {synapse-3.5.0 → synapse-3.6.0}/synapse/lib/stormlib/compression.py +0 -0
  209. {synapse-3.5.0 → synapse-3.6.0}/synapse/lib/stormlib/cortex.py +0 -0
  210. {synapse-3.5.0 → synapse-3.6.0}/synapse/lib/stormlib/cryptoutils.py +0 -0
  211. {synapse-3.5.0 → synapse-3.6.0}/synapse/lib/stormlib/easyperm.py +0 -0
  212. {synapse-3.5.0 → synapse-3.6.0}/synapse/lib/stormlib/ecc.py +0 -0
  213. {synapse-3.5.0 → synapse-3.6.0}/synapse/lib/stormlib/ethereum.py +0 -0
  214. {synapse-3.5.0 → synapse-3.6.0}/synapse/lib/stormlib/file.py +0 -0
  215. {synapse-3.5.0 → synapse-3.6.0}/synapse/lib/stormlib/gen.py +0 -0
  216. {synapse-3.5.0 → synapse-3.6.0}/synapse/lib/stormlib/gis.py +0 -0
  217. {synapse-3.5.0 → synapse-3.6.0}/synapse/lib/stormlib/graph.py +0 -0
  218. {synapse-3.5.0 → synapse-3.6.0}/synapse/lib/stormlib/hashes.py +0 -0
  219. {synapse-3.5.0 → synapse-3.6.0}/synapse/lib/stormlib/hex.py +0 -0
  220. {synapse-3.5.0 → synapse-3.6.0}/synapse/lib/stormlib/imap.py +0 -0
  221. {synapse-3.5.0 → synapse-3.6.0}/synapse/lib/stormlib/index.py +0 -0
  222. {synapse-3.5.0 → synapse-3.6.0}/synapse/lib/stormlib/infosec.py +0 -0
  223. {synapse-3.5.0 → synapse-3.6.0}/synapse/lib/stormlib/ipv6.py +0 -0
  224. {synapse-3.5.0 → synapse-3.6.0}/synapse/lib/stormlib/iters.py +0 -0
  225. {synapse-3.5.0 → synapse-3.6.0}/synapse/lib/stormlib/json.py +0 -0
  226. {synapse-3.5.0 → synapse-3.6.0}/synapse/lib/stormlib/jwt.py +0 -0
  227. {synapse-3.5.0 → synapse-3.6.0}/synapse/lib/stormlib/log.py +0 -0
  228. {synapse-3.5.0 → synapse-3.6.0}/synapse/lib/stormlib/macro.py +0 -0
  229. {synapse-3.5.0 → synapse-3.6.0}/synapse/lib/stormlib/markdown.py +0 -0
  230. {synapse-3.5.0 → synapse-3.6.0}/synapse/lib/stormlib/math.py +0 -0
  231. {synapse-3.5.0 → synapse-3.6.0}/synapse/lib/stormlib/mime.py +0 -0
  232. {synapse-3.5.0 → synapse-3.6.0}/synapse/lib/stormlib/model.py +0 -0
  233. {synapse-3.5.0 → synapse-3.6.0}/synapse/lib/stormlib/modelext.py +0 -0
  234. {synapse-3.5.0 → synapse-3.6.0}/synapse/lib/stormlib/oauth.py +0 -0
  235. {synapse-3.5.0 → synapse-3.6.0}/synapse/lib/stormlib/pack.py +0 -0
  236. {synapse-3.5.0 → synapse-3.6.0}/synapse/lib/stormlib/pkg.py +0 -0
  237. {synapse-3.5.0 → synapse-3.6.0}/synapse/lib/stormlib/quorum.py +0 -0
  238. {synapse-3.5.0 → synapse-3.6.0}/synapse/lib/stormlib/random.py +0 -0
  239. {synapse-3.5.0 → synapse-3.6.0}/synapse/lib/stormlib/rsa.py +0 -0
  240. {synapse-3.5.0 → synapse-3.6.0}/synapse/lib/stormlib/scrape.py +0 -0
  241. {synapse-3.5.0 → synapse-3.6.0}/synapse/lib/stormlib/smtp.py +0 -0
  242. {synapse-3.5.0 → synapse-3.6.0}/synapse/lib/stormlib/spooled.py +0 -0
  243. {synapse-3.5.0 → synapse-3.6.0}/synapse/lib/stormlib/stats.py +0 -0
  244. {synapse-3.5.0 → synapse-3.6.0}/synapse/lib/stormlib/stix.py +0 -0
  245. {synapse-3.5.0 → synapse-3.6.0}/synapse/lib/stormlib/storm.py +0 -0
  246. {synapse-3.5.0 → synapse-3.6.0}/synapse/lib/stormlib/tabular.py +0 -0
  247. {synapse-3.5.0 → synapse-3.6.0}/synapse/lib/stormlib/task.py +0 -0
  248. {synapse-3.5.0 → synapse-3.6.0}/synapse/lib/stormlib/utils.py +0 -0
  249. {synapse-3.5.0 → synapse-3.6.0}/synapse/lib/stormlib/vault.py +0 -0
  250. {synapse-3.5.0 → synapse-3.6.0}/synapse/lib/stormlib/version.py +0 -0
  251. {synapse-3.5.0 → synapse-3.6.0}/synapse/lib/stormlib/vertex.py +0 -0
  252. {synapse-3.5.0 → synapse-3.6.0}/synapse/lib/stormlib/xml.py +0 -0
  253. {synapse-3.5.0 → synapse-3.6.0}/synapse/lib/stormlib/yaml.py +0 -0
  254. {synapse-3.5.0 → synapse-3.6.0}/synapse/lib/stormsvc.py +0 -0
  255. {synapse-3.5.0 → synapse-3.6.0}/synapse/lib/stormtypes.py +0 -0
  256. {synapse-3.5.0 → synapse-3.6.0}/synapse/lib/task.py +0 -0
  257. {synapse-3.5.0 → synapse-3.6.0}/synapse/lib/thishost.py +0 -0
  258. {synapse-3.5.0 → synapse-3.6.0}/synapse/lib/thisplat.py +0 -0
  259. {synapse-3.5.0 → synapse-3.6.0}/synapse/lib/threads.py +0 -0
  260. {synapse-3.5.0 → synapse-3.6.0}/synapse/lib/time.py +0 -0
  261. {synapse-3.5.0 → synapse-3.6.0}/synapse/lib/trigger.py +0 -0
  262. {synapse-3.5.0 → synapse-3.6.0}/synapse/lib/urlhelp.py +0 -0
  263. {synapse-3.5.0 → synapse-3.6.0}/synapse/lib/view.py +0 -0
  264. {synapse-3.5.0 → synapse-3.6.0}/synapse/lookup/__init__.py +0 -0
  265. {synapse-3.5.0 → synapse-3.6.0}/synapse/lookup/cvss.py +0 -0
  266. {synapse-3.5.0 → synapse-3.6.0}/synapse/lookup/iana.py +0 -0
  267. {synapse-3.5.0 → synapse-3.6.0}/synapse/lookup/macho.py +0 -0
  268. {synapse-3.5.0 → synapse-3.6.0}/synapse/lookup/pe.py +0 -0
  269. {synapse-3.5.0 → synapse-3.6.0}/synapse/lookup/phonenum.py +0 -0
  270. {synapse-3.5.0 → synapse-3.6.0}/synapse/lookup/timezones.py +0 -0
  271. {synapse-3.5.0 → synapse-3.6.0}/synapse/models/__init__.py +0 -0
  272. {synapse-3.5.0 → synapse-3.6.0}/synapse/models/auth.py +0 -0
  273. {synapse-3.5.0 → synapse-3.6.0}/synapse/models/belief.py +0 -0
  274. {synapse-3.5.0 → synapse-3.6.0}/synapse/models/biz.py +0 -0
  275. {synapse-3.5.0 → synapse-3.6.0}/synapse/models/crypto.py +0 -0
  276. {synapse-3.5.0 → synapse-3.6.0}/synapse/models/dns.py +0 -0
  277. {synapse-3.5.0 → synapse-3.6.0}/synapse/models/doc.py +0 -0
  278. {synapse-3.5.0 → synapse-3.6.0}/synapse/models/files.py +0 -0
  279. {synapse-3.5.0 → synapse-3.6.0}/synapse/models/geopol.py +0 -0
  280. {synapse-3.5.0 → synapse-3.6.0}/synapse/models/geospace.py +0 -0
  281. {synapse-3.5.0 → synapse-3.6.0}/synapse/models/gov.py +0 -0
  282. {synapse-3.5.0 → synapse-3.6.0}/synapse/models/ind.py +0 -0
  283. {synapse-3.5.0 → synapse-3.6.0}/synapse/models/infotech.py +0 -0
  284. {synapse-3.5.0 → synapse-3.6.0}/synapse/models/language.py +0 -0
  285. {synapse-3.5.0 → synapse-3.6.0}/synapse/models/material.py +0 -0
  286. {synapse-3.5.0 → synapse-3.6.0}/synapse/models/orgs.py +0 -0
  287. {synapse-3.5.0 → synapse-3.6.0}/synapse/models/person.py +0 -0
  288. {synapse-3.5.0 → synapse-3.6.0}/synapse/models/planning.py +0 -0
  289. {synapse-3.5.0 → synapse-3.6.0}/synapse/models/proj.py +0 -0
  290. {synapse-3.5.0 → synapse-3.6.0}/synapse/models/risk.py +0 -0
  291. {synapse-3.5.0 → synapse-3.6.0}/synapse/models/science.py +0 -0
  292. {synapse-3.5.0 → synapse-3.6.0}/synapse/models/syn.py +0 -0
  293. {synapse-3.5.0 → synapse-3.6.0}/synapse/models/telco.py +0 -0
  294. {synapse-3.5.0 → synapse-3.6.0}/synapse/models/transport.py +0 -0
  295. {synapse-3.5.0 → synapse-3.6.0}/synapse/servers/__init__.py +0 -0
  296. {synapse-3.5.0 → synapse-3.6.0}/synapse/servers/aha.py +0 -0
  297. {synapse-3.5.0 → synapse-3.6.0}/synapse/servers/axon.py +0 -0
  298. {synapse-3.5.0 → synapse-3.6.0}/synapse/servers/cell.py +0 -0
  299. {synapse-3.5.0 → synapse-3.6.0}/synapse/servers/cortex.py +0 -0
  300. {synapse-3.5.0 → synapse-3.6.0}/synapse/servers/jsonstor.py +0 -0
  301. {synapse-3.5.0 → synapse-3.6.0}/synapse/telepath.py +0 -0
  302. {synapse-3.5.0 → synapse-3.6.0}/synapse/tests/__init__.py +0 -0
  303. {synapse-3.5.0 → synapse-3.6.0}/synapse/tests/files/TestUtilsGetrefs.test_basics.yaml +0 -0
  304. {synapse-3.5.0 → synapse-3.6.0}/synapse/tests/files/__init__.py +0 -0
  305. {synapse-3.5.0 → synapse-3.6.0}/synapse/tests/files/aha/certs/cas/synapse.crt.tinfoil +0 -0
  306. {synapse-3.5.0 → synapse-3.6.0}/synapse/tests/files/aha/certs/cas/synapse.key.tinfoil +0 -0
  307. {synapse-3.5.0 → synapse-3.6.0}/synapse/tests/files/aha/certs/hosts/00.aha.loop.vertex.link.crt.tinfoil +0 -0
  308. {synapse-3.5.0 → synapse-3.6.0}/synapse/tests/files/aha/certs/hosts/00.aha.loop.vertex.link.key.tinfoil +0 -0
  309. {synapse-3.5.0 → synapse-3.6.0}/synapse/tests/files/aha/certs/users/root@synapse.crt.tinfoil +0 -0
  310. {synapse-3.5.0 → synapse-3.6.0}/synapse/tests/files/aha/certs/users/root@synapse.key.tinfoil +0 -0
  311. {synapse-3.5.0 → synapse-3.6.0}/synapse/tests/files/attack_flow/CISA AA22-138B VMWare Workspace (Alt).json +0 -0
  312. {synapse-3.5.0 → synapse-3.6.0}/synapse/tests/files/attack_flow/CISA_Iranian_APT.json +0 -0
  313. {synapse-3.5.0 → synapse-3.6.0}/synapse/tests/files/certdir/cas/ca.crt.tinfoil +0 -0
  314. {synapse-3.5.0 → synapse-3.6.0}/synapse/tests/files/certdir/cas/ca.key.tinfoil +0 -0
  315. {synapse-3.5.0 → synapse-3.6.0}/synapse/tests/files/certdir/code/codesign.crt.tinfoil +0 -0
  316. {synapse-3.5.0 → synapse-3.6.0}/synapse/tests/files/certdir/code/codesign.key.tinfoil +0 -0
  317. {synapse-3.5.0 → synapse-3.6.0}/synapse/tests/files/certdir/code/untrusted.crt.tinfoil +0 -0
  318. {synapse-3.5.0 → synapse-3.6.0}/synapse/tests/files/certdir/code/untrusted.key.tinfoil +0 -0
  319. {synapse-3.5.0 → synapse-3.6.0}/synapse/tests/files/certdir/hosts/localhost.crt.tinfoil +0 -0
  320. {synapse-3.5.0 → synapse-3.6.0}/synapse/tests/files/certdir/hosts/localhost.key.tinfoil +0 -0
  321. {synapse-3.5.0 → synapse-3.6.0}/synapse/tests/files/certdir/users/root.crt.tinfoil +0 -0
  322. {synapse-3.5.0 → synapse-3.6.0}/synapse/tests/files/certdir/users/root.key.tinfoil +0 -0
  323. {synapse-3.5.0 → synapse-3.6.0}/synapse/tests/files/certdir/users/user.crt.tinfoil +0 -0
  324. {synapse-3.5.0 → synapse-3.6.0}/synapse/tests/files/certdir/users/user.key.tinfoil +0 -0
  325. {synapse-3.5.0 → synapse-3.6.0}/synapse/tests/files/cpedata.json +0 -0
  326. {synapse-3.5.0 → synapse-3.6.0}/synapse/tests/files/markdown/column-names.json +0 -0
  327. {synapse-3.5.0 → synapse-3.6.0}/synapse/tests/files/mdstorm/httprespmulti.yaml +0 -0
  328. {synapse-3.5.0 → synapse-3.6.0}/synapse/tests/files/mdstorm/testsvc.py +0 -0
  329. {synapse-3.5.0 → synapse-3.6.0}/synapse/tests/files/stix_export/basic.json +0 -0
  330. {synapse-3.5.0 → synapse-3.6.0}/synapse/tests/files/stix_export/custom0.json +0 -0
  331. {synapse-3.5.0 → synapse-3.6.0}/synapse/tests/files/stix_export/risk0.json +0 -0
  332. {synapse-3.5.0 → synapse-3.6.0}/synapse/tests/files/stix_import/apt1.json +0 -0
  333. {synapse-3.5.0 → synapse-3.6.0}/synapse/tests/files/stix_import/oasis-example-00.json +0 -0
  334. {synapse-3.5.0 → synapse-3.6.0}/synapse/tests/files/stix_import/scos.json +0 -0
  335. {synapse-3.5.0 → synapse-3.6.0}/synapse/tests/files/stormcov/argvquery.storm +0 -0
  336. {synapse-3.5.0 → synapse-3.6.0}/synapse/tests/files/stormcov/argvquery2.storm +0 -0
  337. {synapse-3.5.0 → synapse-3.6.0}/synapse/tests/files/stormcov/argvquery3.storm +0 -0
  338. {synapse-3.5.0 → synapse-3.6.0}/synapse/tests/files/stormcov/argvquery4.storm +0 -0
  339. {synapse-3.5.0 → synapse-3.6.0}/synapse/tests/files/stormcov/argvquery5.storm +0 -0
  340. {synapse-3.5.0 → synapse-3.6.0}/synapse/tests/files/stormcov/badstorm.storm +0 -0
  341. {synapse-3.5.0 → synapse-3.6.0}/synapse/tests/files/stormcov/continueloop.storm +0 -0
  342. {synapse-3.5.0 → synapse-3.6.0}/synapse/tests/files/stormcov/dupesubs.storm +0 -0
  343. {synapse-3.5.0 → synapse-3.6.0}/synapse/tests/files/stormcov/dupewarn.storm +0 -0
  344. {synapse-3.5.0 → synapse-3.6.0}/synapse/tests/files/stormcov/dupfunc.storm +0 -0
  345. {synapse-3.5.0 → synapse-3.6.0}/synapse/tests/files/stormcov/embed/embed.py +0 -0
  346. {synapse-3.5.0 → synapse-3.6.0}/synapse/tests/files/stormcov/embed/embed.yaml +0 -0
  347. {synapse-3.5.0 → synapse-3.6.0}/synapse/tests/files/stormcov/embedquery.storm +0 -0
  348. {synapse-3.5.0 → synapse-3.6.0}/synapse/tests/files/stormcov/embedquery2.storm +0 -0
  349. {synapse-3.5.0 → synapse-3.6.0}/synapse/tests/files/stormcov/embedquery3.storm +0 -0
  350. {synapse-3.5.0 → synapse-3.6.0}/synapse/tests/files/stormcov/embedquery4.storm +0 -0
  351. {synapse-3.5.0 → synapse-3.6.0}/synapse/tests/files/stormcov/embedquery5.storm +0 -0
  352. {synapse-3.5.0 → synapse-3.6.0}/synapse/tests/files/stormcov/emptybody.storm +0 -0
  353. {synapse-3.5.0 → synapse-3.6.0}/synapse/tests/files/stormcov/exprdict.storm +0 -0
  354. {synapse-3.5.0 → synapse-3.6.0}/synapse/tests/files/stormcov/forloop.storm +0 -0
  355. {synapse-3.5.0 → synapse-3.6.0}/synapse/tests/files/stormcov/ifelif.storm +0 -0
  356. {synapse-3.5.0 → synapse-3.6.0}/synapse/tests/files/stormcov/ifelse.storm +0 -0
  357. {synapse-3.5.0 → synapse-3.6.0}/synapse/tests/files/stormcov/lookup.storm +0 -0
  358. {synapse-3.5.0 → synapse-3.6.0}/synapse/tests/files/stormcov/pivot.storm +0 -0
  359. {synapse-3.5.0 → synapse-3.6.0}/synapse/tests/files/stormcov/pragma-nocov.storm +0 -0
  360. {synapse-3.5.0 → synapse-3.6.0}/synapse/tests/files/stormcov/stopreturn.storm +0 -0
  361. {synapse-3.5.0 → synapse-3.6.0}/synapse/tests/files/stormcov/stormctrl.storm +0 -0
  362. {synapse-3.5.0 → synapse-3.6.0}/synapse/tests/files/stormcov/switch.storm +0 -0
  363. {synapse-3.5.0 → synapse-3.6.0}/synapse/tests/files/stormcov/switchnodefault.storm +0 -0
  364. {synapse-3.5.0 → synapse-3.6.0}/synapse/tests/files/stormcov/trycatch.storm +0 -0
  365. {synapse-3.5.0 → synapse-3.6.0}/synapse/tests/files/stormcov/whilebackedge.storm +0 -0
  366. {synapse-3.5.0 → synapse-3.6.0}/synapse/tests/files/stormcov/whilecontinue.storm +0 -0
  367. {synapse-3.5.0 → synapse-3.6.0}/synapse/tests/files/stormcov/whileloop.storm +0 -0
  368. {synapse-3.5.0 → synapse-3.6.0}/synapse/tests/files/stormcov/whilewithnode.storm +0 -0
  369. {synapse-3.5.0 → synapse-3.6.0}/synapse/tests/files/stormmod/common +0 -0
  370. {synapse-3.5.0 → synapse-3.6.0}/synapse/tests/files/stormpkg/badapidef.yaml +0 -0
  371. {synapse-3.5.0 → synapse-3.6.0}/synapse/tests/files/stormpkg/badcmdname.yaml +0 -0
  372. {synapse-3.5.0 → synapse-3.6.0}/synapse/tests/files/stormpkg/badendpoints.yaml +0 -0
  373. {synapse-3.5.0 → synapse-3.6.0}/synapse/tests/files/stormpkg/badinits.yaml +0 -0
  374. {synapse-3.5.0 → synapse-3.6.0}/synapse/tests/files/stormpkg/badjsonpkg.yaml +0 -0
  375. {synapse-3.5.0 → synapse-3.6.0}/synapse/tests/files/stormpkg/badvaultskeys.yaml +0 -0
  376. {synapse-3.5.0 → synapse-3.6.0}/synapse/tests/files/stormpkg/badvaultsschema.yaml +0 -0
  377. {synapse-3.5.0 → synapse-3.6.0}/synapse/tests/files/stormpkg/declaredfiles.yaml +0 -0
  378. {synapse-3.5.0 → synapse-3.6.0}/synapse/tests/files/stormpkg/docs/foobar.md +0 -0
  379. {synapse-3.5.0 → synapse-3.6.0}/synapse/tests/files/stormpkg/docs/foobar.svg +0 -0
  380. {synapse-3.5.0 → synapse-3.6.0}/synapse/tests/files/stormpkg/docs/index.md +0 -0
  381. {synapse-3.5.0 → synapse-3.6.0}/synapse/tests/files/stormpkg/dotstorm/dotstorm.yaml +0 -0
  382. {synapse-3.5.0 → synapse-3.6.0}/synapse/tests/files/stormpkg/dotstorm_noevents/dotstorm.yaml +0 -0
  383. {synapse-3.5.0 → synapse-3.6.0}/synapse/tests/files/stormpkg/dotstorm_noevents/storm/commands/dotstorm.bar.storm +0 -0
  384. {synapse-3.5.0 → synapse-3.6.0}/synapse/tests/files/stormpkg/dotstorm_noevents/storm/modules/dotstorm.foo.storm +0 -0
  385. {synapse-3.5.0 → synapse-3.6.0}/synapse/tests/files/stormpkg/files/data.dat +0 -0
  386. {synapse-3.5.0 → synapse-3.6.0}/synapse/tests/files/stormpkg/files/sub/nested.dat +0 -0
  387. {synapse-3.5.0 → synapse-3.6.0}/synapse/tests/files/stormpkg/nomime.yaml +0 -0
  388. {synapse-3.5.0 → synapse-3.6.0}/synapse/tests/files/stormpkg/nopath.yaml +0 -0
  389. {synapse-3.5.0 → synapse-3.6.0}/synapse/tests/files/stormpkg/nosuchfile.yaml +0 -0
  390. {synapse-3.5.0 → synapse-3.6.0}/synapse/tests/files/stormpkg/optic/index.html +0 -0
  391. {synapse-3.5.0 → synapse-3.6.0}/synapse/tests/files/stormpkg/storm/commands/invalidCMD.storm +0 -0
  392. {synapse-3.5.0 → synapse-3.6.0}/synapse/tests/files/stormpkg/storm/commands/testpkg.baz.storm +0 -0
  393. {synapse-3.5.0 → synapse-3.6.0}/synapse/tests/files/stormpkg/storm/commands/testpkgcmd.storm +0 -0
  394. {synapse-3.5.0 → synapse-3.6.0}/synapse/tests/files/stormpkg/storm/modules/apimod.storm +0 -0
  395. {synapse-3.5.0 → synapse-3.6.0}/synapse/tests/files/stormpkg/storm/modules/testmod.storm +0 -0
  396. {synapse-3.5.0 → synapse-3.6.0}/synapse/tests/files/stormpkg/testpkg.yaml +0 -0
  397. {synapse-3.5.0 → synapse-3.6.0}/synapse/tests/files/stormpkg/workflows/testpkg-bam.newp +0 -0
  398. {synapse-3.5.0 → synapse-3.6.0}/synapse/tests/files/stormpkg/workflows/testpkg-baz.yaml +0 -0
  399. {synapse-3.5.0 → synapse-3.6.0}/synapse/tests/files/stormpkg/workflows/testpkg-foo.yaml +0 -0
  400. {synapse-3.5.0 → synapse-3.6.0}/synapse/tests/files/test.dat +0 -0
  401. {synapse-3.5.0 → synapse-3.6.0}/synapse/tests/files/testpkg_build_docs/docs/index.md +0 -0
  402. {synapse-3.5.0 → synapse-3.6.0}/synapse/tests/files/testpkg_build_docs/docs/mocks/cassette.yaml +0 -0
  403. {synapse-3.5.0 → synapse-3.6.0}/synapse/tests/files/testpkg_build_docs/docs/stormpackage.md +0 -0
  404. {synapse-3.5.0 → synapse-3.6.0}/synapse/tests/files/testpkg_build_docs/docs/sub/image.svg +0 -0
  405. {synapse-3.5.0 → synapse-3.6.0}/synapse/tests/files/testpkg_build_docs/docs/sub/nested.md +0 -0
  406. {synapse-3.5.0 → synapse-3.6.0}/synapse/tests/files/testpkg_build_docs/docs/userguide.md +0 -0
  407. {synapse-3.5.0 → synapse-3.6.0}/synapse/tests/files/testpkg_build_docs/storm/commands/testcmd.storm +0 -0
  408. {synapse-3.5.0 → synapse-3.6.0}/synapse/tests/files/testpkg_build_docs/storm/modules/apimod.storm +0 -0
  409. {synapse-3.5.0 → synapse-3.6.0}/synapse/tests/files/testpkg_build_docs/storm/modules/testmod.storm +0 -0
  410. {synapse-3.5.0 → synapse-3.6.0}/synapse/tests/files/testpkg_build_docs/storm/testcmd.storm +0 -0
  411. {synapse-3.5.0 → synapse-3.6.0}/synapse/tests/files/testpkg_build_docs/testpkg.yaml +0 -0
  412. {synapse-3.5.0 → synapse-3.6.0}/synapse/tests/files/testpkg_build_docs_no_h1/docs/index.md +0 -0
  413. {synapse-3.5.0 → synapse-3.6.0}/synapse/tests/files/testpkg_build_docs_no_h1/docs/noh1.md +0 -0
  414. {synapse-3.5.0 → synapse-3.6.0}/synapse/tests/files/testpkg_build_docs_no_h1/testpkg.yaml +0 -0
  415. {synapse-3.5.0 → synapse-3.6.0}/synapse/tests/nopmod.py +0 -0
  416. {synapse-3.5.0 → synapse-3.6.0}/synapse/tests/test_assets.py +0 -0
  417. {synapse-3.5.0 → synapse-3.6.0}/synapse/tests/test_common.py +0 -0
  418. {synapse-3.5.0 → synapse-3.6.0}/synapse/tests/test_cortex.py +0 -0
  419. {synapse-3.5.0 → synapse-3.6.0}/synapse/tests/test_daemon.py +0 -0
  420. {synapse-3.5.0 → synapse-3.6.0}/synapse/tests/test_data.py +0 -0
  421. {synapse-3.5.0 → synapse-3.6.0}/synapse/tests/test_datamodel.py +0 -0
  422. {synapse-3.5.0 → synapse-3.6.0}/synapse/tests/test_docs_stormref.py +0 -0
  423. {synapse-3.5.0 → synapse-3.6.0}/synapse/tests/test_exc.py +0 -0
  424. {synapse-3.5.0 → synapse-3.6.0}/synapse/tests/test_glob.py +0 -0
  425. {synapse-3.5.0 → synapse-3.6.0}/synapse/tests/test_lib_agenda.py +0 -0
  426. {synapse-3.5.0 → synapse-3.6.0}/synapse/tests/test_lib_aha.py +0 -0
  427. {synapse-3.5.0 → synapse-3.6.0}/synapse/tests/test_lib_ast.py +0 -0
  428. {synapse-3.5.0 → synapse-3.6.0}/synapse/tests/test_lib_auth.py +0 -0
  429. {synapse-3.5.0 → synapse-3.6.0}/synapse/tests/test_lib_base.py +0 -0
  430. {synapse-3.5.0 → synapse-3.6.0}/synapse/tests/test_lib_boss.py +0 -0
  431. {synapse-3.5.0 → synapse-3.6.0}/synapse/tests/test_lib_cache.py +0 -0
  432. {synapse-3.5.0 → synapse-3.6.0}/synapse/tests/test_lib_certdir.py +0 -0
  433. {synapse-3.5.0 → synapse-3.6.0}/synapse/tests/test_lib_chop.py +0 -0
  434. {synapse-3.5.0 → synapse-3.6.0}/synapse/tests/test_lib_cli.py +0 -0
  435. {synapse-3.5.0 → synapse-3.6.0}/synapse/tests/test_lib_cluster.py +0 -0
  436. {synapse-3.5.0 → synapse-3.6.0}/synapse/tests/test_lib_cmd.py +0 -0
  437. {synapse-3.5.0 → synapse-3.6.0}/synapse/tests/test_lib_config.py +0 -0
  438. {synapse-3.5.0 → synapse-3.6.0}/synapse/tests/test_lib_const.py +0 -0
  439. {synapse-3.5.0 → synapse-3.6.0}/synapse/tests/test_lib_coro.py +0 -0
  440. {synapse-3.5.0 → synapse-3.6.0}/synapse/tests/test_lib_crypto_coin.py +0 -0
  441. {synapse-3.5.0 → synapse-3.6.0}/synapse/tests/test_lib_crypto_ecc.py +0 -0
  442. {synapse-3.5.0 → synapse-3.6.0}/synapse/tests/test_lib_crypto_jwk.py +0 -0
  443. {synapse-3.5.0 → synapse-3.6.0}/synapse/tests/test_lib_crypto_passwd.py +0 -0
  444. {synapse-3.5.0 → synapse-3.6.0}/synapse/tests/test_lib_crypto_rsa.py +0 -0
  445. {synapse-3.5.0 → synapse-3.6.0}/synapse/tests/test_lib_crypto_tinfoil.py +0 -0
  446. {synapse-3.5.0 → synapse-3.6.0}/synapse/tests/test_lib_datfile.py +0 -0
  447. {synapse-3.5.0 → synapse-3.6.0}/synapse/tests/test_lib_drive.py +0 -0
  448. {synapse-3.5.0 → synapse-3.6.0}/synapse/tests/test_lib_dyndeps.py +0 -0
  449. {synapse-3.5.0 → synapse-3.6.0}/synapse/tests/test_lib_gis.py +0 -0
  450. {synapse-3.5.0 → synapse-3.6.0}/synapse/tests/test_lib_grammar.py +0 -0
  451. {synapse-3.5.0 → synapse-3.6.0}/synapse/tests/test_lib_hashitem.py +0 -0
  452. {synapse-3.5.0 → synapse-3.6.0}/synapse/tests/test_lib_hashset.py +0 -0
  453. {synapse-3.5.0 → synapse-3.6.0}/synapse/tests/test_lib_health.py +0 -0
  454. {synapse-3.5.0 → synapse-3.6.0}/synapse/tests/test_lib_http.py +0 -0
  455. {synapse-3.5.0 → synapse-3.6.0}/synapse/tests/test_lib_httpapi.py +0 -0
  456. {synapse-3.5.0 → synapse-3.6.0}/synapse/tests/test_lib_httpclient.py +0 -0
  457. {synapse-3.5.0 → synapse-3.6.0}/synapse/tests/test_lib_json.py +0 -0
  458. {synapse-3.5.0 → synapse-3.6.0}/synapse/tests/test_lib_jsonstor.py +0 -0
  459. {synapse-3.5.0 → synapse-3.6.0}/synapse/tests/test_lib_jsrpc.py +0 -0
  460. {synapse-3.5.0 → synapse-3.6.0}/synapse/tests/test_lib_layer.py +0 -0
  461. {synapse-3.5.0 → synapse-3.6.0}/synapse/tests/test_lib_link.py +0 -0
  462. {synapse-3.5.0 → synapse-3.6.0}/synapse/tests/test_lib_lmdbslab.py +0 -0
  463. {synapse-3.5.0 → synapse-3.6.0}/synapse/tests/test_lib_logging.py +0 -0
  464. {synapse-3.5.0 → synapse-3.6.0}/synapse/tests/test_lib_mcp.py +0 -0
  465. {synapse-3.5.0 → synapse-3.6.0}/synapse/tests/test_lib_mdparse.py +0 -0
  466. {synapse-3.5.0 → synapse-3.6.0}/synapse/tests/test_lib_mdstorm.py +0 -0
  467. {synapse-3.5.0 → synapse-3.6.0}/synapse/tests/test_lib_modelrev.py +0 -0
  468. {synapse-3.5.0 → synapse-3.6.0}/synapse/tests/test_lib_msgpack.py +0 -0
  469. {synapse-3.5.0 → synapse-3.6.0}/synapse/tests/test_lib_multislabseqn.py +0 -0
  470. {synapse-3.5.0 → synapse-3.6.0}/synapse/tests/test_lib_nexus.py +0 -0
  471. {synapse-3.5.0 → synapse-3.6.0}/synapse/tests/test_lib_node.py +0 -0
  472. {synapse-3.5.0 → synapse-3.6.0}/synapse/tests/test_lib_output.py +0 -0
  473. {synapse-3.5.0 → synapse-3.6.0}/synapse/tests/test_lib_platforms_linux.py +0 -0
  474. {synapse-3.5.0 → synapse-3.6.0}/synapse/tests/test_lib_process.py +0 -0
  475. {synapse-3.5.0 → synapse-3.6.0}/synapse/tests/test_lib_processpool.py +0 -0
  476. {synapse-3.5.0 → synapse-3.6.0}/synapse/tests/test_lib_provision.py +0 -0
  477. {synapse-3.5.0 → synapse-3.6.0}/synapse/tests/test_lib_queue.py +0 -0
  478. {synapse-3.5.0 → synapse-3.6.0}/synapse/tests/test_lib_reflect.py +0 -0
  479. {synapse-3.5.0 → synapse-3.6.0}/synapse/tests/test_lib_scope.py +0 -0
  480. {synapse-3.5.0 → synapse-3.6.0}/synapse/tests/test_lib_scrape.py +0 -0
  481. {synapse-3.5.0 → synapse-3.6.0}/synapse/tests/test_lib_slabseqn.py +0 -0
  482. {synapse-3.5.0 → synapse-3.6.0}/synapse/tests/test_lib_spawner.py +0 -0
  483. {synapse-3.5.0 → synapse-3.6.0}/synapse/tests/test_lib_spooled.py +0 -0
  484. {synapse-3.5.0 → synapse-3.6.0}/synapse/tests/test_lib_storm.py +0 -0
  485. {synapse-3.5.0 → synapse-3.6.0}/synapse/tests/test_lib_storm_format.py +0 -0
  486. {synapse-3.5.0 → synapse-3.6.0}/synapse/tests/test_lib_stormctrl.py +0 -0
  487. {synapse-3.5.0 → synapse-3.6.0}/synapse/tests/test_lib_stormhttp.py +0 -0
  488. {synapse-3.5.0 → synapse-3.6.0}/synapse/tests/test_lib_stormlib_aha.py +0 -0
  489. {synapse-3.5.0 → synapse-3.6.0}/synapse/tests/test_lib_stormlib_auth.py +0 -0
  490. {synapse-3.5.0 → synapse-3.6.0}/synapse/tests/test_lib_stormlib_basex.py +0 -0
  491. {synapse-3.5.0 → synapse-3.6.0}/synapse/tests/test_lib_stormlib_cache.py +0 -0
  492. {synapse-3.5.0 → synapse-3.6.0}/synapse/tests/test_lib_stormlib_cell.py +0 -0
  493. {synapse-3.5.0 → synapse-3.6.0}/synapse/tests/test_lib_stormlib_compression.py +0 -0
  494. {synapse-3.5.0 → synapse-3.6.0}/synapse/tests/test_lib_stormlib_cortex.py +0 -0
  495. {synapse-3.5.0 → synapse-3.6.0}/synapse/tests/test_lib_stormlib_easyperm.py +0 -0
  496. {synapse-3.5.0 → synapse-3.6.0}/synapse/tests/test_lib_stormlib_ecc.py +0 -0
  497. {synapse-3.5.0 → synapse-3.6.0}/synapse/tests/test_lib_stormlib_env.py +0 -0
  498. {synapse-3.5.0 → synapse-3.6.0}/synapse/tests/test_lib_stormlib_ethereum.py +0 -0
  499. {synapse-3.5.0 → synapse-3.6.0}/synapse/tests/test_lib_stormlib_file.py +0 -0
  500. {synapse-3.5.0 → synapse-3.6.0}/synapse/tests/test_lib_stormlib_gen.py +0 -0
  501. {synapse-3.5.0 → synapse-3.6.0}/synapse/tests/test_lib_stormlib_gis.py +0 -0
  502. {synapse-3.5.0 → synapse-3.6.0}/synapse/tests/test_lib_stormlib_hashes.py +0 -0
  503. {synapse-3.5.0 → synapse-3.6.0}/synapse/tests/test_lib_stormlib_hex.py +0 -0
  504. {synapse-3.5.0 → synapse-3.6.0}/synapse/tests/test_lib_stormlib_imap.py +0 -0
  505. {synapse-3.5.0 → synapse-3.6.0}/synapse/tests/test_lib_stormlib_index.py +0 -0
  506. {synapse-3.5.0 → synapse-3.6.0}/synapse/tests/test_lib_stormlib_infosec.py +0 -0
  507. {synapse-3.5.0 → synapse-3.6.0}/synapse/tests/test_lib_stormlib_ipv6.py +0 -0
  508. {synapse-3.5.0 → synapse-3.6.0}/synapse/tests/test_lib_stormlib_iters.py +0 -0
  509. {synapse-3.5.0 → synapse-3.6.0}/synapse/tests/test_lib_stormlib_json.py +0 -0
  510. {synapse-3.5.0 → synapse-3.6.0}/synapse/tests/test_lib_stormlib_jwt.py +0 -0
  511. {synapse-3.5.0 → synapse-3.6.0}/synapse/tests/test_lib_stormlib_log.py +0 -0
  512. {synapse-3.5.0 → synapse-3.6.0}/synapse/tests/test_lib_stormlib_macro.py +0 -0
  513. {synapse-3.5.0 → synapse-3.6.0}/synapse/tests/test_lib_stormlib_mime.py +0 -0
  514. {synapse-3.5.0 → synapse-3.6.0}/synapse/tests/test_lib_stormlib_model.py +0 -0
  515. {synapse-3.5.0 → synapse-3.6.0}/synapse/tests/test_lib_stormlib_modelext.py +0 -0
  516. {synapse-3.5.0 → synapse-3.6.0}/synapse/tests/test_lib_stormlib_oauth.py +0 -0
  517. {synapse-3.5.0 → synapse-3.6.0}/synapse/tests/test_lib_stormlib_pack.py +0 -0
  518. {synapse-3.5.0 → synapse-3.6.0}/synapse/tests/test_lib_stormlib_pkg.py +0 -0
  519. {synapse-3.5.0 → synapse-3.6.0}/synapse/tests/test_lib_stormlib_quorum.py +0 -0
  520. {synapse-3.5.0 → synapse-3.6.0}/synapse/tests/test_lib_stormlib_random.py +0 -0
  521. {synapse-3.5.0 → synapse-3.6.0}/synapse/tests/test_lib_stormlib_rsa.py +0 -0
  522. {synapse-3.5.0 → synapse-3.6.0}/synapse/tests/test_lib_stormlib_scrape.py +0 -0
  523. {synapse-3.5.0 → synapse-3.6.0}/synapse/tests/test_lib_stormlib_smtp.py +0 -0
  524. {synapse-3.5.0 → synapse-3.6.0}/synapse/tests/test_lib_stormlib_spooled.py +0 -0
  525. {synapse-3.5.0 → synapse-3.6.0}/synapse/tests/test_lib_stormlib_stats.py +0 -0
  526. {synapse-3.5.0 → synapse-3.6.0}/synapse/tests/test_lib_stormlib_stix.py +0 -0
  527. {synapse-3.5.0 → synapse-3.6.0}/synapse/tests/test_lib_stormlib_storm.py +0 -0
  528. {synapse-3.5.0 → synapse-3.6.0}/synapse/tests/test_lib_stormlib_tabular.py +0 -0
  529. {synapse-3.5.0 → synapse-3.6.0}/synapse/tests/test_lib_stormlib_task.py +0 -0
  530. {synapse-3.5.0 → synapse-3.6.0}/synapse/tests/test_lib_stormlib_utils.py +0 -0
  531. {synapse-3.5.0 → synapse-3.6.0}/synapse/tests/test_lib_stormlib_vault.py +0 -0
  532. {synapse-3.5.0 → synapse-3.6.0}/synapse/tests/test_lib_stormlib_vertex.py +0 -0
  533. {synapse-3.5.0 → synapse-3.6.0}/synapse/tests/test_lib_stormlib_xml.py +0 -0
  534. {synapse-3.5.0 → synapse-3.6.0}/synapse/tests/test_lib_stormlib_yaml.py +0 -0
  535. {synapse-3.5.0 → synapse-3.6.0}/synapse/tests/test_lib_stormsvc.py +0 -0
  536. {synapse-3.5.0 → synapse-3.6.0}/synapse/tests/test_lib_stormtypes.py +0 -0
  537. {synapse-3.5.0 → synapse-3.6.0}/synapse/tests/test_lib_task.py +0 -0
  538. {synapse-3.5.0 → synapse-3.6.0}/synapse/tests/test_lib_thishost.py +0 -0
  539. {synapse-3.5.0 → synapse-3.6.0}/synapse/tests/test_lib_time.py +0 -0
  540. {synapse-3.5.0 → synapse-3.6.0}/synapse/tests/test_lib_trigger.py +0 -0
  541. {synapse-3.5.0 → synapse-3.6.0}/synapse/tests/test_lib_urlhelp.py +0 -0
  542. {synapse-3.5.0 → synapse-3.6.0}/synapse/tests/test_lib_version.py +0 -0
  543. {synapse-3.5.0 → synapse-3.6.0}/synapse/tests/test_lib_view.py +0 -0
  544. {synapse-3.5.0 → synapse-3.6.0}/synapse/tests/test_lookup_phonenum.py +0 -0
  545. {synapse-3.5.0 → synapse-3.6.0}/synapse/tests/test_model_auth.py +0 -0
  546. {synapse-3.5.0 → synapse-3.6.0}/synapse/tests/test_model_belief.py +0 -0
  547. {synapse-3.5.0 → synapse-3.6.0}/synapse/tests/test_model_biz.py +0 -0
  548. {synapse-3.5.0 → synapse-3.6.0}/synapse/tests/test_model_crypto.py +0 -0
  549. {synapse-3.5.0 → synapse-3.6.0}/synapse/tests/test_model_dns.py +0 -0
  550. {synapse-3.5.0 → synapse-3.6.0}/synapse/tests/test_model_doc.py +0 -0
  551. {synapse-3.5.0 → synapse-3.6.0}/synapse/tests/test_model_files.py +0 -0
  552. {synapse-3.5.0 → synapse-3.6.0}/synapse/tests/test_model_geopol.py +0 -0
  553. {synapse-3.5.0 → synapse-3.6.0}/synapse/tests/test_model_geospace.py +0 -0
  554. {synapse-3.5.0 → synapse-3.6.0}/synapse/tests/test_model_gov.py +0 -0
  555. {synapse-3.5.0 → synapse-3.6.0}/synapse/tests/test_model_gov_cn.py +0 -0
  556. {synapse-3.5.0 → synapse-3.6.0}/synapse/tests/test_model_gov_intl.py +0 -0
  557. {synapse-3.5.0 → synapse-3.6.0}/synapse/tests/test_model_gov_us.py +0 -0
  558. {synapse-3.5.0 → synapse-3.6.0}/synapse/tests/test_model_infotech.py +0 -0
  559. {synapse-3.5.0 → synapse-3.6.0}/synapse/tests/test_model_language.py +0 -0
  560. {synapse-3.5.0 → synapse-3.6.0}/synapse/tests/test_model_material.py +0 -0
  561. {synapse-3.5.0 → synapse-3.6.0}/synapse/tests/test_model_orgs.py +0 -0
  562. {synapse-3.5.0 → synapse-3.6.0}/synapse/tests/test_model_person.py +0 -0
  563. {synapse-3.5.0 → synapse-3.6.0}/synapse/tests/test_model_planning.py +0 -0
  564. {synapse-3.5.0 → synapse-3.6.0}/synapse/tests/test_model_proj.py +0 -0
  565. {synapse-3.5.0 → synapse-3.6.0}/synapse/tests/test_model_risk.py +0 -0
  566. {synapse-3.5.0 → synapse-3.6.0}/synapse/tests/test_model_science.py +0 -0
  567. {synapse-3.5.0 → synapse-3.6.0}/synapse/tests/test_model_syn.py +0 -0
  568. {synapse-3.5.0 → synapse-3.6.0}/synapse/tests/test_model_telco.py +0 -0
  569. {synapse-3.5.0 → synapse-3.6.0}/synapse/tests/test_model_transport.py +0 -0
  570. {synapse-3.5.0 → synapse-3.6.0}/synapse/tests/test_servers_axon.py +0 -0
  571. {synapse-3.5.0 → synapse-3.6.0}/synapse/tests/test_servers_cortex.py +0 -0
  572. {synapse-3.5.0 → synapse-3.6.0}/synapse/tests/test_servers_univ.py +0 -0
  573. {synapse-3.5.0 → synapse-3.6.0}/synapse/tests/test_telepath.py +0 -0
  574. {synapse-3.5.0 → synapse-3.6.0}/synapse/tests/test_tools_aha.py +0 -0
  575. {synapse-3.5.0 → synapse-3.6.0}/synapse/tests/test_tools_axon_copy.py +0 -0
  576. {synapse-3.5.0 → synapse-3.6.0}/synapse/tests/test_tools_axon_dump_load.py +0 -0
  577. {synapse-3.5.0 → synapse-3.6.0}/synapse/tests/test_tools_axon_get.py +0 -0
  578. {synapse-3.5.0 → synapse-3.6.0}/synapse/tests/test_tools_axon_put.py +0 -0
  579. {synapse-3.5.0 → synapse-3.6.0}/synapse/tests/test_tools_cortex_csv.py +0 -0
  580. {synapse-3.5.0 → synapse-3.6.0}/synapse/tests/test_tools_cortex_docmodel.py +0 -0
  581. {synapse-3.5.0 → synapse-3.6.0}/synapse/tests/test_tools_cortex_feed.py +0 -0
  582. {synapse-3.5.0 → synapse-3.6.0}/synapse/tests/test_tools_cortex_layer.py +0 -0
  583. {synapse-3.5.0 → synapse-3.6.0}/synapse/tests/test_tools_docker_validate.py +0 -0
  584. {synapse-3.5.0 → synapse-3.6.0}/synapse/tests/test_tools_service_apikey.py +0 -0
  585. {synapse-3.5.0 → synapse-3.6.0}/synapse/tests/test_tools_service_backup.py +0 -0
  586. {synapse-3.5.0 → synapse-3.6.0}/synapse/tests/test_tools_service_healthcheck.py +0 -0
  587. {synapse-3.5.0 → synapse-3.6.0}/synapse/tests/test_tools_service_modrole.py +0 -0
  588. {synapse-3.5.0 → synapse-3.6.0}/synapse/tests/test_tools_service_moduser.py +0 -0
  589. {synapse-3.5.0 → synapse-3.6.0}/synapse/tests/test_tools_service_promote.py +0 -0
  590. {synapse-3.5.0 → synapse-3.6.0}/synapse/tests/test_tools_service_reload.py +0 -0
  591. {synapse-3.5.0 → synapse-3.6.0}/synapse/tests/test_tools_service_snapshot.py +0 -0
  592. {synapse-3.5.0 → synapse-3.6.0}/synapse/tests/test_tools_storm_cli.py +0 -0
  593. {synapse-3.5.0 → synapse-3.6.0}/synapse/tests/test_tools_storm_pkg_doc.py +0 -0
  594. {synapse-3.5.0 → synapse-3.6.0}/synapse/tests/test_tools_storm_pkg_gen.py +0 -0
  595. {synapse-3.5.0 → synapse-3.6.0}/synapse/tests/test_tools_storm_pkg_publish.py +0 -0
  596. {synapse-3.5.0 → synapse-3.6.0}/synapse/tests/test_tools_storm_printer.py +0 -0
  597. {synapse-3.5.0 → synapse-3.6.0}/synapse/tests/test_tools_storm_tester.py +0 -0
  598. {synapse-3.5.0 → synapse-3.6.0}/synapse/tests/test_tools_storm_validate.py +0 -0
  599. {synapse-3.5.0 → synapse-3.6.0}/synapse/tests/test_tools_utils_doc.py +0 -0
  600. {synapse-3.5.0 → synapse-3.6.0}/synapse/tests/test_tools_utils_docmanifest.py +0 -0
  601. {synapse-3.5.0 → synapse-3.6.0}/synapse/tests/test_tools_utils_easycert.py +0 -0
  602. {synapse-3.5.0 → synapse-3.6.0}/synapse/tests/test_tools_utils_guid.py +0 -0
  603. {synapse-3.5.0 → synapse-3.6.0}/synapse/tests/test_tools_utils_json2mpk.py +0 -0
  604. {synapse-3.5.0 → synapse-3.6.0}/synapse/tests/test_tools_utils_mdstorm.py +0 -0
  605. {synapse-3.5.0 → synapse-3.6.0}/synapse/tests/test_tools_utils_optimize.py +0 -0
  606. {synapse-3.5.0 → synapse-3.6.0}/synapse/tests/test_utils.py +0 -0
  607. {synapse-3.5.0 → synapse-3.6.0}/synapse/tests/test_utils_getrefs.py +0 -0
  608. {synapse-3.5.0 → synapse-3.6.0}/synapse/tests/utils.py +0 -0
  609. {synapse-3.5.0 → synapse-3.6.0}/synapse/tools/__init__.py +0 -0
  610. {synapse-3.5.0 → synapse-3.6.0}/synapse/tools/aha/__init__.py +0 -0
  611. {synapse-3.5.0 → synapse-3.6.0}/synapse/tools/aha/clone.py +0 -0
  612. {synapse-3.5.0 → synapse-3.6.0}/synapse/tools/aha/del.py +0 -0
  613. {synapse-3.5.0 → synapse-3.6.0}/synapse/tools/aha/easycert.py +0 -0
  614. {synapse-3.5.0 → synapse-3.6.0}/synapse/tools/aha/enroll.py +0 -0
  615. {synapse-3.5.0 → synapse-3.6.0}/synapse/tools/aha/list.py +0 -0
  616. {synapse-3.5.0 → synapse-3.6.0}/synapse/tools/aha/mirror.py +0 -0
  617. {synapse-3.5.0 → synapse-3.6.0}/synapse/tools/aha/provision/__init__.py +0 -0
  618. {synapse-3.5.0 → synapse-3.6.0}/synapse/tools/aha/provision/service.py +0 -0
  619. {synapse-3.5.0 → synapse-3.6.0}/synapse/tools/aha/provision/user.py +0 -0
  620. {synapse-3.5.0 → synapse-3.6.0}/synapse/tools/axon/__init__.py +0 -0
  621. {synapse-3.5.0 → synapse-3.6.0}/synapse/tools/axon/copy.py +0 -0
  622. {synapse-3.5.0 → synapse-3.6.0}/synapse/tools/axon/dump.py +0 -0
  623. {synapse-3.5.0 → synapse-3.6.0}/synapse/tools/axon/get.py +0 -0
  624. {synapse-3.5.0 → synapse-3.6.0}/synapse/tools/axon/load.py +0 -0
  625. {synapse-3.5.0 → synapse-3.6.0}/synapse/tools/axon/put.py +0 -0
  626. {synapse-3.5.0 → synapse-3.6.0}/synapse/tools/cortex/__init__.py +0 -0
  627. {synapse-3.5.0 → synapse-3.6.0}/synapse/tools/cortex/csv.py +0 -0
  628. {synapse-3.5.0 → synapse-3.6.0}/synapse/tools/cortex/docmodel.py +0 -0
  629. {synapse-3.5.0 → synapse-3.6.0}/synapse/tools/cortex/feed.py +0 -0
  630. {synapse-3.5.0 → synapse-3.6.0}/synapse/tools/cortex/layer/__init__.py +0 -0
  631. {synapse-3.5.0 → synapse-3.6.0}/synapse/tools/cortex/layer/dump.py +0 -0
  632. {synapse-3.5.0 → synapse-3.6.0}/synapse/tools/cortex/layer/load.py +0 -0
  633. {synapse-3.5.0 → synapse-3.6.0}/synapse/tools/docker/__init__.py +0 -0
  634. {synapse-3.5.0 → synapse-3.6.0}/synapse/tools/docker/validate.py +0 -0
  635. {synapse-3.5.0 → synapse-3.6.0}/synapse/tools/service/__init__.py +0 -0
  636. {synapse-3.5.0 → synapse-3.6.0}/synapse/tools/service/apikey.py +0 -0
  637. {synapse-3.5.0 → synapse-3.6.0}/synapse/tools/service/backup.py +0 -0
  638. {synapse-3.5.0 → synapse-3.6.0}/synapse/tools/service/demote.py +0 -0
  639. {synapse-3.5.0 → synapse-3.6.0}/synapse/tools/service/healthcheck.py +0 -0
  640. {synapse-3.5.0 → synapse-3.6.0}/synapse/tools/service/modrole.py +0 -0
  641. {synapse-3.5.0 → synapse-3.6.0}/synapse/tools/service/moduser.py +0 -0
  642. {synapse-3.5.0 → synapse-3.6.0}/synapse/tools/service/promote.py +0 -0
  643. {synapse-3.5.0 → synapse-3.6.0}/synapse/tools/service/reload.py +0 -0
  644. {synapse-3.5.0 → synapse-3.6.0}/synapse/tools/service/shutdown.py +0 -0
  645. {synapse-3.5.0 → synapse-3.6.0}/synapse/tools/service/snapshot.py +0 -0
  646. {synapse-3.5.0 → synapse-3.6.0}/synapse/tools/storm/__init__.py +0 -0
  647. {synapse-3.5.0 → synapse-3.6.0}/synapse/tools/storm/__main__.py +0 -0
  648. {synapse-3.5.0 → synapse-3.6.0}/synapse/tools/storm/_cli.py +0 -0
  649. {synapse-3.5.0 → synapse-3.6.0}/synapse/tools/storm/_printer.py +0 -0
  650. {synapse-3.5.0 → synapse-3.6.0}/synapse/tools/storm/pkg/__init__.py +0 -0
  651. {synapse-3.5.0 → synapse-3.6.0}/synapse/tools/storm/pkg/doc.py +0 -0
  652. {synapse-3.5.0 → synapse-3.6.0}/synapse/tools/storm/pkg/gen.py +0 -0
  653. {synapse-3.5.0 → synapse-3.6.0}/synapse/tools/storm/pkg/publish.py +0 -0
  654. {synapse-3.5.0 → synapse-3.6.0}/synapse/tools/storm/tester.py +0 -0
  655. {synapse-3.5.0 → synapse-3.6.0}/synapse/tools/storm/validate.py +0 -0
  656. {synapse-3.5.0 → synapse-3.6.0}/synapse/tools/utils/__init__.py +0 -0
  657. {synapse-3.5.0 → synapse-3.6.0}/synapse/tools/utils/doc.py +0 -0
  658. {synapse-3.5.0 → synapse-3.6.0}/synapse/tools/utils/docmanifest.py +0 -0
  659. {synapse-3.5.0 → synapse-3.6.0}/synapse/tools/utils/easycert.py +0 -0
  660. {synapse-3.5.0 → synapse-3.6.0}/synapse/tools/utils/guid.py +0 -0
  661. {synapse-3.5.0 → synapse-3.6.0}/synapse/tools/utils/json2mpk.py +0 -0
  662. {synapse-3.5.0 → synapse-3.6.0}/synapse/tools/utils/mdstorm.py +0 -0
  663. {synapse-3.5.0 → synapse-3.6.0}/synapse/tools/utils/optimize.py +0 -0
  664. {synapse-3.5.0 → synapse-3.6.0}/synapse/utils/__init__.py +0 -0
  665. {synapse-3.5.0 → synapse-3.6.0}/synapse/utils/getrefs.py +0 -0
  666. {synapse-3.5.0 → synapse-3.6.0}/synapse/vendor/__init__.py +0 -0
  667. {synapse-3.5.0 → synapse-3.6.0}/synapse/vendor/cashaddress/LICENSE +0 -0
  668. {synapse-3.5.0 → synapse-3.6.0}/synapse/vendor/cashaddress/__init__.py +0 -0
  669. {synapse-3.5.0 → synapse-3.6.0}/synapse/vendor/cashaddress/base58.py +0 -0
  670. {synapse-3.5.0 → synapse-3.6.0}/synapse/vendor/cashaddress/convert.py +0 -0
  671. {synapse-3.5.0 → synapse-3.6.0}/synapse/vendor/cashaddress/crypto.py +0 -0
  672. {synapse-3.5.0 → synapse-3.6.0}/synapse/vendor/cashaddress/tests/__init__.py +0 -0
  673. {synapse-3.5.0 → synapse-3.6.0}/synapse/vendor/cashaddress/tests/test_cashaddress.py +0 -0
  674. {synapse-3.5.0 → synapse-3.6.0}/synapse/vendor/cpython/LICENSE +0 -0
  675. {synapse-3.5.0 → synapse-3.6.0}/synapse/vendor/cpython/__init__.py +0 -0
  676. {synapse-3.5.0 → synapse-3.6.0}/synapse/vendor/cpython/lib/__init__.py +0 -0
  677. {synapse-3.5.0 → synapse-3.6.0}/synapse/vendor/cpython/lib/email/__init__.py +0 -0
  678. {synapse-3.5.0 → synapse-3.6.0}/synapse/vendor/cpython/lib/email/_parseaddr.py +0 -0
  679. {synapse-3.5.0 → synapse-3.6.0}/synapse/vendor/cpython/lib/email/utils.py +0 -0
  680. {synapse-3.5.0 → synapse-3.6.0}/synapse/vendor/cpython/lib/ipaddress.py +0 -0
  681. {synapse-3.5.0 → synapse-3.6.0}/synapse/vendor/cpython/lib/json.py +0 -0
  682. {synapse-3.5.0 → synapse-3.6.0}/synapse/vendor/cpython/lib/test/__init__.py +0 -0
  683. {synapse-3.5.0 → synapse-3.6.0}/synapse/vendor/cpython/lib/test/support/__init__.py +0 -0
  684. {synapse-3.5.0 → synapse-3.6.0}/synapse/vendor/cpython/lib/test/test_email/__init__.py +0 -0
  685. {synapse-3.5.0 → synapse-3.6.0}/synapse/vendor/cpython/lib/test/test_email/test_email.py +0 -0
  686. {synapse-3.5.0 → synapse-3.6.0}/synapse/vendor/cpython/lib/test/test_email/test_parseaddr.py +0 -0
  687. {synapse-3.5.0 → synapse-3.6.0}/synapse/vendor/cpython/lib/test/test_email/test_utils.py +0 -0
  688. {synapse-3.5.0 → synapse-3.6.0}/synapse/vendor/cpython/lib/test/test_ipaddress.py +0 -0
  689. {synapse-3.5.0 → synapse-3.6.0}/synapse/vendor/cpython/lib/test/test_json.py +0 -0
  690. {synapse-3.5.0 → synapse-3.6.0}/synapse/vendor/substrateinterface/LICENSE +0 -0
  691. {synapse-3.5.0 → synapse-3.6.0}/synapse/vendor/substrateinterface/__init__.py +0 -0
  692. {synapse-3.5.0 → synapse-3.6.0}/synapse/vendor/substrateinterface/tests/__init__.py +0 -0
  693. {synapse-3.5.0 → synapse-3.6.0}/synapse/vendor/substrateinterface/tests/test_ss58.py +0 -0
  694. {synapse-3.5.0 → synapse-3.6.0}/synapse/vendor/substrateinterface/utils/__init__.py +0 -0
  695. {synapse-3.5.0 → synapse-3.6.0}/synapse/vendor/substrateinterface/utils/ss58.py +0 -0
  696. {synapse-3.5.0 → synapse-3.6.0}/synapse/vendor/utils.py +0 -0
  697. {synapse-3.5.0 → synapse-3.6.0}/synapse/vendor/xrpl/LICENSE +0 -0
  698. {synapse-3.5.0 → synapse-3.6.0}/synapse/vendor/xrpl/__init__.py +0 -0
  699. {synapse-3.5.0 → synapse-3.6.0}/synapse/vendor/xrpl/constants.py +0 -0
  700. {synapse-3.5.0 → synapse-3.6.0}/synapse/vendor/xrpl/core/__init__.py +0 -0
  701. {synapse-3.5.0 → synapse-3.6.0}/synapse/vendor/xrpl/core/addresscodec/__init__.py +0 -0
  702. {synapse-3.5.0 → synapse-3.6.0}/synapse/vendor/xrpl/core/addresscodec/codec.py +0 -0
  703. {synapse-3.5.0 → synapse-3.6.0}/synapse/vendor/xrpl/core/addresscodec/exceptions.py +0 -0
  704. {synapse-3.5.0 → synapse-3.6.0}/synapse/vendor/xrpl/core/addresscodec/main.py +0 -0
  705. {synapse-3.5.0 → synapse-3.6.0}/synapse/vendor/xrpl/core/addresscodec/utils.py +0 -0
  706. {synapse-3.5.0 → synapse-3.6.0}/synapse/vendor/xrpl/tests/__init__.py +0 -0
  707. {synapse-3.5.0 → synapse-3.6.0}/synapse/vendor/xrpl/tests/test_codec.py +0 -0
  708. {synapse-3.5.0 → synapse-3.6.0}/synapse/vendor/xrpl/tests/test_main.py +0 -0
  709. {synapse-3.5.0 → synapse-3.6.0}/synapse/vendor/xrpl/tests/test_main_test_cases.py +0 -0
  710. {synapse-3.5.0 → synapse-3.6.0}/synapse.egg-info/dependency_links.txt +0 -0
  711. {synapse-3.5.0 → synapse-3.6.0}/synapse.egg-info/requires.txt +0 -0
  712. {synapse-3.5.0 → synapse-3.6.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: 3.5.0
3
+ Version: 3.6.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 = '3.5.0'
7
+ version = '3.6.0'
8
8
  authors = [
9
9
  { name = 'The Vertex Project LLC', email = 'root@vertex.link'},
10
10
  ]
@@ -1504,6 +1504,9 @@ class Axon(s_cell.Cell):
1504
1504
  if first:
1505
1505
  first = False
1506
1506
  delt = boff - offs
1507
+ if delt == 0:
1508
+ continue
1509
+
1507
1510
  yield byts[-delt:]
1508
1511
  continue
1509
1512
 
@@ -653,6 +653,7 @@ inet:fqdn { -> inet:dns:a [ +#reviewed ] } // still has inet:fqdn nodes in the p
653
653
  init { ... } // runs once before any nodes are allowed through the pipeline
654
654
  empty { ... } // runs if pipeline is empty
655
655
  fini { ... } // runs once after all nodes have passed through the pipeline
656
+ exec { ... } // runs once, discarding the nodes it yields; inbound nodes pass through
656
657
  ```
657
658
 
658
659
  ### Built-in Commands
@@ -661,7 +662,6 @@ fini { ... } // runs once after all nodes have
661
662
  limit 10 // limit output count
662
663
  count // count nodes
663
664
  uniq // deduplicate
664
- spin // consume without output
665
665
  max :prop // keep max by property
666
666
  min :prop // keep min by property
667
667
  tee { query1 } { query2 } // branch pipeline
@@ -974,6 +974,7 @@ $func("positional", key=1)
974
974
  - Double-underscore `__` prefix for module-internal variables and functions: they cannot be accessed from outside the module that defines them (e.g. `function __getJson()`)
975
975
  - Module variables at top level: `$setup = $lib.import(...)`, `$srcnode = (null)`
976
976
  - Format strings with backticks for interpolation: `` `text {$var}` ``
977
+ - Avoid `spin`: run a query whose nodes are not needed in an `exec { ... }` block, or isolate it in a function, and a query that returns a value uses `return()`, or `fini { return() }` when more than one node can flow
977
978
  - Parenthesize values and conditions so Storm evaluates them as typed expressions rather than bare strings or edit syntax: `(true)` / `(false)` / `(null)` (not `$lib.true` / `$lib.false` / `$lib.null`), numbers `(42)`, collections `([])` / `({})`, and comparisons like `if ($a = null)`
978
979
  - Use `$lib.raise(ErrName, "message")` for errors, `$lib.exit("message")` for fatal exits
979
980
  - Use `return()` with empty parens to return `(null)`
@@ -1752,22 +1752,35 @@ async def processStormModulesMd(md, pkgname, modules):
1752
1752
  md.addHead(mname, lvl=2, anchor=anchor)
1753
1753
 
1754
1754
  for apidef in apidefs:
1755
-
1756
- apiname = apidef['name']
1757
- apidesc = apidef['desc']
1758
- apitype = apidef['type']
1759
-
1760
- callsig = genCallsig(apitype)
1761
- md.addHead(f'{apiname}{callsig}', lvl=3)
1762
- if depr := apidef.get('deprecated'):
1763
- md.addLines(*genDeprecationWarningMd(apiname, depr))
1764
- md.addLines(*prepareMdLines(apidesc))
1765
- md.addLines(*getArgLinesMd(apitype))
1766
- md.addLines(*getReturnLinesMd(apitype))
1755
+ _renderApiDefMd(md, apidef, 3)
1767
1756
 
1768
1757
  if not hasapi:
1769
1758
  md.addLines('This package does not export any Storm APIs.', '')
1770
1759
 
1760
+ def _renderApiDefMd(md, apidef, lvl):
1761
+ '''
1762
+ Render one module apidef: a function, or a class followed by each of its methods one level down.
1763
+ '''
1764
+ apiname = apidef['name']
1765
+ apidesc = apidef['desc']
1766
+ apitype = apidef['type']
1767
+
1768
+ callsig = genCallsig(apitype)
1769
+ md.addHead(f'{apiname}{callsig}', lvl=lvl)
1770
+ if depr := apidef.get('deprecated'):
1771
+ md.addLines(*genDeprecationWarningMd(apiname, depr))
1772
+
1773
+ md.addLines(*prepareMdLines(apidesc))
1774
+ md.addLines(*getArgLinesMd(apitype))
1775
+
1776
+ # a class returns nothing itself: its methods each document their own returns
1777
+ if apitype.get('type') != 'class':
1778
+ md.addLines(*getReturnLinesMd(apitype))
1779
+ return
1780
+
1781
+ for methdef in apitype['methods']:
1782
+ _renderApiDefMd(md, methdef, lvl + 1)
1783
+
1771
1784
  def _renderDepsTableMd(rows):
1772
1785
  lines = ['| Name | Version | Optional | Description |', '|---|---|---|---|']
1773
1786
  for name, vers, optional, desc in rows:
@@ -948,7 +948,7 @@ class Cell(s_nexus.Pusher, s_telepath.Aware):
948
948
  'type': 'string',
949
949
  },
950
950
  'aha:promotable': {
951
- 'description': 'Set to false to prevent this service from being promoted to leader.',
951
+ 'description': 'Set to false to exclude this service from automatic leader selection when the leader demotes, including during a graceful shutdown. It does not prevent an explicit promotion.',
952
952
  'type': 'boolean',
953
953
  'default': True,
954
954
  },
@@ -2094,12 +2094,8 @@ class Cell(s_nexus.Pusher, s_telepath.Aware):
2094
2094
  # consult the AHA leadership term for our service type to determine
2095
2095
  # whether we should take leadership or follow the current leader.
2096
2096
  proxy = await self.getAhaProxy()
2097
- if proxy is None: # pragma: no cover
2098
- ahaurls = self.conf.get('aha:registry', ())
2099
- if isinstance(ahaurls, str):
2100
- ahaurls = (ahaurls,)
2101
-
2102
- ahaurls = [s_urlhelp.sanitizeUrl(u) for u in ahaurls]
2097
+ if proxy is None:
2098
+ ahaurls = [s_urlhelp.sanitizeUrl(u) for u in self.conf.get('aha:servers', ())]
2103
2099
  mesg = f'Unable to reach AHA to register the leadership term during boot. Configured AHA URLs: {ahaurls}'
2104
2100
  raise s_exc.NotReady(mesg=mesg, aha=ahaurls)
2105
2101
 
@@ -2656,7 +2652,7 @@ class Cell(s_nexus.Pusher, s_telepath.Aware):
2656
2652
  retn = []
2657
2653
  async for svcentry in ahaproxy.getAhaSvcsByIden(self.iden, skiprun=self.runid):
2658
2654
 
2659
- if not svcentry['info'].get('promotable'): # pragma: no cover
2655
+ if not svcentry['info'].get('promotable'):
2660
2656
  continue
2661
2657
 
2662
2658
  retn.append(svcentry)
@@ -2703,7 +2699,7 @@ class Cell(s_nexus.Pusher, s_telepath.Aware):
2703
2699
  logger.warning('...no suitable services discovered. Aborting demotion.', extra=extra)
2704
2700
  return False
2705
2701
 
2706
- for svcindx, svcproxy in sorted(cands):
2702
+ for svcindx, svcproxy in sorted(cands, key=lambda c: c[0], reverse=True):
2707
2703
 
2708
2704
  try:
2709
2705
  await svcproxy.promote()
@@ -392,8 +392,11 @@ def bundleManifestEntries(srcdir, outdir, basedir):
392
392
  def saveManifest(path, entries):
393
393
  '''
394
394
  Write entries as a GNU sha256sum-format manifest: MANIFEST_HEADER, then one
395
- "<hex> <relpath>" line per entry, sorted by relpath, single trailing
396
- newline.
395
+ "<hex> <relpath>" line per entry, sorted by relpath, with a '#' comment line
396
+ between entries and a single trailing newline.
397
+
398
+ The comment lines keep every entry from touching its neighbors, so two
399
+ branches that each change a different page's hash merge without a conflict.
397
400
 
398
401
  Sorting happens HERE, and only here -- a plain codepoint sorted() on the
399
402
  relpath string, no locale, no str.lower(), no path-segment-aware comparison
@@ -420,7 +423,10 @@ def saveManifest(path, entries):
420
423
 
421
424
  with open(path, 'w') as fd:
422
425
  fd.write(MANIFEST_HEADER)
423
- for relpath in sorted(byrelpath):
426
+ for i, relpath in enumerate(sorted(byrelpath)):
427
+ if i:
428
+ fd.write('#\n')
429
+
424
430
  fd.write(f'{byrelpath[relpath]} {relpath}\n')
425
431
 
426
432
  def checkManifest(bundle, entries, basedir, hint=None):
@@ -1195,42 +1195,80 @@ _reqValidPkgdefSchema = {
1195
1195
  'name': {'type': 'string'},
1196
1196
  'desc': {'type': 'string'},
1197
1197
  'deprecated': {'$ref': '#/definitions/deprecatedItem'},
1198
+ # branched on type.type rather than oneOf, so an error names the field that failed
1198
1199
  'type': {
1200
+ 'if': {'properties': {'type': {'const': 'class'}}, 'required': ['type']},
1201
+ 'then': {'$ref': '#/definitions/apiclass'},
1202
+ 'else': {'$ref': '#/definitions/apifunc'},
1203
+ },
1204
+ },
1205
+ 'additionalProperties': False,
1206
+ 'required': ['name', 'desc', 'type']
1207
+ },
1208
+ # a method of a class apidef: a function, which may be deprecated on its own
1209
+ 'apimethod': {
1210
+ 'type': 'object',
1211
+ 'properties': {
1212
+ 'name': {'type': 'string'},
1213
+ 'desc': {'type': 'string'},
1214
+ 'deprecated': {'$ref': '#/definitions/deprecatedItem'},
1215
+ 'type': {'$ref': '#/definitions/apifunc'},
1216
+ },
1217
+ 'additionalProperties': False,
1218
+ 'required': ['name', 'desc', 'type']
1219
+ },
1220
+ 'apifunc': {
1221
+ 'type': 'object',
1222
+ 'properties': {
1223
+ 'type': {
1224
+ 'type': 'string',
1225
+ 'enum': ['function']
1226
+ },
1227
+ 'args': {
1228
+ 'type': 'array',
1229
+ 'items': {'$ref': '#/definitions/apiarg'},
1230
+ },
1231
+ 'returns': {
1199
1232
  'type': 'object',
1200
1233
  'properties': {
1201
- 'type': {
1234
+ 'name': {
1202
1235
  'type': 'string',
1203
- 'enum': ['function']
1204
- },
1205
- 'args': {
1206
- 'type': 'array',
1207
- 'items': {'$ref': '#/definitions/apiarg'},
1236
+ 'enum': ['yields'],
1208
1237
  },
1209
- 'returns': {
1210
- 'type': 'object',
1211
- 'properties': {
1212
- 'name': {
1213
- 'type': 'string',
1214
- 'enum': ['yields'],
1215
- },
1216
- 'desc': {'type': 'string'},
1217
- 'type': {
1218
- 'oneOf': [
1219
- {'$ref': '#/definitions/apitype'},
1220
- {'type': 'array', 'items': {'$ref': '#/definitions/apitype'}},
1221
- ],
1222
- },
1223
- },
1224
- 'additionalProperties': False,
1225
- 'required': ['type', 'desc']
1238
+ 'desc': {'type': 'string'},
1239
+ 'type': {
1240
+ 'oneOf': [
1241
+ {'$ref': '#/definitions/apitype'},
1242
+ {'type': 'array', 'items': {'$ref': '#/definitions/apitype'}},
1243
+ ],
1226
1244
  },
1227
1245
  },
1228
1246
  'additionalProperties': False,
1229
- 'required': ['type', 'returns'],
1247
+ 'required': ['type', 'desc']
1230
1248
  },
1231
1249
  },
1232
1250
  'additionalProperties': False,
1233
- 'required': ['name', 'desc', 'type']
1251
+ 'required': ['type', 'returns'],
1252
+ },
1253
+ 'apiclass': {
1254
+ 'type': 'object',
1255
+ 'properties': {
1256
+ 'type': {
1257
+ 'type': 'string',
1258
+ 'enum': ['class']
1259
+ },
1260
+ # the arguments the class constructor takes
1261
+ 'args': {
1262
+ 'type': 'array',
1263
+ 'items': {'$ref': '#/definitions/apiarg'},
1264
+ },
1265
+ 'methods': {
1266
+ 'type': 'array',
1267
+ 'items': {'$ref': '#/definitions/apimethod'},
1268
+ },
1269
+ },
1270
+ 'additionalProperties': False,
1271
+ 'required': ['type', 'methods'],
1234
1272
  },
1235
1273
  'apiarg': {
1236
1274
  'type': 'object',
@@ -1725,3 +1763,17 @@ _jwtclaimschema = {
1725
1763
  }
1726
1764
  reqValidJwtClaims = s_config.getJsValidator(_jwtclaimschema)
1727
1765
  jwtRegisteredClaims = frozenset(_jwtclaimschema['properties'])
1766
+
1767
+ _stormLintStrList = {'type': 'array', 'items': {'type': 'string'}}
1768
+
1769
+ _stormLintConfSchema = {
1770
+ 'type': 'object',
1771
+ 'properties': {
1772
+ 'select': _stormLintStrList,
1773
+ 'ignore': _stormLintStrList,
1774
+ 'enable': _stormLintStrList,
1775
+ 'exclude': _stormLintStrList,
1776
+ },
1777
+ 'additionalProperties': False,
1778
+ }
1779
+ reqValidStormLintConf = s_config.getJsValidator(_stormLintConfSchema)