Skip to content

Commit 02f815d

Browse files
authored
Merge feature branch into main
Automated merge of feature branch into main
1 parent 1e08925 commit 02f815d

1 file changed

Lines changed: 128 additions & 61 deletions

File tree

api/openapi.yaml

Lines changed: 128 additions & 61 deletions
Original file line numberDiff line numberDiff line change
@@ -125,23 +125,15 @@ components:
125125
tool_calls:
126126
type: integer
127127

128-
Message:
128+
GraphScope:
129129
type: object
130130
properties:
131-
role:
131+
tenant_id:
132132
type: string
133-
enum: [user, assistant, tool]
134-
content:
133+
project_id:
134+
type: string
135+
repository_id:
135136
type: string
136-
tool_use: {}
137-
tool_results: {}
138-
139-
GraphScope:
140-
type: object
141-
properties:
142-
tenant_id: {type: string}
143-
project_id: {type: string}
144-
repository_id: {type: string}
145137

146138
GraphRef:
147139
type: object
@@ -150,91 +142,147 @@ components:
150142
kind:
151143
type: string
152144
enum: [system, knowledge, execution, policy, quality, operations]
153-
id: {type: string}
145+
id:
146+
type: string
147+
148+
GraphArtifactRef:
149+
type: object
150+
required: [uri]
151+
properties:
152+
uri:
153+
type: string
154+
digest:
155+
type: string
156+
media_type:
157+
type: string
154158

155159
GraphProvenance:
156160
type: object
157161
required: [producer]
158162
properties:
159-
producer: {type: string}
160-
version: {type: string}
161-
source_id: {type: string}
163+
producer:
164+
type: string
165+
version:
166+
type: string
167+
source_id:
168+
type: string
162169
evidence:
163170
type: array
164171
items:
165-
type: object
166-
required: [uri]
167-
properties:
168-
uri: {type: string}
169-
digest: {type: string}
170-
media_type: {type: string}
172+
$ref: "#/components/schemas/GraphArtifactRef"
171173

172174
GraphNode:
173175
type: object
174176
required: [id, kind, created_at, provenance]
175177
properties:
176-
id: {type: string}
178+
id:
179+
type: string
177180
kind:
178181
type: string
179182
enum: [system, knowledge, execution, policy, quality, operations]
180-
scope: {$ref: "#/components/schemas/GraphScope"}
181-
created_at: {type: string, format: date-time}
182-
effective_at: {type: string, format: date-time}
183-
provenance: {$ref: "#/components/schemas/GraphProvenance"}
183+
scope:
184+
$ref: "#/components/schemas/GraphScope"
185+
created_at:
186+
type: string
187+
format: date-time
188+
effective_at:
189+
type: string
190+
format: date-time
191+
provenance:
192+
$ref: "#/components/schemas/GraphProvenance"
184193
attributes:
185194
type: object
186-
additionalProperties: {type: string}
195+
additionalProperties:
196+
type: string
187197

188198
GraphEdge:
189199
type: object
190200
required: [id, kind, from, to, created_at, provenance]
191201
properties:
192-
id: {type: string}
202+
id:
203+
type: string
193204
kind:
194205
type: string
195206
enum: [contains, depends_on, references, produced, governed_by, validated_by]
196-
from: {$ref: "#/components/schemas/GraphRef"}
197-
to: {$ref: "#/components/schemas/GraphRef"}
198-
scope: {$ref: "#/components/schemas/GraphScope"}
199-
created_at: {type: string, format: date-time}
200-
effective_at: {type: string, format: date-time}
201-
provenance: {$ref: "#/components/schemas/GraphProvenance"}
207+
from:
208+
$ref: "#/components/schemas/GraphRef"
209+
to:
210+
$ref: "#/components/schemas/GraphRef"
211+
scope:
212+
$ref: "#/components/schemas/GraphScope"
213+
created_at:
214+
type: string
215+
format: date-time
216+
effective_at:
217+
type: string
218+
format: date-time
219+
provenance:
220+
$ref: "#/components/schemas/GraphProvenance"
202221
attributes:
203222
type: object
204-
additionalProperties: {type: string}
223+
additionalProperties:
224+
type: string
205225

206226
GraphEvent:
207227
type: object
208228
required: [id, type, subject, occurred_at, provenance]
209229
properties:
210-
id: {type: string}
230+
id:
231+
type: string
211232
type:
212233
type: string
213234
enum: [created, updated, transitioned, observed, deleted]
214-
subject: {$ref: "#/components/schemas/GraphRef"}
215-
scope: {$ref: "#/components/schemas/GraphScope"}
216-
occurred_at: {type: string, format: date-time}
217-
correlation_id: {type: string}
218-
causation_id: {type: string}
219-
idempotency_key: {type: string}
220-
provenance: {$ref: "#/components/schemas/GraphProvenance"}
235+
subject:
236+
$ref: "#/components/schemas/GraphRef"
237+
scope:
238+
$ref: "#/components/schemas/GraphScope"
239+
occurred_at:
240+
type: string
241+
format: date-time
242+
correlation_id:
243+
type: string
244+
causation_id:
245+
type: string
246+
idempotency_key:
247+
type: string
248+
provenance:
249+
$ref: "#/components/schemas/GraphProvenance"
221250

222251
ExecutionGraph:
223252
type: object
224253
required: [schema_version, generated_at, scope, nodes, edges, events]
225254
properties:
226-
schema_version: {type: string, enum: [hawk.graph/v1]}
227-
generated_at: {type: string, format: date-time}
228-
scope: {$ref: "#/components/schemas/GraphScope"}
255+
schema_version:
256+
type: string
257+
enum: [hawk.graph/v1]
258+
generated_at:
259+
type: string
260+
format: date-time
261+
scope:
262+
$ref: "#/components/schemas/GraphScope"
229263
nodes:
230264
type: array
231-
items: {$ref: "#/components/schemas/GraphNode"}
265+
items:
266+
$ref: "#/components/schemas/GraphNode"
232267
edges:
233268
type: array
234-
items: {$ref: "#/components/schemas/GraphEdge"}
269+
items:
270+
$ref: "#/components/schemas/GraphEdge"
235271
events:
236272
type: array
237-
items: {$ref: "#/components/schemas/GraphEvent"}
273+
items:
274+
$ref: "#/components/schemas/GraphEvent"
275+
276+
Message:
277+
type: object
278+
properties:
279+
role:
280+
type: string
281+
enum: [user, assistant, tool]
282+
content:
283+
type: string
284+
tool_use: {}
285+
tool_results: {}
238286

239287
PaginatedMessages:
240288
type: object
@@ -564,48 +612,67 @@ paths:
564612
get:
565613
tags: [graphs]
566614
summary: Project a persisted session as a portable execution graph
615+
description: |
616+
Returns Hawk's privacy-safe, read-only `hawk.graph/v1` projection.
617+
Prompt text, tool arguments, tool output, and verification details are
618+
excluded. Explicit Trace checkpoint IDs are additive to authoritative
619+
Trace session correlation performed by Hawk.
567620
parameters:
568621
- name: id
569622
in: path
570623
required: true
571-
schema: {type: string, maxLength: 128, pattern: '^[A-Za-z0-9._-]+$'}
624+
schema:
625+
type: string
626+
maxLength: 128
627+
pattern: '^[A-Za-z0-9._-]+$'
572628
- name: repository
573629
in: query
574-
schema: {type: string, maxLength: 256}
630+
description: Optional repository scope override.
631+
schema:
632+
type: string
633+
maxLength: 256
575634
- name: trace_checkpoint
576635
in: query
636+
description: Optional 12-character lowercase hexadecimal Trace checkpoint ID. May be repeated up to 64 times.
577637
schema:
578638
type: array
579639
maxItems: 64
580-
items: {type: string, pattern: '^[0-9a-f]{12}$'}
640+
items:
641+
type: string
642+
pattern: '^[0-9a-f]{12}$'
581643
style: form
582644
explode: true
583645
responses:
584646
"200":
585647
description: Portable execution graph
586648
content:
587649
application/json:
588-
schema: {$ref: "#/components/schemas/ExecutionGraph"}
650+
schema:
651+
$ref: "#/components/schemas/ExecutionGraph"
589652
"400":
590-
description: Invalid graph request
653+
description: Invalid session, repository, or checkpoint input
591654
content:
592655
application/json:
593-
schema: {$ref: "#/components/schemas/Error"}
656+
schema:
657+
$ref: "#/components/schemas/Error"
594658
"401":
595659
description: Unauthorized
596660
content:
597661
application/json:
598-
schema: {$ref: "#/components/schemas/Error"}
662+
schema:
663+
$ref: "#/components/schemas/Error"
599664
"404":
600665
description: Session not found
601666
content:
602667
application/json:
603-
schema: {$ref: "#/components/schemas/Error"}
668+
schema:
669+
$ref: "#/components/schemas/Error"
604670
"503":
605-
description: Graph projection unavailable
671+
description: Graph projection is not configured
606672
content:
607673
application/json:
608-
schema: {$ref: "#/components/schemas/Error"}
674+
schema:
675+
$ref: "#/components/schemas/Error"
609676

610677
/v1/stats:
611678
get:

0 commit comments

Comments
 (0)