perstack 0.0.89 → 0.0.90
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/bin/cli.js +88140 -57348
- package/dist/bin/cli.js.map +1 -1
- package/dist/{chunk-6IYHM4GX.js → chunk-OF74MEG2.js} +1572 -171
- package/dist/chunk-OF74MEG2.js.map +1 -0
- package/dist/{resolve-expert-YAM46GJH.js → resolve-expert-HLJ22XTR.js} +5 -8
- package/dist/resolve-expert-HLJ22XTR.js.map +1 -0
- package/package.json +6 -6
- package/dist/chunk-6IYHM4GX.js.map +0 -1
- package/dist/chunk-TQIAD37I.js +0 -41685
- package/dist/chunk-TQIAD37I.js.map +0 -1
- package/dist/chunk-ZIQDMPLE.js +0 -1571
- package/dist/chunk-ZIQDMPLE.js.map +0 -1
- package/dist/lockfile-skill-manager-LHWOM7VC.js +0 -6
- package/dist/lockfile-skill-manager-LHWOM7VC.js.map +0 -1
- package/dist/resolve-expert-YAM46GJH.js.map +0 -1
|
@@ -1,5 +1,4 @@
|
|
|
1
|
-
import { createApiClient } from './chunk-
|
|
2
|
-
import { PerstackError } from './chunk-6IYHM4GX.js';
|
|
1
|
+
import { PerstackError, createApiClient } from './chunk-OF74MEG2.js';
|
|
3
2
|
import './chunk-E5EEIGMK.js';
|
|
4
3
|
|
|
5
4
|
// ../../packages/runtime/src/helpers/resolve-expert.ts
|
|
@@ -42,8 +41,7 @@ function toRuntimeExpert(key, expert) {
|
|
|
42
41
|
omit: skill.omit ?? [],
|
|
43
42
|
command: skill.command,
|
|
44
43
|
packageName: skill.packageName,
|
|
45
|
-
requiredEnv: skill.requiredEnv ?? []
|
|
46
|
-
lazyInit: false
|
|
44
|
+
requiredEnv: skill.requiredEnv ?? []
|
|
47
45
|
}
|
|
48
46
|
];
|
|
49
47
|
case "mcpSseSkill":
|
|
@@ -56,8 +54,7 @@ function toRuntimeExpert(key, expert) {
|
|
|
56
54
|
rule: skill.rule,
|
|
57
55
|
pick: skill.pick ?? [],
|
|
58
56
|
omit: skill.omit ?? [],
|
|
59
|
-
endpoint: skill.endpoint
|
|
60
|
-
lazyInit: false
|
|
57
|
+
endpoint: skill.endpoint
|
|
61
58
|
}
|
|
62
59
|
];
|
|
63
60
|
case "interactiveSkill":
|
|
@@ -100,5 +97,5 @@ function toRuntimeExpert(key, expert) {
|
|
|
100
97
|
}
|
|
101
98
|
|
|
102
99
|
export { resolveExpertToRun };
|
|
103
|
-
//# sourceMappingURL=resolve-expert-
|
|
104
|
-
//# sourceMappingURL=resolve-expert-
|
|
100
|
+
//# sourceMappingURL=resolve-expert-HLJ22XTR.js.map
|
|
101
|
+
//# sourceMappingURL=resolve-expert-HLJ22XTR.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../../packages/runtime/src/helpers/resolve-expert.ts"],"names":[],"mappings":"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","file":"resolve-expert-HLJ22XTR.js","sourcesContent":["import { createApiClient } from \"@perstack/api-client\"\nimport { type Expert, PerstackError, type RuntimeVersion, type Skill } from \"@perstack/core\"\n\nexport async function resolveExpertToRun(\n expertKey: string,\n experts: Record<string, Expert>,\n clientOptions: {\n perstackApiBaseUrl: string\n perstackApiKey?: string\n },\n): Promise<Expert> {\n if (experts[expertKey]) {\n return experts[expertKey]\n }\n if (!clientOptions.perstackApiKey) {\n throw new PerstackError(\n `PERSTACK_API_KEY is required to resolve published expert \"${expertKey}\"`,\n )\n }\n const client = createApiClient({\n baseUrl: clientOptions.perstackApiBaseUrl,\n apiKey: clientOptions.perstackApiKey,\n })\n const result = await client.experts.get(expertKey)\n if (!result.ok) {\n throw new PerstackError(`Failed to resolve expert \"${expertKey}\": ${result.error.message}`)\n }\n const publishedExpert = result.data.data.definition.experts[expertKey]\n if (!publishedExpert) {\n throw new PerstackError(`Expert \"${expertKey}\" not found in API response`)\n }\n return toRuntimeExpert(expertKey, publishedExpert)\n}\n\nfunction toRuntimeExpert(\n key: string,\n expert: {\n name: string\n version: string\n minRuntimeVersion?: RuntimeVersion\n description?: string\n instruction: string\n skills?: Record<\n string,\n | {\n type: \"mcpStdioSkill\"\n name: string\n description: string\n rule?: string\n pick?: string[]\n omit?: string[]\n command: \"npx\" | \"uvx\"\n packageName: string\n requiredEnv?: string[]\n }\n | {\n type: \"mcpSseSkill\"\n name: string\n description: string\n rule?: string\n pick?: string[]\n omit?: string[]\n endpoint: string\n }\n | {\n type: \"interactiveSkill\"\n name: string\n description: string\n rule?: string\n tools: Record<string, { description: string; inputJsonSchema: string }>\n }\n >\n delegates?: string[]\n tags?: string[]\n },\n): Expert {\n const skills: Record<string, Skill> = Object.fromEntries(\n Object.entries(expert.skills ?? {}).map(([name, skill]) => {\n switch (skill.type) {\n case \"mcpStdioSkill\":\n return [\n name,\n {\n type: skill.type,\n name,\n description: skill.description,\n rule: skill.rule,\n pick: skill.pick ?? [],\n omit: skill.omit ?? [],\n command: skill.command,\n packageName: skill.packageName,\n requiredEnv: skill.requiredEnv ?? [],\n },\n ]\n case \"mcpSseSkill\":\n return [\n name,\n {\n type: skill.type,\n name,\n description: skill.description,\n rule: skill.rule,\n pick: skill.pick ?? [],\n omit: skill.omit ?? [],\n endpoint: skill.endpoint,\n },\n ]\n case \"interactiveSkill\":\n return [\n name,\n {\n type: skill.type,\n name,\n description: skill.description,\n rule: skill.rule,\n tools: Object.fromEntries(\n Object.entries(skill.tools).map(([toolName, tool]) => [\n toolName,\n {\n name: toolName,\n description: tool.description,\n inputSchema: JSON.parse(tool.inputJsonSchema),\n },\n ]),\n ),\n },\n ]\n default: {\n throw new PerstackError(`Unknown skill type: ${(skill as { type: string }).type}`)\n }\n }\n }),\n )\n return {\n key,\n name: expert.name,\n version: expert.version,\n minRuntimeVersion: expert.minRuntimeVersion ?? \"v1.0\",\n description: expert.description ?? \"\",\n instruction: expert.instruction,\n skills,\n delegates: expert.delegates ?? [],\n tags: expert.tags ?? [],\n }\n}\n"]}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "perstack",
|
|
3
|
-
"version": "0.0.
|
|
3
|
+
"version": "0.0.90",
|
|
4
4
|
"description": "PerStack CLI",
|
|
5
5
|
"author": "Wintermute Technologies, Inc.",
|
|
6
6
|
"license": "Apache-2.0",
|
|
@@ -20,11 +20,11 @@
|
|
|
20
20
|
"tsup": "^8.5.1",
|
|
21
21
|
"typescript": "^5.9.3",
|
|
22
22
|
"vitest": "^4.0.18",
|
|
23
|
-
"@perstack/core": "0.0.
|
|
24
|
-
"@perstack/
|
|
25
|
-
"@perstack/
|
|
26
|
-
"@perstack/
|
|
27
|
-
"@perstack/
|
|
23
|
+
"@perstack/core": "0.0.49",
|
|
24
|
+
"@perstack/installer": "0.0.10",
|
|
25
|
+
"@perstack/log": "0.0.5",
|
|
26
|
+
"@perstack/perstack-toml": "0.0.5",
|
|
27
|
+
"@perstack/tui": "0.0.7"
|
|
28
28
|
},
|
|
29
29
|
"engines": {
|
|
30
30
|
"node": ">=22.0.0"
|