@camstack/addon-remote-storage 1.2.11 → 1.2.12
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/s3.addon.js +1 -1
- package/dist/s3.addon.mjs +1 -1
- package/dist/sftp.addon.js +1 -1
- package/dist/sftp.addon.mjs +1 -1
- package/dist/{shared-BwQMDLbh.js → shared-1q5AVmdq.js} +316 -31
- package/dist/{shared-Dm3P5Qop.mjs → shared-SriyOObK.mjs} +316 -31
- package/dist/webdav.addon.js +1 -1
- package/dist/webdav.addon.mjs +1 -1
- package/package.json +1 -1
package/dist/s3.addon.js
CHANGED
|
@@ -2,7 +2,7 @@ Object.defineProperties(exports, {
|
|
|
2
2
|
__esModule: { value: true },
|
|
3
3
|
[Symbol.toStringTag]: { value: "Module" }
|
|
4
4
|
});
|
|
5
|
-
const require_shared = require("./shared-
|
|
5
|
+
const require_shared = require("./shared-1q5AVmdq.js");
|
|
6
6
|
let node_stream = require("node:stream");
|
|
7
7
|
let _aws_sdk_client_s3 = require("@aws-sdk/client-s3");
|
|
8
8
|
let _aws_sdk_lib_storage = require("@aws-sdk/lib-storage");
|
package/dist/s3.addon.mjs
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { c as BaseAddon, i as rearmIdleAbort, n as getOptionalBasePath, o as scheduleIdleAbort, s as storageProviderCapability, t as createSessionId } from "./shared-
|
|
1
|
+
import { c as BaseAddon, i as rearmIdleAbort, n as getOptionalBasePath, o as scheduleIdleAbort, s as storageProviderCapability, t as createSessionId } from "./shared-SriyOObK.mjs";
|
|
2
2
|
import { PassThrough } from "node:stream";
|
|
3
3
|
import { DeleteObjectCommand, GetObjectCommand, HeadBucketCommand, HeadObjectCommand, ListObjectsV2Command, PutObjectCommand, S3Client } from "@aws-sdk/client-s3";
|
|
4
4
|
import { Upload } from "@aws-sdk/lib-storage";
|
package/dist/sftp.addon.js
CHANGED
|
@@ -2,7 +2,7 @@ Object.defineProperties(exports, {
|
|
|
2
2
|
__esModule: { value: true },
|
|
3
3
|
[Symbol.toStringTag]: { value: "Module" }
|
|
4
4
|
});
|
|
5
|
-
const require_shared = require("./shared-
|
|
5
|
+
const require_shared = require("./shared-1q5AVmdq.js");
|
|
6
6
|
let ssh2 = require("ssh2");
|
|
7
7
|
let node_path = require("node:path");
|
|
8
8
|
node_path = require_shared.__toESM(node_path);
|
package/dist/sftp.addon.mjs
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { a as safeJoinRemotePath, c as BaseAddon, i as rearmIdleAbort, o as scheduleIdleAbort, r as getRequiredBasePath, s as storageProviderCapability, t as createSessionId } from "./shared-
|
|
1
|
+
import { a as safeJoinRemotePath, c as BaseAddon, i as rearmIdleAbort, o as scheduleIdleAbort, r as getRequiredBasePath, s as storageProviderCapability, t as createSessionId } from "./shared-SriyOObK.mjs";
|
|
2
2
|
import { Client } from "ssh2";
|
|
3
3
|
import * as path from "node:path";
|
|
4
4
|
//#region src/providers/sftp/sftp-config-schema.ts
|
|
@@ -7559,12 +7559,11 @@ var RecordingConfigSchema = object({
|
|
|
7559
7559
|
/**
|
|
7560
7560
|
* Entity-relocation job state (storage entity-routing spec, Phase 4).
|
|
7561
7561
|
*
|
|
7562
|
-
* One shape shared by the recorder
|
|
7563
|
-
*
|
|
7564
|
-
*
|
|
7565
|
-
*
|
|
7566
|
-
*
|
|
7567
|
-
* row on the owning addon's surface.
|
|
7562
|
+
* One shape shared by the recorder and pipeline-analytics internal movers.
|
|
7563
|
+
* The public admin surface is `storage-migration`; child jobs remain in RAM
|
|
7564
|
+
* because copy-if-absent, verify, delete and index/row repoint are resumable.
|
|
7565
|
+
* Each completed/failed run also lands one durable ops-log row on its owning
|
|
7566
|
+
* addon surface.
|
|
7568
7567
|
*/
|
|
7569
7568
|
var RelocateJobStateSchema = _enum([
|
|
7570
7569
|
"running",
|
|
@@ -7591,19 +7590,100 @@ var RelocateJobSchema = object({
|
|
|
7591
7590
|
finishedAt: number().nullable(),
|
|
7592
7591
|
error: string().nullable()
|
|
7593
7592
|
});
|
|
7593
|
+
/** Profile-derived footage selection used only by the migration coordinator:
|
|
7594
|
+
* `recordings` owns high+mid; `recordingsLow` owns low. */
|
|
7595
|
+
var RelocateFootageClassSchema = _enum(["recordings", "recordingsLow"]);
|
|
7594
7596
|
var RelocateFootageInputSchema = object({
|
|
7595
|
-
deviceId: number().optional(),
|
|
7596
7597
|
fromLocationId: string(),
|
|
7597
7598
|
toLocationId: string(),
|
|
7598
7599
|
entities: array(_enum(["segments"])).optional(),
|
|
7600
|
+
/** Limits relocation to the logical profile class. Omit only for the
|
|
7601
|
+
* pre-orchestration compatibility path. */
|
|
7602
|
+
footageClass: RelocateFootageClassSchema.optional(),
|
|
7599
7603
|
/** Copy throttle in MB/s (default 40) — the drain is a background chore,
|
|
7600
7604
|
* never allowed to starve live writers. */
|
|
7601
7605
|
throttleMbps: number().min(1).max(1e3).optional()
|
|
7602
7606
|
});
|
|
7603
|
-
|
|
7604
|
-
|
|
7607
|
+
/** Internal, lease-scoped participant operation. It is intentionally separate
|
|
7608
|
+
* from persistent recording settings: a migration never changes
|
|
7609
|
+
* `RecordingConfig.enabled` or camera wrapper bindings. */
|
|
7610
|
+
var StorageMigrationLeaseInputSchema = object({ leaseId: string().min(1) });
|
|
7611
|
+
var StorageMigrationFootageMoveInputSchema = RelocateFootageInputSchema.extend({ leaseId: string().min(1) });
|
|
7612
|
+
var StorageMigrationMediaMoveInputSchema = object({
|
|
7605
7613
|
toLocationId: string(),
|
|
7606
7614
|
throttleMbps: number().min(1).max(1e3).optional()
|
|
7615
|
+
}).extend({ leaseId: string().min(1) });
|
|
7616
|
+
/** The independently selectable logical storage classes. `recordings`
|
|
7617
|
+
* encompasses the high and mid segment profiles; `recordingsLow` is low
|
|
7618
|
+
* segments; `eventMedia` is post-analysis blobs. */
|
|
7619
|
+
var StorageMigrationClassSchema = _enum([
|
|
7620
|
+
"recordings",
|
|
7621
|
+
"recordingsLow",
|
|
7622
|
+
"eventMedia"
|
|
7623
|
+
]);
|
|
7624
|
+
/** A destination is always an existing, fully-qualified location id. The
|
|
7625
|
+
* migration API intentionally never changes a source location's `basePath`:
|
|
7626
|
+
* callers create a new `<type>:<slug>` location, then select it here. */
|
|
7627
|
+
var StorageMigrationDestinationsSchema = object({
|
|
7628
|
+
recordings: string().min(1).optional(),
|
|
7629
|
+
recordingsLow: string().min(1).optional(),
|
|
7630
|
+
eventMedia: string().min(1).optional()
|
|
7631
|
+
}).refine((value) => Object.keys(value).length > 0, { message: "select at least one storage class" });
|
|
7632
|
+
/** Shared input for planning and starting an orchestrated storage migration. */
|
|
7633
|
+
var StorageMigrationInputSchema = object({
|
|
7634
|
+
destinations: StorageMigrationDestinationsSchema,
|
|
7635
|
+
throttleMbps: number().min(1).max(1e3).optional()
|
|
7636
|
+
});
|
|
7637
|
+
/** The durable coordinator state machine. The only phase that changes default
|
|
7638
|
+
* locations is `repointing`, after every selected mover has completed and been
|
|
7639
|
+
* verified. */
|
|
7640
|
+
var StorageMigrationPhaseSchema = _enum([
|
|
7641
|
+
"planning",
|
|
7642
|
+
"pausing",
|
|
7643
|
+
"moving",
|
|
7644
|
+
"verifying",
|
|
7645
|
+
"repointing",
|
|
7646
|
+
"refreshing",
|
|
7647
|
+
"resuming",
|
|
7648
|
+
"done",
|
|
7649
|
+
"failed",
|
|
7650
|
+
"cancelled"
|
|
7651
|
+
]);
|
|
7652
|
+
var StorageMigrationParticipantSchema = _enum([
|
|
7653
|
+
"pipeline",
|
|
7654
|
+
"recorder",
|
|
7655
|
+
"analytics"
|
|
7656
|
+
]);
|
|
7657
|
+
var StorageMigrationMoveSchema = object({
|
|
7658
|
+
storageClass: StorageMigrationClassSchema,
|
|
7659
|
+
fromLocationId: string(),
|
|
7660
|
+
toLocationId: string(),
|
|
7661
|
+
moverJobId: string().nullable(),
|
|
7662
|
+
state: RelocateJobStateSchema.nullable(),
|
|
7663
|
+
error: string().nullable()
|
|
7664
|
+
});
|
|
7665
|
+
var StorageMigrationJobSchema = object({
|
|
7666
|
+
jobId: string(),
|
|
7667
|
+
phase: StorageMigrationPhaseSchema,
|
|
7668
|
+
destinations: StorageMigrationDestinationsSchema,
|
|
7669
|
+
throttleMbps: number(),
|
|
7670
|
+
moves: array(StorageMigrationMoveSchema),
|
|
7671
|
+
pauseLeaseId: string().nullable(),
|
|
7672
|
+
pausedParticipants: array(StorageMigrationParticipantSchema),
|
|
7673
|
+
repointed: boolean(),
|
|
7674
|
+
cancelRequested: boolean(),
|
|
7675
|
+
startedAt: number(),
|
|
7676
|
+
updatedAt: number(),
|
|
7677
|
+
finishedAt: number().nullable(),
|
|
7678
|
+
error: string().nullable()
|
|
7679
|
+
});
|
|
7680
|
+
var StorageMigrationPlanSchema = object({
|
|
7681
|
+
destinations: StorageMigrationDestinationsSchema,
|
|
7682
|
+
moves: array(object({
|
|
7683
|
+
storageClass: StorageMigrationClassSchema,
|
|
7684
|
+
fromLocationId: string(),
|
|
7685
|
+
toLocationId: string()
|
|
7686
|
+
}))
|
|
7607
7687
|
});
|
|
7608
7688
|
/**
|
|
7609
7689
|
* `StorageLocationType` — an addon-declared id that identifies the *kind* of
|
|
@@ -15979,13 +16059,19 @@ DeviceType.Camera, method(object({ deviceId: number() }), array(TrackSchema).rea
|
|
|
15979
16059
|
}), method(object({ deviceId: number() }), EventPruneCountsSchema, {
|
|
15980
16060
|
kind: "mutation",
|
|
15981
16061
|
auth: "admin"
|
|
15982
|
-
}), method(
|
|
16062
|
+
}), method(StorageMigrationLeaseInputSchema, object({ paused: literal(true) }), {
|
|
15983
16063
|
kind: "mutation",
|
|
15984
16064
|
auth: "admin"
|
|
15985
|
-
}), method(object({
|
|
15986
|
-
kind: "
|
|
16065
|
+
}), method(StorageMigrationLeaseInputSchema, object({ resumed: literal(true) }), {
|
|
16066
|
+
kind: "mutation",
|
|
16067
|
+
auth: "admin"
|
|
16068
|
+
}), method(StorageMigrationLeaseInputSchema, object({ refreshed: literal(true) }), {
|
|
16069
|
+
kind: "mutation",
|
|
16070
|
+
auth: "admin"
|
|
16071
|
+
}), method(StorageMigrationMediaMoveInputSchema, object({ jobId: string() }), {
|
|
16072
|
+
kind: "mutation",
|
|
15987
16073
|
auth: "admin"
|
|
15988
|
-
}), method(object({ jobId: string() }), object({ cancelled: boolean() }), {
|
|
16074
|
+
}), method(object({ jobId: string() }), RelocateJobSchema.nullable(), { auth: "admin" }), method(object({ jobId: string() }), object({ cancelled: boolean() }), {
|
|
15989
16075
|
kind: "mutation",
|
|
15990
16076
|
auth: "admin"
|
|
15991
16077
|
}), method(OpsLogQueryInputSchema, array(OpsLogEntrySchema).readonly(), {
|
|
@@ -17482,7 +17568,13 @@ var NodeInferenceDevicesSchema = object({
|
|
|
17482
17568
|
reachable: boolean(),
|
|
17483
17569
|
devices: array(NodeInferenceDeviceSchema).readonly()
|
|
17484
17570
|
});
|
|
17485
|
-
method(object({
|
|
17571
|
+
method(StorageMigrationLeaseInputSchema, object({ paused: literal(true) }), {
|
|
17572
|
+
kind: "mutation",
|
|
17573
|
+
auth: "admin"
|
|
17574
|
+
}), method(StorageMigrationLeaseInputSchema, object({ resumed: literal(true) }), {
|
|
17575
|
+
kind: "mutation",
|
|
17576
|
+
auth: "admin"
|
|
17577
|
+
}), method(object({
|
|
17486
17578
|
deviceId: number(),
|
|
17487
17579
|
agentNodeId: string()
|
|
17488
17580
|
}), object({ success: literal(true) }), {
|
|
@@ -18156,6 +18248,13 @@ method(object({ locationId: string() }), EvictableUsageSchema), method(object({
|
|
|
18156
18248
|
locationId: string(),
|
|
18157
18249
|
targetBytes: number().int().positive()
|
|
18158
18250
|
}), EvictResultSchema, { kind: "mutation" });
|
|
18251
|
+
method(StorageMigrationInputSchema, StorageMigrationPlanSchema, { auth: "admin" }), method(StorageMigrationInputSchema, object({ jobId: string() }), {
|
|
18252
|
+
kind: "mutation",
|
|
18253
|
+
auth: "admin"
|
|
18254
|
+
}), method(object({ jobId: string().optional() }), StorageMigrationJobSchema.nullable(), { auth: "admin" }), method(object({ jobId: string() }), object({ cancelled: boolean() }), {
|
|
18255
|
+
kind: "mutation",
|
|
18256
|
+
auth: "admin"
|
|
18257
|
+
});
|
|
18159
18258
|
var ProviderInfoSchema = discriminatedUnion("shouldSaveDiskSpace", [object({
|
|
18160
18259
|
providerId: string().min(1),
|
|
18161
18260
|
displayName: string().min(1),
|
|
@@ -18304,6 +18403,28 @@ var TerminalProfileInfoSchema = object({
|
|
|
18304
18403
|
label: string(),
|
|
18305
18404
|
description: string().optional()
|
|
18306
18405
|
});
|
|
18406
|
+
/**
|
|
18407
|
+
* A durable operator-created Terminal instance. Profiles are templates; only
|
|
18408
|
+
* an instance declares a camera.
|
|
18409
|
+
*/
|
|
18410
|
+
var TerminalInstanceInfoSchema = object({
|
|
18411
|
+
instanceId: string(),
|
|
18412
|
+
cameraStableId: string(),
|
|
18413
|
+
nodeId: string(),
|
|
18414
|
+
profileId: string(),
|
|
18415
|
+
profileLabel: string(),
|
|
18416
|
+
name: string(),
|
|
18417
|
+
enabled: boolean()
|
|
18418
|
+
});
|
|
18419
|
+
var TerminalLegacyCameraSchema = object({
|
|
18420
|
+
stableId: string(),
|
|
18421
|
+
nodeId: string(),
|
|
18422
|
+
profileId: string(),
|
|
18423
|
+
profileLabel: string(),
|
|
18424
|
+
name: string(),
|
|
18425
|
+
/** Only legacy monitor cameras can retain their historic stable identity. */
|
|
18426
|
+
adoptable: boolean()
|
|
18427
|
+
});
|
|
18307
18428
|
var TerminalOutputEventSchema = discriminatedUnion("kind", [object({
|
|
18308
18429
|
seq: number().int().positive(),
|
|
18309
18430
|
kind: literal("data"),
|
|
@@ -18320,7 +18441,29 @@ var TerminalOutputBatchSchema = object({
|
|
|
18320
18441
|
snapshot: string().optional(),
|
|
18321
18442
|
events: array(TerminalOutputEventSchema).readonly()
|
|
18322
18443
|
});
|
|
18323
|
-
method(_void(), array(TerminalProfileInfoSchema).readonly(), { auth: "admin" }), method(_void(), array(
|
|
18444
|
+
method(_void(), array(TerminalProfileInfoSchema).readonly(), { auth: "admin" }), method(_void(), array(TerminalInstanceInfoSchema).readonly(), { auth: "admin" }), method(object({
|
|
18445
|
+
targetNodeId: string().min(1),
|
|
18446
|
+
profileId: string().min(1),
|
|
18447
|
+
name: string().trim().min(1).max(160).optional()
|
|
18448
|
+
}), TerminalInstanceInfoSchema, {
|
|
18449
|
+
kind: "mutation",
|
|
18450
|
+
auth: "admin"
|
|
18451
|
+
}), method(object({ instanceId: string().min(1) }), _void(), {
|
|
18452
|
+
kind: "mutation",
|
|
18453
|
+
auth: "admin"
|
|
18454
|
+
}), method(object({
|
|
18455
|
+
instanceId: string().min(1),
|
|
18456
|
+
enabled: boolean()
|
|
18457
|
+
}), TerminalInstanceInfoSchema, {
|
|
18458
|
+
kind: "mutation",
|
|
18459
|
+
auth: "admin"
|
|
18460
|
+
}), method(_void(), array(TerminalLegacyCameraSchema).readonly(), { auth: "admin" }), method(object({
|
|
18461
|
+
stableId: string().min(1),
|
|
18462
|
+
name: string().trim().min(1).max(160).optional()
|
|
18463
|
+
}), TerminalInstanceInfoSchema, {
|
|
18464
|
+
kind: "mutation",
|
|
18465
|
+
auth: "admin"
|
|
18466
|
+
}), method(_void(), array(TerminalSessionInfoSchema).readonly(), { auth: "admin" }), method(object({
|
|
18324
18467
|
profileId: string(),
|
|
18325
18468
|
cols: number().int().positive(),
|
|
18326
18469
|
rows: number().int().positive()
|
|
@@ -18337,7 +18480,13 @@ method(_void(), array(TerminalProfileInfoSchema).readonly(), { auth: "admin" }),
|
|
|
18337
18480
|
}), method(object({
|
|
18338
18481
|
sessionId: string(),
|
|
18339
18482
|
afterSeq: number().int().nonnegative(),
|
|
18340
|
-
waitMs: number().int().min(0).max(2e3).default(0)
|
|
18483
|
+
waitMs: number().int().min(0).max(2e3).default(0),
|
|
18484
|
+
/**
|
|
18485
|
+
* Wait when a just-opened session has no output yet. Kept opt-in so a
|
|
18486
|
+
* browser's initial repaint remains immediate; the camera snapshot
|
|
18487
|
+
* relay uses it to avoid encoding a blank startup frame.
|
|
18488
|
+
*/
|
|
18489
|
+
waitForOutput: boolean().optional()
|
|
18341
18490
|
}), TerminalOutputBatchSchema, {
|
|
18342
18491
|
kind: "mutation",
|
|
18343
18492
|
auth: "admin",
|
|
@@ -20278,6 +20427,7 @@ var FaceInfoSchema = object({
|
|
|
20278
20427
|
var FaceFilterEnum = _enum([
|
|
20279
20428
|
"unassigned",
|
|
20280
20429
|
"recognized",
|
|
20430
|
+
"identified",
|
|
20281
20431
|
"all"
|
|
20282
20432
|
]);
|
|
20283
20433
|
var MediaFileLiteSchema$1 = object({
|
|
@@ -20306,6 +20456,8 @@ method(_void(), array(IdentitySchema).readonly()), method(object({ name: string(
|
|
|
20306
20456
|
kind: "mutation",
|
|
20307
20457
|
auth: "admin"
|
|
20308
20458
|
}), method(object({
|
|
20459
|
+
/** Restrict to one camera. Absent keeps the cluster-wide gallery view. */
|
|
20460
|
+
deviceId: number().int().optional(),
|
|
20309
20461
|
limit: number().int().positive().optional(),
|
|
20310
20462
|
filter: FaceFilterEnum.optional(),
|
|
20311
20463
|
/**
|
|
@@ -22071,6 +22223,10 @@ var OsdSourceSchema = discriminatedUnion("kind", [
|
|
|
22071
22223
|
capName: string().min(1).max(64),
|
|
22072
22224
|
/** Dot path inside the slice, e.g. `detected`, `value`, `mode`. */
|
|
22073
22225
|
valuePath: string().min(1).max(64)
|
|
22226
|
+
}),
|
|
22227
|
+
object({
|
|
22228
|
+
kind: literal("latest-recognition"),
|
|
22229
|
+
recognition: _enum(["person", "plate"])
|
|
22074
22230
|
})
|
|
22075
22231
|
]);
|
|
22076
22232
|
var OsdSlotBindingSchema = object({
|
|
@@ -22176,6 +22332,15 @@ method(object({ deviceId: number().int() }), object({
|
|
|
22176
22332
|
}), object({ success: literal(true) }), {
|
|
22177
22333
|
kind: "mutation",
|
|
22178
22334
|
auth: "admin"
|
|
22335
|
+
}), method(object({
|
|
22336
|
+
sourceDeviceId: number().int(),
|
|
22337
|
+
targetDeviceId: number().int()
|
|
22338
|
+
}), object({
|
|
22339
|
+
copied: number().int().nonnegative(),
|
|
22340
|
+
skipped: number().int().nonnegative()
|
|
22341
|
+
}), {
|
|
22342
|
+
kind: "mutation",
|
|
22343
|
+
auth: "admin"
|
|
22179
22344
|
}), method(object({
|
|
22180
22345
|
deviceId: number().int(),
|
|
22181
22346
|
slotId: string().min(1),
|
|
@@ -23061,13 +23226,19 @@ method(object({
|
|
|
23061
23226
|
}), {
|
|
23062
23227
|
kind: "mutation",
|
|
23063
23228
|
auth: "admin"
|
|
23064
|
-
}), method(
|
|
23229
|
+
}), method(StorageMigrationLeaseInputSchema, object({ paused: literal(true) }), {
|
|
23065
23230
|
kind: "mutation",
|
|
23066
23231
|
auth: "admin"
|
|
23067
|
-
}), method(object({
|
|
23068
|
-
kind: "
|
|
23232
|
+
}), method(StorageMigrationLeaseInputSchema, object({ resumed: literal(true) }), {
|
|
23233
|
+
kind: "mutation",
|
|
23069
23234
|
auth: "admin"
|
|
23070
|
-
}), method(
|
|
23235
|
+
}), method(StorageMigrationLeaseInputSchema, object({ refreshed: literal(true) }), {
|
|
23236
|
+
kind: "mutation",
|
|
23237
|
+
auth: "admin"
|
|
23238
|
+
}), method(StorageMigrationFootageMoveInputSchema, object({ jobId: string() }), {
|
|
23239
|
+
kind: "mutation",
|
|
23240
|
+
auth: "admin"
|
|
23241
|
+
}), method(object({ jobId: string() }), RelocateJobSchema.nullable(), { auth: "admin" }), method(object({ jobId: string() }), object({ cancelled: boolean() }), {
|
|
23071
23242
|
kind: "mutation",
|
|
23072
23243
|
auth: "admin"
|
|
23073
23244
|
});
|
|
@@ -27189,6 +27360,12 @@ Object.freeze({
|
|
|
27189
27360
|
addonId: null,
|
|
27190
27361
|
access: "delete"
|
|
27191
27362
|
},
|
|
27363
|
+
"osdManager.copyDeviceConfiguration": {
|
|
27364
|
+
capName: "osd-manager",
|
|
27365
|
+
capScope: "system",
|
|
27366
|
+
addonId: null,
|
|
27367
|
+
access: "create"
|
|
27368
|
+
},
|
|
27192
27369
|
"osdManager.getConditionSupport": {
|
|
27193
27370
|
capName: "osd-manager",
|
|
27194
27371
|
capScope: "system",
|
|
@@ -27285,7 +27462,7 @@ Object.freeze({
|
|
|
27285
27462
|
addonId: null,
|
|
27286
27463
|
access: "create"
|
|
27287
27464
|
},
|
|
27288
|
-
"pipelineAnalytics.
|
|
27465
|
+
"pipelineAnalytics.cancelStorageMigrationMove": {
|
|
27289
27466
|
capName: "pipeline-analytics",
|
|
27290
27467
|
capScope: "device",
|
|
27291
27468
|
addonId: null,
|
|
@@ -27357,12 +27534,6 @@ Object.freeze({
|
|
|
27357
27534
|
addonId: null,
|
|
27358
27535
|
access: "view"
|
|
27359
27536
|
},
|
|
27360
|
-
"pipelineAnalytics.getMediaRelocateStatus": {
|
|
27361
|
-
capName: "pipeline-analytics",
|
|
27362
|
-
capScope: "device",
|
|
27363
|
-
addonId: null,
|
|
27364
|
-
access: "view"
|
|
27365
|
-
},
|
|
27366
27537
|
"pipelineAnalytics.getMotionEvents": {
|
|
27367
27538
|
capName: "pipeline-analytics",
|
|
27368
27539
|
capScope: "device",
|
|
@@ -27399,6 +27570,12 @@ Object.freeze({
|
|
|
27399
27570
|
addonId: null,
|
|
27400
27571
|
access: "view"
|
|
27401
27572
|
},
|
|
27573
|
+
"pipelineAnalytics.getStorageMigrationMoveStatus": {
|
|
27574
|
+
capName: "pipeline-analytics",
|
|
27575
|
+
capScope: "device",
|
|
27576
|
+
addonId: null,
|
|
27577
|
+
access: "view"
|
|
27578
|
+
},
|
|
27402
27579
|
"pipelineAnalytics.getTrack": {
|
|
27403
27580
|
capName: "pipeline-analytics",
|
|
27404
27581
|
capScope: "device",
|
|
@@ -27477,6 +27654,12 @@ Object.freeze({
|
|
|
27477
27654
|
addonId: null,
|
|
27478
27655
|
access: "view"
|
|
27479
27656
|
},
|
|
27657
|
+
"pipelineAnalytics.pauseForStorageMigration": {
|
|
27658
|
+
capName: "pipeline-analytics",
|
|
27659
|
+
capScope: "device",
|
|
27660
|
+
addonId: null,
|
|
27661
|
+
access: "create"
|
|
27662
|
+
},
|
|
27480
27663
|
"pipelineAnalytics.proposeRetrainAnnotations": {
|
|
27481
27664
|
capName: "pipeline-analytics",
|
|
27482
27665
|
capScope: "device",
|
|
@@ -27507,7 +27690,7 @@ Object.freeze({
|
|
|
27507
27690
|
addonId: null,
|
|
27508
27691
|
access: "create"
|
|
27509
27692
|
},
|
|
27510
|
-
"pipelineAnalytics.
|
|
27693
|
+
"pipelineAnalytics.refreshStorageLocationsForMigration": {
|
|
27511
27694
|
capName: "pipeline-analytics",
|
|
27512
27695
|
capScope: "device",
|
|
27513
27696
|
addonId: null,
|
|
@@ -27519,6 +27702,12 @@ Object.freeze({
|
|
|
27519
27702
|
addonId: null,
|
|
27520
27703
|
access: "create"
|
|
27521
27704
|
},
|
|
27705
|
+
"pipelineAnalytics.resumeForStorageMigration": {
|
|
27706
|
+
capName: "pipeline-analytics",
|
|
27707
|
+
capScope: "device",
|
|
27708
|
+
addonId: null,
|
|
27709
|
+
access: "create"
|
|
27710
|
+
},
|
|
27522
27711
|
"pipelineAnalytics.saveRetrainAnnotations": {
|
|
27523
27712
|
capName: "pipeline-analytics",
|
|
27524
27713
|
capScope: "device",
|
|
@@ -27543,6 +27732,12 @@ Object.freeze({
|
|
|
27543
27732
|
addonId: null,
|
|
27544
27733
|
access: "create"
|
|
27545
27734
|
},
|
|
27735
|
+
"pipelineAnalytics.startStorageMigrationMove": {
|
|
27736
|
+
capName: "pipeline-analytics",
|
|
27737
|
+
capScope: "device",
|
|
27738
|
+
addonId: null,
|
|
27739
|
+
access: "create"
|
|
27740
|
+
},
|
|
27546
27741
|
"pipelineAnalytics.wipeAllAnalytics": {
|
|
27547
27742
|
capName: "pipeline-analytics",
|
|
27548
27743
|
capScope: "device",
|
|
@@ -27909,6 +28104,12 @@ Object.freeze({
|
|
|
27909
28104
|
addonId: null,
|
|
27910
28105
|
access: "view"
|
|
27911
28106
|
},
|
|
28107
|
+
"pipelineOrchestrator.pauseForStorageMigration": {
|
|
28108
|
+
capName: "pipeline-orchestrator",
|
|
28109
|
+
capScope: "system",
|
|
28110
|
+
addonId: null,
|
|
28111
|
+
access: "create"
|
|
28112
|
+
},
|
|
27912
28113
|
"pipelineOrchestrator.rebalance": {
|
|
27913
28114
|
capName: "pipeline-orchestrator",
|
|
27914
28115
|
capScope: "system",
|
|
@@ -27933,6 +28134,12 @@ Object.freeze({
|
|
|
27933
28134
|
addonId: null,
|
|
27934
28135
|
access: "view"
|
|
27935
28136
|
},
|
|
28137
|
+
"pipelineOrchestrator.resumeForStorageMigration": {
|
|
28138
|
+
capName: "pipeline-orchestrator",
|
|
28139
|
+
capScope: "system",
|
|
28140
|
+
addonId: null,
|
|
28141
|
+
access: "create"
|
|
28142
|
+
},
|
|
27936
28143
|
"pipelineOrchestrator.saveTemplate": {
|
|
27937
28144
|
capName: "pipeline-orchestrator",
|
|
27938
28145
|
capScope: "system",
|
|
@@ -28329,7 +28536,7 @@ Object.freeze({
|
|
|
28329
28536
|
addonId: null,
|
|
28330
28537
|
access: "create"
|
|
28331
28538
|
},
|
|
28332
|
-
"recording.
|
|
28539
|
+
"recording.cancelStorageMigrationMove": {
|
|
28333
28540
|
capName: "recording",
|
|
28334
28541
|
capScope: "system",
|
|
28335
28542
|
addonId: null,
|
|
@@ -28365,7 +28572,7 @@ Object.freeze({
|
|
|
28365
28572
|
addonId: null,
|
|
28366
28573
|
access: "view"
|
|
28367
28574
|
},
|
|
28368
|
-
"recording.
|
|
28575
|
+
"recording.getStorageMigrationMoveStatus": {
|
|
28369
28576
|
capName: "recording",
|
|
28370
28577
|
capScope: "system",
|
|
28371
28578
|
addonId: null,
|
|
@@ -28389,6 +28596,12 @@ Object.freeze({
|
|
|
28389
28596
|
addonId: null,
|
|
28390
28597
|
access: "view"
|
|
28391
28598
|
},
|
|
28599
|
+
"recording.pauseForStorageMigration": {
|
|
28600
|
+
capName: "recording",
|
|
28601
|
+
capScope: "system",
|
|
28602
|
+
addonId: null,
|
|
28603
|
+
access: "create"
|
|
28604
|
+
},
|
|
28392
28605
|
"recording.pruneFootage": {
|
|
28393
28606
|
capName: "recording",
|
|
28394
28607
|
capScope: "system",
|
|
@@ -28407,7 +28620,7 @@ Object.freeze({
|
|
|
28407
28620
|
addonId: null,
|
|
28408
28621
|
access: "view"
|
|
28409
28622
|
},
|
|
28410
|
-
"recording.
|
|
28623
|
+
"recording.refreshStorageLocationsForMigration": {
|
|
28411
28624
|
capName: "recording",
|
|
28412
28625
|
capScope: "system",
|
|
28413
28626
|
addonId: null,
|
|
@@ -28431,12 +28644,24 @@ Object.freeze({
|
|
|
28431
28644
|
addonId: null,
|
|
28432
28645
|
access: "create"
|
|
28433
28646
|
},
|
|
28647
|
+
"recording.resumeForStorageMigration": {
|
|
28648
|
+
capName: "recording",
|
|
28649
|
+
capScope: "system",
|
|
28650
|
+
addonId: null,
|
|
28651
|
+
access: "create"
|
|
28652
|
+
},
|
|
28434
28653
|
"recording.setDeviceConfig": {
|
|
28435
28654
|
capName: "recording",
|
|
28436
28655
|
capScope: "system",
|
|
28437
28656
|
addonId: null,
|
|
28438
28657
|
access: "create"
|
|
28439
28658
|
},
|
|
28659
|
+
"recording.startStorageMigrationMove": {
|
|
28660
|
+
capName: "recording",
|
|
28661
|
+
capScope: "system",
|
|
28662
|
+
addonId: null,
|
|
28663
|
+
access: "create"
|
|
28664
|
+
},
|
|
28440
28665
|
"recordingExport.cancelExport": {
|
|
28441
28666
|
capName: "recordingExport",
|
|
28442
28667
|
capScope: "system",
|
|
@@ -28827,6 +29052,30 @@ Object.freeze({
|
|
|
28827
29052
|
addonId: null,
|
|
28828
29053
|
access: "view"
|
|
28829
29054
|
},
|
|
29055
|
+
"storageMigration.cancel": {
|
|
29056
|
+
capName: "storage-migration",
|
|
29057
|
+
capScope: "system",
|
|
29058
|
+
addonId: null,
|
|
29059
|
+
access: "create"
|
|
29060
|
+
},
|
|
29061
|
+
"storageMigration.plan": {
|
|
29062
|
+
capName: "storage-migration",
|
|
29063
|
+
capScope: "system",
|
|
29064
|
+
addonId: null,
|
|
29065
|
+
access: "view"
|
|
29066
|
+
},
|
|
29067
|
+
"storageMigration.start": {
|
|
29068
|
+
capName: "storage-migration",
|
|
29069
|
+
capScope: "system",
|
|
29070
|
+
addonId: null,
|
|
29071
|
+
access: "create"
|
|
29072
|
+
},
|
|
29073
|
+
"storageMigration.status": {
|
|
29074
|
+
capName: "storage-migration",
|
|
29075
|
+
capScope: "system",
|
|
29076
|
+
addonId: null,
|
|
29077
|
+
access: "view"
|
|
29078
|
+
},
|
|
28830
29079
|
"storageProvider.abortUpload": {
|
|
28831
29080
|
capName: "storage-provider",
|
|
28832
29081
|
capScope: "system",
|
|
@@ -29205,12 +29454,42 @@ Object.freeze({
|
|
|
29205
29454
|
addonId: null,
|
|
29206
29455
|
access: "create"
|
|
29207
29456
|
},
|
|
29457
|
+
"terminalSession.adoptLegacyMonitor": {
|
|
29458
|
+
capName: "terminal-session",
|
|
29459
|
+
capScope: "system",
|
|
29460
|
+
addonId: null,
|
|
29461
|
+
access: "create"
|
|
29462
|
+
},
|
|
29208
29463
|
"terminalSession.close": {
|
|
29209
29464
|
capName: "terminal-session",
|
|
29210
29465
|
capScope: "system",
|
|
29211
29466
|
addonId: null,
|
|
29212
29467
|
access: "create"
|
|
29213
29468
|
},
|
|
29469
|
+
"terminalSession.createInstance": {
|
|
29470
|
+
capName: "terminal-session",
|
|
29471
|
+
capScope: "system",
|
|
29472
|
+
addonId: null,
|
|
29473
|
+
access: "create"
|
|
29474
|
+
},
|
|
29475
|
+
"terminalSession.deleteInstance": {
|
|
29476
|
+
capName: "terminal-session",
|
|
29477
|
+
capScope: "system",
|
|
29478
|
+
addonId: null,
|
|
29479
|
+
access: "delete"
|
|
29480
|
+
},
|
|
29481
|
+
"terminalSession.listInstances": {
|
|
29482
|
+
capName: "terminal-session",
|
|
29483
|
+
capScope: "system",
|
|
29484
|
+
addonId: null,
|
|
29485
|
+
access: "view"
|
|
29486
|
+
},
|
|
29487
|
+
"terminalSession.listLegacyCameras": {
|
|
29488
|
+
capName: "terminal-session",
|
|
29489
|
+
capScope: "system",
|
|
29490
|
+
addonId: null,
|
|
29491
|
+
access: "view"
|
|
29492
|
+
},
|
|
29214
29493
|
"terminalSession.listProfiles": {
|
|
29215
29494
|
capName: "terminal-session",
|
|
29216
29495
|
capScope: "system",
|
|
@@ -29241,6 +29520,12 @@ Object.freeze({
|
|
|
29241
29520
|
addonId: null,
|
|
29242
29521
|
access: "create"
|
|
29243
29522
|
},
|
|
29523
|
+
"terminalSession.setInstanceEnabled": {
|
|
29524
|
+
capName: "terminal-session",
|
|
29525
|
+
capScope: "system",
|
|
29526
|
+
addonId: null,
|
|
29527
|
+
access: "create"
|
|
29528
|
+
},
|
|
29244
29529
|
"terminalSession.writeInput": {
|
|
29245
29530
|
capName: "terminal-session",
|
|
29246
29531
|
capScope: "system",
|
|
@@ -7536,12 +7536,11 @@ var RecordingConfigSchema = object({
|
|
|
7536
7536
|
/**
|
|
7537
7537
|
* Entity-relocation job state (storage entity-routing spec, Phase 4).
|
|
7538
7538
|
*
|
|
7539
|
-
* One shape shared by the recorder
|
|
7540
|
-
*
|
|
7541
|
-
*
|
|
7542
|
-
*
|
|
7543
|
-
*
|
|
7544
|
-
* row on the owning addon's surface.
|
|
7539
|
+
* One shape shared by the recorder and pipeline-analytics internal movers.
|
|
7540
|
+
* The public admin surface is `storage-migration`; child jobs remain in RAM
|
|
7541
|
+
* because copy-if-absent, verify, delete and index/row repoint are resumable.
|
|
7542
|
+
* Each completed/failed run also lands one durable ops-log row on its owning
|
|
7543
|
+
* addon surface.
|
|
7545
7544
|
*/
|
|
7546
7545
|
var RelocateJobStateSchema = _enum([
|
|
7547
7546
|
"running",
|
|
@@ -7568,19 +7567,100 @@ var RelocateJobSchema = object({
|
|
|
7568
7567
|
finishedAt: number().nullable(),
|
|
7569
7568
|
error: string().nullable()
|
|
7570
7569
|
});
|
|
7570
|
+
/** Profile-derived footage selection used only by the migration coordinator:
|
|
7571
|
+
* `recordings` owns high+mid; `recordingsLow` owns low. */
|
|
7572
|
+
var RelocateFootageClassSchema = _enum(["recordings", "recordingsLow"]);
|
|
7571
7573
|
var RelocateFootageInputSchema = object({
|
|
7572
|
-
deviceId: number().optional(),
|
|
7573
7574
|
fromLocationId: string(),
|
|
7574
7575
|
toLocationId: string(),
|
|
7575
7576
|
entities: array(_enum(["segments"])).optional(),
|
|
7577
|
+
/** Limits relocation to the logical profile class. Omit only for the
|
|
7578
|
+
* pre-orchestration compatibility path. */
|
|
7579
|
+
footageClass: RelocateFootageClassSchema.optional(),
|
|
7576
7580
|
/** Copy throttle in MB/s (default 40) — the drain is a background chore,
|
|
7577
7581
|
* never allowed to starve live writers. */
|
|
7578
7582
|
throttleMbps: number().min(1).max(1e3).optional()
|
|
7579
7583
|
});
|
|
7580
|
-
|
|
7581
|
-
|
|
7584
|
+
/** Internal, lease-scoped participant operation. It is intentionally separate
|
|
7585
|
+
* from persistent recording settings: a migration never changes
|
|
7586
|
+
* `RecordingConfig.enabled` or camera wrapper bindings. */
|
|
7587
|
+
var StorageMigrationLeaseInputSchema = object({ leaseId: string().min(1) });
|
|
7588
|
+
var StorageMigrationFootageMoveInputSchema = RelocateFootageInputSchema.extend({ leaseId: string().min(1) });
|
|
7589
|
+
var StorageMigrationMediaMoveInputSchema = object({
|
|
7582
7590
|
toLocationId: string(),
|
|
7583
7591
|
throttleMbps: number().min(1).max(1e3).optional()
|
|
7592
|
+
}).extend({ leaseId: string().min(1) });
|
|
7593
|
+
/** The independently selectable logical storage classes. `recordings`
|
|
7594
|
+
* encompasses the high and mid segment profiles; `recordingsLow` is low
|
|
7595
|
+
* segments; `eventMedia` is post-analysis blobs. */
|
|
7596
|
+
var StorageMigrationClassSchema = _enum([
|
|
7597
|
+
"recordings",
|
|
7598
|
+
"recordingsLow",
|
|
7599
|
+
"eventMedia"
|
|
7600
|
+
]);
|
|
7601
|
+
/** A destination is always an existing, fully-qualified location id. The
|
|
7602
|
+
* migration API intentionally never changes a source location's `basePath`:
|
|
7603
|
+
* callers create a new `<type>:<slug>` location, then select it here. */
|
|
7604
|
+
var StorageMigrationDestinationsSchema = object({
|
|
7605
|
+
recordings: string().min(1).optional(),
|
|
7606
|
+
recordingsLow: string().min(1).optional(),
|
|
7607
|
+
eventMedia: string().min(1).optional()
|
|
7608
|
+
}).refine((value) => Object.keys(value).length > 0, { message: "select at least one storage class" });
|
|
7609
|
+
/** Shared input for planning and starting an orchestrated storage migration. */
|
|
7610
|
+
var StorageMigrationInputSchema = object({
|
|
7611
|
+
destinations: StorageMigrationDestinationsSchema,
|
|
7612
|
+
throttleMbps: number().min(1).max(1e3).optional()
|
|
7613
|
+
});
|
|
7614
|
+
/** The durable coordinator state machine. The only phase that changes default
|
|
7615
|
+
* locations is `repointing`, after every selected mover has completed and been
|
|
7616
|
+
* verified. */
|
|
7617
|
+
var StorageMigrationPhaseSchema = _enum([
|
|
7618
|
+
"planning",
|
|
7619
|
+
"pausing",
|
|
7620
|
+
"moving",
|
|
7621
|
+
"verifying",
|
|
7622
|
+
"repointing",
|
|
7623
|
+
"refreshing",
|
|
7624
|
+
"resuming",
|
|
7625
|
+
"done",
|
|
7626
|
+
"failed",
|
|
7627
|
+
"cancelled"
|
|
7628
|
+
]);
|
|
7629
|
+
var StorageMigrationParticipantSchema = _enum([
|
|
7630
|
+
"pipeline",
|
|
7631
|
+
"recorder",
|
|
7632
|
+
"analytics"
|
|
7633
|
+
]);
|
|
7634
|
+
var StorageMigrationMoveSchema = object({
|
|
7635
|
+
storageClass: StorageMigrationClassSchema,
|
|
7636
|
+
fromLocationId: string(),
|
|
7637
|
+
toLocationId: string(),
|
|
7638
|
+
moverJobId: string().nullable(),
|
|
7639
|
+
state: RelocateJobStateSchema.nullable(),
|
|
7640
|
+
error: string().nullable()
|
|
7641
|
+
});
|
|
7642
|
+
var StorageMigrationJobSchema = object({
|
|
7643
|
+
jobId: string(),
|
|
7644
|
+
phase: StorageMigrationPhaseSchema,
|
|
7645
|
+
destinations: StorageMigrationDestinationsSchema,
|
|
7646
|
+
throttleMbps: number(),
|
|
7647
|
+
moves: array(StorageMigrationMoveSchema),
|
|
7648
|
+
pauseLeaseId: string().nullable(),
|
|
7649
|
+
pausedParticipants: array(StorageMigrationParticipantSchema),
|
|
7650
|
+
repointed: boolean(),
|
|
7651
|
+
cancelRequested: boolean(),
|
|
7652
|
+
startedAt: number(),
|
|
7653
|
+
updatedAt: number(),
|
|
7654
|
+
finishedAt: number().nullable(),
|
|
7655
|
+
error: string().nullable()
|
|
7656
|
+
});
|
|
7657
|
+
var StorageMigrationPlanSchema = object({
|
|
7658
|
+
destinations: StorageMigrationDestinationsSchema,
|
|
7659
|
+
moves: array(object({
|
|
7660
|
+
storageClass: StorageMigrationClassSchema,
|
|
7661
|
+
fromLocationId: string(),
|
|
7662
|
+
toLocationId: string()
|
|
7663
|
+
}))
|
|
7584
7664
|
});
|
|
7585
7665
|
/**
|
|
7586
7666
|
* `StorageLocationType` — an addon-declared id that identifies the *kind* of
|
|
@@ -15956,13 +16036,19 @@ DeviceType.Camera, method(object({ deviceId: number() }), array(TrackSchema).rea
|
|
|
15956
16036
|
}), method(object({ deviceId: number() }), EventPruneCountsSchema, {
|
|
15957
16037
|
kind: "mutation",
|
|
15958
16038
|
auth: "admin"
|
|
15959
|
-
}), method(
|
|
16039
|
+
}), method(StorageMigrationLeaseInputSchema, object({ paused: literal(true) }), {
|
|
15960
16040
|
kind: "mutation",
|
|
15961
16041
|
auth: "admin"
|
|
15962
|
-
}), method(object({
|
|
15963
|
-
kind: "
|
|
16042
|
+
}), method(StorageMigrationLeaseInputSchema, object({ resumed: literal(true) }), {
|
|
16043
|
+
kind: "mutation",
|
|
16044
|
+
auth: "admin"
|
|
16045
|
+
}), method(StorageMigrationLeaseInputSchema, object({ refreshed: literal(true) }), {
|
|
16046
|
+
kind: "mutation",
|
|
16047
|
+
auth: "admin"
|
|
16048
|
+
}), method(StorageMigrationMediaMoveInputSchema, object({ jobId: string() }), {
|
|
16049
|
+
kind: "mutation",
|
|
15964
16050
|
auth: "admin"
|
|
15965
|
-
}), method(object({ jobId: string() }), object({ cancelled: boolean() }), {
|
|
16051
|
+
}), method(object({ jobId: string() }), RelocateJobSchema.nullable(), { auth: "admin" }), method(object({ jobId: string() }), object({ cancelled: boolean() }), {
|
|
15966
16052
|
kind: "mutation",
|
|
15967
16053
|
auth: "admin"
|
|
15968
16054
|
}), method(OpsLogQueryInputSchema, array(OpsLogEntrySchema).readonly(), {
|
|
@@ -17459,7 +17545,13 @@ var NodeInferenceDevicesSchema = object({
|
|
|
17459
17545
|
reachable: boolean(),
|
|
17460
17546
|
devices: array(NodeInferenceDeviceSchema).readonly()
|
|
17461
17547
|
});
|
|
17462
|
-
method(object({
|
|
17548
|
+
method(StorageMigrationLeaseInputSchema, object({ paused: literal(true) }), {
|
|
17549
|
+
kind: "mutation",
|
|
17550
|
+
auth: "admin"
|
|
17551
|
+
}), method(StorageMigrationLeaseInputSchema, object({ resumed: literal(true) }), {
|
|
17552
|
+
kind: "mutation",
|
|
17553
|
+
auth: "admin"
|
|
17554
|
+
}), method(object({
|
|
17463
17555
|
deviceId: number(),
|
|
17464
17556
|
agentNodeId: string()
|
|
17465
17557
|
}), object({ success: literal(true) }), {
|
|
@@ -18133,6 +18225,13 @@ method(object({ locationId: string() }), EvictableUsageSchema), method(object({
|
|
|
18133
18225
|
locationId: string(),
|
|
18134
18226
|
targetBytes: number().int().positive()
|
|
18135
18227
|
}), EvictResultSchema, { kind: "mutation" });
|
|
18228
|
+
method(StorageMigrationInputSchema, StorageMigrationPlanSchema, { auth: "admin" }), method(StorageMigrationInputSchema, object({ jobId: string() }), {
|
|
18229
|
+
kind: "mutation",
|
|
18230
|
+
auth: "admin"
|
|
18231
|
+
}), method(object({ jobId: string().optional() }), StorageMigrationJobSchema.nullable(), { auth: "admin" }), method(object({ jobId: string() }), object({ cancelled: boolean() }), {
|
|
18232
|
+
kind: "mutation",
|
|
18233
|
+
auth: "admin"
|
|
18234
|
+
});
|
|
18136
18235
|
var ProviderInfoSchema = discriminatedUnion("shouldSaveDiskSpace", [object({
|
|
18137
18236
|
providerId: string().min(1),
|
|
18138
18237
|
displayName: string().min(1),
|
|
@@ -18281,6 +18380,28 @@ var TerminalProfileInfoSchema = object({
|
|
|
18281
18380
|
label: string(),
|
|
18282
18381
|
description: string().optional()
|
|
18283
18382
|
});
|
|
18383
|
+
/**
|
|
18384
|
+
* A durable operator-created Terminal instance. Profiles are templates; only
|
|
18385
|
+
* an instance declares a camera.
|
|
18386
|
+
*/
|
|
18387
|
+
var TerminalInstanceInfoSchema = object({
|
|
18388
|
+
instanceId: string(),
|
|
18389
|
+
cameraStableId: string(),
|
|
18390
|
+
nodeId: string(),
|
|
18391
|
+
profileId: string(),
|
|
18392
|
+
profileLabel: string(),
|
|
18393
|
+
name: string(),
|
|
18394
|
+
enabled: boolean()
|
|
18395
|
+
});
|
|
18396
|
+
var TerminalLegacyCameraSchema = object({
|
|
18397
|
+
stableId: string(),
|
|
18398
|
+
nodeId: string(),
|
|
18399
|
+
profileId: string(),
|
|
18400
|
+
profileLabel: string(),
|
|
18401
|
+
name: string(),
|
|
18402
|
+
/** Only legacy monitor cameras can retain their historic stable identity. */
|
|
18403
|
+
adoptable: boolean()
|
|
18404
|
+
});
|
|
18284
18405
|
var TerminalOutputEventSchema = discriminatedUnion("kind", [object({
|
|
18285
18406
|
seq: number().int().positive(),
|
|
18286
18407
|
kind: literal("data"),
|
|
@@ -18297,7 +18418,29 @@ var TerminalOutputBatchSchema = object({
|
|
|
18297
18418
|
snapshot: string().optional(),
|
|
18298
18419
|
events: array(TerminalOutputEventSchema).readonly()
|
|
18299
18420
|
});
|
|
18300
|
-
method(_void(), array(TerminalProfileInfoSchema).readonly(), { auth: "admin" }), method(_void(), array(
|
|
18421
|
+
method(_void(), array(TerminalProfileInfoSchema).readonly(), { auth: "admin" }), method(_void(), array(TerminalInstanceInfoSchema).readonly(), { auth: "admin" }), method(object({
|
|
18422
|
+
targetNodeId: string().min(1),
|
|
18423
|
+
profileId: string().min(1),
|
|
18424
|
+
name: string().trim().min(1).max(160).optional()
|
|
18425
|
+
}), TerminalInstanceInfoSchema, {
|
|
18426
|
+
kind: "mutation",
|
|
18427
|
+
auth: "admin"
|
|
18428
|
+
}), method(object({ instanceId: string().min(1) }), _void(), {
|
|
18429
|
+
kind: "mutation",
|
|
18430
|
+
auth: "admin"
|
|
18431
|
+
}), method(object({
|
|
18432
|
+
instanceId: string().min(1),
|
|
18433
|
+
enabled: boolean()
|
|
18434
|
+
}), TerminalInstanceInfoSchema, {
|
|
18435
|
+
kind: "mutation",
|
|
18436
|
+
auth: "admin"
|
|
18437
|
+
}), method(_void(), array(TerminalLegacyCameraSchema).readonly(), { auth: "admin" }), method(object({
|
|
18438
|
+
stableId: string().min(1),
|
|
18439
|
+
name: string().trim().min(1).max(160).optional()
|
|
18440
|
+
}), TerminalInstanceInfoSchema, {
|
|
18441
|
+
kind: "mutation",
|
|
18442
|
+
auth: "admin"
|
|
18443
|
+
}), method(_void(), array(TerminalSessionInfoSchema).readonly(), { auth: "admin" }), method(object({
|
|
18301
18444
|
profileId: string(),
|
|
18302
18445
|
cols: number().int().positive(),
|
|
18303
18446
|
rows: number().int().positive()
|
|
@@ -18314,7 +18457,13 @@ method(_void(), array(TerminalProfileInfoSchema).readonly(), { auth: "admin" }),
|
|
|
18314
18457
|
}), method(object({
|
|
18315
18458
|
sessionId: string(),
|
|
18316
18459
|
afterSeq: number().int().nonnegative(),
|
|
18317
|
-
waitMs: number().int().min(0).max(2e3).default(0)
|
|
18460
|
+
waitMs: number().int().min(0).max(2e3).default(0),
|
|
18461
|
+
/**
|
|
18462
|
+
* Wait when a just-opened session has no output yet. Kept opt-in so a
|
|
18463
|
+
* browser's initial repaint remains immediate; the camera snapshot
|
|
18464
|
+
* relay uses it to avoid encoding a blank startup frame.
|
|
18465
|
+
*/
|
|
18466
|
+
waitForOutput: boolean().optional()
|
|
18318
18467
|
}), TerminalOutputBatchSchema, {
|
|
18319
18468
|
kind: "mutation",
|
|
18320
18469
|
auth: "admin",
|
|
@@ -20255,6 +20404,7 @@ var FaceInfoSchema = object({
|
|
|
20255
20404
|
var FaceFilterEnum = _enum([
|
|
20256
20405
|
"unassigned",
|
|
20257
20406
|
"recognized",
|
|
20407
|
+
"identified",
|
|
20258
20408
|
"all"
|
|
20259
20409
|
]);
|
|
20260
20410
|
var MediaFileLiteSchema$1 = object({
|
|
@@ -20283,6 +20433,8 @@ method(_void(), array(IdentitySchema).readonly()), method(object({ name: string(
|
|
|
20283
20433
|
kind: "mutation",
|
|
20284
20434
|
auth: "admin"
|
|
20285
20435
|
}), method(object({
|
|
20436
|
+
/** Restrict to one camera. Absent keeps the cluster-wide gallery view. */
|
|
20437
|
+
deviceId: number().int().optional(),
|
|
20286
20438
|
limit: number().int().positive().optional(),
|
|
20287
20439
|
filter: FaceFilterEnum.optional(),
|
|
20288
20440
|
/**
|
|
@@ -22048,6 +22200,10 @@ var OsdSourceSchema = discriminatedUnion("kind", [
|
|
|
22048
22200
|
capName: string().min(1).max(64),
|
|
22049
22201
|
/** Dot path inside the slice, e.g. `detected`, `value`, `mode`. */
|
|
22050
22202
|
valuePath: string().min(1).max(64)
|
|
22203
|
+
}),
|
|
22204
|
+
object({
|
|
22205
|
+
kind: literal("latest-recognition"),
|
|
22206
|
+
recognition: _enum(["person", "plate"])
|
|
22051
22207
|
})
|
|
22052
22208
|
]);
|
|
22053
22209
|
var OsdSlotBindingSchema = object({
|
|
@@ -22153,6 +22309,15 @@ method(object({ deviceId: number().int() }), object({
|
|
|
22153
22309
|
}), object({ success: literal(true) }), {
|
|
22154
22310
|
kind: "mutation",
|
|
22155
22311
|
auth: "admin"
|
|
22312
|
+
}), method(object({
|
|
22313
|
+
sourceDeviceId: number().int(),
|
|
22314
|
+
targetDeviceId: number().int()
|
|
22315
|
+
}), object({
|
|
22316
|
+
copied: number().int().nonnegative(),
|
|
22317
|
+
skipped: number().int().nonnegative()
|
|
22318
|
+
}), {
|
|
22319
|
+
kind: "mutation",
|
|
22320
|
+
auth: "admin"
|
|
22156
22321
|
}), method(object({
|
|
22157
22322
|
deviceId: number().int(),
|
|
22158
22323
|
slotId: string().min(1),
|
|
@@ -23038,13 +23203,19 @@ method(object({
|
|
|
23038
23203
|
}), {
|
|
23039
23204
|
kind: "mutation",
|
|
23040
23205
|
auth: "admin"
|
|
23041
|
-
}), method(
|
|
23206
|
+
}), method(StorageMigrationLeaseInputSchema, object({ paused: literal(true) }), {
|
|
23042
23207
|
kind: "mutation",
|
|
23043
23208
|
auth: "admin"
|
|
23044
|
-
}), method(object({
|
|
23045
|
-
kind: "
|
|
23209
|
+
}), method(StorageMigrationLeaseInputSchema, object({ resumed: literal(true) }), {
|
|
23210
|
+
kind: "mutation",
|
|
23046
23211
|
auth: "admin"
|
|
23047
|
-
}), method(
|
|
23212
|
+
}), method(StorageMigrationLeaseInputSchema, object({ refreshed: literal(true) }), {
|
|
23213
|
+
kind: "mutation",
|
|
23214
|
+
auth: "admin"
|
|
23215
|
+
}), method(StorageMigrationFootageMoveInputSchema, object({ jobId: string() }), {
|
|
23216
|
+
kind: "mutation",
|
|
23217
|
+
auth: "admin"
|
|
23218
|
+
}), method(object({ jobId: string() }), RelocateJobSchema.nullable(), { auth: "admin" }), method(object({ jobId: string() }), object({ cancelled: boolean() }), {
|
|
23048
23219
|
kind: "mutation",
|
|
23049
23220
|
auth: "admin"
|
|
23050
23221
|
});
|
|
@@ -27166,6 +27337,12 @@ Object.freeze({
|
|
|
27166
27337
|
addonId: null,
|
|
27167
27338
|
access: "delete"
|
|
27168
27339
|
},
|
|
27340
|
+
"osdManager.copyDeviceConfiguration": {
|
|
27341
|
+
capName: "osd-manager",
|
|
27342
|
+
capScope: "system",
|
|
27343
|
+
addonId: null,
|
|
27344
|
+
access: "create"
|
|
27345
|
+
},
|
|
27169
27346
|
"osdManager.getConditionSupport": {
|
|
27170
27347
|
capName: "osd-manager",
|
|
27171
27348
|
capScope: "system",
|
|
@@ -27262,7 +27439,7 @@ Object.freeze({
|
|
|
27262
27439
|
addonId: null,
|
|
27263
27440
|
access: "create"
|
|
27264
27441
|
},
|
|
27265
|
-
"pipelineAnalytics.
|
|
27442
|
+
"pipelineAnalytics.cancelStorageMigrationMove": {
|
|
27266
27443
|
capName: "pipeline-analytics",
|
|
27267
27444
|
capScope: "device",
|
|
27268
27445
|
addonId: null,
|
|
@@ -27334,12 +27511,6 @@ Object.freeze({
|
|
|
27334
27511
|
addonId: null,
|
|
27335
27512
|
access: "view"
|
|
27336
27513
|
},
|
|
27337
|
-
"pipelineAnalytics.getMediaRelocateStatus": {
|
|
27338
|
-
capName: "pipeline-analytics",
|
|
27339
|
-
capScope: "device",
|
|
27340
|
-
addonId: null,
|
|
27341
|
-
access: "view"
|
|
27342
|
-
},
|
|
27343
27514
|
"pipelineAnalytics.getMotionEvents": {
|
|
27344
27515
|
capName: "pipeline-analytics",
|
|
27345
27516
|
capScope: "device",
|
|
@@ -27376,6 +27547,12 @@ Object.freeze({
|
|
|
27376
27547
|
addonId: null,
|
|
27377
27548
|
access: "view"
|
|
27378
27549
|
},
|
|
27550
|
+
"pipelineAnalytics.getStorageMigrationMoveStatus": {
|
|
27551
|
+
capName: "pipeline-analytics",
|
|
27552
|
+
capScope: "device",
|
|
27553
|
+
addonId: null,
|
|
27554
|
+
access: "view"
|
|
27555
|
+
},
|
|
27379
27556
|
"pipelineAnalytics.getTrack": {
|
|
27380
27557
|
capName: "pipeline-analytics",
|
|
27381
27558
|
capScope: "device",
|
|
@@ -27454,6 +27631,12 @@ Object.freeze({
|
|
|
27454
27631
|
addonId: null,
|
|
27455
27632
|
access: "view"
|
|
27456
27633
|
},
|
|
27634
|
+
"pipelineAnalytics.pauseForStorageMigration": {
|
|
27635
|
+
capName: "pipeline-analytics",
|
|
27636
|
+
capScope: "device",
|
|
27637
|
+
addonId: null,
|
|
27638
|
+
access: "create"
|
|
27639
|
+
},
|
|
27457
27640
|
"pipelineAnalytics.proposeRetrainAnnotations": {
|
|
27458
27641
|
capName: "pipeline-analytics",
|
|
27459
27642
|
capScope: "device",
|
|
@@ -27484,7 +27667,7 @@ Object.freeze({
|
|
|
27484
27667
|
addonId: null,
|
|
27485
27668
|
access: "create"
|
|
27486
27669
|
},
|
|
27487
|
-
"pipelineAnalytics.
|
|
27670
|
+
"pipelineAnalytics.refreshStorageLocationsForMigration": {
|
|
27488
27671
|
capName: "pipeline-analytics",
|
|
27489
27672
|
capScope: "device",
|
|
27490
27673
|
addonId: null,
|
|
@@ -27496,6 +27679,12 @@ Object.freeze({
|
|
|
27496
27679
|
addonId: null,
|
|
27497
27680
|
access: "create"
|
|
27498
27681
|
},
|
|
27682
|
+
"pipelineAnalytics.resumeForStorageMigration": {
|
|
27683
|
+
capName: "pipeline-analytics",
|
|
27684
|
+
capScope: "device",
|
|
27685
|
+
addonId: null,
|
|
27686
|
+
access: "create"
|
|
27687
|
+
},
|
|
27499
27688
|
"pipelineAnalytics.saveRetrainAnnotations": {
|
|
27500
27689
|
capName: "pipeline-analytics",
|
|
27501
27690
|
capScope: "device",
|
|
@@ -27520,6 +27709,12 @@ Object.freeze({
|
|
|
27520
27709
|
addonId: null,
|
|
27521
27710
|
access: "create"
|
|
27522
27711
|
},
|
|
27712
|
+
"pipelineAnalytics.startStorageMigrationMove": {
|
|
27713
|
+
capName: "pipeline-analytics",
|
|
27714
|
+
capScope: "device",
|
|
27715
|
+
addonId: null,
|
|
27716
|
+
access: "create"
|
|
27717
|
+
},
|
|
27523
27718
|
"pipelineAnalytics.wipeAllAnalytics": {
|
|
27524
27719
|
capName: "pipeline-analytics",
|
|
27525
27720
|
capScope: "device",
|
|
@@ -27886,6 +28081,12 @@ Object.freeze({
|
|
|
27886
28081
|
addonId: null,
|
|
27887
28082
|
access: "view"
|
|
27888
28083
|
},
|
|
28084
|
+
"pipelineOrchestrator.pauseForStorageMigration": {
|
|
28085
|
+
capName: "pipeline-orchestrator",
|
|
28086
|
+
capScope: "system",
|
|
28087
|
+
addonId: null,
|
|
28088
|
+
access: "create"
|
|
28089
|
+
},
|
|
27889
28090
|
"pipelineOrchestrator.rebalance": {
|
|
27890
28091
|
capName: "pipeline-orchestrator",
|
|
27891
28092
|
capScope: "system",
|
|
@@ -27910,6 +28111,12 @@ Object.freeze({
|
|
|
27910
28111
|
addonId: null,
|
|
27911
28112
|
access: "view"
|
|
27912
28113
|
},
|
|
28114
|
+
"pipelineOrchestrator.resumeForStorageMigration": {
|
|
28115
|
+
capName: "pipeline-orchestrator",
|
|
28116
|
+
capScope: "system",
|
|
28117
|
+
addonId: null,
|
|
28118
|
+
access: "create"
|
|
28119
|
+
},
|
|
27913
28120
|
"pipelineOrchestrator.saveTemplate": {
|
|
27914
28121
|
capName: "pipeline-orchestrator",
|
|
27915
28122
|
capScope: "system",
|
|
@@ -28306,7 +28513,7 @@ Object.freeze({
|
|
|
28306
28513
|
addonId: null,
|
|
28307
28514
|
access: "create"
|
|
28308
28515
|
},
|
|
28309
|
-
"recording.
|
|
28516
|
+
"recording.cancelStorageMigrationMove": {
|
|
28310
28517
|
capName: "recording",
|
|
28311
28518
|
capScope: "system",
|
|
28312
28519
|
addonId: null,
|
|
@@ -28342,7 +28549,7 @@ Object.freeze({
|
|
|
28342
28549
|
addonId: null,
|
|
28343
28550
|
access: "view"
|
|
28344
28551
|
},
|
|
28345
|
-
"recording.
|
|
28552
|
+
"recording.getStorageMigrationMoveStatus": {
|
|
28346
28553
|
capName: "recording",
|
|
28347
28554
|
capScope: "system",
|
|
28348
28555
|
addonId: null,
|
|
@@ -28366,6 +28573,12 @@ Object.freeze({
|
|
|
28366
28573
|
addonId: null,
|
|
28367
28574
|
access: "view"
|
|
28368
28575
|
},
|
|
28576
|
+
"recording.pauseForStorageMigration": {
|
|
28577
|
+
capName: "recording",
|
|
28578
|
+
capScope: "system",
|
|
28579
|
+
addonId: null,
|
|
28580
|
+
access: "create"
|
|
28581
|
+
},
|
|
28369
28582
|
"recording.pruneFootage": {
|
|
28370
28583
|
capName: "recording",
|
|
28371
28584
|
capScope: "system",
|
|
@@ -28384,7 +28597,7 @@ Object.freeze({
|
|
|
28384
28597
|
addonId: null,
|
|
28385
28598
|
access: "view"
|
|
28386
28599
|
},
|
|
28387
|
-
"recording.
|
|
28600
|
+
"recording.refreshStorageLocationsForMigration": {
|
|
28388
28601
|
capName: "recording",
|
|
28389
28602
|
capScope: "system",
|
|
28390
28603
|
addonId: null,
|
|
@@ -28408,12 +28621,24 @@ Object.freeze({
|
|
|
28408
28621
|
addonId: null,
|
|
28409
28622
|
access: "create"
|
|
28410
28623
|
},
|
|
28624
|
+
"recording.resumeForStorageMigration": {
|
|
28625
|
+
capName: "recording",
|
|
28626
|
+
capScope: "system",
|
|
28627
|
+
addonId: null,
|
|
28628
|
+
access: "create"
|
|
28629
|
+
},
|
|
28411
28630
|
"recording.setDeviceConfig": {
|
|
28412
28631
|
capName: "recording",
|
|
28413
28632
|
capScope: "system",
|
|
28414
28633
|
addonId: null,
|
|
28415
28634
|
access: "create"
|
|
28416
28635
|
},
|
|
28636
|
+
"recording.startStorageMigrationMove": {
|
|
28637
|
+
capName: "recording",
|
|
28638
|
+
capScope: "system",
|
|
28639
|
+
addonId: null,
|
|
28640
|
+
access: "create"
|
|
28641
|
+
},
|
|
28417
28642
|
"recordingExport.cancelExport": {
|
|
28418
28643
|
capName: "recordingExport",
|
|
28419
28644
|
capScope: "system",
|
|
@@ -28804,6 +29029,30 @@ Object.freeze({
|
|
|
28804
29029
|
addonId: null,
|
|
28805
29030
|
access: "view"
|
|
28806
29031
|
},
|
|
29032
|
+
"storageMigration.cancel": {
|
|
29033
|
+
capName: "storage-migration",
|
|
29034
|
+
capScope: "system",
|
|
29035
|
+
addonId: null,
|
|
29036
|
+
access: "create"
|
|
29037
|
+
},
|
|
29038
|
+
"storageMigration.plan": {
|
|
29039
|
+
capName: "storage-migration",
|
|
29040
|
+
capScope: "system",
|
|
29041
|
+
addonId: null,
|
|
29042
|
+
access: "view"
|
|
29043
|
+
},
|
|
29044
|
+
"storageMigration.start": {
|
|
29045
|
+
capName: "storage-migration",
|
|
29046
|
+
capScope: "system",
|
|
29047
|
+
addonId: null,
|
|
29048
|
+
access: "create"
|
|
29049
|
+
},
|
|
29050
|
+
"storageMigration.status": {
|
|
29051
|
+
capName: "storage-migration",
|
|
29052
|
+
capScope: "system",
|
|
29053
|
+
addonId: null,
|
|
29054
|
+
access: "view"
|
|
29055
|
+
},
|
|
28807
29056
|
"storageProvider.abortUpload": {
|
|
28808
29057
|
capName: "storage-provider",
|
|
28809
29058
|
capScope: "system",
|
|
@@ -29182,12 +29431,42 @@ Object.freeze({
|
|
|
29182
29431
|
addonId: null,
|
|
29183
29432
|
access: "create"
|
|
29184
29433
|
},
|
|
29434
|
+
"terminalSession.adoptLegacyMonitor": {
|
|
29435
|
+
capName: "terminal-session",
|
|
29436
|
+
capScope: "system",
|
|
29437
|
+
addonId: null,
|
|
29438
|
+
access: "create"
|
|
29439
|
+
},
|
|
29185
29440
|
"terminalSession.close": {
|
|
29186
29441
|
capName: "terminal-session",
|
|
29187
29442
|
capScope: "system",
|
|
29188
29443
|
addonId: null,
|
|
29189
29444
|
access: "create"
|
|
29190
29445
|
},
|
|
29446
|
+
"terminalSession.createInstance": {
|
|
29447
|
+
capName: "terminal-session",
|
|
29448
|
+
capScope: "system",
|
|
29449
|
+
addonId: null,
|
|
29450
|
+
access: "create"
|
|
29451
|
+
},
|
|
29452
|
+
"terminalSession.deleteInstance": {
|
|
29453
|
+
capName: "terminal-session",
|
|
29454
|
+
capScope: "system",
|
|
29455
|
+
addonId: null,
|
|
29456
|
+
access: "delete"
|
|
29457
|
+
},
|
|
29458
|
+
"terminalSession.listInstances": {
|
|
29459
|
+
capName: "terminal-session",
|
|
29460
|
+
capScope: "system",
|
|
29461
|
+
addonId: null,
|
|
29462
|
+
access: "view"
|
|
29463
|
+
},
|
|
29464
|
+
"terminalSession.listLegacyCameras": {
|
|
29465
|
+
capName: "terminal-session",
|
|
29466
|
+
capScope: "system",
|
|
29467
|
+
addonId: null,
|
|
29468
|
+
access: "view"
|
|
29469
|
+
},
|
|
29191
29470
|
"terminalSession.listProfiles": {
|
|
29192
29471
|
capName: "terminal-session",
|
|
29193
29472
|
capScope: "system",
|
|
@@ -29218,6 +29497,12 @@ Object.freeze({
|
|
|
29218
29497
|
addonId: null,
|
|
29219
29498
|
access: "create"
|
|
29220
29499
|
},
|
|
29500
|
+
"terminalSession.setInstanceEnabled": {
|
|
29501
|
+
capName: "terminal-session",
|
|
29502
|
+
capScope: "system",
|
|
29503
|
+
addonId: null,
|
|
29504
|
+
access: "create"
|
|
29505
|
+
},
|
|
29221
29506
|
"terminalSession.writeInput": {
|
|
29222
29507
|
capName: "terminal-session",
|
|
29223
29508
|
capScope: "system",
|
package/dist/webdav.addon.js
CHANGED
|
@@ -2,7 +2,7 @@ Object.defineProperties(exports, {
|
|
|
2
2
|
__esModule: { value: true },
|
|
3
3
|
[Symbol.toStringTag]: { value: "Module" }
|
|
4
4
|
});
|
|
5
|
-
const require_shared = require("./shared-
|
|
5
|
+
const require_shared = require("./shared-1q5AVmdq.js");
|
|
6
6
|
let node_stream = require("node:stream");
|
|
7
7
|
let webdav = require("webdav");
|
|
8
8
|
//#region src/providers/webdav/webdav-config-schema.ts
|
package/dist/webdav.addon.mjs
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { a as safeJoinRemotePath, c as BaseAddon, i as rearmIdleAbort, o as scheduleIdleAbort, r as getRequiredBasePath, s as storageProviderCapability, t as createSessionId } from "./shared-
|
|
1
|
+
import { a as safeJoinRemotePath, c as BaseAddon, i as rearmIdleAbort, o as scheduleIdleAbort, r as getRequiredBasePath, s as storageProviderCapability, t as createSessionId } from "./shared-SriyOObK.mjs";
|
|
2
2
|
import { PassThrough } from "node:stream";
|
|
3
3
|
import { AuthType, createClient } from "webdav";
|
|
4
4
|
//#region src/providers/webdav/webdav-config-schema.ts
|
package/package.json
CHANGED