feat(companion): extend platform bootstrap with system snapshot option
This commit is contained in:
@@ -56,6 +56,11 @@ export interface HeartbeatStatusInput {
|
||||
export interface PlatformBootstrapResult {
|
||||
register: NodeRegisterResult;
|
||||
capabilities: NodeCapabilitiesResult;
|
||||
systemCapabilities?: SystemCapabilitiesResult;
|
||||
}
|
||||
|
||||
export interface PlatformBootstrapOptions {
|
||||
includeSystemCapabilities?: boolean;
|
||||
}
|
||||
|
||||
export interface PlatformPutCanvasArtifactInput extends Omit<PutCanvasArtifactInput, 'sessionId'> {
|
||||
@@ -108,10 +113,21 @@ export class MacOSCompanionClient {
|
||||
});
|
||||
}
|
||||
|
||||
async bootstrap(): Promise<PlatformBootstrapResult> {
|
||||
const register = await this.register();
|
||||
const capabilities = await this.getCapabilities();
|
||||
return { register, capabilities };
|
||||
async bootstrap(options?: PlatformBootstrapOptions): Promise<PlatformBootstrapResult> {
|
||||
const result = await this.runtime.bootstrapNode(
|
||||
{
|
||||
nodeId: this.nodeId,
|
||||
role: this.role,
|
||||
protocolVersion: this.protocolVersion,
|
||||
capabilities: this.capabilities,
|
||||
},
|
||||
{ includeSystemCapabilities: options?.includeSystemCapabilities },
|
||||
);
|
||||
return {
|
||||
register: result.register,
|
||||
capabilities: result.capabilities,
|
||||
systemCapabilities: result.systemCapabilities,
|
||||
};
|
||||
}
|
||||
|
||||
getCapabilities(): Promise<NodeCapabilitiesResult> {
|
||||
@@ -248,10 +264,21 @@ export class IOSCompanionClient {
|
||||
});
|
||||
}
|
||||
|
||||
async bootstrap(): Promise<PlatformBootstrapResult> {
|
||||
const register = await this.register();
|
||||
const capabilities = await this.getCapabilities();
|
||||
return { register, capabilities };
|
||||
async bootstrap(options?: PlatformBootstrapOptions): Promise<PlatformBootstrapResult> {
|
||||
const result = await this.runtime.bootstrapNode(
|
||||
{
|
||||
nodeId: this.nodeId,
|
||||
role: this.role,
|
||||
protocolVersion: this.protocolVersion,
|
||||
capabilities: this.capabilities,
|
||||
},
|
||||
{ includeSystemCapabilities: options?.includeSystemCapabilities },
|
||||
);
|
||||
return {
|
||||
register: result.register,
|
||||
capabilities: result.capabilities,
|
||||
systemCapabilities: result.systemCapabilities,
|
||||
};
|
||||
}
|
||||
|
||||
getCapabilities(): Promise<NodeCapabilitiesResult> {
|
||||
@@ -388,10 +415,21 @@ export class AndroidCompanionClient {
|
||||
});
|
||||
}
|
||||
|
||||
async bootstrap(): Promise<PlatformBootstrapResult> {
|
||||
const register = await this.register();
|
||||
const capabilities = await this.getCapabilities();
|
||||
return { register, capabilities };
|
||||
async bootstrap(options?: PlatformBootstrapOptions): Promise<PlatformBootstrapResult> {
|
||||
const result = await this.runtime.bootstrapNode(
|
||||
{
|
||||
nodeId: this.nodeId,
|
||||
role: this.role,
|
||||
protocolVersion: this.protocolVersion,
|
||||
capabilities: this.capabilities,
|
||||
},
|
||||
{ includeSystemCapabilities: options?.includeSystemCapabilities },
|
||||
);
|
||||
return {
|
||||
register: result.register,
|
||||
capabilities: result.capabilities,
|
||||
systemCapabilities: result.systemCapabilities,
|
||||
};
|
||||
}
|
||||
|
||||
getCapabilities(): Promise<NodeCapabilitiesResult> {
|
||||
|
||||
Reference in New Issue
Block a user