{
  "version": 3,
  "sources": ["../../../src/client.ts", "../../../src/config.ts", "../../../src/invitations/encoder.ts", "../../../src/invitations/invitations.ts", "../../../src/service.ts", "../../../src/space.ts", "../../../src/timeouts.ts"],
  "sourcesContent": ["//\n// Copyright 2024 DXOS.org\n//\n\nexport const ClientServicesProviderResource = Symbol.for('dxos.resource.ClientServices');\n", "//\n// Copyright 2022 DXOS.org\n//\n\n// TODO(wittjosiah): Factor out to @dxos/config.\n\nexport const DEFAULT_CLIENT_CHANNEL = 'dxos:app';\nexport const DEFAULT_INTERNAL_CHANNEL = 'dxos:vault';\nexport const DEFAULT_SHELL_CHANNEL = 'dxos:shell';\nexport const DEFAULT_WORKER_BROADCAST_CHANNEL = 'dxos:shared-worker';\n\n/**\n * @deprecated\n */\nexport const DEFAULT_VAULT_URL = 'https://halo.dxos.org/vault.html';\n\n/**\n * @deprecated\n */\n// TODO(burdon): Remove need (i.e., make undefined do the right thing).\nexport const DEFAULT_PROFILE = 'default';\n\nexport const EXPECTED_CONFIG_VERSION = 1;\nexport const defaultConfig = { version: 1 };\n\n// TODO(burdon): Allow override via env? Generalize since currently NodeJS only.\nconst HOME = typeof process !== 'undefined' ? (process?.env?.HOME ?? '') : '';\n\n// XDG_CONFIG_HOME (Analogous to /etc.)\nexport const DX_CONFIG = `${HOME}/.config/dx`;\n\n// XDG_CACHE_HOME (Analogous to /var/cache).\nexport const DX_CACHE = `${HOME}/.cache/dx`;\n\n// TODO(burdon): Storage should use this by default (make path optional).\n// XDG_DATA_HOME (Analogous to /usr/share).\nexport const DX_DATA = `${HOME}/.local/share/dx`;\n\n// XDG_STATE_HOME (Analogous to /var/lib).\nexport const DX_STATE = `${HOME}/.local/state/dx`;\n\n// XDG_RUNTIME_DIR (Non-essential files, sockets, etc.)\nexport const DX_RUNTIME = '/tmp/dx/run';\n\nexport enum DXEnv {\n  CONFIG = 'DX_CONFIG',\n  DEBUG = 'DX_DEBUG',\n  NO_AGENT = 'DX_NO_AGENT',\n  PROFILE = 'DX_PROFILE',\n}\n\nexport namespace DXEnv {\n  /**\n   * Helper to get the value from process.env\n   */\n  export function get(variable: DXEnv): string | undefined;\n  export function get(variable: DXEnv, defaultValue: string): string;\n  export function get(variable: DXEnv, defaultValue?: string): string | undefined {\n    return process.env[variable] ?? defaultValue;\n  }\n}\n\n// Profile layout: profile/<name> is the profile dir; profile/<name>.yml is the config file.\nexport const getProfilePath = (root: string, profile: string, file?: string) =>\n  `${root}/profile/${profile}` + (file ? `/${file}` : '');\n\n/** Path to the profile config file (profile/<name>.yml). */\nexport const getProfileConfigPath = (root: string, profile: string) => `${getProfilePath(root, profile)}.yml`;\n", "//\n// Copyright 2022 DXOS.org\n//\n\nimport base from 'base-x';\n\nimport { schema } from '@dxos/protocols/proto';\nimport { Invitation } from '@dxos/protocols/proto/dxos/client/services';\n\n// Encode with URL-safe alpha-numeric characters.\nconst base62 = base('0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ');\n\nconst codec = schema.getCodecForType('dxos.client.services.Invitation');\n\n/**\n * Encodes and decodes an invitation proto into/from alphanumeric chars.\n */\nexport class InvitationEncoder {\n  static decode(text: string): Invitation {\n    const decodedInvitation = codec.decode(base62.decode(text));\n    if (decodedInvitation.type === Invitation.Type.MULTIUSE) {\n      decodedInvitation.type = Invitation.Type.INTERACTIVE;\n      decodedInvitation.multiUse = true;\n    }\n    return decodedInvitation;\n  }\n\n  static encode(invitation: Invitation): string {\n    return base62.encode(\n      codec.encode({\n        invitationId: invitation.invitationId,\n        type: invitation.type,\n        kind: invitation.kind,\n        authMethod: invitation.authMethod,\n        swarmKey: invitation.swarmKey,\n        state: invitation.state,\n        timeout: invitation.timeout,\n        guestKeypair: invitation.guestKeypair,\n        spaceId: invitation.spaceId,\n        lifetime: invitation.lifetime,\n        created: invitation.created,\n        // TODO(wittjosiah): Make these optional to encode for greater privacy.\n        ...(invitation.spaceKey ? { spaceKey: invitation.spaceKey } : {}),\n        ...(invitation.target ? { target: invitation.target } : {}),\n      }),\n    );\n  }\n}\n", "//\n// Copyright 2022 DXOS.org\n//\n\nimport { MulticastObservable, type Observable, type Subscriber } from '@dxos/async';\nimport { invariant } from '@dxos/invariant';\nimport { Invitation } from '@dxos/protocols/proto/dxos/client/services';\n\nexport const AUTHENTICATION_CODE_LENGTH = 6;\n\nexport const INVITATION_TIMEOUT = 3 * 60_000; // 3 mins.\n\nexport interface Invitations {\n  created: MulticastObservable<CancellableInvitation[]>;\n  accepted: MulticastObservable<AuthenticatingInvitation[]>;\n  share(options?: Partial<Invitation>): CancellableInvitation;\n  join(invitation: Invitation): AuthenticatingInvitation;\n}\n\n/**\n * Base class for all invitation observables and providers.\n */\nexport class CancellableInvitation extends MulticastObservable<Invitation> {\n  private readonly _onCancel: () => Promise<void>;\n\n  constructor({\n    subscriber,\n    initialInvitation,\n    onCancel,\n  }: {\n    subscriber: Observable<Invitation> | Subscriber<Invitation>;\n    initialInvitation: Invitation;\n    onCancel: () => Promise<void>;\n  }) {\n    super(subscriber, initialInvitation);\n    this._onCancel = onCancel;\n  }\n\n  cancel(): Promise<void> {\n    return this._onCancel();\n  }\n\n  get expired() {\n    const expiration = getExpirationTime(this.get());\n    return expiration && expiration.getTime() < Date.now();\n  }\n\n  get expiry() {\n    return getExpirationTime(this.get());\n  }\n}\n\n/**\n * Cancelable observer that relays authentication requests.\n */\nexport class AuthenticatingInvitation extends CancellableInvitation {\n  private readonly _onAuthenticate: (authCode: string) => Promise<void>;\n\n  constructor({\n    subscriber,\n    initialInvitation,\n    onCancel,\n    onAuthenticate,\n  }: {\n    subscriber: Observable<Invitation> | Subscriber<Invitation>;\n    initialInvitation: Invitation;\n    onCancel: () => Promise<void>;\n    onAuthenticate: (authCode: string) => Promise<void>;\n  }) {\n    super({ subscriber, initialInvitation, onCancel });\n    this._onAuthenticate = onAuthenticate;\n  }\n\n  async authenticate(authCode: string): Promise<void> {\n    return this._onAuthenticate(authCode);\n  }\n}\n\n/**\n * Testing util to wrap non-authenticating observable with promise.\n * Don't use this in production code.\n * @deprecated\n */\n// TODO(wittjosiah): Move to testing.\nexport const wrapObservable = async (observable: CancellableInvitation): Promise<Invitation> => {\n  return new Promise((resolve, reject) => {\n    const subscription = observable.subscribe(\n      (invitation: Invitation | undefined) => {\n        // TODO(burdon): Throw error if auth requested.\n        invariant(invitation?.state === Invitation.State.SUCCESS);\n        subscription.unsubscribe();\n        resolve(invitation);\n      },\n      (err: Error) => {\n        subscription.unsubscribe();\n        reject(err);\n      },\n    );\n  });\n};\n\nexport const getExpirationTime = (invitation: Partial<Invitation>): Date | undefined => {\n  if (!(invitation.created && invitation.lifetime)) {\n    return;\n  }\n  return new Date(invitation.created.getTime() + invitation.lifetime * 1000);\n};\n", "//\n// Copyright 2020 DXOS.org\n//\n\nimport { type Event } from '@dxos/async';\nimport { schema } from '@dxos/protocols/proto';\nimport type {\n  ContactsService,\n  DevicesService,\n  EdgeAgentService,\n  IdentityService,\n  InvitationsService,\n  LoggingService,\n  NetworkService,\n  QueueService,\n  SpacesService,\n  SystemService,\n} from '@dxos/protocols/proto/dxos/client/services';\nimport type { DevtoolsHost } from '@dxos/protocols/proto/dxos/devtools/host';\nimport type { QueryService } from '@dxos/protocols/proto/dxos/echo/query';\nimport type { DataService } from '@dxos/protocols/proto/dxos/echo/service';\nimport type { AppService, ShellService, WorkerService } from '@dxos/protocols/proto/dxos/iframe';\nimport type { BridgeService } from '@dxos/protocols/proto/dxos/mesh/bridge';\nimport { type ServiceBundle, createServiceBundle } from '@dxos/rpc';\n\nexport type { QueueService } from '@dxos/protocols/proto/dxos/client/services';\n\n//\n// NOTE: Should contain client/proxy dependencies only.\n//\n\nexport type ClientServices = {\n  SystemService: SystemService;\n  NetworkService: NetworkService;\n  LoggingService: LoggingService;\n\n  IdentityService: IdentityService;\n  InvitationsService: InvitationsService;\n  DevicesService: DevicesService;\n  SpacesService: SpacesService;\n\n  DataService: DataService;\n  QueryService: QueryService;\n  QueueService: QueueService;\n\n  ContactsService: ContactsService;\n  EdgeAgentService: EdgeAgentService;\n\n  // TODO(burdon): Deprecated.\n  DevtoolsHost: DevtoolsHost;\n};\n\n/**\n * Provide access to client services definitions and service handler.\n */\nexport interface ClientServicesProvider {\n  /**\n   * The connection to the services provider was terminated.\n   * This should fire if the services disconnect unexpectedly or during a client reset.\n   */\n  closed: Event<Error | undefined>;\n\n  /**\n   * The underlying service connection was re-established.\n   * Fires after all reconnection callbacks have completed.\n   */\n  reconnected?: Event<void>;\n\n  /**\n   * Register a callback to be invoked when services reconnect.\n   * The callback should re-establish any RPC streams.\n   * Reconnection waits for all callbacks to complete before emitting `reconnected`.\n   */\n  onReconnect?: (callback: () => Promise<void>) => void;\n\n  descriptors: ServiceBundle<ClientServices>;\n  services: Partial<ClientServices>;\n\n  // TODO(burdon): Should take context from parent?\n  open(): Promise<unknown>;\n  close(): Promise<unknown>;\n}\n\n/**\n * Services supported by host.\n */\nexport const clientServiceBundle = createServiceBundle<ClientServices>({\n  SystemService: schema.getService('dxos.client.services.SystemService'),\n  NetworkService: schema.getService('dxos.client.services.NetworkService'),\n  LoggingService: schema.getService('dxos.client.services.LoggingService'),\n\n  IdentityService: schema.getService('dxos.client.services.IdentityService'),\n  QueryService: schema.getService('dxos.echo.query.QueryService'),\n  InvitationsService: schema.getService('dxos.client.services.InvitationsService'),\n  DevicesService: schema.getService('dxos.client.services.DevicesService'),\n  SpacesService: schema.getService('dxos.client.services.SpacesService'),\n  DataService: schema.getService('dxos.echo.service.DataService'),\n  ContactsService: schema.getService('dxos.client.services.ContactsService'),\n  EdgeAgentService: schema.getService('dxos.client.services.EdgeAgentService'),\n  QueueService: schema.getService('dxos.client.services.QueueService'),\n\n  // TODO(burdon): Deprecated.\n  DevtoolsHost: schema.getService('dxos.devtools.host.DevtoolsHost'),\n});\n\nexport type IframeServiceBundle = {\n  BridgeService: BridgeService;\n};\n\nexport const iframeServiceBundle: ServiceBundle<IframeServiceBundle> = {\n  BridgeService: schema.getService('dxos.mesh.bridge.BridgeService'),\n};\n\nexport type WorkerServiceBundle = {\n  WorkerService: WorkerService;\n};\n\nexport const workerServiceBundle: ServiceBundle<WorkerServiceBundle> = {\n  WorkerService: schema.getService('dxos.iframe.WorkerService'),\n};\n\nexport type AppServiceBundle = {\n  AppService: AppService;\n};\n\nexport const appServiceBundle: ServiceBundle<AppServiceBundle> = {\n  AppService: schema.getService('dxos.iframe.AppService'),\n};\n\nexport type ShellServiceBundle = {\n  ShellService: ShellService;\n};\n\nexport const shellServiceBundle: ServiceBundle<ShellServiceBundle> = {\n  ShellService: schema.getService('dxos.iframe.ShellService'),\n};\n", "//\n// Copyright 2021 DXOS.org\n//\n\nimport * as Schema from 'effect/Schema';\n\nimport { type MulticastObservable } from '@dxos/async';\nimport { type SpecificCredential } from '@dxos/credentials';\nimport { type Obj } from '@dxos/echo';\nimport { type EchoDatabase, type SpaceSyncState } from '@dxos/echo-client';\nimport { type PublicKey, type SpaceId } from '@dxos/keys';\nimport { type Messenger } from '@dxos/protocols';\nimport {\n  type Contact,\n  type CreateEpochRequest,\n  type Invitation,\n  SpaceArchive,\n  type Space as SpaceData,\n  type SpaceMember,\n  type SpaceState,\n  type UpdateMemberRoleRequest,\n} from '@dxos/protocols/proto/dxos/client/services';\nimport { type EdgeReplicationSetting } from '@dxos/protocols/proto/dxos/echo/metadata';\nimport { type SpaceSnapshot } from '@dxos/protocols/proto/dxos/echo/snapshot';\nimport { type Credential, type Epoch, type MembershipPolicy } from '@dxos/protocols/proto/dxos/halo/credentials';\n\nimport { type CancellableInvitation } from './invitations';\nimport { type SpaceProperties } from './types';\n\nexport type CreateEpochOptions = {\n  migration?: CreateEpochRequest.Migration;\n  automergeRootUrl?: string;\n};\n\nexport type ExportSpaceOptions = {\n  /**\n   * Archive format.\n   * @default SpaceArchive.Format.BINARY\n   */\n  format?: SpaceArchive.Format;\n};\n\nexport interface SpaceInternal {\n  get db(): EchoDatabase;\n  get data(): SpaceData;\n\n  getCredentials(): Promise<Credential[]>;\n\n  getEpochs(): Promise<SpecificCredential<Epoch>[]>;\n\n  // TODO(dmaretskyi): Return epoch info.\n  createEpoch(options?: CreateEpochOptions): Promise<void>;\n\n  // TOOD(burdon): Start to factor out credentials.\n  removeMember(memberKey: PublicKey): Promise<void>;\n\n  export(options?: ExportSpaceOptions): Promise<SpaceArchive>;\n\n  /**\n   * Migrate space data to the latest version.\n   */\n  migrate(): Promise<void>;\n\n  setEdgeReplicationPreference(setting: EdgeReplicationSetting): Promise<void>;\n\n  /**\n   * Waits until the space is fully synced with EDGE.\n   * @throws If the EDGE sync is disabled.\n   */\n  syncToEdge(opts?: {\n    onProgress: (state: SpaceSyncState.PeerState | undefined) => void;\n    timeout?: number;\n  }): Promise<void>;\n}\n\nexport const SPACE_TAG = Symbol('dxos.client.protocol.Space');\n\nexport interface Space extends Messenger {\n  readonly [SPACE_TAG]: true;\n\n  /**\n   * @deprecated Use `id`.\n   */\n  get key(): PublicKey;\n\n  /**\n   * Unique space identifier.\n   */\n  get id(): SpaceId;\n\n  /**\n   * Echo database.\n   */\n  get db(): EchoDatabase;\n\n  // TODO(burdon): Replace with state?\n  get isOpen(): boolean;\n\n  /**\n   * Immutable tags assigned at space creation time.\n   * Available on closed spaces.\n   */\n  get tags(): string[];\n\n  /**\n   * Immutable membership policy assigned at space creation time.\n   * Available on closed spaces.\n   */\n  get membershipPolicy(): MembershipPolicy;\n\n  /**\n   * Current state of the space.\n   * The database is ready to be used in `SpaceState.SPACE_READY` state.\n   * Presence is available in `SpaceState.SPACE_CONTROL_ONLY` state.\n   */\n  get state(): MulticastObservable<SpaceState>;\n\n  /**\n   * Properties object.\n   */\n  get properties(): Obj.OfShape<SpaceProperties>;\n\n  /**\n   * Current state of space pipeline.\n   */\n  get pipeline(): MulticastObservable<SpaceData.PipelineState>;\n\n  get invitations(): MulticastObservable<CancellableInvitation[]>;\n\n  get members(): MulticastObservable<SpaceMember[]>;\n\n  /**\n   * @deprecated\n   */\n  // TODO(wittjosiah): Audit and remove. This should not be exposed (or marked as internal).\n  get internal(): SpaceInternal;\n\n  /**\n   * Activates the space enabling the use of the database and starts replication with peers.\n   * The setting is persisted on the local device.\n   */\n  // TODO(wittjosiah): Rename activate/deactivate?\n  open(): Promise<void>;\n\n  /**\n   * Deactivates the space stopping replication with other peers.\n   * The space will not auto-open on the next app launch.\n   * The setting is persisted on the local device.\n   */\n  close(): Promise<void>;\n\n  /**\n   * Tombstones (soft-deletes) the space and replicates the deletion to the user's other devices.\n   * Every device stops replicating and unloads the space. Underlying data is not removed until\n   * garbage collection (future work). This is terminal: the space cannot be re-opened via {@link open}.\n   */\n  delete(): Promise<void>;\n\n  /**\n   * Waits until the space is in the ready state, with database initialized.\n   */\n  waitUntilReady(): Promise<this>;\n\n  createSnapshot(): Promise<SpaceSnapshot>;\n\n  // TODO(burdon): Create invitation?\n  // TODO(burdon): Factor out membership, etc.\n  share(options?: Partial<Invitation>): CancellableInvitation;\n  admitContact(contact: Contact): Promise<void>;\n  updateMemberRole(request: Omit<UpdateMemberRoleRequest, 'spaceKey'>): Promise<void>;\n}\n\nexport const isSpace = (object: unknown): object is Space =>\n  typeof object === 'object' && object != null && (object as Space)[SPACE_TAG] === true;\n\n// TODO(burdon): Create lower-level definition (HasId, db, etc.) and move to @dxos/echo.\nexport const SpaceSchema: Schema.Schema<Space> = Schema.Any.pipe(\n  Schema.filter((space) => isSpace(space)),\n  Schema.annotations({ title: 'Space' }),\n);\n", "//\n// Copyright 2023 DXOS.org\n//\n\n/**\n * Timeout for making rpc connections from remote proxies.\n */\nexport const PROXY_CONNECTION_TIMEOUT = 30_000;\n\n/**\n * Timeout for the device to be added to the trusted set during auth.\n */\nexport const AUTH_TIMEOUT = 30_000;\n\n/**\n * Timeout for how long the remote client will wait before assuming the connection is lost.\n */\nexport const STATUS_TIMEOUT = 10_000;\n\n/**\n * Timeout for waiting before stealing resource lock.\n */\nexport const RESOURCE_LOCK_TIMEOUT = 3_000;\n\n/**\n * Timeout for space properties to be loaded in the set of tracked items.\n * Accounts for latency between SpaceService reporting the space as READY and DataService streaming the item states.\n */\nexport const LOAD_PROPERTIES_TIMEOUT = 3_000;\n\n/**\n * Timeout for creating new spaces.\n */\nexport const CREATE_SPACE_TIMEOUT = 5_000;\n\n/**\n * Timeout for creating new spaces.\n */\nexport const IMPORT_SPACE_TIMEOUT = 30_000;\n\n/**\n * Timeout for loading of control feeds.\n */\nexport const LOAD_CONTROL_FEEDS_TIMEOUT = 3_000;\n"],
  "mappings": ";;;;;;;;AAIO,IAAMA,iCAAiCC,uBAAOC,IAAI,8BAAA;;;ACElD,IAAMC,yBAAyB;AAC/B,IAAMC,2BAA2B;AACjC,IAAMC,wBAAwB;AAC9B,IAAMC,mCAAmC;AAKzC,IAAMC,oBAAoB;AAM1B,IAAMC,kBAAkB;AAExB,IAAMC,0BAA0B;AAChC,IAAMC,gBAAgB;EAAEC,SAAS;AAAE;AAG1C,IAAMC,OAAO,OAAOC,YAAY,cAAeA,SAASC,KAAKF,QAAQ,KAAM;AAGpE,IAAMG,YAAY,GAAGH,IAAAA;AAGrB,IAAMI,WAAW,GAAGJ,IAAAA;AAIpB,IAAMK,UAAU,GAAGL,IAAAA;AAGnB,IAAMM,WAAW,GAAGN,IAAAA;AAGpB,IAAMO,aAAa;AAEnB,IAAKC,QAAAA,0BAAAA,QAAAA;;;;;SAAAA;;UAOKA,QAAAA;AAMR,WAASC,IAAIC,UAAiBC,cAAqB;AACxD,WAAOV,QAAQC,IAAIQ,QAAAA,KAAaC;EAClC;SAFgBF,MAAAA;AAGlB,GATiBD,UAAAA,QAAAA,CAAAA,EAAAA;AAYV,IAAMI,iBAAiB,CAACC,MAAcC,SAAiBC,SAC5D,GAAGF,IAAAA,YAAgBC,OAAAA,MAAaC,OAAO,IAAIA,IAAAA,KAAS;AAG/C,IAAMC,uBAAuB,CAACH,MAAcC,YAAoB,GAAGF,eAAeC,MAAMC,OAAAA,CAAAA;;;AC/D/F,OAAOG,UAAU;AAEjB,SAASC,cAAc;AACvB,SAASC,kBAAkB;AAG3B,IAAMC,SAASH,KAAK,gEAAA;AAEpB,IAAMI,QAAQH,OAAOI,gBAAgB,iCAAA;AAK9B,IAAMC,oBAAN,MAAMA;EACX,OAAOC,OAAOC,MAA0B;AACtC,UAAMC,oBAAoBL,MAAMG,OAAOJ,OAAOI,OAAOC,IAAAA,CAAAA;AACrD,QAAIC,kBAAkBC,SAASR,WAAWS,KAAKC,UAAU;AACvDH,wBAAkBC,OAAOR,WAAWS,KAAKE;AACzCJ,wBAAkBK,WAAW;IAC/B;AACA,WAAOL;EACT;EAEA,OAAOM,OAAOC,YAAgC;AAC5C,WAAOb,OAAOY,OACZX,MAAMW,OAAO;MACXE,cAAcD,WAAWC;MACzBP,MAAMM,WAAWN;MACjBQ,MAAMF,WAAWE;MACjBC,YAAYH,WAAWG;MACvBC,UAAUJ,WAAWI;MACrBC,OAAOL,WAAWK;MAClBC,SAASN,WAAWM;MACpBC,cAAcP,WAAWO;MACzBC,SAASR,WAAWQ;MACpBC,UAAUT,WAAWS;MACrBC,SAASV,WAAWU;;MAEpB,GAAIV,WAAWW,WAAW;QAAEA,UAAUX,WAAWW;MAAS,IAAI,CAAC;MAC/D,GAAIX,WAAWY,SAAS;QAAEA,QAAQZ,WAAWY;MAAO,IAAI,CAAC;IAC3D,CAAA,CAAA;EAEJ;AACF;;;AC3CA,SAASC,2BAA6D;AACtE,SAASC,iBAAiB;AAC1B,SAASC,cAAAA,mBAAkB;AAE3B,IAAA,eAAaC;AAWb,IAAA,6BAAA;;AAME,IAAY,wBAAZ,cAEmB,oBAMhB;;cAEIC,EAAAA,YAAYC,mBAAAA,SAAAA,GAAAA;AACnB,UAAA,YAAA,iBAAA;AAEAC,SAAwB,YAAA;;EAExB,SAAA;AAEIC,WAAAA,KAAU,UAAA;;MAEZ,UAAOC;AACT,UAAA,aAAA,kBAAA,KAAA,IAAA,CAAA;AAEIC,WAAAA,cAAS,WAAA,QAAA,IAAA,KAAA,IAAA;;EAEb,IAAA,SAAA;AACF,WAAA,kBAAA,KAAA,IAAA,CAAA;EAEA;;AAME,IAAY,2BAAZ,cAGEJ,sBACAK;;cAOQC,EAAAA,YAAAA,mBAAAA,UAAAA,eAAAA,GAAAA;UAAYC;MAAmBP;MAAS;MAC5C;IACN,CAAA;AAEA,SAAMQ,kBAA6B;;EAEnC,MAAA,aAAA,UAAA;AACF,WAAA,KAAA,gBAAA,QAAA;EAEA;;IAQI,iBAAqBC,OAAAA,eACnB;aACE,QAAA,CAAA,SAAA,WAAA;UACAb,eAAUc,WAAYC,UAAUd,CAAAA,eAAiBe;AAEjDC,gBAAQH,YAAAA,UAAAA,YAAAA,MAAAA,SAAAA,QAAAA,EAAAA,YAAAA,YAAAA,GAAAA,cAAAA,GAAAA,IAAAA,GAAAA,QAAAA,GAAAA,CAAAA,kDAAAA,EAAAA,EAAAA,CAAAA;AAETI,mBAAAA,YAAAA;AACCC,cAAAA,UAAaC;QACbC,QAAAA;AACF,mBAAA,YAAA;AAEJ,aAAA,GAAA;IACA,CAAA;EAEF,CAAA;;IAEI,oBAAA,CAAA,eAAA;AACF,MAAA,EAAA,WAAA,WAAA,WAAA,WAAA;AACA;EACA;;;;;ACrGF,SAASC,UAAAA,eAAc;AAkBvB,SAA6BC,2BAA2B;AA+DjD,IAAMC,sBAAsBD,oBAAoC;EACrEE,eAAeH,QAAOI,WAAW,oCAAA;EACjCC,gBAAgBL,QAAOI,WAAW,qCAAA;EAClCE,gBAAgBN,QAAOI,WAAW,qCAAA;EAElCG,iBAAiBP,QAAOI,WAAW,sCAAA;EACnCI,cAAcR,QAAOI,WAAW,8BAAA;EAChCK,oBAAoBT,QAAOI,WAAW,yCAAA;EACtCM,gBAAgBV,QAAOI,WAAW,qCAAA;EAClCO,eAAeX,QAAOI,WAAW,oCAAA;EACjCQ,aAAaZ,QAAOI,WAAW,+BAAA;EAC/BS,iBAAiBb,QAAOI,WAAW,sCAAA;EACnCU,kBAAkBd,QAAOI,WAAW,uCAAA;EACpCW,cAAcf,QAAOI,WAAW,mCAAA;;EAGhCY,cAAchB,QAAOI,WAAW,iCAAA;AAClC,CAAA;AAMO,IAAMa,sBAA0D;EACrEC,eAAelB,QAAOI,WAAW,gCAAA;AACnC;AAMO,IAAMe,sBAA0D;EACrEC,eAAepB,QAAOI,WAAW,2BAAA;AACnC;AAMO,IAAMiB,mBAAoD;EAC/DC,YAAYtB,QAAOI,WAAW,wBAAA;AAChC;AAMO,IAAMmB,qBAAwD;EACnEC,cAAcxB,QAAOI,WAAW,0BAAA;AAClC;;;ACnIA,YAAYqB,YAAY;AAuEjB,IAAMC,YAAYC,uBAAO,4BAAA;AAiGzB,IAAMC,UAAU,CAACC,WACtB,OAAOA,WAAW,YAAYA,UAAU,QAASA,OAAiBH,SAAAA,MAAe;AAG5E,IAAMI,cAA2CC,WAAIC,KACnDC,cAAO,CAACC,UAAUN,QAAQM,KAAAA,CAAAA,GAC1BC,mBAAY;EAAEC,OAAO;AAAQ,CAAA,CAAA;;;AC3K/B,IAAMC,2BAA2B;AAKjC,IAAMC,eAAe;AAKrB,IAAMC,iBAAiB;AAKvB,IAAMC,wBAAwB;AAM9B,IAAMC,0BAA0B;AAKhC,IAAMC,uBAAuB;AAK7B,IAAMC,uBAAuB;AAK7B,IAAMC,6BAA6B;",
  "names": ["ClientServicesProviderResource", "Symbol", "for", "DEFAULT_CLIENT_CHANNEL", "DEFAULT_INTERNAL_CHANNEL", "DEFAULT_SHELL_CHANNEL", "DEFAULT_WORKER_BROADCAST_CHANNEL", "DEFAULT_VAULT_URL", "DEFAULT_PROFILE", "EXPECTED_CONFIG_VERSION", "defaultConfig", "version", "HOME", "process", "env", "DX_CONFIG", "DX_CACHE", "DX_DATA", "DX_STATE", "DX_RUNTIME", "DXEnv", "get", "variable", "defaultValue", "getProfilePath", "root", "profile", "file", "getProfileConfigPath", "base", "schema", "Invitation", "base62", "codec", "getCodecForType", "InvitationEncoder", "decode", "text", "decodedInvitation", "type", "Type", "MULTIUSE", "INTERACTIVE", "multiUse", "encode", "invitation", "invitationId", "kind", "authMethod", "swarmKey", "state", "timeout", "guestKeypair", "spaceId", "lifetime", "created", "spaceKey", "target", "MulticastObservable", "invariant", "Invitation", "AUTHENTICATION_CODE_LENGTH", "_onCancel", "onCancel", "cancel", "expired", "expiration", "expiry", "onAuthenticate", "subscriber", "initialInvitation", "authenticate", "observable", "invitation", "state", "SUCCESS", "resolve", "err", "subscription", "unsubscribe", "reject", "schema", "createServiceBundle", "clientServiceBundle", "SystemService", "getService", "NetworkService", "LoggingService", "IdentityService", "QueryService", "InvitationsService", "DevicesService", "SpacesService", "DataService", "ContactsService", "EdgeAgentService", "QueueService", "DevtoolsHost", "iframeServiceBundle", "BridgeService", "workerServiceBundle", "WorkerService", "appServiceBundle", "AppService", "shellServiceBundle", "ShellService", "Schema", "SPACE_TAG", "Symbol", "isSpace", "object", "SpaceSchema", "Any", "pipe", "filter", "space", "annotations", "title", "PROXY_CONNECTION_TIMEOUT", "AUTH_TIMEOUT", "STATUS_TIMEOUT", "RESOURCE_LOCK_TIMEOUT", "LOAD_PROPERTIES_TIMEOUT", "CREATE_SPACE_TIMEOUT", "IMPORT_SPACE_TIMEOUT", "LOAD_CONTROL_FEEDS_TIMEOUT"]
}
