@openwop/spec-artifacts 2.0.0-rc.0

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 (229) hide show
  1. package/CORPUS-STAMP.json +234 -0
  2. package/LICENSE +201 -0
  3. package/README.md +7 -0
  4. package/api/.redocly.lint-ignore.yaml +22 -0
  5. package/api/asyncapi.yaml +834 -0
  6. package/api/grpc/openwop.proto +251 -0
  7. package/api/openapi.yaml +2693 -0
  8. package/api/redocly.yaml +23 -0
  9. package/api/seams-v2.yaml +680 -0
  10. package/api/v2/asyncapi.yaml +528 -0
  11. package/api/v2/openapi.yaml +3139 -0
  12. package/api/v2/redocly.yaml +16 -0
  13. package/package.json +10 -0
  14. package/schemas/README.md +144 -0
  15. package/schemas/a2a-task-state.schema.json +78 -0
  16. package/schemas/a2ui-surface-delta-frame.schema.json +48 -0
  17. package/schemas/agent-deployment-transition.schema.json +49 -0
  18. package/schemas/agent-deployment.schema.json +54 -0
  19. package/schemas/agent-eval-suite.schema.json +140 -0
  20. package/schemas/agent-inventory-response.schema.json +115 -0
  21. package/schemas/agent-manifest.schema.json +156 -0
  22. package/schemas/agent-org-chart.schema.json +82 -0
  23. package/schemas/agent-ref.schema.json +63 -0
  24. package/schemas/agent-roster-entry.schema.json +81 -0
  25. package/schemas/agent-roster-response.schema.json +21 -0
  26. package/schemas/ai-envelope.schema.json +134 -0
  27. package/schemas/annotation-create.schema.json +37 -0
  28. package/schemas/annotation.schema.json +56 -0
  29. package/schemas/artifact-type-pack-manifest.schema.json +244 -0
  30. package/schemas/audit-verify-result.schema.json +90 -0
  31. package/schemas/budget-policy.schema.json +18 -0
  32. package/schemas/capabilities.schema.json +4160 -0
  33. package/schemas/certification-bundle-v2.schema.json +118 -0
  34. package/schemas/channel-presence-payload.schema.json +41 -0
  35. package/schemas/channel-written-payload.schema.json +55 -0
  36. package/schemas/chat-card-pack-manifest.schema.json +253 -0
  37. package/schemas/compact-tool-descriptor.schema.json +51 -0
  38. package/schemas/compensation-policy.schema.json +64 -0
  39. package/schemas/conformance-certification-bundle.schema.json +86 -0
  40. package/schemas/connection-pack-manifest.schema.json +353 -0
  41. package/schemas/conversation-event.schema.json +168 -0
  42. package/schemas/conversation-turn.schema.json +117 -0
  43. package/schemas/core-conformance-mock-agent-config.schema.json +152 -0
  44. package/schemas/credential-provenance.schema.json +18 -0
  45. package/schemas/credential-reference.schema.json +21 -0
  46. package/schemas/debug-bundle.schema.json +196 -0
  47. package/schemas/dispatch-config.schema.json +112 -0
  48. package/schemas/envelopes/clarification.request.schema.json +52 -0
  49. package/schemas/envelopes/error.schema.json +30 -0
  50. package/schemas/envelopes/media.audio.schema.json +38 -0
  51. package/schemas/envelopes/media.file.schema.json +37 -0
  52. package/schemas/envelopes/media.image.schema.json +33 -0
  53. package/schemas/envelopes/schema.request.schema.json +26 -0
  54. package/schemas/envelopes/schema.response.schema.json +22 -0
  55. package/schemas/envelopes/ui.a2ui-surface.schema.json +154 -0
  56. package/schemas/error-envelope.schema.json +25 -0
  57. package/schemas/eval-summary.schema.json +92 -0
  58. package/schemas/export-bundle.schema.json +66 -0
  59. package/schemas/form-content-pack-manifest.schema.json +243 -0
  60. package/schemas/frontend-plugin-manifest.schema.json +109 -0
  61. package/schemas/goal.schema.json +104 -0
  62. package/schemas/heartbeat-evaluated.schema.json +14 -0
  63. package/schemas/heartbeat-state-changed.schema.json +14 -0
  64. package/schemas/localized-content-language-settings.schema.json +26 -0
  65. package/schemas/localized-content-page-response.schema.json +60 -0
  66. package/schemas/localized-content-page.schema.json +62 -0
  67. package/schemas/localized-content-section.schema.json +51 -0
  68. package/schemas/memory-entry.schema.json +36 -0
  69. package/schemas/memory-list-options.schema.json +37 -0
  70. package/schemas/node-pack-manifest.schema.json +654 -0
  71. package/schemas/orchestrator-decision.schema.json +90 -0
  72. package/schemas/org-chart-responsibility-view.schema.json +26 -0
  73. package/schemas/pack-lockfile.schema.json +108 -0
  74. package/schemas/prompt-kind.schema.json +8 -0
  75. package/schemas/prompt-pack-manifest.schema.json +117 -0
  76. package/schemas/prompt-ref.schema.json +40 -0
  77. package/schemas/prompt-template.schema.json +149 -0
  78. package/schemas/proposal.schema.json +84 -0
  79. package/schemas/registry-version-manifest.schema.json +208 -0
  80. package/schemas/residency.schema.json +16 -0
  81. package/schemas/run-ancestry-response.schema.json +54 -0
  82. package/schemas/run-diff-response.schema.json +64 -0
  83. package/schemas/run-event-payloads.schema.json +4452 -0
  84. package/schemas/run-event.schema.json +211 -0
  85. package/schemas/run-options.schema.json +80 -0
  86. package/schemas/run-orchestrator-decided-event.schema.json +20 -0
  87. package/schemas/run-snapshot.schema.json +148 -0
  88. package/schemas/security-advisory.schema.json +109 -0
  89. package/schemas/self-hosted-runner-dispatch-frame.schema.json +79 -0
  90. package/schemas/self-hosted-runner-registration.schema.json +53 -0
  91. package/schemas/self-hosted-runner-result-frame.schema.json +38 -0
  92. package/schemas/subject.schema.json +56 -0
  93. package/schemas/suspend-request.schema.json +207 -0
  94. package/schemas/tool-descriptor.schema.json +63 -0
  95. package/schemas/trigger-event.schema.json +222 -0
  96. package/schemas/trigger-subscription-registration.schema.json +67 -0
  97. package/schemas/trigger-subscription.schema.json +26 -0
  98. package/schemas/ui-plugin-message.schema.json +90 -0
  99. package/schemas/v2/a2a-task-state.schema.json +102 -0
  100. package/schemas/v2/a2ui-surface-delta-frame.schema.json +62 -0
  101. package/schemas/v2/agent-deployment-transition.schema.json +67 -0
  102. package/schemas/v2/agent-deployment.schema.json +68 -0
  103. package/schemas/v2/agent-eval-suite.schema.json +214 -0
  104. package/schemas/v2/agent-inventory-response.schema.json +172 -0
  105. package/schemas/v2/agent-manifest.schema.json +218 -0
  106. package/schemas/v2/agent-org-chart.schema.json +149 -0
  107. package/schemas/v2/agent-ref.schema.json +67 -0
  108. package/schemas/v2/agent-roster-entry.schema.json +104 -0
  109. package/schemas/v2/agent-roster-response.schema.json +27 -0
  110. package/schemas/v2/ai-envelope.schema.json +167 -0
  111. package/schemas/v2/annotation-create.schema.json +109 -0
  112. package/schemas/v2/annotation.schema.json +142 -0
  113. package/schemas/v2/artifact-type-pack-manifest.schema.json +245 -0
  114. package/schemas/v2/audit-verify-result.schema.json +110 -0
  115. package/schemas/v2/budget-policy.schema.json +61 -0
  116. package/schemas/v2/capabilities.schema.json +7644 -0
  117. package/schemas/v2/certification-bundle.schema.json +401 -0
  118. package/schemas/v2/channel-presence-payload.schema.json +60 -0
  119. package/schemas/v2/channel-written-payload.schema.json +64 -0
  120. package/schemas/v2/chat-card-pack-manifest.schema.json +254 -0
  121. package/schemas/v2/compact-tool-descriptor.schema.json +108 -0
  122. package/schemas/v2/compensation-policy.schema.json +91 -0
  123. package/schemas/v2/compensation-projection.schema.json +95 -0
  124. package/schemas/v2/configurable.schema.json +110 -0
  125. package/schemas/v2/connection-pack-manifest.schema.json +354 -0
  126. package/schemas/v2/conversation-event.schema.json +281 -0
  127. package/schemas/v2/conversation-turn.schema.json +165 -0
  128. package/schemas/v2/credential-provenance.schema.json +62 -0
  129. package/schemas/v2/credential-reference.schema.json +28 -0
  130. package/schemas/v2/debug-bundle.schema.json +312 -0
  131. package/schemas/v2/dispatch-config.schema.json +147 -0
  132. package/schemas/v2/effect-ledger-projection.schema.json +71 -0
  133. package/schemas/v2/effect-seam-manifest.schema.json +98 -0
  134. package/schemas/v2/envelopes/clarification.request.schema.json +59 -0
  135. package/schemas/v2/envelopes/error.schema.json +35 -0
  136. package/schemas/v2/envelopes/media.audio.schema.json +41 -0
  137. package/schemas/v2/envelopes/media.file.schema.json +40 -0
  138. package/schemas/v2/envelopes/media.image.schema.json +36 -0
  139. package/schemas/v2/envelopes/schema.request.schema.json +29 -0
  140. package/schemas/v2/envelopes/schema.response.schema.json +26 -0
  141. package/schemas/v2/envelopes/ui.a2ui-surface.schema.json +292 -0
  142. package/schemas/v2/error-envelope.schema.json +229 -0
  143. package/schemas/v2/eval-summary.schema.json +166 -0
  144. package/schemas/v2/export-bundle.schema.json +94 -0
  145. package/schemas/v2/form-content-pack-manifest.schema.json +241 -0
  146. package/schemas/v2/frontend-plugin-manifest.schema.json +152 -0
  147. package/schemas/v2/goal.schema.json +188 -0
  148. package/schemas/v2/heartbeat-evaluated.schema.json +34 -0
  149. package/schemas/v2/heartbeat-state-changed.schema.json +31 -0
  150. package/schemas/v2/ids.schema.json +31 -0
  151. package/schemas/v2/localized-content-language-settings.schema.json +34 -0
  152. package/schemas/v2/localized-content-page-response.schema.json +94 -0
  153. package/schemas/v2/localized-content-page.schema.json +87 -0
  154. package/schemas/v2/localized-content-section.schema.json +63 -0
  155. package/schemas/v2/memory-entry.schema.json +45 -0
  156. package/schemas/v2/memory-list-options.schema.json +41 -0
  157. package/schemas/v2/node-pack-manifest.schema.json +657 -0
  158. package/schemas/v2/orchestrator-decision.schema.json +120 -0
  159. package/schemas/v2/org-chart-responsibility-view.schema.json +36 -0
  160. package/schemas/v2/pack-lockfile.schema.json +139 -0
  161. package/schemas/v2/prompt-kind.schema.json +14 -0
  162. package/schemas/v2/prompt-pack-manifest.schema.json +118 -0
  163. package/schemas/v2/prompt-ref.schema.json +42 -0
  164. package/schemas/v2/prompt-template.schema.json +209 -0
  165. package/schemas/v2/proposal.schema.json +145 -0
  166. package/schemas/v2/registry-version-manifest.schema.json +292 -0
  167. package/schemas/v2/residency.schema.json +19 -0
  168. package/schemas/v2/run-ancestry-response.schema.json +68 -0
  169. package/schemas/v2/run-diff-response.schema.json +80 -0
  170. package/schemas/v2/run-event-payloads.schema.json +4588 -0
  171. package/schemas/v2/run-event.schema.json +324 -0
  172. package/schemas/v2/run-options.schema.json +90 -0
  173. package/schemas/v2/run-orchestrator-decided-event.schema.json +22 -0
  174. package/schemas/v2/run-snapshot.schema.json +207 -0
  175. package/schemas/v2/security-advisory.schema.json +138 -0
  176. package/schemas/v2/self-hosted-runner-dispatch-frame.schema.json +119 -0
  177. package/schemas/v2/self-hosted-runner-registration.schema.json +74 -0
  178. package/schemas/v2/self-hosted-runner-result-frame.schema.json +47 -0
  179. package/schemas/v2/subject-link.schema.json +69 -0
  180. package/schemas/v2/subject.schema.json +597 -0
  181. package/schemas/v2/suspend-request.schema.json +370 -0
  182. package/schemas/v2/tool-descriptor.schema.json +150 -0
  183. package/schemas/v2/trigger-event.schema.json +508 -0
  184. package/schemas/v2/trigger-subscription-registration.schema.json +99 -0
  185. package/schemas/v2/trigger-subscription.schema.json +79 -0
  186. package/schemas/v2/ui-plugin-message.schema.json +149 -0
  187. package/schemas/v2/workflow-chain-pack-manifest.schema.json +610 -0
  188. package/schemas/v2/workflow-definition.schema.json +864 -0
  189. package/schemas/v2/workload-identity.schema.json +115 -0
  190. package/schemas/v2/workspace-file-create.schema.json +23 -0
  191. package/schemas/v2/workspace-file.schema.json +45 -0
  192. package/schemas/workflow-chain-pack-manifest.schema.json +615 -0
  193. package/schemas/workflow-definition.schema.json +850 -0
  194. package/schemas/workload-identity.schema.json +79 -0
  195. package/schemas/workspace-file-create.schema.json +20 -0
  196. package/schemas/workspace-file.schema.json +39 -0
  197. package/spec/v1/alias-detectors.json +283 -0
  198. package/spec/v1/capability-declaration-classes.json +176 -0
  199. package/spec/v1/core-standard-manifest.json +423 -0
  200. package/spec/v1/deprecations.json +854 -0
  201. package/spec/v1/deprecations.schema.json +187 -0
  202. package/spec/v1/event-codemap.json +1089 -0
  203. package/spec/v1/event-codemap.schema.json +41 -0
  204. package/spec/v1/extensions.json +1273 -0
  205. package/spec/v1/gaps.json +14581 -0
  206. package/spec/v1/gaps.schema.json +55 -0
  207. package/spec/v1/migrations.json +1822 -0
  208. package/spec/v1/migrations.schema.json +44 -0
  209. package/spec/v1/operation-path-manifest.json +462 -0
  210. package/spec/v1/spec-gaps.json +4823 -0
  211. package/spec/v2/declaration.json +1862 -0
  212. package/spec/v2/declaration.schema.json +305 -0
  213. package/spec/v2/errors.json +837 -0
  214. package/spec/v2/event-codemap.json +1099 -0
  215. package/spec/v2/event-codemap.schema.json +114 -0
  216. package/spec/v2/ext/provider-idempotency/registry.json +6 -0
  217. package/spec/v2/facets/a2a.schema.json +51 -0
  218. package/spec/v2/facets/aiProviders.schema.json +56 -0
  219. package/spec/v2/facets/auth.schema.json +91 -0
  220. package/spec/v2/facets/heartbeat.schema.json +20 -0
  221. package/spec/v2/facets/interrupt.schema.json +29 -0
  222. package/spec/v2/facets/mcp.schema.json +81 -0
  223. package/spec/v2/facets/replay.schema.json +34 -0
  224. package/spec/v2/facets/sandbox.schema.json +31 -0
  225. package/spec/v2/facets/webhooks.schema.json +18 -0
  226. package/spec/v2/path-manifest.json +279 -0
  227. package/spec/v2/peer-dependency-aliases.json +165 -0
  228. package/spec/v2/profiles.json +45 -0
  229. package/spec/v2/release.json +6 -0
@@ -0,0 +1,251 @@
1
+ // openwop v1 — gRPC service definition (optional alternative to REST + SSE).
2
+ //
3
+ // Status: FINAL v1 (2026-05-12). Closes R3 in rest-endpoints.md
4
+ // §"Open spec gaps". Hosts that advertise `capabilities.grpc.supported:
5
+ // true` expose this service in addition to (NOT instead of) the
6
+ // REST + SSE surface. Per-method semantics are normatively defined by
7
+ // the corresponding REST operation in `api/openapi.yaml`; this file
8
+ // supplies the wire-shape only.
9
+ //
10
+ // Service-name canonical: openwop.v1.Engine (one service per major).
11
+ // Method names: PascalCase form of `api/openapi.yaml` operationIds.
12
+ // Error mapping: see `spec/v1/grpc-transport.md` §"Error mapping".
13
+ //
14
+ // Message shapes mirror the JSON Schemas — full shape definitions are
15
+ // abridged here for readability; reference impls SHOULD `import` each
16
+ // JSON Schema's corresponding `.proto` snippet from a paired
17
+ // `schemas/grpc/<name>.proto` once those land (deferred to v1.x). For
18
+ // the v1 reference, hosts MAY hand-roll the messages from the JSON
19
+ // Schema definitions; the wire surface is byte-equivalent across both
20
+ // projections.
21
+
22
+ syntax = "proto3";
23
+
24
+ package openwop.v1;
25
+
26
+ import "google/protobuf/empty.proto";
27
+ import "google/protobuf/struct.proto";
28
+ import "google/protobuf/timestamp.proto";
29
+
30
+ option go_package = "github.com/openwop/openwop/api/grpc/openwopv1";
31
+ option java_package = "dev.openwop.api.v1";
32
+ option csharp_namespace = "Openwop.V1";
33
+
34
+ // ─────────────────────────────────────────────────────────────────────
35
+ // Service — one per protocol major version.
36
+ // ─────────────────────────────────────────────────────────────────────
37
+ service Engine {
38
+ // Discovery — 1:1 with REST `GET /.well-known/openwop`.
39
+ // Unauthenticated.
40
+ rpc GetCapabilities(GetCapabilitiesRequest) returns (GetCapabilitiesResponse);
41
+
42
+ // Workflow + Run lifecycle.
43
+ rpc GetWorkflow(GetWorkflowRequest) returns (GetWorkflowResponse);
44
+ rpc CreateRun(CreateRunRequest) returns (CreateRunResponse);
45
+ rpc GetRun(GetRunRequest) returns (GetRunResponse);
46
+ rpc CancelRun(CancelRunRequest) returns (CancelRunResponse);
47
+ rpc BulkCancelRuns(BulkCancelRunsRequest) returns (BulkCancelRunsResponse);
48
+ rpc ForkRun(ForkRunRequest) returns (ForkRunResponse);
49
+ rpc PauseRun(PauseRunRequest) returns (PauseRunResponse);
50
+ rpc ResumeRun(ResumeRunRequest) returns (ResumeRunResponse);
51
+
52
+ // Events — server-streaming replaces SSE.
53
+ rpc StreamRunEvents(StreamRunEventsRequest) returns (stream RunEventEnvelope);
54
+
55
+ // HITL — interrupt resolution.
56
+ rpc ResolveInterruptByRun(ResolveInterruptByRunRequest) returns (ResolveInterruptResponse);
57
+ rpc ResolveInterruptByToken(ResolveInterruptByTokenRequest) returns (ResolveInterruptResponse);
58
+ rpc InspectInterruptByToken(InspectInterruptByTokenRequest) returns (InspectInterruptResponse);
59
+
60
+ // Artifacts + Webhooks + Audit verify.
61
+ rpc GetArtifact(GetArtifactRequest) returns (GetArtifactResponse);
62
+ rpc RegisterWebhook(RegisterWebhookRequest) returns (RegisterWebhookResponse);
63
+ rpc UnregisterWebhook(UnregisterWebhookRequest) returns (google.protobuf.Empty);
64
+ rpc VerifyAuditLog(VerifyAuditLogRequest) returns (VerifyAuditLogResponse);
65
+ }
66
+
67
+ // ─────────────────────────────────────────────────────────────────────
68
+ // Messages — abridged. Each message mirrors the corresponding REST
69
+ // request/response body; field shapes use Struct for sub-trees that
70
+ // don't yet have hand-rolled Protobuf representations. A future v1.x
71
+ // minor expands every Struct into its typed Protobuf message.
72
+ // ─────────────────────────────────────────────────────────────────────
73
+
74
+ message GetCapabilitiesRequest {}
75
+
76
+ message GetCapabilitiesResponse {
77
+ // Body matches schemas/capabilities.schema.json.
78
+ google.protobuf.Struct capabilities = 1;
79
+ }
80
+
81
+ message GetWorkflowRequest {
82
+ string workflow_id = 1;
83
+ }
84
+
85
+ message GetWorkflowResponse {
86
+ // Body matches schemas/workflow-definition.schema.json.
87
+ google.protobuf.Struct workflow = 1;
88
+ }
89
+
90
+ message CreateRunRequest {
91
+ string workflow_id = 1;
92
+ google.protobuf.Struct inputs = 2; // schemas/run-options.schema.json §inputs
93
+ google.protobuf.Struct configurable = 3; // schemas/run-options.schema.json §configurable
94
+ repeated string tags = 4;
95
+ google.protobuf.Struct metadata = 5;
96
+ string idempotency_key = 6; // Idempotency-Key, optional
97
+ }
98
+
99
+ message CreateRunResponse {
100
+ string run_id = 1;
101
+ string status = 2;
102
+ }
103
+
104
+ message GetRunRequest {
105
+ string run_id = 1;
106
+ }
107
+
108
+ message GetRunResponse {
109
+ // Body matches schemas/run-snapshot.schema.json.
110
+ google.protobuf.Struct snapshot = 1;
111
+ }
112
+
113
+ message CancelRunRequest {
114
+ string run_id = 1;
115
+ string reason = 2;
116
+ }
117
+
118
+ message CancelRunResponse {
119
+ string run_id = 1;
120
+ string status = 2;
121
+ }
122
+
123
+ message BulkCancelRunsRequest {
124
+ repeated string run_ids = 1;
125
+ string reason = 2;
126
+ }
127
+
128
+ message BulkCancelRunResult {
129
+ string run_id = 1;
130
+ bool ok = 2;
131
+ string status = 3; // "cancelled" / "cancelling" when ok=true
132
+ google.protobuf.Struct error = 4; // error-envelope.schema.json when ok=false
133
+ }
134
+
135
+ message BulkCancelRunsResponse {
136
+ repeated BulkCancelRunResult results = 1;
137
+ }
138
+
139
+ message ForkRunRequest {
140
+ string run_id = 1;
141
+ int64 from_seq = 2;
142
+ string mode = 3; // "replay" | "branch"
143
+ google.protobuf.Struct overlay = 4; // optional run-options overlay
144
+ }
145
+
146
+ message ForkRunResponse {
147
+ string forked_run_id = 1;
148
+ string status = 2;
149
+ }
150
+
151
+ message PauseRunRequest {
152
+ string run_id = 1;
153
+ string reason = 2;
154
+ string drain_policy = 3; // "immediate" | "drain-current-node"
155
+ }
156
+
157
+ message PauseRunResponse {
158
+ string run_id = 1;
159
+ string status = 2;
160
+ google.protobuf.Timestamp paused_at = 3;
161
+ }
162
+
163
+ message ResumeRunRequest {
164
+ string run_id = 1;
165
+ string reason = 2;
166
+ }
167
+
168
+ message ResumeRunResponse {
169
+ string run_id = 1;
170
+ string status = 2;
171
+ google.protobuf.Timestamp resumed_at = 3;
172
+ }
173
+
174
+ message StreamRunEventsRequest {
175
+ string run_id = 1;
176
+ int64 last_sequence = 2; // -1 = from start
177
+ repeated string stream_modes = 3; // subset of stream-modes.md
178
+ int32 buffer_ms = 4;
179
+ }
180
+
181
+ message RunEventEnvelope {
182
+ string event_id = 1;
183
+ int64 seq = 2;
184
+ string run_id = 3;
185
+ string type = 4;
186
+ string node_id = 5;
187
+ google.protobuf.Struct payload = 6; // run-event-payloads.schema.json §<type>
188
+ google.protobuf.Timestamp timestamp = 7;
189
+ string causation_id = 8; // optional, run-event.schema.json §causationId
190
+ }
191
+
192
+ message ResolveInterruptByRunRequest {
193
+ string run_id = 1;
194
+ string node_id = 2;
195
+ google.protobuf.Struct resume_value = 3; // shape per InterruptPayload.resumeSchema
196
+ }
197
+
198
+ message ResolveInterruptByTokenRequest {
199
+ string token = 1;
200
+ google.protobuf.Struct resume_value = 2;
201
+ }
202
+
203
+ message InspectInterruptByTokenRequest {
204
+ string token = 1;
205
+ }
206
+
207
+ message ResolveInterruptResponse {
208
+ string run_id = 1;
209
+ string node_id = 2;
210
+ string status = 3;
211
+ }
212
+
213
+ message InspectInterruptResponse {
214
+ // Body matches schemas/suspend-request.schema.json.
215
+ google.protobuf.Struct interrupt = 1;
216
+ }
217
+
218
+ message GetArtifactRequest {
219
+ string run_id = 1;
220
+ string artifact_id = 2;
221
+ }
222
+
223
+ message GetArtifactResponse {
224
+ string artifact_id = 1;
225
+ string content_type = 2;
226
+ bytes content = 3;
227
+ }
228
+
229
+ message RegisterWebhookRequest {
230
+ string url = 1;
231
+ repeated string event_types = 2;
232
+ string secret = 3; // operator-supplied HMAC secret
233
+ }
234
+
235
+ message RegisterWebhookResponse {
236
+ string webhook_id = 1;
237
+ }
238
+
239
+ message UnregisterWebhookRequest {
240
+ string webhook_id = 1;
241
+ }
242
+
243
+ message VerifyAuditLogRequest {
244
+ int64 from_seq = 1;
245
+ int64 to_seq = 2;
246
+ }
247
+
248
+ message VerifyAuditLogResponse {
249
+ // Body matches schemas/audit-verify-result.schema.json.
250
+ google.protobuf.Struct result = 1;
251
+ }