@cogitator-ai/core 0.9.0 → 0.11.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/agent.d.ts +52 -2
- package/dist/agent.d.ts.map +1 -1
- package/dist/agent.js +52 -2
- package/dist/agent.js.map +1 -1
- package/dist/cogitator/index.d.ts +6 -0
- package/dist/cogitator/index.d.ts.map +1 -0
- package/dist/cogitator/index.js +6 -0
- package/dist/cogitator/index.js.map +1 -0
- package/dist/cogitator/initializers.d.ts +54 -0
- package/dist/cogitator/initializers.d.ts.map +1 -0
- package/dist/cogitator/initializers.js +126 -0
- package/dist/cogitator/initializers.js.map +1 -0
- package/dist/cogitator/message-builder.d.ts +10 -0
- package/dist/cogitator/message-builder.d.ts.map +1 -0
- package/dist/cogitator/message-builder.js +72 -0
- package/dist/cogitator/message-builder.js.map +1 -0
- package/dist/cogitator/span-factory.d.ts +4 -0
- package/dist/cogitator/span-factory.d.ts.map +1 -0
- package/dist/cogitator/span-factory.js +27 -0
- package/dist/cogitator/span-factory.js.map +1 -0
- package/dist/cogitator/streaming.d.ts +16 -0
- package/dist/cogitator/streaming.d.ts.map +1 -0
- package/dist/cogitator/streaming.js +52 -0
- package/dist/cogitator/streaming.js.map +1 -0
- package/dist/cogitator/tool-executor.d.ts +7 -0
- package/dist/cogitator/tool-executor.d.ts.map +1 -0
- package/dist/cogitator/tool-executor.js +146 -0
- package/dist/cogitator/tool-executor.js.map +1 -0
- package/dist/cogitator.d.ts +142 -82
- package/dist/cogitator.d.ts.map +1 -1
- package/dist/cogitator.js +205 -513
- package/dist/cogitator.js.map +1 -1
- package/dist/llm/anthropic.d.ts +1 -0
- package/dist/llm/anthropic.d.ts.map +1 -1
- package/dist/llm/anthropic.js +83 -22
- package/dist/llm/anthropic.js.map +1 -1
- package/dist/llm/azure.d.ts +1 -0
- package/dist/llm/azure.d.ts.map +1 -1
- package/dist/llm/azure.js +109 -46
- package/dist/llm/azure.js.map +1 -1
- package/dist/llm/bedrock.d.ts +1 -0
- package/dist/llm/bedrock.d.ts.map +1 -1
- package/dist/llm/bedrock.js +47 -4
- package/dist/llm/bedrock.js.map +1 -1
- package/dist/llm/debug.d.ts +35 -0
- package/dist/llm/debug.d.ts.map +1 -0
- package/dist/llm/debug.js +175 -0
- package/dist/llm/debug.js.map +1 -0
- package/dist/llm/errors.d.ts +28 -0
- package/dist/llm/errors.d.ts.map +1 -0
- package/dist/llm/errors.js +126 -0
- package/dist/llm/errors.js.map +1 -0
- package/dist/llm/google.d.ts.map +1 -1
- package/dist/llm/google.js +43 -22
- package/dist/llm/google.js.map +1 -1
- package/dist/llm/index.d.ts +3 -0
- package/dist/llm/index.d.ts.map +1 -1
- package/dist/llm/index.js +3 -0
- package/dist/llm/index.js.map +1 -1
- package/dist/llm/ollama.d.ts.map +1 -1
- package/dist/llm/ollama.js +64 -39
- package/dist/llm/ollama.js.map +1 -1
- package/dist/llm/openai.d.ts +1 -0
- package/dist/llm/openai.d.ts.map +1 -1
- package/dist/llm/openai.js +108 -45
- package/dist/llm/openai.js.map +1 -1
- package/dist/llm/plugin.d.ts +53 -0
- package/dist/llm/plugin.d.ts.map +1 -0
- package/dist/llm/plugin.js +71 -0
- package/dist/llm/plugin.js.map +1 -0
- package/dist/registry.d.ts +64 -2
- package/dist/registry.d.ts.map +1 -1
- package/dist/registry.js +64 -2
- package/dist/registry.js.map +1 -1
- package/dist/tool.d.ts +48 -5
- package/dist/tool.d.ts.map +1 -1
- package/dist/tool.js +48 -5
- package/dist/tool.js.map +1 -1
- package/package.json +5 -5
package/dist/agent.d.ts
CHANGED
|
@@ -1,15 +1,65 @@
|
|
|
1
|
+
import type { Agent as IAgent, AgentConfig, Tool } from '@cogitator-ai/types';
|
|
1
2
|
/**
|
|
2
|
-
*
|
|
3
|
+
* AI agent that can execute tasks using LLM and tools.
|
|
4
|
+
*
|
|
5
|
+
* @example
|
|
6
|
+
* ```ts
|
|
7
|
+
* import { Agent, tool } from '@cogitator-ai/core';
|
|
8
|
+
* import { z } from 'zod';
|
|
9
|
+
*
|
|
10
|
+
* const searchTool = tool({
|
|
11
|
+
* name: 'search',
|
|
12
|
+
* description: 'Search the web',
|
|
13
|
+
* parameters: z.object({ query: z.string() }),
|
|
14
|
+
* execute: async ({ query }) => ({ results: [] }),
|
|
15
|
+
* });
|
|
16
|
+
*
|
|
17
|
+
* const agent = new Agent({
|
|
18
|
+
* name: 'researcher',
|
|
19
|
+
* model: 'anthropic/claude-sonnet-4-20250514',
|
|
20
|
+
* instructions: 'You are a research assistant.',
|
|
21
|
+
* tools: [searchTool],
|
|
22
|
+
* });
|
|
23
|
+
* ```
|
|
3
24
|
*/
|
|
4
|
-
import type { Agent as IAgent, AgentConfig, Tool } from '@cogitator-ai/types';
|
|
5
25
|
export declare class Agent implements IAgent {
|
|
26
|
+
/** Unique identifier for this agent instance */
|
|
6
27
|
readonly id: string;
|
|
28
|
+
/** Human-readable name of the agent */
|
|
7
29
|
readonly name: string;
|
|
30
|
+
/** Full configuration including model, instructions, tools, and parameters */
|
|
8
31
|
readonly config: AgentConfig;
|
|
32
|
+
/**
|
|
33
|
+
* Create a new Agent instance.
|
|
34
|
+
*
|
|
35
|
+
* @param config - Agent configuration
|
|
36
|
+
* @param config.name - Human-readable name for the agent
|
|
37
|
+
* @param config.model - LLM model identifier (e.g., 'anthropic/claude-sonnet-4-20250514')
|
|
38
|
+
* @param config.instructions - System prompt defining agent behavior
|
|
39
|
+
* @param config.tools - Array of tools the agent can use
|
|
40
|
+
* @param config.temperature - Sampling temperature (default: 0.7)
|
|
41
|
+
* @param config.maxIterations - Maximum tool call iterations (default: 10)
|
|
42
|
+
* @param config.timeout - Run timeout in milliseconds (default: 120000)
|
|
43
|
+
*/
|
|
9
44
|
constructor(config: AgentConfig);
|
|
45
|
+
/** LLM model identifier */
|
|
10
46
|
get model(): string;
|
|
47
|
+
/** System prompt defining agent behavior */
|
|
11
48
|
get instructions(): string;
|
|
49
|
+
/** Tools available to this agent */
|
|
12
50
|
get tools(): Tool[];
|
|
51
|
+
/**
|
|
52
|
+
* Create a copy of this agent with configuration overrides.
|
|
53
|
+
*
|
|
54
|
+
* @param overrides - Configuration values to override
|
|
55
|
+
* @returns New Agent instance with merged configuration
|
|
56
|
+
*
|
|
57
|
+
* @example
|
|
58
|
+
* ```ts
|
|
59
|
+
* const creativeAgent = agent.clone({ temperature: 0.9 });
|
|
60
|
+
* const fastAgent = agent.clone({ model: 'anthropic/claude-haiku' });
|
|
61
|
+
* ```
|
|
62
|
+
*/
|
|
13
63
|
clone(overrides: Partial<AgentConfig>): Agent;
|
|
14
64
|
}
|
|
15
65
|
//# sourceMappingURL=agent.d.ts.map
|
package/dist/agent.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"agent.d.ts","sourceRoot":"","sources":["../src/agent.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"agent.d.ts","sourceRoot":"","sources":["../src/agent.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,KAAK,IAAI,MAAM,EAAE,WAAW,EAAE,IAAI,EAAE,MAAM,qBAAqB,CAAC;AAG9E;;;;;;;;;;;;;;;;;;;;;;GAsBG;AACH,qBAAa,KAAM,YAAW,MAAM;IAClC,gDAAgD;IAChD,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAC;IACpB,uCAAuC;IACvC,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,8EAA8E;IAC9E,QAAQ,CAAC,MAAM,EAAE,WAAW,CAAC;IAE7B;;;;;;;;;;;OAWG;gBACS,MAAM,EAAE,WAAW;IAW/B,2BAA2B;IAC3B,IAAI,KAAK,IAAI,MAAM,CAElB;IAED,4CAA4C;IAC5C,IAAI,YAAY,IAAI,MAAM,CAEzB;IAED,oCAAoC;IACpC,IAAI,KAAK,IAAI,IAAI,EAAE,CAElB;IAED;;;;;;;;;;;OAWG;IACH,KAAK,CAAC,SAAS,EAAE,OAAO,CAAC,WAAW,CAAC,GAAG,KAAK;CAM9C"}
|
package/dist/agent.js
CHANGED
|
@@ -1,11 +1,46 @@
|
|
|
1
|
+
import { nanoid } from 'nanoid';
|
|
1
2
|
/**
|
|
2
|
-
*
|
|
3
|
+
* AI agent that can execute tasks using LLM and tools.
|
|
4
|
+
*
|
|
5
|
+
* @example
|
|
6
|
+
* ```ts
|
|
7
|
+
* import { Agent, tool } from '@cogitator-ai/core';
|
|
8
|
+
* import { z } from 'zod';
|
|
9
|
+
*
|
|
10
|
+
* const searchTool = tool({
|
|
11
|
+
* name: 'search',
|
|
12
|
+
* description: 'Search the web',
|
|
13
|
+
* parameters: z.object({ query: z.string() }),
|
|
14
|
+
* execute: async ({ query }) => ({ results: [] }),
|
|
15
|
+
* });
|
|
16
|
+
*
|
|
17
|
+
* const agent = new Agent({
|
|
18
|
+
* name: 'researcher',
|
|
19
|
+
* model: 'anthropic/claude-sonnet-4-20250514',
|
|
20
|
+
* instructions: 'You are a research assistant.',
|
|
21
|
+
* tools: [searchTool],
|
|
22
|
+
* });
|
|
23
|
+
* ```
|
|
3
24
|
*/
|
|
4
|
-
import { nanoid } from 'nanoid';
|
|
5
25
|
export class Agent {
|
|
26
|
+
/** Unique identifier for this agent instance */
|
|
6
27
|
id;
|
|
28
|
+
/** Human-readable name of the agent */
|
|
7
29
|
name;
|
|
30
|
+
/** Full configuration including model, instructions, tools, and parameters */
|
|
8
31
|
config;
|
|
32
|
+
/**
|
|
33
|
+
* Create a new Agent instance.
|
|
34
|
+
*
|
|
35
|
+
* @param config - Agent configuration
|
|
36
|
+
* @param config.name - Human-readable name for the agent
|
|
37
|
+
* @param config.model - LLM model identifier (e.g., 'anthropic/claude-sonnet-4-20250514')
|
|
38
|
+
* @param config.instructions - System prompt defining agent behavior
|
|
39
|
+
* @param config.tools - Array of tools the agent can use
|
|
40
|
+
* @param config.temperature - Sampling temperature (default: 0.7)
|
|
41
|
+
* @param config.maxIterations - Maximum tool call iterations (default: 10)
|
|
42
|
+
* @param config.timeout - Run timeout in milliseconds (default: 120000)
|
|
43
|
+
*/
|
|
9
44
|
constructor(config) {
|
|
10
45
|
this.id = config.id ?? `agent_${nanoid(12)}`;
|
|
11
46
|
this.name = config.name;
|
|
@@ -16,15 +51,30 @@ export class Agent {
|
|
|
16
51
|
...config,
|
|
17
52
|
};
|
|
18
53
|
}
|
|
54
|
+
/** LLM model identifier */
|
|
19
55
|
get model() {
|
|
20
56
|
return this.config.model;
|
|
21
57
|
}
|
|
58
|
+
/** System prompt defining agent behavior */
|
|
22
59
|
get instructions() {
|
|
23
60
|
return this.config.instructions;
|
|
24
61
|
}
|
|
62
|
+
/** Tools available to this agent */
|
|
25
63
|
get tools() {
|
|
26
64
|
return this.config.tools ?? [];
|
|
27
65
|
}
|
|
66
|
+
/**
|
|
67
|
+
* Create a copy of this agent with configuration overrides.
|
|
68
|
+
*
|
|
69
|
+
* @param overrides - Configuration values to override
|
|
70
|
+
* @returns New Agent instance with merged configuration
|
|
71
|
+
*
|
|
72
|
+
* @example
|
|
73
|
+
* ```ts
|
|
74
|
+
* const creativeAgent = agent.clone({ temperature: 0.9 });
|
|
75
|
+
* const fastAgent = agent.clone({ model: 'anthropic/claude-haiku' });
|
|
76
|
+
* ```
|
|
77
|
+
*/
|
|
28
78
|
clone(overrides) {
|
|
29
79
|
return new Agent({
|
|
30
80
|
...this.config,
|
package/dist/agent.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"agent.js","sourceRoot":"","sources":["../src/agent.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"agent.js","sourceRoot":"","sources":["../src/agent.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAC;AAEhC;;;;;;;;;;;;;;;;;;;;;;GAsBG;AACH,MAAM,OAAO,KAAK;IAChB,gDAAgD;IACvC,EAAE,CAAS;IACpB,uCAAuC;IAC9B,IAAI,CAAS;IACtB,8EAA8E;IACrE,MAAM,CAAc;IAE7B;;;;;;;;;;;OAWG;IACH,YAAY,MAAmB;QAC7B,IAAI,CAAC,EAAE,GAAG,MAAM,CAAC,EAAE,IAAI,SAAS,MAAM,CAAC,EAAE,CAAC,EAAE,CAAC;QAC7C,IAAI,CAAC,IAAI,GAAG,MAAM,CAAC,IAAI,CAAC;QACxB,IAAI,CAAC,MAAM,GAAG;YACZ,WAAW,EAAE,GAAG;YAChB,aAAa,EAAE,EAAE;YACjB,OAAO,EAAE,OAAO;YAChB,GAAG,MAAM;SACV,CAAC;IACJ,CAAC;IAED,2BAA2B;IAC3B,IAAI,KAAK;QACP,OAAO,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC;IAC3B,CAAC;IAED,4CAA4C;IAC5C,IAAI,YAAY;QACd,OAAO,IAAI,CAAC,MAAM,CAAC,YAAY,CAAC;IAClC,CAAC;IAED,oCAAoC;IACpC,IAAI,KAAK;QACP,OAAO,IAAI,CAAC,MAAM,CAAC,KAAK,IAAI,EAAE,CAAC;IACjC,CAAC;IAED;;;;;;;;;;;OAWG;IACH,KAAK,CAAC,SAA+B;QACnC,OAAO,IAAI,KAAK,CAAC;YACf,GAAG,IAAI,CAAC,MAAM;YACd,GAAG,SAAS;SACb,CAAC,CAAC;IACL,CAAC;CACF"}
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
export { createSpan, getTextContent } from './span-factory';
|
|
2
|
+
export { type SandboxManager, type InitializerState, initializeMemory, initializeSandbox, initializeReflection, initializeGuardrails, initializeCostRouting, cleanupState, } from './initializers';
|
|
3
|
+
export { buildInitialMessages, saveEntry, enrichMessagesWithInsights, addContextToMessages, } from './message-builder';
|
|
4
|
+
export { executeTool, createToolMessage } from './tool-executor';
|
|
5
|
+
export { streamChat, type StreamChatResult } from './streaming';
|
|
6
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/cogitator/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,cAAc,EAAE,MAAM,gBAAgB,CAAC;AAC5D,OAAO,EACL,KAAK,cAAc,EACnB,KAAK,gBAAgB,EACrB,gBAAgB,EAChB,iBAAiB,EACjB,oBAAoB,EACpB,oBAAoB,EACpB,qBAAqB,EACrB,YAAY,GACb,MAAM,gBAAgB,CAAC;AACxB,OAAO,EACL,oBAAoB,EACpB,SAAS,EACT,0BAA0B,EAC1B,oBAAoB,GACrB,MAAM,mBAAmB,CAAC;AAC3B,OAAO,EAAE,WAAW,EAAE,iBAAiB,EAAE,MAAM,iBAAiB,CAAC;AACjE,OAAO,EAAE,UAAU,EAAE,KAAK,gBAAgB,EAAE,MAAM,aAAa,CAAC"}
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
export { createSpan, getTextContent } from './span-factory';
|
|
2
|
+
export { initializeMemory, initializeSandbox, initializeReflection, initializeGuardrails, initializeCostRouting, cleanupState, } from './initializers';
|
|
3
|
+
export { buildInitialMessages, saveEntry, enrichMessagesWithInsights, addContextToMessages, } from './message-builder';
|
|
4
|
+
export { executeTool, createToolMessage } from './tool-executor';
|
|
5
|
+
export { streamChat } from './streaming';
|
|
6
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/cogitator/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,cAAc,EAAE,MAAM,gBAAgB,CAAC;AAC5D,OAAO,EAGL,gBAAgB,EAChB,iBAAiB,EACjB,oBAAoB,EACpB,oBAAoB,EACpB,qBAAqB,EACrB,YAAY,GACb,MAAM,gBAAgB,CAAC;AACxB,OAAO,EACL,oBAAoB,EACpB,SAAS,EACT,0BAA0B,EAC1B,oBAAoB,GACrB,MAAM,mBAAmB,CAAC;AAC3B,OAAO,EAAE,WAAW,EAAE,iBAAiB,EAAE,MAAM,iBAAiB,CAAC;AACjE,OAAO,EAAE,UAAU,EAAyB,MAAM,aAAa,CAAC"}
|
|
@@ -0,0 +1,54 @@
|
|
|
1
|
+
import type { CogitatorConfig, LLMBackend, MemoryAdapter, InsightStore } from '@cogitator-ai/types';
|
|
2
|
+
import { ContextBuilder } from '@cogitator-ai/memory';
|
|
3
|
+
import { ReflectionEngine } from '../reflection/index';
|
|
4
|
+
import { ConstitutionalAI } from '../constitutional/index';
|
|
5
|
+
import { CostAwareRouter } from '../cost-routing/index';
|
|
6
|
+
import type { Agent } from '../agent';
|
|
7
|
+
export type SandboxManager = {
|
|
8
|
+
initialize(): Promise<void>;
|
|
9
|
+
execute(request: {
|
|
10
|
+
command: string[];
|
|
11
|
+
cwd?: string;
|
|
12
|
+
env?: Record<string, string>;
|
|
13
|
+
timeout?: number;
|
|
14
|
+
}, config: {
|
|
15
|
+
type: string;
|
|
16
|
+
image?: string;
|
|
17
|
+
resources?: unknown;
|
|
18
|
+
network?: unknown;
|
|
19
|
+
timeout?: number;
|
|
20
|
+
}): Promise<{
|
|
21
|
+
success: boolean;
|
|
22
|
+
data?: {
|
|
23
|
+
stdout: string;
|
|
24
|
+
stderr: string;
|
|
25
|
+
exitCode: number;
|
|
26
|
+
timedOut: boolean;
|
|
27
|
+
duration: number;
|
|
28
|
+
};
|
|
29
|
+
error?: string;
|
|
30
|
+
}>;
|
|
31
|
+
isDockerAvailable(): Promise<boolean>;
|
|
32
|
+
shutdown(): Promise<void>;
|
|
33
|
+
};
|
|
34
|
+
export interface InitializerState {
|
|
35
|
+
memoryAdapter?: MemoryAdapter;
|
|
36
|
+
contextBuilder?: ContextBuilder;
|
|
37
|
+
memoryInitialized: boolean;
|
|
38
|
+
sandboxManager?: SandboxManager;
|
|
39
|
+
sandboxInitialized: boolean;
|
|
40
|
+
reflectionEngine?: ReflectionEngine;
|
|
41
|
+
insightStore?: InsightStore;
|
|
42
|
+
reflectionInitialized: boolean;
|
|
43
|
+
constitutionalAI?: ConstitutionalAI;
|
|
44
|
+
guardrailsInitialized: boolean;
|
|
45
|
+
costRouter?: CostAwareRouter;
|
|
46
|
+
costRoutingInitialized: boolean;
|
|
47
|
+
}
|
|
48
|
+
export declare function initializeMemory(config: CogitatorConfig, state: InitializerState): Promise<void>;
|
|
49
|
+
export declare function initializeSandbox(config: CogitatorConfig, state: InitializerState): Promise<void>;
|
|
50
|
+
export declare function initializeReflection(config: CogitatorConfig, state: InitializerState, agent: Agent, getBackend: (model: string) => LLMBackend): Promise<void>;
|
|
51
|
+
export declare function initializeGuardrails(config: CogitatorConfig, state: InitializerState, agent: Agent, getBackend: (model: string) => LLMBackend): void;
|
|
52
|
+
export declare function initializeCostRouting(config: CogitatorConfig, state: InitializerState): void;
|
|
53
|
+
export declare function cleanupState(state: InitializerState): Promise<void>;
|
|
54
|
+
//# sourceMappingURL=initializers.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"initializers.d.ts","sourceRoot":"","sources":["../../src/cogitator/initializers.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,126 @@
|
|
|
1
|
+
import { InMemoryAdapter, RedisAdapter, PostgresAdapter, ContextBuilder, } from '@cogitator-ai/memory';
|
|
2
|
+
import { getLogger } from '../logger';
|
|
3
|
+
import { ReflectionEngine, InMemoryInsightStore } from '../reflection/index';
|
|
4
|
+
import { ConstitutionalAI } from '../constitutional/index';
|
|
5
|
+
import { CostAwareRouter } from '../cost-routing/index';
|
|
6
|
+
export async function initializeMemory(config, state) {
|
|
7
|
+
if (state.memoryInitialized || !config.memory?.adapter)
|
|
8
|
+
return;
|
|
9
|
+
const provider = config.memory.adapter;
|
|
10
|
+
let adapter;
|
|
11
|
+
if (provider === 'memory') {
|
|
12
|
+
adapter = new InMemoryAdapter({
|
|
13
|
+
provider: 'memory',
|
|
14
|
+
...config.memory.inMemory,
|
|
15
|
+
});
|
|
16
|
+
}
|
|
17
|
+
else if (provider === 'redis') {
|
|
18
|
+
const url = config.memory.redis?.url;
|
|
19
|
+
if (!url) {
|
|
20
|
+
getLogger().warn('Redis adapter requires url in config');
|
|
21
|
+
return;
|
|
22
|
+
}
|
|
23
|
+
adapter = new RedisAdapter({
|
|
24
|
+
provider: 'redis',
|
|
25
|
+
url,
|
|
26
|
+
...config.memory.redis,
|
|
27
|
+
});
|
|
28
|
+
}
|
|
29
|
+
else if (provider === 'postgres') {
|
|
30
|
+
const connectionString = config.memory.postgres?.connectionString;
|
|
31
|
+
if (!connectionString) {
|
|
32
|
+
getLogger().warn('Postgres adapter requires connectionString in config');
|
|
33
|
+
return;
|
|
34
|
+
}
|
|
35
|
+
adapter = new PostgresAdapter({
|
|
36
|
+
provider: 'postgres',
|
|
37
|
+
connectionString,
|
|
38
|
+
...config.memory.postgres,
|
|
39
|
+
});
|
|
40
|
+
}
|
|
41
|
+
else {
|
|
42
|
+
getLogger().warn(`Unknown memory provider: ${provider}`);
|
|
43
|
+
return;
|
|
44
|
+
}
|
|
45
|
+
const result = await adapter.connect();
|
|
46
|
+
if (!result.success) {
|
|
47
|
+
getLogger().warn('Memory adapter connection failed', { error: result.error });
|
|
48
|
+
return;
|
|
49
|
+
}
|
|
50
|
+
state.memoryAdapter = adapter;
|
|
51
|
+
if (config.memory.contextBuilder) {
|
|
52
|
+
const deps = {
|
|
53
|
+
memoryAdapter: state.memoryAdapter,
|
|
54
|
+
};
|
|
55
|
+
const contextConfig = {
|
|
56
|
+
maxTokens: config.memory.contextBuilder.maxTokens ?? 4000,
|
|
57
|
+
strategy: config.memory.contextBuilder.strategy ?? 'recent',
|
|
58
|
+
...config.memory.contextBuilder,
|
|
59
|
+
};
|
|
60
|
+
state.contextBuilder = new ContextBuilder(contextConfig, deps);
|
|
61
|
+
}
|
|
62
|
+
state.memoryInitialized = true;
|
|
63
|
+
}
|
|
64
|
+
export async function initializeSandbox(config, state) {
|
|
65
|
+
if (state.sandboxInitialized)
|
|
66
|
+
return;
|
|
67
|
+
try {
|
|
68
|
+
const { SandboxManager } = await import('@cogitator-ai/sandbox');
|
|
69
|
+
state.sandboxManager = new SandboxManager(config.sandbox);
|
|
70
|
+
await state.sandboxManager.initialize();
|
|
71
|
+
state.sandboxInitialized = true;
|
|
72
|
+
}
|
|
73
|
+
catch {
|
|
74
|
+
state.sandboxInitialized = true;
|
|
75
|
+
}
|
|
76
|
+
}
|
|
77
|
+
export async function initializeReflection(config, state, agent, getBackend) {
|
|
78
|
+
if (state.reflectionInitialized || !config.reflection?.enabled)
|
|
79
|
+
return;
|
|
80
|
+
const backend = getBackend(config.reflection.reflectionModel ?? agent.model);
|
|
81
|
+
state.insightStore = new InMemoryInsightStore();
|
|
82
|
+
state.reflectionEngine = new ReflectionEngine({
|
|
83
|
+
llm: backend,
|
|
84
|
+
insightStore: state.insightStore,
|
|
85
|
+
config: config.reflection,
|
|
86
|
+
});
|
|
87
|
+
state.reflectionInitialized = true;
|
|
88
|
+
}
|
|
89
|
+
export function initializeGuardrails(config, state, agent, getBackend) {
|
|
90
|
+
if (state.guardrailsInitialized || !config.guardrails?.enabled)
|
|
91
|
+
return;
|
|
92
|
+
const backend = getBackend(config.guardrails.model ?? agent.model);
|
|
93
|
+
state.constitutionalAI = new ConstitutionalAI({
|
|
94
|
+
llm: backend,
|
|
95
|
+
constitution: config.guardrails.constitution,
|
|
96
|
+
config: config.guardrails,
|
|
97
|
+
});
|
|
98
|
+
state.guardrailsInitialized = true;
|
|
99
|
+
}
|
|
100
|
+
export function initializeCostRouting(config, state) {
|
|
101
|
+
if (state.costRoutingInitialized || !config.costRouting?.enabled)
|
|
102
|
+
return;
|
|
103
|
+
state.costRouter = new CostAwareRouter({ config: config.costRouting });
|
|
104
|
+
state.costRoutingInitialized = true;
|
|
105
|
+
}
|
|
106
|
+
export async function cleanupState(state) {
|
|
107
|
+
if (state.memoryAdapter) {
|
|
108
|
+
await state.memoryAdapter.disconnect();
|
|
109
|
+
state.memoryAdapter = undefined;
|
|
110
|
+
state.contextBuilder = undefined;
|
|
111
|
+
state.memoryInitialized = false;
|
|
112
|
+
}
|
|
113
|
+
if (state.sandboxManager) {
|
|
114
|
+
await state.sandboxManager.shutdown();
|
|
115
|
+
state.sandboxManager = undefined;
|
|
116
|
+
state.sandboxInitialized = false;
|
|
117
|
+
}
|
|
118
|
+
state.reflectionEngine = undefined;
|
|
119
|
+
state.insightStore = undefined;
|
|
120
|
+
state.reflectionInitialized = false;
|
|
121
|
+
state.constitutionalAI = undefined;
|
|
122
|
+
state.guardrailsInitialized = false;
|
|
123
|
+
state.costRouter = undefined;
|
|
124
|
+
state.costRoutingInitialized = false;
|
|
125
|
+
}
|
|
126
|
+
//# sourceMappingURL=initializers.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"initializers.js","sourceRoot":"","sources":["../../src/cogitator/initializers.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import type { Message, RunOptions, MemoryAdapter, ToolCall, ToolResult } from '@cogitator-ai/types';
|
|
2
|
+
import { ContextBuilder } from '@cogitator-ai/memory';
|
|
3
|
+
import type { Agent } from '../agent';
|
|
4
|
+
import type { ReflectionEngine } from '../reflection/index';
|
|
5
|
+
import type { AgentContext } from '@cogitator-ai/types';
|
|
6
|
+
export declare function buildInitialMessages(agent: Agent, options: RunOptions, threadId: string, memoryAdapter: MemoryAdapter | undefined, contextBuilder: ContextBuilder | undefined): Promise<Message[]>;
|
|
7
|
+
export declare function saveEntry(threadId: string, agentId: string, message: Message, memoryAdapter: MemoryAdapter | undefined, toolCalls?: ToolCall[], toolResults?: ToolResult[], onError?: (error: Error, operation: 'save' | 'load') => void): Promise<void>;
|
|
8
|
+
export declare function enrichMessagesWithInsights(messages: Message[], reflectionEngine: ReflectionEngine, agentContext: AgentContext): Promise<void>;
|
|
9
|
+
export declare function addContextToMessages(messages: Message[], context: Record<string, unknown>): void;
|
|
10
|
+
//# sourceMappingURL=message-builder.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"message-builder.d.ts","sourceRoot":"","sources":["../../src/cogitator/message-builder.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,UAAU,EAAE,aAAa,EAAE,QAAQ,EAAE,UAAU,EAAE,MAAM,qBAAqB,CAAC;AACpG,OAAO,EAAE,cAAc,EAAsB,MAAM,sBAAsB,CAAC;AAE1E,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,UAAU,CAAC;AACtC,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,qBAAqB,CAAC;AAC5D,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAC;AAExD,wBAAsB,oBAAoB,CACxC,KAAK,EAAE,KAAK,EACZ,OAAO,EAAE,UAAU,EACnB,QAAQ,EAAE,MAAM,EAChB,aAAa,EAAE,aAAa,GAAG,SAAS,EACxC,cAAc,EAAE,cAAc,GAAG,SAAS,GACzC,OAAO,CAAC,OAAO,EAAE,CAAC,CAoCpB;AAED,wBAAsB,SAAS,CAC7B,QAAQ,EAAE,MAAM,EAChB,OAAO,EAAE,MAAM,EACf,OAAO,EAAE,OAAO,EAChB,aAAa,EAAE,aAAa,GAAG,SAAS,EACxC,SAAS,CAAC,EAAE,QAAQ,EAAE,EACtB,WAAW,CAAC,EAAE,UAAU,EAAE,EAC1B,OAAO,CAAC,EAAE,CAAC,KAAK,EAAE,KAAK,EAAE,SAAS,EAAE,MAAM,GAAG,MAAM,KAAK,IAAI,GAC3D,OAAO,CAAC,IAAI,CAAC,CAqBf;AAED,wBAAsB,0BAA0B,CAC9C,QAAQ,EAAE,OAAO,EAAE,EACnB,gBAAgB,EAAE,gBAAgB,EAClC,YAAY,EAAE,YAAY,GACzB,OAAO,CAAC,IAAI,CAAC,CAKf;AAED,wBAAgB,oBAAoB,CAAC,QAAQ,EAAE,OAAO,EAAE,EAAE,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,IAAI,CAOhG"}
|
|
@@ -0,0 +1,72 @@
|
|
|
1
|
+
import { countMessageTokens } from '@cogitator-ai/memory';
|
|
2
|
+
import { getLogger } from '../logger';
|
|
3
|
+
export async function buildInitialMessages(agent, options, threadId, memoryAdapter, contextBuilder) {
|
|
4
|
+
if (!memoryAdapter || options.useMemory === false) {
|
|
5
|
+
return [
|
|
6
|
+
{ role: 'system', content: agent.instructions },
|
|
7
|
+
{ role: 'user', content: options.input },
|
|
8
|
+
];
|
|
9
|
+
}
|
|
10
|
+
const threadResult = await memoryAdapter.getThread(threadId);
|
|
11
|
+
if (!threadResult.success || !threadResult.data) {
|
|
12
|
+
await memoryAdapter.createThread(agent.id, { agentId: agent.id }, threadId);
|
|
13
|
+
}
|
|
14
|
+
if (contextBuilder && options.loadHistory !== false) {
|
|
15
|
+
const ctx = await contextBuilder.build({
|
|
16
|
+
threadId,
|
|
17
|
+
agentId: agent.id,
|
|
18
|
+
systemPrompt: agent.instructions,
|
|
19
|
+
});
|
|
20
|
+
return [...ctx.messages, { role: 'user', content: options.input }];
|
|
21
|
+
}
|
|
22
|
+
if (options.loadHistory !== false) {
|
|
23
|
+
const entries = await memoryAdapter.getEntries({ threadId, limit: 20 });
|
|
24
|
+
const messages = [{ role: 'system', content: agent.instructions }];
|
|
25
|
+
if (entries.success) {
|
|
26
|
+
messages.push(...entries.data.map((e) => e.message));
|
|
27
|
+
}
|
|
28
|
+
messages.push({ role: 'user', content: options.input });
|
|
29
|
+
return messages;
|
|
30
|
+
}
|
|
31
|
+
return [
|
|
32
|
+
{ role: 'system', content: agent.instructions },
|
|
33
|
+
{ role: 'user', content: options.input },
|
|
34
|
+
];
|
|
35
|
+
}
|
|
36
|
+
export async function saveEntry(threadId, agentId, message, memoryAdapter, toolCalls, toolResults, onError) {
|
|
37
|
+
if (!memoryAdapter)
|
|
38
|
+
return;
|
|
39
|
+
try {
|
|
40
|
+
const threadResult = await memoryAdapter.getThread(threadId);
|
|
41
|
+
if (!threadResult.success || !threadResult.data) {
|
|
42
|
+
await memoryAdapter.createThread(agentId, { agentId }, threadId);
|
|
43
|
+
}
|
|
44
|
+
await memoryAdapter.addEntry({
|
|
45
|
+
threadId,
|
|
46
|
+
message,
|
|
47
|
+
toolCalls,
|
|
48
|
+
toolResults,
|
|
49
|
+
tokenCount: countMessageTokens(message),
|
|
50
|
+
});
|
|
51
|
+
}
|
|
52
|
+
catch (err) {
|
|
53
|
+
const error = err instanceof Error ? err : new Error(String(err));
|
|
54
|
+
getLogger().warn('Failed to save memory entry', { error: error.message });
|
|
55
|
+
onError?.(error, 'save');
|
|
56
|
+
}
|
|
57
|
+
}
|
|
58
|
+
export async function enrichMessagesWithInsights(messages, reflectionEngine, agentContext) {
|
|
59
|
+
const insights = await reflectionEngine.getRelevantInsights(agentContext);
|
|
60
|
+
if (insights.length > 0 && messages.length > 0 && messages[0].role === 'system') {
|
|
61
|
+
messages[0].content += `\n\nPast learnings that may help:\n${insights.map((i) => `- ${i.content}`).join('\n')}`;
|
|
62
|
+
}
|
|
63
|
+
}
|
|
64
|
+
export function addContextToMessages(messages, context) {
|
|
65
|
+
if (messages.length > 0 && messages[0].role === 'system') {
|
|
66
|
+
const contextStr = Object.entries(context)
|
|
67
|
+
.map(([k, v]) => `${k}: ${JSON.stringify(v)}`)
|
|
68
|
+
.join('\n');
|
|
69
|
+
messages[0].content += `\n\nContext:\n${contextStr}`;
|
|
70
|
+
}
|
|
71
|
+
}
|
|
72
|
+
//# sourceMappingURL=message-builder.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"message-builder.js","sourceRoot":"","sources":["../../src/cogitator/message-builder.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,4 @@
|
|
|
1
|
+
import type { Span, MessageContent } from '@cogitator-ai/types';
|
|
2
|
+
export declare function createSpan(name: string, traceId: string, parentId: string | undefined, startTime: number, endTime: number, attributes: Record<string, unknown>, status?: 'ok' | 'error' | 'unset', kind?: Span['kind'], onSpan?: (span: Span) => void): Span;
|
|
3
|
+
export declare function getTextContent(content: MessageContent): string;
|
|
4
|
+
//# sourceMappingURL=span-factory.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"span-factory.d.ts","sourceRoot":"","sources":["../../src/cogitator/span-factory.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,IAAI,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAC;AAEhE,wBAAgB,UAAU,CACxB,IAAI,EAAE,MAAM,EACZ,OAAO,EAAE,MAAM,EACf,QAAQ,EAAE,MAAM,GAAG,SAAS,EAC5B,SAAS,EAAE,MAAM,EACjB,OAAO,EAAE,MAAM,EACf,UAAU,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EACnC,MAAM,GAAE,IAAI,GAAG,OAAO,GAAG,OAAc,EACvC,IAAI,GAAE,IAAI,CAAC,MAAM,CAAc,EAC/B,MAAM,CAAC,EAAE,CAAC,IAAI,EAAE,IAAI,KAAK,IAAI,GAC5B,IAAI,CAeN;AAED,wBAAgB,cAAc,CAAC,OAAO,EAAE,cAAc,GAAG,MAAM,CAQ9D"}
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
import { nanoid } from 'nanoid';
|
|
2
|
+
export function createSpan(name, traceId, parentId, startTime, endTime, attributes, status = 'ok', kind = 'internal', onSpan) {
|
|
3
|
+
const span = {
|
|
4
|
+
id: `span_${nanoid(12)}`,
|
|
5
|
+
traceId,
|
|
6
|
+
parentId,
|
|
7
|
+
name,
|
|
8
|
+
kind,
|
|
9
|
+
status,
|
|
10
|
+
startTime,
|
|
11
|
+
endTime,
|
|
12
|
+
duration: endTime - startTime,
|
|
13
|
+
attributes,
|
|
14
|
+
};
|
|
15
|
+
onSpan?.(span);
|
|
16
|
+
return span;
|
|
17
|
+
}
|
|
18
|
+
export function getTextContent(content) {
|
|
19
|
+
if (typeof content === 'string') {
|
|
20
|
+
return content;
|
|
21
|
+
}
|
|
22
|
+
return content
|
|
23
|
+
.filter((part) => part.type === 'text')
|
|
24
|
+
.map((part) => part.text)
|
|
25
|
+
.join(' ');
|
|
26
|
+
}
|
|
27
|
+
//# sourceMappingURL=span-factory.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"span-factory.js","sourceRoot":"","sources":["../../src/cogitator/span-factory.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAC;AAGhC,MAAM,UAAU,UAAU,CACxB,IAAY,EACZ,OAAe,EACf,QAA4B,EAC5B,SAAiB,EACjB,OAAe,EACf,UAAmC,EACnC,SAAmC,IAAI,EACvC,OAAqB,UAAU,EAC/B,MAA6B;IAE7B,MAAM,IAAI,GAAS;QACjB,EAAE,EAAE,QAAQ,MAAM,CAAC,EAAE,CAAC,EAAE;QACxB,OAAO;QACP,QAAQ;QACR,IAAI;QACJ,IAAI;QACJ,MAAM;QACN,SAAS;QACT,OAAO;QACP,QAAQ,EAAE,OAAO,GAAG,SAAS;QAC7B,UAAU;KACX,CAAC;IACF,MAAM,EAAE,CAAC,IAAI,CAAC,CAAC;IACf,OAAO,IAAI,CAAC;AACd,CAAC;AAED,MAAM,UAAU,cAAc,CAAC,OAAuB;IACpD,IAAI,OAAO,OAAO,KAAK,QAAQ,EAAE,CAAC;QAChC,OAAO,OAAO,CAAC;IACjB,CAAC;IACD,OAAO,OAAO;SACX,MAAM,CAAC,CAAC,IAAI,EAA0C,EAAE,CAAC,IAAI,CAAC,IAAI,KAAK,MAAM,CAAC;SAC9E,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC;SACxB,IAAI,CAAC,GAAG,CAAC,CAAC;AACf,CAAC"}
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
import type { LLMBackend, Message, ToolCall } from '@cogitator-ai/types';
|
|
2
|
+
import { ToolRegistry } from '../registry';
|
|
3
|
+
import type { Agent } from '../agent';
|
|
4
|
+
export interface StreamChatResult {
|
|
5
|
+
id: string;
|
|
6
|
+
content: string;
|
|
7
|
+
toolCalls?: ToolCall[];
|
|
8
|
+
finishReason: 'stop' | 'tool_calls' | 'length' | 'error';
|
|
9
|
+
usage: {
|
|
10
|
+
inputTokens: number;
|
|
11
|
+
outputTokens: number;
|
|
12
|
+
totalTokens: number;
|
|
13
|
+
};
|
|
14
|
+
}
|
|
15
|
+
export declare function streamChat(backend: LLMBackend, model: string, messages: Message[], registry: ToolRegistry, agent: Agent, onToken: (token: string) => void): Promise<StreamChatResult>;
|
|
16
|
+
//# sourceMappingURL=streaming.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"streaming.d.ts","sourceRoot":"","sources":["../../src/cogitator/streaming.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,UAAU,EAAE,OAAO,EAAE,QAAQ,EAAE,MAAM,qBAAqB,CAAC;AAEzE,OAAO,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAC3C,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,UAAU,CAAC;AAEtC,MAAM,WAAW,gBAAgB;IAC/B,EAAE,EAAE,MAAM,CAAC;IACX,OAAO,EAAE,MAAM,CAAC;IAChB,SAAS,CAAC,EAAE,QAAQ,EAAE,CAAC;IACvB,YAAY,EAAE,MAAM,GAAG,YAAY,GAAG,QAAQ,GAAG,OAAO,CAAC;IACzD,KAAK,EAAE;QACL,WAAW,EAAE,MAAM,CAAC;QACpB,YAAY,EAAE,MAAM,CAAC;QACrB,WAAW,EAAE,MAAM,CAAC;KACrB,CAAC;CACH;AAED,wBAAsB,UAAU,CAC9B,OAAO,EAAE,UAAU,EACnB,KAAK,EAAE,MAAM,EACb,QAAQ,EAAE,OAAO,EAAE,EACnB,QAAQ,EAAE,YAAY,EACtB,KAAK,EAAE,KAAK,EACZ,OAAO,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,GAC/B,OAAO,CAAC,gBAAgB,CAAC,CAoD3B"}
|
|
@@ -0,0 +1,52 @@
|
|
|
1
|
+
import { nanoid } from 'nanoid';
|
|
2
|
+
import { countMessagesTokens } from '@cogitator-ai/memory';
|
|
3
|
+
export async function streamChat(backend, model, messages, registry, agent, onToken) {
|
|
4
|
+
let content = '';
|
|
5
|
+
let toolCalls;
|
|
6
|
+
let finishReason = 'stop';
|
|
7
|
+
let inputTokens = 0;
|
|
8
|
+
let outputTokens = 0;
|
|
9
|
+
let hasUsageFromStream = false;
|
|
10
|
+
const stream = backend.chatStream({
|
|
11
|
+
model,
|
|
12
|
+
messages,
|
|
13
|
+
tools: registry.getSchemas(),
|
|
14
|
+
temperature: agent.config.temperature,
|
|
15
|
+
topP: agent.config.topP,
|
|
16
|
+
maxTokens: agent.config.maxTokens,
|
|
17
|
+
stop: agent.config.stopSequences,
|
|
18
|
+
});
|
|
19
|
+
for await (const chunk of stream) {
|
|
20
|
+
if (chunk.delta.content) {
|
|
21
|
+
content += chunk.delta.content;
|
|
22
|
+
onToken(chunk.delta.content);
|
|
23
|
+
}
|
|
24
|
+
if (chunk.delta.toolCalls) {
|
|
25
|
+
toolCalls = chunk.delta.toolCalls;
|
|
26
|
+
}
|
|
27
|
+
if (chunk.finishReason) {
|
|
28
|
+
finishReason = chunk.finishReason;
|
|
29
|
+
}
|
|
30
|
+
if (chunk.usage) {
|
|
31
|
+
inputTokens = chunk.usage.inputTokens;
|
|
32
|
+
outputTokens = chunk.usage.outputTokens;
|
|
33
|
+
hasUsageFromStream = true;
|
|
34
|
+
}
|
|
35
|
+
}
|
|
36
|
+
if (!hasUsageFromStream) {
|
|
37
|
+
inputTokens = countMessagesTokens(messages);
|
|
38
|
+
outputTokens = Math.ceil(content.length / 4);
|
|
39
|
+
}
|
|
40
|
+
return {
|
|
41
|
+
id: `stream_${nanoid(8)}`,
|
|
42
|
+
content,
|
|
43
|
+
toolCalls,
|
|
44
|
+
finishReason,
|
|
45
|
+
usage: {
|
|
46
|
+
inputTokens,
|
|
47
|
+
outputTokens,
|
|
48
|
+
totalTokens: inputTokens + outputTokens,
|
|
49
|
+
},
|
|
50
|
+
};
|
|
51
|
+
}
|
|
52
|
+
//# sourceMappingURL=streaming.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"streaming.js","sourceRoot":"","sources":["../../src/cogitator/streaming.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAC;AAEhC,OAAO,EAAE,mBAAmB,EAAE,MAAM,sBAAsB,CAAC;AAgB3D,MAAM,CAAC,KAAK,UAAU,UAAU,CAC9B,OAAmB,EACnB,KAAa,EACb,QAAmB,EACnB,QAAsB,EACtB,KAAY,EACZ,OAAgC;IAEhC,IAAI,OAAO,GAAG,EAAE,CAAC;IACjB,IAAI,SAAiC,CAAC;IACtC,IAAI,YAAY,GAA+C,MAAM,CAAC;IACtE,IAAI,WAAW,GAAG,CAAC,CAAC;IACpB,IAAI,YAAY,GAAG,CAAC,CAAC;IACrB,IAAI,kBAAkB,GAAG,KAAK,CAAC;IAE/B,MAAM,MAAM,GAAG,OAAO,CAAC,UAAU,CAAC;QAChC,KAAK;QACL,QAAQ;QACR,KAAK,EAAE,QAAQ,CAAC,UAAU,EAAE;QAC5B,WAAW,EAAE,KAAK,CAAC,MAAM,CAAC,WAAW;QACrC,IAAI,EAAE,KAAK,CAAC,MAAM,CAAC,IAAI;QACvB,SAAS,EAAE,KAAK,CAAC,MAAM,CAAC,SAAS;QACjC,IAAI,EAAE,KAAK,CAAC,MAAM,CAAC,aAAa;KACjC,CAAC,CAAC;IAEH,IAAI,KAAK,EAAE,MAAM,KAAK,IAAI,MAAM,EAAE,CAAC;QACjC,IAAI,KAAK,CAAC,KAAK,CAAC,OAAO,EAAE,CAAC;YACxB,OAAO,IAAI,KAAK,CAAC,KAAK,CAAC,OAAO,CAAC;YAC/B,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;QAC/B,CAAC;QACD,IAAI,KAAK,CAAC,KAAK,CAAC,SAAS,EAAE,CAAC;YAC1B,SAAS,GAAG,KAAK,CAAC,KAAK,CAAC,SAAuB,CAAC;QAClD,CAAC;QACD,IAAI,KAAK,CAAC,YAAY,EAAE,CAAC;YACvB,YAAY,GAAG,KAAK,CAAC,YAAY,CAAC;QACpC,CAAC;QACD,IAAI,KAAK,CAAC,KAAK,EAAE,CAAC;YAChB,WAAW,GAAG,KAAK,CAAC,KAAK,CAAC,WAAW,CAAC;YACtC,YAAY,GAAG,KAAK,CAAC,KAAK,CAAC,YAAY,CAAC;YACxC,kBAAkB,GAAG,IAAI,CAAC;QAC5B,CAAC;IACH,CAAC;IAED,IAAI,CAAC,kBAAkB,EAAE,CAAC;QACxB,WAAW,GAAG,mBAAmB,CAAC,QAAQ,CAAC,CAAC;QAC5C,YAAY,GAAG,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;IAC/C,CAAC;IAED,OAAO;QACL,EAAE,EAAE,UAAU,MAAM,CAAC,CAAC,CAAC,EAAE;QACzB,OAAO;QACP,SAAS;QACT,YAAY;QACZ,KAAK,EAAE;YACL,WAAW;YACX,YAAY;YACZ,WAAW,EAAE,WAAW,GAAG,YAAY;SACxC;KACF,CAAC;AACJ,CAAC"}
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
import type { ToolCall, ToolResult, Message } from '@cogitator-ai/types';
|
|
2
|
+
import { ToolRegistry } from '../registry';
|
|
3
|
+
import type { SandboxManager } from './initializers';
|
|
4
|
+
import type { ConstitutionalAI } from '../constitutional/index';
|
|
5
|
+
export declare function executeTool(registry: ToolRegistry, toolCall: ToolCall, runId: string, agentId: string, sandboxManager: SandboxManager | undefined, constitutionalAI: ConstitutionalAI | undefined, filterToolCalls: boolean, initializeSandbox: () => Promise<void>, signal?: AbortSignal): Promise<ToolResult>;
|
|
6
|
+
export declare function createToolMessage(toolCall: ToolCall, result: ToolResult): Message;
|
|
7
|
+
//# sourceMappingURL=tool-executor.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"tool-executor.d.ts","sourceRoot":"","sources":["../../src/cogitator/tool-executor.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAQ,QAAQ,EAAE,UAAU,EAAe,OAAO,EAAE,MAAM,qBAAqB,CAAC;AAC5F,OAAO,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAE3C,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,gBAAgB,CAAC;AACrD,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,yBAAyB,CAAC;AAEhE,wBAAsB,WAAW,CAC/B,QAAQ,EAAE,YAAY,EACtB,QAAQ,EAAE,QAAQ,EAClB,KAAK,EAAE,MAAM,EACb,OAAO,EAAE,MAAM,EACf,cAAc,EAAE,cAAc,GAAG,SAAS,EAC1C,gBAAgB,EAAE,gBAAgB,GAAG,SAAS,EAC9C,eAAe,EAAE,OAAO,EACxB,iBAAiB,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,EACtC,MAAM,CAAC,EAAE,WAAW,GACnB,OAAO,CAAC,UAAU,CAAC,CAgErB;AA2FD,wBAAgB,iBAAiB,CAAC,QAAQ,EAAE,QAAQ,EAAE,MAAM,EAAE,UAAU,GAAG,OAAO,CAOjF"}
|