cactus-react-native 0.2.4 → 0.2.6

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 (54) hide show
  1. package/README.md +48 -0
  2. package/android/src/main/jni.cpp +1 -1
  3. package/android/src/main/jniLibs/arm64-v8a/libcactus.so +0 -0
  4. package/android/src/main/jniLibs/arm64-v8a/libcactus_v8.so +0 -0
  5. package/android/src/main/jniLibs/arm64-v8a/libcactus_v8_2.so +0 -0
  6. package/android/src/main/jniLibs/arm64-v8a/libcactus_v8_2_dotprod.so +0 -0
  7. package/android/src/main/jniLibs/arm64-v8a/libcactus_v8_2_dotprod_i8mm.so +0 -0
  8. package/android/src/main/jniLibs/arm64-v8a/libcactus_v8_2_i8mm.so +0 -0
  9. package/ios/CactusContext.mm +2 -2
  10. package/ios/cactus.xcframework/ios-arm64_x86_64-simulator/cactus.framework/cactus +0 -0
  11. package/ios/cactus.xcframework/tvos-arm64_x86_64-simulator/cactus.framework/cactus +0 -0
  12. package/lib/commonjs/agent.js +74 -0
  13. package/lib/commonjs/agent.js.map +1 -0
  14. package/lib/commonjs/chat.js +3 -0
  15. package/lib/commonjs/chat.js.map +1 -1
  16. package/lib/commonjs/index.js +17 -16
  17. package/lib/commonjs/index.js.map +1 -1
  18. package/lib/commonjs/lm.js +73 -50
  19. package/lib/commonjs/lm.js.map +1 -1
  20. package/lib/commonjs/telemetry.js +0 -1
  21. package/lib/commonjs/telemetry.js.map +1 -1
  22. package/lib/commonjs/vlm.js +74 -24
  23. package/lib/commonjs/vlm.js.map +1 -1
  24. package/lib/module/agent.js +69 -0
  25. package/lib/module/agent.js.map +1 -0
  26. package/lib/module/chat.js +3 -0
  27. package/lib/module/chat.js.map +1 -1
  28. package/lib/module/index.js +4 -17
  29. package/lib/module/index.js.map +1 -1
  30. package/lib/module/lm.js +73 -50
  31. package/lib/module/lm.js.map +1 -1
  32. package/lib/module/telemetry.js +0 -1
  33. package/lib/module/telemetry.js.map +1 -1
  34. package/lib/module/vlm.js +74 -24
  35. package/lib/module/vlm.js.map +1 -1
  36. package/lib/typescript/agent.d.ts +31 -0
  37. package/lib/typescript/agent.d.ts.map +1 -0
  38. package/lib/typescript/chat.d.ts +3 -0
  39. package/lib/typescript/chat.d.ts.map +1 -1
  40. package/lib/typescript/index.d.ts +2 -7
  41. package/lib/typescript/index.d.ts.map +1 -1
  42. package/lib/typescript/lm.d.ts +3 -0
  43. package/lib/typescript/lm.d.ts.map +1 -1
  44. package/lib/typescript/telemetry.d.ts.map +1 -1
  45. package/lib/typescript/vlm.d.ts +7 -1
  46. package/lib/typescript/vlm.d.ts.map +1 -1
  47. package/package.json +1 -1
  48. package/src/agent.ts +114 -0
  49. package/src/chat.ts +7 -1
  50. package/src/index.ts +10 -16
  51. package/src/lm.ts +76 -49
  52. package/src/telemetry.ts +0 -1
  53. package/src/tools.ts +1 -1
  54. package/src/vlm.ts +77 -18
@@ -1,7 +1,6 @@
1
1
  "use strict";
2
2
 
3
3
  import { Platform } from 'react-native';
4
- // Import package.json to get version
5
4
  const packageJson = require('../package.json');
6
5
  import { PROJECT_ID } from './projectId';
7
6
  export class Telemetry {
@@ -1 +1 @@
1
- {"version":3,"names":["Platform","packageJson","require","PROJECT_ID","Telemetry","instance","constructor","config","table","getFilename","path","split","pop","autoInit","supabaseUrl","supabaseKey","init","track","payload","options","deviceMetadata","trackInternal","error","errorInternal","record","project_id","device_id","deviceId","device_manufacturer","make","device_model","model","os","OS","os_version","Version","toString","framework","framework_version","version","telemetry_payload","timestamp","Date","toISOString","model_filename","n_ctx","n_gpu_layers","sendRecord","catch","errorPayload","message","stack","name","error_payload","globalThis","fetch","method","headers","body","JSON","stringify"],"sourceRoot":"../../src","sources":["telemetry.ts"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["Platform","packageJson","require","PROJECT_ID","Telemetry","instance","constructor","config","table","getFilename","path","split","pop","autoInit","supabaseUrl","supabaseKey","init","track","payload","options","deviceMetadata","trackInternal","error","errorInternal","record","project_id","device_id","deviceId","device_manufacturer","make","device_model","model","os","OS","os_version","Version","toString","framework","framework_version","version","telemetry_payload","timestamp","Date","toISOString","model_filename","n_ctx","n_gpu_layers","sendRecord","catch","errorPayload","message","stack","name","error_payload","globalThis","fetch","method","headers","body","JSON","stringify"],"sourceRoot":"../../src","sources":["telemetry.ts"],"mappings":"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","ignoreList":[]}
package/lib/module/vlm.js CHANGED
@@ -5,44 +5,91 @@ import { Telemetry } from './telemetry';
5
5
  import { setCactusToken, getTextCompletion, getVisionCompletion } from './remote';
6
6
  import { ConversationHistoryManager } from './chat';
7
7
  export class CactusVLM {
8
+ static _initCache = new Map();
9
+ static getCacheKey(params, cactusToken, retryOptions) {
10
+ return JSON.stringify({
11
+ params,
12
+ cactusToken,
13
+ retryOptions
14
+ });
15
+ }
8
16
  constructor(context) {
9
17
  this.context = context;
10
18
  this.conversationHistoryManager = new ConversationHistoryManager();
11
19
  }
12
- static async init(params, onProgress, cactusToken) {
20
+ static async init(params, onProgress, cactusToken, retryOptions) {
13
21
  if (cactusToken) {
14
22
  setCactusToken(cactusToken);
15
23
  }
16
- const configs = [params, {
17
- ...params,
18
- n_gpu_layers: 0
19
- }];
20
- for (const config of configs) {
21
- try {
22
- const context = await initLlama(config, onProgress);
23
- await initMultimodal(context.id, params.mmproj, false);
24
- return {
25
- vlm: new CactusVLM(context),
26
- error: null
27
- };
28
- } catch (e) {
29
- Telemetry.error(e, {
30
- n_gpu_layers: config.n_gpu_layers ?? null,
31
- n_ctx: config.n_ctx ?? null,
32
- model: config.model ?? null
24
+ const key = CactusVLM.getCacheKey(params, cactusToken, retryOptions);
25
+ if (CactusVLM._initCache.has(key)) {
26
+ return CactusVLM._initCache.get(key);
27
+ }
28
+ const initPromise = (async () => {
29
+ const maxRetries = retryOptions?.maxRetries ?? 3;
30
+ const delayMs = retryOptions?.delayMs ?? 1000;
31
+ const configs = [params, {
32
+ ...params,
33
+ n_gpu_layers: 0
34
+ }];
35
+ const sleep = ms => {
36
+ return new Promise(resolve => {
37
+ const start = Date.now();
38
+ const wait = () => {
39
+ if (Date.now() - start >= ms) {
40
+ resolve();
41
+ } else {
42
+ Promise.resolve().then(wait);
43
+ }
44
+ };
45
+ wait();
33
46
  });
34
- if (configs.indexOf(config) === configs.length - 1) {
47
+ };
48
+ for (const config of configs) {
49
+ let lastError = null;
50
+ for (let attempt = 1; attempt <= maxRetries; attempt++) {
51
+ try {
52
+ const context = await initLlama(config, onProgress);
53
+ await initMultimodal(context.id, params.mmproj, false);
54
+ return {
55
+ vlm: new CactusVLM(context),
56
+ error: null
57
+ };
58
+ } catch (e) {
59
+ lastError = e;
60
+ const isLastConfig = configs.indexOf(config) === configs.length - 1;
61
+ const isLastAttempt = attempt === maxRetries;
62
+ Telemetry.error(e, {
63
+ n_gpu_layers: config.n_gpu_layers ?? null,
64
+ n_ctx: config.n_ctx ?? null,
65
+ model: config.model ?? null
66
+ });
67
+ if (!isLastAttempt) {
68
+ const delay = delayMs * Math.pow(2, attempt - 1);
69
+ await sleep(delay);
70
+ } else if (!isLastConfig) {
71
+ break;
72
+ }
73
+ }
74
+ }
75
+ if (configs.indexOf(config) === configs.length - 1 && lastError) {
35
76
  return {
36
77
  vlm: null,
37
- error: e
78
+ error: lastError
38
79
  };
39
80
  }
40
81
  }
82
+ return {
83
+ vlm: null,
84
+ error: new Error('Failed to initialize CactusVLM')
85
+ };
86
+ })();
87
+ CactusVLM._initCache.set(key, initPromise);
88
+ const result = await initPromise;
89
+ if (result.error) {
90
+ CactusVLM._initCache.delete(key);
41
91
  }
42
- return {
43
- vlm: null,
44
- error: new Error('Failed to initialize CactusVLM')
45
- };
92
+ return result;
46
93
  }
47
94
  async completion(messages, params = {}, callback) {
48
95
  const mode = params.mode || 'local';
@@ -159,5 +206,8 @@ export class CactusVLM {
159
206
  async release() {
160
207
  return this.context.release();
161
208
  }
209
+ async stopCompletion() {
210
+ return await this.context.stopCompletion();
211
+ }
162
212
  }
163
213
  //# sourceMappingURL=vlm.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["initLlama","initMultimodal","multimodalCompletion","Telemetry","setCactusToken","getTextCompletion","getVisionCompletion","ConversationHistoryManager","CactusVLM","constructor","context","conversationHistoryManager","init","params","onProgress","cactusToken","configs","n_gpu_layers","config","id","mmproj","vlm","error","e","n_ctx","model","indexOf","length","Error","completion","messages","callback","mode","result","lastError","_handleRemoteCompletion","_handleLocalCompletion","remoteError","localError","newMessages","requiresReset","processNewMessages","rewind","reset","console","warn","images","formattedPrompt","getFormattedChat","prompt","emit_partial_completion","update","role","content","text","map","m","join","imagePath","responseText","i","token","reasoning_content","tool_calls","tokens_predicted","split","tokens_evaluated","truncated","stopped_eos","stopped_word","stopped_limit","stopping_word","tokens_cached","timings","prompt_n","prompt_ms","prompt_per_token_ms","prompt_per_second","predicted_n","predicted_ms","predicted_per_token_ms","predicted_per_second","release"],"sourceRoot":"../../src","sources":["vlm.ts"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["initLlama","initMultimodal","multimodalCompletion","Telemetry","setCactusToken","getTextCompletion","getVisionCompletion","ConversationHistoryManager","CactusVLM","_initCache","Map","getCacheKey","params","cactusToken","retryOptions","JSON","stringify","constructor","context","conversationHistoryManager","init","onProgress","key","has","get","initPromise","maxRetries","delayMs","configs","n_gpu_layers","sleep","ms","Promise","resolve","start","Date","now","wait","then","config","lastError","attempt","id","mmproj","vlm","error","e","isLastConfig","indexOf","length","isLastAttempt","n_ctx","model","delay","Math","pow","Error","set","result","delete","completion","messages","callback","mode","_handleRemoteCompletion","_handleLocalCompletion","remoteError","localError","newMessages","requiresReset","processNewMessages","rewind","reset","console","warn","images","formattedPrompt","getFormattedChat","prompt","emit_partial_completion","update","role","content","text","map","m","join","imagePath","responseText","i","token","reasoning_content","tool_calls","tokens_predicted","split","tokens_evaluated","truncated","stopped_eos","stopped_word","stopped_limit","stopping_word","tokens_cached","timings","prompt_n","prompt_ms","prompt_per_token_ms","prompt_per_second","predicted_n","predicted_ms","predicted_per_token_ms","predicted_per_second","release","stopCompletion"],"sourceRoot":"../../src","sources":["vlm.ts"],"mappings":"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","ignoreList":[]}
@@ -0,0 +1,31 @@
1
+ import { CactusLM } from './lm';
2
+ import type { ContextParams, CompletionParams, CactusOAICompatibleMessage, NativeCompletionResult, TokenData } from './index';
3
+ import { Tools } from './tools';
4
+ interface Parameter {
5
+ type: string;
6
+ description: string;
7
+ required?: boolean;
8
+ }
9
+ interface CactusAgentReturn {
10
+ agent: CactusAgent | null;
11
+ error: Error | null;
12
+ lm: CactusAgent | null;
13
+ }
14
+ export interface AgentCompletionParams extends CompletionParams {
15
+ tools?: Tools;
16
+ }
17
+ export declare class CactusAgent extends CactusLM {
18
+ private tools;
19
+ protected constructor(context: any);
20
+ static init(params: ContextParams, onProgress?: (progress: number) => void, cactusToken?: string, retryOptions?: {
21
+ maxRetries?: number;
22
+ delayMs?: number;
23
+ }): Promise<CactusAgentReturn>;
24
+ addTool(func: Function, description: string, parameters: {
25
+ [key: string]: Parameter;
26
+ }): Function;
27
+ getTools(): Tools;
28
+ completionWithTools(messages: CactusOAICompatibleMessage[], params?: AgentCompletionParams, callback?: (data: TokenData) => void, recursionCount?: number, recursionLimit?: number): Promise<NativeCompletionResult>;
29
+ }
30
+ export {};
31
+ //# sourceMappingURL=agent.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"agent.d.ts","sourceRoot":"","sources":["../../src/agent.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,MAAM,CAAA;AAE/B,OAAO,KAAK,EACV,aAAa,EACb,gBAAgB,EAChB,0BAA0B,EAC1B,sBAAsB,EACtB,SAAS,EACV,MAAM,SAAS,CAAA;AAEhB,OAAO,EAAE,KAAK,EAAE,MAAM,SAAS,CAAA;AAE/B,UAAU,SAAS;IACjB,IAAI,EAAE,MAAM,CAAA;IACZ,WAAW,EAAE,MAAM,CAAA;IACnB,QAAQ,CAAC,EAAE,OAAO,CAAA;CACnB;AAED,UAAU,iBAAiB;IACzB,KAAK,EAAE,WAAW,GAAG,IAAI,CAAA;IACzB,KAAK,EAAE,KAAK,GAAG,IAAI,CAAA;IACnB,EAAE,EAAE,WAAW,GAAG,IAAI,CAAA;CACvB;AAED,MAAM,WAAW,qBAAsB,SAAQ,gBAAgB;IAC7D,KAAK,CAAC,EAAE,KAAK,CAAA;CACd;AAED,qBAAa,WAAY,SAAQ,QAAQ;IACvC,OAAO,CAAC,KAAK,CAAO;IAEpB,SAAS,aAAa,OAAO,EAAE,GAAG;WAKrB,IAAI,CACf,MAAM,EAAE,aAAa,EACrB,UAAU,CAAC,EAAE,CAAC,QAAQ,EAAE,MAAM,KAAK,IAAI,EACvC,WAAW,CAAC,EAAE,MAAM,EACpB,YAAY,CAAC,EAAE;QAAE,UAAU,CAAC,EAAE,MAAM,CAAC;QAAC,OAAO,CAAC,EAAE,MAAM,CAAA;KAAE,GACvD,OAAO,CAAC,iBAAiB,CAAC;IAY7B,OAAO,CACL,IAAI,EAAE,QAAQ,EACd,WAAW,EAAE,MAAM,EACnB,UAAU,EAAE;QAAE,CAAC,GAAG,EAAE,MAAM,GAAG,SAAS,CAAA;KAAE,GACvC,QAAQ;IAIX,QAAQ,IAAI,KAAK;IAIX,mBAAmB,CACvB,QAAQ,EAAE,0BAA0B,EAAE,EACtC,MAAM,GAAE,qBAA0B,EAClC,QAAQ,CAAC,EAAE,CAAC,IAAI,EAAE,SAAS,KAAK,IAAI,EACpC,cAAc,GAAE,MAAU,EAC1B,cAAc,GAAE,MAAU,GACzB,OAAO,CAAC,sBAAsB,CAAC;CA0CnC"}
@@ -5,6 +5,8 @@ export type CactusMessagePart = {
5
5
  export type CactusOAICompatibleMessage = {
6
6
  role: string;
7
7
  content?: string | CactusMessagePart[] | any;
8
+ tool_calls?: any[];
9
+ tool_call_id?: string;
8
10
  };
9
11
  export declare function formatChat(messages: CactusOAICompatibleMessage[]): NativeLlamaChatMessage[];
10
12
  export interface ProcessedMessages {
@@ -16,5 +18,6 @@ export declare class ConversationHistoryManager {
16
18
  processNewMessages(fullMessageHistory: CactusOAICompatibleMessage[]): ProcessedMessages;
17
19
  update(newMessages: CactusOAICompatibleMessage[], assistantResponse: CactusOAICompatibleMessage): void;
18
20
  reset(): void;
21
+ getMessages(): CactusOAICompatibleMessage[];
19
22
  }
20
23
  //# sourceMappingURL=chat.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"chat.d.ts","sourceRoot":"","sources":["../../src/chat.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,gBAAgB,CAAA;AAE5D,MAAM,MAAM,iBAAiB,GAAG;IAC9B,IAAI,CAAC,EAAE,MAAM,CAAA;CACd,CAAA;AAED,MAAM,MAAM,0BAA0B,GAAG;IACvC,IAAI,EAAE,MAAM,CAAA;IACZ,OAAO,CAAC,EAAE,MAAM,GAAG,iBAAiB,EAAE,GAAG,GAAG,CAAA;CAC7C,CAAA;AAED,wBAAgB,UAAU,CACxB,QAAQ,EAAE,0BAA0B,EAAE,GACrC,sBAAsB,EAAE,CA8B1B;AAED,MAAM,WAAW,iBAAiB;IAChC,WAAW,EAAE,0BAA0B,EAAE,CAAC;IAC1C,aAAa,EAAE,OAAO,CAAC;CACxB;AAED,qBAAa,0BAA0B;IACrC,OAAO,CAAC,OAAO,CAAoC;IAE5C,kBAAkB,CACvB,kBAAkB,EAAE,0BAA0B,EAAE,GAC/C,iBAAiB;IAmBb,MAAM,CACX,WAAW,EAAE,0BAA0B,EAAE,EACzC,iBAAiB,EAAE,0BAA0B;IAKxC,KAAK;CAGb"}
1
+ {"version":3,"file":"chat.d.ts","sourceRoot":"","sources":["../../src/chat.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,gBAAgB,CAAA;AAE5D,MAAM,MAAM,iBAAiB,GAAG;IAC9B,IAAI,CAAC,EAAE,MAAM,CAAA;CACd,CAAA;AAED,MAAM,MAAM,0BAA0B,GAAG;IACvC,IAAI,EAAE,MAAM,CAAA;IACZ,OAAO,CAAC,EAAE,MAAM,GAAG,iBAAiB,EAAE,GAAG,GAAG,CAAA;IAC5C,UAAU,CAAC,EAAE,GAAG,EAAE,CAAA;IAClB,YAAY,CAAC,EAAE,MAAM,CAAA;CACtB,CAAA;AAED,wBAAgB,UAAU,CACxB,QAAQ,EAAE,0BAA0B,EAAE,GACrC,sBAAsB,EAAE,CA8B1B;AAED,MAAM,WAAW,iBAAiB;IAChC,WAAW,EAAE,0BAA0B,EAAE,CAAC;IAC1C,aAAa,EAAE,OAAO,CAAC;CACxB;AAED,qBAAa,0BAA0B;IACrC,OAAO,CAAC,OAAO,CAAoC;IAE5C,kBAAkB,CACvB,kBAAkB,EAAE,0BAA0B,EAAE,GAC/C,iBAAiB;IAmBb,MAAM,CACX,WAAW,EAAE,0BAA0B,EAAE,EACzC,iBAAiB,EAAE,0BAA0B;IAKxC,KAAK;IAIL,WAAW,IAAI,0BAA0B,EAAE;CAGnD"}
@@ -2,8 +2,8 @@ import type { NativeContextParams, NativeLlamaContext, NativeCompletionParams, N
2
2
  import type { CactusMessagePart, CactusOAICompatibleMessage } from './chat';
3
3
  import { Tools } from './tools';
4
4
  export type { NativeContextParams, NativeLlamaContext, NativeCompletionParams, NativeCompletionTokenProb, NativeCompletionResult, NativeTokenizeResult, NativeEmbeddingResult, NativeSessionLoadResult, NativeEmbeddingParams, NativeCompletionTokenProbItem, NativeCompletionResultTimings, CactusMessagePart, CactusOAICompatibleMessage, JinjaFormattedChatResult, NativeAudioDecodeResult, };
5
- export { Tools };
6
5
  export * from './remote';
6
+ export { Tools, parseAndExecuteTool } from './tools';
7
7
  export type TokenData = {
8
8
  token: string;
9
9
  completion_probabilities?: Array<NativeCompletionTokenProb>;
@@ -49,13 +49,7 @@ export declare class LlamaContext {
49
49
  reasonNoGPU: string;
50
50
  model: NativeLlamaContext['model'];
51
51
  constructor({ contextId, gpu, reasonNoGPU, model }: NativeLlamaContext);
52
- /**
53
- * Load cached prompt & completion state from a file.
54
- */
55
52
  loadSession(filepath: string): Promise<NativeSessionLoadResult>;
56
- /**
57
- * Save current cached prompt & completion state to a file.
58
- */
59
53
  saveSession(filepath: string, options?: {
60
54
  tokenSize: number;
61
55
  }): Promise<number>;
@@ -116,4 +110,5 @@ export declare const getDeviceInfo: (contextId: number) => Promise<NativeDeviceI
116
110
  export { CactusLM } from './lm';
117
111
  export { CactusVLM } from './vlm';
118
112
  export { CactusTTS } from './tts';
113
+ export { CactusAgent } from './agent';
119
114
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"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"}
@@ -8,6 +8,8 @@ interface CactusLMReturn {
8
8
  export declare class CactusLM {
9
9
  protected context: LlamaContext;
10
10
  protected conversationHistoryManager: ConversationHistoryManager;
11
+ private static _initCache;
12
+ private static getCacheKey;
11
13
  protected constructor(context: LlamaContext);
12
14
  static init(params: ContextParams, onProgress?: (progress: number) => void, cactusToken?: string, retryOptions?: {
13
15
  maxRetries?: number;
@@ -19,6 +21,7 @@ export declare class CactusLM {
19
21
  protected _handleRemoteEmbedding(text: string): Promise<NativeEmbeddingResult>;
20
22
  rewind: () => Promise<void>;
21
23
  release(): Promise<void>;
24
+ stopCompletion(): Promise<void>;
22
25
  }
23
26
  export {};
24
27
  //# sourceMappingURL=lm.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"lm.d.ts","sourceRoot":"","sources":["../../src/lm.ts"],"names":[],"mappings":"AAAA,OAAO,EAAa,YAAY,EAAE,MAAM,SAAS,CAAA;AAGjD,OAAO,KAAK,EACV,aAAa,EACb,gBAAgB,EAChB,0BAA0B,EAC1B,sBAAsB,EACtB,eAAe,EACf,qBAAqB,EACtB,MAAM,SAAS,CAAA;AAIhB,OAAO,EAAE,0BAA0B,EAAE,MAAM,QAAQ,CAAA;AAEnD,UAAU,cAAc;IACtB,EAAE,EAAE,QAAQ,GAAG,IAAI,CAAA;IACnB,KAAK,EAAE,KAAK,GAAG,IAAI,CAAA;CACpB;AAED,qBAAa,QAAQ;IACnB,SAAS,CAAC,OAAO,EAAE,YAAY,CAAA;IAC/B,SAAS,CAAC,0BAA0B,EAAE,0BAA0B,CAAA;IAEhE,SAAS,aAAa,OAAO,EAAE,YAAY;WAK9B,IAAI,CACf,MAAM,EAAE,aAAa,EACrB,UAAU,CAAC,EAAE,CAAC,QAAQ,EAAE,MAAM,KAAK,IAAI,EACvC,WAAW,CAAC,EAAE,MAAM,EACpB,YAAY,CAAC,EAAE;QAAE,UAAU,CAAC,EAAE,MAAM,CAAC;QAAC,OAAO,CAAC,EAAE,MAAM,CAAA;KAAE,GACvD,OAAO,CAAC,cAAc,CAAC;IA6D1B,UAAU,GACR,UAAU,0BAA0B,EAAE,EACtC,SAAQ,gBAAqB,EAC7B,WAAW,CAAC,IAAI,EAAE,GAAG,KAAK,IAAI,KAC7B,OAAO,CAAC,sBAAsB,CAAC,CAqBjC;IAEK,SAAS,CACb,IAAI,EAAE,MAAM,EACZ,MAAM,CAAC,EAAE,eAAe,EACxB,IAAI,GAAE,MAAgB,GACrB,OAAO,CAAC,qBAAqB,CAAC;cAoCjB,qBAAqB,CAAC,IAAI,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,eAAe,GAAG,OAAO,CAAC,qBAAqB,CAAC;cAI7F,sBAAsB,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,qBAAqB,CAAC;IAOpF,MAAM,QAAa,OAAO,CAAC,IAAI,CAAC,CAE/B;IAEK,OAAO,IAAI,OAAO,CAAC,IAAI,CAAC;CAG/B"}
1
+ {"version":3,"file":"lm.d.ts","sourceRoot":"","sources":["../../src/lm.ts"],"names":[],"mappings":"AAAA,OAAO,EAAa,YAAY,EAAE,MAAM,SAAS,CAAA;AAGjD,OAAO,KAAK,EACV,aAAa,EACb,gBAAgB,EAChB,0BAA0B,EAC1B,sBAAsB,EACtB,eAAe,EACf,qBAAqB,EACtB,MAAM,SAAS,CAAA;AAIhB,OAAO,EAAE,0BAA0B,EAAE,MAAM,QAAQ,CAAA;AAEnD,UAAU,cAAc;IACtB,EAAE,EAAE,QAAQ,GAAG,IAAI,CAAA;IACnB,KAAK,EAAE,KAAK,GAAG,IAAI,CAAA;CACpB;AAED,qBAAa,QAAQ;IACnB,SAAS,CAAC,OAAO,EAAE,YAAY,CAAA;IAC/B,SAAS,CAAC,0BAA0B,EAAE,0BAA0B,CAAA;IAEhE,OAAO,CAAC,MAAM,CAAC,UAAU,CAAmD;IAE5E,OAAO,CAAC,MAAM,CAAC,WAAW;IAI1B,SAAS,aAAa,OAAO,EAAE,YAAY;WAK9B,IAAI,CACf,MAAM,EAAE,aAAa,EACrB,UAAU,CAAC,EAAE,CAAC,QAAQ,EAAE,MAAM,KAAK,IAAI,EACvC,WAAW,CAAC,EAAE,MAAM,EACpB,YAAY,CAAC,EAAE;QAAE,UAAU,CAAC,EAAE,MAAM,CAAC;QAAC,OAAO,CAAC,EAAE,MAAM,CAAA;KAAE,GACvD,OAAO,CAAC,cAAc,CAAC;IA6E1B,UAAU,GACR,UAAU,0BAA0B,EAAE,EACtC,SAAQ,gBAAqB,EAC7B,WAAW,CAAC,IAAI,EAAE,GAAG,KAAK,IAAI,KAC7B,OAAO,CAAC,sBAAsB,CAAC,CAqBjC;IAEK,SAAS,CACb,IAAI,EAAE,MAAM,EACZ,MAAM,CAAC,EAAE,eAAe,EACxB,IAAI,GAAE,MAAgB,GACrB,OAAO,CAAC,qBAAqB,CAAC;cAoCjB,qBAAqB,CAAC,IAAI,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,eAAe,GAAG,OAAO,CAAC,qBAAqB,CAAC;cAI7F,sBAAsB,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,qBAAqB,CAAC;IAOpF,MAAM,QAAa,OAAO,CAAC,IAAI,CAAC,CAE/B;IAEK,OAAO,IAAI,OAAO,CAAC,IAAI,CAAC;IAIxB,cAAc,IAAI,OAAO,CAAC,IAAI,CAAC;CAItC"}
@@ -1 +1 @@
1
- {"version":3,"file":"telemetry.d.ts","sourceRoot":"","sources":["../../src/telemetry.ts"],"names":[],"mappings":"AAKA,MAAM,WAAW,eAAe;IAC9B,YAAY,EAAE,MAAM,GAAG,IAAI,CAAA;IAC3B,KAAK,EAAE,MAAM,GAAG,IAAI,CAAA;IACpB,KAAK,EAAE,MAAM,GAAG,IAAI,CAAA;CACrB;AAmBD,UAAU,eAAe;IACvB,WAAW,EAAE,MAAM,CAAC;IACpB,WAAW,EAAE,MAAM,CAAC;IACpB,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAED,qBAAa,SAAS;IACpB,OAAO,CAAC,MAAM,CAAC,QAAQ,CAA0B;IACjD,OAAO,CAAC,MAAM,CAA4B;IAE1C,OAAO;IAOP,OAAO,CAAC,MAAM,CAAC,WAAW;IAQ1B,MAAM,CAAC,QAAQ,IAAI,IAAI;IASvB,MAAM,CAAC,IAAI,CAAC,MAAM,EAAE,eAAe,GAAG,IAAI;IAM1C,MAAM,CAAC,KAAK,CAAC,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,EAAE,OAAO,EAAE,eAAe,EAAE,cAAc,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,GAAG,IAAI;IAOhH,MAAM,CAAC,KAAK,CAAC,KAAK,EAAE,KAAK,EAAE,OAAO,EAAE,eAAe,GAAG,IAAI;IAO1D,OAAO,CAAC,aAAa;IAoBrB,OAAO,CAAC,aAAa;YAuBP,UAAU;CAYzB"}
1
+ {"version":3,"file":"telemetry.d.ts","sourceRoot":"","sources":["../../src/telemetry.ts"],"names":[],"mappings":"AAIA,MAAM,WAAW,eAAe;IAC9B,YAAY,EAAE,MAAM,GAAG,IAAI,CAAA;IAC3B,KAAK,EAAE,MAAM,GAAG,IAAI,CAAA;IACpB,KAAK,EAAE,MAAM,GAAG,IAAI,CAAA;CACrB;AAmBD,UAAU,eAAe;IACvB,WAAW,EAAE,MAAM,CAAC;IACpB,WAAW,EAAE,MAAM,CAAC;IACpB,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAED,qBAAa,SAAS;IACpB,OAAO,CAAC,MAAM,CAAC,QAAQ,CAA0B;IACjD,OAAO,CAAC,MAAM,CAA4B;IAE1C,OAAO;IAOP,OAAO,CAAC,MAAM,CAAC,WAAW;IAQ1B,MAAM,CAAC,QAAQ,IAAI,IAAI;IASvB,MAAM,CAAC,IAAI,CAAC,MAAM,EAAE,eAAe,GAAG,IAAI;IAM1C,MAAM,CAAC,KAAK,CAAC,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,EAAE,OAAO,EAAE,eAAe,EAAE,cAAc,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,GAAG,IAAI;IAOhH,MAAM,CAAC,KAAK,CAAC,KAAK,EAAE,KAAK,EAAE,OAAO,EAAE,eAAe,GAAG,IAAI;IAO1D,OAAO,CAAC,aAAa;IAoBrB,OAAO,CAAC,aAAa;YAuBP,UAAU;CAYzB"}
@@ -14,13 +14,19 @@ export type VLMCompletionParams = Omit<CompletionParams, 'prompt'> & {
14
14
  export declare class CactusVLM {
15
15
  private context;
16
16
  protected conversationHistoryManager: ConversationHistoryManager;
17
+ private static _initCache;
18
+ private static getCacheKey;
17
19
  private constructor();
18
- static init(params: VLMContextParams, onProgress?: (progress: number) => void, cactusToken?: string): Promise<CactusVLMReturn>;
20
+ static init(params: VLMContextParams, onProgress?: (progress: number) => void, cactusToken?: string, retryOptions?: {
21
+ maxRetries?: number;
22
+ delayMs?: number;
23
+ }): Promise<CactusVLMReturn>;
19
24
  completion(messages: CactusOAICompatibleMessage[], params?: VLMCompletionParams, callback?: (data: any) => void): Promise<NativeCompletionResult>;
20
25
  private _handleLocalCompletion;
21
26
  private _handleRemoteCompletion;
22
27
  rewind(): Promise<void>;
23
28
  release(): Promise<void>;
29
+ stopCompletion(): Promise<void>;
24
30
  }
25
31
  export {};
26
32
  //# sourceMappingURL=vlm.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"vlm.d.ts","sourceRoot":"","sources":["../../src/vlm.ts"],"names":[],"mappings":"AAAA,OAAO,EAKL,KAAK,aAAa,EAClB,KAAK,gBAAgB,EACrB,KAAK,0BAA0B,EAC/B,KAAK,sBAAsB,EAC5B,MAAM,SAAS,CAAA;AAIhB,OAAO,EAAE,0BAA0B,EAAE,MAAM,QAAQ,CAAA;AAEnD,UAAU,eAAe;IACvB,GAAG,EAAE,SAAS,GAAG,IAAI,CAAA;IACrB,KAAK,EAAE,KAAK,GAAG,IAAI,CAAA;CACpB;AAED,MAAM,MAAM,gBAAgB,GAAG,aAAa,GAAG;IAC7C,MAAM,EAAE,MAAM,CAAA;CACf,CAAA;AAED,MAAM,MAAM,mBAAmB,GAAG,IAAI,CAAC,gBAAgB,EAAE,QAAQ,CAAC,GAAG;IACnE,MAAM,CAAC,EAAE,MAAM,EAAE,CAAA;IACjB,IAAI,CAAC,EAAE,MAAM,CAAA;CACd,CAAA;AAED,qBAAa,SAAS;IACpB,OAAO,CAAC,OAAO,CAAc;IAC7B,SAAS,CAAC,0BAA0B,EAAE,0BAA0B,CAAA;IAEhE,OAAO;WAKM,IAAI,CACf,MAAM,EAAE,gBAAgB,EACxB,UAAU,CAAC,EAAE,CAAC,QAAQ,EAAE,MAAM,KAAK,IAAI,EACvC,WAAW,CAAC,EAAE,MAAM,GACnB,OAAO,CAAC,eAAe,CAAC;IA8BrB,UAAU,CACd,QAAQ,EAAE,0BAA0B,EAAE,EACtC,MAAM,GAAE,mBAAwB,EAChC,QAAQ,CAAC,EAAE,CAAC,IAAI,EAAE,GAAG,KAAK,IAAI,GAC7B,OAAO,CAAC,sBAAsB,CAAC;IAuClC,OAAO,CAAC,sBAAsB,CAyC7B;YAEa,uBAAuB;IA+C/B,MAAM,IAAI,OAAO,CAAC,IAAI,CAAC;IAIvB,OAAO,IAAI,OAAO,CAAC,IAAI,CAAC;CAG/B"}
1
+ {"version":3,"file":"vlm.d.ts","sourceRoot":"","sources":["../../src/vlm.ts"],"names":[],"mappings":"AAAA,OAAO,EAKL,KAAK,aAAa,EAClB,KAAK,gBAAgB,EACrB,KAAK,0BAA0B,EAC/B,KAAK,sBAAsB,EAC5B,MAAM,SAAS,CAAA;AAIhB,OAAO,EAAE,0BAA0B,EAAE,MAAM,QAAQ,CAAA;AAEnD,UAAU,eAAe;IACvB,GAAG,EAAE,SAAS,GAAG,IAAI,CAAA;IACrB,KAAK,EAAE,KAAK,GAAG,IAAI,CAAA;CACpB;AAED,MAAM,MAAM,gBAAgB,GAAG,aAAa,GAAG;IAC7C,MAAM,EAAE,MAAM,CAAA;CACf,CAAA;AAED,MAAM,MAAM,mBAAmB,GAAG,IAAI,CAAC,gBAAgB,EAAE,QAAQ,CAAC,GAAG;IACnE,MAAM,CAAC,EAAE,MAAM,EAAE,CAAA;IACjB,IAAI,CAAC,EAAE,MAAM,CAAA;CACd,CAAA;AAED,qBAAa,SAAS;IACpB,OAAO,CAAC,OAAO,CAAc;IAC7B,SAAS,CAAC,0BAA0B,EAAE,0BAA0B,CAAA;IAEhE,OAAO,CAAC,MAAM,CAAC,UAAU,CAAoD;IAE7E,OAAO,CAAC,MAAM,CAAC,WAAW;IAI1B,OAAO;WAKM,IAAI,CACf,MAAM,EAAE,gBAAgB,EACxB,UAAU,CAAC,EAAE,CAAC,QAAQ,EAAE,MAAM,KAAK,IAAI,EACvC,WAAW,CAAC,EAAE,MAAM,EACpB,YAAY,CAAC,EAAE;QAAE,UAAU,CAAC,EAAE,MAAM,CAAC;QAAC,OAAO,CAAC,EAAE,MAAM,CAAA;KAAE,GACvD,OAAO,CAAC,eAAe,CAAC;IA8ErB,UAAU,CACd,QAAQ,EAAE,0BAA0B,EAAE,EACtC,MAAM,GAAE,mBAAwB,EAChC,QAAQ,CAAC,EAAE,CAAC,IAAI,EAAE,GAAG,KAAK,IAAI,GAC7B,OAAO,CAAC,sBAAsB,CAAC;IAuClC,OAAO,CAAC,sBAAsB,CAyC7B;YAEa,uBAAuB;IA+C/B,MAAM,IAAI,OAAO,CAAC,IAAI,CAAC;IAIvB,OAAO,IAAI,OAAO,CAAC,IAAI,CAAC;IAIxB,cAAc,IAAI,OAAO,CAAC,IAAI,CAAC;CAGtC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "cactus-react-native",
3
- "version": "0.2.4",
3
+ "version": "0.2.6",
4
4
  "description": "Run AI models locally on mobile devices",
5
5
  "main": "lib/commonjs/index",
6
6
  "module": "lib/module/index",
package/src/agent.ts ADDED
@@ -0,0 +1,114 @@
1
+ import { CactusLM } from './lm'
2
+
3
+ import type {
4
+ ContextParams,
5
+ CompletionParams,
6
+ CactusOAICompatibleMessage,
7
+ NativeCompletionResult,
8
+ TokenData,
9
+ } from './index'
10
+
11
+ import { Tools } from './tools'
12
+
13
+ interface Parameter {
14
+ type: string
15
+ description: string
16
+ required?: boolean
17
+ }
18
+
19
+ interface CactusAgentReturn {
20
+ agent: CactusAgent | null
21
+ error: Error | null
22
+ lm: CactusAgent | null
23
+ }
24
+
25
+ export interface AgentCompletionParams extends CompletionParams {
26
+ tools?: Tools
27
+ }
28
+
29
+ export class CactusAgent extends CactusLM {
30
+ private tools: Tools
31
+
32
+ protected constructor(context: any) {
33
+ super(context)
34
+ this.tools = new Tools()
35
+ }
36
+
37
+ static async init(
38
+ params: ContextParams,
39
+ onProgress?: (progress: number) => void,
40
+ cactusToken?: string,
41
+ retryOptions?: { maxRetries?: number; delayMs?: number },
42
+ ): Promise<CactusAgentReturn> {
43
+ const result = await CactusLM.init(params, onProgress, cactusToken, retryOptions)
44
+
45
+ if (result.error || !result.lm) {
46
+ return { agent: null, error: result.error, lm: null }
47
+ }
48
+
49
+ const agent = Object.setPrototypeOf(result.lm, CactusAgent.prototype) as CactusAgent
50
+ agent.tools = new Tools()
51
+ return { agent, error: null, lm: agent }
52
+ }
53
+
54
+ addTool(
55
+ func: Function,
56
+ description: string,
57
+ parameters: { [key: string]: Parameter }
58
+ ): Function {
59
+ return this.tools.add(func, description, parameters)
60
+ }
61
+
62
+ getTools(): Tools {
63
+ return this.tools
64
+ }
65
+
66
+ async completionWithTools(
67
+ messages: CactusOAICompatibleMessage[],
68
+ params: AgentCompletionParams = {},
69
+ callback?: (data: TokenData) => void,
70
+ recursionCount: number = 0,
71
+ recursionLimit: number = 3
72
+ ): Promise<NativeCompletionResult> {
73
+ const tools = params.tools || this.tools
74
+
75
+ if (!messages?.length) {
76
+ return this.completion([], params, callback)
77
+ }
78
+ if (!tools || tools.getSchemas().length === 0) {
79
+ return this.completion(messages, params, callback)
80
+ }
81
+ if (recursionCount >= recursionLimit) {
82
+ return this.completion(messages, {
83
+ ...params,
84
+ jinja: true,
85
+ tools: tools.getSchemas()
86
+ }, callback)
87
+ }
88
+
89
+ const { newMessages, requiresReset } =
90
+ this.conversationHistoryManager.processNewMessages(messages)
91
+
92
+ if (requiresReset) {
93
+ this.context?.rewind()
94
+ this.conversationHistoryManager.reset()
95
+ }
96
+
97
+ const result = await this.context.completionWithTools({
98
+ ...params,
99
+ messages: newMessages.length > 0 ? newMessages : messages,
100
+ tools: tools
101
+ }, callback, recursionCount, recursionLimit)
102
+
103
+ this.conversationHistoryManager.update(
104
+ newMessages.length > 0 ? newMessages : messages,
105
+ {
106
+ role: 'assistant',
107
+ content: result.content,
108
+ tool_calls: result.tool_calls
109
+ }
110
+ )
111
+
112
+ return result
113
+ }
114
+ }
package/src/chat.ts CHANGED
@@ -6,7 +6,9 @@ export type CactusMessagePart = {
6
6
 
7
7
  export type CactusOAICompatibleMessage = {
8
8
  role: string
9
- content?: string | CactusMessagePart[] | any
9
+ content?: string | CactusMessagePart[] | any
10
+ tool_calls?: any[]
11
+ tool_call_id?: string
10
12
  }
11
13
 
12
14
  export function formatChat(
@@ -82,4 +84,8 @@ export class ConversationHistoryManager {
82
84
  public reset() {
83
85
  this.history = [];
84
86
  }
87
+
88
+ public getMessages(): CactusOAICompatibleMessage[] {
89
+ return this.history;
90
+ }
85
91
  }
package/src/index.ts CHANGED
@@ -27,7 +27,6 @@ import type { CactusMessagePart, CactusOAICompatibleMessage } from './chat'
27
27
  import { formatChat } from './chat'
28
28
  import { Tools, parseAndExecuteTool } from './tools'
29
29
  import { Telemetry, type TelemetryParams } from './telemetry'
30
-
31
30
  export type {
32
31
  NativeContextParams,
33
32
  NativeLlamaContext,
@@ -45,9 +44,11 @@ export type {
45
44
  JinjaFormattedChatResult,
46
45
  NativeAudioDecodeResult,
47
46
  }
48
-
49
- export {Tools }
50
47
  export * from './remote'
48
+ export {
49
+ Tools,
50
+ parseAndExecuteTool
51
+ } from './tools'
51
52
 
52
53
  const EVENT_ON_INIT_CONTEXT_PROGRESS = '@Cactus_onInitContextProgress'
53
54
  const EVENT_ON_TOKEN = '@Cactus_onToken'
@@ -72,7 +73,6 @@ if (EventEmitter) {
72
73
  logListeners.forEach((listener) => listener(evt.level, evt.text))
73
74
  },
74
75
  )
75
- // Trigger unset to use default log callback
76
76
  Cactus?.toggleNativeLog?.(false)?.catch?.(() => {})
77
77
  }
78
78
 
@@ -181,18 +181,12 @@ export class LlamaContext {
181
181
  this.model = model
182
182
  }
183
183
 
184
- /**
185
- * Load cached prompt & completion state from a file.
186
- */
187
184
  async loadSession(filepath: string): Promise<NativeSessionLoadResult> {
188
185
  let path = filepath
189
186
  if (path.startsWith('file://')) path = path.slice(7)
190
187
  return Cactus.loadSession(this.id, path)
191
188
  }
192
189
 
193
- /**
194
- * Save current cached prompt & completion state to a file.
195
- */
196
190
  async saveSession(
197
191
  filepath: string,
198
192
  options?: { tokenSize: number },
@@ -242,10 +236,10 @@ export class LlamaContext {
242
236
  recursionCount: number = 0,
243
237
  recursionLimit: number = 3
244
238
  ): Promise<NativeCompletionResult> {
245
- if (!params.messages) { // tool calling only works with messages
239
+ if (!params.messages) {
246
240
  return this.completion(params, callback);
247
241
  }
248
- if (!params.tools) { // no tools => default completion
242
+ if (!params.tools) {
249
243
  return this.completion(params, callback);
250
244
  }
251
245
  if (recursionCount >= recursionLimit) {
@@ -256,7 +250,7 @@ export class LlamaContext {
256
250
  }, callback);
257
251
  }
258
252
 
259
- const messages = [...params.messages]; // avoid mutating the original messages
253
+ const messages = [...params.messages];
260
254
 
261
255
  const result = await this.completion({
262
256
  ...params,
@@ -307,7 +301,7 @@ export class LlamaContext {
307
301
  emit_partial_completion: !!callback,
308
302
  }
309
303
  if (params.messages) {
310
- // messages always win
304
+
311
305
  const formattedResult = await this.getFormattedChat(
312
306
  params.messages,
313
307
  params.chat_template || params.chatTemplate,
@@ -502,7 +496,6 @@ export async function loadLlamaModelInfo(model: string): Promise<Object> {
502
496
  }
503
497
 
504
498
  const poolTypeMap = {
505
- // -1 is unspecified as undefined
506
499
  none: 0,
507
500
  mean: 1,
508
501
  cls: 2,
@@ -665,4 +658,5 @@ export const getDeviceInfo = async (contextId: number): Promise<NativeDeviceInfo
665
658
 
666
659
  export { CactusLM } from './lm';
667
660
  export { CactusVLM } from './vlm';
668
- export { CactusTTS } from './tts';
661
+ export { CactusTTS } from './tts';
662
+ export { CactusAgent } from './agent';