@oniroproject/core 0.10.0 → 0.11.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.
package/dist/index.d.cts CHANGED
@@ -28,7 +28,7 @@ declare const noopProgress: ProgressReporter;
28
28
  * Keys read from the ConfigProvider by core. Frontends (CLI, VS Code extension)
29
29
  * implement the provider however they like (env vars, settings.json, etc.).
30
30
  */
31
- type ConfigKey = 'sdkRootDir' | 'cmdToolsPath' | 'hdcPath' | 'emulatorDir' | 'hapPath' | 'cmdToolsUrlLinux' | 'cmdToolsUrlWindows' | 'cmdToolsUrlMac' | 'emulatorUrl' | 'tmpDir' | 'sdkUrlBase' | 'applicationCertPath';
31
+ type ConfigKey = 'sdkRootDir' | 'cmdToolsPath' | 'hdcPath' | 'emulatorDir' | 'hapPath' | 'cmdToolsUrlLinux' | 'cmdToolsUrlWindows' | 'cmdToolsUrlMac' | 'emulatorUrl' | 'tmpDir' | 'sdkUrlBase' | 'applicationCertPath' | 'harmonyosSdkPath' | 'harmonyosAuthDir' | 'harmonyosSigningDir';
32
32
  interface ConfigProvider {
33
33
  /**
34
34
  * Get the configured value for `key`, or `fallback` if unset/empty.
@@ -44,6 +44,8 @@ declare const defaultPaths: {
44
44
  readonly sdkRootDir: () => string;
45
45
  readonly cmdToolsPath: () => string;
46
46
  readonly emulatorDir: () => string;
47
+ readonly harmonyosAuthDir: () => string;
48
+ readonly harmonyosSigningDir: () => string;
47
49
  readonly hapPath: "entry/build/default/outputs/default/entry-default-signed.hap";
48
50
  readonly emulatorUrl: "https://github.com/eclipse-oniro4openharmony/device_board_oniro/releases/latest/download/oniro_emulator.zip";
49
51
  readonly cmdToolsUrlLinux: "https://repo.huaweicloud.com/harmonyos/ohpm/5.1.0/commandline-tools-linux-x64-5.1.0.840.zip";
@@ -1438,6 +1440,11 @@ interface RunOhpmOptions {
1438
1440
  config: ConfigProvider;
1439
1441
  projectDir: string;
1440
1442
  args: readonly string[];
1443
+ /**
1444
+ * Explicit ohpm binary. HarmonyOS projects pass the one from their own install;
1445
+ * when omitted the OpenHarmony command-line tools' ohpm is used.
1446
+ */
1447
+ ohpmPath?: string;
1441
1448
  timeoutMs?: number;
1442
1449
  abortSignal?: AbortSignal;
1443
1450
  onOutput?: OutputSink;
@@ -1453,6 +1460,8 @@ declare function runOhpm(opts: RunOhpmOptions): Promise<HdcExecResult>;
1453
1460
  declare function ensureOhModules(opts: {
1454
1461
  config: ConfigProvider;
1455
1462
  projectDir: string;
1463
+ /** See {@link RunOhpmOptions.ohpmPath}. */
1464
+ ohpmPath?: string;
1456
1465
  abortSignal?: AbortSignal;
1457
1466
  onOutput?: OutputSink;
1458
1467
  logger?: Logger;
@@ -1758,6 +1767,300 @@ interface ApplyChangesResult {
1758
1767
  */
1759
1768
  declare function applyChanges(opts: ApplyChangesOptions): Promise<ApplyChangesResult>;
1760
1769
 
1770
+ /**
1771
+ * Which runtime a project targets. OpenHarmony projects build against the public
1772
+ * OpenHarmony SDK; HarmonyOS projects build against Huawei's HarmonyOS SDK and
1773
+ * need an AGC-issued certificate to sign (see `harmonyos/signing`).
1774
+ */
1775
+ type RuntimeOs = 'OpenHarmony' | 'HarmonyOS';
1776
+ /**
1777
+ * Detect the runtime a project targets from `build-profile.json5`.
1778
+ *
1779
+ * HarmonyOS only when the product declares `runtimeOS: "HarmonyOS"`, which DevEco
1780
+ * Studio writes for every HarmonyOS project. Anything else — no such field, or a
1781
+ * missing or unreadable profile — is OpenHarmony, so existing projects behave
1782
+ * exactly as they did before HarmonyOS support. Reads the named product, else the
1783
+ * first one.
1784
+ */
1785
+ declare function detectRuntimeOs(projectDir: string, productName?: string): RuntimeOs;
1786
+ /**
1787
+ * HarmonyOS SDK releases, mapping API level to the release version DevEco writes
1788
+ * into `compileSdkVersion`, for when the installed SDK does not name the requested
1789
+ * level itself. Only releases read from a real `sdk/default/sdk-pkg.json` are listed.
1790
+ */
1791
+ declare const HARMONYOS_SDK_VERSIONS: ReadonlyMap<number, string>;
1792
+ /**
1793
+ * The `"<version>(<api>)"` label a HarmonyOS product declares for an API level, or
1794
+ * undefined when no HarmonyOS release is known for it.
1795
+ */
1796
+ declare function harmonyOsSdkLabelForApi(api: number): string | undefined;
1797
+
1798
+ /**
1799
+ * A HarmonyOS SDK install. Unlike the OpenHarmony SDK, which `oniro-app sdk install`
1800
+ * downloads, the HarmonyOS SDK only ships inside DevEco Studio or the login-gated
1801
+ * HarmonyOS command-line tools, so oniro-app locates an existing install.
1802
+ */
1803
+ interface HarmonyOsSdk {
1804
+ /** The directory containing `default/`; hvigor receives it as `DEVECO_SDK_HOME`. */
1805
+ sdkPath: string;
1806
+ /** The DevEco Studio or command-line-tools install holding the SDK, its tools and JBR. */
1807
+ installRoot: string;
1808
+ /** From `default/sdk-pkg.json`, e.g. `HarmonyOS 6.1.1`. */
1809
+ displayName?: string;
1810
+ /**
1811
+ * The release as `compileSdkVersion` names it, e.g. `6.1.1(24)`, from
1812
+ * `default/sdk-pkg.json`. hvigor builds only projects that name this release.
1813
+ */
1814
+ version?: string;
1815
+ }
1816
+ /**
1817
+ * Locate a HarmonyOS SDK, or return null when none is installed.
1818
+ *
1819
+ * Order: `harmonyosSdkPath` (`ONIRO_HARMONYOS_SDK_PATH`, an install root or its
1820
+ * `sdk` directory), then DevEco Studio in its default location, then the
1821
+ * command-line tools at `cmdToolsPath` when they are the HarmonyOS edition.
1822
+ */
1823
+ declare function findHarmonyOsSdk(opts: {
1824
+ config: ConfigProvider;
1825
+ logger?: Logger;
1826
+ }): HarmonyOsSdk | null;
1827
+ /** Like `findHarmonyOsSdk`, but throws an actionable error when none is installed. */
1828
+ declare function requireHarmonyOsSdk(opts: {
1829
+ config: ConfigProvider;
1830
+ logger?: Logger;
1831
+ }): HarmonyOsSdk;
1832
+
1833
+ type HuaweiSiteCode = 'CN' | 'EU' | 'SG' | 'RU';
1834
+ interface HuaweiSite {
1835
+ code: HuaweiSiteCode;
1836
+ /** `siteId` as reported by the login callback. */
1837
+ siteId: string;
1838
+ /** The token exchange's `site` parameter. The European site's is `DE`, not `EU`. */
1839
+ siteParam: string;
1840
+ /** Sign-in page and `authrouter` token endpoints. */
1841
+ loginUrl: string;
1842
+ /** AppGallery Connect certificate, device and profile calls. */
1843
+ agcBaseUrl: string;
1844
+ language: string;
1845
+ }
1846
+ /**
1847
+ * Regional endpoints.
1848
+ *
1849
+ * Upstream hardcodes the Chinese-mainland hosts and refuses any other `siteId`.
1850
+ * DevEco Studio resolves every host through Huawei's Global Routing Service (GRS),
1851
+ * service `com.huawei.devecostudio.region`, by the user's country; these are its
1852
+ * answers for keys `spaceintroduce` (sign-in, token exchange) and `agcsign`
1853
+ * (signing). If a region stops working, diff against
1854
+ *
1855
+ * POST https://grs.dbankcloud.com/grs/2.0/router?issue_country=<ISO>&app_name=devecostudio
1856
+ *
1857
+ * The `siteId` → `site` mapping is DevEco Studio's own (1 CN, 5 SG, 7 DE, 8 RU).
1858
+ */
1859
+ declare const HUAWEI_SITES: Readonly<Record<HuaweiSiteCode, HuaweiSite>>;
1860
+
1861
+ /** A signed-in Huawei developer account. */
1862
+ interface HuaweiUserInfo {
1863
+ userId: string;
1864
+ userName: string;
1865
+ /** AGC OAuth2 token. Short-lived — minted from the stored JWT on demand. */
1866
+ accessToken: string;
1867
+ countryCode: string;
1868
+ /** Region the account is registered on — decides which hosts to talk to. */
1869
+ siteCode: HuaweiSiteCode;
1870
+ /**
1871
+ * Whether the account completed real-name verification. Accounts that did not
1872
+ * can still sign once they accept the developer agreement.
1873
+ */
1874
+ isRealName: boolean;
1875
+ }
1876
+ /** Acceptance state of the HUAWEI Developer Basic Service Agreement. */
1877
+ interface DeveloperAgreementStatus {
1878
+ /** Some version has been accepted. */
1879
+ signed: boolean;
1880
+ /** The current version has been accepted. */
1881
+ latest: boolean;
1882
+ }
1883
+ /** An AGC team the signed-in user belongs to. Certificates are issued per team. */
1884
+ interface HuaweiTeam {
1885
+ id: string;
1886
+ name: string;
1887
+ }
1888
+ /** What an AGC call needs: who, which team, a fresh access token, and the regional host. */
1889
+ interface AgcAuthInfo {
1890
+ uid: string;
1891
+ teamId: string;
1892
+ accessToken: string;
1893
+ /** Regional AGC signing host, e.g. `https://connect-api-dre.cloud.huawei.com`. */
1894
+ baseUrl: string;
1895
+ }
1896
+
1897
+ /**
1898
+ * A signed-in account: the durable credential plus its region, since every later
1899
+ * request goes to that region's hosts and only the login callback reports it.
1900
+ */
1901
+ interface StoredSession {
1902
+ jwtToken: string;
1903
+ /** `siteId` from the login callback. */
1904
+ siteId: string;
1905
+ }
1906
+ interface TokenStore {
1907
+ save(session: StoredSession): void;
1908
+ load(): StoredSession | null;
1909
+ clear(): void;
1910
+ /** Where the encrypted token lives — surfaced by `auth status`. */
1911
+ readonly tokenPath: string;
1912
+ }
1913
+ interface CreateTokenStoreOptions {
1914
+ config: ConfigProvider;
1915
+ logger?: Logger;
1916
+ }
1917
+ /**
1918
+ * Persist the Huawei account JWT under the configured auth directory
1919
+ * (`ONIRO_HARMONYOS_AUTH_DIR`, default `~/.oniro/harmonyos`).
1920
+ *
1921
+ * The token is encrypted with a random key kept in a *different* directory, so a
1922
+ * stray copy of one of them — a config-dir backup, a synced dotfile repo — does not
1923
+ * yield the token. Both live on the same disk, so this is no defence against a local
1924
+ * attacker who can read the user's whole home. Treat the token as a credential.
1925
+ */
1926
+ declare function createTokenStore(opts: CreateTokenStoreOptions): TokenStore;
1927
+
1928
+ interface HttpResponse {
1929
+ /** Body as text. Several endpoints send JSON under a non-JSON content type. */
1930
+ data: string;
1931
+ statusCode: number;
1932
+ /** Reason phrase. Some AGC errors are reported only here. Empty over HTTP/2. */
1933
+ statusText: string;
1934
+ }
1935
+ interface HttpRequestOptions {
1936
+ headers?: Record<string, string>;
1937
+ query?: Record<string, unknown>;
1938
+ /** Sent as JSON. */
1939
+ body?: unknown;
1940
+ timeoutMs?: number;
1941
+ }
1942
+ /**
1943
+ * `get`, `post` and `delete` resolve for any HTTP status: AGC reports failures
1944
+ * through the status, the reason phrase and the body, so callers read all three.
1945
+ * `getBinary` is for downloads and rejects on a non-2xx status.
1946
+ */
1947
+ interface HarmonyOsHttpClient {
1948
+ get(url: string, opts?: HttpRequestOptions): Promise<HttpResponse>;
1949
+ post(url: string, opts?: HttpRequestOptions): Promise<HttpResponse>;
1950
+ delete(url: string, opts?: HttpRequestOptions): Promise<HttpResponse>;
1951
+ getBinary(url: string, opts?: HttpRequestOptions): Promise<Buffer>;
1952
+ }
1953
+
1954
+ interface HarmonyOsSessionOptions {
1955
+ config: ConfigProvider;
1956
+ logger?: Logger;
1957
+ http?: HarmonyOsHttpClient;
1958
+ tokenStore?: TokenStore;
1959
+ /** Called with the sign-in URL before the browser opens, so a CLI can print it. */
1960
+ onLoginUrl?: (url: string) => void;
1961
+ }
1962
+ interface HarmonyOsSession {
1963
+ login(opts?: {
1964
+ timeoutMs?: number;
1965
+ }): Promise<HuaweiUserInfo>;
1966
+ /** Resolves false when there was no session to end. */
1967
+ logout(): Promise<boolean>;
1968
+ /** The signed-in account, or null. `refresh` mints a fresh AGC access token. */
1969
+ getUserInfo(opts?: {
1970
+ refresh?: boolean;
1971
+ }): Promise<HuaweiUserInfo | null>;
1972
+ listTeams(): Promise<HuaweiTeam[]>;
1973
+ /** Credentials for AGC calls. Throws when signed out, or when the account may not sign. */
1974
+ resolveAgcAuth(opts?: {
1975
+ teamId?: string;
1976
+ }): Promise<AgcAuthInfo>;
1977
+ /** Whether the account accepted the developer agreement; null when undeterminable. */
1978
+ getDeveloperAgreement(user: HuaweiUserInfo): Promise<DeveloperAgreementStatus | null>;
1979
+ readonly tokenPath: string;
1980
+ }
1981
+ declare function createHarmonyOsSession(opts: HarmonyOsSessionOptions): HarmonyOsSession;
1982
+
1983
+ /** Raised when AppGallery Connect rejects a request, or its output does not check out. */
1984
+ declare class AgcError extends OniroError {
1985
+ readonly statusCode?: number | undefined;
1986
+ readonly retCode?: string | undefined;
1987
+ constructor(message: string, statusCode?: number | undefined, retCode?: string | undefined);
1988
+ }
1989
+ /** User-facing messages for the signing failure modes; each says what to do next. */
1990
+ declare const SIGNING_ERRORS: {
1991
+ readonly FORBIDDEN: "This account has no AppGallery Connect permission for the selected team. Ask the team administrator for access, or pass --team-id for a team you do have access to (`oniro-app auth team list`).";
1992
+ readonly UNAUTHORIZED: "AppGallery Connect rejected the access token. Run `oniro-app auth login` again.";
1993
+ readonly NETWORK: "Could not reach AppGallery Connect. Check the network connection and any proxy configuration (HTTPS_PROXY / HTTP_PROXY).";
1994
+ readonly USER_NOT_HARMONY: "This Huawei account is not enrolled for HarmonyOS development. Request HarmonyOS access for it in AppGallery Connect.";
1995
+ readonly CERT_REQUEST: "AppGallery Connect did not issue the debug certificate.";
1996
+ readonly CERT_LIMIT: "This team has reached its debug-certificate limit. Delete an unused certificate in AppGallery Connect and retry.";
1997
+ readonly DEVICE_ADD: "AppGallery Connect did not register the device.";
1998
+ readonly DEVICE_LIMIT: "This team has reached its device limit. Remove an unused device in AppGallery Connect and retry.";
1999
+ readonly DEVICE_NAME_REPEAT: "A device with that name is already registered. Retry.";
2000
+ readonly DEVICE_NONE: "No device is connected and none is registered to this team, but a debug profile must name at least one. Connect a device and retry.";
2001
+ readonly PROFILE_ADD: "AppGallery Connect did not issue the provisioning profile.";
2002
+ readonly PROFILE_NAME_REPEAT: "A provisioning profile with that name already exists in AppGallery Connect. Retry.";
2003
+ readonly PROVISION_LIMIT: "This team has reached its debug-profile limit. Delete unused profiles in AppGallery Connect and retry.";
2004
+ readonly CERT_INVALID: "AppGallery Connect returned an unreadable certificate. Retry with --force.";
2005
+ readonly CERT_EXPIRED: "The signing certificate is outside its validity window. Check the system clock, then retry with --force.";
2006
+ readonly CERT_PROFILE_MISMATCH: "The provisioning profile was not issued for the downloaded certificate. Retry with --force.";
2007
+ readonly KEYSTORE_CERT_MISMATCH: "The local keystore does not hold the key the downloaded certificate was issued for. Retry with --force.";
2008
+ readonly BUNDLE_NAME_INVALID: "Invalid bundle name. It must be 7–128 characters, start with a letter, and have at least three dot-separated segments (for example com.example.app).";
2009
+ };
2010
+
2011
+ /** The four files of a HarmonyOS signing setup. */
2012
+ interface SigningMaterialPaths {
2013
+ p12Path: string;
2014
+ csrPath: string;
2015
+ cerPath: string;
2016
+ profilePath: string;
2017
+ }
2018
+
2019
+ /** The fields of a provisioning profile that decide whether it can be reused. */
2020
+ interface ProvisionProfileInfo {
2021
+ bundleName?: string;
2022
+ /** The AGC team the profile was issued to. */
2023
+ developerId?: string;
2024
+ notAfter?: Date;
2025
+ /** Uppercased UDIDs the debug profile is valid for. */
2026
+ deviceIds: string[];
2027
+ aclPermissions: string[];
2028
+ /** PEM of the certificate the profile was issued for. */
2029
+ developmentCertificate?: string;
2030
+ }
2031
+ /** Read a `.p7b` profile; null when it is missing or unreadable, which means "regenerate". */
2032
+ declare function readProvisionProfile(profilePath: string): ProvisionProfileInfo | null;
2033
+
2034
+ interface HarmonyOsAutoSignOptions {
2035
+ config: ConfigProvider;
2036
+ session: HarmonyOsSession;
2037
+ projectDir: string;
2038
+ /** Default `default`. */
2039
+ productName?: string;
2040
+ /** AGC team. Defaults to the signed-in account's own id. */
2041
+ teamId?: string;
2042
+ /** Regenerate even when the existing material is still valid. */
2043
+ force?: boolean;
2044
+ http?: HarmonyOsHttpClient;
2045
+ logger?: Logger;
2046
+ }
2047
+ interface HarmonyOsSigningResult {
2048
+ bundleName: string;
2049
+ teamId: string;
2050
+ paths: SigningMaterialPaths;
2051
+ /** False when still-valid material was reused without asking AGC for anything. */
2052
+ regenerated: boolean;
2053
+ /** UDIDs the profile is valid for. */
2054
+ deviceIds: string[];
2055
+ }
2056
+ /**
2057
+ * Sign a HarmonyOS project with the signed-in Huawei developer account, the way
2058
+ * DevEco Studio's automatic signing does: generate a keystore and CSR, have AGC
2059
+ * issue a debug certificate, register connected devices, issue a debug profile
2060
+ * naming the team's devices, and write the encrypted signingConfig.
2061
+ */
2062
+ declare function harmonyOsAutoSign(opts: HarmonyOsAutoSignOptions): Promise<HarmonyOsSigningResult>;
2063
+
1761
2064
  declare const VERSION: string;
1762
2065
 
1763
- export { ALL_SDKS, APL_VALUES, APP_FEATURE_VALUES, type AbilityInfo, type Apl, type AppFeature, type ApplyChangesOptions, type ApplyChangesResult, type BuildHapOptions, type BuildHapResult, type BundleOptions, CancelledError, type CaptureBurstOptions, ChecksumMismatchError, CmdToolsNotInstalledError, type CmdToolsStatus, type CmdWrapper, type CodelinterFinding, type CodelinterResult, CommandFailedError, type ConfigKey, type ConfigProvider, type CreateScaffoldOptions, type CreateScaffoldResult, type DeviceFullInfo, type DeviceInfo, type DiscoverHapsOptions, type DisplaySize, type DisplaySizeOptions, type DownloadOptions, type DumpLayoutOptions, type DumpLayoutResult, type DumpLogOptions, type ExtractZipOptions, type GenerateSigningConfigsOptions, type GestureUitestOptions, type GetDeviceInfoOptions, type HapAssetDiff, type HdcExecOptions, type HdcExecResult, type HdcShellOptions, type HidumperOptions, type HilogEntry, type HilogLevel, INSTALL_TMP_DIRNAME, type InputType, type InstallAppOptions, type InstallAppResult, type InstallCmdToolsOptions, type InstallEmulatorOptions, type InstallMethod, type InstallSdkOptions, type InstallTempDir, type InstallTempDirOptions, InsufficientSpaceError, type LaunchAppOptions, type LayoutNode, type Logger, type ModuleHaps, OHOS_URL_BASE, type OniroContext, OniroError, type OsFolder, type OutputSink, type ParamOptions, type PrepareSigningOptions, type PrepareSigningResult, type ProgressReporter, type ProgressUpdate, type ProjectModule, type Prompter, type RawLayoutNode, type RawTouchEvent, type RebootDecision, type RebootOptions, type RecvFileOptions, type RunCodelinterOptions, type RunHvigorwOptions, type RunHvigorwResult, type RunOhpmOptions, type RunProcessOptions, type RunningProcess, type ScreenDump, type Screenshot, type ScreenshotOptions, type SdkArchiveInfo, type SdkInfo, SdkNotInstalledError, type SdkRelease, type SendFileOptions, type SendGestureOptions, type SendInputOptions, type SendRawTouchOptions, type SetHilogLevelOptions, type SigningKind, type SigningPasswords, type StartEmulatorOptions, type StreamHilogOptions, TMP_DIR_HINT, type TemplateOption, UnsupportedPlatformError, VERSION, type WaitForBootOptions, type WaitForBundleOptions, type WaitForConditionOptions, type WaitForLogOptions, type WatchLogOptions, type Waypoint, applyChanges, attemptHdcConnection, buildCmdWrapper, buildGestureCommands, buildGestureUitestCommand, buildHap, buildHvigorwArgs, buildInputCommand, buildRawTouchCommand, captureBurst, consoleLogger, createInstallTempDir, createMaterial, createScaffold, createTempWorkDir, decideInstallMethod, decideReboot, decryptPwd, dedupEntries, defaultContext, defaultPaths, detectAaStartFailure, detectProjectSdkVersion, detectSigningConfigNames, diffEntryNames, diffHapAssets, discoverHaps, downloadAndInstallSdk, downloadFile, dumpLayout, dumpLog, dumpRenderService, dumpScreen, dumpWindow, encryptPwd, ensureFreeSpace, ensureOhModules, ensureOk, ensureRemoteOk, escapeCmdArgument, escapeCmdCommand, extractTarball, extractZipWithProgress, findAppProcessId, findCmdToolsSourceDir, findRunningProcess, forceStop, formatBytes, generateSigningConfigs, getBundleName, getCmdToolsBin, getCmdToolsDownloadUrl, getCmdToolsPath, getCmdToolsStatus, getDeviceInfo, getDisplaySize, getEmulatorDir, getFreeSpaceBytes, getHdcPath, getHvigorwPath, getInstalledSdks, getKey, getMainAbility, getOhosBaseSdkHome, getOhpmPath, getOsFolder, getSdkFilename, getSdkRootDir, getSupportedSdksForUi, hdcExec, installApp, installCmdTools, installEmulator, isCmdToolsInstalled, isEmulatorInstalled, isOutOfSpaceError, isRamBackedPath, isValidBundleName, isValidProjectName, killProcessTree, launchApp, listAbilities, listDevices, listModules, listRunningProcesses, listTemplates, needsCmdWrapper, nonInteractivePrompter, noopLogger, noopProgress, paramGet, paramSet, parseBounds, parseCodelinterFindings, parseDeviceList, parseHilogLine, parseMainAbilityFromBmDump, parseRemoteExit, pickSigningKind, prepareSigning, pruneLayout, readJson5File, readJsonFile, reboot, recvFile, removeCmdTools, removeEmulator, removeSdk, removeTempWorkDir, resolveTmpRoot, runCodelinter, runHvigorw, runOhpm, runProcess, scopedLogger, selectDevice, sendFile, sendGesture, sendInput, sendRawTouch, setHilogLevel, shell, shellChecked, spawnCompat, startEmulator, staticConfig, stopEmulator, streamHilog, takeScreenshot, toLongPath, toSpaceError, uninstallApp, validateTemplateLayout, verifySha256, waitForBoot, waitForBundle, waitForCondition, waitForLog, watchLog, waypointsToRawEvents, writeJson5File, writeJsonFile };
2066
+ export { ALL_SDKS, APL_VALUES, APP_FEATURE_VALUES, type AbilityInfo, type AgcAuthInfo, AgcError, type Apl, type AppFeature, type ApplyChangesOptions, type ApplyChangesResult, type BuildHapOptions, type BuildHapResult, type BundleOptions, CancelledError, type CaptureBurstOptions, ChecksumMismatchError, CmdToolsNotInstalledError, type CmdToolsStatus, type CmdWrapper, type CodelinterFinding, type CodelinterResult, CommandFailedError, type ConfigKey, type ConfigProvider, type CreateScaffoldOptions, type CreateScaffoldResult, type DeveloperAgreementStatus, type DeviceFullInfo, type DeviceInfo, type DiscoverHapsOptions, type DisplaySize, type DisplaySizeOptions, type DownloadOptions, type DumpLayoutOptions, type DumpLayoutResult, type DumpLogOptions, type ExtractZipOptions, type GenerateSigningConfigsOptions, type GestureUitestOptions, type GetDeviceInfoOptions, HARMONYOS_SDK_VERSIONS, HUAWEI_SITES, type HapAssetDiff, type HarmonyOsAutoSignOptions, type HarmonyOsSdk, type HarmonyOsSession, type HarmonyOsSessionOptions, type HarmonyOsSigningResult, type HdcExecOptions, type HdcExecResult, type HdcShellOptions, type HidumperOptions, type HilogEntry, type HilogLevel, type HuaweiSite, type HuaweiSiteCode, type HuaweiTeam, type HuaweiUserInfo, INSTALL_TMP_DIRNAME, type InputType, type InstallAppOptions, type InstallAppResult, type InstallCmdToolsOptions, type InstallEmulatorOptions, type InstallMethod, type InstallSdkOptions, type InstallTempDir, type InstallTempDirOptions, InsufficientSpaceError, type LaunchAppOptions, type LayoutNode, type Logger, type ModuleHaps, OHOS_URL_BASE, type OniroContext, OniroError, type OsFolder, type OutputSink, type ParamOptions, type PrepareSigningOptions, type PrepareSigningResult, type ProgressReporter, type ProgressUpdate, type ProjectModule, type Prompter, type ProvisionProfileInfo, type RawLayoutNode, type RawTouchEvent, type RebootDecision, type RebootOptions, type RecvFileOptions, type RunCodelinterOptions, type RunHvigorwOptions, type RunHvigorwResult, type RunOhpmOptions, type RunProcessOptions, type RunningProcess, type RuntimeOs, SIGNING_ERRORS, type ScreenDump, type Screenshot, type ScreenshotOptions, type SdkArchiveInfo, type SdkInfo, SdkNotInstalledError, type SdkRelease, type SendFileOptions, type SendGestureOptions, type SendInputOptions, type SendRawTouchOptions, type SetHilogLevelOptions, type SigningKind, type SigningMaterialPaths, type SigningPasswords, type StartEmulatorOptions, type StoredSession, type StreamHilogOptions, TMP_DIR_HINT, type TemplateOption, type TokenStore, UnsupportedPlatformError, VERSION, type WaitForBootOptions, type WaitForBundleOptions, type WaitForConditionOptions, type WaitForLogOptions, type WatchLogOptions, type Waypoint, applyChanges, attemptHdcConnection, buildCmdWrapper, buildGestureCommands, buildGestureUitestCommand, buildHap, buildHvigorwArgs, buildInputCommand, buildRawTouchCommand, captureBurst, consoleLogger, createHarmonyOsSession, createInstallTempDir, createMaterial, createScaffold, createTempWorkDir, createTokenStore, decideInstallMethod, decideReboot, decryptPwd, dedupEntries, defaultContext, defaultPaths, detectAaStartFailure, detectProjectSdkVersion, detectRuntimeOs, detectSigningConfigNames, diffEntryNames, diffHapAssets, discoverHaps, downloadAndInstallSdk, downloadFile, dumpLayout, dumpLog, dumpRenderService, dumpScreen, dumpWindow, encryptPwd, ensureFreeSpace, ensureOhModules, ensureOk, ensureRemoteOk, escapeCmdArgument, escapeCmdCommand, extractTarball, extractZipWithProgress, findAppProcessId, findCmdToolsSourceDir, findHarmonyOsSdk, findRunningProcess, forceStop, formatBytes, generateSigningConfigs, getBundleName, getCmdToolsBin, getCmdToolsDownloadUrl, getCmdToolsPath, getCmdToolsStatus, getDeviceInfo, getDisplaySize, getEmulatorDir, getFreeSpaceBytes, getHdcPath, getHvigorwPath, getInstalledSdks, getKey, getMainAbility, getOhosBaseSdkHome, getOhpmPath, getOsFolder, getSdkFilename, getSdkRootDir, getSupportedSdksForUi, harmonyOsAutoSign, harmonyOsSdkLabelForApi, hdcExec, installApp, installCmdTools, installEmulator, isCmdToolsInstalled, isEmulatorInstalled, isOutOfSpaceError, isRamBackedPath, isValidBundleName, isValidProjectName, killProcessTree, launchApp, listAbilities, listDevices, listModules, listRunningProcesses, listTemplates, needsCmdWrapper, nonInteractivePrompter, noopLogger, noopProgress, paramGet, paramSet, parseBounds, parseCodelinterFindings, parseDeviceList, parseHilogLine, parseMainAbilityFromBmDump, parseRemoteExit, pickSigningKind, prepareSigning, pruneLayout, readJson5File, readJsonFile, readProvisionProfile, reboot, recvFile, removeCmdTools, removeEmulator, removeSdk, removeTempWorkDir, requireHarmonyOsSdk, resolveTmpRoot, runCodelinter, runHvigorw, runOhpm, runProcess, scopedLogger, selectDevice, sendFile, sendGesture, sendInput, sendRawTouch, setHilogLevel, shell, shellChecked, spawnCompat, startEmulator, staticConfig, stopEmulator, streamHilog, takeScreenshot, toLongPath, toSpaceError, uninstallApp, validateTemplateLayout, verifySha256, waitForBoot, waitForBundle, waitForCondition, waitForLog, watchLog, waypointsToRawEvents, writeJson5File, writeJsonFile };