@chainingintention/pi-web-cn 1.202606.19 → 1.202606.20

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.
@@ -0,0 +1 @@
1
+ {"version":3,"file":"sessionArchiveMapping.js","sourceRoot":"","sources":["../../../src/server/sessions/sessionArchiveMapping.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,120 @@
1
+ export function toClientEvent(event) {
2
+ const eventType = getString(event, "type");
3
+ const assistantMessageEvent = getProperty(event, "assistantMessageEvent");
4
+ if (eventType === "message_update" && getString(assistantMessageEvent, "type") === "text_delta") {
5
+ return { type: "assistant.delta", text: getString(assistantMessageEvent, "delta") ?? "" };
6
+ }
7
+ if (eventType === "message_update" && getString(assistantMessageEvent, "type") === "thinking_delta") {
8
+ return { type: "assistant.thinking.delta", text: getString(assistantMessageEvent, "delta") ?? "" };
9
+ }
10
+ if (eventType === "tool_execution_start") {
11
+ const args = getProperty(event, "args");
12
+ return { type: "tool.start", toolName: getString(event, "toolName") ?? "", toolCallId: getString(event, "toolCallId") ?? "", summary: summarizeToolArgs(args), args };
13
+ }
14
+ if (eventType === "tool_execution_update") {
15
+ const partialResult = getProperty(event, "partialResult");
16
+ return { type: "tool.update", toolName: getString(event, "toolName") ?? "", toolCallId: getString(event, "toolCallId") ?? "", text: stringifyToolResult(partialResult), content: toolResultContent(partialResult), details: toolResultDetails(partialResult) };
17
+ }
18
+ if (eventType === "tool_execution_end") {
19
+ const result = getProperty(event, "result");
20
+ return { type: "tool.end", toolName: getString(event, "toolName") ?? "", toolCallId: getString(event, "toolCallId") ?? "", text: stringifyToolResult(result), content: toolResultContent(result), details: toolResultDetails(result), isError: getBoolean(event, "isError") === true };
21
+ }
22
+ if (eventType === "agent_start")
23
+ return { type: "agent.start" };
24
+ if (eventType === "agent_end")
25
+ return { type: "agent.end" };
26
+ if (eventType === "message_end") {
27
+ const message = getProperty(event, "message");
28
+ return message === undefined ? { type: "message.end" } : { type: "message.end", message };
29
+ }
30
+ return { type: "pi.event", eventType: eventType ?? "unknown" };
31
+ }
32
+ export function getProperty(value, key) {
33
+ return isRecord(value) ? value[key] : undefined;
34
+ }
35
+ export function getString(value, key) {
36
+ const property = getProperty(value, key);
37
+ return typeof property === "string" ? property : undefined;
38
+ }
39
+ export function getBoolean(value, key) {
40
+ const property = getProperty(value, key);
41
+ return typeof property === "boolean" ? property : undefined;
42
+ }
43
+ function summarizeToolArgs(args) {
44
+ if (!isRecord(args))
45
+ return stringifyPrimitive(args);
46
+ const command = getString(args, "command");
47
+ if (command !== undefined)
48
+ return command;
49
+ const path = getString(args, "path");
50
+ if (path !== undefined)
51
+ return path;
52
+ if (typeof args["oldText"] === "string" && typeof args["newText"] === "string")
53
+ return "edit text replacement";
54
+ const edits = args["edits"];
55
+ if (Array.isArray(edits))
56
+ return `${String(edits.length)} edit${edits.length === 1 ? "" : "s"}`;
57
+ const entries = Object.entries(args).filter(([, value]) => value != null).slice(0, 3);
58
+ return entries.map(([key, value]) => `${key}: ${shortToolValue(value)}`).join(" · ");
59
+ }
60
+ function shortToolValue(value) {
61
+ if (typeof value === "string")
62
+ return value.length > 80 ? `${value.slice(0, 77)}…` : value;
63
+ if (typeof value === "number" || typeof value === "boolean")
64
+ return String(value);
65
+ if (Array.isArray(value))
66
+ return `${String(value.length)} item${value.length === 1 ? "" : "s"}`;
67
+ if (typeof value === "object" && value !== null)
68
+ return "object";
69
+ return "";
70
+ }
71
+ function toolResultContent(result) {
72
+ if (isRecord(result)) {
73
+ const content = getProperty(result, "content");
74
+ if (content !== undefined)
75
+ return content;
76
+ const text = getString(result, "text") ?? getString(result, "output");
77
+ if (text !== undefined)
78
+ return [{ type: "text", text }];
79
+ }
80
+ if (typeof result === "string")
81
+ return [{ type: "text", text: result }];
82
+ return result;
83
+ }
84
+ function toolResultDetails(result) {
85
+ return isRecord(result) ? getProperty(result, "details") : undefined;
86
+ }
87
+ function stringifyToolResult(result) {
88
+ if (typeof result === "string")
89
+ return result;
90
+ if (Array.isArray(result))
91
+ return result.map(stringifyToolResult).filter((text) => text !== "").join("\n");
92
+ if (isRecord(result)) {
93
+ if (getString(result, "type") === "image")
94
+ return "[image]";
95
+ const text = getString(result, "text") ?? getString(result, "content") ?? getString(result, "output");
96
+ if (text !== undefined)
97
+ return text;
98
+ const content = getProperty(result, "content");
99
+ if (Array.isArray(content))
100
+ return stringifyToolResult(content);
101
+ return JSON.stringify(result, null, 2);
102
+ }
103
+ return stringifyPrimitive(result);
104
+ }
105
+ function isRecord(value) {
106
+ // Preserve legacy piSessionService behavior: top-level tool args/results can
107
+ // be arrays, and the event mappers still need indexed property access plus
108
+ // the old array-summary rendering.
109
+ return typeof value === "object" && value !== null;
110
+ }
111
+ function stringifyPrimitive(value) {
112
+ if (value == null)
113
+ return "";
114
+ if (typeof value === "string")
115
+ return value;
116
+ if (typeof value === "number" || typeof value === "boolean" || typeof value === "bigint")
117
+ return String(value);
118
+ return "";
119
+ }
120
+ //# sourceMappingURL=sessionUiEvents.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"sessionUiEvents.js","sourceRoot":"","sources":["../../../src/server/sessions/sessionUiEvents.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,195 @@
1
+ import { isPiWebPluginId, piWebPluginIdPattern } from "./pluginIds.js";
2
+ export function piWebConfigRecord(config) {
3
+ return {
4
+ ...(config.host !== undefined ? { host: config.host } : {}),
5
+ ...(config.port !== undefined ? { port: config.port } : {}),
6
+ ...(config.allowedHosts !== undefined ? { allowedHosts: config.allowedHosts } : {}),
7
+ ...(config.shortcuts !== undefined ? { shortcuts: config.shortcuts } : {}),
8
+ ...(config.plugins !== undefined ? { plugins: config.plugins } : {}),
9
+ ...(config.managementEmbed !== undefined ? { managementEmbed: config.managementEmbed } : {}),
10
+ ...(config.maxUploadBytes !== undefined ? { maxUploadBytes: config.maxUploadBytes } : {}),
11
+ ...(config.spawnSessions !== undefined ? { spawnSessions: config.spawnSessions } : {}),
12
+ ...(config.subsessions !== undefined ? { subsessions: config.subsessions } : {}),
13
+ };
14
+ }
15
+ export function parsePiWebConfig(value, path) {
16
+ return parsePiWebConfigFields(value, { format: "file", includeMaxUploadBytes: true, path });
17
+ }
18
+ export function parsePiWebConfigRequest(value) {
19
+ if (!isRecord(value))
20
+ throw new Error("PI WEB config update must include a config object");
21
+ return parsePiWebConfigFields(value, { format: "request", includeMaxUploadBytes: false });
22
+ }
23
+ export function parsePort(value, key, path = "environment") {
24
+ const port = typeof value === "number" ? value : typeof value === "string" && value !== "" ? Number(value) : NaN;
25
+ if (!Number.isInteger(port) || port < 1 || port > 65535)
26
+ throw new Error(`PI WEB config ${key} must be an integer from 1 to 65535: ${path}`);
27
+ return port;
28
+ }
29
+ export function parseMaxUploadBytes(value, key, path = "environment") {
30
+ const bytes = typeof value === "number" ? value : typeof value === "string" && value !== "" ? Number(value) : NaN;
31
+ if (!Number.isInteger(bytes) || bytes < 1)
32
+ throw new Error(`PI WEB config ${key} must be a positive integer: ${path}`);
33
+ return bytes;
34
+ }
35
+ export function parseAllowedHostsEnv(value) {
36
+ if (value === "true")
37
+ return true;
38
+ return value.split(",").map((host) => host.trim()).filter((host) => host !== "");
39
+ }
40
+ export function isRecord(value) {
41
+ return typeof value === "object" && value !== null && !Array.isArray(value);
42
+ }
43
+ function parsePiWebConfigFields(value, context) {
44
+ return {
45
+ ...(value["host"] !== undefined ? { host: parseString(value["host"], "host", context) } : {}),
46
+ ...(value["port"] !== undefined ? { port: context.format === "request" ? parseRequestPort(value["port"]) : parsePort(value["port"], "port", context.path) } : {}),
47
+ ...(value["allowedHosts"] !== undefined ? { allowedHosts: parseAllowedHosts(value["allowedHosts"], context) } : {}),
48
+ ...(value["shortcuts"] !== undefined ? { shortcuts: parseShortcuts(value["shortcuts"], context) } : {}),
49
+ ...(value["plugins"] !== undefined ? { plugins: parsePlugins(value["plugins"], context) } : {}),
50
+ ...(value["managementEmbed"] !== undefined ? { managementEmbed: parseManagementEmbed(value["managementEmbed"], context) } : {}),
51
+ ...(context.includeMaxUploadBytes && value["maxUploadBytes"] !== undefined ? { maxUploadBytes: parseMaxUploadBytes(value["maxUploadBytes"], "maxUploadBytes", context.path) } : {}),
52
+ ...(value["spawnSessions"] !== undefined ? { spawnSessions: parseBoolean(value["spawnSessions"], "spawnSessions", context) } : {}),
53
+ ...(value["subsessions"] !== undefined ? { subsessions: parseBoolean(value["subsessions"], "subsessions", context) } : {}),
54
+ };
55
+ }
56
+ function parseRequestPort(value) {
57
+ if (typeof value !== "number")
58
+ throw new Error("PI WEB config port must be a number");
59
+ return value;
60
+ }
61
+ function parseString(value, key, context) {
62
+ if (context.format === "request") {
63
+ if (key === "host") {
64
+ if (typeof value !== "string")
65
+ throw new Error("PI WEB config host must be a string");
66
+ return value;
67
+ }
68
+ if (typeof value !== "string" || value === "")
69
+ throw new Error(`PI WEB config ${key} must be a non-empty string`);
70
+ return value;
71
+ }
72
+ if (typeof value !== "string" || value === "")
73
+ throw new Error(`PI WEB config ${key} must be a non-empty string: ${context.path}`);
74
+ return value;
75
+ }
76
+ function parseBoolean(value, key, context) {
77
+ if (typeof value !== "boolean")
78
+ throw new Error(context.format === "request" ? `PI WEB config ${key} must be a boolean` : `PI WEB config ${key} must be a boolean: ${context.path}`);
79
+ return value;
80
+ }
81
+ function parseAllowedHosts(value, context) {
82
+ if (value === true)
83
+ return true;
84
+ if (context.format === "request") {
85
+ if (!Array.isArray(value) || !value.every((item) => typeof item === "string")) {
86
+ throw new Error("PI WEB config allowedHosts must be true or an array of strings");
87
+ }
88
+ return value;
89
+ }
90
+ if (!isNonEmptyStringArray(value)) {
91
+ throw new Error(`PI WEB config allowedHosts must be true or an array of non-empty strings: ${context.path}`);
92
+ }
93
+ return value;
94
+ }
95
+ function parseShortcuts(value, context) {
96
+ if (!isRecord(value))
97
+ throw new Error(context.format === "request" ? "PI WEB config shortcuts must be an object" : `PI WEB config shortcuts must be an object: ${context.path}`);
98
+ return Object.fromEntries(Object.entries(value).map(([actionId, shortcut]) => {
99
+ if (shortcut !== null && (typeof shortcut !== "string" || shortcut === "")) {
100
+ throw new Error(context.format === "request" ? "PI WEB config shortcut values must be non-empty strings or null" : `PI WEB config shortcut values must be non-empty strings or null: ${context.path}`);
101
+ }
102
+ return [actionId, shortcut];
103
+ }));
104
+ }
105
+ function parsePlugins(value, context) {
106
+ if (!isRecord(value) || Array.isArray(value))
107
+ throw new Error(context.format === "request" ? "PI WEB config plugins must be an object" : `PI WEB config plugins must be an object: ${context.path}`);
108
+ return Object.fromEntries(Object.entries(value).map(([pluginId, config]) => {
109
+ if (!isPiWebPluginId(pluginId))
110
+ throw new Error(context.format === "request" ? "PI WEB config plugin ids are invalid" : `PI WEB config plugin ids must match ${piWebPluginIdPattern.source}: ${context.path}`);
111
+ if (!isRecord(config) || Array.isArray(config))
112
+ throw new Error(context.format === "request" ? "PI WEB config plugin entries must be objects" : `PI WEB config plugin entries must be objects: ${context.path}`);
113
+ const enabled = config["enabled"];
114
+ if (enabled !== undefined && typeof enabled !== "boolean")
115
+ throw new Error(context.format === "request" ? "PI WEB config plugin enabled values must be booleans" : `PI WEB config plugin enabled values must be booleans: ${context.path}`);
116
+ const settings = config["settings"];
117
+ if (settings !== undefined && (!isRecord(settings) || Array.isArray(settings)))
118
+ throw new Error(context.format === "request" ? "PI WEB config plugin settings must be objects" : `PI WEB config plugin settings must be objects: ${context.path}`);
119
+ return [pluginId, config];
120
+ }));
121
+ }
122
+ function parseManagementEmbed(value, context) {
123
+ if (!isRecord(value) || Array.isArray(value))
124
+ throw new Error(error(context, "managementEmbed must be an object"));
125
+ const enabled = value["enabled"];
126
+ const projectRoot = value["projectRoot"];
127
+ const auth = value["auth"];
128
+ const sandbox = value["sandbox"];
129
+ const tools = value["tools"];
130
+ return {
131
+ ...(enabled === undefined ? {} : { enabled: parseBoolean(enabled, "managementEmbed.enabled", context) }),
132
+ ...(projectRoot === undefined ? {} : { projectRoot: parseString(projectRoot, "managementEmbed.projectRoot", context) }),
133
+ ...(auth === undefined ? {} : { auth: parseManagementEmbedAuth(auth, context) }),
134
+ ...(sandbox === undefined ? {} : { sandbox: parseManagementEmbedSandbox(sandbox, context) }),
135
+ ...(tools === undefined ? {} : { tools: parseManagementEmbedTools(tools, context) }),
136
+ };
137
+ }
138
+ function parseManagementEmbedAuth(value, context) {
139
+ if (!isRecord(value) || Array.isArray(value))
140
+ throw new Error(error(context, "managementEmbed.auth must be an object"));
141
+ if (value["introspectionUrl"] !== undefined || value["serviceSecretEnv"] !== undefined)
142
+ throw new Error(error(context, "managementEmbed.auth only supports local signed tokens"));
143
+ return {
144
+ ...(value["sharedSecretEnv"] === undefined ? {} : { sharedSecretEnv: parseString(value["sharedSecretEnv"], "managementEmbed.auth.sharedSecretEnv", context) }),
145
+ ...(value["issuer"] === undefined ? {} : { issuer: parseString(value["issuer"], "managementEmbed.auth.issuer", context) }),
146
+ ...(value["audience"] === undefined ? {} : { audience: parseString(value["audience"], "managementEmbed.auth.audience", context) }),
147
+ };
148
+ }
149
+ function parseManagementEmbedSandbox(value, context) {
150
+ if (!isRecord(value) || Array.isArray(value))
151
+ throw new Error(error(context, "managementEmbed.sandbox must be an object"));
152
+ return {
153
+ ...(value["pythonExecutable"] === undefined ? {} : { pythonExecutable: parseString(value["pythonExecutable"], "managementEmbed.sandbox.pythonExecutable", context) }),
154
+ ...(value["env"] === undefined ? {} : { env: parseStringRecord(value["env"], "managementEmbed.sandbox.env", context) }),
155
+ };
156
+ }
157
+ function parseManagementEmbedTools(value, context) {
158
+ if (!isRecord(value) || Array.isArray(value))
159
+ throw new Error(error(context, "managementEmbed.tools must be an object"));
160
+ return {
161
+ ...(value["allow"] === undefined ? {} : { allow: parseStringArray(value["allow"], "managementEmbed.tools.allow", context) }),
162
+ ...(value["deny"] === undefined ? {} : { deny: parseStringArray(value["deny"], "managementEmbed.tools.deny", context) }),
163
+ ...(value["permissions"] === undefined ? {} : { permissions: parseBooleanRecord(value["permissions"], "managementEmbed.tools.permissions", context) }),
164
+ };
165
+ }
166
+ function parseStringRecord(value, key, context) {
167
+ if (!isRecord(value) || Array.isArray(value))
168
+ throw new Error(error(context, `${key} must be an object`));
169
+ return Object.fromEntries(Object.entries(value).map(([recordKey, recordValue]) => {
170
+ if (typeof recordValue !== "string")
171
+ throw new Error(error(context, `${key} values must be strings`));
172
+ return [recordKey, recordValue];
173
+ }));
174
+ }
175
+ function parseBooleanRecord(value, key, context) {
176
+ if (!isRecord(value) || Array.isArray(value))
177
+ throw new Error(error(context, `${key} must be an object`));
178
+ return Object.fromEntries(Object.entries(value).map(([recordKey, recordValue]) => {
179
+ if (typeof recordValue !== "boolean")
180
+ throw new Error(error(context, `${key} values must be booleans`));
181
+ return [recordKey, recordValue];
182
+ }));
183
+ }
184
+ function parseStringArray(value, key, context) {
185
+ if (!isNonEmptyStringArray(value))
186
+ throw new Error(error(context, `${key} must be an array of non-empty strings`));
187
+ return value;
188
+ }
189
+ function error(context, message) {
190
+ return context.format === "request" ? `PI WEB config ${message}` : `PI WEB config ${message}: ${context.path}`;
191
+ }
192
+ function isNonEmptyStringArray(value) {
193
+ return Array.isArray(value) && value.every((item) => typeof item === "string" && item !== "");
194
+ }
195
+ //# sourceMappingURL=piWebConfigParsing.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"piWebConfigParsing.js","sourceRoot":"","sources":["../../src/shared/piWebConfigParsing.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@chainingintention/pi-web-cn",
3
- "version": "1.202606.19",
3
+ "version": "1.202606.20",
4
4
  "description": "Remote web UI and browser control plane for persistent Pi Coding Agent sessions.",
5
5
  "license": "MIT",
6
6
  "author": "Federico Jaramillo Martinez",