praisonai 1.2.0 → 1.2.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/cache/index.d.ts +78 -0
- package/dist/cache/index.js +235 -0
- package/dist/db/postgres.d.ts +84 -0
- package/dist/db/postgres.js +266 -0
- package/dist/db/redis.d.ts +109 -0
- package/dist/db/redis.js +307 -0
- package/dist/db/sqlite.d.ts +66 -0
- package/dist/db/sqlite.js +339 -0
- package/dist/events/index.d.ts +84 -0
- package/dist/events/index.js +153 -0
- package/dist/index.d.ts +12 -1
- package/dist/index.js +88 -2
- package/dist/integrations/index.d.ts +7 -0
- package/dist/integrations/index.js +26 -0
- package/dist/integrations/observability/base.d.ts +123 -0
- package/dist/integrations/observability/base.js +183 -0
- package/dist/integrations/observability/index.d.ts +8 -0
- package/dist/integrations/observability/index.js +29 -0
- package/dist/integrations/observability/langfuse.d.ts +32 -0
- package/dist/integrations/observability/langfuse.js +174 -0
- package/dist/integrations/vector/base.d.ts +110 -0
- package/dist/integrations/vector/base.js +158 -0
- package/dist/integrations/vector/chroma.d.ts +25 -0
- package/dist/integrations/vector/chroma.js +143 -0
- package/dist/integrations/vector/index.d.ts +14 -0
- package/dist/integrations/vector/index.js +37 -0
- package/dist/integrations/vector/pinecone.d.ts +28 -0
- package/dist/integrations/vector/pinecone.js +172 -0
- package/dist/integrations/vector/qdrant.d.ts +25 -0
- package/dist/integrations/vector/qdrant.js +146 -0
- package/dist/integrations/vector/weaviate.d.ts +30 -0
- package/dist/integrations/vector/weaviate.js +206 -0
- package/dist/integrations/voice/base.d.ts +76 -0
- package/dist/integrations/voice/base.js +168 -0
- package/dist/integrations/voice/index.d.ts +6 -0
- package/dist/integrations/voice/index.js +26 -0
- package/dist/knowledge/graph-rag.d.ts +125 -0
- package/dist/knowledge/graph-rag.js +289 -0
- package/dist/knowledge/index.d.ts +2 -0
- package/dist/knowledge/index.js +18 -0
- package/dist/knowledge/reranker.d.ts +86 -0
- package/dist/knowledge/reranker.js +196 -0
- package/dist/tools/arxivTools.d.ts +19 -6
- package/dist/tools/arxivTools.js +13 -7
- package/dist/tools/base.d.ts +97 -0
- package/dist/tools/base.js +147 -0
- package/dist/tools/index.d.ts +1 -11
- package/dist/tools/index.js +7 -11
- package/dist/tools/mcpSse.d.ts +5 -3
- package/dist/tools/mcpSse.js +6 -4
- package/dist/workflows/yaml-parser.d.ts +48 -0
- package/dist/workflows/yaml-parser.js +304 -0
- package/package.json +1 -1
package/dist/index.js
CHANGED
|
@@ -14,8 +14,9 @@ var __exportStar = (this && this.__exportStar) || function(m, exports) {
|
|
|
14
14
|
for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
|
|
15
15
|
};
|
|
16
16
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
17
|
-
exports.
|
|
18
|
-
exports.
|
|
17
|
+
exports.createQueryRewriterAgent = exports.QueryRewriterAgent = exports.createDeepResearchAgent = exports.DeepResearchAgent = exports.createImageAgent = exports.ImageAgent = exports.createAutoAgents = exports.AutoAgents = exports.cleanupTelemetry = exports.disableTelemetry = exports.enableTelemetry = exports.getTelemetry = exports.TelemetryCollector = exports.createMemory = exports.Memory = exports.help = exports.version = exports.listProviders = exports.chat = exports.parseSkillFile = exports.createSkillManager = exports.SkillManager = exports.getObservabilityAdapter = exports.setObservabilityAdapter = exports.ConsoleObservabilityAdapter = exports.MemoryObservabilityAdapter = exports.EvalSuite = exports.reliabilityEval = exports.performanceEval = exports.accuracyEval = exports.createKnowledgeBase = exports.KnowledgeBase = exports.createContextAgent = exports.ContextAgent = exports.routeConditions = exports.createRouter = exports.RouterAgent = exports.handoffFilters = exports.handoff = exports.Handoff = exports.getTool = exports.registerTool = exports.getRegistry = exports.ToolRegistry = exports.tool = exports.FunctionTool = exports.createTool = exports.validateTool = exports.ToolValidationError = exports.BaseTool = void 0;
|
|
18
|
+
exports.createQdrantStore = exports.QdrantVectorStore = exports.createWeaviateStore = exports.WeaviateVectorStore = exports.createPineconeStore = exports.PineconeVectorStore = exports.createMemoryVectorStore = exports.MemoryVectorStore = exports.BaseVectorStore = exports.createPostgresSessionStorage = exports.createMemoryPostgres = exports.createNeonPostgres = exports.PostgresSessionStorage = exports.MemoryPostgresAdapter = exports.NeonPostgresAdapter = exports.createMemoryRedis = exports.createUpstashRedis = exports.MemoryRedisAdapter = exports.UpstashRedisAdapter = exports.createSQLiteAdapter = exports.SQLiteAdapter = exports.validateWorkflowDefinition = exports.loadWorkflowFromFile = exports.createWorkflowFromYAML = exports.parseYAMLWorkflow = exports.createPubSub = exports.createEventBus = exports.AgentEvents = exports.AgentEventBus = exports.EventEmitterPubSub = exports.PubSub = exports.createFileCache = exports.createMemoryCache = exports.FileCache = exports.MemoryCache = exports.BaseCache = exports.createPlanStorage = exports.createTodoList = exports.createPlan = exports.PlanStorage = exports.TodoItem = exports.TodoList = exports.PlanStep = exports.Plan = exports.createLLMGuardrail = exports.LLMGuardrail = exports.createChunking = exports.Chunking = exports.createPromptExpanderAgent = exports.PromptExpanderAgent = void 0;
|
|
19
|
+
exports.BaseProvider = exports.GoogleProvider = exports.AnthropicProvider = exports.OpenAIProvider = exports.getAvailableProviders = exports.isProviderAvailable = exports.parseModelString = exports.getDefaultProvider = exports.createProvider = exports.createGraphRAG = exports.GraphRAG = exports.GraphStore = exports.createLLMReranker = exports.createCrossEncoderReranker = exports.createCohereReranker = exports.LLMReranker = exports.CrossEncoderReranker = exports.CohereReranker = exports.BaseReranker = exports.createElevenLabsVoice = exports.createOpenAIVoice = exports.ElevenLabsVoiceProvider = exports.OpenAIVoiceProvider = exports.BaseVoiceProvider = exports.createLangfuseObservability = exports.createMemoryObservability = exports.createConsoleObservability = exports.LangfuseObservabilityProvider = exports.MemoryObservabilityProvider = exports.ConsoleObservabilityProvider = exports.BaseObservabilityProvider = exports.createChromaStore = exports.ChromaVectorStore = void 0;
|
|
19
20
|
// Export all public modules
|
|
20
21
|
__exportStar(require("./agent"), exports);
|
|
21
22
|
__exportStar(require("./knowledge"), exports);
|
|
@@ -25,6 +26,9 @@ __exportStar(require("./process"), exports);
|
|
|
25
26
|
// Export tools (excluding conflicting types)
|
|
26
27
|
var tools_1 = require("./tools");
|
|
27
28
|
Object.defineProperty(exports, "BaseTool", { enumerable: true, get: function () { return tools_1.BaseTool; } });
|
|
29
|
+
Object.defineProperty(exports, "ToolValidationError", { enumerable: true, get: function () { return tools_1.ToolValidationError; } });
|
|
30
|
+
Object.defineProperty(exports, "validateTool", { enumerable: true, get: function () { return tools_1.validateTool; } });
|
|
31
|
+
Object.defineProperty(exports, "createTool", { enumerable: true, get: function () { return tools_1.createTool; } });
|
|
28
32
|
Object.defineProperty(exports, "FunctionTool", { enumerable: true, get: function () { return tools_1.FunctionTool; } });
|
|
29
33
|
Object.defineProperty(exports, "tool", { enumerable: true, get: function () { return tools_1.tool; } });
|
|
30
34
|
Object.defineProperty(exports, "ToolRegistry", { enumerable: true, get: function () { return tools_1.ToolRegistry; } });
|
|
@@ -131,6 +135,88 @@ Object.defineProperty(exports, "PlanStorage", { enumerable: true, get: function
|
|
|
131
135
|
Object.defineProperty(exports, "createPlan", { enumerable: true, get: function () { return planning_1.createPlan; } });
|
|
132
136
|
Object.defineProperty(exports, "createTodoList", { enumerable: true, get: function () { return planning_1.createTodoList; } });
|
|
133
137
|
Object.defineProperty(exports, "createPlanStorage", { enumerable: true, get: function () { return planning_1.createPlanStorage; } });
|
|
138
|
+
// Export Cache
|
|
139
|
+
var cache_1 = require("./cache");
|
|
140
|
+
Object.defineProperty(exports, "BaseCache", { enumerable: true, get: function () { return cache_1.BaseCache; } });
|
|
141
|
+
Object.defineProperty(exports, "MemoryCache", { enumerable: true, get: function () { return cache_1.MemoryCache; } });
|
|
142
|
+
Object.defineProperty(exports, "FileCache", { enumerable: true, get: function () { return cache_1.FileCache; } });
|
|
143
|
+
Object.defineProperty(exports, "createMemoryCache", { enumerable: true, get: function () { return cache_1.createMemoryCache; } });
|
|
144
|
+
Object.defineProperty(exports, "createFileCache", { enumerable: true, get: function () { return cache_1.createFileCache; } });
|
|
145
|
+
// Export Events
|
|
146
|
+
var events_1 = require("./events");
|
|
147
|
+
Object.defineProperty(exports, "PubSub", { enumerable: true, get: function () { return events_1.PubSub; } });
|
|
148
|
+
Object.defineProperty(exports, "EventEmitterPubSub", { enumerable: true, get: function () { return events_1.EventEmitterPubSub; } });
|
|
149
|
+
Object.defineProperty(exports, "AgentEventBus", { enumerable: true, get: function () { return events_1.AgentEventBus; } });
|
|
150
|
+
Object.defineProperty(exports, "AgentEvents", { enumerable: true, get: function () { return events_1.AgentEvents; } });
|
|
151
|
+
Object.defineProperty(exports, "createEventBus", { enumerable: true, get: function () { return events_1.createEventBus; } });
|
|
152
|
+
Object.defineProperty(exports, "createPubSub", { enumerable: true, get: function () { return events_1.createPubSub; } });
|
|
153
|
+
// Export YAML Workflow Parser
|
|
154
|
+
var yaml_parser_1 = require("./workflows/yaml-parser");
|
|
155
|
+
Object.defineProperty(exports, "parseYAMLWorkflow", { enumerable: true, get: function () { return yaml_parser_1.parseYAMLWorkflow; } });
|
|
156
|
+
Object.defineProperty(exports, "createWorkflowFromYAML", { enumerable: true, get: function () { return yaml_parser_1.createWorkflowFromYAML; } });
|
|
157
|
+
Object.defineProperty(exports, "loadWorkflowFromFile", { enumerable: true, get: function () { return yaml_parser_1.loadWorkflowFromFile; } });
|
|
158
|
+
Object.defineProperty(exports, "validateWorkflowDefinition", { enumerable: true, get: function () { return yaml_parser_1.validateWorkflowDefinition; } });
|
|
159
|
+
// Export SQLite Adapter
|
|
160
|
+
var sqlite_1 = require("./db/sqlite");
|
|
161
|
+
Object.defineProperty(exports, "SQLiteAdapter", { enumerable: true, get: function () { return sqlite_1.SQLiteAdapter; } });
|
|
162
|
+
Object.defineProperty(exports, "createSQLiteAdapter", { enumerable: true, get: function () { return sqlite_1.createSQLiteAdapter; } });
|
|
163
|
+
// Export Redis Adapter
|
|
164
|
+
var redis_1 = require("./db/redis");
|
|
165
|
+
Object.defineProperty(exports, "UpstashRedisAdapter", { enumerable: true, get: function () { return redis_1.UpstashRedisAdapter; } });
|
|
166
|
+
Object.defineProperty(exports, "MemoryRedisAdapter", { enumerable: true, get: function () { return redis_1.MemoryRedisAdapter; } });
|
|
167
|
+
Object.defineProperty(exports, "createUpstashRedis", { enumerable: true, get: function () { return redis_1.createUpstashRedis; } });
|
|
168
|
+
Object.defineProperty(exports, "createMemoryRedis", { enumerable: true, get: function () { return redis_1.createMemoryRedis; } });
|
|
169
|
+
// Export PostgreSQL Adapter
|
|
170
|
+
var postgres_1 = require("./db/postgres");
|
|
171
|
+
Object.defineProperty(exports, "NeonPostgresAdapter", { enumerable: true, get: function () { return postgres_1.NeonPostgresAdapter; } });
|
|
172
|
+
Object.defineProperty(exports, "MemoryPostgresAdapter", { enumerable: true, get: function () { return postgres_1.MemoryPostgresAdapter; } });
|
|
173
|
+
Object.defineProperty(exports, "PostgresSessionStorage", { enumerable: true, get: function () { return postgres_1.PostgresSessionStorage; } });
|
|
174
|
+
Object.defineProperty(exports, "createNeonPostgres", { enumerable: true, get: function () { return postgres_1.createNeonPostgres; } });
|
|
175
|
+
Object.defineProperty(exports, "createMemoryPostgres", { enumerable: true, get: function () { return postgres_1.createMemoryPostgres; } });
|
|
176
|
+
Object.defineProperty(exports, "createPostgresSessionStorage", { enumerable: true, get: function () { return postgres_1.createPostgresSessionStorage; } });
|
|
177
|
+
// Export Integrations - Vector Stores
|
|
178
|
+
var vector_1 = require("./integrations/vector");
|
|
179
|
+
Object.defineProperty(exports, "BaseVectorStore", { enumerable: true, get: function () { return vector_1.BaseVectorStore; } });
|
|
180
|
+
Object.defineProperty(exports, "MemoryVectorStore", { enumerable: true, get: function () { return vector_1.MemoryVectorStore; } });
|
|
181
|
+
Object.defineProperty(exports, "createMemoryVectorStore", { enumerable: true, get: function () { return vector_1.createMemoryVectorStore; } });
|
|
182
|
+
Object.defineProperty(exports, "PineconeVectorStore", { enumerable: true, get: function () { return vector_1.PineconeVectorStore; } });
|
|
183
|
+
Object.defineProperty(exports, "createPineconeStore", { enumerable: true, get: function () { return vector_1.createPineconeStore; } });
|
|
184
|
+
Object.defineProperty(exports, "WeaviateVectorStore", { enumerable: true, get: function () { return vector_1.WeaviateVectorStore; } });
|
|
185
|
+
Object.defineProperty(exports, "createWeaviateStore", { enumerable: true, get: function () { return vector_1.createWeaviateStore; } });
|
|
186
|
+
Object.defineProperty(exports, "QdrantVectorStore", { enumerable: true, get: function () { return vector_1.QdrantVectorStore; } });
|
|
187
|
+
Object.defineProperty(exports, "createQdrantStore", { enumerable: true, get: function () { return vector_1.createQdrantStore; } });
|
|
188
|
+
Object.defineProperty(exports, "ChromaVectorStore", { enumerable: true, get: function () { return vector_1.ChromaVectorStore; } });
|
|
189
|
+
Object.defineProperty(exports, "createChromaStore", { enumerable: true, get: function () { return vector_1.createChromaStore; } });
|
|
190
|
+
// Export Integrations - Observability
|
|
191
|
+
var observability_2 = require("./integrations/observability");
|
|
192
|
+
Object.defineProperty(exports, "BaseObservabilityProvider", { enumerable: true, get: function () { return observability_2.BaseObservabilityProvider; } });
|
|
193
|
+
Object.defineProperty(exports, "ConsoleObservabilityProvider", { enumerable: true, get: function () { return observability_2.ConsoleObservabilityProvider; } });
|
|
194
|
+
Object.defineProperty(exports, "MemoryObservabilityProvider", { enumerable: true, get: function () { return observability_2.MemoryObservabilityProvider; } });
|
|
195
|
+
Object.defineProperty(exports, "LangfuseObservabilityProvider", { enumerable: true, get: function () { return observability_2.LangfuseObservabilityProvider; } });
|
|
196
|
+
Object.defineProperty(exports, "createConsoleObservability", { enumerable: true, get: function () { return observability_2.createConsoleObservability; } });
|
|
197
|
+
Object.defineProperty(exports, "createMemoryObservability", { enumerable: true, get: function () { return observability_2.createMemoryObservability; } });
|
|
198
|
+
Object.defineProperty(exports, "createLangfuseObservability", { enumerable: true, get: function () { return observability_2.createLangfuseObservability; } });
|
|
199
|
+
// Export Integrations - Voice
|
|
200
|
+
var voice_1 = require("./integrations/voice");
|
|
201
|
+
Object.defineProperty(exports, "BaseVoiceProvider", { enumerable: true, get: function () { return voice_1.BaseVoiceProvider; } });
|
|
202
|
+
Object.defineProperty(exports, "OpenAIVoiceProvider", { enumerable: true, get: function () { return voice_1.OpenAIVoiceProvider; } });
|
|
203
|
+
Object.defineProperty(exports, "ElevenLabsVoiceProvider", { enumerable: true, get: function () { return voice_1.ElevenLabsVoiceProvider; } });
|
|
204
|
+
Object.defineProperty(exports, "createOpenAIVoice", { enumerable: true, get: function () { return voice_1.createOpenAIVoice; } });
|
|
205
|
+
Object.defineProperty(exports, "createElevenLabsVoice", { enumerable: true, get: function () { return voice_1.createElevenLabsVoice; } });
|
|
206
|
+
// Export Reranker
|
|
207
|
+
var reranker_1 = require("./knowledge/reranker");
|
|
208
|
+
Object.defineProperty(exports, "BaseReranker", { enumerable: true, get: function () { return reranker_1.BaseReranker; } });
|
|
209
|
+
Object.defineProperty(exports, "CohereReranker", { enumerable: true, get: function () { return reranker_1.CohereReranker; } });
|
|
210
|
+
Object.defineProperty(exports, "CrossEncoderReranker", { enumerable: true, get: function () { return reranker_1.CrossEncoderReranker; } });
|
|
211
|
+
Object.defineProperty(exports, "LLMReranker", { enumerable: true, get: function () { return reranker_1.LLMReranker; } });
|
|
212
|
+
Object.defineProperty(exports, "createCohereReranker", { enumerable: true, get: function () { return reranker_1.createCohereReranker; } });
|
|
213
|
+
Object.defineProperty(exports, "createCrossEncoderReranker", { enumerable: true, get: function () { return reranker_1.createCrossEncoderReranker; } });
|
|
214
|
+
Object.defineProperty(exports, "createLLMReranker", { enumerable: true, get: function () { return reranker_1.createLLMReranker; } });
|
|
215
|
+
// Export Graph RAG
|
|
216
|
+
var graph_rag_1 = require("./knowledge/graph-rag");
|
|
217
|
+
Object.defineProperty(exports, "GraphStore", { enumerable: true, get: function () { return graph_rag_1.GraphStore; } });
|
|
218
|
+
Object.defineProperty(exports, "GraphRAG", { enumerable: true, get: function () { return graph_rag_1.GraphRAG; } });
|
|
219
|
+
Object.defineProperty(exports, "createGraphRAG", { enumerable: true, get: function () { return graph_rag_1.createGraphRAG; } });
|
|
134
220
|
// Export providers with explicit names to avoid conflicts
|
|
135
221
|
var providers_1 = require("./llm/providers");
|
|
136
222
|
Object.defineProperty(exports, "createProvider", { enumerable: true, get: function () { return providers_1.createProvider; } });
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
/**
|
|
3
|
+
* PraisonAI Integrations
|
|
4
|
+
* Extensions for vector stores, observability, and voice
|
|
5
|
+
*/
|
|
6
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
7
|
+
if (k2 === undefined) k2 = k;
|
|
8
|
+
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
9
|
+
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
10
|
+
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
11
|
+
}
|
|
12
|
+
Object.defineProperty(o, k2, desc);
|
|
13
|
+
}) : (function(o, m, k, k2) {
|
|
14
|
+
if (k2 === undefined) k2 = k;
|
|
15
|
+
o[k2] = m[k];
|
|
16
|
+
}));
|
|
17
|
+
var __exportStar = (this && this.__exportStar) || function(m, exports) {
|
|
18
|
+
for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
|
|
19
|
+
};
|
|
20
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
21
|
+
// Vector Store Integrations
|
|
22
|
+
__exportStar(require("./vector"), exports);
|
|
23
|
+
// Observability Integrations
|
|
24
|
+
__exportStar(require("./observability"), exports);
|
|
25
|
+
// Voice Integrations
|
|
26
|
+
__exportStar(require("./voice"), exports);
|
|
@@ -0,0 +1,123 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Base Observability - Abstract class for observability integrations
|
|
3
|
+
* Supports tracing, logging, and metrics
|
|
4
|
+
*/
|
|
5
|
+
export interface Span {
|
|
6
|
+
id: string;
|
|
7
|
+
traceId: string;
|
|
8
|
+
parentId?: string;
|
|
9
|
+
name: string;
|
|
10
|
+
startTime: number;
|
|
11
|
+
endTime?: number;
|
|
12
|
+
status: 'ok' | 'error' | 'unset';
|
|
13
|
+
attributes: Record<string, any>;
|
|
14
|
+
events: SpanEvent[];
|
|
15
|
+
}
|
|
16
|
+
export interface SpanEvent {
|
|
17
|
+
name: string;
|
|
18
|
+
timestamp: number;
|
|
19
|
+
attributes?: Record<string, any>;
|
|
20
|
+
}
|
|
21
|
+
export interface TraceContext {
|
|
22
|
+
traceId: string;
|
|
23
|
+
spanId: string;
|
|
24
|
+
parentSpanId?: string;
|
|
25
|
+
}
|
|
26
|
+
export interface LogEntry {
|
|
27
|
+
level: 'debug' | 'info' | 'warn' | 'error';
|
|
28
|
+
message: string;
|
|
29
|
+
timestamp: number;
|
|
30
|
+
traceId?: string;
|
|
31
|
+
spanId?: string;
|
|
32
|
+
attributes?: Record<string, any>;
|
|
33
|
+
}
|
|
34
|
+
export interface Metric {
|
|
35
|
+
name: string;
|
|
36
|
+
value: number;
|
|
37
|
+
type: 'counter' | 'gauge' | 'histogram';
|
|
38
|
+
timestamp: number;
|
|
39
|
+
tags?: Record<string, string>;
|
|
40
|
+
}
|
|
41
|
+
/**
|
|
42
|
+
* Abstract base class for observability providers
|
|
43
|
+
*/
|
|
44
|
+
export declare abstract class BaseObservabilityProvider {
|
|
45
|
+
readonly name: string;
|
|
46
|
+
constructor(name: string);
|
|
47
|
+
/**
|
|
48
|
+
* Start a new span
|
|
49
|
+
*/
|
|
50
|
+
abstract startSpan(name: string, attributes?: Record<string, any>, parentContext?: TraceContext): Span;
|
|
51
|
+
/**
|
|
52
|
+
* End a span
|
|
53
|
+
*/
|
|
54
|
+
abstract endSpan(span: Span, status?: 'ok' | 'error', error?: Error): void;
|
|
55
|
+
/**
|
|
56
|
+
* Add event to span
|
|
57
|
+
*/
|
|
58
|
+
abstract addSpanEvent(span: Span, name: string, attributes?: Record<string, any>): void;
|
|
59
|
+
/**
|
|
60
|
+
* Log a message
|
|
61
|
+
*/
|
|
62
|
+
abstract log(entry: LogEntry): void;
|
|
63
|
+
/**
|
|
64
|
+
* Record a metric
|
|
65
|
+
*/
|
|
66
|
+
abstract recordMetric(metric: Metric): void;
|
|
67
|
+
/**
|
|
68
|
+
* Flush all pending data
|
|
69
|
+
*/
|
|
70
|
+
abstract flush(): Promise<void>;
|
|
71
|
+
/**
|
|
72
|
+
* Shutdown the provider
|
|
73
|
+
*/
|
|
74
|
+
abstract shutdown(): Promise<void>;
|
|
75
|
+
/**
|
|
76
|
+
* Helper to create trace context
|
|
77
|
+
*/
|
|
78
|
+
protected createTraceContext(span: Span): TraceContext;
|
|
79
|
+
/**
|
|
80
|
+
* Generate unique ID
|
|
81
|
+
*/
|
|
82
|
+
protected generateId(): string;
|
|
83
|
+
}
|
|
84
|
+
/**
|
|
85
|
+
* Console-based observability provider for development
|
|
86
|
+
*/
|
|
87
|
+
export declare class ConsoleObservabilityProvider extends BaseObservabilityProvider {
|
|
88
|
+
private spans;
|
|
89
|
+
private verbose;
|
|
90
|
+
constructor(config?: {
|
|
91
|
+
verbose?: boolean;
|
|
92
|
+
});
|
|
93
|
+
startSpan(name: string, attributes?: Record<string, any>, parentContext?: TraceContext): Span;
|
|
94
|
+
endSpan(span: Span, status?: 'ok' | 'error', error?: Error): void;
|
|
95
|
+
addSpanEvent(span: Span, name: string, attributes?: Record<string, any>): void;
|
|
96
|
+
log(entry: LogEntry): void;
|
|
97
|
+
recordMetric(metric: Metric): void;
|
|
98
|
+
flush(): Promise<void>;
|
|
99
|
+
shutdown(): Promise<void>;
|
|
100
|
+
}
|
|
101
|
+
/**
|
|
102
|
+
* Memory-based observability provider for testing
|
|
103
|
+
*/
|
|
104
|
+
export declare class MemoryObservabilityProvider extends BaseObservabilityProvider {
|
|
105
|
+
spans: Span[];
|
|
106
|
+
logs: LogEntry[];
|
|
107
|
+
metrics: Metric[];
|
|
108
|
+
constructor();
|
|
109
|
+
startSpan(name: string, attributes?: Record<string, any>, parentContext?: TraceContext): Span;
|
|
110
|
+
endSpan(span: Span, status?: 'ok' | 'error', error?: Error): void;
|
|
111
|
+
addSpanEvent(span: Span, name: string, attributes?: Record<string, any>): void;
|
|
112
|
+
log(entry: LogEntry): void;
|
|
113
|
+
recordMetric(metric: Metric): void;
|
|
114
|
+
flush(): Promise<void>;
|
|
115
|
+
shutdown(): Promise<void>;
|
|
116
|
+
getSpansByName(name: string): Span[];
|
|
117
|
+
getLogsByLevel(level: LogEntry['level']): LogEntry[];
|
|
118
|
+
getMetricsByName(name: string): Metric[];
|
|
119
|
+
}
|
|
120
|
+
export declare function createConsoleObservability(config?: {
|
|
121
|
+
verbose?: boolean;
|
|
122
|
+
}): ConsoleObservabilityProvider;
|
|
123
|
+
export declare function createMemoryObservability(): MemoryObservabilityProvider;
|
|
@@ -0,0 +1,183 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
/**
|
|
3
|
+
* Base Observability - Abstract class for observability integrations
|
|
4
|
+
* Supports tracing, logging, and metrics
|
|
5
|
+
*/
|
|
6
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
7
|
+
exports.MemoryObservabilityProvider = exports.ConsoleObservabilityProvider = exports.BaseObservabilityProvider = void 0;
|
|
8
|
+
exports.createConsoleObservability = createConsoleObservability;
|
|
9
|
+
exports.createMemoryObservability = createMemoryObservability;
|
|
10
|
+
/**
|
|
11
|
+
* Abstract base class for observability providers
|
|
12
|
+
*/
|
|
13
|
+
class BaseObservabilityProvider {
|
|
14
|
+
constructor(name) {
|
|
15
|
+
this.name = name;
|
|
16
|
+
}
|
|
17
|
+
/**
|
|
18
|
+
* Helper to create trace context
|
|
19
|
+
*/
|
|
20
|
+
createTraceContext(span) {
|
|
21
|
+
return {
|
|
22
|
+
traceId: span.traceId,
|
|
23
|
+
spanId: span.id,
|
|
24
|
+
parentSpanId: span.parentId
|
|
25
|
+
};
|
|
26
|
+
}
|
|
27
|
+
/**
|
|
28
|
+
* Generate unique ID
|
|
29
|
+
*/
|
|
30
|
+
generateId() {
|
|
31
|
+
return crypto.randomUUID().replace(/-/g, '');
|
|
32
|
+
}
|
|
33
|
+
}
|
|
34
|
+
exports.BaseObservabilityProvider = BaseObservabilityProvider;
|
|
35
|
+
/**
|
|
36
|
+
* Console-based observability provider for development
|
|
37
|
+
*/
|
|
38
|
+
class ConsoleObservabilityProvider extends BaseObservabilityProvider {
|
|
39
|
+
constructor(config = {}) {
|
|
40
|
+
super('ConsoleObservability');
|
|
41
|
+
this.spans = new Map();
|
|
42
|
+
this.verbose = config.verbose ?? false;
|
|
43
|
+
}
|
|
44
|
+
startSpan(name, attributes, parentContext) {
|
|
45
|
+
const span = {
|
|
46
|
+
id: this.generateId(),
|
|
47
|
+
traceId: parentContext?.traceId || this.generateId(),
|
|
48
|
+
parentId: parentContext?.spanId,
|
|
49
|
+
name,
|
|
50
|
+
startTime: Date.now(),
|
|
51
|
+
status: 'unset',
|
|
52
|
+
attributes: attributes || {},
|
|
53
|
+
events: []
|
|
54
|
+
};
|
|
55
|
+
this.spans.set(span.id, span);
|
|
56
|
+
if (this.verbose) {
|
|
57
|
+
console.log(`[SPAN START] ${name}`, { traceId: span.traceId, spanId: span.id });
|
|
58
|
+
}
|
|
59
|
+
return span;
|
|
60
|
+
}
|
|
61
|
+
endSpan(span, status = 'ok', error) {
|
|
62
|
+
span.endTime = Date.now();
|
|
63
|
+
span.status = status;
|
|
64
|
+
if (error) {
|
|
65
|
+
span.attributes.error = error.message;
|
|
66
|
+
span.attributes.errorStack = error.stack;
|
|
67
|
+
}
|
|
68
|
+
const duration = span.endTime - span.startTime;
|
|
69
|
+
if (this.verbose) {
|
|
70
|
+
console.log(`[SPAN END] ${span.name}`, {
|
|
71
|
+
duration: `${duration}ms`,
|
|
72
|
+
status,
|
|
73
|
+
...(error && { error: error.message })
|
|
74
|
+
});
|
|
75
|
+
}
|
|
76
|
+
this.spans.delete(span.id);
|
|
77
|
+
}
|
|
78
|
+
addSpanEvent(span, name, attributes) {
|
|
79
|
+
span.events.push({
|
|
80
|
+
name,
|
|
81
|
+
timestamp: Date.now(),
|
|
82
|
+
attributes
|
|
83
|
+
});
|
|
84
|
+
if (this.verbose) {
|
|
85
|
+
console.log(`[SPAN EVENT] ${span.name} -> ${name}`, attributes);
|
|
86
|
+
}
|
|
87
|
+
}
|
|
88
|
+
log(entry) {
|
|
89
|
+
const prefix = `[${entry.level.toUpperCase()}]`;
|
|
90
|
+
const context = entry.traceId ? ` [trace:${entry.traceId.slice(0, 8)}]` : '';
|
|
91
|
+
switch (entry.level) {
|
|
92
|
+
case 'debug':
|
|
93
|
+
console.debug(`${prefix}${context} ${entry.message}`, entry.attributes);
|
|
94
|
+
break;
|
|
95
|
+
case 'info':
|
|
96
|
+
console.info(`${prefix}${context} ${entry.message}`, entry.attributes);
|
|
97
|
+
break;
|
|
98
|
+
case 'warn':
|
|
99
|
+
console.warn(`${prefix}${context} ${entry.message}`, entry.attributes);
|
|
100
|
+
break;
|
|
101
|
+
case 'error':
|
|
102
|
+
console.error(`${prefix}${context} ${entry.message}`, entry.attributes);
|
|
103
|
+
break;
|
|
104
|
+
}
|
|
105
|
+
}
|
|
106
|
+
recordMetric(metric) {
|
|
107
|
+
if (this.verbose) {
|
|
108
|
+
console.log(`[METRIC] ${metric.name}: ${metric.value} (${metric.type})`, metric.tags);
|
|
109
|
+
}
|
|
110
|
+
}
|
|
111
|
+
async flush() {
|
|
112
|
+
// Console provider doesn't need flushing
|
|
113
|
+
}
|
|
114
|
+
async shutdown() {
|
|
115
|
+
this.spans.clear();
|
|
116
|
+
}
|
|
117
|
+
}
|
|
118
|
+
exports.ConsoleObservabilityProvider = ConsoleObservabilityProvider;
|
|
119
|
+
/**
|
|
120
|
+
* Memory-based observability provider for testing
|
|
121
|
+
*/
|
|
122
|
+
class MemoryObservabilityProvider extends BaseObservabilityProvider {
|
|
123
|
+
constructor() {
|
|
124
|
+
super('MemoryObservability');
|
|
125
|
+
this.spans = [];
|
|
126
|
+
this.logs = [];
|
|
127
|
+
this.metrics = [];
|
|
128
|
+
}
|
|
129
|
+
startSpan(name, attributes, parentContext) {
|
|
130
|
+
const span = {
|
|
131
|
+
id: this.generateId(),
|
|
132
|
+
traceId: parentContext?.traceId || this.generateId(),
|
|
133
|
+
parentId: parentContext?.spanId,
|
|
134
|
+
name,
|
|
135
|
+
startTime: Date.now(),
|
|
136
|
+
status: 'unset',
|
|
137
|
+
attributes: attributes || {},
|
|
138
|
+
events: []
|
|
139
|
+
};
|
|
140
|
+
this.spans.push(span);
|
|
141
|
+
return span;
|
|
142
|
+
}
|
|
143
|
+
endSpan(span, status = 'ok', error) {
|
|
144
|
+
span.endTime = Date.now();
|
|
145
|
+
span.status = status;
|
|
146
|
+
if (error) {
|
|
147
|
+
span.attributes.error = error.message;
|
|
148
|
+
}
|
|
149
|
+
}
|
|
150
|
+
addSpanEvent(span, name, attributes) {
|
|
151
|
+
span.events.push({ name, timestamp: Date.now(), attributes });
|
|
152
|
+
}
|
|
153
|
+
log(entry) {
|
|
154
|
+
this.logs.push(entry);
|
|
155
|
+
}
|
|
156
|
+
recordMetric(metric) {
|
|
157
|
+
this.metrics.push(metric);
|
|
158
|
+
}
|
|
159
|
+
async flush() { }
|
|
160
|
+
async shutdown() {
|
|
161
|
+
this.spans = [];
|
|
162
|
+
this.logs = [];
|
|
163
|
+
this.metrics = [];
|
|
164
|
+
}
|
|
165
|
+
// Helper methods for testing
|
|
166
|
+
getSpansByName(name) {
|
|
167
|
+
return this.spans.filter(s => s.name === name);
|
|
168
|
+
}
|
|
169
|
+
getLogsByLevel(level) {
|
|
170
|
+
return this.logs.filter(l => l.level === level);
|
|
171
|
+
}
|
|
172
|
+
getMetricsByName(name) {
|
|
173
|
+
return this.metrics.filter(m => m.name === name);
|
|
174
|
+
}
|
|
175
|
+
}
|
|
176
|
+
exports.MemoryObservabilityProvider = MemoryObservabilityProvider;
|
|
177
|
+
// Factory functions
|
|
178
|
+
function createConsoleObservability(config) {
|
|
179
|
+
return new ConsoleObservabilityProvider(config);
|
|
180
|
+
}
|
|
181
|
+
function createMemoryObservability() {
|
|
182
|
+
return new MemoryObservabilityProvider();
|
|
183
|
+
}
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Observability Integrations
|
|
3
|
+
* Provides adapters for various observability platforms
|
|
4
|
+
*/
|
|
5
|
+
export * from './base';
|
|
6
|
+
export * from './langfuse';
|
|
7
|
+
export { createConsoleObservability, createMemoryObservability } from './base';
|
|
8
|
+
export { createLangfuseObservability } from './langfuse';
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
/**
|
|
3
|
+
* Observability Integrations
|
|
4
|
+
* Provides adapters for various observability platforms
|
|
5
|
+
*/
|
|
6
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
7
|
+
if (k2 === undefined) k2 = k;
|
|
8
|
+
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
9
|
+
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
10
|
+
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
11
|
+
}
|
|
12
|
+
Object.defineProperty(o, k2, desc);
|
|
13
|
+
}) : (function(o, m, k, k2) {
|
|
14
|
+
if (k2 === undefined) k2 = k;
|
|
15
|
+
o[k2] = m[k];
|
|
16
|
+
}));
|
|
17
|
+
var __exportStar = (this && this.__exportStar) || function(m, exports) {
|
|
18
|
+
for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
|
|
19
|
+
};
|
|
20
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
21
|
+
exports.createLangfuseObservability = exports.createMemoryObservability = exports.createConsoleObservability = void 0;
|
|
22
|
+
__exportStar(require("./base"), exports);
|
|
23
|
+
__exportStar(require("./langfuse"), exports);
|
|
24
|
+
// Re-export factory functions
|
|
25
|
+
var base_1 = require("./base");
|
|
26
|
+
Object.defineProperty(exports, "createConsoleObservability", { enumerable: true, get: function () { return base_1.createConsoleObservability; } });
|
|
27
|
+
Object.defineProperty(exports, "createMemoryObservability", { enumerable: true, get: function () { return base_1.createMemoryObservability; } });
|
|
28
|
+
var langfuse_1 = require("./langfuse");
|
|
29
|
+
Object.defineProperty(exports, "createLangfuseObservability", { enumerable: true, get: function () { return langfuse_1.createLangfuseObservability; } });
|
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Langfuse Observability Integration
|
|
3
|
+
*/
|
|
4
|
+
import { BaseObservabilityProvider, Span, TraceContext, LogEntry, Metric } from './base';
|
|
5
|
+
export interface LangfuseConfig {
|
|
6
|
+
publicKey: string;
|
|
7
|
+
secretKey: string;
|
|
8
|
+
baseUrl?: string;
|
|
9
|
+
flushAt?: number;
|
|
10
|
+
flushInterval?: number;
|
|
11
|
+
}
|
|
12
|
+
export declare class LangfuseObservabilityProvider extends BaseObservabilityProvider {
|
|
13
|
+
private publicKey;
|
|
14
|
+
private secretKey;
|
|
15
|
+
private baseUrl;
|
|
16
|
+
private queue;
|
|
17
|
+
private flushAt;
|
|
18
|
+
private flushInterval;
|
|
19
|
+
private flushTimer?;
|
|
20
|
+
constructor(config: LangfuseConfig);
|
|
21
|
+
private startFlushTimer;
|
|
22
|
+
private request;
|
|
23
|
+
private enqueue;
|
|
24
|
+
startSpan(name: string, attributes?: Record<string, any>, parentContext?: TraceContext): Span;
|
|
25
|
+
endSpan(span: Span, status?: 'ok' | 'error', error?: Error): void;
|
|
26
|
+
addSpanEvent(span: Span, name: string, attributes?: Record<string, any>): void;
|
|
27
|
+
log(entry: LogEntry): void;
|
|
28
|
+
recordMetric(metric: Metric): void;
|
|
29
|
+
flush(): Promise<void>;
|
|
30
|
+
shutdown(): Promise<void>;
|
|
31
|
+
}
|
|
32
|
+
export declare function createLangfuseObservability(config: LangfuseConfig): LangfuseObservabilityProvider;
|