rhachet 1.19.5 ā 1.19.7
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/contract/cli/invokeRun.js +15 -4
- package/dist/contract/cli/invokeRun.js.map +1 -1
- package/dist/domain.operations/invoke/executeSkill.d.ts +7 -0
- package/dist/domain.operations/invoke/executeSkill.js +29 -29
- package/dist/domain.operations/invoke/executeSkill.js.map +1 -1
- package/package.json +1 -1
|
@@ -86,10 +86,21 @@ const invokeRun = ({ program, registries, brains, }) => {
|
|
|
86
86
|
brains,
|
|
87
87
|
});
|
|
88
88
|
// š command-mode: discover and execute shell skill
|
|
89
|
-
if (isCommandMode)
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
89
|
+
if (isCommandMode) {
|
|
90
|
+
try {
|
|
91
|
+
return performRunViaCommandMode({
|
|
92
|
+
opts: { skill: opts.skill, repo: opts.repo, role: opts.role },
|
|
93
|
+
});
|
|
94
|
+
}
|
|
95
|
+
catch (error) {
|
|
96
|
+
// handle skill failures cleanly without stack trace
|
|
97
|
+
if (error instanceof executeSkill_1.SkillExecutionError) {
|
|
98
|
+
console.error(`\nāļø ${error.message}`);
|
|
99
|
+
process.exit(1);
|
|
100
|
+
}
|
|
101
|
+
throw error;
|
|
102
|
+
}
|
|
103
|
+
}
|
|
93
104
|
// neither mode matched - unexpected
|
|
94
105
|
throw new helpful_errors_1.UnexpectedCodePathError('invokeRun: neither actor-mode nor command-mode matched', { opts });
|
|
95
106
|
});
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"invokeRun.js","sourceRoot":"","sources":["../../../src/contract/cli/invokeRun.ts"],"names":[],"mappings":";;;AACA,mDAA0E;AAK1E,oEAAiE;AACjE,
|
|
1
|
+
{"version":3,"file":"invokeRun.js","sourceRoot":"","sources":["../../../src/contract/cli/invokeRun.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,4 +1,11 @@
|
|
|
1
|
+
import { HelpfulError } from 'helpful-errors';
|
|
1
2
|
import type { RoleSkillExecutable } from '../../domain.objects/RoleSkillExecutable';
|
|
3
|
+
/**
|
|
4
|
+
* .what = error thrown when a skill script exits with non-zero status
|
|
5
|
+
* .why = enables callers to catch and handle skill failures gracefully
|
|
6
|
+
*/
|
|
7
|
+
export declare class SkillExecutionError extends HelpfulError {
|
|
8
|
+
}
|
|
2
9
|
/**
|
|
3
10
|
* .what = executes a skill script with passthrough args
|
|
4
11
|
* .why = runs the discovered skill with full arg passthrough
|
|
@@ -1,7 +1,15 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.executeSkill = void 0;
|
|
3
|
+
exports.executeSkill = exports.SkillExecutionError = void 0;
|
|
4
|
+
const helpful_errors_1 = require("helpful-errors");
|
|
4
5
|
const node_child_process_1 = require("node:child_process");
|
|
6
|
+
/**
|
|
7
|
+
* .what = error thrown when a skill script exits with non-zero status
|
|
8
|
+
* .why = enables callers to catch and handle skill failures gracefully
|
|
9
|
+
*/
|
|
10
|
+
class SkillExecutionError extends helpful_errors_1.HelpfulError {
|
|
11
|
+
}
|
|
12
|
+
exports.SkillExecutionError = SkillExecutionError;
|
|
5
13
|
/**
|
|
6
14
|
* .what = executes a skill script with passthrough args
|
|
7
15
|
* .why = runs the discovered skill with full arg passthrough
|
|
@@ -12,46 +20,38 @@ const node_child_process_1 = require("node:child_process");
|
|
|
12
20
|
* reaches the script (Commander.js may consume stdin before execSync)
|
|
13
21
|
*/
|
|
14
22
|
const executeSkill = (input) => {
|
|
15
|
-
// default to streaming (backwards compatible with CLI behavior)
|
|
16
23
|
const stream = input.stream ?? true;
|
|
17
24
|
// build command with args
|
|
18
25
|
const command = [input.skill.path, ...input.args]
|
|
19
|
-
.map((arg) => {
|
|
20
|
-
// quote args with spaces
|
|
21
|
-
if (arg.includes(' '))
|
|
22
|
-
return `"${arg}"`;
|
|
23
|
-
return arg;
|
|
24
|
-
})
|
|
26
|
+
.map((arg) => (arg.includes(' ') ? `"${arg}"` : arg))
|
|
25
27
|
.join(' ');
|
|
26
|
-
// stream mode
|
|
27
|
-
|
|
28
|
-
const result = (0, node_child_process_1.spawnSync)(command, [], {
|
|
29
|
-
cwd: process.cwd(),
|
|
30
|
-
shell: '/bin/bash',
|
|
31
|
-
stdio: [process.stdin, process.stdout, process.stderr],
|
|
32
|
-
});
|
|
33
|
-
// propagate non-zero exit codes
|
|
34
|
-
if (result.status !== 0) {
|
|
35
|
-
process.exit(result.status ?? 1);
|
|
36
|
-
}
|
|
37
|
-
return undefined;
|
|
38
|
-
}
|
|
39
|
-
// capture mode: capture stdout for JSON parse
|
|
40
|
-
const stdout = (0, node_child_process_1.execSync)(command, {
|
|
28
|
+
// run skill: stream mode passes through stdio, capture mode pipes stdout
|
|
29
|
+
const result = (0, node_child_process_1.spawnSync)(command, [], {
|
|
41
30
|
cwd: process.cwd(),
|
|
42
31
|
shell: '/bin/bash',
|
|
43
32
|
encoding: 'utf-8',
|
|
33
|
+
stdio: stream
|
|
34
|
+
? [process.stdin, process.stdout, process.stderr]
|
|
35
|
+
: ['inherit', 'pipe', 'inherit'],
|
|
44
36
|
});
|
|
45
|
-
//
|
|
46
|
-
|
|
47
|
-
|
|
37
|
+
// throw on non-zero exit
|
|
38
|
+
if (result.status !== 0)
|
|
39
|
+
throw new SkillExecutionError('skill execution failed', {
|
|
40
|
+
skill: input.skill.slug,
|
|
41
|
+
path: input.skill.path,
|
|
42
|
+
});
|
|
43
|
+
// stream mode has no return value
|
|
44
|
+
if (stream)
|
|
45
|
+
return undefined;
|
|
46
|
+
// capture mode: parse JSON output if present
|
|
47
|
+
const stdout = (result.stdout ?? '').trim();
|
|
48
|
+
if (!stdout)
|
|
48
49
|
return undefined;
|
|
49
50
|
try {
|
|
50
|
-
return JSON.parse(
|
|
51
|
+
return JSON.parse(stdout);
|
|
51
52
|
}
|
|
52
53
|
catch {
|
|
53
|
-
|
|
54
|
-
return trimmed;
|
|
54
|
+
return stdout;
|
|
55
55
|
}
|
|
56
56
|
};
|
|
57
57
|
exports.executeSkill = executeSkill;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"executeSkill.js","sourceRoot":"","sources":["../../../src/domain.operations/invoke/executeSkill.ts"],"names":[],"mappings":";;;
|
|
1
|
+
{"version":3,"file":"executeSkill.js","sourceRoot":"","sources":["../../../src/domain.operations/invoke/executeSkill.ts"],"names":[],"mappings":";;;AAAA,mDAA8C;AAI9C,2DAA+C;AAE/C;;;GAGG;AACH,MAAa,mBAAoB,SAAQ,6BAAY;CAAG;AAAxD,kDAAwD;AAExD;;;;;;;;GAQG;AACI,MAAM,YAAY,GAAG,CAAC,KAI5B,EAAW,EAAE;IACZ,MAAM,MAAM,GAAG,KAAK,CAAC,MAAM,IAAI,IAAI,CAAC;IAEpC,0BAA0B;IAC1B,MAAM,OAAO,GAAG,CAAC,KAAK,CAAC,KAAK,CAAC,IAAI,EAAE,GAAG,KAAK,CAAC,IAAI,CAAC;SAC9C,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC,GAAG,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,GAAG,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC;SACpD,IAAI,CAAC,GAAG,CAAC,CAAC;IAEb,yEAAyE;IACzE,MAAM,MAAM,GAAG,IAAA,8BAAS,EAAC,OAAO,EAAE,EAAE,EAAE;QACpC,GAAG,EAAE,OAAO,CAAC,GAAG,EAAE;QAClB,KAAK,EAAE,WAAW;QAClB,QAAQ,EAAE,OAAO;QACjB,KAAK,EAAE,MAAM;YACX,CAAC,CAAC,CAAC,OAAO,CAAC,KAAK,EAAE,OAAO,CAAC,MAAM,EAAE,OAAO,CAAC,MAAM,CAAC;YACjD,CAAC,CAAC,CAAC,SAAS,EAAE,MAAM,EAAE,SAAS,CAAC;KACnC,CAAC,CAAC;IAEH,yBAAyB;IACzB,IAAI,MAAM,CAAC,MAAM,KAAK,CAAC;QACrB,MAAM,IAAI,mBAAmB,CAAC,wBAAwB,EAAE;YACtD,KAAK,EAAE,KAAK,CAAC,KAAK,CAAC,IAAI;YACvB,IAAI,EAAE,KAAK,CAAC,KAAK,CAAC,IAAI;SACvB,CAAC,CAAC;IAEL,kCAAkC;IAClC,IAAI,MAAM;QAAE,OAAO,SAAS,CAAC;IAE7B,6CAA6C;IAC7C,MAAM,MAAM,GAAG,CAAE,MAAM,CAAC,MAAiB,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC;IACxD,IAAI,CAAC,MAAM;QAAE,OAAO,SAAS,CAAC;IAE9B,IAAI,CAAC;QACH,OAAO,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;IAC5B,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,MAAM,CAAC;IAChB,CAAC;AACH,CAAC,CAAC;AAzCW,QAAA,YAAY,gBAyCvB"}
|
package/package.json
CHANGED
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
"name": "rhachet",
|
|
3
3
|
"author": "ehmpathy",
|
|
4
4
|
"description": "A framework for reliable, thorough thought. Weave threads of thought via stitches.",
|
|
5
|
-
"version": "1.19.
|
|
5
|
+
"version": "1.19.7",
|
|
6
6
|
"repository": "ehmpathy/rhachet",
|
|
7
7
|
"homepage": "https://github.com/ehmpathy/rhachet",
|
|
8
8
|
"keywords": [
|