From 404d25384f67980df3bcda5c7b7db2325e9500d0 Mon Sep 17 00:00:00 2001
From: "stainless-app[bot]"
<142633134+stainless-app[bot]@users.noreply.github.com>
Date: Fri, 21 Nov 2025 13:14:14 +0000
Subject: [PATCH 1/2] feat(api): adiciona endpoint de ingest de eventos
---
.stats.yml | 8 +-
api.md | 2 +
src/client.ts | 4 +
src/resources/index.ts | 2 +
src/resources/triggers.ts | 127 +++++++--
tests/api-resources/triggers.test.ts | 388 ++++++++++++++-------------
6 files changed, 329 insertions(+), 202 deletions(-)
diff --git a/.stats.yml b/.stats.yml
index a34b176..59f9012 100644
--- a/.stats.yml
+++ b/.stats.yml
@@ -1,4 +1,4 @@
-configured_endpoints: 30
-openapi_spec_url: https://storage.googleapis.com/stainless-sdk-openapi-specs/triglit%2Ftriglit-6adb2ace136bf74d9f70057816548b5dc9b3ced7a625862aefbc787ef731aad5.yml
-openapi_spec_hash: 6afd1e92070452bb08999602775c6135
-config_hash: 2b1cd9cfb3a07b42ea16d763355e61ea
+configured_endpoints: 31
+openapi_spec_url: https://storage.googleapis.com/stainless-sdk-openapi-specs/triglit%2Ftriglit-a764b362cc7f0cc0e27f4288a948ae5f7495c073e0b05bf68fe7cff70bd4fd91.yml
+openapi_spec_hash: fff16017770be5b1798130820585c72e
+config_hash: a9236c7ca77fbb3b03a51c6f84b2c3a1
diff --git a/api.md b/api.md
index 1f56631..52ab965 100644
--- a/api.md
+++ b/api.md
@@ -4,6 +4,7 @@ Types:
- Trigger
- TriggerList
+- TriggerIngestResponse
- TriggerTriggerByEventResponse
- TriggerTriggerWebhookResponse
@@ -14,6 +15,7 @@ Methods:
- client.triggers.update(triggerID, { ...params }) -> Trigger
- client.triggers.list({ ...params }) -> TriggersPageBased
- client.triggers.delete(triggerID) -> void
+- client.triggers.ingest({ ...params }) -> TriggerIngestResponse
- client.triggers.listByWorkflowVersion(workflowVersionID, { ...params }) -> TriggersPageBased
- client.triggers.resumeExecution({ ...params }) -> void
- client.triggers.triggerByEvent({ ...params }) -> TriggerTriggerByEventResponse
diff --git a/src/client.ts b/src/client.ts
index 45be553..a1e150d 100644
--- a/src/client.ts
+++ b/src/client.ts
@@ -33,6 +33,8 @@ import {
import {
Trigger,
TriggerCreateParams,
+ TriggerIngestParams,
+ TriggerIngestResponse,
TriggerList,
TriggerListByWorkflowVersionParams,
TriggerListParams,
@@ -790,12 +792,14 @@ export declare namespace Triglit {
Triggers as Triggers,
type Trigger as Trigger,
type TriggerList as TriggerList,
+ type TriggerIngestResponse as TriggerIngestResponse,
type TriggerTriggerByEventResponse as TriggerTriggerByEventResponse,
type TriggerTriggerWebhookResponse as TriggerTriggerWebhookResponse,
type TriggersPageBased as TriggersPageBased,
type TriggerCreateParams as TriggerCreateParams,
type TriggerUpdateParams as TriggerUpdateParams,
type TriggerListParams as TriggerListParams,
+ type TriggerIngestParams as TriggerIngestParams,
type TriggerListByWorkflowVersionParams as TriggerListByWorkflowVersionParams,
type TriggerResumeExecutionParams as TriggerResumeExecutionParams,
type TriggerTriggerByEventParams as TriggerTriggerByEventParams,
diff --git a/src/resources/index.ts b/src/resources/index.ts
index 755ee06..8a19e38 100644
--- a/src/resources/index.ts
+++ b/src/resources/index.ts
@@ -16,11 +16,13 @@ export {
Triggers,
type Trigger,
type TriggerList,
+ type TriggerIngestResponse,
type TriggerTriggerByEventResponse,
type TriggerTriggerWebhookResponse,
type TriggerCreateParams,
type TriggerUpdateParams,
type TriggerListParams,
+ type TriggerIngestParams,
type TriggerListByWorkflowVersionParams,
type TriggerResumeExecutionParams,
type TriggerTriggerByEventParams,
diff --git a/src/resources/triggers.ts b/src/resources/triggers.ts
index 61cf0bb..0395c13 100644
--- a/src/resources/triggers.ts
+++ b/src/resources/triggers.ts
@@ -51,21 +51,31 @@ export class Triggers extends APIResource {
});
}
- /**
- * Retrieves a paginated list of triggers for a specific workflow version. Accepts
- * both public and secret keys.
- */
- listByWorkflowVersion(
- workflowVersionID: string,
- query: TriggerListByWorkflowVersionParams | null | undefined = {},
- options?: RequestOptions,
- ): PagePromise {
- return this._client.getAPIList(
- path`/v1/gateway/triggers/workflow-version/${workflowVersionID}`,
- PageBased,
- { query, ...options },
- );
- }
+ /**
+ * Intelligently resumes paused executions for the same entityId and event, or
+ * triggers new workflows if no paused executions exist. This endpoint simplifies
+ * integration by automatically handling the decision between resuming and
+ * triggering.
+ */
+ ingest(body: TriggerIngestParams, options?: RequestOptions): APIPromise {
+ return this._client.post('/v1/gateway/triggers/ingest', { body, ...options });
+ }
+
+ /**
+ * Retrieves a paginated list of triggers for a specific workflow version. Accepts
+ * both public and secret keys.
+ */
+ listByWorkflowVersion(
+ workflowVersionID: string,
+ query: TriggerListByWorkflowVersionParams | null | undefined = {},
+ options?: RequestOptions,
+ ): PagePromise {
+ return this._client.getAPIList(
+ path`/v1/gateway/triggers/workflow-version/${workflowVersionID}`,
+ PageBased,
+ { query, ...options },
+ );
+ }
/**
* Resumes a paused workflow execution with input data. Requires secret key
@@ -174,6 +184,71 @@ export interface TriggerList {
page: number;
}
+export interface TriggerIngestResponse {
+ /**
+ * List of resumed executions
+ */
+ resumed: Array;
+
+ /**
+ * List of skipped executions
+ */
+ skipped: Array;
+
+ /**
+ * List of newly triggered workflows
+ */
+ triggered: Array;
+}
+
+export namespace TriggerIngestResponse {
+ export interface Resumed {
+ /**
+ * Entity ID
+ */
+ entityId: string;
+
+ /**
+ * Run identifier that was resumed
+ */
+ runId: string;
+
+ /**
+ * Workflow version identifier
+ */
+ workflowVersionId: string;
+ }
+
+ export interface Skipped {
+ /**
+ * Reason why the execution was skipped
+ */
+ reason: 'expired' | 'not_paused' | 'wrong_event' | 'filtered_out';
+
+ /**
+ * Run identifier (if applicable)
+ */
+ runId?: string;
+ }
+
+ export interface Triggered {
+ /**
+ * Deduplication key
+ */
+ dedupeKey: string;
+
+ /**
+ * Trigger identifier
+ */
+ triggerId: string;
+
+ /**
+ * Run identifier (if workflow was started)
+ */
+ runId?: string;
+ }
+}
+
export interface TriggerTriggerByEventResponse {
/**
* Total number of triggers found and triggered
@@ -331,6 +406,26 @@ export interface TriggerListParams extends PageBasedParams {
workflowVersionId?: string;
}
+export interface TriggerIngestParams {
+ event: string;
+
+ eventData?: { [key: string]: unknown };
+
+ resumeOptions?: TriggerIngestParams.ResumeOptions;
+
+ subTenantId?: string;
+}
+
+export namespace TriggerIngestParams {
+ export interface ResumeOptions {
+ resumeAll?: boolean;
+
+ runIds?: Array;
+
+ workflowVersionIds?: Array;
+ }
+}
+
export interface TriggerListByWorkflowVersionParams extends PageBasedParams {}
export interface TriggerResumeExecutionParams {
@@ -357,12 +452,14 @@ export declare namespace Triggers {
export {
type Trigger as Trigger,
type TriggerList as TriggerList,
+ type TriggerIngestResponse as TriggerIngestResponse,
type TriggerTriggerByEventResponse as TriggerTriggerByEventResponse,
type TriggerTriggerWebhookResponse as TriggerTriggerWebhookResponse,
type TriggersPageBased as TriggersPageBased,
type TriggerCreateParams as TriggerCreateParams,
type TriggerUpdateParams as TriggerUpdateParams,
type TriggerListParams as TriggerListParams,
+ type TriggerIngestParams as TriggerIngestParams,
type TriggerListByWorkflowVersionParams as TriggerListByWorkflowVersionParams,
type TriggerResumeExecutionParams as TriggerResumeExecutionParams,
type TriggerTriggerByEventParams as TriggerTriggerByEventParams,
diff --git a/tests/api-resources/triggers.test.ts b/tests/api-resources/triggers.test.ts
index b3e0ae5..4b778d6 100644
--- a/tests/api-resources/triggers.test.ts
+++ b/tests/api-resources/triggers.test.ts
@@ -1,183 +1,205 @@
-// File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details.
-
-import Triglit from 'triglit';
-
-const client = new Triglit({
- apiKey: 'My API Key',
- baseURL: process.env['TEST_API_BASE_URL'] ?? 'http://127.0.0.1:4010',
-});
-
-describe('resource triggers', () => {
- // Prism tests are disabled
- test.skip('create: only required params', async () => {
- const responsePromise = client.triggers.create({
- config: {},
- name: 'x',
- type: 'schedule',
- workflowVersionId: 'x',
- });
- const rawResponse = await responsePromise.asResponse();
- expect(rawResponse).toBeInstanceOf(Response);
- const response = await responsePromise;
- expect(response).not.toBeInstanceOf(Response);
- const dataAndResponse = await responsePromise.withResponse();
- expect(dataAndResponse.data).toBe(response);
- expect(dataAndResponse.response).toBe(rawResponse);
- });
-
- // Prism tests are disabled
- test.skip('create: required and optional params', async () => {
- const response = await client.triggers.create({
- config: {
- rateLimit: { maxRequests: 1, windowMs: 1000 },
- retryPolicy: { backoffMs: 100, maxBackoffMs: 1000, maxRetries: 0 },
- scheduleConfig: { cron: 'cron', intervalMs: 60000, timezone: 'timezone' },
- timeoutMs: 1000,
- webhookConfig: { event: 'event' },
- },
- name: 'x',
- type: 'schedule',
- workflowVersionId: 'x',
- });
- });
-
- // Prism tests are disabled
- test.skip('retrieve', async () => {
- const responsePromise = client.triggers.retrieve('trg_abc123def456');
- const rawResponse = await responsePromise.asResponse();
- expect(rawResponse).toBeInstanceOf(Response);
- const response = await responsePromise;
- expect(response).not.toBeInstanceOf(Response);
- const dataAndResponse = await responsePromise.withResponse();
- expect(dataAndResponse.data).toBe(response);
- expect(dataAndResponse.response).toBe(rawResponse);
- });
-
- // Prism tests are disabled
- test.skip('update', async () => {
- const responsePromise = client.triggers.update('trg_abc123def456', {});
- const rawResponse = await responsePromise.asResponse();
- expect(rawResponse).toBeInstanceOf(Response);
- const response = await responsePromise;
- expect(response).not.toBeInstanceOf(Response);
- const dataAndResponse = await responsePromise.withResponse();
- expect(dataAndResponse.data).toBe(response);
- expect(dataAndResponse.response).toBe(rawResponse);
- });
-
- // Prism tests are disabled
- test.skip('list', async () => {
- const responsePromise = client.triggers.list();
- const rawResponse = await responsePromise.asResponse();
- expect(rawResponse).toBeInstanceOf(Response);
- const response = await responsePromise;
- expect(response).not.toBeInstanceOf(Response);
- const dataAndResponse = await responsePromise.withResponse();
- expect(dataAndResponse.data).toBe(response);
- expect(dataAndResponse.response).toBe(rawResponse);
- });
-
- // Prism tests are disabled
- test.skip('list: request options and params are passed correctly', async () => {
- // ensure the request options are being passed correctly by passing an invalid HTTP method in order to cause an error
- await expect(
- client.triggers.list(
- {
- isActive: true,
- page: 0,
- pageSize: 20,
- search: 'search',
- type: 'schedule',
- workflowVersionId: 'workflowVersionId',
- },
- { path: '/_stainless_unknown_path' },
- ),
- ).rejects.toThrow(Triglit.NotFoundError);
- });
-
- // Prism tests are disabled
- test.skip('delete', async () => {
- const responsePromise = client.triggers.delete('trg_abc123def456');
- const rawResponse = await responsePromise.asResponse();
- expect(rawResponse).toBeInstanceOf(Response);
- const response = await responsePromise;
- expect(response).not.toBeInstanceOf(Response);
- const dataAndResponse = await responsePromise.withResponse();
- expect(dataAndResponse.data).toBe(response);
- expect(dataAndResponse.response).toBe(rawResponse);
- });
-
- // Prism tests are disabled
- test.skip('listByWorkflowVersion', async () => {
- const responsePromise = client.triggers.listByWorkflowVersion('wfv_abc123def456');
- const rawResponse = await responsePromise.asResponse();
- expect(rawResponse).toBeInstanceOf(Response);
- const response = await responsePromise;
- expect(response).not.toBeInstanceOf(Response);
- const dataAndResponse = await responsePromise.withResponse();
- expect(dataAndResponse.data).toBe(response);
- expect(dataAndResponse.response).toBe(rawResponse);
- });
-
- // Prism tests are disabled
- test.skip('listByWorkflowVersion: request options and params are passed correctly', async () => {
- // ensure the request options are being passed correctly by passing an invalid HTTP method in order to cause an error
- await expect(
- client.triggers.listByWorkflowVersion(
- 'wfv_abc123def456',
- { page: 0, pageSize: 20 },
- { path: '/_stainless_unknown_path' },
- ),
- ).rejects.toThrow(Triglit.NotFoundError);
- });
-
- // Prism tests are disabled
- test.skip('resumeExecution: only required params', async () => {
- const responsePromise = client.triggers.resumeExecution({ resumeToken: 'x', runId: 'x' });
- const rawResponse = await responsePromise.asResponse();
- expect(rawResponse).toBeInstanceOf(Response);
- const response = await responsePromise;
- expect(response).not.toBeInstanceOf(Response);
- const dataAndResponse = await responsePromise.withResponse();
- expect(dataAndResponse.data).toBe(response);
- expect(dataAndResponse.response).toBe(rawResponse);
- });
-
- // Prism tests are disabled
- test.skip('resumeExecution: required and optional params', async () => {
- const response = await client.triggers.resumeExecution({ resumeToken: 'x', runId: 'x', input: {} });
- });
-
- // Prism tests are disabled
- test.skip('triggerByEvent: only required params', async () => {
- const responsePromise = client.triggers.triggerByEvent({ event: 'x' });
- const rawResponse = await responsePromise.asResponse();
- expect(rawResponse).toBeInstanceOf(Response);
- const response = await responsePromise;
- expect(response).not.toBeInstanceOf(Response);
- const dataAndResponse = await responsePromise.withResponse();
- expect(dataAndResponse.data).toBe(response);
- expect(dataAndResponse.response).toBe(rawResponse);
- });
-
- // Prism tests are disabled
- test.skip('triggerByEvent: required and optional params', async () => {
- const response = await client.triggers.triggerByEvent({
- event: 'x',
- eventData: { foo: 'bar' },
- subTenantId: 'subTenantId',
- });
- });
-
- // Prism tests are disabled
- test.skip('triggerWebhook', async () => {
- const responsePromise = client.triggers.triggerWebhook('trg_abc123def456', {});
- const rawResponse = await responsePromise.asResponse();
- expect(rawResponse).toBeInstanceOf(Response);
- const response = await responsePromise;
- expect(response).not.toBeInstanceOf(Response);
- const dataAndResponse = await responsePromise.withResponse();
- expect(dataAndResponse.data).toBe(response);
- expect(dataAndResponse.response).toBe(rawResponse);
- });
-});
+// File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details.
+
+import Triglit from 'triglit';
+
+const client = new Triglit({
+ apiKey: 'My API Key',
+ baseURL: process.env['TEST_API_BASE_URL'] ?? 'http://127.0.0.1:4010',
+});
+
+describe('resource triggers', () => {
+ // Prism tests are disabled
+ test.skip('create: only required params', async () => {
+ const responsePromise = client.triggers.create({
+ config: {},
+ name: 'x',
+ type: 'schedule',
+ workflowVersionId: 'x',
+ });
+ const rawResponse = await responsePromise.asResponse();
+ expect(rawResponse).toBeInstanceOf(Response);
+ const response = await responsePromise;
+ expect(response).not.toBeInstanceOf(Response);
+ const dataAndResponse = await responsePromise.withResponse();
+ expect(dataAndResponse.data).toBe(response);
+ expect(dataAndResponse.response).toBe(rawResponse);
+ });
+
+ // Prism tests are disabled
+ test.skip('create: required and optional params', async () => {
+ const response = await client.triggers.create({
+ config: {
+ rateLimit: { maxRequests: 1, windowMs: 1000 },
+ retryPolicy: { backoffMs: 100, maxBackoffMs: 1000, maxRetries: 0 },
+ scheduleConfig: { cron: 'cron', intervalMs: 60000, timezone: 'timezone' },
+ timeoutMs: 1000,
+ webhookConfig: { event: 'event' },
+ },
+ name: 'x',
+ type: 'schedule',
+ workflowVersionId: 'x',
+ });
+ });
+
+ // Prism tests are disabled
+ test.skip('retrieve', async () => {
+ const responsePromise = client.triggers.retrieve('trg_abc123def456');
+ const rawResponse = await responsePromise.asResponse();
+ expect(rawResponse).toBeInstanceOf(Response);
+ const response = await responsePromise;
+ expect(response).not.toBeInstanceOf(Response);
+ const dataAndResponse = await responsePromise.withResponse();
+ expect(dataAndResponse.data).toBe(response);
+ expect(dataAndResponse.response).toBe(rawResponse);
+ });
+
+ // Prism tests are disabled
+ test.skip('update', async () => {
+ const responsePromise = client.triggers.update('trg_abc123def456', {});
+ const rawResponse = await responsePromise.asResponse();
+ expect(rawResponse).toBeInstanceOf(Response);
+ const response = await responsePromise;
+ expect(response).not.toBeInstanceOf(Response);
+ const dataAndResponse = await responsePromise.withResponse();
+ expect(dataAndResponse.data).toBe(response);
+ expect(dataAndResponse.response).toBe(rawResponse);
+ });
+
+ // Prism tests are disabled
+ test.skip('list', async () => {
+ const responsePromise = client.triggers.list();
+ const rawResponse = await responsePromise.asResponse();
+ expect(rawResponse).toBeInstanceOf(Response);
+ const response = await responsePromise;
+ expect(response).not.toBeInstanceOf(Response);
+ const dataAndResponse = await responsePromise.withResponse();
+ expect(dataAndResponse.data).toBe(response);
+ expect(dataAndResponse.response).toBe(rawResponse);
+ });
+
+ // Prism tests are disabled
+ test.skip('list: request options and params are passed correctly', async () => {
+ // ensure the request options are being passed correctly by passing an invalid HTTP method in order to cause an error
+ await expect(
+ client.triggers.list(
+ {
+ isActive: true,
+ page: 0,
+ pageSize: 20,
+ search: 'search',
+ type: 'schedule',
+ workflowVersionId: 'workflowVersionId',
+ },
+ { path: '/_stainless_unknown_path' },
+ ),
+ ).rejects.toThrow(Triglit.NotFoundError);
+ });
+
+ // Prism tests are disabled
+ test.skip('delete', async () => {
+ const responsePromise = client.triggers.delete('trg_abc123def456');
+ const rawResponse = await responsePromise.asResponse();
+ expect(rawResponse).toBeInstanceOf(Response);
+ const response = await responsePromise;
+ expect(response).not.toBeInstanceOf(Response);
+ const dataAndResponse = await responsePromise.withResponse();
+ expect(dataAndResponse.data).toBe(response);
+ expect(dataAndResponse.response).toBe(rawResponse);
+ });
+
+ // Prism tests are disabled
+ test.skip('ingest: only required params', async () => {
+ const responsePromise = client.triggers.ingest({ event: 'x' });
+ const rawResponse = await responsePromise.asResponse();
+ expect(rawResponse).toBeInstanceOf(Response);
+ const response = await responsePromise;
+ expect(response).not.toBeInstanceOf(Response);
+ const dataAndResponse = await responsePromise.withResponse();
+ expect(dataAndResponse.data).toBe(response);
+ expect(dataAndResponse.response).toBe(rawResponse);
+ });
+
+ // Prism tests are disabled
+ test.skip('ingest: required and optional params', async () => {
+ const response = await client.triggers.ingest({
+ event: 'x',
+ eventData: { foo: 'bar' },
+ resumeOptions: { resumeAll: true, runIds: ['string'], workflowVersionIds: ['string'] },
+ subTenantId: 'subTenantId',
+ });
+ });
+
+ // Prism tests are disabled
+ test.skip('listByWorkflowVersion', async () => {
+ const responsePromise = client.triggers.listByWorkflowVersion('wfv_abc123def456');
+ const rawResponse = await responsePromise.asResponse();
+ expect(rawResponse).toBeInstanceOf(Response);
+ const response = await responsePromise;
+ expect(response).not.toBeInstanceOf(Response);
+ const dataAndResponse = await responsePromise.withResponse();
+ expect(dataAndResponse.data).toBe(response);
+ expect(dataAndResponse.response).toBe(rawResponse);
+ });
+
+ // Prism tests are disabled
+ test.skip('listByWorkflowVersion: request options and params are passed correctly', async () => {
+ // ensure the request options are being passed correctly by passing an invalid HTTP method in order to cause an error
+ await expect(
+ client.triggers.listByWorkflowVersion(
+ 'wfv_abc123def456',
+ { page: 0, pageSize: 20 },
+ { path: '/_stainless_unknown_path' },
+ ),
+ ).rejects.toThrow(Triglit.NotFoundError);
+ });
+
+ // Prism tests are disabled
+ test.skip('resumeExecution: only required params', async () => {
+ const responsePromise = client.triggers.resumeExecution({ resumeToken: 'x', runId: 'x' });
+ const rawResponse = await responsePromise.asResponse();
+ expect(rawResponse).toBeInstanceOf(Response);
+ const response = await responsePromise;
+ expect(response).not.toBeInstanceOf(Response);
+ const dataAndResponse = await responsePromise.withResponse();
+ expect(dataAndResponse.data).toBe(response);
+ expect(dataAndResponse.response).toBe(rawResponse);
+ });
+
+ // Prism tests are disabled
+ test.skip('resumeExecution: required and optional params', async () => {
+ const response = await client.triggers.resumeExecution({ resumeToken: 'x', runId: 'x', input: {} });
+ });
+
+ // Prism tests are disabled
+ test.skip('triggerByEvent: only required params', async () => {
+ const responsePromise = client.triggers.triggerByEvent({ event: 'x' });
+ const rawResponse = await responsePromise.asResponse();
+ expect(rawResponse).toBeInstanceOf(Response);
+ const response = await responsePromise;
+ expect(response).not.toBeInstanceOf(Response);
+ const dataAndResponse = await responsePromise.withResponse();
+ expect(dataAndResponse.data).toBe(response);
+ expect(dataAndResponse.response).toBe(rawResponse);
+ });
+
+ // Prism tests are disabled
+ test.skip('triggerByEvent: required and optional params', async () => {
+ const response = await client.triggers.triggerByEvent({
+ event: 'x',
+ eventData: { foo: 'bar' },
+ subTenantId: 'subTenantId',
+ });
+ });
+
+ // Prism tests are disabled
+ test.skip('triggerWebhook', async () => {
+ const responsePromise = client.triggers.triggerWebhook('trg_abc123def456', {});
+ const rawResponse = await responsePromise.asResponse();
+ expect(rawResponse).toBeInstanceOf(Response);
+ const response = await responsePromise;
+ expect(response).not.toBeInstanceOf(Response);
+ const dataAndResponse = await responsePromise.withResponse();
+ expect(dataAndResponse.data).toBe(response);
+ expect(dataAndResponse.response).toBe(rawResponse);
+ });
+});
From 9b9a158edda3efd87f45e167a5c85726e6b1a922 Mon Sep 17 00:00:00 2001
From: "stainless-app[bot]"
<142633134+stainless-app[bot]@users.noreply.github.com>
Date: Fri, 21 Nov 2025 13:14:31 +0000
Subject: [PATCH 2/2] release: 0.5.0
---
.release-please-manifest.json | 2 +-
CHANGELOG.md | 8 ++++++++
package.json | 2 +-
src/version.ts | 2 +-
4 files changed, 11 insertions(+), 3 deletions(-)
diff --git a/.release-please-manifest.json b/.release-please-manifest.json
index a3cf436..f1c1e58 100644
--- a/.release-please-manifest.json
+++ b/.release-please-manifest.json
@@ -1,3 +1,3 @@
{
- ".": "0.4.5"
+ ".": "0.5.0"
}
diff --git a/CHANGELOG.md b/CHANGELOG.md
index 1b688fa..f78289f 100644
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -1,5 +1,13 @@
# Changelog
+## 0.5.0 (2025-11-21)
+
+Full Changelog: [v0.4.5...v0.5.0](https://github.com/Triglit/typescript-sdk/compare/v0.4.5...v0.5.0)
+
+### Features
+
+* **api:** adiciona endpoint de ingest de eventos ([404d253](https://github.com/Triglit/typescript-sdk/commit/404d25384f67980df3bcda5c7b7db2325e9500d0))
+
## 0.4.5 (2025-11-18)
Full Changelog: [v0.4.4...v0.4.5](https://github.com/Triglit/typescript-sdk/compare/v0.4.4...v0.4.5)
diff --git a/package.json b/package.json
index f5aa956..7958f53 100644
--- a/package.json
+++ b/package.json
@@ -1,6 +1,6 @@
{
"name": "triglit",
- "version": "0.4.5",
+ "version": "0.5.0",
"description": "The official TypeScript library for the Triglit API",
"author": "Triglit ",
"types": "dist/index.d.ts",
diff --git a/src/version.ts b/src/version.ts
index 848cae9..1f5d158 100644
--- a/src/version.ts
+++ b/src/version.ts
@@ -1 +1 @@
-export const VERSION = '0.4.5'; // x-release-please-version
+export const VERSION = '0.5.0'; // x-release-please-version