/** * Clone-path diff helper for `qfg push`. * * The clone path runs when the user's local dir is a clone of the cloud repo * (`.git/` present and origin matches the backend). We need a list of file * deltas to ship to `configs.push`. * * Two sources, both contribute to the returned list: * 1. Committed deltas — `git diff --name-status origin/main..HEAD`. Each line * becomes an added / modified / deleted FileDelta with content drawn * from `git show origin/main:` (before) and the working tree (after). * 2. Untracked working-tree files — `git ls-files --others --exclude-standard`. * Each becomes an 'added' FileDelta with content from the working tree. * * (2) was added for qfg-3fc6: a beta tester dropped a new * `configs/quonfig.secrets.encryption.key.json` into a pulled workspace dir * and ran `qfg push`; the file was silently dropped because the diff only * reflected committed changes. We now pick those files up so they actually * push instead of vanishing without a warning. * * Tracked-but-modified files (working-tree edits to files that ARE in HEAD) * are intentionally NOT included — the existing dirty-tree warning in * `run-push.ts` surfaces those to the user, and silently auto-shipping * mid-edit working-tree state would be a different design choice. New * untracked files were unambiguously the user's intent. */ import { FileDelta } from './diff-summary.js'; export declare function computeClonePathDiff(dir: string): Promise;