@selvajs/compute 2.1.0 → 2.3.0-beta.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.
- package/dist/{chunk-NFPYFIYS.cjs → chunk-3GX67Y6H.cjs} +5 -5
- package/dist/{chunk-NFPYFIYS.cjs.map → chunk-3GX67Y6H.cjs.map} +1 -1
- package/dist/chunk-4UOOVSGL.cjs +4 -0
- package/dist/{chunk-BTH6J34X.cjs.map → chunk-4UOOVSGL.cjs.map} +1 -1
- package/dist/chunk-AXAMGKTJ.js +4 -0
- package/dist/chunk-AXAMGKTJ.js.map +1 -0
- package/dist/{chunk-6L56B3Q3.js → chunk-TPVXQREC.js} +2 -2
- package/dist/chunk-TPVXQREC.js.map +1 -0
- package/dist/{chunk-HG24GZ3A.cjs → chunk-XFKKZQUK.cjs} +2 -2
- package/dist/{chunk-HG24GZ3A.cjs.map → chunk-XFKKZQUK.cjs.map} +1 -1
- package/dist/{chunk-UQ7TD57L.js → chunk-XULKNW75.js} +5 -5
- package/dist/{chunk-UQ7TD57L.js.map → chunk-XULKNW75.js.map} +1 -1
- package/dist/core.cjs +1 -1
- package/dist/core.d.cts +3 -3
- package/dist/core.d.ts +3 -3
- package/dist/core.js +1 -1
- package/dist/grasshopper.cjs +1 -1
- package/dist/grasshopper.d.cts +9 -8
- package/dist/grasshopper.d.ts +9 -8
- package/dist/grasshopper.js +1 -1
- package/dist/{handle-files-D-_fiXu4.d.cts → handle-files-VUQET1YU.d.cts} +162 -4
- package/dist/{handle-files-D-_fiXu4.d.ts → handle-files-VUQET1YU.d.ts} +162 -4
- package/dist/index.cjs +1 -1
- package/dist/index.d.cts +3 -3
- package/dist/index.d.ts +3 -3
- package/dist/index.js +1 -1
- package/dist/{types-jPuWWtnU.d.ts → types-CIsBR_xd.d.ts} +1 -1
- package/dist/{types-D1SkNje_.d.cts → types-ChF690kY.d.cts} +4 -3
- package/dist/{types-D1SkNje_.d.ts → types-ChF690kY.d.ts} +4 -3
- package/dist/{types-BuRCHPlb.d.cts → types-DqSisB8v.d.cts} +1 -1
- package/dist/{visualization-42QQ22YF.js → visualization-TRW2EKLH.js} +2 -2
- package/dist/visualization-WRUF5FKI.cjs +2 -0
- package/dist/{visualization-6ZLI4ANV.cjs.map → visualization-WRUF5FKI.cjs.map} +1 -1
- package/dist/visualization.cjs +1 -1
- package/dist/visualization.d.cts +3 -3
- package/dist/visualization.d.ts +3 -3
- package/dist/visualization.js +1 -1
- package/package.json +2 -1
- package/dist/chunk-6L56B3Q3.js.map +0 -1
- package/dist/chunk-BTH6J34X.cjs +0 -4
- package/dist/chunk-H2FJSNMM.js +0 -4
- package/dist/chunk-H2FJSNMM.js.map +0 -1
- package/dist/visualization-6ZLI4ANV.cjs +0 -2
- /package/dist/{visualization-42QQ22YF.js.map → visualization-TRW2EKLH.js.map} +0 -0
package/dist/core.cjs
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports, "__esModule", {value: true});var
|
|
1
|
+
"use strict";Object.defineProperty(exports, "__esModule", {value: true});var _chunk4UOOVSGLcjs = require('./chunk-4UOOVSGL.cjs');exports.ComputeServerStats = _chunk4UOOVSGLcjs.j; exports.ErrorCodes = _chunk4UOOVSGLcjs.c; exports.RhinoComputeError = _chunk4UOOVSGLcjs.d; exports.camelcaseKeys = _chunk4UOOVSGLcjs.l; exports.downloadFileData = _chunk4UOOVSGLcjs.r; exports.enableDebugLogging = _chunk4UOOVSGLcjs.g; exports.extractFilesFromComputeResponse = _chunk4UOOVSGLcjs.q; exports.fetchRhinoCompute = _chunk4UOOVSGLcjs.h; exports.getLogger = _chunk4UOOVSGLcjs.e; exports.setLogger = _chunk4UOOVSGLcjs.f; exports.toCamelCase = _chunk4UOOVSGLcjs.k;
|
|
2
2
|
//# sourceMappingURL=core.cjs.map
|
package/dist/core.d.cts
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
import { C as ComputeConfig } from './types-
|
|
2
|
-
export { R as RetryPolicy, a as RhinoModelUnit, S as ServerTiming } from './types-
|
|
3
|
-
export { C as ComputeServerStats, E as ErrorCode, a as ErrorCodes, F as FileBaseInfo, b as FileData, P as ProcessedFile, R as RhinoComputeError, d as downloadFileData, e as extractFilesFromComputeResponse } from './handle-files-
|
|
1
|
+
import { C as ComputeConfig } from './types-ChF690kY.cjs';
|
|
2
|
+
export { R as RetryPolicy, a as RhinoModelUnit, S as ServerTiming } from './types-ChF690kY.cjs';
|
|
3
|
+
export { C as ComputeServerStats, E as ErrorCode, a as ErrorCodes, F as FileBaseInfo, b as FileData, P as ProcessedFile, R as RhinoComputeError, d as downloadFileData, e as extractFilesFromComputeResponse } from './handle-files-VUQET1YU.cjs';
|
|
4
4
|
|
|
5
5
|
/**
|
|
6
6
|
* Generic Rhino Compute fetch function.
|
package/dist/core.d.ts
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
import { C as ComputeConfig } from './types-
|
|
2
|
-
export { R as RetryPolicy, a as RhinoModelUnit, S as ServerTiming } from './types-
|
|
3
|
-
export { C as ComputeServerStats, E as ErrorCode, a as ErrorCodes, F as FileBaseInfo, b as FileData, P as ProcessedFile, R as RhinoComputeError, d as downloadFileData, e as extractFilesFromComputeResponse } from './handle-files-
|
|
1
|
+
import { C as ComputeConfig } from './types-ChF690kY.js';
|
|
2
|
+
export { R as RetryPolicy, a as RhinoModelUnit, S as ServerTiming } from './types-ChF690kY.js';
|
|
3
|
+
export { C as ComputeServerStats, E as ErrorCode, a as ErrorCodes, F as FileBaseInfo, b as FileData, P as ProcessedFile, R as RhinoComputeError, d as downloadFileData, e as extractFilesFromComputeResponse } from './handle-files-VUQET1YU.js';
|
|
4
4
|
|
|
5
5
|
/**
|
|
6
6
|
* Generic Rhino Compute fetch function.
|
package/dist/core.js
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import{c as a,d as b,e as c,f as d,g as e,h as f,j as g,k as h,l as i,q as j,r as k}from"./chunk-
|
|
1
|
+
import{c as a,d as b,e as c,f as d,g as e,h as f,j as g,k as h,l as i,q as j,r as k}from"./chunk-AXAMGKTJ.js";export{g as ComputeServerStats,a as ErrorCodes,b as RhinoComputeError,i as camelcaseKeys,k as downloadFileData,e as enableDebugLogging,j as extractFilesFromComputeResponse,f as fetchRhinoCompute,c as getLogger,d as setLogger,h as toCamelCase};
|
|
2
2
|
//# sourceMappingURL=core.js.map
|
package/dist/grasshopper.cjs
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports, "__esModule", {value: true});var
|
|
1
|
+
"use strict";Object.defineProperty(exports, "__esModule", {value: true});var _chunkXFKKZQUKcjs = require('./chunk-XFKKZQUK.cjs');var _chunk4UOOVSGLcjs = require('./chunk-4UOOVSGL.cjs');exports.GrasshopperClient = _chunkXFKKZQUKcjs.d; exports.GrasshopperResponseProcessor = _chunkXFKKZQUKcjs.e; exports.RhinoComputeError = _chunk4UOOVSGLcjs.d; exports.SolveScheduler = _chunkXFKKZQUKcjs.c; exports.TreeBuilder = _chunkXFKKZQUKcjs.j; exports.downloadFileData = _chunk4UOOVSGLcjs.r; exports.extractFilesFromComputeResponse = _chunk4UOOVSGLcjs.q; exports.fetchDefinitionIO = _chunkXFKKZQUKcjs.h; exports.fetchParsedDefinitionIO = _chunkXFKKZQUKcjs.i; exports.hashSolveInput = _chunkXFKKZQUKcjs.b; exports.processInput = _chunkXFKKZQUKcjs.f; exports.processInputs = _chunkXFKKZQUKcjs.g; exports.solveGrasshopperDefinition = _chunkXFKKZQUKcjs.a;
|
|
2
2
|
//# sourceMappingURL=grasshopper.cjs.map
|
package/dist/grasshopper.d.cts
CHANGED
|
@@ -1,9 +1,9 @@
|
|
|
1
|
-
import { R as RhinoComputeError, C as ComputeServerStats, F as FileBaseInfo } from './handle-files-
|
|
2
|
-
export { b as FileData, P as ProcessedFile, d as downloadFileData, e as extractFilesFromComputeResponse } from './handle-files-
|
|
3
|
-
import { R as RetryPolicy, C as ComputeConfig } from './types-
|
|
4
|
-
export { a as RhinoModelUnit } from './types-
|
|
5
|
-
import { f as GrasshopperComputeResponse, a as DataTree, e as GrasshopperComputeConfig, g as GrasshopperParsedIO, h as GrasshopperParsedIORaw, M as MeshExtractionOptions, k as InputParamSchema, j as InputParam, b as DataTreeDefault, c as DataTreePath } from './types-
|
|
6
|
-
export { B as BooleanInputType, D as DataItem, d as DefaultValue, F as FileInputType, G as GeometryInputType, i as GrasshopperRequestSchema, I as InnerTreeData, N as NumericInputType, O as OutputParamSchema, l as OutputType, T as TextInputType, V as ValueListInputType } from './types-
|
|
1
|
+
import { R as RhinoComputeError, C as ComputeServerStats, F as FileBaseInfo } from './handle-files-VUQET1YU.cjs';
|
|
2
|
+
export { b as FileData, P as ProcessedFile, d as downloadFileData, e as extractFilesFromComputeResponse } from './handle-files-VUQET1YU.cjs';
|
|
3
|
+
import { R as RetryPolicy, C as ComputeConfig } from './types-ChF690kY.cjs';
|
|
4
|
+
export { a as RhinoModelUnit } from './types-ChF690kY.cjs';
|
|
5
|
+
import { f as GrasshopperComputeResponse, a as DataTree, e as GrasshopperComputeConfig, g as GrasshopperParsedIO, h as GrasshopperParsedIORaw, M as MeshExtractionOptions, k as InputParamSchema, j as InputParam, b as DataTreeDefault, c as DataTreePath } from './types-DqSisB8v.cjs';
|
|
6
|
+
export { B as BooleanInputType, D as DataItem, d as DefaultValue, F as FileInputType, G as GeometryInputType, i as GrasshopperRequestSchema, I as InnerTreeData, N as NumericInputType, O as OutputParamSchema, l as OutputType, T as TextInputType, V as ValueListInputType } from './types-DqSisB8v.cjs';
|
|
7
7
|
import * as THREE from 'three';
|
|
8
8
|
import 'rhino3dm';
|
|
9
9
|
|
|
@@ -259,8 +259,9 @@ declare class GrasshopperClient {
|
|
|
259
259
|
/**
|
|
260
260
|
* Creates and initializes a GrasshopperClient with server validation.
|
|
261
261
|
*
|
|
262
|
-
* The pre-flight
|
|
263
|
-
* reads a cold or briefly-busy-but-up server
|
|
262
|
+
* The pre-flight liveness probe (a GET on the proxy root `/`) is a
|
|
263
|
+
* single-sample boolean gate that reads a cold or briefly-busy-but-up server
|
|
264
|
+
* as offline. To avoid failing
|
|
264
265
|
* construction on that transient class, the probe is retried with a short
|
|
265
266
|
* exponential backoff before giving up. Each probe is also bounded by a
|
|
266
267
|
* timeout so a hung connection can't stall construction.
|
package/dist/grasshopper.d.ts
CHANGED
|
@@ -1,9 +1,9 @@
|
|
|
1
|
-
import { R as RhinoComputeError, C as ComputeServerStats, F as FileBaseInfo } from './handle-files-
|
|
2
|
-
export { b as FileData, P as ProcessedFile, d as downloadFileData, e as extractFilesFromComputeResponse } from './handle-files-
|
|
3
|
-
import { R as RetryPolicy, C as ComputeConfig } from './types-
|
|
4
|
-
export { a as RhinoModelUnit } from './types-
|
|
5
|
-
import { f as GrasshopperComputeResponse, a as DataTree, e as GrasshopperComputeConfig, g as GrasshopperParsedIO, h as GrasshopperParsedIORaw, M as MeshExtractionOptions, k as InputParamSchema, j as InputParam, b as DataTreeDefault, c as DataTreePath } from './types-
|
|
6
|
-
export { B as BooleanInputType, D as DataItem, d as DefaultValue, F as FileInputType, G as GeometryInputType, i as GrasshopperRequestSchema, I as InnerTreeData, N as NumericInputType, O as OutputParamSchema, l as OutputType, T as TextInputType, V as ValueListInputType } from './types-
|
|
1
|
+
import { R as RhinoComputeError, C as ComputeServerStats, F as FileBaseInfo } from './handle-files-VUQET1YU.js';
|
|
2
|
+
export { b as FileData, P as ProcessedFile, d as downloadFileData, e as extractFilesFromComputeResponse } from './handle-files-VUQET1YU.js';
|
|
3
|
+
import { R as RetryPolicy, C as ComputeConfig } from './types-ChF690kY.js';
|
|
4
|
+
export { a as RhinoModelUnit } from './types-ChF690kY.js';
|
|
5
|
+
import { f as GrasshopperComputeResponse, a as DataTree, e as GrasshopperComputeConfig, g as GrasshopperParsedIO, h as GrasshopperParsedIORaw, M as MeshExtractionOptions, k as InputParamSchema, j as InputParam, b as DataTreeDefault, c as DataTreePath } from './types-CIsBR_xd.js';
|
|
6
|
+
export { B as BooleanInputType, D as DataItem, d as DefaultValue, F as FileInputType, G as GeometryInputType, i as GrasshopperRequestSchema, I as InnerTreeData, N as NumericInputType, O as OutputParamSchema, l as OutputType, T as TextInputType, V as ValueListInputType } from './types-CIsBR_xd.js';
|
|
7
7
|
import * as THREE from 'three';
|
|
8
8
|
import 'rhino3dm';
|
|
9
9
|
|
|
@@ -259,8 +259,9 @@ declare class GrasshopperClient {
|
|
|
259
259
|
/**
|
|
260
260
|
* Creates and initializes a GrasshopperClient with server validation.
|
|
261
261
|
*
|
|
262
|
-
* The pre-flight
|
|
263
|
-
* reads a cold or briefly-busy-but-up server
|
|
262
|
+
* The pre-flight liveness probe (a GET on the proxy root `/`) is a
|
|
263
|
+
* single-sample boolean gate that reads a cold or briefly-busy-but-up server
|
|
264
|
+
* as offline. To avoid failing
|
|
264
265
|
* construction on that transient class, the probe is retried with a short
|
|
265
266
|
* exponential backoff before giving up. Each probe is also bounded by a
|
|
266
267
|
* timeout so a hung connection can't stall construction.
|
package/dist/grasshopper.js
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import{a as d,b as e,c as f,d as g,e as h,f as i,g as j,h as k,i as l,j as m}from"./chunk-
|
|
1
|
+
import{a as d,b as e,c as f,d as g,e as h,f as i,g as j,h as k,i as l,j as m}from"./chunk-TPVXQREC.js";import{d as a,q as b,r as c}from"./chunk-AXAMGKTJ.js";export{g as GrasshopperClient,h as GrasshopperResponseProcessor,a as RhinoComputeError,f as SolveScheduler,m as TreeBuilder,c as downloadFileData,b as extractFilesFromComputeResponse,k as fetchDefinitionIO,l as fetchParsedDefinitionIO,e as hashSolveInput,i as processInput,j as processInputs,d as solveGrasshopperDefinition};
|
|
2
2
|
//# sourceMappingURL=grasshopper.js.map
|
|
@@ -37,9 +37,9 @@ declare class ComputeServerStats {
|
|
|
37
37
|
/**
|
|
38
38
|
* Check if the server is online.
|
|
39
39
|
*
|
|
40
|
-
* This is a single-sample probe: it returns `true` only on a 2xx from
|
|
41
|
-
*
|
|
42
|
-
* error, or timeout). A cold or briefly-busy-but-up server can therefore
|
|
40
|
+
* This is a single-sample probe: it returns `true` only on a 2xx from the
|
|
41
|
+
* proxy liveness root `/`, and `false` for every other outcome (non-2xx,
|
|
42
|
+
* network error, or timeout). A cold or briefly-busy-but-up server can therefore
|
|
43
43
|
* read as offline — callers that gate on this (e.g. client construction)
|
|
44
44
|
* should retry rather than treat a single `false` as authoritative.
|
|
45
45
|
*
|
|
@@ -51,9 +51,19 @@ declare class ComputeServerStats {
|
|
|
51
51
|
/**
|
|
52
52
|
* Get the number of active child processes on the server.
|
|
53
53
|
*
|
|
54
|
+
* By default the proxy's `/activechildren` endpoint will *spawn* children up
|
|
55
|
+
* to the configured count if none are running, then report the count — which
|
|
56
|
+
* wakes (and bills) an idle server. Pass `{ initialize: false }` for a passive
|
|
57
|
+
* read that reports the current count without spawning; use this for
|
|
58
|
+
* monitoring or before a purge/probe where you must not wake the server.
|
|
59
|
+
*
|
|
60
|
+
* @param options.initialize - When `false`, append `?initialize=false` so the
|
|
61
|
+
* server reports without spawning. Defaults to `true` (the server's default).
|
|
54
62
|
* @returns Number of active children, or null if unavailable
|
|
55
63
|
*/
|
|
56
|
-
getActiveChildren(
|
|
64
|
+
getActiveChildren(options?: {
|
|
65
|
+
initialize?: boolean;
|
|
66
|
+
}): Promise<number | null>;
|
|
57
67
|
/**
|
|
58
68
|
* Get the server version information.
|
|
59
69
|
*
|
|
@@ -64,6 +74,26 @@ declare class ComputeServerStats {
|
|
|
64
74
|
compute: string;
|
|
65
75
|
git_sha: string | null;
|
|
66
76
|
} | null>;
|
|
77
|
+
/**
|
|
78
|
+
* Get the plugins installed on the server.
|
|
79
|
+
*
|
|
80
|
+
* Returns a `name → version` map of non-core plugins the server has loaded,
|
|
81
|
+
* or `null` if the request failed. Pass `kind` to choose which inventory:
|
|
82
|
+
* `'gh'` (default) lists Grasshopper add-on assemblies via
|
|
83
|
+
* `/plugins/gh/installed`; `'rhino'` lists Rhino plugins via
|
|
84
|
+
* `/plugins/rhino/installed`. Plugins that ship with Rhino / are core
|
|
85
|
+
* libraries are excluded by the server.
|
|
86
|
+
*
|
|
87
|
+
* @param kind - `'gh'` for Grasshopper add-ons (default) or `'rhino'` for Rhino plugins.
|
|
88
|
+
* @returns Map of plugin name to version, or `null` on failure.
|
|
89
|
+
*
|
|
90
|
+
* @example
|
|
91
|
+
* ```ts
|
|
92
|
+
* const gh = await stats.getInstalledPlugins(); // Grasshopper add-ons
|
|
93
|
+
* const selvaVersion = gh?.['Selva'] ?? null;
|
|
94
|
+
* ```
|
|
95
|
+
*/
|
|
96
|
+
getInstalledPlugins(kind?: 'gh' | 'rhino'): Promise<Record<string, string> | null>;
|
|
67
97
|
/**
|
|
68
98
|
* Get comprehensive server statistics.
|
|
69
99
|
* Fetches all available server information in parallel.
|
|
@@ -101,6 +131,134 @@ declare class ComputeServerStats {
|
|
|
101
131
|
* ```
|
|
102
132
|
*/
|
|
103
133
|
purgeCache(): Promise<number | null>;
|
|
134
|
+
/**
|
|
135
|
+
* Best-effort fleet-wide cache purge across a multi-child deployment.
|
|
136
|
+
*
|
|
137
|
+
* A single {@link purgeCache} POST is forwarded by the rhino.compute proxy to
|
|
138
|
+
* just ONE round-robin-selected child, so the other children keep serving
|
|
139
|
+
* stale cached solves. There is no proxy endpoint that addresses children
|
|
140
|
+
* individually, so this method reads the active child count (passively, never
|
|
141
|
+
* spawning) and fires `2 × count` sequential purges, relying on the proxy's
|
|
142
|
+
* round-robin to spread the hits across the pool.
|
|
143
|
+
*
|
|
144
|
+
* **This is best-effort, not a guarantee.** Round-robin can revisit one child
|
|
145
|
+
* and skip another; under concurrent traffic the rotation drifts. The result's
|
|
146
|
+
* `confident` flag is `true` only when the server reports a single child (where
|
|
147
|
+
* one purge is exact) — surface it so callers don't over-promise. For a hard
|
|
148
|
+
* fleet-wide guarantee, run the deployment at `--childcount 1` or add a
|
|
149
|
+
* server-side fan-out endpoint.
|
|
150
|
+
*
|
|
151
|
+
* @returns `{ totalPurged, calls, children, confident }`, or `null` if the
|
|
152
|
+
* child count couldn't be read (server unreachable). `totalPurged` sums the
|
|
153
|
+
* per-call counts; `calls` is how many purges were issued; `children` is the
|
|
154
|
+
* reported pool size; `confident` is `true` only at a single-child pool.
|
|
155
|
+
*
|
|
156
|
+
* @example
|
|
157
|
+
* ```ts
|
|
158
|
+
* const r = await stats.purgeAllChildren();
|
|
159
|
+
* if (r && !r.confident) {
|
|
160
|
+
* console.warn(`Purged ~${r.totalPurged} across ${r.children} children (best-effort)`);
|
|
161
|
+
* }
|
|
162
|
+
* ```
|
|
163
|
+
*/
|
|
164
|
+
purgeAllChildren(): Promise<{
|
|
165
|
+
totalPurged: number;
|
|
166
|
+
calls: number;
|
|
167
|
+
children: number;
|
|
168
|
+
confident: boolean;
|
|
169
|
+
} | null>;
|
|
170
|
+
/**
|
|
171
|
+
* Get the server's current UTC clock.
|
|
172
|
+
*
|
|
173
|
+
* GETs `/servertime`, which the server emits as a JSON-encoded ISO-8601
|
|
174
|
+
* timestamp (e.g. `"2026-06-18T08:30:00Z"`). Useful for detecting clock skew
|
|
175
|
+
* between caller and server. Returns `null` if the request failed or the body
|
|
176
|
+
* isn't a parseable date.
|
|
177
|
+
*
|
|
178
|
+
* @returns A `Date` for the server's UTC time, or `null` on failure.
|
|
179
|
+
*/
|
|
180
|
+
getServerTime(): Promise<Date | null>;
|
|
181
|
+
/**
|
|
182
|
+
* Get how long the rhino.compute proxy has been idle.
|
|
183
|
+
*
|
|
184
|
+
* GETs `/idlespan` on the proxy, which returns the seconds elapsed since the
|
|
185
|
+
* last request was forwarded to a compute child. This is a proxy-level metric
|
|
186
|
+
* (not proxied to a child) used by autoscalers to decide when a node can be
|
|
187
|
+
* drained. Returns `null` if unavailable.
|
|
188
|
+
*
|
|
189
|
+
* @returns Idle time in seconds, or `null` on failure.
|
|
190
|
+
*/
|
|
191
|
+
getIdleSpan(): Promise<number | null>;
|
|
192
|
+
/**
|
|
193
|
+
* Fill the compute child pool up to the server's configured baseline.
|
|
194
|
+
*
|
|
195
|
+
* POSTs `/launch-children`. No-op when the pool is already at or above the
|
|
196
|
+
* configured `--childcount`. Returns `{ spawned, active }` — how many children
|
|
197
|
+
* were started and the resulting child count — or `null` on failure.
|
|
198
|
+
*
|
|
199
|
+
* To raise capacity above the baseline use {@link launchChild}; the baseline
|
|
200
|
+
* itself can only be changed by restarting rhino.compute.
|
|
201
|
+
*
|
|
202
|
+
* @returns `{ spawned, active }`, or `null` on failure.
|
|
203
|
+
*/
|
|
204
|
+
launchChildren(): Promise<{
|
|
205
|
+
spawned: number[];
|
|
206
|
+
active: number;
|
|
207
|
+
} | null>;
|
|
208
|
+
/**
|
|
209
|
+
* Add a single compute child to the pool, optionally on a specific port.
|
|
210
|
+
*
|
|
211
|
+
* POSTs `/launch-child` (with `?port=N` when `port` is given). Unlike
|
|
212
|
+
* {@link launchChildren}, this can push the pool above the baseline, up to the
|
|
213
|
+
* server's `MaxChildren` cap. Returns `{ spawned: [port] }` on success, or
|
|
214
|
+
* `null` on failure (server replies 400 for a bad port, 409 if the port is in
|
|
215
|
+
* use, 503 at the max-children cap).
|
|
216
|
+
*
|
|
217
|
+
* @param port - Optional specific port to launch on; otherwise the next free one.
|
|
218
|
+
* @returns `{ spawned }` listing the launched port, or `null` on failure.
|
|
219
|
+
*/
|
|
220
|
+
launchChild(port?: number): Promise<{
|
|
221
|
+
spawned: number[];
|
|
222
|
+
} | null>;
|
|
223
|
+
/**
|
|
224
|
+
* Gracefully shut down compute children without respawning them.
|
|
225
|
+
*
|
|
226
|
+
* POSTs `/shutdown-children`. With no `port` it shuts down every child; with
|
|
227
|
+
* `port` it targets just that one. Children do not respawn, but the next
|
|
228
|
+
* `/grasshopper` request auto-spawns the pool back to the baseline. Returns
|
|
229
|
+
* `{ shutdown, active }` — how many were stopped and the remaining count — or
|
|
230
|
+
* `null` on failure.
|
|
231
|
+
*
|
|
232
|
+
* @param port - Optional port to target; omit to shut down all children.
|
|
233
|
+
* @returns `{ shutdown, active }`, or `null` on failure.
|
|
234
|
+
*/
|
|
235
|
+
shutdownChildren(port?: number): Promise<{
|
|
236
|
+
shutdown: number;
|
|
237
|
+
active: number;
|
|
238
|
+
} | null>;
|
|
239
|
+
/**
|
|
240
|
+
* Shut down compute children and respawn replacements (rolling restart).
|
|
241
|
+
*
|
|
242
|
+
* POSTs `/recycle-children`. With no `port` it recycles every child; with
|
|
243
|
+
* `port` it recycles just that one. The server recycles sequentially (each
|
|
244
|
+
* replacement is serving before the next child is stopped) so the pool never
|
|
245
|
+
* drops to zero mid-recycle. Returns `{ shutdown, spawned, active }`, or
|
|
246
|
+
* `null` on failure.
|
|
247
|
+
*
|
|
248
|
+
* @param port - Optional port to target; omit to recycle all children.
|
|
249
|
+
* @returns `{ shutdown, spawned, active }`, or `null` on failure.
|
|
250
|
+
*/
|
|
251
|
+
recycleChildren(port?: number): Promise<{
|
|
252
|
+
shutdown: number;
|
|
253
|
+
spawned: number[];
|
|
254
|
+
active: number;
|
|
255
|
+
} | null>;
|
|
256
|
+
/**
|
|
257
|
+
* POST a control endpoint that replies with a JSON object and return it,
|
|
258
|
+
* degrading to `null` on any non-2xx, non-JSON, or network failure. Shared by
|
|
259
|
+
* the child-lifecycle methods so their failure semantics stay identical.
|
|
260
|
+
*/
|
|
261
|
+
private postJson;
|
|
104
262
|
/**
|
|
105
263
|
* Continuously monitor server stats at specified interval.
|
|
106
264
|
*
|
|
@@ -37,9 +37,9 @@ declare class ComputeServerStats {
|
|
|
37
37
|
/**
|
|
38
38
|
* Check if the server is online.
|
|
39
39
|
*
|
|
40
|
-
* This is a single-sample probe: it returns `true` only on a 2xx from
|
|
41
|
-
*
|
|
42
|
-
* error, or timeout). A cold or briefly-busy-but-up server can therefore
|
|
40
|
+
* This is a single-sample probe: it returns `true` only on a 2xx from the
|
|
41
|
+
* proxy liveness root `/`, and `false` for every other outcome (non-2xx,
|
|
42
|
+
* network error, or timeout). A cold or briefly-busy-but-up server can therefore
|
|
43
43
|
* read as offline — callers that gate on this (e.g. client construction)
|
|
44
44
|
* should retry rather than treat a single `false` as authoritative.
|
|
45
45
|
*
|
|
@@ -51,9 +51,19 @@ declare class ComputeServerStats {
|
|
|
51
51
|
/**
|
|
52
52
|
* Get the number of active child processes on the server.
|
|
53
53
|
*
|
|
54
|
+
* By default the proxy's `/activechildren` endpoint will *spawn* children up
|
|
55
|
+
* to the configured count if none are running, then report the count — which
|
|
56
|
+
* wakes (and bills) an idle server. Pass `{ initialize: false }` for a passive
|
|
57
|
+
* read that reports the current count without spawning; use this for
|
|
58
|
+
* monitoring or before a purge/probe where you must not wake the server.
|
|
59
|
+
*
|
|
60
|
+
* @param options.initialize - When `false`, append `?initialize=false` so the
|
|
61
|
+
* server reports without spawning. Defaults to `true` (the server's default).
|
|
54
62
|
* @returns Number of active children, or null if unavailable
|
|
55
63
|
*/
|
|
56
|
-
getActiveChildren(
|
|
64
|
+
getActiveChildren(options?: {
|
|
65
|
+
initialize?: boolean;
|
|
66
|
+
}): Promise<number | null>;
|
|
57
67
|
/**
|
|
58
68
|
* Get the server version information.
|
|
59
69
|
*
|
|
@@ -64,6 +74,26 @@ declare class ComputeServerStats {
|
|
|
64
74
|
compute: string;
|
|
65
75
|
git_sha: string | null;
|
|
66
76
|
} | null>;
|
|
77
|
+
/**
|
|
78
|
+
* Get the plugins installed on the server.
|
|
79
|
+
*
|
|
80
|
+
* Returns a `name → version` map of non-core plugins the server has loaded,
|
|
81
|
+
* or `null` if the request failed. Pass `kind` to choose which inventory:
|
|
82
|
+
* `'gh'` (default) lists Grasshopper add-on assemblies via
|
|
83
|
+
* `/plugins/gh/installed`; `'rhino'` lists Rhino plugins via
|
|
84
|
+
* `/plugins/rhino/installed`. Plugins that ship with Rhino / are core
|
|
85
|
+
* libraries are excluded by the server.
|
|
86
|
+
*
|
|
87
|
+
* @param kind - `'gh'` for Grasshopper add-ons (default) or `'rhino'` for Rhino plugins.
|
|
88
|
+
* @returns Map of plugin name to version, or `null` on failure.
|
|
89
|
+
*
|
|
90
|
+
* @example
|
|
91
|
+
* ```ts
|
|
92
|
+
* const gh = await stats.getInstalledPlugins(); // Grasshopper add-ons
|
|
93
|
+
* const selvaVersion = gh?.['Selva'] ?? null;
|
|
94
|
+
* ```
|
|
95
|
+
*/
|
|
96
|
+
getInstalledPlugins(kind?: 'gh' | 'rhino'): Promise<Record<string, string> | null>;
|
|
67
97
|
/**
|
|
68
98
|
* Get comprehensive server statistics.
|
|
69
99
|
* Fetches all available server information in parallel.
|
|
@@ -101,6 +131,134 @@ declare class ComputeServerStats {
|
|
|
101
131
|
* ```
|
|
102
132
|
*/
|
|
103
133
|
purgeCache(): Promise<number | null>;
|
|
134
|
+
/**
|
|
135
|
+
* Best-effort fleet-wide cache purge across a multi-child deployment.
|
|
136
|
+
*
|
|
137
|
+
* A single {@link purgeCache} POST is forwarded by the rhino.compute proxy to
|
|
138
|
+
* just ONE round-robin-selected child, so the other children keep serving
|
|
139
|
+
* stale cached solves. There is no proxy endpoint that addresses children
|
|
140
|
+
* individually, so this method reads the active child count (passively, never
|
|
141
|
+
* spawning) and fires `2 × count` sequential purges, relying on the proxy's
|
|
142
|
+
* round-robin to spread the hits across the pool.
|
|
143
|
+
*
|
|
144
|
+
* **This is best-effort, not a guarantee.** Round-robin can revisit one child
|
|
145
|
+
* and skip another; under concurrent traffic the rotation drifts. The result's
|
|
146
|
+
* `confident` flag is `true` only when the server reports a single child (where
|
|
147
|
+
* one purge is exact) — surface it so callers don't over-promise. For a hard
|
|
148
|
+
* fleet-wide guarantee, run the deployment at `--childcount 1` or add a
|
|
149
|
+
* server-side fan-out endpoint.
|
|
150
|
+
*
|
|
151
|
+
* @returns `{ totalPurged, calls, children, confident }`, or `null` if the
|
|
152
|
+
* child count couldn't be read (server unreachable). `totalPurged` sums the
|
|
153
|
+
* per-call counts; `calls` is how many purges were issued; `children` is the
|
|
154
|
+
* reported pool size; `confident` is `true` only at a single-child pool.
|
|
155
|
+
*
|
|
156
|
+
* @example
|
|
157
|
+
* ```ts
|
|
158
|
+
* const r = await stats.purgeAllChildren();
|
|
159
|
+
* if (r && !r.confident) {
|
|
160
|
+
* console.warn(`Purged ~${r.totalPurged} across ${r.children} children (best-effort)`);
|
|
161
|
+
* }
|
|
162
|
+
* ```
|
|
163
|
+
*/
|
|
164
|
+
purgeAllChildren(): Promise<{
|
|
165
|
+
totalPurged: number;
|
|
166
|
+
calls: number;
|
|
167
|
+
children: number;
|
|
168
|
+
confident: boolean;
|
|
169
|
+
} | null>;
|
|
170
|
+
/**
|
|
171
|
+
* Get the server's current UTC clock.
|
|
172
|
+
*
|
|
173
|
+
* GETs `/servertime`, which the server emits as a JSON-encoded ISO-8601
|
|
174
|
+
* timestamp (e.g. `"2026-06-18T08:30:00Z"`). Useful for detecting clock skew
|
|
175
|
+
* between caller and server. Returns `null` if the request failed or the body
|
|
176
|
+
* isn't a parseable date.
|
|
177
|
+
*
|
|
178
|
+
* @returns A `Date` for the server's UTC time, or `null` on failure.
|
|
179
|
+
*/
|
|
180
|
+
getServerTime(): Promise<Date | null>;
|
|
181
|
+
/**
|
|
182
|
+
* Get how long the rhino.compute proxy has been idle.
|
|
183
|
+
*
|
|
184
|
+
* GETs `/idlespan` on the proxy, which returns the seconds elapsed since the
|
|
185
|
+
* last request was forwarded to a compute child. This is a proxy-level metric
|
|
186
|
+
* (not proxied to a child) used by autoscalers to decide when a node can be
|
|
187
|
+
* drained. Returns `null` if unavailable.
|
|
188
|
+
*
|
|
189
|
+
* @returns Idle time in seconds, or `null` on failure.
|
|
190
|
+
*/
|
|
191
|
+
getIdleSpan(): Promise<number | null>;
|
|
192
|
+
/**
|
|
193
|
+
* Fill the compute child pool up to the server's configured baseline.
|
|
194
|
+
*
|
|
195
|
+
* POSTs `/launch-children`. No-op when the pool is already at or above the
|
|
196
|
+
* configured `--childcount`. Returns `{ spawned, active }` — how many children
|
|
197
|
+
* were started and the resulting child count — or `null` on failure.
|
|
198
|
+
*
|
|
199
|
+
* To raise capacity above the baseline use {@link launchChild}; the baseline
|
|
200
|
+
* itself can only be changed by restarting rhino.compute.
|
|
201
|
+
*
|
|
202
|
+
* @returns `{ spawned, active }`, or `null` on failure.
|
|
203
|
+
*/
|
|
204
|
+
launchChildren(): Promise<{
|
|
205
|
+
spawned: number[];
|
|
206
|
+
active: number;
|
|
207
|
+
} | null>;
|
|
208
|
+
/**
|
|
209
|
+
* Add a single compute child to the pool, optionally on a specific port.
|
|
210
|
+
*
|
|
211
|
+
* POSTs `/launch-child` (with `?port=N` when `port` is given). Unlike
|
|
212
|
+
* {@link launchChildren}, this can push the pool above the baseline, up to the
|
|
213
|
+
* server's `MaxChildren` cap. Returns `{ spawned: [port] }` on success, or
|
|
214
|
+
* `null` on failure (server replies 400 for a bad port, 409 if the port is in
|
|
215
|
+
* use, 503 at the max-children cap).
|
|
216
|
+
*
|
|
217
|
+
* @param port - Optional specific port to launch on; otherwise the next free one.
|
|
218
|
+
* @returns `{ spawned }` listing the launched port, or `null` on failure.
|
|
219
|
+
*/
|
|
220
|
+
launchChild(port?: number): Promise<{
|
|
221
|
+
spawned: number[];
|
|
222
|
+
} | null>;
|
|
223
|
+
/**
|
|
224
|
+
* Gracefully shut down compute children without respawning them.
|
|
225
|
+
*
|
|
226
|
+
* POSTs `/shutdown-children`. With no `port` it shuts down every child; with
|
|
227
|
+
* `port` it targets just that one. Children do not respawn, but the next
|
|
228
|
+
* `/grasshopper` request auto-spawns the pool back to the baseline. Returns
|
|
229
|
+
* `{ shutdown, active }` — how many were stopped and the remaining count — or
|
|
230
|
+
* `null` on failure.
|
|
231
|
+
*
|
|
232
|
+
* @param port - Optional port to target; omit to shut down all children.
|
|
233
|
+
* @returns `{ shutdown, active }`, or `null` on failure.
|
|
234
|
+
*/
|
|
235
|
+
shutdownChildren(port?: number): Promise<{
|
|
236
|
+
shutdown: number;
|
|
237
|
+
active: number;
|
|
238
|
+
} | null>;
|
|
239
|
+
/**
|
|
240
|
+
* Shut down compute children and respawn replacements (rolling restart).
|
|
241
|
+
*
|
|
242
|
+
* POSTs `/recycle-children`. With no `port` it recycles every child; with
|
|
243
|
+
* `port` it recycles just that one. The server recycles sequentially (each
|
|
244
|
+
* replacement is serving before the next child is stopped) so the pool never
|
|
245
|
+
* drops to zero mid-recycle. Returns `{ shutdown, spawned, active }`, or
|
|
246
|
+
* `null` on failure.
|
|
247
|
+
*
|
|
248
|
+
* @param port - Optional port to target; omit to recycle all children.
|
|
249
|
+
* @returns `{ shutdown, spawned, active }`, or `null` on failure.
|
|
250
|
+
*/
|
|
251
|
+
recycleChildren(port?: number): Promise<{
|
|
252
|
+
shutdown: number;
|
|
253
|
+
spawned: number[];
|
|
254
|
+
active: number;
|
|
255
|
+
} | null>;
|
|
256
|
+
/**
|
|
257
|
+
* POST a control endpoint that replies with a JSON object and return it,
|
|
258
|
+
* degrading to `null` on any non-2xx, non-JSON, or network failure. Shared by
|
|
259
|
+
* the child-lifecycle methods so their failure semantics stay identical.
|
|
260
|
+
*/
|
|
261
|
+
private postJson;
|
|
104
262
|
/**
|
|
105
263
|
* Continuously monitor server stats at specified interval.
|
|
106
264
|
*
|
package/dist/index.cjs
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports, "__esModule", {value: true});var
|
|
1
|
+
"use strict";Object.defineProperty(exports, "__esModule", {value: true});var _chunkXFKKZQUKcjs = require('./chunk-XFKKZQUK.cjs');var _chunk4UOOVSGLcjs = require('./chunk-4UOOVSGL.cjs');exports.ComputeServerStats = _chunk4UOOVSGLcjs.j; exports.ErrorCodes = _chunk4UOOVSGLcjs.c; exports.GrasshopperClient = _chunkXFKKZQUKcjs.d; exports.GrasshopperResponseProcessor = _chunkXFKKZQUKcjs.e; exports.RhinoComputeError = _chunk4UOOVSGLcjs.d; exports.SolveScheduler = _chunkXFKKZQUKcjs.c; exports.TreeBuilder = _chunkXFKKZQUKcjs.j; exports.camelcaseKeys = _chunk4UOOVSGLcjs.l; exports.downloadFileData = _chunk4UOOVSGLcjs.r; exports.enableDebugLogging = _chunk4UOOVSGLcjs.g; exports.extractFilesFromComputeResponse = _chunk4UOOVSGLcjs.q; exports.fetchDefinitionIO = _chunkXFKKZQUKcjs.h; exports.fetchParsedDefinitionIO = _chunkXFKKZQUKcjs.i; exports.fetchRhinoCompute = _chunk4UOOVSGLcjs.h; exports.getLogger = _chunk4UOOVSGLcjs.e; exports.hashSolveInput = _chunkXFKKZQUKcjs.b; exports.processInput = _chunkXFKKZQUKcjs.f; exports.processInputs = _chunkXFKKZQUKcjs.g; exports.setLogger = _chunk4UOOVSGLcjs.f; exports.solveGrasshopperDefinition = _chunkXFKKZQUKcjs.a; exports.toCamelCase = _chunk4UOOVSGLcjs.k;
|
|
2
2
|
//# sourceMappingURL=index.cjs.map
|
package/dist/index.d.cts
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
export { Logger, camelcaseKeys, enableDebugLogging, fetchRhinoCompute, getLogger, setLogger, toCamelCase } from './core.cjs';
|
|
2
|
-
export { C as ComputeServerStats, E as ErrorCode, a as ErrorCodes, F as FileBaseInfo, b as FileData, P as ProcessedFile, R as RhinoComputeError, d as downloadFileData, e as extractFilesFromComputeResponse } from './handle-files-
|
|
3
|
-
export { C as ComputeConfig, R as RetryPolicy, a as RhinoModelUnit, S as ServerTiming } from './types-
|
|
2
|
+
export { C as ComputeServerStats, E as ErrorCode, a as ErrorCodes, F as FileBaseInfo, b as FileData, P as ProcessedFile, R as RhinoComputeError, d as downloadFileData, e as extractFilesFromComputeResponse } from './handle-files-VUQET1YU.cjs';
|
|
3
|
+
export { C as ComputeConfig, R as RetryPolicy, a as RhinoModelUnit, S as ServerTiming } from './types-ChF690kY.cjs';
|
|
4
4
|
export { CacheOptions, DataTreeValue, GetValuesOptions, GetValuesResult, GrasshopperClient, GrasshopperResponseProcessor, ParsedContext, SchedulerMode, SolveContext, SolveExecutor, SolveOptions, SolveResult, SolveScheduler, SolveSchedulerOptions, TreeBuilder, fetchDefinitionIO, fetchParsedDefinitionIO, hashSolveInput, processInput, processInputs, solveGrasshopperDefinition } from './grasshopper.cjs';
|
|
5
|
-
export { B as BooleanInputType, D as DataItem, a as DataTree, b as DataTreeDefault, c as DataTreePath, d as DefaultValue, F as FileInputType, G as GeometryInputType, e as GrasshopperComputeConfig, f as GrasshopperComputeResponse, g as GrasshopperParsedIO, h as GrasshopperParsedIORaw, i as GrasshopperRequestSchema, I as InnerTreeData, j as InputParam, k as InputParamSchema, N as NumericInputType, O as OutputParamSchema, l as OutputType, T as TextInputType, V as ValueListInputType } from './types-
|
|
5
|
+
export { B as BooleanInputType, D as DataItem, a as DataTree, b as DataTreeDefault, c as DataTreePath, d as DefaultValue, F as FileInputType, G as GeometryInputType, e as GrasshopperComputeConfig, f as GrasshopperComputeResponse, g as GrasshopperParsedIO, h as GrasshopperParsedIORaw, i as GrasshopperRequestSchema, I as InnerTreeData, j as InputParam, k as InputParamSchema, N as NumericInputType, O as OutputParamSchema, l as OutputType, T as TextInputType, V as ValueListInputType } from './types-DqSisB8v.cjs';
|
|
6
6
|
import 'three';
|
|
7
7
|
import 'rhino3dm';
|
package/dist/index.d.ts
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
export { Logger, camelcaseKeys, enableDebugLogging, fetchRhinoCompute, getLogger, setLogger, toCamelCase } from './core.js';
|
|
2
|
-
export { C as ComputeServerStats, E as ErrorCode, a as ErrorCodes, F as FileBaseInfo, b as FileData, P as ProcessedFile, R as RhinoComputeError, d as downloadFileData, e as extractFilesFromComputeResponse } from './handle-files-
|
|
3
|
-
export { C as ComputeConfig, R as RetryPolicy, a as RhinoModelUnit, S as ServerTiming } from './types-
|
|
2
|
+
export { C as ComputeServerStats, E as ErrorCode, a as ErrorCodes, F as FileBaseInfo, b as FileData, P as ProcessedFile, R as RhinoComputeError, d as downloadFileData, e as extractFilesFromComputeResponse } from './handle-files-VUQET1YU.js';
|
|
3
|
+
export { C as ComputeConfig, R as RetryPolicy, a as RhinoModelUnit, S as ServerTiming } from './types-ChF690kY.js';
|
|
4
4
|
export { CacheOptions, DataTreeValue, GetValuesOptions, GetValuesResult, GrasshopperClient, GrasshopperResponseProcessor, ParsedContext, SchedulerMode, SolveContext, SolveExecutor, SolveOptions, SolveResult, SolveScheduler, SolveSchedulerOptions, TreeBuilder, fetchDefinitionIO, fetchParsedDefinitionIO, hashSolveInput, processInput, processInputs, solveGrasshopperDefinition } from './grasshopper.js';
|
|
5
|
-
export { B as BooleanInputType, D as DataItem, a as DataTree, b as DataTreeDefault, c as DataTreePath, d as DefaultValue, F as FileInputType, G as GeometryInputType, e as GrasshopperComputeConfig, f as GrasshopperComputeResponse, g as GrasshopperParsedIO, h as GrasshopperParsedIORaw, i as GrasshopperRequestSchema, I as InnerTreeData, j as InputParam, k as InputParamSchema, N as NumericInputType, O as OutputParamSchema, l as OutputType, T as TextInputType, V as ValueListInputType } from './types-
|
|
5
|
+
export { B as BooleanInputType, D as DataItem, a as DataTree, b as DataTreeDefault, c as DataTreePath, d as DefaultValue, F as FileInputType, G as GeometryInputType, e as GrasshopperComputeConfig, f as GrasshopperComputeResponse, g as GrasshopperParsedIO, h as GrasshopperParsedIORaw, i as GrasshopperRequestSchema, I as InnerTreeData, j as InputParam, k as InputParamSchema, N as NumericInputType, O as OutputParamSchema, l as OutputType, T as TextInputType, V as ValueListInputType } from './types-CIsBR_xd.js';
|
|
6
6
|
import 'three';
|
|
7
7
|
import 'rhino3dm';
|
package/dist/index.js
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import{a as d,b as g,c as h,d as i,e as j,f as k,g as l,h as n,i as q,j as s}from"./chunk-
|
|
1
|
+
import{a as d,b as g,c as h,d as i,e as j,f as k,g as l,h as n,i as q,j as s}from"./chunk-TPVXQREC.js";import{c as o,d as r,e,f,g as m,h as p,j as t,k as x,l as a,q as b,r as c}from"./chunk-AXAMGKTJ.js";export{t as ComputeServerStats,o as ErrorCodes,i as GrasshopperClient,j as GrasshopperResponseProcessor,r as RhinoComputeError,h as SolveScheduler,s as TreeBuilder,a as camelcaseKeys,c as downloadFileData,m as enableDebugLogging,b as extractFilesFromComputeResponse,n as fetchDefinitionIO,q as fetchParsedDefinitionIO,p as fetchRhinoCompute,e as getLogger,g as hashSolveInput,k as processInput,l as processInputs,f as setLogger,d as solveGrasshopperDefinition,x as toCamelCase};
|
|
2
2
|
//# sourceMappingURL=index.js.map
|
|
@@ -24,9 +24,10 @@ interface ComputeConfig {
|
|
|
24
24
|
*
|
|
25
25
|
* This should point at the `rhino.compute` front (the reverse proxy), not a
|
|
26
26
|
* bare `compute.geometry` child process. `ComputeServerStats` relies on the
|
|
27
|
-
* proxy-only endpoints
|
|
28
|
-
*
|
|
29
|
-
* `/grasshopper` would
|
|
27
|
+
* proxy liveness root `/` and proxy-only endpoints like `/activechildren`,
|
|
28
|
+
* `/idlespan`, and the child-lifecycle controls; targeting a bare
|
|
29
|
+
* `compute.geometry` would make those 404 even though `/grasshopper` would
|
|
30
|
+
* still solve.
|
|
30
31
|
*/
|
|
31
32
|
serverUrl: string;
|
|
32
33
|
/** Optional API key for authenticating with the server (RhinoComputeKey) */
|
|
@@ -24,9 +24,10 @@ interface ComputeConfig {
|
|
|
24
24
|
*
|
|
25
25
|
* This should point at the `rhino.compute` front (the reverse proxy), not a
|
|
26
26
|
* bare `compute.geometry` child process. `ComputeServerStats` relies on the
|
|
27
|
-
* proxy-only endpoints
|
|
28
|
-
*
|
|
29
|
-
* `/grasshopper` would
|
|
27
|
+
* proxy liveness root `/` and proxy-only endpoints like `/activechildren`,
|
|
28
|
+
* `/idlespan`, and the child-lifecycle controls; targeting a bare
|
|
29
|
+
* `compute.geometry` would make those 404 even though `/grasshopper` would
|
|
30
|
+
* still solve.
|
|
30
31
|
*/
|
|
31
32
|
serverUrl: string;
|
|
32
33
|
/** Optional API key for authenticating with the server (RhinoComputeKey) */
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import{A as u,a as e,b as r,c as o,d as t,e as a,f as s,g as p,h as i,i as n,j as m,k as l,l as f,m as y,n as d,o as h,p as x,q as C,r as g,s as M,t as c,u as B,v as j,w as E,x as D,y as O,z as b}from"./chunk-
|
|
2
|
-
//# sourceMappingURL=visualization-
|
|
1
|
+
import{A as u,a as e,b as r,c as o,d as t,e as a,f as s,g as p,h as i,i as n,j as m,k as l,l as f,m as y,n as d,o as h,p as x,q as C,r as g,s as M,t as c,u as B,v as j,w as E,x as D,y as O,z as b}from"./chunk-XULKNW75.js";import"./chunk-AXAMGKTJ.js";export{M as BINARY_MESH_MAGIC,c as BINARY_MESH_VERSION,i as EDGE_USERDATA_KIND,B as FLAG_FLOAT32,C as Materials,b as SCALE_FACTORS,n as addEdges,o as applyOffset,t as computeCombinedBoundingBox,a as createCameraController,s as createGrid,y as createLabelLayer,h as createMeasureTool,f as createRenderPipeline,p as createViewGizmo,u as getThreeMeshesFromComputeResponse,x as initThree,m as isEdgeOverlay,j as parseBinaryMeshBatch,r as parseColor,g as parseDisplayItems,E as parseMeshBatch,O as parseMeshBatchBlob,D as parseMeshBatchObject,l as removeEdges,d as snapToVertex,e as updateScene};
|
|
2
|
+
//# sourceMappingURL=visualization-TRW2EKLH.js.map
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
"use strict";Object.defineProperty(exports, "__esModule", {value: true});var _chunk3GX67Y6Hcjs = require('./chunk-3GX67Y6H.cjs');require('./chunk-4UOOVSGL.cjs');exports.BINARY_MESH_MAGIC = _chunk3GX67Y6Hcjs.s; exports.BINARY_MESH_VERSION = _chunk3GX67Y6Hcjs.t; exports.EDGE_USERDATA_KIND = _chunk3GX67Y6Hcjs.h; exports.FLAG_FLOAT32 = _chunk3GX67Y6Hcjs.u; exports.Materials = _chunk3GX67Y6Hcjs.q; exports.SCALE_FACTORS = _chunk3GX67Y6Hcjs.z; exports.addEdges = _chunk3GX67Y6Hcjs.i; exports.applyOffset = _chunk3GX67Y6Hcjs.c; exports.computeCombinedBoundingBox = _chunk3GX67Y6Hcjs.d; exports.createCameraController = _chunk3GX67Y6Hcjs.e; exports.createGrid = _chunk3GX67Y6Hcjs.f; exports.createLabelLayer = _chunk3GX67Y6Hcjs.m; exports.createMeasureTool = _chunk3GX67Y6Hcjs.o; exports.createRenderPipeline = _chunk3GX67Y6Hcjs.l; exports.createViewGizmo = _chunk3GX67Y6Hcjs.g; exports.getThreeMeshesFromComputeResponse = _chunk3GX67Y6Hcjs.A; exports.initThree = _chunk3GX67Y6Hcjs.p; exports.isEdgeOverlay = _chunk3GX67Y6Hcjs.j; exports.parseBinaryMeshBatch = _chunk3GX67Y6Hcjs.v; exports.parseColor = _chunk3GX67Y6Hcjs.b; exports.parseDisplayItems = _chunk3GX67Y6Hcjs.r; exports.parseMeshBatch = _chunk3GX67Y6Hcjs.w; exports.parseMeshBatchBlob = _chunk3GX67Y6Hcjs.y; exports.parseMeshBatchObject = _chunk3GX67Y6Hcjs.x; exports.removeEdges = _chunk3GX67Y6Hcjs.k; exports.snapToVertex = _chunk3GX67Y6Hcjs.n; exports.updateScene = _chunk3GX67Y6Hcjs.a;
|
|
2
|
+
//# sourceMappingURL=visualization-WRUF5FKI.cjs.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["/home/runner/work/selva-compute/selva-compute/dist/visualization-
|
|
1
|
+
{"version":3,"sources":["/home/runner/work/selva-compute/selva-compute/dist/visualization-WRUF5FKI.cjs"],"names":[],"mappings":"AAAA,iIAA8N,gCAA6B,owCAA+kB","file":"/home/runner/work/selva-compute/selva-compute/dist/visualization-WRUF5FKI.cjs"}
|
package/dist/visualization.cjs
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports, "__esModule", {value: true});var
|
|
1
|
+
"use strict";Object.defineProperty(exports, "__esModule", {value: true});var _chunk3GX67Y6Hcjs = require('./chunk-3GX67Y6H.cjs');require('./chunk-4UOOVSGL.cjs');exports.EDGE_USERDATA_KIND = _chunk3GX67Y6Hcjs.h; exports.Materials = _chunk3GX67Y6Hcjs.q; exports.SCALE_FACTORS = _chunk3GX67Y6Hcjs.z; exports.addEdges = _chunk3GX67Y6Hcjs.i; exports.applyOffset = _chunk3GX67Y6Hcjs.c; exports.computeCombinedBoundingBox = _chunk3GX67Y6Hcjs.d; exports.createCameraController = _chunk3GX67Y6Hcjs.e; exports.createGrid = _chunk3GX67Y6Hcjs.f; exports.createLabelLayer = _chunk3GX67Y6Hcjs.m; exports.createMeasureTool = _chunk3GX67Y6Hcjs.o; exports.createRenderPipeline = _chunk3GX67Y6Hcjs.l; exports.createViewGizmo = _chunk3GX67Y6Hcjs.g; exports.getThreeMeshesFromComputeResponse = _chunk3GX67Y6Hcjs.A; exports.initThree = _chunk3GX67Y6Hcjs.p; exports.isEdgeOverlay = _chunk3GX67Y6Hcjs.j; exports.parseColor = _chunk3GX67Y6Hcjs.b; exports.parseDisplayItems = _chunk3GX67Y6Hcjs.r; exports.parseMeshBatchBlob = _chunk3GX67Y6Hcjs.y; exports.parseMeshBatchObject = _chunk3GX67Y6Hcjs.x; exports.removeEdges = _chunk3GX67Y6Hcjs.k; exports.snapToVertex = _chunk3GX67Y6Hcjs.n; exports.updateScene = _chunk3GX67Y6Hcjs.a;
|
|
2
2
|
//# sourceMappingURL=visualization.cjs.map
|