@structured-id/ui-core 0.1.5

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 (156) hide show
  1. package/LICENSE +661 -0
  2. package/README.md +47 -0
  3. package/dist/browser-vp/index.cjs +349 -0
  4. package/dist/browser-vp/index.d.cts +287 -0
  5. package/dist/browser-vp/index.d.ts +287 -0
  6. package/dist/browser-vp/index.js +349 -0
  7. package/dist/chunk-C3Q766CY.cjs +125 -0
  8. package/dist/chunk-J5YXRXB5.js +125 -0
  9. package/dist/index.cjs +19360 -0
  10. package/dist/index.d.cts +9536 -0
  11. package/dist/index.d.ts +9536 -0
  12. package/dist/index.js +19360 -0
  13. package/dist/storage-4CB2JTLW.cjs +22 -0
  14. package/dist/storage-THRWREZP.js +22 -0
  15. package/package.json +93 -0
  16. package/src/browser-vp/crypto.ts +254 -0
  17. package/src/browser-vp/index.test.ts +10 -0
  18. package/src/browser-vp/index.ts +118 -0
  19. package/src/browser-vp/prf.ts +181 -0
  20. package/src/browser-vp/storage.test.ts +9 -0
  21. package/src/browser-vp/storage.ts +165 -0
  22. package/src/browser-vp/types.ts +97 -0
  23. package/src/browser-vp/vp.test.ts +43 -0
  24. package/src/browser-vp/vp.ts +113 -0
  25. package/src/components/SidAvatar.vue +106 -0
  26. package/src/components/SidConfirmDialog.vue +125 -0
  27. package/src/components/SidStatusBadge.vue +71 -0
  28. package/src/components/index.ts +5 -0
  29. package/src/composables/index.ts +10 -0
  30. package/src/composables/useAuth.ts +40 -0
  31. package/src/composables/useBffAuth.ts +147 -0
  32. package/src/composables/useGrpc.test.ts +196 -0
  33. package/src/composables/useGrpc.ts +120 -0
  34. package/src/composables/useSession.ts +80 -0
  35. package/src/generated/google/api/http.ts +687 -0
  36. package/src/generated/google/protobuf/descriptor.ts +4865 -0
  37. package/src/generated/google/protobuf/duration.ts +230 -0
  38. package/src/generated/google/protobuf/empty.ts +94 -0
  39. package/src/generated/google/protobuf/struct.ts +484 -0
  40. package/src/generated/google/protobuf/timestamp.ts +287 -0
  41. package/src/generated/sid/v1/account/account.client.ts +527 -0
  42. package/src/generated/sid/v1/account/account.ts +3261 -0
  43. package/src/generated/sid/v1/admin/admin.client.ts +136 -0
  44. package/src/generated/sid/v1/admin/admin.ts +846 -0
  45. package/src/generated/sid/v1/admin/admin_roles.client.ts +181 -0
  46. package/src/generated/sid/v1/admin/admin_roles.ts +1606 -0
  47. package/src/generated/sid/v1/admin/analytics.client.ts +106 -0
  48. package/src/generated/sid/v1/admin/analytics.ts +1017 -0
  49. package/src/generated/sid/v1/admin/branding.client.ts +166 -0
  50. package/src/generated/sid/v1/admin/branding.ts +1906 -0
  51. package/src/generated/sid/v1/admin/enrollment.client.ts +165 -0
  52. package/src/generated/sid/v1/admin/enrollment.ts +1704 -0
  53. package/src/generated/sid/v1/admin/events.client.ts +195 -0
  54. package/src/generated/sid/v1/admin/events.ts +1900 -0
  55. package/src/generated/sid/v1/admin/flow.client.ts +183 -0
  56. package/src/generated/sid/v1/admin/flow.ts +1552 -0
  57. package/src/generated/sid/v1/admin/keys.client.ts +107 -0
  58. package/src/generated/sid/v1/admin/keys.ts +931 -0
  59. package/src/generated/sid/v1/admin/login_experience.client.ts +160 -0
  60. package/src/generated/sid/v1/admin/login_experience.ts +1061 -0
  61. package/src/generated/sid/v1/admin/migration.client.ts +127 -0
  62. package/src/generated/sid/v1/admin/migration.ts +1948 -0
  63. package/src/generated/sid/v1/admin/notifications.client.ts +128 -0
  64. package/src/generated/sid/v1/admin/notifications.ts +1332 -0
  65. package/src/generated/sid/v1/admin/operations.client.ts +241 -0
  66. package/src/generated/sid/v1/admin/operations.ts +2648 -0
  67. package/src/generated/sid/v1/admin/organizations.client.ts +57 -0
  68. package/src/generated/sid/v1/admin/organizations.ts +349 -0
  69. package/src/generated/sid/v1/admin/scopes.client.ts +171 -0
  70. package/src/generated/sid/v1/admin/scopes.ts +1324 -0
  71. package/src/generated/sid/v1/admin/security.client.ts +412 -0
  72. package/src/generated/sid/v1/admin/security.ts +4086 -0
  73. package/src/generated/sid/v1/admin/sessions.client.ts +114 -0
  74. package/src/generated/sid/v1/admin/sessions.ts +923 -0
  75. package/src/generated/sid/v1/admin/settings.client.ts +340 -0
  76. package/src/generated/sid/v1/admin/settings.ts +2395 -0
  77. package/src/generated/sid/v1/admin/user_profile.client.ts +57 -0
  78. package/src/generated/sid/v1/admin/user_profile.ts +730 -0
  79. package/src/generated/sid/v1/admin/webhooks.client.ts +269 -0
  80. package/src/generated/sid/v1/admin/webhooks.ts +2804 -0
  81. package/src/generated/sid/v1/attestation/attestation.client.ts +115 -0
  82. package/src/generated/sid/v1/attestation/attestation.ts +813 -0
  83. package/src/generated/sid/v1/authn/auth.client.ts +900 -0
  84. package/src/generated/sid/v1/authn/auth.ts +9287 -0
  85. package/src/generated/sid/v1/authn/flows.client.ts +413 -0
  86. package/src/generated/sid/v1/authn/flows.ts +3217 -0
  87. package/src/generated/sid/v1/authz/authz.client.ts +459 -0
  88. package/src/generated/sid/v1/authz/authz.ts +5343 -0
  89. package/src/generated/sid/v1/authz/governance.client.ts +102 -0
  90. package/src/generated/sid/v1/authz/governance.ts +818 -0
  91. package/src/generated/sid/v1/common/errors.ts +184 -0
  92. package/src/generated/sid/v1/common/pagination.ts +152 -0
  93. package/src/generated/sid/v1/common/transport.ts +227 -0
  94. package/src/generated/sid/v1/common/types.ts +151 -0
  95. package/src/generated/sid/v1/events/event_stream.client.ts +67 -0
  96. package/src/generated/sid/v1/events/event_stream.ts +374 -0
  97. package/src/generated/sid/v1/federation/upstream.client.ts +142 -0
  98. package/src/generated/sid/v1/federation/upstream.ts +1736 -0
  99. package/src/generated/sid/v1/identity/identity.client.ts +467 -0
  100. package/src/generated/sid/v1/identity/identity.ts +5613 -0
  101. package/src/generated/sid/v1/machine/machine_user.client.ts +219 -0
  102. package/src/generated/sid/v1/machine/machine_user.ts +2400 -0
  103. package/src/generated/sid/v1/machine/pat.client.ts +147 -0
  104. package/src/generated/sid/v1/machine/pat.ts +1268 -0
  105. package/src/generated/sid/v1/projects/projects.client.ts +286 -0
  106. package/src/generated/sid/v1/projects/projects.ts +2714 -0
  107. package/src/generated/sid/v1/scim/scim.client.ts +274 -0
  108. package/src/generated/sid/v1/scim/scim.ts +3043 -0
  109. package/src/generated/sid/v1/test/test.client.ts +232 -0
  110. package/src/generated/sid/v1/test/test.ts +1136 -0
  111. package/src/i18n/index.ts +40 -0
  112. package/src/index.ts +157 -0
  113. package/src/profile/auth.ts +15 -0
  114. package/src/profile/components/ConsentManager.vue +88 -0
  115. package/src/profile/components/ProfileEditor.vue +146 -0
  116. package/src/profile/components/SecuritySettings.vue +170 -0
  117. package/src/profile/components/SessionList.vue +100 -0
  118. package/src/profile/components/SidLoginForm.test.ts +80 -0
  119. package/src/profile/components/SidLoginForm.vue +230 -0
  120. package/src/profile/components/SidMfaChallenge.test.ts +127 -0
  121. package/src/profile/components/SidMfaChallenge.vue +243 -0
  122. package/src/profile/components/SidRegistrationForm.test.ts +79 -0
  123. package/src/profile/components/SidRegistrationForm.vue +317 -0
  124. package/src/profile/components/index.ts +11 -0
  125. package/src/profile/composables/index.ts +6 -0
  126. package/src/profile/composables/useAccountApi.ts +203 -0
  127. package/src/profile/composables/useAuthApi.opaque.test.ts +140 -0
  128. package/src/profile/composables/useAuthApi.ts +617 -0
  129. package/src/profile/composables/useIdentityApi.ts +123 -0
  130. package/src/profile/composables/useLoginSuccess.test.ts +112 -0
  131. package/src/profile/composables/useLoginSuccess.ts +65 -0
  132. package/src/profile/composables/useOpaqueAuth.test.ts +290 -0
  133. package/src/profile/composables/useOpaqueAuth.ts +191 -0
  134. package/src/profile/composables/useSecurityLevel.test.ts +198 -0
  135. package/src/profile/composables/useSecurityLevel.ts +324 -0
  136. package/src/profile/index.ts +18 -0
  137. package/src/quasar/SidPrincipalInput.vue +209 -0
  138. package/src/quasar/index.ts +8 -0
  139. package/src/stores/auth.test.ts +83 -0
  140. package/src/stores/auth.ts +92 -0
  141. package/src/stores/index.ts +1 -0
  142. package/src/transport/adaptive.test.ts +728 -0
  143. package/src/transport/adaptive.ts +308 -0
  144. package/src/transport/framing.test.ts +227 -0
  145. package/src/transport/framing.ts +98 -0
  146. package/src/transport/webtransport.test.ts +728 -0
  147. package/src/transport/webtransport.ts +323 -0
  148. package/src/types/auth.ts +58 -0
  149. package/src/types/index.ts +1 -0
  150. package/src/utils/formatters.test.ts +26 -0
  151. package/src/utils/formatters.ts +69 -0
  152. package/src/utils/index.ts +16 -0
  153. package/src/utils/normalizePrincipal.test.ts +188 -0
  154. package/src/utils/normalizePrincipal.ts +159 -0
  155. package/src/utils/validators.test.ts +75 -0
  156. package/src/utils/validators.ts +36 -0
@@ -0,0 +1,151 @@
1
+ // @generated by protobuf-ts 2.11.1 with parameter client_generic,generate_dependencies
2
+ // @generated from protobuf file "sid/v1/common/types.proto" (package "sid.v1.common", syntax proto3)
3
+ // tslint:disable
4
+ import type { BinaryWriteOptions } from "@protobuf-ts/runtime";
5
+ import type { IBinaryWriter } from "@protobuf-ts/runtime";
6
+ import { WireType } from "@protobuf-ts/runtime";
7
+ import type { BinaryReadOptions } from "@protobuf-ts/runtime";
8
+ import type { IBinaryReader } from "@protobuf-ts/runtime";
9
+ import { UnknownFieldHandler } from "@protobuf-ts/runtime";
10
+ import type { PartialMessage } from "@protobuf-ts/runtime";
11
+ import { reflectionMergePartial } from "@protobuf-ts/runtime";
12
+ import { MessageType } from "@protobuf-ts/runtime";
13
+ import { Timestamp } from "../../../google/protobuf/timestamp";
14
+ /**
15
+ * Reusable time range filter.
16
+ *
17
+ * @generated from protobuf message sid.v1.common.TimeRange
18
+ */
19
+ export interface TimeRange {
20
+ /**
21
+ * @generated from protobuf field: optional google.protobuf.Timestamp from = 1
22
+ */
23
+ from?: Timestamp;
24
+ /**
25
+ * @generated from protobuf field: optional google.protobuf.Timestamp to = 2
26
+ */
27
+ to?: Timestamp;
28
+ }
29
+ /**
30
+ * Sort specification for list queries.
31
+ *
32
+ * @generated from protobuf message sid.v1.common.SortOrder
33
+ */
34
+ export interface SortOrder {
35
+ /**
36
+ * @generated from protobuf field: string field = 1
37
+ */
38
+ field: string; // Field name to sort by
39
+ /**
40
+ * @generated from protobuf field: bool descending = 2
41
+ */
42
+ descending: boolean; // true = DESC, false = ASC (default)
43
+ }
44
+ // @generated message type with reflection information, may provide speed optimized methods
45
+ class TimeRange$Type extends MessageType<TimeRange> {
46
+ constructor() {
47
+ super("sid.v1.common.TimeRange", [
48
+ { no: 1, name: "from", kind: "message", T: () => Timestamp },
49
+ { no: 2, name: "to", kind: "message", T: () => Timestamp }
50
+ ]);
51
+ }
52
+ create(value?: PartialMessage<TimeRange>): TimeRange {
53
+ const message = globalThis.Object.create((this.messagePrototype!));
54
+ if (value !== undefined)
55
+ reflectionMergePartial<TimeRange>(this, message, value);
56
+ return message;
57
+ }
58
+ internalBinaryRead(reader: IBinaryReader, length: number, options: BinaryReadOptions, target?: TimeRange): TimeRange {
59
+ let message = target ?? this.create(), end = reader.pos + length;
60
+ while (reader.pos < end) {
61
+ let [fieldNo, wireType] = reader.tag();
62
+ switch (fieldNo) {
63
+ case /* optional google.protobuf.Timestamp from */ 1:
64
+ message.from = Timestamp.internalBinaryRead(reader, reader.uint32(), options, message.from);
65
+ break;
66
+ case /* optional google.protobuf.Timestamp to */ 2:
67
+ message.to = Timestamp.internalBinaryRead(reader, reader.uint32(), options, message.to);
68
+ break;
69
+ default:
70
+ let u = options.readUnknownField;
71
+ if (u === "throw")
72
+ throw new globalThis.Error(`Unknown field ${fieldNo} (wire type ${wireType}) for ${this.typeName}`);
73
+ let d = reader.skip(wireType);
74
+ if (u !== false)
75
+ (u === true ? UnknownFieldHandler.onRead : u)(this.typeName, message, fieldNo, wireType, d);
76
+ }
77
+ }
78
+ return message;
79
+ }
80
+ internalBinaryWrite(message: TimeRange, writer: IBinaryWriter, options: BinaryWriteOptions): IBinaryWriter {
81
+ /* optional google.protobuf.Timestamp from = 1; */
82
+ if (message.from)
83
+ Timestamp.internalBinaryWrite(message.from, writer.tag(1, WireType.LengthDelimited).fork(), options).join();
84
+ /* optional google.protobuf.Timestamp to = 2; */
85
+ if (message.to)
86
+ Timestamp.internalBinaryWrite(message.to, writer.tag(2, WireType.LengthDelimited).fork(), options).join();
87
+ let u = options.writeUnknownFields;
88
+ if (u !== false)
89
+ (u == true ? UnknownFieldHandler.onWrite : u)(this.typeName, message, writer);
90
+ return writer;
91
+ }
92
+ }
93
+ /**
94
+ * @generated MessageType for protobuf message sid.v1.common.TimeRange
95
+ */
96
+ export const TimeRange = new TimeRange$Type();
97
+ // @generated message type with reflection information, may provide speed optimized methods
98
+ class SortOrder$Type extends MessageType<SortOrder> {
99
+ constructor() {
100
+ super("sid.v1.common.SortOrder", [
101
+ { no: 1, name: "field", kind: "scalar", T: 9 /*ScalarType.STRING*/ },
102
+ { no: 2, name: "descending", kind: "scalar", T: 8 /*ScalarType.BOOL*/ }
103
+ ]);
104
+ }
105
+ create(value?: PartialMessage<SortOrder>): SortOrder {
106
+ const message = globalThis.Object.create((this.messagePrototype!));
107
+ message.field = "";
108
+ message.descending = false;
109
+ if (value !== undefined)
110
+ reflectionMergePartial<SortOrder>(this, message, value);
111
+ return message;
112
+ }
113
+ internalBinaryRead(reader: IBinaryReader, length: number, options: BinaryReadOptions, target?: SortOrder): SortOrder {
114
+ let message = target ?? this.create(), end = reader.pos + length;
115
+ while (reader.pos < end) {
116
+ let [fieldNo, wireType] = reader.tag();
117
+ switch (fieldNo) {
118
+ case /* string field */ 1:
119
+ message.field = reader.string();
120
+ break;
121
+ case /* bool descending */ 2:
122
+ message.descending = reader.bool();
123
+ break;
124
+ default:
125
+ let u = options.readUnknownField;
126
+ if (u === "throw")
127
+ throw new globalThis.Error(`Unknown field ${fieldNo} (wire type ${wireType}) for ${this.typeName}`);
128
+ let d = reader.skip(wireType);
129
+ if (u !== false)
130
+ (u === true ? UnknownFieldHandler.onRead : u)(this.typeName, message, fieldNo, wireType, d);
131
+ }
132
+ }
133
+ return message;
134
+ }
135
+ internalBinaryWrite(message: SortOrder, writer: IBinaryWriter, options: BinaryWriteOptions): IBinaryWriter {
136
+ /* string field = 1; */
137
+ if (message.field !== "")
138
+ writer.tag(1, WireType.LengthDelimited).string(message.field);
139
+ /* bool descending = 2; */
140
+ if (message.descending !== false)
141
+ writer.tag(2, WireType.Varint).bool(message.descending);
142
+ let u = options.writeUnknownFields;
143
+ if (u !== false)
144
+ (u == true ? UnknownFieldHandler.onWrite : u)(this.typeName, message, writer);
145
+ return writer;
146
+ }
147
+ }
148
+ /**
149
+ * @generated MessageType for protobuf message sid.v1.common.SortOrder
150
+ */
151
+ export const SortOrder = new SortOrder$Type();
@@ -0,0 +1,67 @@
1
+ // @generated by protobuf-ts 2.11.1 with parameter client_generic,generate_dependencies
2
+ // @generated from protobuf file "sid/v1/events/event_stream.proto" (package "sid.v1.events", syntax proto3)
3
+ // tslint:disable
4
+ import type { RpcTransport } from "@protobuf-ts/runtime-rpc";
5
+ import type { ServiceInfo } from "@protobuf-ts/runtime-rpc";
6
+ import { EventStreamService } from "./event_stream";
7
+ import type { ReplayRequest } from "./event_stream";
8
+ import { stackIntercept } from "@protobuf-ts/runtime-rpc";
9
+ import type { CloudEvent } from "./event_stream";
10
+ import type { SubscribeRequest } from "./event_stream";
11
+ import type { ServerStreamingCall } from "@protobuf-ts/runtime-rpc";
12
+ import type { RpcOptions } from "@protobuf-ts/runtime-rpc";
13
+ // ────────────────────────────────────────────────────────────────────────────
14
+ // EventStreamService — real-time event streaming (CE)
15
+ // ────────────────────────────────────────────────────────────────────────────
16
+
17
+ /**
18
+ * @generated from protobuf service sid.v1.events.EventStreamService
19
+ */
20
+ export interface IEventStreamServiceClient {
21
+ /**
22
+ * Subscribe to real-time event stream.
23
+ * Client specifies event types + optional filters.
24
+ *
25
+ * @generated from protobuf rpc: Subscribe
26
+ */
27
+ subscribe(input: SubscribeRequest, options?: RpcOptions): ServerStreamingCall<SubscribeRequest, CloudEvent>;
28
+ /**
29
+ * Replay events from a point in time (catch-up after disconnect).
30
+ *
31
+ * @generated from protobuf rpc: Replay
32
+ */
33
+ replay(input: ReplayRequest, options?: RpcOptions): ServerStreamingCall<ReplayRequest, CloudEvent>;
34
+ }
35
+ // ────────────────────────────────────────────────────────────────────────────
36
+ // EventStreamService — real-time event streaming (CE)
37
+ // ────────────────────────────────────────────────────────────────────────────
38
+
39
+ /**
40
+ * @generated from protobuf service sid.v1.events.EventStreamService
41
+ */
42
+ export class EventStreamServiceClient implements IEventStreamServiceClient, ServiceInfo {
43
+ typeName = EventStreamService.typeName;
44
+ methods = EventStreamService.methods;
45
+ options = EventStreamService.options;
46
+ constructor(private readonly _transport: RpcTransport) {
47
+ }
48
+ /**
49
+ * Subscribe to real-time event stream.
50
+ * Client specifies event types + optional filters.
51
+ *
52
+ * @generated from protobuf rpc: Subscribe
53
+ */
54
+ subscribe(input: SubscribeRequest, options?: RpcOptions): ServerStreamingCall<SubscribeRequest, CloudEvent> {
55
+ const method = this.methods[0], opt = this._transport.mergeOptions(options);
56
+ return stackIntercept<SubscribeRequest, CloudEvent>("serverStreaming", this._transport, method, opt, input);
57
+ }
58
+ /**
59
+ * Replay events from a point in time (catch-up after disconnect).
60
+ *
61
+ * @generated from protobuf rpc: Replay
62
+ */
63
+ replay(input: ReplayRequest, options?: RpcOptions): ServerStreamingCall<ReplayRequest, CloudEvent> {
64
+ const method = this.methods[1], opt = this._transport.mergeOptions(options);
65
+ return stackIntercept<ReplayRequest, CloudEvent>("serverStreaming", this._transport, method, opt, input);
66
+ }
67
+ }
@@ -0,0 +1,374 @@
1
+ // @generated by protobuf-ts 2.11.1 with parameter client_generic,generate_dependencies
2
+ // @generated from protobuf file "sid/v1/events/event_stream.proto" (package "sid.v1.events", syntax proto3)
3
+ // tslint:disable
4
+ import { ServiceType } from "@protobuf-ts/runtime-rpc";
5
+ import type { BinaryWriteOptions } from "@protobuf-ts/runtime";
6
+ import type { IBinaryWriter } from "@protobuf-ts/runtime";
7
+ import { WireType } from "@protobuf-ts/runtime";
8
+ import type { BinaryReadOptions } from "@protobuf-ts/runtime";
9
+ import type { IBinaryReader } from "@protobuf-ts/runtime";
10
+ import { UnknownFieldHandler } from "@protobuf-ts/runtime";
11
+ import type { PartialMessage } from "@protobuf-ts/runtime";
12
+ import { reflectionMergePartial } from "@protobuf-ts/runtime";
13
+ import { MessageType } from "@protobuf-ts/runtime";
14
+ import { Timestamp } from "../../../google/protobuf/timestamp";
15
+ // ══════════════════════════════════════════════════════════════════════════
16
+ // CloudEvents 1.0 envelope (CNCF standard)
17
+ // Follows official CE proto format with spec_version as explicit field.
18
+ // ══════════════════════════════════════════════════════════════════════════
19
+
20
+ /**
21
+ * @generated from protobuf message sid.v1.events.CloudEvent
22
+ */
23
+ export interface CloudEvent {
24
+ /**
25
+ * REQUIRED: Unique event ID (UUIDv7 or ULID).
26
+ *
27
+ * @generated from protobuf field: string id = 1
28
+ */
29
+ id: string;
30
+ /**
31
+ * REQUIRED: Event source identifier (e.g., "sid-identity.acme.com").
32
+ *
33
+ * @generated from protobuf field: string source = 2
34
+ */
35
+ source: string;
36
+ /**
37
+ * REQUIRED: CloudEvents spec version (always "1.0").
38
+ *
39
+ * @generated from protobuf field: string spec_version = 3
40
+ */
41
+ specVersion: string;
42
+ /**
43
+ * REQUIRED: Event type in reverse-DNS convention (e.g., "sid.user.created.v1").
44
+ *
45
+ * @generated from protobuf field: string type = 4
46
+ */
47
+ type: string;
48
+ /**
49
+ * OPTIONAL: Resource identifier that the event relates to.
50
+ *
51
+ * @generated from protobuf field: string subject = 5
52
+ */
53
+ subject: string;
54
+ /**
55
+ * OPTIONAL: When the event occurred.
56
+ *
57
+ * @generated from protobuf field: google.protobuf.Timestamp time = 6
58
+ */
59
+ time?: Timestamp;
60
+ /**
61
+ * OPTIONAL: Content type of the data payload (default: "application/json").
62
+ *
63
+ * @generated from protobuf field: string datacontenttype = 7
64
+ */
65
+ datacontenttype: string;
66
+ /**
67
+ * Event-specific payload (JSON or protobuf bytes).
68
+ *
69
+ * @generated from protobuf field: bytes data = 8
70
+ */
71
+ data: Uint8Array;
72
+ /**
73
+ * SID extension: monotonic sequence number for ordering within a stream.
74
+ *
75
+ * @generated from protobuf field: uint64 sequence = 9
76
+ */
77
+ sequence: bigint;
78
+ }
79
+ // ══════════════════════════════════════════════════════════════════════════
80
+ // Subscribe / Replay requests
81
+ // ══════════════════════════════════════════════════════════════════════════
82
+
83
+ /**
84
+ * @generated from protobuf message sid.v1.events.SubscribeRequest
85
+ */
86
+ export interface SubscribeRequest {
87
+ /**
88
+ * Event type patterns to subscribe to (e.g., "sid.user.*", "sid.security.>").
89
+ * Empty = all events.
90
+ *
91
+ * @generated from protobuf field: repeated string event_types = 1
92
+ */
93
+ eventTypes: string[];
94
+ /**
95
+ * Attribute filters (key=value). All must match.
96
+ *
97
+ * @generated from protobuf field: map<string, string> filters = 2
98
+ */
99
+ filters: {
100
+ [key: string]: string;
101
+ };
102
+ }
103
+ /**
104
+ * @generated from protobuf message sid.v1.events.ReplayRequest
105
+ */
106
+ export interface ReplayRequest {
107
+ /**
108
+ * Replay events starting from this timestamp.
109
+ *
110
+ * @generated from protobuf field: google.protobuf.Timestamp from = 1
111
+ */
112
+ from?: Timestamp;
113
+ /**
114
+ * Optional: replay up to this timestamp (default: now).
115
+ *
116
+ * @generated from protobuf field: optional google.protobuf.Timestamp to = 2
117
+ */
118
+ to?: Timestamp;
119
+ /**
120
+ * Event type patterns to filter (same as SubscribeRequest).
121
+ *
122
+ * @generated from protobuf field: repeated string event_types = 3
123
+ */
124
+ eventTypes: string[];
125
+ }
126
+ // @generated message type with reflection information, may provide speed optimized methods
127
+ class CloudEvent$Type extends MessageType<CloudEvent> {
128
+ constructor() {
129
+ super("sid.v1.events.CloudEvent", [
130
+ { no: 1, name: "id", kind: "scalar", T: 9 /*ScalarType.STRING*/ },
131
+ { no: 2, name: "source", kind: "scalar", T: 9 /*ScalarType.STRING*/ },
132
+ { no: 3, name: "spec_version", kind: "scalar", T: 9 /*ScalarType.STRING*/ },
133
+ { no: 4, name: "type", kind: "scalar", T: 9 /*ScalarType.STRING*/ },
134
+ { no: 5, name: "subject", kind: "scalar", T: 9 /*ScalarType.STRING*/ },
135
+ { no: 6, name: "time", kind: "message", T: () => Timestamp },
136
+ { no: 7, name: "datacontenttype", kind: "scalar", T: 9 /*ScalarType.STRING*/ },
137
+ { no: 8, name: "data", kind: "scalar", T: 12 /*ScalarType.BYTES*/ },
138
+ { no: 9, name: "sequence", kind: "scalar", T: 4 /*ScalarType.UINT64*/, L: 0 /*LongType.BIGINT*/ }
139
+ ]);
140
+ }
141
+ create(value?: PartialMessage<CloudEvent>): CloudEvent {
142
+ const message = globalThis.Object.create((this.messagePrototype!));
143
+ message.id = "";
144
+ message.source = "";
145
+ message.specVersion = "";
146
+ message.type = "";
147
+ message.subject = "";
148
+ message.datacontenttype = "";
149
+ message.data = new Uint8Array(0);
150
+ message.sequence = 0n;
151
+ if (value !== undefined)
152
+ reflectionMergePartial<CloudEvent>(this, message, value);
153
+ return message;
154
+ }
155
+ internalBinaryRead(reader: IBinaryReader, length: number, options: BinaryReadOptions, target?: CloudEvent): CloudEvent {
156
+ let message = target ?? this.create(), end = reader.pos + length;
157
+ while (reader.pos < end) {
158
+ let [fieldNo, wireType] = reader.tag();
159
+ switch (fieldNo) {
160
+ case /* string id */ 1:
161
+ message.id = reader.string();
162
+ break;
163
+ case /* string source */ 2:
164
+ message.source = reader.string();
165
+ break;
166
+ case /* string spec_version */ 3:
167
+ message.specVersion = reader.string();
168
+ break;
169
+ case /* string type */ 4:
170
+ message.type = reader.string();
171
+ break;
172
+ case /* string subject */ 5:
173
+ message.subject = reader.string();
174
+ break;
175
+ case /* google.protobuf.Timestamp time */ 6:
176
+ message.time = Timestamp.internalBinaryRead(reader, reader.uint32(), options, message.time);
177
+ break;
178
+ case /* string datacontenttype */ 7:
179
+ message.datacontenttype = reader.string();
180
+ break;
181
+ case /* bytes data */ 8:
182
+ message.data = reader.bytes();
183
+ break;
184
+ case /* uint64 sequence */ 9:
185
+ message.sequence = reader.uint64().toBigInt();
186
+ break;
187
+ default:
188
+ let u = options.readUnknownField;
189
+ if (u === "throw")
190
+ throw new globalThis.Error(`Unknown field ${fieldNo} (wire type ${wireType}) for ${this.typeName}`);
191
+ let d = reader.skip(wireType);
192
+ if (u !== false)
193
+ (u === true ? UnknownFieldHandler.onRead : u)(this.typeName, message, fieldNo, wireType, d);
194
+ }
195
+ }
196
+ return message;
197
+ }
198
+ internalBinaryWrite(message: CloudEvent, writer: IBinaryWriter, options: BinaryWriteOptions): IBinaryWriter {
199
+ /* string id = 1; */
200
+ if (message.id !== "")
201
+ writer.tag(1, WireType.LengthDelimited).string(message.id);
202
+ /* string source = 2; */
203
+ if (message.source !== "")
204
+ writer.tag(2, WireType.LengthDelimited).string(message.source);
205
+ /* string spec_version = 3; */
206
+ if (message.specVersion !== "")
207
+ writer.tag(3, WireType.LengthDelimited).string(message.specVersion);
208
+ /* string type = 4; */
209
+ if (message.type !== "")
210
+ writer.tag(4, WireType.LengthDelimited).string(message.type);
211
+ /* string subject = 5; */
212
+ if (message.subject !== "")
213
+ writer.tag(5, WireType.LengthDelimited).string(message.subject);
214
+ /* google.protobuf.Timestamp time = 6; */
215
+ if (message.time)
216
+ Timestamp.internalBinaryWrite(message.time, writer.tag(6, WireType.LengthDelimited).fork(), options).join();
217
+ /* string datacontenttype = 7; */
218
+ if (message.datacontenttype !== "")
219
+ writer.tag(7, WireType.LengthDelimited).string(message.datacontenttype);
220
+ /* bytes data = 8; */
221
+ if (message.data.length)
222
+ writer.tag(8, WireType.LengthDelimited).bytes(message.data);
223
+ /* uint64 sequence = 9; */
224
+ if (message.sequence !== 0n)
225
+ writer.tag(9, WireType.Varint).uint64(message.sequence);
226
+ let u = options.writeUnknownFields;
227
+ if (u !== false)
228
+ (u == true ? UnknownFieldHandler.onWrite : u)(this.typeName, message, writer);
229
+ return writer;
230
+ }
231
+ }
232
+ /**
233
+ * @generated MessageType for protobuf message sid.v1.events.CloudEvent
234
+ */
235
+ export const CloudEvent = new CloudEvent$Type();
236
+ // @generated message type with reflection information, may provide speed optimized methods
237
+ class SubscribeRequest$Type extends MessageType<SubscribeRequest> {
238
+ constructor() {
239
+ super("sid.v1.events.SubscribeRequest", [
240
+ { no: 1, name: "event_types", kind: "scalar", repeat: 2 /*RepeatType.UNPACKED*/, T: 9 /*ScalarType.STRING*/ },
241
+ { no: 2, name: "filters", kind: "map", K: 9 /*ScalarType.STRING*/, V: { kind: "scalar", T: 9 /*ScalarType.STRING*/ } }
242
+ ]);
243
+ }
244
+ create(value?: PartialMessage<SubscribeRequest>): SubscribeRequest {
245
+ const message = globalThis.Object.create((this.messagePrototype!));
246
+ message.eventTypes = [];
247
+ message.filters = {};
248
+ if (value !== undefined)
249
+ reflectionMergePartial<SubscribeRequest>(this, message, value);
250
+ return message;
251
+ }
252
+ internalBinaryRead(reader: IBinaryReader, length: number, options: BinaryReadOptions, target?: SubscribeRequest): SubscribeRequest {
253
+ let message = target ?? this.create(), end = reader.pos + length;
254
+ while (reader.pos < end) {
255
+ let [fieldNo, wireType] = reader.tag();
256
+ switch (fieldNo) {
257
+ case /* repeated string event_types */ 1:
258
+ message.eventTypes.push(reader.string());
259
+ break;
260
+ case /* map<string, string> filters */ 2:
261
+ this.binaryReadMap2(message.filters, reader, options);
262
+ break;
263
+ default:
264
+ let u = options.readUnknownField;
265
+ if (u === "throw")
266
+ throw new globalThis.Error(`Unknown field ${fieldNo} (wire type ${wireType}) for ${this.typeName}`);
267
+ let d = reader.skip(wireType);
268
+ if (u !== false)
269
+ (u === true ? UnknownFieldHandler.onRead : u)(this.typeName, message, fieldNo, wireType, d);
270
+ }
271
+ }
272
+ return message;
273
+ }
274
+ private binaryReadMap2(map: SubscribeRequest["filters"], reader: IBinaryReader, options: BinaryReadOptions): void {
275
+ let len = reader.uint32(), end = reader.pos + len, key: keyof SubscribeRequest["filters"] | undefined, val: SubscribeRequest["filters"][any] | undefined;
276
+ while (reader.pos < end) {
277
+ let [fieldNo, wireType] = reader.tag();
278
+ switch (fieldNo) {
279
+ case 1:
280
+ key = reader.string();
281
+ break;
282
+ case 2:
283
+ val = reader.string();
284
+ break;
285
+ default: throw new globalThis.Error("unknown map entry field for sid.v1.events.SubscribeRequest.filters");
286
+ }
287
+ }
288
+ map[key ?? ""] = val ?? "";
289
+ }
290
+ internalBinaryWrite(message: SubscribeRequest, writer: IBinaryWriter, options: BinaryWriteOptions): IBinaryWriter {
291
+ /* repeated string event_types = 1; */
292
+ for (let i = 0; i < message.eventTypes.length; i++)
293
+ writer.tag(1, WireType.LengthDelimited).string(message.eventTypes[i]);
294
+ /* map<string, string> filters = 2; */
295
+ for (let k of globalThis.Object.keys(message.filters))
296
+ writer.tag(2, WireType.LengthDelimited).fork().tag(1, WireType.LengthDelimited).string(k).tag(2, WireType.LengthDelimited).string(message.filters[k]).join();
297
+ let u = options.writeUnknownFields;
298
+ if (u !== false)
299
+ (u == true ? UnknownFieldHandler.onWrite : u)(this.typeName, message, writer);
300
+ return writer;
301
+ }
302
+ }
303
+ /**
304
+ * @generated MessageType for protobuf message sid.v1.events.SubscribeRequest
305
+ */
306
+ export const SubscribeRequest = new SubscribeRequest$Type();
307
+ // @generated message type with reflection information, may provide speed optimized methods
308
+ class ReplayRequest$Type extends MessageType<ReplayRequest> {
309
+ constructor() {
310
+ super("sid.v1.events.ReplayRequest", [
311
+ { no: 1, name: "from", kind: "message", T: () => Timestamp },
312
+ { no: 2, name: "to", kind: "message", T: () => Timestamp },
313
+ { no: 3, name: "event_types", kind: "scalar", repeat: 2 /*RepeatType.UNPACKED*/, T: 9 /*ScalarType.STRING*/ }
314
+ ]);
315
+ }
316
+ create(value?: PartialMessage<ReplayRequest>): ReplayRequest {
317
+ const message = globalThis.Object.create((this.messagePrototype!));
318
+ message.eventTypes = [];
319
+ if (value !== undefined)
320
+ reflectionMergePartial<ReplayRequest>(this, message, value);
321
+ return message;
322
+ }
323
+ internalBinaryRead(reader: IBinaryReader, length: number, options: BinaryReadOptions, target?: ReplayRequest): ReplayRequest {
324
+ let message = target ?? this.create(), end = reader.pos + length;
325
+ while (reader.pos < end) {
326
+ let [fieldNo, wireType] = reader.tag();
327
+ switch (fieldNo) {
328
+ case /* google.protobuf.Timestamp from */ 1:
329
+ message.from = Timestamp.internalBinaryRead(reader, reader.uint32(), options, message.from);
330
+ break;
331
+ case /* optional google.protobuf.Timestamp to */ 2:
332
+ message.to = Timestamp.internalBinaryRead(reader, reader.uint32(), options, message.to);
333
+ break;
334
+ case /* repeated string event_types */ 3:
335
+ message.eventTypes.push(reader.string());
336
+ break;
337
+ default:
338
+ let u = options.readUnknownField;
339
+ if (u === "throw")
340
+ throw new globalThis.Error(`Unknown field ${fieldNo} (wire type ${wireType}) for ${this.typeName}`);
341
+ let d = reader.skip(wireType);
342
+ if (u !== false)
343
+ (u === true ? UnknownFieldHandler.onRead : u)(this.typeName, message, fieldNo, wireType, d);
344
+ }
345
+ }
346
+ return message;
347
+ }
348
+ internalBinaryWrite(message: ReplayRequest, writer: IBinaryWriter, options: BinaryWriteOptions): IBinaryWriter {
349
+ /* google.protobuf.Timestamp from = 1; */
350
+ if (message.from)
351
+ Timestamp.internalBinaryWrite(message.from, writer.tag(1, WireType.LengthDelimited).fork(), options).join();
352
+ /* optional google.protobuf.Timestamp to = 2; */
353
+ if (message.to)
354
+ Timestamp.internalBinaryWrite(message.to, writer.tag(2, WireType.LengthDelimited).fork(), options).join();
355
+ /* repeated string event_types = 3; */
356
+ for (let i = 0; i < message.eventTypes.length; i++)
357
+ writer.tag(3, WireType.LengthDelimited).string(message.eventTypes[i]);
358
+ let u = options.writeUnknownFields;
359
+ if (u !== false)
360
+ (u == true ? UnknownFieldHandler.onWrite : u)(this.typeName, message, writer);
361
+ return writer;
362
+ }
363
+ }
364
+ /**
365
+ * @generated MessageType for protobuf message sid.v1.events.ReplayRequest
366
+ */
367
+ export const ReplayRequest = new ReplayRequest$Type();
368
+ /**
369
+ * @generated ServiceType for protobuf service sid.v1.events.EventStreamService
370
+ */
371
+ export const EventStreamService = new ServiceType("sid.v1.events.EventStreamService", [
372
+ { name: "Subscribe", serverStreaming: true, options: {}, I: SubscribeRequest, O: CloudEvent },
373
+ { name: "Replay", serverStreaming: true, options: {}, I: ReplayRequest, O: CloudEvent }
374
+ ]);