@gonvex/client 0.5.2-staging.2 → 0.5.2-staging.20
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/README.md +68 -2
- package/dist/browser-upgrades.d.ts +19 -0
- package/dist/browser-upgrades.js +157 -0
- package/dist/browser-upgrades.js.map +1 -0
- package/dist/client-upgrades.d.ts +26 -0
- package/dist/client-upgrades.js +41 -0
- package/dist/client-upgrades.js.map +1 -0
- package/dist/control.d.ts +2 -0
- package/dist/control.js +1 -0
- package/dist/control.js.map +1 -1
- package/dist/index.d.ts +344 -7
- package/dist/index.js +1528 -173
- package/dist/index.js.map +1 -1
- package/dist/indexeddb-read-view.d.ts +24 -0
- package/dist/indexeddb-read-view.js +164 -0
- package/dist/indexeddb-read-view.js.map +1 -0
- package/dist/indexeddb-replica.d.ts +41 -3
- package/dist/indexeddb-replica.js +402 -101
- package/dist/indexeddb-replica.js.map +1 -1
- package/dist/local-replica.d.ts +125 -4
- package/dist/local-replica.js +831 -85
- package/dist/local-replica.js.map +1 -1
- package/dist/outbox.d.ts +118 -10
- package/dist/outbox.js +391 -89
- package/dist/outbox.js.map +1 -1
- package/dist/paged-read-view.d.ts +13 -0
- package/dist/paged-read-view.js +60 -0
- package/dist/paged-read-view.js.map +1 -0
- package/dist/query-expression.d.ts +39 -2
- package/dist/query-expression.js +106 -5
- package/dist/query-expression.js.map +1 -1
- package/dist/replica-integrity.d.ts +2 -0
- package/dist/replica-integrity.js +10 -0
- package/dist/replica-integrity.js.map +1 -1
- package/dist/replica-record.d.ts +14 -0
- package/dist/replica-record.js +46 -0
- package/dist/replica-record.js.map +1 -0
- package/package.json +4 -2
package/README.md
CHANGED
|
@@ -41,8 +41,10 @@ tenant selection.
|
|
|
41
41
|
`authenticate` installs a new authentication scope and resolves only after the
|
|
42
42
|
runtime accepts it. It exists for provider-owned transitions such as developer
|
|
43
43
|
mode; React applications should use `GonvexAuthProvider`. The runtime rotates
|
|
44
|
-
single-use developer credentials on every connection
|
|
45
|
-
|
|
44
|
+
single-use developer credentials on every connection. The client uses the
|
|
45
|
+
successor for its own reconnects and publishes it through
|
|
46
|
+
`onDeveloperCredential` so the React provider can resume developer mode after a
|
|
47
|
+
reload of the same tab.
|
|
46
48
|
|
|
47
49
|
## Install
|
|
48
50
|
|
|
@@ -259,6 +261,68 @@ Reducer also declares optimistic UI metadata. Actions are never queued.
|
|
|
259
261
|
Deterministic server errors are never queued and always roll an optimistic
|
|
260
262
|
entity overlay back when one exists.
|
|
261
263
|
|
|
264
|
+
### Queued intent lifecycle
|
|
265
|
+
|
|
266
|
+
Runtimes from 0.5.2-staging.15 classify every `reducer.error` as `rejected`,
|
|
267
|
+
`transient`, `update_required` or `unauthenticated` (also exposed as
|
|
268
|
+
`GonvexClientError.errorClass` / `retryable`). The outbox acts on it:
|
|
269
|
+
|
|
270
|
+
| Class | Outbox behaviour |
|
|
271
|
+
| --- | --- |
|
|
272
|
+
| `transient` (and timeouts) | Retry with exponential backoff. After `outbox.retry.maxAttempts` (default 10, backoff capped at `maxBackoffMs`, default 60s) the intent is parked as `failed`: kept durably with its prediction, and no longer blocking later intents. |
|
|
273
|
+
| `unauthenticated` | Keep the intent, re-authenticate, retry. Does not spend the retry budget. |
|
|
274
|
+
| `update_required` | Keep the intent pending and call `onUpdateRequired`. |
|
|
275
|
+
| `rejected` | Roll the prediction back, rebase later local intents, fire `onReducerRejection`, and keep the intent as a `rejected` record until the app discards or retries it. |
|
|
276
|
+
|
|
277
|
+
Older runtimes send no class: their errors are treated as rejections, except
|
|
278
|
+
the legacy stale-artifact and "authenticate with an active tenant" messages.
|
|
279
|
+
|
|
280
|
+
```ts
|
|
281
|
+
const intents = await client.listIntents(); // or subscribeIntents()/intentsSnapshot()
|
|
282
|
+
client.entityIntentStatus("tasks", taskId); // "syncing" | "failed" | "rejected" | undefined
|
|
283
|
+
await client.retryIntent(intent.id); // same idempotency key, fresh budget
|
|
284
|
+
await client.discardIntent(intent.id); // pending/failed/rejected only
|
|
285
|
+
await client.listOutboxScopes(); // includes identities that never returned
|
|
286
|
+
await client.purgeForeignOutboxScopes(); // never automatic
|
|
287
|
+
```
|
|
288
|
+
|
|
289
|
+
`@gonvex/react` exposes the same list through `useOutboxIntents()` and a
|
|
290
|
+
per-row `useEntityIntentStatus(entity, id)`.
|
|
291
|
+
|
|
292
|
+
### Local execution fallbacks and residency
|
|
293
|
+
|
|
294
|
+
A locally executing Reducer whose body reads rows the Local Replica does not
|
|
295
|
+
hold is queued with no local result (`{ status: "queued", reducerId }`).
|
|
296
|
+
`client.onLocalExecutionFallback(listener)` (or the `onLocalExecutionFallback`
|
|
297
|
+
option, or `useLocalExecutionFallback` in `@gonvex/react`) reports every such
|
|
298
|
+
fallback with the Reducer path, intent id, phase (`call` or `replay`), reason,
|
|
299
|
+
and missing table. Generated clients also carry each Reducer's codegen-derived
|
|
300
|
+
`localDependencies`; with `localDependencyResidency: "bounded"` (the default)
|
|
301
|
+
the client keeps dependency tables whose generated collection declares
|
|
302
|
+
`maxRows <= 1000` subscribed for the session, so those Reducers run locally
|
|
303
|
+
from their first call. See the Local Reducer Execution docs page.
|
|
304
|
+
|
|
305
|
+
### Resetting the local cache
|
|
306
|
+
|
|
307
|
+
`client.resetLocalReplica({ keepOutbox = true })` implements a "Clear cache"
|
|
308
|
+
setting without the app touching replica storage. It deletes the active
|
|
309
|
+
identity's persisted replica rows (IndexedDB, Expo SQLite, or the configured
|
|
310
|
+
storage), keeps the saved offline session, closes and re-opens every active
|
|
311
|
+
Replica Collection and Live Query without cursors, and re-applies the
|
|
312
|
+
predictions of all live intents so they reappear on top of the fresh
|
|
313
|
+
snapshots. Pending, failed and rejected intents are kept unless
|
|
314
|
+
`keepOutbox: false` is passed explicitly (inflight intents are never dropped).
|
|
315
|
+
|
|
316
|
+
It is **online only**: offline (or before the socket is authenticated) it
|
|
317
|
+
rejects with `GonvexClientError` `code: "disconnected"` and changes nothing,
|
|
318
|
+
so the user is never left with an empty cache that cannot be refilled. React
|
|
319
|
+
apps can use `useResetLocalReplica()` for `{ reset, isResetting, error }`.
|
|
320
|
+
|
|
321
|
+
A parked intent lets later intents proceed; the server validates each of them
|
|
322
|
+
on its own, so an intent that depended on the parked one is rejected rather
|
|
323
|
+
than applied out of order. Retrying a parked intent after later intents
|
|
324
|
+
committed re-applies it on top of them.
|
|
325
|
+
|
|
262
326
|
Live Queries persist their last verified window in the Local Replica and
|
|
263
327
|
resubscribe after reconnect. Call `client.retryLiveQuery(ref, args)` to force a
|
|
264
328
|
re-request after a server error. `useQueryResult` is for one-shot Queries.
|
|
@@ -286,3 +350,5 @@ The package exports:
|
|
|
286
350
|
## Documentation
|
|
287
351
|
|
|
288
352
|
Full docs live at https://desarso.github.io/gonvex/
|
|
353
|
+
|
|
354
|
+
[Open online anonymous tenant connections with `public: { tenant }`](../../docs/public-functions.md).
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
import { type ClientContract, type ClientMigration } from "./client-upgrades.js";
|
|
2
|
+
import type { LocalReplicaStorage } from "./local-replica.js";
|
|
3
|
+
import type { OutboxStore } from "./outbox.js";
|
|
4
|
+
export type BrowserUpgradeOptions = {
|
|
5
|
+
replicaName: string;
|
|
6
|
+
outboxName: string;
|
|
7
|
+
contract: ClientContract;
|
|
8
|
+
/** Version assigned to data written before this mechanism was introduced. */
|
|
9
|
+
initialVersion: number;
|
|
10
|
+
migrations: readonly ClientMigration[];
|
|
11
|
+
onRequired?: (error: Error) => void;
|
|
12
|
+
};
|
|
13
|
+
/** All app access goes through version-fenced SDK stores, including old tabs. */
|
|
14
|
+
export declare function browserUpgradeStorage(options: BrowserUpgradeOptions): {
|
|
15
|
+
storage: LocalReplicaStorage;
|
|
16
|
+
store: OutboxStore;
|
|
17
|
+
ready: Promise<void>;
|
|
18
|
+
close(): void;
|
|
19
|
+
};
|
|
@@ -0,0 +1,157 @@
|
|
|
1
|
+
import { Dexie } from "dexie";
|
|
2
|
+
import { IndexedDBLocalReplicaStorage } from "./indexeddb-replica.js";
|
|
3
|
+
import { migrateClientData, migrationChain } from "./client-upgrades.js";
|
|
4
|
+
/** All app access goes through version-fenced SDK stores, including old tabs. */
|
|
5
|
+
export function browserUpgradeStorage(options) {
|
|
6
|
+
const replica = new IndexedDBLocalReplicaStorage(options.replicaName);
|
|
7
|
+
const queue = new Dexie(options.outboxName);
|
|
8
|
+
queue.version(1).stores({ entries: "++id, state, nextAttemptAt" });
|
|
9
|
+
queue.version(2).stores({ entries: "++id, scope, state, nextAttemptAt, [scope+state], [scope+nextAttemptAt]" });
|
|
10
|
+
const meta = new Dexie(`${options.replicaName}-upgrades`);
|
|
11
|
+
meta.version(1).stores({ state: "&key" });
|
|
12
|
+
const lockName = `gonvex-upgrade:${options.replicaName}:${options.outboxName}`;
|
|
13
|
+
const locks = globalThis.navigator?.locks;
|
|
14
|
+
const channel = typeof BroadcastChannel === "function" ? new BroadcastChannel(lockName) : undefined;
|
|
15
|
+
const peers = new Set();
|
|
16
|
+
let closed = false;
|
|
17
|
+
const requireUpgrade = (error) => { options.onRequired?.(error); return error; };
|
|
18
|
+
if (channel)
|
|
19
|
+
channel.onmessage = event => {
|
|
20
|
+
if (event.data?.type === 'outbox') {
|
|
21
|
+
for (const listener of peers)
|
|
22
|
+
listener();
|
|
23
|
+
}
|
|
24
|
+
else if (event.data?.version !== options.contract.version)
|
|
25
|
+
requireUpgrade(new Error("Another tab upgraded the application. Reload to continue."));
|
|
26
|
+
};
|
|
27
|
+
const ready = (async () => {
|
|
28
|
+
if (!locks)
|
|
29
|
+
throw new Error("Safe offline upgrades require browser Web Locks support");
|
|
30
|
+
await locks.request(lockName, { mode: "exclusive" }, async () => {
|
|
31
|
+
await Promise.all([meta.open(), queue.open()]);
|
|
32
|
+
const saved = await meta.state.get("contract");
|
|
33
|
+
const hasOldData = saved ? true : (await replica.listScopes()).length > 0 || await queue.entries.count() > 0;
|
|
34
|
+
let record = saved ?? { key: "contract", version: hasOldData ? options.initialVersion : options.contract.version };
|
|
35
|
+
// A interrupted upgrade must finish its exact staged payload before another upgrade starts.
|
|
36
|
+
const finish = async () => {
|
|
37
|
+
if (!record.journal)
|
|
38
|
+
return;
|
|
39
|
+
for (const [scope, snapshot] of Object.entries(record.journal.snapshots))
|
|
40
|
+
await replica.replaceSnapshot(snapshot, scope);
|
|
41
|
+
await queue.transaction("rw", queue.entries, async () => {
|
|
42
|
+
await queue.entries.clear();
|
|
43
|
+
await queue.entries.bulkPut(record.journal.entries);
|
|
44
|
+
});
|
|
45
|
+
record = { key: "contract", version: record.version };
|
|
46
|
+
await meta.state.put(record);
|
|
47
|
+
};
|
|
48
|
+
// An older tab must never finish a newer migration and then hydrate it.
|
|
49
|
+
if (record.version > options.contract.version)
|
|
50
|
+
throw new Error("Stored data requires a newer application build");
|
|
51
|
+
await finish();
|
|
52
|
+
const chain = migrationChain(record.version, options.contract.version, options.migrations);
|
|
53
|
+
if (chain.length) {
|
|
54
|
+
const snapshots = {};
|
|
55
|
+
for (const scope of await replica.listScopes()) {
|
|
56
|
+
const snapshot = await replica.load(scope);
|
|
57
|
+
if (snapshot)
|
|
58
|
+
snapshots[scope] = snapshot;
|
|
59
|
+
}
|
|
60
|
+
const entries = await queue.entries.toArray();
|
|
61
|
+
if (entries.some(entry => !entry.scope))
|
|
62
|
+
throw new Error("Unowned offline work needs recovery before upgrading");
|
|
63
|
+
// No writes until every transform succeeds. The journal is temporary upgrade data,
|
|
64
|
+
// never a second source of application state. Applying it is repeatable after a crash.
|
|
65
|
+
const journal = migrateClientData(snapshots, entries, chain);
|
|
66
|
+
record = { key: "contract", version: options.contract.version, journal };
|
|
67
|
+
await meta.state.put(record);
|
|
68
|
+
await finish();
|
|
69
|
+
channel?.postMessage({ version: record.version });
|
|
70
|
+
}
|
|
71
|
+
else
|
|
72
|
+
await meta.state.put(record);
|
|
73
|
+
});
|
|
74
|
+
})().catch(error => { throw requireUpgrade(error instanceof Error ? error : new Error(String(error))); });
|
|
75
|
+
// The SDK may initialize storage before React subscribes; retain the rejected ready promise.
|
|
76
|
+
void ready.catch(() => undefined);
|
|
77
|
+
const guarded = async (run) => {
|
|
78
|
+
await ready;
|
|
79
|
+
if (closed)
|
|
80
|
+
throw new Error("Application storage is closed");
|
|
81
|
+
return locks.request(lockName, { mode: "shared" }, async () => {
|
|
82
|
+
const record = await meta.state.get("contract");
|
|
83
|
+
if (record?.version !== options.contract.version || record.journal) {
|
|
84
|
+
throw requireUpgrade(new Error("Application storage changed. Reload before continuing."));
|
|
85
|
+
}
|
|
86
|
+
return run();
|
|
87
|
+
});
|
|
88
|
+
};
|
|
89
|
+
const reserveId = async () => {
|
|
90
|
+
const last = await queue.entries.orderBy('id').last();
|
|
91
|
+
return meta.transaction('rw', meta.state, async () => {
|
|
92
|
+
const counter = await meta.state.get('sequence');
|
|
93
|
+
const version = Math.max(counter?.version ?? 0, last?.id ?? 0) + 1;
|
|
94
|
+
await meta.state.put({ key: 'sequence', version });
|
|
95
|
+
return version;
|
|
96
|
+
});
|
|
97
|
+
};
|
|
98
|
+
const storage = new Proxy(replica, {
|
|
99
|
+
get(target, property) {
|
|
100
|
+
const value = Reflect.get(target, property);
|
|
101
|
+
if (property === 'subscribePeer')
|
|
102
|
+
return value.bind(target);
|
|
103
|
+
return typeof value === "function" ? (...args) => guarded(() => value.apply(target, args)) : value;
|
|
104
|
+
},
|
|
105
|
+
});
|
|
106
|
+
return {
|
|
107
|
+
storage, ready,
|
|
108
|
+
store: {
|
|
109
|
+
strictPersistence: true,
|
|
110
|
+
shared: true,
|
|
111
|
+
coordinate: async (scope, lane, run) => {
|
|
112
|
+
await ready;
|
|
113
|
+
return locks.request(`${lockName}:${lane}:${scope}`, { mode: 'exclusive' }, run);
|
|
114
|
+
},
|
|
115
|
+
subscribePeer: listener => { peers.add(listener); return () => { peers.delete(listener); }; },
|
|
116
|
+
append: draft => guarded(async () => {
|
|
117
|
+
// Keep the established shared counter so already-open SDK versions
|
|
118
|
+
// cannot reuse a deleted entry's ID. One upgrade fence covers both
|
|
119
|
+
// reservation and insertion; only the complete durable entry is exposed.
|
|
120
|
+
const id = await reserveId();
|
|
121
|
+
const entry = { ...draft, id };
|
|
122
|
+
await queue.entries.add(entry);
|
|
123
|
+
channel?.postMessage({ type: 'outbox' });
|
|
124
|
+
return entry;
|
|
125
|
+
}),
|
|
126
|
+
allocateId: () => guarded(reserveId),
|
|
127
|
+
load: scope => guarded(() => scope ? queue.entries.where('scope').equals(scope).toArray() : queue.entries.toArray()),
|
|
128
|
+
put: entry => guarded(async () => { await queue.entries.put(entry); channel?.postMessage({ type: 'outbox' }); }),
|
|
129
|
+
update: (id, change) => guarded(async () => {
|
|
130
|
+
let changed = false;
|
|
131
|
+
const updated = await queue.transaction('rw', queue.entries, async () => {
|
|
132
|
+
const prior = await queue.entries.get(id);
|
|
133
|
+
if (!prior)
|
|
134
|
+
return undefined;
|
|
135
|
+
const next = change(prior);
|
|
136
|
+
if (next.id !== id || next.scope !== prior.scope || next.idempotencyKey !== prior.idempotencyKey)
|
|
137
|
+
throw new Error('Outbox identity cannot change');
|
|
138
|
+
if (JSON.stringify(prior) !== JSON.stringify(next)) {
|
|
139
|
+
await queue.entries.put(next);
|
|
140
|
+
changed = true;
|
|
141
|
+
}
|
|
142
|
+
return next;
|
|
143
|
+
});
|
|
144
|
+
if (changed)
|
|
145
|
+
channel?.postMessage({ type: 'outbox' });
|
|
146
|
+
return updated;
|
|
147
|
+
}),
|
|
148
|
+
delete: id => guarded(async () => { await queue.entries.delete(id); channel?.postMessage({ type: 'outbox' }); }),
|
|
149
|
+
clear: scope => guarded(async () => { if (scope)
|
|
150
|
+
await queue.entries.where('scope').equals(scope).delete();
|
|
151
|
+
else
|
|
152
|
+
await queue.entries.clear(); channel?.postMessage({ type: 'outbox' }); }),
|
|
153
|
+
},
|
|
154
|
+
close() { closed = true; channel?.close(); replica.close(); queue.close(); meta.close(); },
|
|
155
|
+
};
|
|
156
|
+
}
|
|
157
|
+
//# sourceMappingURL=browser-upgrades.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"browser-upgrades.js","sourceRoot":"","sources":["../src/browser-upgrades.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
import type { JsonValue } from "@gonvex/protocol";
|
|
2
|
+
import type { ReplicaSnapshot } from "./local-replica.js";
|
|
3
|
+
import type { ReducerOutboxEntry } from "./outbox.js";
|
|
4
|
+
export type ClientContract = {
|
|
5
|
+
version: number; /** null permits indefinite offline edits and requires retaining migration paths. */
|
|
6
|
+
offlineMaxAgeMs: number | null;
|
|
7
|
+
};
|
|
8
|
+
export type ClientMigration = {
|
|
9
|
+
from: number;
|
|
10
|
+
to: number;
|
|
11
|
+
/** Pure synchronous transformation of confirmed rows. Never optimistic patches. */
|
|
12
|
+
replica?: (snapshot: ReplicaSnapshot) => ReplicaSnapshot;
|
|
13
|
+
/** Throw if the user's meaning cannot be preserved. The original queue survives. */
|
|
14
|
+
intent?: (intent: {
|
|
15
|
+
path: string;
|
|
16
|
+
args: JsonValue;
|
|
17
|
+
}) => {
|
|
18
|
+
path: string;
|
|
19
|
+
args: JsonValue;
|
|
20
|
+
};
|
|
21
|
+
};
|
|
22
|
+
export declare function migrationChain(from: number, to: number, migrations: readonly ClientMigration[]): ClientMigration[];
|
|
23
|
+
export declare function migrateClientData(snapshots: Record<string, ReplicaSnapshot>, entries: readonly ReducerOutboxEntry[], chain: readonly ClientMigration[]): {
|
|
24
|
+
snapshots: Record<string, ReplicaSnapshot>;
|
|
25
|
+
entries: ReducerOutboxEntry[];
|
|
26
|
+
};
|
|
@@ -0,0 +1,41 @@
|
|
|
1
|
+
export function migrationChain(from, to, migrations) {
|
|
2
|
+
if (!Number.isSafeInteger(from) || from < 1 || !Number.isSafeInteger(to) || to < from) {
|
|
3
|
+
throw new Error(`Unsupported client contract transition ${from} -> ${to}`);
|
|
4
|
+
}
|
|
5
|
+
const chain = [];
|
|
6
|
+
for (let version = from; version < to; version++) {
|
|
7
|
+
const candidates = migrations.filter(m => m.from === version);
|
|
8
|
+
if (candidates.length !== 1 || candidates[0].to !== version + 1) {
|
|
9
|
+
throw new Error(`Missing or ambiguous client migration ${version} -> ${version + 1}`);
|
|
10
|
+
}
|
|
11
|
+
chain.push(candidates[0]);
|
|
12
|
+
}
|
|
13
|
+
return chain;
|
|
14
|
+
}
|
|
15
|
+
export function migrateClientData(snapshots, entries, chain) {
|
|
16
|
+
let nextSnapshots = structuredClone(snapshots);
|
|
17
|
+
let nextEntries = structuredClone([...entries]);
|
|
18
|
+
for (const migration of chain) {
|
|
19
|
+
nextSnapshots = Object.fromEntries(Object.entries(nextSnapshots).map(([scope, snapshot]) => {
|
|
20
|
+
const next = migration.replica ? migration.replica(snapshot) : snapshot;
|
|
21
|
+
// Shape migration does not establish server freshness or preserve query membership contracts.
|
|
22
|
+
delete next.cursor;
|
|
23
|
+
next.liveQueries = {};
|
|
24
|
+
return [scope, next];
|
|
25
|
+
}));
|
|
26
|
+
nextEntries = nextEntries.map(entry => {
|
|
27
|
+
const originalPath = entry.receiptPath ?? entry.path;
|
|
28
|
+
const intent = migration.intent?.({ path: entry.path, args: structuredClone(entry.args) })
|
|
29
|
+
?? { path: entry.path, args: entry.args };
|
|
30
|
+
if (!intent.path || intent.args === undefined)
|
|
31
|
+
throw new Error("Client migration returned an invalid intent");
|
|
32
|
+
return { ...entry, path: intent.path, args: intent.args,
|
|
33
|
+
receiptPath: originalPath, patches: [],
|
|
34
|
+
// Committed responses awaiting a watermark must be reconciled by their original receipt too.
|
|
35
|
+
// Parked and rejected records wait for the user; an upgrade must not resend them.
|
|
36
|
+
state: entry.state === "failed" || entry.state === "rejected" ? entry.state : "pending", nextAttemptAt: 0 };
|
|
37
|
+
});
|
|
38
|
+
}
|
|
39
|
+
return { snapshots: nextSnapshots, entries: nextEntries };
|
|
40
|
+
}
|
|
41
|
+
//# sourceMappingURL=client-upgrades.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"client-upgrades.js","sourceRoot":"","sources":["../src/client-upgrades.ts"],"names":[],"mappings":"AAcA,MAAM,UAAU,cAAc,CAAC,IAAY,EAAE,EAAU,EAAE,UAAsC;IAC7F,IAAI,CAAC,MAAM,CAAC,aAAa,CAAC,IAAI,CAAC,IAAI,IAAI,GAAG,CAAC,IAAI,CAAC,MAAM,CAAC,aAAa,CAAC,EAAE,CAAC,IAAI,EAAE,GAAG,IAAI,EAAE,CAAC;QACtF,MAAM,IAAI,KAAK,CAAC,0CAA0C,IAAI,OAAO,EAAE,EAAE,CAAC,CAAC;IAC7E,CAAC;IACD,MAAM,KAAK,GAAsB,EAAE,CAAC;IACpC,KAAK,IAAI,OAAO,GAAG,IAAI,EAAE,OAAO,GAAG,EAAE,EAAE,OAAO,EAAE,EAAE,CAAC;QACjD,MAAM,UAAU,GAAG,UAAU,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,OAAO,CAAC,CAAC;QAC9D,IAAI,UAAU,CAAC,MAAM,KAAK,CAAC,IAAI,UAAU,CAAC,CAAC,CAAE,CAAC,EAAE,KAAK,OAAO,GAAG,CAAC,EAAE,CAAC;YACjE,MAAM,IAAI,KAAK,CAAC,yCAAyC,OAAO,OAAO,OAAO,GAAG,CAAC,EAAE,CAAC,CAAC;QACxF,CAAC;QACD,KAAK,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,CAAE,CAAC,CAAC;IAC7B,CAAC;IACD,OAAO,KAAK,CAAC;AACf,CAAC;AAED,MAAM,UAAU,iBAAiB,CAC/B,SAA0C,EAAE,OAAsC,EAClF,KAAiC;IAEjC,IAAI,aAAa,GAAG,eAAe,CAAC,SAAS,CAAC,CAAC;IAC/C,IAAI,WAAW,GAAG,eAAe,CAAC,CAAC,GAAG,OAAO,CAAC,CAAC,CAAC;IAChD,KAAK,MAAM,SAAS,IAAI,KAAK,EAAE,CAAC;QAC9B,aAAa,GAAG,MAAM,CAAC,WAAW,CAAC,MAAM,CAAC,OAAO,CAAC,aAAa,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,KAAK,EAAE,QAAQ,CAAC,EAAE,EAAE;YACzF,MAAM,IAAI,GAAG,SAAS,CAAC,OAAO,CAAC,CAAC,CAAC,SAAS,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC;YACxE,8FAA8F;YAC9F,OAAO,IAAI,CAAC,MAAM,CAAC;YACnB,IAAI,CAAC,WAAW,GAAG,EAAE,CAAC;YACtB,OAAO,CAAC,KAAK,EAAE,IAAI,CAAC,CAAC;QACvB,CAAC,CAAC,CAAC,CAAC;QACJ,WAAW,GAAG,WAAW,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE;YACpC,MAAM,YAAY,GAAG,KAAK,CAAC,WAAW,IAAI,KAAK,CAAC,IAAI,CAAC;YACrD,MAAM,MAAM,GAAG,SAAS,CAAC,MAAM,EAAE,CAAC,EAAE,IAAI,EAAE,KAAK,CAAC,IAAI,EAAE,IAAI,EAAE,eAAe,CAAC,KAAK,CAAC,IAAI,CAAc,EAAE,CAAC;mBAClG,EAAE,IAAI,EAAE,KAAK,CAAC,IAAI,EAAE,IAAI,EAAE,KAAK,CAAC,IAAiB,EAAE,CAAC;YACzD,IAAI,CAAC,MAAM,CAAC,IAAI,IAAI,MAAM,CAAC,IAAI,KAAK,SAAS;gBAAE,MAAM,IAAI,KAAK,CAAC,6CAA6C,CAAC,CAAC;YAC9G,OAAO,EAAE,GAAG,KAAK,EAAE,IAAI,EAAE,MAAM,CAAC,IAAI,EAAE,IAAI,EAAE,MAAM,CAAC,IAAI;gBACrD,WAAW,EAAE,YAAY,EAAE,OAAO,EAAE,EAAE;gBACtC,6FAA6F;gBAC7F,kFAAkF;gBAClF,KAAK,EAAE,KAAK,CAAC,KAAK,KAAK,QAAQ,IAAI,KAAK,CAAC,KAAK,KAAK,UAAU,CAAC,CAAC,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,SAAS,EAAE,aAAa,EAAE,CAAC,EAAE,CAAC;QAChH,CAAC,CAAC,CAAC;IACL,CAAC;IACD,OAAO,EAAE,SAAS,EAAE,aAAa,EAAE,OAAO,EAAE,WAAW,EAAE,CAAC;AAC5D,CAAC"}
|
package/dist/control.d.ts
CHANGED
|
@@ -123,6 +123,8 @@ export type ControlSupportTenant = JSONObject & {
|
|
|
123
123
|
timezone: string;
|
|
124
124
|
seatLimit: number | null;
|
|
125
125
|
createdAt: string;
|
|
126
|
+
userCount?: number | null;
|
|
127
|
+
activeSessions?: number;
|
|
126
128
|
};
|
|
127
129
|
export type ControlSupportErrorGroup = JSONObject & {
|
|
128
130
|
fingerprint: string;
|
package/dist/control.js
CHANGED
|
@@ -34,6 +34,7 @@ const supportSessionSchema = objectSchema({
|
|
|
34
34
|
const supportTenantSchema = objectSchema({
|
|
35
35
|
id: stringSchema, name: stringSchema, domain: stringSchema, status: stringSchema,
|
|
36
36
|
timezone: stringSchema, seatLimit: anySchema, createdAt: stringSchema,
|
|
37
|
+
userCount: { ...anySchema, optional: true }, activeSessions: { ...anySchema, optional: true },
|
|
37
38
|
});
|
|
38
39
|
const supportErrorGroupSchema = objectSchema({
|
|
39
40
|
fingerprint: stringSchema, project: stringSchema, title: stringSchema, level: stringSchema,
|
package/dist/control.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"control.js","sourceRoot":"","sources":["../src/control.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"control.js","sourceRoot":"","sources":["../src/control.ts"],"names":[],"mappings":"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"}
|