jazz-ai 0.2.2 → 0.4.3

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 (151) hide show
  1. package/README.md +8 -6
  2. package/dist/cli/commands/chat-agent.d.ts +3 -1
  3. package/dist/cli/commands/chat-agent.d.ts.map +1 -1
  4. package/dist/cli/commands/chat-agent.js +180 -102
  5. package/dist/cli/commands/chat-agent.js.map +1 -1
  6. package/dist/cli/commands/edit-agent.d.ts +2 -2
  7. package/dist/cli/commands/edit-agent.d.ts.map +1 -1
  8. package/dist/cli/commands/edit-agent.js +20 -10
  9. package/dist/cli/commands/edit-agent.js.map +1 -1
  10. package/dist/cli/commands/task-agent.d.ts +1 -1
  11. package/dist/cli/commands/task-agent.d.ts.map +1 -1
  12. package/dist/cli/commands/task-agent.js +6 -6
  13. package/dist/cli/commands/task-agent.js.map +1 -1
  14. package/dist/constants/agent.d.ts +2 -0
  15. package/dist/constants/agent.d.ts.map +1 -0
  16. package/dist/constants/agent.js +5 -0
  17. package/dist/constants/agent.js.map +1 -0
  18. package/dist/core/agent/agent-prompt.d.ts +0 -1
  19. package/dist/core/agent/agent-prompt.d.ts.map +1 -1
  20. package/dist/core/agent/agent-prompt.js +7 -15
  21. package/dist/core/agent/agent-prompt.js.map +1 -1
  22. package/dist/core/agent/agent-runner.d.ts +15 -0
  23. package/dist/core/agent/agent-runner.d.ts.map +1 -1
  24. package/dist/core/agent/agent-runner.js +570 -270
  25. package/dist/core/agent/agent-runner.js.map +1 -1
  26. package/dist/core/agent/agent-service.d.ts +20 -5
  27. package/dist/core/agent/agent-service.d.ts.map +1 -1
  28. package/dist/core/agent/agent-service.js +54 -6
  29. package/dist/core/agent/agent-service.js.map +1 -1
  30. package/dist/core/agent/gmail-agent.js +7 -7
  31. package/dist/core/agent/gmail-agent.js.map +1 -1
  32. package/dist/core/agent/prompts/coder/v1.d.ts +2 -0
  33. package/dist/core/agent/prompts/coder/v1.d.ts.map +1 -0
  34. package/dist/core/agent/prompts/coder/v1.js +370 -0
  35. package/dist/core/agent/prompts/coder/v1.js.map +1 -0
  36. package/dist/core/agent/prompts/default/v2.d.ts +1 -1
  37. package/dist/core/agent/prompts/default/v2.d.ts.map +1 -1
  38. package/dist/core/agent/prompts/default/v2.js +1 -2
  39. package/dist/core/agent/prompts/default/v2.js.map +1 -1
  40. package/dist/core/agent/prompts/gmail/v1.d.ts +1 -1
  41. package/dist/core/agent/prompts/gmail/v1.d.ts.map +1 -1
  42. package/dist/core/agent/prompts/gmail/v1.js +5 -5
  43. package/dist/core/agent/prompts/gmail/v2.d.ts +1 -1
  44. package/dist/core/agent/prompts/gmail/v2.d.ts.map +1 -1
  45. package/dist/core/agent/prompts/gmail/v2.js +7 -7
  46. package/dist/core/agent/tools/base-tool.d.ts +3 -4
  47. package/dist/core/agent/tools/base-tool.d.ts.map +1 -1
  48. package/dist/core/agent/tools/base-tool.js +11 -51
  49. package/dist/core/agent/tools/base-tool.js.map +1 -1
  50. package/dist/core/agent/tools/context-utils.d.ts +6 -0
  51. package/dist/core/agent/tools/context-utils.d.ts.map +1 -0
  52. package/dist/core/agent/tools/context-utils.js +9 -0
  53. package/dist/core/agent/tools/context-utils.js.map +1 -0
  54. package/dist/core/agent/tools/env-utils.d.ts +7 -0
  55. package/dist/core/agent/tools/env-utils.d.ts.map +1 -0
  56. package/dist/core/agent/tools/env-utils.js +39 -0
  57. package/dist/core/agent/tools/env-utils.js.map +1 -0
  58. package/dist/core/agent/tools/fs-tools.d.ts.map +1 -1
  59. package/dist/core/agent/tools/fs-tools.js +48 -53
  60. package/dist/core/agent/tools/fs-tools.js.map +1 -1
  61. package/dist/core/agent/tools/git-tools.d.ts +5 -0
  62. package/dist/core/agent/tools/git-tools.d.ts.map +1 -1
  63. package/dist/core/agent/tools/git-tools.js +716 -154
  64. package/dist/core/agent/tools/git-tools.js.map +1 -1
  65. package/dist/core/agent/tools/gmail-tools.js +35 -35
  66. package/dist/core/agent/tools/gmail-tools.js.map +1 -1
  67. package/dist/core/agent/tools/http-tools.js +2 -2
  68. package/dist/core/agent/tools/http-tools.js.map +1 -1
  69. package/dist/core/agent/tools/register-tools.d.ts +18 -1
  70. package/dist/core/agent/tools/register-tools.d.ts.map +1 -1
  71. package/dist/core/agent/tools/register-tools.js +52 -6
  72. package/dist/core/agent/tools/register-tools.js.map +1 -1
  73. package/dist/core/agent/tools/shell-tools.d.ts.map +1 -1
  74. package/dist/core/agent/tools/shell-tools.js +10 -20
  75. package/dist/core/agent/tools/shell-tools.js.map +1 -1
  76. package/dist/core/agent/tools/tool-registry.d.ts +11 -7
  77. package/dist/core/agent/tools/tool-registry.d.ts.map +1 -1
  78. package/dist/core/agent/tools/tool-registry.js +45 -19
  79. package/dist/core/agent/tools/tool-registry.js.map +1 -1
  80. package/dist/core/agent/tools/web-search-tools.js +1 -1
  81. package/dist/core/agent/tools/web-search-tools.js.map +1 -1
  82. package/dist/core/agent/tracking/agent-run-tracker.d.ts +2 -0
  83. package/dist/core/agent/tracking/agent-run-tracker.d.ts.map +1 -1
  84. package/dist/core/agent/tracking/agent-run-tracker.js +40 -2
  85. package/dist/core/agent/tracking/agent-run-tracker.js.map +1 -1
  86. package/dist/core/types/index.d.ts +82 -15
  87. package/dist/core/types/index.d.ts.map +1 -1
  88. package/dist/core/types/index.js.map +1 -1
  89. package/dist/core/utils/markdown-renderer.d.ts +25 -0
  90. package/dist/core/utils/markdown-renderer.d.ts.map +1 -1
  91. package/dist/core/utils/markdown-renderer.js +100 -1
  92. package/dist/core/utils/markdown-renderer.js.map +1 -1
  93. package/dist/core/utils/output-renderer.d.ts +81 -0
  94. package/dist/core/utils/output-renderer.d.ts.map +1 -0
  95. package/dist/core/utils/output-renderer.js +291 -0
  96. package/dist/core/utils/output-renderer.js.map +1 -0
  97. package/dist/core/utils/output-theme.d.ts +64 -0
  98. package/dist/core/utils/output-theme.d.ts.map +1 -0
  99. package/dist/core/utils/output-theme.js +154 -0
  100. package/dist/core/utils/output-theme.js.map +1 -0
  101. package/dist/core/utils/output-writer.d.ts +79 -0
  102. package/dist/core/utils/output-writer.d.ts.map +1 -0
  103. package/dist/core/utils/output-writer.js +133 -0
  104. package/dist/core/utils/output-writer.js.map +1 -0
  105. package/dist/core/utils/runtime-detection.d.ts +28 -0
  106. package/dist/core/utils/runtime-detection.d.ts.map +1 -0
  107. package/dist/core/utils/runtime-detection.js +62 -0
  108. package/dist/core/utils/runtime-detection.js.map +1 -0
  109. package/dist/core/utils/string.d.ts +8 -0
  110. package/dist/core/utils/string.d.ts.map +1 -0
  111. package/dist/core/utils/string.js +19 -0
  112. package/dist/core/utils/string.js.map +1 -0
  113. package/dist/core/utils/thinking-renderer.d.ts +56 -0
  114. package/dist/core/utils/thinking-renderer.d.ts.map +1 -0
  115. package/dist/core/utils/thinking-renderer.js +174 -0
  116. package/dist/core/utils/thinking-renderer.js.map +1 -0
  117. package/dist/core/utils/tool-formatter.d.ts +21 -0
  118. package/dist/core/utils/tool-formatter.d.ts.map +1 -0
  119. package/dist/core/utils/tool-formatter.js +343 -0
  120. package/dist/core/utils/tool-formatter.js.map +1 -0
  121. package/dist/main.js +11 -4
  122. package/dist/main.js.map +1 -1
  123. package/dist/services/config.d.ts.map +1 -1
  124. package/dist/services/config.js +20 -20
  125. package/dist/services/config.js.map +1 -1
  126. package/dist/services/llm/ai-sdk-service.d.ts.map +1 -1
  127. package/dist/services/llm/ai-sdk-service.js +128 -37
  128. package/dist/services/llm/ai-sdk-service.js.map +1 -1
  129. package/dist/services/llm/stream-detector.d.ts +44 -0
  130. package/dist/services/llm/stream-detector.d.ts.map +1 -0
  131. package/dist/services/llm/stream-detector.js +81 -0
  132. package/dist/services/llm/stream-detector.js.map +1 -0
  133. package/dist/services/llm/stream-processor.d.ts +93 -0
  134. package/dist/services/llm/stream-processor.d.ts.map +1 -0
  135. package/dist/services/llm/stream-processor.js +330 -0
  136. package/dist/services/llm/stream-processor.js.map +1 -0
  137. package/dist/services/llm/streaming-types.d.ts +131 -0
  138. package/dist/services/llm/streaming-types.d.ts.map +1 -0
  139. package/dist/services/llm/streaming-types.js +12 -0
  140. package/dist/services/llm/streaming-types.js.map +1 -0
  141. package/dist/services/llm/types.d.ts +8 -0
  142. package/dist/services/llm/types.d.ts.map +1 -1
  143. package/dist/services/llm/types.js.map +1 -1
  144. package/dist/services/logger.d.ts +4 -4
  145. package/dist/services/logger.d.ts.map +1 -1
  146. package/dist/services/logger.js +23 -45
  147. package/dist/services/logger.js.map +1 -1
  148. package/dist/services/shell.d.ts.map +1 -1
  149. package/dist/services/shell.js +52 -18
  150. package/dist/services/shell.js.map +1 -1
  151. package/package.json +1 -1
@@ -0,0 +1,330 @@
1
+ "use strict";
2
+ /**
3
+ * Stream Processing Utilities
4
+ *
5
+ * Clean separation of concerns for AI SDK streaming:
6
+ * - Handles AI SDK StreamText responses
7
+ * - Emits Effect Stream events
8
+ * - Manages completion signals
9
+ * - Tracks reasoning and text streams
10
+ */
11
+ Object.defineProperty(exports, "__esModule", { value: true });
12
+ exports.StreamProcessor = void 0;
13
+ const effect_1 = require("effect");
14
+ /**
15
+ * Create initial processor state
16
+ */
17
+ function createInitialState() {
18
+ return {
19
+ accumulatedText: "",
20
+ textSequence: 0,
21
+ textStreamCompleted: false,
22
+ hasStartedText: false,
23
+ reasoningSequence: 0,
24
+ reasoningStreamCompleted: false,
25
+ hasStartedReasoning: false,
26
+ thinkingCompleteEmitted: false,
27
+ reasoningTokens: undefined,
28
+ collectedToolCalls: [],
29
+ firstTokenTime: null,
30
+ finishEventReceived: false,
31
+ };
32
+ }
33
+ /**
34
+ * Stream Processor
35
+ * Handles AI SDK streaming responses and emits Effect stream events
36
+ */
37
+ class StreamProcessor {
38
+ config;
39
+ emit;
40
+ state;
41
+ completionResolver = null;
42
+ completionPromise;
43
+ constructor(config, emit) {
44
+ this.config = config;
45
+ this.emit = emit;
46
+ this.state = createInitialState();
47
+ // Create completion promise
48
+ this.completionPromise = new Promise((resolve) => {
49
+ this.completionResolver = resolve;
50
+ });
51
+ }
52
+ /**
53
+ * Get the completion promise
54
+ */
55
+ get completion() {
56
+ return this.completionPromise;
57
+ }
58
+ /**
59
+ * Process AI SDK StreamText result
60
+ * Returns the final ChatCompletionResponse
61
+ */
62
+ async process(result) {
63
+ // Emit stream start
64
+ void this.emitEvent({
65
+ type: "stream_start",
66
+ provider: this.config.providerName,
67
+ model: this.config.modelName,
68
+ timestamp: this.config.startTime,
69
+ });
70
+ // Start processing streams in parallel
71
+ await Promise.all([
72
+ this.processTextStream(result),
73
+ this.processReasoningText(result),
74
+ this.processFullStream(result),
75
+ ]);
76
+ // Wait for completion
77
+ await this.completionPromise;
78
+ // Build final response
79
+ const finalResponse = await this.buildFinalResponse(result);
80
+ // Emit complete event
81
+ this.emitCompleteEvent(finalResponse);
82
+ return finalResponse;
83
+ }
84
+ /**
85
+ * Process text stream
86
+ */
87
+ async processTextStream(result) {
88
+ try {
89
+ for await (const textChunk of result.textStream) {
90
+ // Emit text start on first chunk
91
+ if (!this.state.hasStartedText && textChunk.length > 0) {
92
+ void this.emitEvent({ type: "text_start" });
93
+ this.state.hasStartedText = true;
94
+ this.recordFirstToken();
95
+ }
96
+ // Emit text chunk
97
+ if (textChunk.length > 0) {
98
+ this.state.accumulatedText += textChunk;
99
+ void this.emitEvent({
100
+ type: "text_chunk",
101
+ delta: textChunk,
102
+ accumulated: this.state.accumulatedText,
103
+ sequence: this.state.textSequence++,
104
+ });
105
+ }
106
+ }
107
+ }
108
+ catch {
109
+ // Handle stream errors gracefully
110
+ }
111
+ finally {
112
+ this.state.textStreamCompleted = true;
113
+ this.checkCompletion();
114
+ }
115
+ }
116
+ /**
117
+ * Process reasoning text (for reasoning models)
118
+ */
119
+ async processReasoningText(result) {
120
+ if (!this.config.hasReasoningEnabled) {
121
+ this.state.reasoningStreamCompleted = true;
122
+ return;
123
+ }
124
+ try {
125
+ // Wait for reasoning text with timeout
126
+ const reasoningText = await Promise.race([
127
+ result.reasoningText,
128
+ new Promise((resolve) => setTimeout(() => resolve(undefined), 30 * 60 * 1000)),
129
+ ]);
130
+ // Only emit if we have reasoning content
131
+ if (reasoningText && reasoningText.length > 0) {
132
+ // Emit thinking start
133
+ if (!this.state.hasStartedReasoning) {
134
+ void this.emitEvent({ type: "thinking_start", provider: this.config.providerName });
135
+ this.state.hasStartedReasoning = true;
136
+ this.recordFirstToken();
137
+ }
138
+ // Emit reasoning chunks
139
+ const chunkSize = 1000;
140
+ for (let i = 0; i < reasoningText.length; i += chunkSize) {
141
+ const chunk = reasoningText.slice(i, i + chunkSize);
142
+ void this.emitEvent({
143
+ type: "thinking_chunk",
144
+ content: chunk,
145
+ sequence: this.state.reasoningSequence++,
146
+ });
147
+ }
148
+ // Emit thinking complete
149
+ if (!this.state.thinkingCompleteEmitted) {
150
+ void this.emitEvent({
151
+ type: "thinking_complete",
152
+ ...(this.state.reasoningTokens !== undefined && { totalTokens: this.state.reasoningTokens }),
153
+ });
154
+ this.state.thinkingCompleteEmitted = true;
155
+ }
156
+ }
157
+ }
158
+ catch {
159
+ // Silently handle reasoning errors - they shouldn't block the main response
160
+ }
161
+ finally {
162
+ this.state.reasoningStreamCompleted = true;
163
+ this.checkCompletion();
164
+ }
165
+ }
166
+ /**
167
+ * Process full stream for tool calls and metadata
168
+ */
169
+ async processFullStream(result) {
170
+ for await (const part of result.fullStream) {
171
+ // Stop if we've finished
172
+ if (this.state.finishEventReceived) {
173
+ break;
174
+ }
175
+ switch (part.type) {
176
+ case "tool-call": {
177
+ const toolCall = {
178
+ id: part.toolCallId,
179
+ type: "function",
180
+ function: {
181
+ name: part.toolName,
182
+ arguments: JSON.stringify(part.input),
183
+ },
184
+ };
185
+ this.state.collectedToolCalls.push(toolCall);
186
+ void this.emitEvent({
187
+ type: "tool_call",
188
+ toolCall,
189
+ sequence: this.state.textSequence++,
190
+ });
191
+ break;
192
+ }
193
+ case "reasoning-end": {
194
+ // Extract reasoning tokens from metadata
195
+ const totalUsage = "totalUsage" in part ? part.totalUsage : undefined;
196
+ const usage = "usage" in part ? part.usage : undefined;
197
+ const reasoningTokens = totalUsage && typeof totalUsage === "object" && "reasoningTokens" in totalUsage
198
+ ? totalUsage.reasoningTokens
199
+ : usage && typeof usage === "object" && "reasoningTokens" in usage
200
+ ? usage.reasoningTokens
201
+ : undefined;
202
+ if (reasoningTokens !== undefined) {
203
+ this.state.reasoningTokens = reasoningTokens;
204
+ }
205
+ break;
206
+ }
207
+ case "finish": {
208
+ this.state.finishEventReceived = true;
209
+ // For non-reasoning models, resolve immediately
210
+ // For reasoning models, wait for reasoning text to complete
211
+ if (!this.config.hasReasoningEnabled) {
212
+ this.resolveCompletion();
213
+ }
214
+ break;
215
+ }
216
+ case "error": {
217
+ throw part.error;
218
+ }
219
+ // Ignore other event types (text-delta, text-start, etc.) - handled by textStream
220
+ default:
221
+ break;
222
+ }
223
+ }
224
+ }
225
+ /**
226
+ * Build final response
227
+ */
228
+ async buildFinalResponse(result) {
229
+ const finalText = this.state.accumulatedText;
230
+ const toolCalls = this.state.collectedToolCalls.length > 0 ? this.state.collectedToolCalls : undefined;
231
+ // Try to get usage quickly (50ms timeout)
232
+ let usage;
233
+ try {
234
+ const usageResult = await Promise.race([
235
+ result.usage,
236
+ new Promise((resolve) => setTimeout(() => resolve(undefined), 50)),
237
+ ]);
238
+ if (usageResult) {
239
+ usage = {
240
+ promptTokens: usageResult.inputTokens ?? 0,
241
+ completionTokens: usageResult.outputTokens ?? 0,
242
+ totalTokens: usageResult.totalTokens ?? 0,
243
+ };
244
+ // Emit usage update
245
+ void this.emitEvent({ type: "usage_update", usage });
246
+ }
247
+ }
248
+ catch {
249
+ // Ignore usage errors
250
+ }
251
+ return {
252
+ id: "",
253
+ model: this.config.modelName,
254
+ content: finalText,
255
+ ...(toolCalls && { toolCalls }),
256
+ ...(usage && { usage }),
257
+ };
258
+ }
259
+ /**
260
+ * Emit complete event with metrics
261
+ */
262
+ emitCompleteEvent(response) {
263
+ const endTime = Date.now();
264
+ const totalDurationMs = endTime - this.config.startTime;
265
+ let metrics;
266
+ if (this.state.firstTokenTime) {
267
+ const firstTokenLatencyMs = this.state.firstTokenTime - this.config.startTime;
268
+ metrics = { firstTokenLatencyMs };
269
+ if (response.usage?.totalTokens) {
270
+ metrics.tokensPerSecond = (response.usage.totalTokens / totalDurationMs) * 1000;
271
+ metrics.totalTokens = response.usage.totalTokens;
272
+ }
273
+ }
274
+ this.emitEvent({
275
+ type: "complete",
276
+ response,
277
+ totalDurationMs,
278
+ ...(metrics && { metrics }),
279
+ });
280
+ }
281
+ /**
282
+ * Record first token time
283
+ */
284
+ recordFirstToken() {
285
+ if (!this.state.firstTokenTime) {
286
+ this.state.firstTokenTime = Date.now();
287
+ }
288
+ }
289
+ /**
290
+ * Check if we can resolve completion
291
+ */
292
+ checkCompletion() {
293
+ // For reasoning models: wait for both text and reasoning streams
294
+ // For non-reasoning models: wait for text stream only
295
+ if (this.config.hasReasoningEnabled) {
296
+ if (this.state.textStreamCompleted && this.state.reasoningStreamCompleted) {
297
+ this.resolveCompletion();
298
+ }
299
+ }
300
+ else {
301
+ if (this.state.textStreamCompleted) {
302
+ this.resolveCompletion();
303
+ }
304
+ }
305
+ }
306
+ /**
307
+ * Resolve completion
308
+ */
309
+ resolveCompletion() {
310
+ if (this.completionResolver) {
311
+ this.completionResolver();
312
+ this.completionResolver = null;
313
+ }
314
+ }
315
+ /**
316
+ * Emit a stream event
317
+ */
318
+ emitEvent(event) {
319
+ this.emit(effect_1.Effect.succeed(effect_1.Chunk.of(event)));
320
+ }
321
+ /**
322
+ * Close the stream
323
+ */
324
+ close() {
325
+ // Signal end of stream
326
+ this.emit(effect_1.Effect.fail(effect_1.Option.none()));
327
+ }
328
+ }
329
+ exports.StreamProcessor = StreamProcessor;
330
+ //# sourceMappingURL=stream-processor.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"stream-processor.js","sourceRoot":"","sources":["../../../src/services/llm/stream-processor.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,131 @@
1
+ import { Effect, Stream } from "effect";
2
+ import type { ChatCompletionResponse, LLMError, ToolCall } from "./types";
3
+ /**
4
+ * Streaming LLM types and interfaces
5
+ */
6
+ /**
7
+ * Token usage information
8
+ */
9
+ export interface TokenUsage {
10
+ promptTokens: number;
11
+ completionTokens: number;
12
+ totalTokens: number;
13
+ }
14
+ /**
15
+ * Structured streaming events - discriminated union
16
+ * These events allow consumers to react to different phases of the streaming response
17
+ */
18
+ export type StreamEvent = {
19
+ type: "stream_start";
20
+ provider: string;
21
+ model: string;
22
+ timestamp: number;
23
+ } | {
24
+ type: "complete";
25
+ response: ChatCompletionResponse;
26
+ totalDurationMs: number;
27
+ /**
28
+ * Performance metrics (only included if logging.showMetrics is enabled)
29
+ */
30
+ metrics?: {
31
+ firstTokenLatencyMs: number;
32
+ tokensPerSecond?: number;
33
+ totalTokens?: number;
34
+ };
35
+ } | {
36
+ type: "error";
37
+ error: LLMError;
38
+ recoverable: boolean;
39
+ } | {
40
+ type: "thinking_start";
41
+ provider: string;
42
+ } | {
43
+ type: "thinking_chunk";
44
+ content: string;
45
+ sequence: number;
46
+ } | {
47
+ type: "thinking_complete";
48
+ totalTokens?: number;
49
+ } | {
50
+ type: "text_start";
51
+ } | {
52
+ type: "text_chunk";
53
+ delta: string;
54
+ accumulated: string;
55
+ sequence: number;
56
+ } | {
57
+ type: "tool_call";
58
+ toolCall: ToolCall;
59
+ sequence: number;
60
+ } | {
61
+ type: "tools_detected";
62
+ toolNames: readonly string[];
63
+ agentName: string;
64
+ } | {
65
+ type: "tool_execution_start";
66
+ toolName: string;
67
+ toolCallId: string;
68
+ arguments?: Record<string, unknown>;
69
+ } | {
70
+ type: "tool_execution_complete";
71
+ toolCallId: string;
72
+ result: string;
73
+ durationMs: number;
74
+ summary?: string;
75
+ } | {
76
+ type: "usage_update";
77
+ usage: TokenUsage;
78
+ };
79
+ /**
80
+ * Streaming configuration - controls HOW content is streamed
81
+ * All fields optional with sensible defaults
82
+ */
83
+ export interface StreamingConfig {
84
+ /**
85
+ * Enable streaming mode
86
+ * - true: Always stream
87
+ * - false: Never stream
88
+ * - "auto": Auto-detect based on TTY (default)
89
+ */
90
+ readonly enabled: boolean | "auto";
91
+ /**
92
+ * Enable progressive markdown rendering with formatting
93
+ * Only applies when streaming is enabled
94
+ * Default: true
95
+ */
96
+ readonly progressiveMarkdown: boolean;
97
+ /**
98
+ * Text buffer delay in milliseconds
99
+ * Batches small chunks for smoother rendering
100
+ * Only applies when streaming is enabled
101
+ * Default: 50
102
+ */
103
+ readonly textBufferMs: number;
104
+ }
105
+ /**
106
+ * Result of streaming operation
107
+ */
108
+ export interface StreamingResult {
109
+ /**
110
+ * The event stream
111
+ * Consumers process this stream for real-time updates
112
+ */
113
+ readonly stream: Stream.Stream<StreamEvent, LLMError>;
114
+ /**
115
+ * Effect that completes with final response
116
+ * Consumers can either:
117
+ * 1. Process the stream for real-time updates
118
+ * 2. Just await the response for final result
119
+ */
120
+ readonly response: Effect.Effect<ChatCompletionResponse, LLMError>;
121
+ /**
122
+ * Cancel/abort the streaming operation
123
+ * Uses AbortSignal internally to cancel the AI SDK request
124
+ */
125
+ readonly cancel: Effect.Effect<void, never>;
126
+ }
127
+ /**
128
+ * Default streaming configuration
129
+ */
130
+ export declare const DEFAULT_STREAMING_CONFIG: StreamingConfig;
131
+ //# sourceMappingURL=streaming-types.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"streaming-types.d.ts","sourceRoot":"","sources":["../../../src/services/llm/streaming-types.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,12 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.DEFAULT_STREAMING_CONFIG = void 0;
4
+ /**
5
+ * Default streaming configuration
6
+ */
7
+ exports.DEFAULT_STREAMING_CONFIG = {
8
+ enabled: true, // Used internally after auto-detection
9
+ progressiveMarkdown: true,
10
+ textBufferMs: 50,
11
+ };
12
+ //# sourceMappingURL=streaming-types.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"streaming-types.js","sourceRoot":"","sources":["../../../src/services/llm/streaming-types.ts"],"names":[],"mappings":";;;AA8HA;;GAEG;AACU,QAAA,wBAAwB,GAAoB;IACvD,OAAO,EAAE,IAAI,EAAE,uCAAuC;IACtD,mBAAmB,EAAE,IAAI;IACzB,YAAY,EAAE,EAAE;CACjB,CAAC"}
@@ -1,5 +1,6 @@
1
1
  import { Context, Effect } from "effect";
2
2
  import type z from "zod";
3
+ import type { StreamingResult } from "./streaming-types";
3
4
  /**
4
5
  * LLM service types and interfaces
5
6
  */
@@ -108,7 +109,14 @@ export interface LLMProvider {
108
109
  export interface LLMService {
109
110
  readonly getProvider: (providerName: string) => Effect.Effect<LLMProvider, LLMConfigurationError>;
110
111
  readonly listProviders: () => Effect.Effect<readonly string[], never>;
112
+ /**
113
+ * Create a non-streaming chat completion
114
+ */
111
115
  readonly createChatCompletion: (providerName: string, options: ChatCompletionOptions) => Effect.Effect<ChatCompletionResponse, LLMError>;
116
+ /**
117
+ * Create a streaming chat completion
118
+ */
119
+ readonly createStreamingChatCompletion: (providerName: string, options: ChatCompletionOptions) => Effect.Effect<StreamingResult, LLMError>;
112
120
  }
113
121
  export declare const LLMServiceTag: Context.Tag<LLMService, LLMService>;
114
122
  //# sourceMappingURL=types.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/services/llm/types.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/services/llm/types.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"types.js","sourceRoot":"","sources":["../../../src/services/llm/types.ts"],"names":[],"mappings":";;;AAAA,mCAAyC;AAGzC;;GAEG;AAEH,mBAAmB;AACnB,MAAa,sBAAuB,SAAQ,KAAK;IAG7B;IAFT,IAAI,GAAG,wBAAwB,CAAC;IACzC,YACkB,QAAgB,EAChC,OAAe;QAEf,KAAK,CAAC,OAAO,CAAC,CAAC;QAHC,aAAQ,GAAR,QAAQ,CAAQ;QAIhC,IAAI,CAAC,IAAI,GAAG,wBAAwB,CAAC;IACvC,CAAC;CACF;AATD,wDASC;AAED,MAAa,eAAgB,SAAQ,KAAK;IAGtB;IAFT,IAAI,GAAG,iBAAiB,CAAC;IAClC,YACkB,QAAgB,EAChC,OAAe;QAEf,KAAK,CAAC,OAAO,CAAC,CAAC;QAHC,aAAQ,GAAR,QAAQ,CAAQ;QAKhC,IAAI,CAAC,IAAI,GAAG,iBAAiB,CAAC;IAChC,CAAC;CACF;AAVD,0CAUC;AAED,MAAa,iBAAkB,SAAQ,KAAK;IAGxB;IAFT,IAAI,GAAG,mBAAmB,CAAC;IACpC,YACkB,QAAgB,EAChC,OAAe;QAEf,KAAK,CAAC,OAAO,CAAC,CAAC;QAHC,aAAQ,GAAR,QAAQ,CAAQ;QAIhC,IAAI,CAAC,IAAI,GAAG,mBAAmB,CAAC;IAClC,CAAC;CACF;AATD,8CASC;AAED,MAAa,qBAAsB,SAAQ,KAAK;IAG5B;IAFT,IAAI,GAAG,uBAAuB,CAAC;IACxC,YACkB,QAAgB,EAChC,OAAe;QAEf,KAAK,CAAC,OAAO,CAAC,CAAC;QAHC,aAAQ,GAAR,QAAQ,CAAQ;QAIhC,IAAI,CAAC,IAAI,GAAG,uBAAuB,CAAC;IACtC,CAAC;CACF;AATD,sDASC;AA0GD,uCAAuC;AAC1B,QAAA,aAAa,GAAG,gBAAO,CAAC,UAAU,CAAa,YAAY,CAAC,CAAC"}
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../../../src/services/llm/types.ts"],"names":[],"mappings":";;;AAAA,mCAAyC;AAIzC;;GAEG;AAEH,mBAAmB;AACnB,MAAa,sBAAuB,SAAQ,KAAK;IAG7B;IAFT,IAAI,GAAG,wBAAwB,CAAC;IACzC,YACkB,QAAgB,EAChC,OAAe;QAEf,KAAK,CAAC,OAAO,CAAC,CAAC;QAHC,aAAQ,GAAR,QAAQ,CAAQ;QAIhC,IAAI,CAAC,IAAI,GAAG,wBAAwB,CAAC;IACvC,CAAC;CACF;AATD,wDASC;AAED,MAAa,eAAgB,SAAQ,KAAK;IAGtB;IAFT,IAAI,GAAG,iBAAiB,CAAC;IAClC,YACkB,QAAgB,EAChC,OAAe;QAEf,KAAK,CAAC,OAAO,CAAC,CAAC;QAHC,aAAQ,GAAR,QAAQ,CAAQ;QAKhC,IAAI,CAAC,IAAI,GAAG,iBAAiB,CAAC;IAChC,CAAC;CACF;AAVD,0CAUC;AAED,MAAa,iBAAkB,SAAQ,KAAK;IAGxB;IAFT,IAAI,GAAG,mBAAmB,CAAC;IACpC,YACkB,QAAgB,EAChC,OAAe;QAEf,KAAK,CAAC,OAAO,CAAC,CAAC;QAHC,aAAQ,GAAR,QAAQ,CAAQ;QAIhC,IAAI,CAAC,IAAI,GAAG,mBAAmB,CAAC;IAClC,CAAC;CACF;AATD,8CASC;AAED,MAAa,qBAAsB,SAAQ,KAAK;IAG5B;IAFT,IAAI,GAAG,uBAAuB,CAAC;IACxC,YACkB,QAAgB,EAChC,OAAe;QAEf,KAAK,CAAC,OAAO,CAAC,CAAC;QAHC,aAAQ,GAAR,QAAQ,CAAQ;QAIhC,IAAI,CAAC,IAAI,GAAG,uBAAuB,CAAC;IACtC,CAAC;CACF;AATD,sDASC;AAsHD,uCAAuC;AAC1B,QAAA,aAAa,GAAG,gBAAO,CAAC,UAAU,CAAa,YAAY,CAAC,CAAC"}
@@ -21,8 +21,8 @@ export declare function createLoggerLayer(): Layer.Layer<LoggerService, never, C
21
21
  export declare function logAgentOperation(agentId: string, operation: string, meta?: Record<string, unknown>): Effect.Effect<void, never, LoggerService | ConfigService>;
22
22
  export declare function logTaskExecution(taskId: string, status: "started" | "completed" | "failed", meta?: Record<string, unknown>): Effect.Effect<void, never, LoggerService | ConfigService>;
23
23
  export declare function logAutomationEvent(automationId: string, event: string, meta?: Record<string, unknown>): Effect.Effect<void, never, LoggerService | ConfigService>;
24
- export declare function logToolExecutionStart(toolName: string, agentId: string, conversationId?: string): Effect.Effect<void, never, LoggerService | ConfigService>;
25
- export declare function logToolExecutionSuccess(toolName: string, agentId: string, durationMs: number, conversationId?: string, resultSummary?: string): Effect.Effect<void, never, LoggerService | ConfigService>;
26
- export declare function logToolExecutionError(toolName: string, agentId: string, durationMs: number, error: string, conversationId?: string): Effect.Effect<void, never, LoggerService | ConfigService>;
27
- export declare function logToolExecutionApproval(toolName: string, agentId: string, durationMs: number, approvalMessage: string, conversationId?: string): Effect.Effect<void, never, LoggerService | ConfigService>;
24
+ export declare function logToolExecutionStart(toolName: string, args?: Record<string, unknown>): Effect.Effect<void, never, LoggerService | ConfigService>;
25
+ export declare function logToolExecutionSuccess(toolName: string, durationMs: number, resultSummary?: string): Effect.Effect<void, never, LoggerService | ConfigService>;
26
+ export declare function logToolExecutionError(toolName: string, durationMs: number, error: string): Effect.Effect<void, never, LoggerService | ConfigService>;
27
+ export declare function logToolExecutionApproval(toolName: string, durationMs: number, approvalMessage: string): Effect.Effect<void, never, LoggerService | ConfigService>;
28
28
  //# sourceMappingURL=logger.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"logger.d.ts","sourceRoot":"","sources":["../../src/services/logger.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"logger.d.ts","sourceRoot":"","sources":["../../src/services/logger.ts"],"names":[],"mappings":"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"}