@spine-event-engine/server 2.0.0-snapshot.22 → 2.0.0-snapshot.23

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 (126) hide show
  1. package/README.md +104 -7
  2. package/REFERENCE.md +194 -19
  3. package/dist/agent/agent-admission.d.ts +80 -0
  4. package/dist/agent/agent-admission.d.ts.map +1 -0
  5. package/dist/agent/agent-admission.js +127 -0
  6. package/dist/agent/agent-admission.js.map +1 -0
  7. package/dist/agent/agent-ai-binding.d.ts +24 -0
  8. package/dist/agent/agent-ai-binding.d.ts.map +1 -0
  9. package/dist/agent/agent-ai-binding.js +48 -0
  10. package/dist/agent/agent-ai-binding.js.map +1 -0
  11. package/dist/agent/agent-ai-runtime.d.ts +76 -0
  12. package/dist/agent/agent-ai-runtime.d.ts.map +1 -0
  13. package/dist/agent/agent-ai-runtime.js +1269 -0
  14. package/dist/agent/agent-ai-runtime.js.map +1 -0
  15. package/dist/agent/agent-execution-capacity.d.ts +43 -0
  16. package/dist/agent/agent-execution-capacity.d.ts.map +1 -0
  17. package/dist/agent/agent-execution-capacity.js +147 -0
  18. package/dist/agent/agent-execution-capacity.js.map +1 -0
  19. package/dist/agent/agent-execution-fault.d.ts +18 -0
  20. package/dist/agent/agent-execution-fault.d.ts.map +1 -0
  21. package/dist/agent/agent-execution-fault.js +31 -0
  22. package/dist/agent/agent-execution-fault.js.map +1 -0
  23. package/dist/agent/agent-execution-session.d.ts +103 -0
  24. package/dist/agent/agent-execution-session.d.ts.map +1 -0
  25. package/dist/agent/agent-execution-session.js +238 -0
  26. package/dist/agent/agent-execution-session.js.map +1 -0
  27. package/dist/agent/agent-history.d.ts +148 -0
  28. package/dist/agent/agent-history.d.ts.map +1 -0
  29. package/dist/agent/agent-history.js +340 -0
  30. package/dist/agent/agent-history.js.map +1 -0
  31. package/dist/agent/agent-interaction-audit.d.ts +58 -0
  32. package/dist/agent/agent-interaction-audit.d.ts.map +1 -0
  33. package/dist/agent/agent-interaction-audit.js +114 -0
  34. package/dist/agent/agent-interaction-audit.js.map +1 -0
  35. package/dist/agent/agent-interaction-events.d.ts +40 -0
  36. package/dist/agent/agent-interaction-events.d.ts.map +1 -0
  37. package/dist/agent/agent-interaction-events.js +129 -0
  38. package/dist/agent/agent-interaction-events.js.map +1 -0
  39. package/dist/agent/agent-mcp-budget.d.ts +125 -0
  40. package/dist/agent/agent-mcp-budget.d.ts.map +1 -0
  41. package/dist/agent/agent-mcp-budget.js +566 -0
  42. package/dist/agent/agent-mcp-budget.js.map +1 -0
  43. package/dist/agent/agent-mcp-host.d.ts +125 -0
  44. package/dist/agent/agent-mcp-host.d.ts.map +1 -0
  45. package/dist/agent/agent-mcp-host.js +15 -0
  46. package/dist/agent/agent-mcp-host.js.map +1 -0
  47. package/dist/agent/agent-mcp-runtime.d.ts +199 -0
  48. package/dist/agent/agent-mcp-runtime.d.ts.map +1 -0
  49. package/dist/agent/agent-mcp-runtime.js +621 -0
  50. package/dist/agent/agent-mcp-runtime.js.map +1 -0
  51. package/dist/agent/agent-model-selection.d.ts +129 -0
  52. package/dist/agent/agent-model-selection.d.ts.map +1 -0
  53. package/dist/agent/agent-model-selection.js +342 -0
  54. package/dist/agent/agent-model-selection.js.map +1 -0
  55. package/dist/agent/agent-read-runtime.d.ts +70 -0
  56. package/dist/agent/agent-read-runtime.d.ts.map +1 -0
  57. package/dist/agent/agent-read-runtime.js +320 -0
  58. package/dist/agent/agent-read-runtime.js.map +1 -0
  59. package/dist/agent/agent-revisions.d.ts +35 -0
  60. package/dist/agent/agent-revisions.d.ts.map +1 -0
  61. package/dist/agent/agent-revisions.js +133 -0
  62. package/dist/agent/agent-revisions.js.map +1 -0
  63. package/dist/agent/agent-scheduler.d.ts +99 -0
  64. package/dist/agent/agent-scheduler.d.ts.map +1 -0
  65. package/dist/agent/agent-scheduler.js +398 -0
  66. package/dist/agent/agent-scheduler.js.map +1 -0
  67. package/dist/bus/command-bus.d.ts +62 -0
  68. package/dist/bus/command-bus.d.ts.map +1 -1
  69. package/dist/bus/command-bus.js +51 -2
  70. package/dist/bus/command-bus.js.map +1 -1
  71. package/dist/bus/event-bus.d.ts +137 -3
  72. package/dist/bus/event-bus.d.ts.map +1 -1
  73. package/dist/bus/event-bus.js +133 -2
  74. package/dist/bus/event-bus.js.map +1 -1
  75. package/dist/bus/saved-dispatcher-binding.d.ts +96 -0
  76. package/dist/bus/saved-dispatcher-binding.d.ts.map +1 -0
  77. package/dist/bus/saved-dispatcher-binding.js +35 -0
  78. package/dist/bus/saved-dispatcher-binding.js.map +1 -0
  79. package/dist/context/bounded-context.d.ts +36 -2
  80. package/dist/context/bounded-context.d.ts.map +1 -1
  81. package/dist/context/bounded-context.js +253 -54
  82. package/dist/context/bounded-context.js.map +1 -1
  83. package/dist/context/tenant-index.d.ts +25 -0
  84. package/dist/context/tenant-index.d.ts.map +1 -1
  85. package/dist/context/tenant-index.js +45 -1
  86. package/dist/context/tenant-index.js.map +1 -1
  87. package/dist/entity/entity.d.ts +82 -3
  88. package/dist/entity/entity.d.ts.map +1 -1
  89. package/dist/entity/entity.js +121 -22
  90. package/dist/entity/entity.js.map +1 -1
  91. package/dist/handler/generated-handler-registry.js +8 -3
  92. package/dist/handler/generated-handler-registry.js.map +1 -1
  93. package/dist/handler/handler-metadata.d.ts +17 -1
  94. package/dist/handler/handler-metadata.d.ts.map +1 -1
  95. package/dist/handler/handler-metadata.js +10 -4
  96. package/dist/handler/handler-metadata.js.map +1 -1
  97. package/dist/index.d.ts +2 -2
  98. package/dist/index.d.ts.map +1 -1
  99. package/dist/index.js +1 -1
  100. package/dist/index.js.map +1 -1
  101. package/dist/repository/commit-fence.d.ts +11 -0
  102. package/dist/repository/commit-fence.d.ts.map +1 -1
  103. package/dist/repository/commit-fence.js +13 -0
  104. package/dist/repository/commit-fence.js.map +1 -1
  105. package/dist/repository/repository.d.ts +222 -13
  106. package/dist/repository/repository.d.ts.map +1 -1
  107. package/dist/repository/repository.js +2323 -123
  108. package/dist/repository/repository.js.map +1 -1
  109. package/dist/runtime/signal-publisher.d.ts +6 -0
  110. package/dist/runtime/signal-publisher.d.ts.map +1 -1
  111. package/dist/runtime/signal-publisher.js +13 -0
  112. package/dist/runtime/signal-publisher.js.map +1 -1
  113. package/dist/runtime/standalone-handler-runtime.d.ts +7 -0
  114. package/dist/runtime/standalone-handler-runtime.d.ts.map +1 -1
  115. package/dist/runtime/standalone-handler-runtime.js +148 -11
  116. package/dist/runtime/standalone-handler-runtime.js.map +1 -1
  117. package/dist/server/server.d.ts +9 -0
  118. package/dist/server/server.d.ts.map +1 -1
  119. package/dist/server/server.js +13 -1
  120. package/dist/server/server.js.map +1 -1
  121. package/dist/testing/index.d.ts +57 -1
  122. package/dist/testing/index.d.ts.map +1 -1
  123. package/dist/testing/index.js +87 -0
  124. package/dist/testing/index.js.map +1 -1
  125. package/dist/tsconfig.tsbuildinfo +1 -1
  126. package/package.json +14 -12
@@ -0,0 +1,24 @@
1
+ import type { AgentAi } from "@spine-event-engine/ai";
2
+ interface AgentAiBindingAccess {
3
+ /**
4
+ * Attaches one handler-scoped facade and returns its release.
5
+ *
6
+ * @param agent Active Agent instance receiving the facade.
7
+ * @param ai Fenced facade for this handler invocation.
8
+ * @returns Callback that releases this exact binding.
9
+ */
10
+ bind(agent: object, ai: AgentAi): () => void;
11
+ /**
12
+ * Returns the facade attached to the active handler.
13
+ *
14
+ * @param agent Active Agent instance whose binding is required.
15
+ * @returns Handler-scoped facade or throws when none is bound.
16
+ */
17
+ require(agent: object): AgentAi;
18
+ }
19
+ /**
20
+ * Binds the protected Agent AI facade only during one selected handler scope.
21
+ */
22
+ export declare const AgentAiBindings: AgentAiBindingAccess;
23
+ export {};
24
+ //# sourceMappingURL=agent-ai-binding.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"agent-ai-binding.d.ts","sourceRoot":"","sources":["../../src/agent/agent-ai-binding.ts"],"names":[],"mappings":"AAcA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,wBAAwB,CAAC;AAItD,UAAU,oBAAoB;IAC5B;;;;;;OAMG;IACH,IAAI,CAAC,KAAK,EAAE,MAAM,EAAE,EAAE,EAAE,OAAO,GAAG,MAAM,IAAI,CAAC;IAE7C;;;;;OAKG;IACH,OAAO,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC;CACjC;AAED;;GAEG;AACH,eAAO,MAAM,eAAe,EAAE,oBA2B5B,CAAC"}
@@ -0,0 +1,48 @@
1
+ /*
2
+ * Copyright 2026, CodeMatters. All rights reserved.
3
+ *
4
+ * Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except
5
+ * in compliance with the License. You may obtain a copy of the License at
6
+ *
7
+ * https://www.apache.org/licenses/LICENSE-2.0
8
+ *
9
+ * Unless required by applicable law or agreed to in writing, software distributed under the License
10
+ * is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express
11
+ * or implied. See the License for the specific language governing permissions and limitations under
12
+ * the License.
13
+ */
14
+ const bindings = new WeakMap();
15
+ /**
16
+ * Binds the protected Agent AI facade only during one selected handler scope.
17
+ */
18
+ export const AgentAiBindings = Object.freeze({
19
+ /**
20
+ * Attaches a facade and returns an idempotent release operation.
21
+ *
22
+ * @param agent Active Agent instance.
23
+ * @param ai Fenced invocation facade.
24
+ * @returns Release of this exact binding.
25
+ */
26
+ bind(agent, ai) {
27
+ if (bindings.has(agent))
28
+ throw new Error("Agent AI is already bound to an active handler.");
29
+ bindings.set(agent, ai);
30
+ return () => {
31
+ if (bindings.get(agent) === ai)
32
+ bindings.delete(agent);
33
+ };
34
+ },
35
+ /**
36
+ * Returns the facade scoped to this handler.
37
+ *
38
+ * @param agent Active Agent instance.
39
+ * @returns Fenced Agent AI operations.
40
+ */
41
+ require(agent) {
42
+ const ai = bindings.get(agent);
43
+ if (ai === undefined)
44
+ throw new Error("Agent AI is available only during a signal handler.");
45
+ return ai;
46
+ },
47
+ });
48
+ //# sourceMappingURL=agent-ai-binding.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"agent-ai-binding.js","sourceRoot":"","sources":["../../src/agent/agent-ai-binding.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AAIH,MAAM,QAAQ,GAAG,IAAI,OAAO,EAAmB,CAAC;AAqBhD;;GAEG;AACH,MAAM,CAAC,MAAM,eAAe,GAAyB,MAAM,CAAC,MAAM,CAAC;IACjE;;;;;;OAMG;IACH,IAAI,CAAC,KAAa,EAAE,EAAW;QAC7B,IAAI,QAAQ,CAAC,GAAG,CAAC,KAAK,CAAC;YAAE,MAAM,IAAI,KAAK,CAAC,iDAAiD,CAAC,CAAC;QAC5F,QAAQ,CAAC,GAAG,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC;QACxB,OAAO,GAAG,EAAE;YACV,IAAI,QAAQ,CAAC,GAAG,CAAC,KAAK,CAAC,KAAK,EAAE;gBAAE,QAAQ,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;QACzD,CAAC,CAAC;IACJ,CAAC;IAED;;;;;OAKG;IACH,OAAO,CAAC,KAAa;QACnB,MAAM,EAAE,GAAG,QAAQ,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;QAC/B,IAAI,EAAE,KAAK,SAAS;YAAE,MAAM,IAAI,KAAK,CAAC,qDAAqD,CAAC,CAAC;QAC7F,OAAO,EAAE,CAAC;IACZ,CAAC;CACF,CAAC,CAAC"}
@@ -0,0 +1,76 @@
1
+ import { type MessageShape } from "@bufbuild/protobuf";
2
+ import { type MessageSchema } from "@spine-event-engine/core";
3
+ import type { AgentAi, AiModel, AiRegistry, AiScope, AiResult, ModelRef } from "@spine-event-engine/ai";
4
+ import { AiModelKind, type ConversationId } from "@spine-event-engine/proto/agent";
5
+ import type { RepositoryAiOptions } from "../repository/repository.js";
6
+ import { AgentExecutionSession } from "./agent-execution-session.js";
7
+ import { AgentInteractionAudit } from "./agent-interaction-audit.js";
8
+ /**
9
+ * Carries one named typed input within the accepted handler.
10
+ *
11
+ * @typeParam I Generated input descriptor.
12
+ */
13
+ interface InvokeRequest<I extends MessageSchema> {
14
+ readonly call: string;
15
+ readonly conversation: ConversationId;
16
+ readonly input: MessageShape<I>;
17
+ }
18
+ /**
19
+ * Indicates a saved physical request with no recorded response after recovery.
20
+ */
21
+ export declare class AgentUncertainAttemptError extends Error {
22
+ /**
23
+ * Creates an error that prevents replaying an unresolved physical request.
24
+ */
25
+ constructor();
26
+ }
27
+ /**
28
+ * Provides one handler's named AI calls against a fenced execution journal.
29
+ */
30
+ export declare class AgentAiRuntime implements AgentAi {
31
+ #private;
32
+ private readonly registry;
33
+ private readonly repository;
34
+ private readonly scope;
35
+ private readonly session;
36
+ private readonly handlerOrdinal;
37
+ private readonly audit;
38
+ /**
39
+ * Binds named calls to the selected repository and fenced invocation.
40
+ *
41
+ * @param registry Configured model and MCP registrations.
42
+ * @param repository Repository model policy.
43
+ * @param scope Accepted actor, source, Bounded Context, and tenant.
44
+ * @param session Fenced durable execution session.
45
+ * @param handlerOrdinal Saved generated handler order.
46
+ * @param audit Paired Agent history and System Event writer.
47
+ */
48
+ constructor(registry: AiRegistry, repository: RepositoryAiOptions, scope: AiScope, session: AgentExecutionSession, handlerOrdinal: number, audit: AgentInteractionAudit | undefined);
49
+ /**
50
+ * Returns one saved or newly admitted typed model result.
51
+ *
52
+ * @typeParam I Generated input descriptor.
53
+ * @typeParam O Generated admitted-output descriptor.
54
+ * @param model Registered capability to invoke.
55
+ * @param request Named call, conversation, and typed input.
56
+ * @returns Saved or newly admitted result with its operation identity.
57
+ */
58
+ invoke<I extends MessageSchema, O extends MessageSchema>(model: AiModel<I, O>, request: InvokeRequest<I>): Promise<AiResult<MessageShape<O>>>;
59
+ /**
60
+ * Sets a preference only for a later accepted signal.
61
+ *
62
+ * @param kind Generation or decision selection.
63
+ * @param model Deployment to prefer for later accepted work.
64
+ */
65
+ select(kind: AiModelKind, model: ModelRef | undefined): void;
66
+ /**
67
+ * Rejects recovery when the accepted handler no longer issues its saved calls.
68
+ */
69
+ finish(): void;
70
+ /**
71
+ * Rejects callbacks retained after the generated handler returns.
72
+ */
73
+ close(): void;
74
+ }
75
+ export {};
76
+ //# sourceMappingURL=agent-ai-runtime.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"agent-ai-runtime.d.ts","sourceRoot":"","sources":["../../src/agent/agent-ai-runtime.ts"],"names":[],"mappings":"AAcA,OAAO,EAA2B,KAAK,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAIhF,OAAO,EAKL,KAAK,aAAa,EACnB,MAAM,0BAA0B,CAAC;AAClC,OAAO,KAAK,EACV,OAAO,EAGP,OAAO,EACP,UAAU,EACV,OAAO,EACP,QAAQ,EACR,QAAQ,EACT,MAAM,wBAAwB,CAAC;AAkBhC,OAAO,EASL,WAAW,EA2BX,KAAK,cAAc,EACpB,MAAM,iCAAiC,CAAC;AAczC,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,6BAA6B,CAAC;AACvE,OAAO,EAAE,qBAAqB,EAAE,MAAM,8BAA8B,CAAC;AAKrE,OAAO,EAAE,qBAAqB,EAAE,MAAM,8BAA8B,CAAC;AAkBrE;;;;GAIG;AACH,UAAU,aAAa,CAAC,CAAC,SAAS,aAAa;IAC7C,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,YAAY,EAAE,cAAc,CAAC;IACtC,QAAQ,CAAC,KAAK,EAAE,YAAY,CAAC,CAAC,CAAC,CAAC;CACjC;AAWD;;GAEG;AACH,qBAAa,0BAA2B,SAAQ,KAAK;IACnD;;OAEG;;CAIJ;AAED;;GAEG;AACH,qBAAa,cAAe,YAAW,OAAO;;IAwB1C,OAAO,CAAC,QAAQ,CAAC,QAAQ;IACzB,OAAO,CAAC,QAAQ,CAAC,UAAU;IAC3B,OAAO,CAAC,QAAQ,CAAC,KAAK;IACtB,OAAO,CAAC,QAAQ,CAAC,OAAO;IACxB,OAAO,CAAC,QAAQ,CAAC,cAAc;IAC/B,OAAO,CAAC,QAAQ,CAAC,KAAK;IAhBxB;;;;;;;;;OASG;gBAEgB,QAAQ,EAAE,UAAU,EACpB,UAAU,EAAE,mBAAmB,EAC/B,KAAK,EAAE,OAAO,EACd,OAAO,EAAE,qBAAqB,EAC9B,cAAc,EAAE,MAAM,EACtB,KAAK,EAAE,qBAAqB,GAAG,SAAS;IAK3D;;;;;;;;OAQG;IACG,MAAM,CAAC,CAAC,SAAS,aAAa,EAAE,CAAC,SAAS,aAAa,EAC3D,KAAK,EAAE,OAAO,CAAC,CAAC,EAAE,CAAC,CAAC,EACpB,OAAO,EAAE,aAAa,CAAC,CAAC,CAAC,GACxB,OAAO,CAAC,QAAQ,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,CAAC;IAwDrC;;;;;OAKG;IACH,MAAM,CAAC,IAAI,EAAE,WAAW,EAAE,KAAK,EAAE,QAAQ,GAAG,SAAS,GAAG,IAAI;IAwB5D;;OAEG;IACH,MAAM,IAAI,IAAI;IAWd;;OAEG;IACH,KAAK,IAAI,IAAI;CA25Cd"}