@kvman/kernel 0.4.5 → 0.4.7
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/http/framing-policy.d.ts +2 -0
- package/dist/http/framing-policy.d.ts.map +1 -0
- package/dist/http/framing-policy.js +5 -0
- package/dist/http/framing-policy.js.map +1 -0
- package/dist/http/http-app.d.ts.map +1 -1
- package/dist/http/http-app.js +5 -0
- package/dist/http/http-app.js.map +1 -1
- package/package.json +2 -2
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"framing-policy.d.ts","sourceRoot":"","sources":["../../src/http/framing-policy.ts"],"names":[],"mappings":"AAGA,eAAO,MAAM,aAAa,8FAA8F,CAAC"}
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
// Who may show kvman's pages in a frame (plan 04 §4.2, ADR 0099, 9 and 32): kvman itself, a local page such as kvcoder's
|
|
2
|
+
// `url` artifact showing a preview kvman, and a VS Code webview, whose workbench is loaded from `vscode-file:`. A website
|
|
3
|
+
// can't, so it can't use kvman's UI from a frame.
|
|
4
|
+
export const framingPolicy = "frame-ancestors 'self' http://127.0.0.1:* http://localhost:* vscode-webview: vscode-file:";
|
|
5
|
+
//# sourceMappingURL=framing-policy.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"framing-policy.js","sourceRoot":"","sources":["../../src/http/framing-policy.ts"],"names":[],"mappings":"AAAA,yHAAyH;AACzH,0HAA0H;AAC1H,kDAAkD;AAClD,MAAM,CAAC,MAAM,aAAa,GAAG,2FAA2F,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"http-app.d.ts","sourceRoot":"","sources":["../../src/http/http-app.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,MAAM,MAAM,CAAC;AAE5B,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,cAAc,CAAC;AAC3C,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,sBAAsB,CAAC;
|
|
1
|
+
{"version":3,"file":"http-app.d.ts","sourceRoot":"","sources":["../../src/http/http-app.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,MAAM,MAAM,CAAC;AAE5B,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,cAAc,CAAC;AAC3C,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,sBAAsB,CAAC;AAczD,MAAM,MAAM,cAAc,GAAG;IAAE,MAAM,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,MAAM,MAAM,CAAC;IAAC,QAAQ,EAAE,WAAW,CAAC;IAAC,MAAM,EAAE,YAAY,CAAA;CAAE,CAAC;AAEjH,wBAAgB,aAAa,CAAC,EAAE,MAAM,EAAE,IAAI,EAAE,QAAQ,EAAE,MAAM,EAAE,EAAE,cAAc,GAAG,IAAI,CAuBtF"}
|
package/dist/http/http-app.js
CHANGED
|
@@ -4,11 +4,16 @@ import { kernelProblem } from "../problems.js";
|
|
|
4
4
|
import { registerCallRoutes } from "./call-routes.js";
|
|
5
5
|
import { failure } from "./envelope.js";
|
|
6
6
|
import { registerFileRoutes } from "./file-routes.js";
|
|
7
|
+
import { framingPolicy } from "./framing-policy.js";
|
|
7
8
|
import { registerJobRoutes } from "./job-routes.js";
|
|
8
9
|
import { isOwnOrigin } from "./own-origin.js";
|
|
9
10
|
import { registerWebRoutes } from "./web-routes.js";
|
|
10
11
|
export function createHttpApp({ kernel, port, stopping, logger }) {
|
|
11
12
|
const app = new Hono();
|
|
13
|
+
app.use('*', async (c, next) => {
|
|
14
|
+
await next();
|
|
15
|
+
c.res.headers.set('Content-Security-Policy', framingPolicy);
|
|
16
|
+
});
|
|
12
17
|
app.use('*', async (c, next) => {
|
|
13
18
|
if (!isOwnOrigin(c.req.header('host'), c.req.header('origin'), port())) {
|
|
14
19
|
return failure(kernelProblem('FORBIDDEN_ORIGIN', "The request's Host or Origin isn't kvman's own.").problem);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"http-app.js","sourceRoot":"","sources":["../../src/http/http-app.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,MAAM,MAAM,CAAC;AAC5B,OAAO,EAAE,YAAY,EAAE,MAAM,YAAY,CAAC;AAG1C,OAAO,EAAE,aAAa,EAAE,MAAM,gBAAgB,CAAC;AAC/C,OAAO,EAAE,kBAAkB,EAAE,MAAM,kBAAkB,CAAC;AACtD,OAAO,EAAE,OAAO,EAAE,MAAM,eAAe,CAAC;AACxC,OAAO,EAAE,kBAAkB,EAAE,MAAM,kBAAkB,CAAC;AACtD,OAAO,EAAE,iBAAiB,EAAE,MAAM,iBAAiB,CAAC;AACpD,OAAO,EAAE,WAAW,EAAE,MAAM,iBAAiB,CAAC;AAC9C,OAAO,EAAE,iBAAiB,EAAE,MAAM,iBAAiB,CAAC;
|
|
1
|
+
{"version":3,"file":"http-app.js","sourceRoot":"","sources":["../../src/http/http-app.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,MAAM,MAAM,CAAC;AAC5B,OAAO,EAAE,YAAY,EAAE,MAAM,YAAY,CAAC;AAG1C,OAAO,EAAE,aAAa,EAAE,MAAM,gBAAgB,CAAC;AAC/C,OAAO,EAAE,kBAAkB,EAAE,MAAM,kBAAkB,CAAC;AACtD,OAAO,EAAE,OAAO,EAAE,MAAM,eAAe,CAAC;AACxC,OAAO,EAAE,kBAAkB,EAAE,MAAM,kBAAkB,CAAC;AACtD,OAAO,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AACpD,OAAO,EAAE,iBAAiB,EAAE,MAAM,iBAAiB,CAAC;AACpD,OAAO,EAAE,WAAW,EAAE,MAAM,iBAAiB,CAAC;AAC9C,OAAO,EAAE,iBAAiB,EAAE,MAAM,iBAAiB,CAAC;AAQpD,MAAM,UAAU,aAAa,CAAC,EAAE,MAAM,EAAE,IAAI,EAAE,QAAQ,EAAE,MAAM,EAAkB;IAC9E,MAAM,GAAG,GAAG,IAAI,IAAI,EAAE,CAAC;IACvB,GAAG,CAAC,GAAG,CAAC,GAAG,EAAE,KAAK,EAAE,CAAC,EAAE,IAAI,EAAE,EAAE;QAC7B,MAAM,IAAI,EAAE,CAAC;QACb,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,GAAG,CAAC,yBAAyB,EAAE,aAAa,CAAC,CAAC;IAC9D,CAAC,CAAC,CAAC;IACH,GAAG,CAAC,GAAG,CAAC,GAAG,EAAE,KAAK,EAAE,CAAC,EAAE,IAAI,EAAE,EAAE;QAC7B,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC,GAAG,CAAC,MAAM,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,GAAG,CAAC,MAAM,CAAC,QAAQ,CAAC,EAAE,IAAI,EAAE,CAAC,EAAE,CAAC;YACvE,OAAO,OAAO,CAAC,aAAa,CAAC,kBAAkB,EAAE,iDAAiD,CAAC,CAAC,OAAO,CAAC,CAAC;QAC/G,CAAC;QACD,MAAM,IAAI,EAAE,CAAC;QACb,OAAO,SAAS,CAAC;IACnB,CAAC,CAAC,CAAC;IACH,kBAAkB,CAAC,GAAG,EAAE,MAAM,CAAC,CAAC;IAChC,iBAAiB,CAAC,GAAG,EAAE,MAAM,EAAE,QAAQ,CAAC,CAAC;IACzC,kBAAkB,CAAC,GAAG,EAAE,MAAM,CAAC,CAAC;IAChC,iBAAiB,CAAC,GAAG,EAAE,MAAM,CAAC,CAAC;IAC/B,GAAG,CAAC,OAAO,CAAC,CAAC,KAAK,EAAE,EAAE;QACpB,IAAI,KAAK,YAAY,YAAY;YAAE,OAAO,OAAO,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;QACjE,MAAM,CAAC,KAAK,CAAC,yBAAyB,EAAE,EAAE,KAAK,EAAE,KAAK,CAAC,OAAO,EAAE,KAAK,EAAE,KAAK,CAAC,KAAK,IAAI,EAAE,EAAE,CAAC,CAAC;QAC5F,OAAO,OAAO,CAAC,EAAE,IAAI,EAAE,gBAAgB,EAAE,OAAO,EAAE,qBAAqB,EAAE,CAAC,CAAC;IAC7E,CAAC,CAAC,CAAC;IACH,OAAO,GAAG,CAAC;AACb,CAAC"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@kvman/kernel",
|
|
3
|
-
"version": "0.4.
|
|
3
|
+
"version": "0.4.7",
|
|
4
4
|
"description": "The kvman kernel: jobs, workers, storage, extensions, and HTTP.",
|
|
5
5
|
"license": "MIT",
|
|
6
6
|
"repository": {
|
|
@@ -27,7 +27,7 @@
|
|
|
27
27
|
],
|
|
28
28
|
"dependencies": {
|
|
29
29
|
"@hono/node-server": "2.1.3",
|
|
30
|
-
"@kvman/sdk": "0.1.
|
|
30
|
+
"@kvman/sdk": "0.1.5",
|
|
31
31
|
"better-sqlite3": "13.0.3",
|
|
32
32
|
"croner": "10.0.1",
|
|
33
33
|
"hono": "4.13.12",
|