@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.
Files changed (328) hide show
  1. package/COMPATIBILITY.md +306 -0
  2. package/LICENSE +201 -0
  3. package/README.md +224 -0
  4. package/agent/agent-checkpoint.schema.json +19 -0
  5. package/agent/agent-observation.schema.json +20 -0
  6. package/agent/agent-protocol.schema.json +717 -0
  7. package/agent/agent-provider-definition.schema.json +44 -0
  8. package/agent/agent-provider-registry.schema.json +25 -0
  9. package/agent/agent-provider-runtime-event.schema.json +26 -0
  10. package/agent/agent-run-step.schema.json +24 -0
  11. package/agent/conformance-run.schema.json +19 -0
  12. package/agent/environment-lease.schema.json +31 -0
  13. package/agent/environment-snapshot.schema.json +26 -0
  14. package/agent/environment-template.schema.json +19 -0
  15. package/agent/fleet-target.schema.json +15 -0
  16. package/agent/multi-agent-plan.schema.json +18 -0
  17. package/agent/provider-rollout.schema.json +19 -0
  18. package/apiresponse/response.go +25 -0
  19. package/apiresponse/response_test.go +27 -0
  20. package/auth/token-claims.schema.json +78 -0
  21. package/capabilities/cluster-capability-matrix.schema.json +87 -0
  22. package/compat/json-schema-ecosystem-0.1.0.json +59 -0
  23. package/compat/openapi-0.1.0.snapshot.json +5076 -0
  24. package/compat/openapi-loose-boundaries-0.1.0.json +769 -0
  25. package/connectors/connector-event-envelope.schema.json +64 -0
  26. package/evaluation/evaluation-dataset.schema.json +28 -0
  27. package/evaluation/evaluation-result.schema.json +18 -0
  28. package/evaluation/evaluation-run.schema.json +19 -0
  29. package/evaluation/executor-profile.schema.json +18 -0
  30. package/evaluation/feedback-sample.schema.json +20 -0
  31. package/evaluation/gate-decision.schema.json +20 -0
  32. package/evaluation/gate-policy.schema.json +18 -0
  33. package/evaluation/replay-plan.schema.json +17 -0
  34. package/evaluation/sample-attempt.schema.json +22 -0
  35. package/events/event-envelope.schema.json +58 -0
  36. package/examples/agent-profile/k8s-sre-readonly.json +16 -0
  37. package/examples/cluster-capability-matrix/runtime-parity.json +40 -0
  38. package/examples/connector-event-envelope/feishu-message.json +19 -0
  39. package/examples/gateway-capability-baseline/minimal.json +61 -0
  40. package/examples/gateway-manifest/minimal.json +72 -0
  41. package/examples/governance/approval-request.json +35 -0
  42. package/examples/governance/audit-log.json +14 -0
  43. package/examples/marketplace-catalog/default.json +75 -0
  44. package/examples/mcp-preset/k8s-readonly.json +20 -0
  45. package/examples/openapi/agent-run-tool-call-request.json +11 -0
  46. package/examples/openapi/agent-tool-call-result-envelope.json +19 -0
  47. package/examples/openapi/cloud-extension-point-list-envelope.json +15 -0
  48. package/examples/openapi/directory-runtime-status-envelope.json +31 -0
  49. package/examples/openapi/gateway-manifest-envelope.json +53 -0
  50. package/examples/openapi/tool-invocation-request.json +14 -0
  51. package/examples/openapi/tool-invocation-result-envelope.json +23 -0
  52. package/examples/plugin-manifest/compute-provider.json +27 -0
  53. package/examples/plugin-manifest/connector.json +76 -0
  54. package/examples/plugin-manifest/skill-pack.json +47 -0
  55. package/examples/runner-operation-lifecycle/late-callback.json +27 -0
  56. package/examples/skill-manifest/k8s-sre.json +22 -0
  57. package/examples/token-claims/service-account.json +15 -0
  58. package/fixtures/json-schema/agent-checkpoint/invalid/raw-state.json +1 -0
  59. package/fixtures/json-schema/agent-checkpoint/valid/minimal.json +1 -0
  60. package/fixtures/json-schema/agent-observation/invalid/extra-secret.json +1 -0
  61. package/fixtures/json-schema/agent-observation/valid/tool.json +1 -0
  62. package/fixtures/json-schema/agent-profile/invalid/missing-scope.json +15 -0
  63. package/fixtures/json-schema/agent-profile/valid/k8s-sre-readonly.json +35 -0
  64. package/fixtures/json-schema/agent-protocol/invalid/missing-agent-id.json +3 -0
  65. package/fixtures/json-schema/agent-protocol/valid/agent-run-callback-legacy.json +9 -0
  66. package/fixtures/json-schema/agent-protocol/valid/agent-run-callback-with-events.json +39 -0
  67. package/fixtures/json-schema/agent-protocol/valid/execution-task-claim.json +5 -0
  68. package/fixtures/json-schema/agent-provider-definition/invalid/missing-command.json +1 -0
  69. package/fixtures/json-schema/agent-provider-definition/valid/cli.json +1 -0
  70. package/fixtures/json-schema/agent-provider-registry/invalid/zero-revision.json +1 -0
  71. package/fixtures/json-schema/agent-provider-registry/valid/minimal.json +1 -0
  72. package/fixtures/json-schema/agent-provider-runtime-event/invalid/health-without-provider.json +1 -0
  73. package/fixtures/json-schema/agent-provider-runtime-event/valid/ack.json +1 -0
  74. package/fixtures/json-schema/agent-run-step/invalid/unknown-state.json +1 -0
  75. package/fixtures/json-schema/agent-run-step/valid/running.json +1 -0
  76. package/fixtures/json-schema/approval-request/invalid/missing-status.json +12 -0
  77. package/fixtures/json-schema/approval-request/valid/high-risk-tool.json +56 -0
  78. package/fixtures/json-schema/audit-log/invalid/extra-field.json +10 -0
  79. package/fixtures/json-schema/audit-log/valid/tool-denied.json +23 -0
  80. package/fixtures/json-schema/cluster-capability-matrix/invalid/missing-agent-support.json +16 -0
  81. package/fixtures/json-schema/cluster-capability-matrix/invalid/partial-without-reason.json +18 -0
  82. package/fixtures/json-schema/cluster-capability-matrix/valid/runtime-parity.json +59 -0
  83. package/fixtures/json-schema/conformance-run/invalid/missing.json +1 -0
  84. package/fixtures/json-schema/conformance-run/valid/passed.json +1 -0
  85. package/fixtures/json-schema/connector-checkpoint/invalid/missing.json +1 -0
  86. package/fixtures/json-schema/connector-checkpoint/valid/http.json +1 -0
  87. package/fixtures/json-schema/connector-definition/invalid/missing.json +1 -0
  88. package/fixtures/json-schema/connector-definition/valid/http.json +1 -0
  89. package/fixtures/json-schema/connector-event-envelope/invalid/missing-payload.json +11 -0
  90. package/fixtures/json-schema/connector-event-envelope/invalid/unknown-top-level-field.json +13 -0
  91. package/fixtures/json-schema/connector-event-envelope/valid/feishu-message.json +19 -0
  92. package/fixtures/json-schema/context-envelope/invalid/envelope.json +1 -0
  93. package/fixtures/json-schema/context-envelope/valid/envelope.json +1 -0
  94. package/fixtures/json-schema/environment-lease/invalid/unbounded.json +1 -0
  95. package/fixtures/json-schema/environment-lease/valid/observe.json +1 -0
  96. package/fixtures/json-schema/environment-snapshot/invalid/negative-usage.json +1 -0
  97. package/fixtures/json-schema/environment-snapshot/valid/active.json +1 -0
  98. package/fixtures/json-schema/environment-template/invalid/missing.json +1 -0
  99. package/fixtures/json-schema/environment-template/valid/container.json +1 -0
  100. package/fixtures/json-schema/evaluation-dataset/invalid/no-samples.json +1 -0
  101. package/fixtures/json-schema/evaluation-dataset/valid/minimal.json +1 -0
  102. package/fixtures/json-schema/evaluation-result/invalid/bad-score.json +1 -0
  103. package/fixtures/json-schema/evaluation-result/valid/passed.json +1 -0
  104. package/fixtures/json-schema/evaluation-run/invalid/no-candidate.json +1 -0
  105. package/fixtures/json-schema/evaluation-run/valid/running.json +1 -0
  106. package/fixtures/json-schema/event-envelope/invalid/bad-severity.json +7 -0
  107. package/fixtures/json-schema/event-envelope/valid/minimal.json +14 -0
  108. package/fixtures/json-schema/executor-profile/invalid/missing.json +1 -0
  109. package/fixtures/json-schema/executor-profile/valid/readonly.json +1 -0
  110. package/fixtures/json-schema/feedback-sample/invalid/missing.json +1 -0
  111. package/fixtures/json-schema/feedback-sample/valid/pending.json +1 -0
  112. package/fixtures/json-schema/fleet-target/invalid/missing.json +1 -0
  113. package/fixtures/json-schema/fleet-target/valid/linux.json +1 -0
  114. package/fixtures/json-schema/gate-decision/invalid/missing.json +1 -0
  115. package/fixtures/json-schema/gate-decision/valid/pass.json +1 -0
  116. package/fixtures/json-schema/gate-policy/invalid/missing.json +1 -0
  117. package/fixtures/json-schema/gate-policy/valid/release.json +1 -0
  118. package/fixtures/json-schema/gateway-capability-baseline/invalid/missing-owner.json +32 -0
  119. package/fixtures/json-schema/gateway-capability-baseline/valid/minimal.json +61 -0
  120. package/fixtures/json-schema/gateway-manifest/invalid/bad-risk-level.json +37 -0
  121. package/fixtures/json-schema/gateway-manifest/valid/minimal.json +48 -0
  122. package/fixtures/json-schema/graph-revision/invalid/missing.json +1 -0
  123. package/fixtures/json-schema/graph-revision/valid/active.json +1 -0
  124. package/fixtures/json-schema/index-publish/invalid/missing.json +1 -0
  125. package/fixtures/json-schema/index-publish/valid/publish.json +1 -0
  126. package/fixtures/json-schema/ingestion-job/invalid/missing.json +1 -0
  127. package/fixtures/json-schema/ingestion-job/valid/queued.json +1 -0
  128. package/fixtures/json-schema/ingestion-stage/invalid/missing.json +1 -0
  129. package/fixtures/json-schema/ingestion-stage/valid/succeeded.json +1 -0
  130. package/fixtures/json-schema/knowledge-base/invalid/base.json +1 -0
  131. package/fixtures/json-schema/knowledge-base/valid/base.json +1 -0
  132. package/fixtures/json-schema/knowledge-search/invalid/search.json +1 -0
  133. package/fixtures/json-schema/knowledge-search/valid/search.json +1 -0
  134. package/fixtures/json-schema/knowledge-source/invalid/source.json +1 -0
  135. package/fixtures/json-schema/knowledge-source/valid/source.json +1 -0
  136. package/fixtures/json-schema/marketplace-catalog/invalid/missing-source.json +5 -0
  137. package/fixtures/json-schema/marketplace-catalog/valid/minimal.json +44 -0
  138. package/fixtures/json-schema/mcp-preset/invalid/bad-risk-level.json +20 -0
  139. package/fixtures/json-schema/mcp-preset/valid/k8s-readonly.json +40 -0
  140. package/fixtures/json-schema/memory-policy/invalid/missing.json +1 -0
  141. package/fixtures/json-schema/memory-policy/valid/explicit.json +1 -0
  142. package/fixtures/json-schema/memory-record/invalid/missing.json +1 -0
  143. package/fixtures/json-schema/memory-record/valid/explicit.json +1 -0
  144. package/fixtures/json-schema/multi-agent-plan/invalid/missing.json +1 -0
  145. package/fixtures/json-schema/multi-agent-plan/valid/running.json +1 -0
  146. package/fixtures/json-schema/observability-log-query-v1/invalid/missing-query.json +6 -0
  147. package/fixtures/json-schema/observability-log-query-v1/valid/request.json +15 -0
  148. package/fixtures/json-schema/observability-log-query-v1/valid/response.json +13 -0
  149. package/fixtures/json-schema/plugin-manifest/invalid/bad-type.json +7 -0
  150. package/fixtures/json-schema/plugin-manifest/invalid/logs-query-without-action.json +28 -0
  151. package/fixtures/json-schema/plugin-manifest/invalid/manifest-only-observability-provider.json +26 -0
  152. package/fixtures/json-schema/plugin-manifest/invalid/manifest-only-read-provider.json +23 -0
  153. package/fixtures/json-schema/plugin-manifest/invalid/write-provider-without-actions.json +23 -0
  154. package/fixtures/json-schema/plugin-manifest/valid/compute-provider.json +25 -0
  155. package/fixtures/json-schema/plugin-manifest/valid/minimal.json +14 -0
  156. package/fixtures/json-schema/plugin-manifest/valid/observability-provider.json +29 -0
  157. package/fixtures/json-schema/project-manifest/invalid/inline-secret.json +14 -0
  158. package/fixtures/json-schema/project-manifest/valid/demo.json +21 -0
  159. package/fixtures/json-schema/provider-rollout/invalid/missing.json +1 -0
  160. package/fixtures/json-schema/provider-rollout/valid/canary.json +1 -0
  161. package/fixtures/json-schema/replay-plan/invalid/missing.json +1 -0
  162. package/fixtures/json-schema/replay-plan/valid/readonly.json +1 -0
  163. package/fixtures/json-schema/retrieval-trace/invalid/missing.json +1 -0
  164. package/fixtures/json-schema/retrieval-trace/valid/grounded.json +1 -0
  165. package/fixtures/json-schema/runner-operation-lifecycle/invalid/bad-state.json +7 -0
  166. package/fixtures/json-schema/runner-operation-lifecycle/invalid/missing-runner-id.json +6 -0
  167. package/fixtures/json-schema/runner-operation-lifecycle/valid/final-failed.json +27 -0
  168. package/fixtures/json-schema/runner-operation-lifecycle/valid/heartbeat.json +19 -0
  169. package/fixtures/json-schema/sample-attempt/invalid/missing.json +1 -0
  170. package/fixtures/json-schema/sample-attempt/valid/completed.json +1 -0
  171. package/fixtures/json-schema/skill-manifest/invalid/bad-id.json +5 -0
  172. package/fixtures/json-schema/skill-manifest/valid/minimal.json +8 -0
  173. package/fixtures/json-schema/token-claims/invalid/bad-token-kind.json +9 -0
  174. package/fixtures/json-schema/token-claims/valid/service-account.json +15 -0
  175. package/fixtures/openapi/AIGatewayManifestEnvelope/invalid/bad-date.json +28 -0
  176. package/fixtures/openapi/AIGatewayManifestEnvelope/valid/minimal.json +31 -0
  177. package/fixtures/openapi/AgentProviderRegistryAcknowledgement/invalid/missing-targeted.json +7 -0
  178. package/fixtures/openapi/AgentProviderRegistryAcknowledgement/valid/rollout.json +17 -0
  179. package/fixtures/openapi/AgentRunCallbackRequest/invalid/missing-agent-id.json +6 -0
  180. package/fixtures/openapi/AgentRunCallbackRequest/valid/succeeded.json +10 -0
  181. package/fixtures/openapi/AgentRunCallbackRequest/valid/with-events.json +39 -0
  182. package/fixtures/openapi/AuthResultEnvelope/invalid/missing-tokens.json +13 -0
  183. package/fixtures/openapi/AuthResultEnvelope/valid/session.json +20 -0
  184. package/fixtures/openapi/CloudExtensionPointListEnvelope/invalid/missing-exclusions.json +11 -0
  185. package/fixtures/openapi/CloudExtensionPointListEnvelope/valid/managed-fleet.json +19 -0
  186. package/fixtures/openapi/ComputeAccessSourceListEnvelope/invalid/bad-source-type.json +15 -0
  187. package/fixtures/openapi/ComputeAccessSourceListEnvelope/valid/mixed.json +19 -0
  188. package/fixtures/openapi/ComputeOverviewEnvelope/invalid/bad-section-status.json +9 -0
  189. package/fixtures/openapi/ComputeOverviewEnvelope/valid/partial.json +33 -0
  190. package/fixtures/openapi/ComputeProviderListEnvelope/invalid/bad-domain.json +23 -0
  191. package/fixtures/openapi/ComputeProviderListEnvelope/valid/builtin.json +30 -0
  192. package/fixtures/openapi/ComputeResourceRelationListEnvelope/invalid/bad-relation.json +29 -0
  193. package/fixtures/openapi/ComputeResourceRelationListEnvelope/valid/vm-runtime.json +33 -0
  194. package/fixtures/openapi/ComputeTaskListEnvelope/invalid/missing-source-id.json +19 -0
  195. package/fixtures/openapi/ComputeTaskListEnvelope/valid/running.json +30 -0
  196. package/fixtures/openapi/DeliveryDraftInput/invalid/missing-application-key.json +9 -0
  197. package/fixtures/openapi/DeliveryDraftInput/valid/ai-service.json +25 -0
  198. package/fixtures/openapi/DirectoryEventListEnvelope/invalid/unknown-status.json +13 -0
  199. package/fixtures/openapi/DirectoryEventListEnvelope/valid/failed.json +16 -0
  200. package/fixtures/openapi/DirectoryPersonLifecycle/invalid/unknown-employment-status.json +5 -0
  201. package/fixtures/openapi/DirectoryPersonLifecycle/valid/departed.json +6 -0
  202. package/fixtures/openapi/DirectoryRuntimeStatusEnvelope/invalid/negative-event-count.json +11 -0
  203. package/fixtures/openapi/DirectoryRuntimeStatusEnvelope/valid/verified.json +14 -0
  204. package/fixtures/openapi/DockerContainerStartInput/invalid/missing-image.json +8 -0
  205. package/fixtures/openapi/DockerContainerStartInput/valid/git-dockerfile.json +22 -0
  206. package/fixtures/openapi/DockerOperationCallbackRequest/invalid/logs-not-array.json +7 -0
  207. package/fixtures/openapi/DockerOperationCallbackRequest/valid/succeeded.json +9 -0
  208. package/fixtures/openapi/ErrorEnvelope/invalid/extra-field.json +7 -0
  209. package/fixtures/openapi/ErrorEnvelope/valid/error.json +7 -0
  210. package/fixtures/openapi/EvaluationGateRequest/invalid/missing-candidate.json +4 -0
  211. package/fixtures/openapi/EvaluationGateRequest/valid/candidate.json +5 -0
  212. package/fixtures/openapi/ExecutionCallbackRequest/invalid/extra-field.json +6 -0
  213. package/fixtures/openapi/ExecutionCallbackRequest/valid/succeeded.json +7 -0
  214. package/fixtures/openapi/GovernanceStatusEnvelope/invalid/window-hours-string.json +81 -0
  215. package/fixtures/openapi/GovernanceStatusEnvelope/valid/minimal.json +81 -0
  216. package/fixtures/openapi/IdentityErrorEnvelope/invalid/raw-assertion.json +7 -0
  217. package/fixtures/openapi/IdentityErrorEnvelope/valid/invalid-signature.json +7 -0
  218. package/fixtures/openapi/IdentityOutpostClaimRequest/invalid/missing-protocol-version.json +4 -0
  219. package/fixtures/openapi/IdentityOutpostClaimRequest/valid/current-version.json +5 -0
  220. package/fixtures/openapi/IdentityRuntimeCapabilityEnvelope/invalid/missing-runtime-state.json +17 -0
  221. package/fixtures/openapi/IdentityRuntimeCapabilityEnvelope/valid/available.json +17 -0
  222. package/fixtures/openapi/KnowledgeIngestionJobInput/invalid/missing-source.json +1 -0
  223. package/fixtures/openapi/KnowledgeIngestionJobInput/valid/source.json +3 -0
  224. package/fixtures/openapi/KubernetesResourceAgentCreateRequest/invalid/unresolved-target.json +18 -0
  225. package/fixtures/openapi/KubernetesResourceAgentCreateRequest/valid/resolved-target.json +25 -0
  226. package/fixtures/openapi/KubernetesResourceCreateRequest/invalid/unknown-source.json +5 -0
  227. package/fixtures/openapi/KubernetesResourceCreateRequest/valid/global-multi-document.json +5 -0
  228. package/fixtures/openapi/KubernetesResourceCreateResultEnvelope/invalid/bad-document-index.json +21 -0
  229. package/fixtures/openapi/KubernetesResourceCreateResultEnvelope/valid/partial.json +62 -0
  230. package/fixtures/openapi/KubernetesResourceCreateScopeDecisionEnvelope/invalid/missing-capability.json +12 -0
  231. package/fixtures/openapi/KubernetesResourceCreateScopeDecisionEnvelope/valid/allowed.json +17 -0
  232. package/fixtures/openapi/KubernetesResourcePreflightEnvelope/invalid/warning-without-message.json +32 -0
  233. package/fixtures/openapi/KubernetesResourcePreflightEnvelope/valid/mixed-diagnostics.json +83 -0
  234. package/fixtures/openapi/LogPage/invalid/missing-entry-source.json +12 -0
  235. package/fixtures/openapi/LogPage/valid/partial-runtime.json +42 -0
  236. package/fixtures/openapi/LogQuery/invalid/missing-selector.json +3 -0
  237. package/fixtures/openapi/LogQuery/invalid/unknown-source-mode.json +6 -0
  238. package/fixtures/openapi/LogQuery/valid/docker-project.json +12 -0
  239. package/fixtures/openapi/LogQuery/valid/runtime-workload.json +21 -0
  240. package/fixtures/openapi/LogStreamEvent/invalid/missing-entry.json +3 -0
  241. package/fixtures/openapi/LogStreamEvent/invalid/unknown-event-type.json +3 -0
  242. package/fixtures/openapi/LogStreamEvent/valid/live-entry.json +16 -0
  243. package/fixtures/openapi/MCPCapabilityListEnvelope/invalid/missing-scopes.json +9 -0
  244. package/fixtures/openapi/MCPCapabilityListEnvelope/valid/minimal.json +10 -0
  245. package/fixtures/openapi/MFAAdminResetRequest/invalid/missing-reason.json +3 -0
  246. package/fixtures/openapi/MFAAdminResetRequest/valid/security-incident.json +4 -0
  247. package/fixtures/openapi/MFAWebAuthnRequestOptionsEnvelope/invalid/missing-challenge-id.json +9 -0
  248. package/fixtures/openapi/MFAWebAuthnRequestOptionsEnvelope/valid/step-up.json +11 -0
  249. package/fixtures/openapi/ManifestDeploymentEnvelope/invalid/bad-condition-status.json +33 -0
  250. package/fixtures/openapi/ManifestDeploymentEnvelope/valid/converged.json +36 -0
  251. package/fixtures/openapi/ManifestSourceUpdateInput/invalid/unknown-mode.json +6 -0
  252. package/fixtures/openapi/ManifestSourceUpdateInput/valid/soha-managed.json +6 -0
  253. package/fixtures/openapi/ObservabilityDataSource/valid/healthy.json +33 -0
  254. package/fixtures/openapi/ObservabilityDataSourceInput/invalid/secret-in-config.json +9 -0
  255. package/fixtures/openapi/ObservabilityDataSourceInput/valid/loki.json +33 -0
  256. package/fixtures/openapi/ObservabilityDataSourceInput/valid/provider.json +21 -0
  257. package/fixtures/openapi/PasswordLoginRequest/invalid/extra-field.json +5 -0
  258. package/fixtures/openapi/PasswordLoginRequest/valid/password-login.json +4 -0
  259. package/fixtures/openapi/PersonalAccessTokenInput/invalid/extra-field.json +6 -0
  260. package/fixtures/openapi/PersonalAccessTokenInput/valid/create.json +9 -0
  261. package/fixtures/openapi/PluginManifest/invalid/bad-type.json +7 -0
  262. package/fixtures/openapi/PluginManifest/valid/skill-pack.json +12 -0
  263. package/fixtures/openapi/RepositoryInput/invalid/embedded-token.json +8 -0
  264. package/fixtures/openapi/RepositoryInput/valid/gitlab.json +11 -0
  265. package/fixtures/openapi/RuntimeConfigChangeRequest/invalid/missing-version.json +8 -0
  266. package/fixtures/openapi/RuntimeConfigChangeRequest/valid/feature-flags.json +14 -0
  267. package/fixtures/openapi/RuntimeConfigSnapshotEnvelope/invalid/editable-secret.json +17 -0
  268. package/fixtures/openapi/RuntimeConfigSnapshotEnvelope/invalid/exposed-default-secret.json +18 -0
  269. package/fixtures/openapi/RuntimeConfigSnapshotEnvelope/invalid/exposed-effective-secret.json +18 -0
  270. package/fixtures/openapi/RuntimeConfigSnapshotEnvelope/valid/effective.json +34 -0
  271. package/fixtures/openapi/SAMLMetadataInput/invalid/unknown-source.json +4 -0
  272. package/fixtures/openapi/SAMLMetadataInput/valid/xml.json +4 -0
  273. package/fixtures/openapi/SecretCreateRequest/invalid/missing-value.json +5 -0
  274. package/fixtures/openapi/SecretCreateRequest/valid/create.json +13 -0
  275. package/fixtures/openapi/SecretLeaseRedemptionEnvelope/invalid/invalid-alias.json +9 -0
  276. package/fixtures/openapi/SecretLeaseRedemptionEnvelope/valid/redeem.json +9 -0
  277. package/fixtures/openapi/SecretMetadataEnvelope/invalid/plaintext-value.json +15 -0
  278. package/fixtures/openapi/SecretMetadataEnvelope/valid/metadata.json +20 -0
  279. package/fixtures/openapi/SecretRotateRequest/invalid/empty-value.json +3 -0
  280. package/fixtures/openapi/SecretRotateRequest/valid/rotate.json +3 -0
  281. package/fixtures/openapi/ServiceAccountInput/invalid/missing-status.json +4 -0
  282. package/fixtures/openapi/ServiceAccountInput/valid/create.json +8 -0
  283. package/fixtures/openapi/WorkbenchStreamEvent/invalid/extra-field.json +11 -0
  284. package/fixtures/openapi/WorkbenchStreamEvent/invalid/missing-server-fields.json +5 -0
  285. package/fixtures/openapi/WorkbenchStreamEvent/valid/message-done.json +13 -0
  286. package/gen/go/sohaapi/client.go +989 -0
  287. package/gen/go/sohaapi/client_test.go +2127 -0
  288. package/gen/go/sohaapi/types.go +21450 -0
  289. package/gen/ts/sohaapi/index.ts +22869 -0
  290. package/go.mod +18 -0
  291. package/go.sum +46 -0
  292. package/governance/approval-request.schema.json +187 -0
  293. package/governance/audit-log.schema.json +37 -0
  294. package/helmrelease/release.go +108 -0
  295. package/helmrelease/release_test.go +9 -0
  296. package/knowledge/connector-checkpoint.schema.json +16 -0
  297. package/knowledge/connector-definition.schema.json +18 -0
  298. package/knowledge/context-envelope.schema.json +32 -0
  299. package/knowledge/graph-revision.schema.json +21 -0
  300. package/knowledge/index-publish.schema.json +17 -0
  301. package/knowledge/ingestion-job.schema.json +22 -0
  302. package/knowledge/ingestion-stage.schema.json +19 -0
  303. package/knowledge/knowledge-base.schema.json +48 -0
  304. package/knowledge/knowledge-search.schema.json +21 -0
  305. package/knowledge/knowledge-source.schema.json +28 -0
  306. package/knowledge/retrieval-trace.schema.json +21 -0
  307. package/mcp/gateway-capability-baseline.schema.json +290 -0
  308. package/mcp/gateway-manifest.schema.json +210 -0
  309. package/memory/memory-policy.schema.json +19 -0
  310. package/memory/memory-record.schema.json +25 -0
  311. package/openapi/soha-api.json +42282 -0
  312. package/openapi/soha-api.yaml +21748 -0
  313. package/openapi/spec_generated.go +23 -0
  314. package/openapi/spec_test.go +38 -0
  315. package/package.json +122 -0
  316. package/plugins/marketplace-catalog.schema.json +120 -0
  317. package/plugins/observability-log-query-v1.schema.json +88 -0
  318. package/plugins/plugin-manifest.schema.json +498 -0
  319. package/presets/mcp-preset.schema.json +142 -0
  320. package/profiles/agent-profile.schema.json +154 -0
  321. package/resource/crd_definition.go +10 -0
  322. package/resource/gateway_details_test.go +55 -0
  323. package/resource/models.go +1587 -0
  324. package/resource/models_test.go +72 -0
  325. package/runner/operation-lifecycle.schema.json +112 -0
  326. package/skills/skill-manifest.schema.json +64 -0
  327. package/streamlimit/limited_buffer.go +58 -0
  328. package/streamlimit/limited_buffer_test.go +38 -0
@@ -0,0 +1,12 @@
1
+ {
2
+ "id": "approval-01HZW9WJQ3Y7QH3QZW2KN4T4GX",
3
+ "strategy": "role_quorum",
4
+ "actorType": "user",
5
+ "actorId": "user-123",
6
+ "toolName": "k8s.deployments.restart",
7
+ "riskLevel": "high",
8
+ "requiresApproval": true,
9
+ "summary": "Restart checkout-api deployment in payments namespace.",
10
+ "createdAt": "2026-06-12T02:30:00Z",
11
+ "updatedAt": "2026-06-12T02:30:00Z"
12
+ }
@@ -0,0 +1,56 @@
1
+ {
2
+ "id": "approval-01HZW9WJQ3Y7QH3QZW2KN4T4GX",
3
+ "status": "pending",
4
+ "strategy": "role_quorum",
5
+ "policyId": "policy-prod-mutate",
6
+ "approvalPolicyRef": "gateway.prod-mutate",
7
+ "actorType": "user",
8
+ "actorId": "user-123",
9
+ "actorName": "Ada",
10
+ "actorRoles": ["sre"],
11
+ "actorTeams": ["platform"],
12
+ "aiClientId": "codex-local",
13
+ "aiClientName": "Codex",
14
+ "skillId": "k8s-sre",
15
+ "toolName": "k8s.deployments.restart",
16
+ "riskLevel": "high",
17
+ "requiresApproval": true,
18
+ "resourceScope": {
19
+ "clusterId": "cluster-prod",
20
+ "namespace": "payments"
21
+ },
22
+ "toolInput": {
23
+ "deployment": "checkout-api"
24
+ },
25
+ "relatedIds": {
26
+ "requestId": "req-approval-123"
27
+ },
28
+ "approvalTrace": {
29
+ "approvalMode": "role_quorum",
30
+ "currentStageIndex": 0,
31
+ "currentStageName": "platform-sre",
32
+ "stageCount": 1,
33
+ "approvedCount": 0,
34
+ "requiredApprovals": 1,
35
+ "pendingRequirements": ["role:sre"],
36
+ "candidateRoles": ["sre"]
37
+ },
38
+ "timelineEvents": [
39
+ {
40
+ "id": "approval-event-1",
41
+ "kind": "approval",
42
+ "action": "created",
43
+ "result": "pending",
44
+ "summary": "Approval request created.",
45
+ "actorType": "user",
46
+ "actorId": "user-123",
47
+ "createdAt": "2026-06-12T02:30:00Z"
48
+ }
49
+ ],
50
+ "summary": "Restart checkout-api deployment in payments namespace.",
51
+ "requestId": "req-approval-123",
52
+ "sourceIp": "203.0.113.10",
53
+ "expiresAt": "2026-06-12T03:00:00Z",
54
+ "createdAt": "2026-06-12T02:30:00Z",
55
+ "updatedAt": "2026-06-12T02:30:00Z"
56
+ }
@@ -0,0 +1,10 @@
1
+ {
2
+ "id": "audit-01HZW9WJQ3Y7QH3QZW2KN4T4GX",
3
+ "actorType": "user",
4
+ "actorId": "user-123",
5
+ "action": "tool.invoke",
6
+ "result": "denied",
7
+ "summary": "High-risk deployment restart was denied because approval is required.",
8
+ "createdAt": "2026-06-12T02:31:00Z",
9
+ "secretToken": "must-not-be-here"
10
+ }
@@ -0,0 +1,23 @@
1
+ {
2
+ "id": "audit-01HZW9WJQ3Y7QH3QZW2KN4T4GX",
3
+ "actorType": "user",
4
+ "actorId": "user-123",
5
+ "actorName": "Ada",
6
+ "aiClientId": "codex-local",
7
+ "skillId": "k8s-sre",
8
+ "toolName": "k8s.deployments.restart",
9
+ "riskLevel": "high",
10
+ "resourceScope": {
11
+ "clusterId": "cluster-prod",
12
+ "namespace": "payments"
13
+ },
14
+ "action": "tool.invoke",
15
+ "result": "denied",
16
+ "summary": "High-risk deployment restart was denied because approval is required.",
17
+ "requestId": "req-audit-123",
18
+ "sourceIp": "203.0.113.10",
19
+ "metadata": {
20
+ "approvalRequestId": "approval-01HZW9WJQ3Y7QH3QZW2KN4T4GX"
21
+ },
22
+ "createdAt": "2026-06-12T02:31:00Z"
23
+ }
@@ -0,0 +1,16 @@
1
+ {
2
+ "generatedAt": "2026-06-12T02:00:00Z",
3
+ "items": [
4
+ {
5
+ "key": "kubernetes.exec",
6
+ "label": "Exec Into Pod",
7
+ "category": "exec",
8
+ "riskLevel": "execute",
9
+ "requiresApproval": true,
10
+ "direct": {
11
+ "status": "available",
12
+ "requiredScopes": ["cluster:exec"]
13
+ }
14
+ }
15
+ ]
16
+ }
@@ -0,0 +1,18 @@
1
+ {
2
+ "generatedAt": "2026-06-12T02:00:00Z",
3
+ "items": [
4
+ {
5
+ "key": "kubernetes.logs.stream",
6
+ "label": "Stream Kubernetes Logs",
7
+ "category": "logs",
8
+ "riskLevel": "read",
9
+ "requiresApproval": false,
10
+ "direct": {
11
+ "status": "available"
12
+ },
13
+ "agent": {
14
+ "status": "partial"
15
+ }
16
+ }
17
+ ]
18
+ }
@@ -0,0 +1,59 @@
1
+ {
2
+ "generatedAt": "2026-06-12T02:00:00Z",
3
+ "capabilitySetVersion": "2026.06",
4
+ "items": [
5
+ {
6
+ "key": "kubernetes.yaml.apply",
7
+ "label": "Apply Kubernetes YAML",
8
+ "category": "yaml",
9
+ "riskLevel": "mutate",
10
+ "requiresApproval": true,
11
+ "direct": {
12
+ "status": "available",
13
+ "requiredScopes": ["cluster:write", "kubernetes:apply"]
14
+ },
15
+ "agent": {
16
+ "status": "available",
17
+ "requiredAgentVersion": "0.1.0",
18
+ "requiredScopes": ["agent:kubernetes:apply"]
19
+ },
20
+ "metadata": {
21
+ "resourceKinds": ["Deployment", "Service", "ConfigMap"]
22
+ }
23
+ },
24
+ {
25
+ "key": "kubernetes.logs.stream",
26
+ "label": "Stream Kubernetes Logs",
27
+ "category": "logs",
28
+ "riskLevel": "read",
29
+ "requiresApproval": false,
30
+ "direct": {
31
+ "status": "available",
32
+ "requiredScopes": ["cluster:read", "logs:read"]
33
+ },
34
+ "agent": {
35
+ "status": "partial",
36
+ "reason": "Agent stream resume is limited to one active container per request.",
37
+ "diagnostic": "upgrade_agent_for_multi_container_logs",
38
+ "requiredAgentVersion": "0.1.0",
39
+ "requiredScopes": ["agent:logs:read"]
40
+ }
41
+ },
42
+ {
43
+ "key": "docker.runtime.stream",
44
+ "label": "Docker Runtime Streams",
45
+ "category": "docker",
46
+ "riskLevel": "execute",
47
+ "requiresApproval": true,
48
+ "direct": {
49
+ "status": "unsupported",
50
+ "reason": "Docker runtime streams require an agent runtime."
51
+ },
52
+ "agent": {
53
+ "status": "available",
54
+ "requiredAgentVersion": "0.1.0",
55
+ "requiredScopes": ["agent:docker:execute"]
56
+ }
57
+ }
58
+ ]
59
+ }
@@ -0,0 +1 @@
1
+ {"schemaVersion":"opensoha.dev/agent-conformance-run/v1","id":"conformance-1","providerRef":"codex:v1","environmentRef":"container:v1","suiteVersion":"v1","status":"passed","results":[{"name":"cancel","passed":true}],"startedAt":"2026-07-15T00:00:00Z"}
@@ -0,0 +1 @@
1
+ {"schemaVersion":"opensoha.dev/knowledge-connector-checkpoint/v1","sourceId":"source-1","connectorVersion":"v1","cursor":{"etag":"abc"},"configHash":"sha256:0000000000000000000000000000000000000000000000000000000000000000","committedAt":"2026-07-15T00:00:00Z"}
@@ -0,0 +1 @@
1
+ {"schemaVersion":"opensoha.dev/knowledge-connector-definition/v1","id":"docs-http","kind":"http","version":"v1","configRef":"secret:http-docs","enabled":true}
@@ -0,0 +1,11 @@
1
+ {
2
+ "connectorId": "feishu",
3
+ "events": [
4
+ {
5
+ "id": "feishu-msg-01HZW9WJQ3Y7QH3QZW2KN4T4GX",
6
+ "type": "im.message.receive_v1",
7
+ "source": "feishu",
8
+ "occurredAt": "2026-06-11T08:30:00Z"
9
+ }
10
+ ]
11
+ }
@@ -0,0 +1,13 @@
1
+ {
2
+ "connectorId": "feishu",
3
+ "events": [
4
+ {
5
+ "id": "feishu-msg-01HZW9WJQ3Y7QH3QZW2KN4T4GX",
6
+ "type": "im.message.receive_v1",
7
+ "source": "feishu",
8
+ "occurredAt": "2026-06-11T08:30:00Z",
9
+ "payload": {}
10
+ }
11
+ ],
12
+ "rawSecret": "must-not-be-top-level"
13
+ }
@@ -0,0 +1,19 @@
1
+ {
2
+ "connectorId": "feishu",
3
+ "events": [
4
+ {
5
+ "id": "feishu-msg-01HZW9WJQ3Y7QH3QZW2KN4T4GX",
6
+ "type": "im.message.receive_v1",
7
+ "source": "feishu",
8
+ "occurredAt": "2026-06-11T08:30:00Z",
9
+ "subject": "chat:oc_1234567890",
10
+ "payload": {
11
+ "messageId": "om_1234567890",
12
+ "chatId": "oc_1234567890",
13
+ "senderId": "ou_1234567890",
14
+ "messageType": "text",
15
+ "text": "deploy status?"
16
+ }
17
+ }
18
+ ]
19
+ }
@@ -0,0 +1 @@
1
+ {"version":"v2","id":"context-1","requestId":"","principal":{},"task":{"goal":""},"budgets":{},"budgetUsage":{},"policySnapshot":{},"contentHash":"invalid","createdAt":"not-a-date"}
@@ -0,0 +1 @@
1
+ {"version":"v1","id":"context-1","requestId":"request-1","principal":{"userId":"user-1"},"task":{"goal":"diagnose rollout"},"budgets":{"maxInputTokens":16000},"budgetUsage":{"evidenceTokens":0},"policySnapshot":{"id":"knowledge-acl","version":"v1"},"contentHash":"aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa","createdAt":"2026-07-14T00:00:00Z"}
@@ -0,0 +1 @@
1
+ {"schemaVersion":"opensoha.dev/environment-lease/v1","id":"lease-1","runId":"run-1","ownerId":"runner-1","scopeHash":"sha256:cccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc","mode":"observe-only","quota":{"diskBytes":0,"memoryBytes":2048,"cpuUnits":100,"maxProcesses":2,"networkEgress":false},"issuedAt":"2026-07-14T08:00:00Z","expiresAt":"2026-07-14T08:10:00Z"}
@@ -0,0 +1 @@
1
+ {"schemaVersion":"opensoha.dev/environment-lease/v1","id":"lease-1","runId":"run-1","ownerId":"runner-1","scopeHash":"sha256:cccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc","mode":"observe-only","quota":{"diskBytes":1024,"memoryBytes":2048,"cpuUnits":100,"maxProcesses":2,"networkEgress":false},"issuedAt":"2026-07-14T08:00:00Z","expiresAt":"2026-07-14T08:10:00Z"}
@@ -0,0 +1 @@
1
+ {"schemaVersion":"opensoha.dev/environment-snapshot/v1","leaseId":"lease-1","runId":"run-1","state":"active","resourceUsage":{"diskBytes":-1,"memoryBytes":20,"cpuTimeNanos":30,"processes":1},"observedAt":"2026-07-14T08:00:00Z"}
@@ -0,0 +1 @@
1
+ {"schemaVersion":"opensoha.dev/environment-snapshot/v1","leaseId":"lease-1","runId":"run-1","state":"active","resourceUsage":{"diskBytes":10,"memoryBytes":20,"cpuTimeNanos":30,"processes":1},"artifactRefs":["artifact:1"],"observedAt":"2026-07-14T08:00:00Z"}
@@ -0,0 +1 @@
1
+ {"schemaVersion":"opensoha.dev/agent-environment-template/v1","id":"eval-container","version":"v1","backend":"container","isolationMode":"disposable-write","quota":{"cpuUnits":1000,"memoryBytes":1073741824,"diskBytes":1073741824,"maxProcesses":32},"ttlSeconds":3600,"enabled":true}
@@ -0,0 +1 @@
1
+ {"schemaVersion":"opensoha.dev/evaluation-dataset/v1","id":"rag-regression","name":"RAG regression","version":"v1","samples":[],"createdAt":"2026-07-14T08:00:00Z"}
@@ -0,0 +1 @@
1
+ {"schemaVersion":"opensoha.dev/evaluation-dataset/v1","id":"rag-regression","name":"RAG regression","version":"v1","samples":[{"id":"s1","input":"What failed?","expectedSources":["doc:1"],"forbiddenActions":["delete"]}],"createdAt":"2026-07-14T08:00:00Z"}
@@ -0,0 +1 @@
1
+ {"schemaVersion":"opensoha.dev/evaluation-result/v1","sampleId":"s1","scores":{"source_recall":1.2},"passed":true}
@@ -0,0 +1 @@
1
+ {"schemaVersion":"opensoha.dev/evaluation-result/v1","sampleId":"s1","scores":{"source_recall":1,"action_safety":1},"passed":true}
@@ -0,0 +1 @@
1
+ {"schemaVersion":"opensoha.dev/evaluation-run/v1","id":"eval-1","datasetId":"rag-regression","datasetVersion":"v1","candidateRefs":{},"status":"running","startedAt":"2026-07-14T08:00:00Z"}
@@ -0,0 +1 @@
1
+ {"schemaVersion":"opensoha.dev/evaluation-run/v1","id":"eval-1","datasetId":"rag-regression","datasetVersion":"v1","candidateRefs":{"prompt":"prompt:v2"},"status":"running","startedAt":"2026-07-14T08:00:00Z"}
@@ -0,0 +1,7 @@
1
+ {
2
+ "id": "evt-1",
3
+ "source": "soha-core",
4
+ "category": "audit",
5
+ "severity": "urgent",
6
+ "summary": "Plugin was installed."
7
+ }
@@ -0,0 +1,14 @@
1
+ {
2
+ "id": "evt-1",
3
+ "tenantId": "default",
4
+ "workspaceId": "default",
5
+ "source": "soha-core",
6
+ "category": "audit",
7
+ "eventType": "plugin.installed",
8
+ "severity": "info",
9
+ "summary": "Plugin was installed.",
10
+ "timestamp": "2026-06-09T12:00:00Z",
11
+ "payload": {
12
+ "pluginId": "opensoha.k8s-sre"
13
+ }
14
+ }
@@ -0,0 +1 @@
1
+ {"schemaVersion":"opensoha.dev/evaluation-executor-profile/v1","id":"readonly","environmentPolicy":"evaluation-readonly","isolationMode":"read-only","timeoutSeconds":120,"enabled":true}
@@ -0,0 +1 @@
1
+ {"schemaVersion":"opensoha.dev/evaluation-feedback-sample/v1","id":"feedback-1","traceRef":"trace-1","scopeHash":"sha256:0000000000000000000000000000000000000000000000000000000000000000","redactedInput":"question","redactedOutput":"answer","licenseRef":"internal-evaluation","decision":"pending","createdAt":"2026-07-15T00:00:00Z"}
@@ -0,0 +1 @@
1
+ {"schemaVersion":"opensoha.dev/agent-fleet-target/v1","platforms":["linux"],"architectures":["amd64"]}
@@ -0,0 +1 @@
1
+ {"schemaVersion":"opensoha.dev/evaluation-gate-decision/v1","id":"decision-1","policyId":"release","policyVersion":"v1","baselineRunId":"run-1","candidateRunId":"run-2","decision":"pass","reasons":[],"evidenceRefs":["evaluation-run:run-2"],"evaluatedAt":"2026-07-15T00:00:00Z"}
@@ -0,0 +1 @@
1
+ {"schemaVersion":"opensoha.dev/evaluation-gate-policy/v1","id":"release","version":"v1","minimumScores":{"fact_recall":0.8},"enabled":true}
@@ -0,0 +1,32 @@
1
+ {
2
+ "schemaVersion": "opensoha.dev/gateway-capability-catalog/v1",
3
+ "version": "0.1.0",
4
+ "source": {
5
+ "repository": "github.com/opensoha/soha",
6
+ "path": "internal/application/aigateway/catalog.go",
7
+ "syncStrategy": "stable-runtime entries are checked against runtime Gateway catalog output before release."
8
+ },
9
+ "tools": [
10
+ {
11
+ "name": "delivery.execution_logs.list",
12
+ "title": "List Execution Logs",
13
+ "domain": "delivery",
14
+ "action": "logs",
15
+ "riskLevel": "read",
16
+ "permissionKeys": ["ai.gateway.invoke", "delivery.execution-tasks.view"],
17
+ "requiredScopes": ["application", "environment", "executionTask"],
18
+ "mcpAdapterId": "delivery.v1",
19
+ "mcpToolName": "delivery.execution_logs.list",
20
+ "requiresApproval": false,
21
+ "status": "stable-runtime",
22
+ "skillRefs": ["delivery-tester"],
23
+ "audit": {
24
+ "resourceKind": "AIGatewayTool",
25
+ "relatedIds": ["taskId"]
26
+ },
27
+ "redaction": ["logs"],
28
+ "moduleId": "delivery",
29
+ "routeEvidence": ["registerDeliveryRoutes"]
30
+ }
31
+ ]
32
+ }
@@ -0,0 +1,61 @@
1
+ {
2
+ "schemaVersion": "opensoha.dev/gateway-capability-catalog/v1",
3
+ "version": "0.1.0",
4
+ "source": {
5
+ "repository": "github.com/opensoha/soha",
6
+ "path": "internal/application/aigateway/catalog.go",
7
+ "syncStrategy": "stable-runtime entries are checked against runtime Gateway catalog output before release."
8
+ },
9
+ "plannedSkills": ["gateway-governance"],
10
+ "tools": [
11
+ {
12
+ "name": "delivery.execution_logs.list",
13
+ "title": "List Execution Logs",
14
+ "domain": "delivery",
15
+ "owningWorkbench": "delivery",
16
+ "owningService": "internal/application/delivery.Service",
17
+ "action": "logs",
18
+ "riskLevel": "read",
19
+ "permissionKeys": ["ai.gateway.invoke", "delivery.execution-tasks.view"],
20
+ "requiredScopes": ["application", "environment", "executionTask"],
21
+ "mcpAdapterId": "delivery.v1",
22
+ "mcpToolName": "delivery.execution_logs.list",
23
+ "requiresApproval": false,
24
+ "status": "stable-runtime",
25
+ "skillRefs": ["delivery-tester"],
26
+ "resourceRefs": ["soha://delivery/execution-tasks"],
27
+ "promptRefs": ["soha.delivery.plan_release"],
28
+ "audit": {
29
+ "resourceKind": "AIGatewayTool",
30
+ "relatedIds": ["taskId"]
31
+ },
32
+ "redaction": ["logs"],
33
+ "moduleId": "delivery",
34
+ "routeEvidence": ["registerDeliveryRoutes", "registerAIGatewayRoutes"]
35
+ }
36
+ ],
37
+ "resources": [
38
+ {
39
+ "name": "soha://delivery/execution-tasks",
40
+ "description": "Durable delivery execution tasks, callbacks, artifacts, and logs.",
41
+ "permissionKeys": ["ai.gateway.invoke", "delivery.execution-tasks.view"],
42
+ "requiredScopes": ["application", "environment"],
43
+ "status": "stable-runtime",
44
+ "skillRefs": ["delivery-tester"],
45
+ "toolRefs": ["delivery.execution_logs.list"],
46
+ "promptRefs": ["soha.delivery.plan_release"]
47
+ }
48
+ ],
49
+ "prompts": [
50
+ {
51
+ "name": "soha.delivery.plan_release",
52
+ "description": "Build a release or rollback plan from delivery evidence.",
53
+ "permissionKeys": ["ai.gateway.invoke", "delivery.applications.view"],
54
+ "requiredScopes": ["application", "environment"],
55
+ "status": "stable-runtime",
56
+ "skillRefs": ["delivery-tester"],
57
+ "toolRefs": ["delivery.execution_logs.list"],
58
+ "resourceRefs": ["soha://delivery/execution-tasks"]
59
+ }
60
+ ]
61
+ }
@@ -0,0 +1,37 @@
1
+ {
2
+ "name": "soha-ai-gateway",
3
+ "version": "0.1.0",
4
+ "generatedAt": "2026-06-09T12:00:00Z",
5
+ "principal": {
6
+ "userId": "u-1",
7
+ "userName": "admin",
8
+ "email": "admin@example.com",
9
+ "roles": [],
10
+ "teams": [],
11
+ "projects": [],
12
+ "tags": []
13
+ },
14
+ "caller": {
15
+ "identityMode": "user"
16
+ },
17
+ "permissionKeys": [],
18
+ "tools": [
19
+ {
20
+ "name": "dangerous.tool",
21
+ "title": "Dangerous tool",
22
+ "description": "Invalid risk level should fail.",
23
+ "domain": "test",
24
+ "action": "mutate",
25
+ "riskLevel": "catastrophic",
26
+ "permissionKeys": [],
27
+ "requiresApproval": true
28
+ }
29
+ ],
30
+ "summary": {
31
+ "toolCount": 1,
32
+ "resourceCount": 0,
33
+ "promptCount": 0,
34
+ "skillCount": 0,
35
+ "deniedCount": 0
36
+ }
37
+ }
@@ -0,0 +1,48 @@
1
+ {
2
+ "name": "soha-ai-gateway",
3
+ "version": "0.1.0",
4
+ "generatedAt": "2026-06-09T12:00:00Z",
5
+ "principal": {
6
+ "userId": "u-1",
7
+ "userName": "admin",
8
+ "email": "admin@example.com",
9
+ "roles": ["platform-admin"],
10
+ "teams": [],
11
+ "projects": [],
12
+ "tags": [],
13
+ "permissionKeys": ["ai.gateway.tools.read"]
14
+ },
15
+ "caller": {
16
+ "identityMode": "user",
17
+ "source": "cli"
18
+ },
19
+ "permissionKeys": ["ai.gateway.tools.read"],
20
+ "tools": [
21
+ {
22
+ "name": "k8s.list_pods",
23
+ "title": "List pods",
24
+ "description": "List Kubernetes pods in a namespace.",
25
+ "domain": "kubernetes",
26
+ "action": "read",
27
+ "riskLevel": "read",
28
+ "permissionKeys": ["k8s.pods.read"],
29
+ "requiresApproval": false,
30
+ "inputSchema": {
31
+ "type": "object",
32
+ "properties": {
33
+ "namespace": { "type": "string" }
34
+ }
35
+ }
36
+ }
37
+ ],
38
+ "resources": [],
39
+ "prompts": [],
40
+ "skills": [],
41
+ "summary": {
42
+ "toolCount": 1,
43
+ "resourceCount": 0,
44
+ "promptCount": 0,
45
+ "skillCount": 0,
46
+ "deniedCount": 0
47
+ }
48
+ }
@@ -0,0 +1 @@
1
+ {"schemaVersion":"opensoha.dev/knowledge-graph-revision/v1","id":"graph-1","knowledgeBaseId":"kb-1","sourceIndexRef":"revision-2","extractorVersion":"v1","status":"active","entityCount":20,"relationCount":10,"createdAt":"2026-07-15T00:00:00Z"}
@@ -0,0 +1 @@
1
+ {"schemaVersion":"opensoha.dev/knowledge-index-publish/v1","knowledgeBaseId":"kb-1","revisionId":"revision-2","expectedActiveRevision":"revision-1","decision":"publish","decidedAt":"2026-07-15T00:00:00Z"}
@@ -0,0 +1 @@
1
+ {"schemaVersion":"opensoha.dev/knowledge-ingestion-job/v1","id":"job-1","sourceId":"source-1","targetRevision":"revision-2","stage":"discovering","status":"queued","attempt":0,"createdAt":"2026-07-15T00:00:00Z"}
@@ -0,0 +1 @@
1
+ {"schemaVersion":"opensoha.dev/knowledge-ingestion-stage/v1","jobId":"job-1","stage":"discovering","attempt":1,"status":"succeeded","completedAt":"2026-07-15T00:00:00Z"}
@@ -0,0 +1 @@
1
+ {"id":"base-1","name":"","status":"unknown","ownerId":"user-1","scope":{"visibility":"private"},"retrievalPolicy":{}}
@@ -0,0 +1 @@
1
+ {"id":"base-1","name":"Runbooks","status":"active","ownerId":"user-1","scope":{"visibility":"private","users":["user-1"]},"retrievalPolicy":{"defaultTopK":5,"maxTopK":20,"lexicalWeight":0.45,"vectorWeight":0.55,"minScore":0.05},"createdAt":"2026-07-14T00:00:00Z","updatedAt":"2026-07-14T00:00:00Z"}
@@ -0,0 +1 @@
1
+ {"knowledgeBaseIds":[],"query":"","topK":500}
@@ -0,0 +1 @@
1
+ {"knowledgeBaseIds":["base-1"],"query":"deployment readiness probe","topK":5,"filters":{"sourceIds":["source-1"]}}
@@ -0,0 +1 @@
1
+ {"id":"source-1","knowledgeBaseId":"base-1","name":"Runbooks","kind":"database","syncPolicy":{"mode":"sometimes"},"status":"pending"}
@@ -0,0 +1 @@
1
+ {"id":"source-1","knowledgeBaseId":"base-1","name":"Runbooks","kind":"git","configRef":"secret://git","syncPolicy":{"mode":"manual"},"status":"pending","createdAt":"2026-07-14T00:00:00Z","updatedAt":"2026-07-14T00:00:00Z"}
@@ -0,0 +1,5 @@
1
+ {
2
+ "schemaVersion": "marketplace.opensoha.io/v1",
3
+ "generatedAt": "2026-06-28T00:00:00Z",
4
+ "plugins": []
5
+ }