@lota-sdk/core 0.4.13 → 0.4.14
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/package.json +4 -4
- package/src/ai/embedding-cache.ts +17 -11
- package/src/ai-gateway/ai-gateway.ts +164 -94
- package/src/ai-gateway/index.ts +4 -1
- package/src/config/agent-defaults.ts +2 -2
- package/src/config/agent-types.ts +1 -1
- package/src/create-runtime.ts +259 -200
- package/src/db/cursor-pagination.ts +2 -9
- package/src/db/memory-store.ts +194 -175
- package/src/db/memory.ts +125 -71
- package/src/db/schema-fingerprint.ts +5 -4
- package/src/db/service-normalization.ts +4 -3
- package/src/db/service.ts +3 -2
- package/src/db/startup.ts +15 -16
- package/src/effect/errors.ts +161 -21
- package/src/effect/index.ts +0 -1
- package/src/embeddings/provider.ts +15 -7
- package/src/queues/autonomous-job.queue.ts +10 -22
- package/src/queues/delayed-node-promotion.queue.ts +8 -14
- package/src/queues/document-processor.queue.ts +13 -4
- package/src/queues/memory-consolidation.queue.ts +26 -14
- package/src/queues/plan-agent-heartbeat.queue.ts +10 -9
- package/src/queues/plan-scheduler.queue.ts +37 -15
- package/src/queues/queue-factory.ts +59 -35
- package/src/queues/standalone-worker.ts +3 -2
- package/src/redis/connection.ts +10 -3
- package/src/redis/org-memory-lock.ts +1 -1
- package/src/redis/redis-lease-lock.ts +5 -5
- package/src/redis/stream-context.ts +1 -1
- package/src/runtime/chat-message.ts +64 -1
- package/src/runtime/chat-run-orchestration.ts +33 -20
- package/src/runtime/context-compaction/context-compaction-runtime.ts +14 -7
- package/src/runtime/context-compaction/context-compaction.ts +78 -66
- package/src/runtime/domain-layer.ts +13 -7
- package/src/runtime/execution-plan.ts +7 -3
- package/src/runtime/memory/memory-block.ts +3 -9
- package/src/runtime/memory/memory-scope.ts +3 -1
- package/src/runtime/plugin-resolution.ts +2 -1
- package/src/runtime/post-turn-side-effects.ts +6 -5
- package/src/runtime/retrieval-adapters.ts +8 -20
- package/src/runtime/runtime-config.ts +3 -9
- package/src/runtime/runtime-extensions.ts +2 -4
- package/src/runtime/runtime-lifecycle.ts +56 -16
- package/src/runtime/runtime-services.ts +180 -102
- package/src/runtime/runtime-worker-registry.ts +3 -1
- package/src/runtime/social-chat/social-chat-agent-runner.ts +1 -1
- package/src/runtime/social-chat/social-chat-history.ts +21 -18
- package/src/runtime/social-chat/social-chat.ts +356 -223
- package/src/runtime/specialist-runner.ts +3 -1
- package/src/runtime/team-consultation/team-consultation-orchestrator.ts +3 -2
- package/src/runtime/thread-turn-context.ts +142 -102
- package/src/runtime/turn-lifecycle.ts +15 -46
- package/src/services/agent-activity.service.ts +1 -1
- package/src/services/agent-executor.service.ts +107 -77
- package/src/services/autonomous-job.service.ts +354 -293
- package/src/services/background-work.service.ts +3 -3
- package/src/services/context-compaction.service.ts +7 -2
- package/src/services/document-chunk.service.ts +50 -32
- package/src/services/execution-plan/execution-plan-schedule.ts +5 -3
- package/src/services/execution-plan/execution-plan.service.ts +162 -179
- package/src/services/feedback-loop.service.ts +5 -4
- package/src/services/graph-full-routing.ts +37 -36
- package/src/services/institutional-memory.service.ts +28 -30
- package/src/services/learned-skill.service.ts +107 -72
- package/src/services/memory/memory-errors.ts +4 -23
- package/src/services/memory/memory-org-memory.ts +10 -5
- package/src/services/memory/memory-rerank.ts +18 -6
- package/src/services/memory/memory.service.ts +170 -111
- package/src/services/memory/rerank.service.ts +29 -20
- package/src/services/organization-member.service.ts +1 -1
- package/src/services/organization.service.ts +69 -75
- package/src/services/ownership-dispatcher.service.ts +40 -39
- package/src/services/plan/plan-agent-heartbeat.service.ts +26 -23
- package/src/services/plan/plan-agent-query.service.ts +39 -31
- package/src/services/plan/plan-completion-side-effects.ts +13 -17
- package/src/services/plan/plan-coordination.service.ts +2 -1
- package/src/services/plan/plan-cycle.service.ts +6 -5
- package/src/services/plan/plan-deadline.service.ts +57 -54
- package/src/services/plan/plan-event-delivery.service.ts +5 -4
- package/src/services/plan/plan-executor-graph.ts +18 -15
- package/src/services/plan/plan-executor.service.ts +235 -262
- package/src/services/plan/plan-run.service.ts +169 -93
- package/src/services/plan/plan-scheduler.service.ts +192 -202
- package/src/services/plan/plan-template.service.ts +1 -1
- package/src/services/plan/plan-transaction-events.ts +1 -1
- package/src/services/plan/plan-workspace.service.ts +23 -14
- package/src/services/plugin-executor.service.ts +5 -9
- package/src/services/queue-job.service.ts +117 -59
- package/src/services/recent-activity-title.service.ts +13 -12
- package/src/services/recent-activity.service.ts +6 -1
- package/src/services/social-chat-history.service.ts +29 -25
- package/src/services/system-executor.service.ts +5 -9
- package/src/services/thread/thread-active-run.ts +2 -2
- package/src/services/thread/thread-listing.ts +61 -57
- package/src/services/thread/thread-memory-block.ts +73 -48
- package/src/services/thread/thread-message.service.ts +76 -65
- package/src/services/thread/thread-record-store.ts +8 -8
- package/src/services/thread/thread-title.service.ts +10 -4
- package/src/services/thread/thread-turn-execution.ts +43 -45
- package/src/services/thread/thread-turn-preparation.service.ts +257 -135
- package/src/services/thread/thread-turn-streaming.ts +82 -85
- package/src/services/thread/thread-turn.ts +8 -8
- package/src/services/thread/thread.service.ts +135 -100
- package/src/services/user.service.ts +45 -48
- package/src/storage/attachment-parser.ts +6 -2
- package/src/storage/attachment-storage.service.ts +5 -6
- package/src/storage/generated-document-storage.service.ts +1 -1
- package/src/system-agents/context-compaction.agent.ts +10 -9
- package/src/system-agents/delegated-agent-factory.ts +30 -6
- package/src/system-agents/memory-reranker.agent.ts +10 -9
- package/src/system-agents/memory.agent.ts +10 -9
- package/src/system-agents/recent-activity-title-refiner.agent.ts +13 -15
- package/src/system-agents/regular-chat-memory-digest.agent.ts +13 -12
- package/src/system-agents/skill-extractor.agent.ts +13 -12
- package/src/system-agents/skill-manager.agent.ts +13 -12
- package/src/system-agents/thread-router.agent.ts +10 -5
- package/src/system-agents/title-generator.agent.ts +13 -12
- package/src/tools/fetch-webpage.tool.ts +13 -13
- package/src/tools/memory-block.tool.ts +3 -1
- package/src/tools/plan-approval.tool.ts +4 -2
- package/src/tools/read-file-parts.tool.ts +10 -4
- package/src/tools/remember-memory.tool.ts +3 -1
- package/src/tools/research-topic.tool.ts +9 -5
- package/src/tools/search-web.tool.ts +16 -16
- package/src/tools/search.tool.ts +20 -5
- package/src/tools/team-think.tool.ts +61 -38
- package/src/utils/async.ts +5 -5
- package/src/utils/errors.ts +19 -18
- package/src/utils/sse-keepalive.ts +28 -25
- package/src/workers/bootstrap.ts +75 -11
- package/src/workers/memory-consolidation.worker.ts +82 -91
- package/src/workers/organization-learning.worker.ts +14 -4
- package/src/workers/regular-chat-memory-digest.runner.ts +105 -67
- package/src/workers/skill-extraction.runner.ts +97 -61
- package/src/workers/utils/repo-structure-extractor.ts +13 -8
- package/src/workers/utils/thread-message-query.ts +24 -24
- package/src/workers/worker-utils.ts +23 -4
- package/src/effect/helpers.ts +0 -123
|
@@ -6,7 +6,6 @@ import { Schema, Effect } from 'effect'
|
|
|
6
6
|
import type { ResolvedAgentConfig } from '../../config/agent-defaults'
|
|
7
7
|
import { aiLogger } from '../../config/logger'
|
|
8
8
|
import type { RecordIdRef } from '../../db/record-id'
|
|
9
|
-
import { effectTryMaybeAsync, effectTryPromise as effectTryPromiseShared } from '../../effect/helpers'
|
|
10
9
|
import type { readRuntimeAgentIdentityOverrides } from '../../runtime/agent-identity-overrides'
|
|
11
10
|
import { resolveRuntimeAgentDisplayName } from '../../runtime/agent-identity-overrides'
|
|
12
11
|
import { OWNERSHIP_DISPATCH_BLOCKED_TOOL_NAMES } from '../../runtime/agent-runtime-policy'
|
|
@@ -68,7 +67,7 @@ interface VisibleAgentRunParams {
|
|
|
68
67
|
|
|
69
68
|
interface VisibleAgentRunnerDeps<TBuildTurnToolParams> {
|
|
70
69
|
agentConfig: ResolvedAgentConfig
|
|
71
|
-
agentFactoryConfig: { buildAgentTools: (params: TBuildTurnToolParams) => Promise<ToolSet>
|
|
70
|
+
agentFactoryConfig: { buildAgentTools: (params: TBuildTurnToolParams) => Promise<ToolSet> }
|
|
72
71
|
buildTurnToolParams: (params: {
|
|
73
72
|
agentId: string
|
|
74
73
|
mode: 'direct' | 'fixedThreadMode' | 'threadMode'
|
|
@@ -101,19 +100,6 @@ export function createThreadTurnVisibleAgentRunner<TBuildTurnToolParams>(
|
|
|
101
100
|
{ message: Schema.String, cause: Schema.optional(Schema.Defect) },
|
|
102
101
|
) {}
|
|
103
102
|
|
|
104
|
-
const effectTryPromise = <A, R = never>(
|
|
105
|
-
evaluate: () => PromiseLike<A> | Effect.Effect<A, unknown, R>,
|
|
106
|
-
message: string,
|
|
107
|
-
): Effect.Effect<A, ThreadTurnExecutionError, R> =>
|
|
108
|
-
effectTryPromiseShared(evaluate, (error) => new ThreadTurnExecutionError({ message, cause: error }))
|
|
109
|
-
|
|
110
|
-
function effectFromMaybePromise<A>(
|
|
111
|
-
evaluate: () => A | PromiseLike<A>,
|
|
112
|
-
message: string,
|
|
113
|
-
): Effect.Effect<A, ThreadTurnExecutionError> {
|
|
114
|
-
return effectTryMaybeAsync(evaluate, (error) => new ThreadTurnExecutionError({ message, cause: error }))
|
|
115
|
-
}
|
|
116
|
-
|
|
117
103
|
const buildAgentMetadataPatch = (agentId: string, agentName: string): NonNullable<MessageMetadata> => ({
|
|
118
104
|
agentId,
|
|
119
105
|
agentName,
|
|
@@ -131,7 +117,8 @@ export function createThreadTurnVisibleAgentRunner<TBuildTurnToolParams>(
|
|
|
131
117
|
)
|
|
132
118
|
|
|
133
119
|
const createObserver = (agentId: string) => ({
|
|
134
|
-
|
|
120
|
+
// @effect-diagnostics-next-line asyncFunction:off -- AI SDK observer callback signature.
|
|
121
|
+
run: async <T>(fn: () => Promise<T>): Promise<T> => {
|
|
135
122
|
try {
|
|
136
123
|
return await fn()
|
|
137
124
|
} catch (error) {
|
|
@@ -204,8 +191,8 @@ export function createThreadTurnVisibleAgentRunner<TBuildTurnToolParams>(
|
|
|
204
191
|
) {
|
|
205
192
|
let runMemoryBlock = deps.getMemoryBlock()
|
|
206
193
|
const includeExecutionPlanTools = runParams.includeExecutionPlanTools ?? runParams.mode !== 'fixedThreadMode'
|
|
207
|
-
const builtTools = yield*
|
|
208
|
-
() =>
|
|
194
|
+
const builtTools = yield* Effect.tryPromise({
|
|
195
|
+
try: () =>
|
|
209
196
|
deps.agentFactoryConfig.buildAgentTools(
|
|
210
197
|
deps.buildTurnToolParams({
|
|
211
198
|
agentId: runParams.agentId,
|
|
@@ -219,27 +206,33 @@ export function createThreadTurnVisibleAgentRunner<TBuildTurnToolParams>(
|
|
|
219
206
|
includeExecutionPlanTools,
|
|
220
207
|
}),
|
|
221
208
|
),
|
|
222
|
-
|
|
223
|
-
|
|
209
|
+
catch: (error) =>
|
|
210
|
+
new ThreadTurnExecutionError({ message: `Failed to build tools for ${runParams.agentId}.`, cause: error }),
|
|
211
|
+
}).pipe(Effect.withSpan('ThreadTurnExecution.buildAgentTools'))
|
|
224
212
|
const rawTools = { ...builtTools, ...runParams.extraTools }
|
|
225
213
|
const tools = runParams.filterTools ? runParams.filterTools(rawTools) : rawTools
|
|
226
214
|
deps.streamCtx.memoryBlock = runMemoryBlock
|
|
227
215
|
yield* failIfRunAborted()
|
|
228
|
-
const responseMessage = yield*
|
|
229
|
-
|
|
230
|
-
|
|
231
|
-
|
|
232
|
-
|
|
233
|
-
|
|
234
|
-
|
|
235
|
-
|
|
236
|
-
|
|
237
|
-
|
|
238
|
-
|
|
239
|
-
|
|
240
|
-
|
|
241
|
-
|
|
242
|
-
|
|
216
|
+
const responseMessage = yield* streamAgentResponse(deps.streamCtx, {
|
|
217
|
+
agentId: runParams.agentId,
|
|
218
|
+
mode: runParams.mode,
|
|
219
|
+
messages: deps.threadTurnMessageContext.buildRunInputMessages(runParams.extraMessages),
|
|
220
|
+
tools,
|
|
221
|
+
observer: createObserver(runParams.agentId),
|
|
222
|
+
skills: runParams.skills,
|
|
223
|
+
additionalInstructionSections: runParams.additionalInstructionSections,
|
|
224
|
+
includeExecutionPlanTools,
|
|
225
|
+
writer: deps.writer,
|
|
226
|
+
}).pipe(
|
|
227
|
+
Effect.mapError(
|
|
228
|
+
(error) =>
|
|
229
|
+
new ThreadTurnExecutionError({
|
|
230
|
+
message: `Failed to stream response for ${runParams.agentId}.`,
|
|
231
|
+
cause: error,
|
|
232
|
+
}),
|
|
233
|
+
),
|
|
234
|
+
Effect.withSpan('ThreadTurnExecution.streamVisibleAgent'),
|
|
235
|
+
)
|
|
243
236
|
deps.setMemoryBlock(runMemoryBlock)
|
|
244
237
|
|
|
245
238
|
// Commit the response under `uninterruptible` so a late lease-lost or
|
|
@@ -248,16 +241,21 @@ export function createThreadTurnVisibleAgentRunner<TBuildTurnToolParams>(
|
|
|
248
241
|
// this, a race between stream completion and lease refresh rejection
|
|
249
242
|
// swallows the response without any error trace.
|
|
250
243
|
return yield* Effect.uninterruptible(
|
|
251
|
-
|
|
252
|
-
|
|
253
|
-
|
|
254
|
-
|
|
255
|
-
|
|
256
|
-
|
|
257
|
-
|
|
258
|
-
)
|
|
259
|
-
|
|
260
|
-
|
|
244
|
+
commitAssistantResponse(
|
|
245
|
+
responseMessage,
|
|
246
|
+
runParams.agentId,
|
|
247
|
+
resolveRuntimeAgentDisplayName(deps.agentConfig, deps.agentIdentityOverrides, runParams.agentId),
|
|
248
|
+
runParams.metadataPatch,
|
|
249
|
+
).pipe(
|
|
250
|
+
Effect.mapError(
|
|
251
|
+
(error) =>
|
|
252
|
+
new ThreadTurnExecutionError({
|
|
253
|
+
message: `Failed to commit assistant response for ${runParams.agentId}.`,
|
|
254
|
+
cause: error,
|
|
255
|
+
}),
|
|
256
|
+
),
|
|
257
|
+
Effect.withSpan('ThreadTurnExecution.commitAssistantResponse'),
|
|
258
|
+
),
|
|
261
259
|
)
|
|
262
260
|
})
|
|
263
261
|
|