@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.
Files changed (415) hide show
  1. package/COMPATIBILITY.md +95 -0
  2. package/README.md +24 -6
  3. package/agent/environment/README.md +55 -0
  4. package/agent/environment/export.go +139 -0
  5. package/agent/environment/export_test.go +62 -0
  6. package/agent/environment/preflight.go +62 -0
  7. package/agent/environment/preflight_test.go +41 -0
  8. package/agent/environment/protocol.go +221 -0
  9. package/agent/environment/protocol_test.go +81 -0
  10. package/agent/environment-lease.schema.json +2 -2
  11. package/agent/environment-template.schema.json +1 -1
  12. package/agent/guest/browser_network.go +77 -0
  13. package/agent/guest/data.go +62 -0
  14. package/agent/guest/protocol.go +235 -0
  15. package/agent/guest/protocol_test.go +142 -0
  16. package/agent/guest/renewal.go +56 -0
  17. package/agent/guest/renewal_test.go +53 -0
  18. package/agent/guest/runtime.go +315 -0
  19. package/agent/guest/runtime_json.go +75 -0
  20. package/agent/guest/runtime_test.go +110 -0
  21. package/agent/personal-browser-network-request.schema.json +40 -0
  22. package/agent/personal-browser-network-response.schema.json +44 -0
  23. package/agent/personal-environment-export.schema.json +55 -0
  24. package/agent/personal-environment-preflight-request.schema.json +52 -0
  25. package/agent/personal-environment-preflight-result.schema.json +69 -0
  26. package/agent/personal-environment-request.schema.json +137 -0
  27. package/agent/personal-environment-result.schema.json +101 -0
  28. package/agent/personal-guest-binding.schema.json +92 -0
  29. package/agent/personal-guest-data-plan.schema.json +32 -0
  30. package/agent/personal-guest-enrollment.schema.json +21 -0
  31. package/agent/personal-guest-heartbeat.schema.json +44 -0
  32. package/agent/personal-guest-provisioning.schema.json +71 -0
  33. package/agent/personal-guest-renewal.schema.json +33 -0
  34. package/agent/personal-guest-runtime-result.schema.json +164 -0
  35. package/agent/personal-guest-runtime.schema.json +304 -0
  36. package/agent/personal-guest-tools.schema.json +75 -0
  37. package/auth/catalog_generated.go +2 -2
  38. package/auth/gateway_permissions_test.go +48 -0
  39. package/auth/permission-catalog.json +331 -1
  40. package/auth/token-claims.schema.json +5 -0
  41. package/compat/consumer-revisions.json +3 -2
  42. package/compat/json-schema-ecosystem-0.1.0.json +1 -1
  43. package/compat/openapi-loose-boundaries-0.1.0.json +1 -1
  44. package/connectors/connector-action.schema.json +138 -0
  45. package/fixtures/json-schema/connector-action/invalid/empty-values.json +11 -0
  46. package/fixtures/json-schema/connector-action/invalid/invalid-expiry.json +16 -0
  47. package/fixtures/json-schema/connector-action/invalid/lowercase-alias.json +16 -0
  48. package/fixtures/json-schema/connector-action/invalid/unknown-entry-field.json +17 -0
  49. package/fixtures/json-schema/connector-action/invalid/unknown-frame-field.json +17 -0
  50. package/fixtures/json-schema/connector-action/invalid/unknown-version.json +16 -0
  51. package/fixtures/json-schema/connector-action/invalid/unversioned-reference.json +16 -0
  52. package/fixtures/json-schema/connector-action/invalid/zero-version.json +16 -0
  53. package/fixtures/json-schema/connector-action/valid/pinned.json +16 -0
  54. package/fixtures/json-schema/connector-definition/invalid/credential-userinfo.json +8 -0
  55. package/fixtures/json-schema/connector-definition/invalid/reference-traversal.json +8 -0
  56. package/fixtures/json-schema/connector-definition/invalid/zero-version.json +8 -0
  57. package/fixtures/json-schema/connector-definition/valid/canonical.json +8 -0
  58. package/fixtures/json-schema/connector-definition/valid/pinned.json +8 -0
  59. package/fixtures/json-schema/personal-browser-network-request/invalid/bounded.json +4 -0
  60. package/fixtures/json-schema/personal-browser-network-request/valid/bounded.json +4 -0
  61. package/fixtures/json-schema/personal-browser-network-response/invalid/bounded.json +5 -0
  62. package/fixtures/json-schema/personal-browser-network-response/valid/bounded.json +5 -0
  63. package/fixtures/json-schema/personal-environment-export/invalid/extra.json +11 -0
  64. package/fixtures/json-schema/personal-environment-export/invalid/ownerId.json +10 -0
  65. package/fixtures/json-schema/personal-environment-export/invalid/sha256.json +10 -0
  66. package/fixtures/json-schema/personal-environment-export/invalid/sizeBytes.json +10 -0
  67. package/fixtures/json-schema/personal-environment-export/valid/complete.json +10 -0
  68. package/fixtures/json-schema/personal-environment-preflight-request/invalid/disk.json +11 -0
  69. package/fixtures/json-schema/personal-environment-preflight-request/invalid/network.json +11 -0
  70. package/fixtures/json-schema/personal-environment-preflight-request/invalid/node.json +12 -0
  71. package/fixtures/json-schema/personal-environment-preflight-request/invalid/owner.json +12 -0
  72. package/fixtures/json-schema/personal-environment-preflight-request/valid/bounded.json +11 -0
  73. package/fixtures/json-schema/personal-environment-preflight-result/invalid/disk.json +15 -0
  74. package/fixtures/json-schema/personal-environment-preflight-result/invalid/network.json +15 -0
  75. package/fixtures/json-schema/personal-environment-preflight-result/invalid/no-hard-quota.json +15 -0
  76. package/fixtures/json-schema/personal-environment-preflight-result/invalid/node.json +16 -0
  77. package/fixtures/json-schema/personal-environment-preflight-result/invalid/not-ready.json +15 -0
  78. package/fixtures/json-schema/personal-environment-preflight-result/invalid/owner.json +16 -0
  79. package/fixtures/json-schema/personal-environment-preflight-result/valid/bounded.json +15 -0
  80. package/fixtures/json-schema/personal-environment-request/invalid/delete-data-argv.json +24 -0
  81. package/fixtures/json-schema/personal-environment-request/invalid/delete-data-createData.json +22 -0
  82. package/fixtures/json-schema/personal-environment-request/invalid/delete-data-taskId.json +22 -0
  83. package/fixtures/json-schema/personal-environment-request/invalid/export-argv.json +22 -0
  84. package/fixtures/json-schema/personal-environment-request/invalid/export-createData.json +22 -0
  85. package/fixtures/json-schema/personal-environment-request/invalid/export-taskId.json +22 -0
  86. package/fixtures/json-schema/personal-environment-request/invalid/extra-command.json +24 -0
  87. package/fixtures/json-schema/personal-environment-request/invalid/host-workspace.json +22 -0
  88. package/fixtures/json-schema/personal-environment-request/invalid/image-injection.json +22 -0
  89. package/fixtures/json-schema/personal-environment-request/invalid/network-egress.json +21 -0
  90. package/fixtures/json-schema/personal-environment-request/invalid/no-command.json +21 -0
  91. package/fixtures/json-schema/personal-environment-request/invalid/recreate-on-release.json +22 -0
  92. package/fixtures/json-schema/personal-environment-request/invalid/relative-command.json +24 -0
  93. package/fixtures/json-schema/personal-environment-request/invalid/released-identity.json +22 -0
  94. package/fixtures/json-schema/personal-environment-request/invalid/task-empty.json +27 -0
  95. package/fixtures/json-schema/personal-environment-request/invalid/task-host-path.json +27 -0
  96. package/fixtures/json-schema/personal-environment-request/invalid/task-noncanonical.json +27 -0
  97. package/fixtures/json-schema/personal-environment-request/invalid/task-null.json +27 -0
  98. package/fixtures/json-schema/personal-environment-request/invalid/task-on-inspection.json +22 -0
  99. package/fixtures/json-schema/personal-environment-request/invalid/unbounded-quota.json +21 -0
  100. package/fixtures/json-schema/personal-environment-request/valid/acquire.json +21 -0
  101. package/fixtures/json-schema/personal-environment-request/valid/delete-data.json +21 -0
  102. package/fixtures/json-schema/personal-environment-request/valid/execute.json +26 -0
  103. package/fixtures/json-schema/personal-environment-request/valid/export-data.json +21 -0
  104. package/fixtures/json-schema/personal-environment-request/valid/inspect.json +21 -0
  105. package/fixtures/json-schema/personal-environment-request/valid/provision.json +22 -0
  106. package/fixtures/json-schema/personal-environment-request/valid/release.json +21 -0
  107. package/fixtures/json-schema/personal-environment-request/valid/task-workspace.json +27 -0
  108. package/fixtures/json-schema/personal-environment-result/invalid/active-without-observation.json +7 -0
  109. package/fixtures/json-schema/personal-environment-result/invalid/deleted-output.json +8 -0
  110. package/fixtures/json-schema/personal-environment-result/invalid/deleted-snapshot.json +8 -0
  111. package/fixtures/json-schema/personal-environment-result/invalid/deleted-taskId.json +8 -0
  112. package/fixtures/json-schema/personal-environment-result/invalid/private-handle.json +8 -0
  113. package/fixtures/json-schema/personal-environment-result/invalid/stopped-fake-observation.json +20 -0
  114. package/fixtures/json-schema/personal-environment-result/invalid/task-empty.json +22 -0
  115. package/fixtures/json-schema/personal-environment-result/invalid/task-host-path.json +22 -0
  116. package/fixtures/json-schema/personal-environment-result/invalid/task-null.json +22 -0
  117. package/fixtures/json-schema/personal-environment-result/invalid/task-on-stopped.json +8 -0
  118. package/fixtures/json-schema/personal-environment-result/invalid/task-without-command-output.json +21 -0
  119. package/fixtures/json-schema/personal-environment-result/valid/active.json +21 -0
  120. package/fixtures/json-schema/personal-environment-result/valid/deleted.json +7 -0
  121. package/fixtures/json-schema/personal-environment-result/valid/expired.json +7 -0
  122. package/fixtures/json-schema/personal-environment-result/valid/missing.json +7 -0
  123. package/fixtures/json-schema/personal-environment-result/valid/released.json +7 -0
  124. package/fixtures/json-schema/personal-environment-result/valid/task-workspace.json +22 -0
  125. package/fixtures/json-schema/personal-guest-binding/invalid/host-path.json +17 -0
  126. package/fixtures/json-schema/personal-guest-binding/invalid/invalid-policy.json +17 -0
  127. package/fixtures/json-schema/personal-guest-binding/invalid/invalid-serial.json +17 -0
  128. package/fixtures/json-schema/personal-guest-binding/invalid/legacy-version.json +17 -0
  129. package/fixtures/json-schema/personal-guest-binding/invalid/missing-generation.json +17 -0
  130. package/fixtures/json-schema/personal-guest-binding/invalid/missing-identity.json +16 -0
  131. package/fixtures/json-schema/personal-guest-binding/invalid/missing-provider-identity.json +16 -0
  132. package/fixtures/json-schema/personal-guest-binding/invalid/raw-provider-identity.json +17 -0
  133. package/fixtures/json-schema/personal-guest-binding/valid/minimal.json +17 -0
  134. package/fixtures/json-schema/personal-guest-data-plan/invalid/quota.json +1 -0
  135. package/fixtures/json-schema/personal-guest-data-plan/valid/basic.json +1 -0
  136. package/fixtures/json-schema/personal-guest-enrollment/invalid/capabilities.json +7 -0
  137. package/fixtures/json-schema/personal-guest-enrollment/invalid/legacy-version.json +4 -0
  138. package/fixtures/json-schema/personal-guest-enrollment/invalid/missing-identity.json +3 -0
  139. package/fixtures/json-schema/personal-guest-enrollment/invalid/ownerId.json +5 -0
  140. package/fixtures/json-schema/personal-guest-enrollment/invalid/token.json +5 -0
  141. package/fixtures/json-schema/personal-guest-enrollment/valid/minimal.json +4 -0
  142. package/fixtures/json-schema/personal-guest-heartbeat/invalid/argv.json +11 -0
  143. package/fixtures/json-schema/personal-guest-heartbeat/invalid/legacy-version.json +8 -0
  144. package/fixtures/json-schema/personal-guest-heartbeat/invalid/missing-identity.json +7 -0
  145. package/fixtures/json-schema/personal-guest-heartbeat/invalid/owner.json +9 -0
  146. package/fixtures/json-schema/personal-guest-heartbeat/invalid/self-ready.json +9 -0
  147. package/fixtures/json-schema/personal-guest-heartbeat/invalid/zero-sequence.json +8 -0
  148. package/fixtures/json-schema/personal-guest-heartbeat/valid/minimal.json +8 -0
  149. package/fixtures/json-schema/personal-guest-provisioning/invalid/network.json +1 -0
  150. package/fixtures/json-schema/personal-guest-provisioning/valid/basic.json +1 -0
  151. package/fixtures/json-schema/personal-guest-renewal/invalid/unknown.json +1 -0
  152. package/fixtures/json-schema/personal-guest-renewal/valid/basic.json +1 -0
  153. package/fixtures/json-schema/personal-guest-runtime/invalid/minimal.json +45 -0
  154. package/fixtures/json-schema/personal-guest-runtime/valid/minimal.json +45 -0
  155. package/fixtures/json-schema/personal-guest-runtime-result/invalid/minimal.json +28 -0
  156. package/fixtures/json-schema/personal-guest-runtime-result/valid/minimal.json +27 -0
  157. package/fixtures/json-schema/personal-guest-tools/invalid/minimal.json +31 -0
  158. package/fixtures/json-schema/personal-guest-tools/valid/minimal.json +30 -0
  159. package/fixtures/json-schema/source-import-policy/invalid/case-variant-scope.json +4 -0
  160. package/fixtures/json-schema/source-import-policy/invalid/case-variant-version.json +4 -0
  161. package/fixtures/json-schema/source-import-policy/invalid/duplicate-grant.json +4 -0
  162. package/fixtures/json-schema/source-import-policy/invalid/empty-id.json +4 -0
  163. package/fixtures/json-schema/source-import-policy/invalid/future-version.json +4 -0
  164. package/fixtures/json-schema/source-import-policy/invalid/unknown-field.json +4 -0
  165. package/fixtures/json-schema/source-import-policy/valid/deny-all.json +4 -0
  166. package/fixtures/json-schema/source-import-policy/valid/shared.json +4 -0
  167. package/fixtures/json-schema/token-claims/invalid/authz-negative.json +23 -0
  168. package/fixtures/json-schema/token-claims/invalid/authz-string.json +23 -0
  169. package/fixtures/json-schema/token-claims/invalid/authz-zero.json +23 -0
  170. package/fixtures/json-schema/token-claims/valid/versioned-session.json +23 -0
  171. package/fixtures/openapi/AgentRunEventListEnvelope/invalid/basic.json +8 -0
  172. package/fixtures/openapi/AgentRunEventListEnvelope/valid/basic.json +8 -0
  173. package/fixtures/openapi/AgentRunEventListEnvelope/valid/native.json +1 -0
  174. package/fixtures/openapi/AgentRunResumeRequest/invalid/basic.json +3 -0
  175. package/fixtures/openapi/AgentRunResumeRequest/valid/basic.json +3 -0
  176. package/fixtures/openapi/AgentSSHCommandRequest/invalid/task51.json +24 -0
  177. package/fixtures/openapi/AgentSSHCommandRequest/valid/task51.json +23 -0
  178. package/fixtures/openapi/AgentSSHCommandResult/invalid/task51.json +8 -0
  179. package/fixtures/openapi/AgentSSHCommandResult/valid/task51.json +7 -0
  180. package/fixtures/openapi/AgentSSHSessionRequest/invalid/task51.json +20 -0
  181. package/fixtures/openapi/AgentSSHSessionRequest/valid/task51.json +19 -0
  182. package/fixtures/openapi/CapabilityTaskInput/invalid/duplicate-scope.json +36 -0
  183. package/fixtures/openapi/CapabilityTaskInput/valid/scoped.json +32 -0
  184. package/fixtures/openapi/DockerQuickCreateHostInput/invalid/guest-access.json +7 -0
  185. package/fixtures/openapi/DockerQuickCreateHostInput/valid/guest-access.json +9 -0
  186. package/fixtures/openapi/KnowledgeSourceDocument/invalid/tombstone-with-content.json +1 -0
  187. package/fixtures/openapi/KnowledgeSourceDocument/valid/tombstone.json +1 -0
  188. package/fixtures/openapi/KubernetesAgentActionCheck/invalid/unproven-state.json +6 -0
  189. package/fixtures/openapi/KubernetesAgentActionCheck/valid/configured-denied.json +9 -0
  190. package/fixtures/openapi/KubernetesAgentActionProfile/invalid/wildcard.json +1 -0
  191. package/fixtures/openapi/KubernetesAgentActionProfile/valid/workbench.json +1 -0
  192. package/fixtures/openapi/KubernetesClusterRegistrationRequest/invalid/action-profile.json +3 -0
  193. package/fixtures/openapi/KubernetesClusterRegistrationRequest/valid/action-profile.json +5 -0
  194. package/fixtures/openapi/KubernetesNodeListEnvelope/invalid/condition-status-boolean.json +17 -0
  195. package/fixtures/openapi/KubernetesNodeListEnvelope/invalid/taint-effect-missing.json +16 -0
  196. package/fixtures/openapi/KubernetesNodeListEnvelope/valid/legacy-fields-absent.json +11 -0
  197. package/fixtures/openapi/KubernetesNodeListEnvelope/valid/no-taints.json +13 -0
  198. package/fixtures/openapi/KubernetesNodeListEnvelope/valid/ready-cordoned-tainted.json +28 -0
  199. package/fixtures/openapi/KubernetesNodeListEnvelope/valid/unknown-fields-null.json +13 -0
  200. package/fixtures/openapi/KubernetesResourceUpdatePlanRequest/invalid/missing-required.json +1 -0
  201. package/fixtures/openapi/KubernetesResourceYaml/invalid/missing-required.json +1 -0
  202. package/fixtures/openapi/KubernetesTopologyCoverage/invalid/empty-as-success.json +5 -0
  203. package/fixtures/openapi/KubernetesTopologyCoverage/valid/not-installed.json +6 -0
  204. package/fixtures/openapi/KubernetesTopologyGraphEdge/invalid/negative-weight.json +8 -0
  205. package/fixtures/openapi/KubernetesTopologyGraphEdge/valid/zero-weight.json +20 -0
  206. package/fixtures/openapi/KubernetesTopologyGraphNode/invalid/fake-flow-kind.json +42 -0
  207. package/fixtures/openapi/KubernetesTopologyGraphNode/valid/rule.json +42 -0
  208. package/fixtures/openapi/KubernetesTopologySnapshot/invalid/raw-source-field.json +33 -0
  209. package/fixtures/openapi/KubernetesTopologySnapshot/valid/projected-source.json +32 -0
  210. package/fixtures/openapi/KubernetesTopologySnapshotRequest/invalid/arbitrary-gvr.json +8 -0
  211. package/fixtures/openapi/KubernetesTopologySnapshotRequest/valid/bounded-sources.json +11 -0
  212. package/fixtures/openapi/KubernetesTopologySourceQuery/invalid/cluster-namespace.json +4 -0
  213. package/fixtures/openapi/KubernetesTopologySourceQuery/valid/all-namespaces.json +4 -0
  214. package/fixtures/openapi/ObservabilityDataSource/invalid/missing-required.json +1 -0
  215. package/fixtures/openapi/PersonalAgentAccess/invalid/invalid.json +1 -0
  216. package/fixtures/openapi/PersonalAgentAccess/valid/valid.json +1 -0
  217. package/fixtures/openapi/PersonalAgentAccessDecision/invalid/invalid.json +1 -0
  218. package/fixtures/openapi/PersonalAgentAccessDecision/valid/valid.json +1 -0
  219. package/fixtures/openapi/PersonalAssistantArtifactListEnvelope/invalid/owner.json +8 -0
  220. package/fixtures/openapi/PersonalAssistantArtifactListEnvelope/valid/side-chat.json +9 -0
  221. package/fixtures/openapi/PersonalAssistantAvatarRequest/invalid/motion.json +1 -0
  222. package/fixtures/openapi/PersonalAssistantAvatarRequest/invalid/owner.json +1 -0
  223. package/fixtures/openapi/PersonalAssistantAvatarRequest/invalid/remote.json +1 -0
  224. package/fixtures/openapi/PersonalAssistantAvatarRequest/invalid/svg.json +1 -0
  225. package/fixtures/openapi/PersonalAssistantAvatarRequest/valid/raster.json +1 -0
  226. package/fixtures/openapi/PersonalAssistantAvatarRequest/valid/reset.json +1 -0
  227. package/fixtures/openapi/PersonalAssistantUpdateRequest/invalid/empty.json +1 -0
  228. package/fixtures/openapi/PersonalAssistantUpdateRequest/invalid/owner.json +1 -0
  229. package/fixtures/openapi/PersonalAssistantUpdateRequest/valid/name.json +1 -0
  230. package/fixtures/openapi/PersonalDockerEnvironmentPolicy/invalid/host-url.json +12 -0
  231. package/fixtures/openapi/PersonalDockerEnvironmentPolicy/invalid/lifetime.json +11 -0
  232. package/fixtures/openapi/PersonalDockerEnvironmentPolicy/invalid/unknown-agent.json +11 -0
  233. package/fixtures/openapi/PersonalDockerEnvironmentPolicy/valid/basic.json +11 -0
  234. package/fixtures/openapi/PersonalEnvironment/invalid/invented-state.json +6 -0
  235. package/fixtures/openapi/PersonalEnvironment/invalid/missing-state.json +5 -0
  236. package/fixtures/openapi/PersonalEnvironment/invalid/negative-generation.json +7 -0
  237. package/fixtures/openapi/PersonalEnvironment/invalid/network.json +23 -0
  238. package/fixtures/openapi/PersonalEnvironment/invalid/private-node.json +24 -0
  239. package/fixtures/openapi/PersonalEnvironment/invalid/unsupported-backend.json +7 -0
  240. package/fixtures/openapi/PersonalEnvironment/valid/deleted.json +23 -0
  241. package/fixtures/openapi/PersonalEnvironment/valid/deleting.json +23 -0
  242. package/fixtures/openapi/PersonalEnvironment/valid/deletion_unknown.json +23 -0
  243. package/fixtures/openapi/PersonalEnvironment/valid/frozen-binding.json +13 -0
  244. package/fixtures/openapi/PersonalEnvironment/valid/ready.json +23 -0
  245. package/fixtures/openapi/PersonalEnvironment/valid/unknown.json +23 -0
  246. package/fixtures/openapi/PersonalEnvironment/valid/unprovisioned.json +6 -0
  247. package/fixtures/openapi/PersonalEnvironmentActionRequest/invalid/command.json +3 -0
  248. package/fixtures/openapi/PersonalEnvironmentActionRequest/invalid/node.json +4 -0
  249. package/fixtures/openapi/PersonalEnvironmentActionRequest/invalid/owner.json +4 -0
  250. package/fixtures/openapi/PersonalEnvironmentActionRequest/invalid/quota.json +10 -0
  251. package/fixtures/openapi/PersonalEnvironmentActionRequest/valid/reconcile.json +3 -0
  252. package/fixtures/openapi/PersonalEnvironmentActionRequest/valid/sleep.json +3 -0
  253. package/fixtures/openapi/PersonalEnvironmentActionRequest/valid/wake.json +4 -0
  254. package/fixtures/openapi/PersonalEnvironmentDataDeletionRequest/invalid/empty-name.json +5 -0
  255. package/fixtures/openapi/PersonalEnvironmentDataDeletionRequest/invalid/long-name.json +5 -0
  256. package/fixtures/openapi/PersonalEnvironmentDataDeletionRequest/invalid/missing-name.json +4 -0
  257. package/fixtures/openapi/PersonalEnvironmentDataDeletionRequest/invalid/owner.json +6 -0
  258. package/fixtures/openapi/PersonalEnvironmentDataDeletionRequest/invalid/stale-version.json +5 -0
  259. package/fixtures/openapi/PersonalEnvironmentDataDeletionRequest/valid/confirmed.json +5 -0
  260. package/fixtures/openapi/PersonalEnvironmentDataExportRequest/invalid/assistantId.json +4 -0
  261. package/fixtures/openapi/PersonalEnvironmentDataExportRequest/invalid/environmentVersion.json +4 -0
  262. package/fixtures/openapi/PersonalEnvironmentDataExportRequest/invalid/ownerId.json +5 -0
  263. package/fixtures/openapi/PersonalEnvironmentDataExportRequest/valid/current.json +4 -0
  264. package/fixtures/openapi/PersonalEnvironmentEnvelope/invalid/missing-data.json +1 -0
  265. package/fixtures/openapi/PersonalEnvironmentEnvelope/valid/state.json +8 -0
  266. package/fixtures/openapi/PersonalEnvironmentQuota/invalid/cpu.json +7 -0
  267. package/fixtures/openapi/PersonalEnvironmentQuota/invalid/disk.json +7 -0
  268. package/fixtures/openapi/PersonalEnvironmentQuota/invalid/network.json +7 -0
  269. package/fixtures/openapi/PersonalEnvironmentQuota/invalid/processes.json +7 -0
  270. package/fixtures/openapi/PersonalEnvironmentQuota/valid/basic.json +7 -0
  271. package/fixtures/openapi/PersonalEnvironmentTemplate/invalid/mode.json +13 -0
  272. package/fixtures/openapi/PersonalEnvironmentTemplate/invalid/network.json +13 -0
  273. package/fixtures/openapi/PersonalEnvironmentTemplate/invalid/node.json +14 -0
  274. package/fixtures/openapi/PersonalEnvironmentTemplate/valid/template.json +13 -0
  275. package/fixtures/openapi/PersonalEnvironmentTemplateListEnvelope/invalid/missing.json +1 -0
  276. package/fixtures/openapi/PersonalEnvironmentTemplateListEnvelope/invalid/unbounded.json +1317 -0
  277. package/fixtures/openapi/PersonalEnvironmentTemplateListEnvelope/valid/choices.json +17 -0
  278. package/fixtures/openapi/PersonalEnvironmentTemplateListEnvelope/valid/empty.json +3 -0
  279. package/fixtures/openapi/PersonalEnvironmentUsage/invalid/negative.json +6 -0
  280. package/fixtures/openapi/PersonalEnvironmentUsage/valid/usage.json +6 -0
  281. package/fixtures/openapi/PersonalFeedFeedback/invalid/owner.json +4 -0
  282. package/fixtures/openapi/PersonalFeedFeedback/valid/liked.json +3 -0
  283. package/fixtures/openapi/PersonalFeedItem/invalid/no-source.json +9 -0
  284. package/fixtures/openapi/PersonalFeedItem/valid/post.json +15 -0
  285. package/fixtures/openapi/PersonalFeedSettings/invalid/owner.json +6 -0
  286. package/fixtures/openapi/PersonalFeedSettings/valid/default.json +5 -0
  287. package/fixtures/openapi/PersonalGuestPreparationInput/invalid/foreign-owner.json +5 -0
  288. package/fixtures/openapi/PersonalGuestPreparationInput/invalid/unsafe-counter.json +4 -0
  289. package/fixtures/openapi/PersonalGuestPreparationInput/valid/ed25519-csr.json +4 -0
  290. package/fixtures/openapi/PersonalGuestRuntimeEnvelope/invalid/minimal.json +10 -0
  291. package/fixtures/openapi/PersonalGuestRuntimeEnvelope/valid/minimal.json +9 -0
  292. package/fixtures/openapi/PersonalGuestRuntimeInput/invalid/minimal.json +6 -0
  293. package/fixtures/openapi/PersonalGuestRuntimeInput/valid/minimal.json +8 -0
  294. package/fixtures/openapi/PersonalGuestToolsInput/invalid/minimal.json +5 -0
  295. package/fixtures/openapi/PersonalGuestToolsInput/valid/minimal.json +4 -0
  296. package/fixtures/openapi/PersonalVMEnvironmentPolicy/invalid/device.json +15 -0
  297. package/fixtures/openapi/PersonalVMEnvironmentPolicy/invalid/fractional-size.json +15 -0
  298. package/fixtures/openapi/PersonalVMEnvironmentPolicy/invalid/network.json +15 -0
  299. package/fixtures/openapi/PersonalVMEnvironmentPolicy/invalid/owner.json +15 -0
  300. package/fixtures/openapi/PersonalVMEnvironmentPolicy/invalid/provider.json +15 -0
  301. package/fixtures/openapi/PersonalVMEnvironmentPolicy/invalid/unknown.json +16 -0
  302. package/fixtures/openapi/PersonalVMEnvironmentPolicy/valid/pve.json +15 -0
  303. package/fixtures/openapi/PersonalWorkspaceRuntime/invalid/shared.json +3 -0
  304. package/fixtures/openapi/PersonalWorkspaceRuntime/valid/shared.json +4 -0
  305. package/fixtures/openapi/PersonalWorkspaceRuntimeEnvelope/invalid/shared.json +5 -0
  306. package/fixtures/openapi/PersonalWorkspaceRuntimeEnvelope/valid/shared.json +6 -0
  307. package/fixtures/openapi/ResourceMonitoringPanel/invalid/unknown-quality.json +7 -0
  308. package/fixtures/openapi/ResourceMonitoringPanel/valid/not-collected.json +7 -0
  309. package/fixtures/openapi/ResourceMonitoringPoint/invalid/string-zero.json +4 -0
  310. package/fixtures/openapi/ResourceMonitoringPoint/valid/missing.json +4 -0
  311. package/fixtures/openapi/ResourceMonitoringPoint/valid/zero.json +4 -0
  312. package/fixtures/openapi/ResourceMonitoringView/invalid/raw-query.json +12 -0
  313. package/fixtures/openapi/ResourceMonitoringView/valid/unconfigured.json +12 -0
  314. package/fixtures/openapi/SecretGenerateSSHKeyRequest/invalid/task51.json +6 -0
  315. package/fixtures/openapi/SecretGenerateSSHKeyRequest/valid/task51.json +12 -0
  316. package/fixtures/openapi/SecretReferenceUsage/invalid/version.json +6 -0
  317. package/fixtures/openapi/SecretReferenceUsage/valid/version.json +8 -0
  318. package/fixtures/openapi/VMSSHCredentialRedemptionInput/invalid/task51.json +7 -0
  319. package/fixtures/openapi/VMSSHCredentialRedemptionInput/valid/task51.json +6 -0
  320. package/fixtures/openapi/VirtualMachineAccessBindingInput/invalid/task51.json +10 -0
  321. package/fixtures/openapi/VirtualMachineAccessBindingInput/valid/task51.json +10 -0
  322. package/fixtures/openapi/VirtualMachineActionInput/invalid/capacity-not-boolean.json +1 -0
  323. package/fixtures/openapi/VirtualMachineActionInput/valid/new-data-with-admission.json +1 -0
  324. package/fixtures/openapi/VirtualMachineCreateInput/valid/cloud-image.json +12 -0
  325. package/fixtures/openapi/VirtualMachineDiskChange/invalid/serial-config-injection.json +1 -0
  326. package/fixtures/openapi/VirtualMachineDiskChange/invalid/serial-existing-disk.json +1 -0
  327. package/fixtures/openapi/VirtualMachineDiskChange/invalid/serial-too-long.json +1 -0
  328. package/fixtures/openapi/VirtualMachineDiskChange/valid/personal-data.json +1 -0
  329. package/fixtures/openapi/VirtualMachineGuestAccessInput/invalid/task51.json +4 -0
  330. package/fixtures/openapi/VirtualMachineGuestAccessInput/valid/task51.json +6 -0
  331. package/fixtures/openapi/VirtualMachineSSHCommand/invalid/task51.json +9 -0
  332. package/fixtures/openapi/VirtualMachineSSHCommand/valid/task51.json +8 -0
  333. package/fixtures/openapi/VirtualMachineSSHCommandInput/invalid/task51.json +5 -0
  334. package/fixtures/openapi/VirtualMachineSSHCommandInput/valid/task51.json +5 -0
  335. package/fixtures/openapi/VirtualMachineSSHFrame/invalid/encoding.json +5 -0
  336. package/fixtures/openapi/VirtualMachineSSHFrame/invalid/task51.json +4 -0
  337. package/fixtures/openapi/VirtualMachineSSHFrame/valid/binary.json +5 -0
  338. package/fixtures/openapi/VirtualMachineSSHFrame/valid/task51.json +5 -0
  339. package/fixtures/openapi/VirtualMachineSSHSessionInput/invalid/task51.json +4 -0
  340. package/fixtures/openapi/VirtualMachineSSHSessionInput/valid/task51.json +5 -0
  341. package/fixtures/openapi/VirtualizationCapacityPolicyInput/invalid/task51.json +12 -0
  342. package/fixtures/openapi/VirtualizationCapacityPolicyInput/valid/task51.json +13 -0
  343. package/fixtures/openapi/VirtualizationImageInput/invalid/cloud-image-config-type.json +6 -0
  344. package/fixtures/openapi/VirtualizationImageInput/valid/cloud-image.json +11 -0
  345. package/fixtures/openapi/WorkbenchAssistantTask/invalid/kind.json +1 -0
  346. package/fixtures/openapi/WorkbenchAssistantTask/invalid/owner.json +1 -0
  347. package/fixtures/openapi/WorkbenchAssistantTask/valid/generate.json +1 -0
  348. package/fixtures/openapi/WorkbenchAssistantTask/valid/undo.json +1 -0
  349. package/fixtures/openapi/WorkbenchContextSelection/invalid/remote-image.json +1 -0
  350. package/fixtures/openapi/WorkbenchContextSelection/invalid/too-many-images.json +1 -0
  351. package/fixtures/openapi/WorkbenchContextSelection/valid/chat-image.json +9 -0
  352. package/fixtures/openapi/WorkbenchContextUsage/invalid/fractional-capacity.json +1 -0
  353. package/fixtures/openapi/WorkbenchContextUsage/invalid/negative.json +1 -0
  354. package/fixtures/openapi/WorkbenchContextUsage/valid/reported.json +1 -0
  355. package/fixtures/openapi/WorkbenchContextUsage/valid/unknown.json +1 -0
  356. package/fixtures/openapi/WorkbenchMainSessionRequest/invalid/owner.json +1 -0
  357. package/fixtures/openapi/WorkbenchMainSessionRequest/invalid/provider.json +1 -0
  358. package/fixtures/openapi/WorkbenchMainSessionRequest/valid/empty.json +1 -0
  359. package/fixtures/openapi/WorkbenchMainSessionRequest/valid/provider.json +1 -0
  360. package/fixtures/openapi/WorkbenchMessageSearchPage/invalid/role.json +12 -0
  361. package/fixtures/openapi/WorkbenchMessageSearchPage/valid/page.json +12 -0
  362. package/fixtures/openapi/WorkbenchMessageWindow/invalid/missing.json +1 -0
  363. package/fixtures/openapi/WorkbenchMessageWindow/valid/empty.json +3 -0
  364. package/fixtures/openapi/WorkbenchModelOption/invalid/zero-capacity.json +1 -0
  365. package/fixtures/openapi/WorkbenchModelOption/valid/capacity.json +1 -0
  366. package/fixtures/openapi/WorkbenchModelOption/valid/unknown.json +1 -0
  367. package/fixtures/openapi/WorkbenchProfessionalCapabilityInput/invalid/basic.json +7 -0
  368. package/fixtures/openapi/WorkbenchProfessionalCapabilityInput/valid/basic.json +11 -0
  369. package/fixtures/openapi/WorkbenchProfessionalCapabilityInput/valid/selected-profile.json +23 -0
  370. package/fixtures/openapi/WorkbenchSendMessageStreamRequest/invalid/missing-required.json +1 -0
  371. package/fixtures/openapi/WorkbenchSendMessageStreamRequest/valid/mixed-professional-task.json +22 -0
  372. package/fixtures/openapi/WorkbenchTaskIntent/invalid/basic.json +5 -0
  373. package/fixtures/openapi/WorkbenchTaskIntent/invalid/oversized-capability-source.json +3 -0
  374. package/fixtures/openapi/WorkbenchTaskIntent/valid/basic.json +9 -0
  375. package/fixtures/openapi/WorkbenchTaskIntent/valid/independent-sources.json +17 -0
  376. package/gen/go/sohaapi/client.go +1 -1
  377. package/gen/go/sohaapi/kubernetes_monitoring_test.go +67 -0
  378. package/gen/go/sohaapi/personal_environment_test.go +25 -0
  379. package/gen/go/sohaapi/types.go +3460 -433
  380. package/gen/go/sohaapi/vm_disk_test.go +21 -0
  381. package/gen/ts/sohaapi/index.ts +5454 -1397
  382. package/go.mod +61 -49
  383. package/go.sum +202 -176
  384. package/knowledge/connector-definition.schema.json +6 -1
  385. package/knowledge/source-import-policy.schema.json +32 -0
  386. package/memory/memory-record.schema.json +1 -1
  387. package/openapi/soha-api.json +24199 -16810
  388. package/openapi/soha-api.yaml +2537 -14
  389. package/openapi/spec_generated.go +3 -3
  390. package/openapi/spec_test.go +34 -0
  391. package/package.json +19 -3
  392. package/resource/agent_access.go +12 -0
  393. package/resource/agent_profiles.go +62 -0
  394. package/resource/agent_profiles_test.go +36 -0
  395. package/resource/kubernetes_kinds.go +73 -0
  396. package/resource/kubernetes_kinds_test.go +38 -0
  397. package/resource/models.go +23 -14
  398. package/resource/network_topology.go +166 -0
  399. package/resource/network_topology_projection.go +208 -0
  400. package/resource/network_topology_projection_test.go +53 -0
  401. package/resource/network_topology_test.go +51 -0
  402. package/resource/network_topology_validation.go +29 -0
  403. package/resource/node_drain.go +34 -0
  404. package/resource/resource_monitoring.go +99 -0
  405. package/resource/runtime/network_topology.go +232 -0
  406. package/resource/runtime/network_topology_test.go +62 -0
  407. package/resource/runtime/node_drain.go +124 -0
  408. package/resource/runtime/node_drain_test.go +95 -0
  409. package/resource/runtime/resource_edit.go +128 -0
  410. package/resource/runtime/resource_edit_test.go +183 -0
  411. package/resource/runtime/resource_monitoring.go +243 -0
  412. package/resource/runtime/resource_monitoring_test.go +88 -0
  413. /package/fixtures/openapi/DeliveryExecutionHistoryPage/{invalid-kind.json → invalid/invalid-kind.json} +0 -0
  414. /package/fixtures/openapi/DeliveryExecutionHistoryPage/{valid-build.json → valid/valid-build.json} +0 -0
  415. /package/fixtures/openapi/DeliveryExecutionHistoryPage/{valid-empty.json → valid/valid-empty.json} +0 -0
@@ -0,0 +1,23 @@
1
+ {
2
+ "iss": "soha",
3
+ "sub": "user-1",
4
+ "aud": [
5
+ "soha-api"
6
+ ],
7
+ "exp": 1781006400,
8
+ "iat": 1781002800,
9
+ "tokenId": "session-access-1",
10
+ "tokenKind": "session",
11
+ "subjectType": "user",
12
+ "subjectId": "user-1",
13
+ "tenantId": "default",
14
+ "workspaceId": "default",
15
+ "permissionKeys": [
16
+ "ai.gateway.view"
17
+ ],
18
+ "scopes": [
19
+ "ai:read"
20
+ ],
21
+ "sessionId": "session-1",
22
+ "authzVersion": 0
23
+ }
@@ -0,0 +1,23 @@
1
+ {
2
+ "iss": "soha",
3
+ "sub": "user-1",
4
+ "aud": [
5
+ "soha-api"
6
+ ],
7
+ "exp": 1781006400,
8
+ "iat": 1781002800,
9
+ "tokenId": "session-access-1",
10
+ "tokenKind": "session",
11
+ "subjectType": "user",
12
+ "subjectId": "user-1",
13
+ "tenantId": "default",
14
+ "workspaceId": "default",
15
+ "permissionKeys": [
16
+ "ai.gateway.view"
17
+ ],
18
+ "scopes": [
19
+ "ai:read"
20
+ ],
21
+ "sessionId": "session-1",
22
+ "authzVersion": 2
23
+ }
@@ -0,0 +1,8 @@
1
+ {
2
+ "data": {
3
+ "items": [],
4
+ "nextSequence": -1,
5
+ "hasMore": false,
6
+ "resyncRequired": false
7
+ }
8
+ }
@@ -0,0 +1,8 @@
1
+ {
2
+ "data": {
3
+ "items": [],
4
+ "nextSequence": 0,
5
+ "hasMore": false,
6
+ "resyncRequired": false
7
+ }
8
+ }
@@ -0,0 +1 @@
1
+ {"data":{"items":[{"id":"event-1","sessionId":"session-1","runId":"agent-1","sequence":1,"createdAt":"2026-10-08T00:00:00Z","type":"agent.status","providerId":"internal","providerKind":"native","status":"queued"}],"nextSequence":1,"hasMore":false,"resyncRequired":false}}
@@ -0,0 +1,3 @@
1
+ {
2
+ "replayUnknownWrite": true
3
+ }
@@ -0,0 +1,3 @@
1
+ {
2
+ "input": "Use the previously selected test target."
3
+ }
@@ -0,0 +1,24 @@
1
+ {
2
+ "session": {
3
+ "sessionId": "session-one",
4
+ "agentId": "agent-one",
5
+ "executionClusterId": "cluster-one",
6
+ "address": "10.0.0.30",
7
+ "port": 22,
8
+ "username": "soha",
9
+ "trustedHostKey": "ssh-ed25519 test-fixture",
10
+ "credentialKind": "ssh_keypair",
11
+ "lease": {
12
+ "id": "lease-one",
13
+ "token": "test-lease-token-long",
14
+ "expiresAt": "2026-10-11T00:00:30Z"
15
+ },
16
+ "controlPlaneEndpoint": "https://control.example",
17
+ "expiresAt": "2026-10-11T00:30:00Z",
18
+ "cols": 80,
19
+ "rows": 24
20
+ },
21
+ "command": "printf marker",
22
+ "timeoutSeconds": 60,
23
+ "unrecognizedPrivateValue": "must reject"
24
+ }
@@ -0,0 +1,23 @@
1
+ {
2
+ "session": {
3
+ "sessionId": "session-one",
4
+ "agentId": "agent-one",
5
+ "executionClusterId": "cluster-one",
6
+ "address": "10.0.0.30",
7
+ "port": 22,
8
+ "username": "soha",
9
+ "trustedHostKey": "ssh-ed25519 test-fixture",
10
+ "credentialKind": "ssh_keypair",
11
+ "lease": {
12
+ "id": "lease-one",
13
+ "token": "test-lease-token-long",
14
+ "expiresAt": "2026-10-11T00:00:30Z"
15
+ },
16
+ "controlPlaneEndpoint": "https://control.example",
17
+ "expiresAt": "2026-10-11T00:30:00Z",
18
+ "cols": 80,
19
+ "rows": 24
20
+ },
21
+ "command": "printf marker",
22
+ "timeoutSeconds": 60
23
+ }
@@ -0,0 +1,8 @@
1
+ {
2
+ "sessionId": "session-one",
3
+ "agentId": "agent-one",
4
+ "commandDigest": "sha256:frozen",
5
+ "effect": "unknown",
6
+ "stopped": true,
7
+ "unrecognizedPrivateValue": "must reject"
8
+ }
@@ -0,0 +1,7 @@
1
+ {
2
+ "sessionId": "session-one",
3
+ "agentId": "agent-one",
4
+ "commandDigest": "sha256:frozen",
5
+ "effect": "unknown",
6
+ "stopped": true
7
+ }
@@ -0,0 +1,20 @@
1
+ {
2
+ "sessionId": "session-one",
3
+ "agentId": "agent-one",
4
+ "executionClusterId": "cluster-one",
5
+ "address": "10.0.0.30",
6
+ "port": 22,
7
+ "username": "soha",
8
+ "trustedHostKey": "ssh-ed25519 test-fixture",
9
+ "credentialKind": "ssh_keypair",
10
+ "lease": {
11
+ "id": "lease-one",
12
+ "token": "test-lease-token-long",
13
+ "expiresAt": "2026-10-11T00:00:30Z"
14
+ },
15
+ "controlPlaneEndpoint": "https://control.example",
16
+ "expiresAt": "2026-10-11T00:30:00Z",
17
+ "cols": 80,
18
+ "rows": 24,
19
+ "unrecognizedPrivateValue": "must reject"
20
+ }
@@ -0,0 +1,19 @@
1
+ {
2
+ "sessionId": "session-one",
3
+ "agentId": "agent-one",
4
+ "executionClusterId": "cluster-one",
5
+ "address": "10.0.0.30",
6
+ "port": 22,
7
+ "username": "soha",
8
+ "trustedHostKey": "ssh-ed25519 test-fixture",
9
+ "credentialKind": "ssh_keypair",
10
+ "lease": {
11
+ "id": "lease-one",
12
+ "token": "test-lease-token-long",
13
+ "expiresAt": "2026-10-11T00:00:30Z"
14
+ },
15
+ "controlPlaneEndpoint": "https://control.example",
16
+ "expiresAt": "2026-10-11T00:30:00Z",
17
+ "cols": 80,
18
+ "rows": 24
19
+ }
@@ -0,0 +1,36 @@
1
+ {
2
+ "idempotencyKey": "request-1",
3
+ "plan": {
4
+ "goal": "Inspect the existing operation",
5
+ "steps": [
6
+ {
7
+ "id": "read",
8
+ "call": {
9
+ "toolName": "docker.operations.get",
10
+ "capabilityVersion": "1",
11
+ "input": {
12
+ "operationId": "operation-1"
13
+ }
14
+ }
15
+ }
16
+ ],
17
+ "verificationSteps": [
18
+ "read"
19
+ ],
20
+ "timeoutSeconds": 300
21
+ },
22
+ "scopeConstraints": [
23
+ {
24
+ "dimension": "clusterId",
25
+ "value": "cluster-one"
26
+ },
27
+ {
28
+ "dimension": "namespace",
29
+ "value": "apps"
30
+ },
31
+ {
32
+ "dimension": "clusterId",
33
+ "value": "cluster-one"
34
+ }
35
+ ]
36
+ }
@@ -0,0 +1,32 @@
1
+ {
2
+ "idempotencyKey": "request-1",
3
+ "plan": {
4
+ "goal": "Inspect the existing operation",
5
+ "steps": [
6
+ {
7
+ "id": "read",
8
+ "call": {
9
+ "toolName": "docker.operations.get",
10
+ "capabilityVersion": "1",
11
+ "input": {
12
+ "operationId": "operation-1"
13
+ }
14
+ }
15
+ }
16
+ ],
17
+ "verificationSteps": [
18
+ "read"
19
+ ],
20
+ "timeoutSeconds": 300
21
+ },
22
+ "scopeConstraints": [
23
+ {
24
+ "dimension": "clusterId",
25
+ "value": "cluster-one"
26
+ },
27
+ {
28
+ "dimension": "namespace",
29
+ "value": "apps"
30
+ }
31
+ ]
32
+ }
@@ -0,0 +1,7 @@
1
+ {
2
+ "name": "credential-runtime",
3
+ "guestAccess": {
4
+ "username": "root",
5
+ "publicKeyRefs": []
6
+ }
7
+ }
@@ -0,0 +1,9 @@
1
+ {
2
+ "name": "credential-runtime",
3
+ "guestAccess": {
4
+ "username": "soha",
5
+ "publicKeyRefs": [
6
+ "soha://secrets/lab/versions/1"
7
+ ]
8
+ }
9
+ }
@@ -0,0 +1 @@
1
+ {"externalId":"runbook","title":"Runbook","content":"Retained content","deleted":true,"acl":{"visibility":"private","users":["owner"]}}
@@ -0,0 +1 @@
1
+ {"externalId":"runbook","title":"Runbook","content":"","deleted":true,"acl":{"visibility":"private","users":["owner"]}}
@@ -0,0 +1,6 @@
1
+ {
2
+ "action": "platform.nodes.drain",
3
+ "implementation": "supported",
4
+ "configured": "maybe",
5
+ "kubernetesRBAC": "allowed"
6
+ }
@@ -0,0 +1,9 @@
1
+ {
2
+ "action": "platform.nodes.drain",
3
+ "implementation": "supported",
4
+ "configured": "denied",
5
+ "kubernetesRBAC": "unknown",
6
+ "scope": "cluster",
7
+ "checkedAt": "2026-10-19T01:30:00Z",
8
+ "reasonCode": "self_subject_access_review"
9
+ }
@@ -0,0 +1,3 @@
1
+ {
2
+ "agentActionProfile": "all"
3
+ }
@@ -0,0 +1,5 @@
1
+ {
2
+ "name": "agent",
3
+ "connectionMode": "agent",
4
+ "agentActionProfile": "read-only"
5
+ }
@@ -0,0 +1,17 @@
1
+ {
2
+ "items": [
3
+ {
4
+ "name": "worker-a",
5
+ "status": "ready",
6
+ "unschedulable": true,
7
+ "podCount": 2,
8
+ "ageSeconds": 3600,
9
+ "conditions": [
10
+ {
11
+ "type": "Ready",
12
+ "status": true
13
+ }
14
+ ]
15
+ }
16
+ ]
17
+ }
@@ -0,0 +1,16 @@
1
+ {
2
+ "items": [
3
+ {
4
+ "name": "worker-a",
5
+ "status": "ready",
6
+ "unschedulable": true,
7
+ "podCount": 2,
8
+ "ageSeconds": 3600,
9
+ "taints": [
10
+ {
11
+ "key": "maintenance"
12
+ }
13
+ ]
14
+ }
15
+ ]
16
+ }
@@ -0,0 +1,11 @@
1
+ {
2
+ "items": [
3
+ {
4
+ "name": "worker-a",
5
+ "status": "ready",
6
+ "unschedulable": true,
7
+ "podCount": 2,
8
+ "ageSeconds": 3600
9
+ }
10
+ ]
11
+ }
@@ -0,0 +1,13 @@
1
+ {
2
+ "items": [
3
+ {
4
+ "name": "worker-a",
5
+ "status": "ready",
6
+ "unschedulable": false,
7
+ "podCount": 2,
8
+ "ageSeconds": 3600,
9
+ "taints": [],
10
+ "conditions": []
11
+ }
12
+ ]
13
+ }
@@ -0,0 +1,28 @@
1
+ {
2
+ "items": [
3
+ {
4
+ "name": "worker-a",
5
+ "status": "ready",
6
+ "unschedulable": true,
7
+ "podCount": 2,
8
+ "ageSeconds": 3600,
9
+ "taints": [
10
+ {
11
+ "key": "maintenance",
12
+ "value": "task113",
13
+ "effect": "NoSchedule"
14
+ }
15
+ ],
16
+ "conditions": [
17
+ {
18
+ "type": "Ready",
19
+ "status": "True"
20
+ },
21
+ {
22
+ "type": "DiskPressure",
23
+ "status": "True"
24
+ }
25
+ ]
26
+ }
27
+ ]
28
+ }
@@ -0,0 +1,13 @@
1
+ {
2
+ "items": [
3
+ {
4
+ "name": "worker-a",
5
+ "status": "ready",
6
+ "unschedulable": true,
7
+ "podCount": 2,
8
+ "ageSeconds": 3600,
9
+ "taints": null,
10
+ "conditions": null
11
+ }
12
+ ]
13
+ }
@@ -0,0 +1,5 @@
1
+ {
2
+ "provider": "apisix",
3
+ "sourceId": "apisix.apisixroutes",
4
+ "state": "empty"
5
+ }
@@ -0,0 +1,6 @@
1
+ {
2
+ "provider": "apisix",
3
+ "sourceId": "apisix.apisixroutes",
4
+ "state": "not_installed",
5
+ "reasonCode": "api_not_served"
6
+ }
@@ -0,0 +1,8 @@
1
+ {
2
+ "id": "edge-1",
3
+ "source": "a",
4
+ "target": "b",
5
+ "relation": "weights",
6
+ "resolutionState": "resolved",
7
+ "weight": -1
8
+ }
@@ -0,0 +1,20 @@
1
+ {
2
+ "id": "edge-1",
3
+ "source": "rule:route-uid:0",
4
+ "target": "service-1",
5
+ "relation": "weights",
6
+ "resolutionState": "resolved",
7
+ "port": "http",
8
+ "weight": 0,
9
+ "totalWeight": 100,
10
+ "sourceRef": {
11
+ "clusterId": "cluster-a",
12
+ "apiVersion": "traefik.io/v1alpha1",
13
+ "kind": "IngressRoute",
14
+ "name": "api",
15
+ "namespace": "team-a",
16
+ "scopeMode": "namespace",
17
+ "uid": "route-uid",
18
+ "resourceVersion": "7"
19
+ }
20
+ }
@@ -0,0 +1,42 @@
1
+ {
2
+ "id": "rule:route-uid:0",
3
+ "type": "live-traffic",
4
+ "label": "api /",
5
+ "provider": "traefik",
6
+ "protocol": "HTTP",
7
+ "resolutionState": "resolved",
8
+ "resource": {
9
+ "clusterId": "cluster-a",
10
+ "apiVersion": "traefik.io/v1alpha1",
11
+ "kind": "IngressRoute",
12
+ "name": "api",
13
+ "namespace": "team-a",
14
+ "scopeMode": "namespace",
15
+ "uid": "route-uid",
16
+ "resourceVersion": "7"
17
+ },
18
+ "rule": {
19
+ "index": 0,
20
+ "matchGroups": [
21
+ [
22
+ {
23
+ "type": "host",
24
+ "operator": "exact",
25
+ "value": "api.example.test"
26
+ },
27
+ {
28
+ "type": "path",
29
+ "operator": "prefix",
30
+ "value": "/"
31
+ }
32
+ ]
33
+ ],
34
+ "tlsMode": "terminate"
35
+ },
36
+ "properties": [
37
+ {
38
+ "name": "source",
39
+ "value": "configuration"
40
+ }
41
+ ]
42
+ }
@@ -0,0 +1,42 @@
1
+ {
2
+ "id": "rule:route-uid:0",
3
+ "type": "rule",
4
+ "label": "api /",
5
+ "provider": "traefik",
6
+ "protocol": "HTTP",
7
+ "resolutionState": "resolved",
8
+ "resource": {
9
+ "clusterId": "cluster-a",
10
+ "apiVersion": "traefik.io/v1alpha1",
11
+ "kind": "IngressRoute",
12
+ "name": "api",
13
+ "namespace": "team-a",
14
+ "scopeMode": "namespace",
15
+ "uid": "route-uid",
16
+ "resourceVersion": "7"
17
+ },
18
+ "rule": {
19
+ "index": 0,
20
+ "matchGroups": [
21
+ [
22
+ {
23
+ "type": "host",
24
+ "operator": "exact",
25
+ "value": "api.example.test"
26
+ },
27
+ {
28
+ "type": "path",
29
+ "operator": "prefix",
30
+ "value": "/"
31
+ }
32
+ ]
33
+ ],
34
+ "tlsMode": "terminate"
35
+ },
36
+ "properties": [
37
+ {
38
+ "name": "source",
39
+ "value": "configuration"
40
+ }
41
+ ]
42
+ }
@@ -0,0 +1,33 @@
1
+ {
2
+ "version": "v1",
3
+ "sources": [
4
+ {
5
+ "coverage": {
6
+ "provider": "traefik",
7
+ "sourceId": "traefik.ingressroutes",
8
+ "state": "available",
9
+ "namespace": "team-a",
10
+ "supportedKinds": [
11
+ "IngressRoute"
12
+ ],
13
+ "observedAt": "2026-10-19T02:00:00Z"
14
+ },
15
+ "objects": [
16
+ {
17
+ "resource": {
18
+ "clusterId": "cluster-a",
19
+ "apiVersion": "traefik.io/v1alpha1",
20
+ "kind": "IngressRoute",
21
+ "name": "api",
22
+ "namespace": "team-a",
23
+ "scopeMode": "namespace",
24
+ "uid": "route-uid",
25
+ "resourceVersion": "7"
26
+ },
27
+ "content": "{}",
28
+ "originalManifest": "secret configuration must not cross the snapshot contract"
29
+ }
30
+ ]
31
+ }
32
+ ]
33
+ }
@@ -0,0 +1,32 @@
1
+ {
2
+ "version": "v1",
3
+ "sources": [
4
+ {
5
+ "coverage": {
6
+ "provider": "traefik",
7
+ "sourceId": "traefik.ingressroutes",
8
+ "state": "available",
9
+ "namespace": "team-a",
10
+ "supportedKinds": [
11
+ "IngressRoute"
12
+ ],
13
+ "observedAt": "2026-10-19T02:00:00Z"
14
+ },
15
+ "objects": [
16
+ {
17
+ "resource": {
18
+ "clusterId": "cluster-a",
19
+ "apiVersion": "traefik.io/v1alpha1",
20
+ "kind": "IngressRoute",
21
+ "name": "api",
22
+ "namespace": "team-a",
23
+ "scopeMode": "namespace",
24
+ "uid": "route-uid",
25
+ "resourceVersion": "7"
26
+ },
27
+ "content": "{\"spec\": {\"routes\": [{\"match\": \"Host(`api.example.test`)\", \"services\": [{\"name\": \"api\", \"port\": 80}]}]}}"
28
+ }
29
+ ]
30
+ }
31
+ ]
32
+ }
@@ -0,0 +1,8 @@
1
+ {
2
+ "queries": [
3
+ {
4
+ "sourceId": "kubernetes.secrets",
5
+ "resource": "secrets"
6
+ }
7
+ ]
8
+ }
@@ -0,0 +1,11 @@
1
+ {
2
+ "queries": [
3
+ {
4
+ "sourceId": "traefik.ingressroutes",
5
+ "namespace": "team-a"
6
+ },
7
+ {
8
+ "sourceId": "kubernetes.ingressclasses"
9
+ }
10
+ ]
11
+ }