@knpkv/hub-app 0.3.1 → 0.4.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/node.js CHANGED
@@ -1,9 +1,10 @@
1
1
  /**
2
2
  * The one runner every app uses. The same entry serves either way:
3
3
  *
4
- * - **attached** (`--socket <path>`): an owner-only unix socket the hub proxies to. The caller and grant
5
- * come from the hub's `x-hub-*` headers, which only the socket listener trusts. Shell services go to
6
- * `HUB_URL` with the token in `HUB_APP_TOKEN_FILE`.
4
+ * - **attached** (`--attach`): the hub started this process and wrote a {@link HubHandshake} on stdin: the
5
+ * endpoint to listen on (a unix socket or a Windows named pipe), the hub's URL, this spawn's token and its
6
+ * secret. Every request must carry the secret before any `x-hub-*` header is read; the caller and grant then
7
+ * come from those headers. The end of stdin stops the app.
7
8
  * - **standalone** (`[serve] [--port <n>] [--no-open]`): loopback TCP with its own owner session and the
8
9
  * minimal shell at `/`. The caller is this machine's owner; shell services that need the hub are absent.
9
10
  *
@@ -15,34 +16,36 @@
15
16
  import { NodeHttpServer } from "@effect/platform-node";
16
17
  import { openOrServe } from "@knpkv/browser-pairing/launch";
17
18
  import * as OwnerSession from "@knpkv/browser-pairing/owner-session";
18
- import { Context, Deferred, Effect, FileSystem, Layer, Option, Path, Result, Schema } from "effect";
19
+ import { Context, Deferred, Effect, FileSystem, Layer, Option, Path, Redacted, Result, Schema, Stdio } from "effect";
19
20
  import { Etag, HttpPlatform, HttpRouter, HttpServer, HttpServerRequest, HttpServerResponse, HttpStaticServer } from "effect/http";
20
21
  import { createServer } from "node:http";
21
22
  import { hostname, userInfo } from "node:os";
22
23
  import { parseArgs } from "node:util";
24
+ import { readHandshake } from "./handshake.js";
23
25
  import { attachedLayer, standaloneLayer } from "./hub-client.js";
24
26
  import { AppManifest, AppStartError } from "./manifest.js";
25
27
  import { ModuleListener, validateModuleRegistry } from "./module.js";
26
28
  import { CurrentGrant, dispatchToModule, Grant, isModuleRoute, ModuleCaller, ModuleHandlers, ModuleRouteFailure } from "./route.js";
27
29
  import { cacheSuccess, shellCssCacheControl } from "./shell-cache.js";
28
30
  import { shellCssVersion, standaloneShellHtml } from "./standalone-page.js";
29
- import { appPaths, hubHeaders } from "./wire.js";
31
+ import { appPaths, hubHeaders, sameSecret } from "./wire.js";
30
32
  export const RunMode = Schema.Union([
31
- Schema.TaggedStruct("Attached", { socket: Schema.String, hubUrl: Schema.String, tokenFile: Schema.String }),
33
+ // Everything else arrives in the handshake on stdin.
34
+ Schema.TaggedStruct("Attached", {}),
32
35
  Schema.TaggedStruct("Standalone", {
33
36
  // 0 picks a free port; the sign-in link names the one bound.
34
37
  port: Schema.Int.check(Schema.isBetween({ minimum: 0, maximum: 65_535 })),
35
38
  open: Schema.Boolean
36
39
  })
37
40
  ]);
38
- /** Read the mode from argv and environment. `--socket` means attached; anything else is standalone. */
39
- export const readRunMode = (manifest, argv, env) => {
41
+ /** Read the mode from argv. `--attach` means attached; anything else is standalone. */
42
+ export const readRunMode = (manifest, argv) => {
40
43
  const parsed = Result.try({
41
44
  try: () => parseArgs({
42
45
  args: [...argv],
43
46
  allowPositionals: true,
44
47
  options: {
45
- socket: { type: "string" },
48
+ attach: { type: "boolean", default: false },
46
49
  port: { type: "string" },
47
50
  "no-open": { type: "boolean", default: false }
48
51
  }
@@ -56,13 +59,8 @@ export const readRunMode = (manifest, argv, env) => {
56
59
  return Result.fail(new AppStartError({ reason: "invalid_arguments", cause: positionals }));
57
60
  }
58
61
  const decode = Schema.decodeUnknownResult(RunMode);
59
- const decoded = values.socket !== undefined
60
- ? decode({
61
- _tag: "Attached",
62
- socket: values.socket,
63
- hubUrl: env.HUB_URL,
64
- tokenFile: env.HUB_APP_TOKEN_FILE
65
- })
62
+ const decoded = values.attach === true
63
+ ? decode({ _tag: "Attached" })
66
64
  : decode({
67
65
  _tag: "Standalone",
68
66
  port: values.port === undefined ? manifest.standalone.defaultPort : Number(values.port),
@@ -102,7 +100,7 @@ const mountModule = Effect.fn("HubApp.mountModule")(function* (manifest, handler
102
100
  });
103
101
  const failureResponse = (failure) => HttpServerResponse.json({ code: failure.code }, { status: failure.status });
104
102
  const notFound = HttpServerResponse.json({ code: "not_found" }, { status: 404 });
105
- /** The caller the hub authenticated, from the socket listener's `x-hub-caller` header. */
103
+ /** The caller the hub authenticated, from its `x-hub-caller` header. */
106
104
  const hubCaller = Effect.gen(function* () {
107
105
  const request = yield* HttpServerRequest.HttpServerRequest;
108
106
  const header = request.headers[hubHeaders.caller];
@@ -150,39 +148,44 @@ const appRoutes = (manifest, mounted, needsYou, badge, policy) => HttpRouter.use
150
148
  }).pipe(Effect.catchTag("ModuleRouteFailure", failureResponse)));
151
149
  }));
152
150
  const assetRoutes = (clientDirectory) => HttpStaticServer.layer({ root: clientDirectory, prefix: appPaths.assets, cacheControl: "no-cache" });
153
- /** Remove a stale socket from a previous run; refuse to touch anything that isn't one. */
154
- const clearSocket = Effect.fn("HubApp.clearSocket")(function* (socket) {
155
- const fileSystem = yield* FileSystem.FileSystem;
156
- if (!(yield* fileSystem.exists(socket)))
157
- return;
158
- const info = yield* fileSystem.stat(socket);
159
- if (info.type !== "Socket")
160
- return yield* new AppStartError({ reason: "listen", cause: "not a socket" });
161
- yield* fileSystem.remove(socket);
162
- }, Effect.mapError((cause) => cause._tag === "AppStartError" ? cause : new AppStartError({ reason: "listen", cause })));
163
- /** Attached mode alone: what the hub and its tests run. Needs no browser opener. */
164
- export const serveAttached = Effect.fn("HubApp.serveAttached")(function* (app, mode) {
165
- const fileSystem = yield* FileSystem.FileSystem;
151
+ /** Behind the hub: module routes at their own paths, the caller and grant from its headers. */
152
+ const hubPolicy = {
153
+ routePrefix: "",
154
+ serveHubReads: true,
155
+ // The hub forwards only requests its own listener admitted, and checked same-origin first; it names that
156
+ // listener so the descriptor's own `listeners` still decide.
157
+ listener: hubListener,
158
+ authorize: hubCaller,
159
+ sameOrigin: Effect.void
160
+ };
161
+ /**
162
+ * Attached mode: read the hub's handshake from stdin, listen on its endpoint, and stop when stdin ends. Needs no
163
+ * browser opener.
164
+ */
165
+ export const serveAttached = Effect.fn("HubApp.serveAttached")(function* (app) {
166
+ const stdio = yield* Stdio.Stdio;
167
+ const stdin = yield* readHandshake(stdio.stdin);
168
+ const handshake = yield* stdin.handshake;
166
169
  const manifest = yield* servedManifest(app);
167
- const services = yield* Layer.build(attachedLayer({ app: manifest.id, hubUrl: mode.hubUrl, tokenFile: mode.tokenFile, declared: manifest.services }));
170
+ const services = yield* Layer.build(attachedLayer({
171
+ app: manifest.id,
172
+ hubUrl: handshake.hubUrl,
173
+ token: handshake.hubToken,
174
+ declared: manifest.services
175
+ }));
168
176
  const { mounted, needsYou } = yield* mountModule(manifest, app.handlers).pipe(Effect.provideContext(services));
169
177
  const badge = app.badge?.pipe(Effect.provideContext(services));
170
- yield* clearSocket(mode.socket);
171
- const policy = {
172
- routePrefix: "",
173
- serveHubReads: true,
174
- // The hub forwards only requests its own listener admitted, and checked same-origin first; it names that
175
- // listener so the descriptor's own `listeners` still decide.
176
- listener: hubListener,
177
- authorize: hubCaller,
178
- sameOrigin: Effect.void
179
- };
180
- return yield* Layer.launch(HttpRouter.serve(Layer.mergeAll(appRoutes(manifest, mounted, needsYou, badge, policy), assetRoutes(app.clientDirectory)), {
181
- disableListenLog: true,
182
- disableLogger: true
183
- }).pipe(Layer.provide(NodeHttpServer.layerServer(createServer, { path: mode.socket })), Layer.provide(HttpPlatform.layer), Layer.provide(Etag.layer),
184
- // The hub's headers are trusted on this socket, so only its owner may connect, whatever the umask.
185
- Layer.tap(() => fileSystem.chmod(mode.socket, 0o600).pipe(Effect.mapError((cause) => new AppStartError({ reason: "listen", cause }))))));
178
+ const secret = Redacted.value(handshake.appSecret);
179
+ // First on every request, `/app/manifest` included: no `x-hub-*` header is read without the spawn's secret.
180
+ const hubOnly = HttpRouter.middleware((httpEffect) => Effect.gen(function* () {
181
+ const request = yield* HttpServerRequest.HttpServerRequest;
182
+ return sameSecret(request.headers[hubHeaders.appSecret], secret)
183
+ ? yield* httpEffect
184
+ : yield* HttpServerResponse.json({ code: "not_hub" }, { status: 403 });
185
+ }), { global: true });
186
+ const server = HttpRouter.serve(Layer.mergeAll(appRoutes(manifest, mounted, needsYou, badge, hubPolicy), assetRoutes(app.clientDirectory), hubOnly), { disableListenLog: true, disableLogger: true }).pipe(Layer.provide(NodeHttpServer.layerServer(createServer, { path: handshake.endpoint })), Layer.provide(HttpPlatform.layer), Layer.provide(Etag.layer));
187
+ // The end of stdin is the hub's stop: the listener closes and the process exits.
188
+ return yield* Layer.launch(server).pipe(Effect.raceFirst(stdin.closed));
186
189
  });
187
190
  const ownerCaller = (login) => ({
188
191
  login,
@@ -258,7 +261,12 @@ const serveStandalone = Effect.fn("HubApp.serveStandalone")(function* (app, mode
258
261
  * sign-in link; the executable decides it from its terminal and environment.
259
262
  */
260
263
  export const serveApp = Effect.fn("HubApp.serveApp")(function* (app, mode, launch) {
261
- return mode._tag === "Attached" ? yield* serveAttached(app, mode) : yield* serveStandalone(app, mode, launch);
264
+ switch (mode._tag) {
265
+ case "Attached":
266
+ return yield* serveAttached(app);
267
+ case "Standalone":
268
+ return yield* serveStandalone(app, mode, launch);
269
+ }
262
270
  }, Effect.mapError((cause) => cause._tag === "AppStartError" ? cause : new AppStartError({ reason: "listen", cause })));
263
271
  export { runApp } from "./main.js";
264
272
  //# sourceMappingURL=node.js.map
package/dist/node.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"node.js","sourceRoot":"","sources":["../src/node.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"node.js","sourceRoot":"","sources":["../src/node.ts"],"names":[],"mappings":"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"}