elsium-ai 0.5.0 → 0.6.0

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/dist/index.d.ts CHANGED
@@ -13,10 +13,10 @@ export { ElsiumError, ok, err, isOk, isErr, unwrap, unwrapOr, tryCatch, tryCatch
13
13
  export type { Role, ContentPart, TextContent, ImageContent, AudioContent, DocumentContent, Message, ToolCall, ToolResult, TokenUsage, CostBreakdown, StopReason, LLMResponse, StreamEvent, XRayData, StreamCheckpoint, ProviderConfig, CompletionRequest, ToolDefinition, TenantContext, Middleware, Result, Ok, Err, ElsiumStream, ResilientStreamOptions, LogLevel, Logger, ErrorCode, Registry, ContextStrategy, ContextManagerConfig, ContextManager, } from '@elsium-ai/core';
14
14
  export { gateway, registerProviderFactory, registerProvider, getProviderFactory, listProviders, registerProviderMetadata, getProviderMetadata, calculateCost, registerPricing, composeMiddleware, loggingMiddleware, costTrackingMiddleware, xrayMiddleware, createAnthropicProvider, createOpenAIProvider, createGoogleProvider, createProviderMesh, securityMiddleware, detectPromptInjection, detectJailbreak, redactSecrets, checkBlockedPatterns, cacheMiddleware, createInMemoryCache, outputGuardrailMiddleware, createBatch, } from '@elsium-ai/gateway';
15
15
  export type { LLMProvider, ProviderFactory, ProviderMetadata, ModelPricing, ModelTier, Gateway, GatewayConfig, XRayStore, ProviderMeshConfig, ProviderEntry, RoutingStrategy, ProviderMesh, SecurityMiddlewareConfig, SecurityViolation, SecurityResult, CacheAdapter, CacheStats, CacheMiddlewareConfig, OutputGuardrailConfig, OutputGuardrailRule, OutputViolation, BatchConfig, BatchResult, BatchResultItem, } from '@elsium-ai/gateway';
16
- export { defineAgent, runSequential, runParallel, runSupervisor, createMemory, createSemanticValidator, createAgentSecurity, createConfidenceScorer, executeStateMachine, createInMemoryMemoryStore, createSqliteMemoryStore, createAgentStream, createThread, loadThread, createInMemoryThreadStore, createAsyncAgent, } from '@elsium-ai/agents';
17
- export type { Agent, AgentDependencies, AgentConfig, AgentResult, AgentRunOptions, GuardrailConfig, AgentHooks, Memory, MemoryConfig, SemanticGuardrailConfig, SemanticCheck, SemanticCheckResult, SemanticValidationResult, SemanticValidator, AgentSecurityConfig, AgentSecurityResult, ConfidenceConfig, ConfidenceResult, StateDefinition, StateHistoryEntry, StateMachineResult, MemoryStore, SqliteMemoryStoreConfig, AgentStreamEvent, AgentStream, StreamingAgentDependencies, Thread, ThreadConfig, ThreadStore, ThreadSnapshot, ThreadSummary, AsyncAgent, AsyncAgentConfig, AsyncAgentRunOptions, AgentTask, TaskStatus, TaskProgressEvent, } from '@elsium-ai/agents';
18
- export { defineTool, createToolkit, httpFetchTool, calculatorTool, jsonParseTool, currentTimeTool, formatToolResult, formatToolResultAsText, } from '@elsium-ai/tools';
19
- export type { Tool, ToolConfig, ToolContext, ToolExecutionResult, Toolkit, } from '@elsium-ai/tools';
16
+ export { defineAgent, runSequential, runParallel, runSupervisor, createMemory, createSummarizeFn, createSemanticValidator, createAgentSecurity, createConfidenceScorer, executeStateMachine, createInMemoryMemoryStore, createSqliteMemoryStore, createAgentStream, createThread, loadThread, createInMemoryThreadStore, createAsyncAgent, createChannelGateway, createWebhookChannel, createSessionRouter, createScheduler, parseCronExpression, cronMatchesDate, getNextCronDate, } from '@elsium-ai/agents';
17
+ export type { Agent, AgentDependencies, AgentGenerateResult, AgentConfig, AgentResult, AgentRunOptions, GuardrailConfig, AgentHooks, Memory, MemoryConfig, SummarizeFn, SemanticGuardrailConfig, SemanticCheck, SemanticCheckResult, SemanticValidationResult, SemanticValidator, AgentSecurityConfig, AgentSecurityResult, ConfidenceConfig, ConfidenceResult, StateDefinition, StateHistoryEntry, StateMachineResult, MemoryStore, SqliteMemoryStoreConfig, AgentStreamEvent, AgentStream, StreamingAgentDependencies, Thread, ThreadConfig, ThreadStore, ThreadSnapshot, ThreadSummary, AsyncAgent, AsyncAgentConfig, AsyncAgentRunOptions, AgentTask, TaskStatus, TaskProgressEvent, ChannelAdapter, ChannelGateway, ChannelGatewayConfig, IncomingMessage, OutgoingMessage, ChannelAttachment, WebhookChannelConfig, SessionRouter, SessionRouterConfig, SessionInfo, SessionResolveOptions, Scheduler, SchedulerConfig, ScheduleOptions, ScheduledTask, CronFields, } from '@elsium-ai/agents';
18
+ export { defineTool, createToolkit, httpFetchTool, calculatorTool, jsonParseTool, currentTimeTool, formatToolResult, formatToolResultAsText, createRetrievalTool, } from '@elsium-ai/tools';
19
+ export type { Tool, ToolConfig, ToolContext, ToolExecutionResult, Toolkit, RetrievalToolConfig, RetrievalResult as ToolRetrievalResult, RetrieveFn, } from '@elsium-ai/tools';
20
20
  export { rag, createInMemoryStore, createOpenAIEmbeddings, createMockEmbeddings, vectorStoreRegistry, embeddingProviderRegistry, createPgVectorStore, } from '@elsium-ai/rag';
21
21
  export type { RAGPipeline, RAGPipelineConfig, IngestResult, Document, Chunk, EmbeddedChunk, RetrievalResult, QueryOptions, EmbeddingProvider, VectorStore, VectorStoreFactory, EmbeddingProviderFactory, PgVectorStoreConfig, } from '@elsium-ai/rag';
22
22
  export { defineWorkflow, defineParallelWorkflow, defineBranchWorkflow, step, } from '@elsium-ai/workflows';
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
package/dist/index.js CHANGED
@@ -7858,6 +7858,35 @@ var currentTimeTool = defineTool({
7858
7858
  };
7859
7859
  }
7860
7860
  });
7861
+ // ../tools/src/retrieval.ts
7862
+ function defaultFormatResults(results) {
7863
+ if (results.length === 0)
7864
+ return "No relevant results found.";
7865
+ return results.map((r, i) => {
7866
+ const source = r.source ? ` (source: ${r.source})` : "";
7867
+ return `[${i + 1}]${source} (score: ${r.score.toFixed(2)})
7868
+ ${r.content}`;
7869
+ }).join(`
7870
+
7871
+ ---
7872
+
7873
+ `);
7874
+ }
7875
+ function createRetrievalTool(config) {
7876
+ const topK = config.topK ?? 5;
7877
+ const formatResult = config.formatResult ?? defaultFormatResults;
7878
+ return defineTool({
7879
+ name: config.name ?? "search_knowledge",
7880
+ description: config.description ?? "Search the knowledge base for relevant information. Use this when you need to find facts, documentation, or context to answer questions.",
7881
+ input: exports_external.object({
7882
+ query: exports_external.string().describe("The search query to find relevant information")
7883
+ }),
7884
+ async handler(input) {
7885
+ const results = await config.retrieve(input.query, { topK });
7886
+ return formatResult(results);
7887
+ }
7888
+ });
7889
+ }
7861
7890
  // ../agents/src/approval.ts
7862
7891
  function createApprovalGate(config) {
7863
7892
  const timeoutMs = config.timeoutMs ?? 300000;
@@ -8036,6 +8065,35 @@ function createMemory(config) {
8036
8065
  messages.shift();
8037
8066
  }
8038
8067
  }
8068
+ let summaryPending = false;
8069
+ function needsSummarization() {
8070
+ if (config.strategy !== "summary")
8071
+ return false;
8072
+ if (!config.summarize)
8073
+ return false;
8074
+ return messages.length > maxMessages;
8075
+ }
8076
+ async function runSummarization() {
8077
+ if (summaryPending || !config.summarize)
8078
+ return;
8079
+ if (messages.length <= maxMessages)
8080
+ return;
8081
+ summaryPending = true;
8082
+ try {
8083
+ const keepCount = Math.floor(maxMessages / 2);
8084
+ const toSummarize = messages.splice(0, messages.length - keepCount);
8085
+ const summaryText = await config.summarize(toSummarize);
8086
+ messages.unshift({
8087
+ role: "system",
8088
+ content: `[Conversation summary]: ${summaryText}`
8089
+ });
8090
+ } finally {
8091
+ summaryPending = false;
8092
+ }
8093
+ if (config.store && config.agentId) {
8094
+ config.store.save(config.agentId, [...messages]).catch(() => {});
8095
+ }
8096
+ }
8039
8097
  return {
8040
8098
  strategy: config.strategy,
8041
8099
  add(message) {
@@ -8047,6 +8105,8 @@ function createMemory(config) {
8047
8105
  case "token-limited":
8048
8106
  trimToTokenLimit();
8049
8107
  break;
8108
+ case "summary":
8109
+ break;
8050
8110
  case "unlimited":
8051
8111
  break;
8052
8112
  }
@@ -8077,9 +8137,28 @@ function createMemory(config) {
8077
8137
  if (!config.store || !config.agentId)
8078
8138
  return;
8079
8139
  await config.store.save(config.agentId, [...messages]);
8140
+ },
8141
+ async summarizeIfNeeded() {
8142
+ if (needsSummarization()) {
8143
+ await runSummarization();
8144
+ }
8080
8145
  }
8081
8146
  };
8082
8147
  }
8148
+ var SUMMARIZE_SYSTEM = "You are a conversation summarizer. Given a conversation, produce a concise summary that preserves all key facts, decisions, user preferences, and context needed to continue the conversation. Be factual and complete. Do not add commentary.";
8149
+ function createSummarizeFn(complete) {
8150
+ return async (messages) => {
8151
+ const text = messages.map((m) => `${m.role}: ${extractText(m.content)}`).join(`
8152
+ `);
8153
+ const response = await complete({
8154
+ messages: [{ role: "user", content: `Summarize this conversation:
8155
+
8156
+ ${text}` }],
8157
+ system: SUMMARIZE_SYSTEM
8158
+ });
8159
+ return extractText(response.message.content);
8160
+ };
8161
+ }
8083
8162
 
8084
8163
  // ../agents/src/security.ts
8085
8164
  var INJECTION_PATTERNS2 = [
@@ -9153,6 +9232,34 @@ function defineAgent(config, deps) {
9153
9232
  const userMessage = { role: "user", content: input };
9154
9233
  return executeLoop([userMessage], options);
9155
9234
  },
9235
+ async generate(input, schema, options = {}) {
9236
+ validateInputText(input);
9237
+ const jsonSchema = zodToJsonSchema(schema);
9238
+ const schemaInstruction = [
9239
+ "You MUST respond with valid JSON matching this schema:",
9240
+ JSON.stringify(jsonSchema, null, 2),
9241
+ "Respond ONLY with the JSON object, no markdown or explanation."
9242
+ ].join(`
9243
+ `);
9244
+ const augmentedInput = `${input}
9245
+
9246
+ ${schemaInstruction}`;
9247
+ const userMessage = { role: "user", content: augmentedInput };
9248
+ const agentResult = await executeLoop([userMessage], options);
9249
+ const text = extractText(agentResult.message.content);
9250
+ const cleaned = text.replace(/^```(?:json)?\s*\n?([\s\S]*?)\n?\s*```$/gm, "$1").trim();
9251
+ const jsonMatch = cleaned.match(/(\{[\s\S]*\}|\[[\s\S]*\])/);
9252
+ if (!jsonMatch) {
9253
+ throw ElsiumError.validation("Agent response did not contain valid JSON");
9254
+ }
9255
+ const parsed = schema.safeParse(JSON.parse(jsonMatch[0]));
9256
+ if (!parsed.success) {
9257
+ throw ElsiumError.validation("Agent response did not match schema", {
9258
+ errors: parsed.error.issues
9259
+ });
9260
+ }
9261
+ return { data: parsed.data, result: agentResult };
9262
+ },
9156
9263
  stream(input, options = {}) {
9157
9264
  validateInputText(input);
9158
9265
  const streamDeps = resolvedDeps;
@@ -9635,6 +9742,429 @@ function createAsyncAgent(config) {
9635
9742
  }
9636
9743
  };
9637
9744
  }
9745
+ // ../agents/src/channels.ts
9746
+ function createWebhookChannel(config) {
9747
+ let messageHandler = null;
9748
+ return {
9749
+ name: config.name,
9750
+ async start() {},
9751
+ async stop() {},
9752
+ async send(userId, message) {
9753
+ await config.onSend?.(userId, message);
9754
+ },
9755
+ onMessage(handler) {
9756
+ messageHandler = handler;
9757
+ },
9758
+ receive(message) {
9759
+ if (!messageHandler)
9760
+ return;
9761
+ messageHandler({ ...message, channelName: config.name });
9762
+ }
9763
+ };
9764
+ }
9765
+ function createChannelGateway(config) {
9766
+ const adapterMap = new Map;
9767
+ for (const adapter of config.adapters) {
9768
+ if (adapter.name === "__proto__" || adapter.name === "constructor" || adapter.name === "prototype")
9769
+ continue;
9770
+ adapterMap.set(adapter.name, adapter);
9771
+ }
9772
+ function findAdapter(channelName) {
9773
+ return adapterMap.get(channelName);
9774
+ }
9775
+ async function handleIncoming(message) {
9776
+ const agent = config.resolveAgent?.(message) ?? config.agent;
9777
+ try {
9778
+ const session = await config.router.resolve({
9779
+ channelName: message.channelName,
9780
+ userId: message.userId,
9781
+ agent
9782
+ });
9783
+ const result = await session.send(message.text);
9784
+ const responseText = typeof result.message.content === "string" ? result.message.content : "";
9785
+ const adapter = findAdapter(message.channelName);
9786
+ if (adapter && responseText) {
9787
+ await adapter.send(message.userId, { text: responseText });
9788
+ }
9789
+ } catch (err2) {
9790
+ const error = err2 instanceof Error ? err2 : new Error(String(err2));
9791
+ try {
9792
+ config.onError?.(error, message);
9793
+ } catch {}
9794
+ }
9795
+ }
9796
+ for (const adapter of config.adapters) {
9797
+ adapter.onMessage(handleIncoming);
9798
+ }
9799
+ return {
9800
+ adapters: adapterMap,
9801
+ async start() {
9802
+ const startPromises = [...adapterMap.values()].map((a) => a.start());
9803
+ await Promise.all(startPromises);
9804
+ },
9805
+ async stop() {
9806
+ const stopPromises = [...adapterMap.values()].map((a) => a.stop());
9807
+ await Promise.all(stopPromises);
9808
+ }
9809
+ };
9810
+ }
9811
+ // ../agents/src/session.ts
9812
+ function sessionKey(channelName, userId) {
9813
+ return `${channelName}::${userId}`;
9814
+ }
9815
+ function createSessionRouter(config) {
9816
+ const sessions = new Map;
9817
+ const concurrency = config.concurrency ?? "serial";
9818
+ const sessionTimeout = config.sessionTimeout ?? 0;
9819
+ let cleanupTimer = null;
9820
+ if (sessionTimeout > 0) {
9821
+ cleanupTimer = setInterval(() => {
9822
+ const now = Date.now();
9823
+ for (const [key, session] of sessions) {
9824
+ if (now - session.lastActiveAt > sessionTimeout) {
9825
+ sessions.delete(key);
9826
+ try {
9827
+ config.onSessionExpired?.({
9828
+ sessionId: session.sessionId,
9829
+ channelName: session.channelName,
9830
+ userId: session.userId,
9831
+ agentName: session.agent.name,
9832
+ createdAt: session.createdAt,
9833
+ lastActiveAt: session.lastActiveAt
9834
+ });
9835
+ } catch {}
9836
+ }
9837
+ }
9838
+ }, Math.min(sessionTimeout, 60000));
9839
+ if (typeof cleanupTimer === "object" && "unref" in cleanupTimer) {
9840
+ cleanupTimer.unref();
9841
+ }
9842
+ }
9843
+ function toPublicSession(session) {
9844
+ return {
9845
+ sessionId: session.sessionId,
9846
+ channelName: session.channelName,
9847
+ userId: session.userId,
9848
+ agentName: session.agent.name,
9849
+ createdAt: session.createdAt,
9850
+ lastActiveAt: session.lastActiveAt
9851
+ };
9852
+ }
9853
+ async function createNewSession(key, channelName, userId, agent) {
9854
+ const sessionId = generateId("sess");
9855
+ const threadId = `${channelName}-${userId}-${sessionId}`;
9856
+ let thread = null;
9857
+ if (config.store) {
9858
+ thread = await loadThread(threadId, { agent, store: config.store });
9859
+ }
9860
+ if (!thread) {
9861
+ thread = createThread({
9862
+ id: threadId,
9863
+ agent,
9864
+ metadata: { channelName, userId, sessionId },
9865
+ store: config.store
9866
+ });
9867
+ }
9868
+ const now = Date.now();
9869
+ const session = {
9870
+ sessionId,
9871
+ channelName,
9872
+ userId,
9873
+ agent,
9874
+ thread,
9875
+ createdAt: now,
9876
+ lastActiveAt: now,
9877
+ lock: null,
9878
+ lockResolve: null
9879
+ };
9880
+ sessions.set(key, session);
9881
+ try {
9882
+ config.onSessionCreated?.(toPublicSession(session));
9883
+ } catch {}
9884
+ return session;
9885
+ }
9886
+ function wrapThreadWithConcurrency(session) {
9887
+ if (concurrency !== "serial")
9888
+ return session.thread;
9889
+ const originalSend = session.thread.send.bind(session.thread);
9890
+ return {
9891
+ ...session.thread,
9892
+ async send(input, options) {
9893
+ while (session.lock) {
9894
+ await session.lock;
9895
+ }
9896
+ let unlock;
9897
+ session.lock = new Promise((resolve) => {
9898
+ unlock = resolve;
9899
+ });
9900
+ session.lockResolve = unlock;
9901
+ try {
9902
+ const result = await originalSend(input, options);
9903
+ session.lastActiveAt = Date.now();
9904
+ return result;
9905
+ } finally {
9906
+ session.lock = null;
9907
+ session.lockResolve = null;
9908
+ unlock();
9909
+ }
9910
+ }
9911
+ };
9912
+ }
9913
+ return {
9914
+ async resolve(options) {
9915
+ const agent = options.agent ?? config.defaultAgent;
9916
+ const key = sessionKey(options.channelName, options.userId);
9917
+ let session = sessions.get(key);
9918
+ if (session && sessionTimeout > 0) {
9919
+ const now = Date.now();
9920
+ if (now - session.lastActiveAt > sessionTimeout) {
9921
+ sessions.delete(key);
9922
+ try {
9923
+ config.onSessionExpired?.(toPublicSession(session));
9924
+ } catch {}
9925
+ session = undefined;
9926
+ }
9927
+ }
9928
+ if (!session) {
9929
+ session = await createNewSession(key, options.channelName, options.userId, agent);
9930
+ }
9931
+ session.lastActiveAt = Date.now();
9932
+ return wrapThreadWithConcurrency(session);
9933
+ },
9934
+ getSession(channelName, userId) {
9935
+ const session = sessions.get(sessionKey(channelName, userId));
9936
+ return session ? toPublicSession(session) : null;
9937
+ },
9938
+ listSessions() {
9939
+ return [...sessions.values()].map(toPublicSession);
9940
+ },
9941
+ endSession(channelName, userId) {
9942
+ return sessions.delete(sessionKey(channelName, userId));
9943
+ },
9944
+ endAllSessions() {
9945
+ sessions.clear();
9946
+ if (cleanupTimer) {
9947
+ clearInterval(cleanupTimer);
9948
+ cleanupTimer = null;
9949
+ }
9950
+ }
9951
+ };
9952
+ }
9953
+ // ../agents/src/scheduler.ts
9954
+ function parseCronExpression(expression) {
9955
+ const parts = expression.trim().split(/\s+/);
9956
+ if (parts.length !== 5)
9957
+ return null;
9958
+ const minute = parseCronField(parts[0], 0, 59);
9959
+ const hour = parseCronField(parts[1], 0, 23);
9960
+ const dayOfMonth = parseCronField(parts[2], 1, 31);
9961
+ const month = parseCronField(parts[3], 1, 12);
9962
+ const dayOfWeek = parseCronField(parts[4], 0, 6);
9963
+ if (!minute || !hour || !dayOfMonth || !month || !dayOfWeek)
9964
+ return null;
9965
+ return { minute, hour, dayOfMonth, month, dayOfWeek };
9966
+ }
9967
+ function parseStepPart(match, min, max) {
9968
+ const step = Number.parseInt(match[2], 10);
9969
+ if (step <= 0)
9970
+ return null;
9971
+ let rangeStart = min;
9972
+ let rangeEnd = max;
9973
+ if (match[1] !== "*") {
9974
+ const rangeParts = match[1].split("-");
9975
+ rangeStart = Number.parseInt(rangeParts[0], 10);
9976
+ rangeEnd = rangeParts[1] ? Number.parseInt(rangeParts[1], 10) : max;
9977
+ }
9978
+ const values = [];
9979
+ for (let i = rangeStart;i <= rangeEnd; i += step) {
9980
+ if (i >= min && i <= max)
9981
+ values.push(i);
9982
+ }
9983
+ return values;
9984
+ }
9985
+ function parseRangePart(match, min, max) {
9986
+ const start = Number.parseInt(match[1], 10);
9987
+ const end = Number.parseInt(match[2], 10);
9988
+ if (start > end || start < min || end > max)
9989
+ return null;
9990
+ const values = [];
9991
+ for (let i = start;i <= end; i++) {
9992
+ values.push(i);
9993
+ }
9994
+ return values;
9995
+ }
9996
+ function parseSinglePart(part, min, max) {
9997
+ const stepMatch = part.match(/^(\*|\d+(?:-\d+)?)\/(\d+)$/);
9998
+ if (stepMatch)
9999
+ return parseStepPart(stepMatch, min, max);
10000
+ const rangeMatch = part.match(/^(\d+)-(\d+)$/);
10001
+ if (rangeMatch)
10002
+ return parseRangePart(rangeMatch, min, max);
10003
+ const num = Number.parseInt(part, 10);
10004
+ if (Number.isNaN(num) || num < min || num > max)
10005
+ return null;
10006
+ return [num];
10007
+ }
10008
+ function parseCronField(field, min, max) {
10009
+ if (field === "*") {
10010
+ return Array.from({ length: max - min + 1 }, (_, i) => min + i);
10011
+ }
10012
+ const values = [];
10013
+ for (const part of field.split(",")) {
10014
+ const result = parseSinglePart(part, min, max);
10015
+ if (!result)
10016
+ return null;
10017
+ values.push(...result);
10018
+ }
10019
+ return values.length > 0 ? values : null;
10020
+ }
10021
+ function cronMatchesDate(fields, date) {
10022
+ return fields.minute.includes(date.getMinutes()) && fields.hour.includes(date.getHours()) && fields.dayOfMonth.includes(date.getDate()) && fields.month.includes(date.getMonth() + 1) && fields.dayOfWeek.includes(date.getDay());
10023
+ }
10024
+ function getNextCronDate(fields, after) {
10025
+ const next = new Date(after.getTime());
10026
+ next.setSeconds(0, 0);
10027
+ next.setMinutes(next.getMinutes() + 1);
10028
+ const maxIterations = 525600;
10029
+ for (let i = 0;i < maxIterations; i++) {
10030
+ if (cronMatchesDate(fields, next))
10031
+ return next;
10032
+ next.setMinutes(next.getMinutes() + 1);
10033
+ }
10034
+ return next;
10035
+ }
10036
+ function createScheduler(config) {
10037
+ const tasks = new Map;
10038
+ let timer = null;
10039
+ const tickInterval = config.tickIntervalMs ?? 60000;
10040
+ function toPublicTask(task) {
10041
+ return {
10042
+ id: task.id,
10043
+ name: task.name,
10044
+ cronExpression: task.cronExpression,
10045
+ enabled: task.enabled,
10046
+ lastRunAt: task.lastRunAt,
10047
+ nextRunAt: task.nextRunAt,
10048
+ runCount: task.runCount
10049
+ };
10050
+ }
10051
+ function updateNextRun(task) {
10052
+ const fields = parseCronExpression(task.cronExpression);
10053
+ task.nextRunAt = fields ? getNextCronDate(fields, new Date).getTime() : null;
10054
+ }
10055
+ function handleTaskSuccess(task, result) {
10056
+ task.lastRunAt = Date.now();
10057
+ task.runCount++;
10058
+ task.running = false;
10059
+ if (task.maxRuns !== null && task.runCount >= task.maxRuns) {
10060
+ task.enabled = false;
10061
+ task.nextRunAt = null;
10062
+ } else {
10063
+ updateNextRun(task);
10064
+ }
10065
+ try {
10066
+ config.onComplete?.(toPublicTask(task), result);
10067
+ } catch {}
10068
+ }
10069
+ function handleTaskError(task, err2) {
10070
+ task.running = false;
10071
+ task.lastRunAt = Date.now();
10072
+ updateNextRun(task);
10073
+ const error = err2 instanceof Error ? err2 : new Error(String(err2));
10074
+ try {
10075
+ config.onError?.(toPublicTask(task), error);
10076
+ } catch {}
10077
+ }
10078
+ async function executeTask(task) {
10079
+ if (task.running)
10080
+ return;
10081
+ task.running = true;
10082
+ const agent = config.resolveAgent?.(toPublicTask(task)) ?? config.agent;
10083
+ try {
10084
+ const result = await agent.run(task.input);
10085
+ handleTaskSuccess(task, result);
10086
+ } catch (err2) {
10087
+ handleTaskError(task, err2);
10088
+ }
10089
+ }
10090
+ function tick() {
10091
+ const now = Date.now();
10092
+ for (const task of tasks.values()) {
10093
+ if (!task.enabled || task.running)
10094
+ continue;
10095
+ if (task.nextRunAt !== null && task.nextRunAt <= now) {
10096
+ executeTask(task);
10097
+ }
10098
+ }
10099
+ }
10100
+ return {
10101
+ schedule(cronExpression, input, options = {}) {
10102
+ const fields = parseCronExpression(cronExpression);
10103
+ if (!fields) {
10104
+ throw new Error(`Invalid cron expression: ${cronExpression}`);
10105
+ }
10106
+ const id = options.id ?? generateId("sched");
10107
+ const now = new Date;
10108
+ const nextRunAt = options.startImmediately ? Date.now() : getNextCronDate(fields, now).getTime();
10109
+ const task = {
10110
+ id,
10111
+ name: options.name ?? `task-${id}`,
10112
+ cronExpression,
10113
+ input,
10114
+ enabled: true,
10115
+ lastRunAt: null,
10116
+ nextRunAt,
10117
+ runCount: 0,
10118
+ maxRuns: options.maxRuns ?? null,
10119
+ metadata: options.metadata ?? {},
10120
+ running: false
10121
+ };
10122
+ tasks.set(id, task);
10123
+ if (options.startImmediately) {
10124
+ executeTask(task);
10125
+ }
10126
+ return toPublicTask(task);
10127
+ },
10128
+ unschedule(taskId) {
10129
+ return tasks.delete(taskId);
10130
+ },
10131
+ getTask(taskId) {
10132
+ const task = tasks.get(taskId);
10133
+ return task ? toPublicTask(task) : null;
10134
+ },
10135
+ listTasks() {
10136
+ return [...tasks.values()].map(toPublicTask);
10137
+ },
10138
+ pause(taskId) {
10139
+ const task = tasks.get(taskId);
10140
+ if (!task)
10141
+ return false;
10142
+ task.enabled = false;
10143
+ return true;
10144
+ },
10145
+ resume(taskId) {
10146
+ const task = tasks.get(taskId);
10147
+ if (!task)
10148
+ return false;
10149
+ task.enabled = true;
10150
+ const fields = parseCronExpression(task.cronExpression);
10151
+ task.nextRunAt = fields ? getNextCronDate(fields, new Date).getTime() : null;
10152
+ return true;
10153
+ },
10154
+ start() {
10155
+ if (timer)
10156
+ return;
10157
+ tick();
10158
+ timer = setInterval(tick, tickInterval);
10159
+ },
10160
+ stop() {
10161
+ if (timer) {
10162
+ clearInterval(timer);
10163
+ timer = null;
10164
+ }
10165
+ }
10166
+ };
10167
+ }
9638
10168
  // ../rag/src/loaders.ts
9639
10169
  function createDocument(content, metadata) {
9640
10170
  return {
@@ -15735,6 +16265,7 @@ export {
15735
16265
  redactSecrets,
15736
16266
  rag,
15737
16267
  parseTraceparent,
16268
+ parseCronExpression,
15738
16269
  outputGuardrailMiddleware,
15739
16270
  ok,
15740
16271
  observe,
@@ -15750,6 +16281,7 @@ export {
15750
16281
  httpFetchTool,
15751
16282
  getProviderMetadata,
15752
16283
  getProviderFactory,
16284
+ getNextCronDate,
15753
16285
  generateTraceId,
15754
16286
  generateId,
15755
16287
  gateway,
@@ -15774,13 +16306,19 @@ export {
15774
16306
  defineBranchWorkflow,
15775
16307
  defineAgent,
15776
16308
  currentTimeTool,
16309
+ cronMatchesDate,
16310
+ createWebhookChannel,
15777
16311
  createToolkit,
15778
16312
  createThread,
16313
+ createSummarizeFn,
15779
16314
  createStream,
15780
16315
  createSqliteMemoryStore,
15781
16316
  createSpan,
15782
16317
  createSnapshotStore,
16318
+ createSessionRouter,
15783
16319
  createSemanticValidator,
16320
+ createScheduler,
16321
+ createRetrievalTool,
15784
16322
  createReplayRecorder,
15785
16323
  createReplayPlayer,
15786
16324
  createRegressionSuite,
@@ -15809,6 +16347,7 @@ export {
15809
16347
  createContextManager,
15810
16348
  createConfidenceScorer,
15811
16349
  createClient,
16350
+ createChannelGateway,
15812
16351
  createBatch,
15813
16352
  createAsyncAgent,
15814
16353
  createApp,
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "elsium-ai",
3
- "version": "0.5.0",
3
+ "version": "0.6.0",
4
4
  "description": "ElsiumAI — A high-performance, TypeScript-first AI framework",
5
5
  "license": "MIT",
6
6
  "author": "Eric Utrera <ebutrera9103@gmail.com>",
@@ -25,17 +25,17 @@
25
25
  "build": "bun build ./src/index.ts --outdir ./dist --target node && bun x tsc -p tsconfig.build.json --emitDeclarationOnly"
26
26
  },
27
27
  "dependencies": {
28
- "@elsium-ai/core": "^0.5.0",
29
- "@elsium-ai/gateway": "^0.5.0",
30
- "@elsium-ai/agents": "^0.5.0",
31
- "@elsium-ai/tools": "^0.5.0",
32
- "@elsium-ai/rag": "^0.5.0",
33
- "@elsium-ai/workflows": "^0.5.0",
34
- "@elsium-ai/observe": "^0.5.0",
35
- "@elsium-ai/app": "^0.5.0",
36
- "@elsium-ai/testing": "^0.5.0",
37
- "@elsium-ai/mcp": "^0.5.0",
38
- "@elsium-ai/client": "^0.5.0"
28
+ "@elsium-ai/core": "^0.6.0",
29
+ "@elsium-ai/gateway": "^0.6.0",
30
+ "@elsium-ai/agents": "^0.6.0",
31
+ "@elsium-ai/tools": "^0.6.0",
32
+ "@elsium-ai/rag": "^0.6.0",
33
+ "@elsium-ai/workflows": "^0.6.0",
34
+ "@elsium-ai/observe": "^0.6.0",
35
+ "@elsium-ai/app": "^0.6.0",
36
+ "@elsium-ai/testing": "^0.6.0",
37
+ "@elsium-ai/mcp": "^0.6.0",
38
+ "@elsium-ai/client": "^0.6.0"
39
39
  },
40
40
  "devDependencies": {
41
41
  "typescript": "^5.7.0"