@redplanethq/corebrain 2.8.32 → 2.8.34
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 +229 -0
- package/dist/commands/gateway/llmproxy.d.ts +17 -0
- package/dist/commands/gateway/llmproxy.d.ts.map +1 -0
- package/dist/commands/gateway/llmproxy.js +312 -0
- package/dist/commands/gateway/llmproxy.js.map +1 -0
- package/dist/server/api/auth.d.ts.map +1 -1
- package/dist/server/api/auth.js +10 -1
- package/dist/server/api/auth.js.map +1 -1
- package/dist/server/api/llmproxy/index.d.ts +3 -0
- package/dist/server/api/llmproxy/index.d.ts.map +1 -0
- package/dist/server/api/llmproxy/index.js +227 -0
- package/dist/server/api/llmproxy/index.js.map +1 -0
- package/dist/server/api/server.d.ts.map +1 -1
- package/dist/server/api/server.js +12 -7
- package/dist/server/api/server.js.map +1 -1
- package/dist/tui/chat.d.ts.map +1 -1
- package/dist/tui/chat.js +19 -55
- package/dist/tui/chat.js.map +1 -1
- package/dist/tui/hooks/use-conversation.d.ts.map +1 -1
- package/dist/tui/hooks/use-conversation.js +3 -22
- package/dist/tui/hooks/use-conversation.js.map +1 -1
- package/package.json +1 -1
- package/dist/assets/assets/AppIcon.icns +0 -0
- package/dist/server/api/skills/index.d.ts +0 -9
- package/dist/server/api/skills/index.d.ts.map +0 -1
- package/dist/server/api/skills/index.js +0 -12
- package/dist/server/api/skills/index.js.map +0 -1
- package/dist/server/skills/install.d.ts +0 -35
- package/dist/server/skills/install.d.ts.map +0 -1
- package/dist/server/skills/install.js +0 -182
- package/dist/server/skills/install.js.map +0 -1
- package/dist/server/skills/skill-store.d.ts +0 -12
- package/dist/server/skills/skill-store.d.ts.map +0 -1
- package/dist/server/skills/skill-store.js +0 -76
- package/dist/server/skills/skill-store.js.map +0 -1
- package/dist/server/tools/skills-tools.d.ts +0 -14
- package/dist/server/tools/skills-tools.d.ts.map +0 -1
- package/dist/server/tools/skills-tools.js +0 -100
- package/dist/server/tools/skills-tools.js.map +0 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"use-conversation.d.ts","sourceRoot":"","sources":["../../../src/tui/hooks/use-conversation.ts"],"names":[],"mappings":"AAGA,OAAO,EAAC,YAAY,EAAC,MAAM,iCAAiC,CAAC;AAI7D,MAAM,WAAW,qBAAqB;IACrC,WAAW,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;IACrC,WAAW,CAAC,EAAE,CAAC,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,YAAY,KAAK,IAAI,CAAC;IACrE,UAAU,CAAC,EAAE,MAAM,IAAI,CAAC;IACxB,YAAY,CAAC,EAAE,MAAM,IAAI,CAAC;IAC1B,QAAQ,CAAC,EAAE,MAAM,IAAI,CAAC;IACtB,OAAO,CAAC,EAAE,MAAM,IAAI,CAAC;IACrB,OAAO,CAAC,EAAE,CAAC,GAAG,EAAE,KAAK,KAAK,IAAI,CAAC;IAC/B,mBAAmB,CAAC,EAAE,CAAC,UAAU,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,KAAK,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,KAAK,IAAI,CAAC;CAC1H;AAED,MAAM,WAAW,YAAY;IAC5B,QAAQ,CAAC,cAAc,EAAE,MAAM,GAAG,IAAI,CAAC;IACvC,QAAQ,CAAC,SAAS,EAAE,OAAO,CAAC;IAC5B,IAAI,CAAC,OAAO,EAAE,MAAM,EAAE,SAAS,EAAE,qBAAqB,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IACvE,OAAO,CAAC,QAAQ,EAAE,OAAO,EAAE,UAAU,EAAE,MAAM,EAAE,SAAS,EAAE,qBAAqB,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAChG,KAAK,IAAI,IAAI,CAAC;IACd,KAAK,IAAI,IAAI,CAAC;IACd,MAAM,CAAC,EAAE,EAAE,MAAM,GAAG,IAAI,CAAC;IACzB,eAAe,IAAI,IAAI,CAAC;CACxB;AA8ED,wBAAgB,kBAAkB,CACjC,OAAO,EAAE,MAAM,EACf,MAAM,EAAE,MAAM,GACZ,YAAY,
|
|
1
|
+
{"version":3,"file":"use-conversation.d.ts","sourceRoot":"","sources":["../../../src/tui/hooks/use-conversation.ts"],"names":[],"mappings":"AAGA,OAAO,EAAC,YAAY,EAAC,MAAM,iCAAiC,CAAC;AAI7D,MAAM,WAAW,qBAAqB;IACrC,WAAW,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;IACrC,WAAW,CAAC,EAAE,CAAC,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,YAAY,KAAK,IAAI,CAAC;IACrE,UAAU,CAAC,EAAE,MAAM,IAAI,CAAC;IACxB,YAAY,CAAC,EAAE,MAAM,IAAI,CAAC;IAC1B,QAAQ,CAAC,EAAE,MAAM,IAAI,CAAC;IACtB,OAAO,CAAC,EAAE,MAAM,IAAI,CAAC;IACrB,OAAO,CAAC,EAAE,CAAC,GAAG,EAAE,KAAK,KAAK,IAAI,CAAC;IAC/B,mBAAmB,CAAC,EAAE,CAAC,UAAU,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,KAAK,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,KAAK,IAAI,CAAC;CAC1H;AAED,MAAM,WAAW,YAAY;IAC5B,QAAQ,CAAC,cAAc,EAAE,MAAM,GAAG,IAAI,CAAC;IACvC,QAAQ,CAAC,SAAS,EAAE,OAAO,CAAC;IAC5B,IAAI,CAAC,OAAO,EAAE,MAAM,EAAE,SAAS,EAAE,qBAAqB,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IACvE,OAAO,CAAC,QAAQ,EAAE,OAAO,EAAE,UAAU,EAAE,MAAM,EAAE,SAAS,EAAE,qBAAqB,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAChG,KAAK,IAAI,IAAI,CAAC;IACd,KAAK,IAAI,IAAI,CAAC;IACd,MAAM,CAAC,EAAE,EAAE,MAAM,GAAG,IAAI,CAAC;IACzB,eAAe,IAAI,IAAI,CAAC;CACxB;AA8ED,wBAAgB,kBAAkB,CACjC,OAAO,EAAE,MAAM,EACf,MAAM,EAAE,MAAM,GACZ,YAAY,CA8bd"}
|
|
@@ -97,7 +97,6 @@ export function createConversation(baseUrl, apiKey) {
|
|
|
97
97
|
let lastAgentItem = savedAgentItem; // restored from prior stream (like cachedNestedPartsRef)
|
|
98
98
|
let lastAgentCallId = null; // tracks lastAgentItem's toolCallId for parent linkage
|
|
99
99
|
let hadApprovalRequest = false;
|
|
100
|
-
let onFinishFired = false;
|
|
101
100
|
const approvedContainerIds = new Set(); // prevent duplicate approval expansion
|
|
102
101
|
try {
|
|
103
102
|
for await (const event of gen) {
|
|
@@ -369,20 +368,6 @@ export function createConversation(baseUrl, apiKey) {
|
|
|
369
368
|
callbacks.onStepFinish?.();
|
|
370
369
|
break;
|
|
371
370
|
}
|
|
372
|
-
case 'finish-message':
|
|
373
|
-
case 'finish': {
|
|
374
|
-
// Fire onFinish immediately so the CLI loader clears the
|
|
375
|
-
// moment the turn wraps up — but keep draining the SSE
|
|
376
|
-
// stream so the server can finish its persistence step
|
|
377
|
-
// (outputProcessors → saveConversationResult). Aborting
|
|
378
|
-
// or returning here would close the socket early and
|
|
379
|
-
// the assistant reply would never hit the DB.
|
|
380
|
-
if (!hadApprovalRequest && !onFinishFired) {
|
|
381
|
-
onFinishFired = true;
|
|
382
|
-
callbacks.onFinish?.();
|
|
383
|
-
}
|
|
384
|
-
break;
|
|
385
|
-
}
|
|
386
371
|
case 'error': {
|
|
387
372
|
if (event.error === 'terminated')
|
|
388
373
|
break;
|
|
@@ -393,10 +378,8 @@ export function createConversation(baseUrl, apiKey) {
|
|
|
393
378
|
break;
|
|
394
379
|
}
|
|
395
380
|
}
|
|
396
|
-
// Only fire finish if this wasn't an approval pause
|
|
397
|
-
|
|
398
|
-
if (!hadApprovalRequest && !onFinishFired) {
|
|
399
|
-
onFinishFired = true;
|
|
381
|
+
// Only fire finish if this wasn't an approval pause
|
|
382
|
+
if (!hadApprovalRequest) {
|
|
400
383
|
callbacks.onFinish?.();
|
|
401
384
|
}
|
|
402
385
|
}
|
|
@@ -407,10 +390,8 @@ export function createConversation(baseUrl, apiKey) {
|
|
|
407
390
|
}
|
|
408
391
|
const msg = err instanceof Error ? err.message : String(err);
|
|
409
392
|
if (msg === 'terminated') {
|
|
410
|
-
if (!hadApprovalRequest
|
|
411
|
-
onFinishFired = true;
|
|
393
|
+
if (!hadApprovalRequest)
|
|
412
394
|
callbacks.onFinish?.();
|
|
413
|
-
}
|
|
414
395
|
return;
|
|
415
396
|
}
|
|
416
397
|
callbacks.onError?.(err instanceof Error ? err : new Error(msg));
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"use-conversation.js","sourceRoot":"","sources":["../../../src/tui/hooks/use-conversation.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"use-conversation.js","sourceRoot":"","sources":["../../../src/tui/hooks/use-conversation.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
Binary file
|
|
@@ -1,9 +0,0 @@
|
|
|
1
|
-
import type { FastifyPluginAsync } from 'fastify';
|
|
2
|
-
/**
|
|
3
|
-
* Mounted at `/api/skills`. Registers one POST route per skill management
|
|
4
|
-
* tool (`skill_install`, `skill_remove`). Auth is the standard gateway
|
|
5
|
-
* security key; the install itself doesn't run user code — it only writes
|
|
6
|
-
* the cloned repo subtree into `~/.corebrain/skills/<name>/`.
|
|
7
|
-
*/
|
|
8
|
-
export declare const skillsRoutes: FastifyPluginAsync;
|
|
9
|
-
//# sourceMappingURL=index.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/server/api/skills/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAC,kBAAkB,EAAC,MAAM,SAAS,CAAC;AAIhD;;;;;GAKG;AACH,eAAO,MAAM,YAAY,EAAE,kBAE1B,CAAC"}
|
|
@@ -1,12 +0,0 @@
|
|
|
1
|
-
import { skillsTools, executeSkillsTool } from '../../../server/tools/skills-tools.js';
|
|
2
|
-
import { makeToolGroupRoutes } from '../tool-group.js';
|
|
3
|
-
/**
|
|
4
|
-
* Mounted at `/api/skills`. Registers one POST route per skill management
|
|
5
|
-
* tool (`skill_install`, `skill_remove`). Auth is the standard gateway
|
|
6
|
-
* security key; the install itself doesn't run user code — it only writes
|
|
7
|
-
* the cloned repo subtree into `~/.corebrain/skills/<name>/`.
|
|
8
|
-
*/
|
|
9
|
-
export const skillsRoutes = async (app) => {
|
|
10
|
-
await app.register(makeToolGroupRoutes(skillsTools, executeSkillsTool));
|
|
11
|
-
};
|
|
12
|
-
//# sourceMappingURL=index.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/server/api/skills/index.ts"],"names":[],"mappings":"AACA,OAAO,EAAC,WAAW,EAAE,iBAAiB,EAAC,MAAM,6BAA6B,CAAC;AAC3E,OAAO,EAAC,mBAAmB,EAAC,MAAM,eAAe,CAAC;AAElD;;;;;GAKG;AACH,MAAM,CAAC,MAAM,YAAY,GAAuB,KAAK,EAAC,GAAG,EAAC,EAAE;IAC3D,MAAM,GAAG,CAAC,QAAQ,CAAC,mBAAmB,CAAC,WAAW,EAAE,iBAAiB,CAAC,CAAC,CAAC;AACzE,CAAC,CAAC"}
|
|
@@ -1,35 +0,0 @@
|
|
|
1
|
-
import type { GatewaySkill } from '@redplanethq/gateway-protocol';
|
|
2
|
-
/**
|
|
3
|
-
* Source description for `installSkill`. Currently only `url` is supported —
|
|
4
|
-
* the gateway clones (optionally sparse-checkout'd) the repo and copies the
|
|
5
|
-
* skill's directory into `~/.corebrain/skills/<name>/`.
|
|
6
|
-
*/
|
|
7
|
-
export interface InstallFromUrl {
|
|
8
|
-
source: 'url';
|
|
9
|
-
/** `https://...` or `git@host:org/repo` clone URL. */
|
|
10
|
-
url: string;
|
|
11
|
-
/**
|
|
12
|
-
* Optional path inside the cloned repo to the skill folder. When set, the
|
|
13
|
-
* gateway uses `git sparse-checkout` so only this subtree is fetched —
|
|
14
|
-
* cheap for skills inside a large monorepo like `RedPlanetHQ/core`.
|
|
15
|
-
* If omitted, `installFromUrl` looks for SKILL.md at the repo root (or
|
|
16
|
-
* one level down if `name` is provided).
|
|
17
|
-
*/
|
|
18
|
-
subdir?: string;
|
|
19
|
-
/** Required when using `subdir`; otherwise inferred from frontmatter. */
|
|
20
|
-
name?: string;
|
|
21
|
-
/** If true, overwrite an existing skill with the same name. */
|
|
22
|
-
force?: boolean;
|
|
23
|
-
}
|
|
24
|
-
export type InstallSource = InstallFromUrl;
|
|
25
|
-
export interface InstallOptions {
|
|
26
|
-
/** Skills root directory. Defaults to `~/.corebrain/skills/`. */
|
|
27
|
-
dir?: string;
|
|
28
|
-
}
|
|
29
|
-
/**
|
|
30
|
-
* Install a skill from a git URL. Always stages in a temp dir and uses
|
|
31
|
-
* `fs.rename` for the final move so partial installs never appear on disk.
|
|
32
|
-
*/
|
|
33
|
-
export declare function installSkill(input: InstallSource, opts?: InstallOptions): Promise<GatewaySkill>;
|
|
34
|
-
export declare function removeSkill(name: string, opts?: InstallOptions): Promise<void>;
|
|
35
|
-
//# sourceMappingURL=install.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"install.d.ts","sourceRoot":"","sources":["../../../src/server/skills/install.ts"],"names":[],"mappings":"AAOA,OAAO,KAAK,EAAC,YAAY,EAAC,MAAM,+BAA+B,CAAC;AAQhE;;;;GAIG;AACH,MAAM,WAAW,cAAc;IAC9B,MAAM,EAAE,KAAK,CAAC;IACd,sDAAsD;IACtD,GAAG,EAAE,MAAM,CAAC;IACZ;;;;;;OAMG;IACH,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,yEAAyE;IACzE,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,+DAA+D;IAC/D,KAAK,CAAC,EAAE,OAAO,CAAC;CAChB;AAED,MAAM,MAAM,aAAa,GAAG,cAAc,CAAC;AAE3C,MAAM,WAAW,cAAc;IAC9B,iEAAiE;IACjE,GAAG,CAAC,EAAE,MAAM,CAAC;CACb;AAED;;;GAGG;AACH,wBAAsB,YAAY,CACjC,KAAK,EAAE,aAAa,EACpB,IAAI,GAAE,cAAmB,GACvB,OAAO,CAAC,YAAY,CAAC,CAIvB;AAyFD,wBAAsB,WAAW,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,GAAE,cAAmB,GAAG,OAAO,CAAC,IAAI,CAAC,CASxF"}
|
|
@@ -1,182 +0,0 @@
|
|
|
1
|
-
import { mkdtempSync, rmSync, renameSync, existsSync } from 'node:fs';
|
|
2
|
-
import { mkdir, readFile } from 'node:fs/promises';
|
|
3
|
-
import { tmpdir } from 'node:os';
|
|
4
|
-
import { join, isAbsolute } from 'node:path';
|
|
5
|
-
import { execFile } from 'node:child_process';
|
|
6
|
-
import { promisify } from 'node:util';
|
|
7
|
-
import matter from 'gray-matter';
|
|
8
|
-
import { DEFAULT_SKILLS_DIR } from './skill-store.js';
|
|
9
|
-
import { gatewayLog } from '../../server/gateway-log.js';
|
|
10
|
-
const execFileP = promisify(execFile);
|
|
11
|
-
const NAME_RE = /^[a-z0-9][a-z0-9-]*$/;
|
|
12
|
-
/**
|
|
13
|
-
* Install a skill from a git URL. Always stages in a temp dir and uses
|
|
14
|
-
* `fs.rename` for the final move so partial installs never appear on disk.
|
|
15
|
-
*/
|
|
16
|
-
export async function installSkill(input, opts = {}) {
|
|
17
|
-
const skillsDir = opts.dir ?? DEFAULT_SKILLS_DIR;
|
|
18
|
-
await mkdir(skillsDir, { recursive: true });
|
|
19
|
-
return installFromUrl(input, skillsDir);
|
|
20
|
-
}
|
|
21
|
-
async function installFromUrl(input, skillsDir) {
|
|
22
|
-
if (!/^https:\/\//.test(input.url) && !/^git@[\w.-]+:/.test(input.url)) {
|
|
23
|
-
throw new Error(`install: URL must start with "https://" or "git@host:" — got "${input.url}"`);
|
|
24
|
-
}
|
|
25
|
-
if (input.subdir) {
|
|
26
|
-
assertSafeSubdir(input.subdir);
|
|
27
|
-
if (!input.name) {
|
|
28
|
-
throw new Error('install: `name` is required when `subdir` is set');
|
|
29
|
-
}
|
|
30
|
-
assertValidName(input.name);
|
|
31
|
-
}
|
|
32
|
-
const cloneDir = mkdtempSync(join(tmpdir(), 'corebrain-skill-clone-'));
|
|
33
|
-
try {
|
|
34
|
-
await gitClone(input.url, cloneDir, input.subdir);
|
|
35
|
-
let sourceDir;
|
|
36
|
-
let name;
|
|
37
|
-
if (input.subdir) {
|
|
38
|
-
sourceDir = join(cloneDir, input.subdir);
|
|
39
|
-
if (!existsSync(join(sourceDir, 'SKILL.md'))) {
|
|
40
|
-
throw new Error(`install: subdir "${input.subdir}" has no SKILL.md (looked at ${sourceDir})`);
|
|
41
|
-
}
|
|
42
|
-
name = input.name;
|
|
43
|
-
// Validate frontmatter name matches the requested install name so a
|
|
44
|
-
// renamed skill folder can't masquerade as something else.
|
|
45
|
-
const fm = matter(await readFile(join(sourceDir, 'SKILL.md'), 'utf8')).data;
|
|
46
|
-
const fmName = typeof fm.name === 'string' ? fm.name : null;
|
|
47
|
-
if (fmName && fmName !== name) {
|
|
48
|
-
throw new Error(`install: SKILL.md frontmatter name "${fmName}" does not match install name "${name}"`);
|
|
49
|
-
}
|
|
50
|
-
}
|
|
51
|
-
else if (input.name) {
|
|
52
|
-
assertValidName(input.name);
|
|
53
|
-
sourceDir = join(cloneDir, input.name);
|
|
54
|
-
if (!existsSync(join(sourceDir, 'SKILL.md'))) {
|
|
55
|
-
throw new Error(`install: "${input.name}" not found in repo root (looked at ${sourceDir})`);
|
|
56
|
-
}
|
|
57
|
-
name = input.name;
|
|
58
|
-
}
|
|
59
|
-
else if (existsSync(join(cloneDir, 'SKILL.md'))) {
|
|
60
|
-
sourceDir = cloneDir;
|
|
61
|
-
const fm = matter(await readFile(join(sourceDir, 'SKILL.md'), 'utf8')).data;
|
|
62
|
-
if (typeof fm.name !== 'string') {
|
|
63
|
-
throw new Error('install: repo root has SKILL.md but frontmatter is missing `name`');
|
|
64
|
-
}
|
|
65
|
-
name = fm.name;
|
|
66
|
-
assertValidName(name);
|
|
67
|
-
}
|
|
68
|
-
else {
|
|
69
|
-
throw new Error('install: no SKILL.md found at repo root — pass `name` or `subdir` to locate the skill');
|
|
70
|
-
}
|
|
71
|
-
const skillMd = await readFile(join(sourceDir, 'SKILL.md'), 'utf8');
|
|
72
|
-
const meta = parseSkillMd(skillMd, name);
|
|
73
|
-
const target = join(skillsDir, name);
|
|
74
|
-
await ensureNoCollision(target, name, Boolean(input.force), skillsDir);
|
|
75
|
-
renameSync(sourceDir, target);
|
|
76
|
-
gatewayLog(`skill installed (url): ${name} from ${input.url}${input.subdir ? `#${input.subdir}` : ''}`);
|
|
77
|
-
return {
|
|
78
|
-
name,
|
|
79
|
-
description: meta.description,
|
|
80
|
-
...(meta.allowedTools ? { allowedTools: meta.allowedTools } : {}),
|
|
81
|
-
path: target,
|
|
82
|
-
};
|
|
83
|
-
}
|
|
84
|
-
finally {
|
|
85
|
-
rmSync(cloneDir, { recursive: true, force: true });
|
|
86
|
-
}
|
|
87
|
-
}
|
|
88
|
-
export async function removeSkill(name, opts = {}) {
|
|
89
|
-
assertValidName(name);
|
|
90
|
-
const skillsDir = opts.dir ?? DEFAULT_SKILLS_DIR;
|
|
91
|
-
const target = join(skillsDir, name);
|
|
92
|
-
if (!existsSync(target)) {
|
|
93
|
-
throw new Error(`Skill '${name}' not found`);
|
|
94
|
-
}
|
|
95
|
-
rmSync(target, { recursive: true, force: true });
|
|
96
|
-
gatewayLog(`skill removed: ${name}`);
|
|
97
|
-
}
|
|
98
|
-
// --- helpers ----------------------------------------------------------------
|
|
99
|
-
function assertValidName(name) {
|
|
100
|
-
if (!NAME_RE.test(name)) {
|
|
101
|
-
throw new Error(`invalid skill name "${name}" — must match ${NAME_RE} (lowercase, kebab-case)`);
|
|
102
|
-
}
|
|
103
|
-
}
|
|
104
|
-
/**
|
|
105
|
-
* Reject subdir inputs that try to escape the clone with `..` or absolute
|
|
106
|
-
* paths. Empty segments are also rejected so a stray `//` doesn't slip past.
|
|
107
|
-
*/
|
|
108
|
-
function assertSafeSubdir(subdir) {
|
|
109
|
-
if (isAbsolute(subdir) || subdir.startsWith('/')) {
|
|
110
|
-
throw new Error(`subdir must be relative: "${subdir}"`);
|
|
111
|
-
}
|
|
112
|
-
const segments = subdir.split('/');
|
|
113
|
-
for (const seg of segments) {
|
|
114
|
-
if (seg === '' || seg === '.' || seg === '..') {
|
|
115
|
-
throw new Error(`subdir contains invalid segment "${seg}": "${subdir}"`);
|
|
116
|
-
}
|
|
117
|
-
}
|
|
118
|
-
}
|
|
119
|
-
function parseSkillMd(content, expectedName) {
|
|
120
|
-
const parsed = matter(content);
|
|
121
|
-
const fm = parsed.data;
|
|
122
|
-
const fmName = typeof fm.name === 'string' ? fm.name : null;
|
|
123
|
-
const fmDesc = typeof fm.description === 'string' ? fm.description : null;
|
|
124
|
-
if (!fmName)
|
|
125
|
-
throw new Error('SKILL.md frontmatter is missing `name`');
|
|
126
|
-
if (!fmDesc)
|
|
127
|
-
throw new Error('SKILL.md frontmatter is missing `description`');
|
|
128
|
-
if (fmName !== expectedName) {
|
|
129
|
-
throw new Error(`SKILL.md frontmatter name "${fmName}" does not match install name "${expectedName}"`);
|
|
130
|
-
}
|
|
131
|
-
const at = fm['allowed-tools'];
|
|
132
|
-
const allowedTools = Array.isArray(at) && at.every(s => typeof s === 'string') ? at : undefined;
|
|
133
|
-
return allowedTools ? { description: fmDesc, allowedTools } : { description: fmDesc };
|
|
134
|
-
}
|
|
135
|
-
async function ensureNoCollision(target, name, force, baseDir) {
|
|
136
|
-
if (!existsSync(target))
|
|
137
|
-
return;
|
|
138
|
-
if (!force) {
|
|
139
|
-
throw new Error(`Skill '${name}' already installed. Use force=true to overwrite, or remove it first.`);
|
|
140
|
-
}
|
|
141
|
-
await removeSkill(name, { dir: baseDir });
|
|
142
|
-
}
|
|
143
|
-
/**
|
|
144
|
-
* Clone the repo into `cloneDir`. If `subdir` is set, do a sparse,
|
|
145
|
-
* blob-filtered clone and only check out that subtree — this is what lets
|
|
146
|
-
* the gateway install a skill out of a large monorepo without pulling
|
|
147
|
-
* gigabytes of unrelated code.
|
|
148
|
-
*
|
|
149
|
-
* Sparse-checkout falls back to a regular shallow clone if any of the
|
|
150
|
-
* sparse steps fail (older `git` versions, sparse not supported). The
|
|
151
|
-
* sourceDir resolution downstream still works in that case — it just
|
|
152
|
-
* means we pulled more than we needed.
|
|
153
|
-
*/
|
|
154
|
-
async function gitClone(url, cloneDir, subdir) {
|
|
155
|
-
const timeoutMs = 5 * 60_000;
|
|
156
|
-
const exec = (args) => execFileP('git', args, { timeout: timeoutMs });
|
|
157
|
-
if (!subdir) {
|
|
158
|
-
await exec(['clone', '--depth=1', url, cloneDir]);
|
|
159
|
-
return;
|
|
160
|
-
}
|
|
161
|
-
try {
|
|
162
|
-
await exec(['clone', '--depth=1', '--filter=blob:none', '--sparse', url, cloneDir]);
|
|
163
|
-
await execFileP('git', ['-C', cloneDir, 'sparse-checkout', 'set', subdir], {
|
|
164
|
-
timeout: timeoutMs,
|
|
165
|
-
});
|
|
166
|
-
// Make sure the subdir actually exists post-checkout. Sparse-checkout is
|
|
167
|
-
// quiet if the pattern matches nothing, so guard explicitly.
|
|
168
|
-
if (!existsSync(join(cloneDir, subdir))) {
|
|
169
|
-
throw new Error(`sparse-checkout produced no files for "${subdir}"`);
|
|
170
|
-
}
|
|
171
|
-
}
|
|
172
|
-
catch (err) {
|
|
173
|
-
// Best-effort fallback to a full shallow clone so callers don't get
|
|
174
|
-
// blocked by old gits or unusual repos. The sourceDir lookup downstream
|
|
175
|
-
// still works — we'll just have a bigger temp tree to delete.
|
|
176
|
-
gatewayLog(`sparse-checkout failed for ${url}#${subdir}, falling back to full clone: ${err instanceof Error ? err.message : String(err)}`);
|
|
177
|
-
rmSync(cloneDir, { recursive: true, force: true });
|
|
178
|
-
await mkdir(cloneDir, { recursive: true });
|
|
179
|
-
await exec(['clone', '--depth=1', url, cloneDir]);
|
|
180
|
-
}
|
|
181
|
-
}
|
|
182
|
-
//# sourceMappingURL=install.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"install.js","sourceRoot":"","sources":["../../../src/server/skills/install.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,12 +0,0 @@
|
|
|
1
|
-
import type { GatewaySkill } from '@redplanethq/gateway-protocol';
|
|
2
|
-
export declare const DEFAULT_SKILLS_DIR: string;
|
|
3
|
-
/**
|
|
4
|
-
* Walk `<dir>/<name>/SKILL.md`, parse YAML frontmatter, return validated
|
|
5
|
-
* skills. Skips entries that:
|
|
6
|
-
* - aren't directories or have no SKILL.md
|
|
7
|
-
* - have no `name` or `description` in frontmatter
|
|
8
|
-
* - have a `name` that doesn't match the containing directory
|
|
9
|
-
* Each rejection is logged via `gatewayLog` so bad fixtures surface.
|
|
10
|
-
*/
|
|
11
|
-
export declare function listSkills(dir?: string): Promise<GatewaySkill[]>;
|
|
12
|
-
//# sourceMappingURL=skill-store.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"skill-store.d.ts","sourceRoot":"","sources":["../../../src/server/skills/skill-store.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAC,YAAY,EAAC,MAAM,+BAA+B,CAAC;AAGhE,eAAO,MAAM,kBAAkB,QAA6C,CAAC;AAE7E;;;;;;;GAOG;AACH,wBAAsB,UAAU,CAAC,GAAG,GAAE,MAA2B,GAAG,OAAO,CAAC,YAAY,EAAE,CAAC,CA8D1F"}
|
|
@@ -1,76 +0,0 @@
|
|
|
1
|
-
import { readdir, readFile, stat } from 'node:fs/promises';
|
|
2
|
-
import { existsSync } from 'node:fs';
|
|
3
|
-
import { join, resolve } from 'node:path';
|
|
4
|
-
import { homedir } from 'node:os';
|
|
5
|
-
import matter from 'gray-matter';
|
|
6
|
-
import { gatewayLog } from '../../server/gateway-log.js';
|
|
7
|
-
export const DEFAULT_SKILLS_DIR = resolve(homedir(), '.corebrain', 'skills');
|
|
8
|
-
/**
|
|
9
|
-
* Walk `<dir>/<name>/SKILL.md`, parse YAML frontmatter, return validated
|
|
10
|
-
* skills. Skips entries that:
|
|
11
|
-
* - aren't directories or have no SKILL.md
|
|
12
|
-
* - have no `name` or `description` in frontmatter
|
|
13
|
-
* - have a `name` that doesn't match the containing directory
|
|
14
|
-
* Each rejection is logged via `gatewayLog` so bad fixtures surface.
|
|
15
|
-
*/
|
|
16
|
-
export async function listSkills(dir = DEFAULT_SKILLS_DIR) {
|
|
17
|
-
if (!existsSync(dir))
|
|
18
|
-
return [];
|
|
19
|
-
let entries;
|
|
20
|
-
try {
|
|
21
|
-
entries = await readdir(dir);
|
|
22
|
-
}
|
|
23
|
-
catch {
|
|
24
|
-
return [];
|
|
25
|
-
}
|
|
26
|
-
const skills = [];
|
|
27
|
-
for (const name of entries) {
|
|
28
|
-
const skillDir = join(dir, name);
|
|
29
|
-
let isDir = false;
|
|
30
|
-
try {
|
|
31
|
-
isDir = (await stat(skillDir)).isDirectory();
|
|
32
|
-
}
|
|
33
|
-
catch {
|
|
34
|
-
continue;
|
|
35
|
-
}
|
|
36
|
-
if (!isDir)
|
|
37
|
-
continue;
|
|
38
|
-
const skillMd = join(skillDir, 'SKILL.md');
|
|
39
|
-
try {
|
|
40
|
-
await stat(skillMd);
|
|
41
|
-
}
|
|
42
|
-
catch {
|
|
43
|
-
continue;
|
|
44
|
-
}
|
|
45
|
-
let parsed;
|
|
46
|
-
try {
|
|
47
|
-
parsed = matter(await readFile(skillMd, 'utf8'));
|
|
48
|
-
}
|
|
49
|
-
catch (err) {
|
|
50
|
-
gatewayLog(`skill ${name}: failed to parse SKILL.md (${err})`);
|
|
51
|
-
continue;
|
|
52
|
-
}
|
|
53
|
-
const fm = parsed.data;
|
|
54
|
-
const fmName = typeof fm.name === 'string' ? fm.name : null;
|
|
55
|
-
const fmDesc = typeof fm.description === 'string' ? fm.description : null;
|
|
56
|
-
if (!fmName || !fmDesc) {
|
|
57
|
-
gatewayLog(`skill ${name}: missing required frontmatter (name/description)`);
|
|
58
|
-
continue;
|
|
59
|
-
}
|
|
60
|
-
if (fmName !== name) {
|
|
61
|
-
gatewayLog(`skill ${name}: frontmatter name "${fmName}" doesn't match directory`);
|
|
62
|
-
continue;
|
|
63
|
-
}
|
|
64
|
-
const at = fm['allowed-tools'];
|
|
65
|
-
const allowedTools = Array.isArray(at) && at.every(s => typeof s === 'string') ? at : undefined;
|
|
66
|
-
skills.push({
|
|
67
|
-
name: fmName,
|
|
68
|
-
description: fmDesc,
|
|
69
|
-
...(allowedTools ? { allowedTools } : {}),
|
|
70
|
-
path: skillDir,
|
|
71
|
-
});
|
|
72
|
-
}
|
|
73
|
-
skills.sort((a, b) => a.name.localeCompare(b.name));
|
|
74
|
-
return skills;
|
|
75
|
-
}
|
|
76
|
-
//# sourceMappingURL=skill-store.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"skill-store.js","sourceRoot":"","sources":["../../../src/server/skills/skill-store.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,14 +0,0 @@
|
|
|
1
|
-
interface GatewayTool {
|
|
2
|
-
name: string;
|
|
3
|
-
description: string;
|
|
4
|
-
inputSchema?: Record<string, unknown>;
|
|
5
|
-
}
|
|
6
|
-
interface ToolResult {
|
|
7
|
-
success: boolean;
|
|
8
|
-
result?: unknown;
|
|
9
|
-
error?: string;
|
|
10
|
-
}
|
|
11
|
-
export declare const skillsTools: GatewayTool[];
|
|
12
|
-
export declare function executeSkillsTool(toolName: string, params: Record<string, unknown>): Promise<ToolResult>;
|
|
13
|
-
export {};
|
|
14
|
-
//# sourceMappingURL=skills-tools.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"skills-tools.d.ts","sourceRoot":"","sources":["../../../src/server/tools/skills-tools.ts"],"names":[],"mappings":"AAGA,UAAU,WAAW;IACpB,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,EAAE,MAAM,CAAC;IACpB,WAAW,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CACtC;AAED,UAAU,UAAU;IACnB,OAAO,EAAE,OAAO,CAAC;IACjB,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,KAAK,CAAC,EAAE,MAAM,CAAC;CACf;AAoDD,eAAO,MAAM,WAAW,EAAE,WAAW,EAapC,CAAC;AA0BF,wBAAsB,iBAAiB,CACtC,QAAQ,EAAE,MAAM,EAChB,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAC7B,OAAO,CAAC,UAAU,CAAC,CAgBrB"}
|