{
  "version": 3,
  "sources": ["../../../src/client.ts", "../../../src/config.ts", "../../../src/invitations/encoder.ts", "../../../src/invitations/invitations.ts", "../../../src/service-definitions.ts", "../../../src/timeouts.ts", "../../../src/schema.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\nimport { type ConfigProto } from '@dxos/config';\n\nexport const DEFAULT_INTERNAL_CHANNEL = 'dxos:vault';\nexport const DEFAULT_CLIENT_CHANNEL = 'dxos:app';\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\nexport const EXPECTED_CONFIG_VERSION = 1;\nexport const defaultConfig: ConfigProto = { 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// Base directories.\n// TODO(burdon): Consider Windows, Linux, OSX.\n// https://wiki.archlinux.org/title/XDG_Base_Directory\n// Each `/dx` directory should contain `/profile/<DX_PROFILE>` subdirectories.\nexport const getProfilePath = (root: string, profile: string, file: string | undefined = undefined) =>\n  `${root}/profile/${profile}` + (file ? `/${file}` : '');\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 const ENV_DX_CONFIG = 'DX_CONFIG';\nexport const ENV_DX_NO_AGENT = 'DX_NO_AGENT';\nexport const ENV_DX_PROFILE = 'DX_PROFILE';\nexport const ENV_DX_PROFILE_DEFAULT = 'default';\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 { FunctionRegistryService } from '@dxos/protocols/proto/dxos/agent/functions';\nimport type {\n  DevicesService,\n  IdentityService,\n  InvitationsService,\n  LoggingService,\n  NetworkService,\n  SpacesService,\n  SystemService,\n  ContactsService,\n  EdgeAgentService,\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 { TracingService } from '@dxos/protocols/proto/dxos/tracing';\nimport { type ServiceBundle, createServiceBundle } from '@dxos/rpc';\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  QueryService: QueryService;\n  DevicesService: DevicesService;\n  SpacesService: SpacesService;\n  DataService: DataService;\n  ContactsService: ContactsService;\n  EdgeAgentService: EdgeAgentService;\n\n  FunctionRegistryService: FunctionRegistryService;\n\n  // TODO(burdon): Deprecated.\n  DevtoolsHost: DevtoolsHost;\n\n  TracingService: TracingService;\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  descriptors: ServiceBundle<ClientServices>;\n  services: Partial<ClientServices>;\n\n  // TODO(burdon): Should take context from parent?\n  open(): Promise<void>;\n  close(): Promise<void>;\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\n  // Agent-only.\n  FunctionRegistryService: schema.getService('dxos.agent.functions.FunctionRegistryService'),\n\n  // TODO(burdon): Deprecated.\n  DevtoolsHost: schema.getService('dxos.devtools.host.DevtoolsHost'),\n\n  TracingService: schema.getService('dxos.tracing.TracingService'),\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 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 loading of control feeds.\n */\nexport const LOAD_CONTROL_FEEDS_TIMEOUT = 3_000;\n", "//\n// Copyright 2024 DXOS.org\n//\n\nimport { Schema } from 'effect';\n\nimport { Type } from '@dxos/echo';\nimport { TypedObject } from '@dxos/echo-schema';\n\nexport const TYPE_PROPERTIES = 'dxos.org/type/Properties';\n\n// TODO(burdon): Factor out (co-locate with TYPE_PROPERTIES).\nexport class PropertiesType extends TypedObject({\n  typename: TYPE_PROPERTIES,\n  version: '0.1.0',\n})(\n  {\n    name: Schema.optional(Schema.String),\n    // TODO(wittjosiah): Make generic?\n    hue: Schema.optional(Schema.String),\n    icon: Schema.optional(Schema.String),\n    invocationTraceQueue: Schema.optional(Type.Ref(Type.Expando)),\n  },\n  { record: true },\n) {}\n\n// TODO(burdon): Remove? Use PropertiesType instead?\nexport type PropertiesTypeProps = Pick<PropertiesType, 'name' | 'hue' | 'icon' | 'invocationTraceQueue'>;\n"],
  "mappings": "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",
  "names": ["ClientServicesProviderResource", "Symbol", "for", "DEFAULT_INTERNAL_CHANNEL", "DEFAULT_CLIENT_CHANNEL", "DEFAULT_SHELL_CHANNEL", "DEFAULT_WORKER_BROADCAST_CHANNEL", "DEFAULT_VAULT_URL", "EXPECTED_CONFIG_VERSION", "defaultConfig", "version", "HOME", "process", "env", "getProfilePath", "root", "profile", "file", "undefined", "DX_CONFIG", "DX_CACHE", "DX_DATA", "DX_STATE", "DX_RUNTIME", "ENV_DX_CONFIG", "ENV_DX_NO_AGENT", "ENV_DX_PROFILE", "ENV_DX_PROFILE_DEFAULT", "base", "schema", "Invitation", "base62", "base", "codec", "schema", "getCodecForType", "InvitationEncoder", "decode", "text", "decodedInvitation", "type", "Invitation", "Type", "MULTIUSE", "INTERACTIVE", "multiUse", "encode", "invitation", "invitationId", "kind", "authMethod", "swarmKey", "state", "timeout", "guestKeypair", "spaceId", "lifetime", "created", "spaceKey", "target", "MulticastObservable", "invariant", "Invitation", "AUTHENTICATION_CODE_LENGTH", "INVITATION_TIMEOUT", "CancellableInvitation", "subscriber", "initialInvitation", "onCancel", "_onCancel", "cancel", "expired", "expiration", "getExpirationTime", "get", "getTime", "Date", "now", "expiry", "AuthenticatingInvitation", "onAuthenticate", "_onAuthenticate", "authenticate", "authCode", "wrapObservable", "observable", "Promise", "resolve", "reject", "subscription", "subscribe", "invitation", "state", "State", "SUCCESS", "unsubscribe", "err", "created", "lifetime", "schema", "createServiceBundle", "clientServiceBundle", "createServiceBundle", "SystemService", "schema", "getService", "NetworkService", "LoggingService", "IdentityService", "QueryService", "InvitationsService", "DevicesService", "SpacesService", "DataService", "ContactsService", "EdgeAgentService", "FunctionRegistryService", "DevtoolsHost", "TracingService", "iframeServiceBundle", "BridgeService", "workerServiceBundle", "WorkerService", "appServiceBundle", "AppService", "shellServiceBundle", "ShellService", "PROXY_CONNECTION_TIMEOUT", "AUTH_TIMEOUT", "STATUS_TIMEOUT", "RESOURCE_LOCK_TIMEOUT", "LOAD_PROPERTIES_TIMEOUT", "CREATE_SPACE_TIMEOUT", "LOAD_CONTROL_FEEDS_TIMEOUT", "Schema", "Type", "TypedObject", "TYPE_PROPERTIES", "PropertiesType", "TypedObject", "typename", "version", "name", "Schema", "optional", "String", "hue", "icon", "invocationTraceQueue", "Type", "Ref", "Expando", "record"]
}
