@opensoha/contracts 0.1.16 → 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.
- package/COMPATIBILITY.md +46 -0
- package/README.md +12 -3
- package/auth/catalog_generated.go +2 -2
- package/auth/catalog_test.go +32 -0
- package/auth/permission-catalog.json +529 -1
- package/compat/json-schema-ecosystem-0.1.0.json +1 -1
- package/compat/openapi-loose-boundaries-0.1.0.json +1 -1
- package/fixtures/json-schema/network-ingest-event/invalid/duplicate-event.json +33 -0
- package/fixtures/json-schema/network-ingest-event/invalid/message-payload-mismatch.json +23 -0
- package/fixtures/json-schema/network-ingest-event/invalid/password.json +22 -0
- package/fixtures/json-schema/network-ingest-event/invalid/proxy-flow-destination.json +28 -0
- package/fixtures/json-schema/network-ingest-event/valid/endpoint-proxy-flow.json +27 -0
- package/fixtures/json-schema/network-ingest-event/valid/freeradius-accounting.json +25 -0
- package/fixtures/json-schema/network-ingest-event/valid/gateway.json +53 -0
- package/fixtures/json-schema/network-radius-accounting/invalid/password.json +9 -0
- package/fixtures/json-schema/network-radius-accounting/valid/accounting.json +16 -0
- package/fixtures/json-schema/network-runtime-protocol/invalid/invalid-cidr.json +31 -0
- package/fixtures/json-schema/network-runtime-protocol/invalid/message-payload-mismatch.json +19 -0
- package/fixtures/json-schema/network-runtime-protocol/invalid/mihomo-raw-subscription.json +33 -0
- package/fixtures/json-schema/network-runtime-protocol/invalid/nas-authorization-password.json +18 -0
- package/fixtures/json-schema/network-runtime-protocol/invalid/nas-eap-without-certificate.json +17 -0
- package/fixtures/json-schema/network-runtime-protocol/invalid/private-key.json +20 -0
- package/fixtures/json-schema/network-runtime-protocol/invalid/raw-credential-reference.json +16 -0
- package/fixtures/json-schema/network-runtime-protocol/invalid/runtime-interval-too-short.json +23 -0
- package/fixtures/json-schema/network-runtime-protocol/invalid/wireguard-capability-without-key.json +19 -0
- package/fixtures/json-schema/network-runtime-protocol/invalid/wireguard-default-route.json +31 -0
- package/fixtures/json-schema/network-runtime-protocol/invalid/ztna-without-access-grant.json +17 -0
- package/fixtures/json-schema/network-runtime-protocol/valid/configuration-desired.json +86 -0
- package/fixtures/json-schema/network-runtime-protocol/valid/direct-ztna-connect.json +19 -0
- package/fixtures/json-schema/network-runtime-protocol/valid/direct-ztna-result.json +33 -0
- package/fixtures/json-schema/network-runtime-protocol/valid/internal-ztna-connect.json +19 -0
- package/fixtures/json-schema/network-runtime-protocol/valid/mihomo-app-subscription-configuration.json +32 -0
- package/fixtures/json-schema/network-runtime-protocol/valid/mihomo-manual-node-configuration.json +32 -0
- package/fixtures/json-schema/network-runtime-protocol/valid/mihomo-wireguard-configuration.json +70 -0
- package/fixtures/json-schema/network-runtime-protocol/valid/nas-authorization-request.json +19 -0
- package/fixtures/json-schema/network-runtime-protocol/valid/nas-authorization-result.json +24 -0
- package/fixtures/json-schema/network-runtime-protocol/valid/nas-session-command-result.json +17 -0
- package/fixtures/json-schema/network-runtime-protocol/valid/nas-session-command.json +27 -0
- package/fixtures/json-schema/network-runtime-protocol/valid/vpn-connect-request.json +17 -0
- package/fixtures/json-schema/network-runtime-protocol/valid/vpn-connect-result.json +34 -0
- package/fixtures/json-schema/network-runtime-protocol/valid/wireguard-enrollment.json +20 -0
- package/fixtures/json-schema/network-runtime-protocol/valid/wireguard-site-link.json +48 -0
- package/fixtures/openapi/AnnouncementReceiptPageEnvelope/invalid/missing-read-count.json +9 -0
- package/fixtures/openapi/AnnouncementReceiptPageEnvelope/valid/read-and-unread.json +28 -0
- package/fixtures/openapi/EndpointDevice/invalid/missing-owner.json +8 -0
- package/fixtures/openapi/EndpointDevice/valid/active.json +35 -0
- package/fixtures/openapi/EndpointDeviceRegistrationInput/invalid/client-owned-status.json +5 -0
- package/fixtures/openapi/EndpointDeviceRegistrationInput/invalid/oversized-network-inventory.json +18 -0
- package/fixtures/openapi/EndpointDeviceRegistrationInput/valid/macos.json +28 -0
- package/fixtures/openapi/LLMUpstreamTestResultEnvelope/invalid/models-not-array.json +9 -0
- package/fixtures/openapi/LLMUpstreamTestResultEnvelope/valid/discovered-models.json +11 -0
- package/fixtures/openapi/NetworkAccessGrant/invalid/token-digest.json +15 -0
- package/fixtures/openapi/NetworkAccessGrant/valid/issued.json +14 -0
- package/fixtures/openapi/NetworkAccessGrantInput/invalid/no-resources.json +7 -0
- package/fixtures/openapi/NetworkAccessGrantInput/valid/direct-ztna.json +8 -0
- package/fixtures/openapi/NetworkAccessGrantSecret/invalid/short-token.json +17 -0
- package/fixtures/openapi/NetworkAccessGrantSecret/valid/issued.json +17 -0
- package/fixtures/openapi/NetworkAccessPolicy/invalid/missing-version.json +20 -0
- package/fixtures/openapi/NetworkAccessPolicy/valid/published-draft.json +21 -0
- package/fixtures/openapi/NetworkAccessPolicyInput/invalid/duplicate-team.json +17 -0
- package/fixtures/openapi/NetworkAccessPolicyInput/valid/team-and-tag-allow.json +17 -0
- package/fixtures/openapi/NetworkConflictAnalysisRequest/invalid/ipv6-range.json +9 -0
- package/fixtures/openapi/NetworkConflictAnalysisRequest/valid/runtime-ranges.json +15 -0
- package/fixtures/openapi/NetworkConnectionOption/invalid/secret.json +10 -0
- package/fixtures/openapi/NetworkConnectionOption/valid/wifi.json +9 -0
- package/fixtures/openapi/NetworkConnectionOption/valid/wired.json +8 -0
- package/fixtures/openapi/NetworkGateway/invalid/missing-site.json +7 -0
- package/fixtures/openapi/NetworkGateway/valid/online.json +23 -0
- package/fixtures/openapi/NetworkGatewayInput/invalid/default-route-overlay.json +13 -0
- package/fixtures/openapi/NetworkGatewayInput/valid/routed.json +14 -0
- package/fixtures/openapi/NetworkLease/invalid/empty-cidrs.json +12 -0
- package/fixtures/openapi/NetworkLease/valid/active.json +12 -0
- package/fixtures/openapi/NetworkMihomoProfile/invalid/subscription-leak.json +20 -0
- package/fixtures/openapi/NetworkMihomoProfile/valid/managed.json +21 -0
- package/fixtures/openapi/NetworkMihomoProfileInput/invalid/app-subscription-secret.json +14 -0
- package/fixtures/openapi/NetworkMihomoProfileInput/invalid/manual-node-with-subscription.json +20 -0
- package/fixtures/openapi/NetworkMihomoProfileInput/valid/app-subscription.json +14 -0
- package/fixtures/openapi/NetworkMihomoProfileInput/valid/managed.json +16 -0
- package/fixtures/openapi/NetworkMihomoProfileInput/valid/manual-node.json +21 -0
- package/fixtures/openapi/NetworkNASBinding/invalid/secret.json +13 -0
- package/fixtures/openapi/NetworkNASBinding/valid/default.json +16 -0
- package/fixtures/openapi/NetworkNASBindingInput/invalid/secret.json +10 -0
- package/fixtures/openapi/NetworkNASBindingInput/valid/default.json +13 -0
- package/fixtures/openapi/NetworkPolicyPreviewRequest/invalid/unknown-mode.json +6 -0
- package/fixtures/openapi/NetworkPolicyPreviewRequest/valid/external-direct-ztna.json +6 -0
- package/fixtures/openapi/NetworkPolicyPreviewRequest/valid/external-vpn-ztna.json +6 -0
- package/fixtures/openapi/NetworkPolicyPreviewRequest/valid/external-vpn.json +6 -0
- package/fixtures/openapi/NetworkPolicyPreviewRequest/valid/internal-direct.json +7 -0
- package/fixtures/openapi/NetworkPolicyPreviewRequest/valid/internal-ztna.json +7 -0
- package/fixtures/openapi/NetworkPolicyPreviewResult/invalid/bypass-path.json +9 -0
- package/fixtures/openapi/NetworkPolicyPreviewResult/valid/onboarding.json +10 -0
- package/fixtures/openapi/NetworkPolicyPreviewResult/valid/protected-broad-path-denied.json +9 -0
- package/fixtures/openapi/NetworkPolicyPreviewResult/valid/protected-resource.json +9 -0
- package/fixtures/openapi/NetworkPolicyPreviewResult/valid/quarantine.json +10 -0
- package/fixtures/openapi/NetworkPolicyPreviewResult/valid/restricted.json +10 -0
- package/fixtures/openapi/NetworkPolicySnapshot/invalid/zero-version.json +7 -0
- package/fixtures/openapi/NetworkPolicySnapshot/valid/published.json +7 -0
- package/fixtures/openapi/NetworkResourceInput/invalid/invalid-port.json +10 -0
- package/fixtures/openapi/NetworkResourceInput/valid/protected-cidr.json +10 -0
- package/fixtures/openapi/NetworkRuntimeEnrollmentInput/invalid/excessive-ttl.json +7 -0
- package/fixtures/openapi/NetworkRuntimeEnrollmentInput/valid/endpoint.json +7 -0
- package/fixtures/openapi/NetworkRuntimeEnrollmentSecret/invalid/short-token.json +15 -0
- package/fixtures/openapi/NetworkRuntimeEnrollmentSecret/valid/pending.json +15 -0
- package/fixtures/openapi/NetworkSession/invalid/unknown-status.json +14 -0
- package/fixtures/openapi/NetworkSession/valid/restricted-vpn-ztna.json +16 -0
- package/fixtures/openapi/NetworkSessionActionExecuteInput/invalid/short-hash.json +6 -0
- package/fixtures/openapi/NetworkSessionActionExecuteInput/valid/restrict.json +6 -0
- package/fixtures/openapi/NetworkSessionActionInput/invalid/unknown-action.json +5 -0
- package/fixtures/openapi/NetworkSessionActionInput/valid/restrict.json +5 -0
- package/fixtures/openapi/NetworkSessionActionPlan/invalid/missing-hash.json +12 -0
- package/fixtures/openapi/NetworkSessionActionPlan/valid/fallback-disconnect.json +13 -0
- package/fixtures/openapi/NetworkSessionCommand/invalid/unknown-status.json +14 -0
- package/fixtures/openapi/NetworkSessionCommand/valid/pending.json +14 -0
- package/fixtures/openapi/NetworkSiteInput/invalid/unknown-status.json +4 -0
- package/fixtures/openapi/NetworkSiteInput/valid/shanghai.json +5 -0
- package/fixtures/openapi/NetworkSiteProfileBinding/invalid/vlan.json +9 -0
- package/fixtures/openapi/NetworkSiteProfileBinding/valid/default.json +10 -0
- package/fixtures/openapi/NetworkSiteProfileBindingInput/invalid/timeout.json +7 -0
- package/fixtures/openapi/NetworkSiteProfileBindingInput/valid/default.json +7 -0
- package/fixtures/openapi/NetworkSpaceInput/invalid/empty-cidrs.json +6 -0
- package/fixtures/openapi/NetworkSpaceInput/invalid/malformed-cidr.json +6 -0
- package/fixtures/openapi/NetworkSpaceInput/valid/corp.json +6 -0
- package/fixtures/openapi/NetworkTelemetrySummary/invalid/raw-destination.json +29 -0
- package/fixtures/openapi/NetworkTelemetrySummary/valid/proxy-flow.json +36 -0
- package/fixtures/openapi/ResourceLease/invalid/missing-session.json +10 -0
- package/fixtures/openapi/ResourceLease/valid/active.json +11 -0
- package/gen/go/sohaapi/client.go +1 -1
- package/gen/go/sohaapi/types.go +2042 -58
- package/gen/ts/sohaapi/index.ts +3160 -0
- package/network/README.md +116 -0
- package/network/network-ingest-event.schema.json +187 -0
- package/network/network-radius-accounting.schema.json +41 -0
- package/network/network-runtime-protocol.schema.json +752 -0
- package/network/schema.go +26 -0
- package/network/schema_test.go +22 -0
- package/openapi/soha-api.json +27021 -19780
- package/openapi/soha-api.yaml +11422 -8749
- package/openapi/spec_generated.go +3 -3
- package/package.json +5 -1
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
{
|
|
2
|
+
"enrollment": {
|
|
3
|
+
"id": "enrollment-01",
|
|
4
|
+
"challengeId": "challenge-01",
|
|
5
|
+
"runtimeId": "endpoint-shanghai-001",
|
|
6
|
+
"runtimeKind": "endpoint",
|
|
7
|
+
"deviceId": "device-shanghai-001",
|
|
8
|
+
"subjectId": "f7f87a34-077d-4601-af8d-c142a34755f2",
|
|
9
|
+
"status": "pending",
|
|
10
|
+
"expiresAt": "2026-09-02T10:10:00Z",
|
|
11
|
+
"createdBy": "1f449d94-682c-4fe7-a73b-df2741380197",
|
|
12
|
+
"createdAt": "2026-09-02T10:00:00Z"
|
|
13
|
+
},
|
|
14
|
+
"token": "0123456789abcdef0123456789abcdef"
|
|
15
|
+
}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
{
|
|
2
|
+
"id": "session-01",
|
|
3
|
+
"subjectId": "user-01",
|
|
4
|
+
"deviceId": "device-01",
|
|
5
|
+
"mode": "external_vpn",
|
|
6
|
+
"path": "wireguard",
|
|
7
|
+
"accessProfile": "full",
|
|
8
|
+
"status": "connected",
|
|
9
|
+
"policyVersion": 9,
|
|
10
|
+
"networkLeaseIds": ["network-lease-01"],
|
|
11
|
+
"resourceLeaseIds": [],
|
|
12
|
+
"startedAt": "2026-09-02T08:00:00Z",
|
|
13
|
+
"expiresAt": "2026-09-02T09:00:00Z"
|
|
14
|
+
}
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
{
|
|
2
|
+
"id": "session-01",
|
|
3
|
+
"subjectId": "user-01",
|
|
4
|
+
"deviceId": "device-01",
|
|
5
|
+
"siteId": "site-shanghai",
|
|
6
|
+
"gatewayId": "gateway-shanghai",
|
|
7
|
+
"mode": "external_vpn_ztna",
|
|
8
|
+
"path": "wireguard_ztna",
|
|
9
|
+
"accessProfile": "restricted",
|
|
10
|
+
"status": "restricted",
|
|
11
|
+
"policyVersion": 9,
|
|
12
|
+
"networkLeaseIds": ["network-lease-01"],
|
|
13
|
+
"resourceLeaseIds": ["resource-lease-01"],
|
|
14
|
+
"startedAt": "2026-09-02T08:00:00Z",
|
|
15
|
+
"expiresAt": "2026-09-02T09:00:00Z"
|
|
16
|
+
}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
{
|
|
2
|
+
"sessionId": "session-1",
|
|
3
|
+
"runtimeId": "freeradius-hq",
|
|
4
|
+
"nasId": "nas-hq",
|
|
5
|
+
"requestedAction": "coa",
|
|
6
|
+
"effectiveAction": "coa",
|
|
7
|
+
"currentAccessProfile": "full",
|
|
8
|
+
"targetAccessProfile": "restricted",
|
|
9
|
+
"reasonCode": "device_posture_changed",
|
|
10
|
+
"willDisconnect": false,
|
|
11
|
+
"commandExpiresAt": "2026-09-02T08:05:00Z"
|
|
12
|
+
}
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
{
|
|
2
|
+
"sessionId": "session-1",
|
|
3
|
+
"runtimeId": "freeradius-hq",
|
|
4
|
+
"nasId": "nas-hq",
|
|
5
|
+
"requestedAction": "coa",
|
|
6
|
+
"effectiveAction": "disconnect",
|
|
7
|
+
"currentAccessProfile": "full",
|
|
8
|
+
"targetAccessProfile": "restricted",
|
|
9
|
+
"reasonCode": "device_posture_changed",
|
|
10
|
+
"willDisconnect": true,
|
|
11
|
+
"commandExpiresAt": "2026-09-02T08:05:00Z",
|
|
12
|
+
"planHash": "sha256:aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa"
|
|
13
|
+
}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
{
|
|
2
|
+
"id": "command-1",
|
|
3
|
+
"sessionId": "session-1",
|
|
4
|
+
"runtimeId": "freeradius-hq",
|
|
5
|
+
"nasId": "nas-hq",
|
|
6
|
+
"action": "coa",
|
|
7
|
+
"targetAccessProfile": "restricted",
|
|
8
|
+
"policyVersion": 7,
|
|
9
|
+
"status": "running",
|
|
10
|
+
"reasonCode": "device_posture_changed",
|
|
11
|
+
"effectiveAt": "2026-09-02T08:00:00Z",
|
|
12
|
+
"expiresAt": "2026-09-02T08:05:00Z",
|
|
13
|
+
"createdAt": "2026-09-02T08:00:00Z"
|
|
14
|
+
}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
{
|
|
2
|
+
"id": "command-1",
|
|
3
|
+
"sessionId": "session-1",
|
|
4
|
+
"runtimeId": "freeradius-hq",
|
|
5
|
+
"nasId": "nas-hq",
|
|
6
|
+
"action": "coa",
|
|
7
|
+
"targetAccessProfile": "restricted",
|
|
8
|
+
"policyVersion": 7,
|
|
9
|
+
"status": "pending",
|
|
10
|
+
"reasonCode": "device_posture_changed",
|
|
11
|
+
"effectiveAt": "2026-09-02T08:00:00Z",
|
|
12
|
+
"expiresAt": "2026-09-02T08:05:00Z",
|
|
13
|
+
"createdAt": "2026-09-02T08:00:00Z"
|
|
14
|
+
}
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
{
|
|
2
|
+
"from": "2026-09-03T00:00:00Z",
|
|
3
|
+
"to": "2026-09-03T01:00:00Z",
|
|
4
|
+
"eventCount": 1,
|
|
5
|
+
"heartbeatCount": 0,
|
|
6
|
+
"radiusAccountingCount": 0,
|
|
7
|
+
"networkFlowCount": 0,
|
|
8
|
+
"connectionSummaryCount": 0,
|
|
9
|
+
"proxyFlowCount": 1,
|
|
10
|
+
"uploadBytes": 1,
|
|
11
|
+
"downloadBytes": 2,
|
|
12
|
+
"activeConnections": 1,
|
|
13
|
+
"producers": [],
|
|
14
|
+
"proxyFlows": [
|
|
15
|
+
{
|
|
16
|
+
"producerId": "endpoint-01",
|
|
17
|
+
"engine": "mihomo",
|
|
18
|
+
"profileId": "profile-01",
|
|
19
|
+
"profileRevision": 1,
|
|
20
|
+
"mode": "managed_follow",
|
|
21
|
+
"selectedProxy": "edge-a",
|
|
22
|
+
"uploadBytes": 1,
|
|
23
|
+
"downloadBytes": 2,
|
|
24
|
+
"activeConnections": 1,
|
|
25
|
+
"lastOccurredAt": "2026-09-03T00:59:00Z",
|
|
26
|
+
"destinationHost": "must-not-leave-ingest"
|
|
27
|
+
}
|
|
28
|
+
]
|
|
29
|
+
}
|
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
{
|
|
2
|
+
"from": "2026-09-03T00:00:00Z",
|
|
3
|
+
"to": "2026-09-03T01:00:00Z",
|
|
4
|
+
"eventCount": 8,
|
|
5
|
+
"heartbeatCount": 4,
|
|
6
|
+
"radiusAccountingCount": 1,
|
|
7
|
+
"networkFlowCount": 0,
|
|
8
|
+
"connectionSummaryCount": 1,
|
|
9
|
+
"proxyFlowCount": 2,
|
|
10
|
+
"uploadBytes": 1024,
|
|
11
|
+
"downloadBytes": 4096,
|
|
12
|
+
"activeConnections": 3,
|
|
13
|
+
"producers": [
|
|
14
|
+
{
|
|
15
|
+
"producerId": "endpoint-shanghai-01",
|
|
16
|
+
"producerKind": "endpoint",
|
|
17
|
+
"lastSeenAt": "2026-09-03T00:59:00Z",
|
|
18
|
+
"gapCount": 0,
|
|
19
|
+
"regressionCount": 0
|
|
20
|
+
}
|
|
21
|
+
],
|
|
22
|
+
"proxyFlows": [
|
|
23
|
+
{
|
|
24
|
+
"producerId": "endpoint-shanghai-01",
|
|
25
|
+
"engine": "mihomo",
|
|
26
|
+
"profileId": "profile-01",
|
|
27
|
+
"profileRevision": 2,
|
|
28
|
+
"mode": "app_subscription",
|
|
29
|
+
"selectedProxy": "edge-a",
|
|
30
|
+
"uploadBytes": 1024,
|
|
31
|
+
"downloadBytes": 4096,
|
|
32
|
+
"activeConnections": 3,
|
|
33
|
+
"lastOccurredAt": "2026-09-03T00:59:00Z"
|
|
34
|
+
}
|
|
35
|
+
]
|
|
36
|
+
}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
{
|
|
2
|
+
"id": "resource-lease-01",
|
|
3
|
+
"sessionId": "session-01",
|
|
4
|
+
"subjectId": "user-01",
|
|
5
|
+
"deviceId": "device-01",
|
|
6
|
+
"resourceIds": ["resource-git"],
|
|
7
|
+
"policyVersion": 9,
|
|
8
|
+
"status": "active",
|
|
9
|
+
"issuedAt": "2026-09-02T08:00:00Z",
|
|
10
|
+
"expiresAt": "2026-09-02T08:15:00Z"
|
|
11
|
+
}
|