@graftland/plugin-remote 0.3.0 → 0.3.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/dist/Auth.d.ts +2 -2
- package/dist/Auth.d.ts.map +1 -1
- package/dist/Auth.js.map +1 -1
- package/dist/{Bootstrap-MCwivGN1.js → Bootstrap-H9gDsgsC.js} +2 -2
- package/dist/{Contract-CcpSIJm4.js → Contract-DsJtisvL.js} +8 -46
- package/dist/Contract.d.ts +50 -53
- package/dist/Contract.d.ts.map +1 -1
- package/dist/Contract.js +1 -1
- package/dist/Contract.js.map +1 -1
- package/dist/{Errors-oPsTLY7l.js → Errors-DYhsGZcZ.js} +14 -1
- package/dist/Errors.d.ts +19 -0
- package/dist/Errors.d.ts.map +1 -1
- package/dist/Errors.js +14 -1
- package/dist/Errors.js.map +1 -1
- package/dist/{FailureGroup-BcH0XOBi.js → FailureGroup-BgT73AaR.js} +14 -4
- package/dist/{Framing-zaYdOJnT.js → Framing-G9eSaeLb.js} +1 -1
- package/dist/{Graft-BsYq3F-J.js → Graft-B71CPA2Y.js} +46 -35
- package/dist/{Packages-B1TPk8pa.js → Packages-AgoCGotL.js} +23 -26
- package/dist/{Peer-IJgFK6mD.js → Peer-DXeVrGBh.js} +5 -5
- package/dist/{ProcessObservation-DEGrEMfP.js → ProcessObservation-gLgGirYv.js} +1 -1
- package/dist/{ServeLifecycle-CJM0gG5B.js → ServeLifecycle-Bd1FPJ6e.js} +1 -1
- package/dist/Testing.d.ts +4 -4
- package/dist/Testing.d.ts.map +1 -1
- package/dist/Testing.js +10 -4
- package/dist/Testing.js.map +1 -1
- package/dist/Transport.d.ts +2 -2
- package/dist/Transport.d.ts.map +1 -1
- package/dist/Transport.js.map +1 -1
- package/dist/bin.js +48 -47
- package/dist/bin.js.map +1 -1
- package/dist/{childRuntime-DSqtFN9o.js → childRuntime-Bm3iSg_N.js} +30 -26
- package/dist/connectionEnded-BwcxQ7W8.js +54 -0
- package/dist/{entry-SYsx9VNb.js → entry-psOpX3Bj.js} +76 -48
- package/dist/host/auth/bearer.d.ts +1 -2
- package/dist/host/auth/bearer.d.ts.map +1 -1
- package/dist/host/auth/bearer.js +1 -1
- package/dist/host/auth/bearer.js.map +1 -1
- package/dist/host/auth/jwt.d.ts +1 -2
- package/dist/host/auth/jwt.d.ts.map +1 -1
- package/dist/host/auth/jwt.js +1 -1
- package/dist/host/auth/jwt.js.map +1 -1
- package/dist/host/auth/mtls.js +2 -2
- package/dist/host/auth/none.js +1 -1
- package/dist/host/command.d.ts +1 -1
- package/dist/host/command.d.ts.map +1 -1
- package/dist/host/command.js +4 -4
- package/dist/host/command.js.map +1 -1
- package/dist/host/local.d.ts +1 -2
- package/dist/host/local.d.ts.map +1 -1
- package/dist/host/local.js +3 -3
- package/dist/host/local.js.map +1 -1
- package/dist/host/unix.d.ts +1 -1
- package/dist/host/unix.d.ts.map +1 -1
- package/dist/host/unix.js +3 -3
- package/dist/host/unix.js.map +1 -1
- package/dist/host/websocket.d.ts +1 -1
- package/dist/host/websocket.d.ts.map +1 -1
- package/dist/host/websocket.js +3 -3
- package/dist/host/websocket.js.map +1 -1
- package/dist/host/worker.d.ts +1 -2
- package/dist/host/worker.d.ts.map +1 -1
- package/dist/host/worker.js +4 -5
- package/dist/host/worker.js.map +1 -1
- package/dist/{importer-D7zSgqxq.js → importer-Cvf88eAY.js} +5 -8
- package/dist/index.d.ts +2 -3
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +10 -10
- package/dist/index.js.map +1 -1
- package/dist/internal/Certificates.js +4 -4
- package/dist/internal/Certificates.js.map +1 -1
- package/dist/internal/FailureGroup.js +3 -2
- package/dist/internal/FailureGroup.js.map +1 -1
- package/dist/internal/assembly.js +9 -2
- package/dist/internal/assembly.js.map +1 -1
- package/dist/internal/auth/mtls.js +1 -1
- package/dist/internal/auth/mtls.js.map +1 -1
- package/dist/internal/auth/tokenCredentials.d.ts +0 -1
- package/dist/internal/auth/tokenCredentials.d.ts.map +1 -1
- package/dist/internal/auth/tokenCredentials.js.map +1 -1
- package/dist/internal/child.js +20 -17
- package/dist/internal/child.js.map +1 -1
- package/dist/internal/childRuntime.js +6 -4
- package/dist/internal/childRuntime.js.map +1 -1
- package/dist/internal/contract.js +26 -0
- package/dist/internal/contract.js.map +1 -0
- package/dist/internal/credentials.d.ts +6 -6
- package/dist/internal/credentials.d.ts.map +1 -1
- package/dist/internal/credentials.js.map +1 -1
- package/dist/internal/directTransport.d.ts +1 -1
- package/dist/internal/entry.d.ts +1 -2
- package/dist/internal/entry.d.ts.map +1 -1
- package/dist/internal/entry.js +4 -14
- package/dist/internal/entry.js.map +1 -1
- package/dist/internal/execution.js +44 -7
- package/dist/internal/execution.js.map +1 -1
- package/dist/internal/host/runner.js +7 -6
- package/dist/internal/host/runner.js.map +1 -1
- package/dist/internal/host.js +5 -5
- package/dist/internal/host.js.map +1 -1
- package/dist/internal/port.d.ts +2 -10
- package/dist/internal/port.js +5 -5
- package/dist/internal/port.js.map +1 -1
- package/dist/internal/release.js +1 -1
- package/dist/internal/release.js.map +1 -1
- package/dist/internal/runner/Connection.d.ts +1 -1
- package/dist/internal/runner/Connection.js +4 -4
- package/dist/internal/runner/Connection.js.map +1 -1
- package/dist/internal/runner/Execution.js +3 -3
- package/dist/internal/runner/Execution.js.map +1 -1
- package/dist/internal/runner/Framing.d.ts +1 -11
- package/dist/internal/runner/Framing.js +1 -1
- package/dist/internal/runner/Framing.js.map +1 -1
- package/dist/internal/runner/Local.js +1 -1
- package/dist/internal/runner/Local.js.map +1 -1
- package/dist/internal/runner/Lock.js +1 -1
- package/dist/internal/runner/Lock.js.map +1 -1
- package/dist/internal/runner/Packages.d.ts +1 -1
- package/dist/internal/runner/Packages.js +22 -25
- package/dist/internal/runner/Packages.js.map +1 -1
- package/dist/internal/runner/Processes.js +7 -9
- package/dist/internal/runner/Processes.js.map +1 -1
- package/dist/internal/runner/Store.js +3 -3
- package/dist/internal/runner/Store.js.map +1 -1
- package/dist/internal/runner/Supervisor.js +46 -47
- package/dist/internal/runner/Supervisor.js.map +1 -1
- package/dist/internal/runner/accept.js +3 -3
- package/dist/internal/runner/accept.js.map +1 -1
- package/dist/internal/runner/model.js +1 -1
- package/dist/internal/runner/model.js.map +1 -1
- package/dist/internal/serve.js +1 -1
- package/dist/internal/serve.js.map +1 -1
- package/dist/internal/services.d.ts +2 -12
- package/dist/internal/services.d.ts.map +1 -1
- package/dist/internal/services.js.map +1 -1
- package/dist/internal/supervisorPlugin.js +1 -1
- package/dist/internal/watchdogMain.js +5 -5
- package/dist/internal/watchdogMain.js.map +1 -1
- package/dist/internal/websocketServer.js +3 -1
- package/dist/internal/websocketServer.js.map +1 -1
- package/dist/internal/workerMain.js +3 -3
- package/dist/{port-Blbh8tms.js → port--3x2zJ4D.js} +8 -8
- package/dist/{release-BY4Mlluy.js → release-DfZPuIcK.js} +1 -1
- package/dist/runner/auth/bearer.js +2 -2
- package/dist/runner/auth/jwt.js +4 -4
- package/dist/runner/auth/jwt.js.map +1 -1
- package/dist/runner/auth/mtls.js +3 -3
- package/dist/runner/auth/none.js +1 -1
- package/dist/runner/index.js +5 -5
- package/dist/runner/stdio.js +3 -3
- package/dist/runner/unix.js +3 -3
- package/dist/runner/websocket.js +4 -4
- package/dist/{socketChannel-KmtzF-9G.js → socketChannel-CJvL2DiB.js} +2 -2
- package/dist/{supervisorPlugin-Inb1S5IV.js → supervisorPlugin-t6Z6PrhD.js} +72 -76
- package/dist/{token-v5ne2I0-.js → token-CYBNNlhS.js} +1 -1
- package/dist/{tokenCredentials-WUJm2AKm.js → tokenCredentials-CbCuk-Rt.js} +3 -3
- package/dist/{websocketServer-MXcCJx0v.js → websocketServer-NQhODlEt.js} +5 -3
- package/dist/{workerChannel-P82YdNjh.js → workerChannel-C8hhBJzA.js} +1 -1
- package/package.json +3 -3
- package/src/Auth.ts +9 -2
- package/src/Contract.ts +67 -51
- package/src/Errors.ts +23 -0
- package/src/Testing.ts +16 -2
- package/src/Transport.ts +6 -2
- package/src/bin.ts +28 -30
- package/src/host/auth/bearer.ts +1 -6
- package/src/host/auth/jwt.ts +1 -6
- package/src/host/command.ts +2 -0
- package/src/host/local.ts +5 -9
- package/src/host/unix.ts +2 -0
- package/src/host/websocket.ts +2 -0
- package/src/host/worker.ts +4 -6
- package/src/index.ts +8 -4
- package/src/internal/Certificates.ts +10 -13
- package/src/internal/FailureGroup.ts +128 -121
- package/src/internal/assembly.ts +19 -10
- package/src/internal/auth/mtls.ts +19 -20
- package/src/internal/auth/tokenCredentials.ts +1 -7
- package/src/internal/child.ts +249 -240
- package/src/internal/childRuntime.ts +84 -81
- package/src/internal/contract.ts +47 -0
- package/src/internal/credentials.ts +12 -9
- package/src/internal/entry.ts +11 -25
- package/src/internal/execution.ts +73 -14
- package/src/internal/host/runner.ts +153 -153
- package/src/internal/host.ts +123 -130
- package/src/internal/port.ts +100 -103
- package/src/internal/release.ts +3 -2
- package/src/internal/runner/Connection.ts +52 -60
- package/src/internal/runner/Execution.ts +163 -164
- package/src/internal/runner/Framing.ts +9 -10
- package/src/internal/runner/Local.ts +26 -27
- package/src/internal/runner/Lock.ts +23 -25
- package/src/internal/runner/Packages.ts +67 -70
- package/src/internal/runner/Processes.ts +89 -92
- package/src/internal/runner/Store.ts +110 -114
- package/src/internal/runner/Supervisor.ts +392 -405
- package/src/internal/runner/accept.ts +76 -84
- package/src/internal/runner/model.ts +20 -21
- package/src/internal/serve.ts +15 -13
- package/src/internal/services.ts +1 -19
- package/src/internal/watchdogMain.ts +16 -11
- package/src/internal/websocketServer.ts +18 -3
- package/src/runner/auth/jwt.ts +10 -6
- package/dist/cleanup-BPWr-5U9.js +0 -13
- package/dist/connectionEnded-DUgcobEd.js +0 -9
- package/dist/internal/childErrors.d.ts +0 -33
- package/dist/internal/childErrors.d.ts.map +0 -1
- package/dist/internal/port.d.ts.map +0 -1
- package/dist/internal/runner/Framing.d.ts.map +0 -1
|
@@ -1,23 +1,22 @@
|
|
|
1
|
-
import { c as isPlugin, i as plugin, l as make, o as fork, t as forks, u as optional } from "./Graft-
|
|
1
|
+
import { c as isPlugin, i as plugin, l as make, o as fork, t as forks, u as optional } from "./Graft-B71CPA2Y.js";
|
|
2
2
|
import { t as ConfigDirectory } from "./ConfigDirectory-BCC6q2R4.js";
|
|
3
|
-
import { i as make$2, m as isSubtreeActive, n as ModuleInvalid, o as CurrentId, p as findSubtree, r as ModuleResolver, t as make$1 } from "./importer-
|
|
4
|
-
import { c as endpoint, n as UndeclaredFailure, o as endpoints, r as fromModule } from "./Contract-
|
|
5
|
-
import { a as
|
|
3
|
+
import { i as make$2, m as isSubtreeActive, n as ModuleInvalid, o as CurrentId, p as findSubtree, r as ModuleResolver, t as make$1 } from "./importer-Cvf88eAY.js";
|
|
4
|
+
import { c as endpoint, n as UndeclaredFailure, o as endpoints, r as fromModule } from "./Contract-DsJtisvL.js";
|
|
5
|
+
import { a as MissingInstance, c as RemoteError, i as LocalTerminationTimeout, l as RemoteWithdrawn, o as ProcessExited, r as CredentialsError, s as RemoteEntryError, t as AuthenticationFailed, u as TransportError } from "./Errors-DYhsGZcZ.js";
|
|
6
6
|
import { n as WorkerTransport, t as LocalTransport } from "./directTransport-DrexuPSm.js";
|
|
7
|
-
import { a as PositiveDuration, i as Supervisor, n as resolveEntry, r as verify } from "./Packages-
|
|
8
|
-
import { E as make$3, b as awaitTermination, n as Session, r as channel, t as Peer, x as childOf } from "./Peer-
|
|
7
|
+
import { a as PositiveDuration, i as Supervisor, n as resolveEntry, r as verify } from "./Packages-AgoCGotL.js";
|
|
8
|
+
import { E as make$3, _ as StateStorageError, a as ExecutionError, b as awaitTermination, c as PackageError, d as SessionAccessDenied, f as SessionConflict, g as StateDirectoryLocked, h as StaleSession, l as RemoteTerminationUnconfirmed, m as SessionStopped, n as Session, r as channel, s as LeaseExpired, t as Peer, u as RunnerClosing, x as childOf, y as TerminationUnconfirmed } from "./Peer-DXeVrGBh.js";
|
|
9
9
|
import { n as Credentials, t as Authenticator } from "./Auth-BElTC9_X.js";
|
|
10
10
|
import { n as Listener, t as Connector } from "./Transport-DULzpsgR.js";
|
|
11
|
-
import { n as connectionEnded, t as closedNormally } from "./connectionEnded-
|
|
12
|
-
import { t as ServeLifecycle } from "./ServeLifecycle-
|
|
13
|
-
import { t as make$4 } from "./FailureGroup-
|
|
14
|
-
import { n as
|
|
15
|
-
import { n as
|
|
16
|
-
import { n as
|
|
17
|
-
import {
|
|
18
|
-
import { Array, Cause, Context, Deferred, Duration, Effect, Exit, Fiber, Option, Path, Ref, References, Schema, Scope, Stream, String } from "effect";
|
|
11
|
+
import { a as AlreadyLoaded, i as ActivationFailed, n as connectionEnded, o as ContractNotFound, r as prepare, s as ModuleImportFailed, t as closedNormally } from "./connectionEnded-BwcxQ7W8.js";
|
|
12
|
+
import { t as ServeLifecycle } from "./ServeLifecycle-Bd1FPJ6e.js";
|
|
13
|
+
import { n as children, r as cleanupCause, t as make$4 } from "./FailureGroup-BgT73AaR.js";
|
|
14
|
+
import { n as make$5, o as defaults } from "./port--3x2zJ4D.js";
|
|
15
|
+
import { n as close, t as ReleaseInterrupted } from "./release-DfZPuIcK.js";
|
|
16
|
+
import { n as stdinExitTimeout } from "./ProcessObservation-gLgGirYv.js";
|
|
17
|
+
import { Array, Cause, Context, Deferred, Duration, Effect, Exit, Fiber, Option, Path, PlatformError, Ref, References, Schema, Scope, Stream, String } from "effect";
|
|
19
18
|
import { SecureRandom } from "effect/crypto";
|
|
20
|
-
import { RpcClient } from "effect/rpc";
|
|
19
|
+
import { RpcClient, RpcClientError } from "effect/rpc";
|
|
21
20
|
import { ChildProcessSpawner } from "effect/process";
|
|
22
21
|
// packages/remote/src/internal/entryConfig.ts
|
|
23
22
|
const Reference = Schema.Struct({
|
|
@@ -216,6 +215,13 @@ var CapabilityCombinationError = class extends Schema.TaggedError()("CapabilityC
|
|
|
216
215
|
}
|
|
217
216
|
};
|
|
218
217
|
var CapabilityFailed = class extends Schema.TaggedError()("CapabilityFailed", { cause: Schema.Cause(Schema.Unknown, Schema.Unknown) }) {};
|
|
218
|
+
/** Every failure class assembly raises; host error classification reads this list. */
|
|
219
|
+
const errors = [
|
|
220
|
+
ListenerConfigError,
|
|
221
|
+
CapabilityContractError,
|
|
222
|
+
CapabilityCombinationError,
|
|
223
|
+
CapabilityFailed
|
|
224
|
+
];
|
|
219
225
|
const definition = Schema.declare(isPlugin);
|
|
220
226
|
/** Entries resolve capability modules before assembling their private providers. */
|
|
221
227
|
const Invocation = Schema.Struct({
|
|
@@ -281,7 +287,7 @@ const compatible = (properties, kind) => {
|
|
|
281
287
|
const kind = (auth) => auth._tag === "Mtls" ? "Certificate" : auth._tag === "Header" ? "Authorization" : "None";
|
|
282
288
|
const warn = (properties, credentials, side) => Effect.all([properties.network && !properties.encrypted ? Effect.logWarning(credentials === "Authorization" ? `${properties.protocol}:// ${side === "host" ? "connection" : "listener"} is unencrypted; credentials are transmitted in plaintext` : `${properties.protocol}:// ${side === "host" ? "connection" : "listener"} is unencrypted`) : Effect.void, side === "runner" && properties.network && credentials === "None" ? Effect.logWarning("WebSocket listener has no authentication") : Effect.void], { discard: true });
|
|
283
289
|
const directAuth = (properties, explicit) => explicit && (properties.protocol === "stdio" || properties.protocol === "command") ? Effect.fail(CapabilityCombinationError.make({ detail: `${properties.protocol} transports do not accept auth` })) : Effect.void;
|
|
284
|
-
const connectWith =
|
|
290
|
+
const connectWith = Effect.fnUntraced(function* (explicitAuth = false) {
|
|
285
291
|
const connector = yield* Connector;
|
|
286
292
|
const credentials = yield* Credentials;
|
|
287
293
|
yield* directAuth(connector.properties, explicitAuth);
|
|
@@ -321,7 +327,7 @@ const makeListenerConsumer = (prepare = () => Effect.void, ready = Effect.void)
|
|
|
321
327
|
const listenerConsumer = makeListenerConsumer();
|
|
322
328
|
connectWith();
|
|
323
329
|
// packages/remote/src/internal/host/runner.ts
|
|
324
|
-
const connect$1 = (target, contractModule, options, resources, processScope)
|
|
330
|
+
const connect$1 = Effect.fnUntraced(function* (target, contractModule, options, resources, processScope) {
|
|
325
331
|
const instance = target.instance;
|
|
326
332
|
const margin = Duration.toMillis(target.margin ?? "5 seconds");
|
|
327
333
|
const channel$1 = yield* connectWith(target.explicitAuth).pipe(Scope.provide(processScope));
|
|
@@ -344,7 +350,7 @@ const connect$1 = (target, contractModule, options, resources, processScope) =>
|
|
|
344
350
|
const finishStarted = yield* Ref.make(false);
|
|
345
351
|
const terminate = yield* Effect.cached(Effect.gen(function* () {
|
|
346
352
|
yield* Ref.set(finishStarted, true);
|
|
347
|
-
yield* failures.close;
|
|
353
|
+
const closed = yield* Effect.exit(failures.close);
|
|
348
354
|
const result = yield* awaitTermination(record.handle, session.Dispose(record.handle), record.leaseMillis, margin);
|
|
349
355
|
const { code, signal, stderr, cause } = result.exit;
|
|
350
356
|
yield* Effect.logInfo("Remote execution terminated", {
|
|
@@ -357,7 +363,8 @@ const connect$1 = (target, contractModule, options, resources, processScope) =>
|
|
|
357
363
|
"remote.generation": record.handle.generation,
|
|
358
364
|
"remote.termination": result.kind
|
|
359
365
|
}));
|
|
360
|
-
|
|
366
|
+
const failure = Exit.isFailure(closed) ? Cause.combine(closed.cause, result.cause) : result.cause;
|
|
367
|
+
if (failure.reasons.length > 0) return yield* Effect.failCause(cleanupCause(failure));
|
|
361
368
|
}));
|
|
362
369
|
yield* Scope.addFinalizer(processScope, Effect.gen(function* () {
|
|
363
370
|
if (!(yield* Ref.get(finishStarted))) yield* terminate.pipe(Effect.catchCause((cause) => Effect.failCause(cleanupCause(cause))));
|
|
@@ -377,7 +384,7 @@ const connect$1 = (target, contractModule, options, resources, processScope) =>
|
|
|
377
384
|
}).pipe(Scope.provide(resources));
|
|
378
385
|
const report = (cause) => Cause.hasInterruptsOnly(cause) ? Effect.void : failures.failCause(Cause.map(cause, (error) => TransportError.make({ cause: Cause.fail(error) })));
|
|
379
386
|
yield* failures.await.pipe(Effect.catchCause((cause) => Cause.hasInterruptsOnly(cause) ? Effect.void : peer.fail(TransportError.make({ cause }))), Effect.forkIn(resources));
|
|
380
|
-
yield* failures.run(Fiber.join(renewed).pipe(Effect.catchCause(
|
|
387
|
+
yield* failures.run(Fiber.join(renewed).pipe(Effect.catchCause(Effect.fnUntraced(function* (cause) {
|
|
381
388
|
if (Cause.hasInterruptsOnly(cause)) return;
|
|
382
389
|
const status = yield* Effect.exit(session.Status(record.handle).pipe(Effect.timeout("5 seconds")));
|
|
383
390
|
if (Exit.isSuccess(status) && status.value.phase === "Stopped") {
|
|
@@ -394,7 +401,7 @@ const connect$1 = (target, contractModule, options, resources, processScope) =>
|
|
|
394
401
|
resources,
|
|
395
402
|
pid: Option.map(childOf(loaded), (child) => child.pid),
|
|
396
403
|
diagnostics: failures.cause,
|
|
397
|
-
terminate:
|
|
404
|
+
terminate: Effect.fnUntraced(function* () {
|
|
398
405
|
yield* Fiber.interrupt(renewed);
|
|
399
406
|
yield* terminate;
|
|
400
407
|
}),
|
|
@@ -426,7 +433,7 @@ const connect = Effect.fnUntraced(function* (execution, options) {
|
|
|
426
433
|
report
|
|
427
434
|
},
|
|
428
435
|
diagnostics: Fiber.await(exited).pipe(Effect.andThen(failures.cause)),
|
|
429
|
-
terminate:
|
|
436
|
+
terminate: Effect.fnUntraced(function* (graceful) {
|
|
430
437
|
yield* failures.close;
|
|
431
438
|
if (!graceful) return;
|
|
432
439
|
const status = yield* peer.end.pipe(Effect.catchCauseIf(Cause.hasInterruptsOnly, () => Effect.void), Effect.andThen(Fiber.join(exited)), Effect.interruptible, Effect.timeoutOrElse({
|
|
@@ -463,17 +470,17 @@ const finish = (causes) => {
|
|
|
463
470
|
const scopes = Effect.acquireRelease(Effect.all({
|
|
464
471
|
resources: Scope.make(),
|
|
465
472
|
process: Scope.make()
|
|
466
|
-
}),
|
|
473
|
+
}), Effect.fnUntraced(function* (scopes, exit) {
|
|
467
474
|
const process = yield* Effect.exit(close(scopes.process, exit));
|
|
468
475
|
const resources = yield* Effect.exit(close(scopes.resources, exit));
|
|
469
476
|
yield* finish([reason(process), reason(resources)]);
|
|
470
477
|
}));
|
|
471
478
|
/** Setup supplies a concrete control lifecycle; release never reads a later-installed effect. */
|
|
472
|
-
const acquire = (target, contractModule, options, setup, dispose, timeout)
|
|
479
|
+
const acquire = Effect.fnUntraced(function* (target, contractModule, options, setup, dispose, timeout) {
|
|
473
480
|
const owned = yield* scopes;
|
|
474
481
|
const connection = yield* Effect.acquireRelease(Effect.gen(function* () {
|
|
475
482
|
return target._tag === "Local" || target._tag === "Worker" ? yield* Local(target, contractModule, options, owned.resources, owned.process).pipe(Effect.map(connected)) : yield* connect$1(target, contractModule, options, owned.resources, owned.process);
|
|
476
|
-
}).pipe(Effect.interruptible),
|
|
483
|
+
}).pipe(Effect.interruptible), Effect.fnUntraced(function* (connection, exit) {
|
|
477
484
|
const process = yield* Effect.exit(close(owned.process, exit));
|
|
478
485
|
yield* connection.diagnostics;
|
|
479
486
|
const resources = yield* Effect.exit(close(owned.resources, exit));
|
|
@@ -484,7 +491,7 @@ const acquire = (target, contractModule, options, setup, dispose, timeout) => Ef
|
|
|
484
491
|
diagnostics
|
|
485
492
|
]);
|
|
486
493
|
}));
|
|
487
|
-
return yield* Effect.acquireRelease(setup.pipe(Effect.provideService(Connection, connection)),
|
|
494
|
+
return yield* Effect.acquireRelease(setup.pipe(Effect.provideService(Connection, connection)), Effect.fnUntraced(function* (value) {
|
|
488
495
|
const graceful = yield* dispose(value).pipe(Effect.interruptible, Effect.timeout(timeout), Effect.exit);
|
|
489
496
|
const terminated = yield* Effect.exit(connection.terminate(Exit.isSuccess(graceful)));
|
|
490
497
|
yield* finish([Exit.isSuccess(graceful) ? graceful.value : graceful.cause, reason(terminated)]);
|
|
@@ -492,7 +499,7 @@ const acquire = (target, contractModule, options, setup, dispose, timeout) => Ef
|
|
|
492
499
|
});
|
|
493
500
|
// packages/remote/src/internal/host.ts
|
|
494
501
|
const race = (connection, effect) => Effect.raceFirst(effect, connection.transport.failure);
|
|
495
|
-
const forwardEvents = (contract, client, connection)
|
|
502
|
+
const forwardEvents = Effect.fnUntraced(function* (contract, client, connection) {
|
|
496
503
|
const stopped = yield* Deferred.make();
|
|
497
504
|
const remoteFailure = yield* make$4();
|
|
498
505
|
return {
|
|
@@ -507,10 +514,10 @@ const forwardEvents = (contract, client, connection) => Effect.gen(function* ()
|
|
|
507
514
|
}))).pipe(Effect.tapCause(connection.transport.report), Effect.forkIn(connection.resources))
|
|
508
515
|
};
|
|
509
516
|
});
|
|
510
|
-
const forwardLogs = (contract, client, connection)
|
|
517
|
+
const forwardLogs = Effect.fnUntraced(function* (contract, client, connection) {
|
|
511
518
|
const logsEnded = yield* Deferred.make();
|
|
512
519
|
const reportedDrops = yield* Ref.make(0);
|
|
513
|
-
yield* race(connection, client.Logs().pipe(Stream.runForEach(
|
|
520
|
+
yield* race(connection, client.Logs().pipe(Stream.runForEach(Effect.fnUntraced(function* (event) {
|
|
514
521
|
const previous = yield* Ref.getAndSet(reportedDrops, event.dropped);
|
|
515
522
|
if (event.dropped > previous) yield* Effect.logWarning("Remote logs were dropped").pipe(Effect.annotateLogs({
|
|
516
523
|
...Option.isSome(connection.pid) ? { "remote.pid": connection.pid.value } : {},
|
|
@@ -531,7 +538,7 @@ const forwardLogs = (contract, client, connection) => Effect.gen(function* () {
|
|
|
531
538
|
})))).pipe(Effect.tapCause(connection.transport.report), Effect.forkIn(connection.resources));
|
|
532
539
|
return logsEnded;
|
|
533
540
|
});
|
|
534
|
-
const initialize =
|
|
541
|
+
const initialize = Effect.fnUntraced(function* (contract) {
|
|
535
542
|
const connection = yield* Connection;
|
|
536
543
|
const client = yield* RpcClient.make(contract.control).pipe(Effect.provideService(RpcClient.Protocol, connection.transport.clientProtocol(endpoint)), Scope.provide(connection.resources));
|
|
537
544
|
for (const service of contract.inject) yield* service.serve(connection.transport).pipe(Effect.tapCause(connection.transport.report), Effect.forkIn(connection.resources));
|
|
@@ -545,7 +552,7 @@ const initialize = (contract) => Effect.gen(function* () {
|
|
|
545
552
|
};
|
|
546
553
|
});
|
|
547
554
|
const load$1 = (active, input) => race(active.connection, Effect.raceFirst(active.client.Load({ input }).pipe(Effect.catchIf((cause) => Cause.isCause(cause), Effect.failCause)), active.remoteFailure.await));
|
|
548
|
-
const dispose =
|
|
555
|
+
const dispose = Effect.fnUntraced(function* (active) {
|
|
549
556
|
const result = yield* race(active.connection, active.client.Dispose().pipe(Effect.catchIf(Cause.isCause, Effect.succeed)));
|
|
550
557
|
const cause = Cause.isCause(result) ? result : Cause.empty;
|
|
551
558
|
yield* race(active.connection, Deferred.await(active.stopped).pipe(Effect.andThen(Deferred.await(active.logsEnded)))).pipe(Effect.onError(() => Effect.failCause(cleanupCause(cause))));
|
|
@@ -562,38 +569,59 @@ const executionPlugin = (contract, options, configured, annotations = {}) => mak
|
|
|
562
569
|
...Array.map(contract.inject, (service) => service.key)
|
|
563
570
|
],
|
|
564
571
|
config: Schema.toEncoded(contract.config),
|
|
565
|
-
apply:
|
|
572
|
+
apply: Effect.fnUntraced(function* (input) {
|
|
573
|
+
const prepared = prepare(contract);
|
|
566
574
|
const session = yield* (yield* SecureRandom.SecureRandom).uuidV4();
|
|
567
575
|
const active = yield* acquire(configured, options.contractModule, {
|
|
568
576
|
session,
|
|
569
577
|
serve: endpoints(contract.inject),
|
|
570
578
|
call: {
|
|
571
579
|
...endpoints(contract.provides),
|
|
572
|
-
[endpoint]:
|
|
580
|
+
[endpoint]: prepared.control
|
|
573
581
|
}
|
|
574
|
-
}, initialize(
|
|
582
|
+
}, initialize(prepared), dispose, options.shutdownTimeout ?? "5 seconds");
|
|
575
583
|
yield* load$1(active, input);
|
|
576
584
|
for (const service of contract.provides) yield* service.publish(active.connection.transport).pipe(Scope.provide(active.connection.resources));
|
|
577
585
|
yield* fork(Effect.raceFirst(Fiber.join(active.events), active.remoteFailure.await).pipe(Effect.mapError((error) => publicError(contract.error, error))));
|
|
578
586
|
return () => Effect.succeed(false);
|
|
579
|
-
}
|
|
587
|
+
}, Effect.annotateLogs(annotations), Effect.mapError((error) => publicError(contract.error, error)))
|
|
580
588
|
});
|
|
581
|
-
|
|
589
|
+
/** Failures raised by the host machinery; a permissive declared schema must not claim them. */
|
|
590
|
+
const internalErrors = [
|
|
591
|
+
ProcessExited,
|
|
592
|
+
TransportError,
|
|
593
|
+
LocalTerminationTimeout,
|
|
594
|
+
CredentialsError,
|
|
595
|
+
AuthenticationFailed,
|
|
596
|
+
RemoteEntryError,
|
|
597
|
+
AlreadyLoaded,
|
|
598
|
+
ContractNotFound,
|
|
599
|
+
ModuleImportFailed,
|
|
600
|
+
ActivationFailed,
|
|
601
|
+
PackageError,
|
|
602
|
+
SessionAccessDenied,
|
|
603
|
+
StaleSession,
|
|
604
|
+
LeaseExpired,
|
|
605
|
+
SessionStopped,
|
|
606
|
+
SessionConflict,
|
|
607
|
+
StateStorageError,
|
|
608
|
+
ExecutionError,
|
|
609
|
+
TerminationUnconfirmed,
|
|
610
|
+
RunnerClosing,
|
|
611
|
+
StateDirectoryLocked,
|
|
612
|
+
RemoteTerminationUnconfirmed,
|
|
613
|
+
ReleaseInterrupted,
|
|
614
|
+
RpcClientError.RpcClientError,
|
|
615
|
+
...errors
|
|
616
|
+
];
|
|
617
|
+
const isInternal = (error) => Schema.isSchemaError(error) || PlatformError.isPlatformError(error) || Array.some(internalErrors, (Class) => error instanceof Class);
|
|
618
|
+
const isPublic = (error) => Schema.is(UndeclaredFailure)(error) || Schema.is(RemoteWithdrawn)(error) || Schema.is(RemoteError)(error) || Schema.is(MissingInstance)(error);
|
|
619
|
+
const publicError = (declared, error) => isPublic(error) ? error : !isInternal(error) && Schema.is(declared)(error) ? error : RemoteError.make({ cause: Cause.fail(error) });
|
|
582
620
|
// packages/remote/src/internal/entry.ts
|
|
583
|
-
var EntryError = class extends Schema.TaggedError()("RemoteEntryError", {
|
|
584
|
-
entry: Schema.Option(Schema.String),
|
|
585
|
-
directory: Schema.Option(Schema.String),
|
|
586
|
-
field: Schema.String,
|
|
587
|
-
cause: Schema.Cause(Schema.Unknown, Schema.Unknown)
|
|
588
|
-
}) {
|
|
589
|
-
get message() {
|
|
590
|
-
return `Remote entry ${Option.getOrElse(this.entry, () => "<programmatic>")} failed at ${this.field}`;
|
|
591
|
-
}
|
|
592
|
-
};
|
|
593
621
|
const boundary = Effect.fnUntraced(function* (field) {
|
|
594
622
|
const entry = yield* CurrentId;
|
|
595
623
|
const directory = yield* ConfigDirectory;
|
|
596
|
-
return (cause) => Effect.fail(
|
|
624
|
+
return (cause) => Effect.fail(RemoteEntryError.make({
|
|
597
625
|
entry,
|
|
598
626
|
directory,
|
|
599
627
|
field,
|
|
@@ -607,7 +635,7 @@ const resolve = Effect.fnUntraced(function* (reference, field) {
|
|
|
607
635
|
const directory = path.resolve(Option.getOrElse(source, () => "."));
|
|
608
636
|
const resolver = yield* Option.match(existing, {
|
|
609
637
|
onSome: Effect.succeed,
|
|
610
|
-
onNone:
|
|
638
|
+
onNone: Effect.fnUntraced(function* () {
|
|
611
639
|
const importer = yield* make$1(directory);
|
|
612
640
|
return yield* make$2({
|
|
613
641
|
base: directory,
|
|
@@ -1,5 +1,4 @@
|
|
|
1
1
|
import { Config } from "../../internal/auth/tokenCredentials.js";
|
|
2
|
-
|
|
3
|
-
declare const capability: Plugin.Plugin<typeof Config.Type, typeof Config.Encoded, Graft.ServiceConflict>;
|
|
2
|
+
declare const capability: any;
|
|
4
3
|
export { Config, capability as default };
|
|
5
4
|
//# sourceMappingURL=bearer.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"bearer.d.ts","names":[],"sources":["../../../src/host/auth/bearer.ts"],"mappings":"
|
|
1
|
+
{"version":3,"file":"bearer.d.ts","names":[],"sources":["../../../src/host/auth/bearer.ts"],"mappings":";cAGM"}
|
package/dist/host/auth/bearer.js
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { n as plugin, t as Config } from "../../tokenCredentials-
|
|
1
|
+
import { n as plugin, t as Config } from "../../tokenCredentials-CbCuk-Rt.js";
|
|
2
2
|
// packages/remote/src/host/auth/bearer.ts
|
|
3
3
|
const capability = plugin("remote-bearer-credentials");
|
|
4
4
|
export { Config, capability as default };
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"bearer.js","names":[],"sources":["../../../src/host/auth/bearer.ts"],"sourcesContent":["import
|
|
1
|
+
{"version":3,"file":"bearer.js","names":[],"sources":["../../../src/host/auth/bearer.ts"],"sourcesContent":["import { Config, plugin } from \"../../internal/auth/tokenCredentials\"\nexport { Config }\n\nconst capability = plugin(\"remote-bearer-credentials\")\nexport default capability\n"],"mappings":";;AAGA,MAAM,aAAa,OAAO,2BAA2B"}
|
package/dist/host/auth/jwt.d.ts
CHANGED
|
@@ -1,5 +1,4 @@
|
|
|
1
1
|
import { Config } from "../../internal/auth/tokenCredentials.js";
|
|
2
|
-
|
|
3
|
-
declare const capability: Plugin.Plugin<typeof Config.Type, typeof Config.Encoded, Graft.ServiceConflict>;
|
|
2
|
+
declare const capability: any;
|
|
4
3
|
export { Config, capability as default };
|
|
5
4
|
//# sourceMappingURL=jwt.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"jwt.d.ts","names":[],"sources":["../../../src/host/auth/jwt.ts"],"mappings":"
|
|
1
|
+
{"version":3,"file":"jwt.d.ts","names":[],"sources":["../../../src/host/auth/jwt.ts"],"mappings":";cAGM"}
|
package/dist/host/auth/jwt.js
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { n as plugin, t as Config } from "../../tokenCredentials-
|
|
1
|
+
import { n as plugin, t as Config } from "../../tokenCredentials-CbCuk-Rt.js";
|
|
2
2
|
// packages/remote/src/host/auth/jwt.ts
|
|
3
3
|
const capability = plugin("remote-jwt-credentials");
|
|
4
4
|
export { Config, capability as default };
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"jwt.js","names":[],"sources":["../../../src/host/auth/jwt.ts"],"sourcesContent":["import
|
|
1
|
+
{"version":3,"file":"jwt.js","names":[],"sources":["../../../src/host/auth/jwt.ts"],"sourcesContent":["import { Config, plugin } from \"../../internal/auth/tokenCredentials\"\nexport { Config }\n\nconst capability = plugin(\"remote-jwt-credentials\")\nexport default capability\n"],"mappings":";;AAGA,MAAM,aAAa,OAAO,wBAAwB"}
|
package/dist/host/auth/mtls.js
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import { a as provide, l as make } from "../../Graft-
|
|
2
|
-
import {
|
|
1
|
+
import { a as provide, l as make } from "../../Graft-B71CPA2Y.js";
|
|
2
|
+
import { r as CredentialsError } from "../../Errors-DYhsGZcZ.js";
|
|
3
3
|
import { t as ConfigDirectory } from "../../ConfigDirectory-BCC6q2R4.js";
|
|
4
4
|
import { n as Credentials } from "../../Auth-BElTC9_X.js";
|
|
5
5
|
import { Cause, Effect, FileSystem, Option, Path, Redacted, Schema } from "effect";
|
package/dist/host/auth/none.js
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { a as provide, l as make } from "../../Graft-
|
|
1
|
+
import { a as provide, l as make } from "../../Graft-B71CPA2Y.js";
|
|
2
2
|
import { n as Credentials } from "../../Auth-BElTC9_X.js";
|
|
3
3
|
import { Effect, Schema } from "effect";
|
|
4
4
|
// packages/remote/src/host/auth/none.ts
|
package/dist/host/command.d.ts
CHANGED
|
@@ -18,5 +18,5 @@ export declare const Config: Schema.Struct<{
|
|
|
18
18
|
readonly env: Schema.optionalKey<Schema.$Record<Schema.String, Schema.String>>;
|
|
19
19
|
}>;
|
|
20
20
|
declare const _default: any;
|
|
21
|
-
export { _default as default };
|
|
21
|
+
export { type CommandOptions as Options, _default as default };
|
|
22
22
|
//# sourceMappingURL=command.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"command.d.ts","names":["_$___Transport0.ConnectorApi"],"sources":["../../src/host/command.ts"],"mappings":";;;;;;;;;
|
|
1
|
+
{"version":3,"file":"command.d.ts","names":["_$___Transport0.ConnectorApi"],"sources":["../../src/host/command.ts"],"mappings":";;;;;;;;;WAwBmB;;qBAFN,sBAAsB;;qBAUtB,OAAI,SAAa,mBAAc,OAAA,OAAdA,qBAAc,oBAAA;qBA2E/B,QAAM,OAAA"}
|
package/dist/host/command.js
CHANGED
|
@@ -1,9 +1,9 @@
|
|
|
1
|
-
import { a as provide, l as make$1 } from "../Graft-
|
|
1
|
+
import { a as provide, l as make$1 } from "../Graft-B71CPA2Y.js";
|
|
2
2
|
import { t as Connector } from "../Transport-DULzpsgR.js";
|
|
3
3
|
import { t as ConfigDirectory } from "../ConfigDirectory-BCC6q2R4.js";
|
|
4
|
-
import {
|
|
5
|
-
import {
|
|
6
|
-
import { n as stdinExitTimeout, t as observe } from "../ProcessObservation-
|
|
4
|
+
import { u as TransportError } from "../Errors-DYhsGZcZ.js";
|
|
5
|
+
import { r as cleanupCause } from "../FailureGroup-BgT73AaR.js";
|
|
6
|
+
import { n as stdinExitTimeout, t as observe } from "../ProcessObservation-gLgGirYv.js";
|
|
7
7
|
import { Array, Cause, Effect, Option, Path, Schema, Scope, Sink, Stream } from "effect";
|
|
8
8
|
import { ChildProcess, ChildProcessSpawner } from "effect/process";
|
|
9
9
|
// packages/remote/src/host/command.ts
|
package/dist/host/command.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"command.js","names":["ProcessObservation.observe","ProcessObservation.stdinExitTimeout"],"sources":["../../src/host/command.ts"],"sourcesContent":["
|
|
1
|
+
{"version":3,"file":"command.js","names":["ProcessObservation.observe","ProcessObservation.stdinExitTimeout"],"sources":["../../src/host/command.ts"],"sourcesContent":["/** Options for the command connector. */\nexport type { CommandOptions as Options } from \"../internal/transportOptions\"\nimport type { CommandOptions } from \"../internal/transportOptions\"\nimport { Plugin, Graft } from \"@graftland/graft\"\nimport {\n\tArray,\n\tCause,\n\tEffect,\n\tOption,\n\tPath,\n\tSchema,\n\tScope,\n\tSink,\n\tStream,\n} from \"effect\"\nimport { ChildProcess, ChildProcessSpawner } from \"effect/process\"\nimport { Connector } from \"../Transport\"\nimport { ConfigDirectory } from \"@graftland/loader\"\nimport { TransportError } from \"../Errors\"\nimport { cleanupCause } from \"../internal/cleanup\"\nimport * as ProcessObservation from \"../internal/runner/ProcessObservation\"\n\nexport class CommandExited extends Schema.TaggedError<\n\tCommandExited,\n\t{ readonly brand: unique symbol }\n>()(\"CommandExited\", {\n\tcode: Schema.NullOr(Schema.Int),\n\tstderr: Schema.String,\n\tcause: Schema.Cause(Schema.Unknown, Schema.Unknown),\n}) {}\n\n/** The launcher exit describes this channel, never the remote execution's termination. */\nexport const make = (options: CommandOptions) =>\n\tEffect.map(ChildProcessSpawner.ChildProcessSpawner, (spawner) =>\n\t\tConnector.of({\n\t\t\tproperties: {\n\t\t\t\tprotocol: \"command\",\n\t\t\t\tencrypted: false,\n\t\t\t\tnetwork: false,\n\t\t\t\tcarries: [],\n\t\t\t},\n\t\t\tconnect: Effect.fnUntraced(\n\t\t\t\tfunction* () {\n\t\t\t\t\tconst scope = yield* Effect.scope\n\t\t\t\t\tconst readers = yield* Scope.fork(scope)\n\t\t\t\t\tconst child = yield* spawner.spawn(\n\t\t\t\t\t\tChildProcess.make(options.argv[0], Array.drop(options.argv, 1), {\n\t\t\t\t\t\t\t...options,\n\t\t\t\t\t\t\tstdin: \"pipe\",\n\t\t\t\t\t\t\tstdout: \"pipe\",\n\t\t\t\t\t\t\tstderr: \"pipe\",\n\t\t\t\t\t\t\tforceKillAfter: \"1 second\",\n\t\t\t\t\t\t}),\n\t\t\t\t\t)\n\t\t\t\t\tconst observation = yield* ProcessObservation.observe(child, {\n\t\t\t\t\t\tdrainStdout: false,\n\t\t\t\t\t}).pipe(Scope.provide(readers))\n\t\t\t\t\tconst exited = observation.exited.pipe(\n\t\t\t\t\t\tEffect.map((status) => CommandExited.make(status)),\n\t\t\t\t\t)\n\t\t\t\t\tyield* Effect.addFinalizer(() =>\n\t\t\t\t\t\tStream.empty.pipe(\n\t\t\t\t\t\t\tStream.run(child.stdin),\n\t\t\t\t\t\t\tEffect.andThen(exited),\n\t\t\t\t\t\t\tEffect.flatMap((status) =>\n\t\t\t\t\t\t\t\tstatus.code === 0 && status.cause.reasons.length === 0\n\t\t\t\t\t\t\t\t\t? Effect.void\n\t\t\t\t\t\t\t\t\t: Effect.fail(status),\n\t\t\t\t\t\t\t),\n\t\t\t\t\t\t\tEffect.interruptible,\n\t\t\t\t\t\t\tEffect.timeout(ProcessObservation.stdinExitTimeout),\n\t\t\t\t\t\t\tEffect.catchCause((cause) =>\n\t\t\t\t\t\t\t\tEffect.failCause(cleanupCause(cause)),\n\t\t\t\t\t\t\t),\n\t\t\t\t\t\t),\n\t\t\t\t\t)\n\t\t\t\t\treturn {\n\t\t\t\t\t\tinput: child.stdout.pipe(\n\t\t\t\t\t\t\tStream.concat(\n\t\t\t\t\t\t\t\tStream.fromEffect(\n\t\t\t\t\t\t\t\t\texited.pipe(\n\t\t\t\t\t\t\t\t\t\tEffect.flatMap((status) =>\n\t\t\t\t\t\t\t\t\t\t\tstatus.code === 0 && status.cause.reasons.length === 0\n\t\t\t\t\t\t\t\t\t\t\t\t? Effect.void\n\t\t\t\t\t\t\t\t\t\t\t\t: Effect.fail(status),\n\t\t\t\t\t\t\t\t\t\t),\n\t\t\t\t\t\t\t\t\t),\n\t\t\t\t\t\t\t\t).pipe(Stream.drain),\n\t\t\t\t\t\t\t),\n\t\t\t\t\t\t\tStream.interruptWhen(observation.failure),\n\t\t\t\t\t\t\tStream.mapError((error) =>\n\t\t\t\t\t\t\t\tTransportError.make({ cause: Cause.fail(error) }),\n\t\t\t\t\t\t\t),\n\t\t\t\t\t\t),\n\t\t\t\t\t\toutput: child.stdin.pipe(\n\t\t\t\t\t\t\tSink.mapError((error) =>\n\t\t\t\t\t\t\t\tTransportError.make({ cause: Cause.fail(error) }),\n\t\t\t\t\t\t\t),\n\t\t\t\t\t\t),\n\t\t\t\t\t}\n\t\t\t\t},\n\t\t\t\tEffect.mapError((error) =>\n\t\t\t\t\tTransportError.make({ cause: Cause.fail(error) }),\n\t\t\t\t),\n\t\t\t),\n\t\t}),\n\t)\nexport const Config = Schema.Struct({\n\targv: Schema.NonEmptyArray(Schema.String),\n\tcwd: Schema.optionalKey(Schema.String),\n\tenv: Schema.optionalKey(Schema.Record(Schema.String, Schema.String)),\n})\nexport default Plugin.make({\n\tname: \"remote-command-connector\",\n\tconfig: Config,\n\tinject: [ChildProcessSpawner.ChildProcessSpawner, Path.Path],\n\tapply: Effect.fnUntraced(function* (config) {\n\t\tconst path = yield* Path.Path\n\t\tconst directory = yield* ConfigDirectory\n\t\tconst connector = yield* make({\n\t\t\t...config,\n\t\t\t...(config.cwd === undefined\n\t\t\t\t? {}\n\t\t\t\t: {\n\t\t\t\t\t\tcwd: path.resolve(\n\t\t\t\t\t\t\tOption.getOrElse(directory, () => \".\"),\n\t\t\t\t\t\t\tconfig.cwd,\n\t\t\t\t\t\t),\n\t\t\t\t\t}),\n\t\t})\n\t\tyield* Graft.provide(Connector, connector)\n\t}),\n})\n"],"mappings":";;;;;;;;;AAsBA,IAAa,gBAAb,cAAmC,OAAO,YAGxC,CAAC,CAAC,iBAAiB;CACpB,MAAM,OAAO,OAAO,OAAO,GAAG;CAC9B,QAAQ,OAAO;CACf,OAAO,OAAO,MAAM,OAAO,SAAS,OAAO,OAAO;AACnD,CAAC,CAAC,CAAC,CAAC;;AAGJ,MAAa,QAAQ,YACpB,OAAO,IAAI,oBAAoB,sBAAsB,YACpD,UAAU,GAAG;CACZ,YAAY;EACX,UAAU;EACV,WAAW;EACX,SAAS;EACT,SAAS,CAAC;CACX;CACA,SAAS,OAAO,WACf,aAAa;EACZ,MAAM,QAAQ,OAAO,OAAO;EAC5B,MAAM,UAAU,OAAO,MAAM,KAAK,KAAK;EACvC,MAAM,QAAQ,OAAO,QAAQ,MAC5B,aAAa,KAAK,QAAQ,KAAK,IAAI,MAAM,KAAK,QAAQ,MAAM,CAAC,GAAG;GAC/D,GAAG;GACH,OAAO;GACP,QAAQ;GACR,QAAQ;GACR,gBAAgB;EACjB,CAAC,CACF;EACA,MAAM,cAAc,OAAOA,QAA2B,OAAO,EAC5D,aAAa,MACd,CAAC,CAAC,CAAC,KAAK,MAAM,QAAQ,OAAO,CAAC;EAC9B,MAAM,SAAS,YAAY,OAAO,KACjC,OAAO,KAAK,WAAW,cAAc,KAAK,MAAM,CAAC,CAClD;EACA,OAAO,OAAO,mBACb,OAAO,MAAM,KACZ,OAAO,IAAI,MAAM,KAAK,GACtB,OAAO,QAAQ,MAAM,GACrB,OAAO,SAAS,WACf,OAAO,SAAS,KAAK,OAAO,MAAM,QAAQ,WAAW,IAClD,OAAO,OACP,OAAO,KAAK,MAAM,CACtB,GACA,OAAO,eACP,OAAO,QAAQC,gBAAmC,GAClD,OAAO,YAAY,UAClB,OAAO,UAAU,aAAa,KAAK,CAAC,CACrC,CACD,CACD;EACA,OAAO;GACN,OAAO,MAAM,OAAO,KACnB,OAAO,OACN,OAAO,WACN,OAAO,KACN,OAAO,SAAS,WACf,OAAO,SAAS,KAAK,OAAO,MAAM,QAAQ,WAAW,IAClD,OAAO,OACP,OAAO,KAAK,MAAM,CACtB,CACD,CACD,CAAC,CAAC,KAAK,OAAO,KAAK,CACpB,GACA,OAAO,cAAc,YAAY,OAAO,GACxC,OAAO,UAAU,UAChB,eAAe,KAAK,EAAE,OAAO,MAAM,KAAK,KAAK,EAAE,CAAC,CACjD,CACD;GACA,QAAQ,MAAM,MAAM,KACnB,KAAK,UAAU,UACd,eAAe,KAAK,EAAE,OAAO,MAAM,KAAK,KAAK,EAAE,CAAC,CACjD,CACD;EACD;CACD,GACA,OAAO,UAAU,UAChB,eAAe,KAAK,EAAE,OAAO,MAAM,KAAK,KAAK,EAAE,CAAC,CACjD,CACD;AACD,CAAC,CACF;AACD,MAAa,SAAS,OAAO,OAAO;CACnC,MAAM,OAAO,cAAc,OAAO,MAAM;CACxC,KAAK,OAAO,YAAY,OAAO,MAAM;CACrC,KAAK,OAAO,YAAY,OAAO,OAAO,OAAO,QAAQ,OAAO,MAAM,CAAC;AACpE,CAAC;AACD,IAAA,kBAAe,OAAO,KAAK;CAC1B,MAAM;CACN,QAAQ;CACR,QAAQ,CAAC,oBAAoB,qBAAqB,KAAK,IAAI;CAC3D,OAAO,OAAO,WAAW,WAAW,QAAQ;EAC3C,MAAM,OAAO,OAAO,KAAK;EACzB,MAAM,YAAY,OAAO;EACzB,MAAM,YAAY,OAAO,KAAK;GAC7B,GAAG;GACH,GAAI,OAAO,QAAQ,KAAA,IAChB,CAAC,IACD,EACA,KAAK,KAAK,QACT,OAAO,UAAU,iBAAiB,GAAG,GACrC,OAAO,GACR,EACD;EACH,CAAC;EACD,OAAO,MAAM,QAAQ,WAAW,SAAS;CAC1C,CAAC;AACF,CAAC"}
|
package/dist/host/local.d.ts
CHANGED
package/dist/host/local.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"local.d.ts","names":[],"sources":["../../src/host/local.ts"],"mappings":"
|
|
1
|
+
{"version":3,"file":"local.d.ts","names":[],"sources":["../../src/host/local.ts"],"mappings":"A,cA+BM"}
|
package/dist/host/local.js
CHANGED
|
@@ -1,8 +1,8 @@
|
|
|
1
|
-
import { d as service } from "../Graft-
|
|
1
|
+
import { d as service } from "../Graft-B71CPA2Y.js";
|
|
2
2
|
import { t as LocalTransport } from "../directTransport-DrexuPSm.js";
|
|
3
3
|
import { t as command } from "../command-9zrHdbwT.js";
|
|
4
|
-
import {
|
|
5
|
-
import { t as observe$1 } from "../ProcessObservation-
|
|
4
|
+
import { o as ProcessExited, u as TransportError } from "../Errors-DYhsGZcZ.js";
|
|
5
|
+
import { t as observe$1 } from "../ProcessObservation-gLgGirYv.js";
|
|
6
6
|
import { Array, Cause, Effect, Fiber, Option, Scope, Sink, Stream } from "effect";
|
|
7
7
|
import { ChildProcess, ChildProcessSpawner } from "effect/process";
|
|
8
8
|
// packages/remote/src/internal/host/local.ts
|
package/dist/host/local.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"local.js","names":["Local.observe"],"sources":["../../src/host/local.ts"],"sourcesContent":["import { Plugin
|
|
1
|
+
{"version":3,"file":"local.js","names":["Local.observe"],"sources":["../../src/host/local.ts"],"sourcesContent":["import { Plugin } from \"@graftland/graft\"\nimport { Array, Effect, Scope } from \"effect\"\nimport { ChildProcess, ChildProcessSpawner } from \"effect/process\"\nimport { LocalTransport } from \"../internal/directTransport\"\nimport { command } from \"../internal/runner/command\"\nimport * as Local from \"../internal/host/local\"\n\nconst make = Effect.map(ChildProcessSpawner.ChildProcessSpawner, (spawner) =>\n\tLocalTransport.of({\n\t\tstart: Effect.fnUntraced(function* (options) {\n\t\t\tconst scope = yield* Effect.scope\n\t\t\t// Readers must outlive the process finalizer to capture its final diagnostics.\n\t\t\tconst readers = yield* Scope.fork(scope)\n\t\t\tconst argv = yield* command(options.command)\n\t\t\tconst child = yield* spawner.spawn(\n\t\t\t\tChildProcess.make(\n\t\t\t\t\targv[0],\n\t\t\t\t\t[...Array.drop(argv, 1), options.contractModule, options.session],\n\t\t\t\t\t{\n\t\t\t\t\t\tstdin: \"pipe\",\n\t\t\t\t\t\tstdout: \"pipe\",\n\t\t\t\t\t\tstderr: \"pipe\",\n\t\t\t\t\t\tadditionalFds: { fd3: { type: \"output\" } },\n\t\t\t\t\t\tforceKillAfter: \"1 second\",\n\t\t\t\t\t},\n\t\t\t\t),\n\t\t\t)\n\t\t\treturn yield* Local.observe(child).pipe(Scope.provide(readers))\n\t\t}),\n\t}),\n)\nconst plugin = Plugin.service(LocalTransport, make, {\n\tname: \"remote-local-transport\",\n\tinject: [ChildProcessSpawner.ChildProcessSpawner],\n})\n\nexport default plugin\n"],"mappings":";;;;;;;AAOA,MAAM,OAAO,OAAO,IAAI,oBAAoB,sBAAsB,YACjE,eAAe,GAAG,EACjB,OAAO,OAAO,WAAW,WAAW,SAAS;CAC5C,MAAM,QAAQ,OAAO,OAAO;CAE5B,MAAM,UAAU,OAAO,MAAM,KAAK,KAAK;CACvC,MAAM,OAAO,OAAO,QAAQ,QAAQ,OAAO;CAC3C,MAAM,QAAQ,OAAO,QAAQ,MAC5B,aAAa,KACZ,KAAK,IACL;EAAC,GAAG,MAAM,KAAK,MAAM,CAAC;EAAG,QAAQ;EAAgB,QAAQ;CAAO,GAChE;EACC,OAAO;EACP,QAAQ;EACR,QAAQ;EACR,eAAe,EAAE,KAAK,EAAE,MAAM,SAAS,EAAE;EACzC,gBAAgB;CACjB,CACD,CACD;CACA,OAAO,OAAOA,QAAc,KAAK,CAAC,CAAC,KAAK,MAAM,QAAQ,OAAO,CAAC;AAC/D,CAAC,EACF,CAAC,CACF;AACA,MAAM,SAAS,OAAO,QAAQ,gBAAgB,MAAM;CACnD,MAAM;CACN,QAAQ,CAAC,oBAAoB,mBAAmB;AACjD,CAAC"}
|
package/dist/host/unix.d.ts
CHANGED
package/dist/host/unix.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"unix.d.ts","names":[],"sources":["../../src/host/unix.ts"],"mappings":";;;
|
|
1
|
+
{"version":3,"file":"unix.d.ts","names":[],"sources":["../../src/host/unix.ts"],"mappings":";;;qBAca,YAAY;qBAmBZ,OAAI,SAAa,gBAAc;qBAe/B,QAAM,OAAA"}
|
package/dist/host/unix.js
CHANGED
|
@@ -1,8 +1,8 @@
|
|
|
1
|
-
import { a as provide, l as make$1 } from "../Graft-
|
|
1
|
+
import { a as provide, l as make$1 } from "../Graft-B71CPA2Y.js";
|
|
2
2
|
import { t as ConfigDirectory } from "../ConfigDirectory-BCC6q2R4.js";
|
|
3
|
-
import { a as payloadLimit, c as wrapper_default, i as path, s as protocol, t as fromSocket } from "../socketChannel-
|
|
3
|
+
import { a as payloadLimit, c as wrapper_default, i as path, s as protocol, t as fromSocket } from "../socketChannel-CJvL2DiB.js";
|
|
4
4
|
import { t as Connector } from "../Transport-DULzpsgR.js";
|
|
5
|
-
import {
|
|
5
|
+
import { u as TransportError } from "../Errors-DYhsGZcZ.js";
|
|
6
6
|
import { Cause, Effect, Layer, Option, Path, Redacted, Schema } from "effect";
|
|
7
7
|
import { Socket } from "effect/socket";
|
|
8
8
|
// packages/remote/src/host/unix.ts
|
package/dist/host/unix.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"unix.js","names":["Channel.fromSocket"],"sources":["../../src/host/unix.ts"],"sourcesContent":["
|
|
1
|
+
{"version":3,"file":"unix.js","names":["Channel.fromSocket"],"sources":["../../src/host/unix.ts"],"sourcesContent":["/** Options for the unix connector. */\nexport type { UnixOptions as Options } from \"../internal/transportOptions\"\nimport type { UnixOptions } from \"../internal/transportOptions\"\nimport { Plugin, Graft } from \"@graftland/graft\"\nimport { ConfigDirectory } from \"@graftland/loader\"\nimport { Cause, Effect, Layer, Option, Path, Redacted, Schema } from \"effect\"\nimport { Socket } from \"effect/socket\"\nimport WS from \"ws\"\nimport type { Prepared } from \"../Auth\"\nimport { Connector, type ConnectorApi } from \"../Transport\"\nimport { TransportError } from \"../Errors\"\nimport { path, protocol, payloadLimit } from \"../internal/websocket\"\nimport * as Channel from \"../internal/socketChannel\"\n\nexport const properties: ConnectorApi[\"properties\"] = {\n\tprotocol: \"unix\",\n\tencrypted: false,\n\tnetwork: false,\n\tcarries: [\"header\"],\n}\nconst constructor = (credentials: Prepared) =>\n\tLayer.succeed(\n\t\tSocket.WebSocketConstructor,\n\t\t(url) =>\n\t\t\tnew WS(url, protocol, {\n\t\t\t\theaders:\n\t\t\t\t\tcredentials._tag === \"Authorization\"\n\t\t\t\t\t\t? { authorization: Redacted.value(credentials.value) }\n\t\t\t\t\t\t: {},\n\t\t\t\tperMessageDeflate: false,\n\t\t\t\tmaxPayload: payloadLimit,\n\t\t\t}),\n\t)\nexport const make = (options: UnixOptions): ConnectorApi => ({\n\tproperties,\n\tconnect: Effect.fnUntraced(\n\t\tfunction* (credentials) {\n\t\t\tconst services = yield* Layer.build(constructor(credentials))\n\t\t\tconst socket = yield* Socket.makeWebSocket(\n\t\t\t\t`ws+unix://${options.path}:${path}`,\n\t\t\t).pipe(Effect.provideContext(services))\n\t\t\treturn yield* Channel.fromSocket(socket)\n\t\t},\n\t\tEffect.mapError((error) =>\n\t\t\tTransportError.make({ cause: Cause.fail(error) }),\n\t\t),\n\t),\n})\nexport const Config = Schema.Struct({ path: Schema.String })\nexport default Plugin.make({\n\tname: \"remote-unix-connector\",\n\tconfig: Config,\n\tinject: [Path.Path],\n\tapply: Effect.fnUntraced(function* (config) {\n\t\tconst path = yield* Path.Path\n\t\tconst directory = yield* ConfigDirectory\n\t\tyield* Graft.provide(\n\t\t\tConnector,\n\t\t\tmake({\n\t\t\t\tpath: path.resolve(\n\t\t\t\t\tOption.getOrElse(directory, () => \".\"),\n\t\t\t\t\tconfig.path,\n\t\t\t\t),\n\t\t\t}),\n\t\t)\n\t}),\n})\n"],"mappings":";;;;;;;;;;AAcA,MAAa,aAAyC;CACrD,UAAU;CACV,WAAW;CACX,SAAS;CACT,SAAS,CAAC,QAAQ;AACnB;AACA,MAAM,eAAe,gBACpB,MAAM,QACL,OAAO,uBACN,QACA,IAAI,GAAG,KAAK,UAAU;CACrB,SACC,YAAY,SAAS,kBAClB,EAAE,eAAe,SAAS,MAAM,YAAY,KAAK,EAAE,IACnD,CAAC;CACL,mBAAmB;CACnB,YAAY;AACb,CAAC,CACH;AACD,MAAa,QAAQ,aAAwC;CAC5D;CACA,SAAS,OAAO,WACf,WAAW,aAAa;EACvB,MAAM,WAAW,OAAO,MAAM,MAAM,YAAY,WAAW,CAAC;EAC5D,MAAM,SAAS,OAAO,OAAO,cAC5B,aAAa,QAAQ,KAAK,GAAG,MAC9B,CAAC,CAAC,KAAK,OAAO,eAAe,QAAQ,CAAC;EACtC,OAAO,OAAOA,WAAmB,MAAM;CACxC,GACA,OAAO,UAAU,UAChB,eAAe,KAAK,EAAE,OAAO,MAAM,KAAK,KAAK,EAAE,CAAC,CACjD,CACD;AACD;AACA,MAAa,SAAS,OAAO,OAAO,EAAE,MAAM,OAAO,OAAO,CAAC;AAC3D,IAAA,eAAe,OAAO,KAAK;CAC1B,MAAM;CACN,QAAQ;CACR,QAAQ,CAAC,KAAK,IAAI;CAClB,OAAO,OAAO,WAAW,WAAW,QAAQ;EAC3C,MAAM,OAAO,OAAO,KAAK;EACzB,MAAM,YAAY,OAAO;EACzB,OAAO,MAAM,QACZ,WACA,KAAK,EACJ,MAAM,KAAK,QACV,OAAO,UAAU,iBAAiB,GAAG,GACrC,OAAO,IACR,EACD,CAAC,CACF;CACD,CAAC;AACF,CAAC"}
|
package/dist/host/websocket.d.ts
CHANGED
|
@@ -9,5 +9,5 @@ export declare const Config: Schema.Struct<{
|
|
|
9
9
|
}>;
|
|
10
10
|
export declare const make: (options: WebsocketOptions, properties: ConnectorApi["properties"]) => ConnectorApi;
|
|
11
11
|
declare const _default: any;
|
|
12
|
-
export { _default as default };
|
|
12
|
+
export { type WebsocketOptions as Options, _default as default };
|
|
13
13
|
//# sourceMappingURL=websocket.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"websocket.d.ts","names":[],"sources":["../../src/host/websocket.ts"],"mappings":";;;;
|
|
1
|
+
{"version":3,"file":"websocket.d.ts","names":[],"sources":["../../src/host/websocket.ts"],"mappings":";;;;qBAYa,QAAM,OAAA;;;;;qBAKN,OAAI,SACP,kBAAgB,YACb,+BACV"}
|
package/dist/host/websocket.js
CHANGED
|
@@ -1,8 +1,8 @@
|
|
|
1
|
-
import { a as provide, l as make$1 } from "../Graft-
|
|
1
|
+
import { a as provide, l as make$1 } from "../Graft-B71CPA2Y.js";
|
|
2
2
|
import { t as Connector } from "../Transport-DULzpsgR.js";
|
|
3
|
-
import {
|
|
3
|
+
import { u as TransportError } from "../Errors-DYhsGZcZ.js";
|
|
4
4
|
import { t as ConfigDirectory } from "../ConfigDirectory-BCC6q2R4.js";
|
|
5
|
-
import { n as Url, o as properties, r as open, t as fromSocket } from "../socketChannel-
|
|
5
|
+
import { n as Url, o as properties, r as open, t as fromSocket } from "../socketChannel-CJvL2DiB.js";
|
|
6
6
|
import { Cause, Effect, FileSystem, Option, Path, Schema } from "effect";
|
|
7
7
|
// packages/remote/src/host/websocket.ts
|
|
8
8
|
/** Configured Connector; certificate paths belong to the enclosing configuration. */
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"websocket.js","names":["Websocket.Url","Websocket.open","Channel.fromSocket","Websocket.properties"],"sources":["../../src/host/websocket.ts"],"sourcesContent":["
|
|
1
|
+
{"version":3,"file":"websocket.js","names":["Websocket.Url","Websocket.open","Channel.fromSocket","Websocket.properties"],"sources":["../../src/host/websocket.ts"],"sourcesContent":["/** Options for the websocket connector. */\nexport type { WebsocketOptions as Options } from \"../internal/transportOptions\"\nimport type { WebsocketOptions } from \"../internal/transportOptions\"\nimport { Plugin, Graft } from \"@graftland/graft\"\nimport { Cause, Effect, FileSystem, Option, Path, Schema } from \"effect\"\nimport { Connector, type ConnectorApi } from \"../Transport\"\nimport { TransportError } from \"../Errors\"\nimport { ConfigDirectory } from \"@graftland/loader\"\nimport * as Websocket from \"../internal/websocket\"\nimport * as Channel from \"../internal/socketChannel\"\n\n/** Configured Connector; certificate paths belong to the enclosing configuration. */\nexport const Config = Schema.Struct({\n\turl: Websocket.Url,\n\tca: Schema.optionalKey(Schema.String),\n\tservername: Schema.optionalKey(Schema.String),\n})\nexport const make = (\n\toptions: WebsocketOptions,\n\tproperties: ConnectorApi[\"properties\"],\n): ConnectorApi => ({\n\tproperties,\n\tconnect: (prepared) =>\n\t\tWebsocket.open(\n\t\t\toptions,\n\t\t\tprepared._tag === \"Certificate\"\n\t\t\t\t? { certificate: prepared.value }\n\t\t\t\t: prepared._tag === \"Authorization\"\n\t\t\t\t\t? { authorization: prepared.value }\n\t\t\t\t\t: {},\n\t\t).pipe(\n\t\t\tEffect.flatMap(Channel.fromSocket),\n\t\t\tEffect.mapError((error) =>\n\t\t\t\tTransportError.make({ cause: Cause.fail(error) }),\n\t\t\t),\n\t\t),\n})\nexport default Plugin.make({\n\tname: \"remote-websocket-connector\",\n\tconfig: Config,\n\tinject: [FileSystem.FileSystem, Path.Path],\n\tapply: Effect.fnUntraced(function* (config) {\n\t\tconst fs = yield* FileSystem.FileSystem\n\t\tconst path = yield* Path.Path\n\t\tconst directory = yield* ConfigDirectory.pipe(\n\t\t\tEffect.map(Option.getOrElse(() => \".\")),\n\t\t)\n\t\tconst ca =\n\t\t\tconfig.ca === undefined\n\t\t\t\t? undefined\n\t\t\t\t: yield* fs.readFileString(path.resolve(directory, config.ca))\n\t\tyield* Graft.provide(\n\t\t\tConnector,\n\t\t\tmake(\n\t\t\t\t{\n\t\t\t\t\turl: config.url.href,\n\t\t\t\t\ttls: {\n\t\t\t\t\t\t...(ca === undefined ? {} : { ca }),\n\t\t\t\t\t\t...(config.servername === undefined\n\t\t\t\t\t\t\t? {}\n\t\t\t\t\t\t\t: { servername: config.servername }),\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t\tWebsocket.properties(config.url),\n\t\t\t),\n\t\t)\n\t}),\n})\n"],"mappings":";;;;;;;;;AAYA,MAAa,SAAS,OAAO,OAAO;CACnC,KAAKA;CACL,IAAI,OAAO,YAAY,OAAO,MAAM;CACpC,YAAY,OAAO,YAAY,OAAO,MAAM;AAC7C,CAAC;AACD,MAAa,QACZ,SACA,gBACmB;CACnB;CACA,UAAU,aACTC,KACC,SACA,SAAS,SAAS,gBACf,EAAE,aAAa,SAAS,MAAM,IAC9B,SAAS,SAAS,kBACjB,EAAE,eAAe,SAAS,MAAM,IAChC,CAAC,CACN,CAAC,CAAC,KACD,OAAO,QAAQC,UAAkB,GACjC,OAAO,UAAU,UAChB,eAAe,KAAK,EAAE,OAAO,MAAM,KAAK,KAAK,EAAE,CAAC,CACjD,CACD;AACF;AACA,IAAA,oBAAe,OAAO,KAAK;CAC1B,MAAM;CACN,QAAQ;CACR,QAAQ,CAAC,WAAW,YAAY,KAAK,IAAI;CACzC,OAAO,OAAO,WAAW,WAAW,QAAQ;EAC3C,MAAM,KAAK,OAAO,WAAW;EAC7B,MAAM,OAAO,OAAO,KAAK;EACzB,MAAM,YAAY,OAAO,gBAAgB,KACxC,OAAO,IAAI,OAAO,gBAAgB,GAAG,CAAC,CACvC;EACA,MAAM,KACL,OAAO,OAAO,KAAA,IACX,KAAA,IACA,OAAO,GAAG,eAAe,KAAK,QAAQ,WAAW,OAAO,EAAE,CAAC;EAC/D,OAAO,MAAM,QACZ,WACA,KACC;GACC,KAAK,OAAO,IAAI;GAChB,KAAK;IACJ,GAAI,OAAO,KAAA,IAAY,CAAC,IAAI,EAAE,GAAG;IACjC,GAAI,OAAO,eAAe,KAAA,IACvB,CAAC,IACD,EAAE,YAAY,OAAO,WAAW;GACpC;EACD,GACAC,WAAqB,OAAO,GAAG,CAChC,CACD;CACD,CAAC;AACF,CAAC"}
|
package/dist/host/worker.d.ts
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"worker.d.ts","names":[],"sources":["../../src/host/worker.ts"],"mappings":"
|
|
1
|
+
{"version":3,"file":"worker.d.ts","names":[],"sources":["../../src/host/worker.ts"],"mappings":"A,cAoFM"}
|
package/dist/host/worker.js
CHANGED
|
@@ -1,9 +1,8 @@
|
|
|
1
|
-
import { d as service } from "../Graft-
|
|
1
|
+
import { d as service } from "../Graft-B71CPA2Y.js";
|
|
2
2
|
import { n as WorkerTransport } from "../directTransport-DrexuPSm.js";
|
|
3
|
-
import {
|
|
4
|
-
import { n as Bootstrap, t as make } from "../workerChannel-
|
|
5
|
-
import { t as make$1 } from "../FailureGroup-
|
|
6
|
-
import { n as cleanupCause } from "../cleanup-BPWr-5U9.js";
|
|
3
|
+
import { o as ProcessExited, u as TransportError } from "../Errors-DYhsGZcZ.js";
|
|
4
|
+
import { n as Bootstrap, t as make } from "../workerChannel-C8hhBJzA.js";
|
|
5
|
+
import { r as cleanupCause, t as make$1 } from "../FailureGroup-BgT73AaR.js";
|
|
7
6
|
import { Cause, Deferred, Effect, FiberSet, Option, Schema } from "effect";
|
|
8
7
|
import { Worker } from "node:worker_threads";
|
|
9
8
|
// packages/remote/src/host/worker.ts
|
package/dist/host/worker.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"worker.js","names":["FailureGroup.make","Channel.make"],"sources":["../../src/host/worker.ts"],"sourcesContent":["import { Plugin
|
|
1
|
+
{"version":3,"file":"worker.js","names":["FailureGroup.make","Channel.make"],"sources":["../../src/host/worker.ts"],"sourcesContent":["import { Plugin } from \"@graftland/graft\"\nimport { Cause, Deferred, Effect, FiberSet, Option, Schema } from \"effect\"\nimport { Worker } from \"node:worker_threads\"\nimport { WorkerTransport } from \"../internal/directTransport\"\nimport { ProcessExited, TransportError } from \"../Errors\"\nimport * as Channel from \"../internal/workerChannel\"\nimport * as FailureGroup from \"../internal/FailureGroup\"\nimport { Bootstrap } from \"../internal/workerBootstrap\"\nimport { cleanupCause } from \"../internal/cleanup\"\n\nconst start: typeof WorkerTransport.Service.start = Effect.fnUntraced(\n\tfunction* (options) {\n\t\tconst data = yield* Schema.encodeEffect(Bootstrap)(options).pipe(\n\t\t\tEffect.mapError((error) =>\n\t\t\t\tTransportError.make({ cause: Cause.fail(error) }),\n\t\t\t),\n\t\t)\n\t\tconst exited = yield* Deferred.make<number>()\n\t\tconst failures = yield* FailureGroup.make<TransportError>()\n\t\tconst callbacks = yield* FiberSet.make()\n\t\tconst run = yield* FiberSet.runtime(callbacks)()\n\t\tconst onExit = (code: number) => run(Deferred.succeed(exited, code))\n\t\tconst onError = (error: Error) =>\n\t\t\trun(failures.fail(TransportError.make({ cause: Cause.die(error) })))\n\t\tconst worker = yield* Effect.acquireRelease(\n\t\t\tEffect.try({\n\t\t\t\ttry: () => {\n\t\t\t\t\tconst worker = new Worker(\n\t\t\t\t\t\tnew URL(\n\t\t\t\t\t\t\timport.meta.resolve(\"@graftland/plugin-remote/internal/worker\"),\n\t\t\t\t\t\t),\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tworkerData: data,\n\t\t\t\t\t\t\t...(options.execArgv === undefined\n\t\t\t\t\t\t\t\t? {}\n\t\t\t\t\t\t\t\t: { execArgv: [...options.execArgv] }),\n\t\t\t\t\t\t},\n\t\t\t\t\t)\n\t\t\t\t\tworker.on(\"exit\", onExit)\n\t\t\t\t\tworker.on(\"error\", onError)\n\t\t\t\t\treturn worker\n\t\t\t\t},\n\t\t\t\tcatch: (cause) => TransportError.make({ cause: Cause.die(cause) }),\n\t\t\t}),\n\t\t\t(worker) =>\n\t\t\t\tEffect.tryPromise({\n\t\t\t\t\ttry: () => worker.terminate(),\n\t\t\t\t\tcatch: (cause) => TransportError.make({ cause: Cause.die(cause) }),\n\t\t\t\t}).pipe(\n\t\t\t\t\tEffect.andThen(Deferred.await(exited)),\n\t\t\t\t\tEffect.ensuring(\n\t\t\t\t\t\tEffect.sync(() => {\n\t\t\t\t\t\t\tworker.off(\"exit\", onExit)\n\t\t\t\t\t\t\tworker.off(\"error\", onError)\n\t\t\t\t\t\t}),\n\t\t\t\t\t),\n\t\t\t\t\tEffect.catchCause((cause) => Effect.failCause(cleanupCause(cause))),\n\t\t\t\t),\n\t\t)\n\t\tconst threadId = worker.threadId\n\t\tconst channel = yield* Channel.make(worker)\n\t\treturn {\n\t\t\tchannel,\n\t\t\tpid: Option.none(),\n\t\t\tthreadId,\n\t\t\tfailure: failures.await,\n\t\t\texited: Deferred.await(exited).pipe(\n\t\t\t\tEffect.flatMap((exitCode) =>\n\t\t\t\t\tfailures.cause.pipe(\n\t\t\t\t\t\tEffect.map((statusCause) =>\n\t\t\t\t\t\t\tProcessExited.make({\n\t\t\t\t\t\t\t\tpid: Option.none(),\n\t\t\t\t\t\t\t\tthreadId,\n\t\t\t\t\t\t\t\texitCode,\n\t\t\t\t\t\t\t\tstderr: \"\",\n\t\t\t\t\t\t\t\tstatusCause,\n\t\t\t\t\t\t\t}),\n\t\t\t\t\t\t),\n\t\t\t\t\t),\n\t\t\t\t),\n\t\t\t),\n\t\t}\n\t},\n)\nconst plugin = Plugin.service(WorkerTransport, Effect.succeed({ start }), {\n\tname: \"remote-thread-transport\",\n})\nexport default plugin\n"],"mappings":";;;;;;;;;;AAUA,MAAM,QAA8C,OAAO,WAC1D,WAAW,SAAS;CACnB,MAAM,OAAO,OAAO,OAAO,aAAa,SAAS,CAAC,CAAC,OAAO,CAAC,CAAC,KAC3D,OAAO,UAAU,UAChB,eAAe,KAAK,EAAE,OAAO,MAAM,KAAK,KAAK,EAAE,CAAC,CACjD,CACD;CACA,MAAM,SAAS,OAAO,SAAS,KAAa;CAC5C,MAAM,WAAW,OAAOA,OAAkC;CAC1D,MAAM,YAAY,OAAO,SAAS,KAAK;CACvC,MAAM,MAAM,OAAO,SAAS,QAAQ,SAAS,CAAC,CAAC;CAC/C,MAAM,UAAU,SAAiB,IAAI,SAAS,QAAQ,QAAQ,IAAI,CAAC;CACnE,MAAM,WAAW,UAChB,IAAI,SAAS,KAAK,eAAe,KAAK,EAAE,OAAO,MAAM,IAAI,KAAK,EAAE,CAAC,CAAC,CAAC;CACpE,MAAM,SAAS,OAAO,OAAO,eAC5B,OAAO,IAAI;EACV,WAAW;GACV,MAAM,SAAS,IAAI,OAClB,IAAI,IACH,YAAY,QAAQ,0CAA0C,CAC/D,GACA;IACC,YAAY;IACZ,GAAI,QAAQ,aAAa,KAAA,IACtB,CAAC,IACD,EAAE,UAAU,CAAC,GAAG,QAAQ,QAAQ,EAAE;GACtC,CACD;GACA,OAAO,GAAG,QAAQ,MAAM;GACxB,OAAO,GAAG,SAAS,OAAO;GAC1B,OAAO;EACR;EACA,QAAQ,UAAU,eAAe,KAAK,EAAE,OAAO,MAAM,IAAI,KAAK,EAAE,CAAC;CAClE,CAAC,IACA,WACA,OAAO,WAAW;EACjB,WAAW,OAAO,UAAU;EAC5B,QAAQ,UAAU,eAAe,KAAK,EAAE,OAAO,MAAM,IAAI,KAAK,EAAE,CAAC;CAClE,CAAC,CAAC,CAAC,KACF,OAAO,QAAQ,SAAS,MAAM,MAAM,CAAC,GACrC,OAAO,SACN,OAAO,WAAW;EACjB,OAAO,IAAI,QAAQ,MAAM;EACzB,OAAO,IAAI,SAAS,OAAO;CAC5B,CAAC,CACF,GACA,OAAO,YAAY,UAAU,OAAO,UAAU,aAAa,KAAK,CAAC,CAAC,CACnE,CACF;CACA,MAAM,WAAW,OAAO;CAExB,OAAO;EACN,SAAA,OAFsBC,KAAa,MAAM;EAGzC,KAAK,OAAO,KAAK;EACjB;EACA,SAAS,SAAS;EAClB,QAAQ,SAAS,MAAM,MAAM,CAAC,CAAC,KAC9B,OAAO,SAAS,aACf,SAAS,MAAM,KACd,OAAO,KAAK,gBACX,cAAc,KAAK;GAClB,KAAK,OAAO,KAAK;GACjB;GACA;GACA,QAAQ;GACR;EACD,CAAC,CACF,CACD,CACD,CACD;CACD;AACD,CACD;AACA,MAAM,SAAS,OAAO,QAAQ,iBAAiB,OAAO,QAAQ,EAAE,MAAM,CAAC,GAAG,EACzE,MAAM,0BACP,CAAC"}
|