vskill 1.0.13 → 1.0.15
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 +63 -2
- package/agents.json +1 -1
- package/dist/bin.js +0 -0
- package/dist/clone/github-scaffold.d.ts +38 -0
- package/dist/clone/github-scaffold.js +108 -0
- package/dist/clone/github-scaffold.js.map +1 -0
- package/dist/clone/provenance-fork.d.ts +34 -0
- package/dist/clone/provenance-fork.js +97 -0
- package/dist/clone/provenance-fork.js.map +1 -0
- package/dist/clone/reference-scanner.d.ts +19 -0
- package/dist/clone/reference-scanner.js +144 -0
- package/dist/clone/reference-scanner.js.map +1 -0
- package/dist/clone/skill-locator.d.ts +26 -0
- package/dist/clone/skill-locator.js +248 -0
- package/dist/clone/skill-locator.js.map +1 -0
- package/dist/clone/target-router.d.ts +73 -0
- package/dist/clone/target-router.js +200 -0
- package/dist/clone/target-router.js.map +1 -0
- package/dist/clone/types.d.ts +82 -0
- package/dist/clone/types.js +11 -0
- package/dist/clone/types.js.map +1 -0
- package/dist/commands/add.js +96 -32
- package/dist/commands/add.js.map +1 -1
- package/dist/commands/auth.d.ts +23 -0
- package/dist/commands/auth.js +273 -0
- package/dist/commands/auth.js.map +1 -0
- package/dist/commands/check.d.ts +55 -0
- package/dist/commands/check.js +279 -0
- package/dist/commands/check.js.map +1 -0
- package/dist/commands/clone-prompts.d.ts +13 -0
- package/dist/commands/clone-prompts.js +67 -0
- package/dist/commands/clone-prompts.js.map +1 -0
- package/dist/commands/clone.d.ts +70 -0
- package/dist/commands/clone.js +649 -0
- package/dist/commands/clone.js.map +1 -0
- package/dist/commands/eval/serve.js +8 -1
- package/dist/commands/eval/serve.js.map +1 -1
- package/dist/commands/keys.js +54 -2
- package/dist/commands/keys.js.map +1 -1
- package/dist/core/agent-prompts.d.ts +35 -0
- package/dist/core/agent-prompts.js +201 -0
- package/dist/core/agent-prompts.js.map +1 -0
- package/dist/core/skill-generator.d.ts +25 -3
- package/dist/core/skill-generator.js +131 -0
- package/dist/core/skill-generator.js.map +1 -1
- package/dist/eval/skill-scanner.d.ts +2 -12
- package/dist/eval/skill-scanner.js +27 -5
- package/dist/eval/skill-scanner.js.map +1 -1
- package/dist/eval-server/api-routes.d.ts +14 -0
- package/dist/eval-server/api-routes.js +376 -31
- package/dist/eval-server/api-routes.js.map +1 -1
- package/dist/eval-server/data-events.d.ts +1 -1
- package/dist/eval-server/data-events.js.map +1 -1
- package/dist/eval-server/install-engine-routes-helpers.d.ts +1 -3
- package/dist/eval-server/install-engine-routes-helpers.js +6 -14
- package/dist/eval-server/install-engine-routes-helpers.js.map +1 -1
- package/dist/eval-server/origin-resolver.d.ts +42 -0
- package/dist/eval-server/origin-resolver.js +168 -0
- package/dist/eval-server/origin-resolver.js.map +1 -0
- package/dist/eval-server/platform-proxy.d.ts +10 -0
- package/dist/eval-server/platform-proxy.js +58 -2
- package/dist/eval-server/platform-proxy.js.map +1 -1
- package/dist/eval-server/skill-create-routes.d.ts +8 -0
- package/dist/eval-server/skill-create-routes.js +96 -0
- package/dist/eval-server/skill-create-routes.js.map +1 -1
- package/dist/eval-server/skill-resolver.js +40 -0
- package/dist/eval-server/skill-resolver.js.map +1 -1
- package/dist/eval-server/utils/resolve-editor.d.ts +18 -0
- package/dist/eval-server/utils/resolve-editor.js +77 -0
- package/dist/eval-server/utils/resolve-editor.js.map +1 -0
- package/dist/eval-server/utils/scan-install-locations.d.ts +7 -0
- package/dist/eval-server/utils/scan-install-locations.js +20 -0
- package/dist/eval-server/utils/scan-install-locations.js.map +1 -1
- package/dist/eval-server/utils/which.d.ts +15 -0
- package/dist/eval-server/utils/which.js +76 -0
- package/dist/eval-server/utils/which.js.map +1 -0
- package/dist/eval-ui/assets/{CreateSkillPage-T0YWZWw-.js → CreateSkillPage-BmbvQEzE.js} +1 -1
- package/dist/eval-ui/assets/{FindSkillsPalette-KcFM32hZ.js → FindSkillsPalette-D0Zjhm31.js} +2 -2
- package/dist/eval-ui/assets/{SearchPaletteCore-EhBtr4Xx.js → SearchPaletteCore-EhcN1xEa.js} +1 -1
- package/dist/eval-ui/assets/SkillDetailPanel-B5J60ffv.js +1 -0
- package/dist/eval-ui/assets/{UpdateDropdown-pjFhHTi6.js → UpdateDropdown-Celf0_Cr.js} +1 -1
- package/dist/eval-ui/assets/index-BV7k6fdk.js +124 -0
- package/dist/eval-ui/assets/{index-BKAvJDDF.css → index-CKLqBL52.css} +1 -1
- package/dist/eval-ui/index.html +2 -2
- package/dist/index.js +47 -0
- package/dist/index.js.map +1 -1
- package/dist/installer/frontmatter.d.ts +26 -0
- package/dist/installer/frontmatter.js +90 -0
- package/dist/installer/frontmatter.js.map +1 -1
- package/dist/lib/github-fetch.d.ts +22 -0
- package/dist/lib/github-fetch.js +152 -0
- package/dist/lib/github-fetch.js.map +1 -0
- package/dist/lib/keychain.d.ts +41 -0
- package/dist/lib/keychain.js +232 -0
- package/dist/lib/keychain.js.map +1 -0
- package/dist/studio/types.d.ts +13 -0
- package/dist/utils/claude-plugin.d.ts +26 -0
- package/dist/utils/claude-plugin.js +60 -0
- package/dist/utils/claude-plugin.js.map +1 -1
- package/package.json +2 -1
- package/dist/eval-ui/assets/SkillDetailPanel-cyzLsLcK.js +0 -1
- package/dist/eval-ui/assets/index-C3S9iHnq.js +0 -122
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"clone.js","sourceRoot":"","sources":["../../src/commands/clone.ts"],"names":[],"mappings":"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"}
|
|
@@ -196,8 +196,15 @@ export async function runEvalServe(root, port, options = {}) {
|
|
|
196
196
|
root: resolvedRoot,
|
|
197
197
|
projectName: name,
|
|
198
198
|
});
|
|
199
|
-
// Graceful shutdown
|
|
199
|
+
// Graceful shutdown — idempotent so SIGINT + SIGTERM (or two SIGINTs from
|
|
200
|
+
// a parent shell forwarding) don't print the banner twice or race the
|
|
201
|
+
// exit timer. 0826: previously a single ^C printed "Shutting down…" twice
|
|
202
|
+
// because the shell delivered both SIGINT and SIGTERM.
|
|
203
|
+
let shuttingDown = false;
|
|
200
204
|
const shutdown = () => {
|
|
205
|
+
if (shuttingDown)
|
|
206
|
+
return;
|
|
207
|
+
shuttingDown = true;
|
|
201
208
|
console.log("\nShutting down eval server...");
|
|
202
209
|
server.close(() => process.exit(0));
|
|
203
210
|
setTimeout(() => process.exit(0), 5000);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"serve.js","sourceRoot":"","sources":["../../../src/commands/eval/serve.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"serve.js","sourceRoot":"","sources":["../../../src/commands/eval/serve.ts"],"names":[],"mappings":"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"}
|
package/dist/commands/keys.js
CHANGED
|
@@ -13,6 +13,7 @@
|
|
|
13
13
|
import { PROVIDERS, isProviderId, } from "../eval-server/providers.js";
|
|
14
14
|
import { saveKey, removeKey, listKeys, getKeysFilePath, redactKey, } from "../eval-server/settings-store.js";
|
|
15
15
|
import { readSecretFromStdin } from "./masked-stdin.js";
|
|
16
|
+
import { getDefaultKeychain, redactToken } from "../lib/keychain.js";
|
|
16
17
|
function defaultIO() {
|
|
17
18
|
return {
|
|
18
19
|
stdout: process.stdout,
|
|
@@ -27,17 +28,23 @@ function usageText() {
|
|
|
27
28
|
"Usage: vskill keys <subcommand>",
|
|
28
29
|
"",
|
|
29
30
|
"Subcommands:",
|
|
30
|
-
" set <provider> Store an API key (provider: anthropic, openai, openrouter)",
|
|
31
|
+
" set <provider> Store an API key (provider: anthropic, openai, openrouter, github)",
|
|
31
32
|
" list Show stored keys (redacted) and sources",
|
|
32
33
|
" remove <provider> Delete a stored key",
|
|
33
34
|
" path Print absolute path of keys.env",
|
|
34
35
|
"",
|
|
36
|
+
"Note: `set github` and `remove github` operate on the OS keychain.",
|
|
37
|
+
" For interactive sign-in via GitHub Device Flow, use `vskill auth login` instead.",
|
|
38
|
+
"",
|
|
35
39
|
].join("\n");
|
|
36
40
|
}
|
|
37
41
|
function knownProvidersHint() {
|
|
38
|
-
const ids = PROVIDERS.map((p) => p.id).join(", ");
|
|
42
|
+
const ids = [...PROVIDERS.map((p) => p.id), "github"].join(", ");
|
|
39
43
|
return `Known providers: ${ids}`;
|
|
40
44
|
}
|
|
45
|
+
function isGithubProvider(p) {
|
|
46
|
+
return p === "github";
|
|
47
|
+
}
|
|
41
48
|
function pad(s, width) {
|
|
42
49
|
if (s.length >= width)
|
|
43
50
|
return s;
|
|
@@ -49,6 +56,29 @@ async function cmdSet(provider, io) {
|
|
|
49
56
|
io.exit(1);
|
|
50
57
|
return;
|
|
51
58
|
}
|
|
59
|
+
if (isGithubProvider(provider)) {
|
|
60
|
+
if (!io.isPiped()) {
|
|
61
|
+
io.stdout.write("Paste GitHub token (input masked).\n" +
|
|
62
|
+
"Tip: prefer `vskill auth login` for an interactive Device Flow.\n" +
|
|
63
|
+
"GitHub token: ");
|
|
64
|
+
}
|
|
65
|
+
const token = (await io.readKeyFromStdin()).trim();
|
|
66
|
+
if (!token) {
|
|
67
|
+
io.stderr.write("no token provided\n");
|
|
68
|
+
io.exit(1);
|
|
69
|
+
return;
|
|
70
|
+
}
|
|
71
|
+
try {
|
|
72
|
+
getDefaultKeychain().setGitHubToken(token);
|
|
73
|
+
}
|
|
74
|
+
catch (err) {
|
|
75
|
+
io.stderr.write(`failed to save GitHub token: ${err.message}\n`);
|
|
76
|
+
io.exit(1);
|
|
77
|
+
return;
|
|
78
|
+
}
|
|
79
|
+
io.stdout.write(`Stored ${redactToken(token)} for github (OS keychain)\n`);
|
|
80
|
+
return;
|
|
81
|
+
}
|
|
52
82
|
if (!isProviderId(provider)) {
|
|
53
83
|
io.stderr.write(`unknown provider: "${provider}"\n${knownProvidersHint()}\n`);
|
|
54
84
|
io.exit(1);
|
|
@@ -81,6 +111,21 @@ async function cmdList(io) {
|
|
|
81
111
|
const headers = ["Provider", "Status", "Last Updated", "Source"];
|
|
82
112
|
const rows = [];
|
|
83
113
|
let anyAvailable = false;
|
|
114
|
+
// GitHub slot — backed by OS keychain (or 0600 fallback file). Status is
|
|
115
|
+
// shown without making any network call; `vskill auth status` is the
|
|
116
|
+
// canonical way to validate the token against /user.
|
|
117
|
+
try {
|
|
118
|
+
const ghToken = getDefaultKeychain().getGitHubToken();
|
|
119
|
+
const fallback = getDefaultKeychain().usingFallback();
|
|
120
|
+
const ghStatus = ghToken ? redactToken(ghToken) : "not set";
|
|
121
|
+
const ghSource = ghToken ? (fallback ? "file (0600)" : "keychain") : "—";
|
|
122
|
+
rows.push(["github", ghStatus, "—", ghSource]);
|
|
123
|
+
if (ghToken)
|
|
124
|
+
anyAvailable = true;
|
|
125
|
+
}
|
|
126
|
+
catch {
|
|
127
|
+
rows.push(["github", "unavailable", "—", "—"]);
|
|
128
|
+
}
|
|
84
129
|
for (const p of PROVIDERS) {
|
|
85
130
|
const meta = list[p.id];
|
|
86
131
|
const envSet = !!process.env[p.envVarName];
|
|
@@ -124,6 +169,13 @@ async function cmdRemove(provider, io) {
|
|
|
124
169
|
io.exit(1);
|
|
125
170
|
return;
|
|
126
171
|
}
|
|
172
|
+
if (isGithubProvider(provider)) {
|
|
173
|
+
const had = getDefaultKeychain().clearGitHubToken();
|
|
174
|
+
io.stdout.write(had
|
|
175
|
+
? "Removed github token from OS keychain\n"
|
|
176
|
+
: "No github token was stored\n");
|
|
177
|
+
return;
|
|
178
|
+
}
|
|
127
179
|
if (!isProviderId(provider)) {
|
|
128
180
|
io.stderr.write(`unknown provider: "${provider}"\n${knownProvidersHint()}\n`);
|
|
129
181
|
io.exit(1);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"keys.js","sourceRoot":"","sources":["../../src/commands/keys.ts"],"names":[],"mappings":"AAAA,8EAA8E;AAC9E,iDAAiD;AACjD,EAAE;AACF,eAAe;AACf,4EAA4E;AAC5E,yEAAyE;AACzE,wCAAwC;AACxC,qDAAqD;AACrD,EAAE;AACF,6EAA6E;AAC7E,sBAAsB;AACtB,8EAA8E;AAE9E,OAAO,EACL,SAAS,EACT,YAAY,GAEb,MAAM,6BAA6B,CAAC;AACrC,OAAO,EACL,OAAO,EACP,SAAS,EACT,QAAQ,EACR,eAAe,EACf,SAAS,GACV,MAAM,kCAAkC,CAAC;AAC1C,OAAO,EAAE,mBAAmB,EAAE,MAAM,mBAAmB,CAAC;
|
|
1
|
+
{"version":3,"file":"keys.js","sourceRoot":"","sources":["../../src/commands/keys.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
export interface AgentFile {
|
|
2
|
+
path: string;
|
|
3
|
+
content: string;
|
|
4
|
+
}
|
|
5
|
+
export interface ScriptAgentResponse {
|
|
6
|
+
files: AgentFile[];
|
|
7
|
+
runtime?: {
|
|
8
|
+
python?: string;
|
|
9
|
+
pip?: string[];
|
|
10
|
+
node?: string;
|
|
11
|
+
};
|
|
12
|
+
}
|
|
13
|
+
export interface GraderAgentResponse {
|
|
14
|
+
files: AgentFile[];
|
|
15
|
+
}
|
|
16
|
+
export interface TestAgentResponse {
|
|
17
|
+
files: AgentFile[];
|
|
18
|
+
secrets?: string[];
|
|
19
|
+
integrationTests?: {
|
|
20
|
+
runner: "vitest" | "pytest" | "none";
|
|
21
|
+
file?: string;
|
|
22
|
+
requires?: string[];
|
|
23
|
+
};
|
|
24
|
+
}
|
|
25
|
+
export interface ReferenceAgentResponse {
|
|
26
|
+
files: AgentFile[];
|
|
27
|
+
}
|
|
28
|
+
export declare const SCRIPT_SYSTEM_PROMPT = "You generate the deterministic helper script(s) for a skill in Skill Studio.\n\nGiven the user's skill description, produce one or more language-appropriate helper scripts the skill will shell out to (e.g. `scripts/audit.py`, `scripts/format.js`). Scripts must:\n- Be self-contained and runnable from the skill directory.\n- Use only the standard library plus the dependencies you declare in `runtime`.\n- Read secrets from environment variables; never contain hardcoded API keys.\n- Degrade gracefully when env vars or external services are unavailable (print a clear message and exit non-zero, never crash on import).\n\n## Output Format\nReturn ONLY a JSON object:\n{\n \"files\": [\n { \"path\": \"scripts/<name>.<ext>\", \"content\": \"<full source>\" }\n ],\n \"runtime\": { \"python\": \">=3.10\", \"pip\": [\"pkg>=1\"] }\n}\n\n`runtime` is optional \u2014 omit if the script needs no runtime declaration.\n`path` is always relative to the skill root, must start with `scripts/`, and must not contain `..` or absolute paths.\nNo code fences, no preamble.";
|
|
29
|
+
export declare const GRADER_SYSTEM_PROMPT = "You generate a deterministic grader script for a skill in Skill Studio.\n\nGiven the user's skill description, produce a single grader script (e.g. `scripts/grader.py`) that takes the skill's output as input and returns a numeric score in [0, 1]. The grader must:\n- Be a pure function of its input \u2014 no network calls, no env reads.\n- Return a deterministic float between 0 and 1.\n- Match the language of the main script when possible.\n\n## Output Format\nReturn ONLY a JSON object:\n{\n \"files\": [\n { \"path\": \"scripts/grader.<ext>\", \"content\": \"<full source>\" }\n ]\n}\n\n`path` must start with `scripts/` and must not contain `..` or absolute paths.\nNo code fences, no preamble.";
|
|
30
|
+
export declare const TEST_SYSTEM_PROMPT = "You generate a runnable integration test for a skill in Skill Studio.\n\nGiven the user's skill description, produce ONE integration test file (e.g. `tests/integration_test.py` or `tests/integration.test.ts`) plus a top-level secrets declaration. The test must:\n- Be runnable via the declared runner (`pytest` or `vitest`).\n- Skip cleanly when required env vars are missing (e.g. `pytest.skip`).\n- Never include real secret values \u2014 only test-mode placeholders or mocks.\n\n## Output Format\nReturn ONLY a JSON object:\n{\n \"files\": [\n { \"path\": \"tests/<name>\", \"content\": \"<full source>\" }\n ],\n \"secrets\": [\"UPPER_SNAKE_NAME\"],\n \"integrationTests\": {\n \"runner\": \"pytest\",\n \"file\": \"tests/integration_test.py\",\n \"requires\": [\"UPPER_SNAKE_NAME\"]\n }\n}\n\n`secrets` is the list of env-var names the skill needs; purposes/hints will be emitted into `.env.example` by the caller.\n`runner` must be one of: \"pytest\", \"vitest\", \"none\".\n`path` must start with `tests/` and must not contain `..` or absolute paths.\nNo code fences, no preamble.";
|
|
31
|
+
export declare const REFERENCE_SYSTEM_PROMPT = "You generate reference documentation files for a skill in Skill Studio.\n\nGiven the user's skill description, produce 1-3 markdown reference files under `references/` that document external schemas, APIs, or domain concepts the skill needs. Files must:\n- Be useful to a future maintainer reading the skill cold.\n- Cite specific field names, types, and behaviors when describing external schemas.\n- Stay under 300 lines each.\n\n## Output Format\nReturn ONLY a JSON object:\n{\n \"files\": [\n { \"path\": \"references/<name>.md\", \"content\": \"<full markdown>\" }\n ]\n}\n\n`path` must start with `references/` and must not contain `..` or absolute paths.\nNo code fences, no preamble.";
|
|
32
|
+
export declare function parseScriptResponse(text: string): ScriptAgentResponse;
|
|
33
|
+
export declare function parseGraderResponse(text: string): GraderAgentResponse;
|
|
34
|
+
export declare function parseTestResponse(text: string): TestAgentResponse;
|
|
35
|
+
export declare function parseReferenceResponse(text: string): ReferenceAgentResponse;
|
|
@@ -0,0 +1,201 @@
|
|
|
1
|
+
// ---------------------------------------------------------------------------
|
|
2
|
+
// agent-prompts.ts — per-role system prompts + JSON parsers for the 0815
|
|
3
|
+
// multi-file generation pipeline.
|
|
4
|
+
//
|
|
5
|
+
// Each agent owns one slice of a multi-file skill. They run in parallel under
|
|
6
|
+
// generateSkill({ multiFile: true }) via Promise.allSettled; the body-agent
|
|
7
|
+
// runs sequentially after, with the merged filename list as input, so SKILL.md
|
|
8
|
+
// can link to produced files.
|
|
9
|
+
//
|
|
10
|
+
// Output shape is unified — every agent returns `{ files: [{path, content}] }`
|
|
11
|
+
// so the route layer can write them in a single batch. Test-agent additionally
|
|
12
|
+
// emits `secrets[]` and `integrationTests` (top-level manifest fields).
|
|
13
|
+
// ---------------------------------------------------------------------------
|
|
14
|
+
// ---------------------------------------------------------------------------
|
|
15
|
+
// System prompts. Each is a constant string consumed by createLlmClient().
|
|
16
|
+
// Kept terse on purpose — the user's skill description is the discriminator.
|
|
17
|
+
// ---------------------------------------------------------------------------
|
|
18
|
+
export const SCRIPT_SYSTEM_PROMPT = `You generate the deterministic helper script(s) for a skill in Skill Studio.
|
|
19
|
+
|
|
20
|
+
Given the user's skill description, produce one or more language-appropriate helper scripts the skill will shell out to (e.g. \`scripts/audit.py\`, \`scripts/format.js\`). Scripts must:
|
|
21
|
+
- Be self-contained and runnable from the skill directory.
|
|
22
|
+
- Use only the standard library plus the dependencies you declare in \`runtime\`.
|
|
23
|
+
- Read secrets from environment variables; never contain hardcoded API keys.
|
|
24
|
+
- Degrade gracefully when env vars or external services are unavailable (print a clear message and exit non-zero, never crash on import).
|
|
25
|
+
|
|
26
|
+
## Output Format
|
|
27
|
+
Return ONLY a JSON object:
|
|
28
|
+
{
|
|
29
|
+
"files": [
|
|
30
|
+
{ "path": "scripts/<name>.<ext>", "content": "<full source>" }
|
|
31
|
+
],
|
|
32
|
+
"runtime": { "python": ">=3.10", "pip": ["pkg>=1"] }
|
|
33
|
+
}
|
|
34
|
+
|
|
35
|
+
\`runtime\` is optional — omit if the script needs no runtime declaration.
|
|
36
|
+
\`path\` is always relative to the skill root, must start with \`scripts/\`, and must not contain \`..\` or absolute paths.
|
|
37
|
+
No code fences, no preamble.`;
|
|
38
|
+
export const GRADER_SYSTEM_PROMPT = `You generate a deterministic grader script for a skill in Skill Studio.
|
|
39
|
+
|
|
40
|
+
Given the user's skill description, produce a single grader script (e.g. \`scripts/grader.py\`) that takes the skill's output as input and returns a numeric score in [0, 1]. The grader must:
|
|
41
|
+
- Be a pure function of its input — no network calls, no env reads.
|
|
42
|
+
- Return a deterministic float between 0 and 1.
|
|
43
|
+
- Match the language of the main script when possible.
|
|
44
|
+
|
|
45
|
+
## Output Format
|
|
46
|
+
Return ONLY a JSON object:
|
|
47
|
+
{
|
|
48
|
+
"files": [
|
|
49
|
+
{ "path": "scripts/grader.<ext>", "content": "<full source>" }
|
|
50
|
+
]
|
|
51
|
+
}
|
|
52
|
+
|
|
53
|
+
\`path\` must start with \`scripts/\` and must not contain \`..\` or absolute paths.
|
|
54
|
+
No code fences, no preamble.`;
|
|
55
|
+
export const TEST_SYSTEM_PROMPT = `You generate a runnable integration test for a skill in Skill Studio.
|
|
56
|
+
|
|
57
|
+
Given the user's skill description, produce ONE integration test file (e.g. \`tests/integration_test.py\` or \`tests/integration.test.ts\`) plus a top-level secrets declaration. The test must:
|
|
58
|
+
- Be runnable via the declared runner (\`pytest\` or \`vitest\`).
|
|
59
|
+
- Skip cleanly when required env vars are missing (e.g. \`pytest.skip\`).
|
|
60
|
+
- Never include real secret values — only test-mode placeholders or mocks.
|
|
61
|
+
|
|
62
|
+
## Output Format
|
|
63
|
+
Return ONLY a JSON object:
|
|
64
|
+
{
|
|
65
|
+
"files": [
|
|
66
|
+
{ "path": "tests/<name>", "content": "<full source>" }
|
|
67
|
+
],
|
|
68
|
+
"secrets": ["UPPER_SNAKE_NAME"],
|
|
69
|
+
"integrationTests": {
|
|
70
|
+
"runner": "pytest",
|
|
71
|
+
"file": "tests/integration_test.py",
|
|
72
|
+
"requires": ["UPPER_SNAKE_NAME"]
|
|
73
|
+
}
|
|
74
|
+
}
|
|
75
|
+
|
|
76
|
+
\`secrets\` is the list of env-var names the skill needs; purposes/hints will be emitted into \`.env.example\` by the caller.
|
|
77
|
+
\`runner\` must be one of: "pytest", "vitest", "none".
|
|
78
|
+
\`path\` must start with \`tests/\` and must not contain \`..\` or absolute paths.
|
|
79
|
+
No code fences, no preamble.`;
|
|
80
|
+
export const REFERENCE_SYSTEM_PROMPT = `You generate reference documentation files for a skill in Skill Studio.
|
|
81
|
+
|
|
82
|
+
Given the user's skill description, produce 1-3 markdown reference files under \`references/\` that document external schemas, APIs, or domain concepts the skill needs. Files must:
|
|
83
|
+
- Be useful to a future maintainer reading the skill cold.
|
|
84
|
+
- Cite specific field names, types, and behaviors when describing external schemas.
|
|
85
|
+
- Stay under 300 lines each.
|
|
86
|
+
|
|
87
|
+
## Output Format
|
|
88
|
+
Return ONLY a JSON object:
|
|
89
|
+
{
|
|
90
|
+
"files": [
|
|
91
|
+
{ "path": "references/<name>.md", "content": "<full markdown>" }
|
|
92
|
+
]
|
|
93
|
+
}
|
|
94
|
+
|
|
95
|
+
\`path\` must start with \`references/\` and must not contain \`..\` or absolute paths.
|
|
96
|
+
No code fences, no preamble.`;
|
|
97
|
+
// ---------------------------------------------------------------------------
|
|
98
|
+
// JSON parsers. Modeled on parseBodyResponse / parseEvalsResponse from
|
|
99
|
+
// skill-create-routes.ts — strip optional code-fence wrappers, JSON.parse,
|
|
100
|
+
// then validate the shape. Throw a descriptive Error on any malformed input
|
|
101
|
+
// so Promise.allSettled in the generator captures it as a rejection.
|
|
102
|
+
// ---------------------------------------------------------------------------
|
|
103
|
+
function stripCodeFences(text) {
|
|
104
|
+
// Be tolerant: some models still wrap in ```json\n...\n``` despite "no fences".
|
|
105
|
+
const trimmed = text.trim();
|
|
106
|
+
const fenceMatch = trimmed.match(/^```(?:json)?\s*\n([\s\S]*?)\n```\s*$/);
|
|
107
|
+
return fenceMatch ? fenceMatch[1].trim() : trimmed;
|
|
108
|
+
}
|
|
109
|
+
function parseAgentJson(text, agent) {
|
|
110
|
+
const stripped = stripCodeFences(text);
|
|
111
|
+
// Some models emit a trailing ---REASONING--- block (matches body-agent
|
|
112
|
+
// pattern). Keep only the JSON portion.
|
|
113
|
+
const reasoningCut = stripped.split(/\n---REASONING---/i)[0].trim();
|
|
114
|
+
try {
|
|
115
|
+
return JSON.parse(reasoningCut);
|
|
116
|
+
}
|
|
117
|
+
catch (err) {
|
|
118
|
+
throw new Error(`${agent}-agent returned invalid JSON: ${err.message}. First 200 chars: ${reasoningCut.slice(0, 200)}`);
|
|
119
|
+
}
|
|
120
|
+
}
|
|
121
|
+
function validateFiles(raw, agent, pathPrefix) {
|
|
122
|
+
if (!raw || typeof raw !== "object") {
|
|
123
|
+
throw new Error(`${agent}-agent: response is not an object`);
|
|
124
|
+
}
|
|
125
|
+
const files = raw.files;
|
|
126
|
+
if (!Array.isArray(files) || files.length === 0) {
|
|
127
|
+
throw new Error(`${agent}-agent: missing or empty 'files' array`);
|
|
128
|
+
}
|
|
129
|
+
const out = [];
|
|
130
|
+
for (const f of files) {
|
|
131
|
+
if (!f || typeof f !== "object") {
|
|
132
|
+
throw new Error(`${agent}-agent: file entry is not an object`);
|
|
133
|
+
}
|
|
134
|
+
const path = f.path;
|
|
135
|
+
const content = f.content;
|
|
136
|
+
if (typeof path !== "string" || path.length === 0) {
|
|
137
|
+
throw new Error(`${agent}-agent: file.path must be a non-empty string`);
|
|
138
|
+
}
|
|
139
|
+
if (typeof content !== "string") {
|
|
140
|
+
throw new Error(`${agent}-agent: file.content must be a string`);
|
|
141
|
+
}
|
|
142
|
+
if (path.includes("..") || path.startsWith("/") || /^[a-zA-Z]:[\\/]/.test(path)) {
|
|
143
|
+
throw new Error(`${agent}-agent: refused unsafe path '${path}'`);
|
|
144
|
+
}
|
|
145
|
+
if (!path.startsWith(pathPrefix)) {
|
|
146
|
+
throw new Error(`${agent}-agent: path '${path}' must start with '${pathPrefix}'`);
|
|
147
|
+
}
|
|
148
|
+
out.push({ path, content });
|
|
149
|
+
}
|
|
150
|
+
return out;
|
|
151
|
+
}
|
|
152
|
+
export function parseScriptResponse(text) {
|
|
153
|
+
const raw = parseAgentJson(text, "script");
|
|
154
|
+
const files = validateFiles(raw, "script", "scripts/");
|
|
155
|
+
const r = raw.runtime;
|
|
156
|
+
let runtime;
|
|
157
|
+
if (r && typeof r === "object") {
|
|
158
|
+
const ro = r;
|
|
159
|
+
runtime = {
|
|
160
|
+
python: typeof ro.python === "string" ? ro.python : undefined,
|
|
161
|
+
pip: Array.isArray(ro.pip) ? ro.pip.filter((p) => typeof p === "string") : undefined,
|
|
162
|
+
node: typeof ro.node === "string" ? ro.node : undefined,
|
|
163
|
+
};
|
|
164
|
+
}
|
|
165
|
+
return { files, runtime };
|
|
166
|
+
}
|
|
167
|
+
export function parseGraderResponse(text) {
|
|
168
|
+
const raw = parseAgentJson(text, "grader");
|
|
169
|
+
const files = validateFiles(raw, "grader", "scripts/");
|
|
170
|
+
return { files };
|
|
171
|
+
}
|
|
172
|
+
export function parseTestResponse(text) {
|
|
173
|
+
const raw = parseAgentJson(text, "test");
|
|
174
|
+
const files = validateFiles(raw, "test", "tests/");
|
|
175
|
+
const r = raw;
|
|
176
|
+
const secrets = Array.isArray(r.secrets)
|
|
177
|
+
? r.secrets.filter((s) => typeof s === "string")
|
|
178
|
+
: undefined;
|
|
179
|
+
let integrationTests;
|
|
180
|
+
const it = r.integrationTests;
|
|
181
|
+
if (it && typeof it === "object") {
|
|
182
|
+
const ito = it;
|
|
183
|
+
const runner = ito.runner;
|
|
184
|
+
if (runner === "pytest" || runner === "vitest" || runner === "none") {
|
|
185
|
+
integrationTests = {
|
|
186
|
+
runner,
|
|
187
|
+
file: typeof ito.file === "string" ? ito.file : undefined,
|
|
188
|
+
requires: Array.isArray(ito.requires)
|
|
189
|
+
? ito.requires.filter((r2) => typeof r2 === "string")
|
|
190
|
+
: undefined,
|
|
191
|
+
};
|
|
192
|
+
}
|
|
193
|
+
}
|
|
194
|
+
return { files, secrets, integrationTests };
|
|
195
|
+
}
|
|
196
|
+
export function parseReferenceResponse(text) {
|
|
197
|
+
const raw = parseAgentJson(text, "reference");
|
|
198
|
+
const files = validateFiles(raw, "reference", "references/");
|
|
199
|
+
return { files };
|
|
200
|
+
}
|
|
201
|
+
//# sourceMappingURL=agent-prompts.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"agent-prompts.js","sourceRoot":"","sources":["../../src/core/agent-prompts.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,7 +1,29 @@
|
|
|
1
|
-
import { type GenerateSkillRequest, type GenerateSkillResult } from "../eval-server/skill-create-routes.js";
|
|
2
|
-
export
|
|
1
|
+
import { type GenerateSkillRequest as BaseGenerateSkillRequest, type GenerateSkillResult as BaseGenerateSkillResult } from "../eval-server/skill-create-routes.js";
|
|
2
|
+
export interface GenerateSkillRequest extends BaseGenerateSkillRequest {
|
|
3
|
+
multiFile?: boolean;
|
|
4
|
+
}
|
|
5
|
+
export interface GenerateSkillResult extends BaseGenerateSkillResult {
|
|
6
|
+
/** Auxiliary files produced by the multi-file pipeline (relative path → contents). */
|
|
7
|
+
files?: Record<string, string>;
|
|
8
|
+
/** Env-var names declared by the test-agent. */
|
|
9
|
+
secrets?: string[];
|
|
10
|
+
/** Runtime requirements declared by the script-agent. */
|
|
11
|
+
runtime?: {
|
|
12
|
+
python?: string;
|
|
13
|
+
pip?: string[];
|
|
14
|
+
node?: string;
|
|
15
|
+
};
|
|
16
|
+
/** Integration-test contract declared by the test-agent. */
|
|
17
|
+
integrationTests?: {
|
|
18
|
+
runner: "vitest" | "pytest" | "none";
|
|
19
|
+
file?: string;
|
|
20
|
+
requires?: string[];
|
|
21
|
+
};
|
|
22
|
+
/** Per-agent error messages from the parallel fan-out (informational). */
|
|
23
|
+
multiFileWarnings?: string[];
|
|
24
|
+
}
|
|
3
25
|
export interface GenerateSkillProgressEvent {
|
|
4
|
-
phase: "preparing" | "generating-body" | "generating-evals" | "parsing" | "done";
|
|
26
|
+
phase: "preparing" | "generating-body" | "generating-evals" | "generating-scripts" | "generating-graders" | "generating-tests" | "generating-references" | "parsing" | "done";
|
|
5
27
|
message: string;
|
|
6
28
|
}
|
|
7
29
|
export interface GenerateSkillOptions {
|