@condorinst/mobile-bridge 0.21.0 → 0.22.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/AGENTS.md +10 -1
- package/CHANGELOG.md +23 -0
- package/README.md +22 -6
- package/contract/bridge-contract.json +4 -3
- package/dist/cli.cjs +514 -15
- package/dist/cli.cjs.map +1 -1
- package/dist/cli.js +510 -11
- package/dist/cli.js.map +1 -1
- package/docs/agent-guide.md +3 -3
- package/docs/bridge-contract.md +1 -1
- package/docs/client-guide.md +7 -5
- package/docs/device-testing.md +52 -22
- package/docs/pilot-onboarding.md +10 -6
- package/examples/minimal-home/package.json +1 -1
- package/llms-full.txt +84 -39
- package/llms.txt +15 -15
- package/package.json +1 -1
package/docs/device-testing.md
CHANGED
|
@@ -8,10 +8,11 @@ costs, and how to see what it is doing once it is there.
|
|
|
8
8
|
|
|
9
9
|
You do not install a bundle on a phone. The app downloads it:
|
|
10
10
|
|
|
11
|
-
1.
|
|
12
|
-
`condor-mobile-bridge
|
|
13
|
-
|
|
14
|
-
|
|
11
|
+
1. The bundle is published for **your company** — by you, with
|
|
12
|
+
`npx condor-mobile-bridge canvas publish` (below), or by your Condor
|
|
13
|
+
contact. There is exactly one current bundle per company.
|
|
14
|
+
2. The server checks it on upload (2 MB, `index.html` at the root,
|
|
15
|
+
self-contained) and records its `bundleSize` and `bundleHash`.
|
|
15
16
|
3. Each copy of the app asks for its company's manifest when the Home opens
|
|
16
17
|
and every time the app returns to the foreground. If the `bundleHash`
|
|
17
18
|
changed, it downloads the `.zip`, checks size and hash, and swaps the Home
|
|
@@ -26,24 +27,52 @@ Consequences:
|
|
|
26
27
|
bundle, or shows its default screen, if the download fails a gate — which is
|
|
27
28
|
why `validate --strict` must pass before you hand anything over.
|
|
28
29
|
|
|
29
|
-
##
|
|
30
|
+
## Test on a test company, never on your real one
|
|
30
31
|
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
32
|
+
You work against production — the store app and the production Condor system.
|
|
33
|
+
Since a publish reaches every user of the company at once, ask Condor for a
|
|
34
|
+
**test company** with:
|
|
34
35
|
|
|
35
|
-
- a
|
|
36
|
-
- the store app
|
|
36
|
+
- a **manager** user for you, to publish (see below);
|
|
37
|
+
- one or more **test accounts** with devices, to log in to the store app on
|
|
38
|
+
your phone.
|
|
37
39
|
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
test company**. Never iterate on a production company: every publish reaches
|
|
42
|
-
real people.
|
|
40
|
+
Each iteration on the device is then: build → `canvas publish` to the test
|
|
41
|
+
company → bring the app to the foreground. Do every iteration you can in the
|
|
42
|
+
harness first, and publish to your real company only what passed there.
|
|
43
43
|
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
44
|
+
(Condor also runs a development environment for its own staff; a client does
|
|
45
|
+
not need it.)
|
|
46
|
+
|
|
47
|
+
## Publishing from the command line
|
|
48
|
+
|
|
49
|
+
```bash
|
|
50
|
+
npx condor-mobile-bridge canvas publish dist/index.html --version 1.4.0
|
|
51
|
+
```
|
|
52
|
+
|
|
53
|
+
It does what the Condor web admin does, with the same login:
|
|
54
|
+
|
|
55
|
+
1. It validates the bundle locally (the same gates as `validate`) and refuses
|
|
56
|
+
anything the app would reject — before sending anything.
|
|
57
|
+
2. It asks for your **company id** and **user id** — the numbers you type in
|
|
58
|
+
the Condor web login — unless you pass `--company` / `--user` or set
|
|
59
|
+
`CONDOR_CANVAS_COMPANY` / `CONDOR_CANVAS_USER`.
|
|
60
|
+
3. It shows the company, version, size and hash, warns that the bundle goes
|
|
61
|
+
**live at once for every user of the company**, and asks `y/N`.
|
|
62
|
+
4. It asks for your **password** without echo — there is no flag or variable
|
|
63
|
+
for it, and it is never stored — and, when your company uses two-factor
|
|
64
|
+
login, for the code sent to your e-mail.
|
|
65
|
+
5. It publishes and prints the result.
|
|
66
|
+
|
|
67
|
+
Each version can be published once per company: publish a fix as a new
|
|
68
|
+
version. `canvas list` shows the bundles of the company, and
|
|
69
|
+
`canvas revoke <id> --fallback-version <v>` takes one back and serves another;
|
|
70
|
+
revoking the current bundle without a fallback leaves the company on the app's
|
|
71
|
+
default screen.
|
|
72
|
+
|
|
73
|
+
You need a **manager** user of the company. The command needs a terminal (it
|
|
74
|
+
prompts), so it does not run in CI; and an AI agent must not run it on its own
|
|
75
|
+
— it publishes to real people and asks for your password.
|
|
47
76
|
|
|
48
77
|
## Seeing what the bundle does on the phone
|
|
49
78
|
|
|
@@ -74,11 +103,12 @@ logging and crash reporting (rate limited: 20 per 10 s, 4 KB per field). Those
|
|
|
74
103
|
are Condor's tools: when you need the errors of a test session, ask your Condor
|
|
75
104
|
contact, with the test account and the time window.
|
|
76
105
|
|
|
77
|
-
## Before you
|
|
106
|
+
## Before you publish
|
|
78
107
|
|
|
79
108
|
- [ ] `npx condor-mobile-bridge validate -i dist/bundle.zip --strict` exits 0.
|
|
80
109
|
- [ ] Every harness scenario passes (`default`, `cold-start`, `no-devices`,
|
|
81
110
|
`shared-serial`, `offline`).
|
|
82
|
-
- [ ]
|
|
83
|
-
|
|
84
|
-
|
|
111
|
+
- [ ] It is going to the **test company** first, with a version number not
|
|
112
|
+
used before in that company.
|
|
113
|
+
- [ ] After publishing, the `bundleHash` that `canvas publish` prints matches
|
|
114
|
+
the one `build` printed.
|
package/docs/pilot-onboarding.md
CHANGED
|
@@ -31,7 +31,7 @@ renders inside the app, talking to the device through the Condor bridge.
|
|
|
31
31
|
```bash
|
|
32
32
|
npm install @condorinst/mobile-bridge
|
|
33
33
|
```
|
|
34
|
-
Pin `"@condorinst/mobile-bridge": "^0.
|
|
34
|
+
Pin `"@condorinst/mobile-bridge": "^0.22.0"` (beta; auto-updates patches).
|
|
35
35
|
|
|
36
36
|
### 2. Start from the example
|
|
37
37
|
Copy [`examples/minimal-home`](../examples/minimal-home) — it already wires the
|
|
@@ -76,11 +76,15 @@ sandbox and the CSP block at runtime. **A non-zero exit means do not deliver.**
|
|
|
76
76
|
Errors are outright rejections by the app; warnings install fine and then
|
|
77
77
|
misbehave on the device, which is harder to diagnose.
|
|
78
78
|
|
|
79
|
-
### 6.
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
79
|
+
### 6. Publish
|
|
80
|
+
With a manager user of your company:
|
|
81
|
+
```bash
|
|
82
|
+
npx condor-mobile-bridge canvas publish dist/index.html --version 1.0.0
|
|
83
|
+
```
|
|
84
|
+
It validates, shows what goes where, asks for confirmation and your password,
|
|
85
|
+
and publishes. Publish to your **test company** first: a publish reaches every
|
|
86
|
+
user of the company at once. (Without a manager user, send `dist/bundle.zip`
|
|
87
|
+
with its `bundleSize` and `bundleHash` to your Condor contact.)
|
|
84
88
|
|
|
85
89
|
### 7. Verify on a device
|
|
86
90
|
Condor publishes → the app downloads, validates and renders your Home the next
|
package/llms-full.txt
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
# @condorinst/mobile-bridge 0.
|
|
1
|
+
# @condorinst/mobile-bridge 0.22.0 — full documentation
|
|
2
2
|
|
|
3
3
|
Generated from the files listed below, in reading order. Payload types are
|
|
4
4
|
canonical in dist/index.d.ts; the machine-readable contract is
|
|
@@ -71,7 +71,7 @@ command (denied by policy).
|
|
|
71
71
|
## The golden path
|
|
72
72
|
|
|
73
73
|
```bash
|
|
74
|
-
npm install @condorinst/mobile-bridge@^0.
|
|
74
|
+
npm install @condorinst/mobile-bridge@^0.22.0
|
|
75
75
|
```
|
|
76
76
|
|
|
77
77
|
```ts
|
|
@@ -155,6 +155,15 @@ answered and dropped. The **◀ OS back** button at the top presses the OS back
|
|
|
155
155
|
button. `--native-version null` (or `0.15.0`, …) makes the handshake report that
|
|
156
156
|
version, to test your capability branches.
|
|
157
157
|
|
|
158
|
+
## Publishing — ask the human, never run it yourself
|
|
159
|
+
|
|
160
|
+
`npx condor-mobile-bridge canvas publish` puts the bundle live at once for every
|
|
161
|
+
user of a company, and asks for the person's password. **Do not run it.** When
|
|
162
|
+
the bundle is ready, tell the human the exact command — for example
|
|
163
|
+
`npx condor-mobile-bridge canvas publish dist/index.html --version 1.0.1` — and
|
|
164
|
+
recommend publishing to their **test company** first. See
|
|
165
|
+
`docs/device-testing.md`.
|
|
166
|
+
|
|
158
167
|
## The validation loop — run this before you call the work done
|
|
159
168
|
|
|
160
169
|
```bash
|
|
@@ -225,17 +234,17 @@ Copy it first, then install, so its `package.json` is the one you keep:
|
|
|
225
234
|
|
|
226
235
|
```bash
|
|
227
236
|
mkdir my-home && cd my-home
|
|
228
|
-
npm pack @condorinst/mobile-bridge@^0.
|
|
237
|
+
npm pack @condorinst/mobile-bridge@^0.22.0 && tar -xzf condorinst-mobile-bridge-*.tgz
|
|
229
238
|
cp -r package/examples/minimal-home/. . && rm -rf package condorinst-mobile-bridge-*.tgz
|
|
230
239
|
npm install
|
|
231
240
|
```
|
|
232
241
|
|
|
233
|
-
Or, in a project you already have: `npm install @condorinst/mobile-bridge@^0.
|
|
242
|
+
Or, in a project you already have: `npm install @condorinst/mobile-bridge@^0.22.0`
|
|
234
243
|
and copy only `src/main.ts`, `build.mjs` and `index.html` from
|
|
235
244
|
`node_modules/@condorinst/mobile-bridge/examples/minimal-home/`.
|
|
236
245
|
|
|
237
246
|
Pin the SDK to the minor you are building against. Below `1.0.0`, a minor can
|
|
238
|
-
change the contract — `^0.
|
|
247
|
+
change the contract — `^0.22.0` gives you patches only, which is what you want.
|
|
239
248
|
|
|
240
249
|
**Run it in the harness**, not in a bare browser tab:
|
|
241
250
|
|
|
@@ -502,7 +511,7 @@ Four numbers coexist. Only one tells you what the device can do.
|
|
|
502
511
|
| `nativeVersion` | `0.17.0` | **The capability signal.** The bridge schema the app on this device implements. |
|
|
503
512
|
| `shellVersion` | `0.6.0` | The Condor shell wrapping your iframe. |
|
|
504
513
|
| client protocol | `0.5.0` | The postMessage protocol `BridgeClient` speaks. |
|
|
505
|
-
| package | `0.
|
|
514
|
+
| package | `0.22.0` | The npm version you compiled against. |
|
|
506
515
|
|
|
507
516
|
```ts
|
|
508
517
|
const ack = await BridgeClient.handshake({ clientVersion: '1.0.0' });
|
|
@@ -1077,10 +1086,11 @@ costs, and how to see what it is doing once it is there.
|
|
|
1077
1086
|
|
|
1078
1087
|
You do not install a bundle on a phone. The app downloads it:
|
|
1079
1088
|
|
|
1080
|
-
1.
|
|
1081
|
-
`condor-mobile-bridge
|
|
1082
|
-
|
|
1083
|
-
|
|
1089
|
+
1. The bundle is published for **your company** — by you, with
|
|
1090
|
+
`npx condor-mobile-bridge canvas publish` (below), or by your Condor
|
|
1091
|
+
contact. There is exactly one current bundle per company.
|
|
1092
|
+
2. The server checks it on upload (2 MB, `index.html` at the root,
|
|
1093
|
+
self-contained) and records its `bundleSize` and `bundleHash`.
|
|
1084
1094
|
3. Each copy of the app asks for its company's manifest when the Home opens
|
|
1085
1095
|
and every time the app returns to the foreground. If the `bundleHash`
|
|
1086
1096
|
changed, it downloads the `.zip`, checks size and hash, and swaps the Home
|
|
@@ -1095,24 +1105,52 @@ Consequences:
|
|
|
1095
1105
|
bundle, or shows its default screen, if the download fails a gate — which is
|
|
1096
1106
|
why `validate --strict` must pass before you hand anything over.
|
|
1097
1107
|
|
|
1098
|
-
##
|
|
1108
|
+
## Test on a test company, never on your real one
|
|
1109
|
+
|
|
1110
|
+
You work against production — the store app and the production Condor system.
|
|
1111
|
+
Since a publish reaches every user of the company at once, ask Condor for a
|
|
1112
|
+
**test company** with:
|
|
1113
|
+
|
|
1114
|
+
- a **manager** user for you, to publish (see below);
|
|
1115
|
+
- one or more **test accounts** with devices, to log in to the store app on
|
|
1116
|
+
your phone.
|
|
1099
1117
|
|
|
1100
|
-
|
|
1101
|
-
|
|
1102
|
-
|
|
1118
|
+
Each iteration on the device is then: build → `canvas publish` to the test
|
|
1119
|
+
company → bring the app to the foreground. Do every iteration you can in the
|
|
1120
|
+
harness first, and publish to your real company only what passed there.
|
|
1103
1121
|
|
|
1104
|
-
|
|
1105
|
-
|
|
1122
|
+
(Condor also runs a development environment for its own staff; a client does
|
|
1123
|
+
not need it.)
|
|
1106
1124
|
|
|
1107
|
-
|
|
1108
|
-
account** in a **test company** in the development environment, a
|
|
1109
|
-
**development build** of the app (Android), and to publish your bundle **to that
|
|
1110
|
-
test company**. Never iterate on a production company: every publish reaches
|
|
1111
|
-
real people.
|
|
1125
|
+
## Publishing from the command line
|
|
1112
1126
|
|
|
1113
|
-
|
|
1114
|
-
|
|
1115
|
-
|
|
1127
|
+
```bash
|
|
1128
|
+
npx condor-mobile-bridge canvas publish dist/index.html --version 1.4.0
|
|
1129
|
+
```
|
|
1130
|
+
|
|
1131
|
+
It does what the Condor web admin does, with the same login:
|
|
1132
|
+
|
|
1133
|
+
1. It validates the bundle locally (the same gates as `validate`) and refuses
|
|
1134
|
+
anything the app would reject — before sending anything.
|
|
1135
|
+
2. It asks for your **company id** and **user id** — the numbers you type in
|
|
1136
|
+
the Condor web login — unless you pass `--company` / `--user` or set
|
|
1137
|
+
`CONDOR_CANVAS_COMPANY` / `CONDOR_CANVAS_USER`.
|
|
1138
|
+
3. It shows the company, version, size and hash, warns that the bundle goes
|
|
1139
|
+
**live at once for every user of the company**, and asks `y/N`.
|
|
1140
|
+
4. It asks for your **password** without echo — there is no flag or variable
|
|
1141
|
+
for it, and it is never stored — and, when your company uses two-factor
|
|
1142
|
+
login, for the code sent to your e-mail.
|
|
1143
|
+
5. It publishes and prints the result.
|
|
1144
|
+
|
|
1145
|
+
Each version can be published once per company: publish a fix as a new
|
|
1146
|
+
version. `canvas list` shows the bundles of the company, and
|
|
1147
|
+
`canvas revoke <id> --fallback-version <v>` takes one back and serves another;
|
|
1148
|
+
revoking the current bundle without a fallback leaves the company on the app's
|
|
1149
|
+
default screen.
|
|
1150
|
+
|
|
1151
|
+
You need a **manager** user of the company. The command needs a terminal (it
|
|
1152
|
+
prompts), so it does not run in CI; and an AI agent must not run it on its own
|
|
1153
|
+
— it publishes to real people and asks for your password.
|
|
1116
1154
|
|
|
1117
1155
|
## Seeing what the bundle does on the phone
|
|
1118
1156
|
|
|
@@ -1143,14 +1181,15 @@ logging and crash reporting (rate limited: 20 per 10 s, 4 KB per field). Those
|
|
|
1143
1181
|
are Condor's tools: when you need the errors of a test session, ask your Condor
|
|
1144
1182
|
contact, with the test account and the time window.
|
|
1145
1183
|
|
|
1146
|
-
## Before you
|
|
1184
|
+
## Before you publish
|
|
1147
1185
|
|
|
1148
1186
|
- [ ] `npx condor-mobile-bridge validate -i dist/bundle.zip --strict` exits 0.
|
|
1149
1187
|
- [ ] Every harness scenario passes (`default`, `cold-start`, `no-devices`,
|
|
1150
1188
|
`shared-serial`, `offline`).
|
|
1151
|
-
- [ ]
|
|
1152
|
-
|
|
1153
|
-
|
|
1189
|
+
- [ ] It is going to the **test company** first, with a version number not
|
|
1190
|
+
used before in that company.
|
|
1191
|
+
- [ ] After publishing, the `bundleHash` that `canvas publish` prints matches
|
|
1192
|
+
the one `build` printed.
|
|
1154
1193
|
|
|
1155
1194
|
<!-- ===== docs/limits.md ===== -->
|
|
1156
1195
|
|
|
@@ -1340,13 +1379,13 @@ Pin the version with a caret:
|
|
|
1340
1379
|
```jsonc
|
|
1341
1380
|
// package.json
|
|
1342
1381
|
"dependencies": {
|
|
1343
|
-
"@condorinst/mobile-bridge": "^0.
|
|
1382
|
+
"@condorinst/mobile-bridge": "^0.22.0"
|
|
1344
1383
|
}
|
|
1345
1384
|
```
|
|
1346
1385
|
|
|
1347
|
-
**Updates.** The SDK is on `0.x` during the pilot. With `^0.
|
|
1348
|
-
`npm install` (or your CI) auto-picks **patch** releases (`0.
|
|
1349
|
-
no action needed. A `0.
|
|
1386
|
+
**Updates.** The SDK is on `0.x` during the pilot. With `^0.22.0`, running
|
|
1387
|
+
`npm install` (or your CI) auto-picks **patch** releases (`0.22.x`) — bug fixes,
|
|
1388
|
+
no action needed. A `0.23.0` (a larger change during beta) is an intentional
|
|
1350
1389
|
opt-in: you bump the range when you're ready. `1.0.0` will mark the
|
|
1351
1390
|
production-stable contract.
|
|
1352
1391
|
|
|
@@ -1648,7 +1687,9 @@ bundles and falls back to a default screen, so keep under the limit.
|
|
|
1648
1687
|
|
|
1649
1688
|
## 7. Deliver
|
|
1650
1689
|
|
|
1651
|
-
|
|
1690
|
+
Publish it yourself with a manager user of your company —
|
|
1691
|
+
`npx condor-mobile-bridge canvas publish dist/index.html --version 1.0.0` — or
|
|
1692
|
+
send the resulting `dist/bundle.zip` through the publication channel Condor
|
|
1652
1693
|
gave you (the admin upload). The backend validates structure, self-containment,
|
|
1653
1694
|
and size on upload, and records the `bundleSize`/`bundleHash`. Once published,
|
|
1654
1695
|
the app downloads, verifies, and renders your Home — for **every user of your
|
|
@@ -1711,7 +1752,7 @@ renders inside the app, talking to the device through the Condor bridge.
|
|
|
1711
1752
|
```bash
|
|
1712
1753
|
npm install @condorinst/mobile-bridge
|
|
1713
1754
|
```
|
|
1714
|
-
Pin `"@condorinst/mobile-bridge": "^0.
|
|
1755
|
+
Pin `"@condorinst/mobile-bridge": "^0.22.0"` (beta; auto-updates patches).
|
|
1715
1756
|
|
|
1716
1757
|
### 2. Start from the example
|
|
1717
1758
|
Copy [`examples/minimal-home`](../examples/minimal-home) — it already wires the
|
|
@@ -1756,11 +1797,15 @@ sandbox and the CSP block at runtime. **A non-zero exit means do not deliver.**
|
|
|
1756
1797
|
Errors are outright rejections by the app; warnings install fine and then
|
|
1757
1798
|
misbehave on the device, which is harder to diagnose.
|
|
1758
1799
|
|
|
1759
|
-
### 6.
|
|
1760
|
-
|
|
1761
|
-
|
|
1762
|
-
|
|
1763
|
-
|
|
1800
|
+
### 6. Publish
|
|
1801
|
+
With a manager user of your company:
|
|
1802
|
+
```bash
|
|
1803
|
+
npx condor-mobile-bridge canvas publish dist/index.html --version 1.0.0
|
|
1804
|
+
```
|
|
1805
|
+
It validates, shows what goes where, asks for confirmation and your password,
|
|
1806
|
+
and publishes. Publish to your **test company** first: a publish reaches every
|
|
1807
|
+
user of the company at once. (Without a manager user, send `dist/bundle.zip`
|
|
1808
|
+
with its `bundleSize` and `bundleHash` to your Condor contact.)
|
|
1764
1809
|
|
|
1765
1810
|
### 7. Verify on a device
|
|
1766
1811
|
Condor publishes → the app downloads, validates and renders your Home the next
|
package/llms.txt
CHANGED
|
@@ -7,7 +7,7 @@
|
|
|
7
7
|
> pagination, permissions, system status and language.
|
|
8
8
|
|
|
9
9
|
Every URL below is plain text over HTTPS, pinned to a released version, and
|
|
10
|
-
needs no authentication. Replace `0.
|
|
10
|
+
needs no authentication. Replace `0.22.0` with the version you depend on; the
|
|
11
11
|
contract changes between minors while the package is below 1.0.0.
|
|
12
12
|
|
|
13
13
|
The same files ship inside the npm tarball, so if you have run
|
|
@@ -16,29 +16,29 @@ The same files ship inside the npm tarball, so if you have run
|
|
|
16
16
|
|
|
17
17
|
## Start here
|
|
18
18
|
|
|
19
|
-
- [AGENTS.md](https://cdn.jsdelivr.net/npm/@condorinst/mobile-bridge@0.
|
|
20
|
-
- [llms-full.txt](https://cdn.jsdelivr.net/npm/@condorinst/mobile-bridge@0.
|
|
21
|
-
- [Agent guide](https://cdn.jsdelivr.net/npm/@condorinst/mobile-bridge@0.
|
|
19
|
+
- [AGENTS.md](https://cdn.jsdelivr.net/npm/@condorinst/mobile-bridge@0.22.0/AGENTS.md): The contract in one screen — hard rules, the golden-path boot sequence, the browser harness and the validation loop. Read before writing code.
|
|
20
|
+
- [llms-full.txt](https://cdn.jsdelivr.net/npm/@condorinst/mobile-bridge@0.22.0/llms-full.txt): AGENTS.md and every document under docs/ concatenated into one file, for a single fetch.
|
|
21
|
+
- [Agent guide](https://cdn.jsdelivr.net/npm/@condorinst/mobile-bridge@0.22.0/docs/agent-guide.md): Step-by-step construction of a client Home, with the checks to run at each stage.
|
|
22
22
|
|
|
23
23
|
## Reference
|
|
24
24
|
|
|
25
|
-
- [Bridge contract](https://cdn.jsdelivr.net/npm/@condorinst/mobile-bridge@0.
|
|
26
|
-
- [Machine-readable contract](https://cdn.jsdelivr.net/npm/@condorinst/mobile-bridge@0.
|
|
27
|
-
- [Limits](https://cdn.jsdelivr.net/npm/@condorinst/mobile-bridge@0.
|
|
28
|
-
- [Troubleshooting](https://cdn.jsdelivr.net/npm/@condorinst/mobile-bridge@0.
|
|
29
|
-
- [Testing on a device](https://cdn.jsdelivr.net/npm/@condorinst/mobile-bridge@0.
|
|
30
|
-
- [TypeScript declarations](https://cdn.jsdelivr.net/npm/@condorinst/mobile-bridge@0.
|
|
25
|
+
- [Bridge contract](https://cdn.jsdelivr.net/npm/@condorinst/mobile-bridge@0.22.0/docs/bridge-contract.md): Every observable key, every command, the three error shapes, and the capability matrix by native version.
|
|
26
|
+
- [Machine-readable contract](https://cdn.jsdelivr.net/npm/@condorinst/mobile-bridge@0.22.0/contract/bridge-contract.json): The same contract as JSON. Also importable as `@condorinst/mobile-bridge/contract`.
|
|
27
|
+
- [Limits](https://cdn.jsdelivr.net/npm/@condorinst/mobile-bridge@0.22.0/docs/limits.md): Every hard limit — payload size, rate limits, bundle size, timeouts — with what happens when you cross it.
|
|
28
|
+
- [Troubleshooting](https://cdn.jsdelivr.net/npm/@condorinst/mobile-bridge@0.22.0/docs/troubleshooting.md): Why a command did nothing, and why the device list never came. Silence is the platform's dominant failure mode.
|
|
29
|
+
- [Testing on a device](https://cdn.jsdelivr.net/npm/@condorinst/mobile-bridge@0.22.0/docs/device-testing.md): How a bundle reaches the phone, development vs production, inspecting the WebView, and where errors go.
|
|
30
|
+
- [TypeScript declarations](https://cdn.jsdelivr.net/npm/@condorinst/mobile-bridge@0.22.0/dist/index.d.ts): Authoritative payload shapes, with documentation on every member.
|
|
31
31
|
|
|
32
32
|
## Guides
|
|
33
33
|
|
|
34
|
-
- [Client guide](https://cdn.jsdelivr.net/npm/@condorinst/mobile-bridge@0.
|
|
35
|
-
- [Pilot onboarding](https://cdn.jsdelivr.net/npm/@condorinst/mobile-bridge@0.
|
|
36
|
-
- [README](https://cdn.jsdelivr.net/npm/@condorinst/mobile-bridge@0.
|
|
37
|
-
- [CHANGELOG](https://cdn.jsdelivr.net/npm/@condorinst/mobile-bridge@0.
|
|
34
|
+
- [Client guide](https://cdn.jsdelivr.net/npm/@condorinst/mobile-bridge@0.22.0/docs/client-guide.md): Narrative walkthrough for a developer building the Home by hand.
|
|
35
|
+
- [Pilot onboarding](https://cdn.jsdelivr.net/npm/@condorinst/mobile-bridge@0.22.0/docs/pilot-onboarding.md): Checklist from zero to a bundle delivered to Condor.
|
|
36
|
+
- [README](https://cdn.jsdelivr.net/npm/@condorinst/mobile-bridge@0.22.0/README.md): Package overview, install, quickstart.
|
|
37
|
+
- [CHANGELOG](https://cdn.jsdelivr.net/npm/@condorinst/mobile-bridge@0.22.0/CHANGELOG.md): When each capability was introduced. The most precise record of what a given native version supports.
|
|
38
38
|
|
|
39
39
|
## Examples
|
|
40
40
|
|
|
41
|
-
- [Minimal home](https://cdn.jsdelivr.net/npm/@condorinst/mobile-bridge@0.
|
|
41
|
+
- [Minimal home](https://cdn.jsdelivr.net/npm/@condorinst/mobile-bridge@0.22.0/examples/minimal-home/src/main.ts): A complete, working client with the reference boot sequence. Copy this as your starting point, and run it with `npx condor-mobile-bridge dev`.
|
|
42
42
|
|
|
43
43
|
## Optional
|
|
44
44
|
|
package/package.json
CHANGED