@onda-lang/wasm-compiler 0.5.4 → 0.7.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.
@@ -1,18 +1,55 @@
1
1
  /* tslint:disable */
2
2
  /* eslint-disable */
3
3
  export const memory: WebAssembly.Memory;
4
+ export const __wbg_frontendjsoncompilation_free: (a: number, b: number) => void;
5
+ export const __wbg_frontendmessagepackcompilation_free: (a: number, b: number) => void;
4
6
  export const __wbg_ondalsp_free: (a: number, b: number) => void;
5
- export const compile_project_to_mir_json: (a: number, b: number, c: number, d: number, e: number, f: number) => [number, number, number, number];
6
- export const compile_project_to_mir_messagepack: (a: number, b: number, c: number, d: number, e: number, f: number) => [number, number, number, number];
7
- export const compile_to_mir_json: (a: number, b: number, c: number, d: number) => [number, number, number, number];
8
- export const compile_to_mir_messagepack: (a: number, b: number, c: number, d: number) => [number, number, number, number];
7
+ export const __wbg_webdecodedbufferasset_free: (a: number, b: number) => void;
8
+ export const __wbg_webmaterializedprojectbuilder_free: (a: number, b: number) => void;
9
+ export const __wbg_webprojectimagebuilder_free: (a: number, b: number) => void;
10
+ export const __wbg_webprojectmaterializationplan_free: (a: number, b: number) => void;
11
+ export const buffer_asset_format_version: () => number;
12
+ export const compile_project_image_to_mir_messagepack: (a: number, b: number, c: number, d: number) => [number, number, number];
13
+ export const compile_source_workspace_to_mir_json: (a: number, b: number, c: number, d: number, e: number, f: number) => [number, number, number];
14
+ export const compile_source_workspace_to_mir_messagepack: (a: number, b: number, c: number, d: number, e: number, f: number) => [number, number, number];
15
+ export const compile_to_mir_json: (a: number, b: number, c: number, d: number) => [number, number, number];
16
+ export const compile_to_mir_messagepack: (a: number, b: number, c: number, d: number) => [number, number, number];
17
+ export const current_stdlib_digest: () => [number, number];
18
+ export const decode_buffer_asset: (a: number, b: number) => [number, number, number];
19
+ export const decode_buffer_file: (a: number, b: number, c: number, d: number) => [number, number, number];
20
+ export const encode_buffer_asset: (a: number, b: number, c: number, d: number, e: number, f: number, g: number) => [number, number, number, number];
21
+ export const frontendjsoncompilation_source_files_json: (a: number) => [number, number];
22
+ export const frontendjsoncompilation_source_image_json: (a: number) => [number, number];
23
+ export const frontendjsoncompilation_take_mir: (a: number) => [number, number];
24
+ export const frontendmessagepackcompilation_source_files_json: (a: number) => [number, number];
25
+ export const frontendmessagepackcompilation_source_image_json: (a: number) => [number, number];
26
+ export const inspect_project_image: (a: number, b: number) => [number, number, number, number];
27
+ export const materialize_project_image: (a: number, b: number, c: number, d: number) => [number, number, number];
9
28
  export const mir_schema_version: () => number;
10
29
  export const ondalsp_handle_message: (a: number, b: number, c: number) => [number, number, number, number];
11
30
  export const ondalsp_new: () => number;
12
31
  export const ondalsp_set_analysis_options: (a: number, b: number, c: number) => [number, number];
32
+ export const webdecodedbufferasset_canonical_payload: (a: number) => [number, number];
33
+ export const webdecodedbufferasset_channels: (a: number) => number;
34
+ export const webdecodedbufferasset_element: (a: number) => [number, number];
35
+ export const webdecodedbufferasset_frames: (a: number) => number;
36
+ export const webdecodedbufferasset_sample_rate: (a: number) => number;
37
+ export const webmaterializedprojectbuilder_add_file: (a: number, b: number, c: number, d: number, e: number) => [number, number];
38
+ export const webmaterializedprojectbuilder_new: () => number;
39
+ export const webmaterializedprojectbuilder_select_project: (a: number, b: number, c: number) => [number, number];
40
+ export const webmaterializedprojectbuilder_serialize: (a: number) => [number, number, number, number];
41
+ export const webprojectimagebuilder_add_buffer: (a: number, b: number, c: number, d: number, e: number) => [number, number];
42
+ export const webprojectimagebuilder_new: (a: number, b: number) => [number, number, number];
43
+ export const webprojectimagebuilder_serialize: (a: number) => [number, number, number, number];
44
+ export const webprojectmaterializationplan_directories_json: (a: number) => [number, number];
45
+ export const webprojectmaterializationplan_file_bytes: (a: number, b: number) => [number, number];
46
+ export const webprojectmaterializationplan_file_count: (a: number) => number;
47
+ export const webprojectmaterializationplan_file_path: (a: number, b: number) => [number, number];
48
+ export const project_image_format_version: () => number;
49
+ export const frontendmessagepackcompilation_take_mir: (a: number) => [number, number];
13
50
  export const __wbindgen_externrefs: WebAssembly.Table;
14
51
  export const __wbindgen_malloc: (a: number, b: number) => number;
15
- export const __wbindgen_realloc: (a: number, b: number, c: number, d: number) => number;
16
52
  export const __externref_table_dealloc: (a: number) => void;
53
+ export const __wbindgen_realloc: (a: number, b: number, c: number, d: number) => number;
17
54
  export const __wbindgen_free: (a: number, b: number, c: number) => void;
18
55
  export const __wbindgen_start: () => void;
@@ -5,7 +5,7 @@
5
5
  "onda contributors"
6
6
  ],
7
7
  "description": "Browser-safe Onda source-to-MIR compiler",
8
- "version": "0.5.4",
8
+ "version": "0.7.0",
9
9
  "license": "MIT",
10
10
  "repository": {
11
11
  "type": "git",
package/dist/version.js CHANGED
@@ -1 +1 @@
1
- export const ONDA_VERSION = "0.5.4";
1
+ export const ONDA_VERSION = "0.7.0";
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@onda-lang/wasm-compiler",
3
- "version": "0.5.4",
3
+ "version": "0.7.0",
4
4
  "type": "module",
5
5
  "description": "Onda source-to-WebAssembly compiler for browsers and Node.js",
6
6
  "license": "MIT",
@@ -59,7 +59,7 @@
59
59
  "prepack": "npm run build"
60
60
  },
61
61
  "dependencies": {
62
- "@onda-lang/processor-abi": "0.5.4",
62
+ "@onda-lang/processor-abi": "0.7.0",
63
63
  "binaryen": "130.0.0"
64
64
  },
65
65
  "publishConfig": {
package/src/index.d.ts CHANGED
@@ -5,6 +5,8 @@ export {
5
5
  PROCESSOR_ABI_VERSION,
6
6
  PROCESSOR_ARTIFACT_FORMAT,
7
7
  PROCESSOR_ARTIFACT_FORMAT_VERSION,
8
+ PROCESSOR_EXECUTION_OK,
9
+ PROCESSOR_EXECUTION_RUNTIME_SAFETY_FAILURE,
8
10
  PROCESSOR_SNAPSHOT_FORMAT_VERSION,
9
11
  createProcessorArtifactFiles,
10
12
  loadProcessorArtifactFiles,
@@ -48,20 +50,129 @@ export interface OndaCompileOptions {
48
50
  codegen?: OndaCodegenOptions;
49
51
  }
50
52
 
51
- export interface OndaProject {
53
+ export interface OndaSourceWorkspace {
52
54
  entry: string;
53
55
  sources: Record<string, string>;
54
56
  }
55
57
 
58
+ export type OndaSourceReferenceKind = "include" | "import";
59
+
60
+ export interface OndaSourceDocument {
61
+ path: string;
62
+ contents: string;
63
+ }
64
+
65
+ export interface OndaSourceResolution {
66
+ source: string;
67
+ kind: OndaSourceReferenceKind;
68
+ specifier: string;
69
+ target: string;
70
+ }
71
+
72
+ export interface OndaSourceGraph {
73
+ entry: string;
74
+ stdlibDigest: string;
75
+ documents: OndaSourceDocument[];
76
+ resolutions: OndaSourceResolution[];
77
+ }
78
+
79
+ export type OndaBufferElement = "bool" | "i32" | "i64" | "f32" | "f64";
80
+ export type OndaBufferData =
81
+ | Uint8Array
82
+ | Int32Array
83
+ | BigInt64Array
84
+ | Float32Array
85
+ | Float64Array;
86
+
87
+ export interface OndaBufferAssetBinding {
88
+ element: OndaBufferElement;
89
+ frames: number;
90
+ channels: number;
91
+ sampleRate: number;
92
+ data: OndaBufferData;
93
+ }
94
+
95
+ export interface OndaProjectBufferInfo {
96
+ name: string;
97
+ assetId: string;
98
+ element: OndaBufferElement;
99
+ frames: number;
100
+ channels: number;
101
+ sampleRate: number;
102
+ }
103
+
104
+ export interface OndaProjectImageInfo {
105
+ formatVersion: number;
106
+ contentDigest: string;
107
+ sourceGraph: OndaSourceGraph;
108
+ buffers: OndaProjectBufferInfo[];
109
+ }
110
+
111
+ export interface OndaSerializedProjectImage extends OndaProjectImageInfo {
112
+ bytes: Uint8Array;
113
+ }
114
+
115
+ export interface OndaMaterializedProjectFile {
116
+ path: string;
117
+ bytes: Uint8Array;
118
+ }
119
+
120
+ export interface OndaProjectMaterialization {
121
+ directories: string[];
122
+ files: OndaMaterializedProjectFile[];
123
+ }
124
+
125
+ export interface OndaProjectCapabilities {
126
+ imageFormatVersion: number;
127
+ bufferAssetFormatVersion: number;
128
+ stdlibDigest: string;
129
+ }
130
+
131
+ export interface OndaCompilationResult {
132
+ artifact: OndaProcessorArtifact;
133
+ /** Entry first, then transitive non-stdlib imports/includes in discovery order. */
134
+ sourceFiles: string[];
135
+ /** Exact resolved graph for successful multi-file/project-image compilation. */
136
+ sourceGraph: OndaSourceGraph | null;
137
+ }
138
+
56
139
  export interface OndaCompilerInstance {
57
140
  compileSource(
58
141
  source: string,
59
142
  options?: OndaCompileOptions,
60
- ): Promise<OndaProcessorArtifact>;
61
- compileProject(
62
- project: OndaProject,
143
+ ): Promise<OndaCompilationResult>;
144
+ compileWorkspace(
145
+ workspace: OndaSourceWorkspace,
146
+ options?: OndaCompileOptions,
147
+ ): Promise<OndaCompilationResult>;
148
+ compileProjectImage(
149
+ imageBytes: ArrayBuffer | ArrayBufferView,
63
150
  options?: OndaCompileOptions,
64
- ): Promise<OndaProcessorArtifact>;
151
+ ): Promise<OndaCompilationResult>;
152
+ createProjectImage(
153
+ sourceGraph: OndaSourceGraph,
154
+ buffers?: Map<string, ArrayBuffer | ArrayBufferView>
155
+ | Record<string, ArrayBuffer | ArrayBufferView>,
156
+ ): Promise<OndaSerializedProjectImage>;
157
+ inspectProjectImage(
158
+ imageBytes: ArrayBuffer | ArrayBufferView,
159
+ ): Promise<OndaProjectImageInfo>;
160
+ loadProjectFiles(
161
+ files: Map<string, ArrayBuffer | ArrayBufferView>
162
+ | Record<string, ArrayBuffer | ArrayBufferView>,
163
+ projectFilePath?: string | null,
164
+ ): Promise<OndaSerializedProjectImage>;
165
+ materializeProjectImage(
166
+ imageBytes: ArrayBuffer | ArrayBufferView,
167
+ assetFileNames?: Map<string, string> | Record<string, string>,
168
+ ): Promise<OndaProjectMaterialization>;
169
+ encodeBufferAsset(binding: OndaBufferAssetBinding): Promise<Uint8Array>;
170
+ decodeBufferAsset(bytes: ArrayBuffer | ArrayBufferView): Promise<OndaBufferAssetBinding>;
171
+ decodeBufferFile(
172
+ bytes: ArrayBuffer | ArrayBufferView,
173
+ path?: string,
174
+ ): Promise<OndaBufferAssetBinding>;
175
+ projectCapabilities(): Promise<OndaProjectCapabilities>;
65
176
  sendLspMessage(message: OndaLspMessage): Promise<OndaLspMessage[]>;
66
177
  setLspAnalysisOptions(options?: OndaCompileOptions): Promise<void>;
67
178
  dispose(): Promise<void>;
@@ -108,6 +219,9 @@ export class OndaCompilerError extends Error {
108
219
 
109
220
  export class OndaCompileError extends OndaCompilerError {
110
221
  readonly diagnostics: OndaCompilerDiagnostic[];
222
+ readonly sourceFiles: string[];
223
+ /** Referenced non-stdlib source candidates which were not present. */
224
+ readonly unresolvedSourceFiles: string[];
111
225
  }
112
226
 
113
227
  export class OndaBinaryenError extends Error {}