@opensoha/contracts 0.1.23 → 0.1.25
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 +95 -0
- package/README.md +24 -6
- package/agent/environment/README.md +55 -0
- package/agent/environment/export.go +139 -0
- package/agent/environment/export_test.go +62 -0
- package/agent/environment/preflight.go +62 -0
- package/agent/environment/preflight_test.go +41 -0
- package/agent/environment/protocol.go +221 -0
- package/agent/environment/protocol_test.go +81 -0
- package/agent/environment-lease.schema.json +2 -2
- package/agent/environment-template.schema.json +1 -1
- package/agent/guest/browser_network.go +77 -0
- package/agent/guest/data.go +62 -0
- package/agent/guest/protocol.go +235 -0
- package/agent/guest/protocol_test.go +142 -0
- package/agent/guest/renewal.go +56 -0
- package/agent/guest/renewal_test.go +53 -0
- package/agent/guest/runtime.go +315 -0
- package/agent/guest/runtime_json.go +75 -0
- package/agent/guest/runtime_test.go +110 -0
- package/agent/personal-browser-network-request.schema.json +40 -0
- package/agent/personal-browser-network-response.schema.json +44 -0
- package/agent/personal-environment-export.schema.json +55 -0
- package/agent/personal-environment-preflight-request.schema.json +52 -0
- package/agent/personal-environment-preflight-result.schema.json +69 -0
- package/agent/personal-environment-request.schema.json +137 -0
- package/agent/personal-environment-result.schema.json +101 -0
- package/agent/personal-guest-binding.schema.json +92 -0
- package/agent/personal-guest-data-plan.schema.json +32 -0
- package/agent/personal-guest-enrollment.schema.json +21 -0
- package/agent/personal-guest-heartbeat.schema.json +44 -0
- package/agent/personal-guest-provisioning.schema.json +71 -0
- package/agent/personal-guest-renewal.schema.json +33 -0
- package/agent/personal-guest-runtime-result.schema.json +164 -0
- package/agent/personal-guest-runtime.schema.json +304 -0
- package/agent/personal-guest-tools.schema.json +75 -0
- package/auth/catalog_generated.go +2 -2
- package/auth/gateway_permissions_test.go +48 -0
- package/auth/permission-catalog.json +331 -1
- package/auth/token-claims.schema.json +5 -0
- package/compat/consumer-revisions.json +3 -2
- package/compat/json-schema-ecosystem-0.1.0.json +1 -1
- package/compat/openapi-loose-boundaries-0.1.0.json +1 -1
- package/connectors/connector-action.schema.json +138 -0
- package/fixtures/json-schema/connector-action/invalid/empty-values.json +11 -0
- package/fixtures/json-schema/connector-action/invalid/invalid-expiry.json +16 -0
- package/fixtures/json-schema/connector-action/invalid/lowercase-alias.json +16 -0
- package/fixtures/json-schema/connector-action/invalid/unknown-entry-field.json +17 -0
- package/fixtures/json-schema/connector-action/invalid/unknown-frame-field.json +17 -0
- package/fixtures/json-schema/connector-action/invalid/unknown-version.json +16 -0
- package/fixtures/json-schema/connector-action/invalid/unversioned-reference.json +16 -0
- package/fixtures/json-schema/connector-action/invalid/zero-version.json +16 -0
- package/fixtures/json-schema/connector-action/valid/pinned.json +16 -0
- package/fixtures/json-schema/connector-definition/invalid/credential-userinfo.json +8 -0
- package/fixtures/json-schema/connector-definition/invalid/reference-traversal.json +8 -0
- package/fixtures/json-schema/connector-definition/invalid/zero-version.json +8 -0
- package/fixtures/json-schema/connector-definition/valid/canonical.json +8 -0
- package/fixtures/json-schema/connector-definition/valid/pinned.json +8 -0
- package/fixtures/json-schema/personal-browser-network-request/invalid/bounded.json +4 -0
- package/fixtures/json-schema/personal-browser-network-request/valid/bounded.json +4 -0
- package/fixtures/json-schema/personal-browser-network-response/invalid/bounded.json +5 -0
- package/fixtures/json-schema/personal-browser-network-response/valid/bounded.json +5 -0
- package/fixtures/json-schema/personal-environment-export/invalid/extra.json +11 -0
- package/fixtures/json-schema/personal-environment-export/invalid/ownerId.json +10 -0
- package/fixtures/json-schema/personal-environment-export/invalid/sha256.json +10 -0
- package/fixtures/json-schema/personal-environment-export/invalid/sizeBytes.json +10 -0
- package/fixtures/json-schema/personal-environment-export/valid/complete.json +10 -0
- package/fixtures/json-schema/personal-environment-preflight-request/invalid/disk.json +11 -0
- package/fixtures/json-schema/personal-environment-preflight-request/invalid/network.json +11 -0
- package/fixtures/json-schema/personal-environment-preflight-request/invalid/node.json +12 -0
- package/fixtures/json-schema/personal-environment-preflight-request/invalid/owner.json +12 -0
- package/fixtures/json-schema/personal-environment-preflight-request/valid/bounded.json +11 -0
- package/fixtures/json-schema/personal-environment-preflight-result/invalid/disk.json +15 -0
- package/fixtures/json-schema/personal-environment-preflight-result/invalid/network.json +15 -0
- package/fixtures/json-schema/personal-environment-preflight-result/invalid/no-hard-quota.json +15 -0
- package/fixtures/json-schema/personal-environment-preflight-result/invalid/node.json +16 -0
- package/fixtures/json-schema/personal-environment-preflight-result/invalid/not-ready.json +15 -0
- package/fixtures/json-schema/personal-environment-preflight-result/invalid/owner.json +16 -0
- package/fixtures/json-schema/personal-environment-preflight-result/valid/bounded.json +15 -0
- package/fixtures/json-schema/personal-environment-request/invalid/delete-data-argv.json +24 -0
- package/fixtures/json-schema/personal-environment-request/invalid/delete-data-createData.json +22 -0
- package/fixtures/json-schema/personal-environment-request/invalid/delete-data-taskId.json +22 -0
- package/fixtures/json-schema/personal-environment-request/invalid/export-argv.json +22 -0
- package/fixtures/json-schema/personal-environment-request/invalid/export-createData.json +22 -0
- package/fixtures/json-schema/personal-environment-request/invalid/export-taskId.json +22 -0
- package/fixtures/json-schema/personal-environment-request/invalid/extra-command.json +24 -0
- package/fixtures/json-schema/personal-environment-request/invalid/host-workspace.json +22 -0
- package/fixtures/json-schema/personal-environment-request/invalid/image-injection.json +22 -0
- package/fixtures/json-schema/personal-environment-request/invalid/network-egress.json +21 -0
- package/fixtures/json-schema/personal-environment-request/invalid/no-command.json +21 -0
- package/fixtures/json-schema/personal-environment-request/invalid/recreate-on-release.json +22 -0
- package/fixtures/json-schema/personal-environment-request/invalid/relative-command.json +24 -0
- package/fixtures/json-schema/personal-environment-request/invalid/released-identity.json +22 -0
- package/fixtures/json-schema/personal-environment-request/invalid/task-empty.json +27 -0
- package/fixtures/json-schema/personal-environment-request/invalid/task-host-path.json +27 -0
- package/fixtures/json-schema/personal-environment-request/invalid/task-noncanonical.json +27 -0
- package/fixtures/json-schema/personal-environment-request/invalid/task-null.json +27 -0
- package/fixtures/json-schema/personal-environment-request/invalid/task-on-inspection.json +22 -0
- package/fixtures/json-schema/personal-environment-request/invalid/unbounded-quota.json +21 -0
- package/fixtures/json-schema/personal-environment-request/valid/acquire.json +21 -0
- package/fixtures/json-schema/personal-environment-request/valid/delete-data.json +21 -0
- package/fixtures/json-schema/personal-environment-request/valid/execute.json +26 -0
- package/fixtures/json-schema/personal-environment-request/valid/export-data.json +21 -0
- package/fixtures/json-schema/personal-environment-request/valid/inspect.json +21 -0
- package/fixtures/json-schema/personal-environment-request/valid/provision.json +22 -0
- package/fixtures/json-schema/personal-environment-request/valid/release.json +21 -0
- package/fixtures/json-schema/personal-environment-request/valid/task-workspace.json +27 -0
- package/fixtures/json-schema/personal-environment-result/invalid/active-without-observation.json +7 -0
- package/fixtures/json-schema/personal-environment-result/invalid/deleted-output.json +8 -0
- package/fixtures/json-schema/personal-environment-result/invalid/deleted-snapshot.json +8 -0
- package/fixtures/json-schema/personal-environment-result/invalid/deleted-taskId.json +8 -0
- package/fixtures/json-schema/personal-environment-result/invalid/private-handle.json +8 -0
- package/fixtures/json-schema/personal-environment-result/invalid/stopped-fake-observation.json +20 -0
- package/fixtures/json-schema/personal-environment-result/invalid/task-empty.json +22 -0
- package/fixtures/json-schema/personal-environment-result/invalid/task-host-path.json +22 -0
- package/fixtures/json-schema/personal-environment-result/invalid/task-null.json +22 -0
- package/fixtures/json-schema/personal-environment-result/invalid/task-on-stopped.json +8 -0
- package/fixtures/json-schema/personal-environment-result/invalid/task-without-command-output.json +21 -0
- package/fixtures/json-schema/personal-environment-result/valid/active.json +21 -0
- package/fixtures/json-schema/personal-environment-result/valid/deleted.json +7 -0
- package/fixtures/json-schema/personal-environment-result/valid/expired.json +7 -0
- package/fixtures/json-schema/personal-environment-result/valid/missing.json +7 -0
- package/fixtures/json-schema/personal-environment-result/valid/released.json +7 -0
- package/fixtures/json-schema/personal-environment-result/valid/task-workspace.json +22 -0
- package/fixtures/json-schema/personal-guest-binding/invalid/host-path.json +17 -0
- package/fixtures/json-schema/personal-guest-binding/invalid/invalid-policy.json +17 -0
- package/fixtures/json-schema/personal-guest-binding/invalid/invalid-serial.json +17 -0
- package/fixtures/json-schema/personal-guest-binding/invalid/legacy-version.json +17 -0
- package/fixtures/json-schema/personal-guest-binding/invalid/missing-generation.json +17 -0
- package/fixtures/json-schema/personal-guest-binding/invalid/missing-identity.json +16 -0
- package/fixtures/json-schema/personal-guest-binding/invalid/missing-provider-identity.json +16 -0
- package/fixtures/json-schema/personal-guest-binding/invalid/raw-provider-identity.json +17 -0
- package/fixtures/json-schema/personal-guest-binding/valid/minimal.json +17 -0
- package/fixtures/json-schema/personal-guest-data-plan/invalid/quota.json +1 -0
- package/fixtures/json-schema/personal-guest-data-plan/valid/basic.json +1 -0
- package/fixtures/json-schema/personal-guest-enrollment/invalid/capabilities.json +7 -0
- package/fixtures/json-schema/personal-guest-enrollment/invalid/legacy-version.json +4 -0
- package/fixtures/json-schema/personal-guest-enrollment/invalid/missing-identity.json +3 -0
- package/fixtures/json-schema/personal-guest-enrollment/invalid/ownerId.json +5 -0
- package/fixtures/json-schema/personal-guest-enrollment/invalid/token.json +5 -0
- package/fixtures/json-schema/personal-guest-enrollment/valid/minimal.json +4 -0
- package/fixtures/json-schema/personal-guest-heartbeat/invalid/argv.json +11 -0
- package/fixtures/json-schema/personal-guest-heartbeat/invalid/legacy-version.json +8 -0
- package/fixtures/json-schema/personal-guest-heartbeat/invalid/missing-identity.json +7 -0
- package/fixtures/json-schema/personal-guest-heartbeat/invalid/owner.json +9 -0
- package/fixtures/json-schema/personal-guest-heartbeat/invalid/self-ready.json +9 -0
- package/fixtures/json-schema/personal-guest-heartbeat/invalid/zero-sequence.json +8 -0
- package/fixtures/json-schema/personal-guest-heartbeat/valid/minimal.json +8 -0
- package/fixtures/json-schema/personal-guest-provisioning/invalid/network.json +1 -0
- package/fixtures/json-schema/personal-guest-provisioning/valid/basic.json +1 -0
- package/fixtures/json-schema/personal-guest-renewal/invalid/unknown.json +1 -0
- package/fixtures/json-schema/personal-guest-renewal/valid/basic.json +1 -0
- package/fixtures/json-schema/personal-guest-runtime/invalid/minimal.json +45 -0
- package/fixtures/json-schema/personal-guest-runtime/valid/minimal.json +45 -0
- package/fixtures/json-schema/personal-guest-runtime-result/invalid/minimal.json +28 -0
- package/fixtures/json-schema/personal-guest-runtime-result/valid/minimal.json +27 -0
- package/fixtures/json-schema/personal-guest-tools/invalid/minimal.json +31 -0
- package/fixtures/json-schema/personal-guest-tools/valid/minimal.json +30 -0
- package/fixtures/json-schema/source-import-policy/invalid/case-variant-scope.json +4 -0
- package/fixtures/json-schema/source-import-policy/invalid/case-variant-version.json +4 -0
- package/fixtures/json-schema/source-import-policy/invalid/duplicate-grant.json +4 -0
- package/fixtures/json-schema/source-import-policy/invalid/empty-id.json +4 -0
- package/fixtures/json-schema/source-import-policy/invalid/future-version.json +4 -0
- package/fixtures/json-schema/source-import-policy/invalid/unknown-field.json +4 -0
- package/fixtures/json-schema/source-import-policy/valid/deny-all.json +4 -0
- package/fixtures/json-schema/source-import-policy/valid/shared.json +4 -0
- package/fixtures/json-schema/token-claims/invalid/authz-negative.json +23 -0
- package/fixtures/json-schema/token-claims/invalid/authz-string.json +23 -0
- package/fixtures/json-schema/token-claims/invalid/authz-zero.json +23 -0
- package/fixtures/json-schema/token-claims/valid/versioned-session.json +23 -0
- package/fixtures/openapi/AgentRunEventListEnvelope/invalid/basic.json +8 -0
- package/fixtures/openapi/AgentRunEventListEnvelope/valid/basic.json +8 -0
- package/fixtures/openapi/AgentRunEventListEnvelope/valid/native.json +1 -0
- package/fixtures/openapi/AgentRunResumeRequest/invalid/basic.json +3 -0
- package/fixtures/openapi/AgentRunResumeRequest/valid/basic.json +3 -0
- package/fixtures/openapi/AgentSSHCommandRequest/invalid/task51.json +24 -0
- package/fixtures/openapi/AgentSSHCommandRequest/valid/task51.json +23 -0
- package/fixtures/openapi/AgentSSHCommandResult/invalid/task51.json +8 -0
- package/fixtures/openapi/AgentSSHCommandResult/valid/task51.json +7 -0
- package/fixtures/openapi/AgentSSHSessionRequest/invalid/task51.json +20 -0
- package/fixtures/openapi/AgentSSHSessionRequest/valid/task51.json +19 -0
- package/fixtures/openapi/CapabilityTaskInput/invalid/duplicate-scope.json +36 -0
- package/fixtures/openapi/CapabilityTaskInput/valid/scoped.json +32 -0
- package/fixtures/openapi/DockerQuickCreateHostInput/invalid/guest-access.json +7 -0
- package/fixtures/openapi/DockerQuickCreateHostInput/valid/guest-access.json +9 -0
- package/fixtures/openapi/KnowledgeSourceDocument/invalid/tombstone-with-content.json +1 -0
- package/fixtures/openapi/KnowledgeSourceDocument/valid/tombstone.json +1 -0
- package/fixtures/openapi/KubernetesAgentActionCheck/invalid/unproven-state.json +6 -0
- package/fixtures/openapi/KubernetesAgentActionCheck/valid/configured-denied.json +9 -0
- package/fixtures/openapi/KubernetesAgentActionProfile/invalid/wildcard.json +1 -0
- package/fixtures/openapi/KubernetesAgentActionProfile/valid/workbench.json +1 -0
- package/fixtures/openapi/KubernetesClusterRegistrationRequest/invalid/action-profile.json +3 -0
- package/fixtures/openapi/KubernetesClusterRegistrationRequest/valid/action-profile.json +5 -0
- package/fixtures/openapi/KubernetesNodeListEnvelope/invalid/condition-status-boolean.json +17 -0
- package/fixtures/openapi/KubernetesNodeListEnvelope/invalid/taint-effect-missing.json +16 -0
- package/fixtures/openapi/KubernetesNodeListEnvelope/valid/legacy-fields-absent.json +11 -0
- package/fixtures/openapi/KubernetesNodeListEnvelope/valid/no-taints.json +13 -0
- package/fixtures/openapi/KubernetesNodeListEnvelope/valid/ready-cordoned-tainted.json +28 -0
- package/fixtures/openapi/KubernetesNodeListEnvelope/valid/unknown-fields-null.json +13 -0
- package/fixtures/openapi/KubernetesResourceUpdatePlanRequest/invalid/missing-required.json +1 -0
- package/fixtures/openapi/KubernetesResourceYaml/invalid/missing-required.json +1 -0
- package/fixtures/openapi/KubernetesTopologyCoverage/invalid/empty-as-success.json +5 -0
- package/fixtures/openapi/KubernetesTopologyCoverage/valid/not-installed.json +6 -0
- package/fixtures/openapi/KubernetesTopologyGraphEdge/invalid/negative-weight.json +8 -0
- package/fixtures/openapi/KubernetesTopologyGraphEdge/valid/zero-weight.json +20 -0
- package/fixtures/openapi/KubernetesTopologyGraphNode/invalid/fake-flow-kind.json +42 -0
- package/fixtures/openapi/KubernetesTopologyGraphNode/valid/rule.json +42 -0
- package/fixtures/openapi/KubernetesTopologySnapshot/invalid/raw-source-field.json +33 -0
- package/fixtures/openapi/KubernetesTopologySnapshot/valid/projected-source.json +32 -0
- package/fixtures/openapi/KubernetesTopologySnapshotRequest/invalid/arbitrary-gvr.json +8 -0
- package/fixtures/openapi/KubernetesTopologySnapshotRequest/valid/bounded-sources.json +11 -0
- package/fixtures/openapi/KubernetesTopologySourceQuery/invalid/cluster-namespace.json +4 -0
- package/fixtures/openapi/KubernetesTopologySourceQuery/valid/all-namespaces.json +4 -0
- package/fixtures/openapi/ObservabilityDataSource/invalid/missing-required.json +1 -0
- package/fixtures/openapi/PersonalAgentAccess/invalid/invalid.json +1 -0
- package/fixtures/openapi/PersonalAgentAccess/valid/valid.json +1 -0
- package/fixtures/openapi/PersonalAgentAccessDecision/invalid/invalid.json +1 -0
- package/fixtures/openapi/PersonalAgentAccessDecision/valid/valid.json +1 -0
- package/fixtures/openapi/PersonalAssistantArtifactListEnvelope/invalid/owner.json +8 -0
- package/fixtures/openapi/PersonalAssistantArtifactListEnvelope/valid/side-chat.json +9 -0
- package/fixtures/openapi/PersonalAssistantAvatarRequest/invalid/motion.json +1 -0
- package/fixtures/openapi/PersonalAssistantAvatarRequest/invalid/owner.json +1 -0
- package/fixtures/openapi/PersonalAssistantAvatarRequest/invalid/remote.json +1 -0
- package/fixtures/openapi/PersonalAssistantAvatarRequest/invalid/svg.json +1 -0
- package/fixtures/openapi/PersonalAssistantAvatarRequest/valid/raster.json +1 -0
- package/fixtures/openapi/PersonalAssistantAvatarRequest/valid/reset.json +1 -0
- package/fixtures/openapi/PersonalAssistantUpdateRequest/invalid/empty.json +1 -0
- package/fixtures/openapi/PersonalAssistantUpdateRequest/invalid/owner.json +1 -0
- package/fixtures/openapi/PersonalAssistantUpdateRequest/valid/name.json +1 -0
- package/fixtures/openapi/PersonalDockerEnvironmentPolicy/invalid/host-url.json +12 -0
- package/fixtures/openapi/PersonalDockerEnvironmentPolicy/invalid/lifetime.json +11 -0
- package/fixtures/openapi/PersonalDockerEnvironmentPolicy/invalid/unknown-agent.json +11 -0
- package/fixtures/openapi/PersonalDockerEnvironmentPolicy/valid/basic.json +11 -0
- package/fixtures/openapi/PersonalEnvironment/invalid/invented-state.json +6 -0
- package/fixtures/openapi/PersonalEnvironment/invalid/missing-state.json +5 -0
- package/fixtures/openapi/PersonalEnvironment/invalid/negative-generation.json +7 -0
- package/fixtures/openapi/PersonalEnvironment/invalid/network.json +23 -0
- package/fixtures/openapi/PersonalEnvironment/invalid/private-node.json +24 -0
- package/fixtures/openapi/PersonalEnvironment/invalid/unsupported-backend.json +7 -0
- package/fixtures/openapi/PersonalEnvironment/valid/deleted.json +23 -0
- package/fixtures/openapi/PersonalEnvironment/valid/deleting.json +23 -0
- package/fixtures/openapi/PersonalEnvironment/valid/deletion_unknown.json +23 -0
- package/fixtures/openapi/PersonalEnvironment/valid/frozen-binding.json +13 -0
- package/fixtures/openapi/PersonalEnvironment/valid/ready.json +23 -0
- package/fixtures/openapi/PersonalEnvironment/valid/unknown.json +23 -0
- package/fixtures/openapi/PersonalEnvironment/valid/unprovisioned.json +6 -0
- package/fixtures/openapi/PersonalEnvironmentActionRequest/invalid/command.json +3 -0
- package/fixtures/openapi/PersonalEnvironmentActionRequest/invalid/node.json +4 -0
- package/fixtures/openapi/PersonalEnvironmentActionRequest/invalid/owner.json +4 -0
- package/fixtures/openapi/PersonalEnvironmentActionRequest/invalid/quota.json +10 -0
- package/fixtures/openapi/PersonalEnvironmentActionRequest/valid/reconcile.json +3 -0
- package/fixtures/openapi/PersonalEnvironmentActionRequest/valid/sleep.json +3 -0
- package/fixtures/openapi/PersonalEnvironmentActionRequest/valid/wake.json +4 -0
- package/fixtures/openapi/PersonalEnvironmentDataDeletionRequest/invalid/empty-name.json +5 -0
- package/fixtures/openapi/PersonalEnvironmentDataDeletionRequest/invalid/long-name.json +5 -0
- package/fixtures/openapi/PersonalEnvironmentDataDeletionRequest/invalid/missing-name.json +4 -0
- package/fixtures/openapi/PersonalEnvironmentDataDeletionRequest/invalid/owner.json +6 -0
- package/fixtures/openapi/PersonalEnvironmentDataDeletionRequest/invalid/stale-version.json +5 -0
- package/fixtures/openapi/PersonalEnvironmentDataDeletionRequest/valid/confirmed.json +5 -0
- package/fixtures/openapi/PersonalEnvironmentDataExportRequest/invalid/assistantId.json +4 -0
- package/fixtures/openapi/PersonalEnvironmentDataExportRequest/invalid/environmentVersion.json +4 -0
- package/fixtures/openapi/PersonalEnvironmentDataExportRequest/invalid/ownerId.json +5 -0
- package/fixtures/openapi/PersonalEnvironmentDataExportRequest/valid/current.json +4 -0
- package/fixtures/openapi/PersonalEnvironmentEnvelope/invalid/missing-data.json +1 -0
- package/fixtures/openapi/PersonalEnvironmentEnvelope/valid/state.json +8 -0
- package/fixtures/openapi/PersonalEnvironmentQuota/invalid/cpu.json +7 -0
- package/fixtures/openapi/PersonalEnvironmentQuota/invalid/disk.json +7 -0
- package/fixtures/openapi/PersonalEnvironmentQuota/invalid/network.json +7 -0
- package/fixtures/openapi/PersonalEnvironmentQuota/invalid/processes.json +7 -0
- package/fixtures/openapi/PersonalEnvironmentQuota/valid/basic.json +7 -0
- package/fixtures/openapi/PersonalEnvironmentTemplate/invalid/mode.json +13 -0
- package/fixtures/openapi/PersonalEnvironmentTemplate/invalid/network.json +13 -0
- package/fixtures/openapi/PersonalEnvironmentTemplate/invalid/node.json +14 -0
- package/fixtures/openapi/PersonalEnvironmentTemplate/valid/template.json +13 -0
- package/fixtures/openapi/PersonalEnvironmentTemplateListEnvelope/invalid/missing.json +1 -0
- package/fixtures/openapi/PersonalEnvironmentTemplateListEnvelope/invalid/unbounded.json +1317 -0
- package/fixtures/openapi/PersonalEnvironmentTemplateListEnvelope/valid/choices.json +17 -0
- package/fixtures/openapi/PersonalEnvironmentTemplateListEnvelope/valid/empty.json +3 -0
- package/fixtures/openapi/PersonalEnvironmentUsage/invalid/negative.json +6 -0
- package/fixtures/openapi/PersonalEnvironmentUsage/valid/usage.json +6 -0
- package/fixtures/openapi/PersonalFeedFeedback/invalid/owner.json +4 -0
- package/fixtures/openapi/PersonalFeedFeedback/valid/liked.json +3 -0
- package/fixtures/openapi/PersonalFeedItem/invalid/no-source.json +9 -0
- package/fixtures/openapi/PersonalFeedItem/valid/post.json +15 -0
- package/fixtures/openapi/PersonalFeedSettings/invalid/owner.json +6 -0
- package/fixtures/openapi/PersonalFeedSettings/valid/default.json +5 -0
- package/fixtures/openapi/PersonalGuestPreparationInput/invalid/foreign-owner.json +5 -0
- package/fixtures/openapi/PersonalGuestPreparationInput/invalid/unsafe-counter.json +4 -0
- package/fixtures/openapi/PersonalGuestPreparationInput/valid/ed25519-csr.json +4 -0
- package/fixtures/openapi/PersonalGuestRuntimeEnvelope/invalid/minimal.json +10 -0
- package/fixtures/openapi/PersonalGuestRuntimeEnvelope/valid/minimal.json +9 -0
- package/fixtures/openapi/PersonalGuestRuntimeInput/invalid/minimal.json +6 -0
- package/fixtures/openapi/PersonalGuestRuntimeInput/valid/minimal.json +8 -0
- package/fixtures/openapi/PersonalGuestToolsInput/invalid/minimal.json +5 -0
- package/fixtures/openapi/PersonalGuestToolsInput/valid/minimal.json +4 -0
- package/fixtures/openapi/PersonalVMEnvironmentPolicy/invalid/device.json +15 -0
- package/fixtures/openapi/PersonalVMEnvironmentPolicy/invalid/fractional-size.json +15 -0
- package/fixtures/openapi/PersonalVMEnvironmentPolicy/invalid/network.json +15 -0
- package/fixtures/openapi/PersonalVMEnvironmentPolicy/invalid/owner.json +15 -0
- package/fixtures/openapi/PersonalVMEnvironmentPolicy/invalid/provider.json +15 -0
- package/fixtures/openapi/PersonalVMEnvironmentPolicy/invalid/unknown.json +16 -0
- package/fixtures/openapi/PersonalVMEnvironmentPolicy/valid/pve.json +15 -0
- package/fixtures/openapi/PersonalWorkspaceRuntime/invalid/shared.json +3 -0
- package/fixtures/openapi/PersonalWorkspaceRuntime/valid/shared.json +4 -0
- package/fixtures/openapi/PersonalWorkspaceRuntimeEnvelope/invalid/shared.json +5 -0
- package/fixtures/openapi/PersonalWorkspaceRuntimeEnvelope/valid/shared.json +6 -0
- package/fixtures/openapi/ResourceMonitoringPanel/invalid/unknown-quality.json +7 -0
- package/fixtures/openapi/ResourceMonitoringPanel/valid/not-collected.json +7 -0
- package/fixtures/openapi/ResourceMonitoringPoint/invalid/string-zero.json +4 -0
- package/fixtures/openapi/ResourceMonitoringPoint/valid/missing.json +4 -0
- package/fixtures/openapi/ResourceMonitoringPoint/valid/zero.json +4 -0
- package/fixtures/openapi/ResourceMonitoringView/invalid/raw-query.json +12 -0
- package/fixtures/openapi/ResourceMonitoringView/valid/unconfigured.json +12 -0
- package/fixtures/openapi/SecretGenerateSSHKeyRequest/invalid/task51.json +6 -0
- package/fixtures/openapi/SecretGenerateSSHKeyRequest/valid/task51.json +12 -0
- package/fixtures/openapi/SecretReferenceUsage/invalid/version.json +6 -0
- package/fixtures/openapi/SecretReferenceUsage/valid/version.json +8 -0
- package/fixtures/openapi/VMSSHCredentialRedemptionInput/invalid/task51.json +7 -0
- package/fixtures/openapi/VMSSHCredentialRedemptionInput/valid/task51.json +6 -0
- package/fixtures/openapi/VirtualMachineAccessBindingInput/invalid/task51.json +10 -0
- package/fixtures/openapi/VirtualMachineAccessBindingInput/valid/task51.json +10 -0
- package/fixtures/openapi/VirtualMachineActionInput/invalid/capacity-not-boolean.json +1 -0
- package/fixtures/openapi/VirtualMachineActionInput/valid/new-data-with-admission.json +1 -0
- package/fixtures/openapi/VirtualMachineCreateInput/valid/cloud-image.json +12 -0
- package/fixtures/openapi/VirtualMachineDiskChange/invalid/serial-config-injection.json +1 -0
- package/fixtures/openapi/VirtualMachineDiskChange/invalid/serial-existing-disk.json +1 -0
- package/fixtures/openapi/VirtualMachineDiskChange/invalid/serial-too-long.json +1 -0
- package/fixtures/openapi/VirtualMachineDiskChange/valid/personal-data.json +1 -0
- package/fixtures/openapi/VirtualMachineGuestAccessInput/invalid/task51.json +4 -0
- package/fixtures/openapi/VirtualMachineGuestAccessInput/valid/task51.json +6 -0
- package/fixtures/openapi/VirtualMachineSSHCommand/invalid/task51.json +9 -0
- package/fixtures/openapi/VirtualMachineSSHCommand/valid/task51.json +8 -0
- package/fixtures/openapi/VirtualMachineSSHCommandInput/invalid/task51.json +5 -0
- package/fixtures/openapi/VirtualMachineSSHCommandInput/valid/task51.json +5 -0
- package/fixtures/openapi/VirtualMachineSSHFrame/invalid/encoding.json +5 -0
- package/fixtures/openapi/VirtualMachineSSHFrame/invalid/task51.json +4 -0
- package/fixtures/openapi/VirtualMachineSSHFrame/valid/binary.json +5 -0
- package/fixtures/openapi/VirtualMachineSSHFrame/valid/task51.json +5 -0
- package/fixtures/openapi/VirtualMachineSSHSessionInput/invalid/task51.json +4 -0
- package/fixtures/openapi/VirtualMachineSSHSessionInput/valid/task51.json +5 -0
- package/fixtures/openapi/VirtualizationCapacityPolicyInput/invalid/task51.json +12 -0
- package/fixtures/openapi/VirtualizationCapacityPolicyInput/valid/task51.json +13 -0
- package/fixtures/openapi/VirtualizationImageInput/invalid/cloud-image-config-type.json +6 -0
- package/fixtures/openapi/VirtualizationImageInput/valid/cloud-image.json +11 -0
- package/fixtures/openapi/WorkbenchAssistantTask/invalid/kind.json +1 -0
- package/fixtures/openapi/WorkbenchAssistantTask/invalid/owner.json +1 -0
- package/fixtures/openapi/WorkbenchAssistantTask/valid/generate.json +1 -0
- package/fixtures/openapi/WorkbenchAssistantTask/valid/undo.json +1 -0
- package/fixtures/openapi/WorkbenchContextSelection/invalid/remote-image.json +1 -0
- package/fixtures/openapi/WorkbenchContextSelection/invalid/too-many-images.json +1 -0
- package/fixtures/openapi/WorkbenchContextSelection/valid/chat-image.json +9 -0
- package/fixtures/openapi/WorkbenchContextUsage/invalid/fractional-capacity.json +1 -0
- package/fixtures/openapi/WorkbenchContextUsage/invalid/negative.json +1 -0
- package/fixtures/openapi/WorkbenchContextUsage/valid/reported.json +1 -0
- package/fixtures/openapi/WorkbenchContextUsage/valid/unknown.json +1 -0
- package/fixtures/openapi/WorkbenchMainSessionRequest/invalid/owner.json +1 -0
- package/fixtures/openapi/WorkbenchMainSessionRequest/invalid/provider.json +1 -0
- package/fixtures/openapi/WorkbenchMainSessionRequest/valid/empty.json +1 -0
- package/fixtures/openapi/WorkbenchMainSessionRequest/valid/provider.json +1 -0
- package/fixtures/openapi/WorkbenchMessageSearchPage/invalid/role.json +12 -0
- package/fixtures/openapi/WorkbenchMessageSearchPage/valid/page.json +12 -0
- package/fixtures/openapi/WorkbenchMessageWindow/invalid/missing.json +1 -0
- package/fixtures/openapi/WorkbenchMessageWindow/valid/empty.json +3 -0
- package/fixtures/openapi/WorkbenchModelOption/invalid/zero-capacity.json +1 -0
- package/fixtures/openapi/WorkbenchModelOption/valid/capacity.json +1 -0
- package/fixtures/openapi/WorkbenchModelOption/valid/unknown.json +1 -0
- package/fixtures/openapi/WorkbenchProfessionalCapabilityInput/invalid/basic.json +7 -0
- package/fixtures/openapi/WorkbenchProfessionalCapabilityInput/valid/basic.json +11 -0
- package/fixtures/openapi/WorkbenchProfessionalCapabilityInput/valid/selected-profile.json +23 -0
- package/fixtures/openapi/WorkbenchSendMessageStreamRequest/invalid/missing-required.json +1 -0
- package/fixtures/openapi/WorkbenchSendMessageStreamRequest/valid/mixed-professional-task.json +22 -0
- package/fixtures/openapi/WorkbenchTaskIntent/invalid/basic.json +5 -0
- package/fixtures/openapi/WorkbenchTaskIntent/invalid/oversized-capability-source.json +3 -0
- package/fixtures/openapi/WorkbenchTaskIntent/valid/basic.json +9 -0
- package/fixtures/openapi/WorkbenchTaskIntent/valid/independent-sources.json +17 -0
- package/gen/go/sohaapi/client.go +1 -1
- package/gen/go/sohaapi/kubernetes_monitoring_test.go +67 -0
- package/gen/go/sohaapi/personal_environment_test.go +25 -0
- package/gen/go/sohaapi/types.go +3460 -433
- package/gen/go/sohaapi/vm_disk_test.go +21 -0
- package/gen/ts/sohaapi/index.ts +5454 -1397
- package/go.mod +61 -49
- package/go.sum +202 -176
- package/knowledge/connector-definition.schema.json +6 -1
- package/knowledge/source-import-policy.schema.json +32 -0
- package/memory/memory-record.schema.json +1 -1
- package/openapi/soha-api.json +24199 -16810
- package/openapi/soha-api.yaml +2537 -14
- package/openapi/spec_generated.go +3 -3
- package/openapi/spec_test.go +34 -0
- package/package.json +19 -3
- package/resource/agent_access.go +12 -0
- package/resource/agent_profiles.go +62 -0
- package/resource/agent_profiles_test.go +36 -0
- package/resource/kubernetes_kinds.go +73 -0
- package/resource/kubernetes_kinds_test.go +38 -0
- package/resource/models.go +23 -14
- package/resource/network_topology.go +166 -0
- package/resource/network_topology_projection.go +208 -0
- package/resource/network_topology_projection_test.go +53 -0
- package/resource/network_topology_test.go +51 -0
- package/resource/network_topology_validation.go +29 -0
- package/resource/node_drain.go +34 -0
- package/resource/resource_monitoring.go +99 -0
- package/resource/runtime/network_topology.go +232 -0
- package/resource/runtime/network_topology_test.go +62 -0
- package/resource/runtime/node_drain.go +124 -0
- package/resource/runtime/node_drain_test.go +95 -0
- package/resource/runtime/resource_edit.go +128 -0
- package/resource/runtime/resource_edit_test.go +183 -0
- package/resource/runtime/resource_monitoring.go +243 -0
- package/resource/runtime/resource_monitoring_test.go +88 -0
- /package/fixtures/openapi/DeliveryExecutionHistoryPage/{invalid-kind.json → invalid/invalid-kind.json} +0 -0
- /package/fixtures/openapi/DeliveryExecutionHistoryPage/{valid-build.json → valid/valid-build.json} +0 -0
- /package/fixtures/openapi/DeliveryExecutionHistoryPage/{valid-empty.json → valid/valid-empty.json} +0 -0
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"schemaVersion": "authorization.opensoha.io/v1",
|
|
3
3
|
"catalogVersion": "2.0.0",
|
|
4
|
-
"contentHash": "sha256:
|
|
4
|
+
"contentHash": "sha256:2d98b53189afa67c09a2917325e3b1b1b70aafe00d370bdabaef7d6b11ef493c",
|
|
5
5
|
"permissions": [
|
|
6
6
|
{
|
|
7
7
|
"key": "access.directory.create",
|
|
@@ -8504,6 +8504,54 @@
|
|
|
8504
8504
|
"status": "active",
|
|
8505
8505
|
"assignable": true
|
|
8506
8506
|
},
|
|
8507
|
+
{
|
|
8508
|
+
"key": "platform.network.backend-tls-policies.create",
|
|
8509
|
+
"domain": "platform",
|
|
8510
|
+
"resource": "network.backend-tls-policies",
|
|
8511
|
+
"action": "create",
|
|
8512
|
+
"displayName": "创建 Kubernetes BackendTLSPolicy",
|
|
8513
|
+
"riskLevel": "mutate",
|
|
8514
|
+
"scopeKinds": [
|
|
8515
|
+
"cluster",
|
|
8516
|
+
"namespace",
|
|
8517
|
+
"resource"
|
|
8518
|
+
],
|
|
8519
|
+
"approvalPolicy": "never",
|
|
8520
|
+
"status": "active",
|
|
8521
|
+
"assignable": true
|
|
8522
|
+
},
|
|
8523
|
+
{
|
|
8524
|
+
"key": "platform.network.backend-tls-policies.delete",
|
|
8525
|
+
"domain": "platform",
|
|
8526
|
+
"resource": "network.backend-tls-policies",
|
|
8527
|
+
"action": "delete",
|
|
8528
|
+
"displayName": "删除 Kubernetes BackendTLSPolicy",
|
|
8529
|
+
"riskLevel": "high",
|
|
8530
|
+
"scopeKinds": [
|
|
8531
|
+
"cluster",
|
|
8532
|
+
"namespace",
|
|
8533
|
+
"resource"
|
|
8534
|
+
],
|
|
8535
|
+
"approvalPolicy": "eligible",
|
|
8536
|
+
"status": "active",
|
|
8537
|
+
"assignable": true
|
|
8538
|
+
},
|
|
8539
|
+
{
|
|
8540
|
+
"key": "platform.network.backend-tls-policies.update",
|
|
8541
|
+
"domain": "platform",
|
|
8542
|
+
"resource": "network.backend-tls-policies",
|
|
8543
|
+
"action": "update",
|
|
8544
|
+
"displayName": "修改 Kubernetes BackendTLSPolicy",
|
|
8545
|
+
"riskLevel": "mutate",
|
|
8546
|
+
"scopeKinds": [
|
|
8547
|
+
"cluster",
|
|
8548
|
+
"namespace",
|
|
8549
|
+
"resource"
|
|
8550
|
+
],
|
|
8551
|
+
"approvalPolicy": "never",
|
|
8552
|
+
"status": "active",
|
|
8553
|
+
"assignable": true
|
|
8554
|
+
},
|
|
8507
8555
|
{
|
|
8508
8556
|
"key": "platform.network.backend-tls-policies.view",
|
|
8509
8557
|
"domain": "platform",
|
|
@@ -8755,6 +8803,54 @@
|
|
|
8755
8803
|
"platform.network.view"
|
|
8756
8804
|
]
|
|
8757
8805
|
},
|
|
8806
|
+
{
|
|
8807
|
+
"key": "platform.network.grpc-routes.create",
|
|
8808
|
+
"domain": "platform",
|
|
8809
|
+
"resource": "network.grpc-routes",
|
|
8810
|
+
"action": "create",
|
|
8811
|
+
"displayName": "创建 Kubernetes GRPCRoute",
|
|
8812
|
+
"riskLevel": "mutate",
|
|
8813
|
+
"scopeKinds": [
|
|
8814
|
+
"cluster",
|
|
8815
|
+
"namespace",
|
|
8816
|
+
"resource"
|
|
8817
|
+
],
|
|
8818
|
+
"approvalPolicy": "never",
|
|
8819
|
+
"status": "active",
|
|
8820
|
+
"assignable": true
|
|
8821
|
+
},
|
|
8822
|
+
{
|
|
8823
|
+
"key": "platform.network.grpc-routes.delete",
|
|
8824
|
+
"domain": "platform",
|
|
8825
|
+
"resource": "network.grpc-routes",
|
|
8826
|
+
"action": "delete",
|
|
8827
|
+
"displayName": "删除 Kubernetes GRPCRoute",
|
|
8828
|
+
"riskLevel": "high",
|
|
8829
|
+
"scopeKinds": [
|
|
8830
|
+
"cluster",
|
|
8831
|
+
"namespace",
|
|
8832
|
+
"resource"
|
|
8833
|
+
],
|
|
8834
|
+
"approvalPolicy": "eligible",
|
|
8835
|
+
"status": "active",
|
|
8836
|
+
"assignable": true
|
|
8837
|
+
},
|
|
8838
|
+
{
|
|
8839
|
+
"key": "platform.network.grpc-routes.update",
|
|
8840
|
+
"domain": "platform",
|
|
8841
|
+
"resource": "network.grpc-routes",
|
|
8842
|
+
"action": "update",
|
|
8843
|
+
"displayName": "修改 Kubernetes GRPCRoute",
|
|
8844
|
+
"riskLevel": "mutate",
|
|
8845
|
+
"scopeKinds": [
|
|
8846
|
+
"cluster",
|
|
8847
|
+
"namespace",
|
|
8848
|
+
"resource"
|
|
8849
|
+
],
|
|
8850
|
+
"approvalPolicy": "never",
|
|
8851
|
+
"status": "active",
|
|
8852
|
+
"assignable": true
|
|
8853
|
+
},
|
|
8758
8854
|
{
|
|
8759
8855
|
"key": "platform.network.grpc-routes.view",
|
|
8760
8856
|
"domain": "platform",
|
|
@@ -8775,6 +8871,54 @@
|
|
|
8775
8871
|
"platform.network.view"
|
|
8776
8872
|
]
|
|
8777
8873
|
},
|
|
8874
|
+
{
|
|
8875
|
+
"key": "platform.network.http-routes.create",
|
|
8876
|
+
"domain": "platform",
|
|
8877
|
+
"resource": "network.http-routes",
|
|
8878
|
+
"action": "create",
|
|
8879
|
+
"displayName": "创建 Kubernetes HTTPRoute",
|
|
8880
|
+
"riskLevel": "mutate",
|
|
8881
|
+
"scopeKinds": [
|
|
8882
|
+
"cluster",
|
|
8883
|
+
"namespace",
|
|
8884
|
+
"resource"
|
|
8885
|
+
],
|
|
8886
|
+
"approvalPolicy": "never",
|
|
8887
|
+
"status": "active",
|
|
8888
|
+
"assignable": true
|
|
8889
|
+
},
|
|
8890
|
+
{
|
|
8891
|
+
"key": "platform.network.http-routes.delete",
|
|
8892
|
+
"domain": "platform",
|
|
8893
|
+
"resource": "network.http-routes",
|
|
8894
|
+
"action": "delete",
|
|
8895
|
+
"displayName": "删除 Kubernetes HTTPRoute",
|
|
8896
|
+
"riskLevel": "high",
|
|
8897
|
+
"scopeKinds": [
|
|
8898
|
+
"cluster",
|
|
8899
|
+
"namespace",
|
|
8900
|
+
"resource"
|
|
8901
|
+
],
|
|
8902
|
+
"approvalPolicy": "eligible",
|
|
8903
|
+
"status": "active",
|
|
8904
|
+
"assignable": true
|
|
8905
|
+
},
|
|
8906
|
+
{
|
|
8907
|
+
"key": "platform.network.http-routes.update",
|
|
8908
|
+
"domain": "platform",
|
|
8909
|
+
"resource": "network.http-routes",
|
|
8910
|
+
"action": "update",
|
|
8911
|
+
"displayName": "修改 Kubernetes HTTPRoute",
|
|
8912
|
+
"riskLevel": "mutate",
|
|
8913
|
+
"scopeKinds": [
|
|
8914
|
+
"cluster",
|
|
8915
|
+
"namespace",
|
|
8916
|
+
"resource"
|
|
8917
|
+
],
|
|
8918
|
+
"approvalPolicy": "never",
|
|
8919
|
+
"status": "active",
|
|
8920
|
+
"assignable": true
|
|
8921
|
+
},
|
|
8778
8922
|
{
|
|
8779
8923
|
"key": "platform.network.http-routes.view",
|
|
8780
8924
|
"domain": "platform",
|
|
@@ -9084,6 +9228,54 @@
|
|
|
9084
9228
|
"platform.network.view"
|
|
9085
9229
|
]
|
|
9086
9230
|
},
|
|
9231
|
+
{
|
|
9232
|
+
"key": "platform.network.reference-grants.create",
|
|
9233
|
+
"domain": "platform",
|
|
9234
|
+
"resource": "network.reference-grants",
|
|
9235
|
+
"action": "create",
|
|
9236
|
+
"displayName": "创建 Kubernetes ReferenceGrant",
|
|
9237
|
+
"riskLevel": "mutate",
|
|
9238
|
+
"scopeKinds": [
|
|
9239
|
+
"cluster",
|
|
9240
|
+
"namespace",
|
|
9241
|
+
"resource"
|
|
9242
|
+
],
|
|
9243
|
+
"approvalPolicy": "never",
|
|
9244
|
+
"status": "active",
|
|
9245
|
+
"assignable": true
|
|
9246
|
+
},
|
|
9247
|
+
{
|
|
9248
|
+
"key": "platform.network.reference-grants.delete",
|
|
9249
|
+
"domain": "platform",
|
|
9250
|
+
"resource": "network.reference-grants",
|
|
9251
|
+
"action": "delete",
|
|
9252
|
+
"displayName": "删除 Kubernetes ReferenceGrant",
|
|
9253
|
+
"riskLevel": "high",
|
|
9254
|
+
"scopeKinds": [
|
|
9255
|
+
"cluster",
|
|
9256
|
+
"namespace",
|
|
9257
|
+
"resource"
|
|
9258
|
+
],
|
|
9259
|
+
"approvalPolicy": "eligible",
|
|
9260
|
+
"status": "active",
|
|
9261
|
+
"assignable": true
|
|
9262
|
+
},
|
|
9263
|
+
{
|
|
9264
|
+
"key": "platform.network.reference-grants.update",
|
|
9265
|
+
"domain": "platform",
|
|
9266
|
+
"resource": "network.reference-grants",
|
|
9267
|
+
"action": "update",
|
|
9268
|
+
"displayName": "修改 Kubernetes ReferenceGrant",
|
|
9269
|
+
"riskLevel": "mutate",
|
|
9270
|
+
"scopeKinds": [
|
|
9271
|
+
"cluster",
|
|
9272
|
+
"namespace",
|
|
9273
|
+
"resource"
|
|
9274
|
+
],
|
|
9275
|
+
"approvalPolicy": "never",
|
|
9276
|
+
"status": "active",
|
|
9277
|
+
"assignable": true
|
|
9278
|
+
},
|
|
9087
9279
|
{
|
|
9088
9280
|
"key": "platform.network.reference-grants.view",
|
|
9089
9281
|
"domain": "platform",
|
|
@@ -9358,6 +9550,22 @@
|
|
|
9358
9550
|
"enable"
|
|
9359
9551
|
]
|
|
9360
9552
|
},
|
|
9553
|
+
{
|
|
9554
|
+
"key": "platform.pods.create",
|
|
9555
|
+
"domain": "platform",
|
|
9556
|
+
"resource": "pods",
|
|
9557
|
+
"action": "create",
|
|
9558
|
+
"displayName": "创建 Kubernetes Pod",
|
|
9559
|
+
"riskLevel": "mutate",
|
|
9560
|
+
"scopeKinds": [
|
|
9561
|
+
"cluster",
|
|
9562
|
+
"namespace",
|
|
9563
|
+
"resource"
|
|
9564
|
+
],
|
|
9565
|
+
"approvalPolicy": "never",
|
|
9566
|
+
"status": "active",
|
|
9567
|
+
"assignable": true
|
|
9568
|
+
},
|
|
9361
9569
|
{
|
|
9362
9570
|
"key": "platform.pods.delete",
|
|
9363
9571
|
"domain": "platform",
|
|
@@ -9537,6 +9745,81 @@
|
|
|
9537
9745
|
"status": "active",
|
|
9538
9746
|
"assignable": true
|
|
9539
9747
|
},
|
|
9748
|
+
{
|
|
9749
|
+
"key": "platform.resource-monitoring.conntrack.view",
|
|
9750
|
+
"domain": "platform",
|
|
9751
|
+
"resource": "resource-monitoring.conntrack",
|
|
9752
|
+
"action": "view",
|
|
9753
|
+
"displayName": "查看资源监控连接跟踪",
|
|
9754
|
+
"riskLevel": "read",
|
|
9755
|
+
"scopeKinds": [
|
|
9756
|
+
"workspace",
|
|
9757
|
+
"cluster"
|
|
9758
|
+
],
|
|
9759
|
+
"approvalPolicy": "never",
|
|
9760
|
+
"status": "active",
|
|
9761
|
+
"assignable": true
|
|
9762
|
+
},
|
|
9763
|
+
{
|
|
9764
|
+
"key": "platform.resource-monitoring.cpu.view",
|
|
9765
|
+
"domain": "platform",
|
|
9766
|
+
"resource": "resource-monitoring.cpu",
|
|
9767
|
+
"action": "view",
|
|
9768
|
+
"displayName": "查看资源监控CPU",
|
|
9769
|
+
"riskLevel": "read",
|
|
9770
|
+
"scopeKinds": [
|
|
9771
|
+
"workspace",
|
|
9772
|
+
"cluster"
|
|
9773
|
+
],
|
|
9774
|
+
"approvalPolicy": "never",
|
|
9775
|
+
"status": "active",
|
|
9776
|
+
"assignable": true
|
|
9777
|
+
},
|
|
9778
|
+
{
|
|
9779
|
+
"key": "platform.resource-monitoring.memory.view",
|
|
9780
|
+
"domain": "platform",
|
|
9781
|
+
"resource": "resource-monitoring.memory",
|
|
9782
|
+
"action": "view",
|
|
9783
|
+
"displayName": "查看资源监控内存",
|
|
9784
|
+
"riskLevel": "read",
|
|
9785
|
+
"scopeKinds": [
|
|
9786
|
+
"workspace",
|
|
9787
|
+
"cluster"
|
|
9788
|
+
],
|
|
9789
|
+
"approvalPolicy": "never",
|
|
9790
|
+
"status": "active",
|
|
9791
|
+
"assignable": true
|
|
9792
|
+
},
|
|
9793
|
+
{
|
|
9794
|
+
"key": "platform.resource-monitoring.overview.view",
|
|
9795
|
+
"domain": "platform",
|
|
9796
|
+
"resource": "resource-monitoring.overview",
|
|
9797
|
+
"action": "view",
|
|
9798
|
+
"displayName": "查看资源监控总览",
|
|
9799
|
+
"riskLevel": "read",
|
|
9800
|
+
"scopeKinds": [
|
|
9801
|
+
"workspace",
|
|
9802
|
+
"cluster"
|
|
9803
|
+
],
|
|
9804
|
+
"approvalPolicy": "never",
|
|
9805
|
+
"status": "active",
|
|
9806
|
+
"assignable": true
|
|
9807
|
+
},
|
|
9808
|
+
{
|
|
9809
|
+
"key": "platform.resource-monitoring.pods.view",
|
|
9810
|
+
"domain": "platform",
|
|
9811
|
+
"resource": "resource-monitoring.pods",
|
|
9812
|
+
"action": "view",
|
|
9813
|
+
"displayName": "查看资源监控Pod 容量",
|
|
9814
|
+
"riskLevel": "read",
|
|
9815
|
+
"scopeKinds": [
|
|
9816
|
+
"workspace",
|
|
9817
|
+
"cluster"
|
|
9818
|
+
],
|
|
9819
|
+
"approvalPolicy": "never",
|
|
9820
|
+
"status": "active",
|
|
9821
|
+
"assignable": true
|
|
9822
|
+
},
|
|
9540
9823
|
{
|
|
9541
9824
|
"key": "platform.storage.persistent-volume-claims.create",
|
|
9542
9825
|
"domain": "platform",
|
|
@@ -10183,6 +10466,22 @@
|
|
|
10183
10466
|
"create"
|
|
10184
10467
|
]
|
|
10185
10468
|
},
|
|
10469
|
+
{
|
|
10470
|
+
"key": "platform.workloads.replication-controllers.delete",
|
|
10471
|
+
"domain": "platform",
|
|
10472
|
+
"resource": "workloads.replication-controllers",
|
|
10473
|
+
"action": "delete",
|
|
10474
|
+
"displayName": "删除 Kubernetes ReplicationController",
|
|
10475
|
+
"riskLevel": "high",
|
|
10476
|
+
"scopeKinds": [
|
|
10477
|
+
"cluster",
|
|
10478
|
+
"namespace",
|
|
10479
|
+
"resource"
|
|
10480
|
+
],
|
|
10481
|
+
"approvalPolicy": "eligible",
|
|
10482
|
+
"status": "active",
|
|
10483
|
+
"assignable": true
|
|
10484
|
+
},
|
|
10186
10485
|
{
|
|
10187
10486
|
"key": "platform.workloads.replication-controllers.update",
|
|
10188
10487
|
"domain": "platform",
|
|
@@ -11886,6 +12185,37 @@
|
|
|
11886
12185
|
"status": "active",
|
|
11887
12186
|
"assignable": true
|
|
11888
12187
|
},
|
|
12188
|
+
{
|
|
12189
|
+
"key": "virtualization.vm_access.update",
|
|
12190
|
+
"domain": "virtualization",
|
|
12191
|
+
"resource": "vm_access",
|
|
12192
|
+
"action": "update",
|
|
12193
|
+
"displayName": "管理虚拟机登录绑定",
|
|
12194
|
+
"riskLevel": "mutate",
|
|
12195
|
+
"scopeKinds": [
|
|
12196
|
+
"workspace",
|
|
12197
|
+
"resource"
|
|
12198
|
+
],
|
|
12199
|
+
"approvalPolicy": "never",
|
|
12200
|
+
"status": "active",
|
|
12201
|
+
"assignable": true,
|
|
12202
|
+
"legacyAliases": []
|
|
12203
|
+
},
|
|
12204
|
+
{
|
|
12205
|
+
"key": "virtualization.vms.connect",
|
|
12206
|
+
"domain": "virtualization",
|
|
12207
|
+
"resource": "vms",
|
|
12208
|
+
"action": "connect",
|
|
12209
|
+
"displayName": "连接虚拟机 SSH",
|
|
12210
|
+
"riskLevel": "execute",
|
|
12211
|
+
"scopeKinds": [
|
|
12212
|
+
"workspace",
|
|
12213
|
+
"resource"
|
|
12214
|
+
],
|
|
12215
|
+
"approvalPolicy": "never",
|
|
12216
|
+
"status": "active",
|
|
12217
|
+
"assignable": true
|
|
12218
|
+
},
|
|
11889
12219
|
{
|
|
11890
12220
|
"key": "virtualization.vms.console",
|
|
11891
12221
|
"domain": "virtualization",
|
|
@@ -41,6 +41,11 @@
|
|
|
41
41
|
]
|
|
42
42
|
},
|
|
43
43
|
"sessionId": { "type": "string" },
|
|
44
|
+
"authzVersion": {
|
|
45
|
+
"type": "integer",
|
|
46
|
+
"minimum": 1,
|
|
47
|
+
"description": "Authorization version at session access-token issuance. A version mismatch invalidates this token even after its session refreshes. Legacy tokens without this field require an authoritative current-identity lookup; their embedded roles must not restore revoked grants."
|
|
48
|
+
},
|
|
44
49
|
"subjectType": {
|
|
45
50
|
"type": "string",
|
|
46
51
|
"enum": ["user", "service_account", "runner", "anonymous"]
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
{
|
|
2
|
-
"soha": "
|
|
3
|
-
"soha-web": "
|
|
2
|
+
"soha": "57bfa94873ff2825bccc6312842859011c1ec23a",
|
|
3
|
+
"soha-web": "447cbe5358802ef40d86ac67b7b59c5afe9c846a",
|
|
4
|
+
"soha-app": "0c3c76c373246f7d2218b48f68b89bf3097f777b",
|
|
4
5
|
"soha-cli": "1c9b760c986a9c1a5148db55b72ab99d23edd7a3",
|
|
5
6
|
"soha-agent": "af1efc0b0cd6bb544153429fa28244dd6cc81ac7",
|
|
6
7
|
"soha-skills": "bc115fab583d00d4cc7350d8f314077d11bb5488"
|
|
@@ -0,0 +1,138 @@
|
|
|
1
|
+
{
|
|
2
|
+
"$schema": "https://json-schema.org/draft/2020-12/schema",
|
|
3
|
+
"$id": "https://contracts.opensoha.dev/connectors/connector-action.schema.json",
|
|
4
|
+
"title": "OpenSoha credential-bearing connector action v1",
|
|
5
|
+
"description": "Only over authenticated HTTPS or loopback transport, after an action explicitly declares credentialProtocol and aliases. Core pins and authorizes references. Credentials are invocation-local; never persist them in logs, queues, events or results. Actions without credentials keep the unversioned envelope. Runtime additionally rejects a canonical UTF-8 JSON envelope exceeding 1 MiB before dispatch. Cancellation signals and response rejection are cooperative, not proof that an external side effect stopped; action implementations must honor the signal and reconcile effects. All string material including structured keys is confidential.",
|
|
6
|
+
"type": "object",
|
|
7
|
+
"additionalProperties": false,
|
|
8
|
+
"required": [
|
|
9
|
+
"schemaVersion",
|
|
10
|
+
"action",
|
|
11
|
+
"input",
|
|
12
|
+
"credentials"
|
|
13
|
+
],
|
|
14
|
+
"properties": {
|
|
15
|
+
"schemaVersion": {
|
|
16
|
+
"const": "opensoha.dev/connector-action/v1"
|
|
17
|
+
},
|
|
18
|
+
"action": {
|
|
19
|
+
"type": "string",
|
|
20
|
+
"minLength": 1,
|
|
21
|
+
"maxLength": 128
|
|
22
|
+
},
|
|
23
|
+
"input": {
|
|
24
|
+
"type": "object"
|
|
25
|
+
},
|
|
26
|
+
"requestId": {
|
|
27
|
+
"type": "string",
|
|
28
|
+
"minLength": 1,
|
|
29
|
+
"maxLength": 128
|
|
30
|
+
},
|
|
31
|
+
"credentials": {
|
|
32
|
+
"type": "object",
|
|
33
|
+
"additionalProperties": false,
|
|
34
|
+
"required": [
|
|
35
|
+
"expiresAt",
|
|
36
|
+
"entries"
|
|
37
|
+
],
|
|
38
|
+
"properties": {
|
|
39
|
+
"expiresAt": {
|
|
40
|
+
"type": "string",
|
|
41
|
+
"format": "date-time",
|
|
42
|
+
"description": "Reject expired or more than two minutes in the future; signal cancellation and reject late responses when reached or caller disconnects. The connector must cooperate; this does not prove external effects stopped."
|
|
43
|
+
},
|
|
44
|
+
"entries": {
|
|
45
|
+
"type": "object",
|
|
46
|
+
"minProperties": 1,
|
|
47
|
+
"maxProperties": 16,
|
|
48
|
+
"propertyNames": {
|
|
49
|
+
"type": "string",
|
|
50
|
+
"pattern": "^[A-Z][A-Z0-9_]{0,63}$"
|
|
51
|
+
},
|
|
52
|
+
"additionalProperties": {
|
|
53
|
+
"$ref": "#/$defs/Credential"
|
|
54
|
+
}
|
|
55
|
+
}
|
|
56
|
+
}
|
|
57
|
+
}
|
|
58
|
+
},
|
|
59
|
+
"$defs": {
|
|
60
|
+
"Credential": {
|
|
61
|
+
"type": "object",
|
|
62
|
+
"additionalProperties": false,
|
|
63
|
+
"required": [
|
|
64
|
+
"reference",
|
|
65
|
+
"value"
|
|
66
|
+
],
|
|
67
|
+
"properties": {
|
|
68
|
+
"reference": {
|
|
69
|
+
"type": "string",
|
|
70
|
+
"maxLength": 512,
|
|
71
|
+
"pattern": "^soha://secrets/[A-Za-z0-9._-]+/versions/[1-9][0-9]*$"
|
|
72
|
+
},
|
|
73
|
+
"value": {
|
|
74
|
+
"type": "string",
|
|
75
|
+
"minLength": 1,
|
|
76
|
+
"maxLength": 65536,
|
|
77
|
+
"description": "Runtime additionally enforces a 64 KiB UTF-8 byte limit; structured material is bounded to depth 16 and 64 distinct nonempty strings including keys and the opaque value for redaction."
|
|
78
|
+
}
|
|
79
|
+
}
|
|
80
|
+
},
|
|
81
|
+
"ActionDefinition": {
|
|
82
|
+
"type": "object",
|
|
83
|
+
"additionalProperties": false,
|
|
84
|
+
"required": [
|
|
85
|
+
"name",
|
|
86
|
+
"description",
|
|
87
|
+
"inputSchema"
|
|
88
|
+
],
|
|
89
|
+
"properties": {
|
|
90
|
+
"name": {
|
|
91
|
+
"type": "string",
|
|
92
|
+
"minLength": 1
|
|
93
|
+
},
|
|
94
|
+
"description": {
|
|
95
|
+
"type": "string",
|
|
96
|
+
"minLength": 1
|
|
97
|
+
},
|
|
98
|
+
"inputSchema": {
|
|
99
|
+
"type": "object"
|
|
100
|
+
},
|
|
101
|
+
"credentialProtocol": {
|
|
102
|
+
"const": "opensoha.dev/connector-action/v1",
|
|
103
|
+
"description": "Opt-in support for per-call delivery, not a requirement for every action call. Without credentials the existing envelope remains valid; actions requiring authentication must reject missing credentials themselves."
|
|
104
|
+
},
|
|
105
|
+
"credentialAliases": {
|
|
106
|
+
"type": "array",
|
|
107
|
+
"minItems": 1,
|
|
108
|
+
"maxItems": 16,
|
|
109
|
+
"uniqueItems": true,
|
|
110
|
+
"items": {
|
|
111
|
+
"type": "string",
|
|
112
|
+
"pattern": "^[A-Z][A-Z0-9_]{0,63}$"
|
|
113
|
+
}
|
|
114
|
+
}
|
|
115
|
+
},
|
|
116
|
+
"dependentRequired": {
|
|
117
|
+
"credentialProtocol": [
|
|
118
|
+
"credentialAliases"
|
|
119
|
+
],
|
|
120
|
+
"credentialAliases": [
|
|
121
|
+
"credentialProtocol"
|
|
122
|
+
]
|
|
123
|
+
},
|
|
124
|
+
"if": {
|
|
125
|
+
"required": [
|
|
126
|
+
"credentialProtocol"
|
|
127
|
+
]
|
|
128
|
+
},
|
|
129
|
+
"then": {
|
|
130
|
+
"properties": {
|
|
131
|
+
"name": {
|
|
132
|
+
"maxLength": 128
|
|
133
|
+
}
|
|
134
|
+
}
|
|
135
|
+
}
|
|
136
|
+
}
|
|
137
|
+
}
|
|
138
|
+
}
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
{
|
|
2
|
+
"schemaVersion": "opensoha.dev/connector-action/v1",
|
|
3
|
+
"action": "knowledge.connector.http.fetch",
|
|
4
|
+
"input": {
|
|
5
|
+
"cursor": ""
|
|
6
|
+
},
|
|
7
|
+
"credentials": {
|
|
8
|
+
"expiresAt": "tomorrow",
|
|
9
|
+
"entries": {
|
|
10
|
+
"SOURCE": {
|
|
11
|
+
"reference": "soha://secrets/source-fixture/versions/2",
|
|
12
|
+
"value": "synthetic-fixture-value"
|
|
13
|
+
}
|
|
14
|
+
}
|
|
15
|
+
}
|
|
16
|
+
}
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
{
|
|
2
|
+
"schemaVersion": "opensoha.dev/connector-action/v1",
|
|
3
|
+
"action": "knowledge.connector.http.fetch",
|
|
4
|
+
"input": {
|
|
5
|
+
"cursor": ""
|
|
6
|
+
},
|
|
7
|
+
"credentials": {
|
|
8
|
+
"expiresAt": "2026-10-10T00:00:10Z",
|
|
9
|
+
"entries": {
|
|
10
|
+
"source": {
|
|
11
|
+
"reference": "soha://secrets/source-fixture/versions/2",
|
|
12
|
+
"value": "synthetic-fixture-value"
|
|
13
|
+
}
|
|
14
|
+
}
|
|
15
|
+
}
|
|
16
|
+
}
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
{
|
|
2
|
+
"schemaVersion": "opensoha.dev/connector-action/v1",
|
|
3
|
+
"action": "knowledge.connector.http.fetch",
|
|
4
|
+
"input": {
|
|
5
|
+
"cursor": ""
|
|
6
|
+
},
|
|
7
|
+
"credentials": {
|
|
8
|
+
"expiresAt": "2026-10-10T00:00:10Z",
|
|
9
|
+
"entries": {
|
|
10
|
+
"SOURCE": {
|
|
11
|
+
"reference": "soha://secrets/source-fixture/versions/2",
|
|
12
|
+
"value": "synthetic-fixture-value",
|
|
13
|
+
"role": "admin"
|
|
14
|
+
}
|
|
15
|
+
}
|
|
16
|
+
}
|
|
17
|
+
}
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
{
|
|
2
|
+
"schemaVersion": "opensoha.dev/connector-action/v1",
|
|
3
|
+
"action": "knowledge.connector.http.fetch",
|
|
4
|
+
"input": {
|
|
5
|
+
"cursor": ""
|
|
6
|
+
},
|
|
7
|
+
"credentials": {
|
|
8
|
+
"expiresAt": "2026-10-10T00:00:10Z",
|
|
9
|
+
"entries": {
|
|
10
|
+
"SOURCE": {
|
|
11
|
+
"reference": "soha://secrets/source-fixture/versions/2",
|
|
12
|
+
"value": "synthetic-fixture-value"
|
|
13
|
+
}
|
|
14
|
+
}
|
|
15
|
+
},
|
|
16
|
+
"owner": "untrusted"
|
|
17
|
+
}
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
{
|
|
2
|
+
"schemaVersion": "opensoha.dev/connector-action/v9",
|
|
3
|
+
"action": "knowledge.connector.http.fetch",
|
|
4
|
+
"input": {
|
|
5
|
+
"cursor": ""
|
|
6
|
+
},
|
|
7
|
+
"credentials": {
|
|
8
|
+
"expiresAt": "2026-10-10T00:00:10Z",
|
|
9
|
+
"entries": {
|
|
10
|
+
"SOURCE": {
|
|
11
|
+
"reference": "soha://secrets/source-fixture/versions/2",
|
|
12
|
+
"value": "synthetic-fixture-value"
|
|
13
|
+
}
|
|
14
|
+
}
|
|
15
|
+
}
|
|
16
|
+
}
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
{
|
|
2
|
+
"schemaVersion": "opensoha.dev/connector-action/v1",
|
|
3
|
+
"action": "knowledge.connector.http.fetch",
|
|
4
|
+
"input": {
|
|
5
|
+
"cursor": ""
|
|
6
|
+
},
|
|
7
|
+
"credentials": {
|
|
8
|
+
"expiresAt": "2026-10-10T00:00:10Z",
|
|
9
|
+
"entries": {
|
|
10
|
+
"SOURCE": {
|
|
11
|
+
"reference": "soha://secrets/source-fixture",
|
|
12
|
+
"value": "synthetic-fixture-value"
|
|
13
|
+
}
|
|
14
|
+
}
|
|
15
|
+
}
|
|
16
|
+
}
|