@crewx/skill 0.1.20-rc.3 → 0.1.20-rc.31

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 CHANGED
@@ -1,3 +1,6 @@
1
1
  #!/usr/bin/env node
2
- export declare function main(inputArgs?: string[]): Promise<void>;
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+GA,wBAAsB,IAAI,CAAC,SAAS,CAAC,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC,CAqG9D"}
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":"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"}
1
+ {"version":3,"file":"cli.js","sourceRoot":"","sources":["../cli.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAoHA,oBAiHC;AAxND,uCAAyB;AACzB,2CAA6B;AAC7B,yCAA2C;AAC3C,yDAAoE;AAEpE,IAAI,WAAW,GAAG,SAAS,CAAC;AAC5B,IAAI,CAAC;IACH,MAAM,QAAQ,GAAG,EAAE,CAAC,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,cAAc,CAAC,CAAC;QAClE,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,cAAc,CAAC;QACtC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,IAAI,EAAE,cAAc,CAAC,CAAC;IAC/C,MAAM,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,YAAY,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC,CAAC;IAC5D,IAAI,IAAI,EAAE,OAAO;QAAE,WAAW,GAAG,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;AACxD,CAAC;AAAC,MAAM,CAAC,CAAA,CAAC;AAEV,KAAK,UAAU,UAAU;IACvB,IAAI,CAAC;QAAC,OAAO,wDAAa,4BAA4B,GAAC,CAAC;IAAC,CAAC;IAAC,MAAM,CAAC;QAAC,OAAO,IAAI,CAAC;IAAC,CAAC;AACnF,CAAC;AAMD,SAAS,iBAAiB;IACxB,MAAM,OAAO,GAAG,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,IAAI,EAAE,UAAU,CAAC,CAAC;IACvD,IAAI,EAAE,CAAC,UAAU,CAAC,OAAO,CAAC,EAAE,CAAC;QAC3B,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,CAAC,YAAY,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC,CAAC;IAC1D,CAAC;SAAM,CAAC;QACN,UAAU,EAAE,CAAC;IACf,CAAC;AACH,CAAC;AAED,SAAS,eAAe;IACtB,IAAI,GAAG,GAAG,OAAO,CAAC,GAAG,EAAE,CAAC;IACxB,OAAO,GAAG,KAAK,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC;QACjC,IACE,EAAE,CAAC,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,YAAY,CAAC,CAAC;YAC3C,EAAE,CAAC,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,QAAQ,CAAC,CAAC,EACvC,CAAC;YACD,OAAO,GAAG,CAAC;QACb,CAAC;QACD,GAAG,GAAG,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;IAC1B,CAAC;IACD,OAAO,OAAO,CAAC,GAAG,EAAE,CAAC;AACvB,CAAC;AAED,SAAS,kBAAkB,CAAC,WAAmB;IAC7C,MAAM,KAAK,GAAa,EAAE,CAAC;IAC3B,MAAM,KAAK,GAAG,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,cAAc,CAAC,CAAC;IACrD,IAAI,EAAE,CAAC,UAAU,CAAC,KAAK,CAAC,EAAE,CAAC;QACzB,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;IACpB,CAAC;IACD,OAAO,KAAK,CAAC;AACf,CAAC;AAED,SAAS,UAAU;IACjB,OAAO,CAAC,GAAG,CAAC;eACC,WAAW;;;;;;;;;;;;;;;;;;;;;;CAsBzB,CAAC,CAAC;AACH,CAAC;AAED,SAAS,SAAS,CAAC,MAAmB;IACpC,MAAM,MAAM,GAAG,MAAM,CAAC,QAAQ,EAAE,CAAC;IACjC,IAAI,MAAM,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACxB,OAAO,CAAC,GAAG,CAAC,kBAAkB,CAAC,CAAC;QAChC,OAAO;IACT,CAAC;IAED,MAAM,OAAO,GAAG,IAAI,CAAC,GAAG,CAAC,GAAG,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,CAAC;IAC/D,MAAM,OAAO,GAAG,CAAC,CAAC;IAElB,OAAO,CAAC,GAAG,CACT,GAAG,MAAM,CAAC,MAAM,CAAC,OAAO,CAAC,KAAK,MAAM,CAAC,MAAM,CAAC,OAAO,CAAC,KAAK,SAAS,CAAC,MAAM,CAAC,CAAC,CAAC,eAAe,CAC5F,CAAC;IACF,OAAO,CAAC,GAAG,CAAC,GAAG,GAAG,CAAC,MAAM,CAAC,OAAO,CAAC,KAAK,GAAG,CAAC,MAAM,CAAC,OAAO,CAAC,KAAK,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,KAAK,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC;IAEnG,KAAK,MAAM,CAAC,IAAI,MAAM,EAAE,CAAC;QACvB,OAAO,CAAC,GAAG,CACT,GAAG,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,OAAO,IAAI,GAAG,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,WAAW,EAAE,CAC1G,CAAC;IACJ,CAAC;AACH,CAAC;AAEM,KAAK,UAAU,IAAI,CAAC,SAAoB,EAAE,UAA2B,EAAE;IAC5E,MAAM,IAAI,GAAG,SAAS,IAAI,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;IAChD,MAAM,OAAO,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC;IAExB,MAAM,WAAW,GAAG,eAAe,EAAE,CAAC;IACtC,MAAM,MAAM,GAAG,MAAM,UAAU,EAAE,CAAC;IAClC,MAAM,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;IAE5B,IAAI,OAAO,KAAK,WAAW,EAAE,CAAC;QAC5B,OAAO,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC;QACzB,OAAO;IACT,CAAC;IAED,IAAI,CAAC,OAAO,IAAI,OAAO,KAAK,QAAQ,IAAI,OAAO,KAAK,IAAI,EAAE,CAAC;QACzD,UAAU,EAAE,CAAC;QACb,OAAO;IACT,CAAC;IAED,IAAI,OAAO,KAAK,OAAO,EAAE,CAAC;QACxB,iBAAiB,EAAE,CAAC;QACpB,OAAO;IACT,CAAC;IAED,IAAI,OAAO,KAAK,MAAM,EAAE,CAAC;QACvB,UAAU,EAAE,CAAC;QACb,OAAO;IACT,CAAC;IAED,MAAM,gBAAgB,GAAG,IAAA,6CAA4B,EAAC,OAAO,CAAC,kBAAkB,CAAC,CAAC;IAClF,MAAM,MAAM,GAAG,MAAM,oBAAW,CAAC,MAAM,CACrC,WAAW,EACX,kBAAkB,CAAC,WAAW,CAAC,EAC/B,gBAAgB,CAAC,KAAK,EACtB,gBAAgB,CAAC,UAAU,CAC5B,CAAC;IACF,KAAK,MAAM,UAAU,IAAI,MAAM,CAAC,oBAAoB,EAAE,EAAE,CAAC;QACvD,OAAO,CAAC,KAAK,CACX,2DAA2D,UAAU,CAAC,IAAI,MAAM,UAAU,CAAC,YAAY,EAAE,CAC1G,CAAC;IACJ,CAAC;IAED,IAAI,OAAO,KAAK,MAAM,EAAE,CAAC;QACvB,SAAS,CAAC,MAAM,CAAC,CAAC;QAClB,OAAO;IACT,CAAC;IAED,MAAM,SAAS,GAAG,OAAO,CAAC;IAC1B,MAAM,SAAS,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;IAEhC,IAAI,KAAK,CAAC;IACV,IAAI,CAAC;QACH,KAAK,GAAG,MAAM,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;IACpC,CAAC;IAAC,OAAO,GAAQ,EAAE,CAAC;QAClB,OAAO,CAAC,KAAK,CAAC,UAAU,GAAG,CAAC,OAAO,EAAE,CAAC,CAAC;QACvC,OAAO,CAAC,QAAQ,GAAG,CAAC,CAAC;QACrB,OAAO;IACT,CAAC;IAED,IAAI,SAAS,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QAC3B,MAAM,IAAI,GAA4B,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;QACzD,IAAI,KAAK,CAAC,OAAO;YAAE,IAAI,CAAC,YAAY,GAAG,KAAK,CAAC,OAAO,CAAC;QACrD,MAAM,QAAQ,GAAG,KAAK,CAAC,IAAI,CAAC;QAC5B,MAAM,CAAC,GAAG,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,QAAQ,EAAE,IAAI,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;QAC7D,MAAM,GAAG,GAAG,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;QAClC,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;QAC1B,MAAM,CAAC,GAAG,CAAC,KAAK,EAAE,SAAS,EAAE,CAAC,CAAC,CAAC;QAChC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,QAAQ;YAAE,CAAC,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC;QAChC,OAAO;IACT,CAAC;IAED,IAAI,KAAK,CAAC,IAAI,KAAK,MAAM,IAAI,KAAK,CAAC,UAAU,EAAE,CAAC;QAC9C,MAAM,UAAU,GAAG,SAAS,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;QACvC,MAAM,IAAI,GAA4B,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;QACzD,IAAI,KAAK,CAAC,OAAO;YAAE,IAAI,CAAC,YAAY,GAAG,KAAK,CAAC,OAAO,CAAC;QACrD,MAAM,QAAQ,GAAG,KAAK,CAAC,IAAI,CAAC;QAC5B,MAAM,CAAC,GAAG,MAAM;YACd,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,QAAQ,EAAE,UAAU,EAAE,IAAI,CAAC;YAC1C,CAAC,CAAC,IAAI,CAAC;QACT,IAAI,CAAC;YACH,MAAM,MAAM,GAAG,MAAM,MAAM,CAAC,OAAO,CAAC,KAAK,EAAE,SAAS,CAAC,CAAC;YACtD,MAAM,CAAC,GAAG,CAAC,KAAK,EAAE,SAAS,EAAE,MAAM,CAAC,QAAQ,CAAC,CAAC;YAC9C,IAAI,MAAM,CAAC,QAAQ,KAAK,CAAC,EAAE,CAAC;gBAC1B,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,QAAQ;oBAAE,CAAC,CAAC,EAAE,CAAC,MAAM,CAAC,MAAM,EAAE,EAAE,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,CAAC,CAAC;YACvE,CAAC;iBAAM,CAAC;gBACN,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,QAAQ;oBAAE,CAAC,CAAC,IAAI,CAAC,OAAO,GAAG,MAAM,CAAC,QAAQ,EAAE,EAAE,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,CAAC,CAAC;YACrF,CAAC;YACD,OAAO,CAAC,QAAQ,GAAG,MAAM,CAAC,QAAQ,CAAC;YACnC,OAAO;QACT,CAAC;QAAC,OAAO,CAAM,EAAE,CAAC;YAChB,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,QAAQ;gBAAE,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,OAAO,IAAI,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC;YACrD,MAAM,CAAC,GAAG,CAAC,KAAK,EAAE,SAAS,EAAE,CAAC,CAAC,CAAC;YAChC,OAAO,CAAC,QAAQ,GAAG,CAAC,CAAC;YACrB,OAAO;QACT,CAAC;IACH,CAAC;IAED,MAAM,MAAM,GAAG,SAAS,CAAC,CAAC,CAAC,CAAC;IAC5B,MAAM,IAAI,GAA4B,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;IACzD,IAAI,KAAK,CAAC,OAAO;QAAE,IAAI,CAAC,YAAY,GAAG,KAAK,CAAC,OAAO,CAAC;IACrD,MAAM,QAAQ,GAAG,KAAK,CAAC,IAAI,CAAC;IAC5B,MAAM,CAAC,GAAG,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,QAAQ,EAAE,IAAI,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;IAC7D,IAAI,CAAC;QACH,MAAM,GAAG,GAAG,MAAM,CAAC,OAAO,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC;QAC1C,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;QAC1B,MAAM,CAAC,GAAG,CAAC,KAAK,EAAE,SAAS,EAAE,CAAC,CAAC,CAAC;QAChC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,QAAQ;YAAE,CAAC,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC;QAChC,OAAO;IACT,CAAC;IAAC,OAAO,GAAQ,EAAE,CAAC;QAClB,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,QAAQ;YAAE,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;QAC1C,MAAM,CAAC,GAAG,CAAC,KAAK,EAAE,SAAS,EAAE,CAAC,CAAC,CAAC;QAChC,OAAO,CAAC,QAAQ,GAAG,CAAC,CAAC;QACrB,OAAO;IACT,CAAC;AACH,CAAC;AAED,IAAI,OAAO,CAAC,IAAI,KAAK,MAAM,EAAE,CAAC;IAC5B,UAAU,EAAE,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE;QACzB,MAAM,IAAI,GAAG,MAAM,CAAC,CAAC,CAAC,EAAE,YAAY,EAAE,MAAM,CAAC,kBAAkB,CAAC,SAAS,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QAClF,OAAO,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,aAAa,EAAE,GAAG,EAAE,CAAC,IAAI,EAAE,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;IACzE,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,GAAU,EAAE,EAAE;QACtB,OAAO,CAAC,KAAK,CAAC,UAAU,GAAG,CAAC,OAAO,EAAE,CAAC,CAAC;QACvC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC,CAAC,CAAC;AACL,CAAC"}
@@ -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"}
@@ -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
- constructor(projectRoot: string, additionalPaths?: string[]);
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
@@ -1 +1 @@
1
- {"version":3,"file":"engine.d.ts","sourceRoot":"","sources":["../../src/engine.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,SAAS,EAA4B,MAAM,SAAS,CAAC;AAM9D,qBAAa,WAAW;IACtB,OAAO,CAAC,SAAS,CAAS;IAC1B,OAAO,CAAC,WAAW,CAAS;IAC5B,OAAO,CAAC,eAAe,CAAW;gBAEtB,WAAW,EAAE,MAAM,EAAE,eAAe,CAAC,EAAE,MAAM,EAAE;IAS3D,OAAO,CAAC,aAAa;IAYrB,QAAQ,IAAI,SAAS,EAAE;IAQvB,OAAO,CAAC,IAAI,EAAE,MAAM,GAAG,SAAS;IAIhC,OAAO,CAAC,WAAW;IAoBnB,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;IA+CxG,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;IAmB7D,OAAO,CAAC,cAAc;CAoCvB;AAED,OAAO,EAAE,SAAS,EAAE,SAAS,EAAE,aAAa,EAAE,MAAM,SAAS,CAAC"}
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"}
@@ -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
- return (0, skills_1.discover)(this.getSearchDirs()).map((skill) => this.toSkillInfo(skill));
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
- return this.toSkillInfo((0, skills_1.resolve)(name, this.getSearchDirs()));
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
- toSkillInfo(skill) {
60
- const entrypoint = this.findEntrypoint(skill.dir, path.basename(skill.dir));
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: process.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
@@ -1 +1 @@
1
- {"version":3,"file":"engine.js","sourceRoot":"","sources":["../../src/engine.ts"],"names":[],"mappings":"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"}
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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"}
@@ -2,6 +2,7 @@ export type SkillType = 'exec' | 'doc';
2
2
  export interface SkillInfo {
3
3
  name: string;
4
4
  type: SkillType;
5
+ source?: 'bundled';
5
6
  description: string;
6
7
  version?: string;
7
8
  dir: string;
@@ -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",
3
+ "version": "0.1.20-rc.31",
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.109",
26
- "@crewx/shared": "0.0.6-rc.24"
25
+ "@crewx/sdk": "0.9.0-rc.137",
26
+ "@crewx/shared": "0.0.6-rc.52"
27
27
  },
28
28
  "keywords": [
29
29
  "crewx",