@jmfederico/pi-web 1.202607.1 → 1.202607.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 (56) hide show
  1. package/README.md +8 -8
  2. package/dist/cli.js +17 -5
  3. package/dist/cli.js.map +1 -1
  4. package/dist/client/assets/{CodeViewer-uASb28Y1.js → CodeViewer-B4M13447.js} +1 -1
  5. package/dist/client/assets/{TerminalPanel-DfTmykFw.js → TerminalPanel-Bmvj-Ecn.js} +1 -1
  6. package/dist/client/assets/{UnifiedDiffViewer-laQN1x7P.js → UnifiedDiffViewer-C0hygwRo.js} +1 -1
  7. package/dist/client/assets/index-TvPsRyS1.js +3545 -0
  8. package/dist/client/index.html +1 -1
  9. package/dist/config.js +13 -0
  10. package/dist/config.js.map +1 -1
  11. package/dist/server/diagnostics/nodePtyNativeModule.js +36 -0
  12. package/dist/server/diagnostics/nodePtyNativeModule.js.map +1 -0
  13. package/dist/server/git/gitService.js +176 -5
  14. package/dist/server/git/gitService.js.map +1 -1
  15. package/dist/server/piWebStatus.js +6 -3
  16. package/dist/server/piWebStatus.js.map +1 -1
  17. package/dist/server/realtime/sessionEventHub.js +4 -0
  18. package/dist/server/realtime/sessionEventHub.js.map +1 -1
  19. package/dist/server/sessiond.js +47 -7
  20. package/dist/server/sessiond.js.map +1 -1
  21. package/dist/server/sessions/authService.js +58 -7
  22. package/dist/server/sessions/authService.js.map +1 -1
  23. package/dist/server/sessions/globalProviderPolicy.js +98 -0
  24. package/dist/server/sessions/globalProviderPolicy.js.map +1 -0
  25. package/dist/server/sessions/modelCatalogRefresher.js +184 -0
  26. package/dist/server/sessions/modelCatalogRefresher.js.map +1 -0
  27. package/dist/server/sessions/piSessionService.js +736 -100
  28. package/dist/server/sessions/piSessionService.js.map +1 -1
  29. package/dist/server/sessions/plainTextTheme.js +112 -0
  30. package/dist/server/sessions/plainTextTheme.js.map +1 -0
  31. package/dist/server/sessions/sessionCommandService.js +68 -9
  32. package/dist/server/sessions/sessionCommandService.js.map +1 -1
  33. package/dist/server/sessions/sessionNotificationStore.js +484 -0
  34. package/dist/server/sessions/sessionNotificationStore.js.map +1 -0
  35. package/dist/server/sessions/sessionRoutes.js +175 -0
  36. package/dist/server/sessions/sessionRoutes.js.map +1 -1
  37. package/dist/server/sessions/sessionTreeProjection.js +250 -0
  38. package/dist/server/sessions/sessionTreeProjection.js.map +1 -0
  39. package/dist/server/sessions/sessionUnreadStore.js +520 -0
  40. package/dist/server/sessions/sessionUnreadStore.js.map +1 -0
  41. package/dist/server/sessions/spawnSessionTool.js +2 -2
  42. package/dist/server/sessions/spawnSessionTool.js.map +1 -1
  43. package/dist/server/sessions/spawnSubsessionTool.js +10 -12
  44. package/dist/server/sessions/spawnSubsessionTool.js.map +1 -1
  45. package/dist/shared/apiTypes.d.ts +159 -2
  46. package/dist/shared/apiTypes.js +10 -0
  47. package/dist/shared/apiTypes.js.map +1 -1
  48. package/dist/shared/capabilities.js +6 -0
  49. package/dist/shared/capabilities.js.map +1 -1
  50. package/dist/shared/federatedRoutes.js +8 -0
  51. package/dist/shared/federatedRoutes.js.map +1 -1
  52. package/docs/config.md +32 -4
  53. package/docs/plugins.md +10 -6
  54. package/install.sh +1 -1
  55. package/package.json +8 -7
  56. package/dist/client/assets/index-Dhapi0oR.js +0 -3093
@@ -1 +1 @@
1
- {"version":3,"file":"spawnSubsessionTool.js","sourceRoot":"","sources":["../../../src/server/sessions/spawnSubsessionTool.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"spawnSubsessionTool.js","sourceRoot":"","sources":["../../../src/server/sessions/spawnSubsessionTool.ts"],"names":[],"mappings":"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"}
@@ -7,6 +7,8 @@ export declare const PI_WEB_CAPABILITIES: {
7
7
  readonly sessionsReload: "sessions.reload";
8
8
  readonly sessionsClearQueue: "sessions.clearQueue";
9
9
  readonly sessionsPersistedState: "sessions.persistedState";
10
+ readonly sessionsNotifications: "sessions.notifications";
11
+ readonly sessionsUnread: "sessions.unread";
10
12
  readonly promptAttachments: "prompt.attachments";
11
13
  readonly workspaceFileSuggestions: "workspace.fileSuggestions";
12
14
  readonly piPackagesManage: "piPackages.manage";
@@ -173,6 +175,116 @@ export interface SessionRef {
173
175
  id: string;
174
176
  cwd: string;
175
177
  }
178
+ export declare const SESSION_UNREAD_LIMIT = 1000;
179
+ export declare const SESSION_UNREAD_SESSION_ID_MAX_LENGTH = 512;
180
+ export declare const SESSION_UNREAD_CWD_MAX_LENGTH: number;
181
+ export declare const SESSION_UNREAD_CATALOG_ID_MAX_LENGTH = 512;
182
+ export declare const SESSION_UNREAD_COMPLETED_AT_MAX_LENGTH = 64;
183
+ export interface SessionUnreadSummary {
184
+ sessionId: string;
185
+ cwd: string;
186
+ /** Monotonic within a catalog and never greater than its containing revision. */
187
+ completionOrder: number;
188
+ completedAt: string;
189
+ }
190
+ export interface SessionUnreadCatalogSnapshot {
191
+ /** Stable for one persisted catalog epoch; changes when unread state is reset. */
192
+ catalogId: string;
193
+ /** Monotonic catalog mutation revision; at least every contained completion order. */
194
+ catalogRevision: number;
195
+ /** Bounded by `SESSION_UNREAD_LIMIT` and ordered newest completion first. */
196
+ sessions: SessionUnreadSummary[];
197
+ }
198
+ export interface SessionUnreadAcknowledgeRequest {
199
+ cwd: string;
200
+ /** The catalog epoch in which `throughCompletionOrder` was observed. */
201
+ catalogId: string;
202
+ throughCompletionOrder: number;
203
+ }
204
+ /** Authoritative delta for one session in the daemon-owned unread catalog. */
205
+ export interface SessionUnreadEvent {
206
+ type: "sessions.unread";
207
+ catalogId: string;
208
+ /** At least `unread.completionOrder` when carrying an unread summary. */
209
+ catalogRevision: number;
210
+ sessionId: string;
211
+ cwd: string;
212
+ unread: SessionUnreadSummary | null;
213
+ }
214
+ export declare const SESSION_NOTIFICATION_LIMIT = 100;
215
+ export declare const SESSION_NOTIFICATION_MESSAGE_BYTES: number;
216
+ export type SessionNotificationSeverity = "info" | "warning" | "error";
217
+ export interface SessionNotification {
218
+ id: string;
219
+ message: string;
220
+ truncated: boolean;
221
+ severity: SessionNotificationSeverity;
222
+ receivedAt: string;
223
+ order: number;
224
+ }
225
+ export interface SessionNotificationSummary {
226
+ sessionId: string;
227
+ cwd: string;
228
+ inboxRevision: number;
229
+ retainedCount: number;
230
+ discardedCount: number;
231
+ highestSeverity?: SessionNotificationSeverity;
232
+ }
233
+ export interface SessionNotificationDismissThrough {
234
+ order: number;
235
+ overflowWatermark: number;
236
+ }
237
+ export interface SessionNotificationInboxSnapshot {
238
+ daemonInstanceId: string;
239
+ catalogRevision: number;
240
+ summary: SessionNotificationSummary;
241
+ notifications: SessionNotification[];
242
+ dismissThrough: SessionNotificationDismissThrough;
243
+ }
244
+ export interface SessionNotificationCatalogSnapshot {
245
+ daemonInstanceId: string;
246
+ catalogRevision: number;
247
+ sessions: SessionNotificationSummary[];
248
+ }
249
+ export interface SessionNotificationDismissRequest {
250
+ cwd: string;
251
+ daemonInstanceId: string;
252
+ notificationId: string;
253
+ }
254
+ export interface SessionNotificationDismissAllRequest {
255
+ cwd: string;
256
+ daemonInstanceId: string;
257
+ throughOrder: number;
258
+ throughOverflowWatermark: number;
259
+ }
260
+ export type SessionNotificationClearReason = "runtime-close" | "archive" | "delete" | "restore" | "archive-reconcile" | "replacement" | "initialization-failed" | "service-dispose";
261
+ export type SessionNotificationInboxDelta = {
262
+ kind: "added";
263
+ notification: SessionNotification;
264
+ evictedNotificationId?: string;
265
+ } | {
266
+ kind: "dismissed";
267
+ notificationIds: string[];
268
+ } | {
269
+ kind: "cleared";
270
+ reason: SessionNotificationClearReason;
271
+ } | {
272
+ kind: "resync";
273
+ };
274
+ export interface SessionNotificationInboxEvent {
275
+ type: "notifications.inbox";
276
+ daemonInstanceId: string;
277
+ catalogRevision: number;
278
+ summary: SessionNotificationSummary;
279
+ dismissThrough: SessionNotificationDismissThrough;
280
+ delta: SessionNotificationInboxDelta;
281
+ }
282
+ export interface SessionNotificationSummaryEvent {
283
+ type: "notifications.summary";
284
+ daemonInstanceId: string;
285
+ catalogRevision: number;
286
+ summary: SessionNotificationSummary;
287
+ }
176
288
  export interface SessionInfo extends SessionRef {
177
289
  path: string;
178
290
  /** True when the server has verified a backing session file exists; false when known transient. */
@@ -498,6 +610,8 @@ export interface GitStatusFile {
498
610
  oldPath?: string;
499
611
  index: GitFileState;
500
612
  workingTree: GitFileState;
613
+ submoduleFromCommit?: string;
614
+ submoduleToCommit?: string;
501
615
  }
502
616
  export interface GitStatusResponse {
503
617
  isGitRepo: boolean;
@@ -507,6 +621,7 @@ export interface GitStatusResponse {
507
621
  ahead?: number;
508
622
  behind?: number;
509
623
  files: GitStatusFile[];
624
+ submodules: string[];
510
625
  }
511
626
  export interface GitDiffResponse {
512
627
  path?: string;
@@ -661,6 +776,44 @@ export interface CommandOption {
661
776
  label: string;
662
777
  description?: string;
663
778
  }
779
+ export type SessionTreeNodeKind = "user" | "assistant" | "tool-result" | "bash" | "custom-message" | "compaction" | "branch-summary" | "model-change" | "thinking-level-change" | "session-info" | "label" | "custom" | "other";
780
+ export interface SessionTreeNode {
781
+ id: string;
782
+ parentId: string | null;
783
+ kind: SessionTreeNodeKind;
784
+ summary: string;
785
+ timestamp?: string;
786
+ label?: string;
787
+ }
788
+ export interface SessionTreeSnapshot {
789
+ /** Pre-order, parent-linked projection of all retained roots and descendants. */
790
+ nodes: SessionTreeNode[];
791
+ activeLeafId: string | null;
792
+ /** Root-to-leaf IDs for explicit, non-color-only active-path rendering. */
793
+ activePathIds: string[];
794
+ }
795
+ export declare const SESSION_TREE_CUSTOM_INSTRUCTIONS_MAX_LENGTH = 10000;
796
+ export type SessionTreeSummaryChoice = {
797
+ mode: "none";
798
+ } | {
799
+ mode: "default";
800
+ } | {
801
+ mode: "custom";
802
+ instructions: string;
803
+ };
804
+ export interface SessionTreeNavigateRequest {
805
+ targetId: string;
806
+ /** Leaf shown when the navigator opened; null is valid for an empty/root position. */
807
+ expectedLeafId: string | null;
808
+ summary: SessionTreeSummaryChoice;
809
+ }
810
+ export type SessionTreeNavigateResult = {
811
+ cancelled: false;
812
+ editorText?: string;
813
+ } | {
814
+ cancelled: true;
815
+ aborted?: boolean;
816
+ };
664
817
  export interface MessagePage {
665
818
  messages: unknown[];
666
819
  start: number;
@@ -689,6 +842,9 @@ export type CommandResult = {
689
842
  requestId: string;
690
843
  title: string;
691
844
  options: CommandOption[];
845
+ } | {
846
+ type: "tree";
847
+ tree: SessionTreeSnapshot;
692
848
  } | {
693
849
  type: "unsupported";
694
850
  message: string;
@@ -764,7 +920,8 @@ type SessionUiEventBody = {
764
920
  type: "command.output";
765
921
  level: "info" | "success" | "error";
766
922
  message: string;
767
- } | {
923
+ notificationId?: string;
924
+ } | SessionNotificationInboxEvent | {
768
925
  type: "session.error";
769
926
  message: string;
770
927
  } | {
@@ -780,5 +937,5 @@ type SessionUiEventBody = {
780
937
  };
781
938
  export type GlobalSessionEvent = Extract<SessionUiEventBody, {
782
939
  type: "status.update" | "activity.update" | "session.name" | "session.created";
783
- }>;
940
+ }> | SessionNotificationSummaryEvent | SessionUnreadEvent;
784
941
  export type RealtimeEvent = GlobalSessionEvent | TerminalUiEvent | WorkspaceActivityUiEvent;
@@ -5,10 +5,20 @@ export const PI_WEB_CAPABILITIES = {
5
5
  sessionsReload: "sessions.reload",
6
6
  sessionsClearQueue: "sessions.clearQueue",
7
7
  sessionsPersistedState: "sessions.persistedState",
8
+ sessionsNotifications: "sessions.notifications",
9
+ sessionsUnread: "sessions.unread",
8
10
  promptAttachments: "prompt.attachments",
9
11
  workspaceFileSuggestions: "workspace.fileSuggestions",
10
12
  piPackagesManage: "piPackages.manage",
11
13
  selectedMachineSettings: "settings.selectedMachine",
12
14
  agentProfileConfig: "settings.agentProfile",
13
15
  };
16
+ export const SESSION_UNREAD_LIMIT = 1_000;
17
+ export const SESSION_UNREAD_SESSION_ID_MAX_LENGTH = 512;
18
+ export const SESSION_UNREAD_CWD_MAX_LENGTH = 32 * 1024;
19
+ export const SESSION_UNREAD_CATALOG_ID_MAX_LENGTH = 512;
20
+ export const SESSION_UNREAD_COMPLETED_AT_MAX_LENGTH = 64;
21
+ export const SESSION_NOTIFICATION_LIMIT = 100;
22
+ export const SESSION_NOTIFICATION_MESSAGE_BYTES = 8 * 1024;
23
+ export const SESSION_TREE_CUSTOM_INSTRUCTIONS_MAX_LENGTH = 10_000;
14
24
  //# sourceMappingURL=apiTypes.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"apiTypes.js","sourceRoot":"","sources":["../../src/shared/apiTypes.ts"],"names":[],"mappings":"AAGA,MAAM,CAAC,MAAM,mBAAmB,GAAG;IACjC,sBAAsB,EAAE,yBAAyB;IACjD,qBAAqB,EAAE,wBAAwB;IAC/C,eAAe,EAAE,kBAAkB;IACnC,cAAc,EAAE,iBAAiB;IACjC,kBAAkB,EAAE,qBAAqB;IACzC,sBAAsB,EAAE,yBAAyB;IACjD,iBAAiB,EAAE,oBAAoB;IACvC,wBAAwB,EAAE,2BAA2B;IACrD,gBAAgB,EAAE,mBAAmB;IACrC,uBAAuB,EAAE,0BAA0B;IACnD,kBAAkB,EAAE,uBAAuB;CACnC,CAAC"}
1
+ {"version":3,"file":"apiTypes.js","sourceRoot":"","sources":["../../src/shared/apiTypes.ts"],"names":[],"mappings":"AAGA,MAAM,CAAC,MAAM,mBAAmB,GAAG;IACjC,sBAAsB,EAAE,yBAAyB;IACjD,qBAAqB,EAAE,wBAAwB;IAC/C,eAAe,EAAE,kBAAkB;IACnC,cAAc,EAAE,iBAAiB;IACjC,kBAAkB,EAAE,qBAAqB;IACzC,sBAAsB,EAAE,yBAAyB;IACjD,qBAAqB,EAAE,wBAAwB;IAC/C,cAAc,EAAE,iBAAiB;IACjC,iBAAiB,EAAE,oBAAoB;IACvC,wBAAwB,EAAE,2BAA2B;IACrD,gBAAgB,EAAE,mBAAmB;IACrC,uBAAuB,EAAE,0BAA0B;IACnD,kBAAkB,EAAE,uBAAuB;CACnC,CAAC;AA8LX,MAAM,CAAC,MAAM,oBAAoB,GAAG,KAAK,CAAC;AAC1C,MAAM,CAAC,MAAM,oCAAoC,GAAG,GAAG,CAAC;AACxD,MAAM,CAAC,MAAM,6BAA6B,GAAG,EAAE,GAAG,IAAI,CAAC;AACvD,MAAM,CAAC,MAAM,oCAAoC,GAAG,GAAG,CAAC;AACxD,MAAM,CAAC,MAAM,sCAAsC,GAAG,EAAE,CAAC;AAqCzD,MAAM,CAAC,MAAM,0BAA0B,GAAG,GAAG,CAAC;AAC9C,MAAM,CAAC,MAAM,kCAAkC,GAAG,CAAC,GAAG,IAAI,CAAC;AA6oB3D,MAAM,CAAC,MAAM,2CAA2C,GAAG,MAAM,CAAC"}
@@ -9,6 +9,8 @@ export const WEB_RUNTIME_CAPABILITIES = [
9
9
  PI_WEB_CAPABILITIES.sessionsReload,
10
10
  PI_WEB_CAPABILITIES.sessionsClearQueue,
11
11
  PI_WEB_CAPABILITIES.sessionsPersistedState,
12
+ PI_WEB_CAPABILITIES.sessionsNotifications,
13
+ PI_WEB_CAPABILITIES.sessionsUnread,
12
14
  PI_WEB_CAPABILITIES.promptAttachments,
13
15
  PI_WEB_CAPABILITIES.workspaceFileSuggestions,
14
16
  PI_WEB_CAPABILITIES.piPackagesManage,
@@ -22,6 +24,8 @@ export const SESSIOND_RUNTIME_CAPABILITIES = [
22
24
  PI_WEB_CAPABILITIES.sessionsReload,
23
25
  PI_WEB_CAPABILITIES.sessionsClearQueue,
24
26
  PI_WEB_CAPABILITIES.sessionsPersistedState,
27
+ PI_WEB_CAPABILITIES.sessionsNotifications,
28
+ PI_WEB_CAPABILITIES.sessionsUnread,
25
29
  PI_WEB_CAPABILITIES.promptAttachments,
26
30
  ];
27
31
  const EFFECTIVE_CAPABILITY_REQUIREMENTS = {
@@ -31,6 +35,8 @@ const EFFECTIVE_CAPABILITY_REQUIREMENTS = {
31
35
  [PI_WEB_CAPABILITIES.sessionsReload]: ["web", "sessiond"],
32
36
  [PI_WEB_CAPABILITIES.sessionsClearQueue]: ["web", "sessiond"],
33
37
  [PI_WEB_CAPABILITIES.sessionsPersistedState]: ["web", "sessiond"],
38
+ [PI_WEB_CAPABILITIES.sessionsNotifications]: ["web", "sessiond"],
39
+ [PI_WEB_CAPABILITIES.sessionsUnread]: ["web", "sessiond"],
34
40
  [PI_WEB_CAPABILITIES.promptAttachments]: ["web", "sessiond"],
35
41
  [PI_WEB_CAPABILITIES.workspaceFileSuggestions]: ["web"],
36
42
  [PI_WEB_CAPABILITIES.piPackagesManage]: ["web"],
@@ -1 +1 @@
1
- {"version":3,"file":"capabilities.js","sourceRoot":"","sources":["../../src/shared/capabilities.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"capabilities.js","sourceRoot":"","sources":["../../src/shared/capabilities.ts"],"names":[],"mappings":"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"}
@@ -1,4 +1,5 @@
1
1
  export const PI_PACKAGE_MUTATION_PROXY_TIMEOUT_MS = 5 * 60_000;
2
+ export const SESSION_TREE_NAVIGATION_PROXY_TIMEOUT_MS = 5 * 60_000;
2
3
  export const FEDERATED_HTTP_ROUTES = [
3
4
  { method: "GET", path: "/pi-web/status" },
4
5
  { method: "GET", path: "/config" },
@@ -36,11 +37,17 @@ export const FEDERATED_HTTP_ROUTES = [
36
37
  { method: "GET", path: "/activity" },
37
38
  { method: "GET", path: "/sessions" },
38
39
  { method: "POST", path: "/sessions" },
40
+ { method: "GET", path: "/sessions/unread" },
41
+ { method: "GET", path: "/sessions/notifications" },
39
42
  { method: "POST", path: "/sessions/cleanup/preview" },
40
43
  { method: "POST", path: "/sessions/cleanup" },
41
44
  { method: "POST", path: "/sessions/bulk/archive" },
42
45
  { method: "POST", path: "/sessions/bulk/delete-archived" },
43
46
  { method: "GET", path: "/sessions/:sessionId/messages" },
47
+ { method: "GET", path: "/sessions/:sessionId/notifications" },
48
+ { method: "POST", path: "/sessions/:sessionId/notifications/dismiss" },
49
+ { method: "POST", path: "/sessions/:sessionId/notifications/dismiss-all" },
50
+ { method: "POST", path: "/sessions/:sessionId/unread/acknowledge" },
44
51
  { method: "GET", path: "/sessions/:sessionId/status" },
45
52
  { method: "GET", path: "/sessions/:sessionId/stream-snapshot" },
46
53
  { method: "GET", path: "/sessions/:sessionId/models" },
@@ -57,6 +64,7 @@ export const FEDERATED_HTTP_ROUTES = [
57
64
  { method: "POST", path: "/sessions/:sessionId/shell" },
58
65
  { method: "POST", path: "/sessions/:sessionId/commands/run" },
59
66
  { method: "POST", path: "/sessions/:sessionId/commands/respond" },
67
+ { method: "POST", path: "/sessions/:sessionId/tree/navigate", timeoutMs: SESSION_TREE_NAVIGATION_PROXY_TIMEOUT_MS },
60
68
  { method: "POST", path: "/sessions/:sessionId/abort" },
61
69
  { method: "POST", path: "/sessions/:sessionId/stop" },
62
70
  { method: "POST", path: "/sessions/:sessionId/archive" },
@@ -1 +1 @@
1
- {"version":3,"file":"federatedRoutes.js","sourceRoot":"","sources":["../../src/shared/federatedRoutes.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"federatedRoutes.js","sourceRoot":"","sources":["../../src/shared/federatedRoutes.ts"],"names":[],"mappings":"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"}
package/docs/config.md CHANGED
@@ -43,7 +43,7 @@ Process restarts depend on the key:
43
43
  - `pathAccess`: applies on the next request; existing file views may need a browser refresh.
44
44
  - `uploads.defaultFolder`: applies to newly opened Files upload dialogs and new direct drag/drop batches after config/workspace refresh.
45
45
  - `plugins`: reload the browser tab after changing PI WEB plugin enablement.
46
- - Pi package install/remove/update: not a PI WEB config key; after a mutation, type `/reload` in each idle PI WEB session on the target machine to refresh Pi runtime resources such as extensions, skills, prompt templates, themes, and context/system prompt files as supported by Pi. Reload the browser page separately for PI WEB browser plugin changes. A routine session daemon restart is not required.
46
+ - Pi package install/remove/update: not a PI WEB config key; after a mutation, type `/reload` in each idle PI WEB session on the target machine to refresh ordinary Pi resources such as extensions, skills, prompt templates, themes, and context/system prompt files. Reload the browser page separately for PI WEB browser plugin changes. If a global Pi extension adds, removes, or changes a provider, manually restart `pi-web-sessiond.service`; `/reload` cannot change the startup provider baseline. See [Pi extension provider baseline](#pi-extension-provider-baseline).
47
47
  - `shortcuts`: saved settings apply in the browser after config refresh/save.
48
48
 
49
49
  ## Global config example
@@ -113,7 +113,7 @@ Rows with JSON key `—` are runtime-only environment variables, not config-file
113
113
  | Manual file upload default folder | `uploads.defaultFolder` | — | Global + project | **Overrides**: project value wins for workspaces in that project; otherwise global/default applies | New Upload dialogs and direct drag/drop batches after config/workspace refresh |
114
114
  | Upload/body limit | `maxUploadBytes` | `PI_WEB_MAX_UPLOAD_BYTES` | Global | Not supported locally | Restart web/API and session daemon on that machine |
115
115
  | Companion CLI command | `agent.command` | `PI_WEB_AGENT_COMMAND` | Global/session daemon | Not supported locally | Restart session daemon on that machine; affects doctor/status/update checks |
116
- | Agent profile state directory | `agent.dir` | `PI_WEB_AGENT_DIR` (`PI_CODING_AGENT_DIR` for Pi compatibility) | Global/session daemon | Not supported locally | Restart session daemon on that machine; affects auth, models, settings, sessions, Pi packages, and package-backed plugins |
116
+ | Agent profile state directory | `agent.dir` | `PI_WEB_AGENT_DIR` (`PI_CODING_AGENT_DIR` for Pi compatibility) | Global/session daemon | Not supported locally | Restart session daemon on that machine; affects auth, models, settings, sessions, Pi packages, and Pi-package-backed PI WEB plugins |
117
117
  | Agent can spawn sessions | `spawnSessions` | `PI_WEB_SPAWN_SESSIONS` | Global/session daemon | Not supported locally | Restart session daemon on that machine |
118
118
  | Tracked subsessions (beta) | `subsessions` | `PI_WEB_SUBSESSIONS` | Global/session daemon | Not supported locally; also requires `spawnSessions` | Restart session daemon on that machine |
119
119
  | Plugin enablement/settings | `plugins.<id>.enabled`, `plugins.<id>.settings` | — | Global | Not core local config; plugins may read their own project files | Reload browser tab |
@@ -131,6 +131,7 @@ Rows with JSON key `—` are runtime-only environment variables, not config-file
131
131
  | Agent profile session storage directory | — | `PI_WEB_AGENT_SESSION_DIR` (`PI_CODING_AGENT_SESSION_DIR` for Pi compatibility) | Session daemon env | Not supported locally | Restart session daemon; env-only session storage override |
132
132
  | Agent profile state directory | — | `PI_WEB_AGENT_DIR` (`PI_CODING_AGENT_DIR` for Pi compatibility) | Web/API + session daemon env | Not supported locally | Restart services |
133
133
  | Skip update checks | — | `PI_WEB_SKIP_VERSION_CHECK`, `PI_WEB_OFFLINE`, `PI_SKIP_VERSION_CHECK`, `PI_OFFLINE` | Web/API env | Not supported locally | Restart web/API after env changes |
134
+ | Offline mode | — | `PI_WEB_OFFLINE`, `PI_OFFLINE` | Web/API + session daemon env | Not supported locally | Restart session daemon and web/API after env changes; also disables the [background model catalog refresh](#background-model-catalog-refresh) |
134
135
 
135
136
  ## Key details
136
137
 
@@ -202,9 +203,36 @@ An alternate command always requires an explicit state directory. The command mu
202
203
 
203
204
  Environment variables take precedence over the config file. `PI_WEB_AGENT_COMMAND` selects the companion CLI, `PI_WEB_AGENT_DIR` sets the profile state directory, and `PI_WEB_AGENT_SESSION_DIR` overrides session storage separately from `agent.dir`. The legacy `PI_CODING_AGENT_DIR` and `PI_CODING_AGENT_SESSION_DIR` names apply only to a canonical Pi companion command; PI WEB never derives ambient environment-variable names from an arbitrary command. Use the explicit `PI_WEB_AGENT_*` names for alternate commands. `PI_WEB_AGENT_DIR` is an unconditional override, while a legacy `PI_CODING_AGENT_DIR` override stops applying when Settings selects an alternate command so the command and directory can transition together.
204
205
 
205
- The session daemon resolves the persisted desired values plus its environment once at startup. That secret-free active profile stays fixed for the daemon lifetime. **Settings → Session daemon** saves command and directory together as desired configuration and shows whether the profile is active, needs a restart, or cannot be compared. Until the daemon restarts, sessions, Pi package operations, package-backed plugin discovery, status/install detection, and update planning continue to use the daemon-owned active profile; a web/API restart recovers that same active profile instead of applying the newly saved values.
206
+ The session daemon resolves the persisted desired values plus its environment once at startup. That secret-free active profile stays fixed for the daemon lifetime. **Settings → Session daemon** saves command and directory together as desired configuration and shows whether the profile is active, needs a restart, or cannot be compared. Until the daemon restarts, sessions, Pi package operations, Pi-package-backed PI WEB plugin discovery, status/install detection, and update planning continue to use the daemon-owned active profile; a web/API restart recovers that same active profile instead of applying the newly saved values.
206
207
 
207
- If the session daemon cannot report a valid active profile, profile-dependent package and plugin operations report unavailable instead of falling back to independently resolved config. A package-managed update command is shown only when PI WEB can preserve the active profile with a recognized, safe Pi companion CLI; otherwise the command is omitted. Remote profile editing likewise requires advertised support, and the gateway rejects a remote save if the target does not return the requested profile. Restart the session daemon on the selected machine to establish the next active profile.
208
+ If the session daemon cannot report a valid active profile, profile-dependent Pi package and PI WEB plugin operations report unavailable instead of falling back to independently resolved config. A package-managed update command is shown only when PI WEB can preserve the active profile with a recognized, safe Pi companion CLI; otherwise the command is omitted. Remote profile editing likewise requires advertised support, and the gateway rejects a remote save if the target does not return the requested profile. Restart the session daemon on the selected machine to establish the next active profile.
209
+
210
+ ### Pi extension provider baseline
211
+
212
+ This policy applies to **Pi runtime extensions**, not PI WEB browser plugins. Pi extensions are runtime modules loaded by the session daemon and can call `pi.registerProvider(...)`; PI WEB plugins are browser-side UI modules and never run in the session daemon.
213
+
214
+ PI WEB shares one model runtime across all sessions. When the session daemon starts, before any project resources load, it initializes global Pi extensions from the active agent profile (`agent.dir`), including extensions supplied by globally configured Pi packages. Provider registrations made by synchronous or awaited asynchronous extension factories during this bootstrap join the shared baseline. PI WEB captures both config-form registrations (`pi.registerProvider("id", config)`) and native-provider registrations (`pi.registerProvider(provider)`), alongside Pi built-ins, environment credentials, and providers from the active agent directory's `models.json`.
215
+
216
+ After startup capture, every later Pi extension provider registration, native registration, and unregistration is a no-op, regardless of source or provider ID. This includes global extensions replayed while sessions load, project extensions attempting to add or replace a provider, same-ID replacement or unregistration, lifecycle callbacks such as `session_start`, and `/reload`. The captured provider stays unchanged while non-provider Pi extension features continue to load and reload normally.
217
+
218
+ Ignored mutations are written to the session-daemon log once per operation and provider ID. The log entry contains no provider configuration or credentials, and PI WEB does not show a session warning or notification. This prevents accidental provider, configuration, or credential contamination between projects; it is not a security boundary because Pi extensions remain trusted daemon code.
219
+
220
+ Configure providers before the daemon starts: use the active agent directory's `models.json`, or install the Pi extension globally in that agent profile. Project Pi extensions and project-level `models.json` files cannot add providers to PI WEB's shared baseline. After updating PI WEB—or after installing, removing, or updating a global Pi extension that registers providers—manually restart `pi-web-sessiond.service` (`systemctl --user restart pi-web-sessiond`). Restarting only the web/API service and running `/reload` do not rebuild the baseline.
221
+
222
+ ### Background model catalog refresh
223
+
224
+ PI WEB shares one model runtime across all sessions, and provider model catalogs are refreshed over the network only on the session daemon's own background schedule. Nothing a browser or API request triggers waits on a provider catalog fetch, so a slow or unreachable provider cannot stall opening the model selector, starting a session, or the auth dialogs.
225
+
226
+ The session daemon runs the refresh:
227
+
228
+ - **15 seconds after the daemon starts**, then **hourly**. Pi treats stored catalogs as fresh for four hours, so most hourly ticks make no network request at all; the shorter tick only makes sure a due refresh is not delayed to the next tick.
229
+ - **Immediately after a provider login or logout**, bypassing that freshness window, because the cached catalog is known to be wrong.
230
+
231
+ Each run is bounded: it is aborted after **60 seconds**, and a run that times out or cannot reach a provider earns **one retry after five minutes**; a provider that answers with an error status is retried on the next scheduled refresh instead. Failures never clear the stored catalogs — the last successfully fetched models stay in use and the daemon log records what failed. A refresh in flight is also aborted when the daemon shuts down.
232
+
233
+ Models fetched by a background refresh appear the next time a client asks for the model list, so a model selector left open across a refresh may need to be reopened.
234
+
235
+ To turn the background refresh off entirely, set `PI_WEB_OFFLINE` or `PI_OFFLINE` in the session daemon's environment and restart it. In offline mode PI WEB performs no provider catalog network requests, including after logins, and sessions use the catalogs already stored in the agent profile. The `PI_WEB_SKIP_VERSION_CHECK` and `PI_SKIP_VERSION_CHECK` keys do **not** affect this refresh; they only suppress PI WEB release checks.
208
236
 
209
237
  ### Session daemon tools
210
238
 
package/docs/plugins.md CHANGED
@@ -13,17 +13,21 @@ Plugins can currently:
13
13
 
14
14
  They do **not** run in the session daemon, do not get a server-side hook API, and are not sandboxed.
15
15
 
16
- ## Pi packages vs PI WEB plugins
16
+ ## Pi packages, Pi extensions, and PI WEB plugins
17
17
 
18
- **Pi packages** are packages managed by Pi (`pi install`, `pi remove`, `pi update`). A Pi package can provide extensions, skills, prompt templates, themes, context/system prompt files, and/or PI WEB browser plugins. Many Pi packages do not include a PI WEB plugin.
18
+ **Pi packages** are distribution bundles managed by Pi (`pi install`, `pi remove`, `pi update`). A Pi package can provide Pi extensions, skills, prompt templates, themes, context/system prompt files, and/or PI WEB browser plugins. Many Pi packages do not include a PI WEB plugin.
19
19
 
20
- **PI WEB plugins** are browser-side PI WEB UI modules discovered from bundled, local, dev, and installed Pi-package sources. Enabling or disabling a PI WEB plugin is a PI WEB config task; installing, removing, or updating a Pi package is a Pi package-manager task.
20
+ **Pi extensions** are runtime modules loaded by the session daemon. They can register Pi tools, hooks, commands, and model providers. They are not PI WEB plugins.
21
+
22
+ **PI WEB plugins** are browser-side UI modules discovered from bundled, local, dev, and installed Pi-package sources. They cannot register model providers or server-side hooks. Enabling or disabling a PI WEB plugin is a PI WEB config task; installing, removing, or updating a Pi package is a separate Pi package-manager task.
21
23
 
22
24
  Use **Settings → Pi packages** to view configured Pi packages or install/remove/update a package. Enter only the package source, such as `npm:@scope/package`, a git/URL source, or a local path. PI WEB uses Pi's default package location, equivalent to `pi install <source>`, and does not ask for an install location.
23
25
 
24
26
  When machine federation is enabled, **Settings → Pi packages** targets the currently selected machine. The panel labels whether changes will run on the local/gateway machine or on a selected remote PI WEB machine. If an older or unavailable remote PI WEB server does not expose package-management routes, PI WEB reports the package management operation as unsupported or unavailable instead of silently falling back to the gateway.
25
27
 
26
- Use **Settings → PI WEB plugins** to enable or disable discovered PI WEB browser plugins before the browser imports them. In a federated setup, this plugin enablement surface targets the currently selected machine and labels where changes are saved. If an older or unavailable remote PI WEB server does not advertise selected-machine settings support, PI WEB reports the plugin settings as unsupported or unavailable instead of silently falling back to the gateway. After installing, removing, or updating a Pi package, type `/reload` in each idle PI WEB session on the target machine to refresh Pi runtime resources such as extensions, skills, prompt templates, themes, and context/system prompt files as supported by Pi. Reload the browser page separately for newly discovered or changed PI WEB browser plugins. A routine session daemon restart is not required.
28
+ Use **Settings → PI WEB plugins** to enable or disable discovered PI WEB browser plugins before the browser imports them. In a federated setup, this plugin enablement surface targets the currently selected machine and labels where changes are saved. If an older or unavailable remote PI WEB server does not advertise selected-machine settings support, PI WEB reports the plugin settings as unsupported or unavailable instead of silently falling back to the gateway.
29
+
30
+ After installing, removing, or updating a Pi package, type `/reload` in each idle PI WEB session on the target machine to refresh ordinary Pi resources such as extensions, skills, prompt templates, themes, and context/system prompt files. Reload the browser page separately for newly discovered or changed PI WEB browser plugins. A provider-registering Pi extension follows a separate daemon-start policy; see [Pi extension provider baseline](https://pi-web.dev/config#pi-extension-provider-baseline).
27
31
 
28
32
  ## Trust model
29
33
 
@@ -169,9 +173,9 @@ If a remote plugin constructs absolute asset URLs, it should use the `pluginId`
169
173
 
170
174
  ## Manage PI WEB plugins
171
175
 
172
- Open **Settings → PI WEB plugins** to review discovered bundled, local, dev, and Pi package plugins for the selected PI WEB machine. When the local machine is selected, this is the gateway plugin list; when a remote machine is selected, the list comes from that remote PI WEB server and includes disabled discovered plugins it exposes. PI WEB can disable any discovered selected-machine plugin before the browser imports it. Core app contributions such as the built-in command palette, base workspace tools, and themes are not managed through this plugin list.
176
+ Open **Settings → PI WEB plugins** to review discovered bundled, local, dev, and Pi-package-supplied PI WEB plugins for the selected PI WEB machine. When the local machine is selected, this is the gateway plugin list; when a remote machine is selected, the list comes from that remote PI WEB server and includes disabled discovered plugins it exposes. PI WEB can disable any discovered selected-machine plugin before the browser imports it. Core app contributions such as the built-in command palette, base workspace tools, and themes are not managed through this plugin list.
173
177
 
174
- This surface is only for PI WEB plugin enablement. To install, remove, or update Pi packages that may provide plugins or other Pi resources, use **Settings → Pi packages**. In a federated setup, both the Pi packages panel and the PI WEB plugins panel target the selected machine; plugin enablement still writes the PI WEB `plugins` config key rather than changing Pi package-manager settings.
178
+ This surface is only for PI WEB plugin enablement. To install, remove, or update Pi packages that may provide PI WEB plugins or other Pi resources, use **Settings → Pi packages**. In a federated setup, both the Pi packages panel and the PI WEB plugins panel target the selected machine; plugin enablement still writes the PI WEB `plugins` config key rather than changing Pi package-manager settings.
175
179
 
176
180
  Plugin preferences are stored under the top-level `plugins` config key in the PI WEB config file:
177
181
 
package/install.sh CHANGED
@@ -1,5 +1,5 @@
1
1
  #!/usr/bin/env sh
2
2
  set -eu
3
3
 
4
- npm install -g @jmfederico/pi-web
4
+ npm install -g @jmfederico/pi-web --allow-scripts=node-pty
5
5
  pi-web install
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@jmfederico/pi-web",
3
- "version": "1.202607.1",
3
+ "version": "1.202607.2",
4
4
  "description": "Web UI for persistent Pi Coding Agent sessions in real workspaces.",
5
5
  "license": "MIT",
6
6
  "author": "Federico Jaramillo Martinez",
@@ -46,6 +46,7 @@
46
46
  "clean": "node -e \"require('node:fs').rmSync('dist', { recursive: true, force: true })\"",
47
47
  "prepack": "npm run build",
48
48
  "pack:dry": "npm pack --dry-run",
49
+ "smoke:package-install": "node scripts/smoke-package-install.mjs",
49
50
  "prepublishOnly": "npm run verify",
50
51
  "publish:npm": "npm publish --access public",
51
52
  "prepare": "node scripts/install-git-hooks.mjs",
@@ -82,9 +83,9 @@
82
83
  },
83
84
  "devDependencies": {
84
85
  "@changesets/cli": "^2.31.0",
85
- "@earendil-works/pi-agent-core": "^0.80.8",
86
- "@earendil-works/pi-ai": "^0.80.8",
87
- "@earendil-works/pi-coding-agent": "^0.80.8",
86
+ "@earendil-works/pi-agent-core": "^0.82.1",
87
+ "@earendil-works/pi-ai": "^0.82.1",
88
+ "@earendil-works/pi-coding-agent": "^0.82.1",
88
89
  "@eslint/js": "^10.0.1",
89
90
  "@types/node": "^24.13.3",
90
91
  "@types/ws": "^8.18.1",
@@ -113,9 +114,9 @@
113
114
  "homepage": "https://pi-web.dev/",
114
115
  "packageManager": "npm@11.11.0",
115
116
  "peerDependencies": {
116
- "@earendil-works/pi-agent-core": ">=0.80.8 <0.81",
117
- "@earendil-works/pi-ai": ">=0.80.8 <0.81",
118
- "@earendil-works/pi-coding-agent": ">=0.80.8 <0.81"
117
+ "@earendil-works/pi-agent-core": ">=0.82.1 <0.83",
118
+ "@earendil-works/pi-ai": ">=0.82.1 <0.83",
119
+ "@earendil-works/pi-coding-agent": ">=0.82.1 <0.83"
119
120
  },
120
121
  "keywords": [
121
122
  "pi-package",