@ferscloud/fers-calculation-web 0.2.61 → 0.2.62

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 CHANGED
@@ -202,6 +202,10 @@ const credit = fersAttributionHtml(res);
202
202
  exported. All of them accept the envelope, the parsed model or the results
203
203
  bundle, and all return nothing for a Pro result or an error envelope.
204
204
 
205
+ On 0.2.61 this subpath resolved only under a bundler; plain Node ESM needed
206
+ `/badge.js`. From 0.2.62 the package ships an `exports` map and both forms work
207
+ everywhere.
208
+
205
209
  Using the free tier in an application? Please display the credit. It is the
206
210
  only thing the free tier asks of you.
207
211
 
package/fers-models.d.ts CHANGED
@@ -211,6 +211,50 @@ export interface components {
211
211
  * @enum {string}
212
212
  */
213
213
  AnalysisOrder: "LINEAR" | "NONLINEAR";
214
+ /**
215
+ * @description Free-tier provenance stamp, attached to every result the free solver
216
+ * produces and absent from Premium results.
217
+ *
218
+ * Why it lives in the engine rather than in a JS wrapper: the tier is decided
219
+ * inside the WASM module, by Ed25519-verifying a solve token against a public
220
+ * key compiled into the binary (`wasm_bindings::verify_solve_token`). Anything
221
+ * downstream of that boundary — a bundler config, a React component, a JSON
222
+ * post-processing step — can be edited by whoever ships the page. Minting the
223
+ * attribution here means the branded path is the default one, and removing it
224
+ * means either holding the server's private key or patching and rebuilding a
225
+ * WebAssembly binary.
226
+ *
227
+ * It is not, and cannot be, an absolute guarantee: anything shipped to a
228
+ * browser can ultimately be modified. It raises the cost of stripping
229
+ * attribution from "delete a div" to "rebuild the engine", and the licence
230
+ * carries the rest.
231
+ *
232
+ * `html` and `text` are pre-rendered so a consumer can display the credit
233
+ * without knowing anything about our brand. `fersAttributionHtml()` in
234
+ * `@ferscloud/fers-calculation-web/badge` simply returns `attribution.html`,
235
+ * and returns "" when the field is absent — so upgrading to Pro white-labels
236
+ * with no code change.
237
+ */
238
+ Attribution: {
239
+ /**
240
+ * @description Engine version that produced the results. Mirrors
241
+ * [`ResultsBundle::engine_version`].
242
+ */
243
+ engine_version: string;
244
+ /** @description Always "FERS". */
245
+ generated_by: string;
246
+ /** @description Ready-to-inject HTML anchor, for web UIs. */
247
+ html: string;
248
+ /** @description Plain-text credit, for console output, PDFs and text reports. */
249
+ text: string;
250
+ /**
251
+ * @description The tier this solve ran under. Only ever "free" — Premium results carry
252
+ * no `attribution` object at all.
253
+ */
254
+ tier: string;
255
+ /** @description Canonical product URL. */
256
+ url: string;
257
+ };
214
258
  /**
215
259
  * @description A global coordinate axis.
216
260
  * @enum {string}
@@ -2355,6 +2399,7 @@ export interface components {
2355
2399
  };
2356
2400
  /** @description All analysis results: per load case, per load combination, unity-check results and the optional HTML report. */
2357
2401
  ResultsBundle: {
2402
+ attribution?: null | components["schemas"]["Attribution"];
2358
2403
  buckling?: null | components["schemas"]["BucklingResults"];
2359
2404
  /**
2360
2405
  * @description Per-reference buckling runs, present only when `analysis.buckling`
Binary file
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@ferscloud/fers-calculation-web",
3
3
  "type": "module",
4
- "version": "0.2.61",
4
+ "version": "0.2.62",
5
5
  "license": "BSD-3-Clause",
6
6
  "repository": {
7
7
  "type": "git",
@@ -55,5 +55,20 @@
55
55
  },
56
56
  "publishConfig": {
57
57
  "access": "public"
58
+ },
59
+ "exports": {
60
+ ".": {
61
+ "types": "./fers_calculations.d.ts",
62
+ "default": "./fers_calculations.js"
63
+ },
64
+ "./badge": {
65
+ "types": "./badge.d.ts",
66
+ "default": "./badge.js"
67
+ },
68
+ "./fers-models": {
69
+ "types": "./fers-models.d.ts"
70
+ },
71
+ "./package.json": "./package.json",
72
+ "./*": "./*"
58
73
  }
59
74
  }