@mariozechner/pi-web-ui 0.5.44 → 0.5.46
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/README.md +178 -99
- package/dist/ChatPanel.d.ts +15 -10
- package/dist/ChatPanel.d.ts.map +1 -1
- package/dist/ChatPanel.js +68 -100
- package/dist/ChatPanel.js.map +1 -1
- package/dist/{state/agent-session.d.ts → agent/agent.d.ts} +23 -19
- package/dist/agent/agent.d.ts.map +1 -0
- package/dist/{state/agent-session.js → agent/agent.js} +50 -32
- package/dist/agent/agent.js.map +1 -0
- package/dist/{state → agent}/transports/AppTransport.d.ts +1 -3
- package/dist/agent/transports/AppTransport.d.ts.map +1 -0
- package/dist/{state → agent}/transports/AppTransport.js +5 -4
- package/dist/{state → agent}/transports/AppTransport.js.map +1 -1
- package/dist/{state → agent}/transports/ProviderTransport.d.ts +1 -3
- package/dist/agent/transports/ProviderTransport.d.ts.map +1 -0
- package/dist/{state → agent}/transports/ProviderTransport.js +6 -7
- package/dist/agent/transports/ProviderTransport.js.map +1 -0
- package/dist/{state → agent}/transports/index.d.ts.map +1 -1
- package/dist/agent/transports/index.js.map +1 -0
- package/dist/{state → agent}/transports/proxy-types.d.ts.map +1 -1
- package/dist/agent/transports/proxy-types.js.map +1 -0
- package/dist/agent/transports/types.d.ts +12 -0
- package/dist/agent/transports/types.d.ts.map +1 -0
- package/dist/{state → agent}/transports/types.js.map +1 -1
- package/dist/{state → agent}/types.d.ts.map +1 -1
- package/dist/{state → agent}/types.js.map +1 -1
- package/dist/app.css +1 -1
- package/dist/components/AgentInterface.d.ts +7 -4
- package/dist/components/AgentInterface.d.ts.map +1 -1
- package/dist/components/AgentInterface.js +29 -17
- package/dist/components/AgentInterface.js.map +1 -1
- package/dist/components/ConsoleBlock.d.ts +1 -0
- package/dist/components/ConsoleBlock.d.ts.map +1 -1
- package/dist/components/ConsoleBlock.js +7 -1
- package/dist/components/ConsoleBlock.js.map +1 -1
- package/dist/components/ExpandableSection.d.ts +15 -0
- package/dist/components/ExpandableSection.d.ts.map +1 -0
- package/dist/components/ExpandableSection.js +63 -0
- package/dist/components/ExpandableSection.js.map +1 -0
- package/dist/components/MessageEditor.d.ts +8 -1
- package/dist/components/MessageEditor.d.ts.map +1 -1
- package/dist/components/MessageEditor.js +149 -6
- package/dist/components/MessageEditor.js.map +1 -1
- package/dist/components/MessageList.d.ts +3 -2
- package/dist/components/MessageList.d.ts.map +1 -1
- package/dist/components/MessageList.js +14 -1
- package/dist/components/MessageList.js.map +1 -1
- package/dist/components/Messages.d.ts +15 -6
- package/dist/components/Messages.d.ts.map +1 -1
- package/dist/components/Messages.js +17 -83
- package/dist/components/Messages.js.map +1 -1
- package/dist/components/ProviderKeyInput.d.ts.map +1 -1
- package/dist/components/ProviderKeyInput.js +6 -5
- package/dist/components/ProviderKeyInput.js.map +1 -1
- package/dist/components/SandboxedIframe.d.ts +29 -7
- package/dist/components/SandboxedIframe.d.ts.map +1 -1
- package/dist/components/SandboxedIframe.js +350 -282
- package/dist/components/SandboxedIframe.js.map +1 -1
- package/dist/components/message-renderer-registry.d.ts +12 -0
- package/dist/components/message-renderer-registry.d.ts.map +1 -0
- package/dist/components/message-renderer-registry.js +12 -0
- package/dist/components/message-renderer-registry.js.map +1 -0
- package/dist/components/sandbox/ArtifactsRuntimeProvider.d.ts +35 -0
- package/dist/components/sandbox/ArtifactsRuntimeProvider.d.ts.map +1 -0
- package/dist/components/sandbox/ArtifactsRuntimeProvider.js +189 -0
- package/dist/components/sandbox/ArtifactsRuntimeProvider.js.map +1 -0
- package/dist/components/sandbox/AttachmentsRuntimeProvider.d.ts +17 -0
- package/dist/components/sandbox/AttachmentsRuntimeProvider.d.ts.map +1 -0
- package/dist/components/sandbox/AttachmentsRuntimeProvider.js +64 -0
- package/dist/components/sandbox/AttachmentsRuntimeProvider.js.map +1 -0
- package/dist/components/sandbox/ConsoleRuntimeProvider.d.ts +42 -0
- package/dist/components/sandbox/ConsoleRuntimeProvider.d.ts.map +1 -0
- package/dist/components/sandbox/ConsoleRuntimeProvider.js +161 -0
- package/dist/components/sandbox/ConsoleRuntimeProvider.js.map +1 -0
- package/dist/components/sandbox/FileDownloadRuntimeProvider.d.ts +30 -0
- package/dist/components/sandbox/FileDownloadRuntimeProvider.d.ts.map +1 -0
- package/dist/components/sandbox/FileDownloadRuntimeProvider.js +97 -0
- package/dist/components/sandbox/FileDownloadRuntimeProvider.js.map +1 -0
- package/dist/components/sandbox/RuntimeMessageBridge.d.ts +19 -0
- package/dist/components/sandbox/RuntimeMessageBridge.d.ts.map +1 -0
- package/dist/components/sandbox/RuntimeMessageBridge.js +74 -0
- package/dist/components/sandbox/RuntimeMessageBridge.js.map +1 -0
- package/dist/components/sandbox/RuntimeMessageRouter.d.ts +65 -0
- package/dist/components/sandbox/RuntimeMessageRouter.d.ts.map +1 -0
- package/dist/components/sandbox/RuntimeMessageRouter.js +168 -0
- package/dist/components/sandbox/RuntimeMessageRouter.js.map +1 -0
- package/dist/components/sandbox/SandboxRuntimeProvider.d.ts +33 -0
- package/dist/components/sandbox/SandboxRuntimeProvider.d.ts.map +1 -0
- package/dist/components/sandbox/SandboxRuntimeProvider.js +2 -0
- package/dist/components/sandbox/SandboxRuntimeProvider.js.map +1 -0
- package/dist/dialogs/ApiKeyPromptDialog.d.ts.map +1 -1
- package/dist/dialogs/ApiKeyPromptDialog.js +2 -5
- package/dist/dialogs/ApiKeyPromptDialog.js.map +1 -1
- package/dist/dialogs/ModelSelector.js.map +1 -1
- package/dist/dialogs/PersistentStorageDialog.d.ts +17 -0
- package/dist/dialogs/PersistentStorageDialog.d.ts.map +1 -0
- package/dist/dialogs/PersistentStorageDialog.js +144 -0
- package/dist/dialogs/PersistentStorageDialog.js.map +1 -0
- package/dist/dialogs/SessionListDialog.d.ts +19 -0
- package/dist/dialogs/SessionListDialog.d.ts.map +1 -0
- package/dist/dialogs/SessionListDialog.js +152 -0
- package/dist/dialogs/SessionListDialog.js.map +1 -0
- package/dist/dialogs/SettingsDialog.d.ts.map +1 -1
- package/dist/dialogs/SettingsDialog.js +1 -0
- package/dist/dialogs/SettingsDialog.js.map +1 -1
- package/dist/index.d.ts +34 -16
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +32 -14
- package/dist/index.js.map +1 -1
- package/dist/prompts/prompts.d.ts +11 -0
- package/dist/prompts/prompts.d.ts.map +1 -0
- package/dist/prompts/prompts.js +272 -0
- package/dist/prompts/prompts.js.map +1 -0
- package/dist/storage/app-storage.d.ts +17 -12
- package/dist/storage/app-storage.d.ts.map +1 -1
- package/dist/storage/app-storage.js +13 -20
- package/dist/storage/app-storage.js.map +1 -1
- package/dist/storage/backends/indexeddb-storage-backend.d.ts +27 -0
- package/dist/storage/backends/indexeddb-storage-backend.d.ts.map +1 -0
- package/dist/storage/backends/indexeddb-storage-backend.js +166 -0
- package/dist/storage/backends/indexeddb-storage-backend.js.map +1 -0
- package/dist/storage/store.d.ts +23 -0
- package/dist/storage/store.d.ts.map +1 -0
- package/dist/storage/store.js +26 -0
- package/dist/storage/store.js.map +1 -0
- package/dist/storage/stores/provider-keys-store.d.ts +14 -0
- package/dist/storage/stores/provider-keys-store.d.ts.map +1 -0
- package/dist/storage/stores/provider-keys-store.js +27 -0
- package/dist/storage/stores/provider-keys-store.js.map +1 -0
- package/dist/storage/stores/sessions-store.d.ts +31 -0
- package/dist/storage/stores/sessions-store.d.ts.map +1 -0
- package/dist/storage/stores/sessions-store.js +113 -0
- package/dist/storage/stores/sessions-store.js.map +1 -0
- package/dist/storage/stores/settings-store.d.ts +14 -0
- package/dist/storage/stores/settings-store.d.ts.map +1 -0
- package/dist/storage/stores/settings-store.js +28 -0
- package/dist/storage/stores/settings-store.js.map +1 -0
- package/dist/storage/types.d.ts +156 -22
- package/dist/storage/types.d.ts.map +1 -1
- package/dist/tools/artifacts/ArtifactElement.d.ts +0 -1
- package/dist/tools/artifacts/ArtifactElement.d.ts.map +1 -1
- package/dist/tools/artifacts/ArtifactElement.js +0 -1
- package/dist/tools/artifacts/ArtifactElement.js.map +1 -1
- package/dist/tools/artifacts/ArtifactPill.d.ts +4 -0
- package/dist/tools/artifacts/ArtifactPill.d.ts.map +1 -0
- package/dist/tools/artifacts/ArtifactPill.js +22 -0
- package/dist/tools/artifacts/ArtifactPill.js.map +1 -0
- package/dist/tools/artifacts/Console.d.ts +18 -0
- package/dist/tools/artifacts/Console.d.ts.map +1 -0
- package/dist/tools/artifacts/Console.js +95 -0
- package/dist/tools/artifacts/Console.js.map +1 -0
- package/dist/tools/artifacts/DocxArtifact.d.ts +22 -0
- package/dist/tools/artifacts/DocxArtifact.d.ts.map +1 -0
- package/dist/tools/artifacts/DocxArtifact.js +208 -0
- package/dist/tools/artifacts/DocxArtifact.js.map +1 -0
- package/dist/tools/artifacts/ExcelArtifact.d.ts +24 -0
- package/dist/tools/artifacts/ExcelArtifact.d.ts.map +1 -0
- package/dist/tools/artifacts/ExcelArtifact.js +216 -0
- package/dist/tools/artifacts/ExcelArtifact.js.map +1 -0
- package/dist/tools/artifacts/GenericArtifact.d.ts +19 -0
- package/dist/tools/artifacts/GenericArtifact.d.ts.map +1 -0
- package/dist/tools/artifacts/GenericArtifact.js +117 -0
- package/dist/tools/artifacts/GenericArtifact.js.map +1 -0
- package/dist/tools/artifacts/HtmlArtifact.d.ts +8 -11
- package/dist/tools/artifacts/HtmlArtifact.d.ts.map +1 -1
- package/dist/tools/artifacts/HtmlArtifact.js +56 -88
- package/dist/tools/artifacts/HtmlArtifact.js.map +1 -1
- package/dist/tools/artifacts/ImageArtifact.d.ts +20 -0
- package/dist/tools/artifacts/ImageArtifact.d.ts.map +1 -0
- package/dist/tools/artifacts/ImageArtifact.js +120 -0
- package/dist/tools/artifacts/ImageArtifact.js.map +1 -0
- package/dist/tools/artifacts/MarkdownArtifact.d.ts +0 -1
- package/dist/tools/artifacts/MarkdownArtifact.d.ts.map +1 -1
- package/dist/tools/artifacts/MarkdownArtifact.js +0 -4
- package/dist/tools/artifacts/MarkdownArtifact.js.map +1 -1
- package/dist/tools/artifacts/PdfArtifact.d.ts +25 -0
- package/dist/tools/artifacts/PdfArtifact.d.ts.map +1 -0
- package/dist/tools/artifacts/PdfArtifact.js +184 -0
- package/dist/tools/artifacts/PdfArtifact.js.map +1 -0
- package/dist/tools/artifacts/SvgArtifact.d.ts +0 -1
- package/dist/tools/artifacts/SvgArtifact.d.ts.map +1 -1
- package/dist/tools/artifacts/SvgArtifact.js +0 -4
- package/dist/tools/artifacts/SvgArtifact.js.map +1 -1
- package/dist/tools/artifacts/TextArtifact.d.ts +0 -1
- package/dist/tools/artifacts/TextArtifact.d.ts.map +1 -1
- package/dist/tools/artifacts/TextArtifact.js +0 -4
- package/dist/tools/artifacts/TextArtifact.js.map +1 -1
- package/dist/tools/artifacts/artifacts-tool-renderer.d.ts +11 -0
- package/dist/tools/artifacts/artifacts-tool-renderer.d.ts.map +1 -0
- package/dist/tools/artifacts/artifacts-tool-renderer.js +262 -0
- package/dist/tools/artifacts/artifacts-tool-renderer.js.map +1 -0
- package/dist/tools/artifacts/artifacts.d.ts +10 -13
- package/dist/tools/artifacts/artifacts.d.ts.map +1 -1
- package/dist/tools/artifacts/artifacts.js +166 -344
- package/dist/tools/artifacts/artifacts.js.map +1 -1
- package/dist/tools/artifacts/index.d.ts +1 -0
- package/dist/tools/artifacts/index.d.ts.map +1 -1
- package/dist/tools/artifacts/index.js +1 -0
- package/dist/tools/artifacts/index.js.map +1 -1
- package/dist/tools/extract-document.d.ts +24 -0
- package/dist/tools/extract-document.d.ts.map +1 -0
- package/dist/tools/extract-document.js +193 -0
- package/dist/tools/extract-document.js.map +1 -0
- package/dist/tools/index.d.ts +9 -7
- package/dist/tools/index.d.ts.map +1 -1
- package/dist/tools/index.js +17 -13
- package/dist/tools/index.js.map +1 -1
- package/dist/tools/javascript-repl.d.ts +16 -15
- package/dist/tools/javascript-repl.d.ts.map +1 -1
- package/dist/tools/javascript-repl.js +101 -133
- package/dist/tools/javascript-repl.js.map +1 -1
- package/dist/tools/renderer-registry.d.ts +12 -0
- package/dist/tools/renderer-registry.d.ts.map +1 -1
- package/dist/tools/renderer-registry.js +78 -0
- package/dist/tools/renderer-registry.js.map +1 -1
- package/dist/tools/renderers/BashRenderer.d.ts +2 -4
- package/dist/tools/renderers/BashRenderer.d.ts.map +1 -1
- package/dist/tools/renderers/BashRenderer.js +30 -26
- package/dist/tools/renderers/BashRenderer.js.map +1 -1
- package/dist/tools/renderers/CalculateRenderer.d.ts +2 -4
- package/dist/tools/renderers/CalculateRenderer.d.ts.map +1 -1
- package/dist/tools/renderers/CalculateRenderer.js +32 -28
- package/dist/tools/renderers/CalculateRenderer.js.map +1 -1
- package/dist/tools/renderers/DefaultRenderer.d.ts +2 -4
- package/dist/tools/renderers/DefaultRenderer.d.ts.map +1 -1
- package/dist/tools/renderers/DefaultRenderer.js +78 -18
- package/dist/tools/renderers/DefaultRenderer.js.map +1 -1
- package/dist/tools/renderers/GetCurrentTimeRenderer.d.ts +2 -4
- package/dist/tools/renderers/GetCurrentTimeRenderer.d.ts.map +1 -1
- package/dist/tools/renderers/GetCurrentTimeRenderer.js +57 -21
- package/dist/tools/renderers/GetCurrentTimeRenderer.js.map +1 -1
- package/dist/tools/types.d.ts +5 -2
- package/dist/tools/types.d.ts.map +1 -1
- package/dist/utils/i18n.d.ts +424 -1
- package/dist/utils/i18n.d.ts.map +1 -1
- package/dist/utils/i18n.js +131 -7
- package/dist/utils/i18n.js.map +1 -1
- package/example/package.json +2 -1
- package/example/src/custom-messages.ts +112 -0
- package/example/src/main.ts +391 -38
- package/package.json +48 -43
- package/scripts/count-prompt-tokens.ts +88 -0
- package/src/ChatPanel.ts +93 -101
- package/src/{state/agent-session.ts → agent/agent.ts} +80 -55
- package/src/{state → agent}/transports/AppTransport.ts +6 -6
- package/src/{state → agent}/transports/ProviderTransport.ts +13 -7
- package/src/{state → agent}/transports/types.ts +8 -2
- package/src/components/AgentInterface.ts +32 -16
- package/src/components/ConsoleBlock.ts +5 -1
- package/src/components/ExpandableSection.ts +46 -0
- package/src/components/MessageEditor.ts +159 -5
- package/src/components/MessageList.ts +18 -3
- package/src/components/Messages.ts +48 -89
- package/src/components/ProviderKeyInput.ts +6 -5
- package/src/components/SandboxedIframe.ts +412 -321
- package/src/components/message-renderer-registry.ts +28 -0
- package/src/components/sandbox/ArtifactsRuntimeProvider.ts +219 -0
- package/src/components/sandbox/AttachmentsRuntimeProvider.ts +66 -0
- package/src/components/sandbox/ConsoleRuntimeProvider.ts +187 -0
- package/src/components/sandbox/FileDownloadRuntimeProvider.ts +110 -0
- package/src/components/sandbox/RuntimeMessageBridge.ts +82 -0
- package/src/components/sandbox/RuntimeMessageRouter.ts +216 -0
- package/src/components/sandbox/SandboxRuntimeProvider.ts +35 -0
- package/src/dialogs/ApiKeyPromptDialog.ts +2 -5
- package/src/dialogs/ModelSelector.ts +2 -2
- package/src/dialogs/PersistentStorageDialog.ts +141 -0
- package/src/dialogs/SessionListDialog.ts +148 -0
- package/src/dialogs/SettingsDialog.ts +1 -0
- package/src/index.ts +61 -20
- package/src/prompts/prompts.ts +282 -0
- package/src/storage/app-storage.ts +27 -24
- package/src/storage/backends/indexeddb-storage-backend.ts +193 -0
- package/src/storage/store.ts +33 -0
- package/src/storage/stores/provider-keys-store.ts +33 -0
- package/src/storage/stores/sessions-store.ts +130 -0
- package/src/storage/stores/settings-store.ts +34 -0
- package/src/storage/types.ts +182 -22
- package/src/tools/artifacts/ArtifactElement.ts +0 -1
- package/src/tools/artifacts/ArtifactPill.ts +25 -0
- package/src/tools/artifacts/Console.ts +93 -0
- package/src/tools/artifacts/DocxArtifact.ts +213 -0
- package/src/tools/artifacts/ExcelArtifact.ts +231 -0
- package/src/tools/artifacts/GenericArtifact.ts +117 -0
- package/src/tools/artifacts/HtmlArtifact.ts +64 -94
- package/src/tools/artifacts/ImageArtifact.ts +116 -0
- package/src/tools/artifacts/MarkdownArtifact.ts +0 -1
- package/src/tools/artifacts/PdfArtifact.ts +201 -0
- package/src/tools/artifacts/SvgArtifact.ts +0 -1
- package/src/tools/artifacts/TextArtifact.ts +0 -1
- package/src/tools/artifacts/artifacts-tool-renderer.ts +298 -0
- package/src/tools/artifacts/artifacts.ts +190 -366
- package/src/tools/artifacts/index.ts +1 -0
- package/src/tools/extract-document.ts +250 -0
- package/src/tools/index.ts +25 -14
- package/src/tools/javascript-repl.ts +138 -160
- package/src/tools/renderer-registry.ts +98 -0
- package/src/tools/renderers/BashRenderer.ts +33 -30
- package/src/tools/renderers/CalculateRenderer.ts +36 -31
- package/src/tools/renderers/DefaultRenderer.ts +84 -21
- package/src/tools/renderers/GetCurrentTimeRenderer.ts +68 -23
- package/src/tools/types.ts +10 -2
- package/src/utils/i18n.ts +203 -8
- package/dist/state/agent-session.d.ts.map +0 -1
- package/dist/state/agent-session.js.map +0 -1
- package/dist/state/transports/AppTransport.d.ts.map +0 -1
- package/dist/state/transports/ProviderTransport.d.ts.map +0 -1
- package/dist/state/transports/ProviderTransport.js.map +0 -1
- package/dist/state/transports/index.js.map +0 -1
- package/dist/state/transports/proxy-types.js.map +0 -1
- package/dist/state/transports/types.d.ts +0 -11
- package/dist/state/transports/types.d.ts.map +0 -1
- package/dist/storage/backends/chrome-storage-backend.d.ts +0 -18
- package/dist/storage/backends/chrome-storage-backend.d.ts.map +0 -1
- package/dist/storage/backends/chrome-storage-backend.js +0 -67
- package/dist/storage/backends/chrome-storage-backend.js.map +0 -1
- package/dist/storage/backends/indexeddb-backend.d.ts +0 -20
- package/dist/storage/backends/indexeddb-backend.d.ts.map +0 -1
- package/dist/storage/backends/indexeddb-backend.js +0 -89
- package/dist/storage/backends/indexeddb-backend.js.map +0 -1
- package/dist/storage/backends/local-storage-backend.d.ts +0 -18
- package/dist/storage/backends/local-storage-backend.d.ts.map +0 -1
- package/dist/storage/backends/local-storage-backend.js +0 -69
- package/dist/storage/backends/local-storage-backend.js.map +0 -1
- package/dist/storage/repositories/provider-keys-repository.d.ts +0 -34
- package/dist/storage/repositories/provider-keys-repository.d.ts.map +0 -1
- package/dist/storage/repositories/provider-keys-repository.js +0 -50
- package/dist/storage/repositories/provider-keys-repository.js.map +0 -1
- package/dist/storage/repositories/settings-repository.d.ts +0 -34
- package/dist/storage/repositories/settings-repository.d.ts.map +0 -1
- package/dist/storage/repositories/settings-repository.js +0 -46
- package/dist/storage/repositories/settings-repository.js.map +0 -1
- package/src/storage/backends/chrome-storage-backend.ts +0 -82
- package/src/storage/backends/indexeddb-backend.ts +0 -107
- package/src/storage/backends/local-storage-backend.ts +0 -74
- package/src/storage/repositories/provider-keys-repository.ts +0 -55
- package/src/storage/repositories/settings-repository.ts +0 -51
- /package/dist/{state → agent}/transports/index.d.ts +0 -0
- /package/dist/{state → agent}/transports/index.js +0 -0
- /package/dist/{state → agent}/transports/proxy-types.d.ts +0 -0
- /package/dist/{state → agent}/transports/proxy-types.js +0 -0
- /package/dist/{state → agent}/transports/types.js +0 -0
- /package/dist/{state → agent}/types.d.ts +0 -0
- /package/dist/{state → agent}/types.js +0 -0
- /package/src/{state → agent}/transports/index.ts +0 -0
- /package/src/{state → agent}/transports/proxy-types.ts +0 -0
- /package/src/{state → agent}/types.ts +0 -0
package/dist/ChatPanel.js
CHANGED
|
@@ -5,15 +5,13 @@ var __decorate = (this && this.__decorate) || function (decorators, target, key,
|
|
|
5
5
|
return c > 3 && r && Object.defineProperty(target, key, r), r;
|
|
6
6
|
};
|
|
7
7
|
import { Badge, html } from "@mariozechner/mini-lit";
|
|
8
|
-
import { getModel } from "@mariozechner/pi-ai";
|
|
9
8
|
import { LitElement } from "lit";
|
|
10
|
-
import { customElement,
|
|
9
|
+
import { customElement, state } from "lit/decorators.js";
|
|
11
10
|
import "./components/AgentInterface.js";
|
|
12
|
-
import {
|
|
13
|
-
import {
|
|
14
|
-
import {
|
|
11
|
+
import { ArtifactsRuntimeProvider } from "./components/sandbox/ArtifactsRuntimeProvider.js";
|
|
12
|
+
import { AttachmentsRuntimeProvider } from "./components/sandbox/AttachmentsRuntimeProvider.js";
|
|
13
|
+
import { ArtifactsPanel, ArtifactsToolRenderer } from "./tools/artifacts/index.js";
|
|
15
14
|
import { registerToolRenderer } from "./tools/renderer-registry.js";
|
|
16
|
-
import { getAuthToken } from "./utils/auth-token.js";
|
|
17
15
|
import { i18n } from "./utils/i18n.js";
|
|
18
16
|
const BREAKPOINT = 800; // px - switch between overlay and side-by-side
|
|
19
17
|
let ChatPanel = class ChatPanel extends LitElement {
|
|
@@ -22,9 +20,7 @@ let ChatPanel = class ChatPanel extends LitElement {
|
|
|
22
20
|
this.hasArtifacts = false;
|
|
23
21
|
this.artifactCount = 0;
|
|
24
22
|
this.showArtifactsPanel = false;
|
|
25
|
-
this.windowWidth =
|
|
26
|
-
this.systemPrompt = "You are a helpful AI assistant.";
|
|
27
|
-
this.additionalTools = [];
|
|
23
|
+
this.windowWidth = 0;
|
|
28
24
|
this.resizeHandler = () => {
|
|
29
25
|
this.windowWidth = window.innerWidth;
|
|
30
26
|
this.requestUpdate();
|
|
@@ -33,56 +29,67 @@ let ChatPanel = class ChatPanel extends LitElement {
|
|
|
33
29
|
createRenderRoot() {
|
|
34
30
|
return this;
|
|
35
31
|
}
|
|
36
|
-
|
|
32
|
+
connectedCallback() {
|
|
37
33
|
super.connectedCallback();
|
|
38
|
-
//
|
|
34
|
+
this.windowWidth = window.innerWidth; // Set initial width after connection
|
|
39
35
|
window.addEventListener("resize", this.resizeHandler);
|
|
40
|
-
// Ensure panel fills height and allows flex layout
|
|
41
36
|
this.style.display = "flex";
|
|
42
37
|
this.style.flexDirection = "column";
|
|
43
38
|
this.style.height = "100%";
|
|
44
39
|
this.style.minHeight = "0";
|
|
45
|
-
//
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
}
|
|
40
|
+
// Update width after initial render
|
|
41
|
+
requestAnimationFrame(() => {
|
|
42
|
+
this.windowWidth = window.innerWidth;
|
|
43
|
+
this.requestUpdate();
|
|
44
|
+
});
|
|
45
|
+
}
|
|
46
|
+
disconnectedCallback() {
|
|
47
|
+
super.disconnectedCallback();
|
|
48
|
+
window.removeEventListener("resize", this.resizeHandler);
|
|
49
|
+
}
|
|
50
|
+
async setAgent(agent, config) {
|
|
51
|
+
this.agent = agent;
|
|
52
|
+
// Create AgentInterface
|
|
53
|
+
this.agentInterface = document.createElement("agent-interface");
|
|
54
|
+
this.agentInterface.session = agent;
|
|
55
|
+
this.agentInterface.enableAttachments = true;
|
|
56
|
+
this.agentInterface.enableModelSelector = true;
|
|
57
|
+
this.agentInterface.enableThinkingSelector = true;
|
|
58
|
+
this.agentInterface.showThemeToggle = false;
|
|
59
|
+
this.agentInterface.onApiKeyRequired = config?.onApiKeyRequired;
|
|
60
|
+
this.agentInterface.onBeforeSend = config?.onBeforeSend;
|
|
50
61
|
// Set up artifacts panel
|
|
51
62
|
this.artifactsPanel = new ArtifactsPanel();
|
|
52
|
-
|
|
53
|
-
|
|
63
|
+
this.artifactsPanel.agent = agent; // Pass agent for HTML artifact runtime providers
|
|
64
|
+
if (config?.sandboxUrlProvider) {
|
|
65
|
+
this.artifactsPanel.sandboxUrlProvider = config.sandboxUrlProvider;
|
|
54
66
|
}
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
67
|
+
// Register the standalone tool renderer (not the panel itself)
|
|
68
|
+
registerToolRenderer("artifacts", new ArtifactsToolRenderer(this.artifactsPanel));
|
|
69
|
+
// Runtime providers factory for REPL tools (read-write access)
|
|
70
|
+
const runtimeProvidersFactory = () => {
|
|
59
71
|
const attachments = [];
|
|
60
|
-
for (const message of this.
|
|
72
|
+
for (const message of this.agent.state.messages) {
|
|
61
73
|
if (message.role === "user") {
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
attachments.push({
|
|
66
|
-
id: `image-${attachments.length}`,
|
|
67
|
-
fileName: "image.png",
|
|
68
|
-
mimeType: block.mimeType || "image/png",
|
|
69
|
-
size: 0,
|
|
70
|
-
content: block.data,
|
|
71
|
-
});
|
|
72
|
-
}
|
|
73
|
-
}
|
|
74
|
+
message.attachments?.forEach((a) => {
|
|
75
|
+
attachments.push(a);
|
|
76
|
+
});
|
|
74
77
|
}
|
|
75
78
|
}
|
|
76
|
-
|
|
79
|
+
const providers = [];
|
|
80
|
+
// Add attachments provider if there are attachments
|
|
81
|
+
if (attachments.length > 0) {
|
|
82
|
+
providers.push(new AttachmentsRuntimeProvider(attachments));
|
|
83
|
+
}
|
|
84
|
+
// Add artifacts provider with read-write access (for REPL)
|
|
85
|
+
providers.push(new ArtifactsRuntimeProvider(this.artifactsPanel, this.agent, true));
|
|
86
|
+
return providers;
|
|
77
87
|
};
|
|
78
|
-
javascriptReplTool.attachmentsProvider = getAttachments;
|
|
79
|
-
this.artifactsPanel.attachmentsProvider = getAttachments;
|
|
80
88
|
this.artifactsPanel.onArtifactsChange = () => {
|
|
81
|
-
const count = this.artifactsPanel
|
|
89
|
+
const count = this.artifactsPanel?.artifacts?.size ?? 0;
|
|
82
90
|
const created = count > this.artifactCount;
|
|
83
91
|
this.hasArtifacts = count > 0;
|
|
84
92
|
this.artifactCount = count;
|
|
85
|
-
// Auto-open when new artifacts are created
|
|
86
93
|
if (this.hasArtifacts && created) {
|
|
87
94
|
this.showArtifactsPanel = true;
|
|
88
95
|
}
|
|
@@ -96,42 +103,25 @@ let ChatPanel = class ChatPanel extends LitElement {
|
|
|
96
103
|
this.showArtifactsPanel = true;
|
|
97
104
|
this.requestUpdate();
|
|
98
105
|
};
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
this.
|
|
110
|
-
initialState,
|
|
111
|
-
authTokenProvider: async () => getAuthToken(),
|
|
112
|
-
transportMode: "provider", // Use provider mode by default (API keys from storage, optional CORS proxy)
|
|
113
|
-
});
|
|
114
|
-
// Reconstruct artifacts panel from initial messages (session must exist first)
|
|
115
|
-
await this.artifactsPanel.reconstructFromMessages(initialState.messages);
|
|
106
|
+
// Set tools on the agent
|
|
107
|
+
// Pass runtimeProvidersFactory so consumers can configure their own REPL tools
|
|
108
|
+
const additionalTools = config?.toolsFactory?.(agent, this.agentInterface, this.artifactsPanel, runtimeProvidersFactory) || [];
|
|
109
|
+
const tools = [this.artifactsPanel.tool, ...additionalTools];
|
|
110
|
+
this.agent.setTools(tools);
|
|
111
|
+
// Reconstruct artifacts from existing messages
|
|
112
|
+
// Temporarily disable the onArtifactsChange callback to prevent auto-opening on load
|
|
113
|
+
const originalCallback = this.artifactsPanel.onArtifactsChange;
|
|
114
|
+
this.artifactsPanel.onArtifactsChange = undefined;
|
|
115
|
+
await this.artifactsPanel.reconstructFromMessages(this.agent.state.messages);
|
|
116
|
+
this.artifactsPanel.onArtifactsChange = originalCallback;
|
|
116
117
|
this.hasArtifacts = this.artifactsPanel.artifacts.size > 0;
|
|
117
|
-
|
|
118
|
-
disconnectedCallback() {
|
|
119
|
-
super.disconnectedCallback();
|
|
120
|
-
window.removeEventListener("resize", this.resizeHandler);
|
|
121
|
-
}
|
|
122
|
-
// Expose method to toggle artifacts panel
|
|
123
|
-
toggleArtifactsPanel() {
|
|
124
|
-
this.showArtifactsPanel = !this.showArtifactsPanel;
|
|
118
|
+
this.artifactCount = this.artifactsPanel.artifacts.size;
|
|
125
119
|
this.requestUpdate();
|
|
126
120
|
}
|
|
127
|
-
// Check if artifacts panel is currently visible
|
|
128
|
-
get artifactsPanelVisible() {
|
|
129
|
-
return this.showArtifactsPanel;
|
|
130
|
-
}
|
|
131
121
|
render() {
|
|
132
|
-
if (!this.
|
|
122
|
+
if (!this.agent || !this.agentInterface) {
|
|
133
123
|
return html `<div class="flex items-center justify-center h-full">
|
|
134
|
-
<div class="text-muted-foreground">
|
|
124
|
+
<div class="text-muted-foreground">No agent set</div>
|
|
135
125
|
</div>`;
|
|
136
126
|
}
|
|
137
127
|
const isMobile = this.windowWidth < BREAKPOINT;
|
|
@@ -143,15 +133,7 @@ let ChatPanel = class ChatPanel extends LitElement {
|
|
|
143
133
|
return html `
|
|
144
134
|
<div class="relative w-full h-full overflow-hidden flex">
|
|
145
135
|
<div class="h-full" style="${!isMobile && this.showArtifactsPanel && this.hasArtifacts ? "width: 50%;" : "width: 100%;"}">
|
|
146
|
-
|
|
147
|
-
.session=${this.session}
|
|
148
|
-
.enableAttachments=${true}
|
|
149
|
-
.enableModelSelector=${true}
|
|
150
|
-
.enableThinking=${true}
|
|
151
|
-
.showThemeToggle=${false}
|
|
152
|
-
.showDebugToggle=${false}
|
|
153
|
-
.onApiKeyRequired=${this.onApiKeyRequired}
|
|
154
|
-
></agent-interface>
|
|
136
|
+
${this.agentInterface}
|
|
155
137
|
</div>
|
|
156
138
|
|
|
157
139
|
<!-- Floating pill when artifacts exist and panel is collapsed -->
|
|
@@ -168,12 +150,7 @@ let ChatPanel = class ChatPanel extends LitElement {
|
|
|
168
150
|
${Badge(html `
|
|
169
151
|
<span class="inline-flex items-center gap-1">
|
|
170
152
|
<span>${i18n("Artifacts")}</span>
|
|
171
|
-
|
|
172
|
-
? html `<span
|
|
173
|
-
class="text-[10px] leading-none bg-primary-foreground/20 text-primary-foreground rounded px-1 font-mono tabular-nums"
|
|
174
|
-
>${this.artifactCount}</span
|
|
175
|
-
>`
|
|
176
|
-
: ""}
|
|
153
|
+
<span class="text-[10px] leading-none bg-primary-foreground/20 text-primary-foreground rounded px-1 font-mono tabular-nums">${this.artifactCount}</span>
|
|
177
154
|
</span>
|
|
178
155
|
`)}
|
|
179
156
|
</button>
|
|
@@ -189,7 +166,10 @@ let ChatPanel = class ChatPanel extends LitElement {
|
|
|
189
166
|
};
|
|
190
167
|
__decorate([
|
|
191
168
|
state()
|
|
192
|
-
], ChatPanel.prototype, "
|
|
169
|
+
], ChatPanel.prototype, "agent", void 0);
|
|
170
|
+
__decorate([
|
|
171
|
+
state()
|
|
172
|
+
], ChatPanel.prototype, "agentInterface", void 0);
|
|
193
173
|
__decorate([
|
|
194
174
|
state()
|
|
195
175
|
], ChatPanel.prototype, "artifactsPanel", void 0);
|
|
@@ -205,18 +185,6 @@ __decorate([
|
|
|
205
185
|
__decorate([
|
|
206
186
|
state()
|
|
207
187
|
], ChatPanel.prototype, "windowWidth", void 0);
|
|
208
|
-
__decorate([
|
|
209
|
-
property({ type: String })
|
|
210
|
-
], ChatPanel.prototype, "systemPrompt", void 0);
|
|
211
|
-
__decorate([
|
|
212
|
-
property({ type: Array })
|
|
213
|
-
], ChatPanel.prototype, "additionalTools", void 0);
|
|
214
|
-
__decorate([
|
|
215
|
-
property({ attribute: false })
|
|
216
|
-
], ChatPanel.prototype, "sandboxUrlProvider", void 0);
|
|
217
|
-
__decorate([
|
|
218
|
-
property({ attribute: false })
|
|
219
|
-
], ChatPanel.prototype, "onApiKeyRequired", void 0);
|
|
220
188
|
ChatPanel = __decorate([
|
|
221
189
|
customElement("pi-chat-panel")
|
|
222
190
|
], ChatPanel);
|
package/dist/ChatPanel.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ChatPanel.js","sourceRoot":"","sources":["../src/ChatPanel.ts"],"names":[],"mappings":";;;;;;AAAA,OAAO,EAAE,KAAK,EAAE,IAAI,EAAE,MAAM,wBAAwB,CAAC;AACrD,OAAO,
|
|
1
|
+
{"version":3,"file":"ChatPanel.js","sourceRoot":"","sources":["../src/ChatPanel.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,12 +1,12 @@
|
|
|
1
1
|
import { type AgentTool, type Message, type Model } from "@mariozechner/pi-ai";
|
|
2
2
|
import type { AppMessage } from "../components/Messages.js";
|
|
3
3
|
import type { Attachment } from "../utils/attachment-utils.js";
|
|
4
|
+
import type { AgentTransport } from "./transports/types.js";
|
|
4
5
|
import type { DebugLogEntry } from "./types.js";
|
|
5
6
|
export type ThinkingLevel = "off" | "minimal" | "low" | "medium" | "high";
|
|
6
|
-
export interface
|
|
7
|
-
id: string;
|
|
7
|
+
export interface AgentState {
|
|
8
8
|
systemPrompt: string;
|
|
9
|
-
model: Model<any
|
|
9
|
+
model: Model<any>;
|
|
10
10
|
thinkingLevel: ThinkingLevel;
|
|
11
11
|
tools: AgentTool<any>[];
|
|
12
12
|
messages: AppMessage[];
|
|
@@ -15,44 +15,48 @@ export interface AgentSessionState {
|
|
|
15
15
|
pendingToolCalls: Set<string>;
|
|
16
16
|
error?: string;
|
|
17
17
|
}
|
|
18
|
-
export type
|
|
18
|
+
export type AgentEvent = {
|
|
19
19
|
type: "state-update";
|
|
20
|
-
state:
|
|
20
|
+
state: AgentState;
|
|
21
21
|
} | {
|
|
22
22
|
type: "error-no-model";
|
|
23
23
|
} | {
|
|
24
24
|
type: "error-no-api-key";
|
|
25
25
|
provider: string;
|
|
26
|
+
} | {
|
|
27
|
+
type: "started";
|
|
28
|
+
} | {
|
|
29
|
+
type: "completed";
|
|
26
30
|
};
|
|
27
|
-
export
|
|
28
|
-
|
|
29
|
-
initialState?: Partial<AgentSessionState>;
|
|
30
|
-
messagePreprocessor?: (messages: AppMessage[]) => Promise<Message[]>;
|
|
31
|
+
export interface AgentOptions {
|
|
32
|
+
initialState?: Partial<AgentState>;
|
|
31
33
|
debugListener?: (entry: DebugLogEntry) => void;
|
|
32
|
-
|
|
33
|
-
|
|
34
|
+
transport: AgentTransport;
|
|
35
|
+
messageTransformer?: (messages: AppMessage[]) => Message[] | Promise<Message[]>;
|
|
34
36
|
}
|
|
35
|
-
export declare class
|
|
37
|
+
export declare class Agent {
|
|
36
38
|
private _state;
|
|
37
39
|
private listeners;
|
|
38
40
|
private abortController?;
|
|
39
41
|
private transport;
|
|
40
|
-
private messagePreprocessor?;
|
|
41
42
|
private debugListener?;
|
|
42
|
-
|
|
43
|
-
private
|
|
44
|
-
|
|
45
|
-
|
|
43
|
+
private messageTransformer;
|
|
44
|
+
private messageQueue;
|
|
45
|
+
constructor(opts: AgentOptions);
|
|
46
|
+
get state(): AgentState;
|
|
47
|
+
subscribe(fn: (e: AgentEvent) => void): () => void;
|
|
46
48
|
setSystemPrompt(v: string): void;
|
|
47
|
-
setModel(m: Model<any>
|
|
49
|
+
setModel(m: Model<any>): void;
|
|
48
50
|
setThinkingLevel(l: ThinkingLevel): void;
|
|
49
51
|
setTools(t: AgentTool<any>[]): void;
|
|
50
52
|
replaceMessages(ms: AppMessage[]): void;
|
|
51
53
|
appendMessage(m: AppMessage): void;
|
|
54
|
+
queueMessage(m: AppMessage): Promise<void>;
|
|
52
55
|
clearMessages(): void;
|
|
53
56
|
abort(): void;
|
|
57
|
+
private logState;
|
|
54
58
|
prompt(input: string, attachments?: Attachment[]): Promise<void>;
|
|
55
59
|
private patch;
|
|
56
60
|
private emit;
|
|
57
61
|
}
|
|
58
|
-
//# sourceMappingURL=agent
|
|
62
|
+
//# sourceMappingURL=agent.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"agent.d.ts","sourceRoot":"","sources":["../../src/agent/agent.ts"],"names":[],"mappings":"AACA,OAAO,EACN,KAAK,SAAS,EAId,KAAK,OAAO,EACZ,KAAK,KAAK,EAEV,MAAM,qBAAqB,CAAC;AAC7B,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,2BAA2B,CAAC;AAC5D,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,8BAA8B,CAAC;AAC/D,OAAO,KAAK,EAAkB,cAAc,EAAE,MAAM,uBAAuB,CAAC;AAC5E,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,YAAY,CAAC;AAmBhD,MAAM,MAAM,aAAa,GAAG,KAAK,GAAG,SAAS,GAAG,KAAK,GAAG,QAAQ,GAAG,MAAM,CAAC;AAE1E,MAAM,WAAW,UAAU;IAC1B,YAAY,EAAE,MAAM,CAAC;IACrB,KAAK,EAAE,KAAK,CAAC,GAAG,CAAC,CAAC;IAClB,aAAa,EAAE,aAAa,CAAC;IAC7B,KAAK,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC;IACxB,QAAQ,EAAE,UAAU,EAAE,CAAC;IACvB,WAAW,EAAE,OAAO,CAAC;IACrB,aAAa,EAAE,OAAO,GAAG,IAAI,CAAC;IAC9B,gBAAgB,EAAE,GAAG,CAAC,MAAM,CAAC,CAAC;IAC9B,KAAK,CAAC,EAAE,MAAM,CAAC;CACf;AAED,MAAM,MAAM,UAAU,GACnB;IAAE,IAAI,EAAE,cAAc,CAAC;IAAC,KAAK,EAAE,UAAU,CAAA;CAAE,GAC3C;IAAE,IAAI,EAAE,gBAAgB,CAAA;CAAE,GAC1B;IAAE,IAAI,EAAE,kBAAkB,CAAC;IAAC,QAAQ,EAAE,MAAM,CAAA;CAAE,GAC9C;IAAE,IAAI,EAAE,SAAS,CAAA;CAAE,GACnB;IAAE,IAAI,EAAE,WAAW,CAAA;CAAE,CAAC;AAEzB,MAAM,WAAW,YAAY;IAC5B,YAAY,CAAC,EAAE,OAAO,CAAC,UAAU,CAAC,CAAC;IACnC,aAAa,CAAC,EAAE,CAAC,KAAK,EAAE,aAAa,KAAK,IAAI,CAAC;IAC/C,SAAS,EAAE,cAAc,CAAC;IAE1B,kBAAkB,CAAC,EAAE,CAAC,QAAQ,EAAE,UAAU,EAAE,KAAK,OAAO,EAAE,GAAG,OAAO,CAAC,OAAO,EAAE,CAAC,CAAC;CAChF;AAED,qBAAa,KAAK;IACjB,OAAO,CAAC,MAAM,CAUZ;IACF,OAAO,CAAC,SAAS,CAAsC;IACvD,OAAO,CAAC,eAAe,CAAC,CAAkB;IAC1C,OAAO,CAAC,SAAS,CAAiB;IAClC,OAAO,CAAC,aAAa,CAAC,CAAiC;IACvD,OAAO,CAAC,kBAAkB,CAA6D;IACvF,OAAO,CAAC,YAAY,CAAwC;gBAEhD,IAAI,EAAE,YAAY;IAO9B,IAAI,KAAK,IAAI,UAAU,CAEtB;IAED,SAAS,CAAC,EAAE,EAAE,CAAC,CAAC,EAAE,UAAU,KAAK,IAAI,GAAG,MAAM,IAAI;IAOlD,eAAe,CAAC,CAAC,EAAE,MAAM;IAGzB,QAAQ,CAAC,CAAC,EAAE,KAAK,CAAC,GAAG,CAAC;IAGtB,gBAAgB,CAAC,CAAC,EAAE,aAAa;IAGjC,QAAQ,CAAC,CAAC,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE;IAG5B,eAAe,CAAC,EAAE,EAAE,UAAU,EAAE;IAGhC,aAAa,CAAC,CAAC,EAAE,UAAU;IAGrB,YAAY,CAAC,CAAC,EAAE,UAAU;IAQhC,aAAa;IAIb,KAAK;IAIL,OAAO,CAAC,QAAQ;IAKV,MAAM,CAAC,KAAK,EAAE,MAAM,EAAE,WAAW,CAAC,EAAE,UAAU,EAAE;IA4LtD,OAAO,CAAC,KAAK;IAKb,OAAO,CAAC,IAAI;CAKZ"}
|
|
@@ -1,10 +1,23 @@
|
|
|
1
1
|
import { getModel, } from "@mariozechner/pi-ai";
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
2
|
+
// Default transformer: Keep only LLM-compatible messages, strip app-specific fields
|
|
3
|
+
function defaultMessageTransformer(messages) {
|
|
4
|
+
return messages
|
|
5
|
+
.filter((m) => {
|
|
6
|
+
// Only keep standard LLM message roles
|
|
7
|
+
return m.role === "user" || m.role === "assistant" || m.role === "toolResult";
|
|
8
|
+
})
|
|
9
|
+
.map((m) => {
|
|
10
|
+
if (m.role === "user") {
|
|
11
|
+
// Strip attachments field (app-specific)
|
|
12
|
+
const { attachments, ...rest } = m;
|
|
13
|
+
return rest;
|
|
14
|
+
}
|
|
15
|
+
return m;
|
|
16
|
+
});
|
|
17
|
+
}
|
|
18
|
+
export class Agent {
|
|
19
|
+
constructor(opts) {
|
|
6
20
|
this._state = {
|
|
7
|
-
id: "default",
|
|
8
21
|
systemPrompt: "",
|
|
9
22
|
model: getModel("google", "gemini-2.5-flash-lite-preview-06-17"),
|
|
10
23
|
thinkingLevel: "off",
|
|
@@ -16,26 +29,11 @@ export class AgentSession {
|
|
|
16
29
|
error: undefined,
|
|
17
30
|
};
|
|
18
31
|
this.listeners = new Set();
|
|
32
|
+
this.messageQueue = [];
|
|
19
33
|
this._state = { ...this._state, ...opts.initialState };
|
|
20
|
-
this.messagePreprocessor = opts.messagePreprocessor;
|
|
21
34
|
this.debugListener = opts.debugListener;
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
this.transport = new AppTransport(async () => this.preprocessMessages());
|
|
25
|
-
}
|
|
26
|
-
else {
|
|
27
|
-
this.transport = new ProviderTransport(async () => this.preprocessMessages());
|
|
28
|
-
}
|
|
29
|
-
}
|
|
30
|
-
async preprocessMessages() {
|
|
31
|
-
const filtered = this._state.messages.map((m) => {
|
|
32
|
-
if (m.role === "user") {
|
|
33
|
-
const { attachments, ...rest } = m;
|
|
34
|
-
return rest;
|
|
35
|
-
}
|
|
36
|
-
return m;
|
|
37
|
-
});
|
|
38
|
-
return this.messagePreprocessor ? this.messagePreprocessor(filtered) : filtered;
|
|
35
|
+
this.transport = opts.transport;
|
|
36
|
+
this.messageTransformer = opts.messageTransformer || defaultMessageTransformer;
|
|
39
37
|
}
|
|
40
38
|
get state() {
|
|
41
39
|
return this._state;
|
|
@@ -64,12 +62,24 @@ export class AgentSession {
|
|
|
64
62
|
appendMessage(m) {
|
|
65
63
|
this.patch({ messages: [...this._state.messages, m] });
|
|
66
64
|
}
|
|
65
|
+
async queueMessage(m) {
|
|
66
|
+
// Transform message and queue it for injection at next turn
|
|
67
|
+
const transformed = await this.messageTransformer([m]);
|
|
68
|
+
this.messageQueue.push({
|
|
69
|
+
original: m,
|
|
70
|
+
llm: transformed[0], // undefined if filtered out
|
|
71
|
+
});
|
|
72
|
+
}
|
|
67
73
|
clearMessages() {
|
|
68
74
|
this.patch({ messages: [] });
|
|
69
75
|
}
|
|
70
76
|
abort() {
|
|
71
77
|
this.abortController?.abort();
|
|
72
78
|
}
|
|
79
|
+
logState(message) {
|
|
80
|
+
const { systemPrompt, model, messages } = this._state;
|
|
81
|
+
console.log(message, { systemPrompt, model, messages });
|
|
82
|
+
}
|
|
73
83
|
async prompt(input, attachments) {
|
|
74
84
|
const model = this._state.model;
|
|
75
85
|
if (!model) {
|
|
@@ -99,6 +109,7 @@ export class AgentSession {
|
|
|
99
109
|
};
|
|
100
110
|
this.abortController = new AbortController();
|
|
101
111
|
this.patch({ isStreaming: true, streamMessage: null, error: undefined });
|
|
112
|
+
this.emit({ type: "started" });
|
|
102
113
|
const reasoning = this._state.thinkingLevel === "off"
|
|
103
114
|
? undefined
|
|
104
115
|
: this._state.thinkingLevel === "minimal"
|
|
@@ -109,20 +120,29 @@ export class AgentSession {
|
|
|
109
120
|
tools: this._state.tools,
|
|
110
121
|
model,
|
|
111
122
|
reasoning,
|
|
123
|
+
getQueuedMessages: async () => {
|
|
124
|
+
// Return queued messages (they'll be added to state via message_end event)
|
|
125
|
+
const queued = this.messageQueue.slice();
|
|
126
|
+
this.messageQueue = [];
|
|
127
|
+
return queued;
|
|
128
|
+
},
|
|
112
129
|
};
|
|
113
130
|
try {
|
|
114
131
|
let partial = null;
|
|
115
132
|
let turnDebug = null;
|
|
116
133
|
let turnStart = 0;
|
|
117
|
-
|
|
134
|
+
this.logState("prompt started, current state:");
|
|
135
|
+
// Transform app messages to LLM-compatible messages (initial set)
|
|
136
|
+
const llmMessages = await this.messageTransformer(this._state.messages);
|
|
137
|
+
console.log("transformed messages:", llmMessages);
|
|
138
|
+
for await (const ev of this.transport.run(llmMessages, userMessage, cfg, this.abortController.signal)) {
|
|
118
139
|
switch (ev.type) {
|
|
119
140
|
case "turn_start": {
|
|
120
141
|
turnStart = performance.now();
|
|
121
|
-
// Build request context snapshot
|
|
122
|
-
const existing = this._state.messages;
|
|
142
|
+
// Build request context snapshot (use transformed messages)
|
|
123
143
|
const ctx = {
|
|
124
144
|
systemPrompt: this._state.systemPrompt,
|
|
125
|
-
messages: [...
|
|
145
|
+
messages: [...llmMessages],
|
|
126
146
|
tools: this._state.tools,
|
|
127
147
|
};
|
|
128
148
|
turnDebug = {
|
|
@@ -233,11 +253,9 @@ export class AgentSession {
|
|
|
233
253
|
finally {
|
|
234
254
|
this.patch({ isStreaming: false, streamMessage: null, pendingToolCalls: new Set() });
|
|
235
255
|
this.abortController = undefined;
|
|
256
|
+
this.emit({ type: "completed" });
|
|
236
257
|
}
|
|
237
|
-
|
|
238
|
-
const { systemPrompt, model, messages } = this._state;
|
|
239
|
-
console.log("final state:", { systemPrompt, model, messages });
|
|
240
|
-
}
|
|
258
|
+
this.logState("final state:");
|
|
241
259
|
}
|
|
242
260
|
patch(p) {
|
|
243
261
|
this._state = { ...this._state, ...p };
|
|
@@ -249,4 +267,4 @@ export class AgentSession {
|
|
|
249
267
|
}
|
|
250
268
|
}
|
|
251
269
|
}
|
|
252
|
-
//# sourceMappingURL=agent
|
|
270
|
+
//# sourceMappingURL=agent.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"agent.js","sourceRoot":"","sources":["../../src/agent/agent.ts"],"names":[],"mappings":"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"}
|
|
@@ -5,9 +5,7 @@ import type { AgentRunConfig, AgentTransport } from "./types.js";
|
|
|
5
5
|
* The server manages user accounts and proxies requests to LLM providers.
|
|
6
6
|
*/
|
|
7
7
|
export declare class AppTransport implements AgentTransport {
|
|
8
|
-
private readonly getMessages;
|
|
9
8
|
private readonly proxyUrl;
|
|
10
|
-
|
|
11
|
-
run(userMessage: Message, cfg: AgentRunConfig, signal?: AbortSignal): AsyncGenerator<import("@mariozechner/pi-ai").AgentEvent, void, unknown>;
|
|
9
|
+
run(messages: Message[], userMessage: Message, cfg: AgentRunConfig, signal?: AbortSignal): AsyncGenerator<import("@mariozechner/pi-ai").AgentEvent, void, unknown>;
|
|
12
10
|
}
|
|
13
11
|
//# sourceMappingURL=AppTransport.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"AppTransport.d.ts","sourceRoot":"","sources":["../../../src/agent/transports/AppTransport.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAOX,OAAO,EAKP,MAAM,qBAAqB,CAAC;AAO7B,OAAO,KAAK,EAAE,cAAc,EAAE,cAAc,EAAE,MAAM,YAAY,CAAC;AAySjE;;;GAGG;AACH,qBAAa,YAAa,YAAW,cAAc;IAElD,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAmC;IAErD,GAAG,CAAC,QAAQ,EAAE,OAAO,EAAE,EAAE,WAAW,EAAE,OAAO,EAAE,GAAG,EAAE,cAAc,EAAE,MAAM,CAAC,EAAE,WAAW;CAsC/F"}
|
|
@@ -280,12 +280,11 @@ function streamSimpleProxy(model, context, options, proxyUrl) {
|
|
|
280
280
|
* The server manages user accounts and proxies requests to LLM providers.
|
|
281
281
|
*/
|
|
282
282
|
export class AppTransport {
|
|
283
|
-
constructor(
|
|
284
|
-
this.getMessages = getMessages;
|
|
283
|
+
constructor() {
|
|
285
284
|
// Hardcoded proxy URL for now - will be made configurable later
|
|
286
285
|
this.proxyUrl = "https://genai.mariozechner.at";
|
|
287
286
|
}
|
|
288
|
-
async *run(userMessage, cfg, signal) {
|
|
287
|
+
async *run(messages, userMessage, cfg, signal) {
|
|
289
288
|
const authToken = await getAuthToken();
|
|
290
289
|
if (!authToken) {
|
|
291
290
|
throw new Error(i18n("Auth token is required for proxy transport"));
|
|
@@ -297,14 +296,16 @@ export class AppTransport {
|
|
|
297
296
|
authToken,
|
|
298
297
|
}, this.proxyUrl);
|
|
299
298
|
};
|
|
299
|
+
// Messages are already LLM-compatible (filtered by Agent)
|
|
300
300
|
const context = {
|
|
301
301
|
systemPrompt: cfg.systemPrompt,
|
|
302
|
-
messages
|
|
302
|
+
messages,
|
|
303
303
|
tools: cfg.tools,
|
|
304
304
|
};
|
|
305
305
|
const pc = {
|
|
306
306
|
model: cfg.model,
|
|
307
307
|
reasoning: cfg.reasoning,
|
|
308
|
+
getQueuedMessages: cfg.getQueuedMessages,
|
|
308
309
|
};
|
|
309
310
|
// Yield events from the upstream agentLoop iterator
|
|
310
311
|
// Pass streamFn as the 5th parameter to use proxy
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"AppTransport.js","sourceRoot":"","sources":["../../../src/
|
|
1
|
+
{"version":3,"file":"AppTransport.js","sourceRoot":"","sources":["../../../src/agent/transports/AppTransport.ts"],"names":[],"mappings":"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"}
|