anchordb 1.0.6 → 1.2.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.
Files changed (58) hide show
  1. package/CHANGELOG.md +49 -0
  2. package/dist/cjs/core/anchor-db.d.ts +18 -3
  3. package/dist/cjs/core/anchor-db.d.ts.map +1 -1
  4. package/dist/cjs/core/anchor-db.js +26 -12
  5. package/dist/cjs/core/anchor-db.js.map +1 -1
  6. package/dist/cjs/core/runtime.d.ts +11 -0
  7. package/dist/cjs/core/runtime.d.ts.map +1 -1
  8. package/dist/cjs/index.d.ts +3 -1
  9. package/dist/cjs/index.d.ts.map +1 -1
  10. package/dist/cjs/index.js +4 -1
  11. package/dist/cjs/index.js.map +1 -1
  12. package/dist/cjs/inspector/agent.d.ts +31 -1
  13. package/dist/cjs/inspector/agent.d.ts.map +1 -1
  14. package/dist/cjs/inspector/agent.js +91 -2
  15. package/dist/cjs/inspector/agent.js.map +1 -1
  16. package/dist/cjs/inspector/client.d.ts +18 -1
  17. package/dist/cjs/inspector/client.d.ts.map +1 -1
  18. package/dist/cjs/inspector/client.js +14 -0
  19. package/dist/cjs/inspector/client.js.map +1 -1
  20. package/dist/cjs/inspector/protocol.d.ts +35 -1
  21. package/dist/cjs/inspector/protocol.d.ts.map +1 -1
  22. package/dist/cjs/inspector/protocol.js.map +1 -1
  23. package/dist/cjs/inspector/relay-connection.d.ts +61 -0
  24. package/dist/cjs/inspector/relay-connection.d.ts.map +1 -0
  25. package/dist/cjs/inspector/relay-connection.js +149 -0
  26. package/dist/cjs/inspector/relay-connection.js.map +1 -0
  27. package/dist/cjs/model/model.d.ts.map +1 -1
  28. package/dist/cjs/model/model.js +18 -1
  29. package/dist/cjs/model/model.js.map +1 -1
  30. package/dist/esm/core/anchor-db.d.ts +18 -3
  31. package/dist/esm/core/anchor-db.d.ts.map +1 -1
  32. package/dist/esm/core/anchor-db.js +26 -12
  33. package/dist/esm/core/anchor-db.js.map +1 -1
  34. package/dist/esm/core/runtime.d.ts +11 -0
  35. package/dist/esm/core/runtime.d.ts.map +1 -1
  36. package/dist/esm/index.d.ts +3 -1
  37. package/dist/esm/index.d.ts.map +1 -1
  38. package/dist/esm/index.js +1 -0
  39. package/dist/esm/index.js.map +1 -1
  40. package/dist/esm/inspector/agent.d.ts +31 -1
  41. package/dist/esm/inspector/agent.d.ts.map +1 -1
  42. package/dist/esm/inspector/agent.js +91 -2
  43. package/dist/esm/inspector/agent.js.map +1 -1
  44. package/dist/esm/inspector/client.d.ts +18 -1
  45. package/dist/esm/inspector/client.d.ts.map +1 -1
  46. package/dist/esm/inspector/client.js +14 -0
  47. package/dist/esm/inspector/client.js.map +1 -1
  48. package/dist/esm/inspector/protocol.d.ts +35 -1
  49. package/dist/esm/inspector/protocol.d.ts.map +1 -1
  50. package/dist/esm/inspector/protocol.js.map +1 -1
  51. package/dist/esm/inspector/relay-connection.d.ts +61 -0
  52. package/dist/esm/inspector/relay-connection.d.ts.map +1 -0
  53. package/dist/esm/inspector/relay-connection.js +144 -0
  54. package/dist/esm/inspector/relay-connection.js.map +1 -0
  55. package/dist/esm/model/model.d.ts.map +1 -1
  56. package/dist/esm/model/model.js +18 -1
  57. package/dist/esm/model/model.js.map +1 -1
  58. package/package.json +1 -1
package/CHANGELOG.md CHANGED
@@ -5,6 +5,55 @@ All notable changes to the `anchordb` packages.
5
5
  This project follows [semantic versioning](https://semver.org/). While the version is `0.x`, minor
6
6
  releases may contain breaking changes.
7
7
 
8
+ ## 1.2.0
9
+
10
+ Anchor Lens can create and drop indexes, and a malformed `_id` is refused instead of stored. Both
11
+ found while testing Lens on a phone.
12
+
13
+ - **Create Index and Drop Index on the inspector protocol.** `InspectorClient.createIndex(collection,
14
+ key, options)` and `dropIndex(collection, name)`, routed through `Model.createIndex()` and
15
+ `dropIndex()`. Agents had advertised `indexes:write` with no method behind it. Keys are checked
16
+ (`1` or `-1`, no `$` fields), read-only sessions refuse both, a unique index over values that already
17
+ collide fails with `duplicate_key`, and `_id_` cannot be dropped.
18
+ - **`getSchema(collection)` on the inspector protocol** — a declared model's fields with their type,
19
+ required flag, enum and plain default, nested objects as dotted paths. What Lens needs to offer
20
+ "Add all fields" on Insert document. Validator functions and function defaults are not sent; a
21
+ collection with no declared model returns no fields.
22
+ - **An insert stored an object `_id` as "[object Object]".** Insert skipped the `_id` handling updates
23
+ apply, and storage keys rows by the id's string form — so Extended JSON pasted into Lens, with
24
+ `{ "$oid": … }` read as a plain object, produced such a row, and every such document would have
25
+ collided on it. Objects that are not ObjectIds are now refused with a `CastError`. Strings and
26
+ numbers are kept, as the driver keeps them.
27
+
28
+ ## 1.1.0
29
+
30
+ **Anchor Lens can read other apps.** Pointing Lens at a second app on a real phone found every step of
31
+ that path broken or missing.
32
+
33
+ - **`inspector: { enabled, relayUrl }` did nothing.** It ran a production check and never connected.
34
+ With `relayUrl` set the database now publishes itself to `anchor-relay` on construction, stays
35
+ connected, reconnects after a drop, and reports pairing codes through `inspector.onPairing` and the
36
+ `inspector:pairing` / `inspector:state` events. `db.inspector` exposes the connection, and
37
+ `connectInspectorToRelay(db, options)` does the same at runtime.
38
+ - **Pairing asked for a 32-character hex challenge, typed on a phone.** The agent now sends it with
39
+ `connect` as `ConnectResult.challenge` — a nonce, not a secret; the code never leaves the app — and
40
+ opens a fresh pairing window, announcing its code, when the last one was spent or expired. Lens types
41
+ only the code.
42
+ - **The production guard never fired on React Native.** It read `process.env.NODE_ENV` through
43
+ `globalThis`, which Metro does not inline, so a release build looked like development. `__DEV__ ===
44
+ false` now counts as production too.
45
+ - **`anchordb-relay`:**
46
+ - With `--host 0.0.0.0` it printed `ws://0.0.0.0:9440` — the listen address, which no device can
47
+ dial. It now prints the machine's network addresses.
48
+ - It prints the Lens link as a QR code in the terminal.
49
+ - `--room <id>` fixes the room, so an app built with the agent URL survives relay restarts.
50
+ - The room it printed was reclaimed after 30 idle minutes, so an app connecting later got "unknown
51
+ room". It is now kept for the life of the relay.
52
+ - Stopping it hung while an app or Lens was connected: neither `wss.close` nor `http.close` ends
53
+ established connections. They are now terminated.
54
+ - Tested over real sockets: a relay server, an app publishing with `connectInspectorToRelay`, and a Lens
55
+ client that pairs with only the code, reads and writes, then shuts down cleanly.
56
+
8
57
  ## 1.0.6
9
58
 
10
59
  Crash on launch in React Native apps that load `anchordb` before `anchordb-react`.
@@ -1,5 +1,7 @@
1
1
  import { HybridLogicalClock } from "./hlc.js";
2
2
  import { TypedEmitter } from "../events/emitter.js";
3
+ import type { PairingInfo } from "../inspector/auth.js";
4
+ import { type RelayInspector } from "../inspector/relay-connection.js";
3
5
  import { TimeService } from "../timestamps/index.js";
4
6
  import { Schema } from "../schema/schema.js";
5
7
  import { Model } from "../model/model.js";
@@ -24,7 +26,15 @@ export interface SyncConfig {
24
26
  }
25
27
  export interface InspectorConfig {
26
28
  enabled: boolean;
29
+ /**
30
+ * The agent URL `anchor-relay` prints — `ws://<laptop-ip>:9440/relay?room=<room>&role=agent`. When set,
31
+ * the database connects to the relay on construction and stays connected, so Anchor Lens can open it.
32
+ */
27
33
  relayUrl?: string;
34
+ /** Every new pairing code. Show it on screen: Lens asks for it. Also emitted as `inspector:pairing`. */
35
+ onPairing?: (pairing: PairingInfo) => void;
36
+ /** Refuse every write from Lens. */
37
+ readOnly?: boolean;
28
38
  authentication?: {
29
39
  mode: "temporary-token";
30
40
  ttlSeconds?: number;
@@ -64,6 +74,7 @@ export declare class AnchorDB {
64
74
  readonly time: TimeService;
65
75
  readonly config: AnchorDBConfig;
66
76
  private readonly emitter;
77
+ private inspectorValue;
67
78
  private readonly models;
68
79
  private readonly constructors;
69
80
  private readonly clockInstance;
@@ -79,6 +90,8 @@ export declare class AnchorDB {
79
90
  get syncEnabled(): boolean;
80
91
  get clientId(): string;
81
92
  get adapter(): DatabaseAdapter;
93
+ /** The live relay connection for Anchor Lens, when `inspector.relayUrl` is configured. */
94
+ get inspector(): RelayInspector | null;
82
95
  /** Exposed for the sync engine, which must stamp and advance the same clock the models use. */
83
96
  get clock(): HybridLogicalClock;
84
97
  /** Opened lazily on first use, so construction never does I/O. */
@@ -144,10 +157,12 @@ export declare class AnchorDB {
144
157
  private runtimeCache;
145
158
  private runtime;
146
159
  /**
147
- * The inspector exposes application data, so enabling it in production requires an explicit,
148
- * separate acknowledgement — a config typo must never open a database over the network.
160
+ * Start the inspector described by the config.
161
+ *
162
+ * With a `relayUrl` the database publishes itself to Anchor Lens through the relay. Without one it
163
+ * only runs the production check, as before — an app wiring an `InspectorAgent` by hand still gets it.
149
164
  */
150
- private assertInspectorSafe;
165
+ private startInspector;
151
166
  }
152
167
  /** Alias matching the brief's original naming. */
153
168
  export declare const LocalDB: typeof AnchorDB;
@@ -1 +1 @@
1
- {"version":3,"file":"anchor-db.d.ts","sourceRoot":"","sources":["../../../src/core/anchor-db.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"anchor-db.d.ts","sourceRoot":"","sources":["../../../src/core/anchor-db.ts"],"names":[],"mappings":"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"}
@@ -5,6 +5,7 @@ const errors_ts_1 = require("./errors.js");
5
5
  const hlc_ts_1 = require("./hlc.js");
6
6
  const uuid_ts_1 = require("./uuid.js");
7
7
  const emitter_ts_1 = require("../events/emitter.js");
8
+ const relay_connection_ts_1 = require("../inspector/relay-connection.js");
8
9
  const index_ts_1 = require("../timestamps/index.js");
9
10
  const timezone_ts_1 = require("../timestamps/timezone.js");
10
11
  const schema_ts_1 = require("../schema/schema.js");
@@ -27,6 +28,7 @@ const memory_ts_1 = require("../storage/adapters/memory.js");
27
28
  class AnchorDB {
28
29
  constructor(config) {
29
30
  this.emitter = new emitter_ts_1.TypedEmitter();
31
+ this.inspectorValue = null;
30
32
  this.models = new Map();
31
33
  this.constructors = new Map();
32
34
  this.openPromise = null;
@@ -71,7 +73,7 @@ class AnchorDB {
71
73
  this.adapterInstance = config.adapter ?? new memory_ts_1.MemoryAdapter(config.name);
72
74
  this.syncStatusValue = config.sync ? "idle" : "disabled";
73
75
  if (config.inspector?.enabled)
74
- this.assertInspectorSafe(config.inspector);
76
+ this.inspectorValue = this.startInspector(config.inspector);
75
77
  }
76
78
  /** True when a `sync` block was supplied. */
77
79
  get syncEnabled() {
@@ -83,6 +85,10 @@ class AnchorDB {
83
85
  get adapter() {
84
86
  return this.adapterInstance;
85
87
  }
88
+ /** The live relay connection for Anchor Lens, when `inspector.relayUrl` is configured. */
89
+ get inspector() {
90
+ return this.inspectorValue;
91
+ }
86
92
  /** Exposed for the sync engine, which must stamp and advance the same clock the models use. */
87
93
  get clock() {
88
94
  return this.clockInstance;
@@ -111,6 +117,7 @@ class AnchorDB {
111
117
  async close() {
112
118
  if (this.closed)
113
119
  return;
120
+ await this.inspectorValue?.close();
114
121
  if (this.openPromise) {
115
122
  await this.openPromise;
116
123
  await this.adapterInstance.setState("anchor:hlc", encodeClock(this.clockInstance));
@@ -254,19 +261,26 @@ class AnchorDB {
254
261
  return this.runtimeCache;
255
262
  }
256
263
  /**
257
- * The inspector exposes application data, so enabling it in production requires an explicit,
258
- * separate acknowledgement — a config typo must never open a database over the network.
264
+ * Start the inspector described by the config.
265
+ *
266
+ * With a `relayUrl` the database publishes itself to Anchor Lens through the relay. Without one it
267
+ * only runs the production check, as before — an app wiring an `InspectorAgent` by hand still gets it.
259
268
  */
260
- assertInspectorSafe(inspector) {
261
- const env = globalThis.process?.env?.NODE_ENV ?? "development";
262
- if (env === "production" && !inspector.allowInProduction) {
263
- throw new errors_ts_1.AnchorConfigError("The Anchor Inspector is enabled while NODE_ENV=production. It exposes your local database to " +
264
- "Anchor Lens and must not ship in a release build. If this is deliberate (an internal build, " +
265
- "say), set inspector.allowInProduction: true to acknowledge it.");
269
+ startInspector(inspector) {
270
+ if (!inspector.relayUrl) {
271
+ (0, relay_connection_ts_1.assertInspectorAllowed)(this.name, inspector.allowInProduction);
272
+ return null;
266
273
  }
267
- // eslint-disable-next-line no-console
268
- console.warn(`[anchor] Inspector ENABLED for database "${this.name}". Your local data is reachable by Anchor Lens. ` +
269
- `Disable it before shipping.`);
274
+ return (0, relay_connection_ts_1.connectInspectorToRelay)(this, {
275
+ relayUrl: inspector.relayUrl,
276
+ ...(inspector.allowInProduction ? { allowInProduction: true } : {}),
277
+ ...(inspector.readOnly ? { readOnly: true } : {}),
278
+ onPairing: (pairing) => {
279
+ this.emitter.emit("inspector:pairing", pairing);
280
+ inspector.onPairing?.(pairing);
281
+ },
282
+ onStateChange: (state, detail) => this.emitter.emit("inspector:state", { state, ...(detail !== undefined ? { detail } : {}) }),
283
+ });
270
284
  }
271
285
  }
272
286
  exports.AnchorDB = AnchorDB;
@@ -1 +1 @@
1
- {"version":3,"file":"anchor-db.js","sourceRoot":"","sources":["../../../src/core/anchor-db.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"anchor-db.js","sourceRoot":"","sources":["../../../src/core/anchor-db.ts"],"names":[],"mappings":"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"}
@@ -63,6 +63,17 @@ export interface AnchorEvents extends Record<string, unknown> {
63
63
  "auth:expired": {
64
64
  at: string;
65
65
  };
66
+ /** A new code for pairing Anchor Lens, when `inspector.relayUrl` is set. Put it on screen. */
67
+ "inspector:pairing": {
68
+ code: string;
69
+ challenge: string;
70
+ expiresAt: string;
71
+ };
72
+ /** The relay connection behind `inspector.relayUrl`. */
73
+ "inspector:state": {
74
+ state: "connecting" | "open" | "closed";
75
+ detail?: string;
76
+ };
66
77
  }
67
78
  /**
68
79
  * The shared services a Model needs, passed as one object so Model never reaches back into AnchorDB.
@@ -1 +1 @@
1
- {"version":3,"file":"runtime.d.ts","sourceRoot":"","sources":["../../../src/core/runtime.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"runtime.d.ts","sourceRoot":"","sources":["../../../src/core/runtime.ts"],"names":[],"mappings":"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"}
@@ -68,10 +68,12 @@ export type { InspectorAuthOptions, PairingInfo, Session } from "./inspector/aut
68
68
  export { createInProcessTransportPair } from "./inspector/transports/in-process.js";
69
69
  export { WebSocketTransport } from "./inspector/transports/websocket.js";
70
70
  export type { WebSocketLike, WebSocketTransportOptions } from "./inspector/transports/websocket.js";
71
+ export { agentRelayUrl, connectInspectorToRelay } from "./inspector/relay-connection.js";
72
+ export type { RelayInspector, RelayInspectorOptions, RelayInspectorState } from "./inspector/relay-connection.js";
71
73
  export { INSPECTOR_PROTOCOL_VERSION, makeRequest, makeResponse, makeError, makeEvent, isRequest, isResponse, isEvent, } from "./inspector/protocol.js";
72
74
  export { BRIDGE_PROTOCOL_VERSION, BridgeError, MongoBridgeClient, bridgeUrl, bridgeUrlFromRelay, redactMongoUri, } from "./inspector/bridge.js";
73
75
  export type { BridgeConnectResult, BridgeErrorCode, BridgeOp, BridgeReadResult, BridgeRequest, BridgeResponse, BridgeWriteMode, BridgeWriteResult, MongoBridgeClientOptions, MongoCollectionInfo, } from "./inspector/bridge.js";
74
- export type { BulkWriteSummary, CollectionSummary, ConflictRecord, ConnectResult, DocumentPage, InspectorCapability, InspectorError, InspectorErrorCode, InspectorEvent, InspectorEventName, InspectorMessage, InspectorMethod, InspectorRequest, InspectorResponse, InspectorStats, InspectorTransport, } from "./inspector/protocol.js";
76
+ export type { BulkWriteSummary, CollectionSchema, CollectionSummary, ConflictRecord, ConnectResult, DocumentPage, InspectorCapability, InspectorError, InspectorErrorCode, InspectorEvent, SchemaField, InspectorEventName, InspectorMessage, InspectorMethod, InspectorRequest, InspectorResponse, InspectorStats, InspectorTransport, } from "./inspector/protocol.js";
75
77
  export { observe, observeQuery, observeSyncStatus } from "./reactive/live-query.js";
76
78
  export type { LiveObserver, LiveQueryOptions, LiveSubscription } from "./reactive/live-query.js";
77
79
  export { SqlAdapterBase } from "./storage/adapters/sql-base.js";
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EAAE,QAAQ,EAAE,OAAO,EAAE,MAAM,qBAAqB,CAAC;AACxD,YAAY,EACV,cAAc,EACd,eAAe,EACf,UAAU,EACV,UAAU,GACX,MAAM,qBAAqB,CAAC;AAE7B,OAAO,EAAE,MAAM,EAAE,MAAM,oBAAoB,CAAC;AAC5C,OAAO,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAChD,YAAY,EACV,aAAa,EACb,iBAAiB,EACjB,WAAW,EACX,aAAa,GACd,MAAM,mBAAmB,CAAC;AAC3B,OAAO,EAAE,YAAY,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAC;AAC3D,OAAO,EAAE,gBAAgB,EAAE,MAAM,sBAAsB,CAAC;AAExD,OAAO,EAAE,KAAK,EAAE,MAAM,kBAAkB,CAAC;AACzC,YAAY,EAAE,YAAY,EAAE,aAAa,EAAE,YAAY,EAAE,MAAM,kBAAkB,CAAC;AAElF,OAAO,EAAE,KAAK,EAAE,MAAM,0BAA0B,CAAC;AACjD,YAAY,EAAE,aAAa,EAAE,YAAY,EAAE,MAAM,0BAA0B,CAAC;AAE5E,OAAO,EAAE,QAAQ,EAAE,MAAM,qBAAqB,CAAC;AAC/C,OAAO,EAAE,MAAM,EAAE,gBAAgB,EAAE,MAAM,gBAAgB,CAAC;AAC1D,OAAO,EAAE,kBAAkB,EAAE,UAAU,EAAE,gBAAgB,EAAE,SAAS,EAAE,SAAS,EAAE,MAAM,eAAe,CAAC;AACvG,YAAY,EAAE,GAAG,EAAE,MAAM,eAAe,CAAC;AAEzC,OAAO,EACL,WAAW,EACX,iBAAiB,EACjB,cAAc,EACd,SAAS,EACT,qBAAqB,EACrB,kBAAkB,EAClB,gBAAgB,EAChB,eAAe,EACf,eAAe,EACf,cAAc,EACd,iBAAiB,GAClB,MAAM,kBAAkB,CAAC;AAE1B,OAAO,EAAE,WAAW,EAAE,MAAM,uBAAuB,CAAC;AACpD,OAAO,EACL,mBAAmB,EACnB,oBAAoB,EACpB,gBAAgB,EAChB,eAAe,EACf,mBAAmB,EACnB,QAAQ,EACR,cAAc,GACf,MAAM,0BAA0B,CAAC;AAElC,OAAO,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAC;AACnD,YAAY,EAAE,YAAY,EAAE,aAAa,EAAE,MAAM,mBAAmB,CAAC;AAErE,OAAO,EAAE,aAAa,EAAE,MAAM,8BAA8B,CAAC;AAC7D,YAAY,EACV,YAAY,EACZ,eAAe,EACf,SAAS,EACT,WAAW,EACX,aAAa,EACb,SAAS,EACT,UAAU,EACV,SAAS,EACT,OAAO,GACR,MAAM,oBAAoB,CAAC;AAE5B,OAAO,EACL,aAAa,EACb,kBAAkB,EAClB,qBAAqB,EACrB,kBAAkB,GACnB,MAAM,mBAAmB,CAAC;AAC3B,YAAY,EAAE,MAAM,EAAE,MAAM,mBAAmB,CAAC;AAChD,OAAO,EACL,WAAW,EACX,sBAAsB,EACtB,mBAAmB,EACnB,YAAY,GACb,MAAM,mBAAmB,CAAC;AAC3B,YAAY,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAC;AAEpD,OAAO,EACL,aAAa,EACb,SAAS,EACT,YAAY,EACZ,OAAO,EACP,OAAO,EACP,OAAO,EACP,SAAS,EACT,WAAW,GACZ,MAAM,iBAAiB,CAAC;AAEzB,OAAO,EAAE,gBAAgB,EAAE,gBAAgB,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAEpF,YAAY,EACV,eAAe,EACf,wBAAwB,EACxB,gBAAgB,EAChB,oBAAoB,EACpB,WAAW,EACX,UAAU,GACX,MAAM,qBAAqB,CAAC;AAG7B,OAAO,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAC9C,YAAY,EAAE,iBAAiB,EAAE,YAAY,EAAE,MAAM,kBAAkB,CAAC;AACxE,OAAO,EAAE,aAAa,EAAE,gBAAgB,EAAE,MAAM,iBAAiB,CAAC;AAClE,OAAO,EAAE,UAAU,EAAE,iBAAiB,EAAE,MAAM,kBAAkB,CAAC;AACjE,YAAY,EAAE,iBAAiB,EAAE,aAAa,EAAE,eAAe,EAAE,MAAM,kBAAkB,CAAC;AAC1F,OAAO,EAAE,eAAe,EAAE,MAAM,yBAAyB,CAAC;AAC1D,YAAY,EAAE,sBAAsB,EAAE,MAAM,yBAAyB,CAAC;AACtE,OAAO,EAAE,gBAAgB,EAAE,MAAM,gCAAgC,CAAC;AAClE,YAAY,EAAE,cAAc,EAAE,uBAAuB,EAAE,MAAM,gCAAgC,CAAC;AAC9F,OAAO,EACL,gBAAgB,EAChB,aAAa,EACb,kBAAkB,GACnB,MAAM,oBAAoB,CAAC;AAC5B,YAAY,EACV,YAAY,EACZ,YAAY,EACZ,QAAQ,EACR,iBAAiB,EACjB,WAAW,EACX,YAAY,EACZ,WAAW,EACX,YAAY,EACZ,cAAc,EACd,YAAY,EACZ,WAAW,GACZ,MAAM,oBAAoB,CAAC;AAG5B,OAAO,EACL,kBAAkB,EAClB,wBAAwB,EACxB,cAAc,EACd,kBAAkB,EAClB,qBAAqB,EACrB,kBAAkB,GACnB,MAAM,0BAA0B,CAAC;AAClC,YAAY,EAAE,uBAAuB,EAAE,MAAM,0BAA0B,CAAC;AAGxE,OAAO,EAAE,OAAO,EAAE,SAAS,EAAE,cAAc,EAAE,UAAU,EAAE,MAAM,oBAAoB,CAAC;AACpF,YAAY,EAAE,SAAS,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAClE,OAAO,EACL,kBAAkB,EAClB,gBAAgB,EAChB,cAAc,EACd,gBAAgB,EAChB,cAAc,EACd,kBAAkB,GACnB,MAAM,4BAA4B,CAAC;AACpC,OAAO,EAAE,UAAU,EAAE,OAAO,EAAE,aAAa,EAAE,YAAY,EAAE,YAAY,EAAE,KAAK,EAAE,MAAM,kBAAkB,CAAC;AACzG,YAAY,EACV,gBAAgB,EAChB,cAAc,EACd,YAAY,EACZ,aAAa,EACb,aAAa,EACb,YAAY,GACb,MAAM,4BAA4B,CAAC;AAGpC,OAAO,EAAE,WAAW,EAAE,gBAAgB,EAAE,YAAY,EAAE,MAAM,iCAAiC,CAAC;AAC9F,YAAY,EACV,gBAAgB,EAChB,gBAAgB,EAChB,iBAAiB,EACjB,aAAa,EACb,QAAQ,GACT,MAAM,iCAAiC,CAAC;AACzC,OAAO,EACL,QAAQ,IAAI,kBAAkB,EAC9B,0BAA0B,EAC1B,uBAAuB,EACvB,kBAAkB,EAClB,OAAO,GACR,MAAM,oCAAoC,CAAC;AAC5C,OAAO,EAAE,wBAAwB,EAAE,MAAM,+BAA+B,CAAC;AACzE,YAAY,EAAE,kBAAkB,EAAE,MAAM,kBAAkB,CAAC;AAG3D,OAAO,EAAE,cAAc,EAAE,sBAAsB,EAAE,MAAM,qBAAqB,CAAC;AAC7E,YAAY,EAAE,gBAAgB,EAAE,eAAe,EAAE,MAAM,qBAAqB,CAAC;AAC7E,OAAO,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAG9C,OAAO,EAAE,cAAc,EAAE,qBAAqB,EAAE,MAAM,sBAAsB,CAAC;AAC7E,YAAY,EAAE,qBAAqB,EAAE,MAAM,sBAAsB,CAAC;AAClE,OAAO,EAAE,eAAe,EAAE,oBAAoB,EAAE,MAAM,uBAAuB,CAAC;AAC9E,YAAY,EAAE,sBAAsB,EAAE,MAAM,uBAAuB,CAAC;AACpE,OAAO,EAAE,aAAa,EAAE,UAAU,EAAE,eAAe,EAAE,MAAM,qBAAqB,CAAC;AACjF,YAAY,EAAE,oBAAoB,EAAE,WAAW,EAAE,OAAO,EAAE,MAAM,qBAAqB,CAAC;AACtF,OAAO,EAAE,4BAA4B,EAAE,MAAM,sCAAsC,CAAC;AACpF,OAAO,EAAE,kBAAkB,EAAE,MAAM,qCAAqC,CAAC;AACzE,YAAY,EAAE,aAAa,EAAE,yBAAyB,EAAE,MAAM,qCAAqC,CAAC;AACpG,OAAO,EACL,0BAA0B,EAC1B,WAAW,EACX,YAAY,EACZ,SAAS,EACT,SAAS,EACT,SAAS,EACT,UAAU,EACV,OAAO,GACR,MAAM,yBAAyB,CAAC;AACjC,OAAO,EACL,uBAAuB,EACvB,WAAW,EACX,iBAAiB,EACjB,SAAS,EACT,kBAAkB,EAClB,cAAc,GACf,MAAM,uBAAuB,CAAC;AAC/B,YAAY,EACV,mBAAmB,EACnB,eAAe,EACf,QAAQ,EACR,gBAAgB,EAChB,aAAa,EACb,cAAc,EACd,eAAe,EACf,iBAAiB,EACjB,wBAAwB,EACxB,mBAAmB,GACpB,MAAM,uBAAuB,CAAC;AAC/B,YAAY,EACV,gBAAgB,EAChB,iBAAiB,EACjB,cAAc,EACd,aAAa,EACb,YAAY,EACZ,mBAAmB,EACnB,cAAc,EACd,kBAAkB,EAClB,cAAc,EACd,kBAAkB,EAClB,gBAAgB,EAChB,eAAe,EACf,gBAAgB,EAChB,iBAAiB,EACjB,cAAc,EACd,kBAAkB,GACnB,MAAM,yBAAyB,CAAC;AAGjC,OAAO,EAAE,OAAO,EAAE,YAAY,EAAE,iBAAiB,EAAE,MAAM,0BAA0B,CAAC;AACpF,YAAY,EAAE,YAAY,EAAE,gBAAgB,EAAE,gBAAgB,EAAE,MAAM,0BAA0B,CAAC;AAGjG,OAAO,EAAE,cAAc,EAAE,MAAM,gCAAgC,CAAC;AAChE,YAAY,EAAE,SAAS,EAAE,MAAM,gCAAgC,CAAC;AAChE,OAAO,EAAE,gBAAgB,EAAE,MAAM,iCAAiC,CAAC;AACnE,YAAY,EAAE,uBAAuB,EAAE,MAAM,iCAAiC,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"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"}
package/dist/cjs/index.js CHANGED
@@ -8,7 +8,7 @@
8
8
  Object.defineProperty(exports, "__esModule", { value: true });
9
9
  exports.getPath = exports.flattenPaths = exports.deepClone = exports.compareValues = exports.updatedPaths = exports.listUpdateOperators = exports.registerUpdateOperator = exports.applyUpdate = exports.listQueryOperators = exports.registerQueryOperator = exports.extractConstraints = exports.matchesFilter = exports.MemoryAdapter = exports.TypedEmitter = exports.zonedTimeToUtc = exports.toUtcIso = exports.parseZonedTimeToUtc = exports.isValidTimeZone = exports.formatInTimeZone = exports.detectDeviceTimeZone = exports.assertValidTimeZone = exports.TimeService = exports.duplicateKeyError = exports.ValidatorError = exports.ValidationError = exports.StrictModeError = exports.MongoServerError = exports.DUPLICATE_KEY_CODE = exports.DocumentNotFoundError = exports.CastError = exports.BulkWriteError = exports.AnchorConfigError = exports.AnchorError = exports.encodeHlc = exports.decodeHlc = exports.compareHlcStamps = exports.compareHlc = exports.HybridLogicalClock = exports.generateClientId = exports.uuidv7 = exports.ObjectId = exports.Query = exports.Model = exports.validateDocument = exports.castValue = exports.castDocument = exports.SchemaTypes = exports.Schema = exports.LocalDB = exports.AnchorDB = void 0;
10
10
  exports.createModelConstructor = exports.AnchorDocument = exports.StorageAggregationSource = exports.MISSING = exports.isPortableOperator = exports.listExpressionOperators = exports.registerExpressionOperator = exports.evaluateExpression = exports.planPushdown = exports.validatePipeline = exports.runPipeline = exports.toCsv = exports.parseCsvRows = exports.looksLikeCsv = exports.inferCsvValue = exports.fromCsv = exports.csvHeaders = exports.mongoimportCommand = exports.importDatabase = exports.importCollection = exports.exportDatabase = exports.exportCollection = exports.detectImportFormat = exports.parseEJSON = exports.stringifyEJSON = exports.fromEJSON = exports.toEJSON = exports.ServerWinsStrategy = exports.LastWriteWinsStrategy = exports.FieldLevelStrategy = exports.CustomStrategy = exports.ConflictStrategyRegistry = exports.ClientWinsStrategy = exports.SyncTransportError = exports.SyncAuthError = exports.PROTOCOL_VERSION = exports.MemorySyncServer = exports.RestSyncAdapter = exports.SHADOW_COLLECTION = exports.SyncEngine = exports.QUEUE_COLLECTION = exports.MutationQueue = exports.attachSync = exports.NULL_SENTINEL = exports.defaultIndexName = exports.extractIndexKeys = exports.valuesEqual = exports.unsetPath = exports.setPath = exports.hasPath = void 0;
11
- exports.IndexedDbAdapter = exports.SqlAdapterBase = exports.observeSyncStatus = exports.observeQuery = exports.observe = exports.redactMongoUri = exports.bridgeUrlFromRelay = exports.bridgeUrl = exports.MongoBridgeClient = exports.BridgeError = exports.BRIDGE_PROTOCOL_VERSION = exports.isEvent = exports.isResponse = exports.isRequest = exports.makeEvent = exports.makeError = exports.makeResponse = exports.makeRequest = exports.INSPECTOR_PROTOCOL_VERSION = exports.WebSocketTransport = exports.createInProcessTransportPair = exports.timingSafeEqual = exports.hmacSha256 = exports.InspectorAuth = exports.InspectorClientError = exports.InspectorClient = exports.InspectorRequestError = exports.InspectorAgent = exports.castFilter = void 0;
11
+ exports.IndexedDbAdapter = exports.SqlAdapterBase = exports.observeSyncStatus = exports.observeQuery = exports.observe = exports.redactMongoUri = exports.bridgeUrlFromRelay = exports.bridgeUrl = exports.MongoBridgeClient = exports.BridgeError = exports.BRIDGE_PROTOCOL_VERSION = exports.isEvent = exports.isResponse = exports.isRequest = exports.makeEvent = exports.makeError = exports.makeResponse = exports.makeRequest = exports.INSPECTOR_PROTOCOL_VERSION = exports.connectInspectorToRelay = exports.agentRelayUrl = exports.WebSocketTransport = exports.createInProcessTransportPair = exports.timingSafeEqual = exports.hmacSha256 = exports.InspectorAuth = exports.InspectorClientError = exports.InspectorClient = exports.InspectorRequestError = exports.InspectorAgent = exports.castFilter = void 0;
12
12
  var anchor_db_ts_1 = require("./core/anchor-db.js");
13
13
  Object.defineProperty(exports, "AnchorDB", { enumerable: true, get: function () { return anchor_db_ts_1.AnchorDB; } });
14
14
  Object.defineProperty(exports, "LocalDB", { enumerable: true, get: function () { return anchor_db_ts_1.LocalDB; } });
@@ -164,6 +164,9 @@ var in_process_ts_1 = require("./inspector/transports/in-process.js");
164
164
  Object.defineProperty(exports, "createInProcessTransportPair", { enumerable: true, get: function () { return in_process_ts_1.createInProcessTransportPair; } });
165
165
  var websocket_ts_1 = require("./inspector/transports/websocket.js");
166
166
  Object.defineProperty(exports, "WebSocketTransport", { enumerable: true, get: function () { return websocket_ts_1.WebSocketTransport; } });
167
+ var relay_connection_ts_1 = require("./inspector/relay-connection.js");
168
+ Object.defineProperty(exports, "agentRelayUrl", { enumerable: true, get: function () { return relay_connection_ts_1.agentRelayUrl; } });
169
+ Object.defineProperty(exports, "connectInspectorToRelay", { enumerable: true, get: function () { return relay_connection_ts_1.connectInspectorToRelay; } });
167
170
  var protocol_ts_2 = require("./inspector/protocol.js");
168
171
  Object.defineProperty(exports, "INSPECTOR_PROTOCOL_VERSION", { enumerable: true, get: function () { return protocol_ts_2.INSPECTOR_PROTOCOL_VERSION; } });
169
172
  Object.defineProperty(exports, "makeRequest", { enumerable: true, get: function () { return protocol_ts_2.makeRequest; } });
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"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"}
@@ -9,6 +9,13 @@ export interface InspectorAgentOptions {
9
9
  anchorVersion?: string;
10
10
  /** Conflicts to retain for the Lens conflict viewer. */
11
11
  conflictHistory?: number;
12
+ /**
13
+ * Called with every new pairing code, so the app can put it on screen.
14
+ *
15
+ * The code must reach the developer through the app, never through the relay or a QR code — that
16
+ * is what makes photographing the QR insufficient to pair.
17
+ */
18
+ onPairing?: (pairing: PairingInfo) => void;
12
19
  }
13
20
  export declare class InspectorAgent {
14
21
  readonly auth: InspectorAuth;
@@ -21,7 +28,7 @@ export declare class InspectorAgent {
21
28
  private detach;
22
29
  private lastSyncAt;
23
30
  constructor(db: AnchorDB, options?: InspectorAgentOptions);
24
- /** Begin a pairing window; the result is what a QR code encodes. */
31
+ /** Begin a pairing window, invalidating any unused code, and announce it through `onPairing`. */
25
32
  startPairing(): PairingInfo;
26
33
  capabilities(): InspectorCapability[];
27
34
  /** Attach a transport. Multiple may be attached at once (§45). */
@@ -31,6 +38,14 @@ export declare class InspectorAgent {
31
38
  private toErrorResponse;
32
39
  private dispatch;
33
40
  private connect;
41
+ /**
42
+ * The challenge of the open pairing window — opening one, and announcing its code, if none is.
43
+ *
44
+ * A code is single-use and short-lived, so by the time Lens connects the one the app first showed
45
+ * may be spent or expired. Issuing a fresh one here means the developer always has a live code on
46
+ * the app's screen at the moment Lens asks for it.
47
+ */
48
+ private openChallenge;
34
49
  private authenticate;
35
50
  /** The challenge a client signs. Exposed so a transport can hand it over during pairing. */
36
51
  challenge(): string | null;
@@ -46,6 +61,21 @@ export declare class InspectorAgent {
46
61
  private declaredModel;
47
62
  private getStats;
48
63
  private getIndexes;
64
+ /**
65
+ * A collection's declared shape, for Lens's "Add all fields" on Insert document.
66
+ *
67
+ * Only what a form needs: path, type, required, enum and a plain default. Validator functions and
68
+ * hooks cannot cross the wire and are left out. A collection with no declared model has no fields.
69
+ */
70
+ private getSchema;
71
+ /**
72
+ * Compass's Create Index, through `Model.createIndex()`.
73
+ *
74
+ * Agents advertised `indexes:write` long before any method stood behind it, so Lens held a capability it
75
+ * could not use. The key and options arrive from the network, so they are checked here.
76
+ */
77
+ private createIndex;
78
+ private dropIndex;
49
79
  /** Paged, always. The cap is enforced here, not trusted from the client (§34). */
50
80
  private getDocuments;
51
81
  private getDocument;
@@ -1 +1 @@
1
- {"version":3,"file":"agent.d.ts","sourceRoot":"","sources":["../../../src/inspector/agent.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,sBAAsB,CAAC;AAMrD,OAAO,EAAE,aAAa,EAAE,KAAK,oBAAoB,EAAE,KAAK,WAAW,EAAE,MAAM,WAAW,CAAC;AACvF,OAAO,EAWL,KAAK,mBAAmB,EAIxB,KAAK,kBAAkB,EACxB,MAAM,eAAe,CAAC;AAsBvB,MAAM,WAAW,qBAAqB;IACpC,IAAI,CAAC,EAAE,oBAAoB,CAAC;IAC5B,2FAA2F;IAC3F,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,wDAAwD;IACxD,eAAe,CAAC,EAAE,MAAM,CAAC;CAC1B;AAED,qBAAa,cAAc;IACzB,QAAQ,CAAC,IAAI,EAAE,aAAa,CAAC;IAC7B,OAAO,CAAC,QAAQ,CAAC,EAAE,CAAW;IAC9B,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAwB;IAC7C,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAiC;IAC5D,OAAO,CAAC,QAAQ,CAAC,aAAa,CAA6C;IAC3E,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAiC;IAC5D,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAwB;IAClD,OAAO,CAAC,MAAM,CAAyB;IACvC,OAAO,CAAC,UAAU,CAAqB;gBAE3B,EAAE,EAAE,QAAQ,EAAE,OAAO,GAAE,qBAA0B;IAO7D,oEAAoE;IACpE,YAAY,IAAI,WAAW;IAI3B,YAAY,IAAI,mBAAmB,EAAE;IAgBrC,kEAAkE;IAClE,MAAM,CAAC,SAAS,EAAE,kBAAkB,GAAG,MAAM,IAAI;IAY3C,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC;YAUd,MAAM;IAuBpB,OAAO,CAAC,eAAe;YAeT,QAAQ;IA4FtB,OAAO,CAAC,OAAO;IAiBf,OAAO,CAAC,YAAY;IAmBpB,4FAA4F;IAC5F,SAAS,IAAI,MAAM,GAAG,IAAI;IAM1B,OAAO,CAAC,KAAK;YAYC,cAAc;IAiB5B;;;;;;OAMG;IACH,OAAO,CAAC,aAAa;YAKP,QAAQ;YAkBR,UAAU;IAIxB,kFAAkF;YACpE,YAAY;YAgBZ,WAAW;YAMX,cAAc;YAKd,cAAc;YAYd,cAAc;IAI5B;;;;;;OAMG;YACW,UAAU;IA2BxB,8EAA8E;YAChE,UAAU;YAaV,aAAa;YAgBb,SAAS;YAMT,YAAY;YAMZ,aAAa;IAW3B;;;;;;OAMG;YACW,eAAe;IAU7B,OAAO,CAAC,UAAU;CAmCnB;AA+BD,qBAAa,qBAAsB,SAAQ,KAAK;IAC9C,QAAQ,CAAC,IAAI,EAAE,iBAAiB,GAAG,cAAc,GAAG,aAAa,GAAG,WAAW,GAAG,oBAAoB,CAAC;gBAC3F,IAAI,EAAE,qBAAqB,CAAC,MAAM,CAAC,EAAE,OAAO,EAAE,MAAM;CAKjE"}
1
+ {"version":3,"file":"agent.d.ts","sourceRoot":"","sources":["../../../src/inspector/agent.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,sBAAsB,CAAC;AAQrD,OAAO,EAAE,aAAa,EAAE,KAAK,oBAAoB,EAAE,KAAK,WAAW,EAAE,MAAM,WAAW,CAAC;AACvF,OAAO,EAYL,KAAK,mBAAmB,EAIxB,KAAK,kBAAkB,EAExB,MAAM,eAAe,CAAC;AAsBvB,MAAM,WAAW,qBAAqB;IACpC,IAAI,CAAC,EAAE,oBAAoB,CAAC;IAC5B,2FAA2F;IAC3F,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,wDAAwD;IACxD,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB;;;;;OAKG;IACH,SAAS,CAAC,EAAE,CAAC,OAAO,EAAE,WAAW,KAAK,IAAI,CAAC;CAC5C;AAED,qBAAa,cAAc;IACzB,QAAQ,CAAC,IAAI,EAAE,aAAa,CAAC;IAC7B,OAAO,CAAC,QAAQ,CAAC,EAAE,CAAW;IAC9B,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAwB;IAC7C,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAiC;IAC5D,OAAO,CAAC,QAAQ,CAAC,aAAa,CAA6C;IAC3E,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAiC;IAC5D,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAwB;IAClD,OAAO,CAAC,MAAM,CAAyB;IACvC,OAAO,CAAC,UAAU,CAAqB;gBAE3B,EAAE,EAAE,QAAQ,EAAE,OAAO,GAAE,qBAA0B;IAO7D,iGAAiG;IACjG,YAAY,IAAI,WAAW;IAM3B,YAAY,IAAI,mBAAmB,EAAE;IAgBrC,kEAAkE;IAClE,MAAM,CAAC,SAAS,EAAE,kBAAkB,GAAG,MAAM,IAAI;IAY3C,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC;YAUd,MAAM;IAuBpB,OAAO,CAAC,eAAe;YAeT,QAAQ;IAkGtB,OAAO,CAAC,OAAO;IAkBf;;;;;;OAMG;IACH,OAAO,CAAC,aAAa;IAIrB,OAAO,CAAC,YAAY;IAmBpB,4FAA4F;IAC5F,SAAS,IAAI,MAAM,GAAG,IAAI;IAM1B,OAAO,CAAC,KAAK;YAYC,cAAc;IAiB5B;;;;;;OAMG;IACH,OAAO,CAAC,aAAa;YAKP,QAAQ;YAkBR,UAAU;IAIxB;;;;;OAKG;IACH,OAAO,CAAC,SAAS;IA8BjB;;;;;OAKG;YACW,WAAW;YAsBX,SAAS;IAKvB,kFAAkF;YACpE,YAAY;YAgBZ,WAAW;YAMX,cAAc;YAKd,cAAc;YAYd,cAAc;IAI5B;;;;;;OAMG;YACW,UAAU;IA2BxB,8EAA8E;YAChE,UAAU;YAaV,aAAa;YAgBb,SAAS;YAMT,YAAY;YAMZ,aAAa;IAW3B;;;;;;OAMG;YACW,eAAe;IAU7B,OAAO,CAAC,UAAU;CAmCnB;AAiCD,qBAAa,qBAAsB,SAAQ,KAAK;IAC9C,QAAQ,CAAC,IAAI,EAAE,iBAAiB,GAAG,cAAc,GAAG,aAAa,GAAG,WAAW,GAAG,oBAAoB,CAAC;gBAC3F,IAAI,EAAE,qBAAqB,CAAC,MAAM,CAAC,EAAE,OAAO,EAAE,MAAM;CAKjE"}
@@ -39,6 +39,7 @@ const export_import_ts_1 = require("../interop/export-import.js");
39
39
  const queue_ts_1 = require("../sync/queue.js");
40
40
  const engine_ts_1 = require("../sync/engine.js");
41
41
  const path_ts_1 = require("../query/path.js");
42
+ const schema_ts_1 = require("../schema/schema.js");
42
43
  const auth_ts_1 = require("./auth.js");
43
44
  const protocol_ts_1 = require("./protocol.js");
44
45
  /**
@@ -71,9 +72,11 @@ class InspectorAgent {
71
72
  this.auth = new auth_ts_1.InspectorAuth(options.auth ?? {});
72
73
  this.wireEvents();
73
74
  }
74
- /** Begin a pairing window; the result is what a QR code encodes. */
75
+ /** Begin a pairing window, invalidating any unused code, and announce it through `onPairing`. */
75
76
  startPairing() {
76
- return this.auth.startPairing();
77
+ const pairing = this.auth.startPairing();
78
+ this.opts.onPairing?.(pairing);
79
+ return pairing;
77
80
  }
78
81
  capabilities() {
79
82
  const base = [
@@ -166,6 +169,8 @@ class InspectorAgent {
166
169
  return this.getStats();
167
170
  case "getIndexes":
168
171
  return this.getIndexes(String(params.collection));
172
+ case "getSchema":
173
+ return this.getSchema(String(params.collection));
169
174
  case "getDocuments":
170
175
  return this.getDocuments(params);
171
176
  case "getDocument":
@@ -182,6 +187,10 @@ class InspectorAgent {
182
187
  return this.deleteMany(String(params.collection), params.filter ?? {}, params.all === true);
183
188
  case "deleteDocument":
184
189
  return this.deleteDocument(String(params.collection), String(params.documentId));
190
+ case "createIndex":
191
+ return this.createIndex(String(params.collection), params.key, params.options);
192
+ case "dropIndex":
193
+ return this.dropIndex(String(params.collection), String(params.name));
185
194
  case "aggregate":
186
195
  return this.model(String(params.collection)).aggregate(params.pipeline ?? []);
187
196
  case "explain":
@@ -227,8 +236,19 @@ class InspectorAgent {
227
236
  readOnly: this.opts.readOnly ?? false,
228
237
  },
229
238
  requiresAuth: !this.auth.isDisabled,
239
+ ...(this.auth.isDisabled ? {} : { challenge: this.openChallenge() }),
230
240
  };
231
241
  }
242
+ /**
243
+ * The challenge of the open pairing window — opening one, and announcing its code, if none is.
244
+ *
245
+ * A code is single-use and short-lived, so by the time Lens connects the one the app first showed
246
+ * may be spent or expired. Issuing a fresh one here means the developer always has a live code on
247
+ * the app's screen at the moment Lens asks for it.
248
+ */
249
+ openChallenge() {
250
+ return this.auth.currentChallenge() ?? this.startPairing().challenge;
251
+ }
232
252
  authenticate(transport, params) {
233
253
  const session = this.auth.authenticate(String(params.proof ?? ""), String(params.clientName ?? "Anchor Lens"));
234
254
  if (!session) {
@@ -301,6 +321,73 @@ class InspectorAgent {
301
321
  async getIndexes(collection) {
302
322
  return this.model(collection).listIndexes();
303
323
  }
324
+ /**
325
+ * A collection's declared shape, for Lens's "Add all fields" on Insert document.
326
+ *
327
+ * Only what a form needs: path, type, required, enum and a plain default. Validator functions and
328
+ * hooks cannot cross the wire and are left out. A collection with no declared model has no fields.
329
+ */
330
+ getSchema(collection) {
331
+ const declared = this.declaredModel(collection);
332
+ if (!declared) {
333
+ return { modelName: null, fields: [], timestamps: { createdAt: null, updatedAt: null }, versionKey: false };
334
+ }
335
+ const schema = declared.schema;
336
+ const fields = [];
337
+ const walk = (paths, prefix) => {
338
+ for (const [name, def] of paths) {
339
+ if (name === "_id")
340
+ continue;
341
+ const path = prefix ? `${prefix}.${name}` : name;
342
+ if (def.instance === "Embedded" && def.schema instanceof schema_ts_1.Schema) {
343
+ walk(def.schema.paths, path);
344
+ continue;
345
+ }
346
+ fields.push({
347
+ path,
348
+ type: def.instance,
349
+ required: def.required,
350
+ ...(def.arrayType ? { items: def.arrayType.instance } : {}),
351
+ ...(def.enumValues ? { enum: [...def.enumValues] } : {}),
352
+ ...(def.hasDefault && typeof def.defaultValue !== "function" ? { default: def.defaultValue } : {}),
353
+ ...(typeof def.ref === "string" ? { ref: def.ref } : {}),
354
+ });
355
+ }
356
+ };
357
+ walk(schema.paths, "");
358
+ return { modelName: declared.modelName, fields, timestamps: schema.timestampFields, versionKey: schema.versionKey };
359
+ }
360
+ /**
361
+ * Compass's Create Index, through `Model.createIndex()`.
362
+ *
363
+ * Agents advertised `indexes:write` long before any method stood behind it, so Lens held a capability it
364
+ * could not use. The key and options arrive from the network, so they are checked here.
365
+ */
366
+ async createIndex(collection, key, options) {
367
+ if (key === null || typeof key !== "object" || Array.isArray(key) || Object.keys(key).length === 0) {
368
+ throw new InspectorRequestError("bad_request", 'An index needs at least one field, e.g. { "email": 1 }.');
369
+ }
370
+ for (const [path, direction] of Object.entries(key)) {
371
+ if (path.startsWith("$")) {
372
+ throw new InspectorRequestError("bad_request", `"${path}" cannot be indexed: field names cannot start with $.`);
373
+ }
374
+ if (direction !== 1 && direction !== -1) {
375
+ throw new InspectorRequestError("bad_request", `The direction for "${path}" must be 1 or -1.`);
376
+ }
377
+ }
378
+ const o = (options ?? {});
379
+ const name = await this.model(collection).createIndex(key, {
380
+ ...(o.unique === true ? { unique: true } : {}),
381
+ ...(o.sparse === true ? { sparse: true } : {}),
382
+ ...(typeof o.name === "string" && o.name.trim() !== "" ? { name: o.name.trim() } : {}),
383
+ ...(typeof o.expireAfterSeconds === "number" ? { expireAfterSeconds: o.expireAfterSeconds } : {}),
384
+ });
385
+ return { name };
386
+ }
387
+ async dropIndex(collection, name) {
388
+ await this.model(collection).dropIndex(name);
389
+ return { dropped: name };
390
+ }
304
391
  /** Paged, always. The cap is enforced here, not trusted from the client (§34). */
305
392
  async getDocuments(params) {
306
393
  const collection = String(params.collection);
@@ -457,6 +544,8 @@ const MUTATING = new Set([
457
544
  "deleteDocument",
458
545
  "updateMany",
459
546
  "deleteMany",
547
+ "createIndex",
548
+ "dropIndex",
460
549
  "importCollection",
461
550
  "resolveConflict",
462
551
  "retryMutation",