@camstack/types 1.2.374 → 1.2.375

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.
@@ -953,6 +953,14 @@ export declare const localNetworkCapability: {
953
953
  caCertPem: z.ZodNullable<z.ZodString>;
954
954
  reissueError: z.ZodNullable<z.ZodString>;
955
955
  restartRequired: z.ZodBoolean;
956
+ caMissing: z.ZodBoolean;
957
+ localCaConstrained: z.ZodNullable<z.ZodBoolean>;
958
+ caReplacedAt: z.ZodNullable<z.ZodString>;
959
+ storedUpload: z.ZodNullable<z.ZodObject<{
960
+ leafFingerprintSha256: z.ZodString;
961
+ validTo: z.ZodString;
962
+ hasCa: z.ZodBoolean;
963
+ }, z.core.$strip>>;
956
964
  }, z.core.$strip>, import("./capability-definition.js").CapabilityMethodKind>;
957
965
  /** Issue a new leaf under the existing local CA. Disabled in uploaded mode. */
958
966
  readonly regenerateCertificate: import("./capability-definition.js").CapabilityMethodSchema<z.ZodObject<{
@@ -970,8 +978,19 @@ export declare const localNetworkCapability: {
970
978
  caCertPem: z.ZodNullable<z.ZodString>;
971
979
  reissueError: z.ZodNullable<z.ZodString>;
972
980
  restartRequired: z.ZodBoolean;
981
+ caMissing: z.ZodBoolean;
982
+ localCaConstrained: z.ZodNullable<z.ZodBoolean>;
983
+ caReplacedAt: z.ZodNullable<z.ZodString>;
984
+ storedUpload: z.ZodNullable<z.ZodObject<{
985
+ leafFingerprintSha256: z.ZodString;
986
+ validTo: z.ZodString;
987
+ hasCa: z.ZodBoolean;
988
+ }, z.core.$strip>>;
973
989
  }, z.core.$strip>, "mutation">;
974
- /** Replace the served material with operator-supplied PEMs. */
990
+ /**
991
+ * Replace the served material with operator-supplied PEMs. A certificate that does not lead
992
+ * to a public CA must come with its CA certificate, validated and kept for Download CA (D873).
993
+ */
975
994
  readonly uploadCertificate: import("./capability-definition.js").CapabilityMethodSchema<z.ZodObject<{
976
995
  certPem: z.ZodString;
977
996
  keyPem: z.ZodString;
@@ -989,12 +1008,45 @@ export declare const localNetworkCapability: {
989
1008
  caCertPem: z.ZodNullable<z.ZodString>;
990
1009
  reissueError: z.ZodNullable<z.ZodString>;
991
1010
  restartRequired: z.ZodBoolean;
1011
+ caMissing: z.ZodBoolean;
1012
+ localCaConstrained: z.ZodNullable<z.ZodBoolean>;
1013
+ caReplacedAt: z.ZodNullable<z.ZodString>;
1014
+ storedUpload: z.ZodNullable<z.ZodObject<{
1015
+ leafFingerprintSha256: z.ZodString;
1016
+ validTo: z.ZodString;
1017
+ hasCa: z.ZodBoolean;
1018
+ }, z.core.$strip>>;
992
1019
  }, z.core.$strip>, "mutation">;
993
1020
  /** The local CA PEM, or empty when there is none to download. */
994
1021
  readonly downloadCa: import("./capability-definition.js").CapabilityMethodSchema<z.ZodVoid, z.ZodObject<{
995
1022
  pem: z.ZodString;
996
1023
  }, z.core.$strip>, import("./capability-definition.js").CapabilityMethodKind>;
997
- /** Drop uploaded material and return to the generated local CA. */
1024
+ /**
1025
+ * Serve the kept upload again after "Revert to generated" (D873). Refused when none is kept.
1026
+ */
1027
+ readonly useStoredUploadedCertificate: import("./capability-definition.js").CapabilityMethodSchema<z.ZodVoid, z.ZodObject<{
1028
+ mode: z.ZodEnum<{
1029
+ disabled: "disabled";
1030
+ generated: "generated";
1031
+ uploaded: "uploaded";
1032
+ }>;
1033
+ leafFingerprintSha256: z.ZodNullable<z.ZodString>;
1034
+ caFingerprintSha256: z.ZodNullable<z.ZodString>;
1035
+ validTo: z.ZodNullable<z.ZodString>;
1036
+ sans: z.ZodArray<z.ZodString>;
1037
+ caCertPem: z.ZodNullable<z.ZodString>;
1038
+ reissueError: z.ZodNullable<z.ZodString>;
1039
+ restartRequired: z.ZodBoolean;
1040
+ caMissing: z.ZodBoolean;
1041
+ localCaConstrained: z.ZodNullable<z.ZodBoolean>;
1042
+ caReplacedAt: z.ZodNullable<z.ZodString>;
1043
+ storedUpload: z.ZodNullable<z.ZodObject<{
1044
+ leafFingerprintSha256: z.ZodString;
1045
+ validTo: z.ZodString;
1046
+ hasCa: z.ZodBoolean;
1047
+ }, z.core.$strip>>;
1048
+ }, z.core.$strip>, "mutation">;
1049
+ /** Return to the generated local CA. The uploaded certificate stays stored (D873). */
998
1050
  readonly revertToGeneratedCertificate: import("./capability-definition.js").CapabilityMethodSchema<z.ZodVoid, z.ZodObject<{
999
1051
  mode: z.ZodEnum<{
1000
1052
  disabled: "disabled";
@@ -1008,6 +1060,14 @@ export declare const localNetworkCapability: {
1008
1060
  caCertPem: z.ZodNullable<z.ZodString>;
1009
1061
  reissueError: z.ZodNullable<z.ZodString>;
1010
1062
  restartRequired: z.ZodBoolean;
1063
+ caMissing: z.ZodBoolean;
1064
+ localCaConstrained: z.ZodNullable<z.ZodBoolean>;
1065
+ caReplacedAt: z.ZodNullable<z.ZodString>;
1066
+ storedUpload: z.ZodNullable<z.ZodObject<{
1067
+ leafFingerprintSha256: z.ZodString;
1068
+ validTo: z.ZodString;
1069
+ hasCa: z.ZodBoolean;
1070
+ }, z.core.$strip>>;
1011
1071
  }, z.core.$strip>, "mutation">;
1012
1072
  };
1013
1073
  /** BIG PLAN 2: declarative mount hint — read by `@camstack/system` `buildCapRouters`. */
package/dist/client.js CHANGED
@@ -27847,6 +27847,7 @@ function createSystemProxy(api) {
27847
27847
  regenerateCertificate: (input) => dispatch("localNetwork", "regenerateCertificate", "mutation", input),
27848
27848
  uploadCertificate: (input) => dispatch("localNetwork", "uploadCertificate", "mutation", input),
27849
27849
  downloadCa: (input) => dispatch("localNetwork", "downloadCa", "query", input),
27850
+ useStoredUploadedCertificate: (input) => dispatch("localNetwork", "useStoredUploadedCertificate", "mutation", input),
27850
27851
  revertToGeneratedCertificate: (input) => dispatch("localNetwork", "revertToGeneratedCertificate", "mutation", input)
27851
27852
  },
27852
27853
  meshNetwork: {
package/dist/client.mjs CHANGED
@@ -27846,6 +27846,7 @@ function createSystemProxy(api) {
27846
27846
  regenerateCertificate: (input) => dispatch("localNetwork", "regenerateCertificate", "mutation", input),
27847
27847
  uploadCertificate: (input) => dispatch("localNetwork", "uploadCertificate", "mutation", input),
27848
27848
  downloadCa: (input) => dispatch("localNetwork", "downloadCa", "query", input),
27849
+ useStoredUploadedCertificate: (input) => dispatch("localNetwork", "useStoredUploadedCertificate", "mutation", input),
27849
27850
  revertToGeneratedCertificate: (input) => dispatch("localNetwork", "revertToGeneratedCertificate", "mutation", input)
27850
27851
  },
27851
27852
  meshNetwork: {
@@ -4461,6 +4461,13 @@ export type AppRouter = TrpcCoreRouter<{
4461
4461
  output: z.infer<typeof localNetworkCapability.methods.downloadCa.output>;
4462
4462
  meta: object;
4463
4463
  }>;
4464
+ useStoredUploadedCertificate: TRPCMutationProcedure<{
4465
+ input: {
4466
+ nodeId?: string | undefined;
4467
+ } | undefined;
4468
+ output: z.infer<typeof localNetworkCapability.methods.useStoredUploadedCertificate.output>;
4469
+ meta: object;
4470
+ }>;
4464
4471
  revertToGeneratedCertificate: TRPCMutationProcedure<{
4465
4472
  input: {
4466
4473
  nodeId?: string | undefined;
@@ -6,7 +6,7 @@
6
6
  * scope+access check inside `protectedProcedure` (see
7
7
  * `server/backend/src/api/trpc/trpc.middleware.ts`).
8
8
  *
9
- * Coverage: 1337 method paths across 174 capabilities.
9
+ * Coverage: 1338 method paths across 174 capabilities.
10
10
  */
11
11
  import type { CapabilityMethodAccess } from '../capabilities/capability-definition.js';
12
12
  export interface MethodAccessRecord {
@@ -85,7 +85,7 @@ export interface SystemProxy {
85
85
  readonly integrations: Pick<InferProvider<typeof integrationsCapability>, 'list' | 'get' | 'getByAddonId' | 'create' | 'update' | 'delete' | 'getSettings' | 'setSettings' | 'getAvailableTypes' | 'testConnection'>;
86
86
  readonly keychainAdmin: Pick<InferProvider<typeof keychainAdminCapability>, 'status' | 'listSecrets' | 'listAudit' | 'reveal' | 'setSystemSecret' | 'deleteOrphans' | 'rotateMasterKey' | 'purgeRetiredKeys' | 'downloadRecoveryKey' | 'resetKeychain' | 'resetReport' | 'acknowledgeReset'>;
87
87
  readonly llm: Pick<InferProvider<typeof llmCapability>, 'generate' | 'generateVision' | 'cancel' | 'listProfileKinds' | 'listProfiles' | 'upsertProfile' | 'deleteProfile' | 'testProfile' | 'listModels' | 'getDefaults' | 'setDefault' | 'getUsage' | 'listModelCatalog' | 'listRuntimeNodes' | 'listNodeModels' | 'resolveModelRef' | 'installModel' | 'deleteModel' | 'getRuntimeStatus' | 'startRuntime' | 'stopRuntime'>;
88
- readonly localNetwork: Pick<InferProvider<typeof localNetworkCapability>, 'list' | 'getPreferred' | 'getConnectionEndpoints' | 'getNotificationEndpoint' | 'setNotificationEndpoint' | 'getViewerEndpoints' | 'setViewerEndpoints' | 'getAddresses' | 'addCustomAddress' | 'removeCustomAddress' | 'setAddressRole' | 'getHubAddresses' | 'getAllowedAddresses' | 'setAllowedAddresses' | 'resetAllowlistToBestMatch' | 'getTlsStatus' | 'regenerateCertificate' | 'uploadCertificate' | 'downloadCa' | 'revertToGeneratedCertificate'>;
88
+ readonly localNetwork: Pick<InferProvider<typeof localNetworkCapability>, 'list' | 'getPreferred' | 'getConnectionEndpoints' | 'getNotificationEndpoint' | 'setNotificationEndpoint' | 'getViewerEndpoints' | 'setViewerEndpoints' | 'getAddresses' | 'addCustomAddress' | 'removeCustomAddress' | 'setAddressRole' | 'getHubAddresses' | 'getAllowedAddresses' | 'setAllowedAddresses' | 'resetAllowlistToBestMatch' | 'getTlsStatus' | 'regenerateCertificate' | 'uploadCertificate' | 'downloadCa' | 'useStoredUploadedCertificate' | 'revertToGeneratedCertificate'>;
89
89
  readonly meshNetwork: Pick<InferProvider<typeof meshNetworkCapability>, 'getStatus' | 'join' | 'startLogin' | 'leave' | 'logout' | 'listPeers' | 'testConnection'>;
90
90
  readonly metricsProvider: Pick<InferProvider<typeof metricsProviderCapability>, 'collectSnapshot' | 'getCached' | 'getCurrent' | 'getDiskSpace' | 'getGpuInfo' | 'getCpuTemperature' | 'getProcessStats' | 'listAddonInstances' | 'getAddonStats' | 'listNodeProcesses' | 'getLoadSeries'>;
91
91
  readonly mqttBroker: Pick<InferProvider<typeof mqttBrokerCapability>, 'listBrokers' | 'getBrokerConfig' | 'addBroker' | 'removeBroker' | 'testConnection' | 'startEmbeddedBroker' | 'stopEmbeddedBroker' | 'getStatus'>;
package/dist/index.js CHANGED
@@ -5660,11 +5660,12 @@ function describeModelVariant(models, modelId) {
5660
5660
  * for a user-supplied CLIP model: its registry row carries the same block.
5661
5661
  */
5662
5662
  /**
5663
- * `object-clip` (the historical MobileCLIP index, 512-d) or
5664
5663
  * `object-clip-<model>`. Lower-case and dash-only so the sqlite-vec table name
5665
5664
  * derived from it (`vec_` + non-word → `_`) cannot collide with another index's.
5665
+ * The bare `object-clip` — the retired MobileCLIP index — is NOT accepted (D871):
5666
+ * a model that names it is a catalog defect, not a model.
5666
5667
  */
5667
- var CLIP_VECTOR_INDEX_PATTERN = /^object-clip(-[a-z0-9][a-z0-9-]*)?$/;
5668
+ var CLIP_VECTOR_INDEX_PATTERN = /^object-clip-[a-z0-9][a-z0-9-]*$/;
5668
5669
  var ClipModelMetaSchema = zod.z.object({
5669
5670
  /** The paired text encoder's catalog id (the embedding-encoder's text catalog). */
5670
5671
  textModelId: zod.z.string().min(1),
@@ -5673,9 +5674,8 @@ var ClipModelMetaSchema = zod.z.object({
5673
5674
  /**
5674
5675
  * The `vector-store` index this model's vectors live in. ONE feature space
5675
5676
  * per index: two models share an index only when their vectors are ranked
5676
- * against each other, which for CLIP means never across families. MobileCLIP
5677
- * S1 and S2 share `object-clip` for history (separated by the row's
5678
- * `modelId`); any other model gets its own.
5677
+ * against each other, which for CLIP means never across families. Every
5678
+ * model gets its own.
5679
5679
  */
5680
5680
  vectorIndex: zod.z.string().regex(CLIP_VECTOR_INDEX_PATTERN),
5681
5681
  /**
@@ -62599,7 +62599,19 @@ var TlsStatusSchema = zod.z.object({
62599
62599
  sans: zod.z.array(zod.z.string()),
62600
62600
  caCertPem: zod.z.string().nullable(),
62601
62601
  reissueError: zod.z.string().nullable(),
62602
- restartRequired: zod.z.boolean()
62602
+ restartRequired: zod.z.boolean(),
62603
+ /** An uploaded certificate is served but no CA is kept for it and it is not publicly signed (D873). */
62604
+ caMissing: zod.z.boolean(),
62605
+ /** Does the hub's own generated CA carry a critical name constraint? `null` while it has none. */
62606
+ localCaConstrained: zod.z.boolean().nullable(),
62607
+ /** ISO time the generated CA was replaced by a constrained one; devices must re-download it. */
62608
+ caReplacedAt: zod.z.string().nullable(),
62609
+ /** The uploaded certificate kept on disk, selectable again after "Revert to generated". */
62610
+ storedUpload: zod.z.object({
62611
+ leafFingerprintSha256: zod.z.string(),
62612
+ validTo: zod.z.string(),
62613
+ hasCa: zod.z.boolean()
62614
+ }).nullable()
62603
62615
  });
62604
62616
  var localNetworkCapability = {
62605
62617
  name: "local-network",
@@ -62793,7 +62805,10 @@ var localNetworkCapability = {
62793
62805
  kind: "mutation",
62794
62806
  auth: "admin"
62795
62807
  }),
62796
- /** Replace the served material with operator-supplied PEMs. */
62808
+ /**
62809
+ * Replace the served material with operator-supplied PEMs. A certificate that does not lead
62810
+ * to a public CA must come with its CA certificate, validated and kept for Download CA (D873).
62811
+ */
62797
62812
  uploadCertificate: require_sleep.method(zod.z.object({
62798
62813
  certPem: zod.z.string().min(1),
62799
62814
  keyPem: zod.z.string().min(1),
@@ -62804,7 +62819,14 @@ var localNetworkCapability = {
62804
62819
  }),
62805
62820
  /** The local CA PEM, or empty when there is none to download. */
62806
62821
  downloadCa: require_sleep.method(zod.z.void(), zod.z.object({ pem: zod.z.string() })),
62807
- /** Drop uploaded material and return to the generated local CA. */
62822
+ /**
62823
+ * Serve the kept upload again after "Revert to generated" (D873). Refused when none is kept.
62824
+ */
62825
+ useStoredUploadedCertificate: require_sleep.method(zod.z.void(), TlsStatusSchema, {
62826
+ kind: "mutation",
62827
+ auth: "admin"
62828
+ }),
62829
+ /** Return to the generated local CA. The uploaded certificate stays stored (D873). */
62808
62830
  revertToGeneratedCertificate: require_sleep.method(zod.z.void(), TlsStatusSchema, {
62809
62831
  kind: "mutation",
62810
62832
  auth: "admin"
@@ -79773,6 +79795,12 @@ var METHOD_ACCESS_MAP = Object.freeze({
79773
79795
  addonId: null,
79774
79796
  access: "create"
79775
79797
  },
79798
+ "localNetwork.useStoredUploadedCertificate": {
79799
+ capName: "local-network",
79800
+ capScope: "system",
79801
+ addonId: null,
79802
+ access: "create"
79803
+ },
79776
79804
  "lockControl.getStatus": {
79777
79805
  capName: "lock-control",
79778
79806
  capScope: "device",
@@ -91977,6 +92005,7 @@ function createSystemProxy(api) {
91977
92005
  regenerateCertificate: (input) => dispatch("localNetwork", "regenerateCertificate", "mutation", input),
91978
92006
  uploadCertificate: (input) => dispatch("localNetwork", "uploadCertificate", "mutation", input),
91979
92007
  downloadCa: (input) => dispatch("localNetwork", "downloadCa", "query", input),
92008
+ useStoredUploadedCertificate: (input) => dispatch("localNetwork", "useStoredUploadedCertificate", "mutation", input),
91980
92009
  revertToGeneratedCertificate: (input) => dispatch("localNetwork", "revertToGeneratedCertificate", "mutation", input)
91981
92010
  },
91982
92011
  meshNetwork: {
@@ -97243,7 +97272,11 @@ var REMOVED_MODEL_IDS = {
97243
97272
  "face-embedding": ["arcface-r100", "inception-resnet-v1"],
97244
97273
  "plate-detection": ["yolov8n-plate"],
97245
97274
  "plate-ocr": ["vgg-english-g2"],
97246
- "clip-embedding": ["mobileclip-s1", "mobileclip-s2"],
97275
+ "clip-embedding": [
97276
+ "mobileclip-s0",
97277
+ "mobileclip-s1",
97278
+ "mobileclip-s2"
97279
+ ],
97247
97280
  "package-detection": ["yolov8n-package"],
97248
97281
  "bird-classifier": ["bird-classifier-aiy-edgetpu", "bird-nabirds-404"],
97249
97282
  "animal-classifier": ["animals-10"],
package/dist/index.mjs CHANGED
@@ -5659,11 +5659,12 @@ function describeModelVariant(models, modelId) {
5659
5659
  * for a user-supplied CLIP model: its registry row carries the same block.
5660
5660
  */
5661
5661
  /**
5662
- * `object-clip` (the historical MobileCLIP index, 512-d) or
5663
5662
  * `object-clip-<model>`. Lower-case and dash-only so the sqlite-vec table name
5664
5663
  * derived from it (`vec_` + non-word → `_`) cannot collide with another index's.
5664
+ * The bare `object-clip` — the retired MobileCLIP index — is NOT accepted (D871):
5665
+ * a model that names it is a catalog defect, not a model.
5665
5666
  */
5666
- var CLIP_VECTOR_INDEX_PATTERN = /^object-clip(-[a-z0-9][a-z0-9-]*)?$/;
5667
+ var CLIP_VECTOR_INDEX_PATTERN = /^object-clip-[a-z0-9][a-z0-9-]*$/;
5667
5668
  var ClipModelMetaSchema = z.object({
5668
5669
  /** The paired text encoder's catalog id (the embedding-encoder's text catalog). */
5669
5670
  textModelId: z.string().min(1),
@@ -5672,9 +5673,8 @@ var ClipModelMetaSchema = z.object({
5672
5673
  /**
5673
5674
  * The `vector-store` index this model's vectors live in. ONE feature space
5674
5675
  * per index: two models share an index only when their vectors are ranked
5675
- * against each other, which for CLIP means never across families. MobileCLIP
5676
- * S1 and S2 share `object-clip` for history (separated by the row's
5677
- * `modelId`); any other model gets its own.
5676
+ * against each other, which for CLIP means never across families. Every
5677
+ * model gets its own.
5678
5678
  */
5679
5679
  vectorIndex: z.string().regex(CLIP_VECTOR_INDEX_PATTERN),
5680
5680
  /**
@@ -62598,7 +62598,19 @@ var TlsStatusSchema = z.object({
62598
62598
  sans: z.array(z.string()),
62599
62599
  caCertPem: z.string().nullable(),
62600
62600
  reissueError: z.string().nullable(),
62601
- restartRequired: z.boolean()
62601
+ restartRequired: z.boolean(),
62602
+ /** An uploaded certificate is served but no CA is kept for it and it is not publicly signed (D873). */
62603
+ caMissing: z.boolean(),
62604
+ /** Does the hub's own generated CA carry a critical name constraint? `null` while it has none. */
62605
+ localCaConstrained: z.boolean().nullable(),
62606
+ /** ISO time the generated CA was replaced by a constrained one; devices must re-download it. */
62607
+ caReplacedAt: z.string().nullable(),
62608
+ /** The uploaded certificate kept on disk, selectable again after "Revert to generated". */
62609
+ storedUpload: z.object({
62610
+ leafFingerprintSha256: z.string(),
62611
+ validTo: z.string(),
62612
+ hasCa: z.boolean()
62613
+ }).nullable()
62602
62614
  });
62603
62615
  var localNetworkCapability = {
62604
62616
  name: "local-network",
@@ -62792,7 +62804,10 @@ var localNetworkCapability = {
62792
62804
  kind: "mutation",
62793
62805
  auth: "admin"
62794
62806
  }),
62795
- /** Replace the served material with operator-supplied PEMs. */
62807
+ /**
62808
+ * Replace the served material with operator-supplied PEMs. A certificate that does not lead
62809
+ * to a public CA must come with its CA certificate, validated and kept for Download CA (D873).
62810
+ */
62796
62811
  uploadCertificate: method(z.object({
62797
62812
  certPem: z.string().min(1),
62798
62813
  keyPem: z.string().min(1),
@@ -62803,7 +62818,14 @@ var localNetworkCapability = {
62803
62818
  }),
62804
62819
  /** The local CA PEM, or empty when there is none to download. */
62805
62820
  downloadCa: method(z.void(), z.object({ pem: z.string() })),
62806
- /** Drop uploaded material and return to the generated local CA. */
62821
+ /**
62822
+ * Serve the kept upload again after "Revert to generated" (D873). Refused when none is kept.
62823
+ */
62824
+ useStoredUploadedCertificate: method(z.void(), TlsStatusSchema, {
62825
+ kind: "mutation",
62826
+ auth: "admin"
62827
+ }),
62828
+ /** Return to the generated local CA. The uploaded certificate stays stored (D873). */
62807
62829
  revertToGeneratedCertificate: method(z.void(), TlsStatusSchema, {
62808
62830
  kind: "mutation",
62809
62831
  auth: "admin"
@@ -79772,6 +79794,12 @@ var METHOD_ACCESS_MAP = Object.freeze({
79772
79794
  addonId: null,
79773
79795
  access: "create"
79774
79796
  },
79797
+ "localNetwork.useStoredUploadedCertificate": {
79798
+ capName: "local-network",
79799
+ capScope: "system",
79800
+ addonId: null,
79801
+ access: "create"
79802
+ },
79775
79803
  "lockControl.getStatus": {
79776
79804
  capName: "lock-control",
79777
79805
  capScope: "device",
@@ -91976,6 +92004,7 @@ function createSystemProxy(api) {
91976
92004
  regenerateCertificate: (input) => dispatch("localNetwork", "regenerateCertificate", "mutation", input),
91977
92005
  uploadCertificate: (input) => dispatch("localNetwork", "uploadCertificate", "mutation", input),
91978
92006
  downloadCa: (input) => dispatch("localNetwork", "downloadCa", "query", input),
92007
+ useStoredUploadedCertificate: (input) => dispatch("localNetwork", "useStoredUploadedCertificate", "mutation", input),
91979
92008
  revertToGeneratedCertificate: (input) => dispatch("localNetwork", "revertToGeneratedCertificate", "mutation", input)
91980
92009
  },
91981
92010
  meshNetwork: {
@@ -97242,7 +97271,11 @@ var REMOVED_MODEL_IDS = {
97242
97271
  "face-embedding": ["arcface-r100", "inception-resnet-v1"],
97243
97272
  "plate-detection": ["yolov8n-plate"],
97244
97273
  "plate-ocr": ["vgg-english-g2"],
97245
- "clip-embedding": ["mobileclip-s1", "mobileclip-s2"],
97274
+ "clip-embedding": [
97275
+ "mobileclip-s0",
97276
+ "mobileclip-s1",
97277
+ "mobileclip-s2"
97278
+ ],
97246
97279
  "package-detection": ["yolov8n-package"],
97247
97280
  "bird-classifier": ["bird-classifier-aiy-edgetpu", "bird-nabirds-404"],
97248
97281
  "animal-classifier": ["animals-10"],
@@ -20,9 +20,10 @@
20
20
  */
21
21
  import { z } from 'zod';
22
22
  /**
23
- * `object-clip` (the historical MobileCLIP index, 512-d) or
24
23
  * `object-clip-<model>`. Lower-case and dash-only so the sqlite-vec table name
25
24
  * derived from it (`vec_` + non-word → `_`) cannot collide with another index's.
25
+ * The bare `object-clip` — the retired MobileCLIP index — is NOT accepted (D871):
26
+ * a model that names it is a catalog defect, not a model.
26
27
  */
27
28
  export declare const CLIP_VECTOR_INDEX_PATTERN: RegExp;
28
29
  export declare const ClipModelMetaSchema: z.ZodObject<{
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@camstack/types",
3
- "version": "1.2.374",
3
+ "version": "1.2.375",
4
4
  "description": "Shared types, interfaces, and model catalogs for the CamStack detection ecosystem",
5
5
  "keywords": [
6
6
  "camstack",