@opensoha/contracts 0.1.15 → 0.1.17

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 (211) hide show
  1. package/COMPATIBILITY.md +46 -0
  2. package/README.md +12 -3
  3. package/auth/catalog_generated.go +2 -2
  4. package/auth/catalog_test.go +32 -0
  5. package/auth/permission-catalog.json +537 -8
  6. package/compat/json-schema-ecosystem-0.1.0.json +1 -1
  7. package/compat/openapi-loose-boundaries-0.1.0.json +58 -1
  8. package/fixtures/json-schema/network-ingest-event/invalid/duplicate-event.json +33 -0
  9. package/fixtures/json-schema/network-ingest-event/invalid/message-payload-mismatch.json +23 -0
  10. package/fixtures/json-schema/network-ingest-event/invalid/password.json +22 -0
  11. package/fixtures/json-schema/network-ingest-event/invalid/proxy-flow-destination.json +28 -0
  12. package/fixtures/json-schema/network-ingest-event/valid/endpoint-proxy-flow.json +27 -0
  13. package/fixtures/json-schema/network-ingest-event/valid/freeradius-accounting.json +25 -0
  14. package/fixtures/json-schema/network-ingest-event/valid/gateway.json +53 -0
  15. package/fixtures/json-schema/network-radius-accounting/invalid/password.json +9 -0
  16. package/fixtures/json-schema/network-radius-accounting/valid/accounting.json +16 -0
  17. package/fixtures/json-schema/network-runtime-protocol/invalid/invalid-cidr.json +31 -0
  18. package/fixtures/json-schema/network-runtime-protocol/invalid/message-payload-mismatch.json +19 -0
  19. package/fixtures/json-schema/network-runtime-protocol/invalid/mihomo-raw-subscription.json +33 -0
  20. package/fixtures/json-schema/network-runtime-protocol/invalid/nas-authorization-password.json +18 -0
  21. package/fixtures/json-schema/network-runtime-protocol/invalid/nas-eap-without-certificate.json +17 -0
  22. package/fixtures/json-schema/network-runtime-protocol/invalid/private-key.json +20 -0
  23. package/fixtures/json-schema/network-runtime-protocol/invalid/raw-credential-reference.json +16 -0
  24. package/fixtures/json-schema/network-runtime-protocol/invalid/runtime-interval-too-short.json +23 -0
  25. package/fixtures/json-schema/network-runtime-protocol/invalid/wireguard-capability-without-key.json +19 -0
  26. package/fixtures/json-schema/network-runtime-protocol/invalid/wireguard-default-route.json +31 -0
  27. package/fixtures/json-schema/network-runtime-protocol/invalid/ztna-without-access-grant.json +17 -0
  28. package/fixtures/json-schema/network-runtime-protocol/valid/configuration-desired.json +86 -0
  29. package/fixtures/json-schema/network-runtime-protocol/valid/direct-ztna-connect.json +19 -0
  30. package/fixtures/json-schema/network-runtime-protocol/valid/direct-ztna-result.json +33 -0
  31. package/fixtures/json-schema/network-runtime-protocol/valid/internal-ztna-connect.json +19 -0
  32. package/fixtures/json-schema/network-runtime-protocol/valid/mihomo-app-subscription-configuration.json +32 -0
  33. package/fixtures/json-schema/network-runtime-protocol/valid/mihomo-manual-node-configuration.json +32 -0
  34. package/fixtures/json-schema/network-runtime-protocol/valid/mihomo-wireguard-configuration.json +70 -0
  35. package/fixtures/json-schema/network-runtime-protocol/valid/nas-authorization-request.json +19 -0
  36. package/fixtures/json-schema/network-runtime-protocol/valid/nas-authorization-result.json +24 -0
  37. package/fixtures/json-schema/network-runtime-protocol/valid/nas-session-command-result.json +17 -0
  38. package/fixtures/json-schema/network-runtime-protocol/valid/nas-session-command.json +27 -0
  39. package/fixtures/json-schema/network-runtime-protocol/valid/vpn-connect-request.json +17 -0
  40. package/fixtures/json-schema/network-runtime-protocol/valid/vpn-connect-result.json +34 -0
  41. package/fixtures/json-schema/network-runtime-protocol/valid/wireguard-enrollment.json +20 -0
  42. package/fixtures/json-schema/network-runtime-protocol/valid/wireguard-site-link.json +48 -0
  43. package/fixtures/openapi/AlertRuleEnvelope/invalid/missing-data.json +1 -0
  44. package/fixtures/openapi/AlertRuleEnvelope/valid/metrics.json +11 -0
  45. package/fixtures/openapi/AlertRuleInput/invalid/missing-name.json +3 -0
  46. package/fixtures/openapi/AlertRuleInput/valid/metrics.json +25 -0
  47. package/fixtures/openapi/AlertRuleRunListEnvelope/invalid/missing-rule-id.json +12 -0
  48. package/fixtures/openapi/AlertRuleRunListEnvelope/valid/items.json +13 -0
  49. package/fixtures/openapi/AlertRuleTestResultEnvelope/invalid/missing-executed-at.json +5 -0
  50. package/fixtures/openapi/AlertRuleTestResultEnvelope/valid/clear.json +10 -0
  51. package/fixtures/openapi/AnnouncementReceiptPageEnvelope/invalid/missing-read-count.json +9 -0
  52. package/fixtures/openapi/AnnouncementReceiptPageEnvelope/valid/read-and-unread.json +28 -0
  53. package/fixtures/openapi/ApplicationRuntimeEnvironment/invalid/unknown-status.json +7 -0
  54. package/fixtures/openapi/ApplicationRuntimeEnvironment/valid/unavailable.json +7 -0
  55. package/fixtures/openapi/ApplicationWorkflowInput/invalid/owner-fields.json +7 -0
  56. package/fixtures/openapi/ApplicationWorkflowInput/valid/minimal.json +9 -0
  57. package/fixtures/openapi/BrandingAssetUploadEnvelope/valid/svg-data-url.json +5 -0
  58. package/fixtures/openapi/BrowserHandoffCompletionEnvelope/invalid/token-leak.json +7 -0
  59. package/fixtures/openapi/BrowserHandoffCompletionEnvelope/valid/completed.json +6 -0
  60. package/fixtures/openapi/BrowserHandoffEnvelope/invalid/missing-principal.json +12 -0
  61. package/fixtures/openapi/BrowserHandoffEnvelope/valid/pending.json +11 -0
  62. package/fixtures/openapi/ChangePasswordRequest/invalid/missing-current-password.json +3 -0
  63. package/fixtures/openapi/ChangePasswordRequest/invalid/short-new-password.json +4 -0
  64. package/fixtures/openapi/ChangePasswordRequest/valid/password.json +4 -0
  65. package/fixtures/openapi/DesktopAuthAttemptCreateRequest/invalid/https-redirect.json +6 -0
  66. package/fixtures/openapi/DesktopAuthAttemptCreateRequest/invalid/localhost-redirect.json +6 -0
  67. package/fixtures/openapi/DesktopAuthAttemptCreateRequest/invalid/plain-challenge.json +6 -0
  68. package/fixtures/openapi/DesktopAuthAttemptCreateRequest/invalid/privileged-port.json +6 -0
  69. package/fixtures/openapi/DesktopAuthAttemptCreateRequest/invalid/short-callback.json +6 -0
  70. package/fixtures/openapi/DesktopAuthAttemptCreateRequest/valid/loopback.json +6 -0
  71. package/fixtures/openapi/DesktopAuthAttemptEnvelope/invalid/missing-expiry.json +6 -0
  72. package/fixtures/openapi/DesktopAuthAttemptEnvelope/valid/attempt.json +7 -0
  73. package/fixtures/openapi/DesktopAuthAttemptExchangeRequest/invalid/short-verifier.json +4 -0
  74. package/fixtures/openapi/DesktopAuthAttemptExchangeRequest/valid/exchange.json +4 -0
  75. package/fixtures/openapi/EndpointDevice/invalid/missing-owner.json +8 -0
  76. package/fixtures/openapi/EndpointDevice/valid/active.json +35 -0
  77. package/fixtures/openapi/EndpointDeviceRegistrationInput/invalid/client-owned-status.json +5 -0
  78. package/fixtures/openapi/EndpointDeviceRegistrationInput/invalid/oversized-network-inventory.json +18 -0
  79. package/fixtures/openapi/EndpointDeviceRegistrationInput/valid/macos.json +28 -0
  80. package/fixtures/openapi/IdentityApplication/invalid/missing-id.json +7 -0
  81. package/fixtures/openapi/IdentityApplication/valid/full.json +30 -0
  82. package/fixtures/openapi/IdentityApplicationEnvelope/invalid/missing-data.json +1 -0
  83. package/fixtures/openapi/IdentityApplicationEnvelope/valid/minimal.json +10 -0
  84. package/fixtures/openapi/IdentityApplicationLaunchListEnvelope/invalid/missing-user.json +11 -0
  85. package/fixtures/openapi/IdentityApplicationLaunchListEnvelope/valid/minimal.json +12 -0
  86. package/fixtures/openapi/LLMUpstreamTestResultEnvelope/invalid/models-not-array.json +9 -0
  87. package/fixtures/openapi/LLMUpstreamTestResultEnvelope/valid/discovered-models.json +11 -0
  88. package/fixtures/openapi/LogQuery/invalid/empty-data-source-id.json +7 -0
  89. package/fixtures/openapi/LogQuery/valid/durable-data-source.json +14 -0
  90. package/fixtures/openapi/ManifestPackage/invalid/missing-application.json +12 -0
  91. package/fixtures/openapi/ManifestPackage/valid/service-scoped.json +29 -0
  92. package/fixtures/openapi/NetworkAccessGrant/invalid/token-digest.json +15 -0
  93. package/fixtures/openapi/NetworkAccessGrant/valid/issued.json +14 -0
  94. package/fixtures/openapi/NetworkAccessGrantInput/invalid/no-resources.json +7 -0
  95. package/fixtures/openapi/NetworkAccessGrantInput/valid/direct-ztna.json +8 -0
  96. package/fixtures/openapi/NetworkAccessGrantSecret/invalid/short-token.json +17 -0
  97. package/fixtures/openapi/NetworkAccessGrantSecret/valid/issued.json +17 -0
  98. package/fixtures/openapi/NetworkAccessPolicy/invalid/missing-version.json +20 -0
  99. package/fixtures/openapi/NetworkAccessPolicy/valid/published-draft.json +21 -0
  100. package/fixtures/openapi/NetworkAccessPolicyInput/invalid/duplicate-team.json +17 -0
  101. package/fixtures/openapi/NetworkAccessPolicyInput/valid/team-and-tag-allow.json +17 -0
  102. package/fixtures/openapi/NetworkConflictAnalysisRequest/invalid/ipv6-range.json +9 -0
  103. package/fixtures/openapi/NetworkConflictAnalysisRequest/valid/runtime-ranges.json +15 -0
  104. package/fixtures/openapi/NetworkConnectionOption/invalid/secret.json +10 -0
  105. package/fixtures/openapi/NetworkConnectionOption/valid/wifi.json +9 -0
  106. package/fixtures/openapi/NetworkConnectionOption/valid/wired.json +8 -0
  107. package/fixtures/openapi/NetworkGateway/invalid/missing-site.json +7 -0
  108. package/fixtures/openapi/NetworkGateway/valid/online.json +23 -0
  109. package/fixtures/openapi/NetworkGatewayInput/invalid/default-route-overlay.json +13 -0
  110. package/fixtures/openapi/NetworkGatewayInput/valid/routed.json +14 -0
  111. package/fixtures/openapi/NetworkLease/invalid/empty-cidrs.json +12 -0
  112. package/fixtures/openapi/NetworkLease/valid/active.json +12 -0
  113. package/fixtures/openapi/NetworkMihomoProfile/invalid/subscription-leak.json +20 -0
  114. package/fixtures/openapi/NetworkMihomoProfile/valid/managed.json +21 -0
  115. package/fixtures/openapi/NetworkMihomoProfileInput/invalid/app-subscription-secret.json +14 -0
  116. package/fixtures/openapi/NetworkMihomoProfileInput/invalid/manual-node-with-subscription.json +20 -0
  117. package/fixtures/openapi/NetworkMihomoProfileInput/valid/app-subscription.json +14 -0
  118. package/fixtures/openapi/NetworkMihomoProfileInput/valid/managed.json +16 -0
  119. package/fixtures/openapi/NetworkMihomoProfileInput/valid/manual-node.json +21 -0
  120. package/fixtures/openapi/NetworkNASBinding/invalid/secret.json +13 -0
  121. package/fixtures/openapi/NetworkNASBinding/valid/default.json +16 -0
  122. package/fixtures/openapi/NetworkNASBindingInput/invalid/secret.json +10 -0
  123. package/fixtures/openapi/NetworkNASBindingInput/valid/default.json +13 -0
  124. package/fixtures/openapi/NetworkPolicyPreviewRequest/invalid/unknown-mode.json +6 -0
  125. package/fixtures/openapi/NetworkPolicyPreviewRequest/valid/external-direct-ztna.json +6 -0
  126. package/fixtures/openapi/NetworkPolicyPreviewRequest/valid/external-vpn-ztna.json +6 -0
  127. package/fixtures/openapi/NetworkPolicyPreviewRequest/valid/external-vpn.json +6 -0
  128. package/fixtures/openapi/NetworkPolicyPreviewRequest/valid/internal-direct.json +7 -0
  129. package/fixtures/openapi/NetworkPolicyPreviewRequest/valid/internal-ztna.json +7 -0
  130. package/fixtures/openapi/NetworkPolicyPreviewResult/invalid/bypass-path.json +9 -0
  131. package/fixtures/openapi/NetworkPolicyPreviewResult/valid/onboarding.json +10 -0
  132. package/fixtures/openapi/NetworkPolicyPreviewResult/valid/protected-broad-path-denied.json +9 -0
  133. package/fixtures/openapi/NetworkPolicyPreviewResult/valid/protected-resource.json +9 -0
  134. package/fixtures/openapi/NetworkPolicyPreviewResult/valid/quarantine.json +10 -0
  135. package/fixtures/openapi/NetworkPolicyPreviewResult/valid/restricted.json +10 -0
  136. package/fixtures/openapi/NetworkPolicySnapshot/invalid/zero-version.json +7 -0
  137. package/fixtures/openapi/NetworkPolicySnapshot/valid/published.json +7 -0
  138. package/fixtures/openapi/NetworkResourceInput/invalid/invalid-port.json +10 -0
  139. package/fixtures/openapi/NetworkResourceInput/valid/protected-cidr.json +10 -0
  140. package/fixtures/openapi/NetworkRuntimeEnrollmentInput/invalid/excessive-ttl.json +7 -0
  141. package/fixtures/openapi/NetworkRuntimeEnrollmentInput/valid/endpoint.json +7 -0
  142. package/fixtures/openapi/NetworkRuntimeEnrollmentSecret/invalid/short-token.json +15 -0
  143. package/fixtures/openapi/NetworkRuntimeEnrollmentSecret/valid/pending.json +15 -0
  144. package/fixtures/openapi/NetworkSession/invalid/unknown-status.json +14 -0
  145. package/fixtures/openapi/NetworkSession/valid/restricted-vpn-ztna.json +16 -0
  146. package/fixtures/openapi/NetworkSessionActionExecuteInput/invalid/short-hash.json +6 -0
  147. package/fixtures/openapi/NetworkSessionActionExecuteInput/valid/restrict.json +6 -0
  148. package/fixtures/openapi/NetworkSessionActionInput/invalid/unknown-action.json +5 -0
  149. package/fixtures/openapi/NetworkSessionActionInput/valid/restrict.json +5 -0
  150. package/fixtures/openapi/NetworkSessionActionPlan/invalid/missing-hash.json +12 -0
  151. package/fixtures/openapi/NetworkSessionActionPlan/valid/fallback-disconnect.json +13 -0
  152. package/fixtures/openapi/NetworkSessionCommand/invalid/unknown-status.json +14 -0
  153. package/fixtures/openapi/NetworkSessionCommand/valid/pending.json +14 -0
  154. package/fixtures/openapi/NetworkSiteInput/invalid/unknown-status.json +4 -0
  155. package/fixtures/openapi/NetworkSiteInput/valid/shanghai.json +5 -0
  156. package/fixtures/openapi/NetworkSiteProfileBinding/invalid/vlan.json +9 -0
  157. package/fixtures/openapi/NetworkSiteProfileBinding/valid/default.json +10 -0
  158. package/fixtures/openapi/NetworkSiteProfileBindingInput/invalid/timeout.json +7 -0
  159. package/fixtures/openapi/NetworkSiteProfileBindingInput/valid/default.json +7 -0
  160. package/fixtures/openapi/NetworkSpaceInput/invalid/empty-cidrs.json +6 -0
  161. package/fixtures/openapi/NetworkSpaceInput/invalid/malformed-cidr.json +6 -0
  162. package/fixtures/openapi/NetworkSpaceInput/valid/corp.json +6 -0
  163. package/fixtures/openapi/NetworkTelemetrySummary/invalid/raw-destination.json +29 -0
  164. package/fixtures/openapi/NetworkTelemetrySummary/valid/proxy-flow.json +36 -0
  165. package/fixtures/openapi/OIDCClientInput/valid/generated-client-id.json +8 -0
  166. package/fixtures/openapi/OIDCClientSecretRevealEnvelope/invalid/missing-secret.json +6 -0
  167. package/fixtures/openapi/OIDCClientSecretRevealEnvelope/valid/reveal.json +7 -0
  168. package/fixtures/openapi/PasswordChangeResult/invalid/unexpected-status.json +3 -0
  169. package/fixtures/openapi/PasswordChangeResult/valid/ok.json +3 -0
  170. package/fixtures/openapi/PortalApplicationListEnvelope/invalid/missing-items.json +1 -0
  171. package/fixtures/openapi/PortalApplicationListEnvelope/valid/minimal.json +12 -0
  172. package/fixtures/openapi/PortalBootstrapEnvelope/invalid/missing-security.json +17 -0
  173. package/fixtures/openapi/PortalBootstrapEnvelope/valid/minimal.json +31 -0
  174. package/fixtures/openapi/PortalLaunchDecisionEnvelope/invalid/missing-launch-url.json +14 -0
  175. package/fixtures/openapi/PortalLaunchDecisionEnvelope/valid/desktop-handoff.json +16 -0
  176. package/fixtures/openapi/PortalLaunchRequest/invalid/unknown-surface.json +3 -0
  177. package/fixtures/openapi/PortalLaunchRequest/valid/default-web.json +1 -0
  178. package/fixtures/openapi/PortalLaunchRequest/valid/desktop.json +3 -0
  179. package/fixtures/openapi/PortalSecuritySummaryEnvelope/invalid/missing-session-count.json +15 -0
  180. package/fixtures/openapi/PortalSecuritySummaryEnvelope/valid/minimal.json +16 -0
  181. package/fixtures/openapi/ResourceLease/invalid/missing-session.json +10 -0
  182. package/fixtures/openapi/ResourceLease/valid/active.json +11 -0
  183. package/fixtures/openapi/ScopeGrantInput/invalid/delivery-missing-business-line.json +7 -0
  184. package/fixtures/openapi/ScopeGrantInput/invalid/platform-missing-clusters.json +7 -0
  185. package/fixtures/openapi/ScopeGrantInput/valid/platform.json +8 -0
  186. package/fixtures/openapi/SoftwarePackage/valid/software-package.json +6 -0
  187. package/fixtures/openapi/SoftwarePackageDownloadRecord/invalid/negative-duration.json +6 -0
  188. package/fixtures/openapi/SoftwarePackageDownloadRecord/valid/software-package-download-record.json +8 -0
  189. package/fixtures/openapi/SoftwarePackageURLImportRequest/valid/software-package-url-import-request.json +4 -0
  190. package/fixtures/openapi/SoftwareStorage/invalid/software-storage.json +1 -1
  191. package/fixtures/openapi/SoftwareStorage/valid/software-storage.json +13 -1
  192. package/fixtures/openapi/SystemIntegrationCreateRequest/invalid/s3-storage-missing-name.json +5 -0
  193. package/fixtures/openapi/SystemIntegrationCreateRequest/valid/s3-software-storage.json +18 -0
  194. package/fixtures/openapi/UpdateProfileRequest/invalid/invalid-avatar-fit.json +5 -0
  195. package/fixtures/openapi/UpdateProfileRequest/invalid/missing-email.json +3 -0
  196. package/fixtures/openapi/UpdateProfileRequest/valid/profile.json +7 -0
  197. package/gen/go/sohaapi/client.go +210 -5
  198. package/gen/go/sohaapi/client_test.go +128 -5
  199. package/gen/go/sohaapi/types.go +3326 -369
  200. package/gen/go/sohaapi/types_test.go +22 -0
  201. package/gen/ts/sohaapi/index.ts +11612 -6479
  202. package/network/README.md +116 -0
  203. package/network/network-ingest-event.schema.json +187 -0
  204. package/network/network-radius-accounting.schema.json +41 -0
  205. package/network/network-runtime-protocol.schema.json +752 -0
  206. package/network/schema.go +26 -0
  207. package/network/schema_test.go +22 -0
  208. package/openapi/soha-api.json +29591 -18317
  209. package/openapi/soha-api.yaml +11603 -6720
  210. package/openapi/spec_generated.go +3 -3
  211. package/package.json +5 -1
@@ -0,0 +1,33 @@
1
+ {
2
+ "schemaVersion": "network-ingest/v1alpha1",
3
+ "batchId": "batch-duplicate-0001",
4
+ "producerId": "gateway-site-a",
5
+ "producerKind": "gateway",
6
+ "sentAt": "2026-09-02T08:01:00Z",
7
+ "events": [
8
+ {
9
+ "id": "event-duplicate-0001",
10
+ "type": "runtime.heartbeat",
11
+ "sequence": 101,
12
+ "occurredAt": "2026-09-02T08:00:59Z",
13
+ "payload": {
14
+ "status": "healthy",
15
+ "configurationVersion": 12,
16
+ "policyVersion": 7,
17
+ "uptimeSeconds": 3600
18
+ }
19
+ },
20
+ {
21
+ "id": "event-duplicate-0001",
22
+ "type": "runtime.heartbeat",
23
+ "sequence": 101,
24
+ "occurredAt": "2026-09-02T08:00:59Z",
25
+ "payload": {
26
+ "status": "healthy",
27
+ "configurationVersion": 12,
28
+ "policyVersion": 7,
29
+ "uptimeSeconds": 3600
30
+ }
31
+ }
32
+ ]
33
+ }
@@ -0,0 +1,23 @@
1
+ {
2
+ "schemaVersion": "network-ingest/v1alpha1",
3
+ "batchId": "batch-mismatch-0001",
4
+ "producerId": "gateway-site-a",
5
+ "producerKind": "gateway",
6
+ "sentAt": "2026-09-02T08:01:00Z",
7
+ "events": [
8
+ {
9
+ "id": "event-mismatch-0001",
10
+ "type": "runtime.heartbeat",
11
+ "sequence": 104,
12
+ "occurredAt": "2026-09-02T08:01:00Z",
13
+ "payload": {
14
+ "sessionId": "session-0001",
15
+ "resourceId": "resource-payroll",
16
+ "protocol": "tcp",
17
+ "destinationPort": 443,
18
+ "state": "denied",
19
+ "reasonCode": "missing_resource_lease"
20
+ }
21
+ }
22
+ ]
23
+ }
@@ -0,0 +1,22 @@
1
+ {
2
+ "schemaVersion": "network-ingest/v1alpha1",
3
+ "batchId": "batch-radius-secret",
4
+ "producerId": "freeradius-site-a",
5
+ "producerKind": "freeradius",
6
+ "sentAt": "2026-09-02T08:01:00Z",
7
+ "events": [
8
+ {
9
+ "id": "event-accounting-secret",
10
+ "type": "radius.accounting",
11
+ "sequence": 32,
12
+ "occurredAt": "2026-09-02T08:00:58Z",
13
+ "payload": {
14
+ "statusType": "start",
15
+ "accountingSessionId": "radius-session-0001",
16
+ "nasId": "nas-site-a-wifi",
17
+ "sessionTimeSeconds": 0,
18
+ "userPassword": "must-never-enter-ingest"
19
+ }
20
+ }
21
+ ]
22
+ }
@@ -0,0 +1,28 @@
1
+ {
2
+ "schemaVersion": "network-ingest/v1alpha1",
3
+ "batchId": "batch-endpoint-proxy-invalid",
4
+ "producerId": "endpoint-0001",
5
+ "producerKind": "endpoint",
6
+ "sentAt": "2026-09-02T08:01:00Z",
7
+ "events": [
8
+ {
9
+ "id": "event-proxy-flow-invalid",
10
+ "type": "proxy.flow.aggregate",
11
+ "sequence": 103,
12
+ "occurredAt": "2026-09-02T08:01:00Z",
13
+ "payload": {
14
+ "windowStartedAt": "2026-09-02T08:00:00Z",
15
+ "windowEndedAt": "2026-09-02T08:01:00Z",
16
+ "engine": "mihomo",
17
+ "profileId": "mihomo-default",
18
+ "profileRevision": 3,
19
+ "mode": "app_subscription",
20
+ "selectedProxy": "edge-a",
21
+ "uploadBytes": 1024,
22
+ "downloadBytes": 4096,
23
+ "activeConnections": 2,
24
+ "destinationHost": "private.example.test"
25
+ }
26
+ }
27
+ ]
28
+ }
@@ -0,0 +1,27 @@
1
+ {
2
+ "schemaVersion": "network-ingest/v1alpha1",
3
+ "batchId": "batch-endpoint-proxy-0001",
4
+ "producerId": "endpoint-0001",
5
+ "producerKind": "endpoint",
6
+ "sentAt": "2026-09-02T08:01:00Z",
7
+ "events": [
8
+ {
9
+ "id": "event-proxy-flow-0001",
10
+ "type": "proxy.flow.aggregate",
11
+ "sequence": 102,
12
+ "occurredAt": "2026-09-02T08:01:00Z",
13
+ "payload": {
14
+ "windowStartedAt": "2026-09-02T08:00:00Z",
15
+ "windowEndedAt": "2026-09-02T08:01:00Z",
16
+ "engine": "mihomo",
17
+ "profileId": "mihomo-default",
18
+ "profileRevision": 3,
19
+ "mode": "app_subscription",
20
+ "selectedProxy": "edge-a",
21
+ "uploadBytes": 1024,
22
+ "downloadBytes": 4096,
23
+ "activeConnections": 2
24
+ }
25
+ }
26
+ ]
27
+ }
@@ -0,0 +1,25 @@
1
+ {
2
+ "schemaVersion": "network-ingest/v1alpha1",
3
+ "batchId": "batch-radius-0001",
4
+ "producerId": "freeradius-site-a",
5
+ "producerKind": "freeradius",
6
+ "sentAt": "2026-09-02T08:01:00Z",
7
+ "events": [
8
+ {
9
+ "id": "event-accounting-0001",
10
+ "type": "radius.accounting",
11
+ "sequence": 31,
12
+ "occurredAt": "2026-09-02T08:00:58Z",
13
+ "payload": {
14
+ "statusType": "start",
15
+ "accountingSessionId": "radius-session-0001",
16
+ "nasId": "nas-site-a-wifi",
17
+ "userId": "user-alice",
18
+ "deviceId": "device-alice-laptop",
19
+ "sessionTimeSeconds": 0,
20
+ "inputOctets": 0,
21
+ "outputOctets": 0
22
+ }
23
+ }
24
+ ]
25
+ }
@@ -0,0 +1,53 @@
1
+ {
2
+ "schemaVersion": "network-ingest/v1alpha1",
3
+ "batchId": "batch-gateway-0001",
4
+ "producerId": "gateway-site-a",
5
+ "producerKind": "gateway",
6
+ "sentAt": "2026-09-02T08:01:00Z",
7
+ "events": [
8
+ {
9
+ "id": "event-heartbeat-0001",
10
+ "type": "runtime.heartbeat",
11
+ "sequence": 101,
12
+ "occurredAt": "2026-09-02T08:00:59Z",
13
+ "payload": {
14
+ "status": "healthy",
15
+ "configurationVersion": 12,
16
+ "policyVersion": 7,
17
+ "uptimeSeconds": 3600
18
+ }
19
+ },
20
+ {
21
+ "id": "event-flow-0001",
22
+ "type": "network.flow.aggregate",
23
+ "sequence": 102,
24
+ "occurredAt": "2026-09-02T08:01:00Z",
25
+ "payload": {
26
+ "windowStartedAt": "2026-09-02T08:00:00Z",
27
+ "windowEndedAt": "2026-09-02T08:01:00Z",
28
+ "sessionId": "session-0001",
29
+ "resourceId": "resource-payroll",
30
+ "direction": "egress",
31
+ "protocol": "tcp",
32
+ "bytes": 4096,
33
+ "packets": 24,
34
+ "connections": 2,
35
+ "deniedConnections": 0
36
+ }
37
+ },
38
+ {
39
+ "id": "event-connection-0001",
40
+ "type": "network.connection.summary",
41
+ "sequence": 103,
42
+ "occurredAt": "2026-09-02T08:01:00Z",
43
+ "payload": {
44
+ "sessionId": "session-0001",
45
+ "resourceId": "resource-payroll",
46
+ "protocol": "tcp",
47
+ "destinationPort": 443,
48
+ "state": "closed",
49
+ "reasonCode": "client_closed"
50
+ }
51
+ }
52
+ ]
53
+ }
@@ -0,0 +1,9 @@
1
+ {
2
+ "schemaVersion": "network-radius-accounting/v1alpha1",
3
+ "eventTimestamp": 1788336000,
4
+ "statusType": "start",
5
+ "accountingSessionId": "session-1",
6
+ "nasId": "nas-hq",
7
+ "sessionTimeSeconds": 0,
8
+ "userPassword": "must-not-cross-boundary"
9
+ }
@@ -0,0 +1,16 @@
1
+ {
2
+ "schemaVersion": "network-radius-accounting/v1alpha1",
3
+ "eventTimestamp": 1788336000,
4
+ "statusType": "interim-update",
5
+ "accountingSessionId": "session-1",
6
+ "sessionId": "soha-session-1",
7
+ "nasId": "nas-hq",
8
+ "nasPortId": "wlan-1",
9
+ "userId": "user-1",
10
+ "deviceId": "device-1",
11
+ "sessionTimeSeconds": 300,
12
+ "inputOctets": 1024,
13
+ "outputOctets": 2048,
14
+ "inputPackets": 10,
15
+ "outputPackets": 20
16
+ }
@@ -0,0 +1,31 @@
1
+ {
2
+ "schemaVersion": "network-runtime/v1alpha1",
3
+ "messageId": "msg-invalid-cidr",
4
+ "messageType": "configuration.desired",
5
+ "producerId": "network-control-default",
6
+ "runtimeId": "gateway-site-a",
7
+ "runtimeKind": "gateway",
8
+ "occurredAt": "2026-09-02T08:00:00Z",
9
+ "expiresAt": "2026-09-02T08:05:00Z",
10
+ "payload": {
11
+ "configurationVersion": 12,
12
+ "policyVersion": 7,
13
+ "validUntil": "2026-09-02T08:05:00Z",
14
+ "accessProfile": "full",
15
+ "protectedResourceIds": [],
16
+ "networkLeases": [
17
+ {
18
+ "id": "network-lease-invalid",
19
+ "sessionId": "session-0001",
20
+ "subjectId": "user-alice",
21
+ "deviceId": "device-alice-laptop",
22
+ "networkSpaceId": "space-site-a",
23
+ "cidrs": ["999.999.999.999/999"],
24
+ "policyVersion": 7,
25
+ "issuedAt": "2026-09-02T08:00:00Z",
26
+ "expiresAt": "2026-09-02T08:05:00Z"
27
+ }
28
+ ],
29
+ "resourceLeases": []
30
+ }
31
+ }
@@ -0,0 +1,19 @@
1
+ {
2
+ "schemaVersion": "network-runtime/v1alpha1",
3
+ "messageId": "msg-mismatch-0001",
4
+ "messageType": "lease.revoke",
5
+ "producerId": "network-control-default",
6
+ "runtimeId": "gateway-site-a",
7
+ "runtimeKind": "gateway",
8
+ "occurredAt": "2026-09-02T08:00:00Z",
9
+ "expiresAt": "2026-09-02T08:05:00Z",
10
+ "payload": {
11
+ "configurationVersion": 12,
12
+ "policyVersion": 7,
13
+ "validUntil": "2026-09-02T08:05:00Z",
14
+ "accessProfile": "full",
15
+ "protectedResourceIds": [],
16
+ "networkLeases": [],
17
+ "resourceLeases": []
18
+ }
19
+ }
@@ -0,0 +1,33 @@
1
+ {
2
+ "schemaVersion": "network-runtime/v1alpha1",
3
+ "messageId": "msg-config-mihomo-secret",
4
+ "messageType": "configuration.desired",
5
+ "producerId": "network-control",
6
+ "runtimeId": "endpoint-alice",
7
+ "runtimeKind": "endpoint",
8
+ "occurredAt": "2026-09-03T08:00:00Z",
9
+ "expiresAt": "2026-09-03T08:05:00Z",
10
+ "payload": {
11
+ "configurationVersion": 13,
12
+ "policyVersion": 7,
13
+ "validUntil": "2026-09-03T08:05:00Z",
14
+ "accessProfile": "full",
15
+ "protectedResourceIds": [],
16
+ "networkLeases": [],
17
+ "resourceLeases": [],
18
+ "mihomo": {
19
+ "mode": "managed_follow",
20
+ "profileId": "profile-corporate-egress",
21
+ "profileRevision": 4,
22
+ "mixedPort": 7890,
23
+ "controllerPort": 9090,
24
+ "dnsMode": "disabled",
25
+ "selectorGroup": "SOHA",
26
+ "selectedProxy": "corporate-hk",
27
+ "bypassCidrs": [],
28
+ "bypassHosts": [],
29
+ "failClosed": true,
30
+ "subscriptionUrl": "https://secret.example.com/subscription?token=must-not-cross-runtime-contract"
31
+ }
32
+ }
33
+ }
@@ -0,0 +1,18 @@
1
+ {
2
+ "schemaVersion": "network-runtime/v1alpha1",
3
+ "messageId": "msg-nas-secret",
4
+ "messageType": "nas.authorization.request",
5
+ "producerId": "freeradius-site-a",
6
+ "runtimeId": "freeradius-site-a",
7
+ "runtimeKind": "nas",
8
+ "occurredAt": "2026-09-02T08:00:00Z",
9
+ "expiresAt": "2026-09-02T08:00:05Z",
10
+ "payload": {
11
+ "requestId": "radius-request-secret",
12
+ "nasId": "nas-site-a-wifi",
13
+ "subjectId": "user-alice",
14
+ "deviceId": "device-alice-laptop",
15
+ "authenticationMethod": "password-compatible",
16
+ "userPassword": "must-never-cross-the-contract"
17
+ }
18
+ }
@@ -0,0 +1,17 @@
1
+ {
2
+ "schemaVersion": "network-runtime/v1alpha1",
3
+ "messageId": "msg-nas-eap-without-certificate",
4
+ "messageType": "nas.authorization.request",
5
+ "producerId": "freeradius-site-a",
6
+ "runtimeId": "freeradius-site-a",
7
+ "runtimeKind": "nas",
8
+ "occurredAt": "2026-09-02T08:00:00Z",
9
+ "expiresAt": "2026-09-02T08:00:05Z",
10
+ "payload": {
11
+ "requestId": "radius-request-eap-without-certificate",
12
+ "nasId": "nas-site-a-wifi",
13
+ "subjectId": "user-alice",
14
+ "stationId": "AA-BB-CC-DD-EE-FF",
15
+ "authenticationMethod": "eap-tls"
16
+ }
17
+ }
@@ -0,0 +1,20 @@
1
+ {
2
+ "schemaVersion": "network-runtime/v1alpha1",
3
+ "messageId": "msg-config-secret",
4
+ "messageType": "configuration.desired",
5
+ "producerId": "network-control-default",
6
+ "runtimeId": "gateway-site-a",
7
+ "runtimeKind": "gateway",
8
+ "occurredAt": "2026-09-02T08:00:00Z",
9
+ "expiresAt": "2026-09-02T08:05:00Z",
10
+ "payload": {
11
+ "configurationVersion": 12,
12
+ "policyVersion": 7,
13
+ "validUntil": "2026-09-02T08:05:00Z",
14
+ "accessProfile": "full",
15
+ "protectedResourceIds": [],
16
+ "networkLeases": [],
17
+ "resourceLeases": [],
18
+ "wireguardPrivateKey": "must-never-cross-the-contract"
19
+ }
20
+ }
@@ -0,0 +1,16 @@
1
+ {
2
+ "schemaVersion": "network-runtime/v1alpha1",
3
+ "messageId": "msg-raw-credential",
4
+ "messageType": "runtime.enroll.result",
5
+ "producerId": "network-control-default",
6
+ "runtimeId": "endpoint-alice-laptop",
7
+ "runtimeKind": "endpoint",
8
+ "occurredAt": "2026-09-02T08:00:00Z",
9
+ "expiresAt": "2026-09-02T08:05:00Z",
10
+ "payload": {
11
+ "accepted": true,
12
+ "reasonCode": "enrolled",
13
+ "credentialReference": "raw-private-credential-material",
14
+ "credentialExpiresAt": "2026-09-03T08:00:00Z"
15
+ }
16
+ }
@@ -0,0 +1,23 @@
1
+ {
2
+ "schemaVersion": "network-runtime/v1alpha1",
3
+ "messageId": "msg-config-invalid-interval",
4
+ "messageType": "configuration.desired",
5
+ "producerId": "network-control-default",
6
+ "runtimeId": "endpoint-alice",
7
+ "runtimeKind": "endpoint",
8
+ "occurredAt": "2026-09-02T08:00:00Z",
9
+ "expiresAt": "2026-09-02T08:05:00Z",
10
+ "payload": {
11
+ "configurationVersion": 12,
12
+ "policyVersion": 7,
13
+ "validUntil": "2026-09-02T08:05:00Z",
14
+ "accessProfile": "full",
15
+ "protectedResourceIds": [],
16
+ "networkLeases": [],
17
+ "resourceLeases": [],
18
+ "runtimeIntervals": {
19
+ "heartbeatIntervalSeconds": 29,
20
+ "configurationPollIntervalSeconds": 60
21
+ }
22
+ }
23
+ }
@@ -0,0 +1,19 @@
1
+ {
2
+ "schemaVersion": "network-runtime/v1alpha1",
3
+ "messageId": "msg-enroll-wireguard-no-key",
4
+ "messageType": "runtime.enroll.request",
5
+ "producerId": "endpoint-alice",
6
+ "runtimeId": "endpoint-alice",
7
+ "runtimeKind": "endpoint",
8
+ "occurredAt": "2026-09-02T08:00:00Z",
9
+ "expiresAt": "2026-09-02T08:05:00Z",
10
+ "payload": {
11
+ "enrollmentId": "enrollment-alice",
12
+ "challengeId": "challenge-alice",
13
+ "deviceId": "device-alice-laptop",
14
+ "devicePublicKey": "-----BEGIN PUBLIC KEY-----\nMCowBQYDK2VwAyEA7qY8R9gAwRQmJau0p7uB8mVJwA6m3i3zYvRrV7lIl1E=\n-----END PUBLIC KEY-----",
15
+ "platform": "windows",
16
+ "clientVersion": "0.2.0",
17
+ "capabilities": ["wireguard"]
18
+ }
19
+ }
@@ -0,0 +1,31 @@
1
+ {
2
+ "schemaVersion": "network-runtime/v1alpha1",
3
+ "messageId": "msg-config-default-route",
4
+ "messageType": "configuration.desired",
5
+ "producerId": "network-control",
6
+ "runtimeId": "endpoint-alice",
7
+ "runtimeKind": "endpoint",
8
+ "occurredAt": "2026-09-02T08:00:00Z",
9
+ "expiresAt": "2026-09-02T08:05:00Z",
10
+ "payload": {
11
+ "configurationVersion": 13,
12
+ "policyVersion": 7,
13
+ "validUntil": "2026-09-02T08:05:00Z",
14
+ "accessProfile": "full",
15
+ "protectedResourceIds": [],
16
+ "networkLeases": [],
17
+ "resourceLeases": [],
18
+ "wireguard": {
19
+ "role": "endpoint",
20
+ "interfaceName": "soha0",
21
+ "publicKey": "BBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBB=",
22
+ "addresses": ["100.96.10.2/32"],
23
+ "mtu": 1380,
24
+ "routingMode": "routed",
25
+ "firewallDefault": "deny",
26
+ "peers": [],
27
+ "routes": ["0.0.0.0/0"],
28
+ "firewallRules": []
29
+ }
30
+ }
31
+ }
@@ -0,0 +1,17 @@
1
+ {
2
+ "schemaVersion": "network-runtime/v1alpha1",
3
+ "messageId": "msg-invalid-ztna-grant",
4
+ "messageType": "vpn.connect.request",
5
+ "producerId": "endpoint-1",
6
+ "runtimeId": "endpoint-1",
7
+ "runtimeKind": "endpoint",
8
+ "occurredAt": "2026-09-03T08:00:00Z",
9
+ "expiresAt": "2026-09-03T08:01:00Z",
10
+ "payload": {
11
+ "requestId": "request-invalid-ztna",
12
+ "siteId": "site-hq",
13
+ "networkSpaceId": "space-corp",
14
+ "mode": "external_vpn_ztna",
15
+ "resourceIds": ["resource-payroll"]
16
+ }
17
+ }
@@ -0,0 +1,86 @@
1
+ {
2
+ "schemaVersion": "network-runtime/v1alpha1",
3
+ "messageId": "msg-config-0001",
4
+ "messageType": "configuration.desired",
5
+ "producerId": "network-control-default",
6
+ "runtimeId": "gateway-site-a",
7
+ "runtimeKind": "gateway",
8
+ "occurredAt": "2026-09-02T08:00:00Z",
9
+ "expiresAt": "2026-09-02T08:05:00Z",
10
+ "payload": {
11
+ "configurationVersion": 12,
12
+ "policyVersion": 7,
13
+ "validUntil": "2026-09-02T08:05:00Z",
14
+ "accessProfile": "full",
15
+ "protectedResourceIds": ["resource-payroll"],
16
+ "networkLeases": [
17
+ {
18
+ "id": "network-lease-0001",
19
+ "sessionId": "session-0001",
20
+ "subjectId": "user-alice",
21
+ "deviceId": "device-alice-laptop",
22
+ "networkSpaceId": "space-site-a",
23
+ "cidrs": ["10.20.0.0/16"],
24
+ "policyVersion": 7,
25
+ "issuedAt": "2026-09-02T08:00:00Z",
26
+ "expiresAt": "2026-09-02T08:05:00Z"
27
+ }
28
+ ],
29
+ "resourceLeases": [
30
+ {
31
+ "id": "resource-lease-0001",
32
+ "sessionId": "session-0001",
33
+ "subjectId": "user-alice",
34
+ "deviceId": "device-alice-laptop",
35
+ "resourceIds": ["resource-payroll"],
36
+ "policyVersion": 7,
37
+ "issuedAt": "2026-09-02T08:00:00Z",
38
+ "expiresAt": "2026-09-02T08:02:00Z"
39
+ }
40
+ ],
41
+ "runtimeIntervals": {
42
+ "heartbeatIntervalSeconds": 60,
43
+ "configurationPollIntervalSeconds": 60
44
+ },
45
+ "wireguard": {
46
+ "role": "gateway",
47
+ "interfaceName": "soha0",
48
+ "publicKey": "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA=",
49
+ "addresses": ["100.96.10.1/32"],
50
+ "listenPort": 51820,
51
+ "mtu": 1380,
52
+ "routingMode": "routed",
53
+ "firewallDefault": "deny",
54
+ "peers": [
55
+ {
56
+ "runtimeId": "endpoint-alice",
57
+ "deviceId": "device-alice-laptop",
58
+ "publicKey": "BBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBB=",
59
+ "allowedIPs": ["100.96.10.2/32"],
60
+ "persistentKeepaliveSeconds": 25
61
+ }
62
+ ],
63
+ "routes": ["10.20.0.0/16"],
64
+ "dnsServers": ["10.20.0.53"],
65
+ "firewallRules": [
66
+ {
67
+ "id": "deny-payroll",
68
+ "effect": "deny",
69
+ "sourceCidr": "100.96.10.2/32",
70
+ "destinationCidr": "10.20.8.10/32",
71
+ "protocol": "tcp",
72
+ "ports": [443]
73
+ },
74
+ {
75
+ "id": "allow-network-lease-0001",
76
+ "effect": "allow",
77
+ "leaseId": "network-lease-0001",
78
+ "sourceCidr": "100.96.10.2/32",
79
+ "destinationCidr": "10.20.0.0/16",
80
+ "protocol": "any",
81
+ "expiresAt": "2026-09-02T08:05:00Z"
82
+ }
83
+ ]
84
+ }
85
+ }
86
+ }
@@ -0,0 +1,19 @@
1
+ {
2
+ "schemaVersion": "network-runtime/v1alpha1",
3
+ "messageId": "msg-direct-ztna-connect-0001",
4
+ "messageType": "vpn.connect.request",
5
+ "producerId": "endpoint-alice",
6
+ "runtimeId": "endpoint-alice",
7
+ "runtimeKind": "endpoint",
8
+ "occurredAt": "2026-09-02T08:00:00Z",
9
+ "expiresAt": "2026-09-02T08:05:00Z",
10
+ "payload": {
11
+ "requestId": "direct-ztna-request-0001",
12
+ "siteId": "site-a",
13
+ "networkSpaceId": "space-site-a",
14
+ "mode": "external_direct_ztna",
15
+ "resourceIds": ["resource-payroll"],
16
+ "accessGrantId": "grant-payroll",
17
+ "accessGrantToken": "hJ0iZcfcPK5E0lKo9C4NsMdy2r2V1B9DUFKkphz-g8I"
18
+ }
19
+ }
@@ -0,0 +1,33 @@
1
+ {
2
+ "schemaVersion": "network-runtime/v1alpha1",
3
+ "messageId": "msg-direct-ztna-result-0001",
4
+ "messageType": "vpn.connect.result",
5
+ "producerId": "network-control",
6
+ "runtimeId": "endpoint-alice",
7
+ "runtimeKind": "endpoint",
8
+ "occurredAt": "2026-09-02T08:00:00Z",
9
+ "expiresAt": "2026-09-02T08:05:00Z",
10
+ "payload": {
11
+ "requestId": "direct-ztna-request-0001",
12
+ "decision": "allow",
13
+ "reasonCode": "policy_allowed",
14
+ "sessionId": "session-direct-ztna-0001",
15
+ "gatewayId": "gateway-site-a",
16
+ "configurationVersion": 14,
17
+ "policyVersion": 7,
18
+ "validUntil": "2026-09-02T08:05:00Z",
19
+ "networkLeases": [],
20
+ "resourceLeases": [
21
+ {
22
+ "id": "resource-lease-0001",
23
+ "sessionId": "session-direct-ztna-0001",
24
+ "subjectId": "user-alice",
25
+ "deviceId": "device-alice-laptop",
26
+ "resourceIds": ["resource-payroll"],
27
+ "policyVersion": 7,
28
+ "issuedAt": "2026-09-02T08:00:00Z",
29
+ "expiresAt": "2026-09-02T08:05:00Z"
30
+ }
31
+ ]
32
+ }
33
+ }