@chainingintention/pi-web-cn 1.202607.11 → 1.202608.3
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/README.md +9 -9
- package/dist/cli.js +27 -12
- package/dist/cli.js.map +1 -1
- package/dist/client/assets/{CodeViewer-WeDkBH1U.js → CodeViewer-4gPJstDS.js} +1 -1
- package/dist/client/assets/{TerminalPanel-DgiIksV-.js → TerminalPanel-BOafuuU6.js} +5 -5
- package/dist/client/assets/{UnifiedDiffViewer-FKeWfK-h.js → UnifiedDiffViewer-BZewUESj.js} +1 -1
- package/dist/client/assets/index-DHGDF1O1.js +4101 -0
- package/dist/client/index.html +1 -1
- package/dist/config.js +36 -0
- package/dist/config.js.map +1 -1
- package/dist/nativeServices/servicePlan.js +3 -2
- package/dist/nativeServices/servicePlan.js.map +1 -1
- package/dist/nativeServices/serviceProbe.js +7 -5
- package/dist/nativeServices/serviceProbe.js.map +1 -1
- package/dist/pi-web-plugins/info/infoInternals.js +223 -0
- package/dist/pi-web-plugins/info/pi-web-plugin.js +19 -22
- package/dist/pi-web-plugins/relays/markdownDocument.js +81 -0
- package/dist/pi-web-plugins/relays/package.json +9 -0
- package/dist/pi-web-plugins/relays/pi-web-plugin.js +44 -0
- package/dist/pi-web-plugins/relays/relayDiscovery.js +96 -0
- package/dist/pi-web-plugins/relays/relaysPanelElement.js +327 -0
- package/dist/pi-web-plugins/relays/vendor/README.md +24 -0
- package/dist/pi-web-plugins/relays/vendor/marked.esm.js +76 -0
- package/dist/pi-web-plugins/updates/pi-web-plugin.js +100 -100
- package/dist/pi-web-plugins/updates/updatesLogic.js +8 -5
- package/dist/plugin-api.d.ts +5 -1
- package/dist/server/configRoutes.js +11 -0
- package/dist/server/configRoutes.js.map +1 -1
- package/dist/server/diagnostics/nodePtyNativeModule.js +36 -0
- package/dist/server/diagnostics/nodePtyNativeModule.js.map +1 -0
- package/dist/server/git/gitService.js +176 -5
- package/dist/server/git/gitService.js.map +1 -1
- package/dist/server/piWebStatus.js +7 -4
- package/dist/server/piWebStatus.js.map +1 -1
- package/dist/server/realtime/sessionEventHub.js +16 -2
- package/dist/server/realtime/sessionEventHub.js.map +1 -1
- package/dist/server/sessiond/sessionDaemonStartup.js +0 -42
- package/dist/server/sessiond/sessionDaemonStartup.js.map +1 -1
- package/dist/server/sessiond/sessionServiceDependencies.js +31 -0
- package/dist/server/sessiond/sessionServiceDependencies.js.map +1 -0
- package/dist/server/sessions/askUserTool.js +105 -0
- package/dist/server/sessions/askUserTool.js.map +1 -0
- package/dist/server/sessions/authProviderOptions.js +26 -29
- package/dist/server/sessions/authProviderOptions.js.map +1 -1
- package/dist/server/sessions/authRoutes.js +9 -1
- package/dist/server/sessions/authRoutes.js.map +1 -1
- package/dist/server/sessions/authService.js +143 -33
- package/dist/server/sessions/authService.js.map +1 -1
- package/dist/server/sessions/globalProviderPolicy.js +167 -0
- package/dist/server/sessions/globalProviderPolicy.js.map +1 -0
- package/dist/server/sessions/modelCatalogRefresher.js +192 -0
- package/dist/server/sessions/modelCatalogRefresher.js.map +1 -0
- package/dist/server/sessions/oauthLoginFlowService.js +181 -56
- package/dist/server/sessions/oauthLoginFlowService.js.map +1 -1
- package/dist/server/sessions/parentSessionLocator.js +75 -0
- package/dist/server/sessions/parentSessionLocator.js.map +1 -0
- package/dist/server/sessions/pendingAskStore.js +278 -0
- package/dist/server/sessions/pendingAskStore.js.map +1 -0
- package/dist/server/sessions/piSessionService.js +1264 -199
- package/dist/server/sessions/piSessionService.js.map +1 -1
- package/dist/server/sessions/plainTextTheme.js +112 -0
- package/dist/server/sessions/plainTextTheme.js.map +1 -0
- package/dist/server/sessions/projectAuthService.js +3 -3
- package/dist/server/sessions/projectAuthService.js.map +1 -1
- package/dist/server/sessions/sessionCommandService.js +60 -5
- package/dist/server/sessions/sessionCommandService.js.map +1 -1
- package/dist/server/sessions/sessionFileHeader.js +45 -0
- package/dist/server/sessions/sessionFileHeader.js.map +1 -0
- package/dist/server/sessions/sessionNotificationStore.js +484 -0
- package/dist/server/sessions/sessionNotificationStore.js.map +1 -0
- package/dist/server/sessions/sessionRoutes.js +245 -1
- package/dist/server/sessions/sessionRoutes.js.map +1 -1
- package/dist/server/sessions/sessionTreeProjection.js +250 -0
- package/dist/server/sessions/sessionTreeProjection.js.map +1 -0
- package/dist/server/sessions/sessionUnreadStore.js +520 -0
- package/dist/server/sessions/sessionUnreadStore.js.map +1 -0
- package/dist/server/sessions/spawnSubsessionTool.js +10 -12
- package/dist/server/sessions/spawnSubsessionTool.js.map +1 -1
- package/dist/server/sessions/spawnTargetResolver.js +3 -16
- package/dist/server/sessions/spawnTargetResolver.js.map +1 -1
- package/dist/server/terminals/terminalService.js +8 -2
- package/dist/server/terminals/terminalService.js.map +1 -1
- package/dist/server/workspaces/gitWorktreeDiscovery.js +9 -0
- package/dist/server/workspaces/gitWorktreeDiscovery.js.map +1 -1
- package/dist/server/workspaces/projectWorkspaceCwds.js +22 -0
- package/dist/server/workspaces/projectWorkspaceCwds.js.map +1 -0
- package/dist/server/workspaces/workspaceService.js +15 -2
- package/dist/server/workspaces/workspaceService.js.map +1 -1
- package/dist/shared/activity.js +9 -1
- package/dist/shared/activity.js.map +1 -1
- package/dist/shared/apiTypes.d.ts +403 -8
- package/dist/shared/apiTypes.js +26 -0
- package/dist/shared/apiTypes.js.map +1 -1
- package/dist/shared/capabilities.js +9 -0
- package/dist/shared/capabilities.js.map +1 -1
- package/dist/shared/federatedRoutes.js +12 -0
- package/dist/shared/federatedRoutes.js.map +1 -1
- package/docs/config.md +76 -9
- package/docs/plugins.md +72 -16
- package/install.sh +1 -1
- package/package.json +4 -2
- package/dist/client/assets/index-kgpXTDyy.js +0 -3247
- package/dist/server/sessions/sessionArchiveMigration.js +0 -590
- package/dist/server/sessions/sessionArchiveMigration.js.map +0 -1
|
@@ -0,0 +1,112 @@
|
|
|
1
|
+
import { Theme } from "@earendil-works/pi-coding-agent";
|
|
2
|
+
const RESET_COLOR = "";
|
|
3
|
+
// Theme requires complete color tables for nominal class construction. Every
|
|
4
|
+
// method that could expose the resulting reset codes is overridden below.
|
|
5
|
+
const SUPERCLASS_FOREGROUND_COLORS = {
|
|
6
|
+
accent: RESET_COLOR,
|
|
7
|
+
border: RESET_COLOR,
|
|
8
|
+
borderAccent: RESET_COLOR,
|
|
9
|
+
borderMuted: RESET_COLOR,
|
|
10
|
+
success: RESET_COLOR,
|
|
11
|
+
error: RESET_COLOR,
|
|
12
|
+
warning: RESET_COLOR,
|
|
13
|
+
muted: RESET_COLOR,
|
|
14
|
+
dim: RESET_COLOR,
|
|
15
|
+
text: RESET_COLOR,
|
|
16
|
+
thinkingText: RESET_COLOR,
|
|
17
|
+
userMessageText: RESET_COLOR,
|
|
18
|
+
customMessageText: RESET_COLOR,
|
|
19
|
+
customMessageLabel: RESET_COLOR,
|
|
20
|
+
toolTitle: RESET_COLOR,
|
|
21
|
+
toolOutput: RESET_COLOR,
|
|
22
|
+
mdHeading: RESET_COLOR,
|
|
23
|
+
mdLink: RESET_COLOR,
|
|
24
|
+
mdLinkUrl: RESET_COLOR,
|
|
25
|
+
mdCode: RESET_COLOR,
|
|
26
|
+
mdCodeBlock: RESET_COLOR,
|
|
27
|
+
mdCodeBlockBorder: RESET_COLOR,
|
|
28
|
+
mdQuote: RESET_COLOR,
|
|
29
|
+
mdQuoteBorder: RESET_COLOR,
|
|
30
|
+
mdHr: RESET_COLOR,
|
|
31
|
+
mdListBullet: RESET_COLOR,
|
|
32
|
+
toolDiffAdded: RESET_COLOR,
|
|
33
|
+
toolDiffRemoved: RESET_COLOR,
|
|
34
|
+
toolDiffContext: RESET_COLOR,
|
|
35
|
+
syntaxComment: RESET_COLOR,
|
|
36
|
+
syntaxKeyword: RESET_COLOR,
|
|
37
|
+
syntaxFunction: RESET_COLOR,
|
|
38
|
+
syntaxVariable: RESET_COLOR,
|
|
39
|
+
syntaxString: RESET_COLOR,
|
|
40
|
+
syntaxNumber: RESET_COLOR,
|
|
41
|
+
syntaxType: RESET_COLOR,
|
|
42
|
+
syntaxOperator: RESET_COLOR,
|
|
43
|
+
syntaxPunctuation: RESET_COLOR,
|
|
44
|
+
thinkingOff: RESET_COLOR,
|
|
45
|
+
thinkingMinimal: RESET_COLOR,
|
|
46
|
+
thinkingLow: RESET_COLOR,
|
|
47
|
+
thinkingMedium: RESET_COLOR,
|
|
48
|
+
thinkingHigh: RESET_COLOR,
|
|
49
|
+
thinkingXhigh: RESET_COLOR,
|
|
50
|
+
thinkingMax: RESET_COLOR,
|
|
51
|
+
bashMode: RESET_COLOR,
|
|
52
|
+
};
|
|
53
|
+
const SUPERCLASS_BACKGROUND_COLORS = {
|
|
54
|
+
selectedBg: RESET_COLOR,
|
|
55
|
+
userMessageBg: RESET_COLOR,
|
|
56
|
+
customMessageBg: RESET_COLOR,
|
|
57
|
+
toolPendingBg: RESET_COLOR,
|
|
58
|
+
toolSuccessBg: RESET_COLOR,
|
|
59
|
+
toolErrorBg: RESET_COLOR,
|
|
60
|
+
};
|
|
61
|
+
function preserveText(text) {
|
|
62
|
+
return text;
|
|
63
|
+
}
|
|
64
|
+
class PlainTextTheme extends Theme {
|
|
65
|
+
constructor() {
|
|
66
|
+
super(SUPERCLASS_FOREGROUND_COLORS, SUPERCLASS_BACKGROUND_COLORS, "256color", { name: "pi-web-plain-text" });
|
|
67
|
+
}
|
|
68
|
+
fg(color, text) {
|
|
69
|
+
void color;
|
|
70
|
+
return text;
|
|
71
|
+
}
|
|
72
|
+
bg(color, text) {
|
|
73
|
+
void color;
|
|
74
|
+
return text;
|
|
75
|
+
}
|
|
76
|
+
bold(text) {
|
|
77
|
+
return text;
|
|
78
|
+
}
|
|
79
|
+
italic(text) {
|
|
80
|
+
return text;
|
|
81
|
+
}
|
|
82
|
+
underline(text) {
|
|
83
|
+
return text;
|
|
84
|
+
}
|
|
85
|
+
inverse(text) {
|
|
86
|
+
return text;
|
|
87
|
+
}
|
|
88
|
+
strikethrough(text) {
|
|
89
|
+
return text;
|
|
90
|
+
}
|
|
91
|
+
getFgAnsi(color) {
|
|
92
|
+
void color;
|
|
93
|
+
return "";
|
|
94
|
+
}
|
|
95
|
+
getBgAnsi(color) {
|
|
96
|
+
void color;
|
|
97
|
+
return "";
|
|
98
|
+
}
|
|
99
|
+
getColorMode() {
|
|
100
|
+
return "256color";
|
|
101
|
+
}
|
|
102
|
+
getThinkingBorderColor(level) {
|
|
103
|
+
void level;
|
|
104
|
+
return preserveText;
|
|
105
|
+
}
|
|
106
|
+
getBashModeBorderColor() {
|
|
107
|
+
return preserveText;
|
|
108
|
+
}
|
|
109
|
+
}
|
|
110
|
+
/** Shared ANSI-free Theme facade for extension code running without a terminal. */
|
|
111
|
+
export const plainTextTheme = new PlainTextTheme();
|
|
112
|
+
//# sourceMappingURL=plainTextTheme.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"plainTextTheme.js","sourceRoot":"","sources":["../../../src/server/sessions/plainTextTheme.ts"],"names":[],"mappings":"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"}
|
|
@@ -2,9 +2,9 @@ import { constants } from "node:fs";
|
|
|
2
2
|
import { chmod, copyFile, mkdir, writeFile } from "node:fs/promises";
|
|
3
3
|
import { createHash } from "node:crypto";
|
|
4
4
|
import { join, resolve } from "node:path";
|
|
5
|
-
import { getAgentDir
|
|
5
|
+
import { getAgentDir } from "@earendil-works/pi-coding-agent";
|
|
6
6
|
import { piWebDataDir } from "../../config.js";
|
|
7
|
-
import { AuthService } from "./authService.js";
|
|
7
|
+
import { AuthService, createModelRuntimeForAgentDir } from "./authService.js";
|
|
8
8
|
/**
|
|
9
9
|
* Owns the normal-mode auth/model registries that are scoped to registered
|
|
10
10
|
* projects. Management-embed authentication intentionally stays outside this
|
|
@@ -77,7 +77,7 @@ export class ProjectAuthService {
|
|
|
77
77
|
await initializeProjectAuthFiles(paths, this.globalAgentDir);
|
|
78
78
|
const service = new AuthService({
|
|
79
79
|
modelRuntime: await (this.deps.createModelRuntime?.(paths)
|
|
80
|
-
??
|
|
80
|
+
?? createModelRuntimeForAgentDir(paths.directory)),
|
|
81
81
|
});
|
|
82
82
|
this.services.set(paths.directory, service);
|
|
83
83
|
this.subscriptions.set(paths.directory, service.subscribe((change) => {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"projectAuthService.js","sourceRoot":"","sources":["../../../src/server/sessions/projectAuthService.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,SAAS,CAAC;AACpC,OAAO,EAAE,KAAK,EAAE,QAAQ,EAAE,KAAK,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAC;AACrE,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AACzC,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAC1C,OAAO,EAAE,WAAW,
|
|
1
|
+
{"version":3,"file":"projectAuthService.js","sourceRoot":"","sources":["../../../src/server/sessions/projectAuthService.ts"],"names":[],"mappings":"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"}
|
|
@@ -14,6 +14,8 @@ export class SessionCommandService {
|
|
|
14
14
|
const session = active.runtime.session;
|
|
15
15
|
const [name = "", ...args] = text.trim().replace(/^\//, "").split(/\s+/);
|
|
16
16
|
const rest = args.join(" ").trim();
|
|
17
|
+
if (this.lifecycle.isTreeNavigationActive?.(session) === true)
|
|
18
|
+
return treeNavigationActiveUnsupported();
|
|
17
19
|
if (!isBuiltinCommand(name)) {
|
|
18
20
|
if (this.isRuntimeCommand(session, name)) {
|
|
19
21
|
// The command is forwarded to the agent, which expands it (e.g. /skill:*
|
|
@@ -37,6 +39,8 @@ export class SessionCommandService {
|
|
|
37
39
|
return this.clone(active, eventScope);
|
|
38
40
|
if (name === "fork")
|
|
39
41
|
return this.fork(active, eventScope);
|
|
42
|
+
if (name === "tree")
|
|
43
|
+
return this.tree(session);
|
|
40
44
|
return { type: "unsupported", message: `Web UI 尚未实现 /${name}` };
|
|
41
45
|
}
|
|
42
46
|
async respond(sessionId, requestId, value, eventScope) {
|
|
@@ -48,10 +52,18 @@ export class SessionCommandService {
|
|
|
48
52
|
if (sessionHasActiveWork(active.runtime.session))
|
|
49
53
|
return forkActiveUnsupported("fork");
|
|
50
54
|
const relatedName = await this.nextRelatedSessionName(active, "fork");
|
|
51
|
-
|
|
55
|
+
if (this.lifecycle.isTreeNavigationActive?.(active.runtime.session) === true)
|
|
56
|
+
return treeNavigationActiveUnsupported();
|
|
57
|
+
if (this.hasActiveWork(active.runtime.session))
|
|
58
|
+
return forkActiveUnsupported("fork");
|
|
59
|
+
const result = await this.runSessionReplacement(active.runtime, async () => {
|
|
60
|
+
const forkResult = await active.runtime.fork(value);
|
|
61
|
+
if (!forkResult.cancelled)
|
|
62
|
+
this.tryNameRelatedSession(active.runtime.session, relatedName, eventScope);
|
|
63
|
+
return forkResult;
|
|
64
|
+
});
|
|
52
65
|
if (result.cancelled)
|
|
53
66
|
return { type: "done", message: "已取消分叉" };
|
|
54
|
-
this.tryNameRelatedSession(active.runtime.session, relatedName, eventScope);
|
|
55
67
|
return { type: "done", message: "会话已分叉", session: clientSessionFromRuntime(active.runtime), ...promptDraft(result.selectedText) };
|
|
56
68
|
}
|
|
57
69
|
nameSession(active, name, eventScope) {
|
|
@@ -97,14 +109,25 @@ export class SessionCommandService {
|
|
|
97
109
|
async clone(active, eventScope) {
|
|
98
110
|
if (sessionHasActiveWork(active.runtime.session))
|
|
99
111
|
return forkActiveUnsupported("clone");
|
|
112
|
+
const initialLeafId = active.runtime.session.sessionManager.getLeafId();
|
|
113
|
+
if (initialLeafId === null || initialLeafId === "")
|
|
114
|
+
return { type: "unsupported", message: "无法克隆:没有当前会话条目" };
|
|
115
|
+
const relatedName = await this.nextRelatedSessionName(active, "copy");
|
|
116
|
+
if (this.lifecycle.isTreeNavigationActive?.(active.runtime.session) === true)
|
|
117
|
+
return treeNavigationActiveUnsupported();
|
|
118
|
+
if (this.hasActiveWork(active.runtime.session))
|
|
119
|
+
return forkActiveUnsupported("clone");
|
|
100
120
|
const leafId = active.runtime.session.sessionManager.getLeafId();
|
|
101
121
|
if (leafId === null || leafId === "")
|
|
102
122
|
return { type: "unsupported", message: "无法克隆:没有当前会话条目" };
|
|
103
|
-
const
|
|
104
|
-
|
|
123
|
+
const result = await this.runSessionReplacement(active.runtime, async () => {
|
|
124
|
+
const cloneResult = await active.runtime.fork(leafId, { position: "at" });
|
|
125
|
+
if (!cloneResult.cancelled)
|
|
126
|
+
this.tryNameRelatedSession(active.runtime.session, relatedName, eventScope);
|
|
127
|
+
return cloneResult;
|
|
128
|
+
});
|
|
105
129
|
if (result.cancelled)
|
|
106
130
|
return { type: "done", message: "已取消克隆" };
|
|
107
|
-
this.tryNameRelatedSession(active.runtime.session, relatedName, eventScope);
|
|
108
131
|
return { type: "done", message: "会话已克隆", session: clientSessionFromRuntime(active.runtime) };
|
|
109
132
|
}
|
|
110
133
|
fork(active, eventScope) {
|
|
@@ -122,6 +145,32 @@ export class SessionCommandService {
|
|
|
122
145
|
options: [...messages].reverse().map((message) => ({ value: message.entryId, label: truncate(message.text, 140) })),
|
|
123
146
|
};
|
|
124
147
|
}
|
|
148
|
+
tree(session) {
|
|
149
|
+
if (this.hasActiveWork(session)) {
|
|
150
|
+
return { type: "unsupported", message: "Cannot open the session tree while the session is active. Stop current activity and try /tree again." };
|
|
151
|
+
}
|
|
152
|
+
if (this.lifecycle.getSessionTree === undefined)
|
|
153
|
+
return treeUnavailableUnsupported();
|
|
154
|
+
try {
|
|
155
|
+
const tree = this.lifecycle.getSessionTree(session);
|
|
156
|
+
if (tree === undefined)
|
|
157
|
+
return treeUnavailableUnsupported();
|
|
158
|
+
if (tree.nodes.length === 0)
|
|
159
|
+
return { type: "unsupported", message: "Cannot navigate an empty session tree." };
|
|
160
|
+
return { type: "tree", tree };
|
|
161
|
+
}
|
|
162
|
+
catch (error) {
|
|
163
|
+
const message = error instanceof Error ? error.message : String(error);
|
|
164
|
+
return { type: "unsupported", message: `Unable to open the session tree: ${message}` };
|
|
165
|
+
}
|
|
166
|
+
}
|
|
167
|
+
hasActiveWork(session) {
|
|
168
|
+
return sessionHasActiveWork(session) || this.lifecycle.hasActiveWork?.(session) === true;
|
|
169
|
+
}
|
|
170
|
+
runSessionReplacement(runtime, operation) {
|
|
171
|
+
const runReplacement = this.lifecycle.runSessionReplacement;
|
|
172
|
+
return runReplacement === undefined ? operation() : runReplacement(runtime.session, operation);
|
|
173
|
+
}
|
|
125
174
|
async nextRelatedSessionName(active, kind) {
|
|
126
175
|
const sourceTitle = relatedSessionSourceTitle(active.runtime.session);
|
|
127
176
|
const sourceName = normalizedName(active.runtime.session.sessionName);
|
|
@@ -226,6 +275,12 @@ function sessionHasActiveWork(session) {
|
|
|
226
275
|
function forkActiveUnsupported(command) {
|
|
227
276
|
return { type: "unsupported", message: `会话活动期间无法${command === "fork" ? "分叉" : "克隆"}。请先停止当前活动。` };
|
|
228
277
|
}
|
|
278
|
+
function treeUnavailableUnsupported() {
|
|
279
|
+
return { type: "unsupported", message: "Session tree navigation is not available with this Pi runtime." };
|
|
280
|
+
}
|
|
281
|
+
function treeNavigationActiveUnsupported() {
|
|
282
|
+
return { type: "unsupported", message: "Cannot run commands while session tree navigation is active. Stop or finish the navigation first." };
|
|
283
|
+
}
|
|
229
284
|
function promptDraft(text) {
|
|
230
285
|
return text === undefined ? {} : { promptDraft: text };
|
|
231
286
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"sessionCommandService.js","sourceRoot":"","sources":["../../../src/server/sessions/sessionCommandService.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"sessionCommandService.js","sourceRoot":"","sources":["../../../src/server/sessions/sessionCommandService.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,45 @@
|
|
|
1
|
+
import { open } from "node:fs/promises";
|
|
2
|
+
/** Bytes read from a session file to parse its single-line JSON header. */
|
|
3
|
+
const HEADER_READ_BYTES = 4096;
|
|
4
|
+
/**
|
|
5
|
+
* Read a Pi session file's header without loading the whole transcript.
|
|
6
|
+
*
|
|
7
|
+
* Returns undefined for any unreadable, non-JSON, or non-session first line:
|
|
8
|
+
* callers use this to verify links between sessions, so an unusable header must
|
|
9
|
+
* behave the same as a missing one rather than throwing.
|
|
10
|
+
*/
|
|
11
|
+
export async function readSessionHeaderSummary(sessionFile) {
|
|
12
|
+
let file;
|
|
13
|
+
try {
|
|
14
|
+
file = await open(sessionFile, "r");
|
|
15
|
+
const buffer = Buffer.alloc(HEADER_READ_BYTES);
|
|
16
|
+
const { bytesRead } = await file.read(buffer, 0, buffer.length, 0);
|
|
17
|
+
const firstLine = buffer.toString("utf8", 0, bytesRead).split("\n", 1)[0];
|
|
18
|
+
if (firstLine === undefined || firstLine === "")
|
|
19
|
+
return undefined;
|
|
20
|
+
const header = JSON.parse(firstLine);
|
|
21
|
+
if (!isRecord(header) || header["type"] !== "session" || typeof header["id"] !== "string")
|
|
22
|
+
return undefined;
|
|
23
|
+
const cwd = nonEmptyStringField(header, "cwd");
|
|
24
|
+
const parentSession = nonEmptyStringField(header, "parentSession");
|
|
25
|
+
return {
|
|
26
|
+
id: header["id"],
|
|
27
|
+
...(cwd === undefined ? {} : { cwd }),
|
|
28
|
+
...(parentSession === undefined ? {} : { parentSession }),
|
|
29
|
+
};
|
|
30
|
+
}
|
|
31
|
+
catch {
|
|
32
|
+
return undefined;
|
|
33
|
+
}
|
|
34
|
+
finally {
|
|
35
|
+
await file?.close().catch(() => undefined);
|
|
36
|
+
}
|
|
37
|
+
}
|
|
38
|
+
function nonEmptyStringField(header, key) {
|
|
39
|
+
const value = header[key];
|
|
40
|
+
return typeof value === "string" && value !== "" ? value : undefined;
|
|
41
|
+
}
|
|
42
|
+
function isRecord(value) {
|
|
43
|
+
return typeof value === "object" && value !== null;
|
|
44
|
+
}
|
|
45
|
+
//# sourceMappingURL=sessionFileHeader.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"sessionFileHeader.js","sourceRoot":"","sources":["../../../src/server/sessions/sessionFileHeader.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,MAAM,kBAAkB,CAAC;AAExC,2EAA2E;AAC3E,MAAM,iBAAiB,GAAG,IAAI,CAAC;AAkB/B;;;;;;GAMG;AACH,MAAM,CAAC,KAAK,UAAU,wBAAwB,CAAC,WAAmB;IAChE,IAAI,IAAkD,CAAC;IACvD,IAAI,CAAC;QACH,IAAI,GAAG,MAAM,IAAI,CAAC,WAAW,EAAE,GAAG,CAAC,CAAC;QACpC,MAAM,MAAM,GAAG,MAAM,CAAC,KAAK,CAAC,iBAAiB,CAAC,CAAC;QAC/C,MAAM,EAAE,SAAS,EAAE,GAAG,MAAM,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC;QACnE,MAAM,SAAS,GAAG,MAAM,CAAC,QAAQ,CAAC,MAAM,EAAE,CAAC,EAAE,SAAS,CAAC,CAAC,KAAK,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QAC1E,IAAI,SAAS,KAAK,SAAS,IAAI,SAAS,KAAK,EAAE;YAAE,OAAO,SAAS,CAAC;QAClE,MAAM,MAAM,GAAY,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC;QAC9C,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,IAAI,MAAM,CAAC,MAAM,CAAC,KAAK,SAAS,IAAI,OAAO,MAAM,CAAC,IAAI,CAAC,KAAK,QAAQ;YAAE,OAAO,SAAS,CAAC;QAC5G,MAAM,GAAG,GAAG,mBAAmB,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC;QAC/C,MAAM,aAAa,GAAG,mBAAmB,CAAC,MAAM,EAAE,eAAe,CAAC,CAAC;QACnE,OAAO;YACL,EAAE,EAAE,MAAM,CAAC,IAAI,CAAC;YAChB,GAAG,CAAC,GAAG,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,GAAG,EAAE,CAAC;YACrC,GAAG,CAAC,aAAa,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,aAAa,EAAE,CAAC;SAC1D,CAAC;IACJ,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,SAAS,CAAC;IACnB,CAAC;YAAS,CAAC;QACT,MAAM,IAAI,EAAE,KAAK,EAAE,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,SAAS,CAAC,CAAC;IAC7C,CAAC;AACH,CAAC;AAED,SAAS,mBAAmB,CAAC,MAA+B,EAAE,GAAW;IACvE,MAAM,KAAK,GAAG,MAAM,CAAC,GAAG,CAAC,CAAC;IAC1B,OAAO,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,KAAK,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,SAAS,CAAC;AACvE,CAAC;AAED,SAAS,QAAQ,CAAC,KAAc;IAC9B,OAAO,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,KAAK,IAAI,CAAC;AACrD,CAAC"}
|