@cogitator-ai/core 0.8.0 → 0.10.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 (67) hide show
  1. package/dist/index.d.ts +2 -0
  2. package/dist/index.d.ts.map +1 -1
  3. package/dist/index.js +1 -0
  4. package/dist/index.js.map +1 -1
  5. package/dist/llm/anthropic.d.ts +1 -0
  6. package/dist/llm/anthropic.d.ts.map +1 -1
  7. package/dist/llm/anthropic.js +83 -22
  8. package/dist/llm/anthropic.js.map +1 -1
  9. package/dist/llm/azure.d.ts +1 -0
  10. package/dist/llm/azure.d.ts.map +1 -1
  11. package/dist/llm/azure.js +109 -46
  12. package/dist/llm/azure.js.map +1 -1
  13. package/dist/llm/bedrock.d.ts +1 -0
  14. package/dist/llm/bedrock.d.ts.map +1 -1
  15. package/dist/llm/bedrock.js +47 -4
  16. package/dist/llm/bedrock.js.map +1 -1
  17. package/dist/llm/debug.d.ts +35 -0
  18. package/dist/llm/debug.d.ts.map +1 -0
  19. package/dist/llm/debug.js +175 -0
  20. package/dist/llm/debug.js.map +1 -0
  21. package/dist/llm/errors.d.ts +28 -0
  22. package/dist/llm/errors.d.ts.map +1 -0
  23. package/dist/llm/errors.js +126 -0
  24. package/dist/llm/errors.js.map +1 -0
  25. package/dist/llm/google.d.ts.map +1 -1
  26. package/dist/llm/google.js +43 -22
  27. package/dist/llm/google.js.map +1 -1
  28. package/dist/llm/index.d.ts +3 -0
  29. package/dist/llm/index.d.ts.map +1 -1
  30. package/dist/llm/index.js +3 -0
  31. package/dist/llm/index.js.map +1 -1
  32. package/dist/llm/ollama.d.ts.map +1 -1
  33. package/dist/llm/ollama.js +64 -39
  34. package/dist/llm/ollama.js.map +1 -1
  35. package/dist/llm/openai.d.ts +1 -0
  36. package/dist/llm/openai.d.ts.map +1 -1
  37. package/dist/llm/openai.js +108 -45
  38. package/dist/llm/openai.js.map +1 -1
  39. package/dist/llm/plugin.d.ts +53 -0
  40. package/dist/llm/plugin.d.ts.map +1 -0
  41. package/dist/llm/plugin.js +71 -0
  42. package/dist/llm/plugin.js.map +1 -0
  43. package/dist/observability/index.d.ts +3 -0
  44. package/dist/observability/index.d.ts.map +1 -0
  45. package/dist/observability/index.js +3 -0
  46. package/dist/observability/index.js.map +1 -0
  47. package/dist/observability/langfuse.d.ts +48 -0
  48. package/dist/observability/langfuse.d.ts.map +1 -0
  49. package/dist/observability/langfuse.js +127 -0
  50. package/dist/observability/langfuse.js.map +1 -0
  51. package/dist/observability/opentelemetry.d.ts +29 -0
  52. package/dist/observability/opentelemetry.d.ts.map +1 -0
  53. package/dist/observability/opentelemetry.js +131 -0
  54. package/dist/observability/opentelemetry.js.map +1 -0
  55. package/dist/tools/github.d.ts.map +1 -1
  56. package/dist/tools/github.js +5 -6
  57. package/dist/tools/github.js.map +1 -1
  58. package/dist/tools/sql-query.d.ts.map +1 -1
  59. package/dist/tools/sql-query.js +2 -6
  60. package/dist/tools/sql-query.js.map +1 -1
  61. package/dist/tools/vector-search.d.ts.map +1 -1
  62. package/dist/tools/vector-search.js +2 -8
  63. package/dist/tools/vector-search.js.map +1 -1
  64. package/dist/tools/web-scrape.d.ts.map +1 -1
  65. package/dist/tools/web-scrape.js +1 -4
  66. package/dist/tools/web-scrape.js.map +1 -1
  67. package/package.json +5 -5
@@ -1 +1 @@
1
- {"version":3,"file":"openai.js","sourceRoot":"","sources":["../../src/llm/openai.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"openai.js","sourceRoot":"","sources":["../../src/llm/openai.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,53 @@
1
+ /**
2
+ * LLM Backend Plugin System
3
+ *
4
+ * Allows registration and discovery of custom LLM backends.
5
+ */
6
+ import type { LLMBackend } from '@cogitator-ai/types';
7
+ export interface LLMBackendFactory<TConfig = unknown> {
8
+ (config: TConfig): LLMBackend;
9
+ }
10
+ export interface LLMPluginMetadata {
11
+ name: string;
12
+ version?: string;
13
+ description?: string;
14
+ author?: string;
15
+ }
16
+ export interface LLMPlugin<TConfig = unknown> {
17
+ metadata: LLMPluginMetadata;
18
+ provider: string;
19
+ factory: LLMBackendFactory<TConfig>;
20
+ validateConfig?: (config: unknown) => config is TConfig;
21
+ }
22
+ type RegisteredPlugin = {
23
+ metadata: LLMPluginMetadata;
24
+ factory: LLMBackendFactory;
25
+ validateConfig?: (config: unknown) => boolean;
26
+ };
27
+ declare class LLMPluginRegistry {
28
+ private plugins;
29
+ register<TConfig>(plugin: LLMPlugin<TConfig>): void;
30
+ unregister(provider: string): boolean;
31
+ has(provider: string): boolean;
32
+ get(provider: string): RegisteredPlugin | undefined;
33
+ create(provider: string, config: unknown): LLMBackend;
34
+ list(): Array<{
35
+ provider: string;
36
+ metadata: LLMPluginMetadata;
37
+ }>;
38
+ clear(): void;
39
+ }
40
+ export declare const llmPluginRegistry: LLMPluginRegistry;
41
+ export declare function registerLLMBackend<TConfig>(plugin: LLMPlugin<TConfig>): void;
42
+ export declare function unregisterLLMBackend(provider: string): boolean;
43
+ export declare function createLLMBackendFromPlugin(provider: string, config: unknown): LLMBackend;
44
+ export declare function listLLMPlugins(): Array<{
45
+ provider: string;
46
+ metadata: LLMPluginMetadata;
47
+ }>;
48
+ export declare function hasLLMPlugin(provider: string): boolean;
49
+ export declare function defineBackend<TConfig>(options: Omit<LLMPlugin<TConfig>, 'factory'> & {
50
+ create: LLMBackendFactory<TConfig>;
51
+ }): LLMPlugin<TConfig>;
52
+ export {};
53
+ //# sourceMappingURL=plugin.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"plugin.d.ts","sourceRoot":"","sources":["../../src/llm/plugin.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,qBAAqB,CAAC;AAEtD,MAAM,WAAW,iBAAiB,CAAC,OAAO,GAAG,OAAO;IAClD,CAAC,MAAM,EAAE,OAAO,GAAG,UAAU,CAAC;CAC/B;AAED,MAAM,WAAW,iBAAiB;IAChC,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB;AAED,MAAM,WAAW,SAAS,CAAC,OAAO,GAAG,OAAO;IAC1C,QAAQ,EAAE,iBAAiB,CAAC;IAC5B,QAAQ,EAAE,MAAM,CAAC;IACjB,OAAO,EAAE,iBAAiB,CAAC,OAAO,CAAC,CAAC;IACpC,cAAc,CAAC,EAAE,CAAC,MAAM,EAAE,OAAO,KAAK,MAAM,IAAI,OAAO,CAAC;CACzD;AAED,KAAK,gBAAgB,GAAG;IACtB,QAAQ,EAAE,iBAAiB,CAAC;IAC5B,OAAO,EAAE,iBAAiB,CAAC;IAC3B,cAAc,CAAC,EAAE,CAAC,MAAM,EAAE,OAAO,KAAK,OAAO,CAAC;CAC/C,CAAC;AAEF,cAAM,iBAAiB;IACrB,OAAO,CAAC,OAAO,CAAuC;IAEtD,QAAQ,CAAC,OAAO,EAAE,MAAM,EAAE,SAAS,CAAC,OAAO,CAAC,GAAG,IAAI;IAYnD,UAAU,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO;IAIrC,GAAG,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO;IAI9B,GAAG,CAAC,QAAQ,EAAE,MAAM,GAAG,gBAAgB,GAAG,SAAS;IAInD,MAAM,CAAC,QAAQ,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO,GAAG,UAAU;IAarD,IAAI,IAAI,KAAK,CAAC;QAAE,QAAQ,EAAE,MAAM,CAAC;QAAC,QAAQ,EAAE,iBAAiB,CAAA;KAAE,CAAC;IAOhE,KAAK,IAAI,IAAI;CAGd;AAED,eAAO,MAAM,iBAAiB,mBAA0B,CAAC;AAEzD,wBAAgB,kBAAkB,CAAC,OAAO,EAAE,MAAM,EAAE,SAAS,CAAC,OAAO,CAAC,GAAG,IAAI,CAE5E;AAED,wBAAgB,oBAAoB,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAE9D;AAED,wBAAgB,0BAA0B,CAAC,QAAQ,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO,GAAG,UAAU,CAExF;AAED,wBAAgB,cAAc,IAAI,KAAK,CAAC;IAAE,QAAQ,EAAE,MAAM,CAAC;IAAC,QAAQ,EAAE,iBAAiB,CAAA;CAAE,CAAC,CAEzF;AAED,wBAAgB,YAAY,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAEtD;AAED,wBAAgB,aAAa,CAAC,OAAO,EACnC,OAAO,EAAE,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,EAAE,SAAS,CAAC,GAAG;IAC7C,MAAM,EAAE,iBAAiB,CAAC,OAAO,CAAC,CAAC;CACpC,GACA,SAAS,CAAC,OAAO,CAAC,CAOpB"}
@@ -0,0 +1,71 @@
1
+ /**
2
+ * LLM Backend Plugin System
3
+ *
4
+ * Allows registration and discovery of custom LLM backends.
5
+ */
6
+ class LLMPluginRegistry {
7
+ plugins = new Map();
8
+ register(plugin) {
9
+ if (this.plugins.has(plugin.provider)) {
10
+ throw new Error(`Plugin for provider '${plugin.provider}' is already registered`);
11
+ }
12
+ this.plugins.set(plugin.provider, {
13
+ metadata: plugin.metadata,
14
+ factory: plugin.factory,
15
+ validateConfig: plugin.validateConfig,
16
+ });
17
+ }
18
+ unregister(provider) {
19
+ return this.plugins.delete(provider);
20
+ }
21
+ has(provider) {
22
+ return this.plugins.has(provider);
23
+ }
24
+ get(provider) {
25
+ return this.plugins.get(provider);
26
+ }
27
+ create(provider, config) {
28
+ const plugin = this.plugins.get(provider);
29
+ if (!plugin) {
30
+ throw new Error(`No plugin registered for provider '${provider}'`);
31
+ }
32
+ if (plugin.validateConfig && !plugin.validateConfig(config)) {
33
+ throw new Error(`Invalid configuration for provider '${provider}'`);
34
+ }
35
+ return plugin.factory(config);
36
+ }
37
+ list() {
38
+ return Array.from(this.plugins.entries()).map(([provider, plugin]) => ({
39
+ provider,
40
+ metadata: plugin.metadata,
41
+ }));
42
+ }
43
+ clear() {
44
+ this.plugins.clear();
45
+ }
46
+ }
47
+ export const llmPluginRegistry = new LLMPluginRegistry();
48
+ export function registerLLMBackend(plugin) {
49
+ llmPluginRegistry.register(plugin);
50
+ }
51
+ export function unregisterLLMBackend(provider) {
52
+ return llmPluginRegistry.unregister(provider);
53
+ }
54
+ export function createLLMBackendFromPlugin(provider, config) {
55
+ return llmPluginRegistry.create(provider, config);
56
+ }
57
+ export function listLLMPlugins() {
58
+ return llmPluginRegistry.list();
59
+ }
60
+ export function hasLLMPlugin(provider) {
61
+ return llmPluginRegistry.has(provider);
62
+ }
63
+ export function defineBackend(options) {
64
+ return {
65
+ metadata: options.metadata,
66
+ provider: options.provider,
67
+ factory: options.create,
68
+ validateConfig: options.validateConfig,
69
+ };
70
+ }
71
+ //# sourceMappingURL=plugin.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"plugin.js","sourceRoot":"","sources":["../../src/llm/plugin.ts"],"names":[],"mappings":"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"}
@@ -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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"}
@@ -1 +1 @@
1
- {"version":3,"file":"github.d.ts","sourceRoot":"","sources":["../../src/tools/github.ts"],"names":[],"mappings":"AAwXA,eAAO,MAAM,SAAS;;;;;;;;;;;;;;;;;WAoBpB,CAAC"}
1
+ {"version":3,"file":"github.d.ts","sourceRoot":"","sources":["../../src/tools/github.ts"],"names":[],"mappings":"AAoYA,eAAO,MAAM,SAAS;;;;;;;;;;;;;;;;;WAoBpB,CAAC"}
@@ -22,10 +22,7 @@ const githubParams = z.object({
22
22
  number: z.number().int().optional().describe('Issue or PR number (for get/update operations)'),
23
23
  title: z.string().optional().describe('Title for new issue/PR'),
24
24
  body: z.string().optional().describe('Body/description for new issue/PR'),
25
- state: z
26
- .enum(['open', 'closed', 'all'])
27
- .optional()
28
- .describe('Filter by state (default: open)'),
25
+ state: z.enum(['open', 'closed', 'all']).optional().describe('Filter by state (default: open)'),
29
26
  labels: z.array(z.string()).optional().describe('Labels for issue'),
30
27
  assignees: z.array(z.string()).optional().describe('Assignees for issue'),
31
28
  path: z.string().optional().describe('File path (for get_file)'),
@@ -54,7 +51,7 @@ async function githubFetch(endpoint, token, options = {}) {
54
51
  return response.json();
55
52
  }
56
53
  async function executeAction(action, params, token) {
57
- const { owner, repo, number, title, body, state, labels, assignees, path, ref, base, head, query, perPage = 30, page = 1 } = params;
54
+ const { owner, repo, number, title, body, state, labels, assignees, path, ref, base, head, query, perPage = 30, page = 1, } = params;
58
55
  const queryParams = new URLSearchParams();
59
56
  if (state && state !== 'all')
60
57
  queryParams.set('state', state);
@@ -215,7 +212,9 @@ async function executeAction(action, params, token) {
215
212
  throw new Error('File path required');
216
213
  const refParam = ref ? `?ref=${ref}` : '';
217
214
  const data = (await githubFetch(`/repos/${owner}/${repo}/contents/${path}${refParam}`, token));
218
- const content = data.encoding === 'base64' ? Buffer.from(data.content, 'base64').toString('utf-8') : data.content;
215
+ const content = data.encoding === 'base64'
216
+ ? Buffer.from(data.content, 'base64').toString('utf-8')
217
+ : data.content;
219
218
  return {
220
219
  name: data.name,
221
220
  path: data.path,