@trycua/cua-driver 0.24.0 → 0.25.0

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.
@@ -1,5 +1,15 @@
1
1
  import { type ActionResult, type ClickInput, type ClipboardReadInput, type ClipboardWriteInput, type DragInput, type EndSessionInput, type EndSessionOutput, type EscalateSessionInput, type GetAgentCursorStateInput, type GetCursorPositionInput, type GetDesktopStateInput, type GetScreenSizeInput, type GetSessionInput, type GetSessionStateInput, type HotkeyInput, type InvokeMenuInput, type ListSessionsInput, type ListSessionsOutput, type MoveCursorInput, type PressKeyInput, type ScrollInput, type SessionOutput, type SessionStateOutput, type SetAgentCursorEnabledInput, type SetAgentCursorMotionInput, type SetAgentCursorThemeInput, type SetWindowFrameInput, type StartSessionInput, type StartSessionOutput, type TypeTextInput, type VerifyStateInput, type VerifyStateOutput } from "./cua_driver_contract.js";
2
2
  import { type UniffiByteArray, type UniffiGcObject, type UniffiHandle, FfiConverterObject, FfiConverterObjectWithCallbacks, RustBuffer, UniffiAbstractObject, destructorGuardSymbol, pointerLiteralSymbol, uniffiTypeNameSymbol } from "@ubjs/core";
3
+ /**
4
+ * Connect the canonical typed Driver to a host-provided remote carrier.
5
+ */
6
+ export declare function connectRemoteChannel(channel: ForeignDriverEnvelopeChannel): CuaDriverLike;
7
+ /**
8
+ * Bind a logical remote session without serializing its authority.
9
+ */
10
+ export declare function createRemoteTrustedSession(driver: CuaDriverLike, options: TrustedSessionOptions, asyncOpts_?: {
11
+ signal: AbortSignal;
12
+ }): Promise<CuaDriverSessionLike>;
3
13
  /**
4
14
  * Generated-language host factory for a session-bound action surface.
5
15
  *
@@ -271,6 +281,245 @@ export declare const EmbeddedDriverHostOptions: Readonly<{
271
281
  new: (partial: Partial<EmbeddedDriverHostOptions> & Required<Omit<EmbeddedDriverHostOptions, "socketPath" | "permissionMode" | "startupTimeoutMs" | "shutdownTimeoutMs" | "capabilityManifestPath" | "approveCapabilityManifest" | "sessionPolicyPath" | "noOverlay">>) => EmbeddedDriverHostOptions;
272
282
  defaults: () => Partial<EmbeddedDriverHostOptions>;
273
283
  }>;
284
+ /**
285
+ * Opaque context established by the authenticated carrier, not guest claims.
286
+ */
287
+ export type ForeignDriverChannelIdentity = {
288
+ authenticatedPrincipal: string;
289
+ connectionGeneration: string;
290
+ };
291
+ /**
292
+ * Generated factory for {@link ForeignDriverChannelIdentity} record objects.
293
+ */
294
+ export declare const ForeignDriverChannelIdentity: Readonly<{
295
+ create: (partial: Partial<ForeignDriverChannelIdentity> & Required<Omit<ForeignDriverChannelIdentity, never>>) => ForeignDriverChannelIdentity;
296
+ new: (partial: Partial<ForeignDriverChannelIdentity> & Required<Omit<ForeignDriverChannelIdentity, never>>) => ForeignDriverChannelIdentity;
297
+ defaults: () => Partial<ForeignDriverChannelIdentity>;
298
+ }>;
299
+ export declare enum ForeignDriverChannelError_Tags {
300
+ Failed = "Failed"
301
+ }
302
+ export declare const ForeignDriverChannelError: Readonly<{
303
+ instanceOf: (obj: any) => obj is ForeignDriverChannelError;
304
+ Failed: {
305
+ new (inner: {
306
+ reason: string;
307
+ }): {
308
+ readonly tag: ForeignDriverChannelError_Tags.Failed;
309
+ readonly inner: Readonly<{
310
+ reason: string;
311
+ }>;
312
+ /**
313
+ * @private
314
+ * This field is private and should not be used, use `tag` instead.
315
+ */
316
+ readonly [uniffiTypeNameSymbol]: "ForeignDriverChannelError";
317
+ name: string;
318
+ message: string;
319
+ stack?: string;
320
+ cause?: unknown;
321
+ };
322
+ "new"(inner: {
323
+ reason: string;
324
+ }): {
325
+ readonly tag: ForeignDriverChannelError_Tags.Failed;
326
+ readonly inner: Readonly<{
327
+ reason: string;
328
+ }>;
329
+ /**
330
+ * @private
331
+ * This field is private and should not be used, use `tag` instead.
332
+ */
333
+ readonly [uniffiTypeNameSymbol]: "ForeignDriverChannelError";
334
+ name: string;
335
+ message: string;
336
+ stack?: string;
337
+ cause?: unknown;
338
+ };
339
+ instanceOf(obj: any): obj is {
340
+ readonly tag: ForeignDriverChannelError_Tags.Failed;
341
+ readonly inner: Readonly<{
342
+ reason: string;
343
+ }>;
344
+ /**
345
+ * @private
346
+ * This field is private and should not be used, use `tag` instead.
347
+ */
348
+ readonly [uniffiTypeNameSymbol]: "ForeignDriverChannelError";
349
+ name: string;
350
+ message: string;
351
+ stack?: string;
352
+ cause?: unknown;
353
+ };
354
+ hasInner(obj: any): obj is {
355
+ readonly tag: ForeignDriverChannelError_Tags.Failed;
356
+ readonly inner: Readonly<{
357
+ reason: string;
358
+ }>;
359
+ /**
360
+ * @private
361
+ * This field is private and should not be used, use `tag` instead.
362
+ */
363
+ readonly [uniffiTypeNameSymbol]: "ForeignDriverChannelError";
364
+ name: string;
365
+ message: string;
366
+ stack?: string;
367
+ cause?: unknown;
368
+ };
369
+ getInner(obj: {
370
+ readonly tag: ForeignDriverChannelError_Tags.Failed;
371
+ readonly inner: Readonly<{
372
+ reason: string;
373
+ }>;
374
+ /**
375
+ * @private
376
+ * This field is private and should not be used, use `tag` instead.
377
+ */
378
+ readonly [uniffiTypeNameSymbol]: "ForeignDriverChannelError";
379
+ name: string;
380
+ message: string;
381
+ stack?: string;
382
+ cause?: unknown;
383
+ }): Readonly<{
384
+ reason: string;
385
+ }>;
386
+ captureStackTrace(targetObject: object, constructorOpt?: Function): void;
387
+ prepareStackTrace(err: Error, stackTraces: NodeJS.CallSite[]): any;
388
+ stackTraceLimit: number;
389
+ };
390
+ }>;
391
+ export type ForeignDriverChannelError = InstanceType<typeof ForeignDriverChannelError['Failed']>;
392
+ export type ForeignDriverChannelCapabilities = {
393
+ minimumEnvelopeVersion: number;
394
+ maximumEnvelopeVersion: number;
395
+ supportsCancellation: boolean;
396
+ };
397
+ /**
398
+ * Generated factory for {@link ForeignDriverChannelCapabilities} record objects.
399
+ */
400
+ export declare const ForeignDriverChannelCapabilities: Readonly<{
401
+ create: (partial: Partial<ForeignDriverChannelCapabilities> & Required<Omit<ForeignDriverChannelCapabilities, never>>) => ForeignDriverChannelCapabilities;
402
+ new: (partial: Partial<ForeignDriverChannelCapabilities> & Required<Omit<ForeignDriverChannelCapabilities, never>>) => ForeignDriverChannelCapabilities;
403
+ defaults: () => Partial<ForeignDriverChannelCapabilities>;
404
+ }>;
405
+ export type ForeignDriverRequestEnvelope = {
406
+ envelopeVersion: number;
407
+ requestId: string;
408
+ operation: string;
409
+ name?: string;
410
+ argumentsJson?: string;
411
+ deadlineUnixMs: bigint;
412
+ };
413
+ /**
414
+ * Generated factory for {@link ForeignDriverRequestEnvelope} record objects.
415
+ */
416
+ export declare const ForeignDriverRequestEnvelope: Readonly<{
417
+ create: (partial: Partial<ForeignDriverRequestEnvelope> & Required<Omit<ForeignDriverRequestEnvelope, "name" | "argumentsJson">>) => ForeignDriverRequestEnvelope;
418
+ new: (partial: Partial<ForeignDriverRequestEnvelope> & Required<Omit<ForeignDriverRequestEnvelope, "name" | "argumentsJson">>) => ForeignDriverRequestEnvelope;
419
+ defaults: () => Partial<ForeignDriverRequestEnvelope>;
420
+ }>;
421
+ export type ForeignDriverResponseEnvelope = {
422
+ envelopeVersion: number;
423
+ requestId: string;
424
+ ok: boolean;
425
+ resultJson?: string;
426
+ error?: string;
427
+ errorCode?: string;
428
+ completionKnown: boolean;
429
+ };
430
+ /**
431
+ * Generated factory for {@link ForeignDriverResponseEnvelope} record objects.
432
+ */
433
+ export declare const ForeignDriverResponseEnvelope: Readonly<{
434
+ create: (partial: Partial<ForeignDriverResponseEnvelope> & Required<Omit<ForeignDriverResponseEnvelope, "errorCode" | "resultJson" | "error">>) => ForeignDriverResponseEnvelope;
435
+ new: (partial: Partial<ForeignDriverResponseEnvelope> & Required<Omit<ForeignDriverResponseEnvelope, "errorCode" | "resultJson" | "error">>) => ForeignDriverResponseEnvelope;
436
+ defaults: () => Partial<ForeignDriverResponseEnvelope>;
437
+ }>;
438
+ /**
439
+ * Trusted host request for one immutable, connection-bound action surface.
440
+ */
441
+ export type TrustedSessionOptions = {
442
+ publicSession: string;
443
+ mode: SessionPermissionMode;
444
+ ttlSeconds: bigint;
445
+ idleTtlSeconds: bigint;
446
+ capabilityManifestPath?: string;
447
+ /**
448
+ * Deprecated alias for `capability_manifest_path`.
449
+ */
450
+ boundedManifestPath?: string;
451
+ };
452
+ /**
453
+ * Generated factory for {@link TrustedSessionOptions} record objects.
454
+ */
455
+ export declare const TrustedSessionOptions: Readonly<{
456
+ create: (partial: Partial<TrustedSessionOptions> & Required<Omit<TrustedSessionOptions, "capabilityManifestPath" | "boundedManifestPath">>) => TrustedSessionOptions;
457
+ new: (partial: Partial<TrustedSessionOptions> & Required<Omit<TrustedSessionOptions, "capabilityManifestPath" | "boundedManifestPath">>) => TrustedSessionOptions;
458
+ defaults: () => Partial<TrustedSessionOptions>;
459
+ }>;
460
+ /**
461
+ * Trusted host implementation of the existing remote transport contract.
462
+ * Identity is captured once when each channel is adapted. A bound channel
463
+ * must retain its parent's authenticated principal and connection generation.
464
+ */
465
+ export interface ForeignDriverEnvelopeChannel {
466
+ identity(): ForeignDriverChannelIdentity;
467
+ negotiate(asyncOpts_?: {
468
+ signal: AbortSignal;
469
+ }): Promise<ForeignDriverChannelCapabilities>;
470
+ exchange(request: ForeignDriverRequestEnvelope, asyncOpts_?: {
471
+ signal: AbortSignal;
472
+ }): Promise<ForeignDriverResponseEnvelope>;
473
+ bindSession(options: TrustedSessionOptions, asyncOpts_?: {
474
+ signal: AbortSignal;
475
+ }): Promise<ForeignDriverBoundChannel>;
476
+ cancel(requestId: string, asyncOpts_?: {
477
+ signal: AbortSignal;
478
+ }): Promise<void>;
479
+ close(asyncOpts_?: {
480
+ signal: AbortSignal;
481
+ }): Promise<void>;
482
+ }
483
+ /**
484
+ * Trusted host implementation of the existing remote transport contract.
485
+ * Identity is captured once when each channel is adapted. A bound channel
486
+ * must retain its parent's authenticated principal and connection generation.
487
+ */
488
+ export declare class ForeignDriverEnvelopeChannelImpl extends UniffiAbstractObject implements ForeignDriverEnvelopeChannel {
489
+ readonly [uniffiTypeNameSymbol] = "ForeignDriverEnvelopeChannelImpl";
490
+ readonly [destructorGuardSymbol]: UniffiGcObject;
491
+ readonly [pointerLiteralSymbol]: UniffiHandle;
492
+ private constructor();
493
+ identity(): ForeignDriverChannelIdentity;
494
+ negotiate(asyncOpts_?: {
495
+ signal: AbortSignal;
496
+ }): Promise<ForeignDriverChannelCapabilities>;
497
+ exchange(request: ForeignDriverRequestEnvelope, asyncOpts_?: {
498
+ signal: AbortSignal;
499
+ }): Promise<ForeignDriverResponseEnvelope>;
500
+ bindSession(options: TrustedSessionOptions, asyncOpts_?: {
501
+ signal: AbortSignal;
502
+ }): Promise<ForeignDriverBoundChannel>;
503
+ cancel(requestId: string, asyncOpts_?: {
504
+ signal: AbortSignal;
505
+ }): Promise<void>;
506
+ close(asyncOpts_?: {
507
+ signal: AbortSignal;
508
+ }): Promise<void>;
509
+ uniffiDestroy(): void;
510
+ static instanceOf(obj_: any): obj_ is ForeignDriverEnvelopeChannelImpl;
511
+ }
512
+ export type ForeignDriverBoundChannel = {
513
+ channel: ForeignDriverEnvelopeChannel;
514
+ };
515
+ /**
516
+ * Generated factory for {@link ForeignDriverBoundChannel} record objects.
517
+ */
518
+ export declare const ForeignDriverBoundChannel: Readonly<{
519
+ create: (partial: Partial<ForeignDriverBoundChannel> & Required<Omit<ForeignDriverBoundChannel, never>>) => ForeignDriverBoundChannel;
520
+ new: (partial: Partial<ForeignDriverBoundChannel> & Required<Omit<ForeignDriverBoundChannel, never>>) => ForeignDriverBoundChannel;
521
+ defaults: () => Partial<ForeignDriverBoundChannel>;
522
+ }>;
274
523
  export type ImageContent = {
275
524
  mimeType: string;
276
525
  dataBase64: string;
@@ -346,28 +595,6 @@ export declare const ToolResult: Readonly<{
346
595
  new: (partial: Partial<ToolResult> & Required<Omit<ToolResult, "errorCode" | "action" | "structuredJson" | "verification">>) => ToolResult;
347
596
  defaults: () => Partial<ToolResult>;
348
597
  }>;
349
- /**
350
- * Trusted host request for one immutable, connection-bound action surface.
351
- */
352
- export type TrustedSessionOptions = {
353
- publicSession: string;
354
- mode: SessionPermissionMode;
355
- ttlSeconds: bigint;
356
- idleTtlSeconds: bigint;
357
- capabilityManifestPath?: string;
358
- /**
359
- * Deprecated alias for `capability_manifest_path`.
360
- */
361
- boundedManifestPath?: string;
362
- };
363
- /**
364
- * Generated factory for {@link TrustedSessionOptions} record objects.
365
- */
366
- export declare const TrustedSessionOptions: Readonly<{
367
- create: (partial: Partial<TrustedSessionOptions> & Required<Omit<TrustedSessionOptions, "capabilityManifestPath" | "boundedManifestPath">>) => TrustedSessionOptions;
368
- new: (partial: Partial<TrustedSessionOptions> & Required<Omit<TrustedSessionOptions, "capabilityManifestPath" | "boundedManifestPath">>) => TrustedSessionOptions;
369
- defaults: () => Partial<TrustedSessionOptions>;
370
- }>;
371
598
  export declare enum ActionCompletion {
372
599
  NotStarted = 0,
373
600
  Completed = 1,
@@ -2853,6 +3080,119 @@ declare const _default: Readonly<{
2853
3080
  lift(value: UniffiByteArray): EmbeddedPermissionMode;
2854
3081
  lower(value: EmbeddedPermissionMode, alloc: import("@ubjs/core").RustBufferAllocator): UniffiByteArray;
2855
3082
  };
3083
+ FfiConverterTypeForeignDriverBoundChannel: {
3084
+ read(from: RustBuffer): ForeignDriverBoundChannel;
3085
+ write(value: ForeignDriverBoundChannel, into: RustBuffer): void;
3086
+ allocationSize(value: ForeignDriverBoundChannel): number;
3087
+ lift(value: UniffiByteArray): ForeignDriverBoundChannel;
3088
+ lower(value: ForeignDriverBoundChannel, alloc: import("@ubjs/core").RustBufferAllocator): UniffiByteArray;
3089
+ };
3090
+ FfiConverterTypeForeignDriverChannelCapabilities: {
3091
+ read(from: RustBuffer): ForeignDriverChannelCapabilities;
3092
+ write(value: ForeignDriverChannelCapabilities, into: RustBuffer): void;
3093
+ allocationSize(value: ForeignDriverChannelCapabilities): number;
3094
+ lift(value: UniffiByteArray): ForeignDriverChannelCapabilities;
3095
+ lower(value: ForeignDriverChannelCapabilities, alloc: import("@ubjs/core").RustBufferAllocator): UniffiByteArray;
3096
+ };
3097
+ FfiConverterTypeForeignDriverChannelError: {
3098
+ read(from: RustBuffer): {
3099
+ readonly tag: ForeignDriverChannelError_Tags.Failed;
3100
+ readonly inner: Readonly<{
3101
+ reason: string;
3102
+ }>;
3103
+ /**
3104
+ * @private
3105
+ * This field is private and should not be used, use `tag` instead.
3106
+ */
3107
+ readonly [uniffiTypeNameSymbol]: "ForeignDriverChannelError";
3108
+ name: string;
3109
+ message: string;
3110
+ stack?: string;
3111
+ cause?: unknown;
3112
+ };
3113
+ write(value: {
3114
+ readonly tag: ForeignDriverChannelError_Tags.Failed;
3115
+ readonly inner: Readonly<{
3116
+ reason: string;
3117
+ }>;
3118
+ /**
3119
+ * @private
3120
+ * This field is private and should not be used, use `tag` instead.
3121
+ */
3122
+ readonly [uniffiTypeNameSymbol]: "ForeignDriverChannelError";
3123
+ name: string;
3124
+ message: string;
3125
+ stack?: string;
3126
+ cause?: unknown;
3127
+ }, into: RustBuffer): void;
3128
+ allocationSize(value: {
3129
+ readonly tag: ForeignDriverChannelError_Tags.Failed;
3130
+ readonly inner: Readonly<{
3131
+ reason: string;
3132
+ }>;
3133
+ /**
3134
+ * @private
3135
+ * This field is private and should not be used, use `tag` instead.
3136
+ */
3137
+ readonly [uniffiTypeNameSymbol]: "ForeignDriverChannelError";
3138
+ name: string;
3139
+ message: string;
3140
+ stack?: string;
3141
+ cause?: unknown;
3142
+ }): number;
3143
+ lift(value: UniffiByteArray): {
3144
+ readonly tag: ForeignDriverChannelError_Tags.Failed;
3145
+ readonly inner: Readonly<{
3146
+ reason: string;
3147
+ }>;
3148
+ /**
3149
+ * @private
3150
+ * This field is private and should not be used, use `tag` instead.
3151
+ */
3152
+ readonly [uniffiTypeNameSymbol]: "ForeignDriverChannelError";
3153
+ name: string;
3154
+ message: string;
3155
+ stack?: string;
3156
+ cause?: unknown;
3157
+ };
3158
+ lower(value: {
3159
+ readonly tag: ForeignDriverChannelError_Tags.Failed;
3160
+ readonly inner: Readonly<{
3161
+ reason: string;
3162
+ }>;
3163
+ /**
3164
+ * @private
3165
+ * This field is private and should not be used, use `tag` instead.
3166
+ */
3167
+ readonly [uniffiTypeNameSymbol]: "ForeignDriverChannelError";
3168
+ name: string;
3169
+ message: string;
3170
+ stack?: string;
3171
+ cause?: unknown;
3172
+ }, alloc: import("@ubjs/core").RustBufferAllocator): UniffiByteArray;
3173
+ };
3174
+ FfiConverterTypeForeignDriverChannelIdentity: {
3175
+ read(from: RustBuffer): ForeignDriverChannelIdentity;
3176
+ write(value: ForeignDriverChannelIdentity, into: RustBuffer): void;
3177
+ allocationSize(value: ForeignDriverChannelIdentity): number;
3178
+ lift(value: UniffiByteArray): ForeignDriverChannelIdentity;
3179
+ lower(value: ForeignDriverChannelIdentity, alloc: import("@ubjs/core").RustBufferAllocator): UniffiByteArray;
3180
+ };
3181
+ FfiConverterTypeForeignDriverEnvelopeChannel: FfiConverterObjectWithCallbacks<ForeignDriverEnvelopeChannel>;
3182
+ FfiConverterTypeForeignDriverRequestEnvelope: {
3183
+ read(from: RustBuffer): ForeignDriverRequestEnvelope;
3184
+ write(value: ForeignDriverRequestEnvelope, into: RustBuffer): void;
3185
+ allocationSize(value: ForeignDriverRequestEnvelope): number;
3186
+ lift(value: UniffiByteArray): ForeignDriverRequestEnvelope;
3187
+ lower(value: ForeignDriverRequestEnvelope, alloc: import("@ubjs/core").RustBufferAllocator): UniffiByteArray;
3188
+ };
3189
+ FfiConverterTypeForeignDriverResponseEnvelope: {
3190
+ read(from: RustBuffer): ForeignDriverResponseEnvelope;
3191
+ write(value: ForeignDriverResponseEnvelope, into: RustBuffer): void;
3192
+ allocationSize(value: ForeignDriverResponseEnvelope): number;
3193
+ lift(value: UniffiByteArray): ForeignDriverResponseEnvelope;
3194
+ lower(value: ForeignDriverResponseEnvelope, alloc: import("@ubjs/core").RustBufferAllocator): UniffiByteArray;
3195
+ };
2856
3196
  FfiConverterTypeImageContent: {
2857
3197
  read(from: RustBuffer): ImageContent;
2858
3198
  write(value: ImageContent, into: RustBuffer): void;