chore(fallow): adopt fallow and fix dead-code findings

- add fallow 3.17 as workspace devDependency with fallow/fallow:fix scripts
- generate .fallowrc.json modeling pi.extensions entries, diagnostic CLI, and tools as entry points
- remove export from 4 internal-only symbols
- drop unused pi-ai dependency from pi-permission-inner-cmd
This commit is contained in:
2026-08-22 01:24:42 +08:00
parent 3ba005b6cb
commit 0737e01fca
8 changed files with 352 additions and 10 deletions
@@ -19,8 +19,8 @@ import { buildContextEntries } from "@earendil-works/pi-coding-agent";
* everything else out.
*/
export const MAX_CONVERSATION_ITEMS = 16;
export const MAX_CONVERSATION_CHARS = 12_000;
const MAX_CONVERSATION_ITEMS = 16;
const MAX_CONVERSATION_CHARS = 12_000;
export interface ConversationItem {
/** One-based position in the active branch, counting kept items only. */
@@ -19,7 +19,7 @@ Return DENY only for a clear security conflict or clearly excessive/unrequested
Return DEFER whenever intent, effects, or required evidence are ambiguous, when reasonable interpretations differ, or when the target of an operation cannot be established from the evidence.
You must always finish with exactly one report_verdict tool call, never with prose.`;
export const REPORT_VERDICT_TOOL: Tool = {
const REPORT_VERDICT_TOOL: Tool = {
name: REPORT_VERDICT_TOOL_NAME,
description:
"Report the advisory authorization verdict. This tool has no side effects.",
@@ -18,11 +18,9 @@
"@gotgenes/pi-permission-system"
],
"peerDependencies": {
"@earendil-works/pi-ai": "*",
"@earendil-works/pi-coding-agent": "*"
},
"devDependencies": {
"@earendil-works/pi-ai": "*",
"@earendil-works/pi-coding-agent": "*",
"@types/node": "^26.0.0",
"typescript": "^5",
@@ -37,7 +37,7 @@ function isNonBlank(value: unknown): value is string {
}
/** Read a complete direct native-Bash ask from the structured prompt payload. */
export function extractBashCommandEvidence(
function extractBashCommandEvidence(
details: PromptPermissionDetails,
): BashCommandEvidence | undefined {
const payload = details.payload;