@opensoha/contracts 0.1.4
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 +306 -0
- package/LICENSE +201 -0
- package/README.md +224 -0
- package/agent/agent-checkpoint.schema.json +19 -0
- package/agent/agent-observation.schema.json +20 -0
- package/agent/agent-protocol.schema.json +717 -0
- package/agent/agent-provider-definition.schema.json +44 -0
- package/agent/agent-provider-registry.schema.json +25 -0
- package/agent/agent-provider-runtime-event.schema.json +26 -0
- package/agent/agent-run-step.schema.json +24 -0
- package/agent/conformance-run.schema.json +19 -0
- package/agent/environment-lease.schema.json +31 -0
- package/agent/environment-snapshot.schema.json +26 -0
- package/agent/environment-template.schema.json +19 -0
- package/agent/fleet-target.schema.json +15 -0
- package/agent/multi-agent-plan.schema.json +18 -0
- package/agent/provider-rollout.schema.json +19 -0
- package/apiresponse/response.go +25 -0
- package/apiresponse/response_test.go +27 -0
- package/auth/token-claims.schema.json +78 -0
- package/capabilities/cluster-capability-matrix.schema.json +87 -0
- package/compat/json-schema-ecosystem-0.1.0.json +59 -0
- package/compat/openapi-0.1.0.snapshot.json +5076 -0
- package/compat/openapi-loose-boundaries-0.1.0.json +769 -0
- package/connectors/connector-event-envelope.schema.json +64 -0
- package/evaluation/evaluation-dataset.schema.json +28 -0
- package/evaluation/evaluation-result.schema.json +18 -0
- package/evaluation/evaluation-run.schema.json +19 -0
- package/evaluation/executor-profile.schema.json +18 -0
- package/evaluation/feedback-sample.schema.json +20 -0
- package/evaluation/gate-decision.schema.json +20 -0
- package/evaluation/gate-policy.schema.json +18 -0
- package/evaluation/replay-plan.schema.json +17 -0
- package/evaluation/sample-attempt.schema.json +22 -0
- package/events/event-envelope.schema.json +58 -0
- package/examples/agent-profile/k8s-sre-readonly.json +16 -0
- package/examples/cluster-capability-matrix/runtime-parity.json +40 -0
- package/examples/connector-event-envelope/feishu-message.json +19 -0
- package/examples/gateway-capability-baseline/minimal.json +61 -0
- package/examples/gateway-manifest/minimal.json +72 -0
- package/examples/governance/approval-request.json +35 -0
- package/examples/governance/audit-log.json +14 -0
- package/examples/marketplace-catalog/default.json +75 -0
- package/examples/mcp-preset/k8s-readonly.json +20 -0
- package/examples/openapi/agent-run-tool-call-request.json +11 -0
- package/examples/openapi/agent-tool-call-result-envelope.json +19 -0
- package/examples/openapi/cloud-extension-point-list-envelope.json +15 -0
- package/examples/openapi/directory-runtime-status-envelope.json +31 -0
- package/examples/openapi/gateway-manifest-envelope.json +53 -0
- package/examples/openapi/tool-invocation-request.json +14 -0
- package/examples/openapi/tool-invocation-result-envelope.json +23 -0
- package/examples/plugin-manifest/compute-provider.json +27 -0
- package/examples/plugin-manifest/connector.json +76 -0
- package/examples/plugin-manifest/skill-pack.json +47 -0
- package/examples/runner-operation-lifecycle/late-callback.json +27 -0
- package/examples/skill-manifest/k8s-sre.json +22 -0
- package/examples/token-claims/service-account.json +15 -0
- package/fixtures/json-schema/agent-checkpoint/invalid/raw-state.json +1 -0
- package/fixtures/json-schema/agent-checkpoint/valid/minimal.json +1 -0
- package/fixtures/json-schema/agent-observation/invalid/extra-secret.json +1 -0
- package/fixtures/json-schema/agent-observation/valid/tool.json +1 -0
- package/fixtures/json-schema/agent-profile/invalid/missing-scope.json +15 -0
- package/fixtures/json-schema/agent-profile/valid/k8s-sre-readonly.json +35 -0
- package/fixtures/json-schema/agent-protocol/invalid/missing-agent-id.json +3 -0
- package/fixtures/json-schema/agent-protocol/valid/agent-run-callback-legacy.json +9 -0
- package/fixtures/json-schema/agent-protocol/valid/agent-run-callback-with-events.json +39 -0
- package/fixtures/json-schema/agent-protocol/valid/execution-task-claim.json +5 -0
- package/fixtures/json-schema/agent-provider-definition/invalid/missing-command.json +1 -0
- package/fixtures/json-schema/agent-provider-definition/valid/cli.json +1 -0
- package/fixtures/json-schema/agent-provider-registry/invalid/zero-revision.json +1 -0
- package/fixtures/json-schema/agent-provider-registry/valid/minimal.json +1 -0
- package/fixtures/json-schema/agent-provider-runtime-event/invalid/health-without-provider.json +1 -0
- package/fixtures/json-schema/agent-provider-runtime-event/valid/ack.json +1 -0
- package/fixtures/json-schema/agent-run-step/invalid/unknown-state.json +1 -0
- package/fixtures/json-schema/agent-run-step/valid/running.json +1 -0
- package/fixtures/json-schema/approval-request/invalid/missing-status.json +12 -0
- package/fixtures/json-schema/approval-request/valid/high-risk-tool.json +56 -0
- package/fixtures/json-schema/audit-log/invalid/extra-field.json +10 -0
- package/fixtures/json-schema/audit-log/valid/tool-denied.json +23 -0
- package/fixtures/json-schema/cluster-capability-matrix/invalid/missing-agent-support.json +16 -0
- package/fixtures/json-schema/cluster-capability-matrix/invalid/partial-without-reason.json +18 -0
- package/fixtures/json-schema/cluster-capability-matrix/valid/runtime-parity.json +59 -0
- package/fixtures/json-schema/conformance-run/invalid/missing.json +1 -0
- package/fixtures/json-schema/conformance-run/valid/passed.json +1 -0
- package/fixtures/json-schema/connector-checkpoint/invalid/missing.json +1 -0
- package/fixtures/json-schema/connector-checkpoint/valid/http.json +1 -0
- package/fixtures/json-schema/connector-definition/invalid/missing.json +1 -0
- package/fixtures/json-schema/connector-definition/valid/http.json +1 -0
- package/fixtures/json-schema/connector-event-envelope/invalid/missing-payload.json +11 -0
- package/fixtures/json-schema/connector-event-envelope/invalid/unknown-top-level-field.json +13 -0
- package/fixtures/json-schema/connector-event-envelope/valid/feishu-message.json +19 -0
- package/fixtures/json-schema/context-envelope/invalid/envelope.json +1 -0
- package/fixtures/json-schema/context-envelope/valid/envelope.json +1 -0
- package/fixtures/json-schema/environment-lease/invalid/unbounded.json +1 -0
- package/fixtures/json-schema/environment-lease/valid/observe.json +1 -0
- package/fixtures/json-schema/environment-snapshot/invalid/negative-usage.json +1 -0
- package/fixtures/json-schema/environment-snapshot/valid/active.json +1 -0
- package/fixtures/json-schema/environment-template/invalid/missing.json +1 -0
- package/fixtures/json-schema/environment-template/valid/container.json +1 -0
- package/fixtures/json-schema/evaluation-dataset/invalid/no-samples.json +1 -0
- package/fixtures/json-schema/evaluation-dataset/valid/minimal.json +1 -0
- package/fixtures/json-schema/evaluation-result/invalid/bad-score.json +1 -0
- package/fixtures/json-schema/evaluation-result/valid/passed.json +1 -0
- package/fixtures/json-schema/evaluation-run/invalid/no-candidate.json +1 -0
- package/fixtures/json-schema/evaluation-run/valid/running.json +1 -0
- package/fixtures/json-schema/event-envelope/invalid/bad-severity.json +7 -0
- package/fixtures/json-schema/event-envelope/valid/minimal.json +14 -0
- package/fixtures/json-schema/executor-profile/invalid/missing.json +1 -0
- package/fixtures/json-schema/executor-profile/valid/readonly.json +1 -0
- package/fixtures/json-schema/feedback-sample/invalid/missing.json +1 -0
- package/fixtures/json-schema/feedback-sample/valid/pending.json +1 -0
- package/fixtures/json-schema/fleet-target/invalid/missing.json +1 -0
- package/fixtures/json-schema/fleet-target/valid/linux.json +1 -0
- package/fixtures/json-schema/gate-decision/invalid/missing.json +1 -0
- package/fixtures/json-schema/gate-decision/valid/pass.json +1 -0
- package/fixtures/json-schema/gate-policy/invalid/missing.json +1 -0
- package/fixtures/json-schema/gate-policy/valid/release.json +1 -0
- package/fixtures/json-schema/gateway-capability-baseline/invalid/missing-owner.json +32 -0
- package/fixtures/json-schema/gateway-capability-baseline/valid/minimal.json +61 -0
- package/fixtures/json-schema/gateway-manifest/invalid/bad-risk-level.json +37 -0
- package/fixtures/json-schema/gateway-manifest/valid/minimal.json +48 -0
- package/fixtures/json-schema/graph-revision/invalid/missing.json +1 -0
- package/fixtures/json-schema/graph-revision/valid/active.json +1 -0
- package/fixtures/json-schema/index-publish/invalid/missing.json +1 -0
- package/fixtures/json-schema/index-publish/valid/publish.json +1 -0
- package/fixtures/json-schema/ingestion-job/invalid/missing.json +1 -0
- package/fixtures/json-schema/ingestion-job/valid/queued.json +1 -0
- package/fixtures/json-schema/ingestion-stage/invalid/missing.json +1 -0
- package/fixtures/json-schema/ingestion-stage/valid/succeeded.json +1 -0
- package/fixtures/json-schema/knowledge-base/invalid/base.json +1 -0
- package/fixtures/json-schema/knowledge-base/valid/base.json +1 -0
- package/fixtures/json-schema/knowledge-search/invalid/search.json +1 -0
- package/fixtures/json-schema/knowledge-search/valid/search.json +1 -0
- package/fixtures/json-schema/knowledge-source/invalid/source.json +1 -0
- package/fixtures/json-schema/knowledge-source/valid/source.json +1 -0
- package/fixtures/json-schema/marketplace-catalog/invalid/missing-source.json +5 -0
- package/fixtures/json-schema/marketplace-catalog/valid/minimal.json +44 -0
- package/fixtures/json-schema/mcp-preset/invalid/bad-risk-level.json +20 -0
- package/fixtures/json-schema/mcp-preset/valid/k8s-readonly.json +40 -0
- package/fixtures/json-schema/memory-policy/invalid/missing.json +1 -0
- package/fixtures/json-schema/memory-policy/valid/explicit.json +1 -0
- package/fixtures/json-schema/memory-record/invalid/missing.json +1 -0
- package/fixtures/json-schema/memory-record/valid/explicit.json +1 -0
- package/fixtures/json-schema/multi-agent-plan/invalid/missing.json +1 -0
- package/fixtures/json-schema/multi-agent-plan/valid/running.json +1 -0
- package/fixtures/json-schema/observability-log-query-v1/invalid/missing-query.json +6 -0
- package/fixtures/json-schema/observability-log-query-v1/valid/request.json +15 -0
- package/fixtures/json-schema/observability-log-query-v1/valid/response.json +13 -0
- package/fixtures/json-schema/plugin-manifest/invalid/bad-type.json +7 -0
- package/fixtures/json-schema/plugin-manifest/invalid/logs-query-without-action.json +28 -0
- package/fixtures/json-schema/plugin-manifest/invalid/manifest-only-observability-provider.json +26 -0
- package/fixtures/json-schema/plugin-manifest/invalid/manifest-only-read-provider.json +23 -0
- package/fixtures/json-schema/plugin-manifest/invalid/write-provider-without-actions.json +23 -0
- package/fixtures/json-schema/plugin-manifest/valid/compute-provider.json +25 -0
- package/fixtures/json-schema/plugin-manifest/valid/minimal.json +14 -0
- package/fixtures/json-schema/plugin-manifest/valid/observability-provider.json +29 -0
- package/fixtures/json-schema/project-manifest/invalid/inline-secret.json +14 -0
- package/fixtures/json-schema/project-manifest/valid/demo.json +21 -0
- package/fixtures/json-schema/provider-rollout/invalid/missing.json +1 -0
- package/fixtures/json-schema/provider-rollout/valid/canary.json +1 -0
- package/fixtures/json-schema/replay-plan/invalid/missing.json +1 -0
- package/fixtures/json-schema/replay-plan/valid/readonly.json +1 -0
- package/fixtures/json-schema/retrieval-trace/invalid/missing.json +1 -0
- package/fixtures/json-schema/retrieval-trace/valid/grounded.json +1 -0
- package/fixtures/json-schema/runner-operation-lifecycle/invalid/bad-state.json +7 -0
- package/fixtures/json-schema/runner-operation-lifecycle/invalid/missing-runner-id.json +6 -0
- package/fixtures/json-schema/runner-operation-lifecycle/valid/final-failed.json +27 -0
- package/fixtures/json-schema/runner-operation-lifecycle/valid/heartbeat.json +19 -0
- package/fixtures/json-schema/sample-attempt/invalid/missing.json +1 -0
- package/fixtures/json-schema/sample-attempt/valid/completed.json +1 -0
- package/fixtures/json-schema/skill-manifest/invalid/bad-id.json +5 -0
- package/fixtures/json-schema/skill-manifest/valid/minimal.json +8 -0
- package/fixtures/json-schema/token-claims/invalid/bad-token-kind.json +9 -0
- package/fixtures/json-schema/token-claims/valid/service-account.json +15 -0
- package/fixtures/openapi/AIGatewayManifestEnvelope/invalid/bad-date.json +28 -0
- package/fixtures/openapi/AIGatewayManifestEnvelope/valid/minimal.json +31 -0
- package/fixtures/openapi/AgentProviderRegistryAcknowledgement/invalid/missing-targeted.json +7 -0
- package/fixtures/openapi/AgentProviderRegistryAcknowledgement/valid/rollout.json +17 -0
- package/fixtures/openapi/AgentRunCallbackRequest/invalid/missing-agent-id.json +6 -0
- package/fixtures/openapi/AgentRunCallbackRequest/valid/succeeded.json +10 -0
- package/fixtures/openapi/AgentRunCallbackRequest/valid/with-events.json +39 -0
- package/fixtures/openapi/AuthResultEnvelope/invalid/missing-tokens.json +13 -0
- package/fixtures/openapi/AuthResultEnvelope/valid/session.json +20 -0
- package/fixtures/openapi/CloudExtensionPointListEnvelope/invalid/missing-exclusions.json +11 -0
- package/fixtures/openapi/CloudExtensionPointListEnvelope/valid/managed-fleet.json +19 -0
- package/fixtures/openapi/ComputeAccessSourceListEnvelope/invalid/bad-source-type.json +15 -0
- package/fixtures/openapi/ComputeAccessSourceListEnvelope/valid/mixed.json +19 -0
- package/fixtures/openapi/ComputeOverviewEnvelope/invalid/bad-section-status.json +9 -0
- package/fixtures/openapi/ComputeOverviewEnvelope/valid/partial.json +33 -0
- package/fixtures/openapi/ComputeProviderListEnvelope/invalid/bad-domain.json +23 -0
- package/fixtures/openapi/ComputeProviderListEnvelope/valid/builtin.json +30 -0
- package/fixtures/openapi/ComputeResourceRelationListEnvelope/invalid/bad-relation.json +29 -0
- package/fixtures/openapi/ComputeResourceRelationListEnvelope/valid/vm-runtime.json +33 -0
- package/fixtures/openapi/ComputeTaskListEnvelope/invalid/missing-source-id.json +19 -0
- package/fixtures/openapi/ComputeTaskListEnvelope/valid/running.json +30 -0
- package/fixtures/openapi/DeliveryDraftInput/invalid/missing-application-key.json +9 -0
- package/fixtures/openapi/DeliveryDraftInput/valid/ai-service.json +25 -0
- package/fixtures/openapi/DirectoryEventListEnvelope/invalid/unknown-status.json +13 -0
- package/fixtures/openapi/DirectoryEventListEnvelope/valid/failed.json +16 -0
- package/fixtures/openapi/DirectoryPersonLifecycle/invalid/unknown-employment-status.json +5 -0
- package/fixtures/openapi/DirectoryPersonLifecycle/valid/departed.json +6 -0
- package/fixtures/openapi/DirectoryRuntimeStatusEnvelope/invalid/negative-event-count.json +11 -0
- package/fixtures/openapi/DirectoryRuntimeStatusEnvelope/valid/verified.json +14 -0
- package/fixtures/openapi/DockerContainerStartInput/invalid/missing-image.json +8 -0
- package/fixtures/openapi/DockerContainerStartInput/valid/git-dockerfile.json +22 -0
- package/fixtures/openapi/DockerOperationCallbackRequest/invalid/logs-not-array.json +7 -0
- package/fixtures/openapi/DockerOperationCallbackRequest/valid/succeeded.json +9 -0
- package/fixtures/openapi/ErrorEnvelope/invalid/extra-field.json +7 -0
- package/fixtures/openapi/ErrorEnvelope/valid/error.json +7 -0
- package/fixtures/openapi/EvaluationGateRequest/invalid/missing-candidate.json +4 -0
- package/fixtures/openapi/EvaluationGateRequest/valid/candidate.json +5 -0
- package/fixtures/openapi/ExecutionCallbackRequest/invalid/extra-field.json +6 -0
- package/fixtures/openapi/ExecutionCallbackRequest/valid/succeeded.json +7 -0
- package/fixtures/openapi/GovernanceStatusEnvelope/invalid/window-hours-string.json +81 -0
- package/fixtures/openapi/GovernanceStatusEnvelope/valid/minimal.json +81 -0
- package/fixtures/openapi/IdentityErrorEnvelope/invalid/raw-assertion.json +7 -0
- package/fixtures/openapi/IdentityErrorEnvelope/valid/invalid-signature.json +7 -0
- package/fixtures/openapi/IdentityOutpostClaimRequest/invalid/missing-protocol-version.json +4 -0
- package/fixtures/openapi/IdentityOutpostClaimRequest/valid/current-version.json +5 -0
- package/fixtures/openapi/IdentityRuntimeCapabilityEnvelope/invalid/missing-runtime-state.json +17 -0
- package/fixtures/openapi/IdentityRuntimeCapabilityEnvelope/valid/available.json +17 -0
- package/fixtures/openapi/KnowledgeIngestionJobInput/invalid/missing-source.json +1 -0
- package/fixtures/openapi/KnowledgeIngestionJobInput/valid/source.json +3 -0
- package/fixtures/openapi/KubernetesResourceAgentCreateRequest/invalid/unresolved-target.json +18 -0
- package/fixtures/openapi/KubernetesResourceAgentCreateRequest/valid/resolved-target.json +25 -0
- package/fixtures/openapi/KubernetesResourceCreateRequest/invalid/unknown-source.json +5 -0
- package/fixtures/openapi/KubernetesResourceCreateRequest/valid/global-multi-document.json +5 -0
- package/fixtures/openapi/KubernetesResourceCreateResultEnvelope/invalid/bad-document-index.json +21 -0
- package/fixtures/openapi/KubernetesResourceCreateResultEnvelope/valid/partial.json +62 -0
- package/fixtures/openapi/KubernetesResourceCreateScopeDecisionEnvelope/invalid/missing-capability.json +12 -0
- package/fixtures/openapi/KubernetesResourceCreateScopeDecisionEnvelope/valid/allowed.json +17 -0
- package/fixtures/openapi/KubernetesResourcePreflightEnvelope/invalid/warning-without-message.json +32 -0
- package/fixtures/openapi/KubernetesResourcePreflightEnvelope/valid/mixed-diagnostics.json +83 -0
- package/fixtures/openapi/LogPage/invalid/missing-entry-source.json +12 -0
- package/fixtures/openapi/LogPage/valid/partial-runtime.json +42 -0
- package/fixtures/openapi/LogQuery/invalid/missing-selector.json +3 -0
- package/fixtures/openapi/LogQuery/invalid/unknown-source-mode.json +6 -0
- package/fixtures/openapi/LogQuery/valid/docker-project.json +12 -0
- package/fixtures/openapi/LogQuery/valid/runtime-workload.json +21 -0
- package/fixtures/openapi/LogStreamEvent/invalid/missing-entry.json +3 -0
- package/fixtures/openapi/LogStreamEvent/invalid/unknown-event-type.json +3 -0
- package/fixtures/openapi/LogStreamEvent/valid/live-entry.json +16 -0
- package/fixtures/openapi/MCPCapabilityListEnvelope/invalid/missing-scopes.json +9 -0
- package/fixtures/openapi/MCPCapabilityListEnvelope/valid/minimal.json +10 -0
- package/fixtures/openapi/MFAAdminResetRequest/invalid/missing-reason.json +3 -0
- package/fixtures/openapi/MFAAdminResetRequest/valid/security-incident.json +4 -0
- package/fixtures/openapi/MFAWebAuthnRequestOptionsEnvelope/invalid/missing-challenge-id.json +9 -0
- package/fixtures/openapi/MFAWebAuthnRequestOptionsEnvelope/valid/step-up.json +11 -0
- package/fixtures/openapi/ManifestDeploymentEnvelope/invalid/bad-condition-status.json +33 -0
- package/fixtures/openapi/ManifestDeploymentEnvelope/valid/converged.json +36 -0
- package/fixtures/openapi/ManifestSourceUpdateInput/invalid/unknown-mode.json +6 -0
- package/fixtures/openapi/ManifestSourceUpdateInput/valid/soha-managed.json +6 -0
- package/fixtures/openapi/ObservabilityDataSource/valid/healthy.json +33 -0
- package/fixtures/openapi/ObservabilityDataSourceInput/invalid/secret-in-config.json +9 -0
- package/fixtures/openapi/ObservabilityDataSourceInput/valid/loki.json +33 -0
- package/fixtures/openapi/ObservabilityDataSourceInput/valid/provider.json +21 -0
- package/fixtures/openapi/PasswordLoginRequest/invalid/extra-field.json +5 -0
- package/fixtures/openapi/PasswordLoginRequest/valid/password-login.json +4 -0
- package/fixtures/openapi/PersonalAccessTokenInput/invalid/extra-field.json +6 -0
- package/fixtures/openapi/PersonalAccessTokenInput/valid/create.json +9 -0
- package/fixtures/openapi/PluginManifest/invalid/bad-type.json +7 -0
- package/fixtures/openapi/PluginManifest/valid/skill-pack.json +12 -0
- package/fixtures/openapi/RepositoryInput/invalid/embedded-token.json +8 -0
- package/fixtures/openapi/RepositoryInput/valid/gitlab.json +11 -0
- package/fixtures/openapi/RuntimeConfigChangeRequest/invalid/missing-version.json +8 -0
- package/fixtures/openapi/RuntimeConfigChangeRequest/valid/feature-flags.json +14 -0
- package/fixtures/openapi/RuntimeConfigSnapshotEnvelope/invalid/editable-secret.json +17 -0
- package/fixtures/openapi/RuntimeConfigSnapshotEnvelope/invalid/exposed-default-secret.json +18 -0
- package/fixtures/openapi/RuntimeConfigSnapshotEnvelope/invalid/exposed-effective-secret.json +18 -0
- package/fixtures/openapi/RuntimeConfigSnapshotEnvelope/valid/effective.json +34 -0
- package/fixtures/openapi/SAMLMetadataInput/invalid/unknown-source.json +4 -0
- package/fixtures/openapi/SAMLMetadataInput/valid/xml.json +4 -0
- package/fixtures/openapi/SecretCreateRequest/invalid/missing-value.json +5 -0
- package/fixtures/openapi/SecretCreateRequest/valid/create.json +13 -0
- package/fixtures/openapi/SecretLeaseRedemptionEnvelope/invalid/invalid-alias.json +9 -0
- package/fixtures/openapi/SecretLeaseRedemptionEnvelope/valid/redeem.json +9 -0
- package/fixtures/openapi/SecretMetadataEnvelope/invalid/plaintext-value.json +15 -0
- package/fixtures/openapi/SecretMetadataEnvelope/valid/metadata.json +20 -0
- package/fixtures/openapi/SecretRotateRequest/invalid/empty-value.json +3 -0
- package/fixtures/openapi/SecretRotateRequest/valid/rotate.json +3 -0
- package/fixtures/openapi/ServiceAccountInput/invalid/missing-status.json +4 -0
- package/fixtures/openapi/ServiceAccountInput/valid/create.json +8 -0
- package/fixtures/openapi/WorkbenchStreamEvent/invalid/extra-field.json +11 -0
- package/fixtures/openapi/WorkbenchStreamEvent/invalid/missing-server-fields.json +5 -0
- package/fixtures/openapi/WorkbenchStreamEvent/valid/message-done.json +13 -0
- package/gen/go/sohaapi/client.go +989 -0
- package/gen/go/sohaapi/client_test.go +2127 -0
- package/gen/go/sohaapi/types.go +21450 -0
- package/gen/ts/sohaapi/index.ts +22869 -0
- package/go.mod +18 -0
- package/go.sum +46 -0
- package/governance/approval-request.schema.json +187 -0
- package/governance/audit-log.schema.json +37 -0
- package/helmrelease/release.go +108 -0
- package/helmrelease/release_test.go +9 -0
- package/knowledge/connector-checkpoint.schema.json +16 -0
- package/knowledge/connector-definition.schema.json +18 -0
- package/knowledge/context-envelope.schema.json +32 -0
- package/knowledge/graph-revision.schema.json +21 -0
- package/knowledge/index-publish.schema.json +17 -0
- package/knowledge/ingestion-job.schema.json +22 -0
- package/knowledge/ingestion-stage.schema.json +19 -0
- package/knowledge/knowledge-base.schema.json +48 -0
- package/knowledge/knowledge-search.schema.json +21 -0
- package/knowledge/knowledge-source.schema.json +28 -0
- package/knowledge/retrieval-trace.schema.json +21 -0
- package/mcp/gateway-capability-baseline.schema.json +290 -0
- package/mcp/gateway-manifest.schema.json +210 -0
- package/memory/memory-policy.schema.json +19 -0
- package/memory/memory-record.schema.json +25 -0
- package/openapi/soha-api.json +42282 -0
- package/openapi/soha-api.yaml +21748 -0
- package/openapi/spec_generated.go +23 -0
- package/openapi/spec_test.go +38 -0
- package/package.json +122 -0
- package/plugins/marketplace-catalog.schema.json +120 -0
- package/plugins/observability-log-query-v1.schema.json +88 -0
- package/plugins/plugin-manifest.schema.json +498 -0
- package/presets/mcp-preset.schema.json +142 -0
- package/profiles/agent-profile.schema.json +154 -0
- package/resource/crd_definition.go +10 -0
- package/resource/gateway_details_test.go +55 -0
- package/resource/models.go +1587 -0
- package/resource/models_test.go +72 -0
- package/runner/operation-lifecycle.schema.json +112 -0
- package/skills/skill-manifest.schema.json +64 -0
- package/streamlimit/limited_buffer.go +58 -0
- package/streamlimit/limited_buffer_test.go +38 -0
|
@@ -0,0 +1,75 @@
|
|
|
1
|
+
{
|
|
2
|
+
"schemaVersion": "marketplace.opensoha.io/v1",
|
|
3
|
+
"generatedAt": "2026-06-28T00:00:00Z",
|
|
4
|
+
"sourceId": "opensoha-official",
|
|
5
|
+
"sourceUrl": "https://marketplace.opensoha.com/marketplace/index.json",
|
|
6
|
+
"plugins": [
|
|
7
|
+
{
|
|
8
|
+
"id": "opensoha.feishu",
|
|
9
|
+
"name": "Feishu Connector",
|
|
10
|
+
"version": "0.1.0",
|
|
11
|
+
"publisher": "opensoha",
|
|
12
|
+
"type": "connector",
|
|
13
|
+
"summary": "Feishu connector capability bundle.",
|
|
14
|
+
"source": "marketplace:opensoha/feishu",
|
|
15
|
+
"sourceId": "opensoha-official",
|
|
16
|
+
"riskLevel": "mutate",
|
|
17
|
+
"latestVersion": "0.1.0",
|
|
18
|
+
"categories": ["connector", "alert.notification"],
|
|
19
|
+
"verified": true,
|
|
20
|
+
"publisherInfo": {
|
|
21
|
+
"id": "opensoha",
|
|
22
|
+
"name": "OpenSoha",
|
|
23
|
+
"verified": true,
|
|
24
|
+
"verificationLevel": "official"
|
|
25
|
+
},
|
|
26
|
+
"compatibility": {
|
|
27
|
+
"soha": ">=0.1.0",
|
|
28
|
+
"contracts": ">=0.1.1 <1.0.0"
|
|
29
|
+
},
|
|
30
|
+
"versions": [
|
|
31
|
+
{
|
|
32
|
+
"version": "0.1.0",
|
|
33
|
+
"manifestUrl": "https://marketplace.opensoha.com/plugins/opensoha.feishu/0.1.0/plugin.manifest.json",
|
|
34
|
+
"checksum": "sha256:placeholder",
|
|
35
|
+
"signature": "sigstore:placeholder",
|
|
36
|
+
"publishedAt": "2026-06-28T00:00:00Z"
|
|
37
|
+
}
|
|
38
|
+
],
|
|
39
|
+
"manifest": {
|
|
40
|
+
"id": "opensoha.feishu",
|
|
41
|
+
"name": "Feishu Connector",
|
|
42
|
+
"version": "0.1.0",
|
|
43
|
+
"publisher": "opensoha",
|
|
44
|
+
"type": "connector",
|
|
45
|
+
"runtime": {
|
|
46
|
+
"mode": "external-http",
|
|
47
|
+
"healthPath": "/healthz",
|
|
48
|
+
"manifestPath": "/manifest",
|
|
49
|
+
"actionPath": "/actions/{action}"
|
|
50
|
+
},
|
|
51
|
+
"extensionPoints": {
|
|
52
|
+
"ai": {
|
|
53
|
+
"toolProviders": [
|
|
54
|
+
{
|
|
55
|
+
"id": "feishu-message-tools",
|
|
56
|
+
"label": "Feishu Message Tools",
|
|
57
|
+
"actionRef": "feishu.message.send_text"
|
|
58
|
+
}
|
|
59
|
+
]
|
|
60
|
+
},
|
|
61
|
+
"alerts": {
|
|
62
|
+
"notificationChannels": [
|
|
63
|
+
{
|
|
64
|
+
"id": "feishu-webhook",
|
|
65
|
+
"label": "Feishu Webhook",
|
|
66
|
+
"actionRef": "feishu.message.send_text"
|
|
67
|
+
}
|
|
68
|
+
]
|
|
69
|
+
}
|
|
70
|
+
}
|
|
71
|
+
}
|
|
72
|
+
}
|
|
73
|
+
],
|
|
74
|
+
"advisories": []
|
|
75
|
+
}
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
{
|
|
2
|
+
"schemaVersion": "opensoha.dev/mcp-preset/v1",
|
|
3
|
+
"id": "k8s-readonly",
|
|
4
|
+
"name": "Kubernetes Readonly Diagnosis",
|
|
5
|
+
"version": "0.1.0",
|
|
6
|
+
"description": "Read-only AI Gateway tools for scoped Kubernetes workload diagnosis.",
|
|
7
|
+
"riskLevel": "read",
|
|
8
|
+
"skillRefs": ["k8s-sre"],
|
|
9
|
+
"platformCapabilityRefs": ["cluster.inventory", "workload.read", "pod.logs"],
|
|
10
|
+
"requiredScopes": ["cluster", "namespace"],
|
|
11
|
+
"tools": [
|
|
12
|
+
{
|
|
13
|
+
"name": "k8s.pods.logs",
|
|
14
|
+
"description": "Read recent pod logs in a scoped namespace.",
|
|
15
|
+
"riskLevel": "read",
|
|
16
|
+
"requiredScopes": ["cluster", "namespace"]
|
|
17
|
+
}
|
|
18
|
+
],
|
|
19
|
+
"guardrails": ["read_only", "no_kubeconfig", "no_secret_output", "scoped_cluster_namespace"]
|
|
20
|
+
}
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
{
|
|
2
|
+
"data": {
|
|
3
|
+
"runId": "run-01",
|
|
4
|
+
"toolExecution": {
|
|
5
|
+
"toolName": "k8s.list_pods",
|
|
6
|
+
"status": "succeeded",
|
|
7
|
+
"requestId": "req-01"
|
|
8
|
+
},
|
|
9
|
+
"output": {
|
|
10
|
+
"items": [
|
|
11
|
+
{
|
|
12
|
+
"namespace": "default",
|
|
13
|
+
"name": "api-0",
|
|
14
|
+
"phase": "Running"
|
|
15
|
+
}
|
|
16
|
+
]
|
|
17
|
+
}
|
|
18
|
+
}
|
|
19
|
+
}
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
{
|
|
2
|
+
"items": [
|
|
3
|
+
{
|
|
4
|
+
"id": "cloud.managed-connector",
|
|
5
|
+
"name": "Managed Connector Runtime",
|
|
6
|
+
"kind": "managed-connector",
|
|
7
|
+
"boundary": "event-sink",
|
|
8
|
+
"description": "Cloud-hosted connector runtime event sink backed by the public connector event envelope.",
|
|
9
|
+
"contractRefs": ["connectors/connector-event-envelope.schema.json"],
|
|
10
|
+
"supportedConsumers": ["connectors", "cloud", "web"],
|
|
11
|
+
"eventTypes": ["connector.event.received", "connector.action.completed"],
|
|
12
|
+
"excludedCloudOnlyDomains": ["billing", "quota", "saas-iam"]
|
|
13
|
+
}
|
|
14
|
+
]
|
|
15
|
+
}
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
{
|
|
2
|
+
"data": {
|
|
3
|
+
"connectionId": "directory-feishu-primary",
|
|
4
|
+
"callbackUrl": "/api/v1/integrations/directory/directory-feishu-primary/events",
|
|
5
|
+
"callbackConfigured": true,
|
|
6
|
+
"callbackStatus": "verified",
|
|
7
|
+
"callbackVerifiedAt": "2026-07-28T08:05:00Z",
|
|
8
|
+
"lastEventAt": "2026-07-28T08:08:00Z",
|
|
9
|
+
"queuedEvents": 1,
|
|
10
|
+
"failedEvents": 0,
|
|
11
|
+
"needsFullReconcile": false,
|
|
12
|
+
"lastIncrementalRun": {
|
|
13
|
+
"id": "directory-run-incremental-42",
|
|
14
|
+
"connectionId": "directory-feishu-primary",
|
|
15
|
+
"trigger": "directory-webhook",
|
|
16
|
+
"mode": "incremental",
|
|
17
|
+
"status": "succeeded",
|
|
18
|
+
"startedAt": "2026-07-28T08:08:01Z",
|
|
19
|
+
"finishedAt": "2026-07-28T08:08:02Z"
|
|
20
|
+
},
|
|
21
|
+
"lastFullRun": {
|
|
22
|
+
"id": "directory-run-full-7",
|
|
23
|
+
"connectionId": "directory-feishu-primary",
|
|
24
|
+
"trigger": "scheduled-reconcile",
|
|
25
|
+
"mode": "full",
|
|
26
|
+
"status": "succeeded",
|
|
27
|
+
"startedAt": "2026-07-28T00:00:00Z",
|
|
28
|
+
"finishedAt": "2026-07-28T00:02:12Z"
|
|
29
|
+
}
|
|
30
|
+
}
|
|
31
|
+
}
|
|
@@ -0,0 +1,53 @@
|
|
|
1
|
+
{
|
|
2
|
+
"data": {
|
|
3
|
+
"name": "soha-ai-gateway",
|
|
4
|
+
"version": "0.1.0",
|
|
5
|
+
"generatedAt": "2026-06-09T12:00:00Z",
|
|
6
|
+
"principal": {
|
|
7
|
+
"userId": "u-1",
|
|
8
|
+
"userName": "admin",
|
|
9
|
+
"email": "admin@example.com",
|
|
10
|
+
"roles": ["platform-admin"],
|
|
11
|
+
"teams": [],
|
|
12
|
+
"projects": [],
|
|
13
|
+
"tags": [],
|
|
14
|
+
"permissionKeys": ["ai.gateway.tools.read", "k8s.pods.read"]
|
|
15
|
+
},
|
|
16
|
+
"caller": {
|
|
17
|
+
"identityMode": "user",
|
|
18
|
+
"source": "web"
|
|
19
|
+
},
|
|
20
|
+
"permissionKeys": ["ai.gateway.tools.read", "k8s.pods.read"],
|
|
21
|
+
"tools": [
|
|
22
|
+
{
|
|
23
|
+
"name": "k8s.list_pods",
|
|
24
|
+
"title": "List pods",
|
|
25
|
+
"description": "List Kubernetes pods in a namespace.",
|
|
26
|
+
"domain": "kubernetes",
|
|
27
|
+
"action": "read",
|
|
28
|
+
"riskLevel": "read",
|
|
29
|
+
"permissionKeys": ["k8s.pods.read"],
|
|
30
|
+
"requiredScopes": ["cluster", "namespace"],
|
|
31
|
+
"requiresApproval": false,
|
|
32
|
+
"inputSchema": {
|
|
33
|
+
"type": "object",
|
|
34
|
+
"required": ["namespace"],
|
|
35
|
+
"properties": {
|
|
36
|
+
"namespace": { "type": "string" }
|
|
37
|
+
},
|
|
38
|
+
"additionalProperties": false
|
|
39
|
+
}
|
|
40
|
+
}
|
|
41
|
+
],
|
|
42
|
+
"resources": [],
|
|
43
|
+
"prompts": [],
|
|
44
|
+
"skills": [],
|
|
45
|
+
"summary": {
|
|
46
|
+
"toolCount": 1,
|
|
47
|
+
"resourceCount": 0,
|
|
48
|
+
"promptCount": 0,
|
|
49
|
+
"skillCount": 0,
|
|
50
|
+
"deniedCount": 0
|
|
51
|
+
}
|
|
52
|
+
}
|
|
53
|
+
}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
{
|
|
2
|
+
"toolName": "k8s.list_pods",
|
|
3
|
+
"input": {
|
|
4
|
+
"clusterId": "default",
|
|
5
|
+
"namespace": "default"
|
|
6
|
+
},
|
|
7
|
+
"aiClientId": "cli",
|
|
8
|
+
"aiClientName": "Soha CLI",
|
|
9
|
+
"skillId": "k8s-sre",
|
|
10
|
+
"requestId": "req-01",
|
|
11
|
+
"secretRefs": {
|
|
12
|
+
"REGISTRY_TOKEN": "soha://secrets/registry-token/versions/2"
|
|
13
|
+
}
|
|
14
|
+
}
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
{
|
|
2
|
+
"data": {
|
|
3
|
+
"toolName": "k8s.list_pods",
|
|
4
|
+
"riskLevel": "read",
|
|
5
|
+
"requiresApproval": false,
|
|
6
|
+
"result": "succeeded",
|
|
7
|
+
"output": {
|
|
8
|
+
"items": [
|
|
9
|
+
{
|
|
10
|
+
"namespace": "default",
|
|
11
|
+
"name": "api-0",
|
|
12
|
+
"phase": "Running"
|
|
13
|
+
}
|
|
14
|
+
]
|
|
15
|
+
},
|
|
16
|
+
"relatedIds": {
|
|
17
|
+
"clusterId": "default"
|
|
18
|
+
},
|
|
19
|
+
"audit": {
|
|
20
|
+
"requestId": "req-01"
|
|
21
|
+
}
|
|
22
|
+
}
|
|
23
|
+
}
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
{
|
|
2
|
+
"id": "opensoha.vsphere",
|
|
3
|
+
"name": "vSphere Provider",
|
|
4
|
+
"version": "0.1.0",
|
|
5
|
+
"publisher": "opensoha",
|
|
6
|
+
"type": "resource-extension",
|
|
7
|
+
"runtime": {
|
|
8
|
+
"mode": "external-http",
|
|
9
|
+
"healthPath": "/healthz",
|
|
10
|
+
"actionPath": "/actions/{action}"
|
|
11
|
+
},
|
|
12
|
+
"extensionPoints": {
|
|
13
|
+
"compute": {
|
|
14
|
+
"virtualizationProviders": [
|
|
15
|
+
{
|
|
16
|
+
"providerKey": "vsphere",
|
|
17
|
+
"displayName": "VMware vSphere",
|
|
18
|
+
"activationLevel": "read",
|
|
19
|
+
"resourceKinds": ["connection", "cluster", "vm"],
|
|
20
|
+
"capabilities": ["connection.validate", "inventory.discover"],
|
|
21
|
+
"configSchemaRef": "schemas/vsphere-connection.json",
|
|
22
|
+
"actionRefs": {}
|
|
23
|
+
}
|
|
24
|
+
]
|
|
25
|
+
}
|
|
26
|
+
}
|
|
27
|
+
}
|
|
@@ -0,0 +1,76 @@
|
|
|
1
|
+
{
|
|
2
|
+
"id": "opensoha.feishu",
|
|
3
|
+
"name": "Feishu Connector",
|
|
4
|
+
"version": "0.1.0",
|
|
5
|
+
"publisher": "opensoha",
|
|
6
|
+
"type": "connector",
|
|
7
|
+
"description": "Feishu connector capability bundle.",
|
|
8
|
+
"homepage": "https://opensoha.dev/connectors/feishu",
|
|
9
|
+
"compatibility": {
|
|
10
|
+
"soha": ">=0.1.0",
|
|
11
|
+
"contracts": ">=0.1.0 <1.0.0"
|
|
12
|
+
},
|
|
13
|
+
"assets": {
|
|
14
|
+
"connectors": ["connectors/feishu/connector.manifest.json"]
|
|
15
|
+
},
|
|
16
|
+
"capabilities": {
|
|
17
|
+
"tools": ["feishu.message.send_text"]
|
|
18
|
+
},
|
|
19
|
+
"permissions": {
|
|
20
|
+
"required": ["ai.gateway.view", "ai.gateway.invoke"],
|
|
21
|
+
"domain": ["connector"]
|
|
22
|
+
},
|
|
23
|
+
"secrets": {
|
|
24
|
+
"required": [
|
|
25
|
+
{
|
|
26
|
+
"name": "FEISHU_APP_SECRET",
|
|
27
|
+
"description": "Feishu app secret used by the connector runtime.",
|
|
28
|
+
"required": true,
|
|
29
|
+
"secretRef": "connectors/feishu/app-secret"
|
|
30
|
+
}
|
|
31
|
+
]
|
|
32
|
+
},
|
|
33
|
+
"runtime": {
|
|
34
|
+
"mode": "external-http",
|
|
35
|
+
"healthPath": "/healthz",
|
|
36
|
+
"manifestPath": "/manifest",
|
|
37
|
+
"actionPath": "/actions/{action}"
|
|
38
|
+
},
|
|
39
|
+
"configSchema": {
|
|
40
|
+
"type": "object",
|
|
41
|
+
"properties": {
|
|
42
|
+
"endpoint": {
|
|
43
|
+
"type": "string",
|
|
44
|
+
"title": "Runtime endpoint",
|
|
45
|
+
"x-control": "endpoint"
|
|
46
|
+
},
|
|
47
|
+
"secretRef": {
|
|
48
|
+
"type": "string",
|
|
49
|
+
"title": "Feishu app secret",
|
|
50
|
+
"x-control": "secret-ref"
|
|
51
|
+
}
|
|
52
|
+
},
|
|
53
|
+
"required": ["endpoint", "secretRef"]
|
|
54
|
+
},
|
|
55
|
+
"extensionPoints": {
|
|
56
|
+
"ai": {
|
|
57
|
+
"toolProviders": [
|
|
58
|
+
{
|
|
59
|
+
"id": "feishu-message-tools",
|
|
60
|
+
"label": "Feishu Message Tools",
|
|
61
|
+
"actionRef": "feishu.message.send_text",
|
|
62
|
+
"permissionKeys": ["ai.gateway.invoke"]
|
|
63
|
+
}
|
|
64
|
+
]
|
|
65
|
+
},
|
|
66
|
+
"alerts": {
|
|
67
|
+
"notificationChannels": [
|
|
68
|
+
{
|
|
69
|
+
"id": "feishu-webhook",
|
|
70
|
+
"label": "Feishu Webhook",
|
|
71
|
+
"actionRef": "feishu.message.send_text"
|
|
72
|
+
}
|
|
73
|
+
]
|
|
74
|
+
}
|
|
75
|
+
}
|
|
76
|
+
}
|
|
@@ -0,0 +1,47 @@
|
|
|
1
|
+
{
|
|
2
|
+
"id": "opensoha.k8s-sre",
|
|
3
|
+
"name": "Kubernetes SRE Pack",
|
|
4
|
+
"version": "0.1.0",
|
|
5
|
+
"publisher": "opensoha",
|
|
6
|
+
"type": "skill-pack",
|
|
7
|
+
"description": "Read-only Kubernetes troubleshooting skills.",
|
|
8
|
+
"homepage": "https://opensoha.dev/plugins/k8s-sre",
|
|
9
|
+
"compatibility": {
|
|
10
|
+
"soha": ">=0.1.0",
|
|
11
|
+
"contracts": ">=0.1.0 <1.0.0"
|
|
12
|
+
},
|
|
13
|
+
"assets": {
|
|
14
|
+
"skills": ["skills/ai-gateway/k8s-sre/SKILL.md"]
|
|
15
|
+
},
|
|
16
|
+
"capabilities": {
|
|
17
|
+
"tools": ["k8s.list_pods"],
|
|
18
|
+
"skills": ["k8s-sre"]
|
|
19
|
+
},
|
|
20
|
+
"permissions": {
|
|
21
|
+
"required": ["k8s.pods.read"],
|
|
22
|
+
"domain": ["kubernetes"]
|
|
23
|
+
},
|
|
24
|
+
"runtime": {
|
|
25
|
+
"mode": "manifest-only"
|
|
26
|
+
},
|
|
27
|
+
"extensionPoints": {
|
|
28
|
+
"ai": {
|
|
29
|
+
"skillPacks": [
|
|
30
|
+
{
|
|
31
|
+
"id": "k8s-sre",
|
|
32
|
+
"label": "Kubernetes SRE",
|
|
33
|
+
"permissionKeys": ["ai.gateway.view"]
|
|
34
|
+
}
|
|
35
|
+
],
|
|
36
|
+
"mcpPresets": [
|
|
37
|
+
{
|
|
38
|
+
"id": "k8s-readonly",
|
|
39
|
+
"label": "Kubernetes readonly MCP preset"
|
|
40
|
+
}
|
|
41
|
+
]
|
|
42
|
+
}
|
|
43
|
+
},
|
|
44
|
+
"metadata": {
|
|
45
|
+
"category": "ai-gateway"
|
|
46
|
+
}
|
|
47
|
+
}
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
{
|
|
2
|
+
"operationId": "op-ai-provider-789",
|
|
3
|
+
"operationKind": "ai_provider",
|
|
4
|
+
"runnerId": "runner-ai-1",
|
|
5
|
+
"agentId": "agent-ai-1",
|
|
6
|
+
"state": "late_callback_ignored",
|
|
7
|
+
"sequence": 11,
|
|
8
|
+
"occurredAt": "2026-06-12T00:10:00.000Z",
|
|
9
|
+
"callback": {
|
|
10
|
+
"callbackId": "callback-789-late",
|
|
11
|
+
"accepted": false,
|
|
12
|
+
"late": true,
|
|
13
|
+
"dedupeKey": "op-ai-provider-789:late"
|
|
14
|
+
},
|
|
15
|
+
"finalState": {
|
|
16
|
+
"status": "timed_out",
|
|
17
|
+
"reason": "deadline_exceeded",
|
|
18
|
+
"completedAt": "2026-06-12T00:09:00.000Z"
|
|
19
|
+
},
|
|
20
|
+
"evidence": [
|
|
21
|
+
{
|
|
22
|
+
"kind": "callback_payload",
|
|
23
|
+
"message": "Late provider callback ignored after timeout.",
|
|
24
|
+
"redacted": true
|
|
25
|
+
}
|
|
26
|
+
]
|
|
27
|
+
}
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
{
|
|
2
|
+
"id": "k8s-sre",
|
|
3
|
+
"name": "Kubernetes SRE",
|
|
4
|
+
"version": "0.1.0",
|
|
5
|
+
"category": "ai-gateway",
|
|
6
|
+
"description": "Read-only Kubernetes troubleshooting skill.",
|
|
7
|
+
"capabilityRefs": ["k8s.list_pods"],
|
|
8
|
+
"permissionKeys": ["k8s.pods.read"],
|
|
9
|
+
"requiredScopes": ["cluster", "namespace"],
|
|
10
|
+
"providerSkillRefs": [
|
|
11
|
+
{
|
|
12
|
+
"providerKind": "builtin",
|
|
13
|
+
"ref": "skills/ai-gateway/k8s-sre/SKILL.md",
|
|
14
|
+
"arguments": {
|
|
15
|
+
"mode": "diagnose"
|
|
16
|
+
}
|
|
17
|
+
}
|
|
18
|
+
],
|
|
19
|
+
"metadata": {
|
|
20
|
+
"owner": "platform"
|
|
21
|
+
}
|
|
22
|
+
}
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
{
|
|
2
|
+
"iss": "soha",
|
|
3
|
+
"sub": "service-account:sa-1",
|
|
4
|
+
"aud": ["soha-api"],
|
|
5
|
+
"exp": 1781006400,
|
|
6
|
+
"iat": 1781002800,
|
|
7
|
+
"tokenId": "tok-1",
|
|
8
|
+
"tokenKind": "service_account",
|
|
9
|
+
"subjectType": "service_account",
|
|
10
|
+
"subjectId": "sa-1",
|
|
11
|
+
"tenantId": "default",
|
|
12
|
+
"workspaceId": "default",
|
|
13
|
+
"permissionKeys": ["ai.gateway.tools.read", "k8s.pods.read"],
|
|
14
|
+
"scopes": ["ai:read", "k8s:read"]
|
|
15
|
+
}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"schemaVersion":"opensoha.dev/agent-checkpoint/v1","id":"checkpoint-1","runId":"run-1","stepId":"step-1","attempt":1,"sequence":1,"stateHash":"raw-state","contextRef":"context:1","createdAt":"2026-07-14T08:00:00Z"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"schemaVersion":"opensoha.dev/agent-checkpoint/v1","id":"checkpoint-1","runId":"run-1","stepId":"step-1","attempt":1,"sequence":1,"stateHash":"sha256:bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb","contextRef":"context:1","createdAt":"2026-07-14T08:00:00Z"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"schemaVersion":"opensoha.dev/agent-observation/v1","id":"obs-1","runId":"run-1","stepId":"step-1","kind":"tool","status":"succeeded","summary":"ok","redacted":false,"secret":"raw","observedAt":"2026-07-14T08:00:00Z"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"schemaVersion":"opensoha.dev/agent-observation/v1","id":"obs-1","runId":"run-1","stepId":"step-1","kind":"tool","status":"succeeded","summary":"Gateway returned redacted evidence.","redacted":true,"observedAt":"2026-07-14T08:00:00Z"}
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
{
|
|
2
|
+
"schemaVersion": "opensoha.dev/agent-profile/v1",
|
|
3
|
+
"id": "k8s-sre-readonly",
|
|
4
|
+
"name": "K8s SRE Readonly",
|
|
5
|
+
"version": "0.1.0",
|
|
6
|
+
"description": "Agent runtime profile for read-only Kubernetes root-cause diagnosis through Soha Gateway.",
|
|
7
|
+
"mode": "platform_resource_diagnosis",
|
|
8
|
+
"providerKind": "soha-agent-runtime",
|
|
9
|
+
"skillRefs": ["k8s-sre"],
|
|
10
|
+
"mcpPresetRefs": ["k8s-readonly"],
|
|
11
|
+
"capabilityRefs": ["platform_resource_diagnosis"],
|
|
12
|
+
"platformCapabilityRefs": ["cluster.inventory"],
|
|
13
|
+
"enabledToolRefs": ["k8s.pods.list"],
|
|
14
|
+
"guardrails": ["read_only"]
|
|
15
|
+
}
|
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
{
|
|
2
|
+
"schemaVersion": "opensoha.dev/agent-profile/v1",
|
|
3
|
+
"id": "k8s-sre-readonly",
|
|
4
|
+
"name": "K8s SRE Readonly",
|
|
5
|
+
"version": "0.1.0",
|
|
6
|
+
"description": "Agent runtime profile for read-only Kubernetes root-cause diagnosis through Soha Gateway.",
|
|
7
|
+
"mode": "platform_resource_diagnosis",
|
|
8
|
+
"providerKind": "soha-agent-runtime",
|
|
9
|
+
"skillRefs": ["k8s-sre"],
|
|
10
|
+
"mcpPresetRefs": ["k8s-readonly"],
|
|
11
|
+
"capabilityRefs": ["platform_resource_diagnosis"],
|
|
12
|
+
"platformCapabilityRefs": ["cluster.inventory", "workload.read", "network.inventory", "storage.inventory", "pod.logs", "metrics"],
|
|
13
|
+
"requiredScopes": ["cluster", "namespace"],
|
|
14
|
+
"enabledToolRefs": [
|
|
15
|
+
"k8s.pods.list",
|
|
16
|
+
"k8s.pods.logs",
|
|
17
|
+
"k8s.pods.describe",
|
|
18
|
+
"k8s.deployments.list",
|
|
19
|
+
"k8s.deployments.rollout_status",
|
|
20
|
+
"k8s.deployments.events",
|
|
21
|
+
"k8s.services.list",
|
|
22
|
+
"k8s.services.backends",
|
|
23
|
+
"k8s.routes.context",
|
|
24
|
+
"k8s.storage.context",
|
|
25
|
+
"k8s.nodes.detail",
|
|
26
|
+
"k8s.events.list"
|
|
27
|
+
],
|
|
28
|
+
"disabledToolRefs": ["k8s.exec", "k8s.apply", "k8s.delete", "k8s.deployments.restart"],
|
|
29
|
+
"budgets": {
|
|
30
|
+
"defaultTimeRangeMinutes": 60,
|
|
31
|
+
"timeoutSeconds": 120,
|
|
32
|
+
"maxLogLines": 500
|
|
33
|
+
},
|
|
34
|
+
"guardrails": ["read_only", "no_direct_cluster_access", "no_secret_output", "require_cluster_namespace_scope"]
|
|
35
|
+
}
|
|
@@ -0,0 +1,39 @@
|
|
|
1
|
+
{
|
|
2
|
+
"runId": "run-1",
|
|
3
|
+
"callbackToken": "agent-run-token",
|
|
4
|
+
"agentId": "agent-1",
|
|
5
|
+
"status": "succeeded",
|
|
6
|
+
"payload": {
|
|
7
|
+
"summary": "Completed"
|
|
8
|
+
},
|
|
9
|
+
"events": [
|
|
10
|
+
{
|
|
11
|
+
"type": "thinking.delta",
|
|
12
|
+
"textDelta": "Checking recent deployment events."
|
|
13
|
+
},
|
|
14
|
+
{
|
|
15
|
+
"type": "agent.status",
|
|
16
|
+
"status": "running"
|
|
17
|
+
},
|
|
18
|
+
{
|
|
19
|
+
"type": "tool.delta",
|
|
20
|
+
"toolCallId": "tool-1",
|
|
21
|
+
"logDelta": "kubectl get events returned 12 rows"
|
|
22
|
+
},
|
|
23
|
+
{
|
|
24
|
+
"type": "tool.completed",
|
|
25
|
+
"toolCall": {
|
|
26
|
+
"id": "tool-1",
|
|
27
|
+
"adapterId": "kubernetes",
|
|
28
|
+
"toolName": "events.list",
|
|
29
|
+
"status": "success",
|
|
30
|
+
"summary": "Collected recent warning events"
|
|
31
|
+
}
|
|
32
|
+
},
|
|
33
|
+
{
|
|
34
|
+
"type": "message.done",
|
|
35
|
+
"role": "assistant",
|
|
36
|
+
"content": "The rollout failed because the new pod image could not be pulled."
|
|
37
|
+
}
|
|
38
|
+
]
|
|
39
|
+
}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"schemaVersion":"opensoha.dev/agent-provider-definition/v1","id":"hermes","kind":"hermes","providerVersion":"1.2.0","adapterProtocol":"v1","runtime":{"kind":"cli"},"capabilities":["root_cause"]}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"schemaVersion":"opensoha.dev/agent-provider-definition/v1","id":"hermes","kind":"hermes","providerVersion":"1.2.0","adapterProtocol":"opensoha.agent-provider.cli/v1","runtime":{"kind":"cli","command":"hermes","args":["chat","-Q"]},"capabilities":["root_cause"],"secretRefs":["secret:agent/hermes-token"]}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"schemaVersion":"opensoha.dev/agent-provider-registry/v1","revision":0,"digest":"sha256:aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa","issuedAt":"2026-07-14T08:00:00Z","providers":[]}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"schemaVersion":"opensoha.dev/agent-provider-registry/v1","revision":2,"digest":"sha256:aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa","issuedAt":"2026-07-14T08:00:00Z","providers":[{"schemaVersion":"opensoha.dev/agent-provider-definition/v1","id":"hermes","kind":"hermes","providerVersion":"1.2.0","adapterProtocol":"opensoha.agent-provider.cli/v1","runtime":{"kind":"cli","command":"hermes"},"capabilities":["root_cause"]}],"fleetTarget":{"platforms":["linux"],"architectures":["amd64"]}}
|
package/fixtures/json-schema/agent-provider-runtime-event/invalid/health-without-provider.json
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"schemaVersion":"opensoha.dev/agent-provider-runtime-event/v1","eventType":"provider_health","runnerId":"runner-1","revision":4,"health":"healthy","draining":false,"activeRuns":0,"observedAt":"2026-07-14T08:00:00Z"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"schemaVersion":"opensoha.dev/agent-provider-runtime-event/v1","eventType":"registry_ack","runnerId":"runner-1","revision":4,"activeRevision":4,"observedAt":"2026-07-14T08:00:00Z"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"schemaVersion":"opensoha.dev/agent-run-step/v1","id":"step-1","runId":"run-1","sequence":1,"attempt":1,"state":"unknown","contextRef":"context:1","startedAt":"2026-07-14T08:00:00Z"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"schemaVersion":"opensoha.dev/agent-run-step/v1","id":"step-1","runId":"run-1","sequence":1,"attempt":1,"state":"running","contextRef":"context:1","startedAt":"2026-07-14T08:00:00Z"}
|