@tyvm/knowhow 0.0.39 → 0.0.40

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/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@tyvm/knowhow",
3
- "version": "0.0.39",
3
+ "version": "0.0.40",
4
4
  "description": "ai cli with plugins and agents",
5
5
  "main": "ts_build/src/index.js",
6
6
  "bin": {
@@ -33,6 +33,41 @@ export class GenericOpenAiClient implements GenericClient {
33
33
  });
34
34
  }
35
35
 
36
+ reasoningEffort(
37
+ messages: CompletionOptions["messages"]
38
+ ): "low" | "medium" | "high" {
39
+ const effortMap = {
40
+ ultrathink: "high",
41
+ "think hard": "high",
42
+ "reason hard": "high",
43
+
44
+ "think carefully": "medium",
45
+ "reason carefully": "medium",
46
+ "think medium": "medium",
47
+ "reason medium": "medium",
48
+
49
+ "think low": "low",
50
+ "reason low": "low",
51
+ "think simple": "low",
52
+ "reason simple": "low",
53
+ };
54
+
55
+ for (const key in effortMap) {
56
+ if (
57
+ messages.some(
58
+ (msg) =>
59
+ typeof msg.content === "string" &&
60
+ msg.role === "user" &&
61
+ msg.content?.includes(key)
62
+ )
63
+ ) {
64
+ return effortMap[key];
65
+ }
66
+ }
67
+
68
+ return "medium"; // Default to medium if no specific effort is mentioned
69
+ }
70
+
36
71
  async createChatCompletion(
37
72
  options: CompletionOptions
38
73
  ): Promise<CompletionResponse> {
@@ -55,7 +90,7 @@ export class GenericOpenAiClient implements GenericClient {
55
90
  ...(OpenAiReasoningModels.includes(options.model) && {
56
91
  max_tokens: undefined,
57
92
  max_completion_tokens: Math.max(options.max_tokens, 100),
58
- // Health check requires some thoughts
93
+ reasoning_effort: this.reasoningEffort(options.messages),
59
94
  }),
60
95
 
61
96
  ...(options.tools && {
@@ -5,6 +5,7 @@ export declare class GenericOpenAiClient implements GenericClient {
5
5
  apiKey?: string;
6
6
  constructor(apiKey?: string);
7
7
  setKey(apiKey: string): void;
8
+ reasoningEffort(messages: CompletionOptions["messages"]): "low" | "medium" | "high";
8
9
  createChatCompletion(options: CompletionOptions): Promise<CompletionResponse>;
9
10
  pricesPerMillion(): {
10
11
  [x: string]: {
@@ -21,6 +21,29 @@ class GenericOpenAiClient {
21
21
  ...(config.openaiBaseUrl && { baseURL: config.openaiBaseUrl }),
22
22
  });
23
23
  }
24
+ reasoningEffort(messages) {
25
+ const effortMap = {
26
+ ultrathink: "high",
27
+ "think hard": "high",
28
+ "reason hard": "high",
29
+ "think carefully": "medium",
30
+ "reason carefully": "medium",
31
+ "think medium": "medium",
32
+ "reason medium": "medium",
33
+ "think low": "low",
34
+ "reason low": "low",
35
+ "think simple": "low",
36
+ "reason simple": "low",
37
+ };
38
+ for (const key in effortMap) {
39
+ if (messages.some((msg) => typeof msg.content === "string" &&
40
+ msg.role === "user" &&
41
+ msg.content?.includes(key))) {
42
+ return effortMap[key];
43
+ }
44
+ }
45
+ return "medium";
46
+ }
24
47
  async createChatCompletion(options) {
25
48
  const openaiMessages = options.messages.map((msg) => {
26
49
  if (msg.role === "tool") {
@@ -40,6 +63,7 @@ class GenericOpenAiClient {
40
63
  ...(types_1.OpenAiReasoningModels.includes(options.model) && {
41
64
  max_tokens: undefined,
42
65
  max_completion_tokens: Math.max(options.max_tokens, 100),
66
+ reasoning_effort: this.reasoningEffort(options.messages),
43
67
  }),
44
68
  ...(options.tools && {
45
69
  tools: options.tools,
@@ -1 +1 @@
1
- {"version":3,"file":"openai.js","sourceRoot":"","sources":["../../../src/clients/openai.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"openai.js","sourceRoot":"","sources":["../../../src/clients/openai.ts"],"names":[],"mappings":"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"}