@hearth-auth/sdk 0.0.1

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 (40) hide show
  1. package/CHANGELOG.md +12 -0
  2. package/README.md +680 -0
  3. package/package.json +44 -0
  4. package/src/admin.ts +157 -0
  5. package/src/browser-auth.ts +130 -0
  6. package/src/claims.ts +180 -0
  7. package/src/client.ts +251 -0
  8. package/src/errors.ts +173 -0
  9. package/src/generated/google/api/annotations_pb.ts +44 -0
  10. package/src/generated/google/api/http_pb.ts +467 -0
  11. package/src/generated/hearth/authz/v1/authz_pb.ts +593 -0
  12. package/src/generated/hearth/cluster/v1/raft_pb.ts +183 -0
  13. package/src/generated/hearth/events/v1/audit_pb.ts +886 -0
  14. package/src/generated/hearth/identity/v1/identity_pb.ts +1673 -0
  15. package/src/generated/hearth/identity/v1/oauth_pb.ts +1138 -0
  16. package/src/generated/hearth/rbac/v1/rbac_pb.ts +2000 -0
  17. package/src/hearth-client.ts +288 -0
  18. package/src/hearth.ts +224 -0
  19. package/src/index.ts +106 -0
  20. package/src/introspection-client.ts +83 -0
  21. package/src/jwks-client.ts +45 -0
  22. package/src/middleware.ts +82 -0
  23. package/src/pkce.ts +129 -0
  24. package/src/react.tsx +57 -0
  25. package/src/session-version-cache.ts +167 -0
  26. package/src/types.ts +188 -0
  27. package/tests/admin-crud.test.ts +97 -0
  28. package/tests/auth-flow.test.ts +75 -0
  29. package/tests/authorize.test.ts +386 -0
  30. package/tests/claims.test.ts +159 -0
  31. package/tests/hasPermission.test.ts +152 -0
  32. package/tests/hearth-client.test.ts +243 -0
  33. package/tests/helpers.ts +90 -0
  34. package/tests/jwks.test.ts +62 -0
  35. package/tests/pkce.test.ts +210 -0
  36. package/tests/react-useHasPermission.test.tsx +92 -0
  37. package/tests/required-action.test.ts +276 -0
  38. package/tests/session-version.test.ts +391 -0
  39. package/tsconfig.json +16 -0
  40. package/vitest.config.ts +8 -0
@@ -0,0 +1,886 @@
1
+ // @generated by protoc-gen-es v2.12.0 with parameter "target=ts"
2
+ // @generated from file hearth/events/v1/audit.proto (package hearth.events.v1, syntax proto3)
3
+ /* eslint-disable */
4
+
5
+ import type { GenEnum, GenFile, GenMessage, GenService } from "@bufbuild/protobuf/codegenv2";
6
+ import { enumDesc, fileDesc, messageDesc, serviceDesc } from "@bufbuild/protobuf/codegenv2";
7
+ import { file_google_api_annotations } from "../../../google/api/annotations_pb";
8
+ import type { Message } from "@bufbuild/protobuf";
9
+
10
+ /**
11
+ * Describes the file hearth/events/v1/audit.proto.
12
+ */
13
+ export const file_hearth_events_v1_audit: GenFile = /*@__PURE__*/
14
+ fileDesc("ChxoZWFydGgvZXZlbnRzL3YxL2F1ZGl0LnByb3RvEhBoZWFydGguZXZlbnRzLnYxIuMBCgpBdWRpdEV2ZW50EgoKAmlkGAEgASgJEhAKCHJlYWxtX2lkGAIgASgJEg0KBWFjdG9yGAMgASgJEi0KBmFjdGlvbhgEIAEoDjIdLmhlYXJ0aC5ldmVudHMudjEuQXVkaXRBY3Rpb24SFQoNcmVzb3VyY2VfdHlwZRgFIAEoCRITCgtyZXNvdXJjZV9pZBgGIAEoCRIRCgl0aW1lc3RhbXAYByABKAMSFQoIbWV0YWRhdGEYCCABKAlIAIgBARIWCg5pbnRlZ3JpdHlfaGFzaBgJIAEoCUILCglfbWV0YWRhdGEisgEKEENyZWF0ZUF1ZGl0RXZlbnQSEAoIcmVhbG1faWQYASABKAkSDQoFYWN0b3IYAiABKAkSLQoGYWN0aW9uGAMgASgOMh0uaGVhcnRoLmV2ZW50cy52MS5BdWRpdEFjdGlvbhIVCg1yZXNvdXJjZV90eXBlGAQgASgJEhMKC3Jlc291cmNlX2lkGAUgASgJEhUKCG1ldGFkYXRhGAYgASgJSACIAQFCCwoJX21ldGFkYXRhIuUBCgpBdWRpdFF1ZXJ5EhAKCHJlYWxtX2lkGAEgASgJEhcKCnN0YXJ0X3RpbWUYAiABKANIAIgBARIVCghlbmRfdGltZRgDIAEoA0gBiAEBEhIKBWFjdG9yGAQgASgJSAKIAQESMgoGYWN0aW9uGAUgASgOMh0uaGVhcnRoLmV2ZW50cy52MS5BdWRpdEFjdGlvbkgDiAEBEhIKBWxpbWl0GAYgASgNSASIAQFCDQoLX3N0YXJ0X3RpbWVCCwoJX2VuZF90aW1lQggKBl9hY3RvckIJCgdfYWN0aW9uQggKBl9saW1pdCI+Cg5BdWRpdEV2ZW50UGFnZRIsCgZldmVudHMYASADKAsyHC5oZWFydGguZXZlbnRzLnYxLkF1ZGl0RXZlbnQiGAoWVmVyaWZ5SW50ZWdyaXR5UmVxdWVzdCJyChdWZXJpZnlJbnRlZ3JpdHlSZXNwb25zZRIKCgJvaxgBIAEoCBIfChJicm9rZW5fYXRfZXZlbnRfaWQYAiABKAlIAIgBARITCgtldmVudF9jb3VudBgDIAEoBEIVChNfYnJva2VuX2F0X2V2ZW50X2lkKq8iCgtBdWRpdEFjdGlvbhIcChhBVURJVF9BQ1RJT05fVU5TUEVDSUZJRUQQABIdChlBVURJVF9BQ1RJT05fVVNFUl9DUkVBVEVEEAESHQoZQVVESVRfQUNUSU9OX1VTRVJfVVBEQVRFRBACEh0KGUFVRElUX0FDVElPTl9VU0VSX0RFTEVURUQQAxIfChtBVURJVF9BQ1RJT05fQ1JFREVOVElBTF9TRVQQBBIjCh9BVURJVF9BQ1RJT05fQ1JFREVOVElBTF9DSEFOR0VEEAUSJAogQVVESVRfQUNUSU9OX0NSRURFTlRJQUxfVkVSSUZJRUQQBhIgChxBVURJVF9BQ1RJT05fU0VTU0lPTl9DUkVBVEVEEAcSIAocQVVESVRfQUNUSU9OX1NFU1NJT05fUkVWT0tFRBAIEh0KGUFVRElUX0FDVElPTl9UT0tFTl9JU1NVRUQQCRIgChxBVURJVF9BQ1RJT05fVE9LRU5fUkVGUkVTSEVEEAoSHgoaQVVESVRfQUNUSU9OX1JFQUxNX0NSRUFURUQQCxIeChpBVURJVF9BQ1RJT05fUkVBTE1fVVBEQVRFRBAMEh4KGkFVRElUX0FDVElPTl9SRUFMTV9ERUxFVEVEEA0SIgoeQVVESVRfQUNUSU9OX0NMSUVOVF9SRUdJU1RFUkVEEA4SKgomQVVESVRfQUNUSU9OX0FVVEhPUklaQVRJT05fQ09ERV9JU1NVRUQQDxItCilBVURJVF9BQ1RJT05fQVVUSE9SSVpBVElPTl9DT0RFX0VYQ0hBTkdFRBAQEh4KGkFVRElUX0FDVElPTl9UVVBMRV9XUklUVEVOEBESHgoaQVVESVRfQUNUSU9OX1RVUExFX0RFTEVURUQQEhIfChtBVURJVF9BQ1RJT05fQ0xJRU5UX1VQREFURUQQExIfChtBVURJVF9BQ1RJT05fQ0xJRU5UX0RFTEVURUQQFBIjCh9BVURJVF9BQ1RJT05fQlVMS19VU0VSU19DUkVBVEVEEBUSJAogQVVESVRfQUNUSU9OX0JVTEtfVVNFUlNfRElTQUJMRUQQFhIcChhBVURJVF9BQ1RJT05fT1JHX0NSRUFURUQQFxIcChhBVURJVF9BQ1RJT05fT1JHX1VQREFURUQQGBIcChhBVURJVF9BQ1RJT05fT1JHX0RFTEVURUQQGRIgChxBVURJVF9BQ1RJT05fQ09OU0VOVF9HUkFOVEVEEBoSHwobQVVESVRfQUNUSU9OX0NPTlNFTlRfREVOSUVEEBsSIAocQVVESVRfQUNUSU9OX0NPTlNFTlRfUkVWT0tFRBAcEikKJUFVRElUX0FDVElPTl9GRURFUkFUSU9OX0xPR0lOX1NUQVJURUQQHRIrCidBVURJVF9BQ1RJT05fRkVERVJBVElPTl9MT0dJTl9DT01QTEVURUQQHhIqCiZBVURJVF9BQ1RJT05fRkVERVJBVElPTl9BQ0NPVU5UX0xJTktFRBAfEiwKKEFVRElUX0FDVElPTl9GRURFUkFUSU9OX0FDQ09VTlRfVU5MSU5LRUQQIBIrCidBVURJVF9BQ1RJT05fRkVERVJBVElPTl9KSVRfUFJPVklTSU9ORUQQIRIlCiFBVURJVF9BQ1RJT05fU0FNTF9MT0dJTl9JTklUSUFURUQQIhIlCiFBVURJVF9BQ1RJT05fU0FNTF9MT0dJTl9DT01QTEVURUQQIxIiCh5BVURJVF9BQ1RJT05fU0FNTF9MT0dJTl9GQUlMRUQQJBIwCixBVURJVF9BQ1RJT05fU0FNTF9JRFBfQVVUSE5fUkVRVUVTVF9SRUNFSVZFRBAlEikKJUFVRElUX0FDVElPTl9TQU1MX0lEUF9SRVNQT05TRV9JU1NVRUQQJhInCiNBVURJVF9BQ1RJT05fU0FNTF9JRFBfSU5JVElBVEVEX1NTTxAnEiMKH0FVRElUX0FDVElPTl9TQU1MX1NMT19SRVFVRVNURUQQKBIjCh9BVURJVF9BQ1RJT05fU0FNTF9TTE9fQ09NUExFVEVEECkSIgoeQVVESVRfQUNUSU9OX1NDSU1fVVNFUl9DUkVBVEVEECoSIgoeQVVESVRfQUNUSU9OX1NDSU1fVVNFUl9VUERBVEVEECsSIgoeQVVESVRfQUNUSU9OX1NDSU1fVVNFUl9ERUxFVEVEECwSIwofQVVESVRfQUNUSU9OX1NDSU1fR1JPVVBfQ1JFQVRFRBAtEiMKH0FVRElUX0FDVElPTl9TQ0lNX0dST1VQX1VQREFURUQQLhIjCh9BVURJVF9BQ1RJT05fU0NJTV9HUk9VUF9ERUxFVEVEEC8SHgoaQVVESVRfQUNUSU9OX1JPTEVfQVNTSUdORUQQMBIdChlBVURJVF9BQ1RJT05fUk9MRV9SRVZPS0VEEDESGAoUQVVESVRfQUNUSU9OX0NMRUFOVVAQMhIeChpBVURJVF9BQ1RJT05fR1JPVVBfQ1JFQVRFRBAzEh4KGkFVRElUX0FDVElPTl9HUk9VUF9VUERBVEVEEDQSHgoaQVVESVRfQUNUSU9OX0dST1VQX0RFTEVURUQQNRIjCh9BVURJVF9BQ1RJT05fR1JPVVBfTUVNQkVSX0FEREVEEDYSJQohQVVESVRfQUNUSU9OX0dST1VQX01FTUJFUl9SRU1PVkVEEDcSKgomQVVESVRfQUNUSU9OX0dST1VQX01FTUJFUl9ST0xFX0NIQU5HRUQQOBIrCidBVURJVF9BQ1RJT05fT1JQSEFORURfUkVGRVJFTkNFX1NLSVBQRUQQORIoCiRBVURJVF9BQ1RJT05fVVNFUl9QRVJNSVNTSU9OX0dSQU5URUQQOhIoCiRBVURJVF9BQ1RJT05fVVNFUl9QRVJNSVNTSU9OX1JFVk9LRUQQOxInCiNBVURJVF9BQ1RJT05fQ0xJRU5UX0NPTlNFTlRfR1JBTlRFRBA8EicKI0FVRElUX0FDVElPTl9DTElFTlRfQ09OU0VOVF9SRVZPS0VEED0SLAooQVVESVRfQUNUSU9OX0NPTlNFTlRfUkVRVUlSRURfT05fUkVGUkVTSBA+Eh0KGUFVRElUX0FDVElPTl9MT0dJTl9GQUlMRUQQPxIdChlBVURJVF9BQ1RJT05fTE9HSU5fTE9DS0VEEEASKAokQVVESVRfQUNUSU9OX0lQX0xPR0lOX0xJTUlUX0VYQ0VFREVEEEESHwobQVVESVRfQUNUSU9OX0JBQ0tVUF9DUkVBVEVEEEISIAocQVVESVRfQUNUSU9OX0JBQ0tVUF9SRVNUT1JFRBBDEikKJUFVRElUX0FDVElPTl9SRUFMTV9FWFBPUlRfV0FURVJNQVJLRUQQRBIpCiVBVURJVF9BQ1RJT05fUkVRVUlSRURfQUNUSU9OX0FTU0lHTkVEEEUSKAokQVVESVRfQUNUSU9OX1JFUVVJUkVEX0FDVElPTl9SRU1PVkVEEEYSKgomQVVESVRfQUNUSU9OX1JFUVVJUkVEX0FDVElPTl9DT01QTEVURUQQRxItCilBVURJVF9BQ1RJT05fUkVRVUlSRURfQUNUSU9OX0FVVE9fQ0xFQVJFRBBIEi4KKkFVRElUX0FDVElPTl9QQVNTV09SRF9DT01QUk9NSVNFRF9SRUpFQ1RFRBBJEikKJUFVRElUX0FDVElPTl9CUkVBQ0hfQ0hFQ0tfVU5BVkFJTEFCTEUQShImCiJBVURJVF9BQ1RJT05fU1RFUF9VUF9NRkFfVFJJR0dFUkVEEEsSJgoiQVVESVRfQUNUSU9OX1NURVBfVVBfTUZBX0NPTVBMRVRFRBBMEisKJ0FVRElUX0FDVElPTl9TTVNfT1RQX0VOUk9MTE1FTlRfU1RBUlRFRBBNEiwKKEFVRElUX0FDVElPTl9TTVNfT1RQX0VOUk9MTE1FTlRfVkVSSUZJRUQQThIqCiZBVURJVF9BQ1RJT05fU01TX09UUF9FTlJPTExNRU5UX0ZBSUxFRBBPEiwKKEFVRElUX0FDVElPTl9TTVNfTUZBX0NIQUxMRU5HRV9TVUNDRUVERUQQUBIpCiVBVURJVF9BQ1RJT05fU01TX01GQV9DSEFMTEVOR0VfRkFJTEVEEFESHwobQVVESVRfQUNUSU9OX1NNU19NRkFfTE9DS0VEEFISKwonQVVESVRfQUNUSU9OX0RFVklDRV9GSU5HRVJQUklOVFNfRVJBU0VEEFMSJwojQVVESVRfQUNUSU9OX1NFU1NJT05fTElNSVRfRU5GT1JDRUQQVBIhCh1BVURJVF9BQ1RJT05fU0VTU0lPTlNfUkVWT0tFRBBVEiAKHEFVRElUX0FDVElPTl9TRVNTSU9OX0VWSUNURUQQVhIfChtBVURJVF9BQ1RJT05fQUJVU0VfREVURUNURUQQVxInCiNBVURJVF9BQ1RJT05fRU1BSUxfQ0hBTkdFX0lOSVRJQVRFRBBYEicKI0FVRElUX0FDVElPTl9FTUFJTF9DSEFOR0VfQ09ORklSTUVEEFkSKAokQVVESVRfQUNUSU9OX09JRENfU0lMRU5UX0FVVEhfUFJPQkVEEFoSHgoaQVVESVRfQUNUSU9OX0FHRU5UX0NSRUFURUQQWxIeChpBVURJVF9BQ1RJT05fQUdFTlRfVVBEQVRFRBBcEiAKHEFVRElUX0FDVElPTl9BR0VOVF9TVVNQRU5ERUQQXRIiCh5BVURJVF9BQ1RJT05fQUdFTlRfUkVBQ1RJVkFURUQQXhIeChpBVURJVF9BQ1RJT05fQUdFTlRfUkVWT0tFRBBfEh4KGkFVRElUX0FDVElPTl9BR0VOVF9ERUxFVEVEEGASKQolQVVESVRfQUNUSU9OX0FHRU5UX0NSRURFTlRJQUxfQ1JFQVRFRBBhEikKJUFVRElUX0FDVElPTl9BR0VOVF9DUkVERU5USUFMX1JFVk9LRUQQYhIhCh1BVURJVF9BQ1RJT05fQUdFTlRfREVMRUdBVElPThBjEiYKIkFVRElUX0FDVElPTl9BR0VOVF9UT09MX0lOVk9DQVRJT04QZBIjCh9BVURJVF9BQ1RJT05fQVBQUk9WQUxfUkVRVUVTVEVEEGUSIQodQVVESVRfQUNUSU9OX0FQUFJPVkFMX0dSQU5URUQQZhIgChxBVURJVF9BQ1RJT05fQVBQUk9WQUxfREVOSUVEEGcSJAogQVVESVRfQUNUSU9OX0FHRU5UX1RPS0VOX1JFVk9LRUQQaBIqCiZBVURJVF9BQ1RJT05fQ1JPU1NfUkVBTE1fVFJVU1RfQ1JFQVRFRBBpEioKJkFVRElUX0FDVElPTl9DUk9TU19SRUFMTV9UUlVTVF9SRVZPS0VEEGoSLgoqQVVESVRfQUNUSU9OX1BST1RFQ1RFRF9SRVNPVVJDRV9SRUdJU1RFUkVEEGsSKwonQVVESVRfQUNUSU9OX1BST1RFQ1RFRF9SRVNPVVJDRV9VUERBVEVEEGwSKwonQVVESVRfQUNUSU9OX1BST1RFQ1RFRF9SRVNPVVJDRV9ERUxFVEVEEG0SGwoXQVVESVRfQUNUSU9OX0FBVF9JU1NVRUQQbhIcChhBVURJVF9BQ1RJT05fQUFUX1JFVk9LRUQQbxIpCiVBVURJVF9BQ1RJT05fVFJBTlNBQ1RJT05fVE9LRU5fSVNTVUVEEHASKQolQVVESVRfQUNUSU9OX0NST1NTX1JFQUxNX1RPS0VOX0lTU1VFRBBxEiEKHUFVRElUX0FDVElPTl9TUElGRkVfSURfTUFQUEVEEHISJAogQVVESVRfQUNUSU9OX1NQSUZGRV9BVVRIX1NVQ0NFU1MQczLaAQoMQXVkaXRTZXJ2aWNlEmIKCkxpc3RFdmVudHMSHC5oZWFydGguZXZlbnRzLnYxLkF1ZGl0UXVlcnkaIC5oZWFydGguZXZlbnRzLnYxLkF1ZGl0RXZlbnRQYWdlIhSC0+STAg4SDC9hZG1pbi9hdWRpdBJmCg9WZXJpZnlJbnRlZ3JpdHkSKC5oZWFydGguZXZlbnRzLnYxLlZlcmlmeUludGVncml0eVJlcXVlc3QaKS5oZWFydGguZXZlbnRzLnYxLlZlcmlmeUludGVncml0eVJlc3BvbnNlQkFaP2dpdGh1Yi5jb20vaGVhcnRoZGIvaGVhcnRoL3Nka3MvZ28vZ2VuZXJhdGVkL2V2ZW50cy92MTtldmVudHN2MWIGcHJvdG8z", [file_google_api_annotations]);
15
+
16
+ /**
17
+ * A recorded audit event in the append-only log.
18
+ *
19
+ * @generated from message hearth.events.v1.AuditEvent
20
+ */
21
+ export type AuditEvent = Message<"hearth.events.v1.AuditEvent"> & {
22
+ /**
23
+ * @generated from field: string id = 1;
24
+ */
25
+ id: string;
26
+
27
+ /**
28
+ * @generated from field: string realm_id = 2;
29
+ */
30
+ realmId: string;
31
+
32
+ /**
33
+ * @generated from field: string actor = 3;
34
+ */
35
+ actor: string;
36
+
37
+ /**
38
+ * @generated from field: hearth.events.v1.AuditAction action = 4;
39
+ */
40
+ action: AuditAction;
41
+
42
+ /**
43
+ * @generated from field: string resource_type = 5;
44
+ */
45
+ resourceType: string;
46
+
47
+ /**
48
+ * @generated from field: string resource_id = 6;
49
+ */
50
+ resourceId: string;
51
+
52
+ /**
53
+ * @generated from field: int64 timestamp = 7;
54
+ */
55
+ timestamp: bigint;
56
+
57
+ /**
58
+ * Optional additional context (JSON-encoded).
59
+ *
60
+ * @generated from field: optional string metadata = 8;
61
+ */
62
+ metadata?: string | undefined;
63
+
64
+ /**
65
+ * @generated from field: string integrity_hash = 9;
66
+ */
67
+ integrityHash: string;
68
+ };
69
+
70
+ /**
71
+ * Describes the message hearth.events.v1.AuditEvent.
72
+ * Use `create(AuditEventSchema)` to create a new message.
73
+ */
74
+ export const AuditEventSchema: GenMessage<AuditEvent> = /*@__PURE__*/
75
+ messageDesc(file_hearth_events_v1_audit, 0);
76
+
77
+ /**
78
+ * Request to append a new audit event.
79
+ *
80
+ * @generated from message hearth.events.v1.CreateAuditEvent
81
+ */
82
+ export type CreateAuditEvent = Message<"hearth.events.v1.CreateAuditEvent"> & {
83
+ /**
84
+ * @generated from field: string realm_id = 1;
85
+ */
86
+ realmId: string;
87
+
88
+ /**
89
+ * @generated from field: string actor = 2;
90
+ */
91
+ actor: string;
92
+
93
+ /**
94
+ * @generated from field: hearth.events.v1.AuditAction action = 3;
95
+ */
96
+ action: AuditAction;
97
+
98
+ /**
99
+ * @generated from field: string resource_type = 4;
100
+ */
101
+ resourceType: string;
102
+
103
+ /**
104
+ * @generated from field: string resource_id = 5;
105
+ */
106
+ resourceId: string;
107
+
108
+ /**
109
+ * Optional additional context (JSON-encoded).
110
+ *
111
+ * @generated from field: optional string metadata = 6;
112
+ */
113
+ metadata?: string | undefined;
114
+ };
115
+
116
+ /**
117
+ * Describes the message hearth.events.v1.CreateAuditEvent.
118
+ * Use `create(CreateAuditEventSchema)` to create a new message.
119
+ */
120
+ export const CreateAuditEventSchema: GenMessage<CreateAuditEvent> = /*@__PURE__*/
121
+ messageDesc(file_hearth_events_v1_audit, 1);
122
+
123
+ /**
124
+ * Query parameters for filtering audit events.
125
+ * All fields except realm_id become URL query parameters on the HTTP binding.
126
+ *
127
+ * @generated from message hearth.events.v1.AuditQuery
128
+ */
129
+ export type AuditQuery = Message<"hearth.events.v1.AuditQuery"> & {
130
+ /**
131
+ * @generated from field: string realm_id = 1;
132
+ */
133
+ realmId: string;
134
+
135
+ /**
136
+ * @generated from field: optional int64 start_time = 2;
137
+ */
138
+ startTime?: bigint | undefined;
139
+
140
+ /**
141
+ * @generated from field: optional int64 end_time = 3;
142
+ */
143
+ endTime?: bigint | undefined;
144
+
145
+ /**
146
+ * @generated from field: optional string actor = 4;
147
+ */
148
+ actor?: string | undefined;
149
+
150
+ /**
151
+ * @generated from field: optional hearth.events.v1.AuditAction action = 5;
152
+ */
153
+ action?: AuditAction | undefined;
154
+
155
+ /**
156
+ * @generated from field: optional uint32 limit = 6;
157
+ */
158
+ limit?: number | undefined;
159
+ };
160
+
161
+ /**
162
+ * Describes the message hearth.events.v1.AuditQuery.
163
+ * Use `create(AuditQuerySchema)` to create a new message.
164
+ */
165
+ export const AuditQuerySchema: GenMessage<AuditQuery> = /*@__PURE__*/
166
+ messageDesc(file_hearth_events_v1_audit, 2);
167
+
168
+ /**
169
+ * A page of audit events.
170
+ *
171
+ * @generated from message hearth.events.v1.AuditEventPage
172
+ */
173
+ export type AuditEventPage = Message<"hearth.events.v1.AuditEventPage"> & {
174
+ /**
175
+ * @generated from field: repeated hearth.events.v1.AuditEvent events = 1;
176
+ */
177
+ events: AuditEvent[];
178
+ };
179
+
180
+ /**
181
+ * Describes the message hearth.events.v1.AuditEventPage.
182
+ * Use `create(AuditEventPageSchema)` to create a new message.
183
+ */
184
+ export const AuditEventPageSchema: GenMessage<AuditEventPage> = /*@__PURE__*/
185
+ messageDesc(file_hearth_events_v1_audit, 3);
186
+
187
+ /**
188
+ * Request to verify the integrity hash chain of the realm's audit log.
189
+ * Realm context comes from the `x-realm-id` metadata (admin interceptor).
190
+ *
191
+ * @generated from message hearth.events.v1.VerifyIntegrityRequest
192
+ */
193
+ export type VerifyIntegrityRequest = Message<"hearth.events.v1.VerifyIntegrityRequest"> & {
194
+ };
195
+
196
+ /**
197
+ * Describes the message hearth.events.v1.VerifyIntegrityRequest.
198
+ * Use `create(VerifyIntegrityRequestSchema)` to create a new message.
199
+ */
200
+ export const VerifyIntegrityRequestSchema: GenMessage<VerifyIntegrityRequest> = /*@__PURE__*/
201
+ messageDesc(file_hearth_events_v1_audit, 4);
202
+
203
+ /**
204
+ * Result of an integrity check. `ok = true` means the hash chain verified
205
+ * end-to-end; `ok = false` indicates a broken link at `broken_at_event_id`.
206
+ *
207
+ * @generated from message hearth.events.v1.VerifyIntegrityResponse
208
+ */
209
+ export type VerifyIntegrityResponse = Message<"hearth.events.v1.VerifyIntegrityResponse"> & {
210
+ /**
211
+ * @generated from field: bool ok = 1;
212
+ */
213
+ ok: boolean;
214
+
215
+ /**
216
+ * @generated from field: optional string broken_at_event_id = 2;
217
+ */
218
+ brokenAtEventId?: string | undefined;
219
+
220
+ /**
221
+ * @generated from field: uint64 event_count = 3;
222
+ */
223
+ eventCount: bigint;
224
+ };
225
+
226
+ /**
227
+ * Describes the message hearth.events.v1.VerifyIntegrityResponse.
228
+ * Use `create(VerifyIntegrityResponseSchema)` to create a new message.
229
+ */
230
+ export const VerifyIntegrityResponseSchema: GenMessage<VerifyIntegrityResponse> = /*@__PURE__*/
231
+ messageDesc(file_hearth_events_v1_audit, 5);
232
+
233
+ /**
234
+ * Categories of security-critical actions recorded in the audit log.
235
+ *
236
+ * @generated from enum hearth.events.v1.AuditAction
237
+ */
238
+ export enum AuditAction {
239
+ /**
240
+ * @generated from enum value: AUDIT_ACTION_UNSPECIFIED = 0;
241
+ */
242
+ UNSPECIFIED = 0,
243
+
244
+ /**
245
+ * @generated from enum value: AUDIT_ACTION_USER_CREATED = 1;
246
+ */
247
+ USER_CREATED = 1,
248
+
249
+ /**
250
+ * @generated from enum value: AUDIT_ACTION_USER_UPDATED = 2;
251
+ */
252
+ USER_UPDATED = 2,
253
+
254
+ /**
255
+ * @generated from enum value: AUDIT_ACTION_USER_DELETED = 3;
256
+ */
257
+ USER_DELETED = 3,
258
+
259
+ /**
260
+ * @generated from enum value: AUDIT_ACTION_CREDENTIAL_SET = 4;
261
+ */
262
+ CREDENTIAL_SET = 4,
263
+
264
+ /**
265
+ * @generated from enum value: AUDIT_ACTION_CREDENTIAL_CHANGED = 5;
266
+ */
267
+ CREDENTIAL_CHANGED = 5,
268
+
269
+ /**
270
+ * @generated from enum value: AUDIT_ACTION_CREDENTIAL_VERIFIED = 6;
271
+ */
272
+ CREDENTIAL_VERIFIED = 6,
273
+
274
+ /**
275
+ * @generated from enum value: AUDIT_ACTION_SESSION_CREATED = 7;
276
+ */
277
+ SESSION_CREATED = 7,
278
+
279
+ /**
280
+ * @generated from enum value: AUDIT_ACTION_SESSION_REVOKED = 8;
281
+ */
282
+ SESSION_REVOKED = 8,
283
+
284
+ /**
285
+ * @generated from enum value: AUDIT_ACTION_TOKEN_ISSUED = 9;
286
+ */
287
+ TOKEN_ISSUED = 9,
288
+
289
+ /**
290
+ * @generated from enum value: AUDIT_ACTION_TOKEN_REFRESHED = 10;
291
+ */
292
+ TOKEN_REFRESHED = 10,
293
+
294
+ /**
295
+ * @generated from enum value: AUDIT_ACTION_REALM_CREATED = 11;
296
+ */
297
+ REALM_CREATED = 11,
298
+
299
+ /**
300
+ * @generated from enum value: AUDIT_ACTION_REALM_UPDATED = 12;
301
+ */
302
+ REALM_UPDATED = 12,
303
+
304
+ /**
305
+ * @generated from enum value: AUDIT_ACTION_REALM_DELETED = 13;
306
+ */
307
+ REALM_DELETED = 13,
308
+
309
+ /**
310
+ * @generated from enum value: AUDIT_ACTION_CLIENT_REGISTERED = 14;
311
+ */
312
+ CLIENT_REGISTERED = 14,
313
+
314
+ /**
315
+ * @generated from enum value: AUDIT_ACTION_AUTHORIZATION_CODE_ISSUED = 15;
316
+ */
317
+ AUTHORIZATION_CODE_ISSUED = 15,
318
+
319
+ /**
320
+ * @generated from enum value: AUDIT_ACTION_AUTHORIZATION_CODE_EXCHANGED = 16;
321
+ */
322
+ AUTHORIZATION_CODE_EXCHANGED = 16,
323
+
324
+ /**
325
+ * @generated from enum value: AUDIT_ACTION_TUPLE_WRITTEN = 17;
326
+ */
327
+ TUPLE_WRITTEN = 17,
328
+
329
+ /**
330
+ * @generated from enum value: AUDIT_ACTION_TUPLE_DELETED = 18;
331
+ */
332
+ TUPLE_DELETED = 18,
333
+
334
+ /**
335
+ * @generated from enum value: AUDIT_ACTION_CLIENT_UPDATED = 19;
336
+ */
337
+ CLIENT_UPDATED = 19,
338
+
339
+ /**
340
+ * @generated from enum value: AUDIT_ACTION_CLIENT_DELETED = 20;
341
+ */
342
+ CLIENT_DELETED = 20,
343
+
344
+ /**
345
+ * @generated from enum value: AUDIT_ACTION_BULK_USERS_CREATED = 21;
346
+ */
347
+ BULK_USERS_CREATED = 21,
348
+
349
+ /**
350
+ * @generated from enum value: AUDIT_ACTION_BULK_USERS_DISABLED = 22;
351
+ */
352
+ BULK_USERS_DISABLED = 22,
353
+
354
+ /**
355
+ * @generated from enum value: AUDIT_ACTION_ORG_CREATED = 23;
356
+ */
357
+ ORG_CREATED = 23,
358
+
359
+ /**
360
+ * @generated from enum value: AUDIT_ACTION_ORG_UPDATED = 24;
361
+ */
362
+ ORG_UPDATED = 24,
363
+
364
+ /**
365
+ * @generated from enum value: AUDIT_ACTION_ORG_DELETED = 25;
366
+ */
367
+ ORG_DELETED = 25,
368
+
369
+ /**
370
+ * @generated from enum value: AUDIT_ACTION_CONSENT_GRANTED = 26;
371
+ */
372
+ CONSENT_GRANTED = 26,
373
+
374
+ /**
375
+ * @generated from enum value: AUDIT_ACTION_CONSENT_DENIED = 27;
376
+ */
377
+ CONSENT_DENIED = 27,
378
+
379
+ /**
380
+ * @generated from enum value: AUDIT_ACTION_CONSENT_REVOKED = 28;
381
+ */
382
+ CONSENT_REVOKED = 28,
383
+
384
+ /**
385
+ * @generated from enum value: AUDIT_ACTION_FEDERATION_LOGIN_STARTED = 29;
386
+ */
387
+ FEDERATION_LOGIN_STARTED = 29,
388
+
389
+ /**
390
+ * @generated from enum value: AUDIT_ACTION_FEDERATION_LOGIN_COMPLETED = 30;
391
+ */
392
+ FEDERATION_LOGIN_COMPLETED = 30,
393
+
394
+ /**
395
+ * @generated from enum value: AUDIT_ACTION_FEDERATION_ACCOUNT_LINKED = 31;
396
+ */
397
+ FEDERATION_ACCOUNT_LINKED = 31,
398
+
399
+ /**
400
+ * @generated from enum value: AUDIT_ACTION_FEDERATION_ACCOUNT_UNLINKED = 32;
401
+ */
402
+ FEDERATION_ACCOUNT_UNLINKED = 32,
403
+
404
+ /**
405
+ * @generated from enum value: AUDIT_ACTION_FEDERATION_JIT_PROVISIONED = 33;
406
+ */
407
+ FEDERATION_JIT_PROVISIONED = 33,
408
+
409
+ /**
410
+ * @generated from enum value: AUDIT_ACTION_SAML_LOGIN_INITIATED = 34;
411
+ */
412
+ SAML_LOGIN_INITIATED = 34,
413
+
414
+ /**
415
+ * @generated from enum value: AUDIT_ACTION_SAML_LOGIN_COMPLETED = 35;
416
+ */
417
+ SAML_LOGIN_COMPLETED = 35,
418
+
419
+ /**
420
+ * @generated from enum value: AUDIT_ACTION_SAML_LOGIN_FAILED = 36;
421
+ */
422
+ SAML_LOGIN_FAILED = 36,
423
+
424
+ /**
425
+ * @generated from enum value: AUDIT_ACTION_SAML_IDP_AUTHN_REQUEST_RECEIVED = 37;
426
+ */
427
+ SAML_IDP_AUTHN_REQUEST_RECEIVED = 37,
428
+
429
+ /**
430
+ * @generated from enum value: AUDIT_ACTION_SAML_IDP_RESPONSE_ISSUED = 38;
431
+ */
432
+ SAML_IDP_RESPONSE_ISSUED = 38,
433
+
434
+ /**
435
+ * @generated from enum value: AUDIT_ACTION_SAML_IDP_INITIATED_SSO = 39;
436
+ */
437
+ SAML_IDP_INITIATED_SSO = 39,
438
+
439
+ /**
440
+ * @generated from enum value: AUDIT_ACTION_SAML_SLO_REQUESTED = 40;
441
+ */
442
+ SAML_SLO_REQUESTED = 40,
443
+
444
+ /**
445
+ * @generated from enum value: AUDIT_ACTION_SAML_SLO_COMPLETED = 41;
446
+ */
447
+ SAML_SLO_COMPLETED = 41,
448
+
449
+ /**
450
+ * @generated from enum value: AUDIT_ACTION_SCIM_USER_CREATED = 42;
451
+ */
452
+ SCIM_USER_CREATED = 42,
453
+
454
+ /**
455
+ * @generated from enum value: AUDIT_ACTION_SCIM_USER_UPDATED = 43;
456
+ */
457
+ SCIM_USER_UPDATED = 43,
458
+
459
+ /**
460
+ * @generated from enum value: AUDIT_ACTION_SCIM_USER_DELETED = 44;
461
+ */
462
+ SCIM_USER_DELETED = 44,
463
+
464
+ /**
465
+ * @generated from enum value: AUDIT_ACTION_SCIM_GROUP_CREATED = 45;
466
+ */
467
+ SCIM_GROUP_CREATED = 45,
468
+
469
+ /**
470
+ * @generated from enum value: AUDIT_ACTION_SCIM_GROUP_UPDATED = 46;
471
+ */
472
+ SCIM_GROUP_UPDATED = 46,
473
+
474
+ /**
475
+ * @generated from enum value: AUDIT_ACTION_SCIM_GROUP_DELETED = 47;
476
+ */
477
+ SCIM_GROUP_DELETED = 47,
478
+
479
+ /**
480
+ * @generated from enum value: AUDIT_ACTION_ROLE_ASSIGNED = 48;
481
+ */
482
+ ROLE_ASSIGNED = 48,
483
+
484
+ /**
485
+ * @generated from enum value: AUDIT_ACTION_ROLE_REVOKED = 49;
486
+ */
487
+ ROLE_REVOKED = 49,
488
+
489
+ /**
490
+ * @generated from enum value: AUDIT_ACTION_CLEANUP = 50;
491
+ */
492
+ CLEANUP = 50,
493
+
494
+ /**
495
+ * RBAC group management
496
+ *
497
+ * @generated from enum value: AUDIT_ACTION_GROUP_CREATED = 51;
498
+ */
499
+ GROUP_CREATED = 51,
500
+
501
+ /**
502
+ * @generated from enum value: AUDIT_ACTION_GROUP_UPDATED = 52;
503
+ */
504
+ GROUP_UPDATED = 52,
505
+
506
+ /**
507
+ * @generated from enum value: AUDIT_ACTION_GROUP_DELETED = 53;
508
+ */
509
+ GROUP_DELETED = 53,
510
+
511
+ /**
512
+ * @generated from enum value: AUDIT_ACTION_GROUP_MEMBER_ADDED = 54;
513
+ */
514
+ GROUP_MEMBER_ADDED = 54,
515
+
516
+ /**
517
+ * @generated from enum value: AUDIT_ACTION_GROUP_MEMBER_REMOVED = 55;
518
+ */
519
+ GROUP_MEMBER_REMOVED = 55,
520
+
521
+ /**
522
+ * @generated from enum value: AUDIT_ACTION_GROUP_MEMBER_ROLE_CHANGED = 56;
523
+ */
524
+ GROUP_MEMBER_ROLE_CHANGED = 56,
525
+
526
+ /**
527
+ * Permission management
528
+ *
529
+ * @generated from enum value: AUDIT_ACTION_ORPHANED_REFERENCE_SKIPPED = 57;
530
+ */
531
+ ORPHANED_REFERENCE_SKIPPED = 57,
532
+
533
+ /**
534
+ * @generated from enum value: AUDIT_ACTION_USER_PERMISSION_GRANTED = 58;
535
+ */
536
+ USER_PERMISSION_GRANTED = 58,
537
+
538
+ /**
539
+ * @generated from enum value: AUDIT_ACTION_USER_PERMISSION_REVOKED = 59;
540
+ */
541
+ USER_PERMISSION_REVOKED = 59,
542
+
543
+ /**
544
+ * @generated from enum value: AUDIT_ACTION_CLIENT_CONSENT_GRANTED = 60;
545
+ */
546
+ CLIENT_CONSENT_GRANTED = 60,
547
+
548
+ /**
549
+ * @generated from enum value: AUDIT_ACTION_CLIENT_CONSENT_REVOKED = 61;
550
+ */
551
+ CLIENT_CONSENT_REVOKED = 61,
552
+
553
+ /**
554
+ * @generated from enum value: AUDIT_ACTION_CONSENT_REQUIRED_ON_REFRESH = 62;
555
+ */
556
+ CONSENT_REQUIRED_ON_REFRESH = 62,
557
+
558
+ /**
559
+ * Login events
560
+ *
561
+ * @generated from enum value: AUDIT_ACTION_LOGIN_FAILED = 63;
562
+ */
563
+ LOGIN_FAILED = 63,
564
+
565
+ /**
566
+ * @generated from enum value: AUDIT_ACTION_LOGIN_LOCKED = 64;
567
+ */
568
+ LOGIN_LOCKED = 64,
569
+
570
+ /**
571
+ * @generated from enum value: AUDIT_ACTION_IP_LOGIN_LIMIT_EXCEEDED = 65;
572
+ */
573
+ IP_LOGIN_LIMIT_EXCEEDED = 65,
574
+
575
+ /**
576
+ * Backup and export
577
+ *
578
+ * @generated from enum value: AUDIT_ACTION_BACKUP_CREATED = 66;
579
+ */
580
+ BACKUP_CREATED = 66,
581
+
582
+ /**
583
+ * @generated from enum value: AUDIT_ACTION_BACKUP_RESTORED = 67;
584
+ */
585
+ BACKUP_RESTORED = 67,
586
+
587
+ /**
588
+ * @generated from enum value: AUDIT_ACTION_REALM_EXPORT_WATERMARKED = 68;
589
+ */
590
+ REALM_EXPORT_WATERMARKED = 68,
591
+
592
+ /**
593
+ * Required actions
594
+ *
595
+ * @generated from enum value: AUDIT_ACTION_REQUIRED_ACTION_ASSIGNED = 69;
596
+ */
597
+ REQUIRED_ACTION_ASSIGNED = 69,
598
+
599
+ /**
600
+ * @generated from enum value: AUDIT_ACTION_REQUIRED_ACTION_REMOVED = 70;
601
+ */
602
+ REQUIRED_ACTION_REMOVED = 70,
603
+
604
+ /**
605
+ * @generated from enum value: AUDIT_ACTION_REQUIRED_ACTION_COMPLETED = 71;
606
+ */
607
+ REQUIRED_ACTION_COMPLETED = 71,
608
+
609
+ /**
610
+ * @generated from enum value: AUDIT_ACTION_REQUIRED_ACTION_AUTO_CLEARED = 72;
611
+ */
612
+ REQUIRED_ACTION_AUTO_CLEARED = 72,
613
+
614
+ /**
615
+ * Password security
616
+ *
617
+ * @generated from enum value: AUDIT_ACTION_PASSWORD_COMPROMISED_REJECTED = 73;
618
+ */
619
+ PASSWORD_COMPROMISED_REJECTED = 73,
620
+
621
+ /**
622
+ * @generated from enum value: AUDIT_ACTION_BREACH_CHECK_UNAVAILABLE = 74;
623
+ */
624
+ BREACH_CHECK_UNAVAILABLE = 74,
625
+
626
+ /**
627
+ * Adaptive MFA / step-up
628
+ *
629
+ * @generated from enum value: AUDIT_ACTION_STEP_UP_MFA_TRIGGERED = 75;
630
+ */
631
+ STEP_UP_MFA_TRIGGERED = 75,
632
+
633
+ /**
634
+ * @generated from enum value: AUDIT_ACTION_STEP_UP_MFA_COMPLETED = 76;
635
+ */
636
+ STEP_UP_MFA_COMPLETED = 76,
637
+
638
+ /**
639
+ * SMS OTP enrollment
640
+ *
641
+ * @generated from enum value: AUDIT_ACTION_SMS_OTP_ENROLLMENT_STARTED = 77;
642
+ */
643
+ SMS_OTP_ENROLLMENT_STARTED = 77,
644
+
645
+ /**
646
+ * @generated from enum value: AUDIT_ACTION_SMS_OTP_ENROLLMENT_VERIFIED = 78;
647
+ */
648
+ SMS_OTP_ENROLLMENT_VERIFIED = 78,
649
+
650
+ /**
651
+ * @generated from enum value: AUDIT_ACTION_SMS_OTP_ENROLLMENT_FAILED = 79;
652
+ */
653
+ SMS_OTP_ENROLLMENT_FAILED = 79,
654
+
655
+ /**
656
+ * SMS MFA challenges
657
+ *
658
+ * @generated from enum value: AUDIT_ACTION_SMS_MFA_CHALLENGE_SUCCEEDED = 80;
659
+ */
660
+ SMS_MFA_CHALLENGE_SUCCEEDED = 80,
661
+
662
+ /**
663
+ * @generated from enum value: AUDIT_ACTION_SMS_MFA_CHALLENGE_FAILED = 81;
664
+ */
665
+ SMS_MFA_CHALLENGE_FAILED = 81,
666
+
667
+ /**
668
+ * @generated from enum value: AUDIT_ACTION_SMS_MFA_LOCKED = 82;
669
+ */
670
+ SMS_MFA_LOCKED = 82,
671
+
672
+ /**
673
+ * Device fingerprints
674
+ *
675
+ * @generated from enum value: AUDIT_ACTION_DEVICE_FINGERPRINTS_ERASED = 83;
676
+ */
677
+ DEVICE_FINGERPRINTS_ERASED = 83,
678
+
679
+ /**
680
+ * Session management
681
+ *
682
+ * @generated from enum value: AUDIT_ACTION_SESSION_LIMIT_ENFORCED = 84;
683
+ */
684
+ SESSION_LIMIT_ENFORCED = 84,
685
+
686
+ /**
687
+ * @generated from enum value: AUDIT_ACTION_SESSIONS_REVOKED = 85;
688
+ */
689
+ SESSIONS_REVOKED = 85,
690
+
691
+ /**
692
+ * @generated from enum value: AUDIT_ACTION_SESSION_EVICTED = 86;
693
+ */
694
+ SESSION_EVICTED = 86,
695
+
696
+ /**
697
+ * Abuse detection
698
+ *
699
+ * @generated from enum value: AUDIT_ACTION_ABUSE_DETECTED = 87;
700
+ */
701
+ ABUSE_DETECTED = 87,
702
+
703
+ /**
704
+ * Email change
705
+ *
706
+ * @generated from enum value: AUDIT_ACTION_EMAIL_CHANGE_INITIATED = 88;
707
+ */
708
+ EMAIL_CHANGE_INITIATED = 88,
709
+
710
+ /**
711
+ * @generated from enum value: AUDIT_ACTION_EMAIL_CHANGE_CONFIRMED = 89;
712
+ */
713
+ EMAIL_CHANGE_CONFIRMED = 89,
714
+
715
+ /**
716
+ * OIDC silent auth
717
+ *
718
+ * @generated from enum value: AUDIT_ACTION_OIDC_SILENT_AUTH_PROBED = 90;
719
+ */
720
+ OIDC_SILENT_AUTH_PROBED = 90,
721
+
722
+ /**
723
+ * Agent lifecycle
724
+ *
725
+ * @generated from enum value: AUDIT_ACTION_AGENT_CREATED = 91;
726
+ */
727
+ AGENT_CREATED = 91,
728
+
729
+ /**
730
+ * @generated from enum value: AUDIT_ACTION_AGENT_UPDATED = 92;
731
+ */
732
+ AGENT_UPDATED = 92,
733
+
734
+ /**
735
+ * @generated from enum value: AUDIT_ACTION_AGENT_SUSPENDED = 93;
736
+ */
737
+ AGENT_SUSPENDED = 93,
738
+
739
+ /**
740
+ * @generated from enum value: AUDIT_ACTION_AGENT_REACTIVATED = 94;
741
+ */
742
+ AGENT_REACTIVATED = 94,
743
+
744
+ /**
745
+ * @generated from enum value: AUDIT_ACTION_AGENT_REVOKED = 95;
746
+ */
747
+ AGENT_REVOKED = 95,
748
+
749
+ /**
750
+ * @generated from enum value: AUDIT_ACTION_AGENT_DELETED = 96;
751
+ */
752
+ AGENT_DELETED = 96,
753
+
754
+ /**
755
+ * @generated from enum value: AUDIT_ACTION_AGENT_CREDENTIAL_CREATED = 97;
756
+ */
757
+ AGENT_CREDENTIAL_CREATED = 97,
758
+
759
+ /**
760
+ * @generated from enum value: AUDIT_ACTION_AGENT_CREDENTIAL_REVOKED = 98;
761
+ */
762
+ AGENT_CREDENTIAL_REVOKED = 98,
763
+
764
+ /**
765
+ * Agent delegation and MCP (M2)
766
+ *
767
+ * @generated from enum value: AUDIT_ACTION_AGENT_DELEGATION = 99;
768
+ */
769
+ AGENT_DELEGATION = 99,
770
+
771
+ /**
772
+ * @generated from enum value: AUDIT_ACTION_AGENT_TOOL_INVOCATION = 100;
773
+ */
774
+ AGENT_TOOL_INVOCATION = 100,
775
+
776
+ /**
777
+ * @generated from enum value: AUDIT_ACTION_APPROVAL_REQUESTED = 101;
778
+ */
779
+ APPROVAL_REQUESTED = 101,
780
+
781
+ /**
782
+ * @generated from enum value: AUDIT_ACTION_APPROVAL_GRANTED = 102;
783
+ */
784
+ APPROVAL_GRANTED = 102,
785
+
786
+ /**
787
+ * @generated from enum value: AUDIT_ACTION_APPROVAL_DENIED = 103;
788
+ */
789
+ APPROVAL_DENIED = 103,
790
+
791
+ /**
792
+ * @generated from enum value: AUDIT_ACTION_AGENT_TOKEN_REVOKED = 104;
793
+ */
794
+ AGENT_TOKEN_REVOKED = 104,
795
+
796
+ /**
797
+ * @generated from enum value: AUDIT_ACTION_CROSS_REALM_TRUST_CREATED = 105;
798
+ */
799
+ CROSS_REALM_TRUST_CREATED = 105,
800
+
801
+ /**
802
+ * @generated from enum value: AUDIT_ACTION_CROSS_REALM_TRUST_REVOKED = 106;
803
+ */
804
+ CROSS_REALM_TRUST_REVOKED = 106,
805
+
806
+ /**
807
+ * @generated from enum value: AUDIT_ACTION_PROTECTED_RESOURCE_REGISTERED = 107;
808
+ */
809
+ PROTECTED_RESOURCE_REGISTERED = 107,
810
+
811
+ /**
812
+ * @generated from enum value: AUDIT_ACTION_PROTECTED_RESOURCE_UPDATED = 108;
813
+ */
814
+ PROTECTED_RESOURCE_UPDATED = 108,
815
+
816
+ /**
817
+ * @generated from enum value: AUDIT_ACTION_PROTECTED_RESOURCE_DELETED = 109;
818
+ */
819
+ PROTECTED_RESOURCE_DELETED = 109,
820
+
821
+ /**
822
+ * Phase D — advanced agent surface
823
+ *
824
+ * @generated from enum value: AUDIT_ACTION_AAT_ISSUED = 110;
825
+ */
826
+ AAT_ISSUED = 110,
827
+
828
+ /**
829
+ * @generated from enum value: AUDIT_ACTION_AAT_REVOKED = 111;
830
+ */
831
+ AAT_REVOKED = 111,
832
+
833
+ /**
834
+ * @generated from enum value: AUDIT_ACTION_TRANSACTION_TOKEN_ISSUED = 112;
835
+ */
836
+ TRANSACTION_TOKEN_ISSUED = 112,
837
+
838
+ /**
839
+ * @generated from enum value: AUDIT_ACTION_CROSS_REALM_TOKEN_ISSUED = 113;
840
+ */
841
+ CROSS_REALM_TOKEN_ISSUED = 113,
842
+
843
+ /**
844
+ * @generated from enum value: AUDIT_ACTION_SPIFFE_ID_MAPPED = 114;
845
+ */
846
+ SPIFFE_ID_MAPPED = 114,
847
+
848
+ /**
849
+ * @generated from enum value: AUDIT_ACTION_SPIFFE_AUTH_SUCCESS = 115;
850
+ */
851
+ SPIFFE_AUTH_SUCCESS = 115,
852
+ }
853
+
854
+ /**
855
+ * Describes the enum hearth.events.v1.AuditAction.
856
+ */
857
+ export const AuditActionSchema: GenEnum<AuditAction> = /*@__PURE__*/
858
+ enumDesc(file_hearth_events_v1_audit, 0);
859
+
860
+ /**
861
+ * @generated from service hearth.events.v1.AuditService
862
+ */
863
+ export const AuditService: GenService<{
864
+ /**
865
+ * Query audit events with optional filters. Maps to GET /admin/audit.
866
+ *
867
+ * @generated from rpc hearth.events.v1.AuditService.ListEvents
868
+ */
869
+ listEvents: {
870
+ methodKind: "unary";
871
+ input: typeof AuditQuerySchema;
872
+ output: typeof AuditEventPageSchema;
873
+ },
874
+ /**
875
+ * Verify the integrity hash chain — gRPC-only (no REST route yet).
876
+ *
877
+ * @generated from rpc hearth.events.v1.AuditService.VerifyIntegrity
878
+ */
879
+ verifyIntegrity: {
880
+ methodKind: "unary";
881
+ input: typeof VerifyIntegrityRequestSchema;
882
+ output: typeof VerifyIntegrityResponseSchema;
883
+ },
884
+ }> = /*@__PURE__*/
885
+ serviceDesc(file_hearth_events_v1_audit, 0);
886
+