@graftland/plugin-remote 0.3.3 → 0.4.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +18 -54
- package/README.zh-CN.md +17 -51
- package/README.zh-TW.md +17 -51
- package/dist/Auth.d.ts.map +1 -1
- package/dist/Auth.js.map +1 -1
- package/dist/Config.d.ts +1151 -0
- package/dist/Config.d.ts.map +1 -0
- package/dist/Config.js +183 -0
- package/dist/Config.js.map +1 -0
- package/dist/Contract.d.ts +1 -1
- package/dist/Contract.d.ts.map +1 -1
- package/dist/Contract.js +32 -1
- package/dist/Contract.js.map +1 -1
- package/dist/Instance.d.ts.map +1 -1
- package/dist/Instance.js.map +1 -1
- package/dist/Testing.d.ts +1 -1
- package/dist/Testing.d.ts.map +1 -1
- package/dist/Testing.js.map +1 -1
- package/dist/Transport.d.ts +1 -1
- package/dist/Transport.d.ts.map +1 -1
- package/dist/Transport.js.map +1 -1
- package/dist/cli.d.ts +4 -0
- package/dist/cli.d.ts.map +1 -0
- package/dist/cli.js +25 -0
- package/dist/cli.js.map +1 -0
- package/dist/host/auth/bearer.d.ts.map +1 -1
- package/dist/host/auth/bearer.js +4 -2
- package/dist/host/auth/bearer.js.map +1 -1
- package/dist/host/auth/jwt.d.ts.map +1 -1
- package/dist/host/auth/jwt.js +4 -2
- package/dist/host/auth/jwt.js.map +1 -1
- package/dist/host/auth/mtls.d.ts +3 -7
- package/dist/host/auth/mtls.d.ts.map +1 -1
- package/dist/host/auth/mtls.js +13 -14
- package/dist/host/auth/mtls.js.map +1 -1
- package/dist/host/auth/none.d.ts +1 -1
- package/dist/host/auth/none.js +7 -5
- package/dist/host/auth/none.js.map +1 -1
- package/dist/host/command.d.ts +1 -1
- package/dist/host/command.d.ts.map +1 -1
- package/dist/host/command.js +11 -9
- package/dist/host/command.js.map +1 -1
- package/dist/host/local.d.ts.map +1 -1
- package/dist/host/local.js +9 -30
- 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 +13 -9
- 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 +11 -8
- package/dist/host/websocket.js.map +1 -1
- package/dist/host/worker.d.ts +1 -1
- package/dist/host/worker.d.ts.map +1 -1
- package/dist/host/worker.js +13 -9
- package/dist/host/worker.js.map +1 -1
- package/dist/index.d.ts +6 -8
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +30 -64
- package/dist/index.js.map +1 -1
- package/dist/internal/Certificates.js.map +1 -1
- package/dist/internal/FailureGroup.js +6 -6
- package/dist/internal/FailureGroup.js.map +1 -1
- package/dist/internal/Peer.js.map +1 -1
- package/dist/internal/{ServeLifecycle.js → RunnerLifecycle.js} +6 -6
- package/dist/internal/RunnerLifecycle.js.map +1 -0
- package/dist/internal/Supervisor.js.map +1 -1
- package/dist/internal/assembly.d.ts +3 -3
- package/dist/internal/assembly.js +8 -8
- package/dist/internal/assembly.js.map +1 -1
- package/dist/internal/auth/config.d.ts +27 -0
- package/dist/internal/auth/config.d.ts.map +1 -0
- package/dist/internal/auth/config.js +29 -0
- package/dist/internal/auth/config.js.map +1 -0
- package/dist/internal/auth/mtls.js.map +1 -1
- package/dist/internal/auth/token.js.map +1 -1
- package/dist/internal/auth/tokenCredentials.d.ts +1 -1
- package/dist/internal/auth/tokenCredentials.d.ts.map +1 -1
- package/dist/internal/auth/tokenCredentials.js +1 -1
- package/dist/internal/auth/tokenCredentials.js.map +1 -1
- package/dist/internal/child.js +3 -3
- package/dist/internal/child.js.map +1 -1
- package/dist/internal/childMain.js +47 -0
- package/dist/internal/childMain.js.map +1 -0
- package/dist/internal/childRuntime.js +8 -8
- package/dist/internal/childRuntime.js.map +1 -1
- package/dist/internal/cleanup.js +3 -3
- package/dist/internal/cleanup.js.map +1 -1
- package/dist/internal/contract.js.map +1 -1
- package/dist/internal/credentials.d.ts +3 -2
- package/dist/internal/credentials.d.ts.map +1 -1
- package/dist/internal/credentials.js +1 -1
- package/dist/internal/credentials.js.map +1 -1
- package/dist/internal/directTransport.js.map +1 -1
- package/dist/internal/entry.d.ts +104 -26
- package/dist/internal/entry.d.ts.map +1 -1
- package/dist/internal/entry.js +22 -9
- package/dist/internal/entry.js.map +1 -1
- package/dist/internal/entryConfig.d.ts +2 -202
- package/dist/internal/entryConfig.js +2 -136
- package/dist/internal/entryConfig.js.map +1 -1
- package/dist/internal/execution.d.ts +4 -4
- package/dist/internal/execution.js +11 -11
- package/dist/internal/execution.js.map +1 -1
- package/dist/internal/follow.js +1 -1
- package/dist/internal/follow.js.map +1 -1
- package/dist/internal/forkTree.js.map +1 -1
- package/dist/internal/host/local.js.map +1 -1
- package/dist/internal/host/runner.js +4 -4
- package/dist/internal/host/runner.js.map +1 -1
- package/dist/internal/host.js +2 -2
- package/dist/internal/host.js.map +1 -1
- package/dist/internal/importer.js +1 -1
- package/dist/internal/importer.js.map +1 -1
- package/dist/internal/listenerStartup.js +1 -1
- package/dist/internal/listenerStartup.js.map +1 -1
- package/dist/internal/loadModule.js.map +1 -1
- package/dist/internal/platform.js +1 -9
- package/dist/internal/port.d.ts +1 -1
- package/dist/internal/port.js +2 -2
- package/dist/internal/port.js.map +1 -1
- package/dist/internal/runner/Bootstrap.js.map +1 -1
- package/dist/internal/runner/Connection.d.ts +3 -2
- package/dist/internal/runner/Connection.js +6 -6
- package/dist/internal/runner/Connection.js.map +1 -1
- package/dist/internal/runner/Execution.js +6 -6
- package/dist/internal/runner/Execution.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.map +1 -1
- package/dist/internal/runner/Multiplex.js.map +1 -1
- package/dist/internal/runner/Packages.js.map +1 -1
- package/dist/internal/runner/ProcessObservation.js.map +1 -1
- package/dist/internal/runner/Processes.js.map +1 -1
- package/dist/internal/runner/Retention.js.map +1 -1
- package/dist/internal/runner/Store.js.map +1 -1
- package/dist/internal/runner/Supervisor.js +5 -5
- package/dist/internal/runner/Supervisor.js.map +1 -1
- package/dist/internal/runner/Watchdog.js.map +1 -1
- package/dist/internal/runner/Wire.d.ts +1 -1
- package/dist/internal/runner/Wire.js.map +1 -1
- package/dist/internal/runner/accept.js +2 -2
- package/dist/internal/runner/accept.js.map +1 -1
- package/dist/internal/runner/command.js +1 -1
- package/dist/internal/runner/command.js.map +1 -1
- package/dist/internal/runner/connectionEnded.js +1 -1
- package/dist/internal/runner/connectionEnded.js.map +1 -1
- package/dist/internal/runner/model.d.ts.map +1 -1
- package/dist/internal/runner/model.js.map +1 -1
- package/dist/internal/services.d.ts.map +1 -1
- package/dist/internal/services.js +1 -1
- package/dist/internal/services.js.map +1 -1
- package/dist/internal/socketChannel.js.map +1 -1
- package/dist/internal/stdioChannel.js.map +1 -1
- package/dist/internal/supervisorPlugin.js +48 -1
- package/dist/internal/supervisorPlugin.js.map +1 -1
- package/dist/internal/transportOptions.d.ts.map +1 -1
- package/dist/internal/watchdogMain.js +5 -3
- package/dist/internal/watchdogMain.js.map +1 -1
- package/dist/internal/websocket.js.map +1 -1
- package/dist/internal/websocketServer.js +1 -1
- package/dist/internal/websocketServer.js.map +1 -1
- package/dist/internal/workerChannel.js.map +1 -1
- package/dist/internal/workerMain.js +13 -6
- package/dist/internal/workerMain.js.map +1 -1
- package/dist/runner/auth/bearer.d.ts +3 -5
- package/dist/runner/auth/bearer.d.ts.map +1 -1
- package/dist/runner/auth/bearer.js +13 -11
- package/dist/runner/auth/bearer.js.map +1 -1
- package/dist/runner/auth/jwt.d.ts +4 -18
- package/dist/runner/auth/jwt.d.ts.map +1 -1
- package/dist/runner/auth/jwt.js +16 -28
- package/dist/runner/auth/jwt.js.map +1 -1
- package/dist/runner/auth/mtls.d.ts +3 -6
- package/dist/runner/auth/mtls.d.ts.map +1 -1
- package/dist/runner/auth/mtls.js +13 -29
- package/dist/runner/auth/mtls.js.map +1 -1
- package/dist/runner/auth/none.d.ts +1 -1
- package/dist/runner/auth/none.js +7 -5
- package/dist/runner/auth/none.js.map +1 -1
- package/dist/runner/index.d.ts +3 -308
- package/dist/runner/index.d.ts.map +1 -1
- package/dist/runner/index.js +62 -30
- package/dist/runner/index.js.map +1 -1
- package/dist/runner/stdio.d.ts +1 -1
- package/dist/runner/stdio.d.ts.map +1 -1
- package/dist/runner/stdio.js +11 -9
- package/dist/runner/stdio.js.map +1 -1
- package/dist/runner/unix.d.ts +1 -1
- package/dist/runner/unix.d.ts.map +1 -1
- package/dist/runner/unix.js +10 -8
- package/dist/runner/unix.js.map +1 -1
- package/dist/runner/websocket.d.ts +1 -1
- package/dist/runner/websocket.d.ts.map +1 -1
- package/dist/runner/websocket.js +12 -10
- package/dist/runner/websocket.js.map +1 -1
- package/package.json +14 -12
- package/schema.json +2269 -0
- package/src/Auth.ts +8 -2
- package/src/Config.ts +196 -0
- package/src/Contract.ts +12 -3
- package/src/Instance.ts +1 -0
- package/src/Testing.ts +6 -4
- package/src/Transport.ts +12 -3
- package/src/cli.ts +60 -0
- package/src/host/auth/bearer.ts +1 -0
- package/src/host/auth/jwt.ts +1 -0
- package/src/host/auth/mtls.ts +7 -12
- package/src/host/auth/none.ts +3 -1
- package/src/host/command.ts +8 -5
- package/src/host/local.ts +4 -2
- package/src/host/unix.ts +11 -7
- package/src/host/websocket.ts +10 -7
- package/src/host/worker.ts +8 -5
- package/src/index.ts +36 -23
- package/src/internal/Certificates.ts +1 -0
- package/src/internal/FailureGroup.ts +5 -3
- package/src/internal/Peer.ts +1 -0
- package/src/internal/{ServeLifecycle.ts → RunnerLifecycle.ts} +7 -5
- package/src/internal/Supervisor.ts +5 -4
- package/src/internal/assembly.ts +11 -9
- package/src/internal/auth/config.ts +44 -0
- package/src/internal/auth/mtls.ts +1 -0
- package/src/internal/auth/token.ts +1 -0
- package/src/internal/auth/tokenCredentials.ts +4 -2
- package/src/internal/child.ts +8 -6
- package/src/{bin.ts → internal/childMain.ts} +16 -61
- package/src/internal/childRuntime.ts +12 -10
- package/src/internal/cleanup.ts +3 -2
- package/src/internal/contract.ts +1 -0
- package/src/internal/credentials.ts +3 -1
- package/src/internal/directTransport.ts +9 -2
- package/src/internal/entry.ts +53 -16
- package/src/internal/entryConfig.ts +10 -132
- package/src/internal/execution.ts +17 -15
- package/src/internal/follow.ts +2 -1
- package/src/internal/forkTree.ts +2 -1
- package/src/internal/host/local.ts +1 -0
- package/src/internal/host/runner.ts +7 -5
- package/src/internal/host.ts +9 -8
- package/src/internal/importer.ts +3 -2
- package/src/internal/listenerStartup.ts +4 -2
- package/src/internal/loadModule.ts +1 -0
- package/src/internal/platform.ts +1 -12
- package/src/internal/port.ts +11 -6
- package/src/internal/runner/Bootstrap.ts +1 -0
- package/src/internal/runner/Connection.ts +13 -11
- package/src/internal/runner/Execution.ts +14 -13
- package/src/internal/runner/Local.ts +3 -2
- package/src/internal/runner/Lock.ts +1 -0
- package/src/internal/runner/Multiplex.ts +2 -1
- package/src/internal/runner/Packages.ts +7 -5
- package/src/internal/runner/ProcessObservation.ts +2 -1
- package/src/internal/runner/Processes.ts +3 -1
- package/src/internal/runner/Retention.ts +1 -0
- package/src/internal/runner/Store.ts +3 -2
- package/src/internal/runner/Supervisor.ts +22 -20
- package/src/internal/runner/Watchdog.ts +3 -1
- package/src/internal/runner/Wire.ts +13 -12
- package/src/internal/runner/accept.ts +6 -5
- package/src/internal/runner/command.ts +3 -2
- package/src/internal/runner/connectionEnded.ts +2 -1
- package/src/internal/runner/model.ts +5 -3
- package/src/internal/services.ts +9 -2
- package/src/internal/socketChannel.ts +2 -1
- package/src/internal/stdioChannel.ts +4 -2
- package/src/internal/supervisorPlugin.ts +10 -8
- package/src/internal/transportOptions.ts +1 -0
- package/src/internal/watchdogMain.ts +5 -3
- package/src/internal/websocket.ts +5 -2
- package/src/internal/websocketServer.ts +6 -4
- package/src/internal/workerChannel.ts +1 -0
- package/src/internal/workerMain.ts +21 -5
- package/src/runner/auth/bearer.ts +10 -6
- package/src/runner/auth/jwt.ts +10 -41
- package/src/runner/auth/mtls.ts +6 -3
- package/src/runner/auth/none.ts +3 -1
- package/src/runner/index.ts +102 -11
- package/src/runner/stdio.ts +15 -10
- package/src/runner/unix.ts +7 -4
- package/src/runner/websocket.ts +9 -7
- package/dist/Auth-BElTC9_X.js +0 -6
- package/dist/Bootstrap-H9gDsgsC.js +0 -9
- package/dist/ConfigDirectory-BCC6q2R4.js +0 -5
- package/dist/Contract-DsJtisvL.js +0 -83
- package/dist/Errors-DYhsGZcZ.js +0 -58
- package/dist/FailureGroup-BgT73AaR.js +0 -63
- package/dist/Framing-G9eSaeLb.js +0 -61
- package/dist/Graft-B71CPA2Y.js +0 -996
- package/dist/Packages-AgoCGotL.js +0 -108
- package/dist/Peer-DXeVrGBh.js +0 -342
- package/dist/ProcessObservation-gLgGirYv.js +0 -38
- package/dist/ServeLifecycle-Bd1FPJ6e.js +0 -24
- package/dist/Transport-DULzpsgR.js +0 -6
- package/dist/WatchdogProtocol-BZmVxrBP.js +0 -17
- package/dist/bin.js +0 -28276
- package/dist/bin.js.map +0 -1
- package/dist/childRuntime-Bm3iSg_N.js +0 -192
- package/dist/command-9zrHdbwT.js +0 -7
- package/dist/connectionEnded-BwcxQ7W8.js +0 -54
- package/dist/directTransport-DrexuPSm.js +0 -5
- package/dist/entry-psOpX3Bj.js +0 -736
- package/dist/importer-Cvf88eAY.js +0 -344
- package/dist/internal/ServeLifecycle.js.map +0 -1
- package/dist/internal/entryConfig.d.ts.map +0 -1
- package/dist/internal/platform.js.map +0 -1
- package/dist/internal/release.js +0 -25
- package/dist/internal/release.js.map +0 -1
- package/dist/internal/serve.js +0 -60
- package/dist/internal/serve.js.map +0 -1
- package/dist/port--3x2zJ4D.js +0 -285
- package/dist/release-DfZPuIcK.js +0 -23
- package/dist/rolldown-runtime-DYf_mQCB.js +0 -34
- package/dist/socketChannel-CJvL2DiB.js +0 -3658
- package/dist/supervisorPlugin-t6Z6PrhD.js +0 -733
- package/dist/token-CYBNNlhS.js +0 -17
- package/dist/tokenCredentials-CbCuk-Rt.js +0 -31
- package/dist/websocketServer-NQhODlEt.js +0 -60
- package/dist/workerChannel-C8hhBJzA.js +0 -27
- package/src/internal/release.ts +0 -72
- package/src/internal/serve.ts +0 -119
- /package/dist/{bin.d.ts → internal/childMain.d.ts} +0 -0
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Config.d.ts","names":[],"sources":["../src/Config.ts"],"mappings":";qBAMa,WAAS,OAAA;;;;YAIV,mBAAmB,UAAU;qBAgC5B,gBAAc,OAAA,gBAAA,OAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;qBAMd,sBAAoB,OAAA,gBAAA,OAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;qBAmCpB,SAAO,OAAA,gBAAA,OAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;YAuCR,iBAAiB,QAAQ;qBACxB,QAAM,OAAA,gBAAA,OAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;YAoCP,gBAAgB,OAAO;qBACtB,MAAI,OAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;qBAKJ,QAAM,OAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;qBASN,KAAG,OAAA;;qBAEH"}
|
package/dist/Config.js
ADDED
|
@@ -0,0 +1,183 @@
|
|
|
1
|
+
import { Bearer, Certificate, Jwt, Mtls, None, Token } from "./internal/auth/config.js";
|
|
2
|
+
import { PositiveDuration } from "./internal/config.js";
|
|
3
|
+
import { Effect, JsonSchema, Schema } from "effect";
|
|
4
|
+
// src/Config.ts
|
|
5
|
+
/** Configuration schemas for remote entries and their built-in capabilities. */
|
|
6
|
+
const Reference = Schema.Struct({
|
|
7
|
+
name: Schema.String,
|
|
8
|
+
config: Schema.optionalKey(Schema.Unknown)
|
|
9
|
+
});
|
|
10
|
+
const absent = Schema.optionalKey(Schema.Never);
|
|
11
|
+
const authFields = {
|
|
12
|
+
name: absent,
|
|
13
|
+
config: absent,
|
|
14
|
+
mtls: absent,
|
|
15
|
+
bearer: absent,
|
|
16
|
+
jwt: absent,
|
|
17
|
+
none: absent
|
|
18
|
+
};
|
|
19
|
+
const authentication = (schemas) => Schema.Union([
|
|
20
|
+
Schema.Struct({
|
|
21
|
+
...authFields,
|
|
22
|
+
name: Schema.String,
|
|
23
|
+
config: Schema.optionalKey(Schema.Unknown)
|
|
24
|
+
}),
|
|
25
|
+
Schema.Struct({
|
|
26
|
+
...authFields,
|
|
27
|
+
mtls: schemas.mtls
|
|
28
|
+
}),
|
|
29
|
+
Schema.Struct({
|
|
30
|
+
...authFields,
|
|
31
|
+
bearer: schemas.bearer
|
|
32
|
+
}),
|
|
33
|
+
Schema.Struct({
|
|
34
|
+
...authFields,
|
|
35
|
+
jwt: schemas.jwt
|
|
36
|
+
}),
|
|
37
|
+
Schema.Struct({
|
|
38
|
+
...authFields,
|
|
39
|
+
none: schemas.none
|
|
40
|
+
})
|
|
41
|
+
]);
|
|
42
|
+
const Authentication = authentication({
|
|
43
|
+
mtls: Certificate,
|
|
44
|
+
bearer: Token,
|
|
45
|
+
jwt: Token,
|
|
46
|
+
none: None
|
|
47
|
+
});
|
|
48
|
+
const RunnerAuthentication = authentication({
|
|
49
|
+
mtls: Mtls,
|
|
50
|
+
bearer: Bearer,
|
|
51
|
+
jwt: Schema.toEncoded(Jwt),
|
|
52
|
+
none: None
|
|
53
|
+
});
|
|
54
|
+
const transportFields = {
|
|
55
|
+
url: absent,
|
|
56
|
+
unix: absent,
|
|
57
|
+
command: absent,
|
|
58
|
+
stdio: absent,
|
|
59
|
+
local: absent,
|
|
60
|
+
worker: absent,
|
|
61
|
+
transport: absent
|
|
62
|
+
};
|
|
63
|
+
const auth = Schema.optionalKey(Authentication);
|
|
64
|
+
const common = {
|
|
65
|
+
instance: Schema.optionalKey(Schema.String),
|
|
66
|
+
lease: Schema.optionalKey(PositiveDuration),
|
|
67
|
+
margin: Schema.optionalKey(PositiveDuration),
|
|
68
|
+
expect: Schema.optionalKey(Schema.Struct({
|
|
69
|
+
version: Schema.optionalKey(Schema.String),
|
|
70
|
+
digest: Schema.optionalKey(Schema.String)
|
|
71
|
+
}))
|
|
72
|
+
};
|
|
73
|
+
const network = {
|
|
74
|
+
...transportFields,
|
|
75
|
+
...common,
|
|
76
|
+
auth,
|
|
77
|
+
url: Schema.String,
|
|
78
|
+
ca: Schema.optionalKey(Schema.String),
|
|
79
|
+
servername: Schema.optionalKey(Schema.String)
|
|
80
|
+
};
|
|
81
|
+
const Connect = Schema.Union([
|
|
82
|
+
Schema.Struct(network),
|
|
83
|
+
Schema.Struct({
|
|
84
|
+
...transportFields,
|
|
85
|
+
...common,
|
|
86
|
+
auth,
|
|
87
|
+
unix: Schema.String
|
|
88
|
+
}),
|
|
89
|
+
Schema.Struct({
|
|
90
|
+
...transportFields,
|
|
91
|
+
...common,
|
|
92
|
+
command: Schema.NonEmptyArray(Schema.String),
|
|
93
|
+
auth: Schema.optionalKey(Schema.Never.annotate({ message: "Direct and stdio transports do not accept auth" })),
|
|
94
|
+
cwd: Schema.optionalKey(Schema.String),
|
|
95
|
+
env: Schema.optionalKey(Schema.Record(Schema.String, Schema.String))
|
|
96
|
+
}),
|
|
97
|
+
Schema.Struct({
|
|
98
|
+
...transportFields,
|
|
99
|
+
auth: Schema.optionalKey(Schema.Never.annotate({ message: "Direct and stdio transports do not accept auth" })),
|
|
100
|
+
local: Schema.Struct({ command: Schema.optionalKey(Schema.NonEmptyArray(Schema.String)) })
|
|
101
|
+
}),
|
|
102
|
+
Schema.Struct({
|
|
103
|
+
...transportFields,
|
|
104
|
+
auth: Schema.optionalKey(Schema.Never.annotate({ message: "Direct and stdio transports do not accept auth" })),
|
|
105
|
+
worker: Schema.Struct({ execArgv: Schema.optionalKey(Schema.Array(Schema.String)) })
|
|
106
|
+
}),
|
|
107
|
+
Schema.Struct({
|
|
108
|
+
...transportFields,
|
|
109
|
+
...common,
|
|
110
|
+
auth,
|
|
111
|
+
transport: Reference
|
|
112
|
+
})
|
|
113
|
+
]);
|
|
114
|
+
const Listen = Schema.Union([
|
|
115
|
+
Schema.Struct({
|
|
116
|
+
...transportFields,
|
|
117
|
+
auth: Schema.optionalKey(RunnerAuthentication),
|
|
118
|
+
url: Schema.String.check(Schema.isStartingWith("ws://")),
|
|
119
|
+
cert: absent,
|
|
120
|
+
key: absent
|
|
121
|
+
}),
|
|
122
|
+
Schema.Struct({
|
|
123
|
+
...transportFields,
|
|
124
|
+
auth: Schema.optionalKey(RunnerAuthentication),
|
|
125
|
+
url: Schema.String.check(Schema.isStartingWith("wss://")),
|
|
126
|
+
cert: Schema.String,
|
|
127
|
+
key: Schema.String
|
|
128
|
+
}),
|
|
129
|
+
Schema.Struct({
|
|
130
|
+
...transportFields,
|
|
131
|
+
auth: Schema.optionalKey(RunnerAuthentication),
|
|
132
|
+
unix: Schema.String
|
|
133
|
+
}),
|
|
134
|
+
Schema.Struct({
|
|
135
|
+
...transportFields,
|
|
136
|
+
stdio: Schema.Literal(true),
|
|
137
|
+
auth: Schema.optionalKey(Schema.Never.annotate({ message: "Direct and stdio transports do not accept auth" })),
|
|
138
|
+
identity: Schema.optionalKey(Schema.String)
|
|
139
|
+
}),
|
|
140
|
+
Schema.Struct({
|
|
141
|
+
...transportFields,
|
|
142
|
+
auth: Schema.optionalKey(RunnerAuthentication),
|
|
143
|
+
transport: Reference
|
|
144
|
+
})
|
|
145
|
+
]);
|
|
146
|
+
const Host = Schema.Struct({
|
|
147
|
+
contract: Schema.String,
|
|
148
|
+
connect: Connect,
|
|
149
|
+
config: Schema.Json.pipe(Schema.withDecodingDefaultKey(Effect.succeed({})))
|
|
150
|
+
});
|
|
151
|
+
const Runner = Schema.Struct({
|
|
152
|
+
root: Schema.String,
|
|
153
|
+
state: Schema.String,
|
|
154
|
+
lease: Schema.optionalKey(PositiveDuration),
|
|
155
|
+
grace: Schema.optionalKey(PositiveDuration),
|
|
156
|
+
listen: Schema.Array(Listen)
|
|
157
|
+
});
|
|
158
|
+
/** The command plugin has no business configuration. */
|
|
159
|
+
const Cli = Schema.Struct({});
|
|
160
|
+
/** Editor registrations, with inline schemas so consumers can compose them without reference collisions. */
|
|
161
|
+
const entries = () => [
|
|
162
|
+
{
|
|
163
|
+
names: ["remote", "@graftland/plugin-remote"],
|
|
164
|
+
schema: json(Host),
|
|
165
|
+
required: true
|
|
166
|
+
},
|
|
167
|
+
{
|
|
168
|
+
names: ["remote/runner", "@graftland/plugin-remote/runner"],
|
|
169
|
+
schema: json(Runner),
|
|
170
|
+
required: true
|
|
171
|
+
},
|
|
172
|
+
{
|
|
173
|
+
names: ["remote/cli", "@graftland/plugin-remote/cli"],
|
|
174
|
+
schema: json(Cli)
|
|
175
|
+
}
|
|
176
|
+
];
|
|
177
|
+
const json = (schema) => JsonSchema.toDocumentDraft07(Schema.toJsonSchemaDocument(schema, {
|
|
178
|
+
referencePolicy: () => void 0,
|
|
179
|
+
onExcessProperty: "error"
|
|
180
|
+
})).schema;
|
|
181
|
+
export { Authentication, Cli, Connect, Host, Listen, Reference, Runner, RunnerAuthentication, entries };
|
|
182
|
+
|
|
183
|
+
//# sourceMappingURL=Config.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Config.js","names":["Auth.Certificate","Auth.Token","Auth.None","Auth.Mtls","Auth.Bearer","Auth.Jwt"],"sources":["../src/Config.ts"],"sourcesContent":["/** Configuration schemas for remote entries and their built-in capabilities. */\nimport { Effect, JsonSchema, Schema } from \"effect\"\n\nimport * as Auth from \"./internal/auth/config\"\nimport { PositiveDuration } from \"./internal/config\"\n\nexport const Reference = Schema.Struct({\n\tname: Schema.String,\n\tconfig: Schema.optionalKey(Schema.Unknown),\n})\nexport type Reference = typeof Reference.Type\nconst absent = Schema.optionalKey(Schema.Never)\nconst authFields = {\n\tname: absent,\n\tconfig: absent,\n\tmtls: absent,\n\tbearer: absent,\n\tjwt: absent,\n\tnone: absent,\n}\nconst authentication = <\n\tM extends Schema.Top,\n\tB extends Schema.Top,\n\tJ extends Schema.Top,\n\tN extends Schema.Top,\n>(schemas: {\n\treadonly mtls: M\n\treadonly bearer: B\n\treadonly jwt: J\n\treadonly none: N\n}) =>\n\tSchema.Union([\n\t\tSchema.Struct({\n\t\t\t...authFields,\n\t\t\tname: Schema.String,\n\t\t\tconfig: Schema.optionalKey(Schema.Unknown),\n\t\t}),\n\t\tSchema.Struct({ ...authFields, mtls: schemas.mtls }),\n\t\tSchema.Struct({ ...authFields, bearer: schemas.bearer }),\n\t\tSchema.Struct({ ...authFields, jwt: schemas.jwt }),\n\t\tSchema.Struct({ ...authFields, none: schemas.none }),\n\t])\nexport const Authentication = authentication({\n\tmtls: Auth.Certificate,\n\tbearer: Auth.Token,\n\tjwt: Auth.Token,\n\tnone: Auth.None,\n})\nexport const RunnerAuthentication = authentication({\n\tmtls: Auth.Mtls,\n\tbearer: Auth.Bearer,\n\tjwt: Schema.toEncoded(Auth.Jwt),\n\tnone: Auth.None,\n})\nconst transportFields = {\n\turl: absent,\n\tunix: absent,\n\tcommand: absent,\n\tstdio: absent,\n\tlocal: absent,\n\tworker: absent,\n\ttransport: absent,\n}\nconst auth = Schema.optionalKey(Authentication)\nconst common = {\n\tinstance: Schema.optionalKey(Schema.String),\n\tlease: Schema.optionalKey(PositiveDuration),\n\tmargin: Schema.optionalKey(PositiveDuration),\n\texpect: Schema.optionalKey(\n\t\tSchema.Struct({\n\t\t\tversion: Schema.optionalKey(Schema.String),\n\t\t\tdigest: Schema.optionalKey(Schema.String),\n\t\t}),\n\t),\n}\nconst network = {\n\t...transportFields,\n\t...common,\n\tauth,\n\turl: Schema.String,\n\tca: Schema.optionalKey(Schema.String),\n\tservername: Schema.optionalKey(Schema.String),\n}\nexport const Connect = Schema.Union([\n\tSchema.Struct(network),\n\tSchema.Struct({ ...transportFields, ...common, auth, unix: Schema.String }),\n\tSchema.Struct({\n\t\t...transportFields,\n\t\t...common,\n\t\tcommand: Schema.NonEmptyArray(Schema.String),\n\t\tauth: Schema.optionalKey(\n\t\t\tSchema.Never.annotate({\n\t\t\t\tmessage: \"Direct and stdio transports do not accept auth\",\n\t\t\t}),\n\t\t),\n\t\tcwd: Schema.optionalKey(Schema.String),\n\t\tenv: Schema.optionalKey(Schema.Record(Schema.String, Schema.String)),\n\t}),\n\tSchema.Struct({\n\t\t...transportFields,\n\t\tauth: Schema.optionalKey(\n\t\t\tSchema.Never.annotate({\n\t\t\t\tmessage: \"Direct and stdio transports do not accept auth\",\n\t\t\t}),\n\t\t),\n\t\tlocal: Schema.Struct({\n\t\t\tcommand: Schema.optionalKey(Schema.NonEmptyArray(Schema.String)),\n\t\t}),\n\t}),\n\tSchema.Struct({\n\t\t...transportFields,\n\t\tauth: Schema.optionalKey(\n\t\t\tSchema.Never.annotate({\n\t\t\t\tmessage: \"Direct and stdio transports do not accept auth\",\n\t\t\t}),\n\t\t),\n\t\tworker: Schema.Struct({\n\t\t\texecArgv: Schema.optionalKey(Schema.Array(Schema.String)),\n\t\t}),\n\t}),\n\tSchema.Struct({ ...transportFields, ...common, auth, transport: Reference }),\n])\nexport type Connect = typeof Connect.Type\nexport const Listen = Schema.Union([\n\tSchema.Struct({\n\t\t...transportFields,\n\t\tauth: Schema.optionalKey(RunnerAuthentication),\n\t\turl: Schema.String.check(Schema.isStartingWith(\"ws://\")),\n\t\tcert: absent,\n\t\tkey: absent,\n\t}),\n\tSchema.Struct({\n\t\t...transportFields,\n\t\tauth: Schema.optionalKey(RunnerAuthentication),\n\t\turl: Schema.String.check(Schema.isStartingWith(\"wss://\")),\n\t\tcert: Schema.String,\n\t\tkey: Schema.String,\n\t}),\n\tSchema.Struct({\n\t\t...transportFields,\n\t\tauth: Schema.optionalKey(RunnerAuthentication),\n\t\tunix: Schema.String,\n\t}),\n\tSchema.Struct({\n\t\t...transportFields,\n\t\tstdio: Schema.Literal(true),\n\t\tauth: Schema.optionalKey(\n\t\t\tSchema.Never.annotate({\n\t\t\t\tmessage: \"Direct and stdio transports do not accept auth\",\n\t\t\t}),\n\t\t),\n\t\tidentity: Schema.optionalKey(Schema.String),\n\t}),\n\tSchema.Struct({\n\t\t...transportFields,\n\t\tauth: Schema.optionalKey(RunnerAuthentication),\n\t\ttransport: Reference,\n\t}),\n])\nexport type Listen = typeof Listen.Type\nexport const Host = Schema.Struct({\n\tcontract: Schema.String,\n\tconnect: Connect,\n\tconfig: Schema.Json.pipe(Schema.withDecodingDefaultKey(Effect.succeed({}))),\n})\nexport const Runner = Schema.Struct({\n\troot: Schema.String,\n\tstate: Schema.String,\n\tlease: Schema.optionalKey(PositiveDuration),\n\tgrace: Schema.optionalKey(PositiveDuration),\n\tlisten: Schema.Array(Listen),\n})\n\n/** The command plugin has no business configuration. */\nexport const Cli = Schema.Struct({})\n/** Editor registrations, with inline schemas so consumers can compose them without reference collisions. */\nexport const entries = () => [\n\t{\n\t\tnames: [\"remote\", \"@graftland/plugin-remote\"],\n\t\tschema: json(Host),\n\t\trequired: true,\n\t},\n\t{\n\t\tnames: [\"remote/runner\", \"@graftland/plugin-remote/runner\"],\n\t\tschema: json(Runner),\n\t\trequired: true,\n\t},\n\t{ names: [\"remote/cli\", \"@graftland/plugin-remote/cli\"], schema: json(Cli) },\n]\nconst json = (schema: Schema.Top) =>\n\tJsonSchema.toDocumentDraft07(\n\t\tSchema.toJsonSchemaDocument(schema, {\n\t\t\treferencePolicy: () => undefined,\n\t\t\tonExcessProperty: \"error\",\n\t\t}),\n\t).schema\n"],"mappings":"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"}
|
package/dist/Contract.d.ts
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { service } from "./internal/services.js";
|
|
2
|
-
import { Graft } from "@graftland/graft";
|
|
3
2
|
import { Context, Effect, Schema, Scope } from "effect";
|
|
3
|
+
import { Graft } from "@graftland/graft";
|
|
4
4
|
import { Rpc, RpcClient, RpcGroup, RpcServer } from "effect/rpc";
|
|
5
5
|
declare namespace Contract_d_exports {
|
|
6
6
|
export { ConfigSchema, Contract, ErrorSchema, Options, RunnerContract, Service, UndeclaredFailure, fromModule, isContract, make, service };
|
package/dist/Contract.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Contract.d.ts","names":[],"sources":["../src/Contract.ts"],"mappings":";;;;;;;
|
|
1
|
+
{"version":3,"file":"Contract.d.ts","names":[],"sources":["../src/Contract.ts"],"mappings":";;;;;;;cAgBM;;iBAGW,QAAQ,WAAW;WAC1B,KAAK,QAAQ;WACb,OAAO,KAAK,SAAS,SAAS,IAAI;WAClC,QAAQ;aACP,iBAAiB,qBAAqB,UAAU;QACpD,OAAO,qBAAqB;WACzB,UAAU;aACT,iBAAiB,qBAAqB,UAAU;QACpD,OAAO,aAEZ,MAAM,iBACN,MAAM,QAAQ,MAAM,QAAQ;;;YAKlB,eAAe,OAAO;WACxB,SAAS,OAAO;WAChB;WACA;;;YAGE,cAAc,OAAO;WACvB;WACA;;;iBAIO,SAChB,UAAU,cACV,UAAU,qBAAqB,OAAO;WAE7B;WACA,QAAQ;WACR,OAAO;WACP;WACA,QAAQ,cAAc;WACtB,UAAU,cAAc;YACvB,gBAAgB;;;iBAGV,QAAQ,UAAU,cAAc,UAAU;WACjD;WACA,QAAQ;WACR,QAAQ;WACR;WACA,SAAS,cAAc;WACvB,WAAW,cAAc;;;;;WAMhB;;;qBAFN,0BAA0B;;wBAMvB,KAAK,UAAU,cAAc,UAAU,aACtD,SAAS,QAAQ,GAAG;WAAgB,OAAO;IACzC,SAAS,GAAG;wBACC,KAAK,UAAU,cAC9B,SAAS,QAAQ,UAAU,OAAO,SAChC,SAAS;;YA2BA,iBAAiB,SAC5B,OAAO,eAAe,OAAO,OAC7B,OAAO;qBAGK,aAAU,mBAAqB,SAAS;;qBAIxC,aAAU,4CAAmB,OAAA"}
|
package/dist/Contract.js
CHANGED
|
@@ -1 +1,32 @@
|
|
|
1
|
-
|
|
1
|
+
import { __exportAll } from "./_virtual/_rolldown/runtime.js";
|
|
2
|
+
import "./internal/control.js";
|
|
3
|
+
import { service } from "./internal/services.js";
|
|
4
|
+
import { Array, Predicate, Schema } from "effect";
|
|
5
|
+
// src/Contract.ts
|
|
6
|
+
var Contract_exports = /* @__PURE__ */ __exportAll({
|
|
7
|
+
UndeclaredFailure: () => UndeclaredFailure,
|
|
8
|
+
fromModule: () => fromModule,
|
|
9
|
+
isContract: () => isContract,
|
|
10
|
+
make: () => make,
|
|
11
|
+
service: () => service
|
|
12
|
+
});
|
|
13
|
+
const TypeId = "~@graftland/plugin-remote/Contract";
|
|
14
|
+
/** An undeclared failure still crosses the boundary, with its diagnostic value. */
|
|
15
|
+
var UndeclaredFailure = class extends Schema.TaggedError()("UndeclaredFailure", { original: Schema.Defect({ includeStack: true }) }) {};
|
|
16
|
+
function make(options) {
|
|
17
|
+
const keys = Array.map([...options.inject ?? [], ...options.provides ?? []], (service) => service.key.key);
|
|
18
|
+
if (Array.dedupe(keys).length !== keys.length || keys.includes("@graftland/plugin-remote/control")) throw new Error("Service keys must be unique within a remote contract and must not use the control endpoint");
|
|
19
|
+
return {
|
|
20
|
+
...options,
|
|
21
|
+
error: options.error ?? Schema.Never,
|
|
22
|
+
inject: options.inject ?? [],
|
|
23
|
+
provides: options.provides ?? [],
|
|
24
|
+
[TypeId]: TypeId
|
|
25
|
+
};
|
|
26
|
+
}
|
|
27
|
+
const isContract = (value) => Predicate.hasProperty(value, TypeId) && value[TypeId] === TypeId;
|
|
28
|
+
/** A contract module exports either default or a named contract. */
|
|
29
|
+
const fromModule = (module) => Array.findFirst([Predicate.hasProperty(module, "default") ? module.default : void 0, Predicate.hasProperty(module, "contract") ? module.contract : void 0], isContract);
|
|
30
|
+
export { Contract_exports, UndeclaredFailure, fromModule, isContract, make, service };
|
|
31
|
+
|
|
32
|
+
//# sourceMappingURL=Contract.js.map
|
package/dist/Contract.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Contract.js","names":[],"sources":["../src/Contract.ts"],"sourcesContent":["import {
|
|
1
|
+
{"version":3,"file":"Contract.js","names":[],"sources":["../src/Contract.ts"],"sourcesContent":["import {\n\tArray,\n\tPredicate,\n\tSchema,\n\ttype Context,\n\ttype Effect,\n\ttype Scope,\n} from \"effect\"\nimport type { Rpc, RpcClient, RpcGroup, RpcServer } from \"effect/rpc\"\n\nimport type { Graft } from \"@graftland/graft\"\n\nimport * as Control from \"./internal/control\"\n\nexport { service } from \"./internal/services\"\n\nconst TypeId = \"~@graftland/plugin-remote/Contract\"\n\n/** RPC types stay inside the descriptor; Graft supplies its dynamic activation context. */\nexport interface Service<R = never, ClientR = never> {\n\treadonly key: Context.Key<unknown, unknown>\n\treadonly group: Pick<RpcGroup.RpcGroup<Rpc.Any>, \"requests\">\n\treadonly serve: (port: {\n\t\treadonly serverProtocol: (endpoint: string) => RpcServer.Protocol[\"Service\"]\n\t}) => Effect.Effect<never, never, R>\n\treadonly publish: (port: {\n\t\treadonly clientProtocol: (endpoint: string) => RpcClient.Protocol[\"Service\"]\n\t}) => Effect.Effect<\n\t\tvoid,\n\t\tGraft.ServiceConflict,\n\t\tGraft.Graft | Scope.Scope | ClientR\n\t>\n}\n\n/** A self-contained configuration schema that encodes as JSON. */\nexport type ConfigSchema = Schema.Top & {\n\treadonly Encoded: Schema.Json\n\treadonly DecodingServices: never\n\treadonly EncodingServices: never\n}\n/** A self-contained schema for declared failures. */\nexport type ErrorSchema = Schema.Top & {\n\treadonly DecodingServices: never\n\treadonly EncodingServices: never\n}\n\n/** The shared configuration and service declarations for one remote plugin. */\nexport interface Contract<\n\tS extends ConfigSchema,\n\tE extends ErrorSchema = typeof Schema.Never,\n> {\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\treadonly [TypeId]: typeof TypeId\n}\n/** Configuration accepted by make; omitted errors default to Never. */\nexport interface Options<S extends ConfigSchema, E extends ErrorSchema> {\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\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 function make<S extends ConfigSchema, E extends ErrorSchema>(\n\toptions: Options<S, E> & { readonly error: E },\n): Contract<S, E>\nexport function make<S extends ConfigSchema>(\n\toptions: Options<S, typeof Schema.Never>,\n): Contract<S>\nexport function make<S extends ConfigSchema, E extends ErrorSchema>(\n\toptions: Options<S, E>,\n): Contract<S, E | typeof Schema.Never> {\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\n\treturn {\n\t\t...options,\n\t\terror: options.error ?? Schema.Never,\n\t\tinject: options.inject ?? [],\n\t\tprovides: options.provides ?? [],\n\t\t[TypeId]: TypeId,\n\t}\n}\n\n/** A contract whose schemas are discovered through a dynamic import. */\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":";;;;;;;;;;;;AAgBA,MAAM,SAAS;;AAsDf,IAAa,oBAAb,cAAuC,OAAO,YAG5C,CAAC,CAAC,qBAAqB,EAAE,UAAU,OAAO,OAAO,EAAE,cAAc,KAAK,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;AAS/E,SAAgB,KACf,SACuC;CAEvC,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;CAED,OAAO;EACN,GAAG;EACH,OAAO,QAAQ,SAAS,OAAO;EAC/B,QAAQ,QAAQ,UAAU,CAAC;EAC3B,UAAU,QAAQ,YAAY,CAAC;GAC9B,SAAS;CACX;AACD;AAQA,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"}
|
package/dist/Instance.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Instance.d.ts","names":[],"sources":["../src/Instance.ts"],"mappings":";;
|
|
1
|
+
{"version":3,"file":"Instance.d.ts","names":[],"sources":["../src/Instance.ts"],"mappings":";;qBAOa,UAAQ,QAAA"}
|
package/dist/Instance.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Instance.js","names":[],"sources":["../src/Instance.ts"],"sourcesContent":["import { Context, Schema } from \"effect\"\nexport const Identity = Schema.Struct({\n\tid: Schema.String,\n\tgeneration: Schema.Int,\n})\n/** Outside a remote activation the identity is local/0. Local activations use a fresh UUID/1; runners allocate persistent generations. */\nexport const Instance = Context.Reference<typeof Identity.Type>(\n\t\"@graftland/plugin-remote/Instance/Instance\",\n\t{\n\t\tdefaultValue: () => ({ id: \"local\", generation: 0 }),\n\t},\n)\n"],"mappings":";;
|
|
1
|
+
{"version":3,"file":"Instance.js","names":[],"sources":["../src/Instance.ts"],"sourcesContent":["import { Context, Schema } from \"effect\"\n\nexport const Identity = Schema.Struct({\n\tid: Schema.String,\n\tgeneration: Schema.Int,\n})\n/** Outside a remote activation the identity is local/0. Local activations use a fresh UUID/1; runners allocate persistent generations. */\nexport const Instance = Context.Reference<typeof Identity.Type>(\n\t\"@graftland/plugin-remote/Instance/Instance\",\n\t{\n\t\tdefaultValue: () => ({ id: \"local\", generation: 0 }),\n\t},\n)\n"],"mappings":";;AAEA,MAAa,WAAW,OAAO,OAAO;CACrC,IAAI,OAAO;CACX,YAAY,OAAO;AACpB,CAAC;;AAED,MAAa,WAAW,QAAQ,UAC/B,8CACA,EACC,qBAAqB;CAAE,IAAI;CAAS,YAAY;AAAE,GACnD,CACD"}
|
package/dist/Testing.d.ts
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { TransportError } from "./Errors.js";
|
|
2
2
|
import { Channel } from "./Transport.js";
|
|
3
|
-
import { Plugin } from "@graftland/graft";
|
|
4
3
|
import { Cause, Effect, Schema } from "effect";
|
|
4
|
+
import { Plugin } from "@graftland/graft";
|
|
5
5
|
declare const ConformanceError_base: Schema.Class<ConformanceError, Schema.TaggedStruct<"ConformanceError", {
|
|
6
6
|
readonly message: Schema.String;
|
|
7
7
|
readonly cause: Schema.optionalKey<Schema.Cause<Schema.Unknown, Schema.Unknown>>;
|
package/dist/Testing.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Testing.d.ts","names":[],"sources":["../src/Testing.ts"],"mappings":";;;;;;;;
|
|
1
|
+
{"version":3,"file":"Testing.d.ts","names":[],"sources":["../src/Testing.ts"],"mappings":";;;;;;;;WAoBmB;;qBAFN,yBAAyB;iBASrB;WACP,WAAW,OAAO;WAClB,UAAU,OAAO;WACjB,aAAa,OAAO;WACpB,eAAe,OAAO;;;qBAGnB,YAAa,GAAG,GAAC,SACpB,cAAY,UACX,SAAS,iBAAiB,OAAO,OAAO,SAAS,GAAG;EAI7D,QAAM,OAAA,aAAA,IAAA,mBAAA,gBAAA,2BAAA;EAmEN,KAAG,OAAA,aAAA,IAAA,mBAAA,gBAAA;;;qBAaQ,YAAa,GAAG,GAAC,UACnB,OAAO,eAAe,GAAG,IAAE,uBACnB,OAAA,eAAA,IAAA,kBAAA"}
|
package/dist/Testing.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Testing.js","names":["Framing.encode","Framing.decoder","Framing.FrameError"],"sources":["../src/Testing.ts"],"sourcesContent":["import
|
|
1
|
+
{"version":3,"file":"Testing.js","names":["Framing.encode","Framing.decoder","Framing.FrameError"],"sources":["../src/Testing.ts"],"sourcesContent":["import {\n\tArray,\n\tCause,\n\tDeferred,\n\tEffect,\n\tEquivalence,\n\tFiber,\n\tSchema,\n\tStream,\n\tString,\n} from \"effect\"\n\nimport type { Plugin } from \"@graftland/graft\"\n\nimport type { TransportError } from \"./Errors\"\nimport * as Framing from \"./internal/runner/Framing\"\nimport type { Channel } from \"./Transport\"\n\nexport class ConformanceError extends Schema.TaggedError<\n\tConformanceError,\n\t{ readonly brand: unique symbol }\n>()(\"ConformanceError\", {\n\tmessage: Schema.String,\n\tcause: Schema.optionalKey(Schema.Cause(Schema.Unknown, Schema.Unknown)),\n}) {}\nconst check = (condition: boolean, message: string) =>\n\tcondition ? Effect.void : Effect.fail(ConformanceError.make({ message }))\nexport interface Capabilities {\n\treadonly connector: Plugin.Plugin\n\treadonly listener: Plugin.Plugin\n\treadonly credentials: Plugin.Plugin\n\treadonly authenticator: Plugin.Plugin\n}\n/** The fixture supplies addresses/credentials and an echo session; no full runner is required. */\nexport const transport = <E, R>(\n\tplugins: Capabilities,\n\tfixture: (plugins: Capabilities) => Effect.Effect<Channel, E, R>,\n) => {\n\tconst connect = fixture(plugins)\n\treturn {\n\t\tchunks: Effect.gen(function* () {\n\t\t\tconst channel = yield* connect\n\t\t\tconst first = yield* Framing.encode({\n\t\t\t\tchannel: 0,\n\t\t\t\tpayload: new Uint8Array([1, 2, 3]),\n\t\t\t})\n\t\t\tconst second = yield* Framing.encode({\n\t\t\t\tchannel: 1,\n\t\t\t\tpayload: new Uint8Array([4, 5]),\n\t\t\t})\n\t\t\tconst combined = new Uint8Array(first.length + second.length)\n\t\t\tcombined.set(first)\n\t\t\tcombined.set(second, first.length)\n\t\t\t// Split the header, then put the remainder and the next frame in one chunk.\n\t\t\tconst done = yield* Deferred.make<void>()\n\t\t\tconst sending = yield* Stream.make(\n\t\t\t\tcombined.subarray(0, 2),\n\t\t\t\tcombined.subarray(2),\n\t\t\t).pipe(\n\t\t\t\tStream.concat(\n\t\t\t\t\tStream.fromEffect(Deferred.await(done)).pipe(Stream.drain),\n\t\t\t\t),\n\t\t\t\tStream.run(channel.output),\n\t\t\t\tEffect.forkScoped,\n\t\t\t)\n\t\t\tconst frames = Framing.decoder()\n\t\t\tconst reply = yield* channel.input.pipe(\n\t\t\t\tStream.mapEffect((chunk) => Effect.fromResult(frames.decode(chunk))),\n\t\t\t\tStream.flattenIterable,\n\t\t\t\tStream.zipWithIndex,\n\t\t\t\tStream.tap(([, index]) =>\n\t\t\t\t\tindex === 1 ? Deferred.succeed(done, undefined) : Effect.void,\n\t\t\t\t),\n\t\t\t\tStream.map(([frame]) => frame),\n\t\t\t\tStream.runCollect,\n\t\t\t)\n\t\t\tyield* frames.finish\n\t\t\tyield* Deferred.succeed(done, undefined)\n\t\t\tyield* Fiber.join(sending)\n\t\t\tyield* check(\n\t\t\t\tArray.makeEquivalence(\n\t\t\t\t\tEquivalence.Struct({\n\t\t\t\t\t\tchannel: Equivalence.Number,\n\t\t\t\t\t\tpayload: Array.makeEquivalence(Equivalence.Number),\n\t\t\t\t\t}),\n\t\t\t\t)(\n\t\t\t\t\tArray.map(reply, (frame) => ({\n\t\t\t\t\t\tchannel: frame.channel,\n\t\t\t\t\t\tpayload: Array.fromIterable(frame.payload),\n\t\t\t\t\t})),\n\t\t\t\t\t[\n\t\t\t\t\t\t{ channel: 0, payload: [1, 2, 3] },\n\t\t\t\t\t\t{ channel: 1, payload: [4, 5] },\n\t\t\t\t\t],\n\t\t\t\t),\n\t\t\t\t\"The channel changed byte order across split or coalesced chunks\",\n\t\t\t)\n\t\t}).pipe(\n\t\t\tEffect.mapError((error): E | ConformanceError | TransportError =>\n\t\t\t\tSchema.is(Framing.FrameError)(error)\n\t\t\t\t\t? ConformanceError.make({\n\t\t\t\t\t\t\tmessage: error.message,\n\t\t\t\t\t\t\tcause: Cause.fail(error),\n\t\t\t\t\t\t})\n\t\t\t\t\t: error,\n\t\t\t),\n\t\t),\n\t\teof: Effect.gen(function* () {\n\t\t\tconst channel = yield* connect\n\t\t\tyield* Stream.empty.pipe(Stream.run(channel.output))\n\t\t\tconst remaining = yield* Stream.runCollect(channel.input)\n\t\t\tyield* check(\n\t\t\t\tremaining.length === 0,\n\t\t\t\t\"The channel produced bytes after EOF\",\n\t\t\t)\n\t\t}),\n\t}\n}\n\n/** HTTP implementations reject before accepting a session, preserving the challenge. */\nexport const rejection = <E, R>(\n\tresponse: Effect.Effect<string, E, R>,\n\tchallenge?: string,\n) =>\n\tresponse.pipe(\n\t\tEffect.tap((response) =>\n\t\t\tEffect.all(\n\t\t\t\t[\n\t\t\t\t\tcheck(String.includes(\"HTTP/1.1 401\")(response), \"Expected HTTP 401\"),\n\t\t\t\t\tcheck(\n\t\t\t\t\t\t!String.includes(\"101 Switching Protocols\")(response),\n\t\t\t\t\t\t\"Rejected credentials opened a WebSocket\",\n\t\t\t\t\t),\n\t\t\t\t\tcheck(\n\t\t\t\t\t\t!String.includes(\"sec-websocket-accept:\")(\n\t\t\t\t\t\t\tString.toLowerCase(response),\n\t\t\t\t\t\t),\n\t\t\t\t\t\t\"Rejected credentials received a WebSocket accept header\",\n\t\t\t\t\t),\n\t\t\t\t\tcheck(\n\t\t\t\t\t\tchallenge === undefined ||\n\t\t\t\t\t\t\tString.includes(\n\t\t\t\t\t\t\t\t\"www-authenticate: \" + String.toLowerCase(challenge),\n\t\t\t\t\t\t\t)(String.toLowerCase(response)),\n\t\t\t\t\t\t\"The authentication challenge was lost\",\n\t\t\t\t\t),\n\t\t\t\t],\n\t\t\t\t{ discard: true },\n\t\t\t),\n\t\t),\n\t)\n"],"mappings":"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"}
|
package/dist/Transport.d.ts
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import { AuthenticationFailed, AuthenticatorUnavailable, TransportError } from "./Errors.js";
|
|
2
1
|
import { Prepared, TlsPolicy, VerifiedCertificate } from "./Auth.js";
|
|
2
|
+
import { AuthenticationFailed, AuthenticatorUnavailable, TransportError } from "./Errors.js";
|
|
3
3
|
import { Context, Effect, Option, Redacted, Scope, Sink, Stream } from "effect";
|
|
4
4
|
/** Ordered reliable bytes. Chunk boundaries have no meaning; EOF is not exit confirmation. */
|
|
5
5
|
export interface Channel {
|
package/dist/Transport.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Transport.d.ts","names":[],"sources":["../src/Transport.ts"],"mappings":";;;;
|
|
1
|
+
{"version":3,"file":"Transport.d.ts","names":[],"sources":["../src/Transport.ts"],"mappings":";;;;iBAmBiB;WACP,OAAO,OAAO,OAAO,YAAY;WACjC,QAAQ,KAAK,cAAc,qBAAqB;;iBAGzC;WACP;WACA;WACA;WACA,SAAS;;iBAEF;WACP,eAAe,OAAO,OAAO,SAAS;WACtC,aAAa,OAAO,OAAO;;YAEzB,WACX,SAAS,YACL,OAAO,aAAa,gBAAgB,MAAM;YACnC,UACX,WAAW,cACP,OAAO,OAAO,SAAS,uBAAuB;iBAClC;;WAEP,OAAO,OAAO;WACd,QACR,QAAQ,WACJ,OAAO,aAAa,gBAAgB,MAAM;;iBAE/B;WACP,YAAY;WACZ,UACR,aAAa,aACT,OAAO,OAAO,SAAS,gBAAgB,MAAM;;iBAElC;WACP,YAAY;WACZ,OACR,KAAK,OAAO,OAAO,eACf,OAAO,OAAO,SAAS,gBAAgB,MAAM;;;qBAEtC,kBAAkB;;qBAGlB,iBAAiB"}
|
package/dist/Transport.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Transport.js","names":[],"sources":["../src/Transport.ts"],"sourcesContent":["/** Execution and byte-channel capabilities; implementations live in host plugins. */\nimport {
|
|
1
|
+
{"version":3,"file":"Transport.js","names":[],"sources":["../src/Transport.ts"],"sourcesContent":["/** Execution and byte-channel capabilities; implementations live in host plugins. */\nimport {\n\tContext,\n\ttype Effect,\n\ttype Option,\n\ttype Redacted,\n\ttype Scope,\n\ttype Sink,\n\ttype Stream,\n} from \"effect\"\n\nimport type { Prepared, TlsPolicy, VerifiedCertificate } from \"./Auth\"\nimport type {\n\tAuthenticationFailed,\n\tAuthenticatorUnavailable,\n\tTransportError,\n} from \"./Errors\"\n\n/** Ordered reliable bytes. Chunk boundaries have no meaning; EOF is not exit confirmation. */\nexport interface Channel {\n\treadonly input: Stream.Stream<Uint8Array, TransportError>\n\treadonly output: Sink.Sink<unknown, Uint8Array, unknown, TransportError>\n}\n\nexport interface Properties {\n\treadonly protocol: string\n\treadonly encrypted: boolean\n\treadonly network: boolean\n\treadonly carries: ReadonlyArray<\"header\" | \"certificate\">\n}\nexport interface Handshake {\n\treadonly authorization: Option.Option<Redacted.Redacted<string>>\n\treadonly certificate: Option.Option<VerifiedCertificate>\n}\nexport type Session = (\n\tchannel: Channel,\n) => Effect.Effect<void, TransportError, Scope.Scope>\nexport type Accept = (\n\thandshake: Handshake,\n) => Effect.Effect<Session, AuthenticationFailed | AuthenticatorUnavailable>\nexport interface Serving {\n\t/** Completes after serve has registered its accept loop, not merely after bind. */\n\treadonly ready: Effect.Effect<void>\n\treadonly serve: (\n\t\taccept: Accept,\n\t) => Effect.Effect<void, TransportError, Scope.Scope>\n}\nexport interface ConnectorApi {\n\treadonly properties: Properties\n\treadonly connect: (\n\t\tcredentials: Prepared,\n\t) => Effect.Effect<Channel, TransportError, Scope.Scope>\n}\nexport interface ListenerApi {\n\treadonly properties: Properties\n\treadonly bind: (\n\t\ttls: Option.Option<TlsPolicy>,\n\t) => Effect.Effect<Serving, TransportError, Scope.Scope>\n}\nexport class Connector extends Context.Service<Connector, ConnectorApi>()(\n\t\"@graftland/plugin-remote/Transport/Connector\",\n) {}\nexport class Listener extends Context.Service<Listener, ListenerApi>()(\n\t\"@graftland/plugin-remote/Transport/Listener\",\n) {}\n"],"mappings":";;;AA2DA,IAAa,YAAb,cAA+B,QAAQ,QAAiC,CAAC,CACxE,8CACD,CAAC,CAAC,CAAC;AACH,IAAa,WAAb,cAA8B,QAAQ,QAA+B,CAAC,CACrE,6CACD,CAAC,CAAC,CAAC"}
|
package/dist/cli.d.ts
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"cli.d.ts","names":[],"sources":["../src/cli.ts"],"mappings":""}
|
package/dist/cli.js
ADDED
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
import { Console, Effect } from "effect";
|
|
2
|
+
import { Plugin } from "@graftland/graft";
|
|
3
|
+
import { platform } from "@graftland/cli/Application";
|
|
4
|
+
import { CliError, Command, Flag } from "effect/cli";
|
|
5
|
+
import { Commands } from "@graftland/cli/Commands";
|
|
6
|
+
// src/cli.ts
|
|
7
|
+
const certificates = Command.make("certificates", {
|
|
8
|
+
out: Flag.String("out").pipe(Flag.withDescription("Directory for the CA and issued certificates")),
|
|
9
|
+
server: Flag.String("server").pipe(Flag.atLeast(0), Flag.withDescription("Runner DNS name or IP address; repeat for additional SANs")),
|
|
10
|
+
identity: Flag.String("identity").pipe(Flag.atLeast(0), Flag.withDescription("Host identity; repeat to issue multiple client certificates")),
|
|
11
|
+
days: Flag.Int("days").pipe(Flag.withDefault(365), Flag.filter((days) => days > 0, () => "Days must be a positive integer")),
|
|
12
|
+
force: Flag.Boolean("force").pipe(Flag.withDefault(false), Flag.withDescription("Replace requested leaf certificates, keeping the existing CA"))
|
|
13
|
+
}, (options) => Effect.promise(() => import("./internal/Certificates.js")).pipe(Effect.uninterruptible, Effect.flatMap((Certificates) => Certificates.generate(options)), Effect.andThen(Console.log(`Certificates written to ${options.out}`)), Effect.mapError((error) => CliError.UserError.make({
|
|
14
|
+
cause: error,
|
|
15
|
+
userMessage: String(error)
|
|
16
|
+
}))));
|
|
17
|
+
const command = Command.make("remote").pipe(Command.withSubcommands([certificates]), Command.provide(platform));
|
|
18
|
+
var cli_default = Plugin.make({
|
|
19
|
+
name: "remote-commands",
|
|
20
|
+
inject: [Commands],
|
|
21
|
+
apply: () => Effect.flatMap(Commands, (commands) => commands.register(command))
|
|
22
|
+
});
|
|
23
|
+
export { cli_default as default };
|
|
24
|
+
|
|
25
|
+
//# sourceMappingURL=cli.js.map
|
package/dist/cli.js.map
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"cli.js","names":[],"sources":["../src/cli.ts"],"sourcesContent":["import { Console, Effect } from \"effect\"\nimport { CliError, Command, Flag } from \"effect/cli\"\n\nimport { platform } from \"@graftland/cli/Application\"\nimport { Commands } from \"@graftland/cli/Commands\"\nimport { Plugin } from \"@graftland/graft\"\n\nconst certificates = Command.make(\n\t\"certificates\",\n\t{\n\t\tout: Flag.String(\"out\").pipe(\n\t\t\tFlag.withDescription(\"Directory for the CA and issued certificates\"),\n\t\t),\n\t\tserver: Flag.String(\"server\").pipe(\n\t\t\tFlag.atLeast(0),\n\t\t\tFlag.withDescription(\n\t\t\t\t\"Runner DNS name or IP address; repeat for additional SANs\",\n\t\t\t),\n\t\t),\n\t\tidentity: Flag.String(\"identity\").pipe(\n\t\t\tFlag.atLeast(0),\n\t\t\tFlag.withDescription(\n\t\t\t\t\"Host identity; repeat to issue multiple client certificates\",\n\t\t\t),\n\t\t),\n\t\tdays: Flag.Int(\"days\").pipe(\n\t\t\tFlag.withDefault(365),\n\t\t\tFlag.filter(\n\t\t\t\t(days) => days > 0,\n\t\t\t\t() => \"Days must be a positive integer\",\n\t\t\t),\n\t\t),\n\t\tforce: Flag.Boolean(\"force\").pipe(\n\t\t\tFlag.withDefault(false),\n\t\t\tFlag.withDescription(\n\t\t\t\t\"Replace requested leaf certificates, keeping the existing CA\",\n\t\t\t),\n\t\t),\n\t},\n\t(options) =>\n\t\tEffect.promise(() => import(\"./internal/Certificates\")).pipe(\n\t\t\tEffect.uninterruptible,\n\t\t\tEffect.flatMap((Certificates) => Certificates.generate(options)),\n\t\t\tEffect.andThen(Console.log(`Certificates written to ${options.out}`)),\n\t\t\tEffect.mapError((error) =>\n\t\t\t\tCliError.UserError.make({ cause: error, userMessage: String(error) }),\n\t\t\t),\n\t\t),\n)\n\nconst command = Command.make(\"remote\").pipe(\n\tCommand.withSubcommands([certificates]),\n\tCommand.provide(platform),\n)\nexport default Plugin.make({\n\tname: \"remote-commands\",\n\tinject: [Commands],\n\tapply: () =>\n\t\tEffect.flatMap(Commands, (commands) => commands.register(command)),\n})\n"],"mappings":";;;;;;AAOA,MAAM,eAAe,QAAQ,KAC5B,gBACA;CACC,KAAK,KAAK,OAAO,KAAK,CAAC,CAAC,KACvB,KAAK,gBAAgB,8CAA8C,CACpE;CACA,QAAQ,KAAK,OAAO,QAAQ,CAAC,CAAC,KAC7B,KAAK,QAAQ,CAAC,GACd,KAAK,gBACJ,2DACD,CACD;CACA,UAAU,KAAK,OAAO,UAAU,CAAC,CAAC,KACjC,KAAK,QAAQ,CAAC,GACd,KAAK,gBACJ,6DACD,CACD;CACA,MAAM,KAAK,IAAI,MAAM,CAAC,CAAC,KACtB,KAAK,YAAY,GAAG,GACpB,KAAK,QACH,SAAS,OAAO,SACX,iCACP,CACD;CACA,OAAO,KAAK,QAAQ,OAAO,CAAC,CAAC,KAC5B,KAAK,YAAY,KAAK,GACtB,KAAK,gBACJ,8DACD,CACD;AACD,IACC,YACA,OAAO,cAAc,OAAO,6BAA0B,CAAC,CAAC,KACvD,OAAO,iBACP,OAAO,SAAS,iBAAiB,aAAa,SAAS,OAAO,CAAC,GAC/D,OAAO,QAAQ,QAAQ,IAAI,2BAA2B,QAAQ,KAAK,CAAC,GACpE,OAAO,UAAU,UAChB,SAAS,UAAU,KAAK;CAAE,OAAO;CAAO,aAAa,OAAO,KAAK;AAAE,CAAC,CACrE,CACD,CACF;AAEA,MAAM,UAAU,QAAQ,KAAK,QAAQ,CAAC,CAAC,KACtC,QAAQ,gBAAgB,CAAC,YAAY,CAAC,GACtC,QAAQ,QAAQ,QAAQ,CACzB;AACA,IAAA,cAAe,OAAO,KAAK;CAC1B,MAAM;CACN,QAAQ,CAAC,QAAQ;CACjB,aACC,OAAO,QAAQ,WAAW,aAAa,SAAS,SAAS,OAAO,CAAC;AACnE,CAAC"}
|
|
@@ -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":";cAIM,8CAAU;;;;;;;;2BAAsC,+CAAA"}
|
package/dist/host/auth/bearer.js
CHANGED
|
@@ -1,4 +1,6 @@
|
|
|
1
|
-
import {
|
|
2
|
-
//
|
|
1
|
+
import { Config, plugin } from "../../internal/auth/tokenCredentials.js";
|
|
2
|
+
// src/host/auth/bearer.ts
|
|
3
3
|
const capability = plugin("remote-bearer-credentials");
|
|
4
4
|
export { Config, capability as default };
|
|
5
|
+
|
|
6
|
+
//# sourceMappingURL=bearer.js.map
|
|
@@ -1 +1 @@
|
|
|
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":";;
|
|
1
|
+
{"version":3,"file":"bearer.js","names":[],"sources":["../../../src/host/auth/bearer.ts"],"sourcesContent":["import { Config, plugin } from \"../../internal/auth/tokenCredentials\"\n\nexport { Config }\n\nconst capability = plugin(\"remote-bearer-credentials\")\nexport default capability\n"],"mappings":";;AAIA,MAAM,aAAa,OAAO,2BAA2B"}
|
|
@@ -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":";cAIM,8CAAU;;;;;;;;2BAAmC,+CAAA"}
|
package/dist/host/auth/jwt.js
CHANGED
|
@@ -1,4 +1,6 @@
|
|
|
1
|
-
import {
|
|
2
|
-
//
|
|
1
|
+
import { Config, plugin } from "../../internal/auth/tokenCredentials.js";
|
|
2
|
+
// src/host/auth/jwt.ts
|
|
3
3
|
const capability = plugin("remote-jwt-credentials");
|
|
4
4
|
export { Config, capability as default };
|
|
5
|
+
|
|
6
|
+
//# sourceMappingURL=jwt.js.map
|
|
@@ -1 +1 @@
|
|
|
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":";;
|
|
1
|
+
{"version":3,"file":"jwt.js","names":[],"sources":["../../../src/host/auth/jwt.ts"],"sourcesContent":["import { Config, plugin } from \"../../internal/auth/tokenCredentials\"\n\nexport { Config }\n\nconst capability = plugin(\"remote-jwt-credentials\")\nexport default capability\n"],"mappings":";;AAIA,MAAM,aAAa,OAAO,wBAAwB"}
|
package/dist/host/auth/mtls.d.ts
CHANGED
|
@@ -1,15 +1,11 @@
|
|
|
1
|
+
import { Certificate } from "../../internal/auth/config.js";
|
|
1
2
|
import { Graft, Plugin } from "@graftland/graft";
|
|
2
|
-
import { Schema } from "effect";
|
|
3
|
-
export declare const Config: Schema.Struct<{
|
|
4
|
-
readonly cert: Schema.String;
|
|
5
|
-
readonly key: Schema.String;
|
|
6
|
-
}>;
|
|
7
3
|
declare const _default: Plugin.Definition<{
|
|
8
4
|
readonly cert: string;
|
|
9
5
|
readonly key: string;
|
|
10
6
|
}, {
|
|
11
7
|
readonly cert: string;
|
|
12
8
|
readonly key: string;
|
|
13
|
-
}, Schema.SchemaError | Graft.ServiceConflict>;
|
|
14
|
-
export { _default as default };
|
|
9
|
+
}, import("effect/Schema").SchemaError | Graft.ServiceConflict>;
|
|
10
|
+
export { Certificate as Config, _default as default };
|
|
15
11
|
//# sourceMappingURL=mtls.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"mtls.d.ts","names":[],"sources":["../../../src/host/auth/mtls.ts"],"mappings":"
|
|
1
|
+
{"version":3,"file":"mtls.d.ts","names":[],"sources":["../../../src/host/auth/mtls.ts"],"mappings":""}
|
package/dist/host/auth/mtls.js
CHANGED
|
@@ -1,22 +1,19 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import {
|
|
3
|
-
import {
|
|
4
|
-
import {
|
|
5
|
-
import {
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
key: Schema.String
|
|
10
|
-
});
|
|
11
|
-
var mtls_default = make({
|
|
1
|
+
import { Credentials } from "../../Auth.js";
|
|
2
|
+
import { CredentialsError } from "../../Errors.js";
|
|
3
|
+
import { Certificate } from "../../internal/auth/config.js";
|
|
4
|
+
import { Cause, Effect, FileSystem, Option, Path, Redacted } from "effect";
|
|
5
|
+
import { Graft, Plugin } from "@graftland/graft";
|
|
6
|
+
import { ConfigDirectory } from "@graftland/loader";
|
|
7
|
+
// src/host/auth/mtls.ts
|
|
8
|
+
var mtls_default = Plugin.make({
|
|
12
9
|
name: "remote-certificate-credentials",
|
|
13
|
-
config:
|
|
10
|
+
config: Certificate,
|
|
14
11
|
inject: [FileSystem.FileSystem, Path.Path],
|
|
15
12
|
apply: Effect.fnUntraced(function* (config) {
|
|
16
13
|
const fs = yield* FileSystem.FileSystem;
|
|
17
14
|
const path = yield* Path.Path;
|
|
18
15
|
const directory = yield* ConfigDirectory.pipe(Effect.map(Option.getOrElse(() => ".")));
|
|
19
|
-
yield* provide(Credentials, {
|
|
16
|
+
yield* Graft.provide(Credentials, {
|
|
20
17
|
kind: "Certificate",
|
|
21
18
|
read: Effect.all({
|
|
22
19
|
cert: fs.readFileString(path.resolve(directory, config.cert)),
|
|
@@ -31,4 +28,6 @@ var mtls_default = make({
|
|
|
31
28
|
});
|
|
32
29
|
})
|
|
33
30
|
});
|
|
34
|
-
export { Config, mtls_default as default };
|
|
31
|
+
export { Certificate as Config, mtls_default as default };
|
|
32
|
+
|
|
33
|
+
//# sourceMappingURL=mtls.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"mtls.js","names":[],"sources":["../../../src/host/auth/mtls.ts"],"sourcesContent":["import {
|
|
1
|
+
{"version":3,"file":"mtls.js","names":["Config"],"sources":["../../../src/host/auth/mtls.ts"],"sourcesContent":["import { Cause, Effect, FileSystem, Option, Path, Redacted } from \"effect\"\n\nimport { Graft, Plugin } from \"@graftland/graft\"\nimport { ConfigDirectory } from \"@graftland/loader\"\n\nimport { Credentials, type Prepared } from \"../../Auth\"\nimport { CredentialsError } from \"../../Errors\"\nimport { Certificate as Config } from \"../../internal/auth/config\"\n\nexport { Config }\nexport default Plugin.make({\n\tname: \"remote-certificate-credentials\",\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\tyield* Graft.provide(Credentials, {\n\t\t\tkind: \"Certificate\",\n\t\t\t// File credentials are read for each connection, not cached on activation.\n\t\t\tread: Effect.all({\n\t\t\t\tcert: fs.readFileString(path.resolve(directory, config.cert)),\n\t\t\t\tkey: fs\n\t\t\t\t\t.readFileString(path.resolve(directory, config.key))\n\t\t\t\t\t.pipe(Effect.map(Redacted.make)),\n\t\t\t}).pipe(\n\t\t\t\tEffect.mapBoth({\n\t\t\t\t\tonSuccess: (\n\t\t\t\t\t\tvalue,\n\t\t\t\t\t): Extract<Prepared, { readonly _tag: \"Certificate\" }> => ({\n\t\t\t\t\t\t_tag: \"Certificate\",\n\t\t\t\t\t\tvalue,\n\t\t\t\t\t}),\n\t\t\t\t\tonFailure: (error) =>\n\t\t\t\t\t\tCredentialsError.make({ cause: Cause.fail(error) }),\n\t\t\t\t}),\n\t\t\t),\n\t\t})\n\t}),\n})\n"],"mappings":";;;;;;;AAUA,IAAA,eAAe,OAAO,KAAK;CAC1B,MAAM;CACN,QAAQA;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,OAAO,MAAM,QAAQ,aAAa;GACjC,MAAM;GAEN,MAAM,OAAO,IAAI;IAChB,MAAM,GAAG,eAAe,KAAK,QAAQ,WAAW,OAAO,IAAI,CAAC;IAC5D,KAAK,GACH,eAAe,KAAK,QAAQ,WAAW,OAAO,GAAG,CAAC,CAAC,CACnD,KAAK,OAAO,IAAI,SAAS,IAAI,CAAC;GACjC,CAAC,CAAC,CAAC,KACF,OAAO,QAAQ;IACd,YACC,WAC0D;KAC1D,MAAM;KACN;IACD;IACA,YAAY,UACX,iBAAiB,KAAK,EAAE,OAAO,MAAM,KAAK,KAAK,EAAE,CAAC;GACpD,CAAC,CACF;EACD,CAAC;CACF,CAAC;AACF,CAAC"}
|
package/dist/host/auth/none.d.ts
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import { Graft, Plugin } from "@graftland/graft";
|
|
2
1
|
import { Schema } from "effect";
|
|
2
|
+
import { Graft, Plugin } from "@graftland/graft";
|
|
3
3
|
declare const _default: Plugin.Definition<{}, {}, Schema.SchemaError | Graft.ServiceConflict>;
|
|
4
4
|
export { _default as default };
|
|
5
5
|
//# sourceMappingURL=none.d.ts.map
|
package/dist/host/auth/none.js
CHANGED
|
@@ -1,13 +1,15 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import { n as Credentials } from "../../Auth-BElTC9_X.js";
|
|
1
|
+
import { Credentials } from "../../Auth.js";
|
|
3
2
|
import { Effect, Schema } from "effect";
|
|
4
|
-
|
|
5
|
-
|
|
3
|
+
import { Graft, Plugin } from "@graftland/graft";
|
|
4
|
+
// src/host/auth/none.ts
|
|
5
|
+
var none_default = Plugin.make({
|
|
6
6
|
name: "remote-none-credentials",
|
|
7
7
|
config: Schema.Struct({}),
|
|
8
|
-
apply: () => provide(Credentials, {
|
|
8
|
+
apply: () => Graft.provide(Credentials, {
|
|
9
9
|
kind: "None",
|
|
10
10
|
read: Effect.succeed({ _tag: "None" })
|
|
11
11
|
})
|
|
12
12
|
});
|
|
13
13
|
export { none_default as default };
|
|
14
|
+
|
|
15
|
+
//# sourceMappingURL=none.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"none.js","names":[],"sources":["../../../src/host/auth/none.ts"],"sourcesContent":["import {
|
|
1
|
+
{"version":3,"file":"none.js","names":[],"sources":["../../../src/host/auth/none.ts"],"sourcesContent":["import { Effect, Schema } from \"effect\"\n\nimport { Graft, Plugin } from \"@graftland/graft\"\n\nimport { Credentials } from \"../../Auth\"\n\nexport default Plugin.make({\n\tname: \"remote-none-credentials\",\n\tconfig: Schema.Struct({}),\n\tapply: () =>\n\t\tGraft.provide(Credentials, {\n\t\t\tkind: \"None\",\n\t\t\tread: Effect.succeed<{ readonly _tag: \"None\" }>({ _tag: \"None\" }),\n\t\t}),\n})\n"],"mappings":";;;;AAMA,IAAA,eAAe,OAAO,KAAK;CAC1B,MAAM;CACN,QAAQ,OAAO,OAAO,CAAC,CAAC;CACxB,aACC,MAAM,QAAQ,aAAa;EAC1B,MAAM;EACN,MAAM,OAAO,QAAmC,EAAE,MAAM,OAAO,CAAC;CACjE,CAAC;AACH,CAAC"}
|
package/dist/host/command.d.ts
CHANGED
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
import { ConnectorApi } from "../Transport.js";
|
|
2
2
|
import { CommandOptions } from "../internal/transportOptions.js";
|
|
3
|
-
import { Graft, Plugin } from "@graftland/graft";
|
|
4
3
|
import { Cause, Effect, Schema } from "effect";
|
|
5
4
|
import { ChildProcessSpawner } from "effect/process";
|
|
5
|
+
import { Graft, Plugin } from "@graftland/graft";
|
|
6
6
|
declare const CommandExited_base: Schema.Class<CommandExited, Schema.TaggedStruct<"CommandExited", {
|
|
7
7
|
readonly code: Schema.NullOr<Schema.Int>;
|
|
8
8
|
readonly stderr: Schema.String;
|
|
@@ -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":";;;;;;;;;;WA2BmB;;qBAFN,sBAAsB;;qBAUtB,OAAI,SAAa,mBAAc,OAAA,OAAdA,qBAAc,oBAAA;qBA2E/B,QAAM,OAAA"}
|