prjct-cli 3.87.0 → 3.89.0
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/CHANGELOG.md +10 -0
- package/bin/prjct +9 -2
- package/dist/bin/hook-chunks/agent-identity-45BYQBU2.mjs +8 -0
- package/dist/bin/hook-chunks/agent-switch-FBQDHWAO.mjs +22 -0
- package/dist/bin/hook-chunks/analysis-NRRZYJ6G.mjs +42 -0
- package/dist/bin/hook-chunks/auth-config-WNUARXTJ.mjs +8 -0
- package/dist/bin/hook-chunks/auto-flush-D3X3U4CP.mjs +8 -0
- package/dist/bin/hook-chunks/auto-updater-EHRRMCYY.mjs +9 -0
- package/dist/bin/hook-chunks/capture-gate-BFOABO2Y.mjs +8 -0
- package/dist/bin/hook-chunks/chunk-2H57GV2T.mjs +38 -0
- package/dist/bin/hook-chunks/chunk-2NMSEZTQ.mjs +8 -0
- package/dist/bin/hook-chunks/chunk-2OU2MKNS.mjs +8 -0
- package/dist/bin/hook-chunks/chunk-2UC4DTDO.mjs +9 -0
- package/dist/bin/hook-chunks/chunk-3FBCOCPD.mjs +8 -0
- package/dist/bin/hook-chunks/chunk-3HDIQJ55.mjs +19 -0
- package/dist/bin/hook-chunks/chunk-3JUE6MNF.mjs +8 -0
- package/dist/bin/hook-chunks/chunk-3LG3ACQV.mjs +8 -0
- package/dist/bin/hook-chunks/chunk-45I2C2UB.mjs +25 -0
- package/dist/bin/hook-chunks/chunk-4DDCWMI6.mjs +8 -0
- package/dist/bin/hook-chunks/chunk-4KY2EHXS.mjs +9 -0
- package/dist/bin/hook-chunks/chunk-4WHS7CO7.mjs +8 -0
- package/dist/bin/hook-chunks/chunk-54LH63LM.mjs +7 -0
- package/dist/bin/hook-chunks/chunk-5T5PZKHW.mjs +16 -0
- package/dist/bin/hook-chunks/chunk-5TBQNW2G.mjs +17 -0
- package/dist/bin/hook-chunks/chunk-5WAONIPX.mjs +8 -0
- package/dist/bin/hook-chunks/chunk-6EWGHM32.mjs +9 -0
- package/dist/bin/hook-chunks/chunk-6IKHMK2U.mjs +10 -0
- package/dist/bin/hook-chunks/chunk-75UJIVMO.mjs +10 -0
- package/dist/bin/hook-chunks/chunk-7OZDWT6C.mjs +9 -0
- package/dist/bin/hook-chunks/chunk-7SI6X3Z7.mjs +8 -0
- package/dist/bin/hook-chunks/chunk-A4OFZ2SK.mjs +19 -0
- package/dist/bin/hook-chunks/chunk-A5RNWWTH.mjs +9 -0
- package/dist/bin/hook-chunks/chunk-AKIN5WSQ.mjs +9 -0
- package/dist/bin/hook-chunks/chunk-AOPJ4Z6O.mjs +8 -0
- package/dist/bin/hook-chunks/chunk-AUUWQH3S.mjs +14 -0
- package/dist/bin/hook-chunks/chunk-AW25AWN5.mjs +31 -0
- package/dist/bin/hook-chunks/chunk-BISPGBNN.mjs +35 -0
- package/dist/bin/hook-chunks/chunk-BUDZL4DW.mjs +8 -0
- package/dist/bin/hook-chunks/chunk-CE4RCNC7.mjs +8 -0
- package/dist/bin/hook-chunks/chunk-CQHPIYNM.mjs +8 -0
- package/dist/bin/hook-chunks/chunk-CREPUNOS.mjs +24 -0
- package/dist/bin/hook-chunks/chunk-CTWZQ7YI.mjs +8 -0
- package/dist/bin/hook-chunks/chunk-CULYIJJZ.mjs +16 -0
- package/dist/bin/hook-chunks/chunk-D7TRY3CO.mjs +8 -0
- package/dist/bin/hook-chunks/chunk-DAOC3T5G.mjs +43 -0
- package/dist/bin/hook-chunks/chunk-DMXFGLZE.mjs +21 -0
- package/dist/bin/hook-chunks/chunk-DXQMKW2B.mjs +10 -0
- package/dist/bin/hook-chunks/chunk-DYHYDHCW.mjs +8 -0
- package/dist/bin/hook-chunks/chunk-E66B27AL.mjs +8 -0
- package/dist/bin/hook-chunks/chunk-EM6ZDJAK.mjs +45 -0
- package/dist/bin/hook-chunks/chunk-F652GI4F.mjs +15 -0
- package/dist/bin/hook-chunks/chunk-FGQZ62ZP.mjs +47 -0
- package/dist/bin/hook-chunks/chunk-GAOQHD5S.mjs +8 -0
- package/dist/bin/hook-chunks/chunk-GCKILEXJ.mjs +8 -0
- package/dist/bin/hook-chunks/chunk-GHBGBP2M.mjs +31 -0
- package/dist/bin/hook-chunks/chunk-GJFWVCTS.mjs +19 -0
- package/dist/bin/hook-chunks/chunk-GSMDQ7VM.mjs +16 -0
- package/dist/bin/hook-chunks/chunk-GVJZPOG2.mjs +13 -0
- package/dist/bin/hook-chunks/chunk-GVNMXVVA.mjs +8 -0
- package/dist/bin/hook-chunks/chunk-H6KVNDQD.mjs +71 -0
- package/dist/bin/hook-chunks/chunk-HDHVBB6Q.mjs +1260 -0
- package/dist/bin/hook-chunks/chunk-HDSS6UB3.mjs +8 -0
- package/dist/bin/hook-chunks/chunk-HE5RSIHG.mjs +8 -0
- package/dist/bin/hook-chunks/chunk-HJ4HEI45.mjs +8 -0
- package/dist/bin/hook-chunks/chunk-HZIORCPO.mjs +16 -0
- package/dist/bin/hook-chunks/chunk-HZXDF2TQ.mjs +8 -0
- package/dist/bin/hook-chunks/chunk-J6JZ4PQA.mjs +18 -0
- package/dist/bin/hook-chunks/chunk-JQE2F2RK.mjs +8 -0
- package/dist/bin/hook-chunks/chunk-JQLJM4BK.mjs +9 -0
- package/dist/bin/hook-chunks/chunk-KEJ5RMAI.mjs +9 -0
- package/dist/bin/hook-chunks/chunk-L4COZ7ZH.mjs +13 -0
- package/dist/bin/hook-chunks/chunk-LLQUB6YR.mjs +11 -0
- package/dist/bin/hook-chunks/chunk-LT5WSSQO.mjs +8 -0
- package/dist/bin/hook-chunks/chunk-LWCHQIJ7.mjs +11 -0
- package/dist/bin/hook-chunks/chunk-MECJJJ7R.mjs +10 -0
- package/dist/bin/hook-chunks/chunk-MEQS4VPO.mjs +8 -0
- package/dist/bin/hook-chunks/chunk-MXHX44WF.mjs +9 -0
- package/dist/bin/hook-chunks/chunk-N5WOHG36.mjs +8 -0
- package/dist/bin/hook-chunks/chunk-NJAMZSHM.mjs +26 -0
- package/dist/bin/hook-chunks/chunk-NLG2EW6M.mjs +8 -0
- package/dist/bin/hook-chunks/chunk-NN65WGGN.mjs +8 -0
- package/dist/bin/hook-chunks/chunk-NWY5M34K.mjs +12 -0
- package/dist/bin/hook-chunks/chunk-ODWWIFSN.mjs +9 -0
- package/dist/bin/hook-chunks/chunk-OFVLGJ76.mjs +8 -0
- package/dist/bin/hook-chunks/chunk-OVR6RUUZ.mjs +13 -0
- package/dist/bin/hook-chunks/chunk-P43HDWI5.mjs +14 -0
- package/dist/bin/hook-chunks/chunk-PKDYFXMI.mjs +8 -0
- package/dist/bin/hook-chunks/chunk-PSSR7LSW.mjs +8 -0
- package/dist/bin/hook-chunks/chunk-PTVXWPQH.mjs +8 -0
- package/dist/bin/hook-chunks/chunk-PW3KYKVS.mjs +9 -0
- package/dist/bin/hook-chunks/chunk-Q5I2UPD6.mjs +9 -0
- package/dist/bin/hook-chunks/chunk-QDQ7DTDV.mjs +8 -0
- package/dist/bin/hook-chunks/chunk-QSAA6LZF.mjs +8 -0
- package/dist/bin/hook-chunks/chunk-R77TXXPP.mjs +53 -0
- package/dist/bin/hook-chunks/chunk-RNCLLUMK.mjs +18 -0
- package/dist/bin/hook-chunks/chunk-SJ75V4WG.mjs +9 -0
- package/dist/bin/hook-chunks/chunk-SN224ILI.mjs +9 -0
- package/dist/bin/hook-chunks/chunk-SNISJ7HR.mjs +15 -0
- package/dist/bin/hook-chunks/chunk-SOPRYWUY.mjs +11 -0
- package/dist/bin/hook-chunks/chunk-SVZHJZ5T.mjs +9 -0
- package/dist/bin/hook-chunks/chunk-SYHDEUVU.mjs +10 -0
- package/dist/bin/hook-chunks/chunk-TPESWBA7.mjs +8 -0
- package/dist/bin/hook-chunks/chunk-TRMBRDKH.mjs +8 -0
- package/dist/bin/hook-chunks/chunk-TXJT3G53.mjs +10 -0
- package/dist/bin/hook-chunks/chunk-UDUUEZD3.mjs +11 -0
- package/dist/bin/hook-chunks/chunk-UUULLTQV.mjs +8 -0
- package/dist/bin/hook-chunks/chunk-V37VTXDW.mjs +10 -0
- package/dist/bin/hook-chunks/chunk-VAXQ5IDD.mjs +8 -0
- package/dist/bin/hook-chunks/chunk-WDGDFXSB.mjs +10 -0
- package/dist/bin/hook-chunks/chunk-WUHGODSQ.mjs +8 -0
- package/dist/bin/hook-chunks/chunk-X5RDLFPM.mjs +8 -0
- package/dist/bin/hook-chunks/chunk-XGYCAVB2.mjs +8 -0
- package/dist/bin/hook-chunks/chunk-Y5NQV46G.mjs +9 -0
- package/dist/bin/hook-chunks/chunk-YGHIPTJN.mjs +13 -0
- package/dist/bin/hook-chunks/chunk-YJMWY4Y6.mjs +8 -0
- package/dist/bin/hook-chunks/chunk-YORSHLFH.mjs +11 -0
- package/dist/bin/hook-chunks/chunk-YUOTOCKK.mjs +103 -0
- package/dist/bin/hook-chunks/chunk-ZTZTVBAZ.mjs +12 -0
- package/dist/bin/hook-chunks/chunk-ZX2KFQV5.mjs +11 -0
- package/dist/bin/hook-chunks/chunk-ZZ65CN5F.mjs +20 -0
- package/dist/bin/hook-chunks/client-SKFMAUI5.mjs +10 -0
- package/dist/bin/hook-chunks/code-graph-cloud-65GCWNII.mjs +8 -0
- package/dist/bin/hook-chunks/codex-skill-MNY46575.mjs +8 -0
- package/dist/bin/hook-chunks/command-installer-ZOQQLRCI.mjs +8 -0
- package/dist/bin/hook-chunks/config-manager-KJCMN7PV.mjs +8 -0
- package/dist/bin/hook-chunks/content-bound-stamp-72EQVZLP.mjs +10 -0
- package/dist/bin/hook-chunks/context-pressure-OUN5PFMN.mjs +8 -0
- package/dist/bin/hook-chunks/context7-service-4C6VNJUS.mjs +8 -0
- package/dist/bin/hook-chunks/custom-workflow-storage-M77INP6Z.mjs +8 -0
- package/dist/bin/hook-chunks/cwd-changed-KXOCN55N.mjs +8 -0
- package/dist/bin/hook-chunks/cycle-budget-card-O5WAGNGC.mjs +9 -0
- package/dist/bin/hook-chunks/database-SLDTQXWG.mjs +8 -0
- package/dist/bin/hook-chunks/delivery-geometry-VHCURJ7E.mjs +8 -0
- package/dist/bin/hook-chunks/detect-changes-6N4DCWXQ.mjs +17 -0
- package/dist/bin/hook-chunks/detection-MEYHME4X.mjs +8 -0
- package/dist/bin/hook-chunks/developer-evolution-R5BXQH6G.mjs +12 -0
- package/dist/bin/hook-chunks/discuss-lock-55GER2LR.mjs +8 -0
- package/dist/bin/hook-chunks/distill-R477XZE3.mjs +8 -0
- package/dist/bin/hook-chunks/drift-refresh-TD3PYPJN.mjs +8 -0
- package/dist/bin/hook-chunks/editors-config-3N6VREZR.mjs +8 -0
- package/dist/bin/hook-chunks/enriched-recall-65X44HBM.mjs +8 -0
- package/dist/bin/hook-chunks/exec-I7XE7NMD.mjs +8 -0
- package/dist/bin/hook-chunks/format-UF2TLTKX.mjs +8 -0
- package/dist/bin/hook-chunks/git-helpers-6JLP2OJZ.mjs +8 -0
- package/dist/bin/hook-chunks/infer-memory-file-PIAZ542H.mjs +8 -0
- package/dist/bin/hook-chunks/judgment-ledger-storage-UKROWRVA.mjs +8 -0
- package/dist/bin/hook-chunks/judgment-orchestrator-UFGNBTEK.mjs +8 -0
- package/dist/bin/hook-chunks/judgment-receipt-NXL5Q4CE.mjs +8 -0
- package/dist/bin/hook-chunks/land-cue-SRIIDHMN.mjs +9 -0
- package/dist/bin/hook-chunks/land-synthesis-ANVOY7AM.mjs +8 -0
- package/dist/bin/hook-chunks/legacy-crew-sweep-PSJCO5UP.mjs +24 -0
- package/dist/bin/hook-chunks/memory-index-7LM2BMWZ.mjs +10 -0
- package/dist/bin/hook-chunks/notification-2TZO3WRM.mjs +8 -0
- package/dist/bin/hook-chunks/nyquist-lite-GE7OAFLC.mjs +10 -0
- package/dist/bin/hook-chunks/pack-integrity-6VKUAISJ.mjs +10 -0
- package/dist/bin/hook-chunks/pack-manager-KQBNP6XR.mjs +8 -0
- package/dist/bin/hook-chunks/package-legitimacy-HXC4L73B.mjs +8 -0
- package/dist/bin/hook-chunks/path-manager-F2HE2GGK.mjs +8 -0
- package/dist/bin/hook-chunks/planning-ZQNNDOEL.mjs +9 -0
- package/dist/bin/hook-chunks/post-edit-AEFFZFPO.mjs +8 -0
- package/dist/bin/hook-chunks/pr-convention-7UGI7TFA.mjs +8 -0
- package/dist/bin/hook-chunks/pre-bash-3FACZOB5.mjs +11 -0
- package/dist/bin/hook-chunks/pre-commit-MDFDQ5QZ.mjs +8 -0
- package/dist/bin/hook-chunks/pre-edit-ORX656T5.mjs +11 -0
- package/dist/bin/hook-chunks/pre-package-ITHMLNGN.mjs +8 -0
- package/dist/bin/hook-chunks/pre-search-UFS2Z5VJ.mjs +9 -0
- package/dist/bin/hook-chunks/pre-secrets-IE5NX5X5.mjs +8 -0
- package/dist/bin/hook-chunks/precision-classifier-IVVAXE26.mjs +8 -0
- package/dist/bin/hook-chunks/precision-judgment-WPTCNTGV.mjs +8 -0
- package/dist/bin/hook-chunks/prjct-md-IKUVPUGT.mjs +8 -0
- package/dist/bin/hook-chunks/project-agent-surfaces-VCOI4GHT.mjs +8 -0
- package/dist/bin/hook-chunks/project-file-inventory-ZAPKPKY6.mjs +8 -0
- package/dist/bin/hook-chunks/project-memory-KRA3BH7A.mjs +8 -0
- package/dist/bin/hook-chunks/project-style-evolution-363CLE32.mjs +8 -0
- package/dist/bin/hook-chunks/prompt-6L7B546V.mjs +22 -0
- package/dist/bin/hook-chunks/publish-helper-I37V4L7U.mjs +8 -0
- package/dist/bin/hook-chunks/purge-IPK4NJN6.mjs +8 -0
- package/dist/bin/hook-chunks/retention-S2GGTVY2.mjs +8 -0
- package/dist/bin/hook-chunks/sdd-JIPV7QJP.mjs +10 -0
- package/dist/bin/hook-chunks/session-continuity-DABISZYM.mjs +11 -0
- package/dist/bin/hook-chunks/session-start-GJPAQ3GL.mjs +8 -0
- package/dist/bin/hook-chunks/settings-installer-QDM3GB6J.mjs +9 -0
- package/dist/bin/hook-chunks/setup-TG5O5TKD.mjs +142 -0
- package/dist/bin/hook-chunks/shipping-VCLQS7GP.mjs +13 -0
- package/dist/bin/hook-chunks/skill-index-OOVAXHYJ.mjs +12 -0
- package/dist/bin/hook-chunks/spec-context-inference-MOOQL2VC.mjs +15 -0
- package/dist/bin/hook-chunks/spec-service-33UDKWXT.mjs +11 -0
- package/dist/bin/hook-chunks/spec-task-breakdown-FES465AB.mjs +8 -0
- package/dist/bin/hook-chunks/state-storage-KNGP2CQV.mjs +8 -0
- package/dist/bin/hook-chunks/stop-IWI5SQG6.mjs +17 -0
- package/dist/bin/hook-chunks/subagent-start-NJZOWV2P.mjs +8 -0
- package/dist/bin/hook-chunks/subagent-stop-R6HIIVWQ.mjs +8 -0
- package/dist/bin/hook-chunks/surface-attribution-JYE6VDZR.mjs +8 -0
- package/dist/bin/hook-chunks/symbol-graph-LZM4RZXZ.mjs +8 -0
- package/dist/bin/hook-chunks/sync-analyzer-FKC57RTV.mjs +8 -0
- package/dist/bin/hook-chunks/sync-client-DJWOG2ZQ.mjs +8 -0
- package/dist/bin/hook-chunks/sync-cursor-storage-2VKG757H.mjs +19 -0
- package/dist/bin/hook-chunks/task-orchestration-MLOCR7GA.mjs +8 -0
- package/dist/bin/hook-chunks/task-overview-6ZQKJGSH.mjs +8 -0
- package/dist/bin/hook-chunks/task-service-NSS5SVJE.mjs +8 -0
- package/dist/bin/hook-chunks/tdd-AKXWUK2Y.mjs +10 -0
- package/dist/bin/hook-chunks/template-loader-KLKEG7XM.mjs +8 -0
- package/dist/bin/hook-chunks/transcript-jsonl-6X4DDD6R.mjs +8 -0
- package/dist/bin/hook-chunks/trust-boundary-ERMDF2C5.mjs +8 -0
- package/dist/bin/hook-chunks/usefulness-253CZLNY.mjs +8 -0
- package/dist/bin/hook-chunks/vault-retire-notice-GRT3QRLZ.mjs +9 -0
- package/dist/bin/hook-chunks/velocity-storage-UPW6TLK6.mjs +8 -0
- package/dist/bin/hook-chunks/weak-model-mode-JQ23PTXN.mjs +8 -0
- package/dist/bin/hook-chunks/work-graph-QJGNBVIP.mjs +49 -0
- package/dist/bin/hook-chunks/work-scope-C7BJX6QE.mjs +8 -0
- package/dist/bin/hook-chunks/workspace-occupancy-UVIRHY5Z.mjs +8 -0
- package/dist/bin/hook-chunks/worktree-service-XGRN5TTE.mjs +12 -0
- package/dist/bin/hook-fast-linux-x64 +0 -0
- package/dist/bin/prjct-core.mjs +625 -624
- package/dist/bin/prjct-hooks.mjs +3 -2282
- package/dist/bin/prjct.mjs +17 -2
- package/dist/daemon/entry.mjs +555 -554
- package/dist/mcp/server.mjs +196 -195
- package/package.json +1 -1
package/dist/bin/prjct.mjs
CHANGED
|
@@ -1,9 +1,17 @@
|
|
|
1
1
|
#!/usr/bin/env node
|
|
2
|
-
import{connect}from"node:net";import{existsSync}from"node:fs";import{createHash,randomUUID}from"node:crypto";import{homedir}from"node:os";import{join,resolve}from"node:path";import{spawn}from"node:child_process";
|
|
2
|
+
import{connect}from"node:net";import{existsSync,readSync}from"node:fs";import{isatty}from"node:tty";import{createHash,randomUUID}from"node:crypto";import{homedir}from"node:os";import{join,resolve}from"node:path";import{spawn}from"node:child_process";
|
|
3
3
|
const cliHome=process.env.PRJCT_CLI_HOME?resolve(process.env.PRJCT_CLI_HOME):join(homedir(),".prjct-cli");
|
|
4
4
|
const namedPipe=process.platform==="win32";
|
|
5
5
|
const sockPath=namedPipe?"\\.\pipe\prjct-"+createHash("sha1").update(resolve(cliHome)).digest("hex").slice(0,16)+"-daemon":join(cliHome,"run","daemon.sock");
|
|
6
6
|
const hasEndpoint=()=>namedPipe||existsSync(sockPath);
|
|
7
|
+
// Sync-read stdin via fs.readSync on fd 0 directly — never READS through
|
|
8
|
+
// process.stdin, whose stream wrapper costs event-loop turnaround per hook.
|
|
9
|
+
// Touching process.stdin.fd once up front flips fd 0 non-blocking (this
|
|
10
|
+
// shim always runs on node), so an open-but-empty pipe yields EAGAIN and
|
|
11
|
+
// the deadline is REAL: a host that opens stdin but never closes degrades
|
|
12
|
+
// to whatever arrived instead of hanging until the host's hook-timeout
|
|
13
|
+
// kill. EAGAIN retries sleep ~1ms via Atomics.wait to avoid a busy-spin.
|
|
14
|
+
function readStdinSync(ms){if(isatty(0))return"";try{void process.stdin.fd}catch{}const dl=Date.now()+ms;const slp=new Int32Array(new SharedArrayBuffer(4));const buf=Buffer.alloc(65536);const parts=[];for(;;){try{const n=readSync(0,buf,0,buf.length,null);if(n===0)break;parts.push(Buffer.from(buf.subarray(0,n)))}catch(e){if(e&&e.code==="EAGAIN"&&Date.now()<dl){Atomics.wait(slp,0,0,1);continue}break}}return Buffer.concat(parts).toString("utf8")}
|
|
7
15
|
const args=process.argv.slice(2);
|
|
8
16
|
const cmd=args.find(a=>!a.startsWith("-"));
|
|
9
17
|
const skip=new Set(["seed","mcp","install","help","start","setup","login","logout","auth","context","update","uninstall","daemon","stop","restart","upgrade","hook","hooks","claude","crew","harness","doctor","watch","version","prefs","retro","health","skill-adherence","review-risk","context-save","context-restore","-h","--help","-v","--version","intent","spec","audit-spec","dev","web","serve","__internal-auto-update","__post-upgrade","__internal-ensure-daemon"]);
|
|
@@ -28,7 +36,14 @@ function sendHook(sub,data){
|
|
|
28
36
|
if(cmd==="hook"){
|
|
29
37
|
if(process.env.PRJCT_NO_DAEMON!=="1"&&hasEndpoint()){
|
|
30
38
|
const sub=args[1];
|
|
31
|
-
|
|
39
|
+
// Sync stdin read: event-accumulating a pipe costs ~15-20ms of event-loop
|
|
40
|
+
// turnaround per hook in bun/node; hosts write the event JSON and close
|
|
41
|
+
// stdin immediately, so a sync read returns at once. Fail-soft: an
|
|
42
|
+
// unrecoverable read error yields whatever was read so far (the hook
|
|
43
|
+
// treats a blank result as {}). The host-side hook timeout
|
|
44
|
+
// (settings-installer HOOK_TIMEOUT_SECONDS) remains the backstop for a
|
|
45
|
+
// pathological host that never closes stdin.
|
|
46
|
+
sendHook(sub,readStdinSync(1000));
|
|
32
47
|
}else{
|
|
33
48
|
// Cold path (daemon disabled/unreachable): run the hook from the dedicated
|
|
34
49
|
// hooks bundle, NOT the full core. cold-entry emits host JSON then detaches
|