@agentxjs/core 1.9.10-dev → 2.0.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.
Files changed (142) hide show
  1. package/README.md +342 -0
  2. package/dist/{Processor-DT0N1qI6.d.ts → Processor-CeMyXtsX.d.ts} +1 -1
  3. package/dist/RpcClient-CMdhJxjS.d.ts +304 -0
  4. package/dist/agent/engine/internal/index.d.ts +22 -18
  5. package/dist/agent/engine/internal/index.js +1 -2
  6. package/dist/agent/engine/mealy/index.d.ts +4 -4
  7. package/dist/agent/engine/mealy/index.js +1 -2
  8. package/dist/agent/index.d.ts +92 -92
  9. package/dist/agent/index.js +16 -16
  10. package/dist/agent/types/index.d.ts +4 -4
  11. package/dist/agent/types/index.js +1 -2
  12. package/dist/bash/index.d.ts +29 -0
  13. package/dist/bash/index.js +7 -0
  14. package/dist/{bus-uF1DM2ox.d.ts → bus-C9FLWIu8.d.ts} +3 -1
  15. package/dist/{chunk-E5FPOAPO.js → chunk-22NTRYNO.js} +60 -60
  16. package/dist/chunk-22NTRYNO.js.map +1 -0
  17. package/dist/{chunk-7ZDX3O6I.js → chunk-AAFPAF67.js} +2 -2
  18. package/dist/{chunk-7ZDX3O6I.js.map → chunk-AAFPAF67.js.map} +1 -1
  19. package/dist/{chunk-EKHT54KN.js → chunk-APCBNCOW.js} +1 -1
  20. package/dist/{chunk-EKHT54KN.js.map → chunk-APCBNCOW.js.map} +1 -1
  21. package/dist/chunk-BHOD5PKR.js +55 -0
  22. package/dist/chunk-BHOD5PKR.js.map +1 -0
  23. package/dist/chunk-FI7WQFGV.js +37 -0
  24. package/dist/chunk-FI7WQFGV.js.map +1 -0
  25. package/dist/{chunk-AT5P47YA.js → chunk-RWIYC65R.js} +115 -115
  26. package/dist/chunk-RWIYC65R.js.map +1 -0
  27. package/dist/chunk-SKS7S2RY.js +1 -0
  28. package/dist/{chunk-I7GYR3MN.js → chunk-TUFZ2YH6.js} +77 -91
  29. package/dist/chunk-TUFZ2YH6.js.map +1 -0
  30. package/dist/{chunk-K6WXQ2RW.js → chunk-YSZG6XIM.js} +1 -2
  31. package/dist/chunk-YSZG6XIM.js.map +1 -0
  32. package/dist/{combinators-nEa5dD0T.d.ts → combinators-Dy-7lxKV.d.ts} +50 -50
  33. package/dist/common/logger/index.js +14 -16
  34. package/dist/common/logger/index.js.map +1 -1
  35. package/dist/container/index.d.ts +3 -4
  36. package/dist/container/index.js +0 -2
  37. package/dist/container/index.js.map +1 -1
  38. package/dist/driver/index.d.ts +2 -310
  39. package/dist/event/index.d.ts +4 -4
  40. package/dist/event/index.js +2 -3
  41. package/dist/event/types/index.d.ts +202 -208
  42. package/dist/event/types/index.js +1 -2
  43. package/dist/{event-CDuTzs__.d.ts → event-DNsF9EkO.d.ts} +5 -8
  44. package/dist/image/index.d.ts +9 -5
  45. package/dist/image/index.js +5 -2
  46. package/dist/image/index.js.map +1 -1
  47. package/dist/index--gxNpY5W.d.ts +609 -0
  48. package/dist/index.d.ts +4 -4
  49. package/dist/index.js +17 -17
  50. package/dist/{message-BMrMm1pq.d.ts → message-Dn-I2vr0.d.ts} +10 -33
  51. package/dist/mq/index.d.ts +25 -25
  52. package/dist/mq/index.js +1 -3
  53. package/dist/mq/index.js.map +1 -1
  54. package/dist/network/index.d.ts +59 -347
  55. package/dist/network/index.js +30 -41
  56. package/dist/network/index.js.map +1 -1
  57. package/dist/persistence/index.d.ts +2 -155
  58. package/dist/platform/index.d.ts +76 -0
  59. package/dist/platform/index.js.map +1 -0
  60. package/dist/runtime/index.d.ts +26 -59
  61. package/dist/runtime/index.js +117 -33
  62. package/dist/runtime/index.js.map +1 -1
  63. package/dist/session/index.d.ts +4 -52
  64. package/dist/session/index.js +4 -51
  65. package/dist/session/index.js.map +1 -1
  66. package/dist/types-Cb8tKM6Y.d.ts +90 -0
  67. package/package.json +10 -5
  68. package/src/agent/AgentStateMachine.ts +2 -2
  69. package/src/agent/__tests__/AgentStateMachine.test.ts +2 -2
  70. package/src/agent/__tests__/createAgent.test.ts +4 -4
  71. package/src/agent/__tests__/engine/internal/messageAssemblerProcessor.test.ts +301 -97
  72. package/src/agent/__tests__/engine/internal/stateEventProcessor.test.ts +6 -6
  73. package/src/agent/__tests__/engine/internal/turnTrackerProcessor.test.ts +59 -78
  74. package/src/agent/__tests__/engine/mealy/Mealy.test.ts +3 -3
  75. package/src/agent/__tests__/engine/mealy/Store.test.ts +1 -1
  76. package/src/agent/__tests__/engine/mealy/combinators.test.ts +4 -4
  77. package/src/agent/createAgent.ts +15 -15
  78. package/src/agent/engine/AgentProcessor.ts +7 -7
  79. package/src/agent/engine/MealyMachine.ts +4 -4
  80. package/src/agent/engine/internal/index.ts +11 -11
  81. package/src/agent/engine/internal/messageAssemblerProcessor.ts +113 -128
  82. package/src/agent/engine/internal/stateEventProcessor.ts +13 -15
  83. package/src/agent/engine/internal/turnTrackerProcessor.ts +27 -31
  84. package/src/agent/engine/mealy/Mealy.ts +2 -2
  85. package/src/agent/engine/mealy/combinators.ts +10 -10
  86. package/src/agent/engine/mealy/index.ts +9 -11
  87. package/src/agent/index.ts +30 -32
  88. package/src/agent/types/engine.ts +3 -3
  89. package/src/agent/types/event.ts +4 -12
  90. package/src/agent/types/index.ts +86 -88
  91. package/src/agent/types/message.ts +9 -43
  92. package/src/bash/index.ts +21 -0
  93. package/src/bash/tool.ts +57 -0
  94. package/src/bash/types.ts +108 -0
  95. package/src/common/logger/ConsoleLogger.ts +1 -1
  96. package/src/common/logger/LoggerFactoryImpl.ts +14 -14
  97. package/src/common/logger/index.ts +3 -3
  98. package/src/container/index.ts +4 -5
  99. package/src/container/types.ts +1 -1
  100. package/src/driver/index.ts +15 -16
  101. package/src/driver/types.ts +201 -73
  102. package/src/event/EventBus.ts +10 -10
  103. package/src/event/__tests__/EventBus.test.ts +2 -2
  104. package/src/event/index.ts +2 -3
  105. package/src/event/types/agent.ts +186 -191
  106. package/src/event/types/bus.ts +1 -1
  107. package/src/event/types/command.ts +293 -264
  108. package/src/event/types/container.ts +207 -222
  109. package/src/event/types/driver.ts +153 -155
  110. package/src/event/types/index.ts +6 -12
  111. package/src/event/types/session.ts +117 -130
  112. package/src/image/Image.ts +12 -2
  113. package/src/image/index.ts +4 -5
  114. package/src/image/types.ts +8 -2
  115. package/src/mq/OffsetGenerator.ts +1 -1
  116. package/src/mq/__tests__/OffsetGenerator.test.ts +1 -1
  117. package/src/mq/index.ts +4 -5
  118. package/src/network/RpcClient.ts +26 -25
  119. package/src/network/index.ts +41 -44
  120. package/src/network/jsonrpc.ts +5 -5
  121. package/src/persistence/index.ts +5 -5
  122. package/src/persistence/types.ts +5 -2
  123. package/src/platform/index.ts +21 -0
  124. package/src/platform/types.ts +84 -0
  125. package/src/runtime/AgentXRuntime.ts +188 -61
  126. package/src/runtime/__tests__/AgentXRuntime.test.ts +343 -0
  127. package/src/runtime/index.ts +12 -25
  128. package/src/runtime/types.ts +10 -62
  129. package/src/session/index.ts +2 -3
  130. package/dist/chunk-7D4SUZUM.js +0 -38
  131. package/dist/chunk-AT5P47YA.js.map +0 -1
  132. package/dist/chunk-E5FPOAPO.js.map +0 -1
  133. package/dist/chunk-I7GYR3MN.js.map +0 -1
  134. package/dist/chunk-K6WXQ2RW.js.map +0 -1
  135. package/dist/workspace/index.d.ts +0 -111
  136. package/dist/wrapper-Y3UTVU2E.js +0 -3635
  137. package/dist/wrapper-Y3UTVU2E.js.map +0 -1
  138. package/src/workspace/index.ts +0 -27
  139. package/src/workspace/types.ts +0 -131
  140. /package/dist/{workspace → bash}/index.js.map +0 -0
  141. /package/dist/{chunk-7D4SUZUM.js.map → chunk-SKS7S2RY.js.map} +0 -0
  142. /package/dist/{workspace → platform}/index.js +0 -0
@@ -1,6 +1,6 @@
1
- import { P as Processor, b as ProcessorDefinition } from '../../../Processor-DT0N1qI6.js';
2
- import { a2 as AssistantMessageEvent, a3 as ToolCallMessageEvent, a4 as ToolResultMessageEvent, a5 as ErrorMessageEvent, S as StreamEvent, N as ConversationStartEvent, P as ConversationRespondingEvent, Q as ConversationEndEvent, R as ConversationInterruptedEvent, V as ToolPlannedEvent, W as ToolExecutingEvent, Z as ErrorOccurredEvent, aa as TurnRequestEvent, ab as TurnResponseEvent, a6 as AgentMessageEvent } from '../../../event-CDuTzs__.js';
3
- import '../../../message-BMrMm1pq.js';
1
+ import { k as AssistantMessageEvent, a2 as ToolResultMessageEvent, w as ErrorMessageEvent, S as StreamEvent, t as ConversationStartEvent, r as ConversationRespondingEvent, l as ConversationEndEvent, n as ConversationInterruptedEvent, $ as ToolPlannedEvent, X as ToolExecutingEvent, y as ErrorOccurredEvent, a9 as TurnRequestEvent, ab as TurnResponseEvent } from '../../../event-DNsF9EkO.js';
2
+ import { P as Processor, a as ProcessorDefinition } from '../../../Processor-CeMyXtsX.js';
3
+ import '../../../message-Dn-I2vr0.js';
4
4
 
5
5
  /**
6
6
  * messageAssemblerProcessor
@@ -18,21 +18,26 @@ import '../../../message-BMrMm1pq.js';
18
18
  * - message_stop
19
19
  *
20
20
  * Output Events (Message Layer):
21
- * - tool_call_message (Message - AI's request to call a tool)
21
+ * - assistant_message (Message - includes text and tool calls in content)
22
22
  * - tool_result_message (Message - tool execution result)
23
- * - assistant_message (Message - complete assistant response)
24
23
  */
25
24
 
26
25
  /**
27
26
  * Pending content accumulator
27
+ *
28
+ * Tracks content blocks in the order they appear in the stream.
29
+ * Text and tool_use blocks may be interleaved.
28
30
  */
29
31
  interface PendingContent {
30
32
  type: "text" | "tool_use";
31
- index: number;
32
33
  textDeltas?: string[];
33
34
  toolId?: string;
34
35
  toolName?: string;
35
36
  toolInputJson?: string;
37
+ /** True when tool_use_stop has been processed and input is fully parsed */
38
+ assembled?: boolean;
39
+ /** Parsed tool input (set at tool_use_stop time) */
40
+ parsedInput?: Record<string, unknown>;
36
41
  }
37
42
  /**
38
43
  * Pending tool call info (for matching with tool_result)
@@ -56,10 +61,10 @@ interface MessageAssemblerState {
56
61
  */
57
62
  messageStartTime: number | null;
58
63
  /**
59
- * Pending content blocks being accumulated
60
- * Key is the content block index
64
+ * Pending content blocks in stream order.
65
+ * Preserves the interleaved order of text and tool_use blocks.
61
66
  */
62
- pendingContents: Record<number, PendingContent>;
67
+ pendingContents: PendingContent[];
63
68
  /**
64
69
  * Pending tool calls waiting for results
65
70
  * Key is the tool call ID
@@ -73,7 +78,7 @@ declare function createInitialMessageAssemblerState(): MessageAssemblerState;
73
78
  /**
74
79
  * Output event types from MessageAssembler
75
80
  */
76
- type MessageAssemblerOutput = AssistantMessageEvent | ToolCallMessageEvent | ToolResultMessageEvent | ErrorMessageEvent;
81
+ type MessageAssemblerOutput = AssistantMessageEvent | ToolResultMessageEvent | ErrorMessageEvent;
77
82
  /**
78
83
  * Input event types for MessageAssembler
79
84
  */
@@ -118,8 +123,7 @@ declare const messageAssemblerProcessorDef: ProcessorDefinition<MessageAssembler
118
123
  *
119
124
  * Currently empty - no context needed as all information comes from events.
120
125
  */
121
- interface StateEventProcessorContext {
122
- }
126
+ type StateEventProcessorContext = {};
123
127
  /**
124
128
  * Initial context factory for StateEventProcessor
125
129
  */
@@ -156,11 +160,11 @@ declare const stateEventProcessorDef: ProcessorDefinition<StateEventProcessorCon
156
160
  * turnTrackerProcessor
157
161
  *
158
162
  * Pure Mealy transition function that tracks request-response turn pairs.
163
+ * Derives turn events entirely from stream-layer events (no external injection).
159
164
  *
160
- * Input Events:
161
- * - user_message (Message Layer)
162
- * - message_stop (Stream Layer - contains stop reason)
163
- * - assistant_message (Message Layer)
165
+ * Input Events (Stream Layer):
166
+ * - message_start → emit turn_request (a new turn begins)
167
+ * - message_stop emit turn_response (turn completes, based on stop reason)
164
168
  *
165
169
  * Output Events (Turn Layer):
166
170
  * - turn_request
@@ -205,9 +209,9 @@ declare function createInitialTurnTrackerState(): TurnTrackerState;
205
209
  type TurnTrackerOutput = TurnRequestEvent | TurnResponseEvent;
206
210
  /**
207
211
  * Input event types for TurnTracker
208
- * Accepts both Stream and Message layer events
212
+ * Only stream-layer events turn events are derived, not injected.
209
213
  */
210
- type TurnTrackerInput = StreamEvent | AgentMessageEvent;
214
+ type TurnTrackerInput = StreamEvent;
211
215
  /**
212
216
  * turnTrackerProcessor
213
217
  *
@@ -8,8 +8,7 @@ import {
8
8
  stateEventProcessorDef,
9
9
  turnTrackerProcessor,
10
10
  turnTrackerProcessorDef
11
- } from "../../../chunk-I7GYR3MN.js";
12
- import "../../../chunk-7D4SUZUM.js";
11
+ } from "../../../chunk-TUFZ2YH6.js";
13
12
  export {
14
13
  createInitialMessageAssemblerState,
15
14
  createInitialStateEventProcessorContext,
@@ -1,7 +1,7 @@
1
- import { S as Store, a as Sink, b as SinkDefinition } from '../../../combinators-nEa5dD0T.js';
2
- export { M as MemoryStore, c as Source, d as SourceDefinition, g as chainProcessors, f as combineInitialStates, e as combineProcessors, h as filterProcessor, i as identityProcessor, m as mapOutput, w as withLogging } from '../../../combinators-nEa5dD0T.js';
3
- import { P as Processor } from '../../../Processor-DT0N1qI6.js';
4
- export { b as ProcessorDefinition, a as ProcessorResult } from '../../../Processor-DT0N1qI6.js';
1
+ import { P as Processor } from '../../../Processor-CeMyXtsX.js';
2
+ export { a as ProcessorDefinition, b as ProcessorResult } from '../../../Processor-CeMyXtsX.js';
3
+ import { S as Store, a as Sink, b as SinkDefinition } from '../../../combinators-Dy-7lxKV.js';
4
+ export { M as MemoryStore, c as Source, d as SourceDefinition, e as chainProcessors, f as combineInitialStates, g as combineProcessors, h as filterProcessor, i as identityProcessor, m as mapOutput, w as withLogging } from '../../../combinators-Dy-7lxKV.js';
5
5
 
6
6
  /**
7
7
  * Mealy - The Mealy Machine runtime
@@ -9,8 +9,7 @@ import {
9
9
  identityProcessor,
10
10
  mapOutput,
11
11
  withLogging
12
- } from "../../../chunk-EKHT54KN.js";
13
- import "../../../chunk-7D4SUZUM.js";
12
+ } from "../../../chunk-APCBNCOW.js";
14
13
  export {
15
14
  Mealy,
16
15
  MemoryStore,
@@ -1,43 +1,15 @@
1
- export { A as AssistantMessage, C as ContentPart, E as ErrorMessage, F as FilePart, I as ImagePart, M as Message, i as MessageRole, j as MessageSubtype, d as TextPart, e as ThinkingPart, b as TokenUsage, T as ToolCallMessage, f as ToolCallPart, a as ToolResultMessage, g as ToolResultOutput, h as ToolResultPart, c as UserContentPart, U as UserMessage } from '../message-BMrMm1pq.js';
2
- import { a as AgentState, A as AgentOutput, U as Unsubscribe, S as StreamEvent } from '../event-CDuTzs__.js';
3
- export { e as AgentError, d as AgentErrorCategory, _ as AgentErrorOccurredEvent, c as AgentEvent, ad as AgentEventHandler, a6 as AgentMessageEvent, b as AgentOutputCallback, $ as AgentStateEvent, ac as AgentTurnEvent, a2 as AssistantMessageEvent, z as ConversationEndData, Q as ConversationEndEvent, B as ConversationInterruptedData, R as ConversationInterruptedEvent, C as ConversationQueuedData, L as ConversationQueuedEvent, y as ConversationRespondingData, P as ConversationRespondingEvent, w as ConversationStartData, N as ConversationStartEvent, x as ConversationThinkingData, O as ConversationThinkingEvent, E as EngineEvent, a5 as ErrorMessageEvent, J as ErrorOccurredData, Z as ErrorOccurredEvent, l as ErrorReceivedData, u as ErrorReceivedEvent, I as InputJsonDeltaData, r as InputJsonDeltaEvent, g as MessageDeltaData, n as MessageDeltaEvent, a0 as MessageEvent, M as MessageStartData, m as MessageStartEvent, h as MessageStopData, o as MessageStopEvent, K as StateEvent, f as StopReason, v as StreamEventType, T as TextDeltaData, p as TextDeltaEvent, a3 as ToolCallMessageEvent, G as ToolCompletedData, X as ToolCompletedEvent, F as ToolExecutingData, W as ToolExecutingEvent, H as ToolFailedData, Y as ToolFailedEvent, D as ToolPlannedData, V as ToolPlannedEvent, k as ToolResultData, t as ToolResultEvent, a4 as ToolResultMessageEvent, i as ToolUseStartData, q as ToolUseStartEvent, j as ToolUseStopData, s as ToolUseStopEvent, a9 as TurnEvent, a7 as TurnRequestData, aa as TurnRequestEvent, a8 as TurnResponseData, ab as TurnResponseEvent, a1 as UserMessageEvent, af as isMessageEvent, ae as isStateEvent, ag as isTurnEvent } from '../event-CDuTzs__.js';
4
- import { CreateAgentOptions, AgentEngine, StateChangeHandler } from './types/index.js';
1
+ export { A as AssistantMessage, C as ContentPart, E as ErrorMessage, F as FilePart, I as ImagePart, M as Message, c as MessageRole, d as MessageSubtype, e as TextPart, f as ThinkingPart, a as TokenUsage, g as ToolCallPart, T as ToolResultMessage, h as ToolResultOutput, i as ToolResultPart, b as UserContentPart, U as UserMessage } from '../message-Dn-I2vr0.js';
2
+ import { A as AgentState, a as AgentOutput, U as Unsubscribe, S as StreamEvent } from '../event-DNsF9EkO.js';
3
+ export { c as AgentError, d as AgentErrorCategory, e as AgentErrorOccurredEvent, f as AgentEvent, g as AgentEventHandler, h as AgentMessageEvent, b as AgentOutputCallback, i as AgentStateEvent, j as AgentTurnEvent, k as AssistantMessageEvent, C as ConversationEndData, l as ConversationEndEvent, m as ConversationInterruptedData, n as ConversationInterruptedEvent, o as ConversationQueuedData, p as ConversationQueuedEvent, q as ConversationRespondingData, r as ConversationRespondingEvent, s as ConversationStartData, t as ConversationStartEvent, u as ConversationThinkingData, v as ConversationThinkingEvent, E as EngineEvent, w as ErrorMessageEvent, x as ErrorOccurredData, y as ErrorOccurredEvent, z as ErrorReceivedData, B as ErrorReceivedEvent, I as InputJsonDeltaData, D as InputJsonDeltaEvent, M as MessageDeltaData, F as MessageDeltaEvent, G as MessageEvent, H as MessageStartData, J as MessageStartEvent, K as MessageStopData, L as MessageStopEvent, N as StateEvent, O as StopReason, P as StreamEventType, T as TextDeltaData, Q as TextDeltaEvent, R as ToolCompletedData, V as ToolCompletedEvent, W as ToolExecutingData, X as ToolExecutingEvent, Y as ToolFailedData, Z as ToolFailedEvent, _ as ToolPlannedData, $ as ToolPlannedEvent, a0 as ToolResultData, a1 as ToolResultEvent, a2 as ToolResultMessageEvent, a3 as ToolUseStartData, a4 as ToolUseStartEvent, a5 as ToolUseStopData, a6 as ToolUseStopEvent, a7 as TurnEvent, a8 as TurnRequestData, a9 as TurnRequestEvent, aa as TurnResponseData, ab as TurnResponseEvent, ac as UserMessageEvent, ad as isMessageEvent, ae as isStateEvent, af as isTurnEvent } from '../event-DNsF9EkO.js';
4
+ import { StateChangeHandler, CreateAgentOptions, AgentEngine } from './types/index.js';
5
5
  export { AgentEventBus, AgentInterceptor, AgentInterceptorNext, AgentMiddleware, AgentMiddlewareNext, AgentPresenter, AgentSource, AgentStateMachineInterface, EventHandlerMap, MessageQueue, ReactHandlerMap, StateChange } from './types/index.js';
6
6
  import { MessageAssemblerState, StateEventProcessorContext, TurnTrackerState, MessageAssemblerOutput, StateEventProcessorOutput, TurnTrackerOutput } from './engine/internal/index.js';
7
7
  export { MessageAssemblerInput, PendingContent, PendingTurn, StateEventProcessorInput, TurnTrackerInput, createInitialMessageAssemblerState, createInitialStateEventProcessorContext, createInitialTurnTrackerState, messageAssemblerProcessor, messageAssemblerProcessorDef, stateEventProcessor, stateEventProcessorDef, turnTrackerProcessor, turnTrackerProcessorDef } from './engine/internal/index.js';
8
- export { M as MemoryStore, a as Sink, b as SinkDefinition, c as Source, d as SourceDefinition, S as Store, g as chainProcessors, f as combineInitialStates, e as combineProcessors, h as filterProcessor, i as identityProcessor, m as mapOutput, w as withLogging } from '../combinators-nEa5dD0T.js';
9
- import { P as Processor } from '../Processor-DT0N1qI6.js';
10
- export { b as ProcessorDefinition, a as ProcessorResult } from '../Processor-DT0N1qI6.js';
8
+ import { P as Processor } from '../Processor-CeMyXtsX.js';
9
+ export { a as ProcessorDefinition, b as ProcessorResult } from '../Processor-CeMyXtsX.js';
10
+ export { M as MemoryStore, a as Sink, b as SinkDefinition, c as Source, d as SourceDefinition, S as Store, e as chainProcessors, f as combineInitialStates, g as combineProcessors, h as filterProcessor, i as identityProcessor, m as mapOutput, w as withLogging } from '../combinators-Dy-7lxKV.js';
11
11
  import 'commonxjs/logger';
12
12
 
13
- /**
14
- * createAgent - Factory function to create an AgentEngine
15
- *
16
- * Creates an AgentEngine connected to EventBus:
17
- * - receive() emits user_message to EventBus
18
- * - Source subscribes to StreamEvent from EventBus
19
- * - Presenter emits AgentOutput to EventBus
20
- *
21
- * ```
22
- * EventBus
23
- * ↗ ↘
24
- * emit │ │ emit
25
- * user_message │ │ AgentOutput
26
- * ↑ │ │ ↑
27
- * ┌─────────────────────────────────────────────────────────────┐
28
- * │ AgentEngine │
29
- * │ │
30
- * │ receive() ──► Source ──► MealyMachine ──► Presenter │
31
- * │ (sub) (pub) │
32
- * └─────────────────────────────────────────────────────────────┘
33
- * ```
34
- */
35
-
36
- /**
37
- * Create an AgentEngine instance connected to EventBus
38
- */
39
- declare function createAgent(options: CreateAgentOptions): AgentEngine;
40
-
41
13
  /**
42
14
  * AgentStateMachine - State management driven by StateEvents
43
15
  *
@@ -93,6 +65,90 @@ declare class AgentStateMachine {
93
65
  private notifyHandlers;
94
66
  }
95
67
 
68
+ /**
69
+ * createAgent - Factory function to create an AgentEngine
70
+ *
71
+ * Creates an AgentEngine connected to EventBus:
72
+ * - receive() emits user_message to EventBus
73
+ * - Source subscribes to StreamEvent from EventBus
74
+ * - Presenter emits AgentOutput to EventBus
75
+ *
76
+ * ```
77
+ * EventBus
78
+ * ↗ ↘
79
+ * emit │ │ emit
80
+ * user_message │ │ AgentOutput
81
+ * ↑ │ │ ↑
82
+ * ┌─────────────────────────────────────────────────────────────┐
83
+ * │ AgentEngine │
84
+ * │ │
85
+ * │ receive() ──► Source ──► MealyMachine ──► Presenter │
86
+ * │ (sub) (pub) │
87
+ * └─────────────────────────────────────────────────────────────┘
88
+ * ```
89
+ */
90
+
91
+ /**
92
+ * Create an AgentEngine instance connected to EventBus
93
+ */
94
+ declare function createAgent(options: CreateAgentOptions): AgentEngine;
95
+
96
+ /**
97
+ * AgentProcessor
98
+ *
99
+ * Combined Mealy processor for the full AgentX engine.
100
+ * Composes MessageAssembler, StateMachine, and TurnTracker processors.
101
+ */
102
+
103
+ /**
104
+ * Combined state type for the full agent engine
105
+ */
106
+ type AgentEngineState = {
107
+ messageAssembler: MessageAssemblerState;
108
+ stateEventProcessor: StateEventProcessorContext;
109
+ turnTracker: TurnTrackerState;
110
+ };
111
+ /**
112
+ * Input event type for AgentProcessor
113
+ *
114
+ * Accepts:
115
+ * - StreamEventType: Raw stream events from Driver
116
+ * - MessageEventType: Re-injected message events (for TurnTracker)
117
+ *
118
+ * Note: AgentOutput is used because re-injected events can be any output type
119
+ */
120
+ type AgentProcessorInput = AgentOutput;
121
+ /**
122
+ * Output event type from AgentProcessor
123
+ *
124
+ * Produces:
125
+ * - MessageAssemblerOutput: Assembled message events
126
+ * - StateEventProcessorOutput: State transition events
127
+ * - TurnTrackerOutput: Turn analytics events
128
+ *
129
+ * Note: StreamEventType is NOT in output - it's passed through by AgentEngine
130
+ */
131
+ type AgentProcessorOutput = MessageAssemblerOutput | StateEventProcessorOutput | TurnTrackerOutput;
132
+ /**
133
+ * Combined processor for the full agent engine
134
+ *
135
+ * This combines:
136
+ * - MessageAssembler: Stream → Message events
137
+ * - StateEventProcessor: Stream → State events
138
+ * - TurnTracker: Message → Turn events
139
+ *
140
+ * Pattern: (state, input) => [newState, outputs]
141
+ * Key insight: State is means, outputs are the goal (Mealy Machine)
142
+ *
143
+ * Note: Raw StreamEvents are NOT output by this processor.
144
+ * The AgentEngine handles pass-through of original events.
145
+ */
146
+ declare const agentProcessor: Processor<AgentEngineState, AgentProcessorInput, AgentProcessorOutput>;
147
+ /**
148
+ * Initial state factory for the full agent engine
149
+ */
150
+ declare const createInitialAgentEngineState: () => AgentEngineState;
151
+
96
152
  /**
97
153
  * MealyMachine - Pure Mealy Machine Event Processor
98
154
  *
@@ -114,7 +170,7 @@ declare class AgentStateMachine {
114
170
  * AgentOutput (to AgentEngine/Presenter)
115
171
  * │
116
172
  * ├── StateEvent (conversation_start, conversation_end...)
117
- * ├── MessageEvent (assistant_message, tool_call_message...)
173
+ * ├── MessageEvent (assistant_message, tool_result_message...)
118
174
  * └── TurnEvent (turn_request, turn_response)
119
175
  * ```
120
176
  *
@@ -185,60 +241,4 @@ declare class MealyMachine {
185
241
  */
186
242
  declare function createMealyMachine(): MealyMachine;
187
243
 
188
- /**
189
- * AgentProcessor
190
- *
191
- * Combined Mealy processor for the full AgentX engine.
192
- * Composes MessageAssembler, StateMachine, and TurnTracker processors.
193
- */
194
-
195
- /**
196
- * Combined state type for the full agent engine
197
- */
198
- type AgentEngineState = {
199
- messageAssembler: MessageAssemblerState;
200
- stateEventProcessor: StateEventProcessorContext;
201
- turnTracker: TurnTrackerState;
202
- };
203
- /**
204
- * Input event type for AgentProcessor
205
- *
206
- * Accepts:
207
- * - StreamEventType: Raw stream events from Driver
208
- * - MessageEventType: Re-injected message events (for TurnTracker)
209
- *
210
- * Note: AgentOutput is used because re-injected events can be any output type
211
- */
212
- type AgentProcessorInput = AgentOutput;
213
- /**
214
- * Output event type from AgentProcessor
215
- *
216
- * Produces:
217
- * - MessageAssemblerOutput: Assembled message events
218
- * - StateEventProcessorOutput: State transition events
219
- * - TurnTrackerOutput: Turn analytics events
220
- *
221
- * Note: StreamEventType is NOT in output - it's passed through by AgentEngine
222
- */
223
- type AgentProcessorOutput = MessageAssemblerOutput | StateEventProcessorOutput | TurnTrackerOutput;
224
- /**
225
- * Combined processor for the full agent engine
226
- *
227
- * This combines:
228
- * - MessageAssembler: Stream → Message events
229
- * - StateEventProcessor: Stream → State events
230
- * - TurnTracker: Message → Turn events
231
- *
232
- * Pattern: (state, input) => [newState, outputs]
233
- * Key insight: State is means, outputs are the goal (Mealy Machine)
234
- *
235
- * Note: Raw StreamEvents are NOT output by this processor.
236
- * The AgentEngine handles pass-through of original events.
237
- */
238
- declare const agentProcessor: Processor<AgentEngineState, AgentProcessorInput, AgentProcessorOutput>;
239
- /**
240
- * Initial state factory for the full agent engine
241
- */
242
- declare const createInitialAgentEngineState: () => AgentEngineState;
243
-
244
244
  export { AgentEngine, type AgentEngineState, AgentOutput, type AgentProcessorInput, type AgentProcessorOutput, AgentState, AgentStateMachine, CreateAgentOptions, MealyMachine, MessageAssemblerOutput, MessageAssemblerState, Processor, StateChangeHandler, StateEventProcessorContext, StateEventProcessorOutput, StreamEvent, TurnTrackerOutput, TurnTrackerState, Unsubscribe, agentProcessor, createAgent, createInitialAgentEngineState, createMealyMachine };
@@ -1,3 +1,4 @@
1
+ import "../chunk-SKS7S2RY.js";
1
2
  import {
2
3
  AgentStateMachine,
3
4
  MealyMachine,
@@ -5,17 +6,7 @@ import {
5
6
  createAgent,
6
7
  createInitialAgentEngineState,
7
8
  createMealyMachine
8
- } from "../chunk-AT5P47YA.js";
9
- import {
10
- MemoryStore,
11
- chainProcessors,
12
- combineInitialStates,
13
- combineProcessors,
14
- filterProcessor,
15
- identityProcessor,
16
- mapOutput,
17
- withLogging
18
- } from "../chunk-EKHT54KN.js";
9
+ } from "../chunk-RWIYC65R.js";
19
10
  import {
20
11
  createInitialMessageAssemblerState,
21
12
  createInitialStateEventProcessorContext,
@@ -26,15 +17,24 @@ import {
26
17
  stateEventProcessorDef,
27
18
  turnTrackerProcessor,
28
19
  turnTrackerProcessorDef
29
- } from "../chunk-I7GYR3MN.js";
20
+ } from "../chunk-TUFZ2YH6.js";
21
+ import {
22
+ MemoryStore,
23
+ chainProcessors,
24
+ combineInitialStates,
25
+ combineProcessors,
26
+ filterProcessor,
27
+ identityProcessor,
28
+ mapOutput,
29
+ withLogging
30
+ } from "../chunk-APCBNCOW.js";
30
31
  import {
31
32
  isMessageEvent,
32
33
  isStateEvent,
33
34
  isTurnEvent
34
- } from "../chunk-K6WXQ2RW.js";
35
- import "../chunk-7ZDX3O6I.js";
36
- import "../chunk-E5FPOAPO.js";
37
- import "../chunk-7D4SUZUM.js";
35
+ } from "../chunk-YSZG6XIM.js";
36
+ import "../chunk-AAFPAF67.js";
37
+ import "../chunk-22NTRYNO.js";
38
38
  export {
39
39
  AgentStateMachine,
40
40
  MealyMachine,
@@ -1,7 +1,7 @@
1
- import { U as UserMessage } from '../../message-BMrMm1pq.js';
2
- export { A as AssistantMessage, C as ContentPart, E as ErrorMessage, F as FilePart, I as ImagePart, M as Message, i as MessageRole, j as MessageSubtype, d as TextPart, e as ThinkingPart, b as TokenUsage, T as ToolCallMessage, f as ToolCallPart, a as ToolResultMessage, g as ToolResultOutput, h as ToolResultPart, c as UserContentPart } from '../../message-BMrMm1pq.js';
3
- import { S as StreamEvent, A as AgentOutput, a as AgentState, b as AgentOutputCallback, U as Unsubscribe } from '../../event-CDuTzs__.js';
4
- export { e as AgentError, d as AgentErrorCategory, _ as AgentErrorOccurredEvent, c as AgentEvent, ad as AgentEventHandler, a6 as AgentMessageEvent, $ as AgentStateEvent, ac as AgentTurnEvent, a2 as AssistantMessageEvent, z as ConversationEndData, Q as ConversationEndEvent, B as ConversationInterruptedData, R as ConversationInterruptedEvent, C as ConversationQueuedData, L as ConversationQueuedEvent, y as ConversationRespondingData, P as ConversationRespondingEvent, w as ConversationStartData, N as ConversationStartEvent, x as ConversationThinkingData, O as ConversationThinkingEvent, E as EngineEvent, a5 as ErrorMessageEvent, J as ErrorOccurredData, Z as ErrorOccurredEvent, l as ErrorReceivedData, u as ErrorReceivedEvent, I as InputJsonDeltaData, r as InputJsonDeltaEvent, g as MessageDeltaData, n as MessageDeltaEvent, a0 as MessageEvent, M as MessageStartData, m as MessageStartEvent, h as MessageStopData, o as MessageStopEvent, K as StateEvent, f as StopReason, v as StreamEventType, T as TextDeltaData, p as TextDeltaEvent, a3 as ToolCallMessageEvent, G as ToolCompletedData, X as ToolCompletedEvent, F as ToolExecutingData, W as ToolExecutingEvent, H as ToolFailedData, Y as ToolFailedEvent, D as ToolPlannedData, V as ToolPlannedEvent, k as ToolResultData, t as ToolResultEvent, a4 as ToolResultMessageEvent, i as ToolUseStartData, q as ToolUseStartEvent, j as ToolUseStopData, s as ToolUseStopEvent, a9 as TurnEvent, a7 as TurnRequestData, aa as TurnRequestEvent, a8 as TurnResponseData, ab as TurnResponseEvent, a1 as UserMessageEvent, af as isMessageEvent, ae as isStateEvent, ag as isTurnEvent } from '../../event-CDuTzs__.js';
1
+ import { U as UserMessage } from '../../message-Dn-I2vr0.js';
2
+ export { A as AssistantMessage, C as ContentPart, E as ErrorMessage, F as FilePart, I as ImagePart, M as Message, c as MessageRole, d as MessageSubtype, e as TextPart, f as ThinkingPart, a as TokenUsage, g as ToolCallPart, T as ToolResultMessage, h as ToolResultOutput, i as ToolResultPart, b as UserContentPart } from '../../message-Dn-I2vr0.js';
3
+ import { A as AgentState, S as StreamEvent, a as AgentOutput, b as AgentOutputCallback, U as Unsubscribe } from '../../event-DNsF9EkO.js';
4
+ export { c as AgentError, d as AgentErrorCategory, e as AgentErrorOccurredEvent, f as AgentEvent, g as AgentEventHandler, h as AgentMessageEvent, i as AgentStateEvent, j as AgentTurnEvent, k as AssistantMessageEvent, C as ConversationEndData, l as ConversationEndEvent, m as ConversationInterruptedData, n as ConversationInterruptedEvent, o as ConversationQueuedData, p as ConversationQueuedEvent, q as ConversationRespondingData, r as ConversationRespondingEvent, s as ConversationStartData, t as ConversationStartEvent, u as ConversationThinkingData, v as ConversationThinkingEvent, E as EngineEvent, w as ErrorMessageEvent, x as ErrorOccurredData, y as ErrorOccurredEvent, z as ErrorReceivedData, B as ErrorReceivedEvent, I as InputJsonDeltaData, D as InputJsonDeltaEvent, M as MessageDeltaData, F as MessageDeltaEvent, G as MessageEvent, H as MessageStartData, J as MessageStartEvent, K as MessageStopData, L as MessageStopEvent, N as StateEvent, O as StopReason, P as StreamEventType, T as TextDeltaData, Q as TextDeltaEvent, R as ToolCompletedData, V as ToolCompletedEvent, W as ToolExecutingData, X as ToolExecutingEvent, Y as ToolFailedData, Z as ToolFailedEvent, _ as ToolPlannedData, $ as ToolPlannedEvent, a0 as ToolResultData, a1 as ToolResultEvent, a2 as ToolResultMessageEvent, a3 as ToolUseStartData, a4 as ToolUseStartEvent, a5 as ToolUseStopData, a6 as ToolUseStopEvent, a7 as TurnEvent, a8 as TurnRequestData, a9 as TurnRequestEvent, aa as TurnResponseData, ab as TurnResponseEvent, ac as UserMessageEvent, ad as isMessageEvent, ae as isStateEvent, af as isTurnEvent } from '../../event-DNsF9EkO.js';
5
5
 
6
6
  /**
7
7
  * Engine Types - AgentEngine, Driver, Presenter, and related infrastructure
@@ -2,8 +2,7 @@ import {
2
2
  isMessageEvent,
3
3
  isStateEvent,
4
4
  isTurnEvent
5
- } from "../../chunk-K6WXQ2RW.js";
6
- import "../../chunk-7D4SUZUM.js";
5
+ } from "../../chunk-YSZG6XIM.js";
7
6
  export {
8
7
  isMessageEvent,
9
8
  isStateEvent,
@@ -0,0 +1,29 @@
1
+ import { T as ToolDefinition } from '../index--gxNpY5W.js';
2
+ import { B as BashProvider } from '../types-Cb8tKM6Y.js';
3
+ export { a as BashOptions, b as BashResult } from '../types-Cb8tKM6Y.js';
4
+ import '../message-Dn-I2vr0.js';
5
+
6
+ /**
7
+ * Bash Tool Definition
8
+ *
9
+ * Creates a ToolDefinition that wraps a BashProvider.
10
+ * The tool schema is sent to the LLM, the execute function
11
+ * delegates to the platform-provided BashProvider via closure.
12
+ */
13
+
14
+ /**
15
+ * Create a bash ToolDefinition from a BashProvider
16
+ *
17
+ * @param provider - Platform-provided BashProvider
18
+ * @returns ToolDefinition ready for DriverConfig.tools
19
+ *
20
+ * @example
21
+ * ```typescript
22
+ * if (platform.bashProvider) {
23
+ * tools.push(createBashTool(platform.bashProvider));
24
+ * }
25
+ * ```
26
+ */
27
+ declare function createBashTool(provider: BashProvider): ToolDefinition;
28
+
29
+ export { BashProvider, createBashTool };
@@ -0,0 +1,7 @@
1
+ import {
2
+ createBashTool
3
+ } from "../chunk-FI7WQFGV.js";
4
+ export {
5
+ createBashTool
6
+ };
7
+ //# sourceMappingURL=index.js.map
@@ -67,7 +67,7 @@ interface McpServerConfig {
67
67
  * Image metadata for storing provider-specific data
68
68
  */
69
69
  interface ImageMetadata {
70
- claudeSdkSessionId?: string;
70
+ driverSessionId?: string;
71
71
  }
72
72
  /**
73
73
  * Image storage record
@@ -273,6 +273,7 @@ interface ImageCreateRequest extends BaseCommandRequest<"image_create_request",
273
273
  name?: string;
274
274
  description?: string;
275
275
  systemPrompt?: string;
276
+ customData?: Record<string, unknown>;
276
277
  };
277
278
  }> {
278
279
  }
@@ -328,6 +329,7 @@ interface ImageUpdateRequest extends BaseCommandRequest<"image_update_request",
328
329
  updates: {
329
330
  name?: string;
330
331
  description?: string;
332
+ customData?: Record<string, unknown>;
331
333
  };
332
334
  }> {
333
335
  }
@@ -1,3 +1,20 @@
1
+ // src/event/types/agent.ts
2
+ function isAgentStreamEvent(event) {
3
+ return event.source === "agent" && event.category === "stream";
4
+ }
5
+ function isAgentStateEvent(event) {
6
+ return event.source === "agent" && event.category === "state";
7
+ }
8
+ function isAgentMessageEvent(event) {
9
+ return event.source === "agent" && event.category === "message";
10
+ }
11
+ function isAgentTurnEvent(event) {
12
+ return event.source === "agent" && event.category === "turn";
13
+ }
14
+ function isAgentEvent(event) {
15
+ return event.source === "agent";
16
+ }
17
+
1
18
  // src/event/types/base.ts
2
19
  function isFromSource(event, source) {
3
20
  return event.source === source;
@@ -15,6 +32,34 @@ function isNotification(event) {
15
32
  return event.intent === "notification";
16
33
  }
17
34
 
35
+ // src/event/types/command.ts
36
+ function isCommandEvent(event) {
37
+ return event.source === "command";
38
+ }
39
+ function isCommandRequest(event) {
40
+ return event.source === "command" && event.category === "request";
41
+ }
42
+ function isCommandResponse(event) {
43
+ return event.source === "command" && event.category === "response";
44
+ }
45
+
46
+ // src/event/types/container.ts
47
+ function isContainerLifecycleEvent(event) {
48
+ return event.source === "container" && event.category === "lifecycle";
49
+ }
50
+ function isWorkdirEvent(event) {
51
+ return event.source === "sandbox" && event.category === "workdir";
52
+ }
53
+ function isMCPEvent(event) {
54
+ return event.source === "sandbox" && event.category === "mcp";
55
+ }
56
+ function isSandboxEvent(event) {
57
+ return event.source === "sandbox";
58
+ }
59
+ function isContainerEvent(event) {
60
+ return event.source === "container" || event.source === "sandbox";
61
+ }
62
+
18
63
  // src/event/types/driver.ts
19
64
  function isStopReason(value) {
20
65
  return [
@@ -34,23 +79,6 @@ function isConnectionEvent(event) {
34
79
  return event.source === "driver" && event.category === "connection";
35
80
  }
36
81
 
37
- // src/event/types/agent.ts
38
- function isAgentStreamEvent(event) {
39
- return event.source === "agent" && event.category === "stream";
40
- }
41
- function isAgentStateEvent(event) {
42
- return event.source === "agent" && event.category === "state";
43
- }
44
- function isAgentMessageEvent(event) {
45
- return event.source === "agent" && event.category === "message";
46
- }
47
- function isAgentTurnEvent(event) {
48
- return event.source === "agent" && event.category === "turn";
49
- }
50
- function isAgentEvent(event) {
51
- return event.source === "agent";
52
- }
53
-
54
82
  // src/event/types/session.ts
55
83
  function isSessionLifecycleEvent(event) {
56
84
  return event.source === "session" && event.category === "lifecycle";
@@ -65,59 +93,31 @@ function isSessionEvent(event) {
65
93
  return event.source === "session";
66
94
  }
67
95
 
68
- // src/event/types/container.ts
69
- function isContainerLifecycleEvent(event) {
70
- return event.source === "container" && event.category === "lifecycle";
71
- }
72
- function isWorkdirEvent(event) {
73
- return event.source === "sandbox" && event.category === "workdir";
74
- }
75
- function isMCPEvent(event) {
76
- return event.source === "sandbox" && event.category === "mcp";
77
- }
78
- function isSandboxEvent(event) {
79
- return event.source === "sandbox";
80
- }
81
- function isContainerEvent(event) {
82
- return event.source === "container" || event.source === "sandbox";
83
- }
84
-
85
- // src/event/types/command.ts
86
- function isCommandEvent(event) {
87
- return event.source === "command";
88
- }
89
- function isCommandRequest(event) {
90
- return event.source === "command" && event.category === "request";
91
- }
92
- function isCommandResponse(event) {
93
- return event.source === "command" && event.category === "response";
94
- }
95
-
96
96
  export {
97
+ isAgentStreamEvent,
98
+ isAgentStateEvent,
99
+ isAgentMessageEvent,
100
+ isAgentTurnEvent,
101
+ isAgentEvent,
97
102
  isFromSource,
98
103
  hasIntent,
99
104
  isRequest,
100
105
  isResult,
101
106
  isNotification,
107
+ isCommandEvent,
108
+ isCommandRequest,
109
+ isCommandResponse,
110
+ isContainerLifecycleEvent,
111
+ isWorkdirEvent,
112
+ isMCPEvent,
113
+ isSandboxEvent,
114
+ isContainerEvent,
102
115
  isStopReason,
103
116
  isDriveableEvent,
104
117
  isConnectionEvent,
105
- isAgentStreamEvent,
106
- isAgentStateEvent,
107
- isAgentMessageEvent,
108
- isAgentTurnEvent,
109
- isAgentEvent,
110
118
  isSessionLifecycleEvent,
111
119
  isSessionPersistEvent,
112
120
  isSessionActionEvent,
113
- isSessionEvent,
114
- isContainerLifecycleEvent,
115
- isWorkdirEvent,
116
- isMCPEvent,
117
- isSandboxEvent,
118
- isContainerEvent,
119
- isCommandEvent,
120
- isCommandRequest,
121
- isCommandResponse
121
+ isSessionEvent
122
122
  };
123
- //# sourceMappingURL=chunk-E5FPOAPO.js.map
123
+ //# sourceMappingURL=chunk-22NTRYNO.js.map