motely-wasm 1.0.0 → 1.0.2
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 +21 -0
- package/README.md +353 -11
- package/dist/_framework/Motely.Orchestration.Browser.wasm +0 -0
- package/dist/_framework/Motely.Orchestration.wasm +0 -0
- package/dist/_framework/Motely.Repository.wasm +0 -0
- package/dist/_framework/Motely.WASM.wasm +0 -0
- package/dist/_framework/Motely.wasm +0 -0
- package/dist/_framework/System.Collections.Concurrent.wasm +0 -0
- package/dist/_framework/System.Collections.wasm +0 -0
- package/dist/_framework/System.ComponentModel.Primitives.wasm +0 -0
- package/dist/_framework/System.Linq.wasm +0 -0
- package/dist/_framework/System.ObjectModel.wasm +0 -0
- package/dist/_framework/System.Private.CoreLib.wasm +0 -0
- package/dist/_framework/System.Private.Uri.wasm +0 -0
- package/dist/_framework/System.Text.Json.wasm +0 -0
- package/dist/_framework/System.Text.RegularExpressions.wasm +0 -0
- package/dist/_framework/System.Threading.Channels.wasm +0 -0
- package/dist/_framework/YamlDotNet.wasm +0 -0
- package/dist/_framework/dotnet.boot.js +26 -56
- package/dist/_framework/dotnet.native.js +25 -53
- package/dist/_framework/dotnet.native.wasm +0 -0
- package/dist/duckdb.d.ts +14 -0
- package/dist/duckdb.js +98 -0
- package/dist/loader.d.ts +17 -0
- package/dist/loader.js +38 -0
- package/docs/NEXTJS_INTEGRATION.md +202 -0
- package/index.d.ts +27 -0
- package/index.js +18 -25
- package/motely-wasm.d.ts +24 -7
- package/package.json +69 -11
- package/scripts/prepare-public.js +33 -0
- package/dist/_framework/DuckDB.NET.Bindings.wasm +0 -0
- package/dist/_framework/DuckDB.NET.Data.wasm +0 -0
- package/dist/_framework/Motely.DB.wasm +0 -0
- package/dist/_framework/System.ComponentModel.TypeConverter.wasm +0 -0
- package/dist/_framework/System.Data.Common.wasm +0 -0
- package/dist/_framework/System.Linq.Expressions.wasm +0 -0
- package/dist/_framework/System.Runtime.Numerics.wasm +0 -0
- package/dist/_framework/System.wasm +0 -0
package/LICENSE
ADDED
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
MIT License
|
|
2
|
+
|
|
3
|
+
Copyright (c) OptimusPi
|
|
4
|
+
|
|
5
|
+
Permission is hereby granted, free of charge, to any person obtaining a copy
|
|
6
|
+
of this software and associated documentation files (the "Software"), to deal
|
|
7
|
+
in the Software without restriction, including without limitation the rights
|
|
8
|
+
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
|
9
|
+
copies of the Software, and to permit persons to whom the Software is
|
|
10
|
+
furnished to do so, subject to the following conditions:
|
|
11
|
+
|
|
12
|
+
The above copyright notice and this permission notice shall be included in all
|
|
13
|
+
copies or substantial portions of the Software.
|
|
14
|
+
|
|
15
|
+
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
|
16
|
+
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
|
17
|
+
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
|
18
|
+
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
|
19
|
+
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
|
20
|
+
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
|
21
|
+
SOFTWARE.
|
package/README.md
CHANGED
|
@@ -1,26 +1,368 @@
|
|
|
1
|
-
#
|
|
1
|
+
# motely-wasm
|
|
2
2
|
|
|
3
|
-
|
|
3
|
+
**Browser-only** Balatro seed analyzer and searcher — WebAssembly (SIMD + optional multi-threading). Analyze a seed or search seeds with a JAML filter. No server required.
|
|
4
4
|
|
|
5
|
-
|
|
5
|
+
---
|
|
6
|
+
|
|
7
|
+
## Quick start (TypeScript website, out of the box)
|
|
6
8
|
|
|
7
9
|
```bash
|
|
8
|
-
npm
|
|
10
|
+
npm install motely-wasm
|
|
11
|
+
```
|
|
12
|
+
|
|
13
|
+
That’s it. The package copies its WASM build to `public/motely-wasm` on install (postinstall). Your app must serve that folder as static files (e.g. `public/` in Vite/Next/CRA). To use a different path: `npx motely-wasm-prepare public/your-path`.
|
|
14
|
+
|
|
15
|
+
In your TypeScript code:
|
|
16
|
+
|
|
17
|
+
```typescript
|
|
18
|
+
import { loadMotely } from 'motely-wasm';
|
|
19
|
+
import type { MotelyWasmApi, SeedAnalysisResult, ErrorResult } from 'motely-wasm';
|
|
20
|
+
|
|
21
|
+
// Load the API (path = where you served the WASM, default /motely-wasm)
|
|
22
|
+
const api: MotelyWasmApi = await loadMotely('/motely-wasm');
|
|
23
|
+
|
|
24
|
+
const json = await api.AnalyzeSeed('TACO1111', 'Red', 'White', 1, 8, '{}');
|
|
25
|
+
const result = JSON.parse(json) as SeedAnalysisResult | ErrorResult;
|
|
26
|
+
if ('error' in result) {
|
|
27
|
+
console.error(result.error);
|
|
28
|
+
} else {
|
|
29
|
+
console.log(result.seed, result.antes);
|
|
30
|
+
}
|
|
9
31
|
```
|
|
10
|
-
Opens http://localhost:3333
|
|
11
32
|
|
|
12
|
-
|
|
33
|
+
Types resolve automatically; no extra config. For multi-threading, your server must send [COOP/COEP headers](#multi-threading-coopcoep) (see below).
|
|
34
|
+
|
|
35
|
+
### Optional: DuckDB-WASM results storage
|
|
36
|
+
|
|
37
|
+
If you want browser-side persistence of search results, initialize DuckDB-WASM before running a search:
|
|
38
|
+
|
|
39
|
+
```typescript
|
|
40
|
+
import { loadMotely, initDuckDbWasmResults } from 'motely-wasm';
|
|
41
|
+
|
|
42
|
+
await initDuckDbWasmResults({ tableName: 'motely_results' });
|
|
43
|
+
const api = await loadMotely('/motely-wasm');
|
|
44
|
+
|
|
45
|
+
// Now SearchSeeds will also stream results into DuckDB-WASM
|
|
46
|
+
await api.SearchSeeds(jamlJson, null, 4, 1000);
|
|
47
|
+
```
|
|
48
|
+
|
|
49
|
+
`initDuckDbWasmResults` hooks into `globalThis.MotelyWasmOnResult` and streams each result into DuckDB-WASM.
|
|
50
|
+
|
|
51
|
+
---
|
|
52
|
+
|
|
53
|
+
## Setup (other workflows)
|
|
54
|
+
|
|
55
|
+
Copy runs automatically on `npm install`. To copy again or to a different path:
|
|
56
|
+
|
|
57
|
+
```bash
|
|
58
|
+
npx motely-wasm-prepare
|
|
59
|
+
# or
|
|
60
|
+
npx motely-wasm-prepare public/my-wasm
|
|
61
|
+
```
|
|
62
|
+
|
|
63
|
+
Or use `require('motely-wasm').getDistPath()` in your own build step.
|
|
64
|
+
|
|
65
|
+
**Docs:** [Next.js](docs/NEXTJS_INTEGRATION.md)
|
|
66
|
+
|
|
67
|
+
---
|
|
68
|
+
|
|
69
|
+
## Installation
|
|
70
|
+
|
|
71
|
+
```bash
|
|
72
|
+
npm install motely-wasm
|
|
73
|
+
```
|
|
74
|
+
|
|
75
|
+
## Load the API in the browser (no bundler)
|
|
76
|
+
|
|
77
|
+
If you're not using a bundler, load the runtime directly from your public path:
|
|
13
78
|
|
|
14
79
|
```js
|
|
15
|
-
|
|
16
|
-
await
|
|
17
|
-
await
|
|
80
|
+
const { dotnet } = await import('/motely-wasm/_framework/dotnet.js');
|
|
81
|
+
const { getAssemblyExports, getConfig } = await dotnet.create();
|
|
82
|
+
const exports = await getAssemblyExports(getConfig().mainAssemblyName);
|
|
83
|
+
const api = exports.Motely.WASM.MotelyWasm;
|
|
84
|
+
|
|
85
|
+
const result = await api.AnalyzeSeed("TACO1111", "Red", "White", 1, 8, "{}");
|
|
86
|
+
console.log(JSON.parse(result));
|
|
87
|
+
```
|
|
88
|
+
|
|
89
|
+
### Multi-threading (COOP/COEP)
|
|
90
|
+
|
|
91
|
+
Your server MUST send these headers for WASM multi-threading to work:
|
|
92
|
+
|
|
93
|
+
```
|
|
94
|
+
Cross-Origin-Embedder-Policy: require-corp
|
|
95
|
+
Cross-Origin-Opener-Policy: same-origin
|
|
96
|
+
```
|
|
97
|
+
|
|
98
|
+
Without these headers, the WASM will still load but run single-threaded.
|
|
99
|
+
|
|
100
|
+
**Other frameworks:** Run `npx motely-wasm-prepare` or use `getDistPath()` in your own script so your app can serve the WASM; then load `/motely-wasm/_framework/dotnet.js` in the browser as above.
|
|
101
|
+
|
|
102
|
+
## API Reference
|
|
103
|
+
|
|
104
|
+
**Browser API:** After loading the WASM module, use `exports.Motely.WASM.MotelyWasm`. All 9 methods are exported from C# (JSExport); SearchSeeds optionally calls your JS callbacks (JSImport) for progress and results. All methods are async and return JSON strings; parse with `JSON.parse()`.
|
|
105
|
+
|
|
106
|
+
| Method | Description |
|
|
107
|
+
|--------|-------------|
|
|
108
|
+
| `AnalyzeSeed(seed, deck, stake, minAnte, maxAnte, optionsJson)` | Analyze one seed; returns ante data. |
|
|
109
|
+
| `SearchSeeds(jamlFilterJson, seedList, threadCount, maxResults?)` | Search seeds matching a JAML filter. Optional: set `globalThis.MotelyWasmOnProgress`, `MotelyWasmOnResult`, `MotelyWasmOnComplete` before calling. |
|
|
110
|
+
| `ValidateJaml(jamlString)` | Validate JAML without searching. |
|
|
111
|
+
| `CancelSearch()` | Cancel in-progress search. |
|
|
112
|
+
| `IsSearchRunning()` | Returns whether a search is running. |
|
|
113
|
+
| `GetSearchProgress()` | Current progress JSON (alternative to callbacks). |
|
|
114
|
+
| `GetLastSearchResult()` | Last search result JSON (cleared after read). |
|
|
115
|
+
| `GetProcessorCount()` | Number of threads (use for `threadCount`). |
|
|
116
|
+
| `GetVersion()` | Version info JSON. |
|
|
117
|
+
|
|
118
|
+
### AnalyzeSeed
|
|
119
|
+
|
|
120
|
+
Analyze a specific seed and return all ante data.
|
|
121
|
+
|
|
122
|
+
```typescript
|
|
123
|
+
await MotelyWasm.AnalyzeSeed(
|
|
124
|
+
seed: string, // e.g., "TACO1111"
|
|
125
|
+
deck: string, // "Red", "Blue", "Yellow", "Green", "Black", "Magic", "Nebula", "Ghost", etc.
|
|
126
|
+
stake: string, // "White", "Red", "Green", "Black", "Blue", "Purple", "Orange", "Gold"
|
|
127
|
+
minAnte: number, // 1-8
|
|
128
|
+
maxAnte: number, // 1-8
|
|
129
|
+
optionsJson: string // "{}" (reserved for future options)
|
|
130
|
+
): Promise<string> // Returns SeedAnalysisResult or ErrorResult JSON
|
|
131
|
+
```
|
|
132
|
+
|
|
133
|
+
**Response:**
|
|
134
|
+
```typescript
|
|
135
|
+
interface SeedAnalysisResult {
|
|
136
|
+
seed: string;
|
|
137
|
+
deck: string;
|
|
138
|
+
stake: string;
|
|
139
|
+
erraticDeckComposition: string[];
|
|
140
|
+
twos: number;
|
|
141
|
+
antes: AnteAnalysis[];
|
|
142
|
+
}
|
|
143
|
+
|
|
144
|
+
interface AnteAnalysis {
|
|
145
|
+
ante: number;
|
|
146
|
+
boss: string;
|
|
147
|
+
voucher: string;
|
|
148
|
+
smallBlindTag: string;
|
|
149
|
+
bigBlindTag: string;
|
|
150
|
+
drawOrder: string;
|
|
151
|
+
shopQueue: { id: string; name: string }[];
|
|
152
|
+
packs: { type: string; items: string[] }[];
|
|
153
|
+
}
|
|
154
|
+
```
|
|
155
|
+
|
|
156
|
+
### SearchSeeds
|
|
157
|
+
|
|
158
|
+
Search for seeds matching a JAML filter.
|
|
159
|
+
|
|
160
|
+
```typescript
|
|
161
|
+
await MotelyWasm.SearchSeeds(
|
|
162
|
+
jamlFilterJson: string, // JAML filter as string
|
|
163
|
+
seedList: string | null, // Comma-separated seeds to search, or null for sequential
|
|
164
|
+
threadCount: number, // Number of threads (use GetProcessorCount())
|
|
165
|
+
maxResults?: number // Max results to return (default 1000)
|
|
166
|
+
): Promise<string> // Returns SearchResponse or ErrorResult JSON
|
|
167
|
+
```
|
|
168
|
+
|
|
169
|
+
**Callbacks:** Set these on `globalThis` BEFORE calling SearchSeeds:
|
|
170
|
+
|
|
171
|
+
```javascript
|
|
172
|
+
// Progress updates (called every ~200ms)
|
|
173
|
+
globalThis.MotelyWasmOnProgress = (progressJson) => {
|
|
174
|
+
const progress = JSON.parse(progressJson);
|
|
175
|
+
console.log(`Searched: ${progress.searchedCount}, Found: ${progress.foundCount}`);
|
|
176
|
+
};
|
|
177
|
+
|
|
178
|
+
// Each matching seed as it's found
|
|
179
|
+
globalThis.MotelyWasmOnResult = (seed, score, talliesStr) => {
|
|
180
|
+
const tallies = talliesStr ? talliesStr.split(',').map(Number) : [];
|
|
181
|
+
console.log(`Found: ${seed} (score: ${score})`);
|
|
182
|
+
};
|
|
183
|
+
|
|
184
|
+
// Search complete
|
|
185
|
+
globalThis.MotelyWasmOnComplete = (resultJson) => {
|
|
186
|
+
const result = JSON.parse(resultJson);
|
|
187
|
+
console.log(`Search complete! Found ${result.foundCount} seeds.`);
|
|
188
|
+
};
|
|
189
|
+
```
|
|
190
|
+
|
|
191
|
+
**Response:**
|
|
192
|
+
```typescript
|
|
193
|
+
interface SearchResponse {
|
|
194
|
+
results: SearchHit[]; // Empty if using callbacks
|
|
195
|
+
totalSearched: number;
|
|
196
|
+
foundCount: number;
|
|
197
|
+
cancelled: boolean;
|
|
198
|
+
}
|
|
199
|
+
|
|
200
|
+
interface SearchProgress {
|
|
201
|
+
searchedCount: number;
|
|
202
|
+
foundCount: number;
|
|
203
|
+
status: string;
|
|
204
|
+
percentComplete: number;
|
|
205
|
+
seedsPerSecond: number;
|
|
206
|
+
threadCount: number;
|
|
207
|
+
}
|
|
208
|
+
```
|
|
209
|
+
|
|
210
|
+
### ValidateJaml
|
|
211
|
+
|
|
212
|
+
Validate a JAML filter without running a search.
|
|
213
|
+
|
|
214
|
+
```typescript
|
|
215
|
+
await MotelyWasm.ValidateJaml(jamlString: string): Promise<string>
|
|
216
|
+
```
|
|
217
|
+
|
|
218
|
+
**Response:**
|
|
219
|
+
```typescript
|
|
220
|
+
interface ValidateResult {
|
|
221
|
+
valid: boolean;
|
|
222
|
+
error?: string;
|
|
223
|
+
name?: string;
|
|
224
|
+
deck?: string;
|
|
225
|
+
stake?: string;
|
|
226
|
+
}
|
|
227
|
+
```
|
|
228
|
+
|
|
229
|
+
### CancelSearch
|
|
230
|
+
|
|
231
|
+
Cancel an in-progress search.
|
|
232
|
+
|
|
233
|
+
```typescript
|
|
234
|
+
await MotelyWasm.CancelSearch(): Promise<void>
|
|
235
|
+
```
|
|
236
|
+
|
|
237
|
+
### IsSearchRunning
|
|
238
|
+
|
|
239
|
+
Check if a search is currently running.
|
|
240
|
+
|
|
241
|
+
```typescript
|
|
242
|
+
await MotelyWasm.IsSearchRunning(): Promise<boolean>
|
|
18
243
|
```
|
|
19
244
|
|
|
20
|
-
|
|
245
|
+
### GetSearchProgress
|
|
246
|
+
|
|
247
|
+
Get current search progress (alternative to callbacks).
|
|
21
248
|
|
|
22
|
-
|
|
249
|
+
```typescript
|
|
250
|
+
await MotelyWasm.GetSearchProgress(): Promise<string> // Returns SearchProgress JSON
|
|
251
|
+
```
|
|
252
|
+
|
|
253
|
+
### GetLastSearchResult
|
|
254
|
+
|
|
255
|
+
Get the last search result JSON (cleared after retrieval). Use as an alternative to `MotelyWasmOnComplete` when not using callbacks.
|
|
256
|
+
|
|
257
|
+
```typescript
|
|
258
|
+
await MotelyWasm.GetLastSearchResult(): Promise<string> // Returns SearchResponse or empty
|
|
259
|
+
```
|
|
260
|
+
|
|
261
|
+
### GetProcessorCount
|
|
262
|
+
|
|
263
|
+
Get the number of processors/threads available.
|
|
264
|
+
|
|
265
|
+
```typescript
|
|
266
|
+
await MotelyWasm.GetProcessorCount(): Promise<number>
|
|
267
|
+
```
|
|
268
|
+
|
|
269
|
+
### GetVersion
|
|
270
|
+
|
|
271
|
+
Get version information.
|
|
272
|
+
|
|
273
|
+
```typescript
|
|
274
|
+
await MotelyWasm.GetVersion(): Promise<string>
|
|
275
|
+
// Returns: { version: "1.0.1", runtime: "browser-wasm", features: [...] }
|
|
276
|
+
```
|
|
277
|
+
|
|
278
|
+
## JAML Filter Format
|
|
279
|
+
|
|
280
|
+
JAML (JSON-Augmented Markup Language) is a YAML-based format for defining seed search filters.
|
|
281
|
+
|
|
282
|
+
```yaml
|
|
283
|
+
name: My Filter
|
|
284
|
+
deck: Red
|
|
285
|
+
stake: White
|
|
286
|
+
|
|
287
|
+
must:
|
|
288
|
+
- joker: Blueprint
|
|
289
|
+
antes: [1, 2]
|
|
290
|
+
- voucher: Overstock
|
|
291
|
+
antes: [1]
|
|
292
|
+
|
|
293
|
+
should:
|
|
294
|
+
- joker: Showman
|
|
295
|
+
score: 10
|
|
296
|
+
- spectralCard: Aura
|
|
297
|
+
antes: [1, 2]
|
|
298
|
+
```
|
|
299
|
+
|
|
300
|
+
## Example: Next.js Integration
|
|
301
|
+
|
|
302
|
+
```typescript
|
|
303
|
+
// lib/motely.ts
|
|
304
|
+
let motelyWasm: any = null;
|
|
305
|
+
|
|
306
|
+
export async function getMotely() {
|
|
307
|
+
if (motelyWasm) return motelyWasm;
|
|
308
|
+
|
|
309
|
+
const { dotnet } = await import('/motely-wasm/_framework/dotnet.js');
|
|
310
|
+
const { getAssemblyExports, getConfig } = await dotnet.create();
|
|
311
|
+
const exports = await getAssemblyExports(getConfig().mainAssemblyName);
|
|
312
|
+
|
|
313
|
+
motelyWasm = exports.Motely.WASM.MotelyWasm;
|
|
314
|
+
return motelyWasm;
|
|
315
|
+
}
|
|
316
|
+
|
|
317
|
+
// Usage in component
|
|
318
|
+
const api = await getMotely();
|
|
319
|
+
const result = JSON.parse(await api.AnalyzeSeed("TACO1111", "Red", "White", 1, 8, "{}"));
|
|
320
|
+
```
|
|
321
|
+
|
|
322
|
+
## Troubleshooting
|
|
323
|
+
|
|
324
|
+
### "SharedArrayBuffer is not defined"
|
|
325
|
+
|
|
326
|
+
Your server is missing COOP/COEP headers. Add:
|
|
23
327
|
```
|
|
24
328
|
Cross-Origin-Embedder-Policy: require-corp
|
|
25
329
|
Cross-Origin-Opener-Policy: same-origin
|
|
26
330
|
```
|
|
331
|
+
|
|
332
|
+
### Search runs slowly
|
|
333
|
+
|
|
334
|
+
Make sure COOP/COEP headers are set for multi-threading. Without them, WASM runs single-threaded.
|
|
335
|
+
|
|
336
|
+
### Module not found
|
|
337
|
+
|
|
338
|
+
Ensure the `dist/_framework/` folder is copied to your public directory and accessible at the URL you're importing from.
|
|
339
|
+
|
|
340
|
+
## Development (maintainers)
|
|
341
|
+
|
|
342
|
+
Run all commands from the **Motely.WASM** directory (where package.json lives).
|
|
343
|
+
|
|
344
|
+
```bash
|
|
345
|
+
# Build WASM and copy publish output to dist/
|
|
346
|
+
npm run build
|
|
347
|
+
|
|
348
|
+
# Local dev server with COOP/COEP (serves dist/ on http://localhost:3333)
|
|
349
|
+
npm run dev
|
|
350
|
+
```
|
|
351
|
+
|
|
352
|
+
## Publishing (maintainers)
|
|
353
|
+
|
|
354
|
+
**Do not use `npm publish --ignore-scripts`.** The package must include a built `dist/` with WASM files; scripts build and verify that.
|
|
355
|
+
|
|
356
|
+
1. From repo root, build the solution so dependencies are ready: `dotnet build`
|
|
357
|
+
2. `cd Motely.WASM`
|
|
358
|
+
3. `npm run build` — wait until it finishes (dotnet publish + copy to dist). If it fails, fix the build before publishing.
|
|
359
|
+
4. Confirm `dist/_framework` exists and has files (e.g. `dotnet.js`, `.wasm` files).
|
|
360
|
+
5. `npm publish` (run `npm login` first if needed).
|
|
361
|
+
|
|
362
|
+
**Verify before publish:** Run `npm pack` in Motely.WASM. Unpack the `.tgz` and confirm `package/dist/_framework` has files. If it doesn’t, the published package will be broken for users.
|
|
363
|
+
|
|
364
|
+
**Verify after install (consumer):** After `npm install motely-wasm`, check that `node_modules/motely-wasm/dist/_framework` exists and has files. If it’s missing or empty, the publish didn’t include the build.
|
|
365
|
+
|
|
366
|
+
## License
|
|
367
|
+
|
|
368
|
+
MIT
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
export const config = /*json-start*/{
|
|
2
2
|
"mainAssemblyName": "Motely.WASM.dll",
|
|
3
3
|
"resources": {
|
|
4
|
-
"hash": "sha256-
|
|
4
|
+
"hash": "sha256-aO+i4xVT6oSLeZsLATfmhfC9XLzPc42IiCXTueNj4KA=",
|
|
5
5
|
"jsModuleWorker": [
|
|
6
6
|
{
|
|
7
7
|
"name": "dotnet.native.worker.mjs"
|
|
@@ -20,75 +20,55 @@ export const config = /*json-start*/{
|
|
|
20
20
|
"wasmNative": [
|
|
21
21
|
{
|
|
22
22
|
"name": "dotnet.native.wasm",
|
|
23
|
-
"integrity": "sha256-
|
|
23
|
+
"integrity": "sha256-LaKjhruOfm5MO3UQ7YNQAZTGJFZD0qIaVuC5Wlj1aKw="
|
|
24
24
|
}
|
|
25
25
|
],
|
|
26
26
|
"coreAssembly": [
|
|
27
|
-
{
|
|
28
|
-
"virtualPath": "DuckDB.NET.Bindings.wasm",
|
|
29
|
-
"name": "DuckDB.NET.Bindings.wasm",
|
|
30
|
-
"integrity": "sha256-wqxaaQM497E3IjjC7jdl4C41iuXUgt3CIC+L39iZ/lE="
|
|
31
|
-
},
|
|
32
|
-
{
|
|
33
|
-
"virtualPath": "DuckDB.NET.Data.wasm",
|
|
34
|
-
"name": "DuckDB.NET.Data.wasm",
|
|
35
|
-
"integrity": "sha256-tTXnng0Nm7oyHXPf4U7D6XLpQEQJg8lOA67bZgdD5Wg="
|
|
36
|
-
},
|
|
37
|
-
{
|
|
38
|
-
"virtualPath": "Motely.DB.wasm",
|
|
39
|
-
"name": "Motely.DB.wasm",
|
|
40
|
-
"integrity": "sha256-mgKeRITKQ7qNH/7nIdWmL/DQzfDBWlRAtanEw/QrI7E="
|
|
41
|
-
},
|
|
42
27
|
{
|
|
43
28
|
"virtualPath": "Motely.wasm",
|
|
44
29
|
"name": "Motely.wasm",
|
|
45
|
-
"integrity": "sha256-
|
|
30
|
+
"integrity": "sha256-gIFYClf0DXpm7HsvvQ0jR2MGwd4lKuOOZN01OyMSHg8="
|
|
31
|
+
},
|
|
32
|
+
{
|
|
33
|
+
"virtualPath": "Motely.Orchestration.Browser.wasm",
|
|
34
|
+
"name": "Motely.Orchestration.Browser.wasm",
|
|
35
|
+
"integrity": "sha256-ve/7dyF3t4Rn7A79Axesc9rzflRKTS3jSzHBUF0B9tY="
|
|
46
36
|
},
|
|
47
37
|
{
|
|
48
38
|
"virtualPath": "Motely.Orchestration.wasm",
|
|
49
39
|
"name": "Motely.Orchestration.wasm",
|
|
50
|
-
"integrity": "sha256-
|
|
40
|
+
"integrity": "sha256-PUBCdVNXQ3w4qOx4zRL4ejhOg/H1clsXYu1K9sn7cMQ="
|
|
41
|
+
},
|
|
42
|
+
{
|
|
43
|
+
"virtualPath": "Motely.Repository.wasm",
|
|
44
|
+
"name": "Motely.Repository.wasm",
|
|
45
|
+
"integrity": "sha256-jirHMql3tGeV89AxSWy9UMSTy+D5YxXi4ZIE2FRJSuM="
|
|
51
46
|
},
|
|
52
47
|
{
|
|
53
48
|
"virtualPath": "Motely.WASM.wasm",
|
|
54
49
|
"name": "Motely.WASM.wasm",
|
|
55
|
-
"integrity": "sha256-
|
|
50
|
+
"integrity": "sha256-inefOwfugLkyVJ9BLwS48DdoFCHMj8tnPcj0nHljNaA="
|
|
56
51
|
},
|
|
57
52
|
{
|
|
58
53
|
"virtualPath": "System.Collections.Concurrent.wasm",
|
|
59
54
|
"name": "System.Collections.Concurrent.wasm",
|
|
60
|
-
"integrity": "sha256-
|
|
55
|
+
"integrity": "sha256-AFZxuyv5C7gl+Zq58wcA2OWTXvGnnOtUjDmJ8K3ZZ0Q="
|
|
61
56
|
},
|
|
62
57
|
{
|
|
63
58
|
"virtualPath": "System.Collections.wasm",
|
|
64
59
|
"name": "System.Collections.wasm",
|
|
65
|
-
"integrity": "sha256-
|
|
60
|
+
"integrity": "sha256-DsUmQwaER2ZIB1lKEDfcCg8JiVComy+nW2ft5TwReUY="
|
|
66
61
|
},
|
|
67
62
|
{
|
|
68
63
|
"virtualPath": "System.ComponentModel.Primitives.wasm",
|
|
69
64
|
"name": "System.ComponentModel.Primitives.wasm",
|
|
70
|
-
"integrity": "sha256-
|
|
71
|
-
},
|
|
72
|
-
{
|
|
73
|
-
"virtualPath": "System.ComponentModel.TypeConverter.wasm",
|
|
74
|
-
"name": "System.ComponentModel.TypeConverter.wasm",
|
|
75
|
-
"integrity": "sha256-R9CyKUM1Yc/xacERK46upAkz+nBtTnFvWidNXqgBsl8="
|
|
65
|
+
"integrity": "sha256-4jl7fheYZfslgTS9+Tb5swIW4WyeIxC7CYIAUmZSkqw="
|
|
76
66
|
},
|
|
77
67
|
{
|
|
78
68
|
"virtualPath": "System.Console.wasm",
|
|
79
69
|
"name": "System.Console.wasm",
|
|
80
70
|
"integrity": "sha256-RwubalytojFWDevPivMJVmaTy1f1LuUTYxJv6sgNaiU="
|
|
81
71
|
},
|
|
82
|
-
{
|
|
83
|
-
"virtualPath": "System.Data.Common.wasm",
|
|
84
|
-
"name": "System.Data.Common.wasm",
|
|
85
|
-
"integrity": "sha256-oPkIp+I4fIjVPA9YDJ90yCc0asSTrmj0kkZ3c6aVdGw="
|
|
86
|
-
},
|
|
87
|
-
{
|
|
88
|
-
"virtualPath": "System.wasm",
|
|
89
|
-
"name": "System.wasm",
|
|
90
|
-
"integrity": "sha256-YabWgbCEFJ/C33k/i+7FudaFKYcs5tDuAf9sQAhhC2A="
|
|
91
|
-
},
|
|
92
72
|
{
|
|
93
73
|
"virtualPath": "System.IO.Pipelines.wasm",
|
|
94
74
|
"name": "System.IO.Pipelines.wasm",
|
|
@@ -97,12 +77,7 @@ export const config = /*json-start*/{
|
|
|
97
77
|
{
|
|
98
78
|
"virtualPath": "System.Linq.wasm",
|
|
99
79
|
"name": "System.Linq.wasm",
|
|
100
|
-
"integrity": "sha256-
|
|
101
|
-
},
|
|
102
|
-
{
|
|
103
|
-
"virtualPath": "System.Linq.Expressions.wasm",
|
|
104
|
-
"name": "System.Linq.Expressions.wasm",
|
|
105
|
-
"integrity": "sha256-q2RyKG/0tx8nJ4QiKD4vTNYlLhrfSAtbHgxfHK0p5+Q="
|
|
80
|
+
"integrity": "sha256-FpqCpQ9wcwctxGL/d8AREWyZDt5gDZG0Ect7VaxuSmA="
|
|
106
81
|
},
|
|
107
82
|
{
|
|
108
83
|
"virtualPath": "System.Memory.wasm",
|
|
@@ -112,28 +87,23 @@ export const config = /*json-start*/{
|
|
|
112
87
|
{
|
|
113
88
|
"virtualPath": "System.ObjectModel.wasm",
|
|
114
89
|
"name": "System.ObjectModel.wasm",
|
|
115
|
-
"integrity": "sha256-
|
|
90
|
+
"integrity": "sha256-53tJJYiS7ZklSNA64xArxUXeHucwKEMDeM2BdSs1ud0="
|
|
116
91
|
},
|
|
117
92
|
{
|
|
118
93
|
"virtualPath": "System.Private.CoreLib.wasm",
|
|
119
94
|
"name": "System.Private.CoreLib.wasm",
|
|
120
|
-
"integrity": "sha256-
|
|
95
|
+
"integrity": "sha256-OeYdMfIeVa/xGdtFOcCjtDu2KBN152SkvOdvvEcHSdk="
|
|
121
96
|
},
|
|
122
97
|
{
|
|
123
98
|
"virtualPath": "System.Private.Uri.wasm",
|
|
124
99
|
"name": "System.Private.Uri.wasm",
|
|
125
|
-
"integrity": "sha256-
|
|
100
|
+
"integrity": "sha256-iZHFmCnpe0uSpmPJK8HMBqJ/TJEu39sbYQ6bGAwu4zs="
|
|
126
101
|
},
|
|
127
102
|
{
|
|
128
103
|
"virtualPath": "System.Runtime.InteropServices.JavaScript.wasm",
|
|
129
104
|
"name": "System.Runtime.InteropServices.JavaScript.wasm",
|
|
130
105
|
"integrity": "sha256-kMfuIHajm5NGI4GIVJI0/8O+C2k7ZW+oogCwkyMRpk8="
|
|
131
106
|
},
|
|
132
|
-
{
|
|
133
|
-
"virtualPath": "System.Runtime.Numerics.wasm",
|
|
134
|
-
"name": "System.Runtime.Numerics.wasm",
|
|
135
|
-
"integrity": "sha256-gSb0Gu2r6r7VBStSEVMfeoKYpKIGZkGT+2c0QzmO5D8="
|
|
136
|
-
},
|
|
137
107
|
{
|
|
138
108
|
"virtualPath": "System.Security.Cryptography.wasm",
|
|
139
109
|
"name": "System.Security.Cryptography.wasm",
|
|
@@ -147,17 +117,17 @@ export const config = /*json-start*/{
|
|
|
147
117
|
{
|
|
148
118
|
"virtualPath": "System.Text.Json.wasm",
|
|
149
119
|
"name": "System.Text.Json.wasm",
|
|
150
|
-
"integrity": "sha256-
|
|
120
|
+
"integrity": "sha256-0YO5kydtFOl8SwOv9skKooBIxosKDEvD14rqyO8H4M4="
|
|
151
121
|
},
|
|
152
122
|
{
|
|
153
123
|
"virtualPath": "System.Text.RegularExpressions.wasm",
|
|
154
124
|
"name": "System.Text.RegularExpressions.wasm",
|
|
155
|
-
"integrity": "sha256-
|
|
125
|
+
"integrity": "sha256-fMJntAuv6fs8Acy7cl7DCii3G37WR7OK/3P0iG+GNoU="
|
|
156
126
|
},
|
|
157
127
|
{
|
|
158
128
|
"virtualPath": "System.Threading.Channels.wasm",
|
|
159
129
|
"name": "System.Threading.Channels.wasm",
|
|
160
|
-
"integrity": "sha256-
|
|
130
|
+
"integrity": "sha256-9wxtrvceNdYncnllXgzowxFSLkUDvySzFbgdIwpspbg="
|
|
161
131
|
},
|
|
162
132
|
{
|
|
163
133
|
"virtualPath": "System.Threading.wasm",
|
|
@@ -167,7 +137,7 @@ export const config = /*json-start*/{
|
|
|
167
137
|
{
|
|
168
138
|
"virtualPath": "YamlDotNet.wasm",
|
|
169
139
|
"name": "YamlDotNet.wasm",
|
|
170
|
-
"integrity": "sha256-
|
|
140
|
+
"integrity": "sha256-ym2r8OJPp9GcsZ2CIDDUlC81V6rrarojAsdiVRLFV3s="
|
|
171
141
|
},
|
|
172
142
|
{
|
|
173
143
|
"virtualPath": "aot-instances.wasm",
|