@camstack/types 0.1.30 → 0.1.31

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (65) hide show
  1. package/dist/addon/build-addon-route-provider.d.ts +55 -0
  2. package/dist/addon/build-addon-route-provider.d.ts.map +1 -0
  3. package/dist/capabilities/addon-routes.cap.d.ts +64 -0
  4. package/dist/capabilities/addon-routes.cap.d.ts.map +1 -1
  5. package/dist/capabilities/auth-provider.cap.d.ts +4 -4
  6. package/dist/capabilities/auth-provider.cap.d.ts.map +1 -1
  7. package/dist/capabilities/authentication.cap.d.ts +4 -0
  8. package/dist/capabilities/authentication.cap.d.ts.map +1 -1
  9. package/dist/capabilities/home-assistant.cap.d.ts +138 -0
  10. package/dist/capabilities/home-assistant.cap.d.ts.map +1 -0
  11. package/dist/capabilities/index.d.ts +16 -1
  12. package/dist/capabilities/index.d.ts.map +1 -1
  13. package/dist/capabilities/mesh-network.cap.d.ts +18 -0
  14. package/dist/capabilities/mesh-network.cap.d.ts.map +1 -1
  15. package/dist/capabilities/mqtt-provider.cap.d.ts +91 -0
  16. package/dist/capabilities/mqtt-provider.cap.d.ts.map +1 -0
  17. package/dist/capabilities/settings-store.cap.d.ts +8 -2
  18. package/dist/capabilities/settings-store.cap.d.ts.map +1 -1
  19. package/dist/capabilities/smtp-provider.cap.d.ts +62 -0
  20. package/dist/capabilities/smtp-provider.cap.d.ts.map +1 -0
  21. package/dist/capabilities/sso-bridge.cap.d.ts +58 -0
  22. package/dist/capabilities/sso-bridge.cap.d.ts.map +1 -0
  23. package/dist/capabilities/user-management.cap.d.ts +513 -184
  24. package/dist/capabilities/user-management.cap.d.ts.map +1 -1
  25. package/dist/capabilities/user-passkeys.cap.d.ts +92 -0
  26. package/dist/capabilities/user-passkeys.cap.d.ts.map +1 -0
  27. package/dist/enums/event-category.d.ts +8 -1
  28. package/dist/enums/event-category.d.ts.map +1 -1
  29. package/dist/generated/addon-api.d.ts +472 -86
  30. package/dist/generated/addon-api.d.ts.map +1 -1
  31. package/dist/generated/capability-router-map.d.ts +19 -4
  32. package/dist/generated/capability-router-map.d.ts.map +1 -1
  33. package/dist/generated/method-access-map.d.ts +6 -1
  34. package/dist/generated/method-access-map.d.ts.map +1 -1
  35. package/dist/generated/scope-presets.d.ts +17 -0
  36. package/dist/generated/scope-presets.d.ts.map +1 -0
  37. package/dist/generated/system-proxy.d.ts +2 -2
  38. package/dist/generated/system-proxy.d.ts.map +1 -1
  39. package/dist/{index-s8uJNgNs.js → index-BKifir_y.js} +557 -48
  40. package/dist/index-BKifir_y.js.map +1 -0
  41. package/dist/{index-DVKPWMwv.mjs → index-BKnvgAep.mjs} +852 -343
  42. package/dist/index-BKnvgAep.mjs.map +1 -0
  43. package/dist/index.d.ts +7 -3
  44. package/dist/index.d.ts.map +1 -1
  45. package/dist/index.js +781 -498
  46. package/dist/index.js.map +1 -1
  47. package/dist/index.mjs +1038 -755
  48. package/dist/index.mjs.map +1 -1
  49. package/dist/interfaces/addon-routes.d.ts +8 -2
  50. package/dist/interfaces/addon-routes.d.ts.map +1 -1
  51. package/dist/interfaces/api-responses.d.ts +2 -3
  52. package/dist/interfaces/api-responses.d.ts.map +1 -1
  53. package/dist/interfaces/auth.d.ts +14 -11
  54. package/dist/interfaces/auth.d.ts.map +1 -1
  55. package/dist/interfaces/storage.d.ts +15 -2
  56. package/dist/interfaces/storage.d.ts.map +1 -1
  57. package/dist/node.js +1 -1
  58. package/dist/node.mjs +1 -1
  59. package/dist/schemas/auth-records.d.ts +105 -50
  60. package/dist/schemas/auth-records.d.ts.map +1 -1
  61. package/package.json +1 -1
  62. package/dist/index-DVKPWMwv.mjs.map +0 -1
  63. package/dist/index-s8uJNgNs.js.map +0 -1
  64. package/dist/interfaces/auth-provider.d.ts +0 -39
  65. package/dist/interfaces/auth-provider.d.ts.map +0 -1
@@ -519,7 +519,9 @@ export type AppRouter = import("@trpc/server/unstable-core-do-not-import").Route
519
519
  hasRedirectFlow: boolean;
520
520
  hasCredentialFlow: boolean;
521
521
  enabled: boolean;
522
+ instanceId?: string | undefined;
522
523
  icon?: string | undefined;
524
+ kind?: string | undefined;
523
525
  status?: string | undefined;
524
526
  }[];
525
527
  meta: object;
@@ -747,7 +749,7 @@ export type AppRouter = import("@trpc/server/unstable-core-do-not-import").Route
747
749
  collection: string;
748
750
  columns: readonly {
749
751
  name: string;
750
- type: "TEXT" | "INTEGER" | "REAL" | "JSON";
752
+ type: "TEXT" | "INTEGER" | "REAL" | "JSON" | "BOOLEAN";
751
753
  primaryKey?: boolean | undefined;
752
754
  notNull?: boolean | undefined;
753
755
  unique?: boolean | undefined;
@@ -6434,8 +6436,25 @@ export type AppRouter = import("@trpc/server/unstable-core-do-not-import").Route
6434
6436
  user: {
6435
6437
  id: string;
6436
6438
  username: string;
6437
- role: "admin" | "viewer" | "agent" | "scoped" | "super_admin";
6439
+ isAdmin: boolean;
6438
6440
  };
6441
+ requiresTotp?: boolean | undefined;
6442
+ };
6443
+ meta: object;
6444
+ }>;
6445
+ loginVerifyTotp: import("@trpc/server/unstable-core-do-not-import").MutationProcedure<{
6446
+ input: {
6447
+ challengeToken: string;
6448
+ code: string;
6449
+ };
6450
+ output: {
6451
+ token: string;
6452
+ user: {
6453
+ id: string;
6454
+ username: string;
6455
+ isAdmin: boolean;
6456
+ };
6457
+ requiresTotp?: boolean | undefined;
6439
6458
  };
6440
6459
  meta: object;
6441
6460
  }>;
@@ -6444,9 +6463,9 @@ export type AppRouter = import("@trpc/server/unstable-core-do-not-import").Route
6444
6463
  output: {
6445
6464
  id: string;
6446
6465
  username: string;
6447
- role: "admin" | "viewer" | "agent" | "scoped" | "super_admin";
6466
+ isAdmin: boolean;
6448
6467
  permissions: {
6449
- role: "admin" | "viewer" | "agent" | "scoped" | "super_admin";
6468
+ isAdmin: boolean;
6450
6469
  allowedProviders: string[] | "*";
6451
6470
  allowedDevices: Record<string, unknown>;
6452
6471
  };
@@ -6486,14 +6505,26 @@ export type AppRouter = import("@trpc/server/unstable-core-do-not-import").Route
6486
6505
  output: {
6487
6506
  id: string;
6488
6507
  username: string;
6489
- role: "admin" | "viewer" | "agent" | "scoped";
6508
+ isAdmin: boolean;
6490
6509
  allowedProviders: string[] | "*";
6491
6510
  allowedDevices: Record<string, string[] | "*">;
6492
- scopes: {
6493
- type: "addon" | "capability";
6511
+ scopes: ({
6512
+ type: "category";
6513
+ target: "system" | "device";
6514
+ access: ("view" | "create" | "delete")[];
6515
+ } | {
6516
+ type: "capability";
6494
6517
  target: string;
6495
6518
  access: ("view" | "create" | "delete")[];
6496
- }[];
6519
+ } | {
6520
+ type: "addon";
6521
+ target: string;
6522
+ access: ("view" | "create" | "delete")[];
6523
+ } | {
6524
+ type: "device";
6525
+ targets: string[];
6526
+ access: ("view" | "create" | "delete")[];
6527
+ })[];
6497
6528
  createdAt: number;
6498
6529
  updatedAt: number;
6499
6530
  }[];
@@ -6504,26 +6535,50 @@ export type AppRouter = import("@trpc/server/unstable-core-do-not-import").Route
6504
6535
  [x: string]: unknown;
6505
6536
  username: string;
6506
6537
  password: string;
6507
- role: "admin" | "viewer" | "agent" | "scoped";
6538
+ isAdmin?: boolean | undefined;
6508
6539
  allowedProviders?: string[] | "*" | undefined;
6509
6540
  allowedDevices?: Record<string, string[] | "*"> | undefined;
6510
- scopes?: {
6511
- type: "addon" | "capability";
6541
+ scopes?: ({
6542
+ type: "category";
6543
+ target: "system" | "device";
6544
+ access: ("view" | "create" | "delete")[];
6545
+ } | {
6546
+ type: "capability";
6512
6547
  target: string;
6513
6548
  access: ("view" | "create" | "delete")[];
6514
- }[] | undefined;
6549
+ } | {
6550
+ type: "addon";
6551
+ target: string;
6552
+ access: ("view" | "create" | "delete")[];
6553
+ } | {
6554
+ type: "device";
6555
+ targets: string[];
6556
+ access: ("view" | "create" | "delete")[];
6557
+ })[] | undefined;
6515
6558
  };
6516
6559
  output: {
6517
6560
  id: string;
6518
6561
  username: string;
6519
- role: "admin" | "viewer" | "agent" | "scoped";
6562
+ isAdmin: boolean;
6520
6563
  allowedProviders: string[] | "*";
6521
6564
  allowedDevices: Record<string, string[] | "*">;
6522
- scopes: {
6523
- type: "addon" | "capability";
6565
+ scopes: ({
6566
+ type: "category";
6567
+ target: "system" | "device";
6568
+ access: ("view" | "create" | "delete")[];
6569
+ } | {
6570
+ type: "capability";
6524
6571
  target: string;
6525
6572
  access: ("view" | "create" | "delete")[];
6526
- }[];
6573
+ } | {
6574
+ type: "addon";
6575
+ target: string;
6576
+ access: ("view" | "create" | "delete")[];
6577
+ } | {
6578
+ type: "device";
6579
+ targets: string[];
6580
+ access: ("view" | "create" | "delete")[];
6581
+ })[];
6527
6582
  createdAt: number;
6528
6583
  updatedAt: number;
6529
6584
  };
@@ -6533,14 +6588,26 @@ export type AppRouter = import("@trpc/server/unstable-core-do-not-import").Route
6533
6588
  input: {
6534
6589
  [x: string]: unknown;
6535
6590
  id: string;
6536
- role?: "admin" | "viewer" | "agent" | "scoped" | undefined;
6591
+ isAdmin?: boolean | undefined;
6537
6592
  allowedProviders?: string[] | "*" | undefined;
6538
6593
  allowedDevices?: Record<string, string[] | "*"> | undefined;
6539
- scopes?: {
6540
- type: "addon" | "capability";
6594
+ scopes?: ({
6595
+ type: "category";
6596
+ target: "system" | "device";
6597
+ access: ("view" | "create" | "delete")[];
6598
+ } | {
6599
+ type: "capability";
6541
6600
  target: string;
6542
6601
  access: ("view" | "create" | "delete")[];
6543
- }[] | undefined;
6602
+ } | {
6603
+ type: "addon";
6604
+ target: string;
6605
+ access: ("view" | "create" | "delete")[];
6606
+ } | {
6607
+ type: "device";
6608
+ targets: string[];
6609
+ access: ("view" | "create" | "delete")[];
6610
+ })[] | undefined;
6544
6611
  };
6545
6612
  output: {
6546
6613
  success: true;
@@ -6572,11 +6639,23 @@ export type AppRouter = import("@trpc/server/unstable-core-do-not-import").Route
6572
6639
  input: {
6573
6640
  [x: string]: unknown;
6574
6641
  userId: string;
6575
- scopes: {
6576
- type: "addon" | "capability";
6642
+ scopes: ({
6643
+ type: "category";
6644
+ target: "system" | "device";
6645
+ access: ("view" | "create" | "delete")[];
6646
+ } | {
6647
+ type: "capability";
6577
6648
  target: string;
6578
6649
  access: ("view" | "create" | "delete")[];
6579
- }[];
6650
+ } | {
6651
+ type: "addon";
6652
+ target: string;
6653
+ access: ("view" | "create" | "delete")[];
6654
+ } | {
6655
+ type: "device";
6656
+ targets: string[];
6657
+ access: ("view" | "create" | "delete")[];
6658
+ })[];
6580
6659
  };
6581
6660
  output: {
6582
6661
  success: true;
@@ -6592,14 +6671,26 @@ export type AppRouter = import("@trpc/server/unstable-core-do-not-import").Route
6592
6671
  output: {
6593
6672
  id: string;
6594
6673
  username: string;
6595
- role: "admin" | "viewer" | "agent" | "scoped";
6674
+ isAdmin: boolean;
6596
6675
  allowedProviders: string[] | "*";
6597
6676
  allowedDevices: Record<string, string[] | "*">;
6598
- scopes: {
6599
- type: "addon" | "capability";
6677
+ scopes: ({
6678
+ type: "category";
6679
+ target: "system" | "device";
6680
+ access: ("view" | "create" | "delete")[];
6681
+ } | {
6682
+ type: "capability";
6600
6683
  target: string;
6601
6684
  access: ("view" | "create" | "delete")[];
6602
- }[];
6685
+ } | {
6686
+ type: "addon";
6687
+ target: string;
6688
+ access: ("view" | "create" | "delete")[];
6689
+ } | {
6690
+ type: "device";
6691
+ targets: string[];
6692
+ access: ("view" | "create" | "delete")[];
6693
+ })[];
6603
6694
  createdAt: number;
6604
6695
  updatedAt: number;
6605
6696
  passwordHash: string;
@@ -6613,7 +6704,7 @@ export type AppRouter = import("@trpc/server/unstable-core-do-not-import").Route
6613
6704
  output: {
6614
6705
  id: string;
6615
6706
  label: string;
6616
- role: "admin" | "viewer" | "agent" | "scoped";
6707
+ isAdmin: boolean;
6617
6708
  tokenPrefix: string;
6618
6709
  createdAt: number;
6619
6710
  allowedProviders?: string[] | "*" | undefined;
@@ -6626,7 +6717,7 @@ export type AppRouter = import("@trpc/server/unstable-core-do-not-import").Route
6626
6717
  input: {
6627
6718
  [x: string]: unknown;
6628
6719
  label: string;
6629
- role: "admin" | "viewer" | "agent" | "scoped";
6720
+ isAdmin?: boolean | undefined;
6630
6721
  allowedProviders?: string[] | "*" | undefined;
6631
6722
  allowedDevices?: Record<string, string[] | "*"> | undefined;
6632
6723
  };
@@ -6635,7 +6726,7 @@ export type AppRouter = import("@trpc/server/unstable-core-do-not-import").Route
6635
6726
  record: {
6636
6727
  id: string;
6637
6728
  label: string;
6638
- role: "admin" | "viewer" | "agent" | "scoped";
6729
+ isAdmin: boolean;
6639
6730
  tokenPrefix: string;
6640
6731
  createdAt: number;
6641
6732
  allowedProviders?: string[] | "*" | undefined;
@@ -6663,7 +6754,7 @@ export type AppRouter = import("@trpc/server/unstable-core-do-not-import").Route
6663
6754
  output: {
6664
6755
  id: string;
6665
6756
  label: string;
6666
- role: "admin" | "viewer" | "agent" | "scoped";
6757
+ isAdmin: boolean;
6667
6758
  tokenPrefix: string;
6668
6759
  createdAt: number;
6669
6760
  allowedProviders?: string[] | "*" | undefined;
@@ -6677,11 +6768,23 @@ export type AppRouter = import("@trpc/server/unstable-core-do-not-import").Route
6677
6768
  [x: string]: unknown;
6678
6769
  userId: string;
6679
6770
  name: string;
6680
- scopes: {
6681
- type: "addon" | "capability";
6771
+ scopes: ({
6772
+ type: "category";
6773
+ target: "system" | "device";
6774
+ access: ("view" | "create" | "delete")[];
6775
+ } | {
6776
+ type: "capability";
6682
6777
  target: string;
6683
6778
  access: ("view" | "create" | "delete")[];
6684
- }[];
6779
+ } | {
6780
+ type: "addon";
6781
+ target: string;
6782
+ access: ("view" | "create" | "delete")[];
6783
+ } | {
6784
+ type: "device";
6785
+ targets: string[];
6786
+ access: ("view" | "create" | "delete")[];
6787
+ })[];
6685
6788
  expiresAt?: number | undefined;
6686
6789
  };
6687
6790
  output: {
@@ -6691,11 +6794,23 @@ export type AppRouter = import("@trpc/server/unstable-core-do-not-import").Route
6691
6794
  userId: string;
6692
6795
  name: string;
6693
6796
  tokenPrefix: string;
6694
- scopes: {
6695
- type: "addon" | "capability";
6797
+ scopes: ({
6798
+ type: "category";
6799
+ target: "system" | "device";
6800
+ access: ("view" | "create" | "delete")[];
6801
+ } | {
6802
+ type: "capability";
6696
6803
  target: string;
6697
6804
  access: ("view" | "create" | "delete")[];
6698
- }[];
6805
+ } | {
6806
+ type: "addon";
6807
+ target: string;
6808
+ access: ("view" | "create" | "delete")[];
6809
+ } | {
6810
+ type: "device";
6811
+ targets: string[];
6812
+ access: ("view" | "create" | "delete")[];
6813
+ })[];
6699
6814
  createdAt: number;
6700
6815
  expiresAt?: number | null | undefined;
6701
6816
  lastUsedAt?: number | null | undefined;
@@ -6723,11 +6838,23 @@ export type AppRouter = import("@trpc/server/unstable-core-do-not-import").Route
6723
6838
  userId: string;
6724
6839
  name: string;
6725
6840
  tokenPrefix: string;
6726
- scopes: {
6727
- type: "addon" | "capability";
6841
+ scopes: ({
6842
+ type: "category";
6843
+ target: "system" | "device";
6844
+ access: ("view" | "create" | "delete")[];
6845
+ } | {
6846
+ type: "capability";
6728
6847
  target: string;
6729
6848
  access: ("view" | "create" | "delete")[];
6730
- }[];
6849
+ } | {
6850
+ type: "addon";
6851
+ target: string;
6852
+ access: ("view" | "create" | "delete")[];
6853
+ } | {
6854
+ type: "device";
6855
+ targets: string[];
6856
+ access: ("view" | "create" | "delete")[];
6857
+ })[];
6731
6858
  createdAt: number;
6732
6859
  expiresAt?: number | null | undefined;
6733
6860
  lastUsedAt?: number | null | undefined;
@@ -6744,17 +6871,83 @@ export type AppRouter = import("@trpc/server/unstable-core-do-not-import").Route
6744
6871
  userId: string;
6745
6872
  name: string;
6746
6873
  tokenPrefix: string;
6747
- scopes: {
6748
- type: "addon" | "capability";
6874
+ scopes: ({
6875
+ type: "category";
6876
+ target: "system" | "device";
6877
+ access: ("view" | "create" | "delete")[];
6878
+ } | {
6879
+ type: "capability";
6749
6880
  target: string;
6750
6881
  access: ("view" | "create" | "delete")[];
6751
- }[];
6882
+ } | {
6883
+ type: "addon";
6884
+ target: string;
6885
+ access: ("view" | "create" | "delete")[];
6886
+ } | {
6887
+ type: "device";
6888
+ targets: string[];
6889
+ access: ("view" | "create" | "delete")[];
6890
+ })[];
6752
6891
  createdAt: number;
6753
6892
  expiresAt?: number | null | undefined;
6754
6893
  lastUsedAt?: number | null | undefined;
6755
6894
  }[];
6756
6895
  meta: object;
6757
6896
  }>;
6897
+ setupTotp: import("@trpc/server/unstable-core-do-not-import").MutationProcedure<{
6898
+ input: {
6899
+ [x: string]: unknown;
6900
+ userId: string;
6901
+ };
6902
+ output: {
6903
+ secret: string;
6904
+ otpauthUrl: string;
6905
+ };
6906
+ meta: object;
6907
+ }>;
6908
+ confirmTotp: import("@trpc/server/unstable-core-do-not-import").MutationProcedure<{
6909
+ input: {
6910
+ [x: string]: unknown;
6911
+ userId: string;
6912
+ code: string;
6913
+ };
6914
+ output: {
6915
+ success: true;
6916
+ };
6917
+ meta: object;
6918
+ }>;
6919
+ disableTotp: import("@trpc/server/unstable-core-do-not-import").MutationProcedure<{
6920
+ input: {
6921
+ [x: string]: unknown;
6922
+ userId: string;
6923
+ };
6924
+ output: {
6925
+ success: true;
6926
+ };
6927
+ meta: object;
6928
+ }>;
6929
+ getTotpStatus: import("@trpc/server/unstable-core-do-not-import").QueryProcedure<{
6930
+ input: {
6931
+ [x: string]: unknown;
6932
+ userId: string;
6933
+ };
6934
+ output: {
6935
+ enabled: boolean;
6936
+ confirmedAt: number | null;
6937
+ };
6938
+ meta: object;
6939
+ }>;
6940
+ verifyTotp: import("@trpc/server/unstable-core-do-not-import").MutationProcedure<{
6941
+ input: {
6942
+ [x: string]: unknown;
6943
+ userId: string;
6944
+ code: string;
6945
+ };
6946
+ output: {
6947
+ valid: boolean;
6948
+ };
6949
+ meta: object;
6950
+ }>;
6758
6951
  }>>;
6759
6952
  metricsProvider: import("@trpc/server/unstable-core-do-not-import").BuiltRouter<{
6760
6953
  ctx: import("@camstack/types").TrpcContext;
@@ -8734,7 +8927,9 @@ export type AppRouter = import("@trpc/server/unstable-core-do-not-import").Route
8734
8927
  hasRedirectFlow: boolean;
8735
8928
  hasCredentialFlow: boolean;
8736
8929
  enabled: boolean;
8930
+ instanceId?: string | undefined;
8737
8931
  icon?: string | undefined;
8932
+ kind?: string | undefined;
8738
8933
  status?: string | undefined;
8739
8934
  }[];
8740
8935
  meta: object;
@@ -8962,7 +9157,7 @@ export type AppRouter = import("@trpc/server/unstable-core-do-not-import").Route
8962
9157
  collection: string;
8963
9158
  columns: readonly {
8964
9159
  name: string;
8965
- type: "TEXT" | "INTEGER" | "REAL" | "JSON";
9160
+ type: "TEXT" | "INTEGER" | "REAL" | "JSON" | "BOOLEAN";
8966
9161
  primaryKey?: boolean | undefined;
8967
9162
  notNull?: boolean | undefined;
8968
9163
  unique?: boolean | undefined;
@@ -14649,8 +14844,25 @@ export type AppRouter = import("@trpc/server/unstable-core-do-not-import").Route
14649
14844
  user: {
14650
14845
  id: string;
14651
14846
  username: string;
14652
- role: "admin" | "viewer" | "agent" | "scoped" | "super_admin";
14847
+ isAdmin: boolean;
14653
14848
  };
14849
+ requiresTotp?: boolean | undefined;
14850
+ };
14851
+ meta: object;
14852
+ }>;
14853
+ loginVerifyTotp: import("@trpc/server/unstable-core-do-not-import").MutationProcedure<{
14854
+ input: {
14855
+ challengeToken: string;
14856
+ code: string;
14857
+ };
14858
+ output: {
14859
+ token: string;
14860
+ user: {
14861
+ id: string;
14862
+ username: string;
14863
+ isAdmin: boolean;
14864
+ };
14865
+ requiresTotp?: boolean | undefined;
14654
14866
  };
14655
14867
  meta: object;
14656
14868
  }>;
@@ -14659,9 +14871,9 @@ export type AppRouter = import("@trpc/server/unstable-core-do-not-import").Route
14659
14871
  output: {
14660
14872
  id: string;
14661
14873
  username: string;
14662
- role: "admin" | "viewer" | "agent" | "scoped" | "super_admin";
14874
+ isAdmin: boolean;
14663
14875
  permissions: {
14664
- role: "admin" | "viewer" | "agent" | "scoped" | "super_admin";
14876
+ isAdmin: boolean;
14665
14877
  allowedProviders: string[] | "*";
14666
14878
  allowedDevices: Record<string, unknown>;
14667
14879
  };
@@ -14701,14 +14913,26 @@ export type AppRouter = import("@trpc/server/unstable-core-do-not-import").Route
14701
14913
  output: {
14702
14914
  id: string;
14703
14915
  username: string;
14704
- role: "admin" | "viewer" | "agent" | "scoped";
14916
+ isAdmin: boolean;
14705
14917
  allowedProviders: string[] | "*";
14706
14918
  allowedDevices: Record<string, string[] | "*">;
14707
- scopes: {
14708
- type: "addon" | "capability";
14919
+ scopes: ({
14920
+ type: "category";
14921
+ target: "system" | "device";
14922
+ access: ("view" | "create" | "delete")[];
14923
+ } | {
14924
+ type: "capability";
14709
14925
  target: string;
14710
14926
  access: ("view" | "create" | "delete")[];
14711
- }[];
14927
+ } | {
14928
+ type: "addon";
14929
+ target: string;
14930
+ access: ("view" | "create" | "delete")[];
14931
+ } | {
14932
+ type: "device";
14933
+ targets: string[];
14934
+ access: ("view" | "create" | "delete")[];
14935
+ })[];
14712
14936
  createdAt: number;
14713
14937
  updatedAt: number;
14714
14938
  }[];
@@ -14719,26 +14943,50 @@ export type AppRouter = import("@trpc/server/unstable-core-do-not-import").Route
14719
14943
  [x: string]: unknown;
14720
14944
  username: string;
14721
14945
  password: string;
14722
- role: "admin" | "viewer" | "agent" | "scoped";
14946
+ isAdmin?: boolean | undefined;
14723
14947
  allowedProviders?: string[] | "*" | undefined;
14724
14948
  allowedDevices?: Record<string, string[] | "*"> | undefined;
14725
- scopes?: {
14726
- type: "addon" | "capability";
14949
+ scopes?: ({
14950
+ type: "category";
14951
+ target: "system" | "device";
14952
+ access: ("view" | "create" | "delete")[];
14953
+ } | {
14954
+ type: "capability";
14727
14955
  target: string;
14728
14956
  access: ("view" | "create" | "delete")[];
14729
- }[] | undefined;
14957
+ } | {
14958
+ type: "addon";
14959
+ target: string;
14960
+ access: ("view" | "create" | "delete")[];
14961
+ } | {
14962
+ type: "device";
14963
+ targets: string[];
14964
+ access: ("view" | "create" | "delete")[];
14965
+ })[] | undefined;
14730
14966
  };
14731
14967
  output: {
14732
14968
  id: string;
14733
14969
  username: string;
14734
- role: "admin" | "viewer" | "agent" | "scoped";
14970
+ isAdmin: boolean;
14735
14971
  allowedProviders: string[] | "*";
14736
14972
  allowedDevices: Record<string, string[] | "*">;
14737
- scopes: {
14738
- type: "addon" | "capability";
14973
+ scopes: ({
14974
+ type: "category";
14975
+ target: "system" | "device";
14976
+ access: ("view" | "create" | "delete")[];
14977
+ } | {
14978
+ type: "capability";
14739
14979
  target: string;
14740
14980
  access: ("view" | "create" | "delete")[];
14741
- }[];
14981
+ } | {
14982
+ type: "addon";
14983
+ target: string;
14984
+ access: ("view" | "create" | "delete")[];
14985
+ } | {
14986
+ type: "device";
14987
+ targets: string[];
14988
+ access: ("view" | "create" | "delete")[];
14989
+ })[];
14742
14990
  createdAt: number;
14743
14991
  updatedAt: number;
14744
14992
  };
@@ -14748,14 +14996,26 @@ export type AppRouter = import("@trpc/server/unstable-core-do-not-import").Route
14748
14996
  input: {
14749
14997
  [x: string]: unknown;
14750
14998
  id: string;
14751
- role?: "admin" | "viewer" | "agent" | "scoped" | undefined;
14999
+ isAdmin?: boolean | undefined;
14752
15000
  allowedProviders?: string[] | "*" | undefined;
14753
15001
  allowedDevices?: Record<string, string[] | "*"> | undefined;
14754
- scopes?: {
14755
- type: "addon" | "capability";
15002
+ scopes?: ({
15003
+ type: "category";
15004
+ target: "system" | "device";
15005
+ access: ("view" | "create" | "delete")[];
15006
+ } | {
15007
+ type: "capability";
14756
15008
  target: string;
14757
15009
  access: ("view" | "create" | "delete")[];
14758
- }[] | undefined;
15010
+ } | {
15011
+ type: "addon";
15012
+ target: string;
15013
+ access: ("view" | "create" | "delete")[];
15014
+ } | {
15015
+ type: "device";
15016
+ targets: string[];
15017
+ access: ("view" | "create" | "delete")[];
15018
+ })[] | undefined;
14759
15019
  };
14760
15020
  output: {
14761
15021
  success: true;
@@ -14787,11 +15047,23 @@ export type AppRouter = import("@trpc/server/unstable-core-do-not-import").Route
14787
15047
  input: {
14788
15048
  [x: string]: unknown;
14789
15049
  userId: string;
14790
- scopes: {
14791
- type: "addon" | "capability";
15050
+ scopes: ({
15051
+ type: "category";
15052
+ target: "system" | "device";
15053
+ access: ("view" | "create" | "delete")[];
15054
+ } | {
15055
+ type: "capability";
14792
15056
  target: string;
14793
15057
  access: ("view" | "create" | "delete")[];
14794
- }[];
15058
+ } | {
15059
+ type: "addon";
15060
+ target: string;
15061
+ access: ("view" | "create" | "delete")[];
15062
+ } | {
15063
+ type: "device";
15064
+ targets: string[];
15065
+ access: ("view" | "create" | "delete")[];
15066
+ })[];
14795
15067
  };
14796
15068
  output: {
14797
15069
  success: true;
@@ -14807,14 +15079,26 @@ export type AppRouter = import("@trpc/server/unstable-core-do-not-import").Route
14807
15079
  output: {
14808
15080
  id: string;
14809
15081
  username: string;
14810
- role: "admin" | "viewer" | "agent" | "scoped";
15082
+ isAdmin: boolean;
14811
15083
  allowedProviders: string[] | "*";
14812
15084
  allowedDevices: Record<string, string[] | "*">;
14813
- scopes: {
14814
- type: "addon" | "capability";
15085
+ scopes: ({
15086
+ type: "category";
15087
+ target: "system" | "device";
15088
+ access: ("view" | "create" | "delete")[];
15089
+ } | {
15090
+ type: "capability";
14815
15091
  target: string;
14816
15092
  access: ("view" | "create" | "delete")[];
14817
- }[];
15093
+ } | {
15094
+ type: "addon";
15095
+ target: string;
15096
+ access: ("view" | "create" | "delete")[];
15097
+ } | {
15098
+ type: "device";
15099
+ targets: string[];
15100
+ access: ("view" | "create" | "delete")[];
15101
+ })[];
14818
15102
  createdAt: number;
14819
15103
  updatedAt: number;
14820
15104
  passwordHash: string;
@@ -14828,7 +15112,7 @@ export type AppRouter = import("@trpc/server/unstable-core-do-not-import").Route
14828
15112
  output: {
14829
15113
  id: string;
14830
15114
  label: string;
14831
- role: "admin" | "viewer" | "agent" | "scoped";
15115
+ isAdmin: boolean;
14832
15116
  tokenPrefix: string;
14833
15117
  createdAt: number;
14834
15118
  allowedProviders?: string[] | "*" | undefined;
@@ -14841,7 +15125,7 @@ export type AppRouter = import("@trpc/server/unstable-core-do-not-import").Route
14841
15125
  input: {
14842
15126
  [x: string]: unknown;
14843
15127
  label: string;
14844
- role: "admin" | "viewer" | "agent" | "scoped";
15128
+ isAdmin?: boolean | undefined;
14845
15129
  allowedProviders?: string[] | "*" | undefined;
14846
15130
  allowedDevices?: Record<string, string[] | "*"> | undefined;
14847
15131
  };
@@ -14850,7 +15134,7 @@ export type AppRouter = import("@trpc/server/unstable-core-do-not-import").Route
14850
15134
  record: {
14851
15135
  id: string;
14852
15136
  label: string;
14853
- role: "admin" | "viewer" | "agent" | "scoped";
15137
+ isAdmin: boolean;
14854
15138
  tokenPrefix: string;
14855
15139
  createdAt: number;
14856
15140
  allowedProviders?: string[] | "*" | undefined;
@@ -14878,7 +15162,7 @@ export type AppRouter = import("@trpc/server/unstable-core-do-not-import").Route
14878
15162
  output: {
14879
15163
  id: string;
14880
15164
  label: string;
14881
- role: "admin" | "viewer" | "agent" | "scoped";
15165
+ isAdmin: boolean;
14882
15166
  tokenPrefix: string;
14883
15167
  createdAt: number;
14884
15168
  allowedProviders?: string[] | "*" | undefined;
@@ -14892,11 +15176,23 @@ export type AppRouter = import("@trpc/server/unstable-core-do-not-import").Route
14892
15176
  [x: string]: unknown;
14893
15177
  userId: string;
14894
15178
  name: string;
14895
- scopes: {
14896
- type: "addon" | "capability";
15179
+ scopes: ({
15180
+ type: "category";
15181
+ target: "system" | "device";
15182
+ access: ("view" | "create" | "delete")[];
15183
+ } | {
15184
+ type: "capability";
14897
15185
  target: string;
14898
15186
  access: ("view" | "create" | "delete")[];
14899
- }[];
15187
+ } | {
15188
+ type: "addon";
15189
+ target: string;
15190
+ access: ("view" | "create" | "delete")[];
15191
+ } | {
15192
+ type: "device";
15193
+ targets: string[];
15194
+ access: ("view" | "create" | "delete")[];
15195
+ })[];
14900
15196
  expiresAt?: number | undefined;
14901
15197
  };
14902
15198
  output: {
@@ -14906,11 +15202,23 @@ export type AppRouter = import("@trpc/server/unstable-core-do-not-import").Route
14906
15202
  userId: string;
14907
15203
  name: string;
14908
15204
  tokenPrefix: string;
14909
- scopes: {
14910
- type: "addon" | "capability";
15205
+ scopes: ({
15206
+ type: "category";
15207
+ target: "system" | "device";
15208
+ access: ("view" | "create" | "delete")[];
15209
+ } | {
15210
+ type: "capability";
14911
15211
  target: string;
14912
15212
  access: ("view" | "create" | "delete")[];
14913
- }[];
15213
+ } | {
15214
+ type: "addon";
15215
+ target: string;
15216
+ access: ("view" | "create" | "delete")[];
15217
+ } | {
15218
+ type: "device";
15219
+ targets: string[];
15220
+ access: ("view" | "create" | "delete")[];
15221
+ })[];
14914
15222
  createdAt: number;
14915
15223
  expiresAt?: number | null | undefined;
14916
15224
  lastUsedAt?: number | null | undefined;
@@ -14938,11 +15246,23 @@ export type AppRouter = import("@trpc/server/unstable-core-do-not-import").Route
14938
15246
  userId: string;
14939
15247
  name: string;
14940
15248
  tokenPrefix: string;
14941
- scopes: {
14942
- type: "addon" | "capability";
15249
+ scopes: ({
15250
+ type: "category";
15251
+ target: "system" | "device";
15252
+ access: ("view" | "create" | "delete")[];
15253
+ } | {
15254
+ type: "capability";
14943
15255
  target: string;
14944
15256
  access: ("view" | "create" | "delete")[];
14945
- }[];
15257
+ } | {
15258
+ type: "addon";
15259
+ target: string;
15260
+ access: ("view" | "create" | "delete")[];
15261
+ } | {
15262
+ type: "device";
15263
+ targets: string[];
15264
+ access: ("view" | "create" | "delete")[];
15265
+ })[];
14946
15266
  createdAt: number;
14947
15267
  expiresAt?: number | null | undefined;
14948
15268
  lastUsedAt?: number | null | undefined;
@@ -14959,17 +15279,83 @@ export type AppRouter = import("@trpc/server/unstable-core-do-not-import").Route
14959
15279
  userId: string;
14960
15280
  name: string;
14961
15281
  tokenPrefix: string;
14962
- scopes: {
14963
- type: "addon" | "capability";
15282
+ scopes: ({
15283
+ type: "category";
15284
+ target: "system" | "device";
15285
+ access: ("view" | "create" | "delete")[];
15286
+ } | {
15287
+ type: "capability";
14964
15288
  target: string;
14965
15289
  access: ("view" | "create" | "delete")[];
14966
- }[];
15290
+ } | {
15291
+ type: "addon";
15292
+ target: string;
15293
+ access: ("view" | "create" | "delete")[];
15294
+ } | {
15295
+ type: "device";
15296
+ targets: string[];
15297
+ access: ("view" | "create" | "delete")[];
15298
+ })[];
14967
15299
  createdAt: number;
14968
15300
  expiresAt?: number | null | undefined;
14969
15301
  lastUsedAt?: number | null | undefined;
14970
15302
  }[];
14971
15303
  meta: object;
14972
15304
  }>;
15305
+ setupTotp: import("@trpc/server/unstable-core-do-not-import").MutationProcedure<{
15306
+ input: {
15307
+ [x: string]: unknown;
15308
+ userId: string;
15309
+ };
15310
+ output: {
15311
+ secret: string;
15312
+ otpauthUrl: string;
15313
+ };
15314
+ meta: object;
15315
+ }>;
15316
+ confirmTotp: import("@trpc/server/unstable-core-do-not-import").MutationProcedure<{
15317
+ input: {
15318
+ [x: string]: unknown;
15319
+ userId: string;
15320
+ code: string;
15321
+ };
15322
+ output: {
15323
+ success: true;
15324
+ };
15325
+ meta: object;
15326
+ }>;
15327
+ disableTotp: import("@trpc/server/unstable-core-do-not-import").MutationProcedure<{
15328
+ input: {
15329
+ [x: string]: unknown;
15330
+ userId: string;
15331
+ };
15332
+ output: {
15333
+ success: true;
15334
+ };
15335
+ meta: object;
15336
+ }>;
15337
+ getTotpStatus: import("@trpc/server/unstable-core-do-not-import").QueryProcedure<{
15338
+ input: {
15339
+ [x: string]: unknown;
15340
+ userId: string;
15341
+ };
15342
+ output: {
15343
+ enabled: boolean;
15344
+ confirmedAt: number | null;
15345
+ };
15346
+ meta: object;
15347
+ }>;
15348
+ verifyTotp: import("@trpc/server/unstable-core-do-not-import").MutationProcedure<{
15349
+ input: {
15350
+ [x: string]: unknown;
15351
+ userId: string;
15352
+ code: string;
15353
+ };
15354
+ output: {
15355
+ valid: boolean;
15356
+ };
15357
+ meta: object;
15358
+ }>;
14973
15359
  }>>;
14974
15360
  metricsProvider: import("@trpc/server/unstable-core-do-not-import").BuiltRouter<{
14975
15361
  ctx: import("@camstack/types").TrpcContext;