@corenel/harness 0.1.0 → 0.2.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/conversation.d.ts +0 -11
- package/dist/conversation.d.ts.map +1 -1
- package/dist/conversation.js +1 -24
- package/dist/conversation.js.map +1 -1
- package/dist/core/budget.d.ts +40 -0
- package/dist/core/budget.d.ts.map +1 -0
- package/dist/core/budget.js +62 -0
- package/dist/core/budget.js.map +1 -0
- package/dist/core/loop.d.ts +9 -0
- package/dist/core/loop.d.ts.map +1 -1
- package/dist/core/loop.js +88 -20
- package/dist/core/loop.js.map +1 -1
- package/dist/core/pricing.d.ts +8 -0
- package/dist/core/pricing.d.ts.map +1 -0
- package/dist/core/pricing.js +12 -0
- package/dist/core/pricing.js.map +1 -0
- package/dist/core/recovery.d.ts +60 -0
- package/dist/core/recovery.d.ts.map +1 -0
- package/dist/core/recovery.js +128 -0
- package/dist/core/recovery.js.map +1 -0
- package/dist/guardrail/builtins.js +6 -6
- package/dist/guardrail/builtins.js.map +1 -1
- package/dist/guardrail/permission-service.js +1 -1
- package/dist/guardrail/permission-service.js.map +1 -1
- package/dist/guardrail/serialize.d.ts.map +1 -1
- package/dist/guardrail/serialize.js +6 -0
- package/dist/guardrail/serialize.js.map +1 -1
- package/dist/guardrail/validate.d.ts.map +1 -1
- package/dist/guardrail/validate.js +13 -0
- package/dist/guardrail/validate.js.map +1 -1
- package/dist/prompts/index.d.ts +6 -0
- package/dist/prompts/index.d.ts.map +1 -1
- package/dist/prompts/index.js +12 -6
- package/dist/prompts/index.js.map +1 -1
- package/dist/prompts/library/defaults.generated.d.ts.map +1 -1
- package/dist/prompts/library/defaults.generated.js +22 -4
- package/dist/prompts/library/defaults.generated.js.map +1 -1
- package/dist/prompts/toolsMarker.d.ts +13 -0
- package/dist/prompts/toolsMarker.d.ts.map +1 -0
- package/dist/prompts/toolsMarker.js +21 -0
- package/dist/prompts/toolsMarker.js.map +1 -0
- package/dist/providers/gateway.d.ts +16 -1
- package/dist/providers/gateway.d.ts.map +1 -1
- package/dist/providers/gateway.js +30 -4
- package/dist/providers/gateway.js.map +1 -1
- package/dist/services.d.ts +13 -0
- package/dist/services.d.ts.map +1 -1
- package/dist/services.js +2 -0
- package/dist/services.js.map +1 -1
- package/dist/sessions/fileRecallStore.d.ts +33 -0
- package/dist/sessions/fileRecallStore.d.ts.map +1 -0
- package/dist/sessions/fileRecallStore.js +112 -0
- package/dist/sessions/fileRecallStore.js.map +1 -0
- package/dist/sessions/fileSessionStore.d.ts +20 -0
- package/dist/sessions/fileSessionStore.d.ts.map +1 -0
- package/dist/sessions/fileSessionStore.js +151 -0
- package/dist/sessions/fileSessionStore.js.map +1 -0
- package/dist/sessions/jsonl.d.ts +23 -0
- package/dist/sessions/jsonl.d.ts.map +1 -0
- package/dist/sessions/jsonl.js +52 -0
- package/dist/sessions/jsonl.js.map +1 -0
- package/dist/sessions/testFs.d.ts +5 -0
- package/dist/sessions/testFs.d.ts.map +1 -0
- package/dist/sessions/testFs.js +85 -0
- package/dist/sessions/testFs.js.map +1 -0
- package/dist/sidecar/host.d.ts +64 -2
- package/dist/sidecar/host.d.ts.map +1 -1
- package/dist/sidecar/host.js +135 -1
- package/dist/sidecar/host.js.map +1 -1
- package/dist/sidecar/server.d.ts +95 -2
- package/dist/sidecar/server.d.ts.map +1 -1
- package/dist/sidecar/server.js +229 -3
- package/dist/sidecar/server.js.map +1 -1
- package/dist/skills.d.ts +8 -3
- package/dist/skills.d.ts.map +1 -1
- package/dist/skills.js +71 -35
- package/dist/skills.js.map +1 -1
- package/dist/tools/builtins.d.ts +1 -0
- package/dist/tools/builtins.d.ts.map +1 -1
- package/dist/tools/builtins.js +89 -3
- package/dist/tools/builtins.js.map +1 -1
- package/dist/tools/files.d.ts.map +1 -1
- package/dist/tools/files.js +13 -0
- package/dist/tools/files.js.map +1 -1
- package/dist/tools/http.d.ts.map +1 -1
- package/dist/tools/http.js.map +1 -1
- package/package.json +22 -34
package/dist/sidecar/server.js
CHANGED
|
@@ -1,4 +1,16 @@
|
|
|
1
1
|
import { SIDECAR_PROTOCOL, errMessage, isLoopbackHost, } from '@corenel/protocol';
|
|
2
|
+
/** True for anything with a callable `.then` -- covers native Promises and any
|
|
3
|
+
* other thenable a caller's `onClient` might return, without assuming it's a
|
|
4
|
+
* real Promise instance (the declared type is `() => void`; an async function
|
|
5
|
+
* is assignable to that per TS, so the actual runtime return must be checked). */
|
|
6
|
+
function isThenable(v) {
|
|
7
|
+
return typeof v === 'object' && v !== null && typeof v.then === 'function';
|
|
8
|
+
}
|
|
9
|
+
/** Cap on `clientId`/`clientName` before they are forwarded to `onClient` (and,
|
|
10
|
+
* downstream, used as a manifest key / dirName seed) — the wire message is
|
|
11
|
+
* declared `string` but arrives via `JSON.parse(...) as SidecarMsg` with no
|
|
12
|
+
* runtime check, so an oversized field must never reach persistence unbounded. */
|
|
13
|
+
const MAX_IDENTITY_FIELD_LEN = 200;
|
|
2
14
|
/** Base64-encode bytes without a Node Buffer (btoa is in the browser + Node 18+),
|
|
3
15
|
* so this module stays free of node:* types for the shared harness build. */
|
|
4
16
|
function bytesToB64(bytes) {
|
|
@@ -57,6 +69,37 @@ export class SidecarServer {
|
|
|
57
69
|
writable: true,
|
|
58
70
|
value: new Map()
|
|
59
71
|
});
|
|
72
|
+
/** The connected host's dot-dir name, from `hello.stateDir` (informational —
|
|
73
|
+
* doesn't change any sidecar behavior yet; reserved for future workspace-state
|
|
74
|
+
* features that need to know the host's dir name). */
|
|
75
|
+
Object.defineProperty(this, "hostStateDir", {
|
|
76
|
+
enumerable: true,
|
|
77
|
+
configurable: true,
|
|
78
|
+
writable: true,
|
|
79
|
+
value: '.corenel'
|
|
80
|
+
});
|
|
81
|
+
/** The authenticated connection's `clientId`, retained here (from `hello`) so
|
|
82
|
+
* later `host-sync-*` messages can be attributed to their owner without
|
|
83
|
+
* trusting anything the client sends per-call. Set only when the `hello`
|
|
84
|
+
* passed BOTH the token check AND the identity `typeof` gate below --
|
|
85
|
+
* `undefined` means either "not authenticated yet" or "authenticated, but this
|
|
86
|
+
* connection carries no identity to attribute files to" (an older client).
|
|
87
|
+
* Either way, host-sync must be rejected; see `requireHostSyncIdentity`. */
|
|
88
|
+
Object.defineProperty(this, "clientId", {
|
|
89
|
+
enumerable: true,
|
|
90
|
+
configurable: true,
|
|
91
|
+
writable: true,
|
|
92
|
+
value: void 0
|
|
93
|
+
});
|
|
94
|
+
/** Detach function for this connection's attendance attachment, set on a
|
|
95
|
+
* successful `hello` when `opts.attendance` is wired. Called once, on channel
|
|
96
|
+
* close, so a dead connection stops receiving/counting toward asks. */
|
|
97
|
+
Object.defineProperty(this, "attendedDetach", {
|
|
98
|
+
enumerable: true,
|
|
99
|
+
configurable: true,
|
|
100
|
+
writable: true,
|
|
101
|
+
value: void 0
|
|
102
|
+
});
|
|
60
103
|
Object.defineProperty(this, "memory", {
|
|
61
104
|
enumerable: true,
|
|
62
105
|
configurable: true,
|
|
@@ -139,10 +182,16 @@ export class SidecarServer {
|
|
|
139
182
|
for (const t of opts.tools)
|
|
140
183
|
this.tools.set(t.name, t);
|
|
141
184
|
this.ch.onMessage((m) => this.onMessage(m));
|
|
185
|
+
this.ch.onClose?.(() => {
|
|
186
|
+
this.attendedDetach?.();
|
|
187
|
+
this.attendedDetach = undefined;
|
|
188
|
+
});
|
|
142
189
|
}
|
|
143
190
|
onMessage(m) {
|
|
144
191
|
switch (m.t) {
|
|
145
192
|
case 'hello':
|
|
193
|
+
if (this.authed)
|
|
194
|
+
return; // identity is fixed at first hello; a second must not re-own the connection
|
|
146
195
|
this.onHello(m);
|
|
147
196
|
return;
|
|
148
197
|
case 'invoke':
|
|
@@ -170,24 +219,105 @@ export class SidecarServer {
|
|
|
170
219
|
}
|
|
171
220
|
void this.onHttpReq(m);
|
|
172
221
|
return;
|
|
222
|
+
case 'run':
|
|
223
|
+
if (!this.authed) {
|
|
224
|
+
this.ch.send({ t: 'run-error', id: m.id, error: 'not authenticated' });
|
|
225
|
+
return;
|
|
226
|
+
}
|
|
227
|
+
void this.onRun(m);
|
|
228
|
+
return;
|
|
229
|
+
case 'subscribe':
|
|
230
|
+
// Guarded by auth like `run` (auth boundary). Pre-auth: drop silently —
|
|
231
|
+
// subscribe has no response channel, so no message is the correct
|
|
232
|
+
// pre-auth behavior (do not invent an ack variant).
|
|
233
|
+
if (!this.authed)
|
|
234
|
+
return;
|
|
235
|
+
// P1 authed path: acknowledge-and-noop. The single commanding client
|
|
236
|
+
// already gets events via its `run` id; multi-subscriber replay is P3.
|
|
237
|
+
// Defined here so the message is forward-compatible and never mistaken
|
|
238
|
+
// for unknown.
|
|
239
|
+
return;
|
|
240
|
+
case 'permission-answer':
|
|
241
|
+
// Guarded by auth like `run`/`subscribe` (auth boundary): a pre-auth
|
|
242
|
+
// answer is dropped silently rather than forwarded into the registry.
|
|
243
|
+
if (!this.authed)
|
|
244
|
+
return;
|
|
245
|
+
this.opts.attendance?.answer(m.id, m.decision);
|
|
246
|
+
return;
|
|
247
|
+
case 'host-sync-put':
|
|
248
|
+
void this.onHostSyncPut(m);
|
|
249
|
+
return;
|
|
250
|
+
case 'host-sync-delete':
|
|
251
|
+
void this.onHostSyncDelete(m);
|
|
252
|
+
return;
|
|
173
253
|
default:
|
|
174
|
-
|
|
254
|
+
// welcome / denied / invoke-result / host-call / event / run-accepted /
|
|
255
|
+
// run-done / permission-ask / permission-resolved are host-side.
|
|
256
|
+
return;
|
|
175
257
|
}
|
|
176
258
|
}
|
|
177
259
|
onHello(m) {
|
|
178
260
|
if (m.protocol !== SIDECAR_PROTOCOL) {
|
|
261
|
+
this.opts.log?.(`denied: unsupported protocol ${m.protocol}`);
|
|
179
262
|
this.ch.send({ t: 'denied', reason: `protocol ${m.protocol} unsupported` });
|
|
180
263
|
return;
|
|
181
264
|
}
|
|
182
265
|
if (!safeEqual(m.token ?? '', this.opts.token)) {
|
|
266
|
+
this.opts.log?.('denied: invalid token');
|
|
183
267
|
this.ch.send({ t: 'denied', reason: 'invalid token' });
|
|
184
268
|
return;
|
|
185
269
|
}
|
|
186
270
|
this.authed = true;
|
|
271
|
+
this.hostStateDir = m.stateDir ?? '.corenel';
|
|
272
|
+
// Runtime-validate identity, even though the declared type is `string` --
|
|
273
|
+
// the message crossed the wire via `JSON.parse(...) as SidecarMsg`, so
|
|
274
|
+
// nothing actually guaranteed that. A non-string `clientId` (e.g. a number
|
|
275
|
+
// or object) must never reach `onClient`: downstream consumers use it as an
|
|
276
|
+
// object key (a daemon's hosts manifest) or feed it to a directory-name
|
|
277
|
+
// sanitizer that assumes a string.
|
|
278
|
+
if (typeof m.clientId === 'string' && m.clientId) {
|
|
279
|
+
const clientId = m.clientId.slice(0, MAX_IDENTITY_FIELD_LEN);
|
|
280
|
+
this.clientId = clientId;
|
|
281
|
+
const name = typeof m.clientName === 'string' && m.clientName
|
|
282
|
+
? m.clientName.slice(0, MAX_IDENTITY_FIELD_LEN)
|
|
283
|
+
: clientId;
|
|
284
|
+
// Best-effort, fire-and-forget: a throwing/rejecting `onClient` must never
|
|
285
|
+
// deny/break an otherwise valid, authenticated handshake -- identity
|
|
286
|
+
// recording is informational, not part of the auth decision. Covers BOTH
|
|
287
|
+
// failure modes: a synchronous throw (try/catch) and a rejected promise
|
|
288
|
+
// from an async callback (the `.then(undefined, ...)` below), since the
|
|
289
|
+
// latter would otherwise surface as an unhandled rejection in the host
|
|
290
|
+
// process -- not caught by try/catch, which only sees the (resolved)
|
|
291
|
+
// Promise object the call returns, not its eventual rejection.
|
|
292
|
+
try {
|
|
293
|
+
const result = this.opts.onClient?.({ clientId, name });
|
|
294
|
+
if (isThenable(result)) {
|
|
295
|
+
result.then(undefined, (err) => {
|
|
296
|
+
this.opts.log?.(`onClient hook rejected: ${errMessage(err)}`);
|
|
297
|
+
});
|
|
298
|
+
}
|
|
299
|
+
}
|
|
300
|
+
catch (err) {
|
|
301
|
+
this.opts.log?.(`onClient hook threw: ${errMessage(err)}`);
|
|
302
|
+
}
|
|
303
|
+
}
|
|
304
|
+
if (this.opts.attendance) {
|
|
305
|
+
this.attendedDetach = this.opts.attendance.attach({
|
|
306
|
+
send: (ask) => this.ch.send({ t: 'permission-ask', ...ask }),
|
|
307
|
+
resolved: (id, decision, by) => this.ch.send({ t: 'permission-resolved', id, decision, by }),
|
|
308
|
+
});
|
|
309
|
+
}
|
|
310
|
+
this.opts.log?.(`paired — ${this.tools.size} ${this.tools.size === 1 ? 'tool' : 'tools'} advertised (host dir: ${this.hostStateDir})`);
|
|
187
311
|
const tools = [...this.tools.values()].map(({ run: _run, ...decl }) => decl);
|
|
188
312
|
// Advertise the loopback HTTP proxy so the host can route local-LLM calls
|
|
189
|
-
// through us (server-side fetch, no browser CORS) instead of failing
|
|
190
|
-
|
|
313
|
+
// through us (server-side fetch, no browser CORS) instead of failing, and
|
|
314
|
+
// 'runner' only when a crew runner is actually wired — that's what lets the
|
|
315
|
+
// host safely enable daemon-tier triggers (schedule/continuous/self-directed)
|
|
316
|
+
// instead of adding one that would silently never fire. `info` (the confined
|
|
317
|
+
// root + platform) lets the host show the working directory when browsing
|
|
318
|
+
// this sidecar as a file source; omitted cleanly when not provided.
|
|
319
|
+
const features = ['http-proxy', ...(this.opts.runner ? ['runner'] : [])];
|
|
320
|
+
this.ch.send({ t: 'welcome', tools, features, ...(this.opts.info ? { info: this.opts.info } : {}) });
|
|
191
321
|
}
|
|
192
322
|
/** Proxy a host HTTP request server-side. Restricted to LOOPBACK targets — the
|
|
193
323
|
* sidecar must never be usable as an SSRF pivot to internal/metadata hosts. The
|
|
@@ -228,17 +358,113 @@ export class SidecarServer {
|
|
|
228
358
|
async onInvoke(m) {
|
|
229
359
|
const tool = this.tools.get(m.name);
|
|
230
360
|
if (!tool) {
|
|
361
|
+
this.opts.log?.(`invoke ${m.name}: unknown tool`);
|
|
231
362
|
this.ch.send({ t: 'invoke-result', id: m.id, ok: false, error: `unknown tool ${m.name}` });
|
|
232
363
|
return;
|
|
233
364
|
}
|
|
365
|
+
this.opts.log?.(`invoke ${m.name}`);
|
|
234
366
|
try {
|
|
235
367
|
const result = await tool.run(m.args, this.makeContext());
|
|
236
368
|
this.ch.send({ t: 'invoke-result', id: m.id, ok: true, result });
|
|
237
369
|
}
|
|
238
370
|
catch (e) {
|
|
371
|
+
this.opts.log?.(`invoke ${m.name} failed: ${errMessage(e)}`);
|
|
239
372
|
this.ch.send({ t: 'invoke-result', id: m.id, ok: false, error: errMessage(e) });
|
|
240
373
|
}
|
|
241
374
|
}
|
|
375
|
+
/** Runs a crew agent via the configured `runner` and streams its lifecycle back
|
|
376
|
+
* to the host: `run-accepted` (with the daemon-assigned runId) once the runner
|
|
377
|
+
* has started, one `event` per `onEvent` callback, then exactly one of
|
|
378
|
+
* `run-done` (final text + stop reason) or `run-error`.
|
|
379
|
+
*
|
|
380
|
+
* `runner.run` returns the runId asynchronously, but a runner is free to call
|
|
381
|
+
* `onEvent` synchronously before that promise settles (e.g. an immediate first
|
|
382
|
+
* turn). Events that arrive before we know the runId are buffered and flushed
|
|
383
|
+
* right after `run-accepted`, so they still carry the correct runId and never
|
|
384
|
+
* race ahead of it on the wire. */
|
|
385
|
+
async onRun(m) {
|
|
386
|
+
if (!this.opts.runner) {
|
|
387
|
+
this.ch.send({ t: 'run-error', id: m.id, error: 'this sidecar cannot run agents' });
|
|
388
|
+
return;
|
|
389
|
+
}
|
|
390
|
+
let runId;
|
|
391
|
+
const pending = [];
|
|
392
|
+
const onEvent = (event) => {
|
|
393
|
+
if (runId === undefined) {
|
|
394
|
+
pending.push(event);
|
|
395
|
+
return;
|
|
396
|
+
}
|
|
397
|
+
this.ch.send({ t: 'event', id: m.id, runId, event });
|
|
398
|
+
};
|
|
399
|
+
try {
|
|
400
|
+
// Task 12 fix-wave: forward this connection's authenticated `clientId`
|
|
401
|
+
// (or `undefined` for an unidentified/older peer) as an UNTRUSTED
|
|
402
|
+
// `{ clientId }` identity -- this class must never resolve it itself
|
|
403
|
+
// (no manifest access here, by design; see the module doc), it just
|
|
404
|
+
// hands the identity it already holds to the runner, exactly like
|
|
405
|
+
// `onHostSyncPut`/`onHostSyncDelete` do for `hostSync.put`/`remove`.
|
|
406
|
+
const started = await this.opts.runner.run(m.agent, m.input, onEvent, { clientId: this.clientId });
|
|
407
|
+
runId = started.runId;
|
|
408
|
+
this.ch.send({ t: 'run-accepted', id: m.id, runId });
|
|
409
|
+
for (const event of pending)
|
|
410
|
+
this.ch.send({ t: 'event', id: m.id, runId, event });
|
|
411
|
+
const fin = await started.done;
|
|
412
|
+
this.ch.send({ t: 'run-done', id: m.id, runId, text: fin.text, stopReason: fin.stopReason });
|
|
413
|
+
}
|
|
414
|
+
catch (e) {
|
|
415
|
+
this.ch.send({ t: 'run-error', id: m.id, error: errMessage(e) });
|
|
416
|
+
}
|
|
417
|
+
}
|
|
418
|
+
/** The identity to attribute a host-sync write to. Returns either the
|
|
419
|
+
* authenticated `clientId`, or an error string explaining why there is none --
|
|
420
|
+
* either this connection is not authenticated yet, or it authenticated with no
|
|
421
|
+
* `clientId` (an older client). The latter is NOT an auth failure (the pairing
|
|
422
|
+
* token already authenticated the connection); it is a "no owner to attribute
|
|
423
|
+
* files to" rule -- a write with no owner must never reach the port. */
|
|
424
|
+
requireHostSyncIdentity() {
|
|
425
|
+
if (!this.authed)
|
|
426
|
+
return { error: 'not authenticated' };
|
|
427
|
+
if (this.clientId === undefined) {
|
|
428
|
+
return { error: 'this connection carries no client identity to attribute host-sync writes to' };
|
|
429
|
+
}
|
|
430
|
+
return { clientId: this.clientId };
|
|
431
|
+
}
|
|
432
|
+
async onHostSyncPut(m) {
|
|
433
|
+
const identity = this.requireHostSyncIdentity();
|
|
434
|
+
if ('error' in identity) {
|
|
435
|
+
this.ch.send({ t: 'host-sync-result', id: m.id, ok: false, error: identity.error });
|
|
436
|
+
return;
|
|
437
|
+
}
|
|
438
|
+
if (!this.opts.hostSync) {
|
|
439
|
+
this.ch.send({ t: 'host-sync-result', id: m.id, ok: false, error: 'this sidecar cannot sync host config' });
|
|
440
|
+
return;
|
|
441
|
+
}
|
|
442
|
+
try {
|
|
443
|
+
await this.opts.hostSync.put(identity.clientId, m.path, m.content);
|
|
444
|
+
this.ch.send({ t: 'host-sync-result', id: m.id, ok: true });
|
|
445
|
+
}
|
|
446
|
+
catch (e) {
|
|
447
|
+
this.ch.send({ t: 'host-sync-result', id: m.id, ok: false, error: errMessage(e) });
|
|
448
|
+
}
|
|
449
|
+
}
|
|
450
|
+
async onHostSyncDelete(m) {
|
|
451
|
+
const identity = this.requireHostSyncIdentity();
|
|
452
|
+
if ('error' in identity) {
|
|
453
|
+
this.ch.send({ t: 'host-sync-result', id: m.id, ok: false, error: identity.error });
|
|
454
|
+
return;
|
|
455
|
+
}
|
|
456
|
+
if (!this.opts.hostSync) {
|
|
457
|
+
this.ch.send({ t: 'host-sync-result', id: m.id, ok: false, error: 'this sidecar cannot sync host config' });
|
|
458
|
+
return;
|
|
459
|
+
}
|
|
460
|
+
try {
|
|
461
|
+
await this.opts.hostSync.remove(identity.clientId, m.path);
|
|
462
|
+
this.ch.send({ t: 'host-sync-result', id: m.id, ok: true });
|
|
463
|
+
}
|
|
464
|
+
catch (e) {
|
|
465
|
+
this.ch.send({ t: 'host-sync-result', id: m.id, ok: false, error: errMessage(e) });
|
|
466
|
+
}
|
|
467
|
+
}
|
|
242
468
|
/** A ToolContext whose capabilities proxy back to the host (persist-nothing).
|
|
243
469
|
* The stores, the host's file workspace, and the user prompts (confirm/ask) all
|
|
244
470
|
* round-trip over the channel. confirm/ask default to allow/dismiss when the
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"server.js","sourceRoot":"","sources":["../../sidecar/server.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"server.js","sourceRoot":"","sources":["../../sidecar/server.ts"],"names":[],"mappings":"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"}
|
package/dist/skills.d.ts
CHANGED
|
@@ -1,3 +1,7 @@
|
|
|
1
|
+
/** Extract a `.pdpkg` (ZIP) buffer to a flat `path -> content` map. Injected by
|
|
2
|
+
* the host at boot so the kernel doesn't depend on @prompd/core. */
|
|
3
|
+
export type PdpkgExtractor = (buffer: Uint8Array) => Promise<Map<string, string>>;
|
|
4
|
+
export declare function setPdpkgExtractor(fn: PdpkgExtractor): void;
|
|
1
5
|
export type ScriptKind = 'js' | 'python' | 'shell';
|
|
2
6
|
export interface SkillScript {
|
|
3
7
|
path: string;
|
|
@@ -20,7 +24,7 @@ export declare function safeName(s: string): string;
|
|
|
20
24
|
/** Strip a single common top-level folder from zip paths so a wrapped skill flattens. */
|
|
21
25
|
export declare function stripCommonRoot(paths: string[]): (p: string) => string;
|
|
22
26
|
export declare function stripFrontmatter(src: string): string;
|
|
23
|
-
/** Resolve a skill's name: manifest.json `name` > SKILL.md frontmatter > fallback. */
|
|
27
|
+
/** Resolve a skill's name: manifest.json `name` > SKILL.prmd/SKILL.md frontmatter > fallback. */
|
|
24
28
|
export declare function resolveSkillName(read: (path: string) => Promise<string | null>, fallback: string): Promise<string>;
|
|
25
29
|
/** Extract a skill .pdpkg (zip) into the config workspace at skills/<name>/.
|
|
26
30
|
* Replaces any prior install of the same skill. Returns the installed name. */
|
|
@@ -29,8 +33,9 @@ export declare function removeSkill(name: string): Promise<void>;
|
|
|
29
33
|
export declare function isSkillEnabled(name: string): boolean;
|
|
30
34
|
export declare function setSkillEnabled(name: string, on: boolean): void;
|
|
31
35
|
export declare function subscribeSkills(cb: () => void): () => void;
|
|
32
|
-
/** Every installed skill
|
|
33
|
-
*
|
|
36
|
+
/** Every installed skill — a folder under config `skills/<name>/` holding its
|
|
37
|
+
* instructions as SKILL.prmd (the config-native prompt format; SKILL.md also
|
|
38
|
+
* accepted for packaged zips) plus optional scripts/resources. */
|
|
34
39
|
export declare function listSkills(): Promise<InstalledSkill[]>;
|
|
35
40
|
/** The combined instruction block for ENABLED skills — injected into the system
|
|
36
41
|
* prompt. Includes an explicit note about any gated (non-JS) scripts so Corenel
|
package/dist/skills.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"skills.d.ts","sourceRoot":"","sources":["../skills.ts"],"names":[],"mappings":"AAuBA,MAAM,MAAM,UAAU,GAAG,IAAI,GAAG,QAAQ,GAAG,OAAO,CAAC;AACnD,MAAM,WAAW,WAAW;IAAG,IAAI,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,UAAU,CAAC;IAAC,QAAQ,EAAE,OAAO,CAAA;CAAE;AAClF,MAAM,WAAW,cAAc;IAC7B,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,4EAA4E;IAC5E,YAAY,EAAE,MAAM,GAAG,IAAI,CAAC;IAC5B,OAAO,EAAE,WAAW,EAAE,CAAC;IACvB,OAAO,EAAE,OAAO,CAAC;CAClB;AAOD;qEACqE;AACrE,wBAAgB,cAAc,CAAC,IAAI,EAAE,MAAM,GAAG,WAAW,GAAG,IAAI,CAK/D;AAED,kEAAkE;AAClE,wBAAgB,QAAQ,CAAC,CAAC,EAAE,MAAM,GAAG,MAAM,CAE1C;AAED,yFAAyF;AACzF,wBAAgB,eAAe,CAAC,KAAK,EAAE,MAAM,EAAE,GAAG,CAAC,CAAC,EAAE,MAAM,KAAK,MAAM,CAOtE;AAcD,wBAAgB,gBAAgB,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAEpD;AAED,
|
|
1
|
+
{"version":3,"file":"skills.d.ts","sourceRoot":"","sources":["../skills.ts"],"names":[],"mappings":"AAuBA;oEACoE;AACpE,MAAM,MAAM,cAAc,GAAG,CAAC,MAAM,EAAE,UAAU,KAAK,OAAO,CAAC,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,CAAC;AAElF,wBAAgB,iBAAiB,CAAC,EAAE,EAAE,cAAc,GAAG,IAAI,CAAuB;AAUlF,MAAM,MAAM,UAAU,GAAG,IAAI,GAAG,QAAQ,GAAG,OAAO,CAAC;AACnD,MAAM,WAAW,WAAW;IAAG,IAAI,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,UAAU,CAAC;IAAC,QAAQ,EAAE,OAAO,CAAA;CAAE;AAClF,MAAM,WAAW,cAAc;IAC7B,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,4EAA4E;IAC5E,YAAY,EAAE,MAAM,GAAG,IAAI,CAAC;IAC5B,OAAO,EAAE,WAAW,EAAE,CAAC;IACvB,OAAO,EAAE,OAAO,CAAC;CAClB;AAOD;qEACqE;AACrE,wBAAgB,cAAc,CAAC,IAAI,EAAE,MAAM,GAAG,WAAW,GAAG,IAAI,CAK/D;AAED,kEAAkE;AAClE,wBAAgB,QAAQ,CAAC,CAAC,EAAE,MAAM,GAAG,MAAM,CAE1C;AAED,yFAAyF;AACzF,wBAAgB,eAAe,CAAC,KAAK,EAAE,MAAM,EAAE,GAAG,CAAC,CAAC,EAAE,MAAM,KAAK,MAAM,CAOtE;AAcD,wBAAgB,gBAAgB,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAEpD;AAED,iGAAiG;AACjG,wBAAsB,gBAAgB,CACpC,IAAI,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC,EAAE,QAAQ,EAAE,MAAM,GAC/D,OAAO,CAAC,MAAM,CAAC,CAMjB;AAID;+EAC+E;AAC/E,wBAAsB,eAAe,CAAC,KAAK,EAAE,WAAW,GAAG,UAAU,EAAE,YAAY,SAAU,GAAG,OAAO,CAAC,MAAM,CAAC,CAqB9G;AAED,wBAAsB,WAAW,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAM7D;AAaD,wBAAgB,cAAc,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAGpD;AACD,wBAAgB,eAAe,CAAC,IAAI,EAAE,MAAM,EAAE,EAAE,EAAE,OAAO,GAAG,IAAI,CAO/D;AAGD,wBAAgB,eAAe,CAAC,EAAE,EAAE,MAAM,IAAI,GAAG,MAAM,IAAI,CAAqD;AAchH;;kEAEkE;AAClE,wBAAsB,UAAU,IAAI,OAAO,CAAC,cAAc,EAAE,CAAC,CA4B5D;AAED;;oFAEoF;AACpF,wBAAsB,wBAAwB,IAAI,OAAO,CAAC,MAAM,CAAC,CAgBhE"}
|
package/dist/skills.js
CHANGED
|
@@ -12,12 +12,21 @@
|
|
|
12
12
|
* are surfaced but GATED (no runtime in the zero-install host) — and Corenel is
|
|
13
13
|
* told it can't run them, so it won't pretend to.
|
|
14
14
|
*
|
|
15
|
-
*
|
|
16
|
-
*
|
|
15
|
+
* Unzip is INJECTED (the host wires @prompd/core's `extractPdpkg`) — the same
|
|
16
|
+
* .pdpkg extraction the package compiler uses, so there's one ZIP path, not a
|
|
17
|
+
* hand-rolled copy here. The kernel stays format/vendor-agnostic: it never imports
|
|
18
|
+
* @prompd/core directly (see kernelBoundary.test).
|
|
17
19
|
*/
|
|
18
20
|
import { configWorkspace } from './prompts/host';
|
|
21
|
+
import { seedConfig } from './prompts/config';
|
|
22
|
+
let extractPdpkg = null;
|
|
23
|
+
export function setPdpkgExtractor(fn) { extractPdpkg = fn; }
|
|
19
24
|
const ROOT = 'skills';
|
|
20
25
|
const ENABLED_LS = 'prompd.web.skills.enabled';
|
|
26
|
+
const DISABLED_LS = 'prompd.web.skills.disabled';
|
|
27
|
+
/** Shipped skills that are ON out of the box (seeded from CONFIG_DEFAULTS —
|
|
28
|
+
* see prompts/library). Still toggleable: an explicit disable wins and persists. */
|
|
29
|
+
const DEFAULT_ENABLED = new Set(['strategy-planning']);
|
|
21
30
|
const SCRIPT_KIND = {
|
|
22
31
|
js: 'js', jsx: 'js', ts: 'js', tsx: 'js', mjs: 'js', cjs: 'js',
|
|
23
32
|
py: 'python', shell: 'shell', sh: 'shell', bash: 'shell',
|
|
@@ -60,7 +69,7 @@ function parseFrontmatter(src) {
|
|
|
60
69
|
export function stripFrontmatter(src) {
|
|
61
70
|
return src.replace(/^---\r?\n[\s\S]*?\r?\n---\r?\n?/, '').trim();
|
|
62
71
|
}
|
|
63
|
-
/** Resolve a skill's name: manifest.json `name` > SKILL.md frontmatter > fallback. */
|
|
72
|
+
/** Resolve a skill's name: manifest.json `name` > SKILL.prmd/SKILL.md frontmatter > fallback. */
|
|
64
73
|
export async function resolveSkillName(read, fallback) {
|
|
65
74
|
const manifest = await read('manifest.json');
|
|
66
75
|
if (manifest) {
|
|
@@ -71,7 +80,7 @@ export async function resolveSkillName(read, fallback) {
|
|
|
71
80
|
}
|
|
72
81
|
catch { /* ignore */ }
|
|
73
82
|
}
|
|
74
|
-
const skill = await read('SKILL.md');
|
|
83
|
+
const skill = (await read('SKILL.prmd')) ?? (await read('SKILL.md'));
|
|
75
84
|
if (skill) {
|
|
76
85
|
const fm = parseFrontmatter(skill);
|
|
77
86
|
const n = fm.name || fm.id;
|
|
@@ -84,54 +93,69 @@ export async function resolveSkillName(read, fallback) {
|
|
|
84
93
|
/** Extract a skill .pdpkg (zip) into the config workspace at skills/<name>/.
|
|
85
94
|
* Replaces any prior install of the same skill. Returns the installed name. */
|
|
86
95
|
export async function installSkillZip(bytes, fallbackName = 'skill') {
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
const
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
if (!files.length)
|
|
96
|
+
if (!extractPdpkg)
|
|
97
|
+
throw new Error('Skill install unavailable: no .pdpkg extractor was injected (host wiring).');
|
|
98
|
+
const buffer = bytes instanceof Uint8Array ? bytes : new Uint8Array(bytes);
|
|
99
|
+
const files = await extractPdpkg(buffer); // path -> content, via the host's shared unzip
|
|
100
|
+
if (!files.size)
|
|
93
101
|
throw new Error('The skill archive is empty.');
|
|
94
|
-
const
|
|
95
|
-
const
|
|
96
|
-
const
|
|
97
|
-
const
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
};
|
|
101
|
-
const topFolder = files[0].path.includes('/') ? files[0].path.split('/')[0] : fallbackName;
|
|
102
|
+
const paths = [...files.keys()];
|
|
103
|
+
const rel = stripCommonRoot(paths);
|
|
104
|
+
const flat = paths.map((p) => ({ path: rel(p), content: files.get(p) })).filter((f) => f.path);
|
|
105
|
+
const byPath = new Map(flat.map((f) => [f.path.toLowerCase(), f.content]));
|
|
106
|
+
const readRel = async (p) => byPath.get(p.toLowerCase()) ?? null;
|
|
107
|
+
const topFolder = paths[0].includes('/') ? paths[0].split('/')[0] : fallbackName;
|
|
102
108
|
const name = await resolveSkillName(readRel, topFolder);
|
|
103
109
|
await configWorkspace().remove(`${ROOT}/${name}`).catch(() => { });
|
|
104
110
|
for (const f of flat) {
|
|
105
|
-
await configWorkspace().write(`${ROOT}/${name}/${f.path}`,
|
|
111
|
+
await configWorkspace().write(`${ROOT}/${name}/${f.path}`, f.content);
|
|
106
112
|
}
|
|
107
113
|
notify();
|
|
108
114
|
return name;
|
|
109
115
|
}
|
|
110
116
|
export async function removeSkill(name) {
|
|
117
|
+
// A SHIPPED default (CONFIG_DEFAULTS) re-seeds on the next reconcile — disable
|
|
118
|
+
// is the effective "off" for those; the explicit disable below persists.
|
|
111
119
|
await configWorkspace().remove(`${ROOT}/${safeName(name)}`).catch(() => { });
|
|
112
120
|
setSkillEnabled(name, false);
|
|
113
121
|
notify();
|
|
114
122
|
}
|
|
115
|
-
/* ---- enable state (localStorage) ----
|
|
116
|
-
|
|
123
|
+
/* ---- enable state (localStorage) ----
|
|
124
|
+
* Two sets: explicit enables and explicit disables. A skill is on when explicitly
|
|
125
|
+
* enabled OR default-enabled — unless explicitly disabled (the user's off always
|
|
126
|
+
* wins, including across reinstalls/reseeds of a shipped default). */
|
|
127
|
+
function lsSet(key) {
|
|
117
128
|
try {
|
|
118
|
-
return new Set(JSON.parse(localStorage.getItem(
|
|
129
|
+
return new Set(JSON.parse(localStorage.getItem(key) || '[]'));
|
|
119
130
|
}
|
|
120
131
|
catch {
|
|
121
132
|
return new Set();
|
|
122
133
|
}
|
|
123
134
|
}
|
|
124
|
-
|
|
125
|
-
export function setSkillEnabled(name, on) {
|
|
126
|
-
const s = enabledSet();
|
|
127
|
-
if (on)
|
|
128
|
-
s.add(name);
|
|
129
|
-
else
|
|
130
|
-
s.delete(name);
|
|
135
|
+
function writeLsSet(key, s) {
|
|
131
136
|
try {
|
|
132
|
-
localStorage.setItem(
|
|
137
|
+
localStorage.setItem(key, JSON.stringify([...s]));
|
|
133
138
|
}
|
|
134
139
|
catch { /* ignore */ }
|
|
140
|
+
}
|
|
141
|
+
export function isSkillEnabled(name) {
|
|
142
|
+
if (lsSet(DISABLED_LS).has(name))
|
|
143
|
+
return false;
|
|
144
|
+
return lsSet(ENABLED_LS).has(name) || DEFAULT_ENABLED.has(name);
|
|
145
|
+
}
|
|
146
|
+
export function setSkillEnabled(name, on) {
|
|
147
|
+
const en = lsSet(ENABLED_LS);
|
|
148
|
+
const dis = lsSet(DISABLED_LS);
|
|
149
|
+
if (on) {
|
|
150
|
+
en.add(name);
|
|
151
|
+
dis.delete(name);
|
|
152
|
+
}
|
|
153
|
+
else {
|
|
154
|
+
en.delete(name);
|
|
155
|
+
dis.add(name);
|
|
156
|
+
}
|
|
157
|
+
writeLsSet(ENABLED_LS, en);
|
|
158
|
+
writeLsSet(DISABLED_LS, dis);
|
|
135
159
|
notify();
|
|
136
160
|
}
|
|
137
161
|
const subs = new Set();
|
|
@@ -153,9 +177,18 @@ function flattenFiles(nodes) {
|
|
|
153
177
|
}
|
|
154
178
|
return out;
|
|
155
179
|
}
|
|
156
|
-
/** Every installed skill
|
|
157
|
-
*
|
|
180
|
+
/** Every installed skill — a folder under config `skills/<name>/` holding its
|
|
181
|
+
* instructions as SKILL.prmd (the config-native prompt format; SKILL.md also
|
|
182
|
+
* accepted for packaged zips) plus optional scripts/resources. */
|
|
158
183
|
export async function listSkills() {
|
|
184
|
+
// Shipped skills (CONFIG_DEFAULTS `skills/...` entries) exist only after the
|
|
185
|
+
// config workspace is seeded — make sure that's happened before listing, so a
|
|
186
|
+
// fresh profile sees them on the first open of the skills drawer. Call-time
|
|
187
|
+
// only: seeding at import time poisons fresh profiles (host not wired yet).
|
|
188
|
+
try {
|
|
189
|
+
await seedConfig();
|
|
190
|
+
}
|
|
191
|
+
catch { /* unseeded host — list what exists */ }
|
|
159
192
|
let tree;
|
|
160
193
|
try {
|
|
161
194
|
tree = await configWorkspace().list(ROOT);
|
|
@@ -164,13 +197,16 @@ export async function listSkills() {
|
|
|
164
197
|
return [];
|
|
165
198
|
}
|
|
166
199
|
const names = tree.filter((n) => n.kind === 'directory').map((n) => n.name);
|
|
167
|
-
const enabled = enabledSet();
|
|
168
200
|
const out = [];
|
|
169
201
|
for (const name of names) {
|
|
170
202
|
const base = `${ROOT}/${name}/`;
|
|
171
203
|
const paths = flattenFiles(tree.find((n) => n.name === name)?.children || []);
|
|
172
204
|
const rels = paths.map((p) => p.slice(base.length));
|
|
173
|
-
|
|
205
|
+
// SKILL.prmd is the config-native instruction file; SKILL.md (packaged zips)
|
|
206
|
+
// still counts. Prefer .prmd when both exist.
|
|
207
|
+
const skillPath = paths.find((p) => p.slice(base.length).toLowerCase() === 'skill.prmd') ||
|
|
208
|
+
paths.find((p) => p.slice(base.length).toLowerCase() === 'skill.md') ||
|
|
209
|
+
null;
|
|
174
210
|
let description;
|
|
175
211
|
if (skillPath) {
|
|
176
212
|
try {
|
|
@@ -181,7 +217,7 @@ export async function listSkills() {
|
|
|
181
217
|
catch { /* ignore */ }
|
|
182
218
|
}
|
|
183
219
|
const scripts = rels.map(classifyScript).filter((s) => !!s);
|
|
184
|
-
out.push({ name, description, instructions: skillPath, scripts, enabled:
|
|
220
|
+
out.push({ name, description, instructions: skillPath, scripts, enabled: isSkillEnabled(name) });
|
|
185
221
|
}
|
|
186
222
|
return out.sort((a, b) => a.name.localeCompare(b.name));
|
|
187
223
|
}
|
package/dist/skills.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"skills.js","sourceRoot":"","sources":["../skills.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"skills.js","sourceRoot":"","sources":["../skills.ts"],"names":[],"mappings":"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"}
|
package/dist/tools/builtins.d.ts
CHANGED
|
@@ -8,6 +8,7 @@ export declare const recallResultTool: AgentTool;
|
|
|
8
8
|
export declare const askUserTool: AgentTool;
|
|
9
9
|
export declare const spawnAgentTool: AgentTool;
|
|
10
10
|
export declare const spawnAgentsTool: AgentTool;
|
|
11
|
+
export declare const listToolsTool: AgentTool;
|
|
11
12
|
export declare const compilePrompdTool: AgentTool;
|
|
12
13
|
/** The kernel's runtime-agnostic built-in tools. Product/host tools (registry
|
|
13
14
|
* search) are added by the registry — use `allTools()` for the complete set. */
|