halfcycle 0.13.0 → 0.14.0-rc.1
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/.claude-plugin/plugin.json +1 -1
- package/bin/bin.bundle.mjs +3499 -3147
- package/bin/pre-tool-use-filter.sh +13 -0
- package/dist/cli-contract.d.ts +1 -1
- package/dist/cli-contract.d.ts.map +1 -1
- package/dist/cli.js +212 -47
- package/dist/cli.js.map +3 -3
- package/dist/index.js +9 -5
- package/dist/index.js.map +1 -1
- package/dist/install.d.ts.map +1 -1
- package/dist/local-allow.d.ts +1 -1
- package/dist/local-allow.d.ts.map +1 -1
- package/dist/worker-copies.d.ts +43 -2
- package/dist/worker-copies.d.ts.map +1 -1
- package/package.json +1 -1
package/dist/index.js
CHANGED
|
@@ -5326,12 +5326,15 @@ var CREW_TIER_WORDS = {
|
|
|
5326
5326
|
fast: "You work quickly on clear, well-defined work, and say so when a task needs more thought."
|
|
5327
5327
|
};
|
|
5328
5328
|
var CREW_REVIEWER_WORDS = "You check the work you are given and never change it: you read it, run what you need to, and report what you find.";
|
|
5329
|
-
var
|
|
5330
|
-
var
|
|
5329
|
+
var CREW_SHELL_RULE = "Read and search files with your file tools, not the shell. Run one plain shell command per call, on one line: no cd first, and nothing joined to it with &&, ;, a pipe, a loop or a here-document.";
|
|
5330
|
+
var CREW_HALFCYCLE_TOOLS = `mcp__${MCP_SERVER_KEY}__*`;
|
|
5331
|
+
var CREW_REVIEWER_TOOLS = `Read, Grep, Glob, Bash, ${CREW_HALFCYCLE_TOOLS}`;
|
|
5332
|
+
var CREW_MEMBER_TOOLS = `Read, Edit, Write, Bash, Grep, Glob, ${CREW_HALFCYCLE_TOOLS}`;
|
|
5331
5333
|
function crewProfileBody(role, group, tier) {
|
|
5332
5334
|
const lines = [`You are a ${CREW_ROLE_WORDS[role]} on this project's build crew.`, CREW_TIER_WORDS[tier]];
|
|
5333
5335
|
if (group === "reviewer")
|
|
5334
5336
|
lines.push(CREW_REVIEWER_WORDS);
|
|
5337
|
+
lines.push(CREW_SHELL_RULE);
|
|
5335
5338
|
return `${lines.join("\n")}
|
|
5336
5339
|
`;
|
|
5337
5340
|
}
|
|
@@ -6318,8 +6321,8 @@ ${GENERATED_USER_PROMPT_FINDINGS_HEADER} the Halfcycle installer, now also for C
|
|
|
6318
6321
|
# whatever Halfcycle's checks found at an earlier turn end, once. Any arguments
|
|
6319
6322
|
# this script was given (a Codex row passes its agent's name) are handed on.
|
|
6320
6323
|
#
|
|
6321
|
-
# AN ORDINARY PROMPT STARTS NOTHING. With no findings file
|
|
6322
|
-
# script reads its session id with a bash regex (no node) and exits 0 with no
|
|
6324
|
+
# AN ORDINARY PROMPT STARTS NOTHING. With no findings file and no notes file for
|
|
6325
|
+
# this session, this script reads its session id with a bash regex (no node) and exits 0 with no
|
|
6323
6326
|
# output once it finds no file \u2014 node and grep never start.
|
|
6324
6327
|
trap 'exit 0' ERR
|
|
6325
6328
|
set -e
|
|
@@ -6343,7 +6346,8 @@ fi
|
|
|
6343
6346
|
HC_FINDINGS_DIR="\${TMPDIR:-/tmp}"
|
|
6344
6347
|
HC_FINDINGS_DIR="\${HC_FINDINGS_DIR%/}" # strip trailing slash (macOS TMPDIR ends in /)
|
|
6345
6348
|
HC_FINDINGS_FILE="\${HC_FINDINGS_DIR}/halfcycle-findings-\${HC_SESSION_ID}.json"
|
|
6346
|
-
|
|
6349
|
+
HC_NOTES_FILE="\${HC_FINDINGS_DIR}/halfcycle-notes-\${HC_SESSION_ID}.json"
|
|
6350
|
+
if [ ! -f "$HC_FINDINGS_FILE" ] && [ ! -f "$HC_NOTES_FILE" ]; then
|
|
6347
6351
|
exit 0
|
|
6348
6352
|
fi
|
|
6349
6353
|
|