@runanywhere/web-llamacpp 0.1.0-beta.10
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 +75 -0
- package/dist/Extensions/DiffusionTypes.d.ts +64 -0
- package/dist/Extensions/DiffusionTypes.d.ts.map +1 -0
- package/dist/Extensions/DiffusionTypes.js +28 -0
- package/dist/Extensions/DiffusionTypes.js.map +1 -0
- package/dist/Extensions/EmbeddingsTypes.d.ts +33 -0
- package/dist/Extensions/EmbeddingsTypes.d.ts.map +1 -0
- package/dist/Extensions/EmbeddingsTypes.js +13 -0
- package/dist/Extensions/EmbeddingsTypes.js.map +1 -0
- package/dist/Extensions/RunAnywhere+Diffusion.d.ts +44 -0
- package/dist/Extensions/RunAnywhere+Diffusion.d.ts.map +1 -0
- package/dist/Extensions/RunAnywhere+Diffusion.js +185 -0
- package/dist/Extensions/RunAnywhere+Diffusion.js.map +1 -0
- package/dist/Extensions/RunAnywhere+Embeddings.d.ts +56 -0
- package/dist/Extensions/RunAnywhere+Embeddings.d.ts.map +1 -0
- package/dist/Extensions/RunAnywhere+Embeddings.js +236 -0
- package/dist/Extensions/RunAnywhere+Embeddings.js.map +1 -0
- package/dist/Extensions/RunAnywhere+StructuredOutput.d.ts +69 -0
- package/dist/Extensions/RunAnywhere+StructuredOutput.d.ts.map +1 -0
- package/dist/Extensions/RunAnywhere+StructuredOutput.js +194 -0
- package/dist/Extensions/RunAnywhere+StructuredOutput.js.map +1 -0
- package/dist/Extensions/RunAnywhere+TextGeneration.d.ts +87 -0
- package/dist/Extensions/RunAnywhere+TextGeneration.d.ts.map +1 -0
- package/dist/Extensions/RunAnywhere+TextGeneration.js +525 -0
- package/dist/Extensions/RunAnywhere+TextGeneration.js.map +1 -0
- package/dist/Extensions/RunAnywhere+ToolCalling.d.ts +82 -0
- package/dist/Extensions/RunAnywhere+ToolCalling.d.ts.map +1 -0
- package/dist/Extensions/RunAnywhere+ToolCalling.js +574 -0
- package/dist/Extensions/RunAnywhere+ToolCalling.js.map +1 -0
- package/dist/Extensions/RunAnywhere+VLM.d.ts +57 -0
- package/dist/Extensions/RunAnywhere+VLM.d.ts.map +1 -0
- package/dist/Extensions/RunAnywhere+VLM.js +258 -0
- package/dist/Extensions/RunAnywhere+VLM.js.map +1 -0
- package/dist/Extensions/ToolCallingTypes.d.ts +78 -0
- package/dist/Extensions/ToolCallingTypes.d.ts.map +1 -0
- package/dist/Extensions/ToolCallingTypes.js +8 -0
- package/dist/Extensions/ToolCallingTypes.js.map +1 -0
- package/dist/Extensions/VLMTypes.d.ts +16 -0
- package/dist/Extensions/VLMTypes.d.ts.map +1 -0
- package/dist/Extensions/VLMTypes.js +18 -0
- package/dist/Extensions/VLMTypes.js.map +1 -0
- package/dist/Foundation/AnalyticsEventsBridge.d.ts +38 -0
- package/dist/Foundation/AnalyticsEventsBridge.d.ts.map +1 -0
- package/dist/Foundation/AnalyticsEventsBridge.js +394 -0
- package/dist/Foundation/AnalyticsEventsBridge.js.map +1 -0
- package/dist/Foundation/LlamaCppBridge.d.ts +182 -0
- package/dist/Foundation/LlamaCppBridge.d.ts.map +1 -0
- package/dist/Foundation/LlamaCppBridge.js +483 -0
- package/dist/Foundation/LlamaCppBridge.js.map +1 -0
- package/dist/Foundation/LlamaCppOffsets.d.ts +32 -0
- package/dist/Foundation/LlamaCppOffsets.d.ts.map +1 -0
- package/dist/Foundation/LlamaCppOffsets.js +191 -0
- package/dist/Foundation/LlamaCppOffsets.js.map +1 -0
- package/dist/Foundation/PlatformAdapter.d.ts +109 -0
- package/dist/Foundation/PlatformAdapter.d.ts.map +1 -0
- package/dist/Foundation/PlatformAdapter.js +417 -0
- package/dist/Foundation/PlatformAdapter.js.map +1 -0
- package/dist/Foundation/TelemetryService.d.ts +96 -0
- package/dist/Foundation/TelemetryService.d.ts.map +1 -0
- package/dist/Foundation/TelemetryService.js +345 -0
- package/dist/Foundation/TelemetryService.js.map +1 -0
- package/dist/Foundation/WASMAnalyticsEmitter.d.ts +29 -0
- package/dist/Foundation/WASMAnalyticsEmitter.d.ts.map +1 -0
- package/dist/Foundation/WASMAnalyticsEmitter.js +70 -0
- package/dist/Foundation/WASMAnalyticsEmitter.js.map +1 -0
- package/dist/Infrastructure/VLMWorkerBridge.d.ts +219 -0
- package/dist/Infrastructure/VLMWorkerBridge.d.ts.map +1 -0
- package/dist/Infrastructure/VLMWorkerBridge.js +288 -0
- package/dist/Infrastructure/VLMWorkerBridge.js.map +1 -0
- package/dist/Infrastructure/VLMWorkerRuntime.d.ts +38 -0
- package/dist/Infrastructure/VLMWorkerRuntime.d.ts.map +1 -0
- package/dist/Infrastructure/VLMWorkerRuntime.js +620 -0
- package/dist/Infrastructure/VLMWorkerRuntime.js.map +1 -0
- package/dist/LlamaCPP.d.ts +49 -0
- package/dist/LlamaCPP.d.ts.map +1 -0
- package/dist/LlamaCPP.js +63 -0
- package/dist/LlamaCPP.js.map +1 -0
- package/dist/LlamaCppProvider.d.ts +32 -0
- package/dist/LlamaCppProvider.d.ts.map +1 -0
- package/dist/LlamaCppProvider.js +106 -0
- package/dist/LlamaCppProvider.js.map +1 -0
- package/dist/index.d.ts +43 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +41 -0
- package/dist/index.js.map +1 -0
- package/dist/workers/vlm-worker.d.ts +9 -0
- package/dist/workers/vlm-worker.d.ts.map +1 -0
- package/dist/workers/vlm-worker.js +10 -0
- package/dist/workers/vlm-worker.js.map +1 -0
- package/package.json +69 -0
- package/wasm/racommons-llamacpp-webgpu.js +159 -0
- package/wasm/racommons-llamacpp-webgpu.wasm +0 -0
- package/wasm/racommons-llamacpp.js +129 -0
- package/wasm/racommons-llamacpp.wasm +0 -0
|
@@ -0,0 +1,191 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* LlamaCppOffsets - Cached struct offset access for the llama.cpp WASM module
|
|
3
|
+
*
|
|
4
|
+
* Provides the same `Offsets.llmOptions.temperature` access pattern that the
|
|
5
|
+
* old core WASMBridge had, but backed by LlamaCppBridge.shared.wasmOffsetOf().
|
|
6
|
+
*
|
|
7
|
+
* Offsets are loaded lazily on first access and cached thereafter.
|
|
8
|
+
*/
|
|
9
|
+
import { LlamaCppBridge } from './LlamaCppBridge';
|
|
10
|
+
// ---------------------------------------------------------------------------
|
|
11
|
+
// Internal: load offset group from LlamaCppBridge
|
|
12
|
+
// ---------------------------------------------------------------------------
|
|
13
|
+
function off(name) {
|
|
14
|
+
return LlamaCppBridge.shared.wasmOffsetOf(name);
|
|
15
|
+
}
|
|
16
|
+
function loadConfigOffsets() {
|
|
17
|
+
return { logLevel: off('config_log_level') };
|
|
18
|
+
}
|
|
19
|
+
function loadLLMOptionsOffsets() {
|
|
20
|
+
return {
|
|
21
|
+
maxTokens: off('llm_options_max_tokens'),
|
|
22
|
+
temperature: off('llm_options_temperature'),
|
|
23
|
+
topP: off('llm_options_top_p'),
|
|
24
|
+
systemPrompt: off('llm_options_system_prompt'),
|
|
25
|
+
};
|
|
26
|
+
}
|
|
27
|
+
function loadLLMResultOffsets() {
|
|
28
|
+
return {
|
|
29
|
+
text: off('llm_result_text'),
|
|
30
|
+
promptTokens: off('llm_result_prompt_tokens'),
|
|
31
|
+
completionTokens: off('llm_result_completion_tokens'),
|
|
32
|
+
};
|
|
33
|
+
}
|
|
34
|
+
function loadVLMImageOffsets() {
|
|
35
|
+
return {
|
|
36
|
+
format: off('vlm_image_format'),
|
|
37
|
+
filePath: off('vlm_image_file_path'),
|
|
38
|
+
pixelData: off('vlm_image_pixel_data'),
|
|
39
|
+
base64Data: off('vlm_image_base64_data'),
|
|
40
|
+
width: off('vlm_image_width'),
|
|
41
|
+
height: off('vlm_image_height'),
|
|
42
|
+
dataSize: off('vlm_image_data_size'),
|
|
43
|
+
};
|
|
44
|
+
}
|
|
45
|
+
function loadVLMOptionsOffsets() {
|
|
46
|
+
return {
|
|
47
|
+
maxTokens: off('vlm_options_max_tokens'),
|
|
48
|
+
temperature: off('vlm_options_temperature'),
|
|
49
|
+
topP: off('vlm_options_top_p'),
|
|
50
|
+
streamingEnabled: off('vlm_options_streaming_enabled'),
|
|
51
|
+
systemPrompt: off('vlm_options_system_prompt'),
|
|
52
|
+
modelFamily: off('vlm_options_model_family'),
|
|
53
|
+
};
|
|
54
|
+
}
|
|
55
|
+
function loadVLMResultOffsets() {
|
|
56
|
+
return {
|
|
57
|
+
text: off('vlm_result_text'),
|
|
58
|
+
promptTokens: off('vlm_result_prompt_tokens'),
|
|
59
|
+
imageTokens: off('vlm_result_image_tokens'),
|
|
60
|
+
completionTokens: off('vlm_result_completion_tokens'),
|
|
61
|
+
totalTokens: off('vlm_result_total_tokens'),
|
|
62
|
+
timeToFirstTokenMs: off('vlm_result_time_to_first_token_ms'),
|
|
63
|
+
imageEncodeTimeMs: off('vlm_result_image_encode_time_ms'),
|
|
64
|
+
totalTimeMs: off('vlm_result_total_time_ms'),
|
|
65
|
+
tokensPerSecond: off('vlm_result_tokens_per_second'),
|
|
66
|
+
};
|
|
67
|
+
}
|
|
68
|
+
function loadStructuredOutputConfigOffsets() {
|
|
69
|
+
return {
|
|
70
|
+
jsonSchema: off('structured_output_config_json_schema'),
|
|
71
|
+
includeSchemaInPrompt: off('structured_output_config_include_schema_in_prompt'),
|
|
72
|
+
};
|
|
73
|
+
}
|
|
74
|
+
function loadStructuredOutputValidationOffsets() {
|
|
75
|
+
return {
|
|
76
|
+
isValid: off('structured_output_validation_is_valid'),
|
|
77
|
+
errorMessage: off('structured_output_validation_error_message'),
|
|
78
|
+
extractedJson: off('structured_output_validation_extracted_json'),
|
|
79
|
+
};
|
|
80
|
+
}
|
|
81
|
+
function loadEmbeddingsOptionsOffsets() {
|
|
82
|
+
return {
|
|
83
|
+
normalize: off('embeddings_options_normalize'),
|
|
84
|
+
pooling: off('embeddings_options_pooling'),
|
|
85
|
+
nThreads: off('embeddings_options_n_threads'),
|
|
86
|
+
};
|
|
87
|
+
}
|
|
88
|
+
function loadEmbeddingsResultOffsets() {
|
|
89
|
+
return {
|
|
90
|
+
embeddings: off('embeddings_result_embeddings'),
|
|
91
|
+
numEmbeddings: off('embeddings_result_num_embeddings'),
|
|
92
|
+
dimension: off('embeddings_result_dimension'),
|
|
93
|
+
processingTimeMs: off('embeddings_result_processing_time_ms'),
|
|
94
|
+
totalTokens: off('embeddings_result_total_tokens'),
|
|
95
|
+
};
|
|
96
|
+
}
|
|
97
|
+
function loadEmbeddingVectorOffsets() {
|
|
98
|
+
return {
|
|
99
|
+
data: off('embedding_vector_data'),
|
|
100
|
+
dimension: off('embedding_vector_dimension'),
|
|
101
|
+
structSize: LlamaCppBridge.shared.wasmSizeOf('embedding_vector'),
|
|
102
|
+
};
|
|
103
|
+
}
|
|
104
|
+
function loadDiffusionOptionsOffsets() {
|
|
105
|
+
return {
|
|
106
|
+
prompt: off('diffusion_options_prompt'),
|
|
107
|
+
negativePrompt: off('diffusion_options_negative_prompt'),
|
|
108
|
+
width: off('diffusion_options_width'),
|
|
109
|
+
height: off('diffusion_options_height'),
|
|
110
|
+
steps: off('diffusion_options_steps'),
|
|
111
|
+
guidanceScale: off('diffusion_options_guidance_scale'),
|
|
112
|
+
seed: off('diffusion_options_seed'),
|
|
113
|
+
scheduler: off('diffusion_options_scheduler'),
|
|
114
|
+
mode: off('diffusion_options_mode'),
|
|
115
|
+
denoiseStrength: off('diffusion_options_denoise_strength'),
|
|
116
|
+
reportIntermediate: off('diffusion_options_report_intermediate'),
|
|
117
|
+
progressStride: off('diffusion_options_progress_stride'),
|
|
118
|
+
};
|
|
119
|
+
}
|
|
120
|
+
function loadDiffusionResultOffsets() {
|
|
121
|
+
return {
|
|
122
|
+
imageData: off('diffusion_result_image_data'),
|
|
123
|
+
imageSize: off('diffusion_result_image_size'),
|
|
124
|
+
width: off('diffusion_result_width'),
|
|
125
|
+
height: off('diffusion_result_height'),
|
|
126
|
+
seedUsed: off('diffusion_result_seed_used'),
|
|
127
|
+
generationTimeMs: off('diffusion_result_generation_time_ms'),
|
|
128
|
+
safetyFlagged: off('diffusion_result_safety_flagged'),
|
|
129
|
+
};
|
|
130
|
+
}
|
|
131
|
+
// ---------------------------------------------------------------------------
|
|
132
|
+
// Cached Offsets Singleton
|
|
133
|
+
// ---------------------------------------------------------------------------
|
|
134
|
+
let _cached = null;
|
|
135
|
+
/**
|
|
136
|
+
* Load all struct offsets from the LlamaCppBridge WASM module.
|
|
137
|
+
* Results are cached after the first call.
|
|
138
|
+
*
|
|
139
|
+
* Must be called after LlamaCppBridge.shared.ensureLoaded().
|
|
140
|
+
*/
|
|
141
|
+
export function loadOffsets() {
|
|
142
|
+
if (_cached)
|
|
143
|
+
return _cached;
|
|
144
|
+
_cached = {
|
|
145
|
+
config: loadConfigOffsets(),
|
|
146
|
+
llmOptions: loadLLMOptionsOffsets(),
|
|
147
|
+
llmResult: loadLLMResultOffsets(),
|
|
148
|
+
vlmImage: loadVLMImageOffsets(),
|
|
149
|
+
vlmOptions: loadVLMOptionsOffsets(),
|
|
150
|
+
vlmResult: loadVLMResultOffsets(),
|
|
151
|
+
structuredOutputConfig: loadStructuredOutputConfigOffsets(),
|
|
152
|
+
structuredOutputValidation: loadStructuredOutputValidationOffsets(),
|
|
153
|
+
embeddingsOptions: loadEmbeddingsOptionsOffsets(),
|
|
154
|
+
embeddingsResult: loadEmbeddingsResultOffsets(),
|
|
155
|
+
embeddingVector: loadEmbeddingVectorOffsets(),
|
|
156
|
+
diffusionOptions: loadDiffusionOptionsOffsets(),
|
|
157
|
+
diffusionResult: loadDiffusionResultOffsets(),
|
|
158
|
+
};
|
|
159
|
+
return _cached;
|
|
160
|
+
}
|
|
161
|
+
/**
|
|
162
|
+
* Get the cached offsets. Throws if loadOffsets() hasn't been called yet.
|
|
163
|
+
*/
|
|
164
|
+
export function getOffsets() {
|
|
165
|
+
if (!_cached) {
|
|
166
|
+
// Auto-load if bridge is available
|
|
167
|
+
if (LlamaCppBridge.shared.isLoaded) {
|
|
168
|
+
return loadOffsets();
|
|
169
|
+
}
|
|
170
|
+
throw new Error('LlamaCpp offsets not loaded. Call loadOffsets() after LlamaCppBridge is loaded.');
|
|
171
|
+
}
|
|
172
|
+
return _cached;
|
|
173
|
+
}
|
|
174
|
+
/**
|
|
175
|
+
* Convenience alias: `Offsets` provides the same access pattern as the old
|
|
176
|
+
* core `Offsets` global, e.g. `Offsets.llmOptions.temperature`.
|
|
177
|
+
*
|
|
178
|
+
* Lazily loads offsets on first property access.
|
|
179
|
+
*/
|
|
180
|
+
export const Offsets = new Proxy({}, {
|
|
181
|
+
get(_target, prop) {
|
|
182
|
+
return getOffsets()[prop];
|
|
183
|
+
},
|
|
184
|
+
});
|
|
185
|
+
/**
|
|
186
|
+
* Reset the cached offsets (for testing or when the bridge is reloaded).
|
|
187
|
+
*/
|
|
188
|
+
export function resetOffsets() {
|
|
189
|
+
_cached = null;
|
|
190
|
+
}
|
|
191
|
+
//# sourceMappingURL=LlamaCppOffsets.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"LlamaCppOffsets.js","sourceRoot":"","sources":["../../src/Foundation/LlamaCppOffsets.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,109 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* RunAnywhere Web SDK - Platform Adapter
|
|
3
|
+
*
|
|
4
|
+
* Implements rac_platform_adapter_t callbacks using browser Web APIs.
|
|
5
|
+
* This is the web equivalent of:
|
|
6
|
+
* - SwiftPlatformAdapter (iOS)
|
|
7
|
+
* - KotlinPlatformAdapter (Android/JVM)
|
|
8
|
+
* - DartPlatformAdapter (Flutter)
|
|
9
|
+
*
|
|
10
|
+
* Each callback is registered as a C function pointer via Emscripten's
|
|
11
|
+
* Module.addFunction(), then written into the rac_platform_adapter_t
|
|
12
|
+
* struct in WASM memory.
|
|
13
|
+
*/
|
|
14
|
+
/**
|
|
15
|
+
* PlatformAdapter - Bridges browser Web APIs to RACommons C callbacks.
|
|
16
|
+
*
|
|
17
|
+
* The rac_platform_adapter_t struct is a collection of C function pointers.
|
|
18
|
+
* JavaScript provides implementations via Emscripten's addFunction(),
|
|
19
|
+
* which creates callable C function pointers from JS closures.
|
|
20
|
+
*/
|
|
21
|
+
export declare class PlatformAdapter {
|
|
22
|
+
private callbacks;
|
|
23
|
+
private adapterPtr;
|
|
24
|
+
/**
|
|
25
|
+
* Create and register the platform adapter with RACommons.
|
|
26
|
+
* Must be called after WASM module is loaded but before rac_init().
|
|
27
|
+
*/
|
|
28
|
+
register(): void;
|
|
29
|
+
/**
|
|
30
|
+
* Get the WASM pointer to the adapter struct.
|
|
31
|
+
* Used by RunAnywhere.initialize() to populate rac_config_t.
|
|
32
|
+
*/
|
|
33
|
+
getAdapterPtr(): number;
|
|
34
|
+
/**
|
|
35
|
+
* Clean up allocated callbacks and memory.
|
|
36
|
+
*/
|
|
37
|
+
cleanup(): void;
|
|
38
|
+
/** file_exists: rac_bool_t (*)(const char* path, void* user_data) */
|
|
39
|
+
private registerFileExists;
|
|
40
|
+
/** file_read: rac_result_t (*)(const char* path, void** out_data, size_t* out_size, void* user_data) */
|
|
41
|
+
private registerFileRead;
|
|
42
|
+
/** file_write: rac_result_t (*)(const char* path, const void* data, size_t size, void* user_data) */
|
|
43
|
+
private registerFileWrite;
|
|
44
|
+
/** file_delete: rac_result_t (*)(const char* path, void* user_data) */
|
|
45
|
+
private registerFileDelete;
|
|
46
|
+
/**
|
|
47
|
+
* secure_get: rac_result_t (*)(const char* key, char** out_value, void* user_data)
|
|
48
|
+
*
|
|
49
|
+
* SECURITY NOTE: On web, "secure" storage uses localStorage which is NOT
|
|
50
|
+
* truly secure. Data is accessible to any script running on the same origin
|
|
51
|
+
* (including XSS attacks). Do NOT store sensitive secrets (API keys, tokens,
|
|
52
|
+
* PII) here. On native platforms (iOS/Android) the equivalent callback uses
|
|
53
|
+
* Keychain / KeyStore which are hardware-backed and encrypted.
|
|
54
|
+
*
|
|
55
|
+
* For the web platform this is intentionally best-effort: the RACommons C
|
|
56
|
+
* layer only uses it for non-sensitive SDK state (e.g. cached environment).
|
|
57
|
+
*/
|
|
58
|
+
private registerSecureGet;
|
|
59
|
+
/**
|
|
60
|
+
* secure_set: rac_result_t (*)(const char* key, const char* value, void* user_data)
|
|
61
|
+
*
|
|
62
|
+
* SECURITY NOTE: See registerSecureGet — localStorage is NOT secure on web.
|
|
63
|
+
* Do not use for sensitive data.
|
|
64
|
+
*/
|
|
65
|
+
private registerSecureSet;
|
|
66
|
+
/**
|
|
67
|
+
* secure_delete: rac_result_t (*)(const char* key, void* user_data)
|
|
68
|
+
*
|
|
69
|
+
* SECURITY NOTE: See registerSecureGet — localStorage is NOT secure on web.
|
|
70
|
+
*/
|
|
71
|
+
private registerSecureDelete;
|
|
72
|
+
/** log: void (*)(rac_log_level_t level, const char* category, const char* message, void* user_data) */
|
|
73
|
+
private registerLog;
|
|
74
|
+
/** now_ms: int64_t (*)(void* user_data) */
|
|
75
|
+
private registerNowMs;
|
|
76
|
+
/** get_memory_info: rac_result_t (*)(rac_memory_info_t* out_info, void* user_data) */
|
|
77
|
+
private registerGetMemoryInfo;
|
|
78
|
+
/**
|
|
79
|
+
* http_download: rac_result_t (*)(const char* url, const char* dest_path,
|
|
80
|
+
* progress_cb, complete_cb, void* cb_user_data, char** out_task_id, void* user_data)
|
|
81
|
+
* Note: 7 params in C
|
|
82
|
+
*/
|
|
83
|
+
private registerHttpDownload;
|
|
84
|
+
/**
|
|
85
|
+
* extract_archive: rac_result_t (*)(const char* archive_path, const char* dest_dir,
|
|
86
|
+
* progress_cb, void* cb_user_data, void* user_data)
|
|
87
|
+
* Note: 5 params in C
|
|
88
|
+
*/
|
|
89
|
+
private registerExtractArchive;
|
|
90
|
+
/**
|
|
91
|
+
* Perform an HTTP download using fetch() and stream to Emscripten FS.
|
|
92
|
+
*/
|
|
93
|
+
private performDownload;
|
|
94
|
+
}
|
|
95
|
+
declare module './LlamaCppBridge' {
|
|
96
|
+
interface LlamaCppModule {
|
|
97
|
+
dynCall: (sig: string, ptr: number, args: number[]) => unknown;
|
|
98
|
+
FS: {
|
|
99
|
+
analyzePath: (path: string) => {
|
|
100
|
+
exists: boolean;
|
|
101
|
+
};
|
|
102
|
+
readFile: (path: string) => Uint8Array;
|
|
103
|
+
writeFile: (path: string, data: Uint8Array) => void;
|
|
104
|
+
unlink: (path: string) => void;
|
|
105
|
+
mkdir: (path: string) => void;
|
|
106
|
+
};
|
|
107
|
+
}
|
|
108
|
+
}
|
|
109
|
+
//# sourceMappingURL=PlatformAdapter.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"PlatformAdapter.d.ts","sourceRoot":"","sources":["../../src/Foundation/PlatformAdapter.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AA0BH;;;;;;GAMG;AACH,qBAAa,eAAe;IAC1B,OAAO,CAAC,SAAS,CAAoC;IACrD,OAAO,CAAC,UAAU,CAAK;IAEvB;;;OAGG;IACH,QAAQ,IAAI,IAAI;IAmEhB;;;OAGG;IACH,aAAa,IAAI,MAAM;IAIvB;;OAEG;IACH,OAAO,IAAI,IAAI;IAsBf,qEAAqE;IACrE,OAAO,CAAC,kBAAkB;IAY1B,wGAAwG;IACxG,OAAO,CAAC,gBAAgB;IAgBxB,qGAAqG;IACrG,OAAO,CAAC,iBAAiB;IAazB,uEAAuE;IACvE,OAAO,CAAC,kBAAkB;IAY1B;;;;;;;;;;;OAWG;IACH,OAAO,CAAC,iBAAiB;IAkBzB;;;;;OAKG;IACH,OAAO,CAAC,iBAAiB;IAazB;;;;OAIG;IACH,OAAO,CAAC,oBAAoB;IAY5B,uGAAuG;IACvG,OAAO,CAAC,WAAW;IA2BnB,2CAA2C;IAC3C,OAAO,CAAC,aAAa;IAQrB,sFAAsF;IACtF,OAAO,CAAC,qBAAqB;IA8B7B;;;;OAIG;IACH,OAAO,CAAC,oBAAoB;IAyB5B;;;;OAIG;IACH,OAAO,CAAC,sBAAsB;IAY9B;;OAEG;YACW,eAAe;CAmE9B;AAgBD,OAAO,QAAQ,kBAAkB,CAAC;IAChC,UAAU,cAAc;QACtB,OAAO,EAAE,CAAC,GAAG,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,KAAK,OAAO,CAAC;QAC/D,EAAE,EAAE;YACF,WAAW,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK;gBAAE,MAAM,EAAE,OAAO,CAAA;aAAE,CAAC;YACnD,QAAQ,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,UAAU,CAAC;YACvC,SAAS,EAAE,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,UAAU,KAAK,IAAI,CAAC;YACpD,MAAM,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,CAAC;YAC/B,KAAK,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,CAAC;SAC/B,CAAC;KACH;CACF"}
|