react-native-ai-core 0.1.0 → 0.2.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.
- package/LICENSE +1 -1
- package/README.md +70 -0
- package/android/src/main/AndroidManifest.xml +12 -0
- package/android/src/main/java/com/aicore/AiCoreModule.kt +511 -69
- package/android/src/main/java/com/aicore/InferenceService.kt +85 -0
- package/lib/module/NativeAiCore.js +2 -2
- package/lib/module/NativeAiCore.js.map +1 -1
- package/lib/module/index.js +46 -51
- package/lib/module/index.js.map +1 -1
- package/lib/module/structured.js +729 -0
- package/lib/module/structured.js.map +1 -0
- package/lib/typescript/src/NativeAiCore.d.ts +20 -15
- package/lib/typescript/src/NativeAiCore.d.ts.map +1 -1
- package/lib/typescript/src/index.d.ts +45 -41
- package/lib/typescript/src/index.d.ts.map +1 -1
- package/lib/typescript/src/structured.d.ts +34 -0
- package/lib/typescript/src/structured.d.ts.map +1 -0
- package/package.json +8 -5
- package/src/NativeAiCore.ts +22 -16
- package/src/index.tsx +60 -55
- package/src/structured.ts +1118 -0
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["Platform","z","NativeAiCore","StructuredOutputError","Error","constructor","message","rawResponse","issues","name","STRUCTURED_PROMPT_BUDGET","STRUCTURED_REPAIR_RESPONSE_BUDGET","STRUCTURED_ISSUES_BUDGET","STRUCTURED_CONTINUATION_BUDGET","DEFAULT_MAX_STRUCTURED_CONTINUATIONS","CONTINUATION_OVERLAP_WINDOW","DEFAULT_STRUCTURED_TIMEOUT_MS","QUOTA_ERROR_CODE","QUOTA_RETRY_DELAY_MS","MAX_QUOTA_RETRIES","sleep","ms","Promise","resolve","setTimeout","toErrorMessage","error","JSON","stringify","String","readNumericErrorCode","directCode","errorCode","code","parsed","Number","parseInt","isFinite","match","capturedCode","isQuotaError","toLowerCase","includes","truncateStart","text","maxChars","length","slice","truncateEnd","compactWhitespace","replace","trim","stringifyInput","value","fitStructuredPrompt","parts","filter","Boolean","join","fitContinuationPrompt","zodTypeToDescription","schema","ZodString","ZodNumber","ZodBoolean","ZodNull","ZodEnum","options","map","ZodLiteral","ZodArray","element","ZodOptional","unwrap","ZodNullable","ZodUnion","option","ZodObject","shape","entries","Object","key","formatIssues","issue","path","extractFencedJson","extractBalancedJson","start","depth","inString","escaped","index","char","extractJsonPayload","raw","trimmed","fenced","balanced","stripCodeFences","mergeStructuredFragments","existing","incoming","normalizedIncoming","trimStart","maxOverlap","Math","min","size","endsWith","looksLikeIncompleteJson","candidate","max","lastChar","buildStructuredContinuationPrompt","prompt","outputSchema","partialResponse","input","schemaDescription","normalizedPrompt","serializedInput","undefined","partialTail","buildJsonParseIssues","ZodError","generateStructuredRawResponse","output","maxContinuations","timeoutMs","combined","generateStatelessWithQuotaRetry","buildStructuredPrompt","attempt","parse","continuationPrompt","continuation","tryGenerateWithQuotaTolerance","merged","buildRepairPrompt","invalidResponse","issueText","normalizedIssues","normalizedInvalidResponse","generateStateless","OS","generateResponseStateless","generateResponse","generateStatelessWithTimeout","timer","timeout","_","reject","race","clearTimeout","quotaRetries","INTER_CALL_DELAY_MS","DEFAULT_ARRAY_COUNT","MAX_ARRAY_COUNT","MAX_WHOLE_ARRAY_COMPACT_ITEMS","LEAF_TIMEOUT_CAP_MS","COMPACT_TIMEOUT_CAP_MS","ARRAY_COUNT_TIMEOUT_CAP_MS","LEAF_MAX_RETRIES_CAP","MAX_COMPACT_SCHEMA_CHARS","readZodLengthValue","maybe","getArrayBounds","arraySchema","fieldName","def","_def","exact","exactLength","minLen","minLength","maxLen","maxLength","fixed","round","preferred","unwrapModifiers","isLeafSchema","inner","isCompactSchema","hasNestedArray","isCompactElement","values","some","isStringSchema","isNumberSchema","isBooleanSchema","getEnumOptions","getLiteralValue","synthesizeLeafFallback","field","maybeIndex","idx","coercePrimitiveField","n","isNaN","test","enumOptions","normalized","direct","find","opt","ci","literalValue","walkLeaf","ctx","fieldPath","progressLabel","onProgress","fieldType","itemCtx","itemHint","isStr","valueInstruction","taskPrompt","leafTimeoutMs","leafMaxRetries","maxRetries","lastRaw","lastErrorMessage","coerced","validated","safeParse","success","data","fallbackFromRaw","fallbackSynth","fallback","fallbackValidated","walkCompact","typeDesc","compactTimeoutMs","cont","result","extra","finalResult","askArrayCount","bounds","countTimeoutMs","walkSchema","elementSchema","arrayLabel","count","items","i","elemLabel","elemCtx","push","compactEntries","s","complexEntries","fieldSchema","fieldCtx","generateChunked","generateStructuredResponse","inputSchema","strategy","assembled","lastRawResponse","lastIssues"],"sourceRoot":"../../src","sources":["structured.ts"],"mappings":"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","ignoreList":[]}
|
|
@@ -1,41 +1,46 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* NativeAICore — TurboModule Spec (New Architecture)
|
|
3
3
|
*
|
|
4
|
-
*
|
|
5
|
-
*
|
|
4
|
+
* High-performance JSI bridge to the Google AI Edge SDK (MediaPipe)
|
|
5
|
+
* for running Gemini Nano on-device via the device NPU.
|
|
6
6
|
*/
|
|
7
7
|
import { type TurboModule } from 'react-native';
|
|
8
8
|
export interface Spec extends TurboModule {
|
|
9
9
|
/**
|
|
10
|
-
*
|
|
11
|
-
*
|
|
10
|
+
* Initialises the LLM inference engine with the model at `modelPath`.
|
|
11
|
+
* Returns `true` on success.
|
|
12
12
|
*/
|
|
13
13
|
initialize(modelPath: string): Promise<boolean>;
|
|
14
14
|
/**
|
|
15
|
-
*
|
|
15
|
+
* Generates a complete response for the given prompt (non-streaming).
|
|
16
16
|
*/
|
|
17
17
|
generateResponse(prompt: string): Promise<string>;
|
|
18
18
|
/**
|
|
19
|
-
*
|
|
20
|
-
*
|
|
21
|
-
|
|
19
|
+
* Generates a response without reading from or writing to the native conversation history.
|
|
20
|
+
* Intended for internal tasks such as structured extraction or classification.
|
|
21
|
+
*/
|
|
22
|
+
generateResponseStateless(prompt: string): Promise<string>;
|
|
23
|
+
/**
|
|
24
|
+
* Starts streaming generation.
|
|
25
|
+
* Tokens are emitted via NativeEventEmitter events:
|
|
26
|
+
* - 'AICore_streamToken' → { token: string, done: boolean }
|
|
22
27
|
* - 'AICore_streamComplete' → {}
|
|
23
|
-
* - 'AICore_streamError'
|
|
28
|
+
* - 'AICore_streamError' → { code: string, message: string }
|
|
24
29
|
*/
|
|
25
30
|
generateResponseStream(prompt: string): void;
|
|
26
31
|
/**
|
|
27
|
-
*
|
|
28
|
-
*
|
|
32
|
+
* Checks Gemini Nano availability on the device.
|
|
33
|
+
* Returns: 'AVAILABLE' | 'NEED_DOWNLOAD' | 'UNSUPPORTED'
|
|
29
34
|
*/
|
|
30
35
|
checkAvailability(): Promise<string>;
|
|
31
36
|
/**
|
|
32
|
-
*
|
|
33
|
-
*
|
|
37
|
+
* Frees the model from NPU memory.
|
|
38
|
+
* Should be called on component unmount to avoid memory leaks.
|
|
34
39
|
*/
|
|
35
40
|
release(): Promise<void>;
|
|
36
41
|
/**
|
|
37
|
-
*
|
|
38
|
-
*
|
|
42
|
+
* Clears the conversation history without releasing the model.
|
|
43
|
+
* The next message will start a fresh conversation.
|
|
39
44
|
*/
|
|
40
45
|
resetConversation(): Promise<void>;
|
|
41
46
|
addListener(eventName: string): void;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"NativeAiCore.d.ts","sourceRoot":"","sources":["../../../src/NativeAiCore.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AACH,OAAO,EAAuB,KAAK,WAAW,EAAE,MAAM,cAAc,CAAC;AAErE,MAAM,WAAW,IAAK,SAAQ,WAAW;IACvC;;;OAGG;IACH,UAAU,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC;IAEhD;;OAEG;IACH,gBAAgB,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC;IAElD;;;;;;OAMG;IACH,sBAAsB,CAAC,MAAM,EAAE,MAAM,GAAG,IAAI,CAAC;IAE7C;;;OAGG;IACH,iBAAiB,IAAI,OAAO,CAAC,MAAM,CAAC,CAAC;IAErC;;;OAGG;IACH,OAAO,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;IAEzB;;;OAGG;IACH,iBAAiB,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;IAGnC,WAAW,CAAC,SAAS,EAAE,MAAM,GAAG,IAAI,CAAC;IACrC,eAAe,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI,CAAC;CACtC;;AAED,wBAAgE"}
|
|
1
|
+
{"version":3,"file":"NativeAiCore.d.ts","sourceRoot":"","sources":["../../../src/NativeAiCore.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AACH,OAAO,EAAuB,KAAK,WAAW,EAAE,MAAM,cAAc,CAAC;AAErE,MAAM,WAAW,IAAK,SAAQ,WAAW;IACvC;;;OAGG;IACH,UAAU,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC;IAEhD;;OAEG;IACH,gBAAgB,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC;IAElD;;;OAGG;IACH,yBAAyB,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC;IAE3D;;;;;;OAMG;IACH,sBAAsB,CAAC,MAAM,EAAE,MAAM,GAAG,IAAI,CAAC;IAE7C;;;OAGG;IACH,iBAAiB,IAAI,OAAO,CAAC,MAAM,CAAC,CAAC;IAErC;;;OAGG;IACH,OAAO,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;IAEzB;;;OAGG;IACH,iBAAiB,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;IAGnC,WAAW,CAAC,SAAS,EAAE,MAAM,GAAG,IAAI,CAAC;IACrC,eAAe,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI,CAAC;CACtC;;AAED,wBAAgE"}
|
|
@@ -1,100 +1,103 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* react-native-ai-core
|
|
3
3
|
*
|
|
4
|
-
*
|
|
5
|
-
*
|
|
6
|
-
*
|
|
4
|
+
* JS abstraction layer over the native TurboModule.
|
|
5
|
+
* Provides a clean, typed API for running Gemini Nano on-device
|
|
6
|
+
* via the Google AI Edge SDK (MediaPipe).
|
|
7
7
|
*
|
|
8
8
|
* @example
|
|
9
9
|
* import AICore from 'react-native-ai-core';
|
|
10
10
|
*
|
|
11
11
|
* await AICore.initialize('/data/local/tmp/gemini-nano.bin');
|
|
12
|
-
* const answer = await AICore.generateResponse('
|
|
12
|
+
* const answer = await AICore.generateResponse('What is JSI?');
|
|
13
13
|
*/
|
|
14
|
-
|
|
14
|
+
import { generateStructuredResponse } from './structured';
|
|
15
|
+
export { generateStructuredResponse, StructuredOutputError, type StructuredGenerateOptions, type StructuredSchema, type StructuredValidationIssue, } from './structured';
|
|
16
|
+
/** Availability status of Gemini Nano on the device */
|
|
15
17
|
export type AvailabilityStatus = 'AVAILABLE' | 'AVAILABLE_NPU' | 'NEED_DOWNLOAD' | 'UNSUPPORTED';
|
|
16
|
-
/**
|
|
18
|
+
/** Streaming response callbacks */
|
|
17
19
|
export interface StreamCallbacks {
|
|
18
20
|
/**
|
|
19
|
-
*
|
|
20
|
-
* @param token
|
|
21
|
-
* @param done `true`
|
|
21
|
+
* Called for each received token.
|
|
22
|
+
* @param token Partial text fragment.
|
|
23
|
+
* @param done `true` when the model has finished generating.
|
|
22
24
|
*/
|
|
23
25
|
onToken: (token: string, done: boolean) => void;
|
|
24
|
-
/**
|
|
26
|
+
/** Called when the full generation has completed. */
|
|
25
27
|
onComplete: () => void;
|
|
26
|
-
/**
|
|
28
|
+
/** Called if an error occurs during streaming. */
|
|
27
29
|
onError: (error: AIError) => void;
|
|
28
30
|
}
|
|
29
|
-
/**
|
|
31
|
+
/** Normalised error structure */
|
|
30
32
|
export interface AIError {
|
|
31
33
|
code: string;
|
|
32
34
|
message: string;
|
|
33
35
|
}
|
|
34
36
|
/**
|
|
35
|
-
*
|
|
37
|
+
* Initialises the LLM inference engine with the given model.
|
|
36
38
|
*
|
|
37
|
-
* @param modelPath
|
|
38
|
-
*
|
|
39
|
+
* @param modelPath Absolute path to the `.bin` model file on the device.
|
|
40
|
+
* Pass an empty string to use ML Kit AICore (Gemini Nano NPU).
|
|
41
|
+
* @returns `true` on success.
|
|
39
42
|
*
|
|
40
|
-
* @throws `MODEL_NOT_FOUND`
|
|
41
|
-
* @throws `NPU_UNSUPPORTED`
|
|
42
|
-
* @throws `INIT_FAILED`
|
|
43
|
+
* @throws `MODEL_NOT_FOUND` if the file does not exist at `modelPath`.
|
|
44
|
+
* @throws `NPU_UNSUPPORTED` if the device NPU is incompatible.
|
|
45
|
+
* @throws `INIT_FAILED` if the engine could not start for another reason.
|
|
43
46
|
*
|
|
44
47
|
* @example
|
|
45
48
|
* const ok = await initialize('/data/local/tmp/gemini-nano.bin');
|
|
46
49
|
*/
|
|
47
50
|
export declare function initialize(modelPath: string): Promise<boolean>;
|
|
48
51
|
/**
|
|
49
|
-
*
|
|
52
|
+
* Generates a complete (non-streaming) response for the given prompt.
|
|
50
53
|
*
|
|
51
|
-
* @param prompt
|
|
52
|
-
* @returns
|
|
54
|
+
* @param prompt Input text for the model.
|
|
55
|
+
* @returns Full response as a string.
|
|
53
56
|
*
|
|
54
|
-
* @throws `NOT_INITIALIZED`
|
|
55
|
-
* @throws `GENERATION_ERROR`
|
|
57
|
+
* @throws `NOT_INITIALIZED` if `initialize()` was not called first.
|
|
58
|
+
* @throws `GENERATION_ERROR` if the model fails during inference.
|
|
56
59
|
*
|
|
57
60
|
* @example
|
|
58
|
-
* const response = await generateResponse('
|
|
61
|
+
* const response = await generateResponse('Explain TurboModules');
|
|
59
62
|
*/
|
|
60
63
|
export declare function generateResponse(prompt: string): Promise<string>;
|
|
61
64
|
/**
|
|
62
|
-
*
|
|
63
|
-
*
|
|
65
|
+
* Generates a response token-by-token via streaming.
|
|
66
|
+
* Tokens are delivered in real time through the callbacks.
|
|
64
67
|
*
|
|
65
|
-
* @param prompt
|
|
68
|
+
* @param prompt Input text for the model.
|
|
66
69
|
* @param callbacks `{ onToken, onComplete, onError }`.
|
|
67
|
-
* @returns
|
|
70
|
+
* @returns Cleanup function — call it to remove the event subscriptions.
|
|
68
71
|
*
|
|
69
72
|
* @example
|
|
70
|
-
* const unsubscribe = generateResponseStream('
|
|
73
|
+
* const unsubscribe = generateResponseStream('What is MediaPipe?', {
|
|
71
74
|
* onToken: (token, done) => console.log(token),
|
|
72
|
-
* onComplete: () => console.log('
|
|
75
|
+
* onComplete: () => console.log('Done!'),
|
|
73
76
|
* onError: (err) => console.error(err),
|
|
74
77
|
* });
|
|
75
78
|
*
|
|
76
|
-
* //
|
|
79
|
+
* // On component unmount:
|
|
77
80
|
* unsubscribe();
|
|
78
81
|
*/
|
|
79
82
|
export declare function generateResponseStream(prompt: string, callbacks: StreamCallbacks): () => void;
|
|
80
83
|
/**
|
|
81
|
-
*
|
|
84
|
+
* Checks whether Gemini Nano is available on this device.
|
|
82
85
|
*
|
|
83
86
|
* @returns
|
|
84
|
-
* - `'AVAILABLE'` →
|
|
85
|
-
* - `'NEED_DOWNLOAD'` →
|
|
86
|
-
* - `'UNSUPPORTED'` →
|
|
87
|
+
* - `'AVAILABLE'` → Model is ready to use.
|
|
88
|
+
* - `'NEED_DOWNLOAD'` → Device is compatible but the model is not yet downloaded.
|
|
89
|
+
* - `'UNSUPPORTED'` → Device does not meet the minimum requirements.
|
|
87
90
|
*
|
|
88
91
|
* @example
|
|
89
92
|
* const status = await checkAvailability();
|
|
90
93
|
* if (status === 'NEED_DOWNLOAD') {
|
|
91
|
-
* //
|
|
94
|
+
* // show model download UI
|
|
92
95
|
* }
|
|
93
96
|
*/
|
|
94
97
|
export declare function checkAvailability(): Promise<AvailabilityStatus>;
|
|
95
98
|
/**
|
|
96
|
-
*
|
|
97
|
-
* **
|
|
99
|
+
* Releases the model from NPU memory.
|
|
100
|
+
* **Recommended**: call in the root component's `useEffect` cleanup.
|
|
98
101
|
*
|
|
99
102
|
* @example
|
|
100
103
|
* useEffect(() => {
|
|
@@ -104,17 +107,18 @@ export declare function checkAvailability(): Promise<AvailabilityStatus>;
|
|
|
104
107
|
*/
|
|
105
108
|
export declare function release(): Promise<void>;
|
|
106
109
|
/**
|
|
107
|
-
*
|
|
108
|
-
*
|
|
110
|
+
* Clears the conversation history in the native engine without releasing the model.
|
|
111
|
+
* The next `generateResponse` call will start without any previous context.
|
|
109
112
|
*
|
|
110
113
|
* @example
|
|
111
|
-
* await resetConversation(); //
|
|
114
|
+
* await resetConversation(); // new conversation, same engine
|
|
112
115
|
*/
|
|
113
116
|
export declare function resetConversation(): Promise<void>;
|
|
114
117
|
declare const AICore: {
|
|
115
118
|
initialize: typeof initialize;
|
|
116
119
|
generateResponse: typeof generateResponse;
|
|
117
120
|
generateResponseStream: typeof generateResponseStream;
|
|
121
|
+
generateStructuredResponse: typeof generateStructuredResponse;
|
|
118
122
|
checkAvailability: typeof checkAvailability;
|
|
119
123
|
release: typeof release;
|
|
120
124
|
resetConversation: typeof resetConversation;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/index.tsx"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/index.tsx"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AAIH,OAAO,EAAE,0BAA0B,EAAE,MAAM,cAAc,CAAC;AAC1D,OAAO,EACL,0BAA0B,EAC1B,qBAAqB,EACrB,KAAK,yBAAyB,EAC9B,KAAK,gBAAgB,EACrB,KAAK,yBAAyB,GAC/B,MAAM,cAAc,CAAC;AAItB,uDAAuD;AACvD,MAAM,MAAM,kBAAkB,GAAG,WAAW,GAAG,eAAe,GAAG,eAAe,GAAG,aAAa,CAAC;AAEjG,mCAAmC;AACnC,MAAM,WAAW,eAAe;IAC9B;;;;OAIG;IACH,OAAO,EAAE,CAAC,KAAK,EAAE,MAAM,EAAE,IAAI,EAAE,OAAO,KAAK,IAAI,CAAC;IAChD,qDAAqD;IACrD,UAAU,EAAE,MAAM,IAAI,CAAC;IACvB,kDAAkD;IAClD,OAAO,EAAE,CAAC,KAAK,EAAE,OAAO,KAAK,IAAI,CAAC;CACnC;AAED,iCAAiC;AACjC,MAAM,WAAW,OAAO;IACtB,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,MAAM,CAAC;CACjB;AAqBD;;;;;;;;;;;;;GAaG;AACH,wBAAsB,UAAU,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,CAGpE;AAED;;;;;;;;;;;GAWG;AACH,wBAAsB,gBAAgB,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAGtE;AAED;;;;;;;;;;;;;;;;;GAiBG;AACH,wBAAgB,sBAAsB,CACpC,MAAM,EAAE,MAAM,EACd,SAAS,EAAE,eAAe,GACzB,MAAM,IAAI,CAuCZ;AAED;;;;;;;;;;;;;GAaG;AACH,wBAAsB,iBAAiB,IAAI,OAAO,CAAC,kBAAkB,CAAC,CAGrE;AAED;;;;;;;;;GASG;AACH,wBAAsB,OAAO,IAAI,OAAO,CAAC,IAAI,CAAC,CAG7C;AAED;;;;;;GAMG;AACH,wBAAsB,iBAAiB,IAAI,OAAO,CAAC,IAAI,CAAC,CAGvD;AAID,QAAA,MAAM,MAAM;;;;;;;;CAQX,CAAC;AAEF,eAAe,MAAM,CAAC"}
|
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
import { z, type ZodTypeAny } from 'zod';
|
|
2
|
+
export type StructuredSchema<T> = z.ZodType<T>;
|
|
3
|
+
export interface StructuredGenerateOptions<TOutputSchema extends ZodTypeAny, TInput = unknown> {
|
|
4
|
+
prompt: string;
|
|
5
|
+
output: TOutputSchema;
|
|
6
|
+
input?: TInput;
|
|
7
|
+
inputSchema?: z.ZodType<TInput>;
|
|
8
|
+
maxRetries?: number;
|
|
9
|
+
maxContinuations?: number;
|
|
10
|
+
timeoutMs?: number;
|
|
11
|
+
/**
|
|
12
|
+
* 'single' — generate the entire JSON in one call (default).
|
|
13
|
+
* 'chunked' — generate each top-level field separately and assemble the object.
|
|
14
|
+
* Recommended for schemas with many fields or long responses.
|
|
15
|
+
*/
|
|
16
|
+
strategy?: 'single' | 'chunked';
|
|
17
|
+
/**
|
|
18
|
+
* Called at each step of chunked generation.
|
|
19
|
+
* @param field JSON path of the field being generated, e.g. "days.0.exercises"
|
|
20
|
+
* @param done true when the field has just been completed
|
|
21
|
+
*/
|
|
22
|
+
onProgress?: (field: string, done: boolean) => void;
|
|
23
|
+
}
|
|
24
|
+
export interface StructuredValidationIssue {
|
|
25
|
+
path: string;
|
|
26
|
+
message: string;
|
|
27
|
+
}
|
|
28
|
+
export declare class StructuredOutputError extends Error {
|
|
29
|
+
issues: StructuredValidationIssue[];
|
|
30
|
+
rawResponse: string;
|
|
31
|
+
constructor(message: string, rawResponse: string, issues?: StructuredValidationIssue[]);
|
|
32
|
+
}
|
|
33
|
+
export declare function generateStructuredResponse<TOutputSchema extends ZodTypeAny, TInput = unknown>(options: StructuredGenerateOptions<TOutputSchema, TInput>): Promise<z.infer<TOutputSchema>>;
|
|
34
|
+
//# sourceMappingURL=structured.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"structured.d.ts","sourceRoot":"","sources":["../../../src/structured.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,CAAC,EAAE,KAAK,UAAU,EAAE,MAAM,KAAK,CAAC;AAGzC,MAAM,MAAM,gBAAgB,CAAC,CAAC,IAAI,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;AAE/C,MAAM,WAAW,yBAAyB,CACxC,aAAa,SAAS,UAAU,EAChC,MAAM,GAAG,OAAO;IAEhB,MAAM,EAAE,MAAM,CAAC;IACf,MAAM,EAAE,aAAa,CAAC;IACtB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,WAAW,CAAC,EAAE,CAAC,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;IAChC,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB;;;;OAIG;IACH,QAAQ,CAAC,EAAE,QAAQ,GAAG,SAAS,CAAC;IAChC;;;;OAIG;IACH,UAAU,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,EAAE,IAAI,EAAE,OAAO,KAAK,IAAI,CAAC;CACrD;AAED,MAAM,WAAW,yBAAyB;IACxC,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,MAAM,CAAC;CACjB;AAED,qBAAa,qBAAsB,SAAQ,KAAK;IAC9C,MAAM,EAAE,yBAAyB,EAAE,CAAC;IACpC,WAAW,EAAE,MAAM,CAAC;gBAGlB,OAAO,EAAE,MAAM,EACf,WAAW,EAAE,MAAM,EACnB,MAAM,GAAE,yBAAyB,EAAO;CAO3C;AAw+BD,wBAAsB,0BAA0B,CAC9C,aAAa,SAAS,UAAU,EAChC,MAAM,GAAG,OAAO,EAEhB,OAAO,EAAE,yBAAyB,CAAC,aAAa,EAAE,MAAM,CAAC,GACxD,OAAO,CAAC,CAAC,CAAC,KAAK,CAAC,aAAa,CAAC,CAAC,CA8DjC"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "react-native-ai-core",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.2.0",
|
|
4
4
|
"description": "High-performance AI bridge for React Native using Google AI Edge MediaPipe and Gemini Nano",
|
|
5
5
|
"main": "./lib/module/index.js",
|
|
6
6
|
"types": "./lib/typescript/src/index.d.ts",
|
|
@@ -60,17 +60,20 @@
|
|
|
60
60
|
],
|
|
61
61
|
"repository": {
|
|
62
62
|
"type": "git",
|
|
63
|
-
"url": "git+https://github.com/
|
|
63
|
+
"url": "git+https://github.com/albertoroda/react-native-ai-core.git"
|
|
64
64
|
},
|
|
65
|
-
"author": "Alberto Fernandez
|
|
65
|
+
"author": "Alberto Fernandez (https://github.com/albertoroda)",
|
|
66
66
|
"license": "MIT",
|
|
67
67
|
"bugs": {
|
|
68
|
-
"url": "https://github.com/
|
|
68
|
+
"url": "https://github.com/albertoroda/react-native-ai-core/issues"
|
|
69
69
|
},
|
|
70
|
-
"homepage": "https://github.com/
|
|
70
|
+
"homepage": "https://github.com/albertoroda/react-native-ai-core#readme",
|
|
71
71
|
"publishConfig": {
|
|
72
72
|
"registry": "https://registry.npmjs.org/"
|
|
73
73
|
},
|
|
74
|
+
"dependencies": {
|
|
75
|
+
"zod": "^3.24.1"
|
|
76
|
+
},
|
|
74
77
|
"devDependencies": {
|
|
75
78
|
"@eslint/compat": "^2.0.3",
|
|
76
79
|
"@eslint/eslintrc": "^3.3.5",
|
package/src/NativeAiCore.ts
CHANGED
|
@@ -1,51 +1,57 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* NativeAICore — TurboModule Spec (New Architecture)
|
|
3
3
|
*
|
|
4
|
-
*
|
|
5
|
-
*
|
|
4
|
+
* High-performance JSI bridge to the Google AI Edge SDK (MediaPipe)
|
|
5
|
+
* for running Gemini Nano on-device via the device NPU.
|
|
6
6
|
*/
|
|
7
7
|
import { TurboModuleRegistry, type TurboModule } from 'react-native';
|
|
8
8
|
|
|
9
9
|
export interface Spec extends TurboModule {
|
|
10
10
|
/**
|
|
11
|
-
*
|
|
12
|
-
*
|
|
11
|
+
* Initialises the LLM inference engine with the model at `modelPath`.
|
|
12
|
+
* Returns `true` on success.
|
|
13
13
|
*/
|
|
14
14
|
initialize(modelPath: string): Promise<boolean>;
|
|
15
15
|
|
|
16
16
|
/**
|
|
17
|
-
*
|
|
17
|
+
* Generates a complete response for the given prompt (non-streaming).
|
|
18
18
|
*/
|
|
19
19
|
generateResponse(prompt: string): Promise<string>;
|
|
20
20
|
|
|
21
21
|
/**
|
|
22
|
-
*
|
|
23
|
-
*
|
|
24
|
-
|
|
22
|
+
* Generates a response without reading from or writing to the native conversation history.
|
|
23
|
+
* Intended for internal tasks such as structured extraction or classification.
|
|
24
|
+
*/
|
|
25
|
+
generateResponseStateless(prompt: string): Promise<string>;
|
|
26
|
+
|
|
27
|
+
/**
|
|
28
|
+
* Starts streaming generation.
|
|
29
|
+
* Tokens are emitted via NativeEventEmitter events:
|
|
30
|
+
* - 'AICore_streamToken' → { token: string, done: boolean }
|
|
25
31
|
* - 'AICore_streamComplete' → {}
|
|
26
|
-
* - 'AICore_streamError'
|
|
32
|
+
* - 'AICore_streamError' → { code: string, message: string }
|
|
27
33
|
*/
|
|
28
34
|
generateResponseStream(prompt: string): void;
|
|
29
35
|
|
|
30
36
|
/**
|
|
31
|
-
*
|
|
32
|
-
*
|
|
37
|
+
* Checks Gemini Nano availability on the device.
|
|
38
|
+
* Returns: 'AVAILABLE' | 'NEED_DOWNLOAD' | 'UNSUPPORTED'
|
|
33
39
|
*/
|
|
34
40
|
checkAvailability(): Promise<string>;
|
|
35
41
|
|
|
36
42
|
/**
|
|
37
|
-
*
|
|
38
|
-
*
|
|
43
|
+
* Frees the model from NPU memory.
|
|
44
|
+
* Should be called on component unmount to avoid memory leaks.
|
|
39
45
|
*/
|
|
40
46
|
release(): Promise<void>;
|
|
41
47
|
|
|
42
48
|
/**
|
|
43
|
-
*
|
|
44
|
-
*
|
|
49
|
+
* Clears the conversation history without releasing the model.
|
|
50
|
+
* The next message will start a fresh conversation.
|
|
45
51
|
*/
|
|
46
52
|
resetConversation(): Promise<void>;
|
|
47
53
|
|
|
48
|
-
//
|
|
54
|
+
// Required by NativeEventEmitter
|
|
49
55
|
addListener(eventName: string): void;
|
|
50
56
|
removeListeners(count: number): void;
|
|
51
57
|
}
|