@photon-ai/proto 0.0.0

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.
@@ -0,0 +1,283 @@
1
+ // FileService — uploads and signed URLs. Gated on the `files` feature in the
2
+ // project's slack_apps.enabled_features (slack.md "Outbound: SDK sends to
3
+ // Slack", step 4). Without it, the server returns gRPC PERMISSION_DENIED
4
+ // before ever calling Slack.
5
+
6
+ // @generated by protoc-gen-es v2.12.0 with parameter "target=js+dts,import_extension=js"
7
+ // @generated from file photon/slack/v1/file_service.proto (package photon.slack.v1, syntax proto3)
8
+ /* eslint-disable */
9
+
10
+ import type { GenFile, GenMessage, GenService } from "@bufbuild/protobuf/codegenv2";
11
+ import type { Message } from "@bufbuild/protobuf";
12
+ import type { File } from "./common_pb.js";
13
+
14
+ /**
15
+ * Describes the file photon/slack/v1/file_service.proto.
16
+ */
17
+ export declare const file_photon_slack_v1_file_service: GenFile;
18
+
19
+ /**
20
+ * @generated from message photon.slack.v1.UploadRequest
21
+ */
22
+ export declare type UploadRequest = Message<"photon.slack.v1.UploadRequest"> & {
23
+ /**
24
+ * Slack channel id (or comma-separated list) to share into.
25
+ *
26
+ * @generated from field: string channel = 1;
27
+ */
28
+ channel: string;
29
+
30
+ /**
31
+ * @generated from field: string filename = 2;
32
+ */
33
+ filename: string;
34
+
35
+ /**
36
+ * @generated from field: string mimetype = 3;
37
+ */
38
+ mimetype: string;
39
+
40
+ /**
41
+ * @generated from field: bytes content = 4;
42
+ */
43
+ content: Uint8Array;
44
+
45
+ /**
46
+ * @generated from field: optional string initial_comment = 5;
47
+ */
48
+ initialComment?: string | undefined;
49
+
50
+ /**
51
+ * @generated from field: optional string thread_ts = 6;
52
+ */
53
+ threadTs?: string | undefined;
54
+ };
55
+
56
+ /**
57
+ * Describes the message photon.slack.v1.UploadRequest.
58
+ * Use `create(UploadRequestSchema)` to create a new message.
59
+ */
60
+ export declare const UploadRequestSchema: GenMessage<UploadRequest>;
61
+
62
+ /**
63
+ * @generated from message photon.slack.v1.FileShare
64
+ */
65
+ export declare type FileShare = Message<"photon.slack.v1.FileShare"> & {
66
+ /**
67
+ * @generated from field: string channel = 1;
68
+ */
69
+ channel: string;
70
+
71
+ /**
72
+ * `ts` of the share message Slack created in `channel`. Use it (with
73
+ * `channel`) for reactions.add, chat.postMessage thread_ts, chat.update,
74
+ * chat.delete, conversations.replies — anything keyed on (channel, ts).
75
+ *
76
+ * @generated from field: string ts = 2;
77
+ */
78
+ ts: string;
79
+ };
80
+
81
+ /**
82
+ * Describes the message photon.slack.v1.FileShare.
83
+ * Use `create(FileShareSchema)` to create a new message.
84
+ */
85
+ export declare const FileShareSchema: GenMessage<FileShare>;
86
+
87
+ /**
88
+ * @generated from message photon.slack.v1.UploadResponse
89
+ */
90
+ export declare type UploadResponse = Message<"photon.slack.v1.UploadResponse"> & {
91
+ /**
92
+ * @generated from field: photon.slack.v1.File file = 1;
93
+ */
94
+ file?: File | undefined;
95
+
96
+ /**
97
+ * Per-channel share messages created by this upload. One entry per channel
98
+ * id in `UploadRequest.channel` (which accepts a comma-separated list).
99
+ * Sourced from Slack's `files.completeUploadExternal` share info.
100
+ *
101
+ * @generated from field: repeated photon.slack.v1.FileShare shares = 2;
102
+ */
103
+ shares: FileShare[];
104
+ };
105
+
106
+ /**
107
+ * Describes the message photon.slack.v1.UploadResponse.
108
+ * Use `create(UploadResponseSchema)` to create a new message.
109
+ */
110
+ export declare const UploadResponseSchema: GenMessage<UploadResponse>;
111
+
112
+ /**
113
+ * @generated from message photon.slack.v1.GetUrlRequest
114
+ */
115
+ export declare type GetUrlRequest = Message<"photon.slack.v1.GetUrlRequest"> & {
116
+ /**
117
+ * @generated from field: string file_id = 1;
118
+ */
119
+ fileId: string;
120
+ };
121
+
122
+ /**
123
+ * Describes the message photon.slack.v1.GetUrlRequest.
124
+ * Use `create(GetUrlRequestSchema)` to create a new message.
125
+ */
126
+ export declare const GetUrlRequestSchema: GenMessage<GetUrlRequest>;
127
+
128
+ /**
129
+ * @generated from message photon.slack.v1.GetUrlResponse
130
+ */
131
+ export declare type GetUrlResponse = Message<"photon.slack.v1.GetUrlResponse"> & {
132
+ /**
133
+ * Slack's `url_private`. Requires Authorization: Bearer <bot_token> on
134
+ * fetch — clients that want bytes should use `GetContent` instead. This
135
+ * RPC remains useful for callers that want to embed a Slack-hosted link
136
+ * in their own UI (with the auth-header constraint documented).
137
+ *
138
+ * @generated from field: string url = 1;
139
+ */
140
+ url: string;
141
+ };
142
+
143
+ /**
144
+ * Describes the message photon.slack.v1.GetUrlResponse.
145
+ * Use `create(GetUrlResponseSchema)` to create a new message.
146
+ */
147
+ export declare const GetUrlResponseSchema: GenMessage<GetUrlResponse>;
148
+
149
+ /**
150
+ * @generated from message photon.slack.v1.GetContentRequest
151
+ */
152
+ export declare type GetContentRequest = Message<"photon.slack.v1.GetContentRequest"> & {
153
+ /**
154
+ * @generated from field: string file_id = 1;
155
+ */
156
+ fileId: string;
157
+
158
+ /**
159
+ * Resume from this byte offset. Default 0 = stream from the start. When
160
+ * > 0, the server passes `Range: bytes=<offset>-` to Slack's CDN and
161
+ * expects HTTP 206. Out-of-range or negative values fail with
162
+ * INVALID_ARGUMENT before any CDN call.
163
+ *
164
+ * @generated from field: optional int64 offset = 2;
165
+ */
166
+ offset?: bigint | undefined;
167
+ };
168
+
169
+ /**
170
+ * Describes the message photon.slack.v1.GetContentRequest.
171
+ * Use `create(GetContentRequestSchema)` to create a new message.
172
+ */
173
+ export declare const GetContentRequestSchema: GenMessage<GetContentRequest>;
174
+
175
+ /**
176
+ * @generated from message photon.slack.v1.GetContentHeader
177
+ */
178
+ export declare type GetContentHeader = Message<"photon.slack.v1.GetContentHeader"> & {
179
+ /**
180
+ * @generated from field: string mimetype = 1;
181
+ */
182
+ mimetype: string;
183
+
184
+ /**
185
+ * @generated from field: string name = 2;
186
+ */
187
+ name: string;
188
+
189
+ /**
190
+ * Full file size in bytes (NOT the number of bytes about to be streamed
191
+ * — that's `size - offset`). SDKs comparing this across resume calls can
192
+ * detect a server-side file replacement.
193
+ *
194
+ * @generated from field: int64 size = 3;
195
+ */
196
+ size: bigint;
197
+
198
+ /**
199
+ * First byte index in the chunk stream (echoes the request offset). 0
200
+ * unless resuming.
201
+ *
202
+ * @generated from field: int64 offset = 4;
203
+ */
204
+ offset: bigint;
205
+ };
206
+
207
+ /**
208
+ * Describes the message photon.slack.v1.GetContentHeader.
209
+ * Use `create(GetContentHeaderSchema)` to create a new message.
210
+ */
211
+ export declare const GetContentHeaderSchema: GenMessage<GetContentHeader>;
212
+
213
+ /**
214
+ * @generated from message photon.slack.v1.GetContentResponse
215
+ */
216
+ export declare type GetContentResponse = Message<"photon.slack.v1.GetContentResponse"> & {
217
+ /**
218
+ * @generated from oneof photon.slack.v1.GetContentResponse.payload
219
+ */
220
+ payload: {
221
+ /**
222
+ * Sent exactly once, before any chunks.
223
+ *
224
+ * @generated from field: photon.slack.v1.GetContentHeader header = 1;
225
+ */
226
+ value: GetContentHeader;
227
+ case: "header";
228
+ } | {
229
+ /**
230
+ * Sent zero or more times after the header. Each chunk is at most
231
+ * `FILE_STREAM_MAX_CHUNK_BYTES` (default 256 KiB) — the server passes
232
+ * through the network's natural chunks unless they exceed this bound.
233
+ *
234
+ * @generated from field: bytes chunk = 2;
235
+ */
236
+ value: Uint8Array;
237
+ case: "chunk";
238
+ } | { case: undefined; value?: undefined };
239
+ };
240
+
241
+ /**
242
+ * Describes the message photon.slack.v1.GetContentResponse.
243
+ * Use `create(GetContentResponseSchema)` to create a new message.
244
+ */
245
+ export declare const GetContentResponseSchema: GenMessage<GetContentResponse>;
246
+
247
+ /**
248
+ * @generated from service photon.slack.v1.FileService
249
+ */
250
+ export declare const FileService: GenService<{
251
+ /**
252
+ * @generated from rpc photon.slack.v1.FileService.Upload
253
+ */
254
+ upload: {
255
+ methodKind: "unary";
256
+ input: typeof UploadRequestSchema;
257
+ output: typeof UploadResponseSchema;
258
+ },
259
+ /**
260
+ * @generated from rpc photon.slack.v1.FileService.GetUrl
261
+ */
262
+ getUrl: {
263
+ methodKind: "unary";
264
+ input: typeof GetUrlRequestSchema;
265
+ output: typeof GetUrlResponseSchema;
266
+ },
267
+ /**
268
+ * Server-streams the file's bytes through spectrum-slack so SDKs (which
269
+ * never hold the bot token) can consume the content. First frame is a
270
+ * header (mimetype/name/size/offset); subsequent frames are byte chunks.
271
+ * Supports byte-range resume via `GetContentRequest.offset` so an SDK can
272
+ * recover from a mid-stream disconnect (pod redeploy, network blip)
273
+ * without re-downloading bytes it already has.
274
+ *
275
+ * @generated from rpc photon.slack.v1.FileService.GetContent
276
+ */
277
+ getContent: {
278
+ methodKind: "server_streaming";
279
+ input: typeof GetContentRequestSchema;
280
+ output: typeof GetContentResponseSchema;
281
+ },
282
+ }>;
283
+
@@ -0,0 +1,80 @@
1
+ // FileService — uploads and signed URLs. Gated on the `files` feature in the
2
+ // project's slack_apps.enabled_features (slack.md "Outbound: SDK sends to
3
+ // Slack", step 4). Without it, the server returns gRPC PERMISSION_DENIED
4
+ // before ever calling Slack.
5
+
6
+ // @generated by protoc-gen-es v2.12.0 with parameter "target=js+dts,import_extension=js"
7
+ // @generated from file photon/slack/v1/file_service.proto (package photon.slack.v1, syntax proto3)
8
+ /* eslint-disable */
9
+
10
+ import { fileDesc, messageDesc, serviceDesc } from "@bufbuild/protobuf/codegenv2";
11
+ import { file_photon_slack_v1_common } from "./common_pb.js";
12
+
13
+ /**
14
+ * Describes the file photon/slack/v1/file_service.proto.
15
+ */
16
+ export const file_photon_slack_v1_file_service = /*@__PURE__*/
17
+ fileDesc("CiJwaG90b24vc2xhY2svdjEvZmlsZV9zZXJ2aWNlLnByb3RvEg9waG90b24uc2xhY2sudjEirQEKDVVwbG9hZFJlcXVlc3QSDwoHY2hhbm5lbBgBIAEoCRIQCghmaWxlbmFtZRgCIAEoCRIQCghtaW1ldHlwZRgDIAEoCRIPCgdjb250ZW50GAQgASgMEhwKD2luaXRpYWxfY29tbWVudBgFIAEoCUgAiAEBEhYKCXRocmVhZF90cxgGIAEoCUgBiAEBQhIKEF9pbml0aWFsX2NvbW1lbnRCDAoKX3RocmVhZF90cyIoCglGaWxlU2hhcmUSDwoHY2hhbm5lbBgBIAEoCRIKCgJ0cxgCIAEoCSJhCg5VcGxvYWRSZXNwb25zZRIjCgRmaWxlGAEgASgLMhUucGhvdG9uLnNsYWNrLnYxLkZpbGUSKgoGc2hhcmVzGAIgAygLMhoucGhvdG9uLnNsYWNrLnYxLkZpbGVTaGFyZSIgCg1HZXRVcmxSZXF1ZXN0Eg8KB2ZpbGVfaWQYASABKAkiHQoOR2V0VXJsUmVzcG9uc2USCwoDdXJsGAEgASgJIkQKEUdldENvbnRlbnRSZXF1ZXN0Eg8KB2ZpbGVfaWQYASABKAkSEwoGb2Zmc2V0GAIgASgDSACIAQFCCQoHX29mZnNldCJQChBHZXRDb250ZW50SGVhZGVyEhAKCG1pbWV0eXBlGAEgASgJEgwKBG5hbWUYAiABKAkSDAoEc2l6ZRgDIAEoAxIOCgZvZmZzZXQYBCABKAMiZQoSR2V0Q29udGVudFJlc3BvbnNlEjMKBmhlYWRlchgBIAEoCzIhLnBob3Rvbi5zbGFjay52MS5HZXRDb250ZW50SGVhZGVySAASDwoFY2h1bmsYAiABKAxIAEIJCgdwYXlsb2FkMvwBCgtGaWxlU2VydmljZRJJCgZVcGxvYWQSHi5waG90b24uc2xhY2sudjEuVXBsb2FkUmVxdWVzdBofLnBob3Rvbi5zbGFjay52MS5VcGxvYWRSZXNwb25zZRJJCgZHZXRVcmwSHi5waG90b24uc2xhY2sudjEuR2V0VXJsUmVxdWVzdBofLnBob3Rvbi5zbGFjay52MS5HZXRVcmxSZXNwb25zZRJXCgpHZXRDb250ZW50EiIucGhvdG9uLnNsYWNrLnYxLkdldENvbnRlbnRSZXF1ZXN0GiMucGhvdG9uLnNsYWNrLnYxLkdldENvbnRlbnRSZXNwb25zZTABYgZwcm90bzM", [file_photon_slack_v1_common]);
18
+
19
+ /**
20
+ * Describes the message photon.slack.v1.UploadRequest.
21
+ * Use `create(UploadRequestSchema)` to create a new message.
22
+ */
23
+ export const UploadRequestSchema = /*@__PURE__*/
24
+ messageDesc(file_photon_slack_v1_file_service, 0);
25
+
26
+ /**
27
+ * Describes the message photon.slack.v1.FileShare.
28
+ * Use `create(FileShareSchema)` to create a new message.
29
+ */
30
+ export const FileShareSchema = /*@__PURE__*/
31
+ messageDesc(file_photon_slack_v1_file_service, 1);
32
+
33
+ /**
34
+ * Describes the message photon.slack.v1.UploadResponse.
35
+ * Use `create(UploadResponseSchema)` to create a new message.
36
+ */
37
+ export const UploadResponseSchema = /*@__PURE__*/
38
+ messageDesc(file_photon_slack_v1_file_service, 2);
39
+
40
+ /**
41
+ * Describes the message photon.slack.v1.GetUrlRequest.
42
+ * Use `create(GetUrlRequestSchema)` to create a new message.
43
+ */
44
+ export const GetUrlRequestSchema = /*@__PURE__*/
45
+ messageDesc(file_photon_slack_v1_file_service, 3);
46
+
47
+ /**
48
+ * Describes the message photon.slack.v1.GetUrlResponse.
49
+ * Use `create(GetUrlResponseSchema)` to create a new message.
50
+ */
51
+ export const GetUrlResponseSchema = /*@__PURE__*/
52
+ messageDesc(file_photon_slack_v1_file_service, 4);
53
+
54
+ /**
55
+ * Describes the message photon.slack.v1.GetContentRequest.
56
+ * Use `create(GetContentRequestSchema)` to create a new message.
57
+ */
58
+ export const GetContentRequestSchema = /*@__PURE__*/
59
+ messageDesc(file_photon_slack_v1_file_service, 5);
60
+
61
+ /**
62
+ * Describes the message photon.slack.v1.GetContentHeader.
63
+ * Use `create(GetContentHeaderSchema)` to create a new message.
64
+ */
65
+ export const GetContentHeaderSchema = /*@__PURE__*/
66
+ messageDesc(file_photon_slack_v1_file_service, 6);
67
+
68
+ /**
69
+ * Describes the message photon.slack.v1.GetContentResponse.
70
+ * Use `create(GetContentResponseSchema)` to create a new message.
71
+ */
72
+ export const GetContentResponseSchema = /*@__PURE__*/
73
+ messageDesc(file_photon_slack_v1_file_service, 7);
74
+
75
+ /**
76
+ * @generated from service photon.slack.v1.FileService
77
+ */
78
+ export const FileService = /*@__PURE__*/
79
+ serviceDesc(file_photon_slack_v1_file_service, 0);
80
+
@@ -0,0 +1,300 @@
1
+ // MessageService — the Slack runtime contract for spectrum-ts.
2
+ //
3
+ // See slack.md "Runtime contract (gRPC)" for the full design. Every RPC
4
+ // requires two metadata keys: `access_token` (LightAuth JWT) and `team_id`.
5
+
6
+ // @generated by protoc-gen-es v2.12.0 with parameter "target=js+dts,import_extension=js"
7
+ // @generated from file photon/slack/v1/message_service.proto (package photon.slack.v1, syntax proto3)
8
+ /* eslint-disable */
9
+
10
+ import type { GenFile, GenMessage, GenService } from "@bufbuild/protobuf/codegenv2";
11
+ import type { Message } from "@bufbuild/protobuf";
12
+
13
+ /**
14
+ * Describes the file photon/slack/v1/message_service.proto.
15
+ */
16
+ export declare const file_photon_slack_v1_message_service: GenFile;
17
+
18
+ /**
19
+ * @generated from message photon.slack.v1.SendMessageRequest
20
+ */
21
+ export declare type SendMessageRequest = Message<"photon.slack.v1.SendMessageRequest"> & {
22
+ /**
23
+ * @generated from field: string channel = 1;
24
+ */
25
+ channel: string;
26
+
27
+ /**
28
+ * @generated from oneof photon.slack.v1.SendMessageRequest.content
29
+ */
30
+ content: {
31
+ /**
32
+ * @generated from field: photon.slack.v1.TextContent text = 10;
33
+ */
34
+ value: TextContent;
35
+ case: "text";
36
+ } | {
37
+ /**
38
+ * @generated from field: photon.slack.v1.BlocksContent blocks = 11;
39
+ */
40
+ value: BlocksContent;
41
+ case: "blocks";
42
+ } | {
43
+ /**
44
+ * @generated from field: photon.slack.v1.AttachmentsContent attachments = 12;
45
+ */
46
+ value: AttachmentsContent;
47
+ case: "attachments";
48
+ } | {
49
+ /**
50
+ * @generated from field: photon.slack.v1.ReactionContent reaction = 13;
51
+ */
52
+ value: ReactionContent;
53
+ case: "reaction";
54
+ } | { case: undefined; value?: undefined };
55
+
56
+ /**
57
+ * @generated from field: optional string thread_ts = 30;
58
+ */
59
+ threadTs?: string | undefined;
60
+
61
+ /**
62
+ * @generated from field: optional bool reply_broadcast = 31;
63
+ */
64
+ replyBroadcast?: boolean | undefined;
65
+ };
66
+
67
+ /**
68
+ * Describes the message photon.slack.v1.SendMessageRequest.
69
+ * Use `create(SendMessageRequestSchema)` to create a new message.
70
+ */
71
+ export declare const SendMessageRequestSchema: GenMessage<SendMessageRequest>;
72
+
73
+ /**
74
+ * @generated from message photon.slack.v1.TextContent
75
+ */
76
+ export declare type TextContent = Message<"photon.slack.v1.TextContent"> & {
77
+ /**
78
+ * @generated from field: string body = 1;
79
+ */
80
+ body: string;
81
+ };
82
+
83
+ /**
84
+ * Describes the message photon.slack.v1.TextContent.
85
+ * Use `create(TextContentSchema)` to create a new message.
86
+ */
87
+ export declare const TextContentSchema: GenMessage<TextContent>;
88
+
89
+ /**
90
+ * @generated from message photon.slack.v1.BlocksContent
91
+ */
92
+ export declare type BlocksContent = Message<"photon.slack.v1.BlocksContent"> & {
93
+ /**
94
+ * Slack's Block Kit, serialized as JSON to keep us provider-faithful without
95
+ * having to keep a parallel proto schema in lockstep with Slack changes.
96
+ *
97
+ * @generated from field: string blocks_json = 1;
98
+ */
99
+ blocksJson: string;
100
+
101
+ /**
102
+ * Optional fallback text shown in notifications / clients that don't render blocks.
103
+ *
104
+ * @generated from field: string fallback_text = 2;
105
+ */
106
+ fallbackText: string;
107
+ };
108
+
109
+ /**
110
+ * Describes the message photon.slack.v1.BlocksContent.
111
+ * Use `create(BlocksContentSchema)` to create a new message.
112
+ */
113
+ export declare const BlocksContentSchema: GenMessage<BlocksContent>;
114
+
115
+ /**
116
+ * @generated from message photon.slack.v1.AttachmentsContent
117
+ */
118
+ export declare type AttachmentsContent = Message<"photon.slack.v1.AttachmentsContent"> & {
119
+ /**
120
+ * @generated from field: string attachments_json = 1;
121
+ */
122
+ attachmentsJson: string;
123
+
124
+ /**
125
+ * @generated from field: string text = 2;
126
+ */
127
+ text: string;
128
+ };
129
+
130
+ /**
131
+ * Describes the message photon.slack.v1.AttachmentsContent.
132
+ * Use `create(AttachmentsContentSchema)` to create a new message.
133
+ */
134
+ export declare const AttachmentsContentSchema: GenMessage<AttachmentsContent>;
135
+
136
+ /**
137
+ * @generated from message photon.slack.v1.ReactionContent
138
+ */
139
+ export declare type ReactionContent = Message<"photon.slack.v1.ReactionContent"> & {
140
+ /**
141
+ * @generated from field: string item_ts = 1;
142
+ */
143
+ itemTs: string;
144
+
145
+ /**
146
+ * @generated from field: string item_channel = 2;
147
+ */
148
+ itemChannel: string;
149
+
150
+ /**
151
+ * @generated from field: string emoji = 3;
152
+ */
153
+ emoji: string;
154
+ };
155
+
156
+ /**
157
+ * Describes the message photon.slack.v1.ReactionContent.
158
+ * Use `create(ReactionContentSchema)` to create a new message.
159
+ */
160
+ export declare const ReactionContentSchema: GenMessage<ReactionContent>;
161
+
162
+ /**
163
+ * @generated from message photon.slack.v1.SendMessageResponse
164
+ */
165
+ export declare type SendMessageResponse = Message<"photon.slack.v1.SendMessageResponse"> & {
166
+ /**
167
+ * @generated from field: string ts = 1;
168
+ */
169
+ ts: string;
170
+
171
+ /**
172
+ * @generated from field: string channel = 2;
173
+ */
174
+ channel: string;
175
+ };
176
+
177
+ /**
178
+ * Describes the message photon.slack.v1.SendMessageResponse.
179
+ * Use `create(SendMessageResponseSchema)` to create a new message.
180
+ */
181
+ export declare const SendMessageResponseSchema: GenMessage<SendMessageResponse>;
182
+
183
+ /**
184
+ * @generated from message photon.slack.v1.MarkReadRequest
185
+ */
186
+ export declare type MarkReadRequest = Message<"photon.slack.v1.MarkReadRequest"> & {
187
+ /**
188
+ * @generated from field: string channel = 1;
189
+ */
190
+ channel: string;
191
+
192
+ /**
193
+ * @generated from field: string ts = 2;
194
+ */
195
+ ts: string;
196
+ };
197
+
198
+ /**
199
+ * Describes the message photon.slack.v1.MarkReadRequest.
200
+ * Use `create(MarkReadRequestSchema)` to create a new message.
201
+ */
202
+ export declare const MarkReadRequestSchema: GenMessage<MarkReadRequest>;
203
+
204
+ /**
205
+ * @generated from message photon.slack.v1.MarkReadResponse
206
+ */
207
+ export declare type MarkReadResponse = Message<"photon.slack.v1.MarkReadResponse"> & {
208
+ };
209
+
210
+ /**
211
+ * Describes the message photon.slack.v1.MarkReadResponse.
212
+ * Use `create(MarkReadResponseSchema)` to create a new message.
213
+ */
214
+ export declare const MarkReadResponseSchema: GenMessage<MarkReadResponse>;
215
+
216
+ /**
217
+ * @generated from message photon.slack.v1.WhoAmIRequest
218
+ */
219
+ export declare type WhoAmIRequest = Message<"photon.slack.v1.WhoAmIRequest"> & {
220
+ };
221
+
222
+ /**
223
+ * Describes the message photon.slack.v1.WhoAmIRequest.
224
+ * Use `create(WhoAmIRequestSchema)` to create a new message.
225
+ */
226
+ export declare const WhoAmIRequestSchema: GenMessage<WhoAmIRequest>;
227
+
228
+ /**
229
+ * @generated from message photon.slack.v1.WhoAmIResponse
230
+ */
231
+ export declare type WhoAmIResponse = Message<"photon.slack.v1.WhoAmIResponse"> & {
232
+ /**
233
+ * The bot user id (e.g. "U0123456789") for this installation.
234
+ *
235
+ * @generated from field: string bot_user_id = 1;
236
+ */
237
+ botUserId: string;
238
+
239
+ /**
240
+ * Echoes the team_id metadata the call was authorized against.
241
+ *
242
+ * @generated from field: string team_id = 2;
243
+ */
244
+ teamId: string;
245
+
246
+ /**
247
+ * Slack's api_app_id for the installed app.
248
+ *
249
+ * @generated from field: string app_id = 3;
250
+ */
251
+ appId: string;
252
+ };
253
+
254
+ /**
255
+ * Describes the message photon.slack.v1.WhoAmIResponse.
256
+ * Use `create(WhoAmIResponseSchema)` to create a new message.
257
+ */
258
+ export declare const WhoAmIResponseSchema: GenMessage<WhoAmIResponse>;
259
+
260
+ /**
261
+ * @generated from service photon.slack.v1.MessageService
262
+ */
263
+ export declare const MessageService: GenService<{
264
+ /**
265
+ * Outbound (unary). Inbound delivery now lives on the cross-channel
266
+ * photon.spectrum.v1.EventsService served by spectrum-grpc-fanout — SDK
267
+ * clients connect there for `Subscribe` instead of calling
268
+ * `SubscribeEvents` / `FetchMissedEvents` here. Slack ingress
269
+ * (POST /slack/events) still lands on this service's host, but the
270
+ * verified event hops onto NATS rather than fanning out via gRPC streams.
271
+ *
272
+ * @generated from rpc photon.slack.v1.MessageService.SendMessage
273
+ */
274
+ sendMessage: {
275
+ methodKind: "unary";
276
+ input: typeof SendMessageRequestSchema;
277
+ output: typeof SendMessageResponseSchema;
278
+ },
279
+ /**
280
+ * @generated from rpc photon.slack.v1.MessageService.MarkRead
281
+ */
282
+ markRead: {
283
+ methodKind: "unary";
284
+ input: typeof MarkReadRequestSchema;
285
+ output: typeof MarkReadResponseSchema;
286
+ },
287
+ /**
288
+ * Identity. Returns the installed bot's identity for the authenticated
289
+ * (project, team). Resolved from the server-side installation cache;
290
+ * never round-trips Slack.
291
+ *
292
+ * @generated from rpc photon.slack.v1.MessageService.WhoAmI
293
+ */
294
+ whoAmI: {
295
+ methodKind: "unary";
296
+ input: typeof WhoAmIRequestSchema;
297
+ output: typeof WhoAmIResponseSchema;
298
+ },
299
+ }>;
300
+