mcp-event-intelligence 0.1.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 (63) hide show
  1. package/CHANGELOG.md +80 -0
  2. package/LICENSE +201 -0
  3. package/README.md +298 -0
  4. package/SECURITY.md +42 -0
  5. package/bin/mcp-event-intelligence.mjs +52 -0
  6. package/dist/src/composite/engine.d.ts +87 -0
  7. package/dist/src/composite/engine.js +667 -0
  8. package/dist/src/composite/temporal.d.ts +32 -0
  9. package/dist/src/composite/temporal.js +317 -0
  10. package/dist/src/intelligenceProtocol/audit.d.ts +19 -0
  11. package/dist/src/intelligenceProtocol/audit.js +56 -0
  12. package/dist/src/intelligenceProtocol/canonical.d.ts +2 -0
  13. package/dist/src/intelligenceProtocol/canonical.js +21 -0
  14. package/dist/src/intelligenceProtocol/index.d.ts +12 -0
  15. package/dist/src/intelligenceProtocol/index.js +8 -0
  16. package/dist/src/intelligenceProtocol/invariants.d.ts +3 -0
  17. package/dist/src/intelligenceProtocol/invariants.js +36 -0
  18. package/dist/src/intelligenceProtocol/lifecycle.d.ts +4 -0
  19. package/dist/src/intelligenceProtocol/lifecycle.js +24 -0
  20. package/dist/src/intelligenceProtocol/mapper.d.ts +14 -0
  21. package/dist/src/intelligenceProtocol/mapper.js +28 -0
  22. package/dist/src/intelligenceProtocol/schemas.d.ts +325 -0
  23. package/dist/src/intelligenceProtocol/schemas.js +182 -0
  24. package/dist/src/intelligenceProtocol/triggerSchemas.d.ts +488 -0
  25. package/dist/src/intelligenceProtocol/triggerSchemas.js +379 -0
  26. package/dist/src/intelligenceProtocol/version.d.ts +7 -0
  27. package/dist/src/intelligenceProtocol/version.js +7 -0
  28. package/dist/src/mcpEvents/consumer.d.ts +7 -0
  29. package/dist/src/mcpEvents/consumer.js +14 -0
  30. package/dist/src/mcpEvents/server.d.ts +41 -0
  31. package/dist/src/mcpEvents/server.js +122 -0
  32. package/dist/src/protocol/types.d.ts +37 -0
  33. package/dist/src/protocol/types.js +1 -0
  34. package/dist/src/semantic/conditionEngine.d.ts +7 -0
  35. package/dist/src/semantic/conditionEngine.js +65 -0
  36. package/dist/src/semantic/types.d.ts +31 -0
  37. package/dist/src/semantic/types.js +1 -0
  38. package/dist/src/semantic/typesafeJevEvaluator.d.ts +23 -0
  39. package/dist/src/semantic/typesafeJevEvaluator.js +95 -0
  40. package/package.json +85 -0
  41. package/scripts/host-integration.d.mts +86 -0
  42. package/scripts/host-integration.mjs +216 -0
  43. package/scripts/lib/composite-event-consumer.mjs +172 -0
  44. package/scripts/lib/composite-wake-coordinator.mjs +185 -0
  45. package/scripts/lib/derived-contract-registry.mjs +210 -0
  46. package/scripts/lib/derived-event-coordinator.mjs +242 -0
  47. package/scripts/lib/event-processor.mjs +409 -0
  48. package/scripts/lib/generic-runtime-wake.mjs +76 -0
  49. package/scripts/lib/github-mcp-events-adapter.mjs +66 -0
  50. package/scripts/lib/github-webhook.mjs +88 -0
  51. package/scripts/lib/http-wake-deliverer.mjs +31 -0
  52. package/scripts/lib/local-event-intelligence-runtime.mjs +193 -0
  53. package/scripts/lib/mcp-events-client.mjs +519 -0
  54. package/scripts/lib/persistent-event-store.mjs +769 -0
  55. package/scripts/lib/temporal-deadline-scheduler.mjs +111 -0
  56. package/scripts/lib/trigger-control-plane.mjs +939 -0
  57. package/scripts/lib/trigger-inspector.mjs +631 -0
  58. package/scripts/lib/wake-signature.mjs +10 -0
  59. package/scripts/mcp-stdio-server.mjs +380 -0
  60. package/scripts/mcp-stdio.mjs +3 -0
  61. package/scripts/run-tests.mjs +51 -0
  62. package/scripts/service.mjs +756 -0
  63. package/server.json +68 -0
@@ -0,0 +1,87 @@
1
+ import type { SemanticEvaluator } from '../semantic/types.js';
2
+ import { type CompositeTriggerDefinition, type TriggerMatchRecord } from '../intelligenceProtocol/triggerSchemas.js';
3
+ export interface CompositeTriggerStore {
4
+ putTrigger(definition: CompositeTriggerDefinition): Promise<void>;
5
+ listTriggers(): CompositeTriggerDefinition[];
6
+ getTriggerState?(triggerId: string, version: string): {
7
+ status: 'active' | 'paused' | 'completed' | 'expired' | 'deleted';
8
+ owner?: unknown;
9
+ connectionIds?: string[];
10
+ fireCount?: number;
11
+ lastFiredAt?: string | null;
12
+ revision?: number;
13
+ } | null;
14
+ setTriggerState?(triggerId: string, version: string, status: 'active' | 'paused' | 'completed' | 'expired' | 'deleted', actor?: unknown, metadata?: Record<string, unknown>): Promise<unknown>;
15
+ appendTriggerMatch(record: TriggerMatchRecord): Promise<void>;
16
+ listTriggerMatches(triggerId?: string): TriggerMatchRecord[];
17
+ getTemporalDeadline?(deadlineId: string): {
18
+ deadlineId: string;
19
+ triggerId: string;
20
+ triggerVersion: string;
21
+ matchId: string;
22
+ conditionId: string;
23
+ dueAt: string;
24
+ status: 'pending' | 'cancelled' | 'fired';
25
+ } | null;
26
+ listTemporalDeadlines?(filter?: {
27
+ triggerId?: string;
28
+ matchId?: string;
29
+ status?: string;
30
+ }): Array<{
31
+ deadlineId: string;
32
+ triggerId: string;
33
+ triggerVersion: string;
34
+ matchId: string;
35
+ conditionId: string;
36
+ dueAt: string;
37
+ status: string;
38
+ }>;
39
+ putTemporalDeadline?(input: {
40
+ deadlineId: string;
41
+ triggerId: string;
42
+ triggerVersion: string;
43
+ matchId: string;
44
+ conditionId: string;
45
+ dueAt: string;
46
+ status: 'pending' | 'cancelled' | 'fired';
47
+ }): Promise<unknown>;
48
+ setTemporalDeadlineStatus?(deadlineId: string, status: 'pending' | 'cancelled' | 'fired'): Promise<unknown>;
49
+ }
50
+ export interface CompositeTriggerAudit {
51
+ appendAudit(input: {
52
+ auditId: string;
53
+ traceId: string;
54
+ timestamp: string;
55
+ kind: string;
56
+ entityType: 'trigger_match' | 'trigger';
57
+ entityId: string;
58
+ details?: Record<string, unknown>;
59
+ }): Promise<unknown>;
60
+ }
61
+ export interface CompositeIngestResult {
62
+ triggerId: string;
63
+ match: TriggerMatchRecord | null;
64
+ matched: boolean;
65
+ fired: boolean;
66
+ }
67
+ export declare class CompositeTriggerEngine {
68
+ private readonly store;
69
+ private readonly evaluator;
70
+ private readonly now;
71
+ constructor(store: CompositeTriggerStore & CompositeTriggerAudit, evaluator?: SemanticEvaluator | null, now?: () => Date);
72
+ register(definitionInput: unknown): Promise<CompositeTriggerDefinition>;
73
+ ingest(eventInput: unknown): Promise<CompositeIngestResult[]>;
74
+ markFired(matchId: string, wakeId: string): Promise<TriggerMatchRecord>;
75
+ markDerivedEmitted(matchId: string, derivedEventId: string): Promise<TriggerMatchRecord>;
76
+ private ingestTimerEvent;
77
+ private applyEvent;
78
+ private finalizeEligible;
79
+ private scheduleDeadlines;
80
+ private cancelDeadlinesForMatch;
81
+ private advanceLifecycleAfterEffect;
82
+ private lifecycleAllows;
83
+ private auditTriggerLifecycle;
84
+ private newMatch;
85
+ private latestMatch;
86
+ private audit;
87
+ }