@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.
Files changed (35) hide show
  1. package/dist/server/server/agent/tools/paseo-tools.d.ts +1 -0
  2. package/dist/server/server/agent/tools/paseo-tools.js +1 -1
  3. package/dist/server/server/bootstrap.js +2 -3
  4. package/dist/server/server/browser-tools/broker.d.ts +0 -3
  5. package/dist/server/server/browser-tools/broker.js +0 -8
  6. package/dist/server/server/browser-tools/policy.d.ts +0 -5
  7. package/dist/server/server/browser-tools/policy.js +0 -8
  8. package/dist/server/web-ui/_expo/static/js/web/{desktop-attachment-bridge-95a8163efd836849dd3f83730f1e84f4.js → desktop-attachment-bridge-c9e6c05b8ab8ee705eb86e23ad0fe7ab.js} +1 -1
  9. package/dist/server/web-ui/_expo/static/js/web/{desktop-attachment-bridge-95a8163efd836849dd3f83730f1e84f4.js.br → desktop-attachment-bridge-c9e6c05b8ab8ee705eb86e23ad0fe7ab.js.br} +0 -0
  10. package/dist/server/web-ui/_expo/static/js/web/desktop-attachment-bridge-c9e6c05b8ab8ee705eb86e23ad0fe7ab.js.gz +0 -0
  11. package/dist/server/web-ui/_expo/static/js/web/{desktop-attachment-store-9b3937a7b33a31908fa313b18c15daf6.js → desktop-attachment-store-d43b42933fa3fd63f02d6df8ef5f38e5.js} +1 -1
  12. package/dist/server/web-ui/_expo/static/js/web/desktop-attachment-store-d43b42933fa3fd63f02d6df8ef5f38e5.js.br +0 -0
  13. package/dist/server/web-ui/_expo/static/js/web/desktop-attachment-store-d43b42933fa3fd63f02d6df8ef5f38e5.js.gz +0 -0
  14. package/dist/server/web-ui/_expo/static/js/web/{index-690d9fe101525c0a632093e00322c944.js → index-304d351de8f8ed3b4ae8c6a7538c2e98.js} +1057 -1053
  15. package/dist/server/web-ui/_expo/static/js/web/index-304d351de8f8ed3b4ae8c6a7538c2e98.js.br +0 -0
  16. package/dist/server/web-ui/_expo/static/js/web/index-304d351de8f8ed3b4ae8c6a7538c2e98.js.gz +0 -0
  17. package/dist/server/web-ui/_expo/static/js/web/{indexeddb-attachment-store-ee4a35a8c1da1c737256427f2fe19c35.js → indexeddb-attachment-store-7fefafbc26ea7e2ed74b68f2e211f6b4.js} +1 -1
  18. package/dist/server/web-ui/_expo/static/js/web/indexeddb-attachment-store-7fefafbc26ea7e2ed74b68f2e211f6b4.js.br +0 -0
  19. package/dist/server/web-ui/_expo/static/js/web/indexeddb-attachment-store-7fefafbc26ea7e2ed74b68f2e211f6b4.js.gz +0 -0
  20. package/dist/server/web-ui/_expo/static/js/web/{native-file-attachment-store-c4aebe23af349f0f64f418e755c84c00.js → native-file-attachment-store-0b9ec2129f4c4ef256a7dac8867be33c.js} +3 -3
  21. package/dist/server/web-ui/_expo/static/js/web/native-file-attachment-store-0b9ec2129f4c4ef256a7dac8867be33c.js.br +0 -0
  22. package/dist/server/web-ui/_expo/static/js/web/native-file-attachment-store-0b9ec2129f4c4ef256a7dac8867be33c.js.gz +0 -0
  23. package/dist/server/web-ui/index.html +1 -1
  24. package/dist/server/web-ui/index.html.br +0 -0
  25. package/dist/server/web-ui/index.html.gz +0 -0
  26. package/package.json +5 -5
  27. package/dist/server/web-ui/_expo/static/js/web/desktop-attachment-bridge-95a8163efd836849dd3f83730f1e84f4.js.gz +0 -0
  28. package/dist/server/web-ui/_expo/static/js/web/desktop-attachment-store-9b3937a7b33a31908fa313b18c15daf6.js.br +0 -0
  29. package/dist/server/web-ui/_expo/static/js/web/desktop-attachment-store-9b3937a7b33a31908fa313b18c15daf6.js.gz +0 -0
  30. package/dist/server/web-ui/_expo/static/js/web/index-690d9fe101525c0a632093e00322c944.js.br +0 -0
  31. package/dist/server/web-ui/_expo/static/js/web/index-690d9fe101525c0a632093e00322c944.js.gz +0 -0
  32. package/dist/server/web-ui/_expo/static/js/web/indexeddb-attachment-store-ee4a35a8c1da1c737256427f2fe19c35.js.br +0 -0
  33. package/dist/server/web-ui/_expo/static/js/web/indexeddb-attachment-store-ee4a35a8c1da1c737256427f2fe19c35.js.gz +0 -0
  34. package/dist/server/web-ui/_expo/static/js/web/native-file-attachment-store-c4aebe23af349f0f64f418e755c84c00.js.br +0 -0
  35. 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,11 +1,3 @@
1
- export class StaticBrowserToolsPolicy {
2
- constructor(enabled) {
3
- this.enabled = enabled;
4
- }
5
- isEnabled() {
6
- return this.enabled;
7
- }
8
- }
9
1
  export class DaemonConfigBrowserToolsPolicy {
10
2
  constructor(configStore) {
11
3
  this.configStore = configStore;
@@ -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])},4419,[3928,3929]);
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]);
@@ -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}'.`)}},4418,[3930]);
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]);