@camstack/addon-model-studio 1.1.254 → 1.1.256
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/dist/{MotionZonesSettings-CDQwRCoT.mjs → MotionZonesSettings-BoNl71uF.mjs} +2 -2
- package/dist/{PrivacyMaskSettings-Bqjt6j-n.mjs → PrivacyMaskSettings-DSQQH-FH.mjs} +4 -4
- package/dist/{SceneMonitorEditor-CSttF4Hq.mjs → SceneMonitorEditor-tFGk_bs2.mjs} +3 -3
- package/dist/_stub.js +11 -11
- package/dist/{_virtual_mf-localSharedImportMap___mfe_internal__addon_model_studio_page-DCyvhci7.mjs → _virtual_mf-localSharedImportMap___mfe_internal__addon_model_studio_page-BqCn1ABp.mjs} +3 -3
- package/dist/_virtual_mf___mfe_internal__addon_model_studio_page__loadShare___mf_0_camstack_mf_1_types__loadShare__.js-JlsKitOu.mjs +26 -0
- package/dist/{hostInit-DnyEep3P.mjs → hostInit-DMxW9qi0.mjs} +2 -2
- package/dist/model-studio.addon.js +414 -291
- package/dist/model-studio.addon.mjs +414 -291
- package/dist/{player-overlays-D3nGwf3m.mjs → player-overlays-_tIuC53p.mjs} +1 -1
- package/dist/remoteEntry.js +1 -1
- package/dist/{responsive-DyGAg9qU.mjs → responsive-D99yIECE.mjs} +1 -1
- package/dist/{scene-monitor-copy-CIw9oZTb.mjs → scene-monitor-copy-BCE1iubY.mjs} +1 -1
- package/dist/{square-DqVANN3Q.mjs → square-C3_2L-a4.mjs} +1 -1
- package/dist/{trash-2-CQbGsv9O.mjs → trash-2-JESKnX5Q.mjs} +1 -1
- package/dist/{virtual_mf-REMOTE_ENTRY_ID___mfe_internal__addon_model_studio_page__remoteEntry_js-B4EACOgY.mjs → virtual_mf-REMOTE_ENTRY_ID___mfe_internal__addon_model_studio_page__remoteEntry_js-DeNEhAVI.mjs} +1 -1
- package/package.json +1 -1
- package/dist/_virtual_mf___mfe_internal__addon_model_studio_page__loadShare___mf_0_camstack_mf_1_types__loadShare__.js-CW7-7FqB.mjs +0 -26
|
@@ -13612,6 +13612,329 @@ method(object({
|
|
|
13612
13612
|
password: string()
|
|
13613
13613
|
}), AuthResultSchema.nullable(), { kind: "mutation" }), method(object({ state: string() }), string()), method(record(string(), string()), AuthResultSchema, { kind: "mutation" }), method(object({ token: string() }), AuthResultSchema.nullable());
|
|
13614
13614
|
/**
|
|
13615
|
+
* Query filter for settings-store collections.
|
|
13616
|
+
*/
|
|
13617
|
+
var QueryFilterSchema = object({
|
|
13618
|
+
where: record(string(), unknown()).optional(),
|
|
13619
|
+
whereIn: record(string(), array(unknown())).optional(),
|
|
13620
|
+
whereBetween: record(string(), tuple([unknown(), unknown()])).optional(),
|
|
13621
|
+
/** NULL-safe exclusion: matches rows whose field is NULL OR != the value. */
|
|
13622
|
+
whereNot: record(string(), unknown()).optional(),
|
|
13623
|
+
/** NULL-safe exclusion of a SET — `whereNot` for more than one value. An
|
|
13624
|
+
* empty list excludes nothing. See `QueryFilter.whereNotIn`. */
|
|
13625
|
+
whereNotIn: record(string(), array(unknown())).optional(),
|
|
13626
|
+
orderBy: object({
|
|
13627
|
+
field: string(),
|
|
13628
|
+
direction: _enum(["asc", "desc"])
|
|
13629
|
+
}).optional(),
|
|
13630
|
+
limit: number().optional(),
|
|
13631
|
+
offset: number().optional()
|
|
13632
|
+
});
|
|
13633
|
+
/**
|
|
13634
|
+
* The predicate half of a filter, for BULK MUTATIONS.
|
|
13635
|
+
*
|
|
13636
|
+
* Deliberately not `QueryFilterSchema`: `orderBy` / `limit` / `offset` have no
|
|
13637
|
+
* meaning for a statement that rewrites a set, and accepting them would invite
|
|
13638
|
+
* a caller to believe `limit` bounds the damage. Every field is optional here
|
|
13639
|
+
* only so the shape stays composable — the implementation REJECTS a filter
|
|
13640
|
+
* that compiles to no predicate, because that is the whole collection.
|
|
13641
|
+
*/
|
|
13642
|
+
var MutationFilterSchema = object({
|
|
13643
|
+
where: record(string(), unknown()).optional(),
|
|
13644
|
+
whereIn: record(string(), array(unknown())).optional(),
|
|
13645
|
+
whereBetween: record(string(), tuple([unknown(), unknown()])).optional(),
|
|
13646
|
+
whereNot: record(string(), unknown()).optional(),
|
|
13647
|
+
whereNotIn: record(string(), array(unknown())).optional()
|
|
13648
|
+
});
|
|
13649
|
+
/**
|
|
13650
|
+
* One scalar an {@link settingsStoreCapability.methods.aggregate} call asks for.
|
|
13651
|
+
*
|
|
13652
|
+
* `as` names the slot in the result, so the SAME column may be asked twice with
|
|
13653
|
+
* two operations (`MIN(startMs)` and `MAX(startMs)` in one round trip) — which
|
|
13654
|
+
* a `Record<column, op>` shape could not express.
|
|
13655
|
+
*/
|
|
13656
|
+
var AggregateFieldSchema = object({
|
|
13657
|
+
/** Result key. */
|
|
13658
|
+
as: string().min(1),
|
|
13659
|
+
/** Column to aggregate. Must be a real column of a declared collection. */
|
|
13660
|
+
field: string().min(1),
|
|
13661
|
+
op: _enum([
|
|
13662
|
+
"sum",
|
|
13663
|
+
"min",
|
|
13664
|
+
"max"
|
|
13665
|
+
])
|
|
13666
|
+
});
|
|
13667
|
+
/**
|
|
13668
|
+
* `COUNT(*)` plus one number per requested field.
|
|
13669
|
+
*
|
|
13670
|
+
* `null` means NO ROW MATCHED, never zero: a `SUM` over an empty set and a sum
|
|
13671
|
+
* that really is 0 are different facts, and an accounting caller that renders
|
|
13672
|
+
* "0 bytes, oldest = 0" for "nothing here" reports a lie about a disk.
|
|
13673
|
+
*/
|
|
13674
|
+
var AggregateResultSchema = object({
|
|
13675
|
+
count: number().int(),
|
|
13676
|
+
values: record(string(), number().nullable())
|
|
13677
|
+
});
|
|
13678
|
+
/** A single stored record: `{ id, data }`. */
|
|
13679
|
+
var SettingsRecordSchema = object({
|
|
13680
|
+
id: string(),
|
|
13681
|
+
data: record(string(), unknown())
|
|
13682
|
+
});
|
|
13683
|
+
/**
|
|
13684
|
+
* One record of a BULK insert — {@link SettingsRecordSchema} with the id made
|
|
13685
|
+
* optional.
|
|
13686
|
+
*
|
|
13687
|
+
* A separate schema rather than loosening the shared one: every other method
|
|
13688
|
+
* on this cap addresses a row BY its id, and making that field optional
|
|
13689
|
+
* everywhere would turn a forgotten key into a silently generated one on
|
|
13690
|
+
* `update` and `delete` as well.
|
|
13691
|
+
*/
|
|
13692
|
+
var BulkRecordSchema = object({
|
|
13693
|
+
id: string().optional(),
|
|
13694
|
+
data: record(string(), unknown())
|
|
13695
|
+
});
|
|
13696
|
+
/**
|
|
13697
|
+
* The database FILES one `sqlite-settings` engine process owns (D851).
|
|
13698
|
+
* Closed on purpose: a file is a thing the engine opens, backs up and gives a
|
|
13699
|
+
* serving thread, so a new one is a code change, never a string a caller
|
|
13700
|
+
* invents. `settings` is `camstack.db` and the default for every collection
|
|
13701
|
+
* that names no file.
|
|
13702
|
+
*/
|
|
13703
|
+
var DataStoreDatabaseSchema = _enum([
|
|
13704
|
+
"settings",
|
|
13705
|
+
"events",
|
|
13706
|
+
"history"
|
|
13707
|
+
]);
|
|
13708
|
+
DataStoreDatabaseSchema.options;
|
|
13709
|
+
/**
|
|
13710
|
+
* One write inside a {@link settingsStoreCapability.methods.transact} call.
|
|
13711
|
+
* The three that a "replace this set, bump that revision" write needs, plus
|
|
13712
|
+
* the batched upsert a rollup writer needs.
|
|
13713
|
+
*/
|
|
13714
|
+
var TransactOpSchema = discriminatedUnion("op", [
|
|
13715
|
+
object({
|
|
13716
|
+
op: literal("deleteWhere"),
|
|
13717
|
+
collection: string(),
|
|
13718
|
+
filter: MutationFilterSchema
|
|
13719
|
+
}),
|
|
13720
|
+
object({
|
|
13721
|
+
op: literal("insertMany"),
|
|
13722
|
+
collection: string(),
|
|
13723
|
+
records: array(BulkRecordSchema).readonly()
|
|
13724
|
+
}),
|
|
13725
|
+
object({
|
|
13726
|
+
op: literal("update"),
|
|
13727
|
+
collection: string(),
|
|
13728
|
+
id: string(),
|
|
13729
|
+
data: record(string(), unknown())
|
|
13730
|
+
}),
|
|
13731
|
+
object({
|
|
13732
|
+
op: literal("upsertMany"),
|
|
13733
|
+
collection: string(),
|
|
13734
|
+
conflict: array(string()).readonly(),
|
|
13735
|
+
records: array(BulkRecordSchema).readonly()
|
|
13736
|
+
})
|
|
13737
|
+
]);
|
|
13738
|
+
/**
|
|
13739
|
+
* The precondition of a transaction: the row `key` of `collection` must hold
|
|
13740
|
+
* `equals` in `column`, read INSIDE the transaction.
|
|
13741
|
+
*/
|
|
13742
|
+
var TransactGuardSchema = object({
|
|
13743
|
+
collection: string(),
|
|
13744
|
+
key: string(),
|
|
13745
|
+
column: string(),
|
|
13746
|
+
equals: unknown()
|
|
13747
|
+
});
|
|
13748
|
+
/**
|
|
13749
|
+
* Column declaration for a structured (SQL-backed) collection.
|
|
13750
|
+
*
|
|
13751
|
+
* Logical types — the backend translates each to the matching SQLite
|
|
13752
|
+
* storage class and handles per-type marshaling:
|
|
13753
|
+
* - `TEXT` / `INTEGER` / `REAL` — native SQLite types, pass-through
|
|
13754
|
+
* - `JSON` — TEXT under the hood; serialised on write, parsed on read
|
|
13755
|
+
* - `BOOLEAN` — INTEGER 0/1 under the hood; coerced both directions
|
|
13756
|
+
*/
|
|
13757
|
+
var CollectionColumnSchema = object({
|
|
13758
|
+
name: string(),
|
|
13759
|
+
type: _enum([
|
|
13760
|
+
"TEXT",
|
|
13761
|
+
"INTEGER",
|
|
13762
|
+
"REAL",
|
|
13763
|
+
"JSON",
|
|
13764
|
+
"BOOLEAN"
|
|
13765
|
+
]),
|
|
13766
|
+
primaryKey: boolean().optional(),
|
|
13767
|
+
notNull: boolean().optional(),
|
|
13768
|
+
unique: boolean().optional(),
|
|
13769
|
+
/**
|
|
13770
|
+
* Column DEFAULT. Required for B2: the four `ensureTable` consumers declare
|
|
13771
|
+
* columns like `enabled INTEGER NOT NULL DEFAULT 1`, and without this the
|
|
13772
|
+
* collection surface simply cannot express their existing tables — which is
|
|
13773
|
+
* why they were still on the uncapped `table*` API.
|
|
13774
|
+
*/
|
|
13775
|
+
defaultValue: union([
|
|
13776
|
+
string(),
|
|
13777
|
+
number(),
|
|
13778
|
+
boolean()
|
|
13779
|
+
]).optional()
|
|
13780
|
+
});
|
|
13781
|
+
var CollectionIndexSchema = object({
|
|
13782
|
+
name: string(),
|
|
13783
|
+
columns: array(string()).readonly(),
|
|
13784
|
+
unique: boolean().optional()
|
|
13785
|
+
});
|
|
13786
|
+
/**
|
|
13787
|
+
* The input of `declareCollection` — ONE schema for the door and for the
|
|
13788
|
+
* engine behind it, so the two surfaces cannot drift (the dispatcher forwards
|
|
13789
|
+
* the payload untouched).
|
|
13790
|
+
*
|
|
13791
|
+
* - `database` — the file the collection lives in (D851). Absent means
|
|
13792
|
+
* `settings`. A declaration naming a file other than the one the table is
|
|
13793
|
+
* already in is REFUSED by the engine, never moved.
|
|
13794
|
+
* - `primaryKey` — a COMPOSITE key, as column names. A single name is the same
|
|
13795
|
+
* as `primaryKey: true` on that column. A composite-keyed collection has no
|
|
13796
|
+
* `id`: it is written with `insertMany` / `upsertMany` / `transact` and read
|
|
13797
|
+
* with `query` / `count` / `aggregate` / `deleteWhere`; the calls that
|
|
13798
|
+
* address one row by id are refused.
|
|
13799
|
+
* - `withoutRowid` — emit `WITHOUT ROWID`. Requires a primary key.
|
|
13800
|
+
*/
|
|
13801
|
+
var DeclareCollectionInputSchema = object({
|
|
13802
|
+
namespace: string().optional(),
|
|
13803
|
+
collection: string(),
|
|
13804
|
+
columns: array(CollectionColumnSchema).readonly(),
|
|
13805
|
+
indexes: array(CollectionIndexSchema).readonly().optional(),
|
|
13806
|
+
database: DataStoreDatabaseSchema.optional(),
|
|
13807
|
+
primaryKey: array(string()).readonly().optional(),
|
|
13808
|
+
withoutRowid: boolean().optional()
|
|
13809
|
+
});
|
|
13810
|
+
method(object({
|
|
13811
|
+
namespace: string().optional(),
|
|
13812
|
+
collection: string(),
|
|
13813
|
+
key: string()
|
|
13814
|
+
}), unknown(), { auth: "admin" }), method(object({
|
|
13815
|
+
namespace: string().optional(),
|
|
13816
|
+
collection: string(),
|
|
13817
|
+
key: string(),
|
|
13818
|
+
value: unknown()
|
|
13819
|
+
}), _void(), {
|
|
13820
|
+
kind: "mutation",
|
|
13821
|
+
auth: "admin"
|
|
13822
|
+
}), method(object({
|
|
13823
|
+
namespace: string().optional(),
|
|
13824
|
+
collection: string(),
|
|
13825
|
+
filter: QueryFilterSchema.optional(),
|
|
13826
|
+
columns: array(string()).readonly().optional()
|
|
13827
|
+
}), array(SettingsRecordSchema).readonly(), { auth: "admin" }), method(object({
|
|
13828
|
+
namespace: string().optional(),
|
|
13829
|
+
collection: string(),
|
|
13830
|
+
/** Declared columns identifying the slot; must be covered by a UNIQUE
|
|
13831
|
+
* index on the collection. Never empty. */
|
|
13832
|
+
conflict: array(string()).readonly(),
|
|
13833
|
+
record: BulkRecordSchema
|
|
13834
|
+
}), object({
|
|
13835
|
+
/** The id the row HAS: assigned by SQLite on an insert, or the existing
|
|
13836
|
+
* row's own id on an update. */
|
|
13837
|
+
id: union([string(), number()]) }), {
|
|
13838
|
+
kind: "mutation",
|
|
13839
|
+
auth: "admin"
|
|
13840
|
+
}), method(object({
|
|
13841
|
+
namespace: string().optional(),
|
|
13842
|
+
collection: string(),
|
|
13843
|
+
conflict: array(string()).readonly(),
|
|
13844
|
+
records: array(BulkRecordSchema).readonly()
|
|
13845
|
+
}), object({ upserted: number().int() }), {
|
|
13846
|
+
kind: "mutation",
|
|
13847
|
+
auth: "admin"
|
|
13848
|
+
}), method(object({
|
|
13849
|
+
namespace: string().optional(),
|
|
13850
|
+
collection: string(),
|
|
13851
|
+
record: object({
|
|
13852
|
+
id: string().optional(),
|
|
13853
|
+
data: record(string(), unknown())
|
|
13854
|
+
})
|
|
13855
|
+
}), object({
|
|
13856
|
+
/**
|
|
13857
|
+
* The id the row ACTUALLY got (D473): the one supplied, the UUID minted
|
|
13858
|
+
* for an absent one, or the ROWID SQLite assigned on an `INTEGER`
|
|
13859
|
+
* primary key — which is the only place an auto key is knowable.
|
|
13860
|
+
*/
|
|
13861
|
+
id: union([string(), number()]) }), {
|
|
13862
|
+
kind: "mutation",
|
|
13863
|
+
auth: "admin"
|
|
13864
|
+
}), method(object({
|
|
13865
|
+
namespace: string().optional(),
|
|
13866
|
+
collection: string(),
|
|
13867
|
+
records: array(BulkRecordSchema).readonly()
|
|
13868
|
+
}), object({ inserted: number().int() }), {
|
|
13869
|
+
kind: "mutation",
|
|
13870
|
+
auth: "admin"
|
|
13871
|
+
}), method(object({
|
|
13872
|
+
namespace: string().optional(),
|
|
13873
|
+
guard: TransactGuardSchema.optional(),
|
|
13874
|
+
ops: array(TransactOpSchema).readonly()
|
|
13875
|
+
}), object({
|
|
13876
|
+
applied: boolean(),
|
|
13877
|
+
current: unknown().optional()
|
|
13878
|
+
}), {
|
|
13879
|
+
kind: "mutation",
|
|
13880
|
+
auth: "admin"
|
|
13881
|
+
}), method(object({
|
|
13882
|
+
namespace: string().optional(),
|
|
13883
|
+
collection: string(),
|
|
13884
|
+
id: string(),
|
|
13885
|
+
data: record(string(), unknown())
|
|
13886
|
+
}), _void(), {
|
|
13887
|
+
kind: "mutation",
|
|
13888
|
+
auth: "admin"
|
|
13889
|
+
}), method(object({
|
|
13890
|
+
namespace: string().optional(),
|
|
13891
|
+
collection: string(),
|
|
13892
|
+
key: string()
|
|
13893
|
+
}), _void(), {
|
|
13894
|
+
kind: "mutation",
|
|
13895
|
+
auth: "admin"
|
|
13896
|
+
}), method(object({
|
|
13897
|
+
namespace: string().optional(),
|
|
13898
|
+
collection: string(),
|
|
13899
|
+
filter: MutationFilterSchema
|
|
13900
|
+
}), object({ deleted: number().int() }), {
|
|
13901
|
+
kind: "mutation",
|
|
13902
|
+
auth: "admin"
|
|
13903
|
+
}), method(object({
|
|
13904
|
+
namespace: string().optional(),
|
|
13905
|
+
collection: string(),
|
|
13906
|
+
filter: MutationFilterSchema,
|
|
13907
|
+
data: record(string(), unknown())
|
|
13908
|
+
}), object({ updated: number().int() }), {
|
|
13909
|
+
kind: "mutation",
|
|
13910
|
+
auth: "admin"
|
|
13911
|
+
}), method(object({
|
|
13912
|
+
namespace: string().optional(),
|
|
13913
|
+
collection: string(),
|
|
13914
|
+
filter: QueryFilterSchema.optional()
|
|
13915
|
+
}), number(), { auth: "admin" }), method(object({
|
|
13916
|
+
namespace: string().optional(),
|
|
13917
|
+
collection: string(),
|
|
13918
|
+
fields: array(AggregateFieldSchema).readonly(),
|
|
13919
|
+
filter: QueryFilterSchema.optional()
|
|
13920
|
+
}), AggregateResultSchema, { auth: "admin" }), method(object({
|
|
13921
|
+
namespace: string().optional(),
|
|
13922
|
+
collection: string(),
|
|
13923
|
+
field: string(),
|
|
13924
|
+
bucketSize: number().int().positive(),
|
|
13925
|
+
origin: number().int(),
|
|
13926
|
+
filter: QueryFilterSchema.optional()
|
|
13927
|
+
}), array(object({
|
|
13928
|
+
bucket: number().int(),
|
|
13929
|
+
count: number().int()
|
|
13930
|
+
})).readonly(), { auth: "admin" }), method(object({
|
|
13931
|
+
namespace: string().optional(),
|
|
13932
|
+
collection: string()
|
|
13933
|
+
}), boolean(), { auth: "admin" }), method(DeclareCollectionInputSchema, _void(), {
|
|
13934
|
+
kind: "mutation",
|
|
13935
|
+
auth: "admin"
|
|
13936
|
+
});
|
|
13937
|
+
/**
|
|
13615
13938
|
* How long one snapshot may take end to end: the pinned copy of the whole
|
|
13616
13939
|
* database plus `PRAGMA integrity_check` over the copy, on the hub's slowest
|
|
13617
13940
|
* disk. ~800 MB at a pessimistic 10 MB/s is under 3 minutes; the bound is
|
|
@@ -13624,7 +13947,11 @@ var DATABASE_SNAPSHOT_TIMEOUT_MS = 30 * 6e4;
|
|
|
13624
13947
|
* database has no sidecars and is just as owned). Paths are absolute on the
|
|
13625
13948
|
* owner's host.
|
|
13626
13949
|
*/
|
|
13627
|
-
var DatabaseSnapshotTargetsSchema = object({ databases: array(object({
|
|
13950
|
+
var DatabaseSnapshotTargetsSchema = object({ databases: array(object({
|
|
13951
|
+
/** Which owned file this is — the handle `writeSnapshot` takes. */
|
|
13952
|
+
databaseId: DataStoreDatabaseSchema,
|
|
13953
|
+
livePath: string()
|
|
13954
|
+
})) });
|
|
13628
13955
|
/** One b-tree table of the snapshot and the rows it holds. */
|
|
13629
13956
|
var DatabaseSnapshotTableSchema = object({
|
|
13630
13957
|
name: string(),
|
|
@@ -13657,6 +13984,10 @@ var DatabaseSnapshotResultSchema = object({
|
|
|
13657
13984
|
/** When the pinned read transaction began (ms epoch) — the snapshot's instant. */
|
|
13658
13985
|
takenAt: number()
|
|
13659
13986
|
});
|
|
13987
|
+
/** A snapshot the owner wrote, with the file it belongs to. */
|
|
13988
|
+
var DatabaseSnapshotWrittenSchema = DatabaseSnapshotResultSchema.extend({ databaseId: DataStoreDatabaseSchema });
|
|
13989
|
+
/** Which database `writeSnapshot` copies. Required: an unstated ask is not guessed. */
|
|
13990
|
+
var DatabaseSnapshotRequestSchema = object({ databaseId: DataStoreDatabaseSchema });
|
|
13660
13991
|
/**
|
|
13661
13992
|
* A snapshot as an ARCHIVE records it (`ArchiveManifest.sqliteSnapshots`):
|
|
13662
13993
|
* the same facts, with both paths relative to the archive root (the node's
|
|
@@ -13666,9 +13997,11 @@ var ArchiveSqliteSnapshotSchema = DatabaseSnapshotResultSchema.extend({
|
|
|
13666
13997
|
/** Archive-relative path of the live database the archive does NOT carry. */
|
|
13667
13998
|
livePath: string(),
|
|
13668
13999
|
/** Archive-relative path of the verified copy it carries in its place. */
|
|
13669
|
-
snapshotPath: string()
|
|
14000
|
+
snapshotPath: string(),
|
|
14001
|
+
/** Absent on an archive made before several files were owned: that was `settings`. */
|
|
14002
|
+
databaseId: DataStoreDatabaseSchema.optional()
|
|
13670
14003
|
});
|
|
13671
|
-
method(object({}), DatabaseSnapshotTargetsSchema, { auth: "admin" }), method(
|
|
14004
|
+
method(object({}), DatabaseSnapshotTargetsSchema, { auth: "admin" }), method(DatabaseSnapshotRequestSchema, DatabaseSnapshotWrittenSchema, {
|
|
13672
14005
|
kind: "mutation",
|
|
13673
14006
|
auth: "admin",
|
|
13674
14007
|
timeoutMs: DATABASE_SNAPSHOT_TIMEOUT_MS
|
|
@@ -13789,7 +14122,12 @@ var BackupArchiveEntrySchema = object({
|
|
|
13789
14122
|
/** Top-level locations included in the archive (db, addons, tls, …). */
|
|
13790
14123
|
locations: array(string()).readonly(),
|
|
13791
14124
|
/** Present when the archive is encrypted; restore then needs that key. */
|
|
13792
|
-
encryption: BackupArchiveEncryptionSchema.optional()
|
|
14125
|
+
encryption: BackupArchiveEncryptionSchema.optional(),
|
|
14126
|
+
/**
|
|
14127
|
+
* The databases the run asked to carry (its retention class). Absent on an
|
|
14128
|
+
* archive made before several files were owned: that was `['settings']`.
|
|
14129
|
+
*/
|
|
14130
|
+
databases: array(DataStoreDatabaseSchema).readonly().optional()
|
|
13793
14131
|
});
|
|
13794
14132
|
var BackupEntrySchema = object({
|
|
13795
14133
|
id: string(),
|
|
@@ -13823,7 +14161,12 @@ var ArchiveManifestSchema = object({
|
|
|
13823
14161
|
* Live SQLite databases this archive carries as their OWNER's verified
|
|
13824
14162
|
* snapshot instead of as files (D693). Absent on archives made before.
|
|
13825
14163
|
*/
|
|
13826
|
-
sqliteSnapshots: array(ArchiveSqliteSnapshotSchema).optional()
|
|
14164
|
+
sqliteSnapshots: array(ArchiveSqliteSnapshotSchema).optional(),
|
|
14165
|
+
/**
|
|
14166
|
+
* Owned database files the run did NOT carry (not selected): left out of the
|
|
14167
|
+
* tar and the entry list alike. Absent when every owned file was carried.
|
|
14168
|
+
*/
|
|
14169
|
+
omittedDatabases: array(DataStoreDatabaseSchema).optional()
|
|
13827
14170
|
});
|
|
13828
14171
|
var LocationStatSchema = object({
|
|
13829
14172
|
name: string(),
|
|
@@ -13945,6 +14288,12 @@ var BackupScheduleSchema = object({
|
|
|
13945
14288
|
/** Optional subset of source locations to include; omitted = all. */
|
|
13946
14289
|
dataSources: array(string()).readonly().optional(),
|
|
13947
14290
|
/**
|
|
14291
|
+
* Which database files this schedule carries. Absent = `['settings']`
|
|
14292
|
+
* (an unstated ask is the minimum, D382). Events and history run weekly,
|
|
14293
|
+
* settings nightly (D852).
|
|
14294
|
+
*/
|
|
14295
|
+
databases: array(DataStoreDatabaseSchema).readonly().optional(),
|
|
14296
|
+
/**
|
|
13948
14297
|
* ms-epoch of the last tick that FIRED this schedule. Stamped before the
|
|
13949
14298
|
* archive runs (it is the dedupe anchor), so it says "attempted", never
|
|
13950
14299
|
* "succeeded" — a run refused by every destination stamps it too.
|
|
@@ -13968,7 +14317,9 @@ method(_void(), array(BackupDestinationInfoSchema).readonly(), { auth: "admin" }
|
|
|
13968
14317
|
* retention). Omitted = each destination's own policy
|
|
13969
14318
|
* retention (manual runs).
|
|
13970
14319
|
*/
|
|
13971
|
-
retentionCount: number().int().min(1).max(1e3).optional()
|
|
14320
|
+
retentionCount: number().int().min(1).max(1e3).optional(),
|
|
14321
|
+
/** Database files to carry; omitted = `['settings']`. */
|
|
14322
|
+
databases: array(DataStoreDatabaseSchema).optional()
|
|
13972
14323
|
}).optional(), BackupTriggerResultSchema, {
|
|
13973
14324
|
kind: "mutation",
|
|
13974
14325
|
auth: "admin"
|
|
@@ -14043,14 +14394,18 @@ method(_void(), array(BackupDestinationInfoSchema).readonly(), { auth: "admin" }
|
|
|
14043
14394
|
ok: boolean(),
|
|
14044
14395
|
error: string().optional(),
|
|
14045
14396
|
nextRuns: array(number()).readonly()
|
|
14046
|
-
})), method(_void(), array(BackupScheduleSchema).readonly(), { auth: "admin" }), method(object({
|
|
14397
|
+
})), method(_void(), array(BackupScheduleSchema).readonly(), { auth: "admin" }), method(_void(), object({
|
|
14398
|
+
answered: boolean(),
|
|
14399
|
+
databases: array(DataStoreDatabaseSchema).readonly()
|
|
14400
|
+
}), { auth: "admin" }), method(object({
|
|
14047
14401
|
id: string().optional(),
|
|
14048
14402
|
label: string(),
|
|
14049
14403
|
cron: string(),
|
|
14050
14404
|
enabled: boolean(),
|
|
14051
14405
|
locationIds: array(string()).readonly(),
|
|
14052
14406
|
retentionCount: number().int().min(1).max(1e3),
|
|
14053
|
-
dataSources: array(string()).readonly().optional()
|
|
14407
|
+
dataSources: array(string()).readonly().optional(),
|
|
14408
|
+
databases: array(DataStoreDatabaseSchema).readonly().optional()
|
|
14054
14409
|
}), BackupScheduleSchema, {
|
|
14055
14410
|
kind: "mutation",
|
|
14056
14411
|
auth: "admin"
|
|
@@ -15745,282 +16100,6 @@ var customModelRegistryCapability = {
|
|
|
15745
16100
|
}
|
|
15746
16101
|
};
|
|
15747
16102
|
/**
|
|
15748
|
-
* Query filter for settings-store collections.
|
|
15749
|
-
*/
|
|
15750
|
-
var QueryFilterSchema = object({
|
|
15751
|
-
where: record(string(), unknown()).optional(),
|
|
15752
|
-
whereIn: record(string(), array(unknown())).optional(),
|
|
15753
|
-
whereBetween: record(string(), tuple([unknown(), unknown()])).optional(),
|
|
15754
|
-
/** NULL-safe exclusion: matches rows whose field is NULL OR != the value. */
|
|
15755
|
-
whereNot: record(string(), unknown()).optional(),
|
|
15756
|
-
/** NULL-safe exclusion of a SET — `whereNot` for more than one value. An
|
|
15757
|
-
* empty list excludes nothing. See `QueryFilter.whereNotIn`. */
|
|
15758
|
-
whereNotIn: record(string(), array(unknown())).optional(),
|
|
15759
|
-
orderBy: object({
|
|
15760
|
-
field: string(),
|
|
15761
|
-
direction: _enum(["asc", "desc"])
|
|
15762
|
-
}).optional(),
|
|
15763
|
-
limit: number().optional(),
|
|
15764
|
-
offset: number().optional()
|
|
15765
|
-
});
|
|
15766
|
-
/**
|
|
15767
|
-
* The predicate half of a filter, for BULK MUTATIONS.
|
|
15768
|
-
*
|
|
15769
|
-
* Deliberately not `QueryFilterSchema`: `orderBy` / `limit` / `offset` have no
|
|
15770
|
-
* meaning for a statement that rewrites a set, and accepting them would invite
|
|
15771
|
-
* a caller to believe `limit` bounds the damage. Every field is optional here
|
|
15772
|
-
* only so the shape stays composable — the implementation REJECTS a filter
|
|
15773
|
-
* that compiles to no predicate, because that is the whole collection.
|
|
15774
|
-
*/
|
|
15775
|
-
var MutationFilterSchema = object({
|
|
15776
|
-
where: record(string(), unknown()).optional(),
|
|
15777
|
-
whereIn: record(string(), array(unknown())).optional(),
|
|
15778
|
-
whereBetween: record(string(), tuple([unknown(), unknown()])).optional(),
|
|
15779
|
-
whereNot: record(string(), unknown()).optional(),
|
|
15780
|
-
whereNotIn: record(string(), array(unknown())).optional()
|
|
15781
|
-
});
|
|
15782
|
-
/**
|
|
15783
|
-
* One scalar an {@link settingsStoreCapability.methods.aggregate} call asks for.
|
|
15784
|
-
*
|
|
15785
|
-
* `as` names the slot in the result, so the SAME column may be asked twice with
|
|
15786
|
-
* two operations (`MIN(startMs)` and `MAX(startMs)` in one round trip) — which
|
|
15787
|
-
* a `Record<column, op>` shape could not express.
|
|
15788
|
-
*/
|
|
15789
|
-
var AggregateFieldSchema = object({
|
|
15790
|
-
/** Result key. */
|
|
15791
|
-
as: string().min(1),
|
|
15792
|
-
/** Column to aggregate. Must be a real column of a declared collection. */
|
|
15793
|
-
field: string().min(1),
|
|
15794
|
-
op: _enum([
|
|
15795
|
-
"sum",
|
|
15796
|
-
"min",
|
|
15797
|
-
"max"
|
|
15798
|
-
])
|
|
15799
|
-
});
|
|
15800
|
-
/**
|
|
15801
|
-
* `COUNT(*)` plus one number per requested field.
|
|
15802
|
-
*
|
|
15803
|
-
* `null` means NO ROW MATCHED, never zero: a `SUM` over an empty set and a sum
|
|
15804
|
-
* that really is 0 are different facts, and an accounting caller that renders
|
|
15805
|
-
* "0 bytes, oldest = 0" for "nothing here" reports a lie about a disk.
|
|
15806
|
-
*/
|
|
15807
|
-
var AggregateResultSchema = object({
|
|
15808
|
-
count: number().int(),
|
|
15809
|
-
values: record(string(), number().nullable())
|
|
15810
|
-
});
|
|
15811
|
-
/** A single stored record: `{ id, data }`. */
|
|
15812
|
-
var SettingsRecordSchema = object({
|
|
15813
|
-
id: string(),
|
|
15814
|
-
data: record(string(), unknown())
|
|
15815
|
-
});
|
|
15816
|
-
/**
|
|
15817
|
-
* One record of a BULK insert — {@link SettingsRecordSchema} with the id made
|
|
15818
|
-
* optional.
|
|
15819
|
-
*
|
|
15820
|
-
* A separate schema rather than loosening the shared one: every other method
|
|
15821
|
-
* on this cap addresses a row BY its id, and making that field optional
|
|
15822
|
-
* everywhere would turn a forgotten key into a silently generated one on
|
|
15823
|
-
* `update` and `delete` as well.
|
|
15824
|
-
*/
|
|
15825
|
-
var BulkRecordSchema = object({
|
|
15826
|
-
id: string().optional(),
|
|
15827
|
-
data: record(string(), unknown())
|
|
15828
|
-
});
|
|
15829
|
-
/**
|
|
15830
|
-
* One write inside a {@link settingsStoreCapability.methods.transact} call.
|
|
15831
|
-
* Only the three that a "replace this set, bump that revision" write needs.
|
|
15832
|
-
*/
|
|
15833
|
-
var TransactOpSchema = discriminatedUnion("op", [
|
|
15834
|
-
object({
|
|
15835
|
-
op: literal("deleteWhere"),
|
|
15836
|
-
collection: string(),
|
|
15837
|
-
filter: MutationFilterSchema
|
|
15838
|
-
}),
|
|
15839
|
-
object({
|
|
15840
|
-
op: literal("insertMany"),
|
|
15841
|
-
collection: string(),
|
|
15842
|
-
records: array(BulkRecordSchema).readonly()
|
|
15843
|
-
}),
|
|
15844
|
-
object({
|
|
15845
|
-
op: literal("update"),
|
|
15846
|
-
collection: string(),
|
|
15847
|
-
id: string(),
|
|
15848
|
-
data: record(string(), unknown())
|
|
15849
|
-
})
|
|
15850
|
-
]);
|
|
15851
|
-
/**
|
|
15852
|
-
* The precondition of a transaction: the row `key` of `collection` must hold
|
|
15853
|
-
* `equals` in `column`, read INSIDE the transaction.
|
|
15854
|
-
*/
|
|
15855
|
-
var TransactGuardSchema = object({
|
|
15856
|
-
collection: string(),
|
|
15857
|
-
key: string(),
|
|
15858
|
-
column: string(),
|
|
15859
|
-
equals: unknown()
|
|
15860
|
-
});
|
|
15861
|
-
/**
|
|
15862
|
-
* Column declaration for a structured (SQL-backed) collection.
|
|
15863
|
-
*
|
|
15864
|
-
* Logical types — the backend translates each to the matching SQLite
|
|
15865
|
-
* storage class and handles per-type marshaling:
|
|
15866
|
-
* - `TEXT` / `INTEGER` / `REAL` — native SQLite types, pass-through
|
|
15867
|
-
* - `JSON` — TEXT under the hood; serialised on write, parsed on read
|
|
15868
|
-
* - `BOOLEAN` — INTEGER 0/1 under the hood; coerced both directions
|
|
15869
|
-
*/
|
|
15870
|
-
var CollectionColumnSchema = object({
|
|
15871
|
-
name: string(),
|
|
15872
|
-
type: _enum([
|
|
15873
|
-
"TEXT",
|
|
15874
|
-
"INTEGER",
|
|
15875
|
-
"REAL",
|
|
15876
|
-
"JSON",
|
|
15877
|
-
"BOOLEAN"
|
|
15878
|
-
]),
|
|
15879
|
-
primaryKey: boolean().optional(),
|
|
15880
|
-
notNull: boolean().optional(),
|
|
15881
|
-
unique: boolean().optional(),
|
|
15882
|
-
/**
|
|
15883
|
-
* Column DEFAULT. Required for B2: the four `ensureTable` consumers declare
|
|
15884
|
-
* columns like `enabled INTEGER NOT NULL DEFAULT 1`, and without this the
|
|
15885
|
-
* collection surface simply cannot express their existing tables — which is
|
|
15886
|
-
* why they were still on the uncapped `table*` API.
|
|
15887
|
-
*/
|
|
15888
|
-
defaultValue: union([
|
|
15889
|
-
string(),
|
|
15890
|
-
number(),
|
|
15891
|
-
boolean()
|
|
15892
|
-
]).optional()
|
|
15893
|
-
});
|
|
15894
|
-
var CollectionIndexSchema = object({
|
|
15895
|
-
name: string(),
|
|
15896
|
-
columns: array(string()).readonly(),
|
|
15897
|
-
unique: boolean().optional()
|
|
15898
|
-
});
|
|
15899
|
-
method(object({
|
|
15900
|
-
namespace: string().optional(),
|
|
15901
|
-
collection: string(),
|
|
15902
|
-
key: string()
|
|
15903
|
-
}), unknown(), { auth: "admin" }), method(object({
|
|
15904
|
-
namespace: string().optional(),
|
|
15905
|
-
collection: string(),
|
|
15906
|
-
key: string(),
|
|
15907
|
-
value: unknown()
|
|
15908
|
-
}), _void(), {
|
|
15909
|
-
kind: "mutation",
|
|
15910
|
-
auth: "admin"
|
|
15911
|
-
}), method(object({
|
|
15912
|
-
namespace: string().optional(),
|
|
15913
|
-
collection: string(),
|
|
15914
|
-
filter: QueryFilterSchema.optional(),
|
|
15915
|
-
columns: array(string()).readonly().optional()
|
|
15916
|
-
}), array(SettingsRecordSchema).readonly(), { auth: "admin" }), method(object({
|
|
15917
|
-
namespace: string().optional(),
|
|
15918
|
-
collection: string(),
|
|
15919
|
-
/** Declared columns identifying the slot; must be covered by a UNIQUE
|
|
15920
|
-
* index on the collection. Never empty. */
|
|
15921
|
-
conflict: array(string()).readonly(),
|
|
15922
|
-
record: BulkRecordSchema
|
|
15923
|
-
}), object({
|
|
15924
|
-
/** The id the row HAS: assigned by SQLite on an insert, or the existing
|
|
15925
|
-
* row's own id on an update. */
|
|
15926
|
-
id: union([string(), number()]) }), {
|
|
15927
|
-
kind: "mutation",
|
|
15928
|
-
auth: "admin"
|
|
15929
|
-
}), method(object({
|
|
15930
|
-
namespace: string().optional(),
|
|
15931
|
-
collection: string(),
|
|
15932
|
-
record: object({
|
|
15933
|
-
id: string().optional(),
|
|
15934
|
-
data: record(string(), unknown())
|
|
15935
|
-
})
|
|
15936
|
-
}), object({
|
|
15937
|
-
/**
|
|
15938
|
-
* The id the row ACTUALLY got (D473): the one supplied, the UUID minted
|
|
15939
|
-
* for an absent one, or the ROWID SQLite assigned on an `INTEGER`
|
|
15940
|
-
* primary key — which is the only place an auto key is knowable.
|
|
15941
|
-
*/
|
|
15942
|
-
id: union([string(), number()]) }), {
|
|
15943
|
-
kind: "mutation",
|
|
15944
|
-
auth: "admin"
|
|
15945
|
-
}), method(object({
|
|
15946
|
-
namespace: string().optional(),
|
|
15947
|
-
collection: string(),
|
|
15948
|
-
records: array(BulkRecordSchema).readonly()
|
|
15949
|
-
}), object({ inserted: number().int() }), {
|
|
15950
|
-
kind: "mutation",
|
|
15951
|
-
auth: "admin"
|
|
15952
|
-
}), method(object({
|
|
15953
|
-
namespace: string().optional(),
|
|
15954
|
-
guard: TransactGuardSchema.optional(),
|
|
15955
|
-
ops: array(TransactOpSchema).readonly()
|
|
15956
|
-
}), object({
|
|
15957
|
-
applied: boolean(),
|
|
15958
|
-
current: unknown().optional()
|
|
15959
|
-
}), {
|
|
15960
|
-
kind: "mutation",
|
|
15961
|
-
auth: "admin"
|
|
15962
|
-
}), method(object({
|
|
15963
|
-
namespace: string().optional(),
|
|
15964
|
-
collection: string(),
|
|
15965
|
-
id: string(),
|
|
15966
|
-
data: record(string(), unknown())
|
|
15967
|
-
}), _void(), {
|
|
15968
|
-
kind: "mutation",
|
|
15969
|
-
auth: "admin"
|
|
15970
|
-
}), method(object({
|
|
15971
|
-
namespace: string().optional(),
|
|
15972
|
-
collection: string(),
|
|
15973
|
-
key: string()
|
|
15974
|
-
}), _void(), {
|
|
15975
|
-
kind: "mutation",
|
|
15976
|
-
auth: "admin"
|
|
15977
|
-
}), method(object({
|
|
15978
|
-
namespace: string().optional(),
|
|
15979
|
-
collection: string(),
|
|
15980
|
-
filter: MutationFilterSchema
|
|
15981
|
-
}), object({ deleted: number().int() }), {
|
|
15982
|
-
kind: "mutation",
|
|
15983
|
-
auth: "admin"
|
|
15984
|
-
}), method(object({
|
|
15985
|
-
namespace: string().optional(),
|
|
15986
|
-
collection: string(),
|
|
15987
|
-
filter: MutationFilterSchema,
|
|
15988
|
-
data: record(string(), unknown())
|
|
15989
|
-
}), object({ updated: number().int() }), {
|
|
15990
|
-
kind: "mutation",
|
|
15991
|
-
auth: "admin"
|
|
15992
|
-
}), method(object({
|
|
15993
|
-
namespace: string().optional(),
|
|
15994
|
-
collection: string(),
|
|
15995
|
-
filter: QueryFilterSchema.optional()
|
|
15996
|
-
}), number(), { auth: "admin" }), method(object({
|
|
15997
|
-
namespace: string().optional(),
|
|
15998
|
-
collection: string(),
|
|
15999
|
-
fields: array(AggregateFieldSchema).readonly(),
|
|
16000
|
-
filter: QueryFilterSchema.optional()
|
|
16001
|
-
}), AggregateResultSchema, { auth: "admin" }), method(object({
|
|
16002
|
-
namespace: string().optional(),
|
|
16003
|
-
collection: string(),
|
|
16004
|
-
field: string(),
|
|
16005
|
-
bucketSize: number().int().positive(),
|
|
16006
|
-
origin: number().int(),
|
|
16007
|
-
filter: QueryFilterSchema.optional()
|
|
16008
|
-
}), array(object({
|
|
16009
|
-
bucket: number().int(),
|
|
16010
|
-
count: number().int()
|
|
16011
|
-
})).readonly(), { auth: "admin" }), method(object({
|
|
16012
|
-
namespace: string().optional(),
|
|
16013
|
-
collection: string()
|
|
16014
|
-
}), boolean(), { auth: "admin" }), method(object({
|
|
16015
|
-
namespace: string().optional(),
|
|
16016
|
-
collection: string(),
|
|
16017
|
-
columns: array(CollectionColumnSchema).readonly(),
|
|
16018
|
-
indexes: array(CollectionIndexSchema).readonly().optional()
|
|
16019
|
-
}), _void(), {
|
|
16020
|
-
kind: "mutation",
|
|
16021
|
-
auth: "admin"
|
|
16022
|
-
});
|
|
16023
|
-
/**
|
|
16024
16103
|
* What one engine says about itself. The orchestrator uses `kind` to pick
|
|
16025
16104
|
* a registrant for a collection; `engineId` is what a log line names when
|
|
16026
16105
|
* a call is routed or refused.
|
|
@@ -16100,6 +16179,14 @@ id: union([string(), number()]) }), {
|
|
|
16100
16179
|
}), object({ id: union([string(), number()]) }), {
|
|
16101
16180
|
kind: "mutation",
|
|
16102
16181
|
auth: "admin"
|
|
16182
|
+
}), method(object({
|
|
16183
|
+
namespace: string().optional(),
|
|
16184
|
+
collection: string(),
|
|
16185
|
+
conflict: array(string()).readonly(),
|
|
16186
|
+
records: array(BulkRecordSchema).readonly()
|
|
16187
|
+
}), object({ upserted: number().int() }), {
|
|
16188
|
+
kind: "mutation",
|
|
16189
|
+
auth: "admin"
|
|
16103
16190
|
}), method(object({
|
|
16104
16191
|
namespace: string().optional(),
|
|
16105
16192
|
collection: string(),
|
|
@@ -16169,12 +16256,7 @@ id: union([string(), number()]) }), {
|
|
|
16169
16256
|
})).readonly(), { auth: "admin" }), method(object({
|
|
16170
16257
|
namespace: string().optional(),
|
|
16171
16258
|
collection: string()
|
|
16172
|
-
}), boolean(), { auth: "admin" }), method(
|
|
16173
|
-
namespace: string().optional(),
|
|
16174
|
-
collection: string(),
|
|
16175
|
-
columns: array(CollectionColumnSchema).readonly(),
|
|
16176
|
-
indexes: array(CollectionIndexSchema).readonly().optional()
|
|
16177
|
-
}), _void(), {
|
|
16259
|
+
}), boolean(), { auth: "admin" }), method(DeclareCollectionInputSchema, _void(), {
|
|
16178
16260
|
kind: "mutation",
|
|
16179
16261
|
auth: "admin"
|
|
16180
16262
|
});
|
|
@@ -24574,6 +24656,9 @@ var RetrainFrameReviewSchema = object({
|
|
|
24574
24656
|
/** The baseline was re-derived, not snapshotted (a pre-origin row). */
|
|
24575
24657
|
approximate: boolean(),
|
|
24576
24658
|
origin: RetrainOriginSchema.optional(),
|
|
24659
|
+
/** The class / label the box carries NOW (a removed box: its origin's). Absent on an older hub. */
|
|
24660
|
+
macroClass: RetrainMacroClassSchema.optional(),
|
|
24661
|
+
label: string().optional(),
|
|
24577
24662
|
iou: number().optional()
|
|
24578
24663
|
})).readonly(),
|
|
24579
24664
|
summary: object({
|
|
@@ -32443,6 +32528,18 @@ var CalendarInfoSchema = object({
|
|
|
32443
32528
|
source: CalendarSourceKindSchema,
|
|
32444
32529
|
enabled: boolean()
|
|
32445
32530
|
});
|
|
32531
|
+
/**
|
|
32532
|
+
* Time contract of {@link CalendarEvent}.
|
|
32533
|
+
*
|
|
32534
|
+
* - Timed event: `startMs` / `endMs` are real instants; `endMs` is exclusive.
|
|
32535
|
+
* - All-day event (`allDay: true`): the event is a run of calendar DATES, not
|
|
32536
|
+
* instants. `startMs` is UTC midnight of the first date and `endMs` is UTC
|
|
32537
|
+
* midnight of the day AFTER the last date (RFC 5545 exclusive DTEND), so a
|
|
32538
|
+
* one-day event spans exactly 24 h. Every provider produces that and no
|
|
32539
|
+
* consumer may read the instants in a local timezone: use
|
|
32540
|
+
* {@link calendarEventLocalSpan}. Reading UTC midnight as local time put an
|
|
32541
|
+
* all-day event on the following day for any viewer ahead of UTC.
|
|
32542
|
+
*/
|
|
32446
32543
|
var CalendarEventSchema = object({
|
|
32447
32544
|
id: string().min(1),
|
|
32448
32545
|
calendarId: string().min(1),
|
|
@@ -34585,7 +34682,15 @@ var HubAddressBookSchema = object({
|
|
|
34585
34682
|
publicEndpoint: HubAddressRoleResolutionSchema
|
|
34586
34683
|
}),
|
|
34587
34684
|
/** The `hub=` an app link carries (D709), or null. */
|
|
34588
|
-
appLinkHub: string().nullable()
|
|
34685
|
+
appLinkHub: string().nullable(),
|
|
34686
|
+
/**
|
|
34687
|
+
* Every origin a browser can really reach this hub at, in the scheme each
|
|
34688
|
+
* listener serves: `https://<lan>:<httpsPort>`, and `http://<lan>:<httpPort>`
|
|
34689
|
+
* while LAN HTTP is on, plus the public and custom addresses. Distinct from
|
|
34690
|
+
* `rows`, which show `http://` only while LAN HTTP is on. Never loopback,
|
|
34691
|
+
* never the app link. Absent on a hub older than D794's amendment.
|
|
34692
|
+
*/
|
|
34693
|
+
listenerOrigins: array(string()).readonly().optional()
|
|
34589
34694
|
});
|
|
34590
34695
|
var AllowedAddressesSchema = object({
|
|
34591
34696
|
/**
|
|
@@ -41542,6 +41647,12 @@ Object.freeze({
|
|
|
41542
41647
|
addonId: null,
|
|
41543
41648
|
access: "view"
|
|
41544
41649
|
},
|
|
41650
|
+
"backup.listAvailableDatabases": {
|
|
41651
|
+
capName: "backup",
|
|
41652
|
+
capScope: "system",
|
|
41653
|
+
addonId: null,
|
|
41654
|
+
access: "view"
|
|
41655
|
+
},
|
|
41545
41656
|
"backup.listDestinations": {
|
|
41546
41657
|
capName: "backup",
|
|
41547
41658
|
capScope: "system",
|
|
@@ -42262,6 +42373,12 @@ Object.freeze({
|
|
|
42262
42373
|
addonId: null,
|
|
42263
42374
|
access: "create"
|
|
42264
42375
|
},
|
|
42376
|
+
"dataStoreProvider.upsertMany": {
|
|
42377
|
+
capName: "data-store-provider",
|
|
42378
|
+
capScope: "system",
|
|
42379
|
+
addonId: null,
|
|
42380
|
+
access: "create"
|
|
42381
|
+
},
|
|
42265
42382
|
"dayNight.getOptions": {
|
|
42266
42383
|
capName: "day-night",
|
|
42267
42384
|
capScope: "device",
|
|
@@ -47110,6 +47227,12 @@ Object.freeze({
|
|
|
47110
47227
|
addonId: null,
|
|
47111
47228
|
access: "create"
|
|
47112
47229
|
},
|
|
47230
|
+
"settingsStore.upsertMany": {
|
|
47231
|
+
capName: "settings-store",
|
|
47232
|
+
capScope: "system",
|
|
47233
|
+
addonId: null,
|
|
47234
|
+
access: "create"
|
|
47235
|
+
},
|
|
47113
47236
|
"smoke.getStatus": {
|
|
47114
47237
|
capName: "smoke",
|
|
47115
47238
|
capScope: "device",
|