@cleocode/contracts 2026.4.139 → 2026.4.141

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.
@@ -8,6 +8,7 @@ export * from './brain.js';
8
8
  export * from './conduit.js';
9
9
  export * from './issues.js';
10
10
  export * from './lifecycle.js';
11
+ export * from './llm.js';
11
12
  export * from './memory.js';
12
13
  export * from './nexus.js';
13
14
  export * from './nexus-user-profile.js';
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/operations/index.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,cAAc,YAAY,CAAC;AAC3B,cAAc,cAAc,CAAC;AAC7B,cAAc,aAAa,CAAC;AAC5B,cAAc,gBAAgB,CAAC;AAC/B,cAAc,aAAa,CAAC;AAC5B,cAAc,YAAY,CAAC;AAC3B,cAAc,yBAAyB,CAAC;AACxC,cAAc,kBAAkB,CAAC;AACjC,cAAc,aAAa,CAAC;AAC5B,cAAc,cAAc,CAAC;AAC7B,cAAc,eAAe,CAAC;AAC9B,cAAc,cAAc,CAAC;AAC7B,cAAc,aAAa,CAAC;AAC5B,cAAc,aAAa,CAAC;AAC5B,cAAc,YAAY,CAAC;AAC3B,cAAc,eAAe,CAAC;AAC9B,cAAc,4BAA4B,CAAC;AAC3C,cAAc,eAAe,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/operations/index.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,cAAc,YAAY,CAAC;AAC3B,cAAc,cAAc,CAAC;AAC7B,cAAc,aAAa,CAAC;AAC5B,cAAc,gBAAgB,CAAC;AAC/B,cAAc,UAAU,CAAC;AACzB,cAAc,aAAa,CAAC;AAC5B,cAAc,YAAY,CAAC;AAC3B,cAAc,yBAAyB,CAAC;AACxC,cAAc,kBAAkB,CAAC;AACjC,cAAc,aAAa,CAAC;AAC5B,cAAc,cAAc,CAAC;AAC7B,cAAc,eAAe,CAAC;AAC9B,cAAc,cAAc,CAAC;AAC7B,cAAc,aAAa,CAAC;AAC5B,cAAc,aAAa,CAAC;AAC5B,cAAc,YAAY,CAAC;AAC3B,cAAc,eAAe,CAAC;AAC9B,cAAc,4BAA4B,CAAC;AAC3C,cAAc,eAAe,CAAC"}
@@ -8,6 +8,7 @@ export * from './brain.js';
8
8
  export * from './conduit.js';
9
9
  export * from './issues.js';
10
10
  export * from './lifecycle.js';
11
+ export * from './llm.js';
11
12
  export * from './memory.js';
12
13
  export * from './nexus.js';
13
14
  export * from './nexus-user-profile.js';
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/operations/index.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,cAAc,YAAY,CAAC;AAC3B,cAAc,cAAc,CAAC;AAC7B,cAAc,aAAa,CAAC;AAC5B,cAAc,gBAAgB,CAAC;AAC/B,cAAc,aAAa,CAAC;AAC5B,cAAc,YAAY,CAAC;AAC3B,cAAc,yBAAyB,CAAC;AACxC,cAAc,kBAAkB,CAAC;AACjC,cAAc,aAAa,CAAC;AAC5B,cAAc,cAAc,CAAC;AAC7B,cAAc,eAAe,CAAC;AAC9B,cAAc,cAAc,CAAC;AAC7B,cAAc,aAAa,CAAC;AAC5B,cAAc,aAAa,CAAC;AAC5B,cAAc,YAAY,CAAC;AAC3B,cAAc,eAAe,CAAC;AAC9B,cAAc,4BAA4B,CAAC;AAC3C,cAAc,eAAe,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/operations/index.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,cAAc,YAAY,CAAC;AAC3B,cAAc,cAAc,CAAC;AAC7B,cAAc,aAAa,CAAC;AAC5B,cAAc,gBAAgB,CAAC;AAC/B,cAAc,UAAU,CAAC;AACzB,cAAc,aAAa,CAAC;AAC5B,cAAc,YAAY,CAAC;AAC3B,cAAc,yBAAyB,CAAC;AACxC,cAAc,kBAAkB,CAAC;AACjC,cAAc,aAAa,CAAC;AAC5B,cAAc,cAAc,CAAC;AAC7B,cAAc,eAAe,CAAC;AAC9B,cAAc,cAAc,CAAC;AAC7B,cAAc,aAAa,CAAC;AAC5B,cAAc,aAAa,CAAC;AAC5B,cAAc,YAAY,CAAC;AAC3B,cAAc,eAAe,CAAC;AAC9B,cAAc,4BAA4B,CAAC;AAC3C,cAAc,eAAe,CAAC"}
@@ -0,0 +1,108 @@
1
+ /**
2
+ * LLM operations contract types for the CLEO LLM abstraction layer.
3
+ *
4
+ * These are the wire-format types for the new `cleoLlmCall()` API surface
5
+ * ported from PSYCHE's llm/ layer. They live in contracts so that packages
6
+ * outside core can reference them without importing the full SDK.
7
+ *
8
+ * @task T1399 (T1386-W13)
9
+ * @epic T1386
10
+ */
11
+ /** Supported provider transport names. */
12
+ export type ModelTransport = 'anthropic' | 'openai' | 'gemini';
13
+ /** Cache policy mode for prompt prefix caching. */
14
+ export type PromptCachePolicyMode = 'gemini_cached_content';
15
+ /** Prompt caching policy descriptor. */
16
+ export interface PromptCachePolicy {
17
+ /** Cache mode — only 'gemini_cached_content' currently supported. */
18
+ mode: PromptCachePolicyMode;
19
+ /** TTL in seconds for the cached content (default: 300). */
20
+ ttlSeconds?: number;
21
+ /** Key version for cache invalidation. */
22
+ keyVersion?: string;
23
+ }
24
+ /** Model configuration for a single provider. */
25
+ export interface ModelConfig {
26
+ /** Provider SDK transport. */
27
+ transport: ModelTransport;
28
+ /** Full model identifier string (e.g. 'claude-sonnet-4-6', 'gpt-4o', 'gemini-pro'). */
29
+ model: string;
30
+ /** Override API key (uses env defaults if null). */
31
+ apiKey?: string | null;
32
+ /** Override base URL for proxy providers. */
33
+ baseUrl?: string | null;
34
+ /** Sampling temperature. */
35
+ temperature?: number | null;
36
+ top_p?: number | null;
37
+ top_k?: number | null;
38
+ frequencyPenalty?: number | null;
39
+ presencePenalty?: number | null;
40
+ seed?: number | null;
41
+ /** OpenAI reasoning effort level. */
42
+ thinkingEffort?: string | null;
43
+ /** Anthropic extended thinking budget tokens. */
44
+ thinkingBudgetTokens?: number | null;
45
+ /** Provider-specific passthrough params. */
46
+ providerParams?: Record<string, unknown> | null;
47
+ /** Override max output tokens (null = use per-call maxTokens). */
48
+ maxOutputTokens?: number | null;
49
+ /** Stop sequences. */
50
+ stopSequences?: string[] | null;
51
+ /** Prompt caching policy. */
52
+ cachePolicy?: PromptCachePolicy | null;
53
+ /** Fallback model config used on final retry attempt. */
54
+ fallback?: Omit<ModelConfig, 'fallback'> | null;
55
+ }
56
+ /** Parameters for a single LLM call. */
57
+ export interface LLMCallParams {
58
+ modelConfig: ModelConfig;
59
+ prompt: string;
60
+ maxTokens: number;
61
+ /** Optional pre-built message list (overrides prompt string). */
62
+ messages?: Array<Record<string, unknown>> | null;
63
+ temperature?: number | null;
64
+ stopSeqs?: string[] | null;
65
+ jsonMode?: boolean;
66
+ reasoningEffort?: string | null;
67
+ verbosity?: 'low' | 'medium' | 'high' | null;
68
+ thinkingBudgetTokens?: number | null;
69
+ enableRetry?: boolean;
70
+ retryAttempts?: number;
71
+ stream?: boolean;
72
+ streamFinalOnly?: boolean;
73
+ tools?: Array<Record<string, unknown>> | null;
74
+ toolChoice?: string | Record<string, unknown> | null;
75
+ maxToolIterations?: number;
76
+ maxInputTokens?: number | null;
77
+ traceName?: string | null;
78
+ trackName?: string | null;
79
+ }
80
+ /** Tool call parameters from the LLM. */
81
+ export interface ToolCallParams {
82
+ id: string;
83
+ name: string;
84
+ input: Record<string, unknown>;
85
+ thoughtSignature?: string | null;
86
+ }
87
+ /** Tool execution result to feed back to the LLM. */
88
+ export interface ToolResult {
89
+ toolId: string;
90
+ toolName: string;
91
+ result: unknown;
92
+ isError?: boolean;
93
+ }
94
+ /** Result of a completed LLM call. */
95
+ export interface LLMCallResult<T = string> {
96
+ content: T;
97
+ inputTokens: number;
98
+ outputTokens: number;
99
+ cacheCreationInputTokens: number;
100
+ cacheReadInputTokens: number;
101
+ finishReasons: string[];
102
+ toolCallsMade: ToolCallParams[];
103
+ iterations: number;
104
+ thinkingContent: string | null;
105
+ thinkingBlocks: Array<Record<string, unknown>>;
106
+ reasoningDetails: Array<Record<string, unknown>>;
107
+ }
108
+ //# sourceMappingURL=llm.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"llm.d.ts","sourceRoot":"","sources":["../../src/operations/llm.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,12 @@
1
+ /**
2
+ * LLM operations contract types for the CLEO LLM abstraction layer.
3
+ *
4
+ * These are the wire-format types for the new `cleoLlmCall()` API surface
5
+ * ported from PSYCHE's llm/ layer. They live in contracts so that packages
6
+ * outside core can reference them without importing the full SDK.
7
+ *
8
+ * @task T1399 (T1386-W13)
9
+ * @epic T1386
10
+ */
11
+ export {};
12
+ //# sourceMappingURL=llm.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"llm.js","sourceRoot":"","sources":["../../src/operations/llm.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@cleocode/contracts",
3
- "version": "2026.4.139",
3
+ "version": "2026.4.141",
4
4
  "description": "Domain types, interfaces, and contracts for the CLEO ecosystem",
5
5
  "type": "module",
6
6
  "main": "./dist/index.js",
@@ -9,6 +9,7 @@ export * from './brain.js';
9
9
  export * from './conduit.js';
10
10
  export * from './issues.js';
11
11
  export * from './lifecycle.js';
12
+ export * from './llm.js';
12
13
  export * from './memory.js';
13
14
  export * from './nexus.js';
14
15
  export * from './nexus-user-profile.js';
@@ -0,0 +1,115 @@
1
+ /**
2
+ * LLM operations contract types for the CLEO LLM abstraction layer.
3
+ *
4
+ * These are the wire-format types for the new `cleoLlmCall()` API surface
5
+ * ported from PSYCHE's llm/ layer. They live in contracts so that packages
6
+ * outside core can reference them without importing the full SDK.
7
+ *
8
+ * @task T1399 (T1386-W13)
9
+ * @epic T1386
10
+ */
11
+
12
+ /** Supported provider transport names. */
13
+ export type ModelTransport = 'anthropic' | 'openai' | 'gemini';
14
+
15
+ /** Cache policy mode for prompt prefix caching. */
16
+ export type PromptCachePolicyMode = 'gemini_cached_content';
17
+
18
+ /** Prompt caching policy descriptor. */
19
+ export interface PromptCachePolicy {
20
+ /** Cache mode — only 'gemini_cached_content' currently supported. */
21
+ mode: PromptCachePolicyMode;
22
+ /** TTL in seconds for the cached content (default: 300). */
23
+ ttlSeconds?: number;
24
+ /** Key version for cache invalidation. */
25
+ keyVersion?: string;
26
+ }
27
+
28
+ /** Model configuration for a single provider. */
29
+ export interface ModelConfig {
30
+ /** Provider SDK transport. */
31
+ transport: ModelTransport;
32
+ /** Full model identifier string (e.g. 'claude-sonnet-4-6', 'gpt-4o', 'gemini-pro'). */
33
+ model: string;
34
+ /** Override API key (uses env defaults if null). */
35
+ apiKey?: string | null;
36
+ /** Override base URL for proxy providers. */
37
+ baseUrl?: string | null;
38
+ /** Sampling temperature. */
39
+ temperature?: number | null;
40
+ top_p?: number | null;
41
+ top_k?: number | null;
42
+ frequencyPenalty?: number | null;
43
+ presencePenalty?: number | null;
44
+ seed?: number | null;
45
+ /** OpenAI reasoning effort level. */
46
+ thinkingEffort?: string | null;
47
+ /** Anthropic extended thinking budget tokens. */
48
+ thinkingBudgetTokens?: number | null;
49
+ /** Provider-specific passthrough params. */
50
+ providerParams?: Record<string, unknown> | null;
51
+ /** Override max output tokens (null = use per-call maxTokens). */
52
+ maxOutputTokens?: number | null;
53
+ /** Stop sequences. */
54
+ stopSequences?: string[] | null;
55
+ /** Prompt caching policy. */
56
+ cachePolicy?: PromptCachePolicy | null;
57
+ /** Fallback model config used on final retry attempt. */
58
+ fallback?: Omit<ModelConfig, 'fallback'> | null;
59
+ }
60
+
61
+ /** Parameters for a single LLM call. */
62
+ export interface LLMCallParams {
63
+ modelConfig: ModelConfig;
64
+ prompt: string;
65
+ maxTokens: number;
66
+ /** Optional pre-built message list (overrides prompt string). */
67
+ messages?: Array<Record<string, unknown>> | null;
68
+ temperature?: number | null;
69
+ stopSeqs?: string[] | null;
70
+ jsonMode?: boolean;
71
+ reasoningEffort?: string | null;
72
+ verbosity?: 'low' | 'medium' | 'high' | null;
73
+ thinkingBudgetTokens?: number | null;
74
+ enableRetry?: boolean;
75
+ retryAttempts?: number;
76
+ stream?: boolean;
77
+ streamFinalOnly?: boolean;
78
+ tools?: Array<Record<string, unknown>> | null;
79
+ toolChoice?: string | Record<string, unknown> | null;
80
+ maxToolIterations?: number;
81
+ maxInputTokens?: number | null;
82
+ traceName?: string | null;
83
+ trackName?: string | null;
84
+ }
85
+
86
+ /** Tool call parameters from the LLM. */
87
+ export interface ToolCallParams {
88
+ id: string;
89
+ name: string;
90
+ input: Record<string, unknown>;
91
+ thoughtSignature?: string | null;
92
+ }
93
+
94
+ /** Tool execution result to feed back to the LLM. */
95
+ export interface ToolResult {
96
+ toolId: string;
97
+ toolName: string;
98
+ result: unknown;
99
+ isError?: boolean;
100
+ }
101
+
102
+ /** Result of a completed LLM call. */
103
+ export interface LLMCallResult<T = string> {
104
+ content: T;
105
+ inputTokens: number;
106
+ outputTokens: number;
107
+ cacheCreationInputTokens: number;
108
+ cacheReadInputTokens: number;
109
+ finishReasons: string[];
110
+ toolCallsMade: ToolCallParams[];
111
+ iterations: number;
112
+ thinkingContent: string | null;
113
+ thinkingBlocks: Array<Record<string, unknown>>;
114
+ reasoningDetails: Array<Record<string, unknown>>;
115
+ }