mcp-event-intelligence 0.4.0 → 0.5.0

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.
Files changed (40) hide show
  1. package/CHANGELOG.md +59 -0
  2. package/README.md +102 -14
  3. package/SECURITY.md +4 -4
  4. package/bin/mcp-event-intelligence.mjs +3 -3
  5. package/dist/src/composite/engine.d.ts +6 -0
  6. package/dist/src/composite/engine.js +599 -10
  7. package/dist/src/composite/matching.js +45 -0
  8. package/dist/src/intelligenceProtocol/activationSchemas.d.ts +2 -0
  9. package/dist/src/intelligenceProtocol/activationSchemas.js +1 -0
  10. package/dist/src/intelligenceProtocol/index.d.ts +9 -2
  11. package/dist/src/intelligenceProtocol/index.js +5 -1
  12. package/dist/src/intelligenceProtocol/operatorRegistry.d.ts +567 -0
  13. package/dist/src/intelligenceProtocol/operatorRegistry.js +477 -0
  14. package/dist/src/intelligenceProtocol/patternV2Schemas.d.ts +188 -0
  15. package/dist/src/intelligenceProtocol/patternV2Schemas.js +801 -0
  16. package/dist/src/intelligenceProtocol/schemas.d.ts +4 -0
  17. package/dist/src/intelligenceProtocol/schemas.js +2 -0
  18. package/dist/src/intelligenceProtocol/triggerPlanSchemas.d.ts +177 -4
  19. package/dist/src/intelligenceProtocol/triggerPlanSchemas.js +37 -4
  20. package/dist/src/intelligenceProtocol/triggerSchemas.d.ts +256 -0
  21. package/dist/src/intelligenceProtocol/triggerSchemas.js +161 -2
  22. package/dist/src/mcpEvents/consumer.d.ts +1 -0
  23. package/dist/src/mcpEvents/consumer.js +1 -0
  24. package/dist/src/patternV2/evaluator.d.ts +43 -0
  25. package/dist/src/patternV2/evaluator.js +927 -0
  26. package/dist/src/patternV2/legacyCompiler.d.ts +3 -0
  27. package/dist/src/patternV2/legacyCompiler.js +184 -0
  28. package/package.json +5 -2
  29. package/scripts/host-integration.d.mts +7 -0
  30. package/scripts/host-integration.mjs +9 -0
  31. package/scripts/lib/activation-hydrator.mjs +1 -0
  32. package/scripts/lib/composite-event-consumer.mjs +2 -0
  33. package/scripts/lib/derived-event-coordinator.mjs +75 -1
  34. package/scripts/lib/mcp-events-client.mjs +62 -24
  35. package/scripts/lib/mcp-events-compatibility.mjs +54 -0
  36. package/scripts/lib/trigger-control-plane.mjs +154 -0
  37. package/scripts/lib/trigger-inspector.mjs +15 -0
  38. package/scripts/lib/trigger-planner.mjs +190 -12
  39. package/scripts/mcp-stdio-server.mjs +38 -53
  40. package/server.json +4 -4
@@ -46,10 +46,54 @@ function predicateMatches(event, predicate) {
46
46
  if (Array.isArray(value))
47
47
  return value.includes(predicate.value);
48
48
  return false;
49
+ case 'startsWith':
50
+ return typeof value === 'string' && value.startsWith(predicate.value);
51
+ case 'endsWith':
52
+ return typeof value === 'string' && value.endsWith(predicate.value);
53
+ case 'regex':
54
+ if (typeof value !== 'string')
55
+ return false;
56
+ try {
57
+ return new RegExp(predicate.value, predicate.flags ?? '').test(value);
58
+ }
59
+ catch {
60
+ return false;
61
+ }
49
62
  case 'in':
50
63
  return predicate.value.includes(value);
64
+ case 'notIn':
65
+ return !predicate.value.includes(value);
66
+ case 'between': {
67
+ const [lower, upper] = predicate.value;
68
+ if (typeof value === 'number') {
69
+ return (typeof lower === 'number' &&
70
+ typeof upper === 'number' &&
71
+ value >= lower &&
72
+ value <= upper);
73
+ }
74
+ if (typeof value === 'string') {
75
+ return (typeof lower === 'string' &&
76
+ typeof upper === 'string' &&
77
+ value >= lower &&
78
+ value <= upper);
79
+ }
80
+ return false;
81
+ }
51
82
  case 'exists':
52
83
  return predicate.value ? value !== undefined : value === undefined;
84
+ case 'isNull':
85
+ return predicate.value
86
+ ? value === null || value === undefined
87
+ : value !== null && value !== undefined;
88
+ case 'type':
89
+ if (predicate.value === 'null')
90
+ return value === null;
91
+ if (predicate.value === 'array')
92
+ return Array.isArray(value);
93
+ if (predicate.value === 'object') {
94
+ return value !== null && typeof value === 'object' && !Array.isArray(value);
95
+ }
96
+ return typeof value === predicate.value;
53
97
  case 'gt':
54
98
  return typeof value === 'number' && value > predicate.value;
55
99
  case 'gte':
@@ -76,6 +120,7 @@ export function asSourceEvent(clauseId, event) {
76
120
  sourceEventId: event.sourceEventId,
77
121
  eventName: event.name,
78
122
  occurredAt: event.occurredAt,
123
+ ...(event.receivedAt ? { receivedAt: event.receivedAt } : {}),
79
124
  ...(event.provider ? { provider: event.provider } : {}),
80
125
  ...(event.serverId ? { serverId: event.serverId } : {}),
81
126
  subscriptionArguments: event.subscriptionArguments ?? {},
@@ -6,6 +6,7 @@ export declare const ActivationEvidenceSchema: z.ZodObject<{
6
6
  eventName: z.ZodString;
7
7
  traceId: z.ZodString;
8
8
  occurredAt: z.ZodString;
9
+ receivedAt: z.ZodOptional<z.ZodString>;
9
10
  payloadHash: z.ZodNullable<z.ZodString>;
10
11
  data: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
11
12
  }, z.core.$strict>;
@@ -54,6 +55,7 @@ export declare const ActivationEnvelopeSchema: z.ZodObject<{
54
55
  eventName: z.ZodString;
55
56
  traceId: z.ZodString;
56
57
  occurredAt: z.ZodString;
58
+ receivedAt: z.ZodOptional<z.ZodString>;
57
59
  payloadHash: z.ZodNullable<z.ZodString>;
58
60
  data: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
59
61
  }, z.core.$strict>>;
@@ -9,6 +9,7 @@ export const ActivationEvidenceSchema = z.object({
9
9
  eventName: z.string().min(1),
10
10
  traceId: Id,
11
11
  occurredAt: Timestamp,
12
+ receivedAt: Timestamp.optional(),
12
13
  payloadHash: z.string().regex(/^[a-f0-9]{64}$/).nullable(),
13
14
  data: z.record(z.string(), z.unknown()).optional(),
14
15
  }).strict();
@@ -1,3 +1,10 @@
1
+ export { PATTERN_AST_VERSION, PatternValueSelectorSchema, PatternArithmeticValueSchema, PatternCompareOperatorSchema, AggregateFunctionSchema, PatternWindowSchema, PatternNodeV2Schema, PatternPartitionDimensionSchema, PatternAfterMatchSchema, PatternSelectionSchema, PatternExecutionPolicySchema, PatternMeasureSchema, PatternAstV2DefinitionSchema, collectPatternDurationsMs, collectGuaranteedPatternBindings, collectPatternMeasureRefs, collectPatternRefs, } from './patternV2Schemas.js';
2
+ export type { PatternValueSelector, PatternArithmeticValue, PatternWindow, PatternNodeV2, PatternAfterMatch, PatternAstV2Definition, PatternMeasure, } from './patternV2Schemas.js';
3
+ export { compileLegacyTriggerToPatternV2, } from '../patternV2/legacyCompiler.js';
4
+ export { evaluatePatternV2, evaluatePatternAggregate, evaluatePatternMeasure, patternV2CandidateSignature, } from '../patternV2/evaluator.js';
5
+ export type { PatternV2Candidate, PatternV2Evaluation, PatternV2SemanticDecision, PatternV2SemanticTrace, } from '../patternV2/evaluator.js';
6
+ export { TRIGGER_LANGUAGE_VERSION, PREDICATE_OPERATOR, COMPOSITION_OPERATOR, TEMPORAL_OPERATOR, TRIGGER_LANGUAGE_CATALOG, describeTriggerLanguage, } from './operatorRegistry.js';
7
+ export type { TriggerLanguageCategory, } from './operatorRegistry.js';
1
8
  export { EVENT_INTELLIGENCE_PROTOCOL, EVENT_INTELLIGENCE_PROTOCOL_VERSION, EVENT_INTELLIGENCE_SCHEMA_VERSION, EVENT_INTELLIGENCE_COMPATIBILITY, } from './version.js';
2
9
  export { RuntimeTargetSchema, EventSourceSchema, EventLineageSchema, McpEventOccurrenceSchema, SemanticConditionWireSchema, EventIngestRequestSchema, SemanticDecisionRecordSchema, WakeRecordSchema, LifecycleStateSchema, AuditKindSchema, AuditRecordSchema, parseEventIngestRequest, parseEventLineage, parseSemanticDecisionRecord, parseWakeRecord, parseAuditRecord, } from './schemas.js';
3
10
  export type { RuntimeTarget, McpEventOccurrence, SemanticConditionWire, EventIngestRequest, EventLineage, SemanticDecisionRecord, WakeRecord, LifecycleState, AuditRecord, } from './schemas.js';
@@ -8,8 +15,8 @@ export type { AppendAuditInput, } from './audit.js';
8
15
  export { mapMcpEventToLineage, } from './mapper.js';
9
16
  export type { MapMcpEventInput, } from './mapper.js';
10
17
  export { assertDecisionLineage, assertWakeLineage, } from './invariants.js';
11
- export { COMPOSITE_TRIGGER_PROTOCOL_VERSION, COMPOSITE_TRIGGER_SCHEMA_VERSION, StructuredPredicateSchema, TriggerClauseSchema, ContinuationContextPolicySchema, ContinuationContractSchema, DerivedEventProjectionSchema, DerivedEventDefinitionSchema, DerivedEventEvidenceRefSchema, DerivedEventRecordSchema, DeterministicCorrelationSchema, SemanticCorrelationSchema, CompositeTriggerDefinitionSchema, CorrelatableEventSchema, TriggerSourceEventSchema, CompositeCorrelationDecisionSchema, TriggerMatchStatusSchema, TriggerMatchRecordSchema, parseCompositeTriggerDefinition, parseCorrelatableEvent, parseTriggerMatchRecord, parseDerivedEventRecord, } from './triggerSchemas.js';
12
- export type { StructuredPredicate, TriggerClause, ContinuationContextPolicy, ContinuationContract, DerivedEventDefinition, DerivedEventRecord, CompositeTriggerDefinition, CorrelatableEvent, TriggerSourceEvent, TriggerMatchRecord, CompositeCorrelationDecision, } from './triggerSchemas.js';
18
+ export { COMPOSITE_TRIGGER_PROTOCOL_VERSION, COMPOSITE_TRIGGER_SCHEMA_VERSION, StructuredPredicateSchema, TriggerClauseSchema, TemporalConditionSchema, ContinuationContextPolicySchema, ContinuationContractSchema, EventTimePolicySchema, DerivedEventProjectionSchema, DerivedEventDefinitionSchema, DerivedEventEvidenceRefSchema, DerivedEventRecordSchema, DeterministicCorrelationSchema, SemanticCorrelationSchema, CompositeTriggerDefinitionSchema, CorrelatableEventSchema, TriggerSourceEventSchema, CompositeCorrelationDecisionSchema, TriggerMatchStatusSchema, PatternMatchStateSchema, TriggerMatchRecordSchema, parseCompositeTriggerDefinition, parseCorrelatableEvent, parseTriggerMatchRecord, parseDerivedEventRecord, } from './triggerSchemas.js';
19
+ export type { StructuredPredicate, TriggerClause, TemporalCondition, ContinuationContextPolicy, ContinuationContract, EventTimePolicy, DerivedEventDefinition, DerivedEventRecord, CompositeTriggerDefinition, CorrelatableEvent, TriggerSourceEvent, PatternMatchState, TriggerMatchRecord, CompositeCorrelationDecision, } from './triggerSchemas.js';
13
20
  export { TriggerPlanEventSchema, TriggerPlanMatchSchema, TriggerPlanInputSchema, parseTriggerPlanInput, } from './triggerPlanSchemas.js';
14
21
  export type { TriggerPlanEvent, TriggerPlanMatch, TriggerPlanInput, } from './triggerPlanSchemas.js';
15
22
  export { ActivationEvidenceSchema, ActivationEnvelopeSchema, parseActivationEnvelope, } from './activationSchemas.js';
@@ -1,3 +1,7 @@
1
+ export { PATTERN_AST_VERSION, PatternValueSelectorSchema, PatternArithmeticValueSchema, PatternCompareOperatorSchema, AggregateFunctionSchema, PatternWindowSchema, PatternNodeV2Schema, PatternPartitionDimensionSchema, PatternAfterMatchSchema, PatternSelectionSchema, PatternExecutionPolicySchema, PatternMeasureSchema, PatternAstV2DefinitionSchema, collectPatternDurationsMs, collectGuaranteedPatternBindings, collectPatternMeasureRefs, collectPatternRefs, } from './patternV2Schemas.js';
2
+ export { compileLegacyTriggerToPatternV2, } from '../patternV2/legacyCompiler.js';
3
+ export { evaluatePatternV2, evaluatePatternAggregate, evaluatePatternMeasure, patternV2CandidateSignature, } from '../patternV2/evaluator.js';
4
+ export { TRIGGER_LANGUAGE_VERSION, PREDICATE_OPERATOR, COMPOSITION_OPERATOR, TEMPORAL_OPERATOR, TRIGGER_LANGUAGE_CATALOG, describeTriggerLanguage, } from './operatorRegistry.js';
1
5
  export { EVENT_INTELLIGENCE_PROTOCOL, EVENT_INTELLIGENCE_PROTOCOL_VERSION, EVENT_INTELLIGENCE_SCHEMA_VERSION, EVENT_INTELLIGENCE_COMPATIBILITY, } from './version.js';
2
6
  export { RuntimeTargetSchema, EventSourceSchema, EventLineageSchema, McpEventOccurrenceSchema, SemanticConditionWireSchema, EventIngestRequestSchema, SemanticDecisionRecordSchema, WakeRecordSchema, LifecycleStateSchema, AuditKindSchema, AuditRecordSchema, parseEventIngestRequest, parseEventLineage, parseSemanticDecisionRecord, parseWakeRecord, parseAuditRecord, } from './schemas.js';
3
7
  export { canTransition, assertTransition, allowedTransitions, } from './lifecycle.js';
@@ -5,6 +9,6 @@ export { canonicalJson, sha256Hex, } from './canonical.js';
5
9
  export { AuditChain, } from './audit.js';
6
10
  export { mapMcpEventToLineage, } from './mapper.js';
7
11
  export { assertDecisionLineage, assertWakeLineage, } from './invariants.js';
8
- export { COMPOSITE_TRIGGER_PROTOCOL_VERSION, COMPOSITE_TRIGGER_SCHEMA_VERSION, StructuredPredicateSchema, TriggerClauseSchema, ContinuationContextPolicySchema, ContinuationContractSchema, DerivedEventProjectionSchema, DerivedEventDefinitionSchema, DerivedEventEvidenceRefSchema, DerivedEventRecordSchema, DeterministicCorrelationSchema, SemanticCorrelationSchema, CompositeTriggerDefinitionSchema, CorrelatableEventSchema, TriggerSourceEventSchema, CompositeCorrelationDecisionSchema, TriggerMatchStatusSchema, TriggerMatchRecordSchema, parseCompositeTriggerDefinition, parseCorrelatableEvent, parseTriggerMatchRecord, parseDerivedEventRecord, } from './triggerSchemas.js';
12
+ export { COMPOSITE_TRIGGER_PROTOCOL_VERSION, COMPOSITE_TRIGGER_SCHEMA_VERSION, StructuredPredicateSchema, TriggerClauseSchema, TemporalConditionSchema, ContinuationContextPolicySchema, ContinuationContractSchema, EventTimePolicySchema, DerivedEventProjectionSchema, DerivedEventDefinitionSchema, DerivedEventEvidenceRefSchema, DerivedEventRecordSchema, DeterministicCorrelationSchema, SemanticCorrelationSchema, CompositeTriggerDefinitionSchema, CorrelatableEventSchema, TriggerSourceEventSchema, CompositeCorrelationDecisionSchema, TriggerMatchStatusSchema, PatternMatchStateSchema, TriggerMatchRecordSchema, parseCompositeTriggerDefinition, parseCorrelatableEvent, parseTriggerMatchRecord, parseDerivedEventRecord, } from './triggerSchemas.js';
9
13
  export { TriggerPlanEventSchema, TriggerPlanMatchSchema, TriggerPlanInputSchema, parseTriggerPlanInput, } from './triggerPlanSchemas.js';
10
14
  export { ActivationEvidenceSchema, ActivationEnvelopeSchema, parseActivationEnvelope, } from './activationSchemas.js';
@@ -0,0 +1,567 @@
1
+ export declare const TRIGGER_LANGUAGE_VERSION: "2";
2
+ export declare const PREDICATE_OPERATOR: {
3
+ readonly EQ: "eq";
4
+ readonly NEQ: "neq";
5
+ readonly CONTAINS: "contains";
6
+ readonly STARTS_WITH: "startsWith";
7
+ readonly ENDS_WITH: "endsWith";
8
+ readonly REGEX: "regex";
9
+ readonly IN: "in";
10
+ readonly NOT_IN: "notIn";
11
+ readonly BETWEEN: "between";
12
+ readonly EXISTS: "exists";
13
+ readonly IS_NULL: "isNull";
14
+ readonly TYPE: "type";
15
+ readonly GT: "gt";
16
+ readonly GTE: "gte";
17
+ readonly LT: "lt";
18
+ readonly LTE: "lte";
19
+ };
20
+ export declare const COMPOSITION_OPERATOR: {
21
+ readonly ALL: "all";
22
+ readonly ANY: "any";
23
+ readonly SEQUENCE: "sequence";
24
+ readonly COUNT: "count";
25
+ };
26
+ export declare const TEMPORAL_OPERATOR: {
27
+ readonly CALENDAR: "calendar";
28
+ readonly ABSENCE: "absence";
29
+ readonly NOT: "not";
30
+ readonly UNLESS: "unless";
31
+ readonly AFTER: "after";
32
+ readonly UNTIL: "until";
33
+ readonly DEBOUNCE: "debounce";
34
+ readonly THRESHOLD: "threshold";
35
+ readonly RATE: "rate";
36
+ readonly DISTINCT: "distinct";
37
+ };
38
+ export declare const TRIGGER_LANGUAGE_CATALOG: Readonly<{
39
+ version: "2";
40
+ predicates: readonly ({
41
+ id: "eq";
42
+ description: string;
43
+ fields: string[];
44
+ example: {
45
+ path: string;
46
+ op: string;
47
+ value: string;
48
+ };
49
+ optionalFields?: undefined;
50
+ values?: undefined;
51
+ } | {
52
+ id: "neq";
53
+ description: string;
54
+ fields: string[];
55
+ example: {
56
+ path: string;
57
+ op: string;
58
+ value: string;
59
+ };
60
+ optionalFields?: undefined;
61
+ values?: undefined;
62
+ } | {
63
+ id: "contains";
64
+ description: string;
65
+ fields: string[];
66
+ example: {
67
+ path: string;
68
+ op: string;
69
+ value: string;
70
+ };
71
+ optionalFields?: undefined;
72
+ values?: undefined;
73
+ } | {
74
+ id: "startsWith";
75
+ description: string;
76
+ fields: string[];
77
+ example: {
78
+ path: string;
79
+ op: string;
80
+ value: string;
81
+ };
82
+ optionalFields?: undefined;
83
+ values?: undefined;
84
+ } | {
85
+ id: "endsWith";
86
+ description: string;
87
+ fields: string[];
88
+ example: {
89
+ path: string;
90
+ op: string;
91
+ value: string;
92
+ };
93
+ optionalFields?: undefined;
94
+ values?: undefined;
95
+ } | {
96
+ id: "regex";
97
+ description: string;
98
+ fields: string[];
99
+ optionalFields: string[];
100
+ example: {
101
+ path: string;
102
+ op: string;
103
+ value: string;
104
+ };
105
+ values?: undefined;
106
+ } | {
107
+ id: "in";
108
+ description: string;
109
+ fields: string[];
110
+ example: {
111
+ path: string;
112
+ op: string;
113
+ value: string[];
114
+ };
115
+ optionalFields?: undefined;
116
+ values?: undefined;
117
+ } | {
118
+ id: "notIn";
119
+ description: string;
120
+ fields: string[];
121
+ example: {
122
+ path: string;
123
+ op: string;
124
+ value: string[];
125
+ };
126
+ optionalFields?: undefined;
127
+ values?: undefined;
128
+ } | {
129
+ id: "between";
130
+ description: string;
131
+ fields: string[];
132
+ example: {
133
+ path: string;
134
+ op: string;
135
+ value: number[];
136
+ };
137
+ optionalFields?: undefined;
138
+ values?: undefined;
139
+ } | {
140
+ id: "exists";
141
+ description: string;
142
+ fields: string[];
143
+ example: {
144
+ path: string;
145
+ op: string;
146
+ value: boolean;
147
+ };
148
+ optionalFields?: undefined;
149
+ values?: undefined;
150
+ } | {
151
+ id: "isNull";
152
+ description: string;
153
+ fields: string[];
154
+ example: {
155
+ path: string;
156
+ op: string;
157
+ value: boolean;
158
+ };
159
+ optionalFields?: undefined;
160
+ values?: undefined;
161
+ } | {
162
+ id: "type";
163
+ description: string;
164
+ fields: string[];
165
+ values: string[];
166
+ example: {
167
+ path: string;
168
+ op: string;
169
+ value: string;
170
+ };
171
+ optionalFields?: undefined;
172
+ } | {
173
+ id: "gt";
174
+ description: string;
175
+ fields: string[];
176
+ example: {
177
+ path: string;
178
+ op: string;
179
+ value: number;
180
+ };
181
+ optionalFields?: undefined;
182
+ values?: undefined;
183
+ } | {
184
+ id: "gte";
185
+ description: string;
186
+ fields: string[];
187
+ example: {
188
+ path: string;
189
+ op: string;
190
+ value: number;
191
+ };
192
+ optionalFields?: undefined;
193
+ values?: undefined;
194
+ } | {
195
+ id: "lt";
196
+ description: string;
197
+ fields: string[];
198
+ example: {
199
+ path: string;
200
+ op: string;
201
+ value: number;
202
+ };
203
+ optionalFields?: undefined;
204
+ values?: undefined;
205
+ } | {
206
+ id: "lte";
207
+ description: string;
208
+ fields: string[];
209
+ example: {
210
+ path: string;
211
+ op: string;
212
+ value: number;
213
+ };
214
+ optionalFields?: undefined;
215
+ values?: undefined;
216
+ })[];
217
+ composition: readonly ({
218
+ id: "all";
219
+ canonicalKind: string;
220
+ description: string;
221
+ example: {
222
+ match: string;
223
+ };
224
+ } | {
225
+ id: "any";
226
+ canonicalKind: string;
227
+ description: string;
228
+ example: {
229
+ match: string;
230
+ };
231
+ } | {
232
+ id: "sequence";
233
+ canonicalKind: string;
234
+ description: string;
235
+ example: {
236
+ match: string;
237
+ };
238
+ } | {
239
+ id: "count";
240
+ canonicalKind: string;
241
+ description: string;
242
+ example: {
243
+ match: {
244
+ kind: string;
245
+ eventId: string;
246
+ atLeast: number;
247
+ };
248
+ };
249
+ })[];
250
+ temporal: readonly ({
251
+ id: "calendar";
252
+ description: string;
253
+ fields: string[];
254
+ optionalFields: string[];
255
+ example: {
256
+ id: string;
257
+ kind: string;
258
+ ref: string;
259
+ timezone: string;
260
+ after: string;
261
+ before: string;
262
+ weekdays: number[];
263
+ afterRef?: undefined;
264
+ forMs?: undefined;
265
+ beforeRef?: undefined;
266
+ atLeast?: undefined;
267
+ perMs?: undefined;
268
+ path?: undefined;
269
+ };
270
+ oneOf?: undefined;
271
+ } | {
272
+ id: "absence";
273
+ description: string;
274
+ fields: string[];
275
+ oneOf: string[][];
276
+ example: {
277
+ id: string;
278
+ kind: string;
279
+ ref: string;
280
+ afterRef: string;
281
+ forMs: number;
282
+ timezone?: undefined;
283
+ after?: undefined;
284
+ before?: undefined;
285
+ weekdays?: undefined;
286
+ beforeRef?: undefined;
287
+ atLeast?: undefined;
288
+ perMs?: undefined;
289
+ path?: undefined;
290
+ };
291
+ optionalFields?: undefined;
292
+ } | {
293
+ id: "not";
294
+ description: string;
295
+ fields: string[];
296
+ example: {
297
+ id: string;
298
+ kind: string;
299
+ ref: string;
300
+ timezone?: undefined;
301
+ after?: undefined;
302
+ before?: undefined;
303
+ weekdays?: undefined;
304
+ afterRef?: undefined;
305
+ forMs?: undefined;
306
+ beforeRef?: undefined;
307
+ atLeast?: undefined;
308
+ perMs?: undefined;
309
+ path?: undefined;
310
+ };
311
+ optionalFields?: undefined;
312
+ oneOf?: undefined;
313
+ } | {
314
+ id: "unless";
315
+ description: string;
316
+ fields: string[];
317
+ example: {
318
+ id: string;
319
+ kind: string;
320
+ ref: string;
321
+ timezone?: undefined;
322
+ after?: undefined;
323
+ before?: undefined;
324
+ weekdays?: undefined;
325
+ afterRef?: undefined;
326
+ forMs?: undefined;
327
+ beforeRef?: undefined;
328
+ atLeast?: undefined;
329
+ perMs?: undefined;
330
+ path?: undefined;
331
+ };
332
+ optionalFields?: undefined;
333
+ oneOf?: undefined;
334
+ } | {
335
+ id: "after";
336
+ description: string;
337
+ fields: string[];
338
+ example: {
339
+ id: string;
340
+ kind: string;
341
+ ref: string;
342
+ afterRef: string;
343
+ timezone?: undefined;
344
+ after?: undefined;
345
+ before?: undefined;
346
+ weekdays?: undefined;
347
+ forMs?: undefined;
348
+ beforeRef?: undefined;
349
+ atLeast?: undefined;
350
+ perMs?: undefined;
351
+ path?: undefined;
352
+ };
353
+ optionalFields?: undefined;
354
+ oneOf?: undefined;
355
+ } | {
356
+ id: "until";
357
+ description: string;
358
+ fields: string[];
359
+ example: {
360
+ id: string;
361
+ kind: string;
362
+ ref: string;
363
+ beforeRef: string;
364
+ timezone?: undefined;
365
+ after?: undefined;
366
+ before?: undefined;
367
+ weekdays?: undefined;
368
+ afterRef?: undefined;
369
+ forMs?: undefined;
370
+ atLeast?: undefined;
371
+ perMs?: undefined;
372
+ path?: undefined;
373
+ };
374
+ optionalFields?: undefined;
375
+ oneOf?: undefined;
376
+ } | {
377
+ id: "debounce";
378
+ description: string;
379
+ fields: string[];
380
+ example: {
381
+ id: string;
382
+ kind: string;
383
+ ref: string;
384
+ forMs: number;
385
+ timezone?: undefined;
386
+ after?: undefined;
387
+ before?: undefined;
388
+ weekdays?: undefined;
389
+ afterRef?: undefined;
390
+ beforeRef?: undefined;
391
+ atLeast?: undefined;
392
+ perMs?: undefined;
393
+ path?: undefined;
394
+ };
395
+ optionalFields?: undefined;
396
+ oneOf?: undefined;
397
+ } | {
398
+ id: "threshold";
399
+ description: string;
400
+ fields: string[];
401
+ example: {
402
+ id: string;
403
+ kind: string;
404
+ ref: string;
405
+ atLeast: number;
406
+ timezone?: undefined;
407
+ after?: undefined;
408
+ before?: undefined;
409
+ weekdays?: undefined;
410
+ afterRef?: undefined;
411
+ forMs?: undefined;
412
+ beforeRef?: undefined;
413
+ perMs?: undefined;
414
+ path?: undefined;
415
+ };
416
+ optionalFields?: undefined;
417
+ oneOf?: undefined;
418
+ } | {
419
+ id: "rate";
420
+ description: string;
421
+ fields: string[];
422
+ example: {
423
+ id: string;
424
+ kind: string;
425
+ ref: string;
426
+ atLeast: number;
427
+ perMs: number;
428
+ timezone?: undefined;
429
+ after?: undefined;
430
+ before?: undefined;
431
+ weekdays?: undefined;
432
+ afterRef?: undefined;
433
+ forMs?: undefined;
434
+ beforeRef?: undefined;
435
+ path?: undefined;
436
+ };
437
+ optionalFields?: undefined;
438
+ oneOf?: undefined;
439
+ } | {
440
+ id: "distinct";
441
+ description: string;
442
+ fields: string[];
443
+ example: {
444
+ id: string;
445
+ kind: string;
446
+ ref: string;
447
+ path: string;
448
+ atLeast: number;
449
+ timezone?: undefined;
450
+ after?: undefined;
451
+ before?: undefined;
452
+ weekdays?: undefined;
453
+ afterRef?: undefined;
454
+ forMs?: undefined;
455
+ beforeRef?: undefined;
456
+ perMs?: undefined;
457
+ };
458
+ optionalFields?: undefined;
459
+ oneOf?: undefined;
460
+ })[];
461
+ pattern: readonly ({
462
+ id: string;
463
+ description: string;
464
+ example: {
465
+ kind: string;
466
+ ref: string;
467
+ };
468
+ contiguity?: undefined;
469
+ fields?: undefined;
470
+ optionalFields?: undefined;
471
+ } | {
472
+ id: string;
473
+ description: string;
474
+ example?: undefined;
475
+ contiguity?: undefined;
476
+ fields?: undefined;
477
+ optionalFields?: undefined;
478
+ } | {
479
+ id: string;
480
+ description: string;
481
+ contiguity: string[];
482
+ example?: undefined;
483
+ fields?: undefined;
484
+ optionalFields?: undefined;
485
+ } | {
486
+ id: string;
487
+ description: string;
488
+ fields: string[];
489
+ optionalFields: string[];
490
+ contiguity: string[];
491
+ example?: undefined;
492
+ } | {
493
+ id: string;
494
+ description: string;
495
+ fields: string[];
496
+ optionalFields: string[];
497
+ example?: undefined;
498
+ contiguity?: undefined;
499
+ } | {
500
+ id: string;
501
+ description: string;
502
+ fields: string[];
503
+ example?: undefined;
504
+ contiguity?: undefined;
505
+ optionalFields?: undefined;
506
+ })[];
507
+ windows: readonly ({
508
+ id: string;
509
+ description: string;
510
+ fields: string[];
511
+ optionalFields?: undefined;
512
+ } | {
513
+ id: string;
514
+ description: string;
515
+ fields: string[];
516
+ optionalFields: string[];
517
+ })[];
518
+ aggregates: readonly {
519
+ id: string;
520
+ description: string;
521
+ }[];
522
+ state: readonly {
523
+ id: string;
524
+ description: string;
525
+ }[];
526
+ selection: readonly {
527
+ id: string;
528
+ values: (string | {
529
+ kind: string;
530
+ ref: string;
531
+ })[];
532
+ description: string;
533
+ }[];
534
+ semantic: readonly {
535
+ id: string;
536
+ description: string;
537
+ fields: string[];
538
+ optionalFields: string[];
539
+ }[];
540
+ correlation: readonly {
541
+ id: string;
542
+ description: string;
543
+ authoringField: string;
544
+ }[];
545
+ execution: readonly {
546
+ id: string;
547
+ description: string;
548
+ }[];
549
+ timing: readonly ({
550
+ id: string;
551
+ description: string;
552
+ authoringPath?: undefined;
553
+ } | {
554
+ id: string;
555
+ description: string;
556
+ authoringPath: string;
557
+ })[];
558
+ lifecycle: readonly {
559
+ id: string;
560
+ description: string;
561
+ }[];
562
+ }>;
563
+ export type TriggerLanguageCategory = 'predicates' | 'composition' | 'temporal' | 'pattern' | 'windows' | 'aggregates' | 'state' | 'selection' | 'semantic' | 'execution' | 'correlation' | 'timing' | 'lifecycle';
564
+ export declare function describeTriggerLanguage(input?: {
565
+ category?: TriggerLanguageCategory;
566
+ operator?: string;
567
+ }): Record<string, unknown>;