@getpaseo/server 0.1.2 → 0.1.4
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/server/client/daemon-client-relay-e2ee-transport.d.ts +8 -0
- package/dist/server/client/daemon-client-relay-e2ee-transport.d.ts.map +1 -0
- package/dist/server/client/daemon-client-relay-e2ee-transport.js +161 -0
- package/dist/server/client/daemon-client-relay-e2ee-transport.js.map +1 -0
- package/dist/server/client/daemon-client-terminal-stream-manager.d.ts +43 -0
- package/dist/server/client/daemon-client-terminal-stream-manager.d.ts.map +1 -0
- package/dist/server/client/daemon-client-terminal-stream-manager.js +130 -0
- package/dist/server/client/daemon-client-terminal-stream-manager.js.map +1 -0
- package/dist/server/client/daemon-client-transport-types.d.ts +34 -0
- package/dist/server/client/daemon-client-transport-types.d.ts.map +1 -0
- package/dist/server/client/daemon-client-transport-types.js +2 -0
- package/dist/server/client/daemon-client-transport-types.js.map +1 -0
- package/dist/server/client/daemon-client-transport-utils.d.ts +9 -0
- package/dist/server/client/daemon-client-transport-utils.d.ts.map +1 -0
- package/dist/server/client/daemon-client-transport-utils.js +121 -0
- package/dist/server/client/daemon-client-transport-utils.js.map +1 -0
- package/dist/server/client/daemon-client-transport.d.ts +5 -0
- package/dist/server/client/daemon-client-transport.d.ts.map +1 -0
- package/dist/server/client/daemon-client-transport.js +4 -0
- package/dist/server/client/daemon-client-transport.js.map +1 -0
- package/dist/server/client/daemon-client-websocket-transport.d.ts +7 -0
- package/dist/server/client/daemon-client-websocket-transport.d.ts.map +1 -0
- package/dist/server/client/daemon-client-websocket-transport.js +64 -0
- package/dist/server/client/daemon-client-websocket-transport.js.map +1 -0
- package/dist/server/client/daemon-client.d.ts +54 -36
- package/dist/server/client/daemon-client.d.ts.map +1 -1
- package/dist/server/client/daemon-client.js +497 -800
- package/dist/server/client/daemon-client.js.map +1 -1
- package/dist/server/server/agent/agent-manager.d.ts +52 -0
- package/dist/server/server/agent/agent-manager.d.ts.map +1 -1
- package/dist/server/server/agent/agent-manager.js +238 -10
- package/dist/server/server/agent/agent-manager.js.map +1 -1
- package/dist/server/server/agent/agent-storage.d.ts +4 -4
- package/dist/server/server/agent/providers/claude/tool-call-detail-parser.d.ts.map +1 -1
- package/dist/server/server/agent/providers/claude/tool-call-detail-parser.js +62 -12
- package/dist/server/server/agent/providers/claude/tool-call-detail-parser.js.map +1 -1
- package/dist/server/server/agent/providers/claude/tool-call-mapper.d.ts +4 -4
- package/dist/server/server/agent/providers/claude/tool-call-mapper.d.ts.map +1 -1
- package/dist/server/server/agent/providers/claude/tool-call-mapper.js +213 -50
- package/dist/server/server/agent/providers/claude/tool-call-mapper.js.map +1 -1
- package/dist/server/server/agent/providers/claude-agent.d.ts +7 -0
- package/dist/server/server/agent/providers/claude-agent.d.ts.map +1 -1
- package/dist/server/server/agent/providers/claude-agent.js +100 -19
- package/dist/server/server/agent/providers/claude-agent.js.map +1 -1
- package/dist/server/server/agent/providers/codex/tool-call-detail-parser.d.ts +0 -1
- package/dist/server/server/agent/providers/codex/tool-call-detail-parser.d.ts.map +1 -1
- package/dist/server/server/agent/providers/codex/tool-call-detail-parser.js +67 -30
- package/dist/server/server/agent/providers/codex/tool-call-detail-parser.js.map +1 -1
- package/dist/server/server/agent/providers/codex/tool-call-mapper.d.ts +1 -1
- package/dist/server/server/agent/providers/codex/tool-call-mapper.d.ts.map +1 -1
- package/dist/server/server/agent/providers/codex/tool-call-mapper.js +293 -266
- package/dist/server/server/agent/providers/codex/tool-call-mapper.js.map +1 -1
- package/dist/server/server/agent/providers/codex-app-server-agent.d.ts +1 -1
- package/dist/server/server/agent/providers/codex-app-server-agent.d.ts.map +1 -1
- package/dist/server/server/agent/providers/codex-app-server-agent.js +49 -14
- package/dist/server/server/agent/providers/codex-app-server-agent.js.map +1 -1
- package/dist/server/server/agent/providers/codex-rollout-timeline.d.ts.map +1 -1
- package/dist/server/server/agent/providers/codex-rollout-timeline.js +5 -4
- package/dist/server/server/agent/providers/codex-rollout-timeline.js.map +1 -1
- package/dist/server/server/agent/providers/opencode/tool-call-detail-parser.d.ts.map +1 -1
- package/dist/server/server/agent/providers/opencode/tool-call-detail-parser.js +8 -2
- package/dist/server/server/agent/providers/opencode/tool-call-detail-parser.js.map +1 -1
- package/dist/server/server/agent/providers/opencode/tool-call-mapper.d.ts +1 -1
- package/dist/server/server/agent/providers/opencode/tool-call-mapper.d.ts.map +1 -1
- package/dist/server/server/agent/providers/opencode/tool-call-mapper.js +121 -45
- package/dist/server/server/agent/providers/opencode/tool-call-mapper.js.map +1 -1
- package/dist/server/server/agent/providers/opencode-agent.d.ts.map +1 -1
- package/dist/server/server/agent/providers/opencode-agent.js +87 -35
- package/dist/server/server/agent/providers/opencode-agent.js.map +1 -1
- package/dist/server/server/agent/providers/tool-call-detail-primitives.d.ts +2 -2
- package/dist/server/server/agent/providers/tool-call-detail-primitives.d.ts.map +1 -1
- package/dist/server/server/agent/providers/tool-call-detail-primitives.js +23 -6
- package/dist/server/server/agent/providers/tool-call-detail-primitives.js.map +1 -1
- package/dist/server/server/agent/providers/tool-call-mapper-utils.d.ts +0 -1
- package/dist/server/server/agent/providers/tool-call-mapper-utils.d.ts.map +1 -1
- package/dist/server/server/agent/providers/tool-call-mapper-utils.js +0 -10
- package/dist/server/server/agent/providers/tool-call-mapper-utils.js.map +1 -1
- package/dist/server/server/agent/stt-manager.d.ts +3 -2
- package/dist/server/server/agent/stt-manager.d.ts.map +1 -1
- package/dist/server/server/agent/stt-manager.js +5 -3
- package/dist/server/server/agent/stt-manager.js.map +1 -1
- package/dist/server/server/agent/timeline-projection.d.ts +19 -0
- package/dist/server/server/agent/timeline-projection.d.ts.map +1 -0
- package/dist/server/server/agent/timeline-projection.js +142 -0
- package/dist/server/server/agent/timeline-projection.js.map +1 -0
- package/dist/server/server/agent/tts-manager.d.ts +3 -2
- package/dist/server/server/agent/tts-manager.d.ts.map +1 -1
- package/dist/server/server/agent/tts-manager.js +5 -17
- package/dist/server/server/agent/tts-manager.js.map +1 -1
- package/dist/server/server/agent-attention-policy.d.ts +20 -0
- package/dist/server/server/agent-attention-policy.d.ts.map +1 -0
- package/dist/server/server/agent-attention-policy.js +40 -0
- package/dist/server/server/agent-attention-policy.js.map +1 -0
- package/dist/server/server/bootstrap.d.ts.map +1 -1
- package/dist/server/server/bootstrap.js +13 -20
- package/dist/server/server/bootstrap.js.map +1 -1
- package/dist/server/server/dictation/dictation-stream-manager.d.ts +10 -2
- package/dist/server/server/dictation/dictation-stream-manager.d.ts.map +1 -1
- package/dist/server/server/dictation/dictation-stream-manager.js +83 -27
- package/dist/server/server/dictation/dictation-stream-manager.js.map +1 -1
- package/dist/server/server/exports.d.ts +2 -1
- package/dist/server/server/exports.d.ts.map +1 -1
- package/dist/server/server/exports.js +1 -0
- package/dist/server/server/exports.js.map +1 -1
- package/dist/server/server/persisted-config.d.ts +36 -22
- package/dist/server/server/persisted-config.d.ts.map +1 -1
- package/dist/server/server/persisted-config.js +2 -0
- package/dist/server/server/persisted-config.js.map +1 -1
- package/dist/server/server/relay-transport.d.ts +3 -2
- package/dist/server/server/relay-transport.d.ts.map +1 -1
- package/dist/server/server/relay-transport.js +99 -16
- package/dist/server/server/relay-transport.js.map +1 -1
- package/dist/server/server/session.d.ts +34 -16
- package/dist/server/server/session.d.ts.map +1 -1
- package/dist/server/server/session.js +619 -328
- package/dist/server/server/session.js.map +1 -1
- package/dist/server/server/speech/provider-resolver.d.ts +3 -0
- package/dist/server/server/speech/provider-resolver.d.ts.map +1 -0
- package/dist/server/server/speech/provider-resolver.js +7 -0
- package/dist/server/server/speech/provider-resolver.js.map +1 -0
- package/dist/server/server/speech/providers/local/config.d.ts.map +1 -1
- package/dist/server/server/speech/providers/local/config.js +11 -8
- package/dist/server/server/speech/providers/local/config.js.map +1 -1
- package/dist/server/server/speech/providers/local/runtime.d.ts +1 -0
- package/dist/server/server/speech/providers/local/runtime.d.ts.map +1 -1
- package/dist/server/server/speech/providers/local/runtime.js +13 -9
- package/dist/server/server/speech/providers/local/runtime.js.map +1 -1
- package/dist/server/server/speech/providers/local/sherpa/model-downloader.d.ts.map +1 -1
- package/dist/server/server/speech/providers/local/sherpa/model-downloader.js +73 -54
- package/dist/server/server/speech/providers/local/sherpa/model-downloader.js.map +1 -1
- package/dist/server/server/speech/providers/openai/config.d.ts.map +1 -1
- package/dist/server/server/speech/providers/openai/config.js +10 -5
- package/dist/server/server/speech/providers/openai/config.js.map +1 -1
- package/dist/server/server/speech/providers/openai/runtime.d.ts.map +1 -1
- package/dist/server/server/speech/providers/openai/runtime.js +17 -6
- package/dist/server/server/speech/providers/openai/runtime.js.map +1 -1
- package/dist/server/server/speech/speech-config-resolver.d.ts.map +1 -1
- package/dist/server/server/speech/speech-config-resolver.js +25 -4
- package/dist/server/server/speech/speech-config-resolver.js.map +1 -1
- package/dist/server/server/speech/speech-runtime.d.ts +26 -3
- package/dist/server/server/speech/speech-runtime.d.ts.map +1 -1
- package/dist/server/server/speech/speech-runtime.js +468 -85
- package/dist/server/server/speech/speech-runtime.js.map +1 -1
- package/dist/server/server/speech/speech-types.d.ts +3 -0
- package/dist/server/server/speech/speech-types.d.ts.map +1 -1
- package/dist/server/server/speech/speech-types.js +1 -0
- package/dist/server/server/speech/speech-types.js.map +1 -1
- package/dist/server/server/websocket-server.d.ts +23 -7
- package/dist/server/server/websocket-server.d.ts.map +1 -1
- package/dist/server/server/websocket-server.js +288 -102
- package/dist/server/server/websocket-server.js.map +1 -1
- package/dist/server/shared/binary-mux.d.ts +31 -0
- package/dist/server/shared/binary-mux.d.ts.map +1 -0
- package/dist/server/shared/binary-mux.js +101 -0
- package/dist/server/shared/binary-mux.js.map +1 -0
- package/dist/server/shared/messages.d.ts +5206 -4814
- package/dist/server/shared/messages.d.ts.map +1 -1
- package/dist/server/shared/messages.js +225 -58
- package/dist/server/shared/messages.js.map +1 -1
- package/dist/server/shared/terminal-key-input.d.ts +9 -0
- package/dist/server/shared/terminal-key-input.d.ts.map +1 -0
- package/dist/server/shared/terminal-key-input.js +132 -0
- package/dist/server/shared/terminal-key-input.js.map +1 -0
- package/dist/server/terminal/terminal.d.ts +17 -0
- package/dist/server/terminal/terminal.d.ts.map +1 -1
- package/dist/server/terminal/terminal.js +89 -0
- package/dist/server/terminal/terminal.js.map +1 -1
- package/dist/server/utils/checkout-git.d.ts +9 -1
- package/dist/server/utils/checkout-git.d.ts.map +1 -1
- package/dist/server/utils/checkout-git.js +314 -75
- package/dist/server/utils/checkout-git.js.map +1 -1
- package/dist/server/utils/worktree.d.ts.map +1 -1
- package/dist/server/utils/worktree.js +33 -4
- package/dist/server/utils/worktree.js.map +1 -1
- package/package.json +2 -2
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"terminal.js","sourceRoot":"","sources":["../../../src/terminal/terminal.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,GAAG,MAAM,UAAU,CAAC;AAChC,OAAO,KAAwC,MAAM,iBAAiB,CAAC;AACvE,OAAO,EAAE,UAAU,EAAE,MAAM,QAAQ,CAAC;AAEpC,MAAM,EAAE,QAAQ,EAAE,GAAG,KAAK,CAAC;
|
|
1
|
+
{"version":3,"file":"terminal.js","sourceRoot":"","sources":["../../../src/terminal/terminal.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,4 +1,8 @@
|
|
|
1
1
|
import type { ParsedDiffFile } from "../server/utils/diff-highlighter.js";
|
|
2
|
+
export declare function listBranchSuggestions(cwd: string, options?: {
|
|
3
|
+
query?: string;
|
|
4
|
+
limit?: number;
|
|
5
|
+
}): Promise<string[]>;
|
|
2
6
|
export declare class NotGitRepoError extends Error {
|
|
3
7
|
readonly cwd: string;
|
|
4
8
|
readonly code = "NOT_GIT_REPO";
|
|
@@ -130,9 +134,13 @@ export interface PullRequestStatus {
|
|
|
130
134
|
baseRefName: string;
|
|
131
135
|
headRefName: string;
|
|
132
136
|
}
|
|
137
|
+
export interface PullRequestStatusResult {
|
|
138
|
+
status: PullRequestStatus | null;
|
|
139
|
+
githubFeaturesEnabled: boolean;
|
|
140
|
+
}
|
|
133
141
|
export declare function createPullRequest(cwd: string, options: CreatePullRequestOptions): Promise<{
|
|
134
142
|
url: string;
|
|
135
143
|
number: number;
|
|
136
144
|
}>;
|
|
137
|
-
export declare function getPullRequestStatus(cwd: string): Promise<
|
|
145
|
+
export declare function getPullRequestStatus(cwd: string): Promise<PullRequestStatusResult>;
|
|
138
146
|
//# sourceMappingURL=checkout-git.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"checkout-git.d.ts","sourceRoot":"","sources":["../../../src/utils/checkout-git.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,qCAAqC,CAAC;
|
|
1
|
+
{"version":3,"file":"checkout-git.d.ts","sourceRoot":"","sources":["../../../src/utils/checkout-git.ts"],"names":[],"mappings":"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"}
|
|
@@ -72,6 +72,98 @@ async function spawnLimitedText(params) {
|
|
|
72
72
|
});
|
|
73
73
|
});
|
|
74
74
|
}
|
|
75
|
+
function normalizeBranchSuggestionName(raw) {
|
|
76
|
+
const trimmed = raw.trim();
|
|
77
|
+
if (!trimmed) {
|
|
78
|
+
return null;
|
|
79
|
+
}
|
|
80
|
+
let normalized = trimmed;
|
|
81
|
+
if (normalized.startsWith("refs/heads/")) {
|
|
82
|
+
normalized = normalized.slice("refs/heads/".length);
|
|
83
|
+
}
|
|
84
|
+
else if (normalized.startsWith("refs/remotes/")) {
|
|
85
|
+
normalized = normalized.slice("refs/remotes/".length);
|
|
86
|
+
}
|
|
87
|
+
if (normalized.startsWith("origin/")) {
|
|
88
|
+
normalized = normalized.slice("origin/".length);
|
|
89
|
+
}
|
|
90
|
+
if (!normalized || normalized === "HEAD") {
|
|
91
|
+
return null;
|
|
92
|
+
}
|
|
93
|
+
return normalized;
|
|
94
|
+
}
|
|
95
|
+
async function listGitRefs(cwd, refPrefix) {
|
|
96
|
+
const { stdout } = await execGit(`git for-each-ref --format="%(refname:short)" ${refPrefix}`, {
|
|
97
|
+
cwd,
|
|
98
|
+
env: READ_ONLY_GIT_ENV,
|
|
99
|
+
});
|
|
100
|
+
return stdout
|
|
101
|
+
.split("\n")
|
|
102
|
+
.map((line) => line.trim())
|
|
103
|
+
.filter((line) => line.length > 0);
|
|
104
|
+
}
|
|
105
|
+
function sortBranchSuggestions(branchNames, localBranchNames, query) {
|
|
106
|
+
const normalizedQuery = query.trim().toLowerCase();
|
|
107
|
+
const hasQuery = normalizedQuery.length > 0;
|
|
108
|
+
return branchNames.sort((a, b) => {
|
|
109
|
+
const aLower = a.toLowerCase();
|
|
110
|
+
const bLower = b.toLowerCase();
|
|
111
|
+
if (hasQuery) {
|
|
112
|
+
const aPrefix = aLower.startsWith(normalizedQuery);
|
|
113
|
+
const bPrefix = bLower.startsWith(normalizedQuery);
|
|
114
|
+
if (aPrefix !== bPrefix) {
|
|
115
|
+
return aPrefix ? -1 : 1;
|
|
116
|
+
}
|
|
117
|
+
}
|
|
118
|
+
const aIsLocal = localBranchNames.has(a);
|
|
119
|
+
const bIsLocal = localBranchNames.has(b);
|
|
120
|
+
if (aIsLocal !== bIsLocal) {
|
|
121
|
+
return aIsLocal ? -1 : 1;
|
|
122
|
+
}
|
|
123
|
+
return a.localeCompare(b);
|
|
124
|
+
});
|
|
125
|
+
}
|
|
126
|
+
export async function listBranchSuggestions(cwd, options) {
|
|
127
|
+
await requireGitRepo(cwd);
|
|
128
|
+
const requestedLimit = options?.limit ?? 50;
|
|
129
|
+
const limit = Math.max(1, Math.min(200, requestedLimit));
|
|
130
|
+
const query = options?.query?.trim().toLowerCase() ?? "";
|
|
131
|
+
const [localRefs, remoteRefs] = await Promise.all([
|
|
132
|
+
listGitRefs(cwd, "refs/heads"),
|
|
133
|
+
listGitRefs(cwd, "refs/remotes/origin"),
|
|
134
|
+
]);
|
|
135
|
+
const merged = new Map();
|
|
136
|
+
for (const localRef of localRefs) {
|
|
137
|
+
const normalized = normalizeBranchSuggestionName(localRef);
|
|
138
|
+
if (!normalized) {
|
|
139
|
+
continue;
|
|
140
|
+
}
|
|
141
|
+
const origins = merged.get(normalized) ?? new Set();
|
|
142
|
+
origins.add("local");
|
|
143
|
+
merged.set(normalized, origins);
|
|
144
|
+
}
|
|
145
|
+
for (const remoteRef of remoteRefs) {
|
|
146
|
+
const normalized = normalizeBranchSuggestionName(remoteRef);
|
|
147
|
+
if (!normalized) {
|
|
148
|
+
continue;
|
|
149
|
+
}
|
|
150
|
+
const origins = merged.get(normalized) ?? new Set();
|
|
151
|
+
origins.add("remote");
|
|
152
|
+
merged.set(normalized, origins);
|
|
153
|
+
}
|
|
154
|
+
const filteredNames = Array.from(merged.keys()).filter((name) => query ? name.toLowerCase().includes(query) : true);
|
|
155
|
+
if (filteredNames.length === 0) {
|
|
156
|
+
return [];
|
|
157
|
+
}
|
|
158
|
+
const localBranchNames = new Set();
|
|
159
|
+
for (const [name, origins] of merged) {
|
|
160
|
+
if (origins.has("local")) {
|
|
161
|
+
localBranchNames.add(name);
|
|
162
|
+
}
|
|
163
|
+
}
|
|
164
|
+
const ordered = sortBranchSuggestions(filteredNames, localBranchNames, query);
|
|
165
|
+
return ordered.slice(0, limit);
|
|
166
|
+
}
|
|
75
167
|
async function listCheckoutFileChanges(cwd, ref) {
|
|
76
168
|
const changes = [];
|
|
77
169
|
const { stdout: nameStatusOut } = await execGit(`git diff --name-status ${ref}`, {
|
|
@@ -146,35 +238,65 @@ async function tryResolveMergeBase(cwd, baseRef) {
|
|
|
146
238
|
return null;
|
|
147
239
|
}
|
|
148
240
|
}
|
|
149
|
-
|
|
150
|
-
|
|
151
|
-
|
|
152
|
-
|
|
153
|
-
|
|
154
|
-
|
|
155
|
-
|
|
156
|
-
|
|
157
|
-
|
|
158
|
-
|
|
159
|
-
|
|
160
|
-
|
|
161
|
-
|
|
162
|
-
|
|
163
|
-
|
|
164
|
-
|
|
165
|
-
|
|
166
|
-
|
|
241
|
+
function normalizeNumstatPath(pathField) {
|
|
242
|
+
const braceRenameMatch = pathField.match(/^(.*)\{(.*) => (.*)\}(.*)$/);
|
|
243
|
+
if (braceRenameMatch) {
|
|
244
|
+
const [, prefix, , renamed, suffix] = braceRenameMatch;
|
|
245
|
+
return `${prefix}${renamed}${suffix}`;
|
|
246
|
+
}
|
|
247
|
+
const inlineRenameMatch = pathField.match(/^(.*) => (.*)$/);
|
|
248
|
+
if (inlineRenameMatch) {
|
|
249
|
+
return inlineRenameMatch[2] ?? pathField;
|
|
250
|
+
}
|
|
251
|
+
return pathField;
|
|
252
|
+
}
|
|
253
|
+
const TRACKED_DIFF_NUMSTAT_MAX_BYTES = 2 * 1024 * 1024; // 2MB
|
|
254
|
+
const TRACKED_MAX_CHANGED_LINES = 40000;
|
|
255
|
+
async function getTrackedNumstatByPath(cwd, ref) {
|
|
256
|
+
const result = await spawnLimitedText({
|
|
257
|
+
cmd: "git",
|
|
258
|
+
args: ["diff", "--numstat", ref],
|
|
259
|
+
cwd,
|
|
260
|
+
env: READ_ONLY_GIT_ENV,
|
|
261
|
+
maxBytes: TRACKED_DIFF_NUMSTAT_MAX_BYTES,
|
|
262
|
+
acceptExitCodes: [0],
|
|
263
|
+
});
|
|
264
|
+
const stats = new Map();
|
|
265
|
+
const lines = result.text
|
|
266
|
+
.split("\n")
|
|
267
|
+
.map((line) => line.trim())
|
|
268
|
+
.filter(Boolean);
|
|
269
|
+
for (const line of lines) {
|
|
270
|
+
const parts = line.split("\t");
|
|
271
|
+
if (parts.length < 3) {
|
|
272
|
+
continue;
|
|
273
|
+
}
|
|
274
|
+
const additionsField = parts[0] ?? "";
|
|
275
|
+
const deletionsField = parts[1] ?? "";
|
|
276
|
+
const rawPath = parts.slice(2).join("\t");
|
|
277
|
+
const path = normalizeNumstatPath(rawPath);
|
|
278
|
+
if (!path) {
|
|
279
|
+
continue;
|
|
167
280
|
}
|
|
168
|
-
|
|
169
|
-
|
|
281
|
+
if (additionsField === "-" || deletionsField === "-") {
|
|
282
|
+
stats.set(path, { additions: 0, deletions: 0, isBinary: true });
|
|
283
|
+
continue;
|
|
284
|
+
}
|
|
285
|
+
const additions = Number.parseInt(additionsField, 10);
|
|
286
|
+
const deletions = Number.parseInt(deletionsField, 10);
|
|
170
287
|
if (Number.isNaN(additions) || Number.isNaN(deletions)) {
|
|
171
|
-
|
|
288
|
+
stats.set(path, null);
|
|
289
|
+
continue;
|
|
172
290
|
}
|
|
173
|
-
|
|
291
|
+
stats.set(path, { additions, deletions, isBinary: false });
|
|
174
292
|
}
|
|
175
|
-
|
|
176
|
-
|
|
293
|
+
return stats;
|
|
294
|
+
}
|
|
295
|
+
function isTrackedDiffTooLarge(stat) {
|
|
296
|
+
if (!stat || stat.isBinary) {
|
|
297
|
+
return false;
|
|
177
298
|
}
|
|
299
|
+
return stat.additions + stat.deletions > TRACKED_MAX_CHANGED_LINES;
|
|
178
300
|
}
|
|
179
301
|
export class NotGitRepoError extends Error {
|
|
180
302
|
constructor(cwd) {
|
|
@@ -548,43 +670,29 @@ function buildPlaceholderParsedDiffFile(change, options) {
|
|
|
548
670
|
status: options.status,
|
|
549
671
|
};
|
|
550
672
|
}
|
|
551
|
-
async function
|
|
552
|
-
|
|
553
|
-
|
|
554
|
-
|
|
555
|
-
|
|
556
|
-
return { text: "", truncated: inspected.truncated, stat: inspected.stat };
|
|
557
|
-
}
|
|
558
|
-
}
|
|
559
|
-
catch {
|
|
560
|
-
// Fall through to git diff path if metadata probing fails.
|
|
673
|
+
async function getUntrackedDiffText(cwd, change) {
|
|
674
|
+
try {
|
|
675
|
+
const inspected = await inspectUntrackedFile(cwd, change.path);
|
|
676
|
+
if (inspected.stat?.isBinary || inspected.truncated) {
|
|
677
|
+
return { text: "", truncated: inspected.truncated, stat: inspected.stat };
|
|
561
678
|
}
|
|
562
|
-
const result = await spawnLimitedText({
|
|
563
|
-
cmd: "git",
|
|
564
|
-
args: ["diff", "--no-index", "/dev/null", "--", change.path],
|
|
565
|
-
cwd,
|
|
566
|
-
env: READ_ONLY_GIT_ENV,
|
|
567
|
-
maxBytes: PER_FILE_DIFF_MAX_BYTES,
|
|
568
|
-
acceptExitCodes: [0, 1],
|
|
569
|
-
});
|
|
570
|
-
return {
|
|
571
|
-
text: result.text,
|
|
572
|
-
truncated: result.truncated,
|
|
573
|
-
stat: { additions: 0, deletions: 0, isBinary: false },
|
|
574
|
-
};
|
|
575
679
|
}
|
|
576
|
-
|
|
577
|
-
|
|
578
|
-
return { text: "", truncated: false, stat };
|
|
680
|
+
catch {
|
|
681
|
+
// Fall through to git diff path if metadata probing fails.
|
|
579
682
|
}
|
|
580
683
|
const result = await spawnLimitedText({
|
|
581
684
|
cmd: "git",
|
|
582
|
-
args: ["diff",
|
|
685
|
+
args: ["diff", "--no-index", "/dev/null", "--", change.path],
|
|
583
686
|
cwd,
|
|
584
687
|
env: READ_ONLY_GIT_ENV,
|
|
585
688
|
maxBytes: PER_FILE_DIFF_MAX_BYTES,
|
|
689
|
+
acceptExitCodes: [0, 1],
|
|
586
690
|
});
|
|
587
|
-
return {
|
|
691
|
+
return {
|
|
692
|
+
text: result.text,
|
|
693
|
+
truncated: result.truncated,
|
|
694
|
+
stat: { additions: 0, deletions: 0, isBinary: false },
|
|
695
|
+
};
|
|
588
696
|
}
|
|
589
697
|
export async function getCheckoutStatus(cwd, context) {
|
|
590
698
|
const inspected = await inspectCheckoutContext(cwd, context);
|
|
@@ -702,8 +810,96 @@ export async function getCheckoutDiff(cwd, compare, context) {
|
|
|
702
810
|
diffBytes = TOTAL_DIFF_MAX_BYTES;
|
|
703
811
|
}
|
|
704
812
|
};
|
|
705
|
-
|
|
706
|
-
|
|
813
|
+
const trackedChanges = changes.filter((change) => !change.isUntracked);
|
|
814
|
+
const untrackedChanges = changes.filter((change) => change.isUntracked === true);
|
|
815
|
+
const trackedNumstatByPath = trackedChanges.length > 0 ? await getTrackedNumstatByPath(cwd, refForDiff) : new Map();
|
|
816
|
+
const trackedDiffPaths = [];
|
|
817
|
+
const trackedPlaceholderByPath = new Map();
|
|
818
|
+
for (const change of trackedChanges) {
|
|
819
|
+
const stat = trackedNumstatByPath.get(change.path) ?? null;
|
|
820
|
+
if (stat?.isBinary) {
|
|
821
|
+
trackedPlaceholderByPath.set(change.path, { status: "binary", stat });
|
|
822
|
+
continue;
|
|
823
|
+
}
|
|
824
|
+
if (isTrackedDiffTooLarge(stat)) {
|
|
825
|
+
trackedPlaceholderByPath.set(change.path, { status: "too_large", stat });
|
|
826
|
+
continue;
|
|
827
|
+
}
|
|
828
|
+
trackedDiffPaths.push(change.path);
|
|
829
|
+
}
|
|
830
|
+
let trackedDiffText = "";
|
|
831
|
+
let trackedDiffTruncated = false;
|
|
832
|
+
if (trackedDiffPaths.length > 0) {
|
|
833
|
+
const trackedDiffResult = await spawnLimitedText({
|
|
834
|
+
cmd: "git",
|
|
835
|
+
args: ["diff", refForDiff, "--", ...trackedDiffPaths],
|
|
836
|
+
cwd,
|
|
837
|
+
env: READ_ONLY_GIT_ENV,
|
|
838
|
+
maxBytes: TOTAL_DIFF_MAX_BYTES,
|
|
839
|
+
});
|
|
840
|
+
trackedDiffText = trackedDiffResult.text;
|
|
841
|
+
trackedDiffTruncated = trackedDiffResult.truncated;
|
|
842
|
+
appendDiff(trackedDiffText);
|
|
843
|
+
if (trackedDiffTruncated) {
|
|
844
|
+
appendDiff("# tracked diff truncated\n");
|
|
845
|
+
}
|
|
846
|
+
}
|
|
847
|
+
const appendTrackedPlaceholderComment = (change, status) => {
|
|
848
|
+
if (status === "binary") {
|
|
849
|
+
appendDiff(`# ${change.path}: binary diff omitted\n`);
|
|
850
|
+
return;
|
|
851
|
+
}
|
|
852
|
+
appendDiff(`# ${change.path}: diff too large omitted\n`);
|
|
853
|
+
};
|
|
854
|
+
if (compare.includeStructured) {
|
|
855
|
+
const parsedTrackedFiles = trackedDiffText.length > 0 ? await parseAndHighlightDiff(trackedDiffText, cwd) : [];
|
|
856
|
+
const parsedTrackedByPath = new Map(parsedTrackedFiles.map((file) => [file.path, file]));
|
|
857
|
+
for (const change of trackedChanges) {
|
|
858
|
+
const placeholder = trackedPlaceholderByPath.get(change.path);
|
|
859
|
+
if (placeholder) {
|
|
860
|
+
structured.push(buildPlaceholderParsedDiffFile(change, {
|
|
861
|
+
status: placeholder.status,
|
|
862
|
+
stat: placeholder.stat,
|
|
863
|
+
}));
|
|
864
|
+
appendTrackedPlaceholderComment(change, placeholder.status);
|
|
865
|
+
continue;
|
|
866
|
+
}
|
|
867
|
+
const stat = trackedNumstatByPath.get(change.path) ?? null;
|
|
868
|
+
const parsedFile = parsedTrackedByPath.get(change.path);
|
|
869
|
+
if (parsedFile) {
|
|
870
|
+
structured.push({
|
|
871
|
+
...parsedFile,
|
|
872
|
+
path: change.path,
|
|
873
|
+
isNew: change.isNew,
|
|
874
|
+
isDeleted: change.isDeleted,
|
|
875
|
+
status: "ok",
|
|
876
|
+
});
|
|
877
|
+
continue;
|
|
878
|
+
}
|
|
879
|
+
structured.push({
|
|
880
|
+
path: change.path,
|
|
881
|
+
isNew: change.isNew,
|
|
882
|
+
isDeleted: change.isDeleted,
|
|
883
|
+
additions: stat?.additions ?? 0,
|
|
884
|
+
deletions: stat?.deletions ?? 0,
|
|
885
|
+
hunks: [],
|
|
886
|
+
status: trackedDiffTruncated ? "too_large" : "ok",
|
|
887
|
+
});
|
|
888
|
+
}
|
|
889
|
+
}
|
|
890
|
+
else {
|
|
891
|
+
for (const change of trackedChanges) {
|
|
892
|
+
const placeholder = trackedPlaceholderByPath.get(change.path);
|
|
893
|
+
if (placeholder) {
|
|
894
|
+
appendTrackedPlaceholderComment(change, placeholder.status);
|
|
895
|
+
}
|
|
896
|
+
}
|
|
897
|
+
}
|
|
898
|
+
for (const change of untrackedChanges) {
|
|
899
|
+
if (diffBytes >= TOTAL_DIFF_MAX_BYTES) {
|
|
900
|
+
break;
|
|
901
|
+
}
|
|
902
|
+
const { text, truncated, stat } = await getUntrackedDiffText(cwd, change);
|
|
707
903
|
if (!compare.includeStructured) {
|
|
708
904
|
if (stat?.isBinary) {
|
|
709
905
|
appendDiff(`# ${change.path}: binary diff omitted\n`);
|
|
@@ -714,9 +910,6 @@ export async function getCheckoutDiff(cwd, compare, context) {
|
|
|
714
910
|
else {
|
|
715
911
|
appendDiff(text);
|
|
716
912
|
}
|
|
717
|
-
if (diffBytes >= TOTAL_DIFF_MAX_BYTES) {
|
|
718
|
-
break;
|
|
719
|
-
}
|
|
720
913
|
continue;
|
|
721
914
|
}
|
|
722
915
|
if (stat?.isBinary) {
|
|
@@ -967,6 +1160,23 @@ async function ensureGhAvailable(cwd) {
|
|
|
967
1160
|
throw new Error("GitHub CLI (gh) is not available or not authenticated");
|
|
968
1161
|
}
|
|
969
1162
|
}
|
|
1163
|
+
function getCommandErrorText(error) {
|
|
1164
|
+
if (!(error instanceof Error)) {
|
|
1165
|
+
return String(error);
|
|
1166
|
+
}
|
|
1167
|
+
const stderr = typeof error?.stderr === "string" ? error.stderr : "";
|
|
1168
|
+
const stdout = typeof error?.stdout === "string" ? error.stdout : "";
|
|
1169
|
+
return `${error.message}\n${stderr}\n${stdout}`.toLowerCase();
|
|
1170
|
+
}
|
|
1171
|
+
function isGhAuthError(error) {
|
|
1172
|
+
const text = getCommandErrorText(error);
|
|
1173
|
+
return (text.includes("gh auth login") ||
|
|
1174
|
+
text.includes("not logged into any github hosts") ||
|
|
1175
|
+
text.includes("authentication failed") ||
|
|
1176
|
+
text.includes("authentication required") ||
|
|
1177
|
+
text.includes("bad credentials") ||
|
|
1178
|
+
text.includes("http 401"));
|
|
1179
|
+
}
|
|
970
1180
|
async function resolveGitHubRepo(cwd) {
|
|
971
1181
|
try {
|
|
972
1182
|
const { stdout } = await execAsync("git config --get remote.origin.url", {
|
|
@@ -1046,34 +1256,63 @@ export async function createPullRequest(cwd, options) {
|
|
|
1046
1256
|
}
|
|
1047
1257
|
export async function getPullRequestStatus(cwd) {
|
|
1048
1258
|
await requireGitRepo(cwd);
|
|
1049
|
-
await ensureGhAvailable(cwd);
|
|
1050
1259
|
const repo = await resolveGitHubRepo(cwd);
|
|
1051
1260
|
const head = await getCurrentBranch(cwd);
|
|
1052
1261
|
if (!repo || !head) {
|
|
1053
|
-
return
|
|
1262
|
+
return {
|
|
1263
|
+
status: null,
|
|
1264
|
+
githubFeaturesEnabled: false,
|
|
1265
|
+
};
|
|
1266
|
+
}
|
|
1267
|
+
try {
|
|
1268
|
+
await ensureGhAvailable(cwd);
|
|
1269
|
+
}
|
|
1270
|
+
catch {
|
|
1271
|
+
return {
|
|
1272
|
+
status: null,
|
|
1273
|
+
githubFeaturesEnabled: false,
|
|
1274
|
+
};
|
|
1054
1275
|
}
|
|
1055
1276
|
const owner = repo.split("/")[0];
|
|
1056
|
-
|
|
1057
|
-
|
|
1058
|
-
|
|
1059
|
-
|
|
1060
|
-
|
|
1061
|
-
|
|
1062
|
-
|
|
1063
|
-
|
|
1064
|
-
|
|
1065
|
-
|
|
1277
|
+
let stdout;
|
|
1278
|
+
try {
|
|
1279
|
+
({ stdout } = await execFileAsync("gh", [
|
|
1280
|
+
"api",
|
|
1281
|
+
`repos/${repo}/pulls`,
|
|
1282
|
+
"-X",
|
|
1283
|
+
"GET",
|
|
1284
|
+
"-F",
|
|
1285
|
+
`head=${owner}:${head}`,
|
|
1286
|
+
"-F",
|
|
1287
|
+
"state=open",
|
|
1288
|
+
], { cwd }));
|
|
1289
|
+
}
|
|
1290
|
+
catch (error) {
|
|
1291
|
+
if (isGhAuthError(error)) {
|
|
1292
|
+
return {
|
|
1293
|
+
status: null,
|
|
1294
|
+
githubFeaturesEnabled: false,
|
|
1295
|
+
};
|
|
1296
|
+
}
|
|
1297
|
+
throw error;
|
|
1298
|
+
}
|
|
1066
1299
|
const parsed = JSON.parse(stdout.trim());
|
|
1067
1300
|
const current = Array.isArray(parsed) && parsed.length > 0 ? parsed[0] : null;
|
|
1068
1301
|
if (!current) {
|
|
1069
|
-
return
|
|
1302
|
+
return {
|
|
1303
|
+
status: null,
|
|
1304
|
+
githubFeaturesEnabled: true,
|
|
1305
|
+
};
|
|
1070
1306
|
}
|
|
1071
1307
|
return {
|
|
1072
|
-
|
|
1073
|
-
|
|
1074
|
-
|
|
1075
|
-
|
|
1076
|
-
|
|
1308
|
+
status: {
|
|
1309
|
+
url: current.html_url ?? current.url,
|
|
1310
|
+
title: current.title,
|
|
1311
|
+
state: current.state,
|
|
1312
|
+
baseRefName: current.base?.ref ?? "",
|
|
1313
|
+
headRefName: current.head?.ref ?? head,
|
|
1314
|
+
},
|
|
1315
|
+
githubFeaturesEnabled: true,
|
|
1077
1316
|
};
|
|
1078
1317
|
}
|
|
1079
1318
|
//# sourceMappingURL=checkout-git.js.map
|