Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
53 changes: 10 additions & 43 deletions .speakeasy/logs/changes/changes.html
Original file line number Diff line number Diff line change
Expand Up @@ -98,55 +98,22 @@
<body><h2 id="typescript-sdk-changes">Typescript SDK Changes:</h2>

<ul>
<li><code>outpost.configuration.getManagedConfig()</code>: <code>response</code> <strong>Changed</strong>
<li><code>outpost.metrics.getAttemptMetrics()</code>:

<ul>
<li><code>destinationsWebhookCompatHeaders</code> <strong>Added</strong></li>
<li><code>destinationsWebhookCompatSignatureAlgorithm</code> <strong>Added</strong></li>
<li><code>destinationsWebhookCompatSignatureContentTemplate</code> <strong>Added</strong></li>
<li><code>destinationsWebhookCompatSignatureEncoding</code> <strong>Added</strong></li>
<li><code>destinationsWebhookCompatSignatureHeaderName</code> <strong>Added</strong></li>
<li><code>destinationsWebhookCompatSignatureHeaderTemplate</code> <strong>Added</strong></li>
<li><code>destinationsWebhookCompatSignatureSecretEncoding</code> <strong>Added</strong></li>
<li><code>destinationsWebhookCompatSignatureSecretPrefix</code> <strong>Added</strong></li>
<li><code>destinationsWebhookSignatureSecretEncoding</code> <strong>Added</strong></li>
<li><code>destinationsWebhookSignatureSecretPrefix</code> <strong>Added</strong></li>
<li><code>destinationsWebhookTimestampFormat</code> <strong>Added</strong></li>
</ul></li>
<li><code>outpost.configuration.updateManagedConfig()</code>:

<ul>
<li><code>request</code> <strong>Changed</strong>

<ul>
<li><code>destinationsWebhookCompatHeaders</code> <strong>Added</strong></li>
<li><code>destinationsWebhookCompatSignatureAlgorithm</code> <strong>Added</strong></li>
<li><code>destinationsWebhookCompatSignatureContentTemplate</code> <strong>Added</strong></li>
<li><code>destinationsWebhookCompatSignatureEncoding</code> <strong>Added</strong></li>
<li><code>destinationsWebhookCompatSignatureHeaderName</code> <strong>Added</strong></li>
<li><code>destinationsWebhookCompatSignatureHeaderTemplate</code> <strong>Added</strong></li>
<li><code>destinationsWebhookCompatSignatureSecretEncoding</code> <strong>Added</strong></li>
<li><code>destinationsWebhookCompatSignatureSecretPrefix</code> <strong>Added</strong></li>
<li><code>destinationsWebhookSignatureSecretEncoding</code> <strong>Added</strong></li>
<li><code>destinationsWebhookSignatureSecretPrefix</code> <strong>Added</strong></li>
<li><code>destinationsWebhookTimestampFormat</code> <strong>Added</strong></li>
</ul></li>
<li><code>response</code> <strong>Changed</strong>
<li><code>request.measures</code> <strong>Changed</strong> (Breaking 鈿狅笍)

<ul>
<li><code>destinationsWebhookCompatHeaders</code> <strong>Added</strong></li>
<li><code>destinationsWebhookCompatSignatureAlgorithm</code> <strong>Added</strong></li>
<li><code>destinationsWebhookCompatSignatureContentTemplate</code> <strong>Added</strong></li>
<li><code>destinationsWebhookCompatSignatureEncoding</code> <strong>Added</strong></li>
<li><code>destinationsWebhookCompatSignatureHeaderName</code> <strong>Added</strong></li>
<li><code>destinationsWebhookCompatSignatureHeaderTemplate</code> <strong>Added</strong></li>
<li><code>destinationsWebhookCompatSignatureSecretEncoding</code> <strong>Added</strong></li>
<li><code>destinationsWebhookCompatSignatureSecretPrefix</code> <strong>Added</strong></li>
<li><code>destinationsWebhookSignatureSecretEncoding</code> <strong>Added</strong></li>
<li><code>destinationsWebhookSignatureSecretPrefix</code> <strong>Added</strong></li>
<li><code>destinationsWebhookTimestampFormat</code> <strong>Added</strong></li>
<li><code>union(&quot;count&quot;,&quot;successful_count&quot; and 13 more)</code> <strong>Added</strong></li>
<li><code>union(&quot;count&quot;,&quot;successful_count&quot; and 9 more)</code> <strong>Removed</strong> (Breaking 鈿狅笍)</li>
<li><code>union(Array&lt;&quot;count&quot;,&quot;successful_count&quot; and 13 more&gt;)</code> <strong>Added</strong></li>
<li><code>union(Array&lt;&quot;count&quot;,&quot;successful_count&quot; and 9 more&gt;)</code> <strong>Removed</strong> (Breaking 鈿狅笍)</li>
</ul></li>
</ul></li>
<li><code>outpost.attempts.list()</code>: <code>response.models[].latencyMs</code> <strong>Added</strong></li>
<li><code>outpost.attempts.get()</code>: <code>response.latencyMs</code> <strong>Added</strong></li>
<li><code>outpost.destinations.listAttempts()</code>: <code>response.models[].latencyMs</code> <strong>Added</strong></li>
<li><code>outpost.destinations.getAttempt()</code>: <code>response.latencyMs</code> <strong>Added</strong></li>
</ul>
</body>
</html>
47 changes: 10 additions & 37 deletions .speakeasy/logs/changes/changes.md
Original file line number Diff line number Diff line change
@@ -1,38 +1,11 @@
## Typescript SDK Changes:
* `outpost.configuration.getManagedConfig()`: `response` **Changed**
- `destinationsWebhookCompatHeaders` **Added**
- `destinationsWebhookCompatSignatureAlgorithm` **Added**
- `destinationsWebhookCompatSignatureContentTemplate` **Added**
- `destinationsWebhookCompatSignatureEncoding` **Added**
- `destinationsWebhookCompatSignatureHeaderName` **Added**
- `destinationsWebhookCompatSignatureHeaderTemplate` **Added**
- `destinationsWebhookCompatSignatureSecretEncoding` **Added**
- `destinationsWebhookCompatSignatureSecretPrefix` **Added**
- `destinationsWebhookSignatureSecretEncoding` **Added**
- `destinationsWebhookSignatureSecretPrefix` **Added**
- `destinationsWebhookTimestampFormat` **Added**
* `outpost.configuration.updateManagedConfig()`:
* `request` **Changed**
- `destinationsWebhookCompatHeaders` **Added**
- `destinationsWebhookCompatSignatureAlgorithm` **Added**
- `destinationsWebhookCompatSignatureContentTemplate` **Added**
- `destinationsWebhookCompatSignatureEncoding` **Added**
- `destinationsWebhookCompatSignatureHeaderName` **Added**
- `destinationsWebhookCompatSignatureHeaderTemplate` **Added**
- `destinationsWebhookCompatSignatureSecretEncoding` **Added**
- `destinationsWebhookCompatSignatureSecretPrefix` **Added**
- `destinationsWebhookSignatureSecretEncoding` **Added**
- `destinationsWebhookSignatureSecretPrefix` **Added**
- `destinationsWebhookTimestampFormat` **Added**
* `response` **Changed**
- `destinationsWebhookCompatHeaders` **Added**
- `destinationsWebhookCompatSignatureAlgorithm` **Added**
- `destinationsWebhookCompatSignatureContentTemplate` **Added**
- `destinationsWebhookCompatSignatureEncoding` **Added**
- `destinationsWebhookCompatSignatureHeaderName` **Added**
- `destinationsWebhookCompatSignatureHeaderTemplate` **Added**
- `destinationsWebhookCompatSignatureSecretEncoding` **Added**
- `destinationsWebhookCompatSignatureSecretPrefix` **Added**
- `destinationsWebhookSignatureSecretEncoding` **Added**
- `destinationsWebhookSignatureSecretPrefix` **Added**
- `destinationsWebhookTimestampFormat` **Added**
* `outpost.metrics.getAttemptMetrics()`:
* `request.measures` **Changed** (Breaking 鈿狅笍)
- `union("count","successful_count" and 13 more)` **Added**
- `union("count","successful_count" and 9 more)` **Removed** (Breaking 鈿狅笍)
- `union(Array<"count","successful_count" and 13 more>)` **Added**
- `union(Array<"count","successful_count" and 9 more>)` **Removed** (Breaking 鈿狅笍)
* `outpost.attempts.list()`: `response.models[].latencyMs` **Added**
* `outpost.attempts.get()`: `response.latencyMs` **Added**
* `outpost.destinations.listAttempts()`: `response.models[].latencyMs` **Added**
* `outpost.destinations.getAttempt()`: `response.latencyMs` **Added**
29 changes: 24 additions & 5 deletions .speakeasy/logs/changes/new.openapi.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -2562,6 +2562,11 @@ components:
type: boolean
description: Whether this attempt was manually triggered (e.g., a retry initiated by a user).
example: false
latency_ms:
type: integer
nullable: true
description: Time in milliseconds from sending the attempt to receiving the destination's response (or the error), measured around the provider's publish call. Null for attempts that never reached the provider and for attempts recorded before latency was tracked.
example: 212
event_id:
type: string
description: The ID of the associated event.
Expand Down Expand Up @@ -3872,13 +3877,15 @@ paths:
time: "2024-01-01T00:00:05Z"
code: "200"
attempt_number: 1
latency_ms: 212
event_id: "evt_123"
destination_id: "des_456"
- id: "att_124"
status: "failed"
time: "2024-01-02T10:00:01Z"
code: "503"
attempt_number: 2
latency_ms: 1502
event_id: "evt_789"
destination_id: "des_789"
AdminAttemptsWithIncludeExample:
Expand All @@ -3896,6 +3903,7 @@ paths:
time: "2024-01-01T00:00:05Z"
code: "200"
attempt_number: 1
latency_ms: 212
event_id: "evt_123"
destination_id: "des_456"
event:
Expand Down Expand Up @@ -3965,6 +3973,7 @@ paths:
time: "2024-01-01T00:00:05Z"
code: "200"
attempt_number: 1
latency_ms: 212
event_id: "evt_123"
destination_id: "des_456"
AttemptWithIncludeExample:
Expand All @@ -3979,6 +3988,7 @@ paths:
body: '{"status":"ok"}'
headers: {"content-type": "application/json"}
attempt_number: 1
latency_ms: 212
event_id: "evt_123"
destination_id: "des_456"
event:
Expand Down Expand Up @@ -4562,13 +4572,15 @@ paths:
time: "2024-01-01T00:00:05Z"
code: "200"
attempt_number: 1
latency_ms: 212
event_id: "evt_123"
destination_id: "des_456"
- id: "atm_124"
status: "failed"
time: "2024-01-02T10:00:01Z"
code: "503"
attempt_number: 2
latency_ms: 1502
event_id: "evt_789"
destination_id: "des_456"
"401":
Expand Down Expand Up @@ -4634,6 +4646,7 @@ paths:
time: "2024-01-01T00:00:05Z"
code: "200"
attempt_number: 1
latency_ms: 212
event_id: "evt_123"
destination_id: "des_456"
"401":
Expand Down Expand Up @@ -5156,7 +5169,11 @@ paths:

**Measures:** `count`, `successful_count`, `failed_count`, `error_rate`,
`first_attempt_count`, `retry_count`, `manual_retry_count`, `avg_attempt_number`,
`rate`, `successful_rate`, `failed_rate`
`rate`, `successful_rate`, `failed_rate`, `avg_latency`, `p50_latency`, `p95_latency`, `p99_latency`

Latency measures are in milliseconds and computed over attempts that recorded a
latency (see `latency_ms` on the attempt object). They are `null` for a bucket
with no such attempts, rather than `0`.

**Dimensions:** `tenant_id` (admin-only), `destination_id`, `destination_type`, `topic`, `status`, `code`, `manual`, `attempt_number`

Expand Down Expand Up @@ -5201,13 +5218,13 @@ paths:
schema:
oneOf:
- type: string
enum: [count, successful_count, failed_count, error_rate, first_attempt_count, retry_count, manual_retry_count, avg_attempt_number, rate, successful_rate, failed_rate]
enum: [count, successful_count, failed_count, error_rate, first_attempt_count, retry_count, manual_retry_count, avg_attempt_number, rate, successful_rate, failed_rate, avg_latency, p50_latency, p95_latency, p99_latency]
- type: array
items:
type: string
enum: [count, successful_count, failed_count, error_rate, first_attempt_count, retry_count, manual_retry_count, avg_attempt_number, rate, successful_rate, failed_rate]
description: Measures to compute. At least one required. Rate measures (`rate`, `successful_rate`, `failed_rate`) are throughput in events/second. Use bracket notation for multiple values (e.g., `measures[0]=count&measures[1]=error_rate`).
example: ["count", "error_rate"]
enum: [count, successful_count, failed_count, error_rate, first_attempt_count, retry_count, manual_retry_count, avg_attempt_number, rate, successful_rate, failed_rate, avg_latency, p50_latency, p95_latency, p99_latency]
description: Measures to compute. At least one required. Rate measures (`rate`, `successful_rate`, `failed_rate`) are throughput in events/second. Latency measures (`avg_latency`, `p50_latency`, `p95_latency`, `p99_latency`) are destination response times in milliseconds, `null` when no attempt in the bucket recorded a latency. Use bracket notation for multiple values (e.g., `measures[0]=count&measures[1]=error_rate`).
example: ["count", "error_rate", "p95_latency"]
- name: dimensions
in: query
required: false
Expand Down Expand Up @@ -5318,6 +5335,8 @@ paths:
successful_count: 1393
failed_count: 30
error_rate: 0.0211
avg_latency: 212.4
p95_latency: 810
metadata:
granularity: "1d"
query_time_ms: 38
Expand Down
44 changes: 44 additions & 0 deletions .speakeasy/logs/changes/old.openapi.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -2873,6 +2873,38 @@ components:
type: string
DESTINATIONS_INCLUDE_MILLISECOND_TIMESTAMP:
type: string
DESTINATIONS_WEBHOOK_COMPAT_HEADERS:
type: string
description: >-
Additional headers sent with the compat signature, as comma-separated "name=template" pairs. Available variables: {{.EventID}}, {{.Topic}}, {{.Timestamp}}. Use "\," for a literal comma in a template.
DESTINATIONS_WEBHOOK_COMPAT_SIGNATURE_ALGORITHM:
type: string
description: >-
Algorithm for the compat signature. Defaults to "hmac-sha256".
DESTINATIONS_WEBHOOK_COMPAT_SIGNATURE_CONTENT_TEMPLATE:
type: string
description: >-
Go template for the content signed by the compat signature. Same variables as DESTINATIONS_WEBHOOK_SIGNATURE_CONTENT_TEMPLATE. Defaults to "{{.Body}}".
DESTINATIONS_WEBHOOK_COMPAT_SIGNATURE_ENCODING:
type: string
description: >-
Encoding for the compat signature ("hex" or "base64"). Defaults to "hex".
DESTINATIONS_WEBHOOK_COMPAT_SIGNATURE_HEADER_NAME:
type: string
description: >-
Complete name of the compat signature header. Setting it sends a second signature, in a previous scheme, alongside the primary one.
DESTINATIONS_WEBHOOK_COMPAT_SIGNATURE_HEADER_TEMPLATE:
type: string
description: >-
Go template for the value of the compat signature header. Same variables as DESTINATIONS_WEBHOOK_SIGNATURE_HEADER_TEMPLATE. Defaults to "v0={{.Signatures | join ","}}".
DESTINATIONS_WEBHOOK_COMPAT_SIGNATURE_SECRET_ENCODING:
type: string
description: >-
How the compat signature derives its HMAC key from the destination secret: "raw", "base64" or "hex". Defaults to "raw". A destination whose secret can't be decoded doesn't receive the compat signature.
DESTINATIONS_WEBHOOK_COMPAT_SIGNATURE_SECRET_PREFIX:
type: string
description: >-
Prefix stripped from the destination secret before decoding for the compat signature (e.g., "whsec_").
DESTINATIONS_WEBHOOK_EVENT_ID_HEADER_NAME:
type: string
description: >-
Expand All @@ -2895,8 +2927,20 @@ components:
Complete name of the signature header. Unset uses the default "<prefix>signature"; an explicit value pins that exact name; an empty string disables the header. Only applies to "default" mode.
DESTINATIONS_WEBHOOK_SIGNATURE_HEADER_TEMPLATE:
type: string
DESTINATIONS_WEBHOOK_SIGNATURE_SECRET_ENCODING:
type: string
description: >-
How the signature derives its HMAC key from the destination secret: "raw" uses the secret as-is, "base64" and "hex" decode it. Defaults to "raw". DESTINATIONS_WEBHOOK_SIGNING_SECRET_TEMPLATE must generate secrets this encoding can decode. Only applies to "default" mode.
DESTINATIONS_WEBHOOK_SIGNATURE_SECRET_PREFIX:
type: string
description: >-
Prefix stripped from the destination secret before decoding (e.g., "whsec_"). Ignored when DESTINATIONS_WEBHOOK_SIGNATURE_SECRET_ENCODING is "raw". Only applies to "default" mode.
DESTINATIONS_WEBHOOK_SIGNING_SECRET_TEMPLATE:
type: string
DESTINATIONS_WEBHOOK_TIMESTAMP_FORMAT:
type: string
description: >-
Format of the timestamp header: "rfc3339" or "unix". Defaults to "rfc3339". Only applies to "default" mode.
DESTINATIONS_WEBHOOK_TIMESTAMP_HEADER_NAME:
type: string
description: >-
Expand Down
Loading
Loading