@automagik/omni 2.260911.2 → 2.260911.3
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.
- package/db/drizzle/0067_automation_concurrency.sql +34 -0
- package/db/drizzle/meta/_journal.json +7 -0
- package/dist/commands/automations.d.ts +2 -0
- package/dist/commands/automations.d.ts.map +1 -1
- package/dist/index.js +44 -25
- package/dist/sdk/client.d.ts +12 -0
- package/dist/sdk/client.d.ts.map +1 -1
- package/dist/sdk/types.generated.d.ts +141 -2
- package/dist/sdk/types.generated.d.ts.map +1 -1
- package/dist/server/index.js +61 -30
- package/package.json +1 -1
|
@@ -1707,6 +1707,26 @@ export interface paths {
|
|
|
1707
1707
|
patch?: never;
|
|
1708
1708
|
trace?: never;
|
|
1709
1709
|
};
|
|
1710
|
+
"/events/schemas/{eventType}/validate": {
|
|
1711
|
+
parameters: {
|
|
1712
|
+
query?: never;
|
|
1713
|
+
header?: never;
|
|
1714
|
+
path?: never;
|
|
1715
|
+
cookie?: never;
|
|
1716
|
+
};
|
|
1717
|
+
get?: never;
|
|
1718
|
+
put?: never;
|
|
1719
|
+
/**
|
|
1720
|
+
* Validate a payload against a registered event schema (dry run)
|
|
1721
|
+
* @description Check a payload against the registered schema with the same validator and error strings as the webhook ingress and emit_event gates, without publishing an event or writing anything (no dead letter). Returns 200 whether the payload is valid or not; read the `valid` flag and `errors`.
|
|
1722
|
+
*/
|
|
1723
|
+
post: operations["validateEventPayload"];
|
|
1724
|
+
delete?: never;
|
|
1725
|
+
options?: never;
|
|
1726
|
+
head?: never;
|
|
1727
|
+
patch?: never;
|
|
1728
|
+
trace?: never;
|
|
1729
|
+
};
|
|
1710
1730
|
"/events/consumers": {
|
|
1711
1731
|
parameters: {
|
|
1712
1732
|
query?: never;
|
|
@@ -5590,6 +5610,22 @@ export interface components {
|
|
|
5590
5610
|
/** @description Whether the validation gate is active (default true) */
|
|
5591
5611
|
enabled?: boolean;
|
|
5592
5612
|
};
|
|
5613
|
+
ValidateEventPayloadRequest: {
|
|
5614
|
+
/** @description The event payload to validate (any JSON value) */
|
|
5615
|
+
payload?: unknown;
|
|
5616
|
+
};
|
|
5617
|
+
EventPayloadValidation: {
|
|
5618
|
+
/** @description Event type the payload was checked against */
|
|
5619
|
+
eventType: string;
|
|
5620
|
+
/** @description Schema revision used */
|
|
5621
|
+
version: number;
|
|
5622
|
+
/** @description Whether the gate is active for this type (a disabled schema is still checked) */
|
|
5623
|
+
enabled: boolean;
|
|
5624
|
+
/** @description True when the payload satisfies the schema */
|
|
5625
|
+
valid: boolean;
|
|
5626
|
+
/** @description Violations as `instancePath: message`, identical to the ingress gate; empty when valid */
|
|
5627
|
+
errors: string[];
|
|
5628
|
+
};
|
|
5593
5629
|
DurableConsumer: {
|
|
5594
5630
|
/**
|
|
5595
5631
|
* Format: uuid
|
|
@@ -5791,6 +5827,10 @@ export interface components {
|
|
|
5791
5827
|
priority: number;
|
|
5792
5828
|
/** @description Transactional publication (G5, #988): buffer the run's emit_event publishes and flush them in order only when every action succeeded; a failed run publishes zero */
|
|
5793
5829
|
transactionalEmissions: boolean;
|
|
5830
|
+
/** @description Per-automation concurrency limit (#1108). null = queued per instance with the engine default; set = a queue private to this automation, 1 being strict single-flight */
|
|
5831
|
+
maxConcurrency: number | null;
|
|
5832
|
+
/** @description Template over the event payload partitioning this automation’s queue (#1108), e.g. "{{payload.from.id}}" to serialize per chat; null = one queue for the whole automation */
|
|
5833
|
+
concurrencyKey: string | null;
|
|
5794
5834
|
/**
|
|
5795
5835
|
* Format: uuid
|
|
5796
5836
|
* @description Set when this automation was compiled from an agent event manifest (RFC #925 G4b, #986); null = hand-made. Managed automations reject manual mutation — edit the owning agent’s manifest instead
|
|
@@ -5933,6 +5973,10 @@ export interface components {
|
|
|
5933
5973
|
* @default false
|
|
5934
5974
|
*/
|
|
5935
5975
|
transactionalEmissions: boolean;
|
|
5976
|
+
/** @description Per-automation concurrency limit (#1108). Omit/null = today’s per-instance queueing with the engine default; 1 = strict single-flight, which is what a read-before-write action needs */
|
|
5977
|
+
maxConcurrency?: number | null;
|
|
5978
|
+
/** @description Template over the event payload partitioning this automation’s queue (#1108), e.g. "{{payload.from.id}}" to serialize per chat; omit/null = one queue for the whole automation */
|
|
5979
|
+
concurrencyKey?: string | null;
|
|
5936
5980
|
};
|
|
5937
5981
|
AutomationLog: {
|
|
5938
5982
|
/**
|
|
@@ -6021,7 +6065,7 @@ export interface components {
|
|
|
6021
6065
|
running: boolean;
|
|
6022
6066
|
/** @description Instance queue stats */
|
|
6023
6067
|
instanceQueues?: {
|
|
6024
|
-
/** @description
|
|
6068
|
+
/** @description Queue key: the instance ID, or "<instanceId>:<automationId>[:<partition>]" for an automation running on its own queue (#1108) */
|
|
6025
6069
|
instanceId: string;
|
|
6026
6070
|
/** @description Active jobs */
|
|
6027
6071
|
activeCount: number;
|
|
@@ -17157,6 +17201,69 @@ export interface operations {
|
|
|
17157
17201
|
};
|
|
17158
17202
|
};
|
|
17159
17203
|
};
|
|
17204
|
+
validateEventPayload: {
|
|
17205
|
+
parameters: {
|
|
17206
|
+
query?: never;
|
|
17207
|
+
header?: never;
|
|
17208
|
+
path: {
|
|
17209
|
+
eventType: string;
|
|
17210
|
+
};
|
|
17211
|
+
cookie?: never;
|
|
17212
|
+
};
|
|
17213
|
+
requestBody?: {
|
|
17214
|
+
content: {
|
|
17215
|
+
"application/json": {
|
|
17216
|
+
/** @description The event payload to validate (any JSON value) */
|
|
17217
|
+
payload?: unknown;
|
|
17218
|
+
};
|
|
17219
|
+
};
|
|
17220
|
+
};
|
|
17221
|
+
responses: {
|
|
17222
|
+
/** @description Validation verdict */
|
|
17223
|
+
200: {
|
|
17224
|
+
headers: {
|
|
17225
|
+
[name: string]: unknown;
|
|
17226
|
+
};
|
|
17227
|
+
content: {
|
|
17228
|
+
"application/json": {
|
|
17229
|
+
data: {
|
|
17230
|
+
/** @description Event type the payload was checked against */
|
|
17231
|
+
eventType: string;
|
|
17232
|
+
/** @description Schema revision used */
|
|
17233
|
+
version: number;
|
|
17234
|
+
/** @description Whether the gate is active for this type (a disabled schema is still checked) */
|
|
17235
|
+
enabled: boolean;
|
|
17236
|
+
/** @description True when the payload satisfies the schema */
|
|
17237
|
+
valid: boolean;
|
|
17238
|
+
/** @description Violations as `instancePath: message`, identical to the ingress gate; empty when valid */
|
|
17239
|
+
errors: string[];
|
|
17240
|
+
};
|
|
17241
|
+
};
|
|
17242
|
+
};
|
|
17243
|
+
};
|
|
17244
|
+
/** @description No schema registered for this type */
|
|
17245
|
+
404: {
|
|
17246
|
+
headers: {
|
|
17247
|
+
[name: string]: unknown;
|
|
17248
|
+
};
|
|
17249
|
+
content: {
|
|
17250
|
+
"application/json": {
|
|
17251
|
+
error: {
|
|
17252
|
+
/**
|
|
17253
|
+
* @description Error code
|
|
17254
|
+
* @example NOT_FOUND
|
|
17255
|
+
*/
|
|
17256
|
+
code: string;
|
|
17257
|
+
/** @description Human-readable error message */
|
|
17258
|
+
message: string;
|
|
17259
|
+
/** @description Additional error details */
|
|
17260
|
+
details?: unknown;
|
|
17261
|
+
};
|
|
17262
|
+
};
|
|
17263
|
+
};
|
|
17264
|
+
};
|
|
17265
|
+
};
|
|
17266
|
+
};
|
|
17160
17267
|
listEventConsumers: {
|
|
17161
17268
|
parameters: {
|
|
17162
17269
|
query?: never;
|
|
@@ -17802,6 +17909,10 @@ export interface operations {
|
|
|
17802
17909
|
priority: number;
|
|
17803
17910
|
/** @description Transactional publication (G5, #988): buffer the run's emit_event publishes and flush them in order only when every action succeeded; a failed run publishes zero */
|
|
17804
17911
|
transactionalEmissions: boolean;
|
|
17912
|
+
/** @description Per-automation concurrency limit (#1108). null = queued per instance with the engine default; set = a queue private to this automation, 1 being strict single-flight */
|
|
17913
|
+
maxConcurrency: number | null;
|
|
17914
|
+
/** @description Template over the event payload partitioning this automation’s queue (#1108), e.g. "{{payload.from.id}}" to serialize per chat; null = one queue for the whole automation */
|
|
17915
|
+
concurrencyKey: string | null;
|
|
17805
17916
|
/**
|
|
17806
17917
|
* Format: uuid
|
|
17807
17918
|
* @description Set when this automation was compiled from an agent event manifest (RFC #925 G4b, #986); null = hand-made. Managed automations reject manual mutation — edit the owning agent’s manifest instead
|
|
@@ -17958,6 +18069,10 @@ export interface operations {
|
|
|
17958
18069
|
* @default false
|
|
17959
18070
|
*/
|
|
17960
18071
|
transactionalEmissions?: boolean;
|
|
18072
|
+
/** @description Per-automation concurrency limit (#1108). Omit/null = today’s per-instance queueing with the engine default; 1 = strict single-flight, which is what a read-before-write action needs */
|
|
18073
|
+
maxConcurrency?: number | null;
|
|
18074
|
+
/** @description Template over the event payload partitioning this automation’s queue (#1108), e.g. "{{payload.from.id}}" to serialize per chat; omit/null = one queue for the whole automation */
|
|
18075
|
+
concurrencyKey?: string | null;
|
|
17961
18076
|
};
|
|
17962
18077
|
};
|
|
17963
18078
|
};
|
|
@@ -18090,6 +18205,10 @@ export interface operations {
|
|
|
18090
18205
|
priority: number;
|
|
18091
18206
|
/** @description Transactional publication (G5, #988): buffer the run's emit_event publishes and flush them in order only when every action succeeded; a failed run publishes zero */
|
|
18092
18207
|
transactionalEmissions: boolean;
|
|
18208
|
+
/** @description Per-automation concurrency limit (#1108). null = queued per instance with the engine default; set = a queue private to this automation, 1 being strict single-flight */
|
|
18209
|
+
maxConcurrency: number | null;
|
|
18210
|
+
/** @description Template over the event payload partitioning this automation’s queue (#1108), e.g. "{{payload.from.id}}" to serialize per chat; null = one queue for the whole automation */
|
|
18211
|
+
concurrencyKey: string | null;
|
|
18093
18212
|
/**
|
|
18094
18213
|
* Format: uuid
|
|
18095
18214
|
* @description Set when this automation was compiled from an agent event manifest (RFC #925 G4b, #986); null = hand-made. Managed automations reject manual mutation — edit the owning agent’s manifest instead
|
|
@@ -18271,6 +18390,10 @@ export interface operations {
|
|
|
18271
18390
|
priority: number;
|
|
18272
18391
|
/** @description Transactional publication (G5, #988): buffer the run's emit_event publishes and flush them in order only when every action succeeded; a failed run publishes zero */
|
|
18273
18392
|
transactionalEmissions: boolean;
|
|
18393
|
+
/** @description Per-automation concurrency limit (#1108). null = queued per instance with the engine default; set = a queue private to this automation, 1 being strict single-flight */
|
|
18394
|
+
maxConcurrency: number | null;
|
|
18395
|
+
/** @description Template over the event payload partitioning this automation’s queue (#1108), e.g. "{{payload.from.id}}" to serialize per chat; null = one queue for the whole automation */
|
|
18396
|
+
concurrencyKey: string | null;
|
|
18274
18397
|
/**
|
|
18275
18398
|
* Format: uuid
|
|
18276
18399
|
* @description Set when this automation was compiled from an agent event manifest (RFC #925 G4b, #986); null = hand-made. Managed automations reject manual mutation — edit the owning agent’s manifest instead
|
|
@@ -18498,6 +18621,10 @@ export interface operations {
|
|
|
18498
18621
|
* @default false
|
|
18499
18622
|
*/
|
|
18500
18623
|
transactionalEmissions?: boolean;
|
|
18624
|
+
/** @description Per-automation concurrency limit (#1108). Omit/null = today’s per-instance queueing with the engine default; 1 = strict single-flight, which is what a read-before-write action needs */
|
|
18625
|
+
maxConcurrency?: number | null;
|
|
18626
|
+
/** @description Template over the event payload partitioning this automation’s queue (#1108), e.g. "{{payload.from.id}}" to serialize per chat; omit/null = one queue for the whole automation */
|
|
18627
|
+
concurrencyKey?: string | null;
|
|
18501
18628
|
};
|
|
18502
18629
|
};
|
|
18503
18630
|
};
|
|
@@ -18630,6 +18757,10 @@ export interface operations {
|
|
|
18630
18757
|
priority: number;
|
|
18631
18758
|
/** @description Transactional publication (G5, #988): buffer the run's emit_event publishes and flush them in order only when every action succeeded; a failed run publishes zero */
|
|
18632
18759
|
transactionalEmissions: boolean;
|
|
18760
|
+
/** @description Per-automation concurrency limit (#1108). null = queued per instance with the engine default; set = a queue private to this automation, 1 being strict single-flight */
|
|
18761
|
+
maxConcurrency: number | null;
|
|
18762
|
+
/** @description Template over the event payload partitioning this automation’s queue (#1108), e.g. "{{payload.from.id}}" to serialize per chat; null = one queue for the whole automation */
|
|
18763
|
+
concurrencyKey: string | null;
|
|
18633
18764
|
/**
|
|
18634
18765
|
* Format: uuid
|
|
18635
18766
|
* @description Set when this automation was compiled from an agent event manifest (RFC #925 G4b, #986); null = hand-made. Managed automations reject manual mutation — edit the owning agent’s manifest instead
|
|
@@ -18811,6 +18942,10 @@ export interface operations {
|
|
|
18811
18942
|
priority: number;
|
|
18812
18943
|
/** @description Transactional publication (G5, #988): buffer the run's emit_event publishes and flush them in order only when every action succeeded; a failed run publishes zero */
|
|
18813
18944
|
transactionalEmissions: boolean;
|
|
18945
|
+
/** @description Per-automation concurrency limit (#1108). null = queued per instance with the engine default; set = a queue private to this automation, 1 being strict single-flight */
|
|
18946
|
+
maxConcurrency: number | null;
|
|
18947
|
+
/** @description Template over the event payload partitioning this automation’s queue (#1108), e.g. "{{payload.from.id}}" to serialize per chat; null = one queue for the whole automation */
|
|
18948
|
+
concurrencyKey: string | null;
|
|
18814
18949
|
/**
|
|
18815
18950
|
* Format: uuid
|
|
18816
18951
|
* @description Set when this automation was compiled from an agent event manifest (RFC #925 G4b, #986); null = hand-made. Managed automations reject manual mutation — edit the owning agent’s manifest instead
|
|
@@ -18992,6 +19127,10 @@ export interface operations {
|
|
|
18992
19127
|
priority: number;
|
|
18993
19128
|
/** @description Transactional publication (G5, #988): buffer the run's emit_event publishes and flush them in order only when every action succeeded; a failed run publishes zero */
|
|
18994
19129
|
transactionalEmissions: boolean;
|
|
19130
|
+
/** @description Per-automation concurrency limit (#1108). null = queued per instance with the engine default; set = a queue private to this automation, 1 being strict single-flight */
|
|
19131
|
+
maxConcurrency: number | null;
|
|
19132
|
+
/** @description Template over the event payload partitioning this automation’s queue (#1108), e.g. "{{payload.from.id}}" to serialize per chat; null = one queue for the whole automation */
|
|
19133
|
+
concurrencyKey: string | null;
|
|
18995
19134
|
/**
|
|
18996
19135
|
* Format: uuid
|
|
18997
19136
|
* @description Set when this automation was compiled from an agent event manifest (RFC #925 G4b, #986); null = hand-made. Managed automations reject manual mutation — edit the owning agent’s manifest instead
|
|
@@ -19355,7 +19494,7 @@ export interface operations {
|
|
|
19355
19494
|
running: boolean;
|
|
19356
19495
|
/** @description Instance queue stats */
|
|
19357
19496
|
instanceQueues?: {
|
|
19358
|
-
/** @description
|
|
19497
|
+
/** @description Queue key: the instance ID, or "<instanceId>:<automationId>[:<partition>]" for an automation running on its own queue (#1108) */
|
|
19359
19498
|
instanceId: string;
|
|
19360
19499
|
/** @description Active jobs */
|
|
19361
19500
|
activeCount: number;
|