@jmfederico/pi-web 1.202610.1 → 1.202610.2

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 (144) 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-DUsqiytv.js +4408 -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/package.json +4 -4
  12. package/dist/pi-packages/relays/extensions/index.js +60 -0
  13. package/dist/pi-packages/relays/package.json +10 -1
  14. package/dist/pi-packages/relays/pi-web-plugin.js +31 -1
  15. package/dist/pi-packages/relays/prompts/relay-worktree.md +6 -16
  16. package/dist/pi-packages/relays/prompts/relay.md +6 -33
  17. package/dist/pi-packages/relays/relayDispatch.js +67 -0
  18. package/dist/pi-packages/relays/relayIdentity.js +37 -0
  19. package/dist/pi-packages/relays/relaysPanelElement.js +37 -12
  20. package/dist/pi-packages/relays/skills/relay/SKILL.md +24 -68
  21. package/dist/pi-packages/relays/skills/relay-runner/SKILL.md +40 -219
  22. package/dist/pi-packages/workflows/browser/pi-web-plugin.js +33 -0
  23. package/dist/pi-packages/workflows/package.json +22 -0
  24. package/dist/pi-packages/workflows/prompts/worktree.md +12 -0
  25. package/dist/pi-web-plugins/files/browser/pi-web-plugin.js +49 -51
  26. package/dist/pi-web-plugins/git/browser/git-panel.js +0 -1
  27. package/dist/pi-web-plugins/git/server-plugin.js +11 -0
  28. package/dist/pi-web-plugins/git/workspace-discovery-notify.cjs +14 -0
  29. package/dist/pi-web-plugins/git/workspaceDiscoveryHooks.js +180 -0
  30. package/dist/pi-web-plugins/info/infoInternals.js +3 -3
  31. package/dist/pi-web-plugins/info/pi-web-plugin.js +1 -1
  32. package/dist/pi-web-plugins/mermaid/browser/mermaid-engine.js +1077 -414
  33. package/dist/pi-web-plugins/terminal/browser/pi-web-plugin.js +30 -30
  34. package/dist/pi-web-plugins/updates/pi-web-plugin.js +1 -1
  35. package/dist/piWebUpdate.js +2 -2
  36. package/dist/piWebUpdate.js.map +1 -1
  37. package/dist/plugin-api.d.ts +229 -8
  38. package/dist/server/activity/workspaceActivityService.js +4 -1
  39. package/dist/server/activity/workspaceActivityService.js.map +1 -1
  40. package/dist/server/app.js +5 -0
  41. package/dist/server/app.js.map +1 -1
  42. package/dist/server/configRoutes.js +6 -0
  43. package/dist/server/configRoutes.js.map +1 -1
  44. package/dist/server/knownAutoInstallPiPackages.js +6 -0
  45. package/dist/server/knownAutoInstallPiPackages.js.map +1 -1
  46. package/dist/server/navigationPreferenceRoutes.js +39 -0
  47. package/dist/server/navigationPreferenceRoutes.js.map +1 -0
  48. package/dist/server/plugins/projectPluginSettings.js +95 -0
  49. package/dist/server/plugins/projectPluginSettings.js.map +1 -0
  50. package/dist/server/plugins/serverPluginRuntime.js +26 -3
  51. package/dist/server/plugins/serverPluginRuntime.js.map +1 -1
  52. package/dist/server/sessiond/autoInstallPiPackages.js +3 -3
  53. package/dist/server/sessiond/workspaceCatalogRoutes.js +3 -1
  54. package/dist/server/sessiond/workspaceCatalogRoutes.js.map +1 -1
  55. package/dist/server/sessiond/workspaceNotificationRoutes.js +41 -0
  56. package/dist/server/sessiond/workspaceNotificationRoutes.js.map +1 -0
  57. package/dist/server/sessiond.js +40 -7
  58. package/dist/server/sessiond.js.map +1 -1
  59. package/dist/server/sessions/askUserDomain.js +232 -0
  60. package/dist/server/sessions/askUserDomain.js.map +1 -0
  61. package/dist/server/sessions/askUserTool.js +15 -17
  62. package/dist/server/sessions/askUserTool.js.map +1 -1
  63. package/dist/server/sessions/dockerEnvironmentFacts.js +8 -0
  64. package/dist/server/sessions/dockerEnvironmentFacts.js.map +1 -1
  65. package/dist/server/sessions/extensionSessionDispatch.js +76 -0
  66. package/dist/server/sessions/extensionSessionDispatch.js.map +1 -0
  67. package/dist/server/sessions/globalProviderPolicy.js +71 -16
  68. package/dist/server/sessions/globalProviderPolicy.js.map +1 -1
  69. package/dist/server/sessions/messageHistoryTarget.js +61 -0
  70. package/dist/server/sessions/messageHistoryTarget.js.map +1 -0
  71. package/dist/server/sessions/piSessionManagerGateway.js +23 -24
  72. package/dist/server/sessions/piSessionManagerGateway.js.map +1 -1
  73. package/dist/server/sessions/piSessionService.js +581 -262
  74. package/dist/server/sessions/piSessionService.js.map +1 -1
  75. package/dist/server/sessions/sessionArchiveStore.js +5 -1
  76. package/dist/server/sessions/sessionArchiveStore.js.map +1 -1
  77. package/dist/server/sessions/sessionArchiveTree.js +2 -2
  78. package/dist/server/sessions/sessionArchiveTree.js.map +1 -1
  79. package/dist/server/sessions/sessionCommandService.js +9 -3
  80. package/dist/server/sessions/sessionCommandService.js.map +1 -1
  81. package/dist/server/sessions/sessionImageDimensions.js +31 -0
  82. package/dist/server/sessions/sessionImageDimensions.js.map +1 -0
  83. package/dist/server/sessions/sessionMediaIndex.js +7 -1
  84. package/dist/server/sessions/sessionMediaIndex.js.map +1 -1
  85. package/dist/server/sessions/sessionMetadata.js +51 -0
  86. package/dist/server/sessions/sessionMetadata.js.map +1 -0
  87. package/dist/server/sessions/sessionNameGenerator.js +8 -28
  88. package/dist/server/sessions/sessionNameGenerator.js.map +1 -1
  89. package/dist/server/sessions/sessionRoutes.js +10 -2
  90. package/dist/server/sessions/sessionRoutes.js.map +1 -1
  91. package/dist/server/sessions/sessionSummaryScanner.js +62 -5
  92. package/dist/server/sessions/sessionSummaryScanner.js.map +1 -1
  93. package/dist/server/sessions/spawnSessionTool.js +3 -1
  94. package/dist/server/sessions/spawnSessionTool.js.map +1 -1
  95. package/dist/server/sessions/spawnSubsessionTool.js +25 -17
  96. package/dist/server/sessions/spawnSubsessionTool.js.map +1 -1
  97. package/dist/server/sessions/subsessionCompletionDelivery.js +15 -0
  98. package/dist/server/sessions/subsessionCompletionDelivery.js.map +1 -0
  99. package/dist/server/sessions/subsessionCompletionInbox.js +134 -0
  100. package/dist/server/sessions/subsessionCompletionInbox.js.map +1 -0
  101. package/dist/server/sessions/subsessionProvenance.js +27 -0
  102. package/dist/server/sessions/subsessionProvenance.js.map +1 -0
  103. package/dist/server/status/machineStatusService.js +17 -5
  104. package/dist/server/status/machineStatusService.js.map +1 -1
  105. package/dist/server/storage/navigationPreferenceStore.js +137 -0
  106. package/dist/server/storage/navigationPreferenceStore.js.map +1 -0
  107. package/dist/server/workspaces/projectPiWebConfig.js +88 -6
  108. package/dist/server/workspaces/projectPiWebConfig.js.map +1 -1
  109. package/dist/server/workspaces/workspaceChangeNotifier.js +12 -0
  110. package/dist/server/workspaces/workspaceChangeNotifier.js.map +1 -0
  111. package/dist/server/workspaces/workspaceNotificationCommand.js +64 -0
  112. package/dist/server/workspaces/workspaceNotificationCommand.js.map +1 -0
  113. package/dist/server/workspaces/workspaceProviderRegistry.js +55 -0
  114. package/dist/server/workspaces/workspaceProviderRegistry.js.map +1 -1
  115. package/dist/server-plugin-api.d.ts +18 -0
  116. package/dist/server-plugin-api.js.map +1 -1
  117. package/dist/sessiond/sessionDaemonClient.js +3 -3
  118. package/dist/sessiond/sessionDaemonClient.js.map +1 -1
  119. package/dist/shared/apiTypes.js +2 -2
  120. package/dist/shared/apiTypes.js.map +1 -1
  121. package/dist/shared/federatedRoutes.js +5 -0
  122. package/dist/shared/federatedRoutes.js.map +1 -1
  123. package/dist/shared/machineStatus.js +11 -2
  124. package/dist/shared/machineStatus.js.map +1 -1
  125. package/dist/shared/navigationPreferences.js +6 -0
  126. package/dist/shared/navigationPreferences.js.map +1 -0
  127. package/dist/shared/pluginApiTypes.d.ts +2 -0
  128. package/dist/shared/sessionMedia.js +6 -0
  129. package/dist/shared/sessionMedia.js.map +1 -1
  130. package/dist/shared/streamingBehavior.js +7 -0
  131. package/dist/shared/streamingBehavior.js.map +1 -0
  132. package/dist/shared/themePreference.js +23 -0
  133. package/dist/shared/themePreference.js.map +1 -0
  134. package/dist/workspaceNotificationCli.js +95 -0
  135. package/dist/workspaceNotificationCli.js.map +1 -0
  136. package/docs/config.md +99 -86
  137. package/docs/plugins.md +103 -30
  138. package/examples/session-bridge-plugin/package.json +2 -2
  139. package/examples/workspace-provider-plugin/package.json +1 -1
  140. package/package.json +33 -33
  141. package/dist/client/assets/index-CBjDnBIN.js +0 -4178
  142. package/dist/client/assets/vendor-editor-core-YWog6mAR.js +0 -10
  143. package/dist/server/sessions/pendingAskStore.js +0 -275
  144. package/dist/server/sessions/pendingAskStore.js.map +0 -1
@@ -1 +1 @@
1
- {"version":3,"file":"askUserTool.js","sourceRoot":"","sources":["../../../src/server/sessions/askUserTool.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"askUserTool.js","sourceRoot":"","sources":["../../../src/server/sessions/askUserTool.ts"],"names":[],"mappings":"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"}
@@ -226,11 +226,19 @@ function devWorkspaceFacts(mounts, devRepoRoot) {
226
226
  const nested = mounts
227
227
  .filter((mount) => mount.target !== DEV_WORKSPACE_MOUNT && isWithin(mount.target, DEV_WORKSPACE_MOUNT))
228
228
  .map((mount) => `\`${mount.target}\``);
229
+ const hostDependencies = devRepoRoot === undefined ? undefined : `${devRepoRoot}/node_modules`;
230
+ const sharedDependencies = hostDependencies !== undefined
231
+ && hostDependencies !== `${DEV_WORKSPACE_MOUNT}/node_modules`
232
+ && mounts.some((mount) => mount.target === `${DEV_WORKSPACE_MOUNT}/node_modules`)
233
+ && mounts.some((mount) => mount.target === hostDependencies);
229
234
  return [
230
235
  `The PI WEB checkout this deployment runs is bind-mounted at \`${DEV_WORKSPACE_MOUNT}\`.${hostPath}`,
231
236
  ...(nested.length === 0
232
237
  ? []
233
238
  : [`Inside it, ${nested.join(", ")} ${nested.length === 1 ? "is a separate container-managed mount" : "are separate container-managed mounts"}, not the host directory of the same path.`]),
239
+ ...(sharedDependencies
240
+ ? [`Inside this container, \`${hostDependencies}\` uses the same container-managed dependency volume as \`${DEV_WORKSPACE_MOUNT}/node_modules\`. Neither checkout path uses or modifies the host checkout's \`node_modules\`.`]
241
+ : []),
234
242
  ];
235
243
  }
236
244
  function isHostPathMount(mount) {
@@ -1 +1 @@
1
- {"version":3,"file":"dockerEnvironmentFacts.js","sourceRoot":"","sources":["../../../src/server/sessions/dockerEnvironmentFacts.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"dockerEnvironmentFacts.js","sourceRoot":"","sources":["../../../src/server/sessions/dockerEnvironmentFacts.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,76 @@
1
+ import { isKnownThinkingLevel } from "../../shared/thinkingLevels.js";
2
+ import { requireSessionUiMetadata } from "./sessionMetadata.js";
3
+ import { requireInitialSessionName } from "./sessionNameGenerator.js";
4
+ /** In-process extension protocol. The synchronous receipt avoids timeout/retry ambiguity. */
5
+ export const SESSION_DISPATCH_CHANNEL = "pi-web:session-dispatch:v1";
6
+ /** Pi owns these registrations and replaces them on reload; no global bus or resources. */
7
+ export function createExtensionSessionDispatch(cwd, deps) {
8
+ return (pi) => {
9
+ let context;
10
+ pi.on("session_start", (_event, ctx) => { context = ctx; });
11
+ pi.on("session_shutdown", () => { context = undefined; });
12
+ pi.events.on(SESSION_DISPATCH_CHANNEL, (request) => {
13
+ if (!isRecord(request))
14
+ return;
15
+ const accept = request["accept"];
16
+ if (typeof accept !== "function")
17
+ return;
18
+ // Receipt is synchronous, while validation/spawn failures travel in the
19
+ // accepted promise rather than disappearing into Pi's fire-and-forget bus.
20
+ const result = (async () => {
21
+ if (context === undefined)
22
+ throw new Error("Session dispatch requires an active Pi session");
23
+ if (!deps.isEnabled() || deps.spawn === undefined)
24
+ throw new Error("Session dispatch is disabled for this session");
25
+ const invocation = parseInvocation(request["input"], cwd, context);
26
+ return deps.spawn(invocation);
27
+ })();
28
+ Reflect.apply(accept, undefined, [result]);
29
+ });
30
+ };
31
+ }
32
+ function parseInvocation(value, cwd, ctx) {
33
+ if (!isRecord(value))
34
+ throw new Error("Session dispatch input must be an object");
35
+ const allowed = new Set(["prompt", "cwd", "name", "metadata", "model", "thinkingLevel"]);
36
+ for (const key of Reflect.ownKeys(value)) {
37
+ if (typeof key !== "string" || !allowed.has(key))
38
+ throw new Error(`Unsupported session dispatch field: ${String(key)}`);
39
+ }
40
+ const prompt = requiredString(value["prompt"], "prompt", 64 * 1024);
41
+ if (Buffer.byteLength(prompt, "utf8") > 64 * 1024)
42
+ throw new Error("Session dispatch prompt exceeds 65536 UTF-8 bytes");
43
+ const targetCwd = optionalString(value["cwd"], "cwd", 4096);
44
+ const name = value["name"] === undefined ? undefined : requireInitialSessionName(value["name"]);
45
+ const modelSpec = optionalString(value["model"], "model", 512);
46
+ const thinkingLevel = value["thinkingLevel"];
47
+ if (thinkingLevel !== undefined && (typeof thinkingLevel !== "string" || !isKnownThinkingLevel(thinkingLevel))) {
48
+ throw new Error("Unknown session dispatch thinking level");
49
+ }
50
+ const metadata = value["metadata"] === undefined ? undefined : requireSessionUiMetadata(value["metadata"]);
51
+ const thinking = thinkingLevel ?? ctx.thinkingLevel;
52
+ return {
53
+ spawningCwd: cwd,
54
+ spawningSessionId: ctx.sessionManager.getSessionId(),
55
+ prompt,
56
+ cwd: targetCwd,
57
+ ...(name === undefined ? {} : { name }),
58
+ ...(metadata === undefined ? {} : { metadata }),
59
+ ...(ctx.model === undefined ? {} : { model: ctx.model }),
60
+ ...(modelSpec === undefined ? {} : { modelSpec }),
61
+ ...(thinking === undefined ? {} : { thinkingLevel: thinking }),
62
+ };
63
+ }
64
+ function requiredString(value, label, maxLength) {
65
+ if (typeof value !== "string" || value.trim() === "" || value.length > maxLength) {
66
+ throw new Error(`Session dispatch ${label} must be non-empty and at most ${String(maxLength)} characters`);
67
+ }
68
+ return value;
69
+ }
70
+ function optionalString(value, label, maxLength) {
71
+ return value === undefined ? undefined : requiredString(value, label, maxLength);
72
+ }
73
+ function isRecord(value) {
74
+ return typeof value === "object" && value !== null && !Array.isArray(value);
75
+ }
76
+ //# sourceMappingURL=extensionSessionDispatch.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"extensionSessionDispatch.js","sourceRoot":"","sources":["../../../src/server/sessions/extensionSessionDispatch.ts"],"names":[],"mappings":"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"}
@@ -44,6 +44,46 @@ function isModelsOnlyProviderUpdate(baseline, incoming) {
44
44
  return false;
45
45
  return incoming.models !== undefined && !isDeepStrictEqual(incoming.models, baseline.models);
46
46
  }
47
+ /**
48
+ * Diagnostic comparison only: fresh closures are not evidence of changed code.
49
+ * The acceptance gate above still uses strict equality and remains unchanged.
50
+ * Compare plain config objects recursively so a real OAuth setting change is
51
+ * not hidden just because that object also contains callbacks.
52
+ */
53
+ function matchesIgnoringFunctionReferences(baseline, incoming, compared = new WeakMap()) {
54
+ if (isDeepStrictEqual(baseline, incoming))
55
+ return true;
56
+ if (typeof baseline === "function" && typeof incoming === "function")
57
+ return true;
58
+ if (typeof baseline !== "object" || baseline === null || typeof incoming !== "object" || incoming === null)
59
+ return false;
60
+ const prototype = Object.getPrototypeOf(baseline);
61
+ if (prototype !== Object.getPrototypeOf(incoming) || (prototype !== Object.prototype && prototype !== null))
62
+ return false;
63
+ const paired = compared.get(baseline) ?? new WeakSet();
64
+ if (paired.has(incoming))
65
+ return true;
66
+ paired.add(incoming);
67
+ compared.set(baseline, paired);
68
+ const baselineFields = new Map(Object.entries(baseline));
69
+ const incomingFields = Object.entries(incoming);
70
+ return baselineFields.size === incomingFields.length && incomingFields.every(([field, value]) => baselineFields.has(field) && matchesIgnoringFunctionReferences(baselineFields.get(field), value, compared));
71
+ }
72
+ function ignoredConfigReason(baseline, incoming) {
73
+ const baselineFields = new Map(Object.entries(baseline));
74
+ const changedFields = Object.entries(incoming).filter(([field, value]) => field !== MODELS_FIELD && value !== undefined && !isDeepStrictEqual(value, baselineFields.get(field)));
75
+ if (changedFields.length === 0)
76
+ return undefined; // Unchanged replay: no diagnostic needed.
77
+ return changedFields.every(([field, value]) => matchesIgnoringFunctionReferences(baselineFields.get(field), value))
78
+ ? "implementation-unverified"
79
+ : "configuration-change";
80
+ }
81
+ const PROVIDER_RECOVERY_GUIDANCE = "The startup provider, if any, remains in use. "
82
+ + "Provider registrations are shared across sessions and fixed at daemon startup. "
83
+ + "For a global extension, register providers in its factory in the active agent directory, then manually restart "
84
+ + "the session daemon when safe; this interrupts active sessions and terminals. Project-only or session_start-only "
85
+ + "registrations are not enabled by a restart. /reload and web/API restarts do not rebuild the provider baseline. "
86
+ + "See https://pi-web.dev/faq#provider-extension-no-effect.";
47
87
  async function loadGlobalExtensionServices(runtime, agentDir) {
48
88
  const scratchCwd = await mkdtemp(join(tmpdir(), "pi-web-global-ext-"));
49
89
  try {
@@ -94,32 +134,42 @@ function freezeProviderMutations(runtime, logger, configBaseline) {
94
134
  registerProvider: runtime.registerProvider.bind(runtime),
95
135
  unregisterProvider: runtime.unregisterProvider.bind(runtime),
96
136
  };
97
- const loggedProviderIds = {
98
- registerNativeProvider: new Set(),
99
- registerProvider: new Set(),
100
- unregisterProvider: new Set(),
101
- };
137
+ const startupProviderIds = new Set(runtime.getRegisteredProviderIds());
138
+ const loggedMutations = new Set();
102
139
  // Logging must never turn a provider mutation into an extension failure.
103
- const logQuietly = (details, message) => {
140
+ const logQuietly = (details, message, level = "info") => {
104
141
  try {
105
- logger.info(details, message);
142
+ logger[level](details, message);
106
143
  }
107
144
  catch {
108
145
  // Intentionally ignored; the mutation decision already stands.
109
146
  }
110
147
  };
111
- const logIgnoredMutation = (operation, providerId) => {
112
- const loggedIds = loggedProviderIds[operation];
113
- if (loggedIds.has(providerId))
148
+ const logIgnoredMutation = (operation, providerId, reason) => {
149
+ // An ordinary callback replay must not suppress a later actionable warning.
150
+ const key = JSON.stringify([operation, providerId, reason]);
151
+ if (loggedMutations.has(key))
114
152
  return;
115
- loggedIds.add(providerId);
116
- logQuietly({ context: LOG_CONTEXT, operation, providerId }, "ignored provider mutation after global bootstrap");
153
+ loggedMutations.add(key);
154
+ const level = reason === "not-in-startup-baseline" || reason === "configuration-change" ? "warn" : "info";
155
+ logQuietly({
156
+ context: LOG_CONTEXT,
157
+ code: "PROVIDER_MUTATION_IGNORED",
158
+ operation,
159
+ providerId,
160
+ reason,
161
+ guidance: PROVIDER_RECOVERY_GUIDANCE,
162
+ }, "ignored provider mutation after global bootstrap", level);
117
163
  };
118
164
  const frozenMethods = {
119
165
  registerProvider(providerId, config) {
120
166
  const baseline = configBaseline.get(providerId);
121
167
  if (!baseline || !isModelsOnlyProviderUpdate(baseline, config)) {
122
- logIgnoredMutation("registerProvider", providerId);
168
+ const reason = baseline === undefined
169
+ ? (startupProviderIds.has(providerId) ? "configuration-change" : "not-in-startup-baseline")
170
+ : ignoredConfigReason(baseline, config);
171
+ if (reason !== undefined)
172
+ logIgnoredMutation("registerProvider", providerId, reason);
123
173
  return;
124
174
  }
125
175
  // Pi validates the registration and ends in a fire-and-forget local
@@ -137,10 +187,13 @@ function freezeProviderMutations(runtime, logger, configBaseline) {
137
187
  }, "applied models-only provider update after global bootstrap");
138
188
  },
139
189
  registerNativeProvider(provider) {
140
- logIgnoredMutation("registerNativeProvider", provider.id);
190
+ const reason = configBaseline.has(provider.id)
191
+ ? "configuration-change"
192
+ : startupProviderIds.has(provider.id) ? "native-registration-frozen" : "not-in-startup-baseline";
193
+ logIgnoredMutation("registerNativeProvider", provider.id, reason);
141
194
  },
142
195
  unregisterProvider(providerId) {
143
- logIgnoredMutation("unregisterProvider", providerId);
196
+ logIgnoredMutation("unregisterProvider", providerId, "unregistration-frozen");
144
197
  },
145
198
  };
146
199
  try {
@@ -164,7 +217,9 @@ function freezeProviderMutations(runtime, logger, configBaseline) {
164
217
  * Documented initialization-time config and native registrations reach Pi's
165
218
  * public service factory. Pi exposes no provider-freeze hook, so the daemon
166
219
  * deliberately shadows the three public instance mutation methods afterward;
167
- * every provider registration replay or later mutation is then a logged no-op.
220
+ * every later mutation is then a no-op, with daemon-log-only diagnostics.
221
+ * Unchanged config replays are silent; fresh closures and native replays are
222
+ * informational because their implementation cannot be compared reliably.
168
223
  *
169
224
  * The one exception is a known config provider refreshing its own model
170
225
  * catalog: a `registerProvider` call whose config matches the recorded
@@ -1 +1 @@
1
- {"version":3,"file":"globalProviderPolicy.js","sourceRoot":"","sources":["../../../src/server/sessions/globalProviderPolicy.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"globalProviderPolicy.js","sourceRoot":"","sources":["../../../src/server/sessions/globalProviderPolicy.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,61 @@
1
+ /**
2
+ * Resolve a message shortcut against the current root-to-leaf branch. Non-user
3
+ * checkpoints retain the intervening history up to, but not including, the next
4
+ * distinct user/assistant checkpoint. Pi still owns the actual tree mutation.
5
+ * Exact-entry tree operations do not use this resolver.
6
+ */
7
+ export function messageHistoryTargetId(branch, entryId) {
8
+ const index = branch.findIndex((entry) => isRecord(entry) && entry["id"] === entryId);
9
+ if (index < 0)
10
+ throw new Error("This message is no longer available on the active session branch.");
11
+ const entry = branch[index];
12
+ // Pi restores a selected user message to the editor by positioning before it.
13
+ if (isRecord(entry) && entry["type"] === "message" && isRecord(entry["message"])
14
+ && entry["message"]["role"] === "user")
15
+ return entryId;
16
+ let targetId = entryId;
17
+ for (let nextIndex = index + 1; nextIndex < branch.length; nextIndex += 1) {
18
+ const next = branch[nextIndex];
19
+ if (!isRecord(next) || typeof next["id"] !== "string" || isConversationCheckpoint(next))
20
+ break;
21
+ targetId = next["id"];
22
+ }
23
+ return targetId;
24
+ }
25
+ /**
26
+ * Boundaries are intrinsic conversation checkpoints, not transient plugin
27
+ * availability (busy/archived/disabled buttons must not change the cutoff).
28
+ * Tool-only assistant entries have no core history header and stay in the
29
+ * preceding checkpoint along with their results and other technical entries.
30
+ */
31
+ function isConversationCheckpoint(entry) {
32
+ if (entry["type"] !== "message" || !isRecord(entry["message"]))
33
+ return false;
34
+ const message = entry["message"];
35
+ if (message["role"] === "user")
36
+ return true;
37
+ if (message["role"] !== "assistant")
38
+ return false;
39
+ const content = message["content"];
40
+ if (typeof content === "string")
41
+ return content !== "";
42
+ if (!Array.isArray(content))
43
+ return content != null;
44
+ return content.some((part) => {
45
+ if (!isRecord(part))
46
+ return true;
47
+ if (part["type"] === "toolCall")
48
+ return false;
49
+ if (part["type"] === "text")
50
+ return typeof part["text"] === "string" && part["text"] !== "";
51
+ if (part["type"] === "thinking") {
52
+ const text = part["thinking"] ?? part["text"];
53
+ return typeof text === "string" && text !== "";
54
+ }
55
+ return true;
56
+ });
57
+ }
58
+ function isRecord(value) {
59
+ return typeof value === "object" && value !== null && !Array.isArray(value);
60
+ }
61
+ //# sourceMappingURL=messageHistoryTarget.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"messageHistoryTarget.js","sourceRoot":"","sources":["../../../src/server/sessions/messageHistoryTarget.ts"],"names":[],"mappings":"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"}
@@ -150,8 +150,8 @@ class SettingsAwarePiSessionManagerGateway {
150
150
  async listAll() {
151
151
  const envSessionDir = this.resolver.globalEnvSessionDir();
152
152
  const [defaultSessions, envSessions] = await Promise.all([
153
- listSessionsInDefaultPiStore(this.resolver.defaultSessionsRoot()),
154
- envSessionDir === undefined ? Promise.resolve([]) : listSessionsInDir(envSessionDir),
153
+ listSessionsInDefaultPiStore(this.resolver.defaultSessionsRoot(), this.summaryScanner),
154
+ envSessionDir === undefined ? Promise.resolve([]) : listSessionsInDir(envSessionDir, this.summaryScanner),
155
155
  ]);
156
156
  return uniqueSessionsByPath([...defaultSessions, ...envSessions]);
157
157
  }
@@ -267,16 +267,22 @@ function deriveTranscriptBranch(entries) {
267
267
  }
268
268
  return branch.reverse();
269
269
  }
270
- export async function listSessionsInDir(sessionDir) {
270
+ export async function listSessionsInDir(sessionDir, scanner = new SessionSummaryScanner()) {
271
271
  // listAll(sessionDir) lists without the SDK's internal cwd filter, which would
272
272
  // otherwise compare against this process's cwd and drop other projects' sessions.
273
273
  // Cwd filtering is applied explicitly by filterSessionsForCwd where needed.
274
274
  // Session file headers are written by external tools (Pi CLI, SDK consumers),
275
275
  // so their cwd is canonicalized here before it enters pi-web.
276
- const sessions = await SessionManager.listAll(sessionDir);
277
- return sessions.map((session) => ({ ...session, cwd: canonicalizeStoredCwd(session.cwd) }));
276
+ const [sessions, summaries] = await Promise.all([SessionManager.listAll(sessionDir), scanner.scanSessionSummariesInDir(sessionDir)]);
277
+ // Keep SDK cleanup dates/counts, while carrying public identity into archive
278
+ // indexes even when cleanup, rather than a workspace listing, initiates it.
279
+ const metadataByPath = new Map(summaries.map((summary) => [summary.path, summary.metadata]));
280
+ return sessions.map((session) => {
281
+ const metadata = metadataByPath.get(session.path);
282
+ return { ...session, cwd: canonicalizeStoredCwd(session.cwd), ...(metadata === undefined ? {} : { metadata }) };
283
+ });
278
284
  }
279
- export async function listSessionsInDefaultPiStore(storeRoot) {
285
+ export async function listSessionsInDefaultPiStore(storeRoot, scanner = new SessionSummaryScanner()) {
280
286
  let entries;
281
287
  try {
282
288
  entries = await readdir(storeRoot, { withFileTypes: true });
@@ -285,7 +291,7 @@ export async function listSessionsInDefaultPiStore(storeRoot) {
285
291
  return [];
286
292
  }
287
293
  const sessionDirs = entries.filter((entry) => entry.isDirectory()).map((entry) => join(storeRoot, entry.name));
288
- const sessions = (await Promise.all(sessionDirs.map((dir) => listSessionsInDir(dir)))).flat();
294
+ const sessions = (await Promise.all(sessionDirs.map((dir) => listSessionsInDir(dir, scanner)))).flat();
289
295
  return sessions.sort((a, b) => b.modified.getTime() - a.modified.getTime());
290
296
  }
291
297
  export function filterSessionsForCwd(sessions, cwd) {
@@ -297,17 +303,16 @@ export function filterSessionsForCwd(sessions, cwd) {
297
303
  * Locate a session file by id without parsing transcripts.
298
304
  *
299
305
  * Session filenames embed the session id (`<timestamp>_<sessionId>.jsonl`), so
300
- * exact and prefix matches are normally found from the directory names alone
301
- * and confirmed by one header read. Filename candidates that fail header
306
+ * exact matches are normally found from the directory names alone and
307
+ * confirmed by one header read. Filename candidates that fail header
302
308
  * verification (a copy whose header holds a different session) do not end the
303
309
  * search: the remaining files are checked too, so sessions in renamed or
304
310
  * hand-named files still resolve. Headers decide: a file whose header id or cwd
305
311
  * does not match is not the session.
306
312
  *
307
- * Among matches, an exact header id wins over a prefix match wherever it
308
- * appears. Ambiguous prefix candidates are considered in two buckets: filename
309
- * matches before remaining files, with each bucket sorted by the creation time
310
- * embedded in SDK-style names (see `byNewestEmbeddedTimestamp`).
313
+ * Only full header id equality matches. Filename matches are checked before
314
+ * remaining files, with each bucket sorted by the creation time embedded in
315
+ * SDK-style names (see `byNewestEmbeddedTimestamp`).
311
316
  *
312
317
  * The header's cwd is returned canonicalized, matching what `list` reports.
313
318
  */
@@ -320,9 +325,6 @@ export async function resolveSessionFileInDir(sessionDir, cwd, sessionId, readHe
320
325
  }
321
326
  fileNameMatches.sort(byNewestEmbeddedTimestamp);
322
327
  remainingFiles.sort(byNewestEmbeddedTimestamp);
323
- // A prefix match is only provisional: an exact header id wins over it
324
- // wherever it appears, so the search continues after one is found.
325
- let prefixMatch;
326
328
  // Filename matches first; the remaining files follow so a renamed file still
327
329
  // resolves when every filename candidate fails header verification.
328
330
  for (const sessionFile of [...fileNameMatches, ...remainingFiles]) {
@@ -334,11 +336,8 @@ export async function resolveSessionFileInDir(sessionDir, cwd, sessionId, readHe
334
336
  if (header.id === sessionId) {
335
337
  return { id: header.id, cwd: canonicalizeStoredCwd(header.cwd), path: sessionFile };
336
338
  }
337
- if (prefixMatch === undefined && header.id.startsWith(sessionId)) {
338
- prefixMatch = { id: header.id, cwd: canonicalizeStoredCwd(header.cwd), path: sessionFile };
339
- }
340
339
  }
341
- return prefixMatch;
340
+ return undefined;
342
341
  }
343
342
  /**
344
343
  * Order session files newest-first by the timestamp embedded in SDK-style names
@@ -349,8 +348,8 @@ export async function resolveSessionFileInDir(sessionDir, cwd, sessionId, readHe
349
348
  * deterministic everywhere.
350
349
  *
351
350
  * This deliberately drifts from the listing, which orders by modified time:
352
- * the resolver never stats transcript files, so ambiguous prefix candidates
353
- * within each bucket are considered in this creation-time order instead.
351
+ * the resolver never stats transcript files, so candidates within each bucket
352
+ * are considered in this creation-time order instead.
354
353
  */
355
354
  function byNewestEmbeddedTimestamp(a, b) {
356
355
  const timestampA = embeddedFileNameTimestamp(basename(a));
@@ -365,10 +364,10 @@ function embeddedFileNameTimestamp(fileName) {
365
364
  const separatorIndex = stem.indexOf("_");
366
365
  return separatorIndex === -1 ? "" : stem.slice(0, separatorIndex);
367
366
  }
368
- /** Whether a `.jsonl` file name embeds `sessionId` (exactly or as a prefix). */
367
+ /** Whether a `.jsonl` file name embeds the full `sessionId`. */
369
368
  function fileNameMatchesSessionId(fileName, sessionId) {
370
369
  const embeddedId = embeddedFileNameSessionId(fileName);
371
- return embeddedId !== undefined && (embeddedId === sessionId || embeddedId.startsWith(sessionId));
370
+ return embeddedId === sessionId;
372
371
  }
373
372
  /**
374
373
  * The session id embedded in an SDK-style session file name
@@ -1 +1 @@
1
- {"version":3,"file":"piSessionManagerGateway.js","sourceRoot":"","sources":["../../../src/server/sessions/piSessionManagerGateway.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"piSessionManagerGateway.js","sourceRoot":"","sources":["../../../src/server/sessions/piSessionManagerGateway.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,IAAI,EAAE,QAAQ,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,kBAAkB,CAAC;AACjE,OAAO,EAAE,OAAO,EAAE,MAAM,SAAS,CAAC;AAClC,OAAO,EAAE,QAAQ,EAAE,OAAO,EAAE,UAAU,EAAE,IAAI,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACzE,OAAO,EAAE,cAAc,EAAE,eAAe,EAAE,MAAM,iCAAiC,CAAC;AAClF,OAAO,EAAE,0BAA0B,EAAE,MAAM,iBAAiB,CAAC;AAC7D,OAAO,EAAE,qBAAqB,EAAE,aAAa,EAAE,MAAM,wBAAwB,CAAC;AAC9E,OAAO,EAAE,mBAAmB,EAAE,MAAM,6BAA6B,CAAC;AAClE,OAAO,EAAE,wBAAwB,EAA4B,MAAM,wBAAwB,CAAC;AAC5F,OAAO,EAAE,aAAa,EAAE,MAAM,wBAAwB,CAAC;AACvD,OAAO,EAAE,qBAAqB,EAAE,MAAM,4BAA4B,CAAC;AACnE,OAAO,EAAE,qBAAqB,EAAiC,MAAM,4BAA4B,CAAC;AAgBlG,MAAM,OAAO,kBAAkB;IAK7B,YAAY,OAAkC;QAC5C,IAAI,CAAC,QAAQ,GAAG,OAAO,CAAC,QAAQ,CAAC;QACjC,sEAAsE;QACtE,iEAAiE;QACjE,+BAA+B;QAC/B,IAAI,CAAC,aAAa,GAAG,0BAA0B;aAC5C,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;aAC9B,IAAI,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,KAAK,SAAS,IAAI,KAAK,KAAK,EAAE,CAAC,CAAC;QACxD,MAAM,cAAc,GAAG,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;QAC3C,IAAI,CAAC,OAAO,GAAG,cAAc,KAAK,SAAS,IAAI,cAAc,KAAK,EAAE,IAAI,UAAU,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC,cAAc,CAAC,CAAC,CAAC,OAAO,EAAE,CAAC;IAClI,CAAC;IAED,mBAAmB;QACjB,OAAO,qBAAqB,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;IAC9C,CAAC;IAED,mBAAmB;QACjB,IAAI,IAAI,CAAC,aAAa,KAAK,SAAS;YAAE,OAAO,SAAS,CAAC;QACvD,MAAM,QAAQ,GAAG,eAAe,CAAC,IAAI,CAAC,aAAa,EAAE,IAAI,CAAC,OAAO,CAAC,CAAC;QACnE,OAAO,UAAU,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,SAAS,CAAC;IACrD,CAAC;IAED,OAAO,CAAC,GAAW;QACjB,IAAI,IAAI,CAAC,aAAa,KAAK,SAAS,EAAE,CAAC;YACrC,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,UAAU,EAAE,qBAAqB,CAAC,IAAI,CAAC,aAAa,EAAE,GAAG,EAAE,IAAI,CAAC,OAAO,CAAC,EAAE,wBAAwB,EAAE,IAAI,EAAE,CAAC;QACrI,CAAC;QAED,MAAM,kBAAkB,GAAG,eAAe,CAAC,MAAM,CAAC,GAAG,EAAE,IAAI,CAAC,QAAQ,CAAC,CAAC,aAAa,EAAE,CAAC;QACtF,IAAI,kBAAkB,KAAK,SAAS,IAAI,kBAAkB,KAAK,EAAE,EAAE,CAAC;YAClE,OAAO,EAAE,MAAM,EAAE,UAAU,EAAE,UAAU,EAAE,qBAAqB,CAAC,kBAAkB,EAAE,GAAG,EAAE,IAAI,CAAC,OAAO,CAAC,EAAE,wBAAwB,EAAE,IAAI,EAAE,CAAC;QAC1I,CAAC;QAED,OAAO,EAAE,MAAM,EAAE,YAAY,EAAE,UAAU,EAAE,mBAAmB,CAAC,GAAG,EAAE,IAAI,CAAC,QAAQ,CAAC,EAAE,wBAAwB,EAAE,KAAK,EAAE,CAAC;IACxH,CAAC;CACF;AAID,MAAM,UAAU,6BAA6B,CAAC,OAAuC;IACnF,OAAO,IAAI,oCAAoC,CAAC,IAAI,kBAAkB,CAAC,OAAO,CAAC,CAAC,CAAC;AACnF,CAAC;AAED,MAAM,oCAAoC;IAmBxC,YAA6B,QAA4B;QAA5B,aAAQ,GAAR,QAAQ,CAAoB;QAlBzD;;;;;;WAMG;QACc,mBAAc,GAAG,IAAI,qBAAqB,EAAE,CAAC;QAC9D,4EAA4E;QAC5E,0EAA0E;QAC1E,4EAA4E;QAC5E,+DAA+D;QAC9C,uBAAkB,GAAG,IAAI,qBAAqB,EAAE,CAAC;QAClE,6EAA6E;QAC7E,0EAA0E;QAC1E,uCAAuC;QACtB,8BAAyB,GAAG,IAAI,GAAG,EAAyD,CAAC;IAElD,CAAC;IAE7D,KAAK,CAAC,IAAI,CAAC,GAAW;QACpB,MAAM,UAAU,GAAG,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;QAC9C,uEAAuE;QACvE,2EAA2E;QAC3E,2EAA2E;QAC3E,gBAAgB;QAChB,MAAM,QAAQ,GAAG,CAAC,MAAM,IAAI,CAAC,cAAc,CAAC,yBAAyB,CAAC,UAAU,CAAC,UAAU,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC;YAC9G,GAAG,OAAO;YACV,GAAG,EAAE,qBAAqB,CAAC,OAAO,CAAC,GAAG,CAAC;SACxC,CAAC,CAAC,CAAC;QACJ,OAAO,oBAAoB,CAAC,QAAQ,EAAE,GAAG,CAAC,CAAC;IAC7C,CAAC;IAED,kBAAkB,CAAC,GAAW,EAAE,SAAiB;QAC/C,MAAM,UAAU,GAAG,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;QAC9C,OAAO,uBAAuB,CAAC,UAAU,CAAC,UAAU,EAAE,GAAG,EAAE,SAAS,EAAE,wBAAwB,CAAC,CAAC;IAClG,CAAC;IAED,qBAAqB,CAAC,WAAmB;QACvC,yEAAyE;QACzE,oEAAoE;QACpE,yEAAyE;QACzE,IAAI,CAAC,cAAc,CAAC,UAAU,CAAC,WAAW,CAAC,CAAC;IAC9C,CAAC;IAED,MAAM,CAAC,GAAW,EAAE,OAAoC;QACtD,MAAM,UAAU,GAAG,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;QAC9C,OAAO,cAAc,CAAC,MAAM,CAAC,GAAG,EAAE,UAAU,CAAC,UAAU,EAAE,OAAO,EAAE,aAAa,KAAK,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,aAAa,EAAE,OAAO,CAAC,aAAa,EAAE,CAAC,CAAC;IACxJ,CAAC;IAED,KAAK,CAAC,UAAU,CAAC,IAAY;QAC3B,OAAO,CAAC,MAAM,IAAI,CAAC,sBAAsB,CAAC,IAAI,CAAC,CAAC,EAAE,MAAM,CAAC;IAC3D,CAAC;IAED,KAAK,CAAC,WAAW,CAAC,IAAY;QAC5B,OAAO,CAAC,MAAM,IAAI,CAAC,sBAAsB,CAAC,IAAI,CAAC,CAAC,EAAE,OAAO,CAAC;IAC5D,CAAC;IAEO,KAAK,CAAC,sBAAsB,CAAC,IAAY;QAC/C,2EAA2E;QAC3E,2EAA2E;QAC3E,iEAAiE;QACjE,MAAM,IAAI,GAAG,MAAM,aAAa,CAAC,IAAI,CAAC,CAAC;QACvC,IAAI,IAAI,KAAK,SAAS;YAAE,OAAO,SAAS,CAAC;QACzC,MAAM,SAAS,GAAG,uBAAuB,CAAC,IAAI,CAAC,CAAC;QAChD,MAAM,MAAM,GAAG,IAAI,CAAC,kBAAkB,CAAC,GAAG,CAAC,IAAI,EAAE,SAAS,CAAC,CAAC;QAC5D,IAAI,MAAM,KAAK,SAAS;YAAE,OAAO,MAAM,CAAC;QACxC,MAAM,OAAO,GAAG,IAAI,CAAC,yBAAyB,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;QACzD,IAAI,OAAO,KAAK,SAAS;YAAE,OAAO,OAAO,CAAC;QAC1C,MAAM,IAAI,GAAG,IAAI,CAAC,YAAY,CAAC,IAAI,EAAE,IAAI,EAAE,SAAS,CAAC;aAClD,IAAI,CAAC,CAAC,QAAQ,EAAE,EAAE;YACjB,IAAI,CAAC,kBAAkB,CAAC,GAAG,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC;YAC5C,OAAO,QAAQ,CAAC;QAClB,CAAC,CAAC;aACD,KAAK,CAAC,CAAC,KAAc,EAAE,EAAE;YACxB,mEAAmE;YACnE,IAAI,mBAAmB,CAAC,KAAK,EAAE,QAAQ,CAAC;gBAAE,OAAO,SAAS,CAAC;YAC3D,MAAM,KAAK,CAAC;QACd,CAAC,CAAC;aACD,OAAO,CAAC,GAAG,EAAE,GAAG,IAAI,CAAC,yBAAyB,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QACnE,IAAI,CAAC,yBAAyB,CAAC,GAAG,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;QAC/C,OAAO,IAAI,CAAC;IACd,CAAC;IAED;;;;;OAKG;IACK,KAAK,CAAC,YAAY,CAAC,IAAY,EAAE,IAAW,EAAE,SAAiB;QACrE,MAAM,QAAQ,GAAG,sBAAsB,CAAC,IAAI,CAAC,CAAC;QAC9C,MAAM,QAAQ,GAAG,IAAI,CAAC,kBAAkB,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC;QACzD,0EAA0E;QAC1E,wEAAwE;QACxE,IAAI,QAAQ,EAAE,QAAQ,KAAK,QAAQ,IAAI,QAAQ,CAAC,IAAI,GAAG,CAAC,IAAI,QAAQ,CAAC,IAAI,GAAG,IAAI,CAAC,IAAI,EAAE,CAAC;YACtF,MAAM,QAAQ,GAAG,MAAM,mBAAmB,CAAC,IAAI,EAAE,QAAQ,CAAC,IAAI,EAAE,IAAI,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC;YACrF,IAAI,QAAQ,KAAK,SAAS,EAAE,CAAC;gBAC3B,MAAM,OAAO,GAAG,CAAC,GAAG,QAAQ,CAAC,OAAO,EAAE,GAAG,QAAQ,CAAC,CAAC;gBACnD,OAAO,EAAE,SAAS,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,CAAC,IAAI,EAAE,OAAO,EAAE,MAAM,EAAE,sBAAsB,CAAC,OAAO,CAAC,EAAE,CAAC;YACpG,CAAC;QACH,CAAC;QACD,MAAM,OAAO,GAAG,sBAAsB,CAAC,MAAM,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC,CAAC;QACrE,OAAO,EAAE,SAAS,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,CAAC,IAAI,EAAE,OAAO,EAAE,MAAM,EAAE,sBAAsB,CAAC,OAAO,CAAC,EAAE,CAAC;IACpG,CAAC;IAED,KAAK,CAAC,OAAO;QACX,MAAM,aAAa,GAAG,IAAI,CAAC,QAAQ,CAAC,mBAAmB,EAAE,CAAC;QAC1D,MAAM,CAAC,eAAe,EAAE,WAAW,CAAC,GAAG,MAAM,OAAO,CAAC,GAAG,CAAC;YACvD,4BAA4B,CAAC,IAAI,CAAC,QAAQ,CAAC,mBAAmB,EAAE,EAAE,IAAI,CAAC,cAAc,CAAC;YACtF,aAAa,KAAK,SAAS,CAAC,CAAC,CAAC,OAAO,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,iBAAiB,CAAC,aAAa,EAAE,IAAI,CAAC,cAAc,CAAC;SAC1G,CAAC,CAAC;QACH,OAAO,oBAAoB,CAAC,CAAC,GAAG,eAAe,EAAE,GAAG,WAAW,CAAC,CAAC,CAAC;IACpE,CAAC;IAED,IAAI,CAAC,IAAY;QACf,OAAO,cAAc,CAAC,IAAI,CAAC,IAAI,EAAE,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC;IAClD,CAAC;CACF;AAED,+FAA+F;AAC/F,KAAK,UAAU,aAAa,CAAC,IAAY;IACvC,IAAI,CAAC;QACH,OAAO,MAAM,IAAI,CAAC,IAAI,CAAC,CAAC;IAC1B,CAAC;IAAC,OAAO,KAAc,EAAE,CAAC;QACxB,IAAI,mBAAmB,CAAC,KAAK,EAAE,QAAQ,CAAC;YAAE,OAAO,SAAS,CAAC;QAC3D,MAAM,KAAK,CAAC;IACd,CAAC;AACH,CAAC;AAED,2FAA2F;AAC3F,SAAS,sBAAsB,CAAC,IAAW;IACzC,OAAO,GAAG,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC;AACnD,CAAC;AACD,yFAAyF;AACzF,SAAS,uBAAuB,CAAC,IAAW;IAC1C,OAAO,GAAG,sBAAsB,CAAC,IAAI,CAAC,IAAI,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC;AACxF,CAAC;AAED;;;;;;;;;;;GAWG;AACH,KAAK,UAAU,mBAAmB,CAAC,IAAY,EAAE,MAAc,EAAE,IAAY,EAAE,QAAgB;IAC7F,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC;IACrC,IAAI,CAAC;QACH,MAAM,OAAO,GAAG,MAAM,MAAM,CAAC,IAAI,EAAE,CAAC;QACpC,IAAI,sBAAsB,CAAC,OAAO,CAAC,KAAK,QAAQ;YAAE,OAAO,SAAS,CAAC;QACnE,yEAAyE;QACzE,yEAAyE;QACzE,kEAAkE;QAClE,MAAM,MAAM,GAAG,IAAI,GAAG,MAAM,GAAG,CAAC,CAAC;QACjC,MAAM,MAAM,GAAG,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;QACpC,MAAM,EAAE,SAAS,EAAE,GAAG,MAAM,MAAM,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC,EAAE,MAAM,EAAE,MAAM,GAAG,CAAC,CAAC,CAAC;QACvE,IAAI,SAAS,KAAK,MAAM;YAAE,OAAO,SAAS,CAAC;QAC3C,IAAI,MAAM,CAAC,CAAC,CAAC,KAAK,IAAI;YAAE,OAAO,SAAS,CAAC;QACzC,MAAM,KAAK,GAAG,MAAM,CAAC,QAAQ,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;QACrD,MAAM,QAAQ,GAA8B,EAAE,CAAC;QAC/C,IAAI,SAAS,GAAG,IAAI,CAAC;QACrB,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;YACzB,MAAM,KAAK,GAAG,aAAa,CAAC,IAAI,CAAC,CAAC;YAClC,IAAI,KAAK,KAAK,SAAS,EAAE,CAAC;gBACxB,qEAAqE;gBACrE,gEAAgE;gBAChE,0CAA0C;gBAC1C,IAAI,SAAS,IAAI,IAAI,CAAC,IAAI,EAAE,KAAK,EAAE;oBAAE,OAAO,SAAS,CAAC;YACxD,CAAC;iBAAM,IAAI,KAAK,CAAC,MAAM,CAAC,KAAK,SAAS,EAAE,CAAC;gBACvC,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;YACvB,CAAC;YACD,SAAS,GAAG,KAAK,CAAC;QACpB,CAAC;QACD,OAAO,QAAQ,CAAC;IAClB,CAAC;YAAS,CAAC;QACT,MAAM,MAAM,CAAC,KAAK,EAAE,CAAC;IACvB,CAAC;AACH,CAAC;AAED,qGAAqG;AACrG,SAAS,sBAAsB,CAAC,OAAe;IAC7C,MAAM,OAAO,GAA8B,EAAE,CAAC;IAC9C,KAAK,MAAM,IAAI,IAAI,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC;QACvC,MAAM,KAAK,GAAG,aAAa,CAAC,IAAI,CAAC,CAAC;QAClC,IAAI,KAAK,KAAK,SAAS,IAAI,KAAK,CAAC,MAAM,CAAC,KAAK,SAAS;YAAE,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;IAC9E,CAAC;IACD,OAAO,OAAO,CAAC;AACjB,CAAC;AAED;;;;GAIG;AACH,SAAS,sBAAsB,CAAC,OAA2C;IACzE,MAAM,IAAI,GAAG,IAAI,GAAG,EAAmC,CAAC;IACxD,IAAI,MAA0B,CAAC;IAC/B,KAAK,MAAM,KAAK,IAAI,OAAO,EAAE,CAAC;QAC5B,MAAM,EAAE,GAAG,KAAK,CAAC,IAAI,CAAC,CAAC;QACvB,IAAI,OAAO,EAAE,KAAK,QAAQ;YAAE,SAAS;QACrC,IAAI,CAAC,GAAG,CAAC,EAAE,EAAE,KAAK,CAAC,CAAC;QACpB,MAAM,GAAG,EAAE,CAAC;IACd,CAAC;IACD,MAAM,MAAM,GAA8B,EAAE,CAAC;IAC7C,MAAM,OAAO,GAAG,IAAI,GAAG,EAAU,CAAC;IAClC,IAAI,SAAS,GAAG,MAAM,CAAC;IACvB,OAAO,SAAS,KAAK,SAAS,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,SAAS,CAAC,EAAE,CAAC;QAC1D,OAAO,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;QACvB,MAAM,KAAK,GAAG,IAAI,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;QAClC,IAAI,KAAK,KAAK,SAAS;YAAE,MAAM;QAC/B,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QACnB,SAAS,GAAG,OAAO,KAAK,CAAC,UAAU,CAAC,KAAK,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;IACpF,CAAC;IACD,OAAO,MAAM,CAAC,OAAO,EAAE,CAAC;AAC1B,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,iBAAiB,CAAC,UAAkB,EAAE,OAAO,GAAG,IAAI,qBAAqB,EAAE;IAC/F,+EAA+E;IAC/E,kFAAkF;IAClF,4EAA4E;IAC5E,8EAA8E;IAC9E,8DAA8D;IAC9D,MAAM,CAAC,QAAQ,EAAE,SAAS,CAAC,GAAG,MAAM,OAAO,CAAC,GAAG,CAAC,CAAC,cAAc,CAAC,OAAO,CAAC,UAAU,CAAC,EAAE,OAAO,CAAC,yBAAyB,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC;IACrI,6EAA6E;IAC7E,4EAA4E;IAC5E,MAAM,cAAc,GAAG,IAAI,GAAG,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC,OAAO,CAAC,IAAI,EAAE,OAAO,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC;IAC7F,OAAO,QAAQ,CAAC,GAAG,CAAC,CAAC,OAAO,EAAE,EAAE;QAC9B,MAAM,QAAQ,GAAG,cAAc,CAAC,GAAG,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;QAClD,OAAO,EAAE,GAAG,OAAO,EAAE,GAAG,EAAE,qBAAqB,CAAC,OAAO,CAAC,GAAG,CAAC,EAAE,GAAG,CAAC,QAAQ,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,QAAQ,EAAE,CAAC,EAAE,CAAC;IAClH,CAAC,CAAC,CAAC;AACL,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,4BAA4B,CAAC,SAAiB,EAAE,OAAO,GAAG,IAAI,qBAAqB,EAAE;IACzG,IAAI,OAAiB,CAAC;IACtB,IAAI,CAAC;QACH,OAAO,GAAG,MAAM,OAAO,CAAC,SAAS,EAAE,EAAE,aAAa,EAAE,IAAI,EAAE,CAAC,CAAC;IAC9D,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,EAAE,CAAC;IACZ,CAAC;IAED,MAAM,WAAW,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,WAAW,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,IAAI,CAAC,SAAS,EAAE,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC;IAC/G,MAAM,QAAQ,GAAG,CAAC,MAAM,OAAO,CAAC,GAAG,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,iBAAiB,CAAC,GAAG,EAAE,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;IACvG,OAAO,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,QAAQ,CAAC,OAAO,EAAE,GAAG,CAAC,CAAC,QAAQ,CAAC,OAAO,EAAE,CAAC,CAAC;AAC9E,CAAC;AAED,MAAM,UAAU,oBAAoB,CAAC,QAAuC,EAAE,GAAW;IACvF,iFAAiF;IACjF,2DAA2D;IAC3D,OAAO,QAAQ,CAAC,MAAM,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,OAAO,CAAC,GAAG,KAAK,EAAE,IAAI,aAAa,CAAC,OAAO,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC,CAAC;AAC7F,CAAC;AAED;;;;;;;;;;;;;;;;GAgBG;AACH,MAAM,CAAC,KAAK,UAAU,uBAAuB,CAC3C,UAAkB,EAClB,GAAW,EACX,SAAiB,EACjB,UAA+B;IAE/B,MAAM,YAAY,GAAG,MAAM,gBAAgB,CAAC,UAAU,CAAC,CAAC;IACxD,MAAM,eAAe,GAAa,EAAE,CAAC;IACrC,MAAM,cAAc,GAAa,EAAE,CAAC;IACpC,KAAK,MAAM,WAAW,IAAI,YAAY,EAAE,CAAC;QACvC,CAAC,wBAAwB,CAAC,QAAQ,CAAC,WAAW,CAAC,EAAE,SAAS,CAAC,CAAC,CAAC,CAAC,eAAe,CAAC,CAAC,CAAC,cAAc,CAAC,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;IACpH,CAAC;IACD,eAAe,CAAC,IAAI,CAAC,yBAAyB,CAAC,CAAC;IAChD,cAAc,CAAC,IAAI,CAAC,yBAAyB,CAAC,CAAC;IAE/C,6EAA6E;IAC7E,oEAAoE;IACpE,KAAK,MAAM,WAAW,IAAI,CAAC,GAAG,eAAe,EAAE,GAAG,cAAc,CAAC,EAAE,CAAC;QAClE,MAAM,MAAM,GAAG,MAAM,UAAU,CAAC,WAAW,CAAC,CAAC;QAC7C,IAAI,MAAM,EAAE,GAAG,KAAK,SAAS;YAAE,SAAS;QACxC,IAAI,CAAC,aAAa,CAAC,MAAM,CAAC,GAAG,EAAE,GAAG,CAAC;YAAE,SAAS;QAC9C,IAAI,MAAM,CAAC,EAAE,KAAK,SAAS,EAAE,CAAC;YAC5B,OAAO,EAAE,EAAE,EAAE,MAAM,CAAC,EAAE,EAAE,GAAG,EAAE,qBAAqB,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE,IAAI,EAAE,WAAW,EAAE,CAAC;QACtF,CAAC;IACH,CAAC;IACD,OAAO,SAAS,CAAC;AACnB,CAAC;AAED;;;;;;;;;;;GAWG;AACH,SAAS,yBAAyB,CAAC,CAAS,EAAE,CAAS;IACrD,MAAM,UAAU,GAAG,yBAAyB,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC;IAC1D,MAAM,UAAU,GAAG,yBAAyB,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC;IAC1D,IAAI,UAAU,KAAK,UAAU;QAAE,OAAO,UAAU,GAAG,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;IACvE,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AACpC,CAAC;AAED,0FAA0F;AAC1F,SAAS,yBAAyB,CAAC,QAAgB;IACjD,MAAM,IAAI,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC;IACjD,MAAM,cAAc,GAAG,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;IACzC,OAAO,cAAc,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,cAAc,CAAC,CAAC;AACpE,CAAC;AAED,gEAAgE;AAChE,SAAS,wBAAwB,CAAC,QAAgB,EAAE,SAAiB;IACnE,MAAM,UAAU,GAAG,yBAAyB,CAAC,QAAQ,CAAC,CAAC;IACvD,OAAO,UAAU,KAAK,SAAS,CAAC;AAClC,CAAC;AAED;;;;;GAKG;AACH,SAAS,yBAAyB,CAAC,QAAgB;IACjD,MAAM,IAAI,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC;IACjD,MAAM,cAAc,GAAG,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;IACzC,MAAM,SAAS,GAAG,cAAc,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,cAAc,GAAG,CAAC,CAAC,CAAC;IAChF,OAAO,SAAS,KAAK,EAAE,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC;AAClD,CAAC;AAED,KAAK,UAAU,gBAAgB,CAAC,UAAkB;IAChD,IAAI,CAAC;QACH,MAAM,KAAK,GAAG,MAAM,OAAO,CAAC,UAAU,CAAC,CAAC;QACxC,OAAO,KAAK,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,UAAU,EAAE,IAAI,CAAC,CAAC,CAAC;IAC/F,CAAC;IAAC,MAAM,CAAC;QACP,2EAA2E;QAC3E,OAAO,EAAE,CAAC;IACZ,CAAC;AACH,CAAC;AAED,SAAS,oBAAoB,CAAC,QAAuC;IACnE,MAAM,MAAM,GAAG,IAAI,GAAG,EAA8B,CAAC;IACrD,KAAK,MAAM,OAAO,IAAI,QAAQ;QAAE,MAAM,CAAC,GAAG,CAAC,OAAO,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;IAClE,OAAO,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,QAAQ,CAAC,OAAO,EAAE,GAAG,CAAC,CAAC,QAAQ,CAAC,OAAO,EAAE,CAAC,CAAC;AAC1F,CAAC;AAED,MAAM,UAAU,qBAAqB,CAAC,QAAgB;IACpD,OAAO,IAAI,CAAC,QAAQ,EAAE,UAAU,CAAC,CAAC;AACpC,CAAC;AAED,MAAM,UAAU,mBAAmB,CAAC,GAAW,EAAE,QAAgB;IAC/D,OAAO,0BAA0B,CAAC,qBAAqB,CAAC,QAAQ,CAAC,EAAE,GAAG,CAAC,CAAC;AAC1E,CAAC;AAED,MAAM,UAAU,0BAA0B,CAAC,SAAiB,EAAE,GAAW;IACvE,MAAM,QAAQ,GAAG,KAAK,GAAG,CAAC,OAAO,CAAC,SAAS,EAAE,EAAE,CAAC,CAAC,OAAO,CAAC,UAAU,EAAE,GAAG,CAAC,IAAI,CAAC;IAC9E,OAAO,IAAI,CAAC,SAAS,EAAE,QAAQ,CAAC,CAAC;AACnC,CAAC;AAED,MAAM,UAAU,qBAAqB,CAAC,IAAY,EAAE,GAAW,EAAE,OAAe;IAC9E,MAAM,QAAQ,GAAG,eAAe,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;IAChD,OAAO,UAAU,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,OAAO,CAAC,GAAG,EAAE,QAAQ,CAAC,CAAC;AAClE,CAAC;AAED,SAAS,eAAe,CAAC,IAAY,EAAE,OAAe;IACpD,IAAI,IAAI,KAAK,GAAG;QAAE,OAAO,OAAO,CAAC;IACjC,IAAI,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC;QAAE,OAAO,IAAI,CAAC,OAAO,EAAE,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;IAC/D,OAAO,IAAI,CAAC;AACd,CAAC"}