@heybox/hb-sdk-protocol 0.8.1-alpha.3 → 0.8.1-alpha.7

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.
@@ -218,7 +218,6 @@ export interface NetworkRequestPayload {
218
218
  data?: unknown;
219
219
  headers?: MiniProgramNetworkHeaders;
220
220
  timeout?: number;
221
- withCredentials?: boolean;
222
221
  }
223
222
  export interface NetworkResponsePayload<T = unknown> {
224
223
  data: T;
@@ -357,7 +356,6 @@ interface NetworkDownloadBasePayload {
357
356
  params?: MiniProgramNetworkParams;
358
357
  headers?: MiniProgramNetworkHeaders;
359
358
  timeout?: number;
360
- withCredentials?: boolean;
361
359
  maxBytes?: number;
362
360
  }
363
361
  export type NetworkDownloadPayload = NetworkDownloadBasePayload & ({
@@ -463,4 +461,124 @@ export interface GetLeaderboardInfoResult {
463
461
  order: LeaderboardOrder;
464
462
  rankLimit: number;
465
463
  }
464
+ /** 受管桌面程序可选能力。 */
465
+ export type CompanionCapability = 'stdio' | 'attachments' | 'notifications';
466
+ export type CompanionTarget = 'windows-x64' | 'macos-arm64';
467
+ export type CompanionSignatureStatus = 'unsigned' | 'valid' | 'invalid' | 'unknown';
468
+ /** Companion alias 的跨构建、Runtime 与 Host 规范。 */
469
+ export declare const COMPANION_ALIAS_PATTERN: RegExp;
470
+ /** Companion Host 可跨 bridge 保留的稳定领域错误码。 */
471
+ export declare const COMPANION_ERROR_CODES: readonly ["COMPANION_UNSUPPORTED", "COMPANION_NOT_DECLARED", "COMPANION_TARGET_UNSUPPORTED", "COMPANION_NOT_PREPARED", "COMPANION_PREPARATION_CANCELLED", "COMPANION_DOWNLOAD_FAILED", "COMPANION_DESCRIPTOR_UNAVAILABLE", "COMPANION_ARCHIVE_INVALID", "COMPANION_INTEGRITY_FAILED", "COMPANION_ENTRYPOINT_INVALID", "COMPANION_USER_CANCELLED", "COMPANION_ELEVATION_DENIED", "COMPANION_OS_BLOCKED", "COMPANION_LAUNCH_FAILED", "COMPANION_SESSION_VERSION_MISMATCH", "COMPANION_SESSION_OWNERSHIP_LOST", "COMPANION_SESSION_EXITED", "COMPANION_PIPE_CLOSED", "COMPANION_OUTPUT_LIMIT", "COMPANION_PROCESS_CRASHED", "COMPANION_ATTACHMENT_NOT_FOUND", "COMPANION_NOTIFICATION_UNAVAILABLE", "COMPANION_TERMINATE_FAILED"];
472
+ export type CompanionErrorCode = (typeof COMPANION_ERROR_CODES)[number];
473
+ export interface CompanionInfo {
474
+ alias: string;
475
+ displayName: string;
476
+ target: CompanionTarget;
477
+ capabilities: readonly CompanionCapability[];
478
+ archiveBytes: number;
479
+ signatureStatus: CompanionSignatureStatus;
480
+ /** Host 确认的产物来源;旧 Host 缺省时来源未知。 */
481
+ source?: 'local-dev' | 'released';
482
+ }
483
+ export interface CompanionErrorSummary {
484
+ code: CompanionErrorCode;
485
+ message: string;
486
+ retryable: boolean;
487
+ }
488
+ export type CompanionPrepareProgress = {
489
+ phase: 'downloading';
490
+ loaded: number;
491
+ total?: number;
492
+ } | {
493
+ phase: 'verifying';
494
+ processed: number;
495
+ total: number;
496
+ } | {
497
+ phase: 'extracting';
498
+ processed: number;
499
+ total: number;
500
+ };
501
+ export type CompanionPreparationStatus = {
502
+ state: 'not-prepared';
503
+ } | {
504
+ state: 'preparing';
505
+ progress: CompanionPrepareProgress;
506
+ } | {
507
+ state: 'ready';
508
+ preparedAt: number;
509
+ } | {
510
+ state: 'failed';
511
+ error: CompanionErrorSummary;
512
+ };
513
+ export type CompanionExitReason = 'exited' | 'terminated' | 'crashed' | 'host-shutdown' | 'permission-revoked' | 'output-limit';
514
+ export type CompanionExit = {
515
+ reason: 'exited';
516
+ exitCode: number;
517
+ } | {
518
+ reason: Exclude<CompanionExitReason, 'exited'>;
519
+ exitCode?: number;
520
+ };
521
+ /** 活动 Session 的 wire 快照;不包含路径、PID 或原生句柄。 */
522
+ export interface CompanionSessionSnapshot {
523
+ id: string;
524
+ alias: string;
525
+ target: CompanionTarget;
526
+ capabilities: readonly CompanionCapability[];
527
+ state: 'running';
528
+ controllerGeneration: number;
529
+ }
530
+ export interface CompanionAliasPayload {
531
+ alias: string;
532
+ }
533
+ export type CompanionGetInfoPayload = CompanionAliasPayload;
534
+ export type CompanionGetInfoResult = CompanionInfo;
535
+ export type CompanionGetPreparationStatusPayload = CompanionAliasPayload;
536
+ export type CompanionGetPreparationStatusResult = CompanionPreparationStatus;
537
+ export type CompanionPreparePayload = CompanionAliasPayload;
538
+ export type CompanionPrepareResult = CompanionInfo;
539
+ export type CompanionCancelPreparationPayload = CompanionAliasPayload;
540
+ export type CompanionCancelPreparationResult = void;
541
+ export type CompanionGetActiveSessionPayload = CompanionAliasPayload;
542
+ export type CompanionGetActiveSessionResult = CompanionSessionSnapshot | undefined;
543
+ export type CompanionLaunchPayload = CompanionAliasPayload;
544
+ export type CompanionLaunchResult = CompanionSessionSnapshot;
545
+ export interface CompanionSessionControllerPayload {
546
+ sessionId: string;
547
+ controllerGeneration: number;
548
+ }
549
+ export interface CompanionSessionWritePayload extends CompanionSessionControllerPayload {
550
+ data: Uint8Array;
551
+ }
552
+ export type CompanionSessionWriteResult = void;
553
+ export type CompanionSessionCloseStdinPayload = CompanionSessionControllerPayload;
554
+ export type CompanionSessionCloseStdinResult = void;
555
+ export type CompanionSessionTerminatePayload = CompanionSessionControllerPayload;
556
+ export type CompanionSessionTerminateResult = void;
557
+ export interface CompanionSessionAckOutputPayload extends CompanionSessionControllerPayload {
558
+ stream: 'stdout' | 'stderr';
559
+ sequence: number;
560
+ }
561
+ export type CompanionSessionAckOutputResult = void;
562
+ export interface CompanionOpenAttachmentPayload extends CompanionSessionControllerPayload {
563
+ id: string;
564
+ }
565
+ export type CompanionOpenAttachmentResult = MiniProgramFileDescriptor;
566
+ export type CompanionNotificationCategory = 'completed' | 'failed' | 'stopped' | 'attention';
567
+ export interface CompanionShowNotificationPayload extends CompanionSessionControllerPayload {
568
+ category: CompanionNotificationCategory;
569
+ }
570
+ export type CompanionShowNotificationResult = void;
571
+ export interface CompanionSessionOutputPayload extends CompanionSessionControllerPayload {
572
+ stream: 'stdout' | 'stderr';
573
+ sequence: number;
574
+ data: Uint8Array;
575
+ }
576
+ export interface CompanionSessionExitPayload {
577
+ sessionId: string;
578
+ exit: CompanionExit;
579
+ }
580
+ export interface CompanionSessionOwnershipLostPayload {
581
+ sessionId: string;
582
+ controllerGeneration: number;
583
+ }
466
584
  export {};
@@ -1,5 +1,5 @@
1
1
  import type { MiniProgramBridgeMethod, MiniProgramCapabilityRisk } from './capabilities';
2
- export declare const MINI_PROGRAM_PERMISSION_KEYS: readonly ["userInfo", "steamLibrary", "share", "storage", "filesystem", "clipboard", "leaderboard", "network"];
2
+ export declare const MINI_PROGRAM_PERMISSION_KEYS: readonly ["userInfo", "steamLibrary", "share", "storage", "filesystem", "clipboard", "leaderboard", "network", "companion"];
3
3
  export type MiniProgramPermissionKey = (typeof MINI_PROGRAM_PERMISSION_KEYS)[number];
4
4
  export type MiniProgramPermissionRequirement = {
5
5
  readonly kind: 'none';
@@ -103,6 +103,15 @@ export declare const MINI_PROGRAM_PERMISSION_CATALOG: readonly [{
103
103
  };
104
104
  readonly methods: readonly ["network.request", "network.download"];
105
105
  readonly conditions: readonly ["声明后仍需平台批准,并继续执行网络安全策略。"];
106
+ }, {
107
+ readonly key: "companion";
108
+ readonly name: "桌面辅助应用";
109
+ readonly description: "下载、准备并运行随当前小程序版本发布的受管桌面程序。";
110
+ readonly access: "platform-approval";
111
+ readonly risk: "high";
112
+ readonly config: {};
113
+ readonly methods: readonly ["companion.getInfo", "companion.getPreparationStatus", "companion.prepare", "companion.cancelPreparation", "companion.getActiveSession", "companion.launch", "companion.session.write", "companion.session.closeStdin", "companion.session.terminate", "companion.session.ackOutput", "companion.openAttachment", "companion.showNotification"];
114
+ readonly conditions: readonly ["声明后仍需平台批准,并继续执行可信用户手势、Host 能力和当前版本 Manifest 校验。"];
106
115
  }];
107
116
  export declare const MINI_PROGRAM_NO_DECLARATION_METHODS: readonly ["user.revokeAuthorization", "ui.showToast", "ui.showLoading", "ui.hideLoading", "viewport.getWindowInfo", "viewport.setNavigationBarStyle", "device.vibrate", "navigation.close", "navigation.reload", "navigation.openAppPage"];
108
117
  export declare function isMiniProgramPermissionKey(key: string): key is MiniProgramPermissionKey;