@opensoha/contracts 0.1.22 → 0.1.24

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 (361) 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/permission-catalog.json +32 -1
  39. package/auth/token-claims.schema.json +5 -0
  40. package/compat/consumer-revisions.json +4 -3
  41. package/compat/json-schema-ecosystem-0.1.0.json +1 -1
  42. package/compat/openapi-loose-boundaries-0.1.0.json +1 -1
  43. package/connectors/connector-action.schema.json +138 -0
  44. package/fixtures/json-schema/connector-action/invalid/empty-values.json +11 -0
  45. package/fixtures/json-schema/connector-action/invalid/invalid-expiry.json +16 -0
  46. package/fixtures/json-schema/connector-action/invalid/lowercase-alias.json +16 -0
  47. package/fixtures/json-schema/connector-action/invalid/unknown-entry-field.json +17 -0
  48. package/fixtures/json-schema/connector-action/invalid/unknown-frame-field.json +17 -0
  49. package/fixtures/json-schema/connector-action/invalid/unknown-version.json +16 -0
  50. package/fixtures/json-schema/connector-action/invalid/unversioned-reference.json +16 -0
  51. package/fixtures/json-schema/connector-action/invalid/zero-version.json +16 -0
  52. package/fixtures/json-schema/connector-action/valid/pinned.json +16 -0
  53. package/fixtures/json-schema/connector-definition/invalid/credential-userinfo.json +8 -0
  54. package/fixtures/json-schema/connector-definition/invalid/reference-traversal.json +8 -0
  55. package/fixtures/json-schema/connector-definition/invalid/zero-version.json +8 -0
  56. package/fixtures/json-schema/connector-definition/valid/canonical.json +8 -0
  57. package/fixtures/json-schema/connector-definition/valid/pinned.json +8 -0
  58. package/fixtures/json-schema/personal-browser-network-request/invalid/bounded.json +4 -0
  59. package/fixtures/json-schema/personal-browser-network-request/valid/bounded.json +4 -0
  60. package/fixtures/json-schema/personal-browser-network-response/invalid/bounded.json +5 -0
  61. package/fixtures/json-schema/personal-browser-network-response/valid/bounded.json +5 -0
  62. package/fixtures/json-schema/personal-environment-export/invalid/extra.json +11 -0
  63. package/fixtures/json-schema/personal-environment-export/invalid/ownerId.json +10 -0
  64. package/fixtures/json-schema/personal-environment-export/invalid/sha256.json +10 -0
  65. package/fixtures/json-schema/personal-environment-export/invalid/sizeBytes.json +10 -0
  66. package/fixtures/json-schema/personal-environment-export/valid/complete.json +10 -0
  67. package/fixtures/json-schema/personal-environment-preflight-request/invalid/disk.json +11 -0
  68. package/fixtures/json-schema/personal-environment-preflight-request/invalid/network.json +11 -0
  69. package/fixtures/json-schema/personal-environment-preflight-request/invalid/node.json +12 -0
  70. package/fixtures/json-schema/personal-environment-preflight-request/invalid/owner.json +12 -0
  71. package/fixtures/json-schema/personal-environment-preflight-request/valid/bounded.json +11 -0
  72. package/fixtures/json-schema/personal-environment-preflight-result/invalid/disk.json +15 -0
  73. package/fixtures/json-schema/personal-environment-preflight-result/invalid/network.json +15 -0
  74. package/fixtures/json-schema/personal-environment-preflight-result/invalid/no-hard-quota.json +15 -0
  75. package/fixtures/json-schema/personal-environment-preflight-result/invalid/node.json +16 -0
  76. package/fixtures/json-schema/personal-environment-preflight-result/invalid/not-ready.json +15 -0
  77. package/fixtures/json-schema/personal-environment-preflight-result/invalid/owner.json +16 -0
  78. package/fixtures/json-schema/personal-environment-preflight-result/valid/bounded.json +15 -0
  79. package/fixtures/json-schema/personal-environment-request/invalid/delete-data-argv.json +24 -0
  80. package/fixtures/json-schema/personal-environment-request/invalid/delete-data-createData.json +22 -0
  81. package/fixtures/json-schema/personal-environment-request/invalid/delete-data-taskId.json +22 -0
  82. package/fixtures/json-schema/personal-environment-request/invalid/export-argv.json +22 -0
  83. package/fixtures/json-schema/personal-environment-request/invalid/export-createData.json +22 -0
  84. package/fixtures/json-schema/personal-environment-request/invalid/export-taskId.json +22 -0
  85. package/fixtures/json-schema/personal-environment-request/invalid/extra-command.json +24 -0
  86. package/fixtures/json-schema/personal-environment-request/invalid/host-workspace.json +22 -0
  87. package/fixtures/json-schema/personal-environment-request/invalid/image-injection.json +22 -0
  88. package/fixtures/json-schema/personal-environment-request/invalid/network-egress.json +21 -0
  89. package/fixtures/json-schema/personal-environment-request/invalid/no-command.json +21 -0
  90. package/fixtures/json-schema/personal-environment-request/invalid/recreate-on-release.json +22 -0
  91. package/fixtures/json-schema/personal-environment-request/invalid/relative-command.json +24 -0
  92. package/fixtures/json-schema/personal-environment-request/invalid/released-identity.json +22 -0
  93. package/fixtures/json-schema/personal-environment-request/invalid/task-empty.json +27 -0
  94. package/fixtures/json-schema/personal-environment-request/invalid/task-host-path.json +27 -0
  95. package/fixtures/json-schema/personal-environment-request/invalid/task-noncanonical.json +27 -0
  96. package/fixtures/json-schema/personal-environment-request/invalid/task-null.json +27 -0
  97. package/fixtures/json-schema/personal-environment-request/invalid/task-on-inspection.json +22 -0
  98. package/fixtures/json-schema/personal-environment-request/invalid/unbounded-quota.json +21 -0
  99. package/fixtures/json-schema/personal-environment-request/valid/acquire.json +21 -0
  100. package/fixtures/json-schema/personal-environment-request/valid/delete-data.json +21 -0
  101. package/fixtures/json-schema/personal-environment-request/valid/execute.json +26 -0
  102. package/fixtures/json-schema/personal-environment-request/valid/export-data.json +21 -0
  103. package/fixtures/json-schema/personal-environment-request/valid/inspect.json +21 -0
  104. package/fixtures/json-schema/personal-environment-request/valid/provision.json +22 -0
  105. package/fixtures/json-schema/personal-environment-request/valid/release.json +21 -0
  106. package/fixtures/json-schema/personal-environment-request/valid/task-workspace.json +27 -0
  107. package/fixtures/json-schema/personal-environment-result/invalid/active-without-observation.json +7 -0
  108. package/fixtures/json-schema/personal-environment-result/invalid/deleted-output.json +8 -0
  109. package/fixtures/json-schema/personal-environment-result/invalid/deleted-snapshot.json +8 -0
  110. package/fixtures/json-schema/personal-environment-result/invalid/deleted-taskId.json +8 -0
  111. package/fixtures/json-schema/personal-environment-result/invalid/private-handle.json +8 -0
  112. package/fixtures/json-schema/personal-environment-result/invalid/stopped-fake-observation.json +20 -0
  113. package/fixtures/json-schema/personal-environment-result/invalid/task-empty.json +22 -0
  114. package/fixtures/json-schema/personal-environment-result/invalid/task-host-path.json +22 -0
  115. package/fixtures/json-schema/personal-environment-result/invalid/task-null.json +22 -0
  116. package/fixtures/json-schema/personal-environment-result/invalid/task-on-stopped.json +8 -0
  117. package/fixtures/json-schema/personal-environment-result/invalid/task-without-command-output.json +21 -0
  118. package/fixtures/json-schema/personal-environment-result/valid/active.json +21 -0
  119. package/fixtures/json-schema/personal-environment-result/valid/deleted.json +7 -0
  120. package/fixtures/json-schema/personal-environment-result/valid/expired.json +7 -0
  121. package/fixtures/json-schema/personal-environment-result/valid/missing.json +7 -0
  122. package/fixtures/json-schema/personal-environment-result/valid/released.json +7 -0
  123. package/fixtures/json-schema/personal-environment-result/valid/task-workspace.json +22 -0
  124. package/fixtures/json-schema/personal-guest-binding/invalid/host-path.json +17 -0
  125. package/fixtures/json-schema/personal-guest-binding/invalid/invalid-policy.json +17 -0
  126. package/fixtures/json-schema/personal-guest-binding/invalid/invalid-serial.json +17 -0
  127. package/fixtures/json-schema/personal-guest-binding/invalid/legacy-version.json +17 -0
  128. package/fixtures/json-schema/personal-guest-binding/invalid/missing-generation.json +17 -0
  129. package/fixtures/json-schema/personal-guest-binding/invalid/missing-identity.json +16 -0
  130. package/fixtures/json-schema/personal-guest-binding/invalid/missing-provider-identity.json +16 -0
  131. package/fixtures/json-schema/personal-guest-binding/invalid/raw-provider-identity.json +17 -0
  132. package/fixtures/json-schema/personal-guest-binding/valid/minimal.json +17 -0
  133. package/fixtures/json-schema/personal-guest-data-plan/invalid/quota.json +1 -0
  134. package/fixtures/json-schema/personal-guest-data-plan/valid/basic.json +1 -0
  135. package/fixtures/json-schema/personal-guest-enrollment/invalid/capabilities.json +7 -0
  136. package/fixtures/json-schema/personal-guest-enrollment/invalid/legacy-version.json +4 -0
  137. package/fixtures/json-schema/personal-guest-enrollment/invalid/missing-identity.json +3 -0
  138. package/fixtures/json-schema/personal-guest-enrollment/invalid/ownerId.json +5 -0
  139. package/fixtures/json-schema/personal-guest-enrollment/invalid/token.json +5 -0
  140. package/fixtures/json-schema/personal-guest-enrollment/valid/minimal.json +4 -0
  141. package/fixtures/json-schema/personal-guest-heartbeat/invalid/argv.json +11 -0
  142. package/fixtures/json-schema/personal-guest-heartbeat/invalid/legacy-version.json +8 -0
  143. package/fixtures/json-schema/personal-guest-heartbeat/invalid/missing-identity.json +7 -0
  144. package/fixtures/json-schema/personal-guest-heartbeat/invalid/owner.json +9 -0
  145. package/fixtures/json-schema/personal-guest-heartbeat/invalid/self-ready.json +9 -0
  146. package/fixtures/json-schema/personal-guest-heartbeat/invalid/zero-sequence.json +8 -0
  147. package/fixtures/json-schema/personal-guest-heartbeat/valid/minimal.json +8 -0
  148. package/fixtures/json-schema/personal-guest-provisioning/invalid/network.json +1 -0
  149. package/fixtures/json-schema/personal-guest-provisioning/valid/basic.json +1 -0
  150. package/fixtures/json-schema/personal-guest-renewal/invalid/unknown.json +1 -0
  151. package/fixtures/json-schema/personal-guest-renewal/valid/basic.json +1 -0
  152. package/fixtures/json-schema/personal-guest-runtime/invalid/minimal.json +45 -0
  153. package/fixtures/json-schema/personal-guest-runtime/valid/minimal.json +45 -0
  154. package/fixtures/json-schema/personal-guest-runtime-result/invalid/minimal.json +28 -0
  155. package/fixtures/json-schema/personal-guest-runtime-result/valid/minimal.json +27 -0
  156. package/fixtures/json-schema/personal-guest-tools/invalid/minimal.json +31 -0
  157. package/fixtures/json-schema/personal-guest-tools/valid/minimal.json +30 -0
  158. package/fixtures/json-schema/source-import-policy/invalid/case-variant-scope.json +4 -0
  159. package/fixtures/json-schema/source-import-policy/invalid/case-variant-version.json +4 -0
  160. package/fixtures/json-schema/source-import-policy/invalid/duplicate-grant.json +4 -0
  161. package/fixtures/json-schema/source-import-policy/invalid/empty-id.json +4 -0
  162. package/fixtures/json-schema/source-import-policy/invalid/future-version.json +4 -0
  163. package/fixtures/json-schema/source-import-policy/invalid/unknown-field.json +4 -0
  164. package/fixtures/json-schema/source-import-policy/valid/deny-all.json +4 -0
  165. package/fixtures/json-schema/source-import-policy/valid/shared.json +4 -0
  166. package/fixtures/json-schema/token-claims/invalid/authz-negative.json +23 -0
  167. package/fixtures/json-schema/token-claims/invalid/authz-string.json +23 -0
  168. package/fixtures/json-schema/token-claims/invalid/authz-zero.json +23 -0
  169. package/fixtures/json-schema/token-claims/valid/versioned-session.json +23 -0
  170. package/fixtures/openapi/AgentRunEventListEnvelope/invalid/basic.json +8 -0
  171. package/fixtures/openapi/AgentRunEventListEnvelope/valid/basic.json +8 -0
  172. package/fixtures/openapi/AgentRunEventListEnvelope/valid/native.json +1 -0
  173. package/fixtures/openapi/AgentRunResumeRequest/invalid/basic.json +3 -0
  174. package/fixtures/openapi/AgentRunResumeRequest/valid/basic.json +3 -0
  175. package/fixtures/openapi/AgentSSHCommandRequest/invalid/task51.json +24 -0
  176. package/fixtures/openapi/AgentSSHCommandRequest/valid/task51.json +23 -0
  177. package/fixtures/openapi/AgentSSHCommandResult/invalid/task51.json +8 -0
  178. package/fixtures/openapi/AgentSSHCommandResult/valid/task51.json +7 -0
  179. package/fixtures/openapi/AgentSSHSessionRequest/invalid/task51.json +20 -0
  180. package/fixtures/openapi/AgentSSHSessionRequest/valid/task51.json +19 -0
  181. package/fixtures/openapi/CapabilityTaskInput/invalid/duplicate-scope.json +36 -0
  182. package/fixtures/openapi/CapabilityTaskInput/valid/scoped.json +32 -0
  183. package/fixtures/openapi/DockerQuickCreateHostInput/invalid/guest-access.json +7 -0
  184. package/fixtures/openapi/DockerQuickCreateHostInput/valid/guest-access.json +9 -0
  185. package/fixtures/openapi/KnowledgeSourceDocument/invalid/tombstone-with-content.json +1 -0
  186. package/fixtures/openapi/KnowledgeSourceDocument/valid/tombstone.json +1 -0
  187. package/fixtures/openapi/KubernetesResourceUpdatePlanRequest/invalid/missing-required.json +1 -0
  188. package/fixtures/openapi/KubernetesResourceYaml/invalid/missing-required.json +1 -0
  189. package/fixtures/openapi/ObservabilityDataSource/invalid/missing-required.json +1 -0
  190. package/fixtures/openapi/PersonalAgentAccess/invalid/invalid.json +1 -0
  191. package/fixtures/openapi/PersonalAgentAccess/valid/valid.json +1 -0
  192. package/fixtures/openapi/PersonalAgentAccessDecision/invalid/invalid.json +1 -0
  193. package/fixtures/openapi/PersonalAgentAccessDecision/valid/valid.json +1 -0
  194. package/fixtures/openapi/PersonalAssistantArtifactListEnvelope/invalid/owner.json +8 -0
  195. package/fixtures/openapi/PersonalAssistantArtifactListEnvelope/valid/side-chat.json +9 -0
  196. package/fixtures/openapi/PersonalAssistantAvatarRequest/invalid/motion.json +1 -0
  197. package/fixtures/openapi/PersonalAssistantAvatarRequest/invalid/owner.json +1 -0
  198. package/fixtures/openapi/PersonalAssistantAvatarRequest/invalid/remote.json +1 -0
  199. package/fixtures/openapi/PersonalAssistantAvatarRequest/invalid/svg.json +1 -0
  200. package/fixtures/openapi/PersonalAssistantAvatarRequest/valid/raster.json +1 -0
  201. package/fixtures/openapi/PersonalAssistantAvatarRequest/valid/reset.json +1 -0
  202. package/fixtures/openapi/PersonalAssistantUpdateRequest/invalid/empty.json +1 -0
  203. package/fixtures/openapi/PersonalAssistantUpdateRequest/invalid/owner.json +1 -0
  204. package/fixtures/openapi/PersonalAssistantUpdateRequest/valid/name.json +1 -0
  205. package/fixtures/openapi/PersonalDockerEnvironmentPolicy/invalid/host-url.json +12 -0
  206. package/fixtures/openapi/PersonalDockerEnvironmentPolicy/invalid/lifetime.json +11 -0
  207. package/fixtures/openapi/PersonalDockerEnvironmentPolicy/invalid/unknown-agent.json +11 -0
  208. package/fixtures/openapi/PersonalDockerEnvironmentPolicy/valid/basic.json +11 -0
  209. package/fixtures/openapi/PersonalEnvironment/invalid/invented-state.json +6 -0
  210. package/fixtures/openapi/PersonalEnvironment/invalid/missing-state.json +5 -0
  211. package/fixtures/openapi/PersonalEnvironment/invalid/negative-generation.json +7 -0
  212. package/fixtures/openapi/PersonalEnvironment/invalid/network.json +23 -0
  213. package/fixtures/openapi/PersonalEnvironment/invalid/private-node.json +24 -0
  214. package/fixtures/openapi/PersonalEnvironment/invalid/unsupported-backend.json +7 -0
  215. package/fixtures/openapi/PersonalEnvironment/valid/deleted.json +23 -0
  216. package/fixtures/openapi/PersonalEnvironment/valid/deleting.json +23 -0
  217. package/fixtures/openapi/PersonalEnvironment/valid/deletion_unknown.json +23 -0
  218. package/fixtures/openapi/PersonalEnvironment/valid/frozen-binding.json +13 -0
  219. package/fixtures/openapi/PersonalEnvironment/valid/ready.json +23 -0
  220. package/fixtures/openapi/PersonalEnvironment/valid/unknown.json +23 -0
  221. package/fixtures/openapi/PersonalEnvironment/valid/unprovisioned.json +6 -0
  222. package/fixtures/openapi/PersonalEnvironmentActionRequest/invalid/command.json +3 -0
  223. package/fixtures/openapi/PersonalEnvironmentActionRequest/invalid/node.json +4 -0
  224. package/fixtures/openapi/PersonalEnvironmentActionRequest/invalid/owner.json +4 -0
  225. package/fixtures/openapi/PersonalEnvironmentActionRequest/invalid/quota.json +10 -0
  226. package/fixtures/openapi/PersonalEnvironmentActionRequest/valid/reconcile.json +3 -0
  227. package/fixtures/openapi/PersonalEnvironmentActionRequest/valid/sleep.json +3 -0
  228. package/fixtures/openapi/PersonalEnvironmentActionRequest/valid/wake.json +4 -0
  229. package/fixtures/openapi/PersonalEnvironmentDataDeletionRequest/invalid/empty-name.json +5 -0
  230. package/fixtures/openapi/PersonalEnvironmentDataDeletionRequest/invalid/long-name.json +5 -0
  231. package/fixtures/openapi/PersonalEnvironmentDataDeletionRequest/invalid/missing-name.json +4 -0
  232. package/fixtures/openapi/PersonalEnvironmentDataDeletionRequest/invalid/owner.json +6 -0
  233. package/fixtures/openapi/PersonalEnvironmentDataDeletionRequest/invalid/stale-version.json +5 -0
  234. package/fixtures/openapi/PersonalEnvironmentDataDeletionRequest/valid/confirmed.json +5 -0
  235. package/fixtures/openapi/PersonalEnvironmentDataExportRequest/invalid/assistantId.json +4 -0
  236. package/fixtures/openapi/PersonalEnvironmentDataExportRequest/invalid/environmentVersion.json +4 -0
  237. package/fixtures/openapi/PersonalEnvironmentDataExportRequest/invalid/ownerId.json +5 -0
  238. package/fixtures/openapi/PersonalEnvironmentDataExportRequest/valid/current.json +4 -0
  239. package/fixtures/openapi/PersonalEnvironmentEnvelope/invalid/missing-data.json +1 -0
  240. package/fixtures/openapi/PersonalEnvironmentEnvelope/valid/state.json +8 -0
  241. package/fixtures/openapi/PersonalEnvironmentQuota/invalid/cpu.json +7 -0
  242. package/fixtures/openapi/PersonalEnvironmentQuota/invalid/disk.json +7 -0
  243. package/fixtures/openapi/PersonalEnvironmentQuota/invalid/network.json +7 -0
  244. package/fixtures/openapi/PersonalEnvironmentQuota/invalid/processes.json +7 -0
  245. package/fixtures/openapi/PersonalEnvironmentQuota/valid/basic.json +7 -0
  246. package/fixtures/openapi/PersonalEnvironmentTemplate/invalid/mode.json +13 -0
  247. package/fixtures/openapi/PersonalEnvironmentTemplate/invalid/network.json +13 -0
  248. package/fixtures/openapi/PersonalEnvironmentTemplate/invalid/node.json +14 -0
  249. package/fixtures/openapi/PersonalEnvironmentTemplate/valid/template.json +13 -0
  250. package/fixtures/openapi/PersonalEnvironmentTemplateListEnvelope/invalid/missing.json +1 -0
  251. package/fixtures/openapi/PersonalEnvironmentTemplateListEnvelope/invalid/unbounded.json +1317 -0
  252. package/fixtures/openapi/PersonalEnvironmentTemplateListEnvelope/valid/choices.json +17 -0
  253. package/fixtures/openapi/PersonalEnvironmentTemplateListEnvelope/valid/empty.json +3 -0
  254. package/fixtures/openapi/PersonalEnvironmentUsage/invalid/negative.json +6 -0
  255. package/fixtures/openapi/PersonalEnvironmentUsage/valid/usage.json +6 -0
  256. package/fixtures/openapi/PersonalFeedFeedback/invalid/owner.json +4 -0
  257. package/fixtures/openapi/PersonalFeedFeedback/valid/liked.json +3 -0
  258. package/fixtures/openapi/PersonalFeedItem/invalid/no-source.json +9 -0
  259. package/fixtures/openapi/PersonalFeedItem/valid/post.json +15 -0
  260. package/fixtures/openapi/PersonalFeedSettings/invalid/owner.json +6 -0
  261. package/fixtures/openapi/PersonalFeedSettings/valid/default.json +5 -0
  262. package/fixtures/openapi/PersonalGuestPreparationInput/invalid/foreign-owner.json +5 -0
  263. package/fixtures/openapi/PersonalGuestPreparationInput/invalid/unsafe-counter.json +4 -0
  264. package/fixtures/openapi/PersonalGuestPreparationInput/valid/ed25519-csr.json +4 -0
  265. package/fixtures/openapi/PersonalGuestRuntimeEnvelope/invalid/minimal.json +10 -0
  266. package/fixtures/openapi/PersonalGuestRuntimeEnvelope/valid/minimal.json +9 -0
  267. package/fixtures/openapi/PersonalGuestRuntimeInput/invalid/minimal.json +6 -0
  268. package/fixtures/openapi/PersonalGuestRuntimeInput/valid/minimal.json +8 -0
  269. package/fixtures/openapi/PersonalGuestToolsInput/invalid/minimal.json +5 -0
  270. package/fixtures/openapi/PersonalGuestToolsInput/valid/minimal.json +4 -0
  271. package/fixtures/openapi/PersonalVMEnvironmentPolicy/invalid/device.json +15 -0
  272. package/fixtures/openapi/PersonalVMEnvironmentPolicy/invalid/fractional-size.json +15 -0
  273. package/fixtures/openapi/PersonalVMEnvironmentPolicy/invalid/network.json +15 -0
  274. package/fixtures/openapi/PersonalVMEnvironmentPolicy/invalid/owner.json +15 -0
  275. package/fixtures/openapi/PersonalVMEnvironmentPolicy/invalid/provider.json +15 -0
  276. package/fixtures/openapi/PersonalVMEnvironmentPolicy/invalid/unknown.json +16 -0
  277. package/fixtures/openapi/PersonalVMEnvironmentPolicy/valid/pve.json +15 -0
  278. package/fixtures/openapi/PersonalWorkspaceRuntime/invalid/shared.json +3 -0
  279. package/fixtures/openapi/PersonalWorkspaceRuntime/valid/shared.json +4 -0
  280. package/fixtures/openapi/PersonalWorkspaceRuntimeEnvelope/invalid/shared.json +5 -0
  281. package/fixtures/openapi/PersonalWorkspaceRuntimeEnvelope/valid/shared.json +6 -0
  282. package/fixtures/openapi/SecretGenerateSSHKeyRequest/invalid/task51.json +6 -0
  283. package/fixtures/openapi/SecretGenerateSSHKeyRequest/valid/task51.json +12 -0
  284. package/fixtures/openapi/SecretReferenceUsage/invalid/version.json +6 -0
  285. package/fixtures/openapi/SecretReferenceUsage/valid/version.json +8 -0
  286. package/fixtures/openapi/VMSSHCredentialRedemptionInput/invalid/task51.json +7 -0
  287. package/fixtures/openapi/VMSSHCredentialRedemptionInput/valid/task51.json +6 -0
  288. package/fixtures/openapi/VirtualMachineAccessBindingInput/invalid/task51.json +10 -0
  289. package/fixtures/openapi/VirtualMachineAccessBindingInput/valid/task51.json +10 -0
  290. package/fixtures/openapi/VirtualMachineActionInput/invalid/capacity-not-boolean.json +1 -0
  291. package/fixtures/openapi/VirtualMachineActionInput/valid/new-data-with-admission.json +1 -0
  292. package/fixtures/openapi/VirtualMachineCreateInput/valid/cloud-image.json +12 -0
  293. package/fixtures/openapi/VirtualMachineDiskChange/invalid/serial-config-injection.json +1 -0
  294. package/fixtures/openapi/VirtualMachineDiskChange/invalid/serial-existing-disk.json +1 -0
  295. package/fixtures/openapi/VirtualMachineDiskChange/invalid/serial-too-long.json +1 -0
  296. package/fixtures/openapi/VirtualMachineDiskChange/valid/personal-data.json +1 -0
  297. package/fixtures/openapi/VirtualMachineGuestAccessInput/invalid/task51.json +4 -0
  298. package/fixtures/openapi/VirtualMachineGuestAccessInput/valid/task51.json +6 -0
  299. package/fixtures/openapi/VirtualMachineSSHCommand/invalid/task51.json +9 -0
  300. package/fixtures/openapi/VirtualMachineSSHCommand/valid/task51.json +8 -0
  301. package/fixtures/openapi/VirtualMachineSSHCommandInput/invalid/task51.json +5 -0
  302. package/fixtures/openapi/VirtualMachineSSHCommandInput/valid/task51.json +5 -0
  303. package/fixtures/openapi/VirtualMachineSSHFrame/invalid/encoding.json +5 -0
  304. package/fixtures/openapi/VirtualMachineSSHFrame/invalid/task51.json +4 -0
  305. package/fixtures/openapi/VirtualMachineSSHFrame/valid/binary.json +5 -0
  306. package/fixtures/openapi/VirtualMachineSSHFrame/valid/task51.json +5 -0
  307. package/fixtures/openapi/VirtualMachineSSHSessionInput/invalid/task51.json +4 -0
  308. package/fixtures/openapi/VirtualMachineSSHSessionInput/valid/task51.json +5 -0
  309. package/fixtures/openapi/VirtualizationCapacityPolicyInput/invalid/task51.json +12 -0
  310. package/fixtures/openapi/VirtualizationCapacityPolicyInput/valid/task51.json +13 -0
  311. package/fixtures/openapi/VirtualizationImageInput/invalid/cloud-image-config-type.json +6 -0
  312. package/fixtures/openapi/VirtualizationImageInput/valid/cloud-image.json +11 -0
  313. package/fixtures/openapi/WorkbenchAssistantTask/invalid/kind.json +1 -0
  314. package/fixtures/openapi/WorkbenchAssistantTask/invalid/owner.json +1 -0
  315. package/fixtures/openapi/WorkbenchAssistantTask/valid/generate.json +1 -0
  316. package/fixtures/openapi/WorkbenchAssistantTask/valid/undo.json +1 -0
  317. package/fixtures/openapi/WorkbenchContextSelection/invalid/remote-image.json +1 -0
  318. package/fixtures/openapi/WorkbenchContextSelection/invalid/too-many-images.json +1 -0
  319. package/fixtures/openapi/WorkbenchContextSelection/valid/chat-image.json +9 -0
  320. package/fixtures/openapi/WorkbenchContextUsage/invalid/fractional-capacity.json +1 -0
  321. package/fixtures/openapi/WorkbenchContextUsage/invalid/negative.json +1 -0
  322. package/fixtures/openapi/WorkbenchContextUsage/valid/reported.json +1 -0
  323. package/fixtures/openapi/WorkbenchContextUsage/valid/unknown.json +1 -0
  324. package/fixtures/openapi/WorkbenchMainSessionRequest/invalid/owner.json +1 -0
  325. package/fixtures/openapi/WorkbenchMainSessionRequest/invalid/provider.json +1 -0
  326. package/fixtures/openapi/WorkbenchMainSessionRequest/valid/empty.json +1 -0
  327. package/fixtures/openapi/WorkbenchMainSessionRequest/valid/provider.json +1 -0
  328. package/fixtures/openapi/WorkbenchMessageSearchPage/invalid/role.json +12 -0
  329. package/fixtures/openapi/WorkbenchMessageSearchPage/valid/page.json +12 -0
  330. package/fixtures/openapi/WorkbenchMessageWindow/invalid/missing.json +1 -0
  331. package/fixtures/openapi/WorkbenchMessageWindow/valid/empty.json +3 -0
  332. package/fixtures/openapi/WorkbenchModelOption/invalid/zero-capacity.json +1 -0
  333. package/fixtures/openapi/WorkbenchModelOption/valid/capacity.json +1 -0
  334. package/fixtures/openapi/WorkbenchModelOption/valid/unknown.json +1 -0
  335. package/fixtures/openapi/WorkbenchProfessionalCapabilityInput/invalid/basic.json +7 -0
  336. package/fixtures/openapi/WorkbenchProfessionalCapabilityInput/valid/basic.json +11 -0
  337. package/fixtures/openapi/WorkbenchProfessionalCapabilityInput/valid/selected-profile.json +23 -0
  338. package/fixtures/openapi/WorkbenchSendMessageStreamRequest/invalid/missing-required.json +1 -0
  339. package/fixtures/openapi/WorkbenchSendMessageStreamRequest/valid/mixed-professional-task.json +22 -0
  340. package/fixtures/openapi/WorkbenchTaskIntent/invalid/basic.json +5 -0
  341. package/fixtures/openapi/WorkbenchTaskIntent/invalid/oversized-capability-source.json +3 -0
  342. package/fixtures/openapi/WorkbenchTaskIntent/valid/basic.json +9 -0
  343. package/fixtures/openapi/WorkbenchTaskIntent/valid/independent-sources.json +17 -0
  344. package/gen/go/sohaapi/client.go +1 -1
  345. package/gen/go/sohaapi/personal_environment_test.go +25 -0
  346. package/gen/go/sohaapi/types.go +2679 -240
  347. package/gen/go/sohaapi/types_test.go +30 -30
  348. package/gen/go/sohaapi/vm_disk_test.go +21 -0
  349. package/gen/ts/sohaapi/index.ts +4150 -169
  350. package/go.mod +61 -49
  351. package/go.sum +202 -176
  352. package/knowledge/connector-definition.schema.json +6 -1
  353. package/knowledge/source-import-policy.schema.json +32 -0
  354. package/memory/memory-record.schema.json +1 -1
  355. package/openapi/soha-api.json +22230 -15693
  356. package/openapi/soha-api.yaml +2495 -12
  357. package/openapi/spec_generated.go +3 -3
  358. package/package.json +19 -3
  359. /package/fixtures/openapi/DeliveryExecutionHistoryPage/{invalid-kind.json → invalid/invalid-kind.json} +0 -0
  360. /package/fixtures/openapi/DeliveryExecutionHistoryPage/{valid-build.json → valid/valid-build.json} +0 -0
  361. /package/fixtures/openapi/DeliveryExecutionHistoryPage/{valid-empty.json → valid/valid-empty.json} +0 -0
@@ -0,0 +1,45 @@
1
+ {
2
+ "schemaVersion": "opensoha.dev/personal-guest-runtime/v1",
3
+ "operationId": "11111111-1111-4111-8111-111111111111",
4
+ "binding": {
5
+ "schemaVersion": "opensoha.dev/personal-guest-binding/v1",
6
+ "id": "00000000-0000-4000-8000-000000000001",
7
+ "version": 1,
8
+ "assistantId": "00000000-0000-4000-8000-000000000002",
9
+ "ownerId": "00000000-0000-4000-8000-000000000003",
10
+ "provider": "pve",
11
+ "computeRef": "00000000-0000-4000-8000-000000000004",
12
+ "computeGeneration": 1,
13
+ "dataRef": "00000000-0000-4000-8000-000000000005",
14
+ "dataDiskSerial": "soha49data01",
15
+ "dataDiskBytes": 8589934592,
16
+ "policyRevision": "sha256:aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
17
+ "issuedAt": "2026-10-11T10:00:00Z",
18
+ "expiresAt": "2026-10-11T11:00:00Z",
19
+ "providerIdentityHash": "sha256:cccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc"
20
+ },
21
+ "kind": "environment",
22
+ "request": {
23
+ "schemaVersion": "opensoha.dev/personal-environment-request/v1",
24
+ "action": "inspect",
25
+ "lease": {
26
+ "schemaVersion": "opensoha.dev/environment-lease/v1",
27
+ "id": "lease-personal-1",
28
+ "runId": "run-personal-1",
29
+ "ownerId": "00000000-0000-4000-8000-000000000002",
30
+ "scopeHash": "sha256:cccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc",
31
+ "mode": "observe-only",
32
+ "quota": {
33
+ "diskBytes": 33554432,
34
+ "memoryBytes": 67108864,
35
+ "cpuUnits": 250,
36
+ "maxProcesses": 16,
37
+ "networkEgress": false
38
+ },
39
+ "issuedAt": "2026-10-11T10:00:00Z",
40
+ "expiresAt": "2026-10-11T11:00:00Z"
41
+ }
42
+ },
43
+ "deadline": "2026-10-11T10:00:00Z",
44
+ "artifactSHA256": "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa"
45
+ }
@@ -0,0 +1,28 @@
1
+ {
2
+ "schemaVersion": "opensoha.dev/personal-guest-runtime-result/v1",
3
+ "operationId": "11111111-1111-4111-8111-111111111111",
4
+ "bindingId": "00000000-0000-4000-8000-000000000001",
5
+ "environment": {
6
+ "schemaVersion": "opensoha.dev/personal-environment-result/v1",
7
+ "leaseId": "lease-personal-1",
8
+ "runId": "run-personal-1",
9
+ "state": "active",
10
+ "observedAt": "2026-10-08T01:01:00Z",
11
+ "snapshot": {
12
+ "schemaVersion": "opensoha.dev/environment-snapshot/v1",
13
+ "leaseId": "lease-personal-1",
14
+ "runId": "run-personal-1",
15
+ "state": "active",
16
+ "resourceUsage": {
17
+ "diskBytes": 4096,
18
+ "memoryBytes": 1048576,
19
+ "cpuTimeNanos": 1000,
20
+ "processes": 2
21
+ },
22
+ "observedAt": "2026-10-08T01:01:00Z"
23
+ },
24
+ "output": "fixture task output",
25
+ "taskId": "00000000-0000-4000-8000-000000000048"
26
+ },
27
+ "hostPath": "/etc/shadow"
28
+ }
@@ -0,0 +1,27 @@
1
+ {
2
+ "schemaVersion": "opensoha.dev/personal-guest-runtime-result/v1",
3
+ "operationId": "11111111-1111-4111-8111-111111111111",
4
+ "bindingId": "00000000-0000-4000-8000-000000000001",
5
+ "environment": {
6
+ "schemaVersion": "opensoha.dev/personal-environment-result/v1",
7
+ "leaseId": "lease-personal-1",
8
+ "runId": "run-personal-1",
9
+ "state": "active",
10
+ "observedAt": "2026-10-08T01:01:00Z",
11
+ "snapshot": {
12
+ "schemaVersion": "opensoha.dev/environment-snapshot/v1",
13
+ "leaseId": "lease-personal-1",
14
+ "runId": "run-personal-1",
15
+ "state": "active",
16
+ "resourceUsage": {
17
+ "diskBytes": 4096,
18
+ "memoryBytes": 1048576,
19
+ "cpuTimeNanos": 1000,
20
+ "processes": 2
21
+ },
22
+ "observedAt": "2026-10-08T01:01:00Z"
23
+ },
24
+ "output": "fixture task output",
25
+ "taskId": "00000000-0000-4000-8000-000000000048"
26
+ }
27
+ }
@@ -0,0 +1,31 @@
1
+ {
2
+ "schemaVersion": "opensoha.dev/personal-guest-tools/v1",
3
+ "operationId": "11111111-1111-4111-8111-111111111111",
4
+ "binding": {
5
+ "schemaVersion": "opensoha.dev/personal-guest-binding/v1",
6
+ "id": "00000000-0000-4000-8000-000000000001",
7
+ "version": 1,
8
+ "assistantId": "00000000-0000-4000-8000-000000000002",
9
+ "ownerId": "00000000-0000-4000-8000-000000000003",
10
+ "provider": "pve",
11
+ "computeRef": "00000000-0000-4000-8000-000000000004",
12
+ "computeGeneration": 1,
13
+ "dataRef": "00000000-0000-4000-8000-000000000005",
14
+ "dataDiskSerial": "soha49data01",
15
+ "dataDiskBytes": 8589934592,
16
+ "policyRevision": "sha256:aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
17
+ "issuedAt": "2026-10-11T10:00:00Z",
18
+ "expiresAt": "2026-10-11T11:00:00Z",
19
+ "providerIdentityHash": "sha256:cccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc"
20
+ },
21
+ "artifactSHA256": "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
22
+ "diskQuotaBytes": 16777216,
23
+ "cpuQuotaMilli": 1000,
24
+ "memoryBytes": 2147483648,
25
+ "pidsLimit": 64,
26
+ "dockerImage": "docker.io/library/debian@sha256:bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb",
27
+ "bubblewrapVersion": "0.12.0-1~deb13u1",
28
+ "dockerVersion": "26.1.5+dfsg1-9+deb13u1",
29
+ "chromiumVersion": "154.0.8037.92-1~deb13u1",
30
+ "hostPath": "/etc/shadow"
31
+ }
@@ -0,0 +1,30 @@
1
+ {
2
+ "schemaVersion": "opensoha.dev/personal-guest-tools/v1",
3
+ "operationId": "11111111-1111-4111-8111-111111111111",
4
+ "binding": {
5
+ "schemaVersion": "opensoha.dev/personal-guest-binding/v1",
6
+ "id": "00000000-0000-4000-8000-000000000001",
7
+ "version": 1,
8
+ "assistantId": "00000000-0000-4000-8000-000000000002",
9
+ "ownerId": "00000000-0000-4000-8000-000000000003",
10
+ "provider": "pve",
11
+ "computeRef": "00000000-0000-4000-8000-000000000004",
12
+ "computeGeneration": 1,
13
+ "dataRef": "00000000-0000-4000-8000-000000000005",
14
+ "dataDiskSerial": "soha49data01",
15
+ "dataDiskBytes": 8589934592,
16
+ "policyRevision": "sha256:aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
17
+ "issuedAt": "2026-10-11T10:00:00Z",
18
+ "expiresAt": "2026-10-11T11:00:00Z",
19
+ "providerIdentityHash": "sha256:cccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc"
20
+ },
21
+ "artifactSHA256": "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
22
+ "diskQuotaBytes": 16777216,
23
+ "cpuQuotaMilli": 1000,
24
+ "memoryBytes": 2147483648,
25
+ "pidsLimit": 64,
26
+ "dockerImage": "docker.io/library/debian@sha256:bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb",
27
+ "bubblewrapVersion": "0.12.0-1~deb13u1",
28
+ "dockerVersion": "26.1.5+dfsg1-9+deb13u1",
29
+ "chromiumVersion": "154.0.8037.92-1~deb13u1"
30
+ }
@@ -0,0 +1,4 @@
1
+ {
2
+ "schemaVersion": "opensoha.dev/knowledge-source-import-policy/v1",
3
+ "scope": { "Visibility": "public" }
4
+ }
@@ -0,0 +1,4 @@
1
+ {
2
+ "SchemaVersion": "opensoha.dev/knowledge-source-import-policy/v1",
3
+ "scope": { "visibility": "public" }
4
+ }
@@ -0,0 +1,4 @@
1
+ {
2
+ "schemaVersion": "opensoha.dev/knowledge-source-import-policy/v1",
3
+ "scope": { "visibility": "scoped", "users": ["reader", "reader"] }
4
+ }
@@ -0,0 +1,4 @@
1
+ {
2
+ "schemaVersion": "opensoha.dev/knowledge-source-import-policy/v1",
3
+ "scope": { "visibility": "private", "users": [""] }
4
+ }
@@ -0,0 +1,4 @@
1
+ {
2
+ "schemaVersion": "opensoha.dev/knowledge-source-import-policy/v2",
3
+ "scope": { "visibility": "public" }
4
+ }
@@ -0,0 +1,4 @@
1
+ {
2
+ "schemaVersion": "opensoha.dev/knowledge-source-import-policy/v1",
3
+ "scope": { "visibility": "public", "ownerBypass": true }
4
+ }
@@ -0,0 +1,4 @@
1
+ {
2
+ "schemaVersion": "opensoha.dev/knowledge-source-import-policy/v1",
3
+ "scope": { "visibility": "private" }
4
+ }
@@ -0,0 +1,4 @@
1
+ {
2
+ "schemaVersion": "opensoha.dev/knowledge-source-import-policy/v1",
3
+ "scope": { "visibility": "scoped", "users": ["reader"], "roles": ["operators"], "teams": ["oncall"], "projects": ["project-1"] }
4
+ }
@@ -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": -1
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,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 @@
1
+ {"userId": "owner", "status": "ready", "version": 1}
@@ -0,0 +1 @@
1
+ {"userId": "owner", "status": "pending", "version": 1}
@@ -0,0 +1 @@
1
+ {"status": "approved", "version": 0}
@@ -0,0 +1 @@
1
+ {"status": "approved", "version": 1}
@@ -0,0 +1,8 @@
1
+ {
2
+ "data": [{
3
+ "id": "message:side-reply:0",
4
+ "createdBy": "another-user",
5
+ "createdAt": "2026-10-06T08:00:00Z",
6
+ "artifact": { "kind": "report", "runId": "report-1", "summary": "Saved report" }
7
+ }]
8
+ }
@@ -0,0 +1,9 @@
1
+ {
2
+ "data": [{
3
+ "id": "message:side-reply:0",
4
+ "sessionId": "side-chat",
5
+ "messageId": "side-reply",
6
+ "createdAt": "2026-10-06T08:00:00Z",
7
+ "artifact": { "kind": "report", "runId": "report-1", "summary": "Saved report" }
8
+ }]
9
+ }
@@ -0,0 +1 @@
1
+ {"avatarUrl":"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAQAAAC1HAwCAAAAC0lEQVR42mP8/x8AAwMCAO+XvlkAAAAASUVORK5CYII=","avatarMotion":"spin"}
@@ -0,0 +1 @@
1
+ {"avatarUrl":"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAQAAAC1HAwCAAAAC0lEQVR42mP8/x8AAwMCAO+XvlkAAAAASUVORK5CYII=","owner":"someone-else"}
@@ -0,0 +1 @@
1
+ {"avatarUrl":"https://example.com/avatar.png"}
@@ -0,0 +1 @@
1
+ {"avatarUrl":"data:image/svg+xml;base64,PHN2Zy8+"}
@@ -0,0 +1 @@
1
+ {"avatarUrl":"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAQAAAC1HAwCAAAAC0lEQVR42mP8/x8AAwMCAO+XvlkAAAAASUVORK5CYII=","avatarMotion":"auto"}
@@ -0,0 +1 @@
1
+ {"avatarUrl":"","avatarPosterUrl":"","avatarMotion":"off"}
@@ -0,0 +1 @@
1
+ {"name":"Soha","ownerId":"someone-else"}