Skip to content

Commit e133c6d

Browse files
hey-augustclaude
andcommitted
Merge main into Devon/live_methods-update
Resolved conflicts in live_transcribe, live_translate specs and docs. See PR for conflict resolution details. 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2 parents 81db7ee + 20c770d commit e133c6d

File tree

65 files changed

+1862
-991
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

65 files changed

+1862
-991
lines changed

specs/signalwire-rest/voice-api/_spec_.yaml

Lines changed: 61 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -282,3 +282,64 @@ paths:
282282
created_at:
283283
type: string
284284
format: date-time
285+
/logs/{id}/events:
286+
get:
287+
operationId: Logs_listEvents
288+
summary: List Log Events
289+
description: |-
290+
List all events for a specific log.
291+
292+
#### Permissions
293+
294+
The API token must include the following scopes: _Voice_.
295+
tags:
296+
- Logs
297+
parameters:
298+
- name: id
299+
in: path
300+
description: >-
301+
Unique ID of the log. This is the segment_id you can find in Relay
302+
call details in your Dashboard UI or in return objects when using
303+
the SDK.
304+
required: true
305+
schema:
306+
type: string
307+
format: uuid
308+
responses:
309+
'200':
310+
description: OK
311+
content:
312+
application/json:
313+
schema:
314+
type: object
315+
properties:
316+
data:
317+
type: array
318+
items:
319+
allOf:
320+
- type: object
321+
properties:
322+
event_at:
323+
type: string
324+
format: date-time
325+
description: Timestamp when the event occurred
326+
level:
327+
type: string
328+
description: The log level of the event
329+
example: "info"
330+
name:
331+
type: string
332+
description: The name of the event
333+
example: "calling_call_initiated"
334+
details:
335+
type: object
336+
description: Additional details about the event if present. Structure varies by event type.
337+
example: {}
338+
log_id:
339+
type: string
340+
format: uuid
341+
description: A unique identifier for the log
342+
project_id:
343+
type: string
344+
format: uuid
345+
description: A unique identifier for the project.

specs/signalwire-rest/voice-api/logs/main.tsp

Lines changed: 17 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -31,15 +31,30 @@ namespace VoiceAPI.Logs {
3131
@summary("Find a Log by ID")
3232
@doc("""
3333
Find a log by ID.
34-
34+
3535
#### Permissions
36-
36+
3737
The API token must include the following scopes: _Voice_.
3838
""")
3939
retrieve(...LogPathID):
4040
| LogRetrieveResponse
4141
| StatusCode401
4242
| StatusCode404
4343
| StatusCode500;
44+
45+
@summary("List Log Events")
46+
@doc("""
47+
List all events for a specific log.
48+
49+
#### Permissions
50+
51+
The API token must include the following scopes: _Voice_.
52+
""")
53+
@route("/{id}/events")
54+
listEvents(...LogPathID):
55+
| LogEventsListResponse
56+
| StatusCode401
57+
| StatusCode404
58+
| StatusCode500;
4459
}
4560
}

specs/signalwire-rest/voice-api/logs/models/core.tsp

Lines changed: 29 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -85,3 +85,32 @@ model VoiceLog {
8585
@example(null)
8686
parent_id: string | null;
8787
}
88+
89+
@doc("Event entry for a voice log")
90+
model LogEvent {
91+
@doc("Timestamp when the event occurred.")
92+
@example(UTC_TIME_EXAMPLE)
93+
event_at: utcDateTime;
94+
95+
@doc("Log level of the event.")
96+
@example("info")
97+
level: "info" | "warning" | "error" | "debug";
98+
99+
@doc("Name of the event.")
100+
@example("calling_call_initiated")
101+
name: string;
102+
103+
@doc("Additional details about the event. Structure varies by event type.")
104+
@example(#{})
105+
details: {};
106+
107+
@format("uuid")
108+
@doc("Unique identifier for the project.")
109+
@example("b7182dc2-00f3-40e4-a5ce-20f164b329df")
110+
project_id: uuid;
111+
112+
@format("uuid")
113+
@doc("Unique identifier for the log.")
114+
@example("b7182dc2-00f3-40e4-a5ce-20f164b329df")
115+
log_id: uuid;
116+
}

specs/signalwire-rest/voice-api/logs/models/responses.tsp

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -26,3 +26,9 @@ model LogListResponse {
2626

2727
@doc("Response model for voice log retrieve endpoint")
2828
model LogRetrieveResponse is VoiceLog;
29+
30+
@doc("Response model for log events list endpoint")
31+
model LogEventsListResponse {
32+
@doc("Array of event entries for the log")
33+
data: LogEvent[];
34+
}

specs/signalwire-rest/voice-api/tsp-output/@typespec/openapi3/openapi.yaml

Lines changed: 95 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -103,6 +103,45 @@ paths:
103103
$ref: '#/components/schemas/Types.StatusCodes.StatusCode500'
104104
tags:
105105
- Logs
106+
/logs/{id}/events:
107+
get:
108+
operationId: Logs_listEvents
109+
summary: List Log Events
110+
description: |-
111+
List all events for a specific log.
112+
113+
#### Permissions
114+
115+
The API token must include the following scopes: _Voice_.
116+
parameters:
117+
- $ref: '#/components/parameters/LogPathID'
118+
responses:
119+
'200':
120+
description: The request has succeeded.
121+
content:
122+
application/json:
123+
schema:
124+
$ref: '#/components/schemas/LogEventsListResponse'
125+
'401':
126+
description: Access is unauthorized.
127+
content:
128+
application/json:
129+
schema:
130+
$ref: '#/components/schemas/Types.StatusCodes.StatusCode401'
131+
'404':
132+
description: The server cannot find the requested resource.
133+
content:
134+
application/json:
135+
schema:
136+
$ref: '#/components/schemas/Types.StatusCodes.StatusCode404'
137+
'500':
138+
description: Server error
139+
content:
140+
application/json:
141+
schema:
142+
$ref: '#/components/schemas/Types.StatusCodes.StatusCode500'
143+
tags:
144+
- Logs
106145
security:
107146
- BasicAuth: []
108147
components:
@@ -173,6 +212,62 @@ components:
173212
description: Charged amount.
174213
example: 0.121176
175214
description: Details on charges associated with this log.
215+
LogEvent:
216+
type: object
217+
required:
218+
- event_at
219+
- level
220+
- name
221+
- details
222+
- project_id
223+
- log_id
224+
properties:
225+
event_at:
226+
type: string
227+
format: date-time
228+
description: Timestamp when the event occurred.
229+
example: '2024-05-06T12:20:00Z'
230+
level:
231+
type: string
232+
enum:
233+
- info
234+
- warning
235+
- error
236+
- debug
237+
description: Log level of the event.
238+
example: info
239+
name:
240+
type: string
241+
description: Name of the event.
242+
example: calling_call_initiated
243+
details:
244+
type: object
245+
description: Additional details about the event. Structure varies by event type.
246+
example: {}
247+
project_id:
248+
allOf:
249+
- $ref: '#/components/schemas/uuid'
250+
format: uuid
251+
description: Unique identifier for the project.
252+
example: b7182dc2-00f3-40e4-a5ce-20f164b329df
253+
log_id:
254+
allOf:
255+
- $ref: '#/components/schemas/uuid'
256+
format: uuid
257+
description: Unique identifier for the log.
258+
example: b7182dc2-00f3-40e4-a5ce-20f164b329df
259+
description: Event entry for a voice log
260+
LogEventsListResponse:
261+
type: object
262+
required:
263+
- data
264+
properties:
265+
data:
266+
type: array
267+
items:
268+
$ref: '#/components/schemas/LogEvent'
269+
description: Array of event entries for the log
270+
description: Response model for log events list endpoint
176271
LogListResponse:
177272
type: object
178273
required:

specs/swml/Methods/ai/ai_hints.tsp

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -16,7 +16,7 @@ model Hint {
1616
@example("support team")
1717
replace: string;
1818

19-
@doc("If true, the hint will be matched in a case-insensitive manner. Defaults to false.")
19+
@doc("If true, the hint will be matched in a case-insensitive manner. **Default:** `false`.")
2020
@example(true)
21-
ignore_case?: boolean | SWMLVar;
21+
ignore_case?: boolean | SWMLVar = false;
2222
}

specs/swml/Methods/ai/ai_languages.tsp

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -26,7 +26,7 @@ model LanguagesBase {
2626

2727
@doc("The model to use for the specified TTS engine. For example, 'arcana'.")
2828
@example("arcana")
29-
_model?: string;
29+
model?: string;
3030

3131
@doc("""
3232
Enables emotion detection for the set TTS engine. This allows the AI to express emotions when speaking.

0 commit comments

Comments
 (0)