@cogitator-ai/core 0.11.5 → 0.14.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 (78) hide show
  1. package/README.md +212 -0
  2. package/dist/cache/cache-key.d.ts +11 -0
  3. package/dist/cache/cache-key.d.ts.map +1 -0
  4. package/dist/cache/cache-key.js +65 -0
  5. package/dist/cache/cache-key.js.map +1 -0
  6. package/dist/cache/index.d.ts +6 -0
  7. package/dist/cache/index.d.ts.map +1 -0
  8. package/dist/cache/index.js +5 -0
  9. package/dist/cache/index.js.map +1 -0
  10. package/dist/cache/storage/index.d.ts +4 -0
  11. package/dist/cache/storage/index.d.ts.map +1 -0
  12. package/dist/cache/storage/index.js +3 -0
  13. package/dist/cache/storage/index.js.map +1 -0
  14. package/dist/cache/storage/memory.d.ts +24 -0
  15. package/dist/cache/storage/memory.d.ts.map +1 -0
  16. package/dist/cache/storage/memory.js +108 -0
  17. package/dist/cache/storage/memory.js.map +1 -0
  18. package/dist/cache/storage/redis.d.ts +32 -0
  19. package/dist/cache/storage/redis.d.ts.map +1 -0
  20. package/dist/cache/storage/redis.js +127 -0
  21. package/dist/cache/storage/redis.js.map +1 -0
  22. package/dist/cache/tool-cache.d.ts +8 -0
  23. package/dist/cache/tool-cache.d.ts.map +1 -0
  24. package/dist/cache/tool-cache.js +127 -0
  25. package/dist/cache/tool-cache.js.map +1 -0
  26. package/dist/cogitator/initializers.d.ts +4 -0
  27. package/dist/cogitator/initializers.d.ts.map +1 -1
  28. package/dist/cogitator/initializers.js +14 -0
  29. package/dist/cogitator/initializers.js.map +1 -1
  30. package/dist/cogitator.d.ts +38 -1
  31. package/dist/cogitator.d.ts.map +1 -1
  32. package/dist/cogitator.js +56 -1
  33. package/dist/cogitator.js.map +1 -1
  34. package/dist/cost-routing/cost-estimator.d.ts +18 -0
  35. package/dist/cost-routing/cost-estimator.d.ts.map +1 -0
  36. package/dist/cost-routing/cost-estimator.js +149 -0
  37. package/dist/cost-routing/cost-estimator.js.map +1 -0
  38. package/dist/cost-routing/index.d.ts +2 -0
  39. package/dist/cost-routing/index.d.ts.map +1 -1
  40. package/dist/cost-routing/index.js +2 -0
  41. package/dist/cost-routing/index.js.map +1 -1
  42. package/dist/cost-routing/token-estimator.d.ts +22 -0
  43. package/dist/cost-routing/token-estimator.d.ts.map +1 -0
  44. package/dist/cost-routing/token-estimator.js +88 -0
  45. package/dist/cost-routing/token-estimator.js.map +1 -0
  46. package/dist/index.d.ts +7 -0
  47. package/dist/index.d.ts.map +1 -1
  48. package/dist/index.js +3 -0
  49. package/dist/index.js.map +1 -1
  50. package/dist/security/classifiers/index.d.ts +3 -0
  51. package/dist/security/classifiers/index.d.ts.map +1 -0
  52. package/dist/security/classifiers/index.js +3 -0
  53. package/dist/security/classifiers/index.js.map +1 -0
  54. package/dist/security/classifiers/llm-classifier.d.ts +10 -0
  55. package/dist/security/classifiers/llm-classifier.d.ts.map +1 -0
  56. package/dist/security/classifiers/llm-classifier.js +110 -0
  57. package/dist/security/classifiers/llm-classifier.js.map +1 -0
  58. package/dist/security/classifiers/local-classifier.d.ts +8 -0
  59. package/dist/security/classifiers/local-classifier.d.ts.map +1 -0
  60. package/dist/security/classifiers/local-classifier.js +130 -0
  61. package/dist/security/classifiers/local-classifier.js.map +1 -0
  62. package/dist/security/index.d.ts +5 -0
  63. package/dist/security/index.d.ts.map +1 -0
  64. package/dist/security/index.js +4 -0
  65. package/dist/security/index.js.map +1 -0
  66. package/dist/security/patterns.d.ts +6 -0
  67. package/dist/security/patterns.d.ts.map +1 -0
  68. package/dist/security/patterns.js +338 -0
  69. package/dist/security/patterns.js.map +1 -0
  70. package/dist/security/prompt-injection-detector.d.ts +28 -0
  71. package/dist/security/prompt-injection-detector.d.ts.map +1 -0
  72. package/dist/security/prompt-injection-detector.js +134 -0
  73. package/dist/security/prompt-injection-detector.js.map +1 -0
  74. package/dist/tools/hash.d.ts +1 -1
  75. package/dist/tools/index.d.ts +3 -3
  76. package/dist/tools/random.d.ts +1 -1
  77. package/dist/tools/vector-search.d.ts +1 -1
  78. package/package.json +5 -5
@@ -0,0 +1,8 @@
1
+ import type { Tool, CachedTool, ToolCacheStorage, WithCacheOptions, RedisClientLike } from '@cogitator-ai/types';
2
+ export declare function withCache<TParams, TResult>(tool: Tool<TParams, TResult>, config: WithCacheOptions): CachedTool<TParams, TResult>;
3
+ export declare function createToolCacheStorage(type: 'memory' | 'redis', options?: {
4
+ maxSize?: number;
5
+ redisClient?: RedisClientLike;
6
+ keyPrefix?: string;
7
+ }): ToolCacheStorage;
8
+ //# sourceMappingURL=tool-cache.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"tool-cache.d.ts","sourceRoot":"","sources":["../../src/cache/tool-cache.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,IAAI,EAEJ,UAAU,EAEV,gBAAgB,EAChB,gBAAgB,EAChB,eAAe,EAChB,MAAM,qBAAqB,CAAC;AAK7B,wBAAgB,SAAS,CAAC,OAAO,EAAE,OAAO,EACxC,IAAI,EAAE,IAAI,CAAC,OAAO,EAAE,OAAO,CAAC,EAC5B,MAAM,EAAE,gBAAgB,GACvB,UAAU,CAAC,OAAO,EAAE,OAAO,CAAC,CA+H9B;AAED,wBAAgB,sBAAsB,CACpC,IAAI,EAAE,QAAQ,GAAG,OAAO,EACxB,OAAO,GAAE;IACP,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,WAAW,CAAC,EAAE,eAAe,CAAC;IAC9B,SAAS,CAAC,EAAE,MAAM,CAAC;CACf,GACL,gBAAgB,CAalB"}
@@ -0,0 +1,127 @@
1
+ import { parseDuration, generateCacheKey, paramsToQueryString } from './cache-key';
2
+ import { InMemoryToolCacheStorage } from './storage/memory';
3
+ import { RedisToolCacheStorage } from './storage/redis';
4
+ export function withCache(tool, config) {
5
+ const ttlMs = parseDuration(config.ttl);
6
+ const similarity = config.similarity ?? 0.95;
7
+ const prefix = config.keyPrefix ?? 'toolcache';
8
+ const storage = config.storage === 'redis'
9
+ ? new RedisToolCacheStorage({
10
+ client: config.redisClient,
11
+ keyPrefix: prefix,
12
+ maxSize: config.maxSize,
13
+ })
14
+ : new InMemoryToolCacheStorage(config.maxSize);
15
+ const cachedExecute = async (params, context) => {
16
+ const cacheKey = generateCacheKey({
17
+ toolName: tool.name,
18
+ params,
19
+ prefix,
20
+ });
21
+ const exactMatch = await storage.get(cacheKey);
22
+ if (exactMatch) {
23
+ storage.recordHit();
24
+ config.onHit?.(cacheKey, params);
25
+ return exactMatch.result;
26
+ }
27
+ if (config.strategy === 'semantic' && config.embeddingService && storage.findSimilar) {
28
+ try {
29
+ const queryStr = paramsToQueryString(params);
30
+ const queryEmbedding = await config.embeddingService.embed(queryStr);
31
+ const similar = await storage.findSimilar(queryEmbedding, similarity, 1);
32
+ if (similar.length > 0) {
33
+ storage.recordHit();
34
+ config.onHit?.(similar[0].key, params);
35
+ await storage.get(similar[0].key);
36
+ return similar[0].result;
37
+ }
38
+ }
39
+ catch { }
40
+ }
41
+ storage.recordMiss();
42
+ config.onMiss?.(cacheKey, params);
43
+ const result = await tool.execute(params, context);
44
+ const now = Date.now();
45
+ const entry = {
46
+ key: cacheKey,
47
+ result,
48
+ createdAt: now,
49
+ expiresAt: now + ttlMs,
50
+ hits: 0,
51
+ lastAccessedAt: now,
52
+ };
53
+ if (config.strategy === 'semantic' && config.embeddingService) {
54
+ try {
55
+ const queryStr = paramsToQueryString(params);
56
+ entry.embedding = await config.embeddingService.embed(queryStr);
57
+ }
58
+ catch { }
59
+ }
60
+ await storage.set(cacheKey, entry);
61
+ return result;
62
+ };
63
+ const cachedTool = {
64
+ ...tool,
65
+ execute: cachedExecute,
66
+ cache: {
67
+ stats: () => storage.getStats(),
68
+ clear: async () => {
69
+ await storage.clear();
70
+ },
71
+ invalidate: async (params) => {
72
+ const key = generateCacheKey({
73
+ toolName: tool.name,
74
+ params,
75
+ prefix,
76
+ });
77
+ const existed = await storage.has(key);
78
+ if (existed) {
79
+ await storage.delete(key);
80
+ config.onEvict?.(key);
81
+ }
82
+ return existed;
83
+ },
84
+ warmup: async (entries) => {
85
+ const now = Date.now();
86
+ for (const { params, result } of entries) {
87
+ const key = generateCacheKey({
88
+ toolName: tool.name,
89
+ params,
90
+ prefix,
91
+ });
92
+ const entry = {
93
+ key,
94
+ result,
95
+ createdAt: now,
96
+ expiresAt: now + ttlMs,
97
+ hits: 0,
98
+ lastAccessedAt: now,
99
+ };
100
+ if (config.strategy === 'semantic' && config.embeddingService) {
101
+ try {
102
+ const queryStr = paramsToQueryString(params);
103
+ entry.embedding = await config.embeddingService.embed(queryStr);
104
+ }
105
+ catch { }
106
+ }
107
+ await storage.set(key, entry);
108
+ }
109
+ },
110
+ },
111
+ };
112
+ return cachedTool;
113
+ }
114
+ export function createToolCacheStorage(type, options = {}) {
115
+ if (type === 'redis') {
116
+ if (!options.redisClient) {
117
+ throw new Error('redisClient required for redis storage');
118
+ }
119
+ return new RedisToolCacheStorage({
120
+ client: options.redisClient,
121
+ keyPrefix: options.keyPrefix,
122
+ maxSize: options.maxSize,
123
+ });
124
+ }
125
+ return new InMemoryToolCacheStorage(options.maxSize);
126
+ }
127
+ //# sourceMappingURL=tool-cache.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"tool-cache.js","sourceRoot":"","sources":["../../src/cache/tool-cache.ts"],"names":[],"mappings":"AASA,OAAO,EAAE,aAAa,EAAE,gBAAgB,EAAE,mBAAmB,EAAE,MAAM,aAAa,CAAC;AACnF,OAAO,EAAE,wBAAwB,EAAE,MAAM,kBAAkB,CAAC;AAC5D,OAAO,EAAE,qBAAqB,EAAE,MAAM,iBAAiB,CAAC;AAExD,MAAM,UAAU,SAAS,CACvB,IAA4B,EAC5B,MAAwB;IAExB,MAAM,KAAK,GAAG,aAAa,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;IACxC,MAAM,UAAU,GAAG,MAAM,CAAC,UAAU,IAAI,IAAI,CAAC;IAC7C,MAAM,MAAM,GAAG,MAAM,CAAC,SAAS,IAAI,WAAW,CAAC;IAE/C,MAAM,OAAO,GACX,MAAM,CAAC,OAAO,KAAK,OAAO;QACxB,CAAC,CAAC,IAAI,qBAAqB,CAAC;YACxB,MAAM,EAAE,MAAM,CAAC,WAAY;YAC3B,SAAS,EAAE,MAAM;YACjB,OAAO,EAAE,MAAM,CAAC,OAAO;SACxB,CAAC;QACJ,CAAC,CAAC,IAAI,wBAAwB,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;IAEnD,MAAM,aAAa,GAAG,KAAK,EAAE,MAAe,EAAE,OAAoB,EAAoB,EAAE;QACtF,MAAM,QAAQ,GAAG,gBAAgB,CAAC;YAChC,QAAQ,EAAE,IAAI,CAAC,IAAI;YACnB,MAAM;YACN,MAAM;SACP,CAAC,CAAC;QAEH,MAAM,UAAU,GAAG,MAAM,OAAO,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;QAC/C,IAAI,UAAU,EAAE,CAAC;YACf,OAAO,CAAC,SAAS,EAAE,CAAC;YACpB,MAAM,CAAC,KAAK,EAAE,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAC;YACjC,OAAO,UAAU,CAAC,MAAiB,CAAC;QACtC,CAAC;QAED,IAAI,MAAM,CAAC,QAAQ,KAAK,UAAU,IAAI,MAAM,CAAC,gBAAgB,IAAI,OAAO,CAAC,WAAW,EAAE,CAAC;YACrF,IAAI,CAAC;gBACH,MAAM,QAAQ,GAAG,mBAAmB,CAAC,MAAM,CAAC,CAAC;gBAC7C,MAAM,cAAc,GAAG,MAAM,MAAM,CAAC,gBAAgB,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC;gBAErE,MAAM,OAAO,GAAG,MAAM,OAAO,CAAC,WAAW,CAAC,cAAc,EAAE,UAAU,EAAE,CAAC,CAAC,CAAC;gBACzE,IAAI,OAAO,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;oBACvB,OAAO,CAAC,SAAS,EAAE,CAAC;oBACpB,MAAM,CAAC,KAAK,EAAE,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,GAAG,EAAE,MAAM,CAAC,CAAC;oBACvC,MAAM,OAAO,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC;oBAClC,OAAO,OAAO,CAAC,CAAC,CAAC,CAAC,MAAiB,CAAC;gBACtC,CAAC;YACH,CAAC;YAAC,MAAM,CAAC,CAAA,CAAC;QACZ,CAAC;QAED,OAAO,CAAC,UAAU,EAAE,CAAC;QACrB,MAAM,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAC;QAElC,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;QAEnD,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;QACvB,MAAM,KAAK,GAAwB;YACjC,GAAG,EAAE,QAAQ;YACb,MAAM;YACN,SAAS,EAAE,GAAG;YACd,SAAS,EAAE,GAAG,GAAG,KAAK;YACtB,IAAI,EAAE,CAAC;YACP,cAAc,EAAE,GAAG;SACpB,CAAC;QAEF,IAAI,MAAM,CAAC,QAAQ,KAAK,UAAU,IAAI,MAAM,CAAC,gBAAgB,EAAE,CAAC;YAC9D,IAAI,CAAC;gBACH,MAAM,QAAQ,GAAG,mBAAmB,CAAC,MAAM,CAAC,CAAC;gBAC7C,KAAK,CAAC,SAAS,GAAG,MAAM,MAAM,CAAC,gBAAgB,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC;YAClE,CAAC;YAAC,MAAM,CAAC,CAAA,CAAC;QACZ,CAAC;QAED,MAAM,OAAO,CAAC,GAAG,CAAC,QAAQ,EAAE,KAAK,CAAC,CAAC;QAEnC,OAAO,MAAM,CAAC;IAChB,CAAC,CAAC;IAEF,MAAM,UAAU,GAAiC;QAC/C,GAAG,IAAI;QACP,OAAO,EAAE,aAAa;QACtB,KAAK,EAAE;YACL,KAAK,EAAE,GAAG,EAAE,CAAC,OAAO,CAAC,QAAQ,EAAE;YAE/B,KAAK,EAAE,KAAK,IAAI,EAAE;gBAChB,MAAM,OAAO,CAAC,KAAK,EAAE,CAAC;YACxB,CAAC;YAED,UAAU,EAAE,KAAK,EAAE,MAAe,EAAoB,EAAE;gBACtD,MAAM,GAAG,GAAG,gBAAgB,CAAC;oBAC3B,QAAQ,EAAE,IAAI,CAAC,IAAI;oBACnB,MAAM;oBACN,MAAM;iBACP,CAAC,CAAC;gBACH,MAAM,OAAO,GAAG,MAAM,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;gBACvC,IAAI,OAAO,EAAE,CAAC;oBACZ,MAAM,OAAO,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;oBAC1B,MAAM,CAAC,OAAO,EAAE,CAAC,GAAG,CAAC,CAAC;gBACxB,CAAC;gBACD,OAAO,OAAO,CAAC;YACjB,CAAC;YAED,MAAM,EAAE,KAAK,EAAE,OAAoD,EAAE,EAAE;gBACrE,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;gBAEvB,KAAK,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,IAAI,OAAO,EAAE,CAAC;oBACzC,MAAM,GAAG,GAAG,gBAAgB,CAAC;wBAC3B,QAAQ,EAAE,IAAI,CAAC,IAAI;wBACnB,MAAM;wBACN,MAAM;qBACP,CAAC,CAAC;oBAEH,MAAM,KAAK,GAAwB;wBACjC,GAAG;wBACH,MAAM;wBACN,SAAS,EAAE,GAAG;wBACd,SAAS,EAAE,GAAG,GAAG,KAAK;wBACtB,IAAI,EAAE,CAAC;wBACP,cAAc,EAAE,GAAG;qBACpB,CAAC;oBAEF,IAAI,MAAM,CAAC,QAAQ,KAAK,UAAU,IAAI,MAAM,CAAC,gBAAgB,EAAE,CAAC;wBAC9D,IAAI,CAAC;4BACH,MAAM,QAAQ,GAAG,mBAAmB,CAAC,MAAM,CAAC,CAAC;4BAC7C,KAAK,CAAC,SAAS,GAAG,MAAM,MAAM,CAAC,gBAAgB,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC;wBAClE,CAAC;wBAAC,MAAM,CAAC,CAAA,CAAC;oBACZ,CAAC;oBAED,MAAM,OAAO,CAAC,GAAG,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC;gBAChC,CAAC;YACH,CAAC;SACF;KACF,CAAC;IAEF,OAAO,UAAU,CAAC;AACpB,CAAC;AAED,MAAM,UAAU,sBAAsB,CACpC,IAAwB,EACxB,UAII,EAAE;IAEN,IAAI,IAAI,KAAK,OAAO,EAAE,CAAC;QACrB,IAAI,CAAC,OAAO,CAAC,WAAW,EAAE,CAAC;YACzB,MAAM,IAAI,KAAK,CAAC,wCAAwC,CAAC,CAAC;QAC5D,CAAC;QACD,OAAO,IAAI,qBAAqB,CAAC;YAC/B,MAAM,EAAE,OAAO,CAAC,WAAW;YAC3B,SAAS,EAAE,OAAO,CAAC,SAAS;YAC5B,OAAO,EAAE,OAAO,CAAC,OAAO;SACzB,CAAC,CAAC;IACL,CAAC;IAED,OAAO,IAAI,wBAAwB,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;AACvD,CAAC"}
@@ -3,6 +3,7 @@ import { ContextBuilder } from '@cogitator-ai/memory';
3
3
  import { ReflectionEngine } from '../reflection/index';
4
4
  import { ConstitutionalAI } from '../constitutional/index';
5
5
  import { CostAwareRouter } from '../cost-routing/index';
6
+ import { PromptInjectionDetector } from '../security/index';
6
7
  import type { Agent } from '../agent';
7
8
  export type SandboxManager = {
8
9
  initialize(): Promise<void>;
@@ -44,11 +45,14 @@ export interface InitializerState {
44
45
  guardrailsInitialized: boolean;
45
46
  costRouter?: CostAwareRouter;
46
47
  costRoutingInitialized: boolean;
48
+ injectionDetector?: PromptInjectionDetector;
49
+ securityInitialized: boolean;
47
50
  }
48
51
  export declare function initializeMemory(config: CogitatorConfig, state: InitializerState): Promise<void>;
49
52
  export declare function initializeSandbox(config: CogitatorConfig, state: InitializerState): Promise<void>;
50
53
  export declare function initializeReflection(config: CogitatorConfig, state: InitializerState, agent: Agent, getBackend: (model: string) => LLMBackend): Promise<void>;
51
54
  export declare function initializeGuardrails(config: CogitatorConfig, state: InitializerState, agent: Agent, getBackend: (model: string) => LLMBackend): void;
52
55
  export declare function initializeCostRouting(config: CogitatorConfig, state: InitializerState): void;
56
+ export declare function initializeSecurity(config: CogitatorConfig, state: InitializerState, getBackend: (model: string) => LLMBackend): void;
53
57
  export declare function cleanupState(state: InitializerState): Promise<void>;
54
58
  //# sourceMappingURL=initializers.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"initializers.d.ts","sourceRoot":"","sources":["../../src/cogitator/initializers.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,eAAe,EAAE,UAAU,EAAE,aAAa,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAC;AACpG,OAAO,EAIL,cAAc,EAEf,MAAM,sBAAsB,CAAC;AAE9B,OAAO,EAAE,gBAAgB,EAAwB,MAAM,qBAAqB,CAAC;AAC7E,OAAO,EAAE,gBAAgB,EAAE,MAAM,yBAAyB,CAAC;AAC3D,OAAO,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAC;AACxD,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,UAAU,CAAC;AAEtC,MAAM,MAAM,cAAc,GAAG;IAC3B,UAAU,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;IAC5B,OAAO,CACL,OAAO,EAAE;QAAE,OAAO,EAAE,MAAM,EAAE,CAAC;QAAC,GAAG,CAAC,EAAE,MAAM,CAAC;QAAC,GAAG,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;QAAC,OAAO,CAAC,EAAE,MAAM,CAAA;KAAE,EAC5F,MAAM,EAAE;QACN,IAAI,EAAE,MAAM,CAAC;QACb,KAAK,CAAC,EAAE,MAAM,CAAC;QACf,SAAS,CAAC,EAAE,OAAO,CAAC;QACpB,OAAO,CAAC,EAAE,OAAO,CAAC;QAClB,OAAO,CAAC,EAAE,MAAM,CAAC;KAClB,GACA,OAAO,CAAC;QACT,OAAO,EAAE,OAAO,CAAC;QACjB,IAAI,CAAC,EAAE;YACL,MAAM,EAAE,MAAM,CAAC;YACf,MAAM,EAAE,MAAM,CAAC;YACf,QAAQ,EAAE,MAAM,CAAC;YACjB,QAAQ,EAAE,OAAO,CAAC;YAClB,QAAQ,EAAE,MAAM,CAAC;SAClB,CAAC;QACF,KAAK,CAAC,EAAE,MAAM,CAAC;KAChB,CAAC,CAAC;IACH,iBAAiB,IAAI,OAAO,CAAC,OAAO,CAAC,CAAC;IACtC,QAAQ,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;CAC3B,CAAC;AAEF,MAAM,WAAW,gBAAgB;IAC/B,aAAa,CAAC,EAAE,aAAa,CAAC;IAC9B,cAAc,CAAC,EAAE,cAAc,CAAC;IAChC,iBAAiB,EAAE,OAAO,CAAC;IAC3B,cAAc,CAAC,EAAE,cAAc,CAAC;IAChC,kBAAkB,EAAE,OAAO,CAAC;IAC5B,gBAAgB,CAAC,EAAE,gBAAgB,CAAC;IACpC,YAAY,CAAC,EAAE,YAAY,CAAC;IAC5B,qBAAqB,EAAE,OAAO,CAAC;IAC/B,gBAAgB,CAAC,EAAE,gBAAgB,CAAC;IACpC,qBAAqB,EAAE,OAAO,CAAC;IAC/B,UAAU,CAAC,EAAE,eAAe,CAAC;IAC7B,sBAAsB,EAAE,OAAO,CAAC;CACjC;AAED,wBAAsB,gBAAgB,CACpC,MAAM,EAAE,eAAe,EACvB,KAAK,EAAE,gBAAgB,GACtB,OAAO,CAAC,IAAI,CAAC,CA2Df;AAED,wBAAsB,iBAAiB,CACrC,MAAM,EAAE,eAAe,EACvB,KAAK,EAAE,gBAAgB,GACtB,OAAO,CAAC,IAAI,CAAC,CAWf;AAED,wBAAsB,oBAAoB,CACxC,MAAM,EAAE,eAAe,EACvB,KAAK,EAAE,gBAAgB,EACvB,KAAK,EAAE,KAAK,EACZ,UAAU,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,UAAU,GACxC,OAAO,CAAC,IAAI,CAAC,CAaf;AAED,wBAAgB,oBAAoB,CAClC,MAAM,EAAE,eAAe,EACvB,KAAK,EAAE,gBAAgB,EACvB,KAAK,EAAE,KAAK,EACZ,UAAU,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,UAAU,GACxC,IAAI,CAYN;AAED,wBAAgB,qBAAqB,CAAC,MAAM,EAAE,eAAe,EAAE,KAAK,EAAE,gBAAgB,GAAG,IAAI,CAK5F;AAED,wBAAsB,YAAY,CAAC,KAAK,EAAE,gBAAgB,GAAG,OAAO,CAAC,IAAI,CAAC,CAmBzE"}
1
+ {"version":3,"file":"initializers.d.ts","sourceRoot":"","sources":["../../src/cogitator/initializers.ts"],"names":[],"mappings":"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"}
@@ -3,6 +3,7 @@ import { getLogger } from '../logger';
3
3
  import { ReflectionEngine, InMemoryInsightStore } from '../reflection/index';
4
4
  import { ConstitutionalAI } from '../constitutional/index';
5
5
  import { CostAwareRouter } from '../cost-routing/index';
6
+ import { PromptInjectionDetector } from '../security/index';
6
7
  export async function initializeMemory(config, state) {
7
8
  if (state.memoryInitialized || !config.memory?.adapter)
8
9
  return;
@@ -103,6 +104,17 @@ export function initializeCostRouting(config, state) {
103
104
  state.costRouter = new CostAwareRouter({ config: config.costRouting });
104
105
  state.costRoutingInitialized = true;
105
106
  }
107
+ export function initializeSecurity(config, state, getBackend) {
108
+ if (state.securityInitialized || !config.security?.promptInjection)
109
+ return;
110
+ const injectionConfig = config.security.promptInjection;
111
+ if (injectionConfig.classifier === 'llm' && !injectionConfig.llmBackend) {
112
+ const model = injectionConfig.llmModel ?? 'gpt-4o-mini';
113
+ injectionConfig.llmBackend = getBackend(model);
114
+ }
115
+ state.injectionDetector = new PromptInjectionDetector(injectionConfig);
116
+ state.securityInitialized = true;
117
+ }
106
118
  export async function cleanupState(state) {
107
119
  if (state.memoryAdapter) {
108
120
  await state.memoryAdapter.disconnect();
@@ -122,5 +134,7 @@ export async function cleanupState(state) {
122
134
  state.guardrailsInitialized = false;
123
135
  state.costRouter = undefined;
124
136
  state.costRoutingInitialized = false;
137
+ state.injectionDetector = undefined;
138
+ state.securityInitialized = false;
125
139
  }
126
140
  //# sourceMappingURL=initializers.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"initializers.js","sourceRoot":"","sources":["../../src/cogitator/initializers.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"initializers.js","sourceRoot":"","sources":["../../src/cogitator/initializers.ts"],"names":[],"mappings":"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"}
@@ -1,4 +1,4 @@
1
- import type { CogitatorConfig, RunOptions, RunResult, Constitution, CostSummary } from '@cogitator-ai/types';
1
+ import type { CogitatorConfig, RunOptions, RunResult, Constitution, CostSummary, CostEstimate, EstimateOptions } from '@cogitator-ai/types';
2
2
  import { type Agent } from './agent';
3
3
  import { ToolRegistry } from './registry';
4
4
  /**
@@ -55,6 +55,7 @@ export declare class Cogitator {
55
55
  /** Global tool registry shared across all runs */
56
56
  readonly tools: ToolRegistry;
57
57
  private state;
58
+ private costEstimator?;
58
59
  /**
59
60
  * Create a new Cogitator runtime.
60
61
  *
@@ -152,6 +153,42 @@ export declare class Cogitator {
152
153
  * @returns CostAwareRouter instance, undefined if cost routing not enabled
153
154
  */
154
155
  getCostRouter(): import("./cost-routing").CostAwareRouter | undefined;
156
+ /**
157
+ * Estimate the cost of running an agent before execution.
158
+ *
159
+ * Returns min/max/expected cost estimates based on:
160
+ * - Model pricing (from registry)
161
+ * - Task complexity analysis
162
+ * - Tool usage patterns
163
+ * - Estimated iterations
164
+ *
165
+ * @param params - Estimation parameters
166
+ * @param params.agent - Agent to estimate cost for
167
+ * @param params.input - User input/prompt
168
+ * @param params.options - Optional estimation overrides
169
+ * @returns Cost estimate with breakdown and confidence score
170
+ *
171
+ * @example
172
+ * ```ts
173
+ * const estimate = await cog.estimateCost({
174
+ * agent,
175
+ * input: 'Analyze this document and summarize key points',
176
+ * options: { assumeIterations: 3, assumeToolCalls: 5 }
177
+ * });
178
+ *
179
+ * console.log(`Expected cost: $${estimate.expectedCost.toFixed(4)}`);
180
+ * console.log(`Confidence: ${(estimate.confidence * 100).toFixed(0)}%`);
181
+ *
182
+ * if (estimate.expectedCost > 0.10) {
183
+ * console.log('Warning: This may be an expensive operation');
184
+ * }
185
+ * ```
186
+ */
187
+ estimateCost(params: {
188
+ agent: Agent;
189
+ input: string;
190
+ options?: EstimateOptions;
191
+ }): Promise<CostEstimate>;
155
192
  /**
156
193
  * Close all connections and release resources.
157
194
  *
@@ -1 +1 @@
1
- {"version":3,"file":"cogitator.d.ts","sourceRoot":"","sources":["../src/cogitator.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EACV,eAAe,EACf,UAAU,EACV,SAAS,EAST,YAAY,EACZ,WAAW,EACZ,MAAM,qBAAqB,CAAC;AAE7B,OAAO,EAAE,KAAK,KAAK,EAAE,MAAM,SAAS,CAAC;AACrC,OAAO,EAAE,YAAY,EAAE,MAAM,YAAY,CAAC;AAsB1C;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA+CG;AACH,qBAAa,SAAS;IACpB,OAAO,CAAC,MAAM,CAAkB;IAChC,OAAO,CAAC,QAAQ,CAAsC;IACtD,kDAAkD;IAClD,SAAgB,KAAK,EAAE,YAAY,CAAsB;IAEzD,OAAO,CAAC,KAAK,CAMX;IAEF;;;;;;;;;;OAUG;gBACS,MAAM,GAAE,eAAoB;IAIxC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;OAiCG;IACG,GAAG,CAAC,KAAK,EAAE,KAAK,EAAE,OAAO,EAAE,UAAU,GAAG,OAAO,CAAC,SAAS,CAAC;YA+alD,aAAa;IAkB3B,OAAO,CAAC,UAAU;IAiBlB,OAAO,CAAC,aAAa;IAWrB;;;;;;;;OAQG;IACG,WAAW,CAAC,OAAO,EAAE,MAAM;IAKjC;;;;;;;;OAQG;IACG,oBAAoB,CAAC,OAAO,EAAE,MAAM;IAK1C;;;;OAIG;IACH,aAAa;IAIb;;;;;;;OAOG;IACH,eAAe,CAAC,YAAY,EAAE,YAAY,GAAG,IAAI;IAIjD;;;;OAIG;IACH,cAAc,IAAI,WAAW,GAAG,SAAS;IAIzC;;;;OAIG;IACH,aAAa;IAIb;;;;;;;;;;;;;;;;OAgBG;IACG,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC;CAI7B"}
1
+ {"version":3,"file":"cogitator.d.ts","sourceRoot":"","sources":["../src/cogitator.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EACV,eAAe,EACf,UAAU,EACV,SAAS,EAST,YAAY,EACZ,WAAW,EACX,YAAY,EACZ,eAAe,EAChB,MAAM,qBAAqB,CAAC;AAE7B,OAAO,EAAE,KAAK,KAAK,EAAE,MAAM,SAAS,CAAC;AACrC,OAAO,EAAE,YAAY,EAAE,MAAM,YAAY,CAAC;AAyB1C;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA+CG;AACH,qBAAa,SAAS;IACpB,OAAO,CAAC,MAAM,CAAkB;IAChC,OAAO,CAAC,QAAQ,CAAsC;IACtD,kDAAkD;IAClD,SAAgB,KAAK,EAAE,YAAY,CAAsB;IAEzD,OAAO,CAAC,KAAK,CAOX;IAEF,OAAO,CAAC,aAAa,CAAC,CAAgB;IAEtC;;;;;;;;;;OAUG;gBACS,MAAM,GAAE,eAAoB;IAIxC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;OAiCG;IACG,GAAG,CAAC,KAAK,EAAE,KAAK,EAAE,OAAO,EAAE,UAAU,GAAG,OAAO,CAAC,SAAS,CAAC;YA2blD,aAAa;IAsB3B,OAAO,CAAC,UAAU;IAiBlB,OAAO,CAAC,aAAa;IAWrB;;;;;;;;OAQG;IACG,WAAW,CAAC,OAAO,EAAE,MAAM;IAKjC;;;;;;;;OAQG;IACG,oBAAoB,CAAC,OAAO,EAAE,MAAM;IAK1C;;;;OAIG;IACH,aAAa;IAIb;;;;;;;OAOG;IACH,eAAe,CAAC,YAAY,EAAE,YAAY,GAAG,IAAI;IAIjD;;;;OAIG;IACH,cAAc,IAAI,WAAW,GAAG,SAAS;IAIzC;;;;OAIG;IACH,aAAa;IAIb;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;OA8BG;IACG,YAAY,CAAC,MAAM,EAAE;QACzB,KAAK,EAAE,KAAK,CAAC;QACb,KAAK,EAAE,MAAM,CAAC;QACd,OAAO,CAAC,EAAE,eAAe,CAAC;KAC3B,GAAG,OAAO,CAAC,YAAY,CAAC;IAOzB;;;;;;;;;;;;;;;;OAgBG;IACG,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC;CAI7B"}
package/dist/cogitator.js CHANGED
@@ -3,11 +3,13 @@ import { getPrice } from '@cogitator-ai/models';
3
3
  import { ToolRegistry } from './registry';
4
4
  import { createLLMBackend, parseModel } from './llm/index';
5
5
  import { getLogger } from './logger';
6
- import { initializeMemory, initializeSandbox, initializeReflection, initializeGuardrails, initializeCostRouting, cleanupState, } from './cogitator/initializers';
6
+ import { initializeMemory, initializeSandbox, initializeReflection, initializeGuardrails, initializeCostRouting, initializeSecurity, cleanupState, } from './cogitator/initializers';
7
+ import { CogitatorError, ErrorCode } from '@cogitator-ai/types';
7
8
  import { buildInitialMessages, saveEntry, enrichMessagesWithInsights, addContextToMessages, } from './cogitator/message-builder';
8
9
  import { createSpan, getTextContent } from './cogitator/span-factory';
9
10
  import { executeTool, createToolMessage } from './cogitator/tool-executor';
10
11
  import { streamChat } from './cogitator/streaming';
12
+ import { CostEstimator } from './cost-routing/cost-estimator';
11
13
  /**
12
14
  * Main runtime for executing AI agents.
13
15
  *
@@ -67,7 +69,9 @@ export class Cogitator {
67
69
  reflectionInitialized: false,
68
70
  guardrailsInitialized: false,
69
71
  costRoutingInitialized: false,
72
+ securityInitialized: false,
70
73
  };
74
+ costEstimator;
71
75
  /**
72
76
  * Create a new Cogitator runtime.
73
77
  *
@@ -150,6 +154,17 @@ export class Cogitator {
150
154
  const backend = this.getBackend(effectiveModel, agent.config.provider);
151
155
  const model = agent.config.provider ? effectiveModel : parseModel(effectiveModel).model;
152
156
  const messages = await buildInitialMessages(agent, options, threadId, this.state.memoryAdapter, this.state.contextBuilder);
157
+ if (this.state.injectionDetector) {
158
+ const injectionResult = await this.state.injectionDetector.analyze(options.input);
159
+ if (injectionResult.action === 'blocked') {
160
+ const threatTypes = injectionResult.threats.map((t) => t.type).join(', ');
161
+ throw new CogitatorError({
162
+ message: `Prompt injection detected: ${threatTypes}`,
163
+ code: ErrorCode.PROMPT_INJECTION_DETECTED,
164
+ details: { threats: injectionResult.threats },
165
+ });
166
+ }
167
+ }
153
168
  if (this.state.constitutionalAI && this.config.guardrails?.filterInput) {
154
169
  const inputResult = await this.state.constitutionalAI.filterInput(options.input);
155
170
  if (!inputResult.allowed) {
@@ -412,6 +427,9 @@ export class Cogitator {
412
427
  if (this.config.costRouting?.enabled && !this.state.costRoutingInitialized) {
413
428
  initializeCostRouting(this.config, this.state);
414
429
  }
430
+ if (this.config.security?.promptInjection && !this.state.securityInitialized) {
431
+ initializeSecurity(this.config, this.state, (model) => this.getBackend(model));
432
+ }
415
433
  }
416
434
  getBackend(modelString, explicitProvider) {
417
435
  const { provider: parsedProvider } = parseModel(modelString);
@@ -497,6 +515,43 @@ export class Cogitator {
497
515
  getCostRouter() {
498
516
  return this.state.costRouter;
499
517
  }
518
+ /**
519
+ * Estimate the cost of running an agent before execution.
520
+ *
521
+ * Returns min/max/expected cost estimates based on:
522
+ * - Model pricing (from registry)
523
+ * - Task complexity analysis
524
+ * - Tool usage patterns
525
+ * - Estimated iterations
526
+ *
527
+ * @param params - Estimation parameters
528
+ * @param params.agent - Agent to estimate cost for
529
+ * @param params.input - User input/prompt
530
+ * @param params.options - Optional estimation overrides
531
+ * @returns Cost estimate with breakdown and confidence score
532
+ *
533
+ * @example
534
+ * ```ts
535
+ * const estimate = await cog.estimateCost({
536
+ * agent,
537
+ * input: 'Analyze this document and summarize key points',
538
+ * options: { assumeIterations: 3, assumeToolCalls: 5 }
539
+ * });
540
+ *
541
+ * console.log(`Expected cost: $${estimate.expectedCost.toFixed(4)}`);
542
+ * console.log(`Confidence: ${(estimate.confidence * 100).toFixed(0)}%`);
543
+ *
544
+ * if (estimate.expectedCost > 0.10) {
545
+ * console.log('Warning: This may be an expensive operation');
546
+ * }
547
+ * ```
548
+ */
549
+ async estimateCost(params) {
550
+ if (!this.costEstimator) {
551
+ this.costEstimator = new CostEstimator();
552
+ }
553
+ return this.costEstimator.estimate(params);
554
+ }
500
555
  /**
501
556
  * Close all connections and release resources.
502
557
  *
@@ -1 +1 @@
1
- {"version":3,"file":"cogitator.js","sourceRoot":"","sources":["../src/cogitator.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"cogitator.js","sourceRoot":"","sources":["../src/cogitator.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,18 @@
1
+ import type { CostEstimate, EstimateOptions } from '@cogitator-ai/types';
2
+ import type { Agent } from '../agent';
3
+ export declare class CostEstimator {
4
+ private taskAnalyzer;
5
+ private tokenEstimator;
6
+ constructor();
7
+ estimate(params: {
8
+ agent: Agent;
9
+ input: string;
10
+ options?: EstimateOptions;
11
+ }): Promise<CostEstimate>;
12
+ private calculateCost;
13
+ private calculateConfidence;
14
+ private isLocalModel;
15
+ private createLocalModelEstimate;
16
+ private round;
17
+ }
18
+ //# sourceMappingURL=cost-estimator.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"cost-estimator.d.ts","sourceRoot":"","sources":["../../src/cost-routing/cost-estimator.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,YAAY,EAEZ,eAAe,EAIhB,MAAM,qBAAqB,CAAC;AAE7B,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,UAAU,CAAC;AAmBtC,qBAAa,aAAa;IACxB,OAAO,CAAC,YAAY,CAAe;IACnC,OAAO,CAAC,cAAc,CAAiB;;IAOjC,QAAQ,CAAC,MAAM,EAAE;QACrB,KAAK,EAAE,KAAK,CAAC;QACb,KAAK,EAAE,MAAM,CAAC;QACd,OAAO,CAAC,EAAE,eAAe,CAAC;KAC3B,GAAG,OAAO,CAAC,YAAY,CAAC;IA0GzB,OAAO,CAAC,aAAa;IAWrB,OAAO,CAAC,mBAAmB;IAiB3B,OAAO,CAAC,YAAY;IAKpB,OAAO,CAAC,wBAAwB;IA0BhC,OAAO,CAAC,KAAK;CAGd"}