@kolisachint/hoocode-ai 0.1.4 → 0.2.1

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/README.md CHANGED
@@ -388,7 +388,7 @@ All streaming events emitted during assistant message generation:
388
388
  | `done` | Stream complete | `reason`: Stop reason ("stop", "length", "toolUse"), `message`: Final assistant message |
389
389
  | `error` | Error occurred | `reason`: Error type ("error" or "aborted"), `error`: AssistantMessage with partial content |
390
390
 
391
- Streaming events for different content blocks are not guaranteed to be contiguous. Providers may emit deltas for text, thinking, and tool calls in the same upstream chunk, and pi may surface corresponding events interleaved, for example `text_start`, `text_delta`, `toolcall_start`, `text_delta`, `toolcall_delta`. Consumers must use `contentIndex` to associate each delta/end event with its block and must not assume that a block's `*_start`/`*_delta`/`*_end` sequence is uninterrupted by events for other blocks.
391
+ Streaming events for different content blocks are not guaranteed to be contiguous. Providers may emit deltas for text, thinking, and tool calls in the same upstream chunk, and hoocode may surface corresponding events interleaved, for example \`text_start\`, \`text_delta\`, \`toolcall_start\`, \`text_delta\`, \`toolcall_delta\`. Consumers must use `contentIndex` to associate each delta/end event with its block and must not assume that a block's `*_start`/`*_delta`/`*_end` sequence is uninterrupted by events for other blocks.
392
392
 
393
393
  ## Image Input
394
394
 
@@ -892,7 +892,7 @@ const response = await stream(ollamaModel, context, {
892
892
 
893
893
  Some OpenAI-compatible servers do not understand the `developer` role used for reasoning-capable models. For those providers, set `compat.supportsDeveloperRole` to `false` so the system prompt is sent as a `system` message instead. If the server also does not support `reasoning_effort`, set `compat.supportsReasoningEffort` to `false` too.
894
894
 
895
- Use model-level `thinkingLevelMap` to describe model-specific thinking controls. Keys are pi thinking levels (`off`, `minimal`, `low`, `medium`, `high`, `xhigh`). Missing keys use provider defaults, string values are sent to the provider, and `null` marks a level unsupported.
895
+ Use model-level `thinkingLevelMap` to describe model-specific thinking controls. Keys are hoocode thinking levels (`off`, `minimal`, `low`, `medium`, `high`, `xhigh`). Missing keys use provider defaults, string values are sent to the provider, and `null` marks a level unsupported.
896
896
 
897
897
  This commonly applies to Ollama, vLLM, SGLang, and similar OpenAI-compatible servers. You can set `compat` at the provider level or per model.
898
898
 
@@ -8955,13 +8955,24 @@ export declare const MODELS: {
8955
8955
  contextWindow: number;
8956
8956
  maxTokens: number;
8957
8957
  };
8958
- readonly "deepseep-v4-flash-free": {
8958
+ readonly "deepseek-v4-flash-free": {
8959
8959
  id: string;
8960
8960
  name: string;
8961
8961
  api: "openai-completions";
8962
8962
  provider: string;
8963
8963
  baseUrl: string;
8964
+ compat: {
8965
+ requiresReasoningContentOnAssistantMessages: true;
8966
+ thinkingFormat: "deepseek";
8967
+ };
8964
8968
  reasoning: true;
8969
+ thinkingLevelMap: {
8970
+ minimal: null;
8971
+ low: null;
8972
+ medium: null;
8973
+ high: string;
8974
+ xhigh: string;
8975
+ };
8965
8976
  input: "text"[];
8966
8977
  cost: {
8967
8978
  input: number;
@@ -9695,7 +9706,7 @@ export declare const MODELS: {
9695
9706
  readonly "minimax-m2.5": {
9696
9707
  id: string;
9697
9708
  name: string;
9698
- api: "openai-completions";
9709
+ api: "anthropic-messages";
9699
9710
  provider: string;
9700
9711
  baseUrl: string;
9701
9712
  reasoning: true;
@@ -10049,6 +10060,26 @@ export declare const MODELS: {
10049
10060
  contextWindow: number;
10050
10061
  maxTokens: number;
10051
10062
  };
10063
+ readonly "anthropic/claude-opus-4.7-fast": {
10064
+ id: string;
10065
+ name: string;
10066
+ api: "openai-completions";
10067
+ provider: string;
10068
+ baseUrl: string;
10069
+ reasoning: true;
10070
+ thinkingLevelMap: {
10071
+ xhigh: string;
10072
+ };
10073
+ input: ("image" | "text")[];
10074
+ cost: {
10075
+ input: number;
10076
+ output: number;
10077
+ cacheRead: number;
10078
+ cacheWrite: number;
10079
+ };
10080
+ contextWindow: number;
10081
+ maxTokens: number;
10082
+ };
10052
10083
  readonly "anthropic/claude-sonnet-4": {
10053
10084
  id: string;
10054
10085
  name: string;
@@ -10134,6 +10165,23 @@ export declare const MODELS: {
10134
10165
  contextWindow: number;
10135
10166
  maxTokens: number;
10136
10167
  };
10168
+ readonly "arcee-ai/trinity-large-thinking:free": {
10169
+ id: string;
10170
+ name: string;
10171
+ api: "openai-completions";
10172
+ provider: string;
10173
+ baseUrl: string;
10174
+ reasoning: true;
10175
+ input: "text"[];
10176
+ cost: {
10177
+ input: number;
10178
+ output: number;
10179
+ cacheRead: number;
10180
+ cacheWrite: number;
10181
+ };
10182
+ contextWindow: number;
10183
+ maxTokens: number;
10184
+ };
10137
10185
  readonly "arcee-ai/trinity-mini": {
10138
10186
  id: string;
10139
10187
  name: string;
@@ -12912,23 +12960,6 @@ export declare const MODELS: {
12912
12960
  contextWindow: number;
12913
12961
  maxTokens: number;
12914
12962
  };
12915
- readonly "qwen/qwen-max": {
12916
- id: string;
12917
- name: string;
12918
- api: "openai-completions";
12919
- provider: string;
12920
- baseUrl: string;
12921
- reasoning: false;
12922
- input: "text"[];
12923
- cost: {
12924
- input: number;
12925
- output: number;
12926
- cacheRead: number;
12927
- cacheWrite: number;
12928
- };
12929
- contextWindow: number;
12930
- maxTokens: number;
12931
- };
12932
12963
  readonly "qwen/qwen-plus": {
12933
12964
  id: string;
12934
12965
  name: string;
@@ -12980,40 +13011,6 @@ export declare const MODELS: {
12980
13011
  contextWindow: number;
12981
13012
  maxTokens: number;
12982
13013
  };
12983
- readonly "qwen/qwen-turbo": {
12984
- id: string;
12985
- name: string;
12986
- api: "openai-completions";
12987
- provider: string;
12988
- baseUrl: string;
12989
- reasoning: false;
12990
- input: "text"[];
12991
- cost: {
12992
- input: number;
12993
- output: number;
12994
- cacheRead: number;
12995
- cacheWrite: number;
12996
- };
12997
- contextWindow: number;
12998
- maxTokens: number;
12999
- };
13000
- readonly "qwen/qwen-vl-max": {
13001
- id: string;
13002
- name: string;
13003
- api: "openai-completions";
13004
- provider: string;
13005
- baseUrl: string;
13006
- reasoning: false;
13007
- input: ("image" | "text")[];
13008
- cost: {
13009
- input: number;
13010
- output: number;
13011
- cacheRead: number;
13012
- cacheWrite: number;
13013
- };
13014
- contextWindow: number;
13015
- maxTokens: number;
13016
- };
13017
13014
  readonly "qwen/qwen3-14b": {
13018
13015
  id: string;
13019
13016
  name: string;
@@ -15313,23 +15310,6 @@ export declare const MODELS: {
15313
15310
  contextWindow: number;
15314
15311
  maxTokens: number;
15315
15312
  };
15316
- readonly "anthropic/claude-3.7-sonnet": {
15317
- id: string;
15318
- name: string;
15319
- api: "anthropic-messages";
15320
- provider: string;
15321
- baseUrl: string;
15322
- reasoning: true;
15323
- input: ("image" | "text")[];
15324
- cost: {
15325
- input: number;
15326
- output: number;
15327
- cacheRead: number;
15328
- cacheWrite: number;
15329
- };
15330
- contextWindow: number;
15331
- maxTokens: number;
15332
- };
15333
15313
  readonly "anthropic/claude-haiku-4.5": {
15334
15314
  id: string;
15335
15315
  name: string;