@flaxia/node 0.5.0 → 0.5.1
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/assets/ai-inference.js +241 -85
- package/dist/assets/webgpuProbe.js +357 -0
- package/dist/client/SignalingClient.d.ts.map +1 -1
- package/dist/client/__tests__/mobile-lifecycle.test.d.ts +2 -0
- package/dist/client/__tests__/mobile-lifecycle.test.d.ts.map +1 -0
- package/dist/client/mobile-lifecycle.d.ts +20 -0
- package/dist/client/mobile-lifecycle.d.ts.map +1 -0
- package/dist/executor/WorkerPool.d.ts +7 -1
- package/dist/executor/WorkerPool.d.ts.map +1 -1
- package/dist/executor/__tests__/resourceReporter.test.d.ts +2 -0
- package/dist/executor/__tests__/resourceReporter.test.d.ts.map +1 -0
- package/dist/executor/memoryProbe.d.ts +5 -0
- package/dist/executor/memoryProbe.d.ts.map +1 -1
- package/dist/executor/resourceReporter.d.ts +15 -0
- package/dist/executor/resourceReporter.d.ts.map +1 -0
- package/dist/executor/webgpuProbe.d.ts +16 -5
- package/dist/executor/webgpuProbe.d.ts.map +1 -1
- package/dist/index.js +943 -291
- package/dist/swarm/__tests__/peer-quality.test.d.ts +2 -0
- package/dist/swarm/__tests__/peer-quality.test.d.ts.map +1 -0
- package/dist/swarm/__tests__/peer-transport.test.d.ts +2 -0
- package/dist/swarm/__tests__/peer-transport.test.d.ts.map +1 -0
- package/dist/swarm/adapter.d.ts +1 -1
- package/dist/swarm/adapter.d.ts.map +1 -1
- package/dist/swarm/controller.d.ts +4 -0
- package/dist/swarm/controller.d.ts.map +1 -1
- package/dist/swarm/messages.d.ts +2 -2
- package/dist/swarm/messages.d.ts.map +1 -1
- package/dist/swarm/peer-quality.d.ts +14 -0
- package/dist/swarm/peer-quality.d.ts.map +1 -0
- package/dist/swarm/peer-transport.d.ts +81 -0
- package/dist/swarm/peer-transport.d.ts.map +1 -0
- package/dist/swarm/runtime.d.ts +5 -1
- package/dist/swarm/runtime.d.ts.map +1 -1
- package/dist/swarm-engine.js +39 -20
- package/dist/worker.js +331 -208
- package/dist/workloads/__tests__/model-pipeline-cache.test.d.ts +2 -0
- package/dist/workloads/__tests__/model-pipeline-cache.test.d.ts.map +1 -0
- package/dist/workloads/ai-inference.d.ts +6 -0
- package/dist/workloads/ai-inference.d.ts.map +1 -1
- package/dist/workloads/model-pipeline-cache.d.ts +48 -0
- package/dist/workloads/model-pipeline-cache.d.ts.map +1 -0
- package/package.json +1 -1
- package/dist/assets/dist.js +0 -209
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"peer-quality.test.d.ts","sourceRoot":"","sources":["../../../src/swarm/__tests__/peer-quality.test.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"peer-transport.test.d.ts","sourceRoot":"","sources":["../../../src/swarm/__tests__/peer-transport.test.ts"],"names":[],"mappings":""}
|
package/dist/swarm/adapter.d.ts
CHANGED
|
@@ -111,5 +111,5 @@ export declare function loadPooledEngineModule(moduleUrl: string, importer?: Eng
|
|
|
111
111
|
* alive would keep the whole model resident in the GPU on a worker that is
|
|
112
112
|
* reused for the next task. Calling it twice is a no-op.
|
|
113
113
|
*/
|
|
114
|
-
export declare function wrapPooledEngine(engine: RawPooledEngine, device?: unknown): SwarmEngineAdapter;
|
|
114
|
+
export declare function wrapPooledEngine(engine: RawPooledEngine, device?: unknown, onDisposed?: () => void, checkDevice?: () => void): SwarmEngineAdapter;
|
|
115
115
|
//# sourceMappingURL=adapter.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"adapter.d.ts","sourceRoot":"","sources":["../../src/swarm/adapter.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"adapter.d.ts","sourceRoot":"","sources":["../../src/swarm/adapter.ts"],"names":[],"mappings":"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"}
|
|
@@ -53,6 +53,8 @@ export declare class SwarmController {
|
|
|
53
53
|
private sliceLoaded;
|
|
54
54
|
private generationStarted;
|
|
55
55
|
private settled;
|
|
56
|
+
private flowPaused;
|
|
57
|
+
private flowWaiters;
|
|
56
58
|
constructor(options: SwarmControllerOptions);
|
|
57
59
|
start(): Promise<void>;
|
|
58
60
|
handleControl(message: SwarmControlMessage): Promise<void>;
|
|
@@ -83,5 +85,7 @@ export declare class SwarmController {
|
|
|
83
85
|
private teardown;
|
|
84
86
|
private finish;
|
|
85
87
|
private fail;
|
|
88
|
+
private waitForFlow;
|
|
89
|
+
private releaseFlowWaiters;
|
|
86
90
|
}
|
|
87
91
|
//# sourceMappingURL=controller.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"controller.d.ts","sourceRoot":"","sources":["../../src/swarm/controller.ts"],"names":[],"mappings":"AAAA,OAAO,EAGL,KAAK,cAAc,EAEnB,KAAK,gBAAgB,EACrB,KAAK,WAAW,EAChB,KAAK,UAAU,EACf,KAAK,iBAAiB,EACvB,MAAM,aAAa,CAAC;AACrB,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,WAAW,CAAC;AACpD,OAAO,EAAsE,KAAK,cAAc,EAAE,MAAM,WAAW,CAAC;AACpH,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,YAAY,CAAC;AAEtD;;;;GAIG;AACH,MAAM,WAAW,YAAY;IAC3B,IAAI,CAAC,OAAO,EAAE,WAAW,EAAE,EAAE,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,cAAc,EAAE,CAAC,CAAC;IACvE,IAAI,CACF,KAAK,EAAE,UAAU,EACjB,KAAK,EAAE,MAAM,GACZ,OAAO,CAAC;QAAE,MAAM,EAAE,kBAAkB,CAAC;QAAC,SAAS,EAAE,cAAc,CAAC;QAAC,IAAI,CAAC,EAAE,OAAO,CAAA;KAAE,CAAC,CAAC;CACvF;AAED,MAAM,WAAW,sBAAsB;IACrC,kFAAkF;IAClF,OAAO,EAAE,gBAAgB,GAAG,iBAAiB,CAAC;IAC9C,OAAO,EAAE,YAAY,CAAC;IACtB,kEAAkE;IAClE,WAAW,EAAE,CAAC,OAAO,EAAE,OAAO,KAAK,IAAI,CAAC;IACxC,uEAAuE;IACvE,SAAS,EAAE,CAAC,KAAK,EAAE,WAAW,KAAK,IAAI,CAAC;IACxC,wCAAwC;IACxC,SAAS,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,OAAO,CAAC;IACtC,MAAM,EAAE,CAAC,MAAM,EAAE,OAAO,KAAK,IAAI,CAAC;IAClC,OAAO,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;CAClC;AAED;;;;;;;;GAQG;AACH,qBAAa,eAAe;
|
|
1
|
+
{"version":3,"file":"controller.d.ts","sourceRoot":"","sources":["../../src/swarm/controller.ts"],"names":[],"mappings":"AAAA,OAAO,EAGL,KAAK,cAAc,EAEnB,KAAK,gBAAgB,EACrB,KAAK,WAAW,EAChB,KAAK,UAAU,EACf,KAAK,iBAAiB,EACvB,MAAM,aAAa,CAAC;AACrB,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,WAAW,CAAC;AACpD,OAAO,EAAsE,KAAK,cAAc,EAAE,MAAM,WAAW,CAAC;AACpH,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,YAAY,CAAC;AAEtD;;;;GAIG;AACH,MAAM,WAAW,YAAY;IAC3B,IAAI,CAAC,OAAO,EAAE,WAAW,EAAE,EAAE,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,cAAc,EAAE,CAAC,CAAC;IACvE,IAAI,CACF,KAAK,EAAE,UAAU,EACjB,KAAK,EAAE,MAAM,GACZ,OAAO,CAAC;QAAE,MAAM,EAAE,kBAAkB,CAAC;QAAC,SAAS,EAAE,cAAc,CAAC;QAAC,IAAI,CAAC,EAAE,OAAO,CAAA;KAAE,CAAC,CAAC;CACvF;AAED,MAAM,WAAW,sBAAsB;IACrC,kFAAkF;IAClF,OAAO,EAAE,gBAAgB,GAAG,iBAAiB,CAAC;IAC9C,OAAO,EAAE,YAAY,CAAC;IACtB,kEAAkE;IAClE,WAAW,EAAE,CAAC,OAAO,EAAE,OAAO,KAAK,IAAI,CAAC;IACxC,uEAAuE;IACvE,SAAS,EAAE,CAAC,KAAK,EAAE,WAAW,KAAK,IAAI,CAAC;IACxC,wCAAwC;IACxC,SAAS,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,OAAO,CAAC;IACtC,MAAM,EAAE,CAAC,MAAM,EAAE,OAAO,KAAK,IAAI,CAAC;IAClC,OAAO,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;CAClC;AAED;;;;;;;;GAQG;AACH,qBAAa,eAAe;IAkBd,OAAO,CAAC,QAAQ,CAAC,OAAO;IAjBpC,OAAO,CAAC,YAAY,CAA+C;IACnE,OAAO,CAAC,MAAM,CAAmC;IACjD,OAAO,CAAC,SAAS,CAA+B;IAChD,OAAO,CAAC,SAAS,CAAM;IACvB,OAAO,CAAC,KAAK,CAAM;IACnB,OAAO,CAAC,WAAW,CAAK;IACxB,OAAO,CAAC,KAAK,CAAwB;IACrC,OAAO,CAAC,KAAK,CAA2B;IACxC,OAAO,CAAC,QAAQ,CAAkC;IAClD,OAAO,CAAC,MAAM,CAAyB;IACvC,OAAO,CAAC,YAAY,CAAO;IAC3B,OAAO,CAAC,WAAW,CAAS;IAC5B,OAAO,CAAC,iBAAiB,CAAS;IAClC,OAAO,CAAC,OAAO,CAAS;IACxB,OAAO,CAAC,UAAU,CAAS;IAC3B,OAAO,CAAC,WAAW,CAAyB;gBAEf,OAAO,EAAE,sBAAsB;IAEtD,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC;IA4BtB,aAAa,CAAC,OAAO,EAAE,mBAAmB,GAAG,OAAO,CAAC,IAAI,CAAC;IAqBhE,WAAW,CAAC,KAAK,EAAE,WAAW,GAAG,IAAI;IAKrC;;;;OAIG;IACH,KAAK,CAAC,MAAM,EAAE,MAAM,GAAG,IAAI;IAI3B,OAAO,CAAC,IAAI;IASZ;;;;;OAKG;IACH,OAAO,CAAC,aAAa;YAuBP,SAAS;YA6BT,SAAS;IAsDvB;;;;OAIG;IACH,OAAO,CAAC,SAAS;IAcjB,4EAA4E;IAC5E,OAAO,CAAC,QAAQ;IAWhB,OAAO,CAAC,MAAM;IAQd,OAAO,CAAC,IAAI;IAQZ,OAAO,CAAC,WAAW;IAKnB,OAAO,CAAC,kBAAkB;CAI3B"}
|
package/dist/swarm/messages.d.ts
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
import { type SwarmErrorMessage, type SwarmInitMessage, type SwarmSliceMessage, type SwarmStartMessage } from '@flaxia/sdk';
|
|
1
|
+
import { type SwarmErrorMessage, type SwarmFlowMessage, type SwarmInitMessage, type SwarmSliceMessage, type SwarmStartMessage, type SwarmTransportMessage } from '@flaxia/sdk';
|
|
2
2
|
/** Swarm control messages the coordinator sends to a node. */
|
|
3
|
-
export type SwarmControlMessage = SwarmInitMessage | SwarmSliceMessage | SwarmStartMessage | SwarmErrorMessage;
|
|
3
|
+
export type SwarmControlMessage = SwarmInitMessage | SwarmSliceMessage | SwarmStartMessage | SwarmErrorMessage | SwarmFlowMessage | SwarmTransportMessage;
|
|
4
4
|
/** Messages from the main thread into the swarm worker. */
|
|
5
5
|
export type SwarmWorkerInbound = {
|
|
6
6
|
id: string;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"messages.d.ts","sourceRoot":"","sources":["../../src/swarm/messages.ts"],"names":[],"mappings":"AAAA,OAAO,
|
|
1
|
+
{"version":3,"file":"messages.d.ts","sourceRoot":"","sources":["../../src/swarm/messages.ts"],"names":[],"mappings":"AAAA,OAAO,EAOL,KAAK,iBAAiB,EACtB,KAAK,gBAAgB,EACrB,KAAK,gBAAgB,EACrB,KAAK,iBAAiB,EACtB,KAAK,iBAAiB,EACtB,KAAK,qBAAqB,EAC3B,MAAM,aAAa,CAAC;AAErB,8DAA8D;AAC9D,MAAM,MAAM,mBAAmB,GAC3B,gBAAgB,GAChB,iBAAiB,GACjB,iBAAiB,GACjB,iBAAiB,GACjB,gBAAgB,GAChB,qBAAqB,CAAC;AAE1B,2DAA2D;AAC3D,MAAM,MAAM,kBAAkB,GAC1B;IAAE,EAAE,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,eAAe,CAAC;IAAC,OAAO,EAAE,mBAAmB,CAAA;CAAE,GACnE;IAAE,EAAE,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,aAAa,CAAC;IAAC,KAAK,EAAE,WAAW,CAAA;CAAE,CAAC;AAE5D,+DAA+D;AAC/D,MAAM,MAAM,mBAAmB,GAC3B;IAAE,EAAE,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,eAAe,CAAC;IAAC,OAAO,EAAE,OAAO,CAAA;CAAE,GACvD;IAAE,EAAE,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,aAAa,CAAC;IAAC,KAAK,EAAE,WAAW,CAAA;CAAE,CAAC;AAE5D;;;;;GAKG;AACH,wBAAgB,qBAAqB,CAAC,KAAK,EAAE,OAAO,GAAG,KAAK,IAAI,mBAAmB,CASlF;AAED,wBAAgB,mBAAmB,CAAC,KAAK,EAAE,OAAO,GAAG,KAAK,IAAI;IAAE,EAAE,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,aAAa,CAAC;IAAC,KAAK,EAAE,WAAW,CAAA;CAAE,CAIpH;AAED,wBAAgB,sBAAsB,CACpC,KAAK,EAAE,OAAO,GACb,KAAK,IAAI;IAAE,EAAE,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,eAAe,CAAC;IAAC,OAAO,EAAE,mBAAmB,CAAA;CAAE,CAI9E"}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
import { type PeerQualityValue, type PeerQualityValues, type SwarmPeerQualityReport } from '@flaxia/sdk';
|
|
2
|
+
export declare const SWARM_PEER_QUALITY_SAMPLE_INTERVAL_MS = 15000;
|
|
3
|
+
export declare const SWARM_PEER_QUALITY_SAMPLE_WINDOW = 5;
|
|
4
|
+
/** Keep a short median window and ignore extreme high spikes before smoothing. */
|
|
5
|
+
export declare function smoothPeerQualitySamples(samples: readonly number[]): number[];
|
|
6
|
+
/** Convert counter deltas to decimal megabits per second. */
|
|
7
|
+
export declare function bytesPerSecondToMbps(bytes: number, elapsedMs: number): number | null;
|
|
8
|
+
export declare function createPeerQualityValue(samples: readonly number[], sampledAt: number): PeerQualityValue;
|
|
9
|
+
export declare function createUnknownPeerQualityValues(sampledAt: number): PeerQualityValues;
|
|
10
|
+
export declare function createSwarmPeerQualityReport(peerNodeId: string, sampledAt: number, webRtcSamples: Partial<Record<keyof PeerQualityValues, readonly number[]>>, applicationSamples: Partial<Record<keyof PeerQualityValues, readonly number[]>>, sampleTimes?: {
|
|
11
|
+
webRtc: Partial<Record<keyof PeerQualityValues, number>>;
|
|
12
|
+
application: Partial<Record<keyof PeerQualityValues, number>>;
|
|
13
|
+
}): SwarmPeerQualityReport;
|
|
14
|
+
//# sourceMappingURL=peer-quality.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"peer-quality.d.ts","sourceRoot":"","sources":["../../src/swarm/peer-quality.ts"],"names":[],"mappings":"AAAA,OAAO,EAEL,KAAK,gBAAgB,EACrB,KAAK,iBAAiB,EACtB,KAAK,sBAAsB,EAC5B,MAAM,aAAa,CAAC;AAErB,eAAO,MAAM,qCAAqC,QAAS,CAAC;AAC5D,eAAO,MAAM,gCAAgC,IAAI,CAAC;AAElD,kFAAkF;AAClF,wBAAgB,wBAAwB,CAAC,OAAO,EAAE,SAAS,MAAM,EAAE,GAAG,MAAM,EAAE,CAQ7E;AAED,6DAA6D;AAC7D,wBAAgB,oBAAoB,CAAC,KAAK,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CAGpF;AAED,wBAAgB,sBAAsB,CACpC,OAAO,EAAE,SAAS,MAAM,EAAE,EAC1B,SAAS,EAAE,MAAM,GAChB,gBAAgB,CASlB;AAED,wBAAgB,8BAA8B,CAAC,SAAS,EAAE,MAAM,GAAG,iBAAiB,CAGnF;AAED,wBAAgB,4BAA4B,CAC1C,UAAU,EAAE,MAAM,EAClB,SAAS,EAAE,MAAM,EACjB,aAAa,EAAE,OAAO,CAAC,MAAM,CAAC,MAAM,iBAAiB,EAAE,SAAS,MAAM,EAAE,CAAC,CAAC,EAC1E,kBAAkB,EAAE,OAAO,CAAC,MAAM,CAAC,MAAM,iBAAiB,EAAE,SAAS,MAAM,EAAE,CAAC,CAAC,EAC/E,WAAW,CAAC,EAAE;IAAE,MAAM,EAAE,OAAO,CAAC,MAAM,CAAC,MAAM,iBAAiB,EAAE,MAAM,CAAC,CAAC,CAAC;IAAC,WAAW,EAAE,OAAO,CAAC,MAAM,CAAC,MAAM,iBAAiB,EAAE,MAAM,CAAC,CAAC,CAAA;CAAE,GACxI,sBAAsB,CAmBxB"}
|
|
@@ -0,0 +1,81 @@
|
|
|
1
|
+
import type { SwarmPeerQualityReport, SwarmPeerSignal, SwarmPeerSignalMessage } from '@flaxia/sdk';
|
|
2
|
+
export declare const SWARM_PEER_CONNECT_TIMEOUT_MS = 5000;
|
|
3
|
+
export declare const SWARM_PEER_FRAME_CHUNK_BYTES: number;
|
|
4
|
+
export declare const MAX_SWARM_PEER_FRAME_BYTES: number;
|
|
5
|
+
export declare const MAX_SWARM_PEER_BUFFERED_BYTES: number;
|
|
6
|
+
/** Split one ordered frame into bounded DataChannel packets. */
|
|
7
|
+
export declare function encodeSwarmPeerFrame(frame: ArrayBuffer, messageId: number): ArrayBuffer[];
|
|
8
|
+
/** Reassemble ordered or out-of-order chunks while bounding untrusted peer memory. */
|
|
9
|
+
export declare class SwarmPeerFrameReassembler {
|
|
10
|
+
private assemblies;
|
|
11
|
+
accept(packet: ArrayBuffer, now?: number): ArrayBuffer | null;
|
|
12
|
+
clear(): void;
|
|
13
|
+
private expire;
|
|
14
|
+
}
|
|
15
|
+
export interface SwarmPeerTransportOptions {
|
|
16
|
+
sessionId: string;
|
|
17
|
+
taskId: string;
|
|
18
|
+
attemptId: string;
|
|
19
|
+
nodeId: string;
|
|
20
|
+
previousNodeId?: string;
|
|
21
|
+
nextNodeId?: string;
|
|
22
|
+
onSignal: (toNodeId: string, signal: SwarmPeerSignal) => void;
|
|
23
|
+
onFrame: (frame: ArrayBuffer) => void;
|
|
24
|
+
onQuality?: (reports: SwarmPeerQualityReport[]) => void;
|
|
25
|
+
onFailure: (error: Error) => void;
|
|
26
|
+
createPeerConnection?: (configuration: RTCConfiguration) => RTCPeerConnection;
|
|
27
|
+
connectTimeoutMs?: number;
|
|
28
|
+
now?: () => number;
|
|
29
|
+
monotonicNow?: () => number;
|
|
30
|
+
}
|
|
31
|
+
/**
|
|
32
|
+
* One session's adjacent WebRTC data links. Each chain edge has one offerer;
|
|
33
|
+
* an open ordered DataChannel carries hidden frames in both directions. The
|
|
34
|
+
* coordinator selects relay globally if any member cannot open all of its links.
|
|
35
|
+
*/
|
|
36
|
+
export declare class SwarmPeerTransport {
|
|
37
|
+
private readonly options;
|
|
38
|
+
private peers;
|
|
39
|
+
private reassembler;
|
|
40
|
+
private nextMessageId;
|
|
41
|
+
private mode;
|
|
42
|
+
private closed;
|
|
43
|
+
private failed;
|
|
44
|
+
private readyPromise;
|
|
45
|
+
private readyResolve;
|
|
46
|
+
private readyTimer;
|
|
47
|
+
private qualityTimer;
|
|
48
|
+
private samplingQuality;
|
|
49
|
+
constructor(options: SwarmPeerTransportOptions);
|
|
50
|
+
get selectedMode(): 'undecided' | 'peer' | 'relay';
|
|
51
|
+
start(): Promise<void>;
|
|
52
|
+
handleSignal(fromNodeId: string, signal: SwarmPeerSignal): Promise<void>;
|
|
53
|
+
waitUntilReady(timeoutMs?: number): Promise<boolean>;
|
|
54
|
+
selectMode(mode: 'peer' | 'relay'): void;
|
|
55
|
+
sendFrame(frame: ArrayBuffer): Promise<boolean>;
|
|
56
|
+
close(): void;
|
|
57
|
+
private bindChannel;
|
|
58
|
+
private allPeersOpen;
|
|
59
|
+
private resolveReadyIfOpen;
|
|
60
|
+
private resolveReady;
|
|
61
|
+
private unavailable;
|
|
62
|
+
private waitForBuffer;
|
|
63
|
+
private closePeerConnections;
|
|
64
|
+
private startQualitySampling;
|
|
65
|
+
private stopQualitySampling;
|
|
66
|
+
private wallNow;
|
|
67
|
+
private monotonicNow;
|
|
68
|
+
private recordQuality;
|
|
69
|
+
private sendQualityProbe;
|
|
70
|
+
private handleQualityProbe;
|
|
71
|
+
private samplePeerQuality;
|
|
72
|
+
private sampleWebRtc;
|
|
73
|
+
}
|
|
74
|
+
export declare function isCurrentSwarmPeerSignal(message: unknown, expected: {
|
|
75
|
+
taskId: string;
|
|
76
|
+
sessionId: string;
|
|
77
|
+
attemptId: string;
|
|
78
|
+
nodeId: string;
|
|
79
|
+
peers: string[];
|
|
80
|
+
}): message is SwarmPeerSignalMessage;
|
|
81
|
+
//# sourceMappingURL=peer-transport.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"peer-transport.d.ts","sourceRoot":"","sources":["../../src/swarm/peer-transport.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAqB,sBAAsB,EAAE,eAAe,EAAE,sBAAsB,EAAE,MAAM,aAAa,CAAC;AAOtH,eAAO,MAAM,6BAA6B,OAAO,CAAC;AAClD,eAAO,MAAM,4BAA4B,QAAY,CAAC;AACtD,eAAO,MAAM,0BAA0B,QAA2B,CAAC;AACnE,eAAO,MAAM,6BAA6B,QAAa,CAAC;AA+DxD,gEAAgE;AAChE,wBAAgB,oBAAoB,CAAC,KAAK,EAAE,WAAW,EAAE,SAAS,EAAE,MAAM,GAAG,WAAW,EAAE,CAqBzF;AAED,sFAAsF;AACtF,qBAAa,yBAAyB;IACpC,OAAO,CAAC,UAAU,CAAoC;IAEtD,MAAM,CAAC,MAAM,EAAE,WAAW,EAAE,GAAG,SAAa,GAAG,WAAW,GAAG,IAAI;IA0DjE,KAAK;IAIL,OAAO,CAAC,MAAM;CAKf;AAuBD,MAAM,WAAW,yBAAyB;IACxC,SAAS,EAAE,MAAM,CAAC;IAClB,MAAM,EAAE,MAAM,CAAC;IACf,SAAS,EAAE,MAAM,CAAC;IAClB,MAAM,EAAE,MAAM,CAAC;IACf,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,QAAQ,EAAE,CAAC,QAAQ,EAAE,MAAM,EAAE,MAAM,EAAE,eAAe,KAAK,IAAI,CAAC;IAC9D,OAAO,EAAE,CAAC,KAAK,EAAE,WAAW,KAAK,IAAI,CAAC;IACtC,SAAS,CAAC,EAAE,CAAC,OAAO,EAAE,sBAAsB,EAAE,KAAK,IAAI,CAAC;IACxD,SAAS,EAAE,CAAC,KAAK,EAAE,KAAK,KAAK,IAAI,CAAC;IAClC,oBAAoB,CAAC,EAAE,CAAC,aAAa,EAAE,gBAAgB,KAAK,iBAAiB,CAAC;IAC9E,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,GAAG,CAAC,EAAE,MAAM,MAAM,CAAC;IACnB,YAAY,CAAC,EAAE,MAAM,MAAM,CAAC;CAC7B;AAED;;;;GAIG;AACH,qBAAa,kBAAkB;IAajB,OAAO,CAAC,QAAQ,CAAC,OAAO;IAZpC,OAAO,CAAC,KAAK,CAAgC;IAC7C,OAAO,CAAC,WAAW,CAAmC;IACtD,OAAO,CAAC,aAAa,CAAK;IAC1B,OAAO,CAAC,IAAI,CAA+C;IAC3D,OAAO,CAAC,MAAM,CAAS;IACvB,OAAO,CAAC,MAAM,CAAS;IACvB,OAAO,CAAC,YAAY,CAAiC;IACrD,OAAO,CAAC,YAAY,CAA2C;IAC/D,OAAO,CAAC,UAAU,CAA8C;IAChE,OAAO,CAAC,YAAY,CAA+C;IACnE,OAAO,CAAC,eAAe,CAAS;gBAEH,OAAO,EAAE,yBAAyB;IAE/D,IAAI,YAAY,IAAI,WAAW,GAAG,MAAM,GAAG,OAAO,CAEjD;IAEK,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC;IAmEtB,YAAY,CAAC,UAAU,EAAE,MAAM,EAAE,MAAM,EAAE,eAAe,GAAG,OAAO,CAAC,IAAI,CAAC;IA6B9E,cAAc,CAAC,SAAS,SAAiE,GAAG,OAAO,CAAC,OAAO,CAAC;IAY5G,UAAU,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,GAAG,IAAI;IAYlC,SAAS,CAAC,KAAK,EAAE,WAAW,GAAG,OAAO,CAAC,OAAO,CAAC;IA0BrD,KAAK,IAAI,IAAI;IASb,OAAO,CAAC,WAAW;IA0BnB,OAAO,CAAC,YAAY;IAKpB,OAAO,CAAC,kBAAkB;IAI1B,OAAO,CAAC,YAAY;IAQpB,OAAO,CAAC,WAAW;YAUL,aAAa;IAkB3B,OAAO,CAAC,oBAAoB;IAS5B,OAAO,CAAC,oBAAoB;IAM5B,OAAO,CAAC,mBAAmB;IAM3B,OAAO,CAAC,OAAO;IAIf,OAAO,CAAC,YAAY;IAIpB,OAAO,CAAC,aAAa;IAWrB,OAAO,CAAC,gBAAgB;IAexB,OAAO,CAAC,kBAAkB;YA2BZ,iBAAiB;YA8BjB,YAAY;CA6C3B;AAED,wBAAgB,wBAAwB,CACtC,OAAO,EAAE,OAAO,EAChB,QAAQ,EAAE;IAAE,MAAM,EAAE,MAAM,CAAC;IAAC,SAAS,EAAE,MAAM,CAAC;IAAC,SAAS,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,MAAM,CAAC;IAAC,KAAK,EAAE,MAAM,EAAE,CAAA;CAAE,GAClG,OAAO,IAAI,sBAAsB,CAYnC"}
|
package/dist/swarm/runtime.d.ts
CHANGED
|
@@ -1,6 +1,10 @@
|
|
|
1
|
+
import { type ModelCacheEntryStatus, type NodeModelCacheSnapshot, type SwarmSlice } from '@flaxia/sdk';
|
|
1
2
|
import { type PooledEngineModule, type PooledTokenizer } from './adapter';
|
|
2
3
|
import type { SwarmRuntime } from './controller';
|
|
3
4
|
import { type SwarmSemantics } from './session';
|
|
5
|
+
/** Describe the executable swarm slice; persistent CacheStorage weights are tracked separately. */
|
|
6
|
+
export declare function createSwarmModelCacheEntryStatus(modelId: string, slice: SwarmSlice, state: ModelCacheEntryStatus['state'], referenceCount: number): ModelCacheEntryStatus;
|
|
7
|
+
export declare function getSwarmModelCacheSnapshot(now?: number): NodeModelCacheSnapshot;
|
|
4
8
|
/**
|
|
5
9
|
* Resolve a task payload's `model` to the GGUF it loads.
|
|
6
10
|
*
|
|
@@ -12,5 +16,5 @@ export declare function resolveModelUrl(model: string): string;
|
|
|
12
16
|
/** Range-fetch bytes, caching complete entries so a second start skips the network. */
|
|
13
17
|
export declare function rangeFetch(url: string, lo: number, hi: number): Promise<Uint8Array>;
|
|
14
18
|
export declare function buildSemantics(mod: PooledEngineModule, tok: PooledTokenizer): SwarmSemantics;
|
|
15
|
-
export declare function createSwarmRuntime(): SwarmRuntime;
|
|
19
|
+
export declare function createSwarmRuntime(moduleLoader?: () => Promise<PooledEngineModule>): SwarmRuntime;
|
|
16
20
|
//# sourceMappingURL=runtime.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"runtime.d.ts","sourceRoot":"","sources":["../../src/swarm/runtime.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"runtime.d.ts","sourceRoot":"","sources":["../../src/swarm/runtime.ts"],"names":[],"mappings":"AAAA,OAAO,EAEL,KAAK,qBAAqB,EAC1B,KAAK,sBAAsB,EAK3B,KAAK,UAAU,EAChB,MAAM,aAAa,CAAC;AACrB,OAAO,EAIL,KAAK,kBAAkB,EAGvB,KAAK,eAAe,EACrB,MAAM,WAAW,CAAC;AACnB,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,cAAc,CAAC;AACjD,OAAO,EAAmB,KAAK,cAAc,EAAE,MAAM,WAAW,CAAC;AAqCjE,mGAAmG;AACnG,wBAAgB,gCAAgC,CAC9C,OAAO,EAAE,MAAM,EACf,KAAK,EAAE,UAAU,EACjB,KAAK,EAAE,qBAAqB,CAAC,OAAO,CAAC,EACrC,cAAc,EAAE,MAAM,GACrB,qBAAqB,CAavB;AAED,wBAAgB,0BAA0B,CAAC,GAAG,SAAa,GAAG,sBAAsB,CAenF;AAED;;;;;;GAMG;AACH,wBAAgB,eAAe,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,CAMrD;AAuBD,uFAAuF;AACvF,wBAAsB,UAAU,CAAC,GAAG,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,UAAU,CAAC,CAMzF;AAoFD,wBAAgB,cAAc,CAAC,GAAG,EAAE,kBAAkB,EAAE,GAAG,EAAE,eAAe,GAAG,cAAc,CA0C5F;AAED,wBAAgB,kBAAkB,CAChC,YAAY,CAAC,EAAE,MAAM,OAAO,CAAC,kBAAkB,CAAC,GAC/C,YAAY,CAkHd"}
|
package/dist/swarm-engine.js
CHANGED
|
@@ -5103,26 +5103,41 @@ var dt = class s {
|
|
|
5103
5103
|
]), GPUBufferUsage.UNIFORM)
|
|
5104
5104
|
]), this.bgFinalNorm = tt(this.x, this.finalNorm, this.xn);
|
|
5105
5105
|
let e = (e) => {
|
|
5106
|
-
let t =
|
|
5107
|
-
if (
|
|
5108
|
-
let
|
|
5109
|
-
|
|
5110
|
-
|
|
5111
|
-
|
|
5112
|
-
|
|
5113
|
-
|
|
5114
|
-
|
|
5115
|
-
|
|
5116
|
-
|
|
5117
|
-
this.logits,
|
|
5118
|
-
this.
|
|
5119
|
-
|
|
5120
|
-
|
|
5121
|
-
|
|
5122
|
-
|
|
5123
|
-
|
|
5124
|
-
|
|
5125
|
-
|
|
5106
|
+
let t = this.headEntry.kind, n = t === "q4" ? [P / 2, P / 16] : t === "q8" ? [P, P / 16] : [P * 4], r = i.limits.maxStorageBufferBindingSize, a = Math.floor(Math.min(...n.map((e) => r / e), r / 4) / 64) * 64;
|
|
5107
|
+
if (a < 64) throw Error("device storage binding limit is too small for the LM head");
|
|
5108
|
+
let o = [];
|
|
5109
|
+
for (let r = 0; r < e; r += a) {
|
|
5110
|
+
let i = Math.min(a, e - r), c = (e, t) => s._view(e, r * t, i * t), l = t === "f32" ? {
|
|
5111
|
+
kind: t,
|
|
5112
|
+
buf: c(this.headEntry.buf, n[0])
|
|
5113
|
+
} : {
|
|
5114
|
+
kind: t,
|
|
5115
|
+
qs: c(this.headEntry.qs, n[0]),
|
|
5116
|
+
sc: c(this.headEntry.sc, n[1])
|
|
5117
|
+
}, u = c(this.logits, 4), d = Q(l, this.xn, u, i, P);
|
|
5118
|
+
if (!this.headRows) o.push(d);
|
|
5119
|
+
else {
|
|
5120
|
+
let e = t === "f32" ? [
|
|
5121
|
+
l.buf,
|
|
5122
|
+
this.xn,
|
|
5123
|
+
u,
|
|
5124
|
+
this._shape(i, P)
|
|
5125
|
+
] : [
|
|
5126
|
+
l.qs,
|
|
5127
|
+
l.sc,
|
|
5128
|
+
this.xn,
|
|
5129
|
+
u,
|
|
5130
|
+
this._shape(i, P)
|
|
5131
|
+
];
|
|
5132
|
+
o.push({
|
|
5133
|
+
pipe: d.pipe + "_h",
|
|
5134
|
+
acc: !1,
|
|
5135
|
+
wgs: Math.ceil(i / this.headRows),
|
|
5136
|
+
bg: this._bg(this.pipes[d.pipe + "_h"], 1, e)
|
|
5137
|
+
});
|
|
5138
|
+
}
|
|
5139
|
+
}
|
|
5140
|
+
return o.length === 1 ? o[0] : { parts: o };
|
|
5126
5141
|
};
|
|
5127
5142
|
this.headOp = e(W);
|
|
5128
5143
|
{
|
|
@@ -5503,6 +5518,10 @@ var dt = class s {
|
|
|
5503
5518
|
this.skip && this.skip.has(t) || (e.setPipeline(this.pipes[t]), e.setBindGroup(0, (this._common || this.bgCommonFor)[t]), e.setBindGroup(1, n), e.dispatchWorkgroups(Math.ceil(r / i)));
|
|
5504
5519
|
}
|
|
5505
5520
|
_dop(e, t, n = 0) {
|
|
5521
|
+
if (t.parts) {
|
|
5522
|
+
for (let r of t.parts) this._dop(e, r, n);
|
|
5523
|
+
return;
|
|
5524
|
+
}
|
|
5506
5525
|
if (this.skip && this.skip.has(t.pipe)) return;
|
|
5507
5526
|
if (t.r16 && this.prefillMath === "f16" && (t = t.r16), this._gemmAt(t, n)) {
|
|
5508
5527
|
let n = t.gemm, r = this._gz ^= 1, i = this.prefillMath, a = i === "sgmatrix" && n.sgm || i === "f16" && n.r16 || n;
|