mcp-event-intelligence 0.8.0 → 0.8.1

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/CHANGELOG.md CHANGED
@@ -1,5 +1,14 @@
1
1
  # Changelog
2
2
 
3
+ ## [0.8.1] - 2026-10-05
4
+
5
+ ### Fixed
6
+
7
+ - preserve successful durable trigger creation when host result projection fails after commit, falling back to the canonical inline success payload instead of reporting `EVENT_TRIGGER_CREATE_FAILED`;
8
+ - preserve the legacy `authorize()` callback's normalized error-result behavior while keeping native interrupt/suspension passthrough on the new `control()` contract;
9
+ - add regression coverage for both post-commit projection failure and legacy authorization callback rejection;
10
+ - align the root package-lock metadata with the published package version.
11
+
3
12
  ## [0.8.0] - 2026-10-05
4
13
 
5
14
  ### Embedded runtime integration
package/README.md CHANGED
@@ -4,7 +4,7 @@
4
4
 
5
5
  [![CI](https://github.com/sarooo17/event-intelligence/actions/workflows/ci.yml/badge.svg)](https://github.com/sarooo17/event-intelligence/actions/workflows/ci.yml)
6
6
  [![npm](https://img.shields.io/npm/v/mcp-event-intelligence.svg)](https://www.npmjs.com/package/mcp-event-intelligence)
7
- [![MCP Registry](https://img.shields.io/badge/MCP%20Registry-v0.8.0-5b5bd6)](https://registry.modelcontextprotocol.io/?q=io.github.sarooo17%2Fevent-intelligence)
7
+ [![MCP Registry](https://img.shields.io/badge/MCP%20Registry-v0.8.1-5b5bd6)](https://registry.modelcontextprotocol.io/?q=io.github.sarooo17%2Fevent-intelligence)
8
8
  [![License](https://img.shields.io/badge/license-Apache--2.0-blue.svg)](LICENSE)
9
9
 
10
10
  MCP Event Intelligence is an experimental event runtime for agents that need to react to **future conditions over multiple event sources** without keeping an LLM or agent loop alive.
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "mcp-event-intelligence",
3
- "version": "0.8.0",
3
+ "version": "0.8.1",
4
4
  "description": "MCP-native complex event processing for durable agent workflows: event-time patterns, semantic predicates, derived events, and targeted wakeups.",
5
5
  "license": "Apache-2.0",
6
6
  "type": "module",
@@ -630,16 +630,23 @@ export function createEventIntelligenceAgentTools({
630
630
  // Host control is intentionally outside EI's error-normalization
631
631
  // boundary. A runtime may return an opaque result or throw its native
632
632
  // interrupt/suspension signal; EI must not reinterpret that mechanism.
633
- const rawDecision = control
634
- ? await control({
635
- capability: createCapability,
636
- action: 'trigger.create',
637
- runtimeContext,
638
- context: resolved,
639
- input: parsed.data,
640
- plan,
641
- })
642
- : normalizeLegacyAuthorization(
633
+ //
634
+ // The deprecated authorize() path keeps its historical behavior:
635
+ // ordinary callback failures are normalized into PortableToolResult
636
+ // errors instead of becoming rejected tool executions.
637
+ let rawDecision;
638
+ if (control) {
639
+ rawDecision = await control({
640
+ capability: createCapability,
641
+ action: 'trigger.create',
642
+ runtimeContext,
643
+ context: resolved,
644
+ input: parsed.data,
645
+ plan,
646
+ });
647
+ } else {
648
+ try {
649
+ rawDecision = normalizeLegacyAuthorization(
643
650
  await authorize({
644
651
  action: 'trigger.create',
645
652
  runtimeContext,
@@ -648,12 +655,17 @@ export function createEventIntelligenceAgentTools({
648
655
  plan,
649
656
  }),
650
657
  );
658
+ } catch (error) {
659
+ return fail(error, 'EVENT_TRIGGER_CREATE_FAILED');
660
+ }
661
+ }
651
662
  const decision = normalizeHostControlDecision(rawDecision);
652
663
 
653
664
  if (decision.action === 'return') {
654
665
  return decision.result;
655
666
  }
656
667
 
668
+ let value;
657
669
  try {
658
670
  const execution = decision.execution ?? {};
659
671
  const actor = normalizeIdentity(
@@ -679,7 +691,7 @@ export function createEventIntelligenceAgentTools({
679
691
  ...(confirmationId ? { confirmationId } : {}),
680
692
  });
681
693
 
682
- const value = {
694
+ value = {
683
695
  receiptId: created.receiptId,
684
696
  triggerId: created.definition?.triggerId,
685
697
  version: created.definition?.version,
@@ -687,15 +699,23 @@ export function createEventIntelligenceAgentTools({
687
699
  connectionIds: plan.connectionIds,
688
700
  warnings: plan.warnings ?? [],
689
701
  };
702
+ } catch (error) {
703
+ return fail(error, 'EVENT_TRIGGER_CREATE_FAILED');
704
+ }
690
705
 
706
+ // Trigger creation is already durable at this point. Projection is a
707
+ // host presentation concern, so a projection failure must never turn
708
+ // the committed mutation into an apparent create failure that callers
709
+ // may retry. Fall back to the canonical inline success payload.
710
+ try {
691
711
  return await projectPortableResult(projectResult, {
692
712
  capability: createCapability,
693
713
  runtimeContext,
694
714
  context: resolved,
695
715
  value,
696
716
  });
697
- } catch (error) {
698
- return fail(error, 'EVENT_TRIGGER_CREATE_FAILED');
717
+ } catch {
718
+ return { ok: true, data: value };
699
719
  }
700
720
  },
701
721
  },
package/server.json CHANGED
@@ -3,7 +3,7 @@
3
3
  "name": "io.github.sarooo17/event-intelligence",
4
4
  "title": "MCP Event Intelligence",
5
5
  "description": "MCP-native CEP for durable agents: event-time patterns, semantic predicates, derived events.",
6
- "version": "0.8.0",
6
+ "version": "0.8.1",
7
7
  "repository": {
8
8
  "url": "https://github.com/sarooo17/event-intelligence",
9
9
  "source": "github"
@@ -13,7 +13,7 @@
13
13
  "registryType": "npm",
14
14
  "registryBaseUrl": "https://registry.npmjs.org",
15
15
  "identifier": "mcp-event-intelligence",
16
- "version": "0.8.0",
16
+ "version": "0.8.1",
17
17
  "transport": {
18
18
  "type": "stdio"
19
19
  },