@cogitator-ai/core 0.7.0 → 0.9.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.
Files changed (46) hide show
  1. package/README.md +129 -1
  2. package/dist/index.d.ts +2 -0
  3. package/dist/index.d.ts.map +1 -1
  4. package/dist/index.js +1 -0
  5. package/dist/index.js.map +1 -1
  6. package/dist/observability/index.d.ts +3 -0
  7. package/dist/observability/index.d.ts.map +1 -0
  8. package/dist/observability/index.js +3 -0
  9. package/dist/observability/index.js.map +1 -0
  10. package/dist/observability/langfuse.d.ts +48 -0
  11. package/dist/observability/langfuse.d.ts.map +1 -0
  12. package/dist/observability/langfuse.js +127 -0
  13. package/dist/observability/langfuse.js.map +1 -0
  14. package/dist/observability/opentelemetry.d.ts +29 -0
  15. package/dist/observability/opentelemetry.d.ts.map +1 -0
  16. package/dist/observability/opentelemetry.js +131 -0
  17. package/dist/observability/opentelemetry.js.map +1 -0
  18. package/dist/tools/email.d.ts +24 -0
  19. package/dist/tools/email.d.ts.map +1 -0
  20. package/dist/tools/email.js +185 -0
  21. package/dist/tools/email.js.map +1 -0
  22. package/dist/tools/github.d.ts +19 -0
  23. package/dist/tools/github.d.ts.map +1 -0
  24. package/dist/tools/github.js +288 -0
  25. package/dist/tools/github.js.map +1 -0
  26. package/dist/tools/index.d.ts +93 -4
  27. package/dist/tools/index.d.ts.map +1 -1
  28. package/dist/tools/index.js +18 -3
  29. package/dist/tools/index.js.map +1 -1
  30. package/dist/tools/sql-query.d.ts +22 -0
  31. package/dist/tools/sql-query.d.ts.map +1 -0
  32. package/dist/tools/sql-query.js +141 -0
  33. package/dist/tools/sql-query.js.map +1 -0
  34. package/dist/tools/vector-search.d.ts +29 -0
  35. package/dist/tools/vector-search.d.ts.map +1 -0
  36. package/dist/tools/vector-search.js +192 -0
  37. package/dist/tools/vector-search.js.map +1 -0
  38. package/dist/tools/web-scrape.d.ts +31 -0
  39. package/dist/tools/web-scrape.d.ts.map +1 -0
  40. package/dist/tools/web-scrape.js +257 -0
  41. package/dist/tools/web-scrape.js.map +1 -0
  42. package/dist/tools/web-search.d.ts +28 -0
  43. package/dist/tools/web-search.d.ts.map +1 -0
  44. package/dist/tools/web-search.js +176 -0
  45. package/dist/tools/web-search.js.map +1 -0
  46. package/package.json +5 -5
package/README.md CHANGED
@@ -46,7 +46,7 @@ console.log(result.output);
46
46
  - **Type-Safe Tools** - Zod-validated tool definitions
47
47
  - **Streaming Responses** - Real-time token streaming
48
48
  - **Memory Integration** - Redis, PostgreSQL, in-memory adapters
49
- - **20+ Built-in Tools** - Calculator, filesystem, HTTP, regex, and more
49
+ - **26 Built-in Tools** - Web search, SQL, email, GitHub, filesystem, and more
50
50
  - **Reflection Engine** - Self-improvement through tool call analysis
51
51
  - **Tree-of-Thought** - Advanced reasoning with branch exploration
52
52
  - **Agent Optimizer** - DSPy-style learning from traces
@@ -222,6 +222,8 @@ const schemas = registry.getSchemas();
222
222
 
223
223
  ### Built-in Tools
224
224
 
225
+ #### Utility Tools
226
+
225
227
  | Tool | Description |
226
228
  | --------------- | -------------------------------- |
227
229
  | `calculator` | Evaluate math expressions |
@@ -245,6 +247,32 @@ const schemas = registry.getSchemas();
245
247
  | `httpRequest` | Make HTTP requests |
246
248
  | `exec` | Execute shell commands |
247
249
 
250
+ #### Web & Search Tools
251
+
252
+ | Tool | Description |
253
+ | ----------- | -------------------------------------- |
254
+ | `webSearch` | Search the web (Tavily, Brave, Serper) |
255
+ | `webScrape` | Extract content from web pages |
256
+
257
+ #### Database Tools
258
+
259
+ | Tool | Description |
260
+ | -------------- | ------------------------------------------ |
261
+ | `sqlQuery` | Execute SQL queries (PostgreSQL, SQLite) |
262
+ | `vectorSearch` | Semantic search with embeddings (pgvector) |
263
+
264
+ #### Communication Tools
265
+
266
+ | Tool | Description |
267
+ | ----------- | ------------------------------ |
268
+ | `sendEmail` | Send emails (Resend API, SMTP) |
269
+
270
+ #### Development Tools
271
+
272
+ | Tool | Description |
273
+ | ----------- | ------------------------------------------------ |
274
+ | `githubApi` | GitHub API (issues, PRs, files, commits, search) |
275
+
248
276
  ```typescript
249
277
  import { builtinTools, calculator, datetime } from '@cogitator-ai/core';
250
278
 
@@ -256,6 +284,106 @@ const agent = new Agent({
256
284
  });
257
285
  ```
258
286
 
287
+ ### Web Search Tool
288
+
289
+ Search the web using Tavily, Brave, or Serper APIs:
290
+
291
+ ```typescript
292
+ import { webSearch } from '@cogitator-ai/core';
293
+
294
+ // Auto-detects from TAVILY_API_KEY, BRAVE_API_KEY, or SERPER_API_KEY
295
+ const agent = new Agent({
296
+ tools: [webSearch],
297
+ });
298
+
299
+ // Or specify provider explicitly in tool call
300
+ // provider: 'tavily' | 'brave' | 'serper'
301
+ ```
302
+
303
+ ### Web Scrape Tool
304
+
305
+ Extract content from web pages:
306
+
307
+ ```typescript
308
+ import { webScrape } from '@cogitator-ai/core';
309
+
310
+ const agent = new Agent({
311
+ tools: [webScrape],
312
+ });
313
+
314
+ // Supports CSS selectors, text/markdown/html output, link/image extraction
315
+ ```
316
+
317
+ ### SQL Query Tool
318
+
319
+ Execute SQL queries against PostgreSQL or SQLite:
320
+
321
+ ```typescript
322
+ import { sqlQuery } from '@cogitator-ai/core';
323
+
324
+ const agent = new Agent({
325
+ tools: [sqlQuery],
326
+ });
327
+
328
+ // Uses DATABASE_URL env var by default
329
+ // Supports parameterized queries for safety
330
+ // Read-only by default (SELECT, WITH, SHOW, DESCRIBE, EXPLAIN)
331
+ ```
332
+
333
+ **Dependencies:** `pg` for PostgreSQL, `better-sqlite3` for SQLite
334
+
335
+ ### Vector Search Tool
336
+
337
+ Semantic search using embeddings with pgvector:
338
+
339
+ ```typescript
340
+ import { vectorSearch } from '@cogitator-ai/core';
341
+
342
+ const agent = new Agent({
343
+ tools: [vectorSearch],
344
+ });
345
+
346
+ // Embedding providers: OpenAI, Ollama, Google
347
+ // Auto-detects from OPENAI_API_KEY, OLLAMA_BASE_URL, or GOOGLE_API_KEY
348
+ ```
349
+
350
+ **Dependencies:** `pg` with pgvector extension
351
+
352
+ ### Email Tool
353
+
354
+ Send emails via Resend API or SMTP:
355
+
356
+ ```typescript
357
+ import { sendEmail } from '@cogitator-ai/core';
358
+
359
+ const agent = new Agent({
360
+ tools: [sendEmail],
361
+ });
362
+
363
+ // Resend: Set RESEND_API_KEY
364
+ // SMTP: Set SMTP_HOST, SMTP_USER, SMTP_PASS
365
+ // Supports HTML, CC/BCC, reply-to
366
+ ```
367
+
368
+ **Dependencies:** `nodemailer` for SMTP
369
+
370
+ ### GitHub API Tool
371
+
372
+ Interact with GitHub repositories:
373
+
374
+ ```typescript
375
+ import { githubApi } from '@cogitator-ai/core';
376
+
377
+ const agent = new Agent({
378
+ tools: [githubApi],
379
+ });
380
+
381
+ // Set GITHUB_TOKEN env var
382
+ // Actions: get_repo, list_issues, get_issue, create_issue, update_issue,
383
+ // list_prs, get_pr, create_pr, get_file, list_commits,
384
+ // search_code, search_issues
385
+ ```
386
+
259
387
  ---
260
388
 
261
389
  ## Run Options
package/dist/index.d.ts CHANGED
@@ -38,4 +38,6 @@ export { CausalReasoner, CausalGraphImpl, CausalGraphBuilder, CausalInferenceEng
38
38
  export type { CausalReasonerOptions, CausalInferenceEngineOptions, CausalExtractorOptions, HypothesisGeneratorOptions, CausalValidatorOptions, ValidationContext, ForkRequest, EffectPredictorOptions, CausalExplainerOptions, CausalPlannerOptions, CounterfactualReasonerOptions, } from './causal/index';
39
39
  export type { CausalRelationType, VariableType, EquationType, StructuralEquation, CausalNode, CausalEdge, CausalPath, CausalGraphData, CausalGraph, TripleType, DSeparationResult, AdjustmentSet, InterventionQuery, CounterfactualQuery, CausalEffectEstimate, CounterfactualResult, CausalHypothesis, CausalEvidence, CausalPattern, PredictedEffect, CausalActionEvaluation, RootCause, CausalExplanation, CausalPlanStep, CausalPlan, InterventionRecord, CausalGraphStore, CausalPatternStore, InterventionLog, CausalReasoningConfig, CausalReasonerStats, CausalContext, } from '@cogitator-ai/types';
40
40
  export { DEFAULT_CAUSAL_CONFIG } from '@cogitator-ai/types';
41
+ export { LangfuseExporter, createLangfuseExporter, OTLPExporter, createOTLPExporter, } from './observability/index';
42
+ export type { LangfuseConfig, OTLPExporterConfig } from './observability/index';
41
43
  //# sourceMappingURL=index.d.ts.map
@@ -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
@@ -23,4 +23,5 @@ export { DEFAULT_GUARDRAIL_CONFIG } from '@cogitator-ai/types';
23
23
  export { DEFAULT_COST_ROUTING_CONFIG } from '@cogitator-ai/types';
24
24
  export { CausalReasoner, CausalGraphImpl, CausalGraphBuilder, CausalInferenceEngine, CausalExtractor, CausalHypothesisGenerator, CausalValidator, CausalEffectPredictor, CausalExplainer, CausalPlanner, CounterfactualReasoner, InMemoryCausalGraphStore, InMemoryCausalPatternStore, InMemoryInterventionLog, dSeparation, findMinimalSeparatingSet, findBackdoorAdjustment, findFrontdoorAdjustment, findAllAdjustmentSets, evaluateCounterfactual, getTripleType, } from './causal/index';
25
25
  export { DEFAULT_CAUSAL_CONFIG } from '@cogitator-ai/types';
26
+ export { LangfuseExporter, createLangfuseExporter, OTLPExporter, createOTLPExporter, } from './observability/index';
26
27
  //# sourceMappingURL=index.js.map
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AACxC,OAAO,EAAE,KAAK,EAAE,MAAM,SAAS,CAAC;AAChC,OAAO,EAAE,IAAI,EAAE,YAAY,EAAE,MAAM,QAAQ,CAAC;AAC5C,OAAO,EAAE,YAAY,EAAE,MAAM,YAAY,CAAC;AAE1C,OAAO,EAAE,UAAU,EAAE,QAAQ,EAAE,YAAY,EAAE,MAAM,eAAe,CAAC;AAEnE,OAAO,EAAE,MAAM,EAAE,SAAS,EAAE,SAAS,EAAE,YAAY,EAAE,MAAM,UAAU,CAAC;AAGtE,OAAO,EAAE,gBAAgB,EAAE,oBAAoB,EAAE,MAAM,oBAAoB,CAAC;AAG5E,OAAO,EAAE,mBAAmB,EAAE,eAAe,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AAG1F,OAAO,EACL,cAAc,EACd,kBAAkB,EAClB,eAAe,EACf,YAAY,EACZ,oBAAoB,EACpB,mBAAmB,EACnB,sBAAsB,EACtB,oBAAoB,GACrB,MAAM,kBAAkB,CAAC;AAQ1B,OAAO,EACL,UAAU,EACV,uBAAuB,EACvB,iBAAiB,EACjB,eAAe,EACf,eAAe,GAChB,MAAM,qBAAqB,CAAC;AAQ7B,OAAO,EACL,gBAAgB,EAChB,WAAW,EACX,YAAY,EACZ,SAAS,EACT,eAAe,EACf,oBAAoB,EACpB,kBAAkB,EAClB,kBAAkB,EAClB,kBAAkB,EAClB,uBAAuB,EACvB,uBAAuB,EACvB,uBAAuB,EACvB,0BAA0B,EAC1B,2BAA2B,EAC3B,mBAAmB,EACnB,mBAAmB,EACnB,uBAAuB,EACvB,qBAAqB,GACtB,MAAM,wBAAwB,CAAC;AAShC,OAAO,EACL,eAAe,EACf,YAAY,EACZ,aAAa,EACb,WAAW,EACX,cAAc,GACf,MAAM,sBAAsB,CAAC;AAG9B,OAAO,EACL,cAAc,EACd,aAAa,EACb,aAAa,EACb,gBAAgB,EAChB,gBAAgB,EAChB,UAAU,GACX,MAAM,aAAa,CAAC;AAErB,OAAO,EACL,SAAS,EACT,SAAS,EACT,cAAc,EACd,sBAAsB,EACtB,YAAY,EACZ,uBAAuB,EACvB,yBAAyB,GAC1B,MAAM,eAAe,CAAC;AAUvB,OAAO,EACL,cAAc,EACd,SAAS,EACT,kBAAkB,EAClB,gBAAgB,EAChB,aAAa,GACd,MAAM,qBAAqB,CAAC;AA0D7B,OAAO,EACL,kBAAkB,EAClB,uBAAuB,EACvB,wBAAwB,EACxB,0BAA0B,GAC3B,MAAM,qBAAqB,CAAC;AA+B7B,OAAO,EAAE,wBAAwB,EAAE,MAAM,qBAAqB,CAAC;AAc/D,OAAO,EAAE,2BAA2B,EAAE,MAAM,qBAAqB,CAAC;AAElE,OAAO,EACL,cAAc,EACd,eAAe,EACf,kBAAkB,EAClB,qBAAqB,EACrB,eAAe,EACf,yBAAyB,EACzB,eAAe,EACf,qBAAqB,EACrB,eAAe,EACf,aAAa,EACb,sBAAsB,EACtB,wBAAwB,EACxB,0BAA0B,EAC1B,uBAAuB,EACvB,WAAW,EACX,wBAAwB,EACxB,sBAAsB,EACtB,uBAAuB,EACvB,qBAAqB,EACrB,sBAAsB,EACtB,aAAa,GACd,MAAM,gBAAgB,CAAC;AAiDxB,OAAO,EAAE,qBAAqB,EAAE,MAAM,qBAAqB,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AACxC,OAAO,EAAE,KAAK,EAAE,MAAM,SAAS,CAAC;AAChC,OAAO,EAAE,IAAI,EAAE,YAAY,EAAE,MAAM,QAAQ,CAAC;AAC5C,OAAO,EAAE,YAAY,EAAE,MAAM,YAAY,CAAC;AAE1C,OAAO,EAAE,UAAU,EAAE,QAAQ,EAAE,YAAY,EAAE,MAAM,eAAe,CAAC;AAEnE,OAAO,EAAE,MAAM,EAAE,SAAS,EAAE,SAAS,EAAE,YAAY,EAAE,MAAM,UAAU,CAAC;AAGtE,OAAO,EAAE,gBAAgB,EAAE,oBAAoB,EAAE,MAAM,oBAAoB,CAAC;AAG5E,OAAO,EAAE,mBAAmB,EAAE,eAAe,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AAG1F,OAAO,EACL,cAAc,EACd,kBAAkB,EAClB,eAAe,EACf,YAAY,EACZ,oBAAoB,EACpB,mBAAmB,EACnB,sBAAsB,EACtB,oBAAoB,GACrB,MAAM,kBAAkB,CAAC;AAQ1B,OAAO,EACL,UAAU,EACV,uBAAuB,EACvB,iBAAiB,EACjB,eAAe,EACf,eAAe,GAChB,MAAM,qBAAqB,CAAC;AAQ7B,OAAO,EACL,gBAAgB,EAChB,WAAW,EACX,YAAY,EACZ,SAAS,EACT,eAAe,EACf,oBAAoB,EACpB,kBAAkB,EAClB,kBAAkB,EAClB,kBAAkB,EAClB,uBAAuB,EACvB,uBAAuB,EACvB,uBAAuB,EACvB,0BAA0B,EAC1B,2BAA2B,EAC3B,mBAAmB,EACnB,mBAAmB,EACnB,uBAAuB,EACvB,qBAAqB,GACtB,MAAM,wBAAwB,CAAC;AAShC,OAAO,EACL,eAAe,EACf,YAAY,EACZ,aAAa,EACb,WAAW,EACX,cAAc,GACf,MAAM,sBAAsB,CAAC;AAG9B,OAAO,EACL,cAAc,EACd,aAAa,EACb,aAAa,EACb,gBAAgB,EAChB,gBAAgB,EAChB,UAAU,GACX,MAAM,aAAa,CAAC;AAErB,OAAO,EACL,SAAS,EACT,SAAS,EACT,cAAc,EACd,sBAAsB,EACtB,YAAY,EACZ,uBAAuB,EACvB,yBAAyB,GAC1B,MAAM,eAAe,CAAC;AAUvB,OAAO,EACL,cAAc,EACd,SAAS,EACT,kBAAkB,EAClB,gBAAgB,EAChB,aAAa,GACd,MAAM,qBAAqB,CAAC;AA0D7B,OAAO,EACL,kBAAkB,EAClB,uBAAuB,EACvB,wBAAwB,EACxB,0BAA0B,GAC3B,MAAM,qBAAqB,CAAC;AA+B7B,OAAO,EAAE,wBAAwB,EAAE,MAAM,qBAAqB,CAAC;AAc/D,OAAO,EAAE,2BAA2B,EAAE,MAAM,qBAAqB,CAAC;AAElE,OAAO,EACL,cAAc,EACd,eAAe,EACf,kBAAkB,EAClB,qBAAqB,EACrB,eAAe,EACf,yBAAyB,EACzB,eAAe,EACf,qBAAqB,EACrB,eAAe,EACf,aAAa,EACb,sBAAsB,EACtB,wBAAwB,EACxB,0BAA0B,EAC1B,uBAAuB,EACvB,WAAW,EACX,wBAAwB,EACxB,sBAAsB,EACtB,uBAAuB,EACvB,qBAAqB,EACrB,sBAAsB,EACtB,aAAa,GACd,MAAM,gBAAgB,CAAC;AAiDxB,OAAO,EAAE,qBAAqB,EAAE,MAAM,qBAAqB,CAAC;AAE5D,OAAO,EACL,gBAAgB,EAChB,sBAAsB,EACtB,YAAY,EACZ,kBAAkB,GACnB,MAAM,uBAAuB,CAAC"}
@@ -0,0 +1,3 @@
1
+ export { LangfuseExporter, createLangfuseExporter, type LangfuseConfig } from './langfuse';
2
+ export { OTLPExporter, createOTLPExporter, type OTLPExporterConfig } from './opentelemetry';
3
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/observability/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAE,sBAAsB,EAAE,KAAK,cAAc,EAAE,MAAM,YAAY,CAAC;AAC3F,OAAO,EAAE,YAAY,EAAE,kBAAkB,EAAE,KAAK,kBAAkB,EAAE,MAAM,iBAAiB,CAAC"}
@@ -0,0 +1,3 @@
1
+ export { LangfuseExporter, createLangfuseExporter } from './langfuse';
2
+ export { OTLPExporter, createOTLPExporter } from './opentelemetry';
3
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/observability/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAE,sBAAsB,EAAuB,MAAM,YAAY,CAAC;AAC3F,OAAO,EAAE,YAAY,EAAE,kBAAkB,EAA2B,MAAM,iBAAiB,CAAC"}
@@ -0,0 +1,48 @@
1
+ import type { Span, RunResult, ToolCall, ToolResult, Message } from '@cogitator-ai/types';
2
+ export interface LangfuseConfig {
3
+ publicKey: string;
4
+ secretKey: string;
5
+ baseUrl?: string;
6
+ flushAt?: number;
7
+ flushInterval?: number;
8
+ enabled?: boolean;
9
+ }
10
+ export declare class LangfuseExporter {
11
+ private client;
12
+ private config;
13
+ private activeTraces;
14
+ private activeSpans;
15
+ constructor(config: LangfuseConfig);
16
+ init(): Promise<void>;
17
+ onRunStart(options: {
18
+ runId: string;
19
+ agentId: string;
20
+ agentName: string;
21
+ input: string;
22
+ threadId?: string;
23
+ model?: string;
24
+ }): void;
25
+ onRunComplete(result: RunResult): void;
26
+ onSpanStart(runId: string, span: Omit<Span, 'endTime' | 'duration' | 'status'>): void;
27
+ onSpanEnd(span: Span): void;
28
+ onLLMCall(options: {
29
+ runId: string;
30
+ spanId?: string;
31
+ model: string;
32
+ messages: Message[];
33
+ temperature?: number;
34
+ maxTokens?: number;
35
+ }): string;
36
+ onLLMResponse(_options: {
37
+ generationId: string;
38
+ output: string;
39
+ inputTokens?: number;
40
+ outputTokens?: number;
41
+ }): void;
42
+ onToolCall(runId: string, call: ToolCall): void;
43
+ onToolResult(_runId: string, result: ToolResult): void;
44
+ flush(): Promise<void>;
45
+ shutdown(): Promise<void>;
46
+ }
47
+ export declare function createLangfuseExporter(config: LangfuseConfig): LangfuseExporter;
48
+ //# sourceMappingURL=langfuse.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"langfuse.d.ts","sourceRoot":"","sources":["../../src/observability/langfuse.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,IAAI,EAAE,SAAS,EAAE,QAAQ,EAAE,UAAU,EAAE,OAAO,EAAE,MAAM,qBAAqB,CAAC;AAE1F,MAAM,WAAW,cAAc;IAC7B,SAAS,EAAE,MAAM,CAAC;IAClB,SAAS,EAAE,MAAM,CAAC;IAClB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,OAAO,CAAC,EAAE,OAAO,CAAC;CACnB;AAsDD,qBAAa,gBAAgB;IAC3B,OAAO,CAAC,MAAM,CAA+B;IAC7C,OAAO,CAAC,MAAM,CAAiB;IAC/B,OAAO,CAAC,YAAY,CAAoC;IACxD,OAAO,CAAC,WAAW,CAAmC;gBAE1C,MAAM,EAAE,cAAc;IAI5B,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC;IA2B3B,UAAU,CAAC,OAAO,EAAE;QAClB,KAAK,EAAE,MAAM,CAAC;QACd,OAAO,EAAE,MAAM,CAAC;QAChB,SAAS,EAAE,MAAM,CAAC;QAClB,KAAK,EAAE,MAAM,CAAC;QACd,QAAQ,CAAC,EAAE,MAAM,CAAC;QAClB,KAAK,CAAC,EAAE,MAAM,CAAC;KAChB,GAAG,IAAI;IAkBR,aAAa,CAAC,MAAM,EAAE,SAAS,GAAG,IAAI;IAetC,WAAW,CAAC,KAAK,EAAE,MAAM,EAAE,IAAI,EAAE,IAAI,CAAC,IAAI,EAAE,SAAS,GAAG,UAAU,GAAG,QAAQ,CAAC,GAAG,IAAI;IAerF,SAAS,CAAC,IAAI,EAAE,IAAI,GAAG,IAAI;IAW3B,SAAS,CAAC,OAAO,EAAE;QACjB,KAAK,EAAE,MAAM,CAAC;QACd,MAAM,CAAC,EAAE,MAAM,CAAC;QAChB,KAAK,EAAE,MAAM,CAAC;QACd,QAAQ,EAAE,OAAO,EAAE,CAAC;QACpB,WAAW,CAAC,EAAE,MAAM,CAAC;QACrB,SAAS,CAAC,EAAE,MAAM,CAAC;KACpB,GAAG,MAAM;IAoBV,aAAa,CAAC,QAAQ,EAAE;QACtB,YAAY,EAAE,MAAM,CAAC;QACrB,MAAM,EAAE,MAAM,CAAC;QACf,WAAW,CAAC,EAAE,MAAM,CAAC;QACrB,YAAY,CAAC,EAAE,MAAM,CAAC;KACvB,GAAG,IAAI;IAIR,UAAU,CAAC,KAAK,EAAE,MAAM,EAAE,IAAI,EAAE,QAAQ,GAAG,IAAI;IAW/C,YAAY,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,UAAU,GAAG,IAAI;IAShD,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC;IAItB,QAAQ,IAAI,OAAO,CAAC,IAAI,CAAC;CAGhC;AAED,wBAAgB,sBAAsB,CAAC,MAAM,EAAE,cAAc,GAAG,gBAAgB,CAE/E"}
@@ -0,0 +1,127 @@
1
+ export class LangfuseExporter {
2
+ client = null;
3
+ config;
4
+ activeTraces = new Map();
5
+ activeSpans = new Map();
6
+ constructor(config) {
7
+ this.config = config;
8
+ }
9
+ async init() {
10
+ if (!this.config.enabled)
11
+ return;
12
+ let Langfuse;
13
+ try {
14
+ const langfuse = await import('langfuse');
15
+ Langfuse = langfuse.Langfuse;
16
+ }
17
+ catch {
18
+ throw new Error('langfuse not installed. Run: pnpm add langfuse');
19
+ }
20
+ this.client = new Langfuse({
21
+ publicKey: this.config.publicKey,
22
+ secretKey: this.config.secretKey,
23
+ baseUrl: this.config.baseUrl,
24
+ flushAt: this.config.flushAt,
25
+ flushInterval: this.config.flushInterval,
26
+ });
27
+ }
28
+ onRunStart(options) {
29
+ if (!this.client)
30
+ return;
31
+ const trace = this.client.trace({
32
+ id: options.runId,
33
+ name: options.agentName,
34
+ input: options.input,
35
+ sessionId: options.threadId,
36
+ metadata: {
37
+ agentId: options.agentId,
38
+ model: options.model,
39
+ },
40
+ tags: ['cogitator', options.agentName],
41
+ });
42
+ this.activeTraces.set(options.runId, trace);
43
+ }
44
+ onRunComplete(result) {
45
+ const trace = this.activeTraces.get(result.runId);
46
+ if (!trace)
47
+ return;
48
+ trace.update({
49
+ output: result.output,
50
+ metadata: {
51
+ usage: result.usage,
52
+ toolCallCount: result.toolCalls.length,
53
+ },
54
+ });
55
+ this.activeTraces.delete(result.runId);
56
+ }
57
+ onSpanStart(runId, span) {
58
+ const trace = this.activeTraces.get(runId);
59
+ if (!trace)
60
+ return;
61
+ const parent = span.parentId ? this.activeSpans.get(span.parentId) : null;
62
+ const target = parent ?? trace;
63
+ const langfuseSpan = target.span({
64
+ name: span.name,
65
+ metadata: span.attributes,
66
+ });
67
+ this.activeSpans.set(span.id, langfuseSpan);
68
+ }
69
+ onSpanEnd(span) {
70
+ const langfuseSpan = this.activeSpans.get(span.id);
71
+ if (!langfuseSpan)
72
+ return;
73
+ langfuseSpan.end({
74
+ output: span.attributes.output,
75
+ });
76
+ this.activeSpans.delete(span.id);
77
+ }
78
+ onLLMCall(options) {
79
+ const trace = this.activeTraces.get(options.runId);
80
+ if (!trace)
81
+ return '';
82
+ const parent = options.spanId ? this.activeSpans.get(options.spanId) : null;
83
+ const target = parent ?? trace;
84
+ const generation = target.generation({
85
+ name: 'llm-call',
86
+ model: options.model,
87
+ input: options.messages,
88
+ modelParameters: {
89
+ temperature: options.temperature,
90
+ maxTokens: options.maxTokens,
91
+ },
92
+ });
93
+ return generation.id;
94
+ }
95
+ onLLMResponse(_options) {
96
+ if (!this.client)
97
+ return;
98
+ }
99
+ onToolCall(runId, call) {
100
+ const trace = this.activeTraces.get(runId);
101
+ if (!trace)
102
+ return;
103
+ trace.span({
104
+ name: `tool:${call.name}`,
105
+ input: call.arguments,
106
+ metadata: { toolCallId: call.id },
107
+ });
108
+ }
109
+ onToolResult(_runId, result) {
110
+ const spanKey = `tool:${result.callId}`;
111
+ const span = this.activeSpans.get(spanKey);
112
+ if (span) {
113
+ span.end({ output: result.result });
114
+ this.activeSpans.delete(spanKey);
115
+ }
116
+ }
117
+ async flush() {
118
+ await this.client?.flush();
119
+ }
120
+ async shutdown() {
121
+ await this.client?.shutdown();
122
+ }
123
+ }
124
+ export function createLangfuseExporter(config) {
125
+ return new LangfuseExporter(config);
126
+ }
127
+ //# sourceMappingURL=langfuse.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"langfuse.js","sourceRoot":"","sources":["../../src/observability/langfuse.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,29 @@
1
+ import type { Span as CogitatorSpan, RunResult } from '@cogitator-ai/types';
2
+ export interface OTLPExporterConfig {
3
+ endpoint: string;
4
+ headers?: Record<string, string>;
5
+ serviceName?: string;
6
+ serviceVersion?: string;
7
+ enabled?: boolean;
8
+ }
9
+ export declare class OTLPExporter {
10
+ private config;
11
+ private pendingSpans;
12
+ private flushTimer;
13
+ private traceIds;
14
+ constructor(config: OTLPExporterConfig);
15
+ start(): void;
16
+ stop(): void;
17
+ onRunStart(options: {
18
+ runId: string;
19
+ agentId: string;
20
+ agentName: string;
21
+ input: string;
22
+ }): void;
23
+ onRunComplete(result: RunResult): void;
24
+ exportSpan(runId: string, span: CogitatorSpan): void;
25
+ flush(): Promise<void>;
26
+ private generateTraceId;
27
+ }
28
+ export declare function createOTLPExporter(config: OTLPExporterConfig): OTLPExporter;
29
+ //# sourceMappingURL=opentelemetry.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"opentelemetry.d.ts","sourceRoot":"","sources":["../../src/observability/opentelemetry.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,IAAI,IAAI,aAAa,EAAE,SAAS,EAAE,MAAM,qBAAqB,CAAC;AAE5E,MAAM,WAAW,kBAAkB;IACjC,QAAQ,EAAE,MAAM,CAAC;IACjB,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACjC,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,OAAO,CAAC,EAAE,OAAO,CAAC;CACnB;AAsCD,qBAAa,YAAY;IACvB,OAAO,CAAC,MAAM,CAAqB;IACnC,OAAO,CAAC,YAAY,CAAkB;IACtC,OAAO,CAAC,UAAU,CAA+C;IACjE,OAAO,CAAC,QAAQ,CAA6B;gBAEjC,MAAM,EAAE,kBAAkB;IAQtC,KAAK,IAAI,IAAI;IAQb,IAAI,IAAI,IAAI;IAOZ,UAAU,CAAC,OAAO,EAAE;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,OAAO,EAAE,MAAM,CAAC;QAAC,SAAS,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,CAAA;KAAE,GAAG,IAAI;IAO/F,aAAa,CAAC,MAAM,EAAE,SAAS,GAAG,IAAI;IAItC,UAAU,CAAC,KAAK,EAAE,MAAM,EAAE,IAAI,EAAE,aAAa,GAAG,IAAI;IA4C9C,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC;IAwC5B,OAAO,CAAC,eAAe;CAOxB;AAED,wBAAgB,kBAAkB,CAAC,MAAM,EAAE,kBAAkB,GAAG,YAAY,CAE3E"}
@@ -0,0 +1,131 @@
1
+ const SPAN_KIND = {
2
+ INTERNAL: 1,
3
+ SERVER: 2,
4
+ CLIENT: 3,
5
+ PRODUCER: 4,
6
+ CONSUMER: 5,
7
+ };
8
+ const STATUS_CODE = {
9
+ UNSET: 0,
10
+ OK: 1,
11
+ ERROR: 2,
12
+ };
13
+ export class OTLPExporter {
14
+ config;
15
+ pendingSpans = [];
16
+ flushTimer = null;
17
+ traceIds = new Map();
18
+ constructor(config) {
19
+ this.config = {
20
+ serviceName: 'cogitator',
21
+ serviceVersion: '1.0.0',
22
+ ...config,
23
+ };
24
+ }
25
+ start() {
26
+ if (!this.config.enabled)
27
+ return;
28
+ this.flushTimer = setInterval(() => {
29
+ void this.flush();
30
+ }, 5000);
31
+ }
32
+ stop() {
33
+ if (this.flushTimer) {
34
+ clearInterval(this.flushTimer);
35
+ this.flushTimer = null;
36
+ }
37
+ }
38
+ onRunStart(options) {
39
+ if (!this.config.enabled)
40
+ return;
41
+ const traceId = this.generateTraceId();
42
+ this.traceIds.set(options.runId, traceId);
43
+ }
44
+ onRunComplete(result) {
45
+ this.traceIds.delete(result.runId);
46
+ }
47
+ exportSpan(runId, span) {
48
+ if (!this.config.enabled)
49
+ return;
50
+ const traceId = this.traceIds.get(runId) ?? span.traceId;
51
+ const kind = {
52
+ internal: SPAN_KIND.INTERNAL,
53
+ client: SPAN_KIND.CLIENT,
54
+ server: SPAN_KIND.SERVER,
55
+ producer: SPAN_KIND.PRODUCER,
56
+ consumer: SPAN_KIND.CONSUMER,
57
+ }[span.kind];
58
+ const status = {
59
+ ok: STATUS_CODE.OK,
60
+ error: STATUS_CODE.ERROR,
61
+ unset: STATUS_CODE.UNSET,
62
+ }[span.status];
63
+ const attributes = Object.entries(span.attributes).map(([key, value]) => ({
64
+ key,
65
+ value: typeof value === 'number' ? { intValue: String(value) } : { stringValue: String(value) },
66
+ }));
67
+ const otlpSpan = {
68
+ traceId,
69
+ spanId: span.id,
70
+ parentSpanId: span.parentId,
71
+ name: span.name,
72
+ kind,
73
+ startTimeUnixNano: String(span.startTime * 1_000_000),
74
+ endTimeUnixNano: String(span.endTime * 1_000_000),
75
+ attributes,
76
+ status: { code: status },
77
+ };
78
+ this.pendingSpans.push(otlpSpan);
79
+ if (this.pendingSpans.length >= 100) {
80
+ void this.flush();
81
+ }
82
+ }
83
+ async flush() {
84
+ if (this.pendingSpans.length === 0)
85
+ return;
86
+ const spans = this.pendingSpans.splice(0, this.pendingSpans.length);
87
+ const resourceSpans = {
88
+ resource: {
89
+ attributes: [
90
+ { key: 'service.name', value: { stringValue: this.config.serviceName } },
91
+ { key: 'service.version', value: { stringValue: this.config.serviceVersion } },
92
+ ],
93
+ },
94
+ scopeSpans: [
95
+ {
96
+ scope: { name: 'cogitator', version: '1.0.0' },
97
+ spans,
98
+ },
99
+ ],
100
+ };
101
+ try {
102
+ const response = await fetch(this.config.endpoint, {
103
+ method: 'POST',
104
+ headers: {
105
+ 'Content-Type': 'application/json',
106
+ ...this.config.headers,
107
+ },
108
+ body: JSON.stringify({ resourceSpans: [resourceSpans] }),
109
+ });
110
+ if (!response.ok) {
111
+ console.error(`OTLP export failed: ${response.status} ${response.statusText}`);
112
+ this.pendingSpans.push(...spans);
113
+ }
114
+ }
115
+ catch (err) {
116
+ console.error('OTLP export error:', err);
117
+ this.pendingSpans.push(...spans);
118
+ }
119
+ }
120
+ generateTraceId() {
121
+ const bytes = new Uint8Array(16);
122
+ crypto.getRandomValues(bytes);
123
+ return Array.from(bytes)
124
+ .map((b) => b.toString(16).padStart(2, '0'))
125
+ .join('');
126
+ }
127
+ }
128
+ export function createOTLPExporter(config) {
129
+ return new OTLPExporter(config);
130
+ }
131
+ //# sourceMappingURL=opentelemetry.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"opentelemetry.js","sourceRoot":"","sources":["../../src/observability/opentelemetry.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,24 @@
1
+ export interface EmailResult {
2
+ success: boolean;
3
+ messageId?: string;
4
+ provider: string;
5
+ to: string[];
6
+ }
7
+ export declare const sendEmail: import("@cogitator-ai/types").Tool<{
8
+ body: string;
9
+ to: string | string[];
10
+ subject: string;
11
+ provider?: "resend" | "smtp" | undefined;
12
+ html?: boolean | undefined;
13
+ from?: string | undefined;
14
+ replyTo?: string | undefined;
15
+ cc?: string | string[] | undefined;
16
+ bcc?: string | string[] | undefined;
17
+ }, EmailResult | {
18
+ error: string;
19
+ provider?: undefined;
20
+ } | {
21
+ error: string;
22
+ provider: "resend" | "smtp";
23
+ }>;
24
+ //# sourceMappingURL=email.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"email.d.ts","sourceRoot":"","sources":["../../src/tools/email.ts"],"names":[],"mappings":"AA0BA,MAAM,WAAW,WAAW;IAC1B,OAAO,EAAE,OAAO,CAAC;IACjB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,QAAQ,EAAE,MAAM,CAAC;IACjB,EAAE,EAAE,MAAM,EAAE,CAAC;CACd;AAqID,eAAO,MAAM,SAAS;;;;;;;;;;;;;;;;EAyEpB,CAAC"}