@getpaseo/server 0.1.104-beta.3 → 0.1.104-beta.4
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/server/server/agent/tools/paseo-tools.d.ts +1 -0
- package/dist/server/server/agent/tools/paseo-tools.js +1 -1
- package/dist/server/server/bootstrap.js +2 -3
- package/dist/server/server/browser-tools/broker.d.ts +0 -3
- package/dist/server/server/browser-tools/broker.js +0 -8
- package/dist/server/server/browser-tools/policy.d.ts +0 -5
- package/dist/server/server/browser-tools/policy.js +0 -8
- package/dist/server/web-ui/_expo/static/js/web/{desktop-attachment-bridge-95a8163efd836849dd3f83730f1e84f4.js → desktop-attachment-bridge-c9e6c05b8ab8ee705eb86e23ad0fe7ab.js} +1 -1
- package/dist/server/web-ui/_expo/static/js/web/{desktop-attachment-bridge-95a8163efd836849dd3f83730f1e84f4.js.br → desktop-attachment-bridge-c9e6c05b8ab8ee705eb86e23ad0fe7ab.js.br} +0 -0
- package/dist/server/web-ui/_expo/static/js/web/desktop-attachment-bridge-c9e6c05b8ab8ee705eb86e23ad0fe7ab.js.gz +0 -0
- package/dist/server/web-ui/_expo/static/js/web/{desktop-attachment-store-9b3937a7b33a31908fa313b18c15daf6.js → desktop-attachment-store-d43b42933fa3fd63f02d6df8ef5f38e5.js} +1 -1
- package/dist/server/web-ui/_expo/static/js/web/desktop-attachment-store-d43b42933fa3fd63f02d6df8ef5f38e5.js.br +0 -0
- package/dist/server/web-ui/_expo/static/js/web/desktop-attachment-store-d43b42933fa3fd63f02d6df8ef5f38e5.js.gz +0 -0
- package/dist/server/web-ui/_expo/static/js/web/{index-690d9fe101525c0a632093e00322c944.js → index-304d351de8f8ed3b4ae8c6a7538c2e98.js} +1057 -1053
- package/dist/server/web-ui/_expo/static/js/web/index-304d351de8f8ed3b4ae8c6a7538c2e98.js.br +0 -0
- package/dist/server/web-ui/_expo/static/js/web/index-304d351de8f8ed3b4ae8c6a7538c2e98.js.gz +0 -0
- package/dist/server/web-ui/_expo/static/js/web/{indexeddb-attachment-store-ee4a35a8c1da1c737256427f2fe19c35.js → indexeddb-attachment-store-7fefafbc26ea7e2ed74b68f2e211f6b4.js} +1 -1
- package/dist/server/web-ui/_expo/static/js/web/indexeddb-attachment-store-7fefafbc26ea7e2ed74b68f2e211f6b4.js.br +0 -0
- package/dist/server/web-ui/_expo/static/js/web/indexeddb-attachment-store-7fefafbc26ea7e2ed74b68f2e211f6b4.js.gz +0 -0
- package/dist/server/web-ui/_expo/static/js/web/{native-file-attachment-store-c4aebe23af349f0f64f418e755c84c00.js → native-file-attachment-store-0b9ec2129f4c4ef256a7dac8867be33c.js} +3 -3
- package/dist/server/web-ui/_expo/static/js/web/native-file-attachment-store-0b9ec2129f4c4ef256a7dac8867be33c.js.br +0 -0
- package/dist/server/web-ui/_expo/static/js/web/native-file-attachment-store-0b9ec2129f4c4ef256a7dac8867be33c.js.gz +0 -0
- package/dist/server/web-ui/index.html +1 -1
- package/dist/server/web-ui/index.html.br +0 -0
- package/dist/server/web-ui/index.html.gz +0 -0
- package/package.json +5 -5
- package/dist/server/web-ui/_expo/static/js/web/desktop-attachment-bridge-95a8163efd836849dd3f83730f1e84f4.js.gz +0 -0
- package/dist/server/web-ui/_expo/static/js/web/desktop-attachment-store-9b3937a7b33a31908fa313b18c15daf6.js.br +0 -0
- package/dist/server/web-ui/_expo/static/js/web/desktop-attachment-store-9b3937a7b33a31908fa313b18c15daf6.js.gz +0 -0
- package/dist/server/web-ui/_expo/static/js/web/index-690d9fe101525c0a632093e00322c944.js.br +0 -0
- package/dist/server/web-ui/_expo/static/js/web/index-690d9fe101525c0a632093e00322c944.js.gz +0 -0
- package/dist/server/web-ui/_expo/static/js/web/indexeddb-attachment-store-ee4a35a8c1da1c737256427f2fe19c35.js.br +0 -0
- package/dist/server/web-ui/_expo/static/js/web/indexeddb-attachment-store-ee4a35a8c1da1c737256427f2fe19c35.js.gz +0 -0
- package/dist/server/web-ui/_expo/static/js/web/native-file-attachment-store-c4aebe23af349f0f64f418e755c84c00.js.br +0 -0
- package/dist/server/web-ui/_expo/static/js/web/native-file-attachment-store-c4aebe23af349f0f64f418e755c84c00.js.gz +0 -0
|
@@ -31,6 +31,7 @@ export interface PaseoToolHostDependencies {
|
|
|
31
31
|
clearWorkspaceArchiving?: ArchiveDependencies["clearWorkspaceArchiving"];
|
|
32
32
|
createPaseoWorktree?: CreatePaseoWorktreeWorkflowFn;
|
|
33
33
|
ensureWorkspaceForCreate?: (cwd: string, firstAgentContext?: FirstAgentContext) => Promise<string>;
|
|
34
|
+
browserToolsEnabled?: boolean;
|
|
34
35
|
browserToolsBroker?: BrowserToolsBroker | null;
|
|
35
36
|
paseoHome?: string;
|
|
36
37
|
worktreesRoot?: string;
|
|
@@ -746,7 +746,7 @@ export function createPaseoToolCatalog(options) {
|
|
|
746
746
|
if (options.voiceOnly) {
|
|
747
747
|
return toCatalog();
|
|
748
748
|
}
|
|
749
|
-
if (options.browserToolsBroker) {
|
|
749
|
+
if (options.browserToolsEnabled && options.browserToolsBroker) {
|
|
750
750
|
registerBrowserTools({
|
|
751
751
|
registerTool,
|
|
752
752
|
broker: options.browserToolsBroker,
|
|
@@ -282,9 +282,7 @@ export async function createPaseoDaemon(config, rootLogger) {
|
|
|
282
282
|
const daemonVersion = resolveDaemonVersion(import.meta.url);
|
|
283
283
|
const daemonConfigStore = new DaemonConfigStore(config.paseoHome, createInitialMutableDaemonConfig(config), logger);
|
|
284
284
|
const browserToolsPolicy = new DaemonConfigBrowserToolsPolicy(daemonConfigStore);
|
|
285
|
-
const browserToolsBroker = new BrowserToolsBroker({
|
|
286
|
-
policy: browserToolsPolicy,
|
|
287
|
-
});
|
|
285
|
+
const browserToolsBroker = new BrowserToolsBroker({});
|
|
288
286
|
const serverId = getOrCreateServerId(config.paseoHome, { logger });
|
|
289
287
|
const daemonKeyPair = await loadOrCreateDaemonKeyPair(config.paseoHome, logger);
|
|
290
288
|
const managedProcesses = createBootstrapManagedProcessRegistry(config, logger);
|
|
@@ -735,6 +733,7 @@ export async function createPaseoDaemon(config, rootLogger) {
|
|
|
735
733
|
clearWorkspaceArchiving: clearWorkspaceArchivingExternal,
|
|
736
734
|
ensureWorkspaceForCreate: ensureWorkspaceForCreateExternal,
|
|
737
735
|
createPaseoWorktree: createPaseoWorktreeForTools,
|
|
736
|
+
browserToolsEnabled: browserToolsPolicy.isEnabled(),
|
|
738
737
|
browserToolsBroker,
|
|
739
738
|
paseoHome: config.paseoHome,
|
|
740
739
|
worktreesRoot: config.worktreesRoot,
|
|
@@ -1,6 +1,5 @@
|
|
|
1
1
|
import { type BrowserAutomationCommand, type BrowserAutomationCommandName, type BrowserAutomationExecuteRequest, type BrowserAutomationExecuteResponse } from "@getpaseo/protocol/browser-automation/rpc-schemas";
|
|
2
2
|
import { type BrowserToolsResponsePayload } from "./errors.js";
|
|
3
|
-
import type { BrowserToolsPolicy } from "./policy.js";
|
|
4
3
|
export interface BrowserHostClient {
|
|
5
4
|
id: string;
|
|
6
5
|
hostKind: string;
|
|
@@ -16,12 +15,10 @@ export interface BrowserToolsExecuteInput {
|
|
|
16
15
|
timeoutMs?: number;
|
|
17
16
|
}
|
|
18
17
|
export interface BrowserToolsBrokerOptions {
|
|
19
|
-
policy: BrowserToolsPolicy;
|
|
20
18
|
defaultTimeoutMs?: number;
|
|
21
19
|
createRequestId?: () => string;
|
|
22
20
|
}
|
|
23
21
|
export declare class BrowserToolsBroker {
|
|
24
|
-
private readonly policy;
|
|
25
22
|
private readonly defaultTimeoutMs;
|
|
26
23
|
private readonly createRequestId;
|
|
27
24
|
private readonly clients;
|
|
@@ -9,7 +9,6 @@ export class BrowserToolsBroker {
|
|
|
9
9
|
this.browserHostByBrowserId = new Map();
|
|
10
10
|
this.strandedBrowserHostByBrowserId = new Map();
|
|
11
11
|
this.registrationSequence = 0;
|
|
12
|
-
this.policy = options.policy;
|
|
13
12
|
this.defaultTimeoutMs = options.defaultTimeoutMs ?? DEFAULT_BROWSER_TOOLS_TIMEOUT_MS;
|
|
14
13
|
this.createRequestId = options.createRequestId ?? (() => `browser_${randomUUID()}`);
|
|
15
14
|
}
|
|
@@ -58,13 +57,6 @@ export class BrowserToolsBroker {
|
|
|
58
57
|
}
|
|
59
58
|
async execute(input) {
|
|
60
59
|
const requestId = input.requestId ?? this.createRequestId();
|
|
61
|
-
if (!this.policy.isEnabled()) {
|
|
62
|
-
return browserToolsFailure({
|
|
63
|
-
requestId,
|
|
64
|
-
code: "browser_disabled",
|
|
65
|
-
message: "Browser tools are disabled. Enable daemon.browserTools.enabled to use them.",
|
|
66
|
-
});
|
|
67
|
-
}
|
|
68
60
|
const request = BrowserAutomationExecuteRequestSchema.safeParse({
|
|
69
61
|
type: "browser.automation.execute.request",
|
|
70
62
|
requestId,
|
|
@@ -2,11 +2,6 @@ import type { DaemonConfigStore } from "../daemon-config-store.js";
|
|
|
2
2
|
export interface BrowserToolsPolicy {
|
|
3
3
|
isEnabled(): boolean;
|
|
4
4
|
}
|
|
5
|
-
export declare class StaticBrowserToolsPolicy implements BrowserToolsPolicy {
|
|
6
|
-
private readonly enabled;
|
|
7
|
-
constructor(enabled: boolean);
|
|
8
|
-
isEnabled(): boolean;
|
|
9
|
-
}
|
|
10
5
|
export declare class DaemonConfigBrowserToolsPolicy implements BrowserToolsPolicy {
|
|
11
6
|
private readonly configStore;
|
|
12
7
|
constructor(configStore: Pick<DaemonConfigStore, "get">);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
__d(function(g,r,i,a,m,e,d){"use strict";Object.defineProperty(e,'__esModule',{value:!0}),e.createDesktopAttachmentBridge=function(){const l=(0,s.createDesktopPreviewUrlResolver)({reader:(0,s.createDesktopFileReader)(),objectUrls:(0,s.createBrowserObjectUrlMinter)()});return{copyFile:t.copyDesktopAttachmentFile,writeBase64:t.writeDesktopAttachmentBase64,writeBytes:t.writeDesktopAttachmentBytes,deleteFile:t.deleteDesktopAttachmentFile,garbageCollect:t.garbageCollectDesktopAttachmentFiles,readFileBase64:s.readDesktopFileBase64,resolvePreviewUrl:t=>l.resolve(t),releasePreviewUrl:t=>l.release(t)}};var t=r(d[0]),s=r(d[1])},
|
|
1
|
+
__d(function(g,r,i,a,m,e,d){"use strict";Object.defineProperty(e,'__esModule',{value:!0}),e.createDesktopAttachmentBridge=function(){const l=(0,s.createDesktopPreviewUrlResolver)({reader:(0,s.createDesktopFileReader)(),objectUrls:(0,s.createBrowserObjectUrlMinter)()});return{copyFile:t.copyDesktopAttachmentFile,writeBase64:t.writeDesktopAttachmentBase64,writeBytes:t.writeDesktopAttachmentBytes,deleteFile:t.deleteDesktopAttachmentFile,garbageCollect:t.garbageCollectDesktopAttachmentFiles,readFileBase64:s.readDesktopFileBase64,resolvePreviewUrl:t=>l.resolve(t),releasePreviewUrl:t=>l.release(t)}};var t=r(d[0]),s=r(d[1])},4423,[3932,3933]);
|
|
Binary file
|
|
Binary file
|
|
@@ -1 +1 @@
|
|
|
1
|
-
__d(function(g,r,i,a,m,e,d){"use strict";Object.defineProperty(e,'__esModule',{value:!0}),e.createDesktopAttachmentStore=function(n){return{storageType:"desktop-file",async save(s){const o=s.id??(0,t.generateAttachmentId)(),l=s.fileName??null;if("file_uri"===s.source.kind)return await c(n,{id:o,uri:s.source.uri,mimeType:s.mimeType,fileName:l});if("data_url"===s.source.kind){const c=(0,t.parseDataUrl)(s.source.dataUrl),p=(0,t.normalizeMimeType)(s.mimeType??c.mimeType);return await y(n,{id:o,base64:c.base64,mimeType:p,fileName:l})}if("bytes"===s.source.kind){const c=(0,t.normalizeMimeType)(s.mimeType);return await p(n,{id:o,bytes:s.source.bytes,mimeType:c,fileName:l})}const f=(0,t.normalizeMimeType)(s.mimeType??s.source.blob.type),u=await(0,t.blobToBase64)(s.source.blob);return await y(n,{id:o,base64:u,mimeType:f,fileName:l})},encodeBase64:async({attachment:t})=>(f(t),await n.readFileBase64(t.storageKey)),resolvePreviewUrl:async({attachment:t})=>(f(t),await n.resolvePreviewUrl(t)),async releasePreviewUrl({attachment:t,url:s}){f(t),await n.releasePreviewUrl({url:s})},async delete({attachment:t}){f(t),await n.deleteFile({path:t.storageKey})},async garbageCollect({referencedIds:t}){await n.garbageCollect({referencedIds:Array.from(t)})}}};var t=r(d[0]);const n={"image/png":".png","image/jpeg":".jpg","image/jpg":".jpg","image/gif":".gif","image/webp":".webp","image/avif":".avif","image/heic":".heic","image/heif":".heif","image/tiff":".tiff","image/bmp":".bmp","image/svg+xml":".svg"};function s(t){const n=t.replace(/\\/g,"/").split("/"),s=n[n.length-1];return s&&s.length>0?s:null}function o(s){const o=(0,t.getFileExtensionFromName)(s.fileName);if(o)return o;const l=(0,t.getFileExtensionFromName)(s.sourcePath);return l||(n[s.mimeType]??".img")}function l(t){return{id:t.id,mimeType:t.mimeType,storageType:"desktop-file",storageKey:t.storagePath,fileName:t.fileName??null,byteSize:t.byteSize,createdAt:Date.now()}}async function c(n,c){const y=(0,t.fileUriToPath)(c.uri),p=c.fileName??s(y),f=(0,t.normalizeMimeType)(c.mimeType),u=o({fileName:p,sourcePath:y,mimeType:f}),T=await n.copyFile({attachmentId:c.id,sourcePath:y,extension:u});return l({id:c.id,mimeType:f,storagePath:T.path,byteSize:T.byteSize,fileName:p})}async function y(t,n){const s=o({fileName:n.fileName,mimeType:n.mimeType}),c=await t.writeBase64({attachmentId:n.id,base64:n.base64,extension:s});return l({id:n.id,mimeType:n.mimeType,storagePath:c.path,byteSize:c.byteSize,fileName:n.fileName})}async function p(t,n){const s=o({fileName:n.fileName,mimeType:n.mimeType}),c=await t.writeBytes({attachmentId:n.id,bytes:n.bytes,extension:s});return l({id:n.id,mimeType:n.mimeType,storagePath:c.path,byteSize:c.byteSize,fileName:n.fileName})}function f(t){if("desktop-file"!==t.storageType)throw new Error(`Unsupported desktop attachment storage type '${t.storageType}'.`)}},
|
|
1
|
+
__d(function(g,r,i,a,m,e,d){"use strict";Object.defineProperty(e,'__esModule',{value:!0}),e.createDesktopAttachmentStore=function(n){return{storageType:"desktop-file",async save(s){const o=s.id??(0,t.generateAttachmentId)(),l=s.fileName??null;if("file_uri"===s.source.kind)return await c(n,{id:o,uri:s.source.uri,mimeType:s.mimeType,fileName:l});if("data_url"===s.source.kind){const c=(0,t.parseDataUrl)(s.source.dataUrl),p=(0,t.normalizeMimeType)(s.mimeType??c.mimeType);return await y(n,{id:o,base64:c.base64,mimeType:p,fileName:l})}if("bytes"===s.source.kind){const c=(0,t.normalizeMimeType)(s.mimeType);return await p(n,{id:o,bytes:s.source.bytes,mimeType:c,fileName:l})}const f=(0,t.normalizeMimeType)(s.mimeType??s.source.blob.type),u=await(0,t.blobToBase64)(s.source.blob);return await y(n,{id:o,base64:u,mimeType:f,fileName:l})},encodeBase64:async({attachment:t})=>(f(t),await n.readFileBase64(t.storageKey)),resolvePreviewUrl:async({attachment:t})=>(f(t),await n.resolvePreviewUrl(t)),async releasePreviewUrl({attachment:t,url:s}){f(t),await n.releasePreviewUrl({url:s})},async delete({attachment:t}){f(t),await n.deleteFile({path:t.storageKey})},async garbageCollect({referencedIds:t}){await n.garbageCollect({referencedIds:Array.from(t)})}}};var t=r(d[0]);const n={"image/png":".png","image/jpeg":".jpg","image/jpg":".jpg","image/gif":".gif","image/webp":".webp","image/avif":".avif","image/heic":".heic","image/heif":".heif","image/tiff":".tiff","image/bmp":".bmp","image/svg+xml":".svg"};function s(t){const n=t.replace(/\\/g,"/").split("/"),s=n[n.length-1];return s&&s.length>0?s:null}function o(s){const o=(0,t.getFileExtensionFromName)(s.fileName);if(o)return o;const l=(0,t.getFileExtensionFromName)(s.sourcePath);return l||(n[s.mimeType]??".img")}function l(t){return{id:t.id,mimeType:t.mimeType,storageType:"desktop-file",storageKey:t.storagePath,fileName:t.fileName??null,byteSize:t.byteSize,createdAt:Date.now()}}async function c(n,c){const y=(0,t.fileUriToPath)(c.uri),p=c.fileName??s(y),f=(0,t.normalizeMimeType)(c.mimeType),u=o({fileName:p,sourcePath:y,mimeType:f}),T=await n.copyFile({attachmentId:c.id,sourcePath:y,extension:u});return l({id:c.id,mimeType:f,storagePath:T.path,byteSize:T.byteSize,fileName:p})}async function y(t,n){const s=o({fileName:n.fileName,mimeType:n.mimeType}),c=await t.writeBase64({attachmentId:n.id,base64:n.base64,extension:s});return l({id:n.id,mimeType:n.mimeType,storagePath:c.path,byteSize:c.byteSize,fileName:n.fileName})}async function p(t,n){const s=o({fileName:n.fileName,mimeType:n.mimeType}),c=await t.writeBytes({attachmentId:n.id,bytes:n.bytes,extension:s});return l({id:n.id,mimeType:n.mimeType,storagePath:c.path,byteSize:c.byteSize,fileName:n.fileName})}function f(t){if("desktop-file"!==t.storageType)throw new Error(`Unsupported desktop attachment storage type '${t.storageType}'.`)}},4422,[3934]);
|
|
Binary file
|