skillscript-runtime 0.20.1 → 0.21.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/README.md +37 -10
- package/dist/cli.js +4 -0
- package/dist/cli.js.map +1 -1
- package/dist/connectors/skill-store-mcp.js +1 -1
- package/dist/connectors/skill-store-mcp.js.map +1 -1
- package/dist/connectors/skill-store.js +1 -1
- package/dist/connectors/skill-store.js.map +1 -1
- package/dist/connectors/types.d.ts +32 -1
- package/dist/connectors/types.d.ts.map +1 -1
- package/dist/connectors/types.js.map +1 -1
- package/dist/dashboard/server.d.ts +43 -0
- package/dist/dashboard/server.d.ts.map +1 -1
- package/dist/dashboard/server.js +166 -2
- package/dist/dashboard/server.js.map +1 -1
- package/dist/dashboard/spa/app.js +142 -26
- package/dist/mcp-server.d.ts +17 -16
- package/dist/mcp-server.d.ts.map +1 -1
- package/dist/mcp-server.js +56 -15
- package/dist/mcp-server.js.map +1 -1
- package/dist/skill-catalog.d.ts +2 -10
- package/dist/skill-catalog.d.ts.map +1 -1
- package/dist/skill-catalog.js +15 -0
- package/dist/skill-catalog.js.map +1 -1
- package/dist/skill-surface.d.ts +19 -0
- package/dist/skill-surface.d.ts.map +1 -0
- package/dist/skill-surface.js +86 -0
- package/dist/skill-surface.js.map +1 -0
- package/docs/adopter-playbook.md +17 -8
- package/docs/configuration.md +9 -3
- package/docs/connector-contract-reference.md +4 -6
- package/docs/sqlite-skill-store.md +5 -7
- package/examples/skillscripts/hello-world.skill.provenance.json +1 -1
- package/package.json +1 -1
- package/scaffold/.env.example +50 -8
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import type { IncomingMessage, ServerResponse } from "node:http";
|
|
2
2
|
import type { McpServer } from "../mcp-server.js";
|
|
3
3
|
import type { Scheduler } from "../scheduler.js";
|
|
4
|
+
import type { SkillStore } from "../connectors/types.js";
|
|
4
5
|
/**
|
|
5
6
|
* Dashboard HTTP server (T6b Phase 2). Bundles the SPA assets + a
|
|
6
7
|
* /rpc endpoint that forwards JSON-RPC requests to the runtime's
|
|
@@ -91,6 +92,25 @@ export interface DashboardServerConfig {
|
|
|
91
92
|
* key. Falls back to `SKILLSCRIPT_DASHBOARD_AUTH_TOKEN`.
|
|
92
93
|
*/
|
|
93
94
|
authToken?: string;
|
|
95
|
+
/**
|
|
96
|
+
* v0.20.2 — in-browser approval (passcode session-unlock). When BOTH a
|
|
97
|
+
* `skillStore` and `approvalPasscode` are wired (and secured mode is on), the
|
|
98
|
+
* dashboard mounts `POST /unlock` + `POST /approve`. The approver enters the
|
|
99
|
+
* passcode once per browser session (`/unlock`) to unlock signing; `/approve`
|
|
100
|
+
* then signs the named skill with the operator's private key and stores it
|
|
101
|
+
* Approved. The unlock is in-memory, session-cookie-bound, and expires
|
|
102
|
+
* (default 15 min idle) — the dashboard holds no STANDING signing power, only
|
|
103
|
+
* a live human-entered passcode unlocks it.
|
|
104
|
+
*
|
|
105
|
+
* SECURITY: enabling this gives the dashboard process read access to the
|
|
106
|
+
* private key. Run it only where the agent can't reach it (operator-side /
|
|
107
|
+
* isolated uid). Default unset → no `/approve`, dashboard stays review-only.
|
|
108
|
+
*/
|
|
109
|
+
skillStore?: SkillStore;
|
|
110
|
+
/** Path to the operator's Ed25519 private key (signing). Defaults via env. */
|
|
111
|
+
approvalKeyFile?: string;
|
|
112
|
+
/** Passcode gating in-browser signing. Falls back to `SKILLSCRIPT_APPROVAL_PASSCODE`. */
|
|
113
|
+
approvalPasscode?: string;
|
|
94
114
|
}
|
|
95
115
|
export declare class DashboardServer {
|
|
96
116
|
private readonly mcpServer;
|
|
@@ -103,8 +123,24 @@ export declare class DashboardServer {
|
|
|
103
123
|
private readonly eventIngressAuthToken;
|
|
104
124
|
private readonly scheduler;
|
|
105
125
|
private readonly authToken;
|
|
126
|
+
private readonly skillStore;
|
|
127
|
+
private readonly approvalKeyFile;
|
|
128
|
+
private readonly approvalPasscode;
|
|
129
|
+
/** sessionId → expiry epoch-ms. An entry means "this session unlocked signing". */
|
|
130
|
+
private readonly unlockSessions;
|
|
106
131
|
private httpServer;
|
|
107
132
|
constructor(config: DashboardServerConfig);
|
|
133
|
+
/** In-browser signing is available only when fully wired + secured. */
|
|
134
|
+
private signingEnabled;
|
|
135
|
+
/**
|
|
136
|
+
* v0.21.0 — fail LOUD, not silent (adopter finding 46e9b6f7 + Perry's security
|
|
137
|
+
* lens). When the operator EXPLICITLY asked for in-browser approval (secured
|
|
138
|
+
* mode + a passcode) but signing can't wire, a silent no-op leaves the system
|
|
139
|
+
* locked (secured) AND unapprovable-from-the-web with no signal — undiagnosable,
|
|
140
|
+
* and it drives operators to just turn secured mode off. Announce the exact gap
|
|
141
|
+
* + the fix at boot. A security control that can't do its job must say so.
|
|
142
|
+
*/
|
|
143
|
+
private warnIfSigningMisconfigured;
|
|
108
144
|
start(): Promise<void>;
|
|
109
145
|
/** The actual bound port after `start()` — read this when constructed with
|
|
110
146
|
* port 0 (OS-assigned ephemeral port). Falls back to the configured port. */
|
|
@@ -121,6 +157,13 @@ export declare class DashboardServer {
|
|
|
121
157
|
private checkDashboardAuth;
|
|
122
158
|
/** Token from `?token=` query, the `skillscript_dash` cookie, or a Bearer header. */
|
|
123
159
|
private extractDashboardToken;
|
|
160
|
+
/** Is this request's `skillscript_unlock` cookie a live (unexpired) session? */
|
|
161
|
+
private hasLiveUnlock;
|
|
162
|
+
/** POST /unlock — verify the passcode, mint an in-memory unlock session. */
|
|
163
|
+
private handleUnlock;
|
|
164
|
+
/** POST /approve {name} — sign the named skill with the operator's key + store
|
|
165
|
+
* it Approved. Requires a live unlock session (passcode entered this session). */
|
|
166
|
+
private handleApprove;
|
|
124
167
|
/**
|
|
125
168
|
* v0.19.0 — POST /event handler (memory `ceaf4579`).
|
|
126
169
|
*
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"server.d.ts","sourceRoot":"","sources":["../../src/dashboard/server.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,eAAe,EAAE,cAAc,EAAU,MAAM,WAAW,CAAC;AAKzE,OAAO,KAAK,EAAE,SAAS,EAAkB,MAAM,kBAAkB,CAAC;AAClE,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;
|
|
1
|
+
{"version":3,"file":"server.d.ts","sourceRoot":"","sources":["../../src/dashboard/server.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,eAAe,EAAE,cAAc,EAAU,MAAM,WAAW,CAAC;AAKzE,OAAO,KAAK,EAAE,SAAS,EAAkB,MAAM,kBAAkB,CAAC;AAClE,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AACjD,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,wBAAwB,CAAC;AAMzD;;;;;;;;;;;;;;;GAeG;AAEH,MAAM,WAAW,qBAAqB;IACpC,SAAS,EAAE,SAAS,CAAC;IACrB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,8GAA8G;IAC9G,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB;;;;;OAKG;IACH,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB;;;;;;;;;;;;;;;;;;OAkBG;IACH,uBAAuB,CAAC,EAAE,MAAM,CAAC;IACjC;;;;;;;;;OASG;IACH,mBAAmB,CAAC,EAAE,OAAO,CAAC;IAC9B;;;;;;;OAOG;IACH,qBAAqB,CAAC,EAAE,MAAM,CAAC;IAC/B;;;;;;OAMG;IACH,SAAS,CAAC,EAAE,SAAS,CAAC;IACtB;;;;;;;;;;;OAWG;IACH,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB;;;;;;;;;;;;;OAaG;IACH,UAAU,CAAC,EAAE,UAAU,CAAC;IACxB,8EAA8E;IAC9E,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,yFAAyF;IACzF,gBAAgB,CAAC,EAAE,MAAM,CAAC;CAC3B;AAoBD,qBAAa,eAAe;IAC1B,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAY;IACtC,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAS;IAC9B,OAAO,CAAC,QAAQ,CAAC,WAAW,CAAS;IACrC,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAS;IACnC,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAU;IACnC,OAAO,CAAC,QAAQ,CAAC,oBAAoB,CAAqB;IAC1D,OAAO,CAAC,QAAQ,CAAC,mBAAmB,CAAU;IAC9C,OAAO,CAAC,QAAQ,CAAC,qBAAqB,CAAqB;IAC3D,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAwB;IAClD,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAqB;IAE/C,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAyB;IACpD,OAAO,CAAC,QAAQ,CAAC,eAAe,CAAqB;IACrD,OAAO,CAAC,QAAQ,CAAC,gBAAgB,CAAqB;IACtD,mFAAmF;IACnF,OAAO,CAAC,QAAQ,CAAC,cAAc,CAA6B;IAC5D,OAAO,CAAC,UAAU,CAAuB;gBAE7B,MAAM,EAAE,qBAAqB;IA+CzC,uEAAuE;IACvE,OAAO,CAAC,cAAc;IAUtB;;;;;;;OAOG;IACH,OAAO,CAAC,0BAA0B;IAmB5B,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC;IAgB5B;kFAC8E;IAC9E,SAAS,IAAI,MAAM;IAKb,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC;IAO3B,yEAAyE;IACnE,MAAM,CAAC,GAAG,EAAE,eAAe,EAAE,GAAG,EAAE,cAAc,GAAG,OAAO,CAAC,IAAI,CAAC;IA6EtE;;;;;OAKG;IACH,OAAO,CAAC,kBAAkB;IAgB1B,qFAAqF;IACrF,OAAO,CAAC,qBAAqB;IAe7B,gFAAgF;IAChF,OAAO,CAAC,aAAa;IAWrB,4EAA4E;YAC9D,YAAY;IAsB1B;uFACmF;YACrE,aAAa;IAmC3B;;;;;;;;;;;;;;;OAeG;YACW,WAAW;YA8DX,SAAS;YAkCT,YAAY;CAkB3B"}
|
package/dist/dashboard/server.js
CHANGED
|
@@ -1,11 +1,15 @@
|
|
|
1
1
|
import { createServer } from "node:http";
|
|
2
|
-
import { timingSafeEqual } from "node:crypto";
|
|
2
|
+
import { timingSafeEqual, randomBytes } from "node:crypto";
|
|
3
3
|
import { readFile } from "node:fs/promises";
|
|
4
4
|
import { existsSync } from "node:fs";
|
|
5
5
|
import { extname, join, resolve, dirname } from "node:path";
|
|
6
6
|
import { fileURLToPath } from "node:url";
|
|
7
7
|
import { EventNotFoundError, EventParamMismatchError } from "../errors.js";
|
|
8
8
|
import { resolveRuntimeConfigFromEnv, pickEnvOptionalOption } from "../runtime-env-resolver.js";
|
|
9
|
+
import { stampApprovalEd25519, isSecuredMode } from "../approval.js";
|
|
10
|
+
import { defaultApprovalKeyFile } from "../bootstrap.js";
|
|
11
|
+
/** v0.20.2 — idle lifetime of an in-browser approval unlock session. */
|
|
12
|
+
const UNLOCK_TTL_MS = 15 * 60 * 1000;
|
|
9
13
|
/** Constant-time token comparison (length-guarded so timingSafeEqual won't throw). */
|
|
10
14
|
function tokensEqual(a, b) {
|
|
11
15
|
const ab = Buffer.from(a);
|
|
@@ -31,6 +35,12 @@ export class DashboardServer {
|
|
|
31
35
|
eventIngressAuthToken;
|
|
32
36
|
scheduler;
|
|
33
37
|
authToken;
|
|
38
|
+
// v0.20.2 — in-browser approval (passcode session-unlock).
|
|
39
|
+
skillStore;
|
|
40
|
+
approvalKeyFile;
|
|
41
|
+
approvalPasscode;
|
|
42
|
+
/** sessionId → expiry epoch-ms. An entry means "this session unlocked signing". */
|
|
43
|
+
unlockSessions = new Map();
|
|
34
44
|
httpServer = null;
|
|
35
45
|
constructor(config) {
|
|
36
46
|
this.mcpServer = config.mcpServer;
|
|
@@ -68,6 +78,49 @@ export class DashboardServer {
|
|
|
68
78
|
}
|
|
69
79
|
// v0.20.1 — dashboard auth gate. Empty string treated as unset.
|
|
70
80
|
this.authToken = config.authToken ?? (process.env["SKILLSCRIPT_DASHBOARD_AUTH_TOKEN"] || undefined);
|
|
81
|
+
// v0.20.2 — in-browser approval wiring.
|
|
82
|
+
this.skillStore = config.skillStore;
|
|
83
|
+
// v0.21.0 — ONE shared resolver for the key path (adopter finding 46e9b6f7):
|
|
84
|
+
// bootstrap() provisions the keypair at defaultApprovalKeyFile(); the dashboard
|
|
85
|
+
// MUST resolve the same path, or a programmatic adopter who sets only
|
|
86
|
+
// SECURED_MODE+passcode gets a silent lockout (key provisioned at the default
|
|
87
|
+
// path, dashboard looking at `undefined`). Fall back to the same default.
|
|
88
|
+
this.approvalKeyFile = config.approvalKeyFile ?? process.env["SKILLSCRIPT_APPROVAL_KEY_FILE"] ?? defaultApprovalKeyFile();
|
|
89
|
+
this.approvalPasscode = config.approvalPasscode ?? (process.env["SKILLSCRIPT_APPROVAL_PASSCODE"] || undefined);
|
|
90
|
+
}
|
|
91
|
+
/** In-browser signing is available only when fully wired + secured. */
|
|
92
|
+
signingEnabled() {
|
|
93
|
+
return (isSecuredMode() &&
|
|
94
|
+
this.skillStore !== undefined &&
|
|
95
|
+
this.approvalPasscode !== undefined &&
|
|
96
|
+
this.approvalKeyFile !== undefined &&
|
|
97
|
+
existsSync(this.approvalKeyFile));
|
|
98
|
+
}
|
|
99
|
+
/**
|
|
100
|
+
* v0.21.0 — fail LOUD, not silent (adopter finding 46e9b6f7 + Perry's security
|
|
101
|
+
* lens). When the operator EXPLICITLY asked for in-browser approval (secured
|
|
102
|
+
* mode + a passcode) but signing can't wire, a silent no-op leaves the system
|
|
103
|
+
* locked (secured) AND unapprovable-from-the-web with no signal — undiagnosable,
|
|
104
|
+
* and it drives operators to just turn secured mode off. Announce the exact gap
|
|
105
|
+
* + the fix at boot. A security control that can't do its job must say so.
|
|
106
|
+
*/
|
|
107
|
+
warnIfSigningMisconfigured() {
|
|
108
|
+
if (!isSecuredMode() || this.approvalPasscode === undefined || this.signingEnabled())
|
|
109
|
+
return;
|
|
110
|
+
const reasons = [];
|
|
111
|
+
if (this.skillStore === undefined)
|
|
112
|
+
reasons.push("no skillStore wired into DashboardServer (pass `skillStore` in its config)");
|
|
113
|
+
if (this.approvalKeyFile === undefined || !existsSync(this.approvalKeyFile)) {
|
|
114
|
+
reasons.push(`no approval private key at ${this.approvalKeyFile ?? "(unresolved path)"} — start once in secured mode to auto-provision, or set SKILLSCRIPT_APPROVAL_KEY_FILE`);
|
|
115
|
+
}
|
|
116
|
+
const bar = "!".repeat(72);
|
|
117
|
+
process.stderr.write(`\n${bar}\n` +
|
|
118
|
+
`⚠ SECURED MODE + approval passcode are set, but IN-BROWSER APPROVE IS NOT WIRED.\n` +
|
|
119
|
+
` Skills are locked (secured) AND cannot be approved from the dashboard:\n` +
|
|
120
|
+
reasons.map((r) => ` • ${r}\n`).join("") +
|
|
121
|
+
` Until fixed, approve at a terminal: \`skillfile approve <name>\` / \`reapprove --apply\`\n` +
|
|
122
|
+
` (filesystem SkillStore only — for a non-FS store the browser path is the only one).\n` +
|
|
123
|
+
`${bar}\n\n`);
|
|
71
124
|
}
|
|
72
125
|
async start() {
|
|
73
126
|
this.httpServer = createServer((req, res) => {
|
|
@@ -78,7 +131,7 @@ export class DashboardServer {
|
|
|
78
131
|
// Reject (don't hang) on bind errors — e.g. EADDRINUSE — so callers fail
|
|
79
132
|
// fast instead of waiting on a promise that never resolves.
|
|
80
133
|
const onError = (err) => { server.off("listening", onListening); reject(err); };
|
|
81
|
-
const onListening = () => { server.off("error", onError); resolve(); };
|
|
134
|
+
const onListening = () => { server.off("error", onError); this.warnIfSigningMisconfigured(); resolve(); };
|
|
82
135
|
server.once("error", onError);
|
|
83
136
|
server.once("listening", onListening);
|
|
84
137
|
server.listen(this.port, this.bindAddress);
|
|
@@ -135,6 +188,29 @@ export class DashboardServer {
|
|
|
135
188
|
await this.handleEvent(req, res);
|
|
136
189
|
return;
|
|
137
190
|
}
|
|
191
|
+
// v0.20.2 — in-browser approval (passcode session-unlock). Both routes
|
|
192
|
+
// 404 when signing isn't wired (dashboard stays review-only by default).
|
|
193
|
+
if (url.pathname === "/unlock" || url.pathname === "/approve") {
|
|
194
|
+
if (!this.signingEnabled()) {
|
|
195
|
+
res.statusCode = 404;
|
|
196
|
+
res.end("Not Found (in-browser approval not enabled)");
|
|
197
|
+
return;
|
|
198
|
+
}
|
|
199
|
+
if (req.method !== "POST") {
|
|
200
|
+
res.statusCode = 405;
|
|
201
|
+
res.end("Method Not Allowed");
|
|
202
|
+
return;
|
|
203
|
+
}
|
|
204
|
+
await (url.pathname === "/unlock" ? this.handleUnlock(req, res) : this.handleApprove(req, res));
|
|
205
|
+
return;
|
|
206
|
+
}
|
|
207
|
+
// v0.20.2 — lets the SPA decide whether to render in-browser approve UI.
|
|
208
|
+
if (url.pathname === "/signing-status") {
|
|
209
|
+
res.statusCode = 200;
|
|
210
|
+
res.setHeader("content-type", "application/json");
|
|
211
|
+
res.end(JSON.stringify({ enabled: this.signingEnabled() }));
|
|
212
|
+
return;
|
|
213
|
+
}
|
|
138
214
|
if (req.method === "GET") {
|
|
139
215
|
if (!this.mountSpa) {
|
|
140
216
|
res.statusCode = 404;
|
|
@@ -190,6 +266,94 @@ export class DashboardServer {
|
|
|
190
266
|
return auth.slice(7);
|
|
191
267
|
return undefined;
|
|
192
268
|
}
|
|
269
|
+
// ─── v0.20.2 — in-browser approval (passcode session-unlock) ─────────────────
|
|
270
|
+
/** Is this request's `skillscript_unlock` cookie a live (unexpired) session? */
|
|
271
|
+
hasLiveUnlock(req) {
|
|
272
|
+
const cookie = req.headers["cookie"];
|
|
273
|
+
if (typeof cookie !== "string")
|
|
274
|
+
return false;
|
|
275
|
+
const m = /(?:^|;\s*)skillscript_unlock=([^;]+)/.exec(cookie);
|
|
276
|
+
if (!m || m[1] === undefined)
|
|
277
|
+
return false;
|
|
278
|
+
const expiry = this.unlockSessions.get(m[1]);
|
|
279
|
+
if (expiry === undefined)
|
|
280
|
+
return false;
|
|
281
|
+
if (Date.now() > expiry) {
|
|
282
|
+
this.unlockSessions.delete(m[1]);
|
|
283
|
+
return false;
|
|
284
|
+
}
|
|
285
|
+
return true;
|
|
286
|
+
}
|
|
287
|
+
/** POST /unlock — verify the passcode, mint an in-memory unlock session. */
|
|
288
|
+
async handleUnlock(req, res) {
|
|
289
|
+
const chunks = [];
|
|
290
|
+
for await (const chunk of req)
|
|
291
|
+
chunks.push(chunk);
|
|
292
|
+
let passcode;
|
|
293
|
+
try {
|
|
294
|
+
passcode = JSON.parse(Buffer.concat(chunks).toString("utf8")).passcode;
|
|
295
|
+
}
|
|
296
|
+
catch {
|
|
297
|
+
passcode = undefined;
|
|
298
|
+
}
|
|
299
|
+
if (typeof passcode !== "string" || !tokensEqual(passcode, this.approvalPasscode)) {
|
|
300
|
+
res.statusCode = 401;
|
|
301
|
+
res.setHeader("content-type", "application/json");
|
|
302
|
+
res.end(JSON.stringify({ unlocked: false, error: "incorrect passcode" }));
|
|
303
|
+
return;
|
|
304
|
+
}
|
|
305
|
+
// Mint a session (random id, in-memory, idle-TTL). The decrypted/plaintext
|
|
306
|
+
// key is NOT cached — signing reads it per-approve while the session lives.
|
|
307
|
+
const sessionId = randomBytes(18).toString("base64url");
|
|
308
|
+
this.unlockSessions.set(sessionId, Date.now() + UNLOCK_TTL_MS);
|
|
309
|
+
res.statusCode = 200;
|
|
310
|
+
res.setHeader("Set-Cookie", `skillscript_unlock=${sessionId}; HttpOnly; SameSite=Strict; Path=/`);
|
|
311
|
+
res.setHeader("content-type", "application/json");
|
|
312
|
+
res.end(JSON.stringify({ unlocked: true, ttl_seconds: UNLOCK_TTL_MS / 1000 }));
|
|
313
|
+
}
|
|
314
|
+
/** POST /approve {name} — sign the named skill with the operator's key + store
|
|
315
|
+
* it Approved. Requires a live unlock session (passcode entered this session). */
|
|
316
|
+
async handleApprove(req, res) {
|
|
317
|
+
const json = (status, body) => {
|
|
318
|
+
res.statusCode = status;
|
|
319
|
+
res.setHeader("content-type", "application/json");
|
|
320
|
+
res.end(JSON.stringify(body));
|
|
321
|
+
};
|
|
322
|
+
if (!this.hasLiveUnlock(req)) {
|
|
323
|
+
json(401, { approved: false, needs_passcode: true });
|
|
324
|
+
return;
|
|
325
|
+
}
|
|
326
|
+
const chunks = [];
|
|
327
|
+
for await (const chunk of req)
|
|
328
|
+
chunks.push(chunk);
|
|
329
|
+
let name;
|
|
330
|
+
try {
|
|
331
|
+
name = JSON.parse(Buffer.concat(chunks).toString("utf8")).name;
|
|
332
|
+
}
|
|
333
|
+
catch {
|
|
334
|
+
name = undefined;
|
|
335
|
+
}
|
|
336
|
+
if (typeof name !== "string" || name.length === 0) {
|
|
337
|
+
json(400, { approved: false, error: "missing skill name" });
|
|
338
|
+
return;
|
|
339
|
+
}
|
|
340
|
+
try {
|
|
341
|
+
const loaded = await this.skillStore.load(name);
|
|
342
|
+
const priv = await readFile(this.approvalKeyFile, "utf8");
|
|
343
|
+
const signed = stampApprovalEd25519(loaded.source, priv);
|
|
344
|
+
const info = await this.skillStore.store(name, signed, { status: "Approved" });
|
|
345
|
+
if (info.status === "Approved") {
|
|
346
|
+
json(200, { approved: true, name, version: info.version });
|
|
347
|
+
}
|
|
348
|
+
else {
|
|
349
|
+
// Public key didn't verify the signature → store forced Draft.
|
|
350
|
+
json(500, { approved: false, error: "signature did not verify against the configured public key" });
|
|
351
|
+
}
|
|
352
|
+
}
|
|
353
|
+
catch (err) {
|
|
354
|
+
json(404, { approved: false, error: err.message });
|
|
355
|
+
}
|
|
356
|
+
}
|
|
193
357
|
/**
|
|
194
358
|
* v0.19.0 — POST /event handler (memory `ceaf4579`).
|
|
195
359
|
*
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"server.js","sourceRoot":"","sources":["../../src/dashboard/server.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"server.js","sourceRoot":"","sources":["../../src/dashboard/server.ts"],"names":[],"mappings":"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"}
|