@jmfederico/pi-web 1.202610.4 → 1.202610.6
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/cli.js +1 -1
- package/dist/client/assets/classic-CyM97Akm.css +54 -0
- package/dist/client/assets/graphite-DquaqFXU.css +54 -0
- package/dist/client/assets/index-BAYF7oXL.js +4394 -0
- package/dist/client/assets/paper-CB1oLuRr.css +54 -0
- package/dist/client/assets/pi-web-dark-D_KtbM95.css +54 -0
- package/dist/client/assets/pi-web-light-DSNLMIBI.css +54 -0
- package/dist/client/index.html +2 -2
- package/dist/config.js +56 -0
- package/dist/config.js.map +1 -1
- package/dist/pi-packages/captains-log/dist/browser/index.js +13 -17
- package/dist/pi-packages/captains-log/dist/browser/panel.js +7 -11
- package/dist/pi-packages/relays/pi-web-plugin.js +21 -1
- package/dist/pi-packages/relays/relaysPanelElement.js +36 -32
- package/dist/pi-packages/workflows/browser/pi-web-plugin.js +35 -27
- package/dist/pi-packages/workflows/browser/worktreeDialog.js +156 -0
- package/dist/pi-packages/workflows/package.json +1 -0
- package/dist/pi-packages/workflows/prompts/worktree.md +11 -2
- package/dist/pi-packages/workflows/server-plugin.js +579 -0
- package/dist/pi-packages/workflows/vite.config.mjs +17 -0
- package/dist/pi-web-plugins/code-highlight/browser/pi-web-plugin.js +22 -0
- package/dist/pi-web-plugins/code-highlight/package.json +13 -0
- package/dist/pi-web-plugins/files/browser/pi-web-plugin.js +119 -162
- package/dist/pi-web-plugins/git/browser/git-panel.js +61 -46
- package/dist/pi-web-plugins/git/browser/pi-web-plugin.js +25 -3
- package/dist/pi-web-plugins/git/git-backend.js +13 -1
- package/dist/pi-web-plugins/git/server-plugin.js +8 -1
- package/dist/pi-web-plugins/mermaid/browser/pi-web-plugin.js +8 -3
- package/dist/pi-web-plugins/terminal/browser/pi-web-plugin.js +50 -29
- package/dist/pi-web-plugins/updates/pi-web-plugin.js +11 -11
- package/dist/pi-web-plugins/workspace-tasks/pi-web-plugin.js +21 -1
- package/dist/pi-web-plugins/workspace-tasks/tasksPanelElement.js +35 -19
- package/dist/piWebUpdate.js +32 -9
- package/dist/piWebUpdate.js.map +1 -1
- package/dist/plugin-api.d.ts +174 -45
- package/dist/server/browserMessageProjection.js +1 -1
- package/dist/server/browserMessageProjection.js.map +1 -1
- package/dist/server/configRoutes.js +7 -1
- package/dist/server/configRoutes.js.map +1 -1
- package/dist/server/machines/machineProxyRoutes.js +3 -2
- package/dist/server/machines/machineProxyRoutes.js.map +1 -1
- package/dist/server/piWebPluginService.js +7 -1
- package/dist/server/piWebPluginService.js.map +1 -1
- package/dist/server/plugins/pluginBackendChannelProxyAdmission.js +1 -1
- package/dist/server/plugins/pluginBackendChannelProxyAdmission.js.map +1 -1
- package/dist/server/plugins/pluginBackendChannelProxyRoutes.js +31 -38
- package/dist/server/plugins/pluginBackendChannelProxyRoutes.js.map +1 -1
- package/dist/server/plugins/pluginBackendProxyRoutes.js +38 -45
- package/dist/server/plugins/pluginBackendProxyRoutes.js.map +1 -1
- package/dist/server/plugins/pluginBackendRegistry.js +58 -34
- package/dist/server/plugins/pluginBackendRegistry.js.map +1 -1
- package/dist/server/plugins/serverPluginCatalogCapability.js +106 -0
- package/dist/server/plugins/serverPluginCatalogCapability.js.map +1 -0
- package/dist/server/plugins/serverPluginRuntime.js +21 -8
- package/dist/server/plugins/serverPluginRuntime.js.map +1 -1
- package/dist/server/sessiond/pluginBackendChannelRoutes.js +24 -14
- package/dist/server/sessiond/pluginBackendChannelRoutes.js.map +1 -1
- package/dist/server/sessiond/pluginBackendRoutes.js +51 -47
- package/dist/server/sessiond/pluginBackendRoutes.js.map +1 -1
- package/dist/server/sessiond/pluginCatalogRoutes.js +37 -0
- package/dist/server/sessiond/pluginCatalogRoutes.js.map +1 -0
- package/dist/server/sessiond/sessionProxyRoutes.js +17 -0
- package/dist/server/sessiond/sessionProxyRoutes.js.map +1 -1
- package/dist/server/sessiond/sessionServiceDependencies.js +1 -0
- package/dist/server/sessiond/sessionServiceDependencies.js.map +1 -1
- package/dist/server/sessiond.js +24 -4
- package/dist/server/sessiond.js.map +1 -1
- package/dist/server/sessions/authRoutes.js +1 -0
- package/dist/server/sessions/authRoutes.js.map +1 -1
- package/dist/server/sessions/authService.js +13 -0
- package/dist/server/sessions/authService.js.map +1 -1
- package/dist/server/sessions/builtinExtensionFactories.js +15 -1
- package/dist/server/sessions/builtinExtensionFactories.js.map +1 -1
- package/dist/server/sessions/companionBackend.js +286 -0
- package/dist/server/sessions/companionBackend.js.map +1 -0
- package/dist/server/sessions/mcpAuthFlowService.js +237 -0
- package/dist/server/sessions/mcpAuthFlowService.js.map +1 -0
- package/dist/server/sessions/mcpAuthRoutes.js +76 -0
- package/dist/server/sessions/mcpAuthRoutes.js.map +1 -0
- package/dist/server/sessions/messageHistoryTarget.js +18 -1
- package/dist/server/sessions/messageHistoryTarget.js.map +1 -1
- package/dist/server/sessions/piSessionEventConnections.js +5 -2
- package/dist/server/sessions/piSessionEventConnections.js.map +1 -1
- package/dist/server/sessions/piSessionService.js +279 -22
- package/dist/server/sessions/piSessionService.js.map +1 -1
- package/dist/server/sessions/sessionCommandService.js +3 -17
- package/dist/server/sessions/sessionCommandService.js.map +1 -1
- package/dist/server/sessions/sessionNameGenerator.js +4 -4
- package/dist/server/sessions/sessionNameGenerator.js.map +1 -1
- package/dist/server-plugin-api.d.ts +65 -15
- package/dist/server-plugin-api.js +25 -0
- package/dist/server-plugin-api.js.map +1 -1
- package/dist/shared/apiTypes.js.map +1 -1
- package/dist/shared/federatedRoutes.js +17 -5
- package/dist/shared/federatedRoutes.js.map +1 -1
- package/dist/shared/pluginApiTypes.d.ts +53 -0
- package/dist/shared/pluginBackendProtocol.js +56 -1
- package/dist/shared/pluginBackendProtocol.js.map +1 -1
- package/dist/shared/pluginCatalogTypes.d.ts +49 -0
- package/dist/shared/pluginCatalogTypes.js +156 -0
- package/dist/shared/pluginCatalogTypes.js.map +1 -0
- package/docs/config.md +68 -2
- package/docs/plugins.md +382 -20
- package/examples/session-bridge-plugin/src/browser/index.ts +1 -1
- package/package.json +7 -12
- package/dist/client/assets/index-BAl5IbYx.js +0 -4429
|
@@ -0,0 +1,54 @@
|
|
|
1
|
+
:root {
|
|
2
|
+
--pi-font: system-ui, sans-serif;
|
|
3
|
+
--pi-mono: ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;
|
|
4
|
+
--pi-thinking: var(--pi-muted);
|
|
5
|
+
--pi-tool: var(--pi-muted);
|
|
6
|
+
--pi-syntax-comment: var(--pi-muted);
|
|
7
|
+
--pi-syntax-keyword: var(--pi-text);
|
|
8
|
+
--pi-syntax-string: var(--pi-text-secondary);
|
|
9
|
+
--pi-syntax-number: var(--pi-text-secondary);
|
|
10
|
+
--pi-syntax-title: var(--pi-text);
|
|
11
|
+
--pi-syntax-deletion: var(--pi-danger);
|
|
12
|
+
--pi-chat-conversation-bg: var(--pi-bg);
|
|
13
|
+
--pi-chat-conversation-border: var(--pi-border-muted);
|
|
14
|
+
--pi-chat-user-bg: var(--pi-surface);
|
|
15
|
+
--pi-chat-user-border: var(--pi-muted);
|
|
16
|
+
--pi-chat-system-bg: var(--pi-surface);
|
|
17
|
+
--pi-chat-activity-bg: var(--pi-surface);
|
|
18
|
+
--pi-chat-compacting-bg: var(--pi-surface);
|
|
19
|
+
--pi-bg: #ffffff;
|
|
20
|
+
--pi-surface: #f5f5f5;
|
|
21
|
+
--pi-surface-hover: #eaeaea;
|
|
22
|
+
--pi-terminal-bg: #ffffff;
|
|
23
|
+
--pi-terminal-text: #202020;
|
|
24
|
+
--pi-border: #b5b5b5;
|
|
25
|
+
--pi-border-muted: #dedede;
|
|
26
|
+
--pi-text: #202020;
|
|
27
|
+
--pi-text-secondary: #505050;
|
|
28
|
+
--pi-text-bright: #101010;
|
|
29
|
+
--pi-muted: #626262;
|
|
30
|
+
--pi-dim: #707070;
|
|
31
|
+
--pi-accent: #303030;
|
|
32
|
+
--pi-accent-border: #626262;
|
|
33
|
+
--pi-selection-bg: #eaeaea;
|
|
34
|
+
--pi-success: #287044;
|
|
35
|
+
--pi-success-border: #287044;
|
|
36
|
+
--pi-success-bg: #f1f6f2;
|
|
37
|
+
--pi-success-surface: #eaf2ec;
|
|
38
|
+
--pi-success-ring: #28704455;
|
|
39
|
+
--pi-warning: #865900;
|
|
40
|
+
--pi-warning-border: #865900;
|
|
41
|
+
--pi-warning-surface: #faf5e9;
|
|
42
|
+
--pi-danger: #b03030;
|
|
43
|
+
--pi-purple: var(--pi-text-secondary);
|
|
44
|
+
--pi-purple-border: var(--pi-border);
|
|
45
|
+
--pi-purple-surface: var(--pi-surface);
|
|
46
|
+
--pi-overlay: #00000066;
|
|
47
|
+
--pi-shadow-soft: #00000014;
|
|
48
|
+
--pi-shadow: #00000022;
|
|
49
|
+
--pi-shadow-strong: #00000033;
|
|
50
|
+
--pi-bg-overlay-soft: #ffffffdd;
|
|
51
|
+
--pi-bg-overlay: #ffffffe6;
|
|
52
|
+
--pi-success-bg-overlay: #f1f6f2ee;
|
|
53
|
+
--pi-terminal-selection: #d4d4d4;
|
|
54
|
+
}
|
|
@@ -0,0 +1,54 @@
|
|
|
1
|
+
:root {
|
|
2
|
+
--pi-font: system-ui, sans-serif;
|
|
3
|
+
--pi-mono: ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;
|
|
4
|
+
--pi-thinking: color-mix(in srgb, #4f83b3 70%, var(--pi-text) 30%);
|
|
5
|
+
--pi-tool: color-mix(in srgb, #238c86 70%, var(--pi-text) 30%);
|
|
6
|
+
--pi-syntax-comment: var(--pi-muted);
|
|
7
|
+
--pi-syntax-keyword: var(--pi-accent);
|
|
8
|
+
--pi-syntax-string: var(--pi-success);
|
|
9
|
+
--pi-syntax-number: var(--pi-warning);
|
|
10
|
+
--pi-syntax-title: var(--pi-accent);
|
|
11
|
+
--pi-syntax-deletion: var(--pi-danger);
|
|
12
|
+
--pi-chat-conversation-bg: color-mix(in srgb, var(--pi-muted) 6%, var(--pi-bg));
|
|
13
|
+
--pi-chat-conversation-border: color-mix(in srgb, var(--pi-muted) 55%, var(--pi-border) 45%);
|
|
14
|
+
--pi-chat-user-bg: color-mix(in srgb, var(--pi-accent) 6%, var(--pi-bg));
|
|
15
|
+
--pi-chat-user-border: color-mix(in srgb, var(--pi-accent) 55%, var(--pi-bg));
|
|
16
|
+
--pi-chat-system-bg: color-mix(in srgb, var(--pi-surface) 40%, var(--pi-bg));
|
|
17
|
+
--pi-chat-activity-bg: color-mix(in srgb, var(--pi-surface) 40%, var(--pi-bg));
|
|
18
|
+
--pi-chat-compacting-bg: color-mix(in srgb, var(--pi-purple) 5%, var(--pi-bg));
|
|
19
|
+
--pi-bg: #070912;
|
|
20
|
+
--pi-surface: #101527;
|
|
21
|
+
--pi-surface-hover: #151b31;
|
|
22
|
+
--pi-terminal-bg: #050710;
|
|
23
|
+
--pi-terminal-text: #f7f4ff;
|
|
24
|
+
--pi-border: #26304f;
|
|
25
|
+
--pi-border-muted: #26304f;
|
|
26
|
+
--pi-text: #f7f4ff;
|
|
27
|
+
--pi-text-secondary: #aaa4bd;
|
|
28
|
+
--pi-text-bright: #ffffff;
|
|
29
|
+
--pi-muted: #aaa4bd;
|
|
30
|
+
--pi-dim: #817a99;
|
|
31
|
+
--pi-accent: #7c3cff;
|
|
32
|
+
--pi-accent-border: #5a47b0;
|
|
33
|
+
--pi-selection-bg: #1d2547;
|
|
34
|
+
--pi-success: #00f0d8;
|
|
35
|
+
--pi-success-border: #00f0d8;
|
|
36
|
+
--pi-success-bg: #071e22;
|
|
37
|
+
--pi-success-surface: #092d31;
|
|
38
|
+
--pi-success-ring: #00f0d855;
|
|
39
|
+
--pi-warning: #ffb000;
|
|
40
|
+
--pi-warning-border: #ffb000;
|
|
41
|
+
--pi-warning-surface: #16140d;
|
|
42
|
+
--pi-danger: #ff4f7b;
|
|
43
|
+
--pi-purple: #b7a2ff;
|
|
44
|
+
--pi-purple-border: #7c3cff;
|
|
45
|
+
--pi-purple-surface: #181026;
|
|
46
|
+
--pi-overlay: #0008;
|
|
47
|
+
--pi-shadow-soft: #0006;
|
|
48
|
+
--pi-shadow: #0008;
|
|
49
|
+
--pi-shadow-strong: #000b;
|
|
50
|
+
--pi-bg-overlay-soft: #070912dd;
|
|
51
|
+
--pi-bg-overlay: #070912e6;
|
|
52
|
+
--pi-success-bg-overlay: #071e22ee;
|
|
53
|
+
--pi-terminal-selection: #3d4a78;
|
|
54
|
+
}
|
|
@@ -0,0 +1,54 @@
|
|
|
1
|
+
:root {
|
|
2
|
+
--pi-font: system-ui, sans-serif;
|
|
3
|
+
--pi-mono: ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;
|
|
4
|
+
--pi-thinking: color-mix(in srgb, #4f83b3 70%, var(--pi-text) 30%);
|
|
5
|
+
--pi-tool: color-mix(in srgb, #238c86 70%, var(--pi-text) 30%);
|
|
6
|
+
--pi-syntax-comment: var(--pi-muted);
|
|
7
|
+
--pi-syntax-keyword: var(--pi-accent);
|
|
8
|
+
--pi-syntax-string: var(--pi-success);
|
|
9
|
+
--pi-syntax-number: var(--pi-warning);
|
|
10
|
+
--pi-syntax-title: var(--pi-accent);
|
|
11
|
+
--pi-syntax-deletion: var(--pi-danger);
|
|
12
|
+
--pi-chat-conversation-bg: color-mix(in srgb, var(--pi-muted) 6%, var(--pi-bg));
|
|
13
|
+
--pi-chat-conversation-border: color-mix(in srgb, var(--pi-muted) 55%, var(--pi-border) 45%);
|
|
14
|
+
--pi-chat-user-bg: color-mix(in srgb, var(--pi-accent) 6%, var(--pi-bg));
|
|
15
|
+
--pi-chat-user-border: color-mix(in srgb, var(--pi-accent) 55%, var(--pi-bg));
|
|
16
|
+
--pi-chat-system-bg: color-mix(in srgb, var(--pi-surface) 40%, var(--pi-bg));
|
|
17
|
+
--pi-chat-activity-bg: color-mix(in srgb, var(--pi-surface) 40%, var(--pi-bg));
|
|
18
|
+
--pi-chat-compacting-bg: color-mix(in srgb, var(--pi-purple) 5%, var(--pi-bg));
|
|
19
|
+
--pi-bg: #f7f1e6;
|
|
20
|
+
--pi-surface: #fff9ee;
|
|
21
|
+
--pi-surface-hover: #f0e6d6;
|
|
22
|
+
--pi-terminal-bg: #15131b;
|
|
23
|
+
--pi-terminal-text: #fff9ee;
|
|
24
|
+
--pi-border: #c9bca8;
|
|
25
|
+
--pi-border-muted: #d8cdbc;
|
|
26
|
+
--pi-text: #15131b;
|
|
27
|
+
--pi-text-secondary: #15131b;
|
|
28
|
+
--pi-text-bright: #15131b;
|
|
29
|
+
--pi-muted: #5f586a;
|
|
30
|
+
--pi-dim: #766f7e;
|
|
31
|
+
--pi-accent: #6430d8;
|
|
32
|
+
--pi-accent-border: #6430d8;
|
|
33
|
+
--pi-selection-bg: #eadff8;
|
|
34
|
+
--pi-success: #008c82;
|
|
35
|
+
--pi-success-border: #008c82;
|
|
36
|
+
--pi-success-bg: #e1f4ef;
|
|
37
|
+
--pi-success-surface: #d7f0ec;
|
|
38
|
+
--pi-success-ring: #008c8255;
|
|
39
|
+
--pi-warning: #b05f00;
|
|
40
|
+
--pi-warning-border: #b05f00;
|
|
41
|
+
--pi-warning-surface: #fff2d2;
|
|
42
|
+
--pi-danger: #b51d49;
|
|
43
|
+
--pi-purple: #6430d8;
|
|
44
|
+
--pi-purple-border: #6430d8;
|
|
45
|
+
--pi-purple-surface: #eadff8;
|
|
46
|
+
--pi-overlay: #15131b66;
|
|
47
|
+
--pi-shadow-soft: #15131b22;
|
|
48
|
+
--pi-shadow: #15131b33;
|
|
49
|
+
--pi-shadow-strong: #15131b44;
|
|
50
|
+
--pi-bg-overlay-soft: #f7f1e6dd;
|
|
51
|
+
--pi-bg-overlay: #f7f1e6e6;
|
|
52
|
+
--pi-success-bg-overlay: #e1f4efee;
|
|
53
|
+
--pi-terminal-selection: #8d7b64;
|
|
54
|
+
}
|
package/dist/client/index.html
CHANGED
|
@@ -8,8 +8,8 @@
|
|
|
8
8
|
<link rel="icon" type="image/svg+xml" href="./favicon.svg" />
|
|
9
9
|
<link rel="apple-touch-icon" href="./apple-touch-icon.png" />
|
|
10
10
|
<link rel="manifest" crossorigin="use-credentials" href="./manifest.webmanifest" />
|
|
11
|
-
<style>:root{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--pi-control-font-size:16px;--pi-control-font-family:system-ui, sans-serif;--pi-control-monospace-font-family:ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;--pi-bg:#0d1117;--pi-surface:#161b22;--pi-surface-hover:#21262d;--pi-terminal-bg:#05070a;--pi-terminal-text:#e6edf3;--pi-border:#30363d;--pi-border-muted:#21262d;--pi-text:#e6edf3;--pi-text-secondary:#c9d1d9;--pi-text-bright:#f0f6fc;--pi-muted:#8b949e;--pi-dim:#6e7681;--pi-accent:#58a6ff;--pi-accent-border:#2f81f7;--pi-selection-bg:#0d2847;--pi-success:#3fb950;--pi-success-border:#238636;--pi-success-bg:#0f1b12;--pi-success-surface:#0f2a16;--pi-success-ring:#3fb95055;--pi-warning:#d29922;--pi-warning-border:#6e5200;--pi-warning-surface:#1f1a10;--pi-danger:#ff7b72;--pi-purple:#d2a8ff;--pi-purple-border:#a371f7;--pi-purple-surface:#21132f;--pi-overlay:#0008;--pi-shadow-soft:#0006;--pi-shadow:#0008;--pi-shadow-strong:#000b;--pi-bg-overlay-soft:#0d1117dd;--pi-bg-overlay:#0d1117e6;--pi-success-bg-overlay:#0f1b12ee;--pi-terminal-selection:#264f78}html,body{background:var(--pi-bg);height:100%;color:var(--pi-text);margin:0;overflow:hidden}body{min-height:100dvh}</style>
|
|
12
|
-
<script type="module" crossorigin src="./assets/index-
|
|
11
|
+
<style>:root{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--pi-control-font-size:16px;--pi-control-font-family:var(--pi-font,system-ui, sans-serif);--pi-control-monospace-font-family:var(--pi-mono,ui-monospace, SFMono-Regular, Menlo, Consolas, monospace);--pi-bg:#0d1117;--pi-surface:#161b22;--pi-surface-hover:#21262d;--pi-terminal-bg:#05070a;--pi-terminal-text:#e6edf3;--pi-border:#30363d;--pi-border-muted:#21262d;--pi-text:#e6edf3;--pi-text-secondary:#c9d1d9;--pi-text-bright:#f0f6fc;--pi-muted:#8b949e;--pi-dim:#6e7681;--pi-accent:#58a6ff;--pi-accent-border:#2f81f7;--pi-selection-bg:#0d2847;--pi-success:#3fb950;--pi-success-border:#238636;--pi-success-bg:#0f1b12;--pi-success-surface:#0f2a16;--pi-success-ring:#3fb95055;--pi-warning:#d29922;--pi-warning-border:#6e5200;--pi-warning-surface:#1f1a10;--pi-danger:#ff7b72;--pi-purple:#d2a8ff;--pi-purple-border:#a371f7;--pi-purple-surface:#21132f;--pi-overlay:#0008;--pi-shadow-soft:#0006;--pi-shadow:#0008;--pi-shadow-strong:#000b;--pi-bg-overlay-soft:#0d1117dd;--pi-bg-overlay:#0d1117e6;--pi-success-bg-overlay:#0f1b12ee;--pi-terminal-selection:#264f78}html,body{background:var(--pi-bg);height:100%;color:var(--pi-text);margin:0;overflow:hidden}body{min-height:100dvh}</style>
|
|
12
|
+
<script type="module" crossorigin src="./assets/index-BAYF7oXL.js"></script>
|
|
13
13
|
<link rel="modulepreload" crossorigin href="./assets/vendor-editor-core-C2PJX3uW.js">
|
|
14
14
|
<link rel="modulepreload" crossorigin href="./assets/vendor-editor-languages-CS6n1J8n.js">
|
|
15
15
|
</head>
|
package/dist/config.js
CHANGED
|
@@ -4,6 +4,7 @@ import { dirname, isAbsolute, join, normalize, resolve } from "node:path";
|
|
|
4
4
|
import { isPiWebPluginId, piWebPluginIdPattern } from "./shared/pluginIds.js";
|
|
5
5
|
import { requireDefaultThemePreference } from "./shared/themePreference.js";
|
|
6
6
|
import { requireDefaultStreamingBehavior } from "./shared/streamingBehavior.js";
|
|
7
|
+
import { isKnownThinkingLevel } from "./shared/thinkingLevels.js";
|
|
7
8
|
export function defaultPiWebConfigPath(env = process.env) {
|
|
8
9
|
const xdgConfigHome = env["XDG_CONFIG_HOME"];
|
|
9
10
|
return join(xdgConfigHome !== undefined && xdgConfigHome !== "" ? xdgConfigHome : join(homedir(), ".config"), "pi-web", "config.json");
|
|
@@ -108,6 +109,12 @@ export function piWebDataDir(env = process.env, cwd = process.cwd()) {
|
|
|
108
109
|
return defaultPiWebDataDir();
|
|
109
110
|
return resolve(cwd, configured);
|
|
110
111
|
}
|
|
112
|
+
/** Resolve new archive destinations without changing the archive index location. */
|
|
113
|
+
export function sessionArchiveDirectory(env = process.env, config = {}, cwd = process.cwd()) {
|
|
114
|
+
const fromEnv = env["PI_WEB_SESSION_ARCHIVE_DIR"];
|
|
115
|
+
const configured = fromEnv !== undefined && fromEnv !== "" ? fromEnv : config.sessionArchive?.directory;
|
|
116
|
+
return configured === undefined ? join(piWebDataDir(env, cwd), "archived-sessions") : resolve(cwd, configured);
|
|
117
|
+
}
|
|
111
118
|
export function piWebConfigPath(env = process.env, cwd = process.cwd()) {
|
|
112
119
|
const configured = env["PI_WEB_CONFIG"];
|
|
113
120
|
if (configured === undefined || configured === "")
|
|
@@ -181,6 +188,8 @@ export function savePiWebConfig(config, options = {}) {
|
|
|
181
188
|
delete existing["uploads"];
|
|
182
189
|
delete existing["attachments"];
|
|
183
190
|
delete existing["maxUploadBytes"];
|
|
191
|
+
delete existing["sessionNaming"];
|
|
192
|
+
delete existing["sessionArchive"];
|
|
184
193
|
delete existing["spawnSessions"];
|
|
185
194
|
delete existing["subsessions"];
|
|
186
195
|
delete existing["askUser"];
|
|
@@ -213,6 +222,8 @@ function piWebConfigRecord(config) {
|
|
|
213
222
|
...(config.uploads !== undefined ? { uploads: config.uploads } : {}),
|
|
214
223
|
...(config.attachments !== undefined ? { attachments: config.attachments } : {}),
|
|
215
224
|
...(config.maxUploadBytes !== undefined ? { maxUploadBytes: config.maxUploadBytes } : {}),
|
|
225
|
+
...(config.sessionNaming !== undefined ? { sessionNaming: config.sessionNaming } : {}),
|
|
226
|
+
...(config.sessionArchive !== undefined ? { sessionArchive: config.sessionArchive } : {}),
|
|
216
227
|
...(config.spawnSessions !== undefined ? { spawnSessions: config.spawnSessions } : {}),
|
|
217
228
|
...(config.subsessions !== undefined ? { subsessions: config.subsessions } : {}),
|
|
218
229
|
...(config.askUser !== undefined ? { askUser: config.askUser } : {}),
|
|
@@ -233,6 +244,8 @@ function parsePiWebConfig(value, path) {
|
|
|
233
244
|
...(value["uploads"] !== undefined ? { uploads: parseUploadsConfig(value["uploads"], path) } : {}),
|
|
234
245
|
...(value["attachments"] !== undefined ? { attachments: parseAttachmentsConfig(value["attachments"], path) } : {}),
|
|
235
246
|
...(value["maxUploadBytes"] !== undefined ? { maxUploadBytes: parseMaxUploadBytes(value["maxUploadBytes"], "maxUploadBytes", path) } : {}),
|
|
247
|
+
...(value["sessionNaming"] !== undefined ? { sessionNaming: parseSessionNamingConfig(value["sessionNaming"], path) } : {}),
|
|
248
|
+
...(value["sessionArchive"] !== undefined ? { sessionArchive: parseSessionArchiveConfig(value["sessionArchive"], path) } : {}),
|
|
236
249
|
...(value["spawnSessions"] !== undefined ? { spawnSessions: parseSpawnSessions(value["spawnSessions"], path) } : {}),
|
|
237
250
|
...(value["subsessions"] !== undefined ? { subsessions: parseSubsessions(value["subsessions"], path) } : {}),
|
|
238
251
|
...(value["askUser"] !== undefined ? { askUser: parseAskUser(value["askUser"], path) } : {}),
|
|
@@ -241,6 +254,49 @@ function parsePiWebConfig(value, path) {
|
|
|
241
254
|
...(value["agent"] !== undefined ? { agent: parseAgentConfig(value["agent"], path) } : {}),
|
|
242
255
|
};
|
|
243
256
|
}
|
|
257
|
+
export function parseSessionArchiveConfig(value, path) {
|
|
258
|
+
if (!isRecord(value))
|
|
259
|
+
throw new Error(`PI WEB config sessionArchive must be an object: ${path}`);
|
|
260
|
+
const unknownKey = Object.keys(value).find((key) => key !== "directory");
|
|
261
|
+
if (unknownKey !== undefined)
|
|
262
|
+
throw new Error(`PI WEB config sessionArchive has unknown key ${JSON.stringify(unknownKey)}: ${path}`);
|
|
263
|
+
const directory = value["directory"];
|
|
264
|
+
if (directory === undefined)
|
|
265
|
+
return {};
|
|
266
|
+
if (typeof directory !== "string" || directory.trim() === "" || directory.includes("\u0000")) {
|
|
267
|
+
throw new Error(`PI WEB config sessionArchive.directory must be a non-empty path: ${path}`);
|
|
268
|
+
}
|
|
269
|
+
return { directory };
|
|
270
|
+
}
|
|
271
|
+
export function parseSessionNamingConfig(value, path) {
|
|
272
|
+
if (!isRecord(value))
|
|
273
|
+
throw new Error(`PI WEB config sessionNaming must be an object: ${path}`);
|
|
274
|
+
const unknownKey = Object.keys(value).find((key) => key !== "model" && key !== "maxTokens" && key !== "thinkingLevel" && key !== "timeoutMs");
|
|
275
|
+
if (unknownKey !== undefined)
|
|
276
|
+
throw new Error(`PI WEB config sessionNaming has unknown key ${JSON.stringify(unknownKey)}: ${path}`);
|
|
277
|
+
const model = value["model"];
|
|
278
|
+
const maxTokens = value["maxTokens"];
|
|
279
|
+
const thinkingLevel = value["thinkingLevel"];
|
|
280
|
+
const timeoutMs = value["timeoutMs"];
|
|
281
|
+
if (model !== undefined && (typeof model !== "string" || !/^[^/\s]+\/\S+$/.test(model))) {
|
|
282
|
+
throw new Error(`PI WEB config sessionNaming.model must be an exact provider/model-id with non-empty parts: ${path}`);
|
|
283
|
+
}
|
|
284
|
+
if (maxTokens !== undefined && (typeof maxTokens !== "number" || !Number.isSafeInteger(maxTokens) || maxTokens <= 0)) {
|
|
285
|
+
throw new Error(`PI WEB config sessionNaming.maxTokens must be a positive safe integer: ${path}`);
|
|
286
|
+
}
|
|
287
|
+
if (thinkingLevel !== undefined && (typeof thinkingLevel !== "string" || !isKnownThinkingLevel(thinkingLevel))) {
|
|
288
|
+
throw new Error(`PI WEB config sessionNaming.thinkingLevel must be a known thinking level: ${path}`);
|
|
289
|
+
}
|
|
290
|
+
if (timeoutMs !== undefined && (typeof timeoutMs !== "number" || !Number.isInteger(timeoutMs) || timeoutMs < 1 || timeoutMs > 2147483647)) {
|
|
291
|
+
throw new Error(`PI WEB config sessionNaming.timeoutMs must be an integer from 1 to 2147483647: ${path}`);
|
|
292
|
+
}
|
|
293
|
+
return {
|
|
294
|
+
...(timeoutMs !== undefined ? { timeoutMs } : {}),
|
|
295
|
+
...(model !== undefined ? { model } : {}),
|
|
296
|
+
...(maxTokens !== undefined ? { maxTokens } : {}),
|
|
297
|
+
...(thinkingLevel !== undefined ? { thinkingLevel } : {}),
|
|
298
|
+
};
|
|
299
|
+
}
|
|
244
300
|
function parseMaxUploadBytes(value, key, path = "environment") {
|
|
245
301
|
const bytes = typeof value === "number" ? value : typeof value === "string" && value !== "" ? Number(value) : NaN;
|
|
246
302
|
if (!Number.isInteger(bytes) || bytes < 1)
|
package/dist/config.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"config.js","sourceRoot":"","sources":["../src/config.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"config.js","sourceRoot":"","sources":["../src/config.ts"],"names":[],"mappings":"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"}
|
|
@@ -62,25 +62,25 @@ ${this.parser.parse(e)}</blockquote>
|
|
|
62
62
|
${e}</tr>
|
|
63
63
|
`}tablecell(e){let t=this.parser.parseInline(e.tokens),n=e.header?`th`:`td`;return(e.align?`<${n} align="${e.align}">`:`<${n}>`)+t+`</${n}>
|
|
64
64
|
`}strong({tokens:e}){return`<strong>${this.parser.parseInline(e)}</strong>`}em({tokens:e}){return`<em>${this.parser.parseInline(e)}</em>`}codespan({text:e}){return`<code>${F(e,!0)}</code>`}br(e){return`<br>`}del({tokens:e}){return`<del>${this.parser.parseInline(e)}</del>`}link({href:e,title:t,text:n,tokens:r,autolink:i}){let a=i?F(n,!0):this.parser.parseInline(r),o=I(e);if(o===null)return a;e=F(o,i);let s=`<a href="`+e+`"`;return t&&(s+=` title="`+F(t)+`"`),s+=`>`+a+`</a>`,s}image({href:e,title:t,text:n,tokens:r}){r&&(n=this.parser.parseInline(r,this.parser.textRenderer));let i=I(e);if(i===null)return F(n);e=i;let a=`<img src="${F(e)}" alt="${F(n)}"`;return t&&(a+=` title="${F(t)}"`),a+=`>`,a}text(e){return`tokens`in e&&e.tokens?this.parser.parseInline(e.tokens):`escaped`in e&&e.escaped?e.text:F(e.text)}},q=class{strong({text:e}){return e}em({text:e}){return e}codespan({text:e}){return e}del({text:e}){return e}html({text:e}){return e}text({text:e}){return e}link({text:e}){return``+e}image({text:e}){return``+e}br(){return``}checkbox({raw:e}){return e}},J=class e{options;renderer;textRenderer;constructor(e){this.options=e||r,this.options.renderer=this.options.renderer||new K,this.renderer=this.options.renderer,this.renderer.options=this.options,this.renderer.parser=this,this.textRenderer=new q}static parse(t,n){return new e(n).parse(t)}static parseInline(t,n){return new e(n).parseInline(t)}parse(e){this.renderer.parser=this;let t=``;for(let n=0;n<e.length;n++){let r=e[n];if(this.options.extensions?.renderers?.[r.type]){let e=r,n=this.options.extensions.renderers[e.type].call({parser:this},e);if(n!==!1||![`space`,`hr`,`heading`,`code`,`table`,`blockquote`,`list`,`checkbox`,`html`,`def`,`paragraph`,`text`].includes(e.type)){t+=n||``;continue}}let i=r;switch(i.type){case`space`:t+=this.renderer.space(i);break;case`hr`:t+=this.renderer.hr(i);break;case`heading`:t+=this.renderer.heading(i);break;case`code`:t+=this.renderer.code(i);break;case`table`:t+=this.renderer.table(i);break;case`blockquote`:t+=this.renderer.blockquote(i);break;case`list`:t+=this.renderer.list(i);break;case`checkbox`:t+=this.renderer.checkbox(i);break;case`html`:t+=this.renderer.html(i);break;case`def`:t+=this.renderer.def(i);break;case`paragraph`:t+=this.renderer.paragraph(i);break;case`text`:t+=this.renderer.text(i);break;default:{let e=`Token with "`+i.type+`" type was not found.`;if(this.options.silent)return console.error(e),``;throw Error(e)}}}return t}parseInline(e,t=this.renderer){this.renderer.parser=this;let n=``;for(let r=0;r<e.length;r++){let i=e[r];if(this.options.extensions?.renderers?.[i.type]){let e=this.options.extensions.renderers[i.type].call({parser:this},i);if(e!==!1||![`escape`,`html`,`link`,`image`,`checkbox`,`strong`,`em`,`codespan`,`br`,`del`,`text`].includes(i.type)){n+=e||``;continue}}let a=i;switch(a.type){case`escape`:n+=t.text(a);break;case`html`:n+=t.html(a);break;case`link`:n+=t.link(a);break;case`image`:n+=t.image(a);break;case`checkbox`:n+=t.checkbox(a);break;case`strong`:n+=t.strong(a);break;case`em`:n+=t.em(a);break;case`codespan`:n+=t.codespan(a);break;case`br`:n+=t.br(a);break;case`del`:n+=t.del(a);break;case`text`:n+=t.text(a);break;default:{let e=`Token with "`+a.type+`" type was not found.`;if(this.options.silent)return console.error(e),``;throw Error(e)}}}return n}},Y=class{options;block;constructor(e){this.options=e||r}static passThroughHooks=new Set([`preprocess`,`postprocess`,`processAllTokens`,`emStrongMask`]);static passThroughHooksRespectAsync=new Set([`preprocess`,`postprocess`,`processAllTokens`]);preprocess(e){return e}postprocess(e){return e}processAllTokens(e){return e}emStrongMask(e){return e}provideLexer(e=this.block){return e?G.lex:G.lexInline}provideParser(e=this.block){return e?J.parse:J.parseInline}};function X(e,t){if(Array.isArray(t))for(let n=0;n<t.length;n++)e.push(t[n]);else e.push(t)}var Z=new class{defaults=n();options=this.setOptions;parse=this.parseMarkdown(!0);parseInline=this.parseMarkdown(!1);Parser=J;Renderer=K;TextRenderer=q;Lexer=G;Tokenizer=W;Hooks=Y;constructor(...e){this.use(...e)}walkTokens(e,t){let n=[];for(let r of e)switch(X(n,t.call(this,r)),r.type){case`table`:{let e=r;for(let r of e.header)X(n,this.walkTokens(r.tokens,t));for(let r of e.rows)for(let e of r)X(n,this.walkTokens(e.tokens,t));break}case`list`:{let e=r;X(n,this.walkTokens(e.items,t));break}default:{let e=r;this.defaults.extensions?.childTokens?.[e.type]?this.defaults.extensions.childTokens[e.type].forEach(r=>{let i=e[r].flat(1/0);X(n,this.walkTokens(i,t))}):e.tokens&&X(n,this.walkTokens(e.tokens,t))}}return n}use(...e){let t=this.defaults.extensions||{renderers:{},childTokens:{}};return e.forEach(e=>{let n={...e};if(n.async=this.defaults.async||n.async||!1,e.extensions&&(e.extensions.forEach(e=>{if(!e.name)throw Error(`extension name required`);if(`renderer`in e){let n=t.renderers[e.name];n?t.renderers[e.name]=function(...t){let r=e.renderer.apply(this,t);return r===!1&&(r=n.apply(this,t)),r}:t.renderers[e.name]=e.renderer}if(`tokenizer`in e){if(!e.level||e.level!==`block`&&e.level!==`inline`)throw Error(`extension level must be 'block' or 'inline'`);let n=t[e.level];n?n.unshift(e.tokenizer):t[e.level]=[e.tokenizer],e.start&&(e.level===`block`?t.startBlock?t.startBlock.push(e.start):t.startBlock=[e.start]:e.level===`inline`&&(t.startInline?t.startInline.push(e.start):t.startInline=[e.start]))}`childTokens`in e&&e.childTokens&&(t.childTokens[e.name]=e.childTokens)}),n.extensions=t),e.renderer){let t=this.defaults.renderer||new K(this.defaults);for(let n in e.renderer){if(!(n in t))throw Error(`renderer '${n}' does not exist`);if([`options`,`parser`].includes(n))continue;let r=n,i=e.renderer[r],a=t[r];t[r]=(...e)=>{let n=i.apply(t,e);return n===!1&&(n=a.apply(t,e)),n||``}}n.renderer=t}if(e.tokenizer){let t=this.defaults.tokenizer||new W(this.defaults);for(let n in e.tokenizer){if(!(n in t))throw Error(`tokenizer '${n}' does not exist`);if([`options`,`rules`,`lexer`].includes(n))continue;let r=n,i=e.tokenizer[r],a=t[r];t[r]=(...e)=>{let n=i.apply(t,e);return n===!1&&(n=a.apply(t,e)),n}}n.tokenizer=t}if(e.hooks){let t=this.defaults.hooks||new Y;for(let n in e.hooks){if(!(n in t))throw Error(`hook '${n}' does not exist`);if([`options`,`block`].includes(n))continue;let r=n,i=e.hooks[r],a=t[r];t[r]=Y.passThroughHooks.has(n)?e=>{if(this.defaults.async&&Y.passThroughHooksRespectAsync.has(n))return(async()=>{let n=await i.call(t,e);return a.call(t,n)})();let r=i.call(t,e);return a.call(t,r)}:(...e)=>{if(this.defaults.async)return(async()=>{let n=await i.apply(t,e);return n===!1&&(n=await a.apply(t,e)),n})();let n=i.apply(t,e);return n===!1&&(n=a.apply(t,e)),n}}n.hooks=t}if(e.walkTokens){let t=this.defaults.walkTokens,r=e.walkTokens;n.walkTokens=function(e){let n=[];return n.push(r.call(this,e)),t&&X(n,t.call(this,e)),n}}this.defaults={...this.defaults,...n}}),this}setOptions(e){return this.defaults={...this.defaults,...e},this}lexer(e,t){return G.lex(e,t??this.defaults)}parser(e,t){return J.parse(e,t??this.defaults)}parseMarkdown(e){return(t,n)=>{let r={...n},i={...this.defaults,...r},a=this.onError(!!i.silent,!!i.async);if(this.defaults.async===!0&&r.async===!1)return a(Error(`marked(): The async option was set to true by an extension. Remove async: false from the parse options object to return a Promise.`));if(typeof t>`u`||t===null)return a(Error(`marked(): input parameter is undefined or null`));if(typeof t!=`string`)return a(Error(`marked(): input parameter is of type `+Object.prototype.toString.call(t)+`, string expected`));if(i.hooks&&(i.hooks.options=i,i.hooks.block=e),i.async)return(async()=>{let n=i.hooks?await i.hooks.preprocess(t):t,r=await(i.hooks?await i.hooks.provideLexer(e):e?G.lex:G.lexInline)(n,i),a=i.hooks?await i.hooks.processAllTokens(r):r;i.walkTokens&&await Promise.all(this.walkTokens(a,i.walkTokens));let o=await(i.hooks?await i.hooks.provideParser(e):e?J.parse:J.parseInline)(a,i);return i.hooks?await i.hooks.postprocess(o):o})().catch(a);try{i.hooks&&(t=i.hooks.preprocess(t));let n=(i.hooks?i.hooks.provideLexer(e):e?G.lex:G.lexInline)(t,i);i.hooks&&(n=i.hooks.processAllTokens(n)),i.walkTokens&&this.walkTokens(n,i.walkTokens);let r=(i.hooks?i.hooks.provideParser(e):e?J.parse:J.parseInline)(n,i);return i.hooks&&(r=i.hooks.postprocess(r)),r}catch(e){return a(e)}}}onError(e,t){return n=>{if(n.message+=`
|
|
65
|
-
Please report this to https://github.com/markedjs/marked.`,e){let e=`<p>An error occurred:</p><pre>`+F(n.message+``,!0)+`</pre>`;return t?Promise.resolve(e):e}if(t)return Promise.reject(n);throw n}}};function Q(e,t){return Z.parse(e,t)}Q.options=Q.setOptions=function(e){return Z.setOptions(e),Q.defaults=Z.defaults,i(Q.defaults),Q},Q.getDefaults=n,Q.defaults=r;function Xe(...e){return Z.use(...e),Q.defaults=Z.defaults,i(Q.defaults),Q}Q.use=Xe,Q.walkTokens=function(e,t){return Z.walkTokens(e,t)},Q.parseInline=Z.parseInline,Q.Parser=J,Q.parser=J.parse,Q.Renderer=K,Q.TextRenderer=q,Q.Lexer=G,Q.lexer=G.lex,Q.Tokenizer=W,Q.Hooks=Y,Q.parse=Q,Q.options,Q.setOptions,Q.walkTokens,Q.parseInline,J.parse,G.lex;function Ze(e){return[`space`,`def`,`heading`,`paragraph`,`text`,`escape`,`html`,`strong`,`em`,`del`,`codespan`,`code`,`blockquote`,`br`,`hr`,`list`,`list_item`,`checkbox`,`link`,`image`,`table`].includes(e.type)}function Qe(e){try{let t=new URL(e);return t.protocol===`https:`||t.protocol===`http:`?t.href:void 0}catch{return}}function $e(e,t){let n=e=>e.map(r);function r(t){if(!Ze(t))return t.raw;let r=t;switch(r.type){case`space`:case`def`:return null;case`heading`:{let t=n(r.tokens);switch(r.depth){case 1:return e`<h1>${t}</h1>`;case 2:return e`<h2>${t}</h2>`;case 3:return e`<h3>${t}</h3>`;case 4:return e`<h4>${t}</h4>`;case 5:return e`<h5>${t}</h5>`;default:return e`<h6>${t}</h6>`}}case`paragraph`:return e`<p>${n(r.tokens)}</p>`;case`text`:return r.tokens?n(r.tokens):r.text;case`escape`:return r.text;case`html`:return r.raw;case`strong`:return e`<strong>${n(r.tokens)}</strong>`;case`em`:return e`<em>${n(r.tokens)}</em>`;case`del`:return e`<del>${n(r.tokens)}</del>`;case`codespan`:return e`<code>${r.text}</code>`;case`code`:return e`<pre><code>${r.text}</code></pre>`;case`blockquote`:return e`<blockquote>${n(r.tokens)}</blockquote>`;case`br`:return e`<br>`;case`hr`:return e`<hr>`;case`list`:return r.ordered?e`<ol start=${r.start}>${n(r.items)}</ol>`:e`<ul>${n(r.items)}</ul>`;case`list_item`:return e`<li>${n(r.tokens)}</li>`;case`checkbox`:return e`<input type="checkbox" disabled ?checked=${r.checked} aria-label="Task completed">`;case`link`:{let t=Qe(r.href),i=n(r.tokens);return t===void 0?i:e`<a href=${t} target="_blank" rel="noreferrer noopener">${i}</a>`}case`image`:return r.text;case`table`:return e`<div class="captain-table-scroll"><table><thead><tr>${r.header.map(t=>e`<th scope="col">${n(t.tokens)}</th>`)}</tr></thead><tbody>${r.rows.map(t=>e`<tr>${t.map(t=>e`<td>${n(t.tokens)}</td>`)}</tr>`)}</tbody></table></div>`;default:return t.raw}}return n(new G({gfm:!0}).lex(t))}function et(e){if(e.state?.selectedMachine&&e.state.selectedMachine.id!==e.machine.id)return;let t=e.state?.selectedSession;if(!(!t||t.archived||t.pending||t.cwd!==e.workspace.path))return{id:t.id,name:t.name!==void 0&&t.name.trim()!==``?t.name:`Session ${t.id.slice(0,8)}`}}function
|
|
65
|
+
Please report this to https://github.com/markedjs/marked.`,e){let e=`<p>An error occurred:</p><pre>`+F(n.message+``,!0)+`</pre>`;return t?Promise.resolve(e):e}if(t)return Promise.reject(n);throw n}}};function Q(e,t){return Z.parse(e,t)}Q.options=Q.setOptions=function(e){return Z.setOptions(e),Q.defaults=Z.defaults,i(Q.defaults),Q},Q.getDefaults=n,Q.defaults=r;function Xe(...e){return Z.use(...e),Q.defaults=Z.defaults,i(Q.defaults),Q}Q.use=Xe,Q.walkTokens=function(e,t){return Z.walkTokens(e,t)},Q.parseInline=Z.parseInline,Q.Parser=J,Q.parser=J.parse,Q.Renderer=K,Q.TextRenderer=q,Q.Lexer=G,Q.lexer=G.lex,Q.Tokenizer=W,Q.Hooks=Y,Q.parse=Q,Q.options,Q.setOptions,Q.walkTokens,Q.parseInline,J.parse,G.lex;function Ze(e){return[`space`,`def`,`heading`,`paragraph`,`text`,`escape`,`html`,`strong`,`em`,`del`,`codespan`,`code`,`blockquote`,`br`,`hr`,`list`,`list_item`,`checkbox`,`link`,`image`,`table`].includes(e.type)}function Qe(e){try{let t=new URL(e);return t.protocol===`https:`||t.protocol===`http:`?t.href:void 0}catch{return}}function $e(e,t){let n=e=>e.map(r);function r(t){if(!Ze(t))return t.raw;let r=t;switch(r.type){case`space`:case`def`:return null;case`heading`:{let t=n(r.tokens);switch(r.depth){case 1:return e`<h1>${t}</h1>`;case 2:return e`<h2>${t}</h2>`;case 3:return e`<h3>${t}</h3>`;case 4:return e`<h4>${t}</h4>`;case 5:return e`<h5>${t}</h5>`;default:return e`<h6>${t}</h6>`}}case`paragraph`:return e`<p>${n(r.tokens)}</p>`;case`text`:return r.tokens?n(r.tokens):r.text;case`escape`:return r.text;case`html`:return r.raw;case`strong`:return e`<strong>${n(r.tokens)}</strong>`;case`em`:return e`<em>${n(r.tokens)}</em>`;case`del`:return e`<del>${n(r.tokens)}</del>`;case`codespan`:return e`<code>${r.text}</code>`;case`code`:return e`<pre><code>${r.text}</code></pre>`;case`blockquote`:return e`<blockquote>${n(r.tokens)}</blockquote>`;case`br`:return e`<br>`;case`hr`:return e`<hr>`;case`list`:return r.ordered?e`<ol start=${r.start}>${n(r.items)}</ol>`:e`<ul>${n(r.items)}</ul>`;case`list_item`:return e`<li>${n(r.tokens)}</li>`;case`checkbox`:return e`<input type="checkbox" disabled ?checked=${r.checked} aria-label="Task completed">`;case`link`:{let t=Qe(r.href),i=n(r.tokens);return t===void 0?i:e`<a href=${t} target="_blank" rel="noreferrer noopener">${i}</a>`}case`image`:return r.text;case`table`:return e`<div class="captain-table-scroll"><table><thead><tr>${r.header.map(t=>e`<th scope="col">${n(t.tokens)}</th>`)}</tr></thead><tbody>${r.rows.map(t=>e`<tr>${t.map(t=>e`<td>${n(t.tokens)}</td>`)}</tr>`)}</tbody></table></div>`;default:return t.raw}}return n(new G({gfm:!0}).lex(t))}function et(e){if(e.state?.selectedMachine&&e.state.selectedMachine.id!==e.machine.id)return;let t=e.state?.selectedSession;if(!(!t||t.archived||t.pending||t.cwd!==e.workspace.path))return{id:t.id,name:t.name!==void 0&&t.name.trim()!==``?t.name:`Session ${t.id.slice(0,8)}`}}function tt(e){let t=new Date(e);return Number.isNaN(t.getTime())?e:t.toLocaleString(void 0,{month:`short`,day:`numeric`,hour:`2-digit`,minute:`2-digit`})}function nt(e,t){let n=t.entries.some(e=>e.status===`running`),r=t.source!==void 0&&t.entries.some(e=>e.sessionId===t.source?.id),i=!t.connected||t.connecting||t.pending||n||!t.source||r,a=t.selected,o=a?.sourceSessionId,s=t.connecting?`Connecting…`:t.connected?t.pending?`Fetching the last reply…`:n?`The captain is translating…`:t.source?r?`Select a different session — this one is the pirate.`:`Ready to translate`:`Select a session in this workspace first.`:`Connection lost`;return e`<style>${rt}</style>
|
|
66
66
|
<section class="captains-log" aria-label="Captain's Log">
|
|
67
67
|
<div class="captain-heading"><h2>⚓ Captain's Log</h2><p class="muted">Your last reply, retold by a theatrical pirate.</p></div>
|
|
68
68
|
<div class="captain-source"><span class="muted">Selected session</span><strong>${t.source?.name??`No session selected`}</strong></div>
|
|
69
|
-
<button class="captain-primary" ?disabled=${i} @click=${t.onTranslate}>Let the Captain tell it</button>
|
|
69
|
+
<button class="ui-button ui-button--primary captain-primary" ?disabled=${i} @click=${t.onTranslate}>Let the Captain tell it</button>
|
|
70
70
|
<p class="captain-status" role="status" aria-live="polite">${s}
|
|
71
|
-
${!t.connected&&!t.connecting?e`<button @click=${t.onReconnect}>Reconnect</button>`:null}
|
|
71
|
+
${!t.connected&&!t.connecting?e`<button class="ui-button ui-button--compact" @click=${t.onReconnect}>Reconnect</button>`:null}
|
|
72
72
|
</p>
|
|
73
73
|
${!t.connected&&!t.connecting?e`<p class="captain-notice">Reconnect to see the result. The captain may still be working; your request will not be sent again.</p>`:null}
|
|
74
74
|
${t.notice!==void 0&&t.notice!==``?e`<p class="captain-notice" role="alert">${t.notice}</p>`:null}
|
|
75
75
|
${a?e`<article class="captain-reply" aria-label="Pirate translation">
|
|
76
|
-
<div class="captain-reply-heading"><strong>${a.status===`running`?`Translating…`:a.id===t.entries[0]?.id?`Last translation`:`Earlier translation`}</strong><time datetime=${a.createdAt}>${
|
|
76
|
+
<div class="captain-reply-heading"><strong>${a.status===`running`?`Translating…`:a.id===t.entries[0]?.id?`Last translation`:`Earlier translation`}</strong><time datetime=${a.createdAt}>${tt(a.createdAt)}</time></div>
|
|
77
77
|
${a.status===`completed`?e`<div class="captain-answer">${a.text?$e(e,a.text):`Receiving the captain's reply…`}</div>`:a.status===`running`?e`<p class="muted">Reading the source reply and turning it into pirate. No message is sent to the source conversation.</p>`:e`<div class="captain-notice" role="alert"><strong>${a.status===`interrupted`?`Translation interrupted`:`Couldn't translate that reply`}</strong><p>${a.text||`Check Diagnostics for details, then try again when the session is ready.`}</p></div>`}
|
|
78
|
-
${o!==void 0&&o!==``?e`<button @click=${()=>{t.onOpenSource(o)}}>Open source session</button>`:null}
|
|
78
|
+
${o!==void 0&&o!==``?e`<button class="ui-button" @click=${()=>{t.onOpenSource(o)}}>Open source session</button>`:null}
|
|
79
79
|
</article>`:e`<p class="captain-empty muted">Pick a conversation, then translate its latest finished assistant reply. The original stays untouched.</p>`}
|
|
80
80
|
<div class="captain-secondary">
|
|
81
81
|
${t.entries.length>1?e`<details><summary>Previous translations <span class="muted">(${t.entries.length})</span></summary>
|
|
82
|
-
<div class="captain-history">${t.entries.map(n=>e`<button class=${n.id===a?.id?`selected`:``} ?disabled=${!t.connected} @click=${()=>{t.onRead(n.id)}}>
|
|
83
|
-
<span>${
|
|
82
|
+
<div class="captain-history">${t.entries.map(n=>e`<button class=${`ui-button${n.id===a?.id?` selected`:``}`} aria-pressed=${n.id===a?.id?`true`:`false`} ?disabled=${!t.connected} @click=${()=>{t.onRead(n.id)}}>
|
|
83
|
+
<span>${tt(n.createdAt)} · ${n.status===`completed`?`Translated`:n.status===`running`?`Working`:`Not completed`}</span>
|
|
84
84
|
</button>`)}</div>
|
|
85
85
|
</details>`:null}
|
|
86
86
|
<details class="captain-diagnostics"><summary>Diagnostics</summary>
|
|
@@ -90,17 +90,13 @@ Please report this to https://github.com/markedjs/marked.`,e){let e=`<p>An error
|
|
|
90
90
|
</details>
|
|
91
91
|
<p class="captain-footnote muted">Uses your configured model. Reuses the pirate while it's available; otherwise starts one automatically.</p>
|
|
92
92
|
</div>
|
|
93
|
-
</section>`}var
|
|
93
|
+
</section>`}var rt=`
|
|
94
94
|
captains-log-lifetime { display: block; min-width: 0; }
|
|
95
95
|
.captains-log { box-sizing: border-box; padding: 16px; min-width: 0; color: inherit; font: inherit; line-height: 1.5; }
|
|
96
96
|
.captains-log *, .captains-log *::before, .captains-log *::after { box-sizing: border-box; }
|
|
97
97
|
.captains-log h2, .captains-log p { margin: 0; }
|
|
98
98
|
.captains-log h2 { font-size: 15px; }
|
|
99
|
-
.captains-log
|
|
100
|
-
.captains-log button:hover:not(:disabled) { background: var(--pi-surface-hover); }
|
|
101
|
-
.captains-log button:disabled { opacity: .5; cursor: not-allowed; }
|
|
102
|
-
.captains-log button:focus-visible, .captains-log summary:focus-visible { outline: 2px solid var(--pi-accent); outline-offset: 2px; }
|
|
103
|
-
.captains-log .captain-primary { border-color: var(--pi-accent-border); background: var(--pi-selection-bg); padding: 8px 12px; }
|
|
99
|
+
.captains-log summary:focus-visible { outline: 2px solid var(--pi-accent); outline-offset: 2px; }
|
|
104
100
|
.captains-log .captain-source { display: grid; gap: 3px; margin: 18px 0 12px; padding: 10px 12px; background: var(--pi-surface); border: 1px solid var(--pi-border-muted); border-radius: 8px; overflow-wrap: anywhere; }
|
|
105
101
|
.captains-log .captain-source span { font-size: 11px; }
|
|
106
102
|
.captains-log .captain-status { display: flex; align-items: center; flex-wrap: wrap; gap: 8px; margin: 10px 0 16px; color: var(--pi-muted); font-size: 12px; }
|
|
@@ -136,10 +132,10 @@ Please report this to https://github.com/markedjs/marked.`,e){let e=`<p>An error
|
|
|
136
132
|
.captains-log summary { cursor: pointer; color: var(--pi-muted); }
|
|
137
133
|
.captains-log details p { margin: 8px 0; overflow-wrap: anywhere; }
|
|
138
134
|
.captains-log .captain-history { display: grid; gap: 6px; padding-top: 8px; }
|
|
139
|
-
.captains-log .captain-history button { text-align: left; min-width: 0; }
|
|
135
|
+
.captains-log .captain-history button { justify-content: flex-start; text-align: left; min-width: 0; }
|
|
140
136
|
.captains-log dl { display: grid; grid-template-columns: auto minmax(0, 1fr); gap: 4px 10px; font-size: 11px; }
|
|
141
137
|
.captains-log dd { margin: 0; overflow-wrap: anywhere; }
|
|
142
138
|
.captains-log .captain-footnote { font-size: 11px; margin-top: 10px; }
|
|
143
|
-
`;function
|
|
144
|
-
${
|
|
145
|
-
</captains-log-lifetime>`}}]},dispose(){
|
|
139
|
+
`;function it(n){if(typeof n!=`object`||!n||!(`type`in n))return!1;switch(n.type){case`entry`:return`entry`in n&&t(n.entry)&&`saved`in n&&typeof n.saved==`boolean`;case`text`:return`id`in n&&typeof n.id==`string`&&e.test(n.id)&&`text`in n&&typeof n.text==`string`&&n.text.length<=4e3;case`admitted`:return`requestId`in n&&typeof n.requestId==`string`&&e.test(n.requestId)&&`id`in n&&typeof n.id==`string`&&e.test(n.id);case`rejected`:return`requestId`in n&&typeof n.requestId==`string`&&e.test(n.requestId)&&`message`in n&&typeof n.message==`string`;default:return!1}}var $={pluginId:`pi-web`,id:`stylesheet-integration`,version:1,parse(e){if(!at(e))throw Error(`Invalid PI WEB stylesheet integration capability v1`);return e}};function at(e){return typeof e==`object`&&!!e&&`registerRoot`in e&&typeof e.registerRoot==`function`&&`subscribe`in e&&typeof e.subscribe==`function`&&`createController`in e&&typeof e.createController==`function`}var ot={apiVersion:4,name:`Captain's Log`,requires:[$],activate({html:e,runtimePluginId:n,lifetimeSignal:r}){let i;customElements.get(`captains-log-lifetime`)||customElements.define(`captains-log-lifetime`,class extends HTMLElement{mount;unmount;currentScope;integration;releaseStyles;set stylesheetIntegration(e){this.integration!==e&&(this.releaseStyles?.(),this.releaseStyles=void 0,this.integration=e,this.registerStyles())}registerStyles(){if(!this.isConnected||this.releaseStyles!==void 0)return;let e=this.getRootNode();e instanceof ShadowRoot&&(this.releaseStyles=this.integration?.registerRoot(e,{sharedUi:!0}))}set scope(e){e!==this.currentScope&&(this.currentScope=e,this.isConnected&&queueMicrotask(()=>{this.isConnected&&this.mount?.()}))}connectedCallback(){this.registerStyles(),queueMicrotask(()=>{this.isConnected&&this.mount?.()})}disconnectedCallback(){this.releaseStyles?.(),this.releaseStyles=void 0,this.unmount?.()}});let a=new Map,o;function s(e){e.revision++,e.controller?.abort(),e.channel?.close(),delete e.channel,delete e.controller,e.connecting=!1,e.pending!==void 0&&(e.status=`Channel closed. Admission is uncertain; reconnect before retrying. Questions are never resent automatically.`)}let c=()=>{for(let e of a.values())s(e)};r.addEventListener(`abort`,c,{once:!0});function l(e){let t=JSON.stringify([e.machine.id,e.workspace.projectId,e.workspace.id]),n=a.get(t);return n||(n={entries:[],status:`Connecting to Captain's Log…`,connecting:!1,revision:0,readRevision:0,updates:new Map},a.set(t,n)),o!==n&&(o&&s(o),o=n),n}function u(e,t){e.updates.set(t.id,t),e.entries=[t,...e.entries.filter(e=>e.id!==t.id)].sort((e,t)=>t.createdAt.localeCompare(e.createdAt)),(!e.selected||e.selected.id===t.id||t.status===`running`)&&(e.selected?.id!==t.id&&e.readRevision++,e.selected=t)}async function d(e,n,i){let a=n.revision,o=++n.readRevision,s=n.updates.get(i);try{if(!e.peer?.request)throw Error(`Captain saved records unavailable`);let c=await e.peer.request(`read`,i,{signal:n.controller?.signal??r});if(a!==n.revision||o!==n.readRevision||r.aborted)return;if(!t(c))throw Error(`Invalid Captain record`);let l=n.updates.get(i)===s?c:n.updates.get(i)??c;n.selected=l,n.updates.set(i,l),n.entries=n.entries.map(e=>e.id===i?l:e),e.host.requestRender()}catch(t){if(a!==n.revision||o!==n.readRevision||r.aborted)return;n.status=String(t),e.host.requestRender()}}async function f(e,n){if(n.channel||n.connecting||r.aborted)return;s(n);let i=n.revision,a=new AbortController;n.controller=a,n.connecting=!0,n.updates.clear();let o=()=>i===n.revision&&!a.signal.aborted&&!r.aborted;n.status=`Connecting to Captain's Log…`,e.host.requestRender();try{if(!e.peer?.openChannel||!e.peer.request)throw Error(`Captain backend channels unavailable on this machine`);let r=await e.peer.openChannel(`log`,null,{signal:a.signal,onData(t){if(o()){if(!it(t))n.status=`Invalid Captain channel frame`,s(n),e.host.requestRender();else{if(t.type===`admitted`&&t.requestId===n.pending)delete n.pending,n.status=`Backend admitted ${t.id}; admission is not completion.`;else if(t.type===`rejected`&&t.requestId===n.pending)delete n.pending,n.status=t.message,n.notice=t.message;else if(t.type===`entry`)u(n,t.entry),n.status=t.saved&&t.entry.status!==`running`?`Backend saved ${t.entry.status} roundtrip.`:`Captain: ${t.entry.stages.at(-1)??t.entry.status}`;else if(t.type===`text`){let e=n.updates.get(t.id);if(e){let r={...e,text:(e.text+t.text).slice(0,48e3)};n.updates.set(t.id,r),n.entries=n.entries.map(e=>e.id===t.id?r:e),n.selected?.id===t.id&&(n.selected=r)}}e.host.requestRender()}}}});if(!o()){r.close();return}n.channel=r,r.closed.then(t=>{o()&&(s(n),n.status=`${t.error?.message??`Channel closed`}. Admission may be uncertain. Reconnect to restore saved state; translations are never resent automatically.`,e.host.requestRender())});let i=await e.peer.request(`list`,null,{signal:a.signal});if(!o())return;if(!Array.isArray(i)||!i.every(t))throw Error(`Invalid Captain snapshot`);n.entries=[...n.updates.values(),...i.filter(e=>e.sourceSessionId!==void 0&&!n.updates.has(e.id))].sort((e,t)=>t.createdAt.localeCompare(e.createdAt)),delete n.pending;let c=n.selected?.id??n.entries[0]?.id;if(c!==void 0&&n.entries.some(e=>e.id===c)){let t=n.updates.get(c);t?n.selected=t:await d(e,n,c)}else delete n.selected;if(!o())return;n.status=`Connected. Live updates arrive from the backend.`,delete n.notice,n.connecting=!1,e.host.requestRender()}catch(t){if(!o())return;s(n),n.status=`${String(t)}. Reconnect explicitly; no translation was resent.`,e.host.requestRender()}}function p(e,t){let n=et(e);if(!n||!t.channel||t.connecting||t.pending!==void 0||r.aborted||t.entries.some(e=>e.status===`running`||e.sessionId===n.id))return;t.pending=crypto.randomUUID(),delete t.notice,t.status=`Translation queued for source session ${n.id}; waiting for backend admission.`;let i={type:`translate`,requestId:t.pending,sourceSessionId:n.id};try{t.channel.send(i)}catch(e){s(t),t.status=`${String(e)}. Admission is uncertain; reconnect before retrying.`}e.host.requestRender()}return{start({capabilities:e}){i=e.resolve($)},contributions:{actions:[{id:`summon`,title:`Open pirate translator`,group:`Captain's Log`,enabled:({state:e})=>!!e.selectedWorkspace,run:({selectWorkspaceTool:e})=>{e(`${n}:log`)}}],workspacePanels:[{id:`log`,title:`Captain's Log`,render(t){let n=l(t),r=et(t);return e`<captains-log-lifetime .stylesheetIntegration=${i} .mount=${()=>{f(t,n)}} .unmount=${()=>{s(n)}} .scope=${n}>
|
|
140
|
+
${nt(e,{...n,connected:n.channel!==void 0&&t.peer?.openChannel!==void 0,pending:n.pending!==void 0,machineName:t.machine.name,...r?{source:r}:{},onTranslate(){p(t,n)},onReconnect(){f(t,n)},onRead(e){d(t,n,e)},onOpenSource(e){t.navigate({machineId:t.machine.id,projectId:t.workspace.projectId,workspaceId:t.workspace.id,sessionId:e,view:`chat`})}})}
|
|
141
|
+
</captains-log-lifetime>`}}]},dispose(){c(),r.removeEventListener(`abort`,c),a.clear()}}}};export{ot as default};
|
|
@@ -25,9 +25,9 @@ export function renderCaptainPanel(html, view) {
|
|
|
25
25
|
<section class="captains-log" aria-label="Captain's Log">
|
|
26
26
|
<div class="captain-heading"><h2>⚓ Captain's Log</h2><p class="muted">Your last reply, retold by a theatrical pirate.</p></div>
|
|
27
27
|
<div class="captain-source"><span class="muted">Selected session</span><strong>${view.source?.name ?? "No session selected"}</strong></div>
|
|
28
|
-
<button class="captain-primary" ?disabled=${disabled} @click=${view.onTranslate}>Let the Captain tell it</button>
|
|
28
|
+
<button class="ui-button ui-button--primary captain-primary" ?disabled=${disabled} @click=${view.onTranslate}>Let the Captain tell it</button>
|
|
29
29
|
<p class="captain-status" role="status" aria-live="polite">${status}
|
|
30
|
-
${!view.connected && !view.connecting ? html `<button @click=${view.onReconnect}>Reconnect</button>` : null}
|
|
30
|
+
${!view.connected && !view.connecting ? html `<button class="ui-button ui-button--compact" @click=${view.onReconnect}>Reconnect</button>` : null}
|
|
31
31
|
</p>
|
|
32
32
|
${!view.connected && !view.connecting ? html `<p class="captain-notice">Reconnect to see the result. The captain may still be working; your request will not be sent again.</p>` : null}
|
|
33
33
|
${view.notice !== undefined && view.notice !== "" ? html `<p class="captain-notice" role="alert">${view.notice}</p>` : null}
|
|
@@ -36,11 +36,11 @@ export function renderCaptainPanel(html, view) {
|
|
|
36
36
|
${selected.status === "completed" ? html `<div class="captain-answer">${selected.text ? renderCaptainMarkdown(html, selected.text) : "Receiving the captain's reply…"}</div>`
|
|
37
37
|
: selected.status === "running" ? html `<p class="muted">Reading the source reply and turning it into pirate. No message is sent to the source conversation.</p>`
|
|
38
38
|
: html `<div class="captain-notice" role="alert"><strong>${selected.status === "interrupted" ? "Translation interrupted" : "Couldn't translate that reply"}</strong><p>${selected.text || "Check Diagnostics for details, then try again when the session is ready."}</p></div>`}
|
|
39
|
-
${sourceSessionId !== undefined && sourceSessionId !== "" ? html `<button @click=${() => { view.onOpenSource(sourceSessionId); }}>Open source session</button>` : null}
|
|
39
|
+
${sourceSessionId !== undefined && sourceSessionId !== "" ? html `<button class="ui-button" @click=${() => { view.onOpenSource(sourceSessionId); }}>Open source session</button>` : null}
|
|
40
40
|
</article>` : html `<p class="captain-empty muted">Pick a conversation, then translate its latest finished assistant reply. The original stays untouched.</p>`}
|
|
41
41
|
<div class="captain-secondary">
|
|
42
42
|
${view.entries.length > 1 ? html `<details><summary>Previous translations <span class="muted">(${view.entries.length})</span></summary>
|
|
43
|
-
<div class="captain-history">${view.entries.map((entry) => html `<button class=${entry.id === selected?.id ? "selected" : ""} ?disabled=${!view.connected} @click=${() => { view.onRead(entry.id); }}>
|
|
43
|
+
<div class="captain-history">${view.entries.map((entry) => html `<button class=${`ui-button${entry.id === selected?.id ? " selected" : ""}`} aria-pressed=${entry.id === selected?.id ? "true" : "false"} ?disabled=${!view.connected} @click=${() => { view.onRead(entry.id); }}>
|
|
44
44
|
<span>${dateLabel(entry.createdAt)} · ${entry.status === "completed" ? "Translated" : entry.status === "running" ? "Working" : "Not completed"}</span>
|
|
45
45
|
</button>`)}</div>
|
|
46
46
|
</details>` : null}
|
|
@@ -53,18 +53,14 @@ export function renderCaptainPanel(html, view) {
|
|
|
53
53
|
</div>
|
|
54
54
|
</section>`;
|
|
55
55
|
}
|
|
56
|
-
//
|
|
56
|
+
// Content layout stays package-scoped; native buttons use the host UI styles capability.
|
|
57
57
|
const styles = `
|
|
58
58
|
captains-log-lifetime { display: block; min-width: 0; }
|
|
59
59
|
.captains-log { box-sizing: border-box; padding: 16px; min-width: 0; color: inherit; font: inherit; line-height: 1.5; }
|
|
60
60
|
.captains-log *, .captains-log *::before, .captains-log *::after { box-sizing: border-box; }
|
|
61
61
|
.captains-log h2, .captains-log p { margin: 0; }
|
|
62
62
|
.captains-log h2 { font-size: 15px; }
|
|
63
|
-
.captains-log
|
|
64
|
-
.captains-log button:hover:not(:disabled) { background: var(--pi-surface-hover); }
|
|
65
|
-
.captains-log button:disabled { opacity: .5; cursor: not-allowed; }
|
|
66
|
-
.captains-log button:focus-visible, .captains-log summary:focus-visible { outline: 2px solid var(--pi-accent); outline-offset: 2px; }
|
|
67
|
-
.captains-log .captain-primary { border-color: var(--pi-accent-border); background: var(--pi-selection-bg); padding: 8px 12px; }
|
|
63
|
+
.captains-log summary:focus-visible { outline: 2px solid var(--pi-accent); outline-offset: 2px; }
|
|
68
64
|
.captains-log .captain-source { display: grid; gap: 3px; margin: 18px 0 12px; padding: 10px 12px; background: var(--pi-surface); border: 1px solid var(--pi-border-muted); border-radius: 8px; overflow-wrap: anywhere; }
|
|
69
65
|
.captains-log .captain-source span { font-size: 11px; }
|
|
70
66
|
.captains-log .captain-status { display: flex; align-items: center; flex-wrap: wrap; gap: 8px; margin: 10px 0 16px; color: var(--pi-muted); font-size: 12px; }
|
|
@@ -100,7 +96,7 @@ const styles = `
|
|
|
100
96
|
.captains-log summary { cursor: pointer; color: var(--pi-muted); }
|
|
101
97
|
.captains-log details p { margin: 8px 0; overflow-wrap: anywhere; }
|
|
102
98
|
.captains-log .captain-history { display: grid; gap: 6px; padding-top: 8px; }
|
|
103
|
-
.captains-log .captain-history button { text-align: left; min-width: 0; }
|
|
99
|
+
.captains-log .captain-history button { justify-content: flex-start; text-align: left; min-width: 0; }
|
|
104
100
|
.captains-log dl { display: grid; grid-template-columns: auto minmax(0, 1fr); gap: 4px 10px; font-size: 11px; }
|
|
105
101
|
.captains-log dd { margin: 0; overflow-wrap: anywhere; }
|
|
106
102
|
.captains-log .captain-footnote { font-size: 11px; margin-top: 10px; }
|