wireforge 0.1.0__py3-none-any.whl

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 (96) hide show
  1. wireforge/__init__.py +3 -0
  2. wireforge/_data/cmake/WireForgeConfig.cmake +29 -0
  3. wireforge/_data/cmake/WireForgeConfigVersion.cmake +15 -0
  4. wireforge/_data/cmake/WireForgeGenerate.cmake +64 -0
  5. wireforge/_data/runtime/LICENSE +21 -0
  6. wireforge/_data/runtime/include/wireforge/array_access.hpp +35 -0
  7. wireforge/_data/runtime/include/wireforge/bit_utils.hpp +226 -0
  8. wireforge/_data/runtime/include/wireforge/byte_io.hpp +387 -0
  9. wireforge/_data/runtime/include/wireforge/checksum.hpp +201 -0
  10. wireforge/_data/runtime/include/wireforge/codec_support.hpp +412 -0
  11. wireforge/_data/runtime/include/wireforge/config.hpp +41 -0
  12. wireforge/_data/runtime/include/wireforge/delegate.hpp +101 -0
  13. wireforge/_data/runtime/include/wireforge/dispatcher.hpp +339 -0
  14. wireforge/_data/runtime/include/wireforge/expr_support.hpp +38 -0
  15. wireforge/_data/runtime/include/wireforge/frame_decoder.hpp +262 -0
  16. wireforge/_data/runtime/include/wireforge/frame_layout.hpp +20 -0
  17. wireforge/_data/runtime/include/wireforge/link.hpp +223 -0
  18. wireforge/_data/runtime/include/wireforge/lock.hpp +146 -0
  19. wireforge/_data/runtime/include/wireforge/ring_buffer.hpp +226 -0
  20. wireforge/_data/runtime/include/wireforge/span.hpp +116 -0
  21. wireforge/_data/runtime/include/wireforge/static_vector.hpp +264 -0
  22. wireforge/_data/runtime/include/wireforge/status.hpp +75 -0
  23. wireforge/_data/runtime/include/wireforge/transport.hpp +95 -0
  24. wireforge/_data/runtime/include/wireforge/validation.hpp +153 -0
  25. wireforge/_data/runtime/include/wireforge/version.hpp +22 -0
  26. wireforge/_data/runtime/requirements.yaml +438 -0
  27. wireforge/_data/schema/deviations.schema.json +47 -0
  28. wireforge/_data/schema/fragment.schema.json +79 -0
  29. wireforge/_data/schema/llr_ids.schema.json +25 -0
  30. wireforge/_data/schema/project.schema.json +1240 -0
  31. wireforge/_data/schema/runtime_requirements.schema.json +34 -0
  32. wireforge/_data/ui/assets/index-6Pomu6U4.js +44 -0
  33. wireforge/_data/ui/assets/index-GVdDyUAG.css +1 -0
  34. wireforge/_data/ui/index.html +13 -0
  35. wireforge/bundle.py +177 -0
  36. wireforge/ci_check.py +155 -0
  37. wireforge/cli.py +617 -0
  38. wireforge/codec.py +897 -0
  39. wireforge/compat.py +536 -0
  40. wireforge/coverage_points.py +64 -0
  41. wireforge/cpp.py +273 -0
  42. wireforge/cpp_codec.py +440 -0
  43. wireforge/cpp_interface.py +874 -0
  44. wireforge/cpp_tests.py +1993 -0
  45. wireforge/differential.py +586 -0
  46. wireforge/docs_markdown.py +72 -0
  47. wireforge/expr.py +598 -0
  48. wireforge/findings.py +187 -0
  49. wireforge/fmt.py +351 -0
  50. wireforge/generate.py +644 -0
  51. wireforge/golden.py +253 -0
  52. wireforge/hlr_import.py +112 -0
  53. wireforge/impact.py +249 -0
  54. wireforge/importers.py +402 -0
  55. wireforge/issues.py +27 -0
  56. wireforge/layout.py +681 -0
  57. wireforge/lifecycle.py +1266 -0
  58. wireforge/lifecycle_results.py +205 -0
  59. wireforge/lifecycle_rules.py +78 -0
  60. wireforge/lifecycle_runtime.py +375 -0
  61. wireforge/llr.py +693 -0
  62. wireforge/llr_ids.py +104 -0
  63. wireforge/loader.py +422 -0
  64. wireforge/mcp_server.py +357 -0
  65. wireforge/model.py +322 -0
  66. wireforge/plain.py +15 -0
  67. wireforge/py.typed +0 -0
  68. wireforge/reqif.py +289 -0
  69. wireforge/resources.py +43 -0
  70. wireforge/results.py +377 -0
  71. wireforge/runtime_reqs.py +147 -0
  72. wireforge/schema.py +151 -0
  73. wireforge/server/__init__.py +1 -0
  74. wireforge/server/app.py +619 -0
  75. wireforge/server/oidc.py +99 -0
  76. wireforge/server/storage.py +146 -0
  77. wireforge/service.py +1354 -0
  78. wireforge/templates/command/project.yaml +38 -0
  79. wireforge/templates/raw/project.yaml +28 -0
  80. wireforge/templates/telemetry/project.yaml +51 -0
  81. wireforge/test_cases.py +475 -0
  82. wireforge/test_project.py +478 -0
  83. wireforge/trace.py +442 -0
  84. wireforge/validate.py +1241 -0
  85. wireforge/vcs.py +44 -0
  86. wireforge/vectors.py +222 -0
  87. wireforge/versioning.py +137 -0
  88. wireforge/wireshark.py +792 -0
  89. wireforge/wireshark_runtime.lua +725 -0
  90. wireforge-0.1.0.dist-info/METADATA +91 -0
  91. wireforge-0.1.0.dist-info/RECORD +96 -0
  92. wireforge-0.1.0.dist-info/WHEEL +5 -0
  93. wireforge-0.1.0.dist-info/entry_points.txt +2 -0
  94. wireforge-0.1.0.dist-info/licenses/LICENSE +98 -0
  95. wireforge-0.1.0.dist-info/licenses/runtime/LICENSE +21 -0
  96. wireforge-0.1.0.dist-info/top_level.txt +1 -0
@@ -0,0 +1,79 @@
1
+ {
2
+ "$schema": "https://json-schema.org/draft/2020-12/schema",
3
+ "title": "WireForge project fragment (included file)",
4
+ "description": "Fragments carry schema_version plus definition sections; project, include, defaults and user_includes live in the root file.",
5
+ "type": "object",
6
+ "properties": {
7
+ "defines": {
8
+ "$ref": "project.schema.json#/$defs/sections/properties/defines"
9
+ },
10
+ "profiles": {
11
+ "$ref": "project.schema.json#/$defs/sections/properties/profiles"
12
+ },
13
+ "checksums": {
14
+ "$ref": "project.schema.json#/$defs/sections/properties/checksums"
15
+ },
16
+ "enums": {
17
+ "$ref": "project.schema.json#/$defs/sections/properties/enums"
18
+ },
19
+ "types": {
20
+ "$ref": "project.schema.json#/$defs/sections/properties/types"
21
+ },
22
+ "user_types": {
23
+ "$ref": "project.schema.json#/$defs/sections/properties/user_types"
24
+ },
25
+ "messages": {
26
+ "$ref": "project.schema.json#/$defs/sections/properties/messages"
27
+ },
28
+ "interfaces": {
29
+ "$ref": "project.schema.json#/$defs/sections/properties/interfaces"
30
+ },
31
+ "schema_version": {
32
+ "$ref": "project.schema.json#/$defs/schemaVersion"
33
+ },
34
+ "schema_minor": {
35
+ "$ref": "project.schema.json#/$defs/schemaMinor"
36
+ },
37
+ "generator": {
38
+ "$ref": "project.schema.json#/$defs/generator"
39
+ },
40
+ "requirements": {
41
+ "$ref": "project.schema.json#/$defs/sections/properties/requirements"
42
+ },
43
+ "vectors": {
44
+ "$ref": "project.schema.json#/$defs/sections/properties/vectors"
45
+ },
46
+ "requirements_source": {
47
+ "type": "object",
48
+ "required": [
49
+ "tool",
50
+ "baseline",
51
+ "sha256",
52
+ "content_sha256"
53
+ ],
54
+ "properties": {
55
+ "tool": {
56
+ "type": "string"
57
+ },
58
+ "baseline": {
59
+ "type": "string"
60
+ },
61
+ "file": {
62
+ "type": "string"
63
+ },
64
+ "sha256": {
65
+ "type": "string"
66
+ },
67
+ "content_sha256": {
68
+ "type": "string"
69
+ }
70
+ },
71
+ "additionalProperties": false,
72
+ "description": "Where the requirements of this snapshot came from (written by `wireforge reqs-import`)."
73
+ }
74
+ },
75
+ "additionalProperties": false,
76
+ "required": [
77
+ "schema_version"
78
+ ]
79
+ }
@@ -0,0 +1,25 @@
1
+ {
2
+ "$schema": "https://json-schema.org/draft/2020-12/schema",
3
+ "title": "WireForge low-level requirement numbers (llr_ids.lock)",
4
+ "description": "Optional file in the project directory. It gives every low-level requirement a number that never changes or returns; it is not part of the model and does not change the model hash.",
5
+ "type": "object",
6
+ "required": ["schema_version", "format", "next", "ids"],
7
+ "properties": {
8
+ "schema_version": { "const": 1 },
9
+ "format": {
10
+ "type": "string",
11
+ "pattern": "^[A-Za-z0-9_.:-]*[{]n(:[0-9]*d)?[}][A-Za-z0-9_.:-]*$",
12
+ "description": "Python format string with one field `n`, e.g. SWLLR-{n:05d}. The result uses only letters, digits and _ . : -."
13
+ },
14
+ "next": { "type": "integer", "minimum": 1 },
15
+ "ids": {
16
+ "type": "object",
17
+ "additionalProperties": { "type": "string", "pattern": "^[A-Za-z0-9_.:-]+$" }
18
+ },
19
+ "retired": {
20
+ "type": "object",
21
+ "additionalProperties": { "type": "string", "pattern": "^[A-Za-z0-9_.:-]+$" }
22
+ }
23
+ },
24
+ "additionalProperties": false
25
+ }