@cogitator-ai/core 0.10.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.
Files changed (41) hide show
  1. package/dist/agent.d.ts +52 -2
  2. package/dist/agent.d.ts.map +1 -1
  3. package/dist/agent.js +52 -2
  4. package/dist/agent.js.map +1 -1
  5. package/dist/cogitator/index.d.ts +6 -0
  6. package/dist/cogitator/index.d.ts.map +1 -0
  7. package/dist/cogitator/index.js +6 -0
  8. package/dist/cogitator/index.js.map +1 -0
  9. package/dist/cogitator/initializers.d.ts +54 -0
  10. package/dist/cogitator/initializers.d.ts.map +1 -0
  11. package/dist/cogitator/initializers.js +126 -0
  12. package/dist/cogitator/initializers.js.map +1 -0
  13. package/dist/cogitator/message-builder.d.ts +10 -0
  14. package/dist/cogitator/message-builder.d.ts.map +1 -0
  15. package/dist/cogitator/message-builder.js +72 -0
  16. package/dist/cogitator/message-builder.js.map +1 -0
  17. package/dist/cogitator/span-factory.d.ts +4 -0
  18. package/dist/cogitator/span-factory.d.ts.map +1 -0
  19. package/dist/cogitator/span-factory.js +27 -0
  20. package/dist/cogitator/span-factory.js.map +1 -0
  21. package/dist/cogitator/streaming.d.ts +16 -0
  22. package/dist/cogitator/streaming.d.ts.map +1 -0
  23. package/dist/cogitator/streaming.js +52 -0
  24. package/dist/cogitator/streaming.js.map +1 -0
  25. package/dist/cogitator/tool-executor.d.ts +7 -0
  26. package/dist/cogitator/tool-executor.d.ts.map +1 -0
  27. package/dist/cogitator/tool-executor.js +146 -0
  28. package/dist/cogitator/tool-executor.js.map +1 -0
  29. package/dist/cogitator.d.ts +142 -82
  30. package/dist/cogitator.d.ts.map +1 -1
  31. package/dist/cogitator.js +205 -513
  32. package/dist/cogitator.js.map +1 -1
  33. package/dist/registry.d.ts +64 -2
  34. package/dist/registry.d.ts.map +1 -1
  35. package/dist/registry.js +64 -2
  36. package/dist/registry.js.map +1 -1
  37. package/dist/tool.d.ts +48 -5
  38. package/dist/tool.d.ts.map +1 -1
  39. package/dist/tool.js +48 -5
  40. package/dist/tool.js.map +1 -1
  41. package/package.json +3 -3
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
- * Agent class implementation
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
@@ -1 +1 @@
1
- {"version":3,"file":"agent.d.ts","sourceRoot":"","sources":["../src/agent.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,KAAK,EAAE,KAAK,IAAI,MAAM,EAAE,WAAW,EAAE,IAAI,EAAE,MAAM,qBAAqB,CAAC;AAG9E,qBAAa,KAAM,YAAW,MAAM;IAClC,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAC;IACpB,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,MAAM,EAAE,WAAW,CAAC;gBAEjB,MAAM,EAAE,WAAW;IAW/B,IAAI,KAAK,IAAI,MAAM,CAElB;IAED,IAAI,YAAY,IAAI,MAAM,CAEzB;IAED,IAAI,KAAK,IAAI,IAAI,EAAE,CAElB;IAED,KAAK,CAAC,SAAS,EAAE,OAAO,CAAC,WAAW,CAAC,GAAG,KAAK;CAM9C"}
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
- * Agent class implementation
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":"AAAA;;GAEG;AAGH,OAAO,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAC;AAEhC,MAAM,OAAO,KAAK;IACP,EAAE,CAAS;IACX,IAAI,CAAS;IACb,MAAM,CAAc;IAE7B,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,IAAI,KAAK;QACP,OAAO,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC;IAC3B,CAAC;IAED,IAAI,YAAY;QACd,OAAO,IAAI,CAAC,MAAM,CAAC,YAAY,CAAC;IAClC,CAAC;IAED,IAAI,KAAK;QACP,OAAO,IAAI,CAAC,MAAM,CAAC,KAAK,IAAI,EAAE,CAAC;IACjC,CAAC;IAED,KAAK,CAAC,SAA+B;QACnC,OAAO,IAAI,KAAK,CAAC;YACf,GAAG,IAAI,CAAC,MAAM;YACd,GAAG,SAAS;SACb,CAAC,CAAC;IACL,CAAC;CACF"}
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":"AACA,OAAO,EACL,eAAe,EACf,YAAY,EACZ,eAAe,EACf,cAAc,GAEf,MAAM,sBAAsB,CAAC;AAC9B,OAAO,EAAE,SAAS,EAAE,MAAM,WAAW,CAAC;AACtC,OAAO,EAAE,gBAAgB,EAAE,oBAAoB,EAAE,MAAM,qBAAqB,CAAC;AAC7E,OAAO,EAAE,gBAAgB,EAAE,MAAM,yBAAyB,CAAC;AAC3D,OAAO,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAC;AA4CxD,MAAM,CAAC,KAAK,UAAU,gBAAgB,CACpC,MAAuB,EACvB,KAAuB;IAEvB,IAAI,KAAK,CAAC,iBAAiB,IAAI,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO;QAAE,OAAO;IAE/D,MAAM,QAAQ,GAAG,MAAM,CAAC,MAAM,CAAC,OAAO,CAAC;IACvC,IAAI,OAAsB,CAAC;IAE3B,IAAI,QAAQ,KAAK,QAAQ,EAAE,CAAC;QAC1B,OAAO,GAAG,IAAI,eAAe,CAAC;YAC5B,QAAQ,EAAE,QAAQ;YAClB,GAAG,MAAM,CAAC,MAAM,CAAC,QAAQ;SAC1B,CAAC,CAAC;IACL,CAAC;SAAM,IAAI,QAAQ,KAAK,OAAO,EAAE,CAAC;QAChC,MAAM,GAAG,GAAG,MAAM,CAAC,MAAM,CAAC,KAAK,EAAE,GAAG,CAAC;QACrC,IAAI,CAAC,GAAG,EAAE,CAAC;YACT,SAAS,EAAE,CAAC,IAAI,CAAC,sCAAsC,CAAC,CAAC;YACzD,OAAO;QACT,CAAC;QACD,OAAO,GAAG,IAAI,YAAY,CAAC;YACzB,QAAQ,EAAE,OAAO;YACjB,GAAG;YACH,GAAG,MAAM,CAAC,MAAM,CAAC,KAAK;SACvB,CAAC,CAAC;IACL,CAAC;SAAM,IAAI,QAAQ,KAAK,UAAU,EAAE,CAAC;QACnC,MAAM,gBAAgB,GAAG,MAAM,CAAC,MAAM,CAAC,QAAQ,EAAE,gBAAgB,CAAC;QAClE,IAAI,CAAC,gBAAgB,EAAE,CAAC;YACtB,SAAS,EAAE,CAAC,IAAI,CAAC,sDAAsD,CAAC,CAAC;YACzE,OAAO;QACT,CAAC;QACD,OAAO,GAAG,IAAI,eAAe,CAAC;YAC5B,QAAQ,EAAE,UAAU;YACpB,gBAAgB;YAChB,GAAG,MAAM,CAAC,MAAM,CAAC,QAAQ;SAC1B,CAAC,CAAC;IACL,CAAC;SAAM,CAAC;QACN,SAAS,EAAE,CAAC,IAAI,CAAC,4BAA4B,QAAQ,EAAE,CAAC,CAAC;QACzD,OAAO;IACT,CAAC;IAED,MAAM,MAAM,GAAG,MAAM,OAAO,CAAC,OAAO,EAAE,CAAC;IACvC,IAAI,CAAC,MAAM,CAAC,OAAO,EAAE,CAAC;QACpB,SAAS,EAAE,CAAC,IAAI,CAAC,kCAAkC,EAAE,EAAE,KAAK,EAAE,MAAM,CAAC,KAAK,EAAE,CAAC,CAAC;QAC9E,OAAO;IACT,CAAC;IAED,KAAK,CAAC,aAAa,GAAG,OAAO,CAAC;IAE9B,IAAI,MAAM,CAAC,MAAM,CAAC,cAAc,EAAE,CAAC;QACjC,MAAM,IAAI,GAAuB;YAC/B,aAAa,EAAE,KAAK,CAAC,aAAa;SACnC,CAAC;QACF,MAAM,aAAa,GAAG;YACpB,SAAS,EAAE,MAAM,CAAC,MAAM,CAAC,cAAc,CAAC,SAAS,IAAI,IAAI;YACzD,QAAQ,EAAE,MAAM,CAAC,MAAM,CAAC,cAAc,CAAC,QAAQ,IAAI,QAAQ;YAC3D,GAAG,MAAM,CAAC,MAAM,CAAC,cAAc;SACvB,CAAC;QACX,KAAK,CAAC,cAAc,GAAG,IAAI,cAAc,CAAC,aAAa,EAAE,IAAI,CAAC,CAAC;IACjE,CAAC;IAED,KAAK,CAAC,iBAAiB,GAAG,IAAI,CAAC;AACjC,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,iBAAiB,CACrC,MAAuB,EACvB,KAAuB;IAEvB,IAAI,KAAK,CAAC,kBAAkB;QAAE,OAAO;IAErC,IAAI,CAAC;QACH,MAAM,EAAE,cAAc,EAAE,GAAG,MAAM,MAAM,CAAC,uBAAuB,CAAC,CAAC;QACjE,KAAK,CAAC,cAAc,GAAG,IAAI,cAAc,CAAC,MAAM,CAAC,OAAO,CAAmB,CAAC;QAC5E,MAAM,KAAK,CAAC,cAAc,CAAC,UAAU,EAAE,CAAC;QACxC,KAAK,CAAC,kBAAkB,GAAG,IAAI,CAAC;IAClC,CAAC;IAAC,MAAM,CAAC;QACP,KAAK,CAAC,kBAAkB,GAAG,IAAI,CAAC;IAClC,CAAC;AACH,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,oBAAoB,CACxC,MAAuB,EACvB,KAAuB,EACvB,KAAY,EACZ,UAAyC;IAEzC,IAAI,KAAK,CAAC,qBAAqB,IAAI,CAAC,MAAM,CAAC,UAAU,EAAE,OAAO;QAAE,OAAO;IAEvE,MAAM,OAAO,GAAG,UAAU,CAAC,MAAM,CAAC,UAAU,CAAC,eAAe,IAAI,KAAK,CAAC,KAAK,CAAC,CAAC;IAE7E,KAAK,CAAC,YAAY,GAAG,IAAI,oBAAoB,EAAE,CAAC;IAChD,KAAK,CAAC,gBAAgB,GAAG,IAAI,gBAAgB,CAAC;QAC5C,GAAG,EAAE,OAAO;QACZ,YAAY,EAAE,KAAK,CAAC,YAAY;QAChC,MAAM,EAAE,MAAM,CAAC,UAAU;KAC1B,CAAC,CAAC;IAEH,KAAK,CAAC,qBAAqB,GAAG,IAAI,CAAC;AACrC,CAAC;AAED,MAAM,UAAU,oBAAoB,CAClC,MAAuB,EACvB,KAAuB,EACvB,KAAY,EACZ,UAAyC;IAEzC,IAAI,KAAK,CAAC,qBAAqB,IAAI,CAAC,MAAM,CAAC,UAAU,EAAE,OAAO;QAAE,OAAO;IAEvE,MAAM,OAAO,GAAG,UAAU,CAAC,MAAM,CAAC,UAAU,CAAC,KAAK,IAAI,KAAK,CAAC,KAAK,CAAC,CAAC;IAEnE,KAAK,CAAC,gBAAgB,GAAG,IAAI,gBAAgB,CAAC;QAC5C,GAAG,EAAE,OAAO;QACZ,YAAY,EAAE,MAAM,CAAC,UAAU,CAAC,YAAY;QAC5C,MAAM,EAAE,MAAM,CAAC,UAAU;KAC1B,CAAC,CAAC;IAEH,KAAK,CAAC,qBAAqB,GAAG,IAAI,CAAC;AACrC,CAAC;AAED,MAAM,UAAU,qBAAqB,CAAC,MAAuB,EAAE,KAAuB;IACpF,IAAI,KAAK,CAAC,sBAAsB,IAAI,CAAC,MAAM,CAAC,WAAW,EAAE,OAAO;QAAE,OAAO;IAEzE,KAAK,CAAC,UAAU,GAAG,IAAI,eAAe,CAAC,EAAE,MAAM,EAAE,MAAM,CAAC,WAAW,EAAE,CAAC,CAAC;IACvE,KAAK,CAAC,sBAAsB,GAAG,IAAI,CAAC;AACtC,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,YAAY,CAAC,KAAuB;IACxD,IAAI,KAAK,CAAC,aAAa,EAAE,CAAC;QACxB,MAAM,KAAK,CAAC,aAAa,CAAC,UAAU,EAAE,CAAC;QACvC,KAAK,CAAC,aAAa,GAAG,SAAS,CAAC;QAChC,KAAK,CAAC,cAAc,GAAG,SAAS,CAAC;QACjC,KAAK,CAAC,iBAAiB,GAAG,KAAK,CAAC;IAClC,CAAC;IACD,IAAI,KAAK,CAAC,cAAc,EAAE,CAAC;QACzB,MAAM,KAAK,CAAC,cAAc,CAAC,QAAQ,EAAE,CAAC;QACtC,KAAK,CAAC,cAAc,GAAG,SAAS,CAAC;QACjC,KAAK,CAAC,kBAAkB,GAAG,KAAK,CAAC;IACnC,CAAC;IACD,KAAK,CAAC,gBAAgB,GAAG,SAAS,CAAC;IACnC,KAAK,CAAC,YAAY,GAAG,SAAS,CAAC;IAC/B,KAAK,CAAC,qBAAqB,GAAG,KAAK,CAAC;IACpC,KAAK,CAAC,gBAAgB,GAAG,SAAS,CAAC;IACnC,KAAK,CAAC,qBAAqB,GAAG,KAAK,CAAC;IACpC,KAAK,CAAC,UAAU,GAAG,SAAS,CAAC;IAC7B,KAAK,CAAC,sBAAsB,GAAG,KAAK,CAAC;AACvC,CAAC"}
@@ -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"}