@opensoha/contracts 0.1.29 → 0.2.0
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 +139 -15
- package/README.md +153 -49
- package/agent/agent-protocol.schema.json +2 -2
- package/agent/dsh-runtime.README.md +207 -0
- package/agent/dsh-runtime.schema.json +1165 -0
- package/agent/environment/mcp_stdio.go +30 -0
- package/agent/guest/runtime.go +1 -1
- package/agent/guest/runtime_test.go +1 -1
- package/auth/catalog_generated.go +2 -2
- package/auth/docker_permissions_test.go +44 -0
- package/auth/permission-catalog.json +65 -1
- package/auth/radius_permissions_test.go +44 -0
- package/compat/consumer-revisions.json +6 -6
- package/compat/openapi-loose-boundaries-0.1.0.json +4 -0
- package/docker/runtime/compose.go +128 -0
- package/docker/runtime/compose_replicas_test.go +20 -0
- package/docker/runtime/container_set.go +50 -0
- package/docker/runtime/container_set_test.go +31 -0
- package/docker/runtime/identity.go +130 -0
- package/docker/runtime/identity_test.go +91 -0
- package/docker/runtime/read.go +141 -0
- package/docker/runtime/read_result.go +93 -0
- package/docker/runtime/read_result_test.go +111 -0
- package/docker/runtime/read_test.go +63 -0
- package/docker/runtime/terminal.go +86 -0
- package/docker/runtime/terminal_test.go +50 -0
- package/examples/relations_compat_test.go +1 -1
- package/fixtures/json-schema/agent-protocol/valid/dsh-agent-status.json +17 -0
- package/fixtures/json-schema/docker-container-identity/invalid/name-instead-of-id.json +8 -0
- package/fixtures/json-schema/docker-container-identity/invalid/short-id.json +8 -0
- package/fixtures/json-schema/docker-container-identity/invalid/unknown-field.json +9 -0
- package/fixtures/json-schema/docker-container-identity/invalid/unsafe-service.json +8 -0
- package/fixtures/json-schema/docker-container-identity/valid/bound-container.json +8 -0
- package/fixtures/json-schema/docker-project-identity/invalid/injected-field.json +7 -0
- package/fixtures/json-schema/docker-project-identity/invalid/invalid-uid.json +6 -0
- package/fixtures/json-schema/docker-project-identity/invalid/legacy-protocol.json +6 -0
- package/fixtures/json-schema/docker-project-identity/invalid/nil-uid.json +6 -0
- package/fixtures/json-schema/docker-project-identity/invalid/slug-namespace.json +6 -0
- package/fixtures/json-schema/docker-project-identity/valid/bound-project.json +6 -0
- package/fixtures/json-schema/docker-runtime-read/invalid/1.json +14 -0
- package/fixtures/json-schema/docker-runtime-read/invalid/2.json +14 -0
- package/fixtures/json-schema/docker-runtime-read/invalid/3.json +14 -0
- package/fixtures/json-schema/docker-runtime-read/invalid/4.json +16 -0
- package/fixtures/json-schema/docker-runtime-read/invalid/5.json +14 -0
- package/fixtures/json-schema/docker-runtime-read/invalid/6.json +15 -0
- package/fixtures/json-schema/docker-runtime-read/invalid/7.json +15 -0
- package/fixtures/json-schema/docker-runtime-read/valid/1.json +14 -0
- package/fixtures/json-schema/docker-runtime-read/valid/2.json +14 -0
- package/fixtures/json-schema/docker-runtime-read/valid/3.json +17 -0
- package/fixtures/json-schema/docker-runtime-read/valid/4.json +17 -0
- package/fixtures/json-schema/docker-runtime-read-result/invalid/contradictory-completeness.json +21 -0
- package/fixtures/json-schema/docker-runtime-read-result/invalid/host-source-leak.json +28 -0
- package/fixtures/json-schema/docker-runtime-read-result/invalid/missing-files.json +20 -0
- package/fixtures/json-schema/docker-runtime-read-result/invalid/unsupported-browse.json +27 -0
- package/fixtures/json-schema/docker-runtime-read-result/valid/logs.json +21 -0
- package/fixtures/json-schema/docker-runtime-read-result/valid/volumes.json +27 -0
- package/fixtures/json-schema/dsh-runtime/invalid/assembly-report-credential.json +21 -0
- package/fixtures/json-schema/dsh-runtime/invalid/attempt-zero.json +18 -0
- package/fixtures/json-schema/dsh-runtime/invalid/bad-deadline.json +18 -0
- package/fixtures/json-schema/dsh-runtime/invalid/bad-hash.json +18 -0
- package/fixtures/json-schema/dsh-runtime/invalid/event-delta-missing.json +10 -0
- package/fixtures/json-schema/dsh-runtime/invalid/event-grant.json +12 -0
- package/fixtures/json-schema/dsh-runtime/invalid/event-sequence-zero.json +12 -0
- package/fixtures/json-schema/dsh-runtime/invalid/fence-zero.json +18 -0
- package/fixtures/json-schema/dsh-runtime/invalid/health-unknown-field.json +12 -0
- package/fixtures/json-schema/dsh-runtime/invalid/output-budget-zero.json +18 -0
- package/fixtures/json-schema/dsh-runtime/invalid/receipt-grant.json +12 -0
- package/fixtures/json-schema/dsh-runtime/invalid/start-assembly-url.json +32 -0
- package/fixtures/json-schema/dsh-runtime/invalid/start-chat-write-tool.json +38 -0
- package/fixtures/json-schema/dsh-runtime/invalid/start-client-base-url.json +19 -0
- package/fixtures/json-schema/dsh-runtime/invalid/start-client-callback.json +19 -0
- package/fixtures/json-schema/dsh-runtime/invalid/start-missing-readonly.json +37 -0
- package/fixtures/json-schema/dsh-runtime/invalid/status-grant.json +19 -0
- package/fixtures/json-schema/dsh-runtime/invalid/status-usage-missing.json +13 -0
- package/fixtures/json-schema/dsh-runtime/invalid/status-usage-unknown.json +18 -0
- package/fixtures/json-schema/dsh-runtime/invalid/tool-call-missing-call-id.json +13 -0
- package/fixtures/json-schema/dsh-runtime/invalid/tool-result-missing-hash.json +13 -0
- package/fixtures/json-schema/dsh-runtime/invalid/union-extra-field.json +12 -0
- package/fixtures/json-schema/dsh-runtime/invalid/unsupported-version.json +18 -0
- package/fixtures/json-schema/dsh-runtime/valid/assembly-decision.json +21 -0
- package/fixtures/json-schema/dsh-runtime/valid/assembly-report-mcp.json +34 -0
- package/fixtures/json-schema/dsh-runtime/valid/assembly-report.json +20 -0
- package/fixtures/json-schema/dsh-runtime/valid/cancel.json +8 -0
- package/fixtures/json-schema/dsh-runtime/valid/event-delta.json +12 -0
- package/fixtures/json-schema/dsh-runtime/valid/event-hook-observed.json +14 -0
- package/fixtures/json-schema/dsh-runtime/valid/event-terminal.json +13 -0
- package/fixtures/json-schema/dsh-runtime/valid/health.json +11 -0
- package/fixtures/json-schema/dsh-runtime/valid/receipt.json +11 -0
- package/fixtures/json-schema/dsh-runtime/valid/start-assembly.json +31 -0
- package/fixtures/json-schema/dsh-runtime/valid/start-chat.json +18 -0
- package/fixtures/json-schema/dsh-runtime/valid/start-heya.json +38 -0
- package/fixtures/json-schema/dsh-runtime/valid/status-completed.json +18 -0
- package/fixtures/json-schema/dsh-runtime/valid/status-unknown.json +13 -0
- package/fixtures/json-schema/dsh-runtime/valid/tool-call.json +1 -0
- package/fixtures/json-schema/dsh-runtime/valid/tool-result-denied.json +15 -0
- package/fixtures/json-schema/dsh-runtime/valid/tool-result.json +14 -0
- package/fixtures/json-schema/memory-policy/invalid/invalid-mode.json +17 -0
- package/fixtures/json-schema/memory-policy/valid/scoped.json +17 -0
- package/fixtures/json-schema/memory-record/invalid/invalid-source-hash.json +21 -0
- package/fixtures/json-schema/memory-record/invalid/invalid-sync-status.json +21 -0
- package/fixtures/json-schema/memory-record/invalid/quarantine-reason-too-long.json +23 -0
- package/fixtures/json-schema/memory-record/valid/quarantined.json +23 -0
- package/fixtures/json-schema/memory-record/valid/synced.json +21 -0
- package/fixtures/json-schema/network-ingest-event/invalid/proxy-runtime-epoch-without-sequence.json +23 -0
- package/fixtures/json-schema/network-ingest-event/invalid/proxy-runtime-unsafe-sequence.json +24 -0
- package/fixtures/json-schema/network-ingest-event/valid/proxy-runtime-epoch.json +24 -0
- package/fixtures/json-schema/network-runtime-protocol/invalid/eap-activate-partial-profile.json +16 -0
- package/fixtures/json-schema/network-runtime-protocol/invalid/eap-revoke-other-kind.json +16 -0
- package/fixtures/json-schema/network-runtime-protocol/invalid/enrollment-duplicate-capability.json +30 -0
- package/fixtures/json-schema/network-runtime-protocol/invalid/enrollment-unknown-capability.json +30 -0
- package/fixtures/json-schema/network-runtime-protocol/invalid/legacy-with-proof.json +19 -0
- package/fixtures/json-schema/network-runtime-protocol/invalid/ttls-certificate.json +42 -0
- package/fixtures/json-schema/network-runtime-protocol/invalid/ttls-device-override.json +19 -0
- package/fixtures/json-schema/network-runtime-protocol/invalid/ttls-no-proof.json +17 -0
- package/fixtures/json-schema/network-runtime-protocol/invalid/ttls-nonstation-identity.json +18 -0
- package/fixtures/json-schema/network-runtime-protocol/invalid/ttls-profile-without-pap.json +40 -0
- package/fixtures/json-schema/network-runtime-protocol/valid/app-default-enrollment.json +29 -0
- package/fixtures/json-schema/network-runtime-protocol/valid/app-mihomo-enrollment.json +32 -0
- package/fixtures/json-schema/network-runtime-protocol/valid/eap-activate-profile.json +17 -0
- package/fixtures/json-schema/network-runtime-protocol/valid/eap-revoke-result.json +16 -0
- package/fixtures/json-schema/network-runtime-protocol/valid/eap-revoke.json +16 -0
- package/fixtures/json-schema/network-runtime-protocol/valid/proxy-default-enrollment.json +23 -0
- package/fixtures/json-schema/network-runtime-protocol/valid/ttls-authorization.json +18 -0
- package/fixtures/json-schema/network-runtime-protocol/valid/ttls-profile-enrollment.json +23 -0
- package/fixtures/json-schema/network-runtime-protocol/valid/ttls-profile.json +41 -0
- package/fixtures/json-schema/proxy-adapter/invalid/apply-incomplete-result.json +11 -0
- package/fixtures/json-schema/proxy-adapter/invalid/close-incomplete-result.json +9 -0
- package/fixtures/json-schema/proxy-adapter/invalid/handshake-incomplete-result.json +11 -0
- package/fixtures/json-schema/proxy-adapter/invalid/invalid-method.json +11 -0
- package/fixtures/json-schema/proxy-adapter/invalid/major.json +11 -0
- package/fixtures/json-schema/proxy-adapter/invalid/missing-challenge.json +9 -0
- package/fixtures/json-schema/proxy-adapter/invalid/multiple-outcomes.json +12 -0
- package/fixtures/json-schema/proxy-adapter/invalid/observe-incomplete-result.json +9 -0
- package/fixtures/json-schema/proxy-adapter/invalid/unknown-field.json +12 -0
- package/fixtures/json-schema/proxy-adapter/valid/apply-result.json +12 -0
- package/fixtures/json-schema/proxy-adapter/valid/close-result.json +11 -0
- package/fixtures/json-schema/proxy-adapter/valid/handshake-result.json +19 -0
- package/fixtures/json-schema/proxy-adapter/valid/handshake.json +11 -0
- package/fixtures/json-schema/proxy-adapter/valid/observe-result.json +20 -0
- package/fixtures/json-schema/proxy-runtime/invalid/deployment-stop-accepting.json +19 -0
- package/fixtures/json-schema/proxy-runtime/invalid/deployment-stopped-unknown.json +21 -0
- package/fixtures/json-schema/proxy-runtime/invalid/duplicate-capability.json +20 -0
- package/fixtures/json-schema/proxy-runtime/invalid/guarded-udp-unknown.json +19 -0
- package/fixtures/json-schema/proxy-runtime/invalid/ingress-check-cross-payload.json +9 -0
- package/fixtures/json-schema/proxy-runtime/invalid/ingress-check-result-cross-payload.json +9 -0
- package/fixtures/json-schema/proxy-runtime/invalid/publication-ready-cross-payload.json +9 -0
- package/fixtures/json-schema/proxy-runtime/invalid/unknown-field.json +18 -0
- package/fixtures/json-schema/proxy-runtime/valid/deployment-process-stopped.json +21 -0
- package/fixtures/json-schema/proxy-runtime/valid/deployment-stop-required.json +19 -0
- package/fixtures/json-schema/proxy-runtime/valid/guarded-udp.json +20 -0
- package/fixtures/json-schema/proxy-runtime/valid/ingress-check-result.json +15 -0
- package/fixtures/json-schema/proxy-runtime/valid/ingress-check.json +18 -0
- package/fixtures/json-schema/proxy-runtime/valid/management-capabilities.json +26 -0
- package/fixtures/json-schema/proxy-runtime/valid/observation.json +17 -0
- package/fixtures/json-schema/proxy-runtime/valid/publication-ready.json +16 -0
- package/fixtures/json-schema/radius-password-verifier/invalid/bare-pap.json +9 -0
- package/fixtures/json-schema/radius-password-verifier/invalid/empty-password.json +9 -0
- package/fixtures/json-schema/radius-password-verifier/invalid/enumeration.json +4 -0
- package/fixtures/json-schema/radius-password-verifier/invalid/failure-with-subject.json +5 -0
- package/fixtures/json-schema/radius-password-verifier/invalid/invalid-station.json +9 -0
- package/fixtures/json-schema/radius-password-verifier/invalid/radius-xlat.json +16 -0
- package/fixtures/json-schema/radius-password-verifier/invalid/raw-password.json +10 -0
- package/fixtures/json-schema/radius-password-verifier/invalid/success-without-receipt.json +5 -0
- package/fixtures/json-schema/radius-password-verifier/invalid/too-long.json +9 -0
- package/fixtures/json-schema/radius-password-verifier/invalid/url-base64.json +9 -0
- package/fixtures/json-schema/radius-password-verifier/invalid/wrong-method.json +9 -0
- package/fixtures/json-schema/radius-password-verifier/valid/failure.json +4 -0
- package/fixtures/json-schema/radius-password-verifier/valid/radius-success.json +16 -0
- package/fixtures/json-schema/radius-password-verifier/valid/request.json +9 -0
- package/fixtures/json-schema/radius-password-verifier/valid/success.json +6 -0
- package/fixtures/json-schema/radius-runtime/invalid/control-with-secret.json +30 -0
- package/fixtures/json-schema/radius-runtime/invalid/known-null.json +21 -0
- package/fixtures/json-schema/radius-runtime/invalid/known-without-count.json +20 -0
- package/fixtures/json-schema/radius-runtime/invalid/stopped-still-accepting.json +21 -0
- package/fixtures/json-schema/radius-runtime/invalid/stopped-with-live-state.json +21 -0
- package/fixtures/json-schema/radius-runtime/invalid/unknown-with-zero.json +21 -0
- package/fixtures/json-schema/radius-runtime/valid/bootstrap-control.json +29 -0
- package/fixtures/json-schema/radius-runtime/valid/known-zero.json +21 -0
- package/fixtures/json-schema/radius-runtime/valid/owned-child-stopped.json +21 -0
- package/fixtures/json-schema/radius-runtime/valid/unknown-state.json +20 -0
- package/fixtures/openapi/AIMemoryPolicy/invalid/invalid-mode.json +16 -0
- package/fixtures/openapi/AIMemoryPolicy/valid/legacy-global.json +12 -0
- package/fixtures/openapi/AIMemoryPolicy/valid/scoped.json +16 -0
- package/fixtures/openapi/AIMemoryPolicyInput/invalid/invalid-mode.json +9 -0
- package/fixtures/openapi/AIMemoryPolicyInput/invalid/owner-spoof.json +10 -0
- package/fixtures/openapi/AIMemoryPolicyInput/valid/heya-automatic.json +9 -0
- package/fixtures/openapi/AIMemoryPolicyInput/valid/scoped.json +9 -0
- package/fixtures/openapi/AIMemoryRecord/invalid/invalid-source-hash.json +20 -0
- package/fixtures/openapi/AIMemoryRecord/invalid/invalid-sync-status.json +20 -0
- package/fixtures/openapi/AIMemoryRecord/invalid/quarantine-reason-too-long.json +22 -0
- package/fixtures/openapi/AIMemoryRecord/valid/delete-pending.json +21 -0
- package/fixtures/openapi/AIMemoryRecord/valid/quarantined.json +22 -0
- package/fixtures/openapi/AIMemoryRecord/valid/synced.json +20 -0
- package/fixtures/openapi/AgentConditionalResourceMutationRequest/invalid/preconditions-v1.json +8 -0
- package/fixtures/openapi/AgentConditionalResourceMutationRequest/valid/preconditions-v1.json +9 -0
- package/fixtures/openapi/AgentConditionalResourceYamlRequest/invalid/preconditions-v1.json +6 -0
- package/fixtures/openapi/AgentConditionalResourceYamlRequest/valid/preconditions-v1.json +10 -0
- package/fixtures/openapi/AgentPodArgvResult/invalid/native-pod-execution-v1.json +17 -0
- package/fixtures/openapi/AgentPodArgvResult/valid/native-pod-execution-v1.json +24 -0
- package/fixtures/openapi/AgentPodExecutionCapabilities/invalid/native-pod-execution-v1.json +7 -0
- package/fixtures/openapi/AgentPodExecutionCapabilities/valid/native-pod-execution-v1.json +7 -0
- package/fixtures/openapi/AgentRunCallbackRequest/valid/dsh-agent-status.json +17 -0
- package/fixtures/openapi/AlertOwnershipInput/invalid/workbench.json +3 -0
- package/fixtures/openapi/AlertOwnershipInput/valid/workbench.json +4 -0
- package/fixtures/openapi/ApplicationEnvironmentListEnvelope/invalid/legacy-list-alias.json +4 -0
- package/fixtures/openapi/ApplicationEnvironmentListEnvelope/valid/legacy-list-alias.json +4 -0
- package/fixtures/openapi/ApplicationListEnvelope/invalid/legacy-list-alias.json +4 -0
- package/fixtures/openapi/ApplicationListEnvelope/valid/legacy-list-alias.json +4 -0
- package/fixtures/openapi/ApplicationServiceListEnvelope/invalid/legacy-list-alias.json +4 -0
- package/fixtures/openapi/ApplicationServiceListEnvelope/valid/legacy-list-alias.json +4 -0
- package/fixtures/openapi/CLIAuthContext/invalid/cli-boundary.json +13 -0
- package/fixtures/openapi/CLIAuthContext/valid/cli-boundary.json +12 -0
- package/fixtures/openapi/CLIAuthOptions/invalid/cli-boundary.json +14 -0
- package/fixtures/openapi/CLIAuthOptions/valid/cli-boundary.json +13 -0
- package/fixtures/openapi/CLIAuthOptions/valid/governed-ai.json +14 -0
- package/fixtures/openapi/CLIDeviceAuthorization/invalid/cli-boundary.json +10 -0
- package/fixtures/openapi/CLIDeviceAuthorization/invalid/numeric-code.json +9 -0
- package/fixtures/openapi/CLIDeviceAuthorization/valid/cli-boundary.json +9 -0
- package/fixtures/openapi/CLIDeviceAuthorizationCreateRequest/invalid/basic.json +5 -0
- package/fixtures/openapi/CLIDeviceAuthorizationCreateRequest/valid/basic.json +5 -0
- package/fixtures/openapi/CLIDeviceCancelRequest/invalid/cli-boundary.json +5 -0
- package/fixtures/openapi/CLIDeviceCancelRequest/valid/cli-boundary.json +4 -0
- package/fixtures/openapi/CLIDeviceDecisionRequest/invalid/basic.json +6 -0
- package/fixtures/openapi/CLIDeviceDecisionRequest/valid/basic.json +6 -0
- package/fixtures/openapi/CLIDeviceInspectRequest/invalid/basic.json +4 -0
- package/fixtures/openapi/CLIDeviceInspectRequest/valid/basic.json +4 -0
- package/fixtures/openapi/CLIDeviceTokenRequest/invalid/basic.json +5 -0
- package/fixtures/openapi/CLIDeviceTokenRequest/valid/basic.json +5 -0
- package/fixtures/openapi/CLILogoutRequest/invalid/cli-boundary.json +4 -0
- package/fixtures/openapi/CLILogoutRequest/valid/cli-boundary.json +3 -0
- package/fixtures/openapi/CLIRefreshRequest/invalid/basic.json +3 -0
- package/fixtures/openapi/CLIRefreshRequest/valid/basic.json +4 -0
- package/fixtures/openapi/CLISession/invalid/cli-boundary.json +12 -0
- package/fixtures/openapi/CLISession/valid/cli-boundary.json +11 -0
- package/fixtures/openapi/DeliveryBlueprintListEnvelope/invalid/legacy-list-alias.json +4 -0
- package/fixtures/openapi/DeliveryBlueprintListEnvelope/valid/legacy-list-alias.json +4 -0
- package/fixtures/openapi/DeliveryEnvironmentListEnvelope/invalid/legacy-list-alias.json +4 -0
- package/fixtures/openapi/DeliveryEnvironmentListEnvelope/valid/legacy-list-alias.json +4 -0
- package/fixtures/openapi/DeliveryPlanServiceReferenceImpact/invalid/hidden-count.json +24 -0
- package/fixtures/openapi/DeliveryPlanServiceReferenceImpact/invalid/hidden-identities.json +26 -0
- package/fixtures/openapi/DeliveryPlanServiceReferenceImpact/invalid/invalid-frozen-revision.json +23 -0
- package/fixtures/openapi/DeliveryPlanServiceReferenceImpact/invalid/missing-current-revision.json +22 -0
- package/fixtures/openapi/DeliveryPlanServiceReferenceImpact/invalid/private-complete-snapshot.json +37 -0
- package/fixtures/openapi/DeliveryPlanServiceReferenceImpact/invalid/too-many-items.json +1223 -0
- package/fixtures/openapi/DeliveryPlanServiceReferenceImpact/valid/current-plan.json +23 -0
- package/fixtures/openapi/DeliveryPlanServiceReferenceImpact/valid/stale-plan-current-visible-page.json +23 -0
- package/fixtures/openapi/DeliveryTemplateUsageApplication/invalid/unknown-field.json +4 -0
- package/fixtures/openapi/DeliveryTemplateUsageApplication/valid/minimal.json +3 -0
- package/fixtures/openapi/DeliveryTemplateUsageBinding/invalid/unknown-field.json +6 -0
- package/fixtures/openapi/DeliveryTemplateUsageBinding/valid/minimal.json +5 -0
- package/fixtures/openapi/DeliveryTemplateUsageBuildSource/invalid/unknown-field.json +7 -0
- package/fixtures/openapi/DeliveryTemplateUsageBuildSource/valid/minimal.json +6 -0
- package/fixtures/openapi/DeliveryTemplateUsageEnvironment/invalid/unknown-field.json +5 -0
- package/fixtures/openapi/DeliveryTemplateUsageEnvironment/valid/minimal.json +4 -0
- package/fixtures/openapi/DeliveryTemplateUsageRuntimeItem/invalid/unknown-field.json +6 -0
- package/fixtures/openapi/DeliveryTemplateUsageRuntimeItem/valid/minimal.json +5 -0
- package/fixtures/openapi/DeliveryTemplateUsageRuntimeSummary/invalid/unknown-field.json +20 -0
- package/fixtures/openapi/DeliveryTemplateUsageRuntimeSummary/valid/minimal.json +19 -0
- package/fixtures/openapi/DeliveryTemplateUsageSummary/invalid/missing-kind.json +16 -0
- package/fixtures/openapi/DeliveryTemplateUsageSummary/valid/static.json +17 -0
- package/fixtures/openapi/DeliveryTemplateUsageSummaryEnvelope/invalid/legacy-items.json +3 -0
- package/fixtures/openapi/DeliveryTemplateUsageSummaryEnvelope/valid/static.json +19 -0
- package/fixtures/openapi/DirectorySyncRequestEnvelope/invalid/original-request.json +25 -0
- package/fixtures/openapi/DirectorySyncRequestEnvelope/valid/original-request.json +24 -0
- package/fixtures/openapi/DirectorySyncRequestInput/invalid/original-request.json +4 -0
- package/fixtures/openapi/DirectorySyncRequestInput/valid/original-request.json +3 -0
- package/fixtures/openapi/DirectorySyncRequestOrganizations/invalid/original-request.json +7 -0
- package/fixtures/openapi/DirectorySyncRequestOrganizations/valid/original-request.json +6 -0
- package/fixtures/openapi/DirectorySyncRequestPeople/invalid/original-request.json +7 -0
- package/fixtures/openapi/DirectorySyncRequestPeople/valid/original-request.json +6 -0
- package/fixtures/openapi/DirectorySyncRequestReceipt/invalid/original-request.json +23 -0
- package/fixtures/openapi/DirectorySyncRequestReceipt/valid/original-request.json +22 -0
- package/fixtures/openapi/DirectorySyncRequestRun/invalid/cancel-flag.json +1 -0
- package/fixtures/openapi/DirectorySyncRequestRun/invalid/original-request.json +19 -0
- package/fixtures/openapi/DirectorySyncRequestRun/valid/original-request.json +19 -0
- package/fixtures/openapi/DockerConfigurationChange/invalid/field.json +5 -0
- package/fixtures/openapi/DockerConfigurationChange/invalid/integer-overflow.json +4 -0
- package/fixtures/openapi/DockerConfigurationChange/valid/field.json +4 -0
- package/fixtures/openapi/DockerConfigurationDeleteInput/invalid/delete.json +7 -0
- package/fixtures/openapi/DockerConfigurationDeleteInput/valid/delete.json +7 -0
- package/fixtures/openapi/DockerConfigurationMapValue/invalid/map.json +1 -0
- package/fixtures/openapi/DockerConfigurationMapValue/valid/map.json +3 -0
- package/fixtures/openapi/DockerConfigurationPatchInput/invalid/missing-target-host.json +13 -0
- package/fixtures/openapi/DockerConfigurationPatchInput/invalid/patch.json +8 -0
- package/fixtures/openapi/DockerConfigurationPatchInput/invalid/unused-target-host.json +14 -0
- package/fixtures/openapi/DockerConfigurationPatchInput/valid/explicit-zero-and-empty.json +21 -0
- package/fixtures/openapi/DockerConfigurationPatchInput/valid/host-move.json +14 -0
- package/fixtures/openapi/DockerConfigurationPatchInput/valid/patch.json +13 -0
- package/fixtures/openapi/DockerConfigurationPreconditions/invalid/identity.json +3 -0
- package/fixtures/openapi/DockerConfigurationPreconditions/valid/identity.json +4 -0
- package/fixtures/openapi/DockerConfigurationReceipt/invalid/receipt.json +15 -0
- package/fixtures/openapi/DockerConfigurationReceipt/valid/receipt.json +14 -0
- package/fixtures/openapi/DockerConfigurationReceiptEnvelope/invalid/receipt.json +16 -0
- package/fixtures/openapi/DockerConfigurationReceiptEnvelope/valid/receipt.json +16 -0
- package/fixtures/openapi/DockerConfigurationScalar/invalid/simple.json +1 -0
- package/fixtures/openapi/DockerConfigurationScalar/valid/simple.json +1 -0
- package/fixtures/openapi/DockerHostRegistration/invalid/host.json +4 -0
- package/fixtures/openapi/DockerHostRegistration/valid/host.json +6 -0
- package/fixtures/openapi/DockerHostRegistrationInput/invalid/registration.json +4 -0
- package/fixtures/openapi/DockerHostRegistrationInput/valid/registration.json +6 -0
- package/fixtures/openapi/DockerNativeTerminalCreated/invalid/native-v1.json +24 -0
- package/fixtures/openapi/DockerNativeTerminalCreated/valid/native-v1.json +23 -0
- package/fixtures/openapi/DockerNativeTerminalCreatedEnvelope/invalid/native-v1.json +26 -0
- package/fixtures/openapi/DockerNativeTerminalCreatedEnvelope/valid/native-v1.json +25 -0
- package/fixtures/openapi/DockerNativeTerminalInput/invalid/native-v1.json +9 -0
- package/fixtures/openapi/DockerNativeTerminalInput/valid/native-v1.json +8 -0
- package/fixtures/openapi/DockerNativeTerminalSession/invalid/native-v1.json +21 -0
- package/fixtures/openapi/DockerNativeTerminalSession/valid/native-v1.json +20 -0
- package/fixtures/openapi/DockerNativeTerminalSessionEnvelope/invalid/native-v1.json +23 -0
- package/fixtures/openapi/DockerNativeTerminalSessionEnvelope/valid/native-v1.json +22 -0
- package/fixtures/openapi/DockerProjectDeployInput/invalid/missing-host.json +8 -0
- package/fixtures/openapi/DockerProjectDeployInput/valid/bound.json +14 -0
- package/fixtures/openapi/DockerProjectDeployInput/valid/legacy.json +1 -0
- package/fixtures/openapi/DockerProjectDeployPreconditions/invalid/missing-host.json +6 -0
- package/fixtures/openapi/DockerProjectDeployPreconditions/valid/bound.json +11 -0
- package/fixtures/openapi/DockerResourceIdentity/invalid/configuration-leak.json +9 -0
- package/fixtures/openapi/DockerResourceIdentity/invalid/host-with-host.json +7 -0
- package/fixtures/openapi/DockerResourceIdentity/invalid/invalid-uid.json +6 -0
- package/fixtures/openapi/DockerResourceIdentity/invalid/missing-revision.json +5 -0
- package/fixtures/openapi/DockerResourceIdentity/invalid/missing-uid.json +5 -0
- package/fixtures/openapi/DockerResourceIdentity/invalid/project-without-host.json +6 -0
- package/fixtures/openapi/DockerResourceIdentity/invalid/wrong-kind.json +6 -0
- package/fixtures/openapi/DockerResourceIdentity/valid/host.json +6 -0
- package/fixtures/openapi/DockerResourceIdentity/valid/project.json +7 -0
- package/fixtures/openapi/DockerResourceIdentityEnvelope/invalid/array-data.json +10 -0
- package/fixtures/openapi/DockerResourceIdentityEnvelope/invalid/missing-data.json +1 -0
- package/fixtures/openapi/DockerResourceIdentityEnvelope/invalid/unexpected-payload.json +11 -0
- package/fixtures/openapi/DockerResourceIdentityEnvelope/valid/host.json +8 -0
- package/fixtures/openapi/DockerResourceIdentityEnvelope/valid/project.json +9 -0
- package/fixtures/openapi/DockerRuntimeContainerBinding/invalid/identity-bound.json +8 -0
- package/fixtures/openapi/DockerRuntimeContainerBinding/valid/identity-bound.json +8 -0
- package/fixtures/openapi/DockerRuntimeFileEntry/invalid/identity-bound.json +8 -0
- package/fixtures/openapi/DockerRuntimeFileEntry/valid/identity-bound.json +8 -0
- package/fixtures/openapi/DockerRuntimeReadEnvelope/invalid/identity-bound.json +23 -0
- package/fixtures/openapi/DockerRuntimeReadEnvelope/valid/identity-bound.json +23 -0
- package/fixtures/openapi/DockerRuntimeReadResult/invalid/identity-bound.json +21 -0
- package/fixtures/openapi/DockerRuntimeReadResult/valid/identity-bound.json +21 -0
- package/fixtures/openapi/DockerRuntimeVolume/invalid/identity-bound.json +7 -0
- package/fixtures/openapi/DockerRuntimeVolume/valid/identity-bound.json +7 -0
- package/fixtures/openapi/EnvironmentServiceReference/invalid/candidate-state.json +60 -0
- package/fixtures/openapi/EnvironmentServiceReference/invalid/missing-current-source-revision.json +59 -0
- package/fixtures/openapi/EnvironmentServiceReference/invalid/missing-identity-revision.json +59 -0
- package/fixtures/openapi/EnvironmentServiceReference/invalid/private-snapshot.json +61 -0
- package/fixtures/openapi/EnvironmentServiceReference/valid/active.json +60 -0
- package/fixtures/openapi/EnvironmentServiceReferenceCandidate/invalid/active.json +63 -0
- package/fixtures/openapi/EnvironmentServiceReferenceCandidate/invalid/raw-secret.json +66 -0
- package/fixtures/openapi/EnvironmentServiceReferenceCandidate/valid/generic-operator.json +63 -0
- package/fixtures/openapi/EnvironmentServiceReferenceCandidate/valid/helm-root.json +49 -0
- package/fixtures/openapi/EnvironmentServiceReferenceCandidateDeleteInput/invalid/missing-binding-cas.json +4 -0
- package/fixtures/openapi/EnvironmentServiceReferenceCandidateDeleteInput/invalid/missing-identity.json +4 -0
- package/fixtures/openapi/EnvironmentServiceReferenceCandidateDeleteInput/valid/delete-without-source.json +5 -0
- package/fixtures/openapi/EnvironmentServiceReferenceCandidateEnvelope/invalid/missing-revision.json +64 -0
- package/fixtures/openapi/EnvironmentServiceReferenceCandidateEnvelope/valid/generic-operator.json +65 -0
- package/fixtures/openapi/EnvironmentServiceReferenceCandidateEnvelope/valid/helm-root.json +51 -0
- package/fixtures/openapi/EnvironmentServiceReferenceCandidateInput/invalid/activation.json +11 -0
- package/fixtures/openapi/EnvironmentServiceReferenceCandidateInput/invalid/create-with-old-id.json +11 -0
- package/fixtures/openapi/EnvironmentServiceReferenceCandidateInput/invalid/empty-targets.json +8 -0
- package/fixtures/openapi/EnvironmentServiceReferenceCandidateInput/invalid/missing-digest.json +9 -0
- package/fixtures/openapi/EnvironmentServiceReferenceCandidateInput/invalid/missing-targets.json +7 -0
- package/fixtures/openapi/EnvironmentServiceReferenceCandidateInput/invalid/null-targets.json +8 -0
- package/fixtures/openapi/EnvironmentServiceReferenceCandidateInput/invalid/update-without-id.json +10 -0
- package/fixtures/openapi/EnvironmentServiceReferenceCandidateInput/valid/create.json +10 -0
- package/fixtures/openapi/EnvironmentServiceReferenceCandidateInput/valid/update.json +11 -0
- package/fixtures/openapi/EnvironmentServiceReferenceCandidatePage/invalid/source-content.json +17 -0
- package/fixtures/openapi/EnvironmentServiceReferenceCandidatePage/valid/page.json +13 -0
- package/fixtures/openapi/EnvironmentServiceReferenceCandidateSummary/invalid/source-leak.json +9 -0
- package/fixtures/openapi/EnvironmentServiceReferenceCandidateSummary/valid/consumer-metadata.json +8 -0
- package/fixtures/openapi/EnvironmentServiceReferenceConsumer/invalid/duplicate-target-ids.json +13 -0
- package/fixtures/openapi/EnvironmentServiceReferenceConsumer/invalid/source-content.json +38 -0
- package/fixtures/openapi/EnvironmentServiceReferenceConsumer/invalid/too-many-target-ids.json +112 -0
- package/fixtures/openapi/EnvironmentServiceReferenceConsumer/valid/visible.json +12 -0
- package/fixtures/openapi/EnvironmentServiceReferenceConsumerPage/invalid/hidden-count.json +19 -0
- package/fixtures/openapi/EnvironmentServiceReferenceConsumerPage/invalid/hidden-identities.json +21 -0
- package/fixtures/openapi/EnvironmentServiceReferenceConsumerPage/invalid/missing-restricted-flag.json +17 -0
- package/fixtures/openapi/EnvironmentServiceReferenceConsumerPage/invalid/too-many-items.json +1218 -0
- package/fixtures/openapi/EnvironmentServiceReferenceConsumerPage/valid/all-consumers-restricted.json +4 -0
- package/fixtures/openapi/EnvironmentServiceReferenceConsumerPage/valid/visible-page-with-restricted-consumers.json +18 -0
- package/fixtures/openapi/EnvironmentServiceReferenceDeleteInput/invalid/caller-force.json +6 -0
- package/fixtures/openapi/EnvironmentServiceReferenceDeleteInput/invalid/missing-consumer-cas.json +4 -0
- package/fixtures/openapi/EnvironmentServiceReferenceDeleteInput/invalid/missing-reference-id.json +4 -0
- package/fixtures/openapi/EnvironmentServiceReferenceDeleteInput/invalid/zero-reference-revision.json +5 -0
- package/fixtures/openapi/EnvironmentServiceReferenceDeleteInput/valid/detach-without-source-access.json +5 -0
- package/fixtures/openapi/EnvironmentServiceReferenceEnvelope/invalid/missing-fresh-uid.json +61 -0
- package/fixtures/openapi/EnvironmentServiceReferenceEnvelope/valid/active.json +62 -0
- package/fixtures/openapi/EnvironmentServiceReferenceInput/invalid/caller-force.json +9 -0
- package/fixtures/openapi/EnvironmentServiceReferenceInput/invalid/caller-ownership.json +9 -0
- package/fixtures/openapi/EnvironmentServiceReferenceInput/invalid/caller-source.json +9 -0
- package/fixtures/openapi/EnvironmentServiceReferenceInput/invalid/caller-targets.json +11 -0
- package/fixtures/openapi/EnvironmentServiceReferenceInput/invalid/create-with-reference-id.json +9 -0
- package/fixtures/openapi/EnvironmentServiceReferenceInput/invalid/empty-candidate-id.json +8 -0
- package/fixtures/openapi/EnvironmentServiceReferenceInput/invalid/invalid-consumer-time.json +8 -0
- package/fixtures/openapi/EnvironmentServiceReferenceInput/invalid/invalid-source-digest.json +8 -0
- package/fixtures/openapi/EnvironmentServiceReferenceInput/invalid/invalid-source-time.json +8 -0
- package/fixtures/openapi/EnvironmentServiceReferenceInput/invalid/missing-candidate-id.json +7 -0
- package/fixtures/openapi/EnvironmentServiceReferenceInput/invalid/missing-candidate-revision.json +7 -0
- package/fixtures/openapi/EnvironmentServiceReferenceInput/invalid/missing-consumer-cas.json +7 -0
- package/fixtures/openapi/EnvironmentServiceReferenceInput/invalid/missing-source-cas.json +7 -0
- package/fixtures/openapi/EnvironmentServiceReferenceInput/invalid/missing-source-digest.json +7 -0
- package/fixtures/openapi/EnvironmentServiceReferenceInput/invalid/negative-reference-revision.json +8 -0
- package/fixtures/openapi/EnvironmentServiceReferenceInput/invalid/oversized-candidate-id.json +8 -0
- package/fixtures/openapi/EnvironmentServiceReferenceInput/invalid/update-without-reference-id.json +8 -0
- package/fixtures/openapi/EnvironmentServiceReferenceInput/invalid/zero-candidate-revision.json +8 -0
- package/fixtures/openapi/EnvironmentServiceReferenceInput/valid/activate.json +8 -0
- package/fixtures/openapi/EnvironmentServiceReferenceInput/valid/explicit-rebind.json +9 -0
- package/fixtures/openapi/EnvironmentServiceReferencePage/invalid/global-count.json +14 -0
- package/fixtures/openapi/EnvironmentServiceReferencePage/invalid/source-content.json +64 -0
- package/fixtures/openapi/EnvironmentServiceReferencePage/invalid/too-many-items.json +813 -0
- package/fixtures/openapi/EnvironmentServiceReferencePage/valid/empty.json +3 -0
- package/fixtures/openapi/EnvironmentServiceReferencePage/valid/page.json +13 -0
- package/fixtures/openapi/EnvironmentServiceReferencePreviewEnvelope/invalid/missing-uid.json +54 -0
- package/fixtures/openapi/EnvironmentServiceReferencePreviewEnvelope/invalid/raw-values.json +58 -0
- package/fixtures/openapi/EnvironmentServiceReferencePreviewEnvelope/valid/generic-operator.json +55 -0
- package/fixtures/openapi/EnvironmentServiceReferencePreviewEnvelope/valid/helm-root.json +41 -0
- package/fixtures/openapi/EnvironmentServiceReferencePreviewInput/invalid/duplicate-targets.json +10 -0
- package/fixtures/openapi/EnvironmentServiceReferencePreviewInput/invalid/empty-targets.json +7 -0
- package/fixtures/openapi/EnvironmentServiceReferencePreviewInput/invalid/invalid-revision.json +7 -0
- package/fixtures/openapi/EnvironmentServiceReferencePreviewInput/invalid/missing-source-cas.json +5 -0
- package/fixtures/openapi/EnvironmentServiceReferencePreviewInput/invalid/null-targets.json +7 -0
- package/fixtures/openapi/EnvironmentServiceReferencePreviewInput/invalid/unexpected-write.json +7 -0
- package/fixtures/openapi/EnvironmentServiceReferencePreviewInput/valid/all-source-targets.json +6 -0
- package/fixtures/openapi/EnvironmentServiceReferencePreviewInput/valid/explicit-group.json +11 -0
- package/fixtures/openapi/EnvironmentServiceReferenceResolvedTarget/invalid/missing-origin.json +40 -0
- package/fixtures/openapi/EnvironmentServiceReferenceResolvedTarget/invalid/missing-source-uid.json +48 -0
- package/fixtures/openapi/EnvironmentServiceReferenceResolvedTarget/invalid/missing-view.json +40 -0
- package/fixtures/openapi/EnvironmentServiceReferenceResolvedTarget/invalid/yaml-is-not-authorized.json +50 -0
- package/fixtures/openapi/EnvironmentServiceReferenceResolvedTarget/invalid/zero-reference-revision.json +49 -0
- package/fixtures/openapi/EnvironmentServiceReferenceResolvedTarget/valid/consumer-view-source-origin.json +49 -0
- package/fixtures/openapi/EnvironmentServiceReferenceSummary/invalid/source-leak.json +9 -0
- package/fixtures/openapi/EnvironmentServiceReferenceSummary/invalid/zero-reference-revision.json +8 -0
- package/fixtures/openapi/EnvironmentServiceReferenceSummary/valid/consumer-metadata.json +8 -0
- package/fixtures/openapi/ExecutionArtifactListEnvelope/invalid/legacy-list-alias.json +4 -0
- package/fixtures/openapi/ExecutionArtifactListEnvelope/valid/legacy-list-alias.json +4 -0
- package/fixtures/openapi/ExecutionLog/invalid/missing-task.json +6 -0
- package/fixtures/openapi/ExecutionLog/valid/nested-metadata.json +16 -0
- package/fixtures/openapi/ExecutionLog/valid/row.json +7 -0
- package/fixtures/openapi/ExecutionLogListEnvelope/invalid/wrong-wrapper.json +3 -0
- package/fixtures/openapi/ExecutionLogListEnvelope/valid/empty.json +3 -0
- package/fixtures/openapi/ExecutionTaskActionInput/invalid/reason-type.json +3 -0
- package/fixtures/openapi/ExecutionTaskActionInput/invalid/unknown.json +3 -0
- package/fixtures/openapi/ExecutionTaskActionInput/valid/empty.json +1 -0
- package/fixtures/openapi/ExecutionTaskActionInput/valid/reason.json +3 -0
- package/fixtures/openapi/ExecutionTaskControlInput/invalid/missing-action.json +3 -0
- package/fixtures/openapi/ExecutionTaskControlInput/invalid/reason-too-long.json +4 -0
- package/fixtures/openapi/ExecutionTaskControlInput/invalid/unknown-field.json +4 -0
- package/fixtures/openapi/ExecutionTaskControlInput/invalid/unsupported-action.json +3 -0
- package/fixtures/openapi/ExecutionTaskControlInput/valid/cancel.json +4 -0
- package/fixtures/openapi/ExecutionTaskControlInput/valid/retry.json +3 -0
- package/fixtures/openapi/ExecutionTaskControlInput/valid/unicode-reason.json +4 -0
- package/fixtures/openapi/ExecutionTaskListEnvelope/invalid/legacy-list-alias.json +4 -0
- package/fixtures/openapi/ExecutionTaskListEnvelope/valid/legacy-list-alias.json +4 -0
- package/fixtures/openapi/GovernedAITokenBinding/invalid/binding.json +5 -0
- package/fixtures/openapi/GovernedAITokenBinding/valid/binding.json +5 -0
- package/fixtures/openapi/HealingOriginalRequestEnvelope/invalid/original-request.json +19 -0
- package/fixtures/openapi/HealingOriginalRequestEnvelope/valid/original-request.json +18 -0
- package/fixtures/openapi/HealingOriginalRequestInput/invalid/original-request.json +5 -0
- package/fixtures/openapi/HealingOriginalRequestInput/valid/original-request.json +4 -0
- package/fixtures/openapi/HealingOriginalRequestReceipt/invalid/original-request.json +17 -0
- package/fixtures/openapi/HealingOriginalRequestReceipt/valid/original-request.json +16 -0
- package/fixtures/openapi/HealingOriginalRun/invalid/original-request.json +13 -0
- package/fixtures/openapi/HealingOriginalRun/valid/original-request.json +12 -0
- package/fixtures/openapi/HelmReleaseImportInput/invalid/explicit-service-id.json +4 -0
- package/fixtures/openapi/HelmReleaseImportInput/valid/explicit-service-id.json +4 -0
- package/fixtures/openapi/IdentityOutpostClaimRequest/invalid/unsupported-control.json +7 -0
- package/fixtures/openapi/IdentityOutpostClaimRequest/valid/control-capable.json +7 -0
- package/fixtures/openapi/IdentityOutpostHeartbeatRequest/invalid/control-ack.json +11 -0
- package/fixtures/openapi/IdentityOutpostHeartbeatRequest/valid/control-ack.json +11 -0
- package/fixtures/openapi/IdentityOutpostHeartbeatRequest/valid/legacy.json +6 -0
- package/fixtures/openapi/IdentityOutpostRuntime/invalid/runtime.json +10 -0
- package/fixtures/openapi/IdentityOutpostRuntime/valid/observed-zero.json +18 -0
- package/fixtures/openapi/IdentityOutpostRuntime/valid/runtime.json +11 -0
- package/fixtures/openapi/IdentityOutpostRuntimeBindingInput/invalid/runtime.json +6 -0
- package/fixtures/openapi/IdentityOutpostRuntimeBindingInput/valid/runtime.json +5 -0
- package/fixtures/openapi/IdentityOutpostRuntimeControl/invalid/runtime.json +12 -0
- package/fixtures/openapi/IdentityOutpostRuntimeControl/valid/runtime.json +12 -0
- package/fixtures/openapi/IdentityOutpostRuntimeControlInput/invalid/arbitrary-target.json +6 -0
- package/fixtures/openapi/IdentityOutpostRuntimeControlInput/invalid/empty-request-id.json +5 -0
- package/fixtures/openapi/IdentityOutpostRuntimeControlInput/invalid/negative-generation.json +6 -0
- package/fixtures/openapi/IdentityOutpostRuntimeControlInput/invalid/reconcile-replicas.json +6 -0
- package/fixtures/openapi/IdentityOutpostRuntimeControlInput/invalid/runtime.json +6 -0
- package/fixtures/openapi/IdentityOutpostRuntimeControlInput/valid/reconcile.json +5 -0
- package/fixtures/openapi/IdentityOutpostRuntimeControlInput/valid/runtime.json +6 -0
- package/fixtures/openapi/IdentityOutpostRuntimeExecutorClaimRequest/invalid/runtime.json +6 -0
- package/fixtures/openapi/IdentityOutpostRuntimeExecutorClaimRequest/valid/runtime.json +3 -0
- package/fixtures/openapi/KubernetesClusterRegistrationRequest/valid/metric-cluster-dedicated.json +5 -0
- package/fixtures/openapi/KubernetesConditionalResourceYamlInput/invalid/preconditions-v1.json +3 -0
- package/fixtures/openapi/KubernetesConditionalResourceYamlInput/valid/preconditions-v1.json +7 -0
- package/fixtures/openapi/KubernetesConditionalWorkloadActionInput/invalid/preconditions-v1.json +7 -0
- package/fixtures/openapi/KubernetesConditionalWorkloadActionInput/valid/preconditions-v1.json +8 -0
- package/fixtures/openapi/KubernetesConditionalWorkloadActionReceipt/invalid/preconditions-v1.json +14 -0
- package/fixtures/openapi/KubernetesConditionalWorkloadActionReceipt/valid/preconditions-v1.json +14 -0
- package/fixtures/openapi/KubernetesConditionalWorkloadActionReceiptEnvelope/invalid/preconditions-v1.json +16 -0
- package/fixtures/openapi/KubernetesConditionalWorkloadActionReceiptEnvelope/valid/preconditions-v1.json +16 -0
- package/fixtures/openapi/KubernetesPodArgvInput/invalid/blank-executable.json +6 -0
- package/fixtures/openapi/KubernetesPodArgvInput/invalid/invalid-stdin.json +7 -0
- package/fixtures/openapi/KubernetesPodArgvInput/invalid/native-pod-execution-v1.json +4 -0
- package/fixtures/openapi/KubernetesPodArgvInput/invalid/nul-argv.json +7 -0
- package/fixtures/openapi/KubernetesPodArgvInput/valid/native-pod-execution-v1.json +7 -0
- package/fixtures/openapi/KubernetesPodArgvToolInput/invalid/empty-argv.json +10 -0
- package/fixtures/openapi/KubernetesPodArgvToolInput/invalid/missing-key.json +16 -0
- package/fixtures/openapi/KubernetesPodArgvToolInput/invalid/nested-unknown.json +18 -0
- package/fixtures/openapi/KubernetesPodArgvToolInput/invalid/timeout.json +17 -0
- package/fixtures/openapi/KubernetesPodArgvToolInput/invalid/unknown-shell.json +18 -0
- package/fixtures/openapi/KubernetesPodArgvToolInput/invalid/wrong-namespace.json +17 -0
- package/fixtures/openapi/KubernetesPodArgvToolInput/valid/reviewed-argv.json +17 -0
- package/fixtures/openapi/KubernetesPodExecutionLookupInput/invalid/both.json +7 -0
- package/fixtures/openapi/KubernetesPodExecutionLookupInput/invalid/empty-key.json +6 -0
- package/fixtures/openapi/KubernetesPodExecutionLookupInput/invalid/neither.json +5 -0
- package/fixtures/openapi/KubernetesPodExecutionLookupInput/invalid/noncanonical-id.json +6 -0
- package/fixtures/openapi/KubernetesPodExecutionLookupInput/invalid/unknown-command.json +11 -0
- package/fixtures/openapi/KubernetesPodExecutionLookupInput/valid/by-id.json +6 -0
- package/fixtures/openapi/KubernetesPodExecutionLookupInput/valid/by-key.json +6 -0
- package/fixtures/openapi/KubernetesPodExecutionOutput/invalid/native-pod-execution-v1.json +15 -0
- package/fixtures/openapi/KubernetesPodExecutionOutput/valid/native-pod-execution-v1.json +15 -0
- package/fixtures/openapi/KubernetesPodExecutionReceipt/invalid/native-pod-execution-v1.json +29 -0
- package/fixtures/openapi/KubernetesPodExecutionReceipt/valid/native-pod-execution-v1.json +29 -0
- package/fixtures/openapi/KubernetesPodExecutionReceiptEnvelope/invalid/native-pod-execution-v1.json +1 -0
- package/fixtures/openapi/KubernetesPodExecutionReceiptEnvelope/valid/native-pod-execution-v1.json +31 -0
- package/fixtures/openapi/KubernetesPodExecutionTarget/invalid/native-pod-execution-v1.json +7 -0
- package/fixtures/openapi/KubernetesPodExecutionTarget/valid/native-pod-execution-v1.json +7 -0
- package/fixtures/openapi/KubernetesPodGatewayResult/invalid/encoded-output.json +32 -0
- package/fixtures/openapi/KubernetesPodGatewayResult/invalid/missing-text.json +17 -0
- package/fixtures/openapi/KubernetesPodGatewayResult/invalid/raw-receipt-availability.json +32 -0
- package/fixtures/openapi/KubernetesPodGatewayResult/invalid/raw-receipt-output.json +47 -0
- package/fixtures/openapi/KubernetesPodGatewayResult/invalid/withheld-text.json +32 -0
- package/fixtures/openapi/KubernetesPodGatewayResult/valid/binary-withheld.json +17 -0
- package/fixtures/openapi/KubernetesPodGatewayResult/valid/redacted.json +32 -0
- package/fixtures/openapi/KubernetesPodGatewayResult/valid/text.json +32 -0
- package/fixtures/openapi/KubernetesPodGatewayResult/valid/unavailable.json +17 -0
- package/fixtures/openapi/KubernetesPodTerminalCreated/invalid/terminal.json +21 -0
- package/fixtures/openapi/KubernetesPodTerminalCreated/valid/terminal.json +21 -0
- package/fixtures/openapi/KubernetesPodTerminalCreatedEnvelope/invalid/terminal.json +3 -0
- package/fixtures/openapi/KubernetesPodTerminalCreatedEnvelope/valid/terminal.json +23 -0
- package/fixtures/openapi/KubernetesPodTerminalInput/invalid/terminal.json +4 -0
- package/fixtures/openapi/KubernetesPodTerminalInput/valid/terminal.json +3 -0
- package/fixtures/openapi/KubernetesPodTerminalResult/invalid/terminal.json +8 -0
- package/fixtures/openapi/KubernetesPodTerminalResult/valid/terminal.json +8 -0
- package/fixtures/openapi/KubernetesPodTerminalSession/invalid/terminal.json +18 -0
- package/fixtures/openapi/KubernetesPodTerminalSession/valid/terminal.json +18 -0
- package/fixtures/openapi/KubernetesPodTerminalSessionEnvelope/invalid/terminal.json +3 -0
- package/fixtures/openapi/KubernetesPodTerminalSessionEnvelope/valid/terminal.json +20 -0
- package/fixtures/openapi/KubernetesResourceDeletionReceipt/invalid/preconditions-v1.json +11 -0
- package/fixtures/openapi/KubernetesResourceDeletionReceipt/valid/preconditions-v1.json +11 -0
- package/fixtures/openapi/KubernetesResourceDeletionReceiptEnvelope/invalid/preconditions-v1.json +5 -0
- package/fixtures/openapi/KubernetesResourceDeletionReceiptEnvelope/valid/preconditions-v1.json +13 -0
- package/fixtures/openapi/KubernetesResourceIdentity/invalid/preconditions-v1.json +11 -0
- package/fixtures/openapi/KubernetesResourceIdentity/valid/preconditions-v1.json +8 -0
- package/fixtures/openapi/KubernetesResourceIdentityEnvelope/invalid/preconditions-v1.json +3 -0
- package/fixtures/openapi/KubernetesResourceIdentityEnvelope/valid/preconditions-v1.json +10 -0
- package/fixtures/openapi/KubernetesResourceMutationPreconditions/invalid/preconditions-v1.json +3 -0
- package/fixtures/openapi/KubernetesResourceMutationPreconditions/valid/preconditions-v1.json +4 -0
- package/fixtures/openapi/KubernetesResourcePresence/invalid/absence-with-uid.json +11 -0
- package/fixtures/openapi/KubernetesResourcePresence/invalid/missing-collection-version.json +9 -0
- package/fixtures/openapi/KubernetesResourcePresence/invalid/missing-state.json +9 -0
- package/fixtures/openapi/KubernetesResourcePresence/invalid/old-protocol.json +10 -0
- package/fixtures/openapi/KubernetesResourcePresence/invalid/present-without-uid.json +10 -0
- package/fixtures/openapi/KubernetesResourcePresence/invalid/unknown-field.json +11 -0
- package/fixtures/openapi/KubernetesResourcePresence/valid/absent.json +10 -0
- package/fixtures/openapi/KubernetesResourcePresence/valid/present.json +12 -0
- package/fixtures/openapi/KubernetesWorkloadImportInput/invalid/explicit-service-id.json +5 -0
- package/fixtures/openapi/KubernetesWorkloadImportInput/valid/explicit-service-id.json +7 -0
- package/fixtures/openapi/ManifestBindingListEnvelope/invalid/legacy-object.json +4 -0
- package/fixtures/openapi/ManifestBindingListEnvelope/valid/empty-alias.json +4 -0
- package/fixtures/openapi/ManifestRevision/invalid/missing-files.json +8 -0
- package/fixtures/openapi/ManifestRevision/valid/minimal.json +9 -0
- package/fixtures/openapi/ManifestRevisionListEnvelope/invalid/legacy-object.json +4 -0
- package/fixtures/openapi/ManifestRevisionListEnvelope/valid/legacy-alias.json +24 -0
- package/fixtures/openapi/NativeTerminalClientFrame/invalid/terminal.json +12 -0
- package/fixtures/openapi/NativeTerminalClientFrame/valid/terminal.json +4 -0
- package/fixtures/openapi/NativeTerminalServerFrame/invalid/terminal.json +4 -0
- package/fixtures/openapi/NativeTerminalServerFrame/valid/terminal.json +11 -0
- package/fixtures/openapi/NetworkConflictAnalysisRequest/invalid/ipv6-range.json +9 -0
- package/fixtures/openapi/NetworkEAPServerTrust/invalid/peap.json +10 -0
- package/fixtures/openapi/NetworkEAPServerTrust/invalid/tls-inner.json +11 -0
- package/fixtures/openapi/NetworkEAPServerTrust/invalid/ttls-incomplete.json +10 -0
- package/fixtures/openapi/NetworkEAPServerTrust/valid/ttls.json +12 -0
- package/fixtures/openapi/NetworkMihomoProfileInput/invalid/direct-bundle-raw-source.json +21 -0
- package/fixtures/openapi/NetworkMihomoProfileInput/invalid/mapped-raw-source.json +21 -0
- package/fixtures/openapi/NetworkMihomoProfileInput/valid/direct-bundle.json +19 -0
- package/fixtures/openapi/NetworkMihomoProfileInput/valid/mapped-nodes.json +19 -0
- package/fixtures/openapi/NetworkProxyBundleInput/invalid/unknown.json +25 -0
- package/fixtures/openapi/NetworkProxyBundleInput/valid/basic.json +24 -0
- package/fixtures/openapi/NetworkProxyBundleReadback/invalid/missing-identity.json +9 -0
- package/fixtures/openapi/NetworkProxyBundleReadback/invalid/unknown-field.json +11 -0
- package/fixtures/openapi/NetworkProxyBundleReadback/valid/basic.json +10 -0
- package/fixtures/openapi/NetworkProxyCapability/invalid/unknown-version.json +1 -0
- package/fixtures/openapi/NetworkProxyCapability/valid/guarded-udp.json +1 -0
- package/fixtures/openapi/NetworkProxyDeployment/invalid/negative-observation.json +7 -0
- package/fixtures/openapi/NetworkProxyDeployment/invalid/null-observation.json +7 -0
- package/fixtures/openapi/NetworkProxyDeployment/valid/positive.json +7 -0
- package/fixtures/openapi/NetworkProxyDeployment/valid/stopped.json +7 -0
- package/fixtures/openapi/NetworkProxyDeployment/valid/unobserved.json +6 -0
- package/fixtures/openapi/NetworkProxyDeploymentControlInput/invalid/unknown.json +7 -0
- package/fixtures/openapi/NetworkProxyDeploymentControlInput/valid/basic.json +6 -0
- package/fixtures/openapi/NetworkProxyDeploymentRuntimeAck/invalid/stopped-accepting.json +15 -0
- package/fixtures/openapi/NetworkProxyDeploymentRuntimeAck/invalid/stopped-active.json +15 -0
- package/fixtures/openapi/NetworkProxyDeploymentRuntimeAck/invalid/stopped-missing-count.json +14 -0
- package/fixtures/openapi/NetworkProxyDeploymentRuntimeAck/invalid/stopped-unknown.json +15 -0
- package/fixtures/openapi/NetworkProxyDeploymentRuntimeAck/valid/false-with-active-unknown.json +15 -0
- package/fixtures/openapi/NetworkProxyDeploymentRuntimeAck/valid/omitted-with-active-unknown.json +14 -0
- package/fixtures/openapi/NetworkProxyDeploymentRuntimeAck/valid/process-stopped.json +15 -0
- package/fixtures/openapi/NetworkProxyDeploymentRuntimeControl/invalid/stop-while-accepting.json +13 -0
- package/fixtures/openapi/NetworkProxyDeploymentRuntimeControl/valid/false-can-serve.json +13 -0
- package/fixtures/openapi/NetworkProxyDeploymentRuntimeControl/valid/omitted-can-serve.json +12 -0
- package/fixtures/openapi/NetworkProxyDeploymentRuntimeControl/valid/stop-required.json +13 -0
- package/fixtures/openapi/NetworkProxyDirectProjection/invalid/gateway-credential.json +22 -0
- package/fixtures/openapi/NetworkProxyDirectProjection/invalid/original-source-url.json +20 -0
- package/fixtures/openapi/NetworkProxyDirectProjection/invalid/protected-projection.json +41 -0
- package/fixtures/openapi/NetworkProxyDirectProjection/invalid/wrong-mode.json +19 -0
- package/fixtures/openapi/NetworkProxyDirectProjection/valid/explicit-direct.json +19 -0
- package/fixtures/openapi/NetworkProxyEmployeeProjection/invalid/direct-upstream-content.json +42 -0
- package/fixtures/openapi/NetworkProxyEmployeeProjection/invalid/unsafe-endpoint.json +41 -0
- package/fixtures/openapi/NetworkProxyEmployeeProjection/invalid/upstream.json +42 -0
- package/fixtures/openapi/NetworkProxyEmployeeProjection/valid/scoped.json +41 -0
- package/fixtures/openapi/NetworkProxyIngressCheckInput/invalid/arbitrary-url.json +12 -0
- package/fixtures/openapi/NetworkProxyIngressCheckInput/invalid/missing-identity.json +11 -0
- package/fixtures/openapi/NetworkProxyIngressCheckInput/invalid/unknown-field.json +13 -0
- package/fixtures/openapi/NetworkProxyIngressCheckInput/valid/basic.json +12 -0
- package/fixtures/openapi/NetworkProxyIngressCheckResult/invalid/missing-identity.json +8 -0
- package/fixtures/openapi/NetworkProxyIngressCheckResult/invalid/unknown-field.json +10 -0
- package/fixtures/openapi/NetworkProxyIngressCheckResult/valid/basic.json +9 -0
- package/fixtures/openapi/NetworkProxyInstanceInput/invalid/external.json +5 -0
- package/fixtures/openapi/NetworkProxyInstanceInput/valid/external.json +15 -0
- package/fixtures/openapi/NetworkProxyRule/invalid/unknown.json +15 -0
- package/fixtures/openapi/NetworkProxyRule/valid/basic.json +14 -0
- package/fixtures/openapi/NetworkProxyRuntimeCommandInput/invalid/unknown.json +8 -0
- package/fixtures/openapi/NetworkProxyRuntimeCommandInput/valid/basic.json +7 -0
- package/fixtures/openapi/NetworkProxyServerPublication/invalid/arbitrary-listener.json +21 -0
- package/fixtures/openapi/NetworkProxyServerPublication/invalid/missing-identity.json +19 -0
- package/fixtures/openapi/NetworkProxyServerPublication/invalid/unknown-field.json +21 -0
- package/fixtures/openapi/NetworkProxyServerPublication/valid/basic.json +20 -0
- package/fixtures/openapi/NetworkProxySourceInput/invalid/node-quota.json +912 -0
- package/fixtures/openapi/NetworkProxySourceInput/invalid/unknown.json +8 -0
- package/fixtures/openapi/NetworkProxySourceInput/invalid/unsupported-format.json +7 -0
- package/fixtures/openapi/NetworkProxySourceInput/invalid/untyped-direct-format.json +7 -0
- package/fixtures/openapi/NetworkProxySourceInput/valid/basic.json +7 -0
- package/fixtures/openapi/NetworkProxySourceInput/valid/converted-direct.json +7 -0
- package/fixtures/openapi/NetworkProxyTrafficSample/invalid/known-as-null.json +10 -0
- package/fixtures/openapi/NetworkProxyTrafficSample/valid/gap-rate.json +10 -0
- package/fixtures/openapi/NetworkProxyTrafficSample/valid/known-zero.json +10 -0
- package/fixtures/openapi/NetworkProxyTrafficSample/valid/legacy-numeric.json +7 -0
- package/fixtures/openapi/NetworkProxyTrafficSample/valid/unknown-rate.json +10 -0
- package/fixtures/openapi/NetworkRADIUSConfigurationInput/invalid/arbitrary-image.json +6 -0
- package/fixtures/openapi/NetworkRADIUSConfigurationInput/valid/input.json +5 -0
- package/fixtures/openapi/NetworkRADIUSControlInput/invalid/arbitrary-image.json +8 -0
- package/fixtures/openapi/NetworkRADIUSControlInput/valid/input.json +7 -0
- package/fixtures/openapi/NetworkRADIUSOptions/invalid/secret.json +18 -0
- package/fixtures/openapi/NetworkRADIUSOptions/valid/approved.json +17 -0
- package/fixtures/openapi/NetworkRADIUSPoolInput/invalid/arbitrary-image.json +10 -0
- package/fixtures/openapi/NetworkRADIUSPoolInput/valid/create-approved-binding.json +9 -0
- package/fixtures/openapi/NetworkRADIUSPoolInput/valid/input.json +9 -0
- package/fixtures/openapi/NetworkRADIUSRuntimeACK/invalid/missing-zero.json +20 -0
- package/fixtures/openapi/NetworkRADIUSRuntimeACK/invalid/secret.json +22 -0
- package/fixtures/openapi/NetworkRADIUSRuntimeACK/valid/current.json +21 -0
- package/fixtures/openapi/NetworkRADIUSRuntimeACK/valid/stopped-no-hooks.json +21 -0
- package/fixtures/openapi/NetworkRADIUSRuntimeControl/invalid/secret.json +30 -0
- package/fixtures/openapi/NetworkRADIUSRuntimeControl/valid/current.json +29 -0
- package/fixtures/openapi/OperationCommentInput/invalid/workbench.json +4 -0
- package/fixtures/openapi/OperationCommentInput/valid/workbench.json +3 -0
- package/fixtures/openapi/PersonalAssistantArtifactListEnvelope/invalid/legacy-object.json +4 -0
- package/fixtures/openapi/PersonalAssistantArtifactListEnvelope/valid/legacy-alias.json +4 -0
- package/fixtures/openapi/ReleaseTargetInput/invalid/explicit-service-id.json +8 -0
- package/fixtures/openapi/ReleaseTargetInput/valid/explicit-service-id.json +8 -0
- package/fixtures/openapi/TokenRotationRecord/invalid/cli-boundary.json +10 -0
- package/fixtures/openapi/TokenRotationRecord/valid/cli-boundary.json +9 -0
- package/fixtures/openapi/WorkbenchAgentRunListEnvelope/valid/dsh-session.json +18 -0
- package/fixtures/openapi/WorkbenchSendMessageStreamRequest/invalid/unicode-request-id.json +4 -0
- package/fixtures/openapi/WorkbenchSendMessageStreamRequest/valid/unicode-request-id.json +4 -0
- package/fixtures/openapi/WorkbenchStreamEvent/valid/dsh-agent-status.json +11 -0
- package/fixtures/openapi/WorkbenchStreamEvent/valid/native-system-notice.json +11 -0
- package/fixtures/openapi/WorkflowRequestInput/invalid/original-request.json +6 -0
- package/fixtures/openapi/WorkflowRequestInput/valid/original-request.json +7 -0
- package/fixtures/openapi/WorkflowRequestReceipt/invalid/original-request.json +6 -0
- package/fixtures/openapi/WorkflowRequestReceipt/valid/original-request.json +6 -0
- package/fixtures/openapi/WorkflowRequestReceiptEnvelope/invalid/receipt.json +8 -0
- package/fixtures/openapi/WorkflowRequestReceiptEnvelope/valid/receipt.json +17 -0
- package/fixtures/openapi/WorkflowRunEnvelope/invalid/receipt.json +3 -0
- package/fixtures/openapi/WorkflowRunEnvelope/valid/receipt.json +11 -0
- package/fixtures/openapi/WorkflowTriggerRequest/invalid/workbench.json +4 -0
- package/fixtures/openapi/WorkflowTriggerRequest/valid/workbench.json +9 -0
- package/gen/go/sohaapi/client.go +108 -1
- package/gen/go/sohaapi/client_test.go +72 -0
- package/gen/go/sohaapi/docker_configuration_test.go +32 -0
- package/gen/go/sohaapi/memory_types_test.go +59 -0
- package/gen/go/sohaapi/proxy_deployment_presence_test.go +47 -0
- package/gen/go/sohaapi/proxy_deployment_stop_test.go +40 -0
- package/gen/go/sohaapi/proxy_traffic_test.go +41 -0
- package/gen/go/sohaapi/radius_presence_test.go +35 -0
- package/gen/go/sohaapi/types.go +6176 -294
- package/gen/go/sohaapi/types_test.go +63 -0
- package/gen/ts/sohaapi/index.ts +35472 -26118
- package/go.mod +5 -2
- package/go.sum +8 -0
- package/helmrelease/delivery.go +1 -1
- package/helmrelease/delivery_test.go +1 -1
- package/helmrelease/initialization.go +1 -1
- package/helmrelease/result.go +1 -1
- package/helmrelease/runtime/delivery.go +4 -4
- package/helmrelease/runtime/delivery_test.go +2 -2
- package/helmrelease/runtime/initialization.go +2 -2
- package/helmrelease/runtime/initialization_test.go +2 -2
- package/helmrelease/runtime/values_upgrade.go +1 -1
- package/helmrelease/values.go +1 -1
- package/memory/memory-policy.schema.json +5 -1
- package/memory/memory-record.schema.json +5 -1
- package/network/README.md +79 -0
- package/network/network-ingest-event.schema.json +4 -1
- package/network/network-runtime-protocol.schema.json +381 -20
- package/network/proxy-adapter.schema.json +1018 -0
- package/network/proxy-runtime.schema.json +1732 -16
- package/network/radius-password-verifier.schema.json +263 -0
- package/network/radius-runtime.schema.json +929 -0
- package/network/schema.go +12 -0
- package/openapi/soha-api.json +70067 -50518
- package/openapi/soha-api.yaml +38984 -27393
- package/openapi/spec_generated.go +3 -3
- package/package.json +19 -6
- package/proxyadapter/mihomo_udp.go +15 -0
- package/proxyadapter/mihomo_udp_test.go +21 -0
- package/proxyadapter/protocol.go +286 -0
- package/proxyadapter/protocol_test.go +76 -0
- package/proxypolicy/destination_test.go +48 -0
- package/proxypolicy/narrow.go +152 -0
- package/proxypolicy/narrow_test.go +138 -0
- package/proxypolicy/policy.go +329 -0
- package/proxypolicy/policy_test.go +36 -0
- package/proxytransport/README.md +141 -0
- package/proxytransport/handler.go +5 -1
- package/proxytransport/native_egress_test.go +236 -0
- package/proxytransport/probe.go +5 -1
- package/proxytransport/probe_test.go +106 -0
- package/proxytransport/refresh_test.go +74 -0
- package/proxytransport/scope.go +23 -3
- package/proxytransport/socks_upstream.go +440 -0
- package/proxytransport/socks_upstream_test.go +368 -0
- package/proxytransport/udp_conn.go +234 -0
- package/proxytransport/udp_gate.go +521 -0
- package/proxytransport/udp_http.go +372 -0
- package/proxytransport/udp_socks.go +288 -0
- package/proxytransport/udp_test.go +793 -0
- package/proxytransport/username.go +51 -0
- package/proxytransport/username_test.go +98 -0
- package/resource/conditional_workload_action.go +63 -0
- package/resource/mutation_preconditions.go +67 -0
- package/resource/pod_execution.go +206 -0
- package/resource/pod_execution_gateway.go +119 -0
- package/resource/pod_execution_gateway_test.go +149 -0
- package/resource/pod_execution_test.go +48 -0
- package/resource/pod_terminal.go +188 -0
- package/resource/pod_terminal_test.go +63 -0
- package/resource/presence.go +60 -0
- package/resource/presence_test.go +28 -0
- package/resource/root_cr.go +1 -1
- package/resource/runtime/argocd_observation.go +1 -1
- package/resource/runtime/conditional_workload_action.go +141 -0
- package/resource/runtime/conditional_workload_action_test.go +259 -0
- package/resource/runtime/health.go +1 -1
- package/resource/runtime/health_test.go +1 -1
- package/resource/runtime/initialization.go +1 -1
- package/resource/runtime/initialization_test.go +1 -1
- package/resource/runtime/mutation_preconditions.go +106 -0
- package/resource/runtime/mutation_preconditions_test.go +172 -0
- package/resource/runtime/network_relationship_primitives_test.go +1 -1
- package/resource/runtime/network_topology.go +1 -1
- package/resource/runtime/network_topology_builder.go +1 -1
- package/resource/runtime/network_topology_builder_backends.go +1 -1
- package/resource/runtime/network_topology_builder_ingress.go +1 -1
- package/resource/runtime/network_topology_builder_legacy.go +1 -1
- package/resource/runtime/network_topology_builder_providers.go +1 -1
- package/resource/runtime/network_topology_builder_test.go +1 -1
- package/resource/runtime/network_topology_declarations.go +1 -1
- package/resource/runtime/network_topology_test.go +1 -1
- package/resource/runtime/node_drain.go +1 -1
- package/resource/runtime/node_drain_test.go +1 -1
- package/resource/runtime/pod_execution.go +199 -0
- package/resource/runtime/pod_execution_test.go +194 -0
- package/resource/runtime/pod_execution_transport.go +79 -0
- package/resource/runtime/pod_terminal.go +178 -0
- package/resource/runtime/pod_terminal_test.go +170 -0
- package/resource/runtime/presence.go +58 -0
- package/resource/runtime/presence_metadata.go +85 -0
- package/resource/runtime/presence_metadata_test.go +56 -0
- package/resource/runtime/presence_test.go +85 -0
- package/resource/runtime/relations.go +1 -1
- package/resource/runtime/relations_test.go +1 -1
- package/resource/runtime/resource_graph_collect.go +1 -1
- package/resource/runtime/resource_graph_configuration_collect.go +1 -1
- package/resource/runtime/resource_graph_configuration_test.go +1 -1
- package/resource/runtime/resource_graph_custom_page.go +1 -1
- package/resource/runtime/resource_graph_custom_root.go +1 -1
- package/resource/runtime/resource_graph_custom_root_test.go +1 -1
- package/resource/runtime/resource_graph_enrichment.go +1 -1
- package/resource/runtime/resource_graph_enrichment_hpa_test.go +1 -1
- package/resource/runtime/resource_graph_enrichment_test.go +1 -1
- package/resource/runtime/resource_graph_network.go +1 -1
- package/resource/runtime/resource_graph_network_collect.go +1 -1
- package/resource/runtime/resource_graph_network_collect_test.go +1 -1
- package/resource/runtime/resource_graph_network_test.go +1 -1
- package/resource/runtime/resource_graph_rbac.go +1 -1
- package/resource/runtime/resource_graph_rbac_test.go +1 -1
- package/resource/runtime/resource_graph_rules.go +1 -1
- package/resource/runtime/resource_graph_storage.go +1 -1
- package/resource/runtime/resource_graph_storage_test.go +1 -1
- package/resource/runtime/resource_graph_test.go +1 -1
- package/resource/runtime/resource_monitoring.go +1 -1
- package/resource/runtime/rollout_integration_test.go +1 -1
- package/resource/runtime/rollout_observation.go +1 -1
- package/resource/runtime/rollout_operation.go +1 -1
- package/resource/runtime/rollout_task.go +2 -2
- package/resource/runtime/rollout_test.go +1 -1
- package/resource/runtime/root_cr.go +2 -2
- package/resource/runtime/root_cr_test.go +1 -1
- package/resource/runtime/secret_certificate.go +1 -1
- package/resource/terminal_options.go +38 -0
- package/resource/terminalstream/stream.go +481 -0
- package/resource/terminalstream/stream_test.go +277 -0
- package/runner/docker-container-identity.schema.json +37 -0
- package/runner/docker-project-identity.schema.json +39 -0
- package/runner/docker-runtime-read-result.schema.json +317 -0
- package/runner/docker-runtime-read.schema.json +85 -0
|
@@ -0,0 +1,207 @@
|
|
|
1
|
+
# Core → dsh runtime v1
|
|
2
|
+
|
|
3
|
+
Source: [dsh-runtime.schema.json](dsh-runtime.schema.json). Protocol version:
|
|
4
|
+
`opensoha.dev/dsh-runtime/v1`. This authenticated service protocol is separate
|
|
5
|
+
from the public user API and the Go Agent runner protocol. Core connects directly
|
|
6
|
+
to a trusted Node service. The service wraps the fixed dsh SDK; dsh owns the model
|
|
7
|
+
and tool loop. Core owns authorization, business tasks, approvals and Run facts.
|
|
8
|
+
|
|
9
|
+
## Messages and limits
|
|
10
|
+
|
|
11
|
+
Validate the complete message against the root strict `oneOf`, or the matching
|
|
12
|
+
`$defs.Start`, `Receipt`, `Status`, `Event`, `ToolCall`, `ToolResult`, `Control`,
|
|
13
|
+
`Health`. Each message requires schemaVersion and kind; all run-bound messages
|
|
14
|
+
require runId, attempt and fence. IDs are 1–128 ASCII letters/digits plus `._:-`,
|
|
15
|
+
starting with a letter/digit; attempt/fence are positive safe integers.
|
|
16
|
+
|
|
17
|
+
Start freezes ownerKey (trusted opaque owner/scope binding), sessionId, requestId,
|
|
18
|
+
inputHash (lowercase SHA256), contextRevision, profile (`chat`/`heya`), model,
|
|
19
|
+
prompt, toolCatalogRevision, deadline and maxOutputTokens. Optional context holds
|
|
20
|
+
only user/assistant messages. Optional tools each require name, description,
|
|
21
|
+
inputSchema and readOnly. Chat accepts no tools or only readOnly=true tools.
|
|
22
|
+
Heya remains subject to server-side catalog/schema/allowlist and current Core
|
|
23
|
+
authorization; readOnly=false is never a grant. Reject duplicate tool names,
|
|
24
|
+
unsupported models/catalog revisions and expired deadlines before acceptance.
|
|
25
|
+
|
|
26
|
+
Model is an identifier only. Model Gateway base URL, credentials and the Core
|
|
27
|
+
tool callback URL come exclusively from trusted service startup configuration;
|
|
28
|
+
no caller-supplied URL or native tool/plugin configuration is allowed. The
|
|
29
|
+
optional assembly contains only a profile ID, its immutable revision and
|
|
30
|
+
versioned asset references. A runtime that does not support assembly rejects
|
|
31
|
+
the request before admission. toolGrant
|
|
32
|
+
is optional, short-lived, opaque, HTTP-input-only and writeOnly. Never persist it
|
|
33
|
+
in receipt/status/event journal, expose it to the model, or include it in logs.
|
|
34
|
+
|
|
35
|
+
Status always returns submissionId, inputHash, sequence, status and usageKnown.
|
|
36
|
+
usageKnown=true requires usage; false forbids usage (unknown is not zero usage).
|
|
37
|
+
Receipt has the same submission identity/hash/status/sequence, without usage.
|
|
38
|
+
Status values: accepted/running/waiting_tool/completed/failed/canceled/unknown.
|
|
39
|
+
Sequence is a safe integer ≥0 for snapshots and ≥1 for Events. It is monotonic
|
|
40
|
+
per run/attempt and is independent of Core user-event cursors.
|
|
41
|
+
|
|
42
|
+
Event data only permits delta, assistantText, callId, toolName, status, stopReason,
|
|
43
|
+
errorCode, usageKnown and usage. message_delta requires delta. A delta is at most
|
|
44
|
+
16,384 characters and 16 KiB UTF-8; cumulative assistant output and terminal
|
|
45
|
+
assistantText are at most 131,072 characters and 128 KiB UTF-8 per run. Services
|
|
46
|
+
must enforce cumulative byte limits before journaling or responding. A single
|
|
47
|
+
message/event/page body is at most 1 MiB UTF-8; a Start is also limited to 1 MiB
|
|
48
|
+
including all context/tools. Reject oversized input with 413. Schema character
|
|
49
|
+
limits alone do not enforce aggregate byte limits.
|
|
50
|
+
|
|
51
|
+
Context has at most 128 messages; tools at most 64; each description at most
|
|
52
|
+
4,096 characters. JSON tool schemas, input and output have at most 64 properties
|
|
53
|
+
per object, 256 items per array, 128 characters per key and 131,072 per string.
|
|
54
|
+
The service additionally limits these JSON values to depth 16 and 128 KiB each.
|
|
55
|
+
Only locally supported tool schemas are allowed: validate as JSON Schema and
|
|
56
|
+
reject remote references or schema forms the runtime cannot enforce. Do not
|
|
57
|
+
fetch tool schema references from untrusted URLs. Grants, credentials and raw
|
|
58
|
+
provider payloads must never be copied into ToolResult, events or status. Known
|
|
59
|
+
output fields are not a substitute for runtime secret redaction.
|
|
60
|
+
|
|
61
|
+
ToolCall binds callId, toolCatalogRevision, toolName, frozen inputHash and input.
|
|
62
|
+
ToolResult echoes run/attempt/fence/callId/inputHash and reports
|
|
63
|
+
completed/denied/failed/unknown, optional bounded JSON output, errorCode and
|
|
64
|
+
receiptId. Core rechecks ownership, current authorization, approval and fence on
|
|
65
|
+
every call. A duplicated call reconciles its original business receipt; transport
|
|
66
|
+
timeout or unknown does not authorize automatic execution again. No arbitrary
|
|
67
|
+
native shell, filesystem, browser, package installation or MCP tool is enabled.
|
|
68
|
+
|
|
69
|
+
## HTTP binding
|
|
70
|
+
|
|
71
|
+
All endpoints, including health, require `Authorization: Bearer <service token>`.
|
|
72
|
+
The authenticated service identity must be authorized for the frozen request
|
|
73
|
+
identity; path runId/attempt must equal the request message. Use TLS or an
|
|
74
|
+
otherwise isolated trusted transport. Query identity does not replace auth.
|
|
75
|
+
|
|
76
|
+
| Method and path | Body / response |
|
|
77
|
+
| --- | --- |
|
|
78
|
+
| GET /v1/health | Health, 200; ready=false means unavailable |
|
|
79
|
+
| POST /v1/runs | Start → Receipt; 202 after durable acceptance; 200 for same-identity/same-hash duplicate |
|
|
80
|
+
| GET /v1/runs/:id/attempts/:attempt | Status, 200 |
|
|
81
|
+
| GET /v1/runs/:id/attempts/:attempt/events?after=N | `$defs.EventPage`, 200 |
|
|
82
|
+
| POST /v1/runs/:id/attempts/:attempt/cancel | Control → Status, 200 |
|
|
83
|
+
|
|
84
|
+
Events use a nonnegative safe integer after cursor (default 0), exclusive and
|
|
85
|
+
ascending. Page items all belong to the requested run/attempt/fence. The service
|
|
86
|
+
returns at most 256 events within 1 MiB. nextSequence equals the last returned
|
|
87
|
+
sequence or the supplied cursor for an empty page; hasMore means more durable
|
|
88
|
+
events currently exist. A client polls from nextSequence and deduplicates by
|
|
89
|
+
identity/sequence. Future cursors are rejected with 400. EventPage is a response
|
|
90
|
+
container, not an additional kind in the root message union.
|
|
91
|
+
|
|
92
|
+
ToolCall is POSTed to the fixed Core callback URL using authenticated service
|
|
93
|
+
transport and the run-bound toolGrant as a separate authorization header (never
|
|
94
|
+
in a journaled ToolCall); the response is ToolResult. The callback revalidates
|
|
95
|
+
all identity and hashes. No URL from tool input controls callback routing.
|
|
96
|
+
|
|
97
|
+
### Run assembly and native calls
|
|
98
|
+
|
|
99
|
+
An assembly-capable runtime advertises `runtime-assembly-v1`. It starts the
|
|
100
|
+
owned child for discovery and SDK initialization. It must obtain a positive
|
|
101
|
+
Core decision before sending the first prompt, invoking the model or dispatching
|
|
102
|
+
tools. It uses the same service token and Run grant as the tool callback.
|
|
103
|
+
|
|
104
|
+
| POST path relative to the Core callback parent | Body and result |
|
|
105
|
+
| --- | --- |
|
|
106
|
+
| `assembly` | `AssemblyReport` → `AssemblyDecision`. A loaded asset is bound to the exact selected kind, ID and version. A required failure is rejected. An optional failure is degraded. A duplicate identical report returns the same decision while still authorized. |
|
|
107
|
+
| `plugin-tools/authorize` | Frozen `ToolCall`. 204 authorizes one dispatch after the Core persists a reservation. 200 with a matching completed `ToolResult` is reuse of an existing observation and never authorizes another call. |
|
|
108
|
+
| `plugin-tools/settle` | Matching `ToolResult` → same result after persistence. A repeated identical settlement may reuse the receipt. A new result for the same call identity conflicts. |
|
|
109
|
+
|
|
110
|
+
An unconfirmed or rejected assembly does not authorize model or tool callbacks.
|
|
111
|
+
Native MCP and Skill tool definitions are fixed by the confirmed report, and
|
|
112
|
+
business tools continue through the existing Core bridge. Provider credentials
|
|
113
|
+
are absent from reports, decisions and journals. Never replay after a lost
|
|
114
|
+
dispatch permission or an uncertain invocation. The optional `hook_observed`
|
|
115
|
+
event reports only a call ID, tool name and fixed outcome. It records
|
|
116
|
+
observation and carries no execution authority.
|
|
117
|
+
|
|
118
|
+
Common failures: 400 invalid input/version/cursor, 401 absent/invalid service
|
|
119
|
+
authentication, 403 unauthorized binding/tool action, 404 unknown run/attempt,
|
|
120
|
+
409 identity/hash/fence conflict, 413 oversized body, 429 exhausted concurrent
|
|
121
|
+
execution slots, 503 not ready. Unknown attempts are never synthesized by status,
|
|
122
|
+
cancel or events lookups. Higher or lower fences cannot overwrite an accepted
|
|
123
|
+
attempt. A new attempt is a new explicit Core decision, never an HTTP retry.
|
|
124
|
+
|
|
125
|
+
## Core model and tool callbacks (B3)
|
|
126
|
+
|
|
127
|
+
Production uses Core-only model mode. The fixed callback is
|
|
128
|
+
`POST /api/v1/copilot/dsh/model/v1/chat/completions`; configure the model base URL
|
|
129
|
+
as `/api/v1/copilot/dsh/model/v1`. Direct Gateway access with a startup-configured
|
|
130
|
+
PAT is an explicitly selected diagnostic mode, never a production fallback.
|
|
131
|
+
There are no model retries or provider fallbacks after an uncertain model call.
|
|
132
|
+
Start fields and the ToolCall/ToolResult envelopes remain unchanged.
|
|
133
|
+
|
|
134
|
+
In Core mode, service-Bearer-authenticated Start comes only from trusted Core.
|
|
135
|
+
Start.tools is the frozen, authorized catalog for that run; toolCatalogRevision
|
|
136
|
+
is an opaque Core binding. Node compiles and validates these schemas separately
|
|
137
|
+
for each run and isolates the catalogs; it does not compare the revision with a
|
|
138
|
+
startup catalog revision. Core mode does not require TOOL_CATALOG_FILE (runtime
|
|
139
|
+
configuration SOHA_DSH_TOOL_CATALOG_FILE). Diagnostic Gateway mode still requires
|
|
140
|
+
its startup whitelist and matching catalog revision. Chat readOnly=true checks,
|
|
141
|
+
schema restrictions, and per-call current Core authorization remain mandatory.
|
|
142
|
+
|
|
143
|
+
Both callbacks require service `Authorization: Bearer <service token>` and
|
|
144
|
+
`X-Soha-Tool-Grant: <run-bound toolGrant>`. Neither credential may enter logs,
|
|
145
|
+
journals, model messages or user events. The model callback also requires:
|
|
146
|
+
|
|
147
|
+
| Header | Binding |
|
|
148
|
+
| --- | --- |
|
|
149
|
+
| X-Soha-Run-ID | Start.runId |
|
|
150
|
+
| X-Soha-Run-Attempt | Start.attempt, positive integer |
|
|
151
|
+
| X-Soha-Run-Fence | Start.fence, positive integer |
|
|
152
|
+
| X-Soha-Context-Revision | Start.contextRevision |
|
|
153
|
+
| X-Soha-Tool-Catalog-Revision | Start.toolCatalogRevision |
|
|
154
|
+
| X-Soha-Model-Call-ID | Unique identifier for this model call within the run/attempt |
|
|
155
|
+
| X-Soha-Input-Hash | Lowercase 64-hex SHA256 of the exact unchanged raw request body |
|
|
156
|
+
|
|
157
|
+
The body is raw OpenAI-compatible chat-completions JSON, at most 1 MiB UTF-8.
|
|
158
|
+
Forward its original bytes; never decode/re-encode before verifying Input-Hash.
|
|
159
|
+
Output is OpenAI-compatible streaming SSE, including usage when known. Core
|
|
160
|
+
checks the active run, current owner authorization, grant, lease/fence, context
|
|
161
|
+
and catalog revision and budget before dispatch. Unknown usage remains unknown.
|
|
162
|
+
A repeated model-call ID must not cause another model dispatch; reject/reconcile
|
|
163
|
+
uncertain delivery rather than retrying it. Authentication or binding errors fail
|
|
164
|
+
closed and never activate diagnostic Gateway mode.
|
|
165
|
+
|
|
166
|
+
The tool callback remains `POST /api/v1/copilot/dsh/tools`, with the same service
|
|
167
|
+
Bearer and X-Soha-Tool-Grant headers and unchanged ToolCall/ToolResult envelopes.
|
|
168
|
+
ToolCall.inputHash still covers only the exact raw input JSON value, as below;
|
|
169
|
+
the model callback Input-Hash covers its entire raw HTTP body.
|
|
170
|
+
|
|
171
|
+
## Hash binding
|
|
172
|
+
|
|
173
|
+
Start.inputHash is the frozen input digest owned by Core. The service binds and
|
|
174
|
+
echoes it; it is not a cross-language canonical-JSON checksum. Do not accept a
|
|
175
|
+
different semantic Start merely because its claimed hash matches. The service
|
|
176
|
+
computes its own private stable submission fingerprint over every Start field
|
|
177
|
+
except toolGrant, and compares both fingerprint and claimed hash for duplicates.
|
|
178
|
+
The fingerprint algorithm is local implementation detail, not another wire field.
|
|
179
|
+
|
|
180
|
+
ToolCall.inputHash is SHA256 of the exact UTF-8 JSON bytes of its input value as
|
|
181
|
+
transmitted in the HTTP body. Core preserves the raw input JSON slice (for example
|
|
182
|
+
Go json.RawMessage), verifies it before decoding, and never reserializes it for
|
|
183
|
+
hash verification. ToolResult echoes this same hash. Senders must hash the exact
|
|
184
|
+
input bytes they embed, not a separately reserialized object.
|
|
185
|
+
|
|
186
|
+
## Durability and stop
|
|
187
|
+
|
|
188
|
+
Persist metadata and the accepted event before returning 202. The service keeps
|
|
189
|
+
a receipt/event journal, not another business task queue. Reject at capacity with
|
|
190
|
+
429 before acceptance. Same run/attempt and same frozen hash returns the original
|
|
191
|
+
submission; changed frozen identity/hash/fence is 409. Lookup precedes any retry
|
|
192
|
+
after uncertain transport delivery. Do not automatically resubmit prompts.
|
|
193
|
+
|
|
194
|
+
Each active Run owns one isolated subprocess/home. Cancel is durable intent;
|
|
195
|
+
report canceled only after its subprocess has stopped and pending tool outcomes
|
|
196
|
+
are reconciled. Unknown side effects remain unknown. Terminal runs reject late
|
|
197
|
+
callbacks/events. On restart mark previously nonterminal accepted runs unknown,
|
|
198
|
+
retain their journal for lookup, and never replay them automatically. A stale
|
|
199
|
+
fence or revoked grant cannot resume execution. Runtime SDK idle alone is not a
|
|
200
|
+
causally bound completion receipt.
|
|
201
|
+
|
|
202
|
+
## Verification
|
|
203
|
+
|
|
204
|
+
`npm run validate:dsh-runtime` compiles the schema with Ajv 2020/formats, checks
|
|
205
|
+
valid/invalid fixtures, output length boundaries and EventPage semantics. Normal
|
|
206
|
+
`npm run validate` also includes this schema fixture directory. Consumer/runtime
|
|
207
|
+
conformance and the full repository/consumer gates are separate batch checks.
|