@jmfederico/pi-web 1.202610.1 → 1.202610.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.
Files changed (148) hide show
  1. package/README.md +23 -134
  2. package/dist/cli.js +4 -0
  3. package/dist/cli.js.map +1 -1
  4. package/dist/client/assets/index-BAl5IbYx.js +4429 -0
  5. package/dist/client/assets/vendor-editor-core-C2PJX3uW.js +10 -0
  6. package/dist/client/assets/{vendor-editor-languages-DOCw3vc9.js → vendor-editor-languages-CS6n1J8n.js} +1 -1
  7. package/dist/client/index.html +4 -48
  8. package/dist/config.js +8 -0
  9. package/dist/config.js.map +1 -1
  10. package/dist/pi-packages/captains-log/dist/browser/index.js +30 -32
  11. package/dist/pi-packages/captains-log/dist/companion.js +1 -1
  12. package/dist/pi-packages/captains-log/package.json +4 -4
  13. package/dist/pi-packages/relays/extensions/index.js +60 -0
  14. package/dist/pi-packages/relays/package.json +10 -1
  15. package/dist/pi-packages/relays/pi-web-plugin.js +31 -1
  16. package/dist/pi-packages/relays/prompts/relay-worktree.md +6 -16
  17. package/dist/pi-packages/relays/prompts/relay.md +6 -33
  18. package/dist/pi-packages/relays/relayDispatch.js +67 -0
  19. package/dist/pi-packages/relays/relayIdentity.js +37 -0
  20. package/dist/pi-packages/relays/relaysPanelElement.js +37 -12
  21. package/dist/pi-packages/relays/skills/relay/SKILL.md +24 -68
  22. package/dist/pi-packages/relays/skills/relay-runner/SKILL.md +40 -219
  23. package/dist/pi-packages/workflows/browser/pi-web-plugin.js +33 -0
  24. package/dist/pi-packages/workflows/package.json +22 -0
  25. package/dist/pi-packages/workflows/prompts/worktree.md +12 -0
  26. package/dist/pi-web-plugins/files/browser/pi-web-plugin.js +49 -51
  27. package/dist/pi-web-plugins/git/browser/git-panel.js +0 -1
  28. package/dist/pi-web-plugins/git/server-plugin.js +13 -2
  29. package/dist/pi-web-plugins/git/workspace-discovery-notify.cjs +14 -0
  30. package/dist/pi-web-plugins/git/workspaceDiscoveryHooks.js +186 -0
  31. package/dist/pi-web-plugins/info/infoInternals.js +3 -3
  32. package/dist/pi-web-plugins/info/pi-web-plugin.js +1 -1
  33. package/dist/pi-web-plugins/mermaid/browser/mermaid-engine.js +1087 -422
  34. package/dist/pi-web-plugins/terminal/browser/pi-web-plugin.js +30 -30
  35. package/dist/pi-web-plugins/updates/pi-web-plugin.js +1 -1
  36. package/dist/piWebUpdate.js +2 -2
  37. package/dist/piWebUpdate.js.map +1 -1
  38. package/dist/plugin-api.d.ts +229 -8
  39. package/dist/server/activity/workspaceActivityService.js +4 -1
  40. package/dist/server/activity/workspaceActivityService.js.map +1 -1
  41. package/dist/server/app.js +5 -0
  42. package/dist/server/app.js.map +1 -1
  43. package/dist/server/configRoutes.js +6 -0
  44. package/dist/server/configRoutes.js.map +1 -1
  45. package/dist/server/knownAutoInstallPiPackages.js +6 -0
  46. package/dist/server/knownAutoInstallPiPackages.js.map +1 -1
  47. package/dist/server/navigationPreferenceRoutes.js +39 -0
  48. package/dist/server/navigationPreferenceRoutes.js.map +1 -0
  49. package/dist/server/plugins/projectPluginSettings.js +95 -0
  50. package/dist/server/plugins/projectPluginSettings.js.map +1 -0
  51. package/dist/server/plugins/serverPluginRuntime.js +26 -3
  52. package/dist/server/plugins/serverPluginRuntime.js.map +1 -1
  53. package/dist/server/sessiond/autoInstallPiPackages.js +3 -3
  54. package/dist/server/sessiond/workspaceCatalogRoutes.js +3 -1
  55. package/dist/server/sessiond/workspaceCatalogRoutes.js.map +1 -1
  56. package/dist/server/sessiond/workspaceNotificationRoutes.js +41 -0
  57. package/dist/server/sessiond/workspaceNotificationRoutes.js.map +1 -0
  58. package/dist/server/sessiond.js +40 -7
  59. package/dist/server/sessiond.js.map +1 -1
  60. package/dist/server/sessions/askUserDomain.js +232 -0
  61. package/dist/server/sessions/askUserDomain.js.map +1 -0
  62. package/dist/server/sessions/askUserTool.js +15 -17
  63. package/dist/server/sessions/askUserTool.js.map +1 -1
  64. package/dist/server/sessions/dockerEnvironmentFacts.js +8 -0
  65. package/dist/server/sessions/dockerEnvironmentFacts.js.map +1 -1
  66. package/dist/server/sessions/extensionSessionDispatch.js +76 -0
  67. package/dist/server/sessions/extensionSessionDispatch.js.map +1 -0
  68. package/dist/server/sessions/globalProviderPolicy.js +71 -16
  69. package/dist/server/sessions/globalProviderPolicy.js.map +1 -1
  70. package/dist/server/sessions/messageHistoryTarget.js +61 -0
  71. package/dist/server/sessions/messageHistoryTarget.js.map +1 -0
  72. package/dist/server/sessions/piSessionManagerGateway.js +23 -24
  73. package/dist/server/sessions/piSessionManagerGateway.js.map +1 -1
  74. package/dist/server/sessions/piSessionService.js +759 -276
  75. package/dist/server/sessions/piSessionService.js.map +1 -1
  76. package/dist/server/sessions/queuedMessageMutation.js +168 -0
  77. package/dist/server/sessions/queuedMessageMutation.js.map +1 -0
  78. package/dist/server/sessions/sessionArchiveStore.js +5 -1
  79. package/dist/server/sessions/sessionArchiveStore.js.map +1 -1
  80. package/dist/server/sessions/sessionArchiveTree.js +2 -2
  81. package/dist/server/sessions/sessionArchiveTree.js.map +1 -1
  82. package/dist/server/sessions/sessionCommandService.js +9 -3
  83. package/dist/server/sessions/sessionCommandService.js.map +1 -1
  84. package/dist/server/sessions/sessionImageDimensions.js +31 -0
  85. package/dist/server/sessions/sessionImageDimensions.js.map +1 -0
  86. package/dist/server/sessions/sessionMediaIndex.js +7 -1
  87. package/dist/server/sessions/sessionMediaIndex.js.map +1 -1
  88. package/dist/server/sessions/sessionMetadata.js +51 -0
  89. package/dist/server/sessions/sessionMetadata.js.map +1 -0
  90. package/dist/server/sessions/sessionNameGenerator.js +8 -28
  91. package/dist/server/sessions/sessionNameGenerator.js.map +1 -1
  92. package/dist/server/sessions/sessionRoutes.js +20 -2
  93. package/dist/server/sessions/sessionRoutes.js.map +1 -1
  94. package/dist/server/sessions/sessionSummaryScanner.js +62 -5
  95. package/dist/server/sessions/sessionSummaryScanner.js.map +1 -1
  96. package/dist/server/sessions/spawnSessionTool.js +3 -1
  97. package/dist/server/sessions/spawnSessionTool.js.map +1 -1
  98. package/dist/server/sessions/spawnSubsessionTool.js +25 -17
  99. package/dist/server/sessions/spawnSubsessionTool.js.map +1 -1
  100. package/dist/server/sessions/subsessionCompletionDelivery.js +15 -0
  101. package/dist/server/sessions/subsessionCompletionDelivery.js.map +1 -0
  102. package/dist/server/sessions/subsessionCompletionInbox.js +134 -0
  103. package/dist/server/sessions/subsessionCompletionInbox.js.map +1 -0
  104. package/dist/server/sessions/subsessionProvenance.js +27 -0
  105. package/dist/server/sessions/subsessionProvenance.js.map +1 -0
  106. package/dist/server/status/machineStatusService.js +17 -5
  107. package/dist/server/status/machineStatusService.js.map +1 -1
  108. package/dist/server/storage/navigationPreferenceStore.js +137 -0
  109. package/dist/server/storage/navigationPreferenceStore.js.map +1 -0
  110. package/dist/server/workspaces/projectPiWebConfig.js +88 -6
  111. package/dist/server/workspaces/projectPiWebConfig.js.map +1 -1
  112. package/dist/server/workspaces/workspaceChangeNotifier.js +12 -0
  113. package/dist/server/workspaces/workspaceChangeNotifier.js.map +1 -0
  114. package/dist/server/workspaces/workspaceNotificationCommand.js +64 -0
  115. package/dist/server/workspaces/workspaceNotificationCommand.js.map +1 -0
  116. package/dist/server/workspaces/workspaceProviderRegistry.js +55 -0
  117. package/dist/server/workspaces/workspaceProviderRegistry.js.map +1 -1
  118. package/dist/server-plugin-api.d.ts +18 -0
  119. package/dist/server-plugin-api.js.map +1 -1
  120. package/dist/sessiond/sessionDaemonClient.js +3 -3
  121. package/dist/sessiond/sessionDaemonClient.js.map +1 -1
  122. package/dist/shared/apiTypes.js +2 -2
  123. package/dist/shared/apiTypes.js.map +1 -1
  124. package/dist/shared/federatedRoutes.js +6 -0
  125. package/dist/shared/federatedRoutes.js.map +1 -1
  126. package/dist/shared/machineStatus.js +11 -2
  127. package/dist/shared/machineStatus.js.map +1 -1
  128. package/dist/shared/navigationPreferences.js +6 -0
  129. package/dist/shared/navigationPreferences.js.map +1 -0
  130. package/dist/shared/pluginApiTypes.d.ts +2 -0
  131. package/dist/shared/sessionMedia.js +6 -0
  132. package/dist/shared/sessionMedia.js.map +1 -1
  133. package/dist/shared/streamingBehavior.js +7 -0
  134. package/dist/shared/streamingBehavior.js.map +1 -0
  135. package/dist/shared/themePreference.js +23 -0
  136. package/dist/shared/themePreference.js.map +1 -0
  137. package/dist/workspaceNotificationCli.js +95 -0
  138. package/dist/workspaceNotificationCli.js.map +1 -0
  139. package/docs/config.md +111 -86
  140. package/docs/plugins.md +105 -30
  141. package/examples/session-bridge-plugin/package.json +2 -2
  142. package/examples/session-bridge-plugin/src/companion.ts +1 -1
  143. package/examples/workspace-provider-plugin/package.json +1 -1
  144. package/package.json +33 -33
  145. package/dist/client/assets/index-CBjDnBIN.js +0 -4178
  146. package/dist/client/assets/vendor-editor-core-YWog6mAR.js +0 -10
  147. package/dist/server/sessions/pendingAskStore.js +0 -275
  148. package/dist/server/sessions/pendingAskStore.js.map +0 -1
@@ -0,0 +1,168 @@
1
+ const incompatibilityReason = "Queue message controls are unavailable because this Pi SDK queue interface is incompatible.";
2
+ let inspectionSequence = 0;
3
+ /** Fail closed for one runtime, without taking its public session operations down. */
4
+ export class QueueCompatibilityGuard {
5
+ constructor(onFailure) {
6
+ this.onFailure = onFailure;
7
+ this.failures = new WeakMap();
8
+ }
9
+ reason(runtime) { return this.failures.get(runtime); }
10
+ assertAvailable(runtime) {
11
+ const reason = this.reason(runtime);
12
+ if (reason !== undefined)
13
+ throw new Error(reason);
14
+ }
15
+ run(runtime, operation) {
16
+ this.assertAvailable(runtime);
17
+ try {
18
+ return operation();
19
+ }
20
+ catch (error) {
21
+ this.failures.set(runtime, incompatibilityReason);
22
+ this.onFailure(runtime, error);
23
+ throw new Error(incompatibilityReason, { cause: error });
24
+ }
25
+ }
26
+ inspect(runtime, operation, fallback) {
27
+ if (this.reason(runtime) !== undefined)
28
+ return fallback();
29
+ try {
30
+ return this.run(runtime, operation);
31
+ }
32
+ catch {
33
+ return fallback();
34
+ }
35
+ }
36
+ }
37
+ function isRecord(value) {
38
+ return typeof value === "object" && value !== null && !Array.isArray(value);
39
+ }
40
+ function isQueuedMessage(value) {
41
+ return isRecord(value) && (value["kind"] === "steer" || value["kind"] === "followUp") && typeof value["text"] === "string"
42
+ && (value["hasAttachments"] === undefined || typeof value["hasAttachments"] === "boolean")
43
+ && (value["attachmentCount"] === undefined || (typeof value["attachmentCount"] === "number" && Number.isSafeInteger(value["attachmentCount"]) && value["attachmentCount"] >= 0));
44
+ }
45
+ export function parseQueueMessageMutation(value) {
46
+ if (!isRecord(value))
47
+ throw new Error("Queue mutation is required");
48
+ const { action, index, expectedQueue } = value;
49
+ if (action !== "remove" && action !== "edit" && action !== "toggle")
50
+ throw new Error("Invalid queue action");
51
+ if (typeof index !== "number" || !Number.isSafeInteger(index) || index < 0)
52
+ throw new Error("Invalid queue index");
53
+ if (!Array.isArray(expectedQueue) || !expectedQueue.every(isQueuedMessage))
54
+ throw new Error("Invalid expected queue");
55
+ return { action, index, expectedQueue: expectedQueue.map(({ kind, text, hasAttachments, attachmentCount }) => ({ kind, text, ...(hasAttachments === undefined ? {} : { hasAttachments }), ...(attachmentCount === undefined ? {} : { attachmentCount }) })) };
56
+ }
57
+ function isQueueMessage(value) {
58
+ if (!isRecord(value) || typeof value["role"] !== "string")
59
+ return false;
60
+ if (value["role"] !== "user")
61
+ return true; // Opaque extension/tool messages are preserved, not interpreted.
62
+ const content = value["content"];
63
+ return typeof content === "string" || (Array.isArray(content) && content.every((part) => isRecord(part)
64
+ && typeof part["type"] === "string" && (part["type"] !== "text" || typeof part["text"] === "string")));
65
+ }
66
+ function queueModes(agent) {
67
+ return { steer: agent.steeringMode, followUp: agent.followUpMode };
68
+ }
69
+ function readQueue(agent) {
70
+ const value = agent.peekQueuedMessages();
71
+ if (!Array.isArray(value) || !value.every(isQueueMessage))
72
+ throw new Error("SDK queue inspection returned invalid messages");
73
+ return [...value];
74
+ }
75
+ /** No awaits: the agent loop cannot consume queues between snapshot and rebuild. */
76
+ export function snapshotAgentQueues(agent) {
77
+ const steeringMode = agent.steeringMode;
78
+ const followUpMode = agent.followUpMode;
79
+ const sentinel = { role: "user", content: `pi-web-queue-inspection-${String(++inspectionSequence)}`, timestamp: 0 };
80
+ let steer;
81
+ try {
82
+ agent.steeringMode = "all";
83
+ agent.followUpMode = "all";
84
+ const modes = queueModes(agent);
85
+ if (modes.steer !== "all" || modes.followUp !== "all")
86
+ throw new Error("SDK queue modes are not writable");
87
+ // Validate the return signature before touching any queued messages.
88
+ if (readQueue(agent).length === 0)
89
+ return { steer: [], followUp: [] };
90
+ agent.steer(sentinel);
91
+ const selected = readQueue(agent);
92
+ const last = selected.at(-1);
93
+ if (last !== sentinel) {
94
+ // If inspection now returns copies, remove the recognizable probe during
95
+ // rollback, but still disable operations that assumed SDK object identity.
96
+ if (last?.role === "user" && last.content === sentinel.content && last.timestamp === 0)
97
+ steer = selected.slice(0, -1);
98
+ throw new Error("SDK queue inspection no longer preserves queued message identity");
99
+ }
100
+ steer = selected.slice(0, -1);
101
+ agent.clearSteeringQueue();
102
+ return { steer, followUp: readQueue(agent) };
103
+ }
104
+ finally {
105
+ // Never clear originals when inspection failed before a trustworthy snapshot.
106
+ try {
107
+ if (steer !== undefined) {
108
+ agent.clearSteeringQueue();
109
+ for (const message of steer)
110
+ agent.steer(message);
111
+ }
112
+ }
113
+ finally {
114
+ try {
115
+ agent.steeringMode = steeringMode;
116
+ }
117
+ finally {
118
+ agent.followUpMode = followUpMode;
119
+ }
120
+ }
121
+ }
122
+ }
123
+ export function hasQueueApi(agent) {
124
+ return [agent.peekQueuedMessages, agent.clearSteeringQueue, agent.clearAllQueues, agent.steer, agent.followUp]
125
+ .every((method) => typeof method === "function" && method.constructor.name !== "AsyncFunction")
126
+ && (agent.steeringMode === "all" || agent.steeringMode === "one-at-a-time")
127
+ && (agent.followUpMode === "all" || agent.followUpMode === "one-at-a-time");
128
+ }
129
+ export function mutableQueueAgent(agent) {
130
+ if (!hasQueueApi(agent))
131
+ throw new Error("Runtime does not support synchronous queue message mutation");
132
+ return agent;
133
+ }
134
+ /** SDK getters expose mutable backing arrays despite our read-only session contract. */
135
+ export function mutableTextMirror(texts) {
136
+ if (!Array.isArray(texts) || !texts.every((text) => typeof text === "string") || typeof texts.splice !== "function"
137
+ || !Object.isExtensible(texts) || Object.isSealed(texts) || Object.getOwnPropertyDescriptor(texts, "length")?.writable !== true
138
+ || Object.keys(texts).some((key) => /^\d+$/.test(key) && Object.getOwnPropertyDescriptor(texts, key)?.writable !== true)) {
139
+ throw new Error("SDK queue text mirrors are not mutable string arrays");
140
+ }
141
+ return texts;
142
+ }
143
+ export function queuedMessageAttachmentCount(message) {
144
+ return message.role === "user" && Array.isArray(message.content) ? message.content.filter((part) => part.type === "image").length : 0;
145
+ }
146
+ function matchQueueEntries(messages, texts) {
147
+ let start = 0;
148
+ return texts.map((text) => {
149
+ const index = messages.findIndex((message, index) => index >= start && message.role === "user"
150
+ && (typeof message.content === "string" ? message.content : message.content.filter((part) => part.type === "text").map((part) => part.text).join("")) === text);
151
+ const message = messages[index];
152
+ if (index >= 0)
153
+ start = index + 1;
154
+ return { text, message };
155
+ });
156
+ }
157
+ export function mirroredQueueEntries(messages, texts) {
158
+ return matchQueueEntries(messages, texts).map(({ text, message }) => {
159
+ if (message === undefined)
160
+ throw new Error("Runtime queue text mirrors are out of sync");
161
+ return { text, message };
162
+ });
163
+ }
164
+ /** Queue-update events can briefly precede the SDK's full-message enqueue. */
165
+ export function queuedMessageAttachmentCounts(messages, texts) {
166
+ return matchQueueEntries(messages, texts).map(({ message }) => message === undefined ? 0 : queuedMessageAttachmentCount(message));
167
+ }
168
+ //# sourceMappingURL=queuedMessageMutation.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"queuedMessageMutation.js","sourceRoot":"","sources":["../../../src/server/sessions/queuedMessageMutation.ts"],"names":[],"mappings":"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"}
@@ -4,6 +4,7 @@ import { access, copyFile, mkdir, readFile, rename, unlink, writeFile } from "no
4
4
  import { basename, dirname, join } from "node:path";
5
5
  import { piWebDataDir } from "../../config.js";
6
6
  import { canonicalizeStoredCwd } from "../workingDirectory.js";
7
+ import { requireSessionUiMetadata } from "./sessionMetadata.js";
7
8
  export function defaultSessionArchiveFilePath(env = process.env, cwd = process.cwd()) {
8
9
  return join(piWebDataDir(env, cwd), "archived-sessions.json");
9
10
  }
@@ -18,7 +19,7 @@ export class SessionArchiveStore {
18
19
  }
19
20
  async get(sessionId) {
20
21
  const sessions = (await this.read()).sessions;
21
- return sessions.find((session) => session.sessionId === sessionId) ?? sessions.find((session) => session.sessionId.startsWith(sessionId));
22
+ return sessions.find((session) => session.sessionId === sessionId);
22
23
  }
23
24
  async archive(session) {
24
25
  const [record] = await this.archiveMany([session]);
@@ -147,6 +148,7 @@ function archiveRecordFromInput(session, archive) {
147
148
  modified: session.modified,
148
149
  messageCount: session.messageCount,
149
150
  firstMessage: session.firstMessage,
151
+ ...(session.metadata === undefined ? {} : { metadata: requireSessionUiMetadata(session.metadata) }),
150
152
  ...(session.name === undefined ? {} : { name: session.name }),
151
153
  ...(session.parentSessionPath === undefined ? {} : { parentSessionPath: session.parentSessionPath }),
152
154
  };
@@ -217,6 +219,7 @@ function parseArchivedSessionRecord(value) {
217
219
  const firstMessage = optionalString(value, "firstMessage");
218
220
  const name = optionalString(value, "name");
219
221
  const parentSessionPath = optionalString(value, "parentSessionPath");
222
+ const metadata = value["metadata"] === undefined ? undefined : requireSessionUiMetadata(value["metadata"]);
220
223
  return {
221
224
  sessionId,
222
225
  cwd: canonicalCwd,
@@ -227,6 +230,7 @@ function parseArchivedSessionRecord(value) {
227
230
  ...(modified === undefined ? {} : { modified }),
228
231
  ...(messageCount === undefined ? {} : { messageCount }),
229
232
  ...(firstMessage === undefined ? {} : { firstMessage }),
233
+ ...(metadata === undefined ? {} : { metadata }),
230
234
  ...(name === undefined ? {} : { name }),
231
235
  ...(parentSessionPath === undefined ? {} : { parentSessionPath }),
232
236
  };
@@ -1 +1 @@
1
- {"version":3,"file":"sessionArchiveStore.js","sourceRoot":"","sources":["../../../src/server/sessions/sessionArchiveStore.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"sessionArchiveStore.js","sourceRoot":"","sources":["../../../src/server/sessions/sessionArchiveStore.ts"],"names":[],"mappings":"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"}
@@ -1,5 +1,5 @@
1
- export function findArchiveCandidateByIdOrPrefix(candidates, sessionId) {
2
- return candidates.find((candidate) => candidate.id === sessionId) ?? candidates.find((candidate) => candidate.id.startsWith(sessionId));
1
+ export function findArchiveCandidateByExactId(candidates, sessionId) {
2
+ return candidates.find((candidate) => candidate.id === sessionId);
3
3
  }
4
4
  export function planSessionArchiveTree(root, candidates) {
5
5
  const targets = sessionArchiveSubtree(root, candidates);
@@ -1 +1 @@
1
- {"version":3,"file":"sessionArchiveTree.js","sourceRoot":"","sources":["../../../src/server/sessions/sessionArchiveTree.ts"],"names":[],"mappings":"AAaA,MAAM,UAAU,gCAAgC,CAAwC,UAAwB,EAAE,SAAiB;IACjI,OAAO,UAAU,CAAC,IAAI,CAAC,CAAC,SAAS,EAAE,EAAE,CAAC,SAAS,CAAC,EAAE,KAAK,SAAS,CAAC,IAAI,UAAU,CAAC,IAAI,CAAC,CAAC,SAAS,EAAE,EAAE,CAAC,SAAS,CAAC,EAAE,CAAC,UAAU,CAAC,SAAS,CAAC,CAAC,CAAC;AAC1I,CAAC;AAED,MAAM,UAAU,sBAAsB,CAAwC,IAAO,EAAE,UAAwB;IAC7G,MAAM,OAAO,GAAG,qBAAqB,CAAC,IAAI,EAAE,UAAU,CAAC,CAAC;IACxD,MAAM,iBAAiB,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;IACvE,OAAO;QACL,OAAO;QACP,iBAAiB;QACjB,2BAA2B,EAAE,OAAO,CAAC,MAAM,GAAG,iBAAiB,CAAC,MAAM;KACvE,CAAC;AACJ,CAAC;AAED,SAAS,qBAAqB,CAAwC,IAAO,EAAE,UAAwB;IACrG,MAAM,oBAAoB,GAAG,IAAI,GAAG,EAAe,CAAC;IACpD,KAAK,MAAM,SAAS,IAAI,UAAU,EAAE,CAAC;QACnC,IAAI,SAAS,CAAC,iBAAiB,KAAK,SAAS;YAAE,SAAS;QACxD,MAAM,QAAQ,GAAG,oBAAoB,CAAC,GAAG,CAAC,SAAS,CAAC,iBAAiB,CAAC,IAAI,EAAE,CAAC;QAC7E,QAAQ,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;QACzB,oBAAoB,CAAC,GAAG,CAAC,SAAS,CAAC,iBAAiB,EAAE,QAAQ,CAAC,CAAC;IAClE,CAAC;IAED,MAAM,MAAM,GAAQ,EAAE,CAAC;IACvB,MAAM,KAAK,GAAG,CAAC,SAAY,EAAE,SAAsB,EAAE,EAAE;QACrD,IAAI,SAAS,CAAC,GAAG,CAAC,SAAS,CAAC,IAAI,CAAC;YAAE,OAAO;QAC1C,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;QACvB,MAAM,aAAa,GAAG,IAAI,GAAG,CAAC,SAAS,CAAC,CAAC;QACzC,aAAa,CAAC,GAAG,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC;QAClC,KAAK,MAAM,KAAK,IAAI,oBAAoB,CAAC,GAAG,CAAC,SAAS,CAAC,IAAI,CAAC,IAAI,EAAE;YAAE,KAAK,CAAC,KAAK,EAAE,aAAa,CAAC,CAAC;IAClG,CAAC,CAAC;IACF,KAAK,CAAC,IAAI,EAAE,IAAI,GAAG,EAAE,CAAC,CAAC;IACvB,OAAO,MAAM,CAAC;AAChB,CAAC"}
1
+ {"version":3,"file":"sessionArchiveTree.js","sourceRoot":"","sources":["../../../src/server/sessions/sessionArchiveTree.ts"],"names":[],"mappings":"AAaA,MAAM,UAAU,6BAA6B,CAAwC,UAAwB,EAAE,SAAiB;IAC9H,OAAO,UAAU,CAAC,IAAI,CAAC,CAAC,SAAS,EAAE,EAAE,CAAC,SAAS,CAAC,EAAE,KAAK,SAAS,CAAC,CAAC;AACpE,CAAC;AAED,MAAM,UAAU,sBAAsB,CAAwC,IAAO,EAAE,UAAwB;IAC7G,MAAM,OAAO,GAAG,qBAAqB,CAAC,IAAI,EAAE,UAAU,CAAC,CAAC;IACxD,MAAM,iBAAiB,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;IACvE,OAAO;QACL,OAAO;QACP,iBAAiB;QACjB,2BAA2B,EAAE,OAAO,CAAC,MAAM,GAAG,iBAAiB,CAAC,MAAM;KACvE,CAAC;AACJ,CAAC;AAED,SAAS,qBAAqB,CAAwC,IAAO,EAAE,UAAwB;IACrG,MAAM,oBAAoB,GAAG,IAAI,GAAG,EAAe,CAAC;IACpD,KAAK,MAAM,SAAS,IAAI,UAAU,EAAE,CAAC;QACnC,IAAI,SAAS,CAAC,iBAAiB,KAAK,SAAS;YAAE,SAAS;QACxD,MAAM,QAAQ,GAAG,oBAAoB,CAAC,GAAG,CAAC,SAAS,CAAC,iBAAiB,CAAC,IAAI,EAAE,CAAC;QAC7E,QAAQ,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;QACzB,oBAAoB,CAAC,GAAG,CAAC,SAAS,CAAC,iBAAiB,EAAE,QAAQ,CAAC,CAAC;IAClE,CAAC;IAED,MAAM,MAAM,GAAQ,EAAE,CAAC;IACvB,MAAM,KAAK,GAAG,CAAC,SAAY,EAAE,SAAsB,EAAE,EAAE;QACrD,IAAI,SAAS,CAAC,GAAG,CAAC,SAAS,CAAC,IAAI,CAAC;YAAE,OAAO;QAC1C,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;QACvB,MAAM,aAAa,GAAG,IAAI,GAAG,CAAC,SAAS,CAAC,CAAC;QACzC,aAAa,CAAC,GAAG,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC;QAClC,KAAK,MAAM,KAAK,IAAI,oBAAoB,CAAC,GAAG,CAAC,SAAS,CAAC,IAAI,CAAC,IAAI,EAAE;YAAE,KAAK,CAAC,KAAK,EAAE,aAAa,CAAC,CAAC;IAClG,CAAC,CAAC;IACF,KAAK,CAAC,IAAI,EAAE,IAAI,GAAG,EAAE,CAAC,CAAC;IACvB,OAAO,MAAM,CAAC;AAChB,CAAC"}
@@ -55,7 +55,7 @@ export class SessionCommandService {
55
55
  * the original session untouched. Shared by the `/fork` select response and the
56
56
  * session-tree fork-from-entry path. User entries fork from "before" so their
57
57
  * text returns as a prompt draft; every other entry forks "at" so the forked
58
- * file includes it.
58
+ * file includes it. Extension commands may explicitly choose the SDK position.
59
59
  */
60
60
  async forkEntry(sessionId, entryId, options) {
61
61
  const active = await this.getActive(sessionId);
@@ -70,13 +70,19 @@ export class SessionCommandService {
70
70
  return forkActiveUnsupported("fork");
71
71
  const result = await this.runSessionReplacement(active.runtime, async () => {
72
72
  const session = active.runtime.session;
73
+ if (options?.expectedSession !== undefined && session !== options.expectedSession) {
74
+ throw new Error("The session runtime changed before forking. Try again from the current session.");
75
+ }
73
76
  if (options !== undefined && session.sessionManager.getLeafId() !== options.expectedLeafId) {
74
77
  throw new Error("The session changed since /tree was opened. Reopen /tree and try again.");
75
78
  }
76
79
  // Resolve the entry kind from the session state protected by the same
77
80
  // replacement boundary as the fork, not Pi's text-only /fork selector.
78
- const position = this.forkPosition(session, entryId);
79
- const forkResult = await active.runtime.fork(entryId, { position });
81
+ const position = options?.position ?? this.forkPosition(session, entryId);
82
+ const forkResult = await active.runtime.fork(entryId, {
83
+ position,
84
+ ...(options?.withSession === undefined ? {} : { withSession: options.withSession }),
85
+ });
80
86
  if (!forkResult.cancelled)
81
87
  this.tryNameRelatedSession(active.runtime.session, relatedName);
82
88
  return forkResult;
@@ -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":"AAAA,OAAO,MAAM,MAAM,aAAa,CAAC;AAIjC,OAAO,EAAE,gBAAgB,EAAE,MAAM,sBAAsB,CAAC;AA0ExD,MAAM,OAAO,qBAAqB;IAGhC,YACmB,SAA4C,EAC5C,MAA0D,EAC1D,MAA6B,EAC7B,YAA+C,EAAE,EACjD,SAA+B,EAAE;QAJjC,cAAS,GAAT,SAAS,CAAmC;QAC5C,WAAM,GAAN,MAAM,CAAoD;QAC1D,WAAM,GAAN,MAAM,CAAuB;QAC7B,cAAS,GAAT,SAAS,CAAwC;QACjD,WAAM,GAAN,MAAM,CAA2B;QAPnC,mBAAc,GAAG,IAAI,GAAG,EAAgC,CAAC;IAQvE,CAAC;IAEJ,KAAK,CAAC,GAAG,CAAC,SAAiB,EAAE,IAAY;QACvC,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,SAAS,CAAC,SAAS,CAAC,CAAC;QAC/C,MAAM,OAAO,GAAG,MAAM,CAAC,OAAO,CAAC,OAAO,CAAC;QACvC,MAAM,CAAC,IAAI,GAAG,EAAE,EAAE,GAAG,IAAI,CAAC,GAAG,IAAI,CAAC,IAAI,EAAE,CAAC,OAAO,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;QACzE,MAAM,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,CAAC;QAEnC,IAAI,IAAI,CAAC,SAAS,CAAC,sBAAsB,EAAE,CAAC,OAAO,CAAC,KAAK,IAAI;YAAE,OAAO,+BAA+B,EAAE,CAAC;QAExG,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,EAAE,CAAC;YAC5B,IAAI,IAAI,CAAC,gBAAgB,CAAC,OAAO,EAAE,IAAI,CAAC,EAAE,CAAC;gBACzC,yEAAyE;gBACzE,0EAA0E;gBAC1E,0EAA0E;gBAC1E,oCAAoC;gBACpC,MAAM,IAAI,CAAC,MAAM,CAAC,SAAS,EAAE,IAAI,CAAC,CAAC;gBACnC,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC;YAC1B,CAAC;YACD,OAAO,EAAE,IAAI,EAAE,aAAa,EAAE,OAAO,EAAE,qBAAqB,IAAI,EAAE,EAAE,CAAC;QACvE,CAAC;QAED,IAAI,IAAI,KAAK,SAAS;YAAE,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,kBAAkB,CAAC,OAAO,CAAC,EAAE,CAAC;QACtF,IAAI,IAAI,KAAK,MAAM;YAAE,OAAO,IAAI,CAAC,WAAW,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC;QAC3D,IAAI,IAAI,KAAK,SAAS;YAAE,OAAO,IAAI,CAAC,OAAO,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC;QAC3D,IAAI,IAAI,KAAK,QAAQ;YAAE,OAAO,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;QACnD,IAAI,IAAI,KAAK,OAAO;YAAE,OAAO,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;QAChD,IAAI,IAAI,KAAK,MAAM;YAAE,OAAO,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;QAC9C,IAAI,IAAI,KAAK,MAAM;YAAE,OAAO,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;QAE/C,OAAO,EAAE,IAAI,EAAE,aAAa,EAAE,OAAO,EAAE,IAAI,IAAI,uCAAuC,EAAE,CAAC;IAC3F,CAAC;IAED,KAAK,CAAC,OAAO,CAAC,SAAiB,EAAE,SAAiB,EAAE,KAAa;QAC/D,MAAM,OAAO,GAAG,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;QACnD,IAAI,OAAO,EAAE,SAAS,KAAK,SAAS;YAAE,OAAO,EAAE,IAAI,EAAE,aAAa,EAAE,OAAO,EAAE,yBAAyB,EAAE,CAAC;QACzG,IAAI,CAAC,cAAc,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC;QACtC,OAAO,IAAI,CAAC,SAAS,CAAC,SAAS,EAAE,KAAK,CAAC,CAAC;IAC1C,CAAC;IAED;;;;;;OAMG;IACH,KAAK,CAAC,SAAS,CAAC,SAAiB,EAAE,OAAe,EAAE,OAAoC;QACtF,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,SAAS,CAAC,SAAS,CAAC,CAAC;QAC/C,IAAI,IAAI,CAAC,SAAS,CAAC,sBAAsB,EAAE,CAAC,MAAM,CAAC,OAAO,CAAC,OAAO,CAAC,KAAK,IAAI;YAAE,OAAO,+BAA+B,EAAE,CAAC;QACvH,IAAI,IAAI,CAAC,aAAa,CAAC,MAAM,CAAC,OAAO,CAAC,OAAO,CAAC;YAAE,OAAO,qBAAqB,CAAC,MAAM,CAAC,CAAC;QACrF,MAAM,WAAW,GAAG,MAAM,IAAI,CAAC,sBAAsB,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;QACtE,IAAI,IAAI,CAAC,SAAS,CAAC,sBAAsB,EAAE,CAAC,MAAM,CAAC,OAAO,CAAC,OAAO,CAAC,KAAK,IAAI;YAAE,OAAO,+BAA+B,EAAE,CAAC;QACvH,IAAI,IAAI,CAAC,aAAa,CAAC,MAAM,CAAC,OAAO,CAAC,OAAO,CAAC;YAAE,OAAO,qBAAqB,CAAC,MAAM,CAAC,CAAC;QACrF,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,qBAAqB,CAAC,MAAM,CAAC,OAAO,EAAE,KAAK,IAAI,EAAE;YACzE,MAAM,OAAO,GAAG,MAAM,CAAC,OAAO,CAAC,OAAO,CAAC;YACvC,IAAI,OAAO,EAAE,eAAe,KAAK,SAAS,IAAI,OAAO,KAAK,OAAO,CAAC,eAAe,EAAE,CAAC;gBAClF,MAAM,IAAI,KAAK,CAAC,iFAAiF,CAAC,CAAC;YACrG,CAAC;YACD,IAAI,OAAO,KAAK,SAAS,IAAI,OAAO,CAAC,cAAc,CAAC,SAAS,EAAE,KAAK,OAAO,CAAC,cAAc,EAAE,CAAC;gBAC3F,MAAM,IAAI,KAAK,CAAC,yEAAyE,CAAC,CAAC;YAC7F,CAAC;YACD,sEAAsE;YACtE,uEAAuE;YACvE,MAAM,QAAQ,GAAG,OAAO,EAAE,QAAQ,IAAI,IAAI,CAAC,YAAY,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;YAC1E,MAAM,UAAU,GAAG,MAAM,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,OAAO,EAAE;gBACpD,QAAQ;gBACR,GAAG,CAAC,OAAO,EAAE,WAAW,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,WAAW,EAAE,OAAO,CAAC,WAAW,EAAE,CAAC;aACpF,CAAC,CAAC;YACH,IAAI,CAAC,UAAU,CAAC,SAAS;gBAAE,IAAI,CAAC,qBAAqB,CAAC,MAAM,CAAC,OAAO,CAAC,OAAO,EAAE,WAAW,CAAC,CAAC;YAC3F,OAAO,UAAU,CAAC;QACpB,CAAC,CAAC,CAAC;QACH,IAAI,MAAM,CAAC,SAAS;YAAE,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,gBAAgB,EAAE,CAAC;QACzE,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,gBAAgB,EAAE,OAAO,EAAE,wBAAwB,CAAC,MAAM,CAAC,OAAO,CAAC,EAAE,GAAG,WAAW,CAAC,MAAM,CAAC,YAAY,CAAC,EAAE,CAAC;IAC7I,CAAC;IAEO,WAAW,CAAC,MAAsC,EAAE,IAAY;QACtE,IAAI,IAAI,KAAK,EAAE;YAAE,OAAO,EAAE,IAAI,EAAE,aAAa,EAAE,OAAO,EAAE,6BAA6B,EAAE,CAAC;QACxF,MAAM,CAAC,OAAO,CAAC,OAAO,CAAC,cAAc,CAAC,IAAI,CAAC,CAAC;QAC5C,IAAI,CAAC,kBAAkB,CAAC,MAAM,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;QAChD,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,kBAAkB,IAAI,EAAE,EAAE,OAAO,EAAE,wBAAwB,CAAC,MAAM,CAAC,OAAO,CAAC,EAAE,CAAC;IAChH,CAAC;IAEO,OAAO,CAAC,OAAiB,EAAE,YAAoB;QACrD,IAAI,CAAC,SAAS,CAAC,iBAAiB,EAAE,CAAC,OAAO,CAAC,CAAC;QAC5C,KAAK,OAAO,CAAC,OAAO,CAAC,YAAY,KAAK,EAAE,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,YAAY,CAAC;aACjE,IAAI,CAAC,CAAC,MAAM,EAAE,EAAE;YACf,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,OAAO,CAAC,SAAS,EAAE;gBACrC,IAAI,EAAE,gBAAgB;gBACtB,KAAK,EAAE,SAAS;gBAChB,OAAO,EAAE,sBAAsB,CAAC,MAAM,CAAC;aACxC,CAAC,CAAC;YACH,IAAI,CAAC,SAAS,CAAC,eAAe,EAAE,CAAC,OAAO,EAAE,SAAS,CAAC,CAAC;QACvD,CAAC,CAAC;aACD,KAAK,CAAC,CAAC,KAAc,EAAE,EAAE;YACxB,MAAM,OAAO,GAAG,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;YACvE,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,OAAO,CAAC,SAAS,EAAE,EAAE,IAAI,EAAE,gBAAgB,EAAE,KAAK,EAAE,OAAO,EAAE,OAAO,EAAE,sBAAsB,OAAO,EAAE,EAAE,CAAC,CAAC;YAC7H,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,OAAO,CAAC,SAAS,EAAE,EAAE,IAAI,EAAE,eAAe,EAAE,OAAO,EAAE,CAAC,CAAC;YAC3E,IAAI,CAAC,SAAS,CAAC,eAAe,EAAE,CAAC,OAAO,EAAE,OAAO,EAAE,OAAO,CAAC,CAAC;QAC9D,CAAC,CAAC,CAAC;QACL,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,qBAAqB,EAAE,CAAC;IAC1D,CAAC;IAEO,KAAK,CAAC,MAAM,CAAC,OAAiB;QACpC,IAAI,IAAI,CAAC,aAAa,CAAC,OAAO,CAAC;YAAE,OAAO,EAAE,IAAI,EAAE,aAAa,EAAE,OAAO,EAAE,oFAAoF,EAAE,CAAC;QAC/J,IAAI,IAAI,CAAC,SAAS,CAAC,aAAa,KAAK,SAAS;YAAE,OAAO,EAAE,IAAI,EAAE,aAAa,EAAE,OAAO,EAAE,oDAAoD,EAAE,CAAC;QAE9I,IAAI,CAAC;YACH,MAAM,IAAI,CAAC,SAAS,CAAC,aAAa,CAAC,OAAO,CAAC,CAAC;QAC9C,CAAC;QAAC,OAAO,KAAc,EAAE,CAAC;YACxB,MAAM,OAAO,GAAG,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;YACvE,OAAO,EAAE,IAAI,EAAE,aAAa,EAAE,OAAO,EAAE,kBAAkB,OAAO,EAAE,EAAE,CAAC;QACvE,CAAC;QACD,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,yNAAyN,EAAE,CAAC;IAC9P,CAAC;IAEO,KAAK,CAAC,KAAK,CAAC,MAAsC;QACxD,IAAI,IAAI,CAAC,aAAa,CAAC,MAAM,CAAC,OAAO,CAAC,OAAO,CAAC;YAAE,OAAO,qBAAqB,CAAC,OAAO,CAAC,CAAC;QACtF,MAAM,aAAa,GAAG,MAAM,CAAC,OAAO,CAAC,OAAO,CAAC,cAAc,CAAC,SAAS,EAAE,CAAC;QACxE,IAAI,aAAa,KAAK,IAAI,IAAI,aAAa,KAAK,EAAE;YAAE,OAAO,EAAE,IAAI,EAAE,aAAa,EAAE,OAAO,EAAE,wCAAwC,EAAE,CAAC;QACtI,MAAM,WAAW,GAAG,MAAM,IAAI,CAAC,sBAAsB,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;QACtE,IAAI,IAAI,CAAC,SAAS,CAAC,sBAAsB,EAAE,CAAC,MAAM,CAAC,OAAO,CAAC,OAAO,CAAC,KAAK,IAAI;YAAE,OAAO,+BAA+B,EAAE,CAAC;QACvH,IAAI,IAAI,CAAC,aAAa,CAAC,MAAM,CAAC,OAAO,CAAC,OAAO,CAAC;YAAE,OAAO,qBAAqB,CAAC,OAAO,CAAC,CAAC;QACtF,4EAA4E;QAC5E,6EAA6E;QAC7E,MAAM,MAAM,GAAG,MAAM,CAAC,OAAO,CAAC,OAAO,CAAC,cAAc,CAAC,SAAS,EAAE,CAAC;QACjE,IAAI,MAAM,KAAK,IAAI,IAAI,MAAM,KAAK,EAAE;YAAE,OAAO,EAAE,IAAI,EAAE,aAAa,EAAE,OAAO,EAAE,wCAAwC,EAAE,CAAC;QACxH,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,qBAAqB,CAAC,MAAM,CAAC,OAAO,EAAE,KAAK,IAAI,EAAE;YACzE,MAAM,WAAW,GAAG,MAAM,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,MAAM,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC,CAAC;YAC1E,IAAI,CAAC,WAAW,CAAC,SAAS;gBAAE,IAAI,CAAC,qBAAqB,CAAC,MAAM,CAAC,OAAO,CAAC,OAAO,EAAE,WAAW,CAAC,CAAC;YAC5F,OAAO,WAAW,CAAC;QACrB,CAAC,CAAC,CAAC;QACH,IAAI,MAAM,CAAC,SAAS;YAAE,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,iBAAiB,EAAE,CAAC;QAC1E,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,gBAAgB,EAAE,OAAO,EAAE,wBAAwB,CAAC,MAAM,CAAC,OAAO,CAAC,EAAE,CAAC;IACxG,CAAC;IAEO,IAAI,CAAC,MAAsC;QACjD,IAAI,IAAI,CAAC,aAAa,CAAC,MAAM,CAAC,OAAO,CAAC,OAAO,CAAC;YAAE,OAAO,qBAAqB,CAAC,MAAM,CAAC,CAAC;QACrF,MAAM,QAAQ,GAAG,MAAM,CAAC,OAAO,CAAC,OAAO,CAAC,yBAAyB,EAAE,CAAC;QACpE,IAAI,CAAC,QAAQ,CAAC,MAAM;YAAE,OAAO,EAAE,IAAI,EAAE,aAAa,EAAE,OAAO,EAAE,+BAA+B,EAAE,CAAC;QAC/F,MAAM,SAAS,GAAG,MAAM,CAAC,UAAU,EAAE,CAAC;QACtC,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC,SAAS,EAAE,EAAE,SAAS,EAAE,MAAM,CAAC,OAAO,CAAC,OAAO,CAAC,SAAS,EAAE,OAAO,EAAE,MAAM,EAAE,CAAC,CAAC;QACrG,OAAO;YACL,IAAI,EAAE,QAAQ;YACd,SAAS;YACT,KAAK,EAAE,mBAAmB;YAC1B,OAAO,EAAE,CAAC,GAAG,QAAQ,CAAC,CAAC,OAAO,EAAE,CAAC,GAAG,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC,EAAE,KAAK,EAAE,OAAO,CAAC,OAAO,EAAE,KAAK,EAAE,QAAQ,CAAC,OAAO,CAAC,IAAI,EAAE,GAAG,CAAC,EAAE,CAAC,CAAC;SACpH,CAAC;IACJ,CAAC;IAEO,IAAI,CAAC,OAAiB;QAC5B,IAAI,IAAI,CAAC,aAAa,CAAC,OAAO,CAAC,EAAE,CAAC;YAChC,OAAO,EAAE,IAAI,EAAE,aAAa,EAAE,OAAO,EAAE,sGAAsG,EAAE,CAAC;QAClJ,CAAC;QACD,IAAI,IAAI,CAAC,SAAS,CAAC,cAAc,KAAK,SAAS;YAAE,OAAO,0BAA0B,EAAE,CAAC;QAErF,IAAI,CAAC;YACH,MAAM,IAAI,GAAG,IAAI,CAAC,SAAS,CAAC,cAAc,CAAC,OAAO,CAAC,CAAC;YACpD,IAAI,IAAI,KAAK,SAAS;gBAAE,OAAO,0BAA0B,EAAE,CAAC;YAC5D,IAAI,IAAI,CAAC,KAAK,CAAC,MAAM,KAAK,CAAC;gBAAE,OAAO,EAAE,IAAI,EAAE,aAAa,EAAE,OAAO,EAAE,wCAAwC,EAAE,CAAC;YAC/G,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC;QAChC,CAAC;QAAC,OAAO,KAAc,EAAE,CAAC;YACxB,MAAM,OAAO,GAAG,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;YACvE,OAAO,EAAE,IAAI,EAAE,aAAa,EAAE,OAAO,EAAE,oCAAoC,OAAO,EAAE,EAAE,CAAC;QACzF,CAAC;IACH,CAAC;IAEO,aAAa,CAAC,OAAiB;QACrC,OAAO,oBAAoB,CAAC,OAAO,CAAC,IAAI,IAAI,CAAC,SAAS,CAAC,aAAa,EAAE,CAAC,OAAO,CAAC,KAAK,IAAI,CAAC;IAC3F,CAAC;IAEO,YAAY,CAAC,OAAiB,EAAE,OAAe;QACrD,MAAM,QAAQ,GAAG,IAAI,CAAC,SAAS,CAAC,cAAc,EAAE,CAAC,OAAO,CAAC,EAAE,KAAK,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,EAAE,KAAK,OAAO,CAAC,CAAC;QACrG,IAAI,QAAQ,KAAK,SAAS;YAAE,OAAO,QAAQ,CAAC,IAAI,KAAK,MAAM,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC;QAC9E,OAAO,OAAO,CAAC,yBAAyB,EAAE,CAAC,IAAI,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,OAAO,CAAC,OAAO,KAAK,OAAO,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC;IAC9G,CAAC;IAEO,qBAAqB,CAAI,OAAiC,EAAE,SAA2B;QAC7F,MAAM,cAAc,GAAG,IAAI,CAAC,SAAS,CAAC,qBAAqB,CAAC;QAC5D,OAAO,cAAc,KAAK,SAAS,CAAC,CAAC,CAAC,SAAS,EAAE,CAAC,CAAC,CAAC,cAAc,CAAC,OAAO,CAAC,OAAO,EAAE,SAAS,CAAC,CAAC;IACjG,CAAC;IAEO,KAAK,CAAC,sBAAsB,CAAC,MAAsC,EAAE,IAAwB;QACnG,MAAM,WAAW,GAAG,yBAAyB,CAAC,MAAM,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;QACtE,MAAM,UAAU,GAAG,cAAc,CAAC,MAAM,CAAC,OAAO,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC;QACtE,IAAI,aAAgC,CAAC;QACrC,IAAI,CAAC;YACH,aAAa,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,gBAAgB,EAAE,CAAC,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,IAAI,EAAE,CAAC;QACjF,CAAC;QAAC,MAAM,CAAC;YACP,aAAa,GAAG,EAAE,CAAC;QACrB,CAAC;QACD,OAAO,wBAAwB,CAAC,WAAW,EAAE,IAAI,EAAE,UAAU,KAAK,SAAS,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,GAAG,aAAa,EAAE,UAAU,CAAC,CAAC,CAAC;IAChI,CAAC;IAEO,qBAAqB,CAAC,OAAiB,EAAE,IAAY;QAC3D,IAAI,CAAC;YACH,OAAO,CAAC,cAAc,CAAC,IAAI,CAAC,CAAC;YAC7B,IAAI,CAAC,kBAAkB,CAAC,OAAO,CAAC,CAAC;QACnC,CAAC;QAAC,OAAO,KAAc,EAAE,CAAC;YACxB,MAAM,OAAO,GAAG,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;YACvE,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,OAAO,CAAC,SAAS,EAAE,EAAE,IAAI,EAAE,gBAAgB,EAAE,KAAK,EAAE,OAAO,EAAE,OAAO,EAAE,uCAAuC,OAAO,EAAE,EAAE,CAAC,CAAC;QAChJ,CAAC;IACH,CAAC;IAEO,kBAAkB,CAAC,OAAiB;QAC1C,MAAM,KAAK,GAAG,OAAO,CAAC,WAAW,KAAK,SAAS;YAC7C,CAAC,CAAC,EAAE,IAAI,EAAE,cAAc,EAAE,SAAS,EAAE,OAAO,CAAC,SAAS,EAAW;YACjE,CAAC,CAAC,EAAE,IAAI,EAAE,cAAc,EAAE,SAAS,EAAE,OAAO,CAAC,SAAS,EAAE,IAAI,EAAE,OAAO,CAAC,WAAW,EAAW,CAAC;QAC/F,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,OAAO,CAAC,SAAS,EAAE,KAAK,CAAC,CAAC;QAC9C,IAAI,CAAC,MAAM,CAAC,aAAa,EAAE,CAAC,KAAK,CAAC,CAAC;IACrC,CAAC;IAEO,gBAAgB,CAAC,OAAiB,EAAE,IAAY;QACtD,OAAO,OAAO,CAAC,eAAe,CAAC,qBAAqB,EAAE,CAAC,IAAI,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,OAAO,CAAC,cAAc,KAAK,IAAI,CAAC;eACpG,OAAO,CAAC,eAAe,CAAC,IAAI,CAAC,CAAC,QAAQ,EAAE,EAAE,CAAC,QAAQ,CAAC,IAAI,KAAK,IAAI,CAAC;eAClE,OAAO,CAAC,cAAc,CAAC,SAAS,EAAE,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,SAAS,KAAK,CAAC,IAAI,EAAE,KAAK,IAAI,CAAC,CAAC;IACjG,CAAC;CACF;AAED,SAAS,wBAAwB,CAAC,OAAuB;IACvD,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC;IAChC,MAAM,iBAAiB,GAAG,OAAO,OAAO,CAAC,cAAc,CAAC,SAAS,KAAK,UAAU,CAAC,CAAC,CAAC,OAAO,CAAC,cAAc,CAAC,SAAS,EAAE,EAAE,aAAa,CAAC,CAAC,CAAC,SAAS,CAAC;IACjJ,OAAO;QACL,EAAE,EAAE,OAAO,CAAC,SAAS;QACrB,IAAI,EAAE,OAAO,CAAC,WAAW,IAAI,EAAE;QAC/B,GAAG,EAAE,OAAO,CAAC,GAAG;QAChB,GAAG,CAAC,OAAO,CAAC,WAAW,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,OAAO,CAAC,WAAW,EAAE,CAAC;QAC3E,OAAO,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE;QACjC,QAAQ,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE;QAClC,YAAY,EAAE,OAAO,CAAC,QAAQ,CAAC,MAAM;QACrC,YAAY,EAAE,EAAE;QAChB,GAAG,CAAC,iBAAiB,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,iBAAiB,EAAE,CAAC;KAClE,CAAC;AACJ,CAAC;AAED,SAAS,yBAAyB,CAAC,OAAuB;IACxD,MAAM,IAAI,GAAG,cAAc,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC;IACjD,IAAI,IAAI,KAAK,SAAS;QAAE,OAAO,IAAI,CAAC;IACpC,KAAK,MAAM,OAAO,IAAI,OAAO,CAAC,QAAQ,EAAE,CAAC;QACvC,MAAM,IAAI,GAAG,cAAc,CAAC,sBAAsB,CAAC,OAAO,CAAC,CAAC,CAAC;QAC7D,IAAI,IAAI,KAAK,SAAS;YAAE,OAAO,QAAQ,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC;IACpD,CAAC;IACD,OAAO,kBAAkB,CAAC;AAC5B,CAAC;AAED,SAAS,wBAAwB,CAAC,WAAmB,EAAE,IAAwB,EAAE,aAAgC;IAC/G,MAAM,QAAQ,GAAG,yBAAyB,CAAC,WAAW,CAAC,IAAI,kBAAkB,CAAC;IAC9E,MAAM,KAAK,GAAG,IAAI,KAAK,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC;IAChD,MAAM,SAAS,GAAG,IAAI,GAAG,CAAC,aAAa,CAAC,GAAG,CAAC,cAAc,CAAC,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC,CAAC;IAC/E,KAAK,IAAI,OAAO,GAAG,CAAC,GAAI,OAAO,IAAI,CAAC,EAAE,CAAC;QACrC,MAAM,SAAS,GAAG,GAAG,QAAQ,MAAM,KAAK,IAAI,MAAM,CAAC,OAAO,CAAC,EAAE,CAAC;QAC9D,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,SAAS,CAAC;YAAE,OAAO,SAAS,CAAC;IAClD,CAAC;AACH,CAAC;AAED,SAAS,yBAAyB,CAAC,IAAY;IAC7C,OAAO,IAAI,CAAC,OAAO,CAAC,0CAA0C,EAAE,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC;AAC7E,CAAC;AAED,SAAS,sBAAsB,CAAC,OAAgB;IAC9C,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,IAAI,OAAO,CAAC,MAAM,CAAC,KAAK,MAAM;QAAE,OAAO,SAAS,CAAC;IACvE,MAAM,OAAO,GAAG,OAAO,CAAC,SAAS,CAAC,CAAC;IACnC,IAAI,OAAO,OAAO,KAAK,QAAQ;QAAE,OAAO,OAAO,CAAC;IAChD,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC;QAAE,OAAO,SAAS,CAAC;IAC9C,OAAO,OAAO,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE;QAC1B,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,IAAI,CAAC,MAAM,CAAC,KAAK,MAAM;YAAE,OAAO,EAAE,CAAC;QAC1D,OAAO,OAAO,IAAI,CAAC,MAAM,CAAC,KAAK,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;IAC9D,CAAC,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;AACd,CAAC;AAED,SAAS,cAAc,CAAC,IAAwB;IAC9C,MAAM,OAAO,GAAG,IAAI,EAAE,OAAO,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC,IAAI,EAAE,CAAC;IAClD,OAAO,OAAO,KAAK,SAAS,IAAI,OAAO,KAAK,EAAE,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,OAAO,CAAC;AACvE,CAAC;AAED,SAAS,QAAQ,CAAC,KAAc;IAC9B,OAAO,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,KAAK,IAAI,CAAC;AACrD,CAAC;AAED,SAAS,SAAS,CAAI,KAAoB;IACxC,OAAO,KAAK,KAAK,SAAS,CAAC;AAC7B,CAAC;AAED,SAAS,oBAAoB,CAAC,OAAuB;IACnD,OAAO,OAAO,CAAC,WAAW,IAAI,OAAO,CAAC,aAAa,IAAI,OAAO,CAAC,YAAY,IAAI,OAAO,CAAC,mBAAmB,GAAG,CAAC,CAAC;AACjH,CAAC;AAED,SAAS,qBAAqB,CAAC,OAAyB;IACtD,OAAO,EAAE,IAAI,EAAE,aAAa,EAAE,OAAO,EAAE,UAAU,OAAO,8DAA8D,OAAO,KAAK,MAAM,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,SAAS,GAAG,EAAE,CAAC;AACxK,CAAC;AAED,SAAS,0BAA0B;IACjC,OAAO,EAAE,IAAI,EAAE,aAAa,EAAE,OAAO,EAAE,gEAAgE,EAAE,CAAC;AAC5G,CAAC;AAED,SAAS,+BAA+B;IACtC,OAAO,EAAE,IAAI,EAAE,aAAa,EAAE,OAAO,EAAE,mGAAmG,EAAE,CAAC;AAC/I,CAAC;AAED,SAAS,WAAW,CAAC,IAAwB;IAC3C,OAAO,IAAI,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,WAAW,EAAE,IAAI,EAAE,CAAC;AACzD,CAAC;AAED,SAAS,kBAAkB,CAAC,OAAuB;IACjD,MAAM,KAAK,GAAG,OAAO,CAAC,eAAe,EAAE,CAAC;IACxC,OAAO;QACL,YAAY,KAAK,CAAC,SAAS,EAAE;QAC7B,aAAa,MAAM,CAAC,KAAK,CAAC,aAAa,CAAC,KAAK,MAAM,CAAC,KAAK,CAAC,YAAY,CAAC,UAAU,MAAM,CAAC,KAAK,CAAC,iBAAiB,CAAC,aAAa;QAC7H,eAAe,MAAM,CAAC,KAAK,CAAC,SAAS,CAAC,EAAE;QACxC,YAAY,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,KAAK,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,MAAM,CAAC,UAAU,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE;QAC5G,UAAU,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE;KAClC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AACf,CAAC;AAED,SAAS,sBAAsB,CAAC,MAAiD;IAC/E,OAAO;QACL,sBAAsB;QACtB,kBAAkB,MAAM,CAAC,MAAM,CAAC,YAAY,CAAC,EAAE;QAC/C,EAAE;QACF,MAAM,CAAC,OAAO;KACf,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AACf,CAAC;AAED,SAAS,QAAQ,CAAC,IAAY,EAAE,SAAiB;IAC/C,MAAM,UAAU,GAAG,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC,IAAI,EAAE,CAAC;IACpD,OAAO,UAAU,CAAC,MAAM,IAAI,SAAS,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,GAAG,UAAU,CAAC,KAAK,CAAC,CAAC,EAAE,SAAS,GAAG,CAAC,CAAC,GAAG,CAAC;AAChG,CAAC"}
@@ -0,0 +1,31 @@
1
+ import { imageSize } from "image-size";
2
+ import { validImageDimensions } from "../../shared/sessionMedia.js";
3
+ // Whole base64 quartets keep decoding below 256 KiB, regardless of source size.
4
+ const MAX_HEADER_BASE64_LENGTH = Math.floor(256 * 1024 / 3) * 4;
5
+ const mimeByFormat = {
6
+ png: "image/png",
7
+ jpg: "image/jpeg",
8
+ gif: "image/gif",
9
+ webp: "image/webp",
10
+ };
11
+ /** Optional header metadata only: no pixel decoding or full-payload allocation. */
12
+ export function readSessionImageDimensions(source, mimeType) {
13
+ try {
14
+ // image-size's DataView reads use the backing buffer, not the view's length.
15
+ // Exact-sized storage prevents truncated headers from reading pooled bytes.
16
+ const header = Uint8Array.from(Buffer.from(source.slice(0, MAX_HEADER_BASE64_LENGTH), "base64"));
17
+ const metadata = imageSize(header);
18
+ if (metadata.type === undefined || mimeByFormat[metadata.type] !== mimeType)
19
+ return undefined;
20
+ const swap = metadata.type === "jpg" && [5, 6, 7, 8].includes(metadata.orientation ?? 0);
21
+ return swap
22
+ ? validImageDimensions(metadata.height, metadata.width)
23
+ : validImageDimensions(metadata.width, metadata.height);
24
+ }
25
+ catch {
26
+ // Truncated, malformed, or beyond-cap headers leave geometry (and load
27
+ // failures) to the browser; they must not invalidate an otherwise usable reference.
28
+ return undefined;
29
+ }
30
+ }
31
+ //# sourceMappingURL=sessionImageDimensions.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"sessionImageDimensions.js","sourceRoot":"","sources":["../../../src/server/sessions/sessionImageDimensions.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,YAAY,CAAC;AACvC,OAAO,EAAE,oBAAoB,EAAwB,MAAM,8BAA8B,CAAC;AAE1F,gFAAgF;AAChF,MAAM,wBAAwB,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,GAAG,IAAI,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC;AAChE,MAAM,YAAY,GAAiD;IACjE,GAAG,EAAE,WAAW;IAChB,GAAG,EAAE,YAAY;IACjB,GAAG,EAAE,WAAW;IAChB,IAAI,EAAE,YAAY;CACnB,CAAC;AAEF,mFAAmF;AACnF,MAAM,UAAU,0BAA0B,CAAC,MAAc,EAAE,QAAgB;IACzE,IAAI,CAAC;QACH,6EAA6E;QAC7E,4EAA4E;QAC5E,MAAM,MAAM,GAAG,UAAU,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,EAAE,wBAAwB,CAAC,EAAE,QAAQ,CAAC,CAAC,CAAC;QACjG,MAAM,QAAQ,GAAG,SAAS,CAAC,MAAM,CAAC,CAAC;QACnC,IAAI,QAAQ,CAAC,IAAI,KAAK,SAAS,IAAI,YAAY,CAAC,QAAQ,CAAC,IAAI,CAAC,KAAK,QAAQ;YAAE,OAAO,SAAS,CAAC;QAC9F,MAAM,IAAI,GAAG,QAAQ,CAAC,IAAI,KAAK,KAAK,IAAI,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,QAAQ,CAAC,QAAQ,CAAC,WAAW,IAAI,CAAC,CAAC,CAAC;QACzF,OAAO,IAAI;YACT,CAAC,CAAC,oBAAoB,CAAC,QAAQ,CAAC,MAAM,EAAE,QAAQ,CAAC,KAAK,CAAC;YACvD,CAAC,CAAC,oBAAoB,CAAC,QAAQ,CAAC,KAAK,EAAE,QAAQ,CAAC,MAAM,CAAC,CAAC;IAC5D,CAAC;IAAC,MAAM,CAAC;QACP,uEAAuE;QACvE,oFAAoF;QACpF,OAAO,SAAS,CAAC;IACnB,CAAC;AACH,CAAC"}
@@ -1,5 +1,6 @@
1
1
  import { createHash } from "node:crypto";
2
2
  import { canonicalizeStoredCwd } from "../workingDirectory.js";
3
+ import { readSessionImageDimensions } from "./sessionImageDimensions.js";
3
4
  /**
4
5
  * Disposable daemon-owned source bindings and hash memos, never extracted files
5
6
  * or decoded-byte caches. Bindings are scoped to a session AND workspace. Both
@@ -19,6 +20,7 @@ export class SessionMediaIndex {
19
20
  this.maxMemoEntries = options.maxMemoEntries ?? 256;
20
21
  this.hash = options.hash ?? ((source) => createHash("sha256").update(source).digest("hex"));
21
22
  this.decode = options.decode ?? ((source) => Buffer.from(source, "base64"));
23
+ this.readDimensions = options.readDimensions ?? readSessionImageDimensions;
22
24
  }
23
25
  /** An unscoped projection may produce a reference, but cannot create a binding. */
24
26
  reference(scope, block) {
@@ -86,7 +88,11 @@ export class SessionMediaIndex {
86
88
  const byteSize = imageByteSize(source);
87
89
  if (byteSize === undefined)
88
90
  return undefined;
89
- const image = { source, mimeType, reference: { type: "image", mediaId: this.hash(key), mimeType, byteSize } };
91
+ const dimensions = this.readDimensions(source, mimeType);
92
+ const image = {
93
+ source, mimeType,
94
+ reference: { type: "image", mediaId: this.hash(key), mimeType, byteSize, ...dimensions },
95
+ };
90
96
  this.blocks.set(block, image);
91
97
  const weight = memoWeight(image);
92
98
  if (weight <= this.maxMemoBytes && this.maxMemoEntries > 0) {
@@ -1 +1 @@
1
- {"version":3,"file":"sessionMediaIndex.js","sourceRoot":"","sources":["../../../src/server/sessions/sessionMediaIndex.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"sessionMediaIndex.js","sourceRoot":"","sources":["../../../src/server/sessions/sessionMediaIndex.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,51 @@
1
+ import { cloneBoundedPluginBackendJson } from "../../shared/pluginBackendProtocol.js";
2
+ /** Only this explicitly public entry type is projected to the browser. */
3
+ export const SESSION_UI_METADATA_CUSTOM_TYPE = "pi-web.session-ui-metadata";
4
+ export const SESSION_UI_METADATA_MAX_BYTES = 16 * 1024;
5
+ const NAMESPACE_PATTERN = /^[a-zA-Z0-9@][a-zA-Z0-9._:/@-]{0,127}$/u;
6
+ /** Validate and detach public metadata before any session creation or durable write. */
7
+ export function requireSessionUiMetadata(value) {
8
+ // Reuse the host's JSON snapshot boundary: rejects cycles, non-finite numbers,
9
+ // non-JSON values and excessive depth, and safely copies arbitrary object keys.
10
+ const cloned = cloneBoundedPluginBackendJson(value, "Session UI metadata", SESSION_UI_METADATA_MAX_BYTES);
11
+ if (!isJsonObject(cloned))
12
+ throw new Error("Session UI metadata must be a namespaced object");
13
+ const metadata = {};
14
+ for (const [namespace, data] of Object.entries(cloned)) {
15
+ if (!NAMESPACE_PATTERN.test(namespace))
16
+ throw new Error(`Invalid session UI metadata namespace: ${namespace}`);
17
+ if (!isJsonObject(data))
18
+ throw new Error(`Session UI metadata namespace ${namespace} must contain an object`);
19
+ Object.defineProperty(metadata, namespace, { value: data, enumerable: true });
20
+ }
21
+ return Object.freeze(metadata);
22
+ }
23
+ /** Malformed/unknown-version persisted entries never expose arbitrary custom data. */
24
+ export function sessionUiMetadataFromEntry(entry) {
25
+ if (!isObject(entry) || entry["type"] !== "custom" || entry["customType"] !== SESSION_UI_METADATA_CUSTOM_TYPE)
26
+ return undefined;
27
+ const data = entry["data"];
28
+ if (!isObject(data) || data["version"] !== 1)
29
+ return undefined;
30
+ try {
31
+ return requireSessionUiMetadata(data["metadata"]);
32
+ }
33
+ catch {
34
+ // Corrupt session-file entries are skipped, like the other listing readers.
35
+ return undefined;
36
+ }
37
+ }
38
+ /** Session-level state, not branch-relative: the latest valid snapshot wins. */
39
+ export function readSessionUiMetadata(entries) {
40
+ let metadata;
41
+ for (const entry of entries)
42
+ metadata = sessionUiMetadataFromEntry(entry) ?? metadata;
43
+ return metadata;
44
+ }
45
+ function isJsonObject(value) {
46
+ return isObject(value);
47
+ }
48
+ function isObject(value) {
49
+ return typeof value === "object" && value !== null && !Array.isArray(value);
50
+ }
51
+ //# sourceMappingURL=sessionMetadata.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"sessionMetadata.js","sourceRoot":"","sources":["../../../src/server/sessions/sessionMetadata.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,6BAA6B,EAAE,MAAM,uCAAuC,CAAC;AAEtF,0EAA0E;AAC1E,MAAM,CAAC,MAAM,+BAA+B,GAAG,4BAA4B,CAAC;AAC5E,MAAM,CAAC,MAAM,6BAA6B,GAAG,EAAE,GAAG,IAAI,CAAC;AACvD,MAAM,iBAAiB,GAAG,yCAAyC,CAAC;AAEpE,wFAAwF;AACxF,MAAM,UAAU,wBAAwB,CAAC,KAAc;IACrD,+EAA+E;IAC/E,gFAAgF;IAChF,MAAM,MAAM,GAAG,6BAA6B,CAAC,KAAK,EAAE,qBAAqB,EAAE,6BAA6B,CAAC,CAAC;IAC1G,IAAI,CAAC,YAAY,CAAC,MAAM,CAAC;QAAE,MAAM,IAAI,KAAK,CAAC,iDAAiD,CAAC,CAAC;IAC9F,MAAM,QAAQ,GAA+B,EAAE,CAAC;IAChD,KAAK,MAAM,CAAC,SAAS,EAAE,IAAI,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE,CAAC;QACvD,IAAI,CAAC,iBAAiB,CAAC,IAAI,CAAC,SAAS,CAAC;YAAE,MAAM,IAAI,KAAK,CAAC,0CAA0C,SAAS,EAAE,CAAC,CAAC;QAC/G,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC;YAAE,MAAM,IAAI,KAAK,CAAC,iCAAiC,SAAS,yBAAyB,CAAC,CAAC;QAC9G,MAAM,CAAC,cAAc,CAAC,QAAQ,EAAE,SAAS,EAAE,EAAE,KAAK,EAAE,IAAI,EAAE,UAAU,EAAE,IAAI,EAAE,CAAC,CAAC;IAChF,CAAC;IACD,OAAO,MAAM,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;AACjC,CAAC;AAED,sFAAsF;AACtF,MAAM,UAAU,0BAA0B,CAAC,KAAc;IACvD,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,IAAI,KAAK,CAAC,MAAM,CAAC,KAAK,QAAQ,IAAI,KAAK,CAAC,YAAY,CAAC,KAAK,+BAA+B;QAAE,OAAO,SAAS,CAAC;IAChI,MAAM,IAAI,GAAG,KAAK,CAAC,MAAM,CAAC,CAAC;IAC3B,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC;QAAE,OAAO,SAAS,CAAC;IAC/D,IAAI,CAAC;QACH,OAAO,wBAAwB,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC;IACpD,CAAC;IAAC,MAAM,CAAC;QACP,4EAA4E;QAC5E,OAAO,SAAS,CAAC;IACnB,CAAC;AACH,CAAC;AAED,gFAAgF;AAChF,MAAM,UAAU,qBAAqB,CAAC,OAA2B;IAC/D,IAAI,QAAuC,CAAC;IAC5C,KAAK,MAAM,KAAK,IAAI,OAAO;QAAE,QAAQ,GAAG,0BAA0B,CAAC,KAAK,CAAC,IAAI,QAAQ,CAAC;IACtF,OAAO,QAAQ,CAAC;AAClB,CAAC;AAED,SAAS,YAAY,CAAC,KAAgB;IACpC,OAAO,QAAQ,CAAC,KAAK,CAAC,CAAC;AACzB,CAAC;AAED,SAAS,QAAQ,CAAC,KAAc;IAC9B,OAAO,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,KAAK,IAAI,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;AAC9E,CAAC"}
@@ -3,11 +3,14 @@ const SESSION_NAME_TIMEOUT_MS = 10_000;
3
3
  const SESSION_NAME_MAX_INPUT_CHARS = 4_000;
4
4
  const SESSION_NAME_MAX_LENGTH = 60;
5
5
  const FALLBACK_SESSION_NAME_MAX_WORDS = 6;
6
- const RELAY_HANDOFF_FIRST_LINE = /^Relay\s+"([^"\n]+)"\s+leg\s+(\S+)\s+begins now\.?\s*(?:\n|$)/;
7
- export function deterministicSessionName(firstMessage) {
8
- if (typeof firstMessage !== "string")
9
- return undefined;
10
- return relayHandoffSessionName(firstMessage.trimStart());
6
+ /** Explicit extension names are validated, not silently rewritten. */
7
+ export function requireInitialSessionName(value) {
8
+ if (typeof value !== "string" || value.trim() === "" || value !== value.trim()
9
+ // eslint-disable-next-line no-control-regex -- explicit names must not contain control characters.
10
+ || value.length > SESSION_NAME_MAX_LENGTH || /[\u0000-\u001f\u007f]/u.test(value)) {
11
+ throw new Error("Initial session name must be trimmed, non-empty, at most 60 characters, and contain no control characters");
12
+ }
13
+ return value;
11
14
  }
12
15
  export async function generateShortSessionName(streamFn, model, firstMessage) {
13
16
  const stream = await streamFn(model, normalizeContext({
@@ -56,29 +59,6 @@ export function cleanSessionName(value) {
56
59
  .trim();
57
60
  return title === "" ? undefined : title;
58
61
  }
59
- function relayHandoffSessionName(firstMessage) {
60
- const match = RELAY_HANDOFF_FIRST_LINE.exec(firstMessage);
61
- if (match === null)
62
- return undefined;
63
- const relayName = match[1]?.replace(/\s+/g, " ").trim();
64
- const legIdentifier = match[2];
65
- if (relayName === undefined || relayName === "" || legIdentifier === undefined)
66
- return undefined;
67
- return cleanSessionName(formatRelaySessionName(relayName, legIdentifier));
68
- }
69
- function formatRelaySessionName(relayName, legIdentifier) {
70
- const prefix = "Relay ";
71
- const suffix = ` leg ${legIdentifier}`;
72
- const maxRelayNameLength = Math.max(1, SESSION_NAME_MAX_LENGTH - prefix.length - suffix.length);
73
- const displayedRelayName = truncateRelayName(relayName, maxRelayNameLength);
74
- return `${prefix}${displayedRelayName}${suffix}`;
75
- }
76
- function truncateRelayName(relayName, maxLength) {
77
- if (relayName.length <= maxLength)
78
- return relayName;
79
- const truncated = relayName.slice(0, maxLength).replace(/[\s._-]+$/g, "").trim();
80
- return truncated === "" ? relayName.slice(0, maxLength).trim() : truncated;
81
- }
82
62
  function textFromAssistant(message) {
83
63
  return message.content
84
64
  .filter((part) => part.type === "text")