# CoworkConnection

How a capability reaches its service — a sign-in, a pasted key, or either — named after the
 service it signs in to (`google`, shared by every Google capability) or after the capability.
 Never a token or a key.

## Properties

### account?

```ts
account?: object;
```

Who signed in, when the service says.

#### email

```ts
email: string;
```

***

### fields?

```ts
fields?: string[];
```

A key's fields, where to get them, and one line on how.

***

### hint?

```ts
hint?: string;
```

***

### kind

```ts
kind: "oauth" | "key" | "both";
```

`oauth`: a sign-in; `key`: fields the person pastes; `both`: either one.

***

### missingScopes

```ts
missingScopes: string[];
```

The access a sign-in still has to grant (all of it while not connected).

***

### name

```ts
name: string;
```

***

### state

```ts
state: "connected" | "needs-scopes" | "not-connected";
```

`needs-scopes`: signed in, without some access a capability that uses it needs.

***

### url?

```ts
url?: string;
```

***

### usedBy

```ts
usedBy: object[];
```

The capabilities that use it.

#### name

```ts
name: string;
```

#### title

```ts
title: string;
```
