@graftland/plugin-remote 0.0.0-stage → 0.2.0-beta.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/LICENSE +202 -0
- package/README.md +76 -2
- package/README.zh-CN.md +71 -0
- package/README.zh-TW.md +71 -0
- package/dist/Auth-BElTC9_X.js +6 -0
- package/dist/Auth.d.ts +49 -0
- package/dist/Auth.d.ts.map +1 -0
- package/dist/Auth.js +8 -0
- package/dist/Auth.js.map +1 -0
- package/dist/Bootstrap-MCwivGN1.js +9 -0
- package/dist/ConfigDirectory-BCC6q2R4.js +5 -0
- package/dist/Contract-CcpSIJm4.js +121 -0
- package/dist/Contract.d.ts +71 -0
- package/dist/Contract.d.ts.map +1 -0
- package/dist/Contract.js +1 -0
- package/dist/Contract.js.map +1 -0
- package/dist/Errors-oPsTLY7l.js +45 -0
- package/dist/Errors.d.ts +67 -0
- package/dist/Errors.d.ts.map +1 -0
- package/dist/Errors.js +47 -0
- package/dist/Errors.js.map +1 -0
- package/dist/FailureGroup-BcH0XOBi.js +53 -0
- package/dist/Framing-zaYdOJnT.js +61 -0
- package/dist/Graft-BsYq3F-J.js +985 -0
- package/dist/Instance.d.ts +7 -0
- package/dist/Instance.d.ts.map +1 -0
- package/dist/Instance.js +14 -0
- package/dist/Instance.js.map +1 -0
- package/dist/Packages-B1TPk8pa.js +111 -0
- package/dist/Peer-IJgFK6mD.js +342 -0
- package/dist/ProcessObservation-DEGrEMfP.js +38 -0
- package/dist/ServeLifecycle-CJM0gG5B.js +24 -0
- package/dist/Testing.d.ts +26 -0
- package/dist/Testing.d.ts.map +1 -0
- package/dist/Testing.js +69 -0
- package/dist/Testing.js.map +1 -0
- package/dist/Transport-DULzpsgR.js +6 -0
- package/dist/Transport.d.ts +39 -0
- package/dist/Transport.d.ts.map +1 -0
- package/dist/Transport.js +8 -0
- package/dist/Transport.js.map +1 -0
- package/dist/WatchdogProtocol-BZmVxrBP.js +17 -0
- package/dist/_virtual/_rolldown/runtime.js +12 -0
- package/dist/bin.d.ts +1 -0
- package/dist/bin.js +28275 -0
- package/dist/bin.js.map +1 -0
- package/dist/childRuntime-DSqtFN9o.js +188 -0
- package/dist/cleanup-BPWr-5U9.js +13 -0
- package/dist/command-9zrHdbwT.js +7 -0
- package/dist/connectionEnded-DUgcobEd.js +9 -0
- package/dist/directTransport-DrexuPSm.js +5 -0
- package/dist/entry-SYsx9VNb.js +708 -0
- package/dist/host/auth/bearer.d.ts +5 -0
- package/dist/host/auth/bearer.d.ts.map +1 -0
- package/dist/host/auth/bearer.js +4 -0
- package/dist/host/auth/bearer.js.map +1 -0
- package/dist/host/auth/jwt.d.ts +5 -0
- package/dist/host/auth/jwt.d.ts.map +1 -0
- package/dist/host/auth/jwt.js +4 -0
- package/dist/host/auth/jwt.js.map +1 -0
- package/dist/host/auth/mtls.d.ts +8 -0
- package/dist/host/auth/mtls.d.ts.map +1 -0
- package/dist/host/auth/mtls.js +34 -0
- package/dist/host/auth/mtls.js.map +1 -0
- package/dist/host/auth/none.d.ts +3 -0
- package/dist/host/auth/none.d.ts.map +1 -0
- package/dist/host/auth/none.js +13 -0
- package/dist/host/auth/none.js.map +1 -0
- package/dist/host/command.d.ts +22 -0
- package/dist/host/command.d.ts.map +1 -0
- package/dist/host/command.js +61 -0
- package/dist/host/command.js.map +1 -0
- package/dist/host/local.d.ts +4 -0
- package/dist/host/local.d.ts.map +1 -0
- package/dist/host/local.js +52 -0
- package/dist/host/local.js.map +1 -0
- package/dist/host/unix.d.ts +11 -0
- package/dist/host/unix.d.ts.map +1 -0
- package/dist/host/unix.js +39 -0
- package/dist/host/unix.js.map +1 -0
- package/dist/host/websocket.d.ts +13 -0
- package/dist/host/websocket.d.ts.map +1 -0
- package/dist/host/websocket.js +36 -0
- package/dist/host/websocket.js.map +1 -0
- package/dist/host/worker.d.ts +4 -0
- package/dist/host/worker.d.ts.map +1 -0
- package/dist/host/worker.js +52 -0
- package/dist/host/worker.js.map +1 -0
- package/dist/importer-D7zSgqxq.js +347 -0
- package/dist/index.d.ts +29 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +86 -0
- package/dist/index.js.map +1 -0
- package/dist/internal/Certificates.js +182 -0
- package/dist/internal/Certificates.js.map +1 -0
- package/dist/internal/FailureGroup.js +55 -0
- package/dist/internal/FailureGroup.js.map +1 -0
- package/dist/internal/Limits.d.ts +1 -0
- package/dist/internal/Limits.js +17 -0
- package/dist/internal/Limits.js.map +1 -0
- package/dist/internal/Peer.js +6 -0
- package/dist/internal/Peer.js.map +1 -0
- package/dist/internal/ServeLifecycle.js +26 -0
- package/dist/internal/ServeLifecycle.js.map +1 -0
- package/dist/internal/Supervisor.js +7 -0
- package/dist/internal/Supervisor.js.map +1 -0
- package/dist/internal/assembly.d.ts +5 -0
- package/dist/internal/assembly.js +138 -0
- package/dist/internal/assembly.js.map +1 -0
- package/dist/internal/auth/mtls.js +23 -0
- package/dist/internal/auth/mtls.js.map +1 -0
- package/dist/internal/auth/token.js +19 -0
- package/dist/internal/auth/token.js.map +1 -0
- package/dist/internal/auth/tokenCredentials.d.ts +8 -0
- package/dist/internal/auth/tokenCredentials.d.ts.map +1 -0
- package/dist/internal/auth/tokenCredentials.js +33 -0
- package/dist/internal/auth/tokenCredentials.js.map +1 -0
- package/dist/internal/child.js +125 -0
- package/dist/internal/child.js.map +1 -0
- package/dist/internal/childErrors.d.ts +33 -0
- package/dist/internal/childErrors.d.ts.map +1 -0
- package/dist/internal/childErrors.js +29 -0
- package/dist/internal/childErrors.js.map +1 -0
- package/dist/internal/childRuntime.js +59 -0
- package/dist/internal/childRuntime.js.map +1 -0
- package/dist/internal/cleanup.js +15 -0
- package/dist/internal/cleanup.js.map +1 -0
- package/dist/internal/config.js +6 -0
- package/dist/internal/config.js.map +1 -0
- package/dist/internal/control.js +42 -0
- package/dist/internal/control.js.map +1 -0
- package/dist/internal/credentials.d.ts +44 -0
- package/dist/internal/credentials.d.ts.map +1 -0
- package/dist/internal/credentials.js +54 -0
- package/dist/internal/credentials.js.map +1 -0
- package/dist/internal/directTransport.d.ts +3 -0
- package/dist/internal/directTransport.js +7 -0
- package/dist/internal/directTransport.js.map +1 -0
- package/dist/internal/entry.d.ts +9 -0
- package/dist/internal/entry.d.ts.map +1 -0
- package/dist/internal/entry.js +144 -0
- package/dist/internal/entry.js.map +1 -0
- package/dist/internal/entryConfig.d.ts +202 -0
- package/dist/internal/entryConfig.d.ts.map +1 -0
- package/dist/internal/entryConfig.js +176 -0
- package/dist/internal/entryConfig.js.map +1 -0
- package/dist/internal/execution.d.ts +5 -0
- package/dist/internal/execution.js +43 -0
- package/dist/internal/execution.js.map +1 -0
- package/dist/internal/follow.js +11 -0
- package/dist/internal/follow.js.map +1 -0
- package/dist/internal/forkTree.js +7 -0
- package/dist/internal/forkTree.js.map +1 -0
- package/dist/internal/host/local.js +28 -0
- package/dist/internal/host/local.js.map +1 -0
- package/dist/internal/host/runner.js +100 -0
- package/dist/internal/host/runner.js.map +1 -0
- package/dist/internal/host.js +71 -0
- package/dist/internal/host.js.map +1 -0
- package/dist/internal/importer.js +18 -0
- package/dist/internal/importer.js.map +1 -0
- package/dist/internal/listenerStartup.js +17 -0
- package/dist/internal/listenerStartup.js.map +1 -0
- package/dist/internal/loadModule.js +20 -0
- package/dist/internal/loadModule.js.map +1 -0
- package/dist/internal/platform.js +9 -0
- package/dist/internal/platform.js.map +1 -0
- package/dist/internal/port.d.ts +13 -0
- package/dist/internal/port.d.ts.map +1 -0
- package/dist/internal/port.js +275 -0
- package/dist/internal/port.js.map +1 -0
- package/dist/internal/release.js +25 -0
- package/dist/internal/release.js.map +1 -0
- package/dist/internal/runner/Bootstrap.js +11 -0
- package/dist/internal/runner/Bootstrap.js.map +1 -0
- package/dist/internal/runner/Connection.d.ts +11 -0
- package/dist/internal/runner/Connection.js +56 -0
- package/dist/internal/runner/Connection.js.map +1 -0
- package/dist/internal/runner/Execution.js +115 -0
- package/dist/internal/runner/Execution.js.map +1 -0
- package/dist/internal/runner/Framing.d.ts +11 -0
- package/dist/internal/runner/Framing.d.ts.map +1 -0
- package/dist/internal/runner/Framing.js +63 -0
- package/dist/internal/runner/Framing.js.map +1 -0
- package/dist/internal/runner/Local.js +46 -0
- package/dist/internal/runner/Local.js.map +1 -0
- package/dist/internal/runner/Lock.js +25 -0
- package/dist/internal/runner/Lock.js.map +1 -0
- package/dist/internal/runner/Multiplex.d.ts +5 -0
- package/dist/internal/runner/Multiplex.js +49 -0
- package/dist/internal/runner/Multiplex.js.map +1 -0
- package/dist/internal/runner/Packages.d.ts +3 -0
- package/dist/internal/runner/Packages.js +108 -0
- package/dist/internal/runner/Packages.js.map +1 -0
- package/dist/internal/runner/ProcessObservation.js +40 -0
- package/dist/internal/runner/ProcessObservation.js.map +1 -0
- package/dist/internal/runner/Processes.js +83 -0
- package/dist/internal/runner/Processes.js.map +1 -0
- package/dist/internal/runner/Retention.js +13 -0
- package/dist/internal/runner/Retention.js.map +1 -0
- package/dist/internal/runner/Store.js +78 -0
- package/dist/internal/runner/Store.js.map +1 -0
- package/dist/internal/runner/Supervisor.js +375 -0
- package/dist/internal/runner/Supervisor.js.map +1 -0
- package/dist/internal/runner/Watchdog.js +47 -0
- package/dist/internal/runner/Watchdog.js.map +1 -0
- package/dist/internal/runner/WatchdogProtocol.js +19 -0
- package/dist/internal/runner/WatchdogProtocol.js.map +1 -0
- package/dist/internal/runner/Wire.d.ts +5 -0
- package/dist/internal/runner/Wire.js +64 -0
- package/dist/internal/runner/Wire.js.map +1 -0
- package/dist/internal/runner/accept.js +57 -0
- package/dist/internal/runner/accept.js.map +1 -0
- package/dist/internal/runner/command.js +9 -0
- package/dist/internal/runner/command.js.map +1 -0
- package/dist/internal/runner/connectionEnded.js +11 -0
- package/dist/internal/runner/connectionEnded.js.map +1 -0
- package/dist/internal/runner/model.d.ts +17 -0
- package/dist/internal/runner/model.d.ts.map +1 -0
- package/dist/internal/runner/model.js +231 -0
- package/dist/internal/runner/model.js.map +1 -0
- package/dist/internal/serve.js +60 -0
- package/dist/internal/serve.js.map +1 -0
- package/dist/internal/services.d.ts +18 -0
- package/dist/internal/services.d.ts.map +1 -0
- package/dist/internal/services.js +22 -0
- package/dist/internal/services.js.map +1 -0
- package/dist/internal/socketChannel.js +24 -0
- package/dist/internal/socketChannel.js.map +1 -0
- package/dist/internal/stdioChannel.js +23 -0
- package/dist/internal/stdioChannel.js.map +1 -0
- package/dist/internal/supervisorPlugin.js +1 -0
- package/dist/internal/supervisorPlugin.js.map +1 -0
- package/dist/internal/transportOptions.d.ts +18 -0
- package/dist/internal/transportOptions.d.ts.map +1 -0
- package/dist/internal/watchdogMain.d.ts +1 -0
- package/dist/internal/watchdogMain.js +55 -0
- package/dist/internal/watchdogMain.js.map +1 -0
- package/dist/internal/websocket.js +46 -0
- package/dist/internal/websocket.js.map +1 -0
- package/dist/internal/websocketServer.js +61 -0
- package/dist/internal/websocketServer.js.map +1 -0
- package/dist/internal/workerBootstrap.js +9 -0
- package/dist/internal/workerBootstrap.js.map +1 -0
- package/dist/internal/workerChannel.js +24 -0
- package/dist/internal/workerChannel.js.map +1 -0
- package/dist/internal/workerMain.d.ts +1 -0
- package/dist/internal/workerMain.js +18 -0
- package/dist/internal/workerMain.js.map +1 -0
- package/dist/port-Blbh8tms.js +285 -0
- package/dist/release-BY4Mlluy.js +23 -0
- package/dist/rolldown-runtime-DYf_mQCB.js +34 -0
- package/dist/runner/auth/bearer.d.ts +7 -0
- package/dist/runner/auth/bearer.d.ts.map +1 -0
- package/dist/runner/auth/bearer.js +42 -0
- package/dist/runner/auth/bearer.js.map +1 -0
- package/dist/runner/auth/jwt.d.ts +19 -0
- package/dist/runner/auth/jwt.d.ts.map +1 -0
- package/dist/runner/auth/jwt.js +65 -0
- package/dist/runner/auth/jwt.js.map +1 -0
- package/dist/runner/auth/mtls.d.ts +11 -0
- package/dist/runner/auth/mtls.d.ts.map +1 -0
- package/dist/runner/auth/mtls.js +48 -0
- package/dist/runner/auth/mtls.js.map +1 -0
- package/dist/runner/auth/none.d.ts +3 -0
- package/dist/runner/auth/none.d.ts.map +1 -0
- package/dist/runner/auth/none.js +13 -0
- package/dist/runner/auth/none.js.map +1 -0
- package/dist/runner/index.d.ts +3 -0
- package/dist/runner/index.d.ts.map +1 -0
- package/dist/runner/index.js +71 -0
- package/dist/runner/index.js.map +1 -0
- package/dist/runner/stdio.d.ts +7 -0
- package/dist/runner/stdio.d.ts.map +1 -0
- package/dist/runner/stdio.js +39 -0
- package/dist/runner/stdio.js.map +1 -0
- package/dist/runner/unix.d.ts +7 -0
- package/dist/runner/unix.d.ts.map +1 -0
- package/dist/runner/unix.js +42 -0
- package/dist/runner/unix.js.map +1 -0
- package/dist/runner/websocket.d.ts +28 -0
- package/dist/runner/websocket.d.ts.map +1 -0
- package/dist/runner/websocket.js +77 -0
- package/dist/runner/websocket.js.map +1 -0
- package/dist/socketChannel-KmtzF-9G.js +3658 -0
- package/dist/supervisorPlugin-Inb1S5IV.js +737 -0
- package/dist/token-v5ne2I0-.js +17 -0
- package/dist/tokenCredentials-WUJm2AKm.js +31 -0
- package/dist/websocketServer-MXcCJx0v.js +58 -0
- package/dist/workerChannel-P82YdNjh.js +27 -0
- package/package.json +69 -3
- package/src/Auth.ts +62 -0
- package/src/Contract.ts +100 -0
- package/src/Errors.ts +82 -0
- package/src/Instance.ts +12 -0
- package/src/Testing.ts +135 -0
- package/src/Transport.ts +52 -0
- package/src/bin.ts +145 -0
- package/src/host/auth/bearer.ts +10 -0
- package/src/host/auth/jwt.ts +10 -0
- package/src/host/auth/mtls.ts +48 -0
- package/src/host/auth/none.ts +13 -0
- package/src/host/command.ts +131 -0
- package/src/host/local.ts +41 -0
- package/src/host/unix.ts +65 -0
- package/src/host/websocket.ts +66 -0
- package/src/host/worker.ts +90 -0
- package/src/index.ts +115 -0
- package/src/internal/Certificates.ts +330 -0
- package/src/internal/FailureGroup.ts +176 -0
- package/src/internal/Limits.ts +12 -0
- package/src/internal/Peer.ts +4 -0
- package/src/internal/ServeLifecycle.ts +53 -0
- package/src/internal/Supervisor.ts +14 -0
- package/src/internal/assembly.ts +337 -0
- package/src/internal/auth/mtls.ts +40 -0
- package/src/internal/auth/token.ts +26 -0
- package/src/internal/auth/tokenCredentials.ts +65 -0
- package/src/internal/child.ts +323 -0
- package/src/internal/childErrors.ts +44 -0
- package/src/internal/childRuntime.ts +111 -0
- package/src/internal/cleanup.ts +34 -0
- package/src/internal/config.ts +8 -0
- package/src/internal/control.ts +49 -0
- package/src/internal/credentials.ts +112 -0
- package/src/internal/directTransport.ts +38 -0
- package/src/internal/entry.ts +288 -0
- package/src/internal/entryConfig.ts +190 -0
- package/src/internal/execution.ts +121 -0
- package/src/internal/follow.ts +17 -0
- package/src/internal/forkTree.ts +13 -0
- package/src/internal/host/local.ts +53 -0
- package/src/internal/host/runner.ts +187 -0
- package/src/internal/host.ts +209 -0
- package/src/internal/importer.ts +27 -0
- package/src/internal/listenerStartup.ts +55 -0
- package/src/internal/loadModule.ts +23 -0
- package/src/internal/platform.ts +12 -0
- package/src/internal/port.ts +623 -0
- package/src/internal/release.ts +71 -0
- package/src/internal/runner/Bootstrap.ts +9 -0
- package/src/internal/runner/Connection.ts +184 -0
- package/src/internal/runner/Execution.ts +244 -0
- package/src/internal/runner/Framing.ts +122 -0
- package/src/internal/runner/Local.ts +73 -0
- package/src/internal/runner/Lock.ts +29 -0
- package/src/internal/runner/Multiplex.ts +120 -0
- package/src/internal/runner/Packages.ts +178 -0
- package/src/internal/runner/ProcessObservation.ts +63 -0
- package/src/internal/runner/Processes.ts +109 -0
- package/src/internal/runner/Retention.ts +49 -0
- package/src/internal/runner/Store.ts +160 -0
- package/src/internal/runner/Supervisor.ts +901 -0
- package/src/internal/runner/Watchdog.ts +83 -0
- package/src/internal/runner/WatchdogProtocol.ts +12 -0
- package/src/internal/runner/Wire.ts +99 -0
- package/src/internal/runner/accept.ts +103 -0
- package/src/internal/runner/command.ts +15 -0
- package/src/internal/runner/connectionEnded.ts +28 -0
- package/src/internal/runner/model.ts +364 -0
- package/src/internal/serve.ts +117 -0
- package/src/internal/services.ts +74 -0
- package/src/internal/socketChannel.ts +64 -0
- package/src/internal/stdioChannel.ts +25 -0
- package/src/internal/supervisorPlugin.ts +67 -0
- package/src/internal/transportOptions.ts +17 -0
- package/src/internal/watchdogMain.ts +72 -0
- package/src/internal/websocket.ts +81 -0
- package/src/internal/websocketServer.ts +152 -0
- package/src/internal/workerBootstrap.ts +6 -0
- package/src/internal/workerChannel.ts +54 -0
- package/src/internal/workerMain.ts +23 -0
- package/src/runner/auth/bearer.ts +66 -0
- package/src/runner/auth/jwt.ts +114 -0
- package/src/runner/auth/mtls.ts +37 -0
- package/src/runner/auth/none.ts +13 -0
- package/src/runner/index.ts +97 -0
- package/src/runner/stdio.ts +76 -0
- package/src/runner/unix.ts +53 -0
- package/src/runner/websocket.ts +143 -0
|
@@ -0,0 +1,71 @@
|
|
|
1
|
+
import { ActivationFailed, AlreadyLoaded, ChildFailure, ContractNotFound, ModuleImportFailed } from "./internal/childErrors.js";
|
|
2
|
+
import { Service, service } from "./internal/services.js";
|
|
3
|
+
import { Cause, Schema } from "effect";
|
|
4
|
+
declare namespace Contract_d_exports {
|
|
5
|
+
export { ChildFailure, Contract, RunnerContract, UndeclaredFailure, fromModule, isContract, make, service };
|
|
6
|
+
}
|
|
7
|
+
declare const UndeclaredFailure_base: Schema.Class<UndeclaredFailure, Schema.TaggedStruct<"UndeclaredFailure", {
|
|
8
|
+
readonly original: Schema.Defect;
|
|
9
|
+
}>, Cause.YieldableError & {
|
|
10
|
+
readonly brand: unique symbol;
|
|
11
|
+
}>;
|
|
12
|
+
/** An undeclared failure still crosses the boundary, with its diagnostic value. */
|
|
13
|
+
export declare class UndeclaredFailure extends UndeclaredFailure_base {}
|
|
14
|
+
/** Pure metadata shared by the host and the executable runner bootstrap. */
|
|
15
|
+
export declare const make: <S extends Schema.Top & {
|
|
16
|
+
readonly Encoded: Schema.Json;
|
|
17
|
+
readonly DecodingServices: never;
|
|
18
|
+
readonly EncodingServices: never;
|
|
19
|
+
}, E extends Schema.Top & {
|
|
20
|
+
readonly DecodingServices: never;
|
|
21
|
+
readonly EncodingServices: never;
|
|
22
|
+
}>(options: {
|
|
23
|
+
readonly name: string;
|
|
24
|
+
readonly config: S;
|
|
25
|
+
readonly error: E;
|
|
26
|
+
readonly module: string;
|
|
27
|
+
readonly inject?: ReadonlyArray<Service>;
|
|
28
|
+
readonly provides?: ReadonlyArray<Service>;
|
|
29
|
+
}) => {
|
|
30
|
+
name: string;
|
|
31
|
+
config: S;
|
|
32
|
+
error: E;
|
|
33
|
+
module: string;
|
|
34
|
+
control: import("effect/rpc/RpcGroup").RpcGroup<import("effect/rpc/Rpc").Rpc<"Dispose", Schema.Void, Schema.Void, Schema.toCodecJson<Schema.Cause<Schema.Union<readonly [E, typeof UndeclaredFailure, Schema.Union<readonly [typeof AlreadyLoaded, typeof ContractNotFound, typeof ModuleImportFailed, typeof ActivationFailed]>]>, Schema.Defect>>, never, never> | import("effect/rpc/Rpc").Rpc<"Events", Schema.Void, import("effect/rpc/RpcSchema").Stream<Schema.Union<readonly [Schema.TaggedStruct<"Failed", {
|
|
35
|
+
readonly cause: Schema.Codec<Schema.Json, Schema.Json, never, never>;
|
|
36
|
+
}>, Schema.TaggedStruct<"Stopped", {}>, Schema.TaggedStruct<"Withdrawing", {}>]>, Schema.Never>, Schema.Never, never, never> | import("effect/rpc/Rpc").Rpc<"Load", Schema.Struct<{
|
|
37
|
+
input: Schema.Codec<Schema.Json, Schema.Json, never, never>;
|
|
38
|
+
}>, Schema.Void, Schema.toCodecJson<Schema.Cause<Schema.Union<readonly [E, typeof UndeclaredFailure, Schema.Union<readonly [typeof AlreadyLoaded, typeof ContractNotFound, typeof ModuleImportFailed, typeof ActivationFailed]>]>, Schema.Defect>>, never, never> | import("effect/rpc/Rpc").Rpc<"Logs", Schema.Void, import("effect/rpc/RpcSchema").Stream<Schema.Union<readonly [Schema.TaggedStruct<"Log", {
|
|
39
|
+
readonly entry: Schema.Struct<{
|
|
40
|
+
readonly level: Schema.Literals<readonly ["Fatal", "Error", "Warn", "Info", "Debug", "Trace", "All", "None"]>;
|
|
41
|
+
readonly message: Schema.Defect;
|
|
42
|
+
readonly cause: Schema.Codec<Schema.Json, Schema.Json, never, never>;
|
|
43
|
+
readonly annotations: Schema.$Record<Schema.String, Schema.Defect>;
|
|
44
|
+
}>;
|
|
45
|
+
readonly dropped: Schema.Int;
|
|
46
|
+
}>, Schema.TaggedStruct<"LogsEnded", {
|
|
47
|
+
readonly dropped: Schema.Int;
|
|
48
|
+
}>]>, Schema.Never>, Schema.Never, never, never>>;
|
|
49
|
+
normalizeCause: (cause: Cause.Cause<unknown>) => Cause.Cause<ActivationFailed | AlreadyLoaded | ContractNotFound | ModuleImportFailed | UndeclaredFailure | E["Type"]>;
|
|
50
|
+
inject: readonly Service<never, never>[];
|
|
51
|
+
provides: readonly Service<never, never>[];
|
|
52
|
+
"~@graftland/plugin-remote/Contract": string;
|
|
53
|
+
encodeCause: (cause: Cause.Cause<unknown>) => import("effect/Effect").Effect<Schema.Json, Schema.SchemaError, E["EncodingServices"]>;
|
|
54
|
+
decodeCause: (input: unknown, options?: import("effect/SchemaAST").ParseOptions) => import("effect/Effect").Effect<Cause.Cause<ActivationFailed | AlreadyLoaded | ContractNotFound | ModuleImportFailed | UndeclaredFailure | E["Type"]>, Schema.SchemaError, E["DecodingServices"]>;
|
|
55
|
+
};
|
|
56
|
+
/** The shared config, error codecs, and service declarations for one remote plugin. */
|
|
57
|
+
export type Contract<S extends Schema.Top & {
|
|
58
|
+
readonly Encoded: Schema.Json;
|
|
59
|
+
readonly DecodingServices: never;
|
|
60
|
+
readonly EncodingServices: never;
|
|
61
|
+
}, E extends Schema.Top & {
|
|
62
|
+
readonly DecodingServices: never;
|
|
63
|
+
readonly EncodingServices: never;
|
|
64
|
+
}> = ReturnType<typeof make<S, E>>;
|
|
65
|
+
/** Dynamic imports retain the control server and cause normalization; hosts retain the declared error type. */
|
|
66
|
+
export type RunnerContract = Contract<Schema.Codec<unknown, Schema.Json>, Schema.Codec<unknown>>;
|
|
67
|
+
export declare const isContract: (value: unknown) => value is RunnerContract;
|
|
68
|
+
/** A contract module exports either default or a named contract. */
|
|
69
|
+
export declare const fromModule: (module: unknown) => import("effect/Option").Option<RunnerContract>;
|
|
70
|
+
export { ChildFailure, Contract_d_exports, service };
|
|
71
|
+
//# sourceMappingURL=Contract.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Contract.d.ts","names":["_$__internal_childErrors0.AlreadyLoaded","_$__internal_childErrors0.ContractNotFound","_$__internal_childErrors0.ModuleImportFailed","_$__internal_childErrors0.ActivationFailed"],"sources":["../src/Contract.ts"],"mappings":";;;;;;;;;WAamB;;;qBAFN,0BAA0B;;qBAM1B,OACZ,UAAU,OAAO;WACP,SAAS,OAAO;WAChB;WACA;GAEV,UAAU,OAAO;WACP;WACA;GACT;WAEQ;WACA,QAAQ;WACR,OAAO;WACP;WACA,SAAS,cAAc;WACvB,WAAW,cAAc;;EALnB;EACE,QAAA;EACD,OAAA;EACC;;;;;;;;;;;;;;;;EAqBc,iBAAA,OAAA,MAAM,mBAAc,MAAA,MAAdG,mBAAcH,gBAAAC,mBAAAC,qBAAA,oBAAA;;;;EAW7B,cAAA,OAAA,MAAM,2CAAc,OAAA,OAAA,MAAA,OAAA,aAAA;E,+HAAAC,mB;;;YAO/B,SACX,UAAU,OAAO;WACP,SAAS,OAAO;WAChB;WACA;GAEV,UAAU,OAAO;WACP;WACA;KAEP,kBAAkB,KAAK,GAAG;;YAGlB,iBAAiB,SAC5B,OAAO,eAAe,OAAO,OAC7B,OAAO;qBAGK,aAAU,mBAAqB,SAAS;;qBAIxC,aAAU,4CAAmB,OAAA"}
|
package/dist/Contract.js
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export { d as ChildFailure, n as UndeclaredFailure, r as fromModule, i as isContract, a as make, s as service } from "./Contract-CcpSIJm4.js";
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Contract.js","names":["Control.make"],"sources":["../src/Contract.ts"],"sourcesContent":["import { ChildFailure } from \"./internal/childErrors\"\nexport { ChildFailure }\nimport { Array, Cause, Predicate, Schema } from \"effect\"\n\nimport type { Service } from \"./internal/services\"\nimport * as Control from \"./internal/control\"\nexport { service } from \"./internal/services\"\n\nconst TypeId = \"~@graftland/plugin-remote/Contract\"\n\n/** An undeclared failure still crosses the boundary, with its diagnostic value. */\nexport class UndeclaredFailure extends Schema.TaggedError<\n\tUndeclaredFailure,\n\t{ readonly brand: unique symbol }\n>()(\"UndeclaredFailure\", { original: Schema.Defect({ includeStack: true }) }) {}\n\n/** Pure metadata shared by the host and the executable runner bootstrap. */\nexport const make = <\n\tS extends Schema.Top & {\n\t\treadonly Encoded: Schema.Json\n\t\treadonly DecodingServices: never\n\t\treadonly EncodingServices: never\n\t},\n\tE extends Schema.Top & {\n\t\treadonly DecodingServices: never\n\t\treadonly EncodingServices: never\n\t},\n>(options: {\n\treadonly name: string\n\treadonly config: S\n\treadonly error: E\n\treadonly module: string\n\treadonly inject?: ReadonlyArray<Service>\n\treadonly provides?: ReadonlyArray<Service>\n}) => {\n\t// Keys are runtime strings; tuple types cannot distinguish independently created keys.\n\tconst keys = Array.map(\n\t\t[...(options.inject ?? []), ...(options.provides ?? [])],\n\t\t(service) => service.key.key,\n\t)\n\tif (\n\t\tArray.dedupe(keys).length !== keys.length ||\n\t\tkeys.includes(Control.endpoint)\n\t)\n\t\tthrow new Error(\n\t\t\t\"Service keys must be unique within a remote contract and must not use the control endpoint\",\n\t\t)\n\tconst failure = Schema.Union([options.error, UndeclaredFailure, ChildFailure])\n\tconst codec = Schema.toCodecJson(\n\t\tSchema.Cause(failure, Schema.Defect({ includeStack: true })),\n\t)\n\tconst declared = Schema.is(failure)\n\tconst normalizeCause = (cause: Cause.Cause<unknown>) =>\n\t\tCause.map(cause, (error) =>\n\t\t\tdeclared(error) ? error : UndeclaredFailure.make({ original: error }),\n\t\t)\n\treturn {\n\t\t...options,\n\t\tcontrol: Control.make(codec),\n\t\tnormalizeCause,\n\t\tinject: options.inject ?? [],\n\t\tprovides: options.provides ?? [],\n\t\t[TypeId]: TypeId,\n\t\tencodeCause: (cause: Cause.Cause<unknown>) =>\n\t\t\tnormalizeCause(cause).pipe(Schema.encodeEffect(codec)),\n\t\tdecodeCause: Schema.decodeUnknownEffect(codec),\n\t}\n}\n\n/** The shared config, error codecs, and service declarations for one remote plugin. */\nexport type Contract<\n\tS extends Schema.Top & {\n\t\treadonly Encoded: Schema.Json\n\t\treadonly DecodingServices: never\n\t\treadonly EncodingServices: never\n\t},\n\tE extends Schema.Top & {\n\t\treadonly DecodingServices: never\n\t\treadonly EncodingServices: never\n\t},\n> = ReturnType<typeof make<S, E>>\n\n/** Dynamic imports retain the control server and cause normalization; hosts retain the declared error type. */\nexport type RunnerContract = Contract<\n\tSchema.Codec<unknown, Schema.Json>,\n\tSchema.Codec<unknown>\n>\n\nexport const isContract = (value: unknown): value is RunnerContract =>\n\tPredicate.hasProperty(value, TypeId) && value[TypeId] === TypeId\n\n/** A contract module exports either default or a named contract. */\nexport const fromModule = (module: unknown) =>\n\tArray.findFirst(\n\t\t[\n\t\t\tPredicate.hasProperty(module, \"default\") ? module.default : undefined,\n\t\t\tPredicate.hasProperty(module, \"contract\") ? module.contract : undefined,\n\t\t],\n\t\tisContract,\n\t)\n"],"mappings":";;;;;;;;;;;;;;AAQA,MAAM,SAAS;;AAGf,IAAa,oBAAb,cAAuC,OAAO,YAG5C,CAAC,CAAC,qBAAqB,EAAE,UAAU,OAAO,OAAO,EAAE,cAAc,KAAK,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;;AAG/E,MAAa,QAUX,YAOI;CAEL,MAAM,OAAO,MAAM,IAClB,CAAC,GAAI,QAAQ,UAAU,CAAC,GAAI,GAAI,QAAQ,YAAY,CAAC,CAAE,IACtD,YAAY,QAAQ,IAAI,GAC1B;CACA,IACC,MAAM,OAAO,IAAI,CAAC,CAAC,WAAW,KAAK,UACnC,KAAK,SAAS,kCAAgB,GAE9B,MAAM,IAAI,MACT,4FACD;CACD,MAAM,UAAU,OAAO,MAAM;EAAC,QAAQ;EAAO;EAAmB;CAAY,CAAC;CAC7E,MAAM,QAAQ,OAAO,YACpB,OAAO,MAAM,SAAS,OAAO,OAAO,EAAE,cAAc,KAAK,CAAC,CAAC,CAC5D;CACA,MAAM,WAAW,OAAO,GAAG,OAAO;CAClC,MAAM,kBAAkB,UACvB,MAAM,IAAI,QAAQ,UACjB,SAAS,KAAK,IAAI,QAAQ,kBAAkB,KAAK,EAAE,UAAU,MAAM,CAAC,CACrE;CACD,OAAO;EACN,GAAG;EACH,SAASA,OAAa,KAAK;EAC3B;EACA,QAAQ,QAAQ,UAAU,CAAC;EAC3B,UAAU,QAAQ,YAAY,CAAC;GAC9B,SAAS;EACV,cAAc,UACb,eAAe,KAAK,CAAC,CAAC,KAAK,OAAO,aAAa,KAAK,CAAC;EACtD,aAAa,OAAO,oBAAoB,KAAK;CAC9C;AACD;AAqBA,MAAa,cAAc,UAC1B,UAAU,YAAY,OAAO,MAAM,KAAK,MAAM,YAAY;;AAG3D,MAAa,cAAc,WAC1B,MAAM,UACL,CACC,UAAU,YAAY,QAAQ,SAAS,IAAI,OAAO,UAAU,KAAA,GAC5D,UAAU,YAAY,QAAQ,UAAU,IAAI,OAAO,WAAW,KAAA,CAC/D,GACA,UACD"}
|
|
@@ -0,0 +1,45 @@
|
|
|
1
|
+
import { Option, Schema } from "effect";
|
|
2
|
+
// packages/remote/src/Errors.ts
|
|
3
|
+
var ProcessExited = class extends Schema.TaggedError()("ProcessExited", {
|
|
4
|
+
pid: Schema.Option(Schema.Int),
|
|
5
|
+
threadId: Schema.optionalKey(Schema.Int),
|
|
6
|
+
exitCode: Schema.NullOr(Schema.Int),
|
|
7
|
+
stderr: Schema.String,
|
|
8
|
+
statusCause: Schema.Cause(Schema.Unknown, Schema.Unknown)
|
|
9
|
+
}) {
|
|
10
|
+
get message() {
|
|
11
|
+
return this.threadId !== void 0 ? `Remote worker ${this.threadId} exited unexpectedly (${this.exitCode})` : `Remote process${Option.isSome(this.pid) ? ` ${this.pid.value}` : ""} exited unexpectedly (${this.exitCode ?? "signal"})`;
|
|
12
|
+
}
|
|
13
|
+
};
|
|
14
|
+
var TransportError = class extends Schema.TaggedError()("TransportError", { cause: Schema.Cause(Schema.Unknown, Schema.Unknown) }) {};
|
|
15
|
+
/** The remote export lease was withdrawn; host consumers must drain before Dispose. */
|
|
16
|
+
var RemoteWithdrawn = class extends Schema.TaggedError()("RemoteWithdrawn", {}) {
|
|
17
|
+
get message() {
|
|
18
|
+
return "Remote services were withdrawn";
|
|
19
|
+
}
|
|
20
|
+
};
|
|
21
|
+
/** Infrastructure failure at the plugin boundary; the complete underlying cause remains inspectable. */
|
|
22
|
+
var RemoteError = class extends Schema.TaggedError()("RemoteError", { cause: Schema.Cause(Schema.Unknown, Schema.Unknown) }) {};
|
|
23
|
+
/** A network execution needs a stable logical identity across host restarts. */
|
|
24
|
+
var MissingInstance = class extends Schema.TaggedError()("MissingInstance", {}) {
|
|
25
|
+
get message() {
|
|
26
|
+
return "A runner connection requires an instance or a loader entry id; set connect.instance when loading without Loader.";
|
|
27
|
+
}
|
|
28
|
+
};
|
|
29
|
+
/** Dispose completed, but Node still owns live handles; process-scope cleanup must terminate it. */
|
|
30
|
+
var LocalTerminationTimeout = class extends Schema.TaggedError()("LocalTerminationTimeout", {
|
|
31
|
+
pid: Schema.optionalKey(Schema.Int),
|
|
32
|
+
threadId: Schema.optionalKey(Schema.Int)
|
|
33
|
+
}) {
|
|
34
|
+
get message() {
|
|
35
|
+
return this.threadId !== void 0 ? `Remote worker ${this.threadId} did not exit within one second after Dispose; terminating it` : `Remote process ${this.pid} did not exit within one second after Dispose; terminating it`;
|
|
36
|
+
}
|
|
37
|
+
};
|
|
38
|
+
/** A credential source failed; the original failure remains available. */
|
|
39
|
+
var CredentialsError = class extends Schema.TaggedError()("CredentialsError", { cause: Schema.Cause(Schema.Unknown, Schema.Unknown) }) {};
|
|
40
|
+
var AuthenticationFailed = class extends Schema.TaggedError()("AuthenticationFailed", {
|
|
41
|
+
reason: Schema.Literals(["missing", "invalid"]),
|
|
42
|
+
challenge: Schema.optionalKey(Schema.String),
|
|
43
|
+
cause: Schema.optionalKey(Schema.Cause(Schema.Unknown, Schema.Unknown))
|
|
44
|
+
}) {};
|
|
45
|
+
export { ProcessExited as a, TransportError as c, MissingInstance as i, CredentialsError as n, RemoteError as o, LocalTerminationTimeout as r, RemoteWithdrawn as s, AuthenticationFailed as t };
|
package/dist/Errors.d.ts
ADDED
|
@@ -0,0 +1,67 @@
|
|
|
1
|
+
import { Schema } from "effect";
|
|
2
|
+
declare const ProcessExited_base: Schema.Class<ProcessExited, Schema.TaggedStruct<"ProcessExited", {
|
|
3
|
+
readonly pid: Schema.Option<Schema.Int>;
|
|
4
|
+
readonly threadId: Schema.optionalKey<Schema.Int>;
|
|
5
|
+
readonly exitCode: Schema.NullOr<Schema.Int>;
|
|
6
|
+
readonly stderr: Schema.String;
|
|
7
|
+
readonly statusCause: Schema.Cause<Schema.Unknown, Schema.Unknown>;
|
|
8
|
+
}>, import("effect/Cause").YieldableError & {
|
|
9
|
+
readonly brand: unique symbol;
|
|
10
|
+
}>;
|
|
11
|
+
export declare class ProcessExited extends ProcessExited_base {
|
|
12
|
+
get message(): string;
|
|
13
|
+
}
|
|
14
|
+
declare const TransportError_base: Schema.Class<TransportError, Schema.TaggedStruct<"TransportError", {
|
|
15
|
+
readonly cause: Schema.Cause<Schema.Unknown, Schema.Unknown>;
|
|
16
|
+
}>, import("effect/Cause").YieldableError & {
|
|
17
|
+
readonly brand: unique symbol;
|
|
18
|
+
}>;
|
|
19
|
+
export declare class TransportError extends TransportError_base {}
|
|
20
|
+
declare const RemoteWithdrawn_base: Schema.Class<RemoteWithdrawn, Schema.TaggedStruct<"RemoteWithdrawn", {}>, import("effect/Cause").YieldableError & {
|
|
21
|
+
readonly brand: unique symbol;
|
|
22
|
+
}>;
|
|
23
|
+
/** The remote export lease was withdrawn; host consumers must drain before Dispose. */
|
|
24
|
+
export declare class RemoteWithdrawn extends RemoteWithdrawn_base {
|
|
25
|
+
get message(): string;
|
|
26
|
+
}
|
|
27
|
+
declare const RemoteError_base: Schema.Class<RemoteError, Schema.TaggedStruct<"RemoteError", {
|
|
28
|
+
readonly cause: Schema.Cause<Schema.Unknown, Schema.Unknown>;
|
|
29
|
+
}>, import("effect/Cause").YieldableError & {
|
|
30
|
+
readonly brand: unique symbol;
|
|
31
|
+
}>;
|
|
32
|
+
/** Infrastructure failure at the plugin boundary; the complete underlying cause remains inspectable. */
|
|
33
|
+
export declare class RemoteError extends RemoteError_base {}
|
|
34
|
+
declare const MissingInstance_base: Schema.Class<MissingInstance, Schema.TaggedStruct<"MissingInstance", {}>, import("effect/Cause").YieldableError & {
|
|
35
|
+
readonly brand: unique symbol;
|
|
36
|
+
}>;
|
|
37
|
+
/** A network execution needs a stable logical identity across host restarts. */
|
|
38
|
+
export declare class MissingInstance extends MissingInstance_base {
|
|
39
|
+
get message(): string;
|
|
40
|
+
}
|
|
41
|
+
declare const LocalTerminationTimeout_base: Schema.Class<LocalTerminationTimeout, Schema.TaggedStruct<"LocalTerminationTimeout", {
|
|
42
|
+
readonly pid: Schema.optionalKey<Schema.Int>;
|
|
43
|
+
readonly threadId: Schema.optionalKey<Schema.Int>;
|
|
44
|
+
}>, import("effect/Cause").YieldableError & {
|
|
45
|
+
readonly brand: unique symbol;
|
|
46
|
+
}>;
|
|
47
|
+
/** Dispose completed, but Node still owns live handles; process-scope cleanup must terminate it. */
|
|
48
|
+
export declare class LocalTerminationTimeout extends LocalTerminationTimeout_base {
|
|
49
|
+
get message(): string;
|
|
50
|
+
}
|
|
51
|
+
declare const CredentialsError_base: Schema.Class<CredentialsError, Schema.TaggedStruct<"CredentialsError", {
|
|
52
|
+
readonly cause: Schema.Cause<Schema.Unknown, Schema.Unknown>;
|
|
53
|
+
}>, import("effect/Cause").YieldableError & {
|
|
54
|
+
readonly brand: unique symbol;
|
|
55
|
+
}>;
|
|
56
|
+
/** A credential source failed; the original failure remains available. */
|
|
57
|
+
export declare class CredentialsError extends CredentialsError_base {}
|
|
58
|
+
declare const AuthenticationFailed_base: Schema.Class<AuthenticationFailed, Schema.TaggedStruct<"AuthenticationFailed", {
|
|
59
|
+
readonly reason: Schema.Literals<readonly ["missing", "invalid"]>;
|
|
60
|
+
readonly challenge: Schema.optionalKey<Schema.String>;
|
|
61
|
+
readonly cause: Schema.optionalKey<Schema.Cause<Schema.Unknown, Schema.Unknown>>;
|
|
62
|
+
}>, import("effect/Cause").YieldableError & {
|
|
63
|
+
readonly brand: unique symbol;
|
|
64
|
+
}>;
|
|
65
|
+
export declare class AuthenticationFailed extends AuthenticationFailed_base {}
|
|
66
|
+
export {};
|
|
67
|
+
//# sourceMappingURL=Errors.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Errors.d.ts","names":[],"sources":["../src/Errors.ts"],"mappings":";;;;;;;;WAImB;;qBAFN,sBAAsB;MAUrB;;;;;WAQK;;qBAFN,uBAAuB;;WAUjB;;;qBAFN,wBAAwB;MAIvB;;;;;WAQK;;;qBAFN,oBAAoB;;WAQd;;;qBAFN,wBAAwB;MAIvB;;;;;;WAQK;;;qBAFN,gCAAgC;MAO/B;;;;;WAUK;;;qBAFN,yBAAyB;;;;;;WASnB;;qBAFN,6BAA6B"}
|
package/dist/Errors.js
ADDED
|
@@ -0,0 +1,47 @@
|
|
|
1
|
+
import { Option, Schema } from "effect";
|
|
2
|
+
// src/Errors.ts
|
|
3
|
+
var ProcessExited = class extends Schema.TaggedError()("ProcessExited", {
|
|
4
|
+
pid: Schema.Option(Schema.Int),
|
|
5
|
+
threadId: Schema.optionalKey(Schema.Int),
|
|
6
|
+
exitCode: Schema.NullOr(Schema.Int),
|
|
7
|
+
stderr: Schema.String,
|
|
8
|
+
statusCause: Schema.Cause(Schema.Unknown, Schema.Unknown)
|
|
9
|
+
}) {
|
|
10
|
+
get message() {
|
|
11
|
+
return this.threadId !== void 0 ? `Remote worker ${this.threadId} exited unexpectedly (${this.exitCode})` : `Remote process${Option.isSome(this.pid) ? ` ${this.pid.value}` : ""} exited unexpectedly (${this.exitCode ?? "signal"})`;
|
|
12
|
+
}
|
|
13
|
+
};
|
|
14
|
+
var TransportError = class extends Schema.TaggedError()("TransportError", { cause: Schema.Cause(Schema.Unknown, Schema.Unknown) }) {};
|
|
15
|
+
/** The remote export lease was withdrawn; host consumers must drain before Dispose. */
|
|
16
|
+
var RemoteWithdrawn = class extends Schema.TaggedError()("RemoteWithdrawn", {}) {
|
|
17
|
+
get message() {
|
|
18
|
+
return "Remote services were withdrawn";
|
|
19
|
+
}
|
|
20
|
+
};
|
|
21
|
+
/** Infrastructure failure at the plugin boundary; the complete underlying cause remains inspectable. */
|
|
22
|
+
var RemoteError = class extends Schema.TaggedError()("RemoteError", { cause: Schema.Cause(Schema.Unknown, Schema.Unknown) }) {};
|
|
23
|
+
/** A network execution needs a stable logical identity across host restarts. */
|
|
24
|
+
var MissingInstance = class extends Schema.TaggedError()("MissingInstance", {}) {
|
|
25
|
+
get message() {
|
|
26
|
+
return "A runner connection requires an instance or a loader entry id; set connect.instance when loading without Loader.";
|
|
27
|
+
}
|
|
28
|
+
};
|
|
29
|
+
/** Dispose completed, but Node still owns live handles; process-scope cleanup must terminate it. */
|
|
30
|
+
var LocalTerminationTimeout = class extends Schema.TaggedError()("LocalTerminationTimeout", {
|
|
31
|
+
pid: Schema.optionalKey(Schema.Int),
|
|
32
|
+
threadId: Schema.optionalKey(Schema.Int)
|
|
33
|
+
}) {
|
|
34
|
+
get message() {
|
|
35
|
+
return this.threadId !== void 0 ? `Remote worker ${this.threadId} did not exit within one second after Dispose; terminating it` : `Remote process ${this.pid} did not exit within one second after Dispose; terminating it`;
|
|
36
|
+
}
|
|
37
|
+
};
|
|
38
|
+
/** A credential source failed; the original failure remains available. */
|
|
39
|
+
var CredentialsError = class extends Schema.TaggedError()("CredentialsError", { cause: Schema.Cause(Schema.Unknown, Schema.Unknown) }) {};
|
|
40
|
+
var AuthenticationFailed = class extends Schema.TaggedError()("AuthenticationFailed", {
|
|
41
|
+
reason: Schema.Literals(["missing", "invalid"]),
|
|
42
|
+
challenge: Schema.optionalKey(Schema.String),
|
|
43
|
+
cause: Schema.optionalKey(Schema.Cause(Schema.Unknown, Schema.Unknown))
|
|
44
|
+
}) {};
|
|
45
|
+
export { AuthenticationFailed, CredentialsError, LocalTerminationTimeout, MissingInstance, ProcessExited, RemoteError, RemoteWithdrawn, TransportError };
|
|
46
|
+
|
|
47
|
+
//# sourceMappingURL=Errors.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Errors.js","names":[],"sources":["../src/Errors.ts"],"sourcesContent":["import { Option, Schema } from \"effect\"\n\nexport class ProcessExited extends Schema.TaggedError<\n\tProcessExited,\n\t{ readonly brand: unique symbol }\n>()(\"ProcessExited\", {\n\tpid: Schema.Option(Schema.Int),\n\tthreadId: Schema.optionalKey(Schema.Int),\n\texitCode: Schema.NullOr(Schema.Int),\n\tstderr: Schema.String,\n\tstatusCause: Schema.Cause(Schema.Unknown, Schema.Unknown),\n}) {\n\toverride get message() {\n\t\treturn this.threadId !== undefined\n\t\t\t? `Remote worker ${this.threadId} exited unexpectedly (${this.exitCode})`\n\t\t\t: `Remote process${Option.isSome(this.pid) ? ` ${this.pid.value}` : \"\"} exited unexpectedly (${this.exitCode ?? \"signal\"})`\n\t}\n}\nexport class TransportError extends Schema.TaggedError<\n\tTransportError,\n\t{ readonly brand: unique symbol }\n>()(\"TransportError\", {\n\tcause: Schema.Cause(Schema.Unknown, Schema.Unknown),\n}) {}\n\n/** The remote export lease was withdrawn; host consumers must drain before Dispose. */\nexport class RemoteWithdrawn extends Schema.TaggedError<\n\tRemoteWithdrawn,\n\t{ readonly brand: unique symbol }\n>()(\"RemoteWithdrawn\", {}) {\n\toverride get message() {\n\t\treturn \"Remote services were withdrawn\"\n\t}\n}\n\n/** Infrastructure failure at the plugin boundary; the complete underlying cause remains inspectable. */\nexport class RemoteError extends Schema.TaggedError<\n\tRemoteError,\n\t{ readonly brand: unique symbol }\n>()(\"RemoteError\", { cause: Schema.Cause(Schema.Unknown, Schema.Unknown) }) {}\n\n/** A network execution needs a stable logical identity across host restarts. */\nexport class MissingInstance extends Schema.TaggedError<\n\tMissingInstance,\n\t{ readonly brand: unique symbol }\n>()(\"MissingInstance\", {}) {\n\toverride get message() {\n\t\treturn \"A runner connection requires an instance or a loader entry id; set connect.instance when loading without Loader.\"\n\t}\n}\n\n/** Dispose completed, but Node still owns live handles; process-scope cleanup must terminate it. */\nexport class LocalTerminationTimeout extends Schema.TaggedError<\n\tLocalTerminationTimeout,\n\t{ readonly brand: unique symbol }\n>()(\"LocalTerminationTimeout\", {\n\tpid: Schema.optionalKey(Schema.Int),\n\tthreadId: Schema.optionalKey(Schema.Int),\n}) {\n\toverride get message() {\n\t\treturn this.threadId !== undefined\n\t\t\t? `Remote worker ${this.threadId} did not exit within one second after Dispose; terminating it`\n\t\t\t: `Remote process ${this.pid} did not exit within one second after Dispose; terminating it`\n\t}\n}\n\n/** A credential source failed; the original failure remains available. */\nexport class CredentialsError extends Schema.TaggedError<\n\tCredentialsError,\n\t{ readonly brand: unique symbol }\n>()(\"CredentialsError\", {\n\tcause: Schema.Cause(Schema.Unknown, Schema.Unknown),\n}) {}\n\nexport class AuthenticationFailed extends Schema.TaggedError<\n\tAuthenticationFailed,\n\t{ readonly brand: unique symbol }\n>()(\"AuthenticationFailed\", {\n\treason: Schema.Literals([\"missing\", \"invalid\"]),\n\tchallenge: Schema.optionalKey(Schema.String),\n\tcause: Schema.optionalKey(Schema.Cause(Schema.Unknown, Schema.Unknown)),\n}) {}\n"],"mappings":";;AAEA,IAAa,gBAAb,cAAmC,OAAO,YAGxC,CAAC,CAAC,iBAAiB;CACpB,KAAK,OAAO,OAAO,OAAO,GAAG;CAC7B,UAAU,OAAO,YAAY,OAAO,GAAG;CACvC,UAAU,OAAO,OAAO,OAAO,GAAG;CAClC,QAAQ,OAAO;CACf,aAAa,OAAO,MAAM,OAAO,SAAS,OAAO,OAAO;AACzD,CAAC,CAAC,CAAC;CACF,IAAa,UAAU;EACtB,OAAO,KAAK,aAAa,KAAA,IACtB,iBAAiB,KAAK,SAAS,wBAAwB,KAAK,SAAS,KACrE,iBAAiB,OAAO,OAAO,KAAK,GAAG,IAAI,IAAI,KAAK,IAAI,UAAU,GAAG,wBAAwB,KAAK,YAAY,SAAS;CAC3H;AACD;AACA,IAAa,iBAAb,cAAoC,OAAO,YAGzC,CAAC,CAAC,kBAAkB,EACrB,OAAO,OAAO,MAAM,OAAO,SAAS,OAAO,OAAO,EACnD,CAAC,CAAC,CAAC,CAAC;;AAGJ,IAAa,kBAAb,cAAqC,OAAO,YAG1C,CAAC,CAAC,mBAAmB,CAAC,CAAC,CAAC,CAAC;CAC1B,IAAa,UAAU;EACtB,OAAO;CACR;AACD;;AAGA,IAAa,cAAb,cAAiC,OAAO,YAGtC,CAAC,CAAC,eAAe,EAAE,OAAO,OAAO,MAAM,OAAO,SAAS,OAAO,OAAO,EAAE,CAAC,CAAC,CAAC,CAAC;;AAG7E,IAAa,kBAAb,cAAqC,OAAO,YAG1C,CAAC,CAAC,mBAAmB,CAAC,CAAC,CAAC,CAAC;CAC1B,IAAa,UAAU;EACtB,OAAO;CACR;AACD;;AAGA,IAAa,0BAAb,cAA6C,OAAO,YAGlD,CAAC,CAAC,2BAA2B;CAC9B,KAAK,OAAO,YAAY,OAAO,GAAG;CAClC,UAAU,OAAO,YAAY,OAAO,GAAG;AACxC,CAAC,CAAC,CAAC;CACF,IAAa,UAAU;EACtB,OAAO,KAAK,aAAa,KAAA,IACtB,iBAAiB,KAAK,SAAS,iEAC/B,kBAAkB,KAAK,IAAI;CAC/B;AACD;;AAGA,IAAa,mBAAb,cAAsC,OAAO,YAG3C,CAAC,CAAC,oBAAoB,EACvB,OAAO,OAAO,MAAM,OAAO,SAAS,OAAO,OAAO,EACnD,CAAC,CAAC,CAAC,CAAC;AAEJ,IAAa,uBAAb,cAA0C,OAAO,YAG/C,CAAC,CAAC,wBAAwB;CAC3B,QAAQ,OAAO,SAAS,CAAC,WAAW,SAAS,CAAC;CAC9C,WAAW,OAAO,YAAY,OAAO,MAAM;CAC3C,OAAO,OAAO,YAAY,OAAO,MAAM,OAAO,SAAS,OAAO,OAAO,CAAC;AACvE,CAAC,CAAC,CAAC,CAAC"}
|
|
@@ -0,0 +1,53 @@
|
|
|
1
|
+
import { n as close, t as ReleaseInterrupted } from "./release-BY4Mlluy.js";
|
|
2
|
+
import { Array, Cause, Data, Deferred, Effect, Exit, Fiber, FiberSet, Ref, Schema, Scope, TxRef } from "effect";
|
|
3
|
+
// packages/remote/src/internal/FailureGroup.ts
|
|
4
|
+
const State = Data.taggedEnum();
|
|
5
|
+
/** One owner for first failure, transaction wakeups, and interruption of sibling work. */
|
|
6
|
+
const make = () => Effect.gen(function* () {
|
|
7
|
+
const fibers = yield* FiberSet.make();
|
|
8
|
+
const state = yield* TxRef.make(State.Open());
|
|
9
|
+
const failures = yield* Ref.make(Cause.empty);
|
|
10
|
+
const cleanup = yield* Ref.make(Cause.empty);
|
|
11
|
+
const check = TxRef.get(state).pipe(Effect.flatMap((s) => s._tag === "Failed" ? Effect.failCause(s.cause) : s._tag === "Closed" ? Effect.interrupt : Effect.void));
|
|
12
|
+
const publish = (cause) => TxRef.update(state, (s) => s._tag === "Open" ? State.Failed({ cause }) : s);
|
|
13
|
+
const observe = (effect) => Effect.uninterruptibleMask((restore) => Effect.gen(function* () {
|
|
14
|
+
const scope = yield* Scope.make();
|
|
15
|
+
const ownerId = yield* Effect.withFiber((self) => Effect.succeed(self.id));
|
|
16
|
+
const worker = yield* Effect.forkIn(restore(Scope.provide(scope)(effect)), scope);
|
|
17
|
+
const waiting = yield* Effect.exit(restore(Fiber.await(worker)));
|
|
18
|
+
if (Exit.isFailure(waiting)) yield* Fiber.interrupt(worker);
|
|
19
|
+
const body = yield* Fiber.await(worker);
|
|
20
|
+
const closed = yield* Effect.exit(close(scope, body));
|
|
21
|
+
const expected = Exit.isFailure(waiting) && Exit.isFailure(body) && Array.every(body.cause.reasons, (reason) => reason._tag === "Interrupt" && reason.fiberId === ownerId);
|
|
22
|
+
const bodyCause = Exit.isFailure(body) && !expected ? body.cause : Cause.empty;
|
|
23
|
+
const releaseCause = Exit.isFailure(closed) && !Cause.hasInterruptsOnly(closed.cause) ? closed.cause : Cause.empty;
|
|
24
|
+
const failure = Cause.combine(bodyCause, releaseCause);
|
|
25
|
+
const closing = Cause.combine(Cause.hasInterrupts(bodyCause) || Array.some(bodyCause.reasons, (reason) => reason._tag === "Die" && Schema.is(ReleaseInterrupted)(reason.defect)) ? bodyCause : Cause.empty, releaseCause);
|
|
26
|
+
yield* Ref.update(cleanup, (cause) => Cause.combine(cause, closing));
|
|
27
|
+
if (failure.reasons.length > 0) {
|
|
28
|
+
yield* Ref.update(failures, (cause) => Cause.combine(cause, failure));
|
|
29
|
+
yield* publish(failure);
|
|
30
|
+
yield* Deferred.failCause(fibers.deferred, failure);
|
|
31
|
+
}
|
|
32
|
+
if (Exit.isFailure(closed)) return yield* Effect.failCause(Exit.isFailure(body) ? Cause.combine(body.cause, closed.cause) : closed.cause);
|
|
33
|
+
if (Exit.isFailure(waiting) && Exit.isSuccess(body)) return yield* Effect.failCause(waiting.cause);
|
|
34
|
+
return yield* body;
|
|
35
|
+
}));
|
|
36
|
+
yield* FiberSet.join(fibers).pipe(Effect.catchCause((cause) => publish(cause).pipe(Effect.andThen(FiberSet.clear(fibers)), Effect.uninterruptible)), Effect.forkScoped);
|
|
37
|
+
const failure = Effect.tx(check.pipe(Effect.andThen(Effect.txRetry)));
|
|
38
|
+
const failCause = (cause) => FiberSet.run(fibers, observe(Effect.failCause(cause))).pipe(Effect.asVoid);
|
|
39
|
+
const close$1 = TxRef.update(state, (s) => s._tag === "Open" ? State.Closed() : s).pipe(Effect.andThen(FiberSet.clear(fibers)), Effect.andThen(Ref.get(cleanup)), Effect.flatMap((cause) => cause.reasons.length > 0 ? Effect.failCause(cause) : Effect.void), Effect.uninterruptible);
|
|
40
|
+
yield* Effect.addFinalizer(() => close$1.pipe(Effect.orDie));
|
|
41
|
+
return {
|
|
42
|
+
await: failure,
|
|
43
|
+
check,
|
|
44
|
+
cause: Ref.get(failures),
|
|
45
|
+
runtime: () => FiberSet.runtime(fibers)().pipe(Effect.map((run) => (effect) => run(check.pipe(Effect.andThen(observe(effect)))))),
|
|
46
|
+
run: (effect) => FiberSet.run(fibers, check.pipe(Effect.andThen(observe(effect)))),
|
|
47
|
+
fail: (error) => failCause(Cause.fail(error)),
|
|
48
|
+
failCause,
|
|
49
|
+
race: (effect) => check.pipe(Effect.andThen(Effect.raceFirst(effect, failure))),
|
|
50
|
+
close: close$1
|
|
51
|
+
};
|
|
52
|
+
});
|
|
53
|
+
export { make as t };
|
|
@@ -0,0 +1,61 @@
|
|
|
1
|
+
import { Array, Effect, MutableRef, Option, Result, Schema } from "effect";
|
|
2
|
+
// packages/remote/src/internal/runner/Framing.ts
|
|
3
|
+
var FrameError = class extends Schema.TaggedError()("FrameError", { detail: Schema.String }) {
|
|
4
|
+
get message() {
|
|
5
|
+
return this.detail;
|
|
6
|
+
}
|
|
7
|
+
};
|
|
8
|
+
/** A complete byte stream ended; malformed trailing bytes remain FrameError. */
|
|
9
|
+
var EndOfStream = class extends Schema.TaggedError()("RunnerEndOfStream", {}) {
|
|
10
|
+
get message() {
|
|
11
|
+
return "Runner byte channel ended";
|
|
12
|
+
}
|
|
13
|
+
};
|
|
14
|
+
const maxPayload = 1048576;
|
|
15
|
+
const invalid = (detail) => FrameError.make({ detail });
|
|
16
|
+
/** Version 2 carries only channel and length; request admission belongs to port. */
|
|
17
|
+
const encode = (frame) => Effect.gen(function* () {
|
|
18
|
+
if (frame.payload.byteLength > 1048576) return yield* invalid("Runner frame exceeds the payload limit");
|
|
19
|
+
const bytes = new Uint8Array(8 + frame.payload.byteLength);
|
|
20
|
+
bytes.set([
|
|
21
|
+
2,
|
|
22
|
+
frame.channel,
|
|
23
|
+
0,
|
|
24
|
+
0
|
|
25
|
+
]);
|
|
26
|
+
new DataView(bytes.buffer).setUint32(4, frame.payload.byteLength);
|
|
27
|
+
bytes.set(frame.payload, 8);
|
|
28
|
+
return bytes;
|
|
29
|
+
});
|
|
30
|
+
/** Check a message boundary; the decoder still validates the frame's contents. */
|
|
31
|
+
const isCompleteFrame = (bytes) => bytes.byteLength >= 8 && new DataView(bytes.buffer, bytes.byteOffset, bytes.byteLength).getUint32(4) === bytes.byteLength - 8;
|
|
32
|
+
/** The decoder owns its byte buffer. Results expose malformed frames without throwing through a generator. */
|
|
33
|
+
const decoder = () => {
|
|
34
|
+
const pending = MutableRef.make(Result.succeed(/* @__PURE__ */ new Uint8Array(0)));
|
|
35
|
+
const decode = (chunk) => Result.flatMap(MutableRef.get(pending), (previous) => {
|
|
36
|
+
const bytes = new Uint8Array(previous.length + chunk.length);
|
|
37
|
+
bytes.set(previous);
|
|
38
|
+
bytes.set(chunk, previous.length);
|
|
39
|
+
const frames = Array.unfold(0, (offset) => {
|
|
40
|
+
if (bytes.length - offset < 8) return Option.none();
|
|
41
|
+
const header = new DataView(bytes.buffer, offset, 8);
|
|
42
|
+
const channel = header.getUint8(1);
|
|
43
|
+
const length = header.getUint32(4);
|
|
44
|
+
if (header.getUint8(0) !== 2 || channel !== 0 && channel !== 1 || header.getUint16(2) !== 0 || length > 1048576) return Option.some([Result.fail(invalid("Invalid runner frame header or payload length")), bytes.length]);
|
|
45
|
+
const end = offset + 8 + length;
|
|
46
|
+
if (end > bytes.length) return Option.none();
|
|
47
|
+
return Option.some([Result.succeed({
|
|
48
|
+
channel,
|
|
49
|
+
payload: bytes.subarray(offset + 8, end)
|
|
50
|
+
}), end]);
|
|
51
|
+
});
|
|
52
|
+
const result = Result.all(frames);
|
|
53
|
+
MutableRef.set(pending, Result.map(result, (frames) => bytes.subarray(Array.reduce(frames, 0, (used, frame) => used + 8 + frame.payload.length))));
|
|
54
|
+
return result;
|
|
55
|
+
});
|
|
56
|
+
return {
|
|
57
|
+
decode,
|
|
58
|
+
finish: Effect.suspend(() => Effect.fromResult(Result.flatMap(MutableRef.get(pending), (bytes) => bytes.length === 0 ? Result.succeed(void 0) : Result.fail(invalid("Runner connection ended inside a frame")))))
|
|
59
|
+
};
|
|
60
|
+
};
|
|
61
|
+
export { isCompleteFrame as a, encode as i, FrameError as n, maxPayload as o, decoder as r, EndOfStream as t };
|