@kvman/kernel 0.4.6 → 0.4.8

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.
@@ -0,0 +1,2 @@
1
+ export declare const framingPolicy = "frame-ancestors 'self' http://127.0.0.1:* http://localhost:* vscode-webview: vscode-file:";
2
+ //# sourceMappingURL=framing-policy.d.ts.map
@@ -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;AAYzD,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,CAmBtF"}
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"}
@@ -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;AAOpD,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,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"}
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.6",
3
+ "version": "0.4.8",
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.4",
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",