@crewx/skill 0.1.20-rc.4 → 0.1.20-rc.40
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/cli.d.ts +4 -1
- package/dist/cli.d.ts.map +1 -1
- package/dist/cli.js +7 -2
- package/dist/cli.js.map +1 -1
- package/dist/src/current-task.d.ts +6 -0
- package/dist/src/current-task.d.ts.map +1 -0
- package/dist/src/current-task.js +31 -0
- package/dist/src/current-task.js.map +1 -0
- package/dist/src/engine.d.ts +18 -2
- package/dist/src/engine.d.ts.map +1 -1
- package/dist/src/engine.js +99 -42
- package/dist/src/engine.js.map +1 -1
- package/dist/src/product-bundle.d.ts +7 -0
- package/dist/src/product-bundle.d.ts.map +1 -0
- package/dist/src/product-bundle.js +68 -0
- package/dist/src/product-bundle.js.map +1 -0
- package/dist/src/types.d.ts +1 -0
- package/dist/src/types.d.ts.map +1 -1
- package/package.json +3 -3
package/dist/cli.d.ts
CHANGED
|
@@ -1,3 +1,6 @@
|
|
|
1
1
|
#!/usr/bin/env node
|
|
2
|
-
export
|
|
2
|
+
export interface SkillCliContext {
|
|
3
|
+
readonly productPackageRoot?: string;
|
|
4
|
+
}
|
|
5
|
+
export declare function main(inputArgs?: string[], context?: SkillCliContext): Promise<void>;
|
|
3
6
|
//# sourceMappingURL=cli.d.ts.map
|
package/dist/cli.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"cli.d.ts","sourceRoot":"","sources":["../cli.ts"],"names":[],"mappings":";AA+
|
|
1
|
+
{"version":3,"file":"cli.d.ts","sourceRoot":"","sources":["../cli.ts"],"names":[],"mappings":";AA+BA,MAAM,WAAW,eAAe;IAC9B,QAAQ,CAAC,kBAAkB,CAAC,EAAE,MAAM,CAAC;CACtC;AAmFD,wBAAsB,IAAI,CAAC,SAAS,CAAC,EAAE,MAAM,EAAE,EAAE,OAAO,GAAE,eAAoB,GAAG,OAAO,CAAC,IAAI,CAAC,CAiH7F"}
|
package/dist/cli.js
CHANGED
|
@@ -38,6 +38,7 @@ exports.main = main;
|
|
|
38
38
|
const fs = __importStar(require("fs"));
|
|
39
39
|
const path = __importStar(require("path"));
|
|
40
40
|
const engine_1 = require("./src/engine");
|
|
41
|
+
const product_bundle_1 = require("./src/product-bundle");
|
|
41
42
|
let PKG_VERSION = 'unknown';
|
|
42
43
|
try {
|
|
43
44
|
const _pkgPath = fs.existsSync(path.join(__dirname, 'package.json'))
|
|
@@ -124,11 +125,10 @@ function printList(engine) {
|
|
|
124
125
|
console.log(`${s.name.padEnd(maxName)} ${s.type.padEnd(maxType)} ${(s.version ?? '-').padEnd(7)} ${s.description}`);
|
|
125
126
|
}
|
|
126
127
|
}
|
|
127
|
-
async function main(inputArgs) {
|
|
128
|
+
async function main(inputArgs, context = {}) {
|
|
128
129
|
const args = inputArgs ?? process.argv.slice(2);
|
|
129
130
|
const command = args[0];
|
|
130
131
|
const projectRoot = findProjectRoot();
|
|
131
|
-
const engine = new engine_1.SkillEngine(projectRoot, getAdditionalPaths(projectRoot));
|
|
132
132
|
const tracer = await loadTracer();
|
|
133
133
|
const argv = args.join(' ');
|
|
134
134
|
if (command === '--version') {
|
|
@@ -147,6 +147,11 @@ async function main(inputArgs) {
|
|
|
147
147
|
printUsage();
|
|
148
148
|
return;
|
|
149
149
|
}
|
|
150
|
+
const bundleResolution = (0, product_bundle_1.resolveProductAppBundleInput)(context.productPackageRoot);
|
|
151
|
+
const engine = await engine_1.SkillEngine.create(projectRoot, getAdditionalPaths(projectRoot), bundleResolution.input, bundleResolution.diagnostic);
|
|
152
|
+
for (const diagnostic of engine.getBundleDiagnostics()) {
|
|
153
|
+
console.error(`[skill] Verified product bundle skill discovery failed (${diagnostic.code}): ${diagnostic.relativePath}`);
|
|
154
|
+
}
|
|
150
155
|
if (command === 'list') {
|
|
151
156
|
printList(engine);
|
|
152
157
|
return;
|
package/dist/cli.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"cli.js","sourceRoot":"","sources":["../cli.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
|
1
|
+
{"version":3,"file":"cli.js","sourceRoot":"","sources":["../cli.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
import { TaskRepository } from '@crewx/sdk/repository';
|
|
2
|
+
type TaskLookup = Pick<TaskRepository, 'getTask'>;
|
|
3
|
+
export type TaskRepositoryFactory = () => TaskLookup;
|
|
4
|
+
export declare function resolveCurrentTaskThreadId(env?: NodeJS.ProcessEnv, repositoryFactory?: TaskRepositoryFactory): string | undefined;
|
|
5
|
+
export {};
|
|
6
|
+
//# sourceMappingURL=current-task.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"current-task.d.ts","sourceRoot":"","sources":["../../src/current-task.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAC;AAEvD,KAAK,UAAU,GAAG,IAAI,CAAC,cAAc,EAAE,SAAS,CAAC,CAAC;AAClD,MAAM,MAAM,qBAAqB,GAAG,MAAM,UAAU,CAAC;AAMrD,wBAAgB,0BAA0B,CACxC,GAAG,GAAE,MAAM,CAAC,UAAwB,EACpC,iBAAiB,GAAE,qBAAkD,GACpE,MAAM,GAAG,SAAS,CAgBpB"}
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.resolveCurrentTaskThreadId = resolveCurrentTaskThreadId;
|
|
4
|
+
const repository_1 = require("@crewx/sdk/repository");
|
|
5
|
+
function resolveCurrentTaskThreadId(env = process.env, repositoryFactory = () => new repository_1.TaskRepository()) {
|
|
6
|
+
const taskId = env.CREWX_TASK_ID?.trim();
|
|
7
|
+
const agentId = env.CREWX_AGENT_ID?.trim();
|
|
8
|
+
if (!taskId || !agentId)
|
|
9
|
+
return undefined;
|
|
10
|
+
try {
|
|
11
|
+
const task = repositoryFactory().getTask(taskId);
|
|
12
|
+
if (!task || task.id !== taskId || task.agent_id !== agentId || task.status !== 'running')
|
|
13
|
+
return undefined;
|
|
14
|
+
if (typeof task.thread_id !== 'string' || !isValidThreadId(task.thread_id))
|
|
15
|
+
return undefined;
|
|
16
|
+
const ambientThreadId = env.CREWX_THREAD_ID;
|
|
17
|
+
if (ambientThreadId && ambientThreadId !== task.thread_id)
|
|
18
|
+
return undefined;
|
|
19
|
+
return task.thread_id;
|
|
20
|
+
}
|
|
21
|
+
catch {
|
|
22
|
+
return undefined;
|
|
23
|
+
}
|
|
24
|
+
}
|
|
25
|
+
function isValidThreadId(threadId) {
|
|
26
|
+
const bytes = Buffer.byteLength(threadId, 'utf8');
|
|
27
|
+
return bytes >= 1
|
|
28
|
+
&& bytes <= 512
|
|
29
|
+
&& !/[\u0000-\u001f\u007f-\u009f\u202a-\u202e\u2066-\u2069]/u.test(threadId);
|
|
30
|
+
}
|
|
31
|
+
//# sourceMappingURL=current-task.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"current-task.js","sourceRoot":"","sources":["../../src/current-task.ts"],"names":[],"mappings":";;AASA,gEAmBC;AA5BD,sDAAuD;AASvD,SAAgB,0BAA0B,CACxC,MAAyB,OAAO,CAAC,GAAG,EACpC,oBAA2C,GAAG,EAAE,CAAC,IAAI,2BAAc,EAAE;IAErE,MAAM,MAAM,GAAG,GAAG,CAAC,aAAa,EAAE,IAAI,EAAE,CAAC;IACzC,MAAM,OAAO,GAAG,GAAG,CAAC,cAAc,EAAE,IAAI,EAAE,CAAC;IAC3C,IAAI,CAAC,MAAM,IAAI,CAAC,OAAO;QAAE,OAAO,SAAS,CAAC;IAE1C,IAAI,CAAC;QACH,MAAM,IAAI,GAAG,iBAAiB,EAAE,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;QACjD,IAAI,CAAC,IAAI,IAAI,IAAI,CAAC,EAAE,KAAK,MAAM,IAAI,IAAI,CAAC,QAAQ,KAAK,OAAO,IAAI,IAAI,CAAC,MAAM,KAAK,SAAS;YAAE,OAAO,SAAS,CAAC;QAC5G,IAAI,OAAO,IAAI,CAAC,SAAS,KAAK,QAAQ,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,SAAS,CAAC;YAAE,OAAO,SAAS,CAAC;QAE7F,MAAM,eAAe,GAAG,GAAG,CAAC,eAAe,CAAC;QAC5C,IAAI,eAAe,IAAI,eAAe,KAAK,IAAI,CAAC,SAAS;YAAE,OAAO,SAAS,CAAC;QAC5E,OAAO,IAAI,CAAC,SAAS,CAAC;IACxB,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,SAAS,CAAC;IACnB,CAAC;AACH,CAAC;AAED,SAAS,eAAe,CAAC,QAAgB;IACvC,MAAM,KAAK,GAAG,MAAM,CAAC,UAAU,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAC;IAClD,OAAO,KAAK,IAAI,CAAC;WACZ,KAAK,IAAI,GAAG;WACZ,CAAC,yDAAyD,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;AACjF,CAAC"}
|
package/dist/src/engine.d.ts
CHANGED
|
@@ -1,21 +1,37 @@
|
|
|
1
|
+
import { type BundledSkillDiscoveryResult, type ProductAppBundleInput } from '@crewx/sdk/skills';
|
|
1
2
|
import { SkillInfo } from './types';
|
|
3
|
+
export interface SkillEngineOptions {
|
|
4
|
+
readonly productBundle?: ProductAppBundleInput;
|
|
5
|
+
readonly bundleUnavailableDiagnostic?: string;
|
|
6
|
+
readonly bundledSkills?: BundledSkillDiscoveryResult['skills'];
|
|
7
|
+
readonly bundleDiagnostics?: BundledSkillDiscoveryResult['diagnostics'];
|
|
8
|
+
readonly taskThreadResolver?: () => string | undefined;
|
|
9
|
+
}
|
|
2
10
|
export declare class SkillEngine {
|
|
3
11
|
private skillsDir;
|
|
4
12
|
private projectRoot;
|
|
5
13
|
private additionalPaths;
|
|
6
|
-
|
|
14
|
+
private readonly productBundle?;
|
|
15
|
+
private readonly bundleUnavailableDiagnostic?;
|
|
16
|
+
private readonly bundledSkills;
|
|
17
|
+
private readonly bundleDiagnostics;
|
|
18
|
+
private readonly taskThreadResolver;
|
|
19
|
+
constructor(projectRoot: string, additionalPaths?: string[], options?: SkillEngineOptions);
|
|
20
|
+
static create(projectRoot: string, additionalPaths?: string[], productBundle?: ProductAppBundleInput, bundleUnavailableDiagnostic?: string): Promise<SkillEngine>;
|
|
7
21
|
private getSearchDirs;
|
|
8
22
|
discover(): SkillInfo[];
|
|
9
23
|
resolve(name: string): SkillInfo;
|
|
24
|
+
getBundleDiagnostics(): BundledSkillDiscoveryResult['diagnostics'];
|
|
25
|
+
private warnShadowedWorkspaceSkills;
|
|
10
26
|
private toSkillInfo;
|
|
11
27
|
execute(skill: SkillInfo, args: string[]): Promise<{
|
|
12
28
|
exitCode: number;
|
|
13
29
|
stdout: string;
|
|
14
30
|
stderr: string;
|
|
15
31
|
}>;
|
|
32
|
+
private failExecution;
|
|
16
33
|
readDoc(skill: SkillInfo, subDoc?: string): string;
|
|
17
34
|
log(skill: SkillInfo, args: string[], exitCode: number): void;
|
|
18
|
-
private findEntrypoint;
|
|
19
35
|
}
|
|
20
36
|
export { SkillInfo, SkillType, SkillLogEntry } from './types';
|
|
21
37
|
//# sourceMappingURL=engine.d.ts.map
|
package/dist/src/engine.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"engine.d.ts","sourceRoot":"","sources":["../../src/engine.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"engine.d.ts","sourceRoot":"","sources":["../../src/engine.ts"],"names":[],"mappings":"AAGA,OAAO,EAKL,KAAK,2BAA2B,EAChC,KAAK,qBAAqB,EAE3B,MAAM,mBAAmB,CAAC;AAE3B,OAAO,EAAE,SAAS,EAA4B,MAAM,SAAS,CAAC;AAK9D,MAAM,WAAW,kBAAkB;IACjC,QAAQ,CAAC,aAAa,CAAC,EAAE,qBAAqB,CAAC;IAC/C,QAAQ,CAAC,2BAA2B,CAAC,EAAE,MAAM,CAAC;IAC9C,QAAQ,CAAC,aAAa,CAAC,EAAE,2BAA2B,CAAC,QAAQ,CAAC,CAAC;IAC/D,QAAQ,CAAC,iBAAiB,CAAC,EAAE,2BAA2B,CAAC,aAAa,CAAC,CAAC;IACxE,QAAQ,CAAC,kBAAkB,CAAC,EAAE,MAAM,MAAM,GAAG,SAAS,CAAC;CACxD;AAED,qBAAa,WAAW;IACtB,OAAO,CAAC,SAAS,CAAS;IAC1B,OAAO,CAAC,WAAW,CAAS;IAC5B,OAAO,CAAC,eAAe,CAAW;IAClC,OAAO,CAAC,QAAQ,CAAC,aAAa,CAAC,CAAwB;IACvD,OAAO,CAAC,QAAQ,CAAC,2BAA2B,CAAC,CAAS;IACtD,OAAO,CAAC,QAAQ,CAAC,aAAa,CAAc;IAC5C,OAAO,CAAC,QAAQ,CAAC,iBAAiB,CAA6C;IAC/E,OAAO,CAAC,QAAQ,CAAC,kBAAkB,CAA2B;gBAElD,WAAW,EAAE,MAAM,EAAE,eAAe,CAAC,EAAE,MAAM,EAAE,EAAE,OAAO,GAAE,kBAAuB;WAWhF,MAAM,CACjB,WAAW,EAAE,MAAM,EACnB,eAAe,GAAE,MAAM,EAAO,EAC9B,aAAa,CAAC,EAAE,qBAAqB,EACrC,2BAA2B,CAAC,EAAE,MAAM,GACnC,OAAO,CAAC,WAAW,CAAC;IAgBvB,OAAO,CAAC,aAAa;IAYrB,QAAQ,IAAI,SAAS,EAAE;IAcvB,OAAO,CAAC,IAAI,EAAE,MAAM,GAAG,SAAS;IAiBhC,oBAAoB,IAAI,2BAA2B,CAAC,aAAa,CAAC;IAIlE,OAAO,CAAC,2BAA2B;IAanC,OAAO,CAAC,WAAW;IAqBb,OAAO,CAAC,KAAK,EAAE,SAAS,EAAE,IAAI,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC;QAAE,QAAQ,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,CAAA;KAAE,CAAC;IAmE9G,OAAO,CAAC,aAAa;IAUrB,OAAO,CAAC,KAAK,EAAE,SAAS,EAAE,MAAM,CAAC,EAAE,MAAM,GAAG,MAAM;IAmBlD,GAAG,CAAC,KAAK,EAAE,SAAS,EAAE,IAAI,EAAE,MAAM,EAAE,EAAE,QAAQ,EAAE,MAAM,GAAG,IAAI;CAmB9D;AAeD,OAAO,EAAE,SAAS,EAAE,SAAS,EAAE,aAAa,EAAE,MAAM,SAAS,CAAC"}
|
package/dist/src/engine.js
CHANGED
|
@@ -38,26 +38,73 @@ const fs = __importStar(require("fs"));
|
|
|
38
38
|
const path = __importStar(require("path"));
|
|
39
39
|
const child_process_1 = require("child_process");
|
|
40
40
|
const skills_1 = require("@crewx/sdk/skills");
|
|
41
|
+
const current_task_1 = require("./current-task");
|
|
41
42
|
const SKILL_MD = 'SKILL.md';
|
|
42
|
-
const ENTRY_CANDIDATES = ['index.js', 'main.js'];
|
|
43
43
|
const LOG_FILE = '.crewx/.skill-log.jsonl';
|
|
44
44
|
class SkillEngine {
|
|
45
|
-
constructor(projectRoot, additionalPaths) {
|
|
45
|
+
constructor(projectRoot, additionalPaths, options = {}) {
|
|
46
46
|
this.projectRoot = projectRoot;
|
|
47
47
|
this.skillsDir = path.join(projectRoot, 'skills');
|
|
48
48
|
this.additionalPaths = additionalPaths ?? [];
|
|
49
|
+
this.productBundle = options.productBundle;
|
|
50
|
+
this.bundleUnavailableDiagnostic = options.bundleUnavailableDiagnostic;
|
|
51
|
+
this.bundleDiagnostics = options.bundleDiagnostics ?? [];
|
|
52
|
+
this.bundledSkills = (options.bundledSkills ?? []).map((skill) => this.toSkillInfo(skill, 'bundled'));
|
|
53
|
+
this.taskThreadResolver = options.taskThreadResolver ?? (() => (0, current_task_1.resolveCurrentTaskThreadId)());
|
|
54
|
+
}
|
|
55
|
+
static async create(projectRoot, additionalPaths = [], productBundle, bundleUnavailableDiagnostic) {
|
|
56
|
+
if (!productBundle) {
|
|
57
|
+
return new SkillEngine(projectRoot, additionalPaths, { bundleUnavailableDiagnostic });
|
|
58
|
+
}
|
|
59
|
+
const discovery = await (0, skills_1.discoverBundledProductSkills)(productBundle);
|
|
60
|
+
return new SkillEngine(projectRoot, additionalPaths, {
|
|
61
|
+
productBundle,
|
|
62
|
+
bundledSkills: discovery.skills,
|
|
63
|
+
bundleDiagnostics: discovery.diagnostics,
|
|
64
|
+
});
|
|
49
65
|
}
|
|
50
66
|
getSearchDirs() {
|
|
51
67
|
return [this.skillsDir, ...this.additionalPaths, path.join(this.projectRoot, 'apps')];
|
|
52
68
|
}
|
|
53
69
|
discover() {
|
|
54
|
-
|
|
70
|
+
const workspaceSkills = (0, skills_1.discover)(this.getSearchDirs());
|
|
71
|
+
this.warnShadowedWorkspaceSkills(workspaceSkills);
|
|
72
|
+
const bundledNames = new Set(this.bundledSkills.map((skill) => skill.name));
|
|
73
|
+
return [
|
|
74
|
+
...this.bundledSkills,
|
|
75
|
+
...workspaceSkills.filter((skill) => !bundledNames.has(skill.name)).map((skill) => this.toSkillInfo(skill)),
|
|
76
|
+
].sort((left, right) => left.name.localeCompare(right.name));
|
|
55
77
|
}
|
|
56
78
|
resolve(name) {
|
|
57
|
-
|
|
79
|
+
const bundled = this.bundledSkills.find((skill) => skill.name === name);
|
|
80
|
+
if (bundled) {
|
|
81
|
+
const workspaceSkills = (0, skills_1.discover)(this.getSearchDirs());
|
|
82
|
+
this.warnShadowedWorkspaceSkills(workspaceSkills, new Set([name]));
|
|
83
|
+
return bundled;
|
|
84
|
+
}
|
|
85
|
+
try {
|
|
86
|
+
return this.toSkillInfo((0, skills_1.resolve)(name, this.getSearchDirs()));
|
|
87
|
+
}
|
|
88
|
+
catch (error) {
|
|
89
|
+
if (this.bundleUnavailableDiagnostic && isSkillNotFoundError(error)) {
|
|
90
|
+
throw new Error(`${error.message}\n${this.bundleUnavailableDiagnostic}`);
|
|
91
|
+
}
|
|
92
|
+
throw error;
|
|
93
|
+
}
|
|
94
|
+
}
|
|
95
|
+
getBundleDiagnostics() {
|
|
96
|
+
return this.bundleDiagnostics;
|
|
58
97
|
}
|
|
59
|
-
|
|
60
|
-
const
|
|
98
|
+
warnShadowedWorkspaceSkills(workspaceSkills, onlyNames) {
|
|
99
|
+
const bundledNames = new Set(this.bundledSkills.map((skill) => skill.name));
|
|
100
|
+
for (const skill of workspaceSkills) {
|
|
101
|
+
if (!bundledNames.has(skill.name) || (onlyNames && !onlyNames.has(skill.name)))
|
|
102
|
+
continue;
|
|
103
|
+
console.error(`[skill] Workspace skill '${skill.name}' is shadowed by a verified product bundle skill; using the bundled version.`);
|
|
104
|
+
}
|
|
105
|
+
}
|
|
106
|
+
toSkillInfo(skill, source) {
|
|
107
|
+
const entrypoint = (0, skills_1.findEntrypoint)(skill.dir, path.basename(skill.dir));
|
|
61
108
|
return {
|
|
62
109
|
name: skill.name,
|
|
63
110
|
type: entrypoint ? 'exec' : 'doc',
|
|
@@ -66,17 +113,43 @@ class SkillEngine {
|
|
|
66
113
|
dir: skill.dir,
|
|
67
114
|
entrypoint,
|
|
68
115
|
skillMdPath: skill.skillMdPath,
|
|
116
|
+
...(source === undefined ? {} : { source }),
|
|
69
117
|
};
|
|
70
118
|
}
|
|
71
|
-
execute(skill, args) {
|
|
119
|
+
async execute(skill, args) {
|
|
72
120
|
if (!skill.entrypoint) {
|
|
73
121
|
throw new Error(`Skill '${skill.name}' has no entrypoint`);
|
|
74
122
|
}
|
|
123
|
+
let childEnvironment = process.env;
|
|
124
|
+
if (skill.source === 'bundled') {
|
|
125
|
+
if (!this.productBundle)
|
|
126
|
+
return this.failExecution('BUNDLE_INTEGRITY');
|
|
127
|
+
try {
|
|
128
|
+
const verified = await (0, skills_1.discoverBundledProductSkills)(this.productBundle);
|
|
129
|
+
const candidate = verified.skills.find((item) => item.name === skill.name && item.dir === skill.dir);
|
|
130
|
+
if (!candidate || (0, skills_1.findEntrypoint)(candidate.dir, path.basename(candidate.dir)) !== skill.entrypoint) {
|
|
131
|
+
return this.failExecution('BUNDLE_INTEGRITY');
|
|
132
|
+
}
|
|
133
|
+
}
|
|
134
|
+
catch {
|
|
135
|
+
return this.failExecution('BUNDLE_INTEGRITY');
|
|
136
|
+
}
|
|
137
|
+
const explicitThread = hasExplicitThread(args);
|
|
138
|
+
const currentThreadId = explicitThread ? undefined : this.taskThreadResolver();
|
|
139
|
+
childEnvironment = { ...process.env };
|
|
140
|
+
delete childEnvironment.CREWX_THREAD_ID;
|
|
141
|
+
if (!explicitThread && currentThreadId)
|
|
142
|
+
childEnvironment.CREWX_THREAD_ID = currentThreadId;
|
|
143
|
+
if (this.projectRoot)
|
|
144
|
+
childEnvironment.CREWX_WORKSPACE_ROOT = this.projectRoot;
|
|
145
|
+
else
|
|
146
|
+
delete childEnvironment.CREWX_WORKSPACE_ROOT;
|
|
147
|
+
}
|
|
75
148
|
return new Promise((resolve) => {
|
|
76
149
|
const child = (0, child_process_1.spawn)('node', [skill.entrypoint, ...args], {
|
|
77
150
|
cwd: this.projectRoot,
|
|
78
151
|
stdio: ['inherit', 'pipe', 'pipe'],
|
|
79
|
-
env:
|
|
152
|
+
env: childEnvironment,
|
|
80
153
|
});
|
|
81
154
|
const stdoutChunks = [];
|
|
82
155
|
const stderrChunks = [];
|
|
@@ -105,6 +178,11 @@ class SkillEngine {
|
|
|
105
178
|
});
|
|
106
179
|
});
|
|
107
180
|
}
|
|
181
|
+
failExecution(code) {
|
|
182
|
+
const stderr = `${code}\n`;
|
|
183
|
+
process.stderr.write(stderr);
|
|
184
|
+
return { exitCode: 1, stdout: '', stderr };
|
|
185
|
+
}
|
|
108
186
|
readDoc(skill, subDoc) {
|
|
109
187
|
let filePath;
|
|
110
188
|
if (subDoc) {
|
|
@@ -134,40 +212,19 @@ class SkillEngine {
|
|
|
134
212
|
};
|
|
135
213
|
fs.appendFileSync(logPath, JSON.stringify(entry) + '\n');
|
|
136
214
|
}
|
|
137
|
-
findEntrypoint(dir, skillName) {
|
|
138
|
-
const pkgPath = path.join(dir, 'package.json');
|
|
139
|
-
if (fs.existsSync(pkgPath)) {
|
|
140
|
-
try {
|
|
141
|
-
const pkg = JSON.parse(fs.readFileSync(pkgPath, 'utf-8'));
|
|
142
|
-
if (pkg.bin) {
|
|
143
|
-
const binValue = typeof pkg.bin === 'string'
|
|
144
|
-
? pkg.bin
|
|
145
|
-
: Object.values(pkg.bin)[0];
|
|
146
|
-
if (binValue) {
|
|
147
|
-
const resolved = path.resolve(dir, binValue);
|
|
148
|
-
if (fs.existsSync(resolved))
|
|
149
|
-
return resolved;
|
|
150
|
-
}
|
|
151
|
-
}
|
|
152
|
-
if (pkg.main) {
|
|
153
|
-
const resolved = path.resolve(dir, pkg.main);
|
|
154
|
-
if (fs.existsSync(resolved))
|
|
155
|
-
return resolved;
|
|
156
|
-
}
|
|
157
|
-
}
|
|
158
|
-
catch {
|
|
159
|
-
}
|
|
160
|
-
}
|
|
161
|
-
const namedJs = path.join(dir, `${skillName}.js`);
|
|
162
|
-
if (fs.existsSync(namedJs))
|
|
163
|
-
return namedJs;
|
|
164
|
-
for (const candidate of ENTRY_CANDIDATES) {
|
|
165
|
-
const candidatePath = path.join(dir, candidate);
|
|
166
|
-
if (fs.existsSync(candidatePath))
|
|
167
|
-
return candidatePath;
|
|
168
|
-
}
|
|
169
|
-
return undefined;
|
|
170
|
-
}
|
|
171
215
|
}
|
|
172
216
|
exports.SkillEngine = SkillEngine;
|
|
217
|
+
function hasExplicitThread(args) {
|
|
218
|
+
for (let index = 0; index < args.length; index += 1) {
|
|
219
|
+
const argument = args[index] ?? '';
|
|
220
|
+
if (argument.startsWith('--thread=') && argument.slice('--thread='.length).trim().length > 0)
|
|
221
|
+
return true;
|
|
222
|
+
if (argument === '--thread' && (args[index + 1]?.trim().length ?? 0) > 0)
|
|
223
|
+
return true;
|
|
224
|
+
}
|
|
225
|
+
return false;
|
|
226
|
+
}
|
|
227
|
+
function isSkillNotFoundError(error) {
|
|
228
|
+
return error instanceof Error && error.message.startsWith('Skill not found:');
|
|
229
|
+
}
|
|
173
230
|
//# sourceMappingURL=engine.js.map
|
package/dist/src/engine.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"engine.js","sourceRoot":"","sources":["../../src/engine.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,uCAAyB;AACzB,2CAA6B;AAC7B,iDAAsC;AACtC,
|
|
1
|
+
{"version":3,"file":"engine.js","sourceRoot":"","sources":["../../src/engine.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
import type { ProductAppBundleInput } from '@crewx/sdk/skills';
|
|
2
|
+
export interface ProductAppBundleResolution {
|
|
3
|
+
readonly input?: ProductAppBundleInput;
|
|
4
|
+
readonly diagnostic?: string;
|
|
5
|
+
}
|
|
6
|
+
export declare function resolveProductAppBundleInput(productPackageRoot?: string): ProductAppBundleResolution;
|
|
7
|
+
//# sourceMappingURL=product-bundle.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"product-bundle.d.ts","sourceRoot":"","sources":["../../src/product-bundle.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,mBAAmB,CAAC;AAS/D,MAAM,WAAW,0BAA0B;IACzC,QAAQ,CAAC,KAAK,CAAC,EAAE,qBAAqB,CAAC;IACvC,QAAQ,CAAC,UAAU,CAAC,EAAE,MAAM,CAAC;CAC9B;AAMD,wBAAgB,4BAA4B,CAAC,kBAAkB,CAAC,EAAE,MAAM,GAAG,0BAA0B,CAsCpG"}
|
|
@@ -0,0 +1,68 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.resolveProductAppBundleInput = resolveProductAppBundleInput;
|
|
4
|
+
const node_fs_1 = require("node:fs");
|
|
5
|
+
const node_module_1 = require("node:module");
|
|
6
|
+
const node_path_1 = require("node:path");
|
|
7
|
+
const PRODUCT_BUNDLE_HELPER = (0, node_path_1.join)('dist-server', 'common', 'product-app-bundle.js');
|
|
8
|
+
const SHA256_PATTERN = /^[a-f0-9]{64}$/;
|
|
9
|
+
function resolveProductAppBundleInput(productPackageRoot) {
|
|
10
|
+
if (typeof productPackageRoot !== 'string' || productPackageRoot.trim().length === 0) {
|
|
11
|
+
return {
|
|
12
|
+
diagnostic: 'PRODUCT_ROOT_UNAVAILABLE: verified bundled skills could not be checked because the running CrewX CLI product root is unavailable.',
|
|
13
|
+
};
|
|
14
|
+
}
|
|
15
|
+
const packageRoot = (0, node_path_1.resolve)(productPackageRoot);
|
|
16
|
+
const helperPath = (0, node_path_1.join)(packageRoot, PRODUCT_BUNDLE_HELPER);
|
|
17
|
+
if (!(0, node_fs_1.existsSync)(helperPath)) {
|
|
18
|
+
return {
|
|
19
|
+
diagnostic: 'PRODUCT_BUNDLE_HELPER_UNAVAILABLE: verified bundled skills could not be checked because the compiled product helper is missing.',
|
|
20
|
+
};
|
|
21
|
+
}
|
|
22
|
+
try {
|
|
23
|
+
const helper = (0, node_module_1.createRequire)(helperPath)(helperPath);
|
|
24
|
+
const input = helper.getProductAppBundleInput?.();
|
|
25
|
+
if (!isProductAppBundleInput(input)) {
|
|
26
|
+
return {
|
|
27
|
+
diagnostic: 'PRODUCT_BUNDLE_PIN_INVALID: verified bundled skills could not be checked because the compiled product helper did not provide a valid bundle root and hash pin.',
|
|
28
|
+
};
|
|
29
|
+
}
|
|
30
|
+
return {
|
|
31
|
+
input: Object.freeze({
|
|
32
|
+
root: input.root,
|
|
33
|
+
expectedIndexHash: input.expectedIndexHash,
|
|
34
|
+
reservedIds: Object.freeze({
|
|
35
|
+
appIds: Object.freeze([...input.reservedIds.appIds]),
|
|
36
|
+
definitionIds: Object.freeze([...input.reservedIds.definitionIds]),
|
|
37
|
+
}),
|
|
38
|
+
}),
|
|
39
|
+
};
|
|
40
|
+
}
|
|
41
|
+
catch {
|
|
42
|
+
return {
|
|
43
|
+
diagnostic: 'PRODUCT_BUNDLE_HELPER_UNAVAILABLE: verified bundled skills could not be checked because the compiled product helper could not be loaded.',
|
|
44
|
+
};
|
|
45
|
+
}
|
|
46
|
+
}
|
|
47
|
+
function isProductAppBundleInput(value) {
|
|
48
|
+
if (value === null || typeof value !== 'object' || Array.isArray(value))
|
|
49
|
+
return false;
|
|
50
|
+
const input = value;
|
|
51
|
+
const rootIsValid = input.root === null || (typeof input.root === 'string' && input.root.length > 0);
|
|
52
|
+
const reservations = input.reservedIds;
|
|
53
|
+
if (!rootIsValid || typeof input.expectedIndexHash !== 'string'
|
|
54
|
+
|| !SHA256_PATTERN.test(input.expectedIndexHash)
|
|
55
|
+
|| reservations === undefined || reservations === null || typeof reservations !== 'object'
|
|
56
|
+
|| Array.isArray(reservations))
|
|
57
|
+
return false;
|
|
58
|
+
const reservationKeys = Reflect.ownKeys(reservations);
|
|
59
|
+
const hasExactReservationKeys = reservationKeys.length === 2
|
|
60
|
+
&& reservationKeys.includes('appIds')
|
|
61
|
+
&& reservationKeys.includes('definitionIds');
|
|
62
|
+
const hasValidIds = (ids) => Array.isArray(ids)
|
|
63
|
+
&& ids.every((id) => typeof id === 'string' && id.length > 0);
|
|
64
|
+
return hasExactReservationKeys
|
|
65
|
+
&& hasValidIds(reservations.appIds)
|
|
66
|
+
&& hasValidIds(reservations.definitionIds);
|
|
67
|
+
}
|
|
68
|
+
//# sourceMappingURL=product-bundle.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"product-bundle.js","sourceRoot":"","sources":["../../src/product-bundle.ts"],"names":[],"mappings":"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"}
|
package/dist/src/types.d.ts
CHANGED
package/dist/src/types.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/types.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,SAAS,GAAG,MAAM,GAAG,KAAK,CAAC;AAEvC,MAAM,WAAW,SAAS;IACxB,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,SAAS,CAAC;IAChB,WAAW,EAAE,MAAM,CAAC;IACpB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,GAAG,EAAE,MAAM,CAAC;IACZ,UAAU,CAAC,EAAE,MAAM,CAAC;IAEpB,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB;AAED,MAAM,WAAW,aAAa;IAC5B,EAAE,EAAE,MAAM,CAAC;IACX,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,EAAE,MAAM,CAAC;IACd,IAAI,EAAE,MAAM,EAAE,CAAC;IACf,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,SAAS,CAAC;CACjB;AAED,MAAM,WAAW,WAAW;IAC1B,QAAQ,EAAE,MAAM,CAAC;IACjB,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,MAAM,CAAC;IAChB,OAAO,EAAE,MAAM,CAAC;IAChB,WAAW,EAAE,MAAM,CAAC;CACrB"}
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/types.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,SAAS,GAAG,MAAM,GAAG,KAAK,CAAC;AAEvC,MAAM,WAAW,SAAS;IACxB,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,SAAS,CAAC;IAChB,MAAM,CAAC,EAAE,SAAS,CAAC;IACnB,WAAW,EAAE,MAAM,CAAC;IACpB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,GAAG,EAAE,MAAM,CAAC;IACZ,UAAU,CAAC,EAAE,MAAM,CAAC;IAEpB,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB;AAED,MAAM,WAAW,aAAa;IAC5B,EAAE,EAAE,MAAM,CAAC;IACX,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,EAAE,MAAM,CAAC;IACd,IAAI,EAAE,MAAM,EAAE,CAAC;IACf,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,SAAS,CAAC;CACjB;AAED,MAAM,WAAW,WAAW;IAC1B,QAAQ,EAAE,MAAM,CAAC;IACjB,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,MAAM,CAAC;IAChB,OAAO,EAAE,MAAM,CAAC;IAChB,WAAW,EAAE,MAAM,CAAC;CACrB"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@crewx/skill",
|
|
3
|
-
"version": "0.1.20-rc.
|
|
3
|
+
"version": "0.1.20-rc.40",
|
|
4
4
|
"description": "Unified skill runner for CrewX - exec and doc skills via npx skill",
|
|
5
5
|
"type": "commonjs",
|
|
6
6
|
"main": "dist/src/engine.js",
|
|
@@ -22,8 +22,8 @@
|
|
|
22
22
|
"SKILL.md"
|
|
23
23
|
],
|
|
24
24
|
"dependencies": {
|
|
25
|
-
"@crewx/sdk": "0.9.0-rc.
|
|
26
|
-
"@crewx/shared": "0.0.6-rc.
|
|
25
|
+
"@crewx/sdk": "0.9.0-rc.146",
|
|
26
|
+
"@crewx/shared": "0.0.6-rc.61"
|
|
27
27
|
},
|
|
28
28
|
"keywords": [
|
|
29
29
|
"crewx",
|