elsium-ai 0.4.0 → 0.4.2
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 +2 -2
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +55 -6
- package/package.json +12 -12
package/dist/index.d.ts
CHANGED
|
@@ -11,8 +11,8 @@
|
|
|
11
11
|
*/
|
|
12
12
|
export { ElsiumError, ok, err, isOk, isErr, unwrap, unwrapOr, tryCatch, tryCatchSync, createStream, createLogger, env, envNumber, envBool, generateId, generateTraceId, extractText, sleep, retry, zodToJsonSchema, createRegistry, countTokens, createContextManager, } from '@elsium-ai/core';
|
|
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
|
-
export { gateway, registerProviderFactory, calculateCost, registerPricing, composeMiddleware, loggingMiddleware, costTrackingMiddleware, xrayMiddleware, createAnthropicProvider, createOpenAIProvider, createGoogleProvider, createProviderMesh, securityMiddleware, detectPromptInjection, detectJailbreak, redactSecrets, checkBlockedPatterns, cacheMiddleware, createInMemoryCache, outputGuardrailMiddleware, createBatch, } from '@elsium-ai/gateway';
|
|
15
|
-
export type { LLMProvider, ProviderFactory, Gateway, GatewayConfig, XRayStore, ProviderMeshConfig, ProviderEntry, RoutingStrategy, ProviderMesh, SecurityMiddlewareConfig, SecurityViolation, SecurityResult, CacheAdapter, CacheStats, CacheMiddlewareConfig, OutputGuardrailConfig, OutputGuardrailRule, OutputViolation, BatchConfig, BatchResult, BatchResultItem, } from '@elsium-ai/gateway';
|
|
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
|
+
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
16
|
export { defineAgent, runSequential, runParallel, runSupervisor, createMemory, createSemanticValidator, createAgentSecurity, createConfidenceScorer, executeStateMachine, createInMemoryMemoryStore, createSqliteMemoryStore, } from '@elsium-ai/agents';
|
|
17
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, } from '@elsium-ai/agents';
|
|
18
18
|
export { defineTool, createToolkit, httpFetchTool, calculatorTool, jsonParseTool, currentTimeTool, formatToolResult, formatToolResultAsText, } from '@elsium-ai/tools';
|
package/dist/index.d.ts.map
CHANGED
|
@@ -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
|
@@ -974,6 +974,9 @@ function createShutdownManager(config) {
|
|
|
974
974
|
// ../gateway/src/provider.ts
|
|
975
975
|
var providerRegistry = new Map;
|
|
976
976
|
var metadataRegistry = new Map;
|
|
977
|
+
function registerProvider(name, factory) {
|
|
978
|
+
providerRegistry.set(name, factory);
|
|
979
|
+
}
|
|
977
980
|
function getProviderFactory(name) {
|
|
978
981
|
return providerRegistry.get(name);
|
|
979
982
|
}
|
|
@@ -2365,6 +2368,7 @@ registerProviderMetadata("google", {
|
|
|
2365
2368
|
});
|
|
2366
2369
|
function registerProviderFactory(name, factory) {
|
|
2367
2370
|
PROVIDER_FACTORIES[name] = factory;
|
|
2371
|
+
registerProvider(name, factory);
|
|
2368
2372
|
}
|
|
2369
2373
|
function validateGatewayConfig(config) {
|
|
2370
2374
|
const factory = PROVIDER_FACTORIES[config.provider] ?? getProviderFactory(config.provider);
|
|
@@ -2732,6 +2736,7 @@ function redactPatterns(text, patterns) {
|
|
|
2732
2736
|
let redacted = text;
|
|
2733
2737
|
for (const { pattern, detail, replacement } of patterns) {
|
|
2734
2738
|
const regex = new RegExp(pattern.source, pattern.flags);
|
|
2739
|
+
regex.lastIndex = 0;
|
|
2735
2740
|
const result = redacted.replace(regex, replacement);
|
|
2736
2741
|
if (result !== redacted) {
|
|
2737
2742
|
found.push({ type: "secret_detected", detail, severity: "medium" });
|
|
@@ -2763,7 +2768,8 @@ function redactSecrets(text, piiTypes) {
|
|
|
2763
2768
|
}
|
|
2764
2769
|
function checkBlockedPatterns(text, patterns) {
|
|
2765
2770
|
const violations = [];
|
|
2766
|
-
for (const
|
|
2771
|
+
for (const raw of patterns) {
|
|
2772
|
+
const pattern = typeof raw === "string" ? new RegExp(raw, "i") : raw;
|
|
2767
2773
|
pattern.lastIndex = 0;
|
|
2768
2774
|
if (pattern.test(text)) {
|
|
2769
2775
|
violations.push({
|
|
@@ -3413,7 +3419,11 @@ function createProviderMesh(config) {
|
|
|
3413
3419
|
}
|
|
3414
3420
|
// ../tools/src/define.ts
|
|
3415
3421
|
function defineTool(config) {
|
|
3416
|
-
const
|
|
3422
|
+
const input = config.input ?? config.parameters;
|
|
3423
|
+
if (!input) {
|
|
3424
|
+
throw ElsiumError.validation(`Tool "${config.name}" requires an input schema (use "input" or "parameters" key)`);
|
|
3425
|
+
}
|
|
3426
|
+
const { name, description, output, handler, timeoutMs = 30000 } = config;
|
|
3417
3427
|
return {
|
|
3418
3428
|
name,
|
|
3419
3429
|
description,
|
|
@@ -8122,6 +8132,21 @@ var SECRET_PATTERNS3 = [
|
|
|
8122
8132
|
detail: "API public key detected",
|
|
8123
8133
|
replacement: "[REDACTED_API_KEY]"
|
|
8124
8134
|
},
|
|
8135
|
+
{
|
|
8136
|
+
pattern: /\bghp_[a-zA-Z0-9]{36,}\b/g,
|
|
8137
|
+
detail: "GitHub personal access token detected",
|
|
8138
|
+
replacement: "[REDACTED_GITHUB_TOKEN]"
|
|
8139
|
+
},
|
|
8140
|
+
{
|
|
8141
|
+
pattern: /\bgho_[a-zA-Z0-9]{36,}\b/g,
|
|
8142
|
+
detail: "GitHub OAuth token detected",
|
|
8143
|
+
replacement: "[REDACTED_GITHUB_TOKEN]"
|
|
8144
|
+
},
|
|
8145
|
+
{
|
|
8146
|
+
pattern: /\bgithub_pat_[a-zA-Z0-9_]{20,}\b/g,
|
|
8147
|
+
detail: "GitHub fine-grained token detected",
|
|
8148
|
+
replacement: "[REDACTED_GITHUB_TOKEN]"
|
|
8149
|
+
},
|
|
8125
8150
|
{
|
|
8126
8151
|
pattern: /\bapi_key[=:]\s*["']?[a-zA-Z0-9_-]{16,}["']?/gi,
|
|
8127
8152
|
detail: "API key assignment detected",
|
|
@@ -8652,7 +8677,26 @@ async function safeHook2(fn) {
|
|
|
8652
8677
|
await fn();
|
|
8653
8678
|
} catch (_) {}
|
|
8654
8679
|
}
|
|
8680
|
+
function resolveDependencies(config, deps) {
|
|
8681
|
+
if (deps)
|
|
8682
|
+
return deps;
|
|
8683
|
+
if (typeof config.provider === "object" && config.provider !== null) {
|
|
8684
|
+
const provider = config.provider;
|
|
8685
|
+
return { complete: (req) => provider.complete(req) };
|
|
8686
|
+
}
|
|
8687
|
+
if (!config.provider || !config.apiKey) {
|
|
8688
|
+
throw ElsiumError.validation("Either provide AgentDependencies as second argument, set provider and apiKey in config, or pass an LLMProvider object as provider");
|
|
8689
|
+
}
|
|
8690
|
+
const gw = gateway({
|
|
8691
|
+
provider: config.provider,
|
|
8692
|
+
apiKey: config.apiKey,
|
|
8693
|
+
baseUrl: config.baseUrl,
|
|
8694
|
+
model: config.model
|
|
8695
|
+
});
|
|
8696
|
+
return { complete: (req) => gw.complete(req) };
|
|
8697
|
+
}
|
|
8655
8698
|
function defineAgent(config, deps) {
|
|
8699
|
+
const resolvedDeps = resolveDependencies(config, deps);
|
|
8656
8700
|
const memory = createMemory(config.memory ?? { strategy: "sliding-window", maxMessages: 50 });
|
|
8657
8701
|
const toolMap = new Map((config.tools ?? []).map((t) => [t.name, t]));
|
|
8658
8702
|
const guardrails = {
|
|
@@ -8663,7 +8707,7 @@ function defineAgent(config, deps) {
|
|
|
8663
8707
|
semantic: config.guardrails?.semantic,
|
|
8664
8708
|
security: config.guardrails?.security
|
|
8665
8709
|
};
|
|
8666
|
-
const semanticValidator = guardrails.semantic ? createSemanticValidator(guardrails.semantic,
|
|
8710
|
+
const semanticValidator = guardrails.semantic ? createSemanticValidator(guardrails.semantic, resolvedDeps.complete) : null;
|
|
8667
8711
|
const agentSecurity = guardrails.security ? createAgentSecurity(guardrails.security) : null;
|
|
8668
8712
|
const approvalGate = config.guardrails?.approval ? createApprovalGate(config.guardrails.approval) : null;
|
|
8669
8713
|
const confidenceScorer = config.confidence ? createConfidenceScorer(typeof config.confidence === "boolean" ? {} : config.confidence) : null;
|
|
@@ -8805,7 +8849,7 @@ function defineAgent(config, deps) {
|
|
|
8805
8849
|
checkAborted(options);
|
|
8806
8850
|
checkBudget(totalInputTokens, totalOutputTokens);
|
|
8807
8851
|
const request = buildCompletionRequest2(conversationMessages);
|
|
8808
|
-
const response = await
|
|
8852
|
+
const response = await resolvedDeps.complete(request);
|
|
8809
8853
|
totalInputTokens += response.usage.inputTokens;
|
|
8810
8854
|
totalOutputTokens += response.usage.outputTokens;
|
|
8811
8855
|
totalCost += response.cost.totalCost;
|
|
@@ -8884,7 +8928,7 @@ function defineAgent(config, deps) {
|
|
|
8884
8928
|
async run(input, options = {}) {
|
|
8885
8929
|
validateInputText(input);
|
|
8886
8930
|
if (config.states && config.initialState) {
|
|
8887
|
-
return executeStateMachine(config, { states: config.states, initialState: config.initialState },
|
|
8931
|
+
return executeStateMachine(config, { states: config.states, initialState: config.initialState }, resolvedDeps, input, options);
|
|
8888
8932
|
}
|
|
8889
8933
|
const userMessage = { role: "user", content: input };
|
|
8890
8934
|
return executeLoop([userMessage], options);
|
|
@@ -8898,7 +8942,7 @@ function defineAgent(config, deps) {
|
|
|
8898
8942
|
if (config.states && config.initialState) {
|
|
8899
8943
|
const inputText = messages.filter((m) => m.role === "user").map((m) => extractText(m.content)).join(`
|
|
8900
8944
|
`);
|
|
8901
|
-
return executeStateMachine(config, { states: config.states, initialState: config.initialState },
|
|
8945
|
+
return executeStateMachine(config, { states: config.states, initialState: config.initialState }, resolvedDeps, inputText || "", options);
|
|
8902
8946
|
}
|
|
8903
8947
|
return executeLoop(messages, options);
|
|
8904
8948
|
},
|
|
@@ -15178,7 +15222,9 @@ export {
|
|
|
15178
15222
|
runParallel,
|
|
15179
15223
|
runEvalSuite,
|
|
15180
15224
|
retry,
|
|
15225
|
+
registerProviderMetadata,
|
|
15181
15226
|
registerProviderFactory,
|
|
15227
|
+
registerProvider,
|
|
15182
15228
|
registerPricing,
|
|
15183
15229
|
redactSecrets,
|
|
15184
15230
|
rag,
|
|
@@ -15189,11 +15235,14 @@ export {
|
|
|
15189
15235
|
mockProvider,
|
|
15190
15236
|
loggingMiddleware,
|
|
15191
15237
|
loadFixture,
|
|
15238
|
+
listProviders,
|
|
15192
15239
|
jsonParseTool,
|
|
15193
15240
|
isOk,
|
|
15194
15241
|
isErr,
|
|
15195
15242
|
injectTraceContext,
|
|
15196
15243
|
httpFetchTool,
|
|
15244
|
+
getProviderMetadata,
|
|
15245
|
+
getProviderFactory,
|
|
15197
15246
|
generateTraceId,
|
|
15198
15247
|
generateId,
|
|
15199
15248
|
gateway,
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "elsium-ai",
|
|
3
|
-
"version": "0.4.
|
|
3
|
+
"version": "0.4.2",
|
|
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.4.
|
|
29
|
-
"@elsium-ai/gateway": "^0.4.
|
|
30
|
-
"@elsium-ai/agents": "^0.4.
|
|
31
|
-
"@elsium-ai/tools": "^0.4.
|
|
32
|
-
"@elsium-ai/rag": "^0.4.
|
|
33
|
-
"@elsium-ai/workflows": "^0.4.
|
|
34
|
-
"@elsium-ai/observe": "^0.4.
|
|
35
|
-
"@elsium-ai/app": "^0.4.
|
|
36
|
-
"@elsium-ai/testing": "^0.4.
|
|
37
|
-
"@elsium-ai/mcp": "^0.4.
|
|
38
|
-
"@elsium-ai/client": "^0.4.
|
|
28
|
+
"@elsium-ai/core": "^0.4.2",
|
|
29
|
+
"@elsium-ai/gateway": "^0.4.2",
|
|
30
|
+
"@elsium-ai/agents": "^0.4.2",
|
|
31
|
+
"@elsium-ai/tools": "^0.4.2",
|
|
32
|
+
"@elsium-ai/rag": "^0.4.2",
|
|
33
|
+
"@elsium-ai/workflows": "^0.4.2",
|
|
34
|
+
"@elsium-ai/observe": "^0.4.2",
|
|
35
|
+
"@elsium-ai/app": "^0.4.2",
|
|
36
|
+
"@elsium-ai/testing": "^0.4.2",
|
|
37
|
+
"@elsium-ai/mcp": "^0.4.2",
|
|
38
|
+
"@elsium-ai/client": "^0.4.2"
|
|
39
39
|
},
|
|
40
40
|
"devDependencies": {
|
|
41
41
|
"typescript": "^5.7.0"
|