@rankcli/cli 0.0.33 → 0.0.35

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/dist/index.js CHANGED
@@ -2132,7 +2132,7 @@ async function syncToCloud(url, report, mergedIssues, pagesAudited, aiAnalysis,
2132
2132
  \u26A0\uFE0F Project limit reached (${data.count}/${data.limit})`));
2133
2133
  console.error(import_chalk4.default.dim(` Upgrade at: ${WEB_APP_URL}/account`));
2134
2134
  } else {
2135
- console.error(import_chalk4.default.dim(data.error || "Cloud sync failed"));
2135
+ console.error(import_chalk4.default.dim(data.error || `Cloud sync failed (HTTP ${res.status})`));
2136
2136
  }
2137
2137
  return null;
2138
2138
  }
@@ -2142,7 +2142,7 @@ async function syncToCloud(url, report, mergedIssues, pagesAudited, aiAnalysis,
2142
2142
  }
2143
2143
  return { projectId: data.projectId, auditId: data.auditId };
2144
2144
  } catch (error) {
2145
- console.error(import_chalk4.default.dim("Cloud sync failed"));
2145
+ console.error(import_chalk4.default.dim(`Cloud sync failed: ${error instanceof Error ? error.message : String(error)}`));
2146
2146
  return null;
2147
2147
  }
2148
2148
  }
@@ -2797,7 +2797,9 @@ async function runFix(options) {
2797
2797
  analyzeSpinner?.fail(`Analysis failed: ${errorMsg}`);
2798
2798
  return { success: false, error: `Analysis failed: ${errorMsg}` };
2799
2799
  }
2800
- analyzeSpinner?.succeed(`Score: ${score}/100, Issues: ${issues.length}`);
2800
+ analyzeSpinner?.succeed(
2801
+ `${issues.length} fixable issue(s) found (quick scan: ${score}/100 - \`rankcli audit\` runs the full check set)`
2802
+ );
2801
2803
  if (options.only && options.only.length > 0) {
2802
2804
  const onlyCodes = new Set(options.only.map((c) => c.toUpperCase()));
2803
2805
  issues = issues.filter((i) => onlyCodes.has(i.code.toUpperCase()));
@@ -3085,8 +3087,7 @@ async function trackAdd(options) {
3085
3087
  spinner.fail("Could not find or create project");
3086
3088
  return { success: false, error: "Project not found" };
3087
3089
  }
3088
- const { planName } = getUserInfo();
3089
- const tier = planName?.toLowerCase() || "free";
3090
+ const tier = tierFromPlanId(getUserInfo().planId) ?? "free";
3090
3091
  const { maxKeywords } = getTierLimits(tier);
3091
3092
  const supabase = await getAuthenticatedClient();
3092
3093
  if (!supabase) {
@@ -3367,8 +3368,7 @@ async function trackCheck(options) {
3367
3368
  if (!project) {
3368
3369
  return { success: false, error: "Project not found" };
3369
3370
  }
3370
- const { planName } = getUserInfo();
3371
- const tier = planName?.toLowerCase() || "free";
3371
+ const tier = tierFromPlanId(getUserInfo().planId) ?? "free";
3372
3372
  const { checksPerDay } = getTierLimits(tier);
3373
3373
  if (!options.force && project.lastRankCheckAt) {
3374
3374
  const hoursSinceCheck = (Date.now() - project.lastRankCheckAt.getTime()) / (1e3 * 60 * 60);
@@ -4239,7 +4239,7 @@ async function testWebhook(channel, webhookUrl) {
4239
4239
  }
4240
4240
 
4241
4241
  // src/version.ts
4242
- var VERSION = "0.0.33";
4242
+ var VERSION = "0.0.35";
4243
4243
 
4244
4244
  // src/index.ts
4245
4245
  var program = new import_commander.Command();
package/dist/index.mjs CHANGED
@@ -1953,7 +1953,7 @@ async function syncToCloud(url, report, mergedIssues, pagesAudited, aiAnalysis,
1953
1953
  \u26A0\uFE0F Project limit reached (${data.count}/${data.limit})`));
1954
1954
  console.error(chalk4.dim(` Upgrade at: ${WEB_APP_URL}/account`));
1955
1955
  } else {
1956
- console.error(chalk4.dim(data.error || "Cloud sync failed"));
1956
+ console.error(chalk4.dim(data.error || `Cloud sync failed (HTTP ${res.status})`));
1957
1957
  }
1958
1958
  return null;
1959
1959
  }
@@ -1963,7 +1963,7 @@ async function syncToCloud(url, report, mergedIssues, pagesAudited, aiAnalysis,
1963
1963
  }
1964
1964
  return { projectId: data.projectId, auditId: data.auditId };
1965
1965
  } catch (error) {
1966
- console.error(chalk4.dim("Cloud sync failed"));
1966
+ console.error(chalk4.dim(`Cloud sync failed: ${error instanceof Error ? error.message : String(error)}`));
1967
1967
  return null;
1968
1968
  }
1969
1969
  }
@@ -2628,7 +2628,9 @@ async function runFix(options) {
2628
2628
  analyzeSpinner?.fail(`Analysis failed: ${errorMsg}`);
2629
2629
  return { success: false, error: `Analysis failed: ${errorMsg}` };
2630
2630
  }
2631
- analyzeSpinner?.succeed(`Score: ${score}/100, Issues: ${issues.length}`);
2631
+ analyzeSpinner?.succeed(
2632
+ `${issues.length} fixable issue(s) found (quick scan: ${score}/100 - \`rankcli audit\` runs the full check set)`
2633
+ );
2632
2634
  if (options.only && options.only.length > 0) {
2633
2635
  const onlyCodes = new Set(options.only.map((c) => c.toUpperCase()));
2634
2636
  issues = issues.filter((i) => onlyCodes.has(i.code.toUpperCase()));
@@ -2916,8 +2918,7 @@ async function trackAdd(options) {
2916
2918
  spinner.fail("Could not find or create project");
2917
2919
  return { success: false, error: "Project not found" };
2918
2920
  }
2919
- const { planName } = getUserInfo();
2920
- const tier = planName?.toLowerCase() || "free";
2921
+ const tier = tierFromPlanId(getUserInfo().planId) ?? "free";
2921
2922
  const { maxKeywords } = getTierLimits(tier);
2922
2923
  const supabase = await getAuthenticatedClient();
2923
2924
  if (!supabase) {
@@ -3198,8 +3199,7 @@ async function trackCheck(options) {
3198
3199
  if (!project) {
3199
3200
  return { success: false, error: "Project not found" };
3200
3201
  }
3201
- const { planName } = getUserInfo();
3202
- const tier = planName?.toLowerCase() || "free";
3202
+ const tier = tierFromPlanId(getUserInfo().planId) ?? "free";
3203
3203
  const { checksPerDay } = getTierLimits(tier);
3204
3204
  if (!options.force && project.lastRankCheckAt) {
3205
3205
  const hoursSinceCheck = (Date.now() - project.lastRankCheckAt.getTime()) / (1e3 * 60 * 60);
@@ -4095,7 +4095,7 @@ async function testWebhook(channel, webhookUrl) {
4095
4095
  }
4096
4096
 
4097
4097
  // src/version.ts
4098
- var VERSION = "0.0.33";
4098
+ var VERSION = "0.0.35";
4099
4099
 
4100
4100
  // src/index.ts
4101
4101
  var program = new Command();
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@rankcli/cli",
3
- "version": "0.0.33",
3
+ "version": "0.0.35",
4
4
  "description": "RankCLI - Ship code, get ranked. SEO meets CI/CD.",
5
5
  "homepage": "https://rankcli.dev",
6
6
  "main": "dist/index.js",
@@ -33,8 +33,8 @@
33
33
  "build": "npm run build:checks && npm run build:wasm && npm run build:js",
34
34
  "build:js": "npm run update-version && tsup src/index.ts src/wasm-engine.ts --format cjs,esm --dts",
35
35
  "build:checks": "test -d ../agent-runtime && (cd ../agent-runtime && pnpm build:wasm) || echo 'agent-runtime not present as a monorepo sibling - build.rs will fall back to the node_modules-installed bundle'",
36
- "build:wasm": "cd native && wasm-pack build --target nodejs --release && cp -r pkg ../wasm",
37
- "build:wasm:dev": "cd native && wasm-pack build --target nodejs --dev && mkdir -p ../wasm && cp -r pkg/* ../wasm/",
36
+ "build:wasm": "cd native && wasm-pack build --target nodejs --release && cd .. && node scripts/finish-wasm.js",
37
+ "build:wasm:dev": "cd native && wasm-pack build --target nodejs --dev && cd .. && node scripts/finish-wasm.js --no-verify",
38
38
  "prebuild:wasm": "mkdir -p wasm",
39
39
  "inject-config": "node scripts/inject-config.js",
40
40
  "build:sea": "bash scripts/build-sea.sh",
@@ -45,7 +45,7 @@
45
45
  "update-version": "node scripts/update-version.js"
46
46
  },
47
47
  "dependencies": {
48
- "@rankcli/agent-runtime": "^0.0.24",
48
+ "@rankcli/agent-runtime": "^0.0.25",
49
49
  "@supabase/supabase-js": "^2.98.0",
50
50
  "chalk": "^5.3.0",
51
51
  "commander": "^12.0.0",
@@ -24,8 +24,21 @@ export function get_encrypted_size(): number;
24
24
  export function get_tier(): string;
25
25
 
26
26
  /**
27
- * Initialize the engine with a license key.
27
+ * Initialize the engine with the build-time decrypt passphrase.
28
28
  * Decrypts the embedded checks and stores them for execution.
29
+ *
30
+ * The `license_key` parameter is misleadingly named for what it does
31
+ * now: entitlement (is this user actually paid?) is decided in
32
+ * TypeScript, from the real Supabase-backed apiKey/plan the CLI already
33
+ * validates on login - not by anything checkable here. The caller only
34
+ * invokes this at all once it has confirmed a paid apiKey, always
35
+ * passing the single build-embedded passphrase (see
36
+ * scripts/inject-config.js), never a user-supplied string. This
37
+ * decryption step exists purely to keep the premium check source out of
38
+ * static analysis of the shipped binary; get_tier()/get_checks_limit()/
39
+ * validate_license() below are legacy from an earlier signed-license
40
+ * design that was never finished and should not be trusted as an
41
+ * entitlement source.
29
42
  */
30
43
  export function init_engine(license_key: string): boolean;
31
44
 
@@ -1,7 +1,5 @@
1
1
  /* @ts-self-types="./rankcli_audit_engine.d.ts" */
2
2
 
3
- //#region exports
4
-
5
3
  /**
6
4
  * Get checks limit for current tier
7
5
  * @returns {number}
@@ -22,18 +20,24 @@ function get_decrypted_code() {
22
20
  let deferred2_0;
23
21
  let deferred2_1;
24
22
  try {
25
- const ret = wasm.get_decrypted_code();
26
- var ptr1 = ret[0];
27
- var len1 = ret[1];
28
- if (ret[3]) {
23
+ const retptr = wasm.__wbindgen_add_to_stack_pointer(-16);
24
+ wasm.get_decrypted_code(retptr);
25
+ var r0 = getDataViewMemory0().getInt32(retptr + 4 * 0, true);
26
+ var r1 = getDataViewMemory0().getInt32(retptr + 4 * 1, true);
27
+ var r2 = getDataViewMemory0().getInt32(retptr + 4 * 2, true);
28
+ var r3 = getDataViewMemory0().getInt32(retptr + 4 * 3, true);
29
+ var ptr1 = r0;
30
+ var len1 = r1;
31
+ if (r3) {
29
32
  ptr1 = 0; len1 = 0;
30
- throw takeFromExternrefTable0(ret[2]);
33
+ throw takeObject(r2);
31
34
  }
32
35
  deferred2_0 = ptr1;
33
36
  deferred2_1 = len1;
34
37
  return getStringFromWasm0(ptr1, len1);
35
38
  } finally {
36
- wasm.__wbindgen_free(deferred2_0, deferred2_1, 1);
39
+ wasm.__wbindgen_add_to_stack_pointer(16);
40
+ wasm.__wbindgen_export(deferred2_0, deferred2_1, 1);
37
41
  }
38
42
  }
39
43
  exports.get_decrypted_code = get_decrypted_code;
@@ -56,30 +60,55 @@ function get_tier() {
56
60
  let deferred1_0;
57
61
  let deferred1_1;
58
62
  try {
59
- const ret = wasm.get_tier();
60
- deferred1_0 = ret[0];
61
- deferred1_1 = ret[1];
62
- return getStringFromWasm0(ret[0], ret[1]);
63
+ const retptr = wasm.__wbindgen_add_to_stack_pointer(-16);
64
+ wasm.get_tier(retptr);
65
+ var r0 = getDataViewMemory0().getInt32(retptr + 4 * 0, true);
66
+ var r1 = getDataViewMemory0().getInt32(retptr + 4 * 1, true);
67
+ deferred1_0 = r0;
68
+ deferred1_1 = r1;
69
+ return getStringFromWasm0(r0, r1);
63
70
  } finally {
64
- wasm.__wbindgen_free(deferred1_0, deferred1_1, 1);
71
+ wasm.__wbindgen_add_to_stack_pointer(16);
72
+ wasm.__wbindgen_export(deferred1_0, deferred1_1, 1);
65
73
  }
66
74
  }
67
75
  exports.get_tier = get_tier;
68
76
 
69
77
  /**
70
- * Initialize the engine with a license key.
78
+ * Initialize the engine with the build-time decrypt passphrase.
71
79
  * Decrypts the embedded checks and stores them for execution.
80
+ *
81
+ * The `license_key` parameter is misleadingly named for what it does
82
+ * now: entitlement (is this user actually paid?) is decided in
83
+ * TypeScript, from the real Supabase-backed apiKey/plan the CLI already
84
+ * validates on login - not by anything checkable here. The caller only
85
+ * invokes this at all once it has confirmed a paid apiKey, always
86
+ * passing the single build-embedded passphrase (see
87
+ * scripts/inject-config.js), never a user-supplied string. This
88
+ * decryption step exists purely to keep the premium check source out of
89
+ * static analysis of the shipped binary; get_tier()/get_checks_limit()/
90
+ * validate_license() below are legacy from an earlier signed-license
91
+ * design that was never finished and should not be trusted as an
92
+ * entitlement source.
72
93
  * @param {string} license_key
73
94
  * @returns {boolean}
74
95
  */
75
96
  function init_engine(license_key) {
76
- const ptr0 = passStringToWasm0(license_key, wasm.__wbindgen_malloc, wasm.__wbindgen_realloc);
77
- const len0 = WASM_VECTOR_LEN;
78
- const ret = wasm.init_engine(ptr0, len0);
79
- if (ret[2]) {
80
- throw takeFromExternrefTable0(ret[1]);
97
+ try {
98
+ const retptr = wasm.__wbindgen_add_to_stack_pointer(-16);
99
+ const ptr0 = passStringToWasm0(license_key, wasm.__wbindgen_export2, wasm.__wbindgen_export3);
100
+ const len0 = WASM_VECTOR_LEN;
101
+ wasm.init_engine(retptr, ptr0, len0);
102
+ var r0 = getDataViewMemory0().getInt32(retptr + 4 * 0, true);
103
+ var r1 = getDataViewMemory0().getInt32(retptr + 4 * 1, true);
104
+ var r2 = getDataViewMemory0().getInt32(retptr + 4 * 2, true);
105
+ if (r2) {
106
+ throw takeObject(r1);
107
+ }
108
+ return r0 !== 0;
109
+ } finally {
110
+ wasm.__wbindgen_add_to_stack_pointer(16);
81
111
  }
82
- return ret[0] !== 0;
83
112
  }
84
113
  exports.init_engine = init_engine;
85
114
 
@@ -102,14 +131,18 @@ function validate_license(license_key) {
102
131
  let deferred2_0;
103
132
  let deferred2_1;
104
133
  try {
105
- const ptr0 = passStringToWasm0(license_key, wasm.__wbindgen_malloc, wasm.__wbindgen_realloc);
134
+ const retptr = wasm.__wbindgen_add_to_stack_pointer(-16);
135
+ const ptr0 = passStringToWasm0(license_key, wasm.__wbindgen_export2, wasm.__wbindgen_export3);
106
136
  const len0 = WASM_VECTOR_LEN;
107
- const ret = wasm.validate_license(ptr0, len0);
108
- deferred2_0 = ret[0];
109
- deferred2_1 = ret[1];
110
- return getStringFromWasm0(ret[0], ret[1]);
137
+ wasm.validate_license(retptr, ptr0, len0);
138
+ var r0 = getDataViewMemory0().getInt32(retptr + 4 * 0, true);
139
+ var r1 = getDataViewMemory0().getInt32(retptr + 4 * 1, true);
140
+ deferred2_0 = r0;
141
+ deferred2_1 = r1;
142
+ return getStringFromWasm0(r0, r1);
111
143
  } finally {
112
- wasm.__wbindgen_free(deferred2_0, deferred2_1, 1);
144
+ wasm.__wbindgen_add_to_stack_pointer(16);
145
+ wasm.__wbindgen_export(deferred2_0, deferred2_1, 1);
113
146
  }
114
147
  }
115
148
  exports.validate_license = validate_license;
@@ -122,39 +155,30 @@ function version() {
122
155
  let deferred1_0;
123
156
  let deferred1_1;
124
157
  try {
125
- const ret = wasm.version();
126
- deferred1_0 = ret[0];
127
- deferred1_1 = ret[1];
128
- return getStringFromWasm0(ret[0], ret[1]);
158
+ const retptr = wasm.__wbindgen_add_to_stack_pointer(-16);
159
+ wasm.version(retptr);
160
+ var r0 = getDataViewMemory0().getInt32(retptr + 4 * 0, true);
161
+ var r1 = getDataViewMemory0().getInt32(retptr + 4 * 1, true);
162
+ deferred1_0 = r0;
163
+ deferred1_1 = r1;
164
+ return getStringFromWasm0(r0, r1);
129
165
  } finally {
130
- wasm.__wbindgen_free(deferred1_0, deferred1_1, 1);
166
+ wasm.__wbindgen_add_to_stack_pointer(16);
167
+ wasm.__wbindgen_export(deferred1_0, deferred1_1, 1);
131
168
  }
132
169
  }
133
170
  exports.version = version;
134
171
 
135
- //#endregion
136
-
137
- //#region wasm imports
138
-
139
172
  function __wbg_get_imports() {
140
173
  const import0 = {
141
174
  __proto__: null,
142
- __wbg_Error_8c4e43fe74559d73: function() { return logError(function (arg0, arg1) {
175
+ __wbg_Error_8c4e43fe74559d73: function(arg0, arg1) {
143
176
  const ret = Error(getStringFromWasm0(arg0, arg1));
144
- return ret;
145
- }, arguments); },
177
+ return addHeapObject(ret);
178
+ },
146
179
  __wbg___wbindgen_throw_be289d5034ed271b: function(arg0, arg1) {
147
180
  throw new Error(getStringFromWasm0(arg0, arg1));
148
181
  },
149
- __wbindgen_init_externref_table: function() {
150
- const table = wasm.__wbindgen_externrefs;
151
- const offset = table.grow(4);
152
- table.set(0, undefined);
153
- table.set(offset + 0, undefined);
154
- table.set(offset + 1, null);
155
- table.set(offset + 2, true);
156
- table.set(offset + 3, false);
157
- },
158
182
  };
159
183
  return {
160
184
  __proto__: null,
@@ -162,10 +186,29 @@ function __wbg_get_imports() {
162
186
  };
163
187
  }
164
188
 
189
+ function addHeapObject(obj) {
190
+ if (heap_next === heap.length) heap.push(heap.length + 1);
191
+ const idx = heap_next;
192
+ heap_next = heap[idx];
193
+
194
+ heap[idx] = obj;
195
+ return idx;
196
+ }
197
+
198
+ function dropObject(idx) {
199
+ if (idx < 132) return;
200
+ heap[idx] = heap_next;
201
+ heap_next = idx;
202
+ }
165
203
 
166
- //#endregion
204
+ let cachedDataViewMemory0 = null;
205
+ function getDataViewMemory0() {
206
+ if (cachedDataViewMemory0 === null || cachedDataViewMemory0.buffer.detached === true || (cachedDataViewMemory0.buffer.detached === undefined && cachedDataViewMemory0.buffer !== wasm.memory.buffer)) {
207
+ cachedDataViewMemory0 = new DataView(wasm.memory.buffer);
208
+ }
209
+ return cachedDataViewMemory0;
210
+ }
167
211
 
168
- //#region intrinsics
169
212
  function getStringFromWasm0(ptr, len) {
170
213
  ptr = ptr >>> 0;
171
214
  return decodeText(ptr, len);
@@ -179,24 +222,14 @@ function getUint8ArrayMemory0() {
179
222
  return cachedUint8ArrayMemory0;
180
223
  }
181
224
 
182
- function logError(f, args) {
183
- try {
184
- return f.apply(this, args);
185
- } catch (e) {
186
- let error = (function () {
187
- try {
188
- return e instanceof Error ? `${e.message}\n\nStack:\n${e.stack}` : e.toString();
189
- } catch(_) {
190
- return "<failed to stringify thrown value>";
191
- }
192
- }());
193
- console.error("wasm-bindgen: imported JS function that was not marked as `catch` threw an error:", error);
194
- throw e;
195
- }
196
- }
225
+ function getObject(idx) { return heap[idx]; }
226
+
227
+ let heap = new Array(128).fill(undefined);
228
+ heap.push(undefined, null, true, false);
229
+
230
+ let heap_next = heap.length;
197
231
 
198
232
  function passStringToWasm0(arg, malloc, realloc) {
199
- if (typeof(arg) !== 'string') throw new Error(`expected a string argument, found ${typeof(arg)}`);
200
233
  if (realloc === undefined) {
201
234
  const buf = cachedTextEncoder.encode(arg);
202
235
  const ptr = malloc(buf.length, 1) >>> 0;
@@ -224,7 +257,7 @@ function passStringToWasm0(arg, malloc, realloc) {
224
257
  ptr = realloc(ptr, len, len = offset + arg.length * 3, 1) >>> 0;
225
258
  const view = getUint8ArrayMemory0().subarray(ptr + offset, ptr + len);
226
259
  const ret = cachedTextEncoder.encodeInto(arg, view);
227
- if (ret.read !== arg.length) throw new Error('failed to pass whole string');
260
+
228
261
  offset += ret.written;
229
262
  ptr = realloc(ptr, len, offset, 1) >>> 0;
230
263
  }
@@ -233,10 +266,10 @@ function passStringToWasm0(arg, malloc, realloc) {
233
266
  return ptr;
234
267
  }
235
268
 
236
- function takeFromExternrefTable0(idx) {
237
- const value = wasm.__wbindgen_externrefs.get(idx);
238
- wasm.__externref_table_dealloc(idx);
239
- return value;
269
+ function takeObject(idx) {
270
+ const ret = getObject(idx);
271
+ dropObject(idx);
272
+ return ret;
240
273
  }
241
274
 
242
275
  let cachedTextDecoder = new TextDecoder('utf-8', { ignoreBOM: true, fatal: true });
@@ -260,15 +293,7 @@ if (!('encodeInto' in cachedTextEncoder)) {
260
293
 
261
294
  let WASM_VECTOR_LEN = 0;
262
295
 
263
-
264
- //#endregion
265
-
266
- //#region wasm loading
267
296
  const wasmPath = `${__dirname}/rankcli_audit_engine_bg.wasm`;
268
297
  const wasmBytes = require('fs').readFileSync(wasmPath);
269
298
  const wasmModule = new WebAssembly.Module(wasmBytes);
270
299
  const wasm = new WebAssembly.Instance(wasmModule, __wbg_get_imports()).exports;
271
- wasm.__wbindgen_start();
272
-
273
- //#endregion
274
- exports.__wasm = wasm;
Binary file
@@ -2,16 +2,14 @@
2
2
  /* eslint-disable */
3
3
  export const memory: WebAssembly.Memory;
4
4
  export const get_checks_limit: () => number;
5
- export const get_decrypted_code: () => [number, number, number, number];
5
+ export const get_decrypted_code: (a: number) => void;
6
6
  export const get_encrypted_size: () => number;
7
- export const get_tier: () => [number, number];
8
- export const init_engine: (a: number, b: number) => [number, number, number];
7
+ export const get_tier: (a: number) => void;
8
+ export const init_engine: (a: number, b: number, c: number) => void;
9
9
  export const is_initialized: () => number;
10
- export const validate_license: (a: number, b: number) => [number, number];
11
- export const version: () => [number, number];
12
- export const __wbindgen_externrefs: WebAssembly.Table;
13
- export const __externref_table_dealloc: (a: number) => void;
14
- export const __wbindgen_free: (a: number, b: number, c: number) => void;
15
- export const __wbindgen_malloc: (a: number, b: number) => number;
16
- export const __wbindgen_realloc: (a: number, b: number, c: number, d: number) => number;
17
- export const __wbindgen_start: () => void;
10
+ export const validate_license: (a: number, b: number, c: number) => void;
11
+ export const version: (a: number) => void;
12
+ export const __wbindgen_add_to_stack_pointer: (a: number) => number;
13
+ export const __wbindgen_export: (a: number, b: number, c: number) => void;
14
+ export const __wbindgen_export2: (a: number, b: number) => number;
15
+ export const __wbindgen_export3: (a: number, b: number, c: number, d: number) => number;