Publish Claude Code Binaries / Stage and publish binaries (push) Canceled after 0s
Publish Tutti App Runtime / Build darwin-arm64 (push) Canceled after 0s
Publish Tutti App Runtime / Build darwin-amd64 (push) Canceled after 0s
Publish Tutti App Runtime / Build linux-amd64 (push) Canceled after 0s
Publish Tutti App Runtime / Build windows-amd64 (push) Canceled after 0s
Sync Tutti Agent Skills / sync (push) Canceled after 0s
Windows Agent Adapters / Test Windows agent adapters (push) Canceled after 0s
Windows Daemon Adapters / Test Windows daemon adapters (push) Canceled after 0s
Publish Tutti App Runtime / Publish runtime catalog (push) Canceled after 0s
233 lines
6.8 KiB
YAML
233 lines
6.8 KiB
YAML
tags:
|
|
- name: mobile-remote-access
|
|
description: Desktop-owned device pairing lifecycle for authenticated mobile remote access
|
|
paths:
|
|
/v1/mobile-remote-access/pairing-challenges:
|
|
post:
|
|
operationId: startMobileRemotePairing
|
|
tags:
|
|
- mobile-remote-access
|
|
summary: Register this desktop device and create a short-lived pairing challenge
|
|
responses:
|
|
"200":
|
|
description: Pairing challenge created
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: "#/components/schemas/MobileRemotePairingStartResponse"
|
|
"401":
|
|
$ref: "#/components/responses/UnauthorizedError"
|
|
"405":
|
|
$ref: "#/components/responses/MethodNotAllowedError"
|
|
"503":
|
|
$ref: "#/components/responses/ServiceUnavailableError"
|
|
/v1/mobile-remote-access/pairing-challenges/{challengeID}:
|
|
get:
|
|
operationId: getMobileRemotePairingChallenge
|
|
tags:
|
|
- mobile-remote-access
|
|
summary: Read the latest pairing challenge state
|
|
parameters:
|
|
- $ref: "#/components/parameters/MobileRemoteChallengeID"
|
|
responses:
|
|
"200":
|
|
description: Current pairing challenge
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: "#/components/schemas/MobileRemotePairingChallengeResponse"
|
|
"400":
|
|
$ref: "#/components/responses/InvalidRequestError"
|
|
"401":
|
|
$ref: "#/components/responses/UnauthorizedError"
|
|
"405":
|
|
$ref: "#/components/responses/MethodNotAllowedError"
|
|
"503":
|
|
$ref: "#/components/responses/ServiceUnavailableError"
|
|
/v1/mobile-remote-access/pairing-challenges/{challengeID}/confirm:
|
|
post:
|
|
operationId: confirmMobileRemotePairing
|
|
tags:
|
|
- mobile-remote-access
|
|
summary: Confirm a claimed challenge with the daemon-held target device key
|
|
parameters:
|
|
- $ref: "#/components/parameters/MobileRemoteChallengeID"
|
|
responses:
|
|
"200":
|
|
description: Pairing confirmed
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: "#/components/schemas/MobileRemotePairingConfirmResponse"
|
|
"400":
|
|
$ref: "#/components/responses/InvalidRequestError"
|
|
"401":
|
|
$ref: "#/components/responses/UnauthorizedError"
|
|
"405":
|
|
$ref: "#/components/responses/MethodNotAllowedError"
|
|
"503":
|
|
$ref: "#/components/responses/ServiceUnavailableError"
|
|
/v1/mobile-remote-access/pairings:
|
|
get:
|
|
operationId: listMobileRemotePairings
|
|
tags:
|
|
- mobile-remote-access
|
|
summary: List pairings for this desktop device
|
|
responses:
|
|
"200":
|
|
description: Pairings for this desktop device
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: "#/components/schemas/MobileRemotePairingListResponse"
|
|
"401":
|
|
$ref: "#/components/responses/UnauthorizedError"
|
|
"405":
|
|
$ref: "#/components/responses/MethodNotAllowedError"
|
|
"503":
|
|
$ref: "#/components/responses/ServiceUnavailableError"
|
|
/v1/mobile-remote-access/pairings/{pairingID}:
|
|
delete:
|
|
operationId: revokeMobileRemotePairing
|
|
tags:
|
|
- mobile-remote-access
|
|
summary: Revoke an active pairing
|
|
parameters:
|
|
- $ref: "#/components/parameters/MobileRemotePairingID"
|
|
responses:
|
|
"200":
|
|
description: Pairing revoked
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: "#/components/schemas/MobileRemotePairingResponse"
|
|
"400":
|
|
$ref: "#/components/responses/InvalidRequestError"
|
|
"401":
|
|
$ref: "#/components/responses/UnauthorizedError"
|
|
"405":
|
|
$ref: "#/components/responses/MethodNotAllowedError"
|
|
"503":
|
|
$ref: "#/components/responses/ServiceUnavailableError"
|
|
components:
|
|
parameters:
|
|
MobileRemoteChallengeID:
|
|
name: challengeID
|
|
in: path
|
|
required: true
|
|
schema:
|
|
type: string
|
|
minLength: 1
|
|
MobileRemotePairingID:
|
|
name: pairingID
|
|
in: path
|
|
required: true
|
|
schema:
|
|
type: string
|
|
minLength: 1
|
|
schemas:
|
|
MobileRemotePairingChallenge:
|
|
type: object
|
|
additionalProperties: false
|
|
required:
|
|
- challengeId
|
|
- targetUserDeviceId
|
|
- state
|
|
- revision
|
|
- expiresAt
|
|
properties:
|
|
challengeId:
|
|
type: string
|
|
targetUserDeviceId:
|
|
type: string
|
|
controllerUserDeviceId:
|
|
type: string
|
|
state:
|
|
type: string
|
|
pairingId:
|
|
type: string
|
|
revision:
|
|
type: integer
|
|
format: int64
|
|
minimum: 0
|
|
expiresAt:
|
|
type: string
|
|
format: date-time
|
|
MobileRemoteDevicePairing:
|
|
type: object
|
|
additionalProperties: false
|
|
required:
|
|
- pairingId
|
|
- controllerUserDeviceId
|
|
- targetUserDeviceId
|
|
- state
|
|
- revision
|
|
- confirmedAt
|
|
properties:
|
|
pairingId:
|
|
type: string
|
|
controllerUserDeviceId:
|
|
type: string
|
|
targetUserDeviceId:
|
|
type: string
|
|
state:
|
|
type: string
|
|
revision:
|
|
type: integer
|
|
format: int64
|
|
minimum: 0
|
|
confirmedAt:
|
|
type: string
|
|
format: date-time
|
|
revokedAt:
|
|
type: string
|
|
format: date-time
|
|
MobileRemotePairingStartResponse:
|
|
type: object
|
|
additionalProperties: false
|
|
required:
|
|
- challenge
|
|
- qrPayload
|
|
properties:
|
|
challenge:
|
|
$ref: "#/components/schemas/MobileRemotePairingChallenge"
|
|
qrPayload:
|
|
type: string
|
|
MobileRemotePairingChallengeResponse:
|
|
type: object
|
|
additionalProperties: false
|
|
required:
|
|
- challenge
|
|
properties:
|
|
challenge:
|
|
$ref: "#/components/schemas/MobileRemotePairingChallenge"
|
|
MobileRemotePairingResponse:
|
|
type: object
|
|
additionalProperties: false
|
|
required:
|
|
- pairing
|
|
properties:
|
|
pairing:
|
|
$ref: "#/components/schemas/MobileRemoteDevicePairing"
|
|
MobileRemotePairingConfirmResponse:
|
|
type: object
|
|
additionalProperties: false
|
|
required:
|
|
- pairing
|
|
- challenge
|
|
properties:
|
|
pairing:
|
|
$ref: "#/components/schemas/MobileRemoteDevicePairing"
|
|
challenge:
|
|
$ref: "#/components/schemas/MobileRemotePairingChallenge"
|
|
MobileRemotePairingListResponse:
|
|
type: object
|
|
additionalProperties: false
|
|
required:
|
|
- pairings
|
|
properties:
|
|
pairings:
|
|
type: array
|
|
items:
|
|
$ref: "#/components/schemas/MobileRemoteDevicePairing"
|